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>
13 lines
438 B
Plaintext
13 lines
438 B
Plaintext
std_msgs/Header header
|
|
int32 face_id # -1 if unknown
|
|
string person_name # "" if unknown
|
|
float32 confidence # detection confidence 0-1
|
|
float32 recognition_score # cosine similarity 0-1 (0 if unknown)
|
|
# Bounding box in pixels
|
|
float32 bbox_x
|
|
float32 bbox_y
|
|
float32 bbox_w
|
|
float32 bbox_h
|
|
# 5-point landmarks [x0,y0, x1,y1, x2,y2, x3,y3, x4,y4] = left_eye, right_eye, nose, left_mouth, right_mouth
|
|
float32[10] landmarks
|