Theory

Active Contour

Active Contour which is also known as Snakes is a general technique for dynamic deformation of a contour by means of energy minimization. That's explain the name Snake and also the term 'Active'.

In general, when a Snake is placed near the object contour, it will dynamically deform with time trying to get as close as possible to the object contour.

Snakes is a general model, and rarely used as-it-is. It is used usually in many image segmentation algorithms while altering energy functions accordingly.

For instance, in our project the Bhattacharyya distance is used as an external energy function.

The general energy function:


While represents a set of points such as the pixels of the contour. Then each of the iterations is calculated simply by assuming one dimensional vector. In this way the contour will be moving slowly towards the desired object's edges.

References:

Bhattacharya Distance

Currently, the most successful region-based image segmentation methods are based on minimizing error probability.

An acceptable even recommended approach is to use the notion of distance between probability distributions as the error probability criterion because it can be defined and formulated easily.

Among many other standard probability distribution distance functions, Bhattacharyya gives the best result (according to [1]). Moreover, Bhattacharyya has a simple analytic form and could be defined easily as we can see below.

For continuous probability distributions p and q over the same domain x, the Bhattacharyya coefficient is defined as:

References:

Optical Flow

The optical flow methods try to calculate the motion between two image frames which are taken at times t and t + dt on each pixel.

The calculation is based on Local Taylor Series approximations of the image pixels.

Assuming the movement to be small, the image constraint at I(x,y,t) with Taylor series can be developed to get:

 

With the constraint:



We get:



This is known as the aperture problem of the optical flow algorithms. To find the optical flow, another set of equations is needed, given by some additional constraint.

There are many methods for solving the aperture problem for estimating the actual flow. For instance, Lucas–Kanade method is a good example of noise insensitive method. It assumes that the flow is constant in a local neighborhood of each pixel, unlike point-wise methods. Horn-Schunk is a global method which introduces a global constraint of smoothness to solve the aperture problem.

Horn-Schunk has some advantages over Lucas-Kanade method, but has also some drawbacks. The main advantage is that former produces a smoother and higher density flow vectors because it works on global features of the image. But unlike the latter, it is more sensitive to noise.

Both Lucas-Kanade and Horn-Schunk results are not always satisfying. The algorithms will probably fail when the motion is not small.

Large displacement optical flow is another method which uses energy-minimization concepts similar to Horn-Schunk, but it is optimized to allow large displacement while producing high accuracy results as good as other known methods.

References: