当前位置: 首页 > news >正文

计算机视觉、YOLO算法模型训练、无人机监测人员密集自动识别

第一阶段:准备工作

1. 硬件确认

你需要一台带NVIDIA 独立显卡的电脑(显存 8G 以上,游戏本 / 设计本都行);

如果没有,用 CPU 也能跑,但训练会很慢(不建议,最好找个带显卡的)。

2. 软件安装(按顺序装)

(1)确认 Python版本

打开命令行(CMD),输入:

python --version

  1. 装 Ultralytics YOLO(一键式 AI 工具)

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

(3)装 LabelImg(标注工具)

pip install labelImg -i https://pypi.tuna.tsinghua.edu.cn/simple

(4)验证安装成功

输入 yolo predict model=yolov8n.pt source=https://ultralytics.com/images/bus.jpg,如果能看到识别结果,说明 YOLO 装好了;

输入 labelImg,如果能打开一个画图软件,说明标注工具装好了

第二阶段:数据采集与标注

建一个规范的项目文件夹

在电脑里新建一个根文件夹,比如叫D:\Person_Detect_Project\,然后按下面的结构建好子文件夹(复制文件夹名就行,别乱改):

二、核心第一步:准备教模型的教材(数据采集 + 标注)

这是最关键的一步,你教得越认真,模型认人越准

1. 采集照片(拍你真实场景的无人机照片)

照片要求(直接决定模型效果,一定要按这个来):
  • 数量:至少 500 张起步,越多越好(1000 张以上效果会有质的飞跃)
  • 内容:必须是无人机真实拍的场景(景区、园区、广场等),别用网上的室内照片,和你实际用的场景不匹配,训了也白训
  • 多样性
        • 不同高度:10 米、30 米、50 米高空拍的都要有(你平时飞多高就拍多高)
        • 不同密度:1-2 个人、十几个人、上百人的密集人群都要有
        • 不同环境:晴天、阴天、傍晚、逆光的场景都拍一点
        • 不同角度:正拍、斜拍、俯拍都要有
  • 格式:统一用 JPG/PNG 格式,别用特殊格式
照片分配:

拍好的照片,80% 放进images/train/文件夹,20% 放进images/val/文件夹。比如你拍了 500 张,400 张放 train,100 张放 val。

2. 标注照片(教模型 “这个东西是人”)

这一步就是给模型划重点,你框得越准、越全,模型以后认人越准。

标注操作步骤(一步一步跟着做):
  1. 打开 CMD,输入labelImg打开标注工具
  2. 关键设置(一步都不能错):
    • 点击左侧「Open Dir」,选择你刚才建的images/train/文件夹(打开要标注的照片)
    • 点击左侧「Change Save Dir」,选择labels/train/文件夹(标注好的文件存在这里)
    • 点击软件顶部的「PascalVOC」,点一下切换成「YOLO」格式(必须改!不然模型读不了)
  3. 开始标注:
    • 按键盘W键,鼠标会变成十字,把照片里的每一个人都用框完整圈起来(哪怕只露一个头、半个身子,也要框)
    • 框完之后,会弹出输入标签的框,统一输入 person(就写这个单词,别写中文、别写错,和官方模型的标签保持一致,你后面的代码不用改)
    • Ctrl+S保存,按D键切到下一张,按A键回到上一张
  4. 全部标完 train 文件夹里的照片,再重复上面的步骤,把images/val/里的照片也标完,保存路径选labels/val/

阶段:一键训练你的专属模型(电脑自动跑,不用你管)

标注完了,剩下的事电脑自动做,你只需要复制粘贴代码,点一下运行就行。

1.写数据集配置文件

train_code/文件夹里,新建一个文本文件,改名叫person_drone.yaml,把下面的内容复制进去,路径改成你自己电脑的绝对路径

  1. 写一键训练代码

train_code/文件夹里,新建一个 Python 文件,叫train_person.py,把下面的内容复制进去:

  1. 开始训练

1.打开 CMD,用cd命令进入到train_code/文件夹,比如:

cd D:\Person_Detect_Project\train_code

运行训练代码:

2.python train_person.py

3.然后你就可以去休息了!

  • 显卡好的话,1-2 小时就训完了;用 CPU 的话会很慢,建议找个带 NVIDIA 显卡的电脑。
  • 训的过程中,电脑会自动打印进度,不用管它,别关窗口就行。

四、核心第三步:测试你的模型,看认人准不准

训练完成后,会在runs/train/person_drone_v1/weights/文件夹里,生成 2 个核心文件:

·best.pt这就是你自己训出来的专属模型(整个流程的核心成果,识别最准的版本)

·last.pt:最后一轮训练的模型,不用管,用 best.pt 就行

现在我们来测试一下,这个模型比官方的好多少:

  1. train_code/里新建一个test_model.py,复制下面的代码

2.运行这个文件,打开生成的结果照片,看看模型是不是把所有的人都框出来了,有没有漏检、误检

五、核心第四步:替换到你现有的 server.py 里,直接用

测试没问题,就可以把你原来的官方模型,换成你自己训的专属模型了,只需要改 1 行代码

1. 复制模型文件

把训好的best.pt复制到你server.py所在的文件夹里,改个好记的名字,比如person_drone_v1.pt

2. 修改你的 server.py 代码

只需要改加载模型的那一行,把原来的:

改成你自己的模型文件:

其他代码完全不用动

你原来的classes=0conf=0.3这些参数都不用改,因为我们标注的标签就是person,和官方的类别序号完全兼容,改完直接运行就行,识别效果会比原来的官方模型好很多!

  • 怎么让模型越来越准?

如果发现模型在某些场景认不准(比如逆光、特别密集的人群),就按这个流程优化:

  1. 把这些认错 / 漏认的照片收集起来;
  2. 用 LabelImg 把这些照片标注好;
  3. 把新的照片和标注文件,加到train/文件夹里;
  4. 重新运行训练代码,把版本名改成person_drone_v2
  5. 训完用新的best.pt替换旧的模型就行。

投喂的高质量场景照片越多,模型对你的业务场景适配度越高,识别就越准

小白常见问题避坑

  1. 训练的时候报错 “显存不足”:把训练代码里的batch=8改成batch=4,甚至batch=2,越小越省显存。
  2. 标注完了训练找不到文件:检查 yaml 里的路径是不是绝对路径,标注格式是不是 YOLO,标签名是不是person
  3. 模型识别还是不准:先看是不是标注漏标、错标了,再补更多对应场景的照片,重新训。
  4. 训好的模型拷到别的电脑能用吗:完全可以,把best.pt文件拷过去,改一下路径就能用,不用联网。
http://www.jsqmd.com/news/530814/

相关文章:

  • 告别Python依赖!C++手把手教你实现大整数加减乘除(附完整代码与避坑指南)
  • 乙巳马年·皇城大门春联生成终端W持续集成与交付(CI/CD)流水线搭建
  • 龙芯+浪潮,中国云计算要“去x86“了!
  • NetGen:高效精准的3D四面体网格生成器技术指南
  • STEP3-VL-10B轻量级方案:在MMMU基准测试中得分78.11,STEM推理能力突出
  • ArrayList 扩容机制:
  • AI人脸隐私卫士应用:家庭合影、旅行照片自动打码全攻略
  • HunyuanVideo-Foley多风格生成展示:从科幻电子音到自然白噪音
  • 收藏!小白程序员必备:详解AI Agent四种核心部署模式,助你快速上手大模型实战
  • complex.pdb含有俩化合物找氢键
  • 同样是GIS开发简历,为什么他的能让HR看完就发Offer?
  • 保姆级教程:手把手教你用YOLO11-MM搞定夜间行车目标检测(附PyTorch代码)
  • Wan2.2-I2V-A14B跨平台开发:在WSL2中体验无缝的Linux开发与调试
  • Java笔记——反射
  • 别再死记硬背了!用JavaScript手写一个三角函数计算器(附完整源码)
  • 数据库系统概论第6版第九章习题解析:从存储策略到索引优化全攻略
  • 别再死记硬背了!用Verilog实现移位寄存器的3种核心写法(附仿真对比)
  • Flowable实战:从BPMN画图到Spring Boot集成,一个请假审批系统的保姆级搭建教程
  • 如何在Python中建立高效的调试流程
  • 基于Claude Code的SDPose-Wholebody智能提示词优化方法
  • 从向量到文本:解码大模型输出背后的数学与工程实践
  • 亲测五恒系统供应商联系实践分享
  • 我电脑启动了一个WSL,如何在powershell 进入WSL
  • Qwen1.5-1.8B GPTQ模型效果深度评测:对话与代码生成能力展示
  • 如何用高效工具提升3D建模效率?STL体积计算器的技术突破与场景应用
  • 避坑指南:在Vivado/Quartus中仿真HDLbits的Module练习题时,你可能遇到的3个常见问题
  • Qwen3-ForcedAligner-0.6B企业应用:法务会议语音→带时间戳法律摘要生成
  • 终极指南:使用OpenCore Legacy Patcher让老旧Mac设备重获新生
  • PyTorch 2.8镜像效果展示:RTX 4090D跑通InternVideo2-13B多模态理解案例
  • HFSS实战解析:双频单极子天线设计中的关键参数与性能优化