双目视觉传输系统摄像机标定与立体匹配
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密级:
NANCHANG UNIVERSITY
学士学位论文
THESIS OF BACHELOR
(2013 —2017 年)
题目双目视觉相机标定与立体匹配算法研究学院:信息工程学院系电子系
专业班级:卓越通信131班
学生:婷学号:6102213916
指导教师:其纶职称:讲师
起讫日期:
双目视觉相机标定与立体匹配算法研究
专业:通信工程学号:6102213916
学生:婷指导教师:其纶
摘要
本文基于双目视觉图像传输系统重点研究了摄像机标定与立体匹配两个模块。
在摄像机标定中,重点阐述了三大坐标系、两种摄像机模型以及正友平面标定法,基于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
目录
摘要 (I)
Abstract .................................................................................................. I I 第一章绪论....................................................................................... - 1 -1.1背景及研究意义 ............................................................................. - 1 -1.2国外研究现状................................................................................ - 1 -1.3论文的主要工作 ............................................................................ - 2 -1.4论文的组织结构 ............................................................................ - 2 -第二章双目视觉系统 ......................................................................... - 3 -2.1双目立体视觉系统简介 .................................................................. - 3 -2.2双目立体视觉系统应用.................................................................. - 4 -2.3摄像机立体标定............................................................................ - 4 -2.3.1像平面坐标系、摄像机坐标系和世界坐标系 ................................ - 5 -2.3.2摄像机模型................................................................................ - 7 -2.3.3正友标定平面标定 ..................................................................... - 9 -2.4立体匹配 .................................................................................... - 10 -2.4.1基于全局误差能量最小化的区域匹配算法.................................. - 10 -2.4.2基于线性生长区域立体匹配算法................................................ - 11 -2.4.3从差距图生成深度图 ................................................................ - 12 -2.5本章小结 .................................................................................... - 14 -第三章立体标定与匹配.................................................................... - 14 -3.1双目摄像机标定的实现 ................................................................ - 15 -3.1.1左右两摄像机单目标定.............................................................. - 15 -3.1.2双目立体视觉标定 .................................................................... - 18 -3.1.3实验结果分析........................................................................... - 20 -3.2立体匹配仿真结果 ...................................................................... - 20 -3.2.1基于全局误差能量最小化区域匹配算法 ..................................... - 20 -3.2.2基于线性生长区域匹配算法...................................................... - 23 -3.3不同匹配算法差异分析................................................................ - 26 -3.4本章小结 .................................................................................... - 28 -第四章总结与展望 .......................................................................... - 28 -
4.1总结............................................................................................ - 28 -4.2展望 ........................................................................................... - 29 -参考文献 .......................................................................................... - 31 -致 .................................................................................................... - 33 -
第一章绪论
1.1研究背景与意义
随着图像处理,人工智能,计算机科学等相关学科的发展,计算机视觉的研究也得到了深入的发展[1]。
双目视觉系统技术作为计算机视觉最重要的一个分支,在军事、医学、工业等领域都有着极其重要的作用,例如3D电影,谷歌视觉眼镜、无人驾驶以及虚拟现实网上购物等技术为我们的生产生活提供了新的技术和工具,不断改变着我们的生活。
因此双目视觉的研究发展对各个领域科技创新发展具有重要的价值。
双目视觉系统的设计原理源自于人类的视觉感知系统,模拟人眼获取视觉围的物体信息。
客观世界真实存在是3D的,但人眼或者摄像机获取的图像是显示场景中物体的2D信息,人类视觉系统能够通过大脑神经网络分析出空间中的物体3D信息。
因此双目视觉系统最终目标是利用计算机图像处理,模式识别,人工智能等技术,对摄像机得到的图像或者图像序列进行处理,进而恢复图像中的3D信息,形成具有立体感的图像。
双目视觉系统[2]中摄像机标定的目的是求解出摄像机外参数;立体匹配过程利用求解出的参数采用特定的算法获取图像的深度信息,还原图像的立体感。
因此,双目视觉系统中的利用2D图像获取3D信息过程中,摄像机标定与立体匹配具有极其重要的地位。
标定的精确度与立体匹配算法的可靠度直接影响获取深度信息的准确性,后续三维重建优劣以及最终实验结果的整体效果。
1.2国外研究现状
1、国研究现状
大学完全利用透视成像原理并结合双目视觉技术设计出了机械系统。
该系统可动态精准检测多自由度装置的位姿,仅需提取左右两幅图像必要的特征点,具有信息量少,速度快,无运动影响,精度高的特点[3];东南大学电子工程系提出了一种新双目视觉立体匹配算法。
该算法基于灰度相关多峰值极小化,可非接触精密测量三维不规则物体(偏转线圈)的空间坐标[4];哈工大采用异构双目活动视觉系统实现了全自主足球机器人导航。
该系统包括一个固定在机器人顶部的摄像机和一个安装在机器人中下部可以水平旋转的摄像机,可以实现全自主足球机器人导航[5];火星863计划课题“人体三维尺寸的非接触测量”,采用“双视点投影光栅三维测量”原理,通过对双摄
像机获取的左右图像进行图像处理,获取人体图像上任意一点的三维坐标,从而计算出服装设计所需的人体特征尺寸[6]。
2、国外研究现状
日本冈山大学研制了视觉反馈系统,该系统使用立体显微镜和双目摄像机控制微操作器对细胞进行操作,进行基因注射和微装配等微操作[7];麻省理工学院计算机系统提出了一种新的传感器融合方式,并将其运用于智能交通上,该方法采用雷达系统和双目立体视觉得到目标深度信息,再结合改进的图像分割算法,能够在高速环境下对视频图像中的目标位置进行分割[8];华盛顿大学与微软公司合作研制了宽基线立体视觉系统[9]。
1.3论文的主要工作
本文重点围绕双目立体视觉系统技术进行探究,其中重点阐述摄像机标定与立体匹配两个重要模块。
本文通过摄像机的线性模型与非线性模型探讨出了摄像机外参数的理论求解公式,叙述了正友平面标定法[10]基本原理,提出了基于全局误差能量最小立体匹配算法[11]和基于线性生长立体匹配算法[12]两种匹配算法。
并且均基于Matlab进行实验,对实验结果进行了探究,对两种算法进行了利弊分析。
1.4论文的组织结构
第一章:绪论。
主要阐述双目视觉系统的研究背景与意义以及国外研究发展现状。
第二章:双目视觉系统。
简单介绍双目视觉系统及其应用,重点探究了摄像机标定与立体匹配两个模块的理论知识。
第三章:立体标定与匹配。
基于Matlab叙述立体标定和匹配的仿真过程,并对实验结果进行分析。
第四章:总结与展望。
对论文容进行总结,对今后工作进行展望。
第二章双目视觉系统
2.1双目立体视觉系统简介
立体视觉系统设计原理仿照人类双眼工作原理:两台平行的摄像机模拟双眼;计算机图像处理相当于人脑神经系统。
双眼所形成的图像信息是具有差异性的,这种图像信息的差异性通过大脑神经系统进行分析匹配,得到图像的深度信
息[13]。
随着人们生产生活与科技的发展,利用立体视觉的原理设计出了双目视觉系统,让计算机分析得出2D图像中的立体信息,即获取图像的深度信息。
如图2-1是双目平行摄像机成像示意图,点
l
O和点
r
O分别是左右摄像机的
成像焦点,即左右摄像机坐标系的原点;空间任意点(,,)
W W W
p X Y Z投影在左右
两图像上的点是(,)
l l l
p x y和(,)
r r r
p x y,立体匹配算法找出(,,)
W W W
p X Y Z与点
(,)
l l l
p x y和(,)
r r r
p x y之间的关系。
图2-2 双目平行摄像机成像示意图
由投影原理的性质,有:
r l W W l W l
W W W
x x b Z f X y Y y
b Z X Y
-+---
===(2-1) 则
,,
l l
W W W
l r l r l r
x b y b bf
X Y Z
x x x x x x
===
---
(2-2) 其中,f为左右摄像机的焦距,T表示为两平行双目摄像机的距离。
在这里,
点(,,)
W W W
p X Y Z以
l
O为坐标中心,左摄像头成像坐标系为坐标系;由(2-2)式表示的是左右两图像的投影点与空间中点之间的关系。
2.2双目立体视觉系统应用
一个完整的双目立体视觉系统通常可划分为以下五个模块[14]:
(1)获取图像模拟双目的方式,两台平行的摄像机对同一场景进行拍摄,从而获取左右眼图像。
(2)摄像机标定通过选取图像特征点,建立摄像机的几何成像模型,得出摄像机外参数。
(3)立体匹配,通过左右两图像的视觉差获取图像深度图,为三维重建提供立体模型。
(4)三维重建通过图像的立体模型,恢复图像的立体感,获取场景立体信息。
本文研究重点在立体标定与立体匹配。
2.3摄像机立体标定
双目视觉系统最终目标是获取图像场景的立体信息。
由摄像机投影原理我们可知,摄像机拍摄到的图像与图像场景的立体信息存在某种关系。
这某种关系与摄像机的外参数有关,求解这些参数的过程即是摄像机标定。
因此,摄像机标定在双目视觉系统中具有重要的地位:标定结果的精度直接影响到后续工作的可靠度。
以下我们对摄像机标定相关理论知识进行探究。
2.3.1像平面坐标系、摄像机坐标系和世界坐标系
由图形学知识我们可知,摄像机采集的图像在计算机表示为m n
数组:,m n 表示图像中像素的行数与列数;数组值表示各个像素点的亮度值。
如图(2-2),定义直角坐标系,,
u o v为图像坐标系,(,)
u v表示某一像素点的图像坐标。
由于(,)
u v只是表示某一像素的图像坐标,而不是数学意义上的点坐标,因此需要将以像素为单位的像平面坐标系转换成以毫米为单位的像平面坐标系。
该坐标系可表示为,,
x O y如图2.3所示。
图2-2 图像坐标系与像平面坐标系
一般图像中心点表示为像平面坐标系中的原点O ,而一般图像左上角点表示为图像坐标系中的原点o ,任意点p 在两种坐标系中的关系如下:
00x u u dx y v v dy ⎧=+⎪⎪⎨⎪=+⎪⎩
(2-3) 其中,(,)(,)u v x y ,分别表示点p 在图像坐标系与像平面坐标系中的坐标,0000(,)(,)o u v O x y ,分别表示图像坐标系与像平面坐标系原点坐标;,dx dy 分别表示每一个像素在x 与y 方向上的物理尺寸,上式表示为齐次坐标与矩阵形式:
001010110
01u dx u x v v y dy ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦
(2-4) 如图2-2双目视觉系统成像示意图可知,在摄像机坐标系中:摄像机光轴与图像平面的交点为原点,,c c X Y 与像平面坐标系,x y 平行。
三大坐标系如图2-3所示, ,,W W W X Y Z 为世界坐标系,W O 为世界坐标系原点; ,x y 为像平面坐标系,O 为像平面坐标系原点。
,,c c c X Y Z 表示摄像机坐标系,c O 为摄像机光心即摄像机坐标系原点;O c O 为摄像机焦距f 。
图2-3 三大坐标系(像平面坐标系,摄像机坐标系,世界坐标系)
其中,世界坐标系与摄像机坐标系的关系表示为:
201111c W W c W W T c W W X X X Y R
t Y Y M Z Z Z ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦
(2-5) 其中, R 表示33⨯正交单位旋转矩阵;t 表示三维平移向量;[]0000T =;
2M 为44⨯矩阵[15]。
2.3.2摄像机模型
1、线性摄像机模型(针孔成像模型)
由图 2.2可知针孔成像模型中成像系统没有任何畸变,空间任何一点(,,)W W W P X Y Z 在图像中的投影位置表示为(,)p x y ,(,)p x y 是摄像机光心点O 与P 点的连线OP 在图像平面的交点。
由投影比例关系有如下关系式(以左摄像机成像为例):
c c c
c f X x Z f Y y Z ⎧=⎪⎪⎨⎪=⎪⎩ (2-6)
其中,
(,)x y 为空间点P 左摄像机成像点p 坐标;(,,)W W W X Y Z 为空间点P 的摄像机坐标表示形式。
上述透视投影关系为:
0000001001011c c c c c c X X x f Y Y s y f P Z Z ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦
(2-7) 其中,s 表示比例因子,P 表示透视投影矩阵[16]。
将公式(2-4),(2-5)
代入上式得出空间中X ,Y ,Z W W W P ()与其投影点,p x y ()的关系
0000212100000010000000110010001000111W W x W W y T W W W W
u X X dx u f a x R t Y Y s v v f a y M Z Z dy M M X MX ⎡⎤⎢⎥⎡⎤⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦
== (2-8) 其中,=x f a dx ,=y f a dy 分别称为,x y 轴上归一化焦距;M 为33⨯投影矩阵;1M 参数00x y a a x y 、、、决定,称为摄像机部参数;2M 称为摄像机外部参数。
摄像机标定过程即是确定某一摄像机的外参数的过程。
由上式可得出求出某空间点P 的空间坐标方程, 但是事实上,由于M 是34⨯不可逆矩阵,即使已知摄像机的外参数和图像点的位置(,)x y 时,消去z 只可得到关于X ,Y ,Z W W W 的两个线性方程,由这两个线性方程只能确定P 点位于射线OP 上。
因此,只由线性模型无法确定空间点的位置坐标。
2、非线性模型
非线性模型在线性模型的基础上考虑到实际中的畸变。
假设在实际成像过程中产生了畸变,新的成像点坐标为''(,)x y ,表示为[17]:
''x x x y y y
δδ⎧=+⎪⎨=+⎪⎩ (2-9) 其中,x δ,y δ是非线性畸变值,与成像点在图像中的位置有关。
理论上非线性畸变可分为径向畸变和切向畸变。
但一般来讲切向畸变比较小,可忽略不计。
因此,非线性畸变可用径向畸变的修正量表示,公式如下:
'24
012
'24
012
()(...
()(...
x x x k r k r
y y y k r k r
δ
δ
⎧=-++
⎪
⎨
=-++
⎪⎩
(2-10)
其中,2'2'2
00
=()()
r x x y y
-+-;参数
00
x y
a a x y
、、、与非线性畸变参数
1
k和
2
k 统称为非线性摄像机模型的部参数[18]。
由此,摄像机非线性模型通过部参数可以得出空间任意一点的空间坐标。
2.3.3正友平面标定
算法数学原理
图2-4 正友平面标定示意图
在这里假定模板平面中任意点坐标为(,,0)
W W
X Y,公式(2-8)可表示为:
112312
[][]
11
1
W
W
W
W
X
u X
Y
s v M r r r t r r t Y
⎡⎤
⎡⎤⎡⎤
⎢⎥
⎢⎥⎢⎥
⎢⎥
==
⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎣⎦⎣⎦
⎣⎦
(2-11)
其中,
123
[]
r r r和t分别是摄像机坐标系相对于世界坐标系的旋转矩阵和平移向量;
1
1
123121
1
22
1
[][]
1
r H
H h h h K r r t K h
r K h
λ
λ
λ
-
-
=
===
=
(2-12)
根据旋转矩阵的性质,即
12
T
r r=和
12
1
r r
==,每幅图像对参数矩阵
的基本约束:
1
12
11
1122
T
T T
h K K h
h K K h h K K h
--
----
=
=
(2-13)
由上式可得摄像机有5个未知参数,所以当图像对足够多时,就可以解线性方程求出唯一解K。
算法步骤如图
图2-5 算法流程图
首先,用双目摄像机从不同角度拍摄若干图像对;然后进行图像特征点提取,并求出摄像机的外参数和畸变系数,最后对标定后的参数进行优化求精[19]。
至此,摄像机标定过程完成。
2.4立体匹配
立体匹配作为双目视觉系统最重要也是最关键的一步,立体匹配的优劣直接影响到后面进行三维重建的好坏[20]。
在现实场景中,同一时间不同视点拍摄出的图片受到光照,噪声等干扰因素的影响,会产生很大的不同,从而导致增加了获取高精度的匹配效果困难性。
本文研究容是基于区域立体匹配算法,通过两种不同的算法思路实现,分别为:基于全局误差能量最小化和基于线性区域生长[21]。
两种方式原理如下:
2.4.1基于全局误差能量最小化的区域匹配算法
在此算法中,我们利用模板匹配技术来得到图像中每个像素点的误差能量值,图像中所有像素的误差能量值便构成一个误差能量矩阵。
若双目摄像机获取的是彩色图像则为三维矩阵,若为灰度图像则为二维矩阵。
本研究所采用图像为彩色图像,因此我们用分别用(,,)
L i j c,(,,)
R i j c表示Matlab通过imread函数读取左右图像的RGB值,其中,c取值为{1,2,3}分别表示R,G,B维度的值。
当模板取值大小为m n
⨯的窗口,误差能量值可下式求得:
3
2
1
1
(,,)=[(,,)(,,)]
3
j m
i n
x i y j k
e i j d L x y d k R x y k
n m
+
+
===
+-
∑∑∑(2-14) 其中,(,,)
e i j d是由图像每个像素的误差能量值组成的误差能量矩阵;d表
示视差值。
首先预定一个视差搜索围
max
d,再将每个像素的误差能量值(,,)
e i j d通
过多次均值滤波器进行处理得到平均误差能量矩阵;均值滤波器可以消除像素点之间RGB 差值骤变导致的匹配误差。
并且通过均值滤波器还可以得到误差能量整体变化趋势。
因此,该算法也可以称为全局匹配算法。
用m n ⨯大小的窗口进行匹配时,平均误差能量矩阵可由下面公式表示:
1(,,)=(,,)j m i n x i y j e i j d e i j d n m ++==∑∑ (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)最小值搜索
2.4.2基于线性生长区域立体匹配算法
基于线性生长的立体匹配算法分为两个部分:寻找基点发展区域和按照预定的规则进行区域生长。
我们的规则是利用公式(1)点与临近点的误差能量值,当误差能量值大于我们预先设计的阈值时,则重新找基点;当小于预先设计的阈值时,则进行区域生长。
事实上,更准确的说该算法叫做视差值生长。
在实际运算中为减少运算量,我们限定生长方向为线性水平方向。
算法步骤如下:
步骤1(根点选择):在图像中选取一个不属于任何生长区域的点并利用能量函数(式1)求取该点视差,将该点作为基点并作为区域视差初值0d ,进行步骤2。
若找不到任何一点比0d 小则重复该步骤。
步骤2(区域生长):计算基点的紧邻点的视差值,如果等于或小于初值0d ,则将该点定义为区域点。
否则将其定义为闲置点
步骤3:重复步骤2对图像的所有点进行计算,直到图像中所有的点都被计算过,算法停止。
所有的区域点组成的区域构成视差图(,)d i j 。
图2-8 生长匹配算法示意图
2.4.3从差距图生成深度图
左右两图像深度和视差关系可由立体投影示意图(2-9)表示,利用基本几何计算可以得出深度()Z 和差异()d 之间的关系如下:
(,)(,)
T Z i j f d i j (2-16) 图像中像素点(,)i j 投影在物体表面的真实位置的空间立体坐标(,,)X Y Z ,按以下公式可用于计算后计算深度Z 。
()
()
Z f
X i
f
Z f
Y j
f
-
⎧
=
⎪⎪
⎨
-
⎪=
⎪⎩
(2-17)
图2-9 立体投影示意
为了获得更平滑的深度图,可在在计算深度()
Z之前使用55
⨯窗口大小的中值滤波过滤不可靠的视差()d。
通过设置平均误差阈值来消除不可靠误差估计
我们通过视差图()
d
E 的平均误差值来定义获得的视差图d 的可靠度()
d
R。
它可以表示为如下公式:
(,)
1
(,){(,)}
11
[(,)]
{}
d
n m
d d
i j E i j ne
d d
R E i j
Mean E ne S
-
-=
==
-
∑(2-18)
视差图()
d
E的误差值可以如下表示:
3
2
1
1
(,)[(,(,),)(,,)]
3
j m
i n
d
x i y j k
E i j L x y d i j k R x y k
n m
+
+
===
=+-
∑∑∑(2-19)视差图包含一些不可靠的差异估计在对象边界周围大部分是由于图像中的物体遮蔽。
这些可以通过观察d E中的高误差值来删除不可靠的差异。
为了增加获得的视差图(,)
d i j的可靠性,如(2-20)描述的简单的阈值机制,可以在得到
(,)
d i j过程中过滤一些不可靠的差异估计。
(,)(,)(,)(,)(,)(,)(,)(,)d e d e d d e
d d
e d i j E i j V d i j ne
E i j V E i j E i j V E i j ne E i j V ≤⎧=⎨≤⎩≤⎧=⎨≤⎩ (2-20)
通过过滤一些不可靠的差异,(,)d i j 将比(,)d i j 的误差能量估计更加精准。
在方程(2-20)中将差异设定为ne 是指“无估计”状态在d R 计算中排除具有ne 状态的(,)d E i j 值。
方程(2-18)中d S 参数表示不是ne 的误差值的点数。
d E 是(,)d i j 的误差值。
e V 是用于决定视差估计的误差值是不可靠的。
为了自动确定e V ,我们使用以下公式:
()e d V Mean E α= (2-21)
在等式(2-18)中,α是容忍公差系数,用于调整滤波的可靠性。
减少α导致d 更可靠。
然而,减少α会由于消除了更多的差距点而削弱视差图。
2.5本章小结
在本章中,首先,对双目立体视觉系统就行了简单介绍。
其次,叙述了三大坐标系和两种摄像机模型,并推导出了双目视觉系统中的摄像机标定原理。
最后,叙述基于全局误差能量最小化和基于线性生长两种区域匹配算法。
总之,本章是对摄像机标定以及立体匹配过程进行了理论研究,下一章的实验打下基础。
第三章 立体标定与匹配
在本章实验中的摄像机标定与立体匹配过程中均基于Matlab 进行实验仿真。
摄像机标定原理是基于正友棋盘标定发利用Matlab 标定工具箱完成的,实验14图片是采用双目摄像机从不同角度进行拍摄的,首先,摄像机参数是固定不变的,因此在对参数标定后,利用已知的参数实现对摄像机外参数的标定,至此,摄像机标定过程完成。
立体匹配利用Matlab 对基于全局误差能量最小化立体匹配算法和基于线性生长立体匹配算法进行编程,对双目摄像机拍摄的左右图像进行立体匹配,进而求出空间中物体深度信息。
3.1双目摄像机标定的实现
3.1.1左右两摄像机单目标定
以下以实现左图像标定为例,步骤如下:
1、下载Matlab标定工具箱[22]加载到Matlab工作目录中,从middlebury[23]下载标定图片,左右摄像机拍摄的图片分别为14,大小均为1111
⨯,100mm 为边长的黑白棋盘格标图,如图3-1所示:
⨯,20mm为边长的棋盘格标定图像
图3-1 1111
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 ;kc 为畸变系数;err为误差的标准方差,单位为像素。
1)显示摄像机与标定靶标之间的关系,如图3-5所示:
图3-5 摄像机坐标系与靶标之间的关系(a) 摄像机固定,(b) 靶标固定
图(a)为假设摄像机固定时摄像机与靶标之间的关系,图(b)为假设靶标固定时摄像机与靶标之间的关系。
2)所有角点反投影到图像空间的图像坐标误差,如图3-6所示:
-0.6-0.4-0.200.20.4
-0.5
-0.4
-0.3
-0.2
-0.1
0.1
0.2
0.3
0.4
x
y
图3-6 反投影到图像空间的角点图像坐标误差
图像坐标误差的标准方差为:
4、图像畸变校正
完成参数标定后,在标定工具箱操作面板点击“Undistort image”键:对读入的所有靶标图像进行消畸处理,生成的消除畸变后的图像。
原始图像和消除畸变后的图像:
图3-8 原始图像和校正后图像,(a) 原始图像(b) 消除畸变后的图像
5、外参数标定
完成摄像机的参数标定后,点击“Comp. Extrinsic”键,进行靶标相对于摄像机的外参数标定,结果如下:
其中,Tc_ext表示位移向量,单位为mm;omc_ext表示旋转向量;Rc_ext 表示旋转矩阵;
3.1.2双目立体视觉标定
左摄像机参数的标定结果保存为Calib_Results_left.mat,右摄像机的标定结果保存为Calib_Results_right.mat。
运行stereo_gui指令,进行双目立体标定程序,依次导入左、右摄像机的标定结果文件,实验结果如下[26]:
其中,om,T分别表示为左摄像机相对于右摄像机的姿态矩阵与位移向量[24]。
点击“Run stereo calibration”键,计算并输出左、右摄像机的参数和优化后的参数。
输出结果:
点击“Show Extrinsics of stereo rig”键,实验结果如图3-9所示:
-100
100100
200
300
400
6
7
1
8
3
12
54
13
Extrinsic parameters
911
14
210
Z
X
Right Camera
Y
Z
X
Y
Left Camera
图3-9 靶标相对于摄像机的位姿
该图显示是14棋盘图相对于双目摄像机的位姿三维图。
3.1.3实验结果分析
Matlab摄像机标定工具是基于正友平面标定法原理设计的,正友平面标定法的原理与流程在本文中的第二章有所叙述。
此处,我们针对该算法以及实验结果进行分析:
正友的平面标定方法比传统标定方法设备要求低,操作简单,又较自标定方法精度高,符合家用,办公用的桌面视觉系统(DVS)的标定要求。
但是基于Matlab 实现正友标定法需要手动进行特征点标靶区域选取,手动选取的不确定性会给实验结果带来误差。
3.2立体匹配仿真结果。