基于YOLOv8的100种中药分类识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

基于YOLOv8的100种中药分类识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

源码包含:完整YOLOv8训练代码+数据集(带标注)+权重文件+直接可允许检测的yolo检测程序+直接部署教程/训练教程。文末获取源码

bash 复制代码
nc: 100
names: ['安息香', '白扁豆', '白矾', '白蔹', '白茅根', '白前', '白芍', '白芷', '柏子仁', '北沙参',
        '荜拨', '荜澄茄', '鳖甲', '槟榔', '苍术', '草豆蔻', '沉香', '川楝子', '川木香', '川牛膝',
        '大腹皮', '淡豆豉', '稻芽', '地龙', '冬虫夏草', '防风', '番泻叶', '蜂房', '甘草', '干姜',
        '甘松', '藁本', '硅石脂', '枸杞子', '桂枝', '谷精草', '谷芽', '海龙', '海螵蛸', '合欢皮',
        '黄柏', '黄芪', '黄芩', '湖北贝母', '僵蚕', '芥子', '鸡冠花', '金灯笼', '鸡内金', '荆芥穗',
        '金果榄', '金钱白花蛇', '九香虫', '橘核', '苦地丁', '莱菔子', '莲房', '莲须', '莲子',
        '莲子心', '灵芝', '荔枝核', '龙眼肉', '芦根', '路路通', '麦冬', '木丁香', '羌活',
        '千年健', '秦皮', '全蝎', '忍冬藤', '人参', '肉豆蔻', '桑寄生', '桑螵蛸', '桑椹',
        '山慈菇', '山奈', '山茱萸', '沙苑子', '石榴皮', '丝瓜络', '酸枣仁', '苏木',
        '太子参', '天花粉', '天麻', '土荆皮', '瓦楞子', '五加皮', '细辛', '银柴胡',
        '薏苡仁', '郁金', '浙贝母', '枳壳', '竹茹', '诃子', '自然铜']

基本功能演示

源码放在bilibili视频简介了: www.bilibili.com/video/BV1Ny...

项目摘要

本项目集成了 YOLOv8 中药检测模型PyQt5 图形界面工具 ,实现了包括图片、文件夹、视频与摄像头等多种输入方式的中药材目标检测功能。用户不仅可以进行本地测试,也可以对模型进行二次训练与微调。

整个系统适用于:

  • 🌿 药材识别自动化
  • 🧪 医学图像辅助分析
  • 🏫 教育教学展示
  • 🛠️ CV目标检测模型学习训练

前言

本项目是一个基于 YOLOv8 对100种常见中药材图像进行目标检测与分类识别的完整系统,内置训练权重、数据集、图形界面和检测工具,适合研究学习、商业验证、教学部署等多场景使用。

项目亮点包括:

  • 完整YOLOv8训练流程(可复现)
  • 100类中药材真实图像数据集(带标注)
  • 训练权重文件开箱即用
  • PyQt5图形界面,一键检测图像/视频/摄像头
  • 详细部署与训练教程
  • 支持批量识别、置信度调节、保存结果

一、软件核心功能介绍及效果演示

近年来,随着中医药数字化的快速发展,将AI技术特别是深度学习应用于中药识别领域已成为研究热点。

传统的图像分类模型(如ResNet、VGG)只能对整体图像进行分类,但在复杂场景中难以处理多个目标,且无法定位。相比之下,YOLOv8不仅具备端到端的目标检测能力 ,还能提供高性能与高准确率,非常适合中药材识别这一任务。

本项目结合了:

  • YOLOv8在小目标检测方面的优势
  • PyQt5图形化界面的便捷操作
  • 可复现的训练与部署流程

即使你是初学者,也能轻松掌握并应用到实际场景中。

二、软件效果演示

为了直观展示本系统基于 YOLOv8 模型的检测能力,我们设计了多种操作场景,涵盖静态图片、批量图片、视频以及实时摄像头流的检测演示。

(1)单图片检测演示

用户点击"选择图片",即可加载本地图像并执行检测:


(2)多文件夹图片检测演示

用户可选择包含多张图像的文件夹,系统会批量检测并生成结果图。


(3)视频检测演示

支持上传视频文件,系统会逐帧处理并生成目标检测结果,可选保存输出视频:


(4)摄像头检测演示

实时检测是系统中的核心应用之一,系统可直接调用摄像头进行检测。由于原理和视频检测相同,就不重复演示了。


(5)保存图片与视频检测结果

用户可通过按钮勾选是否保存检测结果,所有检测图像自动标注并保存至指定文件夹,支持后续数据分析与复审。

三、模型的训练、评估与推理

YOLOv8是Ultralytics公司发布的新一代目标检测模型,采用更轻量的架构、更先进的损失函数(如CIoU、TaskAlignedAssigner)与Anchor-Free策略,在COCO等数据集上表现优异。 其核心优势如下:

  • 高速推理,适合实时检测任务
  • 支持Anchor-Free检测
  • 支持可扩展的Backbone和Neck结构
  • 原生支持ONNX导出与部署

3.1 YOLOv8的基本原理

YOLOv8 是 Ultralytics 发布的新一代实时目标检测模型,具备如下优势:

  • 速度快:推理速度提升明显;
  • 准确率高:支持 Anchor-Free 架构;
  • 支持分类/检测/分割/姿态多任务
  • 本项目使用 YOLOv8 的 Detection 分支,训练时每类表情均标注为独立目标。

YOLOv8 由Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面具有尖端性能。在以往YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。

YOLOv8原理图如下:

3.2 数据集准备与训练

采用 YOLO 格式的数据集结构如下:

kotlin 复制代码
dataset/
├── images/
│   ├── train/
│   └── val/
├── labels/
│   ├── train/
│   └── val/

每张图像有对应的 .txt 文件,内容格式为:

bash 复制代码
4 0.5096721233576642 0.352838390077821 0.3947600423357664 0.31825755058365757

分类包括(可自定义):

3.3. 训练结果评估

训练完成后,将在 runs/detect/train 目录生成结果文件,包括:

  • results.png:损失曲线和 mAP 曲线;
  • weights/best.pt:最佳模型权重;
  • confusion_matrix.png:混淆矩阵分析图。

若 mAP@0.5 达到 90% 以上,即可用于部署。

在深度学习领域,我们通常通过观察损失函数下降的曲线来评估模型的训练状态。YOLOv8训练过程中,主要包含三种损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss)。训练完成后,相关的训练记录和结果文件会保存在runs/目录下,具体内容如下:

3.4检测结果识别

使用 PyTorch 推理接口加载模型:

python 复制代码
import cv2
from ultralytics import YOLO
import torch
from torch.serialization import safe_globals
from ultralytics.nn.tasks import DetectionModel

# 加入可信模型结构
safe_globals().add(DetectionModel)

# 加载模型并推理
model = YOLO('runs/detect/train/weights/best.pt')
results = model('test.jpg', save=True, conf=0.25)

# 获取保存后的图像路径
# 默认保存到 runs/detect/predict/ 目录
save_path = results[0].save_dir / results[0].path.name

# 使用 OpenCV 加载并显示图像
img = cv2.imread(str(save_path))
cv2.imshow('Detection Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

预测结果包含类别等信息。

四.YOLOV8+YOLOUI完整源码打包

本文涉及到的完整全部程序文件:包括python源码、数据集、训练代码、UI文件、测试图片视频等(见下图),获取方式见【4.2 完整源码下载】:

4.1 项目开箱即用

作者已将整个工程打包。包含已训练完成的权重,读者可不用自行训练直接运行检测。

运行项目只需输入下面命令。

bash 复制代码
python main.py

读者也可自行配置训练集,或使用打包好的数据集直接训练。

自行训练项目只需输入下面命令。

bash 复制代码
yolo detect train data=datasets/expression/loopy.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 batch=16 lr0=0.001

4.2 完整源码下载

项目实录视频下方获取: www.bilibili.com/video/BV1Ny...

包含:

📦完整项目源码

📦 预训练模型权重

🗂️ 数据集地址(含标注脚本)

总结

本项目充分发挥了 YOLOv8 在小目标检测与实时推理方面的优势,结合 100 类中药图像数据集与 PyQt5 图形界面,构建了一个集训练、测试、部署于一体的完整中药识别系统

用户不仅可通过图形界面便捷操作检测任务,还可快速进行模型的二次训练与性能优化。项目对传统中药材识别的数字化转型具有良好的参考价值,适用于中医药研究、教育教学、智能药材分拣、医学图像分析等多个场景。

整体来看,该系统具备以下特征:

  • 🧠 上手简单,适合初学者入门 CV 项目;
  • 🚀 支持高效部署,可应用于实际业务系统;
  • 📊 训练可视化清晰,方便性能调试与分析;
  • 🧩 模块化设计,便于集成与功能拓展。

如果你也在探索 AI + 中医药的融合方向,本项目将是你不可多得的开源实践范例。

相关推荐
太子釢2 分钟前
手写一个 RAG:从零搭建可溯源的检索增强问答系统
人工智能
不吃辣4909 分钟前
vibe coding | 如何做一个 AI 音乐生成工具?
java·人工智能·后端·ai·ai编程
文人sec12 分钟前
从接口压测到全链路质量保障:AI智能客服系统的软件测试实践
人工智能
声讯电子12 分钟前
实测A-59F音频模组:降噪稳、不啸叫、通话清晰
人工智能·语音识别·ai降噪·usb接口·回音消除
神奇霸王龙17 分钟前
2026旗舰六阶段MCP流水线实战指南
人工智能·ai·ai作画·prompt·aigc·mcp
山河不见老19 分钟前
【Cursor 、Qoder安装问题】Cursor 、Qoder安装卡在“正在准备安装”问题排查及解决
人工智能·windows·编辑器
新知图书20 分钟前
2.3 开发工作流
人工智能·agent·ai agent·智能体
tuanxiang22 分钟前
用免费 AI 改写工具处理批量文案的踩坑记录,附完整降噪脚本
人工智能
小邓的技术笔记23 分钟前
DeepSeek 大模型落地应用与场景实战指南
大数据·人工智能
石榴29 分钟前
从 Codex + Obsidian 到本地 RAG:我的私人知识库实践
人工智能