Обнаружение лиц отключено при использовании Google MediaPipe в UnityC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Обнаружение лиц отключено при использовании Google MediaPipe в Unity

Сообщение Anonymous »

Как дела?
Я разрабатываю проект для Android с использованием AR. Основная цель этого проекта — идентифицировать лица людей и разместить виртуальное изображение их головы на том же месте, что и настоящая голова. Виртуальная сетка создается на основе серии изображений и загружается из облака на устройство, на котором запущено приложение. Для этого я использую MediaPipe от Google, который идентифицирует некоторые части реального лица (например, глаза, нос и рот) и размещает на их основе виртуальную голову.
Приложение разрабатывается на Unity. Существует скрипт, который считывает то, что снимается задней камерой устройства, и отображает это в объекте изображения, вложенном в Canvas. Затем фактический объект виртуальной головы размещается, как перед холстом, на основе математических вычислений, выполненных алгоритмом MediaPipe.
Все довольно прилично, но возникает проблема: что независимо от используемого устройства (и камеры) расположение и синхронизация виртуальной головы остаются немного смещенными и не полностью совпадают с головой реального слова.
Изображение 1
Красным цветом у нас есть сгенерированный виртуальный объект, а за ним — захват, выполняемый на холсте Unity. На этом изображении мы уже видим, что оно выключено: виртуальный объект кажется больше.
Если мы изменим угол, он станет хуже.
Изображение 2
Я полагаю, что это как-то связано с искажениями объектива, а также с фактическим фокусным расстоянием и полем зрения. Но мне не удалось найти решение.
Я попробовал заменить холст на плоскость, чтобы проверить, имеет ли это какое-либо отношение. Также попытался изменить камеру Unity на физическую камеру и улучшить ее фокусное расстояние. Самое близкое, что мне удалось получить, это следующее:
Изображение 3
Это все еще не так, но уже лучше. Однако проблема по-прежнему возникает под другим углом.
Изображение 4
Также пробовал использовать для этого ARCore, но проблема в том, что он позволяет только обнаружение с помощью селфи-камеры, а это не то, что мне нужно.
Есть какие-нибудь советы или решения?
Спасибо :)

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-in-unity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»