This repository is dedicated to the development of the project AI-Generated Choreography - from Solos to Duets. Here, you will find all the documentation and code for implementing my pipelines.
Special thanks to my supervisors, Mariel Pettee and Ilya Vidrin, for all their guidance, and to my work partner, Zixuan Wang, for developing her pipeline alongside mine.
If you don't want to dive into the code right away but rather want to have an overview of the entire project, check my blog posts on Medium.
Duet ChorAIgraphy aims to implement a pipeline using Graph Neural Networks (GNNs) to study dance duets. The project focuses on Interpretability of Movements: a pipeline that learns about the connection between the dancers' bodies in different dance sequences.
The pipeline is discussed in more detail below, along with a presentation of key results. For a more comprehensive explanation of the model, refer to the models
directory, which contains its implementations as well as complete documentation on it.
-
The root of the repository naturally provides an overview of the project and showcases sample generations from the developed model.
-
The
evaluation_test
folder contains the application for the contributor position. It includes aREADME
file with detailed information on the implementations for the selection process test, along with the results obtained. The folder also contains the notebook with the source code for the developed components. TheREADME
was later expanded as the project development continued. -
The
pose_extraction
folder contains details about the pose extraction pipeline used to create the project dataset. It includes an installation process guide, the raw data used, and information on the development and execution of the idea. -
The
models
folder contains the project's core, including installation instructions, pipelines designs, and running guidelines for the interpretability of movements model. It also has detailed results for a thorough evaluation on the quality of the final agent.
The project has produced a wide range of results. Its creative and subjective nature offers many opportunities for exploration, even in the most unexpected outputs. However, while this subjectivity allows for different perspectives, it also creates challenges in getting a more precise evaluation of the model. Below are examples of connections (both undirected and directed) computed by the model in various scenarios. For a deeper study about what the model is doing, please check the documentation under models
.
![]() |
![]() |
---|
![]() |
![]() |
---|
![]() |
![]() |
---|
For a quick and easy way to generate and explore new visualizations, check out the Colab Notebook.