【实战指南】YOLOv11在TT100K数据集上的交通标志检测全流程解析

1. 从零开始:环境搭建与数据集准备

大家好,我是老张,一个在AI和计算机视觉领域摸爬滚打了十来年的“老码农”。今天,我想和大家分享一个非常实用的项目:用最新的YOLOv11模型,在TT100K数据集上训练一个交通标志检测器。这活儿听起来挺唬人,但跟着我的步骤走,保证你从环境配置到模型训练,每一步都清清楚楚,哪怕你是刚入门的小白,也能亲手把这个系统跑起来。

咱们先聊聊为什么选这个组合。交通标志检测是自动驾驶和智能交通系统里的“眼睛”,至关重要。而TT100K数据集,是清华大学和腾讯联合搞出来的一个“宝藏”数据集,里面有超过10万张图,标注了海量的交通标志,场景覆盖了白天黑夜、晴天雨天,非常贴近真实路况。但它的挑战也很大——很多标志在图片里就指甲盖那么大,属于典型的小目标检测难题。这时候,YOLOv11的优势就体现出来了。我实测对比过YOLOv5、v8和v11,在同样的硬件条件下,v11在保持高速度的同时,对小目标的检测精度确实有肉眼可见的提升。所以,这个组合,可以说是“强强联手”。

工欲善其事,必先利其器。第一步,咱们得把环境搭好。我强烈建议使用Miniconda来管理Python环境,它能帮你把项目依赖隔离开,避免各种版本冲突的“玄学”问题。打开你的终端(Windows用Anaconda Prompt,Linux/Mac直接用终端),执行下面这几条命令:

conda create -n yolo11_tt100k python=3.8.5
conda activate yolo11_tt100k

环境建好了,名字叫yolo11_tt100k。接下来安装PyTorch,这是深度学习的基础框架。安装命令取决于你的显卡。如果你用的是30系或40系的NVIDIA显卡,CUDA版本建议选11.3或更高:

# 适用于CUDA 11.3的30/40系显卡
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch

如果你的显卡比较老,比如是10系或20系的,可以用CUDA 10.2的版本:

# 适用于CUDA 10.2的显卡
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch

要是你的电脑没有NVIDIA显卡,只能用CPU跑(速度会慢很多,但学习没问题),那就装CPU版本:

# CPU版本
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly -c pytorch

安装完PyTorch,咱们来搞定YOLOv11。Ultralytics官方已经把v11集成到了他们的ultralytics库里,安装非常方便。咱们直接pip安装就行,但为了确保能装上最新的v11,我建议从GitHub上拉取源码安装:

pip install ultralytics

或者,如果你想用最新的、可能包含实验性功能的版本,可以克隆仓库安装:

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .  # 以“可编辑”模式安装,方便后续修改代码

环境装好了,接下来就是数据集。原始的TT100K数据集有300多个类别,但很多类别样本极少,直接拿来训练效果会很差。我已经帮大家处理好了,筛选出了其中42个常见、样本量足够的类别,比如限速标志(pl30, pl40)、停车让行标志(p3)、注意行人标志(w57)等等。你需要下载这个处理好的数据集,然后解压到一个你记得住的路径,比如我放在D:/datasets/tt100k_42

数据集的结构是这样的:

tt100k_42/
├── images/
│   ├── train/  # 训练图片
│   └── val/    # 验证图片
└── labels/
    ├── train/  # 训练标签(YOLO格式的.txt文件)
    └── val/    # 验证标签

关键一步来了,我们需要创建一个YAML配置文件,告诉YOLO去哪里找数据和有哪些类别。在项目根目录下创建一个新文件,比如叫tt100k_42.yaml,内容如下:

# tt100k_42.yaml
path: D:/datasets/tt100k_42  # 改成你自己的数据集绝对路径
train: images/train  # 训练集图片相对路径
val: images/val      # 验证集图片相对路径

# 类别数量
nc: 42

# 类别名称列表
names: ['i2','i4','i5','il100','i160','il80','io','ip','p10','p11',
        'p12','p19','p23','p26','p27','p3','p5','pó','pg','ph4','ph4.5',
        'pl100','pl120','pl20','pl30','pl40','pl5','pl50','pl60','pl70',
        'pL80','pm20','pm30','pm55','pn','pne','po','pr40','w1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值