Open ZhengdiYu opened 2 years ago
Hi, Diyu, Thanks for pointing out this! Honestly, I didn't mean to, but this mistake might be helpful to infer the 'invisible' part of the body. I am not sure whether this would affect the learning/training in a good way or in a bad way. No experiments are made about this. Anyway, thanks!
In image_dataset.py, if we activate shuffle_mode and then the image will be cropped. Now if a person is cropped out of the region, the 2d kps will mostly fall out of the image region, and these outlier 2d keypoints will be updated to (-2 , -2)
However, if there is one 2d keypoint still remaining inside the image, for example a head point like this:
Then the 2d keypoints of this person on the right will be updated to [[-2, -2], [-2, -2], ... [x_head, y_head], ...[-2, -2]]. So the 2d loss will only be calculated for head joint.
However, in the current code, the 3d keypoints is not synchronized with 2d joints, all of the 3d joints (whole body) will still be learned, is there any reason behind it? Are you meaning to give the network to infer the 'invisible' part of the body?