该存储库已存档并合并到 Label Studio SDK 中:https://github.com/HumanSignal/label-studio-sdk/tree/master/src/label_studio_sdk/converter
网站 • 文档 • Twitter • 加入 Slack 社区
介绍
示例
JSON
CSV
2003年全国护士大会
可可
帕斯卡 VOC XML
YOLO 到 Label Studio 转换器
用法
教程:使用本地存储将 YOLO 预注释图像导入 Label Studio
贡献
执照
Label Studio 格式转换器可帮助您将标签编码为您最喜欢的机器学习库的格式。
从命令行运行:
pip install -U label-studio-converter python label-studio-converter导出-iexported_tasks.json-c示例/sentiment_analysis/config.xml-ooutput_dir-fCSV
从Python运行:
from label_studio_converter import Converterc = Converter('examples/sentiment_analysis/config.xml')c.convert_to_json('examples/sentiment_analysis/completions/', 'tmp/output.json')
获取输出文件: tmp/output.json
[ {"reviewText": "好案例,物超所值。","sentiment": "积极" }, {“reviewText”:“真是浪费金钱和时间!”,“sentiment”:“负面” }, {"reviewText": "鹅颈需要一点哄","sentiment": "中性" } ]
用例:任何任务
从命令行运行:
python label_studio_converter/cli.py --输入示例/sentiment_analysis/completions/ --config 示例/sentiment_analysis/config.xml --输出 output_dir --格式 CSV --csv-分隔符 $'t'
从Python运行:
from label_studio_converter import Converterc = Converter('examples/sentiment_analysis/config.xml')c.convert_to_csv('examples/sentiment_analysis/completions/', 'output_dir', sep='t', header=True)
获取输出文件tmp/output.tsv
:
评论文字感想好案例,物超所值。正面真是浪费金钱和时间!负面鹅颈需要一点哄中性
用例:任何任务
从命令行运行:
python label_studio_converter/cli.py --输入示例/named_entity/completions/ --config 示例/named_entity/config.xml --输出 tmp/output.conll --格式 CONLL2003
从Python运行:
from label_studio_converter import Converterc = Converter('examples/named_entity/config.xml')c.convert_to_conll2003('examples/named_entity/completions/', 'tmp/output.conll')
获取输出文件tmp/output.conll
-DOCSTART- -X- O
Showers -X- _ O
continued -X- _ O
throughout -X- _ O
the -X- _ O
week -X- _ O
in -X- _ O
the -X- _ O
Bahia -X- _ B-Location
cocoa -X- _ O
zone, -X- _ O
...
用例:文本标记
从命令行运行:
python label_studio_converter/cli.py --输入示例/image_bbox/completions/ --config 示例/image_bbox/config.xml --输出 tmp/output.json --format COCO --image-dir tmp/images
从Python运行:
from label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_coco('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
输出图像可以在tmp/images
中找到
获取输出文件tmp/output.json
{“图像”:[ {“宽度”:800,“高度”:501,“id”:0,“文件名”:“tmp/images/62a623a0d3cef27a51d3689865e7b08a”} ], “类别”: [ { "id": 0, "名称": "行星"}, { "id": 1, "name": "月球行者"} ], "注释": [ { "id": 0, "image_id": 0, "category_id": 0, "分割": [], "bbox": [299,6,377,260 ], "忽略": 0, "iscrowd": 0, "区域“:98020}, { "id": 1, "image_id": 0, "category_id": 1, "分割": [], "bbox": [288,300,132,90 ], "忽略": 0, "iscrowd": 0, "区域“:11880} ], "info": {"year": 2019,"version": "1.0","contributor": "Label Studio" } }
用例:图像对象检测
从命令行运行:
python label_studio_converter/cli.py --输入示例/image_bbox/completions/ --config 示例/image_bbox/config.xml --输出 tmp/voc-annotations --format VOC --image-dir tmp/images
从Python运行:
from label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_voc('examples/image_bbox/completions/', 'tmp/output.conll', output_image_dir='tmp/images')
输出图像可以在tmp/images
中找到
相应的注释可以在tmp/voc-annotations/*.xml
中找到:
<注释> <文件夹>tmp/图像文件夹> <文件名>62a623a0d3cef27a51d3689865e7b08a文件名> <来源> <数据库>我的数据库数据库> <注释>COCO2017注释> <图片>flickr图片>NULL 来源> <所有者>NULL <名称>标签工作室名称> 所有者> <尺寸> <宽度>800宽度> <高度>501高度> <深度>3深度> 尺码> <分段>0分段> <对象> <名称>行星名称> <姿势>未指定姿势> <截断>0截断> <困难>0困难>对象> <对象> <名称>月行者名称> <姿势>未指定姿势> <截断>0截断> <困难>0困难> 299 6 676 266 对象> 注释> 288 300 420 390
用例:图像对象检测
首先检查 YOLO 文件夹的结构,请记住根目录是/yolo/datasets/one
。
/yolo/datasets/one images - 1.jpg - 2.jpg - ... labels - 1.txt - 2.txt classes.txt
类.txt 示例
Airplane Car
label-studio-converter import yolo -i /yolo/datasets/one -o ls-tasks.json --image-root-url "/data/local-files/?d=one/images"
其中?d=
中的 URL 路径相对于您在LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
中设置的路径。
本地存储注意事项
设置LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
(不是/yolo/datasets/one
,而是/yolo/datasets
)以便 Label Studio 运行非常重要。
在项目设置中添加一个新的本地存储,并将绝对本地路径设置为/yolo/datasets/one/images
(或c:yolodatasetsoneimages
for Windows)。
云存储注意事项
使用--image-root-url
为任务 URL 指定正确的前缀,例如--image-root-url s3://my-bucket/yolo/datasets/one
。
在项目设置中添加一个新的云存储,并添加相应的存储桶和前缀。
帮助命令
label-studio-converter import yolo -h usage: label-studio-converter import yolo [-h] -i INPUT [-o OUTPUT] [--to-name TO_NAME] [--from-name FROM_NAME] [--out-type OUT_TYPE] [--image-root-url IMAGE_ROOT_URL] [--image-ext IMAGE_EXT] optional arguments: -h, --help show this help message and exit -i INPUT, --input INPUT directory with YOLO where images, labels, notes.json are located -o OUTPUT, --output OUTPUT output file with Label Studio JSON tasks --to-name TO_NAME object name from Label Studio labeling config --from-name FROM_NAME control tag name from Label Studio labeling config --out-type OUT_TYPE annotation type - "annotations" or "predictions" --image-root-url IMAGE_ROOT_URL root URL path where images will be hosted, e.g.: http://example.com/images or s3://my-bucket --image-ext IMAGE_EXT image extension to search: .jpg, .png
本教程将指导您完成将带有 YOLO 注释的文件夹导入 Label Studio 进行进一步注释的过程。我们将介绍如何设置您的环境、将 YOLO 注释转换为 Label Studio 的格式,以及将它们导入到您的项目中。
本地安装的 Label Studio
YOLO 带注释的图像和相应的 .txt 标签文件位于目录/yolo/datasets/one
中。
已安装 label-studio-converter (可通过pip install label-studio-converter
获得)
在启动 Label Studio 之前,设置以下环境变量以启用本地存储文件服务:
Unix系统:
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true export LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets label-studio
视窗:
set LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true set LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=C:yolodatasets label-studio
将/yolo/datasets
替换为 YOLO 数据集目录的实际路径。
创建一个新项目。
转到项目设置并选择Cloud Storage 。
单击添加源存储并从存储类型选项中选择本地文件。
在 Windows 上将绝对本地路径设置为/yolo/datasets/one/images
或c:yolodatasetsoneimages
。
单击Add storage
。
在文档中查看有关本地存储的更多详细信息。
从 YOLO 导入转换后的注释之前,请验证您是否可以通过 Label Studio 访问本地存储中的图像。打开新的浏览器选项卡并输入以下 URL:
http://localhost:8080/data/local-files/?d=one/images/.jpg
将one/images/
替换为其中一张图像的路径。该图像应显示在浏览器的新选项卡中。如果无法打开图像,则本地存储配置不正确。最可能的原因是您在本地存储设置或LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
中指定Path
时犯了错误。
注意: ?d=
中的 URL 路径应该相对于LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
,这意味着真实路径将是/yolo/datasets/one/images/
并且该图像应该存在于您的硬盘上驾驶。
使用 label-studio-converter 将 YOLO 注释转换为 Label Studio 可以理解的格式:
label-studio-converter import yolo -i /yolo/datasets/one -o output.json --image-root-url "/data/local-files/?d=one/images"
现在将output.json
文件导入 Label Studio:
转到您的 Label Studio 项目。
从数据管理器中,单击“导入” 。
选择output.json
文件并将其导入。
导入后,您应该在 Label Studio 中看到带有预先注释的边界框的图像。验证注释是否正确并进行必要的调整。
如果您遇到路径或图像访问问题,请确保:
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT 设置正确。
转换命令中的--image-root-url
匹配相对路径:
`Absolute local path from Local Storage Settings` - `LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT` = `path for --image_root_url`
例如:
/yolo/datasets/one/images - /yolo/datasets/ = one/images
Label Studio 中的本地存储已正确设置为图像的绝对本地路径 ( /yolo/datasets/one/images
)
有关更多详细信息,请参阅有关导入预注释数据和设置云存储的文档。
我们很乐意得到您的帮助来创建其他模型的转换器。请随意创建拉取请求。
贡献指南
行为守则