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

feat(multi_object_tracker): add object class filtering in tracking process #6607

Merged

Conversation

technolojin
Copy link
Contributor

@technolojin technolojin commented Mar 13, 2024

Description

The current object tracker uses the incoming classification directly.
When the detection has ambiguous classification, the classification result may changes in a short time.
Frequent classification change may have negative impact on the tracked object consumers (planner).

In this PR, a simple classification filter is introduced.

// 0. Normalize the input classification
// 1-1. Update the matched classification probability with a gain (ratio of 0.05)
// 1-2. If the label is not found, add it to the classification list
// 2. Remove the class with probability < remove_threshold (0.001)
// 3. Normalize tracking classification

Related links

TIER IV INTERNAL

Tests performed

xx1-class-filter-implemented-bicycle-pedestrian.mp4

Blue: Detected Object (input)
Yellow: Tracked Object (output)

The result shows the highest probable label is change only when the detection label is changed for a while.

Notes for reviewers

This PR do not improve performance of detection classification.

Interface changes

Not Applicable

Effects on system behavior

Not Applicable

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@github-actions github-actions bot added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Mar 13, 2024
@technolojin technolojin force-pushed the feat/mot-object-class-filter branch 2 times, most recently from 9434446 to ff5de43 Compare March 14, 2024 06:15
@technolojin technolojin self-assigned this Mar 14, 2024
technolojin and others added 7 commits March 14, 2024 15:45
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
@technolojin technolojin force-pushed the feat/mot-object-class-filter branch from 699306e to 9ab9c30 Compare March 14, 2024 06:45
@technolojin technolojin marked this pull request as ready for review March 14, 2024 06:52
Copy link
Contributor

@YoshiRi YoshiRi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Could you tell me your opinion about my questions?

@technolojin technolojin requested a review from YoshiRi March 14, 2024 09:19
@YoshiRi YoshiRi changed the title feat(multi_object_tracker): object class filter feat(multi_object_tracker): add object class filtering in tracking process Mar 14, 2024
Copy link
Contributor

@YoshiRi YoshiRi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. It worked within my environment.

@technolojin technolojin added run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) and removed component:perception Advanced sensor data processing and environment understanding. (auto-assigned) labels Mar 15, 2024
Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
@technolojin technolojin force-pushed the feat/mot-object-class-filter branch from d6a99eb to 6c00b63 Compare March 15, 2024 00:50
@github-actions github-actions bot added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Mar 15, 2024
@technolojin technolojin enabled auto-merge (squash) March 15, 2024 00:59
@technolojin technolojin merged commit 7ba8016 into autowarefoundation:main Mar 15, 2024
19 checks passed
yhisaki pushed a commit to yhisaki/autoware.universe that referenced this pull request Mar 15, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
technolojin added a commit to tier4/autoware.universe that referenced this pull request Mar 18, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
technolojin added a commit to tier4/autoware.universe that referenced this pull request Mar 19, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
kaigohirao pushed a commit to kaigohirao/autoware.universe that referenced this pull request Mar 22, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: kaigohirao <kaigo.hirao@proxima-ai-tech.com>
YoshiRi pushed a commit to tier4/autoware.universe that referenced this pull request Mar 25, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Jun 3, 2024
…ocess (autowarefoundation#6607)

* feat: object class filter

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: set a member private

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: last filtered label is not useful, remove

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: multiply gain for new class

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* style(pre-commit): autofix

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* chore: algorithm explanation

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

* fix: revise the filtering process flow

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>

---------

Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@technolojin technolojin deleted the feat/mot-object-class-filter branch July 26, 2024 02:20
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) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants