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

文章目录

  • ●项目名称
  • ●项目简介
  • ●预期效果
  • ●操作流程
    • 1 .纺织数据下载
    • 2 .数据集标签格式转换
    • 3 .YOLOv8下载
    • 4. 数据集配置
    • 5.模型选择
    • 6.验证模型
    • 7.预测模型
    • 8.预测结果展示
    • 9. tflite模型导出
    • 10. 基于aidlux在小米6上部署模型


●项目名称

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


●项目简介

纺织品质量是纺织品生产企业生存的命脉。其中纺织产品在生产过程中缺陷存在尺度较小、种类繁多等难点,传统人工检测依靠肉眼寻找纺织产品缺陷易导致眼睛疲劳、劳动强度大、主观性强、漏检程度高等不足,基于深度学习的目标检测算法则可以节省大量劳动力,本文主要介绍如何基于YOLOV8和Aidlux平台实现纺织品缺陷检测的案例流程。

●预期效果

本项目使用利用安装AidLux的安卓手机实现,设备型号小米6,骁龙835,6+128。
在纺织产品生产过程中,会出现各种微小瑕疵,通过YOLOv8自动检测缺陷能够节约大量劳动力和时间成本。本项目可读取图片、视频、调用手机后置摄像头检测布匹瑕疵。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第1张图片

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

●操作流程

1 .纺织数据下载

数据集来自天池平台比赛提供的布匹瑕疵检测数据集,有需要的同学可自行下载,数据集共有30个类别,合并一些比较接近的瑕疵后,共有24个类别。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第2张图片

布匹缺陷种类

数据集示意图如下:
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第3张图片

defect

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第4张图片

normal

2 .数据集标签格式转换

数据集标签格式如下,为了能够通过YOLOv8算法训练,需要将其转换为coco格式的数据集,这里借鉴了博客yolov5训练布匹检测时使用的脚本。

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第5张图片

天池布匹缺陷标签格式

3 .YOLOv8下载

点击下载YOLOv8代码,建议重新建个虚拟环境。执行以下代码进行环境配置。执行完成后,请检差pyotrch是否是gpu版本,以便训练。

pip install -r requirements.txt
pip install ultralytics

4. 数据集配置

在ultralytics的datasets文件夹下,新建bupi.yaml文件,内容如下,nc是缺陷类别数,names存放类别名称,建议改为英文,否则保存的一些图表不能显示中文。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第6张图片

bupi.yaml

5.模型选择

在ultralytics/models/v8/目录下是模型的配置文件,这边提供s、m、l、x版本,逐渐增大(模型网络侧深度和宽度逐渐增大),把nc改成布匹类别数24。

6.验证模型

yolo task=detect mode=val model=runs/detect/train3/weights/best.pt data=datasets/bupidata.yaml device=0

7.预测模型

yolo task=detect mode=predict model=runs/detect/train1/weights/best.pt source=data/images device=0

8.预测结果展示

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第7张图片

预测效果图1

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第8张图片

预测效果图2

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第9张图片

预测效果图3

基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第10张图片

预测效果图4

9. tflite模型导出

由于需要在小米6上实现aidlux检测,需要将pt格式模型转换成tflite格式模型
,yolov8已经内置了导出脚本,可以通过以下命令轻松完成模型转换。

yolo task=detect mode=export model=runs/detect/train1/weights/best.pt format=tflite

10. 基于aidlux在小米6上部署模型

首先需要通过vscode远程连接手机,方便我们远程连接手机进行开发。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第11张图片

具体的部署代码基本上是在之前参加aidlux无人机巡检训练营基础上增加了一些显示效果。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第12张图片

运行app_main.py,即可进行检测,检测效果如下。
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵_第13张图片
视频检测效果如下

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

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

你可能感兴趣的:(YOLO,智能手机,人工智能)