Meet YOLO26: next-gen vision AI.

Link to this sectionتقنيات معالجة البيانات المسبقة لبيانات الرؤية الحاسوبية المشروحة#

تعمل معالجة البيانات المسبقة على تحويل الصور الخام المشروحة إلى مدخلات نظيفة ومتسقة يحتاجها نموذج الرؤية الحاسوبية للتدريب بشكل جيد. مع Ultralytics YOLO26، تعمل عمليات البكسل الأساسية — التحويل إلى RGB، والتحجيم إلى [0, 1]، وتغيير الحجم — تلقائيًا داخل خط أنابيب التدريب، لذا فإن العمل المتبقي هو تقسيم مجموعة البيانات الخاصة بك بشكل صحيح، وموازنة الفئات، واختيار التعزيزات. يغطي هذا الدليل تلك التقنيات الأساسية: تغيير الحجم، والتطبيع، وتقسيم مجموعة البيانات، وتعزيز البيانات، وتحليل البيانات الاستكشافي (EDA).



Watch: How to Use Data Preprocessing and Augmentation to Improve Model Accuracy in Real-World Scenarios 🚀

تأتي هذه الخطوة بعد تحديد أهداف مشروعك وجمع بياناتك وشرحها، وهي تقع في وقت مبكر من سير عمل مشروع الرؤية الحاسوبية.

Link to this sectionلماذا تعد المعالجة المسبقة مهمة#

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

  • الضوضاء: الاختلافات غير ذات الصلة أو العشوائية في البيانات.
  • عدم الاتساق: التباينات في أحجام الصور وتنسيقاتها وجودتها.
  • عدم التوازن: توزيع غير متساوٍ للفئات أو التصنيفات عبر مجموعة البيانات.

Link to this sectionتقنيات المعالجة المسبقة#

التقنيات الرئيسية هي تغيير الحجم، والتطبيع، وتقسيم مجموعة البيانات، والتعزيز. مع YOLO26، يكون أول تقنيتين تلقائيتين، بينما التقسيم والتعزيز هما حيث تكون اختياراتك أكثر أهمية.

Link to this sectionتغيير حجم الصور#

تتطلب العديد من النماذج حجم إدخال ثابتًا، لذا فإن تغيير الحجم يجعل الصور موحدة ويقلل من التعقيد الحسابي. هناك طريقتان شائعتان للاستكمال:

  • الاستكمال ثنائي الخطية: ينعم قيم البكسل بأخذ متوسط مرجح لأقرب أربع بكسلات.
  • أقرب جار: ينسخ أقرب قيمة بكسل دون حساب متوسط — أسرع، لكنه ينتج صورة أكثر تكتلاً.

توفر مكتبات مثل OpenCV وPIL (Pillow) هذه الوظائف، ولكن مع YOLO26 لا تحتاج عادةً إلى تغيير الحجم يدويًا. يتعامل وسيط imgsz أثناء تدريب النموذج مع ذلك: عند ضبطه على قيمة مثل 640، يقوم YOLO بتحجيم كل صورة بحيث يكون أكبر بُعد لها 640 بكسل مع الحفاظ على نسبة العرض إلى الارتفاع، ثم يقوم بحشو الجانب الأقصر (الرمادي الافتراضي، القيمة 114) للوصول إلى مدخل مربع 640 × 640.

Link to this sectionتطبيع قيم البكسل#

يقوم التطبيع بتحجيم قيم البكسل إلى نطاق قياسي، مما يساعد النموذج على التقارب بشكل أسرع أثناء التدريب. هناك تقنيتان شائعتان:

  • تحجيم الحد الأدنى والأقصى (Min-Max Scaling): يقوم بتحجيم قيم البكسل إلى نطاق من 0 إلى 1.
  • تطبيع درجة Z (Z-Score Normalization): يقوم بتحجيم قيم البكسل بناءً على المتوسط والانحراف المعياري الخاص بها.

يتعامل YOLO26 مع التطبيع تلقائيًا كجزء من خط أنابيب المعالجة المسبقة الخاص به: فهو يحول الصور إلى RGB ويقوم بتحجيم قيم البكسل إلى النطاق [0, 1] عن طريق القسمة على 255 (تحجيم الحد الأدنى والأقصى). لا يطبق YOLO تطبيع المتوسط/الانحراف المعياري (z-score) على نمط ImageNet افتراضيًا، لذا لا تتطلب أي خطوة تطبيع يدوية.

Link to this sectionتقسيم مجموعة البيانات#

يتيح لك تقسيم البيانات إلى مجموعات تدريب، وتحقق، واختبار تقييم النموذج على بيانات غير مرئية وقياس تعميمه. التقسيم الشائع هو 70% للتدريب، و20% للتحقق، و10% للاختبار. تجعل أدوات مثل scikit-learn أو TensorFlow هذا الأمر مباشرًا.

ضع هذه النقاط في الاعتبار عند التقسيم:

  • الحفاظ على توزيع الفئات: تأكد من تمثيل كل فئة بشكل متناسب عبر مجموعات التدريب والتحقق والاختبار.
  • موازنة الفئات: بالنسبة لمجموعات البيانات غير المتوازنة، ضع في اعتبارك زيادة عينات الفئة الأقلية أو تقليل عينات الفئة الأغلبية — داخل مجموعة التدريب فقط.
تجنب تسريب البيانات

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

Link to this sectionتعزيز مجموعة البيانات#

يزيد تعزيز البيانات بشكل مصطنع من حجم مجموعة البيانات عن طريق إنشاء نسخ معدلة من الصور الموجودة. يساعد ذلك في تقليل الفرط في التخصيص ويحسن التعميم، مع العديد من الفوائد:

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

Examples of data augmentation techniques including flips, rotations, scaling, and color adjustments applied to a sample image

مع YOLO26، يتم التحكم في التعزيز من خلال وسائط التدريب الممررة إلى model.train() أو أعلام CLI المكافئة — وليس عن طريق تحرير ملف YAML الخاص بمجموعة البيانات، والذي يحدد بيانات تعريف مجموعة البيانات مثل المسارات وأسماء الفئات والتقسيمات. تشمل التعزيزات المضمنة:

  • Mosaic وMixUp وCutMix (mosaic, mixup, cutmix): دمج صور متعددة في عينة تدريب واحدة.
  • القلب (fliplr, flipud): عكس الصور أفقيًا أو رأسيًا.
  • التحويلات الهندسية (degrees, translate, scale, shear, perspective): تدوير الصور وتحريكها وتكبيرها وتشويهها.
  • تذبذب لون HSV (hsv_h, hsv_s, hsv_v): تغيير تدرج اللون والتشبع والسطوع.
  • النسخ واللصق (copy_paste): لصق الكائنات بين الصور من أجل التجزئة.
ضبط قوة التعزيز عند التدريب
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Augmentation is configured with training arguments, not the dataset YAML
model.train(data="coco8.yaml", epochs=10, hsv_h=0.015, fliplr=0.5, mosaic=1.0, degrees=10.0)

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

Link to this sectionدراسة حالة: المعالجة المسبقة لاكتشاف المركبات#

ضع في اعتبارك مشروعًا لاكتشاف وتصنيف المركبات في صور حركة المرور باستخدام YOLO26، بدءًا من الصور المشروحة بـ مربعات الإحاطة والتسميات. إليك ما يبدو عليه كل قرار معالجة مسبقة:

  • تغيير الحجم: لا يوجد عمل يدوي — يقوم YOLO26 بتغيير الحجم إلى imgsz أثناء التدريب.
  • التطبيع: لا يوجد عمل يدوي — يقوم YOLO26 بتحجيم قيم البكسل إلى [0, 1] تلقائيًا.
  • التقسيم: قسّم مجموعة البيانات إلى 70% تدريب، و20% تحقق، و10% اختبار، مع الحفاظ على توزيع الفئات متسقًا عبر التقسيمات.
  • التعزيز: اضبط وسائط التدريب لتناسب مشاهد حركة المرور — على سبيل المثال fliplr لثبات الاتجاه، وhsv_v لإضاءة النهار/الليل، وmosaic لتنوع كثافة الكائنات.

مع اتخاذ هذه القرارات، تصبح مجموعة البيانات جاهزة لتحليل البيانات الاستكشافي (EDA).

Link to this sectionتحليل البيانات الاستكشافي (EDA)#

يستخدم EDA الإحصائيات والتصورات للكشف عن الأنماط والتوزيعات في بياناتك، مما يساعدك على اكتشاف مشكلات مثل عدم توازن الفئات أو القيم المتطرفة قبل التدريب.

Link to this sectionتقنيات EDA الإحصائية#

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

Link to this sectionتقنيات EDA البصرية#

تكشف التصورات عن أنماط تفوتها الإحصائيات الموجزة، مثل عدم توازن الفئات والقيم المتطرفة. تشمل الأدوات الشائعة:

  • الرسوم البيانية والمخططات الصندوقية: تُظهر توزيع قيم البكسل وتحدد القيم المتطرفة في الشدة أو توزيعات الميزات.
  • الرسوم البيانية الشريطية: تكشف عن عدم توازن الفئات من خلال مقارنة عدد الأمثلة التي تمتلكها كل فئة.
  • مخططات التشتت: استكشاف العلاقات بين ميزات الصورة أو التعليقات التوضيحية.
  • الخرائط الحرارية: تصور توزيعات شدة البكسل أو التوزيع المكاني للتعليقات التوضيحية عبر الصور.

Link to this sectionمنصة Ultralytics لـ EDA#

لنهج بدون كود لـ EDA، قم بتحميل مجموعة البيانات الخاصة بك إلى منصة Ultralytics. تعمل علامة التبويب Charts في مجموعة البيانات تلقائيًا على إنشاء تصورات EDA رئيسية: توزيع التقسيم، وأعداد الفئات العليا، ورسوم بيانية لعرض/ارتفاع الصورة، وخرائط حرارية ثنائية الأبعاد لمواضع التعليقات التوضيحية وأبعاد الصورة. تسمح لك علامة التبويب Images بتصفح بياناتك في طرق عرض شبكية أو مضغوطة أو جدولية مع تراكبات التعليقات التوضيحية، مما يجعل من السهل اكتشاف الأمثلة المصنفة بشكل خاطئ أو الفئات غير المتوازنة دون كتابة أي كود.

Link to this sectionالخلاصة#

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

Link to this sectionالأسئلة الشائعة#

Link to this sectionلماذا تعد معالجة البيانات المسبقة مهمة في مشاريع الرؤية الحاسوبية؟#

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

Link to this sectionكيف أستخدم Ultralytics YOLO لتعزيز البيانات؟#

قم بتهيئة التعزيز من خلال وسائط التدريب، وليس ملف YAML الخاص بمجموعة البيانات. مرر وسائط مثل fliplr وmosaic وhsv_h وdegrees إلى model.train() (أو أعلام CLI المكافئة) لضبط احتمال وقوة كل تحويل. يتم تعريف هذه في إعدادات التعزيز وشرحها في دليل تعزيز بيانات YOLO.

Link to this sectionما هي أفضل تقنيات التطبيع لبيانات الرؤية الحاسوبية؟#

التقنيتان الأكثر شيوعًا هما تحجيم الحد الأدنى والأقصى (إعادة تحجيم البكسلات إلى نطاق من 0 إلى 1) وتطبيع z-score (إعادة التحجيم بناءً على المتوسط والانحراف المعياري). يطبق YOLO26 تحجيم الحد الأدنى والأقصى تلقائيًا — تحويل الصور إلى RGB وقسمة قيم البكسل على 255 — لذا لا تحتاج إلى خطوة تطبيع يدوية. لا يطبق تطبيع z-score افتراضيًا.

Link to this sectionكيف يجب أن أقوم بتقسيم مجموعة بياناتي المرمزة للتدريب؟#

الممارسة الشائعة هي 70% للتدريب، و20% للتحقق، و10% للاختبار. حافظ على توزيع الفئات عبر التقسيمات الثلاثة، وتجنب تسريب البيانات عن طريق تطبيق التعزيز فقط على مجموعة التدريب بعد التقسيم. تتعامل أدوات مثل scikit-learn أو TensorFlow مع التقسيم بكفاءة. راجع دليل جمع البيانات وشرحها لإعداد مجموعة البيانات الأولية.

Link to this sectionهل يمكن لـ YOLO26 التعامل مع أحجام الصور المتغيرة بدون تغيير الحجم يدويًا؟#

نعم. يقوم وسيط imgsz بتغيير حجم الصور أثناء التدريب والاستدلال بحيث يتطابق أكبر بُعد لها مع الحجم المحدد (على سبيل المثال، 640 بكسل) مع الحفاظ على نسبة العرض إلى الارتفاع، ثم يقوم بحشو الجانب الأقصر. لا تحتاج إلى تغيير حجم الصور بنفسك — راجع وثائق تدريب النموذج للحصول على التفاصيل.

التعليقات