「生理訊號工程師」這個職稱聽起來很厲害,但他們到底每天在公司做什麼?這篇文章帶你看一位在車用新創公司工作的生理訊號工程師,他的真實工作日常。
公司在做什麼:用心跳偵測疲勞駕駛
這位工程師所在的新創公司,產品目標是:用駕駛人的生理訊號來判斷他有沒有打瞌睡。
為什麼這件事重要?根據統計,疲勞駕駛是造成重大交通事故的主要原因之一。如果車子能即時偵測到駕駛人開始疲勞,提前發出警告甚至主動減速,就能拯救很多人的生命。
目前市面上偵測疲勞的方式主要有兩種:
- 攝影機偵測:用鏡頭拍駕駛人的臉,分析眨眼頻率、頭部傾斜角度來判斷是否疲勞。缺點是容易受光線、戴墨鏡等干擾。
- 生理訊號偵測:透過感測器擷取駕駛人的心電圖(ECG)、膚電反應(GSR)或壓力訊號,從生理層面直接判斷身體狀態。
這家公司走的是第二條路。他們的核心技術就是:從方向盤上的壓力感測器和心電圖感測器擷取訊號,然後用演算法判斷駕駛人的疲勞程度。
工作內容一:ECG 訊號處理
心電圖的基本原理
心臟每跳一次,心肌細胞會經歷一個「去極化 → 再極化」的電位變化循環。這個循環反映在心電圖上,就是你熟悉的那個 P-QRS-T 波形:
- P 波:心房去極化。心房肌肉收縮,把血液擠到心室裡。
- QRS 波群:心室去極化。這是最大的那個峰,代表心室開始收縮,把血液打出心臟。
- T 波:心室再極化。心室肌肉恢復原本的電位狀態,準備下一次收縮。
每一次心跳就是一組完整的 P-QRS-T。兩個相鄰 R 波之間的時間間隔叫做 R-R interval,它是計算心率和心率變異度(HRV)的基礎。
在車上擷取 ECG 的挑戰
在醫院做心電圖的時候,病人安靜躺著,用導電膠把電極貼在皮膚上,訊號品質很好。但在車上完全是另一回事:
- 動作干擾(Motion Artifact):駕駛人在轉方向盤、換檔、甚至只是呼吸,身體的動作都會在訊號裡產生巨大的雜訊。
- 接觸不穩定:方向盤上的感測器不像醫院的電極那樣牢牢貼著皮膚,手掌的接觸面積、壓力、汗水量都會影響訊號品質。
- 環境電磁干擾:車上的電子設備、引擎、甚至收音機都會產生電磁雜訊。
所以這位工程師的第一個重要工作就是:想辦法從一堆雜訊中,把真正的心電圖訊號挖出來。
怎麼做?訊號處理的基本流程
-
帶通濾波(Bandpass Filtering):心電圖的主要頻率集中在 0.5-40 Hz 之間。用帶通濾波器把這個範圍以外的雜訊都濾掉。低於 0.5 Hz 的是基線漂移(Baseline Wander,通常是呼吸造成的),高於 40 Hz 的是肌電干擾和電磁雜訊。
-
陷波濾波(Notch Filter):台灣的市電頻率是 60 Hz,會在訊號中產生特定的干擾。用陷波濾波器專門消除 60 Hz 的成分。
-
R 波偵測(R-peak Detection):用演算法自動找出每一個 R 波的位置。最經典的演算法是 Pan-Tompkins Algorithm,它會先對訊號做微分、平方、移動平均等處理,讓 R 波變得更突出,更容易被偵測到。
-
品質評估:不是每一段訊號都可以用的。如果駕駛人手離開方向盤,訊號就斷了;如果雜訊太大,偵測到的 R 波位置不可靠。工程師需要設計一套品質評分系統,自動判斷哪些段落的訊號品質夠好可以用來分析。
工作內容二:疲勞偵測演算法
有了乾淨的心電圖訊號之後,下一步是用它來判斷駕駛人是不是在打瞌睡。
HRV 與自律神經
疲勞偵測的關鍵指標是心率變異度(HRV, Heart Rate Variability)。
你的心跳不是像時鐘一樣完美規律的。假設你的平均心率是每分鐘 72 下,相鄰兩次心跳之間的間隔並不是固定的 833 毫秒,而是在 780-890 毫秒之間微微波動。這個波動就是 HRV。
HRV 的大小受自律神經系統控制:
- 交感神經(戰或逃反應)興奮時:心跳加速、HRV 下降
- 副交感神經(休息與消化)活躍時:心跳較慢、HRV 上升
當一個人開始疲勞想睡覺時,交感神經和副交感神經的平衡會發生變化。透過分析 HRV 的各種指標,可以推測駕駛人目前的疲勞程度。
頻域分析:用 FFT 拆解 HRV
HRV 除了看時域指標(例如連續 R-R interval 的標準差),還可以用**傅立葉轉換(FFT, Fast Fourier Transform)**把 R-R interval 的時間序列轉換到頻域來分析。
在頻域中,HRV 主要分成兩個頻段:
- 低頻(LF, Low Frequency):0.04-0.15 Hz — 反映交感和副交感的混合調控
- 高頻(HF, High Frequency):0.15-0.40 Hz — 主要反映副交感神經(跟呼吸有關)
LF/HF 比值常被用來評估自律神經的平衡狀態。疲勞時這個比值通常會發生明顯的變化。
機器學習分類
但只看 LF/HF 一個指標不夠精準。實務上,工程師會從 HRV 中提取大量的特徵(Feature),然後用機器學習模型來做分類:
常用的特徵包括:
- 時域:平均 R-R interval、SDNN(R-R interval 的標準差)、RMSSD(相鄰 R-R interval 差值的均方根)、pNN50(相鄰 R-R interval 差值超過 50ms 的比例)
- 頻域:LF power、HF power、LF/HF ratio、Total power
- 非線性:Sample Entropy(衡量訊號的複雜度)、Poincare Plot 的 SD1/SD2
常用的模型:
- 隨機森林(Random Forest):適合處理多種特徵,不容易過擬合
- XGBoost:梯度提升樹,在 tabular data 的分類任務上表現通常最好
- CNN(卷積神經網路):可以直接把原始訊號或頻譜圖丟進去,讓模型自己學特徵
模型驗證的挑戰
在車上做疲勞偵測,模型驗證特別困難。因為你需要有「ground truth」——也就是知道駕駛人到底是不是真的在打瞌睡。
常用的方式包括:
- 用攝影機同步錄影,事後由標註員看影片標記駕駛人是否疲勞
- 用腦波(EEG)作為參考標準,theta 波增加代表疲勞
- 在模擬駕駛環境中做實驗,控制受試者的睡眠時間
每種方式都有它的限制和偏誤,工程師需要綜合多種資訊來源來確保模型的可靠性。
工作內容三:壓力感測器數據
除了心電圖,方向盤上還有壓力感測器。駕駛人握方向盤的力道、握法、手的位置,這些都包含資訊。
疲勞的駕駛人通常會:
- 握方向盤的力道逐漸變小(肌肉放鬆)
- 調整姿勢的頻率改變
- 轉向的動作變得不那麼流暢
這些壓力訊號可以跟心電圖訊號融合在一起,做**多模態(Multimodal)**的疲勞偵測,準確率會比只用單一訊號來得高。
在新創公司工作的感覺
最後聊聊在新創公司工作跟大公司有什麼不同。
優點
- 學得快:因為人少,你不會只負責一小塊。從訊號處理到機器學習到產品整合,全部都要碰。兩年下來,你的技術廣度會比在大公司三年的人還多。
- 有影響力:你寫的程式碼直接變成產品的一部分。不像在大公司裡你可能只是幾百人團隊中的螺絲釘。
- 彈性大:新創公司通常比較沒有官僚體制,你有好的想法可以直接跟老闆提,很快就能測試和實作。
挑戰
- 資源少:沒有大公司那種上百台 GPU 的運算資源,很多事情要想辦法用有限的資源做到。
- 不確定性高:公司可能隨時調整方向,你花了三個月做的東西可能因為策略改變而被放棄。
- 需要自學:沒有完整的培訓體系,遇到問題大部分要自己查資料解決。
適合什麼樣的人?
如果你喜歡同時學很多東西、不怕面對不確定性、享受「從零到一」把產品做出來的成就感,新創公司是一個很好的起步選擇。
但如果你比較喜歡穩定的環境和系統化的學習,大公司或研究機構可能更適合你。
結語
生理訊號工程師的工作,本質上就是在「人體」和「機器」之間建立橋樑。你需要理解人體是怎麼產生這些訊號的(心臟生理學、神經電生理學),也要懂怎麼用工程工具來處理和分析它們(訊號處理、機器學習)。
這不是一個純生物或純工程的工作,而是一個真正需要跨領域整合的職業。如果你對生物和工程都有興趣,這可能是一條值得探索的路。
延伸概念:心電圖 · 雙組分系統 · 基因體不穩定 · 細胞呼吸 · 循環系統 · 變異數分析 · 主成分分析 · Notch途徑 · 心臟生理



