Add two new ROS2 packages for the social sprint: saltybot_social_msgs (ament_cmake): - FaceDetection, FaceDetectionArray, FaceEmbedding, FaceEmbeddingArray - PersonState, PersonStateArray - EnrollPerson, ListPersons, DeletePerson, UpdatePerson services saltybot_social_face (ament_python): - SCRFDDetector: SCRFD face detection with TRT FP16 + ONNX fallback - 640x640 input, 3-stride anchor decoding, NMS - ArcFaceRecognizer: 512-dim embedding extraction with gallery matching - 5-point landmark alignment to 112x112, cosine similarity - FaceGallery: thread-safe persistent gallery (npz + JSON sidecar) - FaceRecognitionNode: ROS2 node subscribing /camera/color/image_raw, publishing /social/faces/detections, /social/faces/embeddings - Enrollment via /social/enroll service (N-sample face averaging) - Launch file, config YAML, TRT engine builder script Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
"""Setup for saltybot_social_face package."""
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
package_name = 'saltybot_social_face'
|
|
|
|
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 + '/launch', ['launch/face_recognition.launch.py']),
|
|
('share/' + package_name + '/config', ['config/face_recognition_params.yaml']),
|
|
],
|
|
install_requires=['setuptools'],
|
|
zip_safe=True,
|
|
maintainer='seb',
|
|
maintainer_email='seb@vayrette.com',
|
|
description='SCRFD face detection and ArcFace recognition for SaltyBot social interactions',
|
|
license='MIT',
|
|
tests_require=['pytest'],
|
|
entry_points={
|
|
'console_scripts': [
|
|
'face_recognition = saltybot_social_face.face_recognition_node:main',
|
|
'enrollment_cli = saltybot_social_face.enrollment_cli:main',
|
|
],
|
|
},
|
|
)
|