1. 引言
双目测距是被动式测距,具有精度高,测量距离远等特点,广泛应用于国防科技,军工测量,航空目标测距等有保密需求和环境受限制的场合 [1] ,其中微光测距是一类特殊而重要的需求,是安防监控、夜间观测等应用中的关键技术,但针对这类环境下的双目测距研究较少,由于微光成像设备的制约、拍摄环境的复杂多变性、双目立体视觉本身的局限性,都对微光环境下目标距离的准确、稳定测量带来了挑战,也使得很难直接使用传统测距法来进行双目测距 [2] 。当前,微光双目测距的研究文献数目较少,我们的研究将以日光条件下的双目测距技术为基础。在针对双目立体视觉系统的研究上,国内外学术界已取得了诸多优秀成果 [3] 。在摄像机标定方法上,提出了基于摄影测量学的传统设备标定法、直接线性变换(DLT)法、透视变换矩阵法、Tsai两步法、双平面标定法等 [4] ,研究者试图在将标定方法精度提高的同时使得标定过程越来越简单,对标定物的要求逐渐降低,取得了长足进步 [5] 。基于国内外在双目立体视觉和微光图像处理领域的研究成果,我们将针对微光环境下的双目测距进行探索。对微光图像的去噪和增强,国内外学者进行了广泛的研究 [6] ,提出的方法各有优缺点,因此要针对具体面向的微光环境场景特点进行有针对性的选择和调整。
因此,针对在微光环境下,对双目立体视觉方法的设计和改进,具有重要的研究意义和广泛的应用前景 [7] 。本文针对微光环境下的远距离测距问题,基于当前的微光成像设备和双目立体视觉测距技术,提出符合夜间被动测距需求的被动测距方法,拓展测距技术的应用范围,使得远距离微光双目测距得以实现,并根据微光成像特点,在概括分析双目立体视觉原理与方法的基础上,搭建便携式微光测距原型系统,提取适应低照度图像的稳定有效的特征,并提出系统精度优化方法,在30~200米范围内测距误差小于1%。
2. 系统开发环境与设计流程图
本文标定和图像匹配算法由开源计算机视觉库OpenCV实现。系统界面实现代码由QT和C++构成,运行高效,可移植性强。实验搭建了一套微光双目测距系统,可以实现对微光图像的采集和预处理、标定和误差补偿模型建立、在线测距即时结果显示等。本文的系统算法流程如图1,首先对图像进行预处
理便于相机标定和特征点匹配,然后进行相机标定确定相机内外参数,在系统中进行特征提取和特征匹配来选取同名点并利用三角化重建得出测距结果,建立误差补偿模型,最终实现在线实时测距。
3. 双目测距系统的标定
相机标定本质上是消除相机制造误差,建立图像坐标系、摄像机坐标系和世界坐标系之间联系的过程。根据三角形相似,空间中一点的世界坐标
与其在像平面上的坐标
间满足透视投影方程:
(1)
传统测距方案采用平行式双目立体视觉系统,由于其目标点与双目相机距离短,因此要求两相机公共视野区范围尽可能大,导致基线短,相机相对位姿容易调整,方便双目矫正。但基线短也导致了一旦目标点离测距系统较远时就难以保证双目相机有足够的公共视野区。本实验因为其测距距离远,基线长,两相机很难保证平行,因此采用汇聚式搭建,双目相机的光轴是交汇的。如图2所示。
汇聚式标定法使得双目相机公共视野区域更大,可测范围更广,有利于测距图像的采集,且相机间的基线距离可以扩展到很大。但由于汇聚式系统初识角度较大,在进行双目矫正时极难将左右目图像的极线校正至平行,因此采用Bouguet算法进行双目矫正,从而使重投影畸变最小。
4. 基于三角化的双目测距方法
4.1. 微光图像匹配
微光测距图像含有条带和椒盐噪声,在标定和特征提取时对特征点位置造成影响,并且图像整体较暗,对图像匹配造成很大困难,因此进行匹配前需要进行去噪和增强。实验使用OpenCV的双边滤波(Bilateral filter)算法和自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization, CLAHE)方法进行对比度增强 [8] ,预处理结果对比如图3所示。
双边滤波在有效的去除条带的同时使得图像边缘和细节得到了更多的保留。CLAHE使得图像的对比度得到了有效展宽,图像中物体的目视清晰程度显著提高。实验采用ORB (Oriented FAST and Rotated BRIEF)特征提取和GMS (基于网格的运动统计)特征匹配 [9] 。匹配结果如图4。
GMS特征匹配将高匹配数字转换成高匹配质量,提供了实时、高精度的匹配系统,符合本文对测距实时性的要求。在评估低质量、模糊的图像上,GMS效果优于其他实时匹配器。经过预处理后的图像可以得到较为精确的同名点坐标,解决了通常微光图像无法进行特征匹配的难题。
4.2. 三维重建和三角化测量
由于实验是在200米的范围进行,如图5所示,目标在横向移动时根据近似三角形法测距得到的是l',与实际距离l之间有着难以忽略的误差,故采用三维重建中的三角化测量法来求距离。
![](//html.hanspub.org/file/6-2670138x13_hanspub.png)
Figure 2. Converged binocular stereoscopic imaging relationship diagram
图2. 汇聚式双目立体视觉成像关系图
(a)
(b)
Figure 3. Collected (a) low-light-level image and (b) the preprocessed image
图3. (a)和(b)分别为采集的微光原图像和预处理后的图像
![](//html.hanspub.org/file/6-2670138x17_hanspub.png)
Figure 4. GMS feature matching result
图4. GMS特征匹配结果图
![](//html.hanspub.org/file/6-2670138x18_hanspub.png)
Figure 5. Measurement of distance difference between two binocular range methods. When the range is far away, the target in the image public area has a long distance to move. And there is negligible difference in the representation of the two methods
图5. 两种双目测距法测量距离差异。当需要测距范围很远时,目标在远距离处图像公共区域内有很大的移动空间,两种距离的表征存在不可忽视的差异
通过GMS获得了双目图像上的匹配点后,为了计算目标点的距离,首先需要获得目标在空间中的位置,以左目图像为原点创建世界坐标系,由旋转矩阵和平移矩阵求出右目匹配点在空间中的坐标,再与目标点进行反复的重投影消除误差即可求出对应空间点的世界坐标系坐标。根据相机标定所获得的内外参数可直接得到投影矩阵:
,因此符合三角化计算的条件。根据标定得出双目相机的内外参数后,只要图像上的投影点
,
只要满足对极约束,空间点就可求。我们要通过图像上的像点,对该点在空间中的位置进行重建,从而获得空间坐标。世界坐标系中的目标点
与对应图像上的像点
之间存在关系:
(2)
为在相机成像平面上的广义坐标,
为未知的尺度参数,现在定义
为
矩阵的行向量,等式(2)可以重新写为:
(3)
用第三个等式消除 ,得到
(4)
应用到左右目相机后可以得到四个关于
的线性等式,使用非齐次的方法进行求解,可得:
(5)
为左右目相机成像平面的匹配点坐标,
为相机内参数矩阵,因为坐标系是以左目成像平面为原点的,所以等式中相对于左目的
为单位矩阵,
为0向量,等式简化后可得:
(6)
根据上述计算过程可以通过相机成像平面的匹配点坐标求出对应的空间点坐标。由于微光图像噪声大,线性求解过程存在误差等原因,得到的结果并不十分精确,因此要用最小二乘法经过多次迭代后得出最优解。
5. 建立误差补偿模型
根据多组测距结果发现即便使用三角化测量在距离过远时误差也会变得难以忽视,将测距预期值与真实值一同显示后发现误差的变化是有迹可循的,如图6所示。
因此我们可以拟合出一条误差的曲线模型,在测距值的基础上经过误差修正就能达到预期精确度。此外还发现了其他问题,双目相机公共视野区左右两侧目标的测距值在经过误差补偿后还是会和真实值有一定的误差,为了提高系统的精确程度,实验增加了二次误差补偿,即以对双目视野中心测距值进行一次补偿后,再将图像进行横坐标分割,分为左区域和右区域,根据离视野中心的像素值为权重值来进行二次补偿。经过OpencCV多项式拟合后发现误差符合多项式拟合的函数为多项幂函数,将一组测试值与真实值进行多项式拟合,修正模型函数形式如式(7):
(7)
经过二次补偿的测距值如图7所示。
以上实验的训练集中,目标的距离均匀覆盖了30~200 m的范围,得到了较好的结果。实验证明,采用拟合手段进行测距结果的修正是有效的。进过修正,在200米测距范围之间,测距误差可以控制在1%以内。
![](//html.hanspub.org/file/6-2670138x39_hanspub.png)
Figure 6. The error relation diagram between the measured value and the true value
图6. 测量值与真实值误差关系图
![](//html.hanspub.org/file/6-2670138x40_hanspub.png)
Figure 7. The result map of distance measurement after error compensation
图7. 经过误差补偿后的测距结果图
6. 测距系统实验结果
实验采用分辨率为
像素的微光工业相机,镜头为75 mm定焦镜头,低光照敏感度0.000005 lux,标定板角点个数为
,方格边长为90 mm,基线长1.5 m。因为夜间图像噪声大,一次标定40组图像,OpenCV提取出全部角点的图像为22张,相机内外参数为:
(8)
(9)
(10)
(11)
和
位左右目相机的内参数,
是右目相对于左目相机的旋转矩阵,
是右目相对于左目相机的平移矩阵。拟合多项式如式(12):
(12)
经过该函数修正后的测距结果如表1所示。在这组测距实验中,测距值平均绝对误差为0.8322 m,平均相对误差为0.01653%。测距误差的标准差为0.8634,误差在1 m内的测距结果占所有结果的43.9%。最大的测距误差为4.77 m,出现在190 m处。
四类测距方法测距结果如表2所示,传统测距法无法在微光环境进行测距。使用了微光相机和图像预处理的高精度微光双目测距法可以在微光环境下进行测量,但距离超过80 m后误差会呈指数增长。基
![](Images/Table_Tmp.jpg)
Table 1. Ranging results with error correction
表1. 加上误差修正的测距结果
![](Images/Table_Tmp.jpg)
Table 2. Comparison of the results of four kinds of distance measurement
表2. 四类测距法结果比较
于一次误差补偿的双目测距在200 m范围内可以进行很好的测距,但视野中心和两边会有轻微误差。基于两次误差补偿的双目测距范围可以达到红外测距仪的极限250 m,而且有着很好的精度,试验结果表明,本文基于误差补偿的微光双目测距能够在微光环境下进行远距离高精度测距。
7. 结语
本文基于OpenCV,实现了对低照度情况下的目标进行远距离、高精度的测距。为实现系统功能,对双目相机标定、图像矫正、增强去噪、特征点匹配、三角化测量、建立误差修正模型等关键技术进行了研究,系统采用汇聚式立体视觉系统解决了搭建困难等问题;使用三角化方法来解决了传统测距无法测量远距离目标的问题;并提出了使用误差补偿来提高系统精度的问题。总的来说,在微光双目测距方法研究上取得了一定的成果,然而,微光环境下的目标被动测距中还存在很多问题,值得继续深入探讨和完善。