
Supervision 是一个由 Roboflow 开发的开源 Python 包,旨在为计算机视觉项目提供一套易于使用的工具集。它以 MIT 许可证发布,适用于 Python 3.7 及以上环境,目标是帮助开发者快速构建和部署计算机视觉应用,涵盖从数据加载、目标检测、分割到可视化等功能。

核心功能
Supervision 提供了一系列模块化的工具,适用于各种计算机视觉任务,特点是模型无关(model-agnostic),可以与多种流行的模型库(如 Ultralytics YOLO、Transformers、MMDetection 等)无缝集成。以下是其主要功能:
- 数据集管理:
- 支持加载、分割、合并和保存多种格式的数据集,简化数据预处理流程。
- 提供数据增强功能,如生成图像的多个增强版本以提升模型泛化能力。
- 目标检测与分割:
- 提供
sv.Detections类,用于统一处理目标检测和分割模型的输出,包含边界框(xyxy)、掩码(mask)、置信度(confidence)、类别 ID(class_id)等字段。 - 支持从多种模型(如 YOLO、PaliGemma、YOLO-NAS)加载检测结果,并进行后处理,如非极大值抑制(NMS)等。
- 提供
- 可视化与标注:
- 提供高度可定制的标注器(Annotators),如
BoxAnnotator、LabelAnnotator,用于在图像或视频上绘制检测结果(如边界框、标签等)。 - 支持高级可视化功能,例如百分比条(PercentageBar)、圆角框(RoundedBox)和定向边界框(OrientedBox)。
- 提供高度可定制的标注器(Annotators),如
- 目标跟踪与区域计数:
- 集成多目标跟踪算法(如 ByteTrack),支持视频中的对象跟踪。
- 提供
PolygonZone和LineZone等工具,用于计数进入特定区域或穿越线的对象,适用于零售、交通管理等场景。
- 性能评估:
- 支持 F1 分数等评估指标,用于评估模型性能,特别是针对小目标的检测效果。
- 提供 Intersection over Smallest (IOS) 等重叠度量方法,用于更精确的检测分析。
- 视频处理:
- 支持实时视频分析,提供视频帧生成器(
get_video_frames_generator)和数据导出工具(如 CSV 和 JSON 格式)。 - 可用于实时流处理、速度估计等复杂任务。
- 支持实时视频分析,提供视频帧生成器(
安装方式
Supervision 支持通过 pip 安装,适用于 Python 3.7 及以上版本。以下是安装示例:
pip install supervision
或者从 GitHub 安装开发版本:
git clone https://github.com/roboflow/supervision.git
cd supervision
python3 -m venv venv
source venv/bin/activate
pip install -e "."
对于需要 GUI 支持的桌面版本,可以安装附加组件:
pip install -e ".[desktop]"
注意:从 0.24.0 版本开始,"headless" 和 "desktop" 安装方式已被移除,统一为标准安装。
使用示例
以下是一个简单的目标检测和可视化示例:
import cv2
import supervision as sv
from ultralytics import YOLO
# 加载图像和模型
image = cv2.imread("dog.jpeg")
model = YOLO("yolov8s.pt")
# 进行推理
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)
# 可视化检测结果
box_annotator = sv.BoxAnnotator()
annotated_frame = box_annotator.annotate(scene=image.copy(), detections=detections)
sv.plot_image(annotated_frame)
此代码使用 YOLOv8 模型进行目标检测,并通过 Supervision 的 BoxAnnotator 在图像上绘制边界框。
应用场景
Supervision 广泛应用于零售(客流分析)、交通(车辆速度估计)、安防(无人机检测)等领域。例如,结合 YOLO 和 ByteTrack,可以实现实时车辆跟踪与速度估计,或分析区域内对象的停留时间。
数据统计
相关导航


AI Red Lines(AI红线)

Prezent

MuMuAINovel

朱雀大模型检测

VCCL

Data Commons MCP





