تصدير تعليقات LabelMe التوضيحية إلى YOLO وUltralytics Platform#
LabelMe أداة غير متصلة بالإنترنت لإضافة التعليقات التوضيحية إلى الصور، مع تطبيق Python مفتوح المصدر. لا يوجد اتصال مباشر بـ LabelMe أو مفتاح API لتهيئته في Ultralytics Platform. التكامل بأكمله عبارة عن سير عمل محلي: أضف التعليقات التوضيحية في LabelMe، وحوّل تعليقات LabelMe التوضيحية بتنسيق JSON إلى تنسيق YOLO باستخدام LabelMe Toolkit، ثم ارفع ملف ZIP الناتج كمجموعة بيانات على Platform.
1. أضف التعليقات التوضيحية إلى الصور في LabelMe#
ثبّت LabelMe باستخدام تطبيق سطح المكتب أو حزمة Python مفتوحة المصدر، ثم افتح المجلد الذي يحتوي على صورك. يحفظ LabelMe التعليقات التوضيحية لكل صورة في ملف JSON مطابق.
لسير عمل اكتشاف YOLO الوارد في هذا الدليل، ارسم مستطيلات حول كل كائن وعيّن اسم فئة. يغطي الدليل التمهيدي لـ LabelMe فتح الصور ورسم الأشكال وحفظ التعليقات التوضيحية، بينما يغطي دليل مجموعات بيانات LabelMe مراجعة مجموعة بيانات كاملة مشروحة وإعدادها.
ينبغي أن يحتوي مجلد المصدر على الصور وملفات LabelMe JSON:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. ثبّت LabelMe Toolkit#
ثبّت LabelMe Toolkit باتباع دليل تثبيت مجموعة الأدوات الخاص بـ LabelMe. تعمل مجموعة الأدوات وعمليات التصدير محليًا.
export-to-yolo جزء من LabelMe Pro Toolkit، ويتطلب تنزيل برنامج التثبيت تسجيل الدخول إلى LabelMe. هذا أحد متطلبات منتج LabelMe؛ ويمكن رفع ملف ZIP الناتج ضمن أي خطة من خطط Platform.
تحقق من التثبيت، ثم اعرض كل تسمية موجودة في مجموعة بيانات المصدر:
labelmetk --version
labelmetk list-labels your_dataset/راجع الناتج قبل التصدير. تُتجاهل التسميات غير المدرجة في --class-names، ويصبح ترتيب التسميات الذي تحدده هو ترتيب معرّفات فئات YOLO.
3. التصدير إلى تنسيق YOLO#
شغّل export-to-yolo مع مجلد المصدر وقائمة أسماء الفئات المفصولة بفواصل:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalاستبدل crack,normal بالتسميات التي يعرضها list-labels. يحفظ LabelMe الناتج في your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtيحافظ classes.txt على أسماء الفئات بالترتيب نفسه المستخدم في ملفات تسميات YOLO. اتركه في جذر التصدير.
يصدّر LabelMe Toolkit المستطيلات على هيئة مربعات إحاطة بتنسيق YOLO. كما يحوّل المضلعات والأقنعة إلى مربعات إحاطة بمحاذاة المحاور، لذا لا يحافظ export-to-yolo على هندسة التجزئة. ارسم مستطيلات عند إعداد مجموعة بيانات للاكتشاف باستخدام سير العمل هذا.
4. أنشئ أرشيف ZIP#
اضغط محتويات your_dataset.export/، لا المجلد الذي يحتوي عليها. في macOS أو Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsفي Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipافتح ملف ZIP قبل رفعه وتأكد من وجود classes.txt وimages/ وlabels/ في جذره. يؤدي وجود مجلد تغليف إضافي your_dataset.export/ إلى منع Platform من العثور على قائمة الفئات في الجذر.
5. ارفع الملف إلى Ultralytics Platform#
- افتح الإعدادات > عمليات التكامل > LabelMe.
- انقر على رفع التصدير.
- ارفع
your_dataset.zipوأكمل إنشاء مجموعة البيانات. - انتظر حتى تكتمل المعالجة، ثم راجع الصور والفئات والتعليقات التوضيحية.
- حرّر التعليقات التوضيحية، ودرّب نموذجًا، وانشره من مساحة العمل نفسها.

يعمل LabelMe وتصدير YOLO بالكامل دون اتصال بالإنترنت. لا يُرسل إلى Platform سوى ملف ZIP الذي تختاره في مربع حوار الرفع.
استكشاف الأخطاء وإصلاحها#
- أسماء الفئات هي
class0وclass1وما إلى ذلك: تأكد من وجودclasses.txtفي جذر ملف ZIP. - بعض التعليقات التوضيحية مفقودة: شغّل
labelmetk list-labels your_dataset/مجددًا وأدرج كل تسمية مطلوبة في--class-names. - تحولت المضلعات إلى مربعات: هذا هو السلوك الموثق لـ
export-to-yoloالخاص بـ LabelMe؛ إذ يحوّل الأشكال غير المستطيلة إلى مربعات إحاطة. - مجموعة البيانات لا تحتوي على صور: تأكد من تضمين مجلد
images/المُصدَّر في ملف ZIP. - يتعذر على Platform العثور على الفئات: أزل أي مجلد خارجي من الأرشيف بحيث تكون
classes.txtوimages/وlabels/هي العناصر الموجودة في المستوى الأعلى.
للاطلاع على سير العمل المحلي كاملًا، راجع دليل تدريب YOLO الخاص بـ LabelMe ومرجع export-to-yolo.
الأسئلة الشائعة#
لا. يعمل LabelMe والتصدير محليًا، ولا يُرسل إلى Platform سوى ملف ZIP الذي ترفعه. الأمر
export-to-yoloجزء من LabelMe Pro Toolkit، وهو أحد متطلبات LabelMe، لكن يمكن رفع ملف ZIP الناتج ضمن أي خطة من خطط Platform.ليس باستخدام سير العمل هذا. يحوّل LabelMe Toolkit المضلعات والأقنعة إلى مربعات إحاطة محاذية للمحاور، لذا تكون النتيجة دائمًا مجموعة بيانات للاكتشاف. ارسم مستطيلات عند إعداد البيانات لهذا التصدير.
يقرأ Platform أسماء الفئات من
classes.txtالموجود في جذر ملف ZIP. اضغط محتويات مجلد التصدير، لا المجلد نفسه، بحيث تكونclasses.txtوimages/وlabels/هي العناصر الموجودة في المستوى الأعلى.التسميات التي تُمرَّر إلى
--class-namesفقط، وبالترتيب الذي تدرجها به. شغّلlabelmetk list-labelsأولًا وأدرج كل تسمية تريد الاحتفاظ بها.