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

server/2024/12/19 22:43:50/

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

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

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

主页: Redirecting

supervision.png

主要功能

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

快速开始

模型

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

import cv2
import supervision as sv
from ultralytics import YOLOimage = 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 svimage = 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 Roboflowproject = 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 demandfor path, image, annotation in ds:# loads image on demand

http://www.ppmy.cn/server/151559.html

相关文章

C# 入门编程

<div id"content_views" class"htmledit_views"><p> 无论你是编程新手&#xff0c;还是想要深化.NET技能的开发者&#xff0c;本文都将为你提供一条清晰的学习路径&#xff0c;从<a href"https://so.csdn.net/so/search?qC%23…

Redis API(springboot整合,已封装)

目录 结构maven导包 pom.xmlapplication.ymlredis 配置类编写Service方法调用示例 结构 maven导包 pom.xml 依赖项主要添加如下 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId…

信息化基础知识——电子商务(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 电子商务 大数…

鸿蒙app封装 axios post请求失败问题

这个问题是我的一个疏忽大意&#xff0c;在这里记录一下。如果有相同问题的朋友&#xff0c;可以借鉴。 当我 ohpm install ohos/axios 后&#xff0c;进行简单post请求验证&#xff0c;可以请求成功。 然后&#xff0c;我对axios 进行了封装。对axios 添加请求拦截器/添加响…

Android14 AOSP 允许system分区和vendor分区应用进行AIDL通信

在Android14上&#xff0c;出于种种原因&#xff0c;system分区的应用无法和vendor分区的应用直接通过AIDL的方法进行通信&#xff0c;但是项目的某个功能又需要如此。 好在Binder底层其实是支持的&#xff0c;只是在上层进行了屏蔽。 修改 frameworks/native/libs/binder/Bp…

Serverless监控和调试、持续集成和持续部署

接下来,我们将探讨Serverless架构中的监控和调试,以及如何在Serverless环境中实现持续集成和持续部署(CI/CD)。 在Serverless架构中,监控和调试是确保应用健康运行的关键。以下是一些监控和调试的最佳实践: 日志聚合:使用云服务提供商的日志服务(如AWS CloudWatch、Azu…

在 Mac ARM 架构(例如 M1 或 M2 芯片)上安装 Node.js

文章目录 方法一&#xff1a;使用 Homebrew 安装 Node.js方法二&#xff1a;使用 Node Version Manager (NVM) 安装 Node.js方法三&#xff1a;从 Node.js 官方网站下载安装包注意事项 在 Mac ARM 架构&#xff08;例如 M1 或 M2 芯片&#xff09;上安装 Node.js 可以通过几种不…

Linux Red Hat安装包安装nodejs

查找你想要的node版本https://nodejs.org/dist/ 这里我使用16版本的 进入Linux&#xff0c;安装node #创建文件夹 mkdir -p /lsp/nodejs#下载 cd /lsp/nodejs wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz#解压 tar xf node-v16.20.2-linux-x64.t…