基金项目: 国家重点研发计划(2016YFB0402000);国家重大科学仪器设备研发专项(2013YQ470765)
作者简介: 黄鹏程(1995—), 男, 硕士研究生, 主要从事光学工程方面的研究。E-mail:
hpc0018@163.com
双目立体视觉是机器视觉的一个重要分支,通过直接模拟人眼观察和处理景物的方式来进行测量,是一种速度快、精度高、操作简便的非接触式测量方法,在农业、工业及军事等领域均有着广阔的应用前景。为此介绍了双目立体视觉的原理及实现步骤,总结了近年来国内外相关研究现状,并对该技术的发展趋势作了展望。
关键词
:
双目立体视觉
Research status and progress of binocular stereo vision
HUANG Pengcheng
1,2,3
,
JIANG Jianyu
1,2,3
,
YANG Bo
1,2,3
1. School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China;
2. Shanghai Key Laboratory of Modern Optical System, University of Shanghai for Science and Technology, Shanghai 200093, China;
3. Engineering Research Center of Optical Instruments and Systems(MOE), University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract
:
Binocular stereo vision is an important branch of machine vision.The measurement is conducted by directly observation and the scenery processing.It is a fast, accurate and easy-to-use non-contact measurement method which has broad application prospects in agriculture, industry and military.This paper introduces the principle and realization steps of binocular stereo vision, summarizes the related research status at home and abroad in recent years, and prospects the development trend of the technology.
Key words
:
binocular stereo vision
camera calibration
three-dimensional matching
引言
随着人工智能和计算机技术的快速发展, 用机器视觉代替人眼来做测量和判断的技术日渐成为人们的研究重点。它能提高生产的灵活性和自动化程度, 特别适用于一些不适合人工作业的危险工作环境或者人工视觉难以满足要求的场合。而作为机器视觉的一个重要分支, 双目立体视觉具有效率高、精度合适、系统结构简单、成本低等优点, 在虚拟现实、机器人导航及非接触式测量等许多方向均极具应用价值。20世纪80年代美国麻省理工学院的Marr
[
1
]提出了一种基于双眼匹配的视觉计算理论, 使两张有视差的平面图经过处理能够产生有深度的立体图形, 从而实现三维重建。与透镜板三维成像、投影式显示、全息照相术等其他三维重建方法相比, 双目立体视觉直接模拟人类双眼来处理待测物体, 更为可靠简便, 应用前景也更为广阔。
1 双目立体视觉原理
图 1
是双目立体视觉原理图
[
2
]
。相机通过目标物体表面的反射光将空间三维物体转化为平面二维图像, 而双目立体视觉是相机成像的逆过程, 即以两台相机模拟人眼, 通过计算两幅图像对应点间的位置差异并基于视差原理得到物体的三维几何信息, 实现三维重建及还原。世界坐标系为
O
W
-
X
W
Y
W
Z
W
, 左右相机的相机坐标系分别为
O
l
-
X
l
Y
l
Z
l
和
O
r
-
X
r
Y
r
Z
r
, 图像坐标系分别为
O
l
-X
l
Y
l
和
O
r
-
X
r
Y
r
, 像素坐标系分别为
O
l
-
U
l
V
l
和
O
r
-
U
r
V
r
[
3
-
4
]
。设空间目标点P在两相机成像面上的像点坐标分别为(
u
l
,
v
l
)和(
u
r
,
v
r
), 它们均满足如下方程:
式中:
C
为比例系数;
α
和
β
分别为像素坐标系
U
和
V
的比例因子;
γ
为两坐标轴的偏离度; (
u
0
,
v
0
)是相机像素坐标系下图像坐标系原点的坐标;
M
矩阵是相机内部参数矩阵, 确定相机从三维空间到二维图像的对应关系;
H
矩阵是相机外部参数矩阵, 其中
R
代表旋转矩阵,
t
代表平移矩阵, 所以
H
矩阵包含了世界坐标系与相机坐标系的旋转关系以及两坐标系原点的相对位置关系。这样, 通过实时测量目标点
P
在两相机成像面上的像点坐标, 根据式(1)即可得到
P
点的实时空间三维坐标
[
5
]
。
2 双目立体视觉测量的实现
双目立体视觉测量的实现可以分为以下四个步骤:相机标定、特征提取、立体匹配和三维重建。测量流程如
图 2
所示。
Figure 2
2.1 相机标定
Marr视觉理论认为二维图像进行三维场景还原的过程与相机的内外参数有关, 它们分别描述了相机光心位置到二维成像平面和真实三维空间的转换关系。求解参数矩阵的过程被称为相机标定, 因此, 相机标定的准确性对三维重建精度有很大影响。目前常见的相机标定的方法有:
(1) 摄影测量学的传统标定方法。采用该方法假设的相机成像模型, 其标定过程至少需要17个参数, 虽然考虑了成像过程中的各种因素, 精确度高, 但计算十分复杂。
(2) 直接线性变换法。1971年Abdel-Aziz等
[
6
]
提出该方法, 它忽略了相机成像过程中一些影响因素如相机的镜头畸变, 使计算过程大大简化, 但也导致所得结果精度不高。
(3) Tsai两步法
[
7
]
。其求解相机参数的过程可以分为两步, 首先在径向一致约束条件下, 求解出相机一部分的参数, 再通过非线性优化算法迭代得到相机其他参数的值。该方法的标定精度较高, 标定过程速度较快、准确性高, 在工业化的视觉系统中应用比较广泛。但是需要高价的标定设备, 所以不适合在一般场合使用。
(4) 基于Kruppa方程的自标定方法。此方法认为相机采集到的两幅图像之间存在着一定的数学关系, 并且受类似Kruppa方程的二次约束, 通过求解Kruppa方程来得到相机的内部参数。该方法较为灵活, 适用场合较广, 但鲁棒性较差, 精度不高。
(5) 张正友标定法
[
8
-
9
]
。该方法使用棋盘格标定板, 先通过线性成像模型得到相机参数的初值, 再使用非线性最优化的方法来得到相机参数的最优解。此标定方法具有非常高的鲁棒性和较高的精度, 操作简单, 而且不需要高精度标定设备, 因此被广泛使用。
2.2 特征提取
特征点能够反映图像的特性, 特征点提取在三维场景重建、运动物体测量和图像识别等方面发挥着重要的作用。双目立体视觉所使用的特征点是人工放置的具有特定形状的标志点, 而圆形标志点因为在摄影变换下能够保持椭圆形状不变, 方便提取和识别而被广泛使用。由于传感器采集到的图像信息中都存在噪声, 所以在特征点提取前要对图像进行预处理, 通常采取中值滤波、高斯滤波、双边滤波等方法来降低噪声。现有的特征点提取算法主要有基于模板匹配、基于灰度变化和基于图像边缘检测的提取算法。由于三维重建需要还原待测物体的深度信息, 因此一般采用基于灰度变化的提取算法, 基于某一点的灰度值与周围不同的思想进行比较和提取。
2.3 立体匹配
双目立体视觉中最为关键的技术是图像的匹配。左右相机由于所处空间位置的不同, 拍摄得到的图像在成像平面上会存在水平和深度视差, 从而导致两幅图像存在差异
[
10
]
。通过左右图像中相同点的准确匹配, 这种差异可以被消除。
相机获取的左右图像中对应点的匹配受到下列几种约束:
(1) 顺序一致性约束。三维空间中的点经过摄像变换后在左右图像中的位置顺序保持不变。
(2) 连续性约束。三维物体一般是连续的, 所以图像中其视差变化一般也是连续平滑的。
(3) 极线约束。对于图像上一个特征点, 它在另一幅图像上的位置一定在对应的极线上。
(4) 唯一性约束。三维空间中的任意一点在左右图像上只会存在唯一的对应点, 所以在图像匹配时也只有唯一点可以相匹配。
基于以上约束, 现有的立体匹配方法可分为区域匹配、特征匹配和相位匹配三大类。(1)区域匹配一般是设定一个特定的局部窗口, 通过提取窗口中的特征向量进行匹配, 经典的有Lazaros Nalpantidi算法、固定窗算法、自适应窗算法、自适应权重算法等, 其实质是利用局部窗口之间灰度信息的相关程度来实现图像匹配。该方法在变化平缓且细节较为丰富的图像区域可以达到较高的精度, 在视差不连续处则会受到限制, 同时, 窗口增大虽然有利于提高匹配精度, 但同时也会带来更大的计算量, 降低匹配效率, 也容易出现误匹配。(2)特征匹配是对图像的灰度信息进行抽象, 把待测物的特征属性如边缘、轮廓、角点等作为匹配实体, 通过计算匹配实体之间的相似度以实现立体匹配。目前, 常用的特征匹配算法有SURF算法和SIFT算法:前者识别能力强, 对图像噪声、光照变化和尺度旋转有一定的抗性, 但计算量较大, 时间长, 匹配准确度不高; 后者所提取的特征点具有方向、尺度、位置三方面的信息, 但匹配准确度较低。特征匹配鲁棒性强、抗干扰性强、计算量小、速度快, 但图像特征的稀疏性导致匹配后得到的是不完整的视差场, 而且特征提取的准确性对匹配结果的精确度影响很大。针对这些问题, 可以将特征匹配的鲁棒性和区域匹配的致密性充分结合, 利用对高频噪声不敏感的模型来提取和定位特征。(3)相位匹配将相位信息作为匹配基元, 不易受噪声影响, 误匹配概率低, 在三维形貌测量上有其独特的优势。现有的相位匹配算法有基于极线校正的亚像素相位匹配方法
[
11
]
、Fourier-Mellin匹配算法
[
12
]
等, 相关算法的精度和效率都在不断提高, 但相位缠绕、相位偏差、相位奇点等问题都会影响匹配精度。
2.4 三维重建
三维重建可以看作物体通过相机成像的逆过程, 和人们用双眼观察三维空间中的物体是相似的。三维重建的原理是基于之前的图像获取、相机标定、特征提取和立体匹配等工作, 获得相机的内外参数以及图像特征点的对应关系, 最终利用视差原理和三角测量原理得到三维坐标, 恢复被测物体的深度信息, 实现三维重建。
3 双目立体视觉国内外发展动态
国际上对于双目立体视觉开展了诸多研究并取得了一系列成果, 国内相关研究虽起步较晚, 但随着计算机技术的快速发展, 研究水平不断提升, 双目立体视觉在工业、农业与军事领域也都显示出了广阔的发展前景与巨大的应用价值。
3.1 国外研究动态
Jung等
[
13
]
基于双目立体视觉技术研制了移动机器人, 该机器人能够感知外界物体的运动情况, 然后根据接受到的环境信息进行动态场景的处理。
美国波古顿动力公司设计开发了基于立体视觉导航技术的仿生四足机器人Big Dog, 该机器人能辨识周围环境, 通过获取各种障碍物的距离信息进行移动和避障。
华盛顿大学与微软公司合作研制了宽基线立体视觉系统
[
14
]
, 使“探测者”号能够在火星上进行精确的定位与导航。系统使用同一个相机在“探测者”号的不同位置上拍摄图像对, 然后采用非线性优化算法、最大似然概率法及高效的立体搜索得到亚像素精度级别的视差, 再据此计算图像对中各点的三维坐标, 实现实时的火星表面地形的三维重建。
日本大阪大学自适应机械系统研究院设计并研制了自适应双目视觉伺服系统, 以每幅图像中相对静止的三个标志点为参考, 实时计算目标图像的雅可比矩阵, 对目标下一步运动方向进行预测
[
15
]
, 实现了运动目标的自适应跟踪。与传统的视觉跟踪伺服系相比, 该系统不需要事先知道相机的相关参数和目标的运动方式, 仅要求拍摄的两幅图像中都有静止的参考标志物, 操作简单, 大大提高了系统工作效率。
Comlekciler等
[
16
]
提出了一种基于双目立体视觉的三维颌骨复位技术, 使用了一款基于逐像素立体匹配算法的软件实时跟踪患者颌骨的位置, 从而引导正颌手术的进行。测量误差平均值为0.25 mm±0.18 mm, 远远低于正颌手术规定的1 mm误差, 能满足临床手术的使用要求。该技术优点是采用可见光光源, 避免了以往激光光源在手术过程中对人体带来的伤害。
新西兰奥克兰大学的Saleem等
[
17
]
对双目立体视觉的检测精度进行了研究。他们认为可以通过基于视觉的控制机制来解决交通任务, 提出了没有任何障碍的道路区域的概念, 并对此进行了自由空间分析。该研究新颖之处在于针对不同的路况和照明条件, 对双目算法和单目算法的优劣进行了比较, 结果表明, 在城市道路中模拟时, 基于双目视觉的检测算法的精确度更高, 但当环境变量增多(例如下雨), 基于双目视觉的算法精度会大幅度下降。此外, 他们还提出了一种使用多项式曲线拟合来降低视觉检测误差的创新方法。
Rogister等
[
18
]
提出了一种新的基于异步视觉时间的立体匹配算法。与传统的基于帧的相机不同, 最新的人工硅制视网膜能以类似于生物视网膜输出细胞的方式, 输出连续的异步时间事件流以解决移动物体的立体匹配问题。该算法能够过滤掉错误的匹配, 尽管传感器的空间分辨率低, 但依然能够准确地重建移动物体的深度信息。
澳大利亚奥克兰大学的Gee等
[
19
]
开发了一个能够实时生成深度图的轻量级无人机专用双目立体系统。这个系统由专用相机同步盒、基于快速查找的整改系统、基于块匹配和动态编程的通信仪和简单的误差-深度转换单元等四个模块组成, 能够在一堆同步的运动相机实时拍摄的图像流中通过双目立体视觉计算生成一系列带有深度信息的图像。最终的输出结果可以通过网络传送到服务器上处理, 并在安卓系统上实现完整的传输流程。该系统的创新之处在于不但能保证图像传输的质量和实时性, 运行系统的小型化, 而且能在户外复杂的环境中使用。
3.2 国内研究动态
哈尔滨工业大学的高庆吉等开发出异构双目视觉系统
[
20
]
, 使机器人能够捕捉多个有效目标, 实现了足球机器人的全自主导航。
中科院自动化研究所开发了一款自主移动机器人, 通过对周围环境进行图像采集并立体匹配, 能够得到相关位置和距离信息, 进而对自身的移动进行导航。
南京航空航天大学的张凤静等利用双目立体视觉测量汽车安全车距
[
21
]
, 根据车辆分别在左右相机拍摄的图像中的坐标计算得到车辆到相机的距离。
浙江大学左爱秋等
[
22
]
利用双目立体视觉, 只需从采集到的两幅图像中得到必要的特征点的三维坐标, 就能实现对多自由度机械装置精确地进行动态位姿检测, 该方法处理速度快, 特别适合对动态情况的检测。
天津大学精密测试技术与仪器国家重点实验室研制了“夏利轿车车身尺寸视觉检测站”
[
23
]
, 可以用于汽车工业中在线测试车身总长。该系统用多个视觉传感器分别测量车身上一个关键点在传感器坐标系中的三维坐标, 再将所有测量结果统一到工件坐标系中, 得到最终的测量结果。
清华大学智能技术与系统国家重点实验室采用典型的平行双目立体视觉系统开发了拟人机器人TBIPR-1
[
24
]
, 身高1.60 m, 体重100~210 kg, 能根据视觉、触觉和听觉自主实现步行、慢跑、跨越障碍、拾取物体以及其他与人类相似的较高级运动。
4 双目立体视觉的发展展望
双目视觉作为一种新型非接触性测量技术, 具有操作简便、处理高效、在线实时、三维测量等优势, 在工业检测、生物医学、虚拟现实等领域均有着巨大的应用价值。但是双目立体视觉仍然存在很多特殊和复杂的问题, 如尚未解决的立体匹配问题就是目前双目立体视觉发展的瓶颈。从目前的研究动态来看, 其发展趋势可以总结如下:
(1) 选择合理的匹配特征, 建立更有效的图像表达形式和双目立体模型, 为立体匹配提供更多信息, 解决准确匹配与全面恢复视差的矛盾。
(2) 研究适用于全面立体视觉的计算理论和匹配策略, 构造与人类视觉相似的通用立体视觉系统。
(3) 精简并优化双目立体视觉算法, 提高运行速度, 增强系统的操作效率和实用性。
(4) 针对不同的应用场景, 建立适配程度高、有目的的双目立体视觉系统。
双目立体视觉随着光学、电子学以及计算机技术的发展与结合不断进步, 在视觉导航、人机交互、虚拟现实、工业生产自动化等方面发挥着越来越大的作用。随着相关技术及理论的不断发展, 人们会将更多的精力和财力投入到双目立体视觉的研究中来, 解决目前所存在的问题并取得更多更有价值的成果。
MARR D.
Vision:a computational investigation into the human representation and processing of visual information[M]. London: MIT, 1983: 8.
WESLEY E S, HAIRONG Q.机器视觉教程[M].林学訚, 崔锦实, 赵清杰, 等, 译.北京: 机械工业出版社, 2005.
段春梅.基于多视图的三维模型重建方法研究[D].济南: 山东大学, 2009.
HARTLEY R, ZISSERMAN A. Multiple view geometry in computer vision[J].
Kybernetes, 2003, 30(9/10): 1865–1872.
冯宇.基于计算机立体视觉的三维重建系统研究[D].青岛: 青岛科技大学, 2009.
ABDEL-AZIZ Y, KARARA H M.Direct linear transformation into object space coordinates in close range photogrametry[C].ProcSymp: Close-Range Photogrammetry, 1971.
TSAI R. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Journal on Robotics and Automation, 1987, 3(4): 323–344.
DOI:10.1109/JRA.1987.1087109
ZHANG Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330–1334.
DOI:10.1109/34.888718
ZHANG Z Y.Camera calibration with one-dimensional objects[C]//Computer Vision-European Conference on Computer Vision 2002.Berlin Heidelberg: Springer, 2002: 161-174.
JUNG B, SUKHATME G S. Real-time motion tracking from a mobile robot[J]. International Journal of Social Robotics, 2010, 2(1): 63–78.
DOI:10.1007/s12369-009-0038-y
DI K C, PENG M. Wide baseline mapping for mars rovers[J].
Photogrammetric Engineering & Remote Sensing, 2011, 77(6): 609–618.
郭陆峰.双目视觉系统关键技术研究[D].福建: 华侨大学, 2008.
COMLEKCILER I T, GUNES S, IRGIN C. Three-dimensional repositioning of jaw in the orthognathic surgery using the binocular stereo vision[J]. International Journal of Science & Technology, 2017.
DOI:10.24200/SCI.2017.4351
SALEEM N H, KLETTE R.Accuracy of free-space detection: monocular versus binocular vision[C]//Proceedings of 2016 International Conference on Image and Vision Computing New Zealand.Palmerston North, New Zealand, IEEE, 2016: 1-6.
ROGISTER P, BENOSMAN R, IENG S H, et al. Asynchronous event-based binocular stereo matching[J]. IEEE Transactions on Neural Networks and Learning Systems, 2012, 23(2): 347–353.
DOI:10.1109/TNNLS.2011.2180025
GEE T, DELMAS P, JOLY S, et al.A dedicated lightweight binocular stereo system for real-time depth-map generation[C]//Proceedings of 2016 Conference on Design and Architectures for Signal and Image Processing.Rennes, France, IEEE, 2017: 215-221.
高庆吉, 洪炳熔, 阮玉峰. 基于异构双目视觉的全自主足球机器人导航[J]. 哈尔滨工业大学学报, 2003, 35(9): 1029–1032.
DOI:10.3321/j.issn:0367-6234.2003.09.002
张凤静, 周建江, 夏伟杰. 基于双目立体视觉的汽车安全车距测量方法[J]. 智能系统学报, 2011, 6(1): 79–84.
DOI:10.3969/j.issn.1673-4785.2011.01.011
左爱秋, 吴江宁, 李世伦, 等. 双目体视检测多自由度机械装置位姿的工作原理和技术特点[J]. 测控技术, 1999, 18(4): 27–29.
DOI:10.3969/j.issn.1000-8829.1999.04.011
邾继贵, 杨学友, 叶声华. 车身三维尺寸视觉检测及其最新进展[J]. 汽车工艺与材料, 2002(3): 22–25.
DOI:10.3969/j.issn.1003-8817.2002.03.009
朱永光, 孙政顺, 赵南元. 拟人机器人视觉系统的硬件结构设计[J]. 计算机工程与应用, 2002, 38(9): 116–117.
DOI:10.3321/j.issn:1002-8331.2002.09.039