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

Разметка данных для проектов в области компьютерного зрения

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

Абирами ВинаAbirami Vina7 мин. чтения
Разметка данных для проектов в области компьютерного зрения

Искусственный интеллект (ИИ) призван наделить машины способностями, подобными человеческим. Один из самых популярных способов добиться этого — обучение с учителем. Иными словами, обучая модели ИИ на размеченных примерах, можно помочь им выявлять закономерности и лучше справляться с задачами. Это очень похоже на то, как люди учатся на опыте. Но как создаются эти размеченные примеры?

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

Исследования показывают, что более 80% времени работы над проектом ИИ уходит на управление данными: их сбор, объединение, очистку и разметку. Это подчёркивает важность аннотирования данных при разработке моделей ИИ. Высококачественные аннотированные данные позволяют моделям ИИ точнее и надёжнее выполнять такие задачи, как распознавание лиц и обнаружение объектов, в реальных условиях.

Зачем нужно аннотирование данных#

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

Эталонная истина и предсказание

Рис. 1. Эталонная разметка и предсказание.

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

Лучшие источники наборов данных#

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

  • ImageNet: этот набор данных обычно используют для обучения моделей классификации изображений.
  • COCO: этот набор данных предназначен для обнаружения объектов, сегментации и создания описаний изображений.
  • PASCAL VOC: этот набор данных подходит для задач обнаружения объектов и сегментации.

Примеры данных из набора данных COCO

Рис. 2. Примеры данных из набора данных COCO.

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

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

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

Виды аннотирования изображений#

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

Ограничивающие рамки#

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

Рамки ограничивают пешехода и четыре дорожных конуса; для каждого указаны название класса и оценка уверенности

Рис. 3. Пример ограничивающих рамок.

Маски сегментации#

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

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

Пример семантической сегментации (слева) и сегментации экземпляров (справа)

Рис. 4. Пример семантической сегментации (слева) и масок сегментации экземпляров (справа).

3D-кубоиды#

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

3D-аннотации в виде параллелепипедов вокруг грузовиков и автомобилей на шоссе показывают глубину и объём каждого транспортного средства

Рис. 5. Пример 3D-кубоидов.

Ключевые точки и ориентиры#

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

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

Рис. 6. Пример ключевых точек.

Как размечать данные с помощью LabelImg#

Теперь, когда мы рассмотрели разные типы аннотаций, давай разберёмся, как размечать изображения с помощью популярного инструмента LabelImg. LabelImg — инструмент с открытым исходным кодом, который упрощает разметку изображений и позволяет создавать наборы данных в формате YOLO (You Only Look Once). Это отличный выбор для начинающих, работающих над небольшими проектами Ultralytics YOLOv8.

Настроить LabelImg просто. Сначала убедись, что на компьютере установлен Python 3. Затем установи LabelImg одной короткой командой:

pip3 install labelImg

После установки запусти инструмент следующей командой:

labelImg

LabelImg работает на разных платформах, включая Windows, macOS и Linux. Если при установке возникнут проблемы, подробные инструкции можно найти в официальном репозитории LabelImg. Учти, что сопровождающие прекратили поддержку LabelImg и архивировали проект; для разметки в браузере с инструментами на базе ИИ смотри редактор аннотаций Ultralytics Platform.

Разметка изображений с помощью LabelImg

Рис. 7. Разметка изображений с помощью LabelImg.

Запусти инструмент и выполни несколько простых шагов, чтобы начать разметку изображений:

  • Настрой классы: сначала укажи список классов (категорий), которые нужно размечать, в файле «predefined_classes.txt». Этот файл сообщает программе, какие объекты ты будешь отмечать на изображениях.
  • Переключись на формат YOLO: По умолчанию LabelImg использует формат PASCAL VOC, но если ты работаешь с YOLO, нужно переключить формат. Просто нажми кнопку «PascalVOC» на панели инструментов, чтобы переключиться на YOLO.
  • Начни разметку: Используй параметры «Open» или «OpenDIR», чтобы загрузить изображения. Затем обведи рамками объекты, которые нужно разметить, и назначь правильную метку класса. После разметки каждого изображения сохрани результат. LabelImg создаст текстовый файл с тем же именем, что и изображение, и запишет в него аннотации YOLO.
  • Сохрани и проверь: Аннотации сохраняются в файле .txt в формате YOLO. Программа также сохраняет файл «classes.txt» со списком всех названий классов.

Эффективные стратегии разметки данных#

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

Допустим, нужно отметить птиц на изображениях с помощью рамок. Один специалист может обвести птицу целиком, а другой — только голову или крылья. Такая несогласованность может запутать модель во время обучения. Четкие определения, например «размечай птицу целиком, включая крылья и хвост», а также примеры и инструкции для сложных случаев помогут обеспечить точность и единообразие разметки данных.

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

Коротко о разметке данных#

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

Продолжай изучать новое и развивать свои навыки! Оставайся на связи с нашим сообществом, чтобы узнавать больше об ИИ! Загляни в наш репозиторий 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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