水果识别数据集- 2,611张图片
📦 已发布目标检测数据集合集(持续更新)
数据集名称 | 图像数量 | 应用方向 | 博客链接 |
---|---|---|---|
🔌 电网巡检检测数据集 | 1600 张 | 电力设备目标检测 | 点击查看 |
🔥 火焰 / 烟雾 / 人检测数据集 | 10000张 | 安防监控,多目标检测 | 点击查看 |
🚗 高质量车牌识别数据集 | 10,000 张 | 交通监控 / 车牌识别 | 点击查看 |
🌿 农田杂草航拍检测数据集 | 1,200 张 | 农业智能巡检 | 点击查看 |
🐑 航拍绵羊检测数据集 | 1,700 张 | 畜牧监控 / 航拍检测 | 点击查看 |
🌡️ 热成像人体检测数据集 | 15,000 张 | 热成像下的行人检测 | 点击查看 |
🦺 安全背心检测数据集 | 3,897 张 | 工地安全 / PPE识别 | 点击查看 |
🚀 火箭检测数据集介绍 | 12,000 张 | 智慧医疗 / 养老护理 | 点击查看 |
⚡ 绝缘子故障检测数据集 | 2,100张 | 无人机巡检/智能运维 | 点击查看 |
🚦交通标志检测数据集 | 1866张 | 智能驾驶系统/地图数据更新 | 点击查看 |
🚧 道路交通标志检测数据集 | 2,000张 | 智能地图与导航/交通监控与执法 | 点击查看 |
😷 口罩检测数据集 | 1,600张 | 疫情防控管理/智能门禁系统 | 点击查看 |
📌 每篇文章附带模型指标、训练思路与推理部署建议,欢迎点赞收藏支持~
🍎 水果识别数据集
在智能农业、新零售、食品工业等领域中,精准的水果识别技术具有重要价值。本文将介绍一个高质量的开源数据集 —— 水果识别数据集,它专为训练和部署计算机视觉模型而设计,用于自动识别和分类常见水果品种,助力构建智能化的水果识别系统。
📦 数据集概览
项目内容 | |
---|---|
📸 图像数量 | 2,611 张 |
🔍 标注类别 | 6 种水果类别 |
🧾 标签格式 | YOLO / COCO / Pascal VOC 等 |
🎯 任务类型 | 对象检测 (Object Detection) |
🎯 检测目标
• 🍎 Golden Delicious
: 金冠苹果检测,包括:
- 金黄色外皮特征识别
- 圆形轮廓检测
- 表面光泽度分析
- 多角度识别能力
• 🍏 Granny Smith
: 澳洲青苹检测,包括:
- 绿色外皮特征识别
- 坚硬质地外观分析
- 独特的绿色色调检测
- 品种特征区分
• 🍐 Pear
: 梨类水果检测,包括:
- 典型梨形轮廓识别
- 多样化颜色适应
- 表面纹理分析
- 形状特征提取
• 🍎 Red Delicious
: 红元帅苹果检测,包括:
- 深红色外皮识别
- 椭圆形状检测
- 表面反光特征
- 颜色梯度分析
• 🍑 Red Nectarine
: 红油桃检测,包括:
- 红色外皮特征
- 光滑表面识别
- 桃类水果分类
- 质地特征分析
• 🍑 Yellow Peach
: 黄桃检测,包括:
- 黄色外皮识别
- 圆形轮廓检测
- 桃类品种区分
- 成熟度评估
📷 图像示例
数据集中涵盖了丰富的水果拍摄场景:
• 标准化背景环境(减少干扰因素)
• 专业拍摄光照条件(确保颜色准确性)
• 360度多角度视图(全方位特征捕获)
• 高分辨率清晰图像(细节特征丰富)
• 统一的拍摄距离和尺寸(标准化数据)
数据集包含桌面静物拍摄、标准化光照、多角度旋转等专业拍摄场景
✅ 应用场景
应用方向 | 实际价值 |
---|---|
🛒 智能零售 | 超市自助结账、商品自动识别、库存管理系统 |
🚜 智慧农业 | 水果自动分拣、质量检测、产量统计分析 |
📱 移动应用 | 水果营养分析APP、购物助手、健康管理 |
🏭 食品工业 | 生产线自动化、质量控制、包装分类 |
🎓 教育研究 | 计算机视觉教学、算法研究、学术项目 |
🧰 推荐训练方式
模型选择建议:
• YOLOv8 / YOLOv11:实时检测性能优秀,适合部署
• RT-DETR:高精度检测需求,精确度优先
• MobileNet:移动端部署友好,轻量化模型
• ResNet + SSD:经典组合,稳定可靠
• EfficientDet:效率与精度平衡
数据增强策略:
• 颜色空间变换(HSV调整,模拟不同光照)
• 几何变换(旋转、缩放、翻转)
• 噪声添加(模拟真实环境干扰)
• 背景替换(增强泛化能力)
• Mixup / CutMix(提升模型鲁棒性)
🛠️ 数据使用说明
• 支持主流标注格式:YOLO、COCO、Pascal VOC、TensorFlow Record
• 兼容训练框架:YOLOv5/v8、MMDetection、Detectron2、TensorFlow、PyTorch
• 可用标注工具:Roboflow、CVAT、LabelImg、Labelme
• 提供预训练模型权重文件和API接口文档
• 支持云端训练平台:Google Colab、AWS、Azure
🎯 性能基准
基于该数据集训练的模型性能参考:
• YOLOv8n: mAP@0.5 ≈ 95.2%,推理速度 ~2ms
• YOLOv8s: mAP@0.5 ≈ 96.8%,推理速度 ~3ms
• YOLOv8m: mAP@0.5 ≈ 97.5%,推理速度 ~5ms
💡 最佳实践建议
数据预处理:
• 图像尺寸标准化为 640×640 或 416×416
• 归一化处理,像素值范围 [0,1]
• 考虑不同设备的颜色空间差异
训练策略:
• 使用预训练权重进行迁移学习
• 采用渐进式学习率调度
• 合理划分训练集:验证集:测试集 = 7:2:1
部署优化:
• 模型量化压缩(INT8)
• ONNX格式转换提升兼容性
• TensorRT加速推理性能
📌 总结
这是一个实战价值极高的水果识别数据集,特别适用于:
• 🛒 新零售智能化系统开发
• 🚜 农业自动化设备集成
• 📱 移动端AI应用开发
• 🎓 计算机视觉教学研究
YOLOv8 训练实战
本教程介绍如何使用 YOLOv8 对目标进行识别与检测。涵盖环境配置、数据准备、训练模型、模型推理和部署等全过程。
📦 1. 环境配置
建议使用 Python 3.8+,并确保支持 CUDA 的 GPU 环境。
# 创建并激活虚拟环境(可选)
python -m venv yolov8_env
source yolov8_env/bin/activate # Windows 用户使用 yolov8_env\Scripts\activate
安装 YOLOv8 官方库 ultralytics
pip install ultralytics
📁 2. 数据准备
2.1 数据标注格式(YOLO)
每张图像对应一个 .txt 文件,每行代表一个目标,格式如下:
<class_id> <x_center> <y_center> <width> <height>
所有值为相对比例(0~1)。
类别编号从 0 开始。
2.2 文件结构示例
datasets/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
2.3 创建 data.yaml 配置文件
path: ./datasets
train: images/train
val: images/val
nc: 11
names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]
🚀 3. 模型训练
YOLOv8 提供多种模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根据设备性能选择。
yolo detect train \
model=yolov8s.pt \
data=./data.yaml \
imgsz=640 \
epochs=50 \
batch=16 \
project=weed_detection \
name=yolov8s_crop_weed
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
model |
字符串 | - | 指定基础模型架构文件或预训练权重文件路径(.pt /.yaml ) |
data |
字符串 | - | 数据集配置文件路径(YAML 格式),包含训练/验证路径和类别定义 |
imgsz |
整数 | 640 | 输入图像的尺寸(像素),推荐正方形尺寸(如 640x640) |
epochs |
整数 | 100 | 训练总轮次,50 表示整个数据集会被迭代 50 次 |
batch |
整数 | 16 | 每个批次的样本数量,值越大需要越多显存 |
project |
字符串 | - | 项目根目录名称,所有输出文件(权重/日志等)将保存在此目录下 |
name |
字符串 | - | 实验名称,用于在项目目录下创建子文件夹存放本次训练结果 |
关键参数补充说明:
model=yolov8s.pt
- 使用预训练的 YOLOv8 small 版本(平衡速度与精度)
- 可用选项:
yolov8n.pt
(nano)/yolov8m.pt
(medium)/yolov8l.pt
(large)
data=./data.yaml
# 典型 data.yaml 结构示例 path: ../datasets/weeds train: images/train val: images/val names: 0: Bent_Insulator 1: Broken_Insulator_Cap 2: ... 3: ...
📈 4. 模型验证与测试
4.1 验证模型性能
yolo detect val \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
data=./data.yaml
参数 | 类型 | 必需 | 说明 |
---|---|---|---|
model |
字符串 | 是 | 要验证的模型权重路径(通常为训练生成的 best.pt 或 last.pt ) |
data |
字符串 | 是 | 与训练时相同的 YAML 配置文件路径,需包含验证集路径和类别定义 |
关键参数详解
model=runs/detect/yolov8s_crop_weed/weights/best.pt
- 使用训练过程中在验证集表现最好的模型权重(
best.pt
) - 替代选项:
last.pt
(最终epoch的权重) - 路径结构说明:
runs/detect/ └── [训练任务名称]/ └── weights/ ├── best.pt # 验证指标最优的模型 └── last.pt # 最后一个epoch的模型
- 使用训练过程中在验证集表现最好的模型权重(
data=./data.yaml
- 必须与训练时使用的配置文件一致
- 确保验证集路径正确:
val: images/val # 验证集图片路径 names: 0: crop 1: weed
常用可选参数
参数 | 示例值 | 作用 |
---|---|---|
batch |
16 | 验证时的批次大小 |
imgsz |
640 | 输入图像尺寸(需与训练一致) |
conf |
0.25 | 置信度阈值(0-1) |
iou |
0.7 | NMS的IoU阈值 |
device |
0/cpu | 选择计算设备 |
save_json |
True | 保存结果为JSON文件 |
典型输出指标
Class Images Instances P R mAP50 mAP50-95
all 100 752 0.891 0.867 0.904 0.672
crop 100 412 0.912 0.901 0.927 0.701
weed 100 340 0.870 0.833 0.881 0.643
4.2 推理测试图像
yolo detect predict \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
source=./datasets/images/val \
save=True
🧠 5. 自定义推理脚本(Python)
from ultralytics import YOLO
import cv2
# 加载模型
model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')
# 推理图像
results = model('test.jpg')
# 可视化并保存结果
results[0].show()
results[0].save(filename='result.jpg')
🛠 6. 部署建议
✅ 本地运行:通过 Python 脚本直接推理。
🌐 Web API:可用 Flask/FastAPI 搭建检测接口。
📦 边缘部署:YOLOv8 支持导出为 ONNX,便于在 Jetson、RKNN 等平台上部署。
导出示例:
yolo export model=best.pt format=onnx
📌 总结流程
阶段 | 内容 |
---|---|
✅ 环境配置 | 安装 ultralytics, PyTorch 等依赖 |
✅ 数据准备 | 标注图片、组织数据集结构、配置 YAML |
✅ 模型训练 | 使用命令行开始训练 YOLOv8 模型 |
✅ 验证评估 | 检查模型准确率、mAP 等性能指标 |
✅ 推理测试 | 运行模型检测实际图像目标 |
✅ 高级部署 | 导出模型,部署到 Web 或边缘设备 |