🚗 车辆检测 + 车牌识别:基于 Transformer 的端到端实现
✅ 技术栈:RT-DETR(车辆检测) + TrOCR(车牌识别)
✅ 框架:PaddlePaddle / Hugging Face
✅ 语言:Python 3.8+
✅ 硬件:GPU(推荐 NVIDIA RTX 3060 及以上)
🔧 第一步:环境配置
1. 创建虚拟环境(推荐)
conda create -n vehicle_transformer python=3.9
conda activate vehicle_transformer
2. 安装 PaddlePaddle(RT-DETR 使用 PaddleDetection)
# 安装 PaddlePaddle(CUDA 11.8 示例)
pip install paddlepaddle-gpu==2.6.0.post118 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
# 安装 PaddleDetection
git clone https://github.com/PaddlePaddle/PaddleDetection.git
cd PaddleDetection
pip install -r requirements.txt
python setup.py install
3. 安装 Hugging Face Transformers(用于 TrOCR)
pip install transformers torch datasets pillow
4. 验证安装
import paddle
import torch
print(paddle.is_compiled_with_cuda()) # 应输出 True
print(torch.cuda.is_available()) # 应输出 True
📁 第二步:准备数据集
场景说明:
我们将构建一个两级系统:
- RT-DETR 检测车辆
- 裁剪出车辆区域 → 用 TrOCR 识别车牌
因此需要两类数据:
- 车辆边界框标注(用于 RT-DETR)
- 车牌图像 + 文本标注(用于 TrOCR)
2.1 车辆检测数据集(RT-DETR)
数据来源(任选其一):
- UA-DETRAC(推荐):http://detrac-db.rit.albany.edu/(交通监控视频,含车辆标注)
- BDD100K:https://www.bdd100k.com/(自动驾驶数据集)
- 自制数据:用 CVAT 或 LabelImg 标注
car,bus,truck等类别
标注格式:
RT-DETR 支持 COCO 或 VOC 格式,推荐使用 COCO JSON 格式。
目录结构:
vehicle_dataset/
├── images/
│ ├── img1.jpg
│ ├── img2.jpg
│ └── ...
├── annotations/
│ ├── train.json
│ └── val.json

1212

被折叠的 条评论
为什么被折叠?



