supervision教程:50.8k星Roboflow计算机视觉可复用工具库

📌 项目:roboflow/supervision | 星数:50.8k(Python,MIT)| 日期:2026-09-18 | 今日 GitHub Trending +329 | 来源:GitHub | Trending详情

📋 项目简介

supervision(50.8k星,MIT,Python)是Roboflow出品的计算机视觉可复用工具库:把CV流水线里重复的检测/分割/追踪/标注可视化/区域计数等环节封装成可复用工具。pip一条安装,对接YOLO、Segment Anything、Detectron2等主流模型。今日Trending +329。

📊 核心特性

特性说明
Detections数据结构统一检测结果容器,跨模型通用(YOLO/SAM/Detectron2)
Annotators可视化BoxAnnotator/LabelAnnotator/MaskAnnotator绘制检测框/标签/掩码
Zone/LineCounter区域计数(多边形Zone)和越线计数(LineCounter),视频流统计
ByteTrack追踪集成ByteTrack目标追踪,视频流跨帧关联
Assets标注工具辅助标注工具,提升人工标注效率

⚡ 安装与运行

# pip安装
pip install supervision

# 检测+可视化(对接YOLO示例)
import supervision as sv
from ultralytics import YOLO

model = YOLO("yolov8n.pt")
results = model("video.mp4")

detections = sv.Detections.from_ultralytics(results[0])
box_annotator = sv.BoxAnnotator()
labels = [f"{model.names[c]} {c:.2f}" for c in detections.class_id]
frame = box_annotator.annotate(scene=frame, detections=detections, labels=labels)

💡 使用建议

📚 常见问题

supervision支持哪些模型?

支持YOLO(Ultralytics)、Segment Anything(SAM)、Detectron2、Grounding DINO、Transformers等主流CV模型。Detections数据结构提供from_ultralytics/from_detectron2/from_sam等适配器统一接口。

Zone和LineCounter有什么区别?

Zone是多边形区域计数(统计进入/离开区域的物体),LineCounter是越线计数(统计穿过某条线的物体)。视频流人流/车流统计常用,如商场客流、路口车流。

能做实时视频流处理吗?

能。配合YOLO+ByteTrack追踪+Zone/LineCounter计数,实现实时视频流检测+追踪+计数+可视化。支持摄像头流和视频文件。