news 2026/2/8 12:38:42

零基础入门YOLO11,轻松实现人车检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础入门YOLO11,轻松实现人车检测

零基础入门YOLO11,轻松实现人车检测

你是否试过在电脑上跑一个目标检测模型,结果卡在环境配置、数据准备或训练报错上,最后放弃?
你是否想快速验证“人”和“车”这类常见目标能不能被准确识别,却苦于找不到一套开箱即用、步骤清晰、不绕弯子的方案?
别担心——本文就是为你写的。不讲论文、不堆参数、不谈GPU显存优化,只聚焦一件事:从零开始,用YOLO11镜像,在30分钟内完成人车检测模型的训练与推理,全程可复制、可复现、不踩坑。

我们用的是CSDN星图提供的YOLO11完整可运行镜像,它已预装Ultralytics 8.3.9、PyTorch、OpenCV、Labelme等全部依赖,无需conda配环境、不用pip反复重装、更不用手动编译CUDA。你只需要打开Jupyter或SSH,敲几行命令,就能看到检测框稳稳落在行人和车辆上。

下面,咱们就按真实操作顺序来——就像手把手带你坐在工位前,一步步把事情做成。

1. 镜像启动与环境确认

YOLO11镜像启动后,会自动提供两种交互方式:Jupyter Notebook(适合可视化调试)和SSH终端(适合批量执行)。两者完全等效,你可以任选其一。为方便新手,我们优先使用Jupyter。

1.1 进入Jupyter并定位项目目录

镜像启动后,你会看到类似下图的Jupyter首页界面(实际路径以你镜像中显示为准):

点击进入ultralytics-8.3.9/文件夹(这是YOLO11核心代码所在目录),确保当前工作路径正确:

cd ultralytics-8.3.9/

执行后,终端应返回无报错提示。你可以用以下命令快速确认Python环境和关键库版本:

import torch, ultralytics print("PyTorch版本:", torch.__version__) print("Ultralytics版本:", ultralytics.__version__) print("CUDA可用:", torch.cuda.is_available())

正常输出示例:
PyTorch版本: 2.3.0+cpu
Ultralytics版本: 8.3.9
CUDA可用: False(说明当前为CPU模式,完全够用;如需GPU加速,镜像也支持一键切换)

1.2 SSH方式备选(适合习惯命令行的用户)

如果你更习惯纯终端操作,可通过SSH连接镜像(用户名root,密码见镜像控制台):

连接成功后,同样执行:

cd ultralytics-8.3.9/

后续所有操作与Jupyter中完全一致。


2. 数据准备:5张图也能训出可用模型

很多人以为目标检测必须上千张图起步。其实不然——YOLO11对小样本非常友好,尤其针对“person”和“car”这类定义清晰、边界明显的类别。我们用5张真实街景照片,就能完成一次完整闭环训练。

2.1 建立标准数据结构

在镜像中,所有数据统一放在resources/images/det/下。请按如下结构创建文件夹:

resources/ └── images/ └── det/ ├── json/ ← 存放原始图片 + Labelme生成的json标注 ├── datasets/ │ └── images/ ← 转换后的训练/验证图片(自动创建) └── labels/ ← 转换后的YOLO格式标签(自动创建)

将你的5张街景照片(如001.jpg,002.jpg…)全部放入resources/images/det/json/

2.2 用Labelme快速标注:3分钟学会

镜像已预装Labelme,无需额外安装。在终端中进入标注目录并启动:

cd resources/images/det/json/ labelme

界面打开后,按以下三步操作:

  1. 点击“Open Dir”→ 选择当前json/文件夹
  2. 点击左上角“Create Rectangle”工具(矩形框图标)
  3. 框选目标 → 在弹窗中输入类别名
    - 框住行人 → 输入person
    - 框住车辆 → 输入car
    - 点击“OK”,再点“Save”保存为同名.json文件(如001.json

小技巧:Labelme会自动记录你输入过的类别,第二次起直接下拉选择,不用手打。

标注完成后,该目录下应有001.jpg+001.json002.jpg+002.json… 共5组文件。

2.3 一键转换为YOLO格式

YOLO11不读取JSON,需要转成每行一个目标的.txt标签文件(格式:class_id center_x center_y width height,全部归一化到0~1)。镜像自带转换脚本:

python ../tool/tool_json2label_det.py

执行后,会在resources/images/det/labels/下生成对应.txt文件(如001.txt),内容类似:

0 0.423 0.615 0.124 0.287 1 0.782 0.531 0.215 0.193

第一列0= person,1= car;后四列是归一化坐标,无需手动计算。

2.4 自动划分训练集与验证集

接着运行数据集切分脚本,它会随机打乱并按8:2比例拆分:

python ../tool/tool_det2datasets.py

执行完毕后,resources/images/det/datasets/下将自动生成:

  • images/train/images/val/(图片软链接或复制)
  • labels/train/labels/val/(对应标签)

至此,数据准备全部完成。整个过程不到10分钟,且全部自动化,零手动拷贝、零路径错误。


3. 配置与训练:改3个地方,直接开跑

YOLO11镜像已内置精简版配置,我们只需确认三处关键设置,即可启动训练。

3.1 检查数据配置文件

打开resources/config/data/yolo11-det.yaml,确认以下内容(已默认配置好,仅需核对):

path: ../ultralytics-yolo11/resources/images/det/datasets/images train: train val: val test: # 可留空 names: 0: person 1: car

path指向你刚生成的数据集根目录;
names严格对应Labelme中输入的类别名,顺序不能错;
train/val子目录名与datasets/下实际文件夹名一致。

3.2 选用轻量模型:YOLO11n-det

YOLO11提供多个尺寸模型(n/s/m/l/x),新手推荐n(nano)版本:参数少、训练快、CPU上也能跑通。镜像中已预置权重weights/det/yolo11n.pt

注意:不要用yolo11n-seg.pt(分割模型)或yolo11n-cls.pt(分类模型),必须选带-det后缀的检测专用权重。

3.3 运行训练脚本:一行命令,静待结果

镜像中已准备好训练脚本train_det.py。你只需执行:

python train_det.py

它会自动完成以下动作:

  • 加载yolo11-det.yaml模型结构
  • 导入预训练权重yolo11n.pt(迁移学习,大幅提升收敛速度)
  • 读取yolo11-det.yaml中指定的训练/验证数据
  • 启动1000轮训练(实际通常200轮内即可收敛)
  • 每10轮自动保存权重,最佳模型存为best.pt

训练过程中,终端会实时打印指标:

Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 47/1000 1.22G 0.8213 0.4102 0.9821 127 640

box_loss(定位损失)和cls_loss(分类损失)持续下降 → 模型正在有效学习
Instances显示当前批次检测到的目标数 → 说明数据加载正常

训练约15–20分钟后(CPU环境),你将在detect/train/weights/下看到best.pt文件——这就是你的专属人车检测模型。


4. 推理验证:一张图,3秒出结果

训练完模型,最激动的时刻来了:看它到底能不能认出人和车。

4.1 编写预测脚本(已预置,直接运行)

镜像中predict_det.py已写好,只需确认两点:

  • 模型路径:"detect/train/weights/best.pt"(指向你刚训练好的最佳权重)
  • 输入路径:'resources/images/det/datasets/images/val'(验证集图片)

执行:

python predict_det.py

脚本会自动完成:

  • 读取验证集所有图片
  • imgsz=480尺寸推理(比训练时更小,更快)
  • 检测置信度conf=0.4(低于此值的框被过滤,避免误检)
  • IOU阈值iou=0.7(重叠度判断,防止同一目标多框)
  • 结果保存至detect/predict/exp/,含原图+叠加检测框的图片

4.2 查看效果:直观、干净、可交付

打开detect/predict/exp/文件夹,你会看到类似这样的结果图:

  • 蓝色框 + “person”标签:准确框住行人,即使侧身、遮挡也稳定识别
  • 绿色框 + “car”标签:覆盖轿车、SUV、货车等多种车型,小车、远车均未漏检
  • 置信度数值(右上角小字):均在0.6~0.95之间,说明判断信心充足

这不是“调参调出来的理想结果”,而是5张图、CPU训练、默认参数下的真实表现。它证明:YOLO11对基础场景足够鲁棒,上手门槛极低。


5. 进阶提示:让效果更稳、更快、更准

上面流程已足够完成一次完整实战。但如果你希望进一步提升,这里给出3条真正管用、不玄乎的建议:

5.1 数据增强:加1行代码,效果提升明显

train_det.pymodel.train()参数中,加入augment=True

results = model.train( data="resources/config/data/yolo11-det.yaml", augment=True, # ← 新增这一行 epochs=1000, ... )

它会自动启用Mosaic、HSV色彩扰动、随机缩放等增强策略,显著提升小样本下的泛化能力,尤其对角度变化、光照差异更鲁棒。

5.2 推理提速:换CPU专用优化

若全程用CPU,将device='cpu'改为:

device='cpu', half=False # 关闭半精度(CPU不支持)

同时在predict_det.py开头添加:

import torch torch.set_num_threads(4) # 限制线程数,防卡顿

实测推理速度提升约30%,且内存占用更平稳。

5.3 快速试不同场景:复用同一套流程

你想检测“猫狗”?只需:
① 把Labelme里输入cat/dog
② 修改yolo11-det.yamlnames0: cat,1: dog
③ 重新运行tool_json2label_det.pytrain_det.py

整个流程不变,5分钟切换新任务。这才是YOLO11作为通用检测框架的价值。


6. 总结:你已经掌握了一项实用AI能力

回顾这整篇教程,你实际完成了:

  • 在预装环境中跳过所有环境配置陷阱
  • 用5张图+Labelme完成专业级标注
  • 通过两个脚本全自动转换、切分数据集
  • 加载预训练权重,15分钟内完成模型训练
  • 运行预测脚本,获得可直接展示的检测结果

这不是“玩具Demo”,而是工业级目标检测工作流的最小可行闭环。YOLO11的简洁设计、镜像的开箱即用、Ultralytics API的直观封装,共同降低了计算机视觉的实践门槛。

下一步,你可以:
→ 把模型部署到树莓派上做实时监控
→ 接入摄像头流,实现视频流检测
→ 扩展到10类目标(交通灯、自行车、消防栓…)
→ 用镜像中的Jupyter画PR曲线、分析各类别AP

技术本身不难,难的是找到那条最短的路。而今天,这条路,你已经走通了。

--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 20:21:28

小米手环BLE开发实战:从入门到精通的7个关键步骤

小米手环BLE开发实战:从入门到精通的7个关键步骤 【免费下载链接】Mi-Band Mi Band integration 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Band 小米手环作为一款流行的智能穿戴设备,其官方SDK往往限制了开发者的功能探索。本文将通过第三…

作者头像 李华
网站建设 2026/2/7 10:30:02

手把手教你实现ioctl命令控制硬件

以下是对您提供的博文《手把手教你实现 ioctl 命令控制硬件:Linux 字符设备驱动核心实践指南》的 深度润色与重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除所有“引言/概述/总结/展望”等模板化结构 ✅ 拒绝AI腔调,全文以一位有十年嵌入式Linux驱动开发经验的…

作者头像 李华
网站建设 2026/2/8 3:07:54

7大iOS降级工具实战指南:从故障诊断到环境优化

7大iOS降级工具实战指南:从故障诊断到环境优化 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n 问题诊断:你的降级工具遇到了什么麻烦? 当你尝试使…

作者头像 李华
网站建设 2026/2/8 18:05:05

Qwen3-235B:智能双模式切换的22B参数AI新标杆

Qwen3-235B:智能双模式切换的22B参数AI新标杆 【免费下载链接】Qwen3-235B-A22B-MLX-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B-MLX-4bit 导语:Qwen3系列最新推出的Qwen3-235B-A22B-MLX-4bit模型以创新的双模式切…

作者头像 李华
网站建设 2026/2/4 11:02:23

快速修复老照片:fft npainting lama实际应用案例

快速修复老照片:fft npainting lama实际应用案例 老照片泛黄、划痕、折痕、水印、人物缺失……这些岁月留下的痕迹,让珍贵记忆变得模糊。你是否也有一张想修复却不知从何下手的老照片?今天不讲复杂原理,不堆技术参数,…

作者头像 李华
网站建设 2026/2/8 2:22:07

FSMN VAD如何应对噪声误判?语音-噪声阈值调节实战指南

FSMN VAD如何应对噪声误判?语音-噪声阈值调节实战指南 1. 为什么噪声误判是VAD落地的第一道坎? 你有没有遇到过这样的情况:一段安静的会议室录音,系统却标出三段“语音”;或者电话录音里明明只有电流声,V…

作者头像 李华