스마트폰으로 카드를 결제하거나, 카메라로 카드를 인식할 경우 자동으로 카드 번호가 입력되는 경우가 있습니다. 또 주차장에 들어가면 차량 번호가 자동으로 인식되는 경우도 흔히 있습니다. 이처럼 OCR (Optimal Character Recognition) 기술은 사람이 직접 쓰거나 이미지 속에 있는 문자를 얻은 다음 이를 컴퓨터가 인식할 수 있도록 하는 기술로, 컴퓨터 비전 분야에서 현재 널리 쓰이는 대표적인 기술 중 하나입니다.
- 전체 이미지 개수 : 200장 (train 100장 + test 100장)
- annotation : UFO format (Upstage Format for OCR)
- input : 병원 진료비 영수증 이미지, annotation file (UFO format)
- output : 글자 위치 검출 박스
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| 김용우 | 박종서 | 서영덕 | 신현준 | 조수혜 |
- train dataset에 annotation이 잘못 되어있는 박스가 존재
- 화강석 배경 또는 배경의 그림자에서 박스가 잘못 검출되는 경우가 존재
- QR code에서 박스가 잘못 검출되는 경우가 존재
- 수직으로 쓰여있는 글자를 잘 인식하지 못함
- dataset이 생각보다 각도가 더 크게 돌아가 있는 경우가 존재
- data cleansing을 통해 train set annotation의 박스 노이즈 제거
- 글자로 인식하는 배경, QR code를 train dataset에 추가하는 data preprocessing 적용
- CLAHE augmentation을 통해 글자 부분과 아닌 부분의 인식 강건화
- 기본 rotate10 augmentation에서 그 이상으로 각도를 변경하여 실험
- 5120_plus_background_epoch600_stepLr30_rotate20_clahe_seed1111
- f1 score: 0.9666 → 0.9741(private)
- epoch: 434
- seed: 1111
- augmentation: Base + CLAHE + rotate20
- lr scheduler: StepLR(step_size: 30)
- train dataset 자체에 배경 추가 preprocessing
- 5044_E800_Aug2_seed1111_tc
- f1 score: 0.9697 → 0.9732(private)
- epoch: 800
- seed: 1111
- augmentation: Base + CLAHE + rotate20
- lr scheduler: StepLR(step_size: 30)
- data cleansing 적용
- public : 14등
- private : 7등
├── .github
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .vscode
│ └── settings.json
├── codebook : EDA, visualize등의 코드를 작성
│ ├── groupKfold.ipynb
│ ├── output_visualize.ipynb
│ └── train_visualize.ipynb
├── .flake8
├── .gitignore
├── .gitmessage.txt
├── .pre-commit-config.yaml
├── README.md
├── base_config.json
├── config_train.py
├── poetry.toml
├── pyproject.toml
└── settings.sh





