十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

CVAT 版本演进全解:从 CHANGELOG 读懂 CVAT 的功能变迁、升级要点与变更管理实践

CVAT 版本演进全解:从 CHANGELOG 读懂 CVAT 的功能变迁、升级要点与变更管理实践 CVAT 版本演进全解从 CHANGELOG 读懂 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/cvat导读CVATComputer Vision Annotation Tool是构建高质量视觉数据集的领先标注平台。本文以仓库根目录下的 CHANGELOG.md 为骨架系统梳理 CVAT 从 v2.74.1 回溯到 v0.1.0 的完整版本演进史重点解读 Server API、SDK/CLI、Webhooks、质量控制、音频/3D 标注、云存储与 Helm 部署等核心维度的关键变更并揭示仓库如何用 scriv 工具链维护这份变更日志。读完本文你将掌握 CVAT 各版本的功能边界、破坏性变更清单升级前必读以及碎片提交 → 自动聚合 → 随版本发布的规范化变更管理流程可直接用于版本选型与升级评估。1. 一份 6000 行的版本档案CHANGELOG.md 概览CVAT 仓库根目录下的CHANGELOG.md是一份超过 6000 行的完整版本档案覆盖从 2018 年 6 月的 v0.1.0Initial version到 2026 年 9 月的 v2.74.1 的全部正式版本。文件开篇即声明了两条项目规范变更日志格式遵循 Keep a Changelog项目版本号遵循 Semantic Versioning语义化版本。每个版本条目按Added / Changed / Deprecated / Removed / Fixed / Security六类组织且几乎每条变更都附带对应的 PR 或安全公告编号方便追溯实现细节。这是一份面向升级决策和API 兼容性评估的一手资料而非营销文案。从发布节奏看CVAT 保持高频迭代2024 年下半年之后基本维持每 14 周一个版本的节奏且补丁版本如 2.40.1、2.44.1、2.56.1专门承载紧急修复与安全加固。对使用者而言Security小节是每次升级前最应优先阅读的部分。2. 近一年主线v2.5x ~ v2.7x 的关键能力演进2.1 音频标注从 workspace 到区间编辑的完整闭环v2.68.02026-06-10正式引入音频标注工作区audio annotation workspace包含波形控制、区间区域interval regions与音频任务创建能力PR #10708是音频能力从 0 到 1 的起点。v2.69.0优化音频区间创建交互——创建区间后自动切换到 Cursor 模式并使新区间处于激活状态PR #11013。v2.70.0音频区间支持Pin固定功能PR #11031音频工作区的 Edit 与 Cursor 两种模式合并为单一的 Cursor 模式波形图新增时间轴刻度。v2.74.02026-08-26为音频区间增加 Shift 辅助的批量边界编辑PR #11024、Set playback to interval start/end与Fit Interval区间动作PR #11076、波形迷你图播放位置跳转按钮等。配套修复贯穿始终光标跳位v2.74.0 PR #11002、波形与播放同步v2.73.0 PR #10980、波形迷你图播放光标v2.74.0 PR #11079等。同时v2.66.02026-05-26在 Server API 层面引入全新的区间Interval标注类型——带start/stop边界的注释对象PR #10583并同步支持音频任务的备份导入导出以及用于导入导出区间标注的通用 TSV 数据集格式。2.2 质量控制从简单报告到分层质量需求体系质量控制是近一年 Server API 变化最密集的领域之一v2.55.0质量报告可下载为混淆矩阵 CSVPR #10177。v2.65.0引入Prefer: handlingempty请求头RFC 7240无媒体预览的实体如点云任务返回 204 而非占位图。v2.69.0修复parent_id指向无权访问报告时的错误响应并修复允许用户探测其非成员组织内报告位置的信息泄露问题PR #10807。v2.74.0加入可配置的分层质量需求hierarchical quality requirements——任务与项目可设置质量需求需求可用过滤器选择注释子集、继承比较设置、定义指标阈值与属性比较规则质量报告随之包含按需求拆分的结果与可下载的混淆矩阵PR #10436。这是质量控制从全局设置走向按需求定制的架构性变更。v2.74.1优化按任务/项目过滤质量报告的性能且按task_id/project_id过滤时target参数成为必填PR #11120嵌套报告按父报告过滤时同样要求target并拒绝不兼容的 parent 与报告目标组合。值得注意的是社区版在v2.19.0曾移除质量报告PR #8329其后于 v2.37.0 又为项目引入注释质量检查PR #9116当前仓库 cvat/apps/quality_control/ 下已沉淀出完整的质量计算、比较、导出与队列管理模块。2.3 Webhooks 与后台请求异步化的持续推进v2.65.0Webhook 投递新增自动重试机制5xx、连接错误、超时退避策略为 5s → 5min → 30min → 3h → 24h × 4PR #10578新增create:export、create:backup事件数据集导出/备份完成成功或失败时主动通知订阅者无需再轮询/api/requests。v2.68.0Webhook 投递新增attempt与request_duration字段PR #10693。v2.69.0GET /api/webhooks/events返回值从纯事件 key 字符串改为包含key与group.display_name的对象移除不可用的delete:organization事件create:export/create:backup更名为completed:request[export:{dataset,annotations,backup}]——这是对既有客户端不兼容的破坏性变更PR #10897。v2.73.0为异步请求增加 WebhooksPR #10897update webhook 负载新增changes字段。v2.71.0减少误导性日志——仅在所有重试耗尽后才记录投递失败异常并缩短对不可达消费者的连接超时。与之配套/api/requests成为统一的后台任务查询入口v2.37.0 起各类rq_id状态查询端点陆续废弃。仓库中的 cvat/apps/webhooks/ 实现了事件类型定义、分发、重试与签名校验。2.4 云存储与 Backing Cloud Storage媒体存储架构升级v2.59.0支持将云存储作为本地任务的 backing storagePR #10282。v2.64.0服务器可配置将所有新建的符合条件任务存放到指定 backing cloud storagePR #10514。v2.74.0S3 类云存储可作为视频任务的 backing cloud storagePR #11087。配套修复点云.bin文件分块检索v2.64.0、manifest 不完整路径的分块生成v2.62.0、备份导入时图片库行乱序v2.65.0、删除大量云存储任务时的内存占用v2.74.0等。2.5 CLI / SDKProfile 体系与 auto-annotation 生态CLI 在 v2.71.0v2.73.0 完成了凭据管理范式的重构v2.71.0新增--profile NAME选项选择已保存的服务器/凭据 profile取代--server-host/--server-port/--auth新增cvat-cli config default-server命令。v2.72.0新增cvat-cli profile系列命令list/create/set-default/delete。v2.73.0cvat-cli profile create新增--file选项从纯文本或 JSON envelope 读取 PATPR #10896。SDK 侧同步演进make_client_from_profile、make_client_from_cli、resolve_server_host等辅助函数v2.70.0PR #10824list()方法支持组合式F字段 DSL 与关键字查找v2.70.0PR #10778Client.login()与make_client()支持 API token 认证v2.48.0。auto-annotation自动标注方面CVAT 提供了cvat_sdk.auto_annotation模块与 CLIauto-annotate命令v2.6.0函数类型持续扩展——detector检测、interactor交互、tracker跟踪v2.42.0以及 interaction 类型的 agent 支持v2.71.0详见仓库 cvat-sdk/cvat_sdk/auto_annotation/。交互器在 v2.60.0 统一了接口并支持返回多个形状、置信度属性与文本提示PR #10329。3. 破坏性变更清单升级前必读v2.6x ~ v2.7x根据 CHANGELOG 中的Removed/Deprecated/Changed标注以下变更需要使用者格外留意版本变更影响v2.73.0移除delete:organizationwebhook 事件create:export/create:backup更名为completed:request[...]既有 webhook 订阅者必须更新事件名v2.72.0后端源码安装路径由/home/django改为/opt/cvat且归属 root后端日志不再写入logs/cvat_server.log依赖旧路径的监控/排查脚本需调整v2.70.0移除此前已废弃的服务端 schema 自动探测SDK/CLI 需显式指定http:///https://前缀v2.69.0移除create:export等旧事件名同上SDKx_organization参数优先于客户端级organization_slug多组织调用语义修正v2.68.0限制组织 worker 导出数据集/备份的权限权限收紧需重新校验自动化脚本v2.65.0任务无数据时dimension字段改为空而非2dimage_quality最小值改为 1枚举类字段不再被?search匹配API 响应语义变化过滤逻辑需改用精确匹配v2.65.0注释的group字段用0替代nullnull已废弃API 输入输出规范化v2.60.0交互器interactor接口统一对齐/annotationsAPI 与 detector 输出自定义 serverless 交互函数需迁移v2.56.0移除 consensus quorum 设置合并函数保留所有带分数的形状共识任务的过滤方式改为按 score 阈值v2.49.0GET /api/auth/access_tokens仅返回本人 token管理员也不例外移除owner过滤器管理脚本需适配v2.48.1不再支持从 v2.0.0 之前版本直接升级过老版本需先升级到中间版本4. 安全公告汇总每版 Security 小节的共性规律纵观各版本Security小节CVAT 的安全修复集中在几个高发领域值得部署方建立例行升级机制XSS 漏洞注释指南annotation guide相关多次中招——v2.64.0GHSA-m2h7-6xqm-p9v5、v2.67.0GHSA-w6mx-95ff-72cv、v2.70.0 音频任务注释指南GHSA-chxx-45vm-qhc9、v2.55.0 骨架 SVGGHSA-3m7p-wx65-c7mp以及 v2.19.0 请求/质量报告端点两处 XSS。路径遍历v2.65.0 修复多处路径遍历漏洞GHSA-6f87-4g86-p9gwv2.53.0 修复/api/server/share目录遍历GHSA-3g7v-xjh7-xmqx。SSRFv2.14.3GHSA-q684-4jjh-83g6与 v2.5.0 的 SMOKESCREEN 机制v2.69.0 起 SSRF 缓解不再应用于 backing cloud storage 请求。授权边界v2.72.0 lambda 函数请求的授权规则收紧GHSA-m7p7-6w4m-886pv2.68.0 修复报告存在性探测v2.42.0 补充 Basic 认证下强制邮箱验证GHSA-fxgh-m76j-242q。CSRF/目录遍历/信息泄露备份导出端点 CSRFv2.14.3、云存储写入漏洞v2.49.0 GHSA-x396-w86c-gf6w等。依赖安全升级同样高频Redis 7.2.11CVE-2025-49844、OPA 1.12.2、Grafana 10.1.2、Django、Pillow、numpy、gitpython、opencv-python-headless 等均曾因 CVE 被提升版本。5. 3D 与掩码标注画布能力的持续打磨3D 标注点云/立方体在各版本中持续完善v2.34.0 引入立方体朝向箭头v2.36.0 增加立方体输入尺寸控件v2.52.0 优化 3D 侧视图缩放算法、记忆化每对象缩放值v2.58.0 修复 3D 画布 GL 资源泄漏v2.63.0 修复导出插值 3D 立方体轨道旋转无效的问题。相关实现位于 cvat-canvas3d/ 与 cvat/apps/engine/media_io/。掩码标注方面v2.60.0 用类型化数组替代 JS 数组降低内存占用v2.73.0 为画笔/橡皮擦/多边形工具增加本地 undo/redoPR #10984v2.74.0 修复重叠掩码移除底层像素后包围盒不收缩的问题PR #10873。SDK 侧提供mask、polygon、encode_mask、decode_mask等工具函数v2.23.0、v2.39.0并在 PyTorch 适配器提供ExtractInstanceMasks变换v2.66.0。6. 变更日志的生成机制scriv 碎片化工作流CHANGELOG.md 的维护方式是理解 CVAT 开发节奏的关键。文件头部的注释明确说明项目使用scriv维护变更日志。仓库内相关配置如下changelog.d/scriv.ini 定义类别为Added, Changed, Deprecated, Removed, Fixed, Security标题模板为\[{{ version }}\] - {{ date }}并引用fragment.j2作为新碎片模板changelog.d/fragment.j2 提供碎片骨架包含类别选择与 PR 链接占位开发流程为scriv create --edit创建碎片 → 提交 PR →发布时由 scriv 将碎片自动合并进 CHANGELOG.md!-- scriv-insert-here --标记位置。当前仓库的 changelog.d/ 目录中可见 11 个待合并碎片如20260901_180000_grigorii777_optimize_parent_quality_report_filter.md说明仓库正处在 v2.74.1 之后的开发周期。这种每 PR 一条碎片、发布时聚合的模式保证了 CHANGELOG 与 PR 的一一对应关系也让版本发布成为纯机械操作。7. 版本与仓库结构的对应关系版本定义cvat/utils/version.py 实现 PEP 440 兼容版本号生成预发布版本alpha/beta/rc通过 git changeset 时间戳生成.devN后缀。前端组件cvat-ui / cvat-core / cvat-canvas / cvat-canvas3d / cvat-data 五个 TS 包构成标注客户端其版本在 v2.26.0 起与服务器版本对齐。SDK/CLIcvat-sdk/ 与 cvat-cli/ 作为独立 PyPI 包随 CVAT 同步发布自 v2.2.0 起。部署方式docker-compose.yml 与 helm-chart/ 双轨并存Helm 图表在 v2.4x 起使用公共镜像仓库。数据集格式cvat/apps/dataset_manager/formats/ 承载 COCO、YOLO、Datumaro、PASCAL VOC 等格式的导入导出实现与 CHANGELOG 中频繁出现的格式支持条目一一对应。8. 升级与兼容性建议先读 Security 与 Removed每次升级前扫描目标版本的Security与Removed小节确认是否有影响自身部署的破坏性变更参考第 3 节表格。关注 API 语义收窄v2.65.0 起search不再匹配枚举字段、image_quality最小值提升、dimension语义变化等自动化脚本应同步更新。Webhook 订阅者需主动适配事件命名体系在 v2.65.0v2.73.0 间多次调整建议以最新文档为准并订阅completed:request[...]系列事件。CLI/SDK 凭据管理已迁移到 profile 体系--server-host/--auth等旧参数逐步退场新脚本建议直接使用--profile与cvat-cli config default-server。质量控制在走向按需求定制v2.74.0 的分层质量需求改变了质量报告的生成与查询语义若深度使用质量模块升级前应评估target参数与按需求拆分的报告格式。备份兼容性部分版本存在旧备份可导入、新备份需新版本的限制如 consensus 字段移除、文件共享任务的静态分块备份等跨大版本升级前建议先做备份导入演练。综上CHANGELOG.md 不仅是发布记录更是 CVAT 架构决策与 API 契约变迁的编年史。结合仓库源码引擎、质量、webhook、SDK/CLI 等模块交叉阅读可以快速建立对 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/cvat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表