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

فهم الخطوات الرئيسية في مشروع الرؤية الحاسوبية

مقدمة

الرؤية الحاسوبية هو مجال فرعي للذكاء الاصطناعي (AI) يساعد الحواسيب على رؤية العالم وفهمه كما يفعل البشر. فهو يعالج الصور أو مقاطع الفيديو ويحللها لاستخراج المعلومات والتعرف على الأنماط واتخاذ القرارات بناءً على تلك البيانات.

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

نظرة عامة على تقنيات الرؤية الحاسوبية

Working on your own computer vision projects is a great way to understand and learn more about computer vision. However, a computer vision project can consist of many steps, and it might seem confusing at first. By the end of this guide, you'll be familiar with the steps involved in a computer vision project. We'll walk through everything from the beginning to the end of a project, explaining why each part is important. Let's get started and make your computer vision project a success!

نظرة عامة على مشروع الرؤية الحاسوبية

Before discussing the details of each step involved in a computer vision project, let's look at the overall process. If you started a computer vision project today, you'd take the following steps:

  • Your first priority would be to understand your project's requirements.
  • Then, you'd collect and accurately label the images that will help train your model.
  • Next, you'd clean your data and apply augmentation techniques to prepare it for model training.
  • After model training, you'd thoroughly test and evaluate your model to make sure it performs consistently under different conditions.
  • Finally, you'd deploy your model into the real world and update it based on new insights and feedback.

نظرة عامة على خطوات مشروع الرؤية الحاسوبية

والآن بعد أن عرفنا ما يمكن توقعه، دعنا نتعمق في الخطوات ونبدأ في تنفيذ مشروعك.

Step 1: Defining Your Project's Goals

The first step in any computer vision project is clearly defining the problem you're trying to solve. Knowing the end goal helps you start to build a solution. This is especially true when it comes to computer vision because your project's objective will directly affect which computer vision task you need to focus on.

فيما يلي بعض الأمثلة على أهداف المشروع ومهام الرؤية الحاسوبية التي يمكن استخدامها للوصول إلى هذه الأهداف:

  • الهدف: تطوير نظام يمكنه مراقبة وإدارة تدفق مختلف أنواع المركبات على الطرق السريعة، وتحسين إدارة حركة المرور والسلامة.

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

    • مهمة الرؤية الحاسوبية: يعتبر تجزئة الصور مناسباً للتصوير الطبي لأنه يوفر حدوداً دقيقة ومفصلة للأورام التي تعتبر حاسمة لتقييم الحجم والشكل وتخطيط العلاج.
  • الهدف: إنشاء نظام رقمي يصنف المستندات المختلفة (مثل الفواتير والإيصالات والأوراق القانونية) لتحسين الكفاءة التنظيمية واسترجاع المستندات.

    • مهمة الرؤية الحاسوبية: يُعد تصنيف الصور مثاليًا هنا لأنه يعالج مستندًا واحدًا في كل مرة، دون الحاجة إلى النظر في موضع المستند في الصورة. يعمل هذا النهج على تبسيط وتسريع عملية الفرز.

الخطوة 1.5: اختيار النموذج ونهج التدريب المناسبين

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

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

Choosing between training from scratch or using transfer learning affects how you prepare your data. Training from scratch requires a diverse dataset to build the model's understanding from the ground up. Transfer learning, on the other hand, allows you to use a pre-trained model and adapt it with a smaller, more specific dataset. Also, choosing a specific model to train will determine how you need to prepare your data, such as resizing images or adding annotations, according to the model's specific requirements.

التدريب من الصفر مقابل استخدام التعلّم التحويلي

Note: When choosing a model, consider its deployment to ensure compatibility and performance. For example, lightweight models are ideal for edge computing due to their efficiency on resource-constrained devices. To learn more about the key points related to defining your project, read our guide on defining your project's goals and selecting the right model.

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

  • Clearly define the problem you're trying to solve.
  • حدد الهدف النهائي لمشروعك.
  • تحديد مهمة الرؤية الحاسوبية المحددة المطلوبة (على سبيل المثال، اكتشاف الأجسام، وتصنيف الصور، وتجزئة الصور).
  • قرر ما إذا كنت تريد تدريب نموذج من الصفر أو استخدام التعلُّم التحويلي.
  • حدد النموذج المناسب لمهمتك واحتياجات النشر الخاصة بك.

الخطوة 2: جمع البيانات وشرح البيانات

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

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

However, if you choose to collect images or take your own pictures, you'll need to annotate your data. Data annotation is the process of labeling your data to impart knowledge to your model. The type of data annotation you'll work with depends on your specific computer vision technique. Here are some examples:

  • Image Classification: You'll label the entire image as a single class.
  • Object Detection: You'll draw bounding boxes around each object in the image and label each box.
  • Image Segmentation: You'll label each pixel in the image according to the object it belongs to, creating detailed object boundaries.

أنواع مختلفة من التعليقات التوضيحية للصور

Data collection and annotation can be a time-consuming manual effort. Annotation tools can help make this process easier. Here are some useful open annotation tools: LabeI Studio, CVAT, and Labelme.

الخطوة 3: زيادة البيانات وتقسيم مجموعة البيانات الخاصة بك

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

إليك كيفية تقسيم بياناتك:

  • مجموعة التدريب: وهي الجزء الأكبر من بياناتك، وعادةً ما تكون 70-80% من الإجمالي، وتُستخدم لتدريب نموذجك.
  • مجموعة التحقق من الصحة: عادةً ما تكون حوالي 10-15% من بياناتك؛ تُستخدم هذه المجموعة لضبط المعلمات الفائقة والتحقق من صحة النموذج أثناء التدريب، مما يساعد على منع الإفراط في التهيئة.
  • مجموعة الاختبار: يتم تخصيص نسبة 10-15% المتبقية من البيانات كمجموعة اختبار. تُستخدم لتقييم أداء النموذج على البيانات غير المرئية بعد اكتمال التدريب.

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

أمثلة على تعزيزات البيانات

توفر مكتبات مثل OpenCV و Albumentations و TensorFlow وظائف زيادة مرنة يمكنك استخدامها. بالإضافة إلى ذلك، تحتوي بعض المكتبات، مثل Ultralytics ، على إعدادات زيادة مدمجة مباشرةً ضمن وظيفة تدريب النموذج، مما يبسط العملية.

لفهم بياناتك بشكل أفضل، يمكنك استخدام أدوات مثل Matplotlib أو Seaborn لتصور الصور وتحليل توزيعها وخصائصها. يساعدك تصور بياناتك في تحديد الأنماط والحالات الشاذة وفعالية تقنيات التعزيز الخاصة بك. يمكنك أيضًا استخدام Ultralytics Explorer، وهي أداة لاستكشاف مجموعات بيانات الرؤية الحاسوبية باستخدام البحث الدلالي واستعلامات SQL والبحث عن التشابه المتجه.

أداة الاستكشاف Ultralytics

By properly understanding, splitting, and augmenting your data, you can develop a well-trained, validated, and tested model that performs well in real-world applications.

الخطوة 4: التدريب النموذجي

بمجرد أن تصبح مجموعة بياناتك جاهزة للتدريب، يمكنك التركيز على إعداد البيئة اللازمة وإدارة مجموعات بياناتك وتدريب نموذجك.

First, you'll need to make sure your environment is configured correctly. Typically, this includes the following:

  • تثبيت المكتبات الأساسية وأطر العمل مثل TensorFlow ، PyTorch ، أو Ultralytics.
  • إذا كنت تستخدم وحدة معالجة الرسومات، فإن تثبيت مكتبات مثل CUDA و cuDNN سيساعد في تمكين تسريع وحدة معالجة الرسومات وتسريع عملية التدريب.

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

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

من المهم أن تضع في اعتبارك أن الإدارة السليمة لمجموعة البيانات أمر حيوي للتدريب الفعال. استخدم التحكم في الإصدار لمجموعات البيانات لتتبع التغييرات وضمان إمكانية التكرار. يمكن أن تساعد أدوات مثل DVC (التحكم في إصدار البيانات) في إدارة مجموعات البيانات الكبيرة.

الخطوة 5: تقييم النموذج وصقل النموذج

It's important to assess your model's performance using various metrics and refine it to improve accuracy. Evaluating helps identify areas where the model excels and where it may need improvement. Fine-tuning ensures the model is optimized for the best possible performance.

  • Performance Metrics: Use metrics like accuracy, precision, recall, and F1-score to evaluate your model's performance. These metrics provide insights into how well your model is making predictions.
  • ضبط البارامتر الفائق: ضبط المعلمات الفائقة لتحسين أداء النموذج. يمكن أن تساعد تقنيات مثل البحث الشبكي أو البحث العشوائي في العثور على أفضل قيم للمعاملات الفائقة.

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

الخطوة 6: اختبار النموذج

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

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

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

الخطوة 7: نشر النموذج

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

  • إعداد البيئة: قم بتهيئة البنية التحتية اللازمة لخيار النشر الذي اخترته، سواء كان مستنداً إلى السحابة (AWS أو Google Cloud أو Azure) أو مستنداً إلى الحافة (الأجهزة المحلية، إنترنت الأشياء).

  • تصدير النموذج: قم بتصدير النموذج الخاص بك إلى التنسيق المناسب (على سبيل المثال، ONNX ، TensorRT ، CoreML لـ YOLOv8) لضمان التوافق مع منصة النشر الخاصة بك.

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

الخطوة 8: المراقبة والصيانة والتوثيق

Once your model is deployed, it's important to continuously monitor its performance, maintain it to handle any issues, and document the entire process for future reference and improvements.

يمكن لأدوات المراقبة أن تساعدك على تتبع مؤشرات الأداء الرئيسية (KPIs) واكتشاف الحالات الشاذة أو انخفاض الدقة. من خلال مراقبة النموذج، يمكنك أن تكون على دراية بانحراف النموذج، حيث ينخفض أداء النموذج بمرور الوقت بسبب التغييرات في بيانات الإدخال. قم بإعادة تدريب النموذج بشكل دوري باستخدام بيانات محدثة للحفاظ على الدقة والملاءمة.

مراقبة النماذج

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

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

فيما يلي بعض الأسئلة الشائعة التي قد تظهر أثناء مشروع رؤية الكمبيوتر:

  • السؤال 1: كيف تتغير الخطوات إذا كان لديّ بالفعل مجموعة بيانات أو بيانات عند بدء مشروع رؤية حاسوبية؟

    • A1: Starting with a pre-existing dataset or data affects the initial steps of your project. In Step 1, along with deciding the computer vision task and model, you'll also need to explore your dataset thoroughly. Understanding its quality, variety, and limitations will guide your choice of model and training approach. Your approach should align closely with the data's characteristics for more effective outcomes. Depending on your data or dataset, you may be able to skip Step 2 as well.
  • Q2: I'm not sure what computer vision project to start my AI learning journey with.

  • Q3: I don't want to train a model. I just want to try running a model on an image. How can I do that?

    • ج3: يمكنك استخدام نموذج مُدرَّب مسبقًا لتشغيل تنبؤات على صورة ما دون تدريب نموذج جديد. اطلع على صفحة مستندات التنبؤYOLOv8 للحصول على إرشادات حول كيفية استخدام نموذج YOLOv8 المدرب مسبقًا لإجراء تنبؤات على صورك.
  • س4: أين يمكنني العثور على المزيد من المقالات والتحديثات التفصيلية حول تطبيقات الرؤية الحاسوبية و YOLOv8 ؟

    • ج4: لمزيد من المقالات المفصلة والتحديثات والرؤى حول تطبيقات الرؤية الحاسوبية و YOLOv8 ، قم بزيارة صفحة مدونةUltralytics . تغطي المدونة مجموعة واسعة من الموضوعات وتوفر معلومات قيّمة لمساعدتك على البقاء على اطلاع دائم وتحسين مشاريعك.

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

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

موارد المجتمع

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

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

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

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

ابدأ مشروع رؤية الكمبيوتر الخاص بك اليوم!

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



Created 2024-05-29, Updated 2024-06-10
Authors: glenn-jocher (4), abirami-vina (2)

التعليقات