Boostcamp AI Tech

[Boostcamp Day-15] Image Classification - Overview

ju_young 2021. 8. 24. 03:49
728x90

Task Description

Overview

카메라로 비춰진 사람 얼굴 이미지 만으로 이사람이 마스크를 쓰고 있는지, 쓰지 않았는지, 정확히 쓴 것이 맞는지 자동으로 가려낼 수 있는 시스템이 필요하다.

Evaluation Description

Submission

  • 학습된 모델은 테스트 셋을 사용하여 성능을 평가한다.
  1. 노트북 파일을 참고
  2. TBA with baseline
    • 모델의 추론에 필요한 라이브러리를 설치
    • inference.py 파일을 이용하여 학습된 모델의 예측값을 산출
  • submission.csv 파일은다음과 같은 포맷으로 구성 되어야한다.
    1. 각 이미지들에 대해서 mask_class(ans)를 예측한 값이 콤마(,)로 구분된 형태이다.
    2. 제출 파일은 imageID, ans 형식으로 헤더를 포함하여야 한다.
    3. 본 대회 제출은 파일 제출 형식(서버 제출 기능 미제공)만 제공된다.

Evaluation

  • Submission 파일에 대한 평가는 F1 Score 를 통해 진행한다.

Baseline code description

Components

  • dataset.py
    • 마스크 데이터셋을 읽고 전처리를 진행한 후 데이터를 하나씩 꺼내주는 Dataset 클래스를 구현한 파일
    • 이 곳에서 나만의 Data Augmentation 기법들을 구현하여 사용할 수 있다.
  • loss.py
    • 이미지 분류에 사용될 수 있는 다양한 Loss 들을 정의한 파일이다.
    • 이외에 성능 향상을 위한 다양한 Loss를 정의할 수 있다.
  • model.py
    • 데이터를 받아 연산을 처리한 후 결과 값을 내는 Model 클래스를 구현하는 파일
    • 이곳에서 다양한 CNN 모델들을 구현하여 학습과 추론에서 사용할 수 있다.
  • train.py
    • 실제로 마스크 데이터셋을 통해 CNN 모델 학습을 진행하고 완성된 모델을 저장하는 파일
    • 다양한 hyperparameter 들과 커스텀 model, data augmentation 등을 통해 성능 향상을 이룰 수 있다.
  • inference.py
    • 학습 완료된 모델을 통해 test set에 대한 예측 값을 구하고 이를 .csv 형식으로 저장하는 파일이다.
  • evaluation.py
    • inference.py를 통해 나온 예측 값 파일을 GT(Ground Truth)와 비교하여 score를 산출하는 파일이다.

Dataset description

모든 데이터셋은 아시아인 남녀로 구성되어 있고 나이는 20대부터 70대까지 다양하게 분포하고 있다.

  • 전체 사람 명 수 : 4,500
  • 한 사람당 사진의 개수 : 7 [마스크 착용 5장, 이상하게 착용(코스트, 턱스크) 1장, 미착용 1장]
  • 이미지 크기 : (384, 512)

60% 사람들은 학습 데이터셋, 20%는 public 테스트셋, 나머지 20%는 private 테스트셋으로 사용된다.

 

진행중인 대회의 리더보드 점수는 public 테스트셋으로 계산된다. 그리고 마지막 순위는 private 테스트셋을 통해 산출한 점수로 확정된다. private 테스트셋의 점수는 대회가 진행되는 동안 볼 수 없다.

 

총 18개의 클래스를 예측해야하며 결과값으로 0~17에 해당되는 숫자가 각 이미지 당 하나씩 나와야한다.

728x90