Supervision:把检测、画框、跟踪、计数写成几行 Python 的 CV 工具箱

github.com/roboflow/supervision · 许可 MIT

先给判断:每次用 YOLO 跑完推理、想画个框、数个人、算个区域停留时间,都得重写一堆 OpenCV 胶水代码?Supervision 就是来填这个坑的——它不做模型,只做「模型之后」的那一层:把检测结果接住、画出来、跟踪、计数、处理数据集。模型无关,YOLO / Transformers / MMDetection 都能插;MIT 许可,可商用。

一、这个项目是做什么的

Supervision 是 Roboflow 出的开源 Python 工具库,定位是 “可复用的计算机视觉工具”。它不管你用哪个分类 / 检测 / 分割模型,只负责模型产出之后的事:把预测结果接成统一结构、在图或视频上画框与标签、做多目标跟踪、按区域计数、把检测画成可视化,以及加载 / 切分 / 合并 / 转换 COCO、YOLO、Pascal VOC 等数据集格式。

一句话:模型出框,Supervision 接框之后的所有脏活。对做检测、计数、追踪 demo,或做标注数据流转的人来说,它把 OpenCV 里最重复的那 30% 抽成了稳定库。

二、怎么用

安装(命令逐字取自 README,要求 Python>=3.9):

pip install supervision

最小可用片段(README quickstart 原文):

import cv2
import supervision as sv
from ultralytics import YOLO

image = cv2.imread(...)
model = YOLO("yolov8s.pt")
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)

len(detections)

把检测画到图上(同样取自 README):

box_annotator = sv.BoxAnnotator()
annotated_frame = box_annotator.annotate(
    scene=image.copy(),
    detections=detections)

它还提供 connectors 直接接 Ultralytics、Transformers、MMDetection,以及 Roboflow Inference(后者需要 Roboflow API Key)。数据集侧则可用 sv.DetectionDataset 在 COCO / YOLO / Pascal VOC 之间互转、切分、合并。

三、有什么优点

· 模型无关:换模型只换一行,后面的画图 / 计数 / 跟踪逻辑都不动。

· 少写胶水:BoxAnnotator、Detections、DetectionDataset 把最常见的 CV 后处理标准化,从 demo 到产品都省事。

· 数据集一站搞定:COCO / YOLO / Pascal VOC 互转、切分、合并,标注流转不再手写。

· MIT 许可:可商用、可闭源修改,无 Copyleft 顾虑。

四、有什么缺点 / 坑

· 它不是模型:只装 supervision 跑不出检测,你得自己带 YOLO 等权重和推理代码(或用 Roboflow Inference,那要 API Key)。

· 版本迁移有坑:内置跟踪器 sv.ByteTrack 已在 0.28.0 弃用、0.31.0 移除,改用外部 trackers 包的 ByteTrackTracker;老代码升级会直接报错,要按移除指南改。

· 默认模型在变:官方文档 / 示例已把 RF-DETR 设为默认模型,跟旧教程对不上时要留意版本差。

· 偏库不是产品:没有 GUI、没有端到端部署,纯 Python API,新手要自己拼 pipeline。

五、最终能达到什么效果

“检测 → 画框 → 跟踪 → 计数 → 出数据集” 这条最常写的 CV 流水线,压缩成几行可读的 Python。对做检测 / 计数 / 追踪 demo、做数据标注流转、或给产品快速接视觉能力的人来说,相当于把 OpenCV 里最重复的胶水层换成了稳定依赖。

适合谁 / 不适合谁 / 坑

· 适合谁:用 YOLO / Transformers 等做检测或跟踪、厌倦重写画框计数代码、做 CV demo 或数据标注流转的开发者。

· 不适合谁:只想 “装一个就能检测” 的零代码用户;不写 Python、要现成 GUI / 部署的人。

· 一句话坑:先确认你已有模型与推理代码;升级到 0.31.0+ 注意 ByteTrack 已迁到外部 trackers 包,老脚本要改;许可 MIT 可商用无虑。

下期预告:下一期看 anthropics/knowledge-work-plugins——Anthropic 官方给知识工作者做的 Claude Cowork 插件集,看大厂怎么把 Agent 能力做成可复用插件。

数据脚注:仓库 github.com/roboflow/supervision;许可证 MIT(Copyright 2022 Roboflow,可商用、可闭源);安装命令 pip install supervision 与 quickstart 代码片段均逐字取自官方 README(main 分支);内置跟踪器 sv.ByteTrack 于 0.28.0 弃用、0.31.0 移除并迁至外部 trackers 包、RF-DETR 成为文档默认模型等来自仓库近期提交与文档;未做实测运行,实际以官方文档为准。抓取时间 2026-09-17。