Two new packages: - saltybot_person_reid_msgs: PersonAppearance + PersonAppearanceArray msgs - saltybot_person_reid: MobileNetV2 torso-crop embedder (128-dim L2-norm) with 128-bin HSV histogram fallback, cosine-similarity gallery with EMA identity updates and configurable age-based pruning, ROS2 node publishing PersonAppearanceArray on /saltybot/person_reid at 5 Hz. Pure-Python helpers (_embedding_model, _reid_gallery) importable without rclpy — 18/18 unit tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
856 B
Python
30 lines
856 B
Python
from setuptools import setup, find_packages
|
|
from glob import glob
|
|
|
|
package_name = 'saltybot_person_reid'
|
|
|
|
setup(
|
|
name=package_name,
|
|
version='0.1.0',
|
|
packages=find_packages(exclude=['test']),
|
|
data_files=[
|
|
('share/ament_index/resource_index/packages',
|
|
['resource/' + package_name]),
|
|
('share/' + package_name, ['package.xml']),
|
|
('share/' + package_name + '/config',
|
|
glob('config/*.yaml')),
|
|
],
|
|
install_requires=['setuptools'],
|
|
zip_safe=True,
|
|
maintainer='SaltyLab',
|
|
maintainer_email='robot@saltylab.local',
|
|
description='Person re-identification — cross-camera appearance matching',
|
|
license='MIT',
|
|
tests_require=['pytest'],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'person_reid = saltybot_person_reid.person_reid_node:main',
|
|
],
|
|
},
|
|
)
|