当前位置: 首页 > 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.lryc.cn/news/597250.html

相关文章:

  • mysql什么时候用char,varchar,text,longtext
  • 什么是HTTP长连接、短连接?谁更能抗DoS攻击?
  • C# 正则表达式
  • C#使用socket报错 System.Net.Sockets.SocketException:“在其上下文中,该请求的地址无效。
  • 抽奖系统(2)——注册/登陆
  • C#面向对象三大特性的封装
  • C#定时任务实战指南:从基础Timer到Hangfire高级应用
  • 【系统全面】常用SQL语句大全
  • 避坑:C# json反序列化为float精度丢失
  • 棱镜技术在光谱相机中应用
  • 第八章 W55MH32 HTTP Client示例
  • 机器人行业工商注册企业基本信息数据(1958-2023年)
  • 9.0% 年增速驱动!全球自清洁滚轮拖布机器人市场2031年将迈向 946 百万美元
  • [spring6: @EnableWebSocket]-源码解析
  • [深度学习] 大模型学习3下-模型训练与微调
  • (Arxiv-2025)OmniGen2:通向先进多模态生成的探索
  • springboot集成LangChain4j
  • 华为仓颉编程语言实践体验
  • 开源 Arkts 鸿蒙应用 开发(十)通讯--Http数据传输
  • 高级IO简单介绍
  • 小架构step系列23:加载自定义配置
  • 基于 XGBoost 与 SHAP 的医疗自动化办公与可视化系统(上)
  • 快速梳理遗留项目
  • AI聊天方案:vue+nodeJs+SSE
  • Git 常用的提交类型
  • NX741NX777美光固态闪存NX783NX791
  • CentOS 7 Linux 基础知识点汇总
  • Day01_C++
  • 河南萌新联赛2025第二场-河南农业大学
  • 第九讲:C++中的list与forward_list