ultralytics 8.2.38 official YOLOv10 support (#13113)

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
Co-authored-by: Laughing-q <1185102784@qq.com>
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: Laughing <61612323+Laughing-q@users.noreply.github.com>
This commit is contained in:
Burhan 2024-06-20 14:31:48 -04:00 committed by GitHub
parent 821e5fa477
commit ffb46fd7fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 785 additions and 32 deletions

View file

@ -19,7 +19,7 @@ Real-time object detection aims to accurately predict object categories and posi
The architecture of YOLOv10 builds upon the strengths of previous YOLO models while introducing several key innovations. The model architecture consists of the following components:
1. **Backbone**: Responsible for feature extraction, the backbone in YOLOv10 uses an enhanced version of CSPNet (Cross Stage Partial Network) to improve gradient flow and reduce computational redundancy.
2. **Neck**: The neck is designed to aggregate features from different scales and passes them to the head. It includes PAN (Path Aggregation Network) layers for effective multiscale feature fusion.
2. **Neck**: The neck is designed to aggregate features from different scales and passes them to the head. It includes PAN (Path Aggregation Network) layers for effective multi-scale feature fusion.
3. **One-to-Many Head**: Generates multiple predictions per object during training to provide rich supervisory signals and improve learning accuracy.
4. **One-to-One Head**: Generates a single best prediction per object during inference to eliminate the need for NMS, thereby reducing latency and improving efficiency.
@ -113,23 +113,19 @@ Here is a detailed comparison of YOLOv10 variants with other state-of-the-art mo
| YOLOv8-L | 43.7 | 165.2 | 52.9 | 12.39 | 8.06 |
| RT-DETR-R50 | 42.0 | 136.0 | 53.1 | 9.20 | 9.07 |
| **YOLOv10-L** | **24.4** | **120.3** | **53.4** | **7.28** | **7.21** |
| | | | | |
| | | | | | |
| YOLOv8-X | 68.2 | 257.8 | 53.9 | 16.86 | 12.83 |
| RT-DETR-R101 | 76.0 | 259.0 | 54.3 | 13.71 | 13.58 |
| **YOLOv10-X** | **29.5** | **160.4** | **54.4** | **10.70** | **10.60** |
## Usage Examples
!!! tip "Coming Soon"
The Ultralytics team is actively working on officially integrating the YOLOv10 models into the `ultralytics` package. Once the integration is complete, the usage examples shown below will be fully functional. Please stay tuned by following our social media and [GitHub repository](https://github.com/ultralytics/ultralytics) for the latest updates on YOLOv10 integration. We appreciate your patience and excitement! 🚀
For predicting new images with YOLOv10:
```python
from ultralytics import YOLO
# Load a pretrained YOLOv10n model
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform object detection on an image
@ -151,6 +147,34 @@ model = YOLO("yolov10n.yaml")
model.train(data="coco8.yaml", epochs=100, imgsz=640)
```
## Supported Tasks and Modes
The YOLOv10 models 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.
| Model | Filenames | Tasks | Inference | Validation | Training | Export |
|---------|------------------------------------------------------------------------|----------------------------------------------|-----------|------------|----------|--------|
| YOLOv10 | `yolov10n.pt` `yolov10s.pt` `yolov10m.pt` `yolov10l.pt` `yolov10x.pt` | [Object Detection](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
## Exporting YOLOv10
Due to the new operations introduced with YOLOv10, not all export formats provided by Ultralytics are currently supported. The following table outlines which formats have been successfully converted using Ultralytics for YOLOv10. Feel free to open a pull request if you're able to [provide a contribution change](../help/contributing.md) for adding export support of additional formats for YOLOv10.
| Export Format | Supported |
| ------------------------------------------------- | --------- |
| [TorchScript](../integrations/torchscript.md) | ✅ |
| [ONNX](../integrations/onnx.md) | ✅ |
| [OpenVINO](../integrations/openvino.md) | ✅ |
| [TensorRT](../integrations/tensorrt.md) | ✅ |
| [CoreML](../integrations/coreml.md) | ❌ |
| [TF SavedModel](../integrations/tf-savedmodel.md) | ❌ |
| [TF GraphDef](../integrations/tf-graphdef.md) | ❌ |
| [TF Lite](../integrations/tflite.md) | ❌ |
| [TF Edge TPU](../integrations/edge-tpu.md) | ❌ |
| [TF.js](../integrations/tfjs.md) | ❌ |
| [PaddlePaddle](../integrations/paddlepaddle.md) | ❌ |
| [NCNN](../integrations/ncnn.md) | ❌ |
## Conclusion
YOLOv10 sets a new standard in real-time object detection by addressing the shortcomings of previous YOLO versions and incorporating innovative design strategies. Its ability to deliver high accuracy with low computational cost makes it an ideal choice for a wide range of real-world applications.
@ -175,3 +199,10 @@ We would like to acknowledge the YOLOv10 authors from [Tsinghua University](http
```
For detailed implementation, architectural innovations, and experimental results, please refer to the YOLOv10 [research paper](https://arxiv.org/pdf/2405.14458) and [GitHub repository](https://github.com/THU-MIG/yolov10) by the Tsinghua University team.
[1]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10n.pt
[2]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10s.pt
[3]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10m.pt
[4]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10b.pt
[5]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10l.pt
[6]: https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov10x.pt

View file

@ -142,3 +142,27 @@ keywords: Ultralytics, YOLO, neural networks, block modules, DFL, Proto, HGStem,
## ::: ultralytics.nn.modules.block.CBFuse
<br><br>
## ::: ultralytics.nn.modules.block.RepVGGDW
<br><br>
## ::: ultralytics.nn.modules.block.CIB
<br><br>
## ::: ultralytics.nn.modules.block.C2fCIB
<br><br>
## ::: ultralytics.nn.modules.block.Attention
<br><br>
## ::: ultralytics.nn.modules.block.PSA
<br><br>
## ::: ultralytics.nn.modules.block.SCDown
<br><br>

View file

@ -38,3 +38,7 @@ keywords: Ultralytics, YOLO, Detection, Pose, RTDETRDecoder, nn modules, guides
## ::: ultralytics.nn.modules.head.RTDETRDecoder
<br><br>
## ::: ultralytics.nn.modules.head.v10Detect
<br><br>

View file

@ -50,3 +50,7 @@ keywords: Ultralytics, loss functions, Varifocal Loss, Focal Loss, Bbox Loss, Ro
## ::: ultralytics.utils.loss.v8OBBLoss
<br><br>
## ::: ultralytics.utils.loss.E2EDetectLoss
<br><br>