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

تتنوع الحياة البرية على كوكبنا تنوعًا مذهلًا، من النحل الطنان إلى الفيلة الشاهقة، ويُعد الحفاظ على هذا التنوع البيولوجي أمرًا أساسيًا للحفاظ على توازن النظام البيئي. إلا أن جهود الحفاظ على الحياة البرية تزداد صعوبة بسبب فقدان الموائل والصيد الجائر وتغير المناخ. وتؤثر جميع هذه العوامل سلبًا في أعداد الحيوانات البرية.
قد تكون أساليب مراقبة الحيوانات التقليدية، مثل تحليل صور مصائد الكاميرات يدويًا وإجراء المسوحات الميدانية، بطيئة وتتطلب كثيرًا من الموارد. وغالبًا ما تفشل هذه الجهود في تغطية المناطق الكبيرة والأعداد الضخمة بفعالية.
للتغلب على هذه القيود، يمكن استخدام الذكاء الاصطناعي (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.
- ترخيص مفتوح: تُوزع مجموعة البيانات هذه بموجب ترخيص AGPL-3.0، مما يشجع على الشفافية والتعاون.
تدريب Ultralytics YOLO11 لاكتشاف الحيوانات#
بعد أن استكشفنا مجموعة بيانات الحياة البرية الأفريقية، يمكننا البدء بتدريب نموذج Ultralytics YOLO11 لاكتشاف الحيوانات في الصور. وتتضمن العملية إعداد بيئة التطوير، وتدريب نموذج YOLO11، وتقييم أداء النموذج.
الخطوة 1: إعداد البيئة#
للبدء، سنجهز بيئة لتدريب النموذج واختباره. ويمكن استخدام Google Colab أو دفاتر Jupyter أو ملف Python بسيط، وفقًا لتفضيلاتك. أنشئ دفتر Google Colab أو دفتر Jupyter أو ملف Python جديدًا وفقًا لذلك.
إذا كنت تستخدم Google Colab، فستعمل البيئة افتراضيًا على وحدة CPU (CPU)، مما قد يبطئ التدريب. ولتسريع العملية، خصوصًا مع النماذج الأكبر حجمًا، يمكنك تبديل بيئة التشغيل لاستخدام وحدة GPU. في Google Colab، يمكنك الانتقال إلى علامة التبويب "Runtime" في القائمة، واختيار "Change runtime type"، وتعيين مسرّع الأجهزة إلى وحدة GPU (ويُفضل أن تكون T4 GPU). وهذا مهم لتقليل أوقات التدريب.
بعد ذلك، وبغض النظر عن البيئة التي تستخدمها، تحتاج إلى تثبيت حزمة Ultralytics Python. إذا كنت تستخدم بيئة قائمة على الدفاتر (Google Colab أو Jupyter)، فشغّل الأمر التالي مع علامة التعجب (!) في بدايته.
pip install ultralyticsالخطوة 2: تحميل Ultralytics YOLO11 وإعداد مجموعة البيانات#
بعد تثبيت حزمة Ultralytics، تتمثل الخطوة التالية في تحميل نموذج YOLO11 وإعداد مجموعة البيانات للتدريب. أولًا، نحمّل نموذج YOLO11 المدرّب مسبقًا على مهام عامة لاكتشاف الكائنات. يوفر لنا هذا النموذج المدرّب مسبقًا نقطة بداية جيدة، إذ إنه تعلم بالفعل كيفية اكتشاف كائنات متنوعة.
بعد ذلك، نحدد مجموعة البيانات باستخدام ملف YAML يحتوي على معلومات حول الصور والتسميات. ويخبر هذا الملف النموذج بمكان العثور على مجموعة البيانات والكائنات التي ينبغي أن يتعلم التعرف إليها.
تدعم حزمة Ultralytics مجموعة بيانات الحياة البرية الأفريقية، لذا ستُنزّل تلقائيًا عند بدء التدريب، مما يجنبك عناء إعدادها يدويًا.
بعد أن تصبح مجموعة البيانات جاهزة، يبدأ النموذج التدريب. وسيمر النموذج عبر مجموعة البيانات عدة مرات، وهي عملية تُسمى التدريب عبر عصور متعددة، لتحسين قدرته على التعرف إلى الحيوانات في الصور. وخلال هذه العملية، ستُعاد تحجيم الصور إلى حجم موحد لمعالجتها، وسيعمل النموذج مع عدد محدد من الصور في كل مرة، ويُعرف ذلك باسم الدفعة. ويساعد هذا النموذج على التعلم بكفاءة أكبر.
باختصار، يُحمّل النموذج، وتُنَزّل مجموعة البيانات تلقائيًا، ويبدأ التدريب لاكتشاف الحيوانات استنادًا إلى مجموعة بيانات الحياة البرية الأفريقية عند تشغيل مقتطف التعليمات البرمجية أدناه.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)الخطوة 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/train/” ضمن دليل العمل الحالي. وينشئ كل تشغيل للتدريب دليلًا فرعيًا جديدًا (مثل runs/train/exp وruns/train/exp2 وما إلى ذلك)، حيث يمكنك العثور على السجلات والمخرجات الأخرى المتعلقة بالتدريب.
إذا كنت تستخدم واجهة سطر الأوامر، فيمكنك الوصول بسهولة إلى هذه النتائج والإعدادات باستخدام الأمر “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 للبدء باستخدام الذكاء الاصطناعي للرؤية.









