Skip to content

Repository files navigation

H.E.R.A. — Healing Evaluation and Recognition Architecture

邊緣運算智慧傷口照護系統:用一張照片,讀懂傷口的癒合軌跡。

Python YOLOv8 Platform License

H.E.R.A.(Healing Evaluation and Recognition Architecture)是一套專為邊緣裝置設計的離線智慧傷口評估系統。透過輕量化 YOLOv8n-seg 模型完成傷口邊界分割,搭配 HSV 色彩門檻進行組織品質分析,並結合面積變化趨勢與參考 PUSH Tool 概念設計的決策樹,交叉判斷傷口的癒合狀態,最終以 🟢🟡🔴 燈號給出護理或就醫建議 —— 全程手機端離線運算,無需上傳雲端。


目錄


核心概念

癒合情況不是單一數字,而是「面積趨勢」+「組織品質」+「感染風險」三者交叉判斷。

flowchart TD
    A[📱 手機拍照] --> B[1. 面積變化<br/>本週 vs 上週]
    A --> C[2. 組織比例<br/>紅/黑/黃/黃綠]
    A --> D[3. 感染安全網<br/>DFUC2021 分類器]

    B -->|YOLOv8 + 比例尺| E[正在變好還是變大?]
    C -->|HSV 色彩門檻| F[傷口內部品質好不好?]
    D -->|感染/缺血分類| G[有沒有立即危險?]

    E --> H[PUSH 邏輯決策樹<br/>+ 安全網警示]
    F --> H
    G --> H

    H --> I{🟢 🟡 🔴 燈號與建議}
Loading
  1. 面積變化:本週傷口面積 vs 上週(YOLOv8 分割 + 比例尺換算 cm²)
  2. 組織比例:紅/黑/黃/黃綠色像素佔比(HSV 色彩門檻,非 AI 運算)
  3. 感染安全網:感染/缺血分類器(DFUC2021 醫療標註訓練)

系統架構

六步驟資料流:

flowchart LR
    A["1. 手機拍照<br/>固定比例尺"] --> B["2. 邊界分割<br/>YOLOv8n-seg"]
    B --> C["3. 組織分析<br/>HSV 色彩門檻"]
    C --> D["4. 面積換算<br/>像素 → cm²"]
    D --> E["5. 決策判定<br/>PUSH 決策樹"]
    E --> F["6. 燈號建議<br/>🟢🟡🔴"]
Loading

關鍵設計:AI 只負責「找到傷口邊界」;組織顏色比例用傳統影像處理(HSV)計算,大幅降低手機運算負擔。

為什麼可行:HSV 色彩分析是純數學運算(毫秒級),真正吃算力的只有「找傷口邊界」——單類別分割比五類別組織分割輕量許多,非常適合手機離線執行。


技術棧

⚠️ 與原始規劃的差異:App 開發實際採用 Flutter(跨平台單一程式碼庫), 而非最初規劃的 Kotlin/Swift 原生雙平台開發,因團隊人力考量調整。

模組 技術
邊界分割模型 YOLOv8n-seg (Ultralytics)
模型輕量化 INT8 量化、TFLite (Android) / Core ML (iOS)
組織分析 HSV 色彩門檻(純 Dart 運算,不需要 OpenCV)
決策邏輯 Rule-based Logic,參考 PUSH Tool 設計
App 開發 Flutter(camera + ultralytics_yolo 套件)
本地儲存 SQLite(Flutter 端透過 sqflite)
訓練環境 本機顯卡(NVIDIA RTX 5090,備援環境 RTX 5070)

⚠️ 感染安全網現況:架構圖中的「感染安全網」目前尚未訓練 DFUC2021 分類器,是用規則判斷暫代(絕對面積 > 門檻值 或 偵測到黃綠膿液即觸發), 屬於簡化版本。是否訓練獨立分類器待評估,目前先用規則版本驗證 App 端流程。


資料集

資料集 內容 用途
DFUC 2022 4,000 張,5 位足科醫師以 VGG Annotator 標註的傷口邊界 polygon mask 訓練邊界分割模型
DFUC 2021 醫療專業人員標註的感染 / 缺血分類標籤,共 1,703+ 例 訓練感染安全網分類器
FUSeg 2021 1,210 張足潰瘍影像,512×512,附分割 mask 擴充邊界分割訓練集,提高泛化能力

資料切分:訓練 60% / 驗證 20% / 測試 20%,確保同病患影像不跨集合洩漏。


癒合判定決策樹

整合面積數字 + 組織比例,帶入參考 PUSH Tool 概念設計的決策規則:

flowchart TD
    Start([傷口數據輸入<br/>面積 / HSV 組織比例]) --> Q1{黑色壞死 + 黃色腐肉 > 50%<br/>或出現黃綠膿液<br/>或面積擴大?}

    Q1 -->|YES| Red["🔴 惡化 / 警示<br/>感染風險高,建議尋求醫師清創"]
    Q1 -->|NO| Q2{黃色腐肉 25%~50%<br/>或面積連續兩週停滯<br/>(±5% 內)?}

    Q2 -->|YES| Yellow["🟡 觀察 / 停滯<br/>加強滲出液控制與清潔"]
    Q2 -->|NO| Green["🟢 良好 / 修復<br/>組織修復正常,持續目前護理"]

    Start -.->|絕對面積 > 安全門檻| Alert["⚠️ 安全網:不論組織比例結果<br/>直接建議立即就醫"]
Loading
燈號 判定條件 行動建議
🟢 良好 (Healing) 紅色肉芽 + 粉紅上皮 > 75% 且面積比上週縮小 > 10% 組織修復正常,持續目前護理
🟡 觀察 (Stagnant) 黃色腐肉 25%~50% 或面積連續兩週停滯(±5% 內) 復原停滯,加強滲出液控制與清潔
🔴 惡化 (Deteriorating) 黑色壞死 + 黃色腐肉 > 50% 或出現黃綠膿液 / 面積擴大 感染風險高,建議尋求醫師清創

安全網規則:不論組織比例結果如何,若傷口絕對面積 > 設定門檻值,直接跳出「建議立即就醫」——保守但安全。


效能表現

版本 模型大小 單張推論時間(估) 適用情境
YOLOv8n-seg(FP32 原始) ~7 MB 800ms – 1.5s 開發測試 / 雲端備援
YOLOv8n-seg(INT8 量化) ~2 MB 200 – 500ms 手機端離線即時使用

目標:在中階手機(如 Snapdragon 6 系列等級)單張推論 < 500ms。


專案時程

gantt
    title H.E.R.A. 8 週執行計畫
    dateFormat  YYYY-MM-DD
    axisFormat  W%W

    section 資料
    資料蒐集與前處理           :a1, 2026-01-01, 14d
    section 模型
    模型訓練與驗證             :a2, 2026-01-08, 21d
    模型輕量化匯出             :a3, 2026-01-22, 7d
    section 邏輯
    HSV 分析 + 決策邏輯開發    :a4, 2026-01-22, 14d
    section App
    App 整合開發               :a5, 2026-01-29, 14d
    section 收尾
    測試優化與展示準備         :a6, 2026-02-12, 7d
Loading

限制與後續方向

  • 目前決策規則為參考 PUSH Tool 概念自行設計,非官方量表,門檻值(50% / 25% / ±5%)待進一步驗證。
  • 跨週追蹤資料(同病患多次回診)較稀缺,現階段以測試資料模擬展示。
  • 後續可與醫療單位合作校準門檻值,進一步提升臨床可信度與安全性。
  • 決策樹中「面積連續兩週停滯」的判斷邏輯,App 端目前只比對最近一次紀錄, 尚未實作真正的多週趨勢比對。
  • 「感染安全網」目前是規則判斷暫代,尚未訓練獨立的 DFUC2021 分類器 (詳見上方技術棧章節說明)。
  • 下方「專案時程」為早期規劃草稿,日期未反映實際進度,之後改以 GitHub Issues/Projects 追蹤即時進度。
  • App 端護理紀錄整合、PDF 就醫報告匯出、家屬共享檢視、拍照品質即時檢測、 模型信心度顯示等延伸功能尚未開發,列為後續加值方向。

App 畫面流程草稿

目前為灰階線框稿,配色尚未定案;結構已對應 Flutter 端實際開發進度。

App 畫面流程草稿

flowchart TD
    Home["首頁 · 傷口檔案列表<br/>燈號 chip 顯示各檔案最新狀態"] -->|點 +| NewDialog["新增傷口檔案彈窗"]
    NewDialog --> Home
    Home -->|點相機圖示| Camera["拍攝畫面<br/>比例尺對齊框引導"]
    Camera -->|拍照並判讀| Result["判讀結果彈窗<br/>🟢🟡🔴 + 建議文字"]
    Result -->|確定| Home
    Home -->|點趨勢圖示| Trend["趨勢畫面<br/>面積折線圖 + 歷史紀錄列表"]
    Home -->|底部導覽| Settings["我的<br/>本機顯示名稱 / 通知開關 / 關於"]
Loading
畫面 說明 實作狀態
首頁(傷口檔案列表) 卡片式列表,每筆顯示最新燈號、建立日期,右側可直接跳轉拍攝或趨勢 ✅ 已完成,燈號讀取自本機資料庫最新紀錄
新增傷口檔案彈窗 輸入名稱後建立一筆新的追蹤檔案 ✅ 已完成
拍攝畫面 相機預覽 + 比例尺對齊虛線框(四角醫療綠標記)+ 拍照按鈕 ✅ 相機串接完成;比例尺辨識尚未實作,框線僅為視覺引導
判讀結果彈窗 燈號圖示 + 建議文字;模型未接上時顯示「⚠️ 示範資料」標籤 ✅ 已完成優雅降級機制,真實模型接上後自動切換
趨勢畫面 面積折線圖 + 歷史紀錄清單(面積、日期、燈號) ✅ 已完成;尚未顯示拍攝的照片縮圖
我的(設定頁) 本機顯示名稱、就醫提醒推播開關、關於本專案的免責聲明 ⚠️ 顯示名稱/開關已可儲存,但推播尚未接上實際觸發邏輯

About

H.E.R.A. (Healing Evaluation and Recognition Architecture) — an on-device edge-AI system for offline wound assessment using YOLOv8 segmentation, HSV tissue analysis, and PUSH-based decision logic.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages