Skip to content

Voice-based emotion classification for screening trauma

Notifications You must be signed in to change notification settings

mjw2705/Trauma-Detector

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trauma-Detector

트라우마 초기 진단을 위한 음성 기반 감정 분류

image image

Authors

2020 국제차세대융합기술학회 트라우마 초기 진단을 위한 음성 기반 감정 분류 방법 (☞゚ヮ゚)☞ 논문 보러가기

IHCI 2020 Screening Trauma Through CNN-Based Voice Emotion Classifiaction (☞゚ヮ゚)☞ 논문 보러가기

김나혜 김소의 목지원 유수경 한나연
Github Github Github Github Github

Approach

  • 트라우마에 대한 편견으로 인해 병원 방문을 꺼리는 사람들이 많고 자신이 가진 트라우마에 대해 스스로 인지하지 못해 진단과 치료를 놓지는 경우가 많다.

  • 음성 데이터를 활용한 성별 및 연령 분류, 음성 감정인식 등 활발한 연구가 진행되고 있으며 본 연구에서는 거부감이 없고 자연스러운 환경에서 비접촉식으로 얻을 수 있는 음성 데이터로 딥러닝 모델을 학습했다.

  • 음성 데이터를 통해 트라우마 초기 진단에 도움을 줄 수 있다.

Dataset

  • 국내 방송 영화 추출 데이터셋

    총 100명(남자 40명, 여자 60명), 2~11s 길이의 한국어 음성 데이터로 구성됨

    6가지 기본 감정(happy, sad, disgust, angry, surprise, fear)으로 구성됨

  • 트라우마 감정 정의

    6가지 기본 감정(happy, sad, disgust, angry, surprise, fear) 중 fear, sad를 트라우마를 가진 감정으로, neutral, happy를 트라우마가 아닌 감정으로 대체함

Pre-processing

① 음성을 0.1s 단위로 shift하며 2s 단위로 재구성

-> 데이터 간의 길이 차이를 없애고 데이터의 수를 늘림

② STFT(Short-time Fourier Transform) 후 spectrogram 수행

1차원 음성 데이터를 2차원 이미지로 변환함.

STFT는 시계열 데이터를 일정 시간 구간으로 나눈 후, 해당 구간의 데이터를 푸리에 변환하는 방법

2s 길이의 데이터를 sampling rate=1024로 설정해 FFT 수행 -> 샘플 512개 만큼 overlap하며 shift -> 모든 데이터가 0~1 사이의 값을 가지도록 min-max scaler를 사용해 스케일링

데이터 전처리 과정

음성 데이터 스펙트로그램 예시

(a) fear, (b) sad, (c) happy, (d) neutral에 해당하며 (a), (b)는 트라우마 감정, (c), (d)는 트라우마가 아닌 감정으로 사용

Model

  • VGG-13
  • VGG-16
  • VGG-19

Post-processing

window size 크기 안의 예측값이 모두 1일 때 최종적으로 1로 예측하고, 모두 0일 때 0으로 예측한다.

window size=4일 때 후처리를 통한 최종 예측값 :

(1, 1, 1, 1) -> 1

(1, 1, 1, 0) -> 1

(1, 1, 0, 0) -> 1

(1, 0, 0, 0) -> 1

(0, 0, 0, 0) -> 0

Accuracy

Model Test accuracy
VGG-13 98.96%
Layer-14 98.49%
VGG-16 96.42%
Resnet-50 87.35%

confusion matrix

ROC curve

Files

Installation

(git bash)
git clone https://github.com/HanNayeoniee/Trauma-Detector.git

(anaconda prompt)
pip install -r requirements.txt

About

Voice-based emotion classification for screening trauma

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%