GitHub超 30000+ star 背后,这款 Supervision 工具为何让视觉开发者欲罢不能?

简介: Roboflow 的 Supervision 是一个基于 MIT 协议的开源视觉辅助库,已获 GitHub 超 30,000 星标。它可解决视觉项目中的可视化、跟踪、计数、格式转换等常见问题,支持 YOLO、Detectron2、Transformers 等模型,适用于视频分析、区域统计、数据集处理等场景。其核心功能包括通用 Detections 类、多种 Annotator 可视化工具、区域统计工具(LineZone & PolygonZone)、视频跟踪与平滑处理、KeyPoints 跟踪、性能指标计算等。

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!

Roboflow 的 Supervision 项目已于近期突破 30,000 个 GitHub Stars,是视觉工程师常用的辅助库,让你告别重复造轮子。 Supervision 是 Roboflow 出品、基于 MIT 协议的开源库,用于解决视觉项目中常见的可视化、跟踪、计数、格式转换等需求。可与 YOLO、Detectron2、Transformers 等模型无缝对接,适用于视频分析、物体追踪、区域计数、数据集处理等场景。

痛点场景

  • 每次项目都重复写绘图、标注、计数逻辑,效率低且容易出错;
  • 不同模型结果格式多样,混用时需要麻烦转格式处理;
  • 视频中要统计物体进出特定区域,自己写逻辑十分繁琐;
  • 可视化效果平淡,缺少统一样式和灵活定制能力。

Supervision 正是为此而生,让你专注模型和应用,不再纠结基础设施。

核心功能

通用 Detections

统一封装检测框、分割 mask、类别、跟踪 ID 等信息,支持从 Ultralytics、Transformers、inference 输出中加载 。

多种 Annotator 可视化

提供超过 20 种 annotator,例如 BoxAnnotator、LabelAnnotator、MaskAnnotator、TraceAnnotator、VertexAnnotator … 支持灵活组合搭配 。

区域工具(LineZone & PolygonZone)

支持定义直线或多边形区域统计目标穿越次数、筛选区域内对象等,适合行为分析、出入口统计 。

视频跟踪与平滑处理

集成 ByteTrack 跟踪器、检测平滑器(DetectionsSmoother),可将视频目标轨迹可视化为 trace 抽象路径与轨迹图 。

支持 KeyPoints 跟踪

可处理姿态估计模型输出(KeyPoints),通过 .as_detections() 转换为 Detections,并与跟踪结合统计人体行为 。

计算性能指标

提供 Precision、Recall、Mean Average Recall、F1 Score 等 CV 评估指标,支持普通与 Oriented Bounding Boxes 评估 。

坐标转换与 IoU / IOS 计算

提供 xyxy_to_xywh/xcycarh 坐标转换函数,支持 IoU 与 IOS(Intersection over Smallest)重叠度评估 。

技术架构

技术优势整理表

模块 优势
Detections 标准化 支持多种模型输入,处理统一一致,代码简洁清晰
Annotator 可定制性 支持样式、颜色、标签、字体等灵活配置
Zone 工具(Line/Polygon) 快速实现区域计数与过滤功能,适用于安防、物流、零售等场景
跟踪集成 自动跟踪目标,获得 tracker_id,后续统计更精准
数据集工具支持 自动转换数据格式,支持 YOLO/COCO/VOC 等格式兼容

使用示例

快速使用示例:YOLOv8 + Supervision 计数视频中的物体

import cv2
import supervision as sv
from ultralytics import YOLO
from supervision.tools.line_counter import LineCounter
from supervision.geometry.dataclasses import Point

model = YOLO("yolov8s.pt")
line = LineCounter(start=Point(100,400), end=Point(100,100))
box_annotator = sv.BoxAnnotator()

cap = cv2.VideoCapture("input.mp4")
while cap.isOpened():
   ret, frame = cap.read()
   if not ret: break
   result = model(frame)[0]
   detections = sv.Detections.from_ultralytics(result)
   line.update(detections=detections)
   annotated = box_annotator.annotate(scene=frame, detections=detections)
   line.annotator.annotate(scene=annotated, line_counter=line)
   cv2.imshow("output", annotated)
   if cv2.waitKey(1)==27: break
print(f"In: {line.in_count}, Out: {line.out_count}")

结果界面可展示视频中方框、轨迹线、计数标签,非常直观(参考上方截图第3张、第4张)。

数据集加载与转换示例

from roboflow import Roboflow
import supervision as sv

rf = Roboflow(api_key="YOUR_KEY")
proj = rf.workspace("...").project("...")
version = proj.version(1)
dataset = version.download("coco")

ds = sv.DetectionDataset.from_coco(
   images_directory_path=f"{dataset.location}/train",
   annotations_path=f"{dataset.location}/train/_annotations.coco.json"
)

可方便地进行训练与验证集格式管理。

识别效果

应用场景

  • 工业流水线检测与计数:使用 LineZoneCounter 对输送带上的物体进出计数。
  • 门禁与人流监控:统计进入/离开指定区域的人数。
  • 零售货架监控:检测商品缺货、位置变化。
  • 交通场景:车辆检测与轨迹跟踪。
  • 通用视频分析平台:辅助模型输出可视化展示与统计分析。
  • 体育分析:球员追踪、区域活动热度可视化

与同类项目对比优势

功能模块 Supervision 自建逻辑 / 其他工具
多模型兼容 YOLO、Detectron2、Transformers、Inference 每种模型格式需手写适配
区域计数工具 内置 LineZoneCounter、PolygonZoneCounter 手写几何判断复杂冗余
可视化注释工具 丰富及定制化 Annotator 支持多样样式 平均只有简单画框,难定制
跟踪组件支持 自动整合 ByteTrack/SORT 等,输出 tracker_id 跟踪逻辑需手动植入
数据集工具支持 支持 coco、yolo、voc 等格式转换与加载 通常需自己写解析器
快速上手与文档完善 pip 安装 + 示例丰富 + 官方博客指导 学习成本高

总结

Roboflow Supervision 已获 GitHub ⭐30.9 k,成为 CV 项目可视化与分析的标配工具库。 它弥合模型输出与业务可视化之间的鸿沟,适配多模型、输出统一、注释灵活、区域统计精准、目标跟踪平滑,可显著降低开发成本。

项目地址:

https://github.com/roboflow/supervision

相关文章
|
11月前
|
机器学习/深度学习 监控 数据可视化
基于YOLOv8的打架斗殴暴力行为智能识别项目源码(目标检测)
本系统结合 YOLOv8检测模型 与 PyQt5界面工具,不仅提供完整训练流程,还支持自定义数据集训练,帮助用户快速搭建 开箱即用的打架斗殴行为识别系统。
1774 28
基于YOLOv8的打架斗殴暴力行为智能识别项目源码(目标检测)
|
12月前
|
人工智能 自然语言处理 搜索推荐
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
|
8月前
|
机器学习/深度学习 监控 安全
基于开源计算机视觉的餐饮场景智能化监控方案实践与实现
本文介绍一套可本地部署的餐饮视觉管理系统,基于YOLO、DeepSORT等模型实现客流统计、桌面识别、后厨安全监测、热力图分析与异常行为预警,支持低算力设备部署,模块化设计适配多场景,数据全本地化,保障隐私安全。
641 0
|
6月前
|
机器学习/深度学习 人工智能 自动驾驶
7种交通场景数据集(千张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在智能交通与自动驾驶技术快速发展的今天,如何高效、准确地感知道路环境已经成为研究与应用的核心问题。车辆、行人和交通信号灯作为城市交通系统的关键元素,对道路安全与交通效率具有直接影响。然而,真实道路场景往往伴随 复杂光照、遮挡、多目标混杂以及交通信号状态多样化 等挑战,使得视觉识别与检测任务难度显著增加。
|
8月前
|
Linux Docker 容器
docker下部署 vLLM 启动Qwen3-VL-32B-Instruct模型
本文介绍在CentOS系统、A10 6×24G显卡环境下,通过Docker部署vLLM并启动Qwen3-VL-32B-Instruct大模型的完整流程,涵盖镜像拉取、容器配置、多卡并行与显存优化设置,支持32K上下文,附带启动脚本及调用验证示例。
9073 2
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
1273 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
11月前
|
机器学习/深度学习 监控 安全
基于YOLOv8的跨越围栏/翻墙行为识别项目|开箱即用全流程源码
本项目基于YOLOv8目标检测模型和PyQt5图形界面工具,成功实现了翻越攀爬围栏和翻墙行为的智能检测系统。通过集成YOLOv8的高效目标检测能力和PyQt5的易用界面,本系统能够准确识别不同场景中的翻越行为,并提供多种输入方式(图片、视频、文件夹、摄像头)进行实时检测,满足多种应用需求。
|
12月前
|
机器学习/深度学习 人工智能 运维
运维的未来,不是加班修Bug,而是AI自愈
运维的未来,不是加班修Bug,而是AI自愈
328 7