Подробные руководства по Ultralytics YOLO#
Добро пожаловать в руководства Ultralytics по YOLO. В наших подробных руководствах рассматриваются различные аспекты модели YOLO для обнаружения объектов: от обучения и предсказания до развёртывания. YOLO построена на базе PyTorch и отличается исключительной скоростью и точностью при обнаружении объектов в реальном времени.
Будь ты новичком или экспертом в области глубокого обучения, наши руководства помогут разобраться в реализации и оптимизации YOLO для твоих проектов в области компьютерного зрения.
Смотри: Обзор руководств по Ultralytics YOLO26
Руководства#
Руководства сгруппированы по этапам проекта — от настройки окружения и подготовки данных до обучения, оценки, развертывания, оптимизации инференса и работы с периферийным оборудованием, — чтобы ты мог сразу перейти к нужному этапу.
Начало работы и планирование#
- Быстрый старт с 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-Fold: узнай, как улучшить обобщающую способность модели с помощью метода кросс-валидации K-Fold.
- Настройка тренера: узнай, как создать подкласс тренера 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, пользовательскую) в TorchScript, ONNX, OpenVINO, CoreML, Core AI, TensorFlow SavedModel, PaddlePaddle, MNN, NCNN и ExecuTorch. - Сквозное обнаружение: выбери инференс с NMS или без NMS и разберись в форматах выходных данных и совместимости экспорта.
- Интеграция с сервером инференса Triton: узнай, как интегрировать 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") # Загрузить предварительно обученную модель YOLO model.train(data="path/to/dataset.yaml", epochs=50) # Обучение на пользовательском наборе данныхПодробные сведения о формате набора данных и дополнительные параметры смотри в нашем руководстве Советы по обучению моделей.
Оценка производительности модели YOLO крайне важна для понимания ее эффективности. К основным метрикам относятся средняя точность (mAP), пересечение по объединению (IoU) и F1-мера. Эти метрики помогают оценить точность и прецизионность задач обнаружения объектов. Подробнее об этих метриках и способах улучшения модели читай в нашем руководстве Метрики производительности YOLO.
Ultralytics Platform — это платформа без программирования, которая упрощает управление, обучение и развертывание моделей YOLO. Она поддерживает простую интеграцию, отслеживание в реальном времени и обучение в облаке, поэтому подходит как новичкам, так и профессионалам. Узнай больше о ее функциях и о том, как она упрощает рабочий процесс, в нашем кратком руководстве по Ultralytics Platform.
К распространенным проблемам при обучении моделей YOLO относятся ошибки форматирования данных, несоответствия архитектуры модели и недостаток обучающих данных. Чтобы устранить эти проблемы, проверь правильность формата набора данных, совместимость версий модели и дополни обучающие данные аугментацией. Полный список решений смотри в нашем руководстве Распространенные проблемы YOLO.
Для развертывания моделей YOLO на периферийных устройствах, таких как NVIDIA Jetson и Raspberry Pi, нужно преобразовать модель в совместимый формат, например TensorRT или LiteRT. Чтобы начать обнаружение объектов в реальном времени на периферийном оборудовании, следуй нашим пошаговым руководствам по развертыванию на NVIDIA Jetson и Raspberry Pi. В них описаны установка, настройка и оптимизация производительности.