論文まとめ：Fast Emotion Recognition Based on Single Pulse PPG Signal with Convolutional Neural Network

# はじめに
MDPI applied sciencesより以下の論文
[1] M. S. Lee, et. al. "Fast Emotion Recognition Based on Single Pulse PPG Signal with Convolutional Neural Network"
のまとめ

論文へのリンク：
https://www.mdpi.com/2076-3417/9/16/3355

DEAP dataet（本論文で使用）へのリンク：
https://www.eecs.qmul.ac.uk/mmv/datasets/deap/

コード：
見当たらず

# 概要
- PPG(光電式容積脈波法）信号を使って感情を認識するしくみ
- 1D CNNモデルを用いる
- 前処理としてPPG信号を1.1秒間隔で区切り、それをその個人特有の最大値と最小値で正規化する
- DEAP datasetを用いたarousalとvalenceの高い・低いを２値分類するタスクにおいて、それぞれ75.3%, 76.2%を達成した


# 背景
1. introductionから気になる点のみまとめ

- 人の感情を理解することは human-computer interactionにおいて重要だ
- 画像から表情を認識する場合、「愛想笑い」など意思である程度変えられるため、本当の感情がわからない場合がある。その点、生体情報を用いると生の感情を得られる
- 生体情報からの感情推定において、手軽さを考えるとPPGを用いた手法が妥当。EEGは大掛かりな装置が必要であるが、PPGはwearable deviceで可能である
- 生体情報からの感情推定モデルは、古くはハンドメイドな特徴量を用いていたが、deep learning登場以後はこちらが主流となった
- deep learningを用いた手法もLSTMを用いるものやCNN, auto-encoderを用いるものなど様々なモデルが提案されている


# Arousal Valence emotion modelについて
ここでは2.1. Arousal Valence Emotion Modelをまとめ。
一般的に用いられる感情モデルは以下の２つ
- joy, sadなどの感情分類
- 複数次元による表現。以下の図参照。この場合、推定するのは各軸の数値か、あるいは軸などで区切られた領域か。

![スクリーンショット 2022-02-25 4.19.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/b303620a-9db4-c1ab-856f-37cab85afc4f.png)

以下は、valenceがhigh, low, neutralの場合のPPG信号の違いを表したもの。

![スクリーンショット 2022-02-25 4.42.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/213621d2-9dab-3c2f-cddd-0fce691addfb.png)

valenceの高低によって波形が異なることが見て取れる。

# PPGの単一派信号を用いた短期感情認識
ここでは3. Short-Term Emotion Recognition with Single-Pulse PPG Signalをまとめ。

概要にも書いたが、以下のような前処理を行う。詳細は後述。

![スクリーンショット 2022-02-25 4.21.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/30a1ef37-535b-eb9a-10bb-bbeb3484d7d8.png)

## PPGのraw dataを用いる

まず左から。今回のモデルはrawのPPGを用いている。つまり心拍の変動等の２次情報ではない。以下はrawのPPGデータの例。

![スクリーンショット 2022-02-25 4.36.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/9bb418ad-362f-fa10-cd01-cf4f6c8e9a68.png)

## 長期的変動の除去と単一波形への分割
PPGの波形は一般的に以下の図のように長期的変動が見られる。

![スクリーンショット 2022-02-25 4.46.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/373e80d5-d329-400b-e4bd-960bf2079f48.png)

これに対し、50次元までの多項式をフィッティングさせ、それを引くことで長期変動を低減させる。結果が以下。

![スクリーンショット 2022-02-25 4.47.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/cc45b2e2-dba6-2003-5c47-2d14f1e4f78c.png)

次に、波形のpeakを中心とする1.1秒を切り抜く。

## personal normalization
個人個人によって波形の大きさが違うため、この差を無くす。
具体的には、
$max\_{person}$: ある個人のPPGの最大値（全体を通した最大値か？）
$min\_{person}$: ある個人のPPGの最小値（全体を通した最大値か？）
$x\_i$: 入力PPGデータの i 番目
$\hat{x}\_i$: 正規化後のデータの i 番目
として、

```math
\hat{x}_i = \frac{x_i - min_{person}}{max_{person} - min_{person}} \times \alpha
```

とする。αは1000とする。

## 1D-CNNモデル
こちらは以下のような一般的な1d-CNNモデル。

![スクリーンショット 2022-02-25 5.00.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/245ce3cf-74c5-fd65-58af-5a0c29b0dc0e.png)

conv, batchnorm, pooling, ReLUを２set行い、その後全結合１層。

入力は 140 x 1 次元。2回たたみ込んで 20channel x 35 x 1の700次元の特徴量となる。

全結合層は600 node。

# DEAP datasetを用いたデータ作成

- PPGを含む様々な生体情報からなる
- 被験者は19歳から37歳の32人で、半分は女性
- 被験者は４０種類の１分動画を見る。被験者は動画のarousal, valence, dominance, like/dislike, familiarityそれぞれの９レベルを申告することで、アノテーションを得る
- 今回はレベル５でarousal, valenceそれぞれをhigh, lowにわける

# 実験結果

DEAP datasetを用いた場合の他のモデルとのaccuracyの比較は以下。

![スクリーンショット 2022-02-25 6.45.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116706/3596a261-84ed-fff4-9648-8be9d85d3562.png)

PPGのみを使っても他の手法と比肩しうるか。recognition termは1.1sと短い。（これに関しては後述）


# 感想
PPGのみであり、かつ軽量なモデルであるにも関わらずEEGと比肩しうる性能を達成している。これで応答が早ければ、リアルタイムの推論モデルとして利用価値が高い。

この点、モデルの入力するtermは1.1secと短い。しかし、前処理に多項式フィティングがあるので、実際はかなりの長さが必要。しかしこれも現在の1.1sec + 過去の n x 1.1secで行う、などで対応できるか？