本文摘要
摘要:本文主要使用YOLOV10深度学习框架自训练了一个"餐盘菜品目标检测模型",基于此模型使用PYQT5实现了一款界面软件用于功能演示。让您可以更好的了解和学习,该软件支持图片、视频以及摄像头进行目标检测,本系统所涉及的训练数据及软件源码已打包上传。可点下发 原文链接获取
1. 数据集准备与标注、训练
详见:【菜品识别专栏】菜品目标检测数据集标注及处理(Yolov10)
目标检测的数据,在一张图像中,需要以最小外接矩形标记出各个目标区域的位置和类别,
常见的目标检测数据集:
- VOC采用的[x1,y1,x2,y2],表示物体的最小外接矩形框,VOC数据指的是Pascal VOC比赛使用的数据。VOC数据是每个图像文件对应一个同名的xml文件,xml文件中标记物体框的坐标和类别等信息。
- COCO采用的[x1,y1,w,h],表示物体的最小外接矩形框,COCO数据是COCO比赛使用的数据。以json文件记录数据格式。
LabelImg可以标注VOC格式的数据,对图像做目标框的标注。
本文的数据集既包含:voc格式,也包含coco格式。
2. 软件运行
-
获取源码
-
依赖环境下载
python
conda create -n yolov10 python=3.9
conda activate yolov10
1.切换到yolov10源码根目录下,安装依赖
注意:会自动根据你是否有GPU自动选择pytorch版本进行按照,这里不需要自己去选择pytorch和cuda
pip install -r requirements.txt -i https://pypi.doubanio.com/simple
2.运行下面的命令,才可以在命令行使用yolo等命令
pip install -e .
python train.py
- 源码运行
python
python main.py
-
图片检测演示
-
摄像头检测演示
YOlov10餐盘菜品目标检测
3. 模型训练&训练结果评估
详见:【深度学习】深度学习模型训练结果分析及效果评估以及Yolo训练结果解释
上文包括:混淆矩阵、查准率和召回率、单一类准确率等 概念的解释以及示例
4. 源码讲解
-
模型加载
-
读取图片,推理画框
-
启动摄像头
-
获取摄像头视频帧,推理画框