# data_gen — 합성 LP 데이터 생성 ## 자산 (Korean-license-plate-Generator) `setup_assets.sh`가 [qjadud1994/Korean-license-plate-Generator](https://github.com/qjadud1994/Korean-license-plate-Generator) (MIT)을 clone합니다. 폰트 파일 대신 **이미 렌더링된 글자 PNG + plate 배경 이미지**를 제공해서 폰트 라이센스를 회피합니다. 자산은 이 repo에 포함되지 않고(`.gitignore`), `setup_assets.sh`로 매번 받습니다. ## 사용법 (서버 컨테이너 안) ```bash # 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.py`의 `REGION_MAP`을 정정하세요. - **자산이 못 만드는 글자**: `하`, `호`, `배`. 이 글자가 들어간 LP는 합성 데이터에 등장하지 않습니다 — Step2 fine-tune의 실차 데이터로 보충됩니다. - **세종 지역**: 자산 region이 16개라 세종이 빠진 것으로 추정 (한국 광역지자체 17개 중 1개). 마찬가지로 Step2에서 보충. - **plate 배경 정확도**: 자산이 모방한 배경이라 실제 한국 LP와 색상·로고 일부 차이. 학습은 글자 segmentation+분류가 핵심이라 큰 영향 없으나, Step2 fine-tune이 필수.