2020 국제차세대융합기술학회 트라우마 초기 진단을 위한 음성 기반 감정 분류 방법 (☞゚ヮ゚)☞ 논문 보러가기
IHCI 2020 Screening Trauma Through CNN-Based Voice Emotion Classifiaction (☞゚ヮ゚)☞ 논문 보러가기
김나혜 | 김소의 | 목지원 | 유수경 | 한나연 |
---|---|---|---|---|
Github | Github | Github | Github | Github |
-
트라우마에 대한 편견으로 인해 병원 방문을 꺼리는 사람들이 많고 자신이 가진 트라우마에 대해 스스로 인지하지 못해 진단과 치료를 놓지는 경우가 많다.
-
음성 데이터를 활용한 성별 및 연령 분류, 음성 감정인식 등 활발한 연구가 진행되고 있으며 본 연구에서는 거부감이 없고 자연스러운 환경에서 비접촉식으로 얻을 수 있는 음성 데이터로 딥러닝 모델을 학습했다.
-
음성 데이터를 통해 트라우마 초기 진단에 도움을 줄 수 있다.
-
국내 방송 영화 추출 데이터셋
총 100명(남자 40명, 여자 60명), 2~11s 길이의 한국어 음성 데이터로 구성됨
6가지 기본 감정(happy, sad, disgust, angry, surprise, fear)으로 구성됨
-
트라우마 감정 정의
6가지 기본 감정(happy, sad, disgust, angry, surprise, fear) 중 fear, sad를 트라우마를 가진 감정으로, neutral, happy를 트라우마가 아닌 감정으로 대체함
① 음성을 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)는 트라우마가 아닌 감정으로 사용
- VGG-13
- VGG-16
- VGG-19
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
Model | Test accuracy |
---|---|
VGG-13 | 98.96% |
Layer-14 | 98.49% |
VGG-16 | 96.42% |
Resnet-50 | 87.35% |
confusion matrix
ROC curve
- pre-processing.ipynb : 음성 데이터 전처리
- VGG_train_test.ipynb : VGG모델 학습 및 성능 평가
(git bash)
git clone https://github.com/HanNayeoniee/Trauma-Detector.git
(anaconda prompt)
pip install -r requirements.txt