Visibility flag on Keypoint Detector Object
38 views (last 30 days)
Show older comments
Hello everyone,
I was wondering if anyone could help me understanding how to set up the training data for KeyPoint Detector Object (trainHRNETObjectKeypointDetector).
The help says:
"Keypoint locations, defined in spatial coordinates as an N-by-2 or N-by-3 numeric matrix with rows of the form [x y] or [x y v], respectively, where:
- N is the number of keypoint classes.
- x and y specify the spatial coordinates of a keypoint.
- v specifies the visibility of a keypoint."
I was wondering how to setup the visibility flag v .
Is it 1 when the key point is visible and annotated and 0 when it is not. Or same as Yolo 0 = key point out of view and not labelled; 1 = key point present but not visible; 2 = key point visible ?
Thank you very much for your help
0 Comments
Answers (1)
Vivek Akkala
on 18 Sep 2025
As mentioned in the doc, A value of 1 (true) indicates a valid keypoint and 0 (false) indicates an invalid keypoint.
6 Comments
Andreas
on 27 Jan 2026 at 12:48
I want to use HRNet to identify keypoints on aircraft, similar to how it is used in the available example with the spacecraft. However, in my dataset not all images have all keypoints labelled, as I want to have a detector that is trained in a variety of angles. Thus I need a way to handle the fact that in some images some keypoints are not visible.
The "trainHRNetObjectKeypointDetector" documentation states the following:
"Keypoint locations, defined in spatial coordinates as an N-by-2 or N-by-3 numeric matrix with rows of the form [x y] or [x y v], respectively, where:
- N is the number of keypoint classes.
- x and y specify the spatial coordinates of a keypoint.
- v specifies the visibility of a keypoint."
Thus, I assumed that I indeed can include images where not all keypoints are visible, however when I try to have a 7x3 matrix in my case, where visible points are assigned a 1 and not visible points a 0, I get a very similar error to Marc above.
Is this just a case of me defining visibility wrong, or is the documentation wrong and you can't train the detector unless all of your images have all of the keypoints labelled?
Thanks!
Vivek Akkala
about 5 hours ago
Thanks for the clarification, @Andreas. You can include images where not all keypoints are visible. In such cases, you can assign a very small value (e.g., 1e‑5 or 1e‑4) to the non‑visible keypoints. Ideally, setting them to 0 should work, but it appears that trainHRNetObjectKeypointDetector is not configured to accept zeros. Using a small non‑zero value for missing keypoints should help avoid error mentioned by Marc.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!