3.5기(200104~)/감정인식

감정인식 프로젝트 1주차

KAU-Deeperent 2020. 3. 7. 15:34

감정인식 프로젝트 1주차(1).pptx
5.96MB

 

발표자 : 황선경

 

 

1. 구체적인 주제 설정

 

은익체전에서 불특정다수에 적용가능한 감정인식 프로젝트를 계획.

단순히 표정을 통해 감정을 인식하는 것보다 이를 게임이나 미션으로 연관시키면 흥미를 더 끌 수 있을 것으로 보고

아이디어 회의를 통해 '웃음참기 챌린지'와 같이 여러가지 영상 시청 후 표정 변화가 없을 수록 높은 점수를 받는 미션을 진행하기로 결정

 

이 영상에서와 같이 실시간으로 인물의 표정을 통해 감정을 인식(뒤에 있는 Brain Wave Activities는 연관 X)

 

 

2. 진행상황

 

이번 주는 이 프로젝트에서 사용할 네트워크를 선정하는 것이 목표

 

https://paperswithcode.com/sota 라는 사이트에서 우리의 주제와 적합한 네트워크를 조사한 뒤

후보로 XceptionNet , MobileNet, Yolo v3을 정하고 비교하였다.

 

XceptionNet, MobileNet같은 경우에는 모델로 정의된 것이 아니라 특징을 추출하는데 쓰이는 backbone으로

모두 small deep learning 조건 중 하나인 depthwise separable 방식을 네트워크에 적용한 것이었다.

realtime에서 사용하기 위해서는 파라미터 수가 적은 것이 좋은데

depthwise separable 방식을 통해 연산량을 8배 정도 줄일 수 있다고 한다.

 

 

Depthwise separable convolution에 대해 더 설명하자면

깊이 분리가 가능한 컨벌루션으로 depthwise convolution 뒤에 pointwise convolution이 뒤따르는 형태인데

채널 별 nxn 공간 컨벌루션으로 구성된다.

일반적인 convolution feature map의 공간 방향 및 채널 방향으로 동시에 convolution을 실시하는 반면, 

Depthwise Separable Convolution은 공간 방향의 convolution(depth-wise convolution) 채널 방향의convolution(point-wise convolution)을 분리(factorize)해서 따로 계산한 후에 합친다.  , 연결 수가 적고 모델이 가벼워짐을 알 수 있다.

 

다음으로 XceptionNet, MobileNet을 비교한 결과

MobileNet이 FC레이어의 비율도 상당히 줄였고 모바일 디바이스에서 사용될 목적으로 설계됨에 따라 속도면에서 더 좋을 것으로 판단했다.

이 외에도 채널을 축소하고, 입력을 압축시키는 기법을 사용해 더욱 경량화함을 확인하여 

MobileNet을 backbone으로 사용하기로 결정했다.

 

 

 

 

다음은 Yolo v3에 대한 설명이다.

YOLO(You Only Look Once)는 각 이미지를 S x S의 눈금으로 나눈다.

각 눈금은 N 개의 경계 상자와 신뢰를 예측하고 

신뢰도는 경계 상자의 정확성과 경계 상자에 실제로 객체가 포함되는지 여부 (클래스에 관계없이) 반영한다.

두 클래스를 결합하여 예측 된 상자에 각 클래스가있을 확률을 계산할 수 있다. 따라서 총 SxSxN 상자가 예측됨.

CNN에서는 런타임에서 이미지 한번만 실행하는 것에 반해 YOLO는 전체 이미지를 한 번에 보기 때문에 초고속이고 실시간이다.

이러한 점이 realtime에서 사용할 우리의 프로젝트와 잘 맞다고 생각하여 Yolo v3을 선정했다.

 

 

그래프를 보면 Faster RCNN이나 SSD와 같은 모델이 Yolo보다 정확도 면에서는 앞설 수 있지만

이번 프로젝트에서는 realtime에 초점을 두고 yolo 이용하기로 결정했다.

또한 우리 팀은 미리 학습된 weight쓰는 것이 우리가 학습시키는 것보다 나을 것 같아서 미리 학습된 weight쓰는 것으로 결정

테스트해보고 성능이 안좋으면 상용데이터를 이용해서 추가학습시킬 예정

 

 

우리같은 경우는 네트워크도 이미 구현되어 있고, 

테스트해보고 성능이 안좋을 시에 추가학습을 시킬꺼라 가능한 빠르게 진행할 계획

은익체전 날짜가 나오면 세부계획을 다시 짤 예정