Ultralytics YOLO: часто задаваемые вопросы (FAQ)
В этом разделе часто задаваемых вопросов рассматриваются общие вопросы и проблемы, с которыми могут столкнуться пользователи при работе с репозиториями Ultralytics YOLO.
Часто задаваемые вопросы
Что такое Ultralytics и что он предлагает?
Ultralytics — это AI-компания в области компьютерного зрения, специализирующаяся на современных моделях обнаружения объектов и сегментации изображений с акцентом на семейство YOLO (You Only Look Once). Их предложения включают:
- Реализации YOLOv8 и YOLO11 с открытым исходным кодом
- Широкий спектр предварительно обученных моделей для различных задач компьютерного зрения
- Комплексный пакет Python для бесшовной интеграции моделей YOLO в проекты
- Универсальные инструменты для обучения, тестирования и развертывания моделей
- Обширная документация и отзывчивое сообщество
Как установить пакет Ultralytics?
Установить пакет Ultralytics довольно просто с помощью pip:
pip install ultralytics
Чтобы установить последнюю версию для разработки, установите ее непосредственно из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Подробные инструкции по установке можно найти в руководстве по быстрому старту.
Каковы системные требования для запуска моделей 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 (изображения и соответствующие текстовые файлы с метками).
- Создайте YAML-файл, описывающий структуру и классы вашего набора данных.
-
Используйте следующий код Python, чтобы начать обучение:
from ultralytics import YOLO # Load a model model = YOLO("yolov8n.yaml") # build a new model from scratch model = YOLO("yolov8n.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?
Ultralytics предлагает широкий спектр предварительно обученных моделей для различных задач:
- Обнаружение объектов: YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x
- Сегментация экземпляров: YOLO11n-seg, YOLO11s-seg, YOLO11m-seg, YOLO11l-seg, YOLO11x-seg
- Классификация: YOLO11n-cls, YOLO11s-cls, YOLO11m-cls, YOLO11l-cls, YOLO11x-cls
- Определение позы: YOLO11n-pose, YOLO11s-pose, YOLO11m-pose, YOLO11l-pose, YOLO11x-pose
Эти модели различаются по размеру и сложности, предлагая различные компромиссы между скоростью и точностью. Изучите весь спектр предварительно обученных моделей, чтобы найти оптимальный вариант для вашего проекта.
Как выполнить логический вывод с использованием обученной модели 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
Для расширенных опций инференса, включая пакетную обработку и инференс видео, ознакомьтесь с подробным руководством по предсказаниям.
Могут ли модели Ultralytics быть развернуты на периферийных устройствах или в производственной среде?
Безусловно! Модели Ultralytics разработаны для универсального развертывания на различных платформах:
- Периферийные устройства: оптимизируйте вывод на таких устройствах, как NVIDIA Jetson или Intel Neural Compute Stick, с помощью TensorRT, ONNX или OpenVINO.
- Мобильные устройства: Развертывайте на устройствах Android или iOS, преобразуя модели в TFLite или Core ML.
- Облако: Используйте такие фреймворки, как TensorFlow Serving или PyTorch Serve, для масштабируемых облачных развертываний.
- Веб: Реализация логического вывода в браузере с использованием ONNX.js или TensorFlow.js.
Ultralytics предоставляет функции экспорта для преобразования моделей в различные форматы для развертывания. Ознакомьтесь с широким спектром вариантов развертывания, чтобы найти лучшее решение для вашего варианта использования.
В чем разница между YOLOv8 и YOLO11?
Ключевые отличия включают:
- Архитектура: YOLO11 имеет улучшенную структуру backbone и head для повышения производительности.
- Производительность: YOLO11 обычно предлагает более высокую точность и скорость по сравнению с YOLOv8.
- Эффективность: YOLO11m достигает более высокого среднего значения Average Precision (mAP) на наборе данных COCO с на 22% меньшим количеством параметров, чем YOLOv8m.
- Задачи: Обе модели поддерживают обнаружение объектов, сегментацию экземпляров, классификацию и оценку позы в единой структуре.
- Кодовая база: YOLO11 реализована с использованием более модульной и расширяемой архитектуры, что упрощает настройку и расширение.
Для детального сравнения функций и показателей производительности посетите страницу документации YOLO11.
Как я могу внести свой вклад в проект Ultralytics с открытым исходным кодом?
Вклад в Ultralytics - отличный способ улучшить проект и расширить свои навыки. Вот как вы можете принять участие:
- Создайте форк репозитория Ultralytics на GitHub.
- Создайте новую ветку для вашей функции или исправления ошибки.
- Внесите свои изменения и убедитесь, что все тесты пройдены.
- Отправьте pull request с четким описанием ваших изменений.
- Участвуйте в процессе проверки кода.
Вы также можете внести свой вклад, сообщая об ошибках, предлагая функции или улучшая документацию. Подробные рекомендации и лучшие практики см. в руководстве для участников.
Как установить пакет Ultralytics в Python?
Установить пакет Ultralytics в Python очень просто. Используйте pip, выполнив следующую команду в терминале или командной строке:
pip install ultralytics
Чтобы установить самую современную версию для разработки, установите ее непосредственно из репозитория GitHub:
pip install git+https://github.com/ultralytics/ultralytics.git
Инструкции по установке и советы по устранению неполадок для конкретной среды см. в подробном руководстве по быстрому старту.
Каковы основные особенности Ultralytics YOLO?
Ultralytics YOLO обладает богатым набором функций для продвинутых задач компьютерного зрения:
- Обнаружение в реальном времени: Эффективное обнаружение и классификация объектов в сценариях реального времени.
- Многозадачные возможности: Выполняйте обнаружение объектов, сегментацию экземпляров, классификацию и оценку позы с помощью унифицированной платформы.
- Предварительно обученные модели: получите доступ к различным предварительно обученным моделям, которые обеспечивают баланс между скоростью и точностью для различных вариантов использования.
- Пользовательское обучение: Легкая донастройка моделей на пользовательских наборах данных с помощью гибкого конвейера обучения.
- Широкие возможности развертывания: Экспортируйте модели в различные форматы, такие как TensorRT, ONNX и CoreML, для развертывания на различных платформах.
- Обширная документация: Воспользуйтесь преимуществами всесторонней документации и отзывчивого сообщества, которые помогут вам на пути к освоению компьютерного зрения.
Как я могу улучшить производительность моей модели YOLO?
Повышения производительности вашей модели YOLO можно достичь с помощью нескольких методов:
- Настройка гиперпараметров: экспериментируйте с различными гиперпараметрами, используя Руководство по настройке гиперпараметров, чтобы оптимизировать производительность модели.
- Аугментация данных: применяйте такие методы, как отражение, масштабирование, поворот и цветокоррекция, чтобы улучшить свой обучающий набор данных и повысить обобщающую способность модели.
- Transfer Learning (Перенос обучения): Используйте предварительно обученные модели и дообучите их на вашем конкретном наборе данных, используя руководство по обучению.
- Экспорт в эффективные форматы: Преобразуйте свою модель в оптимизированные форматы, такие как TensorRT или ONNX, для более быстрого вывода, используя руководство по экспорту.
- Оценка производительности: Используйте Режим оценки производительности для систематического измерения и улучшения скорости и точности инференса.
Могу ли я развернуть модели Ultralytics YOLO на мобильных и периферийных устройствах?
Да, модели Ultralytics YOLO разработаны для универсального развертывания, включая мобильные и периферийные устройства:
- Мобильные устройства: Преобразуйте модели в TFLite или CoreML для плавной интеграции в приложения Android или iOS. Обратитесь к Руководству по интеграции TFLite и Руководству по интеграции CoreML для получения инструкций, специфичных для платформы.
- Периферийные устройства: оптимизируйте вывод на таких устройствах, как NVIDIA Jetson или другом периферийном оборудовании, с помощью TensorRT или ONNX. В Руководстве по интеграции Edge TPU представлены подробные инструкции по развертыванию на периферии.
Для получения исчерпывающего обзора стратегий развертывания на различных платформах обратитесь к руководству по вариантам развертывания.
Как я могу выполнить вывод, используя обученную модель Ultralytics YOLO?
Выполнение инференса с обученной моделью Ultralytics YOLO выполняется просто:
-
Загрузка модели:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt")
-
Запуск Inference:
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
Для продвинутых методов инференса, включая пакетную обработку, инференс видео и пользовательскую предварительную обработку, обратитесь к подробному руководству по предсказаниям.
Где я могу найти примеры и учебные пособия по использованию Ultralytics?
Ultralytics предоставляет множество ресурсов, которые помогут вам начать работу и освоить наши инструменты:
- 📚 Официальная документация: Подробные руководства, справочники по API и лучшие практики.
- 💻 Репозиторий GitHub: Исходный код, примеры скриптов и вклад сообщества.
- ✍️ Блог Ultralytics: Подробные статьи, примеры использования и технические обзоры.
- 💬 Форумы сообщества: Общайтесь с другими пользователями, задавайте вопросы и делитесь своим опытом.
- 🎥 YouTube-канал: Видеоуроки, демонстрации и вебинары по различным темам Ultralytics.
Эти ресурсы предоставляют примеры кода, варианты использования в реальных условиях и пошаговые руководства для различных задач с использованием моделей Ultralytics.
Если вам нужна дополнительная помощь, не стесняйтесь обращаться к документации Ultralytics или обращаться к сообществу через GitHub Issues или официальный форум обсуждений.