diff --git a/docs/ar/models/fast-sam.md b/docs/ar/models/fast-sam.md new file mode 100644 index 00000000000..68b39fcde28 --- /dev/null +++ b/docs/ar/models/fast-sam.md @@ -0,0 +1,191 @@ +--- +comments: true +description: استكشف FastSAM ، وهو حلاً مبنيًا على الشبكات العصبية السريعة لتجزئة الكائنات في الوقت الحقيقي في الصور. تفاعل المستخدم المحسّن ، والكفاءة الحسابية ، والقابلية للتكيف في مهام الرؤية المختلفة. +keywords: FastSAM ، التعلم الآلي ، حلاً مبنيًا على الشبكات العصبية السريعة ، قسيمة الكائنات ، حلاً في الوقت الحقيقي ، Ultralytics ، مهام الرؤية ، معالجة الصور ، تطبيقات صناعية ، تفاعل المستخدم +--- + +# نموذج تجزئة أي شيء بسرعة عالية (FastSAM) + +نموذج تجزئة أي شيء بسرعة عالية (FastSAM) هو حلاً مبتكرًا للعصب الشبكي يعمل بالزمن الحقيقي لمهمة تجزئة أي كائن داخل صورة ما. تم تصميم هذه المهمة لتجزئة أي كائن داخل صورة بناءً على إشارات تفاعل المستخدم المختلفة الممكنة. يقلل الـ FastSAM من الاحتياجات الحسابية بشكل كبير مع الحفاظ على أداء تنافسي ، مما يجعله خيارًا عمليًا لمجموعة متنوعة من مهام الرؤية. + +![نظرة عامة على تصميم نموذج تجزئة أي شيء بسرعة عالية (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## نظرة عامة + +تم تصميم FastSAM للتغلب على القيود الموجودة في [نموذج تجزئة ما شيء (SAM)](sam.md) ، وهو نموذج تحويل ثقيل يتطلب موارد حسابية كبيرة. يفصل FastSAM عملية تجزئة أي شيء إلى مرحلتين متسلسلتين: تجزئة جميع الأمثلة واختيار موجه بناءً على التعليمات. تستخدم المرحلة الأولى [YOLOv8-seg](../tasks/segment.md) لإنتاج قناع التجزئة لجميع الأمثلة في الصورة. في المرحلة الثانية ، يتم إخراج منطقة الاهتمام المتعلقة بالتعليمة. + +## المميزات الرئيسية + +1. **حلاً في الوقت الحقيقي**: من خلال استغلال كفاءة الشبكات العصبية الحاسوبية ، يوفر FastSAM حلاً في الوقت الحقيقي لمهمة تجزئة أي شيء ، مما يجعله قيمًا للتطبيقات الصناعية التي تتطلب نتائج سريعة. + +2. **كفاءة وأداء**: يقدم FastSAM تقليل كبير في الاحتياجات الحسابية واستخدام الموارد دون التنازل عن جودة الأداء. يحقق أداءً قابلاً للمقارنة مع SAM ولكن بموارد حسابية مخفضة بشكل كبير ، مما يمكن من تطبيقه في الوقت الحقيقي. + +3. **تجزئة يستند إلى الموجه**: يمكن لـ FastSAM تجزئة أي كائن داخل صورة ترشده مختلف إشارات تفاعل المستخدم الممكنة ، مما يوفر مرونة وقابلية للتكيف في سيناريوهات مختلفة. + +4. **يستند إلى YOLOv8-seg**: يستند FastSAM إلى [YOLOv8-seg](../tasks/segment.md) ، وهو كاشف كائنات مجهز بفرع تجزئة المثيلات. يمكنه بشكل فعال إنتاج قناع التجزئة لجميع الأمثلة في صورة. + +5. **نتائج تنافسية في الاختبارات التحضيرية**: في مهمة اقتراح الكائن على MS COCO ، يحقق FastSAM درجات عالية بسرعة أسرع بكثير من [SAM](sam.md) على بطاقة NVIDIA RTX 3090 واحدة ، مما يدل على كفاءته وقدرته. + +6. **تطبيقات عملية**: توفر الطريقة المقترحة حلاً جديدًا وعمليًا لعدد كبير من مهام الرؤية بسرعة عالية حقًا ، بمعدلات سرعة عشرات أو مئات المرات أسرع من الطرق الحالية. + +7. **جدوى ضغط النموذج**: يظهر FastSAM إمكانية تقليل الجهد الحسابي بشكل كبير من خلال إدخال سابق اصطناعي للهيكل ، مما يفتح إمكانيات جديدة لهندسة هيكل النموذج الكبير لمهام الرؤية العامة. + +## النماذج المتاحة ، المهام المدعومة ، وأوضاع التشغيل + +يعرض هذا الجدول النماذج المتاحة مع أوزانها المحددة ، والمهام التي تدعمها ، ومدى توافقها مع أوضاع التشغيل المختلفة مثل [الاستنتاج](../modes/predict.md) ، [التحقق](../modes/val.md) ، [التدريب](../modes/train.md) ، و[التصدير](../modes/export.md) ، مشار إليها برموز الـ✅ للأوضاع المدعومة والرموز ❌ للأوضاع غير المدعومة. + +| نوع النموذج | أوزان تم تدريبها مسبقًا | المهام المدعومة | الاستنتاج | التحقق | التدريب | التصدير | +|-------------|-------------------------|---------------------------------------|-----------|--------|---------|---------| +| FastSAM-s | `FastSAM-s.pt` | [تجزئة المثيلات](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [تجزئة المثيلات](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## أمثلة الاستخدام + +يسهل دمج نماذج FastSAM في تطبيقات Python الخاصة بك. يوفر Ultralytics واجهة برمجة تطبيقات Python سهلة الاستخدام وأوامر CLI لتسهيل التطوير. + +### استخدام التوقعات + +للقيام بكشف الكائنات في صورة ، استخدم طريقة `predict` كما هو موضح أدناه: + +!!! Example "مثال" + + === "بايثون" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # حدد مصدر التوقع + source = 'path/to/bus.jpg' + + # قم بإنشاء نموذج FastSAM + model = FastSAM('FastSAM-s.pt') # or FastSAM-x.pt + + # تنفيذ توقعات على صورة + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # قم بتجهيز كائن معالج مع قواعد التوقع + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # التوقع باستخدام كل شيء + ann = prompt_process.everything_prompt() + + # bbox الشكل الافتراضي [0،0،0،0] -> [x1،y1،x2،y2] + ann = prompt_process.box_prompt(bbox=[200، 200، 300، 300]) + + # التوقع النصي + ann = prompt_process.text_prompt(text='صورة لكلب') + + # التوقع النقطي + ann = prompt_process.point_prompt(points=[[200، 200]]، pointlabel=[1]) + prompt_process.plot(annotations=ann، output='./') + ``` + + === "CLI" + ```bash + # قم بتحميل نموذج FastSAM وتجزئة كل شيء به + yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640 + ``` + +توضح هذه المقاطع البساطة في تحميل نموذج مدرب مسبقًا وتنفيذ توقع على صورة. + +### استخدام مهام التحقق + +يمكن تنفيذ التحقق من النموذج على مجموعة بيانات على النحو التالي: + +!!! Example "مثال" + + === "بايثون" + ```python + from ultralytics import FastSAM + + # قم بإنشاء نموذج FastSAM + model = FastSAM('FastSAM-s.pt') # or FastSAM-x.pt + + # قم بتنفيذ التحقق من النموذج + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # قم بتحميل نموذج FastSAM وأجرِ التحقق منه بخصوص مجموعة البيانات مثال كوكو 8 بحجم صورة 640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +يرجى ملاحظة أن الـ FastSAM يدعم فقط الكشف والتجزئة لفئة واحدة من الكائن. هذا يعني أنه سيتعرف ويجزء جميع الكائنات على أنها نفس الفئة. لذلك ، عند إعداد مجموعة البيانات ، يجب تحويل جميع معرفات فئة الكائن إلى 0. + +## استخدام FastSAM الرسمي + +يتوفر نموذج FastSAM مباشرةً من مستودع [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). فيما يلي نظرة عامة موجزة على الخطوات التقليدية التي قد تتخذها لاستخدام FastSAM: + +### التثبيت + +1. استنسخ مستودع FastSAM: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. أنشئ بيئة Conda وفعّلها بـ Python 3.9: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. انتقل إلى المستودع المنسخ وقم بتثبيت الحزم المطلوبة: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. قم بتثبيت نموذج CLIP: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### مثال الاستخدام + +1. قم بتنزيل [تفويض نموذج](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). + +2. استخدم FastSAM للتوقع. أمثلة الأوامر: + + - تجزئة كل شيء في صورة: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - تجزئة كائنات محددة باستخدام تعليمات النص: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "الكلب الأصفر" + ``` + + - تجزئة كائنات داخل مربع محدد (تقديم إحداثيات الصندوق في تنسيق xywh): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - تجزئة كائنات قرب النقاط المحددة: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +بالإضافة إلى ذلك ، يمكنك تجربة FastSAM من خلال [Colab demo](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) أو على [HuggingFace web demo](https://huggingface.co/spaces/An-619/FastSAM) لتجربة بصرية. + +## الاقتباسات والشكر + +نود أن نشكر أباء FastSAM على مساهماتهم الهامة في مجال تجزئة المثيلات في الوقت الحقيقي: + +!!! Quote "" + + === "بيب تيكس" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +يمكن العثور على ورقة FastSAM الأصلية على [arXiv](https://arxiv.org/abs/2306.12156). قام الأباء بجعل أعمالهم متاحة للجمهور ، ويمكن الوصول إلى قاعدة الكود على [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). نقدر جهودهم في تطوير المجال وجعل أعمالهم متاحة للمجتمع الأوسع. diff --git a/docs/ar/models/index.md b/docs/ar/models/index.md index 522989c3f85..a399f0df862 100644 --- a/docs/ar/models/index.md +++ b/docs/ar/models/index.md @@ -1,93 +1,98 @@ --- comments: true -description: استكشف مجموعة متنوعة من عائلة YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS ونماذج RT-DETR المدعومة بواسطة Ultralytics. ابدأ مع أمثلة للإستخدام باستخدام واجهة سطر الأوامر ولغة البايثون. -keywords: Ultralytics، مستندات، YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS، RT-DETR، نماذج، هندسات، Python، CLI +description: استكشف مجموعة متنوعة من عائلة YOLO، ونماذج SAM وMobileSAM وFastSAM وYOLO-NAS وRT-DETR المدعومة من Ultralytics. ابدأ بأمثلة لكل من استخدام واجهة الأوامر وPython. +keywords: Ultralytics, documentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, models, architectures, Python, CLI --- -# النماذج المدعومة بواسطة Ultralytics +# النماذج المدعومة من Ultralytics -مرحبًا بك في مستندات نماذج Ultralytics! نحن نقدم دعمًا لمجموعة واسعة من النماذج، وكل نموذج مصمم لمهام محددة مثل [كشف الكائنات](../tasks/detect.md)، [تجزئة الحالات](../tasks/segment.md)، [تصنيف الصور](../tasks/classify.md)، [تقدير الوضع](../tasks/pose.md)، و[تتبع العديد من الكائنات](../modes/track.md). إذا كنت مهتمًا بالمساهمة في بنية نموذجك في Ultralytics ، تحقق من [دليل المساهمة](../../help/contributing.md). +أهلاً بك في وثائق نماذج Ultralytics! نحن نقدم الدعم لمجموعة واسعة من النماذج، كل منها مُصمم لمهام محددة مثل [الكشف عن الأجسام](../tasks/detect.md)، [تقطيع الحالات](../tasks/segment.md)، [تصنيف الصور](../tasks/classify.md)، [تقدير الوضعيات](../tasks/pose.md)، و[تتبع الأجسام المتعددة](../modes/track.md). إذا كنت مهتمًا بالمساهمة في هندسة نموذجك مع Ultralytics، راجع دليل [المساهمة](../../help/contributing.md). !!! Note "ملاحظة" - 🚧 مستنداتنا متعددة اللغات قيد الإنشاء حاليًا ونحن نعمل بجد لتحسينها. شكرا لك على صبرك! 🙏 + 🚧 تحت الإنشاء: وثائقنا بلغات متعددة قيد الإنشاء حاليًا، ونحن نعمل بجد لتحسينها. شكرًا لصبرك! 🙏 ## النماذج المميزة -فيما يلي بعض النماذج الرئيسية المدعمة: +إليك بعض النماذج الرئيسية المدعومة: -1. **[YOLOv3](../../models/yolov3.md)**: الإصدار الثالث من عائلة نموذج YOLO، والذي أنشأه جوزيف ريدمون، والمعروف بقدرته على الكشف في الوقت الحقيقي بكفاءة. -2. **[YOLOv4](../../models/yolov4.md)**: تحديث لنموذج YOLOv3 الأصلي من قبل اليكسي بوتشكوفسكي في عام 2020. -3. **[YOLOv5](../../models/yolov5.md)**: إصدار محسن لبنية YOLO بواسطة Ultralytics ، يقدم أداءً أفضل وتفاوتات سرعة مقارنة بالإصدارات السابقة. -4. **[YOLOv6](../../models/yolov6.md)**: تم إصداره بواسطة [ميتوان](https://about.meituan.com/) في عام 2022 ، ويستخدم في العديد من روبوتات التسليم الذاتي للشركة. -5. **[YOLOv7](../../models/yolov7.md)**: نماذج YOLO المحدثة التي تم إطلاقها في عام 2022 من قبل أصحاب YOLOv4. -6. **[YOLOv8](../../models/yolov8.md)**: أحدث إصدار من عائلة YOLO ، ويتميز بقدرات محسنة مثل تجزئة الحالات، وتقدير النقاط الرئيسة، والتصنيف. -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: نموذج Segment Anything Model (SAM) من Meta. -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM لتطبيقات الهواتف المحمولة ، من جامعة Kyung Hee. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM من مجموعة تحليل الصور والفيديو، معهد الأتمتة، الأكاديمية الصينية للعلوم. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: نماذج YOLO للبحث في تصميم العمارة العصبية. -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: نماذج PaddlePaddle Realtime Detection Transformer (RT-DETR) من Baidu. +1. **[YOLOv3](yolov3.md)**: الإصدار الثالث من عائلة نموذج YOLO، الذي أنشأه أصلاً Joseph Redmon، والمعروف بقدراته الفعالة في الكشف عن الأجسام في الوقت الفعلي. +2. **[YOLOv4](yolov4.md)**: تحديث محلي لـ YOLOv3، تم إصداره بواسطة Alexey Bochkovskiy في 2020. +3. **[YOLOv5](yolov5.md)**: نسخة مُحسنة من هندسة YOLO من قبل Ultralytics، توفر أداءً أفضل وتوازن في السرعة مقارنة بالإصدارات السابقة. +4. **[YOLOv6](yolov6.md)**: أُصدرت بواسطة [Meituan](https://about.meituan.com/) في 2022، ويُستخدم في العديد من روبوتات التوصيل الذاتية للشركة. +5. **[YOLOv7](yolov7.md)**: تم إصدار نماذج YOLO المحدثة في 2022 بواسطة مؤلفي YOLOv4. +6. **[YOLOv8](yolov8.md) جديد 🚀**: الإصدار الأحدث من عائلة YOLO، يتميز بقدرات مُعززة مثل تقطيع الحالات، تقدير الوضعيات/النقاط الرئيسية، والتصنيف. +7. **[Segment Anything Model (SAM)](sam.md)**: نموذج Segment Anything Model (SAM) من Meta. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: نموذج MobileSAM للتطبيقات المحمولة، من جامعة Kyung Hee. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: نموذج FastSAM من مجموعة تحليل الصور والفيديو، والمعهد الصيني للأتمتة، وأكاديمية العلوم الصينية. +10. **[YOLO-NAS](yolo-nas.md)**: نماذج YOLO Neural Architecture Search (NAS). +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: نماذج Realtime Detection Transformer (RT-DETR) من PaddlePaddle التابعة لشركة Baidu.



- شاهد: قم بتشغيل نماذج Ultralytics YOLO في بضعة أسطر من الكود. + شاهد: تشغيل نماذج YOLO من Ultralytics في بضعة أسطر من الكود فقط.

-## البدء: أمثلة للإستخدام +## البدء في الاستخدام: أمثلة على الاستخدام + +يوفر هذا المثال أمثلة مبسطة على التدريب والاستدلال باستخدام YOLO. للحصول على الوثائق الكاملة عن هذه وغيرها من [الأوضاع](../modes/index.md), انظر صفحات وثائق [التنبؤ](../modes/predict.md)، و[التدريب](../modes/train.md)، و[التقييم](../modes/val.md) و[التصدير](../modes/export.md). + +لاحظ أن المثال أدناه هو لنماذج [Detect](../tasks/detect.md) YOLOv8 لكشف الأجسام. للاطلاع على المهام الإضافية المدعومة، راجع وثائق [Segment](../tasks/segment.md)، و[Classify](../tasks/classify.md) و[Pose](../tasks/pose.md). !!! Example "مثال" === "Python" - يمكن تمرير نماذج PyTorch مدربة سابقًا بتنسيق `*.pt` بالإضافة إلى ملفات التكوين بتنسيق `*.yaml` إلى فئات `YOLO()`، `SAM()`، `NAS()` و `RTDETR()` لإنشاء نموذج في Python: + نماذج `*.pt` المُدربة مسبقًا وملفات الإعداد `*.yaml` يمكن أن تُمرر إلى فئات `YOLO()`, `SAM()`, `NAS()` و `RTDETR()` لإنشاء مثال نموذج في Python: ```python - from ultralytics import YOLO + من ultralytics استيراد YOLO - # قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق - model = YOLO('yolov8n.pt') + # تحميل نموذج YOLOv8n المُدرب مسبقًا على COCO + النموذج = YOLO('yolov8n.pt') # عرض معلومات النموذج (اختياري) model.info() - # قم بتدريب النموذج على مجموعة بيانات COCO8 لمدة 100 حقبة - results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + # تدريب النموذج على مجموعة البيانات المثالية COCO8 لمدة 100 عصر + النتائج = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # قم بتشغيل الاستدلال مع نموذج YOLOv8n على صورة 'bus.jpg' - results = model('path/to/bus.jpg') + # تشغيل الاستدلال بنموذج YOLOv8n على صورة 'bus.jpg' + النتائج = model('path/to/bus.jpg') ``` + === "CLI" - هناك أوامر CLI متاحة لتشغيل النماذج مباشرةً: + الأوامر CLI متاحة لتشغيل النماذج مباشرة: ```bash - # قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق و تدريبه على مجموعة بيانات COCO8 لمدة 100 حقبة + # تحميل نموذج YOLOv8n المُدرب مسبقًا على COCO وتدريبه على مجموعة البيانات المثالية COCO8 لمدة 100 عصر yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق و قم بتشغيل الاستدلال على صورة 'bus.jpg' + # تحميل نموذج YOLOv8n المُدرب مسبقًا على COCO وتشغيل الاستدلال على صورة 'bus.jpg' yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## المساهمة في نماذج جديدة +## المساهمة بنماذج جديدة -هل ترغب في المساهمة بنموذجك في Ultralytics؟ رائع! نحن مفتوحون دائمًا لتوسيع مجموعة النماذج الخاصة بنا. +هل أنت مهتم بالمساهمة بنموذجك في Ultralytics؟ رائع! نحن دائمًا منفتحون على توسيع محفظة النماذج لدينا. -1. **انسخ المستودع**: ابدأ بإنشاء فرع جديد في مستودع [Ultralytics GitHub repository ](https://github.com/ultralytics/ultralytics). +1. **احفظ نسخة عن المستودع**: ابدأ بحفظ نسخة عن [مستودع Ultralytics على GitHub](https://github.com/ultralytics/ultralytics). -2. **نسخ Fork الخاص بك**: نسخ Fork الخاص بك إلى جهاز الكمبيوتر المحلي الخاص بك وأنشئ فرعًا جديدًا للعمل عليه. +2. **استنسخ نسختك**: انسخ نسختك إلى جهازك المحلي وأنشئ فرعًا جديدًا للعمل عليه. -3. **اتبع نموذجك**: قم بإضافة نموذجك وفقًا لمعايير البرمجة والتوجيهات المقدمة في [دليل المساهمة](../../help/contributing.md). +3. **طبق نموذجك**: أضف نموذجك متبعًا معايير وإرشادات البرمجة الموفرة في دليل [المساهمة](../../help/contributing.md) لدينا. -4. **اختبر بدقة**: تأكد من اختبار نموذجك بدقة ، سواء بشكل منفصل أم كجزء من السلسلة. +4. **اختبر بدقة**: تأكد من اختبار نموذجك بشكل مكثف، سواء بشكل منفصل أو كجزء من المسار البرمجي. -5. **أنشئ طلبًا للدمج**: بمجرد أن تكون راضيًا عن نموذجك، قم بإنشاء طلب للدمج إلى البرنامج الرئيسي للمراجعة. +5. **أنشئ Pull Request**: بمجرد أن تكون راضًيا عن نموذجك، قم بإنشاء طلب سحب إلى المستودع الرئيسي للمراجعة. -6. **استعراض ودمج الكود**: بعد المراجعة، إذا كان نموذجك يلبي معاييرنا، فسيتم دمجه في البرنامج الرئيسي. +6. **مراجعة الكود والدمج**: بعد المراجعة، إذا كان نموذجك يلبي معاييرنا، سيتم دمجه في المستودع الرئيسي. -للخطوات المفصلة ، استشر [دليل المساهمة](../../help/contributing.md). +للخطوات التفصيلية، يرجى الرجوع إلى دليل [المساهمة](../../help/contributing.md). diff --git a/docs/ar/models/mobile-sam.md b/docs/ar/models/mobile-sam.md new file mode 100644 index 00000000000..ec671da1b55 --- /dev/null +++ b/docs/ar/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: تعرّف على MobileSAM وتطبيقه، وقارنه مع SAM الأصلي، وكيفية تنزيله واختباره في إطار Ultralytics. قم بتحسين تطبيقاتك المحمولة اليوم. +keywords: MobileSAM، Ultralytics، SAM، التطبيقات المحمولة، Arxiv، GPU، API، مُشفّر الصورة، فك تشفير القناع، تنزيل النموذج، طريقة الاختبار +--- + +![شعار MobileSAM](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# التمييز المحمول لأي شيء (MobileSAM) + +الآن يمكنك الاطّلاع على ورقة MobileSAM في [arXiv](https://arxiv.org/pdf/2306.14289.pdf). + +يمكن الوصول إلى عرض مباشر لـ MobileSAM يعمل على وحدة المعالجة المركزية CPU من [هنا](https://huggingface.co/spaces/dhkim2810/MobileSAM). يستغرق الأداء على وحدة المعالجة المركزية Mac i5 تقريبًا 3 ثوانٍ. في عرض الواجهة التفاعلية الخاص بهنغ فيس، تؤدي واجهة المستخدم ووحدات المعالجة المركزية ذات الأداء المنخفض إلى استجابة أبطأ، لكنها تواصل العمل بفعالية. + +تم تنفيذ MobileSAM في عدة مشاريع بما في ذلك [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything) و [AnyLabeling](https://github.com/vietanhdev/anylabeling) و [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +تم تدريب MobileSAM على وحدة المعالجة الرسومية (GPU) الواحدة باستخدام مجموعة بيانات تحتوي على 100000 صورة (1% من الصور الأصلية) في أقل من يوم واحد. سيتم توفير الشفرة المصدرية لعملية التدريب هذه في المستقبل. + +## النماذج المتاحة، المهام المدعومة، وأوضاع التشغيل + +يُعرض في هذا الجدول النماذج المتاحة مع وزنها المدرب مسبقًا، والمهام التي تدعمها، وتوافقها مع أوضاع التشغيل المختلفة مثل [الاستدلال](../modes/predict.md)، [التحقق](../modes/val.md)، [التدريب](../modes/train.md)، و [التصدير](../modes/export.md)، حيث يُشير إيموجي ✅ للأوضاع المدعومة وإيموجي ❌ للأوضاع غير المدعومة. + +| نوع النموذج | الأوزان المدربة مسبقًا | المهام المدعومة | الاستدلال | التحقق | التدريب | التصدير | +|-------------|------------------------|--------------------------------------|-----------|--------|---------|---------| +| MobileSAM | `mobile_sam.pt` | [تجزئة العناصر](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## التحويل من SAM إلى MobileSAM + +نظرًا لأن MobileSAM يحتفظ بنفس سير العمل لـ SAM الأصلي، قمنا بدمج التجهيزات المسبقة والتجهيزات اللاحقة للنموذج الأصلي وجميع الواجهات الأخرى. نتيجة لذلك، يمكن لأولئك الذين يستخدمون حاليًا SAM الأصلي الانتقال إلى MobileSAM بقدر أدنى من الجهد. + +يؤدي MobileSAM بشكل مقارب لـ SAM الأصلي ويحتفظ بنفس سير العمل باستثناء تغيير في مُشفر الصورة. على وحدة المعالجة الرسومية (GPU) الواحدة، يعمل MobileSAM بمعدل 12 مللي ثانية لكل صورة: 8 مللي ثانية لمُشفر الصورة و4 مللي ثانية لفك تشفير القناع. + +يوفر الجدول التالي مقارنة بين مُشفرات الصور القائمة على ViT: + +| مُشفّر الصورة | SAM الأصلي | MobileSAM | +|---------------|----------------|--------------| +| العوامل | 611 مليون | 5 مليون | +| السرعة | 452 مللي ثانية | 8 مللي ثانية | + +يستخدم SَM الأصلي و MobileSAM نفس فك تشفير القناع الذي يعتمد على التوجيه بواسطة الرموز: + +| فك تشفير القناع | SAM الأصلي | MobileSAM | +|-----------------|--------------|--------------| +| العوامل | 3.876 مليون | 3.876 مليون | +| السرعة | 4 مللي ثانية | 4 مللي ثانية | + +فيما يلي مقارنة لكامل سير العمل: + +| السير الكامل (التشفير+الفك) | SAM الأصلي | MobileSAM | +|-----------------------------|----------------|---------------| +| العوامل | 615 مليون | 9.66 مليون | +| السرعة | 456 مللي ثانية | 12 مللي ثانية | + +يتم عرض أداء MobileSAM و SAM الأصلي باستخدام كل من النقطة ومربع كلمة المحفز. + +![صورة بالنقطة ككلمة محفز](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![صورة بالمربع ككلمة محفز](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +بفضل أدائه المتفوق، يكون MobileSAM أصغر بحوالي 5 أضعاف وأسرع بحوالي 7 أضعاف من FastSAM الحالي. يتوفر مزيد من التفاصيل على [صفحة مشروع MobileSAM](https://github.com/ChaoningZhang/MobileSAM). + +## اختبار MobileSAM في Ultralytics + +مثل SAM الأصلي، نقدم طريقة اختبار مبسّطة في Ultralytics، بما في ذلك وضعي النقطة والصندوق. + +### تنزيل النموذج + +يمكنك تنزيل النموذج [هنا](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt). + +### النقطة ككلمة محفز + +!!! Example "مثال" + + === "Python" + ```python + from ultralytics import SAM + + # تحميل النموذج + model = SAM('mobile_sam.pt') + + # توقع جزء بناءً على نقطة محفز + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### الصندوق ككلمة محفز + +!!! Example "مثال" + + === "Python" + ```python + from ultralytics import SAM + + # تحميل النموذج + model = SAM('mobile_sam.pt') + + # توقع جزء بناءً على صندوق محفز + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +لقد قمنا بتنفيذ "MobileSAM" و "SAM" باستخدام نفس API. لمزيد من معلومات الاستخدام، يُرجى الاطّلاع على [صفحة SAM](sam.md). + +## الاقتباس والشكر + +إذا وجدت MobileSAM مفيدًا في أبحاثك أو عملك التطويري، يُرجى النظر في استشهاد ورقتنا: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/ar/models/rtdetr.md b/docs/ar/models/rtdetr.md new file mode 100644 index 00000000000..f60d049839e --- /dev/null +++ b/docs/ar/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: اكتشف ميزات وفوائد RT-DETR من Baidu، وهو كاشف كائنات فعال وقابل للتكيف في الوقت الفعلي يعتمد على Vision Transformers، بما في ذلك النماذج المدربة مسبقًا. +keywords: RT-DETR, Baidu, Vision Transformers, كشف كائنات, أداء فوري, CUDA, TensorRT, اختيار الاستعلام المرتبط بـ IoU, Ultralytics, واجهة برمجة التطبيقات الخاصة بلغة Python, PaddlePaddle +--- + +# RT-DETR من Baidu: اكتشاف كائنات في الوقت الفعلي يعتمد على Vision Transformer + +## النظرة العامة + +Real-Time Detection Transformer (RT-DETR)، المطور من قبل Baidu، هو كاشف حديث الطراز يوفر أداءً فعليًا في الوقت الفعلي مع الحفاظ على دقة عالية. يستفيد من قوة Vision Transformers (ViT) في معالجة الميزات متعددة المقياس عن طريق فصل التفاعلات داخل المقياس ودمج التفاعلات بين المقاييس المختلفة. يتكيف RT-DETR بشكل كبير ويدعم ضبط سرعة الاستعلام باستخدام طبقات مختلفة في المفكرة بدون إعادة التدريب. يتفوق هذا النموذج على العديد من كاشفات الكائنات في الوقت الفعلي الأخرى، ويستفيد من المنصات القوية مثل CUDA مع TensorRT. + +![نموذج مثال](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**نظرة عامة على RT-DETR من Baidu.** يعرض مخطط معمارية نموذج RT-DETR مراحل الظهر الثلاث الأخيرة {S3، S4، S5} كإدخال للمشفر. يحول المشفر الهجين الفعال الميزات متعددة المقياس إلى تسلسل من ميزات الصورة من خلال تفاعل الميزات داخل المقياس (AIFI) ووحدة دمج الميزات بين المقاييس المختلفة (CCFM). يتم استخدام اختيار الاستعلام المرتبط بـ IoU لاختيار عدد ثابت من ميزات الصورة لتكون استعلامات الكائن الأولية لفك الترميز. أخيرًا، يحسن فك الترميز مع رؤوس التنبؤ الإضافية الاستعلامات الكائنية لتوليد المربعات وتقييمات الثقة ([المصدر](https://arxiv.org/pdf/2304.08069.pdf)). + +### الميزات الرئيسية + +- **مشفر هجين فعال:** يستخدم RT-DETR من Baidu مشفر هجين فعال يعمل على معالجة الميزات متعددة المقياس من خلال فصل التفاعلات داخل المقياس ودمج التفاعلات بين المقاييس المختلفة. يقلل هذا التصميم الفريد القائم على Vision Transformers من تكاليف الحسابات ويتيح الكشف عن الكائنات في الوقت الفعلي. +- **اختيار الاستعلام المرتبط بـ IoU:** يعمل RT-DETR من Baidu على تحسين بدء استعلام الكائنات من خلال استخدام اختيار الاستعلام المرتبط بـ IoU. يتيح هذا للنموذج التركيز على الكائنات الأكثر صلة في السيناريو، مما يعزز دقة الكشف. +- **سرعة الاستنتاج قابلة للتكيف:** يدعم RT-DETR من Baidu ضبط سرعة الاستنتاج بشكل مرن باستخدام طبقات مختلفة في المفكرة دون الحاجة لإعادة التدريب. يسهل هذا التكيف التطبيق العملي في العديد من سيناريوهات كشف الكائنات في الوقت الفعلي. + +## النماذج المدربة مسبقًا + +تقدم واجهة برمجة التطبيقات الخاصة بلغة Python في Ultralytics نماذج PaddlePaddle RT-DETR مدربة مسبقًا بمقاييس مختلفة: + +- RT-DETR-L: 53.0% AP على COCO val2017، 114 FPS على GPU T4 +- RT-DETR-X: 54.8% AP على COCO val2017، 74 FPS على GPU T4 + +## أمثلة الاستخدام + +يوفر هذا المثال أمثلة بسيطة لتدريب واختبار RT-DETRR. للحصول على وثائق كاملة حول هذه الأمثلة وأوضاع أخرى [انقر هنا](../modes/index.md) للاطلاع على صفحات الوثائق [التنبؤ](../modes/predict.md)، [التدريب](../modes/train.md)، [التصحيح](../modes/val.md) و [التصدير](../modes/export.md). + +!!! Example "مثال" + + === "Python" + + ```python + from ultralytics import RTDETR + + # تحميل نموذج RT-DETR-l محمي بواسطة COCO مسبقًا + model = RTDETR('rtdetr-l.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تدريب النموذج على مجموعة بيانات المثال COCO8 لـ 100 دورة + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # تشغيل الاستدلال باستخدام النموذج RT-DETR-l على صورة 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # تحميل نموذج RT-DETR-l محمي بواسطة COCO مسبقًا وتدريبه على مجموعة بيانات المثال COCO8 لـ 100 دورة + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # تحميل نموذج RT-DETR-l محمي بواسطة COCO مسبقًا وتشغيل الاستدلال على صورة 'bus.jpg' + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## المهام والأوضاع المدعومة + +يقدم هذا الجدول أنواع النماذج والأوزان المدربة مسبقًا المحددة والمهام المدعومة بواسطة كل نموذج، والأوضاع المختلفة ([التدريب](../modes/train.md)، [التصحيح](../modes/val.md)، [التنبؤ](../modes/predict.md)، [التصدير](../modes/export.md)) التي يتم دعمها، ممثلة برموز الـ ✅. + +| نوع النموذج | الأوزان المدربة مسبقًا | المهام المدعومة | استنتاج | تحقق صحة | تدريب | استيراد | +|-----------------------|------------------------|----------------------------------|---------|----------|-------|---------| +| RT-DETR الكبير | `rtdetr-l.pt` | [كشف كائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR الكبير الزائد | `rtdetr-x.pt` | [كشف كائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## الاستشهادات والتقديرات + +إذا استخدمت RT-DETR من Baidu في أعمال البحث أو التطوير الخاصة بك، يرجى الاستشهاد بـ [الورقة الأصلية](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +نحن نود أن نعرب عن امتناننا لـ Baidu وفريق [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) لإنشاء وصيانة هذ المورد القيم لمجتمع الرؤية الحاسوبية. نقدر تفاعلهم مع المجال من خلال تطوير كاشف الكائنات الحقيقي في الوقت الفعلي القائم على Vision Transformers، RT-DETR. + +*keywords: RT-DETR، الناقل، Vision Transformers، Baidu RT-DETR، PaddlePaddle، Paddle Paddle RT-DETR، كشف كائنات في الوقت الفعلي، كشف كائنات قائم على Vision Transformers، نماذج PaddlePaddle RT-DETR مدربة مسبقًا، استخدام Baidu's RT-DETR، واجهة برمجة التطبيقات الخاصة بلغة Python في Ultralytics* diff --git a/docs/ar/models/sam.md b/docs/ar/models/sam.md new file mode 100644 index 00000000000..7962f11e8dc --- /dev/null +++ b/docs/ar/models/sam.md @@ -0,0 +1,225 @@ +--- +comments: true +description: استكشف النموذج القاطع للشيء أيا كان (SAM) الحديث من Ultralytics الذي يتيح الت segment تشفير صور الوقت الحقيقي. تعرف على مرونته في مجال الت segment، وأداء نقل انيفورم زيرو شوت، وكيفية استخدامه. +keywords: Ultralytics, قسيمة الصور, Segment Anything Model, SAM, سلسلة بيانات SA-1B, مرونة الصور في الوقت الحقيقي, نقل الانيفورم زيرو شوت, الكشف عن الكائنات, تحليل الصور, التعلم الآلي +--- + +# نموذج القطعة شيء ما (SAM) + +مرحبًا بك في الجبهة الأولى لقطع الصور مع نموذج القطعة شيء ما ، أو SAM. هذا النموذج الثوري قد غير اللعبة من خلال إدخال التشفير القراءة للصور مع أداء في الوقت الحقيقي، وتحديد معايير جديدة في هذا المجال. + +## مقدمة إلى SAM: القطعة شيء ما نموذج + +نموذج القطعة شيء ما ، أو SAM، هو نموذج شفاف اول في فصل الصور الرقمية التي تتيح قدرة شهير على التشفير، توفر مرونة فريدة من نوعها في مهام التحليل اللازمة للصور. نموذج SAM هو أساس مشروع 'أي شيء في شيء' الابتكاري و هو مشروع يقدم نموذجا جديدا ، مهمة وسلسلة بيانات مبتكرة للفصل البصري. + +يتيح تصميم SAM المتقدم له التكيف مع توزيعات صور جديدة ومهام جديدة دون الحاجة إلى معرفة مسبقة، وهذه الميزة تعرف بالكفاءة المطلوبة. حيث يتم تدريبه على سلسلة البيانات الواسعة [سلسلة SA-1B](https://ai.facebook.com/datasets/segment-anything/)، التي تحتوي على أكثر من ملياري قناع معروض على 11 مليون صورة تمت المحافظة عليها بعناية، وقد عرض SAM أداء مثير للإعجاب مع نقل انيفورم زيرو شوت فاق النتائج المراقبة السابقة بالتدريب الكامل في العديد من الحالات. + +![صورة مثالية لسلسة البيانات](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +صور مثالية مع قناع محاط بها من سلسلة البيانات التي قدمناها حديثًا ، SA-1B. يحتوي سلسلة SA-1B على 11 مليون صورة متنوعة ، عالية الدقة ، مرخصة وتحمي الخصوصية و 1.1 مليار قناع فصل جودة عالية. تم توجيه هذه القناع تمامًا بتقويم آلي من قبل SAM وتم التحقق من جودتها وتنوعها من خلال تصنيفات بشرية وتجارب عديدة. يتم تجميع الصور حسب عدد الأقنعة في كل صورة للتصوير (هناك حوالي 100 قناع في الصورة في المتوسط). + +## السمات الرئيسية لنموذج القطعة شيء ما (SAM) + +- **مهمة التشفير القضائية:** تم تصميم SAM بهدف مهمة التشفير القابلة للتشفير ، مما يتيح له إنشاء قناع تشفير صالح من أي تلميح معين ، مثل الدلائل المكانية أو النصية التي تحدد الكائن. +- **بنية متقدمة:** يستخدم نموذج القطعة شيء ما مُشفر صورة قوي ، مشفر تشفير ومُشفر بسهولة الويغورة. تمكن هذه البنية الفريدة من فتح المجال للتشفير المرن ، وحساب القناع في الوقت الحقيقي ، والاستعداد للغموض في مهام التشفير. +- **سلسلة البيانات SA-1B:** التي قدمها مشروع أي شيء في شيء، تعرض سلسلة البيانات SA-1B أكثر من ملياري قناع على 11 مليون صورة. كأكبر سلسلة بيانات للفصل حتى الآن، توفر نموذج SAM مصدر تدريب ضخم ومتنوع. +- **أداء نقل الانيفورم زيرو شوت:** يعرض نموذج SAM أداء رائع في نقل الانيفورم زيرو شوت في مهام القطع المختلفة، مما يجعله أداة قوية جاهزة للاستخدام في تطبيقات متنوعة مع حاجة قليلة جدًا لهندسة التشفير الخاصة. + +للحصول على نظرة شاملة على نموذج القطعة شيء ما وسلسلة SA-1B، يرجى زيارة [موقع أي شيء في شيء](https://segment-anything.com) واطلع على بحث [أي شيء في شيء](https://arxiv.org/abs/2304.02643). + +## النماذج المتاحة والمهام المدعومة ووضعيات العمل + +تقدم هذه الجدول النماذج المتاحة مع أوزان محددة مسبقًا والمهام التي يدعمونها وتوافقهم مع وضعيات العمل المختلفة مثل [قراءة الصورة](../modes/predict.md)، [التحقق](../modes/val.md)، [التدريب](../modes/train.md)، و [التصدير](../modes/export.md) ، مما يشير إلى ✅ رموز الدعم و ❌ للوضعيات غير المدعومة. + +| نوع النموذج | الأوزان المدربة مسبقًا | المهام المدعومة | قراءة الصورة | التحقق | التدريب | التصدير | +|-------------|------------------------|------------------------------------|--------------|--------|---------|---------| +| SAM الأساسي | `sam_b.pt` | [تجزئة النسخ](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM الكبير | `sam_l.pt` | [تجزئة النسخ](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## كيفية استخدام SAM: مرونة وقوة في تجزئة الصورة + +يمكن استخدام نموذج القطعة شيء من أجل العديد من المهام التابعة إلى تدريبه. يشمل ذلك الكشف عن الحافة، إنشاء ترشيح للكائنات، تجزئة نسخة وتوقع نص مبدئي للتشفير. مع التشفير المهني ، يمكن لـ SAM التكيف بسرعة مع المهمات وتوزيعات البيانات الجديدة بطريقة transfer zero-shot، وبالتالي يعتبر أداة متعددة الاستخدامات وفعالة لجميع احتياجات تجزئة الصورة. + +### مثال لدمج SAM + +!!! Example "القسم بالاشارات" + + تقسيم الصورة مع الإشارات المعطاة. + + === "البايثون" + + ```python + from ultralytics import SAM + + # تحميل النموذج + model = SAM('sam_b.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تشغيل التنبوء بواسطة الدلائل + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # تشغيل التنبوء بواسطة نقاط الإشارة + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "قطع كل الشيء" + + قم بتجزئة الصورة بأكملها. + + === "البايثون" + + ```python + from ultralytics import SAM + + # تحميل النموذج + model = SAM('sam_b.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تشغيل التنبوء + model('مسار/إلى/صورة.jpg') + ``` + + === "صفيحة" + + ```البايش + # تشغيل التنبوء بنموذج SAM + yolo predict model=sam_b.pt source=path/to/image.jpg + ``` + +- المنطق هنا هو تجزئة الصورة كلها إذا لم تمر عبر أي إشارات (bboxes/ points / masks). + +!!! Example "مثال على SAMPredictor" + + بواسطة هذا الطريق ، يمكنك تعيين الصورة مرة واحدة وتشغيل الإشارات مرارًا وتكرارًا دون تشغيل مشفر الصورة مرة أخرى. + + === "التنبؤ بالإشارة" + + ```البايثون + from ultralytics.models.sam import Predictor as SAMPredictor + + # إنشاء SAMPredictor + الأعلى = dict (الثقة = 0.25، task ='segment'، النمط = 'تنبؤ'، imgsz = 1024، نموذج = "mobile_sam.pt") + predictor = SAMPredictor (overrides = التجاوز الأعلى) + + # تعيين الصورة + predictor.set_image("ultralytics/assets/zidane.jpg") # تعيين بواسطة ملف صورة + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # تعيين مع np.ndarray + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # إعادة تعيين الصورة + predictor.reset_image() + ``` + + قطع كل شيء مع وجود معطيات اختيارية. + + === "تقطيع كل شيء" + + ```البايثون + from ultralytics.models.sam import Predictor as SAMPredictor + + # إنشاء SAMPredictor + الأعلى = dict (الثقة = 0.25، task ='segment'، النمط = 'تنبؤ'، imgsz = 1024، نموذج = "mobile_sam.pt") + predictor = SAMPredictor (overrides = التجاوز الأعلى) + + # تجزئة مع بيانات إضافية + results = predictor(source="ultralytics/assets/zidane.jpg"، crop_n_layers=1، points_stride=64) + ``` + +- المزيد args إضافي للتقطيع كل شيء شاهد التوثيق مرجع [`السلبي/تقديم` مرجع](../../reference/models/sam/predict.md). + +## مقارنة SAM مقابل YOLOv8 + +في هذا المكان نقارن نموذج SAM الأصغر سام، SAM-b ، مع نموذج التجزئة YOLOv8 الصغيرة Ultralytics، [YOLOv8n-seg](../tasks/segment.md): + +| النموذج | الحجم | المعلمات | السرعة (المعالج) | +|----------------------------------------------|----------------------------|-----------------------|--------------------------| +| سام SAM-b | 358 م.بايت | 94.7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) with YOLOv8 حافظة | 23.7 MB | 11.8 M | 115 ms/im | +| [YOLOv8n-seg](../tasks/segment.md) ل Ultraly | **6.7 MB** (53.4 مرة أصغر) | **3.4 M** (27.9x أقل) | **59 ms/im** (866x أسرع) | + +هذه المقارنة تظهر الاختلافات في أمر المقدار والسرعة بين النماذج. في حين يقدم SAM قدرات فريدة للتجزئة التلقائية ، إلا أنه ليس منافسًا مباشرًا لنماذج التجزئة YOLOv8 ، حيث تكون أصغر وأسرع وأكثر كفاءة. + +اكتنزات التجريب على ماكينة Apple M2 Macbook 2023 مع 16GB من الذاكرة. لإعادة إنتاج هذا الاختبار: + +!!! Example "مثال" + + === "البايثون" + ```البايثون + from ultralytics import FastSAM, SAM, YOLO + + # تحليل يام-b + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # تحليل MobileSAM + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # تحليل FastSAM-s + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # تحليل YOLOv8n-seg + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## تعلم تلقائي: مسار سريع إلى سلاسل البيانات الخاصة بالتجزئة + +التعلم التلقائي هو ميزة رئيسية لـ SAM، حيث يسمح للمستخدمين بإنشاء [سلاسل بيانات تجزئة](https://docs.ultralytics.com/datasets/segment) باستخدام نموذج الكشف الجاهز. يتيح هذا الميزة إنشاء وتحديث سريع ودقيق لعدد كبير من الصور بدون الحاجة إلى عملية التسمية اليدوية البطيئة. + +### إنشاء سلاسل البيانات الخاصة بالتجزئة باستخدام نموذج الكشف + +للتعليم التلقائي لسلاسل البيانات الخاصة بالتجزئة باستخدام إطار العمل Ultralytics ، استخدم وظيفة 'auto_annotate' كما هو موضح أدناه: + +!!! Example "مثال" + + === "البايثون" + ```البايثون + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="مسار/إلى/صور", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| الوسيطة | النوع | الوصف | الافتراضي | +|------------|------------------------|---------------------------------------------------------------------------------------------------------------------------|--------------| +| البيانات | سلسلة | المسار إلى المجلد الذي يحتوي على الصور التي سيتم الإشارة إليها. | | +| det_model | سلسلة، اختياري | نموذج الكشف المدرب المسبق لـ YOLO. الافتراضي هو 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | سلسلة، اختياري | نموذج القطعة أيا شيء من Ultralytics. الافتراضي هو 'sam_b.pt'. | 'sam_b.pt' | +| device | سلسلة، اختياري | الجهاز الذي يتم تشغيل النماذج عليه. الافتراضي هو سلسلة فارغة (وحدة المعالجة المركزية أو وحدة معالجة الرسومات إذا توافرت). | | +| output_dir | سلسلة، لا شيء، اختياري | الدليل لحفظ النتائج المرئية. الافتراضي هو مجلد 'التسميات' في نفس دليل 'البيانات'. | لا شيء | + +يأخذ تابع 'auto_annotate' المسار إلى الصور الخاصة بك مع وسيطات اختيارية لتحديد نموذج الكشف المدرب مسبقًا ونموذج التجزئة SAM والجهاز الذي سيتم تشغيل النماذج به والدليل الخروج لحفظ النتائج المرئية. + +تعلم تلقائيًا باستخدام نماذج مدربة مسبقًا يمكن أن يقلل بشكل كبير من الوقت والجهد المطلوب لإنشاء سلاسل بيانات تجزئة عالية الجودة. يكون هذا الأمر مفيدًا خصوصًا للباحثين والمطورين الذين يتعاملون مع مجموعات صور كبيرة ، حيث يتيح لهم التركيز على تطوير النماذج وتقييمها بدلاً من التسمية اليدوية البطيئة. + +## الاقتباسات والتقديرات + +إذا وجدت SAM مفيدًا في البحث أو العمل التطويري الخاص بك ، يرجى النظر في استشهاد بحثنا: + +!!! Quote "" + + === "البيبتيكس" + ```البيبتيكس + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +نود أن نعبر عن امتناننا لـ Meta AI لإنشاء وصيانة هذا المورد القيم لمجتمع البصريات الحواسيبية. + +*أكلمات دالة: سلسلة المفعولة, نموذج القطعة شيء ما, SAM, Meta SAM, التجزئة, التشفير المميز, آلة آي, segment, Ultralytics, نماذج مدربة مسبقا, SAM الاساسي, SAM الكبير, تجزئة الكيانات, الرؤية الكمبيوترية, آي الاصطناعية, التعلم الآلي, تسمية بيانات, قناع التجزئة, نموذج الكشف, نموذج الكشف YOLO, البيبتكس, Meta AI.* diff --git a/docs/ar/models/yolo-nas.md b/docs/ar/models/yolo-nas.md new file mode 100644 index 00000000000..29ea0cb04b7 --- /dev/null +++ b/docs/ar/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: استكشف التوثيق المفصل لـ YOLO-NAS ، وهو نموذج كشف الكائنات المتطور. تعلم المزيد عن ميزاته والطرز المدربة مسبقًا واستخدامه مع واجهة برمجة Ultralytics Python وأكثر من ذلك. +keywords: YOLO-NAS, Deci AI, كشف الكائنات, deep learning, البحث في الهندسة العصبية, واجهة برمجة Ultralytics Python, نموذج YOLO, الطرز المدربة مسبقًا, كمّية, التحسين, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## نظرة عامة + +تم تطوير YOLO-NAS بواسطة ديسي ايه اي ، وهو نموذج استشعار الكائنات الطائرة للأمام الذي يقدم تطورًا مبتكرًا. إنه منتج تكنولوجيا بحث الهندسة العصبية المتقدمة ، المصممة بعناية لمعالجة القيود التي كانت تعاني منها النماذج السابقة YOLO. مع تحسينات كبيرة في دعم التمثيل الكموني وتنازلات الدقة والتأخير ، يمثل YOLO-NAS قفزة كبيرة في كشف الكائنات. + +![نموذج صورة مثال](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**نظرة عامة على YOLO-NAS.** يستخدم YOLO-NAS كتلًا تفاعلية للتمثيل الكموني وتمثيل كمي للحصول على أداء مثلى. يواجه النموذج ، عند تحويله إلى الإصدار المكون من 8 بت ، انخفاضًا طفيفًا في الدقة ، وهو تحسين كبير على النماذج الأخرى. تتوج هذه التطورات بتصميم متفوق ذي قدرات استشعار للكائنات لا مثيل لها وأداء متميز. + +### المزايا الرئيسية + +- **كتلة أساسية ودية للتمثيل الكموني:** يقدم YOLO-NAS كتلة أساسية جديدة ودية للتمثيل الكموني ، مما يعالج أحد القيود الرئيسية للنماذج السابقة YOLO. +- **تدريب متطور وتمثيل كمي:** يستخدم YOLO-NAS نظم تدريب متقدمة وتمثيلًا للكم بعد التدريب لتعزيز الأداء. +- **تحسين AutoNAC والتدريب المسبق:** يستخدم YOLO-NAS تحسين AutoNAC ويتم تدريبه مسبقًا على مجموعات بيانات بارزة مثل COCO و Objects365 و Roboflow 100. يجعل هذا التدريب المسبق مناسبًا لمهام استشعار الكائنات الفرعية في بيئات الإنتاج. + +## الطرز المدربة مسبقًا + +استمتع بقوة كشف الكائنات من الجيل القادم مع الطرز المدربة مسبقًا لـ YOLO-NAS التي يوفرها Ultralytics. تم تصميم هذه الطرز لتقديم أداء متفوق من حيث السرعة والدقة. اختر من بين مجموعة متنوعة من الخيارات المصممة وفقًا لاحتياجاتك الخاصة: + +| الطراز | مؤشر التقدير المتوسط (mAP) | تأخر الوقت (ms) | +|------------------|----------------------------|-----------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +تم تصميم كل نسخة من النموذج لتقديم توازن بين متوسط الدقة (mAP) وتأخير الوقت ، مما يساعدك في تحسين مهام كشف الكائنات الخاصة بك من حيث الأداء والسرعة. + +## أمثلة الاستخدام + +قام Ultralytics بجعل طرز YOLO-NAS سهلة الدمج في تطبيقات Python الخاصة بك عبر حزمة `ultralytics` الخاصة بنا. توفر الحزمة واجهة برمجة التطبيقات بسيطة الاستخدام لتسهيل العملية. + +توضح الأمثلة التالية كيفية استخدام طرز YOLO-NAS مع حزمة `ultralytics` للكشف والتحقق: + +### أمثلة الكشف والتحقق + +في هذا المثال ، نقوم بالتحقق من صحة YOLO-NAS-s على مجموعة بيانات COCO8. + +!!! Example "مثال" + + يوفر هذا المثال رمز بسيط لعملية الكشف والتحقق لـ YOLO-NAS. لمعالجة نتائج الاستدلال ، انظر وضع [توقع](../modes/predict.md). لاستخدام YOLO-NAS مع وضعيات إضافية ، انظر [توصيف](../modes/val.md) و[تصدير](../modes/export.md). لا يدعم نظام YOLO-NAS على حزمة `ultralytics` عملية التدريب. + + === "Python" + + يمكن تمرير نماذج PyTorch المدربة مسبقًا `*.pt` إلى فئة `NAS()` لإنشاء نموذج في Python: + + ```python + from ultralytics import NAS + + # تحميل نموذج YOLO-NAS-s المدرب مسبقًا على COCO + model = NAS('yolo_nas_s.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # التحقق من صحة النموذج على مجموعة بيانات مثال COCO8 + results = model.val(data='coco8.yaml') + + # تشغيل استدلال باستخدام نموذج YOLO-NAS-s على صورة 'bus.jpg' + results = model('path/to/bus.jpg')) + ``` + + === "CLI" + + تتوفر أوامر CLI لتشغيل النماذج مباشرة: + + ```bash + # تحميل نموذج YOLO-NAS-s المدرب مسبقًا على COCO والتحقق من أدائه على مجموعة بيانات مثال COCO8 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # تحميل نموذج YOLO-NAS-s المدرب مسبقًا على COCO والتنبؤ بالاستدلال على صورة 'bus.jpg' + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## المهام والأوضاع المدعومة + +نحن نقدم ثلاثة أنواع من نماذج YOLO-NAS: الصغير (s) ، المتوسط (m) ، والكبير (l). يتم تصميم كل نسخة لتلبية احتياجات الحوسبة والأداء المختلفة: + +- **YOLO-NAS-s**: محسنة للبيئات التي تكون فيها الموارد الحسابية محدودة والكفاءة هي الأهم. +- **YOLO-NAS-m**: يقدم نهجًا متوازنًا ، مناسبًا لكشف الكائنات العامة بدقة أعلى. +- **YOLO-NAS-l**: مصممة للسيناريوهات التي تتطلب أعلى درجة من الدقة ، حيث الموارد الحسابية أقل قيدًا. + +أدناه نظرة عامة مفصلة عن كل نموذج ، بما في ذلك روابط أوزانهم المدربين مسبقًا ، والمهام التي يدعمونها ، وتوافقهم مع وضعيات التشغيل المختلفة. + +| نوع النموذج | أوزان مدربة مسبقًا | المهام المدعومة | الاستدلال | التحقق | التدريب | التصدير | +|-------------|-----------------------------------------------------------------------------------------------|------------------------------------|-----------|--------|---------|---------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## الاقتباسات والشكر + +إذا استخدمت YOLO-NAS في أعمالك البحثية أو التطويرية ، يرجى الاستشهاد بمشروع SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +نعبر عن امتناننا لفريق [SuperGradients](https://github.com/Deci-AI/super-gradients/) في Deci AI لجهودهم في إنشاء وصيانة هذة الموارد القيمة لمجتمع رؤية الحاسوب. نعتقد أن YOLO-NAS ، بتصميمه المبتكر وقدرته الاستشعار المتفوقة للكائنات ، سيصبح أداة حاسمة للمطورين والباحثين على حد سواء. + +*keywords: YOLO-NAS, Deci AI, كشف الكائنات, deep learning, البحث في الهندسة العصبية, واجهة برمجة Ultralytics Python, نموذج YOLO, SuperGradients, الطرز المدربة مسبقًا, كتلة أساسية ودية للتمثيل الكموني, أنظمة تدريب متطورة, تمثيل كمي بعد التدريب, تحسين AutoNAC, COCO, Objects365, Roboflow 100* diff --git a/docs/ar/models/yolov3.md b/docs/ar/models/yolov3.md new file mode 100644 index 00000000000..d34e91519f6 --- /dev/null +++ b/docs/ar/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: احصل على نظرة عامة حول YOLOv3 و YOLOv3-Ultralytics و YOLOv3u. تعرف على ميزاتها الرئيسية واستخدامها والمهام المدعومة للكشف عن الكائنات. +keywords: YOLOv3، YOLOv3-Ultralytics، YOLOv3u، الكشف عن الكائنات، إجراء، التدريب، Ultralytics +--- + +# YOLOv3 و YOLOv3-Ultralytics و YOLOv3u + +## النظرة العامة + +يقدم هذا الوثيقة نظرة عامة على ثلاث نماذج مرتبطة بكشف الكائنات ، وهي [YOLOv3](https://pjreddie.com/darknet/yolo/) و [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) و [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3:** هذه هي الإصدار الثالث من خوارزمية You Only Look Once (YOLO) للكشف عن الكائنات. قام جوزيف ريدمون بتطويرها بالأصل ، وقد قامت YOLOv3 بتحسين سابقيها من خلال إدخال ميزات مثل التنبؤات متعددة المقياس وثلاثة أحجام مختلفة من نوى الكشف. + +2. **YOLOv3-Ultralytics:** هذه هي تنفيذ Ultralytics لنموذج YOLOv3. يقوم بإعادة إنتاج بنية YOLOv3 الأصلية ويقدم وظائف إضافية ، مثل دعم المزيد من النماذج المدربة مسبقًا وخيارات تخصيص أسهل. + +3. **YOLOv3u:** هذا هو الإصدار المُحدّث لـ YOLOv3-Ultralytics الذي يدمج رأس الكشف بدون مشتركات وبدون مستخدم الكائن الذي يستخدم في نماذج YOLOv8. يحتفظ YOLOv3u بنفس بنية العمود الفقري والعنق مثل YOLOv3 ولكن برأس الكشف المُحدث من YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## الميزات الرئيسية + +- **YOLOv3:** قدم استخدام ثلاث مقياسات مختلفة للكشف ، باستخدام ثلاثة أحجام مختلفة من نوى الكشف: 13x13 ، 26x26 و 52x52. هذا يحسن بشكل كبير دقة الكشف للكائنات ذات الأحجام المختلفة. بالإضافة إلى ذلك ، أضاف YOLOv3 ميزات مثل التنبؤات متعددة العلامات لكل مربع محاذاة وشبكة استخراج سمات أفضل. + +- **YOLOv3-Ultralytics:** توفر تنفيذ Ultralytics لـ YOLOv3 نفس الأداء مثل النموذج الأصلي ولكنه يأتي مع دعم إضافي للمزيد من النماذج المدربة مسبقًا وطرق تدريب إضافية وخيارات أسهل للتخصيص. هذا يجعلها أكثر مرونة وسهولة استخداماً للتطبيقات العملية. + +- **YOLOv3u:** يدمج هذا النموذج المُحدّث رأس الكشف بدون مشتركات وبدون مستخدم الكائن من YOLOv8. من خلال إزالة الحاجة إلى صناديق المرجع المحددة مسبقًا ودرجات تكون الكائن ، يمكن أن يحسن تصميم رأس الكشف هذا قدرة النموذج على كشف الكائنات ذات الأحجام والأشكال المتنوعة. هذا يجعل YOLOv3u أكثر مرونة ودقة لمهام كشف الكائنات. + +## المهام المدعومة والأوضاع + +تم تصميم سلسلة YOLOv3 ، بما في ذلك YOLOv3 و YOLOv3-Ultralytics و YOLOv3u ، خصيصًا لمهام الكشف عن الكائنات. يشتهر هذه النماذج بفعاليتها في سيناريوهات العالم الحقيقي المختلفة ، مع توازن دقة الكشف والسرعة. يوفر كل طراز ميزات وتحسينات فريدة ، مما يجعلها مناسبة لمجموعة متنوعة من التطبيقات. + +يدعم النماذج الثلاثة وضعًا شاملاً من الأوضاع ، مما يضمن مرونة في مراحل مختلفة من نموذج النشر والتطوير. هذه الأوضاع تشمل [التمييز](../modes/predict.md) ، [التحقق](../modes/val.md) ، [التدريب](../modes/train.md) و [التصدير](../modes/export.md) ، مما يوفر للمستخدمين مجموعة كاملة من أدوات فعالة للكشف عن الكائنات. + +| نوع النموذج | المهام المدعومة | التمييز | التحقق | التدريب | التصدير | +|--------------------|------------------------------------|---------|--------|---------|---------| +| YOLOv3 | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +توفر هذه الجدولة نظرة فورية على إمكانات كل نسخة من YOLOv3 ، مما يسلط الضوء على مرونتها وملاءمتها لمختلف المهام وأوضاع العمل العملية في سير العمل لكشف الكائنات. + +## أمثلة الاستخدام + +يقدم هذا المثال أمثلة بسيطة للتدريب والتنبؤ باستخدام YOLOv3. للحصول على وثائق كاملة حول هذه وغيرها من [الأوضاع](../modes/index.md) انظر صفحات الوثائق: [التنبؤ](../modes/predict.md) ، (../modes/train.md) [Val](../modes/val.md) و [التصدير](../modes/export.md) docs. + +!!! Example "مثال" + + === "بيثون" + + يمكن تمرير نماذج PyTorch المدربة مسبقًا `*.pt` وملفات التكوين `*.yaml` إلى فئة `YOLO()` لإنشاء نموذج في Python: + + ```python + من ultralytics استيراد YOLO + + # تحميل نموذج YOLOv3n المدرب مسبقًا على COCO + model = YOLO('yolov3n.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تدريب النموذج على مجموعة البيانات المثالية Coco8 لمدة 100 دورة تدريب + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # قم بتشغيل التنبؤ باستخدام نموذج YOLOv3n على صورة 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + تتوفر أوامر CLI لتشغيل النماذج مباشرة: + + ```bash + # تحميل نموذج YOLOv3n المدرب مسبقًا على COCO وقم بتدريبه على مجموعة البيانات المثالية Coco8 لمدة 100 دورة تدريب + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # تحميل نموذج YOLOv3n المدرب مسبقًا على COCO وتشغيل التنبؤ على صورة 'bus.jpg' + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## الاقتباسات والشكر + +إذا قمت باستخدام YOLOv3 في بحثك ، فيرجى الاقتباس لأوراق YOLO الأصلية ومستودع Ultralytics YOLOv3: + +!!! Quote "" + + === "بيب تيكس" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +شكراً لجوزيف ريدمون وعلي فرهادي على تطوير YOLOv3 الأصلي. diff --git a/docs/ar/models/yolov4.md b/docs/ar/models/yolov4.md new file mode 100644 index 00000000000..cab8cace36f --- /dev/null +++ b/docs/ar/models/yolov4.md @@ -0,0 +1,72 @@ +--- +comments: true +description: استكشف دليلنا التفصيلي على YOLOv4 ، وهو جهاز كشف الكائنات الحديثة في الوقت الحقيقي. فهم أبرز معالم التصميم المعماري الخاصة به ، والميزات المبتكرة ، وأمثلة التطبيق. +keywords: ultralytics ، yolo v4 ، كشف الكائنات ، شبكة عصبية ، كشف في الوقت الحقيقي ، كاشف الكائنات ، تعلم الآلة + +--- + +# YOLOv4: الكشف العالي السرعة والدقة للكائنات + +أهلاً بك في صفحة وثائق Ultralytics لـ YOLOv4 ، جهاز كشف الكائنات الحديث في الوقت الحقيقي الذي تم إطلاقه في عام 2020 من قبل Alexey Bochkovskiy على [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). تم تصميم YOLOv4 لتوفير التوازن المثالي بين السرعة والدقة ، مما يجعله خيارًا ممتازًا للعديد من التطبيقات. + +![رسم توضيحي لهندسة YOLOv4](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**رسم توضيحي لهندسة YOLOv4**. يعرض التصميم المعماري المعقد لشبكة YOLOv4 ، بما في ذلك المكونات الرئيسية والرقبة والرأس ، والطبقات المترابطة للكشف الفعال في الوقت الحقيقي. + +## مقدمة + +تعني YOLOv4 "فقط تنظر مرة واحدة النسخة 4". هو نموذج كشف الكائنات الحقيقي الزمني الذي تم تطويره لمعالجة قيود الإصدارات السابقة لـ YOLO مثل [YOLOv3](yolov3.md) ونماذج كشف الكائنات الأخرى. على عكس كاشفات الكائنات الأخرى القائمة على الشبكات العصبية المتزاحمة المستخدمة للكشف عن الكائنات ، يمكن تطبيق YOLOv4 لأنظمة الوصية النصحية وكذلك لإدارة العملية المستقلة وتقليل الإدخالات البشرية. يتيح تشغيله على وحدات معالجة الرسومات القياسية (GPUs) الاستخدام الشامل بتكلفة معقولة ، وتم تصميمه للعمل في الوقت الفعلي على وحدة معالجة الرسومات التقليدية مع الحاجة إلى وحدة واحدة فقط من هذا النوع للتدريب. + +## الهندسة + +تستغل YOLOv4 العديد من الميزات المبتكرة التي تعمل معًا لتحسين أدائها. تشمل هذه الميزات الاتصالات المتبقية المرجحة (WRC) ، والاتصالات الجزئية عبر المرحلة المتقاطعة (CSP) ، والتطبيع المتقاطع المصغر لدُفع (CmBN) ، والتدريب المتنازع لنفسه (SAT) ، وتنشيط Mish ، وزيادة بيانات الزخم ، وتنظيم DropBlock ، وخسارة CIoU. يتم دمج هذه الميزات لتحقيق أحدث النتائج. + +يتألف كاشف الكائنات النموذجي من عدة أجزاء بما في ذلك المدخل والظهر والرقبة والرأس. يتم تدريب الظهرية لـ YOLOv4 سلفًا على ImageNet ويستخدم لتوقع فئات ومربعات محيطة للكائنات. يمكن أن يكون الظهرية من عدة نماذج بما في ذلك VGG و ResNet و ResNeXt أو DenseNet. يتم استخدام جزء الرقبة من الكاشف لجمع خرائط الميزات من مراحل مختلفة وعادة ما يتضمن عدة مسارات لأسفل وعدة مسارات للأعلى. جزء الرأس هو ما يستخدم لإجراء اكتشاف الكائنات والتصنيف النهائي. + +## الحقيبة المجانية + +يستخدم YOLOv4 أيضًا طرقًا تعرف باسم "حقيبة المجانيات" وهي تقنيات تحسِّن دقة النموذج أثناء التدريب دون زيادة تكلفة الاستنتاج. تعد التعديلات في البيانات تقنية شائعة في كشف الكائنات ، والتي تزيد من تنوع صور الإدخال لتحسين قوة الموديل. بعض أمثلة التعديل في البيانات تشمل التشويهات البصرية (ضبط السطوع والتباين والدرجة والتشبع والضوضاء في الصورة) والتشويهات الهندسية (إضافة توزيع عشوائي للتغيير المقياسي والاقتصاص والانعكاس والتدوير). تساعد هذه التقنيات الموديل في التعميم على أنواع مختلفة من الصور. + +## الميزات والأداء + +تم تصميم YOLOv4 لتحقيق سرعة ودقة مثلى في كشف الكائنات. يتضمن تصميم YOLOv4 CSPDarknet53 كظهر ، PANet كرقبة ، و YOLOv3 كرأس كشف. يسمح هذا التصميم لـ YOLOv4 بأداء كشف الكائنات بسرعة مذهلة ، مما يجعله مناسبًا لتطبيقات الوقت الحقيقي. يتفوق YOLOv4 أيضًا في الدقة ، ويحقق نتائج عالية في مقاييس كشف الكائنات. + +## أمثلة الاستخدام + +في وقت كتابة هذا النص ، لا يدعم Ultralytics حاليًا نماذج YOLOv4. لذلك ، سيحتاج أي مستخدمين مهتمين باستخدام YOLOv4 إلى الرجوع مباشرة إلى مستودع YOLOv4 على GitHub للحصول على تعليمات التثبيت والاستخدام. + +إليك نظرة عامة موجزة على الخطوات النموذجية التي يمكن أن تتخذها لاستخدام YOLOv4: + +1. قم بزيارة مستودع YOLOv4 على GitHub: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. اتبع التعليمات المقدمة في ملف README لعملية التثبيت. ينطوي هذا عادة على استنساخ المستودع ، وتثبيت التبعيات اللازمة ، وإعداد أي متغيرات بيئة ضرورية. + +3. بمجرد الانتهاء من التثبيت ، يمكنك تدريب واستخدام النموذج وفقًا لتعليمات الاستخدام المقدمة في المستودع. يتضمن ذلك عادة إعداد مجموعة البيانات الخاصة بك ، وتكوين معاملات النموذج ، وتدريب النموذج ، ثم استخدام النموذج المدرب لأداء اكتشاف الكائنات. + +يرجى ملاحظة أن الخطوات النموذجية قد تختلف اعتمادًا على حالة الاستخدام الخاصة بك وحالة مستودع YOLOv4 الحالي. لذلك ، يُنصح بشدة بالرجوع مباشرة إلى التعليمات المقدمة في مستودع YOLOv4 على GitHub. + +نؤسف على أي إزعاج ، وسنسعى لتحديث هذا المستند بأمثلة استخدام لـ Ultralytics بمجرد تنفيذ الدعم لـ YOLOv4. + +## الاستنتاج + +YOLOv4 هو نموذج قوي وفعال لكشف الكائنات يجمع بين السرعة والدقة. يستخدم الميزات الفريدة وتقنيات الزخم في التدريب للأداء بشكل ممتاز في مهام اكتشاف الكائنات في الوقت الفعلي. يمكن لأي شخص يمتلك وحدة معالجة رسومية تقليدية تدريب YOLOv4 واستخدامها ، مما يجعلها سهلة الوصول وعملية لمجموعة واسعة من التطبيقات. + +## التنويه والتقديرات + +نود أن نعترف بمساهمة أصحاب YOLOv4 في مجال كشف الكائنات الحقيقية الزمنية: + +!!! Quote "" + + === "بيب تكس" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +يمكن العثور على ورقة YOLOv4 الأصلية على [arXiv](https://arxiv.org/pdf/2004.10934.pdf). قام المؤلفون بتوفير عملهم بشكل عام ، ويمكن الوصول إلى قاعدة الشفرات على [GitHub](https://github.com/AlexeyAB/darknet). نقدر جهودهم في تعزيز الميدان وتوفير عملهم للمجتمع العريض. diff --git a/docs/ar/models/yolov5.md b/docs/ar/models/yolov5.md new file mode 100644 index 00000000000..32481a3f151 --- /dev/null +++ b/docs/ar/models/yolov5.md @@ -0,0 +1,107 @@ +--- +comments: true +description: اكتشف YOLOv5u، وهو إصدار معزز لنموذج YOLOv5 يوفر توازنًا محسنًا بين الدقة والسرعة والعديد من النماذج المدربة مسبقًا لمهام كشف الكائنات المختلفة. +keywords: YOLOv5u، كشف الكائنات، النماذج المدربة مسبقًا، Ultralytics، التشخيص، التحقق، YOLOv5، YOLOv8، بدون قاعدة تثبيت العقدة الرئيسية، بدون قيمة الكائن، التطبيقات الفعلية، تعلم الآلة +--- + +# YOLOv5 + +## نظرة عامة + +يمثل YOLOv5u تقدمًا في منهجيات كشف الكائنات. يندرج YOLOv5u تحت البنية المعمارية الأساسية لنموذج [YOLOv5](https://github.com/ultralytics/yolov5) الذي طورته شركة Ultralytics، و يدمج نموذج YOLOv5u ميزة القسمة على جزئين للكائنات المستقلة عن القاعدة التي تم تقديمها في نماذج [YOLOv8](yolov8.md). تحسين هذا النمط يحسن نمط النموذج، مما يؤدي إلى تحسين التوازن بين الدقة والسرعة في مهام كشف الكائنات. بناءً على النتائج التجريبية والمزايا المشتقة منها، يقدم YOLOv5u بديلاً فعالًا لأولئك الذين يسعون لإيجاد حلول قوية في الأبحاث والتطبيقات العملية. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## المزايا الرئيسية + +- **رأس Ultralytics للقسمة بدون قاعدة تثبيت العقدة:** يعتمد نماذج كشف الكائنات التقليدية على صناديق قاعدة محددة مسبقًا لتوقع مواقع الكائنات. ومع ذلك، يحدث تحديث في نهج YOLOv5u هذا. من خلال اعتماد رأس Ultralytics المُقسم بدون قاعدة تثبيت العقدة، يضمن هذا النمط آلية كشف أكثر مرونة واندفاعًا، مما يعزز الأداء في سيناريوهات متنوعة. + +- **توازن محسن بين الدقة والسرعة:** تتصارع السرعة والدقة في العديد من الأحيان. ولكن YOLOv5u يتحدى هذا التوازن. يقدم توازنًا معايرًا، ويضمن كشفًا في الوقت الفعلي دون المساومة على الدقة. تعد هذه الميزة ذات قيمة خاصة للتطبيقات التي تتطلب استجابة سريعة، مثل المركبات المستقلة والروبوتات وتحليل الفيديو في الوقت الفعلي. + +- **مجموعة متنوعة من النماذج المدربة مسبقًا:** على فهم الأمور التي تحتاج إلى مجموعات أدوات مختلفة YOLOv5u يوفر العديد من النماذج المدربة مسبقًا. سواء كنت تركز على التشخيص أو التحقق أو التدريب، هناك نموذج مصمم خصيصًا ينتظرك. يضمن هذا التنوع أنك لا تستخدم حلاً من نوع واحد يناسب الجميع، ولكن نموذج موازن حسب حاجتك الفريدة. + +## المهام والأوضاع المدعومة + +تتفوق نماذج YOLOv5u، مع مجموعة متنوعة من الأوزان المدربة مسبقًا، في مهام [كشف الكائنات](../tasks/detect.md). تدعم هذه النماذج مجموعة شاملة من الأوضاع، مما يجعلها مناسبة لتطبيقات متنوعة، من التطوير إلى التنفيذ. + +| نوع النموذج | الأوزان المدربة مسبقًا | المهمة | التشخيص | التحقق | التدريب | التصدير | +|-------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------|---------|--------|---------|---------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [كشف الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +يوفر هذا الجدول نظرة عامة مفصلة عن البدائل من نماذج نموذج YOLOv5u، ويسلط الضوء على تطبيقاتها في مهام كشف الكائنات ودعمها لأوضاع تشغيل متنوعة مثل [التشخيص](../modes/predict.md)، [التحقق](../modes/val.md)، [التدريب](../modes/train.md)، و[التصدير](../modes/export.md). يضمن هذا الدعم الشامل أن يمكن للمستخدمين استغلال قدرات نماذج YOLOv5u بشكل كامل في مجموعة واسعة من سيناريوهات كشف الكائنات. + +## الأداء + +!!! الأداء + + === "كشف" + + راجع [وثائق الكشف](https://docs.ultralytics.com/tasks/detect/) للحصول على أمثلة استخدام مع هذه النماذج المدربة على [COCO](https://docs.ultralytics.com/datasets/detect/coco/)، التي تشمل 80 فئة مدربة مسبقًا. + + | النموذج | يامل | حجم
(بكسل) | mAPval
50-95 | سرعة
معالج الجهاز ONNX
(مللي ثانية) | سرعة
حويصلة A100 TensorRT
(مللي ثانية) | المعلمات
(مليون) | FLOPs
(بليون) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## أمثلة للاستخدام + +يقدم هذا المثال أمثلة بسيطة للغاية للتدريب والتشخيص باستخدام YOLOv5. يُمكن إنشاء نموذج مثيل في البرمجة باستخدام نماذج PyTorch المدربة مسبقًا في صيغة `*.pt` وملفات التكوين `*.yaml`: + +```python +from ultralytics import YOLO + +#قم بتحميل نموذج YOLOv5n المدرب مسبقًا على مجموعة بيانات COCO +model = YOLO('yolov5n.pt') + +# قم بعرض معلومات النموذج (اختياري) +model.info() + +# قم بتدريب النموذج على مجموعة البيانات COCO8 لمدة 100 دورة +results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + +# قم بتشغيل التشخيص بنموذج YOLOv5n على صورة 'bus.jpg' +results = model('path/to/bus.jpg') +``` + +=== "سطر الأوامر" + + يتاح سطر الأوامر لتشغيل النماذج مباشرة: + + ```bash + # قم بتحميل نموذج YOLOv5n المدرب مسبقًا على مجموعة بيانات COCO8 وقم بتدريبه لمدة 100 دورة + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # قم بتحميل نموذج YOLOv5n المدرب مسبقًا على مجموعة بيانات COCO8 وتشغيل حالة التشخيص على صورة 'bus.jpg' + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## الاستشهادات والتقدير + +إذا قمت باستخدام YOLOv5 أو YOLOv5u في بحثك، يرجى استشهاد نموذج Ultralytics YOLOv5 بطريقة الاقتباس التالية: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +يرجى ملاحظة أن نماذج YOLOv5 متاحة بترخيص [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) و[Enterprise](https://ultralytics.com/license). diff --git a/docs/ar/models/yolov6.md b/docs/ar/models/yolov6.md new file mode 100644 index 00000000000..12dd557216d --- /dev/null +++ b/docs/ar/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: استكشف نموذج Meituan YOLOv6 للكشف عن الكائنات الحديثة، والذي يوفر توازنًا مذهلاً بين السرعة والدقة، مما يجعله الخيار الأمثل لتطبيقات الوقت الحقيقي. تعرّف على الميزات والنماذج المُدربة مسبقًا واستخدام Python. +keywords: Meituan YOLOv6، الكشف عن الكائنات، Ultralytics، YOLOv6 docs، Bi-directional Concatenation، تدريب بمساعدة العناصر، النماذج المدربة مسبقا، تطبيقات الوقت الحقيقي +--- + +# Meituan YOLOv6 + +## نظرة عامة + +[Meituan](https://about.meituan.com/) YOLOv6 هو منظّف الكائنات الحديثة الحديثة الذي يُقدم توازنًا ملحوظًا بين السرعة والدقة، مما يجعله خيارًا شائعًا لتطبيقات الوقت الحقيقي. يُقدم هذا النموذج العديد من التحسينات الملحوظة في بنيته ونظام التدريب، بما في ذلك تطبيق وحدة Bi-directional Concatenation (BiC)، واستراتيجية AAT (anchor-aided training) التي تعتمد على العناصر، وتصميم محسّن للأساس والرقبة لتحقيق أداء على مجموعة بيانات COCO يفوق جميع النماذج الأخرى. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Model example image](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**نظرة عامة على YOLOv6.** مخطط بنية النموذج يوضح المكونات المعاد تصميمها واستراتيجيات التدريب التي أدت إلى تحسينات أداء كبيرة. (أ) الرقبة الخاصة بـ YOLOv6 (N و S معروضان). لاحظ أنه بالنسبة لم/n، يتم استبدال RepBlocks بـ CSPStackRep. (ب) هيكل وحدة BiC. (ج) مكون SimCSPSPPF. ([المصدر](https://arxiv.org/pdf/2301.05586.pdf)). + +### ميزات رئيسية + +- **وحدة Bi-directional Concatenation (BiC):** يقدم YOLOv6 وحدة BiC في الرقبة التابعة للكاشف، مما يعزز إشارات التحديد المحلية ويؤدي إلى زيادة الأداء دون التأثير على السرعة. +- **استراتيجية التدريب بمساعدة العناصر (AAT):** يقدم هذا النموذج استراتيجية AAT للاستفادة من فوائد النماذج المستندة إلى العناصر وغير المستندة إليها دون التضحية في كفاءة الاستدلال. +- **تصميم أساس ورقبة محسّن:** من خلال تعميق YOLOv6 لتشمل مرحلة أخرى في الأساس والرقبة، يحقق هذا النموذج أداءً يفوق جميع النماذج الأخرى على مجموعة بيانات COCO لإدخال عالي الدقة. +- **استراتيجية الاستنباط الذاتي:** يتم تنفيذ استراتيجية استنتاج ذاتي جديدة لتعزيز أداء النماذج الصغيرة من YOLOv6، وذلك عن طريق تعزيز فرع الانحدار المساعد خلال التدريب وإزالته في الاستنتاج لتجنب انخفاض السرعة الواضح. + +## معايير الأداء + +يوفر YOLOv6 مجموعة متنوعة من النماذج المدرّبة مسبقًا بمقاييس مختلفة: + +- YOLOv6-N: ٣٧.٥٪ AP في COCO val2017 عندما يتم استخدام بطاقة NVIDIA Tesla T4 GPU وسرعة ١١٨٧ إطار في الثانية. +- YOLOv6-S: ٤٥.٠٪ AP وسرعة ٤٨٤ إطار في الثانية. +- YOLOv6-M: ٥٠.٠٪ AP وسرعة ٢٢٦ إطار في الثانية. +- YOLOv6-L: ٥٢.٨٪ AP وسرعة ١١٦ إطار في الثانية. +- YOLOv6-L6: دقة حديثة في الزمن الحقيقي. + +كما يوفر YOLOv6 نماذج مؤنقة (quantized models) بدقات مختلفة ونماذج محسنة للمنصات المحمولة. + +## أمثلة عن الاستخدام + +يقدم هذا المثال أمثلة بسيطة لتدريب YOLOv6 واستنتاجه. للحصول على وثائق كاملة حول هذه وأوضاع أخرى [انظر](../modes/index.md) الى الصفحات التوضيحية لتوسعة الوثائق الفائقة ، [توقع](../modes/predict.md) ، [تدريب](../modes/train.md) ، [التحقق](../modes/val.md) و [التصدير](../modes/export.md). + +!!! Example "مثال" + + === "Python" + + يمكن تمرير النماذج المدرّبة مسبقًا بتنسيق `*.pt` في PyTorch وملفات التكوين `*.yaml` لفئة `YOLO()` لإنشاء نموذج في Python: + + ```python + from ultralytics import YOLO + + # إنشاء نموذج YOLOv6n من البداية + model = YOLO('yolov6n.yaml') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تدريب النموذج على مجموعة بيانات مثال COCO8 لمدة 100 دورة تدريب + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # تشغيل الاستنتاج بنموذج YOLOv6n على صورة 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + يمكن استخدام أوامر CLI لتشغيل النماذج مباشرةً: + + ```bash + # إنشاء نموذج YOLOv6n من البداية وتدريبه باستخدام مجموعة بيانات مثال COCO8 لمدة 100 دورة تدريب + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # إنشاء نموذج YOLOv6n من البداية وتشغيل الاستنتاج على صورة 'bus.jpg' + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## المهام والأوضاع المدعومة + +تقدم سلسلة YOLOv6 مجموعة من النماذج، والتي تم تحسينها للكشف عن الكائنات عالي الأداء. تلبي هذه النماذج احتياجات الكمبيوتيشن المتنوعة ومتطلبات الدقة، مما يجعلها متعددة الاستخدامات في مجموعة واسعة من التطبيقات. + +| نوع النموذج | الأوزان المدربة مسبقًا | المهام المدعومة | الاستنتاج | التحقق | التدريب | التصدير | +|-------------|------------------------|-----------------------------------------|-----------|--------|---------|---------| +| YOLOv6-N | `yolov6-n.pt` | [الكشف عن الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [الكشف عن الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [الكشف عن الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [الكشف عن الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [الكشف عن الكائنات](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +توفر هذه الجدول نظرة عامة مفصلة على النماذج المختلفة لـ YOLOv6، مع تسليط الضوء على قدراتها في مهام الكشف عن الكائنات وتوافقها مع الأوضاع التشغيلية المختلفة مثل [الاستنتاج](../modes/predict.md) و [التحقق](../modes/val.md) و [التدريب](../modes/train.md) و [التصدير](../modes/export.md). هذا الدعم الشامل يضمن أن يمكن للمستخدمين الاستفادة الكاملة من قدرات نماذج YOLOv6 في مجموعة واسعة من سيناريوهات الكشف عن الكائنات. + +## الاقتباسات والتقديرات + +نحن نود أن نقدّم الشكر للمؤلفين على مساهماتهم الهامة في مجال كشف الكائنات في الوقت الحقيقي: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +يمكن العثور على الورقة الأصلية لـ YOLOv6 على [arXiv](https://arxiv.org/abs/2301.05586). نشر المؤلفون عملهم بشكل عام، ويمكن الوصول إلى الشيفرة المصدرية على [GitHub](https://github.com/meituan/YOLOv6). نحن نقدّر جهودهم في تطوير هذا المجال وجعل عملهم متاحًا للمجتمع بأسره. diff --git a/docs/ar/models/yolov7.md b/docs/ar/models/yolov7.md new file mode 100644 index 00000000000..1cdcc639eaa --- /dev/null +++ b/docs/ar/models/yolov7.md @@ -0,0 +1,66 @@ +--- +comments: true +description: استكشف YOLOv7 ، جهاز كشف الكائنات في الوقت الحقيقي. تعرف على سرعته الفائقة، ودقته المذهلة، وتركيزه الفريد على تحسين الأمتعة التدريبية تدريبياً. +keywords: YOLOv7، كاشف الكائنات في الوقت الحقيقي، الحالة الفنية، Ultralytics، مجموعة بيانات MS COCO، المعيار المعاد تعريفه للنموذج، التسمية الديناميكية، التحجيم الموسع، التحجيم المركب +--- + +# YOLOv7: حقيبة مجانية قابلة للتدريب + +YOLOv7 هو كاشف الكائنات في الوقت الحقيقي الحديث الحالي الذي يتفوق على جميع كاشفات الكائنات المعروفة من حيث السرعة والدقة في النطاق من 5 إطارات في الثانية إلى 160 إطارًا في الثانية. إنه يتمتع بأعلى دقة (٥٦.٨٪ AP) بين جميع كاشفات الكائنات الحالية في الوقت الحقيقي بسرعة ٣٠ إطارًا في الثانية أو أعلى على GPU V100. علاوة على ذلك, يتفوق YOLOv7 على كاشفات الكائنات الأخرى مثل YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 والعديد من الآخرين من حيث السرعة والدقة. النموذج مدرب على مجموعة بيانات MS COCO من البداية دون استخدام أي مجموعات بيانات أخرى أو وزن مُعين مُسبقًا. رمز المصدر لـ YOLOv7 متاح على GitHub. + +![مقارنة YOLOv7 مع كاشفات الكائنات الأعلى الفنية](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) + +**مقارنة بين كاشفات الكائنات الأعلى الفنية.** من النتائج في الجدول 2 نتعرف على أن الطريقة المقترحة لديها أفضل توازن بين السرعة والدقة بشكل شامل. إذا قارنا بين YOLOv7-tiny-SiLU و YOLOv5-N (r6.1) ، يكون الطريقة الحالية أسرع بـ ١٢٧ إطارًا في الثانية وأكثر دقة بنسبة ١٠.٧٪ من حيث AP. بالإضافة إلى ذلك ، YOLOv7 لديها AP بنسبة ٥١.٤٪ في معدل إطار ١٦١ في الثانية ، في حين يكون لـ PPYOLOE-L نفس AP فقط بمعدل إطار ٧٨ في الثانية. من حيث استخدام العوامل ، يكون YOLOv7 أقل بنسبة ٤١٪ من العوامل مقارنةً بـ PPYOLOE-L. إذا قارنا YOLOv7-X بسرعة تواصل بيانات ١١٤ إطارًا في الثانية مع YOLOv5-L (r6.1) مع سرعة تحليل ٩٩ إطارًا في الثانية ، يمكن أن يحسن YOLOv7-X AP بمقدار ٣.٩٪. إذا قورن YOLOv7-X بــ YOLOv5-X (r6.1) بنفس الحجم ، فإن سرعة تواصل البيانات في YOLOv7-X تكون أسرع بـ ٣١ إطارًا في الثانية. بالإضافة إلى ذلك ، من حيث كمية المعاملات والحسابات ، يقلل YOLOv7-X بنسبة ٢٢٪ من المعاملات و٨٪ من الحساب مقارنةً بـ YOLOv5-X (r6.1) ، ولكنه يحسن AP بنسبة ٢.٢٪ ([المصدر](https://arxiv.org/pdf/2207.02696.pdf)). + +## النظرة العامة + +كاشف الكائنات في الوقت الحقيقي هو جزء مهم في العديد من أنظمة رؤية الحاسوب ، بما في ذلك التتبع متعدد الكائنات والقيادة التلقائية والروبوتات وتحليل صور الأعضاء. في السنوات الأخيرة ، تركز تطوير كاشفات الكائنات في الوقت الحقيقي على تصميم هياكل فعالة وتحسين سرعة التحليل لمعالجات الكمبيوتر المركزية ومعالجات الرسومات ووحدات معالجة الأعصاب (NPUs). يدعم YOLOv7 كلاً من GPU المحمول وأجهزة الـ GPU ، من الحواف إلى السحابة. + +على عكس كاشفات الكائنات في الوقت الحقيقي التقليدية التي تركز على تحسين الهياكل ، يُقدم YOLOv7 تركيزًا على تحسين عملية التدريب. يتضمن ذلك وحدات وطرق تحسين تُصمم لتحسين دقة كشف الكائنات دون زيادة تكلفة التحليل ، وهو مفهوم يُعرف بـ "الحقيبة القابلة للتدريب للمجانيات". + +## الميزات الرئيسية + +تُقدم YOLOv7 عدة ميزات رئيسية: + +1. **إعادة تعيين نموذج المعاملات**: يقترح YOLOv7 نموذج معاملات معين مخطط له ، وهو استراتيجية قابلة للتطبيق على الطبقات في شبكات مختلفة باستخدام مفهوم مسار انتشار التدرج. + +2. **التسمية الديناميكية**: تدريب النموذج مع عدة طبقات إخراج يبرز قضية جديدة: "كيفية تعيين أهداف ديناميكية لإخراج الفروع المختلفة؟" لحل هذه المشكلة ، يقدم YOLOv7 طريقة تسمية جديدة تسمى تسمية الهدف المرشدة من الخشن إلى الدقيقة. + +3. **التحجيم الموسع والمركب**: يقترح YOLOv7 طرق "التحجيم الموسع" و "التحجيم المركب" لكاشف الكائنات في الوقت الحقيقي التي يمكن أن تستخدم بشكل فعال في المعاملات والحسابات. + +4. **الكفاءة**: يمكن للطريقة المقترحة بواسطة YOLOv7 تقليل بشكل فعال حوالي 40٪ من المعاملات و 50٪ من الحساب لكاشف الكائنات في الوقت الحقيقي الأولى من حيث الدقة والسرعة في التحليل. + +## أمثلة على الاستخدام + +في وقت كتابة هذا النص ، لا تدعم Ultralytics حاليًا نماذج YOLOv7. لذلك ، سيحتاج أي مستخدمين مهتمين باستخدام YOLOv7 إلى الرجوع مباشرة إلى مستودع YOLOv7 على GitHub للحصول على تعليمات التثبيت والاستخدام. + +وفيما يلي نظرة عامة على الخطوات النموذجية التي يمكنك اتباعها لاستخدام YOLOv7: + +1. قم بزيارة مستودع YOLOv7 على GitHub: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. اتبع التعليمات الموجودة في ملف README لعملية التثبيت. يتضمن ذلك عادةً استنساخ المستودع ، وتثبيت التبعيات اللازمة ، وإعداد أي متغيرات بيئة ضرورية. + +3. بمجرد الانتهاء من عملية التثبيت ، يمكنك تدريب النموذج واستخدامه وفقًا لتعليمات الاستخدام الموجودة في المستودع. ينطوي ذلك عادةً على إعداد مجموعة البيانات الخاصة بك ، وتكوين معلمات النموذج ، وتدريب النموذج ، ثم استخدام النموذج المدرب لأداء كشف الكائنات. + +يرجى ملاحظة أن الخطوات المحددة قد تختلف اعتمادًا على حالة الاستخدام الخاصة بك والحالة الحالية لمستودع YOLOv7. لذا ، يُوصى بشدة بالرجوع مباشرة إلى التعليمات المقدمة في مستودع YOLOv7 على GitHub. + +نأسف على أي إزعاج قد يسببه ذلك وسنسعى لتحديث هذا المستند بأمثلة على الاستخدام لـ Ultralytics عندما يتم تنفيذ الدعم لـ YOLOv7. + +## الاقتباسات والشكر + +نود أن نشكر كتاب YOLOv7 على مساهماتهم الهامة في مجال اكتشاف الكائنات في الوقت الحقيقي: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +يمكن العثور على ورقة YOLOv7 الأصلية على [arXiv](https://arxiv.org/pdf/2207.02696.pdf). قدم الكتاب عملهم علنياً، ويمكن الوصول إلى قاعدة الشيفرة على [GitHub](https://github.com/WongKinYiu/yolov7). نحن نقدر جهودهم في تقدم المجال وتوفير عملهم للمجتمع بشكل عام. diff --git a/docs/ar/models/yolov8.md b/docs/ar/models/yolov8.md new file mode 100644 index 00000000000..7b2082f3fb4 --- /dev/null +++ b/docs/ar/models/yolov8.md @@ -0,0 +1,166 @@ +--- +comments: true +description: استكشف الميزات المثيرة لـ YOLOv8 ، أحدث إصدار من مكتشف الكائنات الحية الخاص بنا في الوقت الحقيقي! تعرّف على العمارات المتقدمة والنماذج المدرّبة مسبقًا والتوازن المثلى بين الدقة والسرعة التي تجعل YOLOv8 الخيار المثالي لمهام الكشف عن الكائنات الخاصة بك. +keywords: YOLOv8, Ultralytics, مكتشف الكائنات الحية الخاص بنا في الوقت الحقيقي, النماذج المدرّبة مسبقًا, وثائق, الكشف عن الكائنات, سلسلة YOLO, العمارات المتقدمة, الدقة, السرعة +--- + +# YOLOv8 + +## نظرة عامة + +YOLOv8 هو التطور الأخير في سلسلة YOLO لمكتشفات الكائنات الحية الخاصة بنا في الوقت الحقيقي ، والذي يقدم أداءً متقدمًا في مجال الدقة والسرعة. بناءً على التقدمات التي تم إحرازها في إصدارات YOLO السابقة ، يقدم YOLOv8 ميزات وتحسينات جديدة تجعله الخيار المثالي لمهام الكشف عن الكائنات في مجموعة واسعة من التطبيقات. + +![YOLOv8 المقدمة من Ultralytics](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## الميزات الرئيسية + +- **العمارات المتقدمة للظهر والعنق:** يعتمد YOLOv8 على عمارات الظهر والعنق على أحدث طراز ، مما يؤدي إلى تحسين استخراج الميزات وأداء الكشف عن الكائنات. +- **Ultralytics Head بدون إثبات خطافي:** يعتمد YOLOv8 على Ultralytics Head بدون إثبات خطافي ، مما يسهم في زيادة الدقة وتوفير وقت مكشف أكثر كفاءة مقارنةً بالطرق التي تعتمد على الإثبات. +- **توازن مثالي بين الدقة والسرعة محسَّن:** بتركيزه على الحفاظ على توازن مثالي بين الدقة والسرعة ، فإن YOLOv8 مناسب لمهام الكشف عن الكائنات في الوقت الحقيقي في مجموعة متنوعة من المجالات التطبيقية. +- **تشكيلة من النماذج المدرّبة مسبقًا:** يقدم YOLOv8 مجموعة من النماذج المدرّبة مسبقًا لتلبية متطلبات المهام المختلفة ومتطلبات الأداء ، مما يجعل من السهل إيجاد النموذج المناسب لحالتك الاستخدامية الخاصة. + +## المهام والأوضاع المدعومة + +تقدم سلسلة YOLOv8 مجموعة متنوعة من النماذج ، يتم تخصيص كلًا منها للمهام المحددة في رؤية الحاسوب. تم تصميم هذه النماذج لتلبية متطلبات مختلفة ، بدءًا من الكشف عن الكائنات إلى مهام أكثر تعقيدًا مثل تقسيم الصور إلى أجزاء واكتشاف نقاط المفاتيح والتصنيف. + +تمت تحسين كل نوع من سلسلة YOLOv8 للمهام التي تخصها ، مما يضمن أداء ودقة عاليين. بالإضافة إلى ذلك ، تتوافق هذه النماذج مع أوضاع تشغيل مختلفة بما في ذلك [الاستدلال](../modes/predict.md) ، [التحقق](../modes/val.md) ، [التدريب](../modes/train.md) و [التصدير](../modes/export.md) ، مما يسهل استخدامها في مراحل مختلفة من عملية التطوير والتنفيذ. + +| النموذج | أسماء الملف | المهمة | استدلال | التحقق | التدريب | التصدير | +|-------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------|---------|--------|---------|---------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [الكشف](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [تقسيم الصور إلى أجزاء](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [المواقق/نقاط المفاتيح](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [التصنيف](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +توفر هذه الجدولة نظرة عامة على متغيرات نموذج YOLOv8 ، مما يسلط الضوء على قابليتها للتطبيق في مهام محددة وتوافقها مع أوضاع تشغيل مختلفة مثل الاستدلال والتحقق والتدريب والتصدير. يعرض مرونة وقوة سلسلة YOLOv8 ، مما يجعلها مناسبة لمجموعة متنوعة من التطبيقات في رؤية الحاسوب. + +## مقاييس الأداء + +!!! الأداء + + === "الكشف (COCO)" + + انظر إلى [وثائق الكشف](https://docs.ultralytics.com/tasks/detect/) لأمثلة عن الاستخدام مع هذه النماذج المدربة مسبقًا على [COCO](https://docs.ultralytics.com/datasets/detect/coco/) ، التي تضم 80 فئة مدربة مسبقًا. + + | النموذج | حجم
(بيكسل) | معدل الكشفالتحقق
50-95 | سرعة
CPU ONNX
(متوسط) | سرعة
A100 TensorRT
(متوسط) | معلمات
(مليون) | FLOPs
(مليون) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "الكشف (صور مفتوحة V7)" + + انظر إلى [وثائق الكشف](https://docs.ultralytics.com/tasks/detect/) لأمثلة عن الاستخدام مع هذه النماذج المدربة مسبقًا على [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/)، والتي تضم 600 فئة مدربة مسبقًا. + + | النموذج | حجم
(بيكسل) | معدل الكشفالتحقق
50-95 | سرعة
CPU ONNX
(متوسط) | سرعة
A100 TensorRT
(متوسط) | معلمات
(مليون) | FLOPs
(مليون) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "تقسيم الصور إلى أجزاء (COCO)" + + انظر إلى [وثائق التقسيم](https://docs.ultralytics.com/tasks/segment/) لأمثلة عن الاستخدام مع هذه النماذج المدرّبة مسبقًا على [COCO](https://docs.ultralytics.com/datasets/segment/coco/)، والتي تضم 80 فئة مدربة مسبقًا. + + | النموذج | حجم
(بيكسل) | معدل التقسيمالتحقق
50-95 | معدل التقسيمالأقنعة
50-95 | سرعة
CPU ONNX
(متوسط) | سرعة
A100 TensorRT
(متوسط) | معلمات
(مليون) | FLOPs
(مليون) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "التصنيف (ImageNet)" + + انظر إلى [وثائق التصنيف](https://docs.ultralytics.com/tasks/classify/) لأمثلة عن الاستخدام مع هذه النماذج المدرّبة مسبقًا على [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/)، والتي تضم 1000 فئة مدربة مسبقًا. + + | النموذج | حجم
(بيكسل) | دقة أعلى
أعلى 1 | دقة أعلى
أعلى 5 | سرعة
CPU ONNX
(متوسط) | سرعة
A100 TensorRT
(متوسط) | معلمات
(مليون) | FLOPs
(مليون) عند 640 | + | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "المواقف (COCO)" + + انظر إلى [وثائق تقدير المواقع] (https://docs.ultralytics.com/tasks/pose/) لأمثلة على الاستخدام مع هذه النماذج المدربة مسبقًا على [COCO](https://docs.ultralytics.com/datasets/pose/coco/)، والتي تتضمن فئة واحدة مدربة مسبقًا ، 'شخص'. + + | النموذج | حجم
(بيكسل) | معدل التوضيحالتحقق
50-95 | معدل التوضيح50 | سرعة
CPU ONNX
(متوسط) | سرعة
A100 TensorRT
(متوسط) | معلمات
(مليون) | FLOPs
(مليون) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## أمثلة استخدام + +يوفر هذا المثال أمثلة بسيطة للتدريب والتنبؤ باستخدام YOLOv8. للحصول على وثائق كاملة حول هذه وغيرها من [الأوضاع](../modes/index.md) ، انظر إلى صفحات وثائق [تنبؤ](../modes/predict.md) ، [تدريب](../modes/train.md) ، [التحقق](../modes/val.md) و [التصدير](../modes/export.md) . + +يرجى ملاحظة أن المثال أدناه يتعلق بطراز YOLOv8 [Detect](../tasks/detect.md) للكشف عن الكائنات. لمهام مدعومة إضافية ، انظر إلى وثائق [تقسيم](../tasks/segment.md) ، [تحديد إنتماء](../tasks/classify.md) و [تصوير (Pose)](../tasks/pose.md) . + +!!! + +!!! Example "مثال" + + === "Python" + + يمكن تمرير نماذج الـ PyTorch المُدرّبة المُحفوظة بالامتداد `*.pt` بالإضافة إلى ملفات التكوين بامتداد `*.yaml` إلى فئة `YOLO()` لإنشاء نموذج في لغة بايثون: + + ```python + from ultralytics import YOLO + + # تحميل نموذج YOLOv8n المدرّب مسبقًا على COCO + model = YOLO('yolov8n.pt') + + # عرض معلومات النموذج (اختياري) + model.info() + + # تدريب النموذج على مجموعة بيانات المُدخلات coco8 على سبيل المثال لمدة 100 دورة + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # تشغيل التنبؤ باستخدام نموذج YOLOv8n على صورة 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + تتوفر أوامر CLI لتشغيل النماذج مباشرة: + + ```bash + # تحميل نموذج YOLOv8n المدرّب مسبقًا على COCO واختباره على مجموعة بيانات coco8 + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # تحميل نموذج YOLOv8n المدرّب مسبقًا على COCO والتنبؤ به على صورة 'bus.jpg' + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## الاقتباسات والتقديرات + +إذا استخدمت نموذج YOLOv8 أو أي برنامج آخر من هذا المستودع في عملك ، فيرجى استشهاده باستخدام التنسيق التالي: + +!!!، + +!!! quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +يرجى ملاحظة أن وجود معرف الكائن الرقمي (DOI) قيد الانتظار وسيتم إضافته إلى الاقتباس بمجرد توفره. تُقدم نماذج YOLOv8 بموجب [رخصة AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) و [الرخصة المؤسسية](https://ultralytics.com/license). diff --git a/docs/de/models/fast-sam.md b/docs/de/models/fast-sam.md new file mode 100644 index 00000000000..e726c5cdf65 --- /dev/null +++ b/docs/de/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: Erkunden Sie FastSAM, eine CNN-basierte Lösung zur Echtzeit-Segmentierung von Objekten in Bildern. Verbesserte Benutzerinteraktion, Recheneffizienz und anpassbar für verschiedene Vision-Aufgaben. +keywords: FastSAM, maschinelles Lernen, CNN-basierte Lösung, Objektsegmentierung, Echtzeillösung, Ultralytics, Vision-Aufgaben, Bildverarbeitung, industrielle Anwendungen, Benutzerinteraktion +--- + +# Fast Segment Anything Model (FastSAM) + +Das Fast Segment Anything Model (FastSAM) ist eine neuartige, Echtzeit-CNN-basierte Lösung für die Segment Anything Aufgabe. Diese Aufgabe zielt darauf ab, jedes Objekt in einem Bild auf Basis verschiedener möglicher Benutzerinteraktionen zu segmentieren. FastSAM reduziert signifikant den Rechenbedarf, während es eine wettbewerbsfähige Leistung beibehält und somit für eine Vielzahl von Vision-Aufgaben praktisch einsetzbar ist. + +![Übersicht über die Architektur des Fast Segment Anything Model (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## Überblick + +FastSAM wurde entwickelt, um die Einschränkungen des [Segment Anything Model (SAM)](sam.md) zu beheben, einem schweren Transformer-Modell mit erheblichem Rechenressourcenbedarf. Das FastSAM teilt die Segment Anything Aufgabe in zwei aufeinanderfolgende Stufen auf: die Instanzsegmentierung und die promptgesteuerte Auswahl. In der ersten Stufe wird [YOLOv8-seg](../tasks/segment.md) verwendet, um die Segmentierungsmasken aller Instanzen im Bild zu erzeugen. In der zweiten Stufe gibt es den Bereich von Interesse aus, der dem Prompt entspricht. + +## Hauptmerkmale + +1. **Echtzeitlösung:** Durch die Nutzung der Recheneffizienz von CNNs bietet FastSAM eine Echtzeitlösung für die Segment Anything Aufgabe und eignet sich somit für industrielle Anwendungen, die schnelle Ergebnisse erfordern. + +2. **Effizienz und Leistung:** FastSAM bietet eine signifikante Reduzierung des Rechen- und Ressourcenbedarfs, ohne die Leistungsqualität zu beeinträchtigen. Es erzielt eine vergleichbare Leistung wie SAM, verwendet jedoch drastisch reduzierte Rechenressourcen und ermöglicht so eine Echtzeitanwendung. + +3. **Promptgesteuerte Segmentierung:** FastSAM kann jedes Objekt in einem Bild anhand verschiedener möglicher Benutzerinteraktionsaufforderungen segmentieren. Dies ermöglicht Flexibilität und Anpassungsfähigkeit in verschiedenen Szenarien. + +4. **Basierend auf YOLOv8-seg:** FastSAM basiert auf [YOLOv8-seg](../tasks/segment.md), einem Objektdetektor mit einem Instanzsegmentierungsmodul. Dadurch ist es in der Lage, die Segmentierungsmasken aller Instanzen in einem Bild effektiv zu erzeugen. + +5. **Wettbewerbsfähige Ergebnisse auf Benchmarks:** Bei der Objektvorschlagsaufgabe auf MS COCO erzielt FastSAM hohe Punktzahlen bei deutlich schnellerem Tempo als [SAM](sam.md) auf einer einzelnen NVIDIA RTX 3090. Dies demonstriert seine Effizienz und Leistungsfähigkeit. + +6. **Praktische Anwendungen:** Der vorgeschlagene Ansatz bietet eine neue, praktische Lösung für eine Vielzahl von Vision-Aufgaben mit sehr hoher Geschwindigkeit, die zehn- oder hundertmal schneller ist als vorhandene Methoden. + +7. **Möglichkeit zur Modellkompression:** FastSAM zeigt, dass der Rechenaufwand erheblich reduziert werden kann, indem ein künstlicher Prior in die Struktur eingeführt wird. Dadurch eröffnen sich neue Möglichkeiten für große Modellarchitekturen für allgemeine Vision-Aufgaben. + +## Verfügbare Modelle, unterstützte Aufgaben und Betriebsmodi + +In dieser Tabelle werden die verfügbaren Modelle mit ihren spezifischen vorab trainierten Gewichten, den unterstützten Aufgaben und ihrer Kompatibilität mit verschiedenen Betriebsmodi wie [Inferenz](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md) angezeigt. Dabei stehen ✅ Emojis für unterstützte Modi und ❌ Emojis für nicht unterstützte Modi. + +| Modelltyp | Vorab trainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Export | +|-----------|---------------------------|---------------------------------------------|----------|-------------|----------|--------| +| FastSAM-s | `FastSAM-s.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Beispiele für die Verwendung + +Die FastSAM-Modelle lassen sich problemlos in Ihre Python-Anwendungen integrieren. Ultralytics bietet eine benutzerfreundliche Python-API und CLI-Befehle zur Vereinfachung der Entwicklung. + +### Verwendung der Methode `predict` + +Um eine Objekterkennung auf einem Bild durchzuführen, verwenden Sie die Methode `predict` wie folgt: + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # Definieren Sie die Quelle für die Inferenz + source = 'Pfad/zum/bus.jpg' + + # Erstellen Sie ein FastSAM-Modell + model = FastSAM('FastSAM-s.pt') # oder FastSAM-x.pt + + # Führen Sie die Inferenz auf einem Bild durch + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Bereiten Sie ein Prompt-Process-Objekt vor + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Alles-Prompt + ann = prompt_process.everything_prompt() + + # Bbox Standardform [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # Text-Prompt + ann = prompt_process.text_prompt(text='ein Foto von einem Hund') + + # Punkt-Prompt + # Punkte Standard [[0,0]] [[x1,y1],[x2,y2]] + # Punktbezeichnung Standard [0] [1,0] 0:Hintergrund, 1:Vordergrund + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # Laden Sie ein FastSAM-Modell und segmentieren Sie alles damit + yolo segment predict model=FastSAM-s.pt source=Pfad/zum/bus.jpg imgsz=640 + ``` + +Dieser Code-Ausschnitt zeigt die Einfachheit des Ladens eines vorab trainierten Modells und das Durchführen einer Vorhersage auf einem Bild. + +### Verwendung von `val` + +Die Validierung des Modells auf einem Datensatz kann wie folgt durchgeführt werden: + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics import FastSAM + + # Erstellen Sie ein FastSAM-Modell + model = FastSAM('FastSAM-s.pt') # oder FastSAM-x.pt + + # Validieren Sie das Modell + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # Laden Sie ein FastSAM-Modell und validieren Sie es auf dem COCO8-Beispieldatensatz mit Bildgröße 640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +Bitte beachten Sie, dass FastSAM nur die Erkennung und Segmentierung einer einzigen Objektklasse unterstützt. Das bedeutet, dass es alle Objekte als dieselbe Klasse erkennt und segmentiert. Daher müssen Sie beim Vorbereiten des Datensatzes alle Objektkategorie-IDs in 0 umwandeln. + +## Offizielle Verwendung von FastSAM + +FastSAM ist auch direkt aus dem [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) Repository erhältlich. Hier ist ein kurzer Überblick über die typischen Schritte, die Sie unternehmen könnten, um FastSAM zu verwenden: + +### Installation + +1. Klonen Sie das FastSAM-Repository: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Erstellen und aktivieren Sie eine Conda-Umgebung mit Python 3.9: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. Navigieren Sie zum geklonten Repository und installieren Sie die erforderlichen Pakete: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. Installieren Sie das CLIP-Modell: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### Beispielverwendung + +1. Laden Sie eine [Modell-Sicherung](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing) herunter. + +2. Verwenden Sie FastSAM für Inferenz. Beispielbefehle: + + - Segmentieren Sie alles in einem Bild: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - Segmentieren Sie bestimmte Objekte anhand eines Textprompts: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "der gelbe Hund" + ``` + + - Segmentieren Sie Objekte innerhalb eines Begrenzungsrahmens (geben Sie die Boxkoordinaten im xywh-Format an): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - Segmentieren Sie Objekte in der Nähe bestimmter Punkte: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +Sie können FastSAM auch über eine [Colab-Demo](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) oder die [HuggingFace-Web-Demo](https://huggingface.co/spaces/An-619/FastSAM) testen, um eine visuelle Erfahrung zu machen. + +## Zitate und Danksagungen + +Wir möchten den Autoren von FastSAM für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Instanzsegmentierung danken: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Die ursprüngliche FastSAM-Arbeit ist auf [arXiv](https://arxiv.org/abs/2306.12156) zu finden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Code ist auf [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM) verfügbar. Wir schätzen ihre Bemühungen, das Fachgebiet voranzutreiben und ihre Arbeit der breiteren Gemeinschaft zugänglich zu machen. diff --git a/docs/de/models/index.md b/docs/de/models/index.md index 16adf399243..4482ccc0dcc 100644 --- a/docs/de/models/index.md +++ b/docs/de/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Entdecken Sie die Vielfalt der von Ultralytics unterstützten Modelle der YOLO-Familie, SAM, MobileSAM, FastSAM, YOLO-NAS und RT-DETR Modelle. Beginnen Sie mit Beispielen für die Verwendung in CLI und Python. +description: Entdecken Sie die vielfältige Palette an Modellen der YOLO-Familie, SAM, MobileSAM, FastSAM, YOLO-NAS und RT-DETR, die von Ultralytics unterstützt werden. Beginnen Sie mit Beispielen für die CLI- und Python-Nutzung. keywords: Ultralytics, Dokumentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, Modelle, Architekturen, Python, CLI --- # Von Ultralytics unterstützte Modelle -Willkommen in der Modell-Dokumentation von Ultralytics! Wir bieten Unterstützung für eine breite Palette von Modellen, die für spezifische Aufgaben wie [Objekterkennung](../tasks/detect.md), [Instanzsegmentierung](../tasks/segment.md), [Bildklassifizierung](../tasks/classify.md), [Poseerkennung](../tasks/pose.md) und [Multi-Objekt-Tracking](../modes/track.md) zugeschnitten sind. Wenn Sie daran interessiert sind, Ihre Modellarchitektur an Ultralytics beizutragen, werfen Sie einen Blick auf unseren [Beitragenden-Leitfaden](../../help/contributing.md). +Willkommen bei der Modell-Dokumentation von Ultralytics! Wir bieten Unterstützung für eine breite Palette von Modellen, die jeweils für spezifische Aufgaben wie [Objekterkennung](../tasks/detect.md), [Instanzsegmentierung](../tasks/segment.md), [Bildklassifizierung](../tasks/classify.md), [Posenschätzung](../tasks/pose.md) und [Multi-Objekt-Tracking](../modes/track.md) maßgeschneidert sind. Wenn Sie daran interessiert sind, Ihre Modellarchitektur bei Ultralytics beizutragen, sehen Sie sich unseren [Beitragenden-Leitfaden](../../help/contributing.md) an. !!! Note "Hinweis" - 🚧 Unsere mehrsprachige Dokumentation befindet sich derzeit im Aufbau, und wir arbeiten hart daran, sie zu verbessern. Vielen Dank für Ihre Geduld! 🙏 + 🚧 Unsere Dokumentation in verschiedenen Sprachen ist derzeit im Aufbau und wir arbeiten hart daran, sie zu verbessern. Vielen Dank für Ihre Geduld! 🙏 ## Vorgestellte Modelle -Hier sind einige der wesentlichen unterstützten Modelle: +Hier sind einige der wichtigsten unterstützten Modelle: -1. **[YOLOv3](../../models/yolov3.md)**: Die dritte Iteration der YOLO-Modellfamilie, ursprünglich von Joseph Redmon entwickelt und bekannt für ihre effiziente Echtzeit-Objekterkennung. -2. **[YOLOv4](../../models/yolov4.md)**: Eine darknet-native Aktualisierung von YOLOv3, die 2020 von Alexey Bochkovskiy veröffentlicht wurde. -3. **[YOLOv5](../../models/yolov5.md)**: Eine verbesserte Version der YOLO-Architektur von Ultralytics, die im Vergleich zu früheren Versionen bessere Leistungs- und Geschwindigkeitstrade-offs bietet. -4. **[YOLOv6](../../models/yolov6.md)**: Im Jahr 2022 von [Meituan](https://about.meituan.com/) veröffentlicht und in vielen autonomen Zustellrobotern des Unternehmens verwendet. -5. **[YOLOv7](../../models/yolov7.md)**: Im Jahr 2022 von den Autoren von YOLOv4 aktualisierte YOLO-Modelle. -6. **[YOLOv8](../../models/yolov8.md)**: Die neueste Version der YOLO-Familie mit erweiterten Fähigkeiten wie Instanzsegmentierung, Pose-/Schlüsselpunktschätzung und Klassifizierung. -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: Metas Segment Anything Model (SAM). -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM für mobile Anwendungen von der Kyung Hee Universität. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM von der Bild- und Videoanalysegruppe des Instituts für Automatisierung, Chinesische Akademie der Wissenschaften. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: YOLO Neural Architecture Search (NAS) Modelle. -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: Baidus PaddlePaddle Realtime Detection Transformer (RT-DETR) Modelle. +1. **[YOLOv3](yolov3.md)**: Die dritte Iteration der YOLO-Modellfamilie, ursprünglich von Joseph Redmon, bekannt für ihre effiziente Echtzeit-Objekterkennungsfähigkeiten. +2. **[YOLOv4](yolov4.md)**: Ein dunkelnetz-natives Update von YOLOv3, veröffentlicht von Alexey Bochkovskiy im Jahr 2020. +3. **[YOLOv5](yolov5.md)**: Eine verbesserte Version der YOLO-Architektur von Ultralytics, die bessere Leistungs- und Geschwindigkeitskompromisse im Vergleich zu früheren Versionen bietet. +4. **[YOLOv6](yolov6.md)**: Veröffentlicht von [Meituan](https://about.meituan.com/) im Jahr 2022 und in vielen autonomen Lieferrobotern des Unternehmens im Einsatz. +5. **[YOLOv7](yolov7.md)**: Aktualisierte YOLO-Modelle, die 2022 von den Autoren von YOLOv4 veröffentlicht wurden. +6. **[YOLOv8](yolov8.md) NEU 🚀**: Die neueste Version der YOLO-Familie, mit erweiterten Fähigkeiten wie Instanzsegmentierung, Pose/Schlüsselpunktschätzung und Klassifizierung. +7. **[Segment Anything Model (SAM)](sam.md)**: Metas Segment Anything Model (SAM). +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM für mobile Anwendungen, von der Kyung Hee University. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM von der Image & Video Analysis Group, Institute of Automation, Chinesische Akademie der Wissenschaften. +10. **[YOLO-NAS](yolo-nas.md)**: YOLO Neural Architecture Search (NAS) Modelle. +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Baidus PaddlePaddle Realtime Detection Transformer (RT-DETR) Modelle.


@@ -36,30 +36,34 @@ Hier sind einige der wesentlichen unterstützten Modelle: allowfullscreen>
- Sehen Sie: Ultralytics YOLO-Modelle in nur wenigen Zeilen Code ausführen. + Anschauen: Führen Sie Ultralytics YOLO-Modelle in nur wenigen Codezeilen aus.

-## Erste Schritte: Anwendungsbeispiele +## Einstieg: Nutzungbeispiele + +Dieses Beispiel bietet einfache YOLO-Trainings- und Inferenzbeispiele. Für vollständige Dokumentationen über diese und andere [Modi](../modes/index.md) siehe die Dokumentationsseiten [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +Beachten Sie, dass das folgende Beispiel für YOLOv8 [Detect](../tasks/detect.md) Modelle zur Objekterkennung ist. Für zusätzliche unterstützte Aufgaben siehe die Dokumentation zu [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) und [Pose](../tasks/pose.md). !!! Example "Beispiel" === "Python" - PyTorch vortrainierte `*.pt` Modelle sowie Konfigurations-`*.yaml` Dateien können den Klassen `YOLO()`, `SAM()`, `NAS()` und `RTDETR()` übergeben werden, um in Python eine Modellinstanz zu erstellen: + Vorgefertigte PyTorch `*.pt` Modelle sowie Konfigurationsdateien `*.yaml` können den Klassen `YOLO()`, `SAM()`, `NAS()` und `RTDETR()` übergeben werden, um eine Modellinstanz in Python zu erstellen: ```python from ultralytics import YOLO - # Laden eines auf COCO vortrainierten YOLOv8n-Modells + # Laden eines COCO-vortrainierten YOLOv8n Modells model = YOLO('yolov8n.pt') # Modellinformationen anzeigen (optional) model.info() - # Das Modell mit dem COCO8-Beispieldatensatz für 100 Epochen trainieren + # Model auf dem COCO8-Beispieldatensatz für 100 Epochen trainieren results = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # Inferenz mit dem YOLOv8n-Modell am Bild 'bus.jpg' durchführen + # Inferenz mit dem YOLOv8n Modell auf das Bild 'bus.jpg' ausführen results = model('path/to/bus.jpg') ``` @@ -68,27 +72,27 @@ Hier sind einige der wesentlichen unterstützten Modelle: CLI-Befehle sind verfügbar, um die Modelle direkt auszuführen: ```bash - # Laden eines auf COCO vortrainierten YOLOv8n-Modells und Trainieren auf dem COCO8-Beispieldatensatz für 100 Epochen + # Ein COCO-vortrainiertes YOLOv8n Modell laden und auf dem COCO8-Beispieldatensatz für 100 Epochen trainieren yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # Laden eines auf COCO vortrainierten YOLOv8n-Modells und Durchführung der Inferenz am Bild 'bus.jpg' + # Ein COCO-vortrainiertes YOLOv8n Modell laden und Inferenz auf das Bild 'bus.jpg' ausführen yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` ## Neue Modelle beitragen -Interessiert, Ihr Modell bei Ultralytics beizutragen? Großartig! Wir sind immer offen, unser Modellportfolio zu erweitern. +Sind Sie daran interessiert, Ihr Modell bei Ultralytics beizutragen? Großartig! Wir sind immer offen dafür, unser Modellportfolio zu erweitern. -1. **Das Repository forken**: Beginnen Sie damit, das [GitHub-Repository von Ultralytics](https://github.com/ultralytics/ultralytics) zu forken. +1. **Repository forken**: Beginnen Sie mit dem Forken des [Ultralytics GitHub-Repositorys](https://github.com/ultralytics/ultralytics). 2. **Ihren Fork klonen**: Klonen Sie Ihren Fork auf Ihre lokale Maschine und erstellen Sie einen neuen Branch, um daran zu arbeiten. -3. **Ihr Modell implementieren**: Fügen Sie Ihr Modell gemäß den in unserem [Beitragenden-Leitfaden](../../help/contributing.md) bereitgestellten Codierstandards und Richtlinien hinzu. +3. **Ihr Modell implementieren**: Fügen Sie Ihr Modell entsprechend den in unserem [Beitragenden-Leitfaden](../../help/contributing.md) bereitgestellten Kodierungsstandards und Richtlinien hinzu. -4. **Gründlich testen**: Stellen Sie sicher, dass Sie Ihr Modell sowohl isoliert als auch als Teil der Pipeline rigoros testen. +4. **Gründlich testen**: Stellen Sie sicher, dass Sie Ihr Modell sowohl isoliert als auch als Teil des Pipelines gründlich testen. -5. **Einen Pull Request erstellen**: Wenn Sie mit Ihrem Modell zufrieden sind, erstellen Sie einen Pull Request zum Hauptrepository zur Überprüfung. +5. **Eine Pull-Anfrage erstellen**: Sobald Sie mit Ihrem Modell zufrieden sind, erstellen Sie eine Pull-Anfrage zum Hauptrepository zur Überprüfung. -6. **Code-Überprüfung und Merging**: Nach der Überprüfung wird Ihr Modell, wenn es unseren Kriterien entspricht, in das Hauptrepository übernommen. +6. **Code-Review & Zusammenführen**: Nach der Überprüfung, wenn Ihr Modell unseren Kriterien entspricht, wird es in das Hauptrepository zusammengeführt. Für detaillierte Schritte konsultieren Sie unseren [Beitragenden-Leitfaden](../../help/contributing.md). diff --git a/docs/de/models/mobile-sam.md b/docs/de/models/mobile-sam.md new file mode 100644 index 00000000000..7f301756b78 --- /dev/null +++ b/docs/de/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Erfahren Sie mehr über MobileSAM, dessen Implementierung, den Vergleich mit dem Original-SAM und wie Sie es im Ultralytics-Framework herunterladen und testen können. Verbessern Sie Ihre mobilen Anwendungen heute. +keywords: MobileSAM, Ultralytics, SAM, mobile Anwendungen, Arxiv, GPU, API, Bildencoder, Maskendekoder, Modell-Download, Testmethode +--- + +![MobileSAM Logo](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Mobile Segment Anything (MobileSAM) + +Das MobileSAM-Paper ist jetzt auf [arXiv](https://arxiv.org/pdf/2306.14289.pdf) verfügbar. + +Eine Demonstration von MobileSAM, das auf einer CPU ausgeführt wird, finden Sie unter diesem [Demo-Link](https://huggingface.co/spaces/dhkim2810/MobileSAM). Die Leistung auf einer Mac i5 CPU beträgt etwa 3 Sekunden. Auf der Hugging Face-Demo führt die Benutzeroberfläche und CPUs mit niedrigerer Leistung zu einer langsameren Reaktion, aber die Funktion bleibt effektiv. + +MobileSAM ist in verschiedenen Projekten implementiert, darunter [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) und [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +MobileSAM wird mit einem einzigen GPU und einem 100K-Datensatz (1% der Originalbilder) in weniger als einem Tag trainiert. Der Code für dieses Training wird in Zukunft verfügbar gemacht. + +## Verfügbarkeit von Modellen, unterstützte Aufgaben und Betriebsarten + +Die folgende Tabelle zeigt die verfügbaren Modelle mit ihren spezifischen vortrainierten Gewichten, die unterstützten Aufgaben und ihre Kompatibilität mit unterschiedlichen Betriebsarten wie [Inferenz](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md). Unterstützte Betriebsarten werden mit ✅-Emojis und nicht unterstützte Betriebsarten mit ❌-Emojis angezeigt. + +| Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Export | +|-----------|------------------------|---------------------------------------------|----------|-------------|----------|--------| +| MobileSAM | `mobile_sam.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Anpassung von SAM zu MobileSAM + +Da MobileSAM die gleiche Pipeline wie das Original-SAM beibehält, haben wir das ursprüngliche Preprocessing, Postprocessing und alle anderen Schnittstellen eingebunden. Personen, die derzeit das ursprüngliche SAM verwenden, können daher mit minimalem Aufwand zu MobileSAM wechseln. + +MobileSAM bietet vergleichbare Leistungen wie das ursprüngliche SAM und behält dieselbe Pipeline, mit Ausnahme eines Wechsels des Bildencoders. Konkret ersetzen wir den ursprünglichen, leistungsstarken ViT-H-Encoder (632M) durch einen kleineren Tiny-ViT-Encoder (5M). Auf einem einzelnen GPU arbeitet MobileSAM in etwa 12 ms pro Bild: 8 ms auf dem Bildencoder und 4 ms auf dem Maskendekoder. + +Die folgende Tabelle bietet einen Vergleich der Bildencoder, die auf ViT basieren: + +| Bildencoder | Original-SAM | MobileSAM | +|-----------------|--------------|-----------| +| Parameter | 611M | 5M | +| Geschwindigkeit | 452ms | 8ms | + +Sowohl das ursprüngliche SAM als auch MobileSAM verwenden denselben promptgeführten Maskendekoder: + +| Maskendekoder | Original-SAM | MobileSAM | +|-----------------|--------------|-----------| +| Parameter | 3.876M | 3.876M | +| Geschwindigkeit | 4ms | 4ms | + +Hier ist ein Vergleich der gesamten Pipeline: + +| Gesamte Pipeline (Enc+Dec) | Original-SAM | MobileSAM | +|----------------------------|--------------|-----------| +| Parameter | 615M | 9.66M | +| Geschwindigkeit | 456ms | 12ms | + +Die Leistung von MobileSAM und des ursprünglichen SAM werden sowohl mit einem Punkt als auch mit einem Kasten als Prompt demonstriert. + +![Bild mit Punkt als Prompt](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![Bild mit Kasten als Prompt](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +Mit seiner überlegenen Leistung ist MobileSAM etwa 5-mal kleiner und 7-mal schneller als das aktuelle FastSAM. Weitere Details finden Sie auf der [MobileSAM-Projektseite](https://github.com/ChaoningZhang/MobileSAM). + +## Testen von MobileSAM in Ultralytics + +Wie beim ursprünglichen SAM bieten wir eine unkomplizierte Testmethode in Ultralytics an, einschließlich Modi für Punkt- und Kasten-Prompts. + +### Modell-Download + +Sie können das Modell [hier](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt) herunterladen. + +### Punkt-Prompt + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics import SAM + + # Laden Sie das Modell + model = SAM('mobile_sam.pt') + + # Vorhersage einer Segmentierung basierend auf einem Punkt-Prompt + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### Kasten-Prompt + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics import SAM + + # Laden Sie das Modell + model = SAM('mobile_sam.pt') + + # Vorhersage einer Segmentierung basierend auf einem Kasten-Prompt + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +Wir haben `MobileSAM` und `SAM` mit derselben API implementiert. Für weitere Verwendungsinformationen sehen Sie bitte die [SAM-Seite](sam.md). + +## Zitate und Danksagungen + +Wenn Sie MobileSAM in Ihrer Forschungs- oder Entwicklungsarbeit nützlich finden, zitieren Sie bitte unser Paper: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/de/models/rtdetr.md b/docs/de/models/rtdetr.md new file mode 100644 index 00000000000..dbc0b412364 --- /dev/null +++ b/docs/de/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: Entdecken Sie die Funktionen und Vorteile von RT-DETR, dem effizienten und anpassungsfähigen Echtzeitobjektdetektor von Baidu, der von Vision Transformers unterstützt wird, einschließlich vortrainierter Modelle. +keywords: RT-DETR, Baidu, Vision Transformers, Objekterkennung, Echtzeitleistung, CUDA, TensorRT, IoU-bewusste Query-Auswahl, Ultralytics, Python API, PaddlePaddle +--- + +# Baidus RT-DETR: Ein Echtzeit-Objektdetektor auf Basis von Vision Transformers + +## Überblick + +Der Real-Time Detection Transformer (RT-DETR), entwickelt von Baidu, ist ein moderner End-to-End-Objektdetektor, der Echtzeitleistung mit hoher Genauigkeit bietet. Er nutzt die Leistung von Vision Transformers (ViT), um Multiskalen-Funktionen effizient zu verarbeiten, indem intra-skaliere Interaktion und eine skalenübergreifende Fusion entkoppelt werden. RT-DETR ist hoch anpassungsfähig und unterstützt flexible Anpassung der Inferenzgeschwindigkeit durch Verwendung verschiedener Decoder-Schichten ohne erneutes Training. Das Modell übertrifft viele andere Echtzeit-Objektdetektoren auf beschleunigten Backends wie CUDA mit TensorRT. + +![Beispielbild des Modells](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Übersicht von Baidus RT-DETR.** Die Modellarchitekturdiagramm des RT-DETR zeigt die letzten drei Stufen des Backbone {S3, S4, S5} als Eingabe für den Encoder. Der effiziente Hybrid-Encoder verwandelt Multiskalen-Funktionen durch intraskalare Feature-Interaktion (AIFI) und das skalenübergreifende Feature-Fusion-Modul (CCFM) in eine Sequenz von Bildmerkmalen. Die IoU-bewusste Query-Auswahl wird verwendet, um eine feste Anzahl von Bildmerkmalen als anfängliche Objekt-Queries für den Decoder auszuwählen. Der Decoder optimiert iterativ Objekt-Queries, um Boxen und Vertrauenswerte zu generieren ([Quelle](https://arxiv.org/pdf/2304.08069.pdf)). + +### Hauptmerkmale + +- **Effizienter Hybrid-Encoder:** Baidus RT-DETR verwendet einen effizienten Hybrid-Encoder, der Multiskalen-Funktionen verarbeitet, indem intra-skaliere Interaktion und eine skalenübergreifende Fusion entkoppelt werden. Dieses einzigartige Design auf Basis von Vision Transformers reduziert die Rechenkosten und ermöglicht die Echtzeit-Objekterkennung. +- **IoU-bewusste Query-Auswahl:** Baidus RT-DETR verbessert die Initialisierung von Objekt-Queries, indem IoU-bewusste Query-Auswahl verwendet wird. Dadurch kann das Modell sich auf die relevantesten Objekte in der Szene konzentrieren und die Erkennungsgenauigkeit verbessern. +- **Anpassbare Inferenzgeschwindigkeit:** Baidus RT-DETR ermöglicht flexible Anpassungen der Inferenzgeschwindigkeit durch Verwendung unterschiedlicher Decoder-Schichten ohne erneutes Training. Diese Anpassungsfähigkeit erleichtert den praktischen Einsatz in verschiedenen Echtzeit-Objekterkennungsszenarien. + +## Vortrainierte Modelle + +Die Ultralytics Python API bietet vortrainierte PaddlePaddle RT-DETR-Modelle in verschiedenen Skalierungen: + +- RT-DETR-L: 53,0% AP auf COCO val2017, 114 FPS auf T4 GPU +- RT-DETR-X: 54,8% AP auf COCO val2017, 74 FPS auf T4 GPU + +## Beispiele für die Verwendung + +Das folgende Beispiel enthält einfache Trainings- und Inferenzbeispiele für RT-DETRR. Für die vollständige Dokumentation zu diesen und anderen [Modi](../modes/index.md) siehe die Dokumentationsseiten für [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +!!! Example "Beispiel" + + === "Python" + + ```python + from ultralytics import RTDETR + + # Laden Sie ein vortrainiertes RT-DETR-l Modell auf COCO + model = RTDETR('rtdetr-l.pt') + + # Zeigen Sie Informationen über das Modell an (optional) + model.info() + + # Trainieren Sie das Modell auf dem COCO8-Beispiel-Datensatz für 100 Epochen + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Führen Sie die Inferenz mit dem RT-DETR-l Modell auf dem Bild 'bus.jpg' aus + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # Laden Sie ein vortrainiertes RT-DETR-l Modell auf COCO und trainieren Sie es auf dem COCO8-Beispiel-Datensatz für 100 Epochen + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # Laden Sie ein vortrainiertes RT-DETR-l Modell auf COCO und führen Sie die Inferenz auf dem Bild 'bus.jpg' aus + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## Unterstützte Aufgaben und Modi + +In dieser Tabelle werden die Modelltypen, die spezifischen vortrainierten Gewichte, die von jedem Modell unterstützten Aufgaben und die verschiedenen Modi ([Train](../modes/train.md), [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)), die unterstützt werden, mit ✅-Emoji angezeigt. + +| Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Exportieren | +|--------------------|------------------------|---------------------------------------|----------|-------------|----------|-------------| +| RT-DETR Groß | `rtdetr-l.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Groß | `rtdetr-x.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## Zitate und Danksagungen + +Wenn Sie Baidus RT-DETR in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das [ursprüngliche Papier](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Wir möchten Baidu und dem [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection)-Team für die Erstellung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community danken. Ihre Beitrag zum Gebiet der Entwicklung des Echtzeit-Objekterkenners auf Basis von Vision Transformers, RT-DETR, wird sehr geschätzt. + +*Keywords: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, Objekterkennung in Echtzeit, objekterkennung basierend auf Vision Transformers, vortrainierte PaddlePaddle RT-DETR Modelle, Verwendung von Baidus RT-DETR, Ultralytics Python API* diff --git a/docs/de/models/sam.md b/docs/de/models/sam.md new file mode 100644 index 00000000000..4d285ad6a09 --- /dev/null +++ b/docs/de/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Erkunden Sie das innovative Segment Anything Model (SAM) von Ultralytics, das Echtzeit-Bildsegmentierung ermöglicht. Erfahren Sie mehr über die promptable Segmentierung, die Zero-Shot-Performance und die Anwendung. +keywords: Ultralytics, Bildsegmentierung, Segment Anything Model, SAM, SA-1B-Datensatz, Echtzeit-Performance, Zero-Shot-Transfer, Objekterkennung, Bildanalyse, maschinelles Lernen +--- + +# Segment Anything Model (SAM) + +Willkommen an der Spitze der Bildsegmentierung mit dem Segment Anything Model (SAM). Dieses revolutionäre Modell hat mit promptabler Bildsegmentierung und Echtzeit-Performance neue Standards in diesem Bereich gesetzt. + +## Einführung in SAM: Das Segment Anything Model + +Das Segment Anything Model (SAM) ist ein innovatives Bildsegmentierungsmodell, das promptable Segmentierung ermöglicht und so eine beispiellose Vielseitigkeit bei der Bildanalyse bietet. SAM bildet das Herzstück der Segment Anything Initiative, einem bahnbrechenden Projekt, das ein neuartiges Modell, eine neue Aufgabe und einen neuen Datensatz für die Bildsegmentierung einführt. + +Dank seiner fortschrittlichen Konstruktion kann SAM sich an neue Bildverteilungen und Aufgaben anpassen, auch ohne Vorwissen. Das wird als Zero-Shot-Transfer bezeichnet. Trainiert wurde SAM auf dem umfangreichen [SA-1B-Datensatz](https://ai.facebook.com/datasets/segment-anything/), der über 1 Milliarde Masken auf 11 Millionen sorgfältig kuratierten Bildern enthält. SAM hat beeindruckende Zero-Shot-Performance gezeigt und in vielen Fällen frühere vollständig überwachte Ergebnisse übertroffen. + +![Beispielbild aus dem Datensatz](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +Beispielimagen mit überlagernden Masken aus unserem neu eingeführten Datensatz SA-1B. SA-1B enthält 11 Millionen diverse, hochauflösende, lizenzierte und die Privatsphäre schützende Bilder und 1,1 Milliarden qualitativ hochwertige Segmentierungsmasken. Diese wurden vollautomatisch von SAM annotiert und sind nach menschlichen Bewertungen und zahlreichen Experimenten von hoher Qualität und Vielfalt. Die Bilder sind nach der Anzahl der Masken pro Bild gruppiert (im Durchschnitt sind es etwa 100 Masken pro Bild). + +## Hauptmerkmale des Segment Anything Model (SAM) + +- **Promptable Segmentierungsaufgabe:** SAM wurde mit der Ausführung einer promptable Segmentierungsaufgabe entwickelt, wodurch es valide Segmentierungsmasken aus beliebigen Prompts generieren kann, z. B. räumlichen oder textuellen Hinweisen zur Identifizierung eines Objekts. +- **Fortgeschrittene Architektur:** Das Segment Anything Model verwendet einen leistungsfähigen Bild-Encoder, einen Prompt-Encoder und einen leichten Masken-Decoder. Diese einzigartige Architektur ermöglicht flexibles Prompting, Echtzeitmaskenberechnung und Berücksichtigung von Mehrdeutigkeiten in Segmentierungsaufgaben. +- **Der SA-1B-Datensatz:** Eingeführt durch das Segment Anything Projekt, enthält der SA-1B-Datensatz über 1 Milliarde Masken auf 11 Millionen Bildern. Als bisher größter Segmentierungsdatensatz liefert er SAM eine vielfältige und umfangreiche Datenquelle für das Training. +- **Zero-Shot-Performance:** SAM zeigt herausragende Zero-Shot-Performance in verschiedenen Segmentierungsaufgaben und ist damit ein einsatzbereites Werkzeug für vielfältige Anwendungen mit minimalem Bedarf an prompt engineering. + +Für eine detaillierte Betrachtung des Segment Anything Models und des SA-1B-Datensatzes besuchen Sie bitte die [Segment Anything Website](https://segment-anything.com) und lesen Sie das Forschungspapier [Segment Anything](https://arxiv.org/abs/2304.02643). + +## Verfügbare Modelle, unterstützte Aufgaben und Betriebsmodi + +Diese Tabelle zeigt die verfügbaren Modelle mit ihren spezifischen vortrainierten Gewichten, die unterstützten Aufgaben und ihre Kompatibilität mit verschiedenen Betriebsmodi wie [Inference](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md), wobei ✅ Emojis für unterstützte Modi und ❌ Emojis für nicht unterstützte Modi verwendet werden. + +| Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Inference | Validierung | Training | Export | +|-----------|------------------------|---------------------------------------------|-----------|-------------|----------|--------| +| SAM base | `sam_b.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Wie man SAM verwendet: Vielseitigkeit und Power in der Bildsegmentierung + +Das Segment Anything Model kann für eine Vielzahl von Aufgaben verwendet werden, die über die Trainingsdaten hinausgehen. Dazu gehören Kantenerkennung, Generierung von Objektvorschlägen, Instanzsegmentierung und vorläufige Text-to-Mask-Vorhersage. Mit prompt engineering kann SAM sich schnell an neue Aufgaben und Datenverteilungen anpassen und sich so als vielseitiges und leistungsstarkes Werkzeug für alle Anforderungen der Bildsegmentierung etablieren. + +### Beispiel für SAM-Vorhersage + +!!! Example "Segmentierung mit Prompts" + + Bildsegmentierung mit gegebenen Prompts. + + === "Python" + + ```python + from ultralytics import SAM + + # Modell laden + model = SAM('sam_b.pt') + + # Modellinformationen anzeigen (optional) + model.info() + + # Inferenz mit Bounding Box Prompt + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # Inferenz mit Point Prompt + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "Alles segmentieren" + + Das ganze Bild segmentieren. + + === "Python" + + ```python + from ultralytics import SAM + + # Modell laden + model = SAM('sam_b.pt') + + # Modellinformationen anzeigen (optional) + model.info() + + # Inferenz + model('Pfad/zum/Bild.jpg') + ``` + + === "CLI" + + ```bash + # Inferenz mit einem SAM-Modell + yolo predict model=sam_b.pt source=Pfad/zum/Bild.jpg + ``` + +- Die Logik hier besteht darin, das gesamte Bild zu segmentieren, wenn keine Prompts (Bounding Box/Point/Maske) übergeben werden. + +!!! Example "Beispiel SAMPredictor" + + Dadurch können Sie das Bild einmal festlegen und mehrmals Inferenz mit Prompts ausführen, ohne den Bild-Encoder mehrfach auszuführen. + + === "Prompt-Inferenz" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor erstellen + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Bild festlegen + predictor.set_image("ultralytics/assets/zidane.jpg") # Festlegung mit Bild-Datei + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # Festlegung mit np.ndarray + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # Bild zurücksetzen + predictor.reset_image() + ``` + + Alles segmentieren mit zusätzlichen Argumenten. + + === "Alles segmentieren" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor erstellen + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Mit zusätzlichen Argumenten segmentieren + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- Weitere zusätzliche Argumente für `Alles segmentieren` finden Sie in der [`Predictor/generate` Referenz](../../reference/models/sam/predict.md). + +## Vergleich von SAM und YOLOv8 + +Hier vergleichen wir Meta's kleinstes SAM-Modell, SAM-b, mit Ultralytics kleinstem Segmentierungsmodell, [YOLOv8n-seg](../tasks/segment.md): + +| Modell | Größe | Parameter | Geschwindigkeit (CPU) | +|------------------------------------------------|-------------------------------|------------------------------|----------------------------------------| +| Meta's SAM-b | 358 MB | 94,7 M | 51096 ms/pro Bild | +| [MobileSAM](mobile-sam.md) | 40,7 MB | 10,1 M | 46122 ms/pro Bild | +| [FastSAM-s](fast-sam.md) mit YOLOv8-Backbone | 23,7 MB | 11,8 M | 115 ms/pro Bild | +| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6,7 MB** (53,4-mal kleiner) | **3,4 M** (27,9-mal kleiner) | **59 ms/pro Bild** (866-mal schneller) | + +Dieser Vergleich zeigt die Größen- und Geschwindigkeitsunterschiede zwischen den Modellen. Während SAM einzigartige Fähigkeiten für die automatische Segmentierung bietet, konkurriert es nicht direkt mit YOLOv8-Segmentierungsmodellen, die kleiner, schneller und effizienter sind. + +Die Tests wurden auf einem Apple M2 MacBook aus dem Jahr 2023 mit 16 GB RAM durchgeführt. Um diesen Test zu reproduzieren: + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # SAM-b profilieren + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # MobileSAM profilieren + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # FastSAM-s profilieren + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # YOLOv8n-seg profilieren + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## Auto-Annotierung: Der schnelle Weg zu Segmentierungsdatensätzen + +Die Auto-Annotierung ist eine wichtige Funktion von SAM, mit der Benutzer mithilfe eines vortrainierten Detektionsmodells einen [Segmentierungsdatensatz](https://docs.ultralytics.com/datasets/segment) generieren können. Diese Funktion ermöglicht eine schnelle und genaue Annotation einer großen Anzahl von Bildern, ohne dass zeitaufwändiges manuelles Labeling erforderlich ist. + +### Generieren Sie Ihren Segmentierungsdatensatz mit einem Detektionsmodell + +Um Ihren Datensatz mit dem Ultralytics-Framework automatisch zu annotieren, verwenden Sie die `auto_annotate` Funktion wie folgt: + +!!! Example "Beispiel" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="Pfad/zum/Bilderordner", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| Argument | Typ | Beschreibung | Standard | +|------------|---------------------|---------------------------------------------------------------------------------------------------------------------------|--------------| +| data | str | Pfad zu einem Ordner, der die zu annotierenden Bilder enthält. | | +| det_model | str, optional | Vortrainiertes YOLO-Detektionsmodell. Standardmäßig 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | str, optional | Vortrainiertes SAM-Segmentierungsmodell. Standardmäßig 'sam_b.pt'. | 'sam_b.pt' | +| device | str, optional | Gerät, auf dem die Modelle ausgeführt werden. Standardmäßig ein leerer String (CPU oder GPU, falls verfügbar). | | +| output_dir | str, None, optional | Verzeichnis zum Speichern der annotierten Ergebnisse. Standardmäßig ein 'labels'-Ordner im selben Verzeichnis wie 'data'. | None | + +Die `auto_annotate` Funktion nimmt den Pfad zu Ihren Bildern entgegen, mit optionalen Argumenten für das vortrainierte Detektions- und SAM-Segmentierungsmodell, das Gerät, auf dem die Modelle ausgeführt werden sollen, und das Ausgabeverzeichnis, in dem die annotierten Ergebnisse gespeichert werden sollen. + +Die Auto-Annotierung mit vortrainierten Modellen kann die Zeit und den Aufwand für die Erstellung hochwertiger Segmentierungsdatensätze erheblich reduzieren. Diese Funktion ist besonders vorteilhaft für Forscher und Entwickler, die mit großen Bildersammlungen arbeiten. Sie ermöglicht es ihnen, sich auf die Modellentwicklung und -bewertung zu konzentrieren, anstatt auf die manuelle Annotation. + +## Zitate und Danksagungen + +Wenn Sie SAM in Ihrer Forschungs- oder Entwicklungsarbeit nützlich finden, erwägen Sie bitte, unser Paper zu zitieren: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Wir möchten Meta AI für die Erstellung und Pflege dieser wertvollen Ressource für die Computer Vision Community danken. + +*Stichworte: Segment Anything, Segment Anything Model, SAM, Meta SAM, Bildsegmentierung, Promptable Segmentierung, Zero-Shot-Performance, SA-1B-Datensatz, fortschrittliche Architektur, Auto-Annotierung, Ultralytics, vortrainierte Modelle, SAM Base, SAM Large, Instanzsegmentierung, Computer Vision, Künstliche Intelligenz, maschinelles Lernen, Datenannotation, Segmentierungsmasken, Detektionsmodell, YOLO Detektionsmodell, Bibtex, Meta AI.* diff --git a/docs/de/models/yolo-nas.md b/docs/de/models/yolo-nas.md new file mode 100644 index 00000000000..c1d8ed76be1 --- /dev/null +++ b/docs/de/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: Erfahren Sie mehr über YOLO-NAS, ein herausragendes Modell für die Objekterkennung. Erfahren Sie mehr über seine Funktionen, vortrainierte Modelle, Nutzung mit der Ultralytics Python API und vieles mehr. +keywords: YOLO-NAS, Deci AI, Objekterkennung, Deep Learning, Neural Architecture Search, Ultralytics Python API, YOLO-Modell, vortrainierte Modelle, Quantisierung, Optimierung, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## Übersicht + +Entwickelt von Deci AI, ist YOLO-NAS ein bahnbrechendes Modell für die Objekterkennung. Es ist das Ergebnis fortschrittlicher Technologien zur Neural Architecture Search und wurde sorgfältig entworfen, um die Einschränkungen früherer YOLO-Modelle zu überwinden. Mit signifikanten Verbesserungen in der Quantisierungsunterstützung und Abwägung von Genauigkeit und Latenz stellt YOLO-NAS einen großen Fortschritt in der Objekterkennung dar. + +![Modellbeispielbild](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**Übersicht über YOLO-NAS.** YOLO-NAS verwendet Quantisierungsblöcke und selektive Quantisierung für optimale Leistung. Das Modell weist bei der Konvertierung in seine quantisierte Version mit INT8 einen minimalen Präzisionsverlust auf, was im Vergleich zu anderen Modellen eine signifikante Verbesserung darstellt. Diese Entwicklungen führen zu einer überlegenen Architektur mit beispiellosen Fähigkeiten zur Objekterkennung und herausragender Leistung. + +### Schlüsselfunktionen + +- **Quantisierungsfreundlicher Basiselement:** YOLO-NAS führt ein neues Basiselement ein, das für Quantisierung geeignet ist und eine der wesentlichen Einschränkungen früherer YOLO-Modelle angeht. +- **Raffiniertes Training und Quantisierung:** YOLO-NAS nutzt fortschrittliche Trainingsschemata und post-training Quantisierung zur Leistungsverbesserung. +- **AutoNAC-Optimierung und Vortraining:** YOLO-NAS verwendet die AutoNAC-Optimierung und wird auf prominenten Datensätzen wie COCO, Objects365 und Roboflow 100 vortrainiert. Dieses Vortraining macht es äußerst geeignet für die Objekterkennung in Produktionsumgebungen. + +## Vortrainierte Modelle + +Erleben Sie die Leistungsfähigkeit der Objekterkennung der nächsten Generation mit den vortrainierten YOLO-NAS-Modellen von Ultralytics. Diese Modelle sind darauf ausgelegt, sowohl bei Geschwindigkeit als auch bei Genauigkeit hervorragende Leistung zu liefern. Wählen Sie aus einer Vielzahl von Optionen, die auf Ihre spezifischen Anforderungen zugeschnitten sind: + +| Modell | mAP | Latenz (ms) | +|------------------|-------|-------------| +| YOLO-NAS S | 47,5 | 3,21 | +| YOLO-NAS M | 51,55 | 5,85 | +| YOLO-NAS L | 52,22 | 7,87 | +| YOLO-NAS S INT-8 | 47,03 | 2,36 | +| YOLO-NAS M INT-8 | 51,0 | 3,78 | +| YOLO-NAS L INT-8 | 52,1 | 4,78 | + +Jede Modellvariante ist darauf ausgelegt, eine Balance zwischen Mean Average Precision (mAP) und Latenz zu bieten und Ihre Objekterkennungsaufgaben für Performance und Geschwindigkeit zu optimieren. + +## Beispiele zur Verwendung + +Ultralytics hat es einfach gemacht, YOLO-NAS-Modelle in Ihre Python-Anwendungen über unser `ultralytics` Python-Paket zu integrieren. Das Paket bietet eine benutzerfreundliche Python-API, um den Prozess zu optimieren. + +Die folgenden Beispiele zeigen, wie Sie YOLO-NAS-Modelle mit dem `ultralytics`-Paket für Inferenz und Validierung verwenden: + +### Beispiele für Inferenz und Validierung + +In diesem Beispiel validieren wir YOLO-NAS-s auf dem COCO8-Datensatz. + +!!! Example "Beispiel" + + Dieses Beispiel bietet einfachen Code für Inferenz und Validierung für YOLO-NAS. Für die Verarbeitung von Inferenzergebnissen siehe den [Predict](../modes/predict.md)-Modus. Für die Verwendung von YOLO-NAS mit zusätzlichen Modi siehe [Val](../modes/val.md) und [Export](../modes/export.md). Das YOLO-NAS-Modell im `ultralytics`-Paket unterstützt kein Training. + + === "Python" + + Vorab trainierte `*.pt`-Modelldateien von PyTorch können der Klasse `NAS()` übergeben werden, um eine Modellinstanz in Python zu erstellen: + + ```python + from ultralytics import NAS + + # Laden Sie ein auf COCO vortrainiertes YOLO-NAS-s-Modell + model = NAS('yolo_nas_s.pt') + + # Modelinformationen anzeigen (optional) + model.info() + + # Validieren Sie das Modell am Beispiel des COCO8-Datensatzes + results = model.val(data='coco8.yaml') + + # Führen Sie Inferenz mit dem YOLO-NAS-s-Modell auf dem Bild 'bus.jpg' aus + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI-Befehle sind verfügbar, um die Modelle direkt auszuführen: + + ```bash + # Laden Sie ein auf COCO vortrainiertes YOLO-NAS-s-Modell und validieren Sie die Leistung am Beispiel des COCO8-Datensatzes + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # Laden Sie ein auf COCO vortrainiertes YOLO-NAS-s-Modell und führen Sie Inferenz auf dem Bild 'bus.jpg' aus + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## Unterstützte Aufgaben und Modi + +Wir bieten drei Varianten der YOLO-NAS-Modelle an: Small (s), Medium (m) und Large (l). Jede Variante ist dazu gedacht, unterschiedliche Berechnungs- und Leistungsanforderungen zu erfüllen: + +- **YOLO-NAS-s**: Optimiert für Umgebungen mit begrenzten Rechenressourcen, bei denen Effizienz entscheidend ist. +- **YOLO-NAS-m**: Bietet einen ausgewogenen Ansatz und ist für die Objekterkennung im Allgemeinen mit höherer Genauigkeit geeignet. +- **YOLO-NAS-l**: Maßgeschneidert für Szenarien, bei denen höchste Genauigkeit gefordert ist und Rechenressourcen weniger einschränkend sind. + +Im Folgenden finden Sie eine detaillierte Übersicht über jedes Modell, einschließlich Links zu den vortrainierten Gewichten, den unterstützten Aufgaben und deren Kompatibilität mit verschiedenen Betriebsmodi. + +| Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Export | +|------------|-----------------------------------------------------------------------------------------------|---------------------------------------|----------|-------------|----------|--------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## Zitierungen und Danksagungen + +Wenn Sie YOLO-NAS in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Wir möchten dem [SuperGradients](https://github.com/Deci-AI/super-gradients/)-Team von Deci AI für ihre Bemühungen bei der Erstellung und Pflege dieser wertvollen Ressource für die Computer Vision Community danken. Wir sind der Meinung, dass YOLO-NAS mit seiner innovativen Architektur und seinen herausragenden Fähigkeiten zur Objekterkennung ein wichtiges Werkzeug für Entwickler und Forscher gleichermaßen wird. + +*Keywords: YOLO-NAS, Deci AI, Objekterkennung, Deep Learning, Neural Architecture Search, Ultralytics Python API, YOLO-Modell, SuperGradients, vortrainierte Modelle, quantisierungsfreundliches Basiselement, fortschrittliche Trainingsschemata, post-training Quantisierung, AutoNAC-Optimierung, COCO, Objects365, Roboflow 100* diff --git a/docs/de/models/yolov3.md b/docs/de/models/yolov3.md new file mode 100644 index 00000000000..de1cf46a60f --- /dev/null +++ b/docs/de/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: Erhalten Sie eine Übersicht über YOLOv3, YOLOv3-Ultralytics und YOLOv3u. Erfahren Sie mehr über ihre wichtigsten Funktionen, Verwendung und unterstützte Aufgaben für die Objekterkennung. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Objekterkennung, Inferenz, Training, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics und YOLOv3u + +## Übersicht + +Dieses Dokument bietet eine Übersicht über drei eng verwandte Modelle zur Objekterkennung, nämlich [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) und [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3:** Dies ist die dritte Version des You Only Look Once (YOLO) Objekterkennungsalgorithmus. Ursprünglich entwickelt von Joseph Redmon, verbesserte YOLOv3 seine Vorgängermodelle durch die Einführung von Funktionen wie mehrskaligen Vorhersagen und drei verschiedenen Größen von Erkennungskernen. + +2. **YOLOv3-Ultralytics:** Dies ist die Implementierung des YOLOv3-Modells von Ultralytics. Es reproduziert die ursprüngliche YOLOv3-Architektur und bietet zusätzliche Funktionalitäten, wie die Unterstützung für weitere vortrainierte Modelle und einfachere Anpassungsoptionen. + +3. **YOLOv3u:** Dies ist eine aktualisierte Version von YOLOv3-Ultralytics, die den anchor-freien, objektfreien Split Head aus den YOLOv8-Modellen einbezieht. YOLOv3u verwendet die gleiche Backbone- und Neck-Architektur wie YOLOv3, aber mit dem aktualisierten Erkennungskopf von YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## Wichtigste Funktionen + +- **YOLOv3:** Einführung der Verwendung von drei unterschiedlichen Skalen für die Erkennung unter Verwendung von drei verschiedenen Größen von Erkennungskernen: 13x13, 26x26 und 52x52. Dadurch wurde die Erkennungsgenauigkeit für Objekte unterschiedlicher Größe erheblich verbessert. Darüber hinaus fügte YOLOv3 Funktionen wie Mehrfachkennzeichnungen für jeden Begrenzungsrahmen und ein besseres Feature-Extraktionsnetzwerk hinzu. + +- **YOLOv3-Ultralytics:** Ultralytics' Implementierung von YOLOv3 bietet die gleiche Leistung wie das ursprüngliche Modell, bietet jedoch zusätzliche Unterstützung für weitere vortrainierte Modelle, zusätzliche Trainingsmethoden und einfachere Anpassungsoptionen. Dadurch wird es vielseitiger und benutzerfreundlicher für praktische Anwendungen. + +- **YOLOv3u:** Dieses aktualisierte Modell enthält den anchor-freien, objektfreien Split Head aus YOLOv8. Durch die Beseitigung der Notwendigkeit vordefinierter Ankerfelder und Objektheitsscores kann dieses Entwurfsmerkmal für den Erkennungskopf die Fähigkeit des Modells verbessern, Objekte unterschiedlicher Größe und Form zu erkennen. Dadurch wird YOLOv3u robuster und genauer für Aufgaben der Objekterkennung. + +## Unterstützte Aufgaben und Modi + +Die YOLOv3-Serie, einschließlich YOLOv3, YOLOv3-Ultralytics und YOLOv3u, ist speziell für Aufgaben der Objekterkennung konzipiert. Diese Modelle sind bekannt für ihre Effektivität in verschiedenen realen Szenarien und kombinieren Genauigkeit und Geschwindigkeit. Jede Variante bietet einzigartige Funktionen und Optimierungen, die sie für eine Vielzahl von Anwendungen geeignet machen. + +Alle drei Modelle unterstützen einen umfangreichen Satz von Modi, um Vielseitigkeit in verschiedenen Phasen der Modellbereitstellung und -entwicklung zu gewährleisten. Zu diesen Modi gehören [Inferenz](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md), was den Benutzern ein vollständiges Toolkit für eine effektive Objekterkennung bietet. + +| Modelltyp | Unterstützte Aufgaben | Inferenz | Validierung | Training | Export | +|--------------------|---------------------------------------|----------|-------------|----------|--------| +| YOLOv3 | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Diese Tabelle bietet einen schnellen Überblick über die Fähigkeiten jeder YOLOv3-Variante und hebt ihre Vielseitigkeit und Eignung für verschiedene Aufgaben und Betriebsmodi in Workflows zur Objekterkennung hervor. + +## Beispiele zur Verwendung + +Dieses Beispiel enthält einfache Trainings- und Inferenzbeispiele für YOLOv3. Für die vollständige Dokumentation zu diesen und anderen [Modi](../modes/index.md) siehe die Seiten zur [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +!!! Example "Beispiel" + + === "Python" + + Vorgefertigte PyTorch-Modelle im `*.pt`-Format sowie Konfigurationsdateien im `*.yaml`-Format können an die `YOLO()`-Klasse übergeben werden, um eine Modellinstanz in Python zu erstellen: + + ```python + from ultralytics import YOLO + + # Lade ein vortrainiertes YOLOv3n-Modell für COCO + model = YOLO('yolov3n.pt') + + # Zeige Informationen zum Modell an (optional) + model.info() + + # Trainiere das Modell mit dem COCO8-Beispieldatensatz für 100 Epochen + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Führe Inferenz mit dem YOLOv3n-Modell auf dem Bild "bus.jpg" durch + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI-Befehle stehen zur Verfügung, um die Modelle direkt auszuführen: + + ```bash + # Lade ein vortrainiertes YOLOv3n-Modell und trainiere es mit dem COCO8-Beispieldatensatz für 100 Epochen + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Lade ein vortrainiertes YOLOv3n-Modell und führe Inferenz auf dem Bild "bus.jpg" aus + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## Zitate und Anerkennungen + +Wenn Sie YOLOv3 in Ihrer Forschung verwenden, zitieren Sie bitte die ursprünglichen YOLO-Papiere und das Ultralytics YOLOv3-Repository: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Vielen Dank an Joseph Redmon und Ali Farhadi für die Entwicklung des originalen YOLOv3. diff --git a/docs/de/models/yolov4.md b/docs/de/models/yolov4.md new file mode 100644 index 00000000000..a866f280787 --- /dev/null +++ b/docs/de/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: Erforschen Sie unseren detaillierten Leitfaden zu YOLOv4, einem hochmodernen Echtzeit-Objektdetektor. Erfahren Sie mehr über seine architektonischen Highlights, innovativen Funktionen und Anwendungsbeispiele. +keywords: ultralytics, YOLOv4, Objekterkennung, neuronales Netzwerk, Echtzeit-Erkennung, Objektdetektor, maschinelles Lernen +--- + +# YOLOv4: Schnelle und präzise Objekterkennung + +Willkommen auf der Ultralytics-Dokumentationsseite für YOLOv4, einem hochmodernen, Echtzeit-Objektdetektor, der 2020 von Alexey Bochkovskiy unter [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) veröffentlicht wurde. YOLOv4 wurde entwickelt, um das optimale Gleichgewicht zwischen Geschwindigkeit und Genauigkeit zu bieten und ist somit eine ausgezeichnete Wahl für viele Anwendungen. + +![YOLOv4 Architekturdiagramm](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**YOLOv4 Architekturdiagramm**. Zeigt das komplexe Netzwerkdesign von YOLOv4, einschließlich der Backbone-, Neck- und Head-Komponenten sowie ihrer verbundenen Schichten für eine optimale Echtzeit-Objekterkennung. + +## Einleitung + +YOLOv4 steht für You Only Look Once Version 4. Es handelt sich um ein Echtzeit-Objekterkennungsmodell, das entwickelt wurde, um die Grenzen früherer YOLO-Versionen wie [YOLOv3](yolov3.md) und anderer Objekterkennungsmodelle zu überwinden. Im Gegensatz zu anderen konvolutionellen neuronalen Netzwerken (CNN), die auf Objekterkennung basieren, ist YOLOv4 nicht nur für Empfehlungssysteme geeignet, sondern auch für eigenständiges Prozessmanagement und Reduzierung der Benutzereingabe. Durch den Einsatz von herkömmlichen Grafikprozessoreinheiten (GPUs) ermöglicht es YOLOv4 eine Massennutzung zu einem erschwinglichen Preis und ist so konzipiert, dass es in Echtzeit auf einer herkömmlichen GPU funktioniert, wobei nur eine solche GPU für das Training erforderlich ist. + +## Architektur + +YOLOv4 nutzt mehrere innovative Funktionen, die zusammenarbeiten, um seine Leistung zu optimieren. Dazu gehören Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-Aktivierung, Mosaic-Datenaugmentation, DropBlock-Regularisierung und CIoU-Verlust. Diese Funktionen werden kombiniert, um erstklassige Ergebnisse zu erzielen. + +Ein typischer Objektdetektor besteht aus mehreren Teilen, darunter der Eingabe, dem Backbone, dem Neck und dem Head. Das Backbone von YOLOv4 ist auf ImageNet vorgeschult und wird zur Vorhersage von Klassen und Begrenzungsrahmen von Objekten verwendet. Das Backbone kann aus verschiedenen Modellen wie VGG, ResNet, ResNeXt oder DenseNet stammen. Der Neck-Teil des Detektors wird verwendet, um Merkmalskarten von verschiedenen Stufen zu sammeln und umfasst normalerweise mehrere Bottom-up-Pfade und mehrere Top-down-Pfade. Der Head-Teil wird schließlich zur Durchführung der endgültigen Objekterkennung und Klassifizierung verwendet. + +## Bag of Freebies + +YOLOv4 verwendet auch Methoden, die als "Bag of Freebies" bekannt sind. Dabei handelt es sich um Techniken, die die Genauigkeit des Modells während des Trainings verbessern, ohne die Kosten der Inferenz zu erhöhen. Datenaugmentation ist eine häufige Bag of Freebies-Technik, die in der Objekterkennung verwendet wird, um die Variabilität der Eingabebilder zu erhöhen und die Robustheit des Modells zu verbessern. Beispiele für Datenaugmentation sind photometrische Verzerrungen (Anpassung von Helligkeit, Kontrast, Farbton, Sättigung und Rauschen eines Bildes) und geometrische Verzerrungen (Hinzufügen von zufälliger Skalierung, Ausschnitt, Spiegelung und Rotation). Diese Techniken helfen dem Modell, sich besser an verschiedene Arten von Bildern anzupassen. + +## Funktionen und Leistung + +YOLOv4 ist für optimale Geschwindigkeit und Genauigkeit in der Objekterkennung konzipiert. Die Architektur von YOLOv4 umfasst CSPDarknet53 als Backbone, PANet als Neck und YOLOv3 als Detektionskopf. Diese Konstruktion ermöglicht es YOLOv4, beeindruckend schnelle Objekterkennungen durchzuführen und ist somit für Echtzeitanwendungen geeignet. YOLOv4 zeichnet sich auch durch Genauigkeit aus und erzielt erstklassige Ergebnisse in Objekterkennungs-Benchmarks. + +## Beispiele für die Verwendung + +Zum Zeitpunkt der Erstellung dieser Dokumentation unterstützt Ultralytics derzeit keine YOLOv4-Modelle. Daher müssen sich Benutzer, die YOLOv4 verwenden möchten, direkt an das YOLOv4 GitHub-Repository für Installations- und Verwendungshinweise wenden. + +Hier ist ein kurzer Überblick über die typischen Schritte, die Sie unternehmen könnten, um YOLOv4 zu verwenden: + +1. Besuchen Sie das YOLOv4 GitHub-Repository: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. Befolgen Sie die in der README-Datei bereitgestellten Anweisungen zur Installation. Dies beinhaltet in der Regel das Klonen des Repositories, die Installation der erforderlichen Abhängigkeiten und das Einrichten der erforderlichen Umgebungsvariablen. + +3. Sobald die Installation abgeschlossen ist, können Sie das Modell gemäß den in dem Repository bereitgestellten Verwendungshinweisen trainieren und verwenden. Dies beinhaltet in der Regel die Vorbereitung des Datensatzes, die Konfiguration der Modellparameter, das Training des Modells und die anschließende Verwendung des trainierten Modells zur Durchführung der Objekterkennung. + +Bitte beachten Sie, dass die spezifischen Schritte je nach Ihrer spezifischen Anwendung und dem aktuellen Stand des YOLOv4-Repositories variieren können. Es wird daher dringend empfohlen, sich direkt an die Anweisungen im YOLOv4-GitHub-Repository zu halten. + +Wir bedauern etwaige Unannehmlichkeiten und werden uns bemühen, dieses Dokument mit Verwendungsbeispielen für Ultralytics zu aktualisieren, sobald die Unterstützung für YOLOv4 implementiert ist. + +## Fazit + +YOLOv4 ist ein leistungsstarkes und effizientes Modell zur Objekterkennung, das eine Balance zwischen Geschwindigkeit und Genauigkeit bietet. Durch den Einsatz einzigartiger Funktionen und Bag of Freebies-Techniken während des Trainings erzielt es hervorragende Ergebnisse in Echtzeit-Objekterkennungsaufgaben. YOLOv4 kann von jedem mit einer herkömmlichen GPU trainiert und verwendet werden, was es für eine Vielzahl von Anwendungen zugänglich und praktisch macht. + +## Zitate und Anerkennungen + +Wir möchten den Autoren von YOLOv4 für ihren bedeutenden Beitrag auf dem Gebiet der Echtzeit-Objekterkennung danken: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Die originale YOLOv4-Publikation finden Sie auf [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht und der Code kann auf [GitHub](https://github.com/AlexeyAB/darknet) abgerufen werden. Wir schätzen ihre Bemühungen, das Fachgebiet voranzubringen und ihre Arbeit der breiteren Community zugänglich zu machen. diff --git a/docs/de/models/yolov5.md b/docs/de/models/yolov5.md new file mode 100644 index 00000000000..b194f125268 --- /dev/null +++ b/docs/de/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: Entdecken Sie YOLOv5u, eine verbesserte Version des YOLOv5-Modells mit einem optimierten Verhältnis von Genauigkeit und Geschwindigkeit sowie zahlreiche vorab trainierte Modelle für verschiedene Objekterkennungsaufgaben. +keywords: YOLOv5u, Objekterkennung, vorab trainierte Modelle, Ultralytics, Inferenz, Validierung, YOLOv5, YOLOv8, Ankerfrei, Objektlos, Echtzeitanwendungen, Maschinelles Lernen +--- + +# YOLOv5 + +## Übersicht + +YOLOv5u steht für eine Weiterentwicklung der Methoden zur Objekterkennung. Basierend auf der grundlegenden Architektur des von Ultralytics entwickelten YOLOv5-Modells integriert YOLOv5u den ankerfreien, objektlosen Split-Kopf, ein Feature, das zuvor in den YOLOv8-Modellen eingeführt wurde. Diese Anpassung verfeinert die Architektur des Modells und führt zu einem optimierten Verhältnis von Genauigkeit und Geschwindigkeit bei der Objekterkennung. Basierend auf den empirischen Ergebnissen und den abgeleiteten Features bietet YOLOv5u eine effiziente Alternative für diejenigen, die robuste Lösungen sowohl in der Forschung als auch in praktischen Anwendungen suchen. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## Hauptmerkmale + +- **Ankerfreier Split-Ultralytics-Kopf:** Herkömmliche Objekterkennungsmodelle verwenden vordefinierte Ankerboxen, um die Position von Objekten vorherzusagen. YOLOv5u modernisiert diesen Ansatz. Durch die Verwendung eines ankerfreien Split-Ultralytics-Kopfes wird ein flexiblerer und anpassungsfähigerer Detektionsmechanismus gewährleistet, der die Leistung in verschiedenen Szenarien verbessert. + +- **Optimiertes Verhältnis von Genauigkeit und Geschwindigkeit:** Geschwindigkeit und Genauigkeit ziehen oft in entgegengesetzte Richtungen. Aber YOLOv5u stellt diese Abwägung in Frage. Es bietet eine ausgewogene Balance, die Echtzeitdetektionen ohne Einbußen bei der Genauigkeit ermöglicht. Diese Funktion ist besonders wertvoll für Anwendungen, die schnelle Reaktionen erfordern, wie autonome Fahrzeuge, Robotik und Echtzeitanalyse von Videos. + +- **Vielfalt an vorab trainierten Modellen:** YOLOv5u bietet eine Vielzahl von vorab trainierten Modellen, da verschiedene Aufgaben unterschiedliche Werkzeuge erfordern. Ob Sie sich auf Inferenz, Validierung oder Training konzentrieren, es wartet ein maßgeschneidertes Modell auf Sie. Diese Vielfalt gewährleistet, dass Sie nicht nur eine Einheitslösung verwenden, sondern ein speziell für Ihre einzigartige Herausforderung feinabgestimmtes Modell. + +## Unterstützte Aufgaben und Modi + +Die YOLOv5u-Modelle mit verschiedenen vorab trainierten Gewichten eignen sich hervorragend für Aufgaben zur [Objekterkennung](../tasks/detect.md). Sie unterstützen eine umfassende Palette von Modi, die sie für verschiedene Anwendungen von der Entwicklung bis zur Bereitstellung geeignet machen. + +| Modelltyp | Vorab trainierte Gewichte | Aufgabe | Inferenz | Validierung | Training | Export | +|-----------|-----------------------------------------------------------------------------------------------------------------------------|---------------------------------------|----------|-------------|----------|--------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Diese Tabelle bietet eine detaillierte Übersicht über die verschiedenen Varianten des YOLOv5u-Modells und hebt ihre Anwendbarkeit in der Objekterkennung sowie die Unterstützung unterschiedlicher Betriebsmodi wie [Inferenz](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md) hervor. Diese umfassende Unterstützung ermöglicht es Benutzern, die Fähigkeiten der YOLOv5u-Modelle in einer Vielzahl von Objekterkennungsszenarien voll auszuschöpfen. + +## Leistungskennzahlen + +!!! Leistung + + === "Erkennung" + + Siehe [Erkennungsdokumentation](https://docs.ultralytics.com/tasks/detect/) für Beispiele zur Verwendung dieser Modelle, die auf [COCO](https://docs.ultralytics.com/datasets/detect/coco/) trainiert wurden und 80 vorab trainierte Klassen enthalten. + + | Modell | YAML | Größe
(Pixel) | mAPval
50-95 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|------------------------------------------|-----------------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34,3 | 73,6 | 1,06 | 2,6 | 7,7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43,0 | 120,7 | 1,27 | 9,1 | 24,0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49,0 | 233,9 | 1,86 | 25,1 | 64,2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52,2 | 408,4 | 2,50 | 53,2 | 135,0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53,2 | 763,2 | 3,81 | 97,2 | 246,4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1.280 | 42,1 | 211,0 | 1,83 | 4,3 | 7,8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1.280 | 48,6 | 422,6 | 2,34 | 15,3 | 24,6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1.280 | 53,6 | 810,9 | 4,36 | 41,2 | 65,7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1.280 | 55,7 | 1.470,9 | 5,47 | 86,1 | 137,4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1.280 | 56,8 | 2.436,5 | 8,98 | 155,4 | 250,7 | + +## Beispiele zur Verwendung + +Dieses Beispiel enthält einfache Beispiele zur Schulung und Inferenz mit YOLOv5. Die vollständige Dokumentation zu diesen und anderen [Modi](../modes/index.md) finden Sie in den Seiten [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +!!! Example "Beispiel" + + === "Python" + + PyTorch-vortrainierte `*.pt`-Modelle sowie Konfigurationsdateien `*.yaml` können an die `YOLO()`-Klasse übergeben werden, um eine Modellinstanz in Python zu erstellen: + + ```python + from ultralytics import YOLO + + # Laden Sie ein vortrainiertes YOLOv5n-Modell für COCO-Daten + modell = YOLO('yolov5n.pt') + + # Informationen zum Modell anzeigen (optional) + model.info() + + # Trainieren Sie das Modell anhand des COCO8-Beispieldatensatzes für 100 Epochen + ergebnisse = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Führen Sie die Inferenz mit dem YOLOv5n-Modell auf dem Bild 'bus.jpg' durch + ergebnisse = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI-Befehle sind verfügbar, um die Modelle direkt auszuführen: + + ```bash + # Laden Sie ein vortrainiertes YOLOv5n-Modell und trainieren Sie es anhand des COCO8-Beispieldatensatzes für 100 Epochen + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Laden Sie ein vortrainiertes YOLOv5n-Modell und führen Sie die Inferenz auf dem Bild 'bus.jpg' durch + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## Zitate und Danksagungen + +Wenn Sie YOLOv5 oder YOLOv5u in Ihrer Forschung verwenden, zitieren Sie bitte das Ultralytics YOLOv5-Repository wie folgt: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +Bitte beachten Sie, dass die YOLOv5-Modelle unter den Lizenzen [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) und [Enterprise](https://ultralytics.com/license) bereitgestellt werden. diff --git a/docs/de/models/yolov6.md b/docs/de/models/yolov6.md new file mode 100644 index 00000000000..0246170c1f5 --- /dev/null +++ b/docs/de/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: Erforschen Sie Meituan YOLOv6, ein modernes Objekterkennungsmodell, das eine ausgewogene Kombination aus Geschwindigkeit und Genauigkeit bietet. Tauchen Sie ein in Funktionen, vorab trainierte Modelle und die Verwendung von Python. +keywords: Meituan YOLOv6, Objekterkennung, Ultralytics, YOLOv6 Dokumentation, Bi-direktionale Konkatenation, Anchor-Aided Training, vorab trainierte Modelle, Echtzeitanwendungen +--- + +# Meituan YOLOv6 + +## Überblick + +[Meituan](https://about.meituan.com/) YOLOv6 ist ein moderner Objekterkenner, der eine bemerkenswerte Balance zwischen Geschwindigkeit und Genauigkeit bietet und somit eine beliebte Wahl für Echtzeitanwendungen darstellt. Dieses Modell bietet mehrere bemerkenswerte Verbesserungen in seiner Architektur und seinem Trainingsschema, einschließlich der Implementierung eines Bi-direktionalen Konkatenationsmoduls (BiC), einer anchor-aided training (AAT)-Strategie und einem verbesserten Backpropagation- und Neck-Design für Spitzenleistungen auf dem COCO-Datensatz. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Modellbeispielbild](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**Übersicht über YOLOv6.** Diagramm der Modellarchitektur, das die neu gestalteten Netzwerkkomponenten und Trainingstrategien zeigt, die zu signifikanten Leistungsverbesserungen geführt haben. (a) Der Nacken von YOLOv6 (N und S sind dargestellt). Beachten Sie, dass bei M/L RepBlocks durch CSPStackRep ersetzt wird. (b) Die Struktur eines BiC-Moduls. (c) Ein SimCSPSPPF-Block. ([Quelle](https://arxiv.org/pdf/2301.05586.pdf)). + +### Hauptmerkmale + +- **Bi-direktionales Konkatenations (BiC) Modul:** YOLOv6 führt ein BiC-Modul im Nacken des Erkenners ein, das die Lokalisierungssignale verbessert und eine Leistungssteigerung bei vernachlässigbarem Geschwindigkeitsabfall liefert. +- **Anchor-aided Training (AAT) Strategie:** Dieses Modell schlägt AAT vor, um die Vorteile sowohl von ankerbasierten als auch von ankerfreien Paradigmen zu nutzen, ohne die Inferenzeffizienz zu beeinträchtigen. +- **Verbessertes Backpropagation- und Neck-Design:** Durch Vertiefung von YOLOv6 um eine weitere Stufe im Backpropagation und Nacken erreicht dieses Modell Spitzenleistungen auf dem COCO-Datensatz bei hochauflösenden Eingaben. +- **Self-Distillation Strategie:** Eine neue Self-Distillation-Strategie wird implementiert, um die Leistung von kleineren Modellen von YOLOv6 zu steigern, indem der Hilfsregressionszweig während des Trainings verstärkt und bei der Inferenz entfernt wird, um einen deutlichen Geschwindigkeitsabfall zu vermeiden. + +## Leistungsmetriken + +YOLOv6 bietet verschiedene vorab trainierte Modelle mit unterschiedlichen Maßstäben: + +- YOLOv6-N: 37,5% AP auf COCO val2017 bei 1187 FPS mit NVIDIA Tesla T4 GPU. +- YOLOv6-S: 45,0% AP bei 484 FPS. +- YOLOv6-M: 50,0% AP bei 226 FPS. +- YOLOv6-L: 52,8% AP bei 116 FPS. +- YOLOv6-L6: Spitzenleistung in Echtzeit. + +YOLOv6 bietet auch quantisierte Modelle für verschiedene Genauigkeiten sowie Modelle, die für mobile Plattformen optimiert sind. + +## Beispiele zur Verwendung + +In diesem Beispiel werden einfache Schulungs- und Inferenzbeispiele für YOLOv6 bereitgestellt. Weitere Dokumentation zu diesen und anderen [Modi](../modes/index.md) finden Sie auf den Seiten [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +!!! Example "Beispiel" + + === "Python" + + In Python kann PyTorch-vorab trainierte `*.pt`-Modelle sowie Konfigurations-`*.yaml`-Dateien an die `YOLO()`-Klasse übergeben werden, um eine Modellinstanz zu erstellen: + + ```python + from ultralytics import YOLO + + # Erstellen Sie ein YOLOv6n-Modell von Grund auf + model = YOLO('yolov6n.yaml') + + # Zeigen Sie Informationen zum Modell an (optional) + model.info() + + # Trainieren Sie das Modell am Beispiel des COCO8-Datensatzes für 100 Epochen + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Führen Sie Inferenz mit dem YOLOv6n-Modell auf dem Bild 'bus.jpg' durch + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI-Befehle stehen zur Verfügung, um die Modelle direkt auszuführen: + + ```bash + # Erstellen Sie ein YOLOv6n-Modell von Grund auf und trainieren Sie es am Beispiel des COCO8-Datensatzes für 100 Epochen + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # Erstellen Sie ein YOLOv6n-Modell von Grund auf und führen Sie Inferenz auf dem Bild 'bus.jpg' durch + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## Unterstützte Aufgaben und Modi + +Die YOLOv6-Serie bietet eine Reihe von Modellen, die jeweils für die Hochleistungs-[Objekterkennung](../tasks/detect.md) optimiert sind. Diese Modelle erfüllen unterschiedliche Rechenanforderungen und Genauigkeitsanforderungen und sind daher vielseitig für eine Vielzahl von Anwendungen einsetzbar. + +| Modelltyp | Vorab trainierte Gewichte | Unterstützte Aufgaben | Inferenz | Validierung | Training | Exportieren | +|-----------|---------------------------|---------------------------------------|----------|-------------|----------|-------------| +| YOLOv6-N | `yolov6-n.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Diese Tabelle bietet einen detaillierten Überblick über die YOLOv6-Modellvarianten und hebt ihre Fähigkeiten bei der Objekterkennung sowie ihre Kompatibilität mit verschiedenen Betriebsmodi wie [Inferenz](../modes/predict.md), [Validierung](../modes/val.md), [Training](../modes/train.md) und [Exportieren](../modes/export.md) hervor. Diese umfassende Unterstützung ermöglicht es den Benutzern, die Fähigkeiten von YOLOv6-Modellen in einer Vielzahl von Objekterkennungsszenarien vollständig zu nutzen. + +## Zitate und Anerkennungen + +Wir möchten den Autoren für ihre bedeutenden Beiträge auf dem Gebiet der Echtzeit-Objekterkennung danken: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Das ursprüngliche YOLOv6-Papier finden Sie auf [arXiv](https://arxiv.org/abs/2301.05586). Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Code kann auf [GitHub](https://github.com/meituan/YOLOv6) abgerufen werden. Wir schätzen ihre Bemühungen zur Weiterentwicklung des Fachgebiets und zur Zugänglichmachung ihrer Arbeit für die breitere Gemeinschaft. diff --git a/docs/de/models/yolov7.md b/docs/de/models/yolov7.md new file mode 100644 index 00000000000..4edb9698b37 --- /dev/null +++ b/docs/de/models/yolov7.md @@ -0,0 +1,66 @@ +--- +comments: true +description: Erforsche den YOLOv7, einen echtzeitfähigen Objektdetektor. Verstehe seine überlegene Geschwindigkeit, beeindruckende Genauigkeit und seinen einzigartigen Fokus auf die optimierte Ausbildung mit "trainable bag-of-freebies". +keywords: YOLOv7, echtzeitfähiger Objektdetektor, State-of-the-Art, Ultralytics, MS COCO Datensatz, Modellumparameterisierung, dynamische Labelzuweisung, erweiterte Skalierung, umfassende Skalierung +--- + +# YOLOv7: Trainable Bag-of-Freebies + +YOLOv7 ist ein echtzeitfähiger Objektdetektor der Spitzenklasse, der alle bekannten Objektdetektoren in Bezug auf Geschwindigkeit und Genauigkeit im Bereich von 5 FPS bis 160 FPS übertrifft. Mit einer Genauigkeit von 56,8% AP ist er der präziseste Echtzeit-Objektdetektor unter allen bekannten Modellen mit einer FPS von 30 oder höher auf der GPU V100. Darüber hinaus übertrifft YOLOv7 andere Objektdetektoren wie YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 und viele andere in Bezug auf Geschwindigkeit und Genauigkeit. Das Modell wird ausschließlich auf dem MS COCO-Datensatz trainiert, ohne andere Datensätze oder vortrainierte Gewichte zu verwenden. Sourcecode für YOLOv7 ist auf GitHub verfügbar. + +![Vergleich von YOLOv7 mit SOTA-Objektdetektoren](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**Vergleich von Spitzen-Objektdetektoren. +** Aus den Ergebnissen in Tabelle 2 wissen wir, dass die vorgeschlagene Methode das beste Verhältnis von Geschwindigkeit und Genauigkeit umfassend aufweist. Vergleichen wir YOLOv7-tiny-SiLU mit YOLOv5-N (r6.1), so ist unsere Methode 127 FPS schneller und um 10,7% genauer beim AP. Darüber hinaus erreicht YOLOv7 bei einer Bildrate von 161 FPS einen AP von 51,4%, während PPYOLOE-L mit demselben AP nur eine Bildrate von 78 FPS aufweist. In Bezug auf die Parameterverwendung ist YOLOv7 um 41% geringer als PPYOLOE-L. Vergleicht man YOLOv7-X mit 114 FPS Inferenzgeschwindigkeit mit YOLOv5-L (r6.1) mit 99 FPS Inferenzgeschwindigkeit, kann YOLOv7-X den AP um 3,9% verbessern. Wenn YOLOv7-X mit YOLOv5-X (r6.1) in ähnlichem Maßstab verglichen wird, ist die Inferenzgeschwindigkeit von YOLOv7-X 31 FPS schneller. Darüber hinaus reduziert YOLOv7-X in Bezug auf die Anzahl der Parameter und Berechnungen 22% der Parameter und 8% der Berechnungen im Vergleich zu YOLOv5-X (r6.1), verbessert jedoch den AP um 2,2% ([Source](https://arxiv.org/pdf/2207.02696.pdf)). + +## Übersicht + +Echtzeit-Objekterkennung ist eine wichtige Komponente vieler Computersysteme für Bildverarbeitung, einschließlich Multi-Object-Tracking, autonomes Fahren, Robotik und medizinische Bildanalyse. In den letzten Jahren konzentrierte sich die Entwicklung der Echtzeit-Objekterkennung auf die Gestaltung effizienter Architekturen und die Verbesserung der Inferenzgeschwindigkeit verschiedener CPUs, GPUs und Neural Processing Units (NPUs). YOLOv7 unterstützt sowohl mobile GPUs als auch GPU-Geräte, von der Edge bis zur Cloud. + +Im Gegensatz zu herkömmlichen, echtzeitfähigen Objektdetektoren, die sich auf die Architekturoptimierung konzentrieren, führt YOLOv7 eine Fokussierung auf die Optimierung des Schulungsprozesses ein. Dazu gehören Module und Optimierungsmethoden, die darauf abzielen, die Genauigkeit der Objekterkennung zu verbessern, ohne die Inferenzkosten zu erhöhen - ein Konzept, das als "trainable bag-of-freebies" bekannt ist. + +## Hauptmerkmale + +YOLOv7 führt mehrere Schlüsselfunktionen ein: + +1. **Modellumparameterisierung**: YOLOv7 schlägt ein geplantes umparameterisiertes Modell vor, das eine in verschiedenen Netzwerken anwendbare Strategie darstellt und auf dem Konzept des Gradientenpropagationspfades basiert. + +2. **Dynamische Labelzuweisung**: Das Training des Modells mit mehreren Ausgabeschichten stellt ein neues Problem dar: "Wie weist man dynamische Ziele für die Ausgaben der verschiedenen Zweige zu?" Zur Lösung dieses Problems führt YOLOv7 eine neue Methode zur Labelzuweisung ein, die als coarse-to-fine lead guided label assignment bekannt ist. + +3. **Erweiterte und umfassende Skalierung**: YOLOv7 schlägt Methoden zur "erweiterten" und "umfassenden Skalierung" des echtzeitfähigen Objektdetektors vor, die Parameter und Berechnungen effektiv nutzen können. + +4. **Effizienz**: Die von YOLOv7 vorgeschlagene Methode kann etwa 40 % der Parameter und 50 % der Berechnungen des state-of-the-art echtzeitfähigen Objektdetektors wirksam reduzieren und weist eine schnellere Inferenzgeschwindigkeit und eine höhere Detektionsgenauigkeit auf. + +## Beispiele zur Nutzung + +Zum Zeitpunkt der Erstellung dieses Textes unterstützt Ultralytics derzeit keine YOLOv7-Modelle. Daher müssen sich alle Benutzer, die YOLOv7 verwenden möchten, direkt an das YOLOv7 GitHub-Repository für Installations- und Nutzungshinweise wenden. + +Hier ist ein kurzer Überblick über die typischen Schritte, die Sie unternehmen könnten, um YOLOv7 zu verwenden: + +1. Besuchen Sie das YOLOv7 GitHub-Repository: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. Befolgen Sie die in der README-Datei bereitgestellten Anweisungen zur Installation. Dies beinhaltet in der Regel das Klonen des Repositories, die Installation der erforderlichen Abhängigkeiten und das Einrichten eventuell notwendiger Umgebungsvariablen. + +3. Sobald die Installation abgeschlossen ist, können Sie das Modell entsprechend den im Repository bereitgestellten Anleitungen trainieren und verwenden. Dies umfasst in der Regel die Vorbereitung des Datensatzes, das Konfigurieren der Modellparameter, das Training des Modells und anschließend die Verwendung des trainierten Modells zur Durchführung der Objekterkennung. + +Bitte beachten Sie, dass die spezifischen Schritte je nach Ihrem spezifischen Anwendungsfall und dem aktuellen Stand des YOLOv7-Repositories variieren können. Es wird daher dringend empfohlen, sich direkt an die im YOLOv7 GitHub-Repository bereitgestellten Anweisungen zu halten. + +Wir bedauern etwaige Unannehmlichkeiten und werden uns bemühen, dieses Dokument mit Anwendungsbeispielen für Ultralytics zu aktualisieren, sobald die Unterstützung für YOLOv7 implementiert ist. + +## Zitationen und Danksagungen + +Wir möchten den Autoren von YOLOv7 für ihre bedeutenden Beiträge im Bereich der echtzeitfähigen Objekterkennung danken: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +Die ursprüngliche YOLOv7-Studie kann auf [arXiv](https://arxiv.org/pdf/2207.02696.pdf) gefunden werden. Die Autoren haben ihre Arbeit öffentlich zugänglich gemacht, und der Code kann auf [GitHub](https://github.com/WongKinYiu/yolov7) abgerufen werden. Wir schätzen ihre Bemühungen, das Feld voranzubringen und ihre Arbeit der breiteren Gemeinschaft zugänglich zu machen. diff --git a/docs/de/models/yolov8.md b/docs/de/models/yolov8.md new file mode 100644 index 00000000000..e24ca969978 --- /dev/null +++ b/docs/de/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: Erfahren Sie mehr über die aufregenden Funktionen von YOLOv8, der neuesten Version unseres Echtzeit-Objekterkenners! Erfahren Sie, wie fortschrittliche Architekturen, vortrainierte Modelle und die optimale Balance zwischen Genauigkeit und Geschwindigkeit YOLOv8 zur perfekten Wahl für Ihre Objekterkennungsaufgaben machen. +keywords: YOLOv8, Ultralytics, Echtzeit-Objekterkennung, vortrainierte Modelle, Dokumentation, Objekterkennung, YOLO-Serie, fortschrittliche Architekturen, Genauigkeit, Geschwindigkeit +--- + +# YOLOv8 + +## Übersicht + +YOLOv8 ist die neueste Version der YOLO-Serie von Echtzeit-Objekterkennern und bietet modernste Leistung in Bezug auf Genauigkeit und Geschwindigkeit. Basierend auf den Fortschritten früherer YOLO-Versionen bringt YOLOv8 neue Funktionen und Optimierungen mit sich, die ihn zu einer idealen Wahl für verschiedene Objekterkennungsaufgaben in einer Vielzahl von Anwendungen machen. + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## Schlüsselfunktionen + +- **Fortschrittliche Backbone- und Neck-Architekturen:** YOLOv8 verwendet modernste Backbone- und Neck-Architekturen, die zu einer verbesserten Merkmalsextraktion und Objekterkennungsleistung führen. +- **Ankerfreier Split Ultralytics Head:** YOLOv8 verwendet einen ankerfreien Split Ultralytics Head, der zu einer besseren Genauigkeit und einem effizienteren Erkennungsprozess im Vergleich zu ankerbasierten Ansätzen führt. +- **Optimale Genauigkeits-Geschwindigkeits-Balance:** Mit dem Fokus auf die Aufrechterhaltung einer optimalen Balance zwischen Genauigkeit und Geschwindigkeit eignet sich YOLOv8 für Echtzeit-Objekterkennungsaufgaben in verschiedenen Anwendungsbereichen. +- **Vielfalt an vortrainierten Modellen:** YOLOv8 bietet eine Vielzahl von vortrainierten Modellen, um verschiedenen Aufgaben und Leistungsanforderungen gerecht zu werden. Dies erleichtert die Suche nach dem richtigen Modell für Ihren spezifischen Anwendungsfall. + +## Unterstützte Aufgaben und Modi + +Die YOLOv8-Serie bietet eine Vielzahl von Modellen, von denen jedes auf bestimmte Aufgaben in der Computer Vision spezialisiert ist. Diese Modelle sind so konzipiert, dass sie verschiedenen Anforderungen gerecht werden, von der Objekterkennung bis hin zu komplexeren Aufgaben wie Instanzsegmentierung, Pose/Keypoint-Erkennung und Klassifikation. + +Jede Variante der YOLOv8-Serie ist auf ihre jeweilige Aufgabe optimiert und gewährleistet damit hohe Leistung und Genauigkeit. Darüber hinaus sind diese Modelle kompatibel mit verschiedenen Betriebsmodi, einschließlich [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) und [Export](../modes/export.md). Dadurch wird ihre Verwendung in verschiedenen Phasen der Bereitstellung und Entwicklung erleichtert. + +| Modell | Dateinamen | Aufgabe | Inference | Validation | Training | Export | +|-------------|----------------------------------------------------------------------------------------------------------------|---------------------------------------------|-----------|------------|----------|--------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Objekterkennung](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Instanzsegmentierung](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Pose/Keypoints](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Klassifikation](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +Diese Tabelle gibt einen Überblick über die verschiedenen Varianten des YOLOv8-Modells und deren Anwendungsbereiche sowie deren Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export. Sie zeigt die Vielseitigkeit und Robustheit der YOLOv8-Serie, was sie für verschiedene Anwendungen in der Computer Vision geeignet macht. + +## Leistungskennzahlen + +!!! Performance + + === "Objekterkennung (COCO)" + + Siehe [Objekterkennungsdokumentation](https://docs.ultralytics.com/tasks/detect/) für Beispiele zur Verwendung dieser Modelle, die auf [COCO](https://docs.ultralytics.com/datasets/detect/coco/) trainiert wurden und 80 vortrainierte Klassen enthalten. + + | Modell | Größe
(Pixel) | mAPval
50-95 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ---------------------------------------- | --------------------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37,3 | 80,4 | 0,99 | 3,2 | 8,7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44,9 | 128,4 | 1,20 | 11,2 | 28,6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50,2 | 234,7 | 1,83 | 25,9 | 78,9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52,9 | 375,2 | 2,39 | 43,7 | 165,2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53,9 | 479,1 | 3,53 | 68,2 | 257,8 | + + === "Objekterkennung (Open Images V7)" + + Siehe [Objekterkennungsdokumentation](https://docs.ultralytics.com/tasks/detect/) für Beispiele zur Verwendung dieser Modelle, die auf [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/) trainiert wurden und 600 vortrainierte Klassen enthalten. + + | Modell | Größe
(Pixel) | mAPval
50-95 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ---------------------------------------- | --------------------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18,4 | 142,4 | 1,21 | 3,5 | 10,5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27,7 | 183,1 | 1,40 | 11,4 | 29,7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33,6 | 408,5 | 2,26 | 26,2 | 80,6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34,9 | 596,9 | 2,43 | 44,1 | 167,4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36,3 | 860,6 | 3,56 | 68,7 | 260,6 | + + === "Segmentierung (COCO)" + + Siehe [Segmentierungsdokumentation](https://docs.ultralytics.com/tasks/segment/) für Beispiele zur Verwendung dieser Modelle, die auf [COCO](https://docs.ultralytics.com/datasets/segment/coco/) trainiert wurden und 80 vortrainierte Klassen enthalten. + + | Modell | Größe
(Pixel) | mAPbox
50-95 | mAPmask
50-95 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) | + | -------------------------------------------------------------------------------------------- | --------------------- | --------------------- | --------------------- | ---------------------------------------- | --------------------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36,7 | 30,5 | 96,1 | 1,21 | 3,4 | 12,6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44,6 | 36,8 | 155,7 | 1,47 | 11,8 | 42,6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49,9 | 40,8 | 317,0 | 2,18 | 27,3 | 110,2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52,3 | 42,6 | 572,4 | 2,79 | 46,0 | 220,5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53,4 | 43,4 | 712,1 | 4,02 | 71,8 | 344,1 | + + === "Klassifikation (ImageNet)" + + Siehe [Klassifikationsdokumentation](https://docs.ultralytics.com/tasks/classify/) für Beispiele zur Verwendung dieser Modelle, die auf [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/) trainiert wurden und 1000 vortrainierte Klassen enthalten. + + | Modell | Größe
(Pixel) | acc
top1 | acc
top5 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) bei 640 | + | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ---------------------------------------- | --------------------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66,6 | 87,0 | 12,9 | 0,31 | 2,7 | 4,3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72,3 | 91,1 | 23,4 | 0,35 | 6,4 | 13,5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76,4 | 93,2 | 85,4 | 0,62 | 17,0 | 42,7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78,0 | 94,1 | 163,0 | 0,87 | 37,5 | 99,7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78,4 | 94,3 | 232,0 | 1,01 | 57,4 | 154,8 | + + === "Pose (COCO)" + + Siehe [Pose Estimation Docs](https://docs.ultralytics.com/tasks/segment/) für Beispiele zur Verwendung dieser Modelle, die auf [COCO](https://docs.ultralytics.com/datasets/pose/coco/) trainiert wurden und 1 vortrainierte Klasse, 'person', enthalten. + + | Modell | Größe
(Pixel) | mAPpose
50-95 | mAPpose
50 | Geschwindigkeit
CPU ONNX
(ms) | Geschwindigkeit
A100 TensorRT
(ms) | Parameter
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ---------------------------------------- | --------------------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50,4 | 80,1 | 131,8 | 1,18 | 3,3 | 9,2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60,0 | 86,2 | 233,2 | 1,42 | 11,6 | 30,2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65,0 | 88,8 | 456,3 | 2,00 | 26,4 | 81,0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67,6 | 90,0 | 784,5 | 2,59 | 44,4 | 168,6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69,2 | 90,2 | 1607,1 | 3,73 | 69,4 | 263,2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71,6 | 91,2 | 4088,7 | 10,04 | 99,1 | 1066,4 | + +## Beispiele zur Verwendung + +Dieses Beispiel liefert einfache Trainings- und Inferenzbeispiele für YOLOv8. Für die vollständige Dokumentation zu diesen und anderen [Modi](../modes/index.md) siehe die Seiten [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) und [Export](../modes/export.md). + +Beachten Sie, dass das folgende Beispiel für YOLOv8 [Detect](../tasks/detect.md) Modelle für die Objekterkennung verwendet. Für zusätzliche unterstützte Aufgaben siehe die Dokumentation zur [Segmentation](../tasks/segment.md), [Classification](../tasks/classify.md) und [Pose](../tasks/pose.md). + +!!! Example "Beispiel" + + === "Python" + + Vortrainierte PyTorch-`*.pt`-Modelle sowie Konfigurations-`*.yaml`-Dateien können der Klasse `YOLO()` in Python übergeben werden, um eine Modellinstanz zu erstellen: + + ```python + from ultralytics import YOLO + + # Laden Sie ein vortrainiertes YOLOv8n-Modell für COCO + model = YOLO('yolov8n.pt') + + # Zeigen Sie Informationen zum Modell an (optional) + model.info() + + # Trainieren Sie das Modell mit dem COCO8-Beispieldatensatz für 100 Epochen + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Führen Sie eine Inferenz mit dem YOLOv8n-Modell auf dem Bild 'bus.jpg' aus + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI-Befehle stehen zur direkten Ausführung der Modelle zur Verfügung: + + ```bash + # Laden Sie ein vortrainiertes YOLOv8n-Modell für COCO und trainieren Sie es mit dem COCO8-Beispieldatensatz für 100 Epochen + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Laden Sie ein vortrainiertes YOLOv8n-Modell für COCO und führen Sie eine Inferenz auf dem Bild 'bus.jpg' aus + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## Zitate und Danksagungen + +Wenn Sie das YOLOv8-Modell oder eine andere Software aus diesem Repository in Ihrer Arbeit verwenden, zitieren Sie es bitte in folgendem Format: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +Bitte beachten Sie, dass dieDOI aussteht und der Zitation hinzugefügt wird, sobald sie verfügbar ist. YOLOv8-Modelle werden unter den Lizenzen [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) und [Enterprise](https://ultralytics.com/license) bereitgestellt. diff --git a/docs/en/datasets/classify/caltech101.md b/docs/en/datasets/classify/caltech101.md index 767dbe0fde8..635e9c5ad9c 100644 --- a/docs/en/datasets/classify/caltech101.md +++ b/docs/en/datasets/classify/caltech101.md @@ -61,7 +61,7 @@ The example showcases the variety and complexity of the objects in the Caltech-1 If you use the Caltech-101 dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/caltech256.md b/docs/en/datasets/classify/caltech256.md index 9c65d71fe8c..26a0414e169 100644 --- a/docs/en/datasets/classify/caltech256.md +++ b/docs/en/datasets/classify/caltech256.md @@ -61,7 +61,7 @@ The example showcases the diversity and complexity of the objects in the Caltech If you use the Caltech-256 dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/cifar10.md b/docs/en/datasets/classify/cifar10.md index 7a700ad13ae..fbca09a8869 100644 --- a/docs/en/datasets/classify/cifar10.md +++ b/docs/en/datasets/classify/cifar10.md @@ -64,7 +64,7 @@ The example showcases the variety and complexity of the objects in the CIFAR-10 If you use the CIFAR-10 dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/cifar100.md b/docs/en/datasets/classify/cifar100.md index e27292e8fee..7c539f410ad 100644 --- a/docs/en/datasets/classify/cifar100.md +++ b/docs/en/datasets/classify/cifar100.md @@ -64,7 +64,7 @@ The example showcases the variety and complexity of the objects in the CIFAR-100 If you use the CIFAR-100 dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/imagenet.md b/docs/en/datasets/classify/imagenet.md index 3241ed519f0..be4ca2b49fb 100644 --- a/docs/en/datasets/classify/imagenet.md +++ b/docs/en/datasets/classify/imagenet.md @@ -64,7 +64,7 @@ The example showcases the variety and complexity of the images in the ImageNet d If you use the ImageNet dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/imagenet10.md b/docs/en/datasets/classify/imagenet10.md index 69fbd670c3b..0c2a9219e95 100644 --- a/docs/en/datasets/classify/imagenet10.md +++ b/docs/en/datasets/classify/imagenet10.md @@ -59,7 +59,7 @@ The example showcases the variety and complexity of the images in the ImageNet10 If you use the ImageNet10 dataset in your research or development work, please cite the original ImageNet paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/classify/index.md b/docs/en/datasets/classify/index.md index b058d50d36e..a9d281dc5e4 100644 --- a/docs/en/datasets/classify/index.md +++ b/docs/en/datasets/classify/index.md @@ -80,7 +80,7 @@ In this example, the `train` directory contains subdirectories for each class in ## Usage -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/datasets/classify/mnist.md b/docs/en/datasets/classify/mnist.md index f36b1798448..355ab5b23b8 100644 --- a/docs/en/datasets/classify/mnist.md +++ b/docs/en/datasets/classify/mnist.md @@ -69,7 +69,7 @@ If you use the MNIST dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/argoverse.md b/docs/en/datasets/detect/argoverse.md index 54f282f3742..4ec59d88bfe 100644 --- a/docs/en/datasets/detect/argoverse.md +++ b/docs/en/datasets/detect/argoverse.md @@ -80,7 +80,7 @@ The example showcases the variety and complexity of the data in the Argoverse da If you use the Argoverse dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/coco.md b/docs/en/datasets/detect/coco.md index 5f2ee085d39..5fd170053ca 100644 --- a/docs/en/datasets/detect/coco.md +++ b/docs/en/datasets/detect/coco.md @@ -76,7 +76,7 @@ The example showcases the variety and complexity of the images in the COCO datas If you use the COCO dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/coco8.md b/docs/en/datasets/detect/coco8.md index bea51279151..f2fe6c1c397 100644 --- a/docs/en/datasets/detect/coco8.md +++ b/docs/en/datasets/detect/coco8.md @@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8 data If you use the COCO dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/globalwheat2020.md b/docs/en/datasets/detect/globalwheat2020.md index dba6dec0cea..8df4f65f6a5 100644 --- a/docs/en/datasets/detect/globalwheat2020.md +++ b/docs/en/datasets/detect/globalwheat2020.md @@ -75,7 +75,7 @@ The example showcases the variety and complexity of the data in the Global Wheat If you use the Global Wheat Head Dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/index.md b/docs/en/datasets/detect/index.md index 4b8eefadc34..b216f491dfa 100644 --- a/docs/en/datasets/detect/index.md +++ b/docs/en/datasets/detect/index.md @@ -48,7 +48,7 @@ When using the Ultralytics YOLO format, organize your training and validation im Here's how you can use these formats to train your model: -!!! Example "" +!!! Example === "Python" @@ -93,7 +93,7 @@ If you have your own dataset and would like to use it for training detection mod You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet: -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/datasets/detect/objects365.md b/docs/en/datasets/detect/objects365.md index 5ecfb2cc9e1..fbc9fe6689b 100644 --- a/docs/en/datasets/detect/objects365.md +++ b/docs/en/datasets/detect/objects365.md @@ -75,7 +75,7 @@ The example showcases the variety and complexity of the data in the Objects365 d If you use the Objects365 dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/open-images-v7.md b/docs/en/datasets/detect/open-images-v7.md index 1e46550f621..93d323ff9df 100644 --- a/docs/en/datasets/detect/open-images-v7.md +++ b/docs/en/datasets/detect/open-images-v7.md @@ -94,7 +94,7 @@ Researchers can gain invaluable insights into the array of computer vision chall For those employing Open Images V7 in their work, it's prudent to cite the relevant papers and acknowledge the creators: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/sku-110k.md b/docs/en/datasets/detect/sku-110k.md index 4d4fcbc534d..f8ca58d81ba 100644 --- a/docs/en/datasets/detect/sku-110k.md +++ b/docs/en/datasets/detect/sku-110k.md @@ -77,7 +77,7 @@ The example showcases the variety and complexity of the data in the SKU-110k dat If you use the SKU-110k dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/visdrone.md b/docs/en/datasets/detect/visdrone.md index f0bcfd5bae4..24d8db212b4 100644 --- a/docs/en/datasets/detect/visdrone.md +++ b/docs/en/datasets/detect/visdrone.md @@ -73,7 +73,7 @@ The example showcases the variety and complexity of the data in the VisDrone dat If you use the VisDrone dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/voc.md b/docs/en/datasets/detect/voc.md index 0908352a49c..c47819ae6d8 100644 --- a/docs/en/datasets/detect/voc.md +++ b/docs/en/datasets/detect/voc.md @@ -77,7 +77,7 @@ The example showcases the variety and complexity of the images in the VOC datase If you use the VOC dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/detect/xview.md b/docs/en/datasets/detect/xview.md index 9d9aa74d247..f2d352807d6 100644 --- a/docs/en/datasets/detect/xview.md +++ b/docs/en/datasets/detect/xview.md @@ -79,7 +79,7 @@ The example showcases the variety and complexity of the data in the xView datase If you use the xView dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/obb/dota-v2.md b/docs/en/datasets/obb/dota-v2.md index 0a6b0f458c3..48087f4b40c 100644 --- a/docs/en/datasets/obb/dota-v2.md +++ b/docs/en/datasets/obb/dota-v2.md @@ -109,7 +109,7 @@ The dataset's richness offers invaluable insights into object detection challeng For those leveraging DOTA v2 in their endeavors, it's pertinent to cite the relevant research papers: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/obb/index.md b/docs/en/datasets/obb/index.md index 5e5a17fb330..9fa79e9b7f9 100644 --- a/docs/en/datasets/obb/index.md +++ b/docs/en/datasets/obb/index.md @@ -32,7 +32,7 @@ An example of a `*.txt` label file for the above image, which contains an object To train a model using these OBB formats: -!!! Example "" +!!! Example === "Python" @@ -69,7 +69,7 @@ For those looking to introduce their own datasets with oriented bounding boxes, Transitioning labels from the DOTA dataset format to the YOLO OBB format can be achieved with this script: -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/datasets/pose/coco.md b/docs/en/datasets/pose/coco.md index e0d3fec6e74..2eadc5e3961 100644 --- a/docs/en/datasets/pose/coco.md +++ b/docs/en/datasets/pose/coco.md @@ -77,7 +77,7 @@ The example showcases the variety and complexity of the images in the COCO-Pose If you use the COCO-Pose dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/pose/coco8-pose.md b/docs/en/datasets/pose/coco8-pose.md index 519ea92a0ac..50992b13cf6 100644 --- a/docs/en/datasets/pose/coco8-pose.md +++ b/docs/en/datasets/pose/coco8-pose.md @@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8-Pose If you use the COCO dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/pose/index.md b/docs/en/datasets/pose/index.md index 464aa8378b3..c52ee7588bd 100644 --- a/docs/en/datasets/pose/index.md +++ b/docs/en/datasets/pose/index.md @@ -64,7 +64,7 @@ The `train` and `val` fields specify the paths to the directories containing the ## Usage -!!! Example "" +!!! Example === "Python" @@ -125,7 +125,7 @@ If you have your own dataset and would like to use it for training pose estimati Ultralytics provides a convenient conversion tool to convert labels from the popular COCO dataset format to YOLO format: -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/datasets/segment/coco.md b/docs/en/datasets/segment/coco.md index b77289a6b67..febffa961dd 100644 --- a/docs/en/datasets/segment/coco.md +++ b/docs/en/datasets/segment/coco.md @@ -76,7 +76,7 @@ The example showcases the variety and complexity of the images in the COCO-Seg d If you use the COCO-Seg dataset in your research or development work, please cite the original COCO paper and acknowledge the extension to COCO-Seg: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/segment/coco8-seg.md b/docs/en/datasets/segment/coco8-seg.md index 0e55ec5a8cb..51f7a679c1c 100644 --- a/docs/en/datasets/segment/coco8-seg.md +++ b/docs/en/datasets/segment/coco8-seg.md @@ -62,7 +62,7 @@ The example showcases the variety and complexity of the images in the COCO8-Seg If you use the COCO dataset in your research or development work, please cite the following paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/datasets/segment/index.md b/docs/en/datasets/segment/index.md index 4cd81267185..93996a60222 100644 --- a/docs/en/datasets/segment/index.md +++ b/docs/en/datasets/segment/index.md @@ -66,7 +66,7 @@ The `train` and `val` fields specify the paths to the directories containing the ## Usage -!!! Example "" +!!! Example === "Python" @@ -101,7 +101,7 @@ If you have your own dataset and would like to use it for training segmentation You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet: -!!! Example "" +!!! Example === "Python" @@ -123,7 +123,7 @@ Auto-annotation is an essential feature that allows you to generate a segmentati To auto-annotate your dataset using the Ultralytics framework, you can use the `auto_annotate` function as shown below: -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/datasets/track/index.md b/docs/en/datasets/track/index.md index 89abbff9ffb..b5838397d29 100644 --- a/docs/en/datasets/track/index.md +++ b/docs/en/datasets/track/index.md @@ -12,7 +12,7 @@ Multi-Object Detector doesn't need standalone training and directly supports pre ## Usage -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/guides/hyperparameter-tuning.md b/docs/en/guides/hyperparameter-tuning.md index 0a7c0fc8d94..f7d2b56d5dd 100644 --- a/docs/en/guides/hyperparameter-tuning.md +++ b/docs/en/guides/hyperparameter-tuning.md @@ -69,7 +69,7 @@ The process is repeated until either the set number of iterations is reached or Here's how to use the `model.tune()` method to utilize the `Tuner` class for hyperparameter tuning of YOLOv8n on COCO8 for 30 epochs with an AdamW optimizer and skipping plotting, checkpointing and validation other than on final epoch for faster Tuning. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/guides/kfold-cross-validation.md b/docs/en/guides/kfold-cross-validation.md index d32fb96e91a..1510e97506b 100644 --- a/docs/en/guides/kfold-cross-validation.md +++ b/docs/en/guides/kfold-cross-validation.md @@ -30,7 +30,7 @@ Without further ado, let's dive in! - It includes 6 class labels, each with its total instance counts listed below. | Class Label | Instance Count | - |:------------|:--------------:| + |:------------|:--------------:| | Apple | 7049 | | Grapes | 7202 | | Pineapple | 1613 | diff --git a/docs/en/guides/sahi-tiled-inference.md b/docs/en/guides/sahi-tiled-inference.md index fd45384b4be..9728703033c 100644 --- a/docs/en/guides/sahi-tiled-inference.md +++ b/docs/en/guides/sahi-tiled-inference.md @@ -167,7 +167,7 @@ That's it! Now you're equipped to use YOLOv8 with SAHI for both standard and sli If you use SAHI in your research or development work, please cite the original SAHI paper and acknowledge the authors: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/integrations/openvino.md b/docs/en/integrations/openvino.md index 255a505b6a1..c5f509b0815 100644 --- a/docs/en/integrations/openvino.md +++ b/docs/en/integrations/openvino.md @@ -27,7 +27,7 @@ OpenVINO, short for Open Visual Inference & Neural Network Optimization toolkit, Export a YOLOv8n model to OpenVINO format and run inference with the exported model. -!!! Example "" +!!! Example === "Python" @@ -251,7 +251,7 @@ Benchmarks below run on 13th Gen Intel® Core® i7-13700H CPU at FP32 precision. To reproduce the Ultralytics benchmarks above on all export [formats](../modes/export.md) run this code: -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/models/fast-sam.md b/docs/en/models/fast-sam.md index 9b4928d91cc..d528d47446c 100644 --- a/docs/en/models/fast-sam.md +++ b/docs/en/models/fast-sam.md @@ -30,17 +30,24 @@ FastSAM is designed to address the limitations of the [Segment Anything Model (S 7. **Model Compression Feasibility:** FastSAM demonstrates the feasibility of a path that can significantly reduce the computational effort by introducing an artificial prior to the structure, thus opening new possibilities for large model architecture for general vision tasks. -## Usage +## Available Models, Supported Tasks, and Operating Modes -### Python API +This table presents the available models with their specific pre-trained weights, the tasks they support, and their compatibility with different operating modes like [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md), indicated by ✅ emojis for supported modes and ❌ emojis for unsupported modes. -The FastSAM models are easy to integrate into your Python applications. Ultralytics provides a user-friendly Python API to streamline the process. +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|------------|---------------------|----------------------------------------------|-----------|------------|----------|--------| +| FastSAM-s | `FastSAM-s.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | -#### Predict Usage +## Usage Examples + +The FastSAM models are easy to integrate into your Python applications. Ultralytics provides user-friendly Python API and CLI commands to streamline development. + +### Predict Usage To perform object detection on an image, use the `predict` method as shown below: -!!! Example "" +!!! Example === "Python" ```python @@ -83,11 +90,11 @@ To perform object detection on an image, use the `predict` method as shown below This snippet demonstrates the simplicity of loading a pre-trained model and running a prediction on an image. -#### Val Usage +### Val Usage Validation of the model on a dataset can be done as follows: -!!! Example "" +!!! Example === "Python" ```python @@ -108,11 +115,11 @@ Validation of the model on a dataset can be done as follows: Please note that FastSAM only supports detection and segmentation of a single class of object. This means it will recognize and segment all objects as the same class. Therefore, when preparing the dataset, you need to convert all object category IDs to 0. -### FastSAM official Usage +## FastSAM official Usage FastSAM is also available directly from the [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) repository. Here is a brief overview of the typical steps you might take to use FastSAM: -#### Installation +### Installation 1. Clone the FastSAM repository: ```shell @@ -136,7 +143,7 @@ FastSAM is also available directly from the [https://github.com/CASIA-IVA-Lab/Fa pip install git+https://github.com/openai/CLIP.git ``` -#### Example Usage +### Example Usage 1. Download a [model checkpoint](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). @@ -168,7 +175,7 @@ Additionally, you can try FastSAM through a [Colab demo](https://colab.research. We would like to acknowledge the FastSAM authors for their significant contributions in the field of real-time instance segmentation: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/index.md b/docs/en/models/index.md index 410131ea3e5..93bbdb98f4c 100644 --- a/docs/en/models/index.md +++ b/docs/en/models/index.md @@ -17,7 +17,7 @@ Here are some of the key models supported: 3. **[YOLOv5](yolov5.md)**: An improved version of the YOLO architecture by Ultralytics, offering better performance and speed trade-offs compared to previous versions. 4. **[YOLOv6](yolov6.md)**: Released by [Meituan](https://about.meituan.com/) in 2022, and in use in many of the company's autonomous delivery robots. 5. **[YOLOv7](yolov7.md)**: Updated YOLO models released in 2022 by the authors of YOLOv4. -6. **[YOLOv8](yolov8.md)**: The latest version of the YOLO family, featuring enhanced capabilities such as instance segmentation, pose/keypoints estimation, and classification. +6. **[YOLOv8](yolov8.md) NEW 🚀**: The latest version of the YOLO family, featuring enhanced capabilities such as instance segmentation, pose/keypoints estimation, and classification. 7. **[Segment Anything Model (SAM)](sam.md)**: Meta's Segment Anything Model (SAM). 8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM for mobile applications, by Kyung Hee University. 9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM by Image & Video Analysis Group, Institute of Automation, Chinese Academy of Sciences. @@ -37,7 +37,11 @@ Here are some of the key models supported: ## Getting Started: Usage Examples -!!! Example "" +This example provides simple YOLO training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. + +Note the below example is for YOLOv8 [Detect](../tasks/detect.md) models for object detection. For additional supported tasks see the [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) and [Pose](../tasks/pose.md) docs. + +!!! Example === "Python" diff --git a/docs/en/models/mobile-sam.md b/docs/en/models/mobile-sam.md index 54f1360f0e3..c06e351dfdd 100644 --- a/docs/en/models/mobile-sam.md +++ b/docs/en/models/mobile-sam.md @@ -16,6 +16,14 @@ MobileSAM is implemented in various projects including [Grounding-SAM](https://g MobileSAM is trained on a single GPU with a 100k dataset (1% of the original images) in less than a day. The code for this training will be made available in the future. +## Available Models, Supported Tasks, and Operating Modes + +This table presents the available models with their specific pre-trained weights, the tasks they support, and their compatibility with different operating modes like [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md), indicated by ✅ emojis for supported modes and ❌ emojis for unsupported modes. + +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|------------|---------------------|----------------------------------------------|-----------|------------|----------|--------| +| MobileSAM | `mobile_sam.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + ## Adapting from SAM to MobileSAM Since MobileSAM retains the same pipeline as the original SAM, we have incorporated the original's pre-processing, post-processing, and all other interfaces. Consequently, those currently using the original SAM can transition to MobileSAM with minimal effort. @@ -61,7 +69,7 @@ You can download the model [here](https://github.com/ChaoningZhang/MobileSAM/blo ### Point Prompt -!!! Example "" +!!! Example === "Python" ```python @@ -76,7 +84,7 @@ You can download the model [here](https://github.com/ChaoningZhang/MobileSAM/blo ### Box Prompt -!!! Example "" +!!! Example === "Python" ```python @@ -95,7 +103,7 @@ We have implemented `MobileSAM` and `SAM` using the same API. For more usage inf If you find MobileSAM useful in your research or development work, please consider citing our paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/rtdetr.md b/docs/en/models/rtdetr.md index 6af5b3290f5..b7d449ac318 100644 --- a/docs/en/models/rtdetr.md +++ b/docs/en/models/rtdetr.md @@ -26,13 +26,11 @@ The Ultralytics Python API provides pre-trained PaddlePaddle RT-DETR models with - RT-DETR-L: 53.0% AP on COCO val2017, 114 FPS on T4 GPU - RT-DETR-X: 54.8% AP on COCO val2017, 74 FPS on T4 GPU -## Usage +## Usage Examples -You can use RT-DETR for object detection tasks using the `ultralytics` pip package. The following is a sample code snippet showing how to use RT-DETR models for training and inference: +This example provides simple RT-DETRR training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. -!!! Example "" - - This example provides simple inference code for RT-DETR. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using RT-DETR with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). +!!! Example === "Python" @@ -62,26 +60,20 @@ You can use RT-DETR for object detection tasks using the `ultralytics` pip packa yolo predict model=rtdetr-l.pt source=path/to/bus.jpg ``` -### Supported Tasks - -| Model Type | Pre-trained Weights | Tasks Supported | -|---------------------|---------------------|------------------| -| RT-DETR Large | `rtdetr-l.pt` | Object Detection | -| RT-DETR Extra-Large | `rtdetr-x.pt` | Object Detection | +## Supported Tasks and Modes -### Supported Modes +This table presents the model types, the specific pre-trained weights, the tasks supported by each model, and the various modes ([Train](../modes/train.md) , [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)) that are supported, indicated by ✅ emojis. -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ✅ | -| Training | ✅ | +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|---------------------|---------------------|----------------------------------------|-----------|------------|----------|--------| +| RT-DETR Large | `rtdetr-l.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | ## Citations and Acknowledgements If you use Baidu's RT-DETR in your research or development work, please cite the [original paper](https://arxiv.org/abs/2304.08069): -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/sam.md b/docs/en/models/sam.md index f40a0f28db9..e2ff0709583 100644 --- a/docs/en/models/sam.md +++ b/docs/en/models/sam.md @@ -26,6 +26,15 @@ Example images with overlaid masks from our newly introduced dataset, SA-1B. SA- For an in-depth look at the Segment Anything Model and the SA-1B dataset, please visit the [Segment Anything website](https://segment-anything.com) and check out the research paper [Segment Anything](https://arxiv.org/abs/2304.02643). +## Available Models, Supported Tasks, and Operating Modes + +This table presents the available models with their specific pre-trained weights, the tasks they support, and their compatibility with different operating modes like [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md), indicated by ✅ emojis for supported modes and ❌ emojis for unsupported modes. + +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|------------|---------------------|----------------------------------------------|-----------|------------|----------|--------| +| SAM base | `sam_b.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + ## How to Use SAM: Versatility and Power in Image Segmentation The Segment Anything Model can be employed for a multitude of downstream tasks that go beyond its training data. This includes edge detection, object proposal generation, instance segmentation, and preliminary text-to-mask prediction. With prompt engineering, SAM can swiftly adapt to new tasks and data distributions in a zero-shot manner, establishing it as a versatile and potent tool for all your image segmentation needs. @@ -122,21 +131,6 @@ The Segment Anything Model can be employed for a multitude of downstream tasks t - More additional args for `Segment everything` see [`Predictor/generate` Reference](../reference/models/sam/predict.md). -## Available Models and Supported Tasks - -| Model Type | Pre-trained Weights | Tasks Supported | -|------------|---------------------|-----------------------| -| SAM base | `sam_b.pt` | Instance Segmentation | -| SAM large | `sam_l.pt` | Instance Segmentation | - -## Operating Modes - -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ❌ | -| Training | ❌ | - ## SAM comparison vs YOLOv8 Here we compare Meta's smallest SAM model, SAM-b, with Ultralytics smallest segmentation model, [YOLOv8n-seg](../tasks/segment.md): @@ -152,7 +146,7 @@ This comparison shows the order-of-magnitude differences in the model sizes and Tests run on a 2023 Apple M2 Macbook with 16GB of RAM. To reproduce this test: -!!! Example "" +!!! Example === "Python" ```python @@ -187,7 +181,7 @@ Auto-annotation is a key feature of SAM, allowing users to generate a [segmentat To auto-annotate your dataset with the Ultralytics framework, use the `auto_annotate` function as shown below: -!!! Example "" +!!! Example === "Python" ```python @@ -212,7 +206,7 @@ Auto-annotation with pre-trained models can dramatically cut down the time and e If you find SAM useful in your research or development work, please consider citing our paper: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolo-nas.md b/docs/en/models/yolo-nas.md index 1e5f7cd92e5..a8e550bb9e9 100644 --- a/docs/en/models/yolo-nas.md +++ b/docs/en/models/yolo-nas.md @@ -34,7 +34,7 @@ Experience the power of next-generation object detection with the pre-trained YO Each model variant is designed to offer a balance between Mean Average Precision (mAP) and latency, helping you optimize your object detection tasks for both performance and speed. -## Usage +## Usage Examples Ultralytics has made YOLO-NAS models easy to integrate into your Python applications via our `ultralytics` python package. The package provides a user-friendly Python API to streamline the process. @@ -44,7 +44,7 @@ The following examples show how to use YOLO-NAS models with the `ultralytics` pa In this example we validate YOLO-NAS-s on the COCO8 dataset. -!!! Example "" +!!! Example This example provides simple inference and validation code for YOLO-NAS. For handling inference results see [Predict](../modes/predict.md) mode. For using YOLO-NAS with additional modes see [Val](../modes/val.md) and [Export](../modes/export.md). YOLO-NAS on the `ultralytics` package does not support training. @@ -80,33 +80,27 @@ In this example we validate YOLO-NAS-s on the COCO8 dataset. yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg ``` -### Supported Tasks +## Supported Tasks and Modes -The YOLO-NAS models are primarily designed for object detection tasks. You can download the pre-trained weights for each variant of the model as follows: +We offer three variants of the YOLO-NAS models: Small (s), Medium (m), and Large (l). Each variant is designed to cater to different computational and performance needs: -| Model Type | Pre-trained Weights | Tasks Supported | -|------------|-----------------------------------------------------------------------------------------------|------------------| -| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | Object Detection | -| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | Object Detection | -| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | Object Detection | +- **YOLO-NAS-s**: Optimized for environments where computational resources are limited but efficiency is key. +- **YOLO-NAS-m**: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy. +- **YOLO-NAS-l**: Tailored for scenarios requiring the highest accuracy, where computational resources are less of a constraint. -### Supported Modes +Below is a detailed overview of each model, including links to their pre-trained weights, the tasks they support, and their compatibility with different operating modes. -The YOLO-NAS models support both inference and validation modes, allowing you to predict and validate results with ease. Training mode, however, is currently not supported. - -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ✅ | -| Training | ❌ | - -Harness the power of the YOLO-NAS models to drive your object detection tasks to new heights of performance and speed. +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|------------|-----------------------------------------------------------------------------------------------|----------------------------------------|-----------|------------|----------|--------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | ## Citations and Acknowledgements If you employ YOLO-NAS in your research or development work, please cite SuperGradients: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolov3.md b/docs/en/models/yolov3.md index 3052535e10c..2e6d34b99dc 100644 --- a/docs/en/models/yolov3.md +++ b/docs/en/models/yolov3.md @@ -26,34 +26,25 @@ This document presents an overview of three closely related object detection mod - **YOLOv3u:** This updated model incorporates the anchor-free, objectness-free split head from YOLOv8. By eliminating the need for pre-defined anchor boxes and objectness scores, this detection head design can improve the model's ability to detect objects of varying sizes and shapes. This makes YOLOv3u more robust and accurate for object detection tasks. -## Supported Tasks +## Supported Tasks and Modes -YOLOv3, YOLOv3-Ultralytics, and YOLOv3u all support the following tasks: +The YOLOv3 series, including YOLOv3, YOLOv3-Ultralytics, and YOLOv3u, are designed specifically for object detection tasks. These models are renowned for their effectiveness in various real-world scenarios, balancing accuracy and speed. Each variant offers unique features and optimizations, making them suitable for a range of applications. -- Object Detection +All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md), providing users with a complete toolkit for effective object detection. -## Supported Modes +| Model Type | Tasks Supported | Inference | Validation | Training | Export | +|--------------------|----------------------------------------|-----------|------------|----------|--------| +| YOLOv3 | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | -All three models support the following modes: +This table provides an at-a-glance view of the capabilities of each YOLOv3 variant, highlighting their versatility and suitability for various tasks and operational modes in object detection workflows. -- Inference -- Validation -- Training -- Export +## Usage Examples -## Performance +This example provides simple YOLOv3 training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. -Below is a comparison of the performance of the three models. The performance is measured in terms of the Mean Average Precision (mAP) on the COCO dataset: - -TODO - -## Usage - -You can use YOLOv3 for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv3 model for inference: - -!!! Example "" - - This example provides simple inference code for YOLOv3. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv3 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). +!!! Example === "Python" @@ -91,7 +82,7 @@ You can use YOLOv3 for object detection tasks using the Ultralytics repository. If you use YOLOv3 in your research, please cite the original YOLO papers and the Ultralytics YOLOv3 repository: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolov4.md b/docs/en/models/yolov4.md index e03efd537be..71bde6bf73b 100644 --- a/docs/en/models/yolov4.md +++ b/docs/en/models/yolov4.md @@ -53,7 +53,7 @@ YOLOv4 is a powerful and efficient object detection model that strikes a balance We would like to acknowledge the YOLOv4 authors for their significant contributions in the field of real-time object detection: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolov5.md b/docs/en/models/yolov5.md index 4fbb9923a30..ab55225e448 100644 --- a/docs/en/models/yolov5.md +++ b/docs/en/models/yolov5.md @@ -20,24 +20,24 @@ YOLOv5u represents an advancement in object detection methodologies. Originating - **Variety of Pre-trained Models:** Understanding that different tasks require different toolsets, YOLOv5u provides a plethora of pre-trained models. Whether you're focusing on Inference, Validation, or Training, there's a tailor-made model awaiting you. This variety ensures you're not just using a one-size-fits-all solution, but a model specifically fine-tuned for your unique challenge. -## Supported Tasks +## Supported Tasks and Modes -| Model Type | Pre-trained Weights | Task | -|------------|-----------------------------------------------------------------------------------------------------------------------------|-----------| -| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | Detection | +The YOLOv5u models, with various pre-trained weights, excel in [Object Detection](../tasks/detect.md) tasks. They support a comprehensive range of modes, making them suitable for diverse applications, from development to deployment. -## Supported Modes +| Model Type | Pre-trained Weights | Task | Inference | Validation | Training | Export | +|------------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------|-----------|------------|----------|--------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ✅ | -| Training | ✅ | +This table provides a detailed overview of the YOLOv5u model variants, highlighting their applicability in object detection tasks and support for various operational modes such as [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md). This comprehensive support ensures that users can fully leverage the capabilities of YOLOv5u models in a wide range of object detection scenarios. + +## Performance Metrics !!! Performance === "Detection" + See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examples with these models trained on [COCO](https://docs.ultralytics.com/datasets/detect/coco/), which include 80 pre-trained classes. + | Model | YAML | size
(pixels) | mAPval
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) | |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | @@ -52,13 +52,11 @@ YOLOv5u represents an advancement in object detection methodologies. Originating | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | -## Usage - -You can use YOLOv5u for object detection tasks using the Ultralytics repository. The following is a sample code snippet showing how to use YOLOv5u model for inference: +## Usage Examples -!!! Example "" +This example provides simple YOLOv5 training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. - This example provides simple inference code for YOLOv5. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv5 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). +!!! Example === "Python" @@ -96,7 +94,7 @@ You can use YOLOv5u for object detection tasks using the Ultralytics repository. If you use YOLOv5 or YOLOv5u in your research, please cite the Ultralytics YOLOv5 repository as follows: -!!! Note "" +!!! Quote "" === "BibTeX" ```bibtex @@ -112,4 +110,4 @@ If you use YOLOv5 or YOLOv5u in your research, please cite the Ultralytics YOLOv } ``` -Special thanks to Glenn Jocher and the Ultralytics team for their work on developing and maintaining the YOLOv5 and YOLOv5u models. +Please note that YOLOv5 models are provided under [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) and [Enterprise](https://ultralytics.com/license) licenses. diff --git a/docs/en/models/yolov6.md b/docs/en/models/yolov6.md index 0f4b1b1d863..a3aaca53447 100644 --- a/docs/en/models/yolov6.md +++ b/docs/en/models/yolov6.md @@ -21,7 +21,7 @@ keywords: Meituan YOLOv6, object detection, Ultralytics, YOLOv6 docs, Bi-directi - **Enhanced Backbone and Neck Design:** By deepening YOLOv6 to include another stage in the backbone and neck, this model achieves state-of-the-art performance on the COCO dataset at high-resolution input. - **Self-Distillation Strategy:** A new self-distillation strategy is implemented to boost the performance of smaller models of YOLOv6, enhancing the auxiliary regression branch during training and removing it at inference to avoid a marked speed decline. -## Pre-trained Models +## Performance Metrics YOLOv6 provides various pre-trained models with different scales: @@ -33,13 +33,11 @@ YOLOv6 provides various pre-trained models with different scales: YOLOv6 also provides quantized models for different precisions and models optimized for mobile platforms. -## Usage +## Usage Examples -You can use YOLOv6 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv6 models for training: +This example provides simple YOLOv6 training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. -!!! Example "" - - This example provides simple training code for YOLOv6. For more options including training settings see [Train](../modes/train.md) mode. For using YOLOv6 with additional modes see [Predict](../modes/predict.md), [Val](../modes/val.md) and [Export](../modes/export.md). +!!! Example === "Python" @@ -73,29 +71,25 @@ You can use YOLOv6 for object detection tasks using the Ultralytics pip package. yolo predict model=yolov6n.yaml source=path/to/bus.jpg ``` -### Supported Tasks +## Supported Tasks and Modes -| Model Type | Pre-trained Weights | Tasks Supported | -|------------|---------------------|------------------| -| YOLOv6-N | `yolov6-n.pt` | Object Detection | -| YOLOv6-S | `yolov6-s.pt` | Object Detection | -| YOLOv6-M | `yolov6-m.pt` | Object Detection | -| YOLOv6-L | `yolov6-l.pt` | Object Detection | -| YOLOv6-L6 | `yolov6-l6.pt` | Object Detection | +The YOLOv6 series offers a range of models, each optimized for high-performance [Object Detection](../tasks/detect.md). These models cater to varying computational needs and accuracy requirements, making them versatile for a wide array of applications. -## Supported Modes +| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export | +|------------|---------------------|----------------------------------------|-----------|------------|----------|--------| +| YOLOv6-N | `yolov6-n.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ✅ | -| Training | ✅ | +This table provides a detailed overview of the YOLOv6 model variants, highlighting their capabilities in object detection tasks and their compatibility with various operational modes such as [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md). This comprehensive support ensures that users can fully leverage the capabilities of YOLOv6 models in a broad range of object detection scenarios. ## Citations and Acknowledgements We would like to acknowledge the authors for their significant contributions in the field of real-time object detection: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolov7.md b/docs/en/models/yolov7.md index 90cbcad1b77..f3d99d54cc3 100644 --- a/docs/en/models/yolov7.md +++ b/docs/en/models/yolov7.md @@ -49,7 +49,7 @@ We regret any inconvenience this may cause and will strive to update this docume We would like to acknowledge the YOLOv7 authors for their significant contributions in the field of real-time object detection: -!!! Note "" +!!! Quote "" === "BibTeX" diff --git a/docs/en/models/yolov8.md b/docs/en/models/yolov8.md index af6d69f47d3..027b3996163 100644 --- a/docs/en/models/yolov8.md +++ b/docs/en/models/yolov8.md @@ -19,27 +19,29 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, - **Optimized Accuracy-Speed Tradeoff:** With a focus on maintaining an optimal balance between accuracy and speed, YOLOv8 is suitable for real-time object detection tasks in diverse application areas. - **Variety of Pre-trained Models:** YOLOv8 offers a range of pre-trained models to cater to various tasks and performance requirements, making it easier to find the right model for your specific use case. -## Supported Tasks +## Supported Tasks and Modes -| Model Type | Pre-trained Weights | Task | -|-------------|---------------------------------------------------------------------------------------------------------------------|-----------------------| -| YOLOv8 | `yolov8n.pt`, `yolov8s.pt`, `yolov8m.pt`, `yolov8l.pt`, `yolov8x.pt` | Detection | -| YOLOv8-seg | `yolov8n-seg.pt`, `yolov8s-seg.pt`, `yolov8m-seg.pt`, `yolov8l-seg.pt`, `yolov8x-seg.pt` | Instance Segmentation | -| YOLOv8-pose | `yolov8n-pose.pt`, `yolov8s-pose.pt`, `yolov8m-pose.pt`, `yolov8l-pose.pt`, `yolov8x-pose.pt`, `yolov8x-pose-p6.pt` | Pose/Keypoints | -| YOLOv8-cls | `yolov8n-cls.pt`, `yolov8s-cls.pt`, `yolov8m-cls.pt`, `yolov8l-cls.pt`, `yolov8x-cls.pt` | Classification | +The YOLOv8 series offers a diverse range of models, each specialized for specific tasks in computer vision. These models are designed to cater to various requirements, from object detection to more complex tasks like instance segmentation, pose/keypoints detection, and classification. -## Supported Modes +Each variant of the YOLOv8 series is optimized for its respective task, ensuring high performance and accuracy. Additionally, these models are compatible with various operational modes including [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), and [Export](../modes/export.md), facilitating their use in different stages of deployment and development. -| Mode | Supported | -|------------|-----------| -| Inference | ✅ | -| Validation | ✅ | -| Training | ✅ | +| Model | Filenames | Task | Inference | Validation | Training | Export | +|-------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------|-----------|------------|----------|--------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Pose/Keypoints](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Classification](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +This table provides an overview of the YOLOv8 model variants, highlighting their applicability in specific tasks and their compatibility with various operational modes such as Inference, Validation, Training, and Export. It showcases the versatility and robustness of the YOLOv8 series, making them suitable for a variety of applications in computer vision. + +## Performance Metrics !!! Performance === "Detection (COCO)" + See [Detection Docs](https://docs.ultralytics.com/tasks/detect/) for usage examples with these models trained on [COCO](https://docs.ultralytics.com/datasets/detect/coco/), which include 80 pre-trained classes. + | Model | size
(pixels) | mAPval
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) | | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | @@ -62,6 +64,8 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, === "Segmentation (COCO)" + See [Segmentation Docs](https://docs.ultralytics.com/tasks/segment/) for usage examples with these models trained on [COCO](https://docs.ultralytics.com/datasets/segment/coco/), which include 80 pre-trained classes. + | Model | size
(pixels) | mAPbox
50-95 | mAPmask
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) | | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | @@ -72,6 +76,8 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, === "Classification (ImageNet)" + See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usage examples with these models trained on [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), which include 1000 pre-trained classes. + | Model | size
(pixels) | acc
top1 | acc
top5 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) at 640 | | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ | | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | @@ -82,6 +88,8 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, === "Pose (COCO)" + See [Pose Estimation Docs](https://docs.ultralytics.com/tasks/segment/) for usage examples with these models trained on [COCO](https://docs.ultralytics.com/datasets/pose/coco/), which include 1 pre-trained class, 'person'. + | Model | size
(pixels) | mAPpose
50-95 | mAPpose
50 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) | | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | @@ -91,13 +99,13 @@ YOLOv8 is the latest iteration in the YOLO series of real-time object detectors, | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | -## Usage +## Usage Examples -You can use YOLOv8 for object detection tasks using the Ultralytics pip package. The following is a sample code snippet showing how to use YOLOv8 models for inference: +This example provides simple YOLOv8 training and inference examples. For full documentation on these and other [modes](../modes/index.md) see the [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md) docs pages. -!!! Example "" +Note the below example is for YOLOv8 [Detect](../tasks/detect.md) models for object detection. For additional supported tasks see the [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) and [Pose](../tasks/pose.md) docs. - This example provides simple inference code for YOLOv8. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using YOLOv8 with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). +!!! Example === "Python" @@ -135,7 +143,7 @@ You can use YOLOv8 for object detection tasks using the Ultralytics pip package. If you use the YOLOv8 model or any other software from this repository in your work, please cite it using the following format: -!!! Note "" +!!! Quote "" === "BibTeX" @@ -151,4 +159,4 @@ If you use the YOLOv8 model or any other software from this repository in your w } ``` -Please note that the DOI is pending and will be added to the citation once it is available. The usage of the software is in accordance with the AGPL-3.0 license. +Please note that the DOI is pending and will be added to the citation once it is available. YOLOv8 models are provided under [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) and [Enterprise](https://ultralytics.com/license) licenses. diff --git a/docs/en/modes/benchmark.md b/docs/en/modes/benchmark.md index 58806ee969b..c5f887fa92a 100644 --- a/docs/en/modes/benchmark.md +++ b/docs/en/modes/benchmark.md @@ -41,7 +41,7 @@ Once your model is trained and validated, the next logical step is to evaluate i Run YOLOv8n benchmarks on all supported export formats including ONNX, TensorRT etc. See Arguments section below for a full list of export arguments. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/modes/export.md b/docs/en/modes/export.md index bb6d00791f7..8c14fdc10f3 100644 --- a/docs/en/modes/export.md +++ b/docs/en/modes/export.md @@ -48,7 +48,7 @@ Here are some of the standout functionalities: Export a YOLOv8n model to a different format like ONNX or TensorRT. See Arguments section below for a full list of export arguments. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/modes/predict.md b/docs/en/modes/predict.md index 6e5077e4849..4df6cd6c0dd 100644 --- a/docs/en/modes/predict.md +++ b/docs/en/modes/predict.md @@ -28,7 +28,7 @@ In the world of machine learning and computer vision, the process of making sens | Manufacturing | Sports | Safety | |:-------------------------------------------------:|:----------------------------------------------------:|:-------------------------------------------:| | ![Vehicle Spare Parts Detection][car spare parts] | ![Football Player Detection][football player detect] | ![People Fall Detection][human fall detect] | -| Vehicle Spare Parts Detection | Football Player Detection | People Fall Detection | +| Vehicle Spare Parts Detection | Football Player Detection | People Fall Detection | ## Why Use Ultralytics YOLO for Inference? @@ -715,5 +715,7 @@ Here's a Python script using OpenCV (`cv2`) and YOLOv8 to run inference on video This script will run predictions on each frame of the video, visualize the results, and display them in a window. The loop can be exited by pressing 'q'. [car spare parts]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a0f802a8-0776-44cf-8f17-93974a4a28a1 + [football player detect]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/7d320e1f-fc57-4d7f-a691-78ee579c3442 + [human fall detect]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/86437c4a-3227-4eee-90ef-9efb697bdb43 diff --git a/docs/en/modes/track.md b/docs/en/modes/track.md index c6e10a9b555..8ec565175d3 100644 --- a/docs/en/modes/track.md +++ b/docs/en/modes/track.md @@ -32,10 +32,10 @@ The output from Ultralytics trackers is consistent with standard object detectio ## Real-world Applications -| Transportation | Retail | Aquaculture | +| Transportation | Retail | Aquaculture | |:----------------------------------:|:--------------------------------:|:----------------------------:| | ![Vehicle Tracking][vehicle track] | ![People Tracking][people track] | ![Fish Tracking][fish track] | -| Vehicle Tracking | People Tracking | Fish Tracking | +| Vehicle Tracking | People Tracking | Fish Tracking | ## Features at a Glance @@ -58,7 +58,7 @@ The default tracker is BoT-SORT. To run the tracker on video streams, use a trained Detect, Segment or Pose model such as YOLOv8n, YOLOv8n-seg and YOLOv8n-pose. -!!! Example "" +!!! Example === "Python" @@ -97,7 +97,7 @@ As can be seen in the above usage, tracking is available for all Detect, Segment Tracking configuration shares properties with Predict mode, such as `conf`, `iou`, and `show`. For further configurations, refer to the [Predict](../modes/predict.md#inference-arguments) model page. -!!! Example "" +!!! Example === "Python" @@ -120,7 +120,7 @@ Tracking configuration shares properties with Predict mode, such as `conf`, `iou Ultralytics also allows you to use a modified tracker configuration file. To do this, simply make a copy of a tracker config file (for example, `custom_tracker.yaml`) from [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) and modify any configurations (except the `tracker_type`) as per your needs. -!!! Example "" +!!! Example === "Python" @@ -354,5 +354,7 @@ To initiate your contribution, please refer to our [Contributing Guide](https:// Together, let's enhance the tracking capabilities of the Ultralytics YOLO ecosystem 🙏! [vehicle track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/ee6e6038-383b-4f21-ac29-b2a1c7d386ab + [people track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/93bb4ee2-77a0-4e4e-8eb6-eb8f527f0527 + [fish track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a5146d0f-bfa8-4e0a-b7df-3c1446cd8142 diff --git a/docs/en/modes/train.md b/docs/en/modes/train.md index 137ea2972ea..c04636ba9e2 100644 --- a/docs/en/modes/train.md +++ b/docs/en/modes/train.md @@ -236,7 +236,7 @@ To use a logger, select it from the dropdown menu in the code snippet above and To use Comet: -!!! Example "" +!!! Example === "Python" ```python @@ -254,7 +254,7 @@ Remember to sign in to your Comet account on their website and get your API key. To use ClearML: -!!! Example "" +!!! Example === "Python" ```python @@ -272,7 +272,7 @@ After running this script, you will need to sign in to your ClearML account on t To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb): -!!! Example "" +!!! Example === "CLI" ```bash @@ -282,7 +282,7 @@ To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ul To use TensorBoard locally run the below command and view results at http://localhost:6006/. -!!! Example "" +!!! Example === "CLI" ```bash diff --git a/docs/en/modes/val.md b/docs/en/modes/val.md index 79e844ff694..a5a0aa944be 100644 --- a/docs/en/modes/val.md +++ b/docs/en/modes/val.md @@ -38,7 +38,7 @@ These are the notable functionalities offered by YOLOv8's Val mode: Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. See Arguments section below for a full list of export arguments. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/reference/utils/__init__.md b/docs/en/reference/utils/__init__.md index 80211ecf5ae..2f4717da934 100644 --- a/docs/en/reference/utils/__init__.md +++ b/docs/en/reference/utils/__init__.md @@ -94,7 +94,6 @@ keywords: Ultralytics, Utils, utilitarian functions, colorstr, yaml_save, set_lo

--- - ## ::: ultralytics.utils.is_github_action_running

diff --git a/docs/en/tasks/classify.md b/docs/en/tasks/classify.md index b52c796cd90..0e89a876fb7 100644 --- a/docs/en/tasks/classify.md +++ b/docs/en/tasks/classify.md @@ -40,7 +40,7 @@ YOLOv8 pretrained Classify models are shown here. Detect, Segment and Pose model Train YOLOv8n-cls on the MNIST160 dataset for 100 epochs at image size 64. For a full list of available arguments see the [Configuration](../usage/cfg.md) page. -!!! Example "" +!!! Example === "Python" @@ -77,7 +77,7 @@ YOLO classification dataset format can be found in detail in the [Dataset Guide] Validate trained YOLOv8n-cls model accuracy on the MNIST160 dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. -!!! Example "" +!!! Example === "Python" @@ -104,7 +104,7 @@ Validate trained YOLOv8n-cls model accuracy on the MNIST160 dataset. No argument Use a trained YOLOv8n-cls model to run predictions on images. -!!! Example "" +!!! Example === "Python" @@ -131,7 +131,7 @@ See full `predict` mode details in the [Predict](https://docs.ultralytics.com/mo Export a YOLOv8n-cls model to a different format like ONNX, CoreML, etc. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/tasks/detect.md b/docs/en/tasks/detect.md index 0482ad2059d..179692d2890 100644 --- a/docs/en/tasks/detect.md +++ b/docs/en/tasks/detect.md @@ -51,7 +51,7 @@ YOLOv8 pretrained Detect models are shown here. Detect, Segment and Pose models Train YOLOv8n on the COCO128 dataset for 100 epochs at image size 640. For a full list of available arguments see the [Configuration](../usage/cfg.md) page. -!!! Example "" +!!! Example === "Python" @@ -87,7 +87,7 @@ YOLO detection dataset format can be found in detail in the [Dataset Guide](../d Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. -!!! Example "" +!!! Example === "Python" @@ -116,7 +116,7 @@ Validate trained YOLOv8n model accuracy on the COCO128 dataset. No argument need Use a trained YOLOv8n model to run predictions on images. -!!! Example "" +!!! Example === "Python" @@ -143,7 +143,7 @@ See full `predict` mode details in the [Predict](https://docs.ultralytics.com/mo Export a YOLOv8n model to a different format like ONNX, CoreML, etc. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/tasks/pose.md b/docs/en/tasks/pose.md index 2a94579bc78..c754d566978 100644 --- a/docs/en/tasks/pose.md +++ b/docs/en/tasks/pose.md @@ -54,7 +54,7 @@ YOLOv8 pretrained Pose models are shown here. Detect, Segment and Pose models ar Train a YOLOv8-pose model on the COCO128-pose dataset. -!!! Example "" +!!! Example === "Python" @@ -91,7 +91,7 @@ YOLO pose dataset format can be found in detail in the [Dataset Guide](../datase Validate trained YOLOv8n-pose model accuracy on the COCO128-pose dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. -!!! Example "" +!!! Example === "Python" @@ -120,7 +120,7 @@ retains it's training `data` and arguments as model attributes. Use a trained YOLOv8n-pose model to run predictions on images. -!!! Example "" +!!! Example === "Python" @@ -147,7 +147,7 @@ See full `predict` mode details in the [Predict](https://docs.ultralytics.com/mo Export a YOLOv8n Pose model to a different format like ONNX, CoreML, etc. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/tasks/segment.md b/docs/en/tasks/segment.md index 87aecd1ce7b..e48517cc939 100644 --- a/docs/en/tasks/segment.md +++ b/docs/en/tasks/segment.md @@ -51,7 +51,7 @@ YOLOv8 pretrained Segment models are shown here. Detect, Segment and Pose models Train YOLOv8n-seg on the COCO128-seg dataset for 100 epochs at image size 640. For a full list of available arguments see the [Configuration](../usage/cfg.md) page. -!!! Example "" +!!! Example === "Python" @@ -88,7 +88,7 @@ YOLO segmentation dataset format can be found in detail in the [Dataset Guide](. Validate trained YOLOv8n-seg model accuracy on the COCO128-seg dataset. No argument need to passed as the `model` retains it's training `data` and arguments as model attributes. -!!! Example "" +!!! Example === "Python" @@ -121,7 +121,7 @@ retains it's training `data` and arguments as model attributes. Use a trained YOLOv8n-seg model to run predictions on images. -!!! Example "" +!!! Example === "Python" @@ -148,7 +148,7 @@ See full `predict` mode details in the [Predict](https://docs.ultralytics.com/mo Export a YOLOv8n-seg model to a different format like ONNX, CoreML, etc. -!!! Example "" +!!! Example === "Python" diff --git a/docs/en/usage/cfg.md b/docs/en/usage/cfg.md index 0e2c1949d17..96e1cf8b674 100644 --- a/docs/en/usage/cfg.md +++ b/docs/en/usage/cfg.md @@ -8,7 +8,7 @@ YOLO settings and hyperparameters play a critical role in the model's performanc YOLOv8 `yolo` CLI commands use the following syntax: -!!! Example "" +!!! Example === "CLI" diff --git a/docs/en/usage/cli.md b/docs/en/usage/cli.md index 57844a5fbb1..756146747b8 100644 --- a/docs/en/usage/cli.md +++ b/docs/en/usage/cli.md @@ -218,7 +218,7 @@ To do this first create a copy of `default.yaml` in your current working dir wit This will create `default_copy.yaml`, which you can then pass as `cfg=default_copy.yaml` along with any additional args, like `imgsz=320` in this example: -!!! Example "" +!!! Example === "CLI" ```bash diff --git a/docs/es/models/fast-sam.md b/docs/es/models/fast-sam.md new file mode 100644 index 00000000000..dfaee11f9d3 --- /dev/null +++ b/docs/es/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: Explora FastSAM, una solución basada en CNN para la segmentación en tiempo real de objetos en imágenes. Ofrece una interacción mejorada del usuario, eficiencia computacional y es adaptable a diversas tareas de visión. +keywords: FastSAM, aprendizaje automático, solución basada en CNN, segmentación de objetos, solución en tiempo real, Ultralytics, tareas de visión, procesamiento de imágenes, aplicaciones industriales, interacción del usuario +--- + +# Modelo para Segmentar Cualquier Cosa Rápidamente (FastSAM) + +El Modelo para Segmentar Cualquier Cosa Rápidamente (FastSAM) es una solución novedosa basada en CNN que funciona en tiempo real para la tarea de Segmentar Cualquier Cosa. Esta tarea está diseñada para segmentar cualquier objeto dentro de una imagen basándose en diversas indicaciones posibles de interacción del usuario. FastSAM reduce significativamente las demandas computacionales a la vez que mantiene un rendimiento competitivo, lo que lo convierte en una opción práctica para una variedad de tareas de visión. + +![Descripción general de la arquitectura del Modelo para Segmentar Cualquier Cosa Rápidamente (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## Descripción general + +FastSAM está diseñado para abordar las limitaciones del [Modelo para Segmentar Cualquier Cosa (SAM)](sam.md), un modelo Transformer pesado con requerimientos sustanciales de recursos computacionales. FastSAM divide la tarea de segmentar cualquier cosa en dos etapas secuenciales: segmentación de todas las instancias y selección basada en indicaciones. La primera etapa utiliza [YOLOv8-seg](../tasks/segment.md) para producir las máscaras de segmentación de todas las instancias en la imagen. En la segunda etapa, produce la región de interés correspondiente a la indicación. + +## Características principales + +1. **Solución en tiempo real:** Al aprovechar la eficiencia computacional de las CNN, FastSAM proporciona una solución en tiempo real para la tarea de segmentar cualquier cosa, lo que lo hace valioso para aplicaciones industriales que requieren resultados rápidos. + +2. **Eficiencia y rendimiento:** FastSAM ofrece una reducción significativa en las demandas computacionales y de recursos sin comprometer la calidad del rendimiento. Alcanza un rendimiento comparable al de SAM, pero con recursos computacionales drásticamente reducidos, lo que permite su aplicación en tiempo real. + +3. **Segmentación guiada por indicaciones:** FastSAM puede segmentar cualquier objeto dentro de una imagen guiado por diversas indicaciones posibles de interacción del usuario, lo que proporciona flexibilidad y adaptabilidad en diferentes escenarios. + +4. **Basado en YOLOv8-seg:** FastSAM se basa en [YOLOv8-seg](../tasks/segment.md), un detector de objetos equipado con una rama de segmentación de instancias. Esto le permite producir de manera efectiva las máscaras de segmentación de todas las instancias en una imagen. + +5. **Resultados competitivos en pruebas de referencia:** En la tarea de propuesta de objetos de MS COCO, FastSAM alcanza puntuaciones altas a una velocidad significativamente más rápida que [SAM](sam.md) en una sola tarjeta NVIDIA RTX 3090, lo que demuestra su eficiencia y capacidad. + +6. **Aplicaciones prácticas:** El enfoque propuesto proporciona una solución nueva y práctica para un gran número de tareas de visión a una velocidad muy alta, varias veces más rápida que los métodos actuales. + +7. **Factibilidad de compresión del modelo:** FastSAM demuestra la factibilidad de un camino que puede reducir significativamente el esfuerzo computacional al introducir una prioridad artificial en la estructura, abriendo así nuevas posibilidades para la arquitectura de modelos grandes en tareas generales de visión. + +## Modelos disponibles, tareas admitidas y modos de funcionamiento + +Esta tabla presenta los modelos disponibles con sus pesos pre-entrenados específicos, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento, como [Inference](../modes/predict.md) (inferencia), [Validation](../modes/val.md) (validación), [Training](../modes/train.md) (entrenamiento) y [Export](../modes/export.md) (exportación), indicados mediante emojis ✅ para los modos admitidos y emojis ❌ para los modos no admitidos. + +| Tipo de modelo | Pesos pre-entrenados | Tareas admitidas | Inferencia | Validación | Entrenamiento | Exportación | +|----------------|----------------------|---------------------------------------------------|------------|------------|---------------|-------------| +| FastSAM-s | `FastSAM-s.pt` | [Segmentación de Instancias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Segmentación de Instancias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Ejemplos de uso + +Los modelos FastSAM son fáciles de integrar en tus aplicaciones Python. Ultralytics proporciona una API y comandos de línea de comandos (CLI) fáciles de usar para agilizar el desarrollo. + +### Uso de predicción + +Para realizar la detección de objetos en una imagen, utiliza el método `predict` de la siguiente manera: + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # Define una fuente de inferencia + source = 'ruta/hacia/bus.jpg' + + # Crea un modelo FastSAM + model = FastSAM('FastSAM-s.pt') # o FastSAM-x.pt + + # Ejecuta la inferencia en una imagen + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Prepara un objeto de procesamiento de indicaciones + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Indicación Everything + ann = prompt_process.everything_prompt() + + # Caja predeterminada [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # Indicación de texto + ann = prompt_process.text_prompt(text='una foto de un perro') + + # Indicación de punto + # puntos predeterminados [[0,0]] [[x1,y1],[x2,y2]] + # etiqueta_predeterminada [0] [1,0] 0:fondo, 1:primer plano + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # Carga un modelo FastSAM y segmenta todo con él + yolo segment predict model=FastSAM-s.pt source=ruta/hacia/bus.jpg imgsz=640 + ``` + +Este fragmento de código demuestra la simplicidad de cargar un modelo pre-entrenado y realizar una predicción en una imagen. + +### Uso de validación + +La validación del modelo en un conjunto de datos se puede realizar de la siguiente manera: + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics import FastSAM + + # Crea un modelo FastSAM + model = FastSAM('FastSAM-s.pt') # o FastSAM-x.pt + + # Valida el modelo + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # Carga un modelo FastSAM y valida en el conjunto de datos de ejemplo COCO8 con un tamaño de imagen de 640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +Ten en cuenta que FastSAM solo admite la detección y segmentación de una sola clase de objeto. Esto significa que reconocerá y segmentará todos los objetos como si fueran de la misma clase. Por lo tanto, al preparar el conjunto de datos, debes convertir todos los IDs de categoría de objetos a 0. + +## Uso oficial de FastSAM + +FastSAM también está disponible directamente en el repositorio [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). Aquí hay una descripción general breve de los pasos típicos que podrías seguir para usar FastSAM: + +### Instalación + +1. Clona el repositorio de FastSAM: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Crea y activa un entorno Conda con Python 3.9: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. Navega hasta el repositorio clonado e instala los paquetes requeridos: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. Instala el modelo CLIP: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### Ejemplo de uso + +1. Descarga un [punto de control del modelo](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). + +2. Utiliza FastSAM para inferencia. Ejemplos de comandos: + + - Segmentar todo en una imagen: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - Segmentar objetos específicos utilizando una indicación de texto: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "el perro amarillo" + ``` + + - Segmentar objetos dentro de una caja delimitadora (proporciona las coordenadas de la caja en formato xywh): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - Segmentar objetos cerca de puntos específicos: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +Además, puedes probar FastSAM a través de una [demostración en Colab](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) o en la [demostración web de HuggingFace](https://huggingface.co/spaces/An-619/FastSAM) para tener una experiencia visual. + +## Citas y agradecimientos + +Nos gustaría agradecer a los autores de FastSAM por sus importantes contribuciones en el campo de la segmentación de instancias en tiempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +El artículo original de FastSAM se puede encontrar en [arXiv](https://arxiv.org/abs/2306.12156). Los autores han puesto su trabajo a disposición del público, y el código base se puede acceder en [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). Agradecemos sus esfuerzos para avanzar en el campo y hacer que su trabajo sea accesible a la comunidad en general. diff --git a/docs/es/models/index.md b/docs/es/models/index.md index 272797f91ac..a7137f913fd 100644 --- a/docs/es/models/index.md +++ b/docs/es/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Explora la amplia gama de modelos de la familia YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS y RT-DETR compatibles con Ultralytics. Comienza con ejemplos de uso tanto para CLI como para Python. +description: Explore la amplia gama de modelos de la familia YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS y RT-DETR soportados por Ultralytics. Comienza con ejemplos para el uso tanto de CLI como de Python. keywords: Ultralytics, documentación, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, modelos, arquitecturas, Python, CLI --- # Modelos soportados por Ultralytics -¡Bienvenido a la documentación de modelos de Ultralytics! Ofrecemos soporte para una amplia gama de modelos, cada uno adaptado a tareas específicas como [detección de objetos](../tasks/detect.md), [segmentación de instancias](../tasks/segment.md), [clasificación de imágenes](../tasks/classify.md), [estimación de postura](../tasks/pose.md) y [seguimiento de múltiples objetos](../modes/track.md). Si estás interesado en contribuir con tu arquitectura de modelo a Ultralytics, consulta nuestra [Guía de Contribución](../../help/contributing.md). +¡Bienvenido a la documentación de modelos de Ultralytics! Ofrecemos soporte para una amplia gama de modelos, cada uno adaptado a tareas específicas como [detección de objetos](../tasks/detect.md), [segmentación de instancias](../tasks/segment.md), [clasificación de imágenes](../tasks/classify.md), [estimación de posturas](../tasks/pose.md), y [seguimiento de múltiples objetos](../modes/track.md). Si estás interesado en contribuir con tu arquitectura de modelo a Ultralytics, consulta nuestra [Guía de Contribución](../../help/contributing.md). !!! Note "Nota" - 🚧 Nuestra documentación en varios idiomas está actualmente en construcción y estamos trabajando arduamente para mejorarla. ¡Gracias por tu paciencia! 🙏 + 🚧 Estamos trabajando arduamente para mejorar nuestra documentación en varios idiomas actualmente en construcción. ¡Gracias por tu paciencia! 🙏 -## Modelos Destacados +## Modelos destacados -Aquí tienes algunos de los modelos clave soportados: +Aquí están algunos de los modelos clave soportados: -1. **[YOLOv3](../../models/yolov3.md)**: La tercera iteración de la familia de modelos YOLO, originalmente creada por Joseph Redmon, conocida por su capacidad de detección de objetos en tiempo real de manera eficiente. -2. **[YOLOv4](../../models/yolov4.md)**: Una actualización para la red oscura de YOLOv3, lanzada por Alexey Bochkovskiy en 2020. -3. **[YOLOv5](../../models/yolov5.md)**: Una versión mejorada de la arquitectura YOLO por Ultralytics, que ofrece mejores compensaciones de rendimiento y velocidad en comparación con versiones anteriores. -4. **[YOLOv6](../../models/yolov6.md)**: Lanzado por [Meituan](https://about.meituan.com/) en 2022, y utilizado en muchos de los robots autónomos de entrega de la compañía. -5. **[YOLOv7](../../models/yolov7.md)**: Modelos YOLO actualizados lanzados en 2022 por los autores de YOLOv4. -6. **[YOLOv8](../../models/yolov8.md)**: La última versión de la familia YOLO, que presenta capacidades mejoradas como segmentación de instancias, estimación de postura/puntos clave y clasificación. -7. **[Modelo de Segmentación de Cualquier Cosa (SAM)](../../models/sam.md)**: El Modelo de Segmentación de Cualquier Cosa (SAM) de Meta. -8. **[Modelo de Segmentación de Cualquier Cosa Móvil (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM para aplicaciones móviles, por la Universidad Kyung Hee. -9. **[Modelo de Segmentación de Cualquier Cosa Rápida (FastSAM)](../../models/fast-sam.md)**: FastSAM del Grupo de Análisis de Imágenes y Video, Instituto de Automatización, Academia China de Ciencias. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: Modelos de Búsqueda de Arquitectura Neural de YOLO (NAS). -11. **[Transformadores de Detección en Tiempo Real (RT-DETR)](../../models/rtdetr.md)**: Modelos de Transformadores de Detección en Tiempo Real (RT-DETR) de Baidu PaddlePaddle. +1. **[YOLOv3](yolov3.md)**: La tercera iteración de la familia de modelos YOLO, original de Joseph Redmon, conocida por su capacidad de detección de objetos en tiempo real eficientemente. +2. **[YOLOv4](yolov4.md)**: Una actualización nativa de darknet para YOLOv3, lanzada por Alexey Bochkovskiy en 2020. +3. **[YOLOv5](yolov5.md)**: Una versión mejorada de la arquitectura YOLO por Ultralytics, ofreciendo un mejor rendimiento y compromiso de velocidad comparado con versiones anteriores. +4. **[YOLOv6](yolov6.md)**: Lanzado por [Meituan](https://about.meituan.com/) en 2022, y utilizado en muchos de los robots de entrega autónomos de la compañía. +5. **[YOLOv7](yolov7.md)**: Modelos YOLO actualizados lanzados en 2022 por los autores de YOLOv4. +6. **[YOLOv8](yolov8.md) NUEVO 🚀**: La última versión de la familia YOLO, con capacidades mejoradas como segmentación de instancias, estimación de posturas/puntos clave y clasificación. +7. **[Modelo Segment Anything (SAM)](sam.md)**: Modelo Segment Anything (SAM) de Meta. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM para aplicaciones móviles, por la Universidad de Kyung Hee. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM por el Grupo de Análisis de Imagen y Video, Instituto de Automatización, Academia China de Ciencias. +10. **[YOLO-NAS](yolo-nas.md)**: Modelos YOLO de Búsqueda de Arquitectura Neural (NAS). +11. **[Transformadores de Detección en Tiempo Real (RT-DETR)](rtdetr.md)**: Modelos de Transformador de Detección en Tiempo Real (RT-DETR) de Baidu's PaddlePaddle.


@@ -39,33 +39,37 @@ Aquí tienes algunos de los modelos clave soportados: Mira: Ejecuta modelos YOLO de Ultralytics en solo unas pocas líneas de código.

-## Comenzando: Ejemplos de Uso +## Empezando: Ejemplos de Uso + +Este ejemplo proporciona ejemplos simples de entrenamiento e inferencia YOLO. Para la documentación completa de estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +Nota que el siguiente ejemplo es para los modelos YOLOv8 [Detect](../tasks/detect.md) para detección de objetos. Para tareas adicionales soportadas, consulta la documentación de [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) y [Pose](../tasks/pose.md). !!! Example "Ejemplo" === "Python" - Los modelos preentrenados en PyTorch `*.pt` así como los archivos de configuración `*.yaml` pueden pasarse a las clases `YOLO()`, `SAM()`, `NAS()` y `RTDETR()` para crear una instancia de modelo en Python: + Los modelos pre-entrenados `*.pt` de PyTorch así como los archivos de configuración `*.yaml` se pueden pasar a las clases `YOLO()`, `SAM()`, `NAS()` y `RTDETR()` para crear una instancia de modelo en Python: ```python from ultralytics import YOLO # Cargar un modelo YOLOv8n preentrenado en COCO - modelo = YOLO('yolov8n.pt') + model = YOLO('yolov8n.pt') # Mostrar información del modelo (opcional) - modelo.info() + model.info() # Entrenar el modelo en el conjunto de datos de ejemplo COCO8 durante 100 épocas - resultados = modelo.train(data='coco8.yaml', epochs=100, imgsz=640) + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) # Ejecutar inferencia con el modelo YOLOv8n en la imagen 'bus.jpg' - resultados = modelo('path/to/bus.jpg') + results = model('path/to/bus.jpg') ``` === "CLI" - Comandos CLI están disponibles para ejecutar directamente los modelos: + Los comandos CLI están disponibles para ejecutar directamente los modelos: ```bash # Cargar un modelo YOLOv8n preentrenado en COCO y entrenarlo en el conjunto de datos de ejemplo COCO8 durante 100 épocas @@ -75,20 +79,20 @@ Aquí tienes algunos de los modelos clave soportados: yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## Contribuyendo con Nuevos Modelos +## Contribuir con Nuevos Modelos ¿Interesado en contribuir con tu modelo a Ultralytics? ¡Genial! Siempre estamos abiertos a expandir nuestro portafolio de modelos. 1. **Haz un Fork del Repositorio**: Comienza haciendo un fork del [repositorio de GitHub de Ultralytics](https://github.com/ultralytics/ultralytics). -2. **Clona tu Fork**: Clona tu fork en tu máquina local y crea una nueva rama para trabajar. +2. **Clona tu Fork**: Clona tu fork a tu máquina local y crea una nueva rama para trabajar. -3. **Implementa tu Modelo**: Añade tu modelo siguiendo los estándares y guías de codificación proporcionados en nuestra [Guía de Contribución](../../help/contributing.md). +3. **Implementa tu Modelo**: Añade tu modelo siguiendo los estándares de codificación y directrices proporcionadas en nuestra [Guía de Contribución](../../help/contributing.md). -4. **Prueba a Fondo**: Asegúrate de probar tu modelo rigurosamente, tanto de manera aislada como parte del pipeline. +4. **Prueba Rigurosamente**: Asegúrate de probar tu modelo rigurosamente, tanto de forma aislada como parte del proceso. -5. **Crea un Pull Request**: Una vez que estés satisfecho con tu modelo, crea un pull request al repositorio principal para su revisión. +5. **Crea un Pull Request**: Una vez que estés satisfecho con tu modelo, crea un pull request al repositorio principal para revisión. -6. **Revisión de Código y Fusión**: Después de la revisión, si tu modelo cumple con nuestros criterios, se fusionará en el repositorio principal. +6. **Revisión de Código y Fusión**: Después de la revisión, si tu modelo cumple con nuestros criterios, será fusionado al repositorio principal. -Consulta nuestra [Guía de Contribución](../../help/contributing.md) para los pasos detallados. +Para pasos detallados, consulta nuestra [Guía de Contribución](../../help/contributing.md). diff --git a/docs/es/models/mobile-sam.md b/docs/es/models/mobile-sam.md new file mode 100644 index 00000000000..bf68ab7ad1d --- /dev/null +++ b/docs/es/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Obtén más información sobre MobileSAM, su implementación, comparación con SAM original y cómo descargarlo y probarlo en el framework de Ultralytics. ¡Mejora tus aplicaciones móviles hoy mismo! +keywords: MobileSAM, Ultralytics, SAM, aplicaciones móviles, Arxiv, GPU, API, codificador de imágenes, decodificador de máscaras, descarga de modelos, método de prueba +--- + +![Logotipo de MobileSAM](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Segmentación Móvil de Cualquier Cosa (MobileSAM) + +El artículo de MobileSAM ahora está disponible en [arXiv](https://arxiv.org/pdf/2306.14289.pdf). + +Una demostración de MobileSAM funcionando en una CPU se puede acceder en este [enlace de demostración](https://huggingface.co/spaces/dhkim2810/MobileSAM). El rendimiento en una CPU Mac i5 tarda aproximadamente 3 segundos. En la demostración de Hugging Face, la interfaz y las CPUs de menor rendimiento contribuyen a una respuesta más lenta, pero sigue funcionando de manera efectiva. + +MobileSAM se implementa en varios proyectos, incluyendo [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) y [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +MobileSAM se entrena en una sola GPU con un conjunto de datos de 100k (1% de las imágenes originales) en menos de un día. El código para este entrenamiento estará disponible en el futuro. + +## Modelos Disponibles, Tareas Admitidas y Modos de Operación + +Esta tabla presenta los modelos disponibles con sus pesos pre-entrenados específicos, las tareas que admiten y su compatibilidad con diferentes modos de operación como [Inference (Inferencia)](../modes/predict.md), [Validation (Validación)](../modes/val.md), [Training (Entrenamiento)](../modes/train.md) y [Export (Exportación)](../modes/export.md), indicados por emojis ✅ para los modos admitidos y emojis ❌ para los modos no admitidos. + +| Tipo de Modelo | Pesos Pre-entrenados | Tareas Admitidas | Inferencia | Validación | Entrenamiento | Exportación | +|----------------|----------------------|---------------------------------------------------|------------|------------|---------------|-------------| +| MobileSAM | `mobile_sam.pt` | [Segmentación de Instancias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Adaptación de SAM a MobileSAM + +Dado que MobileSAM mantiene el mismo pipeline que SAM original, hemos incorporado el pre-procesamiento, post-procesamiento y todas las demás interfaces del original. En consecuencia, aquellos que actualmente utilizan SAM original pueden hacer la transición a MobileSAM con un esfuerzo mínimo. + +MobileSAM tiene un rendimiento comparable a SAM original y mantiene el mismo pipeline excepto por un cambio en el codificador de imágenes. Específicamente, reemplazamos el codificador de imágenes original ViT-H pesado (632M) por uno más pequeño, Tiny-ViT (5M). En una sola GPU, MobileSAM funciona a aproximadamente 12ms por imagen: 8ms en el codificador de imágenes y 4ms en el decodificador de máscaras. + +La siguiente tabla proporciona una comparación de los codificadores de imágenes basados en ViT: + +| Codificador de Imágenes | SAM Original | MobileSAM | +|-------------------------|--------------|-----------| +| Parámetros | 611M | 5M | +| Velocidad | 452ms | 8ms | + +Tanto SAM original como MobileSAM utilizan el mismo decodificador de máscaras guiado por instrucciones: + +| Decodificador de Máscaras | SAM Original | MobileSAM | +|---------------------------|--------------|-----------| +| Parámetros | 3.876M | 3.876M | +| Velocidad | 4ms | 4ms | + +Aquí está la comparación de todo el pipeline: + +| Pipeline Completo (Enc+Dec) | SAM Original | MobileSAM | +|-----------------------------|--------------|-----------| +| Parámetros | 615M | 9.66M | +| Velocidad | 456ms | 12ms | + +El rendimiento de MobileSAM y SAM original se demuestra utilizando tanto un punto como una caja como instrucciones. + +![Imagen con Punto como Instrucción](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![Imagen con Caja como Instrucción](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +Con su rendimiento superior, MobileSAM es aproximadamente 5 veces más pequeño y 7 veces más rápido que el actual FastSAM. Más detalles están disponibles en la [página del proyecto de MobileSAM](https://github.com/ChaoningZhang/MobileSAM). + +## Probando MobileSAM en Ultralytics + +Al igual que SAM original, ofrecemos un método sencillo de prueba en Ultralytics, que incluye modos tanto para instrucciones de Punto como para Caja. + +### Descarga del Modelo + +Puedes descargar el modelo [aquí](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt). + +### Instrucción de Punto + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics import SAM + + # Carga el modelo + model = SAM('mobile_sam.pt') + + # Predice un segmento basado en una instrucción de punto + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### Instrucción de Caja + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics import SAM + + # Carga el modelo + model = SAM('mobile_sam.pt') + + # Predice un segmento basado en una instrucción de caja + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +Hemos implementado `MobileSAM` y `SAM` utilizando la misma API. Para obtener más información sobre cómo usarlo, consulta la [página de SAM](sam.md). + +## Citaciones y Reconocimientos + +Si encuentras útil MobileSAM en tu investigación o trabajo de desarrollo, considera citar nuestro artículo: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/es/models/rtdetr.md b/docs/es/models/rtdetr.md new file mode 100644 index 00000000000..fada0ae5417 --- /dev/null +++ b/docs/es/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: Descubre las características y beneficios de RT-DETR, un eficiente y adaptable detector de objetos en tiempo real desarrollado por Baidu y potenciado por Vision Transformers, que incluye modelos pre-entrenados. +keywords: RT-DETR, Baidu, Vision Transformers, detección de objetos, rendimiento en tiempo real, CUDA, TensorRT, selección de consultas IoU, Ultralytics, API de Python, PaddlePaddle +--- + +# RT-DETR de Baidu: Un Detector de Objetos en Tiempo Real Basado en Vision Transformers + +## Resumen + +Real-Time Detection Transformer (RT-DETR), desarrollado por Baidu, es un avanzado detector de objetos de extremo a extremo que proporciona un rendimiento en tiempo real manteniendo una alta precisión. Utiliza la potencia de Vision Transformers (ViT) para procesar de manera eficiente características de múltiples escalas mediante la descomposición de la interacción intra-escala y la fusión inter-escala. RT-DETR es altamente adaptable y permite ajustar de manera flexible la velocidad de inferencia utilizando diferentes capas de decodificador sin necesidad de volver a entrenar el modelo. El modelo se destaca en plataformas aceleradas como CUDA con TensorRT, superando a muchos otros detectores de objetos en tiempo real. + +![Ejemplo de imagen del modelo](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Resumen de RT-DETR de Baidu.** El diagrama de la arquitectura del modelo RT-DETR muestra las últimas tres etapas del canal (S3, S4, S5) como entrada al codificador. El eficiente codificador híbrido transforma características de múltiples escalas en una secuencia de características de imagen a través del módulo de interacción de características intra-escala (AIFI) y el módulo de fusión de características inter-escala (CCFM). Se utiliza la selección de consultas IoU-aware para seleccionar un número fijo de características de imagen que servirán como consultas iniciales de objetos para el decodificador. Finalmente, el decodificador con cabeceras de predicción auxiliares optimiza iterativamente las consultas de objetos para generar cajas y puntuaciones de confianza ([fuente](https://arxiv.org/pdf/2304.08069.pdf)). + +### Características Clave + +- **Codificador Híbrido Eficiente:** RT-DETR de Baidu utiliza un codificador híbrido eficiente que procesa características de múltiples escalas mediante la descomposición de la interacción intra-escala y la fusión inter-escala. Este diseño único basado en Vision Transformers reduce los costos computacionales y permite la detección de objetos en tiempo real. +- **Selección de Consultas IoU-aware:** RT-DETR de Baidu mejora la inicialización de las consultas de objetos utilizando la selección de consultas IoU-aware. Esto permite que el modelo se enfoque en los objetos más relevantes de la escena, mejorando la precisión en la detección. +- **Velocidad de Inferencia Adaptable:** RT-DETR de Baidu admite ajustes flexibles de la velocidad de inferencia utilizando diferentes capas de decodificador sin necesidad de volver a entrenar el modelo. Esta adaptabilidad facilita la aplicación práctica en diversos escenarios de detección de objetos en tiempo real. + +## Modelos Pre-entrenados + +La API de Python de Ultralytics proporciona modelos pre-entrenados de RT-DETR de PaddlePaddle en diferentes escalas: + +- RT-DETR-L: 53.0% AP en COCO val2017, 114 FPS en GPU T4 +- RT-DETR-X: 54.8% AP en COCO val2017, 74 FPS en GPU T4 + +## Ejemplos de Uso + +Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de RT-DETRR. Para obtener una documentación completa sobre estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +!!! Example "Ejemplo" + + === "Python" + + ```python + from ultralytics import RTDETR + + # Cargar un modelo RT-DETR-l pre-entrenado en COCO + model = RTDETR('rtdetr-l.pt') + + # Mostrar información del modelo (opcional) + model.info() + + # Entrenar el modelo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Realizar inferencia con el modelo RT-DETR-l en la imagen 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # Cargar un modelo RT-DETR-l pre-entrenado en COCO y entrenarlo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # Cargar un modelo RT-DETR-l pre-entrenado en COCO y realizar inferencia en la imagen 'bus.jpg' + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## Tareas y Modos Admitidos + +Esta tabla presenta los tipos de modelos, los pesos pre-entrenados específicos, las tareas admitidas por cada modelo y los diversos modos ([Train](../modes/train.md) , [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)) admitidos, indicados por los emojis ✅. + +| Tipo de Modelo | Pesos Pre-entrenados | Tareas Admitidas | Inferencia | Validación | Entrenamiento | Exportación | +|---------------------|----------------------|--------------------------------------------|------------|------------|---------------|-------------| +| RT-DETR Large | `rtdetr-l.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## Citaciones y Agradecimientos + +Si utilizas RT-DETR de Baidu en tu investigación o trabajo de desarrollo, por favor cita el [artículo original](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Nos gustaría agradecer a Baidu y al equipo de [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) por crear y mantener este valioso recurso para la comunidad de visión por computadora. Apreciamos enormemente su contribución al campo con el desarrollo del detector de objetos en tiempo real basado en Vision Transformers, RT-DETR. + +*keywords: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, detección de objetos en tiempo real, detección de objetos basada en Vision Transformers, modelos pre-entrenados PaddlePaddle RT-DETR, uso de RT-DETR de Baidu, API de Python de Ultralytics* diff --git a/docs/es/models/sam.md b/docs/es/models/sam.md new file mode 100644 index 00000000000..f4254bac95b --- /dev/null +++ b/docs/es/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Explora el revolucionario Segment Anything Model (SAM) de Ultralytics que permite la segmentación de imágenes en tiempo real. Aprende sobre su segmentación por indicación, rendimiento en la transferencia sin entrenamiento y cómo usarlo. +keywords: Ultralytics, segmentación de imágenes, Segment Anything Model, SAM, SA-1B dataset, rendimiento en tiempo real, transferencia sin entrenamiento, detección de objetos, análisis de imágenes, aprendizaje automático +--- + +# Segment Anything Model (SAM) + +Bienvenido al frontera de la segmentación de imágenes con el Segment Anything Model, o SAM. Este modelo revolucionario ha cambiado el juego al introducir la segmentación de imágenes por indicación con rendimiento en tiempo real, estableciendo nuevos estándares en el campo. + +## Introducción a SAM: Segment Anything Model + +El Segment Anything Model, o SAM, es un modelo de segmentación de imágenes de vanguardia que permite la segmentación por indicación, ofreciendo una versatilidad sin igual en las tareas de análisis de imágenes. SAM forma el corazón de la iniciativa Segment Anything, un proyecto innovador que presenta un modelo, una tarea y un conjunto de datos nuevos para la segmentación de imágenes. + +El diseño avanzado de SAM le permite adaptarse a nuevas distribuciones y tareas de imágenes sin conocimientos previos, una característica conocida como transferencia sin entrenamiento. Entrenado en el extenso [conjunto de datos SA-1B](https://ai.facebook.com/datasets/segment-anything/), que contiene más de mil millones de máscaras distribuidas en once millones de imágenes seleccionadas cuidadosamente, SAM ha demostrado un impresionante rendimiento en la transferencia sin entrenamiento, superando en muchos casos los resultados de supervisión completa anteriores. + +![Ejemplo de imagen del conjunto de datos](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +Imágenes de ejemplo con máscaras superpuestas de nuestro nuevo conjunto de datos, SA-1B. SA-1B contiene 11 millones de imágenes diversas de alta resolución, con licencia y protección de la privacidad, y 1.1 mil millones de máscaras de segmentación de alta calidad. Estas máscaras fueron anotadas completamente automáticamente por SAM y, según las calificaciones humanas y numerosos experimentos, tienen una alta calidad y diversidad. Las imágenes se agrupan por número de máscaras por imagen para su visualización (hay aproximadamente 100 máscaras por imagen en promedio). + +## Características clave del Segment Anything Model (SAM) + +- **Tarea de segmentación por indicación**: SAM fue diseñado teniendo en cuenta una tarea de segmentación por indicación, lo que le permite generar máscaras de segmentación válidas a partir de cualquier indicación dada, como pistas espaciales o de texto que identifican un objeto. +- **Arquitectura avanzada**: El Segment Anything Model utiliza un potente codificador de imágenes, un codificador de indicaciones y un decodificador de máscaras ligero. Esta arquitectura única permite la indicación flexible, el cálculo de máscaras en tiempo real y la conciencia de ambigüedades en las tareas de segmentación. +- **El conjunto de datos SA-1B**: Introducido por el proyecto Segment Anything, el conjunto de datos SA-1B cuenta con más de mil millones de máscaras en once millones de imágenes. Como el conjunto de datos de segmentación más grande hasta la fecha, proporciona a SAM una fuente de datos de entrenamiento diversa y a gran escala. +- **Rendimiento en la transferencia sin entrenamiento**: SAM muestra un destacado rendimiento en la transferencia sin entrenamiento en diversas tareas de segmentación, lo que lo convierte en una herramienta lista para usar en diversas aplicaciones con una necesidad mínima de ingeniería de indicación. + +Para obtener una visión más detallada del Segment Anything Model y el conjunto de datos SA-1B, visita el [sitio web de Segment Anything](https://segment-anything.com) y consulta el artículo de investigación [Segment Anything](https://arxiv.org/abs/2304.02643). + +## Modelos disponibles, tareas admitidas y modos de funcionamiento + +Esta tabla muestra los modelos disponibles con sus pesos pre-entrenados específicos, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento como [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) y [Export](../modes/export.md), indicados con emojis ✅ para los modos admitidos y emojis ❌ para los modos no admitidos. + +| Tipo de modelo | Pesos pre-entrenados | Tareas admitidas | Inference | Validation | Training | Export | +|----------------|----------------------|---------------------------------------------------|-----------|------------|----------|--------| +| SAM base | `sam_b.pt` | [Segmentación de instancias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Segmentación de instancias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Cómo usar SAM: Versatilidad y potencia en la segmentación de imágenes + +El Segment Anything Model se puede utilizar para una multitud de tareas posteriores que van más allá de sus datos de entrenamiento. Esto incluye detección de bordes, generación de propuestas de objetos, segmentación de instancias y predicción preliminar de texto a máscara. Con la ingeniería de indicación, SAM puede adaptarse rápidamente a nuevas tareas y distribuciones de datos de manera sin entrenamiento, estableciéndolo como una herramienta versátil y potente para todas tus necesidades de segmentación de imágenes. + +### Ejemplo de predicción con SAM + +!!! Example "Segmentar con indicaciones" + + Segmenta la imagen con las indicaciones proporcionadas. + + === "Python" + + ```python + from ultralytics import SAM + + # Cargar un modelo + modelo = SAM('sam_b.pt') + + # Mostrar información del modelo (opcional) + modelo.info() + + # Ejecutar inferencia con indicaciones de bboxes + modelo('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # Ejecutar inferencia con indicaciones de puntos + modelo('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "Segmentar todo" + + Segmenta toda la imagen. + + === "Python" + + ```python + from ultralytics import SAM + + # Cargar un modelo + modelo = SAM('sam_b.pt') + + # Mostrar información del modelo (opcional) + modelo.info() + + # Ejecutar inferencia + modelo('ruta/hacia/imagen.jpg') + ``` + + === "CLI" + + ```bash + # Ejecutar inferencia con un modelo SAM + yolo predict model=sam_b.pt source=ruta/hacia/imagen.jpg + ``` + +- La lógica aquí es segmentar toda la imagen si no se proporcionan indicaciones (bboxes/puntos/máscaras). + +!!! Example "Ejemplo de SAMPredictor" + + De esta manera, puedes configurar una imagen una vez y ejecutar inferencia con indicaciones múltiples sin ejecutar el codificador de imágenes múltiples veces. + + === "Inferencia con indicaciones" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Crear SAMPredictor + opciones = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(opciones=opciones) + + # Establecer imagen + predictor.set_image("ultralytics/assets/zidane.jpg") # establecer con archivo de imagen + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # establecer con np.ndarray + resultados = predictor(bboxes=[439, 437, 524, 709]) + resultados = predictor(points=[900, 370], labels=[1]) + + # Restablecer imagen + predictor.reset_image() + ``` + + Segmentar todo con argumentos adicionales. + + === "Segmentar todo" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Crear SAMPredictor + opciones = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(opciones=opciones) + + # Segmentar con argumentos adicionales + resultados = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- Más argumentos adicionales para `Segmentar todo` en [`Referencia de Predictor/generate`](../../reference/models/sam/predict.md). + +## SAM comparado con YOLOv8 + +Aquí comparamos el modelo SAM más pequeño de Meta, SAM-b, con el modelo de segmentación más pequeño de Ultralytics, [YOLOv8n-seg](../tasks/segment.md): + +| Modelo | Tamaño | Parámetros | Velocidad (CPU) | +|-------------------------------------------------|-------------------------------------|------------------------------|-------------------------------------| +| SAM-b de Meta | 358 MB | 94.7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) con respaldo de YOLOv8 | 23.7 MB | 11.8 M | 115 ms/im | +| YOLOv8n-seg de Ultralytics | **6.7 MB** (53.4 veces más pequeño) | **3.4 M** (27.9 veces menos) | **59 ms/im** (866 veces más rápido) | + +Esta comparación muestra las diferencias de órdenes de magnitud en los tamaños y velocidades de los modelos. Si bien SAM presenta capacidades únicas para la segmentación automática, no es un competidor directo de los modelos de segmentación YOLOv8, que son más pequeños, más rápidos y más eficientes. + +Las pruebas se realizaron en una MacBook Apple M2 de 2023 con 16 GB de RAM. Para reproducir esta prueba: + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # Perfil del modelo SAM-b + modelo = SAM('sam_b.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil de MobileSAM + modelo = SAM('mobile_sam.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil de FastSAM-s + modelo = FastSAM('FastSAM-s.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil de YOLOv8n-seg + modelo = YOLO('yolov8n-seg.pt') + modelo.info() + modelo('ultralytics/assets') + ``` + +## Auto-anotación: un camino rápido hacia conjuntos de datos de segmentación + +La auto-anotación es una característica clave de SAM que permite a los usuarios generar un [conjunto de datos de segmentación](https://docs.ultralytics.com/datasets/segment) utilizando un modelo de detección pre-entrenado. Esta función permite una anotación rápida y precisa de un gran número de imágenes, evitando la necesidad de una etiquetación manual que consume mucho tiempo. + +### Generar tu conjunto de datos de segmentación utilizando un modelo de detección + +Para auto-anotar tu conjunto de datos con el marco de trabajo de Ultralytics, utiliza la función `auto_annotate` como se muestra a continuación: + +!!! Example "Ejemplo" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="ruta/a/las/imagenes", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| Argumento | Tipo | Descripción | Predeterminado | +|------------|---------------------|-----------------------------------------------------------------------------------------------------------------------|----------------| +| data | str | Ruta a una carpeta que contiene las imágenes a anotar. | | +| det_model | str, opcional | Modelo de detección YOLO pre-entrenado. Por defecto, 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | str, opcional | Modelo de segmentación SAM pre-entrenado. Por defecto, 'sam_b.pt'. | 'sam_b.pt' | +| device | str, opcional | Dispositivo en el que ejecutar los modelos. Por defecto, una cadena vacía (CPU o GPU, si está disponible). | | +| output_dir | str, None, opcional | Directorio para guardar los resultados anotados. Por defecto, una carpeta 'labels' en el mismo directorio que 'data'. | None | + +La función `auto_annotate` toma la ruta de tus imágenes, con argumentos opcionales para especificar los modelos de detección y segmentación SAM pre-entrenados, el dispositivo en el que ejecutar los modelos, y el directorio de salida para guardar los resultados anotados. + +La auto-anotación con modelos pre-entrenados puede reducir drásticamente el tiempo y el esfuerzo requeridos para crear conjuntos de datos de segmentación de alta calidad. Esta característica es especialmente beneficiosa para investigadores y desarrolladores que trabajan con grandes colecciones de imágenes, ya que les permite centrarse en el desarrollo y la evaluación de modelos en lugar de en la anotación manual. + +## Citas y agradecimientos + +Si encuentras útil SAM en tu trabajo de investigación o desarrollo, considera citar nuestro artículo: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Nos gustaría expresar nuestro agradecimiento a Meta AI por crear y mantener este valioso recurso para la comunidad de visión por computadora. + +*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, segmentación de imágenes, segmentación por indicación, rendimiento en la transferencia sin entrenamiento, conjunto de datos SA-1B, arquitectura avanzada, auto-anotación, Ultralytics, modelos pre-entrenados, SAM base, SAM large, segmentación de instancias, visión por computadora, IA, inteligencia artificial, aprendizaje automático, anotación de datos, máscaras de segmentación, modelo de detección, modelo de detección YOLO, bibtex, Meta AI.* diff --git a/docs/es/models/yolo-nas.md b/docs/es/models/yolo-nas.md new file mode 100644 index 00000000000..3b25a60fc9f --- /dev/null +++ b/docs/es/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: Explora la documentación detallada de YOLO-NAS, un modelo de detección de objetos superior. Aprende sobre sus características, modelos pre-entrenados, uso con la API de Ultralytics Python, y más. +keywords: YOLO-NAS, Deci AI, detección de objetos, aprendizaje profundo, búsqueda de arquitectura neural, API de Ultralytics Python, modelo YOLO, modelos pre-entrenados, cuantización, optimización, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## Visión general + +Desarrollado por Deci AI, YOLO-NAS es un modelo revolucionario de detección de objetos. Es el producto de una tecnología avanzada de Búsqueda de Arquitectura Neural, meticulosamente diseñada para abordar las limitaciones de los modelos YOLO anteriores. Con mejoras significativas en el soporte de cuantización y el equilibrio entre precisión y latencia, YOLO-NAS representa un gran avance en la detección de objetos. + +![Ejemplo de imagen del modelo](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**Visión general de YOLO-NAS.** YOLO-NAS utiliza bloques conscientes de cuantización y cuantización selectiva para un rendimiento óptimo. El modelo, cuando se convierte en su versión cuantizada INT8, experimenta una caída mínima de precisión, una mejora significativa en comparación con otros modelos. Estos avances culminan en una arquitectura superior con capacidades de detección de objetos sin precedentes y un rendimiento sobresaliente. + +### Características clave + +- **Bloque básico compatible con cuantización:** YOLO-NAS introduce un nuevo bloque básico que es compatible con la cuantización, abordando una de las limitaciones significativas de los modelos YOLO anteriores. +- **Entrenamiento sofisticado y cuantización:** YOLO-NAS utiliza esquemas avanzados de entrenamiento y cuantización posterior para mejorar el rendimiento. +- **Optimización AutoNAC y pre-entrenamiento:** YOLO-NAS utiliza la optimización AutoNAC y se pre-entrena en conjuntos de datos prominentes como COCO, Objects365 y Roboflow 100. Este pre-entrenamiento lo hace extremadamente adecuado para tareas de detección de objetos en entornos de producción. + +## Modelos pre-entrenados + +Experimenta el poder de la detección de objetos de próxima generación con los modelos pre-entrenados de YOLO-NAS proporcionados por Ultralytics. Estos modelos están diseñados para ofrecer un rendimiento de primera clase tanto en velocidad como en precisión. Elige entre una variedad de opciones adaptadas a tus necesidades específicas: + +| Modelo | mAP | Latencia (ms) | +|------------------|-------|---------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +Cada variante del modelo está diseñada para ofrecer un equilibrio entre la Precisión Promedio de las Areas (mAP, por sus siglas en inglés) y la latencia, ayudándote a optimizar tus tareas de detección de objetos en términos de rendimiento y velocidad. + +## Ejemplos de uso + +Ultralytics ha facilitado la integración de los modelos YOLO-NAS en tus aplicaciones de Python a través de nuestro paquete `ultralytics`. El paquete proporciona una API de Python fácil de usar para agilizar el proceso. + +Los siguientes ejemplos muestran cómo usar los modelos YOLO-NAS con el paquete `ultralytics` para inferencia y validación: + +### Ejemplos de inferencia y validación + +En este ejemplo validamos YOLO-NAS-s en el conjunto de datos COCO8. + +!!! Example "Ejemplo" + + Este ejemplo proporciona un código simple de inferencia y validación para YOLO-NAS. Para manejar los resultados de la inferencia, consulta el modo [Predict](../modes/predict.md). Para usar YOLO-NAS con modos adicionales, consulta [Val](../modes/val.md) y [Export](../modes/export.md). El paquete `ultralytics` para YOLO-NAS no admite entrenamiento. + + === "Python" + + Los archivos de modelos pre-entrenados `*.pt` de PyTorch se pueden pasar a la clase `NAS()` para crear una instancia del modelo en Python: + + ```python + from ultralytics import NAS + + # Carga un modelo YOLO-NAS-s pre-entrenado en COCO + modelo = NAS('yolo_nas_s.pt') + + # Muestra información del modelo (opcional) + modelo.info() + + # Valida el modelo en el conjunto de datos de ejemplo COCO8 + resultados = modelo.val(data='coco8.yaml') + + # Ejecuta inferencia con el modelo YOLO-NAS-s en la imagen 'bus.jpg' + resultados = modelo('path/to/bus.jpg') + ``` + + === "CLI" + + Los comandos CLI están disponibles para ejecutar directamente los modelos: + + ```bash + # Carga un modelo YOLO-NAS-s pre-entrenado en COCO y valida su rendimiento en el conjunto de datos de ejemplo COCO8 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # Carga un modelo YOLO-NAS-s pre-entrenado en COCO y ejecuta inferencia en la imagen 'bus.jpg' + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## Tareas y modos compatibles + +Ofrecemos tres variantes de los modelos YOLO-NAS: Small (s), Medium (m) y Large (l). Cada variante está diseñada para satisfacer diferentes necesidades computacionales y de rendimiento: + +- **YOLO-NAS-s**: Optimizado para entornos donde los recursos computacionales son limitados pero la eficiencia es clave. +- **YOLO-NAS-m**: Ofrece un enfoque equilibrado, adecuado para la detección de objetos de propósito general con mayor precisión. +- **YOLO-NAS-l**: Adaptados para escenarios que requieren la mayor precisión, donde los recursos computacionales son menos restrictivos. + +A continuación se muestra una descripción detallada de cada modelo, incluyendo enlaces a sus pesos pre-entrenados, las tareas que admiten y su compatibilidad con diferentes modos de funcionamiento. + +| Tipo de modelo | Pesos pre-entrenados | Tareas admitidas | Inferencia | Validación | Entrenamiento | Exportación | +|----------------|-----------------------------------------------------------------------------------------------|--------------------------------------------|------------|------------|---------------|-------------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## Citaciones y agradecimientos + +Si utilizas YOLO-NAS en tu investigación o trabajo de desarrollo, por favor cita SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Agradecemos al equipo de [SuperGradients](https://github.com/Deci-AI/super-gradients/) de Deci AI por sus esfuerzos en la creación y mantenimiento de este valioso recurso para la comunidad de visión por computadora. Creemos que YOLO-NAS, con su arquitectura innovadora y sus capacidades de detección de objetos superiores, se convertirá en una herramienta fundamental tanto para desarrolladores como para investigadores. + +*keywords: YOLO-NAS, Deci AI, detección de objetos, aprendizaje profundo, búsqueda de arquitectura neural, API de Ultralytics Python, modelo YOLO, SuperGradients, modelos pre-entrenados, bloque básico compatible con cuantización, esquemas avanzados de entrenamiento, cuantización posterior, optimización AutoNAC, COCO, Objects365, Roboflow 100* diff --git a/docs/es/models/yolov3.md b/docs/es/models/yolov3.md new file mode 100644 index 00000000000..1990e5b5ed5 --- /dev/null +++ b/docs/es/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: Obtén una descripción general de YOLOv3, YOLOv3-Ultralytics y YOLOv3u. Aprende sobre sus características clave, uso y tareas admitidas para la detección de objetos. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Detección de objetos, Inferencia, Entrenamiento, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics y YOLOv3u + +## Descripción general + +Este documento presenta una descripción general de tres modelos de detección de objetos estrechamente relacionados, conocidos como [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) y [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3:** Esta es la tercera versión del algoritmo de detección de objetos You Only Look Once (YOLO). Originalmente desarrollado por Joseph Redmon, YOLOv3 mejoró a sus predecesores al introducir características como predicciones multiescala y tres tamaños diferentes de núcleos de detección. + +2. **YOLOv3-Ultralytics:** Esta es la implementación de YOLOv3 realizada por Ultralytics. Reproduce la arquitectura original de YOLOv3 y ofrece funcionalidades adicionales, como soporte para más modelos pre-entrenados y opciones de personalización más fáciles. + +3. **YOLOv3u:** Esta es una versión actualizada de YOLOv3-Ultralytics que incorpora la cabeza dividida sin anclaje y sin objeto utilizada en los modelos YOLOv8. YOLOv3u mantiene la misma arquitectura de columna vertebral y cuello que YOLOv3, pero con la cabeza de detección actualizada de YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## Características clave + +- **YOLOv3:** Introdujo el uso de tres escalas diferentes para la detección, aprovechando tres tamaños diferentes de núcleos de detección: 13x13, 26x26 y 52x52. Esto mejoró significativamente la precisión de detección para objetos de diferentes tamaños. Además, YOLOv3 añadió características como predicciones con múltiples etiquetas para cada cuadro delimitador y una mejor red extractora de características. + +- **YOLOv3-Ultralytics:** La implementación de Ultralytics de YOLOv3 proporciona el mismo rendimiento que el modelo original, pero cuenta con soporte adicional para más modelos pre-entrenados, métodos de entrenamiento adicionales y opciones de personalización más fáciles. Esto lo hace más versátil y fácil de usar para aplicaciones prácticas. + +- **YOLOv3u:** Este modelo actualizado incorpora la cabeza dividida sin anclaje y sin objeto de YOLOv8. Al eliminar la necesidad de cajas de anclaje predefinidas y puntuaciones de objeto, este diseño de cabeza de detección puede mejorar la capacidad del modelo para detectar objetos de diferentes tamaños y formas. Esto hace que YOLOv3u sea más robusto y preciso para tareas de detección de objetos. + +## Tareas y modos admitidos + +La serie YOLOv3, que incluye YOLOv3, YOLOv3-Ultralytics y YOLOv3u, está diseñada específicamente para tareas de detección de objetos. Estos modelos son reconocidos por su eficacia en diversos escenarios del mundo real, equilibrando precisión y velocidad. Cada variante ofrece características y optimizaciones únicas, lo que los hace adecuados para una variedad de aplicaciones. + +Los tres modelos admiten un conjunto completo de modos, asegurando versatilidad en diversas etapas del despliegue y desarrollo del modelo. Estos modos incluyen [Inferencia](../modes/predict.md), [Validación](../modes/val.md), [Entrenamiento](../modes/train.md) y [Exportación](../modes/export.md), proporcionando a los usuarios un conjunto completo de herramientas para una detección de objetos efectiva. + +| Tipo de modelo | Tareas admitidas | Inferencia | Validación | Entrenamiento | Exportación | +|--------------------|--------------------------------------------|------------|------------|---------------|-------------| +| YOLOv3 | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Detección de objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabla proporciona una visión rápida de las capacidades de cada variante de YOLOv3, destacando su versatilidad y aptitud para diversas tareas y modos operativos en flujos de trabajo de detección de objetos. + +## Ejemplos de uso + +Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv3. Para obtener documentación completa sobre estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +!!! Example "Ejemplo" + + === "Python" + + Los modelos pre-entrenados de PyTorch en archivos `*.pt`, así como los archivos de configuración `*.yaml`, se pueden pasar a la clase `YOLO()` para crear una instancia del modelo en Python: + + ```python + from ultralytics import YOLO + + # Cargar un modelo YOLOv3n pre-entrenado en COCO + model = YOLO('yolov3n.pt') + + # Mostrar información del modelo (opcional) + model.info() + + # Entrenar el modelo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Ejecutar inferencia con el modelo YOLOv3n en la imagen 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Hay comandos de CLI disponibles para ejecutar directamente los modelos: + + ```bash + # Cargar un modelo YOLOv3n pre-entrenado en COCO y entrenarlo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Cargar un modelo YOLOv3n pre-entrenado en COCO y ejecutar inferencia en la imagen 'bus.jpg' + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## Citaciones y agradecimientos + +Si utilizas YOLOv3 en tu investigación, por favor, cita los artículos originales de YOLO y el repositorio de YOLOv3 de Ultralytics: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Gracias a Joseph Redmon y Ali Farhadi por desarrollar YOLOv3 original. diff --git a/docs/es/models/yolov4.md b/docs/es/models/yolov4.md new file mode 100644 index 00000000000..04223b7558d --- /dev/null +++ b/docs/es/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: Explora nuestra detallada guía sobre YOLOv4, un detector de objetos en tiempo real de vanguardia. Comprende sus aspectos arquitectónicos destacados, características innovadoras y ejemplos de aplicación. +keywords: ultralytics, YOLOv4, detección de objetos, red neuronal, detección en tiempo real, detector de objetos, aprendizaje automático +--- + +# YOLOv4: Detección de objetos rápida y precisa + +Bienvenido a la página de documentación de Ultralytics para YOLOv4, un detector de objetos en tiempo real de vanguardia lanzado en 2020 por Alexey Bochkovskiy en [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). YOLOv4 está diseñado para ofrecer un equilibrio óptimo entre velocidad y precisión, lo que lo convierte en una excelente opción para muchas aplicaciones. + +![Diagrama de arquitectura de YOLOv4](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**Diagrama de arquitectura de YOLOv4**. Muestra el intrincado diseño de red de YOLOv4, incluyendo los componentes backbone, neck y head, y sus capas interconectadas para una detección de objetos en tiempo real óptima. + +## Introducción + +YOLOv4 significa You Only Look Once versión 4. Es un modelo de detección de objetos en tiempo real desarrollado para abordar las limitaciones de versiones anteriores de YOLO como [YOLOv3](yolov3.md) y otros modelos de detección de objetos. A diferencia de otros detectores de objetos basados en redes neuronales convolucionales (CNN), YOLOv4 no solo es aplicable para sistemas de recomendación, sino también para la gestión de procesos independientes y la reducción de la entrada humana. Su funcionamiento en unidades de procesamiento de gráficos (GPU) convencionales permite su uso masivo a un precio asequible, y está diseñado para funcionar en tiempo real en una GPU convencional, siendo necesario solo una GPU para el entrenamiento. + +## Arquitectura + +YOLOv4 utiliza varias características innovadoras que trabajan juntas para optimizar su rendimiento. Estas incluyen Conexiones Residuales Ponderadas (WRC), Conexiones Parciales Cruzadas en Etapas (CSP), Normalización Cruzada de Mini-Batch (CmBN), Entrenamiento Autoadversarial (SAT), Activación Mish, Aumento de Datos Mosaico, Regularización DropBlock y Pérdida CIoU. Estas características se combinan para lograr resultados de vanguardia. + +Un detector de objetos típico está compuesto por varias partes, incluyendo la entrada, el backbone (espinazo), el neck (cuello) y el head (cabeza). El backbone de YOLOv4 está pre-entrenado en ImageNet y se utiliza para predecir las clases y las cajas delimitadoras de los objetos. El backbone puede ser de varios modelos, incluyendo VGG, ResNet, ResNeXt o DenseNet. La parte del neck del detector se utiliza para recolectar mapas de características de diferentes etapas y generalmente incluye varias rutas de abajo hacia arriba y varias rutas de arriba hacia abajo. La parte de la cabeza es la que se utiliza para realizar las detecciones y clasificaciones finales de objetos. + +## Bolsa de regalos + +YOLOv4 también utiliza métodos conocidos como "bolsa de regalos" (bag of freebies), que son técnicas que mejoran la precisión del modelo durante el entrenamiento sin aumentar el costo de la inferencia. La ampliación de datos es una técnica común de la bolsa de regalos utilizada en la detección de objetos, que aumenta la variabilidad de las imágenes de entrada para mejorar la robustez del modelo. Algunos ejemplos de ampliación de datos incluyen distorsiones fotométricas (ajuste del brillo, contraste, matiz, saturación y ruido de una imagen) y distorsiones geométricas (agregar escalado, recorte, volteo y rotación aleatorios). Estas técnicas ayudan al modelo a generalizar mejor para diferentes tipos de imágenes. + +## Características y rendimiento + +YOLOv4 está diseñado para obtener una velocidad y precisión óptimas en la detección de objetos. La arquitectura de YOLOv4 incluye CSPDarknet53 como backbone, PANet como neck y YOLOv3 como cabeza de detección. Este diseño permite que YOLOv4 realice la detección de objetos a una velocidad impresionante, lo que lo hace adecuado para aplicaciones en tiempo real. YOLOv4 también sobresale en precisión, logrando resultados de vanguardia en los benchmarks de detección de objetos. + +## Ejemplos de uso + +Hasta el momento de escribir este documento, Ultralytics actualmente no admite modelos YOLOv4. Por lo tanto, cualquier usuario interesado en usar YOLOv4 deberá consultar directamente el repositorio de YOLOv4 en GitHub para obtener instrucciones de instalación y uso. + +Aquí hay un resumen breve de los pasos típicos que podrías seguir para usar YOLOv4: + +1. Visita el repositorio de YOLOv4 en GitHub: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. Sigue las instrucciones proporcionadas en el archivo README para la instalación. Esto generalmente implica clonar el repositorio, instalar las dependencias necesarias y configurar las variables de entorno necesarias. + +3. Una vez que la instalación esté completa, puedes entrenar y usar el modelo según las instrucciones de uso proporcionadas en el repositorio. Esto normalmente implica preparar tu conjunto de datos, configurar los parámetros del modelo, entrenar el modelo y luego usar el modelo entrenado para realizar la detección de objetos. + +Ten en cuenta que los pasos específicos pueden variar dependiendo de tu caso de uso específico y del estado actual del repositorio de YOLOv4. Por lo tanto, se recomienda encarecidamente consultar directamente las instrucciones proporcionadas en el repositorio de YOLOv4 en GitHub. + +Lamentamos cualquier inconveniente que esto pueda causar y nos esforzaremos por actualizar este documento con ejemplos de uso para Ultralytics una vez que se implemente el soporte para YOLOv4. + +## Conclusión + +YOLOv4 es un modelo de detección de objetos potente y eficiente que logra un equilibrio entre velocidad y precisión. Su uso de características únicas y técnicas de bolsa de regalos durante el entrenamiento le permite realizar un excelente desempeño en tareas de detección de objetos en tiempo real. YOLOv4 puede ser entrenado y utilizado por cualquier persona con una GPU convencional, lo que lo hace accesible y práctico para una amplia gama de aplicaciones. + +## Citaciones y agradecimientos + +Nos gustaría reconocer a los autores de YOLOv4 por sus importantes contribuciones en el campo de la detección de objetos en tiempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +El artículo original de YOLOv4 se puede encontrar en [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Los autores han puesto su trabajo a disposición del público, y el código se puede acceder en [GitHub](https://github.com/AlexeyAB/darknet). Apreciamos sus esfuerzos en el avance del campo y en hacer que su trabajo sea accesible para la comunidad en general. diff --git a/docs/es/models/yolov5.md b/docs/es/models/yolov5.md new file mode 100644 index 00000000000..66adf2241d3 --- /dev/null +++ b/docs/es/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: Descubra YOLOv5u, una versión mejorada del modelo YOLOv5 con un mejor equilibrio entre precisión y velocidad, y numerosos modelos pre-entrenados para diversas tareas de detección de objetos. +keywords: YOLOv5u, detección de objetos, modelos pre-entrenados, Ultralytics, Inferencia, Validación, YOLOv5, YOLOv8, sin anclas, sin atención al objeto, aplicaciones en tiempo real, aprendizaje automático +--- + +# YOLOv5 + +## Resumen + +YOLOv5u representa un avance en las metodologías de detección de objetos. Originado a partir de la arquitectura fundamental del modelo [YOLOv5](https://github.com/ultralytics/yolov5) desarrollado por Ultralytics, YOLOv5u integra la división de la cabeza Ultralytics sin anclas y sin atención al objeto, una característica introducida previamente en los modelos [YOLOv8](yolov8.md). Esta adaptación perfecciona la arquitectura del modelo, resultando en un mejor equilibrio entre precisión y velocidad en tareas de detección de objetos. Con base en los resultados empíricos y sus características derivadas, YOLOv5u proporciona una alternativa eficiente para aquellos que buscan soluciones robustas tanto en investigación como en aplicaciones prácticas. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## Características clave + +- **Cabeza dividida Ultralytics sin anclas:** Los modelos tradicionales de detección de objetos dependen de cajas de anclaje predefinidas para predecir la ubicación de los objetos. Sin embargo, YOLOv5u moderniza este enfoque. Al adoptar una cabeza Ultralytics dividida sin anclas, se garantiza un mecanismo de detección más flexible y adaptable, lo que en consecuencia mejora el rendimiento en diversos escenarios. + +- **Equilibrio óptimo entre precisión y velocidad:** La velocidad y la precisión suelen ser contrapuestas. Pero YOLOv5u desafía este equilibrio. Ofrece un balance calibrado, garantizando detecciones en tiempo real sin comprometer la precisión. Esta característica es especialmente valiosa para aplicaciones que requieren respuestas rápidas, como vehículos autónomos, robótica y análisis de video en tiempo real. + +- **Variedad de modelos pre-entrenados:** Entendiendo que diferentes tareas requieren diferentes herramientas, YOLOv5u proporciona una gran cantidad de modelos pre-entrenados. Ya sea que te enfoques en Inferencia, Validación o Entrenamiento, hay un modelo a la medida esperándote. Esta variedad asegura que no estés utilizando una solución genérica, sino un modelo específicamente ajustado para tu desafío único. + +## Tareas y Modos Soportados + +Los modelos YOLOv5u, con diferentes pesos pre-entrenados, sobresalen en las tareas de [Detección de Objetos](../tasks/detect.md). Soportan una amplia gama de modos que los hacen adecuados para diversas aplicaciones, desde el desarrollo hasta la implementación. + +| Tipo de Modelo | Pesos Pre-entrenados | Tarea | Inferencia | Validación | Entrenamiento | Exportación | +|----------------|-----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|------------|------------|---------------|-------------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabla proporciona una descripción detallada de las variantes de modelos YOLOv5u, destacando su aplicabilidad en tareas de detección de objetos y el soporte para varios modos operativos como [Inferencia](../modes/predict.md), [Validación](../modes/val.md), [Entrenamiento](../modes/train.md) y [Exportación](../modes/export.md). Este soporte integral asegura que los usuarios puedan aprovechar al máximo las capacidades de los modelos YOLOv5u en una amplia gama de escenarios de detección de objetos. + +## Métricas de Rendimiento + +!!! Rendimiento + + === "Detección" + + Consulta la [Documentación de Detección](https://docs.ultralytics.com/tasks/detect/) para obtener ejemplos de uso con estos modelos entrenados en [COCO](https://docs.ultralytics.com/datasets/detect/coco/), los cuales incluyen 80 clases pre-entrenadas. + + | Modelo | YAML | tamaño
(píxeles) | mAPval
50-95 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## Ejemplos de Uso + +Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv5. Para obtener documentación completa sobre estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +!!! Example "Ejemplo" + + === "Python" + + Los modelos pre-entrenados `*.pt` de PyTorch, así como los archivos de configuración `*.yaml`, se pueden pasar a la clase `YOLO()` para crear una instancia de modelo en Python: + + ```python + from ultralytics import YOLO + + # Cargar un modelo YOLOv5n pre-entrenado en COCO + modelo = YOLO('yolov5n.pt') + + # Mostrar información del modelo (opcional) + modelo.info() + + # Entrenar el modelo con el conjunto de datos de ejemplo COCO8 durante 100 épocas + resultados = modelo.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Ejecutar inferencia con el modelo YOLOv5n en la imagen 'bus.jpg' + resultados = modelo('path/to/bus.jpg') + ``` + + === "CLI" + + Hay comandos de CLI disponibles para ejecutar directamente los modelos: + + ```bash + # Cargar un modelo YOLOv5n pre-entrenado en COCO y entrenarlo con el conjunto de datos de ejemplo COCO8 durante 100 épocas + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Cargar un modelo YOLOv5n pre-entrenado en COCO y ejecutar inferencia en la imagen 'bus.jpg' + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## Citaciones y Reconocimientos + +Si utilizas YOLOv5 o YOLOv5u en tu investigación, por favor cita el repositorio de Ultralytics YOLOv5 de la siguiente manera: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +Ten en cuenta que los modelos YOLOv5 se proporcionan bajo las licencias [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) y [Enterprise](https://ultralytics.com/license). diff --git a/docs/es/models/yolov6.md b/docs/es/models/yolov6.md new file mode 100644 index 00000000000..f65f37fcc82 --- /dev/null +++ b/docs/es/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: Explora Meituan YOLOv6, un modelo de detección de objetos de última generación que logra un equilibrio entre velocidad y precisión. Sumérgete en características, modelos pre-entrenados y el uso de Python. +keywords: Meituan YOLOv6, detección de objetos, Ultralytics, documentación de YOLOv6, Concatenación Bidireccional, Entrenamiento con Anclas, modelos pre-entrenados, aplicaciones en tiempo real +--- + +# Meituan YOLOv6 + +## Visión general + +[Meituan](https://about.meituan.com/) YOLOv6 es un detector de objetos de última generación que ofrece un notable equilibrio entre velocidad y precisión, lo que lo convierte en una opción popular para aplicaciones en tiempo real. Este modelo presenta varias mejoras notables en su arquitectura y esquema de entrenamiento, que incluyen la implementación de un módulo de Concatenación Bidireccional (BiC), una estrategia de entrenamiento con anclas (AAT) y un diseño de columna vertebral y cuello mejorado para lograr una precisión de última generación en el conjunto de datos COCO. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Ejemplo de imagen del modelo](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**Visión general de YOLOv6.** Diagrama de la arquitectura del modelo que muestra los componentes de la red redesdiseñados y las estrategias de entrenamiento que han llevado a mejoras significativas en el rendimiento. (a) El cuello de YOLOv6 (N y S se muestran). Señalar que, en M/L, RepBlocks es reemplazado por CSPStackRep. (b) La estructura de un módulo BiC. (c) Un bloque SimCSPSPPF. ([fuente](https://arxiv.org/pdf/2301.05586.pdf)). + +### Características clave + +- **Módulo de Concatenación Bidireccional (BiC):** YOLOv6 introduce un módulo de BiC en el cuello del detector, mejorando las señales de localización y ofreciendo mejoras en el rendimiento con una degradación de velocidad despreciable. +- **Estrategia de Entrenamiento con Anclas (AAT):** Este modelo propone AAT para disfrutar de los beneficios de los paradigmas basados en anclas y sin anclas sin comprometer la eficiencia de inferencia. +- **Diseño de Columna Vertebral y Cuello Mejorado:** Al profundizar en YOLOv6 para incluir otra etapa en la columna vertebral y el cuello, este modelo logra un rendimiento de última generación en el conjunto de datos COCO con una entrada de alta resolución. +- **Estrategia de Auto-Destilación:** Se implementa una nueva estrategia de auto-destilación para mejorar el rendimiento de los modelos más pequeños de YOLOv6, mejorando la rama de regresión auxiliar durante el entrenamiento y eliminándola durante la inferencia para evitar una marcada disminución de velocidad. + +## Métricas de rendimiento + +YOLOv6 proporciona varios modelos pre-entrenados con diferentes escalas: + +- YOLOv6-N: 37.5% de precisión promedio (AP) en COCO val2017 a 1187 FPS con la GPU NVIDIA Tesla T4. +- YOLOv6-S: 45.0% de AP a 484 FPS. +- YOLOv6-M: 50.0% de AP a 226 FPS. +- YOLOv6-L: 52.8% de AP a 116 FPS. +- YOLOv6-L6: Precisión de última generación en tiempo real. + +YOLOv6 también proporciona modelos cuantizados para diferentes precisiones y modelos optimizados para plataformas móviles. + +## Ejemplos de uso + +Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia con YOLOv6. Para obtener documentación completa sobre estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +!!! Example "Ejemplo" + + === "Python" + + Los modelos pre-entrenados en `*.pt` de PyTorch, así como los archivos de configuración `*.yaml`, se pueden pasar a la clase `YOLO()` para crear una instancia del modelo en Python: + + ```python + from ultralytics import YOLO + + # Construir un modelo YOLOv6n desde cero + modelo = YOLO('yolov6n.yaml') + + # Mostrar información del modelo (opcional) + modelo.info() + + # Entrenar el modelo en el conjunto de datos de ejemplo COCO8 durante 100 epochs + resultados = modelo.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Ejecutar inferencia con el modelo YOLOv6n en la imagen 'bus.jpg' + resultados = modelo('path/to/bus.jpg') + ``` + + === "CLI" + + Se dispone de comandos de línea de comandos (CLI) para ejecutar directamente los modelos: + + ```bash + # Construir un modelo YOLOv6n desde cero y entrenarlo en el conjunto de datos de ejemplo COCO8 durante 100 epochs + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # Construir un modelo YOLOv6n desde cero y ejecutar inferencia en la imagen 'bus.jpg' + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## Tareas y Modos Soportados + +La serie YOLOv6 ofrece una variedad de modelos, cada uno optimizado para [Detección de Objetos](../tasks/detect.md) de alto rendimiento. Estos modelos se adaptan a distintas necesidades computacionales y requisitos de precisión, lo que los hace versátiles para una amplia gama de aplicaciones. + +| Tipo de Modelo | Pesos Pre-entrenados | Tareas Soportadas | Inferencia | Validación | Entrenamiento | Exportación | +|----------------|----------------------|--------------------------------------------|------------|------------|---------------|-------------| +| YOLOv6-N | `yolov6-n.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Detección de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabla proporciona una descripción detallada de las variantes del modelo YOLOv6, destacando sus capacidades en tareas de detección de objetos y su compatibilidad con varios modos operativos como [Inferencia](../modes/predict.md), [Validación](../modes/val.md), [Entrenamiento](../modes/train.md) y [Exportación](../modes/export.md). Este soporte integral garantiza que los usuarios puedan aprovechar al máximo las capacidades de los modelos YOLOv6 en una amplia gama de escenarios de detección de objetos. + +## Citaciones y Agradecimientos + +Nos gustaría agradecer a los autores por sus importantes contribuciones en el campo de la detección de objetos en tiempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + Se puede encontrar el artículo original de YOLOv6 en [arXiv](https://arxiv.org/abs/2301.05586). Los autores han puesto su trabajo a disposición del público y el código fuente se puede acceder en [GitHub](https://github.com/meituan/YOLOv6). Agradecemos sus esfuerzos en avanzar en el campo y hacer que su trabajo sea accesible para la comunidad en general. diff --git a/docs/es/models/yolov7.md b/docs/es/models/yolov7.md new file mode 100644 index 00000000000..64520439468 --- /dev/null +++ b/docs/es/models/yolov7.md @@ -0,0 +1,66 @@ +--- +comments: true +description: Explora el YOLOv7, un detector de objetos en tiempo real. Comprende su velocidad superior, precisión impresionante y enfoque único en la optimización de entrenamiento de bolsas de características entrenables. +keywords: YOLOv7, detector de objetos en tiempo real, estado del arte, Ultralytics, conjunto de datos MS COCO, re-parametrización del modelo, asignación dinámica de etiquetas, escalado extendido, escalado compuesto +--- + +# YOLOv7: Bolsa de Características Entrenable + +YOLOv7 es un detector de objetos en tiempo real de última generación que supera a todos los detectores de objetos conocidos tanto en velocidad como en precisión en el rango de 5 FPS a 160 FPS. Tiene la mayor precisión (56.8% AP) entre todos los detectores de objetos en tiempo real conocidos con una velocidad de 30 FPS o superior en la GPU V100. Además, YOLOv7 supera a otros detectores de objetos como YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 y muchos otros en cuanto a velocidad y precisión. El modelo se entrena desde cero utilizando el conjunto de datos MS COCO sin utilizar ningún otro conjunto de datos o pesos pre-entrenados. El código fuente de YOLOv7 está disponible en GitHub. + +![Comparación de YOLOv7 con detectores de objetos SOTA](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**Comparación de los detectores de objetos de estado del arte. +** Según los resultados en la Tabla 2, sabemos que el método propuesto tiene el mejor equilibrio entre velocidad y precisión de manera integral. Si comparamos YOLOv7-tiny-SiLU con YOLOv5-N (r6.1), nuestro método es 127 fps más rápido y un 10.7% más preciso en AP. Además, YOLOv7 tiene un AP del 51.4% a una velocidad de cuadro de 161 fps, mientras que PPYOLOE-L con el mismo AP tiene solo una velocidad de cuadro de 78 fps. En términos de uso de parámetros, YOLOv7 utiliza un 41% menos que PPYOLOE-L. Si comparamos YOLOv7-X con una velocidad de inferencia de 114 fps con YOLOv5-L (r6.1) con una velocidad de inferencia de 99 fps, YOLOv7-X puede mejorar el AP en un 3.9%. Si se compara YOLOv7-X con YOLOv5-X (r6.1) de una escala similar, la velocidad de inferencia de YOLOv7-X es 31 fps más rápida. Además, en términos de cantidad de parámetros y cálculos, YOLOv7-X reduce un 22% de los parámetros y un 8% de los cálculos en comparación con YOLOv5-X (r6.1), pero mejora el AP en un 2.2% ([Fuente](https://arxiv.org/pdf/2207.02696.pdf)). + +## Descripción general + +La detección de objetos en tiempo real es un componente importante en muchos sistemas de visión por computadora, incluyendo el seguimiento de múltiples objetos, conducción autónoma, robótica y análisis de imágenes médicas. En los últimos años, el desarrollo de la detección de objetos en tiempo real se ha centrado en el diseño de arquitecturas eficientes y en la mejora de la velocidad de inferencia de diversas CPUs, GPUs y unidades de procesamiento neural (NPUs). YOLOv7 es compatible tanto con GPU para dispositivos móviles como con GPU para dispositivos de escritorio, desde el borde hasta la nube. + +A diferencia de los detectores de objetos en tiempo real tradicionales que se centran en la optimización de la arquitectura, YOLOv7 introduce un enfoque en la optimización del proceso de entrenamiento. Esto incluye módulos y métodos de optimización diseñados para mejorar la precisión de la detección de objetos sin aumentar el costo de inferencia, un concepto conocido como "bolsas de características entrenables". + +## Características clave + +YOLOv7 introduce varias características clave: + +1. **Re-parametrización del modelo**: YOLOv7 propone un modelo re-parametrizado planificado, que es una estrategia aplicable a capas en diferentes redes con el concepto de propagación del gradiente. + +2. **Asignación dinámica de etiquetas**: El entrenamiento del modelo con múltiples capas de salida presenta un nuevo problema: "¿Cómo asignar objetivos dinámicos para las salidas de diferentes ramas?" Para resolver este problema, YOLOv7 introduce un nuevo método de asignación de etiquetas llamado asignación de etiquetas guiadas de manera gruesa a fina. + +3. **Escalado extendido y compuesto**: YOLOv7 propone métodos de "escalado extendido" y "escalado compuesto" para el detector de objetos en tiempo real que pueden utilizar eficazmente los parámetros y cálculos. + +4. **Eficiencia**: El método propuesto por YOLOv7 puede reducir eficazmente aproximadamente el 40% de los parámetros y el 50% de los cálculos del detector de objetos en tiempo real de última generación y tiene una velocidad de inferencia más rápida y una mayor precisión de detección. + +## Ejemplos de uso + +Hasta la fecha de redacción de este documento, Ultralytics no admite actualmente modelos YOLOv7. Por lo tanto, los usuarios interesados en utilizar YOLOv7 deberán consultar directamente el repositorio de GitHub de YOLOv7 para obtener instrucciones de instalación y uso. + +Aquí hay un resumen breve de los pasos típicos que podrías seguir para usar YOLOv7: + +1. Visita el repositorio de GitHub de YOLOv7: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. Sigue las instrucciones proporcionadas en el archivo README para la instalación. Esto generalmente implica clonar el repositorio, instalar las dependencias necesarias y configurar las variables de entorno necesarias. + +3. Una vez que la instalación esté completa, puedes entrenar y utilizar el modelo según las instrucciones de uso proporcionadas en el repositorio. Esto generalmente implica preparar tu conjunto de datos, configurar los parámetros del modelo, entrenar el modelo y luego utilizar el modelo entrenado para realizar la detección de objetos. + +Ten en cuenta que los pasos específicos pueden variar según tu caso de uso específico y el estado actual del repositorio YOLOv7. Por lo tanto, se recomienda encarecidamente consultar directamente las instrucciones proporcionadas en el repositorio de GitHub de YOLOv7. + +Lamentamos cualquier inconveniente que esto pueda causar y nos esforzaremos por actualizar este documento con ejemplos de uso para Ultralytics una vez que se implemente el soporte para YOLOv7. + +## Citaciones y Agradecimientos + +Nos gustaría agradecer a los autores de YOLOv7 por sus importantes contribuciones en el campo de la detección de objetos en tiempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +El artículo original de YOLOv7 se puede encontrar en [arXiv](https://arxiv.org/pdf/2207.02696.pdf). Los autores han hecho su trabajo públicamente disponible y el código se puede acceder en [GitHub](https://github.com/WongKinYiu/yolov7). Agradecemos sus esfuerzos en el avance del campo y en hacer su trabajo accesible a la comunidad en general. diff --git a/docs/es/models/yolov8.md b/docs/es/models/yolov8.md new file mode 100644 index 00000000000..7617460b576 --- /dev/null +++ b/docs/es/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: ¡Explora las emocionantes características de YOLOv8, la última versión de nuestro detector de objetos en tiempo real! Aprende cómo las arquitecturas avanzadas, los modelos preentrenados y el equilibrio óptimo entre precisión y velocidad hacen de YOLOv8 la elección perfecta para tus tareas de detección de objetos. +keywords: YOLOv8, Ultralytics, detector de objetos en tiempo real, modelos preentrenados, documentación, detección de objetos, serie YOLO, arquitecturas avanzadas, precisión, velocidad +--- + +# YOLOv8 + +## Descripción general + +YOLOv8 es la última versión de la serie YOLO de detectores de objetos en tiempo real, ofreciendo un rendimiento de vanguardia en términos de precisión y velocidad. Basándose en los avances de las versiones anteriores de YOLO, YOLOv8 presenta nuevas características y optimizaciones que lo convierten en una opción ideal para diversas tareas de detección de objetos en una amplia gama de aplicaciones. + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## Características principales + +- **Arquitecturas avanzadas de columna vertebral y cuello:** YOLOv8 utiliza arquitecturas de columna vertebral y cuello de última generación, lo que resulta en una mejor extracción de características y rendimiento de detección de objetos. +- **Cabeza Ultralytics dividida sin anclaje:** YOLOv8 adopta una cabeza Ultralytics dividida sin anclaje, lo que contribuye a una mejor precisión y a un proceso de detección más eficiente en comparación con los enfoques basados en anclaje. +- **Equilibrio optimizado entre precisión y velocidad:** Con un enfoque en mantener un equilibrio óptimo entre precisión y velocidad, YOLOv8 es adecuado para tareas de detección de objetos en tiempo real en diversas áreas de aplicación. +- **Variedad de modelos preentrenados:** YOLOv8 ofrece una variedad de modelos preentrenados para adaptarse a diversas tareas y requisitos de rendimiento, lo que facilita encontrar el modelo adecuado para tu caso de uso específico. + +## Tareas y modos compatibles + +La serie YOLOv8 ofrece una amplia gama de modelos, cada uno especializado en tareas específicas en visión por computadora. Estos modelos están diseñados para adaptarse a diversos requisitos, desde la detección de objetos hasta tareas más complejas como la segmentación de instancias, la detección de poses/puntos clave y la clasificación. + +Cada variante de la serie YOLOv8 está optimizada para su respectiva tarea, garantizando un alto rendimiento y precisión. Además, estos modelos son compatibles con varios modos operativos, incluyendo [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) y [Export](../modes/export.md), lo que facilita su uso en diferentes etapas de implementación y desarrollo. + +| Modelo | Nombres de archivo | Tarea | Inferencia | Validación | Entrenamiento | Exportación | +|-------------|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------|------------|------------|---------------|-------------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Detección](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Segmentación de instancias](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Pose/Puntos clave](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Clasificación](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabla proporciona una descripción general de las variantes de modelos YOLOv8, resaltando su aplicabilidad en tareas específicas y su compatibilidad con varios modos operativos como Inferencia, Validación, Entrenamiento y Exportación. Muestra la versatilidad y robustez de la serie YOLOv8, haciéndolos adecuados para una variedad de aplicaciones en visión por computadora. + +## Métricas de rendimiento + +!!! Rendimiento + + === "Detección (COCO)" + + Consulta la [documentación de Detección](https://docs.ultralytics.com/tasks/detect/) para ejemplos de uso con estos modelos entrenados en [COCO](https://docs.ultralytics.com/datasets/detect/coco/), que incluyen 80 clases preentrenadas. + + | Modelo | tamaño
(píxeles) | mAPval
50-95 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) | + | ------------------------------------------------------------------------------------ | ----------------------- | --------------------- | ------------------------------ | --------------------------------------- | ---------------------- | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "Detección (Open Images V7)" + + Consulta la [documentación de Detección](https://docs.ultralytics.com/tasks/detect/) para ejemplos de uso con estos modelos entrenados en [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), que incluyen 600 clases preentrenadas. + + | Modelo | tamaño
(píxeles) | mAPval
50-95 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) | + | ----------------------------------------------------------------------------------------- | ----------------------- | --------------------- | -------------------------------- | --------------------------------------- | ---------------------- | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "Segmentación (COCO)" + + Consulta la [documentación de Segmentación](https://docs.ultralytics.com/tasks/segment/) para ejemplos de uso con estos modelos entrenados en [COCO](https://docs.ultralytics.com/datasets/segment/coco/), que incluyen 80 clases preentrenadas. + + | Modelo | tamaño
(píxeles) | mAPcaja
50-95 | mAPmáscara
50-95 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) | + | -------------------------------------------------------------------------------------------- | ----------------------- | ---------------------- | ----------------------- | -------------------------------- | --------------------------------------- | ---------------------- | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "Clasificación (ImageNet)" + + Consulta la [documentación de Clasificación](https://docs.ultralytics.com/tasks/classify/) para ejemplos de uso con estos modelos entrenados en [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), que incluyen 1000 clases preentrenadas. + + | Modelo | tamaño
(píxeles) | acc
top1 | acc
top5 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) a 640 | + | -------------------------------------------------------------------------------------------- | ----------------------- | ---------------- | ---------------- | -------------------------------- | --------------------------------------- | ---------------------- | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "Pose (COCO)" + + Consulta la [documentación de Estimación de Poses](https://docs.ultralytics.com/tasks/segment/) para ejemplos de uso con estos modelos entrenados en [COCO](https://docs.ultralytics.com/datasets/pose/coco/), que incluyen 1 clase preentrenada, 'person'. + + | Modelo | tamaño
(píxeles) | mAPpose
50-95 | mAPpose
50 | Velocidad
CPU ONNX
(ms) | Velocidad
A100 TensorRT
(ms) | parámetros
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------------- | ----------------------- | --------------------- | ------------------ | -------------------------------- | --------------------------------------- | ---------------------- | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## Ejemplos de uso + +Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia con YOLOv8. Para obtener documentación completa sobre estos y otros [modos](../modes/index.md), consulta las páginas de documentación de [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) y [Export](../modes/export.md). + +Ten en cuenta que el siguiente ejemplo es para modelos de detección YOLOv8. Para ver las tareas adicionales compatibles, consulta la documentación de [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) y [Pose](../tasks/pose.md). + +!!! Example "Ejemplo" + + === "Python" + + Los modelos preentrenados en PyTorch `*.pt`, así como los archivos de configuración `*.yaml`, se pueden pasar a la clase `YOLO()` para crear una instancia del modelo en Python: + + ```python + from ultralytics import YOLO + + # Carga un modelo YOLOv8n preentrenado en COCO + model = YOLO('yolov8n.pt') + + # Muestra información del modelo (opcional) + model.info() + + # Entrena el modelo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Realiza inferencia con el modelo YOLOv8n en la imagen 'bus.jpg' + results = model('ruta/a/bus.jpg') + ``` + + === "CLI" + + Hay comandos de CLI disponibles para ejecutar directamente los modelos: + + ```bash + # Carga un modelo YOLOv8n preentrenado en COCO y entrénalo en el conjunto de datos de ejemplo COCO8 durante 100 épocas + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Carga un modelo YOLOv8n preentrenado en COCO y realiza inferencia en la imagen 'bus.jpg' + yolo predict model=yolov8n.pt source=ruta/a/bus.jpg + ``` + +## Citas y reconocimientos + +Si utilizas el modelo YOLOv8 u otro software de este repositorio en tu trabajo, por favor cítalo utilizando el siguiente formato: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + + Ten en cuenta que el DOI está pendiente y se agregará a la cita una vez que esté disponible. Los modelos de YOLOv8 se proporcionan bajo las licencias [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) y [Enterprise](https://ultralytics.com/license). diff --git a/docs/fr/models/fast-sam.md b/docs/fr/models/fast-sam.md new file mode 100644 index 00000000000..f741b83bd91 --- /dev/null +++ b/docs/fr/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: Découvrez FastSAM, une solution basée sur les réseaux de neurones à convolution (CNN) pour la segmentation d'objets en temps réel dans les images. Interaction utilisateur améliorée, efficacité computationnelle et adaptabilité à différentes tâches de vision. +keywords: FastSAM, apprentissage automatique, solution basée sur les CNN, segmentation d'objets, solution en temps réel, Ultralytics, tâches de vision, traitement d'images, applications industrielles, interaction utilisateur +--- + +# Fast Segment Anything Model (FastSAM) + +Le Fast Segment Anything Model (FastSAM) est une solution basée sur les réseaux de neurones à convolution (CNN) en temps réel pour la tâche Segment Anything. Cette tâche est conçue pour segmenter n'importe quel objet dans une image en fonction de différentes interactions utilisateur possibles. FastSAM réduit considérablement les demandes computationnelles tout en maintenant des performances compétitives, ce qui en fait un choix pratique pour diverses tâches de vision. + +![Vue d'ensemble de l'architecture du Fast Segment Anything Model (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## Vue d'ensemble + +FastSAM est conçu pour remédier aux limitations du [Segment Anything Model (SAM)](sam.md), un modèle Transformer lourd nécessitant des ressources computationnelles importantes. FastSAM découpe la tâche de segmentation en deux étapes séquentielles : la segmentation de toutes les instances et la sélection guidée par une invitation. La première étape utilise [YOLOv8-seg](../tasks/segment.md) pour produire les masques de segmentation de toutes les instances de l'image. Dans la deuxième étape, il génère la région d'intérêt correspondant à l'invitation. + +## Fonctionnalités clés + +1. **Solution en temps réel :** En exploitant l'efficacité computationnelle des CNN, FastSAM fournit une solution en temps réel pour la tâche Segment Anything, ce qui en fait une solution précieuse pour les applications industrielles nécessitant des résultats rapides. + +2. **Efficacité et performances :** FastSAM offre une réduction significative des demandes computationnelles et des ressources sans compromettre la qualité des performances. Il atteint des performances comparables à SAM, mais avec une réduction drastique des ressources computationnelles, ce qui permet une application en temps réel. + +3. **Segmentation guidée par une invitation :** FastSAM peut segmenter n'importe quel objet dans une image, guidé par différentes invitations d'interaction utilisateur possibles, offrant ainsi flexibilité et adaptabilité dans différents scénarios. + +4. **Basé sur YOLOv8-seg :** FastSAM est basé sur [YOLOv8-seg](../tasks/segment.md), un détecteur d'objets équipé d'une branche de segmentation d'instances. Cela lui permet de produire efficacement les masques de segmentation de toutes les instances dans une image. + +5. **Résultats concurrentiels sur les bancs d'essai :** Dans la tâche de proposition d'objets sur MS COCO, FastSAM obtient des scores élevés à une vitesse significativement plus rapide que [SAM](sam.md) sur une seule NVIDIA RTX 3090, démontrant ainsi son efficacité et sa capacité. + +6. **Applications pratiques :** Cette approche propose une nouvelle solution pratique pour un grand nombre de tâches de vision à une vitesse très élevée, des dizaines ou des centaines de fois plus rapide que les méthodes actuelles. + +7. **Faisabilité de la compression du modèle :** FastSAM démontre la faisabilité d'une voie qui peut réduire considérablement l'effort computationnel en introduisant une contrainte artificielle dans la structure, ouvrant ainsi de nouvelles possibilités pour l'architecture de modèles de grande taille pour les tâches de vision générales. + +## Modèles disponibles, tâches prises en charge et modes d'exploitation + +Ce tableau présente les modèles disponibles avec leurs poids pré-entraînés spécifiques, les tâches qu'ils prennent en charge et leur compatibilité avec différents modes d'exploitation tels que [Inférence](../modes/predict.md), [Validation](../modes/val.md), [Entraînement](../modes/train.md) et [Exportation](../modes/export.md), indiqués par des emojis ✅ pour les modes pris en charge et des emojis ❌ pour les modes non pris en charge. + +| Type de modèle | Poids pré-entraînés | Tâches prises en charge | Inférence | Validation | Entraînement | Exportation | +|----------------|---------------------|-------------------------------------------------|-----------|------------|--------------|-------------| +| FastSAM-s | `FastSAM-s.pt` | [Segmentation d'instances](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Segmentation d'instances](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Exemples d'utilisation + +Les modèles FastSAM sont faciles à intégrer dans vos applications Python. Ultralytics propose une API Python conviviale et des commandes CLI pour simplifier le développement. + +### Utilisation de la prédiction + +Pour effectuer une détection d'objets sur une image, utilisez la méthode `Predict` comme indiqué ci-dessous : + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # Définir une source d'inférence + source = 'chemin/vers/bus.jpg' + + # Créer un modèle FastSAM + model = FastSAM('FastSAM-s.pt') # ou FastSAM-x.pt + + # Effectuer une inférence sur une image + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Préparer un objet Processus Invitation + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Invitation Everything + ann = prompt_process.everything_prompt() + + # Bbox shape par défaut [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # Invitation Text + ann = prompt_process.text_prompt(text='une photo d\'un chien') + + # Invitation Point + # points par défaut [[0,0]] [[x1,y1],[x2,y2]] + # point_label par défaut [0] [1,0] 0:fond, 1:premier plan + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # Charger un modèle FastSAM et segmenter tout avec + yolo segment predict model=FastSAM-s.pt source=chemin/vers/bus.jpg imgsz=640 + ``` + +Cet exemple démontre la simplicité du chargement d'un modèle pré-entraîné et de l'exécution d'une prédiction sur une image. + +### Utilisation de la validation + +La validation du modèle sur un ensemble de données peut être effectuée de la manière suivante : + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics import FastSAM + + # Créer un modèle FastSAM + model = FastSAM('FastSAM-s.pt') # ou FastSAM-x.pt + + # Valider le modèle + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # Charger un modèle FastSAM et le valider sur l'ensemble de données d'exemple COCO8 avec une taille d'image de 640 pixels + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +Veuillez noter que FastSAM ne prend en charge que la détection et la segmentation d'une seule classe d'objet. Cela signifie qu'il reconnaîtra et segmentera tous les objets comme étant de la même classe. Par conséquent, lors de la préparation de l'ensemble de données, vous devez convertir tous les identifiants de catégorie d'objet en 0. + +## Utilisation officielle de FastSAM + +FastSAM est également disponible directement à partir du dépôt [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). Voici un bref aperçu des étapes typiques que vous pourriez suivre pour utiliser FastSAM : + +### Installation + +1. Clonez le dépôt FastSAM : + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Créez et activez un environnement Conda avec Python 3.9 : + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. Accédez au dépôt cloné et installez les packages requis : + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. Installez le modèle CLIP : + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### Exemple d'utilisation + +1. Téléchargez un [point de contrôle de modèle](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). + +2. Utilisez FastSAM pour l'inférence. Exemples de commandes : + + - Segmentez tout dans une image : + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - Segmentez des objets spécifiques à l'aide de l'invitation de texte : + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "le chien jaune" + ``` + + - Segmentez des objets dans un rectangle englobant (fournir les coordonnées du rectangle au format xywh) : + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - Segmentez des objets à proximité de points spécifiques : + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +De plus, vous pouvez essayer FastSAM via une [démonstration Colab](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) ou sur la [démonstration Web HuggingFace](https://huggingface.co/spaces/An-619/FastSAM) pour une expérience visuelle. + +## Citations et remerciements + +Nous tenons à remercier les auteurs de FastSAM pour leurs contributions importantes dans le domaine de la segmentation d'instances en temps réel : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Le document original FastSAM peut être consulté sur [arXiv](https://arxiv.org/abs/2306.12156). Les auteurs ont rendu leur travail accessible au public, et le code source peut être consulté sur [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté dans son ensemble. diff --git a/docs/fr/models/index.md b/docs/fr/models/index.md index 3ee0d2aab52..abf329dd8e1 100644 --- a/docs/fr/models/index.md +++ b/docs/fr/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Explorez la diversité des modèles YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS et RT-DETR pris en charge par Ultralytics. Commencez avec des exemples d'utilisation pour CLI et Python. +description: Explorez la gamme diversifiée de modèles de la famille YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS et RT-DETR pris en charge par Ultralytics. Commencez avec des exemples pour l'utilisation CLI et Python. keywords: Ultralytics, documentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, modèles, architectures, Python, CLI --- # Modèles pris en charge par Ultralytics -Bienvenue dans la documentation des modèles d'Ultralytics ! Nous proposons une prise en charge d'une large gamme de modèles, chacun adapté à des tâches spécifiques comme [la détection d'objets](../tasks/detect.md), [la segmentation d'instances](../tasks/segment.md), [la classification d'images](../tasks/classify.md), [l'estimation de posture](../tasks/pose.md) et [le suivi multi-objets](../modes/track.md). Si vous souhaitez contribuer avec votre architecture de modèle à Ultralytics, consultez notre [Guide de Contribution](../../help/contributing.md). +Bienvenue dans la documentation des modèles d'Ultralytics ! Nous offrons un soutien pour une large gamme de modèles, chacun étant adapté à des tâches spécifiques comme [la détection d'objets](../tasks/detect.md), [la segmentation d'instance](../tasks/segment.md), [la classification d'images](../tasks/classify.md), [l'estimation de pose](../tasks/pose.md), et [le suivi multi-objets](../modes/track.md). Si vous êtes intéressé à contribuer avec votre architecture de modèle à Ultralytics, consultez notre [Guide de Contribution](../../help/contributing.md). -!!! Note "Note" +!!! Note "Remarque" - 🚧 Notre documentation multilingue est actuellement en construction et nous travaillons activement à l'améliorer. Merci de votre patience ! 🙏 + 🚧 Notre documentation dans différentes langues est actuellement en construction, et nous travaillons dur pour l'améliorer. Merci de votre patience ! 🙏 ## Modèles en vedette Voici quelques-uns des modèles clés pris en charge : -1. **[YOLOv3](../../models/yolov3.md)** : La troisième itération de la famille de modèles YOLO, originellement par Joseph Redmon, reconnue pour ses capacités de détection d'objets en temps réel efficaces. -2. **[YOLOv4](../../models/yolov4.md)** : Une mise à jour de YOLOv3 native de darknet, publiée par Alexey Bochkovskiy en 2020. -3. **[YOLOv5](../../models/yolov5.md)** : Une version améliorée de l'architecture YOLO par Ultralytics, offrant de meilleurs compromis de performance et de vitesse par rapport aux versions précédentes. -4. **[YOLOv6](../../models/yolov6.md)** : Publié par [Meituan](https://about.meituan.com/) en 2022, et utilisé dans de nombreux robots de livraison autonomes de l'entreprise. -5. **[YOLOv7](../../models/yolov7.md)** : Modèles YOLO mis à jour et sortis en 2022 par les auteurs de YOLOv4. -6. **[YOLOv8](../../models/yolov8.md)** : La dernière version de la famille YOLO, avec des capacités améliorées telles que la segmentation d’instances, l'estimation de pose/points clés, et la classification. -7. **[Segment Anything Model (SAM)](../../models/sam.md)** : Le modèle Segment Anything Model (SAM) de Meta. -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)** : MobileSAM pour les applications mobiles, par l'Université de Kyung Hee. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)** : FastSAM par le groupe d’Analyse Image et Vidéo, Institut d'Automatisation, Académie Chinoise des Sciences. -10. **[YOLO-NAS](../../models/yolo-nas.md)** : Modèles YOLO Neural Architecture Search (NAS). -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)** : Modèles de Realtime Detection Transformer (RT-DETR) de Baidu's PaddlePaddle. +1. **[YOLOv3](yolov3.md)** : La troisième itération de la famille de modèles YOLO, initialement par Joseph Redmon, connue pour ses capacités de détection d'objets en temps réel efficaces. +2. **[YOLOv4](yolov4.md)** : Une mise à jour native darknet de YOLOv3, publiée par Alexey Bochkovskiy en 2020. +3. **[YOLOv5](yolov5.md)** : Une version améliorée de l'architecture YOLO par Ultralytics, offrant de meilleures performances et compromis de vitesse par rapport aux versions précédentes. +4. **[YOLOv6](yolov6.md)** : Publié par [Meituan](https://about.meituan.com/) en 2022, et utilisé dans beaucoup de ses robots de livraison autonomes. +5. **[YOLOv7](yolov7.md)** : Modèles YOLO mis à jour publiés en 2022 par les auteurs de YOLOv4. +6. **[YOLOv8](yolov8.md) NOUVEAU 🚀**: La dernière version de la famille YOLO, présentant des capacités améliorées telles que la segmentation d'instance, l'estimation de pose/points clés et la classification. +7. **[Segment Anything Model (SAM)](sam.md)** : Le modèle Segment Anything Model (SAM) de Meta. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)** : MobileSAM pour applications mobiles, développé par l'Université de Kyung Hee. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)** : FastSAM par le Image & Video Analysis Group, Institute of Automation, Chinese Academy of Sciences. +10. **[YOLO-NAS](yolo-nas.md)** : Modèles de Recherche d'Architecture Neuronale YOLO (NAS). +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)** : Modèles du Transformateur de Détection en Temps Réel (RT-DETR) de PaddlePaddle de Baidu.


@@ -39,24 +39,28 @@ Voici quelques-uns des modèles clés pris en charge : Regardez : Exécutez les modèles YOLO d'Ultralytics en seulement quelques lignes de code.

-## Pour commencer : Exemples d'utilisation +## Pour Commencer : Exemples d'Utilisation + +Cet exemple fournit des exemples simples d'entraînement et d'inférence YOLO. Pour une documentation complète sur ces [modes](../modes/index.md) et d'autres, consultez les pages de documentation [Prédire](../modes/predict.md), [Entraîner](../modes/train.md), [Val](../modes/val.md) et [Exporter](../modes/export.md). + +Notez que l'exemple ci-dessous concerne les modèles [Detect](../tasks/detect.md) YOLOv8 pour la détection d'objets. Pour des tâches supplémentaires prises en charge, voir les documentations [Segmenter](../tasks/segment.md), [Classifier](../tasks/classify.md) et [Poser](../tasks/pose.md). !!! Example "Exemple" === "Python" - Les modèles préentrainés `*.pt` ainsi que les fichiers de configuration `*.yaml` peuvent être passés aux classes `YOLO()`, `SAM()`, `NAS()` et `RTDETR()` pour créer une instance du modèle en Python : + Des modèles pré-entraînés PyTorch `*.pt` ainsi que des fichiers de configuration `*.yaml` peuvent être passés aux classes `YOLO()`, `SAM()`, `NAS()` et `RTDETR()` pour créer une instance de modèle en Python : ```python from ultralytics import YOLO - # Charger un modèle YOLOv8n préentrainé sur COCO + # Charger un modèle YOLOv8n pré-entraîné sur COCO model = YOLO('yolov8n.pt') # Afficher les informations du modèle (optionnel) model.info() - # Entraîner le modèle sur l'exemple de jeu de données COCO8 pendant 100 époques + # Entraîner le modèle sur le jeu de données exemple COCO8 pendant 100 époques results = model.train(data='coco8.yaml', epochs=100, imgsz=640) # Exécuter l'inférence avec le modèle YOLOv8n sur l'image 'bus.jpg' @@ -68,27 +72,27 @@ Voici quelques-uns des modèles clés pris en charge : Des commandes CLI sont disponibles pour exécuter directement les modèles : ```bash - # Charger un modèle YOLOv8n préentrainé sur COCO et l'entraîner sur l'exemple de jeu de données COCO8 pendant 100 époques + # Charger un modèle YOLOv8n pré-entraîné sur COCO et l'entraîner sur le jeu de données exemple COCO8 pendant 100 époques yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # Charger un modèle YOLOv8n préentrainé sur COCO et exécuter l'inférence sur l'image 'bus.jpg' + # Charger un modèle YOLOv8n pré-entraîné sur COCO et exécuter l'inférence sur l'image 'bus.jpg' yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## Contribuer de nouveaux modèles +## Contribution de Nouveaux Modèles -Intéressé à contribuer votre modèle à Ultralytics ? Super ! Nous sommes toujours ouverts à l'expansion de notre portefeuille de modèles. +Vous êtes intéressé à contribuer votre modèle à Ultralytics ? Génial ! Nous sommes toujours ouverts à l'expansion de notre portefeuille de modèles. -1. **Forker le Répertoire** : Commencez par forker le [répertoire GitHub d'Ultralytics](https://github.com/ultralytics/ultralytics). +1. **Forkez le Référentiel** : Commencez par forker le [référentiel GitHub d'Ultralytics](https://github.com/ultralytics/ultralytics). -2. **Cloner Votre Fork** : Clonez votre fork sur votre machine locale et créez une nouvelle branche pour travailler dessus. +2. **Clonez Votre Fork** : Clonez votre fork sur votre machine locale et créez une nouvelle branche pour travailler dessus. -3. **Implémenter Votre Modèle** : Ajoutez votre modèle en suivant les standards et directives de codage fournis dans notre [Guide de Contribution](../../help/contributing.md). +3. **Implémentez Votre Modèle** : Ajoutez votre modèle en suivant les normes et directives de codage fournies dans notre [Guide de Contribution](../../help/contributing.md). -4. **Tester Rigoureusement** : Assurez-vous de tester votre modèle de manière rigoureuse, à la fois isolément et en tant que partie du pipeline. +4. **Testez Rigoureusement** : Assurez-vous de tester votre modèle de manière rigoureuse, à la fois isolément et comme partie du pipeline. -5. **Créer une Pull Request** : Une fois que vous êtes satisfait de votre modèle, créez une demandе de tirage (pull request) vers le répertoire principal pour examen. +5. **Créez une Pull Request** : Une fois que vous êtes satisfait de votre modèle, créez une pull request au répertoire principal pour examen. -6. **Revue de Code & Fusion** : Après la revue, si votre modèle répond à nos critères, il sera fusionné dans le répertoire principal. +6. **Revue de Code & Fusion** : Après examen, si votre modèle répond à nos critères, il sera fusionné dans le répertoire principal. Pour des étapes détaillées, consultez notre [Guide de Contribution](../../help/contributing.md). diff --git a/docs/fr/models/mobile-sam.md b/docs/fr/models/mobile-sam.md new file mode 100644 index 00000000000..d011b039d30 --- /dev/null +++ b/docs/fr/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: En savoir plus sur MobileSAM, son implémentation, la comparaison avec SAM d'origine, et comment le télécharger et le tester dans le cadre de l'environnement Ultralytics. Améliorez vos applications mobiles dès aujourd'hui. +keywords: MobileSAM, Ultralytics, SAM, applications mobiles, Arxiv, GPU, API, encodeur d'image, décodeur de masque, téléchargement de modèle, méthode de test +--- + +![Logo MobileSAM](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Segmenter N'importe Quoi sur Mobile (MobileSAM) + +Le document MobileSAM est maintenant disponible sur [arXiv](https://arxiv.org/pdf/2306.14289.pdf). + +Une démonstration de MobileSAM exécutée sur un processeur CPU est accessible via ce [lien de démonstration](https://huggingface.co/spaces/dhkim2810/MobileSAM). Les performances sur un CPU Mac i5 prennent environ 3 secondes. Sur la démo de Hugging Face, l'interface ainsi que les CPU moins performants contribuent à une réponse plus lente, mais cela continue de fonctionner efficacement. + +MobileSAM est implémenté dans divers projets, notamment [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling), et [Segment Anything en 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +MobileSAM est entraîné sur un seul GPU avec un ensemble de données de 100 000 images (1% des images originales) en moins d'une journée. Le code de cet entraînement sera disponible à l'avenir. + +## Modèles Disponibles, Tâches Prises en Charge et Modes d'Utilisation + +Ce tableau présente les modèles disponibles avec leurs poids pré-entraînés spécifiques, les tâches qu'ils prennent en charge, et leur compatibilité avec les différents modes d'utilisation tels que [Inférence](../modes/predict.md), [Validation](../modes/val.md), [Entraînement](../modes/train.md) et [Export](../modes/export.md), indiqués par les emojis ✅ pour les modes pris en charge et ❌ pour les modes non pris en charge. + +| Type de Modèle | Poids Pré-entraînés | Tâches Prises en Charge | Inférence | Validation | Entraînement | Export | +|----------------|---------------------|-------------------------------------------------|-----------|------------|--------------|--------| +| MobileSAM | `mobile_sam.pt` | [Segmentation d'Instances](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Passage de SAM à MobileSAM + +Étant donné que MobileSAM conserve le même pipeline que SAM d'origine, nous avons incorporé le pré-traitement, le post-traitement et toutes les autres interfaces de l'original. Par conséquent, ceux qui utilisent actuellement SAM d'origine peuvent passer à MobileSAM avec un effort minimal. + +MobileSAM a des performances comparables à celles de SAM d'origine et conserve le même pipeline à l'exception d'un changement dans l'encodeur d'image. Plus précisément, nous remplaçons l'encodeur d'image lourd original ViT-H (632M) par un encodeur Tiny-ViT plus petit (5M). Sur un seul GPU, MobileSAM fonctionne à environ 12 ms par image : 8 ms sur l'encodeur d'image et 4 ms sur le décodeur de masque. + +Le tableau suivant présente une comparaison des encodeurs d'image basés sur ViT : + +| Encodeur d'Image | SAM d'Origine | MobileSAM | +|------------------|---------------|-----------| +| Paramètres | 611M | 5M | +| Vitesse | 452 ms | 8 ms | + +SAM d'origine et MobileSAM utilisent tous deux le même décodeur de masque basé sur une instruction : + +| Décodeur de Masque | SAM d'Origine | MobileSAM | +|--------------------|---------------|-----------| +| Paramètres | 3.876M | 3.876M | +| Vitesse | 4 ms | 4 ms | + +Voici une comparaison du pipeline complet : + +| Pipeline Complet (Enc+Dec) | SAM d'Origine | MobileSAM | +|----------------------------|---------------|-----------| +| Paramètres | 615M | 9.66M | +| Vitesse | 456 ms | 12 ms | + +Les performances de MobileSAM et de SAM d'origine sont démontrées en utilisant à la fois un point et une boîte comme instructions. + +![Image avec un Point comme Instruction](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![Image avec une Boîte comme Instruction](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +Avec ses performances supérieures, MobileSAM est environ 5 fois plus petit et 7 fois plus rapide que FastSAM actuel. Plus de détails sont disponibles sur la [page du projet MobileSAM](https://github.com/ChaoningZhang/MobileSAM). + +## Test de MobileSAM dans Ultralytics + +Tout comme SAM d'origine, nous proposons une méthode de test simple dans Ultralytics, comprenant des modes pour les instructions Point et Boîte. + +### Téléchargement du modèle + +Vous pouvez télécharger le modèle [ici](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt). + +### Instruction Point + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics import SAM + + # Chargement du modèle + model = SAM('mobile_sam.pt') + + # Prédiction d'un segment à partir d'une instruction Point + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### Instruction Boîte + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics import SAM + + # Chargement du modèle + model = SAM('mobile_sam.pt') + + # Prédiction d'un segment à partir d'une instruction Boîte + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +Nous avons mis en œuvre `MobileSAM` et `SAM` en utilisant la même API. Pour plus d'informations sur l'utilisation, veuillez consulter la [page SAM](sam.md). + +## Citations et Remerciements + +Si vous trouvez MobileSAM utile dans vos travaux de recherche ou de développement, veuillez envisager de citer notre document : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/fr/models/rtdetr.md b/docs/fr/models/rtdetr.md new file mode 100644 index 00000000000..13439be5a16 --- /dev/null +++ b/docs/fr/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: Découvrez les fonctionnalités et les avantages de RT-DETR de Baidu, un détecteur d'objets en temps réel efficace et adaptable grâce aux Vision Transformers, incluant des modèles pré-entraînés. +keywords: RT-DETR, Baidu, Vision Transformers, détection d'objets, performance en temps réel, CUDA, TensorRT, sélection de requêtes informée par IoU, Ultralytics, API Python, PaddlePaddle +--- + +# RT-DETR de Baidu : un détecteur d'objets en temps réel basé sur les Vision Transformers + +## Présentation + +Le Real-Time Detection Transformer (RT-DETR), développé par Baidu, est un détecteur d'objets de pointe de bout en bout qui offre des performances en temps réel tout en maintenant une grande précision. Il exploite la puissance des Vision Transformers (ViT) pour traiter efficacement les caractéristiques multiscalaires en dissociant l'interaction intra-échelle et la fusion inter-échelles. RT-DETR est hautement adaptable, permettant un ajustement flexible de la vitesse d'inférence en utilisant différentes couches de décodeur sans nécessiter de nouvelle formation. Le modèle est performant sur des infrastructures accélérées telles que CUDA avec TensorRT, surpassant de nombreux autres détecteurs d'objets en temps réel. + +![Exemple d'image du modèle](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Vue d'ensemble du RT-DETR de Baidu.** Le diagramme d'architecture du modèle RT-DETR montre les trois dernières étapes du réseau {S3, S4, S5} comme entrée de l'encodeur. L'encodeur hybride efficace transforme les caractéristiques multiscalaires en une séquence de caractéristiques d'image grâce à l'interaction à l'intérieur de l'échelle (AIFI - *Adeptation of Intra-scale Feature Interaction*) et au module de fusion inter-échelles (CCFM - *Cross-scale Context-aware Feature Fusion Module*). La sélection de requêtes informée par IoU est utilisée pour sélectionner un nombre fixe de caractéristiques d'image pour servir de requêtes d'objets initiales pour le décodeur. Enfin, le décodeur avec des têtes de prédictions auxiliaires optimise de manière itérative les requêtes d'objets pour générer des boîtes et des scores de confiance ([source](https://arxiv.org/pdf/2304.08069.pdf)). + +### Fonctionnalités principales + +- **Encodeur hybride efficace :** RT-DETR de Baidu utilise un encodeur hybride efficace qui traite les caractéristiques multiscalaires en dissociant l'interaction intra-échelle et la fusion inter-échelles. Cette conception unique basée sur les Vision Transformers réduit les coûts de calcul et permet une détection d'objets en temps réel. +- **Sélection de requêtes informée par IoU :** RT-DETR de Baidu améliore l'initialisation des requêtes d'objets en utilisant une sélection de requêtes informée par IoU. Cela permet au modèle de se concentrer sur les objets les plus pertinents de la scène, améliorant ainsi la précision de la détection. +- **Vitesse d'inférence adaptable :** RT-DETR de Baidu prend en charge des ajustements flexibles de la vitesse d'inférence en utilisant différentes couches de décodeur sans nécessiter de nouvelle formation. Cette adaptabilité facilite l'application pratique dans différents scénarios de détection d'objets en temps réel. + +## Modèles pré-entraînés + +L'API Python Ultralytics fournit des modèles pré-entraînés RT-DETR de PaddlePaddle avec différentes échelles : + +- RT-DETR-L : 53,0 % de précision moyenne (AP) sur COCO val2017, 114 images par seconde (FPS) sur GPU T4 +- RT-DETR-X : 54,8 % de précision moyenne (AP) sur COCO val2017, 74 images par seconde (FPS) sur GPU T4 + +## Exemples d'utilisation + +Cet exemple présente des exemples simples d'entraînement et d'inférence avec RT-DETRR. Pour une documentation complète sur ceux-ci et d'autres [modes](../modes/index.md), consultez les pages de documentation [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) et [Export](../modes/export.md). + +!!! Example "Exemple" + + === "Python" + + ```python + from ultralytics import RTDETR + + # Charger un modèle RT-DETR-l pré-entraîné sur COCO + model = RTDETR('rtdetr-l.pt') + + # Afficher des informations sur le modèle (facultatif) + model.info() + + # Entraîner le modèle sur l'ensemble de données d'exemple COCO8 pendant 100 époques + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Effectuer une inférence avec le modèle RT-DETR-l sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # Charger un modèle RT-DETR-l pré-entraîné sur COCO et l'entraîner sur l'ensemble de données d'exemple COCO8 pendant 100 époques + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # Charger un modèle RT-DETR-l pré-entraîné sur COCO et effectuer une inférence sur l'image 'bus.jpg' + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## Tâches et modes pris en charge + +Ce tableau présente les types de modèles, les poids pré-entraînés spécifiques, les tâches prises en charge par chaque modèle et les différents modes ([Train](../modes/train.md), [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)) pris en charge, indiqués par des emojis ✅. + +| Type de modèle | Poids pré-entraînés | Tâches prises en charge | Inférence | Validation | Entraînement | Export | +|---------------------|---------------------|------------------------------------------|-----------|------------|--------------|--------| +| RT-DETR Large | `rtdetr-l.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## Citations et Remerciements + +Si vous utilisez RT-DETR de Baidu dans votre travail de recherche ou de développement, veuillez citer l'[article original](https://arxiv.org/abs/2304.08069) : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Nous tenons à remercier Baidu et l'équipe [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) pour la création et la maintenance de cette précieuse ressource pour la communauté de la vision par ordinateur. Leur contribution au domaine avec le développement du détecteur d'objets en temps réel basé sur les Vision Transformers, RT-DETR, est grandement appréciée. + +*keywords: RT-DETR, Transformer, ViT, Vision Transformers, RT-DETR de Baidu, PaddlePaddle, Modèles PaddlePaddle RT-DETR pré-entraînés, utilisation de RT-DETR de Baidu, API Python Ultralytics, détection d'objets en temps réel* diff --git a/docs/fr/models/sam.md b/docs/fr/models/sam.md new file mode 100644 index 00000000000..8c6783a4b89 --- /dev/null +++ b/docs/fr/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Découvrez le modèle Segment Anything (SAM) de pointe d'Ultralytics permettant la segmentation d'images en temps réel. Apprenez-en davantage sur sa segmentation promptable, ses performances hors échantillon et comment l'utiliser. +keywords: Ultralytics, segmentation d'image, Segment Anything Model, SAM, SA-1B dataset, performances en temps réel, transfert hors échantillon, détection d'objets, analyse d'images, apprentissage automatique +--- + +# Segment Anything Model (SAM) + +Bienvenue à la pointe de la segmentation d'image avec le modèle Segment Anything, ou SAM. Ce modèle révolutionnaire a changé la donne en introduisant la segmentation d'image promptable avec des performances en temps réel, établissant de nouvelles normes dans le domaine. + +## Introduction à SAM : Le modèle Segment Anything + +Le modèle Segment Anything, ou SAM, est un modèle de segmentation d'image de pointe qui permet une segmentation promptable, offrant une polyvalence inégalée dans les tâches d'analyse d'image. SAM forme le cœur de l'initiative Segment Anything, un projet innovant qui introduit un modèle, une tâche et un jeu de données novateurs pour la segmentation d'images. + +La conception avancée de SAM lui permet de s'adapter à de nouvelles distributions et tâches d'images sans connaissance préalable, une fonctionnalité connue sous le nom de transfert hors échantillon. Entraîné sur le vaste ensemble de données [SA-1B](https://ai.facebook.com/datasets/segment-anything/), qui contient plus d'un milliard de masques répartis sur 11 millions d'images soigneusement sélectionnées, SAM a affiché des performances hors échantillon impressionnantes, dépassant les résultats entièrement supervisés précédents dans de nombreux cas. + +![Image d'échantillon de jeu de données](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +Exemple d'images avec des masques superposés provenant de notre nouveau jeu de données, SA-1B. SA-1B contient 11 millions d'images diverses, haute résolution, autorisées et protégeant la vie privée, ainsi que 1,1 milliard de masques de segmentation de haute qualité. Ces masques ont été annotés entièrement automatiquement par SAM, et comme le confirment des évaluations humaines et de nombreux tests, leur qualité et leur diversité sont élevées. Les images sont regroupées par nombre de masques par image pour la visualisation (il y a environ 100 masques par image en moyenne). + +## Caractéristiques clés du modèle Segment Anything (SAM) + +- **Tâche de segmentation promptable :** SAM a été conçu en gardant à l'esprit une tâche de segmentation promptable, ce qui lui permet de générer des masques de segmentation valides à partir de n'importe quelle indication donnée, telle que des indices spatiaux ou des indices textuels identifiant un objet. +- **Architecture avancée :** Le modèle Segment Anything utilise un puissant encodeur d'images, un encodeur de prompt et un décodeur de masques léger. Cette architecture unique permet une invitation flexible, un calcul de masques en temps réel et une prise en compte de l'ambiguïté dans les tâches de segmentation. +- **Le jeu de données SA-1B :** Introduit par le projet Segment Anything, le jeu de données SA-1B comprend plus d'un milliard de masques sur 11 millions d'images. En tant que plus grand jeu de données de segmentation à ce jour, il offre à SAM une source de données d'entraînement diversifiée et à grande échelle. +- **Performances hors échantillon :** SAM affiche des performances hors échantillon exceptionnelles dans diverses tâches de segmentation, ce qui en fait un outil prêt à l'emploi pour des applications diverses nécessitant un minimum d'ingénierie de prompt. + +Pour une analyse approfondie du modèle Segment Anything et du jeu de données SA-1B, veuillez visiter le [site web Segment Anything](https://segment-anything.com) et consulter l'article de recherche [Segment Anything](https://arxiv.org/abs/2304.02643). + +## Modèles disponibles, tâches prises en charge et modes d'exploitation + +Ce tableau présente les modèles disponibles avec leurs poids pré-entraînés spécifiques, les tâches qu'ils prennent en charge et leur compatibilité avec différents modes d'exploitation tels que [Inférence](../modes/predict.md), [Validation](../modes/val.md), [Entraînement](../modes/train.md) et [Exportation](../modes/export.md), indiqués par des emojis ✅ pour les modes pris en charge et des emojis ❌ pour les modes non pris en charge. + +| Type de modèle | Poids pré-entraînés | Tâches prises en charge | Inférence | Validation | Entraînement | Exportation | +|----------------|---------------------|------------------------------------------------|-----------|------------|--------------|-------------| +| SAM de base | `sam_b.pt` | [Segmentation d'instance](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Segmentation d'instance](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Comment utiliser SAM : Polyvalence et puissance dans la segmentation d'images + +Le modèle Segment Anything peut être utilisé pour une multitude de tâches secondaires qui vont au-delà de ses données d'entraînement. Cela comprend la détection des contours, la génération de propositions d'objets, la segmentation d'instances et la prédiction préliminaire texte-à-masque. Grâce à l'ingénierie de prompts, SAM peut s'adapter rapidement à de nouvelles tâches et distributions de données de manière sans apprentissage, ce qui en fait un outil polyvalent et puissant pour tous vos besoins en matière de segmentation d'images. + +### Exemple de prédiction SAM + +!!! Example "Segmentation avec des prompts" + + Segmenter l'image avec des prompts donnés. + + === "Python" + + ```python + from ultralytics import SAM + + # Charger un modèle + model = SAM('sam_b.pt') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Exécuter l'inférence avec un prompt de zones de délimitation + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # Exécuter l'inférence avec un prompt de points + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "Segmenter tout" + + Segmenter toute l'image. + + === "Python" + + ```python + from ultralytics import SAM + + # Charger un modèle + model = SAM('sam_b.pt') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Exécuter l'inférence + model('path/to/image.jpg') + ``` + + === "CLI" + + ```bash + # Exécuter l'inférence avec un modèle SAM + yolo predict model=sam_b.pt source=path/to/image.jpg + ``` + +- La logique ici est de segmenter toute l'image si vous ne passez aucun prompt (bboxes/points/masks). + +!!! Example "Exemple SAMPredictor" + + De cette manière, vous pouvez définir l'image une fois et exécuter l'inférence des prompts plusieurs fois sans exécuter l'encodeur d'image plusieurs fois. + + === "Inférence avec des prompts" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Créer un SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Définir l'image + predictor.set_image("ultralytics/assets/zidane.jpg") # définir avec un fichier image + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # définir avec np.ndarray + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # Réinitialiser l'image + predictor.reset_image() + ``` + + Segmenter toute l'image avec des arguments supplémentaires. + + === "Segmenter tout" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Créer un SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Segmenter avec des arguments supplémentaires + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- Plus d'arguments supplémentaires pour `Segmenter tout` voir la référence [`Predictor/generate`](../../reference/models/sam/predict.md). + +## Comparaison de SAM avec YOLOv8 + +Nous comparons ici le plus petit modèle SAM de Meta, SAM-b, avec le plus petit modèle de segmentation d'Ultralytics, [YOLOv8n-seg](../tasks/segment.md) : + +| Modèle | Taille | Paramètres | Vitesse (CPU) | +|--------------------------------------------------------------|-----------------------------------|-----------------------------|-------------------------------------| +| SAM-b - Meta's SAM-b | 358 Mo | 94,7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40,7 Mo | 10,1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) with YOLOv8 backbone | 23,7 Mo | 11,8 M | 115 ms/im | +| YOLOv8n-seg - Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6,7 Mo** (53,4 fois plus petit) | **3,4 M** (27,9 fois moins) | **59 ms/im** (866 fois plus rapide) | + +Cette comparaison montre les différences d'ordre de grandeur dans les tailles et les vitesses des modèles. Alors que SAM présente des fonctionnalités uniques pour la segmentation automatique, il ne rivalise pas directement avec les modèles de segmentation YOLOv8, qui sont plus petits, plus rapides et plus efficaces. + +Tests effectués sur un MacBook Apple M2 de 2023 avec 16 Go de RAM. Pour reproduire ce test : + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # Profiler SAM-b + modèle = SAM('sam_b.pt') + modèle.info() + modèle('ultralytics/assets') + + # Profiler MobileSAM + modèle = SAM('mobile_sam.pt') + modèle.info() + modèle('ultralytics/assets') + + # Profiler FastSAM-s + modèle = FastSAM('FastSAM-s.pt') + modèle.info() + modèle('ultralytics/assets') + + # Profiler YOLOv8n-seg + modèle = YOLO('yolov8n-seg.pt') + modèle.info() + modèle('ultralytics/assets') + ``` + +## Annotation automatique : Un moyen rapide d'obtenir des jeux de données de segmentation + +L'annotation automatique est une fonctionnalité clé de SAM, permettant aux utilisateurs de générer un [jeu de données de segmentation](https://docs.ultralytics.com/datasets/segment) à l'aide d'un modèle de détection pré-entraîné. Cette fonctionnalité permet une annotation rapide et précise d'un grand nombre d'images, en contournant la nécessité d'une annotation manuelle chronophage. + +### Générez votre jeu de données de segmentation à l'aide d'un modèle de détection + +Pour annoter automatiquement votre jeu de données avec le framework Ultralytics, utilisez la fonction `auto_annotate` comme indiqué ci-dessous : + +!!! Example "Exemple" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| Argument | Type | Description | Default | +|------------|----------------------|------------------------------------------------------------------------------------------------------------------------|--------------| +| data | str | Chemin d'accès à un dossier contenant les images à annoter. | | +| det_model | str, optionnel | Modèle de détection pré-entraîné YOLO. Par défaut, 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | str, optionnel | Modèle de segmentation pré-entraîné SAM. Par défaut, 'sam_b.pt'. | 'sam_b.pt' | +| device | str, optionnel | Appareil sur lequel exécuter les modèles. Par défaut, une chaîne vide (CPU ou GPU, si disponible). | | +| output_dir | str, None, optionnel | Répertoire pour enregistrer les résultats annotés. Par défaut, un dossier 'labels' dans le même répertoire que 'data'. | None | + +La fonction `auto_annotate` prend en compte le chemin de vos images, avec des arguments optionnels pour spécifier les modèles de détection et de segmentation SAM pré-entraînés, l'appareil sur lequel exécuter les modèles et le répertoire de sortie pour enregistrer les résultats annotés. + +L'annotation automatique avec des modèles pré-entraînés peut réduire considérablement le temps et les efforts nécessaires pour créer des jeux de données de segmentation de haute qualité. Cette fonctionnalité est particulièrement bénéfique pour les chercheurs et les développeurs travaillant avec de grandes collections d'images, car elle leur permet de se concentrer sur le développement et l'évaluation des modèles plutôt que sur l'annotation manuelle. + +## Citations et remerciements + +Si vous trouvez SAM utile dans vos travaux de recherche ou de développement, veuillez envisager de citer notre article : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Nous tenons à exprimer notre gratitude à Meta AI pour la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur. + +*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, segmentation d'image, segmentation promptable, performances hors échantillon, jeu de données SA-1B, architecture avancée, annotation automatique, Ultralytics, modèles pré-entraînés, SAM de base, SAM large, segmentation d'instance, vision par ordinateur, IA, intelligence artificielle, apprentissage automatique, annotation de données, masques de segmentation, modèle de détection, modèle de détection YOLO, bibtex, Meta AI.* diff --git a/docs/fr/models/yolo-nas.md b/docs/fr/models/yolo-nas.md new file mode 100644 index 00000000000..e1165ec3904 --- /dev/null +++ b/docs/fr/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: Découvrez une documentation détaillée sur YOLO-NAS, un modèle de détection d'objets supérieur. Apprenez-en davantage sur ses fonctionnalités, les modèles pré-entraînés, son utilisation avec l'API Python d'Ultralytics, et bien plus encore. +keywords: YOLO-NAS, Deci AI, détection d'objets, apprentissage profond, recherche architecturale neuronale, API Python d'Ultralytics, modèle YOLO, modèles pré-entraînés, quantification, optimisation, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## Aperçu + +Développé par Deci AI, YOLO-NAS est un modèle de détection d'objets révolutionnaire. Il est le fruit d'une technologie avancée de recherche architecturale neuronale, minutieusement conçu pour pallier les limitations des précédents modèles YOLO. Avec des améliorations significatives en matière de prise en charge de la quantification et de compromis entre précision et latence, YOLO-NAS représente une avancée majeure en matière de détection d'objets. + +![Exemple de modèle](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**Aperçu de YOLO-NAS**. YOLO-NAS utilise des blocs adaptés à la quantification et une quantification sélective pour des performances optimales. Le modèle, une fois converti en version quantifiée INT8, présente une baisse de précision minimale, ce qui constitue une amélioration significative par rapport aux autres modèles. Ces avancées aboutissent à une architecture supérieure offrant des capacités de détection d'objets inégalées et des performances exceptionnelles. + +### Fonctionnalités clés + +- **Bloc de base compatible avec la quantification:** YOLO-NAS introduit un nouveau bloc de base adapté à la quantification, ce qui permet de pallier l'une des principales limitations des précédents modèles YOLO. +- **Entraînement sophistiqué et quantification:** YOLO-NAS utilise des schémas d'entraînement avancés et une quantification après l'entraînement pour améliorer les performances. +- **Optimisation AutoNAC et pré-entraînement:** YOLO-NAS utilise l'optimisation AutoNAC et est pré-entraîné sur des ensembles de données renommés tels que COCO, Objects365 et Roboflow 100. Ce pré-entraînement le rend extrêmement adapté aux tâches de détection d'objets ultérieures dans des environnements de production. + +## Modèles pré-entraînés + +Découvrez la puissance de la détection d'objets de nouvelle génération avec les modèles YOLO-NAS pré-entraînés fournis par Ultralytics. Ces modèles sont conçus pour offrir des performances exceptionnelles en termes de vitesse et de précision. Choisissez parmi une variété d'options adaptées à vos besoins spécifiques : + +| Modèle | mAP | Latence (ms) | +|------------------|-------|--------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +Chaque variante de modèle est conçue pour offrir un équilibre entre la précision moyenne (mAP) et la latence, vous permettant ainsi d'optimiser vos tâches de détection d'objets en termes de performance et de vitesse. + +## Exemples d'utilisation + +Ultralytics a rendu les modèles YOLO-NAS faciles à intégrer dans vos applications Python grâce à notre package Python `ultralytics`. Le package fournit une interface conviviale pour simplifier le processus. + +Les exemples suivants montrent comment utiliser les modèles YOLO-NAS avec le package `ultralytics` pour l'inférence et la validation : + +### Exemples d'inférence et de validation + +Dans cet exemple, nous validons YOLO-NAS-s sur l'ensemble de données COCO8. + +!!! Example "Exemple" + + Cet exemple fournit un code simple pour l'inférence et la validation de YOLO-NAS. Pour gérer les résultats de l'inférence, consultez le mode [Predict](../modes/predict.md). Pour utiliser YOLO-NAS avec des modes supplémentaires, consultez [Val](../modes/val.md) et [Export](../modes/export.md). L'entraînement n'est pas pris en charge pour YOLO-NAS avec le package `ultralytics`. + + === "Python" + + Il est possible de passer des modèles pré-entraînés `*.pt` de PyTorch à la classe `NAS()` pour créer une instance de modèle en Python : + + ```python + from ultralytics import NAS + + # Charger un modèle YOLO-NAS-s pré-entraîné sur COCO + model = NAS('yolo_nas_s.pt') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Valider le modèle sur l'ensemble de données COCO8 + results = model.val(data='coco8.yaml') + + # Effectuer une inférence avec le modèle YOLO-NAS-s sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Des commandes CLI sont disponibles pour exécuter directement les modèles : + + ```bash + # Charger un modèle YOLO-NAS-s pré-entraîné sur COCO et valider ses performances sur l'ensemble de données COCO8 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # Charger un modèle YOLO-NAS-s pré-entraîné sur COCO et effectuer une inférence sur l'image 'bus.jpg' + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## Tâches et modes pris en charge + +Nous proposons trois variantes des modèles YOLO-NAS : Small (s), Medium (m) et Large (l). Chaque variante est conçue pour répondre à des besoins computationnels et de performances différents : + +- **YOLO-NAS-s** : Optimisé pour les environnements où les ressources computationnelles sont limitées mais l'efficacité est primordiale. +- **YOLO-NAS-m** : Offre une approche équilibrée, adaptée à la détection d'objets polyvalente avec une précision accrue. +- **YOLO-NAS-l** : Adapté aux scénarios nécessitant la plus haute précision, où les ressources computationnelles sont moins contraignantes. + +Voici un aperçu détaillé de chaque modèle, comprenant des liens vers leurs poids pré-entraînés, les tâches qu'ils prennent en charge et leur compatibilité avec différents modes opérationnels. + +| Type de modèle | Poids pré-entraînés | Tâches prises en charge | Inférence | Validation | Entraînement | Export | +|----------------|-----------------------------------------------------------------------------------------------|------------------------------------------|-----------|------------|--------------|--------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## Citations et remerciements + +Si vous utilisez YOLO-NAS dans vos travaux de recherche ou de développement, veuillez citer SuperGradients : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Nous exprimons notre gratitude à l'équipe [Super-Gradients](https://github.com/Deci-AI/super-gradients/) de Deci AI pour ses efforts dans la création et la maintenance de cette précieuse ressource pour la communauté de la vision par ordinateur. Nous sommes convaincus que YOLO-NAS, avec son architecture innovante et ses capacités de détection d'objets supérieures, deviendra un outil essentiel pour les développeurs et les chercheurs. + +*keywords: YOLO-NAS, Deci AI, détection d'objets, apprentissage profond, recherche architecturale neuronale, API Python d'Ultralytics, modèle YOLO, SuperGradients, modèles pré-entraînés, bloc de base compatible avec la quantification, schémas d'entraînement avancés, quantification après l'entraînement, optimisation AutoNAC, COCO, Objects365, Roboflow 100* diff --git a/docs/fr/models/yolov3.md b/docs/fr/models/yolov3.md new file mode 100644 index 00000000000..ca17b1df734 --- /dev/null +++ b/docs/fr/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: Obtenez un aperçu des modèles YOLOv3, YOLOv3-Ultralytics et YOLOv3u. Apprenez-en davantage sur leurs fonctionnalités clés, leur utilisation et les tâches prises en charge pour la détection d'objets. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Détection d'objets, Inférence, Entraînement, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics et YOLOv3u + +## Aperçu + +Ce document présente un aperçu de trois modèles de détection d'objets étroitement liés, à savoir [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) et [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3**: Il s'agit de la troisième version de l'algorithme de détection d'objets You Only Look Once (YOLO). Initiée par Joseph Redmon, YOLOv3 a amélioré ses prédécesseurs en introduisant des fonctionnalités telles que des prédictions à plusieurs échelles et trois tailles différentes de noyaux de détection. + +2. **YOLOv3-Ultralytics**: Il s'agit de l'implémentation par Ultralytics du modèle YOLOv3. Il reproduit l'architecture d'origine de YOLOv3 et offre des fonctionnalités supplémentaires, telles que la prise en charge de plusieurs modèles pré-entraînés et des options de personnalisation plus faciles. + +3. **YOLOv3u**: Il s'agit d'une version mise à jour de YOLOv3-Ultralytics qui intègre la nouvelle tête de détection sans ancrage et sans objectivité utilisée dans les modèles YOLOv8. YOLOv3u conserve la même architecture de base et de cou de YOLOv3, mais avec la nouvelle tête de détection de YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## Caractéristiques clés + +- **YOLOv3**: A introduit l'utilisation de trois échelles différentes pour la détection, en tirant parti de trois tailles différentes de noyaux de détection : 13x13, 26x26 et 52x52. Cela a considérablement amélioré la précision de la détection pour les objets de différentes tailles. De plus, YOLOv3 a ajouté des fonctionnalités telles que des prédictions multi-étiquettes pour chaque boîte englobante et un meilleur réseau d'extraction de caractéristiques. + +- **YOLOv3-Ultralytics**: L'implémentation d'Ultralytics de YOLOv3 offre les mêmes performances que le modèle d'origine, mais propose également un support supplémentaire pour plus de modèles pré-entraînés, des méthodes d'entraînement supplémentaires et des options de personnalisation plus faciles. Cela le rend plus polyvalent et convivial pour les applications pratiques. + +- **YOLOv3u**: Ce modèle mis à jour intègre la nouvelle tête de détection sans ancrage et sans objectivité de YOLOv8. En éliminant le besoin de boîtes d'ancrage prédéfinies et de scores d'objectivité, cette conception de tête de détection peut améliorer la capacité du modèle à détecter des objets de différentes tailles et formes. Cela rend YOLOv3u plus robuste et précis pour les tâches de détection d'objets. + +## Tâches et modes pris en charge + +Les modèles de la série YOLOv3, notamment YOLOv3, YOLOv3-Ultralytics et YOLOv3u, sont spécialement conçus pour les tâches de détection d'objets. Ces modèles sont réputés pour leur efficacité dans divers scénarios réels, alliant précision et rapidité. Chaque variante propose des fonctionnalités et des optimisations uniques, les rendant adaptés à une gamme d'applications. + +Les trois modèles prennent en charge un ensemble complet de modes, garantissant ainsi leur polyvalence à différentes étapes du déploiement et du développement du modèle. Ces modes comprennent [Inférence](../modes/predict.md), [Validation](../modes/val.md), [Entraînement](../modes/train.md) et [Export](../modes/export.md), offrant aux utilisateurs un ensemble complet d'outils pour une détection d'objets efficace. + +| Type de modèle | Tâches prises en charge | Inférence | Validation | Entraînement | Export | +|--------------------|------------------------------------------|-----------|------------|--------------|--------| +| YOLOv3 | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Ce tableau offre un aperçu rapide des capacités de chaque variante de YOLOv3, mettant en évidence leur polyvalence et leur pertinence pour diverses tâches et modes opérationnels dans les flux de travail de détection d'objets. + +## Exemples d'utilisation + +Cet exemple présente des exemples simples d'entraînement et d'inférence de YOLOv3. Pour une documentation complète sur ces exemples et d'autres [modes](../modes/index.md), consultez les pages de documentation sur [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) et [Export](../modes/export.md). + +!!! Example "Exemple" + + === "Python" + + Les modèles pré-entraînés PyTorch `*.pt`, ainsi que les fichiers de configuration `*.yaml`, peuvent être transmis à la classe `YOLO()` pour créer une instance de modèle en Python : + + ```python + from ultralytics import YOLO + + # Charger un modèle YOLOv3n pré-entraîné avec COCO + model = YOLO('yolov3n.pt') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Entraîner le modèle sur l'ensemble de données d'exemple COCO8 pendant 100 époques + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Exécuter l'inférence avec le modèle YOLOv3n sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Des commandes CLI sont disponibles pour exécuter directement les modèles : + + ```bash + # Charger un modèle YOLOv3n pré-entraîné avec COCO et l'entraîner sur l'ensemble de données d'exemple COCO8 pendant 100 époques + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Charger un modèle YOLOv3n pré-entraîné avec COCO et exécuter l'inférence sur l'image 'bus.jpg' + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## Citations et remerciements + +Si vous utilisez YOLOv3 dans le cadre de vos recherches, veuillez citer les articles originaux sur YOLO et le référentiel YOLOv3 d'Ultralytics : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Merci à Joseph Redmon et Ali Farhadi pour le développement du YOLOv3 original. diff --git a/docs/fr/models/yolov4.md b/docs/fr/models/yolov4.md new file mode 100644 index 00000000000..1c44964fe29 --- /dev/null +++ b/docs/fr/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: Découvrez notre guide détaillé sur YOLOv4, un détecteur d'objets en temps réel de pointe. Comprenez ses points forts architecturaux, ses fonctionnalités innovantes et des exemples d'application. +keywords: ultralytics, YOLOv4, détection d'objets, réseau neuronal, détection en temps réel, détecteur d'objets, apprentissage automatique +--- + +# YOLOv4: Détection d'Objets Rapide et Précise + +Bienvenue sur la page de documentation d'Ultralytics pour YOLOv4, un détecteur d'objets en temps réel de pointe lancé en 2020 par Alexey Bochkovskiy sur [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). YOLOv4 est conçu pour offrir un équilibre optimal entre vitesse et précision, en en faisant un excellent choix pour de nombreuses applications. + +![Schéma d'architecture de YOLOv4](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**Schéma d'architecture de YOLOv4**. Présentant la conception détaillée du réseau de YOLOv4, comprenant les composants backbone, neck et head, ainsi que leurs couches interconnectées pour une détection d'objets en temps réel optimale. + +## Introduction + +YOLOv4 signifie You Only Look Once version 4. Il s'agit d'un modèle de détection d'objets en temps réel développé pour remédier aux limitations des versions précédentes de YOLO comme [YOLOv3](yolov3.md) et d'autres modèles de détection d'objets. Contrairement à d'autres détecteurs d'objets basés sur des réseaux neuronaux convolutifs (CNN), YOLOv4 n'est pas seulement applicable aux systèmes de recommandation, mais aussi à la gestion de processus autonomes et à la réduction de l'entrée humaine. Son utilisation sur des unités de traitement graphique (GPU) conventionnelles permet une utilisation massive à un prix abordable, et il est conçu pour fonctionner en temps réel sur un GPU conventionnel tout en ne nécessitant qu'un seul de ces GPU pour l'entraînement. + +## Architecture + +YOLOv4 utilise plusieurs fonctionnalités innovantes qui travaillent ensemble pour optimiser ses performances. Celles-ci incluent les connexions résiduelles pondérées (WRC), les connexions partielles à travers les étapes (CSP), la normalisation mini-batch traversée (CmBN), l'entraînement auto-antagoniste (SAT), l'activation Mish, l'augmentation des données en mosaïque, la régularisation DropBlock et la perte CIoU. Ces fonctionnalités sont combinées pour obtenir des résultats de pointe. + +Un détecteur d'objets typique est composé de plusieurs parties, notamment l'entrée, le backbone, le neck et le head. Le backbone de YOLOv4 est pré-entraîné sur ImageNet et est utilisé pour prédire les classes et les boîtes englobantes des objets. Le backbone peut provenir de plusieurs modèles, notamment VGG, ResNet, ResNeXt ou DenseNet. La partie "neck" du détecteur est utilisée pour collecter des cartes de caractéristiques à partir de différentes étapes et comprend généralement plusieurs chemins "bottom-up" et plusieurs chemins "top-down". La partie "head" est ce qui est utilisé pour faire les détections et classifications finales des objets. + +## Ensemble de Bonus + +YOLOv4 utilise également des méthodes appelées "ensemble de bonus", qui sont des techniques permettant d'améliorer la précision du modèle lors de l'entraînement sans augmenter le coût de l'inférence. L'augmentation de données est une technique commune de l'ensemble de bonus utilisée dans la détection d'objets, qui augmente la variabilité des images d'entrée pour améliorer la robustesse du modèle. Quelques exemples d'augmentation de données incluent les distorsions photométriques (ajustement de la luminosité, du contraste, de la teinte, de la saturation et du bruit d'une image) et les distorsions géométriques (ajout d'échelle aléatoire, de recadrage, de retournement et de rotation). Ces techniques aident le modèle à mieux généraliser à différents types d'images. + +## Fonctionnalités et Performances + +YOLOv4 est conçu pour une vitesse et une précision optimales dans la détection d'objets. L'architecture de YOLOv4 comprend CSPDarknet53 en tant que backbone, PANet en tant que neck et YOLOv3 en tant que detection head. Ce design permet à YOLOv4 de réaliser une détection d'objets à une vitesse impressionnante, ce qui le rend adapté aux applications en temps réel. YOLOv4 excelle également en précision, atteignant des résultats de pointe dans les benchmarks de détection d'objets. + +## Exemples d'Utilisation + +Au moment de la rédaction de ce document, Ultralytics ne prend pas en charge les modèles YOLOv4. Par conséquent, les utilisateurs intéressés par l'utilisation de YOLOv4 devront consulter directement le référentiel GitHub de YOLOv4 pour les instructions d'installation et d'utilisation. + +Voici un bref aperçu des étapes typiques que vous pourriez suivre pour utiliser YOLOv4 : + +1. Rendez-vous sur le référentiel GitHub de YOLOv4 : [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. Suivez les instructions fournies dans le fichier README pour l'installation. Cela implique généralement de cloner le référentiel, d'installer les dépendances nécessaires et de configurer les variables d'environnement nécessaires. + +3. Une fois l'installation terminée, vous pouvez entraîner et utiliser le modèle selon les instructions d'utilisation fournies dans le référentiel. Cela implique généralement la préparation de votre ensemble de données, la configuration des paramètres du modèle, l'entraînement du modèle, puis l'utilisation du modèle entraîné pour effectuer la détection d'objets. + +Veuillez noter que les étapes spécifiques peuvent varier en fonction de votre cas d'utilisation spécifique et de l'état actuel du référentiel YOLOv4. Il est donc fortement recommandé de se référer directement aux instructions fournies dans le référentiel GitHub de YOLOv4. + +Nous regrettons tout inconvénient que cela pourrait causer et nous nous efforcerons de mettre à jour ce document avec des exemples d'utilisation pour Ultralytics une fois que le support de YOLOv4 sera implémenté. + +## Conclusion + +YOLOv4 est un modèle de détection d'objets puissant et efficace qui concilie vitesse et précision. Son utilisation de fonctionnalités uniques et de techniques "ensemble de bonus" lors de l'entraînement lui permet de réaliser d'excellentes performances dans les tâches de détection d'objets en temps réel. YOLOv4 peut être entraîné et utilisé par n'importe qui disposant d'un GPU conventionnel, le rendant accessible et pratique pour un large éventail d'applications. + +## Citations et Remerciements + +Nous tenons à remercier les auteurs de YOLOv4 pour leurs contributions importantes dans le domaine de la détection d'objets en temps réel : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +L'article original de YOLOv4 peut être consulté sur [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Les auteurs ont rendu leur travail accessible au public, et le code source peut être consulté sur [GitHub](https://github.com/AlexeyAB/darknet). Nous apprécions leurs efforts pour faire progresser le domaine et rendre leur travail accessible à la communauté élargie. diff --git a/docs/fr/models/yolov5.md b/docs/fr/models/yolov5.md new file mode 100644 index 00000000000..885c70e91b7 --- /dev/null +++ b/docs/fr/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: Découvrez YOLOv5u, une version améliorée du modèle YOLOv5 offrant un meilleur compromis entre précision et vitesse, ainsi que de nombreux modèles pré-entraînés pour diverses tâches de détection d'objets. +keywords: YOLOv5u, détection d'objets, modèles pré-entraînés, Ultralytics, inférence, validation, YOLOv5, YOLOv8, sans ancre, sans objectivité, applications temps réel, apprentissage automatique +--- + +# YOLOv5 + +## Présentation + +YOLOv5u représente une avancée dans les méthodologies de détection d'objets. Originaire de l'architecture fondamentale du modèle [YOLOv5](https://github.com/ultralytics/yolov5) développé par Ultralytics, YOLOv5u intègre la division sans ancre et sans objectivité, une fonctionnalité précédemment introduite dans les modèles [YOLOv8](yolov8.md). Cette adaptation affine l'architecture du modèle, ce qui conduit à un meilleur compromis entre précision et vitesse dans les tâches de détection d'objets. Compte tenu des résultats empiriques et des fonctionnalités dérivées, YOLOv5u offre une alternative efficace pour ceux qui recherchent des solutions robustes à la fois pour la recherche et les applications pratiques. + +![YOLOv5 Ultralytics](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## Principales fonctionnalités + +- **Division sans ancre Ultralytics :** Les modèles de détection d'objets traditionnels reposent sur des boîtes d'ancrage prédéfinies pour prédire les emplacements des objets. Cependant, YOLOv5u modernise cette approche. En adoptant une division sans ancre Ultralytics, il garantit un mécanisme de détection plus flexible et adaptatif, ce qui améliore les performances dans divers scénarios. + +- **Bon compromis entre précision et vitesse optimisée :** La vitesse et la précision sont souvent opposées. Mais YOLOv5u remet en question ce compromis. Il offre un équilibre calibré, garantissant des détections en temps réel sans compromettre la précision. Cette fonctionnalité est particulièrement précieuse pour les applications qui demandent des réponses rapides, comme les véhicules autonomes, la robotique et l'analyse vidéo en temps réel. + +- **Variété de modèles pré-entraînés :** Comprendre que différentes tâches nécessitent différents ensembles d'outils, YOLOv5u propose une pléthore de modèles pré-entraînés. Que vous vous concentriez sur l'inférence, la validation ou l'entraînement, un modèle sur mesure vous attend. Cette variété garantit que vous n'utilisez pas une solution universelle, mais un modèle spécifiquement ajusté à votre défi unique. + +## Tâches et modes pris en charge + +Les modèles YOLOv5u, avec divers poids pré-entraînés, excellent dans les tâches de [détection d'objets](../tasks/detect.md). Ils prennent en charge une gamme complète de modes, ce qui les rend adaptés à diverses applications, du développement au déploiement. + +| Type de modèle | Poids pré-entraînés | Tâche | Inférence | Validation | Entraînement | Export | +|----------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------|-----------|------------|--------------|--------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Ce tableau fournit un aperçu détaillé des variantes de modèles YOLOv5u, mettant en évidence leur applicabilité dans les tâches de détection d'objets et leur prise en charge de divers modes opérationnels tels que [Inférence](../modes/predict.md), [Validation](../modes/val.md), [Entraînement](../modes/train.md) et [Exportation](../modes/export.md). Cette prise en charge complète garantit que les utilisateurs peuvent exploiter pleinement les capacités des modèles YOLOv5u dans un large éventail de scénarios de détection d'objets. + +## Métriques de performance + +!!! Performance + + === "Détection" + + Consultez la [documentation sur la détection](https://docs.ultralytics.com/tasks/detect/) pour des exemples d'utilisation avec ces modèles formés sur [COCO](https://docs.ultralytics.com/datasets/detect/coco/), qui comprennent 80 classes pré-entraînées. + + | Modèle | YAML | taille
(pixels) | mAPval
50-95 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) | + |-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34,3 | 73,6 | 1,06 | 2,6 | 7,7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43,0 | 120,7 | 1,27 | 9,1 | 24,0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49,0 | 233,9 | 1,86 | 25,1 | 64,2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52,2 | 408,4 | 2,50 | 53,2 | 135,0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53,2 | 763,2 | 3,81 | 97,2 | 246,4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42,1 | 211,0 | 1,83 | 4,3 | 7,8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48,6 | 422,6 | 2,34 | 15,3 | 24,6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53,6 | 810,9 | 4,36 | 41,2 | 65,7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55,7 | 1470,9 | 5,47 | 86,1 | 137,4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56,8 | 2436,5 | 8,98 | 155,4 | 250,7 | + +## Exemples d'utilisation + +Cet exemple présente des exemples simples d'entraînement et d'inférence YOLOv5. Pour une documentation complète sur ces exemples et d'autres [modes](../modes/index.md), consultez les pages de documentation [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) et [Export](../modes/export.md). + +!!! Example "Exemple" + + === "Python" + + Les modèles PyTorch pré-entraînés `*.pt` ainsi que les fichiers de configuration `*.yaml` peuvent être passés à la classe `YOLO()` pour créer une instance de modèle en python : + + ```python + from ultralytics import YOLO + + # Charger un modèle YOLOv5n pré-entraîné sur COCO + model = YOLO('yolov5n.pt') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Former le modèle sur l'ensemble de données d'exemple COCO8 pendant 100 époques + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Exécuter l'inférence avec le modèle YOLOv5n sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Des commandes CLI sont disponibles pour exécuter directement les modèles : + + ```bash + # Charger un modèle YOLOv5n pré-entraîné sur COCO et l'entraîner sur l'ensemble de données d'exemple COCO8 pendant 100 époques + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Charger un modèle YOLOv5n pré-entraîné sur COCO et exécuter l'inférence sur l'image 'bus.jpg' + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## Citations et remerciements + +Si vous utilisez YOLOv5 ou YOLOv5u dans vos recherches, veuillez citer le référentiel Ultralytics YOLOv5 comme suit : + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +Veuillez noter que les modèles YOLOv5 sont fournis sous les licences [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) et [Enterprise](https://ultralytics.com/license). diff --git a/docs/fr/models/yolov6.md b/docs/fr/models/yolov6.md new file mode 100644 index 00000000000..3d4cc36be13 --- /dev/null +++ b/docs/fr/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: Explorez Meituan YOLOv6, un modèle de détection d'objets à la pointe de la technologie offrant un équilibre entre vitesse et précision. Plongez-vous dans les fonctionnalités, les modèles pré-entraînés et l'utilisation de Python. +keywords: Meituan YOLOv6, détection d'objets, Ultralytics, YOLOv6 docs, Bi-directional Concatenation, Anchor-Aided Training, modèles pré-entraînés, applications en temps réel +--- + +# Meituan YOLOv6 + +## Vue d'ensemble + +[Meituan](https://about.meituan.com/) YOLOv6 est un détecteur d'objets de pointe qui offre un équilibre remarquable entre vitesse et précision, ce qui en fait un choix populaire pour les applications en temps réel. Ce modèle introduit plusieurs améliorations remarquables sur son architecture et son schéma d'entraînement, notamment la mise en œuvre d'un module de concaténation bidirectionnelle (BiC), d'une stratégie d'entraînement assistée par ancrage (AAT) et d'une conception améliorée de l'épine dorsale et du cou pour une précision de pointe sur l'ensemble de données COCO. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Exemple d'image du modèle](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**Aperçu de YOLOv6.** Diagramme de l'architecture du modèle montrant les composants du réseau redessinés et les stratégies d'entraînement qui ont conduit à d'importantes améliorations des performances. (a) L'épine dorsale de YOLOv6 (N et S sont indiqués). Notez que pour M/L, RepBlocks est remplacé par CSPStackRep. (b) La structure d'un module BiC. (c) Un bloc SimCSPSPPF. ([source](https://arxiv.org/pdf/2301.05586.pdf)). + +### Caractéristiques principales + +- **Module de concaténation bidirectionnelle (BiC) :** YOLOv6 introduit un module BiC dans le cou du détecteur, améliorant les signaux de localisation et offrant des gains de performance avec une dégradation de vitesse négligeable. +- **Stratégie d'entraînement assistée par ancrage (AAT) :** Ce modèle propose AAT pour profiter des avantages des paradigmes basés sur ancrage et sans ancrage sans compromettre l'efficacité de l'inférence. +- **Conception améliorée de l'épine dorsale et du cou :** En approfondissant YOLOv6 pour inclure une autre étape dans l'épine dorsale et le cou, ce modèle atteint des performances de pointe sur l'ensemble de données COCO avec une entrée haute résolution. +- **Stratégie d'autodistillation :** Une nouvelle stratégie d'autodistillation est mise en œuvre pour améliorer les performances des modèles plus petits de YOLOv6, en améliorant la branche de régression auxiliaire pendant l'entraînement et en la supprimant lors de l'inférence afin d'éviter une baisse notable de la vitesse. + +## Métriques de performance + +YOLOv6 propose différents modèles pré-entraînés avec différentes échelles : + +- YOLOv6-N : 37,5 % de précision sur COCO val2017 à 1187 FPS avec le GPU NVIDIA Tesla T4. +- YOLOv6-S : 45,0 % de précision à 484 FPS. +- YOLOv6-M : 50,0 % de précision à 226 FPS. +- YOLOv6-L : 52,8 % de précision à 116 FPS. +- YOLOv6-L6 : Précision de pointe en temps réel. + +YOLOv6 propose également des modèles quantifiés pour différentes précisions et des modèles optimisés pour les plates-formes mobiles. + +## Exemples d'utilisation + +Cet exemple fournit des exemples simples d'entraînement et d'inférence de YOLOv6. Pour une documentation complète sur ces exemples et d'autres [modes](../modes/index.md), consultez les pages de documentation [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) et [Export](../modes/export.md). + +!!! Example "Exemple" + + === "Python" + + Les modèles pré-entraînés PyTorch `*.pt`, ainsi que les fichiers de configuration `*.yaml`, peuvent être utilisés pour créer une instance de modèle en python en utilisant la classe `YOLO()` : + + ```python + from ultralytics import YOLO + + # Créer un modèle YOLOv6n à partir de zéro + model = YOLO('yolov6n.yaml') + + # Afficher les informations sur le modèle (facultatif) + model.info() + + # Entraîner le modèle sur l'ensemble de données d'exemple COCO8 pendant 100 epochs + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Effectuer une inférence avec le modèle YOLOv6n sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Des commandes CLI sont disponibles pour exécuter directement les modèles : + + ```bash + # Créer un modèle YOLOv6n à partir de zéro et l'entraîner sur l'ensemble de données d'exemple COCO8 pendant 100 epochs + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # Créer un modèle YOLOv6n à partir de zéro et effectuer une inférence sur l'image 'bus.jpg' + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## Tâches et modes pris en charge + +La série YOLOv6 propose une gamme de modèles, chacun optimisé pour la [détection d'objets](../tasks/detect.md) haute performance. Ces modèles répondent à des besoins computationnels et des exigences de précision variables, ce qui les rend polyvalents pour une large gamme d'applications. + +| Type de modèle | Modèles pré-entraînés | Tâches prises en charge | Inférence | Validation | Entraînement | Export | +|----------------|-----------------------|------------------------------------------|-----------|------------|--------------|--------| +| YOLOv6-N | `yolov6-n.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Détection d'objets](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Ce tableau fournit un aperçu détaillé des variantes du modèle YOLOv6, mettant en évidence leurs capacités dans les tâches de détection d'objets et leur compatibilité avec différents modes opérationnels tels que l'[Inférence](../modes/predict.md), la [Validation](../modes/val.md), l'[Entraînement](../modes/train.md) et l'[Export](../modes/export.md). Cette prise en charge complète permet aux utilisateurs de tirer pleinement parti des capacités des modèles YOLOv6 dans un large éventail de scénarios de détection d'objets. + +## Citations et remerciements + +Nous tenons à remercier les auteurs pour leur contribution importante dans le domaine de la détection d'objets en temps réel : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + Le document original de YOLOv6 peut être consulté sur [arXiv](https://arxiv.org/abs/2301.05586). Les auteurs ont rendu leur travail accessible au public, et le code source peut être consulté sur [GitHub](https://github.com/meituan/YOLOv6). Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté plus large. diff --git a/docs/fr/models/yolov7.md b/docs/fr/models/yolov7.md new file mode 100644 index 00000000000..b2ec7495e6b --- /dev/null +++ b/docs/fr/models/yolov7.md @@ -0,0 +1,66 @@ +--- +comments: true +description: Découvrez le YOLOv7, un détecteur d'objets en temps réel. Comprenez sa vitesse supérieure, son impressionnante précision et son accent unique sur l'optimisation bag-of-freebies entraînable. +keywords: YOLOv7, détecteur d'objets en temps réel, état de l'art, Ultralytics, jeu de données MS COCO, ré-paramétrisation du modèle, affectation des étiquettes dynamiques, mise à l'échelle étendue, mise à l'échelle composée +--- + +# YOLOv7 : Bag-of-Freebies Entraînable + +YOLOv7 est un détecteur d'objets en temps réel à la pointe de la technologie qui surpasse tous les détecteurs d'objets connus en termes de vitesse et de précision, dans une plage de 5 FPS à 160 FPS. Il présente la précision la plus élevée (56,8% AP) parmi tous les détecteurs d'objets en temps réel connus avec un FPS de 30 ou plus sur GPU V100. De plus, YOLOv7 surpasse les autres détecteurs d'objets tels que YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 et bien d'autres en termes de vitesse et de précision. Le modèle est entraîné à partir de zéro sur le jeu de données MS COCO, sans utiliser d'autres jeux de données ou de poids pré-entraînés. Le code source de YOLOv7 est disponible sur GitHub. + +![Comparaison de YOLOv7 avec les détecteurs d'objets SOTA](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**Comparaison des détecteurs d'objets de pointe. +** À partir des résultats du Tableau 2, nous savons que la méthode proposée présente le meilleur compromis vitesse-précision dans l'ensemble. Si nous comparons YOLOv7-tiny-SiLU avec YOLOv5-N (r6.1), notre méthode est 127 FPS plus rapide et plus précise de 10,7% en AP. De plus, YOLOv7 atteint 51,4% d'AP à une fréquence d'images de 161 FPS, tandis que PPYOLOE-L avec la même AP atteint seulement 78 FPS. En termes d'utilisation des paramètres, YOLOv7 consomme 41% de moins que PPYOLOE-L. Si nous comparons YOLOv7-X avec une vitesse d'inférence de 114 FPS à YOLOv5-L (r6.1) avec une vitesse d'inférence de 99 FPS, YOLOv7-X peut améliorer l'AP de 3,9%. Si YOLOv7-X est comparé à YOLOv5-X (r6.1) de taille similaire, la vitesse d'inférence de YOLOv7-X est de 31 FPS plus rapide. De plus, en termes de nombre de paramètres et de calculs, YOLOv7-X réduit de 22% les paramètres et de 8% les calculs par rapport à YOLOv5-X (r6.1), mais améliore l'AP de 2,2% ([Source](https://arxiv.org/pdf/2207.02696.pdf)). + +## Aperçu + +La détection d'objets en temps réel est un composant important de nombreux systèmes de vision par ordinateur, notamment le suivi multi-objets, la conduite autonome, la robotique et l'analyse d'images médicales. Ces dernières années, le développement de la détection d'objets en temps réel s'est concentré sur la conception d'architectures efficaces et l'amélioration de la vitesse d'inférence des CPU, des GPU et des unités de traitement neuronal (NPU) dans différentes configurations. YOLOv7 prend en charge les GPU mobiles et les appareils GPU, de l'edge au cloud. + +Contrairement aux détecteurs d'objets en temps réel traditionnels qui se concentrent sur l'optimisation de l'architecture, YOLOv7 introduit une approche axée sur l'optimisation du processus d'entraînement. Cela comprend des modules et des méthodes d'optimisation conçus pour améliorer la précision de la détection d'objets sans augmenter le coût de l'inférence, un concept connu sous le nom de "bag-of-freebies entraînable". + +## Fonctionnalités Principales + +YOLOv7 propose plusieurs fonctionnalités principales : + +1. **Ré-paramétrisation du Modèle** : YOLOv7 propose un modèle re-paramétré planifié, qui est une stratégie applicable aux couches de différents réseaux avec le concept de propagation des gradients. + +2. **Affectation Dynamique des Étiquettes** : La formation du modèle avec des couches de sortie multiples présente un nouveau problème : "Comment attribuer des cibles dynamiques aux sorties des différentes branches ?" Pour résoudre ce problème, YOLOv7 introduit une nouvelle méthode d'affectation des étiquettes appelée affectation des étiquettes guidée en cascade de grossières à fines. + +3. **Mise à l'Échelle Étendue et Composée** : YOLOv7 propose des méthodes de "mise à l'échelle étendue" et de "mise à l'échelle composée" pour le détecteur d'objets en temps réel, qui permettent d'utiliser efficacement les paramètres et les calculs. + +4. **Efficacité** : La méthode proposée par YOLOv7 permet de réduire efficacement environ 40% des paramètres et 50% des calculs du détecteur d'objets en temps réel de pointe, tout en offrant une vitesse d'inférence plus rapide et une plus grande précision de détection. + +## Exemples d'Utilisation + +Au moment de la rédaction de cet article, Ultralytics ne prend pas en charge les modèles YOLOv7. Par conséquent, tout utilisateur intéressé par l'utilisation de YOLOv7 devra se référer directement au dépôt GitHub de YOLOv7 pour obtenir les instructions d'installation et d'utilisation. + +Voici un bref aperçu des étapes typiques que vous pourriez suivre pour utiliser YOLOv7 : + +1. Rendez-vous sur le dépôt GitHub de YOLOv7 : [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. Suivez les instructions fournies dans le fichier README pour l'installation. Cela implique généralement de cloner le dépôt, d'installer les dépendances nécessaires et de configurer les variables d'environnement nécessaires. + +3. Une fois l'installation terminée, vous pouvez entraîner et utiliser le modèle selon les instructions d'utilisation fournies dans le dépôt. Cela implique généralement la préparation de votre ensemble de données, la configuration des paramètres du modèle, l'entraînement du modèle, puis l'utilisation du modèle entraîné pour effectuer la détection d'objets. + +Veuillez noter que les étapes spécifiques peuvent varier en fonction de votre cas d'utilisation spécifique et de l'état actuel du dépôt YOLOv7. Par conséquent, il est fortement recommandé de vous reporter directement aux instructions fournies dans le dépôt GitHub de YOLOv7. + +Nous nous excusons pour tout inconvénient que cela pourrait causer et nous nous efforcerons de mettre à jour ce document avec des exemples d'utilisation pour Ultralytics une fois la prise en charge de YOLOv7 mise en place. + +## Citations et Remerciements + +Nous tenons à remercier les auteurs de YOLOv7 pour leurs contributions significatives dans le domaine de la détection d'objets en temps réel : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +Le document original de YOLOv7 peut être consulté sur [arXiv](https://arxiv.org/pdf/2207.02696.pdf). Les auteurs ont rendu leur travail accessible au public, et le code source peut être consulté sur [GitHub](https://github.com/WongKinYiu/yolov7). Nous apprécions leurs efforts pour faire avancer le domaine et rendre leur travail accessible à la communauté élargie. diff --git a/docs/fr/models/yolov8.md b/docs/fr/models/yolov8.md new file mode 100644 index 00000000000..f07c40a88ac --- /dev/null +++ b/docs/fr/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: Explorez les fonctionnalités passionnantes de YOLOv8, la dernière version de notre détecteur d'objets en temps réel ! Découvrez comment les architectures avancées, les modèles pré-entraînés et un équilibre optimal entre précision et vitesse font de YOLOv8 le choix parfait pour vos tâches de détection d'objets. +keywords: YOLOv8, Ultralytics, détecteur d'objets en temps réel, modèles pré-entraînés, documentation, détection d'objets, série YOLO, architectures avancées, précision, vitesse +--- + +# YOLOv8 + +## Aperçu + +YOLOv8 est la dernière itération de la série YOLO de détecteurs d'objets en temps réel, offrant des performances de pointe en termes de précision et de vitesse. S'appuyant sur les avancées des versions précédentes de YOLO, YOLOv8 introduit de nouvelles fonctionnalités et optimisations qui en font un choix idéal pour diverses tâches de détection d'objets dans une large gamme d'applications. + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## Principales fonctionnalités + +- **Architectures avancées pour le tronc et le cou:** YOLOv8 utilise des architectures de tronc et de cou de pointe, ce qui permet une meilleure extraction des caractéristiques et des performances de détection d'objets améliorées. +- **Tête Ultralytics sans ancre:** YOLOv8 adopte une tête Ultralytics sans ancre, ce qui contribue à une meilleure précision et à un processus de détection plus efficace par rapport aux approches basées sur les ancres. +- **Équilibre optimal entre précision et vitesse optimisé:** En mettant l'accent sur le maintien d'un équilibre optimal entre précision et vitesse, YOLOv8 convient aux tâches de détection d'objets en temps réel dans divers domaines d'application. +- **Variété de modèles pré-entraînés:** YOLOv8 propose une gamme de modèles pré-entraînés pour répondre à différentes tâches et exigences de performance, ce qui facilite la recherche du modèle adapté à votre cas d'utilisation spécifique. + +## Tâches et modes pris en charge + +La série YOLOv8 propose une gamme diversifiée de modèles, chacun spécialisé dans des tâches spécifiques en vision par ordinateur. Ces modèles sont conçus pour répondre à diverses exigences, de la détection d'objets à des tâches plus complexes telles que la segmentation d'instance, la détection de pose/points clés et la classification. + +Chaque variante de la série YOLOv8 est optimisée pour sa tâche respective, garantissant des performances et une précision élevées. De plus, ces modèles sont compatibles avec divers modes opérationnels, notamment l'[Inférence](../modes/predict.md), la [Validation](../modes/val.md), l'[Entraînement](../modes/train.md) et l'[Exportation](../modes/export.md), ce qui facilite leur utilisation à différentes étapes du déploiement et du développement. + +| Modèle | Noms de fichiers | Tâche | Inférence | Validation | Entraînement | Exportation | +|-------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------|-----------|------------|--------------|-------------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Détection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Segmentation d'instance](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Pose/Points clés](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Classification](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +Ce tableau donne un aperçu des variantes des modèles YOLOv8, mettant en évidence leur applicabilité dans des tâches spécifiques et leur compatibilité avec différents modes opérationnels tels que l'inférence, la validation, l'entraînement et l'exportation. Il met en avant la polyvalence et la robustesse de la série YOLOv8, ce qui les rend adaptés à une variété d'applications en vision par ordinateur. + +## Métriques de performance + +!!! Performance + + === "Détection (COCO)" + + Consultez la [doc de détection](https://docs.ultralytics.com/tasks/detect/) pour des exemples d'utilisation avec ces modèles entraînés sur [COCO](https://docs.ultralytics.com/datasets/detect/coco/), qui comprennent 80 classes pré-entrainées. + + | Modèle | taille
(pixels) | mAPval
50-95 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | paramètres
(M) | FLOPs
(B) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------- | ------------------------------------ | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37,3 | 80,4 | 0,99 | 3,2 | 8,7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44,9 | 128,4 | 1,20 | 11,2 | 28,6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50,2 | 234,7 | 1,83 | 25,9 | 78,9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52,9 | 375,2 | 2,39 | 43,7 | 165,2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53,9 | 479,1 | 3,53 | 68,2 | 257,8 | + + === "Détection (Open Images V7)" + + Consultez la [doc de détection](https://docs.ultralytics.com/tasks/detect/) pour des exemples d'utilisation avec ces modèles entraînés sur [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), qui comprennent 600 classes pré-entrainées. + + | Modèle | taille
(pixels) | mAPval
50-95 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | paramètres
(M) | FLOPs
(B) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------- | ------------------------------------ | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18,4 | 142,4 | 1,21 | 3,5 | 10,5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27,7 | 183,1 | 1,40 | 11,4 | 29,7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33,6 | 408,5 | 2,26 | 26,2 | 80,6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34,9 | 596,9 | 2,43 | 44,1 | 167,4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36,3 | 860,6 | 3,56 | 68,7 | 260,6 | + + === "Segmentation (COCO)" + + Consultez la [doc de segmentation](https://docs.ultralytics.com/tasks/segment/) pour des exemples d'utilisation avec ces modèles entraînés sur [COCO](https://docs.ultralytics.com/datasets/segment/coco/), qui comprennent 80 classes pré-entrainées. + + | Modèle | taille
(pixels) | mAPbox
50-95 | mAPmask
50-95 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | paramètres
(M) | FLOPs
(B) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------- | ------------------------------------ | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36,7 | 30,5 | 96,1 | 1,21 | 3,4 | 12,6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44,6 | 36,8 | 155,7 | 1,47 | 11,8 | 42,6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49,9 | 40,8 | 317,0 | 2,18 | 27,3 | 110,2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52,3 | 42,6 | 572,4 | 2,79 | 46,0 | 220,5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53,4 | 43,4 | 712,1 | 4,02 | 71,8 | 344,1 | + + === "Classification (ImageNet)" + + Consultez la [doc de classification](https://docs.ultralytics.com/tasks/classify/) pour des exemples d'utilisation avec ces modèles entraînés sur [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), qui comprennent 1000 classes pré-entrainées. + + | Modèle | taille
(pixels) | acc
top1 | acc
top5 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | paramètres
(M) | FLOPs
(B) at 640 | + | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------- | ------------------------------------ | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66,6 | 87,0 | 12,9 | 0,31 | 2,7 | 4,3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72,3 | 91,1 | 23,4 | 0,35 | 6,4 | 13,5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76,4 | 93,2 | 85,4 | 0,62 | 17,0 | 42,7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78,0 | 94,1 | 163,0 | 0,87 | 37,5 | 99,7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78,4 | 94,3 | 232,0 | 1,01 | 57,4 | 154,8 | + + === "Pose (COCO)" + + Consultez la [doc d'estimation de pose](https://docs.ultralytics.com/tasks/segment/) pour des exemples d'utilisation avec ces modèles entraînés sur [COCO](https://docs.ultralytics.com/datasets/pose/coco/), qui comprennent 1 classe pré-entrainée, 'person'. + + | Modèle | taille
(pixels) | mAPpose
50-95 | mAPpose
50 | Vitesse
CPU ONNX
(ms) | Vitesse
A100 TensorRT
(ms) | paramètres
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------- | ------------------------------------ | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50,4 | 80,1 | 131,8 | 1,18 | 3,3 | 9,2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60,0 | 86,2 | 233,2 | 1,42 | 11,6 | 30,2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65,0 | 88,8 | 456,3 | 2,00 | 26,4 | 81,0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67,6 | 90,0 | 784,5 | 2,59 | 44,4 | 168,6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69,2 | 90,2 | 1607,1 | 3,73 | 69,4 | 263,2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71,6 | 91,2 | 4088,7 | 10,04 | 99,1 | 1066,4 | + +## Exemples d'utilisation + +Cet exemple fournit des exemples simples d'entraînement et d'inférence avec YOLOv8. Pour une documentation complète sur ces exemples et d'autres [modes](../modes/index.md), consultez les pages de documentation [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) et [Export](../modes/export.md). + +Veuillez noter que l'exemple ci-dessous concerne les modèles de détection YOLOv8. Pour d'autres tâches prises en charge, consultez la documentation de [Segmentation](../tasks/segment.md), [Classification](../tasks/classify.md) et [Pose/Points clés](../tasks/pose.md). + +!!! Example "Exemple" + + === "Python" + + Les modèles pré-entraînés PyTorch `*.pt` ainsi que les fichiers de configuration `*.yaml` peuvent être utilisés pour créer une instance de modèle en python en passant aux classes `YOLO()` : + + ```python + from ultralytics import YOLO + + # Charger un modèle YOLOv8n pré-entraîné sur COCO + model = YOLO('yolov8n.pt') + + # Afficher les informations du modèle (facultatif) + model.info() + + # Entraîner le modèle sur l'exemple de jeu de données COCO8 pendant 100 époques + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Effectuer une inférence avec le modèle YOLOv8n sur l'image 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Des commandes CLI sont disponibles pour exécuter directement les modèles : + + ```bash + # Charger un modèle YOLOv8n pré-entraîné sur COCO et l'entraîner sur l'exemple de jeu de données COCO8 pendant 100 époques + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Charger un modèle YOLOv8n pré-entraîné sur COCO et effectuer une inférence sur l'image 'bus.jpg' + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## Citations et remerciements + +Si vous utilisez le modèle YOLOv8 ou tout autre logiciel de ce référentiel dans votre travail, veuillez le citer selon le format suivant : + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +Veuillez noter que le DOI est en attente et sera ajouté à la citation dès qu'il sera disponible. Les modèles YOLOv8 sont fournis sous licence [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) et [Enterprise](https://ultralytics.com/license). diff --git a/docs/hi/models/fast-sam.md b/docs/hi/models/fast-sam.md new file mode 100644 index 00000000000..4dc714f78e6 --- /dev/null +++ b/docs/hi/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: FastSAM एक सीएनएन पर आधारित समाधान है जो छवियों में वास्तविक समय ऑब्जेक्ट सेगमेंटेशन के लिए बनाया गया है। यह यूजर इंटरेक्शन, संगणनीय प्रभावशीलता और विजन कार्यों को अनुकूलित करने में सक्षम है। +keywords: FastSAM, machine learning, CNN-based solution, object segmentation, वास्तविक समय का समाधान, Ultralytics, विजन कार्य, छवि प्रोसेसिंग, उद्योगिक अनुप्रयोग, यूजर इंटरैक्शन +--- + +# Fast Segment Anything Model (FastSAM) + +फास्ट सेगमेंट एनीथिंग मॉडल (फास्टएसएएम) एक नवीन, वास्तविक समय में कार्यरत सीएनएन पर आधारित समाधान है जो एनीथिंग टास्क को सेगमेंट करने के लिए बनाया गया है। इस टास्क का उद्देश्य विभिन्न संभावित उपयोक्ता इंटरेक्शन प्रोम्प्ट्स पर आधारित छवियों में किसी भी ऑब्जेक्ट को सेगमेंट करना है। फास्टएसएएम ने संगणनात्मक मांग को कम करते हुए मुकाबले क्षमता को बरकरार रखते हुए संगणकीय मांगों को काफी कम किया है, जिसके कारण यह विभिन्न विजन कार्यों के लिए एक व्यावहारिक विकल्प बनाता है। + +![फास्ट सेगमेंट एनीथिंग मॉडल (फास्टएसएएम) आर्किटेक्चर इंट्रो](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## अवलोकन + +FastSAM, [सेगमेंट एनीथिंग मॉडल (एसएएम)](sam.md) की सीमाओं का सामना करने के लिए बनाया गया है, जो एक भारी ट्रांसफॉर्मर मॉडल है और उचित संसाधन आवश्यकताओं को है। फास्टएसएएम ने सार्वभौमिक चरणों में सेगमेंट एनीथिंग टास्क को अलग-अलग दो साँप्रदायिक चरणों में अलग किया है: सभी इंस्टेंस सेगमेंटेशन और प्रॉम्प्ट-गाइडेड चयन। पहले चरण में, यह [व्योलोवी8-सेग](../tasks/segment.md) का उपयोग करके छवि में सभी इंस्टेंस की सेगमेंटेशन मास्क उत्पन्न करता है। दूसरे चरण में, यह प्रोम्प्ट के बराबर क्षेत्र-ऑफ-इंटरेस्ट को आउटपुट करता है। + +## प्रमुख सुविधाएं + +1. **वास्तविक समय का समाधान:** सीएनएन की संगणनात्मक प्रभावशीलता का उपयोग करके, फास्टएसएएम एनीथिंग टास्क के लिए वास्तविक समय समाधान प्रदान करता है, जिससे यह उद्योगिक अनुप्रयोगों के लिए महत्वपूर्ण परिणामों की आवश्यकता होती है। + +2. **प्रदार्थी और प्रदर्शन क्षमता:** फास्टएसएएम संगणनात्मक और संसाधन मांग में काफी कमी प्रदान करता है बिना प्रदर्शन गुणवत्ता पर कुछ बदले के। यह संसाधनों की बहुत अधिक कमी के साथ एसएएम के लगभग तुलनात्मक प्रदर्शन प्राप्त करता है, जिससे वास्तविक समय अनुप्रयोग संभव होता है। + +3. **प्रोम्प्ट-गाइडेड सेगमेंटेशन:** फास्टएसएएम कई संभावित उपयोक्ता इंटरेक्शन प्रोम्प्ट्स द्वारा निर्दिष्ट छवि में किसी भी ऑब्जेक्ट को सेगमेंट कर सकता है, जो विभिन्न परिस्थितियों में लचीलापूर्णता और अनुकूलन प्रदान करता है। + +4. **व्योलोवी8-सेग पर आधारित:** फास्टएसएएम [व्योलोवी8-सेग](../tasks/segment.md) पर आधारित है, जो एक ऑब्जेक्ट डिटेक्टर है जिसमें एक इंस्टेंस सेगमेंटेशन टास्क है। इससे यह संभव होता है कि यह छवि में सभी इंस्टेंस की सेगमेंटेशन मास्क प्रभावी ढंग से उत्पन्न करें। + +5. **बेंचमार्क पर प्रतिस्पर्धी परिणाम:** MS COCO पर ऑब्जेक्ट प्रासलन टास्क पर, फास्टएसएएम एकल NVIDIA RTX 3090 पर [एसएएम](sam.md) की तुलना में काफी तेज गति में उच्च अंक प्राप्त करता है, जो इसकी प्रभावशीलता और क्षमता को दिखाता है। + +6. **वास्तविक अनुप्रयोग:** प्रस्तावित दृष्टांत एक नए, वास्तविक समय में कई विजन कार्यों के लिए एक नया, व्यावहारिक समाधान प्रदान करता है, जिसमें मौजूदा विधियों से कई या सौ गुना तेज तरीके से किया जाता है। + +7. **मॉडल संक्षिप्ति क्षमता:** फास्टएसएएम ने प्रवेशी अभिकरण के लिए एक कृत्रिम प्राथमिकता को संरचना में परिचय कराने के द्वारा कंप्यूटेशनल प्रयास को काफी कम करने की संभावना दिखाई है, इस प्रकार सामान्य विजन कार्यों के लिए बड़े मॉडल आर्किटेक्चर के लिए नए संभावनाओं को खोलती है। + +## उपलब्ध मॉडल, समर्थित कार्य और ऑपरेटिंग मोड + +इस सारणी में उपलब्ध मॉडल, उनके विशिष्ट पूर्व-प्रशिक्षित वेट और उनके समर्थनित कार्यों को पेश किया गया है, साथ ही उनकी विभिन्न ऑपरेटिंग मोड के साथ संगतता को दर्शाने के लिए समर्थित मोजी में ✅ इमोज़ी और असमर्थित मोजी में ❌ इमोज़ी लगाए गए हैं। + +| मॉडल प्रकार | पूर्व-प्रशिक्षित वेट्स | समर्थित कार्य | भावना | मान्यीकरण | प्रशिक्षण | निर्यात | +|-----------------|------------------------|--------------------------------------------|-------|-----------|-----------|---------| +| फास्टएसएएम-एस | `FastSAM-s.pt` | [इंस्टेंस सेगमेंटेशन](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| फास्टएसएएम-एक्स | `FastSAM-x.pt` | [इंस्टेंस सेगमेंटेशन](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## उपयोग के उदाहरण + +फास्टएसएएम मॉडल को अपने पायथन ऐप्लिकेशन में आसानी से एकीकृत करना आसान है। उल्ट्राल्याटिक्स उपयोगकर्ता-मित्रपूर्ण पायथन API और CLI कमांड्स प्रदान करता है ताकि विकास को सरल बनाया जा सके। + +### पूर्वानुमान उपयोग + +एक छवि पर ऑब्जेक्ट डिटेक्शन करने के लिए, नीचे दिए गए उदाहरण का उपयोग करें: + +!!! Example "उदाहरण" + + === "पायथन" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # एक inference source निर्धारित करें + source = 'path/to/bus.jpg' + + # एक फास्टएसएएम मॉडल बनाएं + model = FastSAM('FastSAM-s.pt') # या FastSAM-x.pt + + # छवि पर inference चलाएं + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # प्रोम्प्ट प्रक्रिया वस्तु को तैयार करें + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # सब कुछ प्रोम्प्ट + ann = prompt_process.everything_prompt() + + # बॉक्स डिफ़ॉल्टवत आकार [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # पाठ प्रोम्प्ट + ann = prompt_process.text_prompt(text='a photo of a dog') + + # पॉइंट प्रोम्प्ट + # डिफ़ॉल्ट point [[0,0]] [[x1,y1],[x2,y2]] + # डिफ़ॉल्ट point_label [0] [1,0] 0:background, 1:foreground + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # शीघ्रदर्शन मॉडल को लोड करें और उसे कुछ वस्तुओं के साथ सेगमेंट करें + yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640 + ``` + +यह स्निपेट प्रशिक्षित मॉडल को लोड करने और एक इमेज पर प्रभासिती का निर्धारण करने की सरलता का दिखावा करता है। + +### वैल उपयोग + +एक डेटासेट पर मॉडल की मान्यीकरण करने के लिए निम्नलिखित तरीके का उपयोग किया जा सकता है: + +!!! Example "उदाहरण" + + === "पायथन" + ```python + from ultralytics import FastSAM + + # एक फास्टएसएएम मॉडल बनाएं + model = FastSAM('FastSAM-s.pt') # या FastSAM-x.pt + + # मॉडल को मान्यित करें + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # शीघ्रदर्शन मॉडल को लोड करें और इसे साइज़ 640 पर COCO8 उदाहरण डेटासेट पर मान्यित करें + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +कृपया ध्यान दें कि फास्टएसएएम केवल एकल वस्तु कार और सेगमेंटेशन का समर्थन करता है। इसका मतलब है कि यह सभी ऑब्जेक्टों को एक ही वर्ग के रूप में मान्यता देगा और सभी ऑब्जेक्ट्स को एक ही वर्ग के रूप में सेगमेंट करेगा। इसलिए, डेटासेट को तैयार करते समय, आपको सभी ऑब्जेक्ट श्रेणी आईडी को 0 में रूपांतरित करने की आवश्यकता होगी। + +## फास्टएसएएम आधिकारिक उपयोग + +फास्टएसएएम को [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) रिपॉजिटरी से सीधे भी उपयोग किया जा सकता है। यहां आपको फास्टएसएएम का उपयोग करने के लिए आमतौर पर लिए जाने वाले कदमों का संक्षेपिक अवलोकन है: + +### स्थापना + +1. फास्टएसएएम रिपॉजिटरी क्लोन करें: + ```शेल + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. पायथन 3.9 के साथ एक रुपे में संचालित करने के लिए एक Conda वातावरण बनाएं और सक्रिय करें: + ```शेल + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. क्लोन किए गए रिपॉजिटरी में जाएं और आवश्यक पैकेजों को स्थापित करें: + ```शेल + cd FastSAM + pip install -r requirements.txt + ``` + +4. CLIP मॉडल स्थापित करें: + ```शेल + pip install git+https://github.com/openai/CLIP.git + ``` + +### उदाहरण उपयोग + +1. [मॉडल चेकपॉइंट](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing)डाउनलोड करें। + +2. FastSAM का उपयोग करके इंफरेंस करें। उदाहरण कमांड: + + - छवि में सब कुछ सेगमेंट करें: + ```शेल + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - पाठ प्रोम्प्ट का उपयोग करके विशेष ऑब्जेक्ट सेगमेंट करें: + ```शेल + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog" + ``` + + - एक बाउंडिंग बॉक्स के भीतर बाउंडर ऑब्जेक्ट को सेगमेंट करें (xywh स्वरूप में बॉक्स की कोणयों की निर्धारण करें): + ```शेल + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - विशेष बिंदुओं के पास ऑब्जेक्ट को सेगमेंट करें: + ```शेल + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +इसके अलावा, आप फास्टएसएएम का उपयोग करने के लिए एक [कोलैब डेमो](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) या एक [हगिंगफेस वेब डेमो](https://huggingface.co/spaces/An-619/FastSAM) पर भी प्रयास कर सकते हैं। + +## उद्धृति और प्रशंसापत्र + +हम वास्तविक समय आवंटन संबंधी क्षेत्र में महत्वपूर्ण योगदान देने के लिए फास्टएसएएम लेखकों को प्रशंसा करते हैं: + +!!! Quote "" + + === "बिबटेक्स्ट" + + ```बिबटेक्स्ट + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +[FastSAM](https://arxiv.org/abs/2306.12156) पेपर आरएक्सिव में मौजूद है। लेखकों ने अपना काम सार्वजनिक रूप से उपलब्ध कराया है, और कोडबेस [गिटहब](https://github.com/CASIA-IVA-Lab/FastSAM) पर उपलब्ध है। हम इन दोनों के प्रयासों की कीमत करते हैं और उनके प्रयास के लिए धन्यवाद देते हैं जो क्षेत्र को आगे बढ़ाने और अपने काम को व्यापक समुदाय के लिए उपलब्ध कराने में समर्थ हैं। diff --git a/docs/hi/models/index.md b/docs/hi/models/index.md index a446571f474..3ac9539127c 100644 --- a/docs/hi/models/index.md +++ b/docs/hi/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Ultralytics द्वारा समर्थित YOLO समूह, SAM, MobileSAM, FastSAM, YOLO-NAS, और RT-DETR मॉडल्स की विविधता का पता लगाएं। CLI और Python उपयोग के लिए उदाहरणों के साथ शुरू हो जाएं। -keywords: Ultralytics, दस्तावेज़ीकरण, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, मॉडल, वास्तुरचना, Python, CLI +description: Ultralytics द्वारा समर्थित YOLO परिवार की विविध रेंज, SAM, MobileSAM, FastSAM, YOLO-NAS, और RT-DETR मॉडल्स का पता लगाएं। CLI और Python उपयोग के लिए उदाहरणों के साथ प्रारंभ करें। +keywords: Ultralytics, दस्तावेज़ीकरण, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, मॉडल्स, आर्किटेक्चर्स, Python, CLI --- -# Ultralytics द्वारा समर्थित मॉडल्स +# Ultralytics द्वारा समर्थित मॉडल -Ultralytics के मॉडल दस्तावेज़ीकरण में आपका स्वागत है! हम विशेष टास्क जैसे [ऑब्जेक्ट डिटेक्शन](../tasks/detect.md), [इंस्टेंस सेग्मेंटेशन](../tasks/segment.md), [छवि श्रेणीबद्धीकरण](../tasks/classify.md), [पोज़ संख्यानन](../tasks/pose.md), और [मल्टी-ऑब्जेक्ट ट्रैकिंग](../modes/track.md) के लिए विशेष रूप से तैयार किए गए मॉडल का समर्थन करते हैं। अगर आप अपनी मॉडल वास्तुरचना को Ultralytics में योगदान देना चाहते हैं, तो हमारे [योगदान गाइड](../../help/contributing.md) की जांच करें। +Ultralytics के मॉडल दस्तावेज़ीकरण में आपका स्वागत है! हम [ऑब्जेक्ट डिटेक्शन](../tasks/detect.md), [इंस्टेंस सेगमेंटेशन](../tasks/segment.md), [इमेज क्लासिफिकेशन](../tasks/classify.md), [पोज़ एस्टिमेशन](../tasks/pose.md), और [मल्टी-ऑब्जेक्ट ट्रैकिंग](../modes/track.md) जैसे विशिष्ट कामों के लिए डिज़ाइन किए गए मॉडलों की एक विस्तृत रेंज का समर्थन प्रदान करते हैं। यदि आप Ultralytics में अपने मॉडल आर्किटेक्चर को योगदान देने में रुचि रखते हैं, तो हमारा [Contributing Guide](../../help/contributing.md) देखें। -!!! Note "नोट" +!!! Note "ध्यान दें" - 🚧 हमारी बहुभाषी दस्तावेज़ीकरण वर्तमान में निर्माणाधीन है, और हम उसे सुधारने के लिए कठिनताओं पर काम कर रहे हैं। धन्यवाद आपकी सहानुभूति के लिए! 🙏 + 🚧 हमारी अलग-अलग भाषाओं में दस्तावेज़ीकरण वर्तमान में निर्माणाधीन है, और हम इसे सुधारने के लिए कठिन परिश्रम कर रहे हैं। धैर्य रखने के लिए धन्यवाद! 🙏 ## प्रमुख मॉडल -यहां कुछ महत्वपूर्ण मॉडल हैं जिन्हें समर्थित किया जाता है: +यहां कुछ मुख्य मॉडल दिए गए हैं: -1. **[YOLOv3](../../models/yolov3.md)**: YOLO मॉडल परिवार का तीसरा संस्करण, जो मूल रूप में Joseph Redmon द्वारा विकसित किया गया था, जिसे उसकी क्षमता के लिए जाना जाता है सही समय में ऑब्जेक्ट डिटेक्शन की। -2. **[YOLOv4](../../models/yolov4.md)**: YOLOv3 के लिए एक डार्कनेट जन्मित अपडेट, जिसे Alexey Bochkovskiy ने 2020 में जारी किया। -3. **[YOLOv5](../../models/yolov5.md)**: यूल्ट्रालिटिक्स द्वारा योगदान की एक सुधारी हुई YOLO वास्तुरचि। पिछले संस्करणों की तुलना में बेहतर प्रदर्शन और गति विपरीत संलग्नाता प्रदान करने का वादा। -4. **[YOLOv6](../../models/yolov6.md)**: 2022 में [मेटुआन](https://about.meituan.com/) द्वारा जारी किया गया, और कंपनी के कई स्वतंत्र वितरण रोबोट में प्रयोग होता है। -5. **[YOLOv7](../../models/yolov7.md)**: YOLOv4 के लेखकों द्वारा जारी किए गए नवीनतम YOLO मॉडल्स। -6. **[YOLOv8](../../models/yolov8.md)**: YOLO परिवार का नवीनतम संस्करण, जिसमें घटनाक्रम सेग्मेंटेशन, पोज़/कीपॉइंट्स अनुमान, और वर्गीकरण जैसी बढ़ी हुई क्षमताएं होती हैं। -7. **[सेगमेंट एनीथिंग मॉडल (SAM)](../../models/sam.md)**: मेटा का सेगमेंट एनीथिंग मॉडल (SAM)। -8. **[मोबाइल सेगमेंट एनीथिंग मॉडल (MobileSAM)](../../models/mobile-sam.md)**: मोबाइल एप्लिकेशनों के लिए MobileSAM, Kyung Hee विश्वविद्यालय द्वारा। -9. **[फ़ास्ट सेगमेंट एनीथिंग मॉडल (FastSAM)](../../models/fast-sam.md)**: दृश्य और वीडियो विश्लेषण समूह, स्वचालन विज्ञान संस्थान, चीन संगठन द्वारा FastSAM। -10. **[YOLO-NAS](../../models/yolo-nas.md)**: YOLO Neural Architecture Search (NAS) मॉडल्स। -11. **[रियलटाइम डिटेक्शन ट्रांसफॉर्मर (RT-DETR)](../../models/rtdetr.md)**: बाइडू का PaddlePaddle रियलटाइम डिटेक्शन ट्रांसफॉर्मर (RT-DETR) मॉडल। +1. **[YOLOv3](yolov3.md)**: YOLO मॉडल परिवार का तीसरा संस्करण, जिसे जोसेफ रेडमोन द्वारा बनाया गया है, जो इसकी कुशल रियल-टाइम ऑब्जेक्ट डिटेक्शन क्षमताओं के लिए जाना जाता है। +2. **[YOLOv4](yolov4.md)**: YOLOv3 को अपडेट करने वाला एक डार्कनेट-नेटिव, जिसे 2020 में एलेक्सी बोचकोवस्की द्वारा जारी किया गया। +3. **[YOLOv5](yolov5.md)**: उल्ट्रालाइटिक्स द्वारा बेहतर YOLO आर्किटेक्चर का एक सुधारित संस्करण, जो पिछले संस्करणों की तुलना में बेहतर प्रदर्शन और गति की समझौता की पेशकश करता है। +4. **[YOLOv6](yolov6.md)**: 2022 में [Meituan](https://about.meituan.com/) द्वारा जारी किया गया, और कंपनी के कई स्वायत्त डिलीवरी रोबोट्स में उपयोग में। +5. **[YOLOv7](yolov7.md)**: 2022 में YOLOv4 के लेखकों द्वारा जारी किया गया अपडेटेड YOLO मॉडल। +6. **[YOLOv8](yolov8.md) नया 🚀**: YOLO परिवार का नवीनतम संस्करण, जिसमें इंस्टेंस सेगमेंटेशन, पोज/कीपॉइंट्स अनुमान, और क्लासिफिकेशन जैसी उन्नत क्षमताएं शामिल हैं। +7. **[Segment Anything Model (SAM)](sam.md)**: मेटा के Segment Anything Model (SAM)। +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: मोबाइल एप्लिकेशनों के लिए MobileSAM, क्युंग ही यूनिवर्सिटी द्वारा। +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: चीनी विज्ञान अकादमी, ऑटोमेशन संस्थान के इमेज & वीडियो एनालिसिस ग्रुप द्वारा FastSAM। +10. **[YOLO-NAS](yolo-nas.md)**: YOLO न्यूरल आर्किटेक्चर सर्च (NAS) मॉडल्स। +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: बैदु के पडलपैडल Realtime Detection Transformer (RT-DETR) मॉडल।


@@ -36,59 +36,63 @@ Ultralytics के मॉडल दस्तावेज़ीकरण मे allowfullscreen>
- देखें: थोड़ी सी कोड के कुछ पंक्तियों में Ultralytics YOLO मॉडल चलाएँ। + देखें: कुछ लाइनों के कोड में Ultralytics YOLO मॉडल्स को चलाएं।

## प्रारंभ करना: उपयोग उदाहरण +यह उदाहरण योलो प्रशिक्षण और अनुमान के सरल उदाहरण प्रदान करता है। इन और अन्य [modes](../modes/index.md) के पूर्ण दस्तावेज़ीकरण के लिए [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) और [Export](../modes/export.md) दस्तावेज़ों के पन्नों को देखें। + +नीचे दिया गया उदाहरण YOLOv8 [Detect](../tasks/detect.md) मॉडल्स के लिए है, जो ऑब्जेक्ट डिटेक्शन के लिए हैं। अतिरिक्त समर्थित कार्यों के लिए [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) और [Pose](../tasks/pose.md) दस्तावेज़ों को देखें। + !!! Example "उदाहरण" === "Python" - PyTorch पूर्व-प्रशिक्षित `*.pt` मॉडल और विन्यास `*.yaml` फ़ाइलों को पायथन में योगदान करने के लिए `YOLO()`, `SAM()`, `NAS()` और `RTDETR()` कक्षाओं को पास करके मॉडल की एक नमूना उत्पन्न की जा सकती है: + पायथन में मॉडल बनाने के लिए PyTorch प्रीट्रेन्ड '*.pt' मॉडल्स के साथ-साथ कॉन्फ़िगरेशन '*.yaml' फ़ाइलों को `YOLO()`, `SAM()`, `NAS()` और `RTDETR()` क्लासेज़ में पास किया जा सकता है: ```python from ultralytics import YOLO - # एक COCO-पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें + # COCO-प्रीट्रेन्ड YOLOv8n मॉडल लोड करें model = YOLO('yolov8n.pt') - # मॉडल जानकारी प्रदर्शित करें (वैकल्पिक) + # मॉडल की जानकारी दिखाएँ (वैकल्पिक) model.info() - # COCO8 उदाहरण डेटासेट पर मॉडल 100 एपॉक्स के लिए प्रशिक्षित करें + # COCO8 उदाहरण डेटासेट पर 100 एपोक्स के लिए मॉडल प्रशिक्षित करें results = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # YOLOv8n मॉडल के साथ 'bus.jpg' छवि पर इंफ़ेरेंस चलाएँ + # 'bus.jpg' इमेज पर YOLOv8n मॉडल के साथ अनुमान चलाएँ results = model('path/to/bus.jpg') ``` === "CLI" - मॉडलों को सीधे चलाने के लिए CLI कमांड प्रदान किए गए हैं: + CLI कमांड्स उपलब्ध हैं जो सीधे मॉडल्स को चलाने के लिए हैं: ```bash - # एक COCO-पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें और इसे COCO8 उदाहरण डेटासेट पर 100 एपॉक्स के लिए प्रशिक्षित करें + # COCO-प्रीट्रेन्ड YOLOv8n मॉडल को लोड करें और COCO8 उदाहरण डेटासेट पर 100 एपोक्स के लिए प्रशिक्षित करें yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # एक COCO-पूर्व-प्रशिक्षित YOLOv8n मॉडल लोड करें और 'bus.jpg' छवि पर इंफ़ेरेंस चलाएँ + # COCO-प्रीट्रेन्ड YOLOv8n मॉडल को लोड करें और 'bus.jpg' इमेज पर अनुमान चलाएँ yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## नए मॉडल का योगदान देना +## नए मॉडल्स का योगदान -Ultralytics में अपना मॉडल योगदान करने में रुचि है? शानदार! हमें हमेशा अपने मॉडल पोर्टफोलियो का विस्तार करने के लिए खुले दिमाग से आगे बढ़ने की आवश्यकता है। +आप Ultralytics में अपने मॉडल का योगदान देने के इच्छुक हैं? बहुत बढ़िया! हम हमेशा अपने मॉडल पोर्टफोलियो का विस्तार करने के लिए खुले हैं। -1. **यहाँ से रिपॉजिटरी फोर्क करें**: सबसे पहले, [Ultralytics GitHub रिपॉजिटरी](https://github.com/ultralytics/ultralytics) को फोर्क करके शुरू करें। +1. **रिपॉजिटरी फोर्क करें**: [Ultralytics GitHub रिपॉजिटरी](https://github.com/ultralytics/ultralytics) को फोर्क करके शुरू करें। -2. **अपने फोर्क को क्लोन करें**: अपने फोर्क को अपनी स्थानीय मशीन पर क्लोन करें और काम करने के लिए एक नया शाखा बनाएं। +2. **अपने फोर्क को क्लोन करें**: अपने फोर्क को अपनी लोकल मशीन पर क्लोन करें और काम करने के लिए एक नई ब्रांच बनाएं। -3. **अपना मॉडल लागू करें**: अपना मॉडल उन्नत करें और Coding मानकों और दिशानिर्देशिकाओं का पालन करते हुए इसे जोड़ें। हमारे [योगदान गाइड](../../help/contributing.md) में उपलब्ध विवरणीय चरणों के लिए संपर्क करें। +3. **अपना मॉडल लागू करें**: हमारे [Contributing Guide](../../help/contributing.md) में दिए गए कोडिंग स्टैंडर्ड्स और दिशानिर्देशों का अनुसरण करते हुए अपने मॉडल को जोड़ें। -4. **पूरी तरह से परीक्षण करें**: अपना मॉडल सम्पूर्ण रूप से औधोगिक रूप से परीक्षण करें, एकांत में और पाइपलाइन का हिस्सा के रूप में। +4. **गहराई से परीक्षण करें**: अपने मॉडल का परीक्षण अलग से और पाइपलाइन के हिस्से के रूप में किया जा सकता है। -5. **एक पुल अनुरोध बनाएं**: अपने मॉडल से संतुष्ट होने के बाद, मुख्य रिपॉजिटरी के लिए एक पुल अनुरोध बनाएं जिसका समीक्षा की जाएगी। +5. **पुल रिक्वेस्ट बनाएं**: एक बार जब आप अपने मॉडल से संतुष्ट हो जाएं, तो समीक्षा के लिए मुख्य रिपॉजिटरी को एक पुल रिक्वेस्ट बनाएं। -6. **कोड समीक्षा और मर्ज**: समीक्षा के बाद, यदि आपका मॉडल हमारे मानदंडों को पूरा करता है, तो यह मुख्य रिपॉजिटरी में मर्ज हो जाएगा। +6. **कोड समीक्षा और मिलान**: समीक्षा के बाद, यदि आपका मॉडल हमारे मानदंडों को पूरा करता है, तो इसे मुख्य रिपॉजिटरी में मिला दिया जाएगा। -विस्तृत चरणों के लिए, हमारे [योगदान गाइड](../../help/contributing.md) पर देखें। +विस्तृत चरणों के लिए हमारा [Contributing Guide](../../help/contributing.md) देखें। diff --git a/docs/hi/models/mobile-sam.md b/docs/hi/models/mobile-sam.md new file mode 100644 index 00000000000..ea9da4a4b4e --- /dev/null +++ b/docs/hi/models/mobile-sam.md @@ -0,0 +1,115 @@ +--- +comments: true +description: Ultralytics मार्गदर्शिका में MobileSAM के बारे में और उसके प्रायोगशाला तुलनात्मक विवेचन, मूल SAM के साथ तुलना और इसे Ultralytics ढांचे में डाउनलोड और परीक्षण कैसे करें। अपने मोबाइल ऐप्लिकेशन को बेहतर बनाएं। +keywords: MobileSAM, Ultralytics, SAM, मोबाइल ऐप्लिकेशन, Arxiv, GPU, API, छवि एनकोडर, मास्क डिकोडर, मॉडल डाउनलोड, परीक्षण पद्धति +--- + +![MobileSAM लोगो](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# मोबाइल सेगमेंट कुछ भी (MobileSAM) + +मोबाइलSAM पेपर [arXiv](https://arxiv.org/pdf/2306.14289.pdf) पर अब उपलब्ध है। + +MobileSAM के संचालन का एक प्रदर्शन कम्प्यूटर पर पहुंचा जा सकता है उस [डेमो लिंक](https://huggingface.co/spaces/dhkim2810/MobileSAM) के माध्यम से। Mac i5 CPU पर प्रदर्शन करने में लगभग 3 सेकंड का समय लगता है। हगिंग फेस डेमो परिवेश और कम प्रदर्शन वाले सीपियू ने प्रतिक्रिया को धीमी किया है, लेकिन यह अभी भी प्रभावी ढंग से काम करता है। + +मोबाइलSAM [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling), और [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D) सहित विभिन्न परियोजनाओं में लागू है। + +मोबाइलSAM एक एकल GPU पर 100k डेटासेट (मूल छवि का 1%) के साथ प्रशिक्षित होता है और इसमें एक दिन से कम समय लगता है। इस प्रशिक्षण के लिए कोड भविष्य में उपलब्ध कराया जाएगा। + +## उपलब्ध मॉडल, समर्थित कार्य और ऑपरेटिंग मोड + +इस तालिका में उपलब्ध मॉडल, उनके विशिष्ट पूर्व-प्रशिक्षित वजन, वे कार्य जिन्हें वे समर्थन करते हैं, और उनका अभिन्नतम संगतता के साथ विभिन्न ऑपरेटिंग मोड (इंफरेंस, वैधानिकी, प्रशिक्षण, और निर्यात) प्रदर्शित किए गए हैं, जिन्हें समर्थित मोड के लिए ✅ emoji और असमर्थित मोड के लिए ❌ emoji से दर्शाया गया है। + +| मॉडल प्रकार | पूर्व-प्रशिक्षित वजन | समर्थित कार्य | इंफरेंस | वैधानिकी | प्रशिक्षण | निर्यात | +|-------------|----------------------|--------------------------------------------|---------|----------|-----------|---------| +| MobileSAM | `mobile_sam.pt` | [इंस्टेंस सेगमेंटेशन](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## SAM से MobileSAM में अनुकूलन + +MobileSAM मूल SAM की तरफ से समान पाइपलाइन बरकरार रखता है, हमने मूल की प्री-प्रोसेसिंग, पोस्ट-प्रोसेसिंग और सभी अन्य इंटरफेसों को सम्मिलित कर दिया है। इसलिए, वर्तमान में मूल SAM का उपयोग करने वाले लोग मिनिमल प्रयास के साथ MobileSAM में ट्रांसिशन कर सकते हैं। + +MobileSAM मूल SAM के समान पाइपलाइन में उत्तम प्रदर्शन करता है और केवल छवि एन्कोडर में परिवर्तन होता है। विशेष रूप से, हम मूल भारीवज्ञानिक ViT-H एन्कोडर (632M) को एक छोटे Tiny-ViT (5M) से बदलते हैं। एकल GPU पर MobileSAM लगभग 12ms प्रति छवि पर ऑपरेट करता है: 8ms छवि एन्कोडर पर और 4ms मास्क डिकोडर पर। + +विट-आधारित इमेज एन्कोडरों की तुलना नीचे दी गई तालिका प्रदान करती है: + +| छवि एन्कोडर | मूल SAM | MobileSAM | +|-------------|---------|-----------| +| पैरामीटर्स | 611M | 5M | +| स्पीड | 452ms | 8ms | + +मूल SAM और MobileSAM दोनों में समान प्रॉम्प्ट गाइडेड मास्क डिकोडर का उपयोग किया गया है: + +| मास्क डिकोडर | मूल SAM | MobileSAM | +|--------------|---------|-----------| +| पैरामीटर्स | 3.876M | 3.876M | +| स्पीड | 4ms | 4ms | + +यहां पाइपलाइन की तुलना है: + +| पूरा पाइपलाइन (एन्कोडर+डिकोडर) | मूल SAM | MobileSAM | +|--------------------------------|---------|-----------| +| पैरामीटर्स | 615M | 9.66M | +| स्पीड | 456ms | 12ms | + +MobileSAM और मूल SAM के प्रदर्शन को एक बिन्दु और बॉक्स के रूप में प्रदर्शित किया जाता है। + +![बिन्दु के रूप में छवि](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![बॉक्स के रूप में छवि](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +बेहतर प्रदर्शन से MobileSAM मौजूदा FastSAM की तुलना में लगभग 5 गुना छोटा और 7 गुना तेज है। अधिक विवरण [MobileSAM प्रोजेक्ट पेज](https://github.com/ChaoningZhang/MobileSAM) पर उपलब्ध हैं। + +## Ultralytics में MobileSAM का परीक्षण + +मूल SAM की तरह ही, हम Ultralytics में एक सीधा परीक्षण विधि प्रदान करते हैं, जिसमें बिंदु और बॉक्स प्रॉम्प्ट्स दोनों के लिए मोड शामिल हैं। + +### मॉडल डाउनलोड + +आप यहां से मॉडल डाउनलोड कर सकते हैं [here](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt)। + +### बिंदु प्रॉम्प्ट + +!!! Example "उदाहरण" + + === "Python" + ```python + from ultralytics import SAM + + # मॉडल लोड करें + model = SAM('mobile_sam.pt') + + # बिंदु प्रॉम्प्ट पर आधारित एक सेगमेंट पूर्वानुमान करें + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### बॉक्स प्रॉम्प्ट + +!!! Example "उदाहरण" + + === "Python" + ```python + from ultralytics import SAM + + # मॉडल लोड करें + model = SAM('mobile_sam.pt') + + # बॉक्स प्रॉम्प्ट पर आधारित एक सेगमेंट पूर्वानुमान करें + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +हमने `MobileSAM` और `SAM` दोनों को एक ही API का उपयोग करके इम्प्लिमेंट किया है। अधिक उपयोग जानकारी के लिए, कृपया [SAM पेज](sam.md) देखें। + +## संदर्भ और आभार + +अगर आप अपने अनुसंधान या विकास कार्य में MobileSAM का उपयोगयोगी पाते हैं, तो कृपया हमारे पेपर को साइट करने का विचार करें: + +!!! Quote "" +=== "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/hi/models/rtdetr.md b/docs/hi/models/rtdetr.md new file mode 100644 index 00000000000..383d780e5ba --- /dev/null +++ b/docs/hi/models/rtdetr.md @@ -0,0 +1,94 @@ +--- +comments: true +description: + Baidu के RT-DETR का अवलोकन करें: विज़न ट्रांसफॉर्मर के द्वारा संचालित, उन्नत और अनुकूलनयोग्य वास्तविक समय ऑब्जेक्ट डिटेक्टर, जिसमें तैयार मॉडल शामिल हैं। +keywords: RT-DETR, Baidu, विज़न ट्रांसफॉर्मर्स, ऑब्जेक्ट डिटेक्शन, वास्तविक समय प्रदर्शन, CUDA, TensorRT, IoU-जागरूक क्वेरी चयन, Ultralytics, पायथन एपीआई, PaddlePaddle +--- + +# Baidu के RT-DETR: एक विज़न ट्रांसफॉर्मर के आधार पर वास्तविक समय ऑब्जेक्ट डिटेक्टर + +## अवलोकन + +Baidu द्वारा विकसित रियल-टाइम डिटेक्शन ट्रांसफॉर्मर (RT-DETR) एक उन्नत, end-to-end ऑब्जेक्ट डिटेक्टर है जो उच्च नि: शुल्कता बनाए रखते हुए वास्तविक समय प्रदर्शन प्रदान करता है। यह Vision ट्रांसफॉर्मर्स (ViT) की शक्ति का उपयोग करके बहुस्तरीय सुविधाओं की कुशलतापूर्वक प्रोसेसिंग करता है और इंट्रा-स्केल इंटरेक्शन और क्रॉस-स्केल फ्यूजन को अलग करके विभिन्न मापों की सुविधा प्रदान करता है। RT-DETR अत्यधिक अनुकूलनयोग्य है, जिसमें ब्यावसायिक लिंग के विभिन्न डिकोडर लेयर का उपयोग करके उपन्यासात्मक गति को समायोजित करने की समर्थन की गई है बिना पुनर्प्रशिक्षण के। इस मॉडल का परिणामस्वरूप, जो कि CUDA और TensorRT के समर्थनयुक्त बैकेंड पर अच्छा क्रियाशील ऑब्जैक्ट डिटेक्टरों से अधिक प्रदर्शन करता है। + +![आदर्श छवि](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Baidu के RT-DETR का अवलोकन।** RT-DETR मॉडल आर्किटेक्चर आवचेदक जैसे आखिरी तीन स्टेज {S3, S4, S5} को इंपुट टू एन्कोडर के रूप में दर्शाता है। कटिहरण योग्य हाइब्रिड एन्कोडर अंत: धारण विशिष्टताओं को Ekत्रित और इंत्राक्ष स्थलीय लक्षण (AIFI) और क्रॉस-स्केल लक्षण-संघटन मॉड्यूल (CCFM) द्वारा चित्र विशेषण में परिवर्तित करता है। IoU-जागरूक क्वेरी चयन का उपयोग आदर्श छवि चयन के लिए निर्धारित संख्या के चित्र विशेषताओं को कवल वस्त्रण स्वरूप में चयनित करने के लिए किया जाता है। अंत में, डिकोडर सहायक पूर्वानुमान मुद्दा किसी विशेष छवि को उपयुक्त ऑब्जेक्ट क्वेरी के रूप में आरम्भ करने के लिए संशोधित किया जाता है जिसके अंत में बॉक्स और विश्वास स्कोर पैदा किया जाता है ([स्रोत](https://arxiv.org/pdf/2304.08069.pdf))। + +### मुख्य विशेषताएँ + +- **कटिहरण योग्य हाइब्रिड एन्कोडर:** Baidu के RT-DETR ने इंत्रा-स्केल इंटरेक्शन और क्रॉस-स्केल फ्यूजन को अलग करके बहुस्तरीय विशेषताओं को प्रोसेस करने के लिए एक कटिहरण योग्य हाइब्रिड एन्कोडर का उपयोग किया है। यह अद्वितीय विज़न ट्रांसफॉर्मर से आधिक हिमांशीय लागत को कम करता है और वास्तविक समय ऑब्जेक्ट डिटेक्शन की अनुमति देता है। +- **IoU-जागरूक क्वेरी चयन:** Baidu के RT-DETR ने IoU-जागरूक क्वेरी चयन का उपयोग करके आदर्श छवि चयन को सुधारा है। इससे मॉडल द्वारा सीन में सबसे प्रासंगिक ऑब्जेक्ट पर केन्द्रित किया जा सकता है, जिससे डिटेक्शन की निशाना स्पष्टता में सुधार होती है। +- **अनुकूलनयोग्य अनुमान प्रदान:** Baidu के RT-DETR ने पुनर्प्रशिक्षण के आवश्यकता के बिना भिन्न डिकोडर लेयर का उपयोग करके अनुमान की गति की मान्यता में सुविधाएं समर्थित की हैं। यह अनुकूलनयोग्यता वास्तविक समय ऑब्जेक्ट डिटेक्शन स्थितियों में व्यावहारिक लागू करने की सहायता करती है। + +## प्री-तारकित मॉडल + +Ultralytics Python API विभिन्न स्केलों के साथ प्री-तारकित PaddlePaddle RT-DETR मॉडल प्रदान करता है: + +- RT-DETR-L: COCO val2017 पर 53.0% AP, T4 GPU पर 114 FPS +- RT-DETR-X: COCO val2017 पर 54.8% AP, T4 GPU पर 74 FPS + +## उपयोग उदाहरण + +यह उदाहरण सरल RT-DETRR प्रशिक्षण और संदर्भ उदाहरण प्रदान करता है। पूरे दस्तावेज़ीकरण के लिए इन और अन्य [modes](../modes/index.md) पर देखें: [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) और [Export](../modes/export.md) दस्तावेज़ पृष्ठों। + +!!! Example "उदाहरण" + + === "पायथन" + + ```python + from ultralytics import RTDETR + + # COCO-प्री-तारकित RT-DETR-l मॉडल लोड करें + model = RTDETR('rtdetr-l.pt') + + # मॉडल जानकारी प्रदर्शित करें (वैकल्पिक) + model.info() + + # COCO8 उदाहरण डेटासेट पर मॉडल को 100 एपिसोड के लिए प्रशिक्षित करें + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # RT-DETR-l मॉडल के साथ 'bus.jpg' छवि पर संदर्भ चलाएं + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # COCO-प्री-तारकित RT-DETR-l मॉडल को लोड करें और उसे COCO8 उदाहरण डेटासेट पर 100 एपिसोड के लिए प्रशिक्षित करें + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO-प्री-तारकित RT-DETR-l मॉडल को लोड करें और 'bus.jpg' छवि पर संदर्भ चलाएं + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## समर्थित कार्य और मोड + +इस तालिका में मॉडल प्रकार, विशेष प्री-तारकित भार, हर मॉडल द्वारा समर्थित कार्य, और [Train](../modes/train.md) , [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md) इत्यादि जैसे विभिन्न मोड्स विभाजित की गई हैं, ✅ इमोजियों द्वारा संकेतित हैं + +| मॉडल प्रकार | प्री-तारकित भार | समर्थित कार्य | संदर्भ | मान्यता | प्रशिक्षण | निर्यात | +|---------------------|-----------------|-----------------------------------------|--------|---------|-----------|---------| +| RT-DETR Large | `rtdetr-l.pt` | [ऑब्जेक्ट डिटेक्शन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [ऑब्जेक्ट डिटेक्शन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## प्रशंसापत्र और आभार + +यदि आप अपने शोध या विकास कार्य में Baidu के RT-DETR का उपयोग करते हैं, कृपया [मूल पेपर](https://arxiv.org/abs/2304.08069) को उद्धृत करें: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +हम Baidu और [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) टीम को आभार प्रकट करना चाहेंगे जिन्होंने बिल्कुल लोक-दृष्टि समुदाय के लिए इस योग्य संसाधन को बनाने और संभालने का कार्य किया है। विज़न ट्रांसफॉर्मर्स-आधारित वास्तविक समय ऑब्जेक्ट डिटेक्टर RT-DETR के विकास के साथ उनके योगदान को बड़ा रूप से स्वीकार किया जाता है। + +*Keywords: RT-DETR, ट्रांसफॉर्मर, ViT, विज़न ट्रांसफॉर्मर्स, Baidu RT-DETR, PaddlePaddle, PaddlePaddle RT-DETR, वास्तविक समय ऑब्जेक्ट डिटेक्शन, विज़न ट्रांसफॉर्मर्स आधारित ऑब्जेक्ट डिटेक्शन, प्री-तारकित PaddlePaddle RT-DETR मॉडल, Baidu के RT-DETR का उपयोग, Ultralytics Python API* diff --git a/docs/hi/models/sam.md b/docs/hi/models/sam.md new file mode 100644 index 00000000000..2c5f1da0166 --- /dev/null +++ b/docs/hi/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Ultralytics के Segment Anything Model (SAM) की अभिनव सेगमेंटेशन मॉडल का पता लगाएं जो रीयल-टाइम छवि सेगमेंटेशन की अनुमति देता है। समझें कि इसमें promptable सेगमेंटेशन, zero-shot प्रदर्शन शामिल है और यह कैसे उपयोग किया जाता है। +keywords: Ultralytics, Image segmentation, Segment Anything Model, SAM, SA-1B डेटासेट, रीयल-टाइम प्रदर्शन, zero-shot ट्रांसफर, वस्तु पहचानन, छवि विश्लेषण, मशीन लर्निंग +--- + +# Segment Anything Model (SAM) + +Segment Anything Model (SAM), यानी वस्तु को के सिलसीलेबंद छवि सेगमेंटेशन के पहले खंड "SAM"में आपका स्वागत है। यह क्रांतिकारी मॉडल समयबद्ध प्रदर्शन के साथ promptable छवि सेगमेंटेशन द्वारा खेल को बदल चुका है और क्षेत्र में नई मानकों को स्थापित किए हैं। + +## SAM: Segment Anything Model का परिचय + +Segment Anything Model (SAM), यानी SAM, एक अभिनव छवि सेगमेंटेशन मॉडल है जो promptable सेगमेंटेशन की अनुमति देता है, जिससे छवि विश्लेषण कार्यों में अविश्वसनीय विविधता प्राप्त होती है। SAM, Segment Anything पहल के दिल में आता है, जो छवि सेगमेंटेशन के लिए नई मॉडल, कार्य और डेटासेट का परिचय कराता है। + +SAM का उन्नत डिजाइन इसे नई छवि वितरणों और कार्यों के लिए पूर्वज्ञान के बिना सामायिक होने देता है, जिसे जीरो-शॉट ट्रांसफर के नाम से जाना जाता है। विस्तारशील [SA-1B डेटासेट](https://ai.facebook.com/datasets/segment-anything/) पर (जिसमें 1 अरब से अधिक मास्क हैं जो 11 मिलियन सावधानीपूर्वक इच्छीत छवियों पर बिखेरे गए हैं), SAM ने वास्तव में दिखाया है कि यह बेहद श्रेष्ठ जीरो-शॉट प्रदर्शन का anomaly-detection करने वाले पहले परिणामों को हर हाल में छू सकता है। + +![सैंपल डेटासेट छवि](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +हमारे नई पेशकश डेटासेट, SA-1B से दिए गए ओवरले मास्क वाली उदाहरण छवियाँ। SA-1B में 11M विविध, उच्च-रिजोल्यूशन, लाइसेंस और प्राइवेसी संरक्षण योग्य छवियाँ और 1.1B उच्च-गुणवत्ता वाले सेगमेंटेशन मास्क मौजूद हैं। इन मास्क को SAM द्वारा पूर्णतः स्वचालित रूप से टिप्पणी की गई हैं, और मानवीय रेटिंग और अनेक अभ्यासों से सत्यापित हुए अनुसार, इनकी गुणवत्ता और विविधता प्रमुख हैं। छवियों की संख्या के आधार पर छवियाँ समूहित की गई हैं (औसतन प्रति छवि पर लगभग 100 मास्क होती हैं)। + +## Segment Anything Model (SAM) की मुख्य विशेषताएं + +- **Promptable Segmentation Task:** SAM का निर्माण promptable सेगमेंटेशन कार्य के साथ किया गया है, जिसके बाद वह कोई भी प्रोम्प्ट देकर मान्य सेगमेंटेशन मास्क उत्पन्न कर सकता है, जैसे कि वस्तु का निर्देश करने वाले स्थानिक या पाठ संकेत। +- **उन्नत वास्तविकता:** Segment Anything Model में एक शक्तिशाली छवि इनकोडर, प्रोम्प्ट इनकोडर, और हल्की वजन के मास्क डीकोडर की बाईं लगाम लगातार बदलाव और अस्पष्टता की जागरूकता पर आधारित होती है। यह विशेष आर्किटेक्चर प्रारंभिक जोखिम ज्ञान के बिना नए क्षेत्रों और छवि वितरणों के लिए सुविधाजनक होने की अनुमति देता है। +- **SA-1B डेटासेट:** SAM पहल के द्वारा प्रस्तुत किए गए SA-1B डेटासेट में 11 मिलियन छवियों पर 1 अरब से अधिक मास्क होती हैं। इसे अब तक का सबसे बड़ा सेगमेंटेशन डेटासेट माना जाता है, जिससे SAM को विविधतापूर्ण और बड़े पैमाने पर भड़ास ट्रेनिंग डेटा स्रोत प्राप्त होता है। +- **जीरो-शॉट प्रदर्शन:** SAM विभिन्न सेगमेंटेशन कार्यों में उत्कृष्ट जीरो-शॉट प्रदर्शन प्रदर्शित करता है, जिससे यह विविध अनुप्रयोगों के लिए तत्परता के आवश्यकता के साथ तत्परता के यन्त्रियों के लिए तत्परता के यंत्रों के लिए तत्पर करने योग्य एक तत्परता यंत्र बन गया है। + +Segment Anything Model और SA-1B डेटासेट की गहन जानकारी के लिए, कृपया [Segment Anything वेबसाइट](https://segment-anything.com) पर जाएं और शोध पेपर [Segment Anything](https://arxiv.org/abs/2304.02643) की जाँच करें। + +## उपलब्ध मॉडल, समर्थित कार्य और संचालनिक विधियाँ + +यह तालिका उपलब्ध मॉडल, उनकी विशेष पूर्व-प्रशिक्षित वेट, उनके समर्थित कार्य और इंफरेंस, मान्यीकरण, प्रशिक्षण और निर्यात जैसे विभिन्न संचालित विधियों के साथ उनकी संबद्धता का प्रस्ताव प्रस्तुत करती है. + +| मॉडल प्रकार | पूर्व-प्रशिक्षित वेट | समर्थित कार्य | Inference | Validation | Training | Export | +|-------------|----------------------|---------------------|-----------|------------|----------|--------| +| SAM बेस | `sam_b.pt` | इंस्टेंस सेगमेंटेशन | ✅ | ❌ | ❌ | ✅ | +| SAM लार्ज | `sam_l.pt` | इंस्टेंस सेगमेंटेशन | ✅ | ❌ | ❌ | ✅ | + +## SAM का उपयोग कैसे करें: छवि सेगमेंटेशन में यथार्थता और शक्ति + +Segment Anything Model का उपयोग उपस्थित डेटा से आगे के कार्यों के लिए किया जा सकता है। इसमें एज डिटेक्शन, निवेदन प्रस्ताव उत्पादन, इंस्टेंस सेगमेंटेशन, और प्राथमिक पाठ-तो-मास्क पूर्वानुमान शामिल हैं। प्रोम्प्ट इंजीनियरिंग के साथ, SAM नए कार्यों और डेटा वितरणों के लिए जीरो-शॉट तरीके में शीघ्र रूप से अनुकूलित हो सकता है, जिससे यह आपकी सभी छवि सेगमेंटेशन आवश्यकताओं के लिए एक सुगम और प्रभावी उपकरण बन जाता है। + +### SAM पूर्वानुमान उदाहरण + +!!! Example "निर्दिष्ट प्रप्ति के साथ सेगमेंट तय करें" + + निर्दिष्ट प्रप्ति के साथ चित्रीय भविष्यवाणी करें। + + === "टख्ती" + + ```python + from ultralytics import SAM + + # एक मॉडल लोड करें + model = SAM('sam_b.pt') + + # मॉडल सूचना प्रदर्शित करें (वैकल्पिक) + model.info() + + # बॉक्स प्रम्प्ट के साथ इनफ़रन्स चलाएं + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # बिंदु प्रम्प्ट के साथ इनफ़रन्स चलाएं + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "सब कुछ सेगमेंट करें" + + पूरी छवि को सेगमेंट करें। + + === "टख्ती" + + ```python + from ultralytics import SAM + + # एक मॉडल लोड करें + model = SAM('sam_b.pt') + + # मॉडल सूचना प्रदर्शित करें (वैकल्पिक) + model.info() + + # इनफ़रेंस चलाएं + model('पथ/फ़ाइल/सदृश छवि.जेपीजी') + ``` + + === "CLI" + + ```बैश + # सब कुछ SEKैग के साथ SAM मॉडल के साथ इनफ़रन्स चलाएं + yolo predict model=sam_b.pt source=पथ/फ़ाइल/सदृश छवि.जेपीजी + ``` + +- यहां यह तर्क है कि आप प्रोम्प्ट (बॉक्स / पॉइंट / मास्क) पास नहीं करते हैं तो पूरी छवि को सेगमेंट करें। + +!!! Example "SAMPredictor उदाहरण" + + इस तरह से आप एक बार छवि सेट कर सकते हैं और बार-बार प्रोम्प्ट इन्फ़रेंस चला सकते हैं। छवि को बार बार इन्कोडर के मध्य में नहीं चलाने के लिए। + + === "प्रोम्प्ट भविष्यवाणी करना" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor बनाएं + overrides = dict(conf=0.25, task='कटा', mode='पूर्वानुमान', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # चित्र सेट करें + predictor.set_image("ultralytics/assets/zidane.jpg") # चित्र फ़ाइल के साथ सेट करें + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # एनपी. एस. एन. द्वारा सेट करें + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # चित्र रीसेट करें + predictor.reset_image() + ``` + + अतिरिक्त तत्वों के साथ सब कुछ को टुकड़ों में विभाजित करें। + + === "सब कुछ का सेगमेंट" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor बनाएं + overrides = dict(conf=0.25, task='सेगमेंट', mode='पूर्वानुमान', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # अतिरिक्त तत्वों के साथ सेगमेंट + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- `सब कुछ का सेगमेंट` के लिए अतिरिक्त तत्वों के लिए अधिक देखें [`Predictor/generate` Reference](../../reference/models/sam/predict.md). + +## SAM की तुलना YOLOv8 के बनाम + +यहां हम SAM के सबसे छोटे मॉडल, SAM-b, की तुलना Ultralytics के सबसे छोटे सेगमेंट मॉडल, [YOLOv8n-seg](../टास्क/सेगमेंट.md), के साथ करते हैं: + +| मॉडल | आकार | पैरामीटर | गति (सीपीयू) | +|--------------------------------------------------------------------|-----------------------------|----------------------|-------------------------| +| SAM का सबसे छोटा, SAM-b | 358 MB | 94.7 M | 51096 ms/im | +| [मोबाइल SAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [अग्री सेगमेंटेशन वाली FastSAM-s, YOLOv8 बैकबोन सहित](fast-sam.md) | 23.7 MB | 11.8 M | 115 ms/im | +| Ultralytics [योलोवी8न-seg](../टास्क/सेगमेंट.md) | **6.7 MB** (53.4 गुना छोटा) | **3.4 M** (27.9x कम) | **59 ms/im** (866x तेज) | + +यह तुलना मॉडल के आकार और गति में दस्तावेजीय अंतर दिखाती है। जहां SAM स्वचालित सेगमेंटेशन के लिए अद्वितीय क्षमताओं को प्रस्तुत करता है, वहीं Ultralytics विद्यमान सेगमेंटेशन मानदंडों के तुलनात्मक आकार, गति और संचालन क्षमता में समर्थन प्रदान करती है। + +एक 2023 Apple M2 Macbook (16GB रैम के साथ) पर चलाई गई परीक्षा। इस परीक्षण को दोहराने के लिए: + +!!! Example "उदाहरण" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # SAM-b प्रोफाइल करें + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # मोबाइलSAM प्रोफाइल करें + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # FastSAM-s प्रोफाइल करें + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # YOLOv8n-seg प्रोफाइल करें + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## स्वत: टिपण्णीकरण: सेगमेंटेशन डेटासेट के लिए एक त्वरित मार्ग + +स्वत: टिपण्णीकरण SAM की एक मुख्य सुविधा है जो उपयोगकर्ताओं को एक पूर्व-प्रशिक्षित डिटेक्शन मॉडल का उपयोग करके [सेगमेंटेशन डेटासेट](https://docs.ultralytics.com/datasets/segment) उत्पन्न करने की अनुमति देती है। यह सुविधा बड़ी संख्या में छवियों को क्वालिटी कंट्रोल से आनोत करने की जरूरत के दौरान समयरोकी मूल्य अंकन की जरूरत छोड़ती है। + +### अपने सेगमेंटेशन डेटासेट के उपयोग के लिए गतिशीलता निर्मित करें + +Ultralytics फ़्रेमवर्क के साथ स्‍वस्‍थ दिखाई देने वाले वर्गानुसार [सेगमेंटेशन डेटासेट](https://docs.ultralytics.com/datasets/segment) बनाएं। एपनी में दिए गए आदेश का उपयोग करके। + +!!! Example "उदाहरण" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="पथ/सामग्री", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| तत्व | प्रकार | विवरण | डिफ़ॉल्ट | +|------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------|--------------| +| डेटा | str | अनुमानित मूल छवियाँ जो आंशिक प्रतिसादान के लिए अनुमानित हैं। | | +| det_model | str, वैकल्पिक | पूर्व-प्रशिक्षित YOLO डिटेक्शन मॉडल। 'yolov8x.pt' डिफ़ॉल्ट रूप से होता है। | 'yolov8x.pt' | +| sam_model | str, वैकल्पिक | पूर्व-प्रशिक्षित SAM सेगमेंटेशन मॉडल। डिफ़ॉल्ट रूप से 'sam_b.pt' है। | 'sam_b.pt' | +| device | str, वैकल्पिक | मॉडल को चलाने के लिए डिवाइस। डिफ़ॉल्ट रूप से एक खाली स्ट्रिंग होता है (सीपीयू या जीपीयू, यदि उपलब्ध है)। | | +| output_dir | str, कोई वैकल्पिक | टिपण्णीत परिणाम सहेजने के लिए निर्देशिका। इसे 'डेटा' के समान डिरेक्टरी में "निर्देशिकाएं" निर्दिष्ट करने के लिए डिफ़ॉल्ट मान नहीं होता है। | कोई | + +`ऑटो_तिपण्णी` फ़ंक्शन आपकी छवियों के लिए यातायात का कार्यक्रम देखती है और सेगमेंटेशन सेट को आपके छवि के पथ सेट करती है, वैकल्पिक तत्वों के लिए पूर्व-प्रशिक्षित डिटेक्शन और SAM सेगमेंटेशन मॉडल, मॉडल को चलाने के लिए डिवाइस और टिपण्णीत परिणाम सहेजने के लिए निर्देशिका जैसे, इन कार्यक्रम तत्वों का उपयोग करते हुए। + +पूर्व-प्रशिक्षित मॉडल के साथ स्वत: टिपण्णीकरण छवि एनोटेशन एक बड़े पैमाने पर सेगमेंटेशन डेटासेट बनाने के लिए प्रायोगिक और ऊर्जावान उपकारण है। यह सुविधा विशेष रूप से उस समय सुरेखितह रेखांकीकरण के लिए समय-शीघ्रता द्वारा तय कार्यों के साथ, उच्च गुणवत्ता वाले सेगमेंटेशन डेटासेट बनाने के लिए अधिक जरूरी होता है। इस सुविधा का उद्देश्यसिद्ध उपयोगकर्ताओं और डेवलपर्स के लिए विद्यमान छवि संग्रहों के साथ जटिल सूक्ष्म मॉडल विकास और मान्यानुयोग का महत्वपूर्ण विकल्प प्रदान करती है। + +## प्रशंसा और आभार + +यदि आप अपने शोध या विकास के लिए SAM का उपयोगकर्ता करते हैं, तो कृपया हमारे पेपर को उदाहरणित करने को विचार करें: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +हम कंप्यूटर विज्ञान समुदाय के लिए इस मूल्यवान संसाधन को निर्मित और बनाए रखने के लिए तारीफ करना चाहेंगे। + +*संकेत: Segment Anything, Segment Anything Model, समुद्री, Meta SAM, छवि सेगमेंटेशन, promptable सेगमेंटेशन, zero-shot प्रदर्शन, SA-1B डेटा सेट, उन्नत आर्किटेक्चर, स्वत: टिपण्णीकरण, Ultralytics, पूर्व-प्रशिक्षित मॉडलें, SAM बेस, SAM-लार्ज, इंस्टेंस सेगमेंटेशन, कंप्यूटर विज्ञान, AI, artificial intelligence, machine learning, data annotation, segmentation masks, डिटेक्शन मॉडल, YOLO डिटेक्शन मॉडल, bibtex, Meta AI. diff --git a/docs/hi/models/yolo-nas.md b/docs/hi/models/yolo-nas.md new file mode 100644 index 00000000000..0e3a18e37e5 --- /dev/null +++ b/docs/hi/models/yolo-nas.md @@ -0,0 +1,119 @@ +--- +comments: true +description: YOLO-NAS एक बेहतर वस्तु पहचान मॉडल है। इसकी विशेषताएँ, प्री-प्रशित मॉडल, Ultralytics Python API के साथ उपयोग और अधिक के बारे में विस्तृत दस्तावेज़ीकरण जानें। +keywords: YOLO-NAS, Deci AI, object detection, deep learning, neural architecture search, Ultralytics Python API, YOLO model, pre-trained models, quantization, optimization, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## अवलोकन + +डेसी एआई द्वारा विकसित YOLO-NAS एक महत्वपूर्ण वस्तु पहचान मूलभूत मॉडल है। यह पिछले YOLO मॉडलों की सीमाओं का समाधान करने के लिए मानकर्मशास्त्रीय संरचना खोज प्रौद्योगिकी का उत्पाद है। क्वांटाइज़ेशन समर्थन और सटीकता-लेटेंसी विनिमय में काफी सुधार के साथ, YOLO-NAS वस्तु पहचान में एक महत्वपूर्ण आगे की लड़ाई प्रस्तुत करता है। + +![मॉडल उदाहरण छवि](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**YOLO-NAS का अवलोकन।** YOLO-NAS आपेक्षिकता के लिए ब्लॉक्स और वैकल्पिक क्वांटाइज़ेशन के साथ क्वांटाइज़ेशन योग्य ब्लॉक का उपयोग करता है। मॉडल को INT8 क्वांटाइज़ेशन में रूपांतरित किया जाने पर, अन्य मॉडलों की तुलना में केवल थोड़ी सी सटीकता नुकसान होती है। ये उन्नति सभी विकसित विशेषताओं द्वारा योग्यतापूर्वक वस्तु पहचान क्षमताओं और अद्वितीय प्रदर्शन में समाप्त होती है। + +### मुख्य विशेषताएँ + +- **क्वांटाइज़ेशन-मित्रशील मूल ब्लॉक:** YOLO-NAS पिछले YOLO मॉडलों की एक महत्वपूर्ण सीमा को समाप्त करने के लिए एक नया मूल ब्लॉक पेश करता है। +- **सुरुचिपूर्वक प्रशिक्षण और क्वांटाइज़ेशन:** YOLO-NAS उन्नत प्रशिक्षण योजनाएं और पोस्ट-प्रशिक्षण क्वांटाइज़ेशन का उपयोग करता है ताकि प्रदर्शन में सुधार हो सके। +- **ऑटोएनएसी अनुकूलन और प्री-प्रशित:** YOLO-NAS ऑटोएनएसी अनुकूलन का उपयोग करता है और COCO, Objects365 और Roboflow 100 जैसे प्रमुख डेटासेटों पर प्री-प्रशित होता है। यह प्री-प्रशित इसे उत्पादन वातावरण में नीचे पड़ने वाले वस्तु पहचान कार्यों के लिए अत्यंत उपयुक्त बनाता है। + +## प्री-प्रशित मॉडल + +Ultralytics द्वारा प्रदान की गई प्री-प्रशित YOLO-NAS मॉडल के साथ आगामी पीढ़ी की वस्तु पहचान की शक्ति का अनुभव करें। ये मॉडल स्पीड और सटीकता दोनों में उत्कृष्ट प्रदर्शन करने के लिए डिज़ाइन किए गए हैं। अपनी विशिष्ट आवश्यकताओं के लिए विभिन्न विकल्पों में से चुनें: + +| मॉडल | mAP | लेटेंसी (मिलीसेकंड) | +|------------------|-------|---------------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +प्रत्येक मॉडल वेरिएंट mAP और लेटेंसी के बीच संतुलन का प्रस्ताव करने के लिए डिज़ाइन किए गए हैं, जो आपके वस्तु पहचान कार्यों को प्रदर्शन और गति दोनों के लिए आपकी आवश्यकताओं के लिए अनुकूलित करने में मदद करेगा। + +## उपयोग उदाहरण + +Ultralytics ने YOLO-NAS मॉडलों को आपके Python ऐप्लिकेशन में आसानी से एकीकृत करने के लिए हमारे `ultralytics` पाइथन पैकेज के माध्यम से सुविधाजनक पायथन API प्रदान किया है। पैकेज प्रक्रिया को सुगठित करने के लिए एक उपयोगकर्ता-मित्रपूर्ण पाइथन API प्रदान करता है। + +निम्न उदाहरण दिखाते हैं कि `उल्ट्रालिटिक्स` पैकेज के साथ YOLO-NAS मॉडलों का उपयोग `ultralytics` पैकेज के साथ कैसे करें: + +### पहचान और मान्यता उदाहरण + +इस उदाहरण में हम COCO8 डेटासेट पर YOLO-NAS-s की मान्यता करते हैं। + +!!! Example "उदाहरण" + + इस उदाहरण में हम YOLO-NAS के लिए सरल पहचान और मान्यता कोड प्रदान करते हैं। पहचान परिणामों का हैंडलिंग करने के लिए देखें [भविष्यवाणी](../प्राथमिकताएँ/भविष्यवाणी.md) मोड को। अतिरिक्त मोड के साथ YOLO-NAS का उपयोग करने के लिए [मान्यता](../प्राथमिकताएँ/मान्यता.md) और [निर्यात](../प्राथमिकताएँ/निर्यात.md) को देखें। `उल्ट्रालिटिक्स` पैकेज पर YOLO-NAS का प्रशिक्षण समर्थन नहीं करती है। + + === "Python" + + PyTorch प्री-प्रशित `*.pt` मॉडल फ़ाइलों को उल्ट्रालिटिक्स क्लास 'नास()' को पास किया जा सकता है ताकि पायथन में एक मॉडल मामला बनाया जा सके: + + ```python + from ultralytics import NAS + + # COCO-pretrained YOLO-NAS-s मॉडल लोड करें + model = NAS('yolo_nas_s.pt') + + # मॉडल की जानकारी दिखाएँ (वैकल्पिक) + model.info() + + # COCO8 उदाहरण डेटासेट पर मॉडल की मान्यता करें + results = model.val(data='coco8.yaml') + + # 'bus.jpg' छवि पर YOLO-NAS-s मॉडल के साथ पहचान चलाएं + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + मॉडलों को सीधे चलाने के लिए CLI कमांड उपलब्ध हैं: + + ```bash + # COCO-pretrained YOLO-NAS-s मॉडल लोड करें और उसकी प्रदर्शन मान्यता करें COCO8 उदाहरण डेटासेट पर + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # COCO-pretrained YOLO-NAS-s मॉडल लोड करें और 'bus.jpg' छवि पर पहचान चलाएं + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## समर्थित कार्य और मोड + +हम तीन YOLO-NAS मॉडल वेरिएंट प्रदान करते हैं: छोटा (s), मध्यम (m) और बड़ा (l)। प्रत्येक वेरिएंट विभिन्न कंप्यूटेशनल और प्रदर्शन आवश्यकताओं के लिए डिज़ाइन किए गए हैं: + +- **YOLO-NAS-s**: कम्प्यूटेशन संसाधन सीमित होते हैं लेकिन दक्षता महत्वपूर्ण हैं, ऐसे वातावरणों के लिए अनुकूलित। +- **YOLO-NAS-m**: एक संतुलित दृष्टिकोण प्रदान करता है, जिससे आपके पास उच्च सटीकता वाले सामान्य-उद्देश्य वस्तु पहचान के लिए उपयुक्तता होती है। +- **YOLO-NAS-l**: सबसे अधिक सटीकता की आवश्यकता होने वाले स्थितियों के लिए विशेष रूप से तैयार किया जाता है, जहां गणना संसाधनों की कम बाधा होती है। + +नीचे प्रत्येक मॉडल के बारे में एक विस्तृत अवलोकन दिया गया है, जिसमें उनकी प्री-प्रशित वेट, ये कार्य समर्थित करते हैं, और इनकी आपरेटिंग मोड के साथ उनका संगतता शामिल है। + +| मॉडल प्रकार | प्री-प्रशित वेट | समर्थित कार्य | पहचान | मान्यता | प्रशिक्षण | निर्यात | +|-------------|-----------------------------------------------------------------------------------------------|----------------------------------------|-------|---------|-----------|---------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [वस्तु पहचान](../कार्य/चित्र_पहचान.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [वस्तु पहचान](../कार्य/चित्र_पहचान.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [वस्तु पहचान](../कार्य/चित्र_पहचान.md) | ✅ | ✅ | ❌ | ✅ | + +## उद्धरण और प्रशंसापत्र + +यदि आप अपने शोध या विकास कार्य में YOLO-NAS का उपयोग करते हैं, कृपया SuperGradients को उद्धरण दें: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +हम Deci AI के [SuperGradients](https://github.com/Deci-AI/super-gradients/) टीम के प्रयासों के लिए आभार प्रकट करते हैं जिन्होंने इस महत्वपूर्ण संसाधन को बनाने और बनाए रखने के लिए। हम मानते हैं कि YOLO-NAS, अपने नवाचारी श्रेणीबद्ध संरचना और उत्कृष्ट वस्तु पहचान क्षमताओं के साथ एक महत्वपूर्ण उपकरण बनेगा जिसे उद्यमियों और शोधकर्ताओं के लिए आवश्यक साधन बना रखा जाएगा। diff --git a/docs/hi/models/yolov3.md b/docs/hi/models/yolov3.md new file mode 100644 index 00000000000..2a2c98f7a10 --- /dev/null +++ b/docs/hi/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: YOLOv3, YOLOv3-Ultralytics और YOLOv3u के बारे में जानें। इनकी प्रमुख विशेषताएँ, उपयोग और वस्तु डिटेक्शन के लिए समर्थित कार्यों की जानकारी प्राप्त करें। +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, वस्तु डिटेक्शन, इनफेरेन्स, प्रशिक्षण, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics, और YOLOv3u + +## सवाल + +ये प्रदर्शनी में तीन प्रमुख वस्तु डिटेक्शन मॉडलों, यानी [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) और [YOLOv3u](https://github.com/ultralytics/ultralytics), की एक अवलोकन प्रस्तुत करती है। + +1. **YOLOv3:** यह You Only Look Once (YOLO) वस्तु डिटेक्शन एल्गोरिदम का तीसरा संस्करण है। प्रारंभिक रूप में Joseph Redmon ने विकसित किया, YOLOv3 ने योग्यताओं का एक श्रेणी, जैसे कि मल्टीस्केल पूर्वानुमान और तीन भिन्न आकार के डिटेक्शन कर्नल्स, को शामिल करके अपने पूर्वजों पर सुधार किया। + +2. **YOLOv3-Ultralytics:** यह YOLOv3 मॉडल का Ultralytics अनुपालन है। इसने मूल YOLOv3 की वास्तविकता को पुनर्जीवित किया है और अतिरिक्त कार्यक्षमताओं, जैसे कि अधिक पूर्व-प्रशिक्षित मॉडलों का समर्थन और और सुगठनितकरण विकल्पों की सुविधा भी प्रदान करता है। + +3. **YOLOv3u:** यह YOLOv3-Ultralytics का एक अद्यतित संस्करण है जो YOLOv8 मॉडलों में उपयोग में लाया गया एंकर-मुक्त, टैग-न्यूमनेस स्प्लिट हेड को शामिल करता है। YOLOv3u में योग्यता योजना (backbone) और गर्दन (neck) की वास्तविकता तो बनाए रखती है, लेकिन डिटेक्शन हेड को YOLOv8 से अद्यतित कर देती है। + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## प्रमुख विशेषताएं + +- **YOLOv3:** डिटेक्शन के लिए तीन भिन्न पैमाने का उपयोग करने की एकता वाला यह मॉडल, 13x13, 26x26 और 52x52 के तीन भिन्न आकाृ के डिटेक्शन कर्नल्स के उपयोग से जल्दी जाने जाने वाले वस्तुओं के लिए डिटेक्शन की योग्यता में सुधार करती है। इसके अतिरिक्त, YOLOv3 ने प्रति बाउंडिग बॉक्स के लिए मल्टी-लेबल पूर्वानुमान और एक बेहतर फ़ीचर एक्सट्रैक्टर नेटवर्क जैसी विशेषताएँ भी जोड़ी हैं। + +- **YOLOv3-Ultralytics:** Ultralytics के YOLOv3 के अनुपालन में यह मॉडल मूल मॉडल की प्रदर्शन की समता प्रदान करता है, लेकिन इसके पास अतिरिक्त पूर्व-प्रशिक्षित मॉडलों, अधिक प्रशिक्षण विधियों और सुविधाजनक सुविधाएँ जैसे अतिरिक्त समर्थन होता है। इससे इसका विभिन्न अनुप्रयोगों में उपयोग करना संभव होता है। + +- **YOLOv3u:** यह अद्यतित मॉडल YOLOv8 से योग्यता योजना का उपयोग करता है। योज्ञता के पूर्व-निर्धारित एंकर बॉक्स और पदार्थता स्कोर की आवश्यकता को मिटा कर, यह डिटेक्शन हेड का डिजाइन मॉडल की योग्यता को बेहतरीन आकार और आकृति के वस्तुओं की पहचान करने की क्षमता में सुधार कर सकता है। इससे वस्तु डिटेक्शन के कार्यों के लिए YOLOv3u मॉडलों में बढ़िया सुरक्षा और सटीकता प्राप्त हो सकती है। + +## समर्थित कार्य और मोड + +YOLOv3 श्रृंखला, इनमें YOLOv3, YOLOv3-Ultralytics और YOLOv3u शामिल हैं, विशेष रूप से वस्तु डिटेक्शन कार्यों के लिए विभिन्न प्रतिष्ठित हालत में डिज़ाइन किए गए हैं। ये मॉडल सटीकता और गति में संतुलन स्थापित करने के लिए प्रसिद्ध हैं। प्रत्येक वैरिएंट अद्वितीय सुविधाएँ और अनुकूलन प्रदान करती हैं, इसलिए इनका उपयोग विभिन्न अनुप्रयोगों के लिए संभव है। + +तीनों मॉडलों को पूर्ण उपयोगता में उपयोग करने के लिए विभिन्न मोड हैं, इनमें [इनफेरेंस](../modes/predict.md), [मान्यकरण](../modes/val.md), [प्रशिक्षण](../modes/train.md) और [निर्यात](../modes/export.md) शामिल हैं, विभाजनित किये गए हैं। ये मोडल उपयोगकर्ताओं को वस्तू डिटेक्शन के प्रभावी आवागमन और विकास के विभाजन के विभाजन के लिए एक पूरी उपकरण पर्याप्तता प्रदान करते हैं। + +| मॉडल प्रकार | समर्थित कार्य | इनफेरेंस | मान्यकरण | प्रशिक्षण | निर्यात | +|--------------------|--------------------------------------|----------|----------|-----------|---------| +| YOLOv3 | [वस्तु डिटेक्शन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [वस्तु डिटेक्शन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [वस्तु डिटेक्शन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +यह तालिका प्रत्येक YOLOv3 वेरिएंट की क्षमताओं की क्षणभंगुर झलक प्रदान करती है, इसमें विभिन्न कार्यों और ऑपरेशनल मोड के लिए उपयुक्तता और विभाजन मानकों को प्रदर्शित किया गया है। + +## उपयोग की उदाहरण + +यह उदाहरण YOLOv3 प्रशिक्षण और इनफेरेंस के आसान उदाहरण प्रदान करता है। इन और अन्य [मोड](../modes/index.md) के बारे में विस्तारपूर्वक दस्तावेज़ीकरण के लिए इसके साथी [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) और [Export](../modes/export.md) दस्तावेज़ पेजेज़ की जांच करें। + +!!! Example "उदाहरण" + + === "Python" + + `*.pt` प्रीट्रेन किए गए PyTorch मॉडल और कॉन्फ़िगरेशन *.yaml फ़ाइल Python में YOLO() क्लास कों यूज़ करके एक मॉडल इंस्टेंस तैयार करने के लिए पास कर सकते हैं: + + ```python + from ultralytics import YOLO + + # COCO-pretrained YOLOv3n मॉडल लोड करें + model = YOLO('yolov3n.pt') + + # मॉडल की जानकारी प्रदर्शित करें (वैकल्पिक) + model.info() + + # COCO8 उदाहरण डेटासेट पर मॉडल 100 epochs के लिए प्रशिक्षण दें + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv3n मॉडल के साथ 'bus.jpg' छवि पर इनफेरेंस चलाएं + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + मॉडल पर चलाने के लिए CLI आदेश उपलब्ध हैं: + + ```bash + # COCO-pretrained YOLOv3n मॉडल लोड करें और COCO8 उदाहरण डेटासेट पर इसे 100 epochs के लिए प्रशिक्षित करें + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO-pretrained YOLOv3n मॉडल लोड करें और 'bus.jpg' छवि पर इनफेरेंस चलाएं + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## उद्धरण और प्रशंसापत्र + +अगर आप अपने शोध में YOLOv3 का उपयोग करते हैं, तो कृपया मूल YOLO पेपर्स और Ultralytics YOLOv3 रिपॉज़िटरी को उद्धृत करें। + +!!! उध्दरण "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Joseph Redmon और Ali Farhadi को मूल YOLOv3 विकसकर्ताओं के लिए धन्यवाद। diff --git a/docs/hi/models/yolov4.md b/docs/hi/models/yolov4.md new file mode 100644 index 00000000000..e00284d0d48 --- /dev/null +++ b/docs/hi/models/yolov4.md @@ -0,0 +1,69 @@ +--- +comments: true +description: YOLOv4 के बारे में हमारे विस्तृत गाइड पर आपका स्वागत है, जो एक नवीनतम समय मेंकिए गए वास्तविक समय वस्तुओं का पता लगाने वाला उत्कृष्ट ऑब्जेक्ट डिटेक्टर है। इसे योग्यता से उपयोग करने, आर्किटेक्चर के प्रमुख बिंदुओं को समझने और उपयोग की दृष्टि से कुछ उदाहरणों को देखने के लिए पढ़ें। +keywords: ultralytics, YOLOv4, ऑब्जेक्ट डिटेक्शन, न्यूरल नेटवर्क, वास्तविक समय में पता लगाने वाला, ऑब्जेक्ट डिटेक्टर, मशीन लर्निंग +--- + +# YOLOv4: उच्च गति और सटीक ऑब्जेक्ट डिटेक्शन + +YOLOv4, जो 2020 में अलेक्सी बोचकोवस्की (Alexey Bochkovskiy) द्वारा [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) पर लॉन्च हुआ एक उत्कृष्ट बाज़ार में समयविशेषी-मेंट करने वाले ऑब्जेक्ट डिटेक्टर है, के बारे में Ultralytics दस्तावेज़ीकरण पेज में आपका स्वागत है। YOLOv4 गति और सटीकता के बीच आदर्श संतुलन प्रदान करने के लिए डिज़ाइन किया गया है, जो इसे बहुत सारे एप्लिकेशन के लिए एक उत्कृष्ट विकल्प बनाता है। + +![YOLOv4 आर्किटेक्चर आरेख](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**YOLOv4 आर्किटेक्चर आरेख**। YOLOv4 की जटिल नेटवर्क डिज़ाइन का प्रदर्शन, जिसमें बैकबोन, नेक और हेड घटक और उनके जोड़े गए स्तरों की दिखावटी तस्वीर है, ताकि वास्तविक समय ऑब्जेक्ट डिटेक्शन के लिए उनका उपयोग किया जा सके। + +## परिचय + +YOLOv4 का मतलब होता है 'You Only Look Once' संस्करण 4। यह एक वास्तविक समय ऑब्जेक्ट डिटेक्शन मॉडल है जो पिछले YOLO संस्करणों जैसे YOLOv3 और अन्य ऑब्जेक्ट डिटेक्शन मॉडलों की सीमाओं का सामना करने के लिए विकसित किया गया है। अन्य कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) आधारित ऑब्जेक्ट डिटेक्टरों के विपरीत, YOLOv4 का उपयोग सिर्फ अनुशंसा प्रणालियों के लिए ही नहीं, बल्कि स्वतंत्र प्रक्रिया प्रबंधन और मानव इनपुट को कम करने के लिए भी किया जा सकता है। यह एक साधारण ग्राफ़िक्स प्रोसेसिंग इकाइयां (जीपीयू) पर अपना कार्य संपादित करने की अनुमति देता है और केवल एक ऐसे जीपीयू के लिए प्रशिक्षण के लिए एक ही जीपीयू की आवश्यकता होती है। + +## आर्किटेक्चर + +YOLOv4 अपने प्रदर्शन को अनुकूलित करने के लिए कई नवाचारी विशेषताओं का उपयोग करता है। इनमें वेटेड-रेजिड्यूल-कनेक्शंस (WRC), क्रॉस-स्टेज-पार्शल-कनेक्शंस (CSP), क्रॉस मिनी-बैच नियमन (CmBN), सेल्फ-प्रतिहिंसा-प्रशिक्षण (SAT), मिश ऐक्टिवेशन, मोज़ेक डेटा वृद्धि, ड्रॉपब्लॉक नियमन और सीआईओयू हानि शामिल हैं। ये विशेषताएँ संयुक्त रूप से बेहतरीन परिणाम प्राप्त करने के लिए संयोजित की जाती हैं। + +आमतौर पर, एक ऑब्जेक्ट डिटेक्टर में कई हिस्से होते हैं जिनमें इनपुट, बैकबोन, नेक और हेड शामिल होते हैं। YOLOv4 का बैकबोन ImageNet पर पूरी तरह से प्रशिक्षित होता है और यह वस्तुओं के वर्गों और बाउंडिंग बॉक्स का अनुमान लगाने के लिए उपयोग किया जाता है। बैकबोन विभिन्न मॉडलों में से हो सकता है, जैसे VGG, ResNet, ResNeXt या DenseNet। डिटेक्शन हेड भाग ताकि अंतिम ऑब्जेक्ट डिटेक्शन और श्रेणीकरण किए जा सकें। + +## फ्रीबीज़ सूचना + +YOLOv4 उन विधियों का उपयोग करता है जिन्हें "फ्रीबीज़ का संग्रह" कहा जाता है, जो मॉडल की उन्नतता को प्रशिक्षण के दौरान बढ़ाने और संविधान के लागू होने की कीमत बढ़ाते हैं। डाटा वृद्धि ऑब्जेक्ट डिटेक्शन में उपयोग होने वाली एक सामान्य फ्रीबीज़ टिकनिक है, जो मॉडल की संवेगीता बढ़ाने के लिए इनपुट छवियों की विविधता बढ़ाती है। डाटा वृद्धि के कुछ उदाहरण हैं जिनमें फोटोमेट्रिक दिसंगत (चित्र के एक छवि के तेजी, बंदिश, सोने, उष्णता और आवाज़ को समायोजित करना) और ज्यामितिक दिसंगत (एक छवि के रैंडम स्केलिंग, क्रॉपिंग, फ्लिपिंग और घुमाने के जोड़ने) शामिल होते हैं। ये टिकनिक मॉडल को अलग-अलग प्रकार की छवियों में बेहतर सामान्यीकरण करने में सहायता करते हैं। + +## विशेषताएँ और प्रदर्शन + +YOLOv4 को वास्तविक समय ऑब्जेक्ट डिटेक्शन में उच्च गति और सटीकता के लिए डिज़ाइन किया गया है। YOLOv4 की आर्किटेक्चर में CSPDarknet53 बैकबोन के रूप में, नेक के रूप में PANet, और डिटेक्शन हेड के रूप में YOLOv3 शामिल हैं। यह डिज़ाइन YOLOv4 को एक प्रभावशाली गति पर ऑब्जेक्ट डिटेक्शन करने की अनुमति देता है, जिससे यह वास्तविक समय में उपयुक्त होता है। YOLOv4 ऑब्जेक्ट डिटेक्शन मानकों में उच्च गुणवत्ता हासिल करने में भी उत्कृष्टता करता है। + +## उपयोग की उदाहरण + +मामले से आप योग्यता संबंधित विस्तारित चरणों का उपयोग करने के लिए YOLOv4 का उपयोग करना चाहेंगे: + +1. YOLOv4 GitHub रिपॉज़िटरी पर जाएं: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet)। + +2. स्थापना के लिए readme फ़ाइल में दिए गए निर्देशों का पालन करें। इसमें सामान्यतया रिपॉज़िटरी क्लोन करना, आवश्यक डिपेंडेंसियों को स्थापित करना और किसी आवश्यक पर्यावरण चर पर सेटअप करना शामिल होता है। + +3. स्थापना पूरी होने पर, आप मॉडल को प्रशिक्षित कर सकते हैं और उसे ऑब्जेक्ट डिटेक्शन करने के लिए उपयोग कर सकते हैं हमॉडन/रिपॉज़िटरी में दिए गए उपयोग के निर्देशों के अनुसार। यह आमतौर पर अपने डेटासेट को तैयार करना, मॉडल पैरामीटर्स को कॉन्फ़िगर करना, मॉडल को प्रशिक्षित करना और फिर प्रशिक्षित मॉडल का उपयोग ऑब्जेक्ट डिटेक्शन करने के लिए करता है। + +कृपया ध्यान दें कि विशिष्ट चरण आपके विशिष्ट उपयोग मामले और YOLOv4 रेपोज़िटरी की स्थिति पर निर्भर कर सकते हैं। इसलिए, YOLOv4 गिद्धशाली रिपॉज़िटरी में दिए गए निर्देशों का उपयोग करने की कड़ी सलाह दी जाती है। + +हम इस बात की असुविधा के लिए माफी चाहते हैं और YOLOv4 के समर्थन को Ultralytics के लिए लागू किया जाने पर उपयोग की उदाहरणों के साथ इस दस्तावेज़ को अद्यतित करने की कोशिश करेंगे। + +## निष्कर्ष + +YOLOv4 एक शक्तिशाली और कुशल ऑब्जेक्ट डिटेक्शन मॉडल है जो गति और सटीकता के बीच संतुलन स्थापित करता है। प्रशिक्षण के दौरान उनिक विशेषताओं और फ्रीबीज़ तकनीकों का उपयोग करके, यह वास्तविक समय ऑब्जेक्ट डिटेक्शन कार्यों में उत्कृष्ट प्रदर्शन करता है। किसी आम जीपीयू के साथ किसी भी व्यक्ति द्वारा प्रशिक्षित और उपयोग किया जा सकता है, जो इसे विभिन्न एप्लिकेशन के लिए पहुंच योग्य और व्यावहारिक बनाता है। + +## संदर्भ और प्रशंसा + +हम YOLOv4 लेखकों को इस फ़ील्ड में उनके महत्वपूर्ण योगदानों के लिए आभार व्यक्त करना चाहेंगे: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +मूल YOLOv4 पेपर [arXiv](https://arxiv.org/pdf/2004.10934.pdf) पर मिल सकता है। लेखकों ने अपने कार्य को पब्लिकली उपलब्ध कराया है, और कोडबेस [GitHub](https://github.com/AlexeyAB/darknet) पर एक्सेस किया जा सकता है। हम उनके कोशिशों की सराहना करते हैं जो क्षेत्र को आगे बढ़ाने और उनके काम को व्यापक समुदाय के लिए उपलब्ध कराने में करते हैं। diff --git a/docs/hi/models/yolov5.md b/docs/hi/models/yolov5.md new file mode 100644 index 00000000000..b1bcad567e5 --- /dev/null +++ b/docs/hi/models/yolov5.md @@ -0,0 +1,114 @@ +--- +comments: true +description: योलोवी5यू की खोज करें, योलोवी5 मॉडल का एक बढ़ाया हुआ संस्करण जिसमें एक निश्चित रफ़्तार के बदलाव और विभिन्न वस्तु ज्ञापन कार्यों के लिए कई पूर्व प्रशिक्षित मॉडल शामिल हैं। +keywords: YOLOv5u, वस्तु ज्ञापन, पूर्व प्रशिक्षित मॉडल, Ultralytics, Inference, Validation, YOLOv5, YOLOv8, एंचर-मुक्त, वस्तुनिपाति रहित, वास्तविक समय अनुप्रयोग, मशीन लर्निंग +--- + +# योलोवी5 + +## समीक्षा + +YOLOv5u वस्तु ज्ञापन के तरीकों में एक पटल बढ़ोतरी को प्रतिष्ठानित करता है। योग्यता ग्रहण और समय की मूल्य-माप बदलती शैली के आधार पर आधारित योलोवी5 मॉडल की स्थापना से परिचय में सुधार लाती है। तात्कालिक परिणामों और इसकी प्राप्त विशेषताओं के मद्देनजर, YOLOv5u एक ऐसा कुशल स्थानांतरण प्रदान करता है जो नवीन रंगेंगर में शोध और व्यावसायिक अनुप्रयोगों में सठिक समाधानों की तलाश कर रहे हैं। + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## मुख्य विशेषताएं + +- **एंचर-मुक्त हिस्सा उल्ट्रालिटिक्स हेड:** पारंपरिक वस्तु ज्ञापन मॉडल निश्चित प्रमुख बॉक्सों पर आधारित होते हैं। हालांकि, YOLOv5u इस दृष्टिकोण को आधुनिक बनाता है। एक एंचर-मुक्त हिस्सा उल्ट्रालिटिक्स हेड की अपनाने से यह सुनिश्चित करता है कि एक और उचित और अनुरूप ज्ञापन मेकेनिज़म निर्धारित करें, जिससे विभिन्न परिदृश्यों में प्रदर्शन में सुधार होता है। + +- **में सुधार गया गुणांक गति वस्तु:** गति और सुधार का anomaly रहता हैं। लेकिन YOLOv5u इस विरोधाभासी को चुनौती देता है। इस रंगेंगर व पुष्टि दृढ़ कर सुनिश्चित करता है वास्तविक समयगत ज्ञापन में स्थैतिकता नुकसान के बिना। यह विशेषता वाहन स्वतंत्र, रोबोटिक्स, और वास्तविक समयगत वीडियो विश्लेषण जैसे तत्वों को चाहती अनुप्रयोगों के लिए विशिष्ट सबक की अनमोलता होती है। + +- **प्रशिक्षित मॉडल के विभिन्न वस्तुधापर्यावथाएं:** यह समझने कि लिए कि विभिन्न कार्यों के लिए विभिन्न उपकरण की जरूरत होती है, YOLOv5u एक कई पूर्व प्रशिक्षित मॉडल प्रदान करता है। चाहे आप ज्ञापन, मान्यता, या प्रशिक्षण पर ध्यान केंद्रित कर रहे हैं, आपकी अद्वितीय चुनौती के लिए एक टेलरमेड मॉडल है। यह विविधता यह सुनिश्चित करती है कि आप एक वन-साइज-फिट ऑल समाधान ही नहीं उपयोग कर रहे हैं, बल्कि अपनी अद्यापित अद्वितीय चुनौती के लिए एक मॉडल का उपयोग कर रहे हैं। + +## समर्थित कार्य तथा मोड + +योलोवी5u मॉडल, विभिन्न पूर्व प्रशिक्षित वेट वाली, [वस्तु ज्ञापन](../tasks/detect.md) कार्यों में उत्कृष्ट हैं। इन्हें विभिन्न ऑपरेशन मोड्स का समर्थन है, इसलिए इन्हें विकास से लेकर अंतर्गत उन्नतिशील अनुप्रयोगों के लिए उपयुक्त ठहराया जा सकता है। + +| मॉडल प्रकार | पूर्व प्रशिक्षित वेट | कार्य | ज्ञापन | मान्यता | प्रशिक्षण | निर्यात | +|-------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------|--------|---------|-----------|---------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [वस्तु ज्ञापन](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +यह तालिका योलोवी5u मॉडल के विभिन्न जैविक वेशभूषा प्रस्तुत करती है, इनके वस्तु ज्ञापन कार्यों में लागूहोने और [ज्ञापन](../modes/predict.md), [मान्यता](../modes/val.md), [प्रशिक्षण](../modes/train.md), और [निर्यात](../modes/export.md) की समर्थनता को उज्ज्वल बनाती है। इस समर्थन की पूर्णता सुनिश्चित करती है कि उपयोगकर्ता योलोवी5u मॉडल्स की संपूर्ण क्षमताओं का खास लाभ उठा सकते हैं विभिन्न ऑब्जेक्ट ज्ञापन स्थितियों में। + +## प्रदर्शन पैमाने + +!!! Performance + + === "ज्ञापन" + + [देखें ज्ञापन डॉकस](https://docs.ultralytics.com/tasks/detect/) को [COCO](https://docs.ultralytics.com/datasets/detect/coco/) पर प्रशिक्षित इन मॉडल्स के उपयोग के साथ उपयोग उदाहरण जैसे विविध पूर्व-प्रशिक्षित वर्गों को शामिल करता है। + + | मॉडल | YAML | साइज़
(पिक्सेल) | mAPवैल
50-95 | गति
CPU ONNX
(मि.से.) | गति
A100 TensorRT
(मि.से.) | params
(M) | FLOPs
(B) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|---------------------------|------------------------|--------------------------------|-----------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## उपयोग उदाहरण + +इस उदाहरण में सरल YOLOv5 चालन और ज्ञापन उदाहरण प्रदान किए गए हैं। इन और अन्य [modes](../modes/index.md) के लिए पूर्ण संदर्भ सामग्री के लिए दस्तावेज़ीकरण पृष्ठों में जाएं। + +!!! Example "उदाहरण" + + === "पायथन" + + पायथन में एक मॉडल उदाहरण के लिए योलोवी5 आईएमजेड हालत में `*.pt` मॉडल्स के साथ मॉडल निर्माण के लिए `YOLO()` श्रेणी को पारित किया जा सकता है: + + ```python + from ultralytics import YOLO + + # COCO-pretrained YOLOv5n मॉडल लोड करें + model = YOLO('yolov5n.pt') + + # मॉडल जानकारी प्रदर्शित करें (वैकल्पिक) + model.info() + + # COCO8 प्रायोगिक उदाहरण डेटासेट पर 100 एपॉक के लिए मॉडल + +ka प्रशिक्षित करें results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv5n मॉडल के साथ 'bus.jpg' छविमें ज्ञापन चलाएं + results = model('path/to/bus.jpg') + ``` + + === "सी.एल.आई." + + मालिशी आदेशों का उपयोग सीधे मॉडलों को चलाने के लिए उपलब्ध हैं: + + ```bash + # COCO-प्रशिक्षित YOLOv5n मॉडल खोलें और 100 एपॉक के लिए इसे COCO8 प्रायोगिक उदाहरण डेटासेट पर प्रशिक्षित करें + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO-प्रशिक्षित YOLOv5n मॉडल खोलें और 'bus.jpg' छवि में ज्ञापन चलाएं + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## उद्धरण और मान्यता + +यदि आप अपने शोध में YOLOv5 या YOLOv5u का उपयोग करते हैं, तो कृपया Ultralytics YOLOv5 दस्तावेज़ीकरण में मुख्य रूप से उल्लेख करें: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +कृपया ध्यान दें कि YOLOv5 मॉडलें [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) और [एंटरप्राइज](https://ultralytics.com/license) लाइसेंस में उपलब्ध हैं। diff --git a/docs/hi/models/yolov6.md b/docs/hi/models/yolov6.md new file mode 100644 index 00000000000..06b946a98ac --- /dev/null +++ b/docs/hi/models/yolov6.md @@ -0,0 +1,90 @@ +--- +comments: true +description: एक उत्कृष्ट वस्तु पहचानने मॉडल में स्पीड और सटीकता के बीच एक सामंजस्य स्थापित करने वाला, रीयल-टाइम एप्लिकेशन्स के लिए लोकप्रिय भारतीय ब्रांड योलोवी6 का अध्ययन करें। उल्ट्रालिटिक्स के लिए मीथुन योलोवी6, फ़ीचर्स, पूर्व-प्रशिक्षित मॉडल्स और पायथन उपयोग पर डाइव करें। +keywords: मिथुन योलोवी6, वस्तु पहचान, Ultralytics, योलोवी6 दस्तावेज़, प्रतिस्थापन में द्विदिशीय जोड़, एंकर-सहायित प्रशिक्षण, पूर्व-प्रशिक्षित मॉडल, वास्तविक समय एप्लिकेशन्स +--- + +# मिथुन योलोवी6 + +## परियोजना + +[मिथुन](https://about.meituan.com/) योलोवी6 एक नवीनतम वस्तु पहचानकर्ता है जो स्पीड और सटीकता के बीच अद्वितीय संतुलन प्रदान करता है, जिसके कारण यह वास्तविक समय एप्लिकेशन्स के लिए एक लोकप्रिय विकल्प है। इस मॉडल ने अपने आर्किटेक्चर और प्रशिक्षण योजना पर कई आदर्श नवीनतमान वृद्धियों को पेश किया है, जिसमें एक जोड़ने-द्विदिशीकरण (BiC) मॉड्यूल, एंकर-सहायित प्रशिक्षण (AAT) स्ट्रेटेजी, और COCO डेटासेट पर अद्वितीय सटीकता के लिए सुधारित बैकबोन और गर्दन डिज़ाइन का क्रियान्वयन शामिल है। + +![मिथुन योलोवी6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![माॅडेल उदाहरण छवि](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**योलोवी6 का अवलोकन।** मॉडल आर्किटेक्चर आरेख आपको बड़ी प्रदर्शन वृद्धि करने वाले संकरणों और प्रशिक्षण रणनीतियों का आभास कराता है। (a) योलोवी6 का गर्दन (N और S दिखाए गए हैं)। M/L के लिए, रिपब्लॉक को सीएसपीस्टैकरेप से बदल दिया गया है। (b) बीसी मॉड्यूल का संरचना। (c) एक सिमकुस्पस्पफ ब्लॉक। ([स्रोत](https://arxiv.org/pdf/2301.05586.pdf))। + +### मुख्य विशेषताएं + +- **द्विदिशीय जोड़ने (BiC) मॉड्यूल:** योलोवी6 डिटेक्टर के गर्दन में BiC मॉड्यूल प्रस्तुत करता है, जिससे स्थानांतरण सिग्नल में सुधार होती है और ज्ञानसंक्षेप में गतिविधि के साथ प्रदर्शन सुधार होता है। +- **एंकर-सहायित प्रशिक्षण (AAT) स्ट्रेटेजी:** यह मॉडल AAT प्रस्तावित करता है ताकि यह एंकर-आधारित और एंकर-मुक्त दोनों परंपराओं के लाभ प्राप्त कर सके और अंतर्निहित क्षमता पर खराब प्रभाव न हो। +- **सुधारित बैकबोन और गर्दन डिज़ाइन:** YOLOv6 को बैकबोन और गर्दन में एक और स्टेज शामिल करके, इस मॉडल ने कोको डेटासेट पर अद्वितीय प्रदर्शन को उच्च-संकल्पन इनपुट पर प्राप्त किया है। +- **स्व-स्त्रावबद्धि (Self-Distillation) स्ट्रेटेजी:** छोटे YOLOv6 मॉडलों के प्रदर्शन को बढ़ाने के लिए, यहां नई स्व-स्त्रावबद्धि स्ट्रेटेजी का अमल किया गया है, जिससे प्रशिक्षण के दौरान मददगार संश्लेषण शाखा को सुधारा जाता है और प्रशिक्षण में इसे हटा दिया जाता है ताकि मार्क की गति में प्रमुख गिरावट न हो। + +## प्रदर्शन माप + +YOLOv6 विभिन्न पूर्व-प्रशिक्षित मॉडलों के साथ प्रदान करता है जिनमें अलग-अलग स्केल होती हैं: + +- YOLOv6-N: NVIDIA Tesla T4 GPU पर 1187 फ्रेम प्रति सेकंड पर COCO val2017 में 37.5% एपी। +- YOLOv6-S: 484 फ्रेम प्रति सेकंड पर 45.0% एपी। +- YOLOv6-M: 226 फ्रेम प्रति सेकंड पर 50.0% एपी। +- YOLOv6-L: 116 फ्रेम प्रति सेकंड पर 52.8% एपी। +- YOLOv6-L6: वास्तविक समय में पराकाष्ठा की सटीकता। + +YOLOv6 ऐसे पालटने वाले मॉडल भी प्रदान करता है जिनमें विभिन्न परिशुद्धियां होती हैं और मोबाइल प्लेटफ़ॉर्म के लिए अनुकूलित मॉडल्स होती हैं। + +## उपयोग उदाहरण + +यह उदाहरण आसान YOLOv6 प्रशिक्षण और संदर्भ उदाहरण प्रदान करता है। इन और अन्य [modes](../modes/index.md) के लिए पूर्ण दस्तावेज़ीकरण के लिए [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) और [Export](../modes/export.md) डॉक्स पेज देखें। + +!!! Example "उदाहरण" + + === "पायथन" + + PyTorch से पूर्व-प्रशिक्षित `*.pt` मॉडल और कॉन्फ़िगरेशन `*.yaml` फ़ाइलें पास करके `YOLO()` कक्षा में एक मॉडल उदाहरण बनाया जा सकता है: + + ```python + from ultralytics import YOLO + + # खाली स्थान से एक YOLOv6n मॉडल बनाएँ + model = YOLO('yolov6n.yaml') + + # मॉडल की जानकारी प्रदर्शित करें (वैकल्पिक) + model.info() + + # COCO8 उदाहरण डेटासेट पर मॉडल को 100 एपोक के लिए प्रशिक्षित करें + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg' छवि पर YOLOv6n मॉडल के साथ निर्धारण चलाएँ + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + मॉडल को निर्धारित करने के लिए सीएलआई कमांड उपलब्ध हैं: + + ```bash + # शुरू से एक YOLOv6n मॉडल बनाएँ और इसे COCO8 उदाहरण डेटासेट पर 100 एपोक के लिए प्रशिक्षित करें + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # शुरू से एक YOLOv6n मॉडल बनाएँ और 'bus.jpg' छवि पर निधारण चलाएँ + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## समर्थित कार्य और मोड + +YOLOv6 श्रृंखला उच्च प्रदर्शन [वस्तु पहचान](../tasks/detect.md) के लिए विभिन्न मॉडल प्रदान करती है। इन मॉडल्स में विभिन्न गणना और सटीकता की आवश्यकताओं के लिए आदर्श होते हैं, जिससे इन्हें विभिन्न अनुप्रयोगों के लिए विचारशील होता है। + +| मॉडल का प्रकार | पूर्व-प्रशिक्षित भार | समर्थित कार्य | निर्धारण | मान्यीकरण | प्रशिक्षण | निर्यात | +|----------------|----------------------|-----------------------------------|----------|-----------|-----------|---------| +| YOLOv6-N | `yolov6-n.pt` | [वस्तु पहचान](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [वस्तु पहचान](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [वस्तु पहचान](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [वस्तु पहचान](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [वस्तु पहचान](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +यह तालिका योलोवी6 मॉडल वेरिएंट्स का विस्तृत अवलोकन प्रदान करती है, जो वस्तु पहचान कार्यों में उनकी क्षमताओं और विभिन्न संचालन मोडों के साथ [निर्धारण](../modes/predict.md), [मान्यीकरण](../modes/val.md), [प्रशिक्षण](../modes/train.md), और [निर्यात](../modes/export.md) के संगतता को हाइलाइट करते हैं। इस व्यापक समर्थन से उपयोगकर्ताओं को योलोवी6 मॉडलों की क्षमताओं का पूरा उपयोग करने की सुविधा होती है एक व्यापक वस्तु पहचान स्थिति में। + +## सन्दर्भ और पुन:ज्ञानजनक + +हम मूल योलोवी6 कागज पर [arXiv](https://arxiv.org/abs/2301.05586) में उपलब्ध हैं काम के लिए संघ द्वारा स्विकृति दी जाती है। लेखकों ने अपने काम को सार्वजनिक रूप से उपलब्ध कराया है, और कोडबेस [GitHub](https://github.com/meituan/YOLOv6) पर पहुंचने के लिए है। हम उनके प्रयासों की प्रशंसा करते हैं क्योंकि वे क्षेत्र को आगे बढ़ाने और अपने काम को आपातकालीन रूप से ब्रॉडर समुदाय को सुलभ बनाने के लिए उनके प्रयासों को पहुंचने में लगे हैं। diff --git a/docs/hi/models/yolov7.md b/docs/hi/models/yolov7.md new file mode 100644 index 00000000000..173b177c2e1 --- /dev/null +++ b/docs/hi/models/yolov7.md @@ -0,0 +1,65 @@ +--- +comments: true +description: YOLOv7, एक रियल-टाइम ऑब्जेक्ट डिटेक्टर है। इसकी अद्वितीय स्पीड, प्रभावशाली सटीकता, और अद्यतनीय "बैग-ऑफ-फ्रीबीज" अनुकूलन ध्यानदेने योग्यता को समझें। +keywords: YOLOv7, रियल-टाइम ऑब्जेक्ट डिटेक्टर, तकनीक-से-अलावा कुछ औफ़ान, Ultralytics, MS COCO डेटासेट, मॉडल फिर-पैरामीटरीकरण, डायनामिक लेबल असाइनमेंट, विस्तारित मापन, कंपाउंड मापन +--- + +# YOLOv7: ट्रेनबल बैग-ऑफ-फ्रीबीज़ + +YOLOv7 एक अद्वितीय रियल-टाइम ऑब्जेक्ट डिटेक्टर है जो 5 FPS से 160 FPS तक की रेंज में सभी ज्ञात ऑब्जेक्ट डिटेक्टर्स को तेज़ी और सटीकता के मामले में पीछे छोड़ देता है। यह 30 FPS या उससे अधिक पर GPU V100 पर सभी ज्ञात रियल-टाइम ऑब्जेक्ट डिटेक्टर्स में सबसे अधिक अक्यूरेट (56.8% AP) है। इसके अलावा, YOLOv7 तेजी और सटीकता के मामले में YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5, और कई अन्य ऑब्जेक्ट डिटेक्टर्स से बेहतर परफॉर्म करता है। यह मॉडल MS COCO डेटासेट पर पहले से ही ट्रेनिंग है और किसी अन्य डेटासेट या पूर्व-ट्रेन हुई वेट्स का प्रयोग नहीं करता है। YOLOv7 के स्रोत कोड [GitHub](https://github.com/WongKinYiu/yolov7) पर उपलब्ध है। + +![SOTA ऑब्जेक्ट डिटेक्टर्स के तुलनात्मक मुक़ाबला](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**वैश्विक-से-अलावा ऑब्जेक्ट डिटेक्टर्स का तुलनात्मक मुक़ाबला।** तालिका 2 में प्रदर्शित परिणामों से हमें यह पता चलता है कि प्रस्तावित विधि संपूर्णता से सबसे अच्छा तेजी-अक्यूरेटता संघर्ष लाती है। अगर हम YOLOv7-tiny-SiLU को YOLOv5-N (r6.1) के साथ तुलना करें, तो हमारी विधि 127 fps तेज़ और AP में 10.7% अधिक सटीक है। साथ ही, YOLOv7 के साथ AP 51.4% है जबकि PPYOLOE-L के साथ एक ही AP के साथ 78 fps फ्रेम रेट है। पैरामीटर उपयोग के मामले में, YOLOv7 PPYOLOE-L की तुलना में 41% कम है। YOLOv7-X को 114 fps इन्फरेंस स्पीड के साथ YOLOv5-L (r6.1) के साथ तुलना करें तो, YOLOv7-X AP को 3.9% बढ़ा सकता है। YOLOv7-X को बराबर स्केल के YOLOv5-X (r6.1) के साथ तुलना करें तो, YOLOv7-X की इन्फेरेंस स्पीड 31 fps तेज़ है। साथ ही, पैरामीटर और परिकलन की मात्रा के मामले में, YOLOv7-X पहले योलोव5-X (r6.1) की तुलना में 22% पैरामीटर कम करता है और 8% परिकलन कम करता है, लेकिन AP को 2.2% बढ़ाता है। ([स्रोत](https://arxiv.org/pdf/2207.02696.pdf))। + +## अवलोकन + +रियल-टाइम ऑब्जेक्ट डिटेक्शन कंप्यूटर विजन के कई सिस्टमों में एक महत्वपूर्ण घटक है, जिसमें मल्टी-ऑब्जेक्ट ट्रैकिंग, स्वतंत्र चालन, रोबोटिक्स, और मेडिकल इमेज विश्लेषण शामिल हैं। योग्यता के विकास के लिए हाल के वर्षों में रियल-टाइम ऑब्जेक्ट डिटेक्शन विकास ने विभिन्न सीपीयू, जीपीयू, और न्यूरल प्रोसेसिंग यूनिटों (एनपीयू) के कार्यान्वयन की तेजी बढ़ाने और अधिक अधिक ज्ञानसरचकों के लिए। YOLOv7 ने मोबाइल जीपीयू और जीपीयू डिवाइस, इज़्ज टु द क्लाउड, को समर्थन दिया है। + +पारंपरिक रियल-टाइम ऑब्जेक्ट डिटेक्टर्स की तुलना में जो कि शारीरिक अभिव्यक्ति अनुकूलन पर ध्यान केंद्रित होते हैं, YOLOv7 ट्रेनिंग प्रक्रिया को अनुकरण करने पर ध्यान केंद्रित करने का सुझाव देता है। इसमें मॉड्यूल्स और ऑप्टिमाइज़ेशन मेथड्स शामिल हैं जिनका उपयोग करके ऑब्जेक्ट डिटेक्शन की अक्यूरेसी में सुधार किया जाता है बिना इन्फेरेंस की लागत बढ़ाए, जिसे "ट्रेनबल बैग-ऑफ-फ्रीबीज़" की एक नई कांसेप्ट के आधार पर कहा जाता है। + +## मुख्य विशेषताएँ + +YOLOv7 साथ में कई मुख्य विशेषताएँ लाता है: + +1. **मॉडल फिर-पैरामीटरीकरण**: YOLOv7 एक योजना बनाकर फिर-पैरामीटराइज़्ड मॉडल प्रस्तावित करता है, जो एक कण्टिनुअस संकर्णन पथ की संकल्पना के साथ विभिन्न नेटवर्कों के लिए लागू करने योग्य है। + +2. **डायनामिक लेबल असाइनमेंट**: एकाधिक आउटपुट लेयर्स के साथ मॉडल की ट्रेनिंग करने से एक नया मुद्दा पेश किया जाता है: "अलग-अलग शाखाओं के आउटपुट के लिए डायनामिक निर्धारित लक्ष्य कैसे दें?" इस समस्या को हल करने के लिए, YOLOv7 ने "कॉर्स-टू-फ़ाइन लीड गाइडेड लेबल असाइनमेंट" नामक एक नई लेबल असाइनमेंट विधि पेश की है। + +3. **विस्तारित और कंपाउंड मापन**: YOLOv7 वास्तविक समय ऑब्जेक्ट डिटेक्टर के लिए "विस्तारित" और "कंपाउंड मापन" विधियों को प्रस्तावित करता है जो पैरामीटर और परिकलन का सकारात्मक रूप से उपयोग कर सकती हैं। + +4. **दक्षता**: YOLOv7 द्वारा प्रस्तावित विधि राष्ट्रीय स्तर के वास्तविक समय ऑब्जेक्ट डिटेक्टर के लगभग 40% पैरामीटर और 50% परिकलन को कम कर सकती है, और बेहतर इन्फेरेंस गति और अधिक डिटेक्शन अक्यूरेसी है। + +## उपयोग की उदाहरण + +लेख की अवस्था के समय, Ultralytics वर्तमान में YOLOv7 मॉडेल का समर्थन नहीं करता है। इसलिए, YOLOv7 का उपयोग करना चाहने वाले किसी भी उपयोगकर्ता के लिए योग्यता के लिए कृपया सीधे YOLOv7 GitHub रिपॉज़िटरी के निर्देशिका का संदर्भ लें। + +यहां YOLOv7 का उपयोग करने के लिए आप निम्नलिखित आम कदमों का सारांश देख सकते हैं: + +1. YOLOv7 GitHub रिपॉज़िटरी पर जाएं: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7)। + +2. स्थापना के लिए README फ़ाइल में दिए हुए निर्देशों का पालन करें। इसमें आमतौर पर रिपॉज़िटरी क्लोनिंग, आवश्यक डिपेंडेंसियों की स्थापना, और आवश्यक पर्यावरण चरों का सेटअप शामिल होता है। + +3. स्थापना सम्पूर्ण होने के बाद, आप मॉडल को ट्रेन कर सकते हैं और विशेषताओं का उपयोग करके ऑब्जेक्ट डिटेक्शन कर सकते हैं, जैसा कि रेपॉज़िटरी में उपयोग के निर्देश दिए गए हैं। यह आमतौर पर अपने डेटासेट को तैयार करना, मॉडल पैरामीटर कॉन्फ़िगर करना, मॉडल को ट्रेन करना, और फिर ट्रेन किए गए मॉडल का उपयोग करके ऑब्जेक्ट डिटेक्शन करना शामिल होता है। + +कृपया ध्यान दें कि निर्दिष्ट कदम आपके विशिष्ट उपयोग मामले और YOLOv7 रिपॉज़िटरी की वर्तमान स्थिति पर निर्भर कर सकते हैं। इसलिए, योग्यता के लिए सीधे YOLOv7 GitHub रिपॉज़िटरी में दिए गए निर्देशों का संदर्भ लेना माज़बूती से अनुशंसित है। + +हम इससे होने वाली किसी भी असुविधा के लिए खेद प्रकट करते हैं और YOLOv7 के समर्थन को Ultralytics में लागू होने पर उदाहरणों के साथ इस दस्तावेज़ को अद्यतित करने का प्रयास करेंगे। + +## संदर्भ और आभार + +हम YOLOv7 लेखकों को यहां उल्लेख करना चाहेंगे, उनके वास्तविक समय ऑब्जेक्ट डिटेक्शन क्षेत्र में महत्वपूर्ण योगदान के लिए: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: ट्रेनबल बैग-ऑफ-फ्रीबीज हासिल करता है वास्तविक समय ऑब्जेक्ट डिटेक्टर्स के लिए नई राष्ट्रीय स्तर को}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +YOLOv7 के मूल लेख को [arXiv](https://arxiv.org/pdf/2207.02696.pdf) पर पाया जा सकता है। लेखकों ने अपना काम सार्वजनिक रूप से उपलब्ध किया है और कोडबेस [GitHub](https://github.com/WongKinYiu/yolov7) पर एक्सेस किया जा सकता है। हम उनके प्रयासों की सराहना करते हैं जो क्षेत्र को आगे बढ़ाने और उसे व्यापक समुदाय के लिए सुलभ बनाने में किए गए हैं। diff --git a/docs/hi/models/yolov8.md b/docs/hi/models/yolov8.md new file mode 100644 index 00000000000..a42debfd395 --- /dev/null +++ b/docs/hi/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: YOLOv8 की रोमांचक विशेषताओं का अन्वेषण करें, हमारे वास्तविक समय वस्तु निर्धारक के नवीनतम संस्करण। देखें कैसे प्रगतिशील शृंखलाओं, पूर्व-प्रशिक्षित मॉडलों और सटीकता और गति के बीच सही संतुलन को YOLOv8 के विकल्प में सटे करते हैं संज्ञानघन वस्तुनिर्धारण कार्यों के लिए YOLOv8 को आपके वस्तु आरोप के लिए सही चुनाव बनाता है। +keywords: YOLOv8, Ultralytics, वास्तविक समय वस्तुनिर्धारक, पूर्व-प्रशिक्षित मॉडल, दस्तावेज़ीकरण, वस्तुवाहीनिर्धारण, YOLO श्रृंखला, प्रगतिशील शृंखलाएं, सटीकता, गति +--- + +# YOLOv8 + +## अवलोकन + +YOLOv8 योलो श्रृंखला का नवीनतम संस्करण है, जो सटीकता और गति के मामले में कटिंग-एज प्रदान करता है। पिछले YOLO संस्करणों की प्रगति को अवधारणा करते हुए, YOLOv8 उन्नत सुविधाओं और अनुकूलन को प्रस्तुत करता है, जो इसे विभिन्न वस्तुनिर्धारण कार्यों के लिए एक आदर्श चुनाव बनाता है विभिन्न अनुप्रयोगों में। + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## मुख्य विशेषताएं + +- **उन्नत पीठ और गर्दन शृंखलाएं:** YOLOv8 उन्नत पीठ और गर्दन शृंखलाएं प्रयोग करता है, जिससे विशेषता निष्कर्षण और वस्तु निर्धारण क्षमता की सुधार होती है। +- **एंकर-मुक्त स्प्लिट Ultralytics हैड:** YOLOv8 एंकर-आधारित दृष्टिकोणों की तुलना में अधिक सटीकता और एक अधिक संचालनयोग्य निर्धारण प्रक्रिया के लिए एक एंकर-मुक्त स्प्लिट Ultralytics हेड अपनाता है। +- **सुधारित सटीकता-गति का संतुलन:** सटीकता और गति के मध्य में उचित संतुलन बनाए रखने के ध्यान के साथ, YOLOv8 वास्तविक समय वस्तुनिर्धारण कार्यों के लिए उपयुक्त है जो विभिन्न अनुप्रयोग क्षेत्रों में हो सकते हैं। +- **विभिन्न पूर्व-प्रशिक्षित मॉडल:** YOLOv8 विभिन्न कार्यों और प्रदर्शन आवश्यकताओं के लिए एक विस्तृत पूर्व-प्रशिक्षित मॉडल रेंज प्रदान करता है, इससे अपने विशेषता उपयोग के लिए सही मॉडल खोजना आसान हो जाता है। + +## समर्थित कार्य और मोड + +YOLOv8 श्रृंखला वास्तविक समय वस्तुनिर्धारण के लिए विशेषकृत कई मॉडल प्रदान करती है। ये मॉडल विभिन्न आवश्यकताओं को पूरा करने के लिए डिजाइन किए गए हैं, वैश्विक स्तर पहुंचने से लेकर इंस्टेंस सेगमेंटेशन, पोज/किंतुमांक निर्धारण और श्रेणीकरण जैसे जटिल कार्यों तक। + +Yएक मॉडल के हर मानक, विशिष्ट कार्यों में अपनी विशेषताओं को ध्यान में रखते हुए, उच्च प्रदर्शन और सटीकता सुनिश्चित किए जाते हैं। इसके अलावा, ये मॉडल विभिन्न संचालन मोड के साथ अनुकूलित हैं जैसे [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), और [Export](../modes/export.md), जो उनका उपयोग वितरण और विकास के विभिन्न स्तरों में सरल बनाने में मदद करता है। + +| मॉडल | फ़ाइलनेम | कार्य | Inference | Validation | Training | Export | +|-------------|----------------------------------------------------------------------------------------------------------------|--------------------------------------------|-----------|------------|----------|--------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [वस्तुनिर्धारण](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [इंस्टेंस सेगमेंटेशन](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [पोज/किंतुमांक](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [श्रेणीबद्दीकरण](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +इस सारणी में YOLOv8 मॉडल विभिन्न कार्यों के लिए उपयुक्तता और विभिन्न संचालन मोड के साथ मॉडल के विभिन्न रूपों का अवलोकन प्रदान करती है। यह YOLOv8 श्रृंखला की व्याप्ति और मजबूती का प्रदर्शन करती है, जो कंप्यूटर दृष्टि में विभिन्न अनुप्रयोगों के लिए उपयुक्त बनाती है। + +## प्रदर्शन की मापदंड + +!!! प्रदर्शन + + === "वस्तुनिर्धारण (COCO)" + + [वस्तुनिर्धारण दस्तावेज़ीकरण](https://docs.ultralytics.com/tasks/detect/) पर उपयोग उदाहरण देखें जहां COCO ट्रेन किए गए [80 पूर्व-प्रशिक्षित वर्गों](https://docs.ultralytics.com/datasets/detect/coco/) के साथ ये मॉडल दिए गए हैं। + + | मॉडल | आकार
(पिक्स) | mAPवैल
50-95 | गति
CPU ONNX
(ms) | गति
A100 TensorRT
(ms) | params
(एम) | FLOPs
(बी) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "वस्तुनिर्धारण (Open Images V7)" + + [वस्तुनिर्धारण दस्तावेज़ीकरण](https://docs.ultralytics.com/tasks/detect/) पर उपयोग उदाहरण देखें जहां इन मॉडलों को [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/) पर ट्रेन किया गया है, जिसमें 600 पूर्व-प्रशिक्षित वर्ग हैं। + + | मॉडल | आकार
(पिक्स) | mAPवैल
50-95 | गति
CPU ONNX
(ms) | गति
A100 TensorRT
(ms) | params
(एम) | FLOPs
(बी) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "सेगमेंटेशन (COCO)" + + [सेगमेंटेशन दस्तावेज़ीकरण](https://docs.ultralytics.com/tasks/segment/) पर उपयोग उदाहरण देखें जहां इन मॉडलों को [COCO](https://docs.ultralytics.com/datasets/segment/coco/) पर ट्रेन किया गया है, जिसमें 80 पूर्व-प्रशिक्षित वर्ग हैं। + + | मॉडल | आकार
(पिक्स) | mAPबॉक्स
50-95 | mAPमास्क
50-95 | गति
CPU ONNX
(ms) | गति
A100 TensorRT
(ms) | params
(एम) | FLOPs
(बी) | + | -------------------------------------------------------------------------------------------- | --------------------- | --------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "श्रेणीकरण (ImageNet)" + + [श्रेणीकरण दस्तावेज़ीकरण](https://docs.ultralytics.com/tasks/classify/) पर उपयोग उदाहरण देखें जहां इन मॉडलों को [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/) पर ट्रेन किया गया है, जिसमें 1000 पूर्व-प्रशिक्षित वर्ग हैं। + + | मॉडल | आकार
(पिक्स) | शीर्ष1 विजयी
योग्यता | शीर्ष5 विजयी
योग्यता | गति
CPU ONNX
(ms) | गति
A100 TensorRT
(ms) | params
(एम) | FLOPs
(बी) at 640 | + | ------------------------------------------------------------------------------------------ | --------------------- | ------------------------ | ------------------------ | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "पोज (COCO)" + + [पोज निर्धारण दस्तावेज़ीकरण](https://docs.ultralytics.com/tasks/pose/) पर उपयोग उदाहरण देखें जहां इन मॉडलों को [COCO](https://docs.ultralytics.com/datasets/pose/coco/) पर ट्रेन किया गया है, जिसमें 1 पूर्व-प्रशिक्षित वर्ग, 'person' शामिल है। + + | मॉडल | आकार
(पिक्स) | mAPशामिती
50-95 | mAPशामिती
50 | गति
CPU ONNX
(ms) | गति
A100 TensorRT
(ms) | params
(एम) | FLOPs
(बी) | + | ----------------------------------------------------------------------------------------------------- | --------------------- | ------------------------ | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## उपयोग की उदाहरण + +यह उदाहरण सरल YOLOv8 प्रशिक्षण और निर्धारण उदाहरण प्रदान करता है। इन और अन्य [मोड](../modes/index.md) की पूरी दस्तावेज़ीकरण के लिए दस्तावेज़ पृष्ठों [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) और [Export](../modes/export.md) का उपयोग करें। + +इसे ध्यान दें कि नीचे दिए गए उदाहरण योलोवी [वस्तुनिर्धारण](../tasks/detect.md) मॉडल के लिए हैं। अतिरिक्त समर्थित कार्यों के लिए [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) और [Pose](../tasks/pose.md) दस्तावेज़ीकरण देखें। + +!!! Example "उदाहरण" + + === "पायथन" + + पायटोर्च का पूर्व-प्रशिक्षित `*.pt` मॉडल और विन्यास `*.yaml` फ़ाइल पायटन में एक मॉडल नमूना बनाने के लिए `YOLO()` कक्षा को पारित किया जा सकता है: + + ```python + from ultralytics import YOLO + + # कोहली के COCO-pretrained YOLOv8n मॉडल को लोड करें + model = YOLO('yolov8n.pt') + + # मॉडल जानकारी दिखाएँ (वैकल्पिक) + model.info() + + # COCO8 उदाहरण डेटासेट पर 100 एपोक के लिए मॉडल को प्रशिक्षित करें + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg' छवि पर YOLOv8n मॉडल के साथ निर्धारण चलाएँ + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI कमांड को सीधे चलाने के लिए उपलब्ध हैं: + + ```bash + # COCO-pretrained YOLOv8n मॉडल को लोड करें और उसे COCO8 उदाहरण डेटासेट पर 100 एपोक के लिए प्रशिक्षित करें + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO-pretrained YOLOv8n मॉडल को लोड करें और 'bus.jpg' छवि पर निर्धारण चलाएँ + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## सन्दर्भ और पुरस्कार + +यदि आप अपने काम में YOLOv8 मॉडल या इस रिपॉजिटरी के किसी अन्य सॉफ़्टवेयर का उपयोग करते हैं, तो कृपया इसकी उद्धरण इस प्रकार करें: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {ग्लेन जोचर and आयुष चौरसिया and जिंग क्यू}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +कृपया ध्यान दें कि DOI लंबित है और जब यह उपलब्ध हो जाएगा तो उद्धरण में इसे शामिल किया जाएगा। YOLOv8 मॉडल [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) और [एंटरप्राइज](https://ultralytics.com/license) लाइसेंस के तहत उपलब्ध हैं। diff --git a/docs/ja/models/fast-sam.md b/docs/ja/models/fast-sam.md new file mode 100644 index 00000000000..0f148b20093 --- /dev/null +++ b/docs/ja/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: FastSAMは、画像内のオブジェクトをリアルタイムでセグメンテーションするためのCNNベースのソリューションです。利用者の対話、計算効率の向上、様々なビジョンタスクに対応可能です。 +keywords: FastSAM, 機械学習, CNNベースのソリューション, オブジェクトセグメンテーション, リアルタイムソリューション, Ultralytics, ビジョンタスク, 画像処理, 工業用途, ユーザー対話 +--- + +# Fast Segment Anything Model (FastSAM) + +Fast Segment Anything Model(FastSAM)は、セグメントエニシングタスクのための新しいリアルタイムのCNNベースのソリューションです。このタスクは、さまざまなユーザー対話のプロンプトに基づいて画像内の任意のオブジェクトをセグメント化することを目的としています。FastSAMは、優れた性能を維持しながら、計算要件を大幅に削減し、様々なビジョンタスクに実用的な選択肢となります。 + +![Fast Segment Anything Model (FastSAM) architecture overview](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## 概要 + +FastSAMは、[Segment Anything Model (SAM)](sam.md)の制約事項に対処するために設計されました。SAMは、大規模な計算リソースを要する重いTransformerモデルです。FastSAMは、セグメントエニシングタスクを2つの連続するステージに分割し、すべてのインスタンスセグメンテーションとプロンプトガイドの選択を行います。最初のステージでは、[YOLOv8-seg](../tasks/segment.md)を使用して、画像内のすべてのインスタンスのセグメンテーションマスクを生成します。2番目のステージでは、プロンプトに対応する領域を出力します。 + +## 主な特徴 + +1. **リアルタイムソリューション:** CNNの計算効率を活用することで、FastSAMはセグメントエニシングタスクのためのリアルタイムソリューションを提供し、迅速な結果を必要とする工業用途に価値をもたらします。 + +2. **効率と性能:** FastSAMは、計算およびリソースの要求を大幅に削減しながら、パフォーマンスの品質を損なうことなく、SAMと同等のパフォーマンスを達成します。これにより、リアルタイムアプリケーションが可能となります。 + +3. **プロンプトガイドのセグメンテーション:** FastSAMは、さまざまなユーザー対話のプロンプトに基づいて画像内の任意のオブジェクトをセグメント化することができます。これにより、様々なシナリオでの柔軟性と適応性が提供されます。 + +4. **YOLOv8-segに基づく:** FastSAMは、インスタンスセグメンテーションブランチを備えたオブジェクト検出器である[YOLOv8-seg](../tasks/segment.md)に基づいています。これにより、画像内のすべてのインスタンスのセグメンテーションマスクを効果的に生成することができます。 + +5. **ベンチマークでの競合力のある結果:** MS COCOのオブジェクトプロポーザルタスクにおいて、FastSAMは単一のNVIDIA RTX 3090上でのSAMよりもはるかに高速に高得点を獲得し、その効率性と能力を示しています。 + +6. **実用的な応用:** 提案されたアプローチは、現在の方法よりも数十倍または数百倍も高速な速度で、非常に高速なvisionタスクの新しい実用的なソリューションを提供します。 + +7. **モデルの圧縮の可能性:** FastSAMは、構造への人工的な事前条件を導入することにより、計算負荷を大幅に削減する可能な経路を示し、一般的なビジョンタスクの大規模モデルアーキテクチャの新たな可能性を開くことを示しています。 + +## 利用可能なモデル、サポートされるタスク、および動作モード + +この表は、利用可能なモデルとそれぞれの特定の事前学習済みウェイト、サポートされるタスク、およびInference、Validation、Training、Exportなどの異なる操作モードとの互換性を示しています。サポートされているモードは✅、サポートされていないモードは❌の絵文字で示されます。 + +| モデルの種類 | 事前学習済みウェイト | サポートされるタスク | Inference | Validation | Training | Export | +|-----------|----------------|----------------------------------------|-----------|------------|----------|--------| +| FastSAM-s | `FastSAM-s.pt` | [インスタンスセグメンテーション](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [インスタンスセグメンテーション](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## 使用例 + +FastSAMモデルは、Pythonアプリケーションに簡単に統合できます。Ultralyticsは、開発を効率化するためのユーザーフレンドリーなPython APIおよびCLIコマンドを提供しています。 + +### 予測の使用方法 + +画像のオブジェクト検出を実行するには、以下のように`predict`メソッドを使用します: + +!!! Example "例" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # 推論元のソースを定義する + source = 'path/to/bus.jpg' + + # FastSAMモデルを作成する + model = FastSAM('FastSAM-s.pt') # または FastSAM-x.pt + + # 画像への推論を実行する + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Prompt Processオブジェクトを準備する + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Everything prompt + ann = prompt_process.everything_prompt() + + # バウンディングボックスのデフォルトの形状は [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # テキストプロンプト + ann = prompt_process.text_prompt(text='a photo of a dog') + + # ポイントプロンプト + # pointsのデフォルトは [[0,0]] [[x1,y1],[x2,y2]] + # point_labelのデフォルトは [0] [1,0] 0:background, 1:foreground + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # FastSAMモデルをロードし、それによってeverythingをセグメント化する + yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640 + ``` + +このスニペットは、事前学習済みモデルをロードし、イメージに対する予測を実行するシンプルさを示しています。 + +### 検証の使用方法 + +データセット上でモデルの検証を行うには、以下のようにします: + +!!! Example "例" + + === "Python" + ```python + from ultralytics import FastSAM + + # FastSAMモデルを作成する + model = FastSAM('FastSAM-s.pt') # または FastSAM-x.pt + + # モデルを検証する + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # FastSAMモデルをロードし、COCO8の例のデータセットで検証する(イメージサイズ:640) + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +FastSAMは、オブジェクトの検出とセグメンテーションを1つのクラスのオブジェクトに対してのみサポートしています。これは、すべてのオブジェクトを同じクラスとして認識し、セグメント化することを意味します。そのため、データセットを準備する際には、すべてのオブジェクトのカテゴリIDを0に変換する必要があります。 + +## FastSAM公式の使用方法 + +FastSAMは、[https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM)リポジトリから直接利用することもできます。以下は、FastSAMを使用するための一般的な手順の概要です。 + +### インストール + +1. FastSAMリポジトリをクローンする: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Python 3.9を使用したConda環境を作成してアクティベートする: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. クローンされたリポジトリに移動し、必要なパッケージをインストールする: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. CLIPモデルをインストールする: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### 使用例 + +1. [モデルのチェックポイント](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing)をダウンロードします。 + +2. FastSAMを推論に使用します。以下は実行例です: + + - 画像内のすべてをセグメント化する: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - テキストプロンプトを使用して特定のオブジェクトをセグメント化する: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog" + ``` + + - バウンディングボックス内のオブジェクトをセグメント化する(xywh形式でボックス座標を指定します): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - 特定のポイントの近くにあるオブジェクトをセグメント化する: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +さらに、FastSAMを[Colabデモ](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing)や[HuggingFaceウェブデモ](https://huggingface.co/spaces/An-619/FastSAM)で試すこともできます。 + +## 引用と謝辞 + +FastSAMの著者には、リアルタイムインスタンスセグメンテーションの分野での重要な貢献を称えたいと思います。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +FastSAMのオリジナルの論文は、[arXiv](https://arxiv.org/abs/2306.12156)で入手できます。著者は彼らの作品を広く公開し、コードベースは[GitHub](https://github.com/CASIA-IVA-Lab/FastSAM)でアクセスできるようにしています。私たちは、彼らがフィールドを進歩させ、その成果を広いコミュニティにアクセス可能にしてくれた彼らの努力に感謝しています。 diff --git a/docs/ja/models/index.md b/docs/ja/models/index.md index 6fa4b1d7402..490ac76fe17 100644 --- a/docs/ja/models/index.md +++ b/docs/ja/models/index.md @@ -1,94 +1,98 @@ --- comments: true -description: UltralyticsがサポートするYOLOファミリー、SAM、MobileSAM、FastSAM、YOLO-NAS、RT-DETRモデルの多様な範囲を探る。CLIとPythonの両方の使用例で始める。 -keywords: Ultralytics, ドキュメンテーション, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, モデル, アーキテクチャ, Python, CLI +description: UltralyticsがサポートするYOLOファミリー、SAM、MobileSAM、FastSAM、YOLO-NAS、RT-DETRモデルの多様な範囲を探索し、CLIおよびPythonの使用例で始めましょう。 +keywords: Ultralytics, ドキュメント, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, モデル, アーキテクチャ, Python, CLI --- -# Ultralyticsによるサポートモデル +# Ultralyticsがサポートするモデル -Ultralyticsのモデルドキュメンテーションへようこそ![オブジェクト検出](../tasks/detect.md)、[インスタンスセグメンテーション](../tasks/segment.md)、[画像分類](../tasks/classify.md)、[ポーズ推定](../tasks/pose.md)、[マルチオブジェクトトラッキング](../modes/track.md)など、特定のタスクに適した幅広いモデルをサポートしています。Ultralyticsにあなたのモデルアーキテクチャを寄稿したい場合は、[コントリビューティングガイド](../../help/contributing.md)を確認してください。 +Ultralyticsのモデルドキュメントへようこそ!我々は、[オブジェクト検出](../tasks/detect.md)、[インスタンスセグメンテーション](../tasks/segment.md)、[画像分類](../tasks/classify.md)、[ポーズ推定](../tasks/pose.md)、[多対象トラッキング](../modes/track.md)などの特定のタスクに特化した幅広いモデルのサポートを提供しています。Ultralyticsにあなたのモデルアーキテクチャを貢献したい場合は、[貢献ガイド](../../help/contributing.md)を確認してください。 -!!! Note "ノート" +!!! Note "注意" - 🚧 弊社の多言語ドキュメンテーションは現在建設中で、改善に向けて努力しています。ご理解いただきありがとうございます!🙏 + 🚧 現在、さまざまな言語でのドキュメントを構築中であり、改善に努めています。ご理解ありがとうございます!🙏 -## 注目のモデル +## 特集モデル -以下はサポートされる主要なモデルのいくつかです: +ここではサポートされている主要なモデルをいくつか紹介します: -1. **[YOLOv3](../../models/yolov3.md)**: ジョセフ・レッドモンによるYOLOモデルファミリーの第三世代で、効率的なリアルタイムオブジェクト検出能力があります。 -2. **[YOLOv4](../../models/yolov4.md)**: YOLOv3へのdarknet-nativeなアップデートで、2020年にアレクセイ・ボチコフスキーが公開しました。 -3. **[YOLOv5](../../models/yolov5.md)**: UltralyticsによるYOLOアーキテクチャの改良版で、以前のバージョンと比較してパフォーマンスとスピードのトレードオフが向上しています。 -4. **[YOLOv6](../../models/yolov6.md)**: 2022年に[美団](https://about.meituan.com/)によってリリースされ、同社の多くの自治配送ロボットで使用されています。 -5. **[YOLOv7](../../models/yolov7.md)**: YOLOv4の作者によって2022年にリリースされた更新されたYOLOモデル。 -6. **[YOLOv8](../../models/yolov8.md)**: YOLOファミリーの最新バージョンで、インスタンスセグメンテーション、ポーズ/キーポイント推定、分類などの機能が強化されています。 -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: MetaのSegment Anything Model (SAM)です。 -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: 慶尚大学によるモバイルアプリケーション向けのMobileSAM。 -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: 中国科学院自動化研究所の画像・映像分析グループによるFastSAM。 -10. **[YOLO-NAS](../../models/yolo-nas.md)**: YOLO Neural Architecture Search (NAS)モデル。 -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: BaiduのPaddlePaddle Realtime Detection Transformer (RT-DETR)モデル。 +1. **[YOLOv3](yolov3.md)**:Joseph RedmonによるYOLOモデルファミリーの第三世代で、効率的なリアルタイムオブジェクト検出能力で知られています。 +2. **[YOLOv4](yolov4.md)**:2020年にAlexey BochkovskiyによってリリースされたYOLOv3のdarknetネイティブアップデートです。 +3. **[YOLOv5](yolov5.md)**:UltralyticsによるYOLOアーキテクチャの改良版で、以前のバージョンと比較してパフォーマンスと速度のトレードオフが向上しています。 +4. **[YOLOv6](yolov6.md)**:2022年に[美団](https://about.meituan.com/)によってリリースされ、同社の多数の自動配送ロボットで使用されています。 +5. **[YOLOv7](yolov7.md)**:YOLOv4の著者によって2022年にリリースされたYOLOモデルのアップデートです。 +6. **[YOLOv8](yolov8.md) 新機能 🚀**:YOLOファミリーの最新バージョンで、例えばインスタンスセグメンテーション、ポーズ/キーポイント推定、分類などの機能が強化されています。 +7. **[Segment Anything Model (SAM)](sam.md)**:MetaのSegment Anything Model (SAM)です。 +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**:慶應義塾大学によるモバイルアプリケーションのためのMobileSAMです。 +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**:中国科学院自動化研究所、画像及びビデオ解析グループのFastSAMです。 +10. **[YOLO-NAS](yolo-nas.md)**:YOLO Neural Architecture Search (NAS)モデルです。 +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**:百度のPaddlePaddle Realtime Detection Transformer (RT-DETR)モデルです。



- 視聴: Ultralytics YOLOモデルを数行のコードで実行。 + 視聴: Ultralytics YOLOモデルをわずか数行のコードで実行します。

-## 入門:使用例 +## Getting Started: 使用例 + +この例は、YOLOのトレーニングと推論の簡単な例を提供します。これらおよびその他の[モード](../modes/index.md)についての完全なドキュメントについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、[Export](../modes/export.md)のドキュメントページを参照してください。 + +以下の例は、オブジェクト検出のためのYOLOv8 [Detect](../tasks/detect.md) モデルについてです。追加のサポートされるタスクについては、[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md)、[Pose](../tasks/pose.md)のドキュメントを参照してください。 !!! Example "例" === "Python" - PyTorchの事前訓練済み`*.pt`モデルや設定`*.yaml`ファイルを`YOLO()`, `SAM()`, `NAS()`, `RTDETR()`クラスに渡して、Pythonでモデルインスタンスを生成できます: + PyTorchの事前訓練済み`*.pt`モデルや構成`*.yaml`ファイルは、`YOLO()`、`SAM()`、`NAS()`、`RTDETR()`クラスに渡して、Pythonでモデルインスタンスを作成することができます: ```python from ultralytics import YOLO - # COCO事前訓練済みのYOLOv8nモデルをロード + # COCOで事前訓練されたYOLOv8nモデルをロードする model = YOLO('yolov8n.pt') - # モデル情報の表示(オプション) + # モデル情報を表示する(任意) model.info() - # COCO8の例示データセットでモデルを100エポック訓練 + # モデルをCOCO8の例示データセットで100エポックトレーニングする results = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # 'bus.jpg'画像上でYOLOv8nモデルによる推論実行 + # 'bus.jpg'画像でYOLOv8nモデルを用いた推論を実行する results = model('path/to/bus.jpg') ``` === "CLI" - モデルを直接実行するためのCLIコマンドがあります: + モデルを直接実行するためのCLIコマンドが利用可能です: ```bash - # COCO事前訓練済みのYOLOv8nモデルをロードし、COCO8の例示データセットで100エポック訓練 + # COCOで事前訓練されたYOLOv8nモデルをロードし、COCO8の例示データセットで100エポックトレーニングする yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # COCO事前訓練済みのYOLOv8nモデルをロードし、'bus.jpg'画像上で推論実行 + # COCOで事前訓練されたYOLOv8nモデルをロードし、'bus.jpg'画像で推論を実行する yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## 新しいモデルの提供 +## 新しいモデルの貢献 -Ultralyticsにモデルを提供してみたいですか?素晴らしいことです!私たちは常にモデルのポートフォリオを拡大することに興味があります。 +Ultralyticsにあなたのモデルを貢献することに興味がありますか?素晴らしいです!我々は常にモデルのポートフォリオを拡張することに興味があります。 -1. **リポジトリをフォークする**:[Ultralytics GitHubリポジトリ](https://github.com/ultralytics/ultralytics)をフォークして始めます。 +1. **リポジトリをフォークする**:[Ultralytics GitHubリポジトリ](https://github.com/ultralytics/ultralytics)をフォークすることから始めます。 -2. **フォークをクローンする**:フォークをローカルマシンにクローンし、作業用の新しいブランチを作成します。 +2. **あなたのフォークをクローンする**:あなたのフォークをローカルマシンにクローンし、作業を行う新しいブランチを作成します。 -3. **モデルを実装する**:提供されているコーディング規格とガイドラインに従ってモデルを追加します。 +3. **あなたのモデルを実装する**:[貢献ガイド](../../help/contributing.md)に示されているコーディング規格および指針に従ってモデルを追加します。 -4. **徹底的にテストする**:孤立してもパイプラインの一部としても、モデルを徹底的にテストしてください。 +4. **徹底的にテストする**:パイプラインの一部としてだけでなく、単独でモデルを厳密にテストすることを確認してください。 -5. **プルリクエストを作成する**:モデルに満足したら、レビューのためにメインリポジトリへのプルリクエストを作成します。 +5. **プルリクエストを作成する**:モデルに満足したら、レビューのために本リポジトリにプルリクエストを作成します。 -6. **コードレビューとマージ**:レビュー後、モデルが私たちの基準を満たしている場合、メインリポジトリにマージされます。 +6. **コードレビュー&マージ**:レビュー後、モデルが我々の基準を満たしている場合、本リポジトリにマージされます。 -詳細な手順については、[コントリビューティングガイド](../../help/contributing.md)を参照してください。 +詳細な手順については、[貢献ガイド](../../help/contributing.md)を参照してください。 diff --git a/docs/ja/models/mobile-sam.md b/docs/ja/models/mobile-sam.md new file mode 100644 index 00000000000..53414f5fc0c --- /dev/null +++ b/docs/ja/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Ultralyticsフレームワーク内でMobileSAMをダウンロードしてテストする方法、MobileSAMの実装、オリジナルのSAMとの比較について詳しく知ることができます。今日からモバイルアプリケーションを改善しましょう。 +keywords: MobileSAM, Ultralytics, SAM, モバイルアプリケーション, Arxiv, GPU, API, 画像エンコーダ, マスクデコーダ, モデルのダウンロード, テスト方法 +--- + +![MobileSAM ロゴ](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Mobile Segment Anything(MobileSAM) + +MobileSAM論文が[arXiv](https://arxiv.org/pdf/2306.14289.pdf)で利用可能になりました。 + +CPU上で動作するMobileSAMのデモは、[こちらのデモリンク](https://huggingface.co/spaces/dhkim2810/MobileSAM)からアクセスできます。Mac i5 CPU上では、約3秒かかります。Hugging Faceのデモでは、インターフェースと低性能なCPUが遅い応答に寄与していますが、効果的に動作し続けます。 + +MobileSAMは、[Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything)、[AnyLabeling](https://github.com/vietanhdev/anylabeling)、および[Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D)など、さまざまなプロジェクトで実装されています。 + +MobileSAMは、100kのデータセット(元の画像の1%)を単一のGPUで学習し、1日未満で訓練が完了します。このトレーニングのコードは将来公開される予定です。 + +## 利用可能なモデル、サポートされているタスク、および動作モード + +この表は、利用可能なモデルとそれぞれの固有の事前学習重み、サポートされているタスク、および[予測](../modes/predict.md)、[検証](../modes/val.md)、[訓練](../modes/train.md)、および[エクスポート](../modes/export.md)のようなさまざまな動作モードに対する互換性を示しています。`✅`は対応しているモード、`❌`は対応していないモードを示しています。 + +| モデルタイプ | 事前学習重み | サポートされているタスク | 予測 | 検証 | 訓練 | エクスポート | +|-----------|-----------------|----------------------------------------|----|----|----|--------| +| MobileSAM | `mobile_sam.pt` | [インスタンスセグメンテーション](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## SAMからMobileSAMへの移行 + +MobileSAMは、オリジナルのSAMと同じパイプラインを維持しているため、オリジナルの前処理、後処理、およびその他のインタフェースを組み込んでいます。そのため、現在オリジナルのSAMを使用している場合でも、MobileSAMへの移行は最小限の労力で行うことができます。 + +MobileSAMは、オリジナルのSAMと同等のパフォーマンスを発揮し、イメージエンコーダを変更することで同じパイプラインを保持しています。具体的には、元の重いViT-Hエンコーダ(632M)をより小さいTiny-ViT(5M)に置き換えています。単一のGPU上でMobileSAMは、おおよそ画像あたり12msで動作します:イメージエンコーダで8ms、マスクデコーダで4msです。 + +次の表は、ViTベースのイメージエンコーダの比較です: + +| イメージエンコーダ | オリジナルのSAM | MobileSAM | +|-----------|-----------|-----------| +| パラメーター | 611M | 5M | +| 速度 | 452ms | 8ms | + +オリジナルのSAMとMobileSAMは、同じプロンプト誘導型マスクデコーダを使用しています: + +| マスクデコーダ | オリジナルのSAM | MobileSAM | +|---------|-----------|-----------| +| パラメーター | 3.876M | 3.876M | +| 速度 | 4ms | 4ms | + +以下は、全体のパイプラインの比較です: + +| パイプライン全体(エンコーダ+デコーダ) | オリジナルのSAM | MobileSAM | +|----------------------|-----------|-----------| +| パラメーター | 615M | 9.66M | +| 速度 | 456ms | 12ms | + +MobileSAMとオリジナルのSAMのパフォーマンスは、ポイントとボックスをプロンプトとして使用した場合に示されます。 + +![ポイントをプロンプトにした画像](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![ボックスをプロンプトにした画像](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +MobileSAMは、現在のFastSAMよりも約5倍小さく、約7倍高速です。詳細は[MobileSAMプロジェクトページ](https://github.com/ChaoningZhang/MobileSAM)でご覧いただけます。 + +## UltralyticsでのMobileSAMのテスト + +オリジナルのSAMと同様に、ポイントとボックスのプロンプトの両方に対応したUltralyticsでの簡単なテスト方法を提供しています。 + +### モデルのダウンロード + +モデルは[こちらからダウンロード](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt)できます。 + +### ポイントプロンプト + +!!! Example "例" + + === "Python" + ```python + from ultralytics import SAM + + # モデルをロード + model = SAM('mobile_sam.pt') + + # ポイントプロンプトに基づいてセグメントを予測 + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### ボックスプロンプト + +!!! Example "例" + + === "Python" + ```python + from ultralytics import SAM + + # モデルをロード + model = SAM('mobile_sam.pt') + + # ボックスプロンプトに基づいてセグメントを予測 + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +`MobileSAM`と`SAM`は、同じAPIを使用して実装されています。詳細な使用方法については、[SAMページ](sam.md)をご覧ください。 + +## 引用と謝辞 + +MobileSAMが研究や開発のお役に立つ場合は、次の論文を引用していただけると幸いです: + +!!! Quote文 "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/ja/models/rtdetr.md b/docs/ja/models/rtdetr.md new file mode 100644 index 00000000000..11b73b7a6c1 --- /dev/null +++ b/docs/ja/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: RT-DETRは、Baiduによって開発された、高速かつ高精度なリアルタイムオブジェクト検出器です。Vision Transformers(ViT)の力を借りて、マルチスケールの特徴を効率的に処理します。RT-DETRは非常に適応性があり、再学習せずに異なるデコーダーレイヤーを使用して推論速度を柔軟に調整できます。このモデルは、TensorRTを使用したCUDAなどの高速エンドバックエンドで優れた性能を発揮し、多くの他のリアルタイムオブジェクト検出器を凌駕します。 +keywords: RT-DETR, Baidu, Vision Transformers, object detection, real-time performance, CUDA, TensorRT, IoU-aware query selection, Ultralytics, Python API, PaddlePaddle +--- + +# BaiduのRT-DETR: Vision Transformerベースのリアルタイムオブジェクト検出器 + +## 概要 + +Baiduが開発したリアルタイム検出Transformer(RT-DETR)は、高い精度を維持しながらリアルタイム性能を提供する最先端のエンドツーエンドのオブジェクト検出器です。Vision Transformers(ViT)の力を借りて、マルチスケールの特徴を効率的に処理することにより、RT-DETRは高い適応性を持ちます。再学習せずに異なるデコーダーレイヤーを使用して推論速度を柔軟に調整できるため、このモデルはTensorRTを使用したCUDAなどの高速バックエンドで多くの他のリアルタイムオブジェクト検出器を凌駕します。 + +![モデルの例](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**BaiduのRT-DETRの概要。** RT-DETRのモデルアーキテクチャダイアグラムでは、バックボーンの最後の3つのステージ{S3、S4、S5}がエンコーダーへの入力として表示されます。効率的なハイブリッドエンコーダーは、マルチスケールの特徴をイントラスケール特徴の相互作用(AIFI)とクロススケール特徴融合モジュール(CCFM)を介して画像特徴のシーケンスに変換します。IoU-awareクエリ選択は、デコーダーの初期オブジェクトクエリとして固定数の画像特徴を選択するために使用されます。最後に、デコーダーは補助予測ヘッドとともに、オブジェクトクエリを反復最適化してボックスと信頼スコアを生成します([出典](https://arxiv.org/pdf/2304.08069.pdf))。 + +### 主な特徴 + +- **効率的なハイブリッドエンコーダー:** BaiduのRT-DETRは、マルチスケールの特徴をイントラスケールの相互作用とクロススケールの融合を分離することで処理する効率的なハイブリッドエンコーダーを使用しています。このユニークなVision Transformersベースの設計により、計算コストを削減し、リアルタイムオブジェクト検出を実現しています。 +- **IoU-awareクエリ選択:** BaiduのRT-DETRは、IoU-awareクエリ選択を活用してオブジェクトクエリの初期化を改善します。これにより、モデルはシーン内の関連性の高いオブジェクトに焦点を当てて検出の精度を向上させることができます。 +- **適応可能な推論速度:** BaiduのRT-DETRは、再学習せずに異なるデコーダーレイヤーを使用して推論速度を柔軟に調整することができます。この適応性により、さまざまなリアルタイムオブジェクト検出シナリオでの実用的な応用が容易になります。 + +## 事前学習済みモデル + +Ultralytics Python APIは、異なるスケールの事前学習済みPaddlePaddle RT-DETRモデルを提供しています。 + +- RT-DETR-L:COCO val2017で53.0%のAP、T4 GPUで114 FPS +- RT-DETR-X:COCO val2017で54.8%のAP、T4 GPUで74 FPS + +## 使用例 + +この例では、RT-DETRの訓練と推論の簡単な例を提供します。これらと他の[モード](../modes/index.md)の詳しいドキュメントについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、および[Export](../modes/export.md)ドキュメントページを参照してください。 + +!!! Example "例" + + === "Python" + + ```python + from ultralytics import RTDETR + + # COCOで事前学習済みのRT-DETR-lモデルをロードします + model = RTDETR('rtdetr-l.pt') + + # モデル情報を表示します(オプション) + model.info() + + # COCO8の例のデータセットでモデルを100エポックトレーニングします + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg'画像でRT-DETR-lモデルで推論を実行します + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # COCOで事前学習済みのRT-DETR-lモデルをロードし、COCO8の例のデータセットで100エポックトレーニングします + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCOで事前学習済みのRT-DETR-lモデルをロードし、'bus.jpg'画像で推論を実行します + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## サポートされているタスクとモード + +この表には、各モデルがサポートするタスク、特定の事前学習済み重み、およびサポートされるさまざまなモード([Train](../modes/train.md)、[Val](../modes/val.md)、[Predict](../modes/predict.md)、[Export](../modes/export.md))が✅絵文字で示されている情報が示されています。 + +| モデルの種類 | 事前学習済み重み | サポートされるタスク | 推論 | 検証 | 訓練 | エクスポート | +|---------------------|---------------|--------------------------------|----|----|----|--------| +| RT-DETR Large | `rtdetr-l.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## 引用と謝辞 + +研究や開発の中でBaiduのRT-DETRを使用する場合は、[元の論文](https://arxiv.org/abs/2304.08069)を引用してください。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +私たちは、Baiduと[PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection)チームに、コンピュータビジョンコミュニティ向けのこの貴重なリソースを作成しメンテナンスしていただいたことに感謝いたします。Vision Transformersベースのリアルタイムオブジェクト検出器であるRT-DETRの開発による、彼らのフィールドへの貢献は非常に評価されています。 + +*Keywords: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, real-time object detection, Vision Transformers-based object detection, pre-trained PaddlePaddle RT-DETR models, Baidu's RT-DETR usage, Ultralytics Python API* diff --git a/docs/ja/models/sam.md b/docs/ja/models/sam.md new file mode 100644 index 00000000000..3744c85ed86 --- /dev/null +++ b/docs/ja/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: リアルタイムの画像セグメンテーションを可能にするウルトラリティクスの最先端Segment Anything Model (SAM)を紹介します。SAMのプロンプト可能なセグメンテーション、ゼロショットパフォーマンス、使用方法について学びましょう。 +keywords: Ultralytics, 画像セグメンテーション, Segment Anything Model, SAM, SA-1B データセット, リアルタイムパフォーマンス, ゼロショット転送, 物体検出, 画像解析, 機械学習 +--- + +# Segment Anything Model (SAM) + +ウルトラリティクスのSegment Anything Model(SAM)へようこそ。この革新的なモデルは、プロンプト可能な画像セグメンテーションを実現し、リアルタイムのパフォーマンスで画期的な成果を上げ、この分野で新たな基準を設定しました。 + +## SAMの紹介: Segment Anything Model + +Segment Anything Model(SAM)は、画像解析タスクにおける柔軟なセグメンテーションを可能にする最先端の画像セグメンテーションモデルです。SAMは、セグメンテーションという新しいモデル、タスク、データセットを導入した画期的なプロジェクト「Segment Anything」の中核をなしています。 + +SAMの高度な設計により、新しい画像分布やタスクに事前の知識なしで適応するゼロショット転送の機能を持っています。豊富な[SA-1B データセット](https://ai.facebook.com/datasets/segment-anything/)でトレーニングされたSAMは、1億以上のマスクを含む1,100万枚以上の厳選された画像に広がる自動的にアノテーションされたセグメンテーションマスクを備えており、多くの場合、前向きに監督された結果を上回る卓越したゼロショットパフォーマンスを発揮しています。 + +![データセットサンプルイメージ](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +新たに導入されたSA-1Bデータセットからガイドマスクを重畳した例の画像です。SA-1Bには、多様な高解像度のライセンス画像と11億件以上の高品質のセグメンテーションマスクが含まれています。これらのマスクは、SAMによって完全自動的に注釈付けされ、人間の評価と数多くの実験で高品質と多様性が確認されています。画像は可視化のために画像あたりのマスクの数でグループ化されています(平均でおおよそ100個のマスクがあります)。 + +## Segment Anything Model (SAM)の主な特徴 + +- **プロンプト可能なセグメンテーションタスク:** SAMは、プロンプト(オブジェクトを特定する空間的なまたはテキスト的な手がかり)から有効なセグメンテーションマスクを生成するように設計されています。 +- **高度なアーキテクチャ:** Segment Anything Modelは、強力な画像エンコーダ、プロンプトエンコーダ、軽量のマスクデコーダを採用しています。このユニークなアーキテクチャにより、柔軟なプロンプティング、リアルタイムのマスク計算、セグメンテーションタスクの曖昧さの認識が可能です。 +- **SA-1Bデータセット:** Segment Anythingプロジェクトによって導入されたSA-1Bデータセットは、1,100万枚以上の画像に1,000,000,000件以上のマスクを提供します。これまでで最も大規模なセグメンテーションデータセットであり、SAMに多様で大規模なトレーニングデータソースを提供します。 +- **ゼロショットパフォーマンス:** SAMは、さまざまなセグメンテーションタスクで優れたゼロショットパフォーマンスを発揮し、プロンプトエンジニアリングの最小限の必要性で多様なアプリケーションに即座に使用できるツールとなります。 + +Segment Anything ModelおよびSA-1Bデータセットの詳細については、[Segment Anything website](https://segment-anything.com)をご覧いただくか、研究論文[Segment Anything](https://arxiv.org/abs/2304.02643)をご覧ください。 + +## 使用可能なモデル、サポートされるタスク、および動作モード + +このテーブルでは、使用可能なモデルとその特定の事前トレーニング済み重み、サポートされているタスク、およびInference、Validation、Training、Exportなどのさまざまな操作モードに対する互換性を示しています。サポートされるモードは✅の絵文字で表示され、サポートされていないモードは❌の絵文字で表示されます。 + +| モデルの種類 | 事前トレーニング済みの重み | サポートされているタスク | Inference | Validation | Training | Export | +|-----------|---------------|---------------------------------------------------------------|-----------|------------|----------|--------| +| SAM base | `sam_b.pt` | [Instance Segmentation(インスタンスセグメンテーション)](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Instance Segmentation(インスタンスセグメンテーション)](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## SAMの使用方法: 画像セグメンテーションにおける柔軟性とパワー + +Segment Anything Modelは、トレーニングデータを超えた多くのダウンストリームタスクに使用することができます。これにはエッジ検出、オブジェクトの提案生成、インスタンスセグメンテーション、および予備的なテキストからマスクへの予測などが含まれます。プロンプトエンジニアリングを使用することで、SAMはゼロショットの方法で新しいタスクとデータ分布にすばやく適応することができ、あらゆる画像セグメンテーションに関する柔軟で強力なツールとなります。 + +### SAMの予測の例 + +!!! Example "プロンプトでセグメントする" + + 与えられたプロンプトで画像をセグメンテーションします。 + + === "Python" + + ```python + from ultralytics import SAM + + # モデルをロード + model = SAM('sam_b.pt') + + # モデル情報を表示(オプション) + model.info() + + # バウンディングボックスのプロンプトで予測を実行 + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # ポイントのプロンプトで予測を実行 + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "すべてをセグメントする" + + 画像全体をセグメンテーションします。 + + === "Python" + + ```python + from ultralytics import SAM + + # モデルをロード + model = SAM('sam_b.pt') + + # モデル情報を表示(オプション) + model.info() + + # 予測を実行 + model('path/to/image.jpg') + ``` + + === "CLI" + + ```bash + # SAMモデルで予測を実行 + yolo predict model=sam_b.pt source=path/to/image.jpg + ``` + +- ここでは、プロンプト(バウンディングボックス/ポイント/マスク)を指定しない場合は、画像全体がセグメンテーションされるロジックです。 + +!!! Example "SAMPredictorの例" + + 画像を一度設定し、イメージエンコーダを複数回実行することなく複数回プロンプト推論を実行できます。 + + === "プロンプト推論" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictorを作成 + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # イメージを設定する + predictor.set_image("ultralytics/assets/zidane.jpg") # 画像ファイルで設定する + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # np.ndarrayで設定する + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # イメージをリセットする + predictor.reset_image() + ``` + + 追加の引数を指定してすべてのセグメントを設定します。 + + === "すべてをセグメントする" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictorを作成 + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # 追加の引数でセグメント + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- `すべてをセグメントする` のための追加の引数の詳細は、[`Predictor/generate` リファレンス](../../reference/models/sam/predict.md)を参照してください。 + +## YOLOv8とのSAM比較 + +ここでは、Metaの最小のSAMモデルであるSAM-bと、Ultralyticsの最小のセグメンテーションモデルである[YOLOv8n-seg](../tasks/segment.md)とを比較します。 + +| モデル | サイズ | パラメータ数 | スピード(CPU) | +|------------------------------------------------|-----------------------|----------------------|-----------------------| +| MetaのSAM-b | 358 MB | 94.7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) with YOLOv8 backbone | 23.7 MB | 11.8 M | 115 ms/im | +| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 MB** (53.4倍小さい) | **3.4 M** (27.9倍少ない) | **59 ms/im** (866倍速い) | + +この比較では、モデルのサイズとスピードの桁違いの違いが示されています。SAMは自動セグメンテーションのユニークな機能を提供しますが、より小さい、より速く、より効率的なYOLOv8セグメントモデルとは競合しません。 + +テストは、2023年製のApple M2 Macbook、16GBのRAMで実行されました。このテストを再現するには: + +!!! Example "例" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # SAM-bのプロファイリング + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # MobileSAMのプロファイリング + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # FastSAM-sのプロファイリング + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # YOLOv8n-segのプロファイリング + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## オートアノテーション: セグメンテーションデータセットの迅速な作成方法 + +オートアノテーションは、SAMの主要な機能の一つであり、事前トレーニング済みの検出モデルを使用して[セグメンテーションデータセット](https://docs.ultralytics.com/datasets/segment)を生成することができます。この機能により、時間のかかる手作業のラベリング作業を回避し、大量の画像の迅速かつ正確な注釈付けが可能になります。 + +### ディテクションモデルを使用したセグメンテーションデータセットの生成 + +Ultralyticsフレームワークを使用してデータセットをオートアノテーションするには、以下のように`auto_annotate`関数を使用します: + +!!! Example "例" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| 引数 | タイプ | 説明 | デフォルト | +|------------|------------------|--------------------------------------------------------------|--------------| +| data | str | 注釈を付ける画像が含まれるフォルダへのパス。 | | +| det_model | str, オプション | 事前トレーニング済みのYOLO検出モデル。デフォルトは'yolov8x.pt'。 | 'yolov8x.pt' | +| sam_model | str, オプション | 事前トレーニング済みのSAMセグメンテーションモデル。デフォルトは'sam_b.pt'。 | 'sam_b.pt' | +| device | str, オプション | モデルを実行するデバイス。デフォルトは空の文字列(CPUまたはGPUが利用可能な場合)。 | | +| output_dir | str, None, オプション | 注釈付け結果を保存するディレクトリ。デフォルトは、'data'と同じディレクトリ内の 'labels' フォルダーです。 | None | + +`auto_annotate`関数は、画像へのパス、任意の事前トレーニング済みの検出およびSAMセグメンテーションモデル、モデルを実行するデバイス、および注釈付け結果を保存する出力ディレクトリを指定するためのオプション引数を取ります。 + +事前トレーニング済みモデルを使用したオートアノテーションにより、高品質なセグメンテーションデータセットを作成するための時間と労力を大幅に節約することができます。この機能は、大量の画像コレクションに取り組んでいる研究者や開発者にとって特に有益であり、モデルの開発と評価に集中することができます。 + +## 引用と謝辞 + +SAMが研究や開発の場で役立つ場合は、引用にご協力いただけると幸いです。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +この貴重なコンピュータビジョンコミュニティ向けのリソースを作成および維持してくれたMeta AIに感謝の意を表します。 + +*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, 画像セグメンテーション, プロンプト可能なセグメンテーション, ゼロショットパフォーマンス, SA-1B データセット, 先進のアーキテクチャ, オートアノテーション, Ultralytics, 事前トレーニング済みモデル, SAM base, SAM large, インスタンスセグメンテーション, コンピュータビジョン, AI, 人工知能, 機械学習, データアノテーション, セグメンテーションマスク, ディテクションモデル, YOLOディテクションモデル, bibtex, Meta AI.* diff --git a/docs/ja/models/yolo-nas.md b/docs/ja/models/yolo-nas.md new file mode 100644 index 00000000000..a7d1863fc97 --- /dev/null +++ b/docs/ja/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: YOLO-NASは、優れた物体検出モデルです。その機能、事前学習モデル、Ultralytics Python APIの使用法などについて詳しく説明します。 +keywords: YOLO-NAS, Deci AI, 物体検出, 深層学習, ニューラルアーキテクチャ検索, Ultralytics Python API, YOLOモデル, 事前学習モデル, 量子化, 最適化, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## 概要 + +Deci AIによって開発されたYOLO-NASは、画期的な物体検出ベースモデルです。従来のYOLOモデルの制約に対処するための高度なニューラルアーキテクチャ検索技術によって生み出されています。量子化のサポートと精度とレイテンシのトレードオフの改善により、YOLO-NASは物体検出において大きな進歩を遂げています。 + +![モデルの例の画像](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**YOLO-NASの概要。** YOLO-NASは、量子化対応のブロックと選択的量子化を使用して最適なパフォーマンスを実現します。モデルをINT8で量子化すると、他のモデルよりも精度がほとんど低下せずに最適なパフォーマンスが得られます。これらの進歩により、前例のない物体検出能力と優れたパフォーマンスを備えた優れたアーキテクチャが実現されます。 + +### 主な特徴 + +- **量子化フレンドリーな基本ブロック:** YOLO-NASは、従来のYOLOモデルの制約の1つである量子化に対応した新しい基本ブロックを導入しています。 +- **洗練されたトレーニングと量子化:** YOLO-NASは、高度なトレーニングスキームとポストトレーニング量子化を活用してパフォーマンスを向上させています。 +- **AutoNAC最適化と事前学習:** YOLO-NASはAutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの注目されるデータセットで事前学習されています。この事前学習により、製品環境での下流物体検出タスクに非常に適しています。 + +## 事前学習モデル + +Ultralyticsが提供する事前学習済みのYOLO-NASモデルを使用して、次世代の物体検出のパワーを体験してください。これらのモデルは、速度と精度の両方の面で優れたパフォーマンスを提供するように設計されています。特定のニーズに合わせてさまざまなオプションから選択できます。 + +| モデル | mAP | レイテンシ (ms) | +|------------------|-------|------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +各モデルのバリエーションは、Mean Average Precision(mAP)とレイテンシのバランスを取り、パフォーマンスとスピードの両方に最適化されています。 + +## 使用例 + +Ultralyticsの`ultralytics` Pythonパッケージを使用して、YOLO-NASモデルをPythonアプリケーションに簡単に統合できるようにしました。このパッケージは、プロセスをスムーズにするユーザーフレンドリーなPython APIを提供します。 + +次の例では、推論と検証のために`ultralytics`パッケージを使用してYOLO-NASモデルをどのように使用するかを示しています。 + +### 推論と検証の例 + +この例では、COCO8データセットでYOLO-NAS-sを検証します。 + +!!! Example "例" + + この例では、YOLO-NASの推論と検証のためのシンプルなコードを提供しています。推論結果の処理については、[Predict](../modes/predict.md)モードを参照してください。他のモードでYOLO-NASを使用する方法については、[Val](../modes/val.md)および[Export](../modes/export.md)を参照してください。`ultralytics`パッケージのYOLO-NASはトレーニングをサポートしていません。 + + === "Python" + + Pythonで、PyTorchの事前学習済みの`*.pt`モデルファイルを`NAS()`クラスに渡すことで、モデルのインスタンスを作成できます: + + ```python + from ultralytics import NAS + + # COCO事前学習済みのYOLO-NAS-sモデルをロード + model = NAS('yolo_nas_s.pt') + + # モデル情報の表示(オプション) + model.info() + + # COCO8の例データセットでモデルを検証 + results = model.val(data='coco8.yaml') + + # 'bus.jpg'画像上でYOLO-NAS-sモデルを使用した推論 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + モデルを直接実行するためのCLIコマンドもあります: + + ```bash + # COCO事前学習済みのYOLO-NAS-sモデルをロードし、COCO8の例データセットでパフォーマンスを検証 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # COCO事前学習済みのYOLO-NAS-sモデルをロードし、'bus.jpg'画像上で推論を実行 + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## サポートされているタスクとモード + +YOLO-NASモデルは、Small(s)、Medium(m)、Large(l)の3つのバリエーションを提供しています。各バリエーションは、異なる計算リソースとパフォーマンスのニーズに対応するように設計されています: + +- **YOLO-NAS-s:** 計算リソースが限られている環境で効率が重要な場合に最適化されています。 +- **YOLO-NAS-m:** 幅広い一般的な物体検出のニーズに適したバランスの取れたアプローチです。 +- **YOLO-NAS-l:** 計算リソースの制約が少ない最高の精度が求められるシナリオに対応しています。 + +以下は、各モデルの詳細な概要であり、それらの事前学習済み重みへのリンク、サポートされるタスク、さまざまな動作モードとの互換性が示されています。 + +| モデルの種類 | 事前学習済みの重み | サポートされるタスク | 推論 | 検証 | トレーニング | エクスポート | +|------------|-----------------------------------------------------------------------------------------------|----------------------------|----|----|--------|--------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [物体検出](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [物体検出](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [物体検出](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## 引用と謝辞 + +研究や開発の中でYOLO-NASを使用する場合は、SuperGradientsを引用してください: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +このコンピュータビジョンコミュニティ向けの貴重なリソースを作成および維持するために、Deci AIの[SuperGradients](https://github.com/Deci-AI/super-gradients/)チームに感謝の意を表します。革新的なアーキテクチャと優れた物体検出能力を持つYOLO-NASが、開発者や研究者の重要なツールになると信じています。 + +*keywords: YOLO-NAS, Deci AI, 物体検出, 深層学習, ニューラルアーキテクチャ検索, Ultralytics Python API, YOLOモデル, SuperGradients, 事前学習モデル, 量子化フレンドリーな基本ブロック, 高度なトレーニングスキーム, ポストトレーニング量子化, AutoNAC最適化, COCO, Objects365, Roboflow 100* diff --git a/docs/ja/models/yolov3.md b/docs/ja/models/yolov3.md new file mode 100644 index 00000000000..19f62afb1a3 --- /dev/null +++ b/docs/ja/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: YOLOv3、YOLOv3-Ultralytics、およびYOLOv3uの概要を把握してください。オブジェクト検出に対するこれらのモデルの主な特徴、使用方法、およびサポートされるタスクについて学びます。 +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, オブジェクト検出, 推論, トレーニング, Ultralytics +--- + +# YOLOv3、YOLOv3-Ultralytics、およびYOLOv3u + +## 概要 + +このドキュメントでは、[YOLOv3](https://pjreddie.com/darknet/yolo/)、[YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3)、および[YOLOv3u](https://github.com/ultralytics/ultralytics)という3つの関連するオブジェクト検出モデルについて概説します。 + +1. **YOLOv3:** これはYou Only Look Once (YOLO) オブジェクト検出アルゴリズムの3番目のバージョンです。Joseph Redmonによって最初に開発されたYOLOv3は、マルチスケール予測や3つの異なるサイズの検出カーネルなど、さまざまな機能を導入し、前バージョンよりも性能を向上させました。 + +2. **YOLOv3-Ultralytics:** これはUltralyticsによるYOLOv3モデルの実装です。オリジナルのYOLOv3アーキテクチャを再現し、より多くの事前学習済みモデルのサポートや簡単なカスタマイズオプションなど、追加の機能を提供します。 + +3. **YOLOv3u:** これはYOLOv8モデルで使用されるアンカーフリーでオブジェクトネスフリーなスプリットヘッドを組み込んだYOLOv3-Ultralyticsの更新版です。YOLOv3uは、YOLOv3と同じバックボーンとネックアーキテクチャを保持しながら、YOLOv8の更新された検出ヘッドを備えています。 + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## 主な特徴 + +- **YOLOv3:** 3つの異なる検出スケールを使用し、13x13、26x26、および52x52の3つの異なるサイズの検出カーネルを活用しました。これにより、さまざまなサイズのオブジェクトの検出精度が大幅に向上しました。さらに、YOLOv3では各バウンディングボックスの複数のラベル予測や、より良い特徴抽出ネットワークなどの機能が追加されました。 + +- **YOLOv3-Ultralytics:** UltralyticsのYOLOv3の実装は、オリジナルのモデルと同じ性能を提供しながら、より多くの事前学習済みモデルのサポート、追加のトレーニング方法、および簡単なカスタマイズオプションを提供します。これにより、実用的なアプリケーションにおいてより柔軟で使いやすくなります。 + +- **YOLOv3u:** この更新されたモデルは、YOLOv8から使用されているアンカーフリーでオブジェクトネスフリーなスプリットヘッドを組み込んでいます。事前定義されたアンカーボックスとオブジェクトネススコアの必要性を排除することで、この検出ヘッドの設計は、さまざまなサイズや形状のオブジェクトの検出能力を向上させることができます。これにより、YOLOv3uはオブジェクト検出タスクにおいてより堅牢で正確なモデルとなります。 + +## サポートされるタスクとモード + +YOLOv3シリーズ、YOLOv3、YOLOv3-Ultralytics、およびYOLOv3uは、オブジェクト検出タスクに特化して設計されています。これらのモデルは、精度と速度のバランスを取りながらさまざまな実世界のシナリオでの効果が高いことで知られています。各バリアントはユニークな機能と最適化を提供し、さまざまなアプリケーションに適しています。 + +3つのモデルは[推論](../modes/predict.md)、[検証](../modes/val.md)、[トレーニング](../modes/train.md)、および[エクスポート](../modes/export.md)など、幅広いモードをサポートしており、効果的なオブジェクト検出のための完全なツールキットを提供します。 + +| モデルの種類 | サポートされるタスク | 推論 | 検証 | トレーニング | エクスポート | +|--------------------|--------------------------------|----|----|--------|--------| +| YOLOv3 | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +この表は、各YOLOv3バリアントの機能を一目で把握するためのもので、オブジェクト検出ワークフローのさまざまなタスクと操作モードに対する多様性と適用性を強調しています。 + +## 使用例 + +この例では、YOLOv3の簡単なトレーニングおよび推論の例を提供します。これらおよびその他の[モード](../modes/index.md)の完全なドキュメンテーションについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、および[Export](../modes/export.md)のドキュメントページを参照してください。 + +!!! Example "例" + + === "Python" + + PyTorchの事前学習済み `*.pt` モデルと設定 `*.yaml` ファイルは、`YOLO()` クラスに渡してモデルインスタンスを作成できます。 + + ```python + from ultralytics import YOLO + + # COCOで学習済みのYOLOv3nモデルをロード + model = YOLO('yolov3n.pt') + + # モデル情報の表示(任意) + model.info() + + # COCO8のサンプルデータセットでモデルを100エポックトレーニング + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv3nモデルで'bus.jpg'画像に対して推論実行 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLIコマンドを使用して直接モデルを実行できます。 + + ```bash + # COCOで学習済みのYOLOv3nモデルをロードし、COCO8のサンプルデータセットで100エポックトレーニング + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCOで学習済みのYOLOv3nモデルをロードし、'bus.jpg'画像に対して推論実行 + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## 引用と謝辞 + +研究でYOLOv3を使用する場合は、元のYOLO論文とUltralyticsのYOLOv3リポジトリを引用してください。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Joseph RedmonとAli Farhadiには、オリジナルのYOLOv3を開発していただいたことに感謝します。 diff --git a/docs/ja/models/yolov4.md b/docs/ja/models/yolov4.md new file mode 100644 index 00000000000..19ec65aa912 --- /dev/null +++ b/docs/ja/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: YOLOv4は、2020年にAlexey Bochkovskiyによってリリースされた最先端のリアルタイムオブジェクト検出器に関する詳細なガイドをご覧ください。そのアーキテクチャのハイライト、革新的な機能、および応用例を理解してください。 +keywords: ultralytics、YOLOv4、オブジェクト検出、ニューラルネットワーク、リアルタイム検出、オブジェクト検出器、機械学習 +--- + +# YOLOv4: 高速で正確なオブジェクト検出 + +YOLOv4のUltralyticsドキュメンテーションページへようこそ。YOLOv4は、2020年にAlexey Bochkovskiyによってリリースされた最先端のリアルタイムオブジェクト検出器です。速度と精度の最適なバランスを提供するよう設計されており、さまざまなアプリケーションに優れた選択肢です。 + +![YOLOv4アーキテクチャ図](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**YOLOv4アーキテクチャ図**。YOLOv4の複雑なネットワーク設計を示しており、最適なリアルタイムオブジェクト検出のためのバックボーン、ネック、およびヘッドコンポーネント、およびそれらの相互接続されたレイヤーが表示されています。 + +## 導入 + +YOLOv4は、You Only Look Once version 4の略で、[YOLOv3](yolov3.md)や他のオブジェクト検出モデルなど、以前のYOLOバージョンの制約に対処するために開発されたリアルタイムオブジェクト検出モデルです。他の畳み込みニューラルネットワーク(CNN)ベースのオブジェクト検出器とは異なり、YOLOv4は推薦システムだけでなく、スタンドアロンのプロセス管理や人間の入力削減にも適用可能です。従来のグラフィックスプロセッシングユニット(GPU)上での動作は、手ごろな価格で大量の使用が可能であり、トレーニングには1つのGPUのみが必要です。 + +## アーキテクチャ + +YOLOv4は、パフォーマンスの最適化に一緒に機能するいくつかの革新的な機能を利用しています。これには、Weighted-Residual-Connections(WRC)、Cross-Stage-Partial-connections(CSP)、Cross mini-Batch Normalization(CmBN)、Self-adversarial-training(SAT)、Mish-activation、Mosaic data augmentation、DropBlock regularization、およびCIoU lossが含まれます。これらの機能は組み合わせて、最先端の結果を達成するために使用されます。 + +典型的なオブジェクト検出器は、入力、バックボーン、ネック、そしてヘッドの複数の部分で構成されています。YOLOv4のバックボーンはImageNetで事前にトレーニングされ、オブジェクトのクラスと境界ボックスを予測するために使用されます。バックボーンはVGG、ResNet、ResNeXt、またはDenseNetなどの複数のモデルから選択できます。ディテクターのネック部分は、異なるステージからの特徴マップを収集するために使用され、通常、複数のボトムアップパスと複数のトップダウンパスが含まれます。ヘッド部分は、最終的なオブジェクトの検出と分類に使用されます。 + +## フリービーのバッグ + +YOLOv4は、「フリービーのバッグ」として知られる手法も使用しており、これは推論のコストを増やさずにモデルの精度を向上させる技術です。データ拡張は、オブジェクト検出で使用される一般的なフリービーのバッグの技術の一つであり、入力画像の変動性を増加させることでモデルの堅牢性を向上させます。データ拡張の例には、光度の歪み(画像の明るさ、コントラスト、色調、彩度、ノイズの調整)や幾何学的歪み(ランダムなスケーリング、クロッピング、反転、回転の追加)があります。これらの技術は、モデルが異なる種類の画像に対してより良い一般化をするのに役立ちます。 + +## 機能と性能 + +YOLOv4は、オブジェクト検出の最適な速度と精度を目指して設計されています。YOLOv4のアーキテクチャには、バックボーンとしてCSPDarknet53、ネックとしてPANet、検出ヘッドとしてYOLOv3が含まれています。この設計により、YOLOv4は印象的な速度でオブジェクト検出を実行できるため、リアルタイムアプリケーションに適しています。YOLOv4は精度でも優れており、オブジェクト検出のベンチマークで最先端の結果を達成しています。 + +## 使用例 + +現時点では、Ultralyticsは現在、YOLOv4モデルをサポートしていません。そのため、YOLOv4を使用したいユーザーは、インストールおよび使用方法に関する情報は直接YOLOv4のGitHubリポジトリを参照する必要があります。 + +ここでは、YOLOv4を使用するための一般的な手順の概要を示します。 + +1. YOLOv4のGitHubリポジトリにアクセスします: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. インストールのためにREADMEファイルに記載されている指示に従います。一般的には、リポジトリのクローン、必要な依存関係のインストール、および必要な環境変数のセットアップが含まれます。 + +3. インストールが完了したら、データセットの準備、モデルパラメータの設定、モデルのトレーニング、トレーニングされたモデルを使用してオブジェクト検出を実行するなど、リポジトリで提供されている使用方法に従ってモデルをトレーニングおよび使用できます。 + +特定の手順は、特定のユースケースとYOLOv4リポジトリの現在の状態によって変わる場合があります。したがって、YOLOv4 GitHubリポジトリで提供されている指示に直接参照することを強くお勧めします。 + +YOLOv4のサポートが実装され次第、Ultralyticsの使用例のためにこのドキュメントを更新することをお詫び申し上げます。 + +## 結論 + +YOLOv4は、速度と精度のバランスを取った強力で効率的なオブジェクト検出モデルです。トレーニング中にユニークな機能とバッグのフリービーの技術を使用することで、リアルタイムのオブジェクト検出タスクで優れたパフォーマンスを発揮します。通常のGPUを持つ誰でもがトレーニングと使用を行うことができるため、幅広いアプリケーションにアクセス可能かつ実用的です。 + +## 引用と謝辞 + +リアルタイムオブジェクト検出の分野での重要な貢献に対して、YOLOv4の著者に謝意を表します: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +オリジナルのYOLOv4の論文は[arXiv](https://arxiv.org/pdf/2004.10934.pdf)で見つけることができます。著者は彼らの仕事を一般に公開しており、コードベースは[GitHub](https://github.com/AlexeyAB/darknet)でアクセスできます。私たちは、彼らの努力に感謝し、彼らの仕事を広いコミュニティにアクセス可能にしてくれたことに感謝しています。 diff --git a/docs/ja/models/yolov5.md b/docs/ja/models/yolov5.md new file mode 100644 index 00000000000..8b6536856ae --- /dev/null +++ b/docs/ja/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: YOLOv5uは、改良された精度と速度のトレードオフと、さまざまな物体検出タスク向けの多数の事前トレーニングモデルを備えたYOLOv5モデルの進化バージョンです。 +keywords: YOLOv5u, 物体検出, 事前トレーニングモデル, Ultralytics, Inference, Validation, YOLOv5, YOLOv8, アンカーフリー, オブジェクトフリー, リアルタイムアプリケーション, 機械学習 +--- + +# YOLOv5 + +## 概要 + +YOLOv5uは、物体検出方法論の進歩を表しています。Ultralyticsが開発した[YOLOv5](https://github.com/ultralytics/yolov5)モデルの基本アーキテクチャを起源とするYOLOv5uは、アンカーフリーでオブジェクトフリーの分割ヘッドを採用しており、以前の[YOLOv8](yolov8.md)モデルで導入された特徴です。この適応により、モデルのアーキテクチャが洗練され、物体検出タスクにおける改善された精度と速度のトレードオフが実現されます。経験的な結果と派生した特徴から明らかなとおり、YOLOv5uは、研究と実用の両方で堅牢なソリューションを求める人々にとって効率的な選択肢です。 + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## 主な特徴 + +- **アンカーフリーな分割Ultralyticsヘッド:** 伝統的な物体検出モデルは、事前に定義されたアンカーボックスを使用してオブジェクトの位置を予測します。しかし、YOLOv5uはこのアプローチを近代化しています。アンカーフリーな分割Ultralyticsヘッドを採用することで、より柔軟かつ適応性のある検出メカニズムが確保され、さまざまなシナリオでのパフォーマンスが向上します。 + +- **最適化された精度と速度のトレードオフ:** 速度と精度はしばしば反対の方向に引っ張られます。しかし、YOLOv5uはこのトレードオフに挑戦しています。リアルタイムの検出を確保しながら、精度を損なうことなく、キャリブレーションされたバランスを提供します。この機能は、自動車、ロボット工学、リアルタイムビデオ解析など、迅速な応答を必要とするアプリケーションに特に有用です。 + +- **さまざまな事前トレーニングモデル:** 異なるタスクには異なるツールセットが必要であることを理解して、YOLOv5uはさまざまな事前トレーニングモデルを提供しています。Inference、Validation、Trainingに焦点を当てていても、ユーザーには待ち受けている特別に調整されたモデルがあります。この多様性により、ワンサイズがすべての解決策ではなく、一意の課題に特化したモデルを使用することができます。 + +## サポートされるタスクとモード + +各種の事前トレーニング済みのYOLOv5uモデルは、[物体検出](../tasks/detect.md)タスクで優れたパフォーマンスを発揮します。[Inference](../modes/predict.md)、[Validation](../modes/val.md)、[Training](../modes/train.md)、および[Export](../modes/export.md)などのさまざまなモードをサポートしているため、開発から展開まで幅広いアプリケーションに適しています。 + +| モデルの種類 | 事前トレーニング済みの重み | タスク | 推論 | 汎化 | トレーニング | エクスポート | +|---------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------|----|----|--------|--------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [物体検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +この表では、YOLOv5uモデルのバリアントについて詳細な概要を提供し、物体検出タスクでの適用可能性と、[Inference](../modes/predict.md)、[Validation](../modes/val.md)、[Training](../modes/train.md)、[Export](../modes/export.md)などのさまざまな操作モードのサポートを強調しています。この包括的なサポートにより、ユーザーは広範な物体検出シナリオでYOLOv5uモデルの機能を十分に活用することができます。 + +## パフォーマンスメトリクス + +!!! パフォーマンス + + === "検出" + + [COCO](https://docs.ultralytics.com/datasets/detect/coco/)でトレーニングされたこれらのモデルを使用した使用例については、[検出ドキュメント](https://docs.ultralytics.com/tasks/detect/)を参照してください。これらのモデルには80の事前トレーニングクラスが含まれています。 + + | モデル | YAML | サイズ
(pixels) | mAPval
50-95 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | パラメータ
(M) | FLOPS
(B) | + |-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|----------------------------|-------------------------------------|----------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## 使用例 + +この例では、単純なYOLOv5のトレーニングと推論の使用例を提供します。これらと他の[モード](../modes/index.md)の完全なドキュメントについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、[Export](../modes/export.md)のドキュメントページを参照してください。 + +!!! Example "例" + + === "Python" + + Pythonでモデルインスタンスを作成するには、PyTorchの事前トレーニング済みの`*.pt`モデルおよび構成`*.yaml`ファイルを`YOLO()`クラスに渡すことができます。 + + ```python + from ultralytics import YOLO + + # COCOで事前トレーニング済みのYOLOv5nモデルをロードする + model = YOLO('yolov5n.pt') + + # モデル情報を表示する(任意) + model.info() + + # COCO8の例のデータセットでモデルを100エポックトレーニングする + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv5nモデルを使用して'bus.jpg'画像で推論を実行する + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + [CLI](../modes/cli.md)コマンドを使用してモデルを直接実行することもできます。 + + ```bash + # COCOで事前トレーニング済みのYOLOv5nモデルをロードし、COCO8の例のデータセットで100エポックトレーニングする + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCOで事前トレーニング済みのYOLOv5nモデルをロードし、'bus.jpg'画像で推論を実行する + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## 引用および謝辞 + +研究でYOLOv5またはYOLOv5uを使用する場合は、以下のようにUltralytics YOLOv5リポジトリを引用してください: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +なお、YOLOv5モデルは[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)および[Enterprise](https://ultralytics.com/license)ライセンスの下で提供されています。 diff --git a/docs/ja/models/yolov6.md b/docs/ja/models/yolov6.md new file mode 100644 index 00000000000..139b0a78b81 --- /dev/null +++ b/docs/ja/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: 最先端の速度と精度のバランスを実現する、Meituan YOLOv6というオブジェクト検出モデルを紹介します。機能、事前学習済みモデル、Pythonの使用方法について深く掘り下げます。 +keywords: Meituan YOLOv6、オブジェクト検出、Ultralytics、YOLOv6ドキュメント、Bi-directional Concatenation、Anchor-Aided Training、事前学習済みモデル、リアルタイムアプリケーション +--- + +# Meituan YOLOv6 + +## 概要 + +[Meituan](https://about.meituan.com/) YOLOv6は、速度と精度のバランスに優れた最先端のオブジェクト検出器であり、リアルタイムアプリケーションにおいては人気のある選択肢となっています。このモデルは、Bi-directional Concatenation(BiC)モジュール、アンカー支援トレーニング(AAT)戦略の実装、およびCOCOデータセットにおける最先端の精度を実現するための改良されたバックボーンとネックの設計など、アーキテクチャとトレーニング方法にいくつかの注目すべき技術的改善をもたらしました。 + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![モデルの例](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**YOLOv6の概要。** モデルのアーキテクチャ図は、重要な改善点として再設計されたネットワークコンポーネントとトレーニング戦略を示しており、著しいパフォーマンス向上につながっています。 (a) YOLOv6のネック(NおよびSが表示されています)。M/Lの場合、RepBlocksはCSPStackRepで置き換えられます。 (b) BiCモジュールの構造。 (c) SimCSPSPPFブロック。 ([出典](https://arxiv.org/pdf/2301.05586.pdf))。 + +### 主な特徴 + +- **Bi-directional Concatenation(BiC)モジュール:** YOLOv6は、検出器のネックにBiCモジュールを導入し、ローカリゼーション信号を強化して性能を向上させ、速度の低下をほとんど無視できる優れた結果を実現します。 +- **アンカー支援トレーニング(AAT)戦略:** このモデルでは、AATを提案して、アンカーベースとアンカーフリーのパラダイムの両方の利点を享受することができます。これにより、推論効率を損なうことなく性能を向上させることができます。 +- **改良されたバックボーンとネックの設計:** YOLOv6をバックボーンとネックに別のステージを追加することで、このモデルはCOCOデータセットでの最先端の性能を高解像度入力で実現しています。 +- **自己蒸留戦略:** YOLOv6の小型モデルの性能を向上させるために、新しい自己蒸留戦略が実装されており、トレーニング中に補助回帰ブランチを強化し、推論時にはそれを除去して顕著な速度低下を回避します。 + +## パフォーマンスメトリクス + +YOLOv6にはさまざまなスケールの事前学習済みモデルが提供されています。 + +- YOLOv6-N: NVIDIA Tesla T4 GPUで、COCO val2017において37.5%のAPを1187 FPSで達成。 +- YOLOv6-S: 484 FPSで45.0%のAP。 +- YOLOv6-M: 226 FPSで50.0%のAP。 +- YOLOv6-L: 116 FPSで52.8%のAP。 +- YOLOv6-L6: リアルタイムでの最先端の精度。 + +YOLOv6には、異なる精度に最適化されたクォンタイズ済みのモデルや、モバイルプラットフォーム向けに最適化されたモデルも提供されています。 + +## 使用例 + +この例では、YOLOv6のトレーニングおよび推論の簡単な使用例を示します。これらおよび他の[モード](../modes/index.md)の完全なドキュメントについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、[Export](../modes/export.md)のドキュメントページを参照してください。 + +!!! Example "例" + + === "Python" + + PyTorchで事前学習済みの`*.pt`モデルと`*.yaml`設定ファイルを`YOLO()`クラスに渡すことで、Pythonでモデルインスタンスを作成することができます。 + + ```python + from ultralytics import YOLO + + # YOLOv6nモデルをゼロから構築する + model = YOLO('yolov6n.yaml') + + # モデルの情報を表示する(オプション) + model.info() + + # COCO8の例題データセットでモデルを100エポックトレーニングする + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv6nモデルで'bus.jpg'画像に対して推論を実行する + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + モデルを直接実行するためのCLIコマンドも利用できます。 + + ```bash + # ゼロからYOLOv6nモデルを構築し、COCO8の例題データセットで100エポックトレーニングする + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # ゼロからYOLOv6nモデルを構築し、'bus.jpg'画像に対して推論を実行する + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## サポートされるタスクとモード + +YOLOv6シリーズは、高性能の[オブジェクト検出](../tasks/detect.md)に最適化されたモデルを提供しています。これらのモデルは、さまざまな計算ニーズと精度要件に対応しており、幅広いアプリケーションに適応することができます。 + +| モデルタイプ | 事前学習済みの重み | サポートされるタスク | 推論 | 検証 | トレーニング | エクスポート | +|-----------|----------------|--------------------------------|----|----|--------|--------| +| YOLOv6-N | `yolov6-n.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [オブジェクト検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +この表は、YOLOv6モデルのバリアントについての詳細な概要を提供し、オブジェクト検出のタスクにおける機能と、[推論](../modes/predict.md)、[検証](../modes/val.md)、[トレーニング](../modes/train.md)、[エクスポート](../modes/export.md)などのさまざまな操作モードとの互換性を強調しています。この包括的なサポートにより、ユーザーはさまざまなオブジェクト検出シナリオでYOLOv6モデルの機能を十分に活用することができます。 + +## 引用と謝辞 + +リアルタイムオブジェクト検出の分野における重要な貢献をした著者に謝意を表します。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +YOLOv6のオリジナル論文は[arXiv](https://arxiv.org/abs/2301.05586)で入手できます。著者は自身の研究を広く共有しており、コードベースは[GitHub](https://github.com/meituan/YOLOv6)でアクセスできます。私たちは彼らがこの分野の進歩に貢献し、その研究を広く公開していることに感謝しています。 diff --git a/docs/ja/models/yolov7.md b/docs/ja/models/yolov7.md new file mode 100644 index 00000000000..3981150c09c --- /dev/null +++ b/docs/ja/models/yolov7.md @@ -0,0 +1,65 @@ +--- +comments: true +description: YOLOv7は高速性と精度の両方で既知の物体検出器を凌駕する最先端のリアルタイム物体検出器です。この技術では、モデル再パラメータ化、動的ラベル割り当て、拡張スケーリング、複合スケーリングなど、学習可能なBag-of-Freebies最適化に焦点を当てています。 +keywords: YOLOv7, リアルタイム物体検出器, 最先端, Ultralytics, MS COCO データセット, モデル再パラメータ化, 動的ラベル割り当て, 拡張スケーリング, 複合スケーリング +--- + +# YOLOv7: 学習可能なBag-of-Freebies + +YOLOv7は、5 FPSから160 FPSの範囲で、既知のすべての物体検出器を速度と精度の両方で凌駕する最先端のリアルタイム物体検出器です。GPU V100上で30 FPS以上の性能を持つリアルタイム物体検出器の中で、最高の精度(56.8% AP)を持っています。さらに、YOLOv7はYOLOR、YOLOX、Scaled-YOLOv4、YOLOv5などの他の物体検出器を速度と精度の面で上回っています。このモデルは、他のデータセットや事前学習重みを使用せずに、MS COCOデータセットでトレーニングされています。YOLOv7のソースコードはGitHubで入手できます。 + +![SOTA物体検出器との比較](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**最先端物体検出器との比較。** 表2の結果からわかるように、提案手法は速度と精度のトレードオフにおいて最も優れています。例えば、YOLOv7-tiny-SiLUとYOLOv5-N(r6.1)を比較すると、我々の手法は127 fps速く、APにおいて10.7%精度が向上しています。また、YOLOv7はフレームレート161 fpsで51.4%のAPを達成していますが、同じAPを持つPPYOLOE-Lのフレームレートは78 fpsのみです。パラメータ使用量に関しては、YOLOv7はPPYOLOE-Lよりも41%少ないです。さらに、114 fpsの推論速度を持つYOLOv7-Xを99 fpsの推論速度を持つYOLOv5-L(r6.1)と比較すると、YOLOv7-XはAPを3.9%向上させることができます。YOLOv7-Xをスケールの近いYOLOv5-X(r6.1)と比較すると、YOLOv7-Xの推論速度は31 fps速いです。また、パラメータ量と計算量の観点から、YOLOv7-XはYOLOv5-X(r6.1)に比べてパラメータを22%、計算量を8%削減していますが、APは2.2%向上しています([出典](https://arxiv.org/pdf/2207.02696.pdf))。 + +## 概要 + +リアルタイム物体検出は、マルチオブジェクトトラッキング、自動運転、ロボティクス、医療画像解析など、多くのコンピュータビジョンシステムの重要なコンポーネントです。近年、リアルタイム物体検出の開発は、さまざまなCPU、GPU、ニューラルプロセッシングユニット(NPU)の推論速度の効率的なアーキテクチャの設計と向上に焦点を当てています。YOLOv7は、エッジからクラウドまで、モバイルGPUとGPUデバイスの両方をサポートしています。 + +従来のリアルタイム物体検出器がアーキテクチャの最適化に焦点を当てるのに対し、YOLOv7では学習プロセスの最適化に注力しています。これには、推論コストを増やさずに物体検出の精度を向上させるためのモジュールや最適化手法が含まれます。これは、「学習可能なBag-of-Freebies」というコンセプトです。 + +## 主な特徴 + +YOLOv7は、いくつかの主な特徴を導入しています。 + +1. **モデル再パラメータ化**: YOLOv7は、グラデーション伝播経路の概念を持つ、さまざまなネットワークのレイヤーに適用可能な計画された再パラメータ化モデルを提案しています。 + +2. **動的ラベル割り当て**: 複数の出力層を持つモデルのトレーニングでは、異なるブランチの出力に動的なターゲットを割り当てる方法が新たな課題となります。この問題を解決するために、YOLOv7はコーストゥーファインリードガイド付きラベル割り当てと呼ばれる新しいラベル割り当て手法を導入しています。 + +3. **拡張スケーリングと複合スケーリング**: YOLOv7は、「拡張」および「複合スケーリング」の方法を提案し、効果的にパラメータと計算を利用できるリアルタイム物体検出器になります。 + +4. **効率性**: YOLOv7による方法は、最先端のリアルタイム物体検出器のパラメータ量を約40%、計算量を約50%効率的に削減し、より高速な推論速度と高い検出精度を実現します。 + +## 使用例 + +執筆時点では、Ultralyticsは現在、YOLOv7モデルをサポートしていません。そのため、YOLOv7を使用したい場合は、YOLOv7のGitHubリポジトリを直接参照する必要があります。 + +以下は、YOLOv7を使用するための典型的な手順の概要です。 + +1. YOLOv7のGitHubリポジトリにアクセスします: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7)。 + +2. READMEファイルに記載されている手順に従ってインストールします。通常、リポジトリをクローンし、必要な依存関係をインストールし、必要な環境変数を設定する必要があります。 + +3. インストールが完了したら、データセットの準備、モデルパラメータの設定、モデルのトレーニング、トレーニングされたモデルを使用して物体検出を実行するなど、リポジトリで提供されている使用方法に従って、モデルをトレーニングおよび使用することができます。 + +具体的な手順は、具体的なユースケースとYOLOv7リポジトリの現在の状態によって異なる場合があります。そのため、YOLOv7のGitHubリポジトリで提供されている手順を直接参照することを強くお勧めします。 + +YOLOv7のサポートが実装されるまで、このドキュメントを更新して、Ultralyticsの使用例を追加するための努力を続けます。 + +## 引用と謝辞 + +リアルタイム物体検出の分野での重要な貢献に対して、YOLOv7の著者に感謝いたします。 + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +YOLOv7のオリジナル論文は[arXiv](https://arxiv.org/pdf/2207.02696.pdf)で見つけることができます。著者は自分たちの研究を広く公開しており、コードベースは[GitHub](https://github.com/WongKinYiu/yolov7)でアクセスできます。彼らの研究がこの分野を進め、他の研究者にもアクセス可能にする努力に感謝します。 diff --git a/docs/ja/models/yolov8.md b/docs/ja/models/yolov8.md new file mode 100644 index 00000000000..a404036dac1 --- /dev/null +++ b/docs/ja/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: YOLOv8の魅力的な機能を探索しましょう。これは当社のリアルタイムオブジェクト検出器の最新バージョンです!高度なアーキテクチャ、事前学習済みモデル、そして精度と速度の最適なバランスがYOLOv8を完璧なオブジェクト検出タスクの選択肢とします。 +keywords: YOLOv8, Ultralytics, リアルタイムオブジェクト検出器, 事前学習済みモデル, ドキュメント, オブジェクト検出, YOLOシリーズ, 高度なアーキテクチャ, 精度, 速度 +--- + +# YOLOv8 + +## 概要 + +YOLOv8は、リアルタイムオブジェクト検出器のYOLOシリーズの最新版であり、精度と速度において最先端の性能を提供します。以前のYOLOバージョンの進化を基にして、YOLOv8は新機能と最適化を導入し、様々なオブジェクト検出タスクにおいて広範なアプリケーションに適した選択肢となります。 + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## 主な特徴 + +- **高度なバックボーンおよびネックアーキテクチャ:** YOLOv8は最先端のバックボーンとネックアーキテクチャを採用しており、特徴抽出とオブジェクト検出のパフォーマンスが向上しています。 +- **アンカーフリーな分割Ultralyticsヘッド:** YOLOv8はアンカーベースの方法と比べて、アンカーフリーな分割Ultralyticsヘッドを採用し、より高い精度と効率的な検出プロセスに貢献しています。 +- **最適な精度と速度のトレードオフの最適化:** 精度と速度の最適なバランスを保ちながら、YOLOv8は多岐にわたるリアルタイムオブジェクト検出タスクに適しています。 +- **さまざまな事前学習済みモデル:** YOLOv8はさまざまなタスクやパフォーマンス要件に対応する事前学習済みモデルを提供しており、特定のユースケースに適したモデルを簡単に見つけることができます。 + +## サポートされるタスクとモード + +YOLOv8シリーズは、コンピュータビジョンのさまざまなタスクに特化したさまざまなモデルを提供しています。これらのモデルは、オブジェクト検出からインスタンスセグメンテーション、ポーズ/キーポイントの検出、分類などのより複雑なタスクまで、さまざまな要件に対応するように設計されています。 + +YOLOv8シリーズの各バリアントは、それぞれのタスクに最適化されており、高いパフォーマンスと精度を提供します。また、これらのモデルは、推論、検証、トレーニング、エクスポートといったさまざまな運用モードと互換性があり、展開と開発のさまざまな段階で使用することができます。 + +| モデル | ファイル名 | タスク | 推論 | 検証 | トレーニング | エクスポート | +|-------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------|----|----|--------|--------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [検出](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [インスタンスセグメンテーション](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [ポーズ/キーポイント](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [分類](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +この表は、YOLOv8モデルのバリアントの概要を提供し、特定のタスクでの適用性と推論、検証、トレーニング、エクスポートなどのさまざまな運用モードとの互換性を示しています。これにより、YOLOv8シリーズの多様性と堅牢性が示されており、コンピュータビジョンのさまざまなアプリケーションに適しています。 + +## 性能メトリクス + +!!! パフォーマンス + + === "検出(COCO)" + + [COCO](https://docs.ultralytics.com/datasets/detect/coco/)でトレーニングされたこれらのモデルを使用した使用例については、[検出ドキュメント](https://docs.ultralytics.com/tasks/detect/)を参照してください。これらのモデルには80の事前学習済みクラスが含まれています。 + + | モデル | サイズ(ピクセル) | mAPval
50-95 | スピード(CPU ONNX
(ミリ秒)) | スピード(A100 TensorRT
(ミリ秒)) | パラメータ数(百万) | FLOPs(10億) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "検出(Open Images V7)" + + [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/)でトレーニングされたこれらのモデルを使用した使用例については、[検出ドキュメント](https://docs.ultralytics.com/tasks/detect/)を参照してください。これらのモデルには600の事前訓練クラスが含まれています。 + + | モデル | サイズ(ピクセル) | mAPval
50-95 | スピード(CPU ONNX
(ミリ秒)) | スピード(A100 TensorRT
(ミリ秒)) | パラメータ数(百万) | FLOPs(10億) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "セグメンテーション(COCO)" + + [COCO](https://docs.ultralytics.com/datasets/segment/coco/)でトレーニングされたこれらのモデルを使用した使用例については、[セグメンテーションドキュメント](https://docs.ultralytics.com/tasks/segment/)を参照してください。これらのモデルには80の事前学習済みクラスが含まれています。 + + | モデル | サイズ(ピクセル) | mAPbox
50-95 | mAPmask
50-95 | スピード(CPU ONNX
(ミリ秒)) | スピード(A100 TensorRT
(ミリ秒)) | パラメータ数(百万) | FLOPs(10億) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "分類(ImageNet)" + + [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/)でトレーニングされたこれらのモデルを使用した使用例については、[分類ドキュメント](https://docs.ultralytics.com/tasks/classify/)を参照してください。これらのモデルには1000の事前学習済みクラスが含まれています。 + + | モデル | サイズ(ピクセル) | top1精度 | top5精度 | スピード(CPU ONNX
(ミリ秒)) | スピード(A100 TensorRT
(ミリ秒)) | パラメータ数(百万) | FLOPs(640ピクセル時の10億) | + | -------------------------------------------------------------------------------------------- | --------------------- | --------- | --------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "ポーズ(COCO)" + + ['person']クラスの1つの事前学習済みクラスを含む、[COCO](https://docs.ultralytics.com/datasets/pose/coco/)でトレーニングされたこれらのモデルを使用した使用例については、[ポーズ推定ドキュメント](https://docs.ultralytics.com/tasks/pose/)を参照してください。 + + | モデル | サイズ(ピクセル) | mAPpose
50-95 | mAPpose
50 | スピード(CPU ONNX
(ミリ秒)) | スピード(A100 TensorRT
(ミリ秒)) | パラメータ数(百万) | FLOPs(10億) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## 使用例 + +この例では、YOLOv8のシンプルなトレーニングと推論の使用例を提供しています。これらとその他のモードに関する完全なドキュメントについては、[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)、および[Export](../modes/export.md)のドキュメントページを参照してください。 + +以下の例は、オブジェクト検出のためのYOLOv8 [Detect](../tasks/detect.md)モデル用のものです。他のサポートされるタスクについては、[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md)、および[Pose](../tasks/pose.md)のドキュメントを参照してください。 + +!!! Example "例" + + === "Python" + + Pythonでの、`.pt`形式の事前学習済みPyTorchモデルおよび設定ファイル`*.yaml`を使用して、`YOLO()`クラスを介してモデルインスタンスを作成する方法の例です: + + ```python + from ultralytics import YOLO + + # COCOで事前学習済みのYOLOv8nモデルをロード + model = YOLO('yolov8n.pt') + + # モデルの情報を表示(オプション) + model.info() + + # COCO8の例データセットで100エポックトレーニングを実行 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg'画像に対してYOLOv8nモデルで推論を実行 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 直接モデルを実行するためのCLIコマンドも使用できます: + + ```bash + # COCOで事前学習済みのYOLOv8nモデルをロードし、COCO8の例データセットで100エポックトレーニングを実行 + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCOで事前学習済みのYOLOv8nモデルをロードし、'bus.jpg'画像に対して推論を実行 + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## 引用および謝辞 + +このリポジトリからYOLOv8モデルまたは他のソフトウェアを使用する場合は、次の形式で引用してください: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +DOIは準備中であり、利用可能になり次第、引用に追加されます。YOLOv8モデルは[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)および[Enterprise](https://ultralytics.com/license)ライセンスで提供されています。 diff --git a/docs/ko/models/fast-sam.md b/docs/ko/models/fast-sam.md new file mode 100644 index 00000000000..4480421fa45 --- /dev/null +++ b/docs/ko/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: FastSAM은 이미지에서 실시간 객체 분할을 위한 CNN 기반 솔루션으로, 향상된 사용자 상호작용, 계산 효율성, 다양한 비전 작업에 대응할 수 있는 특징을 갖고 있습니다. +keywords: FastSAM, 머신러닝, CNN 기반 솔루션, 객체 분할, 실시간 솔루션, Ultralytics, 비전 작업, 이미지 처리, 산업 응용, 사용자 상호작용 +--- + +# Fast Segment Anything Model (FastSAM) + +Fast Segment Anything Model (FastSAM)은 Segment Anything 작업을 위한 새로운 실시간 CNN 기반 솔루션입니다. 이 작업은 다양한 사용자 상호작용 프롬프트에 따라 이미지 내의 모든 객체를 분할하는 것을 목표로 합니다. FastSAM은 계산 요구 사항을 크게 줄이면서 경쟁력 있는 성능을 유지하기 때문에 다양한 비전 작업에 실용적인 선택지가 될 수 있습니다. + +![Fast Segment Anything Model (FastSAM) 아키텍처 개요](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## 개요 + +FastSAM은 계산 리소스 요구 사항이 큰 Transformer 모델인 Segment Anything Model (SAM)의 한계를 해결하기 위해 설계되었습니다. FastSAM은 Segment Anything 작업을 두 단계로 분리한 방식을 채택합니다: 모든 인스턴스 분할과 프롬프트로 인한 영역 선택. 첫 번째 단계에서는 [YOLOv8-seg](../tasks/segment.md)를 사용하여 이미지의 모든 인스턴스의 분할 마스크를 생성합니다. 두 번째 단계에서는 프롬프트에 해당하는 관심 영역을 출력합니다. + +## 주요 특징 + +1. **실시간 솔루션**: CNN의 계산 효율성을 활용하여 FastSAM은 Segment Anything 작업에 대한 실시간 솔루션을 제공하며, 빠른 결과가 필요한 산업 응용에 가치가 있습니다. + +2. **효율성과 성능**: FastSAM은 성능 품질을 희생하지 않고 계산과 리소스 요구 사항을 크게 줄입니다. SAM과 비교해 유사한 성능을 달성하면서 계산 리소스를 크게 줄여 실시간 응용이 가능해집니다. + +3. **프롬프트 안내 분할**: FastSAM은 다양한 사용자 상호작용 프롬프트에 따라 이미지 내의 모든 객체를 분할할 수 있으므로 다양한 시나리오에서 유연성과 적응성을 제공합니다. + +4. **YOLOv8-seg 기반**: FastSAM은 [YOLOv8-seg](../tasks/segment.md)를 기반으로 한 것으로, 인스턴스 분할 브랜치가 장착된 객체 감지기입니다. 이를 통해 이미지의 모든 인스턴스의 분할 마스크를 효과적으로 생성할 수 있습니다. + +5. **벤치마크에서 경쟁 결과**: MS COCO에서의 객체 제안 작업에서 FastSAM은 [SAM](sam.md)에 비해 단일 NVIDIA RTX 3090에서 훨씬 더 빠른 속도로 높은 점수를 달성하여 효율성과 능력을 입증했습니다. + +6. **실용적인 응용**: FastSAM은 현재 방법보다 수십 배 또는 수백 배 더 빠른 속도로 여러 비전 작업의 신속한 솔루션을 제공하여 실질적인 적용 가능성을 제시합니다. + +7. **모델 압축 가능성**: FastSAM은 구조에 인공 사전을 도입하여 계산 비용을 크게 줄일 수 있는 경로를 보여주어 일반 비전 작업에 대한 대형 모델 아키텍처에 대한 새로운 가능성을 열어줍니다. + +## 사용 가능한 모델, 지원되는 작업 및 운영 모드 + +이 표는 사용 가능한 모델과 해당하는 사전 훈련 가중치, 지원하는 작업 및 [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md), [Export](../modes/export.md)와 같은 다른 운영 모드에 대한 호환성을 나타내며, 지원되는 모드는 ✅ 이모지로, 지원되지 않는 모드는 ❌ 이모지로 표시됩니다. + +| 모델 유형 | 사전 훈련 가중치 | 지원되는 작업 | Inference | Validation | Training | Export | +|-----------|----------------|--------------------------------|-----------|------------|----------|--------| +| FastSAM-s | `FastSAM-s.pt` | [인스턴스 분할](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [인스턴스 분할](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## 사용 예시 + +FastSAM 모델을 Python 애플리케이션에 쉽게 통합할 수 있습니다. Ultralytics는 개발을 간소화하기 위해 사용자 친화적인 Python API 및 CLI 명령을 제공합니다. + +### 예측 사용법 + +이미지에서 객체 검출을 수행하려면 다음과 같이 `predict` 메서드를 사용합니다: + +!!! Example "예제" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # 추론 소스 정의 + source = 'path/to/bus.jpg' + + # FastSAM 모델 생성 + model = FastSAM('FastSAM-s.pt') # 또는 FastSAM-x.pt + + # 이미지에 대한 추론 실행 + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Prompt Process 객체 준비 + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # 모든 프롬프트 + ann = prompt_process.everything_prompt() + + # 바운딩 박스의 기본 모양은 [0,0,0,0]에서 [x1,y1,x2,y2]로 변경 + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # 텍스트 프롬프트 + ann = prompt_process.text_prompt(text='a photo of a dog') + + # 포인트 프롬프트 + # 기본 포인트 [[0,0]] [[x1,y1],[x2,y2]] + # 기본 포인트 레이블 [0] [1,0] 0:배경, 1:전경 + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # FastSAM 모델 로드 및 모든 것을 세분화하여 추출 + yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640 + ``` + +이 코드 조각은 사전 훈련된 모델을 로드하고 이미지에 대한 예측을 실행하는 간편함을 보여줍니다. + +### 검증 사용법 + +데이터셋에서 모델을 검증하는 방법은 다음과 같습니다: + +!!! Example "예제" + + === "Python" + ```python + from ultralytics import FastSAM + + # FastSAM 모델 생성 + model = FastSAM('FastSAM-s.pt') # 또는 FastSAM-x.pt + + # 모델 검증 + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # FastSAM 모델 로드 및 이미지 크기 640에서 COCO8 예제 데이터셋에 대해 유효성 검사 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +FastSAM은 단일 클래스 객체의 감지와 분할만 지원합니다. 이는 모든 객체를 동일한 클래스로 인식하고 분할한다는 의미입니다. 따라서 데이터셋을 준비할 때 모든 객체 카테고리 ID를 0으로 변환해야 합니다. + +## FastSAM 공식 사용법 + +FastSAM은 [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) 저장소에서 직접 사용할 수도 있습니다. FastSAM을 사용하기 위해 수행할 일반적인 단계를 간단히 소개합니다: + +### 설치 + +1. FastSAM 저장소를 복제합니다: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Python 3.9로 Conda 환경을 생성하고 활성화합니다: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. 복제한 저장소로 이동하여 필요한 패키지를 설치합니다: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. CLIP 모델을 설치합니다: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### 예시 사용법 + +1. [모델 체크포인트](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing)를 다운로드합니다. + +2. FastSAM을 추론하기 위해 다음과 같이 사용합니다. 예시 명령어: + + - 이미지에서 모든 것을 세분화: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - 텍스트 프롬프트를 사용하여 특정 객체를 세분화: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog" + ``` + + - 바운딩 박스 내의 객체를 세분화 (xywh 형식으로 상자 좌표 제공): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - 특정 지점 근처의 객체를 세분화: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +또한, FastSAM을 [Colab 데모](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) 또는 [HuggingFace 웹 데모](https://huggingface.co/spaces/An-619/FastSAM)에서 시각적인 경험으로 시도해 볼 수 있습니다. + +## 인용 및 감사의 말씀 + +FastSAM의 실시간 인스턴스 분할 분야에 대한 혁신적인 기여를 위해 FastSAM 저자들에게 감사의 말씀을 전합니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +FastSAM 원본 논문은 [arXiv](https://arxiv.org/abs/2306.12156)에서 찾을 수 있습니다. 저자들은 자신들의 작업을 공개적으로 제공하였으며, 코드베이스는 [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM)에서 이용할 수 있습니다. 저자들의 노력에 감사드리며 저작물을 더 폭넓은 커뮤니티에 알리기 위한 기여를 기대합니다. diff --git a/docs/ko/models/index.md b/docs/ko/models/index.md index 59803e336b0..78f43ac44bb 100644 --- a/docs/ko/models/index.md +++ b/docs/ko/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Ultralytics에서 지원하는 YOLO 계열, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR 모델의 다양한 범위를 탐색하고 CLI 및 Python 사용 예시를 통해 시작해 보세요. +description: Ultralytics가 지원하는 다양한 YOLO 계열 모델, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR에 대해 알아보고 CLI와 Python 사용 예제를 통해 시작하세요. keywords: Ultralytics, 문서화, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, 모델, 아키텍처, Python, CLI --- -# Ultralytics에서 지원하는 모델 +# Ultralytics가 지원하는 모델들 -Ultralytics 모델 문서에 오신 것을 환영합니다! 저희는 [객체 검출](../tasks/detect.md), [인스턴스 분할](../tasks/segment.md), [이미지 분류](../tasks/classify.md), [자세 추정](../tasks/pose.md), [다중 객체 추적](../modes/track.md) 등 특정 작업에 맞춤화된 다양한 모델을 지원합니다. Ultralytics에 모델 아키텍처를 기여하고자 한다면, 저희의 [기여 가이드](../../help/contributing.md)를 확인해 주세요. +Ultralytics 모델 문서에 오신 것을 환영합니다! 우리는 [객체 감지](../tasks/detect.md), [인스턴스 분할](../tasks/segment.md), [이미지 분류](../tasks/classify.md), [자세 추정](../tasks/pose.md), [다중 객체 추적](../modes/track.md)과 같은 특정 작업에 맞춰진 다양한 범위의 모델을 지원합니다. Ultralytics에 모델 아키텍처를 기여하고 싶다면, [기여 가이드](../../help/contributing.md)를 확인해 보세요. -!!! Note "노트" +!!! Note "주의사항" - 🚧 현재 다국어 문서화 작업이 진행 중이며 문서를 개선하기 위해 열심히 작업하고 있습니다. 기다려 주셔서 감사합니다! 🙏 + 🚧 현재 다양한 언어로 된 문서 작업이 진행 중이며, 이를 개선하기 위해 열심히 노력하고 있습니다. 인내해 주셔서 감사합니다! 🙏 -## 주요 모델 +## 주요 모델들 -여기 몇 가지 주요 모델을 소개합니다: +다음은 지원되는 핵심 모델 목록입니다: -1. **[YOLOv3](../../models/yolov3.md)**: Joseph Redmon에 의해 처음 제안된 YOLO 모델 계열의 세 번째 버전으로, 효율적인 실시간 객체 검출 능력으로 알려져 있습니다. -2. **[YOLOv4](../../models/yolov4.md)**: 2020년 Alexey Bochkovskiy에 의해 발표된 YOLOv3의 다크넷 기반 업데이트 버전입니다. -3. **[YOLOv5](../../models/yolov5.md)**: Ultralytics에 의해 개선된 YOLO 아키텍처 버전으로, 이전 버전들과 비교해 더 나은 성능 및 속도 저하를 제공합니다. -4. **[YOLOv6](../../models/yolov6.md)**: 2022년 [Meituan](https://about.meituan.com/)에 의해 발표되었으며, 회사의 자율 배송 로봇에 많이 사용되고 있습니다. -5. **[YOLOv7](../../models/yolov7.md)**: YOLOv4의 저자들에 의해 2022년에 발표된 업데이트된 YOLO 모델입니다. -6. **[YOLOv8](../../models/yolov8.md)**: YOLO 계열의 최신 버전으로, 인스턴스 분할, 자세/키포인트 추정 및 분류 등 향상된 기능을 제공합니다. -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: Meta의 Segment Anything Model (SAM)입니다. -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: 경희대학교에 의한 모바일 애플리케이션용 MobileSAM입니다. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: 중국 과학원 자동화 연구소의 영상 및 비디오 분석 그룹에 의한 FastSAM입니다. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: YOLO Neural Architecture Search (NAS) 모델입니다. -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: Baidu의 PaddlePaddle Realtime Detection Transformer (RT-DETR) 모델입니다. +1. **[YOLOv3](yolov3.md)**: Joseph Redmon에 의해 최초로 만들어진 YOLO 모델 패밀리의 세 번째 버전으로, 효율적인 실시간 객체 감지 능력으로 알려져 있습니다. +2. **[YOLOv4](yolov4.md)**: 2020년 Alexey Bochkovskiy가 발표한 YOLOv3의 다크넷 기반 업데이트 버전입니다. +3. **[YOLOv5](yolov5.md)**: Ultralytics에 의해 향상된 YOLO 아키텍처로, 이전 버전들에 비해 더 나은 성능과 속도 트레이드오프를 제공합니다. +4. **[YOLOv6](yolov6.md)**: [미투안](https://about.meituan.com/)에서 2022년에 발표하여, 회사의 자율 주행 배달 로봇에서 많이 사용되고 있습니다. +5. **[YOLOv7](yolov7.md)**: YOLOv4의 저자들에 의해 2022년에 업데이트된 YOLO 모델들입니다. +6. **[YOLOv8](yolov8.md) 새로운 🚀**: YOLO 패밀리의 최신 버전으로, 인스턴스 분할, 자세/키포인트 추정, 분류 등 향상된 기능을 제공합니다. +7. **[Segment Anything Model (SAM)](sam.md)**: 메타의 Segment Anything Model (SAM)입니다. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: 경희대학교에서 모바일 어플리케이션을 위해 개발한 MobileSAM입니다. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: 중국 과학원 자동화 연구소의 이미지 및 비디오 분석 그룹에 의해 개발된 FastSAM입니다. +10. **[YOLO-NAS](yolo-nas.md)**: YOLO Neural Architecture Search (NAS) 모델들입니다. +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: 바이두의 PaddlePaddle Realtime Detection Transformer (RT-DETR) 모델들입니다.


@@ -36,59 +36,63 @@ Ultralytics 모델 문서에 오신 것을 환영합니다! 저희는 [객체 allowfullscreen>
- 보기: 몇 줄의 코드로 Ultralytics YOLO 모델을 실행하세요. + 시청하기: 몇 줄의 코드로 Ultralytics YOLO 모델을 실행하세요.

-## 시작하기: 사용 예시 +## 시작하기: 사용 예제 + +이 예제는 YOLO 학습과 추론에 대한 간단한 예제를 제공합니다. 이에 대한 전체 문서는 [예측](../modes/predict.md), [학습](../modes/train.md), [검증](../modes/val.md), [내보내기](../modes/export.md) 문서 페이지에서 확인할 수 있습니다. + +아래 예제는 객체 감지를 위한 YOLOv8 [감지](../tasks/detect.md) 모델에 대한 것입니다. 추가적으로 지원되는 작업들은 [분할](../tasks/segment.md), [분류](../tasks/classify.md), [자세](../tasks/pose.md) 문서를 참조하세요. !!! Example "예제" === "Python" - PyTorch로 사전훈련된 `*.pt` 모델과 구성 `*.yaml` 파일은 Python에서 `YOLO()`, `SAM()`, `NAS()` 및 `RTDETR()` 클래스에 전달하여 모델 인스턴스를 생성할 수 있습니다: + PyTorch로 사전 학습된 `*.pt` 모델들과 구성 `*.yaml` 파일들은 `YOLO()`, `SAM()`, `NAS()`, `RTDETR()` 클래스에 전달하여 파이썬에서 모델 인스턴스를 생성할 수 있습니다: ```python from ultralytics import YOLO - # COCO 사전훈련된 YOLOv8n 모델을 로드 + # COCO로 사전 학습된 YOLOv8n 모델 불러오기 model = YOLO('yolov8n.pt') - # 모델 정보 표시 (선택 사항) + # 모델 정보 표시 (선택사항) model.info() - # COCO8 예시 데이터셋에서 YOLOv8n 모델로 100 에포크 동안 훈련 + # COCO8 예제 데이터셋에 대해 100 에포크 동안 모델 학습 results = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # 'bus.jpg' 이미지에 YOLOv8n 모델로 추론 실행 + # 'bus.jpg' 이미지에 대한 YOLOv8n 모델 추론 실행 results = model('path/to/bus.jpg') ``` === "CLI" - 모델을 직접 실행하기 위한 CLI 커맨드도 제공됩니다: + 모델을 직접 실행하기 위한 CLI 명령어가 제공됩니다: ```bash - # COCO 사전훈련된 YOLOv8n 모델을 로드하고 COCO8 예시 데이터셋에서 100 에포크 동안 훈련 + # COCO로 사전 학습된 YOLOv8n 모델을 불러와 COCO8 예제 데이터셋에서 100 에포크 동안 학습 yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # COCO 사전훈련된 YOLOv8n 모델을 로드하고 'bus.jpg' 이미지에서 추론 실행 + # COCO로 사전 학습된 YOLOv8n 모델을 불러와 'bus.jpg' 이미지에 대한 추론 실행 yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` -## 새 모델 기여하기 +## 새로운 모델 기여하기 -Ultralytics에 모델을 기여하고 싶으신가요? 훌륭합니다! 저희는 항상 모델 포트폴리오를 확장하는 것에 개방적입니다. +Ultralytics에 여러분의 모델을 기여하고 싶으신가요? 훌륭합니다! 우리는 항상 모델 포트폴리오를 확장하는 것에 열려 있습니다. -1. **저장소를 포크하세요**: [Ultralytics GitHub 저장소](https://github.com/ultralytics/ultralytics)를 포크하며 시작하세요. +1. **저장소 포크하기**: [Ultralytics GitHub 저장소](https://github.com/ultralytics/ultralytics)를 포크하여 시작합니다. -2. **포크를 클론하세요**: 로컬 기기에 포크한 저장소를 클론하고 작업할 새 브랜치를 만드세요. +2. **포크 복제하기**: 포크한 저장소를 로컬 기계에 복제하고 새로운 브랜치를 생성하여 작업합니다. -3. **모델 구현하기**: 저희의 [기여 가이드](../../help/contributing.md)에 제시된 코딩 표준과 가이드라인을 따라 모델을 추가하세요. +3. **모델 구현하기**: 우리의 [기여 가이드](../../help/contributing.md)에 제공된 코딩 표준 및 가이드라인을 따라 모델을 추가합니다. -4. **철저히 테스트하기**: 파이프라인의 일부로서 뿐만 아니라 독립적으로도 모델을 철저히 테스트하세요. +4. **철저히 테스트하기**: 독립적으로뿐만 아니라 파이프라인의 일부로도 모델을 철저히 테스트해야 합니다. -5. **풀 리퀘스트 생성하기**: 모델에 만족하게 되면, 리뷰를 위해 메인 저장소로 풀 리퀘스트를 생성하세요. +5. **풀 리퀘스트 생성하기**: 모델에 만족하게 되면, 리뷰를 위해 메인 저장소에 풀 리퀘스트를 생성합니다. -6. **코드 리뷰 및 병합**: 리뷰 이후, 모델이 저희의 기준을 만족한다면 메인 저장소로 병합될 것입니다. +6. **코드 리뷰 & 병합**: 리뷰 후, 여러분의 모델이 우리 기준에 부합한다면 메인 저장소에 병합됩니다. -자세한 단계는 저희의 [기여 가이드](../../help/contributing.md)를 참조하세요. +자세한 단계는 [기여 가이드](../../help/contributing.md)를 참조해주십시오. diff --git a/docs/ko/models/mobile-sam.md b/docs/ko/models/mobile-sam.md new file mode 100644 index 00000000000..4e9169bdae2 --- /dev/null +++ b/docs/ko/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Ultralytics 프레임워크에서 MobileSAM을 다운로드하고 테스트하는 방법, MobileSAM의 구현 방식, 원본 SAM과의 비교, 모바일 애플리케이션 향상 등에 대해 자세히 알아보세요. 오늘부터 모바일 애플리케이션을 개선하세요. +keywords: MobileSAM, Ultralytics, SAM, 모바일 애플리케이션, Arxiv, GPU, API, 이미지 인코더, 마스크 디코더, 모델 다운로드, 테스트 방법 +--- + +![MobileSAM 로고](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Mobile Segment Anything (MobileSAM) + +MobileSAM 논문은 이제 [arXiv](https://arxiv.org/pdf/2306.14289.pdf)에서 사용할 수 있습니다. + +MobileSAM을 CPU에서 실행하는 데모는 이 [데모 링크](https://huggingface.co/spaces/dhkim2810/MobileSAM)에서 확인할 수 있습니다. Mac i5 CPU에서의 성능은 약 3초입니다. Hugging Face 데모에서는 인터페이스와 낮은 성능의 CPU가 느린 응답으로 이어지지만, 여전히 효과적으로 작동합니다. + +MobileSAM은 [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) 및 [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D)를 비롯한 여러 프로젝트에서 구현되었습니다. + +MobileSAM은 1%의 원본 이미지로 구성된 100k 데이터셋에서 하루 이내에 단일 GPU로 학습됩니다. 이 학습을 위한 코드는 나중에 공개될 예정입니다. + +## 사용 가능한 모델, 지원되는 작업 및 작동 모드 + +이 표에서는 사용 가능한 모델과 해당 모델에 대한 사전 훈련 가중치, 지원되는 작업, [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) 및 [Export](../modes/export.md)와 같은 다양한 작동 모드의 호환성을 나타냅니다. 지원되는 모드는 ✅ 이모지로 표시되고, 지원되지 않는 모드는 ❌ 이모지로 표시됩니다. + +| 모델 유형 | 사전 훈련 가중치 | 지원되는 작업 | Inference | Validation | Training | Export | +|-----------|-----------------|------------------------------------|-----------|------------|----------|--------| +| MobileSAM | `mobile_sam.pt` | [인스턴스 세그멘테이션](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## SAM에서 MobileSAM으로의 적응 + +MobileSAM은 원본 SAM과 동일한 파이프라인을 유지하므로, 원본의 전처리, 후처리 및 모든 다른 인터페이스를 통합했습니다. 따라서 현재 원본 SAM을 사용 중인 경우, MobileSAM으로 전환하는 데 최소한의 노력이 필요합니다. + +MobileSAM은 원본 SAM과 비교 가능한 성능을 발휘하며, 이미지 인코더만 변경되었습니다. 구체적으로, 원본의 무거운 ViT-H 인코더 (632M)를 더 작은 Tiny-ViT (5M)로 대체했습니다. 단일 GPU에서 MobileSAM은 이미지 당 약 12ms의 작업 시간이 소요됩니다. 이미지 인코더에는 8ms가 소요되고, 마스크 디코더에는 4ms가 소요됩니다. + +다음 표는 ViT 기반 이미지 인코더를 비교합니다: + +| 이미지 인코더 | 원본 SAM | MobileSAM | +|---------|--------|-----------| +| 매개변수 | 611M | 5M | +| 속도 | 452ms | 8ms | + +원본 SAM과 MobileSAM은 동일한 프롬프트 가이드 마스크 디코더를 사용합니다: + +| 마스크 디코더 | 원본 SAM | MobileSAM | +|---------|--------|-----------| +| 매개변수 | 3.876M | 3.876M | +| 속도 | 4ms | 4ms | + +전체 파이프라인의 비교는 다음과 같습니다: + +| 전체 파이프라인 (인코더+디코더) | 원본 SAM | MobileSAM | +|--------------------|--------|-----------| +| 매개변수 | 615M | 9.66M | +| 속도 | 456ms | 12ms | + +MobileSAM과 원본 SAM의 성능은 포인트 및 박스를 사용한 프롬프트를 통해 확인할 수 있습니다. + +![포인트 프롬프트가 있는 이미지](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![박스 프롬프트가 있는 이미지](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +MobileSAM은 우수한 성능을 자랑하며, 현재의 FastSAM보다 약 5배 작고 7배 빠릅니다. 자세한 내용은 [MobileSAM 프로젝트 페이지](https://github.com/ChaoningZhang/MobileSAM)에서 확인할 수 있습니다. + +## Ultralytics에서 MobileSAM 테스트 + +원본 SAM과 마찬가지로, 포인트 및 박스 프롬프트 모드를 포함한 Ultralytics에서 간단한 테스트 방법을 제공합니다. + +### 모델 다운로드 + +모델을 [여기](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt)에서 다운로드할 수 있습니다. + +### 포인트 프롬프트 + +!!! Example "예제" + + === "Python" + ```python + from ultralytics import SAM + + # 모델 불러오기 + model = SAM('mobile_sam.pt') + + # 포인트 프롬프트를 기반으로 세그먼트 예측 + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### 박스 프롬프트 + +!!! Example "예제" + + === "Python" + ```python + from ultralytics import SAM + + # 모델 불러오기 + model = SAM('mobile_sam.pt') + + # 박스 프롬프트를 기반으로 세그먼트 예측 + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +`MobileSAM`과 `SAM`은 동일한 API를 사용하여 구현되었습니다. 더 많은 사용법에 대해서는 [SAM 페이지](sam.md)를 참조하세요. + +## 인용 및 감사의 글 + +MobileSAM이 연구 또는 개발에 유용하게 사용된 경우, 다음의 논문을 인용해 주시기 바랍니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/ko/models/rtdetr.md b/docs/ko/models/rtdetr.md new file mode 100644 index 00000000000..904fc736f26 --- /dev/null +++ b/docs/ko/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: 비둘기(Baidu)가 개발한 RT-DETR은 비전 트랜스포머(Vision Transformers)를 기반으로 한 실시간 객체 검출기로, 사전 훈련된 모델을 사용하여 시간지연이 없는 고성능을 제공합니다. +keywords: RT-DETR, 비둘기, 비전 트랜스포머, 객체 검출, 실시간 성능, CUDA, TensorRT, IoU-aware query selection, Ultralytics, 파이썬 API, PaddlePaddle +--- + +# 비둘기의 RT-DETR: 비전 트랜스포머 기반 실시간 객체 검출기 + +## 개요 + +비둘기(Baidu)가 개발한 Real-Time Detection Transformer(RT-DETR)은 고정밀도를 유지하면서 실시간 성능을 제공하는 첨단 엔드 투 엔드 객체 검출기입니다. 비전 트랜스포머(Vision Transformers, ViT)의 성능을 활용하여, 다중 스케일 특징을 효율적으로 처리할 수 있도록 인트라 스케일 상호 작용과 크로스 스케일 퓨전을 분리합니다. RT-DETR은 다양한 디코더 레이어를 사용하여 추론 속도를 유연하게 조정할 수 있으므로 재훈련 없이 실시간 객체 검출에 적용하기에 매우 적합합니다. 이 모델은 CUDA와 TensorRT와 같은 가속화된 백엔드에서 많은 다른 실시간 객체 검출기보다 뛰어난 성능을 발휘합니다. + +![모델 예시 이미지](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**비둘기의 RT-DETR 개요** 비둘기의 RT-DETR 모델 구조 다이어그램은 백본 네트워크의 마지막 세 단계 {S3, S4, S5}를 인코더의 입력으로 보여줍니다. 효율적인 하이브리드 인코더는 인트라스케일 특징 상호 작용(AIFI, intrascale feature interaction)과 크로스 스케일 특징 퓨전 모듈(CCFM, cross-scale feature-fusion module)을 통해 다중 스케일 특징을 이미지 특징의 시퀀스로 변환합니다. IoU-aware query selection은 디코더에 대한 초기 객체 쿼리로 작동하기 위해 일정한 수의 이미지 특징을 선택하는 데 사용됩니다. 마지막으로, 보조 예측 헤드와 함께 디코더는 객체 쿼리를 반복하여 박스와 신뢰도 점수를 최적화합니다. ([원문](https://arxiv.org/pdf/2304.08069.pdf) 참조). + +### 주요 기능 + +- **효율적인 하이브리드 인코더:** 비둘기의 RT-DETR은 다중 스케일 특징을 인트라 스케일 상호 작용과 크로스 스케일 퓨전을 분리하여 처리하는 효율적인 하이브리드 인코더를 사용합니다. 이 독특한 비전 트랜스포머 기반 디자인은 계산 비용을 줄이고 실시간 객체 검출이 가능하도록 합니다. +- **IoU-aware 쿼리 선택:** 비둘기의 RT-DETR은 IoU-aware 쿼리 선택을 사용하여 개체 쿼리 초기화를 개선합니다. 이를 통해 모델은 장면에서 가장 관련성 있는 개체에 집중하며 검출 정확도를 향상시킵니다. +- **융통성 있는 추론 속도 조정:** 비둘기의 RT-DETR은 훈련 없이 다른 디코더 레이어를 사용하여 추론 속도를 유연하게 조정할 수 있습니다. 이러한 적응성은 다양한 실시간 객체 검출 시나리오에서 실용적인 응용을 용이하게 합니다. + +## 사전 훈련된 모델 + +Ultralytics의 파이썬 API는 다양한 스케일의 사전 훈련된 PaddlePaddle RT-DETR 모델을 제공합니다: + +- RT-DETR-L: COCO val2017에서 53.0% AP, T4 GPU에서 114 FPS +- RT-DETR-X: COCO val2017에서 54.8% AP, T4 GPU에서 74 FPS + +## 사용 예시 + +이 예시는 간단한 RT-DETRR 훈련 및 추론 예시를 제공합니다. [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md), [Export](../modes/export.md) 등의 자세한 문서는 [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md), [Export](../modes/export.md) 문서 페이지를 참조하십시오. + +!!! 예시 + + === "파이썬" + + ```python + from ultralytics import RTDETR + + # COCO 사전 훈련된 RT-DETR-l 모델 로드 + model = RTDETR('rtdetr-l.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # COCO8 예제 데이터셋에 대해 100 epoch 동안 모델 훈련 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg' 이미지에서 RT-DETR-l 모델로 추론 실행 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # COCO 사전 훈련된 RT-DETR-l 모델 로드하고 COCO8 예제 데이터셋에 대해 100 epoch 동안 훈련 + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO 사전 훈련된 RT-DETR-l 모델 로드하고 'bus.jpg' 이미지에서 추론 실행 + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## 지원되는 작업 및 모드 + +이 테이블은 각 모델의 유형, 특정 사전 훈련 가중치, 각 모델이 지원하는 작업 및 [모드](../modes/train.md), [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)와 같은 다양한 모드를 나타내는 ✅ 이모지로 표시된 모드를 지원합니다. + +| 모델 유형 | 사전 훈련 가중치 | 지원되는 작업 | 추론 | 검증 | 훈련 | 출력 | +|---------------------|---------------|-----------------------------|----|----|----|----| +| RT-DETR Large | `rtdetr-l.pt` | [객체 검출](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [객체 검출](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## 인용 및 감사의 말 + +만약 연구나 개발 작업에서 비둘기(Baidu)의 RT-DETR을 사용한다면, [원래 논문을](https://arxiv.org/abs/2304.08069) 인용해주시기 바랍니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +컴퓨터 비전 커뮤니티에게 귀중한 자료인 비전 트랜스포머 기반 실시간 객체 검출기인 비둘기(Baidu)의 RT-DETR을 만들고 유지하기 위해 비둘기와 [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) 팀에게 감사의 인사를 전합니다. + +*Keywords: RT-DETR, Transformer, ViT, 비전 트랜스포머, 비둘기 RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, 실시간 객체 검출, 비전 트랜스포머 기반 객체 검출, 사전 훈련된 PaddlePaddle RT-DETR 모델, 비둘기 RT-DETR 사용법, Ultralytics 파이썬 API* diff --git a/docs/ko/models/sam.md b/docs/ko/models/sam.md new file mode 100644 index 00000000000..e96954ed6af --- /dev/null +++ b/docs/ko/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: 얼트라리얼리틱스(Ultralytics)의 최첨단 이미지 세분화 모델인 Segment Anything Model(SAM)에 대해 알아보세요. 해당 모델은 실시간 이미지 세분화를 가능하게 하며, 프롬프트를 이용한 세분화, 제로샷 성능 및 사용법에 대해 알아봅니다. +keywords: 얼트라리얼리틱스, 이미지 세분화, Segment Anything Model, SAM, SA-1B 데이터셋, 실시간 성능, 제로샷 전이, 객체 감지, 이미지 분석, 머신 러닝 +--- + +# Segment Anything Model (SAM) + +Segment Anything Model(SAM) 을 어서 오세요. 이 혁신적인 모델은 프롬프트 기반의 실시간 세분화를 통해 세분화 분야에서 새로운 기준을 세웠습니다. + +## SAM 소개: Segment Anything Model의 소개 + +Segment Anything Model(SAM)은 프롬프트 기반의 세분화를 가능하게 하는 뛰어난 이미지 세분화 모델입니다. SAM은 이미지 세분석 작업에서 독창성을 보여주는 Segment Anything 이니셔티브의 핵심을 형성하고 있으며, 이미지 세분화를 위한 새로운 모델, 작업 및 데이터셋을 소개하는 혁신적인 프로젝트입니다. + +SAM의 고급설계는 모델이 기존 지식 없이도 새로운 이미지 분포 및 작업에 대응할 수 있는 기능인 제로샷 전이를 보여줍니다. 1,100만 개의 정교하게 선별된 이미지에 분포된 10억 개 이상의 마스크를 포함한 SA-1B 데이터셋으로 학습된 SAM은 많은 경우에 전적으로 감독된 학습 결과를 능가하는 인상적인 제로샷 성능을 보여줍니다. + +![데이터셋 샘플 이미지](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +새롭게 도입된 SA-1B 데이터셋에서 오버레이된 마스크를 포함한 예시 이미지입니다. SA-1B는 다양한 고해상도의 이미지를 라이선스 보호하며 사생활을 보호하고 있으며, 1,100만 개의 고품질 세분화 마스크를 가지고 있습니다. 이러한 마스크는 SAM에 의해 자동으로 주석이 달렸으며, 인간 평가 및 다양한 실험을 통해 높은 품질과 다양성을 갖추었음이 검증되었습니다. 시각화를 위해 이미지는 이미지 당 평균 100개의 마스크로 그룹화되었습니다. + +## Segment Anything Model (SAM)의 주요 기능 + +- **프롬프트 기반 세분화 작업:** SAM은 프롬프트 기반의 세분화 작업을 위해 설계되어, 공간 또는 텍스트 단서를 이용하여 개체를 식별합니다. +- **고급설계:** Segment Anything Model은 강력한 이미지 인코더, 프롬프트 인코더 및 가벼운 마스크 디코더를 사용합니다. 이 독특한 아키텍처는 유연한 프롬프팅, 실시간 마스크 계산 및 세분화 작업에서의 모호성 인식을 가능케 합니다. +- **SA-1B 데이터셋:** Segment Anything 프로젝트에서 소개된 SA-1B 데이터셋은 1,100만 개의 이미지에 10억 개 이상의 세분화 마스크를 가지고 있습니다. 이는 지금까지 가장 큰 세분화 데이터셋으로, SAM에게 다양하고 대규모의 학습 데이터를 제공합니다. +- **제로샷 성능:** SAM은 다양한 세분화 작업에서 뛰어난 제로샷 성능을 보여주므로, 프롬프트 엔지니어링의 필요성을 최소화하고 다양한 응용 프로그램에 즉시 사용할 수 있는 도구입니다. + +Segment Anything Model 및 SA-1B 데이터셋에 대한 자세한 내용은 [Segment Anything 웹사이트](https://segment-anything.com)와 연구 논문 [Segment Anything](https://arxiv.org/abs/2304.02643)을 참조해 주세요. + +## 사용 가능한 모델, 지원하는 작업 및 운영 모드 + +아래 표는 사용 가능한 모델과 해당 모델의 사전 훈련 가중치, 지원하는 작업 및 [추론](../modes/predict.md), [검증](../modes/val.md), [훈련](../modes/train.md) 및 [내보내기](../modes/export.md)와 같은 다른 운영 모드와의 호환성을 나타냅니다. 지원되는 모드는 ✅ 이모지로, 지원되지 않는 모드는 ❌ 이모지로 표시되었습니다. + +| 모델 유형 | 사전 훈련 가중치 | 지원 작업 | 추론 | 검증 | 훈련 | 내보내기 | +|-----------|------------|---------------------------------|----|----|----|------| +| SAM base | `sam_b.pt` | [인스턴스 세분화](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [인스턴스 세분화](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## SAM 사용 방법: 이미지 세분화에서의 다재다능함과 강력함 + +Segment Anything Model은 훈련 데이터를 초월하는 다양한 하위 작업에 대해서도 사용될 수 있습니다. 이에는 가장자리 검출, 객체 제안 생성, 인스턴스 세분장 및 초기 텍스트-마스크 예측 등이 포함됩니다. SAM은 프롬프팅 엔지니어링을 통해 새로운 작업 및 데이터 분포에 빠르게 적응할 수 있으므로, 이미지 세분화에 대한 다재다능하고 강력한 도구로 사용될 수 있습니다. + +### SAM 예측 예제 + +!!! Example "프롬프트를 이용한 세분화" + + 주어진 프롬프트로 이미지 세분화를 실행합니다. + + === "파이썬" + + ```python + from ultralytics import SAM + + # 모델 로드 + model = SAM('sam_b.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # bboxes 프롬프트로 추론 실행 + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # points 프롬프트로 추론 실행 + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "전체 이미지 세분화" + + 전체 이미지 세분화를 실행합니다. + + === "파이썬" + + ```python + from ultralytics import SAM + + # 모델 로드 + model = SAM('sam_b.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # 추론 실행 + model('path/to/image.jpg') + ``` + + === "CLI" + + ```bash + # SAM 모델로 추론 실행 + yolo predict model=sam_b.pt source=path/to/image.jpg + ``` + +- 여기서 전체 이미지 세분화는 프롬프트(bboxes/points/masks)를 전달하지 않으면 실행됩니다. + +!!! Example "SAMPredictor 예제" + + 이미지를 설정하고 이미지 인코더를 여러번 실행하지 않고 여러번 프롬프트 추론을 실행할 수 있습니다. + + === "프롬프트 추론" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor 생성 + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # 이미지 설정 + predictor.set_image("ultralytics/assets/zidane.jpg") # 이미지 파일로 설정 + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # np.ndarray로 설정 + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # 이미지 리셋 + predictor.reset_image() + ``` + + 추가 인수로 전체 이미지를 세분화합니다. + + === "전체 이미지 세분화" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # SAMPredictor 생성 + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # 추가 인수로 이미지 세분화 + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- `전체 이미지 세분화`에 대한 자세한 추가 인수는 [`Predictor/generate` 참조](../../reference/models/sam/predict.md)를 참조하세요. + +## YOLOv8과의 SAM 비교 + +여기서는 Meta의 가장 작은 SAM 모델인 SAM-b를 얼트라리얼리틱스의 가장 작은 세분화 모델, [YOLOv8n-seg](../tasks/segment.md),과 비교합니다: + +| 모델 | 크기 | 파라미터 | 속도 (CPU) | +|------------------------------------------------|-----------------------|----------------------|------------------------| +| Meta's SAM-b | 358 MB | 94.7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) with YOLOv8 backbone | 23.7 MB | 11.8 M | 115 ms/im | +| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 MB** (53.4배 작음) | **3.4 M** (27.9배 적음) | **59 ms/im** (866배 빠름) | + +이 비교는 모델 크기 및 속도에 대한 상당한 차이를 보여줍니다. SAM은 자동으로 세분화하는 독특한 기능을 제공하지만, 작은 크기와 높은 처리 속도로 인해 YOLOv8 세분화 모델과 직접 경쟁하지는 않습니다. + +이 테스트는 2023년 애플 M2 맥북(16GB RAM)에서 수행되었습니다. 이 테스트를 재현하려면: + +!!! Example "예제" + + === "파이썬" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # SAM-b 프로파일링 + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # MobileSAM 프로파일링 + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # FastSAM-s 프로파일링 + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # YOLOv8n-seg 프로파일링 + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## 자동 주석: 세분화 데이터셋을 위한 신속한 경로 + +자동 주석은 SAM의 핵심 기능으로, 미리 훈련된 탐지 모델을 사용하여 [세분화 데이터셋](https://docs.ultralytics.com/datasets/segment)을 생성할 수 있습니다. 이 기능을 사용하면 번거롭고 시간이 오래 걸리는 수작업 주석 작업을 건너뛰고 대량의 이미지를 신속하게 정확하게 주석을 달 수 있습니다. + +### 탐지 모델을 사용하여 세분화 데이터셋 생성하기 + +Ultralytics 프레임워크를 사용하여 미리 훈련된 탐지 및 SAM 세분화 모델과 함께 데이터셋을 자동으로 주석할 수 있습니다. 아래와 같이 `auto_annotate` 함수를 사용하세요: + +!!! Example "예제" + + === "파이썬" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| 인수 | 유형 | 설명 | 기본값 | +|------------|-----------------|-------------------------------------------------------------------|--------------| +| data | 문자열 | 주석을 달 이미지가 포함된 폴더 경로. | | +| det_model | 문자열, 선택사항 | 미리 훈련된 YOLO 탐지 모델. 기본값은 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | 문자열, 선택사항 | 미리 훈련된 SAM 세분화 모델. 기본값은 'sam_b.pt'. | 'sam_b.pt' | +| device | 문자열, 선택사항 | 모델을 실행할 디바이스. 기본값은 빈 문자열 (CPU 또는 사용 가능한 GPU 사용). | | +| output_dir | 문자열, None, 선택사항 | 주석이 포함된 결과를 저장할 디렉토리 경로. 기본값은 'data'와 같은 디렉토리 내부의 'labels' 폴더입니다. | None | + +`auto_annotate` 함수는 이미지 경로를 입력으로 받아, 입력한 미리 훈련된 탐지와 SAM 세분화 모델, 이 함수를 실행할 디바이스 및 주석이 포함된 결과를 저장할 디렉토리 경로를 선택적으로 지정할 수 있는 기능을 제공합니다. + +미리 훈련된 모델을 사용한 자동 주석 기능을 활용하면 높은 품질의 세분화 데이터셋을 생성하는 데 소요되는 시간과 노력을 크게 줄일 수 있습니다. 이 기능은 특히 대량의 이미지 컬렉션을 다루는 연구원과 개발자에게 유용하며, 수작업 주석 대신 모델 개발과 평가에 집중할 수 있습니다. + +## 인용 및 감사의 말 + +귀하의 연구 또는 개발 작업에 SAM이 유용하게 사용된 경우, 저희 논문을 인용해 주시기 바랍니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +모델 개발과 알고리즘 개발을 위한 귀중한 리소스를 만들고 유지 관리하는 Meta AI에게 감사의 말씀을 드립니다. + +*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, 이미지 세분화, 프롬프트 기반 세분화, 제로샷 성능, SA-1B 데이터셋, 고급설계, 자동 주석, 얼트라리얼리틱스, 사전 훈련 모델, SAM base, SAM large, 인스턴스 세분화, 컴퓨터 비전, 인공 지능, 머신 러닝, 데이터 주석, 세분화 마스크, 탐지 모델, YOLO 탐지 모델, bibtex, Meta AI.* diff --git a/docs/ko/models/yolo-nas.md b/docs/ko/models/yolo-nas.md new file mode 100644 index 00000000000..04d8765008c --- /dev/null +++ b/docs/ko/models/yolo-nas.md @@ -0,0 +1,119 @@ +--- +comments: true +description: YOLO-NAS는 우수한 물체 감지 모델로서 자세한 설명서를 탐색해보세요. Ultralytics Python API를 사용한 기능, 사전 훈련된 모델, 사용법 등을 자세히 알아보세요. +keywords: YOLO-NAS, Deci AI, 물체 감지, 딥러닝, 신경 아키텍처 검색, Ultralytics Python API, YOLO 모델, 사전 훈련된 모델, 양자화, 최적화, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## 개요 + +Deci AI에서 개발한 YOLO-NAS는 원래의 YOLO 모델의 한계를 해결하기 위해 고도의 신경 아키텍처 검색(Neural Architecture Search) 기술로 만들어진 혁신적인 물체 감지 기반 모델입니다. 양자화 지원과 정확성-지연 트레이드오프의 중요한 개선을 통해 YOLO-NAS는 물체 감지 분야에서 주목할 만한 성능 향상을 제공합니다. + +![모델 예시 이미지](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**YOLO-NAS 개요.** YOLO-NAS는 양자화 관련 블록과 선택적 양자화를 적용하여 최적의 성능을 달성합니다. 모델은 INT8 양자화 버전으로 변환될 때 최소한의 정확도 감소를 경험하므로 다른 모델들과 비교했을 때 상당한 개선을 이끌어냅니다. 이러한 혁신은 예측할 수 없는 물체 감지 능력과 높은 성능을 가진 우수한 아키텍처로 이어집니다. + +### 주요 기능 + +- **양자화 친화적인 기본 블록**: YOLO-NAS는 이전 YOLO 모델의 한계 중 하나인 양자화에 적합한 새로운 기본 블록을 도입합니다. +- **정교한 훈련과 양자화**: YOLO-NAS는 고급 훈련 방식과 훈련 후 양자화를 활용하여 성능을 향상시킵니다. +- **AutoNAC 최적화와 사전 훈련**: YOLO-NAS는 AutoNAC 최적화를 활용하며 COCO, Objects365, Roboflow 100과 같은 유명한 데이터셋에서 사전 훈련됩니다. 이를 통해 YOLO-NAS는 본격적인 프로덕션 환경에서의 물체 감지 작업에 매우 적합합니다. + +## 사전 훈련된 모델 + +Ultralytics가 제공하는 사전 훈련된 YOLO-NAS 모델로 다음 세대의 물체 감지 기술의 힘을 체험해 보세요. 이러한 모델은 속도와 정확성 측면에서 최고의 성능을 제공하기 위해 설계되었습니다. 특정 요구에 맞게 다양한 옵션 중 선택하세요: + +| 모델 | mAP | 지연 시간 (밀리초) | +|------------------|-------|-------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +각 모델 변형은 평균 평균 정밀도(mAP)와 지연 시간 간의 균형을 제공하여 물체 감지 작업을 성능과 속도 모두 최적화할 수 있도록 합니다. + +## 사용 예시 + +Ultralytics는 YOLO-NAS 모델을 `ultralytics` Python 패키지를 통해 Python 애플리케이션에 쉽게 통합할 수 있도록 지원합니다. 이 패키지는 프로세스를 간소화하기 위한 사용자 친화적인 Python API를 제공합니다. + +다음 예시에서는 추론과 유효성 검사를 위해 `ultralytics` 패키지와 함께 YOLO-NAS 모델을 사용하는 방법을 보여줍니다: + +### 추론과 유효성 검사 예시 + +이 예시에서는 COCO8 데이터셋에서 YOLO-NAS-s 모델을 유효성 검사합니다. + +!!! Example "예제" + + 이 예시에서는 YOLO-NAS를 위한 간단한 추론 및 유효성 검사 코드를 제공합니다. 추론 결과를 처리하기 위한 방법은 [예측](../modes/predict.md) 모드를 참조하세요. 추가 모드에서 YOLO-NAS를 사용하는 방법은 [Val](../modes/val.md) 및 [Export](../modes/export.md)를 참조하세요. `ultralytics` 패키지에서 YOLO-NAS의 훈련은 지원하지 않습니다. + + === "Python" + + PyTorch 사전 훈련된 `*.pt` 모델 파일을 `NAS()` 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다: + + ```python + from ultralytics import NAS + + # COCO 사전 훈련된 YOLO-NAS-s 모델 로드 + model = NAS('yolo_nas_s.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # COCO8 예제 데이터셋에서 모델 유효성 검사 + results = model.val(data='coco8.yaml') + + # YOLO-NAS-s 모델로 'bus.jpg' 이미지에 추론 실행 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다: + + ```bash + # COCO 사전 훈련된 YOLO-NAS-s 모델로 COCO8 예제 데이터셋의 성능 유효성 검사 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # COCO 사전 훈련된 YOLO-NAS-s 모델로 'bus.jpg' 이미지에 추론 실행 + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## 지원되는 작업 및 모드 + +YOLO-NAS 모델은 Small (s), Medium (m) 및 Large (l) 세 가지 변형이 있습니다. 각 변형은 다른 계산 및 성능 요구 사항을 충족시키기 위해 설계되었습니다: + +- **YOLO-NAS-s**: 계산 자원이 제한되고 효율성이 중요한 환경에 최적화되었습니다. +- **YOLO-NAS-m**: 더 높은 정확성을 가지는 일반적인 물체 감지 작업에 적합한 균형잡힌 모델입니다. +- **YOLO-NAS-l**: 계산 자원이 제한되지 않는 환경에서 가장 높은 정확성이 필요한 시나리오에 맞게 설계되었습니다. + +아래는 각 모델에 대한 자세한 개요로, 사전 훈련된 가중치, 지원하는 작업, 다양한 작동 모드와의 호환성에 대한 링크가 제공됩니다. + +| 모델 유형 | 사전 훈련된 가중치 | 지원되는 작업 | 추론 | 유효성 검사 | 훈련 | 내보내기 | +|------------|-----------------------------------------------------------------------------------------------|-----------------------------|----|--------|----|------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [물체 감지](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [물체 감지](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [물체 감지](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## 인용 및 감사의 말씀 + +YOLO-NAS를 연구 또는 개발 작업에 활용한 경우 SuperGradients를 인용해 주세요. + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Deci AI의 [SuperGradients](https://github.com/Deci-AI/super-gradients/) 팀에게 컴퓨터 비전 커뮤니티를 위해 이 가치 있는 자료를 만들고 유지 관리한 데 대해 감사의 말씀을 전합니다. 혁신적인 아키텍처와 우수한 물체 감지 능력을 갖춘 YOLO-NAS가 개발자와 연구자에게 중요한 도구가 될 것으로 기대합니다. diff --git a/docs/ko/models/yolov3.md b/docs/ko/models/yolov3.md new file mode 100644 index 00000000000..103896fa191 --- /dev/null +++ b/docs/ko/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: YOLOv3, YOLOv3-Ultralytics 및 YOLOv3u에 대한 개요를 얻으세요. 물체 탐지를 위한 주요 기능, 사용법 및 지원 작업에 대해 알아보세요. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, 물체 탐지, 추론, 훈련, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics 및 YOLOv3u + +## 개요 + +이 문서는 세 가지 밀접하게 관련된 물체 탐지 모델인 [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) 및 [YOLOv3u](https://github.com/ultralytics/ultralytics)에 대한 개요를 제공합니다. + +1. **YOLOv3:** 이것은 You Only Look Once (YOLO) 물체 탐지 알고리즘의 세 번째 버전입니다. Joseph Redmon이 처음 개발한 YOLOv3는 다중 스케일 예측 및 세 가지 다른 크기의 탐지 커널과 같은 기능을 도입하여 이전 모델보다 향상됐습니다. + +2. **YOLOv3-Ultralytics:** 이것은 Ultralytics의 YOLOv3 모델 구현입니다. 이 모델은 원본 YOLOv3 아키텍처를 복제하며 더 많은 사전 훈련 모델 및 쉬운 사용자 정의 옵션과 같은 추가 기능을 제공합니다. + +3. **YOLOv3u:** 이것은 YOLOv8 모델에서 사용되는 앵커 없이 물체 없음 분리 헤드를 통합한 YOLOv3-Ultralytics의 업데이트된 버전입니다. YOLOv3u는 YOLOv3와 동일한 백본 및 네크 아키텍처를 유지하지만 YOLOv8에서 업데이트된 탐지 헤드를 사용합니다. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## 주요 기능 + +- **YOLOv3:** 이 모델은 탐지를 위해 13x13, 26x26 및 52x52의 세 가지 다른 크기의 탐지 커널을 활용하는 세 가지 다른 스케일을 도입했습니다. 이는 다양한 크기의 객체에 대한 탐지 정확도를 크게 향상시켰습니다. 또한 YOLOv3은 각 경계 상자에 대한 다중 레이블 예측과 더 나은 특징 추출기 네트워크와 같은 기능을 추가했습니다. + +- **YOLOv3-Ultralytics:** Ultralytics의 YOLOv3 구현은 원본 모델과 동일한 성능을 제공하지만 더 많은 사전 훈련 모델, 추가적인 훈련 방법 및 쉬운 사용자 정의 옵션을 제공합니다. 이로써 실제 응용 분야에 대해 더 다양하고 사용자 친화적인 모델이 됩니다. + +- **YOLOv3u:** 이 업데이트된 모델은 YOLOv8의 앵커 없음, 물체 없는 분리 헤드를 통합합니다. 미리 정의된 앵커 박스 및 물체 점수가 필요 없어진 이 탐지 헤드 설계는 다양한 크기와 모양의 객체를 탐지하는 능력을 향상시킬 수 있습니다. 이로써 YOLOv3u는 물체 탐지 작업에 대해 더 견고하고 정확한 모델이 됩니다. + +## 지원되는 작업 및 모드 + +YOLOv3, YOLOv3-Ultralytics 및 YOLOv3u 시리즈는 물체 탐지 작업을 위해 특별히 설계되었습니다. 이러한 모델은 정확성과 속도를 균형있게 유지하여 다양한 실제 시나리오에서 효과적으로 사용될 수 있습니다. 각 버전은 독특한 기능과 최적화를 제공하여 다양한 응용 분야에 적합합니다. + +세 가지 모델은 [추론](../modes/predict.md), [유효성 검사](../modes/val.md), [훈련](../modes/train.md) 및 [내보내기](../modes/export.md)와 같은 포괄적인 모드를 지원하여 효과적인 물체 탐지를 위한 완벽한 도구 세트를 제공합니다. + +| 모델 유형 | 지원되는 작업 | 추론 | 유효성 검사 | 훈련 | 내보내기 | +|--------------------|-----------------------------|----|--------|----|------| +| YOLOv3 | [물체 탐지](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [물체 탐지](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [물체 탐지](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +이 표는 각 YOLOv3 버전의 기능을 한 눈에 보여주며, 물체 탐지 워크플로우의 다양한 작업 및 운영 모드에 대해 다양성과 적합성을 강조합니다. + +## 사용 예제 + +다음 예제는 간단한 YOLOv3 훈련 및 추론 예제를 제공합니다. 이와 다른 [모드](../modes/index.md)의 전체 설명은 [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) 및 [Export](../modes/export.md) 문서 페이지를 참조하세요. + +!!! Example "예제" + + === "Python" + + Python에서 PyTorch 사전 훈련된 `*.pt` 모델 및 설정 `*.yaml` 파일을 YOLO() 클래스에 전달하여 모델 인스턴스를 만들 수 있습니다. + + ```python + from ultralytics import YOLO + + # COCO 사전 훈련된 YOLOv3n 모델 로드 + model = YOLO('yolov3n.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # COCO8 예제 데이터셋에서 100 epoch 동안 모델 훈련 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv3n 모델로 'bus.jpg' 이미지에 추론 실행 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI 명령어를 사용하여 모델을 직접 실행할 수 있습니다. + + ```bash + # COCO 사전 훈련된 YOLOv3n 모델 로드하고 COCO8 예제 데이터셋에서 100 epoch 동안 훈련 + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO 사전 훈련된 YOLOv3n 모델 로드하고 'bus.jpg' 이미지에 추론 실행 + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## 인용 및 감사의 글 + +본인의 연구에서 YOLOv3를 사용한다면, 원본 YOLO 논문과 Ultralytics YOLOv3 저장소를 인용해 주십시오. + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Joseph Redmon과 Ali Farhadi에게 원본 YOLOv3 개발에 대한 감사의 글을 전합니다. diff --git a/docs/ko/models/yolov4.md b/docs/ko/models/yolov4.md new file mode 100644 index 00000000000..d8e1c88c064 --- /dev/null +++ b/docs/ko/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: YOLOv4에 대한 상세 가이드를 살펴보세요. 최신 실시간 객체 감지기의 아키텍처 하이라이트, 혁신적인 기능 및 응용 예제를 이해하세요. +keywords: ultralytics, YOLOv4, 객체 감지, 신경망, 실시간 감지, 객체 감지기, 기계 학습 +--- + +# YOLOv4: 높은 속도와 정밀도를 갖는 객체 감지 + +Ultralytics YOLOv4 문서 페이지에 오신 것을 환영합니다. YOLOv4는 아키텍처 및 알고리즘 개선으로 실시간 객체 감지의 최적 속도와 정확도를 제공하는 최신 객체 감지기입니다. 2020년에 Alexey Bochkovskiy가 [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet)에서 출시되었습니다. YOLOv4는 많은 응용 분야에서 우수한 선택입니다. + +![YOLOv4 아키텍처 다이어그램](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**YOLOv4 아키텍처 다이어그램**. YOLOv4의 복잡한 네트워크 설계를 보여줍니다. 최적의 실시간 객체 감지를 위해 백본, 넥 및 헤드 구성 요소와 이들의 상호 연결된 레이어가 포함되어 있습니다. + +## 소개 + +YOLOv4는 You Only Look Once의 4번째 버전을 의미합니다. 이전 YOLO 버전인 [YOLOv3](yolov3.md) 및 기타 객체 감지 모델의 한계를 극복하기 위해 개발된 실시간 객체 감지 모델입니다. 다른 합성곱 신경망(Convolutional Neural Network, CNN) 기반 객체 감지기와는 달리 YOLOv4는 추천 시스템뿐만 아니라 독립적인 프로세스 관리 및 인적 감소에도 적용할 수 있습니다. 이는 일반적인 그래픽 처리 장치(Graphics Processing Unit, GPU)에서 작동함으로써 저렴한 가격에 대량 사용을 가능하게 합니다. 또한, 훈련을 위해 하나의 GPU만 필요합니다. + +## 아키텍처 + +YOLOv4는 성능을 최적화하기 위해 여러 혁신적인 기능을 사용합니다. 이에는 Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data augmentation, DropBlock regularization 및 CIoU loss가 포함됩니다. 이러한 기능들은 최첨단 결과를 달성하기 위해 결합되었습니다. + +일반적인 객체 감지기는 입력, 백본, 넥 및 헤드와 같은 여러 부분으로 구성됩니다. YOLOv4의 백본은 ImageNet에서 사전 훈련되며, 객체의 클래스 및 경계 상자를 예측하는 데 사용됩니다. 백본은 VGG, ResNet, ResNeXt 또는 DenseNet과 같은 여러 모델에서 가져올 수 있습니다. 객체 감지기의 넥 부분은 다양한 단계에서 피처 맵을 수집하는 데 사용되며, 일반적으로 여러 하향 경로 및 여러 상향 경로를 포함합니다. 헤드 부분은 최종 객체 감지 및 분류에 사용됩니다. + +## 베고 오브 프리비스 + +YOLOv4는 학습 중 모델의 정확성을 향상시키는 기법인 "베고 오브 프리비스"를 사용하기도 합니다. 데이터 증강은 객체 감지에서 주로 사용되는 베고 오브 프리비스 기법으로, 입력 이미지의 다양성을 높여 모델의 견고성을 향상시킵니다. 데이터 증강의 몇 가지 예는 화질 왜곡(이미지의 밝기, 대조도, 색상, 채도 및 노이즈 조정) 및 기하학적 왜곡(임의의 스케일링, 크롭, 뒤집기, 회전 추가)입니다. 이러한 기술은 모델이 다양한 유형의 이미지에 대해 더 잘 일반화되도록 돕습니다. + +## 기능 및 성능 + +YOLOv4는 객체 감지의 최적 속도와 정확도를 위해 설계되었습니다. YOLOv4의 아키텍처에는 백본으로 CSPDarknet53, 넥으로 PANet, 감지 헤드로 YOLOv3가 포함되어 있습니다. 이 설계를 통해 YOLOv4는 뛰어난 속도로 객체 감지를 수행하며, 실시간 응용 프로그램에 적합합니다. YOLOv4는 객체 감지 벤치마크에서 최첨단 결과를 달성하고 정확도 면에서도 뛰어난 성능을 보입니다. + +## 사용 예제 + +작성 시점 기준으로 Ultralytics는 현재 YOLOv4 모델을 지원하지 않습니다. 따라서 YOLOv4를 사용하려는 사용자는 YOLOv4 GitHub 저장소의 설치 및 사용 지침을 직접 참조해야 합니다. + +다음은 YOLOv4를 사용하는 일반적인 단계에 대한 간략한 개요입니다: + +1. YOLOv4 GitHub 저장소를 방문하세요: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. 설치에 대한 README 파일에 제공된 지침을 따르세요. 일반적으로 저장소를 클론하고 필요한 종속성을 설치하고 필요한 환경 변수를 설정하는 과정을 포함합니다. + +3. 설치가 완료되면, 저장소에서 제공하는 사용 지침에 따라 모델을 훈련하고 사용할 수 있습니다. 이는 일반적으로 데이터셋을 준비하고 모델 매개변수를 설정하고 모델을 훈련한 다음 훈련된 모델을 사용하여 객체 감지를 수행하는 것을 포함합니다. + +특정 단계는 사용 사례와 YOLOv4 저장소의 현재 상태에 따라 다를 수 있습니다. 따라서 YOLOv4 GitHub 저장소에서 제공되는 지침을 직접 참조하는 것이 강력히 권장됩니다. + +YOLOv4의 지원이 구현되면 Ultralytics를 위한 사용 예제로 이 문서를 업데이트하기 위해 노력하겠습니다. + +## 결론 + +YOLOv4는 속도와 정확도의 균형을 이루는 강력하고 효율적인 객체 감지 모델입니다. 학습 중 특정 기법 및 베고 오브 프리비스 기법의 사용으로 실시간 객체 감지 작업에서 탁월한 성능을 발휘합니다. 일반적인 GPU를 가진 사용자 누구나 사용하고 훈련할 수 있어 다양한 응용 분야에 접근 가능하고 실용적입니다. + +## 인용 및 감사의 글 + +실시간 객체 감지 분야에서 중요한 기여를 한 YOLOv4 저자들에게 감사드립니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +원본 YOLOv4 논문은 [arXiv](https://arxiv.org/pdf/2004.10934.pdf)에서 확인할 수 있습니다. 저자들은 자신들의 작업을 일반에 공개하고 코드베이스는 [GitHub](https://github.com/AlexeyAB/darknet)에서 액세스할 수 있도록 했습니다. 저자들의 노력과 널리 알려진 커뮤니티에 작업을 제공해 준 사항을 감사히 여깁니다. diff --git a/docs/ko/models/yolov5.md b/docs/ko/models/yolov5.md new file mode 100644 index 00000000000..451c4ed21de --- /dev/null +++ b/docs/ko/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: YOLOv5u는 YOLOv5 모델의 개선된 정확도-속도 절충 모델로, 다양한 객체 감지 작업에 대한 사전 훈련된 모델을 제공합니다. +keywords: YOLOv5u, 객체 감지, 사전 훈련된 모델, Ultralytics, 추론, 검증, YOLOv5, YOLOv8, 앵커 없음, 객체 여부 없음, 실시간 응용, 머신 러닝 +--- + +# YOLOv5 + +## 개요 + +YOLOv5u는 객체 감지 기법에서의 진보를 나타냅니다. Ultralytics에서 개발한 [YOLOv5](https://github.com/ultralytics/yolov5) 모델의 기본 아키텍처를 기반으로 한 YOLOv5u는 [YOLOv8](yolov8.md) 모델에서 도입된 앵커 없음, 객체 여부 없음 분리 헤드(head) 기능을 통합합니다. 이러한 적응으로 인해 모델의 아키텍처가 개선되어, 객체 감지 작업의 정확도와 속도 절충을 더욱 향상시킵니다. 경험적 결과와 해당 기능을 고려할 때, YOLOv5u는 연구 및 실제 응용 모두에서 견고한 솔루션을 찾고 있는 사용자들에게 효율적인 대안을 제공합니다. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## 주요 기능 + +- **앵커 없는 분리 Ultralytics 헤드:** 기존의 객체 감지 모델은 사전 정의된 앵커 박스를 사용하여 객체의 위치를 예측합니다. 그러나 YOLOv5u는 이 방식을 현대화합니다. 앵커 없는 분리 Ultralytics 헤드를 도입함으로써 더욱 유연하고 적응적인 감지 메커니즘을 보장하여 다양한 시나리오에서 성능을 향상시킵니다. + +- **정확도-속도 절충의 최적화:** 속도와 정확도는 종종 상충하는 관계에 있습니다. 그러나 YOLOv5u는 이러한 절충을 도전합니다. 실시간 탐지를 보장하면서도 정확도를 희생하지 않는 균형을 제시합니다. 이 기능은 자율주행 차량, 로봇 공학, 실시간 비디오 분석 등 신속한 응답을 요구하는 응용 프로그램에서 특히 중요합니다. + +- **다양한 사전 훈련된 모델:** 다른 작업에는 다른 도구 세트가 필요하다는 것을 이해하는 YOLOv5u는 다양한 사전 훈련된 모델을 제공합니다. 추론, 검증 또는 훈련에 집중하고 있는지 여부에 관계없이 맞춤형 모델이 기다리고 있습니다. 이 다양성은 일반적인 솔루션이 아닌 독특한 도전 과제에 대해 특별히 세밀하게 조정된 모델을 사용하고 있다는 것을 보장합니다. + +## 지원되는 작업 및 모드 + +разнобойacionales of YOLOv5u 모델은 다양한 사전 훈련된 가중치로 [객체 감지](../tasks/detect.md) 작업에서 뛰어난 성능을 발휘합니다. 이들은 개발부터 배포까지 다양한 응용 프로그램에 적합한 다양한 모드를 지원합니다. + +| 모델 유형 | 사전 훈련된 가중치 | 작업 | 추론 | 검증 | 훈련 | 내보내기 | +|---------|-----------------------------------------------------------------------------------------------------------------------------|-----------------------------|----|----|----|------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [객체 감지](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +이 표는 YOLOv5u 모델의 다양한 변형을 상세히 보여주며, 객체 감지 작업에서의 적용 가능성과 [추론](../modes/predict.md), [검증](../modes/val.md), [훈련](../modes/train.md), [내보내기](../modes/export.md)와 같은 다양한 작업 모드의 지원을 강조합니다. 이러한 포괄적인 지원을 통해 사용자는 다양한 객체 감지 시나리오에서 YOLOv5u 모델의 기능을 완전히 활용할 수 있습니다. + +## 성능 지표 + +!!! 성능 + + === "감지" + + [COCO](https://docs.ultralytics.com/datasets/detect/coco/)에서 학습된 이러한 모델을 사용한 사용 예제는 [감지 문서](https://docs.ultralytics.com/tasks/detect/)를 참조하세요. 이 문서에는 80개의 사전 훈련된 클래스를 포함합니다. + + | 모델 | YAML | 크기
(픽셀) | mAPval
50-95 | 속도
CPU ONNX
(ms) | 속도
A100 TensorRT
(ms) | 매개변수
(M) | FLOPs
(B) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## 사용 예제 + +이 예제는 간단한 YOLOv5 훈련 및 추론 예제를 제공합니다. 이와 기타 [모드](../modes/index.md)의 자세한 설명은 [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) 및 [Export](../modes/export.md) 문서 페이지를 참조하세요. + +!!! Example "예제" + + === "Python" + + Python에서 `YOLO()` 클래스로 `*.pt` 사전 훈련된 모델과 구성 `*.yaml` 파일을 전달하여 모델 인스턴스를 만들 수 있습니다. + + ```python + from ultralytics import YOLO + + # COCO 사전 훈련된 YOLOv5n 모델 로드 + model = YOLO('yolov5n.pt') + + # 모델 정보 표시 (선택 사항) + model.info() + + # COCO8 예제 데이터셋을 사용하여 모델을 100번 에포크로 훈련 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg' 이미지에 대해 YOLOv5n 모델로 추론 실행 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다. + + ```bash + # COCO 사전 훈련된 YOLOv5n 모델 로드 및 COCO8 예제 데이터셋을 사용하여 모델을 100번 에포크로 훈련 + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO 사전 훈련된 YOLOv5n 모델 로드 및 'bus.jpg' 이미지에서 추론 실행 + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## 인용 및 감사의 글 + +연구에서 YOLOv5 또는 YOLOv5u를 사용하는 경우 Ultralytics YOLOv5 리포지토리를 다음과 같이 인용하세요. + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +YOLOv5 모델은 [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) 및 [Enterprise](https://ultralytics.com/license) 라이선스로 제공됩니다. diff --git a/docs/ko/models/yolov6.md b/docs/ko/models/yolov6.md new file mode 100644 index 00000000000..a28ee861a22 --- /dev/null +++ b/docs/ko/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: 최첨단 물체 감지(오브젝트 디텍션) 모델인 'Meituan YOLOv6'을 알아보세요. 속도와 정확도 사이의 균형을 유지하는 이 모델은 실시간 애플리케이션에 인기 있는 선택입니다. 이 모델은 BiC(Bi-directional Concatenation) 모듈, AAT(Anchor-Aided Training) 전략, COCO 데이터셋에서 최첨단 정확도를 실현하기 위한 개선된 백본(backbone) 및 네크(neck) 설계 등에 대한 여러 주목할만한 향상 사항을 도입하고 있습니다. +keywords: Meituan YOLOv6, 오브젝트 디텍션, Ultralytics, YOLOv6 문서, Bi-directional Concatenation, Anchor-Aided Training, 사전 훈련 모델, 실시간 애플리케이션 +--- + +# Meituan YOLOv6 + +## 개요 + +[Meituan](https://about.meituan.com/) YOLOv6은 속도와 정확도 사이에서 현저한 균형을 제공하는 최첨단 물체 감지기입니다. 이 모델은 Bi-directional Concatenation(BiC) 모듈, Anchor-Aided Training(AAT) 전략, 그리고 COCO 데이터셋에서 최첨단 정확도를 실현하기 위한 개선된 백본(backbone) 및 네크(neck) 디자인 등, 아키텍처와 훈련 방식에 대한 여러 주목할만한 향상 사항을 제공합니다. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![모델 예시 이미지](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**YOLOv6 개요**. 아키텍처 다이어그램으로, 다시 설계된 네트워크 구성 요소와 훈련 전략이 중요한 성능 개선을 이끈 모습을 보여줍니다. (a) YOLOv6의 네크(neck) (N과 S 표시)입니다. M/L의 경우, RepBlocks은 CSPStackRep으로 대체됩니다. (b) BiC 모듈의 구조입니다. (c) SimCSPSPPF 블록입니다. ([출처](https://arxiv.org/pdf/2301.05586.pdf)). + +### 주요 특징 + +- **Bi-directional Concatenation (BiC) 모듈**: YOLOv6은 감지기(neck)에 BiC 모듈을 도입하여 위치 신호(localization signals)를 강화하고 성능을 향상시키는데, 속도 저하가 거의 없습니다. +- **Anchor-Aided Training (AAT) 전략**: 이 모델은 추론 효율을 저하시키지 않고 앵커 기반(anchor-based)과 앵커 없음(anchor-free) 패러다임의 이점을 모두 누릴 수 있도록 AAT를 제안합니다. +- **개선된 백본 및 네크 디자인**: YOLOv6을 백본과 네크에 추가적인 단계를 포함하여 깊게 만들어 COCO 데이터셋에서 최첨단 성능을 달성합니다. +- **셀프 디스틸레이션 전략**: YOLOv6의 작은 모델 성능을 강화하기 위해 새로운 셀프 디스틸레이션 전략이 도입되었습니다. 이는 훈련 중 보조 회귀 브랜치를 강화하고 추론 중에는 이를 제거하여 성능 저하를 방지합니다. + +## 성능 메트릭 + +YOLOv6은 다양한 스케일의 사전 훈련 모델을 제공합니다: + +- YOLOv6-N: NVIDIA Tesla T4 GPU에서 1187 FPS로 COCO val2017에서 37.5% AP. +- YOLOv6-S: 484 FPS로 45.0% AP. +- YOLOv6-M: 226 FPS로 50.0% AP. +- YOLOv6-L: 116 FPS로 52.8% AP. +- YOLOv6-L6: 실시간에서 최첨단 정확성. + +또한, YOLOv6은 다양한 정밀도에 대한 양자화 모델과 모바일 플랫폼에 최적화된 모델도 제공합니다. + +## 사용 예시 + +다음은 간단한 YOLOv6 훈련 및 추론 예시입니다. 이 외에도 [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md), [Export](../modes/export.md) 문서 페이지에서 자세한 내용을 확인할 수 있습니다. + +!!! Example "예제" + + === "Python" + + `*.pt` 사전 훈련된 PyTorch 모델과 구성 `*.yaml` 파일을 `YOLO()` 클래스에 전달하여 파이썬에서 모델 인스턴스를 만들 수 있습니다: + + ```python + from ultralytics import YOLO + + # YOLOv6n 모델을 처음부터 만듭니다 + model = YOLO('yolov6n.yaml') + + # 모델 정보를 표시합니다 (선택 사항) + model.info() + + # COCO8 예시 데이터셋으로 모델을 100 에폭 동안 훈련합니다 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # YOLOv6n 모델로 'bus.jpg' 이미지에서 추론을 실행합니다 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다: + + ```bash + # 처음부터 YOLOv6n 모델을 만들고 COCO8 예시 데이터셋으로 100 에폭 동안 훈련합니다 + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # 처음부터 YOLOv6n 모델을 만들고 'bus.jpg' 이미지에서 추론을 실행합니다 + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## 지원되는 작업 및 모드 + +YOLOv6 시리즈는 높은 성능의 [오브젝트 디텍션](../tasks/detect.md)을 위해 최적화된 다양한 모델을 제공합니다. 이 모델들은 다양한 계산 요구 사항과 정확도 요구 사항에 맞추어 다용도로 사용할 수 있습니다. + +| 모델 유형 | 사전 훈련 가중치 | 지원되는 작업 | 추론 | 검증 | 훈련 | 익스포트 | +|-----------|----------------|--------------------------------|----|----|----|------| +| YOLOv6-N | `yolov6-n.pt` | [오브젝트 디텍션](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [오브젝트 디텍션](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [오브젝트 디텍션](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [오브젝트 디텍션](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [오브젝트 디텍션](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +이 표는 YOLOv6 모델의 다양한 변형에 대한 자세한 개요를 제공하며, 오브젝트 디텍션 작업과 [추론](../modes/predict.md), [검증](../modes/val.md), [훈련](../modes/train.md), [익스포트](../modes/export.md)와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이러한 포괄적인 지원을 통해 사용자들은 다양한 오브젝트 디텍션 시나리오에서 YOLOv6 모델의 기능을 최대한 활용할 수 있습니다. + +## 인용 및 감사의 글 + +실시간 물체 감지 분야에서의 중요한 기여에 대해 작성자들에게 감사의 말씀을 전합니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + YOLOv6 원본 논문은 [arXiv](https://arxiv.org/abs/2301.05586)에서 찾을 수 있습니다. 작성자들이 자신의 작업을 공개하지 않았으며, 코드는 [GitHub](https://github.com/meituan/YOLOv6)에서 액세스할 수 있습니다. 우리는 그들의 노력과 업계 발전을 위해 노력해 널리 알려져 있게 한 저자들에게 감사의 말씀을 전합니다. diff --git a/docs/ko/models/yolov7.md b/docs/ko/models/yolov7.md new file mode 100644 index 00000000000..2071682d794 --- /dev/null +++ b/docs/ko/models/yolov7.md @@ -0,0 +1,65 @@ +--- +comments: true +description: YOLOv7은 실시간 객체 검출기로, 뛰어난 속도, 강력한 정확성, 독특한 trainable bag-of-freebies 최적화에 대해 알아봅니다. +keywords: YOLOv7, 실시간 객체 검출기, 최첨단, Ultralytics, MS COCO 데이터셋, 모델 재파라미터화, 동적 라벨 할당, 확장 스케일, 복합 스케일 +--- + +# YOLOv7: Trainable Bag-of-Freebies + +YOLOv7은 5 FPS에서 160 FPS까지의 범위에서 알려진 모든 객체 검출기를 속도와 정확성에서 능가하는 최첨단 실시간 객체 검출기입니다. 이 모델은 GPU V100에서 30 FPS 이상을 달성하여, 알려진 실시간 객체 검출기 중 가장 높은 정확도(56.8% AP)를 보여줍니다. 게다가, YOLOv7은 다른 객체 검출기인 YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 등에 비해 속도와 정확성 면에서 더 뛰어납니다. 이 모델은 다른 데이터셋이나 사전 학습된 가중치를 사용하지 않고 MS COCO 데이터셋에서 처음부터 훈련되었습니다. YOLOv7의 소스 코드는 GitHub에서 확인할 수 있습니다. + +![YOLOv7와 최첨단 객체 검출기 비교](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**최첨단 객체 검출기 비교**. 표 2의 결과에서 볼 수 있듯이, 제안된 방법은 최상의 속도-정확성 균형을 가지고 있습니다. YOLOv7-tiny-SiLU를 YOLOv5-N(r6.1)과 비교해보면, 저희 방법은 약 127 fps가 더 빠르고 AP에서 10.7% 정확도가 향상됩니다. 게다가, YOLOv7은 161 fps 프레임 속도에서 51.4% AP를 달성하는 반면, PPYOLOE-L은 동일한 AP에서 78 fps 프레임 속도만 갖습니다. 매개 변수 사용 측면에서 YOLOv7는 PPYOLOE-L의 41%를 줄입니다. YOLOv7-X를 114 fps의 추론 속도로 YOLOv5-L(r6.1)의 99 fps 추론 속도와 비교하면, YOLOv7-X는 AP를 3.9% 향상시킵니다. YOLOv7-X를 유사한 스케일의 YOLOv5-X(r6.1)와 비교하면, YOLOv7-X의 추론 속도가 31 fps 더 빨라집니다. 또한, 매개 변수 및 계산의 양 측면에서 YOLOv7-X는 YOLOv5-X(r6.1)과 비교하여 매개 변수 22%와 계산 8%를 줄이고 AP를 2.2% 향상시킵니다 ([출처](https://arxiv.org/pdf/2207.02696.pdf)). + +## 개요 + +실시간 객체 검출은 다중 객체 추적, 자율 주행, 로봇 공학 및 의료 이미지 분석을 비롯한 많은 컴퓨터 비전 시스템의 중요한 구성 요소입니다. 최근 몇 년간 실시간 객체 검출 개발은 효율적인 구조 설계와 다양한 CPU, GPU 및 신경 처리 장치(NPU)의 추론 속도 향상에 초점을 맞추고 있습니다. YOLOv7은 모바일 GPU와 GPU 장치를 모두 지원하여 엣지부터 클라우드까지 다양한 환경에서 사용할 수 있습니다. + +기존의 실시간 객체 검출기가 아키텍처 최적화에 중점을 둔 것과는 달리, YOLOv7은 훈련 과정 최적화에 초점을 두고 있습니다. 이는 추론 비용을 증가시키지 않고 객체 검출의 정확도를 향상시키는 모듈과 최적화 방법을 포함한 "trainable bag-of-freebies" 개념을 도입합니다. + +## 주요 기능 + +YOLOv7은 다음과 같은 주요 기능을 도입합니다: + +1. **모델 재파라미터화**: YOLOv7은 그래디언트 전파 경로 개념을 이용한 다른 네트워크의 레이어에 적용 가능한 전략인 계획된 재파라미터화 모델을 제안합니다. + +2. **동적 라벨 할당**: 다중 출력 레이어 모델의 훈련에서는 "다른 브랜치의 출력에 대해 동적 타깃을 어떻게 할당할 것인가?"라는 새로운 문제가 발생합니다. 이를 해결하기 위해 YOLOv7은 coarse-to-fine 리드 가이드 라벨 할당이라는 새로운 라벨 할당 방법을 도입합니다. + +3. **확장 및 복합 스케일링**: YOLOv7은 매개 변수와 계산을 효과적으로 활용할 수 있는 실시간 객체 검출기를 위한 "확장" 및 "복합 스케일링" 방법을 제안합니다. + +4. **효율성**: YOLOv7이 제안한 방법은 최첨단 실시간 객체 검출기의 매개 변수 약 40%, 계산 약 50%를 효과적으로 줄일 수 있으며, 더 빠른 추론 속도와 더 높은 검출 정확도를 달성할 수 있습니다. + +## 사용 예시 + +기술 시점에서 Ultralytics은 현재 YOLOv7 모델을 지원하지 않습니다. 따라서 YOLOv7을 사용하려는 사용자는 YOLOv7 GitHub 저장소의 설치 및 사용 지침을 직접 참조해야 합니다. + +YOLOv7을 사용하는 일반적인 단계에 대해 간략히 설명해 드리겠습니다: + +1. YOLOv7 GitHub 저장소를 방문합니다: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. 설치에 대한 README 파일에서 제공하는 지침을 따릅니다. 일반적으로 저장소를 복제하고 필요한 종속성을 설치하고 필요한 환경 변수를 설정하는 것이 포함됩니다. + +3. 설치가 완료되면 저장소에서 제공하는 사용 지침에 따라 모델을 훈련하고 사용할 수 있습니다. 이는 데이터셋을 준비하고 모델 매개 변수를 구성하고 모델을 훈련한 다음 훈련된 모델을 사용하여 객체 검출을 수행하는 것을 일반적으로 포함합니다. + +특정 단계는 사용 사례와 YOLOv7 저장소의 현재 상태에 따라 달라질 수 있습니다. 따라서 YOLOv7 GitHub 저장소에서 제공하는 지침을 직접 참조하는 것이 권장됩니다. + +YOLOv7을 지원하게 되면, Ultralytics의 사용 예시를 포함하여 이 문서를 업데이트하기 위해 최선을 다하겠습니다. + +## 인용 및 감사의 글 + +실시간 객체 검출 분야에서의 중요한 기여로 인해 YOLOv7의 저자들에게 감사의 말씀을 전하고자 합니다: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +원본 YOLOv7 논문은 [arXiv](https://arxiv.org/pdf/2207.02696.pdf)에서 찾을 수 있습니다. 저자들은 작업을 공개적으로 사용 가능하게 하였고, 코드베이스는 [GitHub](https://github.com/WongKinYiu/yolov7)에서 확인할 수 있습니다. 저희는 이들이 해당 분야의 발전에 기여하고 작업을 폭넓은 커뮤니티에게 공개 가능하게 한 노력에 감사드립니다. diff --git a/docs/ko/models/yolov8.md b/docs/ko/models/yolov8.md new file mode 100644 index 00000000000..15084fac1f1 --- /dev/null +++ b/docs/ko/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: YOLOv8는 실시간 객체 탐지기인 YOLO 시리즈의 최신 버전으로, 최신 아키텍처, 사전 훈련된 모델 및 정확도와 속도의 최적 균형을 제공함으로써 다양한 객체 탐지 작업에 적합한 선택지입니다. +keywords: YOLOv8, Ultralytics, 실시간 객체 탐지기, 사전 훈련된 모델, 문서, 객체 탐지, YOLO 시리즈, 고급 아키텍처, 정확도, 속도 +--- + +# YOLOv8 + +## 개요 + +YOLOv8는 실시간 객체 탐지기인 YOLO 시리즈의 최신 버전으로, 정확도와 속도면에서 최신 기술을 제공합니다. 이전 YOLO 버전의 기술적 발전을 바탕으로, YOLOv8은 새로운 기능과 최적화를 도입하여 다양한 응용 분야에서 다양한 객체 탐지 작업에 이상적인 선택지가 됩니다. + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## 주요 기능 + +- **고급 백본 및 넥 아키텍처:** YOLOv8은 최첨단 백본 및 넥 아키텍처를 사용하여 향상된 특징 추출과 객체 탐지 성능을 제공합니다. +- **앵커 없는 분리된 Ultralytics 헤드:** YOLOv8은 앵커 기반 접근법에 비해 더 나은 정확도와 효율적인 탐지 과정을 위한 앵커 없는 분리된 Ultralytics 헤드를 채택합니다. +- **정확도와 속도의 최적 균형화:** 정확도와 속도의 최적 균형을 유지하는 것에 초점을 맞춘 YOLOv8은 다양한 응용 분야에서 실시간 객체 탐지 작업에 적합합니다. +- **다양한 사전 훈련된 모델:** YOLOv8은 다양한 작업과 성능 요건에 맞는 사전 훈련된 모델을 제공하여 특정 사용 사례에 적합한 모델을 쉽게 찾을 수 있도록 합니다. + +## 지원하는 작업 및 모드 + +YOLOv8 시리즈는 컴퓨터 비전의 특정 작업을 위해 특화된 다양한 모델을 제공합니다. 이러한 모델은 객체 탐지부터 인스턴스 세그멘테이션, 포즈/키포인트 탐지, 분류와 같은 복잡한 작업까지 다양한 요구 사항을 충족시킬 수 있도록 설계되었습니다. + +각 YOLOv8 시리즈의 변형은 해당 작업에 최적화되어 고성능과 정확도를 제공합니다. 또한 이러한 모델은 [추론](../modes/predict.md), [검증](../modes/val.md), [훈련](../modes/train.md) 및 [내보내기](../modes/export.md)와 같은 다양한 운영 모드와 호환되어 배포 및 개발의 다양한 단계에서 사용할 수 있도록 지원합니다. + +| 모델 | 파일 이름 | 작업 | 추론 | 검증 | 훈련 | 내보내기 | +|-------------|----------------------------------------------------------------------------------------------------------------|------------------------------------|----|----|----|------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [객체 탐지](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [인스턴스 세그멘테이션](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [포즈/키포인트](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [분류](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +이 표는 YOLOv8 모델의 변형을 개요로 제공하며, 특정 작업에서의 적용 가능성 및 추론, 검증, 훈련 및 내보내기와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이는 컴퓨터 비전의 다양한 응용 분야에 적합한 YOLOv8 시리즈의 다재다능함과 견고성을 보여줍니다. + +## 성능 지표 + +!!! 성능 + + === "객체 탐지 (COCO)" + + [COCO](https://docs.ultralytics.com/datasets/detect/coco/)에서 사전 훈련된 이러한 모델을 사용한 사용 예제에 대한 정보는 [객체 탐지 문서](https://docs.ultralytics.com/tasks/detect/)를 참조하십시오. 이는 80개의 사전 훈련된 클래스를 포함합니다. + + | 모델 | 크기
(픽셀) | mAP
val 50-95 | 속도
CPU ONNX
(밀리초) | 속도
A100 TensorRT
(밀리초) | 매개변수
(백만) | FLOPs
(십억) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------- | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "객체 탐지 (Open Images V7)" + + [Open Images V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/)에서 사전 훈련된 이러한 모델을 사용한 사용 예제에 대한 정보는 [객체 탐지 문서](https://docs.ultralytics.com/tasks/detect/)를 참조하십시오. 이는 600개의 사전 훈련된 클래스를 포함합니다. + + | 모델 | 크기
(픽셀) | mAP
val 50-95 | 속도
CPU ONNX
(밀리초) | 속도
A100 TensorRT
(밀리초) | 매개변수
(백만) | FLOPs
(십억) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------- | ----------------- | + | [YOLOv8n-oiv7](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s-oiv7](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m-oiv7](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l-oiv7](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x-oiv7](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "세그멘테이션 (COCO)" + + [COCO](https://docs.ultralytics.com/datasets/segment/coco/)에서 사전 훈련된 이러한 모델을 사용한 사용 예제에 대한 정보는 [세그멘테이션 문서](https://docs.ultralytics.com/tasks/segment/)를 참조하십시오. 이는 80개의 사전 훈련된 클래스를 포함합니다. + + | 모델 | 크기
(픽셀) | mAP
box 50-95 | mAP
mask 50-95 | 속도
CPU ONNX
(밀리초) | 속도
A100 TensorRT
(밀리초) | 매개변수
(백만) | FLOPs
(십억) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------- | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "분류 (ImageNet)" + + [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/)에서 사전 훈련된 이러한 모델을 사용한 사용 예제에 대한 정보는 [분류 문서](https://docs.ultralytics.com/tasks/classify/)를 참조하십시오. 이는 1000개의 사전 훈련된 클래스를 포함합니다. + + | 모델 | 크기
(픽셀) | top1 정확도 | top5 정확도 | 속도
CPU ONNX
(밀리초) | 속도
A100 TensorRT
(밀리초) | 매개변수
(백만) | FLOPs
(백만) at 640 | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ----------------- | ------------------------------ | ----------------------------------- | ------------------- | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "포즈 (COCO)" + + [COCO](https://docs.ultralytics.com/datasets/pose/coco/)에서 사전 훈련된 이러한 모델을 사용한 사용 예제에 대한 정보는 [포즈 문서](https://docs.ultralytics.com/tasks/pose/)를 참조하십시오. 이는 'person' 하나의 사전 훈련된 클래스를 포함합니다. + + | 모델 | 크기
(픽셀) | mAP
pose 50-95 | mAP
pose 50 | 속도
CPU ONNX
(밀리초) | 속도
A100 TensorRT
(밀리초) | 매개변수
(백만) | FLOPs
(십억) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ----------------- | ------------------------------ | ----------------------------------- | ------------------- | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## 사용 예제 + +이 예제는 간단한 YOLOv8 훈련 및 추론 예제를 제공합니다. 이와 다른 [모드](../modes/index.md)의 전체 문서는 [예측](../modes/predict.md), [훈련](../modes/train.md), [검증](../modes/val.md) 및 [내보내기](../modes/export.md) 문서를 참조하십시오. + +아래 예제는 객체 탐지를 위한 YOLOv8 [Detect](../tasks/detect.md) 모델을 대상으로 합니다. 추가 지원되는 작업에 대해서는 [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) 및 [Pose](../tasks/pose.md) 문서를 참조하십시오. + +!!! 예시 + + === "Python" + + python에서 PyTorch 사전 훈련된 `*.pt` 모델 및 구성 `*.yaml` 파일을 `YOLO()` 클래스에 전달하여 모델 인스턴스를 만들 수 있습니다. + + ```python + from ultralytics import YOLO + + # COCO 사전 훈련된 YOLOv8n 모델 로드 + model = YOLO('yolov8n.pt') + + # 모델 정보 표시 (옵션) + model.info() + + # COCO8 예제 데이터셋에서 모델을 100회 에포크로 훈련 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 'bus.jpg' 이미지에서 YOLOv8n 모델로 추론 실행 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + CLI 명령을 사용하면 직접 모델을 실행할 수 있습니다. + + ```bash + # COCO 사전 훈련된 YOLOv8n 모델을 로드하고 COCO8 예제 데이터셋에서 100회 에포크로 훈련 + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # COCO 사전 훈련된 YOLOv8n 모델을 로드하고 'bus.jpg' 이미지에서 추론 실행 + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## 인용 및 감사의 글 + +이 저장소에서 YOLOv8 모델이나 다른 소프트웨어를 사용한 작업에 대해서는 다음 형식으로 인용해주시기 바랍니다. + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +DOI는 준비 중이며 이용 가능해지면 인용문에 추가될 예정입니다. YOLOv8 모델은 [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) 및 [Enterprise](https://ultralytics.com/license) 라이센스에 따라 제공됩니다. diff --git a/docs/overrides/partials/comments.html b/docs/overrides/partials/comments.html index dcee5a9f14e..57050a156ab 100644 --- a/docs/overrides/partials/comments.html +++ b/docs/overrides/partials/comments.html @@ -2,20 +2,20 @@

{{ lang.t("meta.comments") }}

- diff --git a/docs/pt/models/fast-sam.md b/docs/pt/models/fast-sam.md new file mode 100644 index 00000000000..54543ecc5dd --- /dev/null +++ b/docs/pt/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: Explore o FastSAM, uma solução baseada em CNN para segmentação em tempo real de objetos em imagens. Melhor interação do usuário, eficiência computacional e adaptabilidade em tarefas de visão. +keywords: FastSAM, aprendizado de máquina, solução baseada em CNN, segmentação de objetos, solução em tempo real, Ultralytics, tarefas de visão, processamento de imagens, aplicações industriais, interação do usuário +--- + +# Fast Segment Anything Model (FastSAM) + +O Fast Segment Anything Model (FastSAM) é uma solução inovadora baseada em CNN em tempo real para a tarefa de Segmentar Qualquer Coisa. Essa tarefa foi projetada para segmentar qualquer objeto dentro de uma imagem com base em várias possíveis instruções de interação do usuário. O FastSAM reduz significativamente as demandas computacionais, mantendo um desempenho competitivo, tornando-o uma escolha prática para uma variedade de tarefas de visão. + +![Visão geral da arquitetura do Fast Segment Anything Model (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## Visão Geral + +O FastSAM é projetado para abordar as limitações do [Segment Anything Model (SAM)](sam.md), um modelo Transformer pesado com requisitos substanciais de recursos computacionais. O FastSAM divide a tarefa de segmentar qualquer coisa em duas etapas sequenciais: segmentação de todas as instâncias e seleção guiada por instruções. A primeira etapa usa o [YOLOv8-seg](../tasks/segment.md) para produzir as máscaras de segmentação de todas as instâncias na imagem. Na segunda etapa, ele gera a região de interesse correspondente à instrução. + +## Recursos Principais + +1. **Solução em Tempo Real:** Aproveitando a eficiência computacional das CNNs, o FastSAM fornece uma solução em tempo real para a tarefa de segmentar qualquer coisa, tornando-o valioso para aplicações industriais que exigem resultados rápidos. + +2. **Eficiência e Desempenho:** O FastSAM oferece uma redução significativa nas demandas computacionais e de recursos sem comprometer a qualidade do desempenho. Ele alcança um desempenho comparável ao SAM, mas com recursos computacionais drasticamente reduzidos, permitindo aplicações em tempo real. + +3. **Segmentação Guiada por Instruções:** O FastSAM pode segmentar qualquer objeto dentro de uma imagem com base em várias possíveis instruções de interação do usuário, proporcionando flexibilidade e adaptabilidade em diferentes cenários. + +4. **Baseado em YOLOv8-seg:** O FastSAM é baseado no [YOLOv8-seg](../tasks/segment.md), um detector de objetos equipado com um ramo de segmentação de instâncias. Isso permite que ele produza efetivamente as máscaras de segmentação de todas as instâncias em uma imagem. + +5. **Resultados Competitivos em Bancos de Dados de Referência:** Na tarefa de proposta de objetos no MS COCO, o FastSAM alcança pontuações altas em uma velocidade significativamente mais rápida do que o [SAM](sam.md) em uma única NVIDIA RTX 3090, demonstrando sua eficiência e capacidade. + +6. **Aplicações Práticas:** A abordagem proposta fornece uma nova solução prática para um grande número de tarefas de visão em alta velocidade, dezenas ou centenas de vezes mais rápido do que os métodos atuais. + +7. **Viabilidade de Compressão do Modelo:** O FastSAM demonstra a viabilidade de um caminho que pode reduzir significativamente o esforço computacional, introduzindo uma prioridade artificial à estrutura, abrindo assim novas possibilidades para arquiteturas de modelos grandes para tarefas gerais de visão. + +## Modelos Disponíveis, Tarefas Suportadas e Modos de Operação + +Esta tabela apresenta os modelos disponíveis com seus pesos pré-treinados específicos, as tarefas que eles suportam e sua compatibilidade com diferentes modos de operação, como [Inferência](../modes/predict.md), [Validação](../modes/val.md), [Treinamento](../modes/train.md) e [Exportação](../modes/export.md), indicados por emojis ✅ para modos suportados e emojis ❌ para modos não suportados. + +| Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|----------------|---------------------|--------------------------------------------------|------------|-----------|-------------|------------| +| FastSAM-s | `FastSAM-s.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Exemplos de Uso + +Os modelos FastSAM são fáceis de integrar em suas aplicações Python. A Ultralytics fornece uma API Python amigável ao usuário e comandos de linha de comando (CLI) para facilitar o desenvolvimento. + +### Uso de Predição + +Para realizar detecção de objetos em uma imagem, use o método `predict` conforme mostrado abaixo: + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # Definir uma fonte de inferência + source = 'caminho/para/onibus.jpg' + + # Criar um modelo FastSAM + model = FastSAM('FastSAM-s.pt') # ou FastSAM-x.pt + + # Executar inferência em uma imagem + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Preparar um objeto de Processo de Instruções + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Instrução: tudo + ann = prompt_process.everything_prompt() + + # Forma padrão (bbox) [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # Instrução: texto + ann = prompt_process.text_prompt(text='uma foto de um cachorro') + + # Instrução: ponto + # pontos padrão [[0,0]] [[x1,y1],[x2,y2]] + # ponto_label padrão [0] [1,0] 0:fundo, 1:frente + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # Carregar um modelo FastSAM e segmentar tudo com ele + yolo segment predict model=FastSAM-s.pt source=caminho/para/onibus.jpg imgsz=640 + ``` + +Este trecho de código demonstra a simplicidade de carregar um modelo pré-treinado e executar uma predição em uma imagem. + +### Uso de Validação + +A validação do modelo em um conjunto de dados pode ser feita da seguinte forma: + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics import FastSAM + + # Criar um modelo FastSAM + model = FastSAM('FastSAM-s.pt') # ou FastSAM-x.pt + + # Validar o modelo + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # Carregar um modelo FastSAM e validá-lo no conjunto de dados de exemplo COCO8 com tamanho de imagem 640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +Observe que o FastSAM suporta apenas detecção e segmentação de uma única classe de objeto. Isso significa que ele reconhecerá e segmentará todos os objetos como a mesma classe. Portanto, ao preparar o conjunto de dados, você precisará converter todos os IDs de categoria de objeto para 0. + +## Uso Oficial do FastSAM + +O FastSAM também está disponível diretamente no repositório [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). Aqui está uma visão geral breve das etapas típicas que você pode seguir para usar o FastSAM: + +### Instalação + +1. Clone o repositório do FastSAM: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Crie e ative um ambiente Conda com Python 3.9: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. Navegue até o repositório clonado e instale os pacotes necessários: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. Instale o modelo CLIP: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### Exemplo de Uso + +1. Baixe um [checkpoint do modelo](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). + +2. Use o FastSAM para inferência. Exemplos de comandos: + + - Segmentar tudo em uma imagem: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - Segmentar objetos específicos usando uma instrução de texto: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "o cachorro amarelo" + ``` + + - Segmentar objetos dentro de uma caixa delimitadora (fornecer coordenadas da caixa no formato xywh): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - Segmentar objetos próximos a pontos específicos: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +Além disso, você pode experimentar o FastSAM através de um [demo no Colab](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) ou no [demo web do HuggingFace](https://huggingface.co/spaces/An-619/FastSAM) para ter uma experiência visual. + +## Citações e Reconhecimentos + +Gostaríamos de reconhecer os autores do FastSAM por suas contribuições significativas no campo da segmentação de instâncias em tempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +O artigo original do FastSAM pode ser encontrado no [arXiv](https://arxiv.org/abs/2306.12156). Os autores disponibilizaram seu trabalho publicamente, e o código pode ser acessado no [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). Agradecemos seus esforços em avançar o campo e tornar seu trabalho acessível à comunidade em geral. diff --git a/docs/pt/models/index.md b/docs/pt/models/index.md index 6f529e9411a..c7958f3de08 100644 --- a/docs/pt/models/index.md +++ b/docs/pt/models/index.md @@ -1,37 +1,37 @@ --- comments: true -description: Explore a diversificada gama de modelos da família YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS e RT-DETR suportados pela Ultralytics. Comece com exemplos de uso tanto para CLI quanto para Python. +description: Explore a ampla gama de modelos da família YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS e RT-DETR suportados pela Ultralytics. Comece com exemplos para uso tanto em CLI quanto em Python. keywords: Ultralytics, documentação, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, modelos, arquiteturas, Python, CLI --- # Modelos Suportados pela Ultralytics -Bem-vindo à documentação de modelos da Ultralytics! Oferecemos suporte para uma ampla gama de modelos, cada um adaptado para tarefas específicas como [detecção de objetos](../tasks/detect.md), [segmentação de instâncias](../tasks/segment.md), [classificação de imagens](../tasks/classify.md), [estimativa de pose](../tasks/pose.md) e [rastreamento de múltiplos objetos](../modes/track.md). Se você está interessado em contribuir com sua arquitetura de modelo para a Ultralytics, confira nosso [Guia de Contribuição](../../help/contributing.md). +Bem-vindo à documentação de modelos da Ultralytics! Oferecemos suporte para uma ampla variedade de modelos, cada um adaptado para tarefas específicas como [detecção de objetos](../tasks/detect.md), [segmentação de instâncias](../tasks/segment.md), [classificação de imagens](../tasks/classify.md), [estimativa de pose](../tasks/pose.md), e [rastreamento de múltiplos objetos](../modes/track.md). Se você tem interesse em contribuir com sua arquitetura de modelo para a Ultralytics, confira nosso [Guia de Contribuição](../../help/contributing.md). !!! Note "Nota" - 🚧 Nossa documentação multilíngue está atualmente em construção e estamos trabalhando duro para melhorá-la. Obrigado pela sua paciência! 🙏 + 🚧 Nossa documentação em vários idiomas está atualmente em construção, e estamos trabalhando arduamente para melhorá-la. Agradecemos sua paciência! 🙏 ## Modelos em Destaque Aqui estão alguns dos principais modelos suportados: -1. **[YOLOv3](../../models/yolov3.md)**: A terceira iteração da família de modelos YOLO, originalmente por Joseph Redmon, conhecida por suas capacidades eficientes de detecção de objetos em tempo real. -2. **[YOLOv4](../../models/yolov4.md)**: Uma atualização nativa do darknet para o YOLOv3, lançada por Alexey Bochkovskiy em 2020. -3. **[YOLOv5](../../models/yolov5.md)**: Uma versão aprimorada da arquitetura YOLO pela Ultralytics, oferecendo melhores trade-offs de desempenho e velocidade comparado às versões anteriores. -4. **[YOLOv6](../../models/yolov6.md)**: Lançado pela [Meituan](https://about.meituan.com/) em 2022, e em uso em muitos dos robôs autônomos de entrega da empresa. -5. **[YOLOv7](../../models/yolov7.md)**: Modelos YOLO atualizados lançados em 2022 pelos autores do YOLOv4. -6. **[YOLOv8](../../models/yolov8.md)**: A versão mais recente da família YOLO, com capacidades aprimoradas como segmentação de instâncias, estimativa de pose/pontos-chave e classificação. -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: Modelo de Segment Everything (SAM) do Meta. -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM para aplicações móveis, pela Universidade Kyung Hee. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM pelo Grupo de Análise de Imagem e Vídeo, Instituto de Automação, Academia Chinesa de Ciências. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: Modelos YOLO de Pesquisa de Arquitetura Neural (NAS). -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: Modelos do Transformer de Detecção em Tempo Real (RT-DETR) da PaddlePaddle da Baidu. +1. **[YOLOv3](yolov3.md)**: A terceira iteração da família de modelos YOLO, originalmente por Joseph Redmon, conhecida por suas capacidades eficientes de detecção de objetos em tempo real. +2. **[YOLOv4](yolov4.md)**: Uma atualização nativa para o darknet do YOLOv3, lançada por Alexey Bochkovskiy em 2020. +3. **[YOLOv5](yolov5.md)**: Uma versão aprimorada da arquitetura YOLO pela Ultralytics, oferecendo melhor desempenho e compensações de velocidade em comparação com as versões anteriores. +4. **[YOLOv6](yolov6.md)**: Lançado pela [Meituan](https://about.meituan.com/) em 2022, e em uso em muitos dos robôs autônomos de entregas da empresa. +5. **[YOLOv7](yolov7.md)**: Modelos YOLO atualizados lançados em 2022 pelos autores do YOLOv4. +6. **[YOLOv8](yolov8.md) NOVO 🚀**: A versão mais recente da família YOLO, apresentando capacidades aprimoradas, como segmentação de instâncias, estimativa de pose/pontos-chave e classificação. +7. **[Segment Anything Model (SAM)](sam.md)**: Modelo Segment Anything (SAM) da Meta. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM para aplicações móveis, pela Universidade Kyung Hee. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM pelo Grupo de Análise de Imagem e Vídeo, Instituto de Automação, Academia Chinesa de Ciências. +10. **[YOLO-NAS](yolo-nas.md)**: Modelos de Pesquisa de Arquitetura Neural YOLO (NAS). +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Modelos de Transformador de Detecção em Tempo Real (RT-DETR) do PaddlePaddle da Baidu.


@@ -39,28 +39,32 @@ Aqui estão alguns dos principais modelos suportados: Assista: Execute modelos YOLO da Ultralytics em apenas algumas linhas de código.

-## Começando: Exemplos de Uso +## Introdução: Exemplos de Uso + +Este exemplo oferece exemplos simples de treinamento e inferência com YOLO. Para uma documentação completa sobre estes e outros [modos](../modes/index.md), veja as páginas de documentação de [Previsão](../modes/predict.md), [Treinamento](../modes/train.md), [Validação](../modes/val.md) e [Exportação](../modes/export.md). + +Note que o exemplo abaixo é para modelos YOLOv8 [Detect](../tasks/detect.md) para detecção de objetos. Para tarefas suportadas adicionais, veja as documentações de [Segmentação](../tasks/segment.md), [Classificação](../tasks/classify.md) e [Pose](../tasks/pose.md). !!! Example "Exemplo" === "Python" - Modelos `*.pt` pré-treinados com PyTorch, bem como arquivos de configuração `*.yaml`, podem ser passados para as classes `YOLO()`, `SAM()`, `NAS()` e `RTDETR()` para criar uma instância de modelo em Python: + Modelos `*.pt` pré-treinados em PyTorch, bem como arquivos de configuração `*.yaml`, podem ser passados para as classes `YOLO()`, `SAM()`, `NAS()` e `RTDETR()` para criar uma instância de modelo em Python: ```python from ultralytics import YOLO # Carregar um modelo YOLOv8n pré-treinado no COCO - model = YOLO('yolov8n.pt') + modelo = YOLO('yolov8n.pt') # Exibir informações do modelo (opcional) - model.info() + modelo.info() # Treinar o modelo no conjunto de dados de exemplo COCO8 por 100 épocas - results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + resultados = modelo.train(data='coco8.yaml', epochs=100, imgsz=640) # Executar inferência com o modelo YOLOv8n na imagem 'bus.jpg' - results = model('path/to/bus.jpg') + resultados = modelo('path/to/bus.jpg') ``` === "CLI" @@ -77,18 +81,18 @@ Aqui estão alguns dos principais modelos suportados: ## Contribuindo com Novos Modelos -Interessado em contribuir com o seu modelo para a Ultralytics? Ótimo! Estamos sempre abertos à expansão de nosso portfólio de modelos. +Interessado em contribuir com seu modelo para a Ultralytics? Ótimo! Estamos sempre abertos a expandir nosso portfólio de modelos. -1. **Fork no Repositório**: Comece fazendo um fork do [repositório GitHub da Ultralytics](https://github.com/ultralytics/ultralytics). +1. **Fork do Repositório**: Comece fazendo um fork do [repositório no GitHub da Ultralytics](https://github.com/ultralytics/ultralytics). -2. **Clone o Seu Fork**: Clone o seu fork para a sua máquina local e crie uma nova branch para trabalhar. +2. **Clone Seu Fork**: Clone seu fork para a sua máquina local e crie uma nova branch para trabalhar. -3. **Implemente Seu Modelo**: Adicione o seu modelo seguindo os padrões de codificação e diretrizes fornecidos em nosso [Guia de Contribuição](../../help/contributing.md). +3. **Implemente Seu Modelo**: Adicione seu modelo seguindo as normas e diretrizes de codificação fornecidas no nosso [Guia de Contribuição](../../help/contributing.md). -4. **Teste Completamente**: Certifique-se de testar seu modelo rigorosamente, isoladamente e como parte do pipeline. +4. **Teste Cuidadosamente**: Assegure-se de testar seu modelo rigorosamente, tanto isoladamente quanto como parte do pipeline. -5. **Crie um Pull Request**: Uma vez que esteja satisfeito com seu modelo, crie um pull request para o repositório principal para revisão. +5. **Crie um Pull Request**: Uma vez que estiver satisfeito com seu modelo, crie um pull request para o repositório principal para revisão. -6. **Revisão de Código & Merge**: Após a revisão, se o seu modelo atender os nossos critérios, ele será combinado com o repositório principal. +6. **Revisão de Código & Mesclagem**: Após a revisão, se seu modelo atender aos nossos critérios, ele será integrado ao repositório principal. Para etapas detalhadas, consulte nosso [Guia de Contribuição](../../help/contributing.md). diff --git a/docs/pt/models/mobile-sam.md b/docs/pt/models/mobile-sam.md new file mode 100644 index 00000000000..e4ffdc51b66 --- /dev/null +++ b/docs/pt/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Saiba mais sobre o MobileSAM, sua implementação, comparação com o SAM original e como baixá-lo e testá-lo no framework Ultralytics. Melhore suas aplicações móveis hoje. +keywords: MobileSAM, Ultralytics, SAM, aplicações móveis, Arxiv, GPU, API, codificador de imagens, decodificador de máscaras, download do modelo, método de teste +--- + +![Logotipo do MobileSAM](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Segmentação Móvel de Qualquer Coisa (MobileSAM) + +O artigo do MobileSAM agora está disponível no [arXiv](https://arxiv.org/pdf/2306.14289.pdf). + +Uma demonstração do MobileSAM executando em uma CPU pode ser acessada neste [link de demonstração](https://huggingface.co/spaces/dhkim2810/MobileSAM). O desempenho em um Mac i5 CPU leva aproximadamente 3 segundos. Na demonstração do Hugging Face, a interface e CPUs de menor desempenho contribuem para uma resposta mais lenta, mas ela continua funcionando efetivamente. + +O MobileSAM é implementado em vários projetos, incluindo [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) e [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +O MobileSAM é treinado em uma única GPU com um conjunto de dados de 100 mil imagens (1% das imagens originais) em menos de um dia. O código para esse treinamento será disponibilizado no futuro. + +## Modelos Disponíveis, Tarefas Suportadas e Modos de Operação + +Esta tabela apresenta os modelos disponíveis com seus pesos pré-treinados específicos, as tarefas que eles suportam e sua compatibilidade com diferentes modos de operação, como [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) e [Export](../modes/export.md), indicados pelos emojis ✅ para os modos suportados e ❌ para os modos não suportados. + +| Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inference | Validation | Training | Export | +|----------------|---------------------|--------------------------------------------------|-----------|------------|----------|--------| +| MobileSAM | `mobile_sam.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Adaptação de SAM para MobileSAM + +Como o MobileSAM mantém o mesmo pipeline do SAM original, incorporamos o pré-processamento original, pós-processamento e todas as outras interfaces. Consequentemente, aqueles que estão atualmente usando o SAM original podem fazer a transição para o MobileSAM com um esforço mínimo. + +O MobileSAM tem um desempenho comparável ao SAM original e mantém o mesmo pipeline, exceto por uma mudança no codificador de imagens. Especificamente, substituímos o codificador de imagens ViT-H original (632M) por um ViT menor (5M). Em uma única GPU, o MobileSAM opera em cerca de 12 ms por imagem: 8 ms no codificador de imagens e 4 ms no decodificador de máscaras. + +A tabela a seguir fornece uma comparação dos codificadores de imagens baseados em ViT: + +| Codificador de Imagens | SAM Original | MobileSAM | +|------------------------|--------------|-----------| +| Parâmetros | 611M | 5M | +| Velocidade | 452ms | 8ms | + +Tanto o SAM original quanto o MobileSAM utilizam o mesmo decodificador de máscaras baseado em prompt: + +| Decodificador de Máscaras | SAM Original | MobileSAM | +|---------------------------|--------------|-----------| +| Parâmetros | 3,876M | 3,876M | +| Velocidade | 4ms | 4ms | + +Aqui está a comparação de todo o pipeline: + +| Pipeline Completo (Enc+Dec) | SAM Original | MobileSAM | +|-----------------------------|--------------|-----------| +| Parâmetros | 615M | 9,66M | +| Velocidade | 456ms | 12ms | + +O desempenho do MobileSAM e do SAM original é demonstrado usando tanto um ponto quanto uma caixa como prompts. + +![Imagem com Ponto como Prompt](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![Imagem com Caixa como Prompt](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +Com seu desempenho superior, o MobileSAM é aproximadamente 5 vezes menor e 7 vezes mais rápido que o FastSAM atual. Mais detalhes estão disponíveis na [página do projeto MobileSAM](https://github.com/ChaoningZhang/MobileSAM). + +## Testando o MobileSAM no Ultralytics + +Assim como o SAM original, oferecemos um método de teste simples no Ultralytics, incluindo modos para prompts de Ponto e Caixa. + +### Download do Modelo + +Você pode baixar o modelo [aqui](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt). + +### Prompt de Ponto + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics import SAM + + # Carregar o modelo + model = SAM('mobile_sam.pt') + + # Prever um segmento com base em um prompt de ponto + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### Prompt de Caixa + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics import SAM + + # Carregar o modelo + model = SAM('mobile_sam.pt') + + # Prever um segmento com base em um prompt de caixa + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +Implementamos `MobileSAM` e `SAM` usando a mesma API. Para obter mais informações sobre o uso, consulte a [página do SAM](sam.md). + +## Citações e Agradecimentos + +Se você achar o MobileSAM útil em sua pesquisa ou trabalho de desenvolvimento, considere citar nosso artigo: + +!!! Citar "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/pt/models/rtdetr.md b/docs/pt/models/rtdetr.md new file mode 100644 index 00000000000..1d8a2523320 --- /dev/null +++ b/docs/pt/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: Descubra as características e benefícios do RT-DETR da Baidu, um detector de objetos em tempo real eficiente e adaptável baseado em Vision Transformers, incluindo modelos pré-treinados. +keywords: RT-DETR, Baidu, Vision Transformers, detecção de objetos, desempenho em tempo real, CUDA, TensorRT, seleção de consulta IoU, Ultralytics, API Python, PaddlePaddle +--- + +# RT-DETR da Baidu: Um Detector de Objetos em Tempo Real Baseado em Vision Transformers + +## Visão Geral + +O Real-Time Detection Transformer (RT-DETR), desenvolvido pela Baidu, é um detector de objetos de última geração que proporciona desempenho em tempo real mantendo alta precisão. Ele utiliza a potência dos Vision Transformers (ViT) para processar eficientemente recursos multiescala, separando a interação intra-escala e a fusão entre escalas. O RT-DETR é altamente adaptável, com suporte para ajuste flexível da velocidade de inferência usando diferentes camadas de decodificador sem a necessidade de retratamento. O modelo se destaca em backends acelerados como o CUDA com o TensorRT, superando muitos outros detectores de objetos em tempo real. + +![Exemplo de imagem do modelo](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Visão geral do RT-DETR da Baidu.** O diagrama da arquitetura do modelo RT-DETR mostra as últimas três etapas da espinha dorsal {S3, S4, S5} como entrada para o codificador. O codificador híbrido eficiente transforma recursos multiescala em uma sequência de recursos de imagem por meio da interação de recursos intra-escala (AIFI) e do módulo de fusão de recursos entre escalas (CCFM). A seleção de consulta, consciente da IoU, é utilizada para selecionar um número fixo de recursos de imagem para servir como consultas de objeto iniciais para o decodificador. Por fim, o decodificador com cabeçotes de previsão auxiliares otimiza iterativamente as consultas de objeto para gerar caixas e pontuações de confiança ([fonte](https://arxiv.org/pdf/2304.08069.pdf)). + +### Características Principais + +- **Codificador Híbrido Eficiente:** O RT-DETR da Baidu utiliza um codificador híbrido eficiente para processar recursos multiescala por meio da separação da interação intra-escala e da fusão entre escalas. Esse design exclusivo baseado em Vision Transformers reduz os custos computacionais e permite a detecção de objetos em tempo real. +- **Seleção de Consulta Consciente de IoU:** O RT-DETR da Baidu melhora a inicialização das consultas de objeto ao utilizar seleção de consulta consciente de IoU. Isso permite que o modelo foque nos objetos mais relevantes na cena, aprimorando a precisão da detecção. +- **Velocidade de Inferência Adaptável:** O RT-DETR da Baidu suporta ajustes flexíveis da velocidade de inferência ao utilizar diferentes camadas de decodificador sem a necessidade de retratamento. Essa adaptabilidade facilita a aplicação prática em diversos cenários de detecção de objetos em tempo real. + +## Modelos Pré-Treinados + +A API Python do Ultralytics fornece modelos pré-treinados do RT-DETR do PaddlePaddle com diferentes escalas: + +- RT-DETR-L: 53,0% de AP em COCO val2017, 114 FPS em GPU T4 +- RT-DETR-X: 54,8% de AP em COCO val2017, 74 FPS em GPU T4 + +## Exemplos de Uso + +Este exemplo fornece exemplos simples de treinamento e inferência com o RT-DETRR. Para obter documentação completa sobre esses e outros [modos](../modes/index.md), consulte as páginas de documentação [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md). + +!!! Example "Exemplo" + + === "Python" + + ```python + from ultralytics import RTDETR + + # Carregue um modelo RT-DETR-l pré-treinado no COCO + model = RTDETR('rtdetr-l.pt') + + # Exiba informações do modelo (opcional) + model.info() + + # Treine o modelo com o conjunto de dados de exemplo COCO8 por 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Execute a inferência com o modelo RT-DETR-l na imagem 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # Carregue um modelo RT-DETR-l pré-treinado no COCO e treine-o com o conjunto de dados de exemplo COCO8 por 100 épocas + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # Carregue um modelo RT-DETR-l pré-treinado no COCO e execute a inferência na imagem 'bus.jpg' + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## Tarefas e Modos Suportados + +Esta tabela apresenta os tipos de modelo, os pesos pré-treinados específicos, as tarefas suportadas por cada modelo e os vários modos ([Train](../modes/train.md), [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)) que são suportados, indicados por emojis ✅. + +| Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|----------------------|---------------------|-------------------------------------------|------------|-----------|-------------|------------| +| RT-DETR Grande | `rtdetr-l.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Grande | `rtdetr-x.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## Citações e Reconhecimentos + +Se você utilizar o RT-DETR da Baidu em seu trabalho de pesquisa ou desenvolvimento, por favor cite o [artigo original](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Gostaríamos de agradecer à Baidu e à equipe do [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) por criar e manter esse recurso valioso para a comunidade de visão computacional. Sua contribuição para o campo com o desenvolvimento do detector de objetos em tempo real baseado em Vision Transformers, RT-DETR, é muito apreciada. + +*keywords: RT-DETR, Transformer, ViT, Vision Transformers, RT-DETR da Baidu, PaddlePaddle, modelos pré-treinados PaddlePaddle RT-DETR, uso do RT-DETR da Baidu, API Python do Ultralytics* diff --git a/docs/pt/models/sam.md b/docs/pt/models/sam.md new file mode 100644 index 00000000000..6cb7f6d114b --- /dev/null +++ b/docs/pt/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Explore o Modelo de Segmentação de Qualquer Coisa (SAM) de última geração da Ultralytics que permite a segmentação de imagens em tempo real. Aprenda sobre a segmentação baseada em prompts, o desempenho de transferência zero e como utilizá-lo. +keywords: Ultralytics, segmentação de imagem, Modelo de Segmentação de Qualquer Coisa, SAM, conjunto de dados SA-1B, desempenho em tempo real, transferência zero, detecção de objetos, análise de imagens, aprendizado de máquina +--- + +# Modelo de Segmentação de Qualquer Coisa (SAM) + +Bem-vindo à fronteira da segmentação de imagem com o Modelo de Segmentação de Qualquer Coisa, ou SAM. Este modelo revolucionário mudou o jogo ao introduzir a segmentação de imagem baseada em prompts com desempenho em tempo real, estabelecendo novos padrões no campo. + +## Introdução ao SAM: O Modelo de Segmentação de Qualquer Coisa + +O Modelo de Segmentação de Qualquer Coisa, ou SAM, é um modelo de segmentação de imagem de ponta que permite a segmentação baseada em prompts, proporcionando uma versatilidade incomparável em tarefas de análise de imagem. O SAM é o cerne da iniciativa Segment Anything, um projeto inovador que introduz um modelo, tarefa e conjunto de dados novos para a segmentação de imagem. + +O design avançado do SAM permite que ele se adapte a novas distribuições de imagem e tarefas sem conhecimento prévio, um recurso conhecido como transferência zero. Treinado no abrangente [conjunto de dados SA-1B](https://ai.facebook.com/datasets/segment-anything/), que contém mais de 1 bilhão de máscaras espalhadas por 11 milhões de imagens cuidadosamente selecionadas, o SAM tem demonstrado um impressionante desempenho de transferência zero, superando os resultados totalmente supervisionados anteriores em muitos casos. + +![Exemplo de imagem do conjunto de dados](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +Imagens de exemplo com máscaras sobrepostas do nosso conjunto de dados recém-introduzido, SA-1B. O SA-1B contém 11 milhões de imagens diversas, de alta resolução, licenciadas e com proteção de privacidade, e 1,1 bilhão de máscaras de segmentação de alta qualidade. Essas máscaras foram anotadas totalmente automaticamente pelo SAM, e, como verificado por classificações humanas e inúmeros experimentos, são de alta qualidade e diversidade. As imagens são agrupadas pelo número de máscaras por imagem para visualização (em média, há ∼100 máscaras por imagem). + +## Recursos Principais do Modelo de Segmentação de Qualquer Coisa (SAM) + +- **Tarefa de Segmentação Baseada em Prompts:** O SAM foi projetado com uma tarefa de segmentação baseada em prompts em mente, permitindo que ele gere máscaras de segmentação válidas a partir de qualquer prompt fornecido, como dicas espaciais ou textuais que identifiquem um objeto. +- **Arquitetura Avançada:** O Modelo de Segmentação de Qualquer Coisa utiliza um poderoso codificador de imagens, um codificador de prompts e um decodificador de máscaras leve. Essa arquitetura única possibilita o uso flexível de prompts, cálculo de máscaras em tempo real e consciência de ambiguidade em tarefas de segmentação. +- **O Conjunto de Dados SA-1B:** Introduzido pelo projeto Segment Anything, o conjunto de dados SA-1B apresenta mais de 1 bilhão de máscaras em 11 milhões de imagens. Como o maior conjunto de dados de segmentação até o momento, ele fornece ao SAM uma fonte diversificada e em grande escala de dados de treinamento. +- **Desempenho de Transferência Zero:** O SAM apresenta um desempenho de transferência zero excepcional em diversas tarefas de segmentação, tornando-se uma ferramenta pronta para uso em aplicações diversas com necessidade mínima de engenharia de prompts. + +Para obter uma visão mais aprofundada do Modelo de Segmentação de Qualquer Coisa e do conjunto de dados SA-1B, visite o [site do Segment Anything](https://segment-anything.com) e consulte o artigo de pesquisa [Segment Anything](https://arxiv.org/abs/2304.02643). + +## Modelos Disponíveis, Tarefas Suportadas e Modos de Operação + +Esta tabela apresenta os modelos disponíveis com seus pesos pré-treinados específicos, as tarefas suportadas por eles e sua compatibilidade com diferentes modos de operação, como [Inferência](../modes/predict.md), [Validação](../modes/val.md), [Treinamento](../modes/train.md) e [Exportação](../modes/export.md), indicados pelos emojis ✅ para modos suportados e ❌ para modos não suportados. + +| Tipo de Modelo | Pesos Pré-Treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|----------------|---------------------|--------------------------------------------------|------------|-----------|-------------|------------| +| SAM base | `sam_b.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Como Usar o SAM: Versatilidade e Poder na Segmentação de Imagens + +O Modelo de Segmentação de Qualquer Coisa pode ser utilizado para uma variedade de tarefas secundárias que vão além dos dados de treinamento. Isso inclui detecção de bordas, geração de propostas de objeto, segmentação de instâncias e predição preliminar de texto para máscara. Com a engenharia de prompts, o SAM pode se adaptar rapidamente a novas tarefas e distribuições de dados de maneira inovadora, estabelecendo-se como uma ferramenta versátil e poderosa para todas as suas necessidades de segmentação de imagem. + +### Exemplo de predição do SAM + +!!! Example "Segmentar com prompts" + + Segmenta a imagem com prompts fornecidos. + + === "Python" + + ```python + from ultralytics import SAM + + # Carregar o modelo + modelo = SAM('sam_b.pt') + + # Exibir informações do modelo (opcional) + modelo.info() + + # Executar inferência com prompt de bboxes + modelo('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # Executar inferência com prompt de pontos + modelo('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "Segmentar tudo" + + Segmenta toda a imagem. + + === "Python" + + ```python + from ultralytics import SAM + + # Carregar o modelo + modelo = SAM('sam_b.pt') + + # Exibir informações do modelo (opcional) + modelo.info() + + # Executar inferência + modelo('caminho/para/imagem.jpg') + ``` + + === "CLI" + + ```bash + # Executar inferência com um modelo SAM + yolo predict model=sam_b.pt source=caminho/para/imagem.jpg + ``` + +- A lógica aqui é segmentar toda a imagem se nenhum prompt (bboxes/pontos/máscaras) for especificado. + +!!! Example "Exemplo do SAMPredictor" + + Desta forma, você pode definir a imagem uma vez e executar inferência de prompts várias vezes sem executar o codificador de imagem várias vezes. + + === "Inferência com prompt" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Criar o SAMPredictor + substituições = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(substituições=substituições) + + # Definir imagem + predictor.set_image("ultralytics/assets/zidane.jpg") # definir com arquivo de imagem + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # definir com np.ndarray + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # Redefinir imagem + predictor.reset_image() + ``` + + Segmentar tudo com argumentos adicionais. + + === "Segmentar tudo" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Criar o SAMPredictor + substituições = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(substituições=substituições) + + # Segmentar com argumentos adicionais + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- Mais argumentos adicionais para `Segmentar tudo` consulte a [Referência do `Predictor/generate`](../../reference/models/sam/predict.md). + +## Comparação SAM vs. YOLOv8 + +Aqui, comparamos o menor modelo SAM-b da Meta com o menor modelo de segmentação da Ultralytics, [YOLOv8n-seg](../tasks/segment.md): + +| Modelo | Tamanho | Parâmetros | Velocidade (CPU) | +|-----------------------------------------------|-------------------------------|--------------------------------|--------------------------------------| +| SAM-b da Meta | 358 MB | 94,7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40,7 MB | 10,1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) com YOLOv8 como base | 23,7 MB | 11,8 M | 115 ms/im | +| YOLOv8n-seg da Ultralytics | **6,7 MB** (53,4 vezes menor) | **3,4 M** (27,9 vezes a menos) | **59 ms/im** (866 vezes mais rápido) | + +Essa comparação mostra as diferenças de ordem de magnitude nos tamanhos e velocidades dos modelos. Enquanto o SAM apresenta capacidades exclusivas para segmentação automática, ele não é um concorrente direto dos modelos de segmentação YOLOv8, que são menores, mais rápidos e mais eficientes. + +Os testes foram executados em um MacBook Apple M2 de 2023 com 16GB de RAM. Para reproduzir este teste: + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # Perfil do SAM-b + modelo = SAM('sam_b.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil do MobileSAM + modelo = SAM('mobile_sam.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil do FastSAM-s + modelo = FastSAM('FastSAM-s.pt') + modelo.info() + modelo('ultralytics/assets') + + # Perfil do YOLOv8n-seg + modelo = YOLO('yolov8n-seg.pt') + modelo.info() + modelo('ultralytics/assets') + ``` + +## Autoanotação: Um Caminho Rápido para Conjuntos de Dados de Segmentação + +A autoanotação é um recurso-chave do SAM que permite aos usuários gerar um [conjunto de dados de segmentação](https://docs.ultralytics.com/datasets/segment) usando um modelo de detecção pré-treinado. Esse recurso permite a anotação rápida e precisa de um grande número de imagens, contornando a necessidade de anotação manual demorada. + +### Gere seu Conjunto de Dados de Segmentação Usando um Modelo de Detecção + +Para fazer a autoanotação do seu conjunto de dados com o framework Ultralytics, use a função `auto_annotate` conforme mostrado abaixo: + +!!! Example "Exemplo" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="caminho/para/imagens", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| Argumento | Tipo | Descrição | Padrão | +|------------|---------------------|-----------------------------------------------------------------------------------------------------------|--------------| +| data | str | Caminho para uma pasta que contém as imagens a serem anotadas. | | +| det_model | str, opcional | Modelo de detecção YOLO pré-treinado. O padrão é 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | str, opcional | Modelo de segmentação SAM pré-treinado. O padrão é 'sam_b.pt'. | 'sam_b.pt' | +| device | str, opcional | Dispositivo no qual executar os modelos. O padrão é uma string vazia (CPU ou GPU, se disponível). | | +| output_dir | str, None, opcional | Diretório para salvar os resultados anotados. O padrão é uma pasta 'labels' no mesmo diretório de 'data'. | None | + +A função `auto_annotate` recebe o caminho para suas imagens, com argumentos opcionais para especificar os modelos de detecção pré-treinados e de segmentação SAM, o dispositivo onde executar os modelos e o diretório de saída para salvar os resultados anotados. + +A autoanotação com modelos pré-treinados pode reduzir drasticamente o tempo e o esforço necessários para criar conjuntos de dados de segmentação de alta qualidade. Esse recurso é especialmente benéfico para pesquisadores e desenvolvedores que lidam com grandes coleções de imagens, pois permite que eles se concentrem no desenvolvimento e na avaliação do modelo, em vez de na anotação manual. + +## Citações e Reconhecimentos + +Se você encontrar o SAM útil em seu trabalho de pesquisa ou desenvolvimento, considere citar nosso artigo: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Gostaríamos de expressar nossa gratidão à Meta AI por criar e manter esse recurso valioso para a comunidade de visão computacional. + +*keywords: Segment Anything, Modelo de Segmentação de Qualquer Coisa, SAM, SAM da Meta, segmentação de imagem, segmentação baseada em prompts, desempenho de transferência zero, conjunto de dados SA-1B, arquitetura avançada, autoanotação, Ultralytics, modelos pré-treinados, SAM base, SAM large, segmentação de instâncias, visão computacional, IA, inteligência artificial, aprendizado de máquina, anotação de dados, máscaras de segmentação, modelo de detecção, modelo de detecção YOLO, bibtex, Meta AI.* diff --git a/docs/pt/models/yolo-nas.md b/docs/pt/models/yolo-nas.md new file mode 100644 index 00000000000..2a10705ef44 --- /dev/null +++ b/docs/pt/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: Explore a documentação detalhada do YOLO-NAS, um modelo superior de detecção de objetos. Saiba mais sobre suas funcionalidades, modelos pré-treinados, uso com a API do Ultralytics Python e muito mais. +keywords: YOLO-NAS, Deci AI, detecção de objetos, aprendizado profundo, busca de arquitetura neural, API do Ultralytics Python, modelo YOLO, modelos pré-treinados, quantização, otimização, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## Visão Geral + +Desenvolvido pela Deci AI, o YOLO-NAS é um modelo de detecção de objetos inovador. É o produto da tecnologia avançada de Busca de Arquitetura Neural, meticulosamente projetado para superar as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte à quantização e compromisso entre precisão e latência, o YOLO-NAS representa um grande avanço na detecção de objetos. + +![Exemplo de imagem do modelo](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**Visão geral do YOLO-NAS.** O YOLO-NAS utiliza blocos que suportam quantização e quantização seletiva para obter um desempenho ideal. O modelo, quando convertido para sua versão quantizada INT8, apresenta uma queda mínima na precisão, uma melhoria significativa em relação a outros modelos. Esses avanços culminam em uma arquitetura superior com capacidades de detecção de objetos sem precedentes e desempenho excepcional. + +### Principais Características + +- **Bloco Básico Amigável para Quantização:** O YOLO-NAS introduz um novo bloco básico que é amigo da quantização, abordando uma das limitações significativas dos modelos YOLO anteriores. +- **Treinamento e Quantização Sofisticados:** O YOLO-NAS utiliza esquemas avançados de treinamento e quantização pós-treinamento para melhorar o desempenho. +- **Otimização AutoNAC e Pré-Treinamento:** O YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes, como COCO, Objects365 e Roboflow 100. Esse pré-treinamento torna o modelo extremamente adequado para tarefas de detecção de objetos em ambientes de produção. + +## Modelos Pré-Treinados + +Experimente o poder da detecção de objetos de última geração com os modelos pré-treinados do YOLO-NAS fornecidos pela Ultralytics. Esses modelos foram projetados para oferecer um desempenho excelente em termos de velocidade e precisão. Escolha entre várias opções adaptadas às suas necessidades específicas: + +| Modelo | mAP | Latência (ms) | +|------------------|-------|---------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +Cada variante do modelo foi projetada para oferecer um equilíbrio entre Precisão Média Média (mAP) e latência, ajudando você a otimizar suas tarefas de detecção de objetos em termos de desempenho e velocidade. + +## Exemplos de Uso + +A Ultralytics tornou os modelos YOLO-NAS fáceis de serem integrados em suas aplicações Python por meio de nosso pacote `ultralytics`. O pacote fornece uma API Python de fácil utilização para simplificar o processo. + +Os seguintes exemplos mostram como usar os modelos YOLO-NAS com o pacote `ultralytics` para inferência e validação: + +### Exemplos de Inferência e Validação + +Neste exemplo, validamos o YOLO-NAS-s no conjunto de dados COCO8. + +!!! Example "Exemplo" + + Este exemplo fornece um código simples de inferência e validação para o YOLO-NAS. Para lidar com os resultados da inferência, consulte o modo [Predict](../modes/predict.md). Para usar o YOLO-NAS com modos adicionais, consulte [Val](../modes/val.md) e [Export](../modes/export.md). O YOLO-NAS no pacote `ultralytics` não suporta treinamento. + + === "Python" + + Arquivos de modelos pré-treinados `*.pt` do PyTorch podem ser passados para a classe `NAS()` para criar uma instância do modelo em Python: + + ```python + from ultralytics import NAS + + # Carrega um modelo YOLO-NAS-s pré-treinado no COCO + model = NAS('yolo_nas_s.pt') + + # Exibe informações do modelo (opcional) + model.info() + + # Valida o modelo no conjunto de dados de exemplo COCO8 + results = model.val(data='coco8.yaml') + + # Executa inferência com o modelo YOLO-NAS-s na imagem 'bus.jpg' + results = model('caminho/para/bus.jpg') + ``` + + === "CLI" + + Comandos de CLI estão disponíveis para executar diretamente os modelos: + + ```bash + # Carrega um modelo YOLO-NAS-s pré-treinado no COCO e valida seu desempenho no conjunto de dados de exemplo COCO8 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # Carrega um modelo YOLO-NAS-s pré-treinado no COCO e executa inferência na imagem 'bus.jpg' + yolo predict model=yolo_nas_s.pt source=caminho/para/bus.jpg + ``` + +## Tarefas e Modos Compatíveis + +Oferecemos três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi projetada para atender a diferentes necessidades computacionais e de desempenho: + +- **YOLO-NAS-s**: Otimizado para ambientes com recursos computacionais limitados, mas eficiência é fundamental. +- **YOLO-NAS-m**: Oferece uma abordagem equilibrada, adequada para detecção de objetos em geral com maior precisão. +- **YOLO-NAS-l**: Adaptado para cenários que requerem a maior precisão, onde os recursos computacionais são menos restritos. + +Abaixo está uma visão geral detalhada de cada modelo, incluindo links para seus pesos pré-treinados, as tarefas que eles suportam e sua compatibilidade com diferentes modos de operação. + +| Tipo de Modelo | Pesos Pré-Treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|----------------|-----------------------------------------------------------------------------------------------|-------------------------------------------|------------|-----------|-------------|------------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## Citações e Agradecimentos + +Se você utilizar o YOLO-NAS em seus estudos ou trabalho de desenvolvimento, por favor, cite o SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Expressamos nossa gratidão à equipe [SuperGradients](https://github.com/Deci-AI/super-gradients/) da Deci AI por seus esforços na criação e manutenção deste recurso valioso para a comunidade de visão computacional. Acreditamos que o YOLO-NAS, com sua arquitetura inovadora e capacidades superiores de detecção de objetos, se tornará uma ferramenta fundamental para desenvolvedores e pesquisadores. + +*keywords: YOLO-NAS, Deci AI, detecção de objetos, aprendizado profundo, busca de arquitetura neural, API do Ultralytics Python, modelo YOLO, SuperGradients, modelos pré-treinados, bloco básico amigável para quantização, esquemas avançados de treinamento, quantização pós-treinamento, otimização AutoNAC, COCO, Objects365, Roboflow 100* diff --git a/docs/pt/models/yolov3.md b/docs/pt/models/yolov3.md new file mode 100644 index 00000000000..f706d99b670 --- /dev/null +++ b/docs/pt/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: Obtenha uma visão geral do YOLOv3, YOLOv3-Ultralytics e YOLOv3u. Saiba mais sobre suas principais características, uso e tarefas suportadas para detecção de objetos. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Detecção de Objetos, Inferência, Treinamento, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics, e YOLOv3u + +## Visão Geral + +Este documento apresenta uma visão geral de três modelos de detecção de objetos intimamente relacionados, nomeadamente o [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) e [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3:** Esta é a terceira versão do algoritmo de detecção de objetos You Only Look Once (YOLO). Originalmente desenvolvido por Joseph Redmon, o YOLOv3 melhorou seus predecessores ao introduzir recursos como previsões em várias escalas e três tamanhos diferentes de kernels de detecção. + +2. **YOLOv3-Ultralytics:** Esta é a implementação do YOLOv3 pela Ultralytics. Ela reproduz a arquitetura original do YOLOv3 e oferece funcionalidades adicionais, como suporte para mais modelos pré-treinados e opções de personalização mais fáceis. + +3. **YOLOv3u:** Esta é uma versão atualizada do YOLOv3-Ultralytics que incorpora o cabeçalho dividido livre de âncoras e sem "objectness" usado nos modelos YOLOv8. O YOLOv3u mantém a mesma arquitetura de "backbone" e "neck" do YOLOv3, mas com o cabeçalho de detecção atualizado do YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## Principais Características + +- **YOLOv3:** Introduziu o uso de três escalas diferentes para detecção, aproveitando três tamanhos diferentes de kernels de detecção: 13x13, 26x26 e 52x52. Isso melhorou significativamente a precisão da detecção para objetos de diferentes tamanhos. Além disso, o YOLOv3 adicionou recursos como previsões multi-rótulos para cada caixa delimitadora e uma rede de extração de características melhor. + +- **YOLOv3-Ultralytics:** A implementação do YOLOv3 pela Ultralytics oferece o mesmo desempenho do modelo original, porém possui suporte adicional para mais modelos pré-treinados, métodos de treinamento adicionais e opções de personalização mais fáceis. Isso torna o modelo mais versátil e fácil de usar para aplicações práticas. + +- **YOLOv3u:** Este modelo atualizado incorpora o cabeçalho dividido livre de âncoras e "objectness" do YOLOv8. Ao eliminar a necessidade de caixas de âncoras pré-definidas e pontuações de "objectness", esse design de cabeçalho de detecção pode melhorar a capacidade do modelo de detectar objetos de tamanhos e formatos variados. Isso torna o YOLOv3u mais robusto e preciso para tarefas de detecção de objetos. + +## Tarefas e Modos Suportados + +A série YOLOv3, incluindo YOLOv3, YOLOv3-Ultralytics e YOLOv3u, foi projetada especificamente para tarefas de detecção de objetos. Esses modelos são conhecidos por sua eficácia em vários cenários do mundo real, equilibrando precisão e velocidade. Cada variante oferece recursos e otimizações únicos, tornando-os adequados para uma variedade de aplicações. + +Os três modelos suportam um conjunto abrangente de modos, garantindo versatilidade em várias etapas do desenvolvimento e implantação de modelos. Esses modos incluem [Inferência](../modes/predict.md), [Validação](../modes/val.md), [Treinamento](../modes/train.md) e [Exportação](../modes/export.md), fornecendo aos usuários um conjunto completo de ferramentas para detecção eficaz de objetos. + +| Tipo de Modelo | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|--------------------|-------------------------------------------|------------|-----------|-------------|------------| +| YOLOv3 | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabela fornece uma visão rápida das capacidades de cada variante do YOLOv3, destacando sua versatilidade e adequação para várias tarefas e modos operacionais em fluxos de trabalho de detecção de objetos. + +## Exemplos de Uso + +Este exemplo apresenta exemplos simples de treinamento e inferência do YOLOv3. Para obter documentação completa sobre esses e outros [modos](../modes/index.md), consulte as páginas de documentação do [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md). + +!!! Example "Exemplo" + + === "Python" + + Modelos pré-treinados do PyTorch `*.pt`, bem como arquivos de configuração `*.yaml`, podem ser passados para a classe `YOLO()` para criar uma instância do modelo em Python: + + ```python + from ultralytics import YOLO + + # Carregue um modelo YOLOv3n pré-treinado na COCO + model = YOLO('yolov3n.pt') + + # Exiba informações sobre o modelo (opcional) + model.info() + + # Treine o modelo no conjunto de dados de exemplo COCO8 por 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Execute inferência com o modelo YOLOv3n na imagem 'bus.jpg' + results = model('caminho/para/bus.jpg') + ``` + + === "CLI" + + Comandos CLI estão disponíveis para executar diretamente os modelos: + + ```bash + # Carregue um modelo YOLOv3n pré-treinado na COCO e treine-o no conjunto de dados de exemplo COCO8 por 100 épocas + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Carregue um modelo YOLOv3n pré-treinado na COCO e execute inferência na imagem 'bus.jpg' + yolo predict model=yolov3n.pt source=caminho/para/bus.jpg + ``` + +## Citações e Reconhecimentos + +Se você utilizar o YOLOv3 em sua pesquisa, por favor, cite os artigos originais do YOLO e o repositório Ultralytics YOLOv3: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Agradecemos a Joseph Redmon e Ali Farhadi por desenvolverem o YOLOv3 original. diff --git a/docs/pt/models/yolov4.md b/docs/pt/models/yolov4.md new file mode 100644 index 00000000000..c05c196dc8f --- /dev/null +++ b/docs/pt/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: Explore nosso guia detalhado sobre o YOLOv4, um detector de objetos em tempo real de última geração. Entenda seus destaques arquiteturais, recursos inovadores e exemplos de aplicação. +keywords: ultralytics, YOLOv4, detecção de objetos, rede neural, detecção em tempo real, detector de objetos, aprendizado de máquina +--- + +# YOLOv4: Detecção de Objetos Rápida e Precisa + +Bem-vindo à página de documentação do Ultralytics para o YOLOv4, um detector de objetos em tempo real de última geração lançado em 2020 por Alexey Bochkovskiy em [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). O YOLOv4 foi projetado para fornecer o equilíbrio ideal entre velocidade e precisão, tornando-o uma excelente escolha para muitas aplicações. + +![Diagrama da arquitetura do YOLOv4](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**Diagrama da arquitetura do YOLOv4**. Mostra o design intricado da rede do YOLOv4, incluindo os componentes backbone, neck e head, bem como suas camadas interconectadas para uma detecção de objetos em tempo real otimizada. + +## Introdução + +YOLOv4 significa You Only Look Once versão 4. É um modelo de detecção de objetos em tempo real desenvolvido para superar as limitações de versões anteriores do YOLO, como [YOLOv3](yolov3.md) e outros modelos de detecção de objetos. Ao contrário de outros detectores de objetos baseados em redes neurais convolucionais (CNN), o YOLOv4 é aplicável não apenas a sistemas de recomendação, mas também ao gerenciamento de processos independentes e à redução da entrada humana. Sua operação em unidades de processamento gráfico (GPUs) convencionais permite o uso em massa a um preço acessível, e foi projetado para funcionar em tempo real em uma GPU convencional, exigindo apenas uma GPU para treinamento. + +## Arquitetura + +O YOLOv4 faz uso de várias características inovadoras que trabalham juntas para otimizar seu desempenho. Estas incluem Conexões Residuais Ponderadas (WRC), Conexões Parciais Cruzadas de Estágio (CSP), Normalização Cruzada em Mini Lote (CmBN), Treinamento Autoadversário (SAT), Ativação Mish, Aumento de Dados Mosaic, Regularização DropBlock e Perda CIoU. Essas características são combinadas para obter resultados de última geração. + +Um detector de objetos típico é composto por várias partes, incluindo a entrada, o backbone, o neck e o head. O backbone do YOLOv4 é pré-treinado no ImageNet e é usado para prever as classes e caixas delimitadoras dos objetos. O backbone pode ser de vários modelos, incluindo VGG, ResNet, ResNeXt ou DenseNet. A parte neck do detector é usada para coletar mapas de características de diferentes estágios e geralmente inclui várias caminhadas bottom-up e várias caminhadas top-down. A parte head é responsável por fazer as detecções e classificações finais dos objetos. + +## Bag of Freebies + +O YOLOv4 também faz uso de métodos conhecidos como "bag of freebies" (saco de brindes), que são técnicas que melhoram a precisão do modelo durante o treinamento sem aumentar o custo da inferência. O aumento de dados é uma técnica comum de "bag of freebies" usada na detecção de objetos, que aumenta a variabilidade das imagens de entrada para melhorar a robustez do modelo. Alguns exemplos de aumento de dados incluem distorções fotométricas (ajustando o brilho, contraste, matiz, saturação e ruído de uma imagem) e distorções geométricas (adicionando dimensionamento aleatório, recorte, espelhamento e rotação). Essas técnicas ajudam o modelo a generalizar melhor para diferentes tipos de imagens. + +## Recursos e Desempenho + +O YOLOv4 foi projetado para oferecer velocidade e precisão ideais na detecção de objetos. A arquitetura do YOLOv4 inclui o CSPDarknet53 como o backbone, o PANet como o neck e o YOLOv3 como a cabeça de detecção. Esse design permite que o YOLOv4 realize detecção de objetos em uma velocidade impressionante, tornando-o adequado para aplicações em tempo real. O YOLOv4 também se destaca em termos de precisão, alcançando resultados de última geração em benchmarks de detecção de objetos. + +## Exemplos de Uso + +No momento da escrita, o Ultralytics não oferece suporte a modelos YOLOv4. Portanto, os usuários interessados em usar o YOLOv4 deverão consultar diretamente o repositório YOLOv4 no GitHub para instruções de instalação e uso. + +Aqui está uma breve visão geral das etapas típicas que você pode seguir para usar o YOLOv4: + +1. Visite o repositório YOLOv4 no GitHub: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. Siga as instruções fornecidas no arquivo README para a instalação. Isso geralmente envolve clonar o repositório, instalar as dependências necessárias e configurar as variáveis de ambiente necessárias. + +3. Uma vez que a instalação esteja completa, você pode treinar e usar o modelo de acordo com as instruções de uso fornecidas no repositório. Isso geralmente envolve a preparação do seu conjunto de dados, a configuração dos parâmetros do modelo, o treinamento do modelo e, em seguida, o uso do modelo treinado para realizar a detecção de objetos. + +Observe que as etapas específicas podem variar dependendo do seu caso de uso específico e do estado atual do repositório YOLOv4. Portanto, é altamente recomendável consultar diretamente as instruções fornecidas no repositório YOLOv4 do GitHub. + +Lamentamos qualquer inconveniente que isso possa causar e nos esforçaremos para atualizar este documento com exemplos de uso para o Ultralytics assim que o suporte para o YOLOv4 for implementado. + +## Conclusão + +O YOLOv4 é um modelo poderoso e eficiente de detecção de objetos que oferece um equilíbrio entre velocidade e precisão. O uso de recursos exclusivos e técnicas "Bag of Freebies" durante o treinamento permite que ele tenha um excelente desempenho em tarefas de detecção de objetos em tempo real. O YOLOv4 pode ser treinado e usado por qualquer pessoa com uma GPU convencional, tornando-o acessível e prático para uma ampla variedade de aplicações. + +## Referências e Agradecimentos + +Gostaríamos de agradecer aos autores do YOLOv4 por suas contribuições significativas no campo da detecção de objetos em tempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +O artigo original do YOLOv4 pode ser encontrado no [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Os autores disponibilizaram seu trabalho publicamente, e o código pode ser acessado no [GitHub](https://github.com/AlexeyAB/darknet). Agradecemos seus esforços em avançar o campo e tornar seu trabalho acessível à comunidade em geral. diff --git a/docs/pt/models/yolov5.md b/docs/pt/models/yolov5.md new file mode 100644 index 00000000000..942b1d43a30 --- /dev/null +++ b/docs/pt/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: Descubra o YOLOv5u, uma versão aprimorada do modelo YOLOv5 com uma relação aprimorada entre precisão e velocidade e vários modelos pré-treinados para várias tarefas de detecção de objetos. +keywords: YOLOv5u, detecção de objetos, modelos pré-treinados, Ultralytics, Inferência, Validação, YOLOv5, YOLOv8, sem âncora, sem certeza de objectness, aplicativos em tempo real, machine learning +--- + +# YOLOv5 + +## Visão Geral + +O YOLOv5u representa um avanço nas metodologias de detecção de objetos. Originário da arquitetura fundamental do modelo [YOLOv5](https://github.com/ultralytics/yolov5) desenvolvido pela Ultralytics, o YOLOv5u integra a divisão da cabeça do Ultralytics sem âncora e sem certeza de objectness, uma formação introduzida anteriormente nos modelos [YOLOv8](yolov8.md). Essa adaptação aprimora a arquitetura do modelo, resultando em uma relação aprimorada entre precisão e velocidade em tarefas de detecção de objetos. Com base nos resultados empíricos e em suas características derivadas, o YOLOv5u oferece uma alternativa eficiente para aqueles que procuram soluções robustas tanto na pesquisa quanto em aplicações práticas. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## Principais Recursos + +- **Cabeça do Ultralytics sem Âncora:** Modelos tradicionais de detecção de objetos dependem de caixas âncora predefinidas para prever as localizações dos objetos. No entanto, o YOLOv5u moderniza essa abordagem. Ao adotar uma cabeça do Ultralytics sem âncora, ele garante um mecanismo de detecção mais flexível e adaptável, melhorando consequentemente o desempenho em cenários diversos. + +- **Equilíbrio otimizado entre precisão e velocidade:** Velocidade e precisão muitas vezes puxam em direções opostas. Mas o YOLOv5u desafia esse equilíbrio. Ele oferece um equilíbrio calibrado, garantindo detecções em tempo real sem comprometer a precisão. Esse recurso é particularmente valioso para aplicativos que exigem respostas rápidas, como veículos autônomos, robótica e análise de vídeo em tempo real. + +- **Variedade de Modelos Pré-Treinados:** Entendendo que diferentes tarefas exigem conjuntos de ferramentas diferentes, o YOLOv5u oferece uma variedade de modelos pré-treinados. Se você está focado em Inferência, Validação ou Treinamento, há um modelo personalizado esperando por você. Essa variedade garante que você não esteja apenas usando uma solução genérica, mas sim um modelo ajustado especificamente para o seu desafio único. + +## Tarefas e Modos Suportados + +Os modelos YOLOv5u, com vários pesos pré-treinados, se destacam nas tarefas de [Detecção de Objetos](../tasks/detect.md). Eles suportam uma ampla gama de modos, tornando-os adequados para aplicações diversas, desde o desenvolvimento até a implantação. + +| Tipo de Modelo | Pesos Pré-Treinados | Tarefa | Inferência | Validação | Treinamento | Exportação | +|----------------|-----------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|------------|-----------|-------------|------------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Essa tabela oferece uma visão detalhada das variantes do modelo YOLOv5u, destacando sua aplicabilidade em tarefas de detecção de objetos e suporte a diversos modos operacionais, como [Inferência](../modes/predict.md), [Validação](../modes/val.md), [Treinamento](../modes/train.md) e [Exportação](../modes/export.md). Esse suporte abrangente garante que os usuários possam aproveitar totalmente as capacidades dos modelos YOLOv5u em uma ampla gama de cenários de detecção de objetos. + +## Métricas de Desempenho + +!!! Desempenho + + === "Detecção" + + Consulte a [Documentação de Detecção](https://docs.ultralytics.com/tasks/detect/) para exemplos de uso com esses modelos treinados no conjunto de dados [COCO](https://docs.ultralytics.com/datasets/detect/coco/), que incluem 80 classes pré-treinadas. + + | Modelo | YAML | tamanho
(pixels) | mAPval
50-95 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) | + | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------| -------------------------| ----------------------| -------------------------------------| -------------------------------------- | ---------------------- | ----------------- | + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## Exemplos de Uso + +Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv5. Para documentação completa sobre esses e outros [modos](../modes/index.md), consulte as páginas de documentação [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md). + +!!! Example "Exemplo" + + === "Python" + + Modelos pré-treinados `*.pt` do PyTorch, assim como os arquivos de configuração `*.yaml`, podem ser passados para a classe `YOLO()` para criar uma instância do modelo em Python: + + ```python + from ultralytics import YOLO + + # Carrega um modelo YOLOv5n pré-treinado no COCO + modelo = YOLO('yolov5n.pt') + + # Mostra informações do modelo (opcional) + modelo.info() + + # Treina o modelo no conjunto de dados de exemplo COCO8 por 100 épocas + resultados = modelo.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Executa a inferência com o modelo YOLOv5n na imagem 'bus.jpg' + resultados = modelo('path/to/bus.jpg') + ``` + + === "CLI" + + Comandos CLI estão disponíveis para executar diretamente os modelos: + + ```bash + # Carrega um modelo YOLOv5n pré-treinado no COCO e o treina no conjunto de dados de exemplo COCO8 por 100 épocas + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Carrega um modelo YOLOv5n pré-treinado no COCO e executa a inferência na imagem 'bus.jpg' + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## Citações e Agradecimentos + +Se você usar o YOLOv5 ou YOLOv5u em sua pesquisa, por favor, cite o repositório YOLOv5 da Ultralytics da seguinte forma: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +Observe que os modelos YOLOv5 são fornecidos sob licenças [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) e [Enterprise](https://ultralytics.com/license). diff --git a/docs/pt/models/yolov6.md b/docs/pt/models/yolov6.md new file mode 100644 index 00000000000..4db8e46f229 --- /dev/null +++ b/docs/pt/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: Explore Meituan YOLOv6, um modelo avançado de detecção de objetos que alcança um equilíbrio entre velocidade e precisão. Saiba mais sobre suas características, modelos pré-treinados e uso em Python. +keywords: Meituan YOLOv6, detecção de objetos, Ultralytics, documentação YOLOv6, Concatenação Bidirecional, Treinamento Assistido por Âncora, modelos pré-treinados, aplicações em tempo real +--- + +# Meituan YOLOv6 + +## Visão Geral + +O Meituan YOLOv6 é um detector de objetos de ponta que oferece um equilíbrio notável entre velocidade e precisão, tornando-se uma escolha popular para aplicações em tempo real. Este modelo apresenta várias melhorias em sua arquitetura e esquema de treinamento, incluindo a implementação de um módulo de Concatenação Bidirecional (BiC), uma estratégia de treinamento assistido por âncora (AAT) e um design aprimorado de espinha dorsal e pescoço para obter precisão de última geração no conjunto de dados COCO. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Modelo exemplo de imagem](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**Visão geral do YOLOv6.** Diagrama da arquitetura do modelo mostrando os componentes de rede redesenhados e as estratégias de treinamento que levaram a melhorias significativas no desempenho. (a) O pescoço do YOLOv6 (N e S são mostrados). RepBlocks é substituída por CSPStackRep para M/L. (b) A estrutura de um módulo BiC. (c) Um bloco SimCSPSPPF. ([fonte](https://arxiv.org/pdf/2301.05586.pdf)). + +### Principais Características + +- **Módulo de Concatenação Bidirecional (BiC):** O YOLOv6 introduz um módulo BiC no pescoço do detector, aprimorando os sinais de localização e oferecendo ganhos de desempenho com uma degradação de velocidade insignificante. +- **Estratégia de Treinamento Assistido por Âncora (AAT):** Este modelo propõe AAT para aproveitar os benefícios dos paradigmas baseados em âncoras e sem âncoras sem comprometer a eficiência da inferência. +- **Design de Espinha Dorsal e Pescoço Aprimorado:** Ao aprofundar o YOLOv6 para incluir mais uma etapa na espinha dorsal e no pescoço, este modelo alcança desempenho de última geração no conjunto de dados COCO com entrada de alta resolução. +- **Estratégia de Auto-Destilação:** Uma nova estratégia de auto-destilação é implementada para aumentar o desempenho de modelos menores do YOLOv6, aprimorando o ramo auxiliar de regressão durante o treinamento e removendo-o durante a inferência para evitar uma queda significativa na velocidade. + +## Métricas de Desempenho + +O YOLOv6 fornece vários modelos pré-treinados com diferentes escalas: + +- YOLOv6-N: 37,5% AP na val2017 do COCO a 1187 FPS com GPU NVIDIA Tesla T4. +- YOLOv6-S: 45,0% de AP a 484 FPS. +- YOLOv6-M: 50,0% de AP a 226 FPS. +- YOLOv6-L: 52,8% de AP a 116 FPS. +- YOLOv6-L6: Precisão de última geração em tempo real. + +O YOLOv6 também fornece modelos quantizados para diferentes precisões e modelos otimizados para plataformas móveis. + +## Exemplos de Uso + +Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv6. Para documentação completa sobre esses e outros [modos](../modes/index.md), consulte as páginas de documentação [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md). + +!!! Example "Exemplo" + + === "Python" + + Modelos pré-treinados `*.pt` do PyTorch, assim como arquivos de configuração `*.yaml`, podem ser passados à classe `YOLO()` para criar uma instância do modelo em Python: + + ```python + from ultralytics import YOLO + + # Constrói um modelo YOLOv6n do zero + model = YOLO('yolov6n.yaml') + + # Exibe informações do modelo (opcional) + model.info() + + # Treina o modelo no conjunto de dados de exemplo COCO8 por 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Executa inferência com o modelo YOLOv6n na imagem 'bus.jpg' + results = model('caminho/para/onibus.jpg') + ``` + + === "CLI" + + Comandos da CLI estão disponíveis para executar diretamente os modelos: + + ```bash + # Constrói um modelo YOLOv6n do zero e o treina no conjunto de dados de exemplo COCO8 por 100 épocas + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # Constrói um modelo YOLOv6n do zero e executa inferência na imagem 'bus.jpg' + yolo predict model=yolov6n.yaml source=caminho/para/onibus.jpg + ``` + +## Tarefas e Modos Suportados + +A série YOLOv6 oferece uma variedade de modelos, cada um otimizado para [Detecção de Objetos](../tasks/detect.md) de alta performance. Esses modelos atendem a diferentes necessidades computacionais e requisitos de precisão, tornando-os versáteis para uma ampla variedade de aplicações. + +| Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | +|----------------|---------------------|-------------------------------------------|------------|-----------|-------------|------------| +| YOLOv6-N | `yolov6-n.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv6, destacando suas capacidades em tarefas de detecção de objetos e sua compatibilidade com vários modos operacionais, como [inferência](../modes/predict.md), [validação](../modes/val.md), [treinamento](../modes/train.md) e [exportação](../modes/export.md). Esse suporte abrangente garante que os usuários possam aproveitar totalmente as capacidades dos modelos YOLOv6 em uma ampla gama de cenários de detecção de objetos. + +## Citações e Agradecimentos + +Gostaríamos de agradecer aos autores por suas contribuições significativas no campo da detecção de objetos em tempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + O artigo original do YOLOv6 pode ser encontrado no [arXiv](https://arxiv.org/abs/2301.05586). Os autores disponibilizaram publicamente seu trabalho, e o código pode ser acessado no [GitHub](https://github.com/meituan/YOLOv6). Agradecemos seus esforços em avançar no campo e disponibilizar seu trabalho para a comunidade em geral. diff --git a/docs/pt/models/yolov7.md b/docs/pt/models/yolov7.md new file mode 100644 index 00000000000..69896b9e355 --- /dev/null +++ b/docs/pt/models/yolov7.md @@ -0,0 +1,66 @@ +--- +comments: true +description: Explore o YOLOv7, um detector de objetos em tempo real. Entenda sua velocidade superior, impressionante precisão e foco exclusivo em otimização treinável de recursos gratuitos. +keywords: YOLOv7, detector de objetos em tempo real, state-of-the-art, Ultralytics, conjunto de dados MS COCO, reparametrização de modelo, atribuição dinâmica de rótulo, escalonamento estendido, escalonamento composto +--- + +# YOLOv7: Treinável Bag-of-Freebies + +O YOLOv7 é um detector de objetos em tempo real state-of-the-art que supera todos os detectores de objetos conhecidos em termos de velocidade e precisão na faixa de 5 FPS a 160 FPS. Ele possui a maior precisão (56,8% de AP) entre todos os detectores de objetos em tempo real conhecidos com 30 FPS ou mais no GPU V100. Além disso, o YOLOv7 supera outros detectores de objetos, como YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 e muitos outros em velocidade e precisão. O modelo é treinado no conjunto de dados MS COCO do zero, sem usar outros conjuntos de dados ou pesos pré-treinados. O código-fonte para o YOLOv7 está disponível no GitHub. + +![Comparação YOLOv7 com outros detectores de objetos](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**Comparação de detectores de objetos state-of-the-art. +** A partir dos resultados na Tabela 2, sabemos que o método proposto tem a melhor relação velocidade-precisão de forma abrangente. Se compararmos o YOLOv7-tiny-SiLU com o YOLOv5-N (r6.1), nosso método é 127 FPS mais rápido e 10,7% mais preciso em AP. Além disso, o YOLOv7 tem 51,4% de AP em uma taxa de quadros de 161 FPS, enquanto o PPYOLOE-L com o mesmo AP tem apenas uma taxa de quadros de 78 FPS. Em termos de uso de parâmetros, o YOLOv7 é 41% menor do que o PPYOLOE-L. Se compararmos o YOLOv7-X com uma velocidade de inferência de 114 FPS com o YOLOv5-L (r6.1) com uma velocidade de inferência de 99 FPS, o YOLOv7-X pode melhorar o AP em 3,9%. Se o YOLOv7-X for comparado com o YOLOv5-X (r6.1) de escala similar, a velocidade de inferência do YOLOv7-X é 31 FPS mais rápida. Além disso, em termos da quantidade de parâmetros e cálculos, o YOLOv7-X reduz 22% dos parâmetros e 8% dos cálculos em comparação com o YOLOv5-X (r6.1), mas melhora o AP em 2,2% ([Fonte](https://arxiv.org/pdf/2207.02696.pdf)). + +## Visão Geral + +A detecção de objetos em tempo real é um componente importante em muitos sistemas de visão computacional, incluindo rastreamento de múltiplos objetos, direção autônoma, robótica e análise de imagens médicas. Nos últimos anos, o desenvolvimento de detecção de objetos em tempo real tem se concentrado em projetar arquiteturas eficientes e melhorar a velocidade de inferência de várias CPUs, GPUs e unidades de processamento neural (NPUs). O YOLOv7 suporta tanto GPUs móveis quanto dispositivos GPU, desde a borda até a nuvem. + +Ao contrário dos detectores de objetos em tempo real tradicionais que se concentram na otimização de arquitetura, o YOLOv7 introduz um foco na otimização do processo de treinamento. Isso inclui módulos e métodos de otimização projetados para melhorar a precisão da detecção de objetos sem aumentar o custo de inferência, um conceito conhecido como "treinável bag-of-freebies". + +## Recursos Principais + +O YOLOv7 apresenta vários recursos principais: + +1. **Reparametrização do Modelo**: O YOLOv7 propõe um modelo reparametrizado planejado, que é uma estratégia aplicável a camadas em diferentes redes com o conceito de caminho de propagação de gradiente. + +2. **Atribuição Dinâmica de Rótulo**: O treinamento do modelo com várias camadas de saída apresenta um novo problema: "Como atribuir alvos dinâmicos para as saídas de diferentes ramificações?" Para resolver esse problema, o YOLOv7 introduz um novo método de atribuição de rótulo chamado atribuição de rótulo orientada por liderança de granularidade fina (coarse-to-fine). + +3. **Escalonamento Estendido e Composto**: O YOLOv7 propõe métodos de "escalonamento estendido" e "escalonamento composto" para o detector de objetos em tempo real que podem utilizar efetivamente parâmetros e cálculos. + +4. **Eficiência**: O método proposto pelo YOLOv7 pode reduzir efetivamente cerca de 40% dos parâmetros e 50% dos cálculos do detector de objetos em tempo real state-of-the-art, além de apresentar uma velocidade de inferência mais rápida e maior precisão de detecção. + +## Exemplos de Uso + +No momento em que este texto foi escrito, a Ultralytics ainda não oferece suporte aos modelos YOLOv7. Portanto, qualquer usuário interessado em usar o YOLOv7 precisará se referir diretamente ao repositório do YOLOv7 no GitHub para obter instruções de instalação e uso. + +Aqui está uma breve visão geral das etapas típicas que você pode seguir para usar o YOLOv7: + +1. Acesse o repositório do YOLOv7 no GitHub: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. Siga as instruções fornecidas no arquivo README para a instalação. Isso normalmente envolve clonar o repositório, instalar as dependências necessárias e configurar quaisquer variáveis de ambiente necessárias. + +3. Após a conclusão da instalação, você pode treinar e usar o modelo conforme as instruções de uso fornecidas no repositório. Isso geralmente envolve a preparação do conjunto de dados, a configuração dos parâmetros do modelo, o treinamento do modelo e, em seguida, o uso do modelo treinado para realizar a detecção de objetos. + +Observe que as etapas específicas podem variar dependendo do caso de uso específico e do estado atual do repositório do YOLOv7. Portanto, é altamente recomendável consultar diretamente as instruções fornecidas no repositório do YOLOv7 no GitHub. + +Lamentamos qualquer inconveniente que isso possa causar e nos esforçaremos para atualizar este documento com exemplos de uso para a Ultralytics assim que o suporte para o YOLOv7 for implementado. + +## Citações e Agradecimentos + +Gostaríamos de agradecer aos autores do YOLOv7 por suas contribuições significativas no campo da detecção de objetos em tempo real: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +O artigo original do YOLOv7 pode ser encontrado no [arXiv](https://arxiv.org/pdf/2207.02696.pdf). Os autores disponibilizaram publicamente seu trabalho, e o código pode ser acessado no [GitHub](https://github.com/WongKinYiu/yolov7). Agradecemos seus esforços em avançar o campo e tornar seu trabalho acessível à comunidade em geral. diff --git a/docs/pt/models/yolov8.md b/docs/pt/models/yolov8.md new file mode 100644 index 00000000000..0240a43e5f7 --- /dev/null +++ b/docs/pt/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: Explore as emocionantes características do YOLOv8, a versão mais recente do nosso detector de objetos em tempo real! Saiba como as arquiteturas avançadas, modelos pré-treinados e o equilíbrio ideal entre precisão e velocidade tornam o YOLOv8 a escolha perfeita para as suas tarefas de detecção de objetos. +keywords: YOLOv8, Ultralytics, detector de objetos em tempo real, modelos pré-treinados, documentação, detecção de objetos, série YOLO, arquiteturas avançadas, precisão, velocidade +--- + +# YOLOv8 + +## Visão Geral + +O YOLOv8 é a versão mais recente da série YOLO de detectores de objetos em tempo real, oferecendo um desempenho de ponta em termos de precisão e velocidade. Construindo sobre as inovações das versões anteriores do YOLO, o YOLOv8 introduz novas características e otimizações que o tornam uma escolha ideal para diversas tarefas de detecção de objetos em uma ampla variedade de aplicações. + +![YOLOv8 da Ultralytics](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## Principais Características + +- **Arquiteturas Avançadas de Backbone e Neck:** O YOLOv8 utiliza arquiteturas avançadas de backbone e neck, resultando em uma melhor extração de características e desempenho na detecção de objetos. +- **Anchor-free Split Ultralytics Head:** O YOLOv8 adota um head Ultralytics dividido sem ancoragem, o que contribui para uma melhor precisão e um processo de detecção mais eficiente em comparação com abordagens baseadas em âncoras. +- **Equilíbrio Otimizado entre Precisão e Velocidade:** Com foco em manter um equilíbrio ideal entre precisão e velocidade, o YOLOv8 é adequado para tarefas de detecção de objetos em tempo real em diversas áreas de aplicação. +- **Variedade de Modelos Pré-treinados:** O YOLOv8 oferece uma variedade de modelos pré-treinados para atender a diversas tarefas e requisitos de desempenho, tornando mais fácil encontrar o modelo adequado para o seu caso de uso específico. + +## Tarefas e Modos Suportados + +A série YOLOv8 oferece uma variedade de modelos, cada um especializado em tarefas específicas de visão computacional. Esses modelos são projetados para atender a diversos requisitos, desde a detecção de objetos até tarefas mais complexas, como segmentação de instâncias, detecção de poses/pontos-chave e classificação. + +Cada variante da série YOLOv8 é otimizada para a respectiva tarefa, garantindo alto desempenho e precisão. Além disso, esses modelos são compatíveis com diversos modos operacionais, incluindo [Inferência](../modes/predict.md), [Validação](../modes/val.md), [Treinamento](../modes/train.md) e [Exportação](../modes/export.md), facilitando o uso em diferentes estágios de implantação e desenvolvimento. + +| Modelo | Nomes de Arquivo | Tarefa | Inferência | Validação | Treinamento | Exportação | +|-------------|----------------------------------------------------------------------------------------------------------------|--------------------------------------------------|------------|-----------|-------------|------------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Detecção](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Segmentação de Instâncias](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Pose/Pontos-chave](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Classificação](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +Esta tabela fornece uma visão geral das variantes de modelos YOLOv8, destacando suas aplicações em tarefas específicas e sua compatibilidade com diversos modos operacionais, como inferência, validação, treinamento e exportação. Ela demonstra a versatilidade e robustez da série YOLOv8, tornando-os adequados para diversas aplicações em visão computacional. + +## Métricas de Desempenho + +!!! Desempenho + + === "Detecção (COCO)" + + Consulte a [Documentação de Detecção](https://docs.ultralytics.com/tasks/detect/) para exemplos de uso com esses modelos treinados no conjunto de dados [COCO](https://docs.ultralytics.com/datasets/detect/coco/), que inclui 80 classes pré-treinadas. + + | Modelo | tamanho
(pixels) | mAPval
50-95 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) | + | --------------------------------------------------------------------------------------- | ----------------------- | -------------------- | ----------------------------------- | --------------------------------------- | ---------------------- | ------------------ | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37,3 | 80,4 | 0,99 | 3,2 | 8,7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44,9 | 128,4 | 1,20 | 11,2 | 28,6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50,2 | 234,7 | 1,83 | 25,9 | 78,9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52,9 | 375,2 | 2,39 | 43,7 | 165,2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53,9 | 479,1 | 3,53 | 68,2 | 257,8 | + + === "Detecção (Open Images V7)" + + Consulte a [Documentação de Detecção](https://docs.ultralytics.com/tasks/detect/) para exemplos de uso com esses modelos treinados no conjunto de dados [Open Images V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), que inclui 600 classes pré-treinadas. + + | Modelo | tamanho
(pixels) | mAPval
50-95 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) | + | ----------------------------------------------------------------------------------------- | ----------------------- | -------------------- | ----------------------------------- | --------------------------------------- | ---------------------- | ------------------ | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18,4 | 142,4 | 1,21 | 3,5 | 10,5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27,7 | 183,1 | 1,40 | 11,4 | 29,7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33,6 | 408,5 | 2,26 | 26,2 | 80,6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34,9 | 596,9 | 2,43 | 44,1 | 167,4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36,3 | 860,6 | 3,56 | 68,7 | 260,6 | + + === "Segmentação (COCO)" + + Consulte a [Documentação de Segmentação](https://docs.ultralytics.com/tasks/segment/) para exemplos de uso com esses modelos treinados no conjunto de dados [COCO](https://docs.ultralytics.com/datasets/segment/coco/), que inclui 80 classes pré-treinadas. + + | Modelo | tamanho
(pixels) | mAPbox
50-95 | mAPmáscara
50-95 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------- | ----------------------- | -------------------- | ------------------------ | ----------------------------------- | --------------------------------------- | ---------------------- | ------------------ | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36,7 | 30,5 | 96,1 | 1,21 | 3,4 | 12,6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44,6 | 36,8 | 155,7 | 1,47 | 11,8 | 42,6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49,9 | 40,8 | 317,0 | 2,18 | 27,3 | 110,2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52,3 | 42,6 | 572,4 | 2,79 | 46,0 | 220,5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53,4 | 43,4 | 712,1 | 4,02 | 71,8 | 344,1 | + + === "Classificação (ImageNet)" + + Consulte a [Documentação de Classificação](https://docs.ultralytics.com/tasks/classify/) para exemplos de uso com esses modelos treinados no conjunto de dados [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), que inclui 1000 classes pré-treinadas. + + | Modelo | tamanho
(pixels) | acurácia
top1 | acurácia
top5 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) a 640 | + | ------------------------------------------------------------------------------------------------ | ----------------------- | --------------------- | --------------------- | ----------------------------------- | --------------------------------------- | ---------------------- | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66,6 | 87,0 | 12,9 | 0,31 | 2,7 | 4,3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72,3 | 91,1 | 23,4 | 0,35 | 6,4 | 13,5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76,4 | 93,2 | 85,4 | 0,62 | 17,0 | 42,7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78,0 | 94,1 | 163,0 | 0,87 | 37,5 | 99,7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78,4 | 94,3 | 232,0 | 1,01 | 57,4 | 154,8 | + + === "Pose (COCO)" + + Consulte a [Documentação de Estimativa de Pose](https://docs.ultralytics.com/tasks/segment/) para exemplos de uso com esses modelos treinados no conjunto de dados [COCO](https://docs.ultralytics.com/datasets/pose/coco/), que inclui 1 classe pré-treinada, 'person'. + + | Modelo | tamanho
(pixels) | mAPpose
50-95 | mAPpose
50 | Velocidade
CPU ONNX
(ms) | Velocidade
A100 TensorRT
(ms) | parâmetros
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------- | ----------------------- | --------------------- | ------------------ | ----------------------------------- | --------------------------------------- | ---------------------- | ------------------ | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50,4 | 80,1 | 131,8 | 1,18 | 3,3 | 9,2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60,0 | 86,2 | 233,2 | 1,42 | 11,6 | 30,2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65,0 | 88,8 | 456,3 | 2,00 | 26,4 | 81,0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67,6 | 90,0 | 784,5 | 2,59 | 44,4 | 168,6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69,2 | 90,2 | 1607,1 | 3,73 | 69,4 | 263,2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71,6 | 91,2 | 4088,7 | 10,04 | 99,1 | 1066,4 | + +## Exemplos de Uso + +Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv8. Para a documentação completa desses e outros [modos](../modes/index.md), consulte as páginas de documentação [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md). + +Observe que o exemplo abaixo é para modelos YOLOv8 de [Detecção](../tasks/detect.md) para detecção de objetos. Para outras tarefas suportadas, consulte a documentação de [Segmentação](../tasks/segment.md), [Classificação](../tasks/classify.md) e [Pose](../tasks/pose.md). + +!!! Example "Exemplo" + + === "Python" + + Modelos pré-treinados `*.pt` PyTorch, bem como arquivos de configuração `*.yaml`, podem ser passados para a classe `YOLO()` para criar uma instância do modelo em Python: + + ```python + from ultralytics import YOLO + + # Carregar um modelo YOLOv8n pré-treinado para COCO + model = YOLO('yolov8n.pt') + + # Exibir informações do modelo (opcional) + model.info() + + # Treinar o modelo no exemplo de conjunto de dados COCO8 por 100 épocas + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Executar inferência com o modelo YOLOv8n na imagem 'bus.jpg' + results = model('caminho/para/bus.jpg') + ``` + + === "CLI" + + Comandos da CLI estão disponíveis para executar os modelos diretamente: + + ```bash + # Carregar um modelo YOLOv8n pré-treinado para COCO e treiná-lo no exemplo de conjunto de dados COCO8 por 100 épocas + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Carregar um modelo YOLOv8n pré-treinado para COCO e executar inferência na imagem 'bus.jpg' + yolo predict model=yolov8n.pt source=caminho/para/bus.jpg + ``` + +## Citações e Reconhecimentos + +Se você utilizar o modelo YOLOv8 ou qualquer outro software deste repositório em seu trabalho, por favor cite-o utilizando o formato abaixo: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +Observe que o DOI está pendente e será adicionado à citação assim que estiver disponível. Os modelos YOLOv8 são disponibilizados sob as licenças [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) e [Enterprise](https://ultralytics.com/license). diff --git a/docs/ru/models/fast-sam.md b/docs/ru/models/fast-sam.md new file mode 100644 index 00000000000..4756718b4d7 --- /dev/null +++ b/docs/ru/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: Исследуйте FastSAM, базирующуюся на CNN сегментацию объектов в реальном времени на изображениях. Улучшенное взаимодействие с пользователем, высокая вычислительная эффективность и применимость к различным задачам компьютерного зрения. +keywords: FastSAM, машинное обучение, решение на базе CNN, сегментация объектов, решение в реальном времени, Ultralytics, задачи компьютерного зрения, обработка изображений, применение в промышленности, пользовательское взаимодействие +--- + +# Модель Fast Segment Anything (FastSAM) + +Модель Fast Segment Anything (FastSAM) - это новаторское решение на базе CNN, предназначенное для решения задачи сегментации объектов в реальном времени. Эта задача разработана для сегментации любого объекта на изображении на основе различных возможных запросов пользователя. FastSAM значительно снижает вычислительные требования, при этом сохраняя конкурентоспособность работы, что делает ее практически подходящей для различных задач компьютерного зрения. + +![Обзор архитектуры модели Fast Segment Anything (FastSAM)](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## Обзор + +FastSAM разработана для преодоления ограничений [модели Segment Anything (SAM)](sam.md), тяжелой модели Transformer, требующей значительных вычислительных ресурсов. FastSAM разделяет задачу сегментации объектов на два последовательных этапа: сегментация всех экземпляров и выбор, основанный на запросах пользователя. На первом этапе используется [YOLOv8-seg](../tasks/segment.md) для создания сегментационных масок всех экземпляров на изображении. На втором этапе модель выводит область интереса, соответствующую запросу. + +## Основные особенности + +1. **Решение в реальном времени:** Благодаря эффективности вычислений на базе CNN, FastSAM обеспечивает решение задачи сегментации объектов в реальном времени, что делает ее ценной для применения в промышленных приложениях, требующих быстрых результатов. + +2. **Эффективность и производительность:** FastSAM обеспечивает значительное снижение вычислительных и ресурсных требований, не ухудшая качество работы. Она достигает сопоставимой производительности с моделью SAM, но требует значительно меньше вычислительных ресурсов, что позволяет использовать ее в реальном времени. + +3. **Сегментация на основе запросов пользователя:** FastSAM может выполнять сегментацию любого объекта на изображении, основываясь на различных возможных запросах пользователя, что обеспечивает гибкость и приспособляемость к различным сценариям. + +4. **Основана на YOLOv8-seg:** FastSAM основана на модели [YOLOv8-seg](../tasks/segment.md), которая является детектором объектов с ветвью сегментации экземпляров. Это позволяет ей эффективно создавать сегментационные маски всех экземпляров на изображении. + +5. **Высокие результаты на показателях:** При выполнении задачи предложения объектов на наборе данных MS COCO FastSAM достигает высоких показателей производительности при значительно большей скорости работы, чем [SAM](sam.md) на одном графическом процессоре NVIDIA RTX 3090, что свидетельствует о ее эффективности и способности. + +6. **Практическое применение:** Предложенный подход предоставляет новое практическое решение для большого количества задач компьютерного зрения с очень высокой скоростью, в десятки или сотни раз превышающей скорость существующих методов. + +7. **Возможность сжатия модели:** FastSAM демонстрирует возможность существенно снизить вычислительные затраты, введя искусственное преимущество в структуру модели, открывая новые возможности для создания крупномасштабных архитектур моделей для общих задач компьютерного зрения. + +## Доступные модели, поддерживаемые задачи и режимы работы + +В следующей таблице представлены доступные модели с их конкретными заранее обученными весами, поддерживаемые задачи и совместимость с различными режимами работы, такими как [Вывод](../modes/predict.md), [Валидация](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), обозначенные значками ✅ для поддерживаемых режимов и значками ❌ для неподдерживаемых режимов. + +| Тип модели | Заранее обученные веса | Поддерживаемые задачи | Вывод | Валидация | Обучение | Экспорт | +|------------|------------------------|------------------------------------------------|-------|-----------|----------|---------| +| FastSAM-s | `FastSAM-s.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Примеры использования + +Модели FastSAM легко интегрировать в ваши приложения на Python. Ultralytics предоставляет удобный пользовательский интерфейс API и команды CLI для упрощения разработки. + +### Использование для предсказаний + +Для выполнения обнаружения объектов на изображении используйте метод `predict`, как показано ниже: + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # Определение исхода вывода + source = 'путь/к/фото_автобуса.jpg' + + # Создание модели FastSAM + model = FastSAM('FastSAM-s.pt') # или FastSAM-x.pt + + # Выполнение вывода на изображение + результаты = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # Создание объекта Prompt Process + prompt_process = FastSAMPrompt(source, результаты, device='cpu') + + # Вывод всего + ann = prompt_process.everything_prompt() + + # Прямоугольная область по умолчанию [0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # Текстовый запрос + ann = prompt_process.text_prompt(text='фотография собаки') + + # Запрос точки + # Точки по умолчанию [[0,0]] [[x1,y1],[x2,y2]] + # метка точки по умолчанию [0] [1,0] 0:фон, 1:передний план + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # Загрузка модели FastSAM и сегментация всего объекта на нем + yolo segment predict model=FastSAM-s.pt source=путь/к/фото_автобуса.jpg imgsz=640 + ``` + +В этом фрагменте кода демонстрируется простота загрузки предобученной модели и выполнения предсказаний на изображении. + +### Использование для валидации + +Валидацию модели на наборе данных можно выполнить следующим образом: + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics import FastSAM + + # Создание модели FastSAM + model = FastSAM('FastSAM-s.pt') # или FastSAM-x.pt + + # Валидация модели + результаты = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # Загрузка модели FastSAM и ее валидация на примере набора данных COCO8 при размере изображения 640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +Пожалуйста, обратите внимание, что FastSAM поддерживает только обнаружение и сегментацию единственного класса объектов. Это означает, что модель будет распознавать и сегментировать все объекты как один и тот же класс. Поэтому при подготовке набора данных вам нужно преобразовать все идентификаторы категорий объектов в 0. + +## Официальное использование FastSAM + +FastSAM также доступна непосредственно из репозитория [https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM). Вот краткий обзор типичных шагов для использования FastSAM: + +### Установка + +1. Клонируйте репозиторий FastSAM: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. Создайте и активируйте виртуальное окружение Conda с Python 3.9: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. Перейдите в каталог склонированного репозитория и установите требуемые пакеты: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. Установите модель CLIP: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### Пример использования + +1. Скачайте [файл контрольной точки модели](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing). + +2. Используйте модель FastSAM для выполнения вывода. Примеры команд: + + - Сегментация всего объекта на изображении: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - Сегментация определенных объектов с использованием текстового запроса: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "желтая собака" + ``` + + - Сегментация объектов в пределах ограничивающей рамки (укажите координаты рамки в формате xywh): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - Сегментация объектов, находящихся близко к определенным точкам: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +Кроме того, вы можете опробовать FastSAM с помощью [демонстрационного ноутбука Colab](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing) или на [веб-демо HuggingFace](https://huggingface.co/spaces/An-619/FastSAM) для визуального опыта. + +## Цитирование и благодарности + +Мы хотели бы выразить благодарность авторам FastSAM за их значительный вклад в области сегментации объектов в реальном времени: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Оригинальная статья FastSAM доступна на [arXiv](https://arxiv.org/abs/2306.12156). Авторы сделали свою работу общедоступной, и код можно получить на [GitHub](https://github.com/CASIA-IVA-Lab/FastSAM). Мы ценим их усилия по развитию отрасли и доступу к их работе для широкого круга пользователей. diff --git a/docs/ru/models/index.md b/docs/ru/models/index.md index ed1cf19d763..43fd65b7510 100644 --- a/docs/ru/models/index.md +++ b/docs/ru/models/index.md @@ -1,32 +1,32 @@ --- comments: true -description: Изучите разнообразные модели семейства YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS и RT-DETR, поддерживаемые Ultralytics. Начните с примеров использования в командной строке и Python. +description: Исследуйте разнообразный спектр поддерживаемых Ultralytics моделей семейства YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS и RT-DETR. Начните работу с примерами использования как для CLI, так и для Python. keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, модели, архитектуры, Python, CLI --- -# Модели, поддерживаемые Ultralytics +# Поддерживаемые модели Ultralytics -Добро пожаловать в документацию по моделям Ultralytics! Мы поддерживаем широкий спектр моделей, каждая из которых адаптирована для конкретных задач, таких как [обнаружение объектов](../tasks/detect.md), [сегментация на уровне экземпляров](../tasks/segment.md), [классификация изображений](../tasks/classify.md), [оценка позы](../tasks/pose.md) и [множественное отслеживание объектов](../modes/track.md). Если вы заинтересованы в добавлении архитектуры вашей модели в Ultralytics, ознакомьтесь с нашим [Руководством для участников](../../help/contributing.md). +Добро пожаловать в документацию по моделям Ultralytics! Мы поддерживаем широкий спектр моделей, каждая из которых адаптирована для конкретных задач, таких как [обнаружение объектов](../tasks/detect.md), [сегментация на уровне инстанций](../tasks/segment.md), [классификация изображений](../tasks/classify.md), [оценка позы](../tasks/pose.md) и [слежение за несколькими объектами](../modes/track.md). Если вы заинтересованы в добавлении архитектуры своей модели в Ultralytics, ознакомьтесь с нашим [Руководством для участников](../../help/contributing.md). -!!! Note "Заметка" +!!! Note "Примечание" - 🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за ваше терпение! 🙏 + 🚧 Наша документация на разных языках находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за ваше терпение! 🙏 -## Основные модели +## Особенные модели -Вот некоторые ключевые модели, поддерживаемые нами: +Вот некоторые ключевые поддерживаемые модели: -1. **[YOLOv3](../../models/yolov3.md)**: Третье поколение семейства моделей YOLO, созданное Джозефом Редмоном, известное своей эффективной способностью обнаружения объектов в реальном времени. -2. **[YOLOv4](../../models/yolov4.md)**: Обновление YOLOv3, оптимизированное для darknet, выпущенное Алексеем Бочковским в 2020 году. -3. **[YOLOv5](../../models/yolov5.md)**: Улучшенная версия архитектуры YOLO от Ultralytics, предлагающая лучшие компромиссы производительности и скорости по сравнению с предыдущими версиями. -4. **[YOLOv6](../../models/yolov6.md)**: Выпущена компанией [Meituan](https://about.meituan.com/) в 2022 году и используется во многих роботах автономной доставки компании. -5. **[YOLOv7](../../models/yolov7.md)**: Обновленные модели YOLO, выпущенные в 2022 году авторами YOLOv4. -6. **[YOLOv8](../../models/yolov8.md)**: Последняя версия семейства YOLO с расширенными возможностями, такими как сегментация на уровне экземпляров, оценка позы/ключевых точек и классификация. -7. **[Segment Anything Model (SAM)](../../models/sam.md)**: Модель Segment Anything от Meta (SAM). -8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM для мобильных приложений от Университета Кён Хи. -9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM от Группы анализа изображений и видео, Института автоматики, Китайская академия наук. -10. **[YOLO-NAS](../../models/yolo-nas.md)**: Модели YOLO с поиском архитектуры нейронных сетей (NAS). -11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: Модели Realtime Detection Transformer (RT-DETR) от Baidu на основе PaddlePaddle. +1. **[YOLOv3](yolov3.md)**: Третье поколение семейства моделей YOLO, авторства Джозефа Редмона, известное своей эффективностью в реальном времени для обнаружения объектов. +2. **[YOLOv4](yolov4.md)**: Нативное для darknet обновление YOLOv3, выпущенное Алексеем Бочковским в 2020 году. +3. **[YOLOv5](yolov5.md)**: Улучшенная версия архитектуры YOLO от Ultralytics, предлагающая лучшие компромиссы производительности и скорости по сравнению с предыдущими версиями. +4. **[YOLOv6](yolov6.md)**: Выпущенная в 2022 году компанией [Meituan](https://about.meituan.com/) и используемая во многих роботах автономной доставки компании. +5. **[YOLOv7](yolov7.md)**: Обновленные модели YOLO, выпущенные в 2022 году авторами YOLOv4. +6. **[YOLOv8](yolov8.md) НОВИНКА 🚀**: Последняя версия семейства YOLO, обладающая расширенными возможностями, такими как сегментация на уровне инстанций, оценка позы/ключевых точек и классификация. +7. **[Segment Anything Model (SAM)](sam.md)**: Модель сегментации всего и вся (SAM) от Meta. +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM для мобильных приложений от университета Kyung Hee. +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM от Группы анализа изображений и видео, Института автоматики, Китайской академии наук. +10. **[YOLO-NAS](yolo-nas.md)**: Модели нейронной архитектуры поиска YOLO (NAS). +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Модели трансформеров реального времени для обнаружения объектов (RT-DETR) от Baidu PaddlePaddle.


@@ -41,25 +41,29 @@ keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM, ## Начало работы: Примеры использования +Этот пример предоставляет простые примеры обучения и вывода для YOLO. Полная документация по этим и другим [режимам](../modes/index.md) представлена на страницах документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md). + +Обратите внимание, что ниже приведен пример для моделей [Detect](../tasks/detect.md) YOLOv8 для обнаружения объектов. Для дополнительных поддерживаемых задач смотрите документацию по [Segment](../tasks/segment.md), [Classify](../tasks/classify.md) и [Pose](../tasks/pose.md). + !!! Example "Пример" === "Python" - Предварительно обученные модели PyTorch `*.pt` а также файлы конфигурации `*.yaml` могут быть переданы в классы `YOLO()`, `SAM()`, `NAS()` и `RTDETR()` для создания экземпляра модели в Python: + Предобученные модели PyTorch `*.pt`, а также конфигурационные файлы `*.yaml` могут быть переданы в классы `YOLO()`, `SAM()`, `NAS()` и `RTDETR()`, чтобы создать экземпляр модели на Python: ```python from ultralytics import YOLO - # Загрузка модели YOLOv8n, предварительно обученной на COCO + # Загрузить предварительно обученную модель YOLOv8n для COCO model = YOLO('yolov8n.pt') - # Отображение информации о модели (необязательно) + # Отобразить информацию о модели (необязательно) model.info() - # Обучение модели на примерном наборе данных COCO8 в течение 100 эпох + # Обучить модель на примерном наборе данных COCO8 в течение 100 эпох results = model.train(data='coco8.yaml', epochs=100, imgsz=640) - # Запуск использования модели YOLOv8n на изображении 'bus.jpg' + # Запустить вывод с помощью модели YOLOv8n на изображении 'bus.jpg' results = model('path/to/bus.jpg') ``` @@ -68,27 +72,27 @@ keywords: Ultralytics, документация, YOLO, SAM, MobileSAM, FastSAM, Команды CLI доступны для непосредственного запуска моделей: ```bash - # Загрузка и обучение модели YOLOv8n, предварительно обученной на COCO, на примерном наборе данных COCO8 в течение 100 эпох + # Загрузить предварительно обученную модель YOLOv8n для COCO и обучить её на примерном наборе данных COCO8 в течение 100 эпох yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 - # Загрузка и запуск использования модели YOLOv8n, предварительно обученной на COCO, на изображении 'bus.jpg' + # Загрузить предварительно обученную модель YOLOv8n для COCO и запустить вывод на изображении 'bus.jpg' yolo predict model=yolov8n.pt source=path/to/bus.jpg ``` ## Вклад в новые модели -Заинтересованы в добавлении вашей модели в Ultralytics? Замечательно! Мы всегда открыты для расширения нашего портфолио моделей. +Заинтересованы в том, чтобы внести свою модель в Ultralytics? Отлично! Мы всегда открыты для расширения нашего портфолио моделей. -1. **Создать форк репозитория**: Начните с создания форка [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics). +1. **Сделайте Fork Репозитория**: Начните с создания форка [репозитория Ultralytics на GitHub](https://github.com/ultralytics/ultralytics). -2. **Клонировать ваш форк**: Клонируйте ваш форк на локальный компьютер и создайте новую ветку для работы. +2. **Склонируйте свой Fork**: Склонируйте ваш форк на локальную машину и создайте новую ветку для работы. -3. **Реализовать вашу модель**: Добавьте вашу модель, следуя стандартам кодирования и руководящим принципам, приведенным в нашем [Руководстве для участников](../../help/contributing.md). +3. **Реализуйте свою Модель**: Добавьте вашу модель, следуя стандартам программирования и руководящим принципам, указанным в нашем [Руководстве для участников](../../help/contributing.md). -4. **Тщательно протестировать**: Убедитесь, что ваша модель тестируется тщательно как самостоятельно, так и как часть нашего конвейера. +4. **Тщательно протестируйте**: Убедитесь, что вы тщательно протестировали свою модель, как изолированно, так и как часть пайплайна. -5. **Создать запрос на добавление**: После того, как будете удовлетворены вашей моделью, создайте запрос на добавление в основной репозиторий для рассмотрения. +5. **Создайте Pull Request**: Как только вы будете удовлетворены своей моделью, создайте pull request в основной репозиторий для рассмотрения. -6. **Код-ревью и слияние**: После рецензирования, если ваша модель соответствует нашим критериям, она будет добавлена в основной репозиторий. +6. **Код-ревью и Слияние**: После рассмотрения, если ваша модель соответствует нашим критериям, она будет объединена с основным репозиторием. -Для более подробных шагов, смотрите наше [Руководство для участников](../../help/contributing.md). +Для подробных инструкций см. наше [Руководство для участников](../../help/contributing.md). diff --git a/docs/ru/models/mobile-sam.md b/docs/ru/models/mobile-sam.md new file mode 100644 index 00000000000..906ec88fb7e --- /dev/null +++ b/docs/ru/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: Узнайте больше о MobileSAM, его реализации, сравнении с оригинальным SAM и о том, как его загрузить и протестировать в фреймворке Ultralytics. Улучшите свои мобильные приложения уже сегодня. +keywords: MobileSAM, Ultralytics, SAM, мобильные приложения, Arxiv, GPU, API, кодировщик изображений, декодер масок, загрузка модели, метод тестирования +--- + +![Логотип MobileSAM](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# Mobile Segment Anything (MobileSAM) + +Теперь доступна статья MobileSAM в [архиве arXiv](https://arxiv.org/pdf/2306.14289.pdf). + +Демонстрацию работы MobileSAM на CPU можно найти по этой [ссылке](https://huggingface.co/spaces/dhkim2810/MobileSAM). Время выполнения на Mac i5 CPU составляет примерно 3 секунды. В демонстрационной версии Hugging Face интерфейс и менее производительные процессоры CPU могут вызывать замедление работы, но она продолжает работать эффективно. + +MobileSAM реализован в различных проектах, включая [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything), [AnyLabeling](https://github.com/vietanhdev/anylabeling) и [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D). + +MobileSAM обучается на одном графическом процессоре (GPU) со 100 тысячами данных (1% от оригинальных изображений) за менее чем день. Код для обучения будет доступен в будущем. + +## Доступные модели, поддерживаемые задачи и режимы работы + +В таблице представлены доступные модели с соответствующими предварительно обученными весами, поддерживаемыми задачами и их совместимостью с различными режимами работы, такими как [вывод](../modes/predict.md), [валидация](../modes/val.md), [тренировка](../modes/train.md) и [экспорт](../modes/export.md), указанными с помощью эмодзи ✅ для поддерживаемых режимов и эмодзи ❌ для неподдерживаемых. + +| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод | Валидация | Тренировка | Экспорт | +|------------|-------------------------------|------------------------------------------------|-------|-----------|------------|---------| +| MobileSAM | `mobile_sam.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Переход от SAM к MobileSAM + +Поскольку MobileSAM сохраняет ту же самую последовательность операций, что и оригинальный SAM, в него интегрированы все интерфейсы для предобработки, постобработки и прочие интерфейсы. В результате, пользователи, уже использующие оригинальный SAM, могут легко перейти на MobileSAM. + +MobileSAM работает сравнимо с оригинальным SAM и имеет ту же самую последовательность операций, за исключением изменения кодировщика изображений. В частности, мы заменяем оригинальный "тяжёлый" кодировщик изображений ViT-H (632M) на более компактный Tiny-ViT (5M). На одном графическом процессоре MobileSAM работает примерно за 12 мс на изображение: 8 мс на кодировщик изображений и 4 мс на декодер масок. + +В таблице представлено сравнение кодировщиков изображений на базе ViT: + +| Кодировщик изображений | Оригинальный SAM | MobileSAM | +|------------------------|------------------|-----------| +| Параметры | 611M | 5M | +| Скорость | 452 мс | 8 мс | + +Как оригинальный SAM, так и MobileSAM используют один и тот же декодер масок, управляемый подсказками: + +| Декодер масок | Оригинальный SAM | MobileSAM | +|---------------|------------------|-----------| +| Параметры | 3.876M | 3.876M | +| Скорость | 4 мс | 4 мс | + +Ниже приведено сравнение всей последовательности операций: + +| Полная последовательность операций (Enc+Dec) | Оригинальный SAM | MobileSAM | +|----------------------------------------------|------------------|-----------| +| Параметры | 615M | 9.66M | +| Скорость | 456 мс | 12 мс | + +Производительность MobileSAM и оригинального SAM демонстрируется с использованием подсказок в форме точки и прямоугольника. + +![Изображение с подсказкой в виде точки](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![Изображение с подсказкой в виде прямоугольника](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +MobileSAM обеспечивает примерно в 5 раз меньший размер и в 7 раз большую скорость работы по сравнению с текущим FastSAM. Более подробная информация доступна на [странице проекта MobileSAM](https://github.com/ChaoningZhang/MobileSAM). + +## Тестирование MobileSAM в Ultralytics + +Как и оригинальный SAM, мы предлагаем простой метод тестирования в Ultralytics, включая режимы тестирования с использованием подсказок в форме точки и прямоугольника. + +### Загрузка модели + +Вы можете загрузить модель [здесь](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt). + +### Подсказка в форме точки + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics import SAM + + # Загрузка модели + model = SAM('mobile_sam.pt') + + # Предсказание сегмента на основе подсказки в форме точки + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### Подсказка в форме прямоугольника + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics import SAM + + # Загрузка модели + model = SAM('mobile_sam.pt') + + # Предсказание сегмента на основе подсказки в форме прямоугольника + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +Мы реализовали `MobileSAM` и `SAM` с использованием одного и того же API. Для получения дополнительной информации о использовании, пожалуйста, см. [страницу SAM](sam.md). + +## Цитирование и благодарности + +Если вы считаете MobileSAM полезным в своей научно-исследовательской или разработочной работе, пожалуйста, рассмотрите возможность цитирования нашей статьи: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/ru/models/rtdetr.md b/docs/ru/models/rtdetr.md new file mode 100644 index 00000000000..7b8b374fd94 --- /dev/null +++ b/docs/ru/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: Узнайте о возможностях и преимуществах RT-DETR от Baidu - эффективного и гибкого детектора объектов в реальном времени, основанного на Vision Transformers. Включает предобученные модели. +keywords: RT-DETR, Baidu, Vision Transformers, object detection, real-time performance, CUDA, TensorRT, IoU-aware query selection, Ultralytics, Python API, PaddlePaddle +--- + +# RT-DETR от Baidu: детектор объектов в реальном времени на основе Vision Transformers + +## Обзор + +Real-Time Detection Transformer (RT-DETR), разработанный компанией Baidu, является передовым энд-ту-энд детектором объектов, который обеспечивает высокую точность при работе в реальном времени. Он использует преимущества Vision Transformers (ViT) для эффективной обработки мультимасштабных признаков путем разделения взаимодействия внутри масштаба и слияния между масштабами. RT-DETR легко адаптируется для поддержки гибкой настройки скорости вывода с использованием разных слоев декодера без необходимости повторного обучения. Модель показывает высокую производительность на ускоренных вычислительных платформах, таких как CUDA с TensorRT, превосходя многие другие детекторы объектов в реальном времени. + +![Пример модели](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**Обзор RT-DETR от Baidu.** Схема архитектуры модели RT-DETR показывает последние три стадии основной сети {S3, S4, S5} в качестве входных данных для энкодера. Эффективный гибридный энкодер преобразует мультимасштабные признаки в последовательность признаков изображения с помощью интерактивного интраскального взаимодействия признаков (AIFI) и модуля слияния признаков между кросс-масштабами (CCFM). Для начальной инициализации объектных запросов декодера используется выбор запросов с учетом оценки пересечения объединения (IoU-aware query selection). Наконец, декодер с вспомогательными головами предсказания итеративно оптимизирует объектные запросы для генерации рамок и вероятностей ([источник](https://arxiv.org/pdf/2304.08069.pdf)). + +### Основные особенности + +- **Эффективный гибридный энкодер:** RT-DETR от Baidu использует эффективный гибридный энкодер, который обрабатывает мультимасштабные признаки путем разделения взаимодействия внутри масштаба и слияния между масштабами. Это уникальное решение на основе Vision Transformers снижает вычислительные затраты и позволяет осуществлять детекцию объектов в реальном времени. +- **Выбор запроса с учетом оценки пересечения объединения (IoU-aware):** RT-DETR от Baidu улучшает инициализацию запросов объектов путем использования осознанного запроса с учетом оценки пересечения объединения (IoU-aware query selection). Это позволяет модели фокусироваться на наиболее значимых объектах на сцене и повышает точность детектирования. +- **Гибкая скорость вывода:** RT-DETR от Baidu поддерживает гибкую настройку скорости вывода с использованием различных слоев декодера без необходимости повторного обучения. Гибкость данного подхода упрощает его применение в различных сценариях детекции объектов в реальном времени. + +## Предобученные модели + +Python API Ultralytics предоставляет предобученные модели RT-DETR от PaddlePaddle с различными масштабами: + +- RT-DETR-L: 53.0% AP на COCO val2017, 114 FPS на GPU T4 +- RT-DETR-X: 54.8% AP на COCO val2017, 74 FPS на GPU T4 + +## Примеры использования + +В этом примере представлены простые примеры обучения и вывода модели RT-DETR. Для полной документации по этим и другим [режимам](../modes/index.md) смотрите страницы документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md). + +!!! Example "Пример" + + === "Python" + + ```python + from ultralytics import RTDETR + + # Загрузка предобученной модели RT-DETR-l на COCO + model = RTDETR('rtdetr-l.pt') + + # Отображение информации о модели (по желанию) + model.info() + + # Обучение модели на примере набора данных COCO8 в течение 100 эпох + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Осуществление вывода модели RT-DETR-l на изображении 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # Загрузка предобученной модели RT-DETR-l на COCO и ее обучение на примере набора данных COCO8 в течение 100 эпох + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # Загрузка предобученной модели RT-DETR-l на COCO и вывод ее на изображении 'bus.jpg' + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## Поддерживаемые задачи и режимы + +В таблице представлены типы моделей, конкретные предобученные веса, задачи, поддерживаемые каждой моделью, а также различные режимы ([Train](../modes/train.md) , [Val](../modes/val.md), [Predict](../modes/predict.md), [Export](../modes/export.md)), поддерживаемые каждой моделью, что обозначено символом ✅. + +| Тип модели | Предобученные веса | Поддерживаемые задачи | Вывод | Валидация | Обучение | Экспорт | +|---------------------|--------------------|--------------------------------------------|-------|-----------|----------|---------| +| RT-DETR Large | `rtdetr-l.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR Extra-Large | `rtdetr-x.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## Цитирование и благодарности + +Если вы используете Baidu RT-DETR в своих исследованиях или разработке, пожалуйста, процитируйте [оригинальную статью](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Мы хотели бы выразить свою благодарность компании Baidu и команде [PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection) за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения. Мы очень ценим их вклад в области разработки детекторов объектов в реальном времени на основе Vision Transformers, RT-DETR. + +*Keywords: RT-DETR, Transformer, ViT, Vision Transformers, Baidu RT-DETR, PaddlePaddle, Paddle Paddle RT-DETR, real-time object detection, Vision Transformers-based object detection, pre-trained PaddlePaddle RT-DETR models, Baidu's RT-DETR usage, Ultralytics Python API* diff --git a/docs/ru/models/sam.md b/docs/ru/models/sam.md new file mode 100644 index 00000000000..ca6509f25e0 --- /dev/null +++ b/docs/ru/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: Изучите передовую модель сегментации изображений "Segment Anything Model" (SAM) от компании Ultralytics, которая позволяет выполнять сегментацию изображений в режиме реального времени. Узнайте о возможности дать подсказки модели для выполнения сегментации, о ее возможностях нулевой настройки и о том, как ее использовать. +keywords: Ultralytics, сегментация изображений, "Segment Anything Model", SAM, набор данных SA-1B, работа в режиме реального времени, нулевая настройка, обнаружение объектов, анализ изображений, машинное обучение +--- + +# Segment Anything Model (SAM) + +Добро пожаловать в мир передовой модели сегментации изображений "Segment Anything Model" (SAM). Эта революционная модель установила новые стандарты в области сегментации изображений, предоставляя возможность ввода подсказок для выполнения сегментации в реальном времени. + +## Введение в Segment Anything Model (SAM) + +Segment Anything Model (SAM) - это передовая модель сегментации изображений, позволяющая осуществлять сегментацию с возможностью задавать подсказки, что обеспечивает уникальную гибкость в задачах анализа изображений. SAM является ключевым элементом инициативы "Segment Anything", которая вводит новую модель, задачу и набор данных для сегментации изображений. + +Благодаря своему передовому дизайну, SAM может адаптироваться к новым распределениям изображений и задачам без предварительных знаний, что называется возможностью нулевой настройки. Обученная на обширном наборе данных [SA-1B](https://ai.facebook.com/datasets/segment-anything/), который содержит более 1 миллиарда масок, распределенных на 11 миллионов тщательно отобранных изображений, модель SAM проявила впечатляющую производительность в задачах нулевой настройки, превосходя предыдущие полностью надзираемые результаты во многих случаях. + +![Пример изображения из набора данных](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +Изображения с наложенными масками из нашего нового набора данных SA-1B. SA-1B содержит 11 млн. разнообразных лицензированных изображений высокого разрешения, сгенерированных полностью автоматически SAM, и 1,1 млрд. высококачественных масок сегментации. Эти маски были аннотированы полностью автоматически SAM, и, как показали человеческие оценки и множество экспериментов, они являются высококачественными и разнообразными. Изображения сгруппированы по количеству масок на изображение для наглядности (в среднем на изображение приходится около 100 масок). + +## Основные особенности модели Segment Anything (SAM) + +- **Задача предоставления подсказок для сегментации:** SAM была разработана с учетом задачи предоставления подсказок для сегментации, что позволяет ей генерировать корректные маски сегментации на основе любых подсказок, таких как пространственные или текстовые подсказки, идентифицирующие объект. +- **Расширенная архитектура:** Модель Segment Anything использует мощный кодировщик изображений, кодировщик подсказок и легкий декодер масок. Эта уникальная архитектура обеспечивает гибкое использование подсказок, вычисление масок в реальном времени и учет неопределенности в задачах сегментации. +- **Набор данных SA-1B:** Набор данных SA-1B, предложенный проектом Segment Anything, содержит более 1 миллиарда масок на 11 миллионах изображений. Как самый большой набор данных для сегментации на сегодняшний день, он обеспечивает модели SAM разнообразный и масштабный источник данных для обучения. +- **Производительность при нулевой настройке:** Модель SAM проявляет выдающуюся производительность при выполнении задач сегментации в режиме нулевой настройки, что делает ее готовым к использованию инструментом для различных приложений с минимальной необходимостью настраивать подсказки. + +Для более подробного рассмотрения модели Segment Anything и набора данных SA-1B, пожалуйста, посетите [веб-сайт Segment Anything](https://segment-anything.com) и ознакомьтесь с исследовательской статьей [Segment Anything](https://arxiv.org/abs/2304.02643). + +## Доступные модели, поддерживаемые задачи и режимы работы + +В таблице представлены доступные модели с их специфическими заранее обученными весами, поддерживаемыми задачами и их совместимость с различными режимами работы, такими как [Inference](../modes/predict.md), [Validation](../modes/val.md), [Training](../modes/train.md) и [Export](../modes/export.md), обозначенная символами ✅ для поддерживаемых режимов и символами ❌ для неподдерживаемых режимов. + +| Тип модели | Заранее обученные веса | Поддерживаемые задачи | Inference | Validation | Training | Export | +|------------------------------------|------------------------|---------------------------------------------|-----------|------------|----------|--------| +| Базовая версия SAM (SAM base) | `sam_b.pt` | [Сегментация объектов](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| Расширенная версия SAM (SAM large) | `sam_l.pt` | [Сегментация объектов](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## Как использовать модель SAM: гибкость и мощность в сегментации изображений + +Модель Segment Anything может использоваться для множества задач, выходящих за рамки ее тренировочных данных. Это включает обнаружение границ, генерацию предложений объектов, сегментацию экземпляров и предварительное преобразование текста в маску. С использованием подсказок, SAM может быстро адаптироваться к новым задачам и распределениям данных в режиме нулевой настройки, делая его гибким и мощным инструментом для всех ваших потребностей в сегментации изображений. + +### Пример прогнозирования с использованием SAM + +!!! Example "Сегментация с указанием подсказки" + + Выполнение сегментации изображения с указанными подсказками. + + === "Python" + + ```python + from ultralytics import SAM + + # Загрузка модели + model = SAM('sam_b.pt') + + # Вывод информации о модели (по желанию) + model.info() + + # Выполнение вывода с указанием границы объекта (bboxes prompt) + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # Выполнение вывода с указанием точки (points prompt) + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "Сегментация всего изображения" + + Сегментация всего изображения. + + === "Python" + + ```python + from ultralytics import SAM + + # Загрузка модели + model = SAM('sam_b.pt') + + # Вывод информации о модели (по желанию) + model.info() + + # Выполнение вывода + model('путь/к/изображению.jpg') + ``` + + === "CLI" + + ```bash + # Выполнение вывода с помощью модели SAM + yolo predict model=sam_b.pt source=путь/к/изображению.jpg + ``` + +- Логика здесь состоит в том, чтобы выполнить сегментацию всего изображения, если вы не передаете никаких подсказок (bboxes/points/masks). + +!!! Example "Пример SAMPredictor" + + В этом примере вы можете установить изображение один раз и выполнить множество прогнозирований с использованием подсказок, не запуская кодировщик изображения несколько раз. + + === "Прогнозирование с подсказками" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Создание SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Установка изображения + predictor.set_image("ultralytics/assets/zidane.jpg") # установить с помощью файла изображения + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # установить с помощью np.ndarray + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # Сброс изображения + predictor.reset_image() + ``` + + Сегментация всего изображения с дополнительными аргументами. + + === "Сегментация всего изображения" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # Создание SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # Сегментация с дополнительными аргументами + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- Больше дополнительных аргументов для `Сегментации всего изображения` см. [Ссылка на`Predictor/generate`](../../reference/models/sam/predict.md). + +## Сравнение SAM и YOLOv8 + +Здесь мы сравниваем самую маленькую модель SAM, SAM-b, с самой маленькой моделью сегментации Ultralytics, [YOLOv8n-seg](../tasks/segment.md): + +| Модель | Размер | Параметры | Скорость (CPU) | +|------------------------------------------------|--------------------------------|----------------------------------|-------------------------------------------| +| SAM-b | 358 МБ | 94.7 млн. | 51096 мс/изображение | +| [MobileSAM](mobile-sam.md) | 40.7 МБ | 10.1 млн. | 46122 мс/изображение | +| [FastSAM-s](fast-sam.md) с основой YOLOv8 | 23.7 МБ | 11.8 млн. | 115 мс/изображение | +| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 МБ** (в 53.4 раз меньше) | **3.4 млн.** (в 27.9 раз меньше) | **59 мс/изображение** (в 866 раз быстрее) | + +Это сравнение показывает разницу в порядке величины между моделями по их размерам и скорости. В то время как SAM предлагает уникальные возможности автоматической сегментации, он не является прямым конкурентом моделям сегментации YOLOv8, которые являются более маленькими, быстрее и эффективнее. + +Тесты проводились на ноутбуке Apple M2 с 16 ГБ оперативной памяти 2023 года. Чтобы воспроизвести этот тест: + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # Анализ SAM-b + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # Анализ MobileSAM + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # Анализ FastSAM-s + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # Анализ YOLOv8n-seg + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## Авто-аннотация: быстрый путь к наборам данных для сегментации + +Авто-аннотация - это ключевая функция SAM, позволяющая пользователям генерировать [наборы данных для сегментации](https://docs.ultralytics.com/datasets/segment) с использованием предварительно обученной модели обнаружения. Эта функция позволяет быстро и точно аннотировать большое количество изображений, обходя необходимость трудоемкой ручной разметки. + +### Создание набора данных для сегментации с использованием модели обнаружения + +Для авто-аннотации набора данных с использованием фреймворка Ultralytics используйте функцию `auto_annotate`, как показано ниже: + +!!! Example "Пример" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| Аргумент | Тип | Описание | Значение по умолчанию | +|------------|------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------| +| data | str | Путь к папке с изображениями, которые должны быть аннотированы. | | +| det_model | str, опционально | Предварительно обученная модель обнаружения YOLO. По умолчанию 'yolov8x.pt'. | 'yolov8x.pt' | +| sam_model | str, опционально | Предварительно обученная модель сегментации SAM. По умолчанию 'sam_b.pt'. | 'sam_b.pt' | +| device | str, опционально | Устройство для запуска моделей. По умолчанию пустая строка (ЦП или ГП, если доступно). | | +| output_dir | str, None, опционально | Каталог для сохранения результатов аннотации. По умолчанию - папка "labels" в том же каталоге, что и "data". | None | + +Функция `auto_annotate` принимает путь к вашим изображениям со всеми опциональными аргументами для указания предварительно обученных моделей обнаружения и сегментации SAM, устройства для запуска моделей и каталога вывода для сохранения аннотированных результатов. + +Авто-аннотация с помощью предварительно обученных моделей может существенно сократить время и усилия, затрачиваемые на создание высококачественных наборов данных для сегментации. Эта функция особенно полезна для исследователей и разработчиков, работающих с большими сборниками изображений, поскольку она позволяет им сконцентрироваться на разработке и оценке моделей, а не на ручной разметке. + +## Цитирование и благодарности + +Если вам пригодилась модель SAM в вашей исследовательской или разработческой работе, пожалуйста, рассмотрите возможность цитирования нашей статьи: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Мы хотели бы выразить свою благодарность компании Meta AI за создание и поддержку этого ценного ресурса для сообщества визуального анализа. + +*keywords: Segment Anything, Segment Anything Model, SAM, Meta SAM, сегментация изображений, возможность давать подсказки для выполнения сегментации, производительность с нулевой настройкой, набор данных SA-1B, передовая архитектура, авто-аннотация, Ultralytics, предварительно обученные модели, базовая версия SAM, расширенная версия SAM, сегментация экземпляров, визуальный анализ, искусственный интеллект, машинное обучение, аннотация данных, маски сегментации, модель обнаружения, модель обнаружения YOLOv8, библиографическая ссылка, Meta AI.* diff --git a/docs/ru/models/yolo-nas.md b/docs/ru/models/yolo-nas.md new file mode 100644 index 00000000000..cb44c4871fa --- /dev/null +++ b/docs/ru/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: Изучите подробную документацию YOLO-NAS, превосходной модели обнаружения объектов. Узнайте о ее функциях, предварительно обученных моделях, использовании с помощью Ultralytics Python API и многом другом. +keywords: YOLO-NAS, Deci AI, обнаружение объектов, глубокое обучение, поиск нейроархитектур, Ultralytics Python API, модель YOLO, предварительно обученные модели, квантизация, оптимизация, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## Обзор + +Разработанный компанией Deci AI, YOLO-NAS является революционной фундаментальной моделью обнаружения объектов. Она является продуктом продвинутой технологии поиска нейроархитектур и специально разработана для преодоления ограничений предыдущих моделей YOLO. Благодаря существенному улучшению поддержки квантования и компромисса между точностью и задержкой, YOLO-NAS представляет собой значительный прорыв в области обнаружения объектов. + +![Иллюстрация модели](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**Обзор YOLO-NAS.** YOLO-NAS использует блоки, поддерживающие квантование, и селективное квантование для достижения оптимальной производительности. Модель, когда переводится в квантованную версию INT8, имеет минимальное падение точности, что является значительным улучшением по сравнению с другими моделями. Эти достижения приводят к превосходной архитектуре с беспрецедентными возможностями обнаружения объектов и выдающей производительностью. + +### Основные функции + +- **Базовый блок поддерживающий квантование:** YOLO-NAS предлагает новый базовый блок, который хорошо работает с квантованием, что позволяет преодолеть одно из значительных ограничений предыдущих моделей YOLO. +- **Совершенствование тренировки и квантования:** YOLO-NAS использует продвинутые схемы тренировки и пост-тренировочное квантование для улучшения производительности. +- **Оптимизация AutoNAC и предварительная обучение:** YOLO-NAS использует оптимизацию AutoNAC и предварительное обучение на известных наборах данных, таких как COCO, Objects365 и Roboflow 100. Это предварительное обучение делает модель идеально подходящей для решений по обнаружению объектов в производственных средах. + +## Предварительно обученные модели + +Ощутите мощь обнаружения объектов нового поколения с предварительно обученными моделями YOLO-NAS, предоставленными компанией Ultralytics. Эти модели разработаны для обеспечения высокой производительности как в плане скорости, так и точности. Выберите из различных вариантов, настроенных под ваши конкретные потребности: + +| Модель | mAP | Задержка (ms) | +|------------------|-------|---------------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +Каждый вариант модели разработан для достижения баланса между средней точностью обнаружения (mAP) и задержкой, помогая вам оптимизировать задачи по обнаружению объектов с точки зрения производительности и скорости. + +## Примеры использования + +Компания Ultralytics сделала интеграцию моделей YOLO-NAS в ваши приложения на Python максимально простой с помощью нашего пакета `ultralytics`. Пакет предоставляет удобный API на Python, чтобы упростить весь процесс. + +Ниже приведены примеры использования моделей YOLO-NAS с пакетом `ultralytics` для вывода результатов и их проверки: + +### Примеры вывода результатов и проверки + +В этом примере мы проверяем модель YOLO-NAS-s на наборе данных COCO8. + +!!! Example "Пример" + + В этом примере представлен простой код вывода результатов и проверки для YOLO-NAS. Для обработки результатов вывода см. режим [Predict](../modes/predict.md). Для использования YOLO-NAS с другими режимами см. [Val](../modes/val.md) и [Export](../modes/export.md). Пакет `ultralytics` для YOLO-NAS не поддерживает обучение. + + === "Python" + + Файлы предварительно обученных моделей PyTorch `*.pt` могут быть переданы в класс `NAS()` для создания экземпляра модели на Python: + + ```python + from ultralytics import NAS + + # Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO + model = NAS('yolo_nas_s.pt') + + # Вывод информации о модели (опционально) + model.info() + + # Проверка модели на примере набора данных COCO8 + results = model.val(data='coco8.yaml') + + # Вывод результатов работы модели YOLO-NAS-s на изображении 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Для прямого запуска моделей доступны следующие команды: + + ```bash + # Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO и проверка ее производительности на примере набора данных COCO8 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # Загрузка предварительно обученной модели YOLO-NAS-s на наборе данных COCO и запуск вывода результатов на изображении 'bus.jpg' + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## Поддерживаемые задачи и режимы + +Мы предлагаем три варианта моделей YOLO-NAS: Small (s), Medium (m) и Large (l). Каждый вариант разработан для различных вычислительных и производственных потребностей: + +- **YOLO-NAS-s**: Оптимизирована для сред с ограниченными вычислительными ресурсами, где эффективность является ключевым фактором. +- **YOLO-NAS-m**: Предлагает сбалансированный подход, подходит для общих задач обнаружения объектов с более высокой точностью. +- **YOLO-NAS-l**: Адаптирована для сценариев, требующих максимальной точности, где вычислительные ресурсы менее ограничены. + +Ниже приведен подробный обзор каждой модели, включая ссылки на их предварительно обученные веса, задачи, которые они поддерживают, и их совместимость с различными режимами работы. + +| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод результатов | Проверка | Обучение | Экспорт | +|------------|-----------------------------------------------------------------------------------------------|--------------------------------------------|-------------------|----------|----------|---------| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## Цитирование и благодарности + +Если вы используете YOLO-NAS в своей научно-исследовательской или разработочной работе, пожалуйста, ссылайтесь на SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +Мы выражаем благодарность команде [SuperGradients](https://github.com/Deci-AI/super-gradients/) компании Deci AI за их усилия в создании и поддержке этого ценного ресурса для компьютерного зрения. Мы считаем, что YOLO-NAS со своей инновационной архитектурой и улучшенными возможностями обнаружения объектов станет важным инструментом как для разработчиков, так и для исследователей. + +*keywords: YOLO-NAS, Deci AI, обнаружение объектов, глубокое обучение, поиск нейроархитектур, Ultralytics Python API, модель YOLO, SuperGradients, предварительно обученные модели, базовый блок, дружественный квантованию, продвинутые схемы тренировки, пост-тренировочное квантование, оптимизация AutoNAC, COCO, Objects365, Roboflow 100* diff --git a/docs/ru/models/yolov3.md b/docs/ru/models/yolov3.md new file mode 100644 index 00000000000..53d2fc0cef3 --- /dev/null +++ b/docs/ru/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: Получите обзор моделей YOLOv3, YOLOv3-Ultralytics и YOLOv3u. Узнайте о их основных функциях, использовании и поддерживаемых задачах для обнаружения объектов. +keywords: YOLOv3, YOLOv3-Ultralytics, YOLOv3u, Обнаружение объектов, Вывод, Обучение, Ultralytics +--- + +# YOLOv3, YOLOv3-Ultralytics и YOLOv3u + +## Обзор + +Этот документ представляет обзор трех тесно связанных моделей обнаружения объектов: [YOLOv3](https://pjreddie.com/darknet/yolo/), [YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3) и [YOLOv3u](https://github.com/ultralytics/ultralytics). + +1. **YOLOv3:** Это третья версия алгоритма обнаружения объектов You Only Look Once (YOLO). Изначально разработанная Джозефом Редмоном (Joseph Redmon), YOLOv3 улучшила своих предшественников, внедрив такие функции, как многошкальные предсказания и три различных размера ядер детекции. + +2. **YOLOv3-Ultralytics:** Это имплементация модели YOLOv3 от Ultralytics. Она воспроизводит оригинальную архитектуру YOLOv3 и предлагает дополнительные возможности, такие как поддержка большего числа предварительно обученных моделей и более простые варианты настройки. + +3. **YOLOv3u:** Это обновленная версия YOLOv3-Ultralytics, которая включает в себя разделение головы на свободные от привязки якоря и объектности, используемое в моделях YOLOv8. YOLOv3u имеет такую же архитектуру основного модуля и модуля "шеи", как YOLOv3, но с обновленной головой детекции из YOLOv8. + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## Основные характеристики + +- **YOLOv3:** Внедрение трех масштабов детекции позволило использовать три разных размера ядер детекции: 13x13, 26x26 и 52x52. Это значительно улучшило точность обнаружения объектов различных размеров. Кроме того, YOLOv3 добавила такие функции, как множественные предсказания для каждого ограничивающего прямоугольника и более высококачественную сеть экстрактора признаков. + +- **YOLOv3-Ultralytics:** Имплементация YOLOv3 от Ultralytics обеспечивает такую же производительность, как у оригинальной модели, но дополнительно поддерживает больше предварительно обученных моделей, дополнительные методы обучения и более простые варианты настройки. Это делает ее более гибкой и удобной для практического применения. + +- **YOLOv3u:** В этой обновленной модели использовано разделение головы на свободные от привязки якоря и объектности из YOLOv8. Путем устранения необходимости в предопределенных координатах привязки и оценках объектности эта архитектура головы детекции способна улучшить способность модели обнаруживать объекты различных размеров и форм. Это делает YOLOv3u более устойчивой и точной для задач обнаружения объектов. + +## Поддерживаемые задачи и режимы + +Серия YOLOv3, включая YOLOv3, YOLOv3-Ultralytics и YOLOv3u, специально разработана для задач обнаружения объектов. Эти модели заслужили признание своей эффективности в различных сценариях реального мира, обеспечивая баланс между точностью и скоростью. Каждый вариант предлагает уникальные функции и оптимизации, что делает их подходящими для широкого спектра приложений. + +Все три модели поддерживают полный набор режимов, обеспечивая гибкость на разных этапах развертывания и разработки моделей. Эти режимы включают [Вывод](../modes/predict.md), [Проверку](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), что позволяет пользователям полноценно использовать эти модели для эффективного обнаружения объектов. + +| Тип модели | Поддерживаемые задачи | Вывод | Проверка | Обучение | Экспорт | +|--------------------|--------------------------------------------|-------|----------|----------|---------| +| YOLOv3 | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Эта таблица предоставляет краткий обзор возможностей каждого варианта модели YOLOv3, подчеркивая их гибкость и пригодность для выполнения различных задач и операционных режимов в потоке обнаружения объектов. + +## Примеры использования + +Этот пример предоставляет простые примеры обучения и вывода с использованием YOLOv3. Полную документацию об этих и других [режимах](../modes/index.md) см. на страницах документации по [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md). + +!!! Example "Пример" + + === "Python" + + В Python можно передавать предварительно обученные модели `*.pt` PyTorch и конфигурационные файлы `*.yaml` в класс `YOLO()`, чтобы создать экземпляр модели: + + ```python + from ultralytics import YOLO + + # Загрузка предварительно обученной модели YOLOv3n на наборе данных COCO + model = YOLO('yolov3n.pt') + + # Отображение информации о модели (необязательно) + model.info() + + # Обучение модели на примере набора данных COCO8 в течение 100 эпох + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Выполнение вывода модели YOLOv3n на изображении 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Имеются команды интерфейса командной строки для прямого запуска моделей: + + ```bash + # Загрузить предварительно обученную модель YOLOv3n на наборе данных COCO и обучить ее на примере набора данных COCO8 в течение 100 эпох + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Загрузить предварительно обученную модель YOLOv3n на наборе данных COCO и выполнить вывод на изображении 'bus.jpg' + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## Цитаты и благодарности + +Если вы используете YOLOv3 в своем исследовании, пожалуйста, цитируйте оригинальные статьи о YOLO и репозиторий Ultralytics YOLOv3: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +Благодарим Джозефа Редмона и Али Фархади за разработку оригинальной модели YOLOv3. diff --git a/docs/ru/models/yolov4.md b/docs/ru/models/yolov4.md new file mode 100644 index 00000000000..aec5f388638 --- /dev/null +++ b/docs/ru/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: Изучите наш подробный руководство по YOLOv4 - передовому обнаружителю объектов в режиме реального времени. Понимание его архитектурных особенностей, инновационных функций и примеров применения. +keywords: ultralytics, YOLOv4, обнаружение объектов, нейронные сети, обнаружение в реальном времени, детектор объектов, машинное обучение +--- + +# YOLOv4: Быстрое и точное обнаружение объектов + +Добро пожаловать на страницу документации Ultralytics по YOLOv4 - передовому обнаружителю объектов в режиме реального времени, созданному в 2020 году Алексеем Бочковским на [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). YOLOv4 разработан для обеспечения оптимального баланса между скоростью и точностью, что делает его отличным выбором для многих приложений. + +![Диаграмма архитектуры YOLOv4](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**Диаграмма архитектуры YOLOv4**. Показана сложная сетевая архитектура YOLOv4, включая компоненты основной части, шеи и головы, а также их взаимосвязанные слои для оптимального обнаружения объектов в режиме реального времени. + +## Введение + +YOLOv4 означает You Only Look Once, версия 4. Эта модель обнаружения объектов в реальном времени была разработана для преодоления ограничений предыдущих версий YOLO, таких как [YOLOv3](yolov3.md) и других моделей обнаружения объектов. В отличие от других детекторов объектов на основе сверточных нейронных сетей (CNN), YOLOv4 применим как для систем рекомендаций, так и для автономного управления процессами и уменьшения человеческого ввода. Благодаря работе на обычных графических процессорах (GPU), YOLOv4 может использоваться массово по доступной цене и разработан для работы в реальном времени на обычном GPU, требуя для обучения лишь одного такого GPU. + +## Архитектура + +YOLOv4 использует несколько инновационных функций, которые работают вместе для оптимизации его производительности. Среди них встроенные связи с резильтатами (WRC), частичные соединения между этапами (CSP), нормализация на мини-пакетах (CmBN), самоадаптивное обучение (SAT), активация Mish, аугментация данных Mosaic, регуляризация DropBlock и функция потерь CIoU. Эти функции объединены для достижения передовых результатов. + +Типичный детектор объектов состоит из нескольких частей, включая входные данные, основную часть, шейку и голову. Основа YOLOv4 предварительно обучена на наборе данных ImageNet и используется для предсказания классов и ограничивающих рамок объектов. Основа может быть представлена несколькими моделями, включая VGG, ResNet, ResNeXt или DenseNet. Часть шейки детектора используется для сбора карт признаков с разных этапов и обычно включает несколько путей снизу вверх и несколько путей сверху вниз. Головная часть используется для окончательного обнаружения и классификации объектов. + +## Bag of Freebies + +YOLOv4 также использует методы, известные как «bag of freebies», которые улучшают точность модели во время обучения без увеличения стоимости вывода. Аугментация данных - это общая техника "bag of freebies", используемая в обнаружении объектов, которая увеличивает изменчивость входных изображений для повышения устойчивости модели. Некоторые примеры аугментации данных включают фотометрические и геометрические искажения. Эти техники помогают модели лучше обобщаться для различных типов изображений. + +## Особенности и производительность + +YOLOv4 разработан для оптимальной скорости и точности обнаружения объектов. Архитектура YOLOv4 включает в себя CSPDarknet53 в качестве основы, PANet в качестве шейки и YOLOv3 в качестве головы. Это позволяет YOLOv4 выполнять обнаружение объектов с впечатляющей скоростью, что делает его подходящим для приложений в реальном времени. YOLOv4 также отличается точностью и достигает передовых результатов в тестовых бенчмарках для обнаружения объектов. + +## Примеры использования + +На момент написания данного документа Ultralytics пока не поддерживает модели YOLOv4. Поэтому все пользователи, заинтересованные в использовании YOLOv4, должны обращаться напрямую к репозиторию YOLOv4 на GitHub для инструкций по установке и использованию. + +Вот краткий обзор типичных шагов, которые вы можете предпринять для использования YOLOv4: + +1. Посетите репозиторий YOLOv4 на GitHub: [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet). + +2. Следуйте инструкциям, предоставленным в файле README для установки. Это обычно включает клонирование репозитория, установку необходимых зависимостей и настройку необходимых переменных среды. + +3. После завершения установки вы можете обучать и использовать модель в соответствии с инструкциями использования, предоставленными в репозитории. Обычно это включает подготовку ваших данных, настройку параметров модели, обучение модели и затем использование обученной модели для выполнения обнаружения объектов. + +Обратите внимание, что конкретные шаги могут отличаться в зависимости от вашего конкретного случая использования и текущего состояния репозитория YOLOv4. Поэтому настоятельно рекомендуется обращаться непосредственно к инструкциям, предоставленным в репозитории YOLOv4 на GitHub. + +Приносим извинения за возможные неудобства, и мы постараемся обновить этот документ с примерами использования для Ultralytics, как только поддержка YOLOv4 будет реализована. + +## Заключение + +YOLOv4 - это мощная и эффективная модель обнаружения объектов, которая находит баланс между скоростью и точностью. Благодаря уникальным функциям и методам "bag of freebies" во время обучения, она превосходно справляется с задачами обнаружения объектов в реальном времени. YOLOv4 может быть обучена и использована всеми, у кого есть обычный GPU, что делает ее доступной и пригодной для широкого круга применений. + +## Цитирование и благодарности + +Мы хотели бы выразить благодарность авторам YOLOv4 за их значительный вклад в область обнаружения объектов в режиме реального времени: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +Оригинальная статья YOLOv4 доступна на [arXiv](https://arxiv.org/pdf/2004.10934.pdf). Авторы сделали свою работу общедоступной, и код доступен на [GitHub](https://github.com/AlexeyAB/darknet). Мы ценим их усилия в развитии области и доступности их работы для широкого сообщества. diff --git a/docs/ru/models/yolov5.md b/docs/ru/models/yolov5.md new file mode 100644 index 00000000000..84b1b8c8601 --- /dev/null +++ b/docs/ru/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: Познакомьтесь с YOLOv5u, улучшенной версией модели YOLOv5 с улучшенным компромиссом между точностью и скоростью и множеством готовых моделей для различных задач обнаружения объектов. +keywords: YOLOv5u, обнаружение объектов, готовые модели, Ultralytics, Вывод, Проверка, YOLOv5, YOLOv8, без якорей, без учета объектности, реальное время работы, машинное обучение +--- + +# YOLOv5 + +## Обзор + +YOLOv5u представляет собой прогресс в методологиях обнаружения объектов. Исходя из основной архитектуры модели [YOLOv5](https://github.com/ultralytics/yolov5), разработанной компанией Ultralytics, YOLOv5u интегрирует разделение головы без якорей и объектности, функциональность, ранее представленную в моделях [YOLOv8](yolov8.md). Эта адаптация улучшает архитектуру модели, что приводит к улучшенному компромиссу между точностью и скоростью в задачах обнаружения объектов. Учитывая эмпирические результаты и полученные характеристики, YOLOv5u предлагает эффективную альтернативу для тех, кто ищет надежные решения как в научных исследованиях, так и в практических приложениях. + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## Основные возможности + +- **Разделение головы без якорей**: Традиционные модели обнаружения объектов полагаются на заранее определенные привязочные рамки для предсказания расположения объектов. Однако YOLOv5u модернизирует этот подход. Принимая безякорную голову, она обеспечивает более гибкий и адаптивный механизм обнаружения, что в итоге повышает производительность в различных сценариях. + +- **Оптимизированный компромисс между точностью и скоростью**: Скорость и точность часто движутся в противоположных направлениях. Но YOLOv5u вызывает этот компромисс. Она предлагает настроенный баланс, обеспечивая обнаружение в режиме реального времени без ущерба для точности. Эта функция особенно ценна для приложений, которым требуются быстрые ответы, таких как автономные транспортные средства, робототехника и аналитика видеозаписей в режиме реального времени. + +- **Разнообразие готовых моделей**: Понимая, что различные задачи требуют разного инструментария, YOLOv5u предлагает множество готовых моделей. Независимо от того, придерживаетесь ли вы вывода, проверки или обучения, вас ожидает модель, разработанная специально под вашу уникальную задачу. Это разнообразие гарантирует, что вы не используете универсальное решение, а модель, специально настроенную для вашего уникального вызова. + +## Поддерживаемые задачи и режимы + +Модели YOLOv5u с различными предварительно обученными весами превосходят в задачах [Обнаружение объектов](../tasks/detect.md). Они поддерживают широкий спектр режимов работы, что делает их подходящими для разных приложений, от разработки до развертывания. + +| Тип модели | Предварительно обученные веса | Задача | Вывод | Проверка | Обучение | Экспорт | +|------------|-----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|-------|----------|----------|---------| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +В этой таблице предоставлена подробная информация о вариантах моделей YOLOv5u, основных задачах обнаружения объектов и поддержке различных операционных режимов, таких как [Вывод](../modes/predict.md), [Проверка](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md). Эта всесторонняя поддержка позволяет пользователям полностью использовать возможности моделей YOLOv5u в широком спектре задач обнаружения объектов. + +## Показатели производительности + +!!! Производительность + + === "Обнаружение" + + См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/detect/coco/), которая включает 80 предварительно обученных классов. + + | Модель | YAML | размер
(пиксели) | mAPval
50-95 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(М) | FLOPs
(Б) | + |-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-------------------------|----------------------|--------------------------------|-------------------------------------|----------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## Примеры использования + +В этом примере приведены простые примеры обучения и вывода моделей YOLOv5. Для получения полной документации по этим и другим [режимам работы](../modes/index.md) см. страницы документации по [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md). + +!!! Example "Пример" + + === "Python" + + Предварительно обученные модели PyTorch `*.pt` и файлы конфигурации `*.yaml` можно передать классу `YOLO()` для создания экземпляра модели на Python: + + ```python + from ultralytics import YOLO + + # Загрузите предварительно обученную модель YOLOv5n на COCO + model = YOLO('yolov5n.pt') + + # Отобразить информацию о модели (опционально) + model.info() + + # Обучение модели на примере набора данных на основе COCO8 в течение 100 эпох + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Выполнение вывода с моделью YOLOv5n на изображении 'bus.jpg' + results = model('путь/к/файлу/bus.jpg') + ``` + + === "CLI" + + Доступны команды CLI для непосредственного выполнения моделей: + + ```bash + # Загрузка предварительно обученной модели YOLOv5n на COCO и обучение на примере набора данных на основе COCO8 в течение 100 эпох + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Загрузка предварительно обученной модели YOLOv5n на COCO и выполнение вывода на изображении 'bus.jpg' + yolo predict model=yolov5n.pt source=путь/к/файлу/bus.jpg + ``` + +## Цитирование и благодарности + +Если вы используете YOLOv5 или YOLOv5u в своих исследованиях, пожалуйста, ссылайтесь на репозиторий Ultralytics YOLOv5 следующим образом: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +Пожалуйста, обратите внимание, что модели YOLOv5 предоставляются под [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) и [Enterprise](https://ultralytics.com/license) лицензиями. diff --git a/docs/ru/models/yolov6.md b/docs/ru/models/yolov6.md new file mode 100644 index 00000000000..34ac079b4b1 --- /dev/null +++ b/docs/ru/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: Изучите Meituan YOLOv6 - современную модель обнаружения объектов, отличающуюся балансом между скоростью и точностью. Подробнее о функциях, предварительно обученных моделях и использовании Python. +keywords: Meituan YOLOv6, обнаружение объектов, Ultralytics, документация YOLOv6, двустороннее объединение, тренировка с использованием якорей, предварительно обученные модели, приложения в реальном времени +--- + +# Meituan YOLOv6 + +## Обзор + +[Meituan](https://about.meituan.com/) YOLOv6 - это передовая модель обнаружения объектов, которая отлично сочетает в себе скорость и точность, что делает ее популярным выбором для приложений в реальном времени. Эта модель включает несколько значимых улучшений в своей архитектуре и схеме обучения, включая внедрение модуля двустороннего объединения (BiC), стратегию тренировки с использованием якорей (AAT) и улучшенный дизайн базовой и верхней частей для достижения передовой точности на наборе данных COCO. + +![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![Изображение примера модели](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**Обзор YOLOv6.** Диаграмма архитектуры модели, показывающая переработанные компоненты сети и стратегии тренировки, которые приводят к значительному улучшению производительности. (a) Верхняя часть YOLOv6 (показаны N и S). Обратите внимание, что для M/L блок RepBlocks заменен на CSPStackRep. (b) Структура модуля BiC. (c) Блок SimCSPSPPF block. ([исходник](https://arxiv.org/pdf/2301.05586.pdf)). + +### Основные функции + +- **Модуль двустороннего объединения (BiC):** YOLOv6 включает модуль BiC в верхнюю часть детектора, улучшая сигналы локализации и обеспечивая прирост производительности при минимальном снижении скорости. +- **Стратегия тренировки с использованием якорей (AAT):** Эта модель предлагает AAT, чтобы воспользоваться преимуществами как якорных, так и бесконтурных парадигм без ущерба для эффективности вывода. +- **Улучшенный дизайн базовой и верхней частей:** Путем расширения YOLOv6 за счет добавления еще одной стадии в базовую и верхнюю часть модели достигается передовая производительность на наборе данных COCO при высоком разрешении входных изображений. +- **Стратегия самостоятельной стабилизации:** Внедряется новая стратегия самостоятельной стабилизации для повышения производительности меньших моделей YOLOv6, улучшая вспомогательное регрессионное ветвление во время тренировки и удаляя его во время вывода, чтобы избежать заметного снижения скорости. + +## Метрики производительности + +YOLOv6 предоставляет несколько предварительно обученных моделей различных масштабов: + +- YOLOv6-N: 37.5% AP на наборе данных COCO val2017 при 1187 кадрах в секунду (FPS) с использованием графического процессора NVIDIA Tesla T4. +- YOLOv6-S: 45.0% AP при 484 FPS. +- YOLOv6-M: 50.0% AP при 226 FPS. +- YOLOv6-L: 52.8% AP при 116 FPS. +- YOLOv6-L6: Передовая точность в реальном времени. + +YOLOv6 также предоставляет квантованные модели для разных точностей и модели, оптимизированные для мобильных платформ. + +## Примеры использования + +В этом примере приведены простые примеры тренировки и вывода с использованием YOLOv6. Полная документация по этим и другим [режимам](../modes/index.md) доступна на страницах документации [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) и [Export](../modes/export.md). + +!!! Example "Пример" + + === "Python" + + Модели PyTorch, предварительно обученные с помощью файлов `*.pt`, а также файлы конфигурации `*.yaml` могут быть переданы в класс `YOLO()` для создания экземпляра модели на Python: + + ```python + from ultralytics import YOLO + + # Построение модели YOLOv6n с нуля + model = YOLO('yolov6n.yaml') + + # Отображение информации о модели (по желанию) + model.info() + + # Тренировка модели на примере набора данных COCO8 в течение 100 эпох + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Вывод результатов с использованием модели YOLOv6n на изображении 'bus.jpg' + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + Доступны команды интерфейса командной строки для непосредственного запуска моделей: + + ```bash + # Построение модели YOLOv6n с нуля и тренировка на примере набора данных COCO8 в течение 100 эпох + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # Построение модели YOLOv6n с нуля и вывод результатов на изображении 'bus.jpg' + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## Поддерживаемые задачи и режимы + +Серия моделей YOLOv6 предлагает широкий выбор моделей с оптимизацией для [обнаружения объектов](../tasks/detect.md) высокой производительности. Они удовлетворяют различным вычислительным потребностям и требованиям точности, что делает их универсальными для широкого спектра приложений. + +| Тип модели | Предварительно обученные веса | Поддерживаемые задачи | Вывод результатов | Валидация | Тренировка | Экспорт | +|------------|-------------------------------|--------------------------------------------|-------------------|-----------|------------|---------| +| YOLOv6-N | `yolov6-n.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [Обнаружение объектов](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +Эта таблица предоставляет подробный обзор вариантов моделей YOLOv6, подчеркивая их возможности в задачах обнаружения объектов и совместимость с различными операционными режимами, такими как [Вывод результатов](../modes/predict.md), [Валидация](../modes/val.md), [Тренировка](../modes/train.md) и [Экспорт](../modes/export.md). Это обширная поддержка позволяет пользователям полностью использовать возможности моделей YOLOv6 в широком спектре сценариев обнаружения объектов. + +## Цитирования и благодарности + +Мы хотели бы выразить благодарность авторам исследования за их значительный вклад в области обнаружения объектов в реальном времени: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + Исходную статью об YOLOv6 можно найти на [arXiv](https://arxiv.org/abs/2301.05586). Авторы сделали свою работу общедоступной, и код доступен на [GitHub](https://github.com/meituan/YOLOv6). Мы ценим их усилия в развитии этой области и доступности их работы для широкого сообщества. diff --git a/docs/ru/models/yolov7.md b/docs/ru/models/yolov7.md new file mode 100644 index 00000000000..2d031721dbf --- /dev/null +++ b/docs/ru/models/yolov7.md @@ -0,0 +1,65 @@ +--- +comments: true +description: Исследуйте YOLOv7, реальный детектор объектов в реальном времени. Познакомьтесь с его высокой скоростью, впечатляющей точностью и уникальным фокусом на тренируемой оптимизации с использованием "мешка бесплатных улучшений". +keywords: YOLOv7, детектор объектов в реальном времени, новейший, Ultralytics, набор данных MS COCO, репараметризация модели, динамическое присвоение меток, расширенное масштабирование, компаунд-масштабирование +--- + +# YOLOv7: Тренируемый "мешок бесплатных улучшений" + +YOLOv7 - это новейший детектор объектов в реальном времени, который превосходит все известные детекторы объектов по скорости и точности в диапазоне от 5 к/с до 160 к/с. У него самая высокая точность (56,8% AP) среди всех известных детекторов объектов в режиме реального времени со скоростью 30 к/с и выше на GPU V100. Кроме того, YOLOv7 превосходит другие детекторы объектов, такие как YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 и многие другие, в скорости и точности. Модель обучается с нуля на наборе данных MS COCO без использования других наборов данных или предварительно обученных весов. Исходный код для YOLOv7 доступен на GitHub. + +![Сравнение YOLOv7 с новейшими детекторами объектов](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**Сравнение новейших детекторов объектов.** Из результатов в Таблице 2 мы знаем, что предложенный метод обеспечивает лучшее соотношение скорость-точность в целом. Если сравнивать YOLOv7-tiny-SiLU с YOLOv5-N (r6.1), наш метод быстрее на 127 к/с и точнее на 10,7% по AP. Кроме того, YOLOv7 имеет точность AP 51,4% при скорости кадров 161 к/с, в то время как PPYOLOE-L с такой же точностью имеет только скорость кадров 78 к/с. Что касается использования параметров, YOLOv7 сокращает их на 41% по сравнению с PPYOLOE-L. Если сравнить YOLOv7-X с 114 к/с скоростью вывода с YOLOv5-L (r6.1) с 99 к/с скоростью вывода, YOLOv7-X может повысить AP на 3,9%. Если сравнить YOLOv7-X с YOLOv5-X (r6.1) с похожими масштабами, скорость вывода YOLOv7-X на 31 к/с выше. Кроме того, по количеству параметров и вычислений YOLOv7-X сокращает параметры на 22% и вычисления на 8% по сравнению с YOLOv5-X (r6.1), но повышает AP на 2,2% ([Источник](https://arxiv.org/pdf/2207.02696.pdf)). + +## Обзор + +Детектирование объектов в реальном времени - это важный компонент многих систем компьютерного зрения, включая многотаргетное отслеживание, автономное вождение, робототехнику и анализ медицинских изображений. В последние годы разработка детекторов объектов в реальном времени сосредоточена на проектировании эффективных архитектур и повышении скорости вывода на различных ЦП, ГПУ и нейропроцессорах (NPUs). YOLOv7 поддерживает как мобильные графические процессоры (GPU), так и устройства GPU, от периферии до облачных вычислений. + +В отличие от традиционных детекторов объектов в реальном времени, которые сосредоточены на оптимизации архитектуры, YOLOv7 вводит концепцию оптимизации процесса обучения. Это включает модули и методы оптимизации, разработанные для повышения точности детектирования объектов без увеличения стоимости вывода, известного как "тренируемый мешок бесплатных улучшений". + +## Основные функции + +YOLOv7 предлагает несколько ключевых функций: + +1. **Репараметризация модели**: YOLOv7 предлагает запланированную переапарамеризацию модели, которая является стратегией, применимой к слоям в разных сетях с концепцией пути градиентного распространения. + +2. **Динамическое присвоение меток**: Обучение модели с несколькими выходными слоями представляет новую проблему: "Как назначить динамические цели для выходов разных ветвей?" Для решения этой проблемы YOLOv7 предлагает новый метод присвоения меток, называемый грубо-тонким присвоением меток с управлением ведущей ветви. + +3. **Расширенное и компаунд-масштабирование**: YOLOv7 предлагает методы "расширения" и "компаунд-масштабирования" для детектора объектов в реальном времени, которые эффективно используют параметры и вычисления. + +4. **Эффективность**: Метод, предложенный YOLOv7, может эффективно сокращать примерно на 40% количество параметров и на 50% вычислений известного детектора объектов в реальном времени, обеспечивая более быструю скорость вывода и более высокую точность детектирования. + +## Примеры использования + +На момент написания данного документа Ultralytics в настоящее время не поддерживает модели YOLOv7. Поэтому все пользователи, заинтересованные в использовании YOLOv7, должны обратиться непосредственно к репозиторию YOLOv7 на GitHub для инструкций по установке и использованию. + +Вот краткий обзор типичных шагов, которые могут потребоваться для использования YOLOv7: + +1. Посетите репозиторий YOLOv7 на GitHub: [https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7). + +2. Следуйте инструкциям, предоставленным в файле README по установке. Обычно это включает клонирование репозитория, установку необходимых зависимостей и настройку необходимых переменных среды. + +3. После завершения установки вы можете обучать и использовать модель в соответствии с инструкциями по использованию, предоставленными в репозитории. Обычно это включает подготовку набора данных, настройку параметров модели, обучение модели, а затем использование обученной модели для выполнения детектирования объектов. + +Обратите внимание, что конкретные шаги могут варьироваться в зависимости от вашего конкретного случая использования и текущего состояния репозитория YOLOv7. Поэтому настоятельно рекомендуется обратиться непосредственно к инструкциям, предоставленным в репозитории YOLOv7 на GitHub. + +Мы сожалеем обо всех неудобствах, которые это может вызвать, и будем стараться обновлять этот документ с примерами использования для Ultralytics, как только будет реализована поддержка YOLOv7. + +## Цитирования и благодарности + +Мы хотели бы выразить признательность авторам YOLOv7 за их значительный вклад в области детектирования объектов в реальном времени: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +Исходную статью YOLOv7 можно найти на [arXiv](https://arxiv.org/pdf/2207.02696.pdf). Авторы опубликовали свою работу публично, и код доступен на [GitHub](https://github.com/WongKinYiu/yolov7). Мы ценим их усилия в совершенствовании этой области и доступности своей работы для широкой общественности. diff --git a/docs/ru/models/yolov8.md b/docs/ru/models/yolov8.md new file mode 100644 index 00000000000..da8ce41c2e3 --- /dev/null +++ b/docs/ru/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: Изучите захватывающие возможности YOLOv8, последней версии нашего детектора объектов в реальном времени! Узнайте, как передовая архитектура, предварительно обученные модели и оптимальное сочетание точности и скорости делают YOLOv8 идеальным выбором для ваших задач по обнаружению объектов. +keywords: YOLOv8, Ultralytics, детектор объектов в реальном времени, предварительно обученные модели, документация, обнаружение объектов, серия YOLO, передовая архитектура, точность, скорость +--- + +# YOLOv8 + +## Обзор + +YOLOv8 - это последняя версия в серии детекторов объектов в реальном времени YOLO, обеспечивающая передовую производительность в терминах точности и скорости. Основываясь на достижениях предыдущих версий YOLO, YOLOv8 вводит новые возможности и оптимизации, делая его идеальным выбором для различных задач по обнаружению объектов в широком спектре приложений. + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## Основные возможности + +- **Передовые архитектуры основы и шеи:** YOLOv8 использует передовые архитектуры основы и шеи, что приводит к улучшенному извлечению признаков и производительности обнаружения объектов. +- **Ключевая голова Ultralytics без якорей:** YOLOv8 применяет ключевую голову Ultralytics без якорей, что способствует более точному обнаружению и более эффективному процессу обнаружения по сравнению с якорными подходами. +- **Оптимальное сочетание точности и скорости:** С основным акцентом на поддержании оптимального баланса между точностью и скоростью, YOLOv8 подходит для задач обнаружения объектов в режиме реального времени в различных областях применения. +- **Разнообразие предварительно обученных моделей:** YOLOv8 предлагает ряд предварительно обученных моделей для различных задач и требований к производительности, что упрощает выбор подходящей модели для конкретного случая использования. + +## Поддерживаемые задачи и режимы работы + +Серия YOLOv8 предлагает разнообразные модели, каждая из которых специализирована для конкретных задач в компьютерном зрении. Эти модели разработаны для удовлетворения различных требований, от обнаружения объектов до более сложных задач, таких как сегментация экземпляров, определение позы/ключевых точек и классификация. + +Каждая вариация серии YOLOv8 оптимизирована для своей соответствующей задачи, обеспечивая высокую производительность и точность. Кроме того, эти модели совместимы со множеством режимов работы, включая [Вывод](../modes/predict.md), [Проверку](../modes/val.md), [Обучение](../modes/train.md) и [Экспорт](../modes/export.md), что облегчает их использование на различных этапах развертывания и разработки. + +| Модель | Названия файлов | Задача | Вывод | Проверка | Обучение | Экспорт | +|-------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------|-------|----------|----------|---------| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Обнаружение](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Сегментация экземпляров](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [Поза/ключевые точки](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [Классификация](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +Данная таблица предоставляет обзор вариантов моделей YOLOv8, подчеркивая их применимость к конкретным задачам и их совместимость с различными режимами работы, такими как Вывод, Проверка, Обучение и Экспорт. Это демонстрирует гибкость и надежность серии YOLOv8, что делает их подходящими для широкого спектра приложений в компьютерном зрении. + +## Показатели производительности + +!!! Производительность + + === "Обнаружение (COCO)" + + См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/detect/coco/), включающих 80 предварительно обученных классов. + + | Модель | размер
(пиксели) | mAPval
50-95 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(М) | FLOPs
(Б) | + | ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "Обнаружение (Open Images V7)" + + См. [Документацию по обнаружению](https://docs.ultralytics.com/tasks/detect/) для примеров использования этих моделей, обученных на [Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/), включающих 600 предварительно обученных классов. + + | Модель | размер
(пиксели) | mAPval
50-95 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(М) | FLOPs
(Б) | + | ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "Сегментация (COCO)" + + См. [Документацию по сегментации](https://docs.ultralytics.com/tasks/segment/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/segment/coco/), включающих 80 предварительно обученных классов. + + | Модель | размер
(пиксели) | mAPbox
50-95 | mAPmask
50-95 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(M) | FLOPs
(Б) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "Классификация (ImageNet)" + + См. [Документацию по классификации](https://docs.ultralytics.com/tasks/classify/) для примеров использования этих моделей, обученных на [ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/), включающих 1000 предварительно обученных классов. + + | Модель | размер
(пиксели) | acc
top1 | acc
top5 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(M) | FLOPs
(Б) при 640 | + | -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "Поза (COCO)" + + См. [Документацию по оценке позы](https://docs.ultralytics.com/tasks/segment/) для примеров использования этих моделей, обученных на [COCO](https://docs.ultralytics.com/datasets/pose/coco/), включающих 1 предварительно обученный класс - 'person'. + + | Модель | размер
(пиксели) | mAPpose
50-95 | mAPpose
50 | Скорость
CPU ONNX
(мс) | Скорость
A100 TensorRT
(мс) | параметры
(M) | FLOPs
(Б) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## Примеры использования + +В этом примере представлены простые примеры обучения и вывода с использованием YOLOv8. Для полной документации об этих и других [режимах](../modes/index.md) см. страницы документации по [Предсказанию](../modes/predict.md), [Обучению](../modes/train.md), [Проверке](../modes/val.md) и [Экспорту](../modes/export.md). + +Обратите внимание, что приведенный ниже пример относится к моделям YOLOv8 для [Детекции](../tasks/detect.md) объектов. Для дополнительных поддерживаемых задач см. документацию по [Сегментации](../tasks/segment.md), [Классификации](../tasks/classify.md) и [Позе](../tasks/pose.md). + +!!! Example "Пример" + + === "Python" + + Предварительно обученные модели PyTorch `*.pt`, а также файлы конфигурации `*.yaml` могут быть переданы классу `YOLO()` для создания экземпляра модели на Python: + + ```python + from ultralytics import YOLO + + # Загрузите предварительно обученную модель YOLOv8n для COCO + model = YOLO('yolov8n.pt') + + # Отобразить информацию о модели (по желанию) + model.info() + + # Обучите модель на примере набора данных COCO8 в течение 100 эпох + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # Выполните вывод с использованием модели YOLOv8n на изображении 'bus.jpg' + results = model('путь/к/изображению/bus.jpg') + ``` + + === "CLI" + + Доступны команды CLI для прямого запуска моделей: + + ```bash + # Загрузите предварительно обученную модель YOLOv8n для COCO и обучите ее на примере набора данных COCO8 в течение 100 эпох + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # Загрузить предварительно обученную модель YOLOv8n для COCO и выполнить вывод на изображении 'bus.jpg' + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## Цитирование и благодарности + +Если вы используете модель YOLOv8 или любое другое программное обеспечение из этого репозитория в своей работе, пожалуйста, процитируйте его в следующем формате: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +Обратите внимание, что идентификатор цифрового объекта (DOI) находится на стадии получения и будет добавлен в цитирование, как только он станет доступным. Модели YOLOv8 предоставляются под лицензией [AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) и лицензией [Enterprise](https://ultralytics.com/license). diff --git a/docs/zh/models/fast-sam.md b/docs/zh/models/fast-sam.md new file mode 100644 index 00000000000..ab7f269b803 --- /dev/null +++ b/docs/zh/models/fast-sam.md @@ -0,0 +1,193 @@ +--- +comments: true +description: FastSAM是一种基于卷积神经网络的实时图像对象分割解决方案。它提供了卓越的用户交互功能、计算效率以及适用于多种视觉任务的特性。 +keywords: FastSAM, 机器学习, 基于卷积神经网络的解决方案, 图像对象分割, 实时解决方案, Ultralytics, 视觉任务, 图像处理, 工业应用, 用户交互 +--- + +# Fast Segment Anything Model(FastSAM) + +Fast Segment Anything Model(FastSAM)是一种创新的实时卷积神经网络(CNN)模型,用于图像中的任意对象分割任务。该任务旨在根据各种可能的用户交互提示,对图像中的任意对象进行分割。FastSAM在保持具备竞争性能的同时,显著降低了计算需求,使其成为各种视觉任务的实用选择。 + +![Fast Segment Anything Model(FastSAM)架构概述](https://user-images.githubusercontent.com/26833433/248551984-d98f0f6d-7535-45d0-b380-2e1440b52ad7.jpg) + +## 概述 + +FastSAM旨在解决[Segment Anything Model(SAM)](sam.md)的局限性,SAM是一种计算资源需求很高的Transformer模型。FastSAM将任意对象分割任务拆分为两个顺序阶段:所有实例分割和提示引导选择。第一阶段使用[YOLOv8-seg](../tasks/segment.md)生成图像中所有实例的分割掩码。在第二阶段,输出与提示对应的感兴趣区域。 + +## 主要特点 + +1. **实时解决方案:** FastSAM利用CNN的计算效率提供了图像中任意对象分割任务的实时解决方案,适用于需要快速结果的工业应用。 + +2. **高效和高性能:** FastSAM在显著降低计算和资源需求的同时,不会降低性能质量。它与SAM具有相当的性能,但计算资源大幅减少,能够实现实时应用。 + +3. **提示引导分割:** FastSAM可以通过各种可能的用户交互提示来分割图像中的任意对象,提供了不同场景下的灵活性和适应性。 + +4. **基于YOLOv8-seg:** FastSAM基于[YOLOv8-seg](../tasks/segment.md),是一种配备实例分割分支的目标检测器。这使得它能够有效地生成图像中所有实例的分割掩码。 + +5. **基准测试中具有竞争力的结果:** 在MS COCO的对象提议任务中,FastSAM在单个NVIDIA RTX 3090上以显著更快的速度获得高分,与[SAM](sam.md)相比,显示出其效率和能力。 + +6. **实际应用:** 提出的方法以非常高的速度为大量视觉任务提供了一种新的实用解决方案,比当前方法快十几倍乃至数百倍。 + +7. **模型压缩的可行性:** FastSAM通过引入人工先验到结构中,展示了通过路径显著减少计算工作量的可行性,为通用视觉任务的大型模型架构开辟了新的可能性。 + +## 可用模型、支持的任务和操作模式 + +该表格列出了可用的模型及其特定的预训练权重,它们支持的任务以及它们与不同操作模式(如[推断](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))的兼容性,由支持的模式用✅表示,不支持的模式用❌表示。 + +| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 | +|-----------|----------------|-----------------------------|----|----|----|----| +| FastSAM-s | `FastSAM-s.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| FastSAM-x | `FastSAM-x.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## 用法示例 + +FastSAM模型很容易集成到Python应用程序中。Ultralytics提供了用户友好的Python API和CLI命令以简化开发。 + +### 预测用法 + +要对图像进行对象检测,可以使用下面的`predict`方法: + +!!! Example "示例" + + === "Python" + ```python + from ultralytics import FastSAM + from ultralytics.models.fastsam import FastSAMPrompt + + # 定义推断源 + source = 'path/to/bus.jpg' + + # 创建FastSAM模型 + model = FastSAM('FastSAM-s.pt') # 或 FastSAM-x.pt + + # 在图像上运行推断 + everything_results = model(source, device='cpu', retina_masks=True, imgsz=1024, conf=0.4, iou=0.9) + + # 准备Prompt Process对象 + prompt_process = FastSAMPrompt(source, everything_results, device='cpu') + + # Everything提示 + ann = prompt_process.everything_prompt() + + # Bbox默认形状[0,0,0,0] -> [x1,y1,x2,y2] + ann = prompt_process.box_prompt(bbox=[200, 200, 300, 300]) + + # 文本提示 + ann = prompt_process.text_prompt(text='a photo of a dog') + + # 点提示 + # 默认点[[0,0]] [[x1,y1],[x2,y2]] + # 默认point_label [0] [1,0] 0:背景,1:前景 + ann = prompt_process.point_prompt(points=[[200, 200]], pointlabel=[1]) + prompt_process.plot(annotations=ann, output='./') + ``` + + === "CLI" + ```bash + # 加载FastSAM模型并使用该模型分割图像中的所有对象 + yolo segment predict model=FastSAM-s.pt source=path/to/bus.jpg imgsz=640 + ``` + +此片段演示了加载预训练模型并在图像上进行预测的简单性。 + +### 验证用法 + +可以采用以下方式对数据集上的模型进行验证: + +!!! Example "示例" + + === "Python" + ```python + from ultralytics import FastSAM + + # 创建FastSAM模型 + model = FastSAM('FastSAM-s.pt') # 或 FastSAM-x.pt + + # 验证模型 + results = model.val(data='coco8-seg.yaml') + ``` + + === "CLI" + ```bash + # 加载FastSAM模型,并在COCO8示例数据集上进行验证,图像大小为640 + yolo segment val model=FastSAM-s.pt data=coco8.yaml imgsz=640 + ``` + +请注意,FastSAM仅支持检测和分割单个类别的对象。这意味着它将识别和分割所有对象为相同的类别。因此,在准备数据集时,需要将所有对象的类别ID转换为0。 + +## FastSAM官方用法 + +FastSAM也可以直接从[https://github.com/CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM)存储库中获取。以下是您可能采取的使用FastSAM的典型步骤的简要概述: + +### 安装 + +1. 克隆FastSAM存储库: + ```shell + git clone https://github.com/CASIA-IVA-Lab/FastSAM.git + ``` + +2. 创建并激活一个带有Python 3.9的Conda环境: + ```shell + conda create -n FastSAM python=3.9 + conda activate FastSAM + ``` + +3. 进入克隆的存储库并安装所需的软件包: + ```shell + cd FastSAM + pip install -r requirements.txt + ``` + +4. 安装CLIP模型: + ```shell + pip install git+https://github.com/openai/CLIP.git + ``` + +### 示例用法 + +1. 下载[模型检查点](https://drive.google.com/file/d/1m1sjY4ihXBU1fZXdQ-Xdj-mDltW-2Rqv/view?usp=sharing)。 + +2. 使用FastSAM进行推断。示例命令: + + - 在图像中分割所有内容: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg + ``` + + - 使用文本提示分割特定对象: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog" + ``` + + - 在边界框中分割对象(以xywh格式提供边界框坐标): + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[570,200,230,400]" + ``` + + - 在特定点附近分割对象: + ```shell + python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --point_prompt "[[520,360],[620,300]]" --point_label "[1,0]" + ``` + +此外,您可以在[Colab演示](https://colab.research.google.com/drive/1oX14f6IneGGw612WgVlAiy91UHwFAvr9?usp=sharing)上尝试FastSAM,或在[HuggingFace Web演示](https://huggingface.co/spaces/An-619/FastSAM)上进行可视化体验。 + +## 引用和致谢 + +我们要感谢FastSAM作者在实时实例分割领域作出的重要贡献: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{zhao2023fast, + title={Fast Segment Anything}, + author={Xu Zhao and Wenchao Ding and Yongqi An and Yinglong Du and Tao Yu and Min Li and Ming Tang and Jinqiao Wang}, + year={2023}, + eprint={2306.12156}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +可在[arXiv](https://arxiv.org/abs/2306.12156)上找到原始的FastSAM论文。作者已经公开了他们的工作,代码库可以在[GitHub](https://github.com/CASIA-IVA-Lab/FastSAM)上获取。我们感谢他们在推动该领域以及使他们的工作对更广泛的社区可访问方面所做的努力。 diff --git a/docs/zh/models/index.md b/docs/zh/models/index.md index ac51809ec78..a9a29db8ade 100644 --- a/docs/zh/models/index.md +++ b/docs/zh/models/index.md @@ -1,51 +1,55 @@ --- comments: true -description: 探索 Ultralytics 支持的 YOLO 系列、SAM、MobileSAM、FastSAM、YOLO-NAS 和 RT-DETR 模型多样化的范围。提供 CLI 和 Python 使用的示例以供入门。 +description: 探索 Ultralytics 支持的多样化 YOLO 系列、SAM、MobileSAM、FastSAM、YOLO-NAS 和 RT-DETR 模型。开启您的 CLI 和 Python 使用示例之旅。 keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, 模型, 架构, Python, CLI --- # Ultralytics 支持的模型 -欢迎来到 Ultralytics 的模型文档!我们支持多种模型,每种模型都针对特定任务进行了优化,如[对象检测](/../tasks/detect.md)、[实例分割](/../tasks/segment.md)、[图像分类](/../tasks/classify.md)、[姿态估计](/../tasks/pose.md)和[多对象追踪](/../modes/track.md)。如果您有兴趣将您的模型架构贡献给 Ultralytics,请查看我们的[贡献指南](/../help/contributing.md)。 +欢迎来到 Ultralytics 的模型文档!我们提供多种模型的支持,每种模型都针对特定任务量身定做,如[对象检测](../tasks/detect.md)、[实例分割](../tasks/segment.md)、[图像分类](../tasks/classify.md)、[姿态估计](../tasks/pose.md)以及[多对象跟踪](../modes/track.md)。如果您有兴趣将您的模型架构贡献给 Ultralytics,请查看我们的[贡献指南](../../help/contributing.md)。 -!!! Note "笔记" +!!! Note "注意" - Ultralytics 团队正忙于将文档翻译成多种语言。本页面上的链接目前可能会导向英文文档页面,因为我们正在努力扩展多语言文档支持。感谢您的耐心等待 🙏! + 🚧 我们的多语言文档目前正在建设中,我们正在努力进行完善。感谢您的耐心等待!🙏 ## 特色模型 -以下是一些关键支持的模型: +以下是一些关键模型的介绍: -1. **[YOLOv3](/../models/yolov3.md)**:YOLO 模型系列的第三个版本,最初由 Joseph Redmon 提出,以其高效的实时对象检测能力而闻名。 -2. **[YOLOv4](/../models/yolov4.md)**:YOLOv3 的 darknet 本地更新,由 Alexey Bochkovskiy 在 2020 年发布。 -3. **[YOLOv5](/../models/yolov5.md)**:Ultralytics 改进的 YOLO 架构版本,与之前的版本相比提供了更好的性能和速度折中选择。 -4. **[YOLOv6](/../models/yolov6.md)**:由 [美团](https://about.meituan.com/) 在 2022 年发布,并在公司众多自主配送机器人中使用。 -5. **[YOLOv7](/../models/yolov7.md)**:YOLOv4 作者在 2022 年发布的更新版 YOLO 模型。 -6. **[YOLOv8](/../models/yolov8.md)**:YOLO 系列的最新版本,具备增强的功能,如实例分割、姿态/关键点估计和分类。 -7. **[Segment Anything Model (SAM)](/../models/sam.md)**:Meta's Segment Anything Model (SAM)。 -8. **[Mobile Segment Anything Model (MobileSAM)](/../models/mobile-sam.md)**:由庆熙大学为移动应用程序打造的 MobileSAM。 -9. **[Fast Segment Anything Model (FastSAM)](/../models/fast-sam.md)**:中国科学院自动化研究所图像与视频分析组的 FastSAM。 -10. **[YOLO-NAS](/../models/yolo-nas.md)**:YOLO 神经架构搜索 (NAS) 模型。 -11. **[Realtime Detection Transformers (RT-DETR)](/../models/rtdetr.md)**:百度 PaddlePaddle 实时检测变换器 (RT-DETR) 模型。 +1. **[YOLOv3](yolov3.md)**:由 Joseph Redmon 最初开发的 YOLO 模型家族的第三版,以其高效的实时对象检测能力而闻名。 +2. **[YOLOv4](yolov4.md)**:由 Alexey Bochkovskiy 在 2020 年发布的 YOLOv3 的 darknet 原生更新版本。 +3. **[YOLOv5](yolov5.md)**:Ultralytics 改进的 YOLO 架构版本,与先前版本相比,提供了更好的性能和速度权衡。 +4. **[YOLOv6](yolov6.md)**:由[美团](https://about.meituan.com/)在 2022 年发布,用于公司多个自主送货机器人中。 +5. **[YOLOv7](yolov7.md)**:YOLOv4 作者在 2022 年发布的更新版 YOLO 模型。 +6. **[YOLOv8](yolov8.md) NEW 🚀**:YOLO 家族的最新版本,具备实例分割、姿态/关键点估计和分类等增强能力。 +7. **[Segment Anything Model (SAM)](sam.md)**:Meta 的 Segment Anything Model (SAM)。 +8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**:由庆熙大学开发的移动应用 MobileSAM。 +9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**:中国科学院自动化研究所图像与视频分析组开发的 FastSAM。 +10. **[YOLO-NAS](yolo-nas.md)**:YOLO 神经网络结构搜索 (NAS) 模型。 +11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**:百度 PaddlePaddle 实时检测变换器 (RT-DETR) 模型。



- 观看:仅使用几行代码运行 Ultralytics YOLO 模型。 + 观看: 使用 Ultralytics YOLO 模型在几行代码中运行。

## 入门:使用示例 +此示例提供了简单的 YOLO 训练和推理示例。有关这些和其他[模式](../modes/index.md)的完整文档,请查看[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md) 和 [Export](../modes/export.md) 文档页面。 + +请注意,以下示例适用于对象检测的 YOLOv8 [Detect](../tasks/detect.md) 模型。有关其他支持任务的详细信息,请查看[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md) 和 [Pose](../tasks/pose.md) 文档。 + !!! Example "示例" === "Python" - PyTorch 预训练的 `*.pt` 模型以及配置 `*.yaml` 文件都可以传递给 `YOLO()`、`SAM()`、`NAS()` 和 `RTDETR()` 类来在 Python 中创建模型实例: + 可将 PyTorch 预训练的 `*.pt` 模型以及配置文件 `*.yaml` 传入 `YOLO()`、`SAM()`、`NAS()` 和 `RTDETR()` 类,以在 Python 中创建模型实例: ```python from ultralytics import YOLO @@ -68,7 +72,7 @@ keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, CLI 命令可直接运行模型: ```bash - # 加载 COCO 预训练的 YOLOv8n 模型,并在 COCO8 示例数据集上训练它 100 个周期 + # 加载 COCO 预训练的 YOLOv8n 模型,并在 COCO8 示例数据集上训练 100 个周期 yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 # 加载 COCO 预训练的 YOLOv8n 模型,并对 'bus.jpg' 图像进行推理 @@ -77,18 +81,18 @@ keywords: Ultralytics, 文档, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, ## 贡献新模型 -有兴趣将您的模型贡献给 Ultralytics 吗?太好了!我们始终欢迎扩展我们的模型组合。 +有兴趣将您的模型贡献给 Ultralytics 吗?太好了!我们始终欢迎扩展我们的模型投资组合。 -1. **Fork 仓库**:首先 Fork [Ultralytics GitHub 仓库](https://github.com/ultralytics/ultralytics)。 +1. **Fork 仓库**:从 Fork [Ultralytics GitHub 仓库](https://github.com/ultralytics/ultralytics) 开始。 -2. **克隆您的 Fork**:将您的 Fork 克隆到本地机器上,并创建一个新分支进行工作。 +2. **克隆您的 Fork**:将您的 Fork 克隆到您的本地机器,并创建一个新的分支进行工作。 -3. **实现您的模型**:按照我们在[贡献指南](/../help/contributing.md)中提供的编码标准和指南添加您的模型。 +3. **实现您的模型**:按照我们在[贡献指南](../../help/contributing.md)中提供的编码标准和指南添加您的模型。 -4. **彻底测试**:确保彻底测试您的模型,无论是独立还是作为整个管道的一部分。 +4. **彻底测试**:确保彻底测试您的模型,无论是独立测试还是作为流水线的一部分。 -5. **创建 Pull Request**:一旦您对您的模型感到满意,请创建一个到主仓库的 Pull Request 以便审查。 +5. **创建拉取请求**:一旦您对您的模型满意,就创建一个拉取请求以供主仓库审查。 -6. **代码审查与合并**:经审查,如果您的模型符合我们的标准,它将被合并到主仓库中。 +6. **代码审查与合并**:经过审查,如果您的模型符合我们的标准,它将被合并到主仓库中。 -有关详细步骤,请参阅我们的[贡献指南](/../help/contributing.md)。 +有关详细步骤,请参阅我们的[贡献指南](../../help/contributing.md)。 diff --git a/docs/zh/models/mobile-sam.md b/docs/zh/models/mobile-sam.md new file mode 100644 index 00000000000..98b191dbd98 --- /dev/null +++ b/docs/zh/models/mobile-sam.md @@ -0,0 +1,116 @@ +--- +comments: true +description: 了解有关MobileSAM的更多信息,包括其实现、与原始SAM的比较,以及在Ultralytics框架中如何下载和测试它。立即改进您的移动应用程序。 +keywords: MobileSAM, Ultralytics, SAM, 移动应用, Arxiv, GPU, API, 图像编码器, 蒙版解码器, 模型下载, 测试方法 +--- + +![MobileSAM Logo](https://github.com/ChaoningZhang/MobileSAM/blob/master/assets/logo2.png?raw=true) + +# 移动端细分模型(MobileSAM) + +MobileSAM 论文现在可以在 [arXiv](https://arxiv.org/pdf/2306.14289.pdf) 上找到。 + +可以通过此 [演示链接](https://huggingface.co/spaces/dhkim2810/MobileSAM) 访问在 CPU 上运行的 MobileSAM 演示。在 Mac i5 CPU 上,性能大约需要 3 秒。在 Hugging Face 的演示中,界面和性能较低的 CPU 导致响应较慢,但它仍然能有效地工作。 + +MobileSAM 已在 Grounding-SAM、AnyLabeling 和 Segment Anything in 3D 等多个项目中实施。您可以在 [Grounding-SAM](https://github.com/IDEA-Research/Grounded-Segment-Anything)、[AnyLabeling](https://github.com/vietanhdev/anylabeling) 和 [Segment Anything in 3D](https://github.com/Jumpat/SegmentAnythingin3D) 上找到这些项目。 + +MobileSAM 使用单个 GPU 在不到一天的时间内对 10 万个数据集(原始图像的 1%)进行训练。关于此训练的代码将在将来提供。 + +## 可用模型、支持的任务和操作模式 + +以下表格显示了可用模型及其具体的预训练权重,它们支持的任务以及与不同操作模式([预测](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md) 和 [导出](../modes/export.md))的兼容性,其中支持的模式用 ✅ 表示,不支持的模式用 ❌ 表示。 + +| 模型类型 | 预训练权重 | 支持的任务 | 预测 | 验证 | 训练 | 导出 | +|-----------|-----------------|-----------------------------|----|----|----|----| +| MobileSAM | `mobile_sam.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## 从 SAM 迁移到 MobileSAM + +由于 MobileSAM 保留了与原始 SAM 相同的流程,我们已将原始 SAM 的预处理、后处理和所有其他接口整合到 MobileSAM 中。因此,目前使用原始 SAM 的用户可以以最小的努力迁移到 MobileSAM。 + +MobileSAM 在性能上与原始 SAM 相当,并保留了相同的流程,只是更改了图像编码器。具体而言,我们用较小的 Tiny-ViT(5M)替换了原始的笨重的 ViT-H 编码器(632M)。在单个 GPU 上,MobileSAM 每张图片的运行时间约为 12 毫秒:图像编码器约 8 毫秒,蒙版解码器约 4 毫秒。 + +以下表格比较了基于 ViT 的图像编码器: + +| 图像编码器 | 原始 SAM | MobileSAM | +|-------|--------|-----------| +| 参数 | 611M | 5M | +| 速度 | 452ms | 8ms | + +原始 SAM 和 MobileSAM 均使用相同的提示引导蒙版解码器: + +| 蒙版解码器 | 原始 SAM | MobileSAM | +|-------|--------|-----------| +| 参数 | 3.876M | 3.876M | +| 速度 | 4ms | 4ms | + +以下是整个流程的比较: + +| 整个流程(编码器+解码器) | 原始 SAM | MobileSAM | +|---------------|--------|-----------| +| 参数 | 615M | 9.66M | +| 速度 | 456ms | 12ms | + +MobileSAM 和原始 SAM 的性能通过使用点和框作为提示进行演示。 + +![点作为提示的图像](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +![框作为提示的图像](https://raw.githubusercontent.com/ChaoningZhang/MobileSAM/master/assets/mask_box.jpg?raw=true) + +MobileSAM 的性能优于当前的 FastSAM,尺寸大约减小了 5 倍,速度快了约 7 倍。有关更多详细信息,请访问 [MobileSAM 项目页面](https://github.com/ChaoningZhang/MobileSAM)。 + +## 在 Ultralytics 中测试 MobileSAM + +与原始 SAM 一样,我们在 Ultralytics 中提供了一种简单的测试方法,包括点提示和框提示的模式。 + +### 模型下载 + +您可以在 [这里](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt) 下载模型。 + +### 点提示 + +!!! Example "示例" + + === "Python" + ```python + from ultralytics import SAM + + # 载入模型 + model = SAM('mobile_sam.pt') + + # 基于点提示预测一个分段 + model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +### 框提示 + +!!! Example "示例" + + === "Python" + ```python + from ultralytics import SAM + + # 载入模型 + model = SAM('mobile_sam.pt') + + # 基于框提示预测一个分段 + model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + ``` + +我们使用相同的 API 实现了 `MobileSAM` 和 `SAM`。有关更多用法信息,请参阅 [SAM 页面](sam.md)。 + +## 引用和鸣谢 + +如果您在研究或开发工作中发现 MobileSAM 对您有用,请考虑引用我们的论文: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{mobile_sam, + title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications}, + author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon}, + journal={arXiv preprint arXiv:2306.14289}, + year={2023} + } diff --git a/docs/zh/models/rtdetr.md b/docs/zh/models/rtdetr.md new file mode 100644 index 00000000000..e6940d1aa88 --- /dev/null +++ b/docs/zh/models/rtdetr.md @@ -0,0 +1,93 @@ +--- +comments: true +description: 了解百度的RT-DETR,一种基于Vision Transformers的高效灵活的实时目标检测器,包括预训练模型的特性和优势。 +keywords: RT-DETR、Baidu、Vision Transformers、目标检测、实时表现、CUDA、TensorRT、IoU感知的查询选择、Ultralytics、Python API、PaddlePaddle +--- + +# 百度的RT-DETR:基于Vision Transformers的实时目标检测器 + +## 概览 + +百度开发的实时检测变换器(RT-DETR)是一种尖端的端到端目标检测器,具有实时性能和高准确性。它利用Vision Transformers (ViT) 的强大功能,通过解耦内部尺度交互和跨尺度融合,高效处理多尺度特征。RT-DETR非常灵活适应各种推断速度的调整,支持使用不同的解码器层而无需重新训练。该模型在CUDA和TensorRT等加速后端上表现出色,超越了许多其他实时目标检测器。 + +![模型示例图像](https://user-images.githubusercontent.com/26833433/238963168-90e8483f-90aa-4eb6-a5e1-0d408b23dd33.png) +**百度的RT-DETR概览** 百度的RT-DETR模型架构图显示了骨干网的最后三个阶段{S3, S4, S5}作为编码器输入。高效的混合编码器通过内部尺度特征交互(AIFI)和跨尺度特征融合模块(CCFM)将多尺度特征转换为图像特征序列。采用IoU感知的查询选择来选择一定数量的图像特征作为解码器的初始对象查询。最后,解码器通过辅助预测头迭代优化对象查询,生成框和置信度得分。([文章来源](https://arxiv.org/pdf/2304.08069.pdf)) + +### 主要特点 + +- **高效的混合编码器:** 百度的RT-DETR使用高效的混合编码器,通过解耦内部尺度交互和跨尺度融合来处理多尺度特征。这种独特的Vision Transformers架构降低了计算成本,实现实时目标检测。 +- **IoU感知的查询选择:** 百度的RT-DETR利用IoU感知的查询选择改进了对象查询的初始化。这使得模型能够聚焦于场景中最相关的对象,提高了检测准确性。 +- **灵活的推断速度:** 百度的RT-DETR支持使用不同的解码器层灵活调整推断速度,无需重新训练。这种适应性有助于在各种实时目标检测场景中实际应用。 + +## 预训练模型 + +Ultralytics Python API提供了不同尺度的预训练PaddlePaddle RT-DETR模型: + +- RT-DETR-L: 在COCO val2017上达到53.0%的AP,在T4 GPU上达到114 FPS +- RT-DETR-X: 在COCO val2017上达到54.8%的AP,在T4 GPU上达到74 FPS + +## 使用示例 + +此示例提供了简单的RT-DETR训练和推断示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参阅[预测](../modes/predict.md)、[训练](../modes/train.md)、[验证](../modes/val.md)和[导出](../modes/export.md)文档页面。 + +!!! Example "示例" + + === "Python" + + ```python + from ultralytics import RTDETR + + # 加载预训练的COCO RT-DETR-l模型 + model = RTDETR('rtdetr-l.pt') + + # 显示模型信息(可选) + model.info() + + # 使用COCO8示例数据集对模型进行100个epoch的训练 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 使用RT-DETR-l模型在'bus.jpg'图像上运行推断 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + ```bash + # 加载预训练的COCO RT-DETR-l模型,并在COCO8示例数据集上进行100个epoch的训练 + yolo train model=rtdetr-l.pt data=coco8.yaml epochs=100 imgsz=640 + + # 加载预训练的COCO RT-DETR-l模型,并在'bus.jpg'图像上运行推断 + yolo predict model=rtdetr-l.pt source=path/to/bus.jpg + ``` + +## 支持的任务和模式 + +该表格提供了各个模型类型、具体的预训练权重、各个模型支持的任务以及支持的各种模式([训练](../modes/train.md)、[验证](../modes/val.md)、[预测](../modes/predict.md)、[导出](../modes/export.md)),其中✅表示支持。 + +| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 | +|---------------------|---------------|----------------------------|----|----|----|----| +| RT-DETR-Large | `rtdetr-l.pt` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| RT-DETR-Extra-Large | `rtdetr-x.pt` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +## 引用和致谢 + +如果你在研究或开发中使用了百度的RT-DETR,请引用[原始论文](https://arxiv.org/abs/2304.08069): + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{lv2023detrs, + title={DETRs Beat YOLOs on Real-time Object Detection}, + author={Wenyu Lv and Shangliang Xu and Yian Zhao and Guanzhong Wang and Jinman Wei and Cheng Cui and Yuning Du and Qingqing Dang and Yi Liu}, + year={2023}, + eprint={2304.08069}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +我们要感谢百度和[PaddlePaddle](https://github.com/PaddlePaddle/PaddleDetection)团队为计算机视觉社区创建和维护了这个宝贵的资源。非常感谢他们使用基于Vision Transformers的实时目标检测器RT-DETR在该领域做出的贡献。 + +*keywords: RT-DETR、Transformer、ViT、Vision Transformers、Baidu RT-DETR、PaddlePaddle、Paddle Paddle RT-DETR,实时目标检测、基于Vision Transformers的目标检测、预训练的PaddlePaddle RT-DETR模型、百度RT-DETR的使用、Ultralytics Python API* diff --git a/docs/zh/models/sam.md b/docs/zh/models/sam.md new file mode 100644 index 00000000000..057f1895ecd --- /dev/null +++ b/docs/zh/models/sam.md @@ -0,0 +1,226 @@ +--- +comments: true +description: 探索来自Ultralytics的最前沿的Segment Anything Model (SAM),它可以进行实时图像分割。了解其可提示分割、零样本性能以及如何使用它。 +keywords: Ultralytics,图像分割,Segment Anything Model,SAM,SA-1B数据集,实时性能,零样本转移,目标检测,图像分析,机器学习 +--- + +# Segment Anything Model (SAM) + +欢迎来到使用Segment Anything Model (SAM) 进行图像分割的前沿。这个革命性的模型通过引入可以提示的实时图像分割,树立了领域新的标准。 + +## SAM的介绍:Segment Anything Model + +Segment Anything Model (SAM) 是一种先进的图像分割模型,可以进行可提示的分割,为图像分析任务提供了前所未有的灵活性。SAM 是Segment Anything 项目的核心,该项目引入了一种新颖的模型、任务和图像分割数据集。 + +SAM 先进的设计允许它在没有先验知识的情况下适应新的图像分布和任务,这个特点被称为零样本转移。SAM 在包含11亿个掩模的SA-1B数据集上进行训练,该数据集包含超过1100万张精心策划的图像,SAM 在零样本任务中表现出色,许多情况下超过了之前的完全监督结果。 + +![数据集示例图像](https://user-images.githubusercontent.com/26833433/238056229-0e8ffbeb-f81a-477e-a490-aff3d82fd8ce.jpg) +从我们新引入的SA-1B数据集中选择的示例图像,显示了覆盖的掩模。SA-1B包含了1100万个多样化、高分辨率、许可的图像和11亿个高质量的分割掩模。这些掩模由SAM完全自动地进行了注释,经过人工评级和大量实验的验证,它们具有高质量和多样性。图像按每个图像的掩模数量进行分组以进行可视化(平均每个图像有∼100个掩模)。 + +## Segment Anything Model (SAM) 的主要特点 + +- **可提示的分割任务**:SAM 的设计考虑了可提示的分割任务,它可以从给定的提示中生成有效的分割掩模,例如指示对象的空间或文本线索。 +- **先进的架构**:Segment Anything Model 使用强大的图像编码器、提示编码器和轻量的掩模解码器。这种独特的架构使得分段任务中的提示灵活、实时掩模计算和模糊感知成为可能。 +- **SA-1B 数据集**:由Segment Anything 项目引入的 SA-1B 数据集包含超过11亿个掩模的1100万张图像。作为迄今为止最大的分割数据集,它为 SAM 提供了一个多样化的大规模训练数据源。 +- **零样本性能**:SAM 在各种分割任务中展现出出色的零样本性能,使得它成为一个可以立即使用的工具,对于各种应用来说,对提示工程的需求很小。 + +如果您想了解更多关于Segment Anything Model 和 SA-1B 数据集的详细信息,请访问[Segment Anything 网站](https://segment-anything.com)并查看研究论文[Segment Anything](https://arxiv.org/abs/2304.02643)。 + +## 可用模型、支持的任务和操作模式 + +这个表格展示了可用模型及其特定的预训练权重,它们支持的任务,以及它们与不同操作模式([Inference](../modes/predict.md)、[Validation](../modes/val.md)、[Training](../modes/train.md) 和 [Export](../modes/export.md))的兼容性,用 ✅ 表示支持的模式,用 ❌ 表示不支持的模式。 + +| 模型类型 | 预训练权重 | 支持的任务 | 推断 | 验证 | 训练 | 导出 | +|-----------|------------|-----------------------------|----|----|----|----| +| SAM base | `sam_b.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | +| SAM large | `sam_l.pt` | [实例分割](../tasks/segment.md) | ✅ | ❌ | ❌ | ✅ | + +## 如何使用 SAM: 图像分割的多功能和强大 + +Segment Anything Model 可以用于多种下游任务,超越训练数据的范围。这包括边缘检测,目标提案生成,实例分割和初步的文本到掩模预测。通过 prompt 工程,SAM 可以快速适应新的任务和数据分布,以零样本的方式,确立其作为图像分割需求的多功能和强大工具。 + +### SAM 预测示例 + +!!! Example "使用提示进行分割" + + 使用给定的提示对图像进行分割。 + + === "Python" + + ```python + from ultralytics import SAM + + # 加载模型 + model = SAM('sam_b.pt') + + # 显示模型信息(可选) + model.info() + + # 使用边界框提示进行推断 + model('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709]) + + # 使用点提示进行推断 + model('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1]) + ``` + +!!! Example "分割整个图像" + + 分割整个图像。 + + === "Python" + + ```python + from ultralytics import SAM + + # 加载模型 + model = SAM('sam_b.pt') + + # 显示模型信息(可选) + model.info() + + # 进行推断 + model('path/to/image.jpg') + ``` + + === "CLI" + + ```bash + # 使用 SAM 模型进行推断 + yolo predict model=sam_b.pt source=path/to/image.jpg + ``` + +- 这里的逻辑是,如果您没有传入任何提示(边界框/点/掩模),则对整个图像进行分割。 + +!!! Example "SAMPredictor 示例" + + 这种方法可以设置图像一次,然后多次运行提示推断,而无需多次运行图像编码器。 + + === "提示推断" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # 创建 SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # 设置图像 + predictor.set_image("ultralytics/assets/zidane.jpg") # 使用图像文件设置 + predictor.set_image(cv2.imread("ultralytics/assets/zidane.jpg")) # 使用 np.ndarray 设置 + results = predictor(bboxes=[439, 437, 524, 709]) + results = predictor(points=[900, 370], labels=[1]) + + # 重置图像 + predictor.reset_image() + ``` + + 通过附加参数对整个图像分割。 + + === "分割整个图像" + + ```python + from ultralytics.models.sam import Predictor as SAMPredictor + + # 创建 SAMPredictor + overrides = dict(conf=0.25, task='segment', mode='predict', imgsz=1024, model="mobile_sam.pt") + predictor = SAMPredictor(overrides=overrides) + + # 使用附加参数进行分割整个图像 + results = predictor(source="ultralytics/assets/zidane.jpg", crop_n_layers=1, points_stride=64) + ``` + +- 更多关于`分割整个图像`的附加参数,请查看[`Predictor/generate` 参考] (../reference/models/sam/predict.md)。 + +## SAM 与 YOLOv8 的对比 + +在这里,我们将 Meta 最小的 SAM 模型 SAM-b 与 Ultralytics 的最小分割模型 [YOLOv8n-seg](../tasks/segment.md) 进行对比: + +| 模型 | 大小 | 参数 | 速度 (CPU) | +|------------------------------------------------|-----------------------|----------------------|------------------------| +| Meta's SAM-b | 358 MB | 94.7 M | 51096 ms/im | +| [MobileSAM](mobile-sam.md) | 40.7 MB | 10.1 M | 46122 ms/im | +| [FastSAM-s](fast-sam.md) with YOLOv8 backbone | 23.7 MB | 11.8 M | 115 ms/im | +| Ultralytics [YOLOv8n-seg](../tasks/segment.md) | **6.7 MB** (缩小了53.4倍) | **3.4 M** (缩小了27.9倍) | **59 ms/im** (加速了866倍) | + +这个对比显示了不同模型之间的模型大小和速度上数量级的差异。虽然 SAM 提供了自动分割的独特能力,但它不是与 YOLOv8 分割模型直接竞争的产品,后者体积更小、速度更快、效率更高。 + +在配备有16GB RAM的2023年 Apple M2 MacBook 上进行了测试。要重现这个测试: + +!!! Example "示例" + + === "Python" + ```python + from ultralytics import FastSAM, SAM, YOLO + + # 分析 SAM-b + model = SAM('sam_b.pt') + model.info() + model('ultralytics/assets') + + # 分析 MobileSAM + model = SAM('mobile_sam.pt') + model.info() + model('ultralytics/assets') + + # 分析 FastSAM-s + model = FastSAM('FastSAM-s.pt') + model.info() + model('ultralytics/assets') + + # 分析 YOLOv8n-seg + model = YOLO('yolov8n-seg.pt') + model.info() + model('ultralytics/assets') + ``` + +## 自动注释:创建分割数据集的快速路径 + +自动注释是 SAM 的一个关键功能,它允许用户使用预训练的检测模型生成一个[分割数据集](https://docs.ultralytics.com/datasets/segment)。这个功能可以通过自动生成大量图像的准确注释,绕过耗时的手动标注过程,从而快速获得高质量的分割数据集。 + +### 使用检测模型生成分割数据集 + +要使用Ultralytics框架对数据集进行自动注释,可以使用如下所示的 `auto_annotate` 函数: + +!!! Example "示例" + + === "Python" + ```python + from ultralytics.data.annotator import auto_annotate + + auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model='sam_b.pt') + ``` + +| 参数 | 类型 | 描述 | 默认值 | +|------------|---------------|------------------------------------------|--------------| +| data | str | 包含要进行注释的图像的文件夹的路径。 | | +| det_model | str, 可选 | 预训练的 YOLO 检测模型,默认为 'yolov8x.pt'。 | 'yolov8x.pt' | +| sam_model | str, 可选 | 预训练的 SAM 分割模型,默认为 'sam_b.pt'。 | 'sam_b.pt' | +| device | str, 可选 | 在其上运行模型的设备,默认为空字符串(如果可用,则为 CPU 或 GPU)。 | | +| output_dir | str, None, 可选 | 保存注释结果的目录。默认为与 'data' 目录同级的 'labels' 目录。 | None | + +`auto_annotate` 函数接受您图像的路径,并提供了可选的参数用于指定预训练的检测和 SAM 分割模型、运行模型的设备,以及保存注释结果的输出目录。 + +使用预训练模型进行自动注释可以大大减少创建高质量分割数据集所需的时间和工作量。这个功能特别对于处理大量图像集合的研究人员和开发人员非常有益,因为它允许他们专注于模型的开发和评估,而不是手动注释。 + +## 引用和鸣谢 + +如果您在研究或开发中发现 SAM 对您有用,请考虑引用我们的论文: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{kirillov2023segment, + title={Segment Anything}, + author={Alexander Kirillov and Eric Mintun and Nikhila Ravi and Hanzi Mao and Chloe Rolland and Laura Gustafson and Tete Xiao and Spencer Whitehead and Alexander C. Berg and Wan-Yen Lo and Piotr Dollár and Ross Girshick}, + year={2023}, + eprint={2304.02643}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +我们要向 Meta AI 表示感谢,感谢他们为计算机视觉社区创建和维护了这个宝贵的资源。 + +*keywords: Segment Anything,Segment Anything Model,SAM,Meta SAM,图像分割,可提示分割,零样本性能,SA-1B数据集,先进架构,自动注释,Ultralytics,预训练模型,SAM base,SAM large,实例分割,计算机视觉,AI,人工智能,机器学习,数据注释,分割掩模,检测模型,YOLO检测模型,bibtex,Meta AI。* diff --git a/docs/zh/models/yolo-nas.md b/docs/zh/models/yolo-nas.md new file mode 100644 index 00000000000..fb2c2483662 --- /dev/null +++ b/docs/zh/models/yolo-nas.md @@ -0,0 +1,121 @@ +--- +comments: true +description: 探索详细的YOLO-NAS文档,这是一个更高级的物体检测模型。了解其特点、预训练模型、与Ultralytics Python API的使用等内容。 +keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, 预训练模型, 量化, 优化, COCO, Objects365, Roboflow 100 +--- + +# YOLO-NAS + +## 概述 + +由Deci AI开发,YOLO-NAS是一种开创性的物体检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计以解决之前YOLO模型的局限性。YOLO-NAS在量化支持和准确性-延迟权衡方面取得了重大改进,代表了物体检测领域的重大飞跃。 + +![模型示例图像](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) +**YOLO-NAS概览。** YOLO-NAS采用量化感知块和选择性量化实现最佳性能。当将模型转换为INT8量化版本时,模型会经历较小的精度损失,比其他模型有显著改进。这些先进技术使得YOLO-NAS成为具有前所未有的物体检测能力和出色性能的卓越架构。 + +### 主要特点 + +- **量化友好基本块:** YOLO-NAS引入了一种新的基本块,对量化友好,解决了之前YOLO模型的一个重要局限性。 +- **高级训练和量化:** YOLO-NAS利用先进的训练方案和训练后量化以提高性能。 +- **AutoNAC优化和预训练:** YOLO-NAS利用AutoNAC优化,并在著名数据集(如COCO、Objects365和Roboflow 100)上进行了预训练。这种预训练使其非常适合生产环境中的下游物体检测任务。 + +## 预训练模型 + +通过Ultralytics提供的预训练YOLO-NAS模型,体验下一代物体检测的强大功能。这些模型旨在在速度和准确性方面提供出色的性能。根据您的需求,可以选择各种选项: + +| 模型 | mAP | 延迟(ms) | +|------------------|-------|--------| +| YOLO-NAS S | 47.5 | 3.21 | +| YOLO-NAS M | 51.55 | 5.85 | +| YOLO-NAS L | 52.22 | 7.87 | +| YOLO-NAS S INT-8 | 47.03 | 2.36 | +| YOLO-NAS M INT-8 | 51.0 | 3.78 | +| YOLO-NAS L INT-8 | 52.1 | 4.78 | + +每个模型变体均旨在在均衡平均精度(mAP)和延迟之间提供平衡,帮助您为性能和速度都进行优化的物体检测任务。 + +## 用法示例 + +通过我们的`ultralytics` python包,Ultralytics使得将YOLO-NAS模型集成到您的Python应用程序中变得容易。该包提供了一个用户友好的Python API,以简化流程。 + +以下示例展示了如何使用`ultralytics`包与YOLO-NAS模型进行推理和验证: + +### 推理和验证示例 + +这个示例中,我们在COCO8数据集上验证YOLO-NAS-s。 + +!!! 例子 + + 以下示例为YOLO-NAS提供了简单的推理和验证代码。有关处理推理结果的方法,请参见[Predict](../modes/predict.md)模式。有关使用其他模式的YOLO-NAS的方法,请参见[Val](../modes/val.md)和[Export](../modes/export.md)。`ultralytics`包中的YOLO-NAS不支持训练。 + + === "Python" + + 可以将预训练的PyTorch `*.pt`模型文件传递给`NAS()`类以在python中创建一个模型实例: + + ```python + from ultralytics import NAS + + # 加载一个在COCO上预训练的YOLO-NAS-s模型 + model = NAS('yolo_nas_s.pt') + + # 显示模型信息(可选) + model.info() + + # 在COCO8示例数据集上验证模型 + results = model.val(data='coco8.yaml') + + # 使用YOLO-NAS-s模型对'bus.jpg'图像进行推理 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 可以使用CLI命令直接运行模型: + + ```bash + # 加载一个在COCO上预训练的YOLO-NAS-s模型,并验证其在COCO8示例数据集上的性能 + yolo val model=yolo_nas_s.pt data=coco8.yaml + + # 加载一个在COCO上预训练的YOLO-NAS-s模型,并对'bus.jpg'图像进行推理 + yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg + ``` + +## 支持的任务和模式 + +我们提供了三种类型的YOLO-NAS模型:Small (s)、Medium (m)和Large (l)。每种类型都旨在满足不同的计算和性能需求: + +- **YOLO-NAS-s:** 针对计算资源有限但效率至关重要的环境进行了优化。 +- **YOLO-NAS-m:** 提供平衡的方法,适用于具有更高准确性的通用物体检测。 +- **YOLO-NAS-l:** 面向需要最高准确性的场景,计算资源不是限制因素。 + +下面是每个模型的详细信息,包括它们的预训练权重链接、支持的任务以及与不同操作模式的兼容性。 + +| 模型类型 | 预训练权重链接 | 支持的任务 | 推理 | 验证 | 训练 | 导出 | +|------------|-----------------------------------------------------------------------------------------------|----------------------------|----|----|----|----| +| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | +| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | + +## 引用和致谢 + +如果您在研究或开发工作中使用了YOLO-NAS,请引用SuperGradients: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{supergradients, + doi = {10.5281/ZENODO.7789328}, + url = {https://zenodo.org/record/7789328}, + author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, + title = {Super-Gradients}, + publisher = {GitHub}, + journal = {GitHub repository}, + year = {2021}, + } + ``` + +我们向Deci AI的[SuperGradients](https://github.com/Deci-AI/super-gradients/)团队表示感谢,他们致力于创建和维护这个对计算机视觉社区非常有价值的资源。我们相信YOLO-NAS凭借其创新的架构和卓越的物体检测能力,将成为开发者和研究人员的重要工具。 + +*keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, SuperGradients, 预训练模型, 量化友好基本块, 高级训练方案, 训练后量化, AutoNAC优化, COCO, Objects365, Roboflow 100* diff --git a/docs/zh/models/yolov3.md b/docs/zh/models/yolov3.md new file mode 100644 index 00000000000..320c4a25dd1 --- /dev/null +++ b/docs/zh/models/yolov3.md @@ -0,0 +1,98 @@ +--- +comments: true +description: 了解YOLOv3、YOLOv3-Ultralytics和YOLOv3u的概述。了解它们的关键功能、用途和支持的目标检测任务。 +keywords: YOLOv3、YOLOv3-Ultralytics、YOLOv3u、目标检测、推理、训练、Ultralytics +--- + +# YOLOv3、YOLOv3-Ultralytics和YOLOv3u + +## 概述 + +本文介绍了三个紧密相关的目标检测模型,分别是[YOLOv3](https://pjreddie.com/darknet/yolo/)、[YOLOv3-Ultralytics](https://github.com/ultralytics/yolov3)和[YOLOv3u](https://github.com/ultralytics/ultralytics)。 + +1. **YOLOv3:** 这是第三版 You Only Look Once (YOLO) 目标检测算法。YOLOv3 在前作的基础上进行了改进,引入了多尺度预测和三种不同尺寸的检测核,提高了检测准确性。 + +2. **YOLOv3-Ultralytics:** 这是 Ultralytics 对 YOLOv3 模型的实现。它在复现了原始 YOLOv3 架构的基础上,提供了额外的功能,如对更多预训练模型的支持和更简单的定制选项。 + +3. **YOLOv3u:** 这是 YOLOv3-Ultralytics 的更新版本,它引入了 YOLOv8 模型中使用的无锚、无物体性能分离头。YOLOv3u 保留了 YOLOv3 的主干和颈部架构,但使用了来自 YOLOv8 的更新检测头。 + +![Ultralytics YOLOv3](https://raw.githubusercontent.com/ultralytics/assets/main/yolov3/banner-yolov3.png) + +## 关键功能 + +- **YOLOv3:** 引入了三种不同尺度的检测,采用了三种不同尺寸的检测核:13x13、26x26 和 52x52。这显著提高了对不同大小对象的检测准确性。此外,YOLOv3 还为每个边界框添加了多标签预测和更好的特征提取网络。 + +- **YOLOv3-Ultralytics:** Ultralytics 对 YOLOv3 的实现具有与原始模型相同的性能,但增加了对更多预训练模型、额外训练方法和更简单的定制选项的支持。这使得它在实际应用中更加通用和易用。 + +- **YOLOv3u:** 这个更新的模型采用了来自 YOLOv8 的无锚、无物体性能分离头。通过消除预定义的锚框和物体性能分数的需求,检测头设计可以提高模型对不同大小和形状的对象的检测能力。这使得 YOLOv3u 在目标检测任务中更加强大和准确。 + +## 支持的任务和模式 + +YOLOv3 系列,包括 YOLOv3、YOLOv3-Ultralytics 和 YOLOv3u,专门用于目标检测任务。这些模型以在各种实际场景中平衡准确性和速度而闻名。每个变体都提供了独特的功能和优化,使其适用于各种应用场景。 + +这三个模型都支持一套全面的模式,确保在模型部署和开发的各个阶段具备多种功能。这些模式包括[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md),为用户提供了有效的目标检测完整工具。 + +| 模型类型 | 支持的任务 | 推理 | 验证 | 训练 | 导出 | +|--------------------|----------------------------|----|----|----|----| +| YOLOv3 | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3-Ultralytics | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv3u | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +该表格提供了每个 YOLOv3 变体的能力一览,突显了它们的多功能性和适用性,以用于目标检测工作流程中的各种任务和操作模式。 + +## 用法示例 + +以下示例提供了简单的 YOLOv3 训练和推理示例。有关这些和其他模式的完整文档,请参阅 [Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md) 和 [Export](../modes/export.md) 文档页面。 + +!!! Example "示例" + + === "Python" + + 可以将预先训练的 PyTorch `*.pt` 模型以及配置 `*.yaml` 文件传递给 `YOLO()` 类,以在 Python 中创建模型实例: + + ```python + from ultralytics import YOLO + + # 加载一个经过 COCO 预训练的 YOLOv3n 模型 + model = YOLO('yolov3n.pt') + + # 显示模型信息(可选) + model.info() + + # 在 COCO8 示例数据集上训练模型100个epoch + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 使用 YOLOv3n 模型对 'bus.jpg' 图像进行推理 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 可以直接使用命令行界面 (CLI) 来运行模型: + + ```bash + # 加载一个经过 COCO 预训练的 YOLOv3n 模型,并在 COCO8 示例数据集上训练100个epoch + yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640 + + # 加载一个经过 COCO 预训练的 YOLOv3n 模型,并对 'bus.jpg' 图像进行推理 + yolo predict model=yolov3n.pt source=path/to/bus.jpg + ``` + +## 引用和致谢 + +如果您在研究中使用 YOLOv3,请引用原始的 YOLO 论文和 Ultralytics 的 YOLOv3 仓库: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{redmon2018yolov3, + title={YOLOv3: An Incremental Improvement}, + author={Redmon, Joseph and Farhadi, Ali}, + journal={arXiv preprint arXiv:1804.02767}, + year={2018} + } + ``` + +感谢 Joseph Redmon 和 Ali Farhadi 开发了原始的 YOLOv3 模型。 diff --git a/docs/zh/models/yolov4.md b/docs/zh/models/yolov4.md new file mode 100644 index 00000000000..50edafc0949 --- /dev/null +++ b/docs/zh/models/yolov4.md @@ -0,0 +1,71 @@ +--- +comments: true +description: 通过我们详细的YOLOv4指南,探索最先进的实时目标检测器。了解其建筑亮点,创新功能和应用示例。 +keywords: ultralytics, YOLOv4, 目标检测, 神经网络, 实时检测, 目标检测器, 机器学习 +--- + +# YOLOv4:高速和精确的目标检测 + +欢迎来到Ultralytics关于YOLOv4的文档页面,YOLOv4是由Alexey Bochkovskiy于2020年在 [https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) 发布的最先进的实时目标检测器。YOLOv4旨在提供速度和准确性的最佳平衡,使其成为许多应用的优秀选择。 + +![YOLOv4架构图](https://user-images.githubusercontent.com/26833433/246185689-530b7fe8-737b-4bb0-b5dd-de10ef5aface.png) +**YOLOv4架构图**。展示了YOLOv4的复杂网络设计,包括主干,颈部和头部组件以及它们相互连接的层,以实现最佳的实时目标检测。 + +## 简介 + +YOLOv4代表You Only Look Once版本4。它是为解决之前YOLO版本(如[YOLOv3](yolov3.md))和其他目标检测模型的局限性而开发的实时目标检测模型。与其他基于卷积神经网络(CNN)的目标检测器不同,YOLOv4不仅适用于推荐系统,还可用于独立的进程管理和减少人工输入。它在传统图形处理单元(GPU)上的操作可以以经济实惠的价格进行大规模使用,并且设计为在常规GPU上实时工作,仅需要一个这样的GPU进行训练。 + +## 架构 + +YOLOv4利用了几个创新功能,这些功能共同优化其性能。这些功能包括加权残差连接(WRC),跨阶段部分连接(CSP),交叉mini-Batch归一化(CmBN),自适应对抗训练(SAT),Mish激活函数,Mosaic数据增强,DropBlock正则化和CIoU损失。这些功能的组合可以实现最先进的结果。 + +典型的目标检测器由几个部分组成,包括输入、主干、颈部和头部。YOLOv4的主干是在ImageNet上预训练的,用于预测对象的类别和边界框。主干可以来自多个模型,包括VGG、ResNet、ResNeXt或DenseNet。检测器的颈部部分用于从不同阶段收集特征图,通常包括几条自底向上的路径和几条自顶向下的路径。头部部分用于进行最终的目标检测和分类。 + +## 免费赠品 + +YOLOv4还使用了称为“免费赠品”的方法,这些方法在训练过程中提高模型的准确性,而不增加推理成本。数据增强是目标检测中常用的一种免费赠品技术,它增加了输入图像的变异性,以提高模型的鲁棒性。一些数据增强的例子包括光度失真(调整图像的亮度、对比度、色调、饱和度和噪音)和几何失真(添加随机缩放、裁剪、翻转和旋转)。这些技术帮助模型更好地应对不同类型的图像。 + +## 特点和性能 + +YOLOv4被设计为在目标检测中具有最佳速度和准确性。YOLOv4的架构包括CSPDarknet53作为主干,PANet作为颈部,以及YOLOv3作为检测头。这种设计使得YOLOv4能够以令人印象深刻的速度进行目标检测,适用于实时应用。YOLOv4在准确性方面也表现出色,在目标检测基准测试中取得了最先进的结果。 + +## 使用示例 + +截至撰写本文时,Ultralytics当前不支持YOLOv4模型。因此,任何有兴趣使用YOLOv4的用户需要直接参考YOLOv4 GitHub存储库中的安装和使用说明。 + +以下是使用YOLOv4的典型步骤的简要概述: + +1. 访问YOLOv4 GitHub存储库:[https://github.com/AlexeyAB/darknet](https://github.com/AlexeyAB/darknet)。 + +2. 按照README文件中提供的说明进行安装。这通常涉及克隆存储库,安装必要的依赖项,并设置任何必要的环境变量。 + +3. 安装完成后,您可以根据存储库提供的使用说明训练和使用模型。这通常涉及准备您的数据集、配置模型参数、训练模型,然后使用训练好的模型进行目标检测。 + +请注意,具体的步骤可能因您的特定用例和YOLOv4存储库的当前状态而有所不同。因此,强烈建议直接参考YOLOv4 GitHub存储库中提供的说明。 + +对于Ultralytics不支持YOLOv4的情况,我们感到非常抱歉,我们将努力更新本文档,以包括使用Ultralytics支持的YOLOv4的示例。 + +## 结论 + +YOLOv4是一种强大而高效的目标检测模型,它在速度和准确性之间取得了平衡。它在训练过程中使用独特的功能和免费赠品技术,使其在实时目标检测任务中表现出色。任何具备常规GPU的人都可以进行YOLOv4的训练和使用,使其对于各种应用具有可访问性和实用性。 + +## 引文和致谢 + +我们要感谢YOLOv4的作者对实时目标检测领域的重要贡献: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @misc{bochkovskiy2020yolov4, + title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, + author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao}, + year={2020}, + eprint={2004.10934}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + +YOLOv4的原始论文可以在[arXiv](https://arxiv.org/pdf/2004.10934.pdf)上找到。作者已经公开了他们的工作,代码库可以在[GitHub](https://github.com/AlexeyAB/darknet)上获取。我们赞赏他们在推动该领域方面的努力,并使他们的工作对广大社区产生影响。 diff --git a/docs/zh/models/yolov5.md b/docs/zh/models/yolov5.md new file mode 100644 index 00000000000..10c53393de9 --- /dev/null +++ b/docs/zh/models/yolov5.md @@ -0,0 +1,113 @@ +--- +comments: true +description: 发现YOLOv5u,它是YOLOv5模型的改进版本,具有更好的准确性和速度之间的平衡,并为各种目标检测任务提供了许多预训练模型。 +keywords: YOLOv5u、目标检测、预训练模型、Ultralytics、推断、验证、YOLOv5、YOLOv8、无锚点、无物体检测、实时应用、机器学习 +--- + +# YOLOv5 + +## 概述 + +YOLOv5u是目标检测方法的一种进步。YOLOv5u源于Ultralytics开发的[YOLOv5](https://github.com/ultralytics/yolov5)模型的基础架构,它集成了无锚点、无物体检测分离头的新特性,这一特性在[YOLOv8](yolov8.md)模型中首次引入。通过采用这种适应性更强的检测机制,YOLOv5u改进了模型的架构,从而在目标检测任务中实现了更好的准确性和速度的平衡。根据实证结果和其衍生特性,YOLOv5u为那些在研究和实际应用中寻求强大解决方案的人提供了一种高效的选择。 + +![Ultralytics YOLOv5](https://raw.githubusercontent.com/ultralytics/assets/main/yolov5/v70/splash.png) + +## 主要特性 + +- **无锚点分离Ultralytics头部**: 传统的目标检测模型依靠预定义的锚点框来预测目标位置,而YOLOv5u改变了这种方法。采用无锚点分离Ultralytics头部的方式,它确保了更灵活、适应性更强的检测机制,从而在各种场景中提高了性能。 + +- **优化的准确性和速度之间的平衡**: 速度和准确性通常是相互制约的。但是YOLOv5u挑战了这种平衡。它提供了一个校准平衡,确保在保持准确性的同时实现实时检测。这一特性对于需要快速响应的应用非常重要,比如自动驾驶车辆、机器人和实时视频分析。 + +- **丰富的预训练模型**: YOLOv5u提供了多种预训练模型。无论你专注于推断、验证还是训练,都有一个量身定制的模型等待着你。这种多样性确保你不仅仅使用“一刀切”的解决方案,而是使用一个专门为你的独特挑战进行了精细调整的模型。 + +## 支持的任务和模式 + +具有各种预训练权重的YOLOv5u模型在[目标检测](../tasks/detect.md)任务中表现出色。它们支持全面的模式,适用于从开发到部署的各种应用场景。 + +| 模型类型 | 预训练权重 | 任务 | 推断 | 验证 | 训练 | 导出 | +|---------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------|----|----|----|----| +| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | [目标检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +该表详细介绍了YOLOv5u模型的变体,突出了它们在目标检测任务和各种操作模式(如[推断](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))方面的适用性。这种全面的支持确保用户可以充分发挥YOLOv5u模型在各种目标检测场景中的能力。 + +## 性能指标 + +!!! Performance + + === "检测" + + 请参阅[检测文档](https://docs.ultralytics.com/tasks/detect/),以了解在[COCO](https://docs.ultralytics.com/datasets/detect/coco/)上训练的这些模型的用法示例,其中包括80个预训练类别。 + + | 模型 | YAML | 大小
(像素) | mAPval
50-95 | 速度
CPU ONNX
(毫秒) | 速度
A100 TensorRT
(毫秒) | 参数数
(百万) | FLOPs
(十亿) | + |---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------| + | [yolov5nu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | [yolov5n.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 | + | [yolov5su.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | [yolov5s.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 | + | [yolov5mu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | [yolov5m.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 | + | [yolov5lu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | [yolov5l.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 | + | [yolov5xu.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | [yolov5x.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5.yaml) | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 | + | | | | | | | | | + | [yolov5n6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5n6u.pt) | [yolov5n6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 | + | [yolov5s6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5s6u.pt) | [yolov5s6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 | + | [yolov5m6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5m6u.pt) | [yolov5m6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 | + | [yolov5l6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5l6u.pt) | [yolov5l6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 | + | [yolov5x6u.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5x6u.pt) | [yolov5x6.yaml](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v5/yolov5-p6.yaml) | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 | + +## 使用示例 + +这个示例提供了YOLOv5训练和推断的简单示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参阅[预测](../modes/predict.md)、[训练](../modes/train.md)、[验证](../modes/val.md)和[导出](../modes/export.md)的文档页面。 + +!!! Example "示例" + + === "Python" + + PyTorch预训练的`*.pt`模型,以及配置`*.yaml`文件可以传递给`YOLO()`类,以在python中创建一个模型实例: + + ```python + from ultralytics import YOLO + + # 加载一个在COCO数据集上预训练的YOLOv5n模型 + model = YOLO('yolov5n.pt') + + # 显示模型信息(可选) + model.info() + + # 使用COCO8示例数据集对模型进行100个时期的训练 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 使用YOLOv5n模型对'bus.jpg'图像进行推断 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 可以使用CLI命令直接运行模型: + + ```bash + # 加载一个在COCO数据集上预训练的YOLOv5n模型,并在COCO8示例数据集上进行100个时期的训练 + yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640 + + # 加载一个在COCO数据集上预训练的YOLOv5n模型,并在'bus.jpg'图像上进行推断 + yolo predict model=yolov5n.pt source=path/to/bus.jpg + ``` + +## 引用和致谢 + +如果您在您的研究中使用了YOLOv5或YOLOv5u,请引用Ultralytics的YOLOv5存储库,引用方式如下: + +!!! Quote "" + + === "BibTeX" + ```bibtex + @software{yolov5, + title = {Ultralytics YOLOv5}, + author = {Glenn Jocher}, + year = {2020}, + version = {7.0}, + license = {AGPL-3.0}, + url = {https://github.com/ultralytics/yolov5}, + doi = {10.5281/zenodo.3908559}, + orcid = {0000-0001-5950-6979} + } + ``` + +请注意,YOLOv5模型提供[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)和[企业](https://ultralytics.com/license)许可证。 diff --git a/docs/zh/models/yolov6.md b/docs/zh/models/yolov6.md new file mode 100644 index 00000000000..d0ac2e35bed --- /dev/null +++ b/docs/zh/models/yolov6.md @@ -0,0 +1,107 @@ +--- +comments: true +description: 探索美团YOLOv6,一种在速度和准确性之间取得平衡的最先进的物体检测模型。深入了解功能、预训练模型和Python使用方法。 +keywords: 美团YOLOv6、物体检测、Ultralytics、YOLOv6文档、双向连接、锚辅助训练、预训练模型、实时应用 +--- + +# 美团YOLOv6 + +## 概述 + +[美团](https://about.meituan.com/) YOLOv6是一种最先进的物体检测器,速度和准确性兼具,成为实时应用的热门选择。该模型在架构和训练方案上引入了几项重要改进,包括双向连接模块(BiC)、锚辅助训练(AAT)策略以及改进了的主干和颈部设计,使其在COCO数据集上达到了最先进的准确性。 + +![美团YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png) +![模型示例图片](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png) +**YOLOv6概述。** 模型架构图显示了经过重新设计的网络组件和训练策略,这些策略导致了显著的性能提升。(a)YOLOv6的颈部(N和S)。(b)BiC模块的结构。(c)SimCSPSPPF块。([来源](https://arxiv.org/pdf/2301.05586.pdf)). + +### 主要功能 + +- **双向连接(BiC)模块:** YOLOv6在检测器的颈部引入了双向连接(BiC)模块,增强了定位信号,提供了性能增益,并且几乎没有降低速度。 +- **锚辅助训练(AAT)策略:** 该模型提出了锚辅助训练(AAT)以享受基于锚点和无锚点范例的双重优势,同时不影响推理效率。 +- **增强的主干和颈部设计:** 通过在主干和颈部中增加一个阶段,该模型在高分辨率输入下在COCO数据集上实现了最先进的性能。 +- **自我蒸馏策略:** 实施了一种新的自我蒸馏策略,以提升YOLOv6的较小模型的性能,在训练过程中增强辅助回归分支,并在推理过程中将其删除,以避免明显的速度下降。 + +## 性能指标 + +YOLOv6提供了具有不同尺度的各种预训练模型: + +- YOLOv6-N:在NVIDIA Tesla T4 GPU上,COCO val2017上的AP为37.5%,帧率为1187 FPS。 +- YOLOv6-S:AP为45.0%,帧率为484 FPS。 +- YOLOv6-M:AP为50.0%,帧率为226 FPS。 +- YOLOv6-L:AP为52.8%,帧率为116 FPS。 +- YOLOv6-L6:实时场景中的最先进准确性。 + +YOLOv6还提供了适用于不同精度和移动平台的量化模型。 + +## 使用示例 + +以下示例提供了简单的YOLOv6训练和推理示例。有关这些示例和其他[模式](../modes/index.md)的完整文档,请参阅[Predict](../modes/predict.md)、[Train](../modes/train.md)、[Val](../modes/val.md)和[Export](../modes/export.md)的文档页面。 + +!!! 例子 + + === "Python" + + 在Python中,可以将PyTorch预训练的`*.pt`模型以及配置文件`*.yaml`传递给`YOLO()`类,以创建一个模型实例: + + ```python + from ultralytics import YOLO + + # 从头开始构建一个YOLOv6n模型 + model = YOLO('yolov6n.yaml') + + # 显示模型信息(可选) + model.info() + + # 使用COCO8示例数据集对模型进行100个epoch的训练 + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 使用YOLOv6n模型对'bus.jpg'图像进行推理 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 也可以使用CLI命令直接运行模型: + + ```bash + # 从头开始构建YOLOv6n模型,并在COCO8示例数据集上进行100个epoch的训练 + yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640 + + # 从头开始构建YOLOv6n模型,并对'bus.jpg'图像进行推理 + yolo predict model=yolov6n.yaml source=path/to/bus.jpg + ``` + +## 支持的任务和模式 + +YOLOv6系列提供了一系列模型,每个模型都针对高性能[物体检测](../tasks/detect.md)进行了优化。这些模型适用于各种计算需求和准确性要求,使其在广泛的应用中具备多样性。 + +| 模型类型 | 预训练权重 | 支持的任务 | 推理 | 验证 | 训练 | 导出 | +|-----------|----------------|----------------------------|----|----|----|----| +| YOLOv6-N | `yolov6-n.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-S | `yolov6-s.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-M | `yolov6-m.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L | `yolov6-l.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv6-L6 | `yolov6-l6.pt` | [物体检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | + +这个表格详细介绍了YOLOv6模型的各个变体,突出了它们在物体检测任务中的能力以及它们与各种操作模式(如[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md))的兼容性。这种全面的支持确保用户可以在各种物体检测场景中充分利用YOLOv6模型的能力。 + +## 引用和致谢 + +我们要感谢这些作者在实时物体检测领域的重要贡献: + +!!! 引文 "" + + === "BibTeX" + + ```bibtex + @misc{li2023yolov6, + title={YOLOv6 v3.0: A Full-Scale Reloading}, + author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu}, + year={2023}, + eprint={2301.05586}, + archivePrefix={arXiv}, + primaryClass={cs.CV} + } + ``` + + 原始的YOLOv6论文可以在[arXiv](https://arxiv.org/abs/2301.05586)上找到。作者已经将他们的作品公开,并且代码可以在[GitHub](https://github.com/meituan/YOLOv6)上访问。我们对他们在推动该领域的努力以及使他们的工作为更广泛的社区所接触到的努力表示感谢。 diff --git a/docs/zh/models/yolov7.md b/docs/zh/models/yolov7.md new file mode 100644 index 00000000000..46b30b12ae2 --- /dev/null +++ b/docs/zh/models/yolov7.md @@ -0,0 +1,65 @@ +--- +comments: true +description: 探索YOLOv7,一个实时物体检测器。了解其卓越的速度,令人印象深刻的精确度和独特的可训练无需付费优化聚焦点。 +keywords: YOLOv7,实时物体检测器,State-of-the-art,Ultralytics,MS COCO数据集,模型重新参数化,动态标签分配,扩展缩放,复合缩放 +--- + +# YOLOv7:可训练无需付费 + +YOLOv7是一种实时物体检测器的最新技术,其速度和准确度超过了目前已知的所有物体检测器,速度范围在5 FPS到160 FPS之间。在GPU V100上,它在所有已知实时物体检测器中具有最高的准确度(56.8%AP),且帧率达到30 FPS或更高。此外,YOLOv7在速度和准确度方面也优于其他物体检测器,如YOLOR,YOLOX,缩放后的YOLOv4,YOLOv5等等。该模型是从头开始使用MS COCO数据集进行训练的,而没有使用其他数据集或预训练权重。YOLOv7的源代码可在GitHub上获得。 + +![YOLOv7与SOTA物体检测器的比较](https://github.com/ultralytics/ultralytics/assets/26833433/5e1e0420-8122-4c79-b8d0-2860aa79af92) +**最先进物体检测器的比较**。从表2的结果可以看出,所提出的方法在速度和准确度的均衡上最佳。将YOLOv7-tiny-SiLU与YOLOv5-N(r6.1)进行比较,我们的方法在AP上快了127 FPS,准确度提高了10.7%。此外,YOLOv7在161 FPS的帧率下具有51.4%的AP,而具有相同AP的PPYOLOE-L仅具有78 FPS的帧率。在参数使用方面,YOLOv7比PPYOLOE-L少了41%。将YOLOv7-X与114 FPS的推理速度与YOLOv5-L(r6.1)的99 FPS的推理速度进行比较,YOLOv7-X可以提高3.9%的AP。如果将YOLOv7-X与类似规模的YOLOv5-X(r6.1)进行比较,YOLOv7-X的推理速度比YOLOv5-X快31 FPS。此外,就参数和计算量而言,与YOLOv5-X(r6.1)相比,YOLOv7-X减少了22%的参数和8%的计算量,但AP提高了2.2%([来源](https://arxiv.org/pdf/2207.02696.pdf))。 + +## 概述 + +实时物体检测是许多计算机视觉系统的重要组件,包括多目标跟踪,自动驾驶,机器人技术和医学图像分析等。近年来,实时物体检测的发展一直致力于设计高效的架构,并提高各种CPU,GPU和神经处理单元(NPU)的推理速度。YOLOv7支持移动GPU和GPU设备,从边缘到云端。 + +与传统的实时物体检测器侧重于架构优化不同,YOLOv7引入了对训练过程优化的关注。这包括模块和优化方法,旨在提高目标检测的准确性而不增加推理成本,这个概念被称为“可训练无需付费”。 + +## 主要特性 + +YOLOv7引入了几个关键特性: + +1. **模型重新参数化**:YOLOv7提出了一种计划好的重新参数化模型,它是一种适用于不同网络中的层的策略,具有梯度传播路径的概念。 + +2. **动态标签分配**:对多个输出层的模型进行训练会遇到一个新问题:“如何为不同分支的输出分配动态目标?”为了解决这个问题,YOLOv7引入了一种新的标签分配方法,称为粗到细的引导式标签分配。 + +3. **扩展和复合缩放**:YOLOv7提出了适用于实时物体检测器的“扩展”和“复合缩放”方法,可以有效利用参数和计算。 + +4. **效率**:YOLOv7提出的方法可以有效地减少最先进实时物体检测器的约40%的参数和50%的计算量,并具有更快的推理速度和更高的检测准确度。 + +## 使用示例 + +截至撰写本文时,Ultralytics当前不支持YOLOv7模型。因此,任何希望使用YOLOv7的用户都需要直接参考YOLOv7 GitHub存储库中的安装和使用说明。 + +这是您可能采取的使用YOLOv7的典型步骤的简要概述: + +1. 访问YOLOv7 GitHub存储库:[https://github.com/WongKinYiu/yolov7](https://github.com/WongKinYiu/yolov7)。 + +2. 按照README文件中提供的说明进行安装。这通常涉及克隆存储库,安装必要的依赖项,并设置任何必要的环境变量。 + +3. 安装完成后,您可以根据存储库中提供的使用说明训练和使用模型。这通常涉及准备数据集,配置模型参数,训练模型,然后使用训练好的模型执行物体检测。 + +请注意,具体的步骤可能因您的特定用例和YOLOv7存储库的当前状态而有所不同。因此,强烈建议直接参考YOLOv7 GitHub存储库中提供的说明。 + +我们对这可能造成的任何不便表示歉意,并将努力更新此文档以提供针对Ultralytics的YOLOv7支持的使用示例。 + +## 引用和致谢 + +我们要感谢YOLOv7的作者在实时物体检测领域做出的重大贡献: + +!!! Quote "" + + === "BibTeX" + + ```bibtex + @article{wang2022yolov7, + title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors}, + author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark}, + journal={arXiv preprint arXiv:2207.02696}, + year={2022} + } + ``` + +YOLOv7的原始论文可以在[arXiv](https://arxiv.org/pdf/2207.02696.pdf)上找到。作者已将其工作公开,并且代码库可在[GitHub](https://github.com/WongKinYiu/yolov7)中访问。我们感谢他们在推动该领域发展并使其工作对广大社区可访问的努力。 diff --git a/docs/zh/models/yolov8.md b/docs/zh/models/yolov8.md new file mode 100644 index 00000000000..a9844e17684 --- /dev/null +++ b/docs/zh/models/yolov8.md @@ -0,0 +1,162 @@ +--- +comments: true +description: 探索YOLOv8的激动人心功能,这是我们实时目标检测器的最新版本!了解高级架构、预训练模型和精确度与速度的最佳平衡如何使YOLOv8成为您进行目标检测任务的理想选择。 +keywords: YOLOv8,Ultralytics,实时目标检测器,预训练模型,文档,目标检测,YOLO系列,高级架构,精确度,速度 +--- + +# YOLOv8 + +## 概述 + +YOLOv8是YOLO系列实时目标检测器的最新版本,以其在准确度和速度方面的卓越性能而闻名。在构建在之前YOLO版本的基础上,YOLOv8引入了新功能和优化,使其成为各种应用领域中各种目标检测任务的理想选择。 + +![Ultralytics YOLOv8](https://raw.githubusercontent.com/ultralytics/assets/main/yolov8/yolo-comparison-plots.png) + +## 主要功能 + +- **先进的主干和中间架构:** YOLOv8采用最先进的主干和中间架构,提供了更好的特征提取和目标检测性能。 +- **无锚分割Ultralytics头:** YOLOv8采用无锚分割的Ultralytics头,相比于基于锚点的方法,可以提供更高的准确性和更高效的检测过程。 +- **优化的准确度和速度平衡:** YOLOv8专注于在准确度和速度之间维持最佳平衡,适用于各种实时目标检测任务。 +- **多种预训练模型:** YOLOv8提供了一系列预训练模型,以满足各种任务和性能要求,更容易找到适合特定用例的模型。 + +## 支持的任务和模式 + +YOLOv8系列提供了多种模型,每个模型专门用于计算机视觉中的特定任务。这些模型旨在满足各种要求,从目标检测到更复杂的任务,如实例分割、姿态/关键点检测和分类。 + +YOLOv8系列的每个变体都针对其相应的任务进行了优化,确保高性能和准确性。此外,这些模型与各种操作模式兼容,包括[推理](../modes/predict.md)、[验证](../modes/val.md)、[训练](../modes/train.md)和[导出](../modes/export.md),便于在部署和开发的不同阶段使用。 + +| 模型 | 文件名 | 任务 | 推理 | 验证 | 训练 | 导出 | +|-------------|----------------------------------------------------------------------------------------------------------------|-----------------------------|----|----|----|----| +| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [检测](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [实例分割](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-pose | `yolov8n-pose.pt` `yolov8s-pose.pt` `yolov8m-pose.pt` `yolov8l-pose.pt` `yolov8x-pose.pt` `yolov8x-pose-p6.pt` | [姿态/关键点](../tasks/pose.md) | ✅ | ✅ | ✅ | ✅ | +| YOLOv8-cls | `yolov8n-cls.pt` `yolov8s-cls.pt` `yolov8m-cls.pt` `yolov8l-cls.pt` `yolov8x-cls.pt` | [分类](../tasks/classify.md) | ✅ | ✅ | ✅ | ✅ | + +这个表格提供了YOLOv8模型变种的概览,突出了它们在特定任务中的适用性,以及它们与各种操作模式(如推理、验证、训练和导出)的兼容性。它展示了YOLOv8系列的多功能性和鲁棒性,使它们适用于计算机视觉中各种应用。 + +## 性能指标 + +!!! Performance + + === "检测(COCO)" + + 有关在[COCO](https://docs.ultralytics.com/datasets/detect/coco/)上训练的这些模型的用法示例,请参见[Detection Docs](https://docs.ultralytics.com/tasks/detect/),其中包括80个预训练的类别。 + + | 模型 | 大小
(pixels) | mAPval
50-95 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | 参数
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------------------- | ---------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 | + + === "检测(Open Images V7)" + + 有关在[Open Image V7](https://docs.ultralytics.com/datasets/detect/open-images-v7/)上训练的这些模型的用法示例,请参见[Detection Docs](https://docs.ultralytics.com/tasks/detect/),其中包括600个预训练的类别。 + + | 模型 | 大小
(pixels) | mAPval
50-95 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | 参数
(M) | FLOPs
(B) | + | ------------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ---------------------------------- | ------------------ | ----------------- | + | [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-oiv7.pt) | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 | + | [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-oiv7.pt) | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 | + | [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-oiv7.pt) | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 | + | [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-oiv7.pt) | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 | + | [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-oiv7.pt) | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 | + + === "分割(COCO)" + + 有关在[COCO](https://docs.ultralytics.com/datasets/segment/coco/)上训练的这些模型的用法示例,请参见[Segmentation Docs](https://docs.ultralytics.com/tasks/segment/),其中包括80个预训练的类别。 + + | 模型 | 大小
(pixels) | mAPbox
50-95 | mAPmask
50-95 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | 参数
(M) | FLOPs
(B) | + | -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ---------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 | + | [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 | + | [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 | + | [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 | + | [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 | + + === "分类(ImageNet)" + + 有关在[ImageNet](https://docs.ultralytics.com/datasets/classify/imagenet/)上训练的这些模型的用法示例,请参见[Classification Docs](https://docs.ultralytics.com/tasks/classify/),其中包括1000个预训练的类别。 + + | 模型 | 大小
(pixels) | 准确率
top1 | 准确率
top5 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | 参数
(M) | FLOPs
(B) at 640 | + | ---------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------ | ------------------------------ | ---------------------------------- | ------------------ | ------------------------ | + | [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224 | 66.6 | 87.0 | 12.9 | 0.31 | 2.7 | 4.3 | + | [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224 | 72.3 | 91.1 | 23.4 | 0.35 | 6.4 | 13.5 | + | [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224 | 76.4 | 93.2 | 85.4 | 0.62 | 17.0 | 42.7 | + | [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224 | 78.0 | 94.1 | 163.0 | 0.87 | 37.5 | 99.7 | + | [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224 | 78.4 | 94.3 | 232.0 | 1.01 | 57.4 | 154.8 | + + === "姿态(COCO)" + + 有关在[COCO](https://docs.ultralytics.com/datasets/pose/coco/)上训练的这些模型的用法示例,请参见[Pose Estimation Docs](https://docs.ultralytics.com/tasks/segment/),其中包括1个预训练的类别,'person'。 + + | 模型 | 大小
(pixels) | mAPpose
50-95 | mAPpose
50 | 速度
CPU ONNX
(ms) | 速度
A100 TensorRT
(ms) | 参数
(M) | FLOPs
(B) | + | ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ---------------------------------- | ------------------ | ----------------- | + | [YOLOv8n-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt) | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 | + | [YOLOv8s-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt) | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 | + | [YOLOv8m-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt) | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 | + | [YOLOv8l-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-pose.pt) | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 | + | [YOLOv8x-pose](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt) | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 | + | [YOLOv8x-pose-p6](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose-p6.pt) | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 | + +## 用法示例 + +这个示例提供了关于YOLOv8训练和推理的简单示例。有关这些和其他[模式](../modes/index.md)的完整文档,请参见[Predict](../modes/predict.md),[Train](../modes/train.md),[Val](../modes/val.md)和[Export](../modes/export.md)文档页面。 + +请注意,以下示例是针对用于目标检测的YOLOv8 [Detect](../tasks/detect.md)模型。有关其他支持的任务,请参见[Segment](../tasks/segment.md)、[Classify](../tasks/classify.md)和[Pose](../tasks/pose.md)文档。 + +!!! Example "示例" + + === "Python" + + 可以将PyTorch预训练的`*.pt`模型和配置`*.yaml`文件传递给`YOLO()`类,在python中创建一个模型实例: + + ```python + from ultralytics import YOLO + + # 加载一个在COCO预训练的YOLOv8n模型 + model = YOLO('yolov8n.pt') + + # 显示模型信息(可选) + model.info() + + # 使用COCO8示例数据集训练模型100个epoch + results = model.train(data='coco8.yaml', epochs=100, imgsz=640) + + # 使用YOLOv8n模型在'bus.jpg'图片上运行推理 + results = model('path/to/bus.jpg') + ``` + + === "CLI" + + 可以使用CLI命令直接运行模型: + + ```bash + # 加载一个在COCO预训练的YOLOv8n模型,并在COCO8示例数据集上训练100个epoch + yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 + + # 加载一个在COCO预训练的YOLOv8n模型,并在'bus.jpg'图片上运行推理 + yolo predict model=yolov8n.pt source=path/to/bus.jpg + ``` + +## 引用和致谢 + +如果您在工作中使用YOLOv8模型或此存储库中的其他软件,请使用以下格式进行引用: + +!!! Quote "引用" + + === "BibTeX" + + ```bibtex + @software{yolov8_ultralytics, + author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu}, + title = {Ultralytics YOLOv8}, + version = {8.0.0}, + year = {2023}, + url = {https://github.com/ultralytics/ultralytics}, + orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069}, + license = {AGPL-3.0} + } + ``` + +请注意,DOI正在等待中,DOI将在可用时添加到引用中。YOLOv8模型根据[AGPL-3.0](https://github.com/ultralytics/ultralytics/blob/main/LICENSE)和[企业许可证](https://ultralytics.com/license)提供。