학습 데이터 추가 및 수정을 통한 이미지 속 글자 검출 성능 개선 대회
프로젝트 전체 일정
- 2024.01.24 ~ 2024.02.01
- Public 리더보드 결과
- Private 리더보드 결과
📦datasets
┗ 📂data
┗ 📂medical
┣ 📂img
┃ ┣ 📂train
┃ ┣ 📂train_crop
┃ ┗ 📂test
┗ 📂ufo
┣ 📜train.json
┗ 📜train_crop.json
이 코드는 부스트캠프 AI Tech
에서 제공하는 데이터셋으로 다음과 같은 구성을 따릅니다.
- train은 학습에 사용하는 데이터셋
- test은 평가에 사용하는 데이터셋
- train_crop은 train 데이터에서 예측이 잘 안되는 이미지를 crop하여 저장한 데이터셋
📦level2-cv-datacentric-cv-03
┣ 📂.git
┣ 📂.github
┣ 📂aihub_utils
┃ ┣ 📜AIHub_format_to_competition.ipynb
┃ ┣ 📜coco2ufo.py
┃ ┣ 📜dataset.py
┃ ┣ 📜east_dataset.py
┃ ┗ 📜train.py
┣ 📂imgs
┃ ┣ 📜private_result.png
┃ ┣ 📜public_result.png
┃ ┗ 📜schedule.png
┣ 📂utils
┃ ┣ 📜crop_offline_augmentation.py
┃ ┣ 📜offline_augmentation.ipynb
┃ ┣ 📜qr.csv
┃ ┣ 📜random_split.py
┃ ┣ 📜show_data.py
┃ ┣ 📜show_difference.py
┃ ┗ 📜show_inference.py
┣ 📜.gitignore
┣ 📜.pre-commit-config.yaml
┣ 📜README.md
┣ 📜bboxes_dict.py
┣ 📜dataset.py
┣ 📜detect.py
┣ 📜deteval.py
┣ 📜east_dataset.py
┣ 📜inference.py
┣ 📜loss.py
┣ 📜metric.py
┣ 📜model.py
┣ 📜requirements.txt
┗ 📜train.py
- Augmentation를 적용한 base dataset을 구현한 파일
- base dataset을 받아서 score_map, geo_map을 반환하는 dataset 파일
- dice loss, geo loss를 계산하는 EASTLoss를 정의한 파일
- 학습에 사용되는 EAST Model 클래스를 구현한 파일
- Extractor로는 VGG16을 사용하며 merge와 output을 거쳐 score_map과 geo_map을 반환
- Argument 값을 통해 학습 파라미터들을 불러오고 train하는 파일
- 학습 완료된 모델을 통해 test set에 대한 예측 값을 구하고 이를 .csv 형식으로 저장하는 파일
- test set 이미지에 대한 infernece를 진행하여 score_map과 geo_map을 예측하고 bbox 좌표를 반환하는 파일
- precision, recall, f1score를 계산하는 파일
- validation set에 대한 score_map과 geo_map을 입력받아 bbox 좌표를 반환하는 파일
- validation set의 예측 bbox와 gt bbox를 반환하는 파일
- lanms==1.0.2
- numpy==1.24.4
- opencv-python==4.8.1.78
- shapely==2.0.2
- tqdm==4.66.1
- matplotlib==3.8.2
- albumentations==1.3.1
- pillow==10.0.1
- pandas==2.2.0
- torch==2.1.0
- torchvision==0.16.0
- scikit-learn==1.4.0
- wandb==0.16.2
- black==24.1.1
- ruff==0.2.0
- pre-commit==3.6.0
pip install -r requirements.txt
python train.py --data_dir [데이터저장경로]
python inference.py --model_dir [모델저장경로]