---
# System prepended metadata

title: 脈搏偵測數據採集 (ITRI 四月)

---

# 脈搏偵測數據採集 (ITRI 四月)
- [name=作者：Jeff Liao, Ray Hsu]
- [time=Tue, Apr 20, 2021 15:10]

## 目錄
[TOC]
## 關於脈搏
- 脈搏與心臟跳動次數一樣
- 以下為正常脈搏每分鐘跳動次數
    ||正常人|老人|嬰兒|幼兒|
    |-|-|-|-|-|-|-|-|-|
    |每分鐘 (次)|60-100|55-60|120-140|90-100|

## 影片放大原理重點 (EVM)
### 架構圖
![](https://i.imgur.com/ID5GlAn.png =640x)
### Spatial Decompision
- ++**Laplacian Pyramids**++
    - 紀錄 Gaussian Pyramids 每一上下層之差異
- Gaussian Pyramids
    - 使用 Gaussian kernel 卷積，逐步下採樣
### Temporal Processing
- ++**Ideal filter**++ : 顏色放大
- Buttorworth filter : 動作放大
- IIR filter : 動作放大與顏色放大

## 頻率擷取技術重點
### 架構圖
![](https://i.imgur.com/Eh0Pzs4.png =480x)
### 快速傅立葉轉換 (FFT)
- 快速計算離散傅立葉轉換 (DFT)
- 把DFT矩陣分解為稀疏矩陣之積以快速計算變換
- DFT 複雜度 O(n^2) -> O(nlogn)

### 獨立成分分析 (ICA) -> FastICA
- 與 PCA 相似，用來降維與降躁
- 收斂速度較 ICA 快

## 實作流程
### [1] 拍攝手腕影片
- 側放手腕
- 橫放鏡頭 (寬>高)
- 鏡頭對準 RoI，並預留手腕前後區域

以下為示意圖：
![](https://i.imgur.com/Y6v4QvT.png =360x)
紅色區域為較易可得受試者之脈搏頻率，**但由於每位受試者之身體構造不一，難以確定可測得脈搏之位置。**

以下為外籍生示意圖：
![](https://i.imgur.com/CHUIUDm.png =360x)
因外籍生無法使用觸碰得知與其他受試者相同 RoI 區域之脈搏，因此移往下列區域偵測，即可測量到脈搏。

### [2] 將影像轉換成較低畫素
- 針對電腦記憶體規格，調整影像大小與畫素 (ex: 32GB -> 最高480p)
### [3] 執行影像放大 (官方 Matlab code)
```
amplify_spatial_lpyr_temporal_ideal(vidFile, outDir, \
    alpha, lambda_c, wl, wh, samplingRate, chromAttenuation)
```
> vidFile : 影片檔案路徑
> outDir : 影像輸出路徑
> alpha : 放大參數
> lambda_c : 空間頻帶
> wl : 低截止頻率
> wh : 高截止頻率
> samplingRate : 取樣頻率
> chromAttenuation : 衰減值

### [4] 頻率擷取 (自己編寫 Python code)
```
python main.py \
    --vid-path /path/to/video.mp4
    --roi x1 x2 y1 y2
    (--save-name chart name)
    (--vis-dis y, Y or n, N)
    (--freq-mode rgb or ica)
    (--max-iter num)
```
> vid-path : 影片檔案路徑 
> roi : 選取欲脈搏偵測之位置 (ex: 300 400 300 400)
> save-name : 結果輸出之檔案名稱 (無輸入則不輸出)
> vis-dis : 是否呈現放大影像後之 ROI 區域 (y, Y or n, N), default=y
> freq-mode : 選擇頻率擷取方式 (ex: rgb or ica), default=both
> max-iter: ICA 之最大迭代數 (預設 3000)

#### 頻率示意圖
1) ++RGB mode++
![](https://i.imgur.com/CloQrE7.png =360x)
2) ++ICA mode++
![](https://i.imgur.com/5ywdELL.png =360x)

### [5] 與真實數據比較 (手腕式血壓計)
- OMRON HEM-6131 (手腕式血壓計)
- Our methiods (Pulse freqency * 60s)

#### 受試者 A
||OMROM|Our method (Estimated value)|
| -------- |  ----------- | ---------- |
|室內靜坐|68|65|
|運動後|117|90|

#### 受試者 B
||OMROM|Our method (Estimated value)|
| -------- | ----------- | ---------- |
|室內靜坐|69|69|
|運動後|86|95|

#### 受試者 C
||OMROM|Our method (Estimated value)|
| -------- | ----------- | ---------- |
|室內靜坐|82|75|
|運動後|94|79|

 Pulse /min
 
 #### 受試者 A 之頻率結果
 - 靜坐
 ![](https://i.imgur.com/ktyqtO0.png =360x)
 - 運動
 ![](https://i.imgur.com/ox1K1hl.png =360x)
 #### 受試者 B 之頻率結果
 - 靜坐
 ![](https://i.imgur.com/VcRZp8T.png =360x)
 - 運動
 ![](https://i.imgur.com/ofcjoPO.png =360x)
 #### 受試者 C 之頻率結果
 - 靜坐
 ![](https://i.imgur.com/LvsNLI6.png =360x)
 - 運動
 ![](https://i.imgur.com/V6qcbe0.png =360x)

## 參考論文與資料
[1] "How Fast is Your Heart Rate?", J. B. Huang, 2013. Available at http://jbhuang0604.blogspot.com/2013/09/how-fast-is-your-heart-rate.html
[2] "尤拉和盲源分離方法於非接觸式心跳測量之應用", 朱家甫, 2017.
[3] "連續可見光影像的非接觸式呼吸心跳監控系統", 葉韋志, 2015.
[4] "Non-contact, automated cardiac pulse measurements using video imaging and blind source separation", M. Z. Poh, D. J. McDuff, and R. W. Picard, 2010.
[5] "Extracting physiological information in experimental biology via Eulerian video magnification", H. Lauridsen, S. Gonzales, D. Hedwig, K. L. Perrin, C. J. A. Williams, P. H. Wrege, M. F. Bertelsen, M. Pedersen and J. T. Butcher, 2019. Available at https://bmcbiol.biomedcentral.com/articles/10.1186/s12915-019-0716-7#Abs1