当前位置: 首页 > 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.sczhlp.com/news/102511/

相关文章:

  • 深入解析:【JavaEE】网络原理初识
  • Office文档投毒技术:SHVE中的会话劫持视觉利用新突破
  • 青岛网站建设代理加盟wordpress每个标签文章置顶
  • wordpress做网站过程网页响应式
  • 海外自建站重庆工程信息网查询
  • 胶南网站建设公司网线制作步骤及方法七个步骤
  • 四川住房和建设厅官网网站建设seo优化
  • 广州建设交易中心网站大连seo外包公司
  • 爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】
  • 简洁美观!一款值得 Star 的 Java 博客项目!
  • 数据结构与算法-33.图-加权有向图最短路径
  • 网站备案都需要什么湖南网站建设平台
  • 黄岩路桥网站设计廉洁四川官方网权威发布
  • 市场部做网站工作职责wordpress getterm
  • 手机网站开发者模式wordpress自定义文章类别
  • 百度网站建设微信封面网站设计兼容模式
  • 最专业微网站建设价格珠海seo网站建设
  • 视频网站建站免费重庆沙坪坝地图全图
  • 网站建设合同附件傻瓜式做网站软件
  • 手表网站哪家好招聘网络推广专员
  • 白子的情人节礼物
  • 白子的情人节礼物 题解
  • Ubuntu上进行Zookeeper集群部署
  • 网站安全和信息化建设wordpress标签云不显示图片
  • wordpress微信登录设置密码系统优化包括哪些
  • 网站内链优化的角度最好的手机网站建设
  • 免费的黄冈网站有哪些单页网站是什么样子的
  • 商城网站开发实施方案提升网站页面打开速度
  • 企业网站 免费 phpwordpress主题打不开
  • 外贸是什么意思宁波seo在线优化