Расставим точки над i: как подготовить разметку для задач Keypoint Detection. Big Data.. Big Data. data annotation.. Big Data. data annotation. keypoint detectors.. Big Data. data annotation. keypoint detectors. keypoints recognition.. Big Data. data annotation. keypoint detectors. keypoints recognition. Блог компании Data Light.. Big Data. data annotation. keypoint detectors. keypoints recognition. Блог компании Data Light. разметка данных.. Big Data. data annotation. keypoint detectors. keypoints recognition. Блог компании Data Light. разметка данных. разметка датасета.
Расставим точки над i: как подготовить разметку для задач Keypoint Detection - 1

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

Но при создании качественных датасетов для задач Key Points Detection вы можете столкнуться с рядом вызовов и проблем. Чтобы помочь вам, в этой статье мы разберем, как работают такие системы, для чего они нужны и какие инструменты лидируют на рынке. Вы узнаете о реальных вызовах, с которыми сталкиваются компании, от вариативности поз и окклюзий до интерпретируемости моделей. Мы также поделимся практическими рекомендациями для улучшения рабочих процессов и нашими кейсами.

Для чего используется Keypoint detection 

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

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

Обычно мы выделяем несколько типов ключевых точек:

2D ключевые точки: Определяют положение точки на плоской поверхности изображения. Часто используются для задач распознавания объектов, отслеживания движения, анализа поз человека или животных.

3D ключевые точки: Определяют положение точки в трехмерном пространстве. Используются для создания 3D моделей объектов, анализа движения в пространстве, виртуальной и дополненной реальности.

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

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

Как распознавание ключевых точек меняет мир вокруг нас?

Хотите узнать, насколько ваши клиенты точно выполняют упражнение? Или как контролировать персонажей в играх? А как создать виртуальные примерочные для клиентов? Вот всего пара примеров использования Keypoints Annotation:

  • Автомобили будущего: Самоуправляемые автомобили, оснащенные системами распознавания ключевых точек, способны “видеть” пешеходов, велосипедистов и другие транспортные средства с поразительной точностью. Это делает дороги безопаснее и открывает новые горизонты для мобильности.

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

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

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

Пoлигон и разметка ключевых точек: в чем различие и как выбрать подходящий метод?

Расставим точки над i: как подготовить разметку для задач Keypoint Detection - 2

Оба метода разметки — полигональная и с использованием ключевых точек — работают с базовым элементом: точкой. Но их задачи и конечные результаты сильно отличаются. Давайте разбираться:

Полигональная разметка: рисуем форму

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

Разметка ключевых точек: акцент на деталях

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

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

Расставим точки над i: как подготовить разметку для задач Keypoint Detection - 3

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

Популярные инструменты для разметки

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

Расставим точки над i: как подготовить разметку для задач Keypoint Detection - 4

Какие еще проблемы приходится решать при разметке данных для этой задачи?

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

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

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

Практические рекомендации

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

  1. Подготовка разметчиков
    Ключевая часть успешного проекта — это обучение команды. Разметчики должны понимать специфику задачи, знать анатомию (если это животные или люди) и уметь пользоваться инструментами проверки качества разметки. Давайте приведем пример: для проектов, связанных с позированием людей, полезно проводить тренинги с использованием моделей-скелетов.

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

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

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

Какие трудности встречаются в разметке для Keypoint detection?

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

1. Вариативность поз и форм

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

2. Окклюзии

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

3. Изменения освещения

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

4. Шум и артефакты

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

5. Масштабируемость

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

6. Интерпретируемость моделей

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

7. Сложность аннотации динамических объектов

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

Как это решается?

3D Keypoint Detection

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

Методы:

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

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

Данные Motion Capture: Метки, прикрепленные к объектам, для точной разметки движений.

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

Приложения в реальном времени

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

Легковесные архитектуры: Например, MobileNetV3, которые оптимизированы для работы на устройствах с ограниченными вычислительными ресурсами.

Прямое квантование: Сокращение разрядности весов моделей (например, с 32-bit до 8-bit) для ускорения вычислений.

Прогнозирование с сокращением частоты кадров: Модели анализируют только ключевые кадры, снижая нагрузку.

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

Обучение без учителя

Обучение без учителя (Unsupervised Learning) и его вариации (Self-Supervised Learning) предлагают подходы, минимизирующие зависимость от размеченных данных. Модели учатся извлекать важные признаки из “сырых” данных, а разметка становится лишь опциональной.

Методы:

Контрастивное обучение: Используется, например, в методе SimCLR, где модель сравнивает различные представления одного и того же изображения.

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

Модели предварительного обучения: Использование больших предобученных моделей, таких как MAE (Masked Autoencoders), для адаптации к новым задачам.

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

Use Cases: Как наши клиенты выиграли от использования Key Points Detection

К команде Data Light регулярно поступают задачи, связанные с этим направлением. Мы решили отобрать несколько самых интересных и необычных случаев использования:

Key Points Detection для организации экзаменов

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

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

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

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

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

Определение потенциально опасного поведения у пассажиров на вокзалах и в аэропортах

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

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

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

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

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

Автор: evgeniatro

Источник

Рейтинг@Mail.ru
Rambler's Top100