Closed mks0601 closed 3 weeks ago
FYI, if I project the camera coordinates to image space without using the distortion function, there is no such problem.
Hi Gyeongsik,
The main reason is that hands and objects in egocentric view usually are very close to the camera. Therefore, there are more distortion in the pixel space. To address this, we uses "vertex displacement" to "correct" points in 3D using the distortion parameters such that they have better 2D overlay. However, this approach assumes the points being distorted in 3D are not very close to the camera. This is not the case for SMPLX (the head of SMPLX).
You can ignore the distort_pts3d_all
function but it won't take distortion into consideration. Having said that vertex displacement is probably not the most suitable for SMPLX use-case, I am also curious in case you know any other solutions (maybe check out AssemblyHands as they have more distorted images or put the distortion parameters into the renderer to render properly).
Awesome. Thanks for your check!
Hi Alex, how are you doing? I'd like to ask you about the distortion for the egocentric viewpoints. I'm trying to visualize projected vertices of SMPL-X mesh to the egocentric viewpoints. However, it seems vertices are projected to a wrong positions although I filtered points whose depth values are negative. Could you check the below code? You can simply run it after setting
arctic_root_path
andsmplx_root_path
and runpython test.py
. When I run below code, I got below visualized results. It seems some vertices are projected to a weird position. I used the same distortion function as yours (https://github.com/zc-alexfan/arctic/blob/9f5770966350c66d8bf0ac3fd4cfde74434a109b/common/transforms.py#L82)