Часто задаваемые вопросы (FAQ) об Ultralytics YOLO#
В этом разделе часто задаваемых вопросов собраны ответы на распространённые вопросы и решения проблем, с которыми пользователи могут столкнуться при работе с репозиториями Ultralytics YOLO.
Часто задаваемые вопросы#
Ultralytics — компания в области ИИ, специализирующаяся на современных моделях для компьютерного зрения, в том числе для обнаружения объектов и сегментации изображений, с особым вниманием к семейству YOLO (You Only Look Once). Компания предлагает:
- Реализации с открытым исходным кодом для YOLO26 (последнее поколение) и YOLO11 (предыдущее поколение)
- Широкий выбор предварительно обученных моделей для различных задач компьютерного зрения
- Полноценный пакет Python для простой интеграции моделей YOLO в проекты
- Универсальные инструменты для обучения, тестирования и развертывания моделей
- Подробная документация и отзывчивое сообщество
Нет. YOLO27 проходит заключительный этап исследований и разработок (R&D); ожидается, что запуск состоится позже в этом году, но конкретная дата пока не назначена. В документации представлены предварительные сведения о функциях модели, предварительные результаты тестирования и примеры использования после выпуска. Для текущих проектов продолжай использовать 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 # Загрузить модель model = YOLO("yolo26n.yaml") # создать новую модель с нуля model = YOLO("yolo26n.pt") # загрузить предварительно обученную модель (рекомендуется для обучения) # Обучить модель 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 # Загрузить модель model = YOLO("path/to/your/model.pt") # Выполнить инференс results = model("path/to/image.jpg") # Обработать результаты for r in results: print(r.boxes) # вывести предсказания bbox print(r.masks) # вывести предсказания масок print(r.probs) # вывести вероятности классовДополнительные параметры инференса, включая пакетную обработку и инференс видео, смотри в подробном руководстве по предсказаниям.
Конечно! Модели Ultralytics рассчитаны на развертывание на самых разных платформах:
- Периферийные устройства: оптимизируй инференс на таких устройствах, как NVIDIA Jetson или Raspberry Pi, с помощью TensorRT, ONNX или OpenVINO.
- Мобильные устройства: развертывай модели на устройствах Android или iOS, преобразовав их в LiteRT или CoreML.
- Облако: используй такие фреймворки, как TensorFlow Serving или TorchServe, для масштабируемого развертывания в облаке.
- Web: реализуй инференс в браузере с помощью ONNX Runtime Web.
Ultralytics предоставляет функции экспорта для преобразования моделей в различные форматы и их развертывания. Изучи широкий выбор вариантов развертывания, чтобы найти лучшее решение для своего сценария использования.
Основные различия:
- Инференс без NMS в сквозном режиме: YOLO26 поддерживает инференс без NMS с помощью
nms=False. В стандартном режиме «один ко многим» используется NMS для повышения точности. - Удаление DFL: в YOLO26 убран модуль Distribution Focal Loss, что упрощает экспорт и улучшает совместимость с периферийными устройствами и устройствами с низким энергопотреблением.
- Оптимизатор MuSGD: гибрид SGD и Muon (вдохновлённый моделью Kimi K2 от Moonshot AI), обеспечивающий более стабильное обучение и быструю сходимость.
- Производительность на CPU: YOLO26n работает на CPU до 43% быстрее YOLO11n при инференсе ONNX (Intel Xeon CPU @ 2.00 GHz), поэтому он идеально подходит для устройств без GPU.
- Оптимизации для конкретных задач: улучшенная сегментация благодаря семантической функции потерь и прототипам разных масштабов, RLE для точной оценки позы и улучшенное декодирование OBB с функцией потерь угла.
- Задачи: обе модели поддерживают обнаружение объектов и сегментацию экземпляров, а YOLO26 также поддерживает семантическую сегментацию для плотного попиксельного предсказания и оценку глубины по монокулярному изображению для определения глубины каждого пикселя. Обе модели также поддерживают классификацию, оценку позы и обнаружение объектов с заданной ориентацией (OBB) в рамках единой среды.
Подробное сравнение возможностей и метрик производительности смотри на странице документации YOLO26.
- Инференс без NMS в сквозном режиме: YOLO26 поддерживает инференс без NMS с помощью
Вклад в Ultralytics — отличный способ улучшить проект и развить свои навыки. Вот как ты можешь присоединиться:
- Создай форк репозитория Ultralytics на GitHub.
- Создай новую ветку для своей функции или исправления ошибки.
- Внеси изменения и убедись, что все тесты проходят.
- Отправь pull request с понятным описанием изменений.
- Участвуй в проверке кода.
Ты также можешь сообщать об ошибках, предлагать функции или улучшать документацию. Подробные рекомендации и лучшие практики смотри в руководстве для участников.
Ultralytics YOLO предлагает широкий набор возможностей для решения сложных задач компьютерного зрения:
- Обнаружение в реальном времени: эффективно обнаруживай и классифицируй объекты в режиме реального времени.
- Поддержка множества задач: выполняй обнаружение объектов, сегментацию экземпляров, семантическую сегментацию, оценку глубины по монокулярному изображению, классификацию, оценку позы и обнаружение объектов с заданной ориентацией (OBB) в рамках единой среды.
- Предобученные модели: используй различные предобученные модели, которые обеспечивают баланс между скоростью и точностью для разных сценариев использования.
- Обучение на пользовательских данных: легко дообучай модели на собственных наборах данных с помощью гибкого конвейера обучения.
- Широкий выбор вариантов развертывания: экспортируй модели в различные форматы, например TensorRT, ONNX и CoreML, для развертывания на разных платформах.
- Подробная документация: используй исчерпывающую документацию и поддержку сообщества в рабочих процессах компьютерного зрения.
Повысить производительность модели YOLO можно с помощью нескольких методов:
- Настройка гиперпараметров: экспериментируй с разными гиперпараметрами, следуя руководству по настройке гиперпараметров, чтобы оптимизировать производительность модели.
- Аугментация данных: используй такие методы, как отражение, масштабирование, поворот и изменение цвета, чтобы расширить обучающий набор данных и улучшить способность модели к обобщению.
- Трансферное обучение: возьми предобученные модели и дообучи их на своём наборе данных, следуя руководству по обучению.
- Экспорт в эффективные форматы: преобразуй модель в оптимизированный формат, например TensorRT или ONNX, чтобы ускорить инференс, следуя руководству по экспорту.
- Бенчмаркинг: используй режим бенчмаркинга, чтобы систематически измерять и повышать скорость и точность инференса.
Ultralytics предлагает множество ресурсов, которые помогут тебе начать работу и освоить инструменты:
- 📚 Официальная документация: подробные руководства, справочники по API и лучшие практики.
- 💻 Репозиторий GitHub: исходный код, примеры скриптов и вклад сообщества.
- ✍️ Блог Ultralytics: подробные статьи, сценарии использования и технические материалы.
- 💬 Форумы сообщества: общайся с другими пользователями, задавай вопросы и делись опытом.
- 🎥 YouTube-канал: видеоуроки, демонстрации и вебинары на различные темы, связанные с Ultralytics.
В этих ресурсах ты найдёшь примеры кода, реальные сценарии использования и пошаговые руководства по различным задачам с моделями Ultralytics.
Если тебе нужна дополнительная помощь, обратись к документации Ultralytics или свяжись с сообществом через GitHub Issues или официальный форум обсуждений.