نماذج ومنصات الذكاء الاصطناعي
فك شفرة Yolov8: روعة رؤية الكمبيوتر من Ultralytics

حتى الآن ، كانت الكشف عن الكائنات في الصور باستخدام نماذج رؤية الكمبيوتر تواجه عقبة كبيرة من بضع ثوان من التأخير بسبب وقت المعالجة. هذا التأخير عاق الحصول على采用 عملي في حالات استخدام مثل القيادة المستقلة. ومع ذلك ، فإن إصدار نموذج رؤية الكمبيوتر YOLOv8 من قبل Ultralytics قد كسر حاجز التأخير في المعالجة. يمكن للنموذج الجديد الكشف عن الكائنات في الوقت الفعلي بدقة وسرعة غير مسبوقة ، مما يجعله شائعًا في مجال رؤية الكمبيوتر.
يستكشف هذا المقال YOLOv8 وقدراته وكيف يمكنك تعديلها وتحسينها لإنشاء نماذج مخصصة من خلال مستودع Github المفتوح.
يولوف 8解释
YOLO (يمكنك العيش مرة واحدة فقط) هو نموذج رؤية كمبيوتر شائع يمكنه الكشف عن الكائنات وتقسيمها في الصور. وقد مر النموذج بتحديثات عديدة في الماضي ، مع يولوف 8 الذي يعتبر الإصدار الثامن.
كما هو الحال ، يبني يولوف 8 على قدرات الإصدارات السابقة من خلال تقديم ميزات جديدة قوية وتحسينات. هذا يسمح بالكشف عن الكائنات في الوقت الفعلي في بيانات الصور والفيديو بدقة وضبط محسّن.
من v1 إلى v8: تاريخ موجز
Yolov1: تم إصدار الإصدار الأول من YOLO في عام 2015 كنموذج كشف عن كائنات من مرحلة واحدة. وشملت الميزات قراءة النموذج للصورة بأكملها لتحديد كل مربع حدود في تقييم واحد.
Yolov2: تم إصدار الإصدار التالي في عام 2016 ، وتم تقديم أداء أعلى على معايير مثل PASCAL VOC و COCO ويعمل بسرعات عالية (67-40 إطار في الثانية). كما يمكنه الكشف عن أكثر من 9000 فئة كائن ، حتى مع بيانات الكشف المحدودة.
Yolov3: تم إطلاق Yolov3 في عام 2018 ، وتم تقديم ميزات جديدة مثل شبكة أساسية أكثر فعالية ، ومصادر متعددة ، وترشيح هرمي فضائي لمعالجة الميزات متعددة المقاييس.
Yolov4: مع إصدار Yolov4 في عام 2020 ، تم تقديم تقنية تعزيز البيانات الجديدة الموزاييك ، التي قدمت قدرات تدريب محسّنة.
Yolov5: تم إصدار Yolov5 في عام 2021 ، وتم إضافة ميزات قوية جديدة ، بما في ذلك تحسين المعاملات وتنسيق التجارب المتكاملة.
Yolov6: مع إصدار Yolov6 في عام 2022 ، تم إتاحة النموذج مفتوح المصدر لتطوير المجتمع. تم تقديم ميزات جديدة ، مثل استراتيجية التبخير الذاتي وجدول التدريب المعزز (AAT).
Yolov7: تم إصدار Yolov7 في نفس العام ، 2022 ، وتم تحسينه على النموذج الحالي في السرعة والدقة ، وكان أسرع نموذج كشف عن كائنات في وقت الإصدار.
ما الذي يجعل YOLOv8 بارزًا?

تجعل دقة YOLOv8 وسرعته الفائقتين النموذج بارزًا عن الإصدارات السابقة. إنه إنجاز هام لأن الكائنات يمكن الكشف عنها في الوقت الفعلي بدون تأخير ، على عكس الإصدارات السابقة.
ولكن بالإضافة إلى ذلك ، يأتي YOLOv8 مع قدرات قوية ، بما في ذلك:
- هيكل قابل للتعديل: يوفر YOLOv8 هيكلاً مرنًا يمكن للمطورين تعديله ليناسب متطلباتهم المحددة.
- تدريب قابل للتعديل: توفر قدرات التدريب القابل للتعديل الجديدة في YOLOv8 ، مثل توازن دالة الخسارة أثناء التدريب والتقنيات ، تحسين معدل التعلم. خذ Adam ، الذي يسهم في تحسين الدقة ، والتقارب الأسرع ، وأداء النموذج بشكل أفضل.
- تحليل الصور المتقدم: من خلال قدرات التجزئة الدلالية والتنبؤ بالفئة الجديدة ، يمكن للنموذج الكشف عن الأنشطة ، واللون ، والنسيج ، والعلاقات بين الكائنات بالإضافة إلى وظيفة الكشف عن الكائنات الأساسية.
- تعزيز البيانات: تساعد تقنيات تعزيز البيانات الجديدة على معالجة جوانب تباين الصور مثل الدقة المنخفضة ، والانسداد ، وما إلى ذلك ، في حالات الكشف عن الكائنات في العالم الحقيقي حيث لا تكون الشروط مثالية.
- دعم الهيكل: يوفر YOLOv8 دعمًا لعدة هياكل ، بما في ذلك CSPDarknet (الهيكل الأساسي الافتراضي) ، و EfficientNet (الهيكل الخفيف) ، و ResNet (الهيكل الكلاسيكي) ، التي يمكن للمستخدمين اختيارها.
يمكن للمستخدمين حتى تعديل الهيكل عن طريق استبدال CSPDarknet53 بأي هيكل CNN متوافق مع أبعاد الإدخال والإخراج في YOLOv8.
تدريب وتحسين YOLOv8
يمكن تدريب نموذج YOLOv8 أو تحسينه ليناسب حالات استخدام معينة أو تدريبه بالكامل من البداية لإنشاء نموذج مخصص. يمكن العثور على مزيد من التفاصيل حول إجراءات التدريب في التوثيق الرسمي.
دعونا نستكشف كيف يمكنك تنفيذ كلا من هذه العمليات.
تحسين YOLOV8 باستخدام مجموعة بيانات مخصصة
تعمل عملية التحسين على تحميل نموذج موجود مسبقًا واستخدام أوزانه الافتراضية كنقطة بداية للتدريب. بشكل直 ، يتذكر النموذج جميع معارفه السابقة ، ويعمل التحسين على إضافة معلومات جديدة عن طريق تعديل الأوزان.
يمكن تحسين نموذج YOLOv8 باستخدام كود Python أو من خلال واجهة سطر الأوامر (CLI).
1. تحسين نموذج YOLOv8 باستخدام Python
ابداً بتحميل حزمة Ultralytics في كودك. ثم ، احمل النموذج المخصص الذي تريد تدريبه باستخدام الكود التالي:
أولاً ، قم بتثبيت مكتبة Ultralytics من التوزيع الرسمي.
| # تثبيت حزمة Ultralytics من PyPI pip install ultralytics |
ثم ، قم بتنفيذ الكود التالي في ملف Python:
| from ultralytics import YOLO
# تحميل نموذج # تدريب النموذج على مجموعة بيانات MS COCO |
افتراضيًا ، سيقوم الكود بتدريب النموذج باستخدام مجموعة بيانات COCO لمدة 100 دورة. ومع ذلك ، يمكنك أيضًا تكوين هذه الإعدادات لتحديد الحجم ، والدورة ، وما إلى ذلك ، في ملف YAML.
مرة واحدة بعد تدريب النموذج بإعداداتك وبياناتك ، قم بمراقبة التقدم ، واختبار النموذج ، وتحسينه ، واعادة التدريب حتى تحقق النتائج المرغوبة.
2. تحسين نموذج YOLOv8 باستخدام CLI
لتدريب نموذج باستخدام CLI ، قم بتشغيل السكريبت التالي في سطر الأوامر:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
أمر CLI يحمل نموذج مسبق التدريب `yolov8n.pt` ويدربه بشكل أكبر على مجموعة البيانات المحددة في ملف `coco8.yaml`.
إنشاء نموذجك الخاص مع YOLOv8
هناك طريقتان أساسيتان لإنشاء نموذج مخصص مع إطار YOLO:
- التدريب من البداية: هذا النهج يسمح لك باستخدام هيكل YOLOv8 المحدد مسبقًا ولكن لن يستخدم أي أوزان مسبقة التدريب. سيحدث التدريب من البداية.
- هيكل مخصص: يمكنك تعديل هيكل YOLO الافتراضي وتدريبه من البداية.
تبقى تنفيذ كلا هذه الطرق كما هي. لتدريب نموذج YOLO من البداية ، قم بتشغيل الكود التالي:
| from ultralytics import YOLO
# تحميل نموذج # تدريب النموذج |
لاحظ أننا قد قمنا بتحميل ملف `.yaml` هذا الوقت بدلاً من ملف `.pt`. يحتوي ملف YAML على معلومات هيكل النموذج ، ولا يتم تحميل أي أوزان. سوف يبدأ أمر التدريب بتدريب هذا النموذج من البداية.
لتدريب هيكل مخصص ، يجب عليك تعريف الهيكل المخصص في ملف `.yaml` مشابه لملف `yolov8n.yaml` أعلاه. ثم ، قم بتحميل هذا الملف و تدريب النموذج باستخدام نفس الكود أعلاه.
لمعرفة المزيد حول الكشف عن الكائنات باستخدام الذكاء الاصطناعي والبقاء على اطلاع بأحدث اتجاهات الذكاء الاصطناعي ، قم بزيارة unite.ai.













