obss/sahi
Framework agnostic sliced/tiled inference + interactive ui + error analysis plots
SAHI – スライス支援ハイパー推論
概要 – SAHI は、物体検出モデルを非常に大きな画像や動画でより良く機能させる軽量な Python ライブラリです。入力画像を重複するタイルに自動的に分割し、各タイルで標準的な検出器を実行し、結果を再結合します。この手法はスライス推論と呼ばれ、見逃されがちな小さな物体の発見に役立ちます。
主な機能
- 多くの一般的な検出バックエンドに対応:Ultralytics YOLO(v5、v8、YOLOX、YOLO-E など)、MMDetection、Detectron2、Hugging Face 物体検出パイプライン、TorchVision、Roboflow RF-DETR、GroundingDINO など。
- 画像、動画、COCO スタイルのデータセット処理のための統一 CLI(
sahi predict、sahi predict-fiftyone、sahi coco …)を提供。 - COCO データセットのスライス、形式変換、AP/AR 評価、エラー分析プロット生成のためのユーティリティを含む。
- FiftyOne 可視化ツールと統合し、予測結果を対話的に検査可能。
- PyPI と Conda-Forge で配布。インストールは
pip install sahiに、選択した検出器に応じたオプション依存関係を追加するだけです。
典型的なワークフロー
- ライブラリと必要な検出器をインストール(例:
pip install ultralytics)。 sahi predictを実行し、画像/動画とモデルチェックポイントを指定します。SAHI が自動的に入力をタイル分割し、各タイルで推論を実行し、マージされた検出結果を出力します。- (オプション)
sahi predict-fiftyoneを使用して FiftyOne で結果を開き、視覚的にデバッグします。 - データセットレベルの作業では、
cocoサブコマンドを使用してアノテーションをスライスしたり、グランドトゥルースと評価したり、特定のフレームワークが必要とする形式に変換したりできます。
重要性 – 大規模な航空、衛星、または医療画像には、標準的な検出器では数ピクセルしか占めない小さな物体が見落とされることがよくあります。画像をスライスすることで、SAHI は既存モデルのアーキテクチャを維持しながら、再トレーニングなしで小さな物体の再現率を大幅に向上させます。
リソース
- 公式論文(ICIP 2022)– https://ieeexplore.ieee.org/document/9897990
- 主要な検出器ごとのクイックスタートノートブック(すべて Google Colab で実行可能)
- SAHI を引用した論文やコンペティション受賞のコミュニティ管理リスト
- HuggingFace Space デモ:大画像での YOLOX 推論を紹介
インストールスニペット
pip install sahi # コアライブラリ
# 検出器フレームワークを選択、例:
pip install ultralytics>=8.3 # YOLO ファミリー
# または MMDetection サポート:
pip install mim && mim install mmdet==3.3.0
はじめに – インストール後、デモノートブックを試してください:
jupyter notebook demo/inference_for_ultralytics.ipynb
またはコマンドラインでワンライナーを実行:
sahi predict --model yolov8n.pt --image path/to/large_image.tif
上記の情報はすべてリポジトリの README から直接取得しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト