Часто задаваемые вопросы (FAQ) по Ultralytics YOLO#
В этом разделе часто задаваемых вопросов рассматриваются распространенные вопросы и проблемы, с которыми пользователи могут столкнуться при работе с репозиториями Ultralytics YOLO.
FAQ#
Ultralytics — это компания в сфере computer vision и искусственного интеллекта, специализирующаяся на передовых моделях обнаружения объектов и image segmentation, с упором на семейство YOLO (You Only Look Once). Ее предложения включают:
- Открытые реализации YOLO26 (последняя) и YOLO11 (предыдущее поколение)
- Широкий спектр pretrained models для различных задач компьютерного зрения
- Комплексный Python package для бесшовной интеграции моделей YOLO в проекты
- Универсальные tools для обучения, тестирования и развертывания моделей
- Extensive documentation и поддерживающее сообщество
Установить пакет Ultralytics очень просто с помощью pip:
pip install ultralyticsЧтобы получить последнюю версию для разработки, установи пакет напрямую из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitПодробные инструкции по установке можно найти в quickstart guide.
Минимальные требования:
- Python 3.8+
- PyTorch 1.8+
- GPU с поддержкой CUDA (для ускорения на GPU)
Рекомендуемая конфигурация:
- Python 3.8+
- PyTorch 1.10+
- NVIDIA GPU с CUDA 11.2+
- 8 ГБ+ ОЗУ
- 50 ГБ+ свободного места на диске (для хранения датасетов и обучения моделей)
Для устранения распространенных неполадок посетите страницу YOLO Common Issues.
Чтобы обучить собственную модель YOLO:
-
Подготовьте свой датасет в YOLO format (изображения и соответствующие текстовые файлы с разметкой).
-
Создайте YAML-файл, описывающий структуру вашего датасета и классы (см. dataset YAML example).
-
Используй следующий код на 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)
Более подробное руководство, включая подготовку данных и расширенные параметры обучения, см. в комплексном training guide.
-
Ultralytics предлагает разнообразный ассортимент предобученных моделей для различных задач:
- Обнаружение объектов: YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- Instance Segmentation: YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- Semantic Segmentation: YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- Depth Estimation: 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
Эти модели различаются по размеру и сложности, предлагая различные компромиссы между скоростью и accuracy. Изучите полный спектр pretrained models, чтобы найти оптимальный вариант для своего проекта.
Чтобы выполнить инференс с помощью обученной модели:
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Для расширенных возможностей инференса, включая пакетную обработку и инференс на видео, ознакомьтесь с подробным prediction guide.
Конечно! Модели Ultralytics разработаны для гибкого развертывания на различных платформах:
- Периферийные устройства: Оптимизируй инференс на устройствах типа NVIDIA Jetson или Intel Neural Compute Stick с помощью TensorRT, ONNX или OpenVINO.
- Мобильные устройства: развертывай на устройствах Android или iOS, конвертируя модели в LiteRT или Core ML.
- Облако: используйте такие фреймворки, как TensorFlow Serving или PyTorch Serve для масштабируемых облачных развертываний.
- Веб: реализуй инференс в браузере с помощью LiteRT.js или ONNX.js.
Ultralytics предоставляет функции экспорта для конвертации моделей в различные форматы для развертывания. Изучите широкий спектр deployment options, чтобы найти лучшее решение для своего сценария использования.
Основные отличия включают:
- End-to-End NMS-Free Inference: YOLO26 является полностью сквозной моделью, выдающей предсказания напрямую без подавления немаксимумов (NMS), что снижает задержку и упрощает развертывание.
- Удаление DFL: YOLO26 удаляет модуль Distribution Focal Loss, что упрощает экспорт и улучшает совместимость с периферийными и маломощными устройствами.
- Оптимизатор MuSGD: Гибрид SGD и Muon (вдохновленный Kimi K2 от Moonshot AI) для более стабильного обучения и быстрой сходимости.
- Производительность на CPU: YOLO26 обеспечивает до 43% более быстрый инференс на CPU, что делает его идеальным для устройств без GPU.
- Оптимизации под конкретные задачи: Улучшенная сегментация с семантической потерей и многомасштабными прототипами, RLE для точной оценки позы и улучшенное декодирование OBB с угловой потерей.
- Задачи: обе модели поддерживают object detection и сегментацию экземпляров, в то время как YOLO26 также добавляет semantic segmentation для плотного предсказания на уровне пикселей и monocular depth estimation для оценки глубины для каждого пикселя. Обе модели также поддерживают классификацию, оценку позы и ориентированное обнаружение объектов (OBB) в рамках единого фреймворка.
Для углубленного сравнения функций и метрик производительности посетите YOLO26 documentation page.
Вклад в развитие Ultralytics — отличный способ улучшить проект и расширить свои навыки. Вот как ты можешь принять участие:
- Сделай форк репозитория Ultralytics на GitHub.
- Создай новую ветку для своей функции или исправления ошибки.
- Внеси свои изменения и убедись, что все тесты проходят успешно.
- Отправь пул-реквест (PR) с четким описанием своих изменений.
- Прими участие в процессе проверки кода.
Вы также можете внести свой вклад, сообщая об ошибках, предлагая новые функции или улучшая документацию. Подробные инструкции и лучшие практики см. в contributing guide.
Установить пакет Ultralytics в Python очень просто. Используй pip, выполнив следующую команду в своем терминале или командной строке:
pip install ultralyticsЧтобы получить самую актуальную версию для разработки, установи пакет напрямую из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitИнструкции по установке для конкретных окружений и советы по устранению неполадок см. в комплексном quickstart guide.
Ultralytics YOLO обладает богатым набором функций для продвинутых задач компьютерного зрения:
- Детекция в реальном времени: Эффективное обнаружение и классификация объектов в сценариях реального времени.
- Многозадачные возможности: выполняйте обнаружение объектов, сегментацию экземпляров, semantic segmentation, monocular depth estimation, классификацию, оценку позы и ориентированное обнаружение объектов (OBB) с помощью единого фреймворка.
- Предобученные модели: получайте доступ к различным pretrained models, которые обеспечивают баланс скорости и точности для различных сценариев использования.
- Пользовательское обучение: легко дообучайте модели на кастомных датасетах с помощью гибкого training pipeline.
- Широкие Deployment Options: экспортируйте модели в различные форматы, такие как TensorRT, ONNX и CoreML, для развертывания на разных платформах.
- Обширная документация: пользуйтесь преимуществами комплексной documentation и поддерживающего сообщества для ваших рабочих процессов компьютерного зрения.
Повышение производительности модели YOLO достигается с помощью нескольких методов:
- Hyperparameter Tuning: экспериментируйте с различными гиперпараметрами, используя Hyperparameter Tuning Guide, чтобы оптимизировать производительность модели.
- Data Augmentation: внедряйте такие методы, как отражение, масштабирование, поворот и цветокоррекция, чтобы расширить тренировочный датасет и улучшить обобщающую способность модели.
- Transfer Learning: используйте предобученные модели и дообучайте их на своем конкретном датасете с помощью Train guide.
- Экспорт в эффективные форматы: конвертируйте свою модель в оптимизированные форматы, такие как TensorRT или ONNX, для более быстрого инференса с помощью Export guide.
- Бенчмаркинг: используйте Benchmark Mode для систематического измерения и повышения скорости и точности инференса.
Да, модели Ultralytics YOLO спроектированы для универсального развертывания, включая мобильные и периферийные устройства:
- Мобильные устройства: конвертируйте модели в LiteRT или CoreML для плавной интеграции в приложения для Android или iOS. Обратитесь к LiteRT Integration Guide и CoreML Integration Guide за инструкциями для конкретных платформ.
- Периферийные устройства: оптимизируйте инференс на таких устройствах, как NVIDIA Jetson или другое периферийное железо, с помощью TensorRT или ONNX. В Edge TPU Integration Guide приведены подробные шаги для развертывания на периферии.
Для получения общего представления о стратегиях развертывания на различных платформах ознакомьтесь с deployment options guide.
Выполнить инференс с помощью обученной модели Ultralytics YOLO очень просто:
-
Загрузка модели:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
Запуск инференса:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
Для продвинутых техник инференса, включая пакетную обработку, инференс на видео и пользовательскую предобработку, обратитесь к подробному prediction guide.
-
Ultralytics предоставляет множество ресурсов, которые помогут тебе начать работу и освоить их инструменты:
- 📚 Official documentation: подробные руководства, справочники по API и лучшие практики.
- 💻 GitHub repository: исходный код, примеры скриптов и вклад сообщества.
- ✍️ Ultralytics blog: углубленные статьи, сценарии использования и технические инсайты.
- 💬 Community forums: общайся с другими пользователями, задавай вопросы и делись своим опытом.
- 🎥 YouTube channel: видеоуроки, демо и вебинары по различным темам Ultralytics.
Эти ресурсы содержат примеры кода, реальные сценарии использования и пошаговые руководства для решения различных задач с помощью моделей Ultralytics.
Если тебе нужна дополнительная помощь, обратись к документации Ultralytics или свяжись с сообществом через GitHub Issues или официальный discussion forum.