居家型健康檢測系統

大學專題

專題架構

1. 專題架構

使用 Laudon 資訊管理系統 Modle 繪製出整個架構

Laudon 資訊管理系統 Modle

  • 專題成員:吳則緯、陳士弘、廖國丞。
  • 指導老師:林基源(資工系)、陳啟鈞(電子系)、吳書慶(博士班學長)

2. 韌體開發 (吳則緯、陳士弘)

核心硬體選用

  • 微控制器:STM32F103C8T6
  • 感測組件:MPU6050 陀螺儀、HC-25 WiFi 模組 及 74HC14 施密特觸發器。

呼吸感測原理

  • 電容轉脈衝:在腰帶貼上導電銀布,呼吸引起的腹部拉扯會改變電容值。
  • 電路轉換:利用 74HC14 施密特觸發器與 RC 電路串聯腰帶,將電容變化轉化為方波頻率。
  • 量化採樣:MCU 透過外部中斷 (EXTI) 讀取上升緣,計算 0.2 秒內的充放電次數來量化呼吸深度。

導電銀布(一般) 導電銀布(拉扯)

腰帶 穿戴方式

技術挑戰與解決方案

  • I2C 位址左移:修正 MPU6050 的 7 位元位址需左移 1 位方可通訊的問題。
  • UART 阻塞式傳輸:捨棄 DMA 傳輸,改採阻塞模式以確保數據發送與 C# 接收端同步。
  • 中斷洪水防治:為防止環境雜訊導致外部中斷無限觸發,設置 99999 次計數上限,並在採樣後強制關閉中斷,維持系統穩定。

3. 影像辨識 (廖國丞)

YOLOv8 辨識流程

  • 模型選用:採用 最新版 YOLOv8n 模型。
  • 數據集建立:拍攝睡眠影片並裁切成一幀幀圖片,手動標註「正躺、左側躺、右側躺」三種標籤。
  • 訓練集:使用250張圖像作為訓練集(每個動作各為250張)總共採集2550張,訓練集 680 張,測試集 170 張。

訓練集圖片(包含正躺、左躺與右躺)

訓練模型結果

模型能夠準確識別「正面」、「側面」和「右躺」三種動作。從精確度-召回率曲線圖中可見,所有類別的平均精確度達到0.992,顯示出模型在不同動作上的高精度和穩定性。

訓練結果圖 驗證集測試準確度

關鍵優化:辨識目標調整

  • 初期挑戰:原先嘗試辨識「全人體姿態」,但發現使用者蓋被子後特徵會被遮蔽,導致精確度極低。
  • 解方:將鏡頭安置於臉部正上方,專注於頭部/臉部特徵。此調整大幅提升了被子覆蓋下的辨識率。

4. 資料接收與分析 (吳則緯)

C# 監控中樞

  • 傳輸協議:選用 TCP/IP 搭配 WiFi,因其比藍牙距離更遠、比 UDP 更穩定。
  • 介面開發:使用 WinForm (GDI+) 實現「所見即所得」的開發,並即時繪製呼吸波形圖。

LineBot 預警機制

  • 雲端伺服器:結合 Google Apps Script (GAS) 建立 LineBot,具備零維護成本與高可用性。

報警邏輯

  • 呼吸異常:5 秒內波峰波谷差值 < 1000。
  • 疑似跌倒:影像偵測不到標籤(人離開畫面)且陀螺儀判斷為躺下。
  • 久臥提醒:相同姿勢維持超過 1.5 小時,發送翻身提醒。

C# GUI

資料庫儲存

呼吸資料庫 陀螺儀

影像辨識資料庫 報警記錄


5. 成果展示

  • 呼吸停止

  • 跌倒可能


6. 心得

大學二年級時,我們三個一起加入陳啟鈞老師帶領的實驗室, 此專題是從電容布織布產學專案慢慢延伸而成的, 在此感謝我的組員們,還有學長導師指導。