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