استعدوا لـ YOLO Vision 2025!
25 سبتمبر، 2025
10:00 — 18:00 بتوقيت بريطانيا الصيفي
حدث هجين
مؤتمر Yolo Vision 2024

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

أبيرامي فينا

5 دقائق قراءة

15 أبريل، 2025

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

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

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

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

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

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

البدء في استخدام Ultralytics YOLO11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

pip install ultralytics

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

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

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

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

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

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

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)، والتي تشير إلى مدى جودة تعلم النموذج.
  • مقاييس الأداء: بعد كل حقبة (epoch)، سترى مقاييس الأداء مثل الدقة والضبط والاسترجاع و mAP (متوسط الدقة المتوسط). تُظهر هذه القيم مدى دقة النموذج في اكتشاف الكائنات وتصنيفها.
  • استخدام ذاكرة وحدة معالجة الرسومات (GPU): إذا كنت تستخدم وحدة معالجة الرسومات، فإن الإخراج يوضح استخدام الذاكرة لتتبع استخدام الأجهزة.
الشكل 2. الناتج الذي ستراه أثناء تشغيل تدريب النموذج.

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

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

بالنسبة للمستخدمين في بيئة Python، يتم حفظ نتائج التدريب افتراضيًا في الدليل “runs/train/” داخل دليل العمل الحالي الخاص بك. ينشئ كل تشغيل تدريب دليلاً فرعياً جديدًا (على سبيل المثال، runs/train/exp، runs/train/exp2، إلخ)، حيث يمكنك العثور على السجلات والمخرجات الأخرى المتعلقة بالتدريب.

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

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

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

الشكل 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) 

سيتم حفظ الصورة الناتجة الموضحة أدناه في مجلد "predict" الموجود داخل دليل runs/detect. بالنسبة للاختبارات اللاحقة، سيتم إنشاء مجلدات جديدة مثل "predict2" و "predict3" وما إلى ذلك لتخزين الصور.

الشكل 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 اكتشاف الحيوانات وتتبعها تلقائيًا، مما يتيح مجموعة متنوعة من التطبيقات العملية. إليك لمحة عن بعض المجالات الرئيسية التي يمكن فيها استخدام رؤية الذكاء الاصطناعي لدعم جهود الحفاظ على الحياة البرية:

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

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

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

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

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

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

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

ابدأ مجانًا
تم نسخ الرابط إلى الحافظة