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

    • 访问 NVIDIA CUDA 下载页面

    • 选择 CUDA 11.8(兼容PyTorch 2.0+)

    • 运行安装程序,选择默认选项

  2. 安装cuDNN

    • 访问 NVIDIA cuDNN 下载页面

    • 下载 cuDNN 8.9.0 for CUDA 11.x

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

  3. 验证CUDA安装

    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专用环境:

      conda create -n yolov11 python=3.9.19
      conda activate yolov11
  3. 安装PyCharm

    • 下载 PyCharm Community

    • 配置Python解释器为 yolov11 环境


2. 数据集准备

2.1 选择1000张无人机图片

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 安装依赖

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

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

    wget https://github.com/WongKinYiu/yolov11/releases/download/v0.1/yolov11s.pt

3.3 训练模型

from ultralytics import YOLOmodel = YOLO("yolov11s.pt")  # 加载预训练模型results = model.train(data="drone.yaml",epochs=100,imgsz=640,batch=16,  # RTX 2080适合batch=16device=0,  # 使用GPUoptimizer="SGD",amp=True,  # 混合精度训练project="runs/train",name="drone_exp"
)
关键参
数说明
  • batch=16:RTX 2080显存8GB,适合batch=16

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

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


4. WPF可视化验证

将pt模型转出通用模型onnx

from ultralytics import YOLOfrom 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开发可视化检测程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914448.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914448.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914448.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud分布式配置中心:架构设计与技术实践

从单体到微服务&#xff1a;Spring Cloud 开篇与微服务设计 Spring Cloud服务注册与发现&#xff1a;架构设计与技术实践深度分析 在以往分享中&#xff0c;码友们已经掌握了微服务的设计和注册中心的设计&#xff0c;部分聪明的码友已经察觉了&#xff0c;已经到了需要设计一个…

15.2 Common Criteria合规

目录1. Common Criteria简介1.1 CC评估要素1.2 CC与TF-A的关系2. TF-A的CC合规要求2.1 安全功能需求2.2 开发过程要求3. TF-A的CC合规实现3.1 关键安全机制3.2 开发流程控制4. CC认证实践指南4.1 认证准备步骤4.2 典型挑战与解决方案4.3 已认证案例参考5. 持续合规建议1. Commo…

【前端:Typst】--let关键字的用法

在 Typst 中&#xff0c;#let 命令是用于定义变量和函数的核心指令&#xff0c;其用法非常灵活。以下是详细的用法说明和示例。 目录 1.基础变量定义 2.函数定义 3.默认参数 4.内容块参数&#xff08;Content Blocks&#xff09; 5.递归函数 1.基础变量定义 // 定义简单…

Qt轮廓分析设计+算法+避坑

轮廓分析拟合方面我现在只考虑矩形拟合和圆形拟合细分的话&#xff0c;椭圆拟合&#xff0c;矩形拟合&#xff0c;最小外接矩形&#xff0c;最小外接圆。对于一张图像可能有不同的图形&#xff0c;不同的圆&#xff0c;不同的矩形&#xff0c;我需要对其进行筛选&#xff0c;也…

C++中STL六大组件List的简单介绍

一、前言C非常重视效率&#xff0c;对效率有损失的代码常常是能省则省。使用list要包含的头文件是<list>&#xff0c;要包含头文件就是#iinclude <list>&#xff0c;List肯定是一种链表&#xff0c;我们不妨回忆一下那种链表插入删除效率最快也就是最简单&#xff…

第十五节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - vue前端 生产部署

Vben Admin vben5 系列文章目录 💻 基础篇 ✅ 第一节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 ✅ 第二节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节:Vben Admin 最新 v5.0 (vben5) + Python …

背包初步(0-1背包、完全背包)

当月光洒在我的脸上 我想我就快变了模样 有一种叫做撕心裂肺的汤 喝了它有神奇的力量 动态规划初步&#xff08;完全背包&#xff09; 目录动态规划初步&#xff08;完全背包&#xff09;0-1背包简介完全背包检查数组是否存在有效划分&#xff08;前缀划分DP&#xff09;单词拆…

Linux驱动06 --- UDP

目录 一、UDP 1.1 介绍 1.2 UDP 的通信方式 1.3 单播 发送函数 接收函数 1.4 广播 1.5 组播/多播 一、UDP 1.1 介绍 传输层的另外一个协议 面向无连接&#xff0c;不稳定&#xff0c;速度快&#xff0c;可以一对多 UDP&#xff08;User Datagram Protocol&…

AJAX 投票:技术解析与应用场景

AJAX 投票:技术解析与应用场景 引言 随着互联网技术的不断发展,Web应用的用户体验越来越受到重视。AJAX(Asynchronous JavaScript and XML)作为一种重要的技术,在实现异步数据交互方面发挥着关键作用。本文将深入探讨AJAX投票系统的技术原理、应用场景以及优化策略。 A…

【字节跳动】数据挖掘面试题0017:推荐算法:双塔模型,怎么把内容精准地推送给用户

文章大纲 双塔模型:推荐算法中的“高效匹配引擎一、双塔模型的核心思想:“分而治之” 的匹配逻辑二、双塔模型的结构:从特征输入到相似度输出1. 输入层:特征的 “原材料处理”2. 塔网络层:用户与物品的“个性化编码”3. 交互层:向量相似度的“偏好打分”三、双塔模型的优…

7月14日日记

数学类今天考完最后一科英语放假回家了。有点羡慕他们。今天英语成绩出来了&#xff0c;我是89分&#xff0c;一开始有点失望&#xff0c;感觉没有上90&#xff0c;这是一个很好的冲击4.0 的机会。但是后来一想好像也没什么可惜的&#xff0c;这个分数还是很高的。舍友小林是90…

js的局部变量和全局变量

全局变量常常定义在函数外&#xff0c;具有全局定义域&#xff0c;在整个js代码的任何地方都可以使用&#xff0c;这个就叫全局变量局部变量定义在函数内部&#xff0c;只在当前函数的定义域可以被使用&#xff0c;而且不同的函数可以定义相同的局部变量&#xff0c;他们之间相…

C++ 多态详解:从概念到实现原理----《Hello C++ Wrold!》(14)--(C/C++)

文章目录前言多态的概念多态的定义和实现虚函数虚函数的重写(覆盖)多态的构成条件override 和 final&#xff08;C11提出&#xff09;finaloverride重载、覆盖(重写)、隐藏(重定义)的对比抽象类接口继承和实现继承多态的原理虚函数表(也叫做虚表)引申:虚表的打印多态的原理静态…

Node.js + Express的数据库AB View切换方案设计

方案总览数据导入过程&#xff1a; - 根据控制表判断当前活跃组&#xff08;假设当前活跃的是a&#xff0c;那么接下来要导入到b&#xff09;。 - 清空非活跃表&#xff08;即b表&#xff09;的数据&#xff0c;然后将新数据导入到b表。 - 切换控制表&#xff0c;将活…

C++_编程提升_temaplate模板_案例

类模板案例案例描述: 实现一个通用的数组类&#xff0c;要求如下&#xff1a;可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator防止浅拷贝问题提供尾插法和尾删法对数组中的数据进…

Win11系统安装Anaconda环境极简教程

Win11系统安装Anaconda环境极简教程 &#x1f4e5; 第一步&#xff1a;下载 Anaconda 安装包 打开浏览器&#xff0c;访问 Anaconda 官网&#xff0c;选择View All Installers 选择所需版本&#xff08;此文以2024.02-1为例&#xff09;&#xff0c;点击进行下载&#xff08;…

Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛

一.赛事目标基于星火大模型Spark 4.0 Ultra&#xff0c;对视频和评论的数据进行商品识别&#xff0c;情感分析&#xff0c;归类分析&#xff0c;最终为带货效果进行评价。并通过优化模型来提高评价准确度二.赛事环境1.基础平台&#xff1a;星火大模型Spark 4.0 Ultra2.赛事数据…

如何基于FFMPEG 实现视频推拉流

文章目录 前言环境准备为什么选择 FFmpeg什么是nginx 1.7.11.3 GryphonNginx的conf配置启动nginx推流命令接收视频流Untiy播放视频流最后前言 我们经常会有在电脑上实现推拉流的需求,Unity 和Unreal 都提供了基于WebRTC 的视频流方案,效果还不错,但是当我们需要推拉整个电脑…

飞算JavaAI:从情绪价值到代码革命,智能合并项目与定制化开发新范式

目录一、飞算 JavaAI 是什么&#xff1f;二、飞算JavaAI&#xff1a;安装登录2.1 IDEA插件市场安装&#xff08;推荐&#xff09;2.2 离线安装包三、飞算JavaAI核心功能&#xff1a;一键生成完整工程代码功能背景3.1 理解需求3.2 设计接口3.3 表结构自动设计3.4 处理逻辑&#…

Python 基础语法与数据类型(十一) - 类 (class) 与对象 (实例)

文章目录1. 什么是类 (Class)&#xff1f;1.1 定义一个类2. 什么是对象 (Object) 或实例 (Instance)&#xff1f;2.1 创建对象&#xff08;实例化&#xff09;3. 访问属性和调用方法4. 类属性 vs 实例属性5. self 的重要性总结练习题练习题答案前几篇文章我们学习了变量、数据类…