ultralytics
框架#
YOLO 系列模型
模型 |
锚框 |
输入 |
主干(Backbone) |
颈部(Neck) |
预测/训练 |
---|---|---|---|---|---|
YOLOv1 |
锚框( |
resize( |
GoogLeNet(24Conv+2FC+reshape;Dropout防止过拟合;最后一层使用线性激活函数,其余层都使用ReLU激活函数); |
无 |
IOU_Loss、nms;一个网格只预测了2个框,并且都属于同一类;全连接层直接预测bbox的坐标值; |
YOLOv2 |
锚框( |
resize((416, 416, 3)):416/32=13,最后得到的是奇数值有实际的中心点;在原训练的基础上又加上了(10个epoch)的448x448高分辨率样本进行微调; |
Darknet-19(19Conv+5MaxPool+AvgPool+Softmax;没有FC层,每一个卷积后都使用BN和ReLU防止过拟合(舍弃dropout);提出passthrough层:把高分辨率特征拆分叠加大到低分辨率特征中,进行特征融合,有利于小目标的检测); |
无 |
IOU_Loss、nms;一个网络预测5个框,每个框都可以属于不同类;预测相对于anchor box的偏移量;多尺度训练(训练模型经过一定迭代后,输入图像尺寸变换)、联合训练机制; |
YOLOv3 |
锚框( |
resize (608, 608, 3) |
Darknet-53(53*Conv,每一个卷积层后都使用BN和Leaky ReLU防止过拟合,残差连接); |
FPN(多尺度检测,特征融合) |
IOU_Loss、nms;多标签预测(softmax分类函数更改为logistic分类器); |
YOLOv4 |
锚框 |
resize(608, 608, 3)、Mosaic数据增强、SAT自对抗训练数据增强 |
CSPDarknet53(CSP模块:更丰富的梯度组合,同时减少计算量、跨小批量标准化(CmBN)和Mish激活、DropBlock正则化(随机删除一大块神经元)、采用改进SAM注意力机制:在空间位置上添加权重); |
SPP(通过最大池化将不同尺寸的输入图像变得尺寸一致)、PANnet(修改PAN,add替换成concat) |
CIOU_Loss、DIOU_nms;自对抗训练SAT:在原始图像的基础上,添加噪音并设置权重阈值让神经网络对自身进行对抗性攻击训练;类标签平滑:将绝对化标签进行平滑(如: |
YOLOv5 |
锚框 |
resize(608, 608, 3)、Mosaic数据增强、自适应锚框计算、自适应图片缩放 |
CSPDarknet53(CSP模块,每一个卷积层后都使用BN和Leaky ReLU防止过拟合,Focus模块); |
SPP、PAN |
GIOU_Loss、DIOU_Nms;跨网格匹配(当前网格的上、下、左、右的四个网格中找到离目标中心点最近的两个网格,再加上当前网格共三个网格进行匹配) |
YOLOX |
无锚框 |
resize(608, 608, 3) |
Darknet-53 |
SPP、FPN |
CIOU_Loss、DIOU_Nms、Decoupled Head、SimOTA标签分配策略; |
YOLOv6 |
无锚框 |
resize(640, 640, 3) |
EfficientRep Backbone(Rep算子) |
SPP、Rep-PAN Neck |
SIOU_Loss、DIOU_Nms、Efficient Decoupled Head、SimOTA标签分配策略; |
YOLOv7 |
锚框 |
resize(640, 640, 3) |
Darknet-53(CSP模块替换了ELAN模块;下采样变成MP2层;每一个卷积层后都使用BN和SiLU防止过拟合); |
SPP、PAN |
CIOU_Loss、DIOU_Nms、SimOTA标签分配策略、带辅助头的训练(通过增加训练成本,提升精度,同时不影响推理的时间); |
YOLOv8 |
无锚框 |
resize(640, 640, 3) |
Darknet-53(C3模块换成了C2F模块) |
SPP、PAN |
CIOU_Loss、DFL_Loss、DIOU_Nms、TAL标签分配策略、Decoupled Head; |
YOLOv9 引入了 PGI,这是一种使用辅助可逆分支生成可靠梯度的新方法。此辅助分支为计算目标函数提供了完整的输入信息,从而确保用于更新网络权重的梯度更具信息量。辅助分支的可逆性质确保在前馈过程中不会丢失任何信息。YOLOv9 还提出了 GELAN,这是一种新的轻量级架构,旨在最大化信息流并促进获取相关信息进行预测。GELAN 是 ELAN 架构的通用版本,可以利用任何计算块,同时尽可能保持效率和性能。研究人员基于梯度路径规划设计了它,确保信息在网络中高效流动。YOLOv9 通过关注信息流和梯度质量,为目标检测提供了全新的视角。PGI 和 GELAN 的引入使 YOLOv9 有别于其前代产品。这种对深度神经网络中信息处理基础的关注,可以提高性能,并更好地解释目标检测中的学习过程。
YOLOv10 通过 NMS-Free 检测消除了非最大抑制 (NMS) 后处理的需要。 这不仅提高了推理速度,还简化了部署过程。YOLOv10 引入了一些关键功能,例如 NMS-Free 训练和整体设计方法,使其在所有指标上都表现出色。NMS–Free 检测:YOLOv10 基于一致的双重分配提供了一种新颖的 NMS-Free 训练策略。它采用双重标签分配(一对多和一对一)和一致的匹配度量,在训练期间提供丰富的监督,同时在推理期间消除 NMS。在推理过程中,仅使用一对一的 head,从而实现 NMS-Free 检测。 整体效率-准确度驱动设计:YOLOv10 采用整体方法进行模型设计,优化各个组件以提高效率和准确度。它引入了轻量级分类 head、空间通道解耦下采样和等级引导块设计,以降低计算成本。
YOLO11 引入了 C3k2 块和 C2PSA 块等新组件,有助于改进特征提取和处理。这导致性能略有提高,但模型的参数却少得多。以下是 YOLO11 的主要功能。 C3k2 块:YOLO11 引入了 C3k2 块,这是跨阶段部分 (CSP) 瓶颈的计算高效实现。它取代了 backbone 和 neck 中的 C2f 块,并使用两个较小的卷积代替一个大卷积,从而缩短了处理时间。 C2PSA 块:在空间金字塔池化 - 快速 (SPPF) 块之后引入跨阶段部分空间注意 (C2PSA) 块,以增强空间注意。这种注意机制使模型能够更有效地关注图像中的重要区域,从而有可能提高检测准确性。
- YOLOv1
- YOLOv2(YOLO9000)
- YOLOv3
ultralytics
框架资料- Ultralytics 简介
ultralytics
模式ultralytics
任务ultralytics
解决方案: 解决现实世界问题- Ultralytics YOLO 教程
- Ultralytics YOLO 教程概览
- 解决YOLO常见问题
- 性能指标深度剖析
- 部署
- Understanding YOLO11's Deployment Options
- Introduction
- How to Select the Right Deployment Option for Your YOLO11 Model
- Comparative Analysis of YOLO11 Deployment Options
- Community and Support
- Conclusion
- FAQ
- What are the deployment options available for YOLO11 on different hardware platforms?
- How do I improve the inference speed of my YOLO11 model on an Intel CPU?
- Can I deploy YOLO11 models on mobile devices?
- What factors should I consider when choosing a deployment format for my YOLO11 model?
- How can I deploy YOLO11 models in a web application?
- Best Practices for Model Deployment
- Introduction
- Model Deployment Options
- Model Optimization Techniques
- Troubleshooting Deployment Issues
- Security Considerations in Model Deployment
- Share Ideas With Your Peers
- Conclusion and Next Steps
- FAQ
- What are the best practices for deploying a machine learning model using Ultralytics YOLO11?
- How can I troubleshoot common deployment issues with Ultralytics YOLO11 models?
- How does Ultralytics YOLO11 optimization enhance model performance on edge devices?
- What are the security considerations for deploying machine learning models with Ultralytics YOLO11?
- How do I choose the right deployment environment for my Ultralytics YOLO11 model?
- Understanding YOLO11's Deployment Options
- 功能特性
- K-Fold Cross Validation with Ultralytics
- Introduction
- Setup
- Generating Feature Vectors for Object Detection Dataset
- K-Fold Dataset Split
- Save Records (Optional)
- Train YOLO using K-Fold Data Splits
- Conclusion
- FAQ
- What is K-Fold Cross Validation and why is it useful in object detection?
- How do I implement K-Fold Cross Validation using Ultralytics YOLO?
- Why should I use Ultralytics YOLO for object detection?
- How can I ensure my annotations are in the correct format for Ultralytics YOLO?
- Can I use K-Fold Cross Validation with custom datasets other than Fruit Detection?
- Ultralytics YOLO Hyperparameter Tuning Guide
- Introduction
- Preparing for Hyperparameter Tuning
- Steps Involved
- Usage Example
- Results
- Conclusion
- FAQ
- How do I optimize the learning rate for Ultralytics YOLO during hyperparameter tuning?
- What are the benefits of using genetic algorithms for hyperparameter tuning in YOLO11?
- How long does the hyperparameter tuning process take for Ultralytics YOLO?
- What metrics should I use to evaluate model performance during hyperparameter tuning in YOLO?
- Can I use Ultralytics HUB for hyperparameter tuning of YOLO models?
- Ultralytics Docs: Using YOLO11 with SAHI for Sliced Inference
- Introduction to SAHI
- What is Sliced Inference?
- Installation and Preparation
- Standard Inference with YOLO11
- Sliced Inference with YOLO11
- Handling Prediction Results
- Batch Prediction
- Citations and Acknowledgments
- FAQ
- How can I integrate YOLO11 with SAHI for sliced inference in object detection?
- Why should I use SAHI with YOLO11 for object detection on large images?
- Can I visualize prediction results when using YOLO11 with SAHI?
- What features does SAHI offer for improving YOLO11 object detection?
- How do I handle large-scale inference projects using YOLO11 and SAHI?
- YOLO11 🚀 on AzureML
- What is Azure?
- What is Azure Machine Learning (AzureML)?
- How Does AzureML Benefit YOLO Users?
- Prerequisites
- Create a compute instance
- Quickstart from Terminal
- Quickstart from a Notebook
- Explore More with AzureML
- FAQ
- How do I run YOLO11 on AzureML for model training?
- What are the benefits of using AzureML for YOLO11 training?
- How do I troubleshoot common issues when running YOLO11 on AzureML?
- Can I use both the Ultralytics CLI and Python interface on AzureML?
- What is the advantage of using Ultralytics YOLO11 over other object detection models?
- Conda Quickstart Guide for Ultralytics
- What You Will Learn
- Prerequisites
- Setting up a Conda Environment
- Installing Ultralytics
- Using Ultralytics
- Ultralytics Conda Docker Image
- Speeding Up Installation with Libmamba
- FAQ
- What is the process for setting up a Conda environment for Ultralytics projects?
- Why should I use Conda over pip for managing dependencies in Ultralytics projects?
- Can I use Ultralytics YOLO in a CUDA-enabled environment for faster performance?
- What are the benefits of using Ultralytics Docker images with a Conda environment?
- How can I speed up Conda package installation in my Ultralytics environment?
- Docker Quickstart Guide for Ultralytics
- What You Will Learn
- Prerequisites
- Setting up Docker with NVIDIA Support
- Installing Ultralytics Docker Images
- Running Ultralytics in Docker Container
- Running Ultralytics in Docker Container
- Run graphical user interface (GUI) applications in a Docker Container
- FAQ
- How do I set up Ultralytics with Docker?
- What are the benefits of using Ultralytics Docker images for machine learning projects?
- How can I run Ultralytics YOLO in a Docker container with GPU support?
- How do I visualize YOLO prediction results in a Docker container with a display server?
- Can I mount local directories into the Ultralytics Docker container?
- 边缘计算
- Quick Start Guide: Raspberry Pi with Ultralytics YOLO11
- What is Raspberry Pi?
- Raspberry Pi Series Comparison
- What is Raspberry Pi OS?
- Flash Raspberry Pi OS to Raspberry Pi
- Set Up Ultralytics
- Use NCNN on Raspberry Pi
- Convert Model to NCNN and Run Inference
- Raspberry Pi 5 YOLO11 Benchmarks
- Reproduce Our Results
- Use Raspberry Pi Camera
- Best Practices when using Raspberry Pi
- Next Steps
- Acknowledgements and Citations
- FAQ
- How do I set up Ultralytics YOLO11 on a Raspberry Pi without using Docker?
- Why should I use Ultralytics YOLO11's NCNN format on Raspberry Pi for AI tasks?
- How can I convert a YOLO11 model to NCNN format for use on Raspberry Pi?
- What are the hardware differences between Raspberry Pi 4 and Raspberry Pi 5 relevant to running YOLO11?
- How can I set up a Raspberry Pi Camera Module to work with Ultralytics YOLO11?
- Quick Start Guide: NVIDIA Jetson with Ultralytics YOLO11
- What is NVIDIA Jetson?
- NVIDIA Jetson Series Comparison
- What is NVIDIA JetPack?
- Flash JetPack to NVIDIA Jetson
- JetPack Support Based on Jetson Device
- Quick Start with Docker
- Start with Native Installation
- Use TensorRT on NVIDIA Jetson
- NVIDIA Jetson Orin YOLO11 Benchmarks
- Reproduce Our Results
- Best Practices when using NVIDIA Jetson
- Next Steps
- FAQ
- How do I deploy Ultralytics YOLO11 on NVIDIA Jetson devices?
- What performance benchmarks can I expect from YOLO11 models on NVIDIA Jetson devices?
- Why should I use TensorRT for deploying YOLO11 on NVIDIA Jetson?
- How can I install PyTorch and Torchvision on NVIDIA Jetson?
- What are the best practices for maximizing performance on NVIDIA Jetson when using YOLO11?
- Ultralytics YOLO11 on NVIDIA Jetson using DeepStream SDK and TensorRT
- What is NVIDIA DeepStream?
- Prerequisites
- DeepStream Configuration for YOLO11
- INT8 Calibration
- MultiStream Setup
- Benchmark Results
- FAQ
- How do I set up Ultralytics YOLO11 on an NVIDIA Jetson device?
- What is the benefit of using TensorRT with YOLO11 on NVIDIA Jetson?
- Can I run Ultralytics YOLO11 with DeepStream SDK across different NVIDIA Jetson hardware?
- How can I convert a YOLO11 model to ONNX for DeepStream?
- What are the performance benchmarks for YOLO on NVIDIA Jetson Orin NX?
- Coral Edge TPU on a Raspberry Pi with Ultralytics YOLO11 🚀
- What is a Coral Edge TPU?
- Boost Raspberry Pi Model Performance with Coral Edge TPU
- Edge TPU on Raspberry Pi with TensorFlow Lite (New)⭐
- Prerequisites
- Installation Walkthrough
- Export your model to a Edge TPU compatible model
- Running the model
- FAQ
- What is a Coral Edge TPU and how does it enhance Raspberry Pi's performance with Ultralytics YOLO11?
- How do I install the Coral Edge TPU runtime on a Raspberry Pi?
- Can I export my Ultralytics YOLO11 model to be compatible with Coral Edge TPU?
- What should I do if TensorFlow is already installed on my Raspberry Pi but I want to use tflite-runtime instead?
- How do I run inference with an exported YOLO11 model on a Raspberry Pi using the Coral Edge TPU?
- Quick Start Guide: Raspberry Pi with Ultralytics YOLO11
- Triton Inference Server with Ultralytics YOLO11
- What is Triton Inference Server?
- Prerequisites
- Exporting YOLO11 to ONNX Format
- Setting Up Triton Model Repository
- Running Triton Inference Server
- FAQ
- How do I set up Ultralytics YOLO11 with NVIDIA Triton Inference Server?
- What benefits does using Ultralytics YOLO11 with NVIDIA Triton Inference Server offer?
- Why should I export my YOLO11 model to ONNX format before using Triton Inference Server?
- Can I run inference using the Ultralytics YOLO11 model on Triton Inference Server?
- How does Ultralytics YOLO11 compare to TensorFlow and PyTorch models for deployment?
- Thread-Safe Inference with YOLO Models
- Understanding Python Threading
- The Danger of Shared Model Instances
- Thread-Safe Inference
- Conclusion
- FAQ
- How can I avoid race conditions when using YOLO models in a multi-threaded Python environment?
- What are the best practices for running multi-threaded YOLO model inference in Python?
- Why should each thread have its own YOLO model instance?
- How does Python's Global Interpreter Lock (GIL) affect YOLO model inference?
- Is it safer to use process-based parallelism instead of threading for YOLO model inference?
- Isolating Segmentation Objects
- Recipe Walk Through
- Full Example code
- FAQ
- How do I isolate objects using Ultralytics YOLO11 for segmentation tasks?
- What options are available for saving the isolated objects after segmentation?
- How can I crop isolated objects to their bounding boxes using Ultralytics YOLO11?
- Why should I use Ultralytics YOLO11 for object isolation in segmentation tasks?
- Can I save isolated objects including the background using Ultralytics YOLO11?
- Viewing Inference Results in a Terminal
- Motivation
- Process
- Example Inference Results
- Full Code Example
- FAQ
- How can I view YOLO inference results in a VSCode terminal on macOS or Linux?
- Why does the sixel protocol only work on Linux and macOS?
- What if I encounter issues with displaying images in the VSCode terminal?
- Can YOLO display video inference results in the terminal using sixel?
- How can I troubleshoot issues with the
python-sixel
library?
- Optimizing OpenVINO Inference for Ultralytics YOLO Models: A Comprehensive Guide
- Introduction
- Optimizing for Latency
- Optimizing for Throughput
- Conclusion
- FAQ
- How do I optimize Ultralytics YOLO models for low latency using OpenVINO?
- Why should I use OpenVINO for optimizing Ultralytics YOLO throughput?
- What is the best practice for reducing first-inference latency in OpenVINO?
- How do I balance optimizing for latency and throughput with Ultralytics YOLO and OpenVINO?
- Can I use Ultralytics YOLO models with other AI frameworks besides OpenVINO?
- K-Fold Cross Validation with Ultralytics
- 项目
- Understanding the Key Steps in a Computer Vision Project
- Introduction
- An Overview of a Computer Vision Project
- Step 1: Defining Your Project's Goals
- Step 2: Data Collection and Data Annotation
- Step 3: Data Augmentation and Splitting Your Dataset
- Step 4: Model Training
- Step 5: Model Evaluation and Model Finetuning
- Step 6: Model Testing
- Step 7: Model Deployment
- Step 8: Monitoring, Maintenance, and Documentation
- Engaging with the Community
- Kickstart Your Computer Vision Project Today!
- FAQ
- How do I choose the right computer vision task for my project?
- Why is data annotation crucial in computer vision projects?
- What steps should I follow to augment and split my dataset effectively?
- How can I export my trained computer vision model for deployment?
- What are the best practices for monitoring and maintaining a deployed computer vision model?
- A Practical Guide for Defining Your Computer Vision Project
- Introduction
- Defining A Clear Problem Statement
- The Connection Between The Problem Statement and The Computer Vision Tasks
- Which Comes First: Model Selection, Dataset Preparation, or Model Training Approach?
- Common Discussion Points in the Community
- Connecting with the Community
- Conclusion
- FAQ
- How do I define a clear problem statement for my Ultralytics computer vision project?
- Why should I use Ultralytics YOLO11 for speed estimation in my computer vision project?
- How do I set effective measurable objectives for my computer vision project with Ultralytics YOLO11?
- How do deployment options affect the performance of my Ultralytics YOLO models?
- What are the most common challenges in defining the problem for a computer vision project with Ultralytics?
- Data Collection and Annotation Strategies for Computer Vision
- Introduction
- Setting Up Classes and Collecting Data
- What is Data Annotation?
- Share Your Thoughts with the Community
- Conclusion
- FAQ
- What is the best way to avoid bias in data collection for computer vision projects?
- How can I ensure high consistency and accuracy in data annotation?
- How many images do I need for training Ultralytics YOLO models?
- What are some popular tools for data annotation?
- What types of data annotation are commonly used in computer vision?
- Data Preprocessing Techniques for Annotated Computer Vision Data
- Introduction
- Importance of Data Preprocessing
- Data Preprocessing Techniques
- A Case Study of Preprocessing
- Exploratory Data Analysis Techniques
- Reach Out and Connect
- Your Dataset Is Ready!
- FAQ
- What is the importance of data preprocessing in computer vision projects?
- How can I use Ultralytics YOLO for data augmentation?
- What are the best data normalization techniques for computer vision data?
- How should I split my annotated dataset for training?
- Can I handle varying image sizes in YOLO11 without manual resizing?
- Machine Learning Best Practices and Tips for Model Training
- Introduction
- How to Train a Machine Learning Model
- Training on Large Datasets
- The Number of Epochs To Train For
- Early Stopping
- Choosing Between Cloud and Local Training
- Selecting an Optimizer
- Connecting with the Community
- Key Takeaways
- FAQ
- How can I improve GPU utilization when training a large dataset with Ultralytics YOLO?
- What is mixed precision training, and how do I enable it in YOLO11?
- How does multiscale training enhance YOLO11 model performance?
- How can I use pre-trained weights to speed up training in YOLO11?
- What is the recommended number of epochs for training a model, and how do I set this in YOLO11?
- Insights on Model Evaluation and Fine-Tuning
- Introduction
- Evaluating Model Performance Using Metrics
- Evaluating YOLO11 Model Performance
- How Does Fine-Tuning Work?
- Tips for Fine-Tuning Your Model
- Engage with the Community
- Final Thoughts
- FAQ
- What are the key metrics for evaluating YOLO11 model performance?
- How can I fine-tune a pre-trained YOLO11 model for my specific dataset?
- How can I handle variable image sizes when evaluating my YOLO11 model?
- What practical steps can I take to improve mean average precision for my YOLO11 model?
- How do I access YOLO11 model evaluation metrics in Python?
- A Guide on Model Testing
- Introduction
- Model Testing Vs. Model Evaluation
- Preparing for Model Testing
- Testing Your Computer Vision Model
- Testing Your YOLO11 Model
- Using YOLO11 to Predict on Multiple Test Images
- Running YOLO11 Predictions Without Custom Training
- Overfitting and Underfitting in Machine Learning
- Data Leakage in Computer Vision and How to Avoid It
- What Comes After Model Testing
- Join the AI Conversation
- In Summary
- FAQ
- What are the key differences between model evaluation and model testing in computer vision?
- How can I test my Ultralytics YOLO11 model on multiple images?
- What should I do if my computer vision model shows signs of overfitting or underfitting?
- How can I detect and avoid data leakage in computer vision?
- What steps should I take after testing my computer vision model?
- How do I run YOLO11 predictions without custom training?
- Maintaining Your Computer Vision Models After Deployment
- Introduction
- Model Monitoring is Key
- Model Maintenance
- Documentation
- Connect with the Community
- Key Takeaways
- FAQ
- How do I monitor the performance of my deployed computer vision model?
- What are the best practices for maintaining computer vision models after deployment?
- Why is data drift detection important for AI models?
- What tools can I use for anomaly detection in computer vision models?
- How can I document my computer vision project effectively?
- Understanding the Key Steps in a Computer Vision Project
- ROS (Robot Operating System) quickstart guide