# 210823 피어세션
## 해야 할 것
- EDA
## 데이터 분석
### 입력 값 분석
- train => age, gender, race
- 각 폴더에 image가 여러개 존재
- 전부 정면
- 올바르게 쓴 경우는 마스크 색깔만 다름
### EDA
- 각 이미지 파일에 함정이 존재한다. .\_mask.jpg등 불러오면 안되는 파일이 존재, jpg와 png가 존재
- 분석중 mask 1,2,3 을 전부 mask로 통일
- mask/normal/incorrect mask비율이 5 : 1 : 1여서 F1 score를 사용하는 듯
- data augmentation해야 될 거 같다 (데이터가 너무 적다ㅠ)
- 얼굴 중앙만 가져오자
- 아이디 중복은 사실 이미지 분류를 하는데 큰 의미가 없다. (아이디로 EDA를 할 필요가 없어 보인다)
- 학습할 때 필요없다. (info name이 겹치면 문제겠지만 겹칠일이 없다)
- gender, race, age는 feature로 사용할 수 없다
- gender를 먼저 구분하고 다음에 race를 구분해도 될까요? -> 가능
- gender와 race의 관계를 봐라? -> 근데 의미없어 보인다 => data augmentation에서 비율 사용 가능
- 한쪽만 데이터가 많으면 안 좋을 수 있다. 데이터의 균형을 맞춰주자
- female: 1658, male: 1042 로 데이터가 존재
- mask : incorrent_mask : no_mask = 5 : 1 : 1
- 이미지의 경향성을 분석
## 기타
- VS code에서 AI stage 서버 연결해서 여는 방법
- 결과값을 어떻게 출력하는가?
- 3종류의 모델으로 분류 (multi class classification)
- 모델을 3개를 만드는 것이 아닌 FC layer를 3*2*3 으로 쌓아서 분류
- 18개의 결과값으로 출력
- 얼굴을 인식하고 분류한다
- Gray scale를 쓰는게 좋은가?
- 쓴다는 거 자체가 손실데이터를 쓴다는 의미다.
- seed를 잘 설정해야한다. random seed는 항상 설정해 놓자!
- 설정해놓은 seed를 동일하게 계속 사용해서 성능 비교! (근본 42..메모..)
- EasyDict사용할 수 있다
- 탄탄하게 합시당~~!!!
## Reference
* [트랜스포머 ViT](https://huggingface.co/transformers/model_doc/vit.html)
* [ViT in Pytorch](https://github.com/lucidrains/vit-pytorch)
* [Mask detector](https://github.com/waittim/mask-detector)
* [Face Mask Detector with OpenCV](https://www.pyimagesearch.com/2020/05/04/covid-19-face-mask-detector-with-opencv-keras-tensorflow-and-deep-learning/)