跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

无人机航拍小目标检测:YOLO11 实战与 PyQt6 桌面应用

综述由AI生成无人机航拍场景下的小目标检测一直是计算机视觉领域的难点。本项目基于 YOLO11 框架与 VisDrone 数据集,实现了行人、车辆等 10 类目标的精准识别,并配套开发了支持图片、视频及摄像头实时检测的 PyQt6 桌面应用。内容涵盖数据配置、训练参数调优、可视化指标分析及系统架构设计,为相关工程落地提供完整参考。

灭霸发布于 2026/4/7更新于 2026/5/2315 浏览
无人机航拍小目标检测:YOLO11 实战与 PyQt6 桌面应用

项目背景

无人机航拍图像里目标通常很小且密集,传统算法很难搞定。我们用了 Ultralytics YOLO11 框架,配合 VisDrone 数据集训练,能高效检测行人、车辆等 10 类交通目标。为了验证方便,还做了个 PyQt6 桌面端,支持图片、视频和摄像头的实时检测。

数据集准备

用的是 VisDrone 2019-DET 数据集,天津大学 AISKYEYE 团队发的,ICCV 2019 挑战赛基准。

  • 训练集 6471 张,验证集 548 张,测试集 1610 张。
  • 总共 260 万 + 标注框。
  • 类别包括行人、自行车、汽车、卡车等 10 种。
  • 特点很明显:城市乡村都有,高度高导致目标像素少,很多归一化后宽高小于 2%,而且遮挡严重。

目录结构如下:

dataset_visdrone/
├── data.yaml
└── VisDrone2019-DET-train/
    ├── images/
    └── labels/

标注是 YOLO 标准格式,一行一个框,坐标归一化到 [0, 1]。

训练配置

核心脚本在根目录 train_yolo11.py,支持 train、val、predict 三种模式。 基本流程就是检查配置文件,生成本地路径 yaml,加载预训练权重,然后开练。结果会存在 runs/train/ 下。 命令行示例:

python train_yolo11.py --model yolo11m --epochs 200 --imgsz 1280

这里建议把图像尺寸设大点,比如 1280,小目标看得更清。Batch size 根据显存来,16 到 32 比较稳。Epochs 建议 200 以上,VisDrone 收敛慢。默认开启 mosaic 增强,最后 10 轮关掉能让曲线更稳。

关键参数

优化器用的 SGD,损失权重 box=7.5, cls=0.5, dfl=1.5。 检测时的置信度阈值默认 0.25,IoU 阈值 0.70。如果误检多,可以把 conf_threshold 调高。

训练结果怎么看

Ultralytics 会在实验目录生成一堆图。

  • results.png 看整体趋势,loss 下降、mAP 上升就对了。
  • confusion_matrix_normalized.png 看看有没有把车认成人的情况。
  • PR 曲线和 F1 曲线能帮你定最终的阈值。 CSV 文件里记录了每个 epoch 的详细指标,方便画图分析。

桌面应用功能

用 PyQt6 写了个客户端,叫'无人机航拍小目标检测系统'。

  • 能上传图片、视频,也能直连摄像头。
  • 有登录界面,默认 admin/admin123。
  • 历史记录可以导出,模型路径也能在配置里改。 入口是 detection_app/main.py,推理逻辑封装在 utils/detector.py 里。

技术栈与结构

GUI 是 PyQt6,后端 PyTorch/Ultralytics,图像处理 OpenCV。 依赖包都在 requirements.txt 里列好了。 项目结构清晰,训练脚本和应用分开,方便维护。 训练输出里有 best.pt 权重,还有各种可视化图表。

参考资料

论文引用建议:

@article{zhu2021detection, title={Detection and tracking meet drones challenge}, author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin}, journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, volume={44}, number={11}, pages={7380--7399}, year={2021}, publisher={IEEE} }

数据集官网:https://aiskyeye.com/

文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图 文章配图

目录

  1. 项目背景
  2. 数据集准备
  3. 训练配置
  4. 关键参数
  5. 训练结果怎么看
  6. 桌面应用功能
  7. 技术栈与结构
  8. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • OpenClaw 配置 Codex 5.3 个人 AI 编程方案实战
  • 面向动态多目标多AUV路径规划的协同进化计算算法解析
  • Minecraft Java 版 Forge 服务器搭建教程
  • VS Code + Conda 零基础搭建 Python 数据可视化环境
  • Copilot 的 Agent、Ask、Edit、Plan 模式有什么区别
  • AI 时代 Python 开发者的创意防御与实战指南
  • Agent 工具管理平台:从 0 到 1 的架构设计实践
  • 基于 Q-learning 的无人机三维路径规划算法原理与 MATLAB 实现
  • Claude Code Rules 配置实战:从基础到多语言管理
  • 即梦数字人视频生成 API 调用示例
  • C++ string 类常用成员函数与全局函数解析
  • 前端使用 Document Picture-in-Picture API 实现视频画中画及同步控制
  • 前端 JS 加载失败的处理方案与重试机制
  • NVIDIA DGX Spark 部署 Stable Diffusion 3.5 与 ComfyUI
  • Linux poll 多路复用详解:select 的改进与局限
  • Go 语言核心控制流:for 循环与 switch 详解
  • Conda 环境 Python 版本升级实战指南
  • AI 编程工具深度对比:Trae、Cursor、Copilot 与 Windsurf
  • Linux 线程与进程深度剖析:虚实内存转换、实现机制与优缺点
  • Git 远程仓库连接实战:HTTPS 与 SSH 配置详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online