# 嘴部動作檢測方案說明

## 問題

MediaPipe 0.10.33 已移除舊版 `solutions` API，只支援新版 `tasks` API，需要：
1. 下載 `face_landmarker.task` 模型文件（~100MB）
2. 使用複雜的 Vision API
3. 處理异步回调

## 替代方案

### 方案 1: Face + ASR 推斷（推薦⭐）

**原理**：
- 如果 **Face 檢測到人臉** + **ASR 檢測到語音** = **正在說話**

**優點**：
- ✅ 不需要額外模型
- ✅ 快速（已整合）
- ✅ 準確度可接受

**缺點**：
- ⚠️ 無法檢測嘴部開合度
- ⚠️ 無法區分多人誰在說話

**實施**：
```python
# 使用現有的 integrate_face_asrx.py
python3 scripts/integrate_face_asrx.py \
  face.json asr.json output.json
```

---

### 方案 2: MediaPipe Tasks API

**需要**：
1. 下載模型：`face_landmarker.task`
2. 使用新版 API

**優點**：
- ✅ 468 個人臉關鍵點
- ✅ 精確嘴部檢測

**缺點**：
- ❌ 需要下載 100MB 模型
- ❌ 處理慢
- ❌ API 複雜

---

### 方案 3: Dlib 68 點人脸關鍵點

**需要**：
1. 安裝 dlib
2. 下載 `shape_predictor_68_face_landmarks.dat`

**優點**：
- ✅ 68 個人臉關鍵點
- ✅ 包含嘴部輪廓（20 點）

**缺點**：
- ❌ 安裝複雜（需要編譯）
- ❌ 較慢

---

## 建議

**目前使用方案 1（Face + ASR 推斷）**

**未來如果需要精確嘴部檢測**：
1. 安裝 Dlib
2. 或使用 MediaPipe Tasks API

---

## 當前可用數據

- `/tmp/face_long.json` - Face 檢測（10,691 幀）
- `/tmp/asr_small_long.json` - ASR 轉錄（2,025 段）
- `/tmp/pose_long.json` - Pose（空數據，無關鍵點）

**整合驗證**：
```bash
python3 scripts/integrate_face_asrx.py \
  /tmp/face_long.json \
  /tmp/asr_small_long.json \
  /tmp/integrated_long.json
```
