mirror of
https://github.com/THU-MIG/yolov10.git
synced 2025-07-23 00:05:39 +08:00
Update https://docs.ultralytics.com/models (#6513)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
0c4e97443b
commit
16a13a1ce0
191
docs/ar/models/fast-sam.md
Normal file
191
docs/ar/models/fast-sam.md
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
---
|
||||||
|
comments: true
|
||||||
|
description: استكشف FastSAM ، وهو حلاً مبنيًا على الشبكات العصبية السريعة لتجزئة الكائنات في الوقت الحقيقي في الصور. تفاعل المستخدم المحسّن ، والكفاءة الحسابية ، والقابلية للتكيف في مهام الرؤية المختلفة.
|
||||||
|
keywords: FastSAM ، التعلم الآلي ، حلاً مبنيًا على الشبكات العصبية السريعة ، قسيمة الكائنات ، حلاً في الوقت الحقيقي ، Ultralytics ، مهام الرؤية ، معالجة الصور ، تطبيقات صناعية ، تفاعل المستخدم
|
||||||
|
---
|
||||||
|
|
||||||
|
# نموذج تجزئة أي شيء بسرعة عالية (FastSAM)
|
||||||
|
|
||||||
|
نموذج تجزئة أي شيء بسرعة عالية (FastSAM) هو حلاً مبتكرًا للعصب الشبكي يعمل بالزمن الحقيقي لمهمة تجزئة أي كائن داخل صورة ما. تم تصميم هذه المهمة لتجزئة أي كائن داخل صورة بناءً على إشارات تفاعل المستخدم المختلفة الممكنة. يقلل الـ FastSAM من الاحتياجات الحسابية بشكل كبير مع الحفاظ على أداء تنافسي ، مما يجعله خيارًا عمليًا لمجموعة متنوعة من مهام الرؤية.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## نظرة عامة
|
||||||
|
|
||||||
|
تم تصميم 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). نقدر جهودهم في تطوير المجال وجعل أعمالهم متاحة للمجتمع الأوسع.
|
@ -1,93 +1,98 @@
|
|||||||
---
|
---
|
||||||
comments: true
|
comments: true
|
||||||
description: استكشف مجموعة متنوعة من عائلة YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS ونماذج RT-DETR المدعومة بواسطة Ultralytics. ابدأ مع أمثلة للإستخدام باستخدام واجهة سطر الأوامر ولغة البايثون.
|
description: استكشف مجموعة متنوعة من عائلة YOLO، ونماذج SAM وMobileSAM وFastSAM وYOLO-NAS وRT-DETR المدعومة من Ultralytics. ابدأ بأمثلة لكل من استخدام واجهة الأوامر وPython.
|
||||||
keywords: Ultralytics، مستندات، YOLO، SAM، MobileSAM، FastSAM، YOLO-NAS، RT-DETR، نماذج، هندسات، Python، CLI
|
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 "ملاحظة"
|
!!! Note "ملاحظة"
|
||||||
|
|
||||||
🚧 مستنداتنا متعددة اللغات قيد الإنشاء حاليًا ونحن نعمل بجد لتحسينها. شكرا لك على صبرك! 🙏
|
🚧 تحت الإنشاء: وثائقنا بلغات متعددة قيد الإنشاء حاليًا، ونحن نعمل بجد لتحسينها. شكرًا لصبرك! 🙏
|
||||||
|
|
||||||
## النماذج المميزة
|
## النماذج المميزة
|
||||||
|
|
||||||
فيما يلي بعض النماذج الرئيسية المدعمة:
|
إليك بعض النماذج الرئيسية المدعومة:
|
||||||
|
|
||||||
1. **[YOLOv3](../../models/yolov3.md)**: الإصدار الثالث من عائلة نموذج YOLO، والذي أنشأه جوزيف ريدمون، والمعروف بقدرته على الكشف في الوقت الحقيقي بكفاءة.
|
1. **[YOLOv3](yolov3.md)**: الإصدار الثالث من عائلة نموذج YOLO، الذي أنشأه أصلاً Joseph Redmon، والمعروف بقدراته الفعالة في الكشف عن الأجسام في الوقت الفعلي.
|
||||||
2. **[YOLOv4](../../models/yolov4.md)**: تحديث لنموذج YOLOv3 الأصلي من قبل اليكسي بوتشكوفسكي في عام 2020.
|
2. **[YOLOv4](yolov4.md)**: تحديث محلي لـ YOLOv3، تم إصداره بواسطة Alexey Bochkovskiy في 2020.
|
||||||
3. **[YOLOv5](../../models/yolov5.md)**: إصدار محسن لبنية YOLO بواسطة Ultralytics ، يقدم أداءً أفضل وتفاوتات سرعة مقارنة بالإصدارات السابقة.
|
3. **[YOLOv5](yolov5.md)**: نسخة مُحسنة من هندسة YOLO من قبل Ultralytics، توفر أداءً أفضل وتوازن في السرعة مقارنة بالإصدارات السابقة.
|
||||||
4. **[YOLOv6](../../models/yolov6.md)**: تم إصداره بواسطة [ميتوان](https://about.meituan.com/) في عام 2022 ، ويستخدم في العديد من روبوتات التسليم الذاتي للشركة.
|
4. **[YOLOv6](yolov6.md)**: أُصدرت بواسطة [Meituan](https://about.meituan.com/) في 2022، ويُستخدم في العديد من روبوتات التوصيل الذاتية للشركة.
|
||||||
5. **[YOLOv7](../../models/yolov7.md)**: نماذج YOLO المحدثة التي تم إطلاقها في عام 2022 من قبل أصحاب YOLOv4.
|
5. **[YOLOv7](yolov7.md)**: تم إصدار نماذج YOLO المحدثة في 2022 بواسطة مؤلفي YOLOv4.
|
||||||
6. **[YOLOv8](../../models/yolov8.md)**: أحدث إصدار من عائلة YOLO ، ويتميز بقدرات محسنة مثل تجزئة الحالات، وتقدير النقاط الرئيسة، والتصنيف.
|
6. **[YOLOv8](yolov8.md) جديد 🚀**: الإصدار الأحدث من عائلة YOLO، يتميز بقدرات مُعززة مثل تقطيع الحالات، تقدير الوضعيات/النقاط الرئيسية، والتصنيف.
|
||||||
7. **[Segment Anything Model (SAM)](../../models/sam.md)**: نموذج Segment Anything Model (SAM) من Meta.
|
7. **[Segment Anything Model (SAM)](sam.md)**: نموذج Segment Anything Model (SAM) من Meta.
|
||||||
8. **[Mobile Segment Anything Model (MobileSAM)](../../models/mobile-sam.md)**: MobileSAM لتطبيقات الهواتف المحمولة ، من جامعة Kyung Hee.
|
8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: نموذج MobileSAM للتطبيقات المحمولة، من جامعة Kyung Hee.
|
||||||
9. **[Fast Segment Anything Model (FastSAM)](../../models/fast-sam.md)**: FastSAM من مجموعة تحليل الصور والفيديو، معهد الأتمتة، الأكاديمية الصينية للعلوم.
|
9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: نموذج FastSAM من مجموعة تحليل الصور والفيديو، والمعهد الصيني للأتمتة، وأكاديمية العلوم الصينية.
|
||||||
10. **[YOLO-NAS](../../models/yolo-nas.md)**: نماذج YOLO للبحث في تصميم العمارة العصبية.
|
10. **[YOLO-NAS](yolo-nas.md)**: نماذج YOLO Neural Architecture Search (NAS).
|
||||||
11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)**: نماذج PaddlePaddle Realtime Detection Transformer (RT-DETR) من Baidu.
|
11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: نماذج Realtime Detection Transformer (RT-DETR) من PaddlePaddle التابعة لشركة Baidu.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<br>
|
<br>
|
||||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
|
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
|
||||||
title="YouTube video player" frameborder="0"
|
title="مشغل فيديو YouTube" frameborder="0"
|
||||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||||
allowfullscreen>
|
allowfullscreen>
|
||||||
</iframe>
|
</iframe>
|
||||||
<br>
|
<br>
|
||||||
<strong>شاهد:</strong> قم بتشغيل نماذج Ultralytics YOLO في بضعة أسطر من الكود.
|
<strong>شاهد:</strong> تشغيل نماذج YOLO من Ultralytics في بضعة أسطر من الكود فقط.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## البدء: أمثلة للإستخدام
|
## البدء في الاستخدام: أمثلة على الاستخدام
|
||||||
|
|
||||||
|
يوفر هذا المثال أمثلة مبسطة على التدريب والاستدلال باستخدام 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 "مثال"
|
!!! Example "مثال"
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
يمكن تمرير نماذج PyTorch مدربة سابقًا بتنسيق `*.pt` بالإضافة إلى ملفات التكوين بتنسيق `*.yaml` إلى فئات `YOLO()`، `SAM()`، `NAS()` و `RTDETR()` لإنشاء نموذج في Python:
|
نماذج `*.pt` المُدربة مسبقًا وملفات الإعداد `*.yaml` يمكن أن تُمرر إلى فئات `YOLO()`, `SAM()`, `NAS()` و `RTDETR()` لإنشاء مثال نموذج في Python:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from ultralytics import YOLO
|
من ultralytics استيراد YOLO
|
||||||
|
|
||||||
# قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق
|
# تحميل نموذج YOLOv8n المُدرب مسبقًا على COCO
|
||||||
model = YOLO('yolov8n.pt')
|
النموذج = YOLO('yolov8n.pt')
|
||||||
|
|
||||||
# عرض معلومات النموذج (اختياري)
|
# عرض معلومات النموذج (اختياري)
|
||||||
model.info()
|
model.info()
|
||||||
|
|
||||||
# قم بتدريب النموذج على مجموعة بيانات COCO8 لمدة 100 حقبة
|
# تدريب النموذج على مجموعة البيانات المثالية COCO8 لمدة 100 عصر
|
||||||
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
النتائج = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||||||
|
|
||||||
# قم بتشغيل الاستدلال مع نموذج YOLOv8n على صورة 'bus.jpg'
|
# تشغيل الاستدلال بنموذج YOLOv8n على صورة 'bus.jpg'
|
||||||
results = model('path/to/bus.jpg')
|
النتائج = model('path/to/bus.jpg')
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "CLI"
|
=== "CLI"
|
||||||
|
|
||||||
هناك أوامر CLI متاحة لتشغيل النماذج مباشرةً:
|
الأوامر CLI متاحة لتشغيل النماذج مباشرة:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# قم بتحميل نموذج YOLOv8n المدرب بـ COCO المسبق و تدريبه على مجموعة بيانات COCO8 لمدة 100 حقبة
|
# تحميل نموذج YOLOv8n المُدرب مسبقًا على COCO وتدريبه على مجموعة البيانات المثالية COCO8 لمدة 100 عصر
|
||||||
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
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
|
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).
|
||||||
|
116
docs/ar/models/mobile-sam.md
Normal file
116
docs/ar/models/mobile-sam.md
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
---
|
||||||
|
comments: true
|
||||||
|
description: تعرّف على MobileSAM وتطبيقه، وقارنه مع SAM الأصلي، وكيفية تنزيله واختباره في إطار Ultralytics. قم بتحسين تطبيقاتك المحمولة اليوم.
|
||||||
|
keywords: MobileSAM، Ultralytics، SAM، التطبيقات المحمولة، Arxiv، GPU، API، مُشفّر الصورة، فك تشفير القناع، تنزيل النموذج، طريقة الاختبار
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# التمييز المحمول لأي شيء (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 الأصلي باستخدام كل من النقطة ومربع كلمة المحفز.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
بفضل أدائه المتفوق، يكون 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}
|
||||||
|
}
|
93
docs/ar/models/rtdetr.md
Normal file
93
docs/ar/models/rtdetr.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**نظرة عامة على 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*
|
225
docs/ar/models/sam.md
Normal file
225
docs/ar/models/sam.md
Normal file
@ -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 أداء مثير للإعجاب مع نقل انيفورم زيرو شوت فاق النتائج المراقبة السابقة بالتدريب الكامل في العديد من الحالات.
|
||||||
|
|
||||||
|

|
||||||
|
صور مثالية مع قناع محاط بها من سلسلة البيانات التي قدمناها حديثًا ، 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.*
|
121
docs/ar/models/yolo-nas.md
Normal file
121
docs/ar/models/yolo-nas.md
Normal file
@ -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 قفزة كبيرة في كشف الكائنات.
|
||||||
|
|
||||||
|

|
||||||
|
**نظرة عامة على 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*
|
98
docs/ar/models/yolov3.md
Normal file
98
docs/ar/models/yolov3.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## الميزات الرئيسية
|
||||||
|
|
||||||
|
- **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 الأصلي.
|
72
docs/ar/models/yolov4.md
Normal file
72
docs/ar/models/yolov4.md
Normal file
@ -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**. يعرض التصميم المعماري المعقد لشبكة 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). نقدر جهودهم في تعزيز الميدان وتوفير عملهم للمجتمع العريض.
|
107
docs/ar/models/yolov5.md
Normal file
107
docs/ar/models/yolov5.md
Normal file
@ -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 للقسمة بدون قاعدة تثبيت العقدة:** يعتمد نماذج كشف الكائنات التقليدية على صناديق قاعدة محددة مسبقًا لتوقع مواقع الكائنات. ومع ذلك، يحدث تحديث في نهج 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 فئة مدربة مسبقًا.
|
||||||
|
|
||||||
|
| النموذج | يامل | حجم<br><sup>(بكسل) | mAP<sup>val<br>50-95 | سرعة<br><sup>معالج الجهاز ONNX<br>(مللي ثانية) | سرعة<br><sup>حويصلة A100 TensorRT<br>(مللي ثانية) | المعلمات<br><sup>(مليون) | FLOPs<br><sup>(بليون) |
|
||||||
|
|---------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------|----------------------|--------------------------------|-------------------------------------|--------------------|-------------------|
|
||||||
|
| [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).
|
107
docs/ar/models/yolov6.md
Normal file
107
docs/ar/models/yolov6.md
Normal file
@ -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 يفوق جميع النماذج الأخرى.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
**نظرة عامة على 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). نحن نقدّر جهودهم في تطوير هذا المجال وجعل عملهم متاحًا للمجتمع بأسره.
|
66
docs/ar/models/yolov7.md
Normal file
66
docs/ar/models/yolov7.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**مقارنة بين كاشفات الكائنات الأعلى الفنية.** من النتائج في الجدول 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). نحن نقدر جهودهم في تقدم المجال وتوفير عملهم للمجتمع بشكل عام.
|
166
docs/ar/models/yolov8.md
Normal file
166
docs/ar/models/yolov8.md
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
---
|
||||||
|
comments: true
|
||||||
|
description: استكشف الميزات المثيرة لـ YOLOv8 ، أحدث إصدار من مكتشف الكائنات الحية الخاص بنا في الوقت الحقيقي! تعرّف على العمارات المتقدمة والنماذج المدرّبة مسبقًا والتوازن المثلى بين الدقة والسرعة التي تجعل YOLOv8 الخيار المثالي لمهام الكشف عن الكائنات الخاصة بك.
|
||||||
|
keywords: YOLOv8, Ultralytics, مكتشف الكائنات الحية الخاص بنا في الوقت الحقيقي, النماذج المدرّبة مسبقًا, وثائق, الكشف عن الكائنات, سلسلة YOLO, العمارات المتقدمة, الدقة, السرعة
|
||||||
|
---
|
||||||
|
|
||||||
|
# YOLOv8
|
||||||
|
|
||||||
|
## نظرة عامة
|
||||||
|
|
||||||
|
YOLOv8 هو التطور الأخير في سلسلة YOLO لمكتشفات الكائنات الحية الخاصة بنا في الوقت الحقيقي ، والذي يقدم أداءً متقدمًا في مجال الدقة والسرعة. بناءً على التقدمات التي تم إحرازها في إصدارات YOLO السابقة ، يقدم YOLOv8 ميزات وتحسينات جديدة تجعله الخيار المثالي لمهام الكشف عن الكائنات في مجموعة واسعة من التطبيقات.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## الميزات الرئيسية
|
||||||
|
|
||||||
|
- **العمارات المتقدمة للظهر والعنق:** يعتمد 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 فئة مدربة مسبقًا.
|
||||||
|
|
||||||
|
| النموذج | حجم<br><sup>(بيكسل) | معدل الكشف<sup>التحقق<br>50-95 | سرعة<br><sup>CPU ONNX<br>(متوسط) | سرعة<br><sup>A100 TensorRT<br>(متوسط) | معلمات<br><sup>(مليون) | FLOPs<br><sup>(مليون) |
|
||||||
|
| ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
||||||
|
| [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 فئة مدربة مسبقًا.
|
||||||
|
|
||||||
|
| النموذج | حجم<br><sup>(بيكسل) | معدل الكشف<sup>التحقق<br>50-95 | سرعة<br><sup>CPU ONNX<br>(متوسط) | سرعة<br><sup>A100 TensorRT<br>(متوسط) | معلمات<br><sup>(مليون) | FLOPs<br><sup>(مليون) |
|
||||||
|
| ----------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
||||||
|
| [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 فئة مدربة مسبقًا.
|
||||||
|
|
||||||
|
| النموذج | حجم<br><sup>(بيكسل) | معدل التقسيم<sup>التحقق<br>50-95 | معدل التقسيم<sup>الأقنعة<br>50-95 | سرعة<br><sup>CPU ONNX<br>(متوسط) | سرعة<br><sup>A100 TensorRT<br>(متوسط) | معلمات<br><sup>(مليون) | FLOPs<br><sup>(مليون) |
|
||||||
|
| -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
||||||
|
| [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 فئة مدربة مسبقًا.
|
||||||
|
|
||||||
|
| النموذج | حجم<br><sup>(بيكسل) | دقة أعلى<br><sup>أعلى 1 | دقة أعلى<br><sup>أعلى 5 | سرعة<br><sup>CPU ONNX<br>(متوسط) | سرعة<br><sup>A100 TensorRT<br>(متوسط) | معلمات<br><sup>(مليون) | FLOPs<br><sup>(مليون) عند 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/)، والتي تتضمن فئة واحدة مدربة مسبقًا ، 'شخص'.
|
||||||
|
|
||||||
|
| النموذج | حجم<br><sup>(بيكسل) | معدل التوضيح<sup>التحقق<br>50-95 | معدل التوضيح<sup>50 | سرعة<br><sup>CPU ONNX<br>(متوسط) | سرعة<br><sup>A100 TensorRT<br>(متوسط) | معلمات<br><sup>(مليون) | FLOPs<br><sup>(مليون) |
|
||||||
|
| ---------------------------------------------------------------------------------------------------- | --------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
||||||
|
| [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).
|
193
docs/de/models/fast-sam.md
Normal file
193
docs/de/models/fast-sam.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Ü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.
|
@ -1,32 +1,32 @@
|
|||||||
---
|
---
|
||||||
comments: true
|
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
|
keywords: Ultralytics, Dokumentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, Modelle, Architekturen, Python, CLI
|
||||||
---
|
---
|
||||||
|
|
||||||
# Von Ultralytics unterstützte Modelle
|
# 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"
|
!!! 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
|
## 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.
|
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](../../models/yolov4.md)**: Eine darknet-native Aktualisierung von YOLOv3, die 2020 von Alexey Bochkovskiy veröffentlicht wurde.
|
2. **[YOLOv4](yolov4.md)**: Ein dunkelnetz-natives Update von YOLOv3, veröffentlicht von Alexey Bochkovskiy im Jahr 2020.
|
||||||
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.
|
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](../../models/yolov6.md)**: Im Jahr 2022 von [Meituan](https://about.meituan.com/) veröffentlicht und in vielen autonomen Zustellrobotern des Unternehmens verwendet.
|
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](../../models/yolov7.md)**: Im Jahr 2022 von den Autoren von YOLOv4 aktualisierte YOLO-Modelle.
|
5. **[YOLOv7](yolov7.md)**: Aktualisierte YOLO-Modelle, die 2022 von den Autoren von YOLOv4 veröffentlicht wurden.
|
||||||
6. **[YOLOv8](../../models/yolov8.md)**: Die neueste Version der YOLO-Familie mit erweiterten Fähigkeiten wie Instanzsegmentierung, Pose-/Schlüsselpunktschätzung und Klassifizierung.
|
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)](../../models/sam.md)**: Metas Segment Anything Model (SAM).
|
7. **[Segment Anything Model (SAM)](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.
|
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)](../../models/fast-sam.md)**: FastSAM von der Bild- und Videoanalysegruppe des Instituts für Automatisierung, Chinesische Akademie der Wissenschaften.
|
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](../../models/yolo-nas.md)**: YOLO Neural Architecture Search (NAS) Modelle.
|
10. **[YOLO-NAS](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.
|
11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Baidus PaddlePaddle Realtime Detection Transformer (RT-DETR) Modelle.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<br>
|
<br>
|
||||||
@ -36,30 +36,34 @@ Hier sind einige der wesentlichen unterstützten Modelle:
|
|||||||
allowfullscreen>
|
allowfullscreen>
|
||||||
</iframe>
|
</iframe>
|
||||||
<br>
|
<br>
|
||||||
<strong>Sehen Sie:</strong> Ultralytics YOLO-Modelle in nur wenigen Zeilen Code ausführen.
|
<strong>Anschauen:</strong> Führen Sie Ultralytics YOLO-Modelle in nur wenigen Codezeilen aus.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 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"
|
!!! Example "Beispiel"
|
||||||
|
|
||||||
=== "Python"
|
=== "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
|
```python
|
||||||
from ultralytics import YOLO
|
from ultralytics import YOLO
|
||||||
|
|
||||||
# Laden eines auf COCO vortrainierten YOLOv8n-Modells
|
# Laden eines COCO-vortrainierten YOLOv8n Modells
|
||||||
model = YOLO('yolov8n.pt')
|
model = YOLO('yolov8n.pt')
|
||||||
|
|
||||||
# Modellinformationen anzeigen (optional)
|
# Modellinformationen anzeigen (optional)
|
||||||
model.info()
|
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)
|
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')
|
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:
|
CLI-Befehle sind verfügbar, um die Modelle direkt auszuführen:
|
||||||
|
|
||||||
```bash
|
```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
|
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
|
yolo predict model=yolov8n.pt source=path/to/bus.jpg
|
||||||
```
|
```
|
||||||
|
|
||||||
## Neue Modelle beitragen
|
## 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.
|
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).
|
Für detaillierte Schritte konsultieren Sie unseren [Beitragenden-Leitfaden](../../help/contributing.md).
|
||||||
|
116
docs/de/models/mobile-sam.md
Normal file
116
docs/de/models/mobile-sam.md
Normal file
@ -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
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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}
|
||||||
|
}
|
93
docs/de/models/rtdetr.md
Normal file
93
docs/de/models/rtdetr.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**Ü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*
|
226
docs/de/models/sam.md
Normal file
226
docs/de/models/sam.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
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.*
|
121
docs/de/models/yolo-nas.md
Normal file
121
docs/de/models/yolo-nas.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**Ü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*
|
98
docs/de/models/yolov3.md
Normal file
98
docs/de/models/yolov3.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
71
docs/de/models/yolov4.md
Normal file
71
docs/de/models/yolov4.md
Normal file
@ -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**. 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.
|
113
docs/de/models/yolov5.md
Normal file
113
docs/de/models/yolov5.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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<br><sup>(Pixel) | mAP<sup>val<br>50-95 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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.
|
107
docs/de/models/yolov6.md
Normal file
107
docs/de/models/yolov6.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
**Ü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.
|
66
docs/de/models/yolov7.md
Normal file
66
docs/de/models/yolov7.md
Normal file
@ -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 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.
|
162
docs/de/models/yolov8.md
Normal file
162
docs/de/models/yolov8.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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<br><sup>(Pixel) | mAP<sup>val<br>50-95 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(Pixel) | mAP<sup>val<br>50-95 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(Pixel) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(Pixel) | acc<br><sup>top1 | acc<br><sup>top5 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(Pixel) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Geschwindigkeit<br><sup>CPU ONNX<br>(ms) | Geschwindigkeit<br><sup>A100 TensorRT<br>(ms) | Parameter<br><sup>(M) | FLOPs<br><sup>(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.
|
@ -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:
|
If you use the Caltech-101 dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the Caltech-256 dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the CIFAR-10 dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the CIFAR-100 dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the ImageNet dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the ImageNet10 dataset in your research or development work, please cite the original ImageNet paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ In this example, the `train` directory contains subdirectories for each class in
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ If you use the MNIST dataset in your
|
|||||||
|
|
||||||
research or development work, please cite the following paper:
|
research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the Argoverse dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the COCO dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the COCO dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the Global Wheat Head Dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
Here's how you can use these formats to train your model:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the Objects365 dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
For those employing Open Images V7 in their work, it's prudent to cite the relevant papers and acknowledge the creators:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the SKU-110k dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the VisDrone dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the VOC dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the xView dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
For those leveraging DOTA v2 in their endeavors, it's pertinent to cite the relevant research papers:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
To train a model using these OBB formats:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
Transitioning labels from the DOTA dataset format to the YOLO OBB format can be achieved with this script:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the COCO-Pose dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the COCO dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ The `train` and `val` fields specify the paths to the directories containing the
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
Ultralytics provides a convenient conversion tool to convert labels from the popular COCO dataset format to YOLO format:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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:
|
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"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
If you use the COCO dataset in your research or development work, please cite the following paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ The `train` and `val` fields specify the paths to the directories containing the
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
You can easily convert labels from the popular COCO dataset format to the YOLO format using the following code snippet:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
To auto-annotate your dataset using the Ultralytics framework, you can use the `auto_annotate` function as shown below:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ Multi-Object Detector doesn't need standalone training and directly supports pre
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ Without further ado, let's dive in!
|
|||||||
- It includes 6 class labels, each with its total instance counts listed below.
|
- It includes 6 class labels, each with its total instance counts listed below.
|
||||||
|
|
||||||
| Class Label | Instance Count |
|
| Class Label | Instance Count |
|
||||||
|:------------|:--------------:|
|
|:------------|:--------------:|
|
||||||
| Apple | 7049 |
|
| Apple | 7049 |
|
||||||
| Grapes | 7202 |
|
| Grapes | 7202 |
|
||||||
| Pineapple | 1613 |
|
| Pineapple | 1613 |
|
||||||
|
@ -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:
|
If you use SAHI in your research or development work, please cite the original SAHI paper and acknowledge the authors:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
Export a YOLOv8n model to OpenVINO format and run inference with the exported model.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
To reproduce the Ultralytics benchmarks above on all export [formats](../modes/export.md) run this code:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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:
|
To perform object detection on an image, use the `predict` method as shown below:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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.
|
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:
|
Validation of the model on a dataset can be done as follows:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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.
|
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:
|
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:
|
1. Clone the FastSAM repository:
|
||||||
```shell
|
```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
|
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).
|
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:
|
We would like to acknowledge the FastSAM authors for their significant contributions in the field of real-time instance segmentation:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
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.
|
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.
|
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).
|
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.
|
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.
|
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
|
## 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"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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
|
## 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.
|
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
|
### Point Prompt
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```python
|
```python
|
||||||
@ -76,7 +84,7 @@ You can download the model [here](https://github.com/ChaoningZhang/MobileSAM/blo
|
|||||||
|
|
||||||
### Box Prompt
|
### Box Prompt
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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:
|
If you find MobileSAM useful in your research or development work, please consider citing our paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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-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
|
- 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 ""
|
!!! 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).
|
|
||||||
|
|
||||||
=== "Python"
|
=== "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
|
yolo predict model=rtdetr-l.pt source=path/to/bus.jpg
|
||||||
```
|
```
|
||||||
|
|
||||||
### Supported Tasks
|
## Supported Tasks and Modes
|
||||||
|
|
||||||
| Model Type | Pre-trained Weights | Tasks Supported |
|
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.
|
||||||
|---------------------|---------------------|------------------|
|
|
||||||
| RT-DETR Large | `rtdetr-l.pt` | Object Detection |
|
|
||||||
| RT-DETR Extra-Large | `rtdetr-x.pt` | Object Detection |
|
|
||||||
|
|
||||||
### Supported Modes
|
| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export |
|
||||||
|
|---------------------|---------------------|----------------------------------------|-----------|------------|----------|--------|
|
||||||
| Mode | Supported |
|
| RT-DETR Large | `rtdetr-l.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||||
|------------|-----------|
|
| RT-DETR Extra-Large | `rtdetr-x.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||||
| Inference | ✅ |
|
|
||||||
| Validation | ✅ |
|
|
||||||
| Training | ✅ |
|
|
||||||
|
|
||||||
## Citations and Acknowledgements
|
## 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):
|
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"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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).
|
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
|
## 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.
|
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).
|
- 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
|
## SAM comparison vs YOLOv8
|
||||||
|
|
||||||
Here we compare Meta's smallest SAM model, SAM-b, with Ultralytics smallest segmentation model, [YOLOv8n-seg](../tasks/segment.md):
|
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:
|
Tests run on a 2023 Apple M2 Macbook with 16GB of RAM. To reproduce this test:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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:
|
To auto-annotate your dataset with the Ultralytics framework, use the `auto_annotate` function as shown below:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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:
|
If you find SAM useful in your research or development work, please consider citing our paper:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
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.
|
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.
|
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.
|
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
|
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**: 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-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | Object Detection |
|
- **YOLO-NAS-l**: Tailored for scenarios requiring the highest accuracy, where computational resources are less of a constraint.
|
||||||
| 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 |
|
|
||||||
|
|
||||||
### 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.
|
| Model Type | Pre-trained Weights | Tasks Supported | Inference | Validation | Training | Export |
|
||||||
|
|------------|-----------------------------------------------------------------------------------------------|----------------------------------------|-----------|------------|----------|--------|
|
||||||
| Mode | Supported |
|
| 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) | ✅ | ✅ | ❌ | ✅ |
|
||||||
| Inference | ✅ |
|
| 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) | ✅ | ✅ | ❌ | ✅ |
|
||||||
| Validation | ✅ |
|
|
||||||
| Training | ❌ |
|
|
||||||
|
|
||||||
Harness the power of the YOLO-NAS models to drive your object detection tasks to new heights of performance and speed.
|
|
||||||
|
|
||||||
## Citations and Acknowledgements
|
## Citations and Acknowledgements
|
||||||
|
|
||||||
If you employ YOLO-NAS in your research or development work, please cite SuperGradients:
|
If you employ YOLO-NAS in your research or development work, please cite SuperGradients:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
- **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
|
## Usage Examples
|
||||||
- Validation
|
|
||||||
- Training
|
|
||||||
- Export
|
|
||||||
|
|
||||||
## 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:
|
!!! Example
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
If you use YOLOv3 in your research, please cite the original YOLO papers and the Ultralytics YOLOv3 repository:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
We would like to acknowledge the YOLOv4 authors for their significant contributions in the field of real-time object detection:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
- **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 |
|
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.
|
||||||
|------------|-----------------------------------------------------------------------------------------------------------------------------|-----------|
|
|
||||||
| YOLOv5u | `yolov5nu`, `yolov5su`, `yolov5mu`, `yolov5lu`, `yolov5xu`, `yolov5n6u`, `yolov5s6u`, `yolov5m6u`, `yolov5l6u`, `yolov5x6u` | Detection |
|
|
||||||
|
|
||||||
## 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 |
|
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.
|
||||||
|------------|-----------|
|
|
||||||
| Inference | ✅ |
|
## Performance Metrics
|
||||||
| Validation | ✅ |
|
|
||||||
| Training | ✅ |
|
|
||||||
|
|
||||||
!!! Performance
|
!!! Performance
|
||||||
|
|
||||||
=== "Detection"
|
=== "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<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
| Model | YAML | size<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(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 |
|
| [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 |
|
| [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 |
|
| [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
|
## Usage Examples
|
||||||
|
|
||||||
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:
|
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.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
=== "Python"
|
=== "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:
|
If you use YOLOv5 or YOLOv5u in your research, please cite the Ultralytics YOLOv5 repository as follows:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
```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.
|
||||||
|
@ -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.
|
- **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.
|
- **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:
|
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.
|
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 ""
|
!!! 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).
|
|
||||||
|
|
||||||
=== "Python"
|
=== "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
|
yolo predict model=yolov6n.yaml source=path/to/bus.jpg
|
||||||
```
|
```
|
||||||
|
|
||||||
### Supported Tasks
|
## Supported Tasks and Modes
|
||||||
|
|
||||||
| Model Type | Pre-trained Weights | Tasks Supported |
|
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.
|
||||||
|------------|---------------------|------------------|
|
|
||||||
| 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 |
|
|
||||||
|
|
||||||
## 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 |
|
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.
|
||||||
|------------|-----------|
|
|
||||||
| Inference | ✅ |
|
|
||||||
| Validation | ✅ |
|
|
||||||
| Training | ✅ |
|
|
||||||
|
|
||||||
## Citations and Acknowledgements
|
## Citations and Acknowledgements
|
||||||
|
|
||||||
We would like to acknowledge the authors for their significant contributions in the field of real-time object detection:
|
We would like to acknowledge the authors for their significant contributions in the field of real-time object detection:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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:
|
We would like to acknowledge the YOLOv7 authors for their significant contributions in the field of real-time object detection:
|
||||||
|
|
||||||
!!! Note ""
|
!!! Quote ""
|
||||||
|
|
||||||
=== "BibTeX"
|
=== "BibTeX"
|
||||||
|
|
||||||
|
@ -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.
|
- **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.
|
- **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 |
|
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.
|
||||||
|-------------|---------------------------------------------------------------------------------------------------------------------|-----------------------|
|
|
||||||
| 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 |
|
|
||||||
|
|
||||||
## 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 |
|
| Model | Filenames | Task | Inference | Validation | Training | Export |
|
||||||
|------------|-----------|
|
|-------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------|-----------|------------|----------|--------|
|
||||||
| Inference | ✅ |
|
| YOLOv8 | `yolov8n.pt` `yolov8s.pt` `yolov8m.pt` `yolov8l.pt` `yolov8x.pt` | [Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||||||
| Validation | ✅ |
|
| YOLOv8-seg | `yolov8n-seg.pt` `yolov8s-seg.pt` `yolov8m-seg.pt` `yolov8l-seg.pt` `yolov8x-seg.pt` | [Instance Segmentation](../tasks/segment.md) | ✅ | ✅ | ✅ | ✅ |
|
||||||
| Training | ✅ |
|
| 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
|
!!! Performance
|
||||||
|
|
||||||
=== "Detection (COCO)"
|
=== "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<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
| Model | size<br><sup>(pixels) | mAP<sup>val<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(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 |
|
| [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)"
|
=== "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<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
| Model | size<br><sup>(pixels) | mAP<sup>box<br>50-95 | mAP<sup>mask<br>50-95 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(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 |
|
| [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)"
|
=== "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<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) at 640 |
|
| Model | size<br><sup>(pixels) | acc<br><sup>top1 | acc<br><sup>top5 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(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 |
|
| [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)"
|
=== "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<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
| Model | size<br><sup>(pixels) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(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 |
|
| [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](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 |
|
| [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"
|
=== "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:
|
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"
|
=== "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.
|
||||||
|
@ -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.
|
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"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ In the world of machine learning and computer vision, the process of making sens
|
|||||||
| Manufacturing | Sports | Safety |
|
| 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][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?
|
## 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'.
|
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
|
[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
|
[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
|
[human fall detect]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/86437c4a-3227-4eee-90ef-9efb697bdb43
|
||||||
|
@ -32,10 +32,10 @@ The output from Ultralytics trackers is consistent with standard object detectio
|
|||||||
|
|
||||||
## Real-world Applications
|
## Real-world Applications
|
||||||
|
|
||||||
| Transportation | Retail | Aquaculture |
|
| Transportation | Retail | Aquaculture |
|
||||||
|:----------------------------------:|:--------------------------------:|:----------------------------:|
|
|:----------------------------------:|:--------------------------------:|:----------------------------:|
|
||||||
| ![Vehicle Tracking][vehicle track] | ![People Tracking][people track] | ![Fish Tracking][fish track] |
|
| ![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
|
## 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.
|
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"
|
=== "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.
|
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"
|
=== "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.
|
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"
|
=== "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 🙏!
|
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
|
[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
|
[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
|
[fish track]: https://github.com/RizwanMunawar/ultralytics/assets/62513924/a5146d0f-bfa8-4e0a-b7df-3c1446cd8142
|
||||||
|
@ -236,7 +236,7 @@ To use a logger, select it from the dropdown menu in the code snippet above and
|
|||||||
|
|
||||||
To use Comet:
|
To use Comet:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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:
|
To use ClearML:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
```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):
|
To use TensorBoard in [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb):
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "CLI"
|
=== "CLI"
|
||||||
```bash
|
```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/.
|
To use TensorBoard locally run the below command and view results at http://localhost:6006/.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "CLI"
|
=== "CLI"
|
||||||
```bash
|
```bash
|
||||||
|
@ -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.
|
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"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -94,7 +94,6 @@ keywords: Ultralytics, Utils, utilitarian functions, colorstr, yaml_save, set_lo
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ::: ultralytics.utils.is_github_action_running
|
## ::: ultralytics.utils.is_github_action_running
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
|
@ -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.
|
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"
|
=== "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.
|
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"
|
=== "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.
|
Use a trained YOLOv8n-cls model to run predictions on images.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Export a YOLOv8n-cls model to a different format like ONNX, CoreML, etc.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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"
|
=== "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.
|
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"
|
=== "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.
|
Use a trained YOLOv8n model to run predictions on images.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Export a YOLOv8n model to a different format like ONNX, CoreML, etc.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
Train a YOLOv8-pose model on the COCO128-pose dataset.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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`
|
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.
|
retains it's training `data` and arguments as model attributes.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Use a trained YOLOv8n-pose model to run predictions on images.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Export a YOLOv8n Pose model to a different format like ONNX, CoreML, etc.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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.
|
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"
|
=== "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`
|
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.
|
retains it's training `data` and arguments as model attributes.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Use a trained YOLOv8n-seg model to run predictions on images.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "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.
|
Export a YOLOv8n-seg model to a different format like ONNX, CoreML, etc.
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "Python"
|
=== "Python"
|
||||||
|
|
||||||
|
@ -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:
|
YOLOv8 `yolo` CLI commands use the following syntax:
|
||||||
|
|
||||||
!!! Example ""
|
!!! Example
|
||||||
|
|
||||||
=== "CLI"
|
=== "CLI"
|
||||||
|
|
||||||
|
@ -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:
|
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"
|
=== "CLI"
|
||||||
```bash
|
```bash
|
||||||
|
193
docs/es/models/fast-sam.md
Normal file
193
docs/es/models/fast-sam.md
Normal file
@ -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
|
||||||
|
|
||||||
|
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.
|
@ -1,32 +1,32 @@
|
|||||||
---
|
---
|
||||||
comments: true
|
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
|
keywords: Ultralytics, documentación, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, modelos, arquitecturas, Python, CLI
|
||||||
---
|
---
|
||||||
|
|
||||||
# Modelos soportados por Ultralytics
|
# 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"
|
!!! 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.
|
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](../../models/yolov4.md)**: Una actualización para la red oscura de YOLOv3, lanzada por Alexey Bochkovskiy en 2020.
|
2. **[YOLOv4](yolov4.md)**: Una actualización nativa de darknet para 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.
|
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](../../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.
|
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](../../models/yolov7.md)**: Modelos YOLO actualizados lanzados en 2022 por los autores de YOLOv4.
|
5. **[YOLOv7](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.
|
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 de Segmentación de Cualquier Cosa (SAM)](../../models/sam.md)**: El Modelo de Segmentación de Cualquier Cosa (SAM) de Meta.
|
7. **[Modelo Segment Anything (SAM)](sam.md)**: Modelo Segment Anything (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.
|
8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM para aplicaciones móviles, por la Universidad de 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.
|
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](../../models/yolo-nas.md)**: Modelos de Búsqueda de Arquitectura Neural de YOLO (NAS).
|
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)](../../models/rtdetr.md)**: Modelos de Transformadores de Detección en Tiempo Real (RT-DETR) de Baidu PaddlePaddle.
|
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.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<br>
|
<br>
|
||||||
@ -39,33 +39,37 @@ Aquí tienes algunos de los modelos clave soportados:
|
|||||||
<strong>Mira:</strong> Ejecuta modelos YOLO de Ultralytics en solo unas pocas líneas de código.
|
<strong>Mira:</strong> Ejecuta modelos YOLO de Ultralytics en solo unas pocas líneas de código.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 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"
|
!!! Example "Ejemplo"
|
||||||
|
|
||||||
=== "Python"
|
=== "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
|
```python
|
||||||
from ultralytics import YOLO
|
from ultralytics import YOLO
|
||||||
|
|
||||||
# Cargar un modelo YOLOv8n preentrenado en COCO
|
# Cargar un modelo YOLOv8n preentrenado en COCO
|
||||||
modelo = YOLO('yolov8n.pt')
|
model = YOLO('yolov8n.pt')
|
||||||
|
|
||||||
# Mostrar información del modelo (opcional)
|
# Mostrar información del modelo (opcional)
|
||||||
modelo.info()
|
model.info()
|
||||||
|
|
||||||
# Entrenar el modelo en el conjunto de datos de ejemplo COCO8 durante 100 épocas
|
# 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'
|
# Ejecutar inferencia con el modelo YOLOv8n en la imagen 'bus.jpg'
|
||||||
resultados = modelo('path/to/bus.jpg')
|
results = model('path/to/bus.jpg')
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "CLI"
|
=== "CLI"
|
||||||
|
|
||||||
Comandos CLI están disponibles para ejecutar directamente los modelos:
|
Los comandos CLI están disponibles para ejecutar directamente los modelos:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Cargar un modelo YOLOv8n preentrenado en COCO y entrenarlo en el conjunto de datos de ejemplo COCO8 durante 100 épocas
|
# 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
|
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.
|
¿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).
|
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).
|
||||||
|
116
docs/es/models/mobile-sam.md
Normal file
116
docs/es/models/mobile-sam.md
Normal file
@ -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
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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}
|
||||||
|
}
|
93
docs/es/models/rtdetr.md
Normal file
93
docs/es/models/rtdetr.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**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*
|
226
docs/es/models/sam.md
Normal file
226
docs/es/models/sam.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
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.*
|
121
docs/es/models/yolo-nas.md
Normal file
121
docs/es/models/yolo-nas.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**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*
|
98
docs/es/models/yolov3.md
Normal file
98
docs/es/models/yolov3.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
71
docs/es/models/yolov4.md
Normal file
71
docs/es/models/yolov4.md
Normal file
@ -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**. 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.
|
113
docs/es/models/yolov5.md
Normal file
113
docs/es/models/yolov5.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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<br><sup>(píxeles) | mAP<sup>val<br>50-95 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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).
|
107
docs/es/models/yolov6.md
Normal file
107
docs/es/models/yolov6.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
**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.
|
66
docs/es/models/yolov7.md
Normal file
66
docs/es/models/yolov7.md
Normal file
@ -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 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.
|
162
docs/es/models/yolov8.md
Normal file
162
docs/es/models/yolov8.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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<br><sup>(píxeles) | mAP<sup>val<br>50-95 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(píxeles) | mAP<sup>val<br>50-95 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(píxeles) | mAP<sup>caja<br>50-95 | mAP<sup>máscara<br>50-95 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(píxeles) | acc<br><sup>top1 | acc<br><sup>top5 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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<br><sup>(píxeles) | mAP<sup>pose<br>50-95 | mAP<sup>pose<br>50 | Velocidad<br><sup>CPU ONNX<br>(ms) | Velocidad<br><sup>A100 TensorRT<br>(ms) | parámetros<br><sup>(M) | FLOPs<br><sup>(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).
|
193
docs/fr/models/fast-sam.md
Normal file
193
docs/fr/models/fast-sam.md
Normal file
@ -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
|
||||||
|
|
||||||
|
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.
|
@ -1,32 +1,32 @@
|
|||||||
---
|
---
|
||||||
comments: true
|
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
|
keywords: Ultralytics, documentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, modèles, architectures, Python, CLI
|
||||||
---
|
---
|
||||||
|
|
||||||
# Modèles pris en charge par Ultralytics
|
# 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
|
## Modèles en vedette
|
||||||
|
|
||||||
Voici quelques-uns des modèles clés pris en charge :
|
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.
|
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](../../models/yolov4.md)** : Une mise à jour de YOLOv3 native de darknet, publiée par Alexey Bochkovskiy en 2020.
|
2. **[YOLOv4](yolov4.md)** : Une mise à jour native darknet de YOLOv3, 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.
|
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](../../models/yolov6.md)** : Publié par [Meituan](https://about.meituan.com/) en 2022, et utilisé dans de nombreux robots de livraison autonomes de l'entreprise.
|
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](../../models/yolov7.md)** : Modèles YOLO mis à jour et sortis en 2022 par les auteurs de YOLOv4.
|
5. **[YOLOv7](yolov7.md)** : Modèles YOLO mis à jour publiés 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.
|
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)](../../models/sam.md)** : Le modèle Segment Anything Model (SAM) de Meta.
|
7. **[Segment Anything Model (SAM)](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.
|
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)](../../models/fast-sam.md)** : FastSAM par le groupe d’Analyse Image et Vidéo, Institut d'Automatisation, Académie Chinoise des Sciences.
|
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](../../models/yolo-nas.md)** : Modèles YOLO Neural Architecture Search (NAS).
|
10. **[YOLO-NAS](yolo-nas.md)** : Modèles de Recherche d'Architecture Neuronale YOLO (NAS).
|
||||||
11. **[Realtime Detection Transformers (RT-DETR)](../../models/rtdetr.md)** : Modèles de Realtime Detection Transformer (RT-DETR) de Baidu's PaddlePaddle.
|
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.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<br>
|
<br>
|
||||||
@ -39,24 +39,28 @@ Voici quelques-uns des modèles clés pris en charge :
|
|||||||
<strong>Regardez :</strong> Exécutez les modèles YOLO d'Ultralytics en seulement quelques lignes de code.
|
<strong>Regardez :</strong> Exécutez les modèles YOLO d'Ultralytics en seulement quelques lignes de code.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 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"
|
!!! Example "Exemple"
|
||||||
|
|
||||||
=== "Python"
|
=== "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
|
```python
|
||||||
from ultralytics import YOLO
|
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')
|
model = YOLO('yolov8n.pt')
|
||||||
|
|
||||||
# Afficher les informations du modèle (optionnel)
|
# Afficher les informations du modèle (optionnel)
|
||||||
model.info()
|
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)
|
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'
|
# 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 :
|
Des commandes CLI sont disponibles pour exécuter directement les modèles :
|
||||||
|
|
||||||
```bash
|
```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
|
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
|
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).
|
Pour des étapes détaillées, consultez notre [Guide de Contribution](../../help/contributing.md).
|
||||||
|
116
docs/fr/models/mobile-sam.md
Normal file
116
docs/fr/models/mobile-sam.md
Normal file
@ -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
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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}
|
||||||
|
}
|
93
docs/fr/models/rtdetr.md
Normal file
93
docs/fr/models/rtdetr.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**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*
|
226
docs/fr/models/sam.md
Normal file
226
docs/fr/models/sam.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
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.*
|
121
docs/fr/models/yolo-nas.md
Normal file
121
docs/fr/models/yolo-nas.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
**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*
|
98
docs/fr/models/yolov3.md
Normal file
98
docs/fr/models/yolov3.md
Normal file
@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user