تمت أرشفة هذا المستودع ودمجه في Label Studio SDK: https://github.com/HumanSignal/label-studio-sdk/tree/master/src/label_studio_sdk/converter
موقع الويب • المستندات • Twitter • انضم إلى مجتمع Slack
مقدمة
أمثلة
JSON
CSV
كونل 2003
كوكو
باسكال المركبات العضوية المتطايرة XML
YOLO لتحويل تسمية الاستوديو
الاستخدام
البرنامج التعليمي: استيراد صور YOLO المشروحة مسبقًا إلى Label Studio باستخدام التخزين المحلي
المساهمة
رخصة
يساعدك برنامج Label Studio Format Converter على تشفير الملصقات بتنسيق مكتبة التعلم الآلي المفضلة لديك.
التشغيل من سطر الأوامر:
تثبيت النقطة - محول U label-studio بايثون تسمية الاستوديو-محول التصدير -i Exported_tasks.json -c أمثلة / تحليل_الشعور / config.xml -o Output_dir -f CSV
التشغيل من بايثون:
من label_studio_converter import Converterc = Converter('examples/sentiment_analogy/config.xml')c.convert_to_json('examples/sentiment_analogy/completions/', 'tmp/output.json')
الحصول على ملف الإخراج: tmp/output.json
[ {"reviewText": "حالة جيدة، قيمة ممتازة."،"المشاعر": "إيجابي" }, {"reviewText": "يا لها من مضيعة للمال والوقت!"، "المشاعر": "سلبي" }, {"reviewText": "تحتاج رقبة الإوزة إلى القليل من الإقناع"،"المشاعر": "محايد" } ]
حالات الاستخدام: أي مهام
التشغيل من سطر الأوامر:
بايثون label_studio_converter/cli.py --أمثلة الإدخال/تحليل_sentiment/الإكمال/ --أمثلة التكوين/تحليل_sentiment/config.xml --outputput_dir --تنسيق CSV --csv-separator $'t'
التشغيل من بايثون:
من label_studio_converter import Converterc = Converter('examples/sentiment_analogy/config.xml')c.convert_to_csv('examples/sentiment_ana Analysis/completions/', 'output_dir', sep='t', header=True)
الحصول على ملف الإخراج tmp/output.tsv
:
مراجعةالنصالمشاعرحالة جيدة، قيمة ممتازة.إيجابي يا لها من مضيعة للمال والوقت!سلبي، رقبة الإوزة تحتاج إلى القليل من الإقناع محايد
حالات الاستخدام: أي مهام
التشغيل من سطر الأوامر:
بيثون label_studio_converter/cli.py --أمثلة الإدخال/named_entity/completions/ --أمثلة التكوين/named_entity/config.xml --output tmp/output.conll --format CONLL2003
التشغيل من بايثون:
من 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
...
حالات الاستخدام: وضع علامات على النص
التشغيل من سطر الأوامر:
بايثون label_studio_converter/cli.py --أمثلة الإدخال/image_bbox/completions/ --أمثلة التكوين/image_bbox/config.xml --output tmp/output.json --format COCO --image-dir tmp/images
التشغيل من بايثون:
من label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_coco('examples/image_bbox/completions/', 'tmp/output.conll',put_image_dir='tmp/images')
يمكن العثور على صور الإخراج في tmp/images
الحصول على ملف الإخراج tmp/output.json
{ "الصور": [ { "العرض": 800، "الارتفاع": 501، "المعرف": 0، "اسم_الملف": "tmp/images/62a623a0d3cef27a51d3689865e7b08a"} ]، "فئات": [ { "المعرف": 0، "الاسم": "الكوكب"}، { "المعرف": 1، "الاسم": "Moonwalker"} ]، "الشروح": [ { "id": 0، "image_id": 0، "category_id": 0، "segmentation": []، "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" } }
حالات الاستخدام: اكتشاف كائن الصورة
التشغيل من سطر الأوامر:
بايثون label_studio_converter/cli.py --أمثلة الإدخال/image_bbox/completions/ --أمثلة التكوين/image_bbox/config.xml --output tmp/voc-annotations --format VOC --image-dir tmp/images
التشغيل من بايثون:
من label_studio_converter import Converterc = Converter('examples/image_bbox/config.xml')c.convert_to_voc('examples/image_bbox/completions/', 'tmp/output.conll',put_image_dir='tmp/images')
يمكن العثور على صور الإخراج في tmp/images
يمكن العثور على التعليقات التوضيحية المقابلة في tmp/voc-annotations/*.xml
:
<التعليق التوضيحي>tmp/images <اسم الملف>62a623a0d3cef27a51d3689865e7b08aاسم الملف> <المصدر>قاعدة بياناتي COCO2017 <الصورة>فليكرالصورة>فارغة المصدر> <مالك>فارغة استوديو الملصقات مالك> <الحجم> <العرض>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
مثال classs.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"
حيث يكون مسار URL من ?d=
مرتبطًا بالمسار الذي قمت بتعيينه في 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
لنظام التشغيل 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، قم بتعيين متغيرات البيئة التالية لتمكين خدمة ملفات التخزين المحلي:
أنظمة يونكس:
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 .
انقر فوق Add Source Storage وحدد Local files من خيارات Storage Type .
قم بتعيين المسار المحلي المطلق إلى /yolo/datasets/one/images
أو c:yolodatasetsoneimages
على نظام التشغيل Windows.
انقر فوق Add storage
.
تحقق من مزيد من التفاصيل حول وحدات التخزين المحلية في الوثائق.
قبل استيراد التعليقات التوضيحية المحولة من YOLO، تأكد من أنه يمكنك الوصول إلى صورة من وحدة التخزين المحلية الخاصة بك عبر Label Studio. افتح علامة تبويب متصفح جديدة وأدخل عنوان URL التالي:
http://localhost:8080/data/local-files/?d=one/images/.jpg
استبدل one/images/
بالمسار إلى إحدى صورك. يجب أن تظهر الصورة في علامة التبويب الجديدة للمتصفح . إذا لم تتمكن من فتح صورة، فهذا يعني أن تكوين التخزين المحلي غير صحيح. السبب الأرجح هو أنك ارتكبت خطأً عند تحديد Path
في إعدادات التخزين المحلي أو في LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
.
ملحوظة: مسار URL من ?d=
يجب أن يكون مرتبطًا بـ LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/yolo/datasets
، فهذا يعني أن المسار الحقيقي سيكون /yolo/datasets/one/images/
ويجب أن تكون هذه الصورة موجودة على جهازك الصلب يقود.
استخدم محول label-studio لتحويل تعليقات 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
)
لمزيد من التفاصيل، راجع الوثائق المتعلقة باستيراد البيانات المشروحة مسبقًا وإعداد وحدات التخزين السحابية.
نود أن نحصل على مساعدتك لإنشاء محولات إلى نماذج أخرى. لا تتردد في إنشاء طلبات السحب.
المبادئ التوجيهية المساهمة
مدونة لقواعد السلوك