Level1 P-Stage는 카메라로 촬영한 사람 얼굴 이미지의 마스크 착용 여부를 판단하는 Task를 통해 프로젝트를 진행하게 됩니다. 이를 통해 실습 위주의 Practical Skill들을 학습하는 것이 목표이고, 머신러닝 파이프라인을 전체적으로 경험할 수 있습니다.
Competition을 통해 얻을 수 있는 것
내가 하고자 하는 것에 방향성을 부여한다.
문제가 있다면 문제를 정의할 수 있다.
정의된 문제로부터 데이터를 통해서 해결할 수 있는가를 고민한다.
데이터를 통해서 해결할 수 있다면, 이를 AI로 해결할 수 있는 것인지 고민을 한다.
AI로 해결할 수 있다면 어떤 모델로 어떤 파라미터로 접근하는 것이 적합한지 스스로 생각하고 판단한다.
2 Problem Definition(문제 정의)
내가 지금 풀어야 할 문제가 무엇인가?
이 문제의 Input과 Output이 무엇인가?
이 솔루션은 어디서 어떻게 사용되어지는가?
이런 접근으로 학습해야 다른 문제가 나오더라도 접근하는 접근법을 알 수 있게 될 것.
데이터 셋
제공되는 데이터셋은 남녀로 구성되어 있고, 연령은 20대 ~ 70대 입니다. 자세한 내용은 다음과 같습니다.
전체 사람 명 수 : 4,500
한 사람당 사진의 개수: 7 [마스크 착용 5장, 이상하게 착용(코스크, 턱스크) 1장, 미착용 1장]
이미지 크기: (384, 512)
이 데이터셋을 통해 마스크 착용여부, 성별, 나이를 기준으로 총 18개의 class를 예측해야 합니다.
평가 방법은 F1 Score를 통해 진행합니다.
프로젝트는 오는 수요일(23)부터 리더보드에 제출하여 평가를 받을 수 있고, 그 전까지 강의를 통해 프로젝트에 대한 기본적인 개념을 잡을 수 있을 것 같습니다.
✨ EDA(Exploratory Data Analysis)란?
탐색적 데이터 분석으로, 데이터를 이해하기 위한 노력이다.
EDA는 우리가 분석하고자 하는 대상에 대해 가지는 의문점을 분석하는 것!!
그러므로 EDA는 어떤 도구를 사용하여 분석하든지 상관없다.
✨ Image란?
시각적 인식을 표현한 인공물
이미지는 (width, height, channel)의 정보를 가지고 있으며, 채널은 (R, G, B)의 정보를 가지고 있다.
Input + Model = Output
✨ Vanilla 한 데이터를 원하는 모델에 맞게 일반화, 수정하는 작업을 통해 새 DataSet형태로 변환이 필요
Pre-processing
Resize
Bounding box
Data Augmentation
Data Feeding
먹이를 준다 → 대상의 상태를 고려해서 적정한 양을 준다.
Dataset 생성 능력 비교
transform1 = transforms.Compose([ transforms.ToTensor(), transforms.RandomRotation([-8,8]), transforms.Resize([1024,1024]) ]) transform2 = transforms.Compose([ transforms.ToTensor(), transforms.Resize([1024,1024]), transforms.RandomRotation([-8,8]) ])
transformer1
은 회전 후 크기 확대, transformer2
는 크기 확대 후 회전
transformer2
가 시간이 더 오래 걸린다.
DataLoader
Dataset
__len__
, __getitem__
을 구현해야 한다.DataLoader
Sampler
collate_fn