كيفية تدريب نماذج Ultralytics YOLO لاكتشاف الحيوانات في البرية
تعرّف على كيفية تدريب نماذج YOLO لاكتشاف الحيوانات في البرية باستخدام مجموعة بيانات African Wildlife واستخدام النموذج لإجراء استنتاجات على صور غير مرئية.

تتمتع الحياة البرية على كوكبنا بتنوع مذهل، بدءاً من النحل الطنان وصولاً إلى الفيلة الضخمة، ويعد الحفاظ على هذا التنوع البيولوجي أمراً أساسياً للحفاظ على نظام بيئي متوازن. ومع ذلك، أصبحت جهود الحفاظ على البيئة أكثر صعوبة بسبب فقدان الموائل، والصيد غير المشروع، وتغير المناخ. وتؤثر كل هذه العوامل سلباً على مجموعات الحياة البرية.
طرق مراقبة الحيوانات التقليدية، مثل التحليل اليدوي لصور كاميرات المراقبة وإجراء المسوحات الميدانية، يمكن أن تكون بطيئة وتتطلب الكثير من الموارد. وغالباً ما تفشل هذه الجهود في تغطية مساحات واسعة وتجمعات كبيرة بفعالية.
للتغلب على هذه القيود، يمكن استخدام الذكاء الاصطناعي (AI) كأداة مؤثرة في الحفاظ على الحياة البرية. وبشكل خاص، يمكن لنماذج الرؤية الحاسوبية مثل Ultralytics YOLO11 تحليل البيانات المرئية مثل الصور ومقاطع الفيديو لأتمتة تحديد وتتبع الحيوانات في الوقت الفعلي.
تعد مهام الرؤية الحاسوبية مثل اكتشاف الأشياء وتجزئة النماذج، المدعومة بواسطة YOLO11، مفيدة للغاية في هذا المجال. فمن خلال تحليل البيانات المرئية، تساعدنا هذه المهام في جمع بيانات حيوية، وتحديد الأنماط البيئية، والاستجابة بفعالية أكبر للتهديدات البيئية.
في هذه المقالة، سنستعرض عملية تدريب YOLO11 للكشف عن الحيوانات. لنبدأ!
Link to this sectionالبدء مع Ultralytics YOLO11#
قبل الغوص في البرنامج التعليمي، دعنا نلقي نظرة على خيارات الإعداد والأدوات المختلفة التي ستحتاجها لتدريب واستخدام YOLO11.
الأداة الرئيسية التي ستحتاجها هي حزمة Ultralytics Python، والتي تسهل العمل مع نماذج YOLO لمهام مثل التدريب، واكتشاف الأشياء، وتشغيل الاستنتاجات. لاستخدام حزمة Ultralytics، ستحتاج إلى إعداد بيئة لتشغيل الكود الخاص بك، وهناك خيارات متنوعة يمكنك الاختيار من بينها.
فيما يلي بعض الخيارات الأكثر شيوعاً لإعداد بيئة التطوير الخاصة بك:
- واجهة سطر الأوامر (CLI): واجهة CLI، المعروفة أيضاً باسم الطرفية (Terminal)، هي أداة نصية تتيح لك التفاعل مع جهاز الكمبيوتر الخاص بك عن طريق كتابة الأوامر. على عكس الواجهات الرسومية (GUIs)، حيث تنقر على الأزرار وتستخدم الماوس، تتطلب CLI منك كتابة تعليمات نصية لتشغيل البرامج أو تنفيذ المهام.
- دفاتر Jupyter (Jupyter Notebooks): تتيح لك هذه الدفاتر كتابة الكود وتشغيله في أجزاء صغيرة تسمى الخلايا. إنها تفاعلية، مما يعني أنه يمكنك رؤية مخرجات الكود الخاص بك على الفور، مما يسهل الاختبار وتصحيح الأخطاء.
- Google Colab: منصة Google Colab هي منصة سحابية تعمل مثل دفاتر Jupyter ولكنها توفر وصولاً مجانياً إلى وحدات معالجة رسومات (GPU) قوية. من السهل إعدادها، ولست بحاجة إلى تثبيت أي شيء على جهاز الكمبيوتر الخاص بك.
على الرغم من وجود خيارات أخرى لإعداد بيئتك يمكنك استكشافها في وثائق Ultralytics الرسمية، فإن الخيارات الثلاثة المذكورة أعلاه تتطلب القليل جداً من الإعداد وسهلة الاستخدام، مما يجعلها مثالية للبدء بسرعة.
في هذا البرنامج التعليمي، سنعرض كيفية إعداد وتدريب YOLO11 باستخدام Google Colab، أو دفاتر Jupyter، أو ملف Python بسيط، حيث أن الخطوات متشابهة جداً عبر جميع هذه البيئات.
Link to this sectionفهم مجموعة بيانات الحياة البرية الأفريقية#
بعد اختيار بيئة التطوير، لتدريب YOLO11 على اكتشاف الحيوانات البرية تحديداً، نحتاج إلى مجموعة بيانات عالية الجودة من الصور المصنفة. يجب أن توضح كل صورة بوضوح مكان وجود الحيوانات ونوعها، حتى يتمكن النموذج من تعلم التعرف عليها من خلال التعلم الخاضع للإشراف.
في هذا البرنامج التعليمي، سنستخدم مجموعة بيانات الحياة البرية الأفريقية. وهي مدعومة بواسطة حزمة Ultralytics Python ومصممة خصيصاً للكشف عن الحيوانات الموجودة بشكل شائع في النظم البيئية الأفريقية. وتحتوي على صور مشروحة لأربعة أنواع رئيسية: الجاموس، والفيلة، ووحيد القرن، والحمار الوحشي.

شكل 1. لمحة عن مجموعة بيانات الحياة البرية الأفريقية.
فيما يلي بعض الميزات الرئيسية لمجموعة بيانات الحياة البرية الأفريقية:
- الحجم: تتكون مجموعة البيانات من 1504 صورة مقسمة إلى ثلاث مجموعات فرعية: 1052 للتدريب، و225 للتحقق، و227 للاختبار. يضمن هذا التقسيم أن يتعلم النموذج بفعالية ويتم تقييمه بدقة.
- تكامل سلس: توفر Ultralytics ملف تكوين YAML يحدد مسارات مجموعة البيانات، والفئات، وتفاصيل أخرى، مما يسهل استخدامه عند تدريب نماذج YOLO.
- ترخيص مفتوح: يتم توزيع مجموعة البيانات هذه بموجب ترخيص AGPL-3.0، مما يشجع على الشفافية والتعاون.
Link to this sectionتدريب Ultralytics YOLO11 للكشف عن الحيوانات#
الآن بعد أن استكشفنا مجموعة بيانات الحياة البرية الأفريقية، يمكننا البدء في تدريب نموذج YOLO11 للكشف عن الحيوانات في الصور. تتضمن العملية إعداد بيئة التطوير، وتدريب نموذج YOLO11، وتقييم أداء النموذج.
Link to this sectionالخطوة 1: إعداد البيئة#
للبدء، سنقوم بإعداد بيئة لتدريب واختبار النموذج. يمكن استخدام Google Colab، أو دفاتر Jupyter، أو ملف Python بسيط، اعتماداً على تفضيلاتك. قم بإنشاء دفتر Google Colab جديد، أو دفتر Jupyter، أو ملف Python وفقاً لذلك.
إذا كنت تستخدم Google Colab، فإن البيئة تعمل افتراضياً على وحدة معالجة مركزية (CPU)، مما قد يبطئ التدريب. لتسريع العملية، خاصة للنماذج الأكبر، يمكنك تبديل وقت التشغيل لاستخدام وحدة معالجة رسومات (GPU). في Google Colab، يمكنك الانتقال إلى علامة التبويب "Runtime" في القائمة، واختيار "Change runtime type"، وتعيين مسرع الأجهزة إلى GPU (ويفضل T4 GPU). هذا مهم لتقليل أوقات التدريب.
بعد ذلك، وبغض النظر عن البيئة التي تستخدمها، تحتاج إلى تثبيت حزمة Ultralytics Python. إذا كنت تستخدم بيئة تعتمد على الدفاتر (Google Colab أو Jupyter)، فقم بتشغيل الأمر التالي مع علامة تعجب (!) في البداية.
pip install ultralyticsLink to this sectionالخطوة 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)Link to this sectionالخطوة 3: شرح تدريب YOLO11#
بمجرد تشغيل مقتطف الكود أعلاه، يبدأ النموذج في التدريب بناءً على الإعدادات التي قدمناها له. لقد أخبرنا النموذج من خلال الكود بالمرور عبر صور التدريب 30 مرة. لذا، هذا يعني أن النموذج سينظر إلى جميع الصور في مجموعة البيانات 30 مرة، وفي كل مرة يتعلم أكثر قليلاً.
تخيل أنك تحاول تعلم كيفية رسم حيوان. في المرة الأولى التي ترسم فيها، قد لا تبدو الصورة جيدة، ولكن بعد الممارسة مراراً وتكراراً، تبدأ في التحسن. في كل مرة تحاول فيها مرة أخرى، تتعلم من الأخطاء وتصلحها. هذا ما تفعله كل فترة زمنية (epoch) للنموذج - فهو ينظر إلى الصور، ويرتكب أخطاء، ويتعلم منها، ويصبح أفضل في التعرف على الحيوانات في كل مرة.
إذا كان كود التدريب يعمل بنجاح، فسترى المخرجات التالية مع تقدم التدريب:
- إعداد التدريب: يوضح الجزء الأول إصدار Ultralytics، وPyTorch، والأجهزة المستخدمة (CPU في هذه الحالة)، جنباً إلى جنب مع تكوين التدريب، بما في ذلك النموذج (yolo11n.pt)، وحجم الدفعة، وعدد الفترات الزمنية، وحجم الصورة.
- ملخص النموذج: يوفر معلومات حول تعقيد النموذج، مثل عدد الطبقات والمعلمات، مما يوضح حجم النموذج.
- المحسّن ومعدل التعلم: يذكر المحسّن (على سبيل المثال، AdamW) ومعدل التعلم، اللذين يتحكمان في كيفية تعديل النموذج لمعلماته أثناء التدريب.
- فحص مجموعة البيانات: يقوم النموذج بفحص مجموعة البيانات، موضحاً عدد الصور الصالحة والجاهزة للتدريب. ويؤكد عدم وجود مشاكل في مجموعة البيانات.
- تقدم التدريب: يتم تحديث المخرجات بعد كل فترة زمنية (دورة تدريب)، مما يظهر تقدم التدريب جنباً إلى جنب مع قيم فقدان رئيسية (box_loss, cls_loss, dfl_loss)، والتي تشير إلى مدى جودة تعلم النموذج.
- مقاييس الأداء: بعد كل فترة زمنية، سترى مقاييس أداء مثل الدقة (precision)، والاسترجاع (recall)، وmAP (متوسط متوسط الدقة). توضح هذه القيم مدى دقة النموذج في اكتشاف وتصنيف الكائنات.
- استخدام ذاكرة GPU: إذا كنت تستخدم GPU، تظهر المخرجات استخدام الذاكرة لتتبع استخدام الأجهزة.

شكل 2. المخرجات التي ستراها أثناء تشغيل تدريب النموذج.
Link to this sectionالخطوة 4: تقييم أداء النموذج المدرب خصيصاً#
بعد اكتمال عملية التدريب، يمكنك مراجعة التحقق من مقاييس أداء النموذج. في Google Colab، يمكنك الانتقال إلى مجلد "runs"، ثم إلى مجلد "detect"، وأخيراً إلى مجلد "train"، حيث ستجد سجلات تعرض مؤشرات الأداء الرئيسية.
بالنسبة للمستخدمين في بيئة Python، يتم حفظ نتائج التدريب افتراضياً في دليل “runs/train/” داخل دليل العمل الحالي. تنشئ كل عملية تدريب مجلداً فرعياً جديداً (على سبيل المثال، runs/train/exp, runs/train/exp2, إلخ)، حيث يمكنك العثور على السجلات والمخرجات الأخرى المتعلقة بالتدريب.
إذا كنت تستخدم CLI، فيمكنك الوصول بسهولة إلى هذه النتائج والإعدادات باستخدام أمر “yolo settings”، والذي يسمح لك بعرض أو تعديل المسارات والتكوينات الأخرى المتعلقة بسجلات التدريب وتفاصيل التجربة.
من بين السجلات، ستجد أيضاً بعض الرسوم البيانية التي يمكنك النظر إليها لمعرفة مدى نجاح عملية تدريب النموذج. توضح هذه الرسوم البيانية، التي يتم إنشاؤها بعد اكتمال التدريب، ما إذا كان النموذج قد تحسن بمرور الوقت من خلال ارتكاب أخطاء أقل وزيادة الدقة.
فهي تتبع تقدم النموذج، وتوضح كيف انخفض الفقد (الفرق بين توقعات النموذج والقيم الفعلية) وكيف زادت الدقة أثناء التدريب. يساعدك هذا على فهم مدى نجاح النموذج في تعلم التعرف على الحيوانات ومقدار التحسن الذي طرأ عليه بحلول نهاية التدريب.

شكل 3. مثال على الرسوم البيانية التي يمكنك تحليلها لتقييم نموذجك.
Link to this sectionمقاييس تقييم الأداء الرئيسية#
أيضاً، إليك نظرة فاحصة على بعض المقاييس التي يمكنك استخدامها لتقييم أداء النموذج:
- متوسط متوسط الدقة (mAP): يقيس هذا المقياس الدقة الإجمالية للنموذج في اكتشاف الحيوانات عبر جميع الفئات من خلال حساب متوسط درجات الدقة عند مستويات استرجاع مختلفة.
- الدقة (Precision): تمثل هذه النسبة المئوية للاكتشافات الصحيحة، ويتم حسابها عن طريق قسمة عدد اكتشافات الإيجابيات الصحيحة على إجمالي عدد الاكتشافات التي تم إجراؤها.
- الاسترجاع (Recall): يشير إلى النسبة المئوية للحيوانات الفعلية في الصور التي تم تحديدها بشكل صحيح بواسطة النموذج، مما يعكس قدرته على التقاط جميع الحالات ذات الصلة.
يمكن أن تساعد مقاييس التقييم هذه في ضبط النموذج لتحسين الدقة قبل استخدامه في تطبيقات العالم الحقيقي.
Link to this sectionتشغيل الاستنتاجات باستخدام نموذج YOLO11 المدرب خصيصاً#
الآن بعد أن قمنا بتدريب وتقييم YOLO11، حان الوقت لاستخدامه لتحليل الصور وتشغيل الاستنتاجات. يمكنك استخدام صور الاختبار من مجموعة البيانات أو صور جديدة من مصادر مختلفة.
سنستخدم مقتطف الكود التالي لتشغيل النموذج على صورة في مجموعة بيانات الاختبار. يقوم باستيراد الوحدات اللازمة من مكتبة Ultralytics. ثم يحدد المسار إلى ملف أوزان النموذج الأفضل ("best.pt") المخزن في دليل النتائج. يتم تحميل نموذج YOLO11 المدرب خصيصاً باستخدام هذه الأوزان.
بعد ذلك، يتم تعيين المسار إلى صورة من مجموعة بيانات اختبار الحياة البرية الأفريقية. يتم تطبيق النموذج على هذه الصورة لاكتشاف الكائنات، ويتم إنشاء النتائج، وحفظ المخرجات (مثل الكائنات المكتشفة أو التعليقات التوضيحية).
from ultralytics import YOLO, settings
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_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. يمكنك استخدام نفس الصورة أو أي صورة أخرى ذات صلة.
from ultralytics import YOLO
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_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 الذي تم ضبطه بدقة على صورة غير مرئية.
Link to this sectionالذكاء الاصطناعي للحفاظ على الحياة البرية: تطبيقات العالم الحقيقي#
يمكن لنماذج مثل YOLO11 اكتشاف وتتبع الحيوانات تلقائياً، مما يتيح مجموعة متنوعة من التطبيقات العملية. إليك لمحة عن بعض المجالات الرئيسية التي يمكن فيها استخدام الذكاء الاصطناعي للرؤية لدعم جهود الحفاظ على الحياة البرية:
- مراقبة الأنواع: يمكن استخدام الذكاء الاصطناعي للرؤية لمعالجة البيانات المرئية مثل الصور ومقاطع الفيديو لتحديد الأنواع بدقة، وحساب أعداد المجموعات، وتتبع تحركاتها بمرور الوقت.
- تنبيهات الكاميرا الذكية: في المناطق النائية، يمكن استخدام الرؤية الحاسوبية لتصنيف الحيوانات باستمرار وإرسال تنبيهات في الوقت الفعلي، مما يمكّن سلطات الحياة البرية من الاستجابة بسرعة للتهديدات مثل السلوك الحيواني غير الطبيعي أو الصراعات بين الإنسان والحياة البرية.
- تحليل السلوك: من خلال مراقبة الهجرة، وعادات التغذية، والتفاعلات الاجتماعية، يمكن لأنظمة الذكاء الاصطناعي للرؤية تقديم رؤى شاملة حول ديناميكيات الأنواع المختلفة.
- منع الصيد غير المشروع: يمكن الاستفادة من الذكاء الاصطناعي للرؤية لاكتشاف الوجود البشري غير المصرح به وعلامات الصيد غير المشروع مع الاستفادة من التعلم الآلي والبيانات التاريخية لتحديد نقاط الخطر الساخنة.
Link to this sectionأبرز النقاط#
يمكن لنماذج الرؤية الحاسوبية مثل YOLO11 أن تلعب دوراً رئيسياً في الحفاظ على الحياة البرية من خلال أتمتة اكتشاف وتتبع الحيوانات. باستخدام الذكاء الاصطناعي للرؤية، يمكننا معالجة كميات كبيرة من الصور ومقاطع الفيديو من مصادر مختلفة، مما يجعل من الممكن إجراء تقييمات دقيقة للحياة البرية.
يعد Ultralytics YOLO11، على وجه الخصوص، خياراً رائعاً لاكتشاف الأشياء في الوقت الفعلي، مما يجعله مناسباً تماماً لمهام مثل مراقبة مكافحة الصيد غير المشروع، والتحليل السلوكي، ومراقبة النظام البيئي. من خلال دمج النماذج القائمة على الذكاء الاصطناعي في جهود الحفاظ على البيئة، يمكننا حماية الأنواع بشكل أفضل، وتحسين تتبع التنوع البيولوجي، واتخاذ قرارات أكثر استنارة لحماية الحياة البرية المهددة بالانقراض.
انضم إلى مجتمعنا واستكشف مستودع GitHub لمعرفة المزيد عن الرؤية الحاسوبية. اكتشف المزيد من التطبيقات المتعلقة بـ الذكاء الاصطناعي في الرعاية الصحية والرؤية الحاسوبية في التصنيع على صفحات الحلول الخاصة بنا. تحقق من خيارات ترخيص Ultralytics للبدء في استخدام الذكاء الاصطناعي للرؤية.






