如何使用深度学习框架目标检测算法Yolov8训练无人机视角垃圾检测数据集 通过训练的无人机垃圾数据集权重 建立深度学习yolov8无人机垃圾检测系统

如何使用深度学习框架目标检测算法Yolov8训练无人机视角垃圾检测数据集 通过训练的无人机垃圾数据集权重 建立深度学习yolov8无人机垃圾检测系统


收集整理的“无人机视角垃圾检测数据集”的训练及应用
以下文字及代码仅供参考。

🚮 无人机视角垃圾检测数据集

数据集
项目详情
总图片数772 张
训练集 (Train)540 张
验证集 (Val)116 张
测试集 (Test)116 张
总类别数1 类
类别统计
序号中文名称英文类别名图片数量标注框数量
1垃圾rubbish7723,718

数据分布

集合图片数量
训练集 (Train)540
验证集 (Val)116
测试集 (Test)116
总计772

在这里插入图片描述
2
在这里插入图片描述

1
在这里插入图片描述
1
在这里插入图片描述
无人机视角垃圾检测数据集,共 772 张图像,包含 1 个类别(rubbish),属于典型的单类目标检测任务。训练、推理与部署指南,适用于 YOLOv5 / YOLOv8 系列模型。代码示例,仅供参考学习!


📁 一、目录结构要求(YOLO 格式)

建议将数据集整理为如下结构:

drone_rubbish_dataset/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
├── labels/
│   ├── train/
│   ├── val/
│   └── test/
└── data.yaml

🧾 二、创建 data.yaml 文件

train: ./images/train
val: ./images/val
test: ./images/test

nc: 1  # 类别数量
names: ['rubbish']

🔧 三、环境搭建(YOLOv8)

安装依赖

# 创建虚拟环境(可选)
python -m venv drone_yolo_env
source drone_yolo_env/bin/activate  # Windows: drone_yolo_env\Scripts\activate

# 安装 ultralytics 和 OpenCV
pip install ultralytics opencv-python-headless

📦 四、模型选择与训练

推荐使用 YOLOv8s 或 YOLOv8n(轻量级适合无人机部署)

开始训练

yolo task=detect mode=train model=yolov8s.pt data=data.yaml epochs=100 imgsz=640 batch=16 workers=4

参数说明:

参数含义
model使用的预训练模型(如 yolov8s.pt)
data数据配置文件路径
epochs总训练轮次
imgsz输入图像尺寸(推荐640或1280)
batch批量大小(根据GPU内存调整)
workers数据加载线程数

📊 五、性能评估(验证集)

yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data.yaml

输出指标包括:

  • mAP@0.5
  • mAP@0.5:0.95
  • Precision, Recall
  • FPS(帧率)

🎥 六、模型推理与部署

1. 单图推理

from ultralytics import YOLO
import cv2

model = YOLO('runs/detect/train/weights/best.pt')
results = model('path/to/image.jpg')

for r in results:
    im_array = r.plot()
    cv2.imshow("Rubbish Detection", im_array)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

2. 实时视频流推理(无人机摄像头)

def detect_video(video_path):
    cap = cv2.VideoCapture(video_path)
    while cap.isOpened():
        ret, frame = cap.read()
        if not ret:
            break
        results = model(frame)
        annotated_frame = results[0].plot()
        cv2.imshow("Drone Rubbish Detection", annotated_frame)
        if cv2.waitKey(1) == ord("q"):
            break
    cap.release()
    cv2.destroyAllWindows()

detect_video(0)  # 0 表示摄像头;也可以传入视频路径

3. 批量预测整个文件夹

yolo task=detect mode=predict model=best.pt source="path/to/images" save=True

🚀 七、模型导出为 ONNX / TensorRT / OpenVINO

导出为 ONNX 格式

yolo export model=best.pt format=onnx

导出为 TensorRT(需 NVIDIA Jetson)

yolo export model=best.pt format=engine device=0  # device=0 表示使用GPU

导出为 OpenVINO(用于 Intel 设备)

yolo export model=best.pt format=openvino

📁 八、测试集批量评估(自定义脚本)

如果你想对测试集进行批量评估并统计结果:

import os
from ultralytics import YOLO

model = YOLO('best.pt')
test_dir = './images/test'

results = []
for img_file in os.listdir(test_dir):
    if img_file.endswith('.jpg'):
        img_path = os.path.join(test_dir, img_file)
        result = model(img_path)[0]
        results.append(result)

# 可视化部分结果
for res in results[:5]:
    res.show()

🧱 九、Docker 部署建议(可选)

Dockerfile 示例

FROM python:3.10
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "inference.py"]

构建镜像

docker build -t drone_rubbish_yolo .

运行容器

docker run -it --rm -v $(pwd)/data:/app/data drone_rubbish_yolo

以上文字及代码仅供参考学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值