이 저장소는 보관되어 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 라벨-스튜디오-변환기 python 라벨-스튜디오-컨버터 내보내기 -i 내보내기_작업.json -c 예제/감정_분석/config.xml -o 출력_디렉터리 -f CSV
Python에서 실행:
from label_studio_converter import Converterc = Converter('examples/sentiment_analytic/config.xml')c.convert_to_json('examples/sentiment_analytic/completions/', 'tmp/output.json')
출력 파일 가져오기: tmp/output.json
[ {"reviewText": "좋은 사례, 탁월한 가치.","sentiment": "긍정적" }, {"reviewText": "돈과 시간을 낭비하는군요!","sentiment": "부정적" }, {"reviewText": "거위목은 약간의 달래기가 필요합니다","sentiment": "중립" } ]
사용 사례: 모든 작업
명령줄에서 실행:
python label_studio_converter/cli.py --input 예제/sentiment_analytic/completions/ --config 예제/sentiment_analytic/config.xml --output 출력_dir --format CSV --csv-separator $'t'
Python에서 실행:
from label_studio_converter import Converterc = Converter('examples/sentiment_analytic/config.xml')c.convert_to_csv('examples/sentiment_analytic/completions/', 'output_dir', sep='t', header=True)
출력 파일 tmp/output.tsv
가져오기:
리뷰텍스트감정좋은 사례, 우수한 가치.긍정돈과 시간 낭비입니다!부정거위 목은 약간의 달래기가 필요합니다중립
사용 사례: 모든 작업
명령줄에서 실행:
python label_studio_converter/cli.py --input 예제/named_entity/completions/ --config 예제/named_entity/config.xml --output tmp/output.conll --format CONLL2003
Python에서 실행:
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 --input 예제/image_bbox/completions/ --config 예제/image_bbox/config.xml --output tmp/output.json --format COCO --image-dir tmp/images
Python에서 실행:
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, "file_name": "tmp/images/62a623a0d3cef27a51d3689865e7b08a"} ], "카테고리": [ { "id": 0, "이름": "행성"}, { "id": 1, "name": "문워커"} ], "주석": [ { "id": 0, "image_id": 0, "category_id": 0, "segmentation": [], "bbox": [299,6,377,260 ], "ignore": 0, "iscrowd": 0, "area ": 98020}, { "id": 1, "image_id": 0, "category_id": 1, "segmentation": [], "bbox": [288,300,132,90 ], "ignore": 0, "iscrowd": 0, "area" ": 11880} ], "info": {"연도": 2019,"version": "1.0","contributor": "Label Studio" } }
사용 사례: 이미지 객체 감지
명령줄에서 실행:
python label_studio_converter/cli.py --input 예제/image_bbox/completions/ --config 예제/image_bbox/config.xml --output tmp/voc-annotations --format VOC --image-dir tmp/images
Python에서 실행:
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 플리커 NULL <소유자>NULL 레이블 스튜디오 소유자> <사이즈> <너비>800너비> <높이>501높이> <깊이>3깊이> 크기> <세그먼트>0세그먼트> <객체>행성 지정되지 않음 <잘림>0잘림> <어려움>0어려움><객체> 299 6 676 266 문워커 지정되지 않음 <잘림>0잘림> <어려움>0어려움>288 300 420 390
사용 사례: 이미지 객체 감지
먼저 YOLO 폴더의 구조를 확인하세요. 루트는 /yolo/datasets/one
입니다.
/yolo/datasets/one images - 1.jpg - 2.jpg - ... labels - 1.txt - 2.txt classes.txt
class.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를 실행하려면 LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
( /yolo/datasets/one
이 아니라 /yolo/datasets
)를 설정하는 것이 매우 중요합니다.
프로젝트 설정에서 새 로컬 저장소를 추가하고 절대 로컬 경로를 /yolo/datasets/one/images
(또는 Windows의 경우 c:yolodatasetsoneimages
)로 설정하세요.
Cloud Storage 참고사항
--image-root-url
사용하여 작업 URL에 대한 올바른 접두사를 만듭니다(예: --image-root-url s3://my-bucket/yolo/datasets/one
.
해당 버킷과 접두사를 사용하여 프로젝트 설정에 새 Cloud Storage를 추가합니다.
도움말 명령
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를 시작하기 전에 다음 환경 변수를 설정하여 로컬 저장소 파일 제공을 활성화합니다.
유닉스 시스템:
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
)로 올바르게 설정되어 있습니다.
자세한 내용은 사전 주석이 달린 데이터 가져오기 및 Cloud Storage 설정에 대한 문서를 참조하세요.
우리는 다른 모델에 대한 변환기를 만드는 데 도움을 받고 싶습니다. 풀 요청을 자유롭게 작성해 주세요.
기여 가이드라인
행동 강령