أمان جاهز للشركات: ممتثل لمعياري ISO 27001 و SOC 2 النوع الأول.

Link to this sectionتكامل Labelbox#

تقرأ Ultralytics Platform صادرات Labelbox بصيغة NDJSON مباشرة. لا توجد مفاتيح للصقها، ولا اتصال للحفاظ على نشاطه، ولا نص برمجي للتحويل يجب صيانتها — قم بالتصدير من Labelbox، وارفع الملف، وستصل تسمياتك كمجموعة بيانات عادية على المنصة.

Link to this sectionالاستيراد من Labelbox#

  1. التصدير من Labelbox. افتح مشروع التسمية أو الكتالوج الذي تريد نقله واذهب إلى علامة التبويب Data Rows. اختر All، وانقر فوق Export data، وحدد الحقول المراد تضمينها، ثم أكد. هل تقوم بالتصدير من الكتالوج بدلاً من المشروع؟ فعِّل Export labels from project واختر المشروع، وإلا سيصل الملف بدون أي تعليقات توضيحية على الإطلاق.
  2. تنزيل الملف. تُشغيل Labelbox عملية التصدير كمهمة في الخلفية. راقبها في الإشعارات وانقر فوق Download عند انتهائها لحفظ ملف .ndjson.
  3. الرفع إلى المنصة. أنشئ مجموعة بيانات جديدة وارفع ملف .ndjson، أو الصق رابطاً مباشراً له. يمكنك أيضاً البدء من Settings > Integrations > Labelbox.
  4. الـتدريب. بمجرد انتهاء المعالجة، قم بتحرير التعليقات التوضيحية والتدريب تماماً مثل أي مجموعة بيانات أخرى على المنصة.

على عكس CVAT وLabel Studio، لا توجد صيغة يجب اختيارها — فتصدير Labelbox الخاص هو الصيغة المدعومة.

Link to this sectionالتصدير باستخدام حزمة SDK#

توفر Labelbox أيضاً مهمة التصدير في حزمة Python SDK الخاصة بها، وهي الطريقة الأسهل لخط管道 قابل للتكرار. قم ببث المهمة واكتب كائن JSON واحداً لكل سطر:

import json

import labelbox

client = labelbox.Client(api_key="YOUR_LABELBOX_API_KEY")
export_task = labelbox.ExportTask.get_task(client, "YOUR_EXPORT_TASK_ID")
export_task.wait_till_done()  # streaming a task that isn't COMPLETE raises

with open("dataset.ndjson", "w") as f:
    f.writelines(json.dumps(data_row.json) + "\n" for data_row in export_task.get_buffered_stream())
اكتب بصيغة NDJSON، وليس كصفيف JSON

صيغة NDJSON هي عبارة عن كائن JSON واحد لكل سطر. يقوم json.dump(list_of_rows, f) كتابة صفيف واحد بدلاً من ذلك، وتتجاهل المنصة أي سطر ليس كائن JSON — ولا يجد الاستيراد أي صفوف بيانات على الإطلاق. استخدم التكرار أعلاه، أو "\n".join(json.dumps(r) for r in rows).

Link to this sectionما يتم استيراده#

تتعرف المنصة على صيغة Labelbox من تلقاء نفسها وتقوم بمطابقة مربعات التحديد والمضلعات نوع مهمة YOLO المقابل:

تعليق Labelboxتم الاستيراد
مربع التحديدDetect
مضلعSegment
قناع التجزيء، النقطة، الخط المتعدد، العلاقة، التصنيفليس بعد

يصبح حقل name لكل كائن هو اسم الفئة — لذا فإن تعليق "name": "Dog" يُستورد كفئة Dog، وليس كقيمة value الصغيرة — ويتم تطبيع إحداثيات البكسل مقابل أبعاد media_attributes في التصدير. يُستورد تصدير الكتالوج بدون تعليقات توضيحية كمجموعة بيانات صور غير مسماة، جاهزة للوسم في محرر التعليقات التوضيحية الخاص بالمنصة.

يبدو صف البيانات الواحد هكذا، مقصوصاً إلى الحقول التي تقرأها المنصة:

{
    "data_row": {
        "external_id": "000000000307.jpg",
        "row_data": "https://storage.labelbox.com/...?Expires=...&Signature=..."
    },
    "media_attributes": { "height": 480, "width": 640, "mime_type": "image/jpeg" },
    "projects": {
        "<project-id>": {
            "labels": [
                {
                    "annotations": {
                        "objects": [
                            {
                                "name": "Dog",
                                "annotation_kind": "ImageBoundingBox",
                                "bounding_box": { "top": 200.0, "left": 407.0, "height": 172.0, "width": 176.0 }
                            }
                        ]
                    }
                }
            ]
        }
    }
}

يتم تجاهل كل شيء آخر في التصدير — embeddings، وmetadata_fields، وattachments، وproject_details. يجدر إلغاء تحديد التضمينات عند التصدير: ففي عينة تصدير كانت تمثل حوالي أربعة أخماس الملف، مقابل خمس للحقول التي تقرأها المنصة فعلياً.

مشاريع الأقنعة والنقاط تُستورد بدون تعليقات توضيحية

تتم قراءة مربعات التحديد والمضلعات فقط اليوم، وفقط من تعليقات الكائنات — فتصنيفات مستوى الصورة توجد في مكان آخر من التصدير ويتم تخطيها. المشروع المُسمى بالكامل بأداة قناع التجزيء (الفرشاة)، أو النقاط، أو الخطوط المتعددة، أو التصنيفات، يُستورد صوره ولكن بدون تعليقات توضيحية، ولا يتم رفع أي خطأ. يمكنك ملاحظة ذلك على صفحة مجموعة البيانات: مجموعة البيانات المستوردة التي احتفظت بتسمياتها تعرض عدداً مسجلاً وتعليقاً بجوار عدد الصور، وتلك التي فقدتها لا تعرض أياً منهما.

ارفع التصدير بينما تكون روابطه طازجة

يشير تصدير Labelbox إلى كل صورة بواسطة عنوان URL موقع بدلاً من تضمين وحدات البكسل، وتنتهي صلاحية تلك التواقيع. تقوم المنصة بتنزيل الصور من تلك الروابط، وتفحص عينة قبل أن تبدأ، لذا يفشل التصدير الذي انتهت صلاحية جميع روابطه فوراً ويخبرك بالسبب — أعد التصدير من Labelbox وارفع الملف الجديد. التصدير الذي انتهت صلاحيته جزئياً فقط يستورد الصور التي لا يزال بإمكانه الوصول إليها ويتخطي الباقي، لذا ارفع الملف قريباً من وقت التصدير.

في التصدير المختلط، يتم إسقاط المربعات

يتم استيراد التصدير الذي يحتوي على كل من مربعات التحديد والمضلعات كمجموعة بيانات قطاعية، ومجموعة البيانات القطاعية تحمل هندسة مضلعات فقط — ولا تُستخدم تعليقات المربعات للتدريب أو تضمن في صادرات الإصدارات. قم بتصدير المربعات والمضلعات كمشاريع Labelbox منفصلة إذا كنت بحاجة إلى كليهما. تتطلب المضلعات أيضاً ثلاثة نقاط على الأقل لتتم قراءتها.

المساهمون

التعليقات