# SAM3 手寫/印刷區域分割研究結果

## 測試環境
- **服務器**: Linux GPU (192.168.30.36)
- **CUDA**: 13.0
- **Python**: 3.12.3
- **SAM3 版本**: 最新 (2025/11/20 發布)
- **模型大小**: 848M 參數

## 測試圖片
- 來源: 會計師簽證報告 PDF 掃描頁面
- 尺寸: 2481 x 3508 (測試時縮小到 1024 x 1447)
- 內容: KPMG logo、中文印刷文字、手寫簽名 (3個)、紅色印章 (2個)

---

## 測試結果

### 高效檢測 (分數 > 0.5)
| Prompt | 區域數 | 最高分數 | 檢測結果 |
|--------|--------|----------|----------|
| `company logo` | 6 | **0.855** | ✅ 準確檢測 KPMG logo |
| `logo` | 8 | **0.853** | ✅ 準確檢測 KPMG logo |
| `stamp` | 24 | **0.705** | ✅ 準確檢測兩個紅色印章 |

### 低效檢測 (分數 < 0.2)
| Prompt | 區域數 | 最高分數 | 檢測結果 |
|--------|--------|----------|----------|
| `handwritten signature` | 0 | - | ❌ 完全無法檢測 |
| `signature` | 0 | - | ❌ 完全無法檢測 |
| `handwriting` | 0 | - | ❌ 完全無法檢測 |
| `scribble` | 13 | 0.147 | ⚠️ 低分數，位置不準確 |
| `Chinese characters` | 11 | 0.069 | ⚠️ 非常低分數 |

### 完全無法檢測
- `handwritten text`
- `written name`
- `cursive writing`
- `autograph`
- `red stamp` (但 `stamp` 可以)
- `calligraphy`

---

## 關鍵發現

### SAM3 優勢
1. **Logo 檢測**: 非常準確 (0.85+ 分數)
2. **印章檢測**: 效果很好 (0.70+ 分數)
3. **通用物體分割**: 對自然場景中的物體效果優秀

### SAM3 限制
1. **無法識別手寫簽名**: 這是最關鍵的發現
   - 各種 signature 相關的 prompt 分數都接近 0
   - SAM3 可能沒有在文件手寫簽名數據上訓練

2. **中文手寫字體識別差**:
   - `Chinese handwritten characters` 無響應
   - 可能因為訓練數據中缺乏中文手寫樣本

3. **文件場景表現不佳**:
   - SAM3 主要針對自然場景圖片
   - 對掃描文件、表格等場景支持有限

---

## 結論

### SAM3 不適合作為手寫簽名提取的主要方案

**原因**:
1. 無法有效識別「手寫簽名」概念
2. 對中文手寫內容支持不足
3. 在文件掃描場景下表現遠不如自然場景

### 建議保留當前方案
當前 **PaddleOCR + OpenCV Method 3** 方案 (86.5% 手寫保留率) 仍然是更好的選擇：
- PaddleOCR: 專門針對文字識別訓練，可準確定位印刷文字
- OpenCV: 通過遮罩和形態學處理有效分離手寫筆畫

### SAM3 的潛在用途
雖然不適合手寫簽名提取，但 SAM3 可能用於：
- 檢測並遮罩 Logo 區域
- 檢測並排除印章干擾
- 作為預處理步驟的補充工具

---

## 視覺化結果

保存的測試結果圖片：
- `sam3_stamp_result.png` - 印章檢測 (高準確率)
- `sam3_logo_result.png` - Logo 檢測 (高準確率)
- `sam3_scribble_result.png` - Scribble 檢測 (低準確率)

---

## 後續建議

1. **維持現有方案**: PaddleOCR 2.7.3 + OpenCV Method 3
2. **可選整合 SAM3**: 用於 Logo/印章 檢測作為輔助
3. **探索其他模型**:
   - 專門的手寫檢測模型
   - 文件分析模型 (Document AI)
   - LayoutLM 等文件理解模型

---

*測試日期: 2025-11-27*
*分支: sam3-research*
