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 等。
  • 提供统一的 CLI(sahi predict、sahi predict-fiftyone、sahi coco …),用于图像、视频和 COCO 风格数据集处理。
  • 包含切片 COCO 数据集、格式转换、AP/AR 评估以及生成错误分析图表的工具。
  • 与 FiftyOne 可视化工具集成,可交互式检查预测结果。
  • 在 PyPI 和 Conda-Forge 上分发;安装只需 pip install sahi,并根据所选检测器添加可选依赖。

典型工作流程

  1. 安装库和所需的检测器(例如 pip install ultralytics)。
  2. 运行 sahi predict,指向图像/视频和模型检查点。SAHI 将自动对输入进行切片,在每个切片上运行推理,并输出合并后的检测结果。
  3. (可选)使用 sahi predict-fiftyone 在 FiftyOne 中打开结果进行可视化调试。
  4. 对于数据集级工作,使用 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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目