supervision - 好用的计算机视觉 AI 工具库

Supervision库是一款出色的Python计算机视觉低代码工具,其设计初衷在于为用户提供一个便捷且高效的接口,用以处理数据集以及直观地展示检测结果。简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型,就能轻松实现对图像和视频进行检测、统计某区域的被检测数量等操作。

18400 Stars 1400 Forks 56 Issues 77 贡献者 MIT License Python语言

代码: https://github.com/roboflow/supervision

主页: Redirecting

​

​

主要功能

  • 不同任务的处理: 目标检测与语义分割、目标跟踪、图像分类
  • 数据展示与辅助处理: 颜色设置、识别结果可视化示例、辅助函数
  • 面向实际任务的工具: 越线数量统计、对特定区域进行检测跟踪、切片推理、轨迹平滑

快速开始

模型

Supervision被设计为与模型无关。只需插入任何分类、检测或分割模型。为了方便您,我们已经为最流行的库(如Ultralytics、Transformers库或MMDetection)创建了连接器。

复制代码
import cv2
import supervision as sv
from ultralytics import YOLO

image = cv2.imread(...)
model = YOLO('yolov8s.pt')
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)

len(detections)
# 5
标注

Supervision 提供了一系列高度可定制的标注功能,让您可以为您的用例构建完美的可视化效果。

复制代码
import cv2
import supervision as sv

image = cv2.imread(...)
detections = sv.Detections(...)

box_annotator = sv.BoxAnnotator()
annotated_frame = box_annotator.annotate(
    scene=image.copy(),
    detections=detections
)

https://github.com/roboflow/supervision/assets/26109316/691e219c-0565-4403-9218-ab5644f39bce

数据集

Supervision 提供了一套实用工具,允许您以支持的格式之一加载、分割、合并和保存数据集。

复制代码
import supervision as sv
from roboflow import Roboflow

project = Roboflow().workspace(<WORKSPACE_ID>).project(<PROJECT_ID>)
dataset = project.version(<PROJECT_VERSION>).download("coco")

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

path, image, annotation = ds[0]
    # loads image on demand

for path, image, annotation in ds:
    # loads image on demand
相关推荐
Rocky Ding*2 小时前
一文读懂Kimi K3.1 Pro核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·大语言模型·ai-native
vailee2 小时前
42 万字符的工具输出压进 6,945 token:Agent 长会话的上下文治理实践
java·大数据·人工智能·prompt工程·rag·上下文管理
Data-Miner2 小时前
一个省大模型积分的 Excel 数据处理方案:脱敏生成逻辑,脚本复用把 token 降到 0
人工智能·windows·excel
Dawson Zhu2 小时前
【CUDA编程入门⑧】性能分析工具链:Nsight、Profiler与Roofline模型
人工智能·语言模型·架构·aigc·agi
Smoothcloud润云2 小时前
GPU远程纳管节点频繁离线?心跳、DNS与时钟排障实战
运维·服务器·开发语言·人工智能·php·gpu算力
hsfxuebao2 小时前
深度拆解 TypeSafe Jev:System One 模型
人工智能
smartpi_ai2 小时前
机芯智能离线语音模块实战问答:SU-03T、CI-03T、SU-63T 与 JX-A7T 高频问题排查
人工智能·单片机·嵌入式硬件·ci/cd·语音识别
武子康2 小时前
LingBot-VLA 2.0 怎么从 6B 权重走到真实机器人?55 维动作只是起点
人工智能·后端·agent
ADAI_Bowen3 小时前
如果让建筑AI更好地服务于建筑设计行业
人工智能
小生凡一3 小时前
AI 是怎么学会用鼠标的?Computer Use工作原理
人工智能·计算机外设