Computer Vision 工具箱 — 42.5k stars。Roboflow 出品,提供模型无关的目标检测/分割/分类后处理、可视化标注、数据集管理一体化工具库。

核心定位

“We write your reusable computer vision tools” — 目标是让开发者专注于业务逻辑,把检测结果后处理、可视化、数据集转换等重复性工作标准化。

核心模块

Detections(核心数据结构)

  • sv.Detections:统一的检测结果容器,兼容主流框架输出
  • 内置 connectors:Ultralytics、HuggingFace Transformers、MMDetection、Inference、rfdetr 等
  • 支持目标检测、实例分割、分类、OBB(方向包围框)

Annotators(可视化标注)

丰富的标注器,支持高度自定义组合:

  • BoxAnnotator、LabelAnnotator、MaskAnnotator
  • TraceAnnotator(轨迹追踪)、HeatMapAnnotator(热力图)
  • PolygonZoneAnnotator(区域统计)

Datasets(数据集管理)

  • 加载/保存:YOLO、COCO、Pascal VOC 格式互转
  • 分割:dataset.split(ratio)
  • 合并:DetectionDataset.merge([ds1, ds2])

Trackers(多目标追踪)

  • 内置 ByteTrack、SORT 等追踪算法集成

VideoProcessing(视频处理)

  • VideoInfo、VideoSink:视频流读写
  • 支持实时流处理管道

使用示例

import supervision as sv
import cv2
 
# 加载检测结果(模型无关)
detections = sv.Detections(...)
 
# 可视化标注
annotator = sv.BoxAnnotator()
annotated = annotator.annotate(scene=image, detections=detections)
 
# 区域统计(越线/进区域计数)
zone = sv.PolygonZone(polygon=polygon)
zone.trigger(detections=detections)

典型应用场景

  • 目标追踪:车辆/行人追踪 + 速度估算
  • 区域分析:人群密度、驻留时间分析(Dwell Time)
  • 数据集准备:格式转换、数据增强、train/val 分割
  • 流量统计:LineZone 越线计数

安装

pip install supervision
# 可选依赖
pip install supervision[assets]  # 示例素材

生态关系

工具说明
roboflow/inference模型推理引擎,返回 sv.Detections
autodistill自动标注,基于 supervision 数据结构
roboflow/notebooks配套教程 notebooks

资源