Этот проект не поддерживается. Поскольку он старый, могут возникать ошибки, но пожалуйста, воспринимайте его таким, какой он есть. Также код для ThreeDPoseTracker был перемещён в частный репозиторий, поэтому я не поддерживаю код, опубликованный на GitHub. Вопросы по коду не отвечаются.
Пример Unity для оценки 3D позы с использованием Barracuda
ThreeDPoseUnityBarracuda — это пример исходного кода, который читает ONNX с помощью Barracuda и выполняет оценку 3D позы в Unity. Точность оценки выше, чем у предыдущей модели.
Обратите внимание, что целевым объектом может быть только один человек. Это не работает для нескольких целей.
Этот пример позволяет аватару, названному "Unity-chan", двигаться так же, как человек в реальном времени, оценивая 3D позиции в видео.
Создан с использованием Unity версии 2019.3.13f1.
Мы используем Barracuda 1.0.0 для загрузки ONNX.
GeForce RTX2070 SUPER ⇒ Около 30 FPS GeForce GTX1070 ⇒ Около 20 FPS
※Без GPU, он не работает хорошо в основном
Откройте проект Unity с помощью Unity Editor и поместите файл ONNX в /Assets/Scripts/Model/
В этом действии файл ONNX автоматически преобразуется в тип NNModel Barracuda.2. Откройте "SampleScene" в папке "Scene".
Если появится диалоговое окно, выберите "Не сохранять".
Установите модель
Перетащите NNModel, который вы положили ранее в папку Assets/Scripts/Model/,
и перетащите его на "NN Model" в объекте с именем "BarracudaRunner" в представлении Inspector.
Начните отладку
Теперь вы можете увидеть реальное время захвата движения, запустив отладку.
Однако загрузка модели займет около 15 секунд, в то время как видео уже начало воспроизводиться.
※Время ожидания загрузки модели зависит от машины.
Вы можете избежать этой проблемы, остановив воспроизведение видео до тех пор, пока модель не загрузится полностью.
Пожалуйста, установите скорость воспроизведения видео на 0, чтобы подождать загрузки модели.
И установите значение на 1, чтобы перезапустить видео после загрузки модели.
5. Установка размера
Иногда аватар выходит за пределы рамки, как показано на скриншоте выше.
В этом случае следует настроить значение в "Video Background Scale" для "MainTexture".
Диапазон значений от 0.1 до 1, а значение по умолчанию равно 1.
Здесь, пожалуйста, установите это значение на 0.8.
! [unity_arrange_size. PNG](Assets/StreamingAssets/ScreenShots/unity_arrange_size. PNG)
Запуск отладки снова
Как видно, размер аватара подходит к рамке.
! [unity_wiper_size_suit. PNG](Assets/StreamingAssets/ScreenShots/unity_wiper_size_suit. PNG)
• Выбор видео
Вы можете выбрать целевое видео.
Поместите выбранное видео в Assets/Video/, а затем перетащите файл в поле Video Clip для "Video Player".
! [unity_chooseVideo. PNG](Assets/StreamingAssets/ScreenShots/unity_chooseVideo. PNG)
• Выбор аватара
В этом сценарии есть два типа аватара.
Вы можете легко изменить аватар в инспекторе.
Сначала активируйте объект с именем "Tait" и деактивируйте "unitychan".
Затем перетащите объект в поле "V Next Model" для "BarracudaRunner".
! [unity_set_anoter_avater_to_obj. PNG](Assets/StreamingAssets/ScreenShots/unity_set_anoter_avater_to_obj. PNG)
*Чтобы определить направление лица аватара, в объекты аватаров добавлен объект, который работает как нос.
Поэтому, если вы хотите использовать свой собственный аватар, пожалуйста, добавьте нос, используя код.
• Использование веб-камеры Проверив "Use Web Cam", вы можете изменять входные изображения.
! [unity_use_web_cam. PNG](Assets/StreamingAssets/ScreenShots/unity_use_web_cam. PNG)
• Пропуск при перетаскивании
Если "Skip On Drop" в "Video Player" активирован, "VideoPlayer" разрешен пропускать кадры для синхронизации с текущим временем.
! [how_to_make_good_estimate. png](Assets/StreamingAssets/ScreenShots/how_to_make_good_estimate. png)Кадр, отображаемый в верхнем левом углу (InputTexture), является входным изображением для обученной модели. Убедитесь, что всё тело помещается в этот кадр. Если части тела выступают за пределы кадра, правильная оценка невозможна. Поскольку программа предполагает, что всё тело всегда находится в кадре, ошибка увеличится, если это предположение нарушено. Также фон должен быть как можно проще, а брюки предпочтительнее юбок.
・Запись Если вы хотите записать движение, следующий пакет может подойти. https://github.com/zizai-inc/EasyMotionRecorder
・Пожалуйста, используйте свободно для хобби и исследований. При перераспространении было бы приятно, если бы вы указали ссылку на источник (Digital-Standard Co., Ltd.).
・Видео, названные "Action_with_wiper.mp4" (оригинальное видео: https://www.youtube.com/watch?v=C9VtSRiEM7s) и "onegai_darling.mp4" (оригинальное видео: https://www.youtube.com/watch?v=tmsK8985dyk), содержащиеся в этом коде, не являются свободными от авторских прав. Поэтому вы не должны использовать эти файлы в других местах без разрешения.
・Только некоммерческое использование.
Мы следуем условиям лицензии Unity-Chan.
https://unity-chan.com/contents/license_en/
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )