You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
songhyeonsoo 0db2bd14b5
fix: lower lr 0.001→0.0001, warmup 5→15, epoch 100→200; add 하/호/배 to HANGUL_CHAR_MAP
1 month ago
..
.gitkeep Initial scaffold for kr_lp_pgnet 1 month ago
README.md Add synthetic LP generator (4 plate types, PGNet label format) 1 month ago
generate_synthetic.py fix: lower lr 0.001→0.0001, warmup 5→15, epoch 100→200; add 하/호/배 to HANGUL_CHAR_MAP 1 month ago
setup_assets.sh Add data_gen/setup_assets.sh for synthetic LP assets 1 month ago

README.md

data_gen — 합성 LP 데이터 생성

자산 (Korean-license-plate-Generator)

setup_assets.shqjadud1994/Korean-license-plate-Generator (MIT)을 clone합니다. 폰트 파일 대신 이미 렌더링된 글자 PNG + plate 배경 이미지를 제공해서 폰트 라이센스를 회피합니다.

자산은 이 repo에 포함되지 않고(.gitignore), setup_assets.sh로 매번 받습니다.

사용법 (서버 컨테이너 안)

# 1. 자산 다운로드 (1회)
bash /workspace/kr_lp_pgnet/data_gen/setup_assets.sh

# 2. 합성 데이터 생성
python3.10 /workspace/kr_lp_pgnet/data_gen/generate_synthetic.py \
    --out_dir /workspace/train_data/kr_lp_synth \
    --num 200000 \
    --types 1,2,3,4 \
    --dict /workspace/kr_lp_pgnet/dict/kr_lp_dict.txt

출력 구조

out_dir/
├── train/
│   ├── images/000000.jpg ...
│   └── train.txt          ← PaddleOCR PGNet 라벨
└── test/
    ├── images/...
    └── test.txt

라벨 한 줄 예시 (탭 구분):

images/000123.jpg\t[{"transcription": "12가3456", "points": [[0,0],[520,0],[520,110],[0,110]]}]

Plate 종류

Type 사이즈 배경 라벨 형식
1 520×110 NN한NNNN (한 줄)
2 355×155 흰 (구형) NN한NNNN (한 줄)
3 336×170 노랑 지역명NN + 한NNNN (두 줄, polygon 분리)
4 336×170 파/녹 지역명NN + 한NNNN (두 줄, polygon 분리)

알려진 제약

  • REGION_MAP은 추정 매핑region_y/A.jpg ~ P.jpg가 어떤 한국 지역명과 매칭되는지 정확한 정보가 자산 README에 없습니다. 합성 결과 PNG를 시각 확인 후 generate_synthetic.pyREGION_MAP을 정정하세요.
  • 자산이 못 만드는 글자: , , . 이 글자가 들어간 LP는 합성 데이터에 등장하지 않습니다 — Step2 fine-tune의 실차 데이터로 보충됩니다.
  • 세종 지역: 자산 region이 16개라 세종이 빠진 것으로 추정 (한국 광역지자체 17개 중 1개). 마찬가지로 Step2에서 보충.
  • plate 배경 정확도: 자산이 모방한 배경이라 실제 한국 LP와 색상·로고 일부 차이. 학습은 글자 segmentation+분류가 핵심이라 큰 영향 없으나, Step2 fine-tune이 필수.