-
Notifications
You must be signed in to change notification settings - Fork 682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum #2883
perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum #2883
Conversation
…erencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
It's a great job!
Codecov ReportBase: 11.70% // Head: 11.70% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #2883 +/- ##
==========================================
- Coverage 11.70% 11.70% -0.01%
==========================================
Files 1314 1314
Lines 91666 91671 +5
Branches 24506 24506
==========================================
Hits 10728 10728
- Misses 69751 69756 +5
Partials 11187 11187
*This pull request uses carry forward flags. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
#280) perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: Ryuta Kambe <veqcc.c@gmail.com> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…v0.7.0 * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * perf(map_based_prediction): calculate yaw without calling getLaneletAngle (autowarefoundation#2895) Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: Ryuta Kambe <veqcc.c@gmail.com> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum Signed-off-by: veqcc <ryuta.kambe@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…erencePath with cumulative sum (#810) perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum (autowarefoundation#2883) * perf(map_based_prediction): performance improvement of interpolateReferencePath with cumulative sum * style(pre-commit): autofix --------- Signed-off-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: Ryuta Kambe <veqcc.c@gmail.com> Co-authored-by: veqcc <ryuta.kambe@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: veqcc ryuta.kambe@tier4.jp
Description
The node
map_based_prediction
is too slow to publish/perception/object_recognition/objects
topic when there are a lot of vehicles around the ego. This is due to the inefficient implementation ofinterpolateReferencePath
, especially the calculation of the length of paths withcalcSignedArcLength
. It calls thecalcSignedArcLength
function for EVERY index of the path. This can be optimized with the idea cumulative sum, in which the path length of 0 to i-th index can be easily calculated with the value of 0 to (i-1)th.The following figure shows how latencies are optimized with the idea. The red graph is the original latency, and the blue graph is the latency of the proposed implementation.