Перейти к содержимому

Roboflow

Roboflow has everything you need to build and deploy computer vision models. Connect Roboflow at any step in your pipeline with APIs and SDKs, or use the end-to-end interface to automate the entire process from image to inference. Whether you're in need of data labeling, model training, or model deployment, Roboflow gives you building blocks to bring custom computer vision solutions to your project.

Лицензирование

Ultralytics предлагает два варианта лицензирования:

  • ЛицензияAGPL-3.0 - одобренная OSI лицензия с открытым исходным кодом, идеально подходящая для студентов и энтузиастов.
  • Лицензия Enterprise для предприятий, которые хотят внедрить наши модели искусственного интеллекта в свои продукты и услуги.

Более подробную информацию ты найдешь на сайте Ultralytics Лицензирование.

В этом руководстве мы расскажем, как найти, разметить и организовать данные для использования в обучении пользовательской модели Ultralytics YOLOv8. Используй оглавление ниже, чтобы сразу перейти к конкретному разделу:

  • Собери данные для обучения пользовательской модели YOLOv8
  • Загружай, конвертируй и маркируй данные для формата YOLOv8
  • Предварительно обработай и дополни данные для повышения надежности модели
  • Управление наборами данных для YOLOv8
  • Экспортируй данные в 40+ форматов для обучения модели
  • Загружай пользовательские веса моделей YOLOv8 для тестирования и развертывания
  • Собери данные для обучения пользовательской модели YOLOv8

Roboflow предоставляет два сервиса, которые помогут тебе собрать данные для моделей YOLOv8 : Universe и Collect.

Universe - это онлайн-репозиторий, в котором собрано более 250 000 наборов данных по зрению, насчитывающих в общей сложности более 100 миллионов изображений.

Roboflow Вселенная

Имея бесплатный аккаунт на Roboflow , ты можешь экспортировать любой набор данных, доступный в Universe. Чтобы экспортировать набор данных, нажми на кнопку "Download This Dataset" на любом наборе данных.

Roboflow Экспорт вселенских наборов данных

Для YOLOv8 выбери "YOLOv8" в качестве формата экспорта:

Roboflow Экспорт вселенских наборов данных

В Universe также есть страница, на которой собраны все публичные модели с тонкой настройкой YOLOv8 , загруженные на Roboflow. Ты можешь использовать эту страницу для изучения предварительно обученных моделей, которые ты можешь использовать для тестирования или для автоматической маркировки данных, а также для создания прототипов с выводомRoboflow .

Если ты хочешь собирать изображения самостоятельно, попробуй Collect- проект с открытым исходным кодом, который позволяет автоматически собирать изображения с помощью веб-камеры на краю. В Collect ты можешь использовать текстовые или графические подсказки, чтобы указать, какие данные нужно собрать, что позволит тебе захватить только полезные данные, необходимые для построения модели зрения.

Загружай, конвертируй и маркируй данные для формата YOLOv8 .

Roboflow Annotate - это онлайн-инструмент для маркировки изображений с целью обнаружения объектов, классификации и сегментации.

Чтобы разметить данные для модели обнаружения объектов, сегментации экземпляров или классификации YOLOv8, сначала создай проект в Roboflow.

Создай проект Roboflow

Затем загрузи свои изображения и все уже существующие аннотации из других инструментов(используя один из 40+ поддерживаемых форматов импорта) в Roboflow.

Загружай изображения в Roboflow

Выбери партию загруженных тобой изображений на странице "Аннотирование", куда ты попадаешь после загрузки изображений. Затем нажми кнопку "Начать аннотирование", чтобы пометить изображения.

Чтобы сделать метку с ограничительными рамками, нажмите кнопку B клавишу на клавиатуре или щелкни по значку коробки на боковой панели. Щелкни по точке, с которой ты хочешь начать свою ограничительную рамку, а затем перетащи ее, чтобы создать рамку:

Аннотация к изображению в Roboflow

После создания аннотации появится всплывающее окно с предложением выбрать класс для твоей аннотации.

Чтобы наклеить многоугольники, нажмите кнопку P клавиша на клавиатуре или значок полигона на боковой панели. Включив инструмент аннотации полигонов, кликай по отдельным точкам на изображении, чтобы нарисовать полигон.

Roboflow предлагает ассистент маркировки на основе SAM, с помощью которого ты сможешь маркировать изображения быстрее, чем когда-либо. SAM (Segment Anything Model) - это современная модель компьютерного зрения, которая может точно маркировать изображения. С помощью SAM ты можешь значительно ускорить процесс маркировки изображений. Аннотирование изображений с помощью многоугольников становится простым, как несколько кликов, а не утомительным процессом точного выделения точек вокруг объекта.

Чтобы воспользоваться помощником по наклейкам, нажми на значок курсора в боковой панели, SAM будет загружен для использования в твоем проекте.

Аннотирование изображения в Roboflow с помощью SAM-powered label assist

Наведи курсор на любой объект на изображении, и SAM порекомендует тебе аннотацию. Ты можешь навести курсор, чтобы найти подходящее место для аннотации, а затем нажать, чтобы создать аннотацию. Чтобы изменить аннотацию, сделав ее более или менее конкретной, ты можешь щелкнуть внутри или снаружи аннотации, которую SAM создал на документе.

Также ты можешь добавлять теги к изображениям с панели "Теги" в боковой панели. Ты можешь применить теги к данным из определенной области, снятым с определенной камеры и так далее. Затем ты можешь использовать эти теги для поиска в данных изображений, соответствующих тегу, и генерировать версии набора данных с изображениями, содержащими определенный тег или набор тегов.

Добавление тегов к изображению в Roboflow

Модели, размещенные на Roboflow, можно использовать с Label Assist, автоматизированным инструментом аннотирования, который использует твою модель YOLOv8 для рекомендации аннотаций. Чтобы использовать Label Assist, сначала загрузи модель YOLOv8 на Roboflow (см. инструкции далее в руководстве). Затем нажми на значок волшебной палочки в левой боковой панели и выбери свою модель для использования в Label Assist.

Выбери модель, затем нажми "Продолжить", чтобы включить Label Assist:

Включение функции Label Assist

Когда ты открываешь новые изображения для аннотирования, Label Assist будет запускать и рекомендовать аннотации.

ALabel Assist рекомендует аннотацию

Управление наборами данных для YOLOv8

Roboflow - это набор инструментов для понимания наборов данных компьютерного зрения.

Во-первых, ты можешь использовать поиск по набору данных, чтобы найти изображения, которые соответствуют семантическому текстовому описанию (например, найти все изображения, на которых есть люди), или которые соответствуют заданной метке (например, изображение связано с определенным тегом). Чтобы воспользоваться поиском по набору данных, нажми на "Набор данных" в боковой панели. Затем введи поисковый запрос, используя строку поиска и соответствующие фильтры в верхней части страницы.

Например, следующий текстовый запрос находит в наборе данных изображения, содержащие людей:

Поиск изображения

Ты можешь сузить поиск до изображений с определенным тегом, используя селектор "Теги":

Фильтруйте изображения по тегам

Прежде чем начать обучение модели с твоим набором данных, мы рекомендуем воспользоваться Roboflow Health Check- веб-инструментом, который дает представление о твоем наборе данных и о том, как ты можешь улучшить его перед обучением модели зрения.

Чтобы использовать Health Check, щелкни по ссылке "Health Check" на боковой панели. Появится список статистики, показывающий средний размер изображений в твоем наборе данных, баланс классов, тепловую карту, на которой показаны места аннотаций в изображениях, и многое другое.

Roboflow Анализ проверки здоровья

Health Check может рекомендовать изменения, которые помогут повысить производительность набора данных. Например, функция баланса классов может показать, что существует дисбаланс меток, который, если его устранить, может повысить производительность твоей модели.

Экспортируй данные в 40+ форматов для обучения моделей

Чтобы экспортировать данные, тебе понадобится версия набора данных. Версия - это состояние твоего набора данных, замороженное во времени. Чтобы создать версию, сначала нажми на "Версии" в боковой панели. Затем нажми на кнопку "Создать новую версию". На этой странице ты сможешь выбрать дополнения и этапы предварительной обработки, которые будут применены к твоему набору данных:

Создание версии набора данных на Roboflow

Для каждого выбранного тобой дополнения появится всплывающее окно, в котором ты сможешь настроить дополнение под свои нужды. Вот пример настройки аугментации яркости в рамках заданных параметров:

Применение дополнений к набору данных

Когда версия твоего набора данных будет создана, ты сможешь экспортировать данные в различные форматы. Чтобы экспортировать данные, нажми на кнопку "Export Dataset" на странице твоей версии набора данных:

Экспорт набора данных

Теперь ты готов к обучению YOLOv8 на пользовательском наборе данных. Следуй этому письменному руководству и видео на YouTube для получения пошаговых инструкций или обратись к документацииUltralytics .

Загрузи на YOLOv8 пользовательские веса моделей для тестирования и развертывания

Roboflow предлагает бесконечно масштабируемый API для развернутых моделей и SDK для использования с NVIDIA Jetsons, Luxonis OAKs, Raspberry Pis, устройствами на базе GPU и многим другим.

Ты можешь развернуть модели YOLOv8, загрузив веса YOLOv8 в Roboflow. Это можно сделать в нескольких строчках кода на Python. Создай новый Python-файл и добавь в него следующий код:

import roboflow  # install with 'pip install roboflow'

roboflow.login()

rf = roboflow.Roboflow()

project = rf.workspace(WORKSPACE_ID).project("football-players-detection-3zvbc")
dataset = project.version(VERSION).download("yolov8")

project.version(dataset.version).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")

В этом коде замени ID проекта и ID версии на значения для твоего аккаунта и проекта. Узнай, как получить свой API-ключ Roboflow .

Когда ты запустишь приведенный выше код, тебе будет предложено пройти аутентификацию. Затем твоя модель будет загружена, и для твоего проекта будет создан API. Этот процесс может занять до 30 минут.

Чтобы протестировать свою модель и найти инструкции по развертыванию для поддерживаемых SDK, перейди на вкладку "Deploy" в боковой панели Roboflow. В верхней части этой страницы появится виджет, с помощью которого ты сможешь протестировать свою модель. Ты можешь использовать свою веб-камеру для живого тестирования или загрузить изображения или видео.

Выполнение умозаключений на примере изображения

Ты также можешь использовать загруженную тобой модель в качестве помощника для маркировки. Эта функция использует твою обученную модель, чтобы рекомендовать аннотации к изображениям, загруженным на Roboflow.

Как оценить модели YOLOv8

Roboflow предоставляет ряд возможностей для использования при оценке моделей.

После загрузки модели в Roboflow ты можешь получить доступ к нашему инструменту оценки модели, который предоставляет матрицу путаницы, показывающую производительность твоей модели, а также интерактивный график векторного анализа. Эти функции помогут тебе найти возможности для улучшения твоей модели.

Чтобы получить доступ к матрице путаницы, перейди на страницу своей модели на приборной панели Roboflow, затем нажми "Просмотреть детальную оценку":

Начни оценку модели Roboflow

Появится всплывающее окно с матрицей путаницы:

Матрица путаницы

Наведи курсор на поле в матрице путаницы, чтобы увидеть значение, связанное с этим полем. Щелкни по ячейке, чтобы увидеть изображения в соответствующей категории. Щелкни по изображению, чтобы просмотреть предсказания модели и данные, связанные с этим изображением.

Чтобы узнать больше, нажми "Векторный анализ". Это покажет диаграмму рассеяния изображений в твоем наборе данных, рассчитанную с помощью CLIP. Чем ближе изображения на диаграмме, тем больше они похожи семантически. Каждое изображение представлено в виде точки, цвет которой находится между белым и красным. Чем краснее точка, тем хуже работает модель.

График векторного анализа

С помощью векторного анализа ты сможешь:

  • Найдите скопления изображений;
  • Определи кластеры, в которых модель работает плохо, и;
  • Визуализируй общие черты между изображениями, на которых модель работает плохо.

Учебные ресурсы

Хочешь узнать больше об использовании Roboflow для создания моделей YOLOv8? Следующие ресурсы могут оказаться полезными в твоей работе.

  • Обучи модель YOLOv8 на пользовательском наборе данных: Следуй нашему интерактивному блокноту, который покажет тебе, как обучить модель YOLOv8 на пользовательском наборе данных.
  • Autodistill: используй большие фундаментные модели зрения, чтобы маркировать данные для конкретных моделей. С помощью Autodistill ты можешь маркировать изображения для использования в обучении моделей классификации, обнаружения и сегментации YOLOv8 .
  • Supervision: Пакет Python с полезными утилитами для работы с моделями компьютерного зрения. С помощью Supervision ты можешь фильтровать обнаружения, вычислять матрицы смешения и многое другое, и все это в нескольких строчках кода Python .
  • Roboflow Блог: В блоге Roboflow собрано более 500 статей о компьютерном зрении, охватывающих самые разные темы: от обучения модели YOLOv8 до лучших практик аннотирования.
  • Roboflow Канал на YouTube: Просмотри десятки подробных руководств по компьютерному зрению на нашем YouTube-канале, охватывающих темы от обучения моделей YOLOv8 до автоматической маркировки изображений.

Шоукейс проекта

Ниже приведены несколько из множества отзывов, которые мы получили об использовании YOLOv8 и Roboflow вместе для создания моделей компьютерного зрения.

Выставочное изображение Выставочное изображение Выставочное изображение



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (10), Burhan-Q (1), capjamesg (1)

Комментарии