تقنيات المعالجة المسبقة للبيانات المشروحة في مجال الرؤية الحاسوبية
مقدمة
بعد تحديد أهداف مشروع الرؤية الحاسوبية الخاص بك وجمع البيانات وشرحها، فإن الخطوة التالية هي المعالجة المسبقة للبيانات المشروحة وإعدادها لتدريب النموذج. البيانات النظيفة والمتسقة ضرورية لإنشاء نموذج يعمل بشكل جيد.
شاهد: كيفية استخدام المعالجة المسبقة للبيانات وزيادة حجمها لتحسين دقة النموذج في سيناريوهات العالم الحقيقي 🚀
المعالجة المسبقة هي خطوة في سير عمل مشروع الرؤية الحاسوبية تتضمن تغيير حجم الصور، وتطبيع قيم البكسل، وزيادة حجم مجموعة البيانات، وتقسيم البيانات إلى مجموعات تدريب وتقييم واختبار. دعنا نستكشف التقنيات الأساسية وأفضل الممارسات لتنظيف بياناتك!
أهمية معالجة البيانات المسبقة
نحن بالفعل نقوم بجمع بياناتنا وشرحها بعناية مع أخذ اعتبارات متعددة في الاعتبار. إذن، ما الذي يجعل المعالجة المسبقة للبيانات مهمة جدًا لمشروع رؤية حاسوبية؟ حسنًا، المعالجة المسبقة للبيانات تدور حول إدخال بياناتك في تنسيق مناسب للتدريب يقلل من الحمل الحسابي ويساعد على تحسين أداء النموذج. فيما يلي بعض المشكلات الشائعة في البيانات الأولية التي تعالجها المعالجة المسبقة:
- الضوضاء: اختلافات غير ذات صلة أو عشوائية في البيانات.
- عدم الاتساق: اختلافات في أحجام الصور وتنسيقاتها وجودتها.
- عدم التوازن: توزيع غير متساوٍ للفئات أو التصنيفات في مجموعة البيانات.
تقنيات معالجة البيانات المسبقة
تعد إعادة التحجيم واحدة من الخطوات الأولى والأهم في المعالجة المسبقة للبيانات. تم تصميم بعض النماذج للتعامل مع أحجام إدخال متغيرة، ولكن العديد من النماذج تتطلب حجم إدخال ثابت. إن تغيير حجم الصور يجعلها موحدة ويقلل من التعقيد الحسابي.
تغيير حجم الصور
يمكنك تغيير حجم صورك باستخدام الطرق التالية:
- الاستيفاء الثنائي الخطي: يعمل على تلطيف قيم البكسل عن طريق أخذ متوسط مرجح لأقرب أربع قيم بكسل.
- أقرب جار: يعين قيمة البكسل الأقرب دون حساب المتوسط، مما يؤدي إلى صورة مكتنزة ولكن حساب أسرع.
لتسهيل مهمة تغيير الحجم، يمكنك استخدام الأدوات التالية:
- OpenCV: مكتبة رؤية حاسوبية شائعة مع وظائف واسعة النطاق لمعالجة الصور.
- PIL (Pillow): مكتبة تصوير python لفتح ملفات الصور ومعالجتها وحفظها.
فيما يتعلق بـ YOLO26، يسمح معامل 'imgsz' أثناء تدريب النموذج بأحجام إدخال مرنة. عند ضبطه على حجم معين، مثل 640، سيقوم النموذج بإعادة تحجيم صور الإدخال بحيث يكون أكبر بُعد لها 640 بكسل مع الحفاظ على نسبة العرض إلى الارتفاع الأصلية.
من خلال تقييم الاحتياجات المحددة لنموذجك ومجموعة البيانات الخاصة بك، يمكنك تحديد ما إذا كان تغيير الحجم خطوة ضرورية للمعالجة المسبقة أم أن النموذج الخاص بك يمكنه التعامل بكفاءة مع الصور ذات الأحجام المختلفة.
تطبيع قيم البكسل
أسلوب آخر للمعالجة المسبقة هو التسوية. تعمل التسوية على تغيير مقياس قيم البكسل إلى نطاق قياسي، مما يساعد في التقارب بشكل أسرع أثناء التدريب ويحسن أداء النموذج. فيما يلي بعض تقنيات التسوية الشائعة:
- توسيع الحد الأدنى والأقصى: يقوم بتغيير مقياس قيم البكسل إلى نطاق من 0 إلى 1.
- تسوية النتيجة المعيارية Z: يقوم بتغيير مقياس قيم البكسل بناءً على المتوسط والانحراف المعياري.
فيما يتعلق بـ YOLO26، يتم التعامل مع التطبيع بسلاسة كجزء من مسار المعالجة المسبقة أثناء تدريب النموذج. تُجري YOLO26 تلقائيًا عدة خطوات معالجة مسبقة، بما في ذلك التحويل إلى RGB، وتحجيم قيم البكسل إلى النطاق [0, 1]، والتطبيع باستخدام قيم متوسط وانحراف معياري محددة مسبقًا.
تقسيم مجموعة البيانات
بمجرد تنظيف البيانات، تكون جاهزًا لتقسيم مجموعة البيانات. يتم تقسيم البيانات إلى مجموعات تدريب وتقييم واختبار لضمان إمكانية تقييم النموذج على بيانات غير مرئية لتقييم أداء التعميم الخاص به. التقسيم الشائع هو 70٪ للتدريب و 20٪ للتقييم و 10٪ للاختبار. هناك أدوات ومكتبات مختلفة يمكنك استخدامها لتقسيم بياناتك مثل scikit-learn أو TensorFlow.
ضع في اعتبارك ما يلي عند تقسيم مجموعة البيانات الخاصة بك:
- الحفاظ على توزيع البيانات: التأكد من الحفاظ على توزيع بيانات الفئات عبر مجموعات التدريب والتقييم والاختبار.
- تجنب تسرب البيانات: عادةً ما يتم إجراء زيادة البيانات بعد تقسيم مجموعة البيانات. يجب تطبيق زيادة البيانات وأي معالجة مسبقة أخرى على مجموعة التدريب فقط لمنع المعلومات من مجموعات التحقق أو الاختبار من التأثير على تدريب النموذج.
- موازنة الفئات: بالنسبة لمجموعات البيانات غير المتوازنة، ضع في اعتبارك تقنيات مثل أخذ عينات زائدة للفئة الأقلية أو أخذ عينات ناقصة للفئة الأغلبية داخل مجموعة التدريب.
ما هو توسيع البيانات؟
إن خطوة المعالجة المسبقة للبيانات الأكثر شيوعًا هي زيادة البيانات. تعمل زيادة البيانات على زيادة حجم مجموعة البيانات بشكل مصطنع عن طريق إنشاء إصدارات معدلة من الصور. من خلال زيادة بياناتك، يمكنك تقليل التجاوز وتحسين تعميم النموذج.
فيما يلي بعض الفوائد الأخرى لزيادة البيانات:
- إنشاء مجموعة بيانات أكثر قوة: يمكن لزيادة البيانات أن تجعل النموذج أكثر قوة في مواجهة الاختلافات والتشوهات في بيانات الإدخال. وهذا يشمل التغييرات في الإضاءة والاتجاه والمقياس.
- فعالة من حيث التكلفة: تعتبر زيادة البيانات طريقة فعالة من حيث التكلفة لزيادة كمية بيانات التدريب دون جمع بيانات جديدة وتصنيفها.
- استخدام أفضل للبيانات: يتم استخدام كل نقطة بيانات متاحة إلى أقصى إمكاناتها عن طريق إنشاء اختلافات جديدة
طرق توسيع البيانات
تشمل تقنيات زيادة البيانات الشائعة القلب والتدوير والتحجيم وتعديلات الألوان. يمكن للعديد من المكتبات، مثل Albumentations و Imgaug و ImageDataGenerator الخاص بـ TensorFlow، إنشاء هذه الزيادات.

فيما يتعلق بـ YOLO26، يمكنك زيادة مجموعة البيانات المخصصة الخاصة بك عن طريق تعديل ملف تهيئة مجموعة البيانات، وهو ملف .yaml. في هذا الملف، يمكنك إضافة قسم لزيادة البيانات (augmentation) مع معلمات تحدد كيفية زيادة بياناتك.
يدعم مستودع Ultralytics YOLO26 مجموعة واسعة من زيادات البيانات (data augmentations). يمكنك تطبيق تحويلات مختلفة مثل:
- الاقتصاصات العشوائية
- التقليب: يمكن قلب الصور أفقيًا أو رأسيًا.
- التدوير: يمكن تدوير الصور بزوايا محددة.
- التشويه
أيضًا، يمكنك ضبط شدة تقنيات الزيادة هذه من خلال معلمات محددة لإنشاء المزيد من تنوع البيانات.
دراسة حالة للمعالجة المسبقة
لنفترض مشروعًا يهدف إلى تطوير نموذج لـ detect و classify أنواع مختلفة من المركبات في صور المرور باستخدام YOLO26. لقد جمعنا صور المرور وقمنا بتعليقها بصناديق الإحاطة (bounding boxes) والتسميات (labels).
إليك كيف ستبدو كل خطوة من خطوات المعالجة المسبقة لهذا المشروع:
- إعادة تحجيم الصور: نظرًا لأن YOLO26 يتعامل مع أحجام إدخال مرنة ويقوم بإعادة التحجيم تلقائيًا، فإن إعادة التحجيم اليدوية ليست مطلوبة. سيقوم النموذج بضبط حجم الصورة وفقًا لمعامل 'imgsz' المحدد أثناء التدريب.
- تطبيع قيم البكسل: تقوم YOLO26 تلقائيًا بتطبيع قيم البكسل إلى نطاق من 0 إلى 1 أثناء المعالجة المسبقة، لذا فهي ليست مطلوبة.
- تقسيم مجموعة البيانات: قسّم مجموعة البيانات إلى مجموعات تدريب (70٪) والتحقق من الصحة (20٪) والاختبار (10٪) باستخدام أدوات مثل scikit-learn.
- زيادة البيانات: قم بتعديل ملف تكوين مجموعة البيانات (.yaml) لتضمين تقنيات زيادة البيانات مثل الاقتصاصات العشوائية والقلب الأفقي وتعديلات السطوع.
تضمن هذه الخطوات إعداد مجموعة البيانات دون أي مشكلات محتملة وتكون جاهزة لتحليل البيانات الاستكشافي (EDA).
تقنيات تحليل البيانات الاستكشافي
بعد المعالجة المسبقة لبياناتك وزيادتها، فإن الخطوة التالية هي اكتساب رؤى من خلال تحليل البيانات الاستكشافي. يستخدم EDA التقنيات الإحصائية وأدوات التصور لفهم الأنماط والتوزيعات في بياناتك. يمكنك تحديد مشكلات مثل اختلال توازن الفئات أو القيم المتطرفة واتخاذ قرارات مستنيرة بشأن المزيد من المعالجة المسبقة للبيانات أو تعديلات تدريب النموذج.
تقنيات EDA الإحصائية
غالبًا ما تبدأ التقنيات الإحصائية بحساب المقاييس الأساسية مثل المتوسط والوسيط والانحراف المعياري والنطاق. توفر هذه المقاييس نظرة عامة سريعة على خصائص مجموعة بيانات الصور الخاصة بك، مثل توزيعات كثافة البكسل. يساعدك فهم هذه الإحصائيات الأساسية على فهم الجودة والخصائص العامة لبياناتك، مما يسمح لك باكتشاف أي مخالفات في وقت مبكر.
تقنيات EDA المرئية
تُعد المرئيات أساسية في الاستكشاف البصري للبيانات (EDA) لمجموعات بيانات الصور. على سبيل المثال، يُعد تحليل عدم توازن الفئات جانبًا حيويًا آخر من جوانب الاستكشاف البصري للبيانات (EDA). فهو يساعد في تحديد ما إذا كانت بعض الفئات ممثلة تمثيلاً ناقصًا في مجموعة البيانات الخاصة بك. يمكن أن يكشف تصور توزيع فئات أو تصنيفات الصور المختلفة باستخدام الرسوم البيانية الشريطية بسرعة عن أي اختلالات. وبالمثل، يمكن تحديد القيم المتطرفة باستخدام أدوات التصور مثل مخططات الصندوق، التي تسلط الضوء على الحالات الشاذة في كثافة البكسل أو توزيعات الميزات. يمنع اكتشاف القيم المتطرفة نقاط البيانات غير العادية من تحريف نتائجك.
تتضمن الأدوات الشائعة للتصورات ما يلي:
- المدرجات التكرارية والمخططات الصندوقية: مفيدة لفهم توزيع قيم البكسل وتحديد القيم المتطرفة.
- مخططات التشتت: مفيدة لاستكشاف العلاقات بين ميزات الصورة أو التعليقات التوضيحية.
- الخرائط الحرارية: فعالة لتصور توزيع كثافة البكسل أو التوزيع المكاني للميزات المشروحة داخل الصور.
استخدام Ultralytics Explorer لـ EDA
ملاحظة المجتمع
اعتبارًا من ultralytics>=8.3.10، تم إهمال دعم Ultralytics Explorer. تتوفر ميزات استكشاف مجموعات البيانات المماثلة (والموسعة) في منصة Ultralytics.
للحصول على نهج أكثر تقدمًا لـ EDA، يمكنك استخدام أداة Ultralytics Explorer. إنها توفر قدرات قوية لاستكشاف مجموعات بيانات رؤية الكمبيوتر. من خلال دعم البحث الدلالي واستعلامات SQL والبحث عن تشابه المتجهات، تسهل الأداة تحليل بياناتك وفهمها. باستخدام Ultralytics Explorer، يمكنك إنشاء تضمينات لمجموعة البيانات الخاصة بك للعثور على صور مماثلة، وتشغيل استعلامات SQL لتحليل مفصل، وإجراء عمليات بحث دلالية، كل ذلك من خلال واجهة رسومية سهلة الاستخدام.

تواصل وتفاعل
يمكن أن تمنحك المناقشات حول مشروعك مع عشاق رؤية الكمبيوتر الآخرين أفكارًا جديدة من وجهات نظر مختلفة. فيما يلي بعض الطرق الرائعة للتعلم واستكشاف الأخطاء وإصلاحها والتواصل:
قنوات للتواصل مع المجتمع
- مشاكل GitHub: زر مستودع YOLO26 على GitHub واستخدم علامة تبويب المشاكل لطرح الأسئلة، والإبلاغ عن الأخطاء، واقتراح الميزات. المجتمع والقائمون على الصيانة موجودون للمساعدة في أي مشاكل تواجهها.
- خادم Ultralytics Discord: انضم إلى خادم Ultralytics Discord للتواصل مع المستخدمين والمطورين الآخرين، والحصول على الدعم، وتبادل المعرفة، وتبادل الأفكار.
الوثائق الرسمية
- وثائق Ultralytics YOLO26: ارجع إلى وثائق YOLO26 الرسمية للحصول على أدلة شاملة ورؤى قيمة حول العديد من مهام ومشاريع رؤية الكمبيوتر.
مجموعة البيانات الخاصة بك جاهزة!
تعمل البيانات التي تم تغيير حجمها وتطبيعها وزيادتها بشكل صحيح على تحسين أداء النموذج عن طريق تقليل الضوضاء وتحسين التعميم. باتباع تقنيات المعالجة المسبقة وأفضل الممارسات الموضحة في هذا الدليل، يمكنك إنشاء مجموعة بيانات قوية. مع استعداد مجموعة البيانات التي تمت معالجتها مسبقًا، يمكنك المتابعة بثقة إلى الخطوات التالية في مشروعك.
الأسئلة الشائعة
ما هي أهمية معالجة البيانات المسبقة في مشاريع رؤية الكمبيوتر؟
تعد المعالجة المسبقة للبيانات ضرورية في مشاريع رؤية الكمبيوتر لأنها تضمن أن البيانات نظيفة ومتسقة وفي تنسيق مثالي لتدريب النموذج. من خلال معالجة مشكلات مثل الضوضاء وعدم الاتساق والاختلال في البيانات الأولية، تساعد خطوات المعالجة المسبقة مثل تغيير الحجم والتطبيع والزيادة وتقسيم مجموعة البيانات على تقليل الحمل الحسابي وتحسين أداء النموذج. لمزيد من التفاصيل، قم بزيارة خطوات مشروع رؤية الكمبيوتر.
كيف يمكنني استخدام Ultralytics YOLO لتوسيع البيانات؟
لزيادة البيانات باستخدام Ultralytics YOLO26، تحتاج إلى تعديل ملف تهيئة مجموعة البيانات (.yaml). في هذا الملف، يمكنك تحديد تقنيات تضخيم متنوعة مثل الاقتصاص العشوائي، والقلب الأفقي، وتعديلات السطوع. يمكن القيام بذلك بفعالية باستخدام تهيئات التدريب المشروحة هنا. يساعد تضخيم البيانات في إنشاء مجموعة بيانات أكثر قوة، وتقليل فرط التخصيص، وتحسين تعميم النموذج.
ما هي أفضل تقنيات تطبيع البيانات لبيانات رؤية الكمبيوتر؟
تعمل التسوية على تغيير قيم البكسل إلى نطاق قياسي لتحقيق تقارب أسرع وتحسين الأداء أثناء التدريب. تتضمن التقنيات الشائعة ما يلي:
- توسيع الحد الأدنى والأقصى: يقوم بتغيير مقياس قيم البكسل إلى نطاق من 0 إلى 1.
- تسوية النتيجة المعيارية Z: يقوم بتغيير مقياس قيم البكسل بناءً على المتوسط والانحراف المعياري.
بالنسبة لـ YOLO26، يتم التعامل مع التطبيع تلقائيًا، بما في ذلك التحويل إلى RGB وتحجيم قيم البكسل. تعرف على المزيد حول هذا في قسم تدريب النموذج.
كيف يمكنني تقسيم مجموعة البيانات المشروحة الخاصة بي للتدريب؟
لتقسيم مجموعة البيانات الخاصة بك، تتمثل الممارسة الشائعة في تقسيمها إلى 70٪ للتدريب و 20٪ للتحقق و 10٪ للاختبار. من المهم الحفاظ على توزيع البيانات للفئات عبر هذه الانقسامات وتجنب تسرب البيانات عن طريق إجراء التوسيع فقط على مجموعة التدريب. استخدم أدوات مثل scikit-learn أو TensorFlow لتقسيم مجموعة البيانات بكفاءة. راجع الدليل المفصل حول إعداد مجموعة البيانات.
هل يمكنني التعامل مع أحجام الصور المتغيرة في YOLO26 بدون إعادة تحجيم يدوية؟
نعم، يمكن لـ Ultralytics YOLO26 التعامل مع أحجام الصور المتغيرة من خلال معامل 'imgsz' أثناء تدريب النموذج. يضمن هذا المعامل تغيير حجم الصور بحيث يتطابق أكبر بُعد لها مع الحجم المحدد (مثل 640 بكسل)، مع الحفاظ على نسبة العرض إلى الارتفاع. لمزيد من المرونة في معالجة المدخلات والتعديلات التلقائية، راجع قسم تدريب النموذج.