Files
hermes-bot/ros/hermes_vision/setup.py
T
kyleandClaude Sonnet 5.5 cf711060d0 Add opt-in face recognition to hermes_vision
SFace embeddings on top of YuNet's landmarks. Nothing is stored until someone is
enrolled with `python -m hermes_vision.people enroll NAME`; only 128-number
embeddings are kept, never images, in a 0600 JSON file under a 0700 directory,
written atomically. `list` and `forget` manage it. The detector node puts a
recognised name in Detection2D.id (empty if unknown) and picks up database
changes without a restart.

Checked with a throwaway database on the burst frames: eight of nine unenrolled
frames were recognised, down to side profiles (similarity 0.52-0.66), the miss
being a head tipped back at 0.34 against the 0.363 threshold, and an unrelated
photo scored 0.16 and stayed unknown.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AFN8nRRCiDiMN7ChBpHJhs
2026-10-04 23:13:49 -07:00

27 lines
790 B
Python

from setuptools import find_packages, setup
package_name = 'hermes_vision'
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']),
],
install_requires=['setuptools'],
zip_safe=True,
maintainer='K. Isom',
maintainer_email='noreply@example.com',
description='Face detection for the Hermes robot.',
license='UNLICENSED',
entry_points={
'console_scripts': [
'face_detector = hermes_vision.face_detector_node:main',
'detect_faces = hermes_vision.detect_cli:main',
'people = hermes_vision.people:main',
],
},
)