How a73720177-design/face_recognize works
This is a camera-based safe authentication application: a user enrolls or selects a numbered compartment, proves identity with a registered face, then registers or verifies an ordered pose/hand pattern to unlock it. The live UI coordinates camera and landmark processing, ownership and pattern storage, and—on Linux with ROS 2 enabled—motor requests and status. The sampled Python code supports the application flow; motor-controller behavior is represented only at the level supported by the repository overview and tree, so those links are dashed and unevidenced.
Main entry points: safe_app.py Live safe session · recognition.py CLI menu and enrollment · safe_slot.py Slot ownership and pattern store · motor_control ROS 2 motor controller
Components 12
Application flow
- CLI menu and enrollment
py/recognition.py - Live safe session
py/safe_app.py
Authentication
- Landmark detection and rendering
py/vision_utils.py - Face enrollment and matching
py/face_identity.py - Stable face gate
py/face_gate.py - Pose pattern verification
py/safe_pattern.py
Compartment state
- Slot ownership and pattern store
py/safe_slot.py
Motor control
- ROS 2 authorization output
py/ros2_auth.py - ROS 2 motor controller
ros2_ws/src/safe_motor_control/scripts/motor_control
Other components
- Safe user
- Camera
- Safe motor hardware
Connections 17
- Safe user → CLI menu and enrollment: selects task
py/recognition.py - CLI menu and enrollment → Live safe session: starts session
py/recognition.py - CLI menu and enrollment → Face enrollment and matching: enrolls face
py/recognition.py - CLI menu and enrollment → Slot ownership and pattern store: checks slot
py/recognition.py - Safe user → Live safe session: presents gestures
py/safe_app.py - Camera → Live safe session: supplies frames
py/safe_app.py - Live safe session → Landmark detection and rendering: creates detectors
py/safe_app.py - Live safe session → Face enrollment and matching: identifies person
py/safe_app.py - Live safe session → Stable face gate: confirms identity
py/safe_app.py - Live safe session → Pose pattern verification: verifies gestures
py/safe_app.py - Live safe session → Slot ownership and pattern store: reads ownership
py/safe_app.py - Pose pattern verification → Slot ownership and pattern store: loads and saves
py/safe_pattern.py - Slot ownership and pattern store → Pose pattern verification: migrates legacy data
py/safe_slot.py - Live safe session → ROS 2 authorization output: updates authorization
py/safe_app.py - ROS 2 authorization output → ROS 2 motor controller: publishes requests
- ROS 2 motor controller → ROS 2 authorization output: reports status
- ROS 2 motor controller → Safe motor hardware: controls motors