Поза (компьютерное зрение)
Pose (англ. pose, также пространственная поза) — в области вычислительной техники и компьютерного зрения — сочетание позиции и ориентации объекта, обычно в трёхмерном пространстве[1]. Позы обычно хранятся во внутреннем представлении в виде матриц преобразования[2][3]. Термин «поза» во многом синонимичен термину «трансформация», однако трансформация может включать в себя также масштабирование, тогда как поза, как правило, нет[4][5]. Пространственная поза с шестью степеней свободы (6DoF) описывает состояние объекта через три параметра смещения (позиция по осям X, Y и Z) и три параметра вращения (крен, тангаж и рыскание)[6].
В компьютерном зрении поза объекта часто определяется по изображениям с помощью процесса, называемого оценкой позы. Эти сведения, например, позволяют роботу манипулировать объектом или избегать столкновения с ним, учитывая его положение и ориентацию в окружающей среде. Другие применения включают скелетную распознавание действий.
В экосистеме пространственных вычислений (Spatial Computing) поза является одним из ключевых элементов физического состояния пользователя. Её отслеживание с помощью датчиков и носимых устройств обеспечивает систему контекстными данными для понимания действий человека и предоставления ему помощи в реальном времени[7].
Оценка позы
Задача определения позы объекта на изображении (или серии изображений, стереопаре) называется оценкой позы. Решение задачи оценки позы зависит от конфигурации сенсоров (камер) и используемой методологии. Можно выделить три основных класса методов:
Классические методы
- Аналитические или геометрические методы — предполагается, что камера откалибрована и известна связь между трехмерными точками сцены и их двумерными изображениями. Если также известна геометрия объекта, проекция его изображения на плоскость камеры однозначно определяется позой. После идентификации контрольных точек на объекте (чаще всего это углы или характерные точки) возможно вычислить преобразование позы из системы уравнений, связывающих 3D-координаты точек и их 2D-проекции. Алгоритмы, определяющие взаимную позу двух облаков точек, называются алгоритмами регистрации множеств точек, если соответствия между точками заранее неизвестны.
- Методы на основе генетических алгоритмов — если вычисление позы допускает работу не в режиме реального времени, можно использовать генетические алгоритмы. Такой подход устойчив, особенно при неидеально откалибрированных изображениях. В этой постановке поза кодируется через генетическое представление, а ошибка между проекцией контрольных точек объекта и их изображениями выступает в роли функции приспособленности.
Нейросетевые подходы
Методы, основанные на обучении, используют системы искусственного обучения, которые запоминают отображение между двумерными признаками изображения и преобразованием, определяющим позу. Необходимо предоставить системе достаточно большой набор изображений объекта в различных позах на этапе обучения. После завершения обучения система должна уметь оценивать позу объекта по входному изображению. Современная классификация нейросетевых методов оценки позы выделяет три основных подхода к обработке данных:[8][9]
- Нисходящий подход (Top-down): двухэтапный процесс, при котором сначала выполняется детекция всех людей на изображении (выделение ограничивающих рамок), а затем для каждого фрагмента оцениваются ключевые точки. Подход обеспечивает высокую точность (например, модели HRNet, ViTPose), но вычислительные затраты растут пропорционально числу людей в кадре[8].[10]
- Восходящий подход (Bottom-up): модель за один проход находит все ключевые точки на изображении, после чего группирует их в скелеты конкретных людей. Подход (например, OpenPose, HigherHRNet) хорошо масштабируется для плотных сцен, а время работы почти не зависит от количества людей[8].[10]
- Одноэтапный подход (One-stage): объединяет детекцию и оценку позы в один проход, одновременно предсказывая положение человека и его ключевые точки (например, YOLOv8-Pose, YOLO11-Pose). Это обеспечивает высокую скорость и подходит для задач реального времени[8].[9]
Для достижения баланса между точностью и вычислительной эффективностью применяются гибридные решения, объединяющие методы на основе тепловых карт (heatmap-based) и прямой регрессии координат (regression-based). Например, метод SimCC рассматривает локализацию ключевых точек как одномерную классификацию координат, что позволяет достигать точности уровня тепловых карт при сниженной сложности. Также используются методы дистилляции знаний (например, фреймворк DistilPose), где высокоточные модели на основе тепловых карт обучают более быстрые регрессионные модели[11].[12] В качестве базовых архитектур активно применяются Vision Transformers (ViT). Передовым решением является семейство моделей ViTPose. Архитектура ViTPose++ расширяет базовую модель за счёт декомпозиции знаний через механизм Mixture of Experts (MoE). Модель поддерживает мультизадачное обучение для совместной оценки поз людей, животных и всего тела, достигая передовых результатов на датасете MS COCO[13].[14]
Оптимизация для периферийных устройств
Для адаптации моделей оценки позы к работе на периферийных устройствах (edge-устройствах) применяются методы сжатия нейронных сетей, такие как дистилляция знаний и прунинг[15]. Например, в модели SLIC-POSE используется комбинация структурного прунинга и дистилляции знаний, что позволяет снизить вычислительную сложность на 63,2 % (с 15,2 до 5,6 GFLOPs) при сохранении высокой точности[16]. Помимо этого, разрабатываются специализированные легковесные архитектуры, обеспечивающие высокую скорость работы. В семействе моделей YOLO26-Pose применяется метод Residual Log-Likelihood Estimation (RLE) для точной локализации ключевых точек, а отказ от алгоритма подавления немаксимумов (NMS) обеспечивает предсказуемую задержку вывода[17][18]. В модели CDO-POSE базовая архитектура оптимизирована за счёт применения модуля C3k2CAA, что снижает количество параметров на 32,3 % и позволяет достичь скорости обработки 39,79 кадра в секунду (при разрешении 480p) на устройствах класса NVIDIA Jetson Orin Nano.
Фундаментальные и генеративные модели
Для оценки пространственной позы без предварительного обучения (Zero-shot) применяются подходы на базе визуально-языковых (Vision-Language Models, VLM) и других фундаментальных моделей:
- ConceptPose — использует VLM для локализации сгенерированных текстовых концептов на изображениях; карты значимости проецируются в 3D-пространство, а итоговая поза оценивается алгоритмами RANSAC и ICP[19].
- ProM-Pose — использует язык как семантический якорь для управления генеративной 3D-моделью, создающей геометрический приор.
- FreePose — извлекает визуальные признаки с помощью предварительно обученных фундаментальных моделей (например, SAM2), которые проецируются на 3D-точки и объединяются с геометрическими признаками для вычисления позы[20].
Кроме того, в экспериментальном режиме для уточнения позы в реальном времени применяются деноизирующие диффузионные модели, оптимизированные для работы на периферийных устройствах с минимальными вычислительными затратами[21].[22]