赞
踩
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵
纺织品质量是纺织品生产企业生存的命脉。其中纺织产品在生产过程中缺陷存在尺度较小、种类繁多等难点,传统人工检测依靠肉眼寻找纺织产品缺陷易导致眼睛疲劳、劳动强度大、主观性强、漏检程度高等不足,基于深度学习的目标检测算法则可以节省大量劳动力,本文主要介绍如何基于YOLOV8和Aidlux平台实现纺织品缺陷检测的案例流程。
本项目使用利用安装AidLux的安卓手机实现,设备型号小米6,骁龙835,6+128。
在纺织产品生产过程中,会出现各种微小瑕疵,通过YOLOv8自动检测缺陷能够节约大量劳动力和时间成本。本项目可读取图片、视频、调用手机后置摄像头检测布匹瑕疵。
对于开发者而言,AI项目中各种算法的数据集准备+模型训练+模型部署依然存在着不小的难度。AidLux的出现,可以将我们的安卓设备以非虚拟的形式变成同时拥有Android和Linux系统环境的边缘计算设备,支持主流AI框架,非常易于部署,还有专门的接口调度算力资源,极大地降低了AI应用落地门槛。
数据集来自天池平台比赛提供的布匹瑕疵检测数据集,有需要的同学可自行下载,数据集共有30个类别,合并一些比较接近的瑕疵后,共有24个类别。
数据集示意图如下:
数据集标签格式如下,为了能够通过YOLOv8算法训练,需要将其转换为coco格式的数据集,这里借鉴了博客yolov5训练布匹检测时使用的脚本。
点击下载YOLOv8代码,建议重新建个虚拟环境。执行以下代码进行环境配置。执行完成后,请检差pyotrch是否是gpu版本,以便训练。
pip install -r requirements.txt
pip install ultralytics
在ultralytics的datasets文件夹下,新建bupi.yaml文件,内容如下,nc是缺陷类别数,names存放类别名称,建议改为英文,否则保存的一些图表不能显示中文。
在ultralytics/models/v8/目录下是模型的配置文件,这边提供s、m、l、x版本,逐渐增大(模型网络侧深度和宽度逐渐增大),把nc改成布匹类别数24。
yolo task=detect mode=val model=runs/detect/train3/weights/best.pt data=datasets/bupidata.yaml device=0
yolo task=detect mode=predict model=runs/detect/train1/weights/best.pt source=data/images device=0
由于需要在小米6上实现aidlux检测,需要将pt格式模型转换成tflite格式模型
,yolov8已经内置了导出脚本,可以通过以下命令轻松完成模型转换。
yolo task=detect mode=export model=runs/detect/train1/weights/best.pt format=tflite
首先需要通过vscode远程连接手机,方便我们远程连接手机进行开发。
具体的部署代码基本上是在之前参加aidlux无人机巡检训练营基础上增加了一些显示效果。
运行app_main.py,即可进行检测,检测效果如下。
视频检测效果如下
基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵
对AidLux感兴趣的同学,这里有一份AidLux相关训练营课程、交流群、新版本、活动等资源汇总!可以点击链接查看AidLux相关训练营课程、交流群、新版本、活动等资源汇总!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。