---
# System prepended metadata

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

---

# 脈搏偵測數據採集 (20210316 ITRI)
- [name=作者：Jeff Liao, Ray Hsu]
- [time=Fri, Mar 12, 2021 13:25]

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

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

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

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

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

以下為示意圖：
![](https://i.imgur.com/7b2D0v8.png)

### [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
    (--max-iter num)
```
> vid-path : 影片檔案路徑 
> roi : 選取欲脈搏偵測之位置 (ex: 300 400 300 400)
> max-iter: ICA之最大迭代數 (預設 3000)
### [5] 與真實數據比較 (手腕式血壓計與手機偵測脈搏)
- OMRON HEM-6131 (手腕式血壓計)
- Pixel 4a 5g (Google fit 鏡頭指尖偵測)
- Our methiods (Pulse freqency * 60s)

||OMROM|Pixel 4a 5g|Our method (Estimated value)|
| -------- | -------- | ----------- | ---------- |
|戶外靜坐|71|71|69|
|沐浴後|78| 81 |80|
 Pulse /min

#### 頻率示意圖
- 室內靜坐
1) ++RGB mode++
![](https://i.imgur.com/CloQrE7.png)
2) ++ICA mode++
![](https://i.imgur.com/5ywdELL.png)
- 沐浴後
1) ++RGB mode++
![](https://i.imgur.com/cHokFpx.png)
2) ++ICA mode++
![](https://i.imgur.com/cl5aY0v.png)

#### 放大後影像
- 戶外靜坐
{%youtube HweyuO6fRwc%}
- 沐浴後
{%youtube RGS_gzecioI%}

## 目前遭遇問題
- RoI 擷取位置：影響最大，須持續測試最佳區域
- 影片晃動：拍攝影片時，必須讓手抵住物體，以避免手細微晃動
- 鏡頭位置：鏡頭必須對準 RoI 位置，使手腕正對鏡頭，不歪斜
- 手腕傾斜角度：手腕角度擺放不一，造成每次找尋放大位置困難
- 影片長度：尚未測試，目前長度皆為20秒
- 燈光亮度：影響較小，但還是為其變因之一

## 參考論文與資料
[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