本项目使用yolov8模型作为目标检测的模型
目录
项目背景:
近年来,随着全球经济的发展,水果消费市场规模不断扩大,水果种类也日益丰富。水果检测与识别技术在农业生产、仓储物流、超市零售等领域具有重要的应用价值。传统的水果检测与识别方法主要依赖于人工识别,这种方法在一定程度上受到人力成本、识别效率和准确性等方面的限制。因此,开发一种高效、准确的自动化水果检测与识别系统具有重要的研究意义和实际价值。
在本博文中,我们提出了一种基于深度学习的苹果新鲜度检测与识别系统,该系统采用YOLOv8算法对苹果进行检测和识别,实现对图片中的苹果进行准确识别。
一、项目需求:
对苹果外形进行检测与识别,系统将识别出图片中苹果的新鲜程度并显示相应的类别。
二、项目实现:
通过调研,本项目最终使用yolov8模型作为目标检测的模型, YOLOv8 旨在快速、准确且易于使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。
(一)流程介绍:
1、YOLOv8环境配置:
首先去自己的anaconda的安装的envs(虚拟环境),在导航栏输入cmd,进入命令窗口。
确保python>=3.7;CUDA>=10.1,PYtorch>=1.7
(1)、创建一个虚拟环境
conda create -n torch1.12.1 python=3.8.8
(2)、激活刚建的虚拟环境
activate torch1.12.1
(3)、到官方网站下载yolo模型 ,下载好后解压,里面有个文件requirements.txt
https://github.com/ultralytics/ultralytics
安装一个整体包:
pip install -r .\requirements.txt
直接按照路径会有问题,找到自己 requirements.txt 文件路径,我这里是pip install -r D:\ultralytics-main\ultralytics-main\requirements.txt
(4)、然后安装ultralytics ,这是必须的。可以用镜像地址。
pip install ultralytics -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
(5)、安装下载好包,接下来就是验证:
yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg' show=True save=True
(二)、训练数据集的准备工作
1、准备好数据集:
我们选择的苹果数据集包含图片数量978张
2、划分数据集
我们导出的数据文件结构
标签类别包含两类:fresh_apple和rotten_apple;
├── yolov8_dataset
└── train
└── images (folder including all training images)
└── labels (folder including all training labels)
└── test
└── images (folder including all testing images)
└── labels (folder including all testing labels)
└── val
└── images (folder including all testing images)
└── labels (folder includi