تخطي إلى المحتوى

عزز مجموعة البيانات الخاصة بك لتدريب YOLO11 باستخدام Albumentations

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

باستخدام Albumentations، يمكنك تعزيز بيانات تدريب YOLO11 الخاصة بك بتقنيات مثل التحويلات الهندسية وتعديلات الألوان. في هذه المقالة، سنرى كيف يمكن لـ Albumentations تحسين عملية تكبير البيانات الخاصة بك وجعل مشاريع YOLO11 الخاصة بك أكثر تأثيرًا. هيا بنا نبدأ!

Albumentations لتكبير الصور

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

يمكنك استخدام Albumentations لتطبيق التكبيرات بسهولة على الصور و أقنعة التجزئة و المربعات المحيطة و النقاط الرئيسية، والتأكد من تحويل جميع عناصر مجموعة البيانات الخاصة بك معًا. وهي تعمل بسلاسة مع أطر عمل التعلم العميق الشائعة مثل PyTorch و TensorFlow، مما يجعلها في متناول مجموعة واسعة من المشاريع.

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

الميزات الرئيسية لـ Albumentations

تقدم Albumentations العديد من الميزات المفيدة التي تبسط عمليات تكبير الصور المعقدة لمجموعة واسعة من تطبيقات الرؤية الحاسوبية. فيما يلي بعض الميزات الرئيسية:

  • مجموعة واسعة من التحويلات: تقدم Albumentations أكثر من 70 تحويلًا مختلفًا، بما في ذلك التغييرات الهندسية (مثل التدوير والقلب) وتعديلات الألوان (مثل السطوع والتباين) وإضافة الضوضاء (مثل الضوضاء الغاوسية). يتيح وجود خيارات متعددة إنشاء مجموعات بيانات تدريب متنوعة وقوية للغاية.

مثال على زيادة الصور

  • تحسين الأداء العالي: تعتمد Albumentations على OpenCV و NumPy، وتستخدم تقنيات التحسين المتقدمة مثل SIMD (تعليمات فردية، بيانات متعددة)، والتي تعالج نقاط بيانات متعددة في وقت واحد لتسريع المعالجة. تتعامل مع مجموعات البيانات الكبيرة بسرعة، مما يجعلها واحدة من أسرع الخيارات المتاحة لتكبير الصور.

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

نظرة عامة على المستويات المختلفة لزيادة البيانات

  • نتائج المقارنة المعيارية: عندما يتعلق الأمر بالمقارنة المعيارية، تتفوق Albumentations باستمرار على المكتبات الأخرى، خاصة مع مجموعات البيانات الكبيرة.

لماذا يجب عليك استخدام Albumentations لمشاريع الرؤية الاصطناعية الخاصة بك؟

فيما يتعلق بزيادة البيانات (image augmentation)، تبرز Albumentations كأداة موثوقة لمهام رؤية الكمبيوتر. إليك بعض الأسباب الرئيسية التي تدفعك إلى التفكير في استخدامها لمشاريع الذكاء الاصطناعي البصري الخاصة بك:

  • واجهة برمجة تطبيقات سهلة الاستخدام (Easy-to-Use API): توفر Albumentations واجهة برمجة تطبيقات (API) واحدة ومباشرة لتطبيق مجموعة واسعة من الزيادات على الصور والأقنعة والمربعات المحيطة والنقاط الرئيسية. وهي مصممة للتكيف بسهولة مع مجموعات البيانات المختلفة، مما يجعل إعداد البيانات أبسط وأكثر كفاءة.

  • اختبار صارم للأخطاء (Rigorous Bug Testing): يمكن أن تفسد الأخطاء في خط أنابيب الزيادة بيانات الإدخال بصمت، وغالبًا ما تمر دون أن يلاحظها أحد ولكنها في النهاية تقلل من أداء النموذج. تعالج Albumentations هذا الأمر من خلال مجموعة اختبار شاملة تساعد في اكتشاف الأخطاء في وقت مبكر من التطوير.

  • قابلية التوسع (Extensibility): يمكن استخدام Albumentations لإضافة زيادات جديدة بسهولة واستخدامها في خطوط أنابيب رؤية الكمبيوتر من خلال واجهة واحدة جنبًا إلى جنب مع التحويلات المضمنة.

كيفية استخدام Albumentations لتكبير البيانات لتدريب YOLO11

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

التثبيت

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

التثبيت

# Install the required packages
pip install albumentations ultralytics

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

الاستخدام

بعد تثبيت الحزم الضرورية، ستكون جاهزًا لبدء استخدام Albumentations مع YOLO11. عند تدريب YOLO11، يتم تطبيق مجموعة من التحسينات تلقائيًا من خلال تكاملها مع Albumentations، مما يسهل تحسين أداء النموذج الخاص بك.

الاستخدام

from ultralytics import YOLO

# Load a pre-trained model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

بعد ذلك، دعنا نلقي نظرة فاحصة على الزيادات المحددة التي يتم تطبيقها أثناء التدريب.

Blur (تغبيش)

يطبق تحويل Blur في Albumentations تأثير تمويه بسيط على الصورة عن طريق حساب متوسط قيم البكسل داخل منطقة مربعة صغيرة، أو kernel. يتم ذلك باستخدام OpenCV cv2.blur ، والتي تساعد على تقليل الضوضاء في الصورة، على الرغم من أنها تقلل أيضًا من تفاصيل الصورة بشكل طفيف.

فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:

  • blur_limit: يتحكم هذا في نطاق حجم تأثير التمويه. النطاق الافتراضي هو (3, 7)، مما يعني أن حجم النواة للتمويه يمكن أن يختلف بين 3 و 7 بكسل، مع السماح بالأرقام الفردية فقط للحفاظ على توسيط التمويه.

  • p: احتمالية تطبيق التمويه. في التكامل، p=0.01، لذلك هناك فرصة بنسبة 1٪ لتطبيق هذا التمويه على كل صورة. تسمح الاحتمالية المنخفضة بتأثيرات التمويه العرضية، مما يقدم القليل من التباين لمساعدة النموذج على التعميم دون الإفراط في تمويه الصور.

مثال على زيادة الضبابية

Median Blur (تغبيش وسيط)

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

فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:

  • blur_limit: تتحكم هذه المعلمة في الحد الأقصى لحجم نواة التمويه. في هذا التكامل، يكون افتراضيًا في نطاق (3, 7)، مما يعني أن حجم النواة للتمويه يتم اختياره عشوائيًا بين 3 و 7 بكسل، مع السماح بالقيم الفردية فقط لضمان المحاذاة المناسبة.

  • p: يحدد احتمالية تطبيق التمويه المتوسط. هنا، p=0.01، لذا فإن للتحويل فرصة بنسبة 1٪ ليتم تطبيقه على كل صورة. تضمن هذه الاحتمالية المنخفضة استخدام التمويه المتوسط باعتدال، مما يساعد النموذج على التعميم من خلال رؤية الصور بشكل عرضي مع تقليل الضوضاء والحفاظ على الحواف.

تعرض الصورة أدناه مثالاً لهذا الزيادة المطبقة على صورة.

مثال على زيادة الضبابية المتوسطة

Grayscale (تدرج الرمادي)

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

فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:

  • num_output_channels: يحدد عدد القنوات في الصورة الناتجة. إذا كانت هذه القيمة أكبر من 1، فسيتم تكرار قناة التدرج الرمادي الفردية لإنشاء صورة متعددة القنوات ذات تدرج رمادي. بشكل افتراضي، يتم تعيينه على 3، مما يعطي صورة ذات تدرج رمادي بثلاث قنوات متطابقة.

  • method: يحدد طريقة تحويل تدرج الرمادي. تطبق الطريقة الافتراضية، "weighted_average"، صيغة (0.299R + 0.587G + 0.114B) التي تتماشى بشكل وثيق مع الإدراك البشري، مما يوفر تأثير تدرج رمادي ذي مظهر طبيعي. توفر الخيارات الأخرى، مثل "from_lab" و "desaturation" و "average" و "max" و "pca" طرقًا بديلة لإنشاء صور تدرج الرمادي بناءً على الاحتياجات المختلفة للسرعة أو التأكيد على السطوع أو الحفاظ على التفاصيل.

  • p: يتحكم في عدد مرات تطبيق تحويل تدرج الرمادي. مع p=0.01، هناك فرصة بنسبة 1٪ لتحويل كل صورة إلى تدرج الرمادي، مما يجعل من الممكن الحصول على مزيج من الصور الملونة وتدرج الرمادي لمساعدة النموذج على التعميم بشكل أفضل.

تعرض الصورة أدناه مثالاً لتحويل تدرج الرمادي هذا.

مثال على زيادة تحويل الصورة إلى تدرج الرمادي

Contrast Limited Adaptive Histogram Equalization (CLAHE) (معادلة المدرج التكراري التكيفي المحدود التباين)

يطبق تحويل CLAHE في Albumentations معادلة المدرج التكراري التكيفي المحدودة التباين (CLAHE)، وهي تقنية تعزز تباين الصورة عن طريق معادلة المدرج التكراري في مناطق موضعية (مربعات) بدلاً من الصورة بأكملها. ينتج CLAHE تأثير تحسين متوازن، وتجنب التباين المضخم بشكل مفرط الذي يمكن أن ينتج عن معادلة المدرج التكراري القياسية، خاصة في المناطق ذات التباين المنخفض في البداية.

فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:

  • clip_limit: يتحكم في نطاق تحسين التباين. تم تعيينه على نطاق افتراضي من (1, 4)، ويحدد الحد الأقصى للتباين المسموح به في كل مربع. يتم استخدام قيم أعلى لمزيد من التباين ولكنها قد تدخل أيضًا الضوضاء.

  • tile_grid_size: يحدد حجم شبكة المربعات، عادةً كـ (صفوف، أعمدة). القيمة الافتراضية هي (8، 8)، مما يعني أن الصورة مقسمة إلى شبكة 8x8. توفر أحجام المربعات الأصغر تعديلات أكثر تحديدًا، بينما تخلق الأحجام الأكبر تأثيرات أقرب إلى معادلة عالمية.

  • p: احتمالية تطبيق CLAHE. هنا، p=0.01 يقدم تأثير التحسين بنسبة 1٪ فقط من الوقت، مما يضمن تطبيق تعديلات التباين باعتدال للحصول على تباين عرضي في صور التدريب.

تعرض الصورة أدناه مثالاً لتحويل CLAHE المطبق.

مثال على زيادة معادلة التباين المحدود التكيفي (CLAHE)

مواصلة التعلم حول Albumentations

إذا كنت مهتمًا بمعرفة المزيد عن Albumentations، فراجع الموارد التالية للحصول على مزيد من الإرشادات والأمثلة المتعمقة:

  • وثائق Albumentations: توفر الوثائق الرسمية مجموعة كاملة من التحويلات المدعومة وتقنيات الاستخدام المتقدمة.

  • دليل Ultralytics Albumentations: ألقِ نظرة فاحصة على تفاصيل الوظيفة التي تسهل هذا التكامل.

  • مستودع Albumentations على GitHub: يتضمن المستودع أمثلة ومعايير ومناقشات لمساعدتك على البدء في تخصيص عمليات الزيادة.

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

في هذا الدليل، استكشفنا الجوانب الرئيسية لـ Albumentations، وهي مكتبة Python رائعة لزيادة الصور. ناقشنا مجموعتها الواسعة من التحويلات والأداء الأمثل وكيف يمكنك استخدامها في مشروع YOLO11 التالي.

أيضًا، إذا كنت ترغب في معرفة المزيد حول عمليات تكامل Ultralytics YOLO11 الأخرى، فقم بزيارة صفحة دليل التكامل الخاصة بنا. ستجد هناك موارد ورؤى قيمة.

الأسئلة الشائعة

كيف يمكنني دمج Albumentations مع YOLO11 لتحسين تكبير البيانات؟

يتكامل Albumentations بسلاسة مع YOLO11 ويتم تطبيقه تلقائيًا أثناء التدريب إذا كانت الحزمة مثبتة لديك. إليك كيفية البدء:

# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO

# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)

يتضمن التكامل عمليات زيادة مُحسَّنة مثل التمويه، والتمويه المتوسط، وتحويل تدرج الرمادي، و CLAHE مع احتمالات مضبوطة بعناية لتحسين أداء النموذج.

ما هي الفوائد الرئيسية لاستخدام Albumentations مقارنة بمكتبات التكبير الأخرى؟

تتميز Albumentations لعدة أسباب:

  1. الأداء: مبني على OpenCV و NumPy مع تحسين SIMD لتحقيق سرعة فائقة
  2. المرونة: يدعم أكثر من 70 تحويلًا عبر عمليات الزيادة على مستوى البكسل والمستوى المكاني ومستوى المزج
  3. التوافق: يعمل بسلاسة مع الأطر الشائعة مثل PyTorch و TensorFlow
  4. الموثوقية: تمنع مجموعة الاختبارات الشاملة تلف البيانات الصامت
  5. سهولة الاستخدام: واجهة برمجة تطبيقات موحدة واحدة لجميع أنواع الزيادة

ما هي أنواع مهام الرؤية الحاسوبية التي يمكن أن تستفيد من تكبير Albumentations؟

يعزز Albumentations العديد من مهام رؤية الكمبيوتر بما في ذلك:

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

تجعل خيارات الزيادة المتنوعة في المكتبة ذات قيمة لأي مهمة رؤية تتطلب أداء نموذج قوي.



📅 تم الإنشاء منذ 8 أشهر ✏️ تم التحديث منذ 26 يومًا

تعليقات