# Motion Detection And Analysis

Document Sample

```					Motion Detection And Analysis

Michael Knowles
Tuesday 13th January 2004
Introduction

   Brief Discussion on Motion Analysis and its
applications
   Static Scene Object Tracking
   Motion Compensation for Moving-Camera
Sequences
Applications of Motion Tracking
   Control Applications
   Object Avoidance
   Automatic Guidance
   Head Tracking for Video Conferencing
   Surveillance/Monitoring Applications
   Security Cameras
   Traffic Monitoring
   People Counting
Two Approaches

   Optical Flow
   Compute motion within region or the frame as
a whole
   Object-based Tracking
   Detect objects within a scene
   Track object across a number of frames
My Work

   Started by tracking moving objects in a
static scene
   Develop a statistical model of the
background
   Mark all regions that do not conform to
the model as moving object
My Work

   Now working on object detection and
classification from a moving camera
   Current focus is motion compensated
background filtering
   Determine motion of background and
apply to the model.
Static Scene Object Detection and
Tracking
   Model the background and subtract to
   Filter to remove noise
   Group adjacent pixels to obtain objects
   Track objects between frames to develop
trajectories
Background Modelling
Background Model
After Background Filtering…
Background Filtering

   My algorithm based on:
“Learning Patterns of Activity using Real-Time Tracking” C.
Stauffer and W.E.L. Grimson. IEEE Trans. On Pattern
Analysis and Machine Intelligence. August 2000

   The history of each pixel is modelled by a
sequence of Gaussian distributions
Multi-dimensional Gaussian
Distributions
   Described mathematically as:


1
 X t   t T  1  X t   t 
  X t ,  ,  
1                       2
1
e
2 
n
2      2

   More easily visualised as:
(2-Dimensional)
Simplifying….

   Calculating the full Gaussian for every
pixel in frame is very, very slow
   Therefore I use a linear approximation
How do we use this to represent a
pixel?
   Stauffer and Grimson suggest using a
static number of Gaussians for each pixel
   This was found to be inefficient – so the
number of Gaussians used to represent
each pixel is variable
Weights
   Each Gaussian carries a weight value
   This weight is a measure of how well the
Gaussian represents the history of the pixel
   If a pixel is found to match a Gaussian then the
weight is increased and vice-versa
   If the weight drops below a threshold then that
Gaussian is eliminated
Matching

   Each incoming pixel value must be
checked against all the Gaussians at that
location
   If a match is found then the value of that
Gaussian is updated
   If there is no match then a new Gaussian
is created with a low weight
Updating

   If a Gaussian matches a pixel, then the
value of that Gaussian is updated using
the current value
   The rate of learning is greater in the early
stages when the model is being formed
Colour Spaces

   If RGB is used then the background
   The use of a colour space that separates
intensity information from chromatic
information overcomes this
   For this reason the YUV colour space is
used
Colour Spaces
   Background and Frame:

   Channel Differences:
Isolate Objects

   Groups of object pixels must be grouped
to form objects
   A connected components algorithm is
used
   The result is a list of objects and their
position and size
Track objects

   Objects are tracked from frame to frame
using:
   Location
   Direction of motion
   Size
   Colour
The Story So Far…

   Basic principle of background filtering
   Stages necessary in maintaining a
background model
   How it is applied to tracking
Moving Camera Sequences

   Basic Idea is the same as before
   Detect and track objects moving within a
scene
   BUT – this time the camera is not
stationary, so everything is moving
Motion Segmentation

   Use a motion estimation algorithm on the
whole frame
   Iteratively apply the same algorithm to
areas that do not conform to this motion
to find all motions present
   Problem – this is very, very slow
Motion Compensated Background
Filtering
   Basic Principle
   Develop and maintain background model as
previously
   Determine global motion and use this to
update the model between frames

   Only one motion model has to be found
   This is therefore much faster
   Estimating motion for small regions can be
unreliable
   Not as easy as it sounds though…..
Motion Models

   Trying to determine the exact optical flow
at every point in the frame would be
ridiculously slow
   Therefore we try to fit a parametric model
to the motion
Affine Motion Model

 u   a0   a1     a2  x 
    
v a  a               
 y 
   3  4          a5  

   The affine model describes the vector at each
point in the image
   Need to find values for the parameters that best
fit the motion present
Minimisation of Error Function
   If we are to find the optimum parameters we
need an error function to minimise:

E ( x, y)  I t ( x, y)  I t 1 ( x  u, y  v)
   But this is not in a form that is easy to
minimise…
   Applying Taylor expansion to the error function:

I  I  I     u  I
E ( x, y )  u  v   I   
 v  t
x  y  t     

   Much easier to work with

   If we know how the error changes with
respect to the parameters, we can home
in on the minimum error
   Various methods built on this principle:
E
   We need:
an

   Using the chain rule:

E E u

an u an
Robust Estimation

   What about points that do not belong to
the motion we are estimating?
   These will pull the solution away from the
true one
Robust Estimators
   Robust estimators decrease the effect of
outliers on estimation
Error w.r.t. parameters
   The complete function is:

ER ER E u

an   E u an
Aside – Influence Function
   It can be seen that the first derivative of the
robust estimator is used in the minimisation:
Pyramid Approach

   Trying to estimate the parameters form
scratch at full scale can be wasteful
   Therefore a „pyramid of resolutions‟ or
„Gaussian pyramid‟ is used
   The principle is to estimate the
parameters on a smaller scale and refine
until full scale is reached
Pyramid of Resolutions
   Each level in the pyramid is half the scale of
the one below – i.e. a quarter of the area
   Out pops the solution….
   When combined with a suitable gradient
based minimisation scheme…
Problems with this approach

   Resampling the background model:
   Model cannot be too complex
   Resampling will bring in errors
   Motion model is only an estimate of what
is really happening
   Can lead to false object detection –
particularly close to boundaries
Background Model Design

   The background model needs to be robust
to these problems
   We need some way to differentiate
between genuine object detections and
false ones from motion model and
background model errors
My Approach

   Rather than updating model values with
current, matched values replace them
   In this way resampling errors are not
allowed to accumulate
Aside – „Real Time‟

   The ability to process a sequence in real-
time is dependent on THREE key factors:
   The speed of the algorithm
   The frame rate required
   The number of pixels
Recap

   Introduction to motion analysis
   Principles of background modelling
   Example of a static scene tracker
   Discussion of motion estimation
   Shortcomings when applied to background
filtering

```
DOCUMENT INFO
Shared By:
Categories:
Stats:
 views: 52 posted: 4/7/2010 language: English pages: 44