Content area
Full Text
1 引言
随着管道系统的广泛应用,常常出现人为的损坏、老化、机械性断裂及破损等故障[1-3],管道检测和维护问题越来越突出,因此有必要对管道进行定期检测维修。传统的管道检测方法,如超声波法[4]、三维激光扫描法[5]、涡流法[6]和漏磁法[7]等设备复杂、检测成本较大,并且不易实现缺陷可视化。机器视觉法采用管道机器人搭载光源和摄像机,可直接对管道内部图像进行实时图像采集、传输和处理,利用图像处理技术进行无损非接触式检测,提高管道检测效率的同时减少人为主观因素影响。
在管道缺陷的快速视觉检测方面,国内外学者已开展大量相关研究[8-9]。杨仲元等[10]提出了一种新的用于管道形貌检测的全方位视觉检测系统,能够实时获取管道内壁的纹理和深度信息,高质量地测量和重建管道三维模型,训练后的R-CNN在速度和精度上都取得了较好的检测效果,但该方法拍摄图像极易受机器人位姿影响导致测量失败。王颖等[11]提出了一种圆结构光三维视觉管道检测系统,通过对圆结构光检测系统进行标定实现管内三维测量,该系统标定不确定度为0.081 mm,三维测量精度较高,但缺少颜色纹理信息且现场标定对不同管径适应性较差。吴斌等[12]提出了一种引入外部光源、反射出内部图像的基于360°全景锥镜、视像管的机器视觉检测系统,针对光学部件的姿态调整进行深入研究,给出了姿态调整流程,建立了较为理想的微细管道内部缺陷测量系统,但得到的环形缺陷图像经展开后会变得模糊。Haertel等[13]设计了一种利用三目立体视觉实现管道内壁几何形状测量的检测系统,利用反三角剖分法对每个图像平面进行数学投影,并对标定好的真实管道和仿真管道进行实验,平均误差为0.3 mm,标准偏差为0.2 mm,但该系统结构复杂、体积较大,不适合进入管道进行长距离自动化检测。虽然目前大部分管道视觉检测方法均可得到管道内表面图像,但处理后的缺陷图像较为模糊,且由于噪声、光照不均匀现象会严重影响缺陷提取效果。
Retinex理论[14]是一种将人眼观测图像划分为低频照射分量和高频反射分量的颜色恒常知觉计算理论,通过对反射分量处理可以获得较好的图像增强效果。传统Retinex算法在图像增强过程中易出现光晕、图像细节模糊、较亮图像处理效果不佳等缺点。另外在缺陷边缘提取中,Canny算子相比其他边缘检测算法,信噪比和检测精度较高,在图像边缘检测方面得到了很大应用,但传统的Canny算法检测结果伪边缘和图像噪声较多、边缘不连续,无法准确提取出缺陷边缘信息,算法边缘提取的连续性、去噪能力和准确性有待改善。
针对管道缺陷检测过程中图像采集光照不均匀、缺陷边缘提取不准确的问题,本文提出一种基于自适应图像增强的管道机器人缺陷检测方法。根据Retinex理论,设计基于引导滤波的单尺度Retinex自适应图像增强算法,利用引导滤波估计图像照射分量,通过反射分量的自适应Gamma矫正,达到图像增强目的;对Canny算子进行改进,用双边滤波抑制噪声的同时多方向保留图像梯度信息,用自适应阈值进行图像分割并有效保留边缘连续性,实现管道缺陷准确提取;最后,通过视觉检测实验对本文方法有效性进行验证。
2 管道检测机器人结构方案
管道视觉检测机器人总体结构如图 1,主要包括机器人本体、图像采集模块和控制模块。机器人本体由履带式机器人、支架、云台组成,通过支架可调节图像采集模块高度,以适应不同管径检测要求。机器人本体采用履带驱动方式,搭配直流减速驱动电机,加大与管道底部的受力面积,增大摩擦,在保持车体稳定的条件下,使机器人有较强的管道越障能力和负载牵引能力,可装备图像采集模块和其他控制模块。
[Image omitted: See PDF]
该机器人摄像机云台有x和y两个方向的旋转自由度,通过对齿轮减速电机和同步带的控制,图像采集模块可实现左右滚转和前后俯仰运动,极大地提高CCD摄像机的拍摄范围,其结构如图 2所示。
[Image omitted: See PDF]
在封闭管道内部作业时,控制模块控制机器人本体进行移动,图像采集模块实时采集管道内壁全景图像,并将获取的管道内壁图像实时传输给上位机,进行快速自适应阈值的二值化[15]处理,根据二值化后缺陷在图像中的位置,来初步确定缺陷与相机的大致位置关系,调整相机云台至缺陷处于图像中间位置时,即表明相机云台已调节到正对缺陷位置,随后再对缺陷进行定点图像采集,利用本文检测算法实现管道缺陷的准确识别。
利用管道机器人对管道内部图像进行图像采集,再传输给上位机进行视觉图像处理,以提取出管道内壁缺陷。基于自适应图像增强的管道机器人缺陷检测方法的算法总体流程如图 3所示,主要包括两部分:
[Image omitted: See PDF]
1) 基于引导滤波的单尺度Retinex自适应图像增强算法。先将采集的不均匀光照RGB(Red, Green, Blue)图像转换到HSV(Hue, Saturation, Value)颜色空间,再利用引导滤波对HSV图像V分量进行照度分量估计,经自适应Gamma矫正得到光照均衡图像,实现图像增强。
2) 基于双边滤波与自适应阈值的缺陷检测算法。在完成自适应图像增强后,对图像进行灰度化处理将图像转换为灰度图像,随后采用双边滤波去噪平滑图像并保持图像边缘细节信息,通过迭代阈值法对图像进行阈值分割,并根据边缘像素相似性进行缺陷边缘连接;最后利用最小外接矩形法确定缺陷区域,实现管道机器人缺陷检测。
2.1 基于引导滤波的单尺度Retinex自适应图像增强算法
Retinex算法是基于人类视觉系统恒常知觉的计算理论,入射光照射在反射物体上,经过反射物体的反射从而进入人眼成像,用公式表示为
\(S(x, y) = L(x, y) \cdot R(x, y), \)(1)
其中:S(x, y)表示进入人眼获得的原始图像;L(x, y)表示照度图像,代表了图像像素的动态范围;R(x, y)表示反射图像,表示图像的内在性质。
单尺度Retinex(single-scale Retinex,SSR)算法基本原理为:对原始图像进行高斯函数卷积操作,将得到的滤波图像作为当前图像的照射分量,并运用上式求得反射分量,即为增强后图像。
\({r_{{\rm{SSR}}}}(x, y) = \log S(x, y) - \log [F(x, y) * S(x, y)], \)(2) \(F(x, y) = \frac{1}{{2{\rm{ \mathsf{ π} }}{c^2}}}\exp \left( { - \frac{{{x^2} + {y^2}}}{{{c^2}}}} \right), \)(3)
其中:rSSR(x, y)表示单尺度Retinex增强后的图像,“*”为卷积符号,F(x, y)表示高斯滤波函数,c为高斯尺度因子。
单尺度Retinex算法运算中通过高斯卷积后,滤除了图像的照射分量,将得到的反射分量图像作为增强后的图像,还原了图像的真实度,但因其尺度单一、高斯函数平滑细节的同时模糊了边缘信息,并且不能根据图像亮度进行自适应调节,易出现颜色信息失真、细节信息缺失、图像模糊等现象。为了更好地改善图像增强质量,矫正光晕、光照过暗等光照不均匀现象,并针对不同亮度图像实现参数自适应,本文对传统的单尺度Retinex方法进行改进,提出了一种基于引导滤波的单尺度Retinex自适应图像增强算法。由于直接利用图像R、G、B分量进行处理会出现颜色失真现象,本文将原始图像转换到HSV颜色空间,利用引导滤波估计照射分量L,再对照射分量L进行自适应Gamma矫正,并对矫正后合成的亮度分量V进行二次Gamma矫正,再将HSV转换到RGB颜色空间,得到增强后的图像,算法流程图如图 4所示。
[Image omitted: See PDF]
自适应引导滤波的图像增强算法步骤如下:
1) 构造引导图像
将RGB图像变换为HSV图像后,对亮度通道V计算局部亮度的归一化标准差p:
\(p = 1 - \frac{1}{{\overline V }}\sqrt {\frac{1}{N}\sum\limits_{n = 1}^N {{{(\overline {{V_n}} - \overline V )}^2}} } , \)(4)
其中:N为V的子分块总数量; \(\overline {{V_n}} \) 是第n个子分块的平均亮度值; \(\overline V \) 为V的全局平均亮度值。
对亮度通道V进行多尺度高斯平滑处理得到平滑后的亮度图像Vs:
\({V_{\rm{s}}} = \sum\limits_{k = 1}^3 {{\omega _k}\{ {F_k}(x, y) * V(x, y)\} } , \)(5) \({F_k}(x, y) = \frac{1}{{2{\rm{ \mathsf{ π} }}c_k^2}}\exp \left( { - \frac{{{x^2} + {y^2}}}{{2c_k^2}}} \right), \)(6) \( {\omega _1} = \frac{{2p + 1}}{3}\;, \;\;{\omega _2} = {\omega _3} = \frac{{1 - {\omega _1}}}{2}, \)(7)
其中:Fk为第k个高斯函数,其相应的权重系数为ωk,ck为高斯函数Fk的尺度因子,本文取c1=250,c2=80,c3=15。
2) 引导滤波器估计照射分量
将平滑后的亮度通道Vs作为引导图像,利用引导滤波器对平滑后图像Vs进行照射分量估计:
\(L(x, y) = \frac{1}{{{\rm{|}}{\omega ^{(x, y)}}{\rm{|}}}}\sum\limits_{(m, n) \in {\omega ^{(x, y)}}} {[{a^{(m, n)}}{V_{\rm{s}}}(x, y) + {b^{(m, n)}}]} , \)(8)
其中:L(x, y)为估计的照射分量图像;|ω(x, y)|为以(x, y)为中心的局部方形窗口ω(x, y)中的像素点个数; \({a^{(m, n)}}\) 和 \({b^{(m, n)}}\) 为两引导滤波系数,当输出图像L与引导图像Vs差别最小,即评价函数:
\(E({a^{(m, n)}}, {b^{(m, n)}}) = \sum {[{{({a^{(m, n)}}{V_{\rm{s}}} + {b^{(m, n)}} - V)}^2}} + \varepsilon {({a^{(m, n)}})^2}], \)(9)
最小时,利用最小二乘法求解有:
\(\left\{ {\begin{array}{*{20}{l}} {{a^{(m, n)}} = \frac{{\frac{1}{{\left| {{\omega ^{(m,...