84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
# CCPD_SPE_GEN — 特殊车牌数据集生成工具
|
|
|
|
基于 CCPD 真实车辆照片,将普通蓝牌替换为 9 种特殊车牌(警车/军车/港澳/使馆/领馆/教练/新能源)。
|
|
|
|
---
|
|
|
|
## 目录结构
|
|
|
|
```
|
|
CCPD_SPE_GEN/
|
|
├── README.md
|
|
│
|
|
├── cv_pipeline/ # 传统 CV 管线(无需 GPU/训练)
|
|
│ ├── plate_swap.py # 主体:车牌替换全流程
|
|
│ ├── extract_real_plates.py # 从 CCPD 提取真实车牌 ROI
|
|
│ └── gen_pure_plates.py # 生成纯合成车牌(无背景)
|
|
│
|
|
├── gan_pipeline/ # GAN 管线(CUT 纹理迁移)
|
|
│ ├── dataset.py # L 通道 DataLoader + 推理封装
|
|
│ ├── models.py # Generator + PatchGAN + PatchNCE Loss
|
|
│ ├── train.py # 训练脚本
|
|
│ └── requirements.txt # PyTorch 依赖
|
|
│
|
|
└── scripts/ # 一键运行脚本
|
|
├── quick_test.sh # 快速测试 20 张警车牌
|
|
├── preview_all.sh # 预览全部 9 种类型
|
|
└── gan_data_prep.sh # GAN 训练数据准备
|
|
```
|
|
|
|
## 两套算法
|
|
|
|
### CV 管线 (`cv_pipeline/`)
|
|
**经典计算机视觉,零训练成本,即开即用。**
|
|
|
|
流程:CCPD 原图 → 解析文件名角点 → 生成特殊车牌 → Lab 色彩对齐 → 透视回贴 → 距离变换羽化 → 噪声/模糊匹配 → JPEG 退化模拟 → 输出
|
|
|
|
```bash
|
|
cd ICE_Dataset
|
|
python CCPD_SPE_GEN/cv_pipeline/plate_swap.py \
|
|
--ccpd-dir ./CCPD/CCPD2019/ccpd_base \
|
|
--plate-type police \
|
|
--num 500 \
|
|
--output ./output/police_dataset
|
|
```
|
|
|
|
### GAN 管线 (`gan_pipeline/`)
|
|
**基于 CUT (Contrastive Unpaired Translation),需 PyTorch + GPU 训练。**
|
|
|
|
仅对车牌 L (亮度) 通道做纹理迁移,保留 AB 颜色通道不变。训练后将 GAN 推理接入 CV 管线,替换硬编码的退化模拟步骤。
|
|
|
|
```bash
|
|
# 训练
|
|
cd CCPD_SPE_GEN/gan_pipeline
|
|
python train.py \
|
|
--domain-a ../../gan_data/domain_A_synthetic/police \
|
|
--domain-b ../../gan_data/domain_B_real \
|
|
--epochs 100 --batch 4 \
|
|
--output ../../output/cut_police
|
|
|
|
# 推理 (在 CV 管线中调用)
|
|
# from CCPD_SPE_GEN.gan_pipeline.dataset import LChannelInference
|
|
```
|
|
|
|
## 依赖
|
|
|
|
| 管线 | 依赖 |
|
|
|------|------|
|
|
| CV | `numpy`, `opencv-python`, `tqdm`, `chinese_license_plate_generator/` |
|
|
| GAN | 以上 + `torch>=1.12`, `torchvision`, `tensorboard` |
|
|
|
|
## 支持的特殊车牌类型
|
|
|
|
| 类型 | 底板 | 说明 |
|
|
|------|------|------|
|
|
| `police` | 白底 | 警用车牌 (末位"警"红字) |
|
|
| `army` | 白底 | 军车/武警 |
|
|
| `gangao` | 黑底 | 港澳入出境 |
|
|
| `shiguan_old` | 黑底 | 使馆旧版 ("使"红字) |
|
|
| `shiguan_new` | 黑底 | 使馆新版 (白字) |
|
|
| `lingguan_old` | 黑底 | 领馆旧版 ("领"红字) |
|
|
| `lingguan_new` | 黑底 | 领馆新版 (白字) |
|
|
| `coach` | 黄底 | 教练车 (末位"学") |
|
|
| `new_energy` | 黄绿双拼 | 大型新能源 (8 位) |
|