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

资讯详情

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

CVAT 形状类型(Shape Types)完全指南:从矩形、多边形到 Skeleton 与 Tag

CVAT 形状类型(Shape Types)完全指南:从矩形、多边形到 Skeleton 与 Tag CVAT 形状类型Shape Types完全指南从矩形、多边形到 Skeleton 与 Tag【免费下载链接】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手动标注中形状Shapes体系的系统性指南。在 CVAT 中所有标注对象都以形状的形式存在于画布之上而不同类型的形状对应着不同的工具、编辑方式与数据导出格式。读完本文你将完整掌握 CVAT 支持的 9 种形状矩形、多边形、折线、点、椭圆、立方体、3D 立方体、Skeleton 骨架、Tag 标签的适用场景、绘制方式与底层数据结构并能根据标注任务类型如车辆检测、道路标线、姿态估计、人脸关键点正确选择形状工具。一、CVAT 中的形状体系概览根据 types-of-shapes.md 的说明CVAT 支持以下形状用于图像标注形状典型用途RectangleBounding box 边界框目标检测如车辆、行人Polygon多边形实例分割、任意轮廓目标Polyline折线道路标线、车道线Points点人脸关键点、地标点Ellipse椭圆交通标志等近似椭圆目标Cuboid立方体带朝向信息的 3D 目标2D 图像中的投影Cuboid in 3D task3D 任务立方体3D 点云场景中的目标Skeleton骨架人体姿态估计、面部关键点等结构化目标Tag标签整帧级属性标注如场景分类值得注意的是从源码层面看CVAT 前端的形状类型枚举定义在 cvat-core/src/enums.tsexport enum ShapeType { RECTANGLE rectangle, POLYGON polygon, POLYLINE polyline, POINTS points, ELLIPSE ellipse, CUBOID cuboid, SKELETON skeleton, MASK mask, }可以推断ShapeType枚举中的rectangle、polygon、polyline、points、ellipse、cuboid、skeleton分别对应上述前 7 种平面形状而mask掩码对应多边形标注体系中的 创建 Mask 功能。3D 任务中的立方体则由独立的 cvat-canvas3d 模块负责渲染与 2D 画布的cuboid属于不同的实现路径。此外每个标注对象还有类型维度。同样在 cvat-core/src/enums.ts 中export enum ObjectType { TAG tag, SHAPE shape, TRACK track, INTERVAL interval, }也就是说一个形状在 CVAT 数据模型中既可以作为独立的shape单帧对象也可以作为track跨帧轨迹或interval区间存在——这正是Shape 模式与Track 模式切换的底层依据。二、形状分类讲解与绘制方法2.1 Rectangle / Bounding box矩形是最常用的目标检测标注形状。进入标注界面后在左侧控制栏选择Rectangle即可打开 Draw new rectangle 窗口其中需要配置Label标注标签与Drawing Method绘制方法绘制方法分为By 2 points两点法点击对角上的两个相反点即可生成矩形这是默认方式By 4 points四点法依次点击物体的上、下、左、右四个最外侧物理点点击第四个点后自动完成绘制。四点法是一种高效的边界框标注方法该方法源自 2017 年一篇学术论文提出的思路详见 annotation-with-rectangles.md。绘制过程中按Esc可取消编辑。矩形旋转拉动矩形上的旋转点即可绕中心旋转按住Shift旋转时角度会吸附到 15° 的整数倍旋转过程中界面会实时显示旋转角度。在 Shape 模式下创建矩形后可以用鼠标调整其边界与位置矩形尺寸会显示在画布右上角选中形状上任意点即可查看。误操作可用CtrlZ撤销、ShiftCtrlZ或CtrlY重做。2.2 Polygon 多边形多边形用于标注轮廓不规则的目标如动物、车辆轮廓是实现实例分割标注的基础。绘制多边形时逐点点击轮廓顶点支持的细分能力包括手动绘制逐点确定顶点完成后按N或点击顶部面板Done按钮创建 Mask掩码从多边形一键生成像素级掩码掩码可进一步用画笔Brush工具精修详见 creating-mask.mdSnap 吸附工具绘制时可将顶点吸附到图像边缘或已有形状见 snap-tools.mdTrack 模式多边形同样支持跨帧跟踪标注见 track-mode-with-polygons.md。2.3 Polyline 折线折线主要用于道路标线、车道等线状目标见 annotation-with-polylines.md。绘制前可在Number of points字段设定固定点数达到该点数后绘制自动停止不设限时逐次点击创建折点按N或点击Done完成。折线的高级交互按住Shift拖拽鼠标可连续刷出折点未按Shift时滚轮缩放、按住中键拖动平移画布右键点击已有折点可删除该点按住Ctrl点击折点同样可删除按住Shift点击折点会打开折线编辑器可新增点或通过闭合红色连线删除部分折线按Esc取消编辑。2.4 Points 点Points 形状由单个或多个点组成典型应用是人脸关键点、地标标注。其功能模块见 annotation-with-points单点线性插值在 Track 模式下单点对象可利用线性插值自动生成中间帧位置见 liner-interpolation-with-one-point.md多点形状Points 在 Shape 模式下可以一次绘制多个点构成点集见 points-in-shape-mode.md。2.5 Ellipse 椭圆椭圆适用于交通标志等近似椭圆的目标见 annotation-with-ellipses.md。绘制方式与矩形一致在控制栏选择Ellipse选择Label后点击Shape或Track进入绘制模式指定两个对角点即可椭圆将内切于一个假想矩形。按N或点击Done完成。椭圆同样支持通过旋转点旋转与矩形的旋转操作一致。2.6 Cuboid 立方体2D 任务Cuboid 用于在 2D 图像上标注具有三维朝向信息的物体如车辆、行人通过顶点拖拽表达目标的俯仰与朝向。其完整操作流程见 annotation-with-cuboids包括创建 Cuboid在画布上确定底面与高度逐步调整顶点位置见 creating-the-cuboid.md编辑 Cuboid拖动各顶点调整尺寸、朝向与位置见 editing-the-cuboid.md。2.7 Cuboid in 3D task3D 任务当标注的是 3D 点云任务如 Carla 等仿真场景数据时CVAT 使用独立的 cvat-canvas3d 渲染引擎。3D 立方体在点云场景中直接以三维包围盒形式呈现其渲染与交互逻辑由 cvat-canvas3d/src/typescript/cuboid.ts 等模块实现与 2D 画布的 cuboid 工具是两套独立的代码路径。2.8 Skeleton 骨架Skeleton 是 CVAT 中结构最复杂的形状类型专为人体姿态估计、面部关键点等具有一致结构的复杂对象设计详见 skeletons.md。一个 Skeleton 由多个点元素构成点之间可以连边每个点都是独立对象拥有独立的属性与颜色、遮挡、可见性等状态。Skeleton 的导出支持CVAT for image与COCO Keypoints两种格式见 format-cvat 与 format-coco-keypoints。Skeleton Configurator 配置器创建任务时点击Setup skeleton按钮即可打开骨架配置器其界面元素包括编号名称说明1Upload background image可选上传背景图便于在图上描绘骨架2Add point在绘制区添加骨架点3Click and drag在绘制区移动点的位置4Add edge连接两个点添加边5Remove point删除点先点击 Remove point再点击目标点6Download skeleton以 .SVG 格式下载当前骨架7Upload skeleton上传 .SVG 格式骨架8Drawing area绘制骨架的画布区域配置骨架点右键点击骨架点并选择Configure可命名该点标签、设置属性并修改颜色。注意骨架点只能存在于其父级 Skeleton 内且任务/项目创建后无法再修改骨架配置可在标签配置器的 Raw 选项卡中复制/粘贴骨架配置。从模型添加骨架标签在基本配置器的 Constructor 选项卡点击From model从模型下拉列表如Human pose estimation中选择模型再勾选需要使用的标签。选中的标签可进一步打开 Skeleton configurator 调整结构任务创建后标签不可再调整。骨架标注与自动标注在任务画布中从工具面板选择Draw new skeleton可选择Track跟踪模式或Shape形状模式进行绘制。自动标注时进入AI Tools Detectors选择模型后将看到骨架点与模型输出点的映射列表可点击 Bin 图标移除整条骨架或部分映射点最后点击Annotate完成。骨架的编辑画布编辑绘制完成的骨架被一个包围盒包裹可像普通边界框一样拖拽、缩放、旋转拖动某个骨架点时包围盒会自动调整且不影响其他点。快捷键将鼠标悬停在包围盒上按快捷键作用于整条骨架lock、occluded、pinned、keyframe、outside 等悬停在某个骨架上按快捷键则作用于该点。侧栏编辑对象侧栏中提供骨架部件列表区可逐点设置属性。点属性Outside对象部分超出画面边界属于标注数据的一部分、Occluded点在帧内但被其他物体遮挡保持可见、Hidden仅为标注者便利而隐藏不会在不同会话间保存。2.9 Tag 标签Tag 是唯一没有画布形状的标注类型它在工作区中不显示任何几何图形只在对象侧栏objects sidebar中展示。Tag 适用于整帧级别的属性标注例如场景分类晴天/雨天、白天/夜晚等不需要空间位置的标注需求。在数据模型上Tag 对应ObjectType.TAG不需要任何几何坐标字段。三、Shape 模式与 Track 模式几乎所有形状都支持两种标注模式见 shape-mode-basics.md 与 track-mode-basics.mdShape 模式为单帧创建独立对象适合为一组图片添加新标注或增删改已有标注。绘制窗口中选择Shape然后确定对角点/轮廓点即可。Track 模式创建跨帧跟踪的对象适用于视频标注。绘制窗口中选择Track对象会在后续帧中自动传播标注者只需在关键帧上修正。标注过程中常用的两个辅助属性Occluded遮挡当对象被其他对象遮挡或未完全可见时启用快捷键QLocked锁定当帧内对象过多、形状互相重叠难以继续标注时可将已有对象锁定。锁定对象的形状变为半透明便于标注新对象同时避免误改快捷键L。完成绘制后可在对象侧栏或右键对象的 Object card中查看和修改属性、执行基本操作或删除对象。四、形状的底层数据结构从源码结构看CVAT 每种形状在 cvat-core 中都有对应的类实现例如 rectangle-shape.ts、polygon-shape.ts、ellipse-shape.ts、cuboid-shape.ts、skeleton-shape.ts、tag.ts 等它们共同继承自 shape.ts 与 object-state.ts 的基类体系对应地跨帧版本有 rectangle-track.ts、polygon-track.ts 等。可以推断所有形状共享统一的属性模型标签、属性、遮挡、锁定、可见性等而各自类中定义了独有的几何字段与序列化/反序列化逻辑——这正是不同形状在导出为 CVAT、COCO、Pascal VOC 等数据集格式时产生差异的根本原因。在画布交互层面各形状的绘制、编辑、旋转、缩放由 cvat-canvas 模块实现例如 canvasView.ts 统一负责形状的 SVG 渲染drawHandler.ts 与 editHandler.ts 分别处理绘制与编辑事件。五、如何选择正确的形状标注需求推荐形状普通目标检测车辆、行人等矩形物体Rectangle需要精确轮廓的实例分割Polygon可进一步生成 Mask车道线、道路标线Polyline人脸关键点、点状地标Points交通标志等圆形/椭圆目标Ellipse需要表达朝向的 3D 目标2D 图像Cuboid3D 点云场景目标Cuboid in 3D task人体姿态、面部关键点等结构化对象Skeleton整帧属性标注场景分类等Tag六、延伸阅读形状工具总览Annotation with shapes画笔Brush与掩码精修annotation-with-brush-tool.md形状分组shape-grouping.md标注格式与导出dataset formats【免费下载链接】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),仅供参考
返回列表