相机数学建模.docx
《相机数学建模.docx》由会员分享,可在线阅读,更多相关《相机数学建模.docx(11页珍藏版)》请在冰豆网上搜索。
相机数学建模
摘要
本论文我们首先对摄像机的成像原理进行了研究和探讨,进一步由已知的五个坐标点对投影坐标定性分析。
在不考虑镜头畸变的情况下。
先通过通过matlab编程对靶标所给图像进行中值滤波、二值化、边缘提取的操作,计算出了靶标像图中圆心的像坐标。
而本论文最关键的一步是摄像机的标定问题。
通常先采用单摄像机的标定方法,分别得到两个摄像机的内、外参数;再通过同一世界坐标中的一组定标点来建立两个摄像机之间的位置关系。
对模型进行精度与稳定性检验时,利用基于直角三点的相机外部参数确定方法,通过使用不同的满足成直角关系的三个特征点对模型中的未使用的两个特征点的世界坐标与像坐标进行正反演计算,通过相对偏差来衡量模型的精度。
通过在不同世界坐标系下同一特征点的正反演计算误差的波动大小来衡量模型的稳定性。
关键词:
中值滤波边缘提取摄像机标定内外参数
1问题重述
标定的一种做法是:
在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。
然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。
实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。
而它们的像一般会变形,如图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
图1靶标上圆的像
有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。
以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示。
图2靶标示意图
用一位置固定的数码相机摄得其像,如图3所示。
图3靶标的像
请你们:
(1)建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标,这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面;
(2)对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标,该相机的像距(即光学中心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×768;
(3)设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;
(4)建立用此靶标给出两部固定相机相对位置的数学模型和方法。
而本题的关键是解决靶标上圆的圆心在该相机像平面的像坐标;和解决两部固定相机相对位置的数学模型。
2问题的分析:
(1)建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标;
(2)对建立的模型的精确度和稳定性进行检验;
(3)用靶标确定出两部固定相机相对位置;
3模型假设
(1)不考虑镜头畸变的情况;
(2)环境对相机的内部参数影响忽略;
(3)相机出场参数与实际参数一致;
4符号说明
f
摄像机的焦距
R
像机坐标系与世界坐标系的矩阵
t
像机坐标系与世界坐标系的矩阵
N
摄像机的内部参数
H
摄像机的外部参数
X方向的焦距
Y方向的焦距
5模型建立
在一般情况下有
,可知
,视点为o,空间某点
在摄像机坐标为(X,Y,Z),它在摄像机成像平面上的投影点为p(x,y),它们的透视投影关系为:
用齐次坐标表示为
设图像的像素坐标是(u,v),则图像点的像素坐标与以毫米为单位的图像坐标的关系为:
其中Sx,Sy为图像平面单位距离上的像素3.78/mm,成为比例系数,即前面谈到过的kx,ky,(u0,v0)为摄像机光轴与图像平面的交点,即计算机帧存图像中心的坐标。
摄像机坐标与世界坐标的转换关系为:
其中,R和T分别为从世界坐标系到摄像机坐标系的旋转和平移变换,R是一个3
3的正交矩阵,T是3
1的平移向量。
于是,我们得到以世界坐标系表示的P点坐标(Xw,Yw,Zw),其投影点P的坐标(u,v)的关系如下:
其中,
已知相机的相距是1577个像素单位,且2毫米约为3.78个像素单位,由
可知f=1577/3.78mm;根据假设1,像素为正方形,则图像坐标中的像素在成像平面坐标系中的物理尺寸表示dx=dy=1/3.78mm.将f、dx、dy的值代入公式,得到
=1577.
的取值方法为分辨率一半
=512,
=384.可以确定内部部参数M1.
Matlab求解程序
>>BW=imread('C:
\Users\fff\Desktop\图片3.jpg');imshow(BW)
1.求解外部参数M2
数码相机外部参数直角三点标定法
该方法是利用三个成直角关系的特征点来实现外参数标定的方法。
依据原理是射影对应定理:
如果已知两个点列间的任意三对对应关系,那么可以确定唯一一个射影对应。
选取成直角关系的三点为特征点,并用这三点形成世界坐标系,直角顶点为原点,三点的
世界坐标值分别为A(0,0,0)、B(Wb,0,0)、E(0,Ye,0)。
设a、b、c是A、B、C三点在图像坐标系中的像,对应的像坐标值为:
a(Xa0,Ya0),b(Xb0,Yb0),E(Xc0,Ye0)。
根据针孔成像规律,b、c两点在其成像的光线上移动b1z和c1z到1b、1c两点使Δabc和ΔABC平行且相似,则b1、c1在图像坐标系中的坐标为:
(8)
ab和ac是直角三角形的两条直角边,由相互垂直的两条直线的方向向量的关系可得:
(9)
(10)
用坐标表示:
(11)
将(8)分别代入(9)和(11),联立方程得到关于b1z和c1z的方程组,求解方程组,排除解中的
复数解以及不合适解,便可求得合适的解。
根据三角形相似,可以得到A、B、C三点在相机坐标系中的坐标值,分别为:
(12)
其中k为相似三角形的相似比,cAcAcAx,y,z分别是相机外部参数中的tx,ty,tz。
由数码相机成像模型可知世界坐标系和相机坐标系间的坐标转换关系如下:
(13)
其中:
(14)
经过上面的计算,我们可以知道相机外参数的平移向量t及B、C两点在相机坐标系中的
坐标值,将它们代入式(13),可得到:
(15)
由于R是正交矩阵,可得以下方程约束:
(16)
求解方程组(16),得到关于相机外部参数的几组解,进而可通过验证选取相机正确的外部参数。
根据
世界坐标
实测像坐标
计算像坐标
X
Y
Z
u
v
u
v
A
0
0
0
322
189
B
30
0
0
421
196
C
0
100
0
639
211
D
100
0
0
283
501
E
0
100
0
582
502
6模型的求解和结果分析
由上述模型可得:
Matlab求解参数R程序:
[417.2,0,135.5,0
0,417.2,101.6,0
0,0,1,0]*[1.038796,0.1005864,-0.287193,33.222
0.3182,0.5619296,-0.0061728,20.428
0.313495,0.033774,0.95787,19.5
0,0,0,1]*[30
0
0
1]*3.78/10000
7模型的推广和改进
模型的优点
1.首先利用了Matlab程序求解,然后通过中值滤波,边缘提取在从图像上提取靶标特征点的像坐标时确定了靶标各特征点的像坐标。
操作简便,误差相对较小。
2.对相机外部参数矩阵H的计算时,使用的标定方法为直角三角形标定法;该方法确定了直角三角形的坐标而确定外部参数。
我们通过世界坐标任意的构成三角点,从而确定了各个点的不同坐标,最后求取平均值,这样提高了模型的精确度。
模型的推广
这样的模型可用于很多实际应用中,像赛车中的摄像头探定前方的路面情况,然后通过传感器传回;从而可以更好的提高车的整体性能;还有我国现行机器人的一些应用。
8参考文献
[1]《数学建模》章绍辉科学出版社;
[2]《双目视觉立体测量研究》李小平视觉三维测量图原理11页;
[3]《机器人采摘番茄中的双目定位技术研究》王沈辉摄像机的标定第六页;