← all repositories
jsn5/dancenet

Neural networks that learned to dance (badly, probably)

A Keras project that generates new dance sequences by compressing video frames into a latent space, then predicting the next pose with an LSTM and Mixture Density Network.

dancenet
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does DanceNet takes a single training video of someone dancing, encodes each frame through a Variational Autoencoder into a compressed latent representation, then trains an LSTM with a Mixture Density Network to predict the next latent vector in the sequence. Decode those predicted vectors back through the autoencoder and you get new, synthetic dance frames. The README includes trained weights and a FloydHub one-click run, so you don’t need to collect your own dataset.

The interesting bit The Mixture Density Network is the unusual ingredient here — instead of predicting a single next pose, the LSTM outputs a probability distribution over possible next poses. That’s useful for dance, where the same previous move could reasonably branch into several different follow-ups. The project also includes a full training pipeline if you want to substitute your own video.

Key highlights

  • VAE compresses dance frames; LSTM+MDN predicts the latent sequence
  • Single training video: a YouTube clip linked in the README
  • Pre-trained weights available via Google Drive; FloydHub workspace for browser execution
  • Python 3.5.2, pinned to Keras 2.2.0 and OpenCV 3.4.1 (this is a 2018-era project)
  • Training from scratch requires labeling frames as 1.jpg, 2.jpg, etc.

Caveats

  • The pinned dependency versions are old; expect friction on modern Python/Keras
  • No quantitative metrics or comparison to baselines in the README
  • Only one training video is provided or documented

Verdict Worth a look if you’re studying generative sequence models or want a concrete, small-scale VAE+LSTM+MDN example. Skip it if you need production-ready motion generation or modern framework support.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.