Story Telling and HMMS
Sarah Aboutalib, Fall 07


As you know for the video textures, HMMs were used to generate varying patterns of motions which still followed. I used the exact same technique to produce the endless animation, including the use of a window, rather than a single image. I first tested my code on the clock data given by the video texture website to ensure that it was working properly as it was.


Flash Fairy Tale

For the first application, I generated flash story sequences using a fairy tale setting. As you can see the motions are very course, in order to focus more on the learning of the general story rather than low level movement.

The original video

Story produced by the HMM

Longer Video: fairy_long.avi<\A>

Stick Figure Animation

In this example, the motion is a little more complex, however there was also more data since I did not have to hand generate it myself, but simply extracted the images from a youtube video.

The original video

Story produced by the HMM

Longer Video: stick_long.avi<\A>

Real Life Data

I also wanted to experiment with real data, and generating movements based on either a more higher level HMM (following along the lines of a automatic story producer) or have the person request an action, as in the tennis videos shown in class

I was able to find lots of juggling data online (see below). In particular,there is one video where a guy switches between three different types of objects to juggle. I had intended to have my algorithm randomly transition between the objects so in addition to the ongoing lower level movement, you would have variety in the overall actions as well.

Rather than automatic the transitions could have been user requested with buttons, but time did not permit either implementation unfortunately


Although somewhat reasonable animations were generated by my technique. I think more smoother animation could have been generated by playing with the parameters some more.

The main difficulty encountered in the project was the length of time it took to process each of the images and train the HMM.

Computational Photography, CMU