1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Jenner_s-ThreeDPoseUnityBarracuda

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 9.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.06.2025 07:48 36b726e

ThreeDPoseUnityBarracuda

Этот проект не поддерживается. Поскольку он старый, могут возникать ошибки, но пожалуйста, воспринимайте его таким, какой он есть. Также код для ThreeDPoseTracker был перемещён в частный репозиторий, поэтому я не поддерживаю код, опубликованный на GitHub. Вопросы по коду не отвечаются.

Пример Unity для оценки 3D позы с использованием Barracuda

Обзор

ThreeDPoseUnityBarracuda — это пример исходного кода, который читает ONNX с помощью Barracuda и выполняет оценку 3D позы в Unity. Точность оценки выше, чем у предыдущей модели.

Обратите внимание, что целевым объектом может быть только один человек. Это не работает для нескольких целей.

Этот пример позволяет аватару, названному "Unity-chan", двигаться так же, как человек в реальном времени, оценивая 3D позиции в видео.

preview_daring.gif

preview_capture_v2.gif

Создан с использованием Unity версии 2019.3.13f1.

Мы используем Barracuda 1.0.0 для загрузки ONNX.

Отчёт о производительности

GPU

GeForce RTX2070 SUPER ⇒ Около 30 FPS GeForce GTX1070 ⇒ Около 20 FPS

※Без GPU, он не работает хорошо в основном

Установка и руководство

Загрузка и размещение файлов

  1. Разместите папки с названием "Assets" и "Packages" в вашем проекте Unity. Теперь мы добавили настройки проекта в код. Так что просто загрузите/клонируйте их на ваш локальный ПК.2. Загрузите ONNX с нашего домашнего сайта, нажав на следующую ссылку на нашем сайте. https://digital-standard.com/threedpose/models/Resnet34_3inputs_448x448_20200609.onnx

Настройка в Unity Inspector

  1. Откройте проект Unity с помощью Unity Editor и поместите файл ONNX в /Assets/Scripts/Model/ В этом действии файл ONNX автоматически преобразуется в тип NNModel Barracuda.2. Откройте "SampleScene" в папке "Scene".
    Если появится диалоговое окно, выберите "Не сохранять".

  2. Установите модель
    Перетащите NNModel, который вы положили ранее в папку Assets/Scripts/Model/, и перетащите его на "NN Model" в объекте с именем "BarracudaRunner" в представлении Inspector. unity_inspector.PNG

  3. Начните отладку
    Теперь вы можете увидеть реальное время захвата движения, запустив отладку. unity_wiper_too_big.PNG

    Однако загрузка модели займет около 15 секунд, в то время как видео уже начало воспроизводиться.
    ※Время ожидания загрузки модели зависит от машины.
    unity_wiper_no_model.PNG

    Вы можете избежать этой проблемы, остановив воспроизведение видео до тех пор, пока модель не загрузится полностью.
    Пожалуйста, установите скорость воспроизведения видео на 0, чтобы подождать загрузки модели.
    unity_debug_video_playback_speed.PNG
    И установите значение на 1, чтобы перезапустить видео после загрузки модели.

    5. Установка размера
    Иногда аватар выходит за пределы рамки, как показано на скриншоте выше.
    В этом случае следует настроить значение в "Video Background Scale" для "MainTexture".
    Диапазон значений от 0.1 до 1, а значение по умолчанию равно 1.
    Здесь, пожалуйста, установите это значение на 0.8.
    ! [unity_arrange_size. PNG](Assets/StreamingAssets/ScreenShots/unity_arrange_size. PNG)

  4. Запуск отладки снова
    Как видно, размер аватара подходит к рамке.
    ! [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

Мы следуем условиям лицензии Unity-Chan. https://unity-chan.com/contents/license_en/ Light_Frame.png

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Jenner_s-ThreeDPoseUnityBarracuda.git
git@api.gitlife.ru:oschina-mirror/Jenner_s-ThreeDPoseUnityBarracuda.git
oschina-mirror
Jenner_s-ThreeDPoseUnityBarracuda
Jenner_s-ThreeDPoseUnityBarracuda
master