Distinguish between Multiple hands
How do you make it so that this model detects and shows landmarks for multiple hands and not just one. This only detects one hand.
unlike mediapipe hands, blaze hand doesn't give away the HandType from the handedness, and detecting both hands is a real problem.
I was wondering if anyone knows how to translate the handedness data to retrieve the HandType ("Left" , "Right")
already tried the direction of cross product but it will again cause problems in which in one frame left hand will be right and right hand will left ...
right now, it can only detect one hand, what if i need both? or even more than one person's single hand!?
any insights or anything helpful is appreciated.
I'm also still trying to find a way to have the model detect landmarks for two hands, but I may be able to help with handedness of a singular hand. The following is what I added to the HandDetection script. Identity_2 seems to contain the handedness output.
Added to async Awaitable Detect:
var handednessAwaitable = (m_HandLandmarkerWorker.PeekOutput("Identity_2") as Tensor).ReadbackAndCloneAsync();
using var handedness = await handednessAwaitable;
float handednessValue = handedness[0]; // Detecting a single hand
string handType = handednessValue > 0.5f ? "Left Hand" : "Right Hand";
Debug.Log($"Detected {handType}");
I found this response from a previous discussion really helpful: https://huggingface.co./unity/sentis-blaze-hand/discussions/2#66fc05faf50f1d0d6ce4f125
The model can recognise multiple hands, this sample is just set up for one hand at a time. To detect multiple hands you can replace the ArgMax filtering for NMS filtering.
Check the https://huggingface.co./unity/sentis-blaze-face sample to see how this is done there.