استيراد التعليقات التوضيحية من LabelMe إلى Ultralytics Platform#
LabelMe أداة غير متصلة بالإنترنت للتعليق التوضيحي على الصور، وتتضمن تطبيق Python مفتوح المصدر. لا يوجد اتصال مباشر بـ LabelMe أو مفتاح API يلزم ضبطه في Ultralytics Platform، ولا حاجة إلى خطوة تحويل؛ إذ تقرأ Platform ملفات JSON الخاصة بـ LabelMe مباشرةً. أضف التعليقات التوضيحية في LabelMe، واضغط المجلد في ملف ZIP، ثم ارفعه كمجموعة بيانات إلى Platform.
1. أضف التعليقات التوضيحية إلى الصور في LabelMe#
ثبّت LabelMe باستخدام تطبيق سطح المكتب أو حزمة Python مفتوحة المصدر، ثم افتح الدليل الذي يحتوي على صورك. يشرح دليل البدء باستخدام LabelMe كيفية فتح الصور ورسم الأشكال وحفظ التعليقات التوضيحية.
ارسم مستطيلات لمجموعة بيانات الكشف، أو مضلعات لمجموعة بيانات التجزئة. يحفظ LabelMe التعليقات التوضيحية لكل صورة في ملف JSON بجوارها:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. أنشئ أرشيف ZIP#
اضغط المجلد الذي يحتوي على الصور وملفات JSON. على macOS أو Linux:
zip -r your_dataset.zip your_datasetفي Windows PowerShell:
Compress-Archive -Path .\your_dataset -DestinationPath .\your_dataset.zipتعمل المجلدات الخارجية والمجلدات الفرعية المتداخلة ومجلدات الصور والتعليقات التوضيحية المنفصلة كلها، ما دام كل ملف JSON يشير في imagePath إلى صورة داخل ملف ZIP. تقرأ Platform ملف الصورة، وليس النسخة التي قد يضمّنها LabelMe في JSON على هيئة imageData، لذا أبقِ ملفات الصور في الأرشيف. وتُحافظ الصور الموجودة داخل مجلدات تبدأ أسماؤها بـ train أو val أو test على هذا التقسيم. لا تُقرأ ملفات JSON الخاصة بـ LabelMe إلا إذا لم يتضمن الأرشيف ملف data.yaml أو ملف JSON بتنسيق COCO، لذا لا تضمّن هذه الملفات في أرشيف LabelMe بصيغة ZIP.
3. ارفع الملفات إلى Ultralytics Platform#
- افتح الإعدادات > عمليات التكامل > LabelMe.
- انقر على رفع التصدير.
- ارفع
your_dataset.zipوأكمل إنشاء مجموعة البيانات. - انتظر حتى تكتمل المعالجة، ثم راجع الصور والفئات والتعليقات التوضيحية.
- حرّر التعليقات التوضيحية، ودرّب نموذجًا، وانشره من مساحة العمل نفسها.

يعمل LabelMe بالكامل دون اتصال بالإنترنت. ولا يُرسل إلى Platform سوى ملف ZIP الذي تحدده في مربع حوار الرفع.
كيفية استيراد الأشكال من LabelMe#
| شكل LabelMe | يُستورد على هيئة |
|---|---|
rectangle | مربع إحاطة، أو مضلع من 4 نقاط في مجموعة بيانات تجزئة |
polygon | مضلع |
oriented_rectangle | مضلع من 4 نقاط |
circle | مضلع من 32 نقطة |
mask | مضلع مرسوم على المحيط الخارجي للقناع، مع ملء الثقوب |
line, linestrip, point, points | يُتجاوز، إذ لا مساحة لهذه الأشكال يمكن استخدامها في التدريب |
- المهمة: تُستورد مجموعة البيانات التي تحتوي على تعليقات توضيحية للمستطيلات فقط بوصفها مجموعة بيانات كشف. وأي مضلع أو مستطيل موجّه أو دائرة أو قناع يجعلها مجموعة بيانات تجزئة، وتتحول مستطيلاتها إلى مضلعات من 4 نقاط كيلا تُفقد أي تعليقات توضيحية.
- الفئات: تصبح أسماء التسميات في LabelMe أسماء الفئات، مرتبة أبجديًا. وعند الاستيراد إلى مجموعة بيانات موجودة، تُطابق التسميات مع فئاتها بحسب الاسم، وتُضاف بقية التسميات.
- الأشكال المجمّعة: تُعد الأشكال التي تشترك في تسمية ومعرّف مجموعة كائنًا واحدًا. وتُدمج أجزاؤها في مضلع واحد، أو في مربع واحد ضمن مجموعة بيانات الكشف.
- الأشكال التي يتم تجاوزها: لا تُستورد الأشكال التي لا تحمل تسمية، أو الموسومة بـ
__ignore__، ولا العلامات على مستوى الصورة. وتُقص الأشكال التي تتجاوز حافة الصورة عند حدودها.
استكشاف الأخطاء وإصلاحها#
- استيراد الصور من دون تعليقات توضيحية: تأكد من وجود ملفات JSON في ملف ZIP، ومن أن
imagePathفي كل ملف يشير إلى صورة في الأرشيف. وتطابق Platform الملفات أيضًا بحسب اسم الملف، لذا يظل المسار المطلق القديم صالحًا إذا لم يتغير اسم ملف الصورة. - تحولت المضلعات إلى مربعات من 4 نقاط: تُحوّل المستطيلات إلى مضلعات من 4 نقاط في مجموعات بيانات التجزئة. ارسم مضلعات للأجسام التي تحتاج إلى محيط دقيق.
- الخطوط أو النقاط غير موجودة: لا مساحة لهذه الأشكال، لذا لا يمكن استخدامها للكشف أو التجزئة، ويتم تجاوزها.
- مجموعة البيانات لا تحتوي على صور: يستطيع LabelMe تضمين الصور في ملفات JSON، لكن Platform تقرأ ملفات الصور نفسها. أضف الصور إلى ملف ZIP.
الأسئلة الشائعة#
لا. يعمل LabelMe محليًا، وتقرأ Platform ملفات JSON الخاصة به مباشرةً، ولا يُرسل إلى Platform سوى ملف ZIP الذي ترفعه. ولا يلزم اشتراك LabelMe Pro أو تصدير Toolkit.
نعم. تُستورد المضلعات والمستطيلات الموجّهة والدوائر والأقنعة على هيئة مضلعات للتجزئة، وتصبح مجموعة البيانات مجموعة بيانات تجزئة.
تُستمد أسماء الفئات من تسميات LabelMe، وتُرتب أبجديًا، لذا تُطابق التسميات نفسها معرّفات الفئات نفسها دائمًا. وعند الإضافة إلى مجموعة بيانات موجودة، تُطابق التسميات مع فئاتها بحسب الاسم.
نعم. يُرفع تصدير
labelmetk export-to-yoloبوصفه مجموعة بيانات YOLO عادية. أبقِclasses.txtالخاص بالتصدير في ملف ZIP (إذ تقرأ Platform الملف الأقرب إلى الجذر)، كي تنتقل أسماء الفئات مع البيانات.