Skip to content

Ponitor/AI_serving

Repository files navigation

Emotion Recognition for PONITOR

PONITOR에서 보이스피싱 피해자를 탐지하는데 감정 인식은 중요한 기술이다. 하지만 코로나19로 인해 마스크 착용이 일상화된 지금, 표정만으로 감정을 탐지하는 것은 정확도가 낮았다. 따라서 표정뿐만아니라 몸짓, 장면 맥락까지 고려한 emotion recognition 모델을 사용하게 되었다.

image
관련 기술블로그 참고
두두의 벨로그_PONITOR

Pipeline

다음의 논문에서 사용하는 CNN 모델을 사용하였다. 그 구조와 해당 논문은 다음과 같다. Pipeline

Model Pipeline (Image source)

첫번째 모듈에서는 YOLO를 이용하여 Body를 detect하고 여기서 body feature를 추출한다. 두번째 모듈에서는 이미지 전체의 image(context) feature를 추출한다. Fusion network에서는 앞서 추출한 두가지의 feature를 combine하여 최종 결과값인 vad값과 카테고리를 예측한다.


Emotic Dataset

다음의 EMOTIC dataset을 사용하였다.
EMOTIC dataset'

image



Usage

pre 파일에는 EMOTIC dataset을 다운로드받아 전처리한 데이터셋들이 npy형식으로 저장되어있어 별도로 데이터를 다운로드 받고 전처리할 필요가 없다. 또한 학습이 완료된 모델은 다음에서 다운로드 받을 수 있다.

'Trained model and thresholds'

다운로드 받은 후 model 폴더 안에 저장해 놓고 yolo_inference.py를 실행시킬 때 experiment_path에서 경로를 입력하면 별도로 학습시키지 않아도 저장된 모델을 불러와 바로 test할 수 있다.

Test video

Peacebite의 김세림, 강연수(본인) 팀원이 직접 촬영한 테스트 영상과 보이스피싱 피해자 이미지는 아래에서 다운로드 받을 수 있다.

Voice Phishing Test Inputs



To perform inference:

  1. 비디오 파일을 inference하는 코드이다.
>  python yolo_inference.py --experiment_path proj/debug_exp --video_file C:\emotic-master\assets\video_file.mp4

experiment_path : experiment directory의 경로명으로 학습된 모델이 저장되어 있음

video_file: 입력 비디오 파일의 경로

실행 결과 비디오는 \model\results 에서 result_vid.mp4 형식으로 확인할 수 있다.



  1. 이미지 파일을 inference하고 싶다면 다음의 코드를 실행시킨다.
>  python yolo_inference.py --experiment_path C:\emotic-master\model  --inference_file C:\emotic-master\assets\friends.jpg

experiment_path : experiment directory의 경로명으로 학습된 모델이 저장되어 있음

inference_file: 입력 이미지 파일의 경로 정보가 적혀있는 txt파일의 경로 (assets/inference_file.txt 참고)

Results

Result GIF 1



Acknowledgements



Context Based Emotion Recognition using Emotic Dataset

Ronak Kosti, Jose Alvarez, Adria Recasens, Agata Lapedriza
[Paper] [Project Webpage] [Authors' Implementation]

@article{kosti2020context,
  title={Context based emotion recognition using emotic dataset},
  author={Kosti, Ronak and Alvarez, Jose M and Recasens, Adria and Lapedriza, Agata},
  journal={arXiv preprint arXiv:2003.13401},
  year={2020}
}



Reference

Context Based Emotion Recognition using EMOTIC Dataset

Phone Detection


코랩에서 실행 https://colab.research.google.com/drive/1Mkf10zWwA1xrKG2m34_5f4gsSUUDgHFy?usp=sharing

YOLOv5
image


Dataset
Roboflow(https://roboflow.com/)

AI Model Serving

FastAPI

실시간 서비스인 포니터의 특성상 연산 속도가 중요하기 때문에 속도측면에서 가장 빠르다고 평가받는 FastAPI를 이용해 모델을 서빙했다.
image

About

emotion model serving using FastAPI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages