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

Closed
3 tasks done
technolojin opened this issue May 9, 2024 · 2 comments · Fixed by #6820, autowarefoundation/autoware_launch#989, #7194 or #7459
Closed
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 the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label May 9, 2024
@technolojin technolojin added the type:new-feature New functionalities or additions, feature requests. label May 10, 2024
@technolojin technolojin reopened this May 23, 2024
@meliketanrikulu
Copy link
Contributor

Hello @technolojin . Can we close this issue. Your PR looks merged

@technolojin
Copy link
Contributor Author

@meliketanrikulu
Thank you to have interest of this work!
I am working on a launcher refactoring so that the multi-input mot can be tested in the perception pipeline. I may link the work here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment