最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

相机标定实验报告

来源:动视网 责编:小OO 时间:2025-09-29 19:04:40
文档

相机标定实验报告

相机标定一、实验原理相机标定就是求解相机的内参数以及畸变参数的过程。相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁琐,自标定方法的精度不高,张正友标定算法克服了这两者的缺点同时又兼备二者的优点,因此对办公、家庭的场合使用的
推荐度:
导读相机标定一、实验原理相机标定就是求解相机的内参数以及畸变参数的过程。相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁琐,自标定方法的精度不高,张正友标定算法克服了这两者的缺点同时又兼备二者的优点,因此对办公、家庭的场合使用的
相机标定

一、实验原理

相机标定就是求解相机的内参数以及畸变参数的过程。

相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁琐,自标定方法的精度不高,张正友标定算法克服了这两者的缺点同时又兼备二者的优点,因此对办公、家庭的场合使用的桌面视觉系统(DVS)很适合。张正友标定方法由于简单、效果好而得到广泛使用。

张正友标定法的标定步骤:

1、打印一张模板并贴在一个平面上;

2、从不同角度拍摄若干张模板图像;

3、检测出图像中的特征点;

4、求出摄像机的外参数(单应性矩阵)和内参数(最大似然估计) ;

5、求出畸变系数;

6、优化求精。

张正友标定方法的主要思想是:

1、相机内参矩阵

其中,

q的坐标系是默认的OpenCV的像素坐标系,Q的坐标系是标定板坐标系,Z轴为0,原点在标定板的某个内角点上(标定板上角点的坐标均为[*,*,0]的形式),在OpenCV 3.0中使用的是([i∗Squres_Size,j∗Square_Size,0]的形式)。其中fx和fy表示相机x轴和y轴的焦距,s表示成像平面x轴和y轴的不正交性。

2、基础公式

对于不同位置的棋盘格到相机的成像,可以使用下面的公式进行表示:

其中,[R|t]表示棋盘格坐标系相对于相机坐标系的位姿。把矩阵R和写开,如下式所示:

进行化简得:

其中[u v 1]是已知量,[X Y 1]也是已知量,A和[r1 r2 t]是未知量。其中H=A[r1 r2 t]又叫做单应性矩阵,可以使用下面的3中所述的方法求解。

3、单应矩阵求解

这里使用的方法基于最大似然准则:假设提取的m存在均值为0,噪声协方差矩阵为的高斯白噪声。

则优化目标为

其中

其中是矩阵H的第i列,并且假设已知,求解上面的非线性优化问题可以使用LM算法。

初始值求解:

令,则可以重写为

对于n个点,对应n个方程,Lx=0,其中x是1×9的,L是2n×9的。x的解对应于L的最小奇异值的右奇异向量。

4、求解相机内参

利用约束条件求解内参矩阵A:

在公式中,由于r1和r2是单位向量且是正交的,所以存在下面的关系:

上面的公式写成方程组的形式如下所示:

上面的等式是一个最小二乘问题,可以使用SVD求解.由于A有5个参数:α,β,u0,v0,γ一个单应性矩阵对应两个约束,所以求解A需要3个单应性矩阵,也就是最小需要3幅图像(超定方程)。当然,也可以使用两个单应性矩阵,此时需要令γ=0。算出了b之后,可以用下面的公式求A。

5、求解相机外参

在上面求解了相机的内参之后,可以求出棋盘格的位姿,公式如下:

在OpenCV中,上面的公式是用来求解优化参数的初始值的,最终的结果是使用优化的方法得到的。

由于存在误差,还是需要迭代求解以提高精度(问题描述如下):

给定棋盘格的n个图像和m个角点,并假设图像点被同分布的噪声影响。

似然函数如下所示:

其中旋转矩阵R用向量r表示(罗巨格公式)。

6、相机的畸变参数求解

记(u,v)为理想的像素坐标,为实际观测得到的像素坐标(受到畸变)。同样的,有归一化的相机坐标系(x,y)和。

对于径向畸变:

用像素坐标表示则为:

写成如下形式:

给定n个图像中的m个点,可以得到2mn个方程,记为Dk=d。

最小二乘方法求解:

如果求解了畸变参数k1和k2,则可以求解出没有畸变的坐标,从而使用上面的方法求解位姿和内参。(畸变参数k1和k2初始化可以简单的设为0。)

OpenCV的模型还包括了切向畸变,并且镜像畸变有三项。因此,OpenCV中一共有五个参数[k1,k2,p1,p2,k3]。

7、OpenCV的标定步骤

1、初始化参数求解;

a、求解单应性矩阵;

b、根据理论的第4步求解相机内参的初始值;

c、根据理论的第5步求解相机外参的初始值;

d、畸变参数设置为0。

2、迭代求解总体最小二乘问题,也就是上面6所示的最小二乘问题。

二、实验结果

此处只显示一张图片为例,下图为原图片、校正后的图片以及标定的图片:

运行结果如下:

每幅图像的标定误差:

第1幅图像的平均误差:0.06591像素

第2幅图像的平均误差:0.0092像素

第3幅图像的平均误差:0.0626566像素

第4幅图像的平均误差:0.06671像素

第5幅图像的平均误差:0.0679925像素

第6幅图像的平均误差:0.0671491像素

第7幅图像的平均误差:0.0658722像素

第8幅图像的平均误差:0.0622518像素

第9幅图像的平均误差:0.0598439像素

第10幅图像的平均误差:0.0597705像素

总体平均误差:0.02303像素

相机内参数矩阵:

[47.519111875004, 0, 936.39656915516;

 0, 4672.655609872659, 397.31398815363;

 0, 0, 1]

畸变系数:

[-0.03490484218080629, -3.960345879900159, -0.01107630076788155, -0.006547187271713956, -2.224948187478699]

第1幅图像的旋转向量:

[-20.75017314309292;

 -4.484167435853328;

 556.6954023094822]

第1幅图像的旋转矩阵:

[-0.50573611183153, 0.861284872044086, -0.04918693299514142;

 -0.8603807668570445, -0.50773020246805, -0.044214420904408;

 -0.06305490632734467, 0.0199586618146247, 0.9978104682787302]

第1幅图像的平移向量:

[-0.1470392111668472;

 -3.1392326018378;

 -0.04121913110947828]

第2幅图像的旋转向量:

[-20.73617167770193;

 -4.481114007558208;

 556.71225514971]

第2幅图像的旋转矩阵:

[-0.5470912939554095, 0.8355236059055473, -0.050905992307265;

 -0.83459576731794, -0.5491378079309527, -0.04356114180955369;

 -0.035076730824343, 0.01865400427200083, 0.997752978883782]

第2幅图像的平移向量:

[-0.1465234029496155;

 -3.138856852621159;

 -0.04222551390139223]

第3幅图像的旋转向量:

[-20.74887860969298;

 -4.474639433402478;

 556.8082716236654]

第3幅图像的旋转矩阵:

[-0.4058075595012663, 0.9128475849885876, -0.04505009691587029;

 -0.9120056682526959, -0.4076687585652097, -0.0452972887141638;

 -0.05971503769219046, 0.02270396155748794, 0.9979572357586353]

第3幅图像的平移向量:

[-0.1468173977857457;

 -3.141123377435706;

 -0.0427073517501458]

第4幅图像的旋转向量:

[-20.720696849341;

 -4.474060436294295;

 556.599996980735]

第4幅图像的旋转矩阵:

[-0.586107880750257, 0.8085261998110076, -0.052563087097773;

 -0.80757674537692, -0.5882046127985406, -0.04283846179514141;

 -0.06555419474676973, 0.01734121396239316, 0.9976983160502044]

第4幅图像的平移向量:

[-0.14490252377377;

 -3.139753690830796;

 -0.04300810501325393]

第5幅图像的旋转向量:

[-20.731723909561;

 -4.473657404249217;

 556.6579056082325]

第5幅图像的旋转矩阵:

[-0.5382579978592557, 0.84120341775744, -0.05052872984568273;

 -0.8403432612158349, -0.5402921650675931, -0.04367584796781208;

 -0.004319690396747, 0.015260314165515, 0.9977671410526976]

第5幅图像的平移向量:

[-0.14657031235403;

 -3.1397552162065;

 -0.04362990844397591]

第6幅图像的旋转向量:

[-20.7513187837344;

 -4.482799122681538;

 556.9558619067801]

第6幅图像的旋转矩阵:

[-0.267245543110148, 0.9628199441867522, -0.03946612172460388;

 -0.9620599398746359, -0.262252052732, -0.04605811522635869;

 -0.05495900086586333, 0.02565994867515947, 0.9981588426988031]

第6幅图像的平移向量:

[-0.1467338112280252;

 -3.1412942203932;

 -0.040839802478675]

第7幅图像的旋转向量:

[-20.73750187032778;

 -4.469918511835682;

 556.72653946618]

第7幅图像的旋转矩阵:

[-0.4792442979678552, 0.87635053830694, -0.048008815306319;

 -0.8754797685693511, -0.48120124695038, -0.04450319942605047;

 -0.06212952350576181, 0.020751232207965, 0.9978523481311549]

第7幅图像的平移向量:

[-0.1465803780311733;

 -3.1403884075776;

 -0.04302370816301927]

第8幅图像的旋转向量:

[-20.74115348429;

 -4.480154696601399;

 556.9693059185084]

第8幅图像的旋转矩阵:

[-0.2546881115151184, 0.9662384528437538, -0.035148391232243;

 -0.9654868280971227, -0.256346781499902, -0.04605987826296011;

 -0.054491304654329, 0.02587624124077471, 0.99817766947758]

第8幅图像的平移向量:

[-0.146685554929184;

 -3.142630538083987;

 -0.04166887155581439]

第9幅图像的旋转向量:

[-20.68322524374374;

 -4.784019805522751;

 556.8437555183575]

第9幅图像的旋转矩阵:

[-0.373119263002548, 0.9267845161120396, -0.04304040277934512;

 -0.9259082203247999, -0.37491220766591, -0.04620394007003018;

 -0.055746866510918, 0.02261188267274245, 0.9980043685528623]

第9幅图像的平移向量:

[-0.1456536357808763;

 -3.141097817861718;

 -0.042516085240466]

第10幅图像的旋转向量:

[-20.67032218655698;

 -4.788707379609274;

 556.7951650623063]

第10幅图像的旋转矩阵:

[-0.418009397122598, 0.9073354787707457, -0.04483829703572415;

 -0.9030055574474, -0.41985863414247, -0.0458615491116337;

 -0.06043755677108479, 0.02147222157869379, 0.9979410029818]

第10幅图像的平移向量:

[-0.1457976684119461;

 -3.13962052373;

 -0.0355537567755]

三、感想

通过对本次实验的完成,我对相机标定的研究有了直观的认识,这个过程充分锻炼了我分析问题的能力,对理论知识的学习能力以及编程解决实际问题的能力。我也学会了如何找出自己设计中的不足,继而去排除解决问题,这就是一个自我学习的过程。当我通过实验去学习理论知识时,自己动手得出的结论,不仅能加深我对相机标定的理解,更能加深我对此的记忆。

文档

相机标定实验报告

相机标定一、实验原理相机标定就是求解相机的内参数以及畸变参数的过程。相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁琐,自标定方法的精度不高,张正友标定算法克服了这两者的缺点同时又兼备二者的优点,因此对办公、家庭的场合使用的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top