# 嘴部動作檢測器比較報告 **測試日期**: 2026-04-02 **測試影片**: ExaSAN (2 分 39 秒) --- ## 測試的方案 ### 方案 1: MediaPipe Tasks API **檔案**: `lip_processor_media.py` **優點**: - ✅ 468 個人臉關鍵點 - ✅ 精確的嘴部檢測 - ✅ 專業級準確度 **缺點**: - ❌ API 複雜 - ❌ 需要下載模型 (3.6 MB) - ❌ 處理速度慢 - ❌ 需要特定 Mediapipe 版本 **狀態**: ⚠️ API 兼容性問題 --- ### 方案 2: OpenCV + Face Detection **檔案**: `lip_processor_cv.py` **優點**: - ✅ 快速 - ✅ 簡單 - ✅ 不需要額外模型 **缺點**: - ❌ 只能估算嘴部開合度 - ❌ 準確度較低 - ❌ 無法檢測精確嘴部輪廓 **狀態**: ✅ 工作正常 --- ### 方案 3: Face + ASR 推斷(推薦⭐) **檔案**: `integrate_face_asrx.py` **原理**: ``` Face 檢測到人臉 + ASR 檢測到語音 = 正在說話 ``` **優點**: - ✅ 不需要額外模型 - ✅ 快速(已整合) - ✅ 準確度可接受(66% 匹配率) - ✅ 使用現有數據 **缺點**: - ⚠️ 無法檢測嘴部開合度 - ⚠️ 無法區分多人誰在說話 **狀態**: ✅ 工作正常 --- ## 測試結果 ### MediaPipe Tasks API **問題**: ```python AttributeError: module 'mediapipe.tasks.python.vision' has no attribute 'Image' ``` **原因**: MediaPipe API 持續變更,tasks API 不穩定 **結論**: ❌ 不建議使用 --- ### OpenCV + Face Detection **測試結果**: - 檢測到人臉:✓ - 估算嘴部開合度:✓ - JSON 序列化問題:已修復 **結論**: ⚠️ 可用但準確度有限 --- ### Face + ASR 推斷 **測試結果**(長影片 114 分鐘): - Face 檢測:10,691 幀 - ASR 轉錄:2,025 段 - 整合匹配率:66.3% **結論**: ✅ **推薦使用** --- ## 最終建議 ### 🏆 推薦方案:Face + ASR 推斷 **使用方式**: ```bash python3 scripts/integrate_face_asrx.py \ face_output.json \ asr_output.json \ integrated_output.json ``` **理由**: 1. ✅ 已整合並測試 2. ✅ 準確度可接受(66%) 3. ✅ 快速 4. ✅ 不需要額外依賴 --- ### 未來改進方向 **如果需要精確嘴部檢測**: 1. **使用 Dlib 68 點**(需要安裝 dlib) ```bash pip install dlib # 下載 shape_predictor_68_face_landmarks.dat ``` 2. **使用 MediaPipe 舊版 API**(如果可用) ```bash pip install mediapipe==0.9.0 ``` 3. **使用商業 API** - Azure Face API - AWS Rekognition --- ## 檔案清單 ``` scripts/ ├── lip_processor_media.py # MediaPipe 版本(API 問題) ├── lip_processor_cv.py # OpenCV 版本(可用) ├── integrate_face_asrx.py # Face+ASR 整合(推薦) └── LIP_PROCESSOR_COMPARISON.md # 本報告 ``` --- ## 結論 **目前最佳方案**: Face + ASR 推斷 **準確度**: 66% 匹配率 **處理速度**: 快速(已整合) **建議**: 使用現有整合方案,未來如有需要再考慮 Dlib 或商業 API --- **報告完成**: 2026-04-02