Интеграция Roboflow
Roboflow предоставляет набор инструментов, предназначенных для создания и развертывания моделей компьютерного зрения. Вы можете интегрировать Roboflow на различных этапах вашего конвейера разработки, используя их API и SDK, или использовать его сквозной интерфейс для управления процессом от сбора изображений до логического вывода. Roboflow предлагает функциональные возможности для разметки данных, обучения моделей и развертывания моделей, предоставляя компоненты для разработки пользовательских решений компьютерного зрения наряду с инструментами Ultralytics.
Лицензирование
Ultralytics предлагает два варианта лицензирования для различных случаев использования:
- Лицензия AGPL-3.0: Эта одобренная OSI лицензия с открытым исходным кодом идеально подходит для студентов и энтузиастов, способствуя открытому сотрудничеству и обмену знаниями. Подробности см. в файле LICENSE.
- Корпоративная лицензия: Эта лицензия, предназначенная для коммерческого использования, позволяет беспрепятственно интегрировать программное обеспечение Ultralytics и модели искусственного интеллекта в коммерческие продукты и сервисы. Если ваш сценарий предполагает коммерческое применение, обратитесь к нам через Ultralytics Licensing.
Для получения более подробной информации см. страницу лицензирования Ultralytics.
В этом руководстве показано, как находить, маркировать и систематизировать данные для обучения пользовательской модели Ultralytics YOLO11 с помощью Roboflow.
- Сбор данных для обучения пользовательской модели YOLO11
- Загрузка, преобразование и маркировка данных для формата YOLO11
- Предварительная обработка и расширение данных для устойчивости модели
- Управление Dataset для YOLO11
- Экспорт данных в 40+ форматах для обучения моделей
- Загрузите пользовательские веса модели YOLO11 для тестирования и развертывания
- Как оценивать модели YOLO11
- Учебные ресурсы
- Демонстрация проектов
- Часто задаваемые вопросы
Сбор данных для обучения пользовательской модели YOLO11
Roboflow предлагает два основных сервиса для помощи в сборе данных для моделей Ultralytics YOLO: Universe и Collect. Для получения более общей информации о стратегиях сбора данных обратитесь к нашему Руководству по сбору и аннотации данных.
Roboflow Universe
Roboflow Universe — это онлайн-репозиторий, содержащий большое количество наборов данных для машинного зрения.
Имея учетную запись Roboflow, вы можете экспортировать наборы данных, доступные на Universe. Чтобы экспортировать набор данных, используйте кнопку "Download this Dataset" (Загрузить этот набор данных) на соответствующей странице набора данных.
Для совместимости с Ultralytics YOLO11 выберите "YOLO11" в качестве формата экспорта:
Universe также содержит страницу, объединяющую общедоступные точно настроенные модели YOLO, загруженные в Roboflow. Это может быть полезно для изучения предварительно обученных моделей для тестирования или автоматической маркировки данных.
Roboflow Collect
Если вы предпочитаете собирать изображения самостоятельно, Roboflow Collect — это проект с открытым исходным кодом, позволяющий автоматически собирать изображения с помощью веб-камеры на периферийных устройствах. Вы можете использовать текстовые или графические подсказки, чтобы указать данные, которые необходимо собрать, помогая захватывать только необходимые изображения для вашей модели машинного зрения.
Загрузка, преобразование и маркировка данных для формата YOLO11
Roboflow Annotate — это онлайн-инструмент для маркировки изображений для различных задач компьютерного зрения, включая обнаружение объектов, классификацию и сегментацию.
Чтобы разметить данные для модели Ultralytics YOLO (которая поддерживает обнаружение, сегментацию экземпляров, классификацию, оценку позы и OBB), начните с создания проекта в Roboflow.
Далее загрузите свои изображения и существующие аннотации из других инструментов в Roboflow.
После загрузки вы будете перенаправлены на страницу Annotate. Выберите пакет загруженных изображений и нажмите «Start Annotating», чтобы начать маркировку.
Инструменты аннотирования
- Аннотация ограничивающих рамок: Нажмите
B
или щелкните значок рамки. Щелкните и перетащите, чтобы создать ограничивающего прямоугольника. В появившемся окне будет предложено выбрать класс для аннотации.
- Аннотация полигонов: Используется для сегментация экземпляров. Нажмите
P
или щелкните значок многоугольника. Щелкните точки вокруг объекта, чтобы нарисовать многоугольник.
Label Assistant (интеграция SAM)
Roboflow интегрирует помощника для маркировки на основе Segment Anything Model (SAM), чтобы потенциально ускорить аннотацию.
Чтобы использовать помощник по маркировке, щелкните значок курсора на боковой панели. SAM будет включен для вашего проекта.
Наведите указатель мыши на объект, и SAM может предложить аннотацию. Щелкните, чтобы принять аннотацию. Вы можете уточнить специфичность аннотации, щелкнув внутри или снаружи предложенной области.
Тегирование
Вы можете добавлять теги к изображениям, используя панель Tags на боковой панели. Теги могут представлять такие атрибуты, как местоположение, источник камеры и т. д. Эти теги позволяют искать определенные изображения и создавать версии набора данных, содержащие изображения с определенными тегами.
Label Assist (на основе модели)
Модели, размещенные на Roboflow, можно использовать с Label Assist, автоматизированным инструментом аннотации, который использует вашу обученную модель YOLO11 для предложения аннотаций. Сначала загрузите веса вашей модели YOLO11 в Roboflow (см. инструкции ниже). Затем активируйте Label Assist, щелкнув значок волшебной палочки на левой боковой панели и выбрав свою модель.
Выберите свою модель и нажмите «Продолжить», чтобы включить Label Assist:
Когда вы открываете новые изображения для аннотации, Label Assist может автоматически предлагать аннотации на основе предсказаний вашей модели.
Управление Dataset для YOLO11
Roboflow предоставляет несколько инструментов для понимания и управления вашими наборами данных компьютерного зрения.
Поиск набора данных
Используйте поиск по набору данных, чтобы найти изображения на основе семантических текстовых описаний (например, «найти все изображения, содержащие людей») или определенных меток/тегов. Получите доступ к этой функции, нажав «Dataset» на боковой панели и используя строку поиска и фильтры.
Например, поиск изображений, содержащих людей:
Вы можете уточнить результаты поиска, используя теги, с помощью селектора "Теги":
Проверка работоспособности (Health Check)
Перед обучением используйте Roboflow Health Check, чтобы получить представление о своем наборе данных и определить потенциальные улучшения. Получите к нему доступ через ссылку "Health Check" на боковой панели. Он предоставляет статистику по размерам изображений, балансу классов, тепловым картам аннотаций и многому другому.
Проверка работоспособности (Health Check) может предложить изменения для повышения производительности, например, устранение дисбаланса классов, выявленного в функции баланса классов. Понимание состояния набора данных имеет решающее значение для эффективного обучения модели.
Предварительная обработка и расширение данных для устойчивости модели
Чтобы экспортировать ваши данные, вам необходимо создать версию набора данных, которая является снимком вашего набора данных в определенный момент времени. Нажмите «Versions» на боковой панели, затем «Create New Version». Здесь вы можете применить этапы предварительной обработки и аугментацию данных, чтобы потенциально повысить устойчивость модели.
Для каждой выбранной аугментации всплывающее окно позволяет точно настроить ее параметры, такие как яркость. Правильная аугментация может значительно улучшить обобщение модели, ключевую концепцию, обсуждаемую в нашем руководстве по советам по обучению моделей.
Экспорт данных в 40+ форматах для обучения моделей
После создания версии набора данных вы можете экспортировать ее в различных форматах, подходящих для обучения модели. Нажмите кнопку «Экспорт набора данных» на странице версии.
Выберите формат "YOLO11" для совместимости с конвейерами обучения Ultralytics. Теперь вы готовы к обучению своей пользовательской модели YOLO11. Обратитесь к документации по режиму обучения Ultralytics для получения подробных инструкций по началу обучения с использованием экспортированного набора данных.
Загрузите пользовательские веса модели YOLO11 для тестирования и развертывания
Roboflow предлагает масштабируемый API для развернутых моделей и SDK, совместимые с такими устройствами, как NVIDIA Jetson, Luxonis OAK, Raspberry Pi и системы на базе GPU. Ознакомьтесь с различными вариантами развертывания моделей в наших руководствах.
Вы можете развернуть модели YOLO11, загрузив их веса в Roboflow с помощью простого скрипта Python.
Создайте новый Python-файл и добавьте следующий код:
import roboflow # install with 'pip install roboflow'
# Log in to Roboflow (requires API key)
roboflow.login()
# Initialize Roboflow client
rf = roboflow.Roboflow()
# Define your workspace and project details
WORKSPACE_ID = "your-workspace-id" # Replace with your actual Workspace ID
PROJECT_ID = "your-project-id" # Replace with your actual Project ID
VERSION = 1 # Replace with your desired dataset version number
MODEL_PATH = "path/to/your/runs/detect/train/" # Replace with the path to your YOLO11 training results directory
# Get project and version
project = rf.workspace(WORKSPACE_ID).project(PROJECT_ID)
dataset = project.version(VERSION)
# Upload model weights for deployment
# Ensure model_path points to the directory containing 'best.pt'
project.version(dataset.version).deploy(
model_type="yolov8", model_path=MODEL_PATH
) # Note: Use "yolov8" as model_type for YOLO11 compatibility in Roboflow deployment
print(f"Model from {MODEL_PATH} uploaded to Roboflow project {PROJECT_ID}, version {VERSION}.")
print("Deployment may take up to 30 minutes.")
В этом коде замените your-workspace-id
, your-project-id
, функция VERSION
число, и MODEL_PATH
со значениями, специфичными для вашей учетной записи Roboflow, проекта и локального каталога результатов обучения. Убедитесь, что MODEL_PATH
правильно указывает на каталог, содержащий обученные best.pt
файл весов.
Когда вы запустите приведенный выше код, вам будет предложено пройти аутентификацию (обычно через ключ API). Затем ваша модель будет загружена, и для вашего проекта будет создана конечная точка API. Этот процесс может занять до 30 минут.
Чтобы протестировать свою модель и найти инструкции по развертыванию для поддерживаемых SDK, перейдите на вкладку «Deploy» на боковой панели Roboflow. В верхней части этой страницы появится виджет, позволяющий протестировать вашу модель с помощью веб-камеры или путем загрузки изображений или видео.
Ваша загруженная модель также может использоваться в качестве помощника по маркировке, предлагая аннотации на новых изображениях на основе ее обучения.
Как оценивать модели YOLO11
Roboflow предоставляет функции для оценки производительности модели. Понимание метрик производительности имеет решающее значение для итерации модели.
После загрузки модели получите доступ к инструменту оценки модели через страницу вашей модели на панели управления Roboflow. Нажмите «View Detailed Evaluation».
Этот инструмент отображает матрицу ошибок, иллюстрирующую производительность модели, и интерактивный график векторного анализа с использованием CLIP embeddings. Эти функции помогают определить области для улучшения модели.
Всплывающее окно матрицы ошибок:
Наведите указатель мыши на ячейки, чтобы увидеть значения, и щелкните ячейки, чтобы просмотреть соответствующие изображения с предсказаниями модели и данными ground truth.
Нажмите «Векторный анализ» для построения точечной диаграммы, визуализирующей сходство изображений на основе CLIP-эмбеддингов. Изображения, расположенные ближе друг к другу, семантически схожи. Точки представляют изображения, окрашенные от белого (хорошая производительность) до красного (плохая производительность).
Анализ векторов помогает:
- Определите кластеры изображений.
- Точно определяйте кластеры, в которых модель работает плохо.
- Понимание общих черт изображений, вызывающих низкую производительность.
Учебные ресурсы
Изучите эти ресурсы, чтобы узнать больше об использовании Roboflow с Ultralytics YOLO11:
- Train YOLO11 on a Custom Dataset (Colab): Интерактивный блокнот Google Colab, который проведет вас через обучение YOLO11 на ваших данных.
- Документация YOLO11: Узнайте об обучении, экспорте и развертывании моделей YOLO11 в рамках фреймворка Ultralytics.
- Блог Ultralytics: Содержит статьи о компьютерном зрении, включая обучение YOLO11 и лучшие практики аннотирования.
- YouTube-канал Ultralytics: Предлагает подробные видеоруководства по темам компьютерного зрения, от обучения моделей до автоматизированной маркировки и развертывания.
Демонстрация проектов
Отзывы пользователей, объединяющих Ultralytics YOLO11 и Roboflow:
Часто задаваемые вопросы
Часто задаваемые вопросы
Как разметить данные для моделей YOLO11 с использованием Roboflow?
Используйте Roboflow Annotate. Создайте проект, загрузите изображения и используйте инструменты аннотации (B
для ограничивающие рамки, P
для полигонов) или помощник по разметке на основе SAM для более быстрой разметки. Подробные инструкции доступны в Раздел «Загрузка, преобразование и маркировка данных».
Какие сервисы Roboflow предлагает для сбора данных обучения YOLO11?
Roboflow предоставляет Universe (доступ к многочисленным наборам данных) и Collect (автоматизированный сбор изображений через веб-камеру). Они могут помочь получить необходимые данные для обучения вашей модели YOLO11, дополняя стратегии, изложенные в нашем Руководстве по сбору данных.
Как я могу управлять и анализировать мой набор данных YOLO11 с использованием Roboflow?
Используйте функции поиска, тегирования и проверки работоспособности наборов данных Roboflow. Поиск находит изображения по тексту или тегам, а проверка работоспособности анализирует качество набора данных (баланс классов, размеры изображений и т. д.), чтобы помочь улучшить его перед обучением. Подробности см. в разделе Управление наборами данных.
Как экспортировать мой набор данных YOLO11 из Roboflow?
Создайте версию набора данных в Roboflow, примените желаемую предварительную обработку и аугментацию, затем нажмите "Export Dataset" и выберите формат YOLO11. Этот процесс описан в разделе Экспорт данных. Это подготовит ваши данные для использования с конвейерами обучения Ultralytics.
Как я могу интегрировать и развернуть модели YOLO11 с помощью Roboflow?
Загрузите обученные веса YOLO11 в Roboflow, используя предоставленный скрипт Python. Это создаст развертываемый API endpoint. Обратитесь к разделу Загрузка пользовательских весов для получения скрипта и инструкций. Изучите дополнительные варианты развертывания в нашей документации.