一、三大坐标系
1.世界坐标系:目标物体位置的参考系。除了无穷远,世界坐标可以根据运算方便与否自由放置。
2.摄像机坐标系:摄像机站在自己角度上衡量的物体的坐标系。摄像机坐标系的原点在摄像机的光心上,z轴与摄像机光轴平行。它是与拍摄物体发生联系的桥头堡,世界坐标系下的物体需先经历刚体变化转到摄像机坐标系(旋转和平移),然后再和图像坐标系发生关系。
3.图像坐标系:以摄像机拍摄的二维照片为基准建立的坐标系。用于指定物体在照片中的位置。
二、相机标定
1.内外参数
1)相机的内参数是六个分别为:1/dx、1/dy、r、u0、v0、f。opencv1里的说内参数是4个其为fx、fy、u0、v0。实际其fx=F*Sx,其中的F就是焦距上面的f,Sx是像素/没毫米即上面的dx,其是最后面图里的后两个矩阵进行先相乘,得出的,则把它看成整体,就相当于4个内参。其是把r等于零,实际上也是六个。
- dx和dy表示:x方向和y方向的一个像素分别占多少长度单位,即一个像素代表的实际物理值的大小,其是实现图像物理坐标系与像素坐标系转换的关键。
- u0,v0表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数
2)相机的外参数是6个:三个轴的旋转参数分别为(ω、δ、 θ),然后把每个轴的3×3旋转矩阵进行组合(即先矩阵之间相乘),得到集合三个轴旋转信息的R,其大小还是3×3;T的三个轴的平移参数(Tx、Ty、Tz)。R、T组合成成的3*4的矩阵,其是转换到标定纸坐标的关键。
注意:在每个视场无论我们能提取多少个角点,我们只能得到四个有用的角点信息,这四个点可以产生8个方程,6个用于求外参,这样每个视场就还赚两个方程来求内参,则其在多一个视场即可求出4个内参。因为六个外参,这就是为什么要消耗三个点用于求外参。
2.畸变系数
k1,k2,k3径向畸变系数,p1,p2是切向畸变系数。径向畸变发生在相机坐标系转图像物理坐标系的过程中。而切向畸变是发生在相机制作过程,其是由于感光元平面跟透镜不平行。
3.单目相机提高标定精度的经验
- 在标定时,标定模板所在平面与成像平面(image plane)之间的夹角不能太小,实验表明:当两者之间夹角较小时,会产生很大的误差。
- 图像中标定板与相机的相对位姿,一般要让标定板占据整张图像的一半左右面积,并且标定板相对于相机要有正视、仰视、俯视、左斜视和右斜视等;
- 标定板的位姿对标定结果影响比标定照片数目的影响大得多;
- 标定板一定要平整,否则误差很大,标定板的平整度是最重要的因素;
- 用于拍摄的照片的先后顺序对结果影响不大,小数点后前五位都是一样的,随机抽掉一张结果影响也不大;
- 按照张正友标定法原文,拍照顺序是从正对图像开始,每次选择一个坐标轴,旋转45度的角度,拍摄16幅左右的图片就可以,但是感觉可以角度小一点;
三、激光·相机标定
1.相机畸变校正
- 应用最小二乘法估算
2.遍历棋盘格内角点,找到激光线与棋盘格竖直线的交点
- cross ratio
3.getAndSaveTransformation
四、双目视觉标定
1.两摄像头直接的相对位置
R = Rr(Rl)T
T = Tr - RTl
其中,R为两摄像头间的旋转矩阵,T为两摄像头间的平移矩阵。Rr为右摄像头经过张氏标定得到的相对标定物的旋转矩阵,Tr为右摄像头通过张氏标定得到的相对标定物的平移向量。Rl为左摄像头经过张氏标定得到的相对相同标定物的旋转矩阵,Tl为左摄像头经过张氏标定得到的相对相同标定物的平移向量。
2.立体校正
1)将两个平面拉回到同一平面
2)旋转图像使得同行对准
五、手眼标定
在机器人校准测量、机器人手眼协调以及机器人辅助测量等领域,都要求知道机器人执行器末端(抓取臂)坐标系和传感器(比如用来测量三维空间中目标位置和方向并固定在机器人手上的摄像机)坐标系之间的相互关系,确定这种转换关系在机器人领域就是通常所说的手眼标定。
1.利用罗德里格斯变换将旋转矩阵转换为旋转向量
2.向量归一化
3.修正的罗德里格斯参数表示姿态变换
4.计算初始旋转向量
5.计算旋转向量
6.计算旋转矩阵
7.计算平移向量
参考文献:
2.内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解
3.Camera calibration With OpenCV
4.《visual sensing and its application》
6.A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration