【学习记录】普朗克坐标 Plücker coordinates | 您所在的位置:网站首页 › 坐标表示线段长度 › 【学习记录】普朗克坐标 Plücker coordinates |
一、普朗克坐标的表示方法
普朗克坐标是表示空间直线的一种方法,相较于用只存储空间直线上两个点的方法,普朗克坐标能够更好地表示空间直线。普朗克坐标采用六自由度的表示方法,用六个量进行表示,其中六个量可以分为两组,每组为一个三维向量,一般记为m和d,其中d表示空间直线的方向向量,直接用端点的三维坐标相减即可得到,而m表示的是反投影平面的法向量,这里的反投影平面,指的是相机光心出发,分别指向图像上线段的两个端点,由此形成的一个反向延长平面,普朗克坐标在这里一般用的是两条射线的叉乘来表示。 线段的三角化是一个很重要的问题,在单目SLAM中,深度的恢复基本使用的都是三角化的策略,对于点,三角化的策略已经十分稳定,但是线段的三角化使用的缺不多,PLSLAM中使用的方法是对线段的两个端点进行三角化,空间两点的连线就成为了空间线段的表示方法,这种方法虽然可以完成线段三角化的任务,但是显然对线段的利用程度不高,只取两个端点进行深度的恢复,而剩下的点根本没有起到什么约束作用,当然也可以用采样点的方法,采样出许多个点然后三角化,对恢复深度的点进行直线的拟合从而得到空间信息。从这个角度来看,我们为了线段的空间表示付出了太多,又是采样点又是多个三角化,还要再次剔除离散点拟合。 使用普朗克坐标一个很大优势在于,我们可以用普朗克坐标直接计算出空间线段的表示。PL-VIO使用的就是这个方法,其本质还是利用光心、2d线段的端点形成的反向延长平面相交来快速计算,简单来说就是联立两个空间平面方程,解出一个空间直线方程。 点的转换我们可以直接使用点坐标乘变换矩阵实现坐标系的移动,使用普朗克坐标的线段也可以实现类似的变换,参考DPLVO: 如果我们已经有空间直线的三角化后的普朗克坐标,我们可以使用普朗克坐标直接实现空间到成像平面的转换,参考PL-VIO,nc为普朗克坐标中前面三个数,也就是延长平面法向量的部分,k为相机的内参矩阵变形: 在DPLVO里还提到了一种用夹角来转换出普朗克坐标的方法,这种方法里面使用反向延长平面以及端点的反向延长线来进行表示,反向延长平面的法向量记为: 在EDPLVO中,作者使用普朗克坐标来快速计算点到直线的距离,本身上还是利用普朗克坐标的含义,也就是确定面积和底的长度,从而找出三角形的高。 |
CopyRight 2018-2019 实验室设备网 版权所有 |