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>
30 lines
910 B
Python
30 lines
910 B
Python
from setuptools import setup
|
|
|
|
package_name = 'saltybot_multi_person_tracker'
|
|
|
|
setup(
|
|
name=package_name,
|
|
version='0.1.0',
|
|
packages=[package_name],
|
|
data_files=[
|
|
('share/ament_index/resource_index/packages',
|
|
['resource/' + package_name]),
|
|
('share/' + package_name, ['package.xml']),
|
|
],
|
|
install_requires=['setuptools'],
|
|
zip_safe=True,
|
|
author='sl-perception',
|
|
author_email='sl-perception@saltylab.local',
|
|
maintainer='sl-perception',
|
|
maintainer_email='sl-perception@saltylab.local',
|
|
url='https://gitea.vayrette.com/seb/saltylab-firmware',
|
|
description='Multi-person tracker with group handling and target priority',
|
|
license='MIT',
|
|
tests_require=['pytest'],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'multi_person_tracker_node = saltybot_multi_person_tracker.multi_person_tracker_node:main',
|
|
],
|
|
},
|
|
)
|