Часто задаваемые вопросы (FAQ) по Ultralytics YOLO
В этом разделе FAQ рассматриваются распространенные вопросы и проблемы, с которыми ты можешь столкнуться при работе с репозиториями Ultralytics YOLO.
Часто задаваемые вопросы (FAQ)
Что такое Ultralytics и что компания предлагает?
Ultralytics — это ИИ-компания в сфере computer vision, специализирующаяся на передовых моделях для обнаружения объектов и image segmentation, с основным фокусом на семействе YOLO (You Only Look Once). В их предложения входят:
- Реализации YOLO26 (последняя версия) и YOLO11 (предыдущее поколение) с открытым исходным кодом
- Широкий выбор pretrained models для различных задач компьютерного зрения
- Комплексный Python package для бесшовной интеграции моделей YOLO в твои проекты
- Универсальные tools для обучения, тестирования и развертывания моделей
- Extensive documentation и отзывчивое сообщество
Как установить пакет Ultralytics?
Установить пакет Ultralytics просто с помощью pip:
pip install ultralyticsДля установки самой актуальной версии для разработки используй репозиторий GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitПодробные инструкции по установке можно найти в quickstart guide.
Каковы системные требования для запуска моделей Ultralytics?
Минимальные требования:
- 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:
-
Подготовь свой датасет в 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?
Ultralytics предлагает разнообразный выбор предобученных моделей для различных задач:
- Обнаружение объектов (Object Detection): 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
- Классификация (Classification): YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- Оценка позы (Pose Estimation): YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- Ориентированное обнаружение (OBB): YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
Эти модели различаются по размеру и сложности, предлагая разные балансы между скоростью и accuracy. Изучи весь ассортимент pretrained models, чтобы найти вариант, который лучше всего подходит для твоего проекта.
Как выполнить инференс с помощью обученной модели Ultralytics?
Чтобы выполнить инференс с обученной моделью:
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 на граничных устройствах (edge devices) или в продакшн-средах?
Безусловно! Модели Ultralytics разработаны для гибкого развертывания на различных платформах:
- Граничные устройства: оптимизируй инференс на таких устройствах, как NVIDIA Jetson или Intel Neural Compute Stick, используя TensorRT, ONNX или OpenVINO.
- Мобильные устройства: развертывай на устройствах Android или iOS, конвертируя модели в TFLite или Core ML.
- Облако: используй такие фреймворки, как TensorFlow Serving или PyTorch Serve, для масштабируемых облачных развертываний.
- Веб: реализуй инференс в браузере, используя ONNX.js или TensorFlow.js.
Ultralytics предоставляет функции экспорта для конвертации моделей в различные форматы для развертывания. Изучи широкий спектр deployment options, чтобы найти лучшее решение для твоего случая.
В чем разница между YOLO11 и YOLO26?
Ключевые отличия включают:
- End-to-End NMS-Free Inference: YOLO26 является нативно end-to-end решением, генерируя предсказания напрямую без использования NMS (немаксимального подавления), что снижает задержку и упрощает развертывание.
- Удаление DFL: YOLO26 удаляет модуль Distribution Focal Loss, что упрощает экспорт и улучшает совместимость с граничными устройствами и устройствами с низким энергопотреблением.
- Оптимизатор MuSGD: гибрид SGD и Muon (вдохновленный Kimi K2 от Moonshot AI) для более стабильного обучения и быстрой сходимости.
- Производительность CPU: YOLO26 обеспечивает до 43% более быстрый инференс на CPU, что делает его идеальным для устройств без GPU.
- Оптимизации под конкретные задачи: улучшенная сегментация с помощью семантических потерь (semantic loss) и многомасштабных прототипов, RLE для точной оценки позы и улучшенное декодирование OBB с угловыми потерями.
- Задачи: обе модели поддерживают object detection, сегментацию экземпляров, классификацию, оценку позы и ориентированное обнаружение объектов (OBB) в рамках единого фреймворка. YOLO26 также добавляет semantic segmentation для плотного предсказания на уровне пикселей.
Для глубокого сравнения функций и метрик производительности посети YOLO26 documentation page.
Как я могу внести вклад в open-source проект Ultralytics?
Вклад в развитие Ultralytics — это отличный способ улучшить проект и расширить свои навыки. Вот как ты можешь принять участие:
- Сделай форк репозитория Ultralytics на GitHub.
- Создай новую ветку для своей функции или исправления бага.
- Внеси изменения и убедись, что все тесты проходят.
- Отправь pull request с четким описанием своих изменений.
- Участвуй в процессе проверки кода.
Ты также можешь внести вклад, сообщая о багах, предлагая функции или улучшая документацию. Подробные рекомендации и лучшие практики смотри в contributing guide.
Как установить пакет Ultralytics в Python?
Установка пакета Ultralytics в Python проста. Используй pip, выполнив следующую команду в своем терминале или командной строке:
pip install ultralyticsДля получения передовой версии для разработки установи напрямую из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.gitЗа инструкциями по установке в специфических средах и советами по устранению неполадок обратись к полному quickstart guide.
Каковы основные особенности Ultralytics YOLO?
Ultralytics YOLO обладает богатым набором функций для сложных задач компьютерного зрения:
- Детекция в реальном времени: эффективное обнаружение и классификация объектов в реальном времени.
- Многозадачность: выполняй детекцию объектов, сегментацию экземпляров, semantic segmentation, классификацию, оценку позы и ориентированное обнаружение объектов (OBB) с помощью одного унифицированного фреймворка.
- Предобученные модели: получи доступ к разнообразным pretrained models, которые балансируют скорость и точность для разных задач.
- Пользовательское обучение: легко дообучай модели на собственных датасетах с помощью гибкого training pipeline.
- Широкие Deployment Options: экспортируй модели в различные форматы, такие как TensorRT, ONNX и CoreML, для развертывания на разных платформах.
- Обширная документация: воспользуйся полной documentation и поддержкой сообщества для своих рабочих процессов в компьютерном зрении.
Как я могу улучшить производительность моей модели YOLO?
Улучшить производительность модели YOLO можно с помощью нескольких техник:
- Hyperparameter Tuning: экспериментируй с различными гиперпараметрами, используя Hyperparameter Tuning Guide, чтобы оптимизировать производительность модели.
- Data Augmentation: внедряй такие методы, как отражение, масштабирование, поворот и цветовая коррекция, чтобы расширить тренировочный датасет и улучшить обобщающую способность модели.
- Transfer Learning: используй предобученные модели и дообучай их на своем специфическом датасете с помощью Train guide.
- Экспорт в эффективные форматы: конвертируй свою модель в оптимизированные форматы, такие как TensorRT или ONNX, для более быстрого инференса с помощью Export guide.
- Бенчмаркинг: используй Benchmark Mode для систематического измерения и улучшения скорости и точности инференса.
Могу ли я развернуть модели Ultralytics YOLO на мобильных и граничных устройствах?
Да, модели Ultralytics YOLO спроектированы для универсального развертывания, включая мобильные и граничные устройства:
- Мобильные устройства: конвертируй модели в TFLite или CoreML для бесшовной интеграции в приложения Android или iOS. Обратись к TFLite Integration Guide и CoreML Integration Guide для получения инструкций по конкретным платформам.
- Граничные устройства: оптимизируй инференс на устройствах типа NVIDIA Jetson или другом edge-оборудовании, используя TensorRT или ONNX. Edge TPU Integration Guide содержит подробные шаги для развертывания на граничных устройствах.
Для полного обзора стратегий развертывания на различных платформах обратись к deployment options guide.
Как я могу выполнить инференс с помощью обученной модели Ultralytics YOLO?
Выполнить инференс с обученной моделью 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?
Ultralytics предоставляет множество ресурсов, которые помогут тебе начать и освоить их инструменты:
- 📚 Official documentation: полные руководства, справочники API и лучшие практики.
- 💻 GitHub repository: исходный код, примеры скриптов и вклады сообщества.
- ✍️ Ultralytics blog: глубокие статьи, примеры использования и технические инсайты.
- 💬 Форумы сообщества: общайся с другими пользователями, задавай вопросы и делись своим опытом.
- 🎥 YouTube-канал: видеоуроки, демонстрации и вебинары по различным темам Ultralytics.
Эти ресурсы содержат примеры кода, сценарии использования в реальных задачах и пошаговые руководства для различных задач с применением моделей Ultralytics.
Если тебе нужна дополнительная помощь, изучи документацию Ultralytics или обратись к сообществу через GitHub Issues или официальный дискуссионный форум.