👑 |
1 |
2 |
3 |
4 |
신동혁 |
김도연 |
김다운 |
서상혁 |
가상민 |
- AMD Ryzen Threadripper 3960X 24-Core Processor
- NVIDIA GeForce RTX 3090
- CUDA Version 12.2
- albumentations==1.3.1
- numpy==1.26.0
- timm==0.9.12
- torch==2.1.0
- torchvision=0.16.0
- scikit-learn=1.3.2
이번 대회는 computer vision domain에서 가장 중요한 태스크인 이미지 분류 대회입니다.
이미지 분류란 주어진 이미지를 여러 클래스 중 하나로 분류하는 작업입니다. 이러한 이미지 분류는 의료, 패션, 보안 등 여러 현업에서 기초적으로 활용되는 태스크입니다. 딥러닝과 컴퓨터 비전 기술의 발전으로 인한 뛰어난 성능을 통해 현업에서 많은 가치를 창출하고 있습니다.
그 중, 이번 대회는 문서 타입 분류를 위한 이미지 분류 대회입니다. 문서 데이터는 금융, 의료, 보험, 물류 등 산업 전반에 가장 많은 데이터이며, 많은 대기업에서 디지털 혁신을 위해 문서 유형을 분류하고자 합니다. 이러한 문서 타입 분류는 의료, 금융 등 여러 비즈니스 분야에서 대량의 문서 이미지를 식별하고 자동화 처리를 가능케 할 수 있습니다.
이번 대회에 사용될 데이터는 총 17개 종의 문서로 분류되어 있습니다. 1570장의 학습 이미지를 통해 3140장의 평가 이미지를 예측하게 됩니다. 특히, 현업에서 사용하는 실 데이터를 기반으로 대회를 제작하여 대회와 현업의 갭을 최대한 줄였습니다. 또한 현업에서 생길 수 있는 여러 문서 상태에 대한 이미지를 구축하였습니다.
이번 대회를 통해서 문서 타입 데이터셋을 이용해 이미지 분류를 모델을 구축합니다. 주어진 문서 이미지를 입력 받아 17개의 클래스 중 정답을 예측하게 됩니다. computer vision에서 중요한 backbone 모델들을 실제 활용해보고, 좋은 성능을 가지는 모델을 개발할 수 있습니다. 그 밖에 학습했던 여러 테크닉들을 적용해 볼 수 있습니다.
본 대회는 결과물 csv 확장자 파일을 제출하게 됩니다.
- input : 3140개의 이미지
- output : 주어진 이미지의 클래스
F1 score는 Precision과 Recall의 조화 평균을 의미합니다. 클래스마다 개수가 불균형할 때 모델의 성능을 더욱 정확하게 평가할 수 있습니다. 수식은 다음과 같습니다
- 참고자료 Macro F1 score는 multi classification을 위한 평가 지표로 클래스 별로 계산된 F1 score를 단순 평균한 지표입니다.
학습된 이미지의 low level과 high level의 영역을 찾아보며, 각 모델이 학습되어지는 곳을 확인한 결과입니다. 이는 문서를 모델이 학습할때, gray스케일으로 적용시에 coner를 잘 탐지하고 있지만, 모델학습시에 영향이 가는 것이 있음을 보입니다. 또한, 학습되어진 데이터들의 클래스가 3, 4, 7, 14에서 유난히 성능 저하가 발생한다는 것을 볼 수 있습니다. 클래승별 특징을 잡는 것뿐만이 아니라, 어떤 클래스(타겟)에 따라서도 모델 성능의 영향을 준다는 것을 확인할 수 있습니다.
PyImageSearch - image classification
-
Pytorch Image classification
-
Image alignment 2. https://pyimagesearch.com/2020/08/31/image-alignment-and-registration-with-opencv/
-
How to build a DL image dataset 3. https://pyimagesearch.com/2018/04/09/how-to-quickly-build-a-deep-learning-image-dataset/
-
Image Classification and Transfer Learning 4. https://pyimagesearch.com/2021/10/11/pytorch-transfer-learning-and-image-classification/
-
CNN Training 5. https://pyimagesearch.com/2021/07/19/pytorch-training-your-first-convolutional-neural-network-cnn/