文章目录
前言
本篇文章主要介绍如何使用相机标定,实现世界坐标系到相机坐标系,相机坐标系到图像坐标系,图像坐标系到像素坐标系,最终实现世界坐标系到像素坐标系。以下内容将具体阐述各个坐标转换的原理。
一、世界坐标系到相机坐标系
大白话理解:2个三维空间坐标系的转换,实际为初中几何变换公式,使用矩阵计算而已。本质还是旋转平移的过程。
1.变量概念
2.求解方法
世界坐标系到相机坐标系方法如下:
默认方法:旋转和平移方法;
其它方法:旋转矩阵,欧拉角,四元数,轴角,李群和李代数;
旋转应用场景:惯性导航,机器人学(机械臂运动学,无人机姿态估计,slam等)
3.旋转矩阵公式推导
本图说明:红点假设为物体p(物体未发生变化,只是坐标系建立方法不同而已),黑色为原坐标系,蓝色为绕X轴旋转坐标系,旋转角为seta。
求解新坐标系(Xc,Yc,Zc),其中绕X轴旋转,则新Xc=X将不发生变化。
Yc=oa+ab=ec+pd=ocsin(seta)+cpcos(seta)=Zsin(seta)+Ycos(seta)
Yc=ac-cd=oe-cd=occos(seta)-cpsin(seta)= Zcos(seta)-Ysin(seta)
最终表现为矩阵如下:
验证旋转是否正确(因到原点距离不变),采用欧式距离验证:
通过以上方法类推绕Y轴,Z轴旋转,得到以下矩阵,将其相乘可得到绕X/Y/Z轴旋转的坐标转换。
如下为旋转角矩阵变换:
以上绕x轴公式的正负号偏差为角度问题,若-seta可将上面角度转为下面公式:
3.绕某轴旋转推理
以下利用几何变换推导绕Y轴变换不同的2个矩阵,若读者发现不同文章不一样,可以不用慌张,仅仅思考角度不一样,可理解seta角正负的影响,
详情推导请看下面的变换。
4.左乘与右乘
平移向量可表示为:
5.转换公式(外参)
通过旋转矩阵与平移向量可求R与t,即为相机的外参R、t:
二、相机坐标系转换为图像坐标系
相机坐标系到图像坐标系转换过程是将三维转换到二维平面,其原理符合小孔成像,可采用相似三角形求解转换公式。
1.原理与公式
小孔成像示意图:
从下图上,如果相机坐标系到图像坐标系的转化,我们可以理解为,如何将相机坐标系下的3D点 P(Xc,Yc,Zc) 映射到 P(x,y) 上,通过蓝色虚线部分,我们可以得到两个相似三角形 OcCP和 OcPB ,其中相机坐标系的原点 Oc 到图像坐标系的原点O 的距离,我们称之为焦距 f 。
利用相似三角形可得:
最终可转换如下:
说明:Zc实际为相机坐标系Z轴的值,可通过如下形式得到:
三.图像坐标系到像素坐标系
1.原理
图像坐标系转像素坐标系实际是比列尺(属于缩放问题)与移动问题,首先是(U0,V0) 这个我们可以理解为,从图像坐标系中心点到像素坐标系中心点的一个偏移量。属于相机内参的一部分。另外,如果我们已知图像坐标系的一个点P(x,y) ,我们还应该知道,横坐标的每一个mm对应像素是多少。即有如下公式:
其中dx与dy表示x轴与y轴物理像素尺寸,即1个像素是dx毫米。
2.公式
最终公式如下:
四.世界坐标系到像素坐标系
1.公式
最终实现世界坐标系到像素坐标系的转换:
上图可知M2为相机外参,M1为相机内参
2.流程
总结
本文解释世界坐标系到像素坐标系的原理。