Skip to content
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

Replace serialized detected object mergers to reduce complexity #6958

Open
3 tasks done
technolojin opened this issue May 9, 2024 · 0 comments · Fixed by #6820 or autowarefoundation/autoware_launch#989
Open
3 tasks done
Assignees
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:new-feature New functionalities or additions, feature requests.

Comments

@technolojin
Copy link
Contributor

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

The current object tracker consists of object mergers, trackers, and tracking-merger. However, there are several issues with the current process:

  1. The merged object takes the worst latency of all detectors.
  2. Introducing a new detector to the pipeline can be complicated.
  3. It is difficult to inspect faulty object detection/association due to the complexity of the merge process.

Here is the perception diagram. The object merger is highlighted as a red box.
reference-implementaion-perception-diagram

Based on the current launcher, the structure inside is as following.

Screenshot from 2024-04-16 09-48-42

The object_association_merger is used 2 or 3 times. Depends on which detection mode is selected (option switches are marked as pink diamond), the input also changes.

Purpose

The purpose of this task is to:

  • Mitigate the complexity of the perception launcher (perception pipeline configurations)
  • Simplify the detection merge process, association process, and tracker existence management
  • Reduce perception pipeline latency
  • Provide redundancy in case of sensor/detection failure

Possible approaches

To achieve the goal, the following components will be developed and implemented in the multi_object_tracker:

  • Channel configuration: Provide all available sources of detections.
  • Input manager: Manage multiple detected object message channels.
  • Process timing algorithm: Operate the tracking process in an optimal set of objects to reduce latency.
  • Existence model: Model the existence probability of each detection source to understand the contributions of detections.
  • Debugger: Visualize association results and existence probability on each channel.

Definition of done

  • Enable the multi_object_tracker to subscribe to single or multiple detected objects.
  • Ensure that it works the same way if the merged detection objects message is set as a single source.
@technolojin technolojin self-assigned this May 9, 2024
@technolojin technolojin linked a pull request May 9, 2024 that will close this issue
7 tasks
@technolojin technolojin pinned this issue May 9, 2024
@technolojin technolojin unpinned this issue May 9, 2024
@technolojin technolojin added component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:new-feature New functionalities or additions, feature requests. labels May 9, 2024
@technolojin technolojin reopened this May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:new-feature New functionalities or additions, feature requests.
1 participant