Link to this sectionتقنيات معالجة البيانات مسبقاً للبيانات المرمزة في رؤية الحاسوب#
Link to this sectionمقدمة#
بعد تحديد أهداف مشروع رؤية الحاسوب الخاص بك وجمع البيانات وترميزها، تأتي الخطوة التالية وهي معالجة البيانات المرمزة مسبقاً وإعدادها لتدريب النموذج. تعد البيانات النظيفة والمتسقة أمراً حيوياً لإنشاء نموذج يعمل بشكل جيد.
Watch: How to Use Data Preprocessing and Augmentation to Improve Model Accuracy in Real-World Scenarios 🚀
المعالجة المسبقة هي خطوة في سير عمل مشروع رؤية الحاسوب تتضمن تغيير حجم الصور، وتطبيع قيم البكسل، وتعزيز مجموعة البيانات، وتقسيم البيانات إلى مجموعات تدريب وتحقق واختبار. لنستكشف التقنيات الأساسية وأفضل الممارسات لتنظيف بياناتك!
Link to this sectionأهمية معالجة البيانات مسبقاً#
نحن نقوم بالفعل بجمع بياناتنا وترميزها بعناية مع مراعاة اعتبارات متعددة. فما الذي يجعل معالجة البيانات مسبقاً مهمة جداً لمشروع رؤية الحاسوب؟ في الواقع، تتعلق معالجة البيانات مسبقاً بجعل بياناتك في تنسيق مناسب للتدريب يقلل من العبء الحسابي ويساعد في تحسين أداء النموذج. فيما يلي بعض المشكلات الشائعة في البيانات الأولية التي تعالجها المعالجة المسبقة:
- الضجيج: الاختلافات غير ذات الصلة أو العشوائية في البيانات.
- عدم الاتساق: التباينات في أحجام الصور وتنسيقاتها وجودتها.
- عدم التوازن: التوزيع غير المتساوي للفئات أو التصنيفات في مجموعة البيانات.
Link to this sectionتقنيات معالجة البيانات مسبقاً#
تعد إعادة الحجم واحدة من أولى وأهم خطوات معالجة البيانات مسبقاً. تم تصميم بعض النماذج للتعامل مع أحجام إدخال متغيرة، لكن العديد من النماذج تتطلب حجم إدخال متسق. تجعل إعادة حجم الصور منها صوراً موحدة وتقلل من التعقيد الحسابي.
Link to this sectionتغيير حجم الصور#
يمكنك تغيير حجم صورك باستخدام الطرق التالية:
- الاستيفاء ثنائي الخطية (Bilinear Interpolation): يعمل على تنعيم قيم البكسل من خلال أخذ متوسط مرجح لقيم البكسلات الأربعة الأقرب.
- أقرب جار (Nearest Neighbor): يعين قيمة البكسل الأقرب دون حساب المتوسط، مما يؤدي إلى صورة متكتلة ولكن بحسابات أسرع.
لجعل عملية تغيير الحجم مهمة أبسط، يمكنك استخدام الأدوات التالية:
- OpenCV: مكتبة رؤية حاسوب شهيرة تحتوي على وظائف واسعة لمعالجة الصور.
- PIL (Pillow): مكتبة بايثون للصور (Python Imaging Library) لفتح ملفات الصور ومعالجتها وحفظها.
فيما يخص YOLO26، يسمح معامل 'imgsz' أثناء تدريب النموذج بأحجام إدخال مرنة. عند ضبطه على حجم محدد، مثل 640، سيقوم النموذج بتغيير حجم صور الإدخال بحيث يكون أكبر بُعد لها 640 بكسل مع الحفاظ على نسبة العرض إلى الارتفاع الأصلية.
من خلال تقييم احتياجات نموذجك ومجموعة بياناتك الخاصة، يمكنك تحديد ما إذا كانت إعادة الحجم خطوة معالجة مسبقة ضرورية أم أن نموذجك يمكنه التعامل بكفاءة مع صور بأحجام متفاوتة.
Link to this sectionتطبيع قيم البكسل#
تقنية أخرى للمعالجة المسبقة هي التطبيع. يعمل التطبيع على تغيير قيم البكسل إلى نطاق قياسي، مما يساعد في تقارب أسرع أثناء التدريب ويحسن أداء النموذج. فيما يلي بعض تقنيات التطبيع الشائعة:
- تحجيم الحد الأدنى والأقصى (Min-Max Scaling): يقوم بتحجيم قيم البكسل إلى نطاق من 0 إلى 1.
- تطبيع درجة Z (Z-Score Normalization): يقوم بتحجيم قيم البكسل بناءً على المتوسط والانحراف المعياري الخاص بها.
فيما يخص YOLO26، يتم التعامل مع التطبيع بسلاسة كجزء من خط أنابيب المعالجة المسبقة أثناء تدريب النموذج. يقوم YOLO26 تلقائياً بتنفيذ العديد من خطوات المعالجة المسبقة، بما في ذلك التحويل إلى RGB، وتحجيم قيم البكسل إلى النطاق [0، 1]، والتطبيع باستخدام قيم المتوسط والانحراف المعياري المحددة مسبقاً.
Link to this sectionتقسيم مجموعة البيانات#
بمجرد تنظيف البيانات، تكون مستعداً لتقسيم مجموعة البيانات. يتم إجراء تقسيم البيانات إلى مجموعات تدريب وتحقق واختبار لضمان إمكانية تقييم النموذج على بيانات غير مرئية لتقييم أداء تعميمه. التقسيم الشائع هو 70% للتدريب، و20% للتحقق، و10% للاختبار. هناك أدوات ومكتبات متنوعة يمكنك استخدامها لتقسيم بياناتك مثل scikit-learn أو TensorFlow.
ضع في اعتبارك ما يلي عند تقسيم مجموعة البيانات الخاصة بك:
- الحفاظ على توزيع البيانات: تأكد من الحفاظ على توزيع البيانات للفئات عبر مجموعات التدريب والتحقق والاختبار.
- تجنب تسريب البيانات: عادةً، يتم إجراء تعزيز البيانات بعد تقسيم مجموعة البيانات. يجب تطبيق تعزيز البيانات وأي معالجة مسبقة أخرى فقط على مجموعة التدريب لمنع المعلومات من مجموعات التحقق أو الاختبار من التأثير على تدريب النموذج.
- موازنة الفئات: بالنسبة لمجموعات البيانات غير المتوازنة، ضع في اعتبارك تقنيات مثل الإفراط في أخذ عينات من الفئة الأقل تمثيلاً أو نقص أخذ عينات من الفئة الأكثر تمثيلاً داخل مجموعة التدريب.
Link to this sectionما هو تعزيز البيانات؟#
خطوة معالجة البيانات مسبقاً الأكثر شيوعاً هي تعزيز البيانات. يعمل تعزيز البيانات على زيادة حجم مجموعة البيانات بشكل اصطناعي عن طريق إنشاء إصدارات معدلة من الصور. من خلال تعزيز بياناتك، يمكنك تقليل الفرط في التخصيص وتحسين تعميم النموذج.
فيما يلي بعض الفوائد الأخرى لتعزيز البيانات:
- إنشاء مجموعة بيانات أكثر قوة: يمكن لتعزيز البيانات جعل النموذج أكثر قوة تجاه التغيرات والتشوهات في بيانات الإدخال. وهذا يشمل التغيرات في الإضاءة والاتجاه والمقياس.
- فعالية التكلفة: يعد تعزيز البيانات وسيلة فعالة من حيث التكلفة لزيادة كمية بيانات التدريب دون جمع وترميز بيانات جديدة.
- استخدام أفضل للبيانات: يتم استخدام كل نقطة بيانات متاحة إلى أقصى إمكاناتها من خلال إنشاء تنويعات جديدة.
Link to this sectionطرق تعزيز البيانات#
تشمل تقنيات التعزيز الشائعة التقليب، والتدوير، والتحجيم، وتعديلات الألوان. يمكن للعديد من المكتبات، مثل Albumentations وImgaug وImageDataGenerator من TensorFlow، إنشاء هذه التعزيزات.
فيما يخص YOLO26، يمكنك تعزيز مجموعة بياناتك المخصصة عن طريق تعديل ملف تكوين مجموعة البيانات، وهو ملف .yaml. في هذا الملف، يمكنك إضافة قسم تعزيز بمعلمات تحدد كيفية رغبتك في تعزيز بياناتك.
يدعم مستودع Ultralytics YOLO26 مجموعة واسعة من تعزيزات البيانات. يمكنك تطبيق تحويلات متنوعة مثل:
- الاقتطاعات العشوائية
- التقليب: يمكن تقليب الصور أفقياً أو رأسياً.
- التدوير: يمكن تدوير الصور بزوايا محددة.
- التشويه
أيضاً، يمكنك ضبط كثافة تقنيات التعزيز هذه من خلال معلمات محددة لتوليد المزيد من تنوع البيانات.
Link to this sectionدراسة حالة للمعالجة المسبقة#
ضع في اعتبارك مشروعاً يهدف إلى تطوير نموذج لاكتشاف وتصنيف أنواع مختلفة من المركبات في صور حركة المرور باستخدام YOLO26. لقد قمنا بجمع صور حركة المرور وقمنا بترميزها بصناديق الإحاطة والتسميات.
إليك ما ستبدو عليه كل خطوة من خطوات المعالجة المسبقة لهذا المشروع:
- تغيير حجم الصور: نظراً لأن YOLO26 يتعامل مع أحجام إدخال مرنة ويقوم بتغيير الحجم تلقائياً، فلا يلزم تغيير الحجم يدوياً. سيقوم النموذج بضبط حجم الصورة وفقاً لمعامل 'imgsz' المحدد أثناء التدريب.
- تطبيع قيم البكسل: يقوم YOLO26 تلقائياً بتطبيع قيم البكسل إلى نطاق من 0 إلى 1 أثناء المعالجة المسبقة، لذا فهو غير مطلوب.
- تقسيم مجموعة البيانات: تقسيم مجموعة البيانات إلى مجموعات تدريب (70%)، وتحقق (20%)، واختبار (10%) باستخدام أدوات مثل scikit-learn.
- تعزيز البيانات: تعديل ملف تكوين مجموعة البيانات (.yaml) ليشمل تقنيات تعزيز البيانات مثل الاقتطاعات العشوائية، والتقليب الأفقي، وتعديلات السطوع.
تضمن هذه الخطوات إعداد مجموعة البيانات دون أي مشكلات محتملة وهي جاهزة لتحليل البيانات الاستكشافي (EDA).
Link to this sectionتقنيات تحليل البيانات الاستكشافي#
بعد المعالجة المسبقة وتعزيز مجموعة بياناتك، تكون الخطوة التالية هي اكتساب رؤى من خلال تحليل البيانات الاستكشافي. يستخدم EDA التقنيات الإحصائية وأدوات التصور لفهم الأنماط والتوزيعات في بياناتك. يمكنك تحديد مشكلات مثل اختلالات الفئات أو القيم المتطرفة واتخاذ قرارات مستنيرة بشأن مزيد من معالجة البيانات مسبقاً أو تعديلات تدريب النموذج.
Link to this sectionتقنيات EDA الإحصائية#
غالباً ما تبدأ التقنيات الإحصائية بحساب المقاييس الأساسية مثل المتوسط، والوسيط، والانحراف المعياري، والمدى. توفر هذه المقاييس نظرة عامة سريعة على خصائص مجموعة بيانات صورك، مثل توزيعات كثافة البكسل. يساعد فهم هذه الإحصائيات الأساسية في استيعاب الجودة والخصائص العامة لبياناتك، مما يسمح لك باكتشاف أي مخالفات في وقت مبكر.
Link to this sectionتقنيات EDA البصرية#
التصورات هي المفتاح في EDA لمجموعات بيانات الصور. على سبيل المثال، يعد تحليل اختلال الفئات جانباً حيوياً آخر من جوانب EDA. فهو يساعد في تحديد ما إذا كانت بعض الفئات ممثلة بشكل ناقص في مجموعة بياناتك. يمكن أن يكشف تصور توزيع فئات أو تصنيفات الصور المختلفة باستخدام المخططات الشريطية بسرعة عن أي اختلالات. وبالمثل، يمكن تحديد القيم المتطرفة باستخدام أدوات التصور مثل مخططات الصندوق، والتي تسلط الضوء على الشذوذ في شدة البكسل أو توزيعات الميزات. يمنع اكتشاف القيم المتطرفة نقاط البيانات غير العادية من تحريف نتائجك.
تشمل الأدوات الشائعة للتصورات ما يلي:
- المدرجات التكرارية ومخططات الصندوق: مفيدة لفهم توزيع قيم البكسل وتحديد القيم المتطرفة.
- المخططات المبعثرة: مفيدة لاستكشاف العلاقات بين ميزات الصورة أو الرموز.
- الخرائط الحرارية: فعالة لتصور توزيع كثافة البكسل أو التوزيع المكاني للميزات المرمزة داخل الصور.
Link to this sectionاستخدام منصة Ultralytics لـ EDA#
لنهج بدون كود لـ EDA، قم بتحميل مجموعة بياناتك إلى منصة Ultralytics. تعمل علامة التبويب Charts الخاصة بمجموعة البيانات تلقائياً على إنشاء التصورات الموضحة أعلاه: توزيع التقسيم، وعدد الفئات الأعلى، ومدرجات تكرارية لعرض/ارتفاع الصورة، وخرائط حرارية ثنائية الأبعاد لمواضع الترميز وأبعاد الصورة. تسمح لك علامة التبويب Images بتصفح بياناتك في طرق عرض شبكية أو مضغوطة أو جدولية مع تراكبات ترميز، مما يجعل من السهل اكتشاف الأمثلة التي تم ترميزها بشكل خاطئ أو الفئات غير المتوازنة دون كتابة سطر واحد من الكود.
Link to this sectionتواصل وشارك#
يمكن أن تمنحك المناقشات حول مشروعك مع عشاق رؤية الحاسوب الآخرين أفكاراً جديدة من وجهات نظر مختلفة. إليك بعض الطرق الرائعة للتعلم واستكشاف الأخطاء وإصلاحها والتواصل:
Link to this sectionقنوات التواصل مع المجتمع#
- GitHub Issues: قم بزيارة مستودع YOLO26 على GitHub واستخدم علامة تبويب المشكلات لطرح الأسئلة، والإبلاغ عن الأخطاء، واقتراح الميزات. المجتمع والقائمون على الصيانة موجودون للمساعدة في أي مشكلات تواجهها.
- خادم Ultralytics على Discord: انضم إلى خادم Ultralytics على Discord للتواصل مع مستخدمين ومطورين آخرين، والحصول على الدعم، ومشاركة المعرفة، وطرح الأفكار.
Link to this sectionالتوثيق الرسمي#
- توثيق Ultralytics YOLO26: ارجع إلى توثيق YOLO26 الرسمي للحصول على أدلة شاملة ورؤى قيمة حول العديد من مهام ومشاريع رؤية الحاسوب.
Link to this sectionمجموعة بياناتك جاهزة!#
تؤدي البيانات التي تم تغيير حجمها وتطبيعها وتعزيزها بشكل صحيح إلى تحسين أداء النموذج من خلال تقليل الضجيج وتحسين التعميم. باتباع تقنيات المعالجة المسبقة وأفضل الممارسات الموضحة في هذا الدليل، يمكنك إنشاء مجموعة بيانات قوية. مع جاهزية مجموعة بياناتك المعالجة مسبقاً، يمكنك المضي قدماً بثقة في الخطوات التالية في مشروعك.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هي أهمية معالجة البيانات مسبقاً في مشاريع رؤية الحاسوب؟#
تعد معالجة البيانات مسبقاً ضرورية في مشاريع رؤية الحاسوب لأنها تضمن أن البيانات نظيفة ومتسقة وبتنسيق مثالي لتدريب النموذج. من خلال معالجة مشكلات مثل الضجيج وعدم الاتساق وعدم التوازن في البيانات الأولية، تساعد خطوات المعالجة المسبقة مثل تغيير الحجم والتطبيع والتعزيز وتقسيم مجموعة البيانات في تقليل العبء الحسابي وتحسين أداء النموذج. لمزيد من التفاصيل، قم بزيارة خطوات مشروع رؤية الحاسوب.
Link to this sectionكيف يمكنني استخدام Ultralytics YOLO لتعزيز البيانات؟#
لتعزيز البيانات باستخدام Ultralytics YOLO26، تحتاج إلى تعديل ملف تكوين مجموعة البيانات (.yaml). في هذا الملف، يمكنك تحديد تقنيات تعزيز متنوعة مثل الاقتطاعات العشوائية، والتقليب الأفقي، وتعديلات السطوع. يمكن القيام بذلك بفعالية باستخدام تكوينات التدريب الموضحة هنا. يساعد تعزيز البيانات في إنشاء مجموعة بيانات أكثر قوة، وتقليل الفرط في التخصيص، وتحسين تعميم النموذج.
Link to this sectionما هي أفضل تقنيات تطبيع البيانات لبيانات رؤية الحاسوب؟#
يعمل التطبيع على تحجيم قيم البكسل إلى نطاق قياسي لتقارب أسرع وأداء محسّن أثناء التدريب. تشمل التقنيات الشائعة ما يلي:
- تحجيم الحد الأدنى والأقصى (Min-Max Scaling): يقوم بتحجيم قيم البكسل إلى نطاق من 0 إلى 1.
- تطبيع درجة Z (Z-Score Normalization): يقوم بتحجيم قيم البكسل بناءً على المتوسط والانحراف المعياري الخاص بها.
بالنسبة لـ YOLO26، يتم التعامل مع التطبيع تلقائياً، بما في ذلك التحويل إلى RGB وتحجيم قيمة البكسل. تعرف على المزيد حول ذلك في قسم تدريب النموذج.
Link to this sectionكيف يجب أن أقوم بتقسيم مجموعة بياناتي المرمزة للتدريب؟#
لتقسيم مجموعة بياناتك، من الممارسات الشائعة تقسيمها إلى 70% للتدريب، و20% للتحقق، و10% للاختبار. من المهم الحفاظ على توزيع البيانات للفئات عبر هذه التقسيمات وتجنب تسريب البيانات عن طريق إجراء التعزيز فقط على مجموعة التدريب. استخدم أدوات مثل scikit-learn أو TensorFlow لتقسيم مجموعة البيانات بكفاءة. راجع الدليل التفصيلي حول إعداد مجموعة البيانات.
Link to this sectionهل يمكنني التعامل مع أحجام صور متفاوتة في YOLO26 بدون تغيير الحجم يدوياً؟#
نعم، يمكن لـ Ultralytics YOLO26 التعامل مع أحجام الصور المتفاوتة من خلال معامل 'imgsz' أثناء تدريب النموذج. يضمن هذا المعامل تغيير حجم الصور بحيث يطابق أكبر بُعد لها الحجم المحدد (مثلاً 640 بكسل)، مع الحفاظ على نسبة العرض إلى الارتفاع. لمزيد من التعامل المرن مع المدخلات والتعديلات التلقائية، تحقق من قسم تدريب النموذج.