当前位置: 首页 > news >正文

GitHub超 30000+ star , 超强大的开源项目Supervision

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

项目地址:

https://github.com/roboflow/supervision

痛点场景

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

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 Pointmodel = 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: breakresult = 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 svrf = 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"
)

 

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

识别效果

d

 

应用场景

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

与同类项目对比优势

功能模块

Supervision

自建逻辑 / 其他工具

多模型兼容

YOLO、Detectron2、Transformers、Inference

每种模型格式需手写适配

区域计数工具

内置 LineZoneCounter、PolygonZoneCounter

手写几何判断复杂冗余

可视化注释工具

丰富及定制化 Annotator 支持多样样式

平均只有简单画框,难定制

跟踪组件支持

自动整合 ByteTrack/SORT 等,输出 tracker_id

跟踪逻辑需手动植入

数据集工具支持

支持 coco、yolo、voc 等格式转换与加载

通常需自己写解析器

快速上手与文档完善

pip 安装 + 示例丰富 + 官方博客指导

学习成本高

总结

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

http://www.wxhsa.cn/company.asp?id=4413

相关文章:

  • 深入解析:【JavaEE】网络原理初识
  • Office文档投毒技术:SHVE中的会话劫持视觉利用新突破
  • 爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】
  • 简洁美观!一款值得 Star 的 Java 博客项目!
  • 数据结构与算法-33.图-加权有向图最短路径
  • 白子的情人节礼物
  • 白子的情人节礼物 题解
  • Ubuntu上进行Zookeeper集群部署
  • The Landscape of Agentic Reinforcement Learning综述 - jack
  • A Survey of Reinforcement Learning for Large Reasoning Models - jack
  • r-nacos支持mcp,内置mcp server支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。
  • MacOS下微信小程序抓包教程
  • nvm – nodejs版本管理工具
  • 财务系统里面,怎么合并使用两个经费本号
  • 【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解
  • 新范式-LLaDA-VLA 基于扩散模型 VLA模型 - jack
  • Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?
  • 5 遥感与机器学习第三方库安装 - 详解
  • 移远OPENCPU笔记
  • 2025.9.16——1绿
  • Unity游戏开发:互动小游戏的技术实现与运营盈利之道
  • 如何实现主线程捕获子线程异常
  • LGP5688 [CSP-S-JX 2019] 散步 学习笔记
  • 少儿练字控笔字帖
  • 架构师必备:缓存更新模式总结
  • 为什么不能在try-catch中捕获子线程的异常 ?
  • sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践
  • 2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过
  • 一款带有AI功能的markdown工具
  • 45万亿!中国智驾的新风口来了