Arthur Murray Dance Studio ~~~~~~~~~~~~~~~~ Our Blog ~~~~~~~~~~~~~~ Our Website
Aimed at helping inexperienced dancers to learn basic dancing moves and gain interests in dancing, we worked with Arthur Murray Dance Studio to develop a video game engine. We provide a graphical frontend that prompts users to follow the example moves shown on screen, and it gives feedback by querying the set of APIs developed by our team, which extract skeletal information from images and evaluate the similarity between the example and that of the users. We performed pose estimation with the OpenPose system developed by CMU. The similarity score between two skeletons is calculated using a heuristically-determined one-variable function with the skeletons' cosine similarity as input. Both the graphical frontend and the set of APIs are designed to be modular and extendible, providing large potential for enhancement and extension of the game itself, and to other fields where it may fit.
We provide a graphical frontend that prompts users to imitate the example moves shown on the screen. The set of APIs are called under the hood of a gaming GUI, to evaluate the users' postures against the examples, giving a similarity score as output. Both the GUI and API layers serve as interfaces to users, which could be dancers or developers, depending on the context for which they like to use the system. The similarity score between two skeletons is calculated using a heuristically determined one-variable function with the skeletons' cosine similarity as input. We show the similarity of 10 sets of images. We also show the same evaluation routine embedded within the GUI.
We support a routine to preprocess images, save the skeletons locally, and set the basis to reconstruct example dance videos into cleaner, more polished, and more flexible stick-figure based forms.
The system is deployable across MacOS, Windows, and Linux. It only requires a PC equipped with webcams, as found in ordinary households; no other additional hardware is required.
Numpy, matplotlib, opencv
pip install numpy
pip install matplotlib
pip install opencv-python
The software is an early proof of concept for development purposes and should not be used as-is in a live environment without further redevelopment and/or testing. No warranty is given and no real data or personally identifiable data should be stored. Usage and its liabilities are your own.
Our software follows the AGPLv3 license
The data we used in our system are all pictures. The pictures shown when you run the python files in openpose/examples/tutorial_api_python and stored in openpose/examples/media are downloaded when we cloned openpose github repository. Other pictures in COMP0016_2020_21_Team13/testing/integrationTesting/scoring/data are screenshoted from videos in Youtube. All of these data are used only to see if the skeleton finding and skeleton matching algorithms are working correctly. Our game runs a local copy and will not store any user data or images but only process them on runtime.
The pictures shown on our website are screenshoted from the following websites:
https://www.bilibili.com/video/BV1PK4y1Y7jt?t=56&p=2
https://www.youtube.com/watch?v=kbM5aK-M82g&list=RDkbM5aK-M82g&index=1
https://www.youtube.com/watch?v=MOwaUlXZxkI
https://github.com/CMU-Perceptual-Computing-Lab/openpose
https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/00_index.md
The other pictures of graphs on our website are drawn by ourselves.
If you have any problems with the pictures please contact us.
This project incorporates material from the project(s) listed below.
- CMU-Perceptual-Computing-Lab/openpose (https://github.com/CMU-Perceptual-Computing-Lab/openpose)
COPYRIGHT: The Software is owned by Licensor and is protected by United States copyright laws and applicable international treaties and/or conventions.
licence type: SOFTWARE LICENSE AGREEMENT.
- Tkinter
- Matplotlib
- Python 3.7.1
- PIL
- Numpy
licence type: BSD 3-Clause "New" or "Revised" License.
- Opencv
System developed by Zhichen Xu, Jianping Huang, Qianhui Zhang. Clients and organisations Arthur Murray Dance Studio, Adrian Persad, Shaun Persad. Supervisors and Teaching Assistants Dr Yun Fu, An Zhao. University College London