APP下载

管道视频病害检测和单目SLAM深度估计研究

2021-03-04周方祺,郭世元,冯家旗,麦麦提阿力木·麦提努尔,秦同臻,姜涌泉

电脑知识与技术 2021年34期
关键词:计算机视觉特征提取

周方祺,郭世元,冯家旗,麦麦提阿力木·麦提努尔,秦同臻,姜涌泉

摘要:地下管道连接城市的各个角落,承担了极其重要的功能,准确定位和修复管道病害有重要意义。但由于地下管道的特殊性,为了减少技术人员在管道内潜在的风险,提高检测和修复效率,用带有摄像头的排水管道机器人采集地下管道视频信息,提取图像的LBP特征,训练SVM分类模型实现管道病害分类,模型对地下管道的病害自动识别,使用YOLOv4检测病害,这有效地提高了检测效率与准确度。还使用SLAM技术对以往的图像检测所不具备的三维信息—深度进行了估计,这将有利于管道病害的检测。

关键词:计算机视觉;SVM分类;特征提取;病害自动识别;SLAM

中图分类号:TP391.41      文献标识码:A

文章编号:1009-3044(2021)34-0013-06

1 背景

随着我国经济建设,城市快速发展,城市地下管道设施正从建设期进入养护期,城市地下管道的铺设作为城市发展的一个重要部分,承担着城市的天然气供应、排水、供水等重要职责,对城市而言,地下管道的完整和安全运行就像血管之于人一样重要。由此城市管道安全成为热点话题,管道腐蚀、裂缝、淤泥等各种病害都会对管道造成巨大的危害。假如不对管道病害进行管理,管道健康受到威胁甚至得到破坏,将会对城市居民生活、工业生产、交通管制等社会生产生活活动造成阻塞和不便,产生的经济损失更是不可估量。因此,管道病害的检测与修复工作是城市建设的重要组成部分。

当前检测管道病害的过程效率低下且昂贵。要求参与人员技术水平高。管道内部不仅危险还很复杂,维修人员难以进入。一般来说,管道影像利用摄像头获取。完成图像采集后,技术人员根据水道状况分类手册重新观看视频,并标记管道病害。但是,检测员对视频分析解释需要时间,且这种方法价格高昂,在较长的检测时间内也需要中断管道的使用。所以为了减少技术人员在管道内潜在的风险,提高检测和修复效率,如何及时发现和获取管道病害图像、如何对不同的病害类型做分类和定位,成为计算机图像领域具有价值的研究方向,也是当前拥有极其广阔应用前景的计算机科学研究热点。传统检测方式下,深度这个三维信息并未考虑,而只是应用图像二维数据。单目视觉SLAM技术可以利用二维图像对三维信息—深度进行估计,这将有利于管道病害的检测。

2 数据的采集和处理

本文通过车载摄像头自动扫描采样地下管道内部岩壁原始病害图像数据,然后用图像标注软件对图像病害类型进行框选和特征描述,将特征位置信息写到外部文件中。地下管道病害视频图像采集设备与自制病害图像标注软件样例分别见图1与图2。

本文使用SVM方法分類病害,使用YOLOv4检测病害,这需要把图像的包围盒(Bounding Box)信息作为监督(Ground Truth)。标注出病害对象的左上角坐标(Xmin,Ymin),右下角坐标(Xmax,Ymax),类别、图像名、图像大小等信息一起写入xml文件,与图像一起作为输入送入神经网络训练。本文将采集到的病害数据分为轻度腐蚀、中度腐蚀、轻度破裂、中度破裂四类。

3 管道病害检测

管道病害检测过程包括图像采集,消除绳索干扰,图像分割,发现可疑病害,提取病害的LBP特征,训练SVM模型,识别管道病害,使用YOLOv4检测病害。

3.1 图像分割

本课题可疑管道病害位置对应图像分割部位。由于管道病害的纹理信息非常复杂,目标仅是最外轮廓,因此基于相似度的分割效果不令人满意。因此,选择基于不连续性的分割来发现管道病害的边缘。本文使用canny边缘检测算子[1]针对图像进行高斯滤波处理,使其噪声得以消掉,以2N+1规格的模板对所有项目进行扫描,对邻域像素的加权灰度均值通过模板进行确定,然后将模板中心像素灰度值进行取代。根据一维高斯函数计算给定大小和Sigma的高斯卷积核参数,并将计算出的高斯卷积核与灰度图像进行卷积。

对梯度的方向、幅度完成计算,再进行非最大抑制处理,实现边缘细化。计算梯度相应值并将边缘获取以后,边缘模糊性并未得到改善。正负梯度方向的像素边缘程度与当下像素对应的边缘程度对比分析。与掩模内方向抑制的像素对比,后者边缘程度更高,因此对应数值保留。否则,该值将被抑制。

Canny算子边缘检测效果利用边缘检测、双阈值来获取。将Canny、Laplace和Sobel三种算子边缘检测效果对比分析,效果最为理想的就是Canny算子,对应检测效果图如图3所示。其中左侧为管道病害,右侧为Canny算子边缘检测。

3.2 发现可疑病害

考虑到不同类型的管道疾病可能出现在管道的不同位置,管道图像被分为四个区域。区域A代表管道的顶部,区域B和区域C代表管道的两侧,区域D是系统输出信息,在图4中查找管线病害的步骤中将忽略区域D。

将管线图像划分为四个区域后,找到图像中的所有病害轮廓,并根据质心的位置判断轮廓的划分。为了确定可疑病害区域的重要性,每个区域的最大轮廓将绘制在图5中。

3.3 提取病害的LBP特征

病害边缘获取到还需要对其级别和种类进行判断。首先将其对应的LBP特征获取到,病害类型的区分通过线性SVM分类器实现。

LBP(局部二进制图案)[2]可以对图像一部分的纹理特点进行描述。最大的特点在于灰度和旋转都是固定的。1994年T.Ojala等学者将其应用在提取纹理特征上,并且这种观点是第一次被提出。由于其简单性和易计算性,尽管其总体效果不如Haar功能,但它比Haar功能要快,因此已经被广泛使用。

3.4 训练SVM模型

本课题对于管道病害的辨别是通过支持向量机算法来实现的。将提取的LBP特征输入SVM[3-4]分类器训练模型。

假设线性分离的情况为式(1),归一化得到式(2)。

[H1:ωTxi+b≥1, yi=1H2:ωTxi+b≤-1, yi=-1]                  (1)

[yi(ωTxi+b)≥1,i=1,….]                      (2)

其中,[ω]是法線向量,[b]是位移项,平面最初位置和超平面的间距因此而确定。[xi]是每个采样点的特征,[yi]是采样点[xi]的类别标签。H1和H2之间的距离是[1|ω|],分类间隔就是[2|ω|],最大和最小分类间隔面的间隔大小则为[2|ω|2],被称为最佳分类超平面,也称为SVM分类决策超平面,并且训练样本点在H1和H2之间被称为支持向量。因此,寻求最佳([ω],[ b])可以概括为式(3)的二次规划问题。

[min12∥ω∥2s.t. yiωTxi+b≥1,i=1,2,….]             (3)

相应的分类决策函数如下:

[h(x)=i=1nαiyixTix+b]                       (4)

其中,[b]是模型参数,而[αi]是拉格朗日乘数,[n]是采样点个数。

SVM针对非线性状态下,在预定非线性映射的作用下实现向量向高维特征空间的映射,并在其中完成最佳超平面的建立。

3.5 病害自动识别的结果分析与比较

本文收集了20条具有不同类型管道病害和正常管道的管道视频。对于具有管道病害的视频,逐帧标记了它们的管道病害。对于无病害的视频,将其随机分成多个部分。最终,获得了8100例轻度腐蚀样品,5100例中度腐蚀样品,8600例轻度裂纹样品和6400例中度裂纹样品。本文随机裁剪了31000个无病害管道图像样本。对管道图像进行预处理,以定位管道病害区域,如图6所示,原图对应(a),Canny算子图像和病害检测图像分别对应(b)和(c)。

完成病害位置确定以后需要对其LBP特征进行获取。为了便于观察和判断,绘制病害特征的直方图,如图7所示。图7(a)是中等腐蚀特征的直方图,图7(b)是轻度腐蚀特征的直方图。

考虑到相同类型和不同等级的某些病害特征没有显著差异,针对管道病害的每个级别训练一个模型。如果仅训练一个多分类模型,分类精度将被很大程度地降低,由于部分轻度腐蚀和中等腐蚀图像之间的特征差异很小,因此可以大大减少此类腐蚀。对于所有模型训练,数据集分成测试集、训练集,占比分别为30%和70%。本课题SVM确定应用C_SVC,即C类支持向量分类器,核函数选择线性核。

针对SVM模型训练精度的提升问题,设定最大迭代次数是1000。将c和γ两个训练参数数值设定为1,除此以外的所有参数数值都设定为0。

在测试集中,四种模式的准确性轻度腐蚀,中等腐蚀,轻度裂纹和中度裂纹分别为95.18%,92.63%,91.59%和93.82%。以学习者预测结果为依据通过ROC曲线完成样本排序,以此为标准,将样本作为一个正样本进行预测,并每次计算两个重要变量(TPR和FPR)的值,分别将它们作为水平和垂直坐标进行绘图。轻度腐蚀模型的ROC曲线图如下图所示。位于ROC曲线以下位置的面积用AUC表示,其范围为0.1-1。分类器对于数值能够直接评估。该值越大越好。轻度腐蚀模型的AUC为0.77。

最后,将管道病害的类型,程度和位置输出到具有指定格式的二进制文件。如图8所示。病害检测程序界面、记录病害信息的输出二进制文件分别如图9(a)和9(b)所示。

3.6 使用YOLOv4检测病害

YOLO全称You Only Look Once。YOLOv4[5]是one-stage检测算法。属于Proposal-free方法,候选区形成是没有必要的,对各种目标定位或类型确定都可以通过CNN网络直接进行预测,物体位置和类型概率也能够直接形成,检测结果利用单次检测能够一次性获取,检测效率得到有效保证。

YOLOv4 的目标识别使用了Multi-Scale策略,包括Multi-Scale Train和Multi-Scale Predict。Multi-Scale Train是在训练时采用不同尺寸的图片作为输入,这样可以使模型适应不同大小的图片;Multi-Scale Predict是在预测时取不同尺寸的下采样——即FPN(Feature Pyramid Networks)架构,YOLOv4分别在sub_sample=32、16和8处做目标检测,这样可以预测多尺寸的目标。预测类别只是在标签方面有所改变,即单标签分类向多标签分类转变。YOLOv4 的数据增强Mosaic(马赛克),把四张图拼成一张图来训练,变相等价于增大了mini-batch。YOLO v4 的Self-Adversarial Training(自对抗训练)在一张图上,让神经网络反向更新图像,对图像做改变扰动,然后在这个图像上训练。通常图像实现风格化都会选择该方法来完成,风格化过程实际上就是利用网络将图像进行反向处理。

YOLOv4的训练结果与检测效果分别见图10、图11,mAP@0.5达到了92%。

4 基于SLAM的深度获取

在以往的检测中,只利用了图片的二维信息,缺失了三维信息—深度,单目视觉SLAM技术[6]能够通过二维图像完成深度这个三维信息的预测。

照片本质上是拍照时的场景(Scene)在相机的成像平面上留下的一个投影。将三维空间通过二维模式展示,展示过程中距离或者深度这个三维空间的维度就会被忽略。

想要恢复三维结构,需要单目相机拍摄的临近的照片,这样就能使用单目SLAM估计它的运动(Motion),同时估计场景中物体的远近和大小与结构(Structure)。当相机移动方向为右,图像移动方向为左时,可以借此规律完成运动的推测。并且,距离更近的移动速度就更快,距离较远的运动速度就慢。移动相机的过程中,图像运动会随之产生视差,利用视差可以对物体距离进行判定。

4.1 特征提取和匹配

SLAM中重点部分就是视觉前端,以临近图像信息对相机运动进行预测。基于特征点法的前端来说始终是计算视觉里程的最广泛的计算方法。动态物体与光照对其没有影响,并且运行更加平稳,在如今应用非常广泛。本文将使用特征点法,提取、匹配图像特征点,然后估计两帧之间的相机运动和场景结构,从而完成深度的估计。

4.1.1 特征点

特征点由两部分构成,其一为描述子,其二为关键点。本文将使用ORB[7]提取特征。对于描述子来说,其本质是向量,以特定设计方法完成该点附近像素信息的获取。其设计原则为特征相似则对应描述子也是相似的。提取过程中主要负责对ORB关键点的提取,然后对ORB描述子进行计算。图像中特征点位置即为关键点,还有一部分特征将大小和方向等信息也包含在内。所以向量空间中这两个特征點相距很近的情况下,就判定为相同特征点。

4.1.2 ORB特征

ORB特征也是由两部分构成,其一为描述子,其二为关键点(Oriented FAST)。是一种改进的FAST角点[8]。它的描述子称为BRIEF(Binary Robust Independent Elementary Features)[9]。提取过程如下:

1)提取FAST角点:将图像内角点确定,与原图FAST对比,特征点主方向在ORB内计算过,使后面的BRIEF描述子具有旋转不变特性。

2)BRIEF描述子:对上部特征点附近图像完成描述。

4.1.3 特征匹配

视觉SLAM中特征匹配是非常重要的,简单来讲SLAM数据关联这一问题通过特征匹配有效解决,也就是对前面看到的以及当下看到的特征点关联性进行确定。精准的完成图像和地图、图像之间的描述子的匹配,使相机运动求解负担大幅减缓。

视觉SLAM中特征匹配是非常重要的。精准的完成图像和地图、图像之间的描述子的匹配,使相机运动求解负担大幅减缓。本课题对于特征匹配方法的选择最终确定为蛮力匹配(Brute-Force Matcher)。即对一张图片中所有特征点与另一张图片中所有特征点测量描述子的距离,然后排序,取最近的一个作为匹配点。特征间相似度通过描述子间距来体现。实践中距离度量范数也需要选择不同的。本课题采用BRIEF二进制描述子,通过汉明距离(Hamming distance)作为度量——2个二进制串不同位数的数量就是汉明距离。

特征匹配过程没有进行筛选,因此误匹配的情况比较多(图14)。本课题筛选标准是汉明距离是比最小距离2倍要小,这种方法是根据工程经验进行总结的。以此为标准筛选结束后,匹配总量会变少,不过基本上没有误匹配(图15)。

4.2 求解相机运动

结合匹配点对之间的联系将两帧之中摄像机运动进行恢复。

相机姿态解算——本质矩阵求解。

本质矩阵(Essential Matrix),是对极几何(Epipolar geometry)[10]理论中的一个基本参量,是在三维坐标系下,用来连接两个对应点的矩阵关系。

计算流程是利用两张照片的匹配的点对估算本质矩阵(Essential Matrix)[11-12],最后通过对本质矩阵的SVD分解和其他操作取得相机的平移(Shifting)和旋转(Rotation)。

由得到的匹配点对求得的相机运动如图16。

4.3 求解深度

在上文中,使用对极几何约束估计了相机运动,也讨论这种方法的局限性。相机运动获取后,要对相机运动估计特征点空间位置进行应用。SLAM内凭借一个图像不能对像素更深层次的理解,地图点深度在建立三角测量后能够实现预估。

三角测量方法是针对相同夹角通过两个角度进行观测,进而对其距离进行确定。高斯最先提出这种方法,如今在地理学和天文学等多个领域广泛应用。比如,针对同一颗星星在四季中观测,对视角和距离无法成比例。SLAM下像素点的间距的预算是通过三角化方法来实现的。

由匹配点和相机运动通过三角测量可以求得深度,例如第一对匹配点对(图17)的深度如图18。

5 结束语

本课题是以视频为基础的管道病害检测,将LBR特征成功获取,以LBR训练SVM分类模型,进而得到测试模型分类辨别效果。测试证明,本文训练SVM模型的准确性可以达到超过90%,则AUC可以达到0.77。使用YOLOv4的管道病害检测,mAP@0.5达到了92%。本方法克服了传统人工识别的成本大、主观性强、效率低等缺点,有良好的泛化性和鲁棒性,这有利于未来的城市管道维修工作。当然,该方法仍有很多不足,比如实际工程中管道病害类型不止这四种,还有裂缝、侵蚀等。还可以加入深度学习处理方法,可以省去一些复杂的方法,同时具有良好的识别准确率。

本文用单目视觉SLAM技术求得了深度,但这仍然只是一个相对的值。若将场景和相机运动共同扩大随意倍数,能够看到的像都是相同的,对应深度也一样。利用单目SLAM对深度进行估测,与实际情况对比少了尺度因子。深度计算必须在平移后进行,而且只依靠图像还不能对其实际尺寸进行确定,这是单目SLAM面临的最大问题。其根本原因是通过单张图像无法确定深度,所以可以使用双目和深度相机以求得真实的深度。

参考文献:

[1] 余洪山,王耀南.一种改进型Canny边缘检测算法[J].计算机工程与应用,2004,40(20):27-29.

[2] Ojala T,Pietikainen M,Harwood D.Performance evaluation of texture measures with classification based on Kullback discrimination of distributions[C]//Proceedings of 12th International Conference on Pattern Recognition.October 9-13,1994,Jerusalem,Israel.IEEE,1994:582-585.

[3] Vapnik V N.Statistical Learning Theory[J].Annals of the Institute of Statistical Mathematics,2003,55(2):371-389.

[4] Huang K Z,Zheng D N,Sun J,et al.Sparse learning for support vector classification[J].Pattern Recognition Letters,2010,31(13):1944-1951.

[5] Bochkovskiy A,Wang C Y,Liao H Y M.YOLOv4:optimal speed and accuracy of object detection[EB/OL].[2021-05-26].https://arxiv.org/abs/2004.10934.

[6] Liu H,Zhang G,Bao H.A survey of monocular simultaneous localization and mapping[J]. Journal of Computer-Aided Design & Computer Graphics, 2016,28(6):855-868.

[7] Rublee E,Rabaud V,Konolige K,et al.ORB:an efficient alternative to SIFT or SURF[C]//2011 International Conference on Computer Vision.November 6-13,2011,Barcelona,Spain.IEEE,2011:2564-2571.

[8] Rosten E,Drummond T.Machine learning for high-speed corner detection[M]//Computer Vision – ECCV 2006.Berlin,Heidelberg:Springer Berlin Heidelberg,2006:430-443.

[9] Calonder M,Lepetit V,Strecha C,et al.BRIEF:binary robust independent elementary features [C]//European Conference on Computer Vision.Springer,Berlin,Heidelberg,2010.

[10] Hartley R,Zisserman A.Multiple view geometry in computer vision[M].2nd ed.Cambridge University Press,2003.

[11] Li H,Hartley R.Five-Point Motion Estimation Made Easy[C]//18th International Conference on Pattern Recognition (ICPR'06).IEEE,2006.

[12] Nister D.An efficient solution to the five-point relative pose problem[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2004,26(6):756-770.

【通聯编辑:谢媛媛】

猜你喜欢

计算机视觉特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
一种基于LBP 特征提取和稀疏表示的肝病识别算法
基于深度卷积神经网络的物体识别算法
双目摄像头在识别物体大小方面的应用
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
基于DSP的直线特征提取算法
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用