Какой тип разметки данных требуется для вашего проекта? Полный гид по аннотированию изображений
Ограничивающие рамки, полигоны, ключевые точки или 3D-кубоиды? Каждый из этих методов разметки подходит для совершенно разных задач машинного обучения.
Хотите узнать, как правильно выбрать инструмент для своего проекта? Мы сравним преимущества и недостатки каждого инструмента и покажем, как аннотирование помогает создать передовые технологии — от беспилотных авто до диагностики в медицине.
А в этом нам помогут:
Дмитрий Рогальский, Moderation Group Manager в Data Light
Алексей Корнилов, Special Projects Group Manager в Data Light
Bounding Box/ Ограничивающая рамка
Начнем с одного из самых популярных (и самых простых) инструментов для разметки. Он называется Bounding Box, то есть ограничивающая рамка. Этот инструмент представляет собой прямоугольную область, которая очерчивает границы объектов, указывая их тип, местоположение. Чаще всего разметка с помощью Bounding Box используется, чтобы идентифицировать и локализовать объекты на изображениях, то есть для задач Object Detection.
Bounding Box как инструмент разметки данных имеет ряд преимуществ. Его простота в создании и использовании позволяет быстро аннотировать изображения, что особенно важно при работе с большими объемами данных. Кроме того, этот инструмент обеспечивает высокую производительность в задачах обнаружения объектов.
Однако Bounding Box имеет и ограничения. В сложных сценах, где объекты перекрывают друг друга, рамки могут терять важную информацию. Этот инструмент малоэффективен для объектов с неровными краями или в динамичных позах, где лучше подходит разметка с использованием Polygon.
Когда использовать разметку Bounding Box:
Давайте представим несколько задач, где нам может пригодиться такая разметка:
Например, нам нужно определить местоположение тарелок на обеденном столе. Тогда Bounding Box помогает выделить каждую тарелку и мы получаем точное обнаружение объектов.
Еще один пример: Нам нужно организовать распознавание коробок на складе. Тогда этот инструмент позволяет быстро и эффективно классифицировать и идентифицировать коробки.
Или нужно выделить автомобили на городской улице. Очень часто именно Bounding Box применяется для отслеживания транспорта в системах видеоаналитики.
Преимущества Bounding Box:
Простота и скорость разметки.
Отличная производительность для крупных и четко очерченных объектов.
Интуитивно понятный интерфейс: научиться размечать данные этим инструментом можно всего за пару минут.
Не требует много ресурсов и не нагружают процессор, как, например, может происходить
Но есть и недостатки:
Монотонность: Проекты с разметкой боксами однообразны, требуют усидчивости и концентрации. Например, для одного из проектов мы размечали камни, а на фотографиях их контуры объектов часто сливаются. Даже опытным разметчикам легко запутаться в множестве боксов на фотографии.
Еще часто рамка захватывает лишние пиксели, такие как фон или соседние объекты, что снижает точность. Для вытянутых или повернутых объектов, например вилок, стандартные рамки могут быть недостаточно точными. В таких случаях может использоваться формат Rotated Rect, который позволяет учитывать угол поворота объекта. Эта функция на первый взгляд кажется полезной.
Но, как показывает практика, она редко используется в реальных проектах. Например, почти все наши заказчики чаще всего просят не поворачивать бокс, а наоборот — оставлять его в стандартной ориентации. Основная причина, вероятно, кроется в проблемах с координатами. Когда бокс поворачивается, это добавляет дополнительную сложность, особенно в случае с обработкой данных.
Для объектов с неровными краями или сложной геометрией (например, растений или фигур в динамичных позах) такой вид разметки не подойдет.
Разметка с помощью полигонов (Polygon)
Теперь давайте обратим внимание на более сложный, но и более точный инструмент разметки — Polygon (или полигоны). В отличие от Bounding Box, Polygon используется для более детализированного выделения объектов с нестандартной геометрией. Этот метод позволяет выделить объект не просто прямоугольной рамкой, а по его контуру, что повышает точность разметки, особенно для сложных и асимметричных объектов.
Основной принцип разметки полигонами заключается в том, чтобы провести несколько точек вдоль границ объекта. Эти точки соединяются линиями, создавая замкнутую фигуру — многоугольник. Такой подход позволяет точно охватывать только сам объект, минимизируя захват фона или соседних объектов. Это особенно важно для высокоточных задач, требующих максимальной детализации.
Где используется разметка полигонами?
В основном такая разметка нужна для задачи сегментации в области компьютерного зрения. Сегментация разделяет изображение на различные области, каждая из которых соответствует отдельному объекту или его части. Например, в задаче распознавания автомобилей на дороге, Polygon помогает точно очертить каждый автомобиль, исключая лишнее пространство вокруг.
Один из запоминающихся проектов, где использовалась разметка полигонами, касался кожных заболеваний, а точнее — акне. Наша команда разметчиков занималась выделением высыпаний на изображениях лиц.
Эта задача оказалась гораздо сложнее, чем может показаться на первый взгляд. Каждое высыпание необходимо было точно очертить, учитывая его форму и размеры. Сложность добавляли мелкие детали и разнообразие текстур кожи, где границы объектов были неочевидны. И именно разметка полигонами позволяет учитывать и размечать мельчайшие особенности объектов, даже в таких непростых задачах.
Преимущества этого типа разметки:
Точность: Polygon идеально подходит для объектов с сложными или неровными контурами, так как позволяет точно следовать границам объекта.
Гибкость: Он применим к объектам любой формы, обеспечивая более качественную разметку по сравнению с простыми прямоугольниками.
Недостатки:
Время и усилия: Процесс разметки с использованием Polygon более трудоемкий и требует больше времени, чем Bounding Box.
Сложность: Разметка сложных объектов требует внимания к деталям, что может увеличить стоимость и время подготовки данных.
Точки
Этот вид разметки имеет свою специфику и применяется только в определенных сценариях. Мы, например, неоднократно выполняли подобные задачи, но ключевым критерием выбора точек вместо других методов часто была простота цели. Для проекта требовалась зафиксировать наличие объекта и посчитать их количество, без необходимости определения точного размера или формы.
Почему именно точки, а не боксы? Если задача сводится к тому, чтобы отметить присутствие объекта, как, например, мячика, достаточно поставить точку в его центре. Это особенно удобно, когда нужно быстро обработать большое количество кадров или объектов. Однако боксы применяются, если требуется более детальная информация — например, отслеживание точного положения объекта.
Пример применения этой разметки:
Давайте представим несколько задач, где нам может пригодиться такая разметка точками:
Определение положения фруктов в ящике. Например, нужно разметить каждую яблоко или апельсин в ящике для автоматического подсчета количества фруктов. Точечная разметка позволяет быстро отметить каждый объект, не тратя время на выделение границ.
Идентификация звезд на ночном небе. Если нужно классифицировать ярчайшие звезды на астрономических снимках, разметка точками позволяет просто указать их местоположение, не усложняя процесс выделением полигонов или боксов.
Подсчет ягод черешни на тарелке. Когда необходимо определить количество ягод, точечная разметка позволяет быстро отметить каждую из них, избегая сложности с выделением границ.
Разметка глаз на изображении лица. Для задач, связанных с биометрией или анализа эмоций, можно использовать точечную разметку, чтобы обозначить только ключевые точки, такие как положение глаз, без детального выделения остальных черт лица.
Преимущества разметки точками:
Есть много плюсов: скорость выполнения задач, упрощение процесса разметки, меньшие требования к техническим ресурсам для разметки сложных сцен.
Подходит для больших групп мелких объектов (например, людей в толпе).
Недостатки такой разметки:
Часто приходится увеличивать изображение для работы с мелкими деталями.
Сложность возрастает при работе с большим количеством мелких объектов, когда требуется точность и внимание к деталям, как в случае с разметкой вишенок в ящике.
А еще данный метод не подходит для задач, где важно отслеживать размер или форму объекта.
Ключевые точки/ Keypoints Annotation
Этот метод разметки используется для аннотирования определенных ориентиров (точек) на объектах, чтобы определить их положение, движение или пространственные отношения. В отличие от других типов разметки, таких как полигоны, ключевые точки предлагают более точную локализацию особенностей объекта.
Ключевая точка — это конкретная метка, которая указывает на важные ориентиры на изображении или в видео. Они могут быть связаны с углами, краями или определёнными чертами объекта. Например, в задаче распознавания лиц ключевые точки могут отмечать глаза, нос и рот, а в задачах, связанных с позой человека — суставы тела.
Метод разметки ключевых точек применяется для более точной работы в совершенно разных задачах:
Распознавание лицевых выражений
Оценка позы человека или животного
Поведенческий анализ водителей и навигации
Отслеживание поведения скота
Распознавание жестов рук или анализ активности
Робототехника и производство
Видео- и спортивная аналитика
3D-реконструкция
Тут тоже есть своя специфика:
Согласованность разметки. Один из ключевых вызовов в разметке Keypoints — это достижение согласованности среди всех исполнителей, особенно если над проектом работают несколько человек. Все точки должны быть расположены одинаково, чтобы итоговые данные были корректными.
Разметка невидимых Keypoints. Иногда требуется размечать невидимые точки, например, когда человек стоит боком, и видна только одна рука. В таких случаях необходимо полагаться на насмотренность разметчика и применять логику для обозначения предполагаемого местоположения невидимых частей. Это особенно важно в задачах, связанных с анализом движения или биомеханикой.
Улучшенная валидация. Для проектов, требующих точности, важна дополнительная проверка качества разметки. Валидация должна быть тщательной, особенно если разметчик работал с невидимыми кейпоинтами, чтобы исключить возможные ошибки.
Обучение разметчиков. Разметчиков необходимо готовить к нестандартным ситуациям: надо понимать специфику задачи и знать, как действовать, если в кадре отсутствуют видимые ориентиры. Для эффективного обучения лучше включать примеры сложных кейсов и разбор различных сценариев, а также регулярные уточнения и консультации в процессе работы.
И, наконец, чтобы процесс разметки ключевых точек был максимально точным и эффективным, важно соблюдать несколько правил:
Использование подходящих инструментов: Выбор правильного инструмента для разметки ключевых точек поможет избежать ошибок и ускорить процесс.
Четкие инструкции: Создание стандартов разметки и указаний по правильному расположению ключевых точек для каждого объекта поможет избежать различий в интерпретации.
Контроль качества: Для улучшения точности можно использовать систему рецензирования разметки, чтобы обнаружить и исправить ошибки на ранних этапах.
Когда использовать разметку ключевыми точками
Ключевые точки полезны в совершенно разных областях:
Оценка позы человека или животного: Ключевые точки, такие как локти, колени, плечи и другие суставы, необходимы для точной локализации положения тела.
Анализ спортивных действий: Например, в футболе они могут использоваться для точного отслеживания движения игроков и мяча на поле.
Робототехника: В задачах контроля и манипуляции роботами ключевые точки используются для отслеживания движений с высокой точностью.
Однако разметка ключевых точек требует больше времени и усилий, чем другие методы, такие как Bounding Box или полигоны. Этот метод подходит для более сложных задач, где точность имеет первостепенное значение.
Преимущества разметки Key Points:
Точность: Ключевые точки обеспечивают высокий уровень точности, так как можно точно указать местоположение важных ориентиров объекта.
Универсальность: Подходит для сложных объектов с различной геометрией, таких как человеческие и животные позы, спортивные движения и т. д.
Способность отслеживать динамику: Ключевые точки позволяют не только определить положение объекта, но и отслеживать его движение с течением времени.
Недостатки такой разметки:
Трудоемкость: Каждая точка должна быть размещена очень точно, ошибки здесь недопустимы.
Сложности с точностью: Иногда части объекта могут быть скрыты или выйти за пределы кадра, что усложняет точное размещение ключевых точек.
Консистентность разметки: Разные аннотаторы могут по-разному определять точные координаты ключевых точек, что может повлиять на качество разметки.
Окружности (Сircle annotation)
Давайте сразу отметим: разметка окружностями (circle annotation) используется не так часто, но все равно важно упомянуть этот инструмент. Он подходит только для выделения объектов, имеющих идеальную или близкую к идеальной круглую форму.
Этот инструмент встречается не так часто, как более универсальные bounding box или полигональная разметка, но находит применение в специфических задачах. На практике окружности используются в небольшом количестве проектов. Большинство задач, связанных с круглыми объектами, решается более универсальными инструментами. Тем не менее, разметка окружностями остаётся важным и полезным инструментом в узкоспециализированных областях, где требуется высокая точность работы с круглыми формами.
Где применяется разметка окружностями?
Мячи и спортивные объекты. Например, при разметке бильярдных шаров на столе или мячей на поле. Обычно для этого снимает камера сверху и так позволяет точно выделить круглый объект.
Монеты. Разметка используется для анализа монет, особенно если важна точность определения формы и размера.
Астрономические снимки. В задачах, связанных с определением расположения звёзд или круглых объектов на изображении, разметка окружностями может быть удобна.
Траектории и аналитика. В спортивных приложениях, где требуется обозначить предполагаемую траекторию объекта, окружности помогают визуализировать движение и положение.
Достоинства разметки:
Главное его преимущество: быстро и точно подходит для объектов в форме круга.
Сложности и недостатки такой разметки:
Сложности в точности: В отличие от прямоугольных рамок, круги требуют более точного позиционирования. Малейшее отклонение влево, вправо или по размеру может повлиять на результат.
Альтернативы. Чаще всего даже круглые объекты размечаются боксами или полигонами. Например, апельсины или облака обычно выделяются полигонами из-за сложности поддержания идеальной круглой формы.
Разметка с помощью эллипсов (Ellipse Annotation)
Разметка с помощью эллипсов — это точный способ маркировки объектов на изображениях или в видео, при котором вокруг объекта создается овальная метка.
Этот метод особенно полезен для аннотирования круглых или овальных объектов, так как позволяет быстро и точно обозначить их форму. Честно говоря, из-за специфики инструмента в нашей практике мы не так часто к нему обращались.
Когда используется разметка с помощью эллипсов?
Разметка с использованием эллипсов в теории может применяться в различных сферах. Вот некоторые примеры:
Автомобильная промышленность: В процессе производства используется разметка для выявления дефектов в таких деталях, как винты и шестерёнки. Эллипсы помогают точно выделить эти объекты на изображениях.
Медицинские исследования: Для изучения заболеваний глаз разметка с эллипсами применяется при анализе изображений глазного дна или других медицинских снимков.
Спортивные аналитики: В спортивных видеозаписях разметка эллипсами может помочь отслеживать движение мяча, например, в баскетболе, где важно точно фиксировать его траекторию.
Преимущества такой разметки:
Точность: Эллипсы позволяют более точно обозначать объекты, особенно те, что имеют круглую или овальную форму.
Скорость: Этот метод позволяет быстро и эффективно выполнять разметку, что особенно важно при работе с большими объемами данных.
Простота использования: Для объектов с округлыми или овальными очертаниями использование эллипсов значительно упрощает процесс разметки, так как они точно следуют контуру объекта.
Недостатки:
Ограниченность формы: Главный недостаток — разметка с эллипсами подходит только для объектов, имеющих округлые или овальные формы. Для сложных предметов с углами или изогнутыми краями, может потребоваться использование других методов, таких как полигоны.
Кубоиды: разметка объектов в 3D-пространстве
Кубоиды — это трехмерные объемные рамки, которые описывают положение и размеры объекта в пространстве. Они особенно полезны в лидарных проектах, где важна информация о ширине, высоте и глубине объектов.
В отличие от двухмерных ограничивающих рамок (bounding box), кубоиды позволяют точно определить форму, размер и положение объекта в пространстве. Он предоставляет всю полную информацию: ширина, высота, длина объекта, а также расстояние до других объектов (зданий, людей или автомобилей).
3D-разметка минимизирует искажения, возникающие при использовании 2D-методов, и дает более точное представление о положении и габаритах объекта.
Для такой разметки подходят LiDAR-облака точек — данные от лазерных сканеров, которые дают высокую точность 3D-карт.
Где используется разметка кубоидами?
У этого вида разметки есть много применений:
Контроль дорожного движения: Подходит для автоматизированной оценки нарушений и управления трафиком.
AR и карты: создание дополненной реальности и построение маршрутов с учетом рельефа и геометрии окружающих объектов.
Беспилотная парковка: системы на основе LiDAR-данных анализируют окружающее пространство для точной парковки.
Склады: определение формы коробок для оптимизации логистики.
Городская аналитика: разметка автомобилей и объектов на 3D-снимках улиц.
Интерьерный дизайн: анализ 3D-положения мебели.
Преимущества кубоидов:
Идеально для 3D-данных: предоставляет максимально точное представление о форме и положении объектов.
Многофункциональность: используется в различных отраслях, от логистики до автономного транспорта.
Недостатки:
Сложность: требует высокого уровня навыков и использования специализированных инструментов.
Трудоемкость: сбор и аннотирование данных для 3D-объектов требуют больших ресурсов.
Во многих случаях кубоиды бесполезны, например, в проектах, где достаточно двухмерной разметки (например, анализ дорожных знаков).
Но тут важно упомянуть и предразметку. ИИ уже могут эффективно работать с почти всеми типами аннотаций, например, с точками, боксами или полигонами.
Но пока ещё есть некоторые ограничения в этом направлении: особенно специфические случаи, например, разметка данных с лидаров. Вопрос здесь скорее в финансах и времени, которые потребуются для реализации.
Какие методы разметки кажутся вам наиболее интересными? Есть ли у вас задачи, в которых сложно определить подходящий способ разметки? Давайте обсудим в комментариях!
Moderation Group Manager в Data Light
Special Projects Group Manager в Data Light