Motion analysis

From OpenCog

The analysis and understanding of motion seems to be an important part of intelligence. This page provides some basic concepts and definitions.


Suppose you have a bunch of (American) football players on a field, and you can see them running in different directions, and you want to figure out "are they going to pass? inside? outside? slot?" each of these have very different characteristic patterns.

The input dataset is a collection of 2D "tracks" -- continuous paths in 2D space with xy position and velocity (4D total per player, plus time) for N players so about a 40-dimensional space; more including the opposing team. The data is jittery, noisy (moving feet, arms, heads means there is no smooth motion)

Your mission if you choose to accept it, is to take this high-dimensional dataset of tracks, and figure out which play is being run, and assign a name to that play.

There is another similar problem: motion capture in Hollywood animation. You are given a bunch of moving dots; you know a-priori that distances between certain dots are fixed (i.e. there is a skeleton) and from those dots, determine if the figure is crouching, jumping, running, kicking, punching, doing a head stand. etc. Just tell me what its doing.

Practical value

In practical terms, motion analysis is central for understanding the physical world around you. If someone extends their hand towards you, are they offering shake your hand or trying to stab you? The person waving: are they in distress and calling for help? Waving hello? Flipping you off? The shopper who studies a shelf and then lurches away: did you just witness shoplifting in action, or did they just loose their balance? Solving the last has real commercial value; there are also many many situations which have military value. Motion analysis has to be a central part of AGI.


As a prelude, one must be able to segment data into events. The event boundary recognition page discusses approaches to that.