#Dataset 구성
# 원천 data 다운로드
AI hub: 한국인 감정인식을 위한 복합 영상
https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=82
위 주소에서 학습 데이터를 다운로드
Training 폴더 전체를 원천 폴더에 다운로드하고 압축을 해제시 아래와 같은 구조를 띈다
```
원천/
기쁨/
img1.jpg
img2.jpg
...
당황/
img1.jpg
img2.jpg
...
...
슬픔/
img1.jpg
img2.jpg
...
중립/
img1.jpg
img2.jpg
...
```
'기쁨', '당황', '분노', '불안', '상처', '슬픔', '중립' 총 7개의 감정으로 나누어지며 각 폴더당
기쁨: 59,988장 / 당황: 59,643장 / 분노: 59,696장 / 불안: 59,262장 / 상처: 59,389장 / 슬픔: 59,841장 / 중립: 59,233장 으로 구성된다.
# 데이터 전처리 배경 자르기
얼굴 표정 인식에는 사람의 얼굴 영역만 필요하므로 얼굴 영역을 제외한 배경이 잘린 이미지를 기준으로 수행한다.
각 감정별 json 파일에 있는 영역을 기준으로 /원천 폴더 아래에 있는 사진에서 얼굴 영역만 남긴다.
json 파일에 양식 오류가 발생할 경우에는 parse.error.log 파일에 기록한다.
이미지 파일에 오류가 있는 경우에는 crop.error.log 파일에 내역을 기록한다.
원천 데이터의 얼굴 표정 라벨링을 시행한 3인 판단이 모두 다른 경우에는 /crop/UNKNOWN 폴더에 별도로 분류한다. 해당 데이터들은 학습 데이터에 포함하지 않는다.
이미지 파일에 TRUNCATED ERROR가 있는 것들은 제외하여 학습에 사용하지 않는다.
```
crop/
UNKNOWN/
img1.jpg
img2.jpg
...
기쁨/
img1.jpg
img2.jpg
...
당황/
img1.jpg
img2.jpg
...
...
슬픔/
img1.jpg
img2.jpg
중립/
img1.jpg
img2.jpg
...
```
# Trainin을 위한 데이터셋 준비하기
얼굴 이미지들은 아래 코드로 data 폴더 아래에 [train, validation, test] 하위 폴더를 만들어 파일을 저장한다.
분할하는 비율은 train 80%, validation 10%, test 10%으로 하였으나 데이터의 양이 너무 커서 아래에 코드를 돌린 후
자체적으로 각 폴더에서 감정별로 train은 4500개를 뽑아서, val 과 test 는 500장씩 뽑아서 데이터셋을 구성함.
```
data/
train/
기쁨/
당황/
...
슬픔/
중립/
val/
기쁨/
당황/
...
슬픔/
중립/
test/
기쁨/
당황/
...
슬픔/
중립/
```
#데이터셋 구성
기쁨: 4,500 (train: 3,500 test: 500 val: 500)
당황: 4,500 (train: 3,500 test: 500 val: 500)
분노: 4,500 (train: 3,500 test: 500 val: 500)
불안: 4,500 (train: 3,500 test: 500 val: 500)
상처: 4,500 (train: 3,500 test: 500 val: 500)
슬픔: 4,500 (train: 3,500 test: 500 val: 500)
중립: 4,500 (train: 3,500 test: 500 val: 500)
상세 설명 및 코드는 기타 파일에 업로드하였습니다.