# Scene Classification 選型評估報告

**日期**：2026-05-07  
**狀態**：❌ 棄用（不適合 Momentry 場景）

---

## 評估目標

對影片中的每個 cut scene 進行場景分類（室內/室外/辦公室/雪景等），提供 metadata 給 5W1H+ summary 和搜尋使用。

## 評估模型：Places365 (ResNet18)

| 項目 | 內容 |
|------|------|
| 模型 | ResNet18 預訓練於 Places365（365 類場景） |
| 授權 | MIT（可商用） |
| 大小 | 43MB（PyTorch）/ 23MB（CoreML） |
| 推論速度 | CPU: 12.4ms / **ANE: 0.4ms（28x 加速）** |
| 測試影片 | Charade (1963), 6785s, 25fps, 黑白 |

## 測試結果

### 測試 1：2 秒取樣間隔（註冊階段）

| 參數 | 值 |
|------|------|
| sample_interval | 2s |
| 模型 | CPU PyTorch |
| 產出 | 1 scene（class 129: "door", 32%） |

### 測試 2：5 秒取樣間隔 + ANE CoreML

| 參數 | 值 |
|------|------|
| sample_interval | 5s |
| 模型 | CoreML ANE（0.4ms） |
| 樣本數 | 1,357 frames |
| 處理時間 | 129.8s |
| 產出 | **1 scene（class 129: "door", 32%）** |

### 測試 3：top-5 分析

| Rank | Class | Name | Confidence |
|------|-------|------|-----------|
| 1 | 235 | concourse | 46% |
| 2 | 177 | escalator | 25% |
| 3 | 129 | **door** | **32%（被選中）** |
| 4 | 315 | indoor | 3% |
| 5 | 306 | sky | 2% |

> *註：門（32%）被選為主 scene_type，但大廳（46%）的 top-1 信心更高，顯示 scene 合併邏輯有問題。top-5 僅來自第一幀而非全體平均。*

## 問題分析

### 問題 1：Places365 類別不匹配電影場景

| 需求場景 | Places365 分類 | 結果 |
|---------|---------------|------|
| 1963 年巴黎街道 | street, alley | ❌ 1920x1080 黑白片辨識度低 |
| 室內客廳 | living_room | ❌ 分類為 door |
| 辦公室 | office | ❌ 不存在 top-5 |
| 雪景 | snow | ❌ 不存在 |
| 車內 | car_interior | ❌ 不在 365 類中 |

### 問題 2：場景切割 logic 不足

`_merge_scenes` 沒有正確偵測場景轉換。整部 6785s 被歸為一個場景，因為 Places365 對每個 frame 的分類變化不足以觸發 scene cut（min_scene_duration=3s）。

### 問題 3：top-5 只來自第一幀

```python
# 程式碼中的 bug
"top_5": first_pred["predictions"][:5]  # 只用第一幀的 predictions
```
而不是收集所有幀的 top-5 統計。

## 棄用原因

| 原因 | 說明 |
|------|------|
| 類別不匹配 | Places365 的 365 類場景是「風景/場所」分類，不適用於電影場景分析 |
| 切割失敗 | 無法正確偵測 scene 轉換 |
| 黑白影片 | 訓練資料為彩色照片，對黑白老電影辨識力低 |
| 替代方案 | Pipeline 已有 **CUT processor（PySceneDetect）** 做場景切分（1,130 cuts），準確度遠高於 Places365 |
| 5W1H+ 可補充 | LLM（Gemma4）可以直接從 transcript 推斷場景類型，不需要視覺分類 |

## 建議替代方案

| 方案 | 優點 | 缺點 |
|------|------|------|
| **CUT processor 現有切分** ✅ | 已產出 1,130 cuts，準確 | 只有時間點，無場景類型 |
| **LLM 從 transcript 推斷** | 不需要視覺模型，5W1H+ 已整合 | 只能從對話推測 |
| **YOLO 物件輔助** | 已檢測 75 類物件（car, chair, phone） | 間接推測，非直接場景分類 |
| **專用電影場景資料集（MovieNet/SUN）** | 更適合電影場景 | 需要另找模型 |

## 結論

**Places365 不適用於 Momentry 的場景分類需求。** 目前 CUT processor 的 1,130 個 scene cuts + YOLO 物件檢測 + 5W1H+ LLM 分析，已能提供足夠的場景資訊。未來若有需求可評估 MovieNet 或 SUN RGB-D 等電影專用資料集。
