With this repository you have access to all the Unity tools presented in the demo.
📄 Publication DOI »
🎬 Video Demo
·
📘 Thesis
·
🥇 Graphics Lab
·
🤺 OpenPose
·
🕹️ OpenPose Unity Plugin
Real-time three-dimensional (3D) pose estimation is of high interest in interactive applications, virtual reality, activity recognition, and most importantly, in the growing gaming industry. In this work, we present a method that captures and reconstructs the 3D skeletal pose and motion articulation of multiple characters using a monocular RGB camera. Our method deals with this challenging, but useful, task by taking advantage of the recent development in deep learning that allows two-dimensional (2D) pose estimation of multiple characters and the increasing availability of motion capture data. We fit 2D estimated poses, extracted from a single camera via OpenPose, with a 2D multiview joint projections database that is associated with their 3D motion representations. We then retrieve the 3D body pose of the tracked character, ensuring throughout that the reconstructed movements are natural, satisfy the model constraints, are within a feasible set, and are temporally smooth without jitters. We demonstrate the performance of our method in several examples, including human locomotion, simultaneously capturing of multiple characters, and motion reconstruction from different camera views.
This project runs on Unity Engine 2020.3.24f1 LTS, on Windows Operating System.
To run the Real-Time feature, you will need:
- to have a webcam connected to your pc.
- to follow steps 2,3 from Installation below, to complete the OpenPose setup.
Otherwise, you can explore the offline features.
- Clone the repo
git clone https://github.com/tasyiann/2Dto3DMotion
- (For Real-Time usage) Install trained models for OpenPose, by running the script:
Assets/StreamingAssets/getModels.bat
- (For Real-Time usage) Install OpenPose plugins, by running the script:
Assets/OpenPose/getPlugins.bat
Always, start with the 0-MAIN_SCENE_LOAD DATABASE
scene, to automatically load the dataset.
Then, proceed either with Offline, or Real-Time.
In the Scenes, try interacting using w
, a
, s
& d
keys.
- Run the
0-MAIN_SCENE_LOAD DATABASE
scene. - Click on
Input
and select the example scenario fromScenarios\example
. - Click on
GO OFFLINE
. - Navigate through the different views, using the UI.
- Run the
0-MAIN_SCENE_LOAD DATABASE
scene. - Click on
GO REAL-TIME
- Make sure you have completed the OpenPose setup from the Installation steps.
- A webcam is required.
Distributed under the GNU Affero General Public License v3.0 License. See LICENSE.txt
for more information.