相机成像中的坐标转换


齐次坐标与欧式坐标

在3D视觉中,一般都使用齐次坐标而不是欧式坐标(普通坐标),主要的原因是用齐次坐标可以线性表示坐标系的转换,而欧式坐标不行。具体可以参考《视觉slam十四讲》的第三章46页。

针孔成像模型

如下图是一个典型的针孔成像模型,它是研究照相机成像的一个既简单又有效的模型。

在实际研究中,由于像平面所成的像和真实物体方向相反,为了研究方便,一般直接研究虚拟像平面,虚拟像平面到针孔的距离也是焦距$f$,虚拟像平面上的成像和真实物体方向一致,大小和像平面上一样。

四个坐标系

从真实物体到数字图像,经过了多种变换,空间中一个点是怎么转换到数字图像上的呢,这涉及到各个坐标系之间的转换。在成像过程中,主要涉及到以下四个坐标系:

  • 世界坐标系:指的就是真实世界中的一个坐标系,单位是m,其中任意一点及其坐标表示为$P_{w}=[X_{w}, Y_{w}, Z_{w}]^{T}$。
  • 相机坐标系:以光圈$O$为原点的右手坐标系(一般都是右手坐标系,当然也可以是左手),z轴一般与光轴重合(与成像平面垂直),单位为m,其中任意一点及其坐标表示为$P_{c}=[X_{c}, Y_{c},Z_{c}]^{T}$。
  • 图像物理坐标系:就是虚拟成像平面上的坐标系,是一个二维坐标系,原点在虚拟成像平面中心,单位是mm,相当于是用物理单位来描述像素的位置,其上任意一点的坐标可表示为$P=[x,y]^{T}$。
  • 像素平面坐标系,就是最后的数字图像上的二维坐标系,一般坐标原点在图像的左上角,单位是像素,从图像物理坐标系到像素平面坐标系,存在一个缩放和平移,其上任意一点的坐标表示为$p=[u,v]^{T}$。

四者的整体关系如下图所示:

坐标系之间的转换

从真实场景到数字图像,包含了多个坐标系的转换,下文依次叙述。

世界坐标系–>相机坐标系

这部分主要研究世界坐标系下的一点$P_{w}$到相机坐标系下一点$P_{c}$的转换关系。通过上面四个坐标系的关系图可以发现,这两个坐标系处于同一空间,只是位置不同,所以世界坐标系通过刚体运动就可以相机坐标系重合,这里的刚体运动即是指旋转和平移。其实这两个坐标系所表示的点都是空间上的同一个点,只是坐标不一样,而坐标按照刚体运动进行转换就可以了。

这里先看一下坐标系的旋转和平移对应点的坐标是如何变化的:

旋转

可以发现,世界坐标系可以沿着3个轴旋转,所以旋转有3个自由度,整个旋转过程可以拆分成分别绕轴旋转的三个过程,设世界坐标系中一点$P$旋转前的坐标为$[X_{0},Y_{0},Z_{0}]^{T}$,旋转后的坐标为$[X_{3},Y_{3},Z_{3}]^{T}$,绕X轴旋转过程见下图:

另外两个轴类似,设绕X轴、Y轴、Z轴旋转的旋转矩阵为$R_{1}、R_{2}、R_{3}$,则:

$$ \begin{bmatrix} X_{1}\\ Y_{1}\\ Z_{1} \end{bmatrix} =\begin{bmatrix} 1& 0& 0\\ 0& \cos\theta_{1}& \sin \theta_{1}\\ 0& -\sin \theta_{1}&\cos\theta_{1} \end{bmatrix} \begin{bmatrix} X_{0}\\ Y_{0}\\ Z_{0} \end{bmatrix} =R_{1}\begin{bmatrix} X_{0}\\ Y_{0}\\ Z_{0} \end{bmatrix} $$ $$ \begin{bmatrix} X_{2}\\ Y_{2}\\ Z_{2} \end{bmatrix} =\begin{bmatrix} \cos\theta_{2}& 0& -\sin \theta_{2}\\ 0& 1& 0\\ \sin \theta_{2}& 0 &\cos\theta_{2} \end{bmatrix} \begin{bmatrix} X_{1}\\ Y_{1}\\ Z_{1} \end{bmatrix} =R_{2}\begin{bmatrix} X_{1}\\ Y_{1}\\ Z_{1} \end{bmatrix} $$ $$ \begin{bmatrix} X_{3}\\ Y_{3}\\ Z_{3} \end{bmatrix} =\begin{bmatrix} \cos\theta_{3}& \sin \theta_{3}& 0\\ -\sin \theta_{3}& \cos\theta_{3}& 0\\ 0& 0 &1 \end{bmatrix} \begin{bmatrix} X_{2}\\ Y_{2}\\ Z_{2} \end{bmatrix} =R_{3}\begin{bmatrix} X_{2}\\ Y_{2}\\ Z_{2} \end{bmatrix} $$

其中的$\theta_{1}、\theta_{2}、\theta_{3}$也说明旋转一共有三个自由度,设总的旋转矩阵为$R$,那么可得:

$$ \begin{bmatrix} X_{3}\\ Y_{3}\\ Z_{3} \end{bmatrix} =R_{3}R_{2}R_{1}\begin{bmatrix} X_{0}\\ Y_{0}\\ Z_{0} \end{bmatrix} =R\begin{bmatrix} X_{0}\\ Y_{0}\\ Z_{0} \end{bmatrix} $$

平移

设平移后的坐标为$[X_{4},Y_{4},Z_{4}]^{T}$,那么有

$$ \begin{bmatrix} X_{4}\\ Y_{4}\\ Z_{4} \end{bmatrix} =\begin{bmatrix} X_{3}\\ Y_{3}\\ Z_{3} \end{bmatrix}+\begin{bmatrix} T_{x}\\ T_{y}\\ T_{z} \end{bmatrix} $$

其中$T=[ T_{x}、T_{y}、T_{z}]^{T}$分别表示旋转后的坐标系在$xyz$三个方向上的平移量。

总结

把旋转和平移结合在一起可得从世界坐标系到相机坐标系的坐标转换公式如下:

$$ P_{c}=\begin{bmatrix} X_{c}\\ Y_{c}\\ Z_{c} \end{bmatrix} =R\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{bmatrix}+T =\begin{bmatrix} R&T \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{bmatrix} =\begin{bmatrix} R&T \end{bmatrix} \begin{bmatrix} P_{w}\\ 1 \end{bmatrix} $$

其中$\begin{bmatrix}
R&T
\end{bmatrix}$被称为相机的外参矩阵。

相机坐标系–>图像物理坐标系

这个转换呢,其实非常好理解,就是一个透视的关系,而实际运算过程中呢也就是利用三角形的相似性来进行计算的,首先看一下图:

由三角形相似理论,可得:

$$ \left\{\begin{matrix} \frac{x}{f}=\frac{X_{c}}{Z_{c}} \\ \frac{y}{f}=\frac{Y_{c}}{Z_{c}} \end{matrix}\right. ==> \left\{\begin{matrix} x=f\frac{X_{c}}{Z_{c}} \\ y=f\frac{Y_{c}}{Z_{c}} \end{matrix}\right. $$

这一步最好的是要表示出$P=[x,y]^{T}$和$P_{c}=[X_{c}, Y_{c},Z_{c}]^{T}$的直接关系,由于维度上的差异,所以可以将$P$写成齐次坐标的形式,即:

$$ \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} =\frac{1}{Z_{c}}\begin{bmatrix} f& 0& 0\\ 0& f& 0\\ 0& 0& 1 \end{bmatrix} \begin{bmatrix} X_{c}\\ Y_{c}\\ Z_{c} \end{bmatrix} $$

图像物理坐标系–>像素坐标系

先看一下二者的位置关系,如下图:

第一眼看上去很正常的就认为这两个坐标系仅需要简单平移就能重合,即

$$ \begin{bmatrix} u\\v \end{bmatrix} = \begin{bmatrix} x\\y \end{bmatrix}+ \begin{bmatrix} c_{x}\\c_{y} \end{bmatrix} $$

其中$c_{x}、c_{y}$分别表示在xy两个方向上的平移量。

但其实上面的写法是错误的,因为这两个坐标系的单位不一样,一个是米,一个是像素,这两个坐标系之前其实还存在一个缩放(映射)关系,所以正确的公式应该是:

$$ \begin{bmatrix} u\\v \end{bmatrix} = \begin{bmatrix} kx\\ly \end{bmatrix}+ \begin{bmatrix} c_{x}\\c_{y} \end{bmatrix} $$

其中$k、l$表示的即是坐标系在两个方向上缩放的比例,一般情况下,$k=l$,但也有时候它俩不相等。

同样为了得到$p=[u,v]^{T}$和$P=[x,y]^{T}$的直接关系,利用齐次坐标,有:

$$ \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} =\begin{bmatrix} k& 0& c_{x}\\ 0& l& c_{y}\\ 0& 0& 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} $$

世界坐标系–>像素坐标系

由前面的推导可以得到

$$ \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} =\frac{1}{Z_{c}}\begin{bmatrix} k& 0& c_{x}\\ 0& l& c_{y}\\ 0& 0& 1 \end{bmatrix} \begin{bmatrix} f& 0& 0\\ 0& f& 0\\ 0& 0& 1 \end{bmatrix} \begin{bmatrix} X_{c}\\ Y_{c}\\ Z_{c} \end{bmatrix} $$

于是有:

$$ \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} =\frac{1}{Z_{c}} \begin{bmatrix} kf& 0& c_{x} \\ 0& lf& c_{y} \\ 0& 0& 1 \end{bmatrix} \begin{bmatrix} R&T \end{bmatrix} \begin{bmatrix} P_{w}\\ 1 \end{bmatrix} $$

$$ K=\begin{bmatrix} kf& 0& c_{x} \\ 0& lf& c_{y} \\ 0& 0& 1 \end{bmatrix} =\begin{bmatrix} f_{x}& 0& c_{x} \\ 0& f_{y}& c_{y} \\ 0& 0& 1 \end{bmatrix} $$

其中,$f_{x}=kf, f_{y}=lf$。由于$K$中的元素都跟相机的内部属性有关,所以称$K$为相机的内参矩阵。对于一台相机,它的内参矩阵始终保持不变。

最后,可以写出世界坐标系–>像素坐标系的转换公式:

$$ \begin{bmatrix} p\\ 1 \end{bmatrix} =\frac{1}{Z_{c}} K \begin{bmatrix} R&T \end{bmatrix} \begin{bmatrix} P_{w}\\ 1 \end{bmatrix} $$

注意到,式中有一项为$\frac{1}{Z_{c}}$,根据定义,$Z_{c}$就是空间中一点到相机坐标系中心的距离,其实就是深度(depth),也就是我之前学习的单目深度估计算法中要求的那个深度。

对于深度信息丢失的理解

将世界坐标系到像素坐标系的转换公式改写,得到

$$ \begin{bmatrix} p\\ 1 \end{bmatrix}=K\frac{P_{c}}{Z_{c}} $$

这是相机坐标系到像素坐标系的转换公式,如果把$Z_{c}$除进去(emmm不知道咋描述好),即

$$ \begin{bmatrix} p\\ 1 \end{bmatrix}=K\frac{P_{c}}{Z_{c}}=K\begin{bmatrix} X_{c}/Z_{c}\\ Y_{c}/Z_{c}\\ 1 \end{bmatrix} $$

将$[X_{c}/Z_{c},Y_{c}/Z_{c},1]^{T}$称为归一化坐标,该坐标就是相机前方$Z=1$的一个平面,将该平面称为归一化平面,归一化坐标左乘一个$K$就得到了$p$,可以看出像素坐标其实是在归一化平面上量化采样得到的结果。

无论对相机坐标$P_{c}$数乘一个什么值,后边归一化都除掉了,对归一化坐标没有影响,而相机内参$K$又不变,所以对于$p$也没有影响。也就是说,不管$Z_{c}$有多大,对于投影过程都没有影响,所以可以理解为在投影过程中深度信息丢失了。


文章作者: Reset Ran
文章链接: https://resetran.top/3d-vision-basic-knowledge/
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Reset Ran !
 本篇
下一篇 
Monodepth2论文的阅读笔记 Monodepth2论文的阅读笔记
另一篇经典的自监督单目深度估计文章
2022-06-28 论文学习
  目录

天下网标王禹州智能网站优化需要多少钱网站优化效果案例天津网站优化搜索项城网站优化推广哪家合适大连网站快照优化是什么网站优化排名需要考虑哪些问题石岩网站排名优化公司广州网站优化服务优化网站快照违规词优化网站怎么做效果好网站主机优化seo优化网站还好做吗藁城区互联网网站优化商家莆田网站优化方案南通网站优化营商网站优化为什么没效果如何进行网站优化都有什么服务北海网站优化多少钱网站关键词优化有限公司鹤壁市网站优化唐山优化网站价格蒙牛企业网站优化调研报告服装网站优化在哪里宝安网站排名优化服务商网站优化培训学校哪个好龙岩网站优化推广网优化网站诊断心得体会常熟网站优化报价找人做网站排名优化嘉兴网站seo优化方法香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化