SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера?

в 13:01, , рубрики: mocap, ruvds_статьи, аватар, вебкамера, виртуальная реальность, втубер, захват движений, Программное обеспечение, трекинг, трекинг лица, трекинг человека

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 1

Большое слово — Mocap

Большинство знает о mocap (захвате движений) из киноиндустрии: чёрный костюм с множеством точек на теле. Однако технологии не стоят на месте, и уже сейчас в домашних условиях для создания развлекательного контента достаточно одной веб-камеры, чтобы полностью захватить движения и преобразовать их в ваш аватар в режиме реального времени. Отличным примером такой технологии является SysMocap. Программа бесплатна, имеет открытый исходный код, работает в реальном времени и не требует предварительной настройки. В данной статье я рассмотрю SysMocap и несколько его аналогов, использующих формат технологии VRM.

Содержание

Технология

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 2

Оригинальная схема с Github-репозитория

Захват и преобразование движений реализуются с помощью MediaPipe и TensorFlow Lite. MediaPipe — это набор инструментов, один из которых используется в данном ПО — MediaPipe Pose. Этот инструмент предназначен для захвата движений человека с видеопотока в реальном времени. TensorFlow Lite — облегчённая версия библиотеки машинного обучения TensorFlow, которая снижает вычислительные затраты. Благодаря своим моделям предсказания TensorFlow Lite может самостоятельно достраивать некоторые операции, что уменьшает нагрузку на MediaPipe. Это позволяет снизить необходимость в тяжеловесных вычислениях между кадрами, поскольку TensorFlow Lite способен производить расчёты и генерировать промежуточные кадры. Такой подход делает процесс менее ресурсоёмким.

Кроме графического интерфейса пользователя (GUI), у проекта есть сервер пересылки, который запускается на компьютере пользователя. С его помощью очень просто вывести получаемую модель аватара, например, на OBS или AR/VR устройства.

Насколько это хорошо работает?

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

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 3

Демонстрационный mocap из Github-репозитория SysMocap

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

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 4

Скриншот библиотеки из программы

Аналоги

▍ Webcam Motion Capture

Гораздо более продвинутый захват движения рук, как заявляют авторы ПО «AI-powered Webcam Motion Capture». Подписка стоит всего 2 доллара в месяц. Но у SysMocap всё же есть один плюс — поддержка Linux.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 5

▍ Luppet X

Значительно отличается от ранее рассмотренных вариантов наличием дополнительной гарнитуры — LeapMotion controller за нескромные 15-30 тысяч рублей, но на Авито цена уже более демократичная — 5-12 тысяч рублей. С технической стороны, это более сложный подход, чем Webcam Motion Capture, но в основании принципа они оба просто берут поток данных с сенсоров и преобразуют их в скелетную анимацию. Устройство LeapMotion работает за счёт двух инфракрасных камер и трёх инфракрасных светодиодов, которые создают невидимое для глаз поле. За счёт двух камер строится 3D-проекция картинки, а поскольку они инфракрасные и имеют необходимые излучатели света, устройство работает одинаково хорошо при хорошем и даже отсутствующем освещении.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 6

Демонстрация работы LeapMotion Controller

Гарнитура, поставляемая разработчиками, переносная: её можно повесить на шею или использовать как VR-гарнитуру, что прибавляет ей ещё больше плюсов. Это снижает вероятность выхода из области захвата движений и предотвращает «разрушение» вашего аватара. Сама программа стоит 6600 JPY, что составляет 4249 рублей по текущему курсу.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 7SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 8

Установка SysMocap

▍ Windows

Самый простой установщик. От вас требуется только скачать и запустить актуальный релиз программы по ссылке. Нужный файл имеет подзаголовок — SysMocap-Windows-x64-installer.

▍ MacOS

Установка не сложнее обычной программы. Скачиваем последнюю версию программы по ссылке, с подзаголовком SysMocap-MacOS-x64, если вы используете Хакинтош, или SysMocap-MacOS-arm в случае с процессорами M. В обоих случаях стандартным методом .dmg образ устанавливаем в систему и пользуемся.

Также с оригинального Github-репозитория есть отдельная пометка:

Заметка для пользователя на macOS:

Вам необходимо установить Gatekeeper в режим «Anywhere» в настройках системы (используя sudo spctl --master-disable).

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 9

Если появится сообщение «SysMocap повреждён и не может быть открыт. Переместите его в корзину», выполните следующую команду в терминале: sudo xattr -r -d com.apple.quarantine /Applications/SysMocap.app

▍ Linux

Всё сводится к простому вводу пачки команд в терминал.

git clone https://github.com/xianfei/SysMocap.git
cd SysMocap
npm i
npm start

Также не будет лишним сделать alias для удобного быстрого вызова программы в одну команду:
sudo nano /etc/bash.bashrc

И добавляем новый alias:
alias sysmocap='cd ~/SysMocap; npm start'

Чтобы он заработал сразу, без перезахода в систему, воспользуетесь данной командой:
source /etc/bash.bashrc

▍ Запуск

Ничего сложного в запуске нет. 1. Откройте вкладку Mocap. 2. Выберите нужную модель. 3. Нажмите Start, чтобы запустить процесс.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 10

▍ Чиним баги

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 11

При возникновении ошибки обычно всё решается ручной настройкой камеры.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 12

Если предыдущий шаг не помог, проблема может быть связана с отключёнными дискретными вычислениями (ГПУ) в настройках.

VRM модели. Где же достать ещё аватаров?

VRM (Virtual Reality Model) не настолько прост, как обычная модель из Blender. Он имеет определённый формат пакета и разметки костей внутри себя. К тому же, ПО SysMocap имеет некоторые проблемы, поэтому фактически вы сможете запустить там только файлы формата .vrm

▍ Первый вариант

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

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 13

VRoid Studio

▍ Второй вариант

Поиск уже готовых моделей. По сути существует всего один сайт, где вы можете в 99,9% случаев найти рабочую модель бесплатно — Booth. На сайте также очень много платных продуктов. Однако у него весьма нестабильная загрузка без VPN, и он в основном японский.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 14

Скриншот сайта Booth

Вывод картинки из SysMocap на виртуальную камеру OBS

Отлично, программа у нас заработала, и в левой панели вы видите свой аватар. Возникает вопрос: «Как мне теперь показать моё творение друзьям в Discord?». Ответ прост: запуск виртуальной камеры в OBS. Более того, путём нехитрых операций можно значительно улучшить вашу картинку.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 15Для начала нужно в настройках SysMocap включить Mocap Data Forward и обязательно отключить Support for WebXR (AR/VR). Эта настройка часто вызывает проблемы. После этого на вашем компьютере создастся поток данных с 3D-моделью вашего аватара.

Для её применения в OBS нам нужно создать на сцене источник «браузер» со ссылкой 127.0.0.1:8080. После этого на экране появится ваша транслируемая модель. Через меню «взаимодействие» вы можете приблизить модель, изменить её угол наклона и прочее. А при помощи дополнительных источников, например, добавив на сцену изображение, уже можно будет поместить вашего персонажа в какой-нибудь интерьер.

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 16

И чтобы использовать это как поток веб-камеры, достаточно в самом OBS в правой панели запустить виртуальную камеру (на скриншоте не видно, у меня она в тот момент не отображалась из-за бага). Остаётся только выбрать видеокамеру OBS для вывода в Discord или там, где вы собираетесь это использовать.

«У меня ломается модель при приближении или вовсе всегда сломана в вашем дурацком OBS! Что делать!?»

На некоторых версиях программы могут возникать различные баги. Так, у меня на версии 0.7.2 с аватаром происходит какая-то анархия ещё в самой программе SysMocap, а вот на версии 0.6.8 без проблем запустился стриминг модели в OBS.

Заключение

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

SysMocap — очень простой захват движений в 3D с помощью вебкамеры. Как сделать из себя втубера? - 17

Марк Руффало(Халк) на съёмках Мстителей

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

© 2024 ООО «МТ ФИНАНС»

Автор: Realife

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js