رطم تفريغ Yolov8: تحفة رؤية الكمبيوتر الفيروسية من Ultralytics - Unite.AI
اتصل بنا للحصول على مزيد من المعلومات

الذكاء الاصطناعي

تفريغ Yolov8: تحفة رؤية الكمبيوتر الفيروسية من Ultralytics

mm
تحديث on
صورة مميزة للمدونة لـ YOLOv8

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

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

وأوضح يولوف8

YOLOv8-Ultralytics

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

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

من الإصدار 1 إلى الإصدار 8: تاريخ موجز

يولوف 1: تم إصدار الإصدار الأول من YOLO في عام 2015 كنموذج للكشف عن الكائنات بمرحلة واحدة. تضمنت الميزات النموذج الذي يقرأ الصورة بأكملها للتنبؤ بكل مربع محيط في تقييم واحد.

يولوف 2: الإصدار التالي، الذي تم إصداره في عام 2016، قدم أعلى أداء وفقًا للمعايير مثل PASCAL VOC وCOCO ويعمل بسرعات عالية (67-40 إطارًا في الثانية). ويمكنه أيضًا الكشف بدقة عن أكثر من 9000 فئة من الكائنات، حتى مع وجود بيانات كشف محددة محدودة.

يولوف 3: تم إطلاق Yolov2018 في عام 3، وقد قدم ميزات جديدة مثل شبكة أساسية أكثر فعالية، ومرتكزات متعددة، وتجميع الهرم المكاني لاستخراج الميزات متعددة النطاق.

يولوف 4: مع إصدار Yolov4 في عام 2020، تم تقديم تقنية زيادة بيانات الفسيفساء الجديدة، والتي قدمت قدرات تدريبية محسنة.

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

يولوف 6: مع إصدار Yolov6 في عام 2022، أصبح النموذج مفتوح المصدر لتعزيز التنمية التي يقودها المجتمع. تم تقديم ميزات جديدة، مثل استراتيجية التقطير الذاتي الجديدة واستراتيجية التدريب بمساعدة المرساة (AAT).

يولوف 7: تم إصداره في نفس العام، 2022، حيث قام Yolov7 بتحسين النموذج الحالي من حيث السرعة والدقة وكان أسرع نموذج للكشف عن الأشياء في وقت الإصدار.

ما الذي يجعل YOLOv8 متميزًا؟

صورة توضح الكشف عن المركبات

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

ولكن إلى جانب ذلك، يأتي YOLOv8 مزودًا بإمكانيات قوية، والتي تشمل:

  1. بنية قابلة للتخصيص: يوفر YOLOv8 بنية مرنة يمكن للمطورين تخصيصها لتناسب متطلباتهم المحددة.
  2. التدريب التكيفي: تعمل قدرات التدريب التكيفية الجديدة لـ YOLOv8، مثل موازنة وظيفة الخسارة أثناء التدريب والتقنيات، على تحسين معدل التعلم. لنأخذ مثال Adam، الذي يساهم في تحسين الدقة والتقارب بشكل أسرع والأداء الأفضل للنموذج بشكل عام.
  3. تحليل الصور المتقدم: من خلال إمكانيات التجزئة الدلالية والتنبؤ بالفئات الجديدة، يمكن للنموذج اكتشاف الأنشطة واللون والملمس وحتى العلاقات بين الكائنات إلى جانب وظيفة الكشف عن الكائنات الأساسية.
  4. زيادة البيانات: تساعد تقنيات زيادة البيانات الجديدة في معالجة جوانب اختلافات الصور مثل الدقة المنخفضة والانسداد وما إلى ذلك، في مواقف الكشف عن الكائنات في العالم الحقيقي حيث لا تكون الظروف مثالية.
  5. دعم العمود الفقري: يقدم YOLOv8 دعمًا للعديد من الشبكات الأساسية، بما في ذلك CSPDarknet (العمود الفقري الافتراضي)، وEfficientNet (العمود الفقري خفيف الوزن)، وResNet (العمود الفقري الكلاسيكي)، والتي يمكن للمستخدمين الاختيار من بينها.

يمكن للمستخدمين أيضًا تخصيص العمود الفقري عن طريق استبدال CSPDarknet53 بأي بنية CNN أخرى متوافقة مع أبعاد الإدخال والإخراج الخاصة بـ YOLOv8.

التدريب والضبط الدقيق YOLOv8

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

دعنا نستكشف كيف يمكنك تنفيذ هاتين العمليتين.

ضبط YOLOV8 باستخدام مجموعة بيانات مخصصة

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

يمكن ضبط نموذج YOLOv8 باستخدام كود Python الخاص بك أو من خلال واجهة سطر الأوامر (CLI).

1. ضبط نموذج YOLOv8 باستخدام بايثون

ابدأ باستيراد حزمة Ultralytics إلى التعليمات البرمجية الخاصة بك. ثم قم بتحميل النموذج المخصص الذي تريد تدريبه باستخدام الكود التالي:

أولاً، قم بتثبيت مكتبة Ultralytics من التوزيعة الرسمية.

# قم بتثبيت حزمة Ultralytics من PyPI
نقطة تثبيت Ultralytics

بعد ذلك، قم بتنفيذ التعليمات البرمجية التالية داخل ملف بايثون:

من استيراد Ultralytics YOLO

# تحميل نموذج
model = YOLO('yolov8n.pt')  # تحميل نموذج تم تدريبه مسبقًا (موصى به للتدريب)

# تدريب النموذج على مجموعة بيانات MS COCO
النتائج = model.train(data='coco128.yaml', epochs=100, imgsz=640)

افتراضيًا، سيقوم الكود بتدريب النموذج باستخدام مجموعة بيانات COCO لمدة 100 حقبة. ومع ذلك، يمكنك أيضًا تكوين هذه الإعدادات لتعيين الحجم والفترة وما إلى ذلك في ملف YAML.

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

2. قم بضبط نموذج YOLOv8 باستخدام CLI

لتدريب نموذج باستخدام واجهة سطر الأوامر (CLI)، قم بتشغيل البرنامج النصي التالي في سطر الأوامر:

نموذج قطار yolo=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

يقوم أمر CLI بتحميل نموذج `yolov8n.pt` الذي تم تدريبه مسبقًا وتدريبه بشكل أكبر على مجموعة البيانات المحددة في ملف `coco8.yaml`.

إنشاء النموذج الخاص بك باستخدام YOLOv8

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

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

تنفيذ كلتا الطريقتين يظل كما هو. لتدريب نموذج YOLO من البداية، قم بتشغيل كود Python التالي:

من استيراد Ultralytics YOLO

# تحميل نموذج
model = YOLO('yolov8n.yaml')  # أنشئ نموذجًا جديدًا من YAML

# تدريب النموذج
النتائج = model.train(data='coco128.yaml', epochs=100, imgsz=640)

لاحظ أننا هذه المرة قمنا بتحميل ملف ".yaml" بدلاً من ملف ".pt". يحتوي ملف YAML على معلومات البنية الخاصة بالنموذج، ولا يتم تحميل أي أوزان. سيبدأ أمر التدريب في تدريب هذا النموذج من الصفر.

لتدريب بنية مخصصة، يجب عليك تحديد البنية المخصصة في ملف ".yaml" المشابه لـ "yolov8n.yaml" أعلاه. ثم تقوم بتحميل هذا الملف وتدريب النموذج باستخدام نفس الكود المذكور أعلاه.

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