انتقل إلى المحتوى

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

مقدمة

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

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

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

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

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

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

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

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

يمكنك تغيير حجم صورك باستخدام الطرق التالية:

  • استيفاء ثنائي الخط: يعمل على تنعيم قيم البكسل من خلال أخذ متوسط مرجح لأقرب أربع قيم بكسل.
  • أقرب جار: يعيّن أقرب قيمة بكسل دون حساب المتوسط، مما يؤدي إلى صورة ممتلئة ولكن بحساب أسرع.

لجعل تغيير الحجم مهمة أبسط ، يمكنك استخدام الأدوات التالية:

  • OpenCV: مكتبة شهيرة للرؤية الحاسوبية ذات وظائف واسعة النطاق لمعالجة الصور.
  • PIL (وسادة): مكتبة تصوير Python لفتح ملفات الصور ومعالجتها وحفظها.

فيما يتعلق بـ YOLOv8 ، تسمح معلمة "imgsz" أثناء تدريب النموذج بأحجام إدخال مرنة. عند ضبطه على حجم معين، مثل 640، سيعمل النموذج على تغيير حجم صور المدخلات بحيث يكون أكبر بُعد لها هو 640 بكسل مع الحفاظ على نسبة العرض إلى الارتفاع الأصلية.

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

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

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

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

فيما يتعلق ب YOLOv8، يتم التعامل مع التطبيع بسلاسة كجزء من خط أنابيب المعالجة المسبقة أثناء تدريب النموذج. YOLOv8 ينفذ تلقائيا العديد من خطوات المعالجة المسبقة ، بما في ذلك التحويل إلى RGB ، وقياس قيم البكسل إلى النطاق [0 ، 1] ، والتطبيع باستخدام قيم المتوسط والانحراف المعياري المحددة مسبقا.

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

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

ضع في اعتبارك ما يلي عند تقسيم مجموعة البيانات الخاصة بك:

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

ما هي زيادة البيانات؟

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

فيما يلي بعض الفوائد الأخرى لزيادة البيانات:

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

طرق زيادة البيانات

تتضمن تقنيات التعزيز الشائعة التقليب والتدوير والقياس وتعديلات الألوان. العديد من المكتبات ، مثل Albumentations و Imgaug و TensorFlowImageDataGenerator ، يمكن أن تولد هذه التعزيزات.

نظرة عامة على تعزيزات البيانات

فيما يتعلق بـ YOLOv8 ، يمكنك زيادة مجموعة بياناتك المخصصة عن طريق تعديل ملف تكوين مجموعة البيانات، وهو ملف .yaml. في هذا الملف، يمكنك إضافة قسم زيادة مع معلمات تحدد كيف تريد زيادة بياناتك.

يدعم مستودعUltralytics YOLOv8 مجموعة واسعة من عمليات زيادة البيانات. يمكنك تطبيق تحويلات مختلفة مثل:

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

أيضا ، يمكنك ضبط شدة تقنيات التعزيز هذه من خلال معلمات محددة لإنشاء المزيد من تنوع البيانات.

دراسة حالة للمعالجة المسبقة

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

إليك ما ستبدو عليه كل خطوة من خطوات المعالجة المسبقة لهذا المشروع:

  • تغيير حجم الصور: منذ YOLOv8 يتعامل مع أحجام الإدخال المرنة ويقوم بتغيير الحجم تلقائيا ، ولا يلزم تغيير الحجم يدويا. سيقوم النموذج بضبط حجم الصورة وفقا للمعلمة "imgsz" المحددة أثناء التدريب.
  • تطبيع قيم البكسل: YOLOv8 يقوم تلقائيا بتطبيع قيم البكسل إلى نطاق من 0 إلى 1 أثناء المعالجة المسبقة ، لذلك لا يكون مطلوبا.
  • تقسيم مجموعة البيانات: قسم مجموعة البيانات إلى مجموعات تدريب (70٪) ، والتحقق من الصحة (20٪) ، واختبر (10٪) باستخدام أدوات مثل scikit-learn.
  • زيادة البيانات: قم بتعديل ملف تكوين مجموعة البيانات (.yaml) لتضمين تقنيات زيادة البيانات مثل المحاصيل العشوائية والتقلبات الأفقية وتعديلات السطوع.

تتأكد هذه الخطوات من إعداد مجموعة البيانات دون أي مشاكل محتملة وأنها جاهزة لتحليل البيانات الاستكشافية (EDA).

تقنيات تحليل البيانات الاستكشافية

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

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

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

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

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

تتضمن الأدوات الشائعة للمرئيات ما يلي:

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

استخدام Ultralytics إكسبلورر لجمعية الإمارات للغوص

للحصول على نهج أكثر تقدما ل EDA ، يمكنك استخدام Ultralytics أداة المستكشف. يوفر إمكانات قوية لاستكشاف مجموعات بيانات رؤية الكمبيوتر. من خلال دعم البحث الدلالي واستعلامات SQL والبحث عن تشابه المتجهات ، تسهل الأداة تحليل بياناتك وفهمها. مع Ultralytics Explorer ، يمكنك إنشاء تضمينات لمجموعة البيانات الخاصة بك للعثور على صور مماثلة ، وتشغيل استعلامات SQL لإجراء تحليل مفصل ، وإجراء عمليات بحث دلالية ، كل ذلك من خلال واجهة رسومية سهلة الاستخدام.

نظرة عامة على Ultralytics إكسبلورر

التواصل والتواصل

يمكن أن يمنحك إجراء مناقشات حول مشروعك مع عشاق رؤية الكمبيوتر الآخرين أفكارا جديدة من وجهات نظر مختلفة. فيما يلي بعض الطرق الرائعة للتعلم واستكشاف الأخطاء وإصلاحها والتواصل:

قنوات للتواصل مع المجتمع

  • مشكلات GitHub: قم بزيارة مستودع YOLOv8 GitHub واستخدم علامة تبويب المشكلات لطرح الأسئلة والإبلاغ عن الأخطاء واقتراح الميزات. المجتمع والمشرفون موجودون لمساعدتك في أي مشاكل تواجهها.
  • Ultralytics خادم ديسكورد: انضم إلى خادم Ultralytics Discord Server للتواصل مع المستخدمين والمطورين الآخرين والحصول على الدعم ومشاركة المعرفة وتبادل الأفكار وتبادل الأفكار.

الوثائق الرسمية

  • Ultralytics YOLOv8 التوثيق: ارجع إلى الوثائق الرسمية YOLOv8 للحصول على أدلة شاملة ورؤى قيمة حول العديد من مهام ومشاريع الرؤية الحاسوبية.

مجموعة البيانات الخاصة بك جاهزة!

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

الأسئلة المتداولة

ما أهمية المعالجة المسبقة للبيانات في مشاريع الرؤية الحاسوبية؟

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

كيف يمكنني استخدام Ultralytics YOLO لزيادة البيانات؟

لزيادة البيانات باستخدام Ultralytics YOLOv8 ، تحتاج إلى تعديل ملف تكوين مجموعة البيانات (.yaml). في هذا الملف، يمكنك تحديد تقنيات التعزيز المختلفة مثل المحاصيل العشوائية، والتقليب الأفقي، وتعديلات السطوع. يمكن القيام بذلك بفعالية باستخدام تكوينات التدريب الموضحة هنا. تساعد زيادة البيانات في إنشاء مجموعة بيانات أكثر قوة، وتقليل الإفراط في التهيئة وتحسين تعميم النموذج.

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

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

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

بالنسبة إلى YOLOv8 ، يتم التعامل مع التطبيع تلقائيًا، بما في ذلك التحويل إلى RGB وقياس قيمة البكسل. تعرف على المزيد عن ذلك في قسم تدريب النموذج.

كيف يمكنني تقسيم مجموعة البيانات المشروحة للتدريب؟

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

هل يمكنني التعامل مع أحجام الصور المختلفة في YOLOv8 دون تغيير الحجم يدويًا؟

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



تم الإنشاء 2024-05-31، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (4)، أبيرامي-فينا (1)

التعليقات