Многочисленные недавние открытия в области искусственного интеллекта привели к прогрессу в компьютерном зрении общего назначения. Модель OpenAI CLIP способна генерировать подробные подписи для самых разных изображений, а модель Meta Segment Anything Model может извлекать маску, просто щелкнув любой объект в кадре. Тем не менее, при работе в конкретных областях более точные и специализированные методы могут дать большие результаты. Обнаружение ключевой точки или ориентира является бесценным инструментом в решении проблем, связанных с анатомией и особенностями человека.

Достопримечательности

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

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

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

Использование

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

Ориентиры на лице

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

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

Ориентиры для поз

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

Ориентиры

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

Обнаружение ключевых точек с помощью KinetixML

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

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

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