type
status
date
slug
summary
tags
category
icon
password
URL
Rating
视频版见本文末尾。
Label Studio,是个数据标注工具,支持各种类型、各种任务的数据标注,首页:https://labelstud.io 。
安装
尽量在独立的虚拟环境中安装:
<ins/>
启动
下面命令启动:
有些任务的数据是在本地硬盘上的,直接上面命令启动是不允许加载本地硬盘上的资源的。如果要加载本地硬盘资源,需要使用下面的命令设置好环境变量(官方文档:Label Studio Documentation — Cloud and External Storage Integration):
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
中设置的值需要是待加载资源的根目录。比如资源放在 /data/jinlong/std_data/call_images/images
下面,就可以设置 LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/data/jinlong/std_data
。基于本地资源创建新的标注任务
本节介绍如何把本地某个文件夹中的所有图片都导入到标注任务中。Label Studio Documentation 有相关的说明,也有介绍视频 https://youtu.be/lo6ncQajbdU 。
设置路径:
Settings
/ Cloud Storage
/ Add Source Storage
,Storage Type
选择 Local files
。注意:右上角 “Absolute local path” 中需要填写绝对路径,而且这个绝对路径需要是 Label Studio 启动时
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
中设置的路径的子文件夹。比如我这里设置为:/data/jinlong/std_data/call_images/images/2023-02-27_2023-03-05
。如果是创建数学公式检测(MFD)标注任务,可以使用以下的配置(
Settings
/ Labeling Interface
/ Code
):导入模型预测结果
如果你标注了一个样本(如对图片做目标检测标注),它对应的配置大概长这样。
如果要导入模型的预测结果,导入文件应该长这样。最上层是个list,其中每个元素是一个dict,对应着一个样本的预测结果。
对应一个样本预测结果的dict,只需包含两个key即可:
predictions
和 data
。其中 data
就是样本图片位置信息,和上面配置结构是一样的。predictions
包含3个key即可:model_version
、score
和 result
。前两个写死即可,表示预测模型的名称和预测分数。result
的结构和上面配置文件中的 result
结构是一样的,可以直接拷贝过来用。特别要注意的是,
data/image
中的值是一个特别的值,它的前缀是固定的 /data/local-files/?d=
,之后是相对路径,相对于Label Studio启动时设置的 LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
值,如上面图片文件的绝对路径其实是 /data/jinlong/std_data/call_images/images/2023-02-27_2023-03-05/1.jpg
(启动时设置了 LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/data/jinlong/std_data
)。把上面配置存成
.json
文件,然后通过 Label Studio 的 import
导入即可。注意,导入会生成新的样本,不会覆盖已有样本。
你可以自己想办法以上面说明的格式生成json文件。如果你的标注任务是数学公式检测, CnSTD 中提供了脚本命令直接生成上面的json文件。以下是具体说明。
利用CnSTD的MFD模型,生成检测结果
利用 CnSTD 的
LayoutAnalyzer
MFD模型,生成检测结果(json格式)文件,这个文件可以导入到 Label Studio 中,生成待标注数据。相关说明:
命令运行的输出应该长这样:
运行完成后,会在当前文件夹生成名为
prediction_results.json
的文件,这个文件可以直接导入到Label Studio生成待标注任务。线上标注
把文件
prediction_results.json
导入到 Label Studio 已有项目中,就会在当前项目中生成待标注的新样本了。然后在 Label Studio 标注样本即可。注:不一定要把所有样本都标注一遍,觉得没必要或者不想要的样本直接忽略不标即可。
标注完后,点页面右上角的
Export
,在弹窗中选择以 JSON
格式导出结果到文件。导出的结果只会包含标注过的样本,而不是包含所有样本。把标注后的导出文件转化成训练MFD模型的数据格式
如果你的标注任务是数学公式检测, 并期望使用标注结果来训练 CnSTD 中的MFD模型(Pix2Text 中使用的MFD模型就是这个了),那可以直接使用 CnSTD 提供的脚本命令把 Label Studio 导出的JSON文件转化成训练需要的格式。
注:CnSTD 中MFD模型的训练代码在 breezedeus/yolov7 中。
相关说明:
最终,会在当前文件夹输出索引文件
train.txt
,以及 labels
对应的文件夹 /data/jinlong/std_data/call_images/labels/2023-02-27_2023-03-05
,其中每个文件对应一张标注图片的标注结果( breezedeus/yolov7 需要的标注格式)。<ins/>
视频版
- 作者:Breezedeus
- 链接:https://www.breezedeus.com/article/label-studio-20230621
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章