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
相关推荐
木雷坞6 分钟前
Physical AI 数据工厂怎么落地?先把 CUDA、K8s、Quay 镜像拉取稳定下来
人工智能·容器·kubernetes
QYR-分析11 分钟前
高级辅助驾驶系统控制模块行业分析报告
人工智能
STLearner19 分钟前
AI论文速读 | QuitoBench:支付宝高质量开源时间序列预测基准测试集
大数据·论文阅读·人工智能·深度学习·学习·机器学习·开源
Lucifer__hell35 分钟前
【测试】Axure原型的AI测试用例生成方案
人工智能·测试用例·axure
跨境卫士苏苏40 分钟前
清关链路更透明以后跨境卖家如何减少资料反复修改
大数据·人工智能·安全·跨境电商·亚马逊
easy_coder42 分钟前
ReAct 进入死循环?用 Harness 把它拉回来
人工智能·架构·云计算
我是无敌小恐龙1 小时前
Java SE 零基础入门Day06 方法重载+Debug调试+String字符串全套API详解(超全干货)
java·开发语言·人工智能·python·transformer·无人机·量子计算
aidesignplus1 小时前
从平方到线性:Mamba如何挑战Transformer的长序列效率瓶颈?
人工智能·python·深度学习·vim·transformer
三维频道1 小时前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
人工智能AI技术1 小时前
过拟合与欠拟合:机器学习最基础核心问题
人工智能