基于YOLOv11的无人机目标检测实战(Windows环境)

1. 环境搭建

1.1 硬件与操作系统

  • 操作系统:Windows 11

  • CPU:Intel i7-9700

  • GPU:NVIDIA RTX 2080(8GB显存)

1.2 安装CUDA和cuDNN

由于YOLOv11依赖PyTorch的GPU加速,需要安装CUDA和cuDNN:

  1. 安装CUDA Toolkit:

  2. 安装cuDNN:

    • 访问 NVIDIA cuDNN 下载页面

    • 下载 cuDNN 8.9.0 for CUDA 11.x

    • 解压后,将 bin、include、lib 文件夹复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

  3. 验证CUDA安装:

    python 复制代码
    nvcc --version
    nvcc: NVIDIA (R) Cuda compiler
    release 11.8, V11.8.89

1.3 安装Python、Anaconda和PyCharm

  1. 安装Python 3.9:

    • 从 Python官网 下载 Python 3.9.19

    • 安装时勾选 "Add Python to PATH"

  2. 安装Anaconda:

    • 下载 Anaconda

    • 安装后,创建YOLOv11专用环境:

      python 复制代码
      conda create -n yolov11 python=3.9.19
      conda activate yolov11
  3. 安装PyCharm:


2. 数据集准备

2.1 选择1000张无人机图片

python 复制代码
drone_dataset/
├── images/
│   ├── train/  # 800张训练图片
│   └── val/    # 200张验证图片
└── labels/
    ├── train/  # 训练集标注(YOLO格式)
    └── val/    # 验证集标注

2.2 标注数据

  1. 作者采用wpf开发的标注工具,点击下载 :

  2. 标注流程:

    • 打开图片文件夹(images/train)

    • 选择 YOLO格式 输出

    • 标注无人机目标,保存为 .txt 文件(格式:<class_id> <x_center> <y_center> <width> <height>)


3. YOLOv11训练

3.1 安装依赖

python 复制代码
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install ultralytics opencv-python matplotlib

3.2 准备YOLO配置文件

  1. 创建 drone.yaml:

    python 复制代码
    path: ./drone_dataset
    train: images/train
    val: images/val
    names:
      0: drone
  2. 下载YOLOv11预训练模型:

    python 复制代码
    wget https://github.com/WongKinYiu/yolov11/releases/download/v0.1/yolov11s.pt

3.3 训练模型

python 复制代码
from ultralytics import YOLO

model = YOLO("yolov11s.pt")  # 加载预训练模型

results = model.train(
    data="drone.yaml",
    epochs=100,
    imgsz=640,
    batch=16,  # RTX 2080适合batch=16
    device=0,  # 使用GPU
    optimizer="SGD",
    amp=True,  # 混合精度训练
    project="runs/train",
    name="drone_exp"
)
关键参
复制代码
数说明:
  • batch=16:RTX 2080显存8GB,适合batch=16

  • imgsz=640:无人机目标较小,建议高分辨率

  • amp=True:混合精度训练,节省显存


4. WPF可视化验证

将pt模型转出通用模型onnx

python 复制代码
from ultralytics import YOLO

from ultralytics import YOLO
model = YOLO("./runs/detect/train7/weights/best.pt")
model.export(format="onnx", imgsz=(640, 640), simplify=True)

作者使用C#开发了一款程序,能够加载ONNX模型并进行图像检测。


5. 常见问题

Q1: CUDA报错 "out of memory"

  • 解决方案 :降低 batch 大小(如 batch=8)

Q2: 标注数据不准确

  • 解决方案 :使用 Roboflow 自动增强数据集

Q3: WPF调用Python模型慢

  • 优化方案 :改用 ONNX Runtime 或 TensorRT 加速

6. 总结

本文详细介绍了在 Windows 11 + RTX 2080 环境下:

  1. 配置CUDA/cuDNN + Python环境

  2. 标注1000张无人机数据集

  3. 训练YOLOv11模型

  4. 使用WPF开发可视化检测程序

相关推荐
ZzT1 小时前
AI 是放大器:基础越扎实,放大效果越明显
人工智能·ai编程
喵个咪1 小时前
GoWind Admin 拆解:AI 能力层——工具循环、pgvector 知识库与机器凭证
人工智能·后端·agent
老金带你玩AI1 小时前
10秒出4K,MiniMax还开源了!H3 Image上线!
人工智能
mantou1321 小时前
只用 Cloudflare 全家桶,给游戏站做一个 RAG 搜索和问答
人工智能·llm
AI前端工程狮1 小时前
服务端已经死了,客户端却报"超时"
人工智能·程序员
阿屿1 小时前
从零手搓 AI 伴侣(二):好感度通胀危机,与它的「货币政策」
java·人工智能
师夷长技以自愈1 小时前
第 2 篇:AI 点菜,程序端菜——第一次学会"工具调用"
人工智能
数据集_深度学习1 小时前
果园红绿苹果目标检测数据集介绍和论文参考
人工智能·目标检测
武子康1 小时前
H3-World 的 11.3 小时训练数据,是怎样对齐成动作监督的?
大数据·人工智能·深度学习
泯泷2 小时前
大模型会吃掉 Harness 吗?Agent 天空上的“两朵乌云”
人工智能·llm·agent