---
# System prepended metadata

title: 多模態特徵

---

# 多模態特徵
* Gittea：http://140.115.54.26:4000/110522166/VirtualTherapist

## 目標與進度
- 特徵擷取
    - [x] Text (768, 語意)
    - [x] Audio (193, 語音)
    - [x] Face (256, 臉部點位-微表情)
    - [x] Heart Rate Variability (23, HRV 偵測)

![image](https://hackmd.io/_uploads/rk3OXELq6.png =70%x)
![image](https://hackmd.io/_uploads/rkK_Xsdzkl.png)

---
## 特徵擷取
### Text (768, 語意)
- Speech Recognition：https://pypi.org/project/SpeechRecognition/
- BERT：https://leemeng.tw/attack_on_bert_transfer_learning_in_nlp.html

1. 使用 **語音辨識(Speech Recognition - Google Speech Recognition)**，取得影片中文字內容
2. 使用 **BERT** 將文字轉換為 Word Embedding (Dimension 768)


### Audio (193, 語音)
> 順序根據程式輸出
1. **Mel Spectrogram 梅爾標度譜圖**
2. **Mel-Frequency Cepstral Coefficients (MFCCs) 梅爾頻率倒譜係數**
3. **Spectral Contrast 光譜對比度**：頻譜圖 S 的每一幀都被分割為子帶。對於每個子帶，透過比較頂部分位數（峰值能量）與底部分位數（谷能量）的平均能量來估計能量對比。高對比度值通常對應於清晰的窄頻訊號，而低對比度值對應於寬頻雜訊。
4. **Chromagram** 根據波形或功率譜圖計算色譜圖
5. **Tonal Centroid Features (Tonnetz) 色調質心特徵**：將色度特徵投影到 6 維基礎上，將純五度、小三度和大三度各自表示為二維座標。


### Face (256, 臉部點位-微表情)


### Heart Rate Variability (23, HRV 偵測)
> .
- RPPG 框架：https://github.com/phuselab/pyVHR
- HRV 分析框架：https://github.com/Aura-healthcare/hrv-analysis

1. 使用 **pyVHR** (RPPG 方法) 捕捉影片中人物皮膚像素強度變化來測量脈搏率來監測血量變化，進一步得到 **bpm** (beats per minute, 每分鐘的心跳次數)
2. 使用 **hrv-analysis** (HRV 分析框架) 對數據進行分析，得到 **23 個 HRV 指數**
3. 特徵意義 (https://aura-healthcare.github.io/hrv-analysis/hrvanalysis.html)：
- **Time domain**
    1. **Mean_NNI (O)**：RR 間隔的平均值。
    1. **SDNN (O)**：連續正常心跳之間的時間間隔的標準差（即 RR 間隔）。
    1. **SDSD**：相鄰 RR 間隔之間差異的標準差
    1. **NN50 (O)**：大於 50 ms 的連續 RR 間隔的間隔差數。
    1. **pNN50 (O)**：nni_50（連續 RR 間隔大於 50 ms 的間隔差數）除以 RR 間隔總數所得的比例。
    1. **NN20 (O)**：大於 20 ms 的連續 RR 間隔的間隔差數。
    1. **pNN20 (O)**：nni_20（連續 RR 間隔大於 20 ms 的間隔差數）除以 RR 間隔總數所得的比例。
    1. **RMSSD (✓)**：相鄰 NN 區間之間差異平方和的平均值的平方根。反映對 hrv 的高頻（快速或副交感神經）影響（即影響從一個節拍到下一個節拍的較大變化的影響）。
    1. **Median_NN (O)**：RR 間隔之間連續差值的中位數絕對值。
    1. **Range_NN**：最大和最小 nn_interval (正常竇性心搏間期) 之間的差。
    1. **CVSD**：連續差值的變異係數等於 rmssd 除以 mean_nni。
    1. **CV_NNI**：變異係數等於 sdnn 除以mean_nni 的比率。
    1. **Mean_HR (✓)**：平均心率。
    1. **Max_HR**：最大心率。
    1. **Min_HR**：最小心率。
    1. **STD_HR**：心率的標準差。
- **Frequency domain**
    1. **LF (X)**：低頻（0.04 至 0.15 Hz）HRV 的變異數（= 功率）。反映了交感神經和副交感神經活動的混合。
    1. **HF**：高頻 HRV 的變異數 ( = power )（預設為 0.15 至 0.40 Hz）。反映副交感神經（迷走神經）活動所導致的逐搏變異性的快速變化。
    1. **VLF (✓)**：極低頻（預設為 0.003 至 0.04 Hz）HRV 的變異數 ( = power )。反映心臟產生的內在節律，主要由交感神經活動調節。
    1. **LF/HF ratio (✓)**：一些研究者有時會使用 lf/hf 比率作為交感神經/迷走神經平衡的定量鏡子。
    1. **LFnu**：標準化低頻功率。
    1. **HFnu**：標準化高頻功率。
    1. **Total_Power (✓)**：總功率密度譜
![](https://hackmd.io/_uploads/BypT4Jtf6.png)


### Eye movement
> 順序根據程式輸出

1. Fixation duration Mean：注視事件的平均持續時間。 固視是指眼睛凝視相對靜止、聚焦在一個點上的時期。 平均值是根據資料集中的所有註視持續時間計算的。
1. Fixation duration Standard deviation：表示注視持續時間的標準差。 標準差是一組值的變化量或離散度的量測。 低標準差意味著這些值往往接近平均值，而高標準差則表示這些值分佈在更廣泛的範圍內。
1. Saccade duration Mean：眼跳的平均持續時間。 掃視是眼睛在註視點之間的快速移動。 該值代表這些快速目光轉變的平均長度。
1. Saccade duration Standard deviation：掃視持續時間的標準偏差，指示這些快速眼球運動的長度的變化。
1. Fixation Frequency：此數值表示注視頻率，計算方式為注視總數除以記錄總時間。 它表示眼睛停止聚焦於某一點的頻率。
2. Fixation duration Max：注視事件的持續時間的最大值。
3. Saccade Frequency：眼跳的頻率，計算方式為眼跳次數除以總時間。 該值顯示眼睛從一個點移動到另一點的頻率。
