- Update ASR, face, OCR, pose processors - Add release pre-flight check script - Add synonym generation, chunk processing scripts - Add face recognition, stamp search utilities
3.5 KiB
3.5 KiB
嘴部動作檢測結果 - 完整版
測試日期: 2026-04-02
測試影片: ExaSAN PCIe series (2 分 39 秒)
📊 OpenCV 檢測結果
統計數據
| 指標 | 數值 |
|---|---|
| 總處理幀數 | 351 幀 (每 10 幀採樣) |
| 檢測到人臉 | 144 幀 (41.0%) |
| 說話幀數 | 131 幀 (37.3%) |
| 平均嘴部開合度 | 0.1546 |
| 最大嘴部開合度 | 0.55 |
檢測結果範例
幀數 時間 (s) 人臉 開合度 說話 人臉位置
--------------------------------------------------------------------------------
9 0.409 ❌ 0.0000 ❌ -
19 0.864 ✅ 0.4150 ✅ (243, 84) 83x83
29 1.318 ✅ 0.3850 ✅ (232, 83) 77x77
39 1.773 ✅ 0.2950 ❌ (252, 107) 59x59
49 2.227 ✅ 0.3100 ✅ (248, 108) 62x62
嘴部開合度分佈
0.0 (無臉) 207 幀 ( 59.0%) █████████████████████████████
0.0-0.2 (閉合) 0 幀 ( 0.0%)
0.2-0.3 (微張) 8 幀 ( 2.3%) █
0.3-0.4 (正常) 68 幀 ( 19.4%) █████████
0.4-0.5 (張大) 61 幀 ( 17.4%) ████████
>0.5 (很大) 7 幀 ( 2.0%) █
🎬 檢測方法說明
OpenCV + Face Detection
原理:
- 使用 Haar Cascade 檢測人臉
- 從人臉邊框估算嘴部位置
- 假設人臉越寬,嘴部可能越張開
開合度計算:
openness = 人臉寬度 / 200.0 # 假設 200px 為最大張開
speaking = openness > 0.3 # 閾值 0.3
優點:
- ✅ 快速(351 幀僅需幾秒)
- ✅ 不需要額外模型
- ✅ 能識別說話狀態
缺點:
- ⚠️ 只能估算嘴部開合度
- ⚠️ 無法檢測精確嘴部輪廓
- ⚠️ 準確度依賴人臉檢測
📁 輸出檔案
位置: /tmp/lip_cv_test.json
結構:
{
"frame_count": 3512,
"fps": 22.0,
"processed_frames": 351,
"sample_interval": 10,
"frames": [
{
"frame": 19,
"timestamp": 0.864,
"face_detected": true,
"lip_openness": 0.415,
"lip_width": 83.0,
"lip_height": 8.0,
"is_speaking": true,
"face_bbox": {"x": 243, "y": 84, "width": 83, "height": 83}
}
],
"stats": {
"speaking_frames": 131,
"speaking_rate": 0.3732,
"avg_openness": 0.1546,
"max_openness": 0.55,
"frames_with_face": 144
}
}
🔍 與 Face + ASR 整合比較
| 方法 | 說話幀數 | 準確度 | 速度 | 資訊量 |
|---|---|---|---|---|
| OpenCV Lip | 131 幀 | 估算 | 快 | 嘴部開合度 |
| Face + ASR | 55 段 | 66% | 最快 | 語音 + 人臉 |
建議:
- OpenCV Lip: 適合需要嘴部開合度資訊
- Face + ASR: 適合需要語音內容 + 說話者識別
📋 使用方式
OpenCV 嘴部檢測
python3 scripts/lip_processor_cv.py \
video.mp4 \
output.json \
--sample-interval 10
Face + ASR 整合
python3 scripts/integrate_face_asrx.py \
face.json \
asr.json \
integrated.json
✅ 結論
OpenCV 嘴部檢測:
- ✅ 快速檢測嘴部開合度
- ✅ 能識別說話狀態(37.3% 說話率)
- ⚠️ 只能估算,非精確檢測
Face + ASR 整合(推薦):
- ✅ 已整合測試
- ✅ 66.3% 匹配率
- ✅ 包含語音內容
建議: 根據需求選擇
- 需要嘴部開合度 → OpenCV Lip
- 需要說話者識別 → Face + ASR
報告完成: 2026-04-02