2. 昆明理工大学 国土资源工程学院 昆明 650500;
3. 云南电网有限责任公司 电力科学研究院 昆明 650217;
4. 昆明理工大学 信息工程与自动化学院 昆明 650500
2. School of Land and Resources Engineering, Kunming University of Science and Technology, Kunming 650500, P. R. China;
3. Electric Power Research Institute of Yunnan Power Grid Co., Ltd., Kunming 650217, P. R. China;
4. Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, P. R. China
绝缘子检测任务旨在从电力图像中识别出绝缘子,并预测出其位置坐标。在传统的日常输电线路巡维中,巡检人员拍摄大量的图像,从海量巡检图像中人工查找绝缘子,从而寻找绝缘子缺陷,不仅费时费力,而且漏检率较高。而利用目标检测技术代替人工筛查,从庞大的巡检图像数据中对绝缘子进行快速自动检测,已成为解决该问题的有效方法之一。近几年来,得益于深度学习的发展,目标检测受到研究者的广泛关注,并提出了一系列优越的有监督目标检测方法[1-6]。在绝缘子检测中,一般情况下仅能获得单一类型的绝缘子样本。如果将上述方法在单一类型绝缘子上训练得到的模型直接应用到跨域绝缘子检测上,性能会急剧下降。
无监督域自适应目标检测[7-12]能有效地解决上述问题。这些方法大致可以分为三类:基于风格迁移的无监督域自适应目标检测、基于生成对抗的无监督域自适应目标检测以及基于自训练的域自适应目标检测[13-15]。基于风格迁移的目标检测:在保证图像内容不变的前提下,将源域图像迁移到目标域风格,再利用迁移后的图像对模型进行训练。然而,对于绝缘子来说,航拍的巡检图像中目标物种类繁多且背景复杂,容易导致模型坍塌。基于生成对抗的方法[16-17]通过域判别网络对不同域下的特征进行对齐以弱化域偏移对检测性能带来的不利影响。然而,由于巡检图像中绝缘子所占比例较小,这类方法不能有效地对齐特征。基于自训练的目标[18-19]通过预测目标域图像的伪标签,并对模型进行微调。然而,不同域下的绝缘子具有显著的颜色和外观差异(如图 1所示)。这些差异会导致标签噪声的产生,从而检测性能下降。
如果能够弱化绝缘子的背景复杂性和外观差异性对性能带来的不利影响,就能有效对齐不同域下的绝缘子特征分布,进一步提高无监督跨域绝缘子检测性能。为实现目的,受域自适应双重对抗思想的启发,提出一种双重对抗的无监督域自适应绝缘子检测方法。如图 2所示,提出的模型包括源域检测、域混淆对抗以及差异对抗模块。源域检测模块通过约束网络输出的分类结果和坐标预测结果,赋予网络具有提取判别性特征的能力。在域混淆对抗模块中,对源域和目标域的特征进行混淆判别,来减少不同域下特征分布的差异。在差异对抗模块中利用差异损失交替优化特征提取网络和判别网络,一定程度上解决了绝缘子外观差异显著的问题。
得益于循环一致性生成对抗式网络[20]图像翻译任务上取得的巨大成就,近几年来基于风格迁移的无监督跨域目标检测方法受到了研究者的广泛关注。这类方法首先将源域的图像迁移到目标域风格下,再结合迁移后的图像和源域的标签对模型进行训练以弱化域偏移对检测性能带来的不利影响。Inoue等人[14]提出将卡通风格的图像迁移到自然场景风格下,再微调检测模型。现实场景中,采集到的待检测图像往往来自多个域,仅对一个源域和一个目标域的图像进行迁移,容易导致迁移后的图像风格单一。为解决这一问题,Kim等人[15]生成了源域与目标域之间的多个中间域图像,从而赋予网络进一步学习域不变特征的能力。然而,对于绝缘子图像而言,背景的复杂多变性容易导致模型坍塌,因此不能直接应用在域自适应绝缘子检测上。
1.2 基于生成对抗的无监督域自适应目标检测生成对抗[21]能够对齐不同样本的空间分布,因此被广泛应用于无监督跨域目标检测上。这类方法一方面约束判别网络尽可能判断出输入特征所属的域。另一方面促使特征提取网络提取到的特征骗过判别器,从而对齐源域与目标域特征的空间分布。Chen等人[16]在faster-rcnn模型的基础上添加判别器分支,并利用这个判别器分支学习图像级别和物体级别的域不变特征,一定程度上提高了跨域目标检测的性能。不同于传统的判别网络,Wang等人[17]设计了一个检测器以检测多个域的目标图像。与此同时,他们在网络中引入注意力机制,从而赋予网络关注目标物细节的能力。然而,这类方法仅适用于外观差异较小的目标,而玻璃绝缘子和复合绝缘子具有显著的外观差异,因此在域自适应的绝缘子检测上是不可行的。
1.3 基于自训练的无监督域自适应目标检测自训练,也叫自学习。近年来,研究者提出对图像进行伪标签预测的无监督域自适应目标检测方法。这类方法首先在源域上进行有监督的学习,然后利用预训练的模型预测目标域图像的伪标签,最后对模型进行微调。Aruni等人[18]设计了一个跟踪器来生成目标域图像的伪标签,并利用软标签分配的技巧促使预测的标签更加准确。然而,不同域下的绝缘子在颜色和外观上都具有显著的差异。对这些差异较大的绝缘子图像进行伪标签的预测极易产生标签噪声,从而导致检测性能下降。
综上所述,针对绝缘子图像背景复杂、外观差异显著的问题,提出双重对抗的无监督域自适应绝缘子检测算法。该方法能够有效提高域自适应绝缘子检测任务的性能。
2 双重对抗的无监督域自适应绝缘子检测算法提出的一种双重对抗的域自适应绝缘子检测算法如图 2所示。其中,模型包含源域检测模块,域混淆对抗模块以及差异对抗模块。源域检测模块实现对绝缘子图像的有监督学习,赋予特征提取器学习具有判别性特征的能力。域混淆对抗模块通过混淆对齐机制,有效地弱化了绝缘子图像背景复杂性对检测性能带来的不利影响。此外,差异对抗模块一定程度上保证了网络提取特征的鲁棒性。接下来将详细介绍这3个模块,并对算法实现进行阐述。
2.1 源域检测模块如图 3所示,源域检测模块以yolov3[22]为框架。给定源域的绝缘子图像IS={Isn}n=1N,N表示图像的数量。将图像输入特征提取器G,输出3个不同尺度的特征。这3个特征的尺度大小分别为13×13×(3×6),26×26×(3×6)以及52×52×(3×6)。其中,13,26和52分别表示3个特征的长和宽,3表示预先定义的3个候选框。每个候选框又能在特征图上预测得到物体类别、坐标值以及分类置信度这6个值。
对于每个尺度的特征,首先,利用交叉熵损失进行约束以赋予网络识别物体类别的能力,损失函数如下式(1)所示
$ {L_{{\rm{cls}}}} = \sum\limits_{i = 0}^{{s^2}} {\sum\limits_{b = 0}^B {I_{i,b}^{{\rm{obj}}}} } \sum\limits_{c \in {\rm{ classes }}} {{y_i}} (c) log \left( {{p_i}(c)} \right), $ | (1) |
其中:S表示3个特征图的尺度,即13,26和52;B是预定义候选框的数量;Ιi, bobj是1个指示函数,表示物体在特征图上的第i个位置的第b个候选框中;yi(c)是真实的类标签,
$ {L_{{\rm{con }}}} = \sum\limits_{i = 0}^{{s^2}} {\sum\limits_{b = 0}^B {I_{i,b}^{{\rm{obj }}}} } {\left( {{c_i} - \widehat {{c_i}}} \right)^2}, $ | (2) |
这里的ci和
除上述损失外,还有坐标损失如下
$ \begin{array}{*{20}{c}} {{L_{{\rm{coord }}}} = \sum\limits_{i = 0}^{{S^2}} {\sum\limits_{b = 0}^B {I_{i,b}^{{\rm{obj }}}} } \left[ {{{\left( {{x_i} - {{\hat x}_i}} \right)}^2} + {{\left( {{y_i} - {{\hat y}_i}} \right)}^2}} \right] + }\\ {\sum\limits_{i = 0}^{{S^2}} {\sum\limits_{b = 0}^B {I_{i,b}^{{\rm{obj }}}} } \left[ {{{\left( {\sqrt {{w_i}} - \sqrt {{{\hat w}_i}} } \right)}^2} + {{\left( {\sqrt {{h_i}} - \sqrt {{{\hat h}_i}} } \right)}^2}} \right],} \end{array} $ | (3) |
式中的xi, yi,wi,hi分别表示真实框的中心点位置和尺度,
最后,源域检测模块的总损失函数如下式(4)所示
$ {L_{{\rm{yolov3 }}}}(G) = \sum\limits_{m = 1}^3 {\left( {{L_{{\rm{cls}}}} + {L_{{\rm{con }}}} + {L_{{\rm{coord }}}}} \right)} , $ | (4) |
其中m表示特征的数量。
2.2 域混淆对抗模块为弱化域偏移对检测性能带来的不利影响,提出域混淆机制。具体来说,设计2个域判别器D1和D2,分别对源域和目标域的绝缘子特征进行正确判别。同时,约束特征提取器G学习到让判别器产生混淆的特征,即约束2个判别器输出错误的结果。为减少计算量,采用13×13×(3×6)的特征作为判别器的输入。如下图 4所示。
首先,约束D1,分别将源域和目标域的绝缘子特征分到对应的域类别上,即
$ {{L_s}\left( {{D_1}} \right) = {E_{(I_s^n \sim {I_S})}}\sum\limits_{n = 1}^N {\left[ {{D_1}\left( {G\left( {I_s^n} \right)} \right),[1,0]} \right]} }。$ | (5) |
其次,约束D2,有
$ {{L_T}\left( {{D_2}} \right) = {E_{(I_t^n \sim {I_T})}}\sum\limits_{n = 1}^N {\left[ {{D_1}\left( {G\left( {I_t^n} \right)} \right),[0,1]} \right]} }。$ | (6) |
为促使网络学习到域不变的绝缘子特征,约束特征提取器G,使其生成的特征混淆判别器的输出结果,如下式所示
$ {L_s}(G) = {E_{(I_s^n \sim {I_S})}}\sum\limits_{n = 1}^N {\left[ {{D_1}\left( {G\left( {I_s^n} \right)} \right),[0,1]} \right]} , $ | (7) |
$ L_{T}(G)=E_{\left(I_{t}^{n} \sim I_{T}\right)} \sum\limits_{n=1}^{N}\left[D_{1}\left(G\left(I_{t}^{n}\right)\right),[1,0]\right], $ | (8) |
通过上述混淆对抗的机制,能够有效地对齐源域和目标域的绝缘子特征分布。
2.3 差异对抗模块针对源域和目标域绝缘子外观差异较大的问题,提出最大最小化差异损失以优化判别器和特征提取器,进一步提高域自适应绝缘子检测的性能。如下图 5所示。
具体来说,将目标域特征输入2个判别器,并约束输出结果不一致。如下式(9)所示
$ L_{T-\mathrm{dis}}\left(D_{1}, D_{2}\right)=-E_{\left(I_{t}^{n} \sim I_{T}\right)}\left[d\left(D_{1}\left(G\left(I_{t}^{n}\right)\right)-D_{2}\left(G\left(I_{t}^{n}\right)\right)\right)\right], $ | (9) |
式中d(·)表示距离度量,这里采用L1范数来进行度量。
不同于判别器,对于特征提取器G来说,提取的特征要尽可能使2个域判别器输出的结果一致,即:
$ L_{T-\mathrm{dis}}(G)=E_{(I_{t}^{n} \sim I_{T})}\left[d\left(D_{1}\left(G\left(I_{t}^{n}\right)\right)-D_{2}\left(G\left(I_{t}^{n}\right)\right)\right)\right]。$ | (10) |
综上,总的损失函数如下式(11)所示
$ \begin{aligned} L_{\text {total }}\left(G, D_{1}, D_{2}\right)=& \lambda_{1} L_{\text {yolov } 3}(G)+\\ & \lambda_{2}\left(L_{s}\left(D_{1}\right)+L_{T}\left(D_{2}\right)+L_{S}(G)+L_{T}(G)\right)+\\ & \lambda_{3}\left(L_{T-\mathrm{dis}}(G)+L_{T-\mathrm{dis}}\left(D_{1}, D_{2}\right)\right), \end{aligned} $ | (11) |
式中λ1,λ2和λ3为超参数,分别用以权衡各个模块的重要性。为便于阐述算法,将上式表示为如下形式
$ \lambda_{1} L_{\text {yolov3 }}(G)+\lambda_{2}\left(L_{s}\left(D_{1}\right)+L_{T}\left(D_{2}\right)\right), $ | (12) |
$ \lambda_{2}\left(L_{S}\left(D_{1}\right)+L_{T}\left(D_{2}\right)\right)+\lambda_{3} L_{T-d i s}\left(D_{1}, D_{2}\right) , $ | (13) |
$ \lambda_{1} L_{\text {yolov3 }}(G)+\lambda_{2}\left(L_{S}(G)+L_{T}(G)\right)+\lambda_{3} L_{T-d i s}(G)。$ | (14) |
对方法的算法描述如下表 1所示
为证明提出方法的有效性,在一个由含有绝缘子部件的4 113张输电线路图像构成的数据集上进行了实验。这些图像由无人机、相机以及手机等设备在不同场景下采集得到的,因此风格多变,背景复杂。在这些图像中,含有玻璃绝缘子图像的数量为2 366,含有复合绝缘子的图像有1 694张。图 6和图 7分别展示了该数据集中玻璃绝缘子和复合绝缘子的部分图像。
由于该数据集没有明确的划分训练集和测试集,因此采用随机划分的原则。为更具说服力,以
和yolov3[22]一样,训练过程中将所有的图片统一缩放到416×416大小。特征提取器采用Darknet-53网络为基本架构。需要说明的是,除了源域检测模块外,其它两个模块只采用13×13×(3×6)的特征图作为模型输入,这样做能够有效避免计算量过大的问题。另外,在域混淆对抗和差异对抗模块中,2个判别器均由11个全连接层组成,且最后一个维度为2。模型一共迭代训练100次。模型涉及特征提取器G和两个域判别器D1,D2的学习率,分别取0.005 79,0.005和0.000 5。对应的,采用Adam[23]优化器对这3个网络进行优化。此外,将用以权衡各模块所占比重的超参数λ1,λ2,λ3分别设为4,2,1。
3.3 方法比较在这一部分,做了大量的实验,并与目前一些较为先进的目标检测方法进行对比,从而证明提出方法的有效性。需要说明的是,目前没有域自适应绝缘子检测的相关工作。因此,直接将其它的目标检测方法应用到跨域绝缘子检测任务上进行训练和测试,并与提出的方法进行比较。比较结果如下表 2所示,其中参与比较的方法包括yolo,yolov3[22]以及DA-Faster-RCNN[16]。
从表 2可以看出,提出模型的性能远远优于yolo,一方面是因为采用了yolov3为基本架构,另一方面本文设计的域混淆对抗模块和差异对抗模块也起到了很大的作用。相比较yolov3而言,双重对抗机制能够一定程度上减小源域与目标域之间的域差异,因此效果优于yolov3。
另外,尽管DA-Faster-RCNN能够在跨域目标检测任务上取得一定的效果。然而,与常见的物体不同,绝缘子图像本身具有背景复杂性和外观差异性,而该方法又没有考虑到这一问题,因此在域自适应绝缘子检测任务上所取得的效果仍然不尽人意。相比较之下,提出的方法一方面通过设计域混淆对抗模块较大程度上缓解了背景复杂性对识别性能带来的不利影响。另一方面,差异模块能够有效地解决绝缘子外观差异显著的问题,因此取得了非常好的检测性能。
3.4 辅助实验与yolov3不同,为赋予网络学习域不变特征的能力,设计了一个域混淆对抗模块和一个差异对抗模块分别用以缓解绝缘子图像的背景复杂性和外观差异性对识别性能带来的不利影响。为了证明提出的这两个模块是有效的,在这一部分进行了一系列辅助实验。实验结果如下表 3所示。
由上表 3可以看出,当加入域混淆对抗模块后,平均预测精度有一个很大的提升,这充分说明了域混淆对抗模块能够有效地避免域偏移对绝缘子检测性能带来的不利影响。另外,当加入差异对抗模块后,性能又有一定的提升,这说明差异对抗模块也是有效的。
3.5 参数分析在提出的模型中,一共用了3个超参数λ1,λ2,λ3分别权衡不同模块所占的比重。将这3个值分别设为4,2,1。为了证明选择的值是最优的,分别在玻璃跨复合绝缘子和复合跨玻璃绝缘子检测任务上做了参数分析的实验,并将结果展示如下图 8所示。
由图 8可以看出,当λ1=4,λ2=2,λ3=1的时候,提出的模型能够取得最优的平均预测精度。
4 总结在这项工作中,提出了一种双重对抗的无监督域自适应绝缘子检测算法。在该方法中,充分考虑了绝缘子图像本身所具有的特性,从背景以及外观层面上分析了无监督域自适应绝缘子检测任务所面临的挑战。为了克服绝缘子背景复杂多变的困难,提出了域混淆对抗模块,更好地对齐了不同域下绝缘子的特征分布。此外,针对绝缘子外观差异大的问题,利用差异损失分别最小最大化特征提取器和判别器,从而有效地缓解了绝缘子外观差异较大对识别性能造成的不利影响。大量的实验证明了提出的方法优于目前已有的检测方法。
[1] |
Dong J, Chen Q, Yan S C, et al. Towards unified object detection and semantic segmentation[C]//European Conference on Computer Vision. Berlin: Springer, 2014: 299-314.
|
[2] |
Girshick R. Fast R-CNN[C]//2015 International Conference on Computer Vision. [S.L. ]: ICCV, 2015: 1440-1448.
|
[3] |
Ren S Q, He K M, Girshick R, et al. Faster R-CNN: ds real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 9(6): 1137-1149. |
[4] |
Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV: IEEE, 2016: 779-788.
|
[5] |
Liu W, Anguelov D, Erhan D, et al. SSD: single shot MultiBox detector[C]//European Conference an Computer Vision, 2016. [S.L. ]: Springer, 2016: 21-37.
|
[6] |
Purkait P, Zhao C, Zach C. SPP-net: deep absolute pose regression with synthetic views[EB/OL]. 2017: arXiv: 1712.03452[cs. CV]. https://arxiv.org/abs/1712.03452.
|
[7] |
Mirrashed F, Morariu V I, Siddiquie B, et al. Domain adaptive object detection[C]//2013 IEEE Workshop on Applications of Computer Vision (WACV). Tampa, FL, USA: IEEE, 2013: 323-330.
|
[8] |
Wang T, Zhang X P, Yuan L, et al. Few-shot adaptive faster R-CNN[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA, USA: IEEE, 2019: 7166-7175.
|
[9] |
Zhu X G, Pang J M, Yang C Y, et al. Adapting object detectors via selective cross-domain alignment[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA, USA: IEEE, 2019: 687-696.
|
[10] |
Saito K, Ushiku Y, Harada T, et al. Strong-weak distribution alignment for adaptive object detection[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA, USA: IEEE, 2019: 6949-6958.
|
[11] |
Hsu H K, Yao C H, Tsai Y H, et al. Progressive domain adaptation for object detection[C]//2020 IEEE Winter Conference on Applications of Computer Vision (WACV). Snowmass Village, CO, USA, USA: IEEE, 2020: 738-746.
|
[12] |
Khodabandeh M, Vahdat A, Ranjbar M, et al. a robust learning approach to domain adaptive object detection[EB/OL]. 2019: arXiv: 1904.02361[cs. LG]. https://arxiv.org/abs/1904.0236.
|
[13] |
Yang S Q, Wu L, Wiliem A, et al. Unsupervised domain adaptive object detection using forward-backward cyclic adaptation[EB/OL]. 2020: arXiv: 2002.00575[cs. CV]. https://arxiv.org/abs/2002.00575.
|
[14] |
Inoue N, Furuta R, Yamasaki T, et al. Cross-domain weakly-supervised object detection through progressive domain adaptation[EB/OL]. 2018: arXiv: 1803.11365[cs. CV]. https://arxiv.org/abs/1803.11365.
|
[15] |
Kim T, Jeong M, Kim S, et al. Diversify and match: a domain adaptive representation learning paradigm for object detection[EB/OL]. 2019: arXiv: 1905.05396[cs. CV]. https://arxiv.org/abs/1905.05396.
|
[16] |
Chen Y H, Li W, Sakaridis C, et al. Domain adaptive faster R-CNN for object detection in the wild[EB/OL]. 2018: arXiv: 1803.03243[cs. CV]. https://arxiv.org/abs/1803.03243.
|
[17] |
Wang X D, Cai Z W, Gao D S, et al. Towards universal object detection by domain attention[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA, USA: IEEE, 2019: 7281-7290.
|
[18] |
Roy Chowdhury A, Chakrabarty P, Singh A, et al. Automatic adaptation of object detectors to new domains using self-training[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, CA, USA, USA: IEEE, 2019: 780-790.
|
[19] |
Kim S, Choi J, Kim T, et al. Self-training and adversarial background regularization for unsupervised domain adaptive one-stage object detection[EB/OL]. 2019: arXiv: 1909.00597[cs. CV]. https://arxiv.org/abs/1909.00597.
|
[20] |
Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[EB/OL]. 2017: arXiv: 1703.10593[cs. CV]. https://arxiv.org/abs/1703.10593.
|
[21] |
Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[EB/OL]. 2014: arXiv: 1406.2661[cs. ML]. https://arxiv.org/abs/1406.2661.
|
[22] |
Redmon J, Farhadi A. YOLOv3: an incremental improvement[EB/OL]. 2018: arXiv: 1804.02767[cs. CV]. https://arxiv.org/abs/1804.02767.
|
[23] |
Kingma D P, Ba J. Adam: A method for stochastic optimization[EB/OL]. 2014: arXiv: 1412.6980[cs. LG]. https://arxiv.org/abs/1412.6980.
|