当前位置: 首页 > news >正文

论文解析 基于遗传算法增强YOLOv5算法的合成数据风力涡轮叶片缺陷检测

论文解析 基于遗传算法增强YOLOv5算法的合成数据风力涡轮叶片缺陷检测

Wind Turbine Blade Defect Detection Based on the Genetic Algorithm-Enhanced YOLOv5 Algorithm Using Synthetic Data

我是菜鸡!我是菜鸡!我是菜鸡!

如果老师及学姐学长对该文有任何意见,请您随时告诉我,我随时可以删除这篇文章(非常非常真诚)!

如果我有内容解释有误或不够清晰也请随时告诉我,我随时会对文章进行调整。

核心内容

  1. 使用YOLOv5算法于叶片缺陷检测
  2. 使用遗传算法探索YOLOv5算法中的最佳参数
  3. 使用Unity进行数据生成

拆解分析

YOLOv5算法于叶片缺陷检测

YOLOV5的构造已经是老生常谈,本文在综合考量后最终使用了YOLOv5模型。

使用遗传算法探索YOLOv5算法中的最佳参数

什么是遗传算法(具体的论文我们还没看过)

遗传算法,我们之前没有了解过,现根据当前论文中的叙述进行部分解释。
[An Introductory Analysis With Applications to Biology, Control, and Artificial Intelligence]
遗传算法基于达尔文自然选择学说的基础上提出,它是一种随机全局搜索优化方法,模拟了自然选择和遗传中种群(也可理解为基因/染色体)的复制、交叉、变异等现象。
在经过一代代的繁殖与进化后,会不断向最优解的区域收缩,最终汇聚成唯一的最优解。

遗传算法应用于深度学习

众所周知,在深度学习模型中往往存在较多的超参数,而依赖于人工去测试这些超参数的最优解往往费时费力,所以我们在这次实验中运用遗传算法来探寻超参数的最优解。
附: 文中指出遗传算法似乎也可用于特征提取,但具体怎么做有需要的话我们也未来了解下
而在本实验中,只使用了变异的操作,一共设定了300代,每代有10个epoch,在当前计算成本的情况下,已经大幅度的提升了模型检测的准确率。

使用Unity进行数据生成

使用GAN方法生成图像的缺点

使用GAN进行数据增强增加采样密度,但其局限性在于实际上他只是让现有信息进行了充足,并未生成真实信息。
谈一下我的理解,在GAN这一块的数据增强中,更接近于将一个图像中的阴雨天和另一个图像中的叶片缺陷以一种较生动的方式融合在了一起。
譬如在没有阴雨天背景的情况下,是无法直接生成这种背景的。而使用软件生成图像,虽然图像的逼真度可能会弱一些,但可以有效补足这种核心内容缺乏的问题。

波音公司的实例

文中指出波音公司已经使用类似Unity的引擎生成过大量合成图像用于训练机器学习算法。
我们未来最好是学一下这种制作虚拟数据的方式。名称为 Boeing Q&A: Machine learning and AR-powered aircraft inspection
由于飞机需要多次检测来保证安全,所以工程师们希望可以标记出机身顶部的缺陷、凹痕和歪曲,但实际收集数据时由于摄像头角度、飞机所处环境等问题而费时费力,所以使用Unity等引擎生成了大量的逼真图像(快速生成数百万张训练用图)。
而且结果证明这个思路是很有前景的。

本次实验中的具体方法

在这次实验中,使用Unity和Perception来生成数据。(实际上这两个我们都没有了解过,未来有需要也需要了解下)
下面是一些风力发电机的实际生成设计。

  1. 风力发电机通常布置在远离建筑物和障碍物的开阔平原地带或海平面高度,故项目地形将设定为平原,并且不会设置其他设施。从Unity Asset Store下载。
  2. 风力发电机模型从CGTrader 和3DExport下载。
  3. 使用Perception工具包进行阳光角度、光线颜色和强度的随机化处理。具体组件及参数在原文中有。
  4. 再设置了八台摄像机从不同角度拍摄风力发电机叶片,以确保数据集包含多样化的拍摄角度。

总结

只是我个人的观点,如果有误希望各位老师随时指出。

  1. 将遗传算法与深度学习有机结合在一起。
    深度学习在工业上运用时,调整具体的参数往往是一个费时费力的工作,而使用遗传算法可以从一定程度上更易探索到模型的最佳表现,很适合于工业场景。
  2. 使用Unity等工具制作数据集
    在工业场景中,可能尤其是图像检测、图像分类的任务,很多场景可能并不需要图像的绝对逼真,往往更需要的是模拟不同情境、不同场景,增强模型的泛化能力。
    所以未来如果有譬如某些工业器件检测、某些实际应用缺乏图像的时候,应该都可以考虑此种方法。

参考

  1. 遗传算法简介

碎碎念

我们还不清楚遗传算法在这些年里与深度学习结合到了哪种程度,未来可以考虑了解一下。
同时Unity的这种生成图像的方式,是否可以再与GAN相结合,进一步丰富图像的纹理而提高模型的效果呢。

待看

  1. 遗传算法
    《 Adaptation in Natural and Artificial Systems: An Introductory Analysis With Applications to Biology, Control, and Artificial Intelligence》 最好看看在近年来遗传算法是否有进一步发展及应用。

  2. 波音公司实操

  3. Unity及Perciption 如果未来有实际工业需求时,要实际看一下怎么用

http://www.dtcms.com/a/295158.html

相关文章:

  • 面试150 环形子数组的最大和
  • StringBuilder学习
  • Python 程序设计讲义(8):Python 的基本数据类型——浮点数
  • 【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
  • C基础 07_综合案例《猜拳游戏》
  • 机器学习与视觉结合开发基础
  • IPTV电视直播源更新工具和检测直播源工具
  • Python打卡Day22 kaggle泰坦尼克号生存预测
  • 基于Informer+BiGRU-GAtt的并行预测模型
  • Java开发岗面试记录合集
  • 二分查找----3.在排序数组中查找元素的第一个和最后一个位置
  • 语音增强相关技术
  • 【世纪龙科技】新能源汽车维护与故障诊断-汽车专业数字课程资源
  • 第八讲:C++中的vector
  • Ⅹ—6.计算机二级综合题5---6套
  • Fast Frequency Estimation Algorithm by Least Squares Phase Unwrapping
  • OpenLayers 快速入门(三)Source 对象补充
  • 车载绝缘子放电状态检测系统数据分析软件需求说明书
  • android15 wifi信号格数DB值对应关系及wifi回连时间
  • Python3常见接口函数
  • 详解FreeRTOS开发过程(四)-- 任务切换
  • 进程间通信之-----零拷贝
  • 【已解决】Jetson Orin NX apt更换国内源
  • 网络基础DAY18-动态路由协议基础
  • 零增益扰动!纯相位旋转:二阶全通滤波器实现精准超前矫正
  • 压测软件JMeter安装配置以及创建桌面快捷方式(详细图解)
  • 【每日算法】专题十八_BFS 解决拓扑排序
  • 前端开发性能监控详解
  • OpenCV(02)图像颜色处理,灰度化,二值化,仿射变换
  • 高可用架构模式——如何设计计算高可用架构