رؤية YOLO لعام 2026:

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

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



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

تأتي هذه الخطوة بعد أن تقوم بـ defined your project's goals و collected and annotated your data، وهي تقع في وقت مبكر من computer vision project workflow.

لماذا تعد المعالجة المسبقة مهمة#

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

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

تقنيات المعالجة المسبقة#

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

تغيير حجم الصور#

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

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

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

تطبيع قيم البكسل#

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

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

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

تقسيم مجموعة البيانات#

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

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

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

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

تعزيز مجموعة البيانات#

يزيد Data augmentation اصطناعيًا من حجم مجموعة البيانات عن طريق إنشاء إصدارات معدلة من الصور الموجودة. فهو يساعد في تقليل overfitting وتحسين التعميم، مع عدة فوائد:

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

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

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

  • Mosaic، MixUp، و CutMix (mosaic، mixup، cutmix): دمج عينات متعددة في عينة تدريب واحدة.
  • Flips (fliplr، flipud): عكس الصور أفقياً أو عمودياً.
  • Geometric transforms (degrees، translate، scale، shear، perspective): تدوير الصور، ونقلها، وتكبيرها، وتشويهها.
  • HSV color jitter (hsv_h، hsv_s، hsv_v): تغيير درجة اللون، والتشبع، والسطوع.
  • Copy-paste (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)

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

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

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

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

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

تحليل البيانات الاستكشافي (EDA)#

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

تقنيات EDA الإحصائية#

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

تقنيات EDA البصرية#

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

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

منصة Ultralytics لـ EDA#

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

الخلاصة#

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

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

  • تضمن المعالجة المسبقة أن تكون بياناتك نظيفة ومتسقة وفي تنسيق مُحسّن للتدريب. من خلال معالجة الضوضاء، والتناقض، وعدم التوازن في الفئات في البيانات الخام، فإن خطوات مثل تغيير الحجم، والتطبيع، والتحسين، وتقسيم مجموعة البيانات تقلل من الحمل الحسابي وتحسن أداء النموذج. راجع steps of a computer vision project لمعرفة كيف تتناسب مع سير العمل الأوسع.

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

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

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

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

التعليقات