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

资讯详情

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

Label Studio 多模态数据集构建:从一张菜单图片到可训练数据集的完整路径

Label Studio 多模态数据集构建:从一张菜单图片到可训练数据集的完整路径 Label Studio 多模态数据集构建从一张菜单图片到可训练数据集的完整路径【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio让模型看一张菜单照片就能报出总价前提是手里有一批图文严格对齐的多模态训练数据。Label Studio 是一个开源的多类型数据标注工具它把图片、文本、音频等原始素材统一成结构化的 JSON 任务再经人工或模型预标注产出标准结果导出的 Label Studio 多模态数据集可直接对接 COCO、YOLO 等训练格式。下面按数据流转的全景、核心机制、典型场景三条线把这套流程讲透。数据全景从原始素材到训练输入整条链路是原始文件图片/文本/音频 URL 或本地目录→ 导入为 taskdata字段→ 用 XML 标签定义标注界面 → 人工/模型产出result标注 → 按 COCO、YOLO、JSON 等格式导出。图中标注工作台、Data Manager 和导出按钮对应链路的三个关键节点标注发生在任务里质检发生在 Data Manager格式转换发生在导出时。理解这个顺序后后面每个环节都有明确的落点。 核心机制拆解任务数据格式data 字段与 object tag 一一对应导入数据的本质是给每个 task 准备一个data字典字典的 key 必须与标注配置里 object tag 的value参数对得上例如Image value$image就要求任务里有image字段。图片、音频、视频只能传 URL 或存储引用文本类可以内嵌。[ { data: { image: http://storage.example.com/menu_001.jpg, caption: 一张餐厅菜单照片 } }, { data: { image: http://storage.example.com/menu_002.jpg, caption: 另一张菜单 } } ]字段名的对应关系是后面一切格式正确的基础数据格式定义里有完整字段表。图像坐标系用百分比而非像素图片类标注最反直觉的一点x、y、width、height存的都是占整图尺寸的百分比0-100不是像素。每个 result 同时携带original_width、original_height和image_rotation三个参照字段换算公式是pixel_x x / 100.0 * original_width pixel_y y / 100.0 * original_height pixel_width width / 100.0 * original_width pixel_height height / 100.0 * original_height这样做的好处是缩略图与全图共用一套坐标但直接拿去喂训练框架前必须先换算。换算文档附了完整的往返转换函数这一步踩坑的人不少。标注结果组织region 通过 id 链接每个标注动作画框、打标签、写文本生成一条 result称为 region多条 region 靠相同的id拼成同一个区域靠from_name/to_name标明哪个控件标注了哪个对象。perRegiontrue的控件会强制每个区域都必须产出一条对应结果这是构建每道菜一个价格这类严格配对数据的开关。层级关系如关键点挂在框内通过parentID表达。{ from_name: dish, to_name: image, type: rectanglelabels, id: X_12fGk, value: { x: 5.33, y: 23.57, width: 29.16, height: 31.26, rectanglelabels: [Burger] } }结构细节与 perRegion 的完整示例见结果格式说明。质量校验把 Data Manager 当质检台导出前的质量把控不靠人肉翻数据而靠 Data Manager 的过滤、排序与统计列按lead_time单任务耗时筛出异常快/慢的标注按completed_by定位到具体标注员用was_cancelled排除取消的样本。大项目还可用 tab 把任务切成互不重叠的分片分给不同人。标注归属字段还支持按邮箱或 ID 指定方便批量回灌历史数据。 场景实战单图目标检测菜单菜品识别标注配置只需要一个对象标签加一个控制标签导出时勾选 COCO 或 YOLO 即可得到训练格式View Image nameimage value$image/ RectangleLabels namedish toNameimage Label valueBurger/ Label valueFries/ Label valueSalad/ /RectangleLabels /View注意 COCO/YOLO 导出中类别默认按字母序排列需要固定类别 ID 时在Label上加category属性即可这在导出文档里有专门说明。多模态混合任务一图多字段同一个 task 的data里放多个字段object tag 用变量引用就能表达图片文本混合输入$images[0]甚至支持取数组元素一个任务挂多张图也不成问题。{ data: { image: http://storage.example.com/menu.jpg, text: 请识别图中所有菜品并核对价格, images: [http://storage.example.com/menu.jpg, http://storage.example.com/receipt.jpg] } }这种结构适合做图文问答、票据核对类数据集导出后每条样本天然包含全部输入模态。OCR 数据文本区域 perRegion 转录对含文字的图菜单、票据、地标招牌推荐区域 区域内文本的组合Rectangle圈出文字区域TextArea perRegiontrue强制每个区域填转录内容导出的 JSON 里两者通过相同id天然配对直接就是框 文本的 OCR 训练样本。项目内置了 Tesseract、EasyOCR 等 OCR 后端示例可先做预标注再由人校正多语言场景下只需保证Label值与转录文本统一 UTF-8 编码标注标准里把术语表写进项目 Instructions能显著降低跨语言样本的不一致率。⚙️ 训练对接从导出文件到模型训练导出的选择取决于下游框架常用格式对比如下详见导出文档格式适用场景备注JSON保留 data annotations 全量通用含 LS 专有字段JSON_MIN只要标注不要元数据字段最精简适合自定解析COCO / YOLO目标检测、分割类别序需用category固定CoNLL2003 / CSV / TSV文本 NER、通用表格列名取自 from/to_name对接训练侧有两条路。一是一次性导出训练文件二是挂 ML backend 形成闭环——后端设LABEL_STUDIO_URL与LABEL_STUDIO_API_KEY用label_studio_tools的get_local_path()拉取任务里的图片标注提交后即可触发训练curl -X POST http://localhost:8080/api/ml/{id}/trainbackend 的连接、数据访问与训练触发细节见ML 集成文档。️ 调试与排障高频问题速查现象原因解法导出的框位置和原图错位坐标是百分比被当像素用了用original_width/height按公式换算大数据量导出时 502/超时社区版导出是同步请求超过反向代理超时常约 90s改用 SDK snapshot 导出或label-studio export控制台命令ML backend 报 FileNotFoundLABEL_STUDIO_URL在 Docker 里写了 localhost换成宿主机真实 IPURL 必须以 http(s):// 开头标注界面任务空白data字段名与 object tag 的value变量不一致核对Image value$image与 JSON keyCOCO/YOLO 类别顺序与预期不符标签默认按字母序编号给Label增加categoryn属性延伸与资源任务格式文档导入侧data/annotations/predictions三个块的完整字段定义是排查格式问题的第一站标注结果格式region 的 id 链接、perRegion、parentID 机制的权威说明ML 集成文档从 backend 连接、数据访问到训练触发的完整闭环标签库全部 object tag 与 control tag 的参数参考自定义标注界面时按需查阅【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表