docs: 添加長影片場景識別測試報告
測試結果: - ✅ Old_Time_Movie_Show (114 分鐘) 處理成功 - ✅ 處理時間 313 秒(5.2 分鐘) - ✅ 加速比 22x - ✅ 記憶體使用穩定(3-4GB) - ✅ 1,379 個取樣點 效能指標: - 取樣間隔:5 秒 - 最小場景:10 秒 - 場景數量:1(ImageNet 模型限制) - 信心度:25% 建議: - 下載 Places365 模型提升準確率 - 整合 CUT 場景切換偵測 - 優化長片處理策略
This commit is contained in:
185
docs_v1.0/TESTING/LONG_MOVIE_SCENE_TEST_2026_04_01.md
Normal file
185
docs_v1.0/TESTING/LONG_MOVIE_SCENE_TEST_2026_04_01.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# 長影片場景識別測試報告
|
||||
|
||||
| 項目 | 內容 |
|
||||
|------|------|
|
||||
| 測試日期 | 2026-04-01 |
|
||||
| 測試影片 | Old_Time_Movie_Show_-_Charade_1963.HD.mov |
|
||||
| 測試狀態 | ✅ 通過 |
|
||||
|
||||
---
|
||||
|
||||
## 測試影片資訊
|
||||
|
||||
### Old_Time_Movie_Show_-_Charade_1963
|
||||
- **檔案大小**: 2.3 GB
|
||||
- **時長**: 6,879.3 秒 (114 分 39 秒)
|
||||
- **FPS**: 59.94
|
||||
- **總幀數**: 412,343
|
||||
- **解析度**: 1920x1080 (HD)
|
||||
- **類型**: 電影(多場景)
|
||||
|
||||
---
|
||||
|
||||
## 測試參數
|
||||
|
||||
```bash
|
||||
python3 scripts/scene_classifier.py \
|
||||
"Old_Time_Movie_Show_-_Charade_1963.HD.mov" \
|
||||
charade_scene_output.json \
|
||||
--sample-interval 5.0 \
|
||||
--min-scene-duration 10.0
|
||||
```
|
||||
|
||||
### 參數選擇理由
|
||||
- **取樣間隔 5 秒**: 電影場景變化較慢,減少取樣點提升速度
|
||||
- **最小場景 10 秒**: 避免過於細碎的場景分段
|
||||
|
||||
---
|
||||
|
||||
## 測試結果
|
||||
|
||||
### 處理效能
|
||||
|
||||
| 指標 | 結果 | 備註 |
|
||||
|------|------|------|
|
||||
| 總處理時間 | 313.3 秒 | 約 5.2 分鐘 |
|
||||
| 影片時長 | 6,879.3 秒 | 114 分 39 秒 |
|
||||
| 加速比 | 22x | 實時 22 倍 |
|
||||
| 取樣點數 | 1,379 個 | 每 5 秒取樣 |
|
||||
| 處理 FPS | ~1,317 | 含模型載入 |
|
||||
| 記憶體使用 | ~3-4 GB | M4 16GB 系統 |
|
||||
|
||||
### 識別結果
|
||||
|
||||
| 指標 | 結果 |
|
||||
|------|------|
|
||||
| 場景數量 | 1 |
|
||||
| 場景類型 | scene_834 |
|
||||
| 持續時間 | 6,873.9 秒 |
|
||||
| 信心度 | 25.3% |
|
||||
|
||||
### Top 5 預測
|
||||
1. scene_818 (4.0%)
|
||||
2. scene_896 (2.2%)
|
||||
3. scene_892 (1.7%)
|
||||
4. scene_619 (1.6%)
|
||||
5. scene_631 (1.5%)
|
||||
|
||||
---
|
||||
|
||||
## 效能分析
|
||||
|
||||
### 取樣策略評估
|
||||
|
||||
**5 秒間隔**:
|
||||
- ✅ 處理速度快(313 秒 vs 1,565 秒)
|
||||
- ✅ 記憶體使用穩定
|
||||
- ⚠️ 可能錯過短暫場景變化
|
||||
|
||||
**建議**:
|
||||
- 對於電影:5-10 秒間隔合適
|
||||
- 對於短片/廣告:2-3 秒間隔更佳
|
||||
|
||||
### 場景合併結果
|
||||
|
||||
**單一場景原因**:
|
||||
1. 使用 ImageNet 模型(非 Places365)
|
||||
2. 電影包含多種場景,模型難以區分
|
||||
3. 信心度分散(Top 1 僅 4%)
|
||||
|
||||
**預期改進**:
|
||||
- 使用 Places365 模型後,應能識別多個場景
|
||||
- 信心度應提升至 60-80%
|
||||
|
||||
---
|
||||
|
||||
## 與短片測試比較
|
||||
|
||||
| 指標 | 短片 (ExaSAN) | 長片 (Charade) |
|
||||
|------|--------------|----------------|
|
||||
| 影片時長 | 159.6 秒 | 6,879.3 秒 |
|
||||
| 處理時間 | 1.2 秒 | 313.3 秒 |
|
||||
| 取樣間隔 | 2 秒 | 5 秒 |
|
||||
| 取樣點數 | 79 | 1,379 |
|
||||
| 場景數量 | 1 | 1 |
|
||||
| 信心度 | 37% | 25% |
|
||||
| 加速比 | 133x | 22x |
|
||||
|
||||
### 觀察
|
||||
- 長片處理時間線性增長
|
||||
- 信心度較低(場景多樣性高)
|
||||
- 加速比較低(模型載入時間佔比小)
|
||||
|
||||
---
|
||||
|
||||
## 技術限制
|
||||
|
||||
### 目前限制
|
||||
1. **模型準確率**
|
||||
- ImageNet 模型非場景分類專用
|
||||
- 信心度偏低(25-37%)
|
||||
- 場景名稱爲 scene_XXX 格式
|
||||
|
||||
2. **場景邊界偵測**
|
||||
- 未整合 CUT 模組
|
||||
- 無法精確識別場景切換點
|
||||
- 建議後續整合
|
||||
|
||||
3. **處理速度**
|
||||
- 長片需 5+ 分鐘
|
||||
- 可優化:批次處理、GPU 加速
|
||||
|
||||
### 改進建議
|
||||
1. 下載 Places365 專門模型
|
||||
2. 整合 CUT 場景切換偵測
|
||||
3. 實現多線程/批次處理
|
||||
4. 使用 Core ML 模型(M4 優化)
|
||||
|
||||
---
|
||||
|
||||
## 測試結論
|
||||
|
||||
### ✅ 通過項目
|
||||
- ✅ 長影片處理成功(114 分鐘)
|
||||
- ✅ 記憶體使用穩定(無溢位)
|
||||
- ✅ 處理時間可接受(5.2 分鐘)
|
||||
- ✅ JSON 輸出格式正確
|
||||
- ✅ 取樣策略有效
|
||||
|
||||
### ⚠️ 改進空間
|
||||
- 場景識別準確率(需 Places365 模型)
|
||||
- 場景邊界偵測(需整合 CUT)
|
||||
- 處理速度(可優化)
|
||||
|
||||
### 📋 下一步
|
||||
1. 下載 Places365 專門模型
|
||||
2. 整合 CUT 場景切換偵測
|
||||
3. 測試更多電影類型
|
||||
4. 優化長片處理策略
|
||||
|
||||
---
|
||||
|
||||
## 附錄:測試命令
|
||||
|
||||
```bash
|
||||
# 長影片測試(5 秒間隔)
|
||||
python3 scripts/scene_classifier.py \
|
||||
"Old_Time_Movie_Show_-_Charade_1963.HD.mov" \
|
||||
output.json \
|
||||
--sample-interval 5.0 \
|
||||
--min-scene-duration 10.0
|
||||
|
||||
# 更快速測試(10 秒間隔)
|
||||
python3 scripts/scene_classifier.py \
|
||||
"Old_Time_Movie_Show_-_Charade_1963.HD.mov" \
|
||||
output.json \
|
||||
--sample-interval 10.0 \
|
||||
--min-scene-duration 30.0
|
||||
|
||||
# 精細測試(2 秒間隔)
|
||||
python3 scripts/scene_classifier.py \
|
||||
"Old_Time_Movie_Show_-_Charade_1963.HD.mov" \
|
||||
output.json \
|
||||
--sample-interval 2.0 \
|
||||
--min-scene-duration 5.0
|
||||
```
|
||||
Reference in New Issue
Block a user