2026/9/10 12:57:59

把第三方模型接进 CVAT 跑通自动标注:一条最短路径

把第三方模型接进 CVAT 跑通自动标注:一条最短路径 把第三方模型接进 CVAT 跑通自动标注一条最短路径【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvatCVAT 的 serverless 机制让第三方模型以独立服务的形式挂进平台。这篇指南只做一件事带你完成 CVAT 算法集成的最小闭环跑通仓库现成模型讲清平台与算法之间的接口契约做完后你就能在 CVAT 里发起自动标注。先搞懂 serverless模型为什么独立成服务每个算法被打包成独立的函数容器用 Nuclio 统一调度。这样做的好处是模型互相隔离不同框架、不同硬件环境的模型各跑各的一个崩了不拖累平台也不拖累别的模型。仓库在 serverless/ 下内置了四个框架目录PyTorch、TensorFlow、ONNX、OpenVINO从检测、分割到姿态估计、跟踪都有现成实现。配置见 components/serverless/README.md启动服务只需一条命令docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d这条命令会拉起 nuclio 管理端点负责调度模型函数同时给 CVAT 服务端打开 serverless 开关平台从此能看见模型。最短上手路径选一个现成模型先跑通别急着写自己的算法仓库里就有能直接用的 CVAT 第三方模型。以检测类为例YOLOv7 在 serverless/onnx/人脸检测在 serverless/openvino/omz/intel/face-detection-0205/。部署前需要先装 Nuclio 的命令行工具 nuctl。CPU 环境跑 serverless/deploy_cpu.sh它会自动构建基础镜像然后逐个部署目录下所有 function.yaml 配置。GPU 环境跑 serverless/deploy_gpu.sh区别是它只认各模型目录下的 function-gpu.yaml 配置并把运行时挂到 GPU 上。部署完成后nuctl get function --platform local能看到函数列表打开 CVAT 任务页在标注工具里选择刚部署的模型发起自动标注结果会以标注对象的形式落到画布上。先跑通再谈规范顺序反了就容易卡在环境问题里。接口契约你对平台只需做四件事平台的模型调用统一封装在 LambdaManager 里源码在 cvat-core/src/lambda-manager.ts白话说只有四个动作动作方法作用查列表list()拉取当前可部署的模型清单跑推理run(taskID, model, args)把任务 ID 和参数交给模型服务拿到请求 ID盯状态listen(requestID, callback)轮询任务状态和进度百分比取结果call(taskID, model, args)任务完成后取回推理结果推理结果要按固定结构返回核心字段如下type形状类型矩形、多边形、掩码等points边界点坐标数组label类别标签决定框归到哪个类别mask掩码数据attributes附加属性列表如年龄、性别注意源码里属性用的是spec_idvalue的结构模型按这个契约返回结果才能正确落到标注层否则平台不认。高频坑速查三个坑对号入座现象原因解法平台上看不到模型只启动了 nuclio 容器函数本身还没部署或 CPU 机器跑了 GPU 脚本确认装好 nuctl用对应环境的部署脚本部署CPU 认 function.yamlGPU 认 function-gpu.yaml推理明显偏慢本该用 GPU 的模型跑在 CPU 脚本里或未经推理优化改用 serverless/deploy_gpu.sh 部署 GPU 版本用 OpenVINO 转换工具做模型优化参考 serverless/openvino/ 的示例框位置不对或属性不显示坐标系没对齐或属性结构不符合spec_id契约CVAT 图像坐标系原点在主图左上角输出坐标要按此换算多边形点按平铺数组放进points逐字段对照源码契约往哪走这套机制的价值在于把模型部署和标注平台解耦接入一个新 CVAT 自定义模型只需要一个函数目录加一份 yaml。想继续深入直接读 cvat-core/src/lambda-manager.ts 的完整实现请求取消、状态轮询、老接口兼容转换这些细节都在里面。【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考