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、MaskAnnotatorTraceAnnotator(轨迹追踪)、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 |