Learning Center
Plans & pricing Sign in
Sign Out

Motion Detection And Analysis


									Motion Detection And Analysis

         Michael Knowles
     Tuesday 13th January 2004

   Brief Discussion on Motion Analysis and its
   Static Scene Object Tracking
   Motion Compensation for Moving-Camera
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
   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
   Model the background and subtract to
    obtain object mask
   Filter to remove noise
   Group adjacent pixels to obtain objects
   Track objects between frames to develop
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
   Described mathematically as:

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

   More easily visualised as:

   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
   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
   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

   Each incoming pixel value must be
    checked against all the Gaussians at that
   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

   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
    filtering is sensitive to shadows
   The use of a colour space that separates
    intensity information from chromatic
    information overcomes this
   For this reason the YUV colour space is
               Colour Spaces
   Background and Frame:

   Channel Differences:
              Isolate Objects

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

   Objects are tracked from frame to frame
       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
   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
   Basic Principle
       Develop and maintain background model as
       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
   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
     Gradient-based Formulation
   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
    Gradient-descent Minimisation

   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:
      Applying Gradient Descent
   We need:

   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

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

To top