تحسين مجموعة البيانات الخاصة بك لتدريب YOLO11 باستخدام البويات
عندما تقوم ببناء نماذج الرؤية الحاسوبية، يمكن أن تلعب جودة وتنوع بيانات التدريب الخاصة بك دورًا كبيرًا في مدى جودة أداء نموذجك. تقدم Albumentations طريقة سريعة ومرنة وفعالة لتطبيق مجموعة واسعة من تحويلات الصور التي يمكنها تحسين قدرة نموذجك على التكيف مع سيناريوهات العالم الحقيقي. يتكامل بسهولة مع Ultralytics YOLO11 ويمكن أن يساعدك في إنشاء مجموعات بيانات قوية للكشف عن الكائنات وتجزئتها ومهام التصنيف.
باستخدام Albumentations، يمكنك تعزيز بيانات التدريب YOLO11 الخاصة بك باستخدام تقنيات مثل التحويلات الهندسية وتعديلات الألوان. في هذه المقالة، سنرى كيف يمكن لـ Albumentations تحسين عملية زيادة البيانات الخاصة بك وجعل مشاريعكYOLO11 أكثر تأثيراً. لنبدأ!
عمليات تكبير الصورة
Albumentations هي مكتبة زيادة الصور مفتوحة المصدر تم إنشاؤها في يونيو 2018. وهي مصممة لتبسيط وتسريع عملية زيادة الصور في الرؤية الحاسوبية. تم إنشاؤها مع مراعاة الأداء والمرونة، وهي تدعم العديد من تقنيات التعزيز المتنوعة، بدءًا من التحويلات البسيطة مثل التدوير والانعكاسات إلى تعديلات أكثر تعقيدًا مثل تغييرات السطوع والتباين. تساعد Albumentations المطورين على إنشاء مجموعات بيانات غنية ومتنوعة لمهام مثل تصنيف الصور واكتشاف الأجسام وتجزئتها.
يمكنك استخدام Albumentations لتطبيق التعزيزات بسهولة على الصور، وأقنعة التجزئة، والمربعات المحيطة، والنقاط الرئيسية، والتأكد من تحويل جميع عناصر مجموعة بياناتك معًا. يعمل بسلاسة مع أطر التعلم العميق الشائعة مثل PyTorch و TensorFlowمما يجعله متاحًا لمجموعة كبيرة من المشاريع.
أيضًا، تُعد Albumentations خيارًا رائعًا للتعزيز سواء كنت تتعامل مع مجموعات البيانات الصغيرة أو مهام الرؤية الحاسوبية واسعة النطاق. فهو يضمن معالجة سريعة وفعالة، مما يقلل من الوقت المستغرق في إعداد البيانات. وفي الوقت نفسه، يساعد على تحسين أداء النموذج، مما يجعل نماذجك أكثر فعالية في تطبيقات العالم الحقيقي.
الملامح الرئيسية للبومنتات
تقدم Albumentations العديد من الميزات المفيدة التي تبسّط عمليات زيادة الصور المعقدة لمجموعة واسعة من تطبيقات الرؤية الحاسوبية. فيما يلي بعض الميزات الرئيسية:
- مجموعة واسعة من التحويلات: تقدم Albumentations أكثر من 70 تحويلاً مختلفًا، بما في ذلك التغييرات الهندسية (مثل التدوير والتقليب) وتعديلات الألوان (مثل السطوع والتباين) وإضافة الضوضاء (مثل الضوضاء الغاوسية). يتيح وجود خيارات متعددة إنشاء مجموعات بيانات تدريبية متنوعة وقوية للغاية.
-
تحسين الأداء العالي: يستخدم برنامج Albumentations، المبني على OpenCV و NumPy، تقنيات تحسين متقدمة مثل SIMD (تعليمات واحدة، بيانات متعددة)، والتي تعالج نقاط بيانات متعددة في وقت واحد لتسريع المعالجة. وهو يعالج مجموعات البيانات الكبيرة بسرعة، مما يجعله أحد أسرع الخيارات المتاحة لتكبير الصور.
-
ثلاثة مستويات من التعزيز: تدعم Albumentations ثلاثة مستويات من التعزيز: التحويلات على مستوى البكسل، والتحويلات على المستوى المكاني، والتحويل على مستوى المزج. تؤثر التحويلات على مستوى البكسل فقط على الصور المدخلة دون تغيير الأقنعة أو المربعات المحددة أو النقاط الرئيسية. وفي الوقت نفسه، يتم تحويل كل من الصورة وعناصرها، مثل الأقنعة والمربعات المحددة، باستخدام تحويلات على المستوى المكاني. علاوة على ذلك، تعد التحويلات على مستوى المزج طريقة فريدة لزيادة البيانات لأنها تجمع بين صور متعددة في صورة واحدة.
- نتائج المقارنة المعيارية: عندما يتعلق الأمر بالقياس المعياري، تتفوق Albumentations باستمرار على المكتبات الأخرى، خاصةً مع مجموعات البيانات الكبيرة.
لماذا يجب عليك استخدام Albumentations لمشاريع الذكاء الاصطناعي للرؤية الخاصة بك؟
فيما يتعلق بتعزيز الصور، تبرز Albumentations كأداة موثوقة لمهام الرؤية الحاسوبية. فيما يلي بعض الأسباب الرئيسية التي تجعلك تفكر في استخدامها لمشاريع الذكاء الاصطناعي للرؤية:
-
واجهة برمجة تطبيقات سهلة الاستخدام: توفر Albumentations واجهة برمجة تطبيقات واحدة ومباشرة لتطبيق مجموعة كبيرة من التعزيزات على الصور والأقنعة والمربعات المحدودة والنقاط الرئيسية. وهي مصممة للتكيف بسهولة مع مجموعات البيانات المختلفة، مما يجعل إعداد البيانات أبسط وأكثر كفاءة.
-
اختبار الأخطاء الصارم: يمكن أن تتسبب الأخطاء في خط أنابيب التعزيز في إفساد بيانات الإدخال بصمت، وغالبًا ما لا يلاحظها أحد ولكنها تؤدي في النهاية إلى تدهور أداء النموذج. تعالج Albumentations هذا الأمر من خلال مجموعة اختبارات شاملة تساعد على اكتشاف الأخطاء في مرحلة مبكرة من التطوير.
-
قابلية التوسعة: يمكن استخدام التوسعة لإضافة معززات جديدة بسهولة واستخدامها في خطوط أنابيب الرؤية الحاسوبية من خلال واجهة واحدة إلى جانب التحويلات المدمجة.
كيفية استخدام البومنتات لزيادة البيانات من أجل التدريب YOLO11
والآن بعد أن قمنا بتغطية ماهية حزمة Albumentations وما يمكنها القيام به، دعونا نلقي نظرة على كيفية استخدامها لزيادة بياناتك من أجل تدريب نموذج YOLO11 . من السهل إعداده لأنه يندمج مباشرةً في وضع التدريبUltralytics ' ويتم تطبيقه تلقائيًا إذا كانت حزمة Albumentations مثبتة لديك.
التركيب
لاستخدام Albumentations مع YOLO11 ، ابدأ بالتأكد من تثبيت الحزم اللازمة. إذا لم تكن Albumentations غير مثبتة، فلن يتم تطبيق التعزيزات أثناء التدريب. بمجرد الإعداد، ستكون جاهزًا لإنشاء مجموعة بيانات معززة للتدريب، مع دمج Albumentations لتحسين نموذجك تلقائيًا.
للاطلاع على الإرشادات التفصيلية وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل التثبيتUltralytics . أثناء تثبيت الحزم المطلوبة YOLO11 ، إذا واجهت أي صعوبات، راجع دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
بعد تثبيت الحزم اللازمة، تكون جاهزًا لبدء استخدام Albumentations مع YOLO11. عندما تقوم بتدريب YOLO11 ، يتم تطبيق مجموعة من التعزيزات تلقائيًا من خلال تكاملها مع Albumentations، مما يسهل تحسين أداء نموذجك.
الاستخدام
بعد ذلك، دعنا نلقي نظرة فاحصة على التعزيزات المحددة التي يتم تطبيقها أثناء التدريب.
الضبابية
يطبّق تحويل الضبابية في Albumentations تأثير ضبابية بسيط على الصورة عن طريق حساب متوسط قيم البكسل داخل منطقة مربعة صغيرة، أو نواة. يتم ذلك باستخدام خاصية OpenCV cv2.blur
التي تساعد في تقليل التشويش في الصورة، على الرغم من أنها تقلل أيضًا من تفاصيل الصورة قليلاً.
فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:
-
حد_التمويه: يتحكم هذا في نطاق حجم تأثير التمويه. النطاق الافتراضي هو (3، 7)، مما يعني أن حجم نواة التمويه يمكن أن يتراوح بين 3 و7 بكسل، مع السماح بالأرقام الفردية فقط للحفاظ على توسيط التمويه.
-
p: احتمال تطبيق التمويه. في عملية التكامل، p=0.01، لذا هناك احتمال بنسبة 1% لتطبيق هذه الضبابية على كل صورة. تسمح الاحتمالية المنخفضة بتأثيرات ضبابية عرضية، مما يؤدي إلى إدخال القليل من التباين لمساعدة النموذج على التعميم دون الإفراط في تشويش الصور.
ضبابية متوسطية
يطبّق تحويل MedianBlur في Albumentations تأثير الضبابية المتوسط على الصورة، وهو مفيد بشكل خاص لتقليل التشويش مع الحفاظ على الحواف. على عكس طرق التعتيم النموذجية، يستخدم MedianBlur مرشحًا متوسطًا، وهو فعال بشكل خاص في إزالة الضوضاء الملحية مع الحفاظ على الحواف.
فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:
-
حد_التمويه: تتحكم هذه المعلمة في الحد الأقصى لحجم نواة التمويه. في هذا التكامل، يتم تعيينه افتراضيًا إلى نطاق (3، 7)، مما يعني أن حجم النواة للطمس يتم اختياره عشوائيًا بين 3 و7 بكسل، مع السماح بالقيم الفردية فقط لضمان المحاذاة المناسبة.
-
p: يضبط احتمال تطبيق متوسط التمويه. هنا، p=0.01، لذا فإن احتمال تطبيق التحويل على كل صورة هو 1%. يضمن هذا الاحتمال المنخفض استخدام التمويه الوسيط باعتدال، مما يساعد النموذج على التعميم من خلال رؤية صور ذات تشويش منخفض وحواف محفوظة من حين لآخر.
تُظهر الصورة أدناه مثالاً على هذه الزيادة المطبقة على صورة.
تدرج الرمادي
يحول التحويل ToGray في Albumentations الصورة إلى تدرج الرمادي، ويختزلها إلى تنسيق قناة واحدة ويكرر هذه القناة اختياريًا لمطابقة عدد محدد من قنوات الإخراج. يمكن استخدام طرق مختلفة لضبط كيفية حساب سطوع التدرج الرمادي، بدءًا من المتوسط البسيط إلى تقنيات أكثر تقدمًا لإدراك واقعي للتباين والسطوع.
فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:
-
num_output_channels: يضبط عدد القنوات في صورة الإخراج. إذا كانت هذه القيمة أكثر من 1، فسيتم نسخ قناة تدرج رمادي واحدة لإنشاء صورة متعددة القنوات بتدرج رمادي. بشكل افتراضي، يتم ضبطها على 3، مما يعطي صورة بتدرج رمادي مع ثلاث قنوات متطابقة.
-
الطريقة: يحدد طريقة تحويل التدرج الرمادي. تطبق الطريقة الافتراضية "متوسط_المتوسط الموزون" معادلة (0.299R + 0.587G + 0.114B) التي تتماشى بشكل وثيق مع الإدراك البشري، مما يوفر تأثير تدرج رمادي طبيعي المظهر. توفر الخيارات الأخرى، مثل "from_lab" و"إزالة التشبع" و"المتوسط" و"الحد الأقصى" و"pca"، طرقًا بديلة لإنشاء صور بتدرج رمادي بناءً على الاحتياجات المختلفة للسرعة أو التركيز على السطوع أو الحفاظ على التفاصيل.
-
p: يتحكم في عدد مرات تطبيق تحويل التدرج الرمادي. مع p=0.01، هناك فرصة بنسبة 1% لتحويل كل صورة إلى التدرج الرمادي، مما يجعل من الممكن لمزيج من الصور الملونة والتدرج الرمادي أن يساعد النموذج على التعميم بشكل أفضل.
تُظهر الصورة أدناه مثالاً على تطبيق هذا التحويل إلى التدرج الرمادي.
معادلة المدرج التكراري التكييفي المحدود التباين (CLAHE)
يطبق تحويل CLAHE في Albumentations معادلة المدرج التكراري التكيفي المحدود التباين (CLAHE)، وهي تقنية تعمل على تحسين تباين الصورة من خلال معادلة المدرج التكراري في مناطق محلية (مربعات) بدلاً من الصورة بأكملها. تُنتج تقنية CLAHE تأثير تحسين متوازن، متجنبة التباين المفرط الذي يمكن أن ينتج عن معادلة المدرج التكراري القياسي، خاصة في المناطق ذات التباين المنخفض في البداية.
فيما يلي المعلمات والقيم المستخدمة في هذا التكامل:
-
Clip_limit: يتحكم في نطاق تحسين التباين. يتم تعيينه على نطاق افتراضي (1، 4)، وهو يحدد الحد الأقصى للتباين المسموح به في كل مقطع. يتم استخدام قيم أعلى لمزيد من التباين ولكن قد يؤدي أيضًا إلى حدوث تشويش.
-
حجم_شبكة_البلاط: يحدد حجم شبكة المربعات عادةً على شكل (صفوف، أعمدة). القيمة الافتراضية هي (8، 8)، مما يعني أن الصورة مقسمة إلى شبكة 8 × 8. توفر أحجام المربعات الأصغر حجمًا المزيد من التعديلات المحلية، بينما تخلق الأحجام الأكبر حجمًا تأثيرات أقرب إلى المعادلة العالمية.
-
p: احتمال تطبيق CLAHE. هنا، p=0.01 يقدم تأثير التحسين بنسبة 1% فقط من الوقت، مما يضمن تطبيق تعديلات التباين باعتدال للتباين العرضي في صور التدريب.
توضح الصورة أدناه مثالاً على تحويل CLAHE المطبق.
استمر في معرفة المزيد عن البومنتات
إذا كنت مهتمًا بمعرفة المزيد عن البومنتاتيشنات، اطلع على المصادر التالية لمزيد من الإرشادات والأمثلة المتعمقة:
-
وثائق البراءات: توفر الوثائق الرسمية مجموعة كاملة من التحويلات المدعومة وتقنيات الاستخدام المتقدمة.
-
Ultralytics دليل البراءات: اطلع عن كثب على تفاصيل الوظيفة التي تسهل هذا التكامل.
-
مستودع جيثب 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 مع احتمالات مضبوطة بعناية لتعزيز أداء النموذج.
ما هي الفوائد الرئيسية لاستخدام البومنتات مقارنة بمكتبات التعزيز الأخرى؟
تبرز شركة ألبومينتيشنز لعدة أسباب:
- الأداء: مبنية على OpenCV و NumPy مع تحسين SIMD لسرعة فائقة
- المرونة: يدعم أكثر من 70 تحويلاً عبر أكثر من 70 تحويلاً على مستوى البكسل والمستوى المكاني والخلط
- التوافق: يعمل بسلاسة مع الأطر الشائعة مثل PyTorch و TensorFlow
- الموثوقية: مجموعة اختبارات واسعة النطاق تمنع تلف البيانات الصامت
- سهولة الاستخدام: واجهة برمجة تطبيقات واحدة موحدة لجميع أنواع التعزيزات
ما أنواع مهام الرؤية بالكمبيوتر التي يمكن أن تستفيد من تعزيز البونتمنتات؟
تعزّز عمليات البناء من مهام الرؤية الحاسوبية المختلفة بما في ذلك:
- اكتشاف الأجسام: يحسن من قوة النموذج في مواجهة تغيرات الإضاءة والحجم والاتجاه
- تجزئة المثيل: يعزز دقة التنبؤ بالقناع من خلال تحويلات متنوعة
- التصنيف: يزيد من تعميم النموذج بالألوان والتعزيزات الهندسية
- تقدير الوضعية: يساعد النماذج على التكيف مع وجهات النظر وظروف الإضاءة المختلفة
إن خيارات التعزيز المتنوعة للمكتبة تجعلها ذات قيمة لأي مهمة رؤية تتطلب أداءً قويًا للنموذج.