양우희 |
이영진 |
조민지 |
조수민 |
조창희 |
한상범 |
- 본 프로젝트는 진료비 영수증의 글자를 검출하는 것을 목표로한다.
- 영수증의 QR 코드 및 도장, 마스킹 부분은 검출 대상에서 제외된다.
- 본 대회는 데이터 중심적 사고를 통해 검출 성능을 높이므로 모델 및 손실 함수의의 개선을 지양한다.
이름 | 역할 |
---|---|
전체 | EDA, 데이터 클렌징, 팀 분배 및 Wrap up report 작성, 데이터 증강 및 모델 성능 향상을 위한 각종 실험 |
양우희 | 생성형 모델을 통한 데이터 증강, 일정 관리, 모델 예측 visualize 코드 작성 |
이영진 | 효율적인 실험을 위한 Config 코드 작성, argparser 작성, 데이터 전처리 및 증강 실험 |
조민지 | DetEval을 활용한 metric 측정 코드 작성, 모델 예측 분석 기반 edge case 파악, Blur augmentation 실험 |
조수민 | 검증 셋 구축, 데이터 전처리 및 증강 실험, 모델 예측 logging 코드 작성, wbf 앙상블 실험 |
조창희 | 외부 데이터 셋 수집 및 FP16 기능 구현 |
한상범 | GitHub 전략 셋팅, 모델 실험 프로세스 개선, 검증 셋 구축, 데이터 전처리 |
- Language : Python
- Environment
- CPU : Intel(R) Xeon(R) Gold 5120
- GPU : Tesla V100-SXM2 32GB × 1
- Framework : PyTorch
- Collaborative Tool : Git, Notion
- 전체 이미지 개수 : 200장 (train 100장, test 100장)
- 이미지 크기 : 최대 가로크기 4032, 세로크기 4160, 최소 가로크기 645, 세로크기 803
- Input : 박스 좌표 및 angle, 글자가 포함된 이미지
- Output : 모델은 bbox 좌표, angle, score 값을 리턴
- 데이터를 직접 관찰하여 라벨링 된 방식에 대해 파악하였다. 데이터 클렌징을 모든 팀원이 나누어 진행을 하였기 때문에, 통합된 규칙이 필요하였다.
- 논의의 진행 결과로서 일관적인 레이블링이 필요할 것으로 판단되어 각 객체에 대해 약 20px이상 띄워져 있는 경우 다른 객체라 판단하였다.
- 뿐만 아니라 일정 크기 이하를 가지는 예를들어 쉼표와 마침표의 경우 학습에 어려움이 있을 것으로 판단되고 평가 진행시에도 큰 점수를 가져가지 않으므로 레이블링에서 제외하였다.
- 잘못 레이블링 된 경우(배경 레이블링, 박스의 크기를 작게 설정함)도 클렌징 대상에 포함하였다.
python train.py --config "config path"
python inference.py --model-dir "model path"
📦 level2-objectdetection-cv-05
├─ 📂EDA
│ └─ eda.ipynb
├─ 📂config
│ └─ base.yaml
├─ 📂data
│ ├─ dataset.py
│ ├─ east_dataset.py
│ ├─ preprocess.py
│ └─ augmentation.py
├─ 📂model
│ └─ model.py
├─ 📂utils
│ ├─ argparsers.py
│ ├─ create.py
│ ├─ detect.py
│ ├─ deteval.py
│ ├─ logger.py
│ ├─ loss.py
│ ├─ lr_scheduler.py
│ ├─ plot.py
│ └─ util.py
├─ train.py
├─ inference.py
├─ make_train.py
└─ visualize.py