- Add README.md to all 16 dataset directories with script references - Centralize generation scripts under scripts/ with full README - Update .gitignore to cover all data directories, keep only metadata - Remove redundant CCPD/.gitignore (parent covers same rules) - Remove stale scripts/test/ (254MB pipeline residue) - Fix label parser reference: scripts are authoritative source of truth
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 退化模拟 → 输出
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 管线,替换硬编码的退化模拟步骤。
# 训练
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 位) |