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

كيفية تدريب نماذج Ultralytics YOLO على detect الحيوانات في البرية

أبيرامي فينا

5 دقائق قراءة

15 أبريل، 2025

تعلّم كيفية تدريب نماذج YOLO detect الحيوانات في البرية باستخدام مجموعة بيانات الحياة البرية الأفريقية واستخدام النموذج لتشغيل الاستدلالات على الصور غير المرئية.

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

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

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

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

في هذه المقالة، سنتعرف في هذه المقالة على عملية تدريب YOLO11 على detect الحيوانات. لنبدأ!

الشروع في استخدام Ultralytics YOLO11

قبل الغوص في البرنامج التعليمي، دعنا نلقي نظرة على خيارات الإعداد المختلفة والأدوات التي ستحتاجها لتدريب واستخدام YOLO11. 

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

فيما يلي بعض الخيارات الأكثر شيوعًا لإعداد بيئة التطوير الخاصة بك:

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

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

في هذا البرنامج التعليمي، سنعرض كيفية إعداد وتدريب YOLO11 باستخدام Google Colab أو Jupyter Notebooks أو ملف Python بسيط، حيث أن الخطوات متشابهة جدًا في جميع هذه البيئات.

فهم مجموعة بيانات الحياة البرية الأفريقية

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

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

الشكل 1. لمحة عن مجموعة بيانات الحياة البرية الأفريقية.

فيما يلي بعض الميزات الرئيسية لمجموعة بيانات الحياة البرية الأفريقية:

  • الحجم: تتكون مجموعة البيانات من 1504 صورة مقسمة إلى ثلاث مجموعات فرعية: 1052 للتدريب، و 225 للتحقق، و 227 للاختبار. يضمن هذا التقسيم أن النموذج يتعلم بفعالية ويتم تقييمه بدقة.

  • تكامل سلس: يوفرUltralytics ملف تكوين YAML الذي يحدد مسارات مجموعة البيانات والفئات والتفاصيل الأخرى، مما يسهل استخدامه عند تدريب نماذج YOLO .

  • رخصة مفتوحة: يتم توزيع مجموعة البيانات هذه بموجب رخصة AGPL-3.0 مما يشجع على الشفافية والتعاون.

تدريب Ultralytics YOLO11 للكشف عن الحيوانات

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

الخطوة 1: إعداد البيئة

للبدء، سنقوم بإعداد بيئة لتدريب واختبار النموذج. يمكن استخدام Google Colab أو Jupyter Notebooks أو ملف Python بسيط، حسب تفضيلاتك. قم بإنشاء دفتر ملاحظات جديد من Google Colab أو Jupyter Notebook أو ملف Python وفقًا لذلك.

إذا كنت تستخدم Google Colab، فإن البيئة تعمل افتراضيًا على وحدة CPU المركزية (وحدة المعالجة المركزية)، مما قد يؤدي إلى إبطاء التدريب. ولتسريع العملية، خاصةً بالنسبة للنماذج الأكبر حجمًا، يمكنك تبديل وقت التشغيل لاستخدام GPU. في Google Colab، يمكنك الانتقال إلى علامة التبويب "وقت التشغيل" في القائمة، وتحديد "تغيير نوع وقت التشغيل"، وتعيين مسرع الأجهزة على GPU (يُفضل أن تكون GPU T4). هذا مهم لتقليل أوقات التدريب.

بعد ذلك، بغض النظر عن البيئة التي تستخدمها، تحتاج إلى تثبيت حزمة Ultralytics Python . إذا كنت تستخدم بيئة مستندة إلى دفتر ملاحظاتGoogle Colab أو Jupyter)، فقم بتشغيل الأمر التالي مع وضع علامة تعجب (!) في البداية

pip install ultralytics

الخطوة 2: تحميل YOLO11 وإعداد مجموعة البيانات

بمجرد تثبيت حزمة Ultralytics فإن الخطوة التالية هي تحميل نموذج YOLO11 وإعداد مجموعة البيانات للتدريب. أولاً، نقوم بتحميل نموذج YOLO11 والذي تم تدريبه مسبقًا على مهام اكتشاف الأجسام العامة. يمنحنا هذا النموذج المُدرَّب مسبقًا نقطة انطلاق جيدة، حيث أنه تعلّم بالفعل كيفية detect الأجسام المختلفة.

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

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

بمجرد أن تصبح مجموعة البيانات جاهزة، يبدأ النموذج في التدريب. سيمر النموذج عبر مجموعة البيانات عدة مرات، وهي عملية تسمى التدريب على مدى عدة حقب (epochs)، لتحسين قدرته على التعرف على الحيوانات في الصور. خلال هذه العملية، سيتم تغيير حجم الصور إلى حجم ثابت للمعالجة، وسيعمل النموذج مع عدد محدد من الصور في كل مرة، وهو ما يعرف بالدفعة (batch). هذا يساعد النموذج على التعلم بكفاءة أكبر.

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

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)

الخطوة 3: جولة تدريبية في YOLO11

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

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

إذا كان كود التدريب يعمل بنجاح، فسترى المخرجات التالية مع تقدم التدريب:

  • إعداد التدريب: يُظهر الجزء الأول إصدار Ultralytics و PyTorch والأجهزة المستخدمةCPU في هذه الحالة)، إلى جانب تكوين التدريب، بما في ذلك النموذج (yolo11n.pt)، وحجم الدُفعات والحقب الزمنية وحجم الصورة.
  • ملخص النموذج: يقدم معلومات حول تعقيد النموذج، مثل عدد الطبقات والمعلمات، مما يدل على حجم النموذج.
  • المُحسِّن ومعدل التعلم: يشير إلى المُحسِّن (على سبيل المثال، AdamW) ومعدل التعلم، والذي يتحكم في كيفية ضبط النموذج لمعلماته أثناء التدريب.
  • فحص مجموعة البيانات: يقوم النموذج بفحص مجموعة البيانات، موضحًا عدد الصور الصالحة والجاهزة للتدريب. ويؤكد عدم وجود مشاكل في مجموعة البيانات.
  • التقدم في التدريب: يتم تحديث المخرجات بعد كل دورة (دورة تدريب)، مما يوضح التقدم في التدريب جنبًا إلى جنب مع قيم الخسارة الرئيسية (box_loss، cls_loss، dfl_loss)، والتي تشير إلى مدى جودة تعلم النموذج.
  • مقاييس الأداء: بعد كل حقبة، سترى مقاييس الأداء مثل الدقة والاستدعاء و mAP (متوسط متوسط الدقة). تُظهر هذه القيم مدى دقة النموذج في اكتشاف الكائنات وتصنيفها.
  • استخدام ذاكرةGPU : إذا كنت تستخدم GPUومات GPU)، يعرض الإخراج استخدام الذاكرة track استخدام الأجهزة.
الشكل 2. الناتج الذي ستراه أثناء تشغيل تدريب النموذج.

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

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

بالنسبة للمستخدمين في بيئة Python يتم حفظ نتائج التدريب افتراضيًا في دليل "التشغيل/التدريب/" ضمن دليل العمل الحالي. ينشئ كل تشغيل تدريبي دليلاً فرعيًا جديدًا (على سبيل المثال، تشغيل/التدريب/التدريب/التدريب/التكشيف، تشغيل/التدريب/التكشيف 2، إلخ)، حيث يمكنك العثور على السجلات والمخرجات الأخرى المتعلقة بالتدريب.

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

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

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

الشكل 3. مثال على الرسوم البيانية التي يمكنك تحليلها لتقييم النموذج الخاص بك.

مقاييس تقييم الأداء الرئيسية

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

  • متوسط متوسط الدقة (mAP): يقيس هذا المقياس الدقة الإجمالية للنموذج في اكتشاف الحيوانات عبر جميع الفئات من خلال حساب متوسط درجات الدقة عند مستويات الاستدعاء المختلفة.
  • الدقة (Precision): تمثل هذه النسبة المئوية لعمليات الكشف الصحيحة، ويتم حسابها عن طريق قسمة عدد عمليات الكشف الإيجابية الحقيقية على العدد الإجمالي لعمليات الكشف التي تم إجراؤها.
  • الاسترجاع (Recall): يشير إلى النسبة المئوية للحيوانات الفعلية في الصور التي تم تحديدها بشكل صحيح بواسطة النموذج، مما يعكس قدرته على التقاط جميع الحالات ذات الصلة.

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

تشغيل الاستدلالات باستخدام نموذج YOLO11 المدرّب حسب الطلب

والآن بعد أن قمنا بتدريب وتقييم YOLO11 حان الوقت لاستخدامه لتحليل الصور وتشغيل الاستدلالات. يمكنك استخدام صور الاختبار من مجموعة البيانات أو صور جديدة من مصادر مختلفة.

سنستخدم مقتطف الشيفرة التالي لتشغيل النموذج على صورة في مجموعة بيانات الاختبار. يستورد الوحدات الضرورية من مكتبة Ultralytics . ثم يحدد المسار إلى ملف أوزان النموذج الأفضل ("best.pt") المخزن في دليل النتائج. يتم تحميل نموذج YOLO11 المدرّب خصيصًا باستخدام هذه الأوزان. 

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

from ultralytics import settings

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"

img_results = model(image_path, save=True) 

ستُحفظ صورة الإخراج الموضحة أدناه في مجلد "تنبؤ" الموجود داخل دليل detect . بالنسبة للاختبارات اللاحقة، سيتم إنشاء مجلدات جديدة مثل "تنبؤ2" و"تنبؤ3" وهكذا لتخزين الصور.

الشكل 4. تشغيل استنتاج باستخدام نموذج YOLO11 المعدّل بدقة على صورة اختبارية.

لاختبار الصور من مصادر مختلفة، يمكنك استخدام الكود أدناه. لقد استخدمنا صورة من Pexels. يمكنك استخدام نفس الصورة أو أي صورة أخرى ذات صلة.

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)

سيتم حفظ الصورة الناتجة الموضحة أدناه في المجلد المناسب.

الشكل 5. الكشف عن الحياة البرية باستخدام نموذج YOLO11 المضبوط بدقة على صورة غير مرئية.

الذكاء الاصطناعي لحماية الحياة البرية: تطبيقات واقعية

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

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

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

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

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

انضم إلى مجتمعنا واستكشف مستودع GitHub لمعرفة المزيد عن رؤية الكمبيوتر. اكتشف المزيد من التطبيقات المتعلقة بالذكاء الاصطناعي في مجال الرعاية الصحية والرؤية الحاسوبية في التصنيع على صفحات الحلول الخاصة بنا. اطّلع على خيارات ترخيصUltralytics لبدء استخدام الذكاء الاصطناعي في الرؤية.

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

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

ابدأ مجانًا