95 lines
5.3 KiB
Markdown
95 lines
5.3 KiB
Markdown
|
---
|
||
|
comments: true
|
||
|
description: Explore the diverse range of YOLO family, SAM, MobileSAM, FastSAM, YOLO-NAS, and RT-DETR models supported by Ultralytics. Get started with examples for both CLI and Python usage.
|
||
|
keywords: Ultralytics, documentation, YOLO, SAM, MobileSAM, FastSAM, YOLO-NAS, RT-DETR, models, architectures, Python, CLI
|
||
|
---
|
||
|
|
||
|
# Models Supported by Ultralytics
|
||
|
|
||
|
Welcome to Ultralytics' model documentation! We offer support for a wide range of models, each tailored to specific tasks like [object detection](../tasks/detect.md), [instance segmentation](../tasks/segment.md), [image classification](../tasks/classify.md), [pose estimation](../tasks/pose.md), and [multi-object tracking](../modes/track.md). If you're interested in contributing your model architecture to Ultralytics, check out our [Contributing Guide](../help/contributing.md).
|
||
|
|
||
|
## Featured Models
|
||
|
|
||
|
Here are some of the key models supported:
|
||
|
|
||
|
1. **[YOLOv3](yolov3.md)**: The third iteration of the YOLO model family, originally by Joseph Redmon, known for its efficient real-time object detection capabilities.
|
||
|
2. **[YOLOv4](yolov4.md)**: A darknet-native update to YOLOv3, released by Alexey Bochkovskiy in 2020.
|
||
|
3. **[YOLOv5](yolov5.md)**: An improved version of the YOLO architecture by Ultralytics, offering better performance and speed trade-offs compared to previous versions.
|
||
|
4. **[YOLOv6](yolov6.md)**: Released by [Meituan](https://about.meituan.com/) in 2022, and in use in many of the company's autonomous delivery robots.
|
||
|
5. **[YOLOv7](yolov7.md)**: Updated YOLO models released in 2022 by the authors of YOLOv4.
|
||
|
6. **[YOLOv8](yolov8.md) NEW 🚀**: The latest version of the YOLO family, featuring enhanced capabilities such as instance segmentation, pose/keypoints estimation, and classification.
|
||
|
7. **[Segment Anything Model (SAM)](sam.md)**: Meta's Segment Anything Model (SAM).
|
||
|
8. **[Mobile Segment Anything Model (MobileSAM)](mobile-sam.md)**: MobileSAM for mobile applications, by Kyung Hee University.
|
||
|
9. **[Fast Segment Anything Model (FastSAM)](fast-sam.md)**: FastSAM by Image & Video Analysis Group, Institute of Automation, Chinese Academy of Sciences.
|
||
|
10. **[YOLO-NAS](yolo-nas.md)**: YOLO Neural Architecture Search (NAS) Models.
|
||
|
11. **[Realtime Detection Transformers (RT-DETR)](rtdetr.md)**: Baidu's PaddlePaddle Realtime Detection Transformer (RT-DETR) models.
|
||
|
|
||
|
<p align="center">
|
||
|
<br>
|
||
|
<iframe width="720" height="405" src="https://www.youtube.com/embed/MWq1UxqTClU?si=nHAW-lYDzrz68jR0"
|
||
|
title="YouTube video player" frameborder="0"
|
||
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||
|
allowfullscreen>
|
||
|
</iframe>
|
||
|
<br>
|
||
|
<strong>Watch:</strong> Run Ultralytics YOLO models in just a few lines of code.
|
||
|
</p>
|
||
|
|
||
|
## Getting Started: Usage Examples
|
||
|
|
||
|
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"
|
||
|
|
||
|
PyTorch pretrained `*.pt` models as well as configuration `*.yaml` files can be passed to the `YOLO()`, `SAM()`, `NAS()` and `RTDETR()` classes to create a model instance in Python:
|
||
|
|
||
|
```python
|
||
|
from ultralytics import YOLO
|
||
|
|
||
|
# Load a COCO-pretrained YOLOv8n model
|
||
|
model = YOLO('yolov8n.pt')
|
||
|
|
||
|
# Display model information (optional)
|
||
|
model.info()
|
||
|
|
||
|
# Train the model on the COCO8 example dataset for 100 epochs
|
||
|
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
|
||
|
|
||
|
# Run inference with the YOLOv8n model on the 'bus.jpg' image
|
||
|
results = model('path/to/bus.jpg')
|
||
|
```
|
||
|
|
||
|
=== "CLI"
|
||
|
|
||
|
CLI commands are available to directly run the models:
|
||
|
|
||
|
```bash
|
||
|
# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
|
||
|
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
|
||
|
|
||
|
# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
|
||
|
yolo predict model=yolov8n.pt source=path/to/bus.jpg
|
||
|
```
|
||
|
|
||
|
## Contributing New Models
|
||
|
|
||
|
Interested in contributing your model to Ultralytics? Great! We're always open to expanding our model portfolio.
|
||
|
|
||
|
1. **Fork the Repository**: Start by forking the [Ultralytics GitHub repository](https://github.com/ultralytics/ultralytics).
|
||
|
|
||
|
2. **Clone Your Fork**: Clone your fork to your local machine and create a new branch to work on.
|
||
|
|
||
|
3. **Implement Your Model**: Add your model following the coding standards and guidelines provided in our [Contributing Guide](../help/contributing.md).
|
||
|
|
||
|
4. **Test Thoroughly**: Make sure to test your model rigorously, both in isolation and as part of the pipeline.
|
||
|
|
||
|
5. **Create a Pull Request**: Once you're satisfied with your model, create a pull request to the main repository for review.
|
||
|
|
||
|
6. **Code Review & Merging**: After review, if your model meets our criteria, it will be merged into the main repository.
|
||
|
|
||
|
For detailed steps, consult our [Contributing Guide](../help/contributing.md).
|