如何解决将KITTI MOT分割蒙版转换为右摄像头
我正在尝试将KITTI MOT dataset的地面真假分割蒙版从左到右转换为相机,并对其为何不起作用感到非常困惑。
分割蒙版在左侧框架中以像素形式给出。我从calib_cam_to_cam.txt
文件中获得了校准参数,据我了解,该校准参数对于所有KITTI数据集都是相同的。据我正确理解相应的paper而言,图像数据已得到校正,因此左(2)和右(3)RGB图像平面位于单个平面中,并且仅沿x轴平移,基线(在摄像机2和3之间,平移等于〜54厘米)。根据上述文件,从校准文件计算得出的结果是相同的:
bm_left = -P_rect_left[0,3] / P_rect_left[0,0]
bm_right = -P_rect_right[0,3] / P_rect_right[0,0]
bm_left_right = bm_right - bm_left
P_rect_...[0,3]
是给定摄像机的基线,以像素为单位并乘以-1,即乘以像素焦距(fu
的-1倍,P_rect_...[0,0]
为{ {1}}。
因此,从右摄像头到左摄像头的转换很简单:
fu
现在,为了从左侧图像平面到右侧图像平面获取某个图像点T_left_right = [[1,0.54],[0,1,0 ],1 ]]
,我可以使用p_i=[u,v]
中经过校正的固有参数将其反向投影到单位矢量:
P_rect_left
然后我可以使用 mu = (u - cu) / fu
mv = (v - cv) / fv
vectorized = [u,v,1]
vectorized_normed = vectorized / norm(vectorized)
将单位矢量转换为正确的相机坐标系,即:
T_left_right
最后,我可以将此点投影到正确的相机图像平面中以获得像素坐标:
vectorized_normed_right = dot_product(inverse(T_left_right),vectorized_normed)
However,this does not work well Yet,when I divide the baseline by ten,I get pretty good results
我的数学错了吗?还有其他提示吗? 我将非常感谢任何形式的帮助:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。