type
status
date
slug
summary
tags
category
icon
password
URL
Rating
📌
视频版见本文末尾。
 
Label Studio,是个数据标注工具,支持各种类型、各种任务的数据标注,首页:https://labelstud.io
notion image
 

安装

 
尽量在独立的虚拟环境中安装:
<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 StorageStorage Type 选择 Local files
notion image
注意:右上角 “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即可:predictionsdata 。其中 data 就是样本图片位置信息,和上面配置结构是一样的。
predictions 包含3个key即可:model_versionscoreresult。前两个写死即可,表示预测模型的名称和预测分数。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 中,生成待标注数据。
 
从Github Clone CnSTD 项目,按文档配置好环境后,使用命令 pip install cnstd 安装 CnSTD,之后在 CnSTD 根目录下(**/**/cnstd)运行以下命令:
 
相关说明:
 
命令运行的输出应该长这样:
notion image
 
运行完成后,会在当前文件夹生成名为 prediction_results.json 的文件,这个文件可以直接导入到Label Studio生成待标注任务。
 
 

线上标注

把文件 prediction_results.json 导入到 Label Studio 已有项目中,就会在当前项目中生成待标注的新样本了。然后在 Label Studio 标注样本即可。
注:不一定要把所有样本都标注一遍,觉得没必要或者不想要的样本直接忽略不标即可。
 
标注完后,点页面右上角的 Export ,在弹窗中选择以 JSON 格式导出结果到文件。导出的结果只会包含标注过的样本,而不是包含所有样本。
notion image
 

把标注后的导出文件转化成训练MFD模型的数据格式

如果你的标注任务是数学公式检测, 并期望使用标注结果来训练 CnSTD 中的MFD模型(Pix2Text 中使用的MFD模型就是这个了),那可以直接使用 CnSTD 提供的脚本命令把 Label Studio 导出的JSON文件转化成训练需要的格式。
注:CnSTD 中MFD模型的训练代码在 breezedeus/yolov7 中。
 
从Github Clone CnSTD 项目,按文档配置好环境后,使用命令 pip install cnstd 安装 CnSTD,之后在 CnSTD 根目录下(**/**/cnstd)运行以下命令:
 
相关说明:
 
最终,会在当前文件夹输出索引文件 train.txt,以及 labels 对应的文件夹 /data/jinlong/std_data/call_images/labels/2023-02-27_2023-03-05,其中每个文件对应一张标注图片的标注结果( breezedeus/yolov7 需要的标注格式)。
<ins/>

视频版

Video preview
比LLM更重要的多模态学习P2T YoloV7 数学公式检测模型开放购买
Loading...