*点链接报名第九届“泰迪杯”数据挖掘挑战赛
源丨第八届“泰迪杯”数据挖掘挑战赛获奖作品
基于Mask R-CNN 及Yolov4 的电力巡检中绝缘子缺陷研究(二)
基于Mask R-CNN 及Yolov4 的电力巡检中绝缘子缺陷研究(一)
四、绝缘子自爆区域识别与定位
4.1数据集制作
针对于任务二,本文所用数据集来自无人机航拍 40 张数据原始图像,其中包含了 35 张含有自爆区域的原图,经由图像分割、图像增强、归一化大小等数据预处理,共有 1773 张含有自爆缺陷的数据集,其中瓷质绝缘子 602 张,632 张玻璃绝缘子,539 张带盘绝缘子,分别以自定义标签序号从 1 开始重命名,统一 resize 成 1024×1024 尺寸。如图 4.1 所示为部分数据集的展示结果。
图 4.1 部分数据集
4.2样本标记及分类
利用 labellmg 标记工具对数据集进行标记,如下图 4.2 所示,将自爆区域的用 rectangle 标记,包含前后两个绝缘子。
图 4.2 labellmg 标记图片
生成xml 文件如图 4.3 所示,xml 文件中描述了标注中有用的信息,其中 size是标注图像的大小以及深度,节点 bndbox 包含的自爆区域的 boundingbox。
图 4.3 labellmg 生成 xml 标注文件
将数据集按 VOC 格式放入相应的文件夹,其格式如图 4.4 所示,将数据集随机按 8:2 的比例划分训练集和测试集。
图 4.4 VOC 格式目录
其中 JPEGImages 是图片原图,Annotations 存放 xml 格式文件,每个 xml 对应 JPEGImages 中的一张图片,ImageSets 下的 Main 文件夹是训练集和测试集的名字,labels 文件夹是对应标注文件后生成的 boundingbox 的归一化后取值范围为 0-1 的中心坐标和相对宽高。
4.3基于 Yolo-v3 的自爆区域识别与定位
4.3.1 Yolo-v3 网络结构
Yolo-v3 的基础网络是 Darknet-53,从第 0 层到第 74 层,共有 53 个卷积层, 其余为 res 层。
图 4.5 Yolo-v3 卷积过程
如上图4.5 所示,从图中可以清晰看到整个流程,其中通过先验框的K-means 聚类得到的 9 个簇均匀分布在图中右下角的 yolo detection,采用不同尺度来获取特征作为 yolo 检测的输入。
相比于其他的网络,如表 4.1 所示,优点在于快速,背景误检率低,相比R-CNN 系列缺点,识别物体精度低,召回率低。
表 4.1 Darknet-53 与其他主干网络对比
4.3.2Yolo-v3 训练过程可视化分析
训练使用的 GPU 是 GeForceGTX1080Ti,GPU 显存 10GB。yolo 的 cfg 文件中设置 batch=64,subdivisions=16,width=768,height=768。将 80%的训练集放入训练,训练日志如图 4.6 所示。
图 4.6 训练日志部分数据
训练过程中 loss 损失函数如下图 4.7 所示,由图可以看出 loss 函数趋近于收敛,当 loss 低于 0.06,可停止训练。
图 4.7 Yolo-v3 的 loss 函数变化曲线
如图 4.8 所示为 IOU 交叠率的变化曲线,随着 batch 越大,IOU 逐渐趋近于1,可认为训练结果较为良好。
图 4.8 Yolo-v3 的 IOU 变化曲线
4.3.3Yolo-v3 训练结果分析
通过执行指令./darknet detector valid cfg/insulator.data
cfg/Yolo-v3-insulator-test.cfg
backup/Yolo-v3-insulator_final.weights
验证剩下 20% 测试集,验证后计算出 Mean AP,如下图 4.9 所示,由图可以看到,Yolo-v3 的AP 指标为 92.2%
图 4.9 Yolo-v3 的 AP 计算结果
作出 AP 与 recall 变化曲线,如图 4.10 所示。
图 4.10 Yolo-v3 的 AP 和 recall 变化曲线
随机选自无人机航拍原始图像中的 010.JPG 进行 2×2 分割后检测,检测结果如下图 4.11 和 4.12 所示。
图 4.11 基于 Yolo-v3 的 010.JPG 的自爆区域识别与定位结果
图 4.12 基于 Yolo-v3 绝缘子自爆区域的识别与定位结果
由图 4.11 可以看出,绝缘子自爆区域识别率为 100%,xmin=3391,xmax=3641,ymin=2137, ymax=237,与官方标准的 xml 中 xmin=3365, xmax=3362,ymin=2138,ymax=2350,进行对比,计算出 IOU 为,IOU 结果如下图 4.13 所示
图 4.13 与官方 010.JPG 的 IOU 率
与原始图片含有自爆区域的 35 张平均 IOU=0.819022
4.4基于 Yolo-v4 的自爆区域识别与定位
4.4.1Yolo-v4 网络结构
Yolo-v4 选择 CSPDarknet53 作为主干网络,配合 SPP 模块,PANet 通道融合以及 Yolo-v3 的 anchor based head。
表 4.2 用于图像分类的神经网络参数
如上表 4.2 所示,对比了三种 SOTA 主干网络的,可以看到 CSPDarknet53的感受域、参数量以及速度都是最好的。
Yolo-v4 还使用了额外的改进措施:
(1)提出新的数据增强方法 Mosaic 和 Self-Adversarial Training (SAT)
(2)使用遗传算法选择最优的超参数。
(3)改进的 SAM、改进的 PAN 和交叉小批量归一化(CmBN)。
Yolo-v4 与其他算法上在 COCO 目标检测的识别对比,如下图 4.14 所示。
图 4.14 COCO 目标检测的各算法的 AP 与 FPS 对比
从图中可以看出,Yolo-v4 相比于 Yolo-v3 的AP 和FPS 提高了10% 和 12%。4.4.2 Yolo-v4 训练可视化分析训练使用的 GPU 是 GeForceGTX1080Ti,GPU 显存 10GB 。yolo 的 cfg 文件中设置 batch=64,subdivisions=40,width=864,height=864。将 80%的训练集放入训练,训练日志如图 4.15 所示。
图 4.15 Yolo-v4 训练日志
训练过程中 loss 损失函数如下图 4.16 所示,由图可以看出 loss 函数趋近于收敛,通过调节学习率防止过拟合,当 loss 低于 0.06,可停止训练。
图 4.16 Yolo-v3 的 loss 函数变化曲线
如图 4.17 所示为 IOU 交叠率的变化曲线,随着 batch 越大,期望 IOU 逐渐趋近于 1。
图 4.17 Yolo-v3 的 IOU 变化曲线4.4.3 Yolo-v4 训练结果分析
通过执行指令./darknet detector validcfg/insulator.data
cfg/Yolo-v4-insulator-test.cfgbackup/Yolo-v4-insulator_final.weights 验证剩下 20% 测试集,验证后计算出 Mean AP,如下图 4.18 所示,由图可以看到,Yolo-v4 的AP 指标为 94.7%,相比于 Yolo-v3 的 AP 为 92.2%,精度提高了 2.5%。
图 4.18 Yolo-v4 的 AP 计算
作出 AP 与 recall 变化曲线,如下图 4.19 所示。
图 4.19 Yolo-v4 AP 与 recall 变化曲线
随机选自无人机航拍原始图像中的 010.JPG 进行 2×2 分割后检测,检测结果如下图 4.20 和 4.21 所示。
图 4.20 基于 Yolo-v4 的 010.JPG 绝缘子的自爆区域识别与定位结果
图 4.21 基于 Yolo-v4 的绝缘子自爆区域识别与定位结果
由图 4.20 可以看出,绝缘子自爆区域识别率为 99%,xmin=3353,xmax=3685, ymin=2139, ymax=2349,与官方标准的 xml 中 xmin=3365,xmax=3362, ymin=2138,ymax=2350,进行对比,计算出 IOU 为 0.887021,IOU 结果如下图4.22 所示
图 4.22 与官方 010.JPG 的 IOU 率
与原始图片含有自爆区域的 35 张平均 IOU=0.825439
4.5 Yolo-v3 与 Yolo-v4 的结果对照
如图 4.23 所示,同样的数据集,Yolo-v3 的 AP 指标为 0.922,Yolo-v4 为0.947,显然精度上 Yolo-v4 更胜一筹。由上面数据可知,而 Yolo-v3 的平均 IOU 率为 0.819022,Yolo-v4 的平均 IOU 率为 0.825439,可以看出 Yolo-v4 的 IOU 定位精度更高。因此我们采用 Yolo-v4 作为绝缘子自爆区域的识别定位模型。
图 4.23 Yolo-v3 和 Yolo-v4 的 AP 比较
4.6小目标预测策略
4.6.1高分辨率图像直接预测
由于原始图片为无人机航拍照片,多为高分辨率图像如 7360×4912,自曝区域在图像占比率低于 1%,如将原始图像,不经过预处理,直接放入模型中识别,效果不佳。如下图 4.24 所示为 Yolo-v4 的 7360*4912 的识别效果。
图 4.24 Yolo-v4 小目标识别效果
由图 4.24 可知,直接将 7360×4912 原始图片放进模型中预测效果很差,不仅会导致一些自爆区域漏检,大大降低识别率,还会导致 IOU 区域的定位不准确。因此无论是识别精度还是 IOU 交叠率,效果都不好。显然,对于高分辨率的图像,自爆区域识别不能采取直接将 7360×4912 的原始图片放入模型中预测。
4.6.2等比例分割
针对高分辨图片不能直接放入模型预测的问题,最简单的方法是将图片等比例分割成几块,使之每一块中的目标占图片比例适中,分别放入模型中预测,得到的预测结果后,再按回原来的比例拼接,最终合成一个与原始图片大小一致的检测结果图。如图 4.25 所示,为将原始图片 028.JPG 进行 4×4 等比例分割的预测结果图。
图 4.25 028.JPG 4×4 分割识别结果
如上图可以看出,将高分辨率图像进行分割,使之目标占图片比例适中,再放进模型中预测,可以得到较好的结果。如下图 4.26,为将 028.JPG 进行 4×4 分割后的 16 个小块的预测结果图拼接成最终结果。
图 4.26 028.JPG 拼接结果图
通过等额分割后的图片也可以计算出 boundngbox 的位置。如 028.JPG 进行4×4 的分割成 16 个小块,第一行的小块命名为 00.JPG,01.JPG,02.JPG,03.JPG,第二行小块命名为 10.JPG,11.JPG,12.JPG,13.JPG 等,其中,00 代表第 0 行用 row 表示,第 0 列用 col 表示,而 boundingbox 的计算为
但是等比例分割存在中一个问题,若把绝缘子自爆区的正好分割,如图 4.27 所示,左边的绝缘子自爆区域正好被分割,以至于该图的绝缘子自爆区域被忽略, 或者无法获取完整的 boundingbox,其原因在于采用等比例分割的方法,该方法的缺陷无法避免,因此该方法也存在的弊端。
图 4.27 自爆区域被分割
4.6.3滑动窗口以及 NMS
针对于以上预测小目标识别方法存在的问题,本文借鉴了 Adam Van Etten的 You Only Look Twice 论文的思想[8]、卫星图中小目标检测部分算法。
本文中核心思想是通过滑动窗口,步进式的将原输入图像切块,滑动窗口的大小以及步进的大小可调,调至目标占图片比例适中即可,然后将每个滑动窗口分别放入模型进行检测。为了保证被分割后的图片中目标信息能够完整的被检测到,每个滑动窗口有可能对同一目标进行两次或四次检测,因此采用非极大抑制NMS 算法得出其中一个最好的框。
如图 4.28 所示,通过滑动窗口裁剪为指定尺寸 1024*1024 的图像作为模型的输入,裁剪后的图像称为 chip,相邻的 chip 可能会出现部分区域的重叠,如图所示,目的是保证原始图片的每个区域都能被完整检测,防止绝缘子自爆区域被分割。
图 4.28 滑动窗口思想
当多个窗口进行滑动时,可能会导致同一个目标被识别多次,如图 4.29 所示,因而可以采用 NMS 算法,抑制不是极大值的矩形框。
图 4.29 滑动窗口对同一目标识别多次
通过滑动窗口的思想,将绝缘子原始图片进行滑动预测自爆区域取得优异的效果。具体步骤如图 4.30 所示,将原始图片 001.JPG 通过滑动窗口方式,将滑动窗口分辨率固定原始图片的一半,步进大小固定为原始图片的四分之一,即相邻的两个滑动窗口有 50%的区域重叠。
图 4.30 滑动窗口将 001.JPG 分割
图 4.31 滑动窗口预测结果
如上图 4.31 所示为滑动窗口放入模型的预测结果,每个图片的第一个字符为行的索引,第二个字符为列的索引,规定索引从 0 开始,每个 boundingbox 相对于原始图片的位置计算为:
本文将滑动窗口大小固定原始图片 1/2:
窗口步进大小固定为滑动窗口的 1/2,即原始图片的 1/4。X,y 的窗口步进大小为:
式中 src 为原始图片,src.cols 为原始图片的行数,src.rows 为原始图片的列数。
假设目标在滑动窗口的 boundingbox 位置为 x1,y1,w1,h2,
式中 row 为行的索引,代表第 row 行,同时也是滑动窗口命名的第一个数字,如上图 4.31 所示,col 为列的索引,代表第 col 列,同时也是滑动窗口的第二个数字。Xmin,Xmax,Ymin,Ymax 为目标的 boundingbox 相对于原始高分辨率图像的位置。
如图 4.32 所示,为相邻两个 boundingbox 相对于原始图片的位置
图 4.32 滑动窗口法生成xml 文件
由图中可以看出,同一图片生成两个预测框,计算后得出两个 boundingbox 相对于原始图片的位置十分接近,可以看到同一个目标被识别两次,因此采用非极大值抑制算法,如下图 4.33 为 NMS 的运算结果,左图为两个图相互交叠,通过 nms 算法抑制其中一个框,保留右边红色的框,计算得出最好的框。
图 4.33 NMS 非极大值抑制
五、总结与展望
本文主要探究了绝缘子串珠掩膜的分割和绝缘子自爆区域的识别与定位,使用 Mask R-CNN 进行绝缘子串珠分析,对比 Yolo-v3 与 Yolo-v4 自爆区域的识别与定位,结果表明用神经网络代替人工电力巡检具有良好的应用价值,并且采用Mask R-CNN 和 Yolo-v4 的研究方法,使用滑动窗口的思想进行小目标识别,对绝缘子的分割和识别有一定的研究价值。
本文中存在的特点有:
(1)在绝缘子串珠分割中采用了将高分辨率图片进行等分割再逐个进行训练和检测的思想,既能简化人工标注样本时的工作量,又能减少绝缘子串样本特征的复杂性,加快训练拟合速度,在确保检测精度的同时能够简化训练过程。
(2)对于任务二,虽然 yolo 系列在精度上可能不如 R-CNN,但其 FPS 高于其他目标检测算法的优势在工业上应用极其广泛。采用近日出世的 Yolo-v4 为绝缘子自爆区域的识别定位研究方法,为实际应用中作为衡量。
(3)采用 YOLT 与 Yolo-v4 相结合,进行通过滑动窗口的思想进行小目标识别策略,有效的避免了小目标识别、传统等比例分割算法的局限性,即将绝缘子自爆区域分割为多张图片,导致无法识别。
本文尚且存在的局限性有:
(1)针对于任务一,由于前期准备不够充分,仅仅使用 Mask R-CNN 这一种用于实例分割的神经网络模型,未能做到多模型比对实验,该模型算法对本设计的语义分割要求可能略显复杂,且检测时间较长,模型算法运算量大,造成了模型结构的浪费,后期改进可尝试多种模型比对或对 Mask R-CNN 模型网络进行优化剪枝。
(2)针对于任务一,因方案二对原高分辨率图片进行等分割过程中没有控制样本特征的相似性,导致样本过泛化,在图片检测过程中若遇到与绝缘子颜色或形状相近的其他物体(如钢架或树叶)会引发一定的误判,后期改进可在制作数据集时删掉差异过大的样本,尽可能控制特征的相似性以控制泛化度。
(3)针对于任务二,本文中数据集共 1773 张图片,有个别几张图像无法识别,因为时间仓促未能完善尽可能多的数据集,后期改进方向可以将数据集的数量增加到 3000,可能效果更佳。
(4)针对于任务二,本文中采用 Yolo-v3 和 Yolo-v4 进行绝缘子自爆区域的对比,由于 Yolo-v4 是 Yolo-v3 的改进,Yolo-v4 比 Yolo-v3 识别更精确是必然的, 由于时间仓促,未能将 Yolo-v4 与其他 R-CNN 算法进行比较,是本文的局限性之一,后期改进可以将 Yolo-v4 与其他 R-CNN 目标检测算法进行比较。但是本文率先采用 Yolo-v4 进行自爆区域检测,为绝缘子自爆区域的识别定位有一定的研究价值。
参考文献
[1]黄新波,张慧莹,张烨,等.基于改进色差法的复合绝缘子图像分割技术[J]. 高电压技术. 2018,44(8):2493~2500.
[2]熊杰. 航拍图像的绝缘子自爆特征识别研究[D]. 电子科技大学,2016
[3]Kaiming He,Georgia Gkioxari,Piotr Dollár,Ross Girshick. Mask R-CNN[D]. IEEE Conference on Computer Vision and Pattern Recognition(CVPR).2018.
[4]Joseph Redmon,Ali Farhadi.Yolo-v3:An Incremental Improvement[D]. University of Washington,20.
[5]Alexey Bochkovskiy,Chien-Yao Wang,Hong-Yuan Mark Liao. Yolo-v4:
Optimal Speed and Accuracy of Object Detection [J]. IEEE Conference on Computer Vision and Pattern Recognition(CVPR). 2020.
[6]毛星云. OpenCV3 编程入门[M]. 北京:电子工业出版社,2015:223-253.
[7]冈萨雷斯,伍兹.数字图象处理(第三版)[M]. 北京:电子工业出版社,2011.
[8]Adam Van Etten.You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery[J]. IEEE Conference on Computer Vision and Pattern
DIG MORE
量化投资
小白21天押金打卡 丨 零基础线上特训营 丨 初阶线上特训营 丨 多因子策略线上特训营 丨 线上分析实战研修班 丨 五一/暑假线下实训营
人工智能
云实习项目(机器学习预测方向)
数据挖掘
线上特训营
认证培训
AQF量化金融分析师 丨 CGFT特许全球金融分析师
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.