obss/sahi

Framework agnostic sliced/tiled inference + interactive ui + error analysis plots

什麼是 SAHI

SAHI(Slicing‑Aided Hyper Inference)是一個輕量級的 Python 庫,可輕鬆在極大圖像或影片上執行 物件檢測實例分割 模型。核心概念是 切片推論:輸入圖像會自動切割成重疊的瓦片,每個瓦片送入標準檢測器,再將結果合併回來。這解決了模型僅看到低解析度整體圖像時,容易遺漏微小物件的常見問題。


主要功能(README 中描述)

功能 說明
切片推論 自動將大圖像切分成瓦片,對每個瓦片運行任何支援的檢測器,並合併檢測結果。
框架無關 支援 Ultralytics YOLO(v5, v8, YOLO‑X, YOLO‑E 等)、MMDetection、Detectron2、HuggingFace 🤗 Transformers、TorchVision、Roboflow / RF‑DETR 與 GroundingDINO。
CLI 工具 sahi predictpredict‑fiftyonecoco slicecoco evaluatecoco analysecoco yolo 等,支援快速命令列使用與資料集處理。
FiftyOne 整合 在 FiftyOne 應用中可視化預測結果與錯誤分析。
COCO 工具 切分 COCO 資料集、格式轉換、評估 AP/AR、產生錯誤分析圖表。
影片支援 相同的切片邏輯適用於影片畫格,支援即時或批次推論。
預訓練模型支援 無需額外程式碼——只需將 SAHI 指向支援庫中的任意模型檢查點即可。
豐富的文件與筆記本 每個主要檢測器都有 Colab 筆記本,完整的文件網站,以及一篇描述此方法的論文(ICIP 2022)。

安裝(快速)

pip install sahi            # 核心套件
# 選用 – 安裝你想要使用的檢測器,例如:
# pip install ultralytics>=8.3   # YOLO 系列
# pip install torch torchvision  # 用於 TorchVision 模型
# pip install transformers timm  # HuggingFace 模型
# pip install yolov5==7.0.14    # YOLOv5
# pip install mim && mim install mmdet==3.3.0   # MMDetection

README 也提供 PyTorch、CUDA 與各檢測框架的詳細版本匹配說明。


快速入門範例(來自文件)

from sahi import AutoDetectionModel, get_sliced_prediction

# 選擇任意支援的模型 – 這裡使用 ultralytics 的 YOLOv8
model = AutoDetectionModel.from_pretrained(
    model_type="yolov8",
    model_path="yolov8n.pt",
    confidence_threshold=0.3,
    device="cuda:0",
)

result = get_sliced_prediction(
    "large_image.jpg",
    detection_model=model,
    slice_height=512,
    slice_width=512,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

# 可視化或匯出合併後的檢測結果
result.save("output.jpg")

相同的流程也適用於影片(對每一幀呼叫 get_sliced_prediction)以及其它支援的後端。


何時使用 SAHI?

  • 衛星或航空影像:單張圖像可達數萬像素寬,小物件(汽車、船隻、動物)容易被遺漏。
  • 醫學影像(如全切片病理):需在不降採樣的情況下處理高解析度掃描。
  • 監控影片:希望在多幀中高效檢測微小物件。
  • 基準測試 / 研究 – 庫包含切分 COCO 資料集、評估 AP/AR、產生錯誤分析圖表的工具。
  • 快速原型開發 – 無需重寫現有檢測器程式碼;只需用 SAHI 的 CLI 或 Python API 包裝即可。

資源


總結:SAHI 是一個真實、持續維護的開源套件,透過自動切片、預測與合併結果,讓任何主流物件檢測模型都能應用於超大圖像或影片串流。它專注於 AI/ML 領域(電腦視覺),為開發者提供 CLI 方便性與 Python API。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案