专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
51好读  ›  专栏  ›  点云PCL

投影矩阵和内外参到底是啥关系?

点云PCL  · 公众号  ·  · 2024-11-25 08:30

正文

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。 本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

投影矩阵


投影矩阵能够实现3D点到2D坐标,结合和内参K和外参T,可以表达为P=K[R|t] 我们知道K是3*3的矩阵,我们在内参的基础上增加一列将其变成3*4矩阵。在ROS中我们将投影矩阵定义为内参加上一个baseline的位移。所以投影矩阵的左边3*3的矩阵是相机内参,所以如果是双目的左相机的投影矩阵,他的投影矩阵的最后一列的tx,ty就是0。

当使用x=P*X进行投影时,得到的x是3*1维,此时最后一位不一定是1,一定要进行归一化,即x中的值全部除以最后一位。此时的x和y才能做为图像上的点。

根据ROS中对投影矩阵的定义:http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/CameraInfo.html

根据约定此矩阵表示处理过的,也就是经过矫正的图像内参矩阵,矩阵的左上角3*3的部分是矫正图像的常规内参矩阵。

对于单目相机来说,它通过焦距 fx′、fy′和主点 cx′、cy′将相机坐标系中的 3D 点投影到 2D 像素坐标中。这些参数可能与矩阵K中的值不同。对于双目相机来说,第四列 [Tx Ty 0]′表示第二个相机光心在第一个相机坐标系中的位置。通常假设 Tz=0即两个相机位于同一立体图像平面。第一个相机的 Tx=Ty=0,对于水平排列的双目相机的右侧(第二个)相机,Ty=0,且 Tx=−fx′×B,其中 B 是两个相机之间的基线距离。

给定一个 3D 点 [X Y Z]′,该点在校正图像上的投影 (x,y)通过以下公式计算:

[u v w]' = P * [X Y Z 1]'

x = u / w

y = v / w

投影矩阵左上角3*3矩阵和内参值不一样的原因


理论上投影矩阵左上角3*3矩阵和内参值是应该一样的,但实际场景中投影矩阵 (Projection Matrix, P) 和相机内参矩阵 (K) 的左上角 3×3 部分在一些场景中可能存在差异,这是由以下几种原因导致的,且有理论依据和推导。

1

校正过程的影响

在相机标定和图像校正 (rectification) 过程中,相机内参矩阵 K是从原始相机参数标定得到的,用于描述未校正图像中的内参。而校正后图像的内参通常会被调整,以适应校正后的坐标系。未校正图像的内参矩阵 K:

其中 fx,fy是焦距,cx,cy是主点位置,ss 是像素的非正交系数。校正图像的投影矩阵左上角部分(即校正后的内参):校正图像通常假设像素是正交的,因此会调整 s=0零畸变),主点位置和焦距也可能稍有变化。

这种调整的目标是将畸变校正后的图像变换到一个理想化的相机模型,从而简化后续处理。

2

双目相机的基线校正

对于双目相机,投影矩阵 P包含了内参矩阵和外参(平移)的结合部分:

这里的 K 不一定等于原始的内参矩阵,因为:

(1) fx′和 fy可能被调整以适应校正后的像素单位。

(2) cx′和 cy′可能被调整以匹配新的校正坐标中心。

对于右相机,额外的平移 Tx=−fx′×B(B为基线)会被包含在投影矩阵中。

3

坐标系变换

投影矩阵的推导涉及多个坐标系转换:

(1)相机坐标系 → 图像平面坐标系,使用内参矩阵 K

u,v 是像素坐标,Xc,Yc,Zc是相机坐标。

(2)世界坐标系 → 相机坐标系:

R 是旋转矩阵,t是平移向量。

将这两步结合,得到投影矩阵 P:

校正后的图像因为引入新的虚拟坐标系,从而导致内参矩阵变化。

在立体视觉中,投影矩阵的调整有助于满足校正图像的以下目标:

  • 使左右相机的图像平面严格对齐(即同一水平线上的像素具有相同的垂直坐标)。

  • 简化双目匹配算法的计算,保证左右图像是校正后的理想化模型。

这些目标可能需要在校正过程中对内参矩阵进行优化,因此 P[1:3,1:3]和原始 K 会有所不同。

4

实例对比

未校正图像内参矩阵 K:

校正图像的投影矩阵 P:

这里的差异可能来源于焦距和主点的微调。

所以投影矩阵的左上角 3×3和内参矩阵可能不同,主要是因为校正、坐标系变换以及双目相机的调整。理论上,这种差异可以通过相机标定、图像校正和投影矩阵的推导来解释,是为了适应新的图像坐标系或简化特定应用需求而设计的。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定







请到「今天看啥」查看全文