فهم الخطوات الأساسية في مشروع للرؤية الحاسوبية#
يعني بناء مشروع للرؤية الحاسوبية المرور عبر سلسلة واضحة من المراحل: تحديد أهدافك، وجمع البيانات ووسمها، وتدريب نموذج وتقييمه، ثم نشره وصيانته في بيئة الإنتاج. يستعرض هذا الدليل كل خطوة بالترتيب ويشرح سبب أهميتها، لتتمكن من التخطيط لمشروعك الخاص وتشغيله بثقة.
الرؤية الحاسوبية هي مجال فرعي من الذكاء الاصطناعي (AI) يساعد الحواسيب على رؤية العالم وفهمه كما يفعل البشر. وهي تعالج الصور أو مقاطع الفيديو وتحللها لاستخراج المعلومات، والتعرف على الأنماط، واتخاذ القرارات استنادًا إلى تلك البيانات.
يمكن تطبيق تقنيات الرؤية الحاسوبية مثل اكتشاف الأجسام، وتصنيف الصور، وتجزئة المثيلات في مختلف الصناعات، بدءًا من القيادة الذاتية ووصولًا إلى التصوير الطبي، لاستخلاص رؤى قيّمة.
نظرة عامة على مشروع للرؤية الحاسوبية#
قبل مناقشة تفاصيل كل خطوة في مشروع للرؤية الحاسوبية، لنلقِ نظرة على العملية ككل. إذا بدأت مشروعًا للرؤية الحاسوبية اليوم، فستتخذ الخطوات التالية:
- أولويتك الأولى هي فهم متطلبات مشروعك.
- بعد ذلك، تجمع الصور وتوسمها بدقة لتساعد في تدريب نموذجك.
- ثم تنظف بياناتك وتُجري زيادة عليها لإعدادها لتدريب النموذج.
- بعد التدريب، تقيّم نموذجك وتختبره بدقة للتأكد من أدائه باستمرار في ظروف مختلفة.
- أخيرًا، تنشر نموذجك في العالم الحقيقي وتراقبه وتصونه استنادًا إلى الرؤى والملاحظات الجديدة.
والآن بعد أن عرفنا ما يمكن توقعه، لننتقل مباشرة إلى الخطوات وندفع مشروعك إلى الأمام.
الخطوة 1: تحديد أهداف مشروعك#
تتمثل الخطوة الأولى في أي مشروع للرؤية الحاسوبية في تحديد المشكلة التي تحاول حلها بوضوح. يساعدك معرفة الهدف النهائي على البدء في بناء حل. وينطبق ذلك خصوصًا على الرؤية الحاسوبية، لأن هدف مشروعك سيؤثر مباشرةً في مهمة الرؤية الحاسوبية التي تحتاج إلى التركيز عليها.
فيما يلي بعض الأمثلة على أهداف المشاريع ومهام الرؤية الحاسوبية التي يمكن استخدامها لتحقيق هذه الأهداف:
-
الهدف: تطوير نظام يمكنه مراقبة تدفق أنواع مختلفة من المركبات على الطرق السريعة وإدارته، بما يحسن إدارة حركة المرور والسلامة.
- مهمة الرؤية الحاسوبية: يُعد اكتشاف الأجسام مثاليًا لمراقبة حركة المرور لأنه يحدد مواقع مركبات متعددة ويتعرف عليها بكفاءة. وهو أقل تطلبًا من الناحية الحسابية من تجزئة الصور، التي توفر تفاصيل غير ضرورية لهذه المهمة، مما يضمن تحليلًا أسرع وفي الوقت الفعلي.
-
الهدف: تطوير أداة تساعد اختصاصيي الأشعة على توفير حدود دقيقة للأورام على مستوى البكسل في فحوصات التصوير الطبي.
- مهمة الرؤية الحاسوبية: تُعد تجزئة الصور مناسبة للتصوير الطبي لأنها توفر حدودًا دقيقة ومفصلة للأورام، وهي حدود ضرورية لتقييم الحجم والشكل والتخطيط للعلاج.
-
الهدف: إنشاء نظام رقمي يصنف مستندات متنوعة (مثل الفواتير والإيصالات والمستندات القانونية) لتحسين الكفاءة التنظيمية واسترجاع المستندات.
- مهمة الرؤية الحاسوبية: يُعد تصنيف الصور مثاليًا هنا لأنه يتعامل مع مستند واحد في كل مرة، من دون الحاجة إلى مراعاة موضع المستند في الصورة. ويسهم هذا النهج في تبسيط عملية الفرز وتسريعها.
اختيار النموذج المناسب ونهج التدريب#
بعد فهم هدف المشروع ومهام الرؤية الحاسوبية المناسبة، يُعد اختيار النموذج المناسب ونهج التدريب جزءًا أساسيًا من تحديد هدف المشروع.
اعتمادًا على الهدف، قد تختار النموذج أولًا أو بعد معرفة البيانات التي يمكنك جمعها في الخطوة 2. على سبيل المثال، لنفترض أن مشروعك يعتمد بدرجة كبيرة على توافر أنواع محددة من البيانات. في هذه الحالة، قد يكون من العملي جمع البيانات وتحليلها أولًا قبل اختيار نموذج. ومن ناحية أخرى، إذا كان لديك فهم واضح لمتطلبات النموذج، فيمكنك اختيار النموذج أولًا ثم جمع البيانات التي تتوافق مع تلك المواصفات.
يؤثر الاختيار بين التدريب من الصفر أو استخدام التعلم بالنقل في طريقة إعداد بياناتك. يتطلب التدريب من الصفر مجموعة بيانات متنوعة لبناء فهم النموذج من الأساس. أما التعلم بالنقل، فيتيح لك استخدام نموذج مدرَّب مسبقًا وتكييفه باستخدام مجموعة بيانات أصغر وأكثر تخصصًا. كذلك، سيحدد اختيار نموذج محدد لتدريبه كيفية إعداد بياناتك، مثل تغيير حجم الصور أو إضافة الوسوم، وفقًا لمتطلبات النموذج الخاصة.
ضع هدف نشر النموذج في اعتبارك لضمان التوافق والأداء. فعلى سبيل المثال، تُعد النماذج خفيفة الوزن مثالية لـالحوسبة الطرفية بفضل كفاءتها على الأجهزة محدودة الموارد.
لمعرفة المزيد، اقرأ دليلنا حول تحديد أهداف مشروعك واختيار النموذج المناسب.
قبل البدء في العمل التطبيقي على مشروع للرؤية الحاسوبية، من المهم أن يكون لديك فهم واضح لهذه التفاصيل. تحقق مرة أخرى من مراعاتك للنقاط التالية قبل الانتقال إلى الخطوة 2:
- حدّد المشكلة التي تحاول حلها بوضوح.
- حدّد الهدف النهائي لمشروعك.
- حدّد مهمة الرؤية الحاسوبية المطلوبة (مثل اكتشاف الأجسام، وتصنيف الصور، وتجزئة الصور).
- قرّر ما إذا كنت ستدرّب نموذجًا من الصفر أو ستستخدم التعلم بالنقل.
- اختر النموذج المناسب لمهمتك واحتياجات النشر.
الخطوة 2: جمع البيانات ووسمها#
تعتمد جودة نماذج الرؤية الحاسوبية على جودة مجموعة بياناتك. يمكنك جمع الصور من الإنترنت، أو التقاط صورك الخاصة، أو استخدام مجموعات بيانات موجودة مسبقًا. فيما يلي بعض الموارد الممتازة لتنزيل مجموعات بيانات عالية الجودة: محرك بحث مجموعات بيانات Google، ومستودع UC Irvine للتعلم الآلي، ومجموعات بيانات Kaggle.
توفر بعض المكتبات، مثل Ultralytics، دعمًا مدمجًا لمجموعات بيانات متنوعة، مما يسهل البدء باستخدام بيانات عالية الجودة. وغالبًا ما تتضمن هذه المكتبات أدوات لاستخدام مجموعات البيانات الشائعة بسلاسة، ما قد يوفر كثيرًا من الوقت والجهد في المراحل الأولى من مشروعك.
ومع ذلك، إذا اخترت جمع الصور أو التقاط صورك الخاصة، فستحتاج إلى وسم بياناتك. وسم البيانات هو عملية وضع تسميات على بياناتك لإكساب نموذجك المعرفة. ويعتمد نوع وسم البيانات الذي ستعمل عليه على تقنية الرؤية الحاسوبية المحددة لديك. فيما يلي بعض الأمثلة:
- تصنيف الصور: ستضع تسمية للصورة بأكملها باعتبارها فئة واحدة.
- اكتشاف الأجسام: سترسم مربعات إحاطة حول كل جسم في الصورة وتضع تسمية لكل مربع.
- تجزئة الصور: ستضع تسمية لكل بكسل في الصورة وفقًا للجسم الذي ينتمي إليه، لإنشاء حدود مفصلة للأجسام.
قد يتطلب جمع البيانات ووسمها جهدًا يدويًا يستغرق وقتًا طويلًا. وتجعل أداة وسم مخصصة العملية أسرع: توفر Ultralytics Platform محرر وسم مدمجًا مع وسم ذكي مدعوم بـ SAM لبيانات الاكتشاف والتجزئة وOBB، مع حفظ الوسوم مباشرةً بتنسيق YOLO.
الخطوة 3: زيادة البيانات وتقسيم مجموعة البيانات#
بعد جمع بيانات الصور ووسمها، من المهم أولًا تقسيم مجموعة بياناتك إلى مجموعات التدريب والتحقق والاختبار قبل إجراء زيادة البيانات. ويُعد تقسيم مجموعة البيانات قبل الزيادة أمرًا بالغ الأهمية لاختبار نموذجك والتحقق منه باستخدام بيانات أصلية غير معدلة. ويساعد ذلك على تقييم مدى تعميم النموذج بدقة على بيانات جديدة لم يرها من قبل.
إليك كيفية تقسيم بياناتك:
- مجموعة التدريب: هي الجزء الأكبر من بياناتك، وعادةً ما يمثل 70-80% من الإجمالي، وتُستخدم لتدريب نموذجك.
- مجموعة التحقق: تمثل عادةً نحو 10-15% من بياناتك؛ وتُستخدم لضبط المعلمات الفائقة والتحقق من النموذج أثناء التدريب، مما يساعد على منع فرط التكيّف.
- مجموعة الاختبار: تمثل نسبة 10-15% المتبقية من بياناتك، وتُخصص كمجموعة اختبار. وتُستخدم لتقييم أداء النموذج على بيانات لم يرها من قبل بعد اكتمال التدريب.
بعد تقسيم بياناتك، يمكنك إجراء زيادة للبيانات من خلال تطبيق تحويلات مثل تدوير الصور وتغيير حجمها وقلبها لزيادة حجم مجموعة بياناتك اصطناعيًا. وتجعل زيادة البيانات نموذجك أكثر متانة تجاه التباينات وتحسن أداءه على الصور التي لم يرها من قبل.
توفر مكتبات مثل OpenCV وAlbumentations وTensorFlow دوال مرنة لزيادة البيانات يمكنك استخدامها. بالإضافة إلى ذلك، تتضمن بعض المكتبات، مثل Ultralytics، إعدادات مدمجة لزيادة البيانات مباشرةً ضمن دالة تدريب النموذج، مما يبسط العملية.
لفهم بياناتك بصورة أفضل، يمكنك استخدام أدوات مثل Matplotlib أو Seaborn لتصور الصور وتحليل توزيعها وخصائصها. ويساعد تصور بياناتك على تحديد الأنماط والشذوذ وفاعلية تقنيات زيادة البيانات. ويمكن لعلامة التبويب Charts في Ultralytics Platform إظهار العديد من هذه الرؤى دون كتابة أي كود، من خلال إنشاء توزيعات التقسيم، وأعداد الفئات، والمدرجات التكرارية لأبعاد الصور، والخرائط الحرارية لمواضع الوسوم تلقائيًا لكل مجموعة بيانات محمّلة.
من خلال فهم بياناتك وتقسيمها وزيادتها بصورة سليمة، يمكنك تطوير نموذج مدرَّب ومتحقق منه ومختبر جيدًا، ويؤدي أداءً قويًا في التطبيقات الواقعية.
الخطوة 4: تدريب النموذج#
بمجرد أن تصبح مجموعة بياناتك جاهزة للتدريب، يمكنك التركيز على إعداد البيئة اللازمة، وإدارة مجموعات البيانات، وتدريب نموذجك.
أولًا، ستحتاج إلى التأكد من تهيئة بيئتك بصورة صحيحة. ويتضمن ذلك عادةً ما يلي:
- تثبيت المكتبات وأطر العمل الأساسية مثل TensorFlow وPyTorch أو Ultralytics.
- إذا كنت تستخدم GPU، فإن تثبيت مكتبات مثل CUDA وcuDNN سيساعد على تمكين تسريع GPU وتسريع عملية التدريب.
بعد ذلك، يمكنك تحميل مجموعتي بيانات التدريب والتحقق إلى بيئتك. طبّع البيانات وعالجها مسبقًا من خلال تغيير الحجم أو تحويل التنسيق أو زيادة البيانات. بعد اختيار النموذج، هيّئ الطبقات وحدد المعلمات الفائقة. جمّع النموذج من خلال إعداد دالة الخسارة والمُحسِّن ومقاييس الأداء.
تبسط مكتبات مثل Ultralytics عملية التدريب. يمكنك بدء التدريب عبر تمرير البيانات إلى النموذج باستخدام قدر ضئيل من الكود. وتتولى هذه المكتبات تلقائيًا ضبط الأوزان والانتشار العكسي والتحقق. كما توفر أدوات لمراقبة التقدم وضبط المعلمات الفائقة بسهولة. وبعد التدريب، احفظ النموذج وأوزانه باستخدام بضعة أوامر.
من المهم أن تضع في اعتبارك أن إدارة مجموعة البيانات بصورة صحيحة أمر حيوي للتدريب الفعال. استخدم التحكم في إصدارات مجموعات البيانات لتتبع التغييرات وضمان قابلية إعادة الإنتاج. ويمكن أن تساعد أدوات مثل DVC (التحكم في إصدارات البيانات) في إدارة مجموعات البيانات الكبيرة.
الخطوة 5: تقييم النموذج وضبطه الدقيق#
من المهم تقييم أداء نموذجك باستخدام مقاييس متنوعة وتحسينه لرفع الدقة. ويساعد التقييم على تحديد المجالات التي يتفوق فيها النموذج وتلك التي قد تحتاج إلى تحسين. ويضمن الضبط الدقيق تحسين النموذج لتحقيق أفضل أداء ممكن.
- مقاييس الأداء: استخدم مقاييس مثل الدقة، والإحكام، والاستدعاء، ودرجة F1 لتقييم أداء نموذجك. توفر هذه المقاييس رؤى حول مدى جودة تنبؤات نموذجك.
- ضبط المعلمات الفائقة: اضبط المعلمات الفائقة لتحسين أداء النموذج. ويمكن أن تساعد تقنيات مثل البحث الشبكي أو البحث العشوائي في العثور على أفضل قيم للمعلمات الفائقة.
- الضبط الدقيق: أجرِ تعديلات صغيرة على بنية النموذج أو عملية التدريب لتحسين الأداء. وقد يتضمن ذلك تعديل معدلات التعلم أو أحجام الدُفعات أو معلمات النموذج الأخرى.
لفهم تقنيات تقييم النموذج والضبط الدقيق بصورة أعمق، راجع دليلنا حول رؤى تقييم النموذج.
الخطوة 6: اختبار النموذج#
يؤكد اختبار النموذج أن نموذجك يؤدي أداءً جيدًا على بيانات لم يرها مطلقًا، مما يتحقق من جاهزيته للنشر. ويتمثل الفرق بين اختبار النموذج وتقييمه في أن الاختبار يركز على التحقق من أداء النموذج النهائي بدلًا من تحسينه تكراريًا.
من المهم اختبار أي مشكلات شائعة قد تنشأ وتصحيحها بدقة. اختبر نموذجك على مجموعة اختبار منفصلة لم تُستخدم أثناء التدريب أو التحقق. وينبغي أن تمثل مجموعة البيانات هذه سيناريوهات العالم الحقيقي لضمان اتساق أداء النموذج وموثوقيته.
عالج أيضًا المشكلات الشائعة مثل فرط التكيّف و[نقص التكيّف](https://ultralytics-translation-0.invalid وتسرب البيانات. استخدم تقنيات مثل التحقق المتقاطع واكتشاف الشذوذ لتحديد هذه المشكلات وإصلاحها. ولاستراتيجيات اختبار شاملة، راجع دليل اختبار النموذج.
الخطوة 7: نشر النموذج#
بعد اختبار نموذجك بدقة، يحين وقت نشره. يتضمن نشر النموذج إتاحة نموذجك للاستخدام في بيئة إنتاج. فيما يلي خطوات نشر نموذج للرؤية الحاسوبية:
- إعداد البيئة: هيّئ البنية التحتية اللازمة لخيار النشر الذي اخترته، سواء كان قائمًا على السحابة (AWS وGoogle Cloud وAzure) أو قائمًا على الحافة (الأجهزة المحلية وإنترنت الأشياء).
- تصدير النموذج: صدّر نموذجك إلى التنسيق المناسب (مثل ONNX أو TensorRT أو CoreML لـ YOLO26) لضمان التوافق مع منصة النشر.
- نشر النموذج: انشر النموذج من خلال إعداد واجهات API أو نقاط نهاية ودمجه مع تطبيقك.
- ضمان قابلية التوسع: طبّق موازنات تحميل ومجموعات توسع تلقائي وأدوات مراقبة لإدارة الموارد والتعامل مع تزايد البيانات وطلبات المستخدمين.
لمزيد من الإرشادات التفصيلية حول استراتيجيات النشر وأفضل الممارسات، راجع دليل ممارسات نشر النموذج. كما توفر Ultralytics Platform نقاط نهاية نشر مُدارة مع توسع تلقائي عبر 42 منطقة عالمية، وتتولى إعداد البنية التحتية تلقائيًا.
الخطوة 8: المراقبة والصيانة والتوثيق#
بعد نشر نموذجك، من المهم مراقبة أدائه باستمرار، وصيانته لمعالجة أي مشكلات، وتوثيق العملية بأكملها للرجوع إليها وتحسينها مستقبلًا.
يمكن لأدوات المراقبة مساعدتك في تتبع مؤشرات الأداء الرئيسية (KPIs) واكتشاف الشذوذ أو انخفاضات الدقة. ومن خلال مراقبة النموذج، يمكنك رصد انجراف النموذج، حيث ينخفض أداء النموذج بمرور الوقت بسبب التغييرات في بيانات الإدخال. أعد تدريب النموذج دوريًا باستخدام بيانات محدثة للحفاظ على دقته وملاءمته.
إلى جانب المراقبة والصيانة، يُعد التوثيق أمرًا أساسيًا أيضًا. وثّق العملية بأكملها بدقة، بما في ذلك بنية النموذج، وإجراءات التدريب، والمعلمات الفائقة، وخطوات المعالجة المسبقة للبيانات، وأي تغييرات أُجريت أثناء النشر والصيانة. يضمن التوثيق الجيد قابلية إعادة الإنتاج ويسهّل التحديثات المستقبلية أو استكشاف الأخطاء وإصلاحها. ومن خلال مراقبة نموذجك وصيانته وتوثيقه بفاعلية، يمكنك ضمان بقائه دقيقًا وموثوقًا وسهل الإدارة طوال دورة حياته.
التفاعل مع المجتمع#
يمكن أن يساعدك التواصل مع مجتمع من المهتمين بالرؤية الحاسوبية على معالجة أي مشكلات تواجهها أثناء العمل على مشروعك بثقة. فيما يلي بعض الطرق للتعلم واستكشاف الأخطاء وإصلاحها وبناء العلاقات بفاعلية.
موارد المجتمع#
- مشكلات GitHub: تفقّد مستودع YOLO26 على GitHub واستخدم علامة تبويب Issues لطرح الأسئلة والإبلاغ عن الأخطاء واقتراح ميزات جديدة. يوجد المجتمع النشط والمشرفون للمساعدة في معالجة مشكلات محددة.
- خادم Ultralytics على Discord: انضم إلى خادم Ultralytics على Discord للتفاعل مع المستخدمين والمطورين الآخرين، والحصول على الدعم، ومشاركة الرؤى.
التوثيق الرسمي#
- توثيق Ultralytics YOLO26: استكشف التوثيق الرسمي لـ YOLO26 للاطلاع على أدلة تفصيلية تتضمن نصائح مفيدة حول مهام ومشاريع الرؤية الحاسوبية المختلفة.
سيساعدك استخدام هذه الموارد على التغلب على التحديات والبقاء على اطلاع بأحدث الاتجاهات وأفضل الممارسات في مجتمع الرؤية الحاسوبية.
الخطوات التالية#
أصبح لديك الآن خارطة طريق لكل مرحلة من مراحل مشروع الرؤية الحاسوبية، بدءًا من تحديد الأهداف ووصولًا إلى مراقبة نموذج منشور. طبّقها عمليًا من خلال تدريب نموذج YOLO الأول، أو تعمق في أي مرحلة منفردة عبر الأدلة المرتبطة أعلاه. ولتشغيل المسار الكامل دون كتابة كود، استكشف Ultralytics Platform.
الأسئلة الشائعة#
يعتمد اختيار مهمة الرؤية الحاسوبية المناسبة على الهدف النهائي لمشروعك. فعلى سبيل المثال، إذا أردت مراقبة حركة المرور، فإن اكتشاف الأجسام مناسب لأنه يستطيع تحديد مواقع أنواع متعددة من المركبات والتعرف عليها في الوقت الفعلي. أما في التصوير الطبي، فتُعد تجزئة الصور مثالية لتوفير حدود مفصلة للأورام، مما يساعد في التشخيص والتخطيط للعلاج. تعرّف على المزيد حول مهام محددة مثل اكتشاف الأجسام، وتجزئة المثيلات، والتجزئة الدلالية، وتصنيف الصور.
يُعد وسم البيانات ضروريًا لتعليم نموذجك التعرف على الأنماط. ويختلف نوع الوسم باختلاف المهمة:
- تصنيف الصور: تُوسم الصورة بأكملها باعتبارها فئة واحدة.
- اكتشاف الأجسام: تُرسم مربعات إحاطة حول الأجسام.
- تجزئة الصور: يُوسم كل بكسل وفقًا للجسم الذي ينتمي إليه.
يمكن أن يساعد محرر الوسم المدمج في Ultralytics Platform في هذه العملية. ولمزيد من التفاصيل، راجع دليل جمع البيانات ووسمها.
يساعد تقسيم مجموعة البيانات قبل زيادة البيانات على التحقق من أداء النموذج باستخدام بيانات أصلية وغير معدَّلة. اتبع الخطوات التالية:
- مجموعة التدريب: تمثل 70-80% من بياناتك.
- مجموعة التحقق: تمثل 10-15% لضبط المعلمات الفائقة.
- مجموعة الاختبار: النسبة المتبقية، وهي 10-15%، للتقييم النهائي.
بعد التقسيم، طبّق تقنيات زيادة البيانات مثل التدوير وتغيير الحجم والقلب لزيادة تنوع مجموعة البيانات. يمكن لمكتبات مثل Albumentations وOpenCV المساعدة في ذلك. كما توفر Ultralytics إعدادات مضمّنة لزيادة البيانات لتسهيل العملية.
صدِّر النموذج المدرَّب باستخدام الطريقة
export، مع اختيار تنسيق يتوافق مع هدف النشر لديك. تدعم Ultralytics تنسيقات متعددة، بما في ذلك ONNX وTensorRT وCoreML. لتصدير نموذج YOLO26، اتبع الخطوات التالية:- استخدم الطريقة
exportمع معلمة التنسيق المطلوبة. - تأكد من توافق النموذج المُصدَّر مع مواصفات بيئة النشر لديك (مثل الأجهزة الطرفية أو السحابة).
لمزيد من المعلومات، راجع دليل تصدير النماذج.
- استخدم الطريقة
تُعد المراقبة والصيانة المستمرتان ضروريتين لنجاح النموذج على المدى الطويل. طبّق أدوات لتتبع مؤشرات الأداء الرئيسية (KPIs) واكتشاف الحالات الشاذة. أعد تدريب النموذج بانتظام باستخدام بيانات محدَّثة لمواجهة انجراف النموذج. وثِّق العملية بأكملها، بما في ذلك بنية النموذج والمعلمات الفائقة والتغييرات، لضمان قابلية إعادة الإنتاج وتسهيل التحديثات المستقبلية. تعرّف على المزيد في دليل المراقبة والصيانة.