姿势估计结合了变换和旋转

时间:2019-05-30 11:21:32

标签: python matrix rotation transformation pose-estimation

我被困住了。我想使用ADDMetric将地面真实姿态与估算姿态进行比较。

“ T以及估计的旋转R̃和平移T̃,我们计算所有模型点x与其转换版本的平均距离:

m = avg ||(Rx + T) - ( R̃x + T̃)|| .

基本事实包含以下变量。

"location": [ 3.636699914932251, -7.1244997978210449, 61.205299377441406 ],

"quaternion_xyzw": [ 0.49849998950958252, -0.50099998712539673, -0.23849999904632568, 0.66600000858306885 ],

"pose_transform_permuted": [
[ -0.90520000457763672, -0.42500001192092896, 0.0010000000474974513, 0 ],
[ 0.38409999012947083, -0.81720000505447388, 0.42960000038146973, 0 ],
[ 0.1817999929189682, -0.38929998874664307, -0.90299999713897705, 0 ],
[ 3.636699914932251, -7.1244997978210449, 61.205299377441406, 1 ]
],

object_settings.json:

"cuboid_dimensions": [ 16.403600692749023, 21.343700408935547, 7.179999828338623 ]

所以我认为R̃x + T̃ = quaternion_xyzw cuboid_dimensions +位置是

但是如何使用python正确计算呢?

其他姿势估计变量:

     [{'cuboid2d': 
array([None, None, None, None, None, (393.12350866760227, 8.2176658678339827),
       None, (328.01836364338948, 235.36015965875694),
       (368.21523734750838, 112.01849561320836),
       (334.27798525944007, 116.20128223083461)], dtype=object),
'name': 'cracker', 
'quaternion': Quaternion([ 0.48902345, -0.48971287, -0.3328639 , 0.64049902]), 
'location': [0.87687700075507136, -12.8709826562585, 69.360323550436604],

'projected_points': array([[ 324.85022498, -15.03408885],
       [ 269.99226383, 130.28539506],
       [ 273.83800017, 212.40307047],
       [ 314.88919115, 98.09603198],
       [ 396.21567149, 6.20608956],
       [ 347.30944482, 154.16019378],
       [ 330.73077727, 230.28894467],
       [ 368.49273695, 114.47831118],
       [ 328.11006303, 120.95881116]])}]

0 个答案:

没有答案