Closed RitchieQi closed 2 years ago
Hi @RitchieQi I think you should use cTo
instead of its inverse. For example, see how they are projected into the image, using the P
matrix that uses cTo
.
Hi @RitchieQi I think you should use
cTo
instead of its inverse. For example, see how they are projected into the image, using theP
matrix that usescTo
.
That's right! They looks much better now. I'll post the new results below. Thanks a lot @samarth-robo.
kinect2_left
(array([[0.2565368 , 0.01868199, 0.78818366],
[0.22842491, 0.03648041, 0.77282884],
[0.21203477, 0.06118771, 0.75500561],
[0.21846481, 0.09319641, 0.74955093],
[0.21917481, 0.11492926, 0.75604247],
[0.24759545, 0.09501801, 0.7571061 ],
[0.23200948, 0.13471798, 0.76008047],
[0.21448142, 0.15452287, 0.76999785],
[0.19939909, 0.16714065, 0.78191566],
[0.26474347, 0.09687327, 0.77085683],
[0.2498228 , 0.13940964, 0.77368364],
[0.23343277, 0.16176708, 0.78836935],
[0.21905541, 0.17457946, 0.80364374],
[0.27751058, 0.09459598, 0.7852261 ],
[0.26736489, 0.13478804, 0.78941864],
[0.25066427, 0.15394642, 0.80077245],
[0.23675912, 0.1663165 , 0.81217643],
[0.28579163, 0.08947422, 0.80144266],
[0.28045894, 0.12115242, 0.80404396],
[0.26987753, 0.13587141, 0.80736111],
[0.25994629, 0.14914803, 0.81452424]]),
array([[ 0.25761845, -0.00075087, 0.87155271],
[ 0.22324412, 0.01619884, 0.87825387],
[ 0.20451226, 0.04477038, 0.89444419],
[ 0.20340833, 0.07479892, 0.90831553],
[ 0.208349 , 0.10191222, 0.90525083],
[ 0.23550158, 0.08037886, 0.90515215],
[ 0.22514652, 0.12160263, 0.90694867],
[ 0.21786524, 0.1437413 , 0.89524117],
[ 0.21155565, 0.16038401, 0.88137881],
[ 0.25960878, 0.08376332, 0.89500518],
[ 0.2541285 , 0.12828483, 0.88861619],
[ 0.24533364, 0.15032991, 0.8695791 ],
[ 0.23943801, 0.16616535, 0.85264546],
[ 0.27569999, 0.08192526, 0.88078582],
[ 0.27225402, 0.12107425, 0.87443396],
[ 0.2621274 , 0.14035159, 0.8572707 ],
[ 0.25462609, 0.1546899 , 0.84436221],
[ 0.28397639, 0.0755856 , 0.86279735],
[ 0.28025256, 0.10742515, 0.85502749],
[ 0.27415077, 0.12478211, 0.84510368],
[ 0.26847438, 0.13990789, 0.83636642]]))
kinect2_middle
(array([[-0.01520219, 0.10222265, 0.8090005 ],
[-0.0162786 , 0.13593104, 0.82333293],
[-0.01851367, 0.1704481 , 0.82390933],
[-0.0104938 , 0.19400699, 0.80208467],
[ 0.00458521, 0.207032 , 0.79122494],
[-0.00794769, 0.17816841, 0.77655724],
[ 0.01459748, 0.21400931, 0.77064099],
[ 0.0349519 , 0.23260311, 0.77678828],
[ 0.05353353, 0.24371669, 0.78452976],
[ 0.00211866, 0.1651506 , 0.76186764],
[ 0.02565528, 0.20287952, 0.75396092],
[ 0.05114471, 0.22066171, 0.75823189],
[ 0.07265997, 0.23004402, 0.76552835],
[ 0.01167445, 0.15080424, 0.75306252],
[ 0.03459074, 0.18389024, 0.74228875],
[ 0.05579403, 0.20094636, 0.74815154],
[ 0.07361436, 0.21155533, 0.75495659],
[ 0.02238462, 0.13558212, 0.74969144],
[ 0.03937418, 0.16072768, 0.73883934],
[ 0.05050351, 0.17526016, 0.74097555],
[ 0.06429605, 0.18663048, 0.74356209]]),
array([[0.0498793 , 0.04871141, 0.82417121],
[0.06899666, 0.07457851, 0.84606214],
[0.09891727, 0.09744629, 0.84940336],
[0.12443949, 0.11416898, 0.83658485],
[0.13269411, 0.13364701, 0.81865717],
[0.11864191, 0.10469601, 0.80579897],
[0.13992388, 0.13975992, 0.79450942],
[0.14043811, 0.16523568, 0.78894842],
[0.13649047, 0.18711124, 0.78509724],
[0.1070642 , 0.1005509 , 0.78246771],
[0.12171849, 0.13956645, 0.76468974],
[0.11596656, 0.16905977, 0.75991423],
[0.10888166, 0.19154697, 0.75586485],
[0.0909683 , 0.0981304 , 0.76834119],
[0.10297304, 0.13212856, 0.75146293],
[0.09789879, 0.15930487, 0.74935528],
[0.0939933 , 0.17956951, 0.74774986],
[0.07090213, 0.09774234, 0.76291224],
[0.07851869, 0.12702585, 0.74977987],
[0.07832957, 0.14752744, 0.7457023 ],
[0.07814667, 0.16560386, 0.74245265]]))
kinect2_right
(array([[-0.25512046, 0.04683273, 0.71553231],
[-0.23143298, 0.06248791, 0.69236657],
[-0.21851377, 0.08659038, 0.67117884],
[-0.23244842, 0.10994204, 0.65230608],
[-0.24373357, 0.11674542, 0.63383122],
[-0.26022019, 0.11152152, 0.66393478],
[-0.26299806, 0.12724062, 0.62427309],
[-0.26044514, 0.12605356, 0.59616803],
[-0.25827631, 0.11988907, 0.57412229],
[-0.28120972, 0.10538314, 0.66682249],
[-0.28545727, 0.12292282, 0.62541865],
[-0.2869633 , 0.11954875, 0.59426571],
[-0.28700882, 0.11094756, 0.57123985],
[-0.29748528, 0.0954857 , 0.67025878],
[-0.30541276, 0.11173808, 0.63272308],
[-0.30397574, 0.10923003, 0.6050372 ],
[-0.30243151, 0.10361384, 0.58400159],
[-0.30999255, 0.0815187 , 0.67276404],
[-0.31806749, 0.09550498, 0.64487333],
[-0.31624804, 0.09844877, 0.62677243],
[-0.31625092, 0.09765482, 0.60872865]]),
array([[-0.28826137, -0.03070616, 0.70074706],
[-0.26955358, -0.03471974, 0.66686929],
[-0.27206112, -0.03644813, 0.62918551],
[-0.28826605, -0.0314749 , 0.60075994],
[-0.30038989, -0.01306399, 0.58393779],
[-0.31473244, -0.01852786, 0.6150086 ],
[-0.32173 , 0.00017063, 0.57744193],
[-0.31814913, 0.0200287 , 0.56091808],
[-0.31240563, 0.03884348, 0.54987397],
[-0.33068217, -0.00298232, 0.62913357],
[-0.33894856, 0.02522917, 0.59465464],
[-0.3306701 , 0.05059504, 0.58003322],
[-0.32353594, 0.07153824, 0.57093634],
[-0.33638947, 0.01115583, 0.64436626],
[-0.34442559, 0.03686869, 0.61505529],
[-0.33497208, 0.05890795, 0.60113968],
[-0.32789865, 0.07542251, 0.59085757],
[-0.33241378, 0.02408209, 0.66015806],
[-0.33698181, 0.0468812 , 0.63676302],
[-0.33350648, 0.06296034, 0.62386492],
[-0.33014545, 0.07696217, 0.61246305]]))
Thanks a lot for the dataset! I have a question about the transformation from oth to cth. I tried to use the following transformation equation to get the 3D joints coordinates w.r.t camera, but the results seems not lie in the camera frame.
Here is the output:
The L2 norm of the coordinates looks fair enough, but the distance distributes mainly in different directions in these three cameras, i.e. x,y_axis in kinect2_left, z_axis in kinect2_middle, y,z_axis in kinect2_right. I thought it might because the coordinates are lying in world frame or object frame. How can I rotate the coordinates to make it lie in camera frame? Thanks in advance