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

الشكل 1. لمحة عن مجموعة بيانات الحياة البرية الأفريقية.
فيما يلي بعض السمات الرئيسية لمجموعة بيانات الحياة البرية الأفريقية:
- الحجم: تتكون مجموعة البيانات من 1504 صور موزعة على ثلاث مجموعات فرعية: 1052 للتدريب، و225 للتحقق، و227 للاختبار. ويضمن هذا التقسيم تعلم النموذج بفاعلية وتقييمه بدقة.
- سهولة التكامل: توفر Ultralytics ملف إعداد YAML يحدد مسارات مجموعة البيانات والفئات وتفاصيل أخرى، ما يجعل استخدامه سهلًا عند تدريب نماذج YOLO.
- الترخيص: لا تحدد مجموعة البيانات المصدر، التي نشرتها Bianca Ferreira على Kaggle، ترخيصًا لها؛ لذا تحقق من شروطها قبل استخدامها تجاريًا.
تدريب Ultralytics YOLO11 لاكتشاف الحيوانات#
بعد أن استكشفنا مجموعة بيانات الحياة البرية الأفريقية، يمكننا البدء بتدريب نموذج Ultralytics YOLO11 لاكتشاف الحيوانات في الصور. تتضمن العملية إعداد بيئة التطوير، وتدريب نموذج YOLO11، وتقييم أدائه.
الخطوة 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 ultralyticsالخطوة 2: تحميل Ultralytics YOLO11 وإعداد مجموعة البيانات#
بعد تثبيت حزمة Ultralytics، تتمثل الخطوة التالية في تحميل نموذج YOLO11 وإعداد مجموعة البيانات للتدريب. أولاً، نحمّل نموذج YOLO11n، المدرَّب مسبقاً على مهام اكتشاف الأجسام العامة. يمنحنا هذا النموذج المدرَّب مسبقاً نقطة بداية جيدة، إذ تعلّم بالفعل كيفية اكتشاف أجسام متنوعة.
بعد ذلك، نحدد مجموعة البيانات باستخدام ملف YAML، الذي يحتوي على معلومات عن الصور والتسميات. ويخبر هذا الملف النموذج بمكان العثور على مجموعة البيانات وبالكائنات التي ينبغي أن يتعلم التعرّف عليها.
تدعم حزمة Ultralytics مجموعة بيانات الحياة البرية الأفريقية، لذا ستُنزَّل تلقائياً عند بدء التدريب، مما يوفر عليك عناء إعدادها يدوياً. يمكنك أيضاً استعراض صورها وتصنيفاتها على منصة Ultralytics.
بمجرد أن تصبح مجموعة البيانات جاهزة، يبدأ النموذج التدريب. وسيعالج النموذج مجموعة البيانات مرات متعددة، في عملية تُسمى التدريب عبر عصور متعددة، لتحسين قدرته على التعرّف على الحيوانات في الصور. وخلال هذه العملية، ستُغيّر أبعاد الصور إلى حجم موحد لمعالجتها، وسيعمل النموذج على عدد محدد من الصور في كل مرة، وهو ما يُعرف بالدفعة. ويساعد ذلك النموذج على التعلم بكفاءة أكبر.
باختصار، يُحمّل النموذج، وتُنزّل مجموعة البيانات تلقائيًا، ويبدأ التدريب على اكتشاف الحيوانات استنادًا إلى مجموعة بيانات الحياة البرية الأفريقية عند تشغيل مقتطف الشيفرة أدناه.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)تعمل الشيفرة نفسها مع نماذج Ultralytics YOLO26 الأحدث: ما عليك سوى استبدال yolo11n.pt بـ yolo26n.pt.
الخطوة 3: شرح تدريبي لـ Ultralytics YOLO11#
بعد تشغيل مقتطف الشيفرة أعلاه، يبدأ النموذج التدريب وفقًا للإعدادات التي حددناها. وقد وجّهنا النموذج في الشيفرة إلى المرور على صور التدريب 30 مرة. وهذا يعني أن النموذج سيطالع جميع الصور في مجموعة البيانات 30 مرة، ويتعلم المزيد في كل مرة.
تخيل أنك تحاول تعلم رسم حيوان. قد لا يبدو الرسم جيدًا في المحاولة الأولى، لكنك تتحسن بعد تكرار التدريب مرارًا. وفي كل محاولة جديدة، تتعلم من أخطائك وتصححها. وهذا ما تفعله كل حقبة تدريب للنموذج؛ إذ يطالع الصور، ويرتكب الأخطاء، ويتعلم منها، ويتحسن في التعرّف على الحيوانات في كل مرة.
إذا كان كود التدريب يعمل بنجاح، فسترى المخرجات التالية مع تقدم التدريب:
- إعداد التدريب: يعرض الجزء الأول إصدارَي Ultralytics وPyTorch، والأجهزة المستخدمة (CPU في هذه الحالة)، إلى جانب إعدادات التدريب، بما فيها النموذج (yolo11n.pt) وحجم الدفعة وعدد العصور التدريبية وحجم الصورة.
- ملخص النموذج: يقدم معلومات عن مدى تعقيد النموذج، مثل عدد الطبقات والمعاملات، موضحًا حجم النموذج.
- المُحسِّن ومعدل التعلّم: يذكر المُحسِّن (مثل AdamW) ومعدل التعلّم، اللذين يتحكمان في كيفية ضبط النموذج لمعاملاته أثناء التدريب.
- فحص مجموعة البيانات: يفحص النموذج مجموعة البيانات، موضحًا عدد الصور الصالحة والجاهزة للتدريب. ويؤكد خلو مجموعة البيانات من المشكلات.
- تقدم التدريب: تُحدَّث المخرجات بعد كل عصر تدريبي (دورة تدريب)، لتعرض تقدم التدريب إلى جانب قيم الخسارة الأساسية (box_loss وcls_loss وdfl_loss)، التي تشير إلى مدى تعلّم النموذج.
- مقاييس الأداء: بعد كل عصر تدريبي، سترى مقاييس الأداء مثل الدقة والاستدعاء وmAP (متوسط الدقة). وتوضح هذه القيم مدى دقة النموذج في اكتشاف الكائنات وتصنيفها.
- استخدام ذاكرة GPU: إذا كنت تستخدم GPU، فستعرض المخرجات مقدار الذاكرة المستخدمة لمتابعة استغلال موارد الأجهزة.

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

الشكل 3. مثال على الرسوم البيانية التي يمكنك تحليلها لتقييم نموذجك.
مقاييس أساسية لتقييم الأداء#
إليك أيضًا نظرة عن كثب على بعض المقاييس التي يمكنك استخدامها لتقييم أداء النموذج:
- متوسط الدقة (mAP): يقيس هذا المقياس الدقة الإجمالية للنموذج في اكتشاف الحيوانات ضمن جميع الفئات، وذلك بحساب متوسط درجات الدقة عند مستويات الاستدعاء المختلفة.
- الدقة: تمثل نسبة الاكتشافات الصحيحة، وتُحسب بقسمة عدد الاكتشافات الإيجابية الصحيحة على إجمالي عدد الاكتشافات.
- الاستدعاء: يشير إلى نسبة الحيوانات الفعلية في الصور التي تعرّف عليها النموذج تعرّفًا صحيحًا، ويعكس قدرته على رصد جميع الحالات ذات الصلة.
يمكن أن تساعد مقاييس التقييم هذه على ضبط النموذج بدقة لتحسين دقته قبل استخدامه في تطبيقات العالم الحقيقي.
تشغيل الاستدلال باستخدام نموذج Ultralytics YOLO11 المدرَّب خصيصًا#
بعد أن درّبنا Ultralytics 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. تشغيل الاستدلال باستخدام نموذج Ultralytics 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. اكتشاف الحياة البرية باستخدام نموذج Ultralytics YOLO11 مضبوط بدقة على صورة لم يسبق له رؤيتها.
الذكاء الاصطناعي لصون الحياة البرية: تطبيقات في العالم الحقيقي#
يمكن لنماذج مثل Ultralytics YOLO11 اكتشاف الحيوانات وتعقبها تلقائيًا، مما يتيح مجموعة متنوعة من التطبيقات العملية. إليك لمحة عن بعض المجالات الرئيسية التي يمكن فيها استخدام ذكاء الرؤية الاصطناعي لدعم جهود صون الحياة البرية:
- رصد الأنواع: يمكن استخدام ذكاء الرؤية الاصطناعي لمعالجة البيانات المرئية، مثل الصور ومقاطع الفيديو، لتحديد الأنواع بدقة، وإحصاء أعدادها، وتتبع تحركاتها بمرور الوقت.
- تنبيهات الكاميرات الذكية: في المناطق النائية، يمكن استخدام الرؤية الحاسوبية لتصنيف الحيوانات باستمرار وإرسال تنبيهات فورية، مما يمكّن سلطات الحياة البرية من الاستجابة سريعًا للتهديدات، مثل السلوك الحيواني غير المعتاد أو النزاعات بين البشر والحياة البرية.
- تحليل السلوك: من خلال رصد الهجرة وعادات التغذية والتفاعلات الاجتماعية، يمكن لأنظمة ذكاء الرؤية الاصطناعي تقديم رؤى شاملة حول ديناميكيات التفاعلات بين الأنواع.
- منع الصيد الجائر: يمكن الاستفادة من ذكاء الرؤية الاصطناعي لاكتشاف وجود البشر غير المصرح به ومؤشرات الصيد الجائر، مع الاستفادة من التعلّم الآلي والبيانات التاريخية لتحديد بؤر المخاطر.
أبرز النقاط#
يمكن لنماذج الرؤية الحاسوبية مثل Ultralytics YOLO11 أن تؤدي دورًا محوريًا في صون الحياة البرية من خلال أتمتة اكتشاف الحيوانات وتعقبها. وباستخدام ذكاء الرؤية الاصطناعي، يمكننا معالجة كميات كبيرة من الصور ومقاطع الفيديو الواردة من مصادر متنوعة، مما يتيح إجراء تقييمات دقيقة للحياة البرية.
يُعد Ultralytics YOLO11 خيارًا ممتازًا خصوصًا لاكتشاف الكائنات في الوقت الفعلي، مما يجعله مناسبًا تمامًا لمهام مثل مراقبة مكافحة الصيد الجائر وتحليل السلوك ورصد النظم البيئية. ومن خلال دمج النماذج المدعومة بالذكاء الاصطناعي في جهود الصون، يمكننا حماية الأنواع على نحو أفضل، وتحسين تتبع التنوع البيولوجي، واتخاذ قرارات أكثر استنارة لصون الحياة البرية المهددة بالانقراض.
انضم إلى مجتمعنا واستكشف مستودع GitHub لمعرفة المزيد عن الرؤية الحاسوبية. تعرّف على المزيد من التطبيقات المتعلقة بـالذكاء الاصطناعي في الرعاية الصحية والرؤية الحاسوبية في التصنيع في صفحات حلولنا. اطّلع على خيارات ترخيص Ultralytics للبدء باستخدام ذكاء الرؤية الاصطناعي.
بقلم
التعليقات
اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.










