跳到主要内容

用户手册

本手册介绍 X-AnyLabeling 的文件管理、对象编辑、标签转换、界面工具、用户配置和标注任务。

0. 目录​

1. 文件​

本章节将详细介绍如何在 X-AnyLabeling 上进行数据的导入、删除、切换以及保存,确保标注流程高效且数据安全可控。

1.1 导入数据​

在打开 GUI 界面后,用户可在上方菜单栏中的 文件 下拉框中选择对应的任务类型进行导入,也可直接通过快捷键进行操作。

X-AnyLabeling 目前提供三种数据导入方式:

  • 图片文件目录(Ctrl+U):支持多级目录嵌套的多个文件同时导入。
  • 单个图片文件(Ctrl+I):支持导入 *.jpg、*.png、*.bmp、*.webp、*.tif 等多种格式。
  • 单个视频文件(Ctrl+O):支持导入 *.mp4、*.avi、*.mov、*.mkv、*.wmv、*.flv 等视频格式。

1.2 删除数据​

X-AnyLabeling 提供数据删除功能,具体操作如下:

  • 删除标签文件(Ctrl+Delete):删除当前标注文件结果,此操作不可撤回,请谨慎操作。
  • 删除图像文件(Ctrl+Shift+Delete):删除当前图片文件,删除后的文件会同步移至当前图片目录下的 _delete_ 文件夹中。

1.3 切换图片​

在 X-AnyLabeling 中,按 A 和 D 可快速切换到上一张或下一张图片。

除了常规的切换图片操作外,还支持以下几种方式:

快捷键描述
Ctrl+Shift+A跳转到上一张未检查的标注
Ctrl+Shift+D跳转到下一张未检查的标注

在画布左下角的面板中,可通过“状态”选择“未验收”“合格”或“不合格”。也可以在画布右键菜单的“检查状态”二级菜单中设置相应结果:

面板中的状态选项分别以蓝色、绿色和红色标识;文件列表中的状态图标及对应数据如下:

状态文件列表图标默认快捷键JSON 顶层 checked 值
未验收灰色空心圆Ctrl+Alt+Ufalse
合格绿色实心圆Ctrl+Alt+Ktrue
不合格红色实心圆Ctrl+Alt+J"failed"

三个快捷键直接设置对应状态,重复按下不会切换到其他状态;快捷键可以在设置中修改。设置状态后会保存当前标注。旧数据中的 checked: true 视为检查通过,false 或缺少该字段视为未检查。上一张/下一张未检查的跳转会跳过检查通过和检查不通过的图片。

文件列表中的复选框默认不可编辑,如需启用编辑功能,可通过 Settings(Ctrl+0)在 General 中开启 File List Checkbox Editable,或在配置文件中将 file_list_checkbox_editable 设置为 true。 该复选框表示是否存在标注文件,与圆点展示的检查状态相互独立。

1.4 保存标签数据​

X-AnyLabeling 默认开启自动保存功能,用户在初次启动界面时,可点击菜单栏中的 文件 下拉框查看 自动保存 选项是否被勾选。

标签文件默认保存在当前图片目录下,文件格式为 *.json,模板如下:

{
"version": "${version}", // X-AnyLabeling 版本号
"flags": {}, // 图片级标志 (如果存在)
"tags": ["a", "b", "c"], // 有序的图片级开放词表标签
"shapes": [ // 标注的对象列表
{
"label": "${label}", // 类别标签
"score": null, // 置信度得分 (e.g., from model), 若无此信息则为 `null`
"points": [...], // 对象的顶点坐标列表
"group_id": null, // 用于关联同一组内的多个对象 (e.g., pose keypoints)
"description": null, // 对象的文本描述
"difficult": false, // 标识当前对象是否难以识别
"shape_type": "${shape_type}", // e.g., "rectangle", "polygon"
"flags": null, // 对象级标志 (如果存在)
"attributes": {} // 自定义属性字典
}
// ... 更多对象
],
"description": null, // 图片的文本描述
"checked": false, // 标注检查状态
"chat_history": [ // 聊天历史 (for chatbot)
{
"role": "user",
"content": "Hi",
"image": null
},
{
"role": "assistant",
"content": "Hi there! How can I help you today?",
"image": null
}
// ... 更多对话
],
"vqaData": {
"question": "What animals are shown in the image?",
"answer": "zebras",
"split": "train",
"task": "QA",
"tags": [
"natural"
],
// ... 更多选项
},
"imagePath": "${filename}", // 图片的相对路径
"imageData": null, // Base64 编码的图片数据 (如果启用, 请参考 1.5)
"imageHeight": -1, // 图片高度
"imageWidth": -1 // 图片宽度
}

提示:如需更改标签保存路径,请在菜单栏中的 文件 下拉框中点击 更改输出目录 选项并设置相应的保存路径。

关系标注还会保存顶层 relations 列表及对应对象的 shape_id,详见 2.8 编辑关系。

1.5 保存图像数据​

如果您希望在标注过程中保存当前图像数据(默认 base64 编码),可在菜单栏中的 文件 下拉框中勾选 保存图像数据 选项。

2. 编辑​

本章节将指导您如何在 X-AnyLabeling 中创建、编辑和管理不同类型的标注对象及其标签信息,涵盖从基本操作到高级功能的全面指南。

2.1 创建对象​

在 X-AnyLabeling 中,我们将每个目标框称为一个单独的对象,其通常包含如下基本属性:

字段类型描述
label字符串对象的类别标签。
score浮点数对象的置信度得分,通常在 AI 模型推理服务中使用,若无此信息则为 null。
points数组对象的顶点坐标列表,具体取决于 shape_type。
group_id整数对象所属的组 ID,用于关联同一组内的多个对象,若无此信息则为 null。
description字符串对象的描述信息,若无此信息则为 null。
difficult布尔值标识当前对象是否难以识别,true 表示难以识别。
shape_type字符串对象类型,例如 "rectangle"、"polygon" 等。
flags字典附加的标志信息,用于存储额外的状态或属性,若无此信息则为 null。
attributes字典对象的属性信息,可以包含任意键值对,若无此信息则为空字典 {}。
kie_linking列表对象间的连接信息,可包含多对连接,例如 [[1, 2], [3, 4]],若无此信息则为空列表 []。
cuboid3d字典仅 cuboid 使用的 3D 元数据,包含 version、mode、vertices2d_order、depth_vector、source,用于记录前后面映射和深度向量。

特殊字段的定义参见 Shape 类。

当前,用户可通过左侧工具栏中的对应功能选项、画布右键菜单或快捷键创建以下对象:

对象类型快捷键绘制方式
rectangleR左键单击确定第一个角点,移动光标后再次单击确定对角点。绘制时按住 Shift 可约束为正方形。
rotationO按矩形方式创建水平或竖直旋转框,绘制时按住 Shift 可约束为正方形;进入编辑模式并选中对象后,可按 Z、X、C、V 调整角度。
polygonP沿对象边缘单击添加顶点,单击起始顶点或双击最后一个顶点结束绘制,至少需要 3 个顶点。
quadrilateralT依次单击四个顶点,第四次单击后自动结束绘制。
pointShift+P左键单击放置一个关键点。
lineShift+L左键单击确定起点,移动光标后再次单击确定终点;绘制时按住 Shift 可吸附为水平或竖直线段。
linestripShift+S左键单击依次添加折线顶点,双击结束;绘制每一段时按住 Shift 可吸附为水平或竖直线段。
circleShift+C左键单击确定圆心,移动光标确定半径,再次单击结束绘制。
cuboidCtrl+R按矩形方式确定正面,系统根据 canvas.cuboid.default_depth_vector 生成背面;可在 设置 > 画布 中调整相关参数,深度过小时会按 canvas.cuboid.min_depth 自动约束。

此外,对于多边形对象,X-AnyLabeling 还支持以下两种辅助创建方式:

画笔模式(Ctrl+N):单击确定起点后,沿对象边缘移动鼠标即可自动添加顶点;移动回起点附近时会闭合轮廓并生成 polygon。

魔术棒(Shift+W):在目标上按住鼠标左键,可预览与起始像素连通且颜色相近的区域;保持按下并向任意方向拖动可增大颜色容差。释放左键只会保留预览,不会创建对象;单击右键可确认生成 polygon,按 Esc 可取消。

2.2 编辑对象​

当前,X-AnyLabeling 中定义了两种对象操作模式,即 绘制模式 和 编辑模式。

  • 绘制模式:在绘制状态下,可进行对象的快速创建;
  • 编辑模式:在编辑状态下,可进行对象的编辑(Ctrl+E)、撤销(Ctrl+Z)、复制(Ctrl+C)、粘贴(Ctrl+V)、删除(Delete)、移动、缩放、旋转等操作。

用户可通过快捷键 Ctrl+J 在绘制模式与编辑模式之间快速切换。

在编辑模式下,单击画布中的对象即可选中。被选中对象的边框和控制点会高亮显示,右侧 Shapes 面板中的对应条目也会同步选中,方便在密集标注场景中确认当前对象。

其他针对特定对象的操作如下:

如需保护已完成的标注,可选择一个或多个对象,并在画布右键菜单中勾选 锁定对象。也可在右侧 Shapes 面板中右键单击已选中的条目,逐个反转其锁定状态;锁定条目会显示锁形图标。锁定对象仍可被选中并修改标签、属性等字段,但无法修改几何坐标或删除。

在 Labels 面板中右键单击类别条目,可锁定或解锁该类别的全部对象;类别规则在当前会话中跨图片生效,也会应用于后续加载和新增的同类对象。将鼠标移入 Labels 或 Shapes 面板后,标题栏会显示锁定按钮:未全部锁定时点击可全部锁定,全部锁定时点击可全部解锁。批量操作覆盖作用范围内的旧状态,不会在再次点击后恢复之前的单独锁定状态。

锁定仅用于当前会话的编辑保护,不写入标注 JSON,也不会让文件变为未保存状态。对象锁定在切换图片后保留,关闭软件后重置;旧标注文件中的 locked 字段不再生效,正常保存时会移除。

启用 显示群组 后,每个群组会显示可交互的外接框及 G3 · S5 形式的简洁标签(表示群组 3 包含 5 个对象)。单击对象时仍优先选中该对象;单击群组标签、外接框或框内空白区域可选中整个群组,随后可拖拽或使用方向键整体移动,按住 Shift 可加速键盘移动。复制并粘贴选中的群组时,粘贴结果会自动使用当前图片中下一个可用的群组编号,并产生轻微位置偏移。删除整个群组前会要求确认。

  • 对于矩形框对象,可通过四个角点调整大小;支持多选并通过右键菜单中的合并选中对象进行合并。另外也支持鼠标滚轮编辑功能,默认关闭,可在 设置 > 画布 > Enable Wheel Rectangle Editing 中启用,或在用户配置文件中设置(wheel_rectangle_editing):启用后,选中一个未锁定的矩形,使用 Alt + 滚轮:在矩形内可缩放,在外部可调整对应边缘位置。普通滚轮遵循所选导航模式。注意:当启用 auto_highlight_shape 时,滚轮矩形编辑将自动关闭。
  • 对于多边形框对象,可通过在边上拖拽新增一个新的顶点或按住 Shift 键配合鼠标左键移除选中顶点(编辑模式下)。也可双击未锁定多边形的顶点将其删除,但至少保留 3 个顶点;此操作支持撤销,且不受 Double Click Edit Label 开关影响。当仅选中一个多边形或折线对象时,可按住 Alt 键进入橡皮擦模式,再按住鼠标左键拖过顶点以移除这些顶点,并自动拼接剩余点;若多边形少于 3 个点,或折线少于 2 个点,则会删除整个对象,并可通过撤销恢复。同样也支持多对象合并。当且仅当选中一个 polygon 时,还可通过工具栏、右键菜单或快捷键 Shift+B 启用 编辑笔刷:按住鼠标左键绘制可扩展区域,按住 Ctrl 绘制可擦除区域,Alt + 滚轮 可调整笔刷大小,并支持按笔画撤销和重做。编辑期间会锁定当前对象;右键或关闭编辑笔刷可提交修改,按 Esc、切换图片或切换其他工具会放弃修改并恢复原始多边形。笔刷采样间距和轮廓简化精度可在 设置 > 画布 中通过 Brush Point Distance 和 Brush Simplification Tolerance 调整;简化精度设为 0 时保留提取出的轮廓点。
  • 对于旋转框对象,可先单击选中目标,然后拖拽旋转控制点调整角度;也可单击控制点后松开鼠标,移动鼠标旋转,再次单击或按 Esc 结束。通过 Z、X、C、V 可进行精细调整。旋转时角度会临时显示在对象标签中;在 视图 菜单开启 显示旋转角度 后,角度会持续显示。标签关闭时,旋转期间仍会显示角度。
  • 对于四边形对象,选中后空心顶点表示起点,第一条边上的小箭头表示从第一个顶点到第二个顶点的方向。
  • 对于长方体(cuboid)对象,编辑时会显示 11 个控制点:正面 4 个顶点、正面 4 条边中点、可见背面 2 个顶点、可见背面 1 个边中点(深度控制点)。拖拽正面可整体移动对象;拖拽左/右/背面可调整形体;拖拽背面中点可调整深度,且会保持几何约束。背面哪一侧可见由深度向量方向自动决定。

此外,用户可通过右键菜单中的 复制坐标 功能快速复制当前选中对象的坐标信息到剪贴板。对于矩形框,输出格式为 [x1, y1, x2, y2](左上角和右下角坐标);对于其他对象类型,输出格式为 [x1, y1, x2, y2, x3, y3, ...](所有顶点坐标)。在编辑模式下,双击画布上的对象可快速打开标签编辑框;可在 设置 > 画布 > Double Click Edit Label 中关闭,也可在配置中通过 double_click_edit_label(默认为 true)关闭该行为。

编辑模式下,可用鼠标左键拖动空白区域来平移画布。绘制对象过程中,可用 右键拖动、Alt + 左键拖动 或 中键拖动 平移,无需退出绘制模式,也不会改变尚未完成的标注。这些方式在任意缩放比例下都支持自由平移。编辑模式下,Alt + 左键拖动 仍用于擦除多边形或折线顶点。

Tip

当图片中包含较多对象时,可使用以下浏览功能逐一检查,无需手动定位每个对象。

遍历放大对象(Ctrl+Shift+N)会按顺序将每个对象移至画布中心并放大显示,适合检查边界、顶点等标注细节。再次触发该功能即可切换到下一个对象。

遍历选中对象(Ctrl+Shift+C)会在保持当前画布视图的同时,按顺序选中每个对象,适合快速检查或修改标签、属性及其他对象信息。再次触发该功能即可选中下一个对象。

2.3 编辑标签​

当用户创建(未勾选自动使用上一个标签)或编辑一个对象时,默认弹出一个标签编辑框,用于编辑对象的标签信息。

标签编辑器及对象审批状态
字段描述
对象标签输入当前对象的类别标签,支持模糊搜索。
群组编号用于关键点检测、多目标跟踪等特定任务。
困难标签标识当前对象是否难以识别。
审批状态待审、漏检或误检,默认待审,详见 2.7 审批对象。
标签列表展示当前已添加的标签列表,默认按字母序排列。
标签描述附加的标志信息,用于存储额外的状态或属性,若无此信息则为 null。
标签连接用于标识关键信息提取-关系抽取任务中的连接字段。

2.4 编辑图片​

当前,X-AnyLabeling 支持对当前图片进行 Caption 描述。具体操作是打开编辑模式,点击图片空白处,在右侧的 Description 区域填充图片描述。

2.5 搜索图片​

文件搜索功能支持多种搜索模式,帮助用户快速定位目标图片。在右侧文件列表上方的搜索框中输入搜索条件,按回车键执行搜索。

将鼠标移入文件面板后,搜索框右侧会出现折叠按钮,点击可收起或展开文件列表;收起时仍可使用搜索框。

也可以在文件列表中的图片上点击鼠标右键,打开快捷菜单执行复制操作:

  • 复制文件名:仅复制当前选中图片的文件名,例如 image001.jpg。
  • 复制文件路径:复制当前选中图片的完整路径到剪贴板。

当前支持的搜索模式包括:

文本搜索

直接输入文本内容,系统会在文件名中查找包含该文本的文件。例如输入 test 可以找到所有文件名包含 "test" 的图片。

编号搜索

使用 #N 格式按序号定位图片,其中 N 必须为正整数。例如:

  • #1 定位当前文件列表中的第 1 张图片
  • #10 定位当前文件列表中的第 10 张图片

正则表达式搜索

使用 <pattern> 格式进行正则表达式搜索。例如:

  • <\.png$> 搜索所有 PNG 格式的图片
  • <test.*\.jpg$> 搜索文件名以 "test" 开头、以 ".jpg" 结尾的图片

属性搜索

支持通过对象属性筛选图片,格式为 属性名::值:

  • difficult::1 或 difficult::true:查找包含困难标注对象的图片
  • gid::0:查找包含群组编号为 0 的对象的图片,支持搜索任意整数群组编号
  • shape::1 或 shape::true:查找已标注的图片(包含至少一个标注对象)
  • label::person:查找包含标签为 "person" 的图片
  • type::rectangle:查找包含矩形框对象的图片,支持的类型包括:rectangle(矩形)、polygon(多边形)、rotation(旋转框)、quadrilateral(四边形)、point(点)、line(线段)、circle(圆形)、linestrip(折线)
  • score::[0,0.5]:查找包含分数在 [0, 0.5] 区间内的对象(闭区间)
  • score::(0,0.6]:查找包含分数在 (0, 0.6] 区间内的对象(左开右闭)
  • score::[0,0.6):查找包含分数在 [0, 0.6) 区间内的对象(左闭右开)
  • score::(0,0.6):查找包含分数在 (0, 0.6) 区间内的对象(开区间)
  • description::1 或 description::true:查找包含非空描述的图片
  • checked::passed:仅查找检查通过的图片
  • checked::failed:仅查找检查不通过的图片
  • checked::unchecked:查找未检查的图片;缺少 checked 字段或未生成标签文件的图片也会视为未检查
  • checked::1 或 checked::true:查找所有已检查的图片,包含检查通过和检查不通过
  • checked::0 或 checked::false:与 checked::unchecked 相同
  • review::pending:查找包含待审对象的图片
  • review::missed:查找包含漏检对象的图片
  • review::false_positive:查找包含误检对象的图片

对象审批搜索中,旧标注中未设置状态的对象按待审处理,无对象的图片不匹配。

2.6 编辑文本​

右侧描述区域用于编辑图片或单个对象的文本描述。在编辑模式下,点击画布空白处可编辑图片描述;选中一个对象后,可编辑该对象的描述。

将鼠标移入描述框,右下角会显示放大图标。点击图标可打开居中的文本编辑弹窗,方便输入较长的多行内容。点击 确认 将内容回填到描述框;点击 取消 或按 Esc 放弃本次弹窗中的修改。

确认后仍需按正常流程保存标注。图片描述保存在标签 JSON 顶层的 description 字段,对象描述保存在对应 shapes 项的 description 字段。

2.7 审批对象​

在标签管理器中,可为对象选择 待审(Pending)、漏检(Missed) 或 误检(False Positive),默认待审。点击 OK 确认后保存标注;点击 Cancel 放弃修改。支持单对象和批量编辑,状态保存在对应对象的 review_status 字段中。

按对象审批状态筛选图片,请参考上述 2.5 搜索图片中的“属性搜索”。

2.8 编辑关系​

关系用于标注两个对象之间的有向语义,例如“人 → 骑乘 → 自行车”。可以手动创建关系,也可以编辑模型返回的关系;手动操作无需加载关系识别模型。

  1. 创建关系:在编辑模式下恰好选中两个对象,点击工具栏、画布右键菜单或 编辑 菜单中的 创建关系(Create Relation)。在弹窗中确认 主体(Subject) 和 客体(Object),输入关系名称后确认。主体和客体必须是不同对象,关系名称不能为空,箭头方向为主体指向客体。
  2. 编辑关系:单击画布上的关系标签选中关系,再双击已选中的标签打开编辑弹窗,可修改主体、客体和关系名称。选中时会突出显示关联对象和箭头,并淡化其他关系;标签四角的标记仅表示选中状态,不能拖拽。
  3. 删除关系:选中关系标签后按 Delete,或在关系编辑弹窗中点击 删除。删除关系会保留两端对象。
  4. 管理关系:在 编辑 菜单或画布右键菜单中选择 管理关系(Manage Relations),通过列表查看当前图片的关系。选中列表项可在画布上预览关联对象,点击 编辑 或双击列表项可修改关系,适合处理箭头重叠的情况。关闭管理弹窗后结束预览。

修改后按正常流程保存标注。关系保存在标签 JSON 顶层的 relations 列表中,subject_id 和 object_id 分别引用对应对象的 shape_id,label 保存关系名称,score 保存模型置信度。手动创建或修改后的关系不保留模型置信度,score 为 null;未修改的模型关系保留原分数。保存时仅保留两端对象仍存在的关系。

关系标注与标签编辑中的 KIE kie_linking 字段分别存储。显示控制见 3.3 对象可视化,模型辅助标注示例见 8.14 关系识别。

3. 视图​

本章介绍画布、图像和标注对象的显示设置。

3.1 画布可视化​

当前,X-AnyLabeling 支持以下对画布的操作:

  • 放大(Ctrl++)
  • 缩小(Ctrl+-)
  • 重置(Ctrl+=)

在 设置 > 画布 > Wheel Navigation Mode 中选择操作习惯。直接缩放(默认)使用普通滚轮缩放;传统导航使用普通滚轮滚动画布。两种模式均支持 Ctrl + 滚轮 围绕鼠标位置缩放、Shift + 滚轮 滚动画布。主画布和导航器的缩放范围均为 10%~1000%(0.1×~10×),保留细小滚轮增量。Alt + 滚轮 调整笔刷大小,或在启用矩形滚轮编辑后调整选中的未锁定矩形;Alt + Shift + 滚轮 调整对比视图分割线。保存设置后无需重启即可生效,导航器内的滚轮仍用于缩放。

绘制普通对象时,使用 右键拖动、Alt + 左键拖动 或 中键拖动 自由平移画布,放大后也能将图像的任意角移到视口中的任意位置。编辑模式下可用中键拖动、左键拖动空白区域或右键拖动平移。原有 空格 + 左键拖动 保留兼容。魔棒工具保留右键确认操作。右键单击仍执行原有操作,包括打开菜单或完成笔刷、魔棒编辑;标注复制/移动菜单使用 Ctrl + 右键拖动。使用“适应窗口”或“适应宽度”可以重置平移位置。

如需在切换图片时沿用缩放比例,请勾选 视图 下的 保留先前的缩放比例 选项。

3.2 图片可视化​

X-AnyLabeling 支持调整当前图片的显示效果和标注对象的可见性。具体操作如下:

通过画布左下角的面板,可以调整标注透明度、底图显示效果和当前图片的验收状态。点击面板底部的箭头按钮可折叠或展开面板。

**标注透明度:**拖动 Opacity 滑块可调整标注对象和掩码的透明度,范围为 0.00–1.00。标签文字始终保持清晰可见,方便辨认对象类别。

**图片亮度:**拖动 Brightness 滑块可调亮或调暗底图,不会修改原始图片文件或标注数据。

**图片对比度:**拖动 Contrast 滑块可增强或减弱底图的明暗层次,便于区分对象边界。

**图像网格:**拖动 图像网格 滑块可调整网格不透明度,0% 时隐藏网格。点击设置图标可调整网格大小(5–1000 图像像素)、选择颜色,或开启 A1、B2 等网格编号。默认大小为 100 像素,编号默认关闭;网格重置按钮会恢复默认设置并将不透明度设为 0%。当网格在屏幕上过小时,编号会暂时隐藏。

3.3 对象可视化​

主窗口工具栏提供了四种互斥的显示模式,从左到右依次为:

  • 按类别显示:默认模式,使用原有类别配色。
  • 按实例显示:不同标注实例使用不同颜色,同一类别的对象也可区分。
  • 按群组显示:相同群组编号的对象使用相同颜色;未分组对象使用各自的颜色。
  • 二值掩码:将可见标注显示为黑色背景上的白色前景,隐藏原图和文字叠加信息,不受标注透明度影响。

对象可视化功能包括显示当前图片中已标注对象的文本描述(Ctrl+T)、标签名称(Ctrl+L)、分组编号、旋转角度、预测分数等信息。

用户可以通过快捷键或者在界面上方菜单栏中的 视图 下拉选项中勾选相应功能来进行设置。

当光标移至对象上方时,界面底部的信息栏会实时显示对象的宽度、高度等信息。

Tip

在画布右键菜单中,可通过 Filter by Label 和 Filter by Group ID 快速筛选对象。 左侧工具栏提供了对象全局显隐切换按钮(eye/hidden 图标):点击一次隐藏全部对象,再次点击恢复显示。

右侧面板也提供显隐控制:

  • Labels 条目复选框:显示或隐藏整个类别的对象,设置在当前会话中跨图片保留。
  • Shapes 条目复选框:显示或隐藏当前图片中的单个对象。
  • 标题栏眼睛按钮:鼠标移入面板后显示,用于批量显隐。Labels 控制全部类别,Shapes 控制当前图片的全部对象;有对象或类别可见时点击全部隐藏,全部隐藏后点击全部显示。
  • 标题栏最右侧复选框:展开或隐藏面板内容,不改变画布上对象的可见性。

显隐与锁定独立控制;隐藏对象不会删除标注。

关系箭头和文字也受 视图 菜单控制:Show KIE Linking(Ctrl+K)控制关系连线及标签的显隐;Show Labels(Ctrl+L)控制关系标签,关闭后仍显示箭头;Show Scores 控制标签中的模型置信度。手动关系没有置信度可显示。隐藏显示内容不会删除已保存的关系。

3.4 十字瞄准线​

按 Ctrl+0 打开 Settings,然后进入 Canvas > Interaction > Crosshair,可开启或关闭十字瞄准线,并调整宽度、颜色和透明度。

十字瞄准线会贯穿当前可见画布并在光标位置相交;光标移动时,界面底部的信息栏会实时显示位置坐标。

3.5 导航器​

Crosshair Customization

处理高分辨率图像时,可以通过导航器快速定位到图像的任意区域。

在菜单栏中选择 视图 > 导航器,或按 F9 打开导航器。导航器会在独立窗口中显示当前图像的缩略图,并用红框标出当前可视区域。

单击缩略图可快速跳转,拖动红框可移动视野。导航器也会实时显示当前图像中的标注对象。

在导航器底部,你可以通过输入框精确设置缩放比例(支持 10% 到 1000%),也可以拖拽滑动条进行调整。导航器内可直接使用鼠标滚轮缩放;主画布遵循所选滚轮导航模式。

3.6 对比视图​

对比视图可通过分屏界面并排比较两张图像,适用于以下场景:

  • 红外与可见光融合:对比热成像和 RGB 图像,识别在不同光谱下更清晰的目标。
  • 掩码预览:实时查看分割结果与原图的叠加效果。
  • 图像超分:对比增强后的图像与原始图像。

使用方法:

  1. 打开图像目录并加载图像。
  2. 点击 文件 > 对比视图(或按 Ctrl+Alt+C)打开对比目录选择器。
  3. 选择包含对比图像的目录,文件名需与主图像匹配(基础文件名相同,扩展名可不同)。
  4. 使用底部滑块调整分割位置,或按住 Alt + Shift 键并滚动鼠标滚轮移动分割线。
  5. 点击滑块上的关闭按钮(×)退出对比视图。
Note

对比图像必须与原图尺寸一致,且文件名称要确保一致。

3.7 图片标签​

通过顶部工具栏的图片标签按钮、视图 > 图片标签 或快捷键 Ctrl+Shift+T,可以快速显示或隐藏画布下方的图片标签面板。

图片标签功能支持以下操作:

  • 点击 + 新增标签,双击标签可编辑文本,拖动标签可调整顺序,也可通过关闭按钮删除单个标签。
  • 点击 − 进入批量模式,选择标签后通过 Delete 统一删除。
  • 点击 C 可将所有标签以逗号分隔格式复制到剪贴板,例如 tag1,tag2,tag3。

4. 标签导入导出​

现阶段,X-AnyLabeling 提供了多种主流标签文件的导入/导出功能,下面简单介绍使用步骤。

Tip

也可以使用 CLI 批量转换标签格式,适合处理大型数据集。详情参见命令行界面文档。

4.1 YOLO标签​

X-AnyLabeling 支持导入和导出 YOLO 目标检测、实例分割、旋转框检测及关键点检测标签(*.txt)。

在导入/导出 YOLO 标注文件之前,需要准备一份标签配置文件,具体如下:

  1. 对于 YOLO 目标检测、实例分割和旋转框检测任务,请参考 classes.txt 准备配置文件,每一行代表一个类别,编号从上至下从 0 开始依次递增。
  2. 对于 YOLO 关键点检测任务,请参考 yolov8_pose.yaml 进行准备,其中 has_visible 参数请参考官方定义。

要导出 YOLO Pose 格式,需要为每组检测框及其关键点指定 group_id,以记录对象之间的从属关系。

Note

请勿将 YOLO 标签文件(*.txt)与图像文件放在同一目录下。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 选择标签文件所在目录。
  5. 可选择勾选"保留现有标注"选项,将新标注与现有标注合并。
  6. 点击确定即可。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 上传准备好的配置文件。
  3. 根据需求勾选对应选项,点击确定即可。

导出路径默认保存在当前图片目录的同级目录下的 labels 文件夹内。

YOLO 标签文件样式可参考 demo.txt。

4.2 VOC标签​

X-AnyLabeling 支持导入和导出检测及分割任务的 Pascal VOC 标签文件(*.xml)。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 选择标签文件所在目录,点击确定即可。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 根据需求勾选对应选项,点击确定即可。

导出路径默认保存在当前图片目录的同级目录下的 Annotations 文件夹内。

VOC 标签文件样式可参考 demo.xml。

4.3 COCO标签​

X-AnyLabeling 支持导入和导出目标检测、实例分割及关键点检测任务的 COCO 标签文件(*.json)。

在导入/导出 COCO 标注文件之前,需要准备一份标签配置文件,具体如下:

  1. 对于 COCO 目标检测、实例分割任务,请参考 classes.txt 准备配置文件,其中每一行代表一个类别,编号从上至下依次递增。
  2. 对于 COCO 关键点检测任务,请参考 yolov8_pose.yaml 进行准备,其中 has_visible 参数请参考官方定义。
  3. 对于 COCO 实例分割任务,请参考 labels.txt 进行准备。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 选择标签文件所在目录,点击确定。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 点击确定即可。

导出路径默认保存在当前图片目录的同级目录下的 annotations 文件夹内。

COCO 格式的对应标签文件样式可参考 annotations 目录。

4.4 DOTA标签​

X-AnyLabeling 支持导入和导出 DOTA 标签文件(*.txt),每行格式如下:

x1 y1 x2 y2 x3 y3 x4 y4 class_name difficult

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 选择标签文件所在目录,点击确定即可。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 点击确定即可。

导出路径默认保存在当前图片目录的同级目录下的 labelTxt 文件夹内。

DOTA 标签文件示例参见 demo_obb.txt。

4.5 MASK标签​

X-AnyLabeling 支持导入和导出语义分割掩码(*.png)。

在导入/导出掩码标注文件之前,需要准备好配置文件,具体如下:

  1. 对于彩色图颜色映射表文件,可参考 mask_color_map.json。
  2. 对于灰度图颜色映射表文件,可参考 mask_grayscale_map.json。

可选的 label_priority 对象用于处理多边形重叠。整数越大,类别优先级越高;未配置的类别默认优先级为 0。优先级相同时按照 XLABEL shapes 数组中的标注层级处理,列表中靠后的形状显示在上层。未配置 label_priority 时,仅使用标注层级顺序。该过程只影响导出的语义掩码,不会修改原始标注。

{
"type": "grayscale",
"colors": {"Road": 1, "Car": 2, "Person": 3},
"label_priority": {"Road": 0, "Car": 10, "Person": 20}
}

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 选择标签文件所在目录,点击确定即可。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 上传准备好的配置文件。
  3. 点击确定即可。

导出路径默认保存在当前图片目录的同级目录下的 mask 文件夹内。

4.6 MOT标签​

X-AnyLabeling 支持一键导入/导出多目标跟踪任务相关的标签文件。

在导入/导出标注文件之前,需要准备好标签配置文件,具体可参考 classes.txt,其中每一行代表一个类别,编号由上往下依次递增。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 上传准备好的配置文件。
  3. 选择保存路径,点击确定即可。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 选择标签文件(gt.txt)所在目录,点击确定即可。

标签文件样式可参考 MOT 目录,其中包含三个子文件:seqinfo.ini、det.txt 和 gt.txt。

seqinfo.ini

seqinfo.ini 文件包含序列信息,用于描述数据集的元数据。以下是文件的具体内容和字段说明:

[Sequence]
name = MOT # 序列名称
imdir = mot_label # 图片目录
framerate = 30 # 帧率
seqlength = 249 # 序列长度(帧数)
imwidth = 1280 # 图片宽度
imheight = 720 # 图片高度
imext = .jpg # 图片文件扩展名

det.txt

det.txt 文件包含检测结果信息,每一行代表一个检测框。以下是文件的具体内容和字段说明:

帧号, 跟踪 ID, 左上角 x 坐标, 左上角 y 坐标, 目标框宽度, 目标框高度, 置信度, <x>, <y>, <z>

最后三个字段用于 MOT3D 任务,此处默认为 -1。

gt.txt

gt.txt 文件包含跟踪的标注信息,每一行代表一个标注框。以下是文件的具体内容和字段说明:

帧号, 跟踪 ID, 左上角 x 坐标, 左上角 y 坐标, 目标框宽度, 目标框高度, 有效性标志, 类别 ID, 可见率

这里有效性标志表示当前目标轨迹是否有效,0 表示无效数据(ignore),1 表示有效数据(activate)。用户可通过标签管理器中的 useDifficult 标志位来设置,☑️ 代表当前目标轨迹无效。


此外,针对 MOTS 数据集格式,X-AnyLabeling 支持通过 CLI 导出。请提供包含 XLABEL JSON 文件的目录、输出目录以及 classes.txt 文件:

xanylabeling convert --task xlabel2mots --labels /path/to/xlabel/labels --output /path/to/output --classes classes.txt
Note

执行该命令前,需要安装 pycocotools。

4.7 PPOCR标签​

X-AnyLabeling 支持一键导入/导出以下两种 PPOCR 任务的标签:

  • 文本检测与识别:定位出输入图像中的文字区域,并识别出图像中的具体文字内容。
  • 关键信息提取:从图像中提取所需信息,包括语义实体识别和关系抽取两个子任务。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 选择相应的标签文件,点击确定上传即可。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 选择 PPOCR Rec 或 PPOCR KIE,确认或修改导出路径。

导出时从通过 文件 > 更改输出目录 设置的标注目录查找同名 JSON;未设置时从图片目录查找。

对于文本检测与识别任务,默认导出到标注目录同级的 ppocr_rec 文件夹(未设置标注目录时为图片目录同级),包含:

  1. Label.txt: 标注结果
  2. rec_gt.txt: 识别结果
  3. crop_img: 识别结果对应的图片训练数据

具体的标签文件样式可参考 ppocr-rec。

对于关键信息提取任务,默认导出到同级的 ppocr_kie 文件夹,包含:

  1. class_list.txt: 标签类别列表
  2. ppocr_kie.json: KIE 标注结果

具体的标签文件样式可参考 ppocr-kie。

4.8 ODVG标签​

X-AnyLabeling 支持一键导入/导出 Grounding 任务相关的标签文件。

在导入/导出 ODVG 标注文件之前,需要准备好一份标签配置文件,具体可参考 classes.txt,其中每一行代表一个类别,编号从上至下依次递增。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 选择标签文件所在目录,点击确定。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 选择对应的任务。
  3. 上传准备好的配置文件。
  4. 选择保存路径点击确定即可。

ODVG 标签文件样式可参考 ODVG。

4.9 VLM-R1-OVD标签​

X-AnyLabeling 支持一键导入/导出 VLM-R1-OVD 标签文件。

导入任务:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 选择标签文件所在目录,点击确定。

导出任务:

  1. 点击上方菜单栏的 导出 按钮。
  2. 选择对应的任务。
  3. 根据实际需要填写相应的配置项点击确定即可。

其中,classes.txt 文件用于指定需要导出的类别或短语提示。若不指定,则默认以每张图片为单位检测到所有类别或短语提示作为提示类别进行导出,并自动跳过空标签文件。

VLM-R1-OVD 标签文件导出示例可参考 vlm_r1_ovd.jsonl 文件。

4.10 MMGD标签​

X-AnyLabeling 支持一键导入基于 MM-Grounding-DINO 预测所获取的标签文件。

导入流程:

  1. 点击上方菜单栏的 上传 按钮。
  2. 选择对应的任务。
  3. 上传类别文件。
  4. 选择标签文件所在目录,并根据自己需求勾选感兴趣的类别并设置过滤阈值,点击确定即可。

其中,classes.txt 文件用于后续标签序号到类别名称的映射,每一行代表一个类别,编号从上至下从 0 开始依次递增。

5. 工具栏​

5.1 数据统计​

X-AnyLabeling 具备数据统计功能,允许用户轻松获取当前任务的统计概况。只需在顶部菜单栏选择 工具 下拉选项中的 数据总览 按钮,即可查看当前数据状态。其支持以下功能:

  • 数据导出功能
    • 支持导出 CSV 格式的统计报告
    • 自动生成包含标签信息、对象统计和类别列表的压缩包
    • 导出文件包括:
      • label_infos.csv:标签数量统计
      • shape_infos.csv:标注对象统计
      • classes.txt:所有类别列表
  • 灵活的统计范围
    • 支持选择指定范围内的图像进行统计
    • 可查看单张或多张图像的统计信息
    • 实时更新统计结果
  • 多维度数据分析
    • 按标签类别统计:展示每个类别的标注数量
    • 按对象类型统计:包括多边形、矩形、旋转框、点、线条、圆形、长方体等
    • 总体数据概览:显示数据集的整体分布情况

使用说明:

  1. 点击顶部菜单栏的"工具" -> "数据总览"
  2. 在弹出的统计窗口中查看数据分布
  3. 可选择特定范围的图像进行统计
  4. 点击"导出"按钮将统计结果保存为压缩包

5.2 保存子图​

子图保存功能可通过以下步骤实施:

  1. 点击上方菜单栏的 工具 -> 保存子图 选项。
  2. 在弹出的对话框中设置:
  • 保存路径:选择子图保存的目标文件夹
  • 最小宽度:设置过滤的最小宽度像素值
  • 最小高度:设置过滤的最小高度像素值
  1. 点击确定后,系统会自动将所有标注对象按照类别名称分类导出到指定路径下。

此外,用户也可以通过 工具 -> 保存可视化图像 或 保存可视化视频,将当前标注可视化结果导出为图片或视频文件。

5.3 标签管理器​

用于重命名、删除、隐藏和调整标签颜色的标签管理器

当前,X-AnyLabeling 提供对标签对象的全局管理功能。用户可以通过以下操作进行管理:

  • 删除标签:移除不需要的标签。
  • 替换标签名称:更新标签名称以适应新的分类标准。
  • 控制标签可见性:通过 Visible 列的复选框控制特定标签在画布上的显示或隐藏。
  • 锁定类别:通过 Lock 列的复选框锁定或解锁整个类别,与右侧 Labels 面板共用当前会话的锁定状态。
  • 更改标签颜色:调整标签的显示颜色以提高辨识度。

用户可通过点击 工具 -> 标签管理器 选项(快捷键:Alt+L),在弹出的标签管理窗口中进行相应操作。

显隐与锁定快捷操作:

  • 在 Visible 或 Lock 列上右键,选择 Select All 或 Deselect All,可批量勾选或取消该列的复选框。
  • 点击 Go 后生效。Visible 和 Lock 设置仅对当前会话有效,不受 From / To 文件范围限制。
  • 文件范围用于删除和重命名等标注修改;仅修改显隐或锁定时,不会改写标注 JSON。
  • Delete 列使用居中的复选框,勾选后表示删除对应类别。

此外,当需要快速选择画布上的所有标注对象时,请按照以下步骤操作:

  1. 在左侧工具栏中选择编辑模式,或按 Ctrl+J 切换。
  2. 在右侧对象列表中单击任意对象。
  3. 按住 Shift,依次按 Home 和 End,选中当前对象前后的所有对象。

5.4 对象类型转换器​

显示源对象类型、目标类型和批量转换进度的对象转换器

X-AnyLabeling 提供统一的 Shape Converter(对象转换器)。 可在界面上方菜单栏的 工具(Tools)-> Shape Converter 打开转换窗口,在窗口中选择源对象类型与目标对象类型后执行批量转换。

当前支持的转换关系如下:

  • polygon -> rectangle, rotation
  • rectangle -> rotation, polygon, circle, quadrilateral
  • rotation -> rectangle, quadrilateral, polygon, circle
  • line -> linestrip
  • circle -> rectangle, rotation, quadrilateral, polygon
  • quadrilateral -> polygon

规则说明:

  • 转换为 circle 时,采用内切圆策略。
  • polygon/rotation 转 rectangle 时,使用轴对齐外接矩形(AABB)。
  • circle 转 rectangle/rotation/quadrilateral 时,会基于圆心与半径生成对应四点对象。
Warning

部分转换会丢失旋转角度、精确边界或曲线细节,且无法逆向恢复。批量处理前请先备份标注数据。

5.5 数字快捷键管理器​

用于给数字键分配绘制模式和默认标签的数字快捷键管理器

数字快捷键管理器用于为数字键(0–9)配置绘制模式和默认标签。

选择工具 > 数字快捷键管理器,或按 Alt+D 打开配置界面。

表格中每行包含以下信息:

  • 数字:表示键盘上的数字键(0-9)
  • 绘制模式:从下拉菜单中选择矩形框、长方体、多边形、旋转框、四边形、圆形、线段、点、折线或空选项
  • 标签:为该对象指定默认标签名称(必填)

配置快捷键:选择数字对应的绘制模式,输入该对象的默认标签名称(启用绘制模式后必须填写),然后点击确定保存设置。

重置快捷键:点击重置按钮可清除所有快捷键设置,系统会弹出确认对话框,确认后将清除所有配置。

使用快捷键:在标注界面中,直接按下已配置的数字键(0-9),系统会自动切换到对应的绘制模式,并预设标签名称。绘制完成后,标注将自动使用预设的标签名称。

离线配置:除图形界面外,也可以在用户目录下的 .xanylabelingrc 中配置:

digit_shortcuts:
0: {mode: polygon, label: person}
1: {mode: rectangle, label: car}
2: {mode: rotation, label: truck}
# 更多配置...

通过图形界面配置的数字快捷键会自动保存到 .xanylabelingrc,并在下次启动时加载。手动修改配置文件后,需要重启应用才能生效。

5.6 群组编号管理器​

群组编号管理器是针对群组编号字段提供的批量管理功能,允许用户对指定范围内的群组编号进行统一修改和删除操作。您可以通过以下两种方式打开:

  • 在主界面上方菜单栏选择工具 -> 群组编号管理器
  • 直接使用快捷键 Alt+G

5.7 对象管理器​

用于在指定帧范围内批量处理标注和选定对象的对象管理器

对象管理器用于视频帧序列的批量标注处理,通过 工具 -> 对象管理器 或快捷键 Alt+S 打开。

对话框提供四种操作模式(单选):

  • 删除所有标注:移除指定帧范围内的所有 JSON 标注文件,图像文件保留。执行后会自动取消对应帧的勾选状态。
  • 删除所有图像及标注:同时删除图像和标注文件。图像文件会移至 _delete_ 目录作为备份,而非永久删除。完成后文件列表自动刷新。
  • 移除选定对象:从帧范围内查找并移除与当前选中对象。若某帧仅包含匹配对象则删除整个标注文件,否则仅移除匹配部分。使用前需在画布上至少选中一个对象作为匹配模板。
  • 添加选定对象:将当前选中的对象批量复制到指定帧。系统会自动检测边界并跳过超出图像范围的对象,同时避免重复添加已存在的相同对象。若目标帧无标注文件会自动创建,完成后自动勾选对应帧。

使用时需要设置起止帧编号:From 默认为当前帧,To 需要手动填写。帧编号对应从 1 开始的文件列表序号。点击 Go 并确认后开始执行;移除和添加操作支持显示进度及中途取消。

Warning

注意删除标注操作不可恢复,删除图像可从备份目录手动恢复。

6. 帮助及语言​

6.1 获取版本信息​

在界面上方菜单栏中,用户可点击 帮助 -> 关于 选项,查看当前版本的详细信息,包括版本号和运行环境等。

6.2 设置软件语言​

X-AnyLabeling 的中文、英文、日文和韩文界面

在界面上方菜单栏中,用户可点击 语言 下拉框,选择所需语言进行设置。目前支持 中文、英文、日文 和 韩文 四种语言。切换语言后,软件将自动重启,请确保在切换前保存好当前数据,以防数据丢失。

7. 用户配置​

X-AnyLabeling 的用户配置文件默认存放在当前用户目录下的 .xanylabelingrc 文件中。您可以通过以下路径找到该文件:

  • Linux: ~/.xanylabelingrc
  • Windows: C:\Users\<用户名>\.xanylabelingrc

现在大多数常用选项都可以直接在 Settings(Ctrl+0)中修改,而配置文件仍适用于手动编辑和高级自定义。若手动修改配置文件,建议关闭 X-AnyLabeling 后编辑,并在修改后重新启动软件使其生效。

快捷键、常规选项、对象外观和画布行为的设置页面

7.1 快捷键设置​

当前 X-AnyLabeling 默认的快捷键配置如下,用户可以根据自身需求进行修改,确保避免快捷键冲突。也支持在 GUI 中直接修改:按 Ctrl+0 打开 Settings 后,在右侧 Shortcuts 面板内编辑:

快捷键功能
d打开下一个文件
a打开上一个文件
Ctrl + Shift + d打开下一个未检查的标注
Ctrl + Shift + a打开上一个未检查的标注
Ctrl + Alt + u清除当前标注的检查状态(未检查)
Ctrl + Alt + k将当前标注设为检查通过
Ctrl + Alt + j将当前标注设为检查不通过
p创建多边形
Ctrl + n创建画笔多边形(切换画笔模式)
o创建旋转框
r创建矩形框
Ctrl + r创建长方体
t创建四边形
Shift + p创建点
Shift + l创建线段
Shift + s创建折线
Shift + c创建圆形
i运行模型
qSAM 模式 的正样本点
eSAM 模式 的负样本点
bSAM 模式 快速清除提示点
fSAM 模式 确认完成
g组合选定的对象
u取消组合选定的对象
s隐藏选定的对象
w显示选定的对象
Alt + d打开数字快捷键管理器
Alt + g打开群组编号管理器
Alt + l打开标签管理器,支持批量重命名、删除、显示/隐藏、锁定/解锁、调整标签颜色
Alt + s打开对象管理器,支持批量新增、删除、移除指定对象
Ctrl + 0打开 Settings
Ctrl + Delete删除当前标签文件
Ctrl + Shift + Delete删除当前图像文件
Ctrl + 1打开聊天机器人对话窗口
Ctrl + 2打开视觉问答窗口
Ctrl + 3打开图像分类器窗口
Ctrl + 4打开文档解析器窗口
Ctrl + 5打开视频分类器窗口
Ctrl + 6打开 3D 点云工作区
Ctrl + q退出当前应用程序
Ctrl + i打开图像文件
Ctrl + o打开视频文件
Ctrl + u从目录加载所有图像
Ctrl + e编辑标签
Ctrl + j切换绘制模式与编辑模式
Ctrl + c复制选定的对象
Ctrl + v粘贴选定的对象
Ctrl + d快速复制选定对象
Ctrl + g显示当前任务的标注统计
Ctrl + h显示或隐藏当前图片的所有对象
Ctrl + p切换保留上一个模式
Ctrl + y切换自动使用上一个标签
Ctrl + Shift + g切换自动使用上一个群组编号
Ctrl + b唤醒批量标注
Ctrl + a启用自动标注
Ctrl + s保存当前标注
Ctrl + m显示/隐藏掩码
Ctrl + l显示/隐藏标签
Ctrl + t显示/隐藏文本
Ctrl + Shift + t显示/隐藏图片标签面板
Ctrl + k显示/隐藏连接线
Ctrl + Shift + l显示/隐藏属性
Ctrl + Shift + s更改输出目录
Ctrl + z撤销上一操作
Wheel缩放或滚动画布
Alt + Wheel调整矩形或笔刷大小
Alt + Left Drag平移画布(绘制模式)
Middle Drag平移画布
Right Drag平移画布(普通对象绘制及编辑模式)
Ctrl + =缩放至原始大小
Ctrl + +放大
Ctrl + f适应窗口
Ctrl + Shift + f适应宽度
Ctrl + Shift + m合并选定的对象
Ctrl + Shift + n遍历放大对象
Ctrl + Shift + c遍历选中对象
Delete删除选中对象
Esc取消选择的对象
Backspace删除选定的点
↑→↓←使用键盘箭头移动选定的对象
z/x/c/v使用键盘旋转选定的旋转框
F9显示/隐藏导航器
Ctrl + Alt + c切换对比视图

7.2 修改自定义标签颜色​

可以通过标签管理器或配置文件修改标签颜色。手动编辑 .xanylabelingrc 时,将 shape_color 设为 manual,并在 label_colors 中以 RGB 值配置每个标签:

...
default_shape_color: [0, 255, 0]
shape_color: manual # null, 'auto', 'manual'
shift_auto_shape_color: 0
label_colors:
person: [255, 0, 0]
car: [0, 255, 0]
bicycle: [0, 0, 255]
...
...

也可以在工具 > 标签管理器中设置颜色;该方式的更改仅对当前窗口生效。

7.3 加载预定义标签​

为了兼顾标签管理的灵活性与用户在不同场景下的使用需求,X-AnyLabeling 在支持通过软件启动命令加载标签的基础上,还提供了另外两种便捷方式,用于加载预定义标签。

方式一:通过配置文件设置(永久生效)

直接修改配置文件中的 labels 字段来设置标签。需要注意的是,如果标签名称是纯数字,请务必用单引号 '' 括起来。例如:

labels:
- car
- '1'
- '2'
- 苹果
- _phone

方式二:通过界面上传(临时生效)

只需准备一个简单的文本文件(.txt),将标签名称逐行列出:

person
car
bicycle
dog
cat

然后通过菜单栏的 Upload → Upload Label Classes File 上传该文件。

Tip

配置文件中的标签会持久保存;通过界面上传的标签仅在当前会话中有效,重启后需要重新上传。

7.4 自动切换编辑模式​

用户可通过 设置 > 常规 > Auto Switch To Edit Mode 调整自动切换至编辑模式功能,也可通过配置文件中的 auto_switch_to_edit_mode 字段进行设置:

选项功能
true创建对象后自动切换为编辑模式。
false支持连续创建多个同类型对象,需手动切换为编辑模式。

7.5 悬浮自动高亮模式​

用户可通过 设置 > 常规 > Auto Highlight Shape 调整悬浮自动高亮模式功能,也可通过配置文件中的 auto_highlight_shape 字段进行设置:

选项功能
true鼠标悬浮在对象上方时自动高亮,用于快速调整当前选中对象。
false鼠标悬浮在对象上方时需用户手动点击对应对象显示高亮。

7.6 对象属性自定义​

可先在 设置 > 对象 中调整常用外观选项。如需更细粒度的控制,可编辑 .xanylabelingrc 中的 shape 字段,例如边框、填充和顶点颜色:

...
shape:
# drawing
line_color: [0, 255, 0, 128]
fill_color: [220, 220, 220, 150]
vertex_fill_color: [0, 255, 0, 255]
# selecting / hovering
select_line_color: [255, 255, 255, 255]
select_fill_color: [0, 255, 0, 155]
hvertex_fill_color: [255, 255, 255, 255]
point_size: 10
line_width: 4
...

7.7 模型下载源配置​

X-AnyLabeling 支持从不同的模型中心下载预训练模型。用户可以通过设置环境变量、在 Settings(Ctrl+0)中修改 General > Behavior > Model Hub、修改配置文件 .xanylabelingrc 或根据软件语言来指定模型下载源。下载源的优先级顺序如下:

  1. 环境变量(最高优先级):设置环境变量 XANYLABELING_MODEL_HUB。
  • 例如,在 Linux/macOS 使用 export XANYLABELING_MODEL_HUB=modelscope。
  • 在 Windows 使用 set XANYLABELING_MODEL_HUB=modelscope。
  • 如果此环境变量设置为 modelscope,将强制使用 ModelScope,覆盖配置文件的设置。如果设置为其他值或为空,则会考虑配置文件。
  1. 配置文件(中等优先级):通过 Settings(Ctrl+0)修改 General > Behavior > Model Hub,或打开用户目录下的配置文件 .xanylabelingrc。
  • 找到 model_hub 字段。
  • 可选值为 github (默认) 或 modelscope。
  • 如果环境变量 XANYLABELING_MODEL_HUB 未设置或为空,则此配置生效。设置为 model_hub: modelscope 将优先从 ModelScope 下载模型。
  1. 语言设置(最低优先级):仅当环境变量未设置,且配置文件中的 model_hub 为空或不存在时,中文界面(language: zh_CN)才会默认使用 ModelScope;其他语言使用配置中的原始下载 URL。

7.8 主题设置​

X-AnyLabeling 支持三种主题模式,可在菜单栏一级 Theme 菜单中切换:

选项说明
System(跟随系统)自动检测操作系统的深色/浅色偏好并应用对应主题,为默认值
Light(浅色)始终使用浅色主题
Dark(深色)始终使用深色主题

切换后会弹出确认对话框,点击 OK 保存设置。应用不会自动重启,随后会提示重启后生效;点击 Cancel 则放弃本次切换。

也可直接修改用户配置文件 ~/.xanylabelingrc 中的 theme 字段:

theme: auto # 可选: auto, light, dark

7.9 字体设置​

在 设置 > 常规 > Application Font 中,可从下拉列表选择应用字体。列表会通过 Qt 自动扫描当前系统可用的字体,支持 Windows、macOS 和 Linux。选择字体并点击 Save 后会立即全局生效,无需重启;选择 System Default(系统默认) 可恢复操作系统默认字体及字号。

字体设置会保存到用户配置文件的 font_family 字段,也可手动修改:

font_family: null # null 表示使用系统默认字体,也可填写字体名称,如 "Sarasa UI SC"

手动填写的字体名称必须已安装在当前系统中;若字体不可用,Qt 将自动回退到系统默认字体。

8. 任务​

8.1 图像分类​

8.2 目标检测​

8.3 图像分割​

8.4 姿态估计​

8.5 人脸估计​

  • 人脸检测与关键点:链接

8.6 多目标跟踪​

8.7 深度估计​

8.8 光学字符识别​

8.9 交互式视频目标分割​

8.10 抠图​

8.11 视觉基础模型​

8.12 目标计数​

8.13 视觉定位​

8.14 关系识别​

8.15 图像描述​

8.16 文档解析​

9. 模型​

关于如何加载和导出模型可参阅自定义模型文档。

10. 高级功能​