周子扬,李英娜
(昆明理工大学 信息工程与自动化学院,云南 昆明 650504)
无人机应用的兴起,为输电线路巡检带来了全新的方式[1]。当前,使用无人机图像对自然场景进行分类检索成为了一个新趋势。针对无人机巡检图像,设计一套算法来自动检测出输电线路杆塔上的鸟巢,能够极大提高巡检的工作效率,进而有效保障电力系统的安全运行。
对于背景简单、干净的鸟巢图像,比如接触网鸟巢图像,其检测方法主要有以下 3种。文献[2]采用了一种相对位置不变的接触网鸟巢识别方法,其优势在于计算简单,只需要计算杆塔白色横梁上白色区域的比值即可以确定出是否存在鸟巢。文献[3]使用灰度图像匹配方法,只需选定好鸟巢模版,再使用模版匹配法对交集阈值图进行匹配,就可以得到匹配结果;此方法简单快捷。文献[4]利用悬垂点把鸟巢细枝条提取出来,对提取出的细枝条方向和长度信息分别使用 SVM(support vector machine)分类器进行分类来确定鸟巢的位置;该方法准确率可以达到90%。
目前,输电杆塔上的鸟巢图像可以通过航拍得到。由于此类图像的背景相对复杂,所以前面所述的3种方法并不十分适用。该情况下,应用机器学习算法分析并提取图像中鸟巢特征往往能够得到较好的效果。
文献[5]在使用主成分分析法提取鸟巢特征的基础上,对比了BP(back propagation)神经网络、SVM 分类器和极限学习机这 3种分类器的识别效果。
文献[6]采用了无监督和有监督的学习方案来定位鸟巢的位置。在有监督的学习方案中,对比了Haar特征和LBP(local binary pattern)纹理特征训练的AdaBoost分类器结果,并将结果与调整后的基于 Fast R-CNN深度学习检测方法进行了对比。
文献[7]用深度学习技术提取了输电杆塔中的钢条特征,通过引入GANs模型构建了双判别器对抗模型,大大提升了鸟巢的检测准确度。
当拍摄距离较远时,航拍图像背景会比较复杂,且杆塔在图像中占比较小。另外,由于拍摄角度的原因,图像中会存在鸟巢被局部遮挡的情况。以上原因使得上述文献所使用的方法并不适用于对航拍图像中鸟巢的检测识别。
为此,本文提取出的鸟巢检测方法为:首先对杆塔框架进行检测,以排除复杂背景对鸟巢检测所带来的干扰;然后针对鸟巢被遮挡的情况,使用纹理特征来检测图像中鸟巢在杆塔上的具体位置。
考虑图像中杆塔的特征以及复杂背景带来的干扰,输电杆塔框架提取算法的流程大体可以分为3个步骤。
步骤1:首先,将图片RGB颜色空间转换成HSV颜色空间[8];然后,进行滤波处理以有利于杆塔边缘的提取;最后,使用单一全局阈值进行分割,实现简单背景分离。
步骤2:利用Canny算子进行边缘检测;再使用腐蚀操作去掉不需要的小区域;最后选出面积最大的3个连通域。
步骤3:把图片分成10×10像素大小的盒子。先进行Hough直线变换,再挑选出所有能被一条直线贯穿的盒子;最后提取出杆塔的框架。
图1为航拍杆塔图像示例。
图1 航拍杆塔图像示例Fig. 1 The aerial image of pole towers
由图1可以看出,电气部件(如塔、绝缘子)的颜色特征不是唯一的。塔的颜色外观为灰白色,复合绝缘子为砖红色,绝缘子呈现出水绿色。
由于航拍时光照情况的不同,图像中RGB颜色空间不能有效区分功率元件。
不同颜色空间中,杆塔的视觉表现非常不同。在RGB颜色空间中,目标塔与背景对象混合在一起;在HSV颜色空间中,杆塔的各个部分相互连接,呈现出强烈的聚集性。
经过对比发现:在H通道下,杆塔的形状能够得到完整的保留。考虑到背景的影响可以被连通域过滤掉,因此选择HSV颜色空间作为特征提取基色空间。
考虑到滤波有助于边缘的提取,故在H通道下进行中值滤波。
中值滤波[9]是基于排序统计理论的一种能够有效控制信噪比的滤波方式。使用该方法,能够减少脉冲噪声、椒盐噪声,且不会丢失图像边缘细节。这些优良特性有利于杆塔的边缘提取。
阈值分割是一种被广泛应用的图像分割技术,其原理是:根据图像中目标区域与背景在灰度特性上的差异,把目标区域和背景区域看作具有不同灰度级的2类区域的组合。通过选取一个较为合理的阈值来判定图像中每个像素点所属区域,从而产生相应的二值图像。
在H通道下,杆塔和背景灰度存在差异。使用基本全局阈值处理后,图1所示图像的分割结果如图2所示。
图2 阈值分割后的图像Fig. 2 The image after threshold segmentation
使用Canny算子[10]对图像的边缘进行检测。
由于采集到的杆塔图像分辨率大小不一,经过统一分辨率后,图像中可能存在噪声。使用Canny算子进行边缘检测,不但能够提取出图像中信号强度较弱的边缘信息,而且可以有效较少噪声带来的影响。
边缘检测结果如图3所示。
图3 Canny边缘检测结果Fig. 3 The result of Canny edge detection
在选择对应连通区域前进行腐蚀操作,可以把图像中不相关的连接小区域去除掉。
腐蚀操作是形态学操作之一,可用于消掉图像中不需要的边界点,使图像沿着边缘向内收,使得被选中结构体附近不需要的像素点消失。
在腐蚀操作后,筛选出面积最大的3个连通域并标记出来,并把除标记的连通域以外的区域全部屏蔽掉。结果如图4所示。
图4 筛选出的连通域Fig. 4 The filtered connected domain
将筛选出来的域按面积大小排序,前3的连通域分成10×10像素大小的盒子,如图5所示。
图5 连通域分成10×10像素大小的盒子Fig. 5 Connected domains that are divided into boxes of 10 pixels by 10 pixels
对这3个连通域进行Hough直线检测:最小直线长度设置为 15像素。直线之间的最小距离也设置为 15像素。小于这个值,就认为是同一个直线。
删除掉没有直线的和不包含一条直线贯穿的盒子。保留包含盒子最多的连通域,用多边形包围起来,标记出杆塔的具体位置。杆塔提取的结果如图6所示。
图6 多边形标记出杆塔的位置Fig. 6 The position of towers marked by polygons
鸟巢通常建造在杆塔最坚实的部位。图7中,由于鸟巢边缘不规则以及杆塔的遮挡,其轮廓提取较困难。
图7 提取出的杆塔框架原图Fig. 7 The extracted original drawing of tower frame
基于鸟巢在图像中表现出的特性,本文提出了一种新的鸟巢检测框架,共分为 3步:预处理、筛选鸟巢疑似区域和基于纹理特征的分类学习。
针对鸟巢对象,本文使用了如下方法来分离背景区域,提取疑似鸟巢区域。
由于HSV颜色空间适合人眼的视觉特点且便于定量分析,所以将图像转到该颜色空间;随后量化每个通道分量中的颜色,从而找到符合鸟巢颜色特征的分量范围。在量化颜色分量前,先将H分量归一化到区间[0,255]内,S通道分量和V通道分量同时归一化到区间[0,1]内。
具体的量化步骤如下:
(1)考虑到人眼辨别颜色的方式,把H通道的分量平均分成8份,S通道和V通道的分量同时分为4等份和3等份。
(2)在V通道中,将V值小于15%的颜色判定为黑色,令其为0。
(3)对于S值小于10%、V值大于80%的颜色,分别把S的值改为0,V的值变为2。同时,判定该颜色是白色。
(4)对于不在白色和黑色范围内的颜色,HSV中的每一个分量不变,并把这类颜色判定为彩色。
经过上述的步骤后,把HSV颜色中的每一个分量合成为L=12H+3S+V,式中的L范围落在[0,95]区间里。
通过大量分析鸟巢区域样本得出:H分量集中落在[0,20]及[224,255]范围内,饱和度S取值范围不限,亮度V取值小于0.7。在此条件下即能不漏检所有可能包含鸟巢的区域。
图7为提取出的杆塔框架原图。图8为对图7进行量化HSV颜色分量后,筛选出的符合鸟巢样本的HSV编码特征值区域图像。
图8 符合鸟巢样本的HSV编码特征值区域Fig. 8 The HSV coding eigenvalue region consistent with bird’s nest sample
从图8可以看出,通过确定HSV颜色分量的范围,算法不但能够保留完整的鸟巢区域,而且能分离掉绝大部分的背景和杆塔的部分区域。
如图9所示,在整个杆塔图像区域中找到连通且符合上述HSV颜色分量范围的颜色区域。使用连通结构管理这些疑似鸟巢的连通区域。
图9 提取出的鸟巢疑似区域Fig. 9 The extracted suspected area of the bird's nest
找出这些区域中最大的矩形外接框,进而统一疑似鸟巢区域的大小。用这些统一好大小的鸟巢疑似区域来做灰度共生矩阵[11]特征量的分析。
对于候选的鸟巢区域,根据先验知识,通过控制变量,将生成的灰度共生矩阵中的灰度级设置为16,距离选择为5,生成4个方向。
对区域中满足指定条件的像素进行统计,计算出4个方向的灰度共生矩阵。根据灰度共生矩阵的特征量的计算方法,计算如图10所示的9张图像不同方向的6个纹理特征量(能量、对比度、相关性、熵、逆差矩、惯性矩)。这9张用来对比特征量的图像依次分别是3张不同的鸟巢图像、植物、导线、田地、绝缘子、杆塔和房屋。
图10 计算纹理特征量对比图例Fig. 10 The comparison diagram for calculating the characteristic quantity
图10的6个纹理特征量计算结果如图11所示。
图11 图像纹理特征量变化曲线Fig. 11 Curves of the image texture feature change
综合考虑图11所示计算结果,故选择使用灰度共生矩阵的惯性矩特征量对疑似鸟巢区域进行分类。
含有鸟巢的输电杆塔图像由某电力公司无人机航拍得到。
图像资料共46 G。每张图像的尺寸均不相同。图像最小11.7 M,最大有28.7 M。
在收集到的2 416张输电杆塔图像中共有鸟巢2 495个。
在进行样本分类之前,首先需要考虑的问题就是样本的收集。
本算例中,收集了含有鸟巢的正样本图像一共2 000张,不包含鸟巢的负样本4 000张。将这些样本统一成100×90大小。
分类器[12]:在训练的过程中,可以设置训练样本的大小和级数,可以增大分配的内存。这样可以缩短训练时间。
人工区分含有鸟巢的样本和不含鸟巢的样本:把有鸟巢的样本定为正样本,不含有鸟巢的样本作为负样本。鸟巢候选区均为灰度图。为了确保负样本的复杂多样性,在鸟巢以外的疑似候选图像中,选择不同的图像作为负样本。如图10所示,负样本包含植物、导线和杆塔等。
假设原始的杆塔图像样本有2类。第一类为图像中含有鸟巢区域的正例样本,共有P个;第二类为图像中没有鸟巢区域的负例样本,共有N个,则实际图像中某区域是否含有鸟巢的情况和分类器检测结果共有4种可能。
(1)TP(ture positive):图像中的某个区域含有鸟巢,检测结果也显示该区域有鸟巢。
(2)FP(false positive):图像中的某个区域没有鸟巢,检测结果显示该区域含有鸟巢。
(3)FN(false negative):图像中的某个区域含有鸟巢,检测结果显示该区域没有鸟巢。
(4)TN(ture negative):图像中的某个区域没有鸟巢,检测结果也显示该区域没有鸟巢。
显然有P=TP+FN,N= FP+TN。各个检测结果的含义如下。
虚警率FPR(fall-out or false positive rate):FPR=FP/(FP+TN)=FP/N,是指图像中的某个区域没有鸟巢而分类器判断该区域含有鸟巢的样本占图像中没有鸟巢区域的负例样本的比例。
漏警率FNR(miss rate or false negative rate):FNR=FN/(FN+TP)=FN/P,是指图像中某个区域含有鸟巢但是分类器却没有检测到鸟巢的个数占全部正例样本数量的比例。
召回率TPR(true positive rate):TPR=TP/(TP+FN)=TP/P,是指分类器正确检测出图像某区域含有鸟巢的样本个数占全部正例样本数量的比例。
精确度PPV(precision or positive predictive value):PPV=TP/(TP+FP),是指分类器判定为含有鸟巢正例样本图像中真正含有正例样本的比例。
准确率ACC(Accuracy):ACC=(TP+TN)/(P+N),是指分类器能将正的样本判定为正,负的样本判定为负的能力,即正确指出鸟巢是否含有鸟巢区域的次数占总样本数量的比例。
对SVM分类器[12]分别使用3个不同的特征进行训练,其中包括:Haar特征[13]、LBP(local binary pattern)特征[14]和本文所使用的灰度共生矩阵中的惯性矩特征值。
对于上述的3种不同特征,分别使用相同的杆塔图像样本和训练迭代次数,得到如表1所示的5种检测指标计算结果。
表1 SVM分类器检测结果Tab. 1 The detection results of SVM classifier
从表1中FPR、FNR、TPR、PPV和ACC这5个指标可以看出,本文使用灰度共生矩阵中的惯性矩进行检测的方法在鸟巢检测中的效果要明显优于另外2个特征;其次,使用LBP特征的鸟巢检测效果又要好于使用Haar特征。
表2给出了3种算法对比结果。
表2 算法对比结果Tab. 2 The algorithm contrast result
从表2可以看出:使用LBP特征和Haar特征分别能够得到78.68%和63.87%的准确率,而使用灰度共生矩阵中的惯性矩特征值进行训练可以得到 83.60%的检测准确率,检测速度也有明显的提高;因此,特征的选择对分类器的训练至关重要。
本文提出了一种融入纹理特征的杆塔鸟巢检测方法。
该方法针对无人机航拍得到输电杆塔图像,经过图像预处理、杆塔框架提取、鸟巢纹理特征提取和训练分类等步骤,实现了输电杆塔鸟巢图像的检测。
实验结果表明:本文使用的灰度共生矩阵中的惯性矩特征在鸟巢检测中的效果要明显优于Haar特征、LBP特征。使用灰度共生矩阵中的惯性矩特征值进行训练可以得到83.60%的检测准确率,检测速度相比之下也有明显提高。