feat: update Python processors and add utility scripts
- Update ASR, face, OCR, pose processors - Add release pre-flight check script - Add synonym generation, chunk processing scripts - Add face recognition, stamp search utilities
This commit is contained in:
172
scripts/LIP_PROCESSOR_COMPARISON.md
Normal file
172
scripts/LIP_PROCESSOR_COMPARISON.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# 嘴部動作檢測器比較報告
|
||||
|
||||
**測試日期**: 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
|
||||
Reference in New Issue
Block a user