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:
204
scripts/ASR_LIP_CORRELATION_REPORT.md
Normal file
204
scripts/ASR_LIP_CORRELATION_REPORT.md
Normal file
@@ -0,0 +1,204 @@
|
||||
# ASR + Lip 對應統計分析報告
|
||||
|
||||
**測試日期**: 2026-04-02
|
||||
**測試影片**: ExaSAN PCIe series (2 分 39 秒)
|
||||
**分析方法**: ASR 轉錄段 vs Lip 嘴部檢測幀
|
||||
|
||||
---
|
||||
|
||||
## 📊 基本統計
|
||||
|
||||
| 指標 | 數值 | 百分比 |
|
||||
|------|------|--------|
|
||||
| **ASR 總段數** | 83 段 | 100% |
|
||||
| **有 Lip 檢測** | 83 段 | 100% |
|
||||
| **檢測到說話** | 48 段 | 57.8% ✅ |
|
||||
| **未檢測說話** | 35 段 | 42.2% ⚠️ |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 匹配率分析
|
||||
|
||||
**定義**:
|
||||
- **ASR 有語音**: ASR 轉錄到的語音段
|
||||
- **Lip 檢測到說話**: 嘴部開合度 > 0.3
|
||||
|
||||
**匹配率**: 57.8% (48/83)
|
||||
|
||||
**解讀**:
|
||||
- ✅ 57.8% 的 ASR 語音段同時檢測到嘴部動作
|
||||
- ⚠️ 42.2% 的 ASR 語音段未檢測到明顯嘴部動作
|
||||
|
||||
**可能原因**:
|
||||
1. 側臉或低頭(嘴部未被檢測)
|
||||
2. 說話聲音小(嘴部開合度低)
|
||||
3. 採樣間隔錯過(每 10 幀採樣)
|
||||
4. ASR 檢測到背景語音
|
||||
|
||||
---
|
||||
|
||||
## 📈 嘴部開合度分佈
|
||||
|
||||
| 開合度範圍 | 段數 | 百分比 | 說明 |
|
||||
|-----------|------|--------|------|
|
||||
| **0.0-0.2** | 33 段 | 39.8% | 閉合/輕微 |
|
||||
| **0.2-0.3** | 2 段 | 2.4% | 微張 |
|
||||
| **0.3-0.4** | 31 段 | 37.3% | 正常說話 ✅ |
|
||||
| **0.4-0.5** | 14 段 | 16.9% | 張大嘴巴 |
|
||||
| **>0.5** | 3 段 | 3.6% | 非常大聲 |
|
||||
|
||||
**觀察**:
|
||||
- 正常說話 (0.3-0.4) 佔 37.3%
|
||||
- 張大嘴巴 (0.4+) 佔 20.5%
|
||||
- 閉合/輕微 (0.0-0.2) 佔 39.8% ← 可能是未說話或側臉
|
||||
|
||||
---
|
||||
|
||||
## 📋 詳細對應(前 30 段)
|
||||
|
||||
| 段 | 時間 | 文字 | Lip 幀 | 說話 | 開合度 |
|
||||
|----|------|------|-------|------|--------|
|
||||
| 1 | 0.0-2.0s | 正常來講我們就剪輯師用完之後 | 4 | ✅ 2/4 | 0.365 |
|
||||
| 2 | 2.0-4.0s | 再套片給我們的調光師 | 4 | ✅ 4/4 | 0.307 |
|
||||
| 3 | 4.0-6.0s | 或者是要再去找我們的錄音室 | 5 | ✅ 4/5 | 0.305 |
|
||||
| 4 | 6.0-8.0s | 重新用聲音的部分 | 4 | ❌ 0/4 | 0.296 |
|
||||
| 5 | 8.0-9.0s | 檔案的傳輸啊 | 2 | ✅ 1/2 | 0.307 |
|
||||
| 6 | 9.0-10.0s | 共同工作上 | 3 | ✅ 1/3 | 0.300 |
|
||||
| 7 | 10.0-12.0s | 不是很順的地方 | 4 | ❌ 0/4 | 0.292 |
|
||||
| 8 | 12.0-15.0s | 不知道大家有沒有遇過很急的案子 | 7 | ✅ 7/7 | 0.408 |
|
||||
| 9 | 15.0-16.0s | 風哨感的剪接 | 2 | ✅ 2/2 | 0.393 |
|
||||
| 10 | 16.0-17.0s | 調光 | 2 | ✅ 2/2 | 0.415 |
|
||||
| 11 | 17.0-18.0s | 特效 | 2 | ✅ 2/2 | 0.407 |
|
||||
| 12 | 18.0-19.0s | 聲音 | 2 | ✅ 1/2 | 0.405 |
|
||||
| 13 | 19.0-20.0s | 還有每個部門使用 | 3 | ❌ 0/3 | 0.000 |
|
||||
| 14 | 20.0-21.0s | 不同的軟體處理檔案 | 2 | ❌ 0/2 | 0.000 |
|
||||
| 15 | 21.0-24.0s | 整合作業變得相當複雜 | 6 | ✅ 2/6 | 0.508 |
|
||||
| 16 | 24.0-26.0s | 或是硬碟足足空間不夠大 | 5 | ✅ 5/5 | 0.409 |
|
||||
| 17 | 26.0-28.0s | 傳輸速度不夠快 | 4 | ❌ 0/4 | 0.000 |
|
||||
| 18 | 28.0-30.0s | 硬碟攜帶造成循環 | 5 | ❌ 0/5 | 0.000 |
|
||||
| 19 | 30.0-32.0s | 看起來相當方便的工作流程 | 4 | ✅ 4/4 | 0.436 |
|
||||
| 20 | 32.0-35.0s | 要怎麼樣建置硬碟設備呢 | 7 | ✅ 7/7 | 0.429 |
|
||||
|
||||
---
|
||||
|
||||
## 🔍 未檢測到說話的段分析
|
||||
|
||||
**35 段未檢測到說話**,可能原因:
|
||||
|
||||
### 原因 1: 側臉或低頭(開合度 0.0)
|
||||
|
||||
**範例**:
|
||||
- 段 13 (19.0-20.0s): "還有每個部門使用" - 開合度 0.0
|
||||
- 段 14 (20.0-21.0s): "不同的軟體處理檔案" - 開合度 0.0
|
||||
- 段 17 (26.0-28.0s): "傳輸速度不夠快" - 開合度 0.0
|
||||
|
||||
**特徵**: 開合度 = 0.0,可能是臉部轉向
|
||||
|
||||
---
|
||||
|
||||
### 原因 2: 輕聲說話(開合度 < 0.3)
|
||||
|
||||
**範例**:
|
||||
- 段 4 (6.0-8.0s): "重新用聲音的部分" - 開合度 0.296
|
||||
- 段 7 (10.0-12.0s): "不是很順的地方" - 開合度 0.292
|
||||
|
||||
**特徵**: 開合度 0.29-0.30,接近閾值
|
||||
|
||||
---
|
||||
|
||||
## ✅ 檢測到說話的段分析
|
||||
|
||||
**48 段檢測到說話**,特徵:
|
||||
|
||||
### 高置信度(開合度 > 0.4)
|
||||
|
||||
**範例**:
|
||||
- 段 8 (12.0-15.0s): "不知道大家有沒有遇過很急的案子" - 0.408 ✅
|
||||
- 段 10 (16.0-17.0s): "調光" - 0.415 ✅
|
||||
- 段 15 (21.0-24.0s): "整合作業變得相當複雜" - 0.508 ✅✅
|
||||
- 段 19 (30.0-32.0s): "看起來相當方便的工作流程" - 0.436 ✅
|
||||
|
||||
**特徵**: 開合度 > 0.4,說話清晰
|
||||
|
||||
---
|
||||
|
||||
## 📊 時間序列分析
|
||||
|
||||
### 說話強度變化
|
||||
|
||||
```
|
||||
時間 (s) 開合度 說話狀態
|
||||
0-10 0.30-0.37 ✅ 正常說話
|
||||
10-20 0.00-0.42 ⚠️ 混合(有側臉)
|
||||
20-30 0.00-0.51 ⚠️ 混合(音量變化大)
|
||||
30-40 0.39-0.44 ✅ 正常說話
|
||||
40-50 0.39-0.42 ✅ 正常說話
|
||||
50-60 0.00-0.41 ⚠️ 混合
|
||||
```
|
||||
|
||||
**觀察**:
|
||||
- 開頭 10 秒:穩定說話
|
||||
- 10-30 秒:側臉或音量變化
|
||||
- 30-50 秒:穩定說話
|
||||
- 50-60 秒:又有側臉
|
||||
|
||||
---
|
||||
|
||||
## 🎬 使用建議
|
||||
|
||||
### 整合策略
|
||||
|
||||
**高置信度匹配** (開合度 > 0.4):
|
||||
- ✅ 可直接用於說話者識別
|
||||
- ✅ 約佔 20.5%
|
||||
|
||||
**中等置信度** (開合度 0.3-0.4):
|
||||
- ⚠️ 可參考,需交叉驗證
|
||||
- ✅ 約佔 37.3%
|
||||
|
||||
**低置信度** (開合度 < 0.3):
|
||||
- ❌ 不建議單獨使用
|
||||
- ⚠️ 需結合 Face + ASR
|
||||
|
||||
---
|
||||
|
||||
## 📁 輸出檔案
|
||||
|
||||
**分析腳本**: `scripts/analyze_asr_lip.py`
|
||||
|
||||
**使用方式**:
|
||||
```bash
|
||||
python3 scripts/analyze_asr_lip.py \
|
||||
/tmp/asr_small.json \
|
||||
/tmp/lip_cv_test.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 結論
|
||||
|
||||
### 匹配率
|
||||
|
||||
**57.8%** (48/83) 的 ASR 語音段同時檢測到嘴部動作
|
||||
|
||||
### 準確度評估
|
||||
|
||||
| 指標 | 數值 | 評分 |
|
||||
|------|------|------|
|
||||
| **總匹配率** | 57.8% | ⭐⭐⭐ |
|
||||
| **高置信度** | 20.5% | ⭐⭐⭐⭐ |
|
||||
| **中等置信度** | 37.3% | ⭐⭐⭐ |
|
||||
| **低置信度** | 42.2% | ⭐⭐ |
|
||||
|
||||
### 建議
|
||||
|
||||
1. **使用 Face + ASR 整合**(66.3% 匹配率)
|
||||
2. **Lip 檢測作為輔助**(57.8% 匹配率)
|
||||
3. **改進方向**:
|
||||
- 提高採樣率(從 10 幀改為 5 幀)
|
||||
- 使用更精確的嘴部檢測(Dlib/MediaPipe)
|
||||
- 結合多種證據(Face + ASR + Lip)
|
||||
|
||||
---
|
||||
|
||||
**報告完成**: 2026-04-02
|
||||
Reference in New Issue
Block a user