Часто задаваемые вопросы (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:

  1. Подготовь свой датасет в YOLO format (изображения и соответствующие текстовые файлы с метками).

  2. Создай YAML-файл, описывающий структуру твоего датасета и классы (см. dataset YAML example).

  3. Используй следующий код 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 — это отличный способ улучшить проект и расширить свои навыки. Вот как ты можешь принять участие:

  1. Сделай форк репозитория Ultralytics на GitHub.
  2. Создай новую ветку для своей функции или исправления бага.
  3. Внеси изменения и убедись, что все тесты проходят.
  4. Отправь pull request с четким описанием своих изменений.
  5. Участвуй в процессе проверки кода.

Ты также можешь внести вклад, сообщая о багах, предлагая функции или улучшая документацию. Подробные рекомендации и лучшие практики смотри в 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 можно с помощью нескольких техник:

  1. Hyperparameter Tuning: экспериментируй с различными гиперпараметрами, используя Hyperparameter Tuning Guide, чтобы оптимизировать производительность модели.
  2. Data Augmentation: внедряй такие методы, как отражение, масштабирование, поворот и цветовая коррекция, чтобы расширить тренировочный датасет и улучшить обобщающую способность модели.
  3. Transfer Learning: используй предобученные модели и дообучай их на своем специфическом датасете с помощью Train guide.
  4. Экспорт в эффективные форматы: конвертируй свою модель в оптимизированные форматы, такие как TensorRT или ONNX, для более быстрого инференса с помощью Export guide.
  5. Бенчмаркинг: используй 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 просто:

  1. Загрузи модель:

    from ultralytics import YOLO
    
    model = YOLO("path/to/your/model.pt")
  2. Запусти инференс:

    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 или официальный дискуссионный форум.

Комментарии