Yolo فيجن شنتشن
شنتشن
انضم الآن

كيفية تدريب Ultralytics بشكل مخصص لتقسيم الأمثلة

تعلم كيفية تدريب Ultralytics بشكل مخصص لتقسيم المثال، حيث يقوم النموذج بتحديد وفصل كل كائن على حدة باستخدام أقنعة على مستوى البكسل.

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

على وجه الخصوص، هناك فرع من فروع الذكاء الاصطناعي يُعرف باسم الرؤية الحاسوبية، وهو يمكّن الآلات من تفسير الصور ومقاطع الفيديو وفهمها. تتيح الرؤية الحاسوبية للأنظمة التعرف على الأشياء track وتحليل التفاصيل المرئية في الوقت الفعلي، مما يجعلها أساسية لتطبيقات مثل مراقبة حركة المرور والتفتيش الصناعي والروبوتات.

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

الشكل 1. تقسيم الكائنات في الصورة باستخدام YOLO26

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

في هذه المقالة، سوف نستعرض كيفية تدريب Ultralytics بشكل مخصص لتقسيم المثال. هيا بنا نبدأ!

ما هو تقسيم الحالات (Instance Segmentation)؟

قبل أن نتعمق في نماذج التدريب، دعونا نرجع خطوة إلى الوراء ونفهم ما تعنيه فعليًا تجزئة الحالات.

تجزئة المثيلات هي مهمة رؤية حاسوبية تتيح للنموذج العثور على كل كائن فردي في الصورة وتحديد شكله الدقيق. بدلاً من تحديد وجود الكائن فقط، ينظر النموذج إلى كل بكسل في الصورة ويقرر ما إذا كان ينتمي إلى كائن معين. 

وهذا يعني أنه يمكنه فصل الكائنات حتى عندما تتداخل أو تكون قريبة جدًا من بعضها البعض. أحد المفاهيم الأساسية التي تسهل تصور تجزئة المثيلات هو القناع. 

القناع هو مخطط على مستوى البكسل يغطي منطقة الكائن فقط. يمكنك التفكير فيه على أنه تلوين الكائن باستخدام قلم تمييز مع ترك كل شيء آخر دون تغيير. 

يحصل كل كائن على قناعه الخاص، مما يسمح للنموذج بالتمييز بين كائن وآخر، حتى لو كانا من نفس النوع، مثل سيارتين أو شخصين يقفان بجانب بعضهما البعض. 

الشكل 2. نظرة على تجزئة الحالات

للحصول على فكرة أفضل عن ماهية تقسيم الحالات، يمكننا مقارنتها بمهام الرؤية الحاسوبية الشائعة الأخرى. يستخدم اكتشاف الكائنات مربعات حدودية، وهي مستطيلات بسيطة مرسومة حول الكائنات. المربعات الحدودية سريعة ومفيدة، لكنها لا تلتقط الشكل الدقيق للكائن. 

في الوقت نفسه، تقوم التجزئة الدلالية بتصنيف كل بكسل في الصورة حسب الفئة، ولكنها لا تميز بين الكائنات المنفصلة من نفس الفئة. تجمع التجزئة المثالية بين أفضل ما في كلا النهجين من خلال تحديد فئات الكائنات وتعيين قناع منفصل لكل كائن على حدة.

نظرًا لأن تقسيم الحالات يوفر معلومات مفصلة، فإنه مفيد بشكل خاص في التطبيقات الواقعية مثل الفحص الآلي للجودة والتصوير الطبي والروبوتات. يمكن للمهام التي تتطلب قياسات دقيقة أو حدودًا دقيقة أو فصلًا بين الكائنات أن تستفيد من هذا الفهم على مستوى البكسل.

يدعم Ultralytics تقسيم المثيلات 

Ultralytics هو نموذج رؤية حاسوبية متطور وشامل وخالي من تقنية عدم قمع الحد الأقصى (NMS) مصمم للتعامل مع مهام الرؤية في العالم الحقيقي بسرعة وكفاءة. وهو ينتمي إلىYOLO نماذج الكشف Ultralytics YOLO التي يمكنها معالجة الصور والفيديو في الوقت الفعلي مع تقديم نتائج دقيقة. 

يدعم YOLO26 مهام رؤية متعددة ضمن إطار عمل واحد، بما في ذلك اكتشاف الكائنات، وتقدير الوضع، وتصنيف الصور، واكتشاف المربعات المحددة الموجهة (obb )، وتقسيم الحالات. 

يأتي YOLO26 جاهزًا للاستخدام، مما يعني أنه قد تم تدريبه مسبقًا على التعرف على الأشياء الشائعة مثل الأشخاص والمركبات والأشياء اليومية من مجموعات بيانات كبيرة ومستخدمة على نطاق واسع مثل COCO ImageNet . يمكنك البدء في استخدام النموذج على الفور دون أي تدريب إضافي.

ومع ذلك، عندما يتضمن تطبيقك كائنات فريدة أو بيئات محددة أو ظروف إضاءة غير عادية، يمكن أن يؤدي تدريب النموذج المخصص إلى تحسين النتائج بشكل كبير. من خلال تدريب YOLO26 على الصور التي قمت بتصنيفها بنفسك، يمكنك تعليم النموذج بالضبط ما الذي يجب البحث عنه وكيفية تحديد الكائنات بشكل أكثر دقة لحالة الاستخدام المحددة الخاصة بك.

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

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

استكشاف تطبيقات تقسيم الحالات YOLO26

إذن، أين يمكن أن يكون لتقسيم الحالات تأثير كبير؟ في المواقف التي يكون من المهم فيها التمييز بين الأشياء وفهم أشكالها الدقيقة، خاصة عندما تكون الأشياء مزدحمة أو متداخلة.

فيما يلي بعض سير العمل الشائع الذي يُحدث فيه تقسيم الحالات فرقًا حقيقيًا:

  • التصوير الجوي والطائرات بدون طيار: تتيح هذه المهمة للطائرات بدون طيار فصل الأجسام مثل المباني والمركبات والنباتات في الصور الجوية لأغراض رسم الخرائط والتفتيش والمسح.
  • تحليلات رياضية: تساعد تقسيم الحالات على تحليل حركة اللاعبين وتفاعلاتهم من خلال فصل كل رياضي على حدة عن الخلفية أثناء المباريات أو التدريبات.
  • مراقبة الإنشاءات والبنية التحتية: تساعد في تحديد العناصر الهيكلية أو الشقوق أو المناطق المتضررة في المباني والجسور والطرق من أجل تخطيط الصيانة.
  • الرعاية الصحية والتصوير الطبي: تتيح تقنية تقسيم المثيلات تحديد الخلايا والأنسجة والأدوات الطبية بدقة، مما يدعم إجراء تحليلات وتشخيصات أكثر دقة.
  • الزراعة ومراقبة البيئة: يمكنها تحديد وفصل المحاصيل والفواكه وأمراض النباتات، مما يسهل تقدير المحاصيل وتطبيق العلاجات المستهدفة.
الشكل 3. مثال على تقسيم الأعشاب الضارة باستخدام YOLO26 (المصدر)

كيف يعمل التدريب المخصص YOLO26 لتقسيم الأمثلة

بعد ذلك، دعونا نناقش كيفية عمل التدريب المخصص. على الرغم من أن تدريب النموذج قد يبدو أمراً تقنياً، إلا أن العملية برمتها بسيطة.

يمكنك إعداد صورك، وتسمية الكائنات التي تريد أن يتعلمها النموذج، وتكوين ملف إعدادات صغير، ثم تدريب YOLO26 باستخدام Python Ultralytics Python .Python Ultralytics Python هي مكتبة برمجيات توفر أدوات جاهزة للاستخدام لتدريب واختبار ونشر YOLO دون الحاجة إلى بناء كل شيء من الصفر.

الخطوة 1: قم بإعداد مجموعة البيانات المخصصة الخاصة بك

الخطوة الأولى هي إعداد مجموعة بيانات التجزئة المخصصة الخاصة بك. مجموعة البيانات هي ببساطة مجموعة من الصور التي تعرض الكائنات التي تريد أن يتعلمها النموذج. 

حاول تضمين صور تعكس الظروف الواقعية، مثل الزوايا المختلفة والإضاءة والخلفيات وأحجام الكائنات. كلما زادت تنوع صورك، زادت كفاءة أداء نموذجك.

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

هناك العديد من أدوات التعليق المفتوحة المصدر التي يمكنك استخدامها لإنشاء هذه التسميات. توفر العديد من هذه الأدوات واجهات سهلة الاستخدام حيث يمكنك تحميل الصور ورسم مخططات الكائنات عليها مباشرة. 

بمجرد أن تصبح الصور والتعليقات التوضيحية جاهزة، يمكنك تنظيمها في مجلدات للتدريب والتحقق. عادةً ما يتم تقسيم الصور بنسبة 80% للتدريب و20% للتحقق، على الرغم من أن نسبة 70% للتدريب و30% للتحقق شائعة أيضًا، اعتمادًا على حجم مجموعة البيانات الخاصة بك. تعمل مجموعة التدريب على تعليم النموذج، بينما تُستخدم مجموعة التحقق لقياس مدى جودة أدائه على الصور التي لم يرها من قبل.

من المهم الحفاظ على توازن هذا التقسيم والتأكد من أن كلا المجلدين يحتويان على مجموعة متنوعة من الأمثلة. تشكل مجموعة البيانات النظيفة والمصنفة جيدًا مع تقسيم مناسب للتدريب والتحقق أساسًا لنموذج قوي لتقسيم الحالات.

الخطوة 2: إنشاء ملف YAML لمجموعة البيانات

بعد إعداد الصور والتعليقات التوضيحية، فإن الخطوة التالية هي إنشاء ملف YAML لمجموعة البيانات. يحدد هذا الملف مكان مجموعة البيانات وفئات الكائنات التي يجب أن يتعلمها النموذج أثناء التدريب.

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

إذا كان لديك أي أسئلة حول التنسيق الدقيق، يمكنك الرجوع إلى Ultralytics الرسمية Ultralytics للحصول على مزيد من التفاصيل. 

الخطوة 3: تثبيتPython Ultralytics Python

الآن بعد أن أصبحت مجموعة البيانات وملف YAML جاهزين، فإن الخطوة التالية هي تثبيتPython Ultralytics Python . 

تتضمن هذه الحزمة الأدوات اللازمة لتدريب نماذج YOLO26 والتحقق من صحتها وتشغيل الاستدلال وتصديرها. وهي توفر طريقة مبسطة للعمل مع YOLO دون الحاجة إلى إنشاء خطوط تدريب معقدة من الصفر.

قبل تثبيتPython Ultralytics Python من المهم أيضًا اختيار المكان الذي تريد تشغيل الكود فيه. يمكنك العمل مع Ultralytics في عدة بيئات تطوير مختلفة، مثل:

  • واجهة سطر الأوامر (CLI): هي بيئة نصية تتفاعل فيها مع الكمبيوتر عن طريق كتابة الأوامر. بدلاً من النقر على الأزرار أو التنقل بين القوائم كما تفعل في الواجهة الرسومية، تقوم بإدخال تعليمات مكتوبة لتشغيل البرامج وتنفيذ المهام مباشرة.
  • Jupyter Notebooks: بيئة تفاعلية حيث يمكنك كتابة وتشغيل التعليمات البرمجية في أقسام صغيرة ورؤية النتيجة على الفور. وهذا مفيد للتجريب والتعلم.
  • Google : منصة دفتر ملاحظات قائمة على السحابة لا تتطلب أي تثبيت محلي وتوفر وصولاً اختيارياً إلى وحدات معالجة الرسومات (GPUs). غالباً ما يكون هذا الخيار الأسهل للمبتدئين.

بمجرد اختيار البيئة، يمكنك تثبيتPython Ultralytics Python . لتثبيتها، قم بتشغيل الأمر التالي:

تثبيت pip ultralytics

إذا كنت تستخدم بيئة قائمة على دفتر ملاحظات مثل Google أو Jupyter Notebook، فأضف علامة تعجب في بداية الأمر. إذا واجهت أي مشكلات في التثبيت، يمكنك الرجوع إلى Ultralytics أو دليل استكشاف الأخطاء وإصلاحها للحصول على إصلاحات شائعة ونصائح لإعداد البيئة. 

بعد التثبيت، ستكون جاهزًا لتحميل نموذج تقسيم YOLO26 المدرب مسبقًا والبدء في التدريب.

الخطوة 4: تدريب YOLO26 على تجزئة المثال

قبل بدء التدريب، ستحتاج إلى اختيار حجم النموذج. تتوفر نماذج YOLO26 بأحجام مختلفة: Nano (n) وصغير (s) ومتوسط (m) وكبير (l) وكبير جدًا (x). 

تعمل النماذج الأصغر حجماً بشكل أسرع وأكثر كفاءة على وحدات المعالجة المركزية (CPU) أو الأجهزة الطرفية، بينما توفر النماذج الأكبر حجماً دقة أعلى ولكنها تتطلب ذاكرة أكبر وتستفيد من GPU . إذا كنت مبتدئاً أو تعمل بأجهزة محدودة، فإن الإصدار Nano (YOLO26n) هو الخيار العملي.

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

from ultralytics import YOLO

model = YOLO(""yolo26n-seg.pt")

results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)

يحدد عدد الحقبات عدد المرات التي يمر فيها النموذج بمجموعة بيانات التدريب بأكملها. مع كل حقبة، يقوم النموذج بعمل تنبؤات، ومقارنتها بالتعليقات التوضيحية الصحيحة، وحساب الأخطاء، وتحديث معلماته الداخلية لتحسين الأداء.

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

الخطوة 5: تقييم أداء النموذج المدرب خصيصًا

بعد اكتمال عملية التدريب، يمكنك مراجعة مقاييس أداء النموذج والتحقق من صحتها. في Google يمكنك الانتقال إلى مجلد "runs" (عمليات التشغيل)، ثم إلى مجلد "segment(القطاع)، وأخيرًا إلى مجلد "train" (التدريب)، حيث ستجد سجلات تعرض مؤشرات الأداء الرئيسية.

بالنسبة للمستخدمين الذين يعملون في Python يتم حفظ نتائج التدريب بشكل افتراضي في الدليل "runs/train/" داخل دليل العمل الحالي. كل عملية تدريب تنشئ دليلاً فرعياً جديداً، مثل runs/train/exp أو runs/train/exp2، حيث يمكنك العثور على السجلات والأوزان المحفوظة والمخرجات الأخرى المتعلقة بتلك التجربة.

إذا كنت تستخدم CLI فيمكنك الوصول إلى هذه النتائج وإدارتها باستخدام الأمر "yolo . يتيح لك هذا الأمر عرض أو تعديل المسارات والتكوينات المتعلقة بسجلات التدريب وتفاصيل التجربة.

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

الشكل 4. أنواع الرسوم البيانية التي يمكنك تحليلها لتقييم نموذجك (المصدر)

يمكن أن تساعدك هذه الاتجاهات المرئية على فهم ما إذا كان النموذج قد تم تدريبه بنجاح ومدى تحسنه من بداية التدريب إلى نهايته. تمنحك مراجعة المقاييس الرقمية والرسوم البيانية صورة أوضح عن مدى جودة أداء نموذج تقسيم المثيلات قبل الانتقال إلى الاختبار باستخدام صور جديدة.

الخطوة 6: اختبر نموذجك وقم بتشغيل الاستدلالات

بعد التحقق من صحة النموذج، فإن الخطوة الأخيرة هي اختباره على صور جديدة. تسمى هذه العملية بالاستدلال، وهو ما يعني ببساطة استخدام النموذج المدرب لإجراء تنبؤات على بيانات غير مرئية.

يمكنك تشغيل الاستدلال في Python التالي:

results = model.predict("path/to/image.jpg", save=True, conf=0.3)

في هذا المثال، يمكن استبدال "path/to/image.jpg" بالمسار المؤدي إلى الصورة التي تريد اختبارها. 

يخبر الإعداد "save=True" النموذج بإنشاء وتخزين صورة جديدة تتضمن أقنعة التجزئة المتوقعة المرسومة على الصورة الأصلية. 

يتحكم الإعداد "conf=0.3" في عتبة الثقة، مما يعني أن النموذج لن يعرض سوى التوقعات التي يثق في صحتها بنسبة 30% على الأقل. قد يؤدي خفض هذه القيمة إلى عرض المزيد من عمليات الكشف، بينما يؤدي رفعها إلى جعل النموذج أكثر انتقائية.

بعد تشغيل الأمر، يقوم النموذج بإنشاء مجلد جديد داخل دليل التشغيل حيث يحفظ الصورة الناتجة. يمكنك فتح تلك الصورة المحفوظة للتحقق بصريًا من مدى مطابقة أقنعة التجزئة لحدود الكائنات وما إذا كانت الكائنات المتداخلة مفصولة بشكل صحيح.

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

الخطوة 7: تصدير ونشر النموذج الخاص بك

بعد اختبار النموذج والتأكد من أنه يعمل بشكل جيد، فإن الخطوة الأخيرة هي تصديره ونشره. يؤدي التصدير إلى تحويل نموذج YOLO26 المدرب إلى تنسيق يمكن تشغيله في بيئات مختلفة، مثل خوادم الإنتاج أو الأجهزة الطرفية أو التطبيقات المحمولة.

Ultralytics تنسيقات تصدير متعددة، مما يتيح لك اختيار التنسيق الذي يناسب إعدادات النشر لديك. على سبيل المثال، يمكنك التصدير إلى ONNX توافق واسع عبر الأنظمة الأساسية، أو TensorRT GPU محسّن على NVIDIA أو OpenVINO الفعال CPU على Intel . تسهّل هذه التكاملات تشغيل النموذج خارج بيئة التدريب والحصول على أداء قوي في الوقت الفعلي.

يمكنك تصدير نموذجك في Python الأمر التالي:

model.export(format="onnx")

يحول هذا الأمر النموذج المدرب إلى ONNX . يمكنك استبدال "onnx" بتنسيقات أخرى مدعومة حسب احتياجات النشر الخاصة بك.

بمجرد تصديره، يمكن دمج نموذجك في تطبيقات مثل خدمات الويب أو أنظمة الرؤية المدمجة أو منصات الروبوتات أو أنظمة الفحص الصناعية. في هذه المرحلة، يمكن لنموذج تقسيم الحالات YOLO26 المخصص الذي تم تدريبه الانتقال من مرحلة التجريب إلى مرحلة النشر في العالم الحقيقي.

النقاط الرئيسية

يمنحك التدريب المخصص Ultralytics لتقسيم الأمثلة المرونة اللازمة لبناء نموذج يناسب حالتك الاستخدامية المحددة. من خلال إعداد مجموعة بيانات واضحة، وإعداد ملف YAML الخاص بك، والتدريب باستخدام أوزان التقسيم المعدة مسبقًا، ومراجعة النتائج، يمكنك تعليم النموذج تحديد كل كائن بدقة على مستوى البكسل. بمجرد اختبار نموذج YOLO26 وتصديره، يمكن نقله من مرحلة التطوير إلى تطبيقات واقعية متعددة النطاقات.

انضم إلى مجتمعنا وتصفح مستودع GitHub الخاص بنا لتكتشف المزيد عن الذكاء الاصطناعي. إذا كنت ترغب في إنشاء مشروع Vision AI خاص بك، فراجع خيارات الترخيص المتاحة لدينا. اكتشف المزيد عن تطبيقات مثل الذكاء الاصطناعي في الرعاية الصحية و Vision AI في تجارة التجزئة من خلال زيارة صفحات الحلول الخاصة بنا.

لنبنِ مستقبل
الذكاء الاصطناعي معًا!

ابدأ رحلتك مع مستقبل تعلم الآلة

ابدأ مجانًا