Полные руководства по Ultralytics YOLO#
Добро пожаловать в руководства Ultralytics по YOLO. Наши подробные руководства охватывают различные аспекты модели YOLO для обнаружения объектов — от обучения и предсказаний до развертывания. Построенный на базе PyTorch, YOLO выделяется исключительной скоростью и точностью в задачах обнаружения объектов в реальном времени.
Будь ты новичком или экспертом в области глубокого обучения, наши руководства помогут разобраться в реализации и оптимизации YOLO для твоих проектов в области компьютерного зрения.
Watch: Ultralytics YOLO26 Guides Overview
Руководства#
Руководства сгруппированы по этапам проекта — от настройки окружения и подготовки данных до обучения, оценки, развертывания, оптимизации инференса и работы с периферийным оборудованием, — чтобы ты мог сразу перейти к нужному этапу.
Начало работы и планирование#
- Быстрый старт с Conda: пошаговое руководство по настройке окружения Conda для Ultralytics. Узнай, как эффективно установить пакет Ultralytics и начать работать с ним с помощью Conda.
- Быстрый старт с Docker: полное руководство по настройке и использованию моделей Ultralytics YOLO с Docker. Узнай, как установить Docker, настроить поддержку GPU и запускать модели YOLO в изолированных контейнерах для единообразной разработки и развертывания.
- Быстрый старт с AzureML: начни работать с моделями Ultralytics YOLO на облачной платформе машинного обучения Microsoft Azure. Узнай, как обучать, развертывать и масштабировать проекты по обнаружению объектов в облаке.
- Быстрый старт с Modal: запускай Ultralytics YOLO26 на бессерверной облачной платформе Modal, включая аутентификацию, инференс на GPU и задачи обучения с постоянным хранилищем — без необходимости управлять инфраструктурой.
- Определение целей проекта компьютерного зрения: пошагово разберись, как эффективно сформулировать четкие и измеримые цели для проекта компьютерного зрения. Узнай, почему четко определенная постановка задачи важна и как она создает план развития проекта.
- Этапы проекта компьютерного зрения: узнай об основных этапах проекта компьютерного зрения, включая определение целей, выбор моделей, подготовку данных и оценку результатов.
- Архитектура YOLO: объяснение: проследи эволюцию архитектуры YOLO от YOLOv3 до YOLO26 на уровнях backbone, neck и головы обнаружения, включая C2f, C3k2, внимание C2PSA, безъякорную архитектуру и архитектуру без NMS.
Подготовка данных#
- Сбор и аннотирование данных: изучи инструменты, методы и лучшие практики сбора и аннотирования данных для создания высококачественных входных данных для моделей компьютерного зрения.
- Предобработка аннотированных данных: узнай о предобработке данных для компьютерного зрения с YOLO26, включая изменение размера изображений, нормализацию, разделение датасета, аугментацию данных и исследовательский анализ данных (EDA).
- Аугментация данных в YOLO: освой полный спектр методов аугментации данных в YOLO — от базовых преобразований до продвинутых стратегий повышения устойчивости и производительности модели.
- Преобразование COCO в YOLO: полное руководство по преобразованию аннотаций COCO в формате JSON в формат YOLO для обучения. Охватывает обнаружение, сегментацию и ключевые точки, включая сопоставление идентификаторов классов и распространенные ошибки преобразования.
- Обучение на COCO JSON: обучай YOLO непосредственно на аннотациях COCO JSON без преобразования в формат YOLO, используя пользовательские класс датасета и тренер.
Обучение и дообучение#
- Советы по обучению моделей: изучи советы по оптимизации размеров батчей, использованию смешанной точности, применению предварительно обученных весов и не только, чтобы упростить обучение модели компьютерного зрения.
- Дообучение YOLO на пользовательских данных: полное руководство по дообучению YOLO26 на пользовательских датасетах с предварительно обученными весами, включая перенос обучения, заморозку слоев, выбор оптимизатора, двухэтапное обучение и устранение неполадок.
- Рецепт обучения YOLO26: полная документация по гиперпараметрам, конвейерам аугментации и настройкам оптимизатора, использованным для обучения официальных базовых чекпойнтов YOLO26 на COCO, с практическими рекомендациями по дообучению.
- Настройка гиперпараметров: узнай, как оптимизировать модели YOLO, настраивая гиперпараметры с помощью класса Tuner и алгоритмов генетической эволюции.
- Дистилляция знаний: узнай, как повысить производительность модели, перенося знания от более крупной модели-учителя к меньшей модели-ученику с помощью дистилляции на основе признаков.
- K-блочная кросс-валидация: узнай, как улучшить обобщающую способность модели с помощью метода K-Fold кросс-валидации.
- Настройка Trainer: узнай, как создать подкласс тренера YOLO для записи пользовательских метрик, добавления функции потерь с весами классов, настройки сохранения модели, заморозки и разморозки backbone и задания скорости обучения для каждого слоя.
- Руководство по конфигурации модели в YAML: подробный разбор определений архитектуры моделей Ultralytics. Изучи формат YAML, разберись в системе разрешения модулей и узнай, как легко интегрировать пользовательские модули.
Оценка и устранение неполадок#
- Метрики производительности YOLO ⭐ ВАЖНО: разберись в ключевых метриках, таких как mAP, IoU и F1-мера, используемых для оценки производительности моделей YOLO. Включает практические примеры и советы по повышению точности и скорости обнаружения.
- Анализ оценки и дообучения моделей: оцени модели компьютерного зрения с помощью таких метрик, как mAP и IoU, а затем используй полученные результаты для повышения точности обнаружения.
- Тестирование моделей: узнай, как тестировать модели компьютерного зрения на неизвестных данных, проверять модели YOLO26 и выявлять переобучение, недообучение и утечку данных до развертывания.
- Распространенные проблемы YOLO ⭐ РЕКОМЕНДУЕТСЯ: практические решения и советы по устранению наиболее часто встречающихся проблем при работе с моделями Ultralytics YOLO.
- Обслуживание модели компьютерного зрения: разберись в ключевых практиках мониторинга, обслуживания и документирования моделей компьютерного зрения, чтобы гарантировать точность, выявлять аномалии и снижать влияние дрейфа данных.
Развертывание и предоставление сервиса#
- Варианты развертывания моделей: обзор форматов развертывания моделей YOLO, таких как ONNX, OpenVINO и TensorRT, с преимуществами и недостатками каждого формата для выбора стратегии развертывания.
- Лучшие практики развертывания моделей: изучи советы и лучшие практики эффективного развертывания моделей в проектах компьютерного зрения с акцентом на оптимизацию, устранение неполадок и безопасность.
- Экспорт моделей не-YOLO: используй автономные утилиты экспорта Ultralytics для конвертации любой
torch.nn.Module(timm, torchvision, пользовательской) в ONNX, TorchScript, OpenVINO, CoreML, NCNN, MNN, PaddlePaddle, ExecuTorch, Core AI и TensorFlow SavedModel. - End-to-End Detection: выбирай вывод NMS или без NMS, а также разбирайся в форматах вывода и совместимости экспорта.
- Интеграция с Triton Inference Server: подробно изучи интеграцию Ultralytics YOLO26 с Triton Inference Server от NVIDIA для масштабируемого и эффективного развертывания инференса глубокого обучения.
- Потокобезопасный инференс YOLO: рекомендации по выполнению инференса с моделями YOLO безопасным для потоков способом. Узнай о важности потокобезопасности и лучших практиках предотвращения состязаний потоков и обеспечения стабильных предсказаний.
- Быстрый старт с ROS: узнай, как интегрировать YOLO с операционной системой для роботов (ROS) для обнаружения объектов в реальном времени в робототехнических приложениях, включая облака точек и изображения глубины.
- Развертывание в Vertex AI с Docker: оптимизированное руководство по упаковке моделей YOLO в контейнеры с Docker и их развертыванию в Google Cloud Vertex AI, включая сборку, отправку, автомасштабирование и мониторинг.
Оптимизация инференса#
- Тайловый инференс SAHI: подробное руководство по использованию возможностей нарезанного инференса SAHI с YOLO26 для обнаружения объектов на изображениях высокого разрешения.
- Режимы задержки и пропускной способности OpenVINO: узнай о методах оптимизации задержки и пропускной способности для максимальной производительности инференса YOLO.
- Предобработка на GPU с NVIDIA DALI: устрани узкие места предобработки на CPU, выполняя изменение размера letterbox, дополнение и нормализацию YOLO на GPU с помощью NVIDIA DALI и интеграции с Triton Inference Server.
- Изоляция объектов сегментации: пошаговый рецепт и объяснение того, как извлекать и/или изолировать объекты на изображениях с помощью сегментации Ultralytics.
- Просмотр изображений инференса в терминале: используй встроенный терминал VSCode для просмотра результатов инференса при работе через Remote Tunnel или SSH-сеансы.
Периферийное и встраиваемое оборудование#
- NVIDIA Jetson: руководство по быстрому старту для развертывания моделей YOLO на устройствах NVIDIA Jetson.
- Raspberry Pi: краткое руководство по запуску моделей YOLO на новейшем оборудовании Raspberry Pi.
- DeepStream на NVIDIA Jetson: руководство по быстрому старту для развертывания моделей YOLO на устройствах NVIDIA Jetson с использованием DeepStream и TensorRT.
- Edge TPU на Raspberry Pi: Google Edge TPU ускоряет инференс YOLO на Raspberry Pi.
- NVIDIA DGX Spark: руководство по быстрому старту для развертывания моделей YOLO на устройствах NVIDIA DGX Spark.
- DL Streamer на Intel: руководство по быстрому старту для развертывания моделей YOLO26 на устройствах Intel Core Ultra Series 3 с использованием DL Streamer и OpenVINO™.
Внеси вклад в наши руководства#
Мы приветствуем вклад сообщества! Если ты хорошо освоил какой-либо аспект Ultralytics YOLO, который еще не освещен в наших руководствах, поделись своей экспертизой. Написание руководства — отличный способ внести вклад в сообщество и помочь нам сделать документацию более полной и удобной для пользователей.
Для начала ознакомься с нашим руководством по внесению изменений, где описаны рекомендации по созданию Pull Request (PR). Добавляя новое руководство, помести его в подходящую категорию выше, соответствующую этапу проекта, и придерживайся одного типа страницы — пошагового руководства, инструкции по конкретной задаче или справочника, — чтобы по мере роста коллекции ее было легко просматривать. Будем рады твоему вкладу.
Часто задаваемые вопросы#
Обучение пользовательской модели обнаружения объектов с помощью Ultralytics YOLO не вызывает сложностей. Сначала подготовь датасет в правильном формате и установи пакет Ultralytics. Для запуска обучения используй следующий код:
Примерfrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Load a pretrained YOLO model model.train(data="path/to/dataset.yaml", epochs=50) # Train on custom datasetПодробные сведения о форматировании датасета и дополнительные параметры смотри в нашем руководстве Советы по обучению моделей.
Оценка производительности модели YOLO необходима для понимания ее эффективности. Ключевые метрики включают среднюю точность по всем классам (mAP), пересечение по объединению (IoU) и F1-меру. Эти метрики помогают оценить точность и прецизионность задач обнаружения объектов. Подробнее об этих метриках и способах улучшения модели можно узнать в нашем руководстве Метрики производительности YOLO.
Ultralytics Platform — это платформа без кода, которая упрощает управление, обучение и развертывание моделей YOLO. Она поддерживает бесшовную интеграцию, отслеживание в реальном времени и облачное обучение, что делает ее подходящей как для новичков, так и для профессионалов. Узнай больше о ее возможностях и о том, как она может упростить твой рабочий процесс, в нашем руководстве по быстрому старту Ultralytics Platform.
К распространенным проблемам при обучении моделей YOLO относятся ошибки форматирования данных, несовместимость архитектуры модели и недостаток обучающих данных. Чтобы решить эти проблемы, проверь правильность форматирования датасета, совместимость версий модели и увеличь объем обучающих данных с помощью аугментации. Полный список решений смотри в нашем руководстве Распространенные проблемы YOLO.
Для развертывания моделей YOLO на периферийных устройствах, таких как NVIDIA Jetson и Raspberry Pi, необходимо преобразовать модель в совместимый формат, например TensorRT или LiteRT. Чтобы начать работу с обнаружением объектов в реальном времени на периферийном оборудовании, следуй нашим пошаговым руководствам по развертыванию на NVIDIA Jetson и Raspberry Pi. В этих руководствах описаны установка, настройка и оптимизация производительности.