一种基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测
方法
技术领域
本发明属于民用飞行器蒙皮损伤无损检测技术领域,特别是涉及一种基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测方法。
背景技术
飞机蒙皮一般是由粘合剂或铆钉固定在飞机外面的外表可视化结构,主要作用是使飞机具备更加优良的空气动力学特性与传递荷载。由于蒙皮直接与外部环境相接触,因此其结构很容易出现诸如积水、脱粘、裂痕和腐蚀等形式的损伤,致使飞机出现结构性损坏,空中解体等毁灭性的灾难。红外检测是利用红外辐射的原理对材料表面进行检测。如果被测表面有损伤,将会导致材料的热传导性能发生改变,在损伤的周围出现热辐射梯度较大的现象,从而显示在红外热图像上。而对图像中损伤的边缘进行标记就成为后续的损伤识别和蒙皮修复的重要前提。
Canny边缘检测算法在传统基于梯度的边缘检测中表现优秀,可以对图像中的噪声进行有效的滤除,所以Canny算法有着较优的信噪比和检测精度,在图像处理方面得到了广泛应用。但是Canny算法在进行双阈值判定时的阈值设定往往是通过经验预先设置,缺乏自适应性。利用最大类间方差法来确定Canny的分割阈值。可以得到较优的阈值精度,但最大类间方差需要对图像像素进行遍历计算,计算复杂,在处理大型图像时运算缓慢。烟花算法(Fireworks Algorithm,FWA)是一种高效的智能寻优算法,可以大幅降低最大类间方差法的计算量,但FWA在对最优值非零点附近的适应度函数进行寻优时收敛缓慢且容易出现局部最优的情况,此外,FWA中的高斯变异火花在提升可行解多样性方面作用不大,因此该算法有待改进。
发明内容
为了解决上述问题,本发明的目的在于提供了一种基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测方法。
为了达到上述目的,本发明提供的基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测方法包括按顺序进行的下列步骤:
1)获取红外热像仪拍摄的飞机蒙皮损伤红外图像,并将其转化为灰度图像;
2)对上述灰度图像进行高斯滤波而得到滤波后图像,以去除噪声,防止对后续计算带来影响;
3)利用Sobel算法求取滤波后图像的四个方向的梯度值,分别得到四个方向的梯度矩阵,进而得到滤波后图像的梯度最大值矩阵;
4)对梯度最大值矩阵进行非极大值抑制,将局部最大值之外的所有梯度值抑制为0,以消除滤波后图像的伪边缘点,得到最大梯度矩阵;
5)求取滤波后图像的最大类间方差,然后利用快速烟花算法对最大类间方差进行寻优,求得最佳分割阈值,设定最佳分割阈值为Canny算法的高阈值,低阈值等于高阈值的二分之一;
6)利用求得的高阈值和低阈值对上述最大梯度矩阵进行双阈值划分,求得边缘点合集并进行边缘连接,最终获得边缘检测图像。
在步骤2)中,所述的对上述灰度图像进行高斯滤波而得到滤波后图像的方法是:
对灰度图像I(x,y)进行高斯滤波,设高斯滤波函数为G(x,y),则滤波后图像为F(x,y):
F(x,y)=I(x,y)*G(x,y) (1)。
在步骤3)中,所述的利用Sobel算法求取滤波后图像的四个方向的梯度值,分别得到四个方向的梯度矩阵,进而得到滤波后图像的最大梯度矩阵的方法是:
利用Sobel算法对滤波后图像进行水平、垂直、135°和45°的梯度值求取,分别得到四个方向的梯度矩阵,取四个梯度矩阵中的最大值作为滤波后图像的最大梯度矩阵Q(x,y)。
在步骤5)中,所述的求取滤波后图像的最大类间方差的方法是:
利用最大类间方差法求取滤波后图像的最大类间方差,最大类间方差的计算公式为:
σ(t)2=ω0(t)*ω1(t)*(μ0(t)-μ1(t))2 (2)
式中:t是阈值;ω0(t)是无边缘点图像中灰度值小于阈值t的像素点数量;ω1(t)是无边缘点图像中灰度值大于阈值t的像素点数量;μ0(t)是无边缘点图像中灰度值小于阈值t的像素点平均灰度值;μ1(t)是无边缘点图像中灰度值大于阈值t的像素点平均灰度值,使得最大类间方差σ(t)2最大值的高阈值tmax是最佳分割阈值。
在步骤5)中,所述的利用快速烟花算法对最大类间方差进行寻优,求得最佳分割阈值的方法是:
快速烟花算法是在可行解空间随机产生n个烟花,设定最大类间方差函数为适应度函数,对随机烟花初始化后利用适应度函数计算出每个烟花的适应度值并进行评估其爆炸半径和爆炸火花数,则第i(i=1,2…n)个烟花爆炸产生的火花数为:
式中:En是控制N个烟花爆炸产生火花总数的参数;f(xi)是第i个烟花的适应度值;ymax=max(f(x))是烟花所对应适应度的最大值;ξ是为避免除零操作引入的一个极小正数;为避免生成的火花数Si过多或过少,还需对火花数Si进行如下限制:
a,b是事先设定的爆炸火花数限制因子;第i(i=1,2…n)个烟花的爆炸半径为:
式中:Xi,k-XB,k|是第k维上当前烟花距离最优烟花的绝对距离,t是当前迭代次数;
得到每一个烟花的爆炸火花数和爆炸半径后开始烟花的爆炸操作,爆炸操作即每个烟花在爆炸半径Ri范围内随机生成Si个火花,每一个烟花的爆炸火花序列将不再存储该烟花本身,而是全部生成新的火花,此改进提升了烟花算法的计算效率;
在产生爆炸火花时,有可能更新后的坐标超出了取值范围,这时需要采用一定的映射规则来对越界火花进行修正:
xik=XLB,k+|xik|%(XUB,k-XLB,k) (6)
式中:XLB,k和XUB,k分别是该优化问题中烟花取值的下边界与上边界;
然后对所有的爆炸火花计算其各自的适应度值,选择下一代的烟花,选择策略为:
对每一代的最优爆炸火花进行一次判断选择机制,即每一代的最优爆炸火花与当代的最优烟花进行比对,如果适应度更好,则保留为下一代的烟花,反之,则按照接受概率P接受;剩余烟花按照适应度排序择优选取;
将选择得到的新烟花重复上述操作,直到达到设定的循环迭代次数,输出最优烟花的值,作为最佳分割阈值。
本发明具有如下有益效果:
(1)本发明方法采用最大类间方差法计算Canny算法的双阈值,避免了人工预设的误差,使Canny算法具备自适应性且图像的边缘检测效果更佳准确,从而更加适用于现实操作。
(2)快速烟花算法(FFWA)对传统烟花算法的爆炸半径,爆炸火花产生方式与选择策略进行了改进。改进后的快速烟花算法比传统烟花算法的计算时间节省了36%,在稳定性方面也有了可观的提升,本发明方法能够在精度保持不变的情况下,计算速度比改进前加快49%。
附图说明
图1为本发明提供的基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测方法流程图;
图2为FFWA算法流程图;
图3为FFWA与其他改进型烟花算法在Sphere,Ackley,Griewank,Six-Hump Camel-Black四个标准函数的收敛曲线对比;
图4(a)和图4(b)为FFWA分别在飞机蒙皮积水、脱粘损伤图像上的阈值收敛曲线;
图5为本发明提供的基于FFWA的自适应Canny边缘检测方法对飞机蒙皮损伤红外图像的边缘检测结果,其中,图5(a)为飞机蒙皮积水损伤红外图像和其边缘检测结果;图5(b)为飞机蒙皮脱粘损伤红外图像和其边缘检测结果;图5(c)为飞机蒙皮裂痕损伤红外图像和其边缘检测结果;图5(d)为飞机蒙皮腐蚀损伤红外图像和其边缘检测结果。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
如图1所示,本发明提供的基于FFWA的自适应Canny飞机蒙皮红外图像边缘检测方法包括按顺序进行的下列步骤:
1)获取红外热像仪拍摄的飞机蒙皮损伤红外图像,并将其转化为灰度图像;
2)对上述灰度图像进行高斯滤波而得到滤波后图像,以去除噪声,防止对后续计算带来影响;
对灰度图像I(x,y)进行高斯滤波,设高斯滤波函数为G(x,y),则滤波后图像为F(x,y):
F(x,y)=I(x,y)*G(x,y) (1)
3)利用Sobel算法求取滤波后图像的四个方向的梯度值,分别得到四个方向的梯度矩阵,进而得到滤波后图像的最大梯度矩阵;
利用Sobel算法对滤波后图像进行水平、垂直、135°和45°的梯度值求取,分别得到四个方向的梯度矩阵,取四个梯度矩阵中的最大值作为滤波后图像的梯度最大值矩阵Q(x,y)。
4)对梯度最大值矩阵进行非极大值抑制,将局部最大值之外的所有梯度值抑制为0,以消除滤波后图像的伪边缘点,得到最大梯度矩阵;
5)求取滤波后图像的最大类间方差,然后利用快速烟花算法(FFWA)对最大类间方差进行寻优,求得最佳分割阈值,设定最佳分割阈值为Canny算法的高阈值,低阈值等于高阈值的二分之一;
利用最大类间方差法求取滤波后图像的最大类间方差,最大类间方差的计算公式为:
σ(t)2=ω0(t)*ω1(t)*(μ0(t)-μ1(t))2 (2)
式中:t是阈值;ω0(t)是无边缘点图像中灰度值小于阈值t的像素点数量;ω1(t)是无边缘点图像中灰度值大于阈值t的像素点数量;μ0(t)是无边缘点图像中灰度值小于阈值t的像素点平均灰度值;μ1(t)是无边缘点图像中灰度值大于阈值t的像素点平均灰度值,使得最大类间方差σ(t)2最大值的高阈值tmax是最佳分割阈值。
通过最大类间方差法为Canny算法提供阈值,可以使Canny算法在边缘检测结果准确的同时具备自适应性。此外,为了降低最大类间方差法的计算时间,引入快速烟花算法对最大类间方差的计算结果进行寻优。
如图2所示,快速烟花算法是在可行解空间随机产生n个烟花,设定最大类间方差函数为适应度函数,对随机烟花初始化后利用适应度函数计算出每个烟花的适应度值并进行评估其爆炸半径和爆炸火花数,则第i(i=1,2…n)个烟花爆炸产生的火花数为:
式中:En是控制N个烟花爆炸产生火花总数的参数;f(xi)是第i个烟花的适应度值;ymax=max(f(x))是烟花所对应适应度的最大值;ξ是为避免除零操作引入的一个极小正数。为避免生成的火花数Si过多或过少,还需对火花数Si进行如下限制:
a,b是事先设定的爆炸火花数限制因子。第i(i=1,2…n)个烟花的爆炸半径为:
式中:Xi,k-XB,k|是第k维上当前烟花距离最优烟花的绝对距离,t是当前迭代次数。
得到每一个烟花的爆炸火花数和爆炸半径后开始烟花的爆炸操作,爆炸操作即每个烟花在爆炸半径Ri范围内随机生成Si个火花,每一个烟花的爆炸火花序列将不再存储该烟花本身,而是全部生成新的火花,此改进提升了烟花算法的计算效率。
在产生爆炸火花时,有可能更新后的坐标超出了取值范围,这时需要采用一定的映射规则来对越界火花进行修正:
xik=XLB,k+|xik|%(XUB,k-XLB,k) (6)
式中:XLB,k和XUB,k分别是该优化问题中烟花取值的下边界与上边界。
然后对所有的爆炸火花计算其各自的适应度值,选择下一代的烟花,选择策略为:
对每一代的最优爆炸火花进行一次判断选择机制,即每一代的最优爆炸火花与当代的最优烟花进行比对,如果适应度更好,则保留为下一代的烟花,反之,则按照一定概率(接受概率P)接受。剩余烟花按照适应度排序择优选取。将选择得到的新烟花重复上述操作,直到达到设定的循环迭代次数,输出最优烟花的值,作为最佳分割阈值。
6)利用求得的高阈值和低阈值对上述最大梯度矩阵进行双阈值划分,求得边缘点合集并进行边缘连接,最终获得边缘检测图像。
图3为FFWA与其他改进型烟花算法在Sphere,Ackley,Griewank,Six-Hump Camel-Black四个标准函数的收敛曲线对比。由图3可知,由于对爆炸半径的改进,FFWA的核心烟花可以在算法早期快速定位在最优值附近。并且优化了爆炸火花的产生方式,使得算法在每一代都具有更高的搜索效率,所以FFWA的收敛速度均优于其他四个标准函数,而择优选取的选择策略又使得在算法后期有大量的火花在最优值附近挖掘,保证了算法的精度和收敛。
图4(a)和图4(b)为FFWA分别在飞机蒙皮积水、脱粘损伤图像上的阈值收敛曲线;由图4可知,由于最大类间方差函数的全局最优点不在0点附近,传统烟花算法的搜索能力出现明显下降,而FFWA则可以更快速地搜索到全局最优点附近,快速收敛。验证了FFWA在图像上进行寻优计算的可行性。
图5为本发明提供的基于FFWA的自适应Canny边缘检测方法对飞机蒙皮损伤红外图像的边缘检测结果。由图5可知,本发明方法在四种损伤红外图像上都得到了合适的分割阈值,没有将图像背景部分中受热不均匀的边界误检测为损伤边缘,且对真正的损伤部分做出了准确且连续的标记。