Большое слово — Mocap
Большинство знает о mocap (захвате движений) из киноиндустрии: чёрный костюм с множеством точек на теле. Однако технологии не стоят на месте, и уже сейчас в домашних условиях для создания развлекательного контента достаточно одной веб-камеры, чтобы полностью захватить движения и преобразовать их в ваш аватар в режиме реального времени. Отличным примером такой технологии является SysMocap. Программа бесплатна, имеет открытый исходный код, работает в реальном времени и не требует предварительной настройки. В данной статье я рассмотрю SysMocap и несколько его аналогов, использующих формат технологии VRM.
Содержание
- Технология
- Насколько это хорошо работает?
- Аналоги
- Установка SysMocap
• Запуск
• Чиним баги - VRM модели. Где же достать ещё аватаров?
- Вывод картинки из SysMocap на виртуальную камеру OBS
- Заключение
Технология
Оригинальная схема с Github-репозитория
Захват и преобразование движений реализуются с помощью MediaPipe и TensorFlow Lite. MediaPipe — это набор инструментов, один из которых используется в данном ПО — MediaPipe Pose. Этот инструмент предназначен для захвата движений человека с видеопотока в реальном времени. TensorFlow Lite — облегчённая версия библиотеки машинного обучения TensorFlow, которая снижает вычислительные затраты. Благодаря своим моделям предсказания TensorFlow Lite может самостоятельно достраивать некоторые операции, что уменьшает нагрузку на MediaPipe. Это позволяет снизить необходимость в тяжеловесных вычислениях между кадрами, поскольку TensorFlow Lite способен производить расчёты и генерировать промежуточные кадры. Такой подход делает процесс менее ресурсоёмким.
Кроме графического интерфейса пользователя (GUI), у проекта есть сервер пересылки, который запускается на компьютере пользователя. С его помощью очень просто вывести получаемую модель аватара, например, на OBS или AR/VR устройства.
Насколько это хорошо работает?
Как абсолютно бесплатное ПО для встреч в видеозвонках с друзьями — это весьма хорошее решение. Хотя мелкая моторика и неплохая, руки программно закреплены так, что их нельзя развернуть на 180 градусов, что делает невозможным показать почти любой неприличный жест. Тем не менее, в остальном это полный захват движений тела: руки, ноги, глаза, положение головы и корпуса.
Демонстрационный mocap из Github-репозитория SysMocap
Также в софт можно загрузить бесконечное количество самых различных аватаров, и сразу осуществляется удобная каталогизация, но изображение необходимо создать самостоятельно.
Скриншот библиотеки из программы
Аналоги
▍ Webcam Motion Capture
Гораздо более продвинутый захват движения рук, как заявляют авторы ПО «AI-powered Webcam Motion Capture». Подписка стоит всего 2 доллара в месяц. Но у SysMocap всё же есть один плюс — поддержка Linux.
▍ Luppet X
Значительно отличается от ранее рассмотренных вариантов наличием дополнительной гарнитуры — LeapMotion controller за нескромные 15-30 тысяч рублей, но на Авито цена уже более демократичная — 5-12 тысяч рублей. С технической стороны, это более сложный подход, чем Webcam Motion Capture, но в основании принципа они оба просто берут поток данных с сенсоров и преобразуют их в скелетную анимацию. Устройство LeapMotion работает за счёт двух инфракрасных камер и трёх инфракрасных светодиодов, которые создают невидимое для глаз поле. За счёт двух камер строится 3D-проекция картинки, а поскольку они инфракрасные и имеют необходимые излучатели света, устройство работает одинаково хорошо при хорошем и даже отсутствующем освещении.
Демонстрация работы LeapMotion Controller
Гарнитура, поставляемая разработчиками, переносная: её можно повесить на шею или использовать как VR-гарнитуру, что прибавляет ей ещё больше плюсов. Это снижает вероятность выхода из области захвата движений и предотвращает «разрушение» вашего аватара. Сама программа стоит 6600 JPY, что составляет 4249 рублей по текущему курсу.
Установка SysMocap
▍ Windows
Самый простой установщик. От вас требуется только скачать и запустить актуальный релиз программы по ссылке. Нужный файл имеет подзаголовок — SysMocap-Windows-x64-installer.
▍ MacOS
Установка не сложнее обычной программы. Скачиваем последнюю версию программы по ссылке, с подзаголовком SysMocap-MacOS-x64, если вы используете Хакинтош, или SysMocap-MacOS-arm в случае с процессорами M. В обоих случаях стандартным методом .dmg образ устанавливаем в систему и пользуемся.
Также с оригинального Github-репозитория есть отдельная пометка:
Заметка для пользователя на macOS:
Вам необходимо установить Gatekeeper в режим «Anywhere» в настройках системы (используя
sudo spctl --master-disable
).Если появится сообщение «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, чтобы запустить процесс.
▍ Чиним баги
При возникновении ошибки обычно всё решается ручной настройкой камеры.
Если предыдущий шаг не помог, проблема может быть связана с отключёнными дискретными вычислениями (ГПУ) в настройках.
VRM модели. Где же достать ещё аватаров?
VRM (Virtual Reality Model) не настолько прост, как обычная модель из Blender. Он имеет определённый формат пакета и разметки костей внутри себя. К тому же, ПО SysMocap имеет некоторые проблемы, поэтому фактически вы сможете запустить там только файлы формата .vrm
▍ Первый вариант
Вы сами можете создать свою модель в VRoid Studio, что помимо удобного редактора включает в себя собственно моделирование одежды и любых дополнительных аксессуаров в Blender. Но можно обойтись и только VRoid Studio.
VRoid Studio
▍ Второй вариант
Поиск уже готовых моделей. По сути существует всего один сайт, где вы можете в 99,9% случаев найти рабочую модель бесплатно — Booth. На сайте также очень много платных продуктов. Однако у него весьма нестабильная загрузка без VPN, и он в основном японский.
Скриншот сайта Booth
Вывод картинки из SysMocap на виртуальную камеру OBS
Отлично, программа у нас заработала, и в левой панели вы видите свой аватар. Возникает вопрос: «Как мне теперь показать моё творение друзьям в Discord?». Ответ прост: запуск виртуальной камеры в OBS. Более того, путём нехитрых операций можно значительно улучшить вашу картинку.
Для начала нужно в настройках SysMocap включить Mocap Data Forward и обязательно отключить Support for WebXR (AR/VR). Эта настройка часто вызывает проблемы. После этого на вашем компьютере создастся поток данных с 3D-моделью вашего аватара.
Для её применения в OBS нам нужно создать на сцене источник «браузер» со ссылкой 127.0.0.1:8080
. После этого на экране появится ваша транслируемая модель. Через меню «взаимодействие» вы можете приблизить модель, изменить её угол наклона и прочее. А при помощи дополнительных источников, например, добавив на сцену изображение, уже можно будет поместить вашего персонажа в какой-нибудь интерьер.
И чтобы использовать это как поток веб-камеры, достаточно в самом OBS в правой панели запустить виртуальную камеру (на скриншоте не видно, у меня она в тот момент не отображалась из-за бага). Остаётся только выбрать видеокамеру OBS для вывода в Discord или там, где вы собираетесь это использовать.
«У меня ломается модель при приближении или вовсе всегда сломана в вашем дурацком OBS! Что делать!?»
На некоторых версиях программы могут возникать различные баги. Так, у меня на версии 0.7.2 с аватаром происходит какая-то анархия ещё в самой программе SysMocap, а вот на версии 0.6.8 без проблем запустился стриминг модели в OBS.
Заключение
Классический захват движений, используемый в киноиндустрии и профессиональных студиях, обычно требует специального оборудования и костюмов с маркерами. Эта технология обеспечивает высокую точность и детализацию движений, но остаётся дорогостоящей и сложной в использовании для обычных пользователей. Профессиональные системы mocap способны захватывать даже мельчайшие движения пальцев и мимику, что критически важно для создания реалистичных цифровых персонажей в фильмах и играх.
Марк Руффало(Халк) на съёмках Мстителей
Несмотря на то, что домашние решения для захвата движений пока не могут конкурировать по качеству с профессиональными системами, они постепенно совершенствуются. Развитие алгоритмов компьютерного зрения и искусственного интеллекта позволяет улучшать точность захвата движений даже при использовании обычных веб-камер. Это делает технологию mocap более доступной для широкого круга пользователей, от стримеров и создателей контента до людей, просто желающих разнообразить своё общение в сети.
© 2024 ООО «МТ ФИНАНС»
Автор: Realife