Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Платформа Ultralytics

Эффективное управление наборами данных для компьютерного зрения с помощью Ultralytics Platform

Узнай, как использовать Ultralytics Platform для более эффективного управления наборами данных в проектах компьютерного зрения. Легко отслеживай, сравнивай и улучшай свои наборы данных.

Абирами ВинаAbirami Vina14 мин. чтения
Узнай, как использовать Ultralytics Platform для более эффективного управления наборами данных в проектах компьютерного зрения. Легко отслеживай, сравнивай и улучшай свои наборы данных.

Компьютерное зрение, или машинное зрение, прошло большой путь с момента своего появления: из области экспериментальных исследований оно превратилось в ключевую технологию для реальных приложений. Сегодня энтузиасты ИИ могут создавать мощные модели для таких задач, как обнаружение объектов и сегментация экземпляров, используя доступные инструменты и фреймворки.

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

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

Еще одно распространенное ограничение заключается в том, что сбор данных, аннотирование и обучение часто выполняются в разных инструментах. Разрозненный рабочий процесс затрудняет эффективное управление наборами данных, повышает риск несоответствий и замедляет итерации.

Чтобы решить такие проблемы компьютерного зрения на базе ИИ, как управление наборами данных и разрозненные рабочие процессы, мы недавно запустили Ultralytics Platform. Это комплексная рабочая среда, объединяющая управление наборами данных, аннотирование, обучение, развертывание и мониторинг в единый рабочий процесс.

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

Просмотр изображений набора данных в Ultralytics Platform

Рис. 1. Пример просмотра изображений набора данных в Ultralytics Platform (Источник)

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

Почему управление наборами данных важно для компьютерного зрения#

Производительность модели компьютерного зрения тесно связана с данными, на которых она обучается. Точность модели — то, насколько часто ее прогнозы верны, — зависит не только от алгоритма, но и от того, насколько хорошо набор данных отражает реальные условия.

Проще говоря, модель напрямую усваивает закономерности из данных, поэтому любые пробелы, смещения или несоответствия в наборе данных могут влиять на ее прогнозы. Иными словами, данные низкого качества, неправильные аннотации или недостаточный охват вариаций реальных условий на изображениях — например, разного освещения, ракурсов объектов, фона или степени перекрытия — могут значительно снизить точность, даже если архитектура модели сама по себе надежна.

Это относится и к дообучению модели: предварительно обученную модель дополнительно обучают на новых или обновленных данных, чтобы лучше адаптировать ее к конкретному сценарию применения или среде. Поскольку точность модели настолько сильно зависит от данных, правильное управление данными становится необходимым.

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

Как качество набора данных влияет на надежность в реальных условиях#

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

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

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

Более полный и структурированный набор данных помогает моделям лучше справляться с вариативностью реальных условий и выдавать более надежные прогнозы.

Ключевые аспекты управления наборами данных#

Итак, что на практике включает управление набором данных? Это организация, разметка и поддержка данных, чтобы их можно было эффективно использовать на всех этапах разработки модели.

Например, организация данных включает структурирование набора данных и его разделение на обучающую, валидационную и тестовую выборки. Обучающая выборка используется для обучения модели, валидационная — для контроля производительности и корректировки модели в процессе разработки, а тестовая — для оценки того, насколько хорошо итоговая модель работает на совершенно новых данных.

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

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

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

Управление наборами данных с помощью Ultralytics Platform#

Ultralytics Platform предлагает структурированный рабочий процесс для управления наборами данных в единой среде, охватывающий все этапы — от подготовки данных до экспорта. Платформа рассчитана как на отдельных разработчиков, так и на команды, упрощая последовательное управление наборами данных независимо от того, работаешь ли ты самостоятельно или вместе с коллегами над несколькими проектами.

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

Теперь рассмотрим основные шаги и то, как платформа помогает на каждом из них.

Загрузка наборов данных в Ultralytics Platform#

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

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

Для загрузки платформа поддерживает отдельные изображения, видео и архивы наборов данных, например файлы ZIP, TAR или GZ. Она также поддерживает широко используемые форматы наборов данных, такие как YOLO и COCO, что упрощает импорт существующих наборов данных и аннотаций без дополнительного преобразования. Кроме того, можно загрузить набор данных из файла NDJSON, экспортированного с платформы, и легко воссоздать наборы данных или повторно использовать их в разных проектах.

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

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

Аннотирование данных в Ultralytics Platform#

После загрузки наборы данных можно просматривать и аннотировать непосредственно на платформе. В платформу встроены инструменты аннотирования изображений для разных задач компьютерного зрения, таких как обнаружение объектов, сегментация экземпляров, семантическая сегментация, классификация изображений, оценка позы и обнаружение ориентированных ограничивающих рамок (OBB).

Разметка данных с помощью Ultralytics Platform

Рис. 2. Разметка данных с помощью Ultralytics Platform (Источник)

Аннотации можно создавать вручную с помощью этих инструментов или ускорить процесс с помощью функций на базе ИИ, например интеллектуального аннотирования на базе SAM. С помощью SAM можно создавать маски, ограничивающие рамки или ориентированные рамки, взаимодействуя с изображением. Это ускоряет разметку, сохраняя ее точность.

Анализ качества наборов данных с помощью Ultralytics Platform#

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

В Ultralytics Platform есть встроенные функции, которые помогают эффективнее анализировать наборы данных. Эти данные доступны непосредственно в интерфейсе набора данных на вкладках Images, Classes и Charts.

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

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

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

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

Экспорт наборов данных из Ultralytics Platform#

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

Ultralytics Platform экспортирует наборы данных в виде файлов Ultralytics NDJSON — формата, который пакет Ultralytics Python может использовать для обучения напрямую и который можно повторно импортировать на платформу. Благодаря этому наборы данных легко интегрировать в разные рабочие процессы и инструменты обучения.

Экспорт набора данных из Ultralytics Platform

Рис. 3. Экспорт набора данных из Ultralytics Platform (Источник)

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

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

Экспортированные наборы данных можно скачать и использовать в локальных, облачных или автономных средах обучения.

Повышение качества наборов данных с помощью итераций в Ultralytics Platform#

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

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

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

При этом важно следить за точностью и согласованностью аннотаций: правильно размечать объекты и точно указывать ограничивающие рамки или маски. Это помогает модели усваивать более надежные закономерности.

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

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

Чтобы повысить производительность, ты можешь собрать новые изображения, охватывающие эти недостающие сценарии, и при необходимости обновить аннотации. Постоянное повторение этого процесса со временем помогает модели точнее и надежнее работать в реальных условиях.

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

Отслеживание изменений наборов данных с помощью Ultralytics Platform#

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

Вот основные функции Ultralytics Platform для отслеживания наборов данных и контроля версий:

  • Версионирование наборов данных: ты можешь создавать неизменяемые версии наборов данных в виде снимков NDJSON. Каждая версия фиксирует ключевые сведения на определенный момент времени, включая количество изображений, классов и аннотаций, а также размер набора данных. Эти версии сохраняются и доступны для скачивания позднее, что упрощает воспроизведение экспериментов и сравнение результатов для разных состояний набора данных.
  • Вкладка Versions: все версии набора данных собраны на вкладке Versions, где можно просматривать историю версий, добавлять описания изменений и отслеживать, как набор данных меняется с течением времени.
  • Связь с моделями: на вкладке Models отображаются все модели, обученные на наборе данных, включая такие метрики, как mAP, и сведения об обучении. Версии наборов данных связаны с запусками обучения, что помогает понять, как изменения данных влияют на производительность модели.
  • Вкладка Errors: на вкладке Errors указаны файлы, обработка которых завершилась с ошибкой, а также сведения об ошибках и рекомендации. Это позволяет выявлять и устранять проблемы, например поврежденные файлы или неподдерживаемые форматы, до начала обучения.
  • Интерфейс набора данных (вкладки Images и Classes): эти представления позволяют просматривать изображения и аннотации, управлять метками классов и анализировать распределение классов. Фильтрация, сортировка и поиск изображений без аннотаций упрощают контроль качества набора данных с течением времени.
  • Статистика и графики: встроенные визуализации данных, например распределение по выборкам, частота классов и тепловые карты аннотаций, помогают отслеживать изменения в распределении данных и выявлять дисбаланс по мере изменения набора данных.

Анализ распределения классов в наборе данных на Ultralytics Platform

Рис. 4. Анализ распределения классов в наборе данных на Ultralytics Platform (Источник)

Связь наборов данных с обучением и развертыванием в Ultralytics Platform#

Ultralytics Platform объединяет разные этапы разработки моделей ИИ в единый конвейер. Это упрощает переход от исходных данных к готовым к промышленной эксплуатации приложениям компьютерного зрения на базе ИИ.

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

Просмотр метрик обучения модели на Ultralytics Platform

Рис. 5. Пример просмотра метрик обучения модели на Ultralytics Platform (Источник)

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

Платформа поддерживает экспорт моделей в различные форматы и их развертывание с помощью сервисов инференса и выделенных конечных точек, что позволяет запускать модели в разных средах.

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

Рекомендации по управлению наборами данных с помощью Ultralytics Platform#

При управлении наборами данных в Ultralytics Platform учитывай несколько ключевых факторов:

  • Используй фильтры, чтобы выявлять пробелы: Находи неразмеченные или недостаточно представленные данные с помощью инструментов фильтрации, чтобы упростить завершение аннотаций и улучшить охват данных.
  • Исправляй ошибки на раннем этапе: используй вкладку Errors для контроля качества и выявления неудачных загрузок, повреждённых файлов или неподдерживаемых форматов до обучения.
  • Постоянно обновляй датасеты: добавляй новые данные, исправляй аннотации и включай новые пограничные случаи по мере их появления. Это помогает улучшать охват и обеспечивает надёжную работу моделей в реальных условиях.
  • Тщательно управляй разделением датасета: поддерживай хороший баланс между обучающей, валидационной и тестовой выборками. При необходимости можно вручную перераспределить данные или воспользоваться автоматическим перераспределением.

Чтобы узнать больше об Ultralytics Platform, ознакомься с официальной документацией Ultralytics Platform.

Главные выводы#

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

Ultralytics Platform упрощает этот процесс, объединяя управление датасетами, обучение и развёртывание в единый рабочий процесс. Благодаря структурированному подходу к управлению датасетами команды могут снизить сложность процессов, повысить эффективность и создавать более масштабируемые и надёжные системы компьютерного зрения.

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

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

Начав карьеру инженером по компьютерному зрению, Абирами Вина заложила прочную основу в области ИИ для компьютерного зрения и машинного обучения. Она создает контент для Ultralytics и является основательницей и главным автором Scribe of AI, где готовит качественные технические материалы для компаний, работающих в сфере ИИ. Стремясь сделать ИИ понятным и увлекательным, она помогает связать передовые технологии с их практическим применением.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения