Implement multi-person tracking with: - Track up to 10 people with persistent unique IDs - Target priority: wake-word speaker > closest known > largest bbox - Occlusion handoff with 3-second grace period - Re-ID via face embedding (cosine similarity) + HSV color histogram - Group detection and centroid calculation - Lost target behavior: stop + rotate + SEARCHING state - 15+ fps on Jetson Orin Nano Super - PersonArray message publishing with active target tracking - Configurable similarity thresholds and grace periods - Unit tests for tracking, matching, priority, and re-ID Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
28 lines
919 B
XML
28 lines
919 B
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_multi_person_tracker</name>
|
|
<version>0.1.0</version>
|
|
<description>Multi-person tracker with group handling and target priority (Issue #423)</description>
|
|
<maintainer email="sl-perception@saltylab.local">sl-perception</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>std_msgs</depend>
|
|
<depend>sensor_msgs</depend>
|
|
<depend>geometry_msgs</depend>
|
|
<depend>tf2_ros</depend>
|
|
<depend>saltybot_social_msgs</depend>
|
|
<depend>saltybot_person_reid_msgs</depend>
|
|
<depend>vision_msgs</depend>
|
|
<depend>cv_bridge</depend>
|
|
<depend>opencv-python</depend>
|
|
<depend>numpy</depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|