此儲存庫已存檔並合併至 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', seples/sentiment_analysis/completions/', 'output_dir', sep='tue', 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//mpll', output_image_dir')
輸出影像可以在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/tmp.conll', output_image_dir='tmp//mp)')
輸出影像可以在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
)
有關更多詳細信息,請參閱有關導入預註釋資料和設定雲端儲存的文件。
我們很樂意得到您的幫助來創建其他模型的轉換器。請隨意建立拉取請求。
貢獻指南
行為守則