|
|
Core logic for fusing face recognition and pose tracking into PersonInstance entities. More...
#include <VisionX/components/person_instance_updater/UpdateConsumer.h>
Classes | |
| struct | Properties |
Public Member Functions | |
| void | consumeFaceRecognitionUpdate (const armarx::armem::human::FaceRecognition &faceRecognition, const armarx::armem::MemoryID &faceRecognitionID) |
| Process a new face recognition result. | |
| void | consumePoseUpdate (const armarx::armem::human::HumanPose &humanPose, const armarx::armem::MemoryID &poseID) |
| Process a new human pose update. | |
| void | consumeProfileUpdate (const armarx::human::arondto::Person &profile, const armarx::armem::MemoryID &profileID) |
| Process a profile update (not yet implemented). | |
| bool | isBusy () |
| Check if the consumer is currently processing an update. | |
| UpdateConsumer (armarx::armem::client::MemoryNameSystem &mns, const Properties &properties) | |
Core logic for fusing face recognition and pose tracking into PersonInstance entities.
This class handles the complex task of matching and linking face recognition data with body pose tracking data to maintain a unified representation of tracked people.
Matching Strategy:
Key Operations:
Definition at line 35 of file UpdateConsumer.h.
| UpdateConsumer | ( | armarx::armem::client::MemoryNameSystem & | mns, |
| const Properties & | properties ) |
| void consumeFaceRecognitionUpdate | ( | const armarx::armem::human::FaceRecognition & | faceRecognition, |
| const armarx::armem::MemoryID & | faceRecognitionID ) |
Process a new face recognition result.
Process a face recognition update:
Workflow:
Definition at line 100 of file UpdateConsumer.cpp.
Here is the call graph for this function:| void consumePoseUpdate | ( | const armarx::armem::human::HumanPose & | humanPose, |
| const armarx::armem::MemoryID & | poseID ) |
Process a new human pose update.
Process a pose update:
Workflow:
Note: Whenever a pose can be plausibly matched to a recognized face, it will be. Matched instances get their poseId's updated. If no match is available, a new one is created.
Definition at line 331 of file UpdateConsumer.cpp.
Here is the call graph for this function:| void consumeProfileUpdate | ( | const armarx::human::arondto::Person & | profile, |
| const armarx::armem::MemoryID & | profileID ) |
Process a profile update (not yet implemented).
Definition at line 461 of file UpdateConsumer.cpp.
| bool isBusy | ( | ) |
Check if the consumer is currently processing an update.
Definition at line 1076 of file UpdateConsumer.cpp.