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

ИИ для зрения, или компьютерное зрение, прошел долгий путь с момента своего зарождения, превратившись из экспериментальных исследований в ключевую технологию, на которой работают реальные приложения. Сегодня энтузиасты ИИ могут создавать мощные модели для таких задач, как обнаружение объектов и сегментация экземпляров, используя доступные инструменты и фреймворки.
Однако по мере перехода этих приложений от экспериментов к промышленному использованию, управление наборами данных остается критической и часто упускаемой из виду проблемой. Поскольку наборы данных для компьютерного зрения растут в объеме и сложности, командам часто бывает трудно поддерживать единообразие аннотаций, отслеживать изменения между версиями и обеспечивать общее качество данных.
Даже передовые модели могут показывать низкие результаты в реальных условиях, если данные, на которых они обучаются, неполные, несбалансированные или плохо структурированы. Этот растущий разрыв между производительностью при разработке и надежностью в реальных условиях — причина, по которой необходим более структурированный подход к управлению наборами данных.
Еще одно частое ограничение заключается в том, что сбор данных, аннотирование и обучение нередко выполняются с помощью разрозненных инструментов. Фрагментированный рабочий процесс затрудняет эффективное управление наборами данных, увеличивает риск несоответствий и замедляет итерации.
Чтобы решить проблемы ИИ в области зрения, такие как управление наборами данных и фрагментированные рабочие процессы, мы недавно запустили Ultralytics Platform. Это комплексное рабочее пространство, которое объединяет управление наборами данных, аннотирование, обучение, развертывание и мониторинг в единый рабочий процесс.
Связывая каждый этап жизненного цикла компьютерного зрения, становится проще отслеживать изменения в наборах данных, сравнивать производительность между версиями и постоянно уточнять данные для достижения лучших результатов.

Рис. 1. Пример просмотра изображений вашего набора данных в Ultralytics Platform (Источник)
В этой статье мы подробно рассмотрим, как Ultralytics Platform помогает тебе отслеживать, сравнивать и улучшать наборы данных для создания более надежных моделей компьютерного зрения. Давай начнем!
Link to this sectionВажность управления наборами данных в компьютерном зрении#
Производительность модели компьютерного зрения тесно связана с данными, на которых она обучается. Точность модели, то, насколько часто прогнозы оказываются верными, зависит не только от алгоритма, но и от того, насколько хорошо набор данных отражает реальные условия.
Проще говоря, модель извлекает закономерности непосредственно из данных, поэтому любые пробелы, предвзятости или несоответствия в наборе данных могут повлиять на ее способность делать прогнозы. Иными словами, некачественные данные, неверные аннотации или ограниченный охват реальных вариаций в изображениях (таких как разные условия освещения, углы обзора объектов, фоны или уровни перекрытия) могут значительно снизить точность, даже если архитектура модели сама по себе сильна.
Это также применимо при дообучении модели, когда предобученная модель дотренировывается на новых или обновленных данных, чтобы лучше адаптироваться к конкретному сценарию использования или среде. Поскольку точность модели так сильно зависит от данных, правильное управление ими становится необходимым.
Управление наборами данных включает в себя организацию, разметку и постоянное обновление данных, чтобы они оставались точными и актуальными. Это облегчает повышение производительности со временем, особенно при переобучении или дообучении моделей на новых данных.
Link to this sectionКак качество набора данных влияет на надежность в реальных условиях#
Сценарии использования компьютерного зрения, такие как системы мониторинга безопасности, — отличный пример того, почему правильное управление данными имеет решающее значение. Эти системы должны надежно работать в различных реальных условиях, включая разное освещение, углы обзора камер, уровень плотности людей и частичные перекрытия объектов.
Если обучающие данные не охватывают эти вариации или им не хватает разнообразия в том, как объекты появляются в разных сценах и условиях, модели может быть трудно точно обнаруживать объекты. Например, модель, обученная преимущественно на хорошо освещенных и незахламленных сценах, может плохо работать при слабом освещении или в условиях большого скопления людей. В системах безопасности это может привести к пропуску событий или ложным тревогам.
Чтобы избежать этого, важно поддерживать наборы данных, которые не только чисты и точно размечены, но также сбалансированы и постоянно обновляются. Это означает поиск пробелов в данных, добавление новых примеров по мере изменения условий и обеспечение равномерного представительства разных классов и сред.
С более полным и структурированным набором данных модели лучше приспособлены к обработке реальной вариативности и способны выдавать более надежные прогнозы.
Link to this sectionКлючевые аспекты управления наборами данных#
Итак, как на самом деле выглядит управление наборами данных? Оно включает организацию, разметку и ведение данных таким образом, чтобы их можно было эффективно использовать на протяжении всего процесса разработки модели.
Организация данных, например, включает структурирование набора данных и разбиение его на обучающую, валидационную и тестовую выборки. Обучающая выборка используется для обучения модели, валидационная — для мониторинга производительности и корректировок во время разработки, а тестовая — для оценки того, насколько хорошо финальная модель работает на абсолютно новых, не виденных ранее данных.
Тем временем разметка включает аннотирование изображений такими деталями, как метки классов, ограничивающие рамки (bounding boxes) или маски сегментации. Поскольку модель учится на этих аннотациях, точность и последовательность критически важны, чтобы помочь ей выучить значимые закономерности и делать надежные прогнозы.
В дополнение к этому, поддержка набора данных включает проверку и обновление данных с течением времени. Это может включать исправление ошибок аннотирования, удаление некачественных или дублирующихся данных и добавление новых примеров для покрытия отсутствующих случаев или меняющихся условий.
В более широком смысле управление наборами данных — это непрерывный процесс. По мере оценки моделей и сбора новых данных наборы данных должны обновляться, чтобы отражать реальные условия и крайние случаи. Отслеживание этих обновлений и сравнение разных версий помогает командам понять, что именно улучшает производительность и где необходимы дополнительные изменения.
Link to this sectionУправление наборами данных с помощью Ultralytics Platform#
Ultralytics Platform предоставляет структурированный рабочий процесс для управления наборами данных в единой среде, охватывающий все этапы — от подготовки данных до их экспорта. Она спроектирована так, чтобы поддерживать как индивидуальных разработчиков, так и команды, упрощая последовательное управление наборами данных, работаешь ли ты самостоятельно или сотрудничаешь в рамках проектов.
Каждый этап разработан для упрощения организации, обработки и использования наборов данных на протяжении всего жизненного цикла разработки модели. Объединяя эти шаги в одном месте, платформа уменьшает фрагментацию и делает поддержание единообразия в рабочих процессах более понятным.
Далее давай пройдемся по основным этапам и посмотрим, как платформа поддерживает каждый из них.
Link to this sectionЗагрузка наборов данных в Ultralytics Platform#
Начало работы с наборами данных на платформе гибкое: существует несколько способов добавить или повторно использовать данные. Ты можешь загрузить свои собственные данные или начать быстрее, используя общедоступные наборы данных, доступные на платформе. Ты также можешь клонировать существующие наборы данных, которыми поделилось сообщество, и строить на их основе свои.
Функции сообщества на платформе позволяют легко исследовать и повторно использовать существующие наработки. Имея доступ к наборам данных, созданным другими пользователями (включая миллионы изображений и аннотаций), ты можешь быстро начать работу, не собирая и не размечая всё самостоятельно. Клонирование набора данных создает копию в твоем рабочем пространстве, позволяя модифицировать и расширять его, сохраняя оригинал.
Для загрузки платформа поддерживает отдельные изображения, видео и архивы данных (например, ZIP, TAR или GZ файлы). Она также поддерживает широко используемые форматы наборов данных, такие как YOLO и COCO, что позволяет легко импортировать существующие наборы данных и аннотации без дополнительного преобразования. Кроме того, ты можешь загрузить набор данных, используя NDJSON-файл, экспортированный с платформы, что делает повторное создание или использование наборов данных в разных проектах бесшовным.
После загрузки платформа обрабатывает данные через структурированный конвейер. Это включает проверку форматов файлов и размеров, изменение размера изображений при необходимости, синтаксический анализ аннотаций и генерацию статистики набора данных.
Например, видео преобразуются в кадры, чтобы их можно было использовать для обучения, а изображения оптимизируются и подготавливаются для более легкого просмотра и анализа. После обработки наборы данных готовы к аннотированию, анализу и обучению моделей на платформе.
Link to this sectionАннотирование данных на Ultralytics Platform#
После загрузки наборы данных можно просматривать и аннотировать непосредственно на платформе. Платформа включает встроенные инструменты аннотирования изображений для широкого спектра задач компьютерного зрения, таких как обнаружение объектов, сегментация экземпляров, оценка позы, обнаружение ориентированных ограничивающих рамок (OBB) и классификация изображений.

Рис. 2. Использование Ultralytics Platform для разметки данных (Источник)
Аннотации можно создавать вручную с помощью этих инструментов или ускорять процесс с помощью функций с поддержкой ИИ, таких как «умная» аннотация на базе SAM. С помощью SAM ты можешь генерировать маски, ограничивающие рамки или ориентированные рамки, взаимодействуя с изображением, что помогает ускорить процесс разметки, сохраняя при этом точность.
Link to this sectionАнализ качества набора данных через Ultralytics Platform#
Помимо подготовки и аннотирования данных, понимание качества набора данных необходимо для создания надежных моделей компьютерного зрения. Без четкой видимости таких факторов, как распределение классов, качество аннотаций, разбиение набора данных и то, как данные представлены в различных условиях, бывает трудно выявить проблемы, влияющие на производительность модели.
Ultralytics Platform включает встроенные функции, помогающие более эффективно анализировать наборы данных. Эти аналитические данные доступны непосредственно в интерфейсе набора данных через вкладки, такие как «Изображения» (Images), «Классы» (Classes) и «Графики» (Charts).
На вкладке «Графики» (Charts) ты можешь просматривать статистику уровня набора данных, такую как распределение разбиения (обучающая, валидационная и тестовая выборки), частоту классов и тепловые карты аннотаций, которые показывают, где объекты появляются на изображениях.
Вкладка «Классы» (Classes) предоставляет разбивку количества аннотаций по классам, что облегчает обнаружение дисбаланса классов. В то же время вкладка «Изображения» (Images) показывает детали на уровне изображений, такие как размеры, количество аннотаций и распределение меток по отдельным изображениям.
Эти аналитические данные облегчают выявление таких проблем, как дисбаланс классов, пропущенные сценарии или неравномерное распределение данных. Например, ты можешь заметить, что некоторые классы имеют очень мало примеров или что большинство аннотаций сконцентрировано в определенных областях изображения.
Помимо анализа данных, платформа поддерживает курирование и дополнение наборов данных, что означает уточнение наборов данных путем исправления или удаления проблемных данных и создания вариаций существующих данных для улучшения производительности модели. Эти улучшения можно вносить непосредственно на платформе, обновляя аннотации, добавляя новые данные или переорганизуя разбиение набора данных на основе результатов анализа.
Link to this sectionЭкспорт наборов данных из Ultralytics Platform#
Как только набор данных подготовлен и проверен, его можно экспортировать для использования в различных средах. Это дает тебе гибкость при работе с твоими данными компьютерного зрения там, где тебе удобно, будь то обучение моделей локально, в облаке или с помощью других инструментов и рабочих процессов.
Ultralytics Platform поддерживает несколько форматов экспорта, включая YOLO, COCO и NDJSON, что облегчает интеграцию наборов данных в различные рабочие процессы обучения и инструменты.

Рис. 3. Экспорт набора данных из Ultralytics Platform (Источник)
Экспорт набора данных создает фиксированный снимок (снапшот) данных в определенный момент времени, включая изображения, аннотации и структуру. Это полезно, поскольку наборы данных часто меняются по мере добавления новых данных, обновления аннотаций или изменения разбиений. Экспортируя снимок, ты можешь сохранить точную версию набора данных, использованную для конкретного запуска обучения.
Это упрощает воспроизведение результатов позже, так как ты можешь снова обучить модель на той же настройке данных и сравнить производительность между разными версиями набора данных. Например, ты можешь оценить, действительно ли добавление новых изображений или исправление аннотаций улучшает точность модели, вместо того чтобы гадать, что изменилось.
Экспорт выполняется асинхронно, и как только он будет готов, наборы данных можно скачать и использовать в локальных, облачных или офлайн средах обучения.
Link to this sectionУлучшение качества набора данных через итерации на Ultralytics Platform#
В рабочих процессах машинного обучения и глубокого обучения управление наборами данных продолжается даже после развертывания, поскольку реальные данные часто отличаются от данных, используемых во время обучения.
По мере того как модели сталкиваются с новыми входными данными, пробелы в наборе данных (такие как отсутствие условий вроде сред с низкой освещенностью, разных углов обзора камер, перекрытий или сценах с большим количеством объектов), а также ошибки аннотирования становятся более очевидными, что делает необходимым уточнение данных с течением времени.
Существует несколько способов улучшить набор данных. Ты можешь добавить новые изображения или видео, чтобы охватить отсутствующие условия, такие как условия низкой освещенности, разные углы обзора камер, перекрытия или сцены с большим количеством людей, помогая уменьшить «слепые зоны» в данных.
В то же время обеспечение точности и последовательности аннотаций, таких как правильно размеченные объекты и точные ограничивающие рамки или маски, помогает модели изучать более надежные закономерности.
Обычно это следует простой петле: обучи модель, оцени результаты, определи ошибки, улучши набор данных и переобучи. Каждый шаг помогает выделить проблемы, такие как неправильные аннотации, недостающие данные или недостаточно представленные случаи.
Допустим, ты работаешь над системой мониторинга полок в розничной торговле в реальном времени, используемой для обнаружения продуктов в магазинах. Ранние версии набора данных могут не включать определенные типы продуктов, условия освещения или плотную расстановку товара на полках. Во время оценки ты можешь заметить, что модель с трудом обнаруживает товары в этих ситуациях.
Чтобы повысить производительность, ты можешь собрать новые изображения, которые охватывают эти недостающие сценарии, и обновить аннотации там, где это необходимо. Со временем повторение этого процесса помогает модели стать более точной и надежной в реальных условиях.
Ultralytics Platform поддерживает этот рабочий процесс, связывая обновления набора данных с обучением и оценкой. Благодаря встроенному отслеживанию экспериментов и метрикам производительности, становится проще следить за прогрессом и постоянно улучшать наборы данных с течением времени.
Link to this sectionОтслеживание изменений набора данных с использованием Ultralytics Platform#
Мы кратко обсудили, как наборы данных эволюционируют со временем в процессе разработки модели. По мере добавления новых данных, уточнения аннотаций и обновления классов, отслеживание этих изменений становится ключом к поддержанию качества данных и обеспечению стабильной производительности модели.
Вот некоторые ключевые функции Ultralytics Platform, которые поддерживают отслеживание наборов данных и контроль версий:
- Версионирование наборов данных: Ты можешь создавать фиксированные версии набора данных в виде NDJSON-снимков. Каждая версия фиксирует ключевые детали, такие как количество изображений, количество классов, количество аннотаций и размер набора данных в определенный момент времени. Эти версии сохраняются и могут быть загружены позже, что облегчает воспроизведение экспериментов и сравнение результатов между разными состояниями набора данных.
- Вкладка «Версии» (Versions): Все версии набора данных организованы на вкладке «Версии», где ты можешь просматривать историю версий, добавлять описания к изменениям и отслеживать, как набор данных меняется со временем.
- Связь с моделями: Вкладка «Модели» (Models) показывает все модели, обученные на наборе данных, включая метрики, такие как mAP, и детали обучения. Версии набора данных привязаны к запускам обучения, помогая тебе понять, как изменения в данных влияют на производительность модели.
- Вкладка «Ошибки» (Errors): Вкладка «Ошибки» выделяет файлы, которые не прошли обработку, вместе с деталями ошибок и предложениями. Это позволяет выявлять и исправлять проблемы, такие как поврежденные файлы или неподдерживаемые форматы, до начала обучения.
- Интерфейс набора данных (вкладки «Изображения» и «Классы»): Эти представления позволяют просматривать изображения, проверять аннотации, управлять метками классов и анализировать распределение классов. Функции фильтрации, сортировки и выявления неразмеченных изображений упрощают мониторинг качества набора данных со временем.
- Статистика и графики: Встроенные визуализации данных, такие как распределение разбиения, частота классов и тепловые карты аннотаций, помогают отслеживать изменения в распределении данных и выявлять дисбалансы по мере эволюции набора данных.

Рис. 4. Взгляд на анализ распределения классов набора данных на Ultralytics Platform (Источник)
Link to this sectionПодключение наборов данных к обучению и развертыванию внутри Ultralytics Platform#
Ultralytics Platform объединяет различные этапы разработки ИИ-моделей в единый конвейер. Это упрощает процесс перехода от необработанных данных к готовым к использованию приложениям ИИ для зрения.
После того как наборы данных подготовлены и аннотированы, их можно использовать для обучения моделей компьютерного зрения, таких как Ultralytics YOLO26, непосредственно на платформе. Во время обучения ты можешь следить за метриками производительности, отслеживать эксперименты и оценивать, насколько хорошо модель учится, используя встроенные панели мониторинга.

Рис. 5. Беглый взгляд на просмотр метрик обучения модели на Ultralytics Platform (Источник)
После обучения модели можно тестировать на новых изображениях прямо в браузере, чтобы оценивать прогнозы и определять области для улучшения перед развертыванием. Когда модель показывает хорошие результаты, ее можно развертывать в промышленную среду.
Платформа поддерживает экспорт моделей в несколько форматов или их развертывание через сервисы вывода (inference services) и выделенные конечные точки, позволяя им работать в разных средах.
После развертывания встроенные инструменты мониторинга помогают отслеживать производительность системы с течением времени, включая метрики, связанные с использованием и поведением модели. Это упрощает поддержку и улучшение ИИ-систем для зрения в реальных приложениях.
Link to this sectionЛучшие практики управления наборами данных с помощью Ultralytics Platform#
Вот несколько ключевых факторов, о которых стоит помнить при управлении своими наборами данных с использованием Ultralytics Platform:
- Используй фильтры для поиска пробелов: Находи неразмеченные или недостаточно представленные данные с помощью инструментов фильтрации, делая завершение аннотаций и улучшение охвата более бесшовным.
- Исправляй ошибки на ранней стадии: Используй вкладку «Ошибки» (Errors) для контроля качества, чтобы выявлять неудавшиеся загрузки, поврежденные файлы или неподдерживаемые форматы до начала обучения.
- Постоянно обновляй наборы данных: Добавляй новые данные, исправляй аннотации и включай крайние случаи по мере их появления. Это помогает улучшить охват и гарантирует надежную работу моделей в реальных сценариях.
- Тщательно управляй разбиением наборов данных: Обеспечивай хороший баланс между обучающей, валидационной и тестовой выборками. Ты можешь переорганизовывать разбиения вручную или использовать автоматическое перераспределение при необходимости.
Чтобы узнать больше об Ultralytics Platform, ознакомься с официальной документацией Ultralytics.
Link to this sectionОсновные выводы#
По мере масштабирования проектов компьютерного зрения эффективное управление наборами данных становится столь же важным, как и разработка моделей. Структурированный подход к управлению наборами данных помогает улучшить качество данных, оптимизировать рабочие процессы и обеспечить более высокую производительность модели со временем.
Ultralytics Platform упрощает этот процесс, объединяя управление наборами данных, обучение и развертывание в единый рабочий процесс. Применяя структурированный подход к управлению наборами данных, команды могут уменьшить сложность, повысить эффективность и создавать более масштабируемые и надежные системы компьютерного зрения.
Присоединяйся к нашему растущему сообществу и исследуй наш репозиторий GitHub для получения ресурсов по ИИ. Чтобы создавать проекты с ИИ для зрения уже сегодня, ознакомься с нашими вариантами лицензирования. Узнай, как ИИ в сельском хозяйстве трансформирует фермерство и как ИИ для зрения в здравоохранении формирует будущее, посетив наши страницы решений.






