Code For Better 谷歌开发者之声——基于谷歌开源EfficientDet的电网缺陷的识别检测

Posted LiBiGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Code For Better 谷歌开发者之声——基于谷歌开源EfficientDet的电网缺陷的识别检测相关的知识,希望对你有一定的参考价值。

一、背景介绍

针对现有的无人机电力巡检中的目标检测算法小目标识别精度低、检测的元件及缺陷类型较为单一、检测速度和精度无法同时满足的问题,提出一种改进的 EfficientDet 目标检测算 法,该算法应用于无人机电力巡检图像的数据挖掘,对高压输电线路上的绝缘子、防震锤、均压环、屏蔽环、鸟巢同时进行目标检测及缺陷定位。

二、什么是EfficientDet 

EfficientDet是由谷歌大脑团队开源的一款对象检测模型,它利用了若干优化和主干调整,例如使用BiFPN,以及一种复合缩放方法,该方法同时均匀缩放所有主干、特征网络和盒/类预测网络的分辨率、深度和宽度。是涵盖轻量级到高精度的多个模型,COCO数据集上达到 50.9 mAP,一经推出便获得了大量关注!

三、EfficientDet 解决的痛点问题与改进思路

首先通过 Imgaug 数据增强库对现有的 1 468 张 国家电网某检修公司标准化无人机巡检数据集进行数据增强;然后在加强特征提取网络双向特征金字塔网络(BiFPN)特征融合时融入小一级尺度的特征层,提高了小目标检测能力,对主干特征 提取网络 EfficientNet 的倒残差模块进行改进,引入坐标注意力机制(CA)提高了主干特征提取 效率;最后进行对比训练实验。

四、数据集设计

4.1 实验数据

原始数据集共 1468 张,来源于国网某检修公司无人机巡检作业时拍摄的标准化照片。由于机器学习的训练中,数据集的质量对训练效果和检测效率有较大的影响,现有的原始数据集数量有限,直接用于训练得出的结果难以满足电力巡检的精度要求,所以利用 Imgaug 数据增强库进行数据扩充,模拟实际巡检时拍摄模糊、噪声、天气恶劣等情况,提升训练模型抗干扰的鲁棒性,实验效果如下图所示:

4.2 数据集类别分析与拓展情况

五、模型结构图

EfficientDet 目标检测算法由 EfficientNet 主干 特征提取网络、不同层数的双向特征金字塔网络 (Bidirectional Feature Pyramid Networks, BiFPN)加 强特征提取网络和先验框分类与调整网络三部分组成。

六、实验环境

6.0 实验代码

GitHub - xuannianz/EfficientDet: EfficientDet (Scalable and Efficient Object Detection) implementation in Keras and TensorflowEfficientDet (Scalable and Efficient Object Detection) implementation in Keras and Tensorflow - GitHub - xuannianz/EfficientDet: EfficientDet (Scalable and Efficient Object Detection) implementation in Keras and Tensorflowhttps://github.com/xuannianz/EfficientDet

实验步骤的话,就是换个数据集就行,数据集因为是实验室自己的,所有不能提供,自己找个其他的数据集也可以哦!所以实验参考下文即可:

睿智的目标检测38——TF2搭建Efficientdet目标检测平台(tensorflow2)_Bubbliiiing的博客-CSDN博客

6.1 实验设备

 6.2 训练损失图像

6.3 实验结果

五、结果分析

EfficientDet 算法在元件检测及缺陷定位测试集上平均均值精度达到 90.2%可以满足电力巡检中准确性的要求。

以上是关于Code For Better 谷歌开发者之声——基于谷歌开源EfficientDet的电网缺陷的识别检测的主要内容,如果未能解决你的问题,请参考以下文章

Code For Better 谷歌开发者之声——Google Cloud谷歌云

Code For Better 谷歌开发者之声——基于谷歌开源EfficientDet的电网缺陷的识别检测

Code For Better 谷歌开发者之声——Flutter - Google 开源的移动 UI 框架

10 Tips for Writing Better Code (阅读理解)

[转]Clean Code Principles: Be a Better Programmer

To change for better