카메라로 영수증을 인식할 경우 자동으로 영수증 내용이 입력되는 어플리케이션이 있습니다. 이처럼 OCR (Optical Character Recognition) 기술은 사람이 직접 쓰거나 이미지 속에 있는 문자를 얻은 다음 이를 컴퓨터가 인식할 수 있도록 하는 기술로, 컴퓨터 비전 분야에서 현재 널리 쓰이는 대표적인 기술 중 하나입니다.
프로젝트 전체 일정
- 2024.10.28 (월) 10:00 ~ 2024.11.7 (목) 19:00
- Language : Python
- Environment
- CPU : Intel(R) Xeon(R) Gold 5120
- GPU : Tesla V100-SXM2 32GB × 1
- Framework : PyTorch
- Collaborative Tool : Git, Wandb, Notion
- 프로젝트의 전반적인 내용은 아래 랩업 리포트를 참고 바랍니다.
- [Wrap-Up Report] https://drive.google.com/file/d/1ikmZuu5waB-IaA-fTON2T8Gf2TzUtS4P/view?usp=sharing
📦data
┣ 📂chinese_receipt
┃ ┣ 📂img
┃ ┣ 📂ufo
┃ ┗ ...
┃
┣ 📂japanese_receipt
┃ ┣ 📂img
┃ ┣ 📂ufo
┃ ┗ ...
┃
┣ 📂thai_receipt
┃ ┣ 📂img
┃ ┣ 📂ufo
┃ ┗ ...
┃
┣ 📂vietnamese_receipt
┃ ┣ 📂img
┃ ┣ 📂ufo
┃ ┗ ...
- 기본적으로 제공된 학습에 사용할 이미지는 총 400장이며 각 언어(중국어, 일본어, 태국어, 베트남어)로 나뉘어져 구성되어 있습니다.
- 제공되는 이미지 데이터셋은 UFO(Upstage Format OCR) 형태로 이루어져 있습니다.
📦level2-datacentric-cv-05
┣ 📂utils
┃ ┣ 📜COCO_2_UFO.py # COCO -> UFO format 변경 코드
┃ ┣ 📜UFO_2_COCO.py # UFO -> COCO format 변경 코드
┃ ┣ 📜visualize_test.py # 이미지 시각화(test set) 도구
┃ ┣ 📜visualize_custom.py # 이미지 시각화(custom set) 도구
┃ ┣ 📜inference_custom.py # 커스텀 셋에 대한 추론 도구(json으로 출력)
┃ ┣ 📜pickle_preprocessing.py # 데이터 전처리 유틸리티(pickle)
┃ ┗ 📜train_val_split.py # 데이터 train, val set 분리 유틸리티
┃ ┣ 📜COCO_2_UFO.py # COCO -> UFO format 변경 코드
┃ ┣ 📜UFO_2_COCO.py # UFO -> COCO format 변경 코드
┃ ┣ 📜align_image_name_format.py # image 이름 포맷 정리 도구
┃ ┣ 📜merge_json.py # 데이터셋 병합 도구
┃ ┣ 📜inference_custom.py # 추론(custom set) 도구
┃ ┣ 📜visualize_test.py # 이미지 시각화(test set) 도구
┃ ┣ 📜visualize_custom.py # 이미지 시각화(custom set) 도구
┃ ┣ 📜pickle_preprocessing.py # 데이터 전처리 유틸리티(pickle)
┃ ┣ 📜evaluation_util.py # val을 평가할 eval을 f1 score로 설정
┃ ┣ 📜emsemble.py # 앙상블 코드
┃ ┗ 📜train_val_split.py # 데이터 train, val set 분리 유틸리티
┃
┣ 📜train.py # 변경된 dataset에 따라 수정
┣ 📜inference.py # 저장된 checkpoint에 따라 수정
┣ 📜dataset.py # pickle 파일로 학습할 수 있도록 변경
┣ 📜deteval.py
┣ 📜model.py
┣ 📜loss.py
┣ 📜east_dataset.py
┣ 📜requirements.txt
┣ 📜datect.py
┗ 📜README.md