基于PSO的最佳熵阈值红外图像隧道渗漏水提取
2022-08-22杨国田王云龙宋森平
杨国田,王云龙,宋森平
(华北电力大学,北京 102206)
1 引言
随着越来越多的隧道工程项目被开发使用,确保隧道环境安全变得愈发重要。这就要求监测系统可以及时准确地检测到隧道中的意外情况。渗漏水是隧道中常见病害之一,隧道出现渗漏水后,容易造成隧道内壁龟裂,长时间渗漏会降低隧道的使用寿命。根据《地下工程防水技术规范》文件,地下工程防水等级共分为四级[1]。电缆隧道防水等级为二级标准,要求渗水面积小于0.2m2。之前都是通过人工巡检来检查隧道中是否有异常情况发生,但是人工巡检存在很多弊端。一方面有些隧道不方便人进入巡检,而且人工巡检需要消耗大量的人力和时间。另一方面,人工巡检只能定性的判断是否发生渗漏水,误差较大。在当下人工智能盛行的时代,计算机在一定程度上已经可以代替人来完成某些任务。渗漏水的检测便可以依靠计算机视觉和图像处理技术实现智能检测[2]。
地下隧道内壁温度相对恒定,而渗漏水来源于地下,温度比隧道内壁低。当隧道发生渗漏水时,渗漏水区域的温度会低于周围墙壁的温度,出现温度差。因此可以使用红外热成像仪捕获隧道内的图像,进行阈值分割提取渗漏水区域[3-5]。黄永杰等[6]通过固定阈值对渗漏水红外图像的灰度图进行分割。但是隧道中不同区域的环境温度存在差异,使用固定的阈值提取得到的渗漏水区域的精度较低。若动态地根据图像的全局信息来获得图像分割的阈值,图像分割的效果将会有很大的提高。Kapuret等[7]提出一种基于图像全局熵的图像分割方法,将检测图像前景和背景的熵和作为目标函数,通过寻找使目标函数取得最大值的阈值作为分割图像的阈值。雷松泽[8]使用图像熵对红外图像进行分割,分割效果很好。但是寻找熵阈值通过穷举法实现,计算量较大,不能实时得到分割结果。
基于最佳熵阈值图像分割,本文使用粒子群算法对最佳熵阈值搜索过程进行优化,快速准确地得到分割图像的阈值。在研究过程中发现,图像的灰度分布对分割结果影响较大,本文改进算法,通过对待分割图像进行直方图规定化降低这种影响。最后通过实验分割结果对比、图像分割客观指标评估,证明了本文提出的算法可以快速、准确地提取渗漏水,并且是一种通用的红外图像渗漏水区域提取方法。
2 粒子群的最佳熵阈值算法
2.1 一维最佳熵阈值分割
根据Shannon对信息熵的定义,对于灰度范围为[0,L-1]的灰度图像,其直方图的熵定义为[7]
(1)
其中Pi为第i个灰度出现的概率。
图像分割需要将图像分为目标和背景两类,设阈值t将图像划分为目标和背景两类,则这两类的概率分布分别为
(2)
(3)
假设图像中目标区域的灰度范围为[0,t-1],目标区域的累计概率Po和图像熵ho分别为:
(4)
(5)
则目标熵和背景熵分别为Ho(t)和HB(t)
(6)
(7)
图像的总熵H(t)为Ho(t)和HB(t)之和,即
(8)
当图像总熵值最大的时候,目标区域和背景区域内各自的灰度分布具有最大的统一性,该阈值即可以分割两区域。最佳阈值t为
(9)
2.2 粒子群算法
粒子群 (particle swarm optimization,PSO)算法,是一种全局搜索优化算法。在PSO算法中,优化问题的每个可能解都被视为搜索空间中的一个粒子,每个粒子根据自身迭代得到的个体最优位置和整个群体迭代过程中搜索到的全局最优位置来调整自身在解空间中的空间位置和飞行速度。PSO算法中粒子的更新方式如下[9-11]:
设在d维空间的搜索空间中,存在N个粒子组成一个群落,其中第i个粒子在第t次迭代后的位置和速度都可以分别用d维的向量表示为
(10)
(11)
(12)
(13)
那么粒子群在进行t+1代迭代时,第i个粒子按照如下公式更新自己的速度v和位置x
(14)
(15)
w为惯性因子,用来平衡粒子的全局寻优能力和局部搜索能力。c1、c2为学习因子,可以用来反映粒子与粒子间的信息交流,其值一般小于4为宜。r1、r2为0到1间的随机常数。
2.3 粒子群的一维最佳熵阈值图像分割
使用穷举法寻找一维最佳熵阈值,计算量大,得到分割结果所需要的时间较长[12]。粒子群算法是一种全局搜索算法,通过对图像的所有灰度级进行智能搜索,得到使适应度函数取得最大值的最优解。
基于粒子群的一维最佳熵阈值图像分割的算法,在分割阈值的定义域内随机产生规定种群数量的初始粒子,将图像的一维总熵和作为粒子群优化算法的适应度函数。通过粒子群的迭代最终寻得使适应度函数取最大值的最优解,也就是灰度图像二值化的阈值。
基于粒子群的一维最佳熵阈值粒子群图像分割的算法的流程图如图1。
图1 图像分割算法流程图
3 渗漏水区域提取
图2左图为由红外热成像仪采集到的隧道中的渗漏水区域红外图像,图2右图为对红外图像灰度化后的灰度图像。
图2 渗漏水红外图像及灰度图像
使用上述算法得到的最佳阈值对灰度图像进行二值化操作,得到的二值图像如图3左图所示。可以发现得到的二值图像还存在很多噪声,会对渗漏水区域的提取造成干扰。需要通过数字图像滤波的技术对图像进行降噪处理。中值滤波是一种非线性滤波方式,在滤除噪声的同时可以保护图像尖锐的边缘[13]。故本文使用中值滤波。经过中值滤波处理后得到的图像如图3右图。
图3 中值滤波前后的图像
此时得到的分割区域的边缘还比较尖锐,同时外围也存在一些小的独立区域。为了除去外围存在的噪声,使提取到的区域更加接近真实渗漏水区域,本文使用数学形态学滤波开闭操作对图像进行进一步处理。
开闭操作是由图像处理技术中膨胀和腐蚀两种方法组合成的。开操作是先对图像进行腐蚀操作然后再进行膨胀操作,闭操作与之相反。其中腐蚀操作将小于结构元细节从图像中滤除,膨胀操作将图像外围的突出点连接并向外延伸。先对图像进行开操作然后进行闭操作,不仅可以除去图像外围的噪声,而且提取到的区域更符合水渗透的特性,使提取到的区域更加接近真实渗漏水区域。经过开闭操作后得到的图像如图4所示:
图4 开闭操作后的图像
提取到渗漏水区域后还需要计算渗漏水区域的面积,依据由算法分割得到的二值图像,本文使用连通区域提取的方法直接统计渗漏水区域所占的像素点。然后通过实际场景与图像间缩放比例,将像素点数映射为相应的渗漏水区域的面积。
4 直方图匹配改进算法
基于最大熵阈值的图像分割是对灰度图像的灰度级及其所对应的概率进行统计,通过公式计算得到图像总熵,然后找出最佳阈值对图像进行分割。因此灰度图像分割阈值选择的值对灰度图的灰度分布十分敏感。而隧道渗漏水区域的属性在红外图像上表现是相似的,所以可以通过调整红外图像的灰度分布提高渗漏水区域提取效率。
分割效果不佳的图像及灰度分布、图像分割结果如图5。
图5 (a)红外图像 (b)灰度图像直方图分布 (c)直接进行图像分割得到的结果
分割效果好的图像及灰度分布、图像分割结果如图6。
图6 (a)红外图像 (b)灰度图像直方图分布(c)直接进行图像分割得到的结果
直方图规定化,是通过一个灰度映射函数,将原灰度直方图变换为所希望的直方图。这样便可以有目的地增强某个灰度区间的图像。由图5、图6可以发现,基于最大熵阈值的图像分割算法对于图6所示的灰度直方图分布的分割效果更好。为了使该算法成为通用的渗漏水红外图像分割算法,本文在搜寻图像分割最佳阈值前增加直方图规定化,将分割效果好的图6的灰度直方图分布作为直方图规定化的匹配模板。将待分割图像的直方图与该模板匹配,然后再对获得的直方图进行图像分割最佳阈值地搜索。本文将这种改进后的算法简称为HS-PSO。
经过直方图规定化后,图5所示灰度图像的直方图分布以及分割效果如图7。
图7 (a)直方图规定化后的灰度分布(b)直方图规定化后图像分割结果
可以发现,增加直方图规定化后对图像的分割效果有了很大地提升。但是模板灰度分布对分割结果的影响很大,需要选择恰当的灰度分布作为模板。
5 实验结果与分析
为了验证HS-PSO算法的可行性,对含有渗漏水区域的红外图像进行实验,将HS-PSO算法分割的结果与人工标定的分割结果、传统PSO算法分割的结果进行比对,同时根据图像分割评价指标对HS-PSO算法进行客观地评估。为了测评算法在实际工程项目上的表现,本节还对算法的分割时间、算法的稳定性进行测试。
本文实验是在CPU 3.8GHz、16G内存、win10环境下进行的,运行平台为MATLAB R2017a。算法参数设置为:种群数量为20,迭代次数为30,最大速度为25;
5.1 分割结果对比
图8展示了对四幅示例渗漏水红外图像经过算法分割得到的结果进行对比。以经过人工标定的分割结果作为参考,对比经过PSO算法、HS-PSO算法提取获得的分割结果。相比于PSO算法提取获得的渗漏水区域,HS-PSO算法提取得到的渗漏水区域更接近人工标定的分割结果,形状和面积都与人工标定的分割区域更接近。
图8 渗漏水分割结果
5.2 图像分割评价指标评估
峰值信噪比(peak signal to noise ratio,PSNR)、结构相似度(structural similarity,SSIM)、提取区域面积误差(area error,AE)可以作为评估算法提取渗漏水区域效果的客观指标。PSNR和SSIM的值越大,AE的值越小,则提取得到的渗漏水区域与人工标定的分割结果越接近。
采用PSO算法与本文提出的HS-PSO算法对上述4幅红外图像处理,使用上述三种图像分割评价指标对两种算法获得的分割图像做客观地评价。评价指标的值如表1所示,最优结果在表中使用黑体标出。
表1 图像分割评价指标
由上表可以发现,对于示例图像4来说,PSO算法对其分割结果与人工标定的分割结果接近,使用HS-PSO算法并不会降低对这两幅图像的分割效果。而对于PSO算法分割效果不好的示例图像来说,HS-PSO算法对这两幅图像的分割效果有了很明显地提升,接近人工标定的分割结果。
5.3 算法分割时间及稳定性
若想将算法应用到实际的工程项目中,不仅对算法的分割精度有较高要求,还要求算法分割图像的所消耗的时间较少、算法稳定性高。本小节使用HS-PSO算法对上述4幅红外图像处理,测试算法的可行性。由于软件对程序的记忆功能,重复运行同一程序时程序的运行时间会变短。因此本文将初次分割每幅红外图像的时间作为算法分割图像的参考时间,这与渗漏水检测时的实际情况也相符合。HS-PSO算法为群智能优化算法,存在陷入局部最优、收敛速度慢的可能。本节使用HS-PSO算法对上述4幅红外图像处理,对每幅图像连续运行20次,并记录算法由于陷入局部最优导致最佳阈值搜索失败的次数。为了验证算法的收敛性,针对4幅红外图像分别绘制了分割时最优个体适应度的收敛曲线。具体实验结果见表2、图9。
表2 图像分割耗时及稳定性
图9 最优个体适应度与迭代次数曲线
由实验结果可以发现,HS-PSO算法分割红外图像的时间已经可以达到实时检测的速率。通过红外热成像仪检测渗漏水,除去了混乱的背景对渗漏水区域提取的影响,得到的红外图像构成比较简单,使得基于一维最大熵的粒子群寻优过程变得容易,几乎不会陷入局部最优。从图9中也可以看出,HS-PSO算法能够很快的跳出局部最优,大约在迭代5次后便可以寻得全局最优解。
因此,HS-PSO算法无论从图像分割时间,还是算法的稳定性来讲,都可以实现对红外图像渗漏水区域地提取。
6 结论
1)仿真结果表明,改进后的算法可以有效地提取红外图像渗漏水区域,可以作为一种通用的红外图像渗漏水区域提取算法。算法分割精度较高,几乎不会陷入局部最优,分割速度快;
2)改进后算法直方图规定化的模板对分割结果影响很大,需要选择分割效果好的灰度分布作为直方图规定化的模板。