相机模型讲解(四个坐标系变换+张正友标定法)

//学了这么久三维视觉,一直想更新一些相机模型基础知识,今天来填坑了。
//首先先讲解四个坐标系之间的变换。

一.世界坐标系到相机坐标系

相机模型讲解(四个坐标系变换+张正友标定法)_第1张图片
//这是一个刚体变换,由于相机在不断运动,所以因为[R|T]旋转和位移矩阵将物体位姿变换到相机坐标系下。
//相机坐标系即是以相机光心为原点,光轴为Z轴的右手坐标系
//对于旋转矩阵,刚体变换可以分解为绕世界坐标系X,Y,Z轴分别以一定角度旋转
R1=
相机模型讲解(四个坐标系变换+张正友标定法)_第2张图片相机模型讲解(四个坐标系变换+张正友标定法)_第3张图片
相机模型讲解(四个坐标系变换+张正友标定法)_第4张图片
R=R1R2R3=
在这里插入图片描述
Pc=RPw + t
相机模型讲解(四个坐标系变换+张正友标定法)_第5张图片

二.相机坐标系到图像坐标系

相机模型讲解(四个坐标系变换+张正友标定法)_第6张图片
//将物点在相机坐标系下的坐标投影到像面上。
//其实就是两个相似三角形,做等比变换。
相机模型讲解(四个坐标系变换+张正友标定法)_第7张图片

三.图像坐标系到像素坐标系

//用过Halcon的朋友应该知道,采集到的图像,点击ctrl,在界面上显示的坐标是以左上角为原点的。该坐标就是像素坐标。
//上一步得到的图像坐标是以像面中心为原点的。
//图像坐标系下的坐标单位是(M),像素坐标系下的单位是(pixel)
相机模型讲解(四个坐标系变换+张正友标定法)_第8张图片
//根据不同的相机,图像坐标转换到像素坐标在像方宽、高有不同的尺寸比。这里以dx,dy为例。同时由于原点的变换要有一个平移过程。
相机模型讲解(四个坐标系变换+张正友标定法)_第9张图片
相机模型讲解(四个坐标系变换+张正友标定法)_第10张图片
//M即为内参矩阵,
相机模型讲解(四个坐标系变换+张正友标定法)_第11张图片
//外参矩阵
相机模型讲解(四个坐标系变换+张正友标定法)_第12张图片
//矩阵中的uo,vo就是像面的主点坐标。
//在这里解释一下,为什么像素坐标与相机坐标都采用投影坐标。在使用齐次坐标时,一个向量将等于它自身乘上任
意的非零常数。这通常用于表达一个投影关系。

//此处引入归一化平面的概念。将物点 P 投影到相机前 P点Z坐标为1的位置,变成归一化坐标。
在这里插入图片描述
//归一化坐标左乘内参矩阵,就得到像素坐标。但丢失了物点的深度信息,所以单目视觉无法得到像素点的深度。

四.求解单应性矩阵

1.单应性矩阵–H
//单应性矩阵描述了两个平面之间的映射关系。若场景中的特征点都落在同一平面上,则可以通过单应性矩阵来进行运动估计。
//p2,p1分别是两张图像上的匹配的特征点
在这里插入图片描述
相机模型讲解(四个坐标系变换+张正友标定法)_第13张图片
//通过以上矩阵可求得两个约束方程
相机模型讲解(四个坐标系变换+张正友标定法)_第14张图片
相机模型讲解(四个坐标系变换+张正友标定法)_第15张图片
//单应性矩阵 H(33),单应性矩阵有相机的内外参决定,由于相机内参确定,外参[R|T],R是正交矩阵,由于等式两端都是齐次矩阵,所以齐次矩阵与任意常数相乘本身不变的性质,可以从外参平移矩阵 T中减去一个自由度。(单目相机的尺度不确定性),所以单应矩阵H(33)有8个自由度。
//但一对匹配点,只能确定两个约束方程,所以需要至少4个匹配点求出单应矩阵H.

五.张正友标定法

//上文提到的特征点落在同一平面,是指物点世界坐标[X,Y,0,I],此时要保证我们的棋盘格标定板不要有突起,所有角点在同一平面上。H由内参和外参决定。[R|t]
相机模型讲解(四个坐标系变换+张正友标定法)_第16张图片
//K为相机内参
//因为相机的内参是确定的,所以想计算相机内参,再由相机内参计算相机外参。
//因为旋转矩阵是正交阵通过旋转矩阵的约束,列方程
在这里插入图片描述
在这里插入图片描述
相机模型讲解(四个坐标系变换+张正友标定法)_第17张图片
//可以看出B由相机内参组成,是一个对称阵,求解出B,即可求解出相机内参.B的自由度是6。
在这里插入图片描述
//由单应性矩阵元素组成的六维矩阵 v
在这里插入图片描述
//求解矩阵 Vb=0 (2*6)矩阵可以解出相机内参。
//
//上文所述,B由内参决定,且自由度为6,,每得到一张图像,Vb=0 提供两个方程。所以最少需要三张图像可以解出相机内参。图像采集越多,参数抗噪性越强(经验值15-18张即可)。

//接触相机内参后,通过内参可得相机外参
相机模型讲解(四个坐标系变换+张正友标定法)_第18张图片

//提别提示:在标定时,图像要出现在相机的边缘位置,因为边缘处相机畸变大,如果图像集中出现在相机视场中心,则在处理过程中,会受到畸变参数的影响。

//求取相机的畸变系数
在这里插入图片描述

//将相机内,外参以及畸变系数做最大似然估计,也就是重投影误差
在这里插入图片描述

//重投影误差:是将3D物点坐标根据求取的内外参,以及畸变系数投影到2D像面上,与2D像面上检测到的物体角点对比并不断优化,输出优化后的R,T,以及内外参。

SLAM十四讲相机模型的个人观点与总结

1.本质矩阵 E 与单应性矩阵 H

//大家应该都知道本质矩阵 E 是由外参R,t做外积确定的。
//基础矩阵 F 由内外参决定。
在这里插入图片描述
//SLAM十四讲中有提到,当相机发生纯旋转的时候,此时位移为0,无法通过8点法以及SVD分解出 R,T。此时应该用单应性矩阵分解相机的姿态 R,T。
//而单应性矩阵也由内外参矩阵确定
在这里插入图片描述
那为什么位移为0的时候可以用单应性矩阵求解呢?
//观看 本质矩阵和单应性矩阵的求解过程即可了解。
//先看本质矩阵E的求解过程
相机模型讲解(四个坐标系变换+张正友标定法)_第19张图片
//式(7.6)都是两个像素点与 t 外积,当位移为0,当t=0 此时无法求出对极约束方程。

//而单应性矩阵是由特征点共面这个约束直接求出,所以即使位移为0,也不会破坏约束关系
相机模型讲解(四个坐标系变换+张正友标定法)_第20张图片
//通过以上矩阵可求得两个约束方程
相机模型讲解(四个坐标系变换+张正友标定法)_第21张图片

2.相机运动与相机外参

//在十四讲中所表述的外参也就是待估的相机运动,即 R,T;
//1.相机内外参的定义是:把物体从世界坐标系移动到相机坐标系。
2. 相机移动:相机两次拍图的位姿关系。以相对运动的角度考虑,不是相机运动是物体运动,其实也就是将物体左乘旋转矩阵R,与位移矩阵T,最后移动到相机初始拍图的位置。

你可能感兴趣的:(计算机视觉,slam)