Holistic solution hand_detections_from_pose_to_rects_calculator
edge cases
#5373
Labels
task:holistic landmarker
Issues related to MediaPipe Holistic Landmarker
type:bug
Bug in the Source Code of MediaPipe Solution
Solution
Holistic
Describe the actual behavior
When using the
holistic
solution, the calculator first estimates the body pose and three points for each hand (wrist
,index mcp
andpinky mcp
) - then, it estimates a rectangle of the hand area of interest, which should cover the full hand, to be sent for hand keypoints.https://github.com/google/mediapipe/blob/master/mediapipe/modules/holistic_landmark/calculators/hand_detections_from_pose_to_rects_calculator.cc#L110-L121
There are some edge cases that in my view, do not create correct hand rects, and so fail to estimate the hands.
This happens when the hand estimation is off, or when the plane of the hands (the triangle created by the three points of interest) lies directly perpendicular to the camera. When this happens, the "area" of interest is tiny and so the crop will be wrong.
Hands model
If we look at the hands model that uses hand detection, it works well enough:
hands.mp4
Pose model
The pose model also works well enough, correctly predicting the general hand position
pose.mp4
Holistic model (pose + area + hands)
Holistic model works really well when parallel to the camera, but not when parallel to the floor.
holistic.mp4
If I recreate the holistic ROI cropping behavior (without rotation, and with rotation), I get the following. Note how the crop goes crazy.
Describe the expected behavior
I expect that the area of interest will always be correct if the hand estimation is correct, and if not, the hand model will be activated using the hand detection model as a backup.
Possible solution
Before the recroping model
a. if the hand plane is parallel to the camera, do as you do now
b. if the hand plane is perpendicular to the camera, use a different calculation.
The text was updated successfully, but these errors were encountered: