-
Notifications
You must be signed in to change notification settings - Fork 304
Keypoint data format #507
Comments
@mitmul (since #495 is related) Do you have any comments on the representation of keypoints? |
@yuyu2172 I agree with taking the first option. Returning |
I had a discussion with other developers couple of weeks ago, and we concluded that |
The data format of keypoints have multiple possibilities.
In particular, there has not been enough discussion on the representation of unobservable points.
There are at least four possibilities. Note that
K
represents the number of keypoints.keypoint= (K, 2), np.float32 and kp_mask=(K,), np.bool
. The name of the second object can bekeypoint_mask
orvalid_keypoint
.keypoint= (K, 3), np.float32
. The three elements in a row representy, x, visible (0 or 1)
.keypoint = (K, 2), np.float32
. Represent unobservable points asnp.nan
.keypoint = (K', 2), np.float32 and labels=(K',), np.int32
. The constantK'
represents the number of observable keypoints in an image (K != K'
is possible).labels
represents the id of the keypoint (e.g.0->head
).Some comments
keypoint0 = np.array(kp0_0, kp0_1, ..., kp0_{K'-1})
andkeypoint1 = np.array((kp_1_0, ..., kp1_{K'-1}))
. Here,kp0_i and kp1_i
are corresponding. Usually,K'
is much smaller than the maximum possible valid keypoint pairs, which is the size of the image.np.nan
as corrupted data.EDIT:
The name of
keypoint
can be shortened topoint
.The text was updated successfully, but these errors were encountered: