基于双目匹配的管内检测方法、装置、电子设备及介质与流程

文档序号:31627677发布日期:2022-09-24 01:04阅读:95来源:国知局
基于双目匹配的管内检测方法、装置、电子设备及介质与流程

1.本发明涉及计算机视觉领域,尤其涉及一种基于双目匹配的管内检测方法、装置、电子设备及介质。


背景技术:

2.随着城市的规模不断扩大,工业、排污、生活等各种管道铺设在城市管网中,与城市生活息息相关,管道检测维护的任务也越来越重要,成为一项不可忽视的重要工作。
3.目前,管道检测根据检测设备所处位置不同可分为管道外检测和管道内检测两大类。外检测是将检测设备放在管道外部检测管道的情况,内检测是指将检测器放在管道内进行检测。内检测通常采用双目立体视觉的方法确定管道缺陷位置,并且双目立体视觉中的半全局算法采用sgbm算法。然而,sgbm算法中的sgbm匹配方法采用sobel x算子进行边缘检测,存在一定的误匹配率;sgbm算法中的代价计算主要为灰度绝对差值(sad),匹配精度较差,且容易受到环境光照等因素的影响,难以获取到管道内部较为精准的深度信息。
4.因此,在管内检测的过程中,现有技术存在管内深度的检测精度较低的问题。


技术实现要素:

5.有鉴于此,有必要提供一种基于双目匹配的管内检测方法、装置、电子设备及介质,用以解决现有技术中管内深度的检测精度较低的问题。
6.为了解决上述问题,本发明提供一种基于双目匹配的管内检测方法,包括:
7.获取双目相机的内部参数、外部参数以及双目相机拍摄的双目图像对,并基于内部参数和外部参数,确定左图像集和右图像集;
8.根据左图像集和右图像集,利用图像代价算法,确定图像对匹配视差图;
9.根据图像对匹配视差图,利用深度计算公式,确定管内图像深度图。
10.进一步地,获取双目相机的内部参数和外部参数,包括:
11.根据张正友棋盘格标定法计算,确定双目相机的内部参数和外部参数。
12.进一步地,基于内部参数和外部参数,确定左图像集和右图像集,包括:
13.获取双目相机拍摄的双目图像对,根据内部参数和外部参数,校正双目图像对,得到水平一致的图像对;
14.对水平一致的图像对进行灰度化处理,得到灰度图像对;
15.对灰度图像对进行分类,确定左图像集和右图像集。
16.进一步地,图像代价算法包括梯度代价算法和汉明距离代价算法,利用图像代价算法,确定图像对匹配视差图,包括:
17.根据左图像集和右图像集,基于梯度代价算法,确定管内图像的梯度代价;
18.基于汉明距离代价算法,确定管内图像的汉明距离代价;
19.基于梯度代价和汉明距离代价,根据路径聚合函数,确定图像对匹配视差图。
20.进一步地,基于梯度代价算法,确定管内图像的梯度代价,包括:
21.利用双边滤波分别对左图像集和右图像集进行处理,去除异常值,得到目标左图像集和目标右图像集;
22.根据canny算法分别对目标左图像集和目标右图像集进行边缘检测,确定管内图像的梯度特征图;
23.对梯度特征图进行census变换,确定管内图像的梯度代价。
24.进一步地,基于汉明距离代价算法,确定管内图像的汉明距离代价,包括:
25.分别获取左图像集和右图像集的代价计算区域;
26.对代价计算区域进行滤波,得到中值滤波,并将代价计算区域的中心值替换为中值滤波;
27.对左图像集和右图像集进行census变换,确定管内图像的汉明距离代价。
28.进一步地,根据路径聚合函数,确定图像对匹配视差图,包括:
29.根据具有调整参数的动态规划法,调控梯度代价和汉明距离代价对应的惩罚参数,确定最优路径聚合函数;
30.根据最优路径聚合函数,确定图像对匹配视差图。
31.为了解决上述问题,本发明还提供一种基于双目匹配的管内检测装置,包括:
32.图像集获取模块,用于获取双目相机的内部参数、外部参数以及双目相机拍摄的双目图像对,并基于内部参数和外部参数,确定左图像集和右图像集;
33.图像对匹配视差图获取模块,用于根据左图像集和右图像集,利用图像代价算法,确定图像对匹配视差图;
34.管内深度图确定模块,用于根据图像对匹配视差图,利用深度计算公式,确定管内深度图。
35.为了解决上述问题,本发明还提供一种电子设备,包括处理器以及存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现如前文所述的基于双目匹配的管内检测方法。
36.为了解决上述问题,本发明还提供一种计算机可读存储介质,存储介质存储有计算机程序指令,当计算机程序指令被计算机执行时,使计算机执行如前文所述的基于双目匹配的管内检测方法。
37.采用上述技术方案的有益效果是:本发明提供一种基于双目匹配的管内检测方法、装置、电子设备及介质,该方法包括:首先,通过双目相机采集管内图像,利用两个相机同时采集图像,能够实现立体匹配图像数据;然后,利用图像代价算法,确定图像对匹配视差图,不仅降低了外界光照条件的影响,并且能够有效抑制噪声,提高了管内图像的有效度;最后,利用深度计算公式,对管内图像数据进行处理,平衡了代价聚合中噪音的影响。本技术中,通过图像代价算法提取双目图像对中的数据信息,能够有效提高图像数据的精确度;由于是通过双目相机获取图像,能够从多个角度观测到管内的信息,并且生成立体图像,从而降低了低维度信息带来的精度影响,提高了管内图像深度的检测精度;最后,基于深度计算,有针对性地获取图像的深度图,提高了管内深度的检测精度。
附图说明
38.图1为本发明提供的基于双目匹配的管内检测方法一实施例的流程示意图;
39.图2为本发明提供的确定左图像集和右图像集一实施例的流程示意图;
40.图3为本发明提供的确定图像对匹配视差图一实施例的流程示意图;
41.图4为本发明提供的确定管内图像的梯度代价一实施例的流程示意图;
42.图5为本发明提供的确定管内图像的汉明距离代价一实施例的流程示意图;
43.图6为路径聚合示意图一实施例的角度图;
44.图7为管内图像深度图一实施例的结果图;
45.图8为本发明提供的基于双目匹配的管内检测装置的结构示意图;
46.图9为本发明提供的电子设备一实施例的结构框图。
具体实施方式
47.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
48.在陈述实施例之前,先对管内检测进行阐述:
49.管内检测是指利用管输介质驱动检测器在管道内运行,实时检测和记录管道的变形、腐蚀等损伤情况,并进行精准定位的工作。通过管道中检测器的检测结果,结合计算机等数据分析设备,对检测结果进行分析判断,从而了解管道的状况。通常可用于检测管道的变形、腐蚀和缺陷等。
50.进一步地,在通过管内检测的方法检测到管道的变形、腐蚀和缺陷等问题后,为了便于对管道进行后续的维修和保护,还需要对管内出现问题的部分进行定位。一般情况下,通过管内深度检测的方法,确定问题部位与摄像机的距离。
51.目前,一般采用双目立体视觉的方法确定管道缺陷位置,也就是说用双目立体视觉方法确定管道缺陷的位置。然而,双目立体视觉方法存在匹配率较低,匹配精度较差的问题,从而导致现有技术中存在管内深度的检测精度较低的问题。
52.为了解决现有技术中,管内深度的检测精度较低的问题,本发明提供了一种基于双目匹配的管内检测方法、装置、电子设备及介质,以下分别进行详细说明。
53.如图1所示,图1为本发明提供的基于双目匹配的管内检测方法一实施例的流程示意图,包括:
54.步骤s101:获取双目相机的内部参数、外部参数以及双目相机拍摄的双目图像对,并基于内部参数和外部参数,确定左图像集和右图像集。
55.步骤s102:根据左图像集和右图像集,利用图像代价算法,确定图像对匹配视差图。
56.步骤s103:根据图像对匹配视差图,利用深度计算公式,确定管内图像深度图。
57.本实施例中,首先,双目相机包括两个属性完全相同的相机,根据两个相机的位置,确定双目相机的内部参数和外部参数;然后,利用双目相机拍摄管内的图像,得到双目图像对,并且将不同的拍摄相机拍摄的图像进行分组,确定左图像集和右图像集;接下来,利用图像代价算法,分别对左图像集和右图像集进行处理,得到其对应的梯度代价和汉明距离代价,再将梯度代价和汉明距离代价综合,从而确定图像对匹配视差图;最后,利用深度计算公式,对图像对匹配视差图进行数据处理,确定管内图像深度图。
58.可以理解的是,上述实施例中通过双目相机采集管内图像,能够更好地定位管内
图像,并且利用图像代价算法确定图像对匹配视差图,能够得到精度较高的代价值,从而实现提高管内图像的定位精度。
59.作为优选的实施例,在步骤s101中,为了确定双目相机的内部参数和外部参数,采用张正友棋盘格标定法进行计算。
60.在一具体实施例中,使用棋盘格为9*9、方格边长为25mm的黑白棋盘格作为标定板,在双目相机工作距离的范围内拍摄25组不同位姿的标定板双目图像,利用matlab camera calibrator对拍摄双目图像实现标定。
61.在一具体实施例中,双目相机拍摄的图像分辨率为800*800。
62.在一具体实施例中,双目相机的内部参数包括:x方向上一个像素分别占多少长度单位,记作dx;y方向一个像素分别占多少长度单位,记作dy;图像的中心像素坐标和图像原点像素坐标之间相差的横向像素数,记作u0;图像的中心像素坐标和图像原点像素坐标之间相差的纵向像素数,记作v0;以及相机焦距,记作f。
63.其中,dx和dy是实现图像物理坐标系与像素坐标系转换的关键。
64.双目相机的外部参数包括:三个轴的旋转参数,记作ω、δ、θ;三个轴的平移参数,记作tx、ty、tz。
65.其中,将每个轴的3*3旋转矩阵进行组合,也就是矩阵之间相乘,得到集合三个轴旋转信息,记作r,其大小还是3*3;再将r与三个轴的平移参数进行组合,得到一个3*4的矩阵,该矩阵是转换到标定纸坐标的关键。
66.在其他实施例中,还可以选择其他规格的标定板,还可以拍摄其他数量的标定板双目图像;另外,双目相机拍摄的图像分辨率还可以根据实际情况需要进行调整。
67.作为优选的实施例,在步骤s101中,为了根据双目相机拍摄的双目图像对,确定左图像集和右图像集,如图2所示,图2为本发明提供的确定左图像集和右图像集一实施例的流程示意图,包括:
68.步骤s111:获取双目相机拍摄的双目图像对,根据内部参数和外部参数,校正双目图像对,得到水平一致的图像对。
69.步骤s112:对水平一致的图像对进行灰度化处理,得到灰度图像对。
70.步骤s113:对灰度图像对进行分类,确定左图像集和右图像集。
71.本实施例中,为了获取双目图像对,利用标定好的双目相机对管内情况进行拍摄,由于双目相机包括两个相机,因此,能够成对获取管内图像,即双目图像对。
72.在步骤s111中,根据双目相机的内部参数和外部参数,对双目图像对进行校正,一方面,消除由于相机的影响导致的双目图像的畸变;另一方面,进行极线校正,使得每一对双目图像对中的图像内容都能够在水平位置保持一致,即得到水平一致的图像对。
73.在步骤s112中,将水平一致的图像对进行灰度化处理,使rgb空间中的图像数据转换到灰度空间,从而得到灰度图像对。
74.在步骤s113中,将灰度图像对按照拍摄相机的不同进行分类,确定左图像集和右图像集。
75.本实施例中,通过对由双目相机拍摄的双目图像对进行校正处理,消除了由于双目相机拍摄造成的外部影响;然后,通过灰度化处理双目图像对,突出了双目图像对的特征,并且根据灰度图像对能够更加有针对性地获取目标数据;最后,对双目图像对进行分
组,有利于后续有序地对双目图像的数据进行处理。
76.作为优选的实施例,在步骤s102中,得到了左图像集和右图像集之后,还需要通过图像代价算法,才能够确定图像对匹配视差图,如图3所示,图3为本发明提供的确定图像对匹配视差图一实施例的流程示意图,包括:
77.步骤s121:根据左图像集和右图像集,基于梯度代价算法,确定管内图像的梯度代价。
78.步骤s122:基于汉明距离代价算法,确定管内图像的汉明距离代价。
79.步骤s123:基于梯度代价和汉明距离代价,根据路径聚合函数,确定图像对匹配视差图。
80.本实施例中,首先,通过梯度代价算法,将左图像集和右图像集的数据合并,确定管内图像的梯度代价;然后,通过汉明距离代价算法,确定管内图像的汉明距离代价;最后,通过路径聚合函数,将梯度代价和汉明距离代价融入,确定图像对匹配视差图。将左图像集和右图像集的数据进行整合,最终确定管内图像的对匹配视差图,以便于后续处理。
81.作为优选的实施例,如图4所示,图4为本发明提供的确定管内图像的梯度代价一实施例的流程示意图,包括:
82.步骤s1211:利用双边滤波分别对左图像集和右图像集进行处理,去除异常值,得到目标左图像集和目标右图像集。
83.步骤s1212:根据canny算法分别对目标左图像集和目标右图像集进行边缘检测,确定管内图像的梯度特征图。
84.步骤s1213:对梯度特征图进行census变换,确定管内图像的梯度代价。
85.本实施例中,首先,根据实际需要设置图像数据的阈值区间,双边滤波根据阈值区间,分别去除左图像集和右图像集中的异常值,得到目标左图像集和目标右图像集;然后,利用canny算法分别对目标左图像集和目标右图像集进行边缘检测,使得目标左图像集和目标右图像集变得平滑,然后将平滑后的目标左图像集和目标右图像集组合到一起,提取出梯度特征,从而确定管内图像的梯度特征图;最后,根据census变换,将管内图像的梯度特征图转化为梯度代价,从而确定管内图像的梯度代价。
86.本实施例中,一方面,利用双边滤波去除异常值,实现了从多方面提取需要的图像数据,降低了后续的计算难度;另一方面,利用canny算法对图像进行平滑处理并确定梯度特征图,优化了图像数据的梯度特征,并且有效提取到了管内图像的梯度代价,实现了对管内图像的量化计算。
87.在一具体实施例中,双边滤波器像素输出值的计算公式为:
[0088][0089]
其中,p(i,j)为像素输出值;f(k,l)为像素输入值;ω(i,j,k,l)为加权系数。
[0090]
作为优选的实施例,如图5所示,图5为本发明提供的确定管内图像的汉明距离代价一实施例的流程示意图,包括:
[0091]
步骤s1221:分别获取左图像集和右图像集的代价计算区域。
[0092]
步骤s1222:对代价计算区域进行滤波,得到中值滤波,并将代价计算区域的中心值替换为中值滤波。
[0093]
步骤s1223:对左图像集和右图像集进行census变换,确定管内图像的汉明距离代价。
[0094]
本实施例中,首先,分别对左图像集和右图像集进行区域划分,确定其代价计算区域;然后,依次对代价计算区域进行滤波计算,得到每个代价计算区域的中值滤波,进一步地,将代价计算区域的中心值替换为中值滤波;最后,利用census变换,确定管内图像的汉明距离代价。
[0095]
本实施例中,通过将代价计算区域的中心值替换为中值滤波,有效抑制了噪声,提高了管内图像的处理精度。
[0096]
在一具体实施例中,选择5
×
5窗口的正方形代价计算区域作为滤波窗口,对滤波窗口内像素进行中值滤波,得到中心像素值;然后,用中心像素值填充区域中心像素;最后,利用census变换得到管内图像的变换码,从而确定管内图像的汉明距离代价。
[0097]
本实施例中,通过滤波窗口的滤波,可以有效剔除中心像素点的噪声点,降低噪声干扰。
[0098]
在一具体实施例中,在中心值附近遭遇噪声时,利用传统变换,将得到截然不同的变换码,而加入了滤波后,与未受到噪声干扰的结果仅相差1,实现了有效抑制噪声。
[0099]
进一步地,在步骤s103中,获取到管内图像的梯度代价和汉明距离代价后,还需要根据路径聚合函数,才能确定图像对匹配视差图。
[0100]
首先,根据具有调整参数的动态规划法,对梯度代价和汉明距离代价对应的惩罚参数进行调控,确定最优路径聚合函数;然后,根据最优路径聚合函数,确定图像对匹配视差图。
[0101]
具体地,利用动态规划方法对每一个路径进行平滑处理时,都涉及到两个惩罚参数,这两个惩罚参数对于平滑项起着重要作用,直接影响到每个路径的聚合结果,并影响到最终的视差图。
[0102]
本实施例中,为了避免由于两个惩罚参数的选择失误,导致最终结果的精度低,在两个惩罚参数的基础上添加调整参数,通过调整惩罚函数,提高惩罚参数的准确性,实现路径更加平滑,边界更加清晰。
[0103]
在一具体实施例中,调整参数pn的计算公式为:
[0104]
pn=(1cosθ)*t
[0105]
其中,θ为p-r和p+r向量角,t为常数项,设定pn的阈值上限,通常取1。
[0106]
如图6所示,图6为路径聚合示意图一实施例的角度图。
[0107]
在一具体实施例中,确定调整参数后,路径聚合函数的计算公式为:
[0108]
lr(p,d)=c(p,d)+min(lr(p-r,d),
[0109]
lr(p-r,d-1)+p1+pn,
[0110]
lr(p-r,d+1)+p1+pn,
[0111][0112]
其中,p1、p2为常数,并且规定p1的常数项要小于p2的常数项。
[0113]
特别地,当视差变化较大时,会采用p2进行惩罚,当p2设置过大时,会导致边界模糊,pn参数会调整惩罚函数,达到减小p2的效果,从而平滑路径,清晰边界。
[0114]
在一具体实施例中,基于wta算法对匹配代价进行处理,处理过程中以标准欧式距离替换原算法欧氏距离,消除图像数据梯度不平衡带来的影响,最后输出图像对匹配视差图。
[0115]
作为优选的实施例,在步骤s104中,根据图像对匹配视差图,确定管内图像深度图,其中,深度计算公式为:
[0116][0117]
d=x
l-xr[0118]
其中,z代表图像深度,d代表左右视差,f可以通过标定获取,t为双目相机光心距离。
[0119]
在一具体实施例中,如图7所示,图7为管内图像深度图一实施例的结果图。
[0120]
通过上述方法,根据梯度代价计算和汉明距离代价计算,确定双目图像对的图像对匹配视差图,然后根据图像对匹配视差图,确定管内图像深度图。由于梯度代价计算和汉明距离代价计算能够较好地平滑管内图像的噪声,从而实现提高管内图像的处理精度,从而得到精度较高的管内图像深度图。
[0121]
为了检验本技术方案的效果,进行了对比实验。
[0122]
对比试验中,在pc机上,对middlebury数据集提供的标准图像对,进行本发明所述的双目匹配算法与sgbm匹配算法,测试环境为ubantu20.04,c++配合cuda与opencv编程实现,硬件为intel corei9-10980xe 3.0ghz,内存空间为128g,处理结果如一下两表所示:
[0123][0124]
表1算法误匹配率
[0125][0126]
表2算法匹配时间
[0127]
由上述对比试验的结果可知,与sgbm方法相比,本发明的误匹配率更低,匹配时间更短。也就是说,本技术方案不仅能够提高管内深度的检测精度,还能提高检测速度。
[0128]
为了解决上述问题,本发明还提供了一种基于双目匹配的管内检测装置,如图8所示,图8为本发明提供的基于双目匹配的管内检测装置的结构示意图,基于双目匹配的管内检测装置800包括:
[0129]
图像集获取模块801,用于获取双目相机的内部参数、外部参数以及双目相机拍摄
的双目图像对,并基于内部参数和外部参数,确定左图像集和右图像集;
[0130]
图像对匹配视差图获取模块802,用于根据左图像集和右图像集,利用图像代价算法,确定图像对匹配视差图;
[0131]
管内深度图确定模块803,用于根据图像对匹配视差图,利用深度计算公式,确定管内深度图。
[0132]
在一具体实施例中,由于管内存在光线不足的情况,因此,在对管内情况进行拍摄时,还需要根据实际情况进行补光操作,也就是说图像集获取模块801还包括补光模块。
[0133]
本发明还相应提供了一种电子设备,如图9所示,图9为本发明提供的电子设备一实施例的结构框图。电子设备900可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。电子设备900包括处理器901以及存储器902,其中,存储器902上存储有基于双目匹配的管内检测程序903。
[0134]
存储器902在一些实施例中可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器902在另一些实施例中也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器902还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器902用于存储安装于计算机设备的应用软件及各类数据,例如安装计算机设备的程序代码等。存储器902还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,基于双目匹配的管内检测程序903可被处理器901所执行,从而实现本发明各实施例的基于双目匹配的管内检测方法。
[0135]
处理器901在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器902中存储的程序代码或处理数据,例如执行基于双目匹配的管内检测程序等。
[0136]
本实施例还提供了一种计算机可读存储介质,其上存储有基于双目匹配的管内检测程序,计算机该程序被处理器执行时,实现如上述任一技术方案所述的基于双目匹配的管内检测方法。
[0137]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0138]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1