杨璇璇,刘景勇,王艳芬,云霄,董锴文,魏力
(1.中国矿业大学 信息与控制工程学院, 江苏 徐州 221116;2.徐州中矿数字化矿山技术研究所, 江苏 徐州 221116;3.河南能源化工集团新疆投资控股有限公司, 新疆 乌鲁木齐 830026)
煤矿井下环境复杂,安全隐患较多,需要对井下巷道进行视频监控[1]。单个摄像头视野有限,无法实现大范围监控,需要采用图像拼接技术将多个摄像头拍摄的有重叠区域的图像拼接成视野更大、清晰度更高的监控画面[2],为后续井下监控视频分析提供数据基础。目前定点旋转摄像头拍摄场景下的图像拼接技术已取得了显著成果。但在煤矿井下巷道等狭长通道中,采用定点旋转摄像头成本较高,且拍摄视野和图像拼接效果有限。本文针对煤矿井下巷道视频监控问题,采用大视差拍摄场景,设计如图1所示的摄像头排列布局方式,以最少数量的摄像头拍摄最大范围的巷道视野。由于拍摄场景距离摄像头较近,摄像头之间距离较远,造成待拼接图像之间视差过大,加大了图像拼接难度,所以需要采用一种适用于大视差拍摄场景的图像拼接方法。
图1 煤矿井下巷道中摄像头排列布局方式Fig.1 Arrangement mode of cameras in coal mine underground roadway
现有的图像拼接方法主要有基于全局对齐的方法、基于局部变形的方法和缝合线主导的方法。若待拼接图像满足单点透视假设,即待拼接图像通过定点旋转摄像头拍摄得到,或拍摄场景距离摄像头较远,使得待拼接图像间不存在视差,采用基于全局对齐的方法可实现图像的自然无缝拼接。文献[3]首先采用全局单应性矩阵对齐图像重叠区域,然后将变形后的图像投影到一个平面内,最后使用多频带融合算法得到拼接结果。文献[4]通过改进特征匹配算法提高特征点匹配精度和全局单应性矩阵的对齐能力,进一步提高了图像拼接质量。但大视差拍摄场景下获取的图像不满足单点透视假设,采用基于全局对齐的方法时会出现未对齐区域模糊、重影等情况,因此该方法无法满足大视差场景下的图像拼接需求。
基于局部变形的方法针对存在一定程度视差的待拼接图像可实现自然拼接。该方法通过在待拼接图像上划分网格得到多个局部区域,再分别对每个局部区域进行对齐[5],提高了存在视差情况下的图像对齐能力。文献[6]先采用单应性矩阵粗对齐图像,再对图像划分网格,根据特征点分布情况设计变换矩阵,提高了图像对齐精度。文献[7]提出了一种基于全局相似度约束的投影偏差校正局部变形方法,校正了局部区域投影偏差,可获得更加精确的拼接结果。但基于局部变形的方法仍无法解决大视差场景下的图像拼接问题。
为实现大视差图像重叠区域对齐,需将其中1幅图像折叠起来。基于全局对齐或局部变形的方法无法折叠图像,也无法将图像重叠区域完全对齐,导致出现模糊、重影甚至扭曲、变形情况。文献[8]认为得到自然无缝的图像拼接结果比实现重叠区域完全对齐更重要,因此提出了缝合线主导的方法,通过产生多个局部对齐并在每个局部对齐上计算缝合线得到多个拼接结果,选择最自然无缝的生成图像作为拼接结果。文献[9]提出了基于图形的局部对齐候选,并采用缝合线指导局部对齐,进一步提高了缝合线主导方法的有效性。
虽然缝合线主导的方法能够在一定程度上处理大视差场景图像拼接问题,但在产生局部对齐候选时没有针对性,且计算缝合线时往往只考虑相邻像素颜色差异,而煤矿井下光线昏暗,颜色信息缺失,在图像缝合线处可能会出现割裂、错位等现象。因此,本文提出一种基于多平面多感知缝合线的井下巷道大视差图像拼接算法:基于多平面产生对齐候选单应性矩阵,每个单应性矩阵能将图像中的1个平面对齐,解决巷道大视差场景下平面不一致问题;考虑井下监控画面颜色信息缺失、图像纹理不明显等问题,提出基于颜色、边缘及显著度等多感知特性生成缝合线,实现井下巷道大视差场景下图像的自然、无缝拼接。
基于多平面多感知缝合线的井下巷道大视差图像拼接算法原理如图2所示。首先,采用尺度不变特征变换(Scale Invariant Feature Transform,SIFT) 算法对输入图像进行特征点检测和匹配,得到一组特征匹配点;然后,基于多平面进行特征匹配点分组,每组特征匹配点对应的对齐候选单应性矩阵都可以对齐图像中的1个平面;最后,在每组局部对齐的图像上计算多感知缝合线,选择拼接效果最好(即缝合线能量最小)的对齐候选对齐图像,合成最终拼接图像。
图2 基于多平面多感知缝合线的井下巷道大视差图像拼接算法原理Fig.2 Principle of stitching algorithm of large parallax images in underground roadway based on multi-plane and multi-perception seam
采用随机抽样一致性 (Random Sample Consensus,RANSAC) 算法作为单应性矩阵估计算法,其选择能够拟合最多组特征匹配点的单应性矩阵作为图像的对齐模型。但RANSAC算法仅能对齐图像中的1个主平面,不适用于大视差拼接场景中存在多个对应平面的情况,因此采用多层叠加RANSAC算法的方式得到多组特征匹配点[10],用每组特征匹配点对应的单应性矩阵对齐图像中的1个平面,实现图像局部对齐。
特征匹配点分组过程:采用SIFT算法得到2张待拼接图像的1组初始特征匹配点,之后采用RANSAC算法筛选初始特征匹配点,得到1组内点,计算该组内点对应的单应性矩阵,其可对齐图像中的1个平面;将内点去除后,在剩余的特征匹配点上继续使用RANSAC算法提取内点,得到的内点对应图像中的另一个平面;重复上述操作,直至剩余特征匹配点数小于阈值,停止分组。
多平面特征匹配点分组效果如图3所示。可看出图像中门所在的垂直平面、椅子所在的垂直平面及地面中的特征匹配点被准确地分离出来。
缝合线算法可在局部对齐的2张图像上找到1条接缝,将图像无缝拼接在一起。其可表示为在马尔科夫随机场上加标签的问题,生成图像中每个像素点的颜色来源于1幅输入图像,来源于不同输入图像的2个相邻点之间便形成1条接缝。缝合线可通过graph-cut方法求解能量方程最小化的方式进行计算。
设Ir,It为待拼接图像,图像特征匹配点经第j(j∈N*)次分组后缝合线算法的输入为Ij,Ij=HjIt,Hj为第j次分组后的单应性矩阵。循环计算每组局部对齐图像Ir,Ij的缝合线。记P为局部对齐图像的拼接域,L(L={0,1})为可选标签集合,给生成图像拼接域中的每个像素点p(p∈P)加标签lp(lp∈L)即可得到缝合线。lp=0表示像素点p的RGB值来源于Ir,lp=1表示像素点p的RGB值来源于Ij。缝合线算法的目的是找到1组标签l,使其能最小化缝合线能量方程。
(a) 待拼接图像
(1)
式中:E(l)为能量;Ed(p,lp)为数据项,表示给像素点p加标签lp的代价;Es(p,q,lp,lq)为平滑项,表示给相邻像素点对(p,q)加标签(lp,lq)的代价;N为所有相邻像素点对的集合。
生成图像中像素点p在输入图像中存在有效RGB值时,Ed(p,lp)=0,否则Ed(p,lp)=∞。
煤矿井下图像具有低照度、纹理不明显等特点,若只考虑平滑项中相邻像素点的颜色差异,会导致图像缝合线处出现纹理结构割裂、错位现象。本文提出的多感知缝合线同时考虑人眼对图像的多种感知,包括相邻像素点的颜色、显著度及边缘信息,提高了对缝合线的约束,得到的拼接结果更自然、无缝。多感知缝合线的平滑项为
Es(p,q,lp,lq)=|lp-lq|W(p,q)×
(Ec(p,q)+Eg(p,q))
(2)
式中:W(p,q)为像素点p,q处显著度的平均值;Ec(p,q)为颜色能量项,Ec(p,q)=sigmoid(cd),cd为2张输入图像在像素点p,q处的颜色差异;Eg(p,q)为边缘能量项,Eg(p,q)=|ed(p)|+|ed(q)|,ed(p),ed(q)分别为2张输入图像在像素点p,q处的边缘差异,由Canny算子计算得到。
人眼通常把注意力放在显著度高的物体上,因此在显著度高的物体上生成的缝合线偏差更容易引起注意。由式(2)可知,像素点处的显著度越高,则缝合线能量越大,因此应避免缝合线通过高显著度物体。
2个相邻像素点之间的颜色差异越小,则缝合线能量越小,因此应避免缝合线落在颜色差异大的区域。人眼对于颜色差异的感知是非线性的,当cd小于某阈值时人眼分辨不出颜色差异,cd等于该阈值时人眼对颜色差异的敏感度急剧上升,cd大于该阈值时人眼可明显看出颜色不同。因此,可通过给cd加sigmoid度量来模拟人眼对颜色差异的感知特性[11]。sigmoid函数表达式为
(3)
式中:k为常数;τ为颜色差异阈值,由大津法解得。
2张输入图像在像素点p,q处的边缘越相似,接缝处偏差越不明显。在缝合线能量方程的平滑项中加入Eg(p,q)后,2个相邻像素点处边缘差异越大,则缝合线能量越大,因此应避免缝合线落在边缘差异大的区域。
得到缝合线能量方程后,采用graph-cut方法使其最小化,得到拼接域中每个像素点的标签并记录缝合线能量,能量越小则生成图像质量越高。
基于多平面多感知缝合线的井下巷道大视差图像拼接算法流程如下。
(1) 采用SIFT算法对输入的待拼接图像Ir和It进行特征点检测、匹配,得到初始特征匹配点M0。
(2) 设初始值j=1,针对初始特征匹配点M0,采用RANSAC算法得到1组内点Mj,并计算对应的单应性矩阵Hj。
(3) 更新初始特征匹配点M0=M0-Mj,j=j+1,重复步骤(2)。
(4) 重复步骤(3),直至M0个数小于10,停止分组,得到单应性矩阵集合{Hj},并将Hj个数记为n。
(5) 令j=1,计算局部对齐图像Ir,Ij对应的数据项和平滑项,得到能量方程。
(6) 采用graph-cut算法最小化能量方程,得到1组标签,并记录缝合线能量。
(7)j=j+1,更新Ij并重复步骤(5)、步骤(6),直至j=n+1,循环结束,得到缝合线能量集合。
(8) 比较缝合线能量集合中各元素大小,选择最小值对应的局部对齐图像,沿缝合线合成拼接结果。
实验平台为Intel core i5 CPU,2.8 GHz,8 GB内存,64位Win10操作系统,Matlab R2015a仿真软件。RANSAC算法中投影误差阈值越小,则内点越集中于同一平面、同一景深的物体上,因此投影误差阈值取0.003。sigmoid函数中τ=0.06。实验对比只考虑颜色的缝合线算法与多感知缝合线算法、经典图像拼接算法(包括APAP[5],ANAP[12],SPHP[13],NISwGSP[14],RobustELA[15])与基于多平面多感知缝合线的图像拼接算法的拼接效果。
基于缝合线算法的图像拼接结果如图4所示。可看出只考虑颜色的缝合线算法的图像拼接结果不自然、存在错位现象,而多感知缝合线算法考虑了图像显著度及边缘信息,使缝合线经过显著度低且纹理不明显的区域,减少了接缝附近的图像错位,拼接结果更自然、无缝。
(a) 只考虑颜色的缝合线算法
缝合线能量越低,则所经过区域的像素点相似度越高,接缝边缘拼接痕迹越不明显。只考虑颜色的缝合线能量为0.632,而多感知缝合线能量为0.350,较前者降低44.6%。可见,多感知缝合线算法在井下巷道大视差拼接场景中可取得更自然的拼接效果。
本文算法与经典图像拼接算法的拼接结果如图5所示。可看出本文算法的图像拼接结果清晰、自然、无缝,而其他算法的拼接结果均存在不同程度的模糊、重影现象。这是由于APAP,ANAP,SPHP,NISwGSP,RobustELA算法在拼接图像时要求图像重叠区域全部对齐,但是在大视差场景下,图像重叠区域存在多个平面,上述算法无法实现所有平面同时对齐,造成拼接图像中出现模糊、重影等现象;本文算法基于缝合线算法,根据分离出的多个平面计算局部对齐,消除了拼接结果中因算法对齐能力不足导致的图像重影问题,并考虑了煤矿井下照度低、图像纹理不明显的特点,结合图像颜色、边缘、显著度计算多感知缝合线,使得缝合线经过低亮度和边缘差异小的区域、绕过显著度高的物体,消除了局部区域错位现象。
(a) APAP算法
(1) 针对煤矿井下巷道狭窄、冗长的特点,设计了摄像头排列布局方式,采用大视差拍摄场景,以产生更大视野的监控范围。
(2) 针对井下大视差监控场景,提出了基于多平面多感知缝合线的井下巷道大视差图像拼接算法:基于多平面特征匹配点分组产生对齐候选,实现图像局部对齐;采用基于颜色、边缘及显著度的多感知缝合线算法进行图像拼接,减少了局部区域错位现象。
(3) 实验结果表明,基于多平面多感知缝合线的井下巷道大视差图像拼接算法可实现无模糊、无重影、自然的拼接效果。