Comparison between Large Displacement Optical Flow Algorithms

From Psych 221 Image Systems Engineering
Revision as of 07:45, 22 March 2014 by imported>Projects221 (Large Displacement)
Jump to navigation Jump to search

Background

Large Displacement


Optical flow has been considered an almost solved problem with the algorithm suggested by Lucas and Kanade(Lucas and Kanade, 1981). However, due to the intrinsic property of the algorithm based on constant brightness assumption in neighbor pixels often the conventional algorithm(Lucas and Kande, 1981 & Horn Schunck, 1981) fails when there is a large displacement due to fast movement of the object, camera motion or occlusions.

Large Displacement Optical Flow Algorithm

Since each color channel is only tallied at specific coordinates, the remaining pixels in that channel must be estimated in some way. There are many interpolation schemes - a few simple examples are the bilinear,bicubic, and smooth hue transition interpolations shown below. Other interpolation schemes, such as median filter, gradient-based, and adaptive color plane, become increasingly complex. A wide survey of interpolation methods is available, along with an analysis of the advantages and disadvantages of each.

Bilinear/Bicubic

A linear combination of the nearest N neighbors in any direction for N = 1 (bilinear) or N = 3 (bicubic). For a given matrix of known values R(x,y), the interpolated set of values r(x,y) can be computed:

r(x,y)=u,v=NNhr(u,v)R(xu,yv)

where hr is the 2-D kernel containing interpolation weights based on relative neighbors of a given pixel.

h1=14[010141010],h3=1256[0001000009090009081090108125681010908109000909000001000]


Smooth Hue Transition

Operates on the assumption that the hue of a natural image (chrominance/luminance, or red/green and blue/green) changes smoothly in local regions of that image. In order to calculate this, the green channel is first interpolated using bilinear interpolation. A missing red point r(x,y) is calculated from known red values R(x,y) and green values G(x,y).

r(x,y)=G(x,y)*12(R(x1,y)G(x1,y)+R(x+1,y)G(x+1,y))

The sum shown above is valid for when the interpolation pixel has two adjacent pixels in the same row. The equation is altered slightly for two adjacent pixels in the same column, or when there are four adjacent pixels in the corners. The missing blue pixels are calculated in the same way.

Detecting Forgeries

Regardless of the type of interpolation used in a given image, the estimated pixels should exhibit a strong correlation, or dependence, on their surrounding pixels. If one can categorize each pixel as either correlated or independent with respect to other pixels, one should see a periodic pattern that mimics the CFA used to construct the image. Even if an altered image does not have any visual cues that point to its forgery, inspecting the correlation of pixels to one another can potentially expose which parts of an image were altered. It is important to note that, even if an image has been altered, the mentioned correlations may still be kept intact. In this way, detecting forgeries through CFA interpolation is one tool out of many used to detect forgeries.