基于Gabor算子的人工蜂群算法大坝裂缝检测*
2015-12-16范新南史朋飞顾丽萍
陈 伟,范新南,李 敏,史朋飞,顾丽萍
(河海大学江苏省输配电重点实验室,常州213022)
·微机软件·
基于Gabor算子的人工蜂群算法大坝裂缝检测*
陈 伟,范新南,李 敏,史朋飞,顾丽萍
(河海大学江苏省输配电重点实验室,常州213022)
针对水下大坝裂缝图像的低信噪比、低对比度以及大坝裂缝形状的不规则性和方向的不确定性等特点导致的检测精确度低、通用性弱的问题,提出了一种基于Gabor算子的人工蜂群算法大坝裂缝检测方法。该方法简化了蜜蜂的搜索过程,先利用Gabor算子搜索得到一组局部最优花蜜源,根据花蜜源的“收益度”以及“朝向性”特点,从最优花蜜源的角度邻域搜索收益率较高的花蜜源,并对所有的食物源按照条件进行筛选和连接。由于减小了搜索范围,所以可以节省搜索时间,而且针对不同类型的大坝裂缝可以精确连贯地检测出大坝裂缝信息,并且可以有效地抑制噪声。
大坝裂缝检测;Gabor算子;人工蜂群算法;收益度;朝向性;精确;抑制噪声
1 引 言
作为水电工程的主要设施之一,大坝是关系到国计民生的重要工程。由于承受很大的水压和温度梯度、水的冲刷、渗透、侵蚀及建筑质量等原因,大坝不可避免地会产生裂缝[1]。常见的大坝裂缝检测方法主要分为:目测法和无损检测法。其主要包括:自然电位法[2],瑞利波法[3],高密度电阻率法[4],振动法[5],超声波检验法[6],探地雷法[7],传感器检测法[8]。这些常见的方法对大坝裂缝检测尽管可以达到一定的检测效果,但是由于水下光的散射现象随着照明的增强而趋于严重和海水中各种微粒、浮游生物以及水体流动导致的水下大坝裂缝图像的低信噪比、低对比度以及大坝裂缝自身形状的不规则性和方向的不确定性等特点,它们都不能对水下大坝裂缝进行通用性的检测以及精确定位和准确描述裂缝的形态。
近年来随着对大量大坝裂缝图像进行深入观察、精确分析后发现,无论是微弱裂缝、表面裂缝、深度裂缝,在空域和频域都表现出一定的方向性与连续性,可以指导我们来提高裂缝检测的精度。我们知道,人工蜂群算法是一种群体智能优化算法,结合了全局最优搜索和局部最优搜索这两种算法,能以更大的概率搜索到最优解并在很大程度上避免了局部最优[9]。因此,它主要运用于函数优化和极值寻优问题,如Karaboga等用ABC解决约束优化问题,聚类分析和训练神经网络;Pulikanti等把ABC和贪婪算法,局域算法结合来求解二次方程渐缩问题等[10]。在这些ABC算法运用中,都是将当前轮最优值与前若干轮的最优值方向矢量,作为最优引领蜂在下一轮觅食领域的搜索方向,虽然增加了最优方向引导能力,但同时具有很大的时间复杂度与空间复杂度,且当迭代达到一定次数时,蜜蜂可能在某个局部最优解的邻域附近发生停滞[9]。
因此,为了节省搜索时间,同时具有很强的鲁棒性与通用性,系统地提出了一种基于Gabor算子的人工蜂群算法的大坝裂缝检测方法。首先利用Gabor算子对图像的裂缝边缘进行快速搜索,得到一组局部最优点以及该点的方向,并按照收益度的高低对食物源进行排序。然后针对每一个局部最优点,在该点的角度邻域内进行搜索,找到收益率较高的食物源;并对所有的食物源按照条件进行筛选和连接,最终符合条件的所有食物源即为裂缝所有的边缘点,所有边界点的并集就是裂缝边缘。该算法可以快速地检测出单条或多条大坝裂缝,对于不同类型大坝裂缝的连贯性检测有一定的优化,并且可以有效地抑制噪声。
2 人工蜂群算法
2.1 人工蜂群算法模型
自然界蜜蜂的行为表现出自治、分工和自组织等特征[11]。在人工蜂群算法模型中,蜂群系统的构成主要包含三个基本组成要素:蜜源(食物源)、蜂群以及蜜蜂个体之间的信息交流机制[12-13]。
食物源:食物源的质量主要由多方面的因素决定,可以用参数“收益率”来表示。因此,寻找高质量食物源的位置就是搜寻最优解的过程。
蜜蜂:按照分工不同,可以将所有的工蜂分为雇主蜂、跟随蜂和侦查蜂三类。
信息交流机制:蜜蜂通过在蜂巢中的舞蹈区跳舞的方式来与其他的蜜蜂分享食物源信息。在ABC算法中,舞蹈的兴奋程度与相应食物源的“收益率”呈正比,这样使得蜂群能够有效利用集中的食物资源。
蜜蜂采蜜是整个蜂群生存的基础,其基本行为有搜索蜜源、为优质蜜源引导雇佣蜂和放弃劣质蜜源三种。食物源中花蜜源的品质和数量代表了花蜜源的效益。在ABC算法中,食物源相当于优化问题中最优解的位置信息,该值由参数“收益率”(profitability)来表示,寻找效益最高的花蜜源位置就是一个寻找最优解的过程。雇主蜂掌握了效益指标较高的花蜜源,可以引导雇佣蜂或独自开采蜜源。个体间的信息交流是在蜂巢的舞蹈区通过个体的舞蹈进行信息交流。
2.2 人工蜂群算法流程
在人工蜂群算法中,蜜蜂对食物源的搜索主要分为三大步。首先,侦查蜂在环境中搜索食物源,并且记录食物源的信息。然后,跟随蜂根据雇主蜂提供的食物源信息,选择一个收益率高的食物源进行采蜜。最后,当该食物源的收益率低于某一程度时,放弃该食物源,以“侦查蜂”的身份继续寻找新的食物源[11]。具体流程如下:
(1)首先,初始化蜂群,将所有的工蜂全部以“侦查蜂”的身份派出去随机搜寻食物源。设食物源的个数为n,即引领蜂的个数,用n维向量Xi(i=1,2,...,n)表示环境中的初始食物源。
(2)食物源的优劣用“收益率”来表示。当引领蜂在蜂巢内的舞蹈区将食物源的信息与所有跟随蜂分享时,跟随蜂会根据食物源的信息来选择一个食物源去采蜜。该选择机制是通过食物源的“收益率”来排序。一般情况下,食物源的收益率越高,被跟随蜂选择的概率就越大。每一个食物源被选中的概率就是该食物源的“收益率”在所有食物源“总收益率”中所占的比例。公式如下所示:
其中,Pi的计算结果是第i个食物源被选中的概率,profiti是第i个食物源的收益率,n为所有食物源的个数。
(3)跟随蜂会对其选择的食物源的某一邻域范围进行搜索。如果搜索到新食物源的收益率优于引领蜂所对应的原食物源,则用新食物源的位置代替原来食物源的位置,否则就继续开采原来的食物源。食物源位置更新为:
其中,xi(t+1)代表了新产生的第i个食物源位置,xi(t)代表了原来第i个食物源位置,k∈{1,2,...,n},但k≠i。r代表着食物源搜索领域的范围,r∈[-1,1],随着搜索结果越来越接近最优解,该值就越小。
(4)当食物源被采集了limit次,收益低于某一程度时,则需要放弃该食物源,在整个解空间中随机产生一个新解来代替。此时,与该解所对应的雇主蜂将转变为侦查蜂。由该侦查蜂通过下列公式随机产生一个新的解。
3 基于Gabor算子的人工蜂群算法裂缝检测
该算法利用Gabor算子改进人工蜂群算法,提高了大坝裂缝信息搜索的速度和精确度,增强了算法的通用性。首先利用Gabor算子对图像的裂缝边缘进行快速搜索,得到一组局部最优点以及该点的方向,并按照收益度的高低对食物源进行排序。然后针对每一个局部最优点,在该点的邻域内进行搜索,找到收益率较高的食物源;并对所有的食物源按照条件进行筛选和连接,最终符合条件的所有食物源即为裂缝所有的边缘点,所有边界点的并集就是裂缝边缘。因此,改进的人工蜂群算法主要分为:食物源初始化,跟随蜂招募以及跟随蜂食物源搜索3大步骤。
3.1 食物源初始化
在ABC算法中,食物源就代表了大坝裂缝的边缘点坐标。因此,食物源初始化就是在大坝裂缝图像中搜索裂缝边缘的像素点,初始化N个局部最优点,即对大坝裂缝边缘进行初定位。
针对水下大坝裂缝图像中的裂缝信息、背景信息以及噪声信号在频谱上表现的不同,且裂缝具有一定方向性的特征,Gabor算子能在最佳时频下,在不同尺度和不同方向上对大坝裂缝图像进行裂缝边缘提取,得到部分的裂缝信息边缘点。所以,采用Gabor算子对图像裂缝进行食物源初始化。
Gabor小波函数可以表示为:
其中,(a,b)为对(x,y)旋转后的坐标,ξ和η为Gabor滤波器的中心位置,一般默认为原点,即ξ=η=0,θ为Gabor滤波器的方向。r为Gabor高斯函数的纵横比,取值范围为0.23-0.92。λ为Gabor滤波器的波长,因此,1/λ是Gabor滤波器的中心频率,而δ/λ为Gabor滤波器的带宽,φ为Gabor滤波器的相位。
在同一方向、不同尺度下,先对大坝裂缝图像作Gabor小波滤波;然后在不同方向上对每个像素点与Gabor小波函数进行卷积,得到大坝裂缝可能的边缘。对以上极大值点进行阈值分析,剔除伪边缘点,得到不同尺度下的边缘点。这些边缘点即为大坝裂缝的边缘像素点,即图像的食物源;将获得的n个像素点作为食物源,存储在向量P中,P={P1,P2,...,Pn},P为像素点的位置,即Pi=(xi,yi),并获得像素点相应的角度θ={θ1,θ2,...,θn}。在搜索到食物源后,引领蜂将储存对应食物源的相关信息,并将该信息与蜂巢中的蜜蜂进行分享,从而招募到更多的跟随蜂去该食物源采蜜。
3.2 招募跟随蜂
招募跟随蜂指的是雇主蜂在蜂巢的舞蹈区将食物源的效益率传达给跟随蜂,然后跟随蜂根据食物源的效益率选择食物源进行采蜜。在大坝裂缝检测算法中,可以采用与边缘点信息强相关的函数作为效益率函数。这样,效益率函数值越高,该像素点为边缘点的可能性就越大,食物源被跟随蜂选择的概率就越大。因此,选择蚁群算法中的信息素函数[14]作为本文效益率函数,I(x,y)信息素的邻域如图1所示。
图1 信息素邻域
信息素函数计算公式如下所示。
每个食物源被选择的概率是该食物源的效益率在所有食物源效益中所占的比例,计算公式如下所示。
当跟随蜂选择了某一雇主蜂所代表的食物源后,将会在该食物源的某一邻域范围内进行搜索收益率更高的食物源。
3.3 跟随蜂搜索食物源
跟随蜂搜索食物源是指在食物源邻域范围内随机搜索收益率高的食物源进行采蜜。因为裂缝边缘上像素点的相位具有一定的相似性,即平行于裂缝的法线方向,而且在食物源初始化过程中,已记录所有食物源的方向信息。所以从已存储在向量P中的局部最优解作为搜索起点,只搜索该点的角度扩展的r邻域内的点即可,公式如下所示。
其中,(x′,y′)为搜索范围的坐标,θ为(x,y)像素点的梯度角度信息,γ为邻域大小,[]为取整符号。
计算搜索邻域内所有点的收益度和朝向信息,将方向相近、收益度相似且最大的点作为新的食物源搜索点。这样可以减少跟随蜂的搜索范围,最终减少算法运行时间。
判断收益度相似的标准公式如下所示。
其中,prob为原食物源的收益率,probn为新食物源的收益率,Th0和Th1为两个阀值。Th0的取值范围为:0.5probaverage≤Th0≤1.5probaverage,Th1的取值范围为:1.5probaverage≤Th1≤3probaverage[9]。其中,probaverage为邻域范围内所有点的收益率平均值。
依次循环下去,在搜索过程中,若该食物源的邻域内没有满足条件的像素点,则记录该食物源链标号、所有搜索点的位置信息及该食物源的朝向信息并存储到向量Sp={(x1,y1),(x2,y2),...,(xq,yq)}中。其中,p为食物源链的标号,q为该食物源链中搜索到作为食物源的个数。然后计算下一个局部最优点,依次循环下去,直到达到某一终止条件。
由于裂缝信息在图像中表现为具有一定的连贯性,但是其局部可能出现部分断缺线段的特点,当食物源链中食物源的数量超过某一阈值Num时,则将该食物源链作为边缘信息,并且按照角度信息对所有食物源的位置进行连接,形成裂缝边缘信息。依次循环下去,直到将所有的疑似边缘点全部扫描完。这样的话,可以将断裂的裂缝片段进行有机连接,对裂缝进行了线性增强,去除图像中连通域内像素较少的区域,即可得到完整的大坝裂缝图像的边缘信息。
4 实验结果与分析
经过大量的实地以及资料调研,工程上一般将裂缝根据其长度、宽度以及深度的不同分为以下三类:微弱裂缝,表面裂缝,大裂缝(深度裂缝、贯穿裂缝)。为了验证提出的基于Gabor算子的人工蜂群算法的大坝裂缝检测算法的有效性与通用性,选择了3类典型的大坝裂缝图像:光照均匀的弱裂缝图像;光照不均匀的表面裂缝图像;过度曝光的大裂缝图像进行检测并与其它经典的边缘检测算法进行对比。
4.1 仿真实验
首先,来验证提出的算法对大坝检测精确度的影响。对于精确度,由于水下低信噪比、低对比度等特征,使得所获得的原大坝裂缝图像本身的精确度就很差,对精确度的比较存在很大影响。因此,为保证所获得原裂缝图像的精确度,设计出了一组实验:用相机在空气中拍摄一幅大坝表面的裂缝,然后通过模糊化处理,来模拟水下环境;分别对这幅仿真图像进行基于蜂群算法的检测和基于本文提出的算法进行检测,将所得边缘完全覆盖于原图,与原图裂缝边缘形成对比,这样可以比较清晰地比较两者的精确性。具体实验结果如图2所示。
图2(a)是背景比较简单,噪声比较少的一幅大坝裂缝图像,这样可以减小精确度对比的误差。通过对比图2(a),(c),(d)可以清晰地看出蜂群算法检测的部分误检;对比图2(e)与(f)两幅将大坝裂缝检测得到的裂缝与原大坝裂缝图相加的图像,可以观察,基于Gabor算子的人工蜂群算法检测出的边缘更接近原图,精确度要优于人工蜂群算法;而且对噪声的抑制更加明显。
4.2 大裂缝检测
图3(a)为过度曝光的大裂缝图像,其缝宽w≥3mm,缝长l≥3m,缝深h≥100mm属于结构性裂缝,不仅对大坝结构的整体性以及耐久性造成一定的影响,甚至有可能危害到大坝的整体承载能力,导致结构失稳。
图2 仿水下大坝裂缝检测图
相对于空气中形成的图像,由于水下光的散射现像造成图像的对比度下降,以及海水中各种微粒、浮游生物以及水体的流动会增强水下图像噪声,使图像退化,造成水下图像质量的下降,这些为水下大坝裂缝图像处理带来了更多困难。为了获得较好的提取效果,必须对水下图像进行增强,解决水下图像模糊和光照不均匀以及对比度不明显的问题。该算法采用了仿生物视觉的方法对大坝裂缝图像进行增强。增强效果图如图3(b)所示。
在实验中,由于裂缝的边缘为阶跃边缘,为了提取最佳裂缝边缘,将Gabor滤波器的参数设置为:θ=π/2,δ/λ=1.8。在方向提取上,不需要关系方向的正负,也就是0°和180°为1个方向。所以,该算法选择了0-180°之间的6个方向;由于裂缝信息包括结构性裂缝与表面性裂缝,所以对于尺度信息,选择2个尺度,6个方向(0°,30°,60°,90°,120°, 150°)对边缘信息提取。利用Gabor算子对上述三种典型的裂缝图像进行边缘提取,并对提取的结果进行阈值分析,取得其边缘像素点,并计算所有像素点的梯度方向,其结果图如图3(c)所示。
将图3(c)所提取的边缘像素点的位置存储在向量P中,作为初始食物源,并计算信息素,根据信息素的大小对食物源进行排序,吸引跟随蜂进行采蜜。引领蜂的规模Sleader为食物源的个数,跟随蜂的规模为:Sfollow=1.5Sleader,侦查蜂的规模为:Sscount=0.12Sleader。然后针对向量P中的食物源进行搜索,结果如图3(g)所示,并将裂缝提取的结果与其它典型的边缘提取算法,即基于蜂群算法,roberts算子,prewitt算子等进行比较。此外,还引入了信噪比(SNR),逼真度(Imfid),两个客观评价指标对裂缝边缘提取效果进行评价。实验效果图如图3所示。
图3 大裂缝检测图
对于过度曝光的大裂缝,主要由于强光源导致海水的散射增强,使得拍摄得到的图片模糊,但背景噪声不是很多的情况下,对比图2(d)和(g)同时根据表1,两者对于噪声的抑制作用都有明显的提高,但是蜂群算法存在少量的误检及精确度低的问题。
表1 四种边缘提取算法的性能参数
4.3 表面裂缝检测
图4(a)为光照不均匀表面裂缝,其缝宽2mm≤w<3mm,缝深30mm≤h<100mm,缝长3m≤l<5m,表现为规则状的表面(浅层)裂缝。一般对大坝的承载能力以及结构的稳定性没有巨大危害,只是影响大坝的整体美观。但是这类裂缝在长期的水劈裂作用以及外部荷载不均等作用下,会不断的扩大以及深入,最终形成结构性裂缝,危害大坝的正常运行。实验效果图如图4所示。
图4 表面裂缝检测图
对于光照不均,裂缝宽度远小于大裂缝,背景干扰较为严重的表面裂缝,可以充分体现出提出算法的鲁棒性及对噪声高抑制的特点。对比图4(d)与(g)可以清晰地看出,蜂群算法存在大量的误检与大量的背景噪声;而图4中(e),(f)存在大量边缘的漏检。
表2 四种边缘提取算法的性能参数
4.4 弱裂缝检测
图5(a)为光照均匀的弱裂缝,其缝宽w<2mm,缝深h<30mm,缝长l<3m,表现为细微规则的线性裂缝。该裂缝一般不会对面板的安全性产生不利影响,甚至经过一定时间部分微弱裂缝也可能自愈。对弱裂缝的检测结果如图5所示。
对于光照均匀的弱裂缝,由于裂缝的宽度极其小,有可能将背景噪声误检为大坝裂缝;观察图5(d)对于蜂群算法存在大量的误检,将背景噪声误检为裂缝信息,相比提出的算法对于大坝裂缝检测更加相似且对噪声有更好的抑制作用。
表3 四种边缘提取算法的性能参数
针对三种不同类型的大坝裂缝,以上运用不同的算法进行边缘提取并进行比较,可以明显地发现提出的算法在对噪声的抑制、通用性、相似度、精确度方面都有较大改善。
5 结束语
基于Gabor算子的人工蜂群算法针对不同类型的大坝裂缝能够快速检测出单条或多条裂缝,并且对于裂缝的连贯性检测以及抑制噪声方面有一定的优化;与其他边缘提取算法相比,该算法提取的轮廓更接近于真实轮廓图像,精确度更高,通用性更强;简化了搜索过程,且由于算法无需搜索全局最优解,所以可以节省搜索时间,而且漏检率和误捡率都相对较低。但在对大坝裂缝图像边缘检测时,存在一定的误检,这是需改进的地方。
图5 弱裂缝检测图
[1] 付军,马从计.一种新的基于图像处理的水下大坝裂缝检测算法[C].水库大坝建设与管理中的技术进展.四川:中国大坝协会,2012.Fu Jun,Ma Congji.A new kind of underwater dam crack detection algorithm based on image processing[C].Sichuan:The technical progress in the dam construction and management,2012.
[2] 刘建伟,刘克强.电位法在探测堤坝渗漏中的应用[J].人民黄河,2008,30(2):32-33.Liu Jianwei,LiuKeqiang.Theapplicationofthe potential method in the detection of dam leakage[J].The people of the Yellow River,2008,30(2):32-33.
[3] 李军,马新龙.高密度电法在水库大坝塌陷勘测中的应用[J].工程勘察,2010(1):89-94.Li Jun,MaXinlong.Applicationofhigh-density electrical method in the reservoir dam subsidence survey[J].Engineering survey.2010(1):89-94.
[4] 刘超英,梁国钱,苏全.瞬态瑞利波和地震层析成像法在拱坝质量检测中的应用研究[J].水利水电技术,2006,37(8):88-90.Liu Chaoying,Liang Guoqian,Su Quan.The transient Rayleigh wave and seismic tomography method application in arch dam quality testing study[J].Water resources and hydropower technology,2006,5(8):88-90.
[5] 王柏生,何宗成,赵琛.混凝土大坝结构损伤检测振动法的可行性[J].建筑科学与工程学报,2005,22(2):51-56.Wang Bosheng,He Zongcheng,Zhao Chen.The feasibility of the concrete dam in structural damage detection method of vibration[J].Journal of construction science and engineering,2005,22(2):51-56.
[6] 刘康.基于小波分析的混凝土超声波缺陷检测方法研究[D].武汉:武汉大学,2013.Liu Kang.Concreteultrasonic defect detection based on wavelet analysis method research[D].Wuhan:Wuhan university,2013.
[7] 时方稳,杜应吉,郝枫楠.探地雷达在水利工程安全检测中的应用[J].人民长江,2012,43(7):44-46.Shi Fangwen,Du Yingji,Hao Fengnan.Ground penetrating radar(GPR)application in water conservancy engineering safety test[J].The people of the Yangtze river,the lancet,2012(7):44-46.
[8] 潘琳,陈宏伟.智能化大坝安全监测系统综述[J].水电自动化与大坝监测,2013,37(2):58-60.(Pan Lin,Chen Hongwei.Intelligent dam safety monitoring system review[J].Hydropower and dam monitoring automation,2013,37(2):58-60.
[9] 肖永豪.蜂群算法及在图像处理中的应用研究[D].广州:华南理工大学,2011.Xiao Yonghao.Swarm algorithm and its application in image processing[D].Guangzhou:south China university of technology,2011.
[10] 曹金宝.人工蜂群算法研究及其应用[D].西安:陕西师范大学,2013.Cao Jinbao.Artificial colony algorithm research were reviewed[J].Xi’an:Shaanxi normal university,2013.
[11] 杨淑莹,张桦.群体智能与仿生计算一Matlab技术实现[M].北京:电子工业出版社,2012.Yang Shuying,Zhang Hua.Swarm intelligence and bionic calculation a Matlab technology[M].Beijing:electronic industry press,2012.
[12] Karaboga D.An idea based on honey bee swarm for numerical optimization[R].Technical report-tr06,erciyes university,engineering faculty,computer engineering department,2005.
[13] Tian Jing,YU Wei-Yu,XIE Sheng-li.An ant colony optimization algorithm for image edge detection[J].IEEE World Congress on Computational Intelligence,2008(18):751-756.
[14] Seeley T D.The wisdom of the hive:the social physiology of honey bee colonies[M].Harvard university Press,2009.
Dam Crack Detection of Artificial Colony Algorithm Based on Gabor Operator
Chen Wei,Fan Xinnan,Li Min,Shi Pengfei,Gu Liping
(Jiangsu Key Laboratory of Power Transmission&Distribution Equipment Technology,Hohai University,Changzhou 213022,China)
In this paper,we propose a kind of dam crack detection of artificial colony algorithm based on Gabor operator to solve problems such as low detection precision and application,caused by the low SNR and contrast of the dam crack image,and irregularity and uncertainty of the dam crack shape.This method simplifies the search process of bees.First,the Gabor operator is used to search the edge of image to get a set of local points and its direction.And then,according to the characteristics of its revenue degree and orientation,the food source is searched in the optimal food source neighborhood.At last,the image is searched from the local optimal points and all dam cracks information is found.We can save search time due to reducing the search scope and detect the dam crack information consistently according to the different types of dam crack.Moreover,it can suppress noise effectively.
Dam crack detection;Gabor operator;Artificial colony algorithm;Revenue;Orientation;Accurate;Noise suppression
10.3969/j.issn.1002-2279.2015.04.009
TP751
A
1002-2279(2015)04-0032-07
国家自然科学基金(61273170);高等学校博士学科点专项科研基金(20120094120023)
陈伟(1989-),男,江苏省扬州市人,硕士研究生,主研方向:图像信息的获取与处理。
2015-01-12