密级:
NANCHANG UNIVERSITY
学 士 学 位 论 文
THESIS OF BACHELOR
(2013 —2017 年)
题 目 双目视觉相机标定与立体匹配算法研究
学 院: 信息工程学院 系 电子系 专业班级: 卓越通信131班 学生姓名: 蒋杨婷 学号: 16
指导教师: 陈其纶 职称: 讲师 起讫日期:
双目视觉相机标定与立体匹配算法研究
专 业: 通信工程 学 号:16 学生姓名: 蒋杨婷 指导教师:陈其纶
摘要
本文基于双目视觉图像传输系统重点研究了摄像机标定与立体匹配两个模块。在摄像机标定中,重点阐述了三大坐标系、两种摄像机模型以及张正友平面标定法,基于Matlab实现了立体标定过程并对实验结果进行了分析;在立体标定中,重点阐述了基于全局误差能量最小化立体匹配算法和基于线性生长立体匹配算法的原理,基于Matlab仿真了立体匹配算法的实现过程,并就可靠度与计算量两个指标对两种匹配算法进行了比较分析。
关键词: 双目视觉,摄像机标定,立体匹配,张正友平面标定,摄像机坐标系
三维重建,模板匹配
Binocular vision image transmission system
design
Abstract
Based on the binocular visual image transmission system, this paper focuses on the camera calibration and stereo matching .In the camera calibration, this study was expounded the three coordinates, the two kinds of camera models and ilf plane calibration method, camera calibration was implemented based on Matlab and the experiment results are analyzed; In stereo calibration, this study was expounded the principle of stereo matching algorithm based the global error energy minimization and stereo matching algorithm based on linear growth, and the implementation process of the stereo matching algorithm based on Matlab, and the reliability and the amount of calculation of two indicators of the two matching algorithms are analyzed in comparison.
Keyword: Binocular vision, camera calibration, stereo matching, ilf plane
calibration, the camera coordinate system of 3 d reconstruction, template matching
目录
摘要............................................ 错误!未定义书签。 Abstract........................................ 错误!未定义书签。 第一章 绪论..................................... 错误!未定义书签。 背景及研究意义.................................. 错误!未定义书签。 国内外研究现状.................................. 错误!未定义书签。 论文的主要工作.................................. 错误!未定义书签。 论文的组织结构.................................. 错误!未定义书签。 第二章 双目视觉系统............................. 错误!未定义书签。 双目立体视觉系统简介............................ 错误!未定义书签。 双目立体视觉系统应用............................ 错误!未定义书签。 摄像机立体标定.................................. 错误!未定义书签。 像平面坐标系、摄像机坐标系和世界坐标系.......... 错误!未定义书签。 摄像机模型...................................... 错误!未定义书签。 张正友标定平面标定.............................. 错误!未定义书签。 立体匹配........................................ 错误!未定义书签。 基于全局误差能量最小化的区域匹配算法............ 错误!未定义书签。 基于线性生长区域立体匹配算法.................... 错误!未定义书签。 从差距图生成深度图.............................. 错误!未定义书签。 本章小结........................................ 错误!未定义书签。 第三章 立体标定与匹配........................... 错误!未定义书签。 双目摄像机标定的实现............................ 错误!未定义书签。 左右两摄像机单目标定............................ 错误!未定义书签。 双目立体视觉标定................................ 错误!未定义书签。 实验结果分析.................................... 错误!未定义书签。
立体匹配仿真结果................................ 错误!未定义书签。 基于全局误差能量最小化区域匹配算法.............. 错误!未定义书签。 基于线性生长区域匹配算法........................ 错误!未定义书签。 不同匹配算法差异分析............................ 错误!未定义书签。 本章小结........................................ 错误!未定义书签。 第四章 总结与展望............................... 错误!未定义书签。 总结............................................ 错误!未定义书签。 展望............................................ 错误!未定义书签。 参考文献........................................ 错误!未定义书签。 致谢............................................ 错误!未定义书签。
第一章 绪论
研究背景与意义
随着图像处理,人工智能,计算机科学等相关学科的发展,计算机视觉的研究也得到了深入的发展[1]。双目视觉系统技术作为计算机视觉最重要的一个分支,在军事、医学、工业等领域都有着极其重要的作用,例如3D电影,谷歌视觉眼镜、无人驾驶以及虚拟现实网上购物等技术为我们的生产生活提供了新的技术和工具,不断改变着我们的生活。因此双目视觉的研究发展对各个领域科技创新发展具有重要的价值。
双目视觉系统的设计原理源自于人类的视觉感知系统,模拟人眼获取视觉范围内的物体信息。客观世界真实存在是3D的,但人眼或者摄像机获取的图像是显示场景中物体的2D信息,人类视觉系统能够通过大脑神经网络分析出空间中的物体3D信息。因此双目视觉系统最终目标是利用计算机图像处理,模式识别,人工智能等技术,对摄像机得到的图像或者图像序列进行处理,进而恢复图像中的3D信息,形成具有立体感的图像。
双目视觉系统[2]中摄像机标定的目的是求解出摄像机内外参数;立体匹配过程利用求解出的参数采用特定的算法获取图像的深度信息,还原图像的立体感。因此,双目视觉系统中的利用2D图像获取3D信息过程中,摄像机标定与立体匹配具有极其重要的地位。标定的精确度与立体匹配算法的可靠度直接影响获取深度信息的准确性,后续三维重建优劣以及最终实验结果的整体效果。
国内外研究现状
1、国内研究现状
浙江大学完全利用透视成像原理并结合双目视觉技术设计出了机械系统。该系统可动态精准检测多自由度装置的位姿,仅需提取左右两幅图像必要的特征点,具有信息量少,速度快,无运动影响,精度高的特点[3];东南大学电子工程系提出了一种新双目视觉立体匹配算法。该算法基于灰度相关多峰值极小化,可
非接触精密测量三维不规则物体(偏转线圈)的空间坐标; 哈工大采用异构双目活动视觉系统实现了全自主足球机器人导航
。该系统包括一个固定在机器人顶部的摄像机和一个安装在机器人中下部可以水平旋转的摄像机,可以实现全自主足球机器人导航[5];火星863计划课题“人体三维尺寸的非接触测量”,采用“双视点投影光栅三维测量”原理,通过对双摄像机获取的左右图像进行图像处理,获取人体图像上任意一点的三维坐标,从而计算出服装设计所需的人体特征尺寸[6]。
2、国外研究现状
日本冈山大学研制了视觉反馈系统,该系统使用立体显微镜和双目摄像机控制微操作器对细胞进行操作,进行基因注射和微装配等微操作[7];麻省理工学院计算机系统提出了一种新的传感器融合方式,并将其运用于智能交通上,该方法采用雷达系统和双目立体视觉得到目标深度信息,再结合改进的图像分割算法,能够在高速环境下对视频图像中的目标位置进行分割[8];华盛顿大学与微软公司合作研制了宽基线立体视觉系统[9]。
[4]
论文的主要工作
本文重点围绕双目立体视觉系统技术进行探究,其中重点阐述摄像机标定与立体匹配两个重要模块。本文通过摄像机的线性模型与非线性模型探讨出了摄像机内外参数的理论求解公式,叙述了张正友平面标定法[10] 基本原理,提出了基于全局误差能量最小立体匹配算法[11]和基于线性生长立体匹配算法[12]两种匹配算法。并且均基于Matlab进行实验,对实验结果进行了探究,对两种算法进行了利弊分析。
论文的组织结构
第一章:绪论。主要阐述双目视觉系统的研究背景与意义以及国内外研究发展现状。
第二章:双目视觉系统。简单介绍双目视觉系统及其应用,重点探究了摄像
机标定与立体匹配两个模块的理论知识。
第三章:立体标定与匹配。基于Matlab叙述立体标定和匹配的仿真过程,并对实验结果进行分析。
第四章:总结与展望。对论文内容进行总结,对今后工作进行展望。
第二章 双目视觉系统
双目立体视觉系统简介
立体视觉系统设计原理仿照人类双眼工作原理:两台平行的摄像机模拟双眼;计算机图像处理相当于人脑神经系统。双眼所形成的图像信息是具有差异性的,这种图像信息的差异性通过大脑神经系统进行分析匹配,得到图像的深度信息[13]。随着人们生产生活与科技的发展,利用立体视觉的原理设计出了双目视觉系统,让计算机分析得出2D图像中的立体信息,即获取图像的深度信息。
如图2-1是双目平行摄像机成像示意图,点Ol和点Or分别是左右摄像机的成像焦点,即左右摄像机坐标系的原点;空间任意点p(XW,YW,ZW)投影在左右两图像上的点是pl(xl,yl)和pr(xr,yr),立体匹配算法找出p(XW,YW,ZW)与点
pl(xl,yl)和pr(xr,yr)之间的关系。
图2-2 双目平行摄像机成像示意图
由投影原理的性质,有:
xrxlbZWfXWylYWyl (2-1) bZWXWYW则
XWxlbybbf,YWl,ZW (2-2) xlxrxlxrxlxr其中,f为左右摄像机的焦距,T表示为两平行双目摄像机的距离。在这里,点p(XW,YW,ZW)以Ol为坐标中心,左摄像头成像坐标系为坐标系;由(2-2)式表示的是左右两图像的投影点与空间中点之间的关系。
双目立体视觉系统应用
一个完整的双目立体视觉系统通常可划分为以下五个模块[14]:
(1)获取图像 模拟双目的方式,两台平行的摄像机对同一场景进行拍摄,
从而获取左右眼图像。
(2)摄像机标定 通过选取图像特征点,建立摄像机的几何成像模型,得
出摄像机内外参数。
(3)立体匹配,通过左右两图像的视觉差获取图像深度图,为三维重建提
供立体模型。
信息。
本文研究重点在立体标定与立体匹配。
(4)三维重建 通过图像的立体模型,恢复图像的立体感,获取场景立体
摄像机立体标定
双目视觉系统最终目标是获取图像场景的立体信息。由摄像机投影原理我们可知,摄像机拍摄到的图像与图像场景的立体信息存在某种关系。这某种关系与摄像机的内外参数有关,求解这些参数的过程即是摄像机标定。因此,摄像机标定在双目视觉系统中具有重要的地位:标定结果的精度直接影响到后续工作的可
靠度。以下我们对摄像机标定相关理论知识进行探究。
像平面坐标系、摄像机坐标系和世界坐标系
由图形学知识我们可知,摄像机采集的图像在计算机内表示为mn数组:
m,n表示图像中像素的行数与列数;数组值表示各个像素点的亮度值。如图(2-2),定义直角坐标系u,o,v为图像坐标系,(u,v)表示某一像素点的图像坐标。
由于(u,v)只是表示某一像素的图像坐标,而不是数学意义上的点坐标,因此需要将以像素为单位的像平面坐标系转换成以毫米为单位的像平面坐标系。该坐标系可表示为x,O,y如图所示。
图2-2 图像坐标系与像平面坐标系
一般图像中心点表示为像平面坐标系中的原点O,而一般图像左上角点表示为图像坐标系中的原点o,任意点p在两种坐标系中的关系如下:
xuu0dx (2-3) yvv0dy(x,y)分别表示点p在图像坐标系与像平面坐标系中的坐标,其中,(u,v),
o(u0,v0),O(x0,y0)分别表示图像坐标系与像平面坐标系原点坐标;dx,dy分别表
示每一个像素在x与y方向上的物理尺寸,上式表示为齐次坐标与矩阵形式:
1dxuv01001dy0u0x (2-4) v0y11如图2-2双目视觉系统成像示意图可知,在摄像机坐标系中:摄像机光轴与图像平面的交点为原点,Xc,Yc与像平面坐标系x,y平行。三大坐标系如图2-3所示, XW,YW,ZW为世界坐标系,OW为世界坐标系原点; x,y为像平面坐标系,
O为像平面坐标系原点。Xc,Yc,Zc表示摄像机坐标系,Oc为摄像机光心即摄像机坐标系原点;OOc为摄像机焦距f。
图2-3 三大坐标系(像平面坐标系,摄像机坐标系,世界坐标系)
其中,世界坐标系与摄像机坐标系的关系表示为:
XcYcRTZc01XWXWYtYWM2W (2-5) ZW1ZW11T其中, R表示33正交单位旋转矩阵;t表示三维平移向量; 0000;
M2为44矩阵[15]。
摄像机模型
1、线性摄像机模型(针孔成像模型)
由图可知针孔成像模型中成像系统没有任何畸变,空间任何一点
P(XW,YW,ZW)在图像中的投影位置表示为p(x,y),p(x,y)是摄像机光心点O与
P点的连线OP在图像平面的交点。由投影比例关系有如下关系式(以左摄像机成像为例):
xyfXcZcfYcZc (2-6)
(XW,YW,ZW)为空间点P(x,y)为空间点P左摄像机成像点p坐标;其中,
的摄像机坐标表示形式。上述透视投影关系为:
xf0sy100f0XcXc00YYc00Pc (2-7)
ZcZc1011其中,s表示比例因子,P表示透视投影矩阵[16]。将公式(2-4),(2-5)
(XW,YW,ZW)px,y)代入上式得出空间中P与其投影点(的关系
10u0dxXWXWf000a0x0ux0YYRt100f00W0ayy00M2Wsvv0T01ZZ (2-8) dyWW10010001000111M1M2XWMXW其中,ax=ff,ay=分别称为x,y轴上归一化焦距;M为33投影矩阵;
dydxM1参数ax、ay、x0、y0决定,称为摄像机内部参数;M2称为摄像机外部参数。
摄像机标定过程即是确定某一摄像机的内外参数的过程。
由上式可得出求出某空间点P的空间坐标方程, 但是事实上,由于
M是34不可逆矩阵,即使已知摄像机的内外参数和图像点的位置(x,y)时,消去z只可得到关于XW,YW,ZW的两个线性方程,由这两个线性方程只能确定P点位于射线OP上。因此,只由线性模型无法确定空间点的位置坐标。
2、非线性模型
非线性模型在线性模型的基础上考虑到实际中的畸变。假设在实际成像过程中产生了畸变,新的成像点坐标为(x',y'),表示为[17]:
'xxx (2-9) 'yyy其中,x,y是非线性畸变值,与成像点在图像中的位置有关。理论上非线性畸变可分为径向畸变和切向畸变。但一般来讲切向畸变比较小,可忽略不计。因此,非线性畸变可用径向畸变的修正量表示,公式如下:
'24x(xx0)(k1rk2r... (2-10) '24y(yy0)(k1rk2r...其中,r2=(x'x0)2(y'y0)2;参数ax、ay、x0、y0与非线性畸变参数k1和k2统称为非线性摄像机模型的内部参数[18]。由此,摄像机非线性模型通过内部参数
可以得出空间任意一点的空间坐标。
张正友平面标定 算法数学原理
图2-4 张正友平面标定示意图
在这里假定模板平面中任意点坐标为(XW,YW,0),公式(2-8)可表示为:
XWuXWYM[rrrt]W[rrt]Ysv1123W (2-11) 012111其中, [r1r2平移向量;
r3]和t分别是摄像机坐标系相对于世界坐标系的旋转矩阵和
r1HH[h1h2r21h3]K[r1r2t]1K1h1 (2-12)
K1h2T 根据旋转矩阵的性质,即r1r20和r1r21,每幅图像对内参
数矩阵的基本约束:
h1KTK1h20h1KTK1h1h2KTK1h2
(2-13)
由上式可得摄像机有5个未知内参数,所以当图像对足够多时,就可以解线性方程求出唯一解K。
算法步骤如图
图2-5 算法流程图
首先,用双目摄像机从不同角度拍摄若干张图像对;然后进行图像特征点提取,并求出摄像机的内外参数和畸变系数,最后对标定后的参数进行优化求精[19]。至此,摄像机标定过程完成。
立体匹配
立体匹配作为双目视觉系统最重要也是最关键的一步,立体匹配的优劣直接影响到后面进行三维重建的好坏[20]。在现实场景中,同一时间不同视点拍摄出的图片受到光照,噪声等干扰因素的影响,会产生很大的不同,从而导致增加了获取高精度的匹配效果困难性。
本文研究内容是基于区域立体匹配算法,通过两种不同的算法思路实现,分别为:基于全局误差能量最小化和基于线性区域生长[21]。两种方式原理如下:
基于全局误差能量最小化的区域匹配算法
在此算法中,我们利用模板匹配技术来得到图像中每个像素点的误差能量值,图像中所有像素的误差能量值便构成一个误差能量矩阵。若双目摄像机获取的是彩色图像则为三维矩阵,若为灰度图像则为二维矩阵。本研究所采用图像为彩色图像,因此我们用分别用L(i,j,c),R(i,j,c)表示Matlab通过imread函数读取左右图像的RGB值,其中,c取值为{1,2,3}分别表示R,G,B维度的值。当模板取值大小为mn的窗口,误差能量值可下式求得:
1e(i,j,d)=3nm[L(x,yd,k)R(x,y,k)]xiyjk1injm32 (2-14)
其中,e(i,j,d)是由图像每个像素的误差能量值组成的误差能量矩阵;d表示视差值。首先预定一个视差搜索范围dmax,再将每个像素的误差能量值e(i,j,d)通过多次均值滤波器进行处理得到平均误差能量矩阵;均值滤波器可以消除像素点之间RGB差值骤变导致的匹配误差。并且通过均值滤波器还可以得到误差能量整体变化趋势。因此,该算法也可以称为全局匹配算法。用mn大小的窗口进行匹配时,平均误差能量矩阵可由下面公式表示:
1e(i,j,d)=nminjmxiyje(i,j,d) (2-15)
~对每个差值进行反复的均值滤波器后,我们可以选取e(i,j,d)中最小的误差2能量值作为像素点(i,j)误差值,因此d(i,j)这表示左右图像结果立体匹配后的图像视差矩阵。算法步骤如下:
步骤1:在视差搜索范围内计算得出误差能量矩阵。(图2-6)
步骤2:在视差搜索范围内对每一个视差矩阵进行多次平均滤波 (图2-7) 步骤3:在e(i,j,d)矩阵中为每一个(i,j)像素找到最小视差量,将最小视差每个像素处的视差值d(i,j)定义为视差图像。(图2-7)
~
图2-6 计算能量矩阵原理图
(a) (b)
图2-7 算深度图示意图 (a)通过均值滤波器(b)最小值搜索
基于线性生长区域立体匹配算法
基于线性生长的立体匹配算法分为两个部分:寻找基点发展区域和按照预定的规则进行区域生长。我们的规则是利用公式(1)点与临近点的误差能量值,当误差能量值大于我们预先设计的阈值时,则重新找基点;当小于预先设计的阈值时,则进行区域生长。事实上,更准确的说该算法叫做视差值生长。在实际运算中为减少运算量,我们限定生长方向为线性水平方向。算法步骤如下:
步骤1(根点选择):在图像中选取一个不属于任何生长区域的点并利用能量函数(式1)求取该点视差,将该点作为基点并作为区域视差初值d0,进行步骤2。若找不到任何一点比d0小则重复该步骤。
步骤2(区域生长):计算基点的紧邻点的视差值,如果等于或小于初值d0,则将该点定义为区域点。否则将其定义为闲置点
步骤3:重复步骤2对图像的所有点进行计算,直到图像中所有的点都被计算过,算法停止。所有的区域点组成的区域构成视差图d(i,j)。
图2-8 生长匹配算法示意图
从差距图生成深度图
左右两图像深度和视差关系可由立体投影示意图(2-9)表示,利用基本几何计算可以得出深度(Z)和差异(d)之间的关系如下:
Z(i,j)fT (2-16) d(i,j)图像中像素点(i,j)投影在物体表面的真实位置的空间立体坐标(X,Y,Z),按以下公式可用于计算后计算深度Z。
(Zf)Xif (2-17) Y(Zf)jf
图2-9 立体投影示意
为了获得更平滑的深度图,可在在计算深度(Z)之前使用55窗口大小的中值滤波过滤不可靠的视差(d)。
通过设置平均误差阈值来消除不可靠误差估计
我们通过视差图(Ed)的平均误差值来定义获得的视差图d的可靠度(Rd)。 它可以表示为如下公式:
(n,m)11Rd[Ed(i,j)]1 (2-18) Mean{Edne}Sd(i,j){Ed(i,j)ne}视差图(Ed)的误差值可以如下表示:
1Ed(i,j)3nm[L(x,yd(i,j),k)R(x,y,k)]xiyjk1injm32 (2-19)
视差图包含一些不可靠的差异估计在对象边界周围大部分是由于图像中的物体遮蔽。 这些可以通过观察Ed中的高误差值来删除不可靠的差异。 为了增加获得的视差图d(i,j)的可靠性,如(2-20)描述的简单的阈值机制,可以在得到
d(i,j)过程中过滤一些不可靠的差异估计。
d(i,j)d(i,j)neEd(i,j)Ed(i,j)neEd(i,j)VeEd(i,j)VeEd(i,j)VeEd(i,j)Ve (2-20)
通过过滤一些不可靠的差异,d(i,j)将比d(i,j)的误差能量估计更加精准。 在方程(2-20)中将差异设定为ne是指“无估计”状态在Rd计算中排除具有ne状态的Ed(i,j)值。方程(2-18)中Sd参数表示不是ne的误差值的点数。Ed是d(i,j)的误差值。Ve是用于决定视差估计的误差值是不可靠的。 为了自动确定Ve,我们使用以下公式:
VeMean(Ed) (2-21)
在等式(2-18)中,是容忍公差系数,用于调整滤波的可靠性。 减少导致d更可靠。然而,减少会由于消除了更多的差距点而削弱视差图。
本章小结
在本章中,首先,对双目立体视觉系统就行了简单介绍。其次,叙述了三大坐标系和两种摄像机模型,并推导出了双目视觉系统中的摄像机标定原理。最后,叙述基于全局误差能量最小化和基于线性生长两种区域匹配算法。总之,本章是对摄像机标定以及立体匹配过程进行了理论研究,下一章的实验打下基础。
第三章 立体标定与匹配
在本章实验中的摄像机标定与立体匹配过程中均基于Matlab进行实验仿真。摄像机标定原理是基于张正友棋盘标定发利用Matlab标定工具箱完成的,实验14张图片是采用双目摄像机从不同角度进行拍摄的,首先,摄像机内参数是固定不变的,因此在对内参数标定后,利用已知的内参数实现对摄像机外参数的标定,至此,摄像机标定过程完成。立体匹配利用Matlab对基于全局误差能量最小化立体匹配算法和基于线性生长立体匹配算法进行编程,对双目摄像机拍摄的左右图像进行立体匹配,进而求出空间中物体深度信息。
双目摄像机标定的实现
左右两摄像机单目标定
以下以实现左图像标定为例,步骤如下:
1、下载Matlab标定工具箱[22]加载到Matlab工作目录中,从middlebury[23]
网站下载标定图片,左右摄像机拍摄的图片分别为14张,大小均为1111, 100mm为边长的黑白棋盘格标图,如图3-1所示:
图3-1 1111,20mm为边长的棋盘格标定图像
2、运行calib_gui指令,按照工具箱的指令手动对每一幅靶标图像选定靶标区域,然后提取角点。鼠标点击设定棋盘格靶标的选定区域时,选取区域四边与棋盘格靶标的网格线重合,重合度决定角点提取结果的准确度,正确选取结果如图3-2所示,误选如图3-3所示:
图3-2 合适的靶标选定区域与角点提取结果,(a) 靶标选定区域,(b) 角点提取结
果
如(a)图所示标出了待提取角点的区域,图(b)标出了角点提取区域中提取出的角点。如图3-2中所示,图(a)中的角点与十字标记位置有所偏差,但在十字标记位置附近;图(b)中每个角点均在角点提取窗口区域。表示正确选取了靶标
区域。
图3-4 错误的靶标选定区域与角点提取结果,(a) 靶标选定区域,(b) 角点提取结
果
如图3-4(a)所示角点与十字标记位置存在明显偏差,甚至个别角点远离十字标记;图(b)中很多角点在角点提取区域窗口之外。说明错误选取了靶标区域,不符合实验要求。
3、 内参数标定
对每一幅靶标图像正确提取角点后,在标定工具箱操作面板点击“Calibration”键,完成摄像机的内参数标定以及标定优化:
其中, fc表示焦距;cc表示为光轴主点坐标,单位为像素[23];alpha_c是图像坐标系的y轴与摄像机坐标系Yc轴实际夹角,单位为弧度;angle of pixel axes为对应于图像坐标u、v的摄像机的x、y轴之间的夹角,默认值为90为畸变系数;err为误差的标准方差,单位为像素。
; kc
1)显示摄像机与标定靶标之间的关系,如图3-5所示:
图3-5 摄像机坐标系与靶标之间的关系 (a) 摄像机固定,(b) 靶标固定
图(a)为假设摄像机固定时摄像机与靶标之间的关系,图(b)为假设靶标固定时摄像机与靶标之间的关系。
2)所有角点反投影到图像空间的图像坐标误差,如图3-6所示:
Reprojection error (in pixel) - To exit: right button0.40.30.20.10y-0.1-0.2-0.3-0.4-0.5-0.6-0.4-0.2x00.20.4
图3-6 反投影到图像空间的角点图像坐标误差
图像坐标误差的标准方差为:
4、图像畸变校正
完成内参数标定后,在标定工具箱操作面板点击“Undistort image”键:对读入的所有靶标图像进行消畸处理,生成的消除畸变后的图像。原始图像和消
除畸变后的图像:
图3-8 原始图像和校正后图像,(a) 原始图像 (b) 消除畸变后的图像
5、外参数标定
完成摄像机的内参数标定后,点击“Comp. Extrinsic”键,进行靶标相对于摄像机的外参数标定,结果如下:
其中,Tc_ext表示位移向量,单位为mm;omc_ext表示旋转向量;Rc_ext表示旋转矩阵;
双目立体视觉标定
左摄像机内参数的标定结果保存为,右摄像机的标定结果保存为。 运行stereo_gui指令,进行双目立体标定程序,依次导入左、右摄像机的标定结果文件,实验结果如下[26]:
其中, om,T分别表示为左摄像机相对于右摄像机的姿态矩阵与位移向量
[24]
。
点击“Run stereo calibration”键,计算并输出左、右摄像机的内参数和优化后的内参数。输出结果:
点击“Show Extrinsics of stereo rig”键,实验结果如图3-9所示:
Extrinsic parameters100500-50-100-150-1001712385491114132106ZLeft CameraZXRight CameraXYY01002000100300400500200
图3-9 靶标相对于摄像机的位姿
该图显示是14张棋盘图相对于双目摄像机的位姿三维图。
实验结果分析
Matlab摄像机标定工具是基于张正友平面标定法原理设计的,张正友平面标定法的原理与流程在本文中的第二章有所叙述。此处,我们针对该算法以及实验结果进行分析:
张正友的平面标定方法比传统标定方法设备要求低,操作简单,又较自标定方法精度高,符合家用,办公用的桌面视觉系统(DVS)的标定要求。但是基于Matlab实现张正友标定法需要手动进行特征点标靶区域选取,手动选取的不确定性会给实验结果带来误差。
立体匹配仿真结果
采用高清双目摄像机拍摄一组左右图像,并分别用两种算法进行匹配,实验图片以及其对应的实物轮廓图片如图3-10所示
图3-10 彩色立体左右图像对以及实物轮廓图
图中上面一组图片显示是左右摄像机拍摄的左右彩色实物图像,下面一组图片显示的是左右实物图像中物体轮廓图
基于全局误差能量最小化区域匹配算法
我们分别取窗口大小为11,12,33的模板进行立体匹配,实验结果如下:
1、参数取值为[n1,m1;dmax40,f30,T20,1],其中nm表示窗口大小,dmax表示能量误差阈值,f表示摄像机焦距, T表示两摄像机距离,
表示容忍误差系数;窗口大小为11时模块匹配又称为点匹配,实验结果如下:
图3-11 模块为11视差图
图3-12 模块为11深度图
其中可靠视差图是全局视差图去除了“无估计”点(即误差值大于阈值的点)的视差图,比较两图可以发现,可靠视差图较比全局误差视图陡变区域更缓和;经过中值滤波后的视差图较平滑;误差能量可以大致显示出物体边缘轮廓;深度图显示的是左右两图像中空间物体的视觉差。
2、参数取值为[n1,m2;dmax40,f30,T20,1],窗口大小为12时模块匹配又称为行匹配,实验结果如下:
图3-12 模块为12视差图
图3-13 模块为12深度图
3)参数取值为[n3,m3;dmax40,f30,T20,1],实验结果如下:
图3-14 模块为33视差图
图3-15 模块为33深度图
基于线性生长区域匹配算法
1)参数分别为VLG20,dmax40,f30,T20,1时,其中,差阈值。实验结果如下
VLG表示误
图3-15 模块为VLG10视差图
图3-16 模块为VLG10深度图
点匹配状态图中,棕色代表闲置点,黄色代表基点,蓝色代表区域点。 2)仅改变阈值VLG40,其他参数不变,实验结果如下:
图3-17 模块为VLG20视差图
图3-18 模块为VLG20深度图
3)仅改变 VLG60,其他参数不变,实验结果如下:
图3-19 模块为VLG60视差图
图3-20 模块为VLG60深度图
不同匹配算法差异分析
1、基于全局误差能量最小化区域匹配算法
本实验采取窗口大小为11,22,33,55,77进行匹配,实验结果如3-21所示
图3-21 (a)窗口大小与可靠度关系图 (b)滤波前后可靠度关系图
(c)窗口大小与计算量关系图
图3-21 (a)(b)分别表示的实验采取5种窗口大小时可靠度与计算量大小的柱形图 (c)滤波前后可靠度大小的柱形图。实验结果表明:1)当匹配窗口较小时基于全局误差能量最小化算法的可靠度较大、计算量较小;2)滤波可使得算法的可靠度大大的提高算法的可考率。
2、基于线性生长区域匹配算法
图3-22 (a)误差阈值与可靠度关系图 (b)滤波前后可靠度对比图
(c)误差阈值与计算量关系图
图3-22(a)(b)分别表示的实验改变阈值值时算法可靠度与计算量大小的柱形图 (c)滤波前后可靠度大小的柱形图。实验结果表明:1)在误差阈值较小时,算法的可靠度随着误差阈值的增大而增加;误差阈值较大时,阈值越大时可靠度不再变化趋于一定值;2)整体来说,算法的计算量随着误差阈值的增大而减小;3)滤波能够大大增大算法的可靠度
3、两种算法比较
图3-23 (a)两算法可靠度比较图 (b)两算法计算量对比图
图3-23(a)(b)分别表示滤波前后两种算法可靠度和计算量大小的柱形图。实验结果表明:两种算法基于全局误差能量最小化算法的算法可靠度比基于线性生长区域算法要高,但是计算量也高。
本章小结
本章分别对摄像机标定和立体匹配的实现过程做了详解叙述,得出了实验结果,并对实验结果进行了分析。
第四章 总结与展望
近年来,计算机视觉技术发展迅速,研究领域逐渐从2D向3D转换。双目视觉作为计算机视觉中的一个重要分支[28],为该转化提供了理论基础。其中摄像机标定与立体匹配技术是双目视觉系统最为重要的环节,研究其实现方式及匹配效率与精度等问题对双目视觉系统的发展有着极其重要的意义。
本文在搭建双目视觉系统采集模块完成的基础上,对双目视觉系统三大坐标、摄像机两种模型和立体匹配两种区域算法进行了理论研究,并基于Matlab对摄像机标定与立体匹配算法进行软件仿真。
本文通过对两种匹配算法进行分析后得出结论:基于全局最小化匹配算法在可靠度和计算量上均优于基于线性生长立体匹配算法;两种算法通过滤波均能够大大增加算法的可靠度。
总结
本文主要研究内容是双目视觉系统中的摄像机标定与立体匹配两大模块,完成以下内容:
1、简要叙述了双目立体视觉系统的研究背景和意义以及国内外发展现状。文章重点叙述了双目立体视觉系统中的摄像机标定和立体匹配两大模块,包括理论知识以及实验过程。
2、利用middlebury网站提供的标图基于Matlab对摄像机进行标定,再利用实验采集的图片进行立体匹配,为双目视觉系统的三维重建建立基础。
3、在摄像机标定过程中,我们详细阐述了世界坐标系,像平面坐标系以及摄像机三大坐标系、线性与非线性摄像机两种模型以及张正友平面标定原理与步骤。
4、在立体匹配过程中,首先详细阐述了基于全局误差能量最小化匹配与基于线性生长立体匹配算法的基本原理,并基于Matlab实现了算法,得出了试验结果。
5、通过综合分析得出不同匹配算法在可靠率、计算量以及均值滤波效果的结论:基于全局误差能量最小化匹配算法的可靠率明显高于基于线性生长立体匹配算法;基于全局误差能量最小化匹配算法的模板窗口较小可靠率较大,计算量较小;基于线性生长立体匹配算法误差阈值越大可靠度越大,计算量越小;算法结果进行均值滤波会大大增加算法的可靠率。
展望
在计算机视觉领域中,双目视觉技术的研究的热度一直居高不退的,至今为止双目视觉系统有着越来越重要的地位,也逐渐运用于我们生产生活中的各个领域。本文研究内容主要在双目视觉系统中的摄像机标定与立体匹配这两个模块,但是由于时间仓促导致本毕业设计存在着一定的不足,我将在今后继续关注这个领域的研究与发展,我将从以下几个方面对双目视觉技术的研究继续充实:
1、在摄像机标定中,采用了工具箱中的模板网格图,应该自己制作高清的网格模板图片集进行实验仿真。
2、在立体匹配算法研究中,匹配算法基础简单,可以尝试在现有的算法基础上进行算法改进与优化,提高算法的精度和效率;
3、本文中摄像机标定与匹配算法均依赖于Matlab实现的,对底层实现研究较少,可以尝试通过研究底层实现获得更多的知识支持,对双目视觉系统进行更深入的探究;
4、在本实验中后续工作可以增加采集的图片对,因为图像采集的光线和角度会影响实验结果。若光线较暗淡或图像与摄像头距离较近时会降低算法精度,因此可以增加实验原料,再就光线角度等指标进行筛选,提高算法精度。
5、本设计采集的图片由于资源限制的问题,采集的图片中物体特征量少,图片色彩单一,导致匹配算法效果不明显。
6、可以采取图片增强技术对原始图片进行图像预处理。
参考文献
[1] 赵笑可. 基于全局能量最小化的立体匹配算法研究[D]. 南京理工大学, 2008.
[2] 陈林. 面向双目立体视觉图像的匹配技术[D]. 上海交通大学, 2013. [3] 刘俸材, 谢明红, 王伟. 双目视觉的立体标定方法[J]. 计算机工程与设计, 2011, 32(4):1508-1512.
[4] 王明明.铁路大机与线路固定设施间距检测算法研究[D].西南交通大学, 2015.
[5] 李宁. 基于立体视觉的三维尺寸测量系统研制[D]. 合肥工业大学, 2013. [6] 冯成义. 模拟目视实现空间定位系统的研究和应用[D]. 吉林大学, 2007. [7] 隋婧, 金伟其. 双目立体视觉技术的实现及其进展[J]. 电子技术应用, 2004, 30(10):4-6.
[8] 吴勇. 基于立体视觉的机器人图像动态检测系统[D]. 东华大学, 2009. [9] 黄涛. 基于图像立体匹配的三维重建[D]. 广西师范大学, 2008.
[10]Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000, 22(11):1330-1334.
[11] 翟明敏, 苗新聪, 乔静. 基于彩色图像的快速立体匹配算法研究[J]. 机械与电子, 2012(10):22-25.
[12] 霍智勇, 朱秀昌, 刘天亮. 基于线性生长的区域立体匹配算法研究[J]. 仪器仪表学报, 2011, 32(4):819-824.
[13] 王俊孟. 基于双目立体视觉的传送带上煤的动态体积测量研究[D]. 河南理工大学, 2014.
[14] 殷小舟, 淮永建, 黄冬辉. 基于双目立体视觉的花卉三维重建[J]. 扬州大学学报(农业与生命科学版), 2012, 33(3):91-94.
[15] 王树峰. 基于立体视觉方法的图像三维模型重建研究[D]. 南京航空航天大学, 2008.
[16] 王玉翰. 基于双目立体视觉的番茄识别与定位技术研究[D]. 浙江大学, 2012.
[17] 苏杭. 基于圆形网格点的全自动相机标定法研究[D]. 武汉理工大学, 2009.
[18] 张巍巍. 三轴仿真转台动力学分析与控制器设计[D]. 哈尔滨工业大学, 2009.
[19] 于勇, 张晖, 林茂松. 基于双目立体视觉三维重建系统的研究与设计[J]. 计算机技术与发展, 2009, 19(6).
[20] 黄艳. 基于双目立体视觉的摄像机标定和三维重建[D]. 云南大学, 2010. [21]Alagoz B B. Obtaining Depth Maps From Color Images By Region Based Stereo Matching Algorithms[J]. Computer Science, 2008.
[22] 视觉处理标图提供站点[OL]. 2017-05-20.
[23] 摄像机标定工具箱提供站点[OL]. 华舒悦, 杨龙. 基于MATLAB的摄像机标定研究与实现[J]. 东莞理工学院学报, 2013(3):12-16.
[25] 杜冬梅, 田昆鹏, 姜磊,等. 基于Matlab的摄像机标定方法研究[J]. 河南工程学院学报(自然科学版), 2012, 24(4):68-71.
[26] 王建强, 张海花. 基于Matlab工具箱的摄像机标定[J]. 实验室研究与探索, 2013, 32(6):37-39.
[27] 陆宁. 基于双目视觉的三维重建技术研究[D]. 东北大学, 2008.
致谢
金色六月,大学四年的生活过的飞快,我已经迎来了我的毕业季。在这四年中,获得了许多人的关心与帮助,让我不断完善自己、提高自己,坚定地走在成为更好的自己的路上。
感谢毕业设计期间洪向共老师的指导,论文的设计方法和技术要点在很大程度上依赖于老师的教导,每每在我毕业设计遇到难题时老师都会给予我适当的提醒。洪老师上课时风趣幽默,科研时认真严谨,平时的和蔼可亲都是我学习的榜样。
首先,感谢学校和学院不仅给我们提供了丰富的教学资源,良好的学习环境,而且体贴的解决我们衣食住行各种问题;其次,感谢大学里所有的同学朋友的陪伴,特别是室友陈佳,马彩霞,梁可欣对我无限制的包容与关爱,让我体会到学校如我家的感觉;最后,感谢父母家人的支持,他们是我的支柱与坚强的后盾,给了我许多力量。在之后的工作生活里,我会继续以积极向上的态度继续努力,不辜负身边人对我的期望。
在此,衷心的感谢各位论文评审老师和毕业答辩老师,百忙之中参与我们的论文评审与答辩。因水平能力有限,本文的不当之前还请提出宝贵意见。
因篇幅问题不能全部显示,请点此查看更多更全内容