Giter Site home page Giter Site logo

wilhenalbertohm / motion-similarity Goto Github PK

View Code? Open in Web Editor NEW

This project forked from benniebendiksen/motion-similarity

0.0 1.0 0.0 276.74 MB

A Python project for learned human motion similarity based on Laban Motion Analysis

Shell 0.64% JavaScript 10.20% Python 79.05% CSS 0.70% HTML 7.26% Jupyter Notebook 2.16%

motion-similarity's Introduction

motion-similarity

A Python project for learning a perceptually-accurate motion space for motion synthesis. This project defines a perceptual motion similarity metric and currently employs both a simple convolutional neural network, as well as an adaption of the triplet similarity network, to the end of capturing user study perception-based similarity differences within an embedding space.

Final proposed network architecture is as follows:

Model Architecture

See the original motivating paper here.

All sample videos, regarding the stylized motion comparisons enacted in the aforementioned paper, found here; each sample, with the exception of the neutral-neutral sample, compares the neutral action animation (left) to the same action animation stylized by one of the 32 drives (right); read on to learn about Drives.

All motion data is stored as .bvh files; read about the .bvh format here

On LMA

Laban Movement Analysis is a technique created by Rudolf Laban to formally describe human movement. It is used in a broad range of fields such as dance, physical therapy, drama, psychology, and anthropology. LMA comprises four categories: Body, Effort, Shape, and Space. LMA terms are capitalized.

LMA practitioners and educators who studied at LIMS, an accredited institutional member of the National Association of Schools of Dance (NASD), are known as "Certified Movement Analysts" (CMAs). Other courses offer LMA studies, including Integrated Movement Studies, which qualifies "Certified Laban/Bartenieff Movement Analysts" (CLMAs). We worked with a CMA and CLMA in the PERFORM project– they are the coauthors Susan Deutsch and Michael Neff.

Body defines the structural aspects of the human body during motion, i.e., what the body is doing and the relationship of the body parts during motion.

Effort is the dynamic component, which is used to describe the characteristics of movement based on humans’ inner attitudes.

Shape determines the way these attitudes are expressed through the body, and it is manifested in postures.

Space describes how a person connects to their environment; locale, directions, and paths of a movement, and it is partly related to steering.

PERFORM keeps Body and Space fixed and focuses on Shape and Effort components. In fact, it considers Shape regarding its relationship to Effort. So, it wouldn’t be wrong to conclude that we are only focusing on Effort as the dynamic component of LMA in our work.

On Effort

Effort is described through four motion factors, where each factor is a continuum between bipolar Effort elements: indulging and condensing. The Effort elements are Space (Indirect vs. Direct), Weight (Light vs. Strong), Time (Sustained vs. Sudden), and Flow (Bound vs. Free). Although each factor is considered continuous in real life, we only focused on the extremes for the sake of simplicity.

Each effort element is characterized by certain trait-descriptive adjectives as:

Indirect: Flexible, meandering, multi-focus Direct: Single-focus, channeled, undeviating Light: Buoyant, delicate Strong: Powerful, having an impact Sustained: Lingering, leisurely, indulging in time Sudden: Hurried, urgent Free: Uncontrolled, abandoned, unlimited Bound: Careful, controlled, restrained Human beings exhibit a variety of Effort combinations.

The Efforts are on a continuum between two ends:
Indirect (-)<--> Direct (+)
Light (-) <--> Strong (+)
Sustained (-) <--> Sudden (+)
Free (-) <--> Bound (+)

Single Effort elements and combinations of all four Efforts are highly unlikely, and they appear only in extreme cases. In our daily lives, we tend to use Effort in combinations of 2 (States) or 3 (Drives). States are more ordinary and common in everyday usage, whereas Drives are reserved for extraordinary moments in life. We have more intense feelings in these distinctive moments, therefore, they convey more information about our personality.

Here is a good video demonstrating each Effort and several Effort combinations.

Conda Environment

To install dependencies, cd into the root directory of motion-similarity and create a conda environment from the provided yaml file:

$ conda env create -f motion_similarity_env.yml

The first line of the yml file sets the new environment's name. Activate your conda environment by name:

$ conda activate motion-similarity

Execute

run the project from the root directory with python main.py.

motion-similarity's People

Contributors

benniebendiksen avatar fdurupinar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.