Deep Learning Dance school

Jeroen Kromme
2 min readDec 21, 2020

--

After a couple of drinks I might have the upmost conviction that I’m an excellent dancer, however, the day after my friends, and the videos they took, tell a different story: I am not a good dancer. My girlfriend, however, is an outstanding dancer. A sense of rhythm, timing and fluent movements are skills to be jealous of. Time for me to train!

Photo by Jonathan Chng on Unsplash

It turned out that a sense of rhythm, timing and fluent movements are not skills you can easily learn. At least not for me, I might be, what society calls, a lost cause. So in a post-corona world, it’s back to dancing in crowed bars where everybody is too drunk to notice bad-dancing.

Is all hope lost? Luckily not, machines are learning more and more skills normally only restricted to humans. Could machines learn how to dance? That’s what I figured out here. Check out this algorithm, it learns the body and the movements of my girlfriend’s awesome dance-moves and projects them on a static image of myself.

GANs: Battle of the algorithms

It used an algorithm called ‘Liquid Warping GAN’, which is a “Unified Framework for Human Motion Imitation and Appearance Transfer”. GAN stands for Generative Adversarial Networks and are used a quite lot in generating images. Have a look at: https://thispersondoesnotexist.com/, this site has a wealth of faces from people that do not actually exist, they are merely created by an algorithm that learned how a human face should look like.

GANs consists of two algorithms that battle each other. Basically what it does, the first algorithm takes random inputs and tries to create a picture that are indistinguishable from real pictures. The job of the second algorithm is to determine whether the image is real or not.

In the beginning the first algorithm is just creating nonsense picture, where the second algorithm has no difficulty with determining that those are fake. But the first algorithm starts learning, and becomes better and better in tricking the second algorithm until the pictures are indistinguishable from real pictures.

Check out the code: https://github.com/kromme/deeplearning-danceschool

--

--