目录

一、项目简介

二、预期效果

三、操作流程

1、yolov5 环境部署与训练

1.1  Yolov5代码下载

1.2  安装Pycharm+Conda+Python

1.3  环境配置

1.4  测试运行

1.5  训练模型

2、AidLux平台软件部署

2.1  上传代码到AidLux

2.2  环境配置

2.3  测试运行

2.4  模型移植步骤

2.5  运行代码查看结果


一、项目简介

本项目由智能终端组成,智能终端为采集道路数据并实时进行智能数据分析道路病害为一体的便携式硬件设备,其搭载基于ARM64架构的高通S855处理器智能模组,算力可高达15TOPS,高性能、低功耗;高度集成化设计,体积小巧,支持嵌入式安装,方便部署;工业级散热设计,持久稳定工作。系统层方面,打破以往借用虚拟机实现跨系统的模式,通过共享 Linux 内核实现Android 和 Linux 系统融合。同时,集成了全球10大主流AI框架,并做了全面的环境部署和适配。其主要通过搭载于交通或采集设备自动采集路面数据并对数据进行智能识别分析。在技术层面上,首先采用Scharr滤波器求解图像特征,得到数据集当中病害特征最为明显的一批数据,接着利用CycleGAN网络生成背景更为复杂、多样的完好路面数据集,方便后续操作,其次再利用反阈值化、形态学、仿射变换、mask等操作将明显的病害特征裁剪下来随即添加到完好的路面图中,形成新的数据集。最后,将上述经过处理得到的数据集与原始数据集相结合,得到新的数据集并送入YOLOv5-DA网络训练,得到算法网络模型用于路面病害检测。通过以上的硬软结合,本产品对病害的识别精度高达87.5%。并且减少了人工采集数据的人力成本,提高数据分析精确度及养护效率,降低购买专业设备的资金成本,有效减少经济损失。

二、预期效果

本项目基于AidLux+YOLOv5s-DA,搭配外置摄像头,实现全流程路面缺陷检测。

具体功能是由各种采集设备采集路面信息,如手机,车载摄像头,将采集到的路面信息进行处理,识别路面缺陷信息若捕捉到路面缺陷信息,则将信息进行记录。

本项目在现阶段人工道路检测逐渐淘汰,现有路面智能缺陷检测尚有不足的环境下,提出一种YOLOv5s-DA网络,基于YOLOv5s网络结构作出优化,提高了其在路面检测方面的准确率,并在现有的高性能AI边缘计算设备的基础上,研究基于ARM架构的人工智能目标检测算法,在边缘计算设备上的路面病害识别,实现路面病害检测。

本项目需要的硬件需求为:

1.装有pytorch框架的电脑;或一台安卓设备,例如小米11,骁龙888,8+256。

2.usb摄像头(电脑采集训练集数据用)

对于开发者而言,AI项目中各种算法的数据集准备+模型训练+模型部署依然存在着不小的难度。AidLux的出现,可以将我们的安卓设备以非虚拟的形式变成同时拥有Android和Linux系统环境的边缘计算设备,支持主流AI框架,非常易于部署,还有专门的接口调度算力资源,极大地降低了AI应用落地门槛

三、操作流程

1、yolov5 环境部署与训练

​​​​​​​​​​​​​​1.1  Yolov5代码下载

Yolov5的官方链接为:https://github.com/ultralytics/yolov5

1.2  安装Pycharm+Conda+Python

具体可参考博主Ding Jiaxiong的博客:http://t.csdn.cn/wiAiW

1.3  环境配置

在终端输入:pip install -r requirements.txt 进行相关库的安装

1.4  测试运行

所需库安装完后,找到detect.py文件,找到对应位置修改并运行,如下:

根据提示,测试结果将放在runs\detect\exp中,我们将找到如下预测图:

1.5  训练模型

在train.py文件中,我们主要修改如下参数:

以及

之后,直接run起来训练即可。我们将得到如下效果的验证集:

2、AidLux平台软件部署

2.1  上传代码到AidLux

我们首先打开边缘计算盒的aidlux,并投影到电脑网页上。然后第一步先将所有代码上传到  aidlux的平台里面。点击电脑端页面菜单栏的第一个,文件浏览器,打开文件管理页面。

找到home文件夹,并双击进入此文件夹。

点击右上角往上的箭头“upload”,再选择Folder,将前面Yolov5的文件夹上传到home文件夹内。

点击选择上传。

上传好后,在Yolov5-master的aidlux文件夹中,可以看到修改过的代码。

2.2  环境配置

在终端输入:pip install -r requirements.txt 进行相关库的安装

2.3  测试运行

所需库安装完后,找到detect.py文件,找到对应位置修改并运行,如下:

根据提示,我们依旧能在runs\detect\exp中找到测试结果,我们将找到如下预测图:

2.4  模型移植步骤

(1)pt模型转换

因为aidlux里面用的是tensorflow框架的tflite模型,所以我们先将训练好的pt模型转换成tflite模型。

先在PC端电脑上,打开代码,找到export.py,主要修改两个地方。

第一个是修改模型的路径,即weights的路径,修改export.py文件最下面的parse_opt配置函数。

因为训练出的模型放在runs文件夹里面,所以将detault修改成“runs/train/exp3/weights/best.pt

第二个是修改模型转换成的格式,将include的default修改成“tflite”

代码运行转换后,在weights文件夹里面,可以看到转换后的yolov5s-fp16.tflite模型

(2)查看模型参数

使用netron查看转换后的tflite模型的信息,可以直接登录netron的在线网站版本https://netron.app/。

选择open model,打开刚刚导出的best-fp16.tflite模型。

网页的滚动条一直拉到最下面,点击最后的一个模块,可以看到右面的弹窗,会跳出输入信息 [1,640,640,3] 和 输出信息 [1,25200,6]。

(3)修改代码中的信息

将导出的best-fp16.tflite,放到aidlux文件夹下面。

打开文件,主要修改模型的路径

(4)AidLux上传代码

打开Aidlux的页面,打开文件浏览器,进入yolov5-master的aidlux文件夹中

2.5  运行代码查看结果

进入aidlux界面,找到文件浏览器

点击右上角的图标,选择“Build”

进入代码的运行页面,选择左上角的坐标,点击“Run Now”。

即可启动整套代码,电脑端也能实时看到检测的画面。

在AidLux上的演示视频,可以移步:【基于AidLux+YOLOv5s-DA的路面缺陷检测系统】 基于AidLux+YOLOv5s-DA的路面缺陷检测系统_哔哩哔哩_bilibili

对AidLux感兴趣的同学,这里有一份AidLux相关训练营课程、交流群、新版本、活动等资源汇总!可以点击链接查看https://community.aidlux.com/postDetail/1369

感谢阅读本篇文章,谢谢!

基于AidLux+YOLOv5s-DA的路面缺陷检测系统相关推荐

  1. 探索工业智能检测,基于轻量级YOLOv5s开发构建焊接缺陷检测识别系统

    前面也有讲过将智能模型应用和工业等领域结合起来是有不错市场前景的,比如:布匹瑕疵检测.瓷砖瑕疵检测.PCB缺陷检测等等,在工业领域内也有很多可为的方向,本文的核心目的就是想要基于目标检测模型来开发构建 ...

  2. 基于机器视觉的散热器钎焊缺陷检测系统研发

    人工智能技术与咨询 点击蓝字 · 关注我们 来源:< 图像与信号处理> ,作者 吕广贤 关键词: 机器视觉:缺陷检测:钎焊 摘要: 摘要: 为解决散热器钎焊缺陷在工业检测过程中效率低.差错 ...

  3. 基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵

    文章目录 ●项目名称 ●项目简介 ●预期效果 ●操作流程 1 .纺织数据下载 2 .数据集标签格式转换 3 .YOLOv8下载 4. 数据集配置 5.模型选择 6.验证模型 7.预测模型 8.预测结果 ...

  4. 基于改进YOLOv5的挖机铲斗缺陷检测系统(源码&教程)

    1.研究背景 针对现有电铲斗齿检测方法存在实时性较差.误报率较高等问题,提出了一种基于机器视觉的电铲斗齿缺失检测方法.该方法利用红外热像仪采集铲斗图像,基于模板匹配原理对复杂背景下斗齿的目标区域进行准 ...

  5. 基于深度学习和3D图像处理的精密加工件外观缺陷检测系统

    由于精密五金加工工艺特殊.零件形状复杂,表面存在金属材质纹理.加工残留纹路以及加工工艺的干扰,如切削液.油污.电镀.喷砂.氧化处理不良等.这样的金属加工件外观缺陷难以使用普通2D视觉检测系统进行高效检 ...

  6. 基于图像处理技术的印刷电路板缺陷检测技术分析

    目录 一.绪论 二.印刷电路板图像的预处理 三.印刷电路板图像的配准 四.印刷电路板缺陷的识别与缺陷类型的判断 一.绪论 在现代电子设备中,印刷电路板占有重要的地位,其质量直接影响到产品的性能.自动检 ...

  7. 基于AI深度学习的缺陷检测系统

    1. 基于AI深度学习的工业缺陷检测现状 在工业生产中,由于生产和运输环境中的不可控因素,很容易产生划痕.压伤.擦挂等缺陷.而其中的缺陷大部分都极其微小,甚至是肉眼难以识别,这些缺陷所造成的坏品率极大 ...

  8. matlab中提取裂缝图像,基于Matlab图像处理的水泥路面裂缝检测研究

    路面裂缝检测是计算公路状况指数的重要依据[1],传统的检测方法主要是靠人工检测,测量精度差.检测效率低.同时检测人员会有安全隐患[2-3].现在多采自动检测的方法对路面裂缝的损害进行检测,其中使用数字 ...

  9. 自动驾驶之路面缺陷检测 道路缺陷检测

    路面缺陷检测算法演示 车载相机或智能手机拍摄地面,对其进行分析识别,及时预警需要修补的道路.这项技术在道路维护管养中可发挥重要作用

最新文章

  1. 【讲人话】Angular如何通过@ViewChildren获取实时渲染的动态DOM节点元素(@ViewChild只能获取静态的固定DOM节点)
  2. 你也可以设计简单的内容管理系统
  3. 金融科技创业公司Revolut增加对BCH和XRP支持
  4. echarts - geo 绘制无数据区域的区域
  5. Logger对象父子关系
  6. 记录Hibernate的缓存知识
  7. Android官方开发文档Training系列课程中文版:目录
  8. cx oracle 中文 u,cx\U Oracle永久连接
  9. SQL With(递归 CTE 查询)
  10. (转) 深度模型优化性能 调参
  11. java培训每日总结,这是一份1000多字的Java培训总结,字字珠玑
  12. 红黑树在java中的作用_带你真正理解Java数据结构中的红黑树
  13. Note 7会让三星有什么样的命运呢?
  14. android 今日头条布局,Android今日头条UI适配完善版
  15. 【OpenCV】IplImage和char *的相互转换,以及极易忽视的细节
  16. 每日算法系列【LeetCode 239】滑动窗口最大值
  17. ffmpeg可支持的编码器、解码器、封装格式、网络协议
  18. Server 2003无法访问共享。您可能没有权限使用网络资源
  19. springBoot datasource 属性
  20. 听力 JAVA_【VOA英语听力】 US Restarts Restrictions on Iran

热门文章

  1. Maven项目混淆、瘦身、打包exe
  2. hash表冲突太多如何平滑地进行rehash操作
  3. 电力电子技术(8)——器件的串联和并联使用
  4. 大数乘法【极简思路、代码模板】
  5. 羊皮卷-gt;羊皮卷之七(世界上最伟大的推销员)
  6. XML Paper Specification(XPS)
  7. 精诚客户关系管理系统如何解决企业销售管理中的难题
  8. 搭建Discuz论坛小试
  9. SLR(1),LALR(1),LR(1)文法的区别
  10. python任意进制转换界面_python:整数转换为任意进制(