Часто задаваемые вопросы (FAQ) об Ultralytics YOLO#
В этом разделе часто задаваемых вопросов рассматриваются распространённые вопросы и проблемы, с которыми ты можешь столкнуться при работе с репозиториями Ultralytics YOLO.
Часто задаваемые вопросы#
Ultralytics — компания в области ИИ и компьютерного зрения, специализирующаяся на передовых моделях обнаружения объектов и сегментации изображений, с акцентом на семейство YOLO (Ты смотришь только один раз). В число её предложений входят:
- Реализации с открытым исходным кодом YOLO26 (последнее поколение) и YOLO11 (предыдущее поколение)
- Широкий выбор предобученных моделей для различных задач компьютерного зрения
- Комплексный пакет Python для простой интеграции моделей YOLO в проекты
- Универсальные инструменты для обучения, тестирования и развёртывания моделей
- Подробная документация и поддерживающее сообщество
Нет. YOLO27 проходит финальные научно-исследовательские и опытно-конструкторские работы в преддверии запуска в конце этого года, точная дата запуска не установлена. В документации представлены предварительный обзор возможностей, предварительные бенчмарки и примеры для использования после релиза. Продолжай использовать YOLO26 для текущих проектов.
Установить пакет Ultralytics можно с помощью pip:
pip install ultralyticsЧтобы установить последнюю версию для разработки, выполни установку напрямую из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitПодробные инструкции по установке приведены в руководстве по быстрому старту.
Минимальные требования:
- Python 3.8+
- PyTorch 1.8+
- GPU, совместимый с CUDA (для ускорения на GPU)
Рекомендуемая конфигурация:
- Python 3.8+
- PyTorch 1.10+
- GPU NVIDIA с CUDA 11.2+
- ОЗУ от 8 ГБ
- Свободное место на диске от 50 ГБ (для хранения наборов данных и обучения моделей)
Для устранения распространённых проблем посети страницу Распространённые проблемы YOLO.
Чтобы обучить собственную модель YOLO:
-
Подготовь набор данных в формате YOLO (изображения и соответствующие текстовые файлы txt с разметкой).
-
Создай YAML-файл с описанием структуры и классов набора данных (см. пример YAML-файла набора данных).
-
Для запуска обучения используй следующий код Python:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
Более подробные сведения, включая подготовку данных и расширенные параметры обучения, приведены в подробном руководстве по обучению.
-
Ultralytics предлагает широкий выбор предобученных моделей для различных задач:
- Обнаружение объектов: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Сегментация экземпляров: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Семантическая сегментация: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Оценка глубины: YOLO26n-depth, YOLO26s-depth, YOLO26m-depth, YOLO26l-depth, YOLO26x-depth
- Классификация: YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Оценка позы: YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Ориентированное обнаружение (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Эти модели различаются размером и сложностью, предлагая разные компромиссы между скоростью и точностью. Изучи полный набор предобученных моделей, чтобы выбрать наиболее подходящую для своего проекта.
Чтобы выполнить инференс с помощью обученной модели:
from ultralytics import YOLO # Load a model model = YOLO("path/to/your/model.pt") # Perform inference results = model("path/to/image.jpg") # Process results for r in results: print(r.boxes) # print bbox predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilitiesРасширенные параметры инференса, включая пакетную обработку и инференс видео, описаны в подробном руководстве по предсказаниям.
Безусловно! Модели Ultralytics рассчитаны на универсальное развёртывание на различных платформах:
- Краевые устройства: оптимизируй инференс на таких устройствах, как NVIDIA Jetson или Raspberry Pi, с помощью TensorRT, ONNX или OpenVINO.
- Мобильные устройства: развёртывай модели на устройствах Android или iOS, преобразуя их в LiteRT или Core ML.
- Облако: задействуй такие фреймворки, как TensorFlow Serving или TorchServe, для масштабируемого развертывания в облаке.
- Веб: реализуй инференс в браузере с помощью ONNX Runtime Web.
Ultralytics предоставляет функции экспорта для преобразования моделей в различные форматы развёртывания. Изучи широкий выбор вариантов развёртывания, чтобы найти лучшее решение для своего сценария использования.
Ключевые различия:
- Инференс без NMS от конца к концу: YOLO26 предлагает инференс без NMS с помощью
nms=False. Его путь по умолчанию «один ко многим» использует NMS для точности. - Удаление DFL: YOLO26 удаляет модуль Distribution Focal Loss, упрощая экспорт и повышая совместимость с периферийными устройствами и устройствами с низким энергопотреблением.
- Оптимизатор MuSGD: гибрид SGD и Muon (вдохновлённый Kimi K2 от Moonshot AI) для более стабильного обучения и быстрой сходимости.
- Производительность на CPU: YOLO26n работает до 43% быстрее YOLO11n при инференсе ONNX на CPU (Intel Xeon CPU @ 2.00 GHz), что делает её идеальной для устройств без GPU.
- Оптимизация под конкретные задачи: улучшенная сегментация с семантической функцией потерь и прототипами разных масштабов, RLE для точной оценки позы и улучшенное декодирование OBB с функцией потерь угла.
- Задачи: обе модели поддерживают обнаружение объектов и сегментацию экземпляров, а YOLO26 также добавляет семантическую сегментацию для плотного попиксельного предсказания и монокулярную оценку глубины для определения глубины каждого пикселя. Обе модели также поддерживают классификацию, оценку позы и ориентированное обнаружение объектов (OBB) в рамках единой архитектуры.
Подробное сравнение функций и показателей производительности приведено на странице документации YOLO26.
- Инференс без NMS от конца к концу: YOLO26 предлагает инференс без NMS с помощью
Вклад в Ultralytics — отличный способ улучшить проект и развить свои навыки. Вот как ты можешь принять участие:
- Создай форк репозитория Ultralytics на GitHub.
- Создай новую ветку для своей функции или исправления ошибки.
- Внеси изменения и убедись, что все тесты проходят.
- Отправь запрос на включение изменений с понятным описанием своих изменений.
- Участвуй в процессе проверки кода.
Ты также можешь сообщать об ошибках, предлагать функции или улучшать документацию. Подробные рекомендации и лучшие практики приведены в руководстве для участников.
Ultralytics YOLO предлагает широкий набор функций для продвинутых задач компьютерного зрения:
- Обнаружение в реальном времени: эффективно обнаруживай и классифицируй объекты в сценариях реального времени.
- Поддержка нескольких задач: выполняй обнаружение объектов, сегментацию экземпляров, семантическую сегментацию, монокулярную оценку глубины, классификацию, оценку позы и ориентированное обнаружение объектов (OBB) в рамках единой архитектуры.
- Предобученные модели: получай доступ к различным предобученным моделям, обеспечивающим баланс скорости и точности для разных сценариев использования.
- Пользовательское обучение: легко дообучай модели на собственных наборах данных с помощью гибкого конвейера обучения.
- Широкие варианты развёртывания: экспортируй модели в различные форматы, такие как TensorRT, ONNX и CoreML, для развёртывания на разных платформах.
- Подробная документация: используй обширную документацию и поддержку сообщества в рабочих процессах компьютерного зрения.
Повысить производительность модели YOLO можно с помощью нескольких методов:
- Настройка гиперпараметров: экспериментируй с различными гиперпараметрами, используя руководство по настройке гиперпараметров, чтобы оптимизировать производительность модели.
- Аугментация данных: применяй такие методы, как отражение, масштабирование, поворот и настройка цвета, чтобы улучшить обучающий набор данных и обобщающую способность модели.
- Перенос обучения: используй предобученные модели и дообучай их на своём наборе данных с помощью руководства по обучению.
- Экспорт в эффективные форматы: преобразуй модель в оптимизированные форматы, такие как TensorRT или ONNX, для ускорения инференса, используя руководство по экспорту.
- Бенчмаркинг: используй режим Benchmark, чтобы систематически измерять и улучшать скорость и точность инференса.
Ultralytics предоставляет множество ресурсов, которые помогут тебе начать работу и освоить её инструменты:
- 📚 Официальная документация: подробные руководства, справочные материалы по API и лучшие практики.
- 💻 Репозиторий GitHub: исходный код, примеры скриптов и вклад сообщества.
- ✍️ Блог Ultralytics: подробные статьи, примеры использования и технические материалы.
- 💬 Форумы сообщества: общайся с другими пользователями, задавай вопросы и делись своим опытом.
- 🎥 YouTube-канал: видеоуроки, демонстрации и вебинары на различные темы, связанные с Ultralytics.
Эти ресурсы содержат примеры кода, практические сценарии использования и пошаговые руководства по различным задачам с применением моделей Ultralytics.
Если тебе нужна дополнительная помощь, обратись к документации Ultralytics или в сообщество через GitHub Issues или официальный форум для обсуждений.