Technical Discussions related to Image Processing (image coding, compression, digital effects, mpeg, etc)
Post a new Thread
Estimating pixel shifts - shan...@gmail.com - Nov 30 18:49:00 2005
Say I take an image, apply a (possibly fractional) pixel shift to it and further corrupt it
by white gaussian noise. Is there any way (never mind complexity, to begin with) to estimate
this shift using the corrupted image?
Thanks!

(You need to be a member of imagedsp -- send a blank email to imagedsp-subscribe@yahoogroups.com )
Re: Estimating pixel shifts - Ranj Nambiar - Dec 1 9:42:00 2005
Im still new to the 2D field, but in 1D i would have
done an autocorrelation and found the distance of the
peak which would tell me the delay-which in this case
i could see as the shift.
If it helps, I have found that many concepts in 1D
apply the same way in 2D too.
Ranjith
--- shankar84@shan... wrote:
> Say I take an image, apply a (possibly fractional)
> pixel shift to it and further corrupt it by white
> gaussian noise. Is there any way (never mind
> complexity, to begin with) to estimate this shift
> using the corrupted image?
>
> Thanks!
>
\

(You need to be a member of imagedsp -- send a blank email to imagedsp-subscribe@yahoogroups.com )
Re: Estimating pixel shifts - Shehrzad Qureshi - Dec 1 15:09:00 2005
Try this -
You'll need some way of taking your template, or original, image and generating (possibly
fractional) shifted versions of it. For each shifted version of the image, compute the SAD (sum
of absolute differences) or better yet, 2D cross-correlation "cost function value"
between the shifted and corrupted image and the shifted version of the template bitmap. Sample
your "shift space" into rectalinear grid, and for each grid point (which corresponds
to a shift in the x and a shift in the y direction) compute your cost metric.
Once you have this 2D array of cost function values, use interpolation (NOT linear
interpolation), say a bicubic interpolant, to "upsample" your discretized cost
function matrix. If you're using the SAD, L1, or L2 norm as your cost function, then the shift
is the minimum of your interpolated function. If your using the 2D cross-correlation, then the
maximum of your interpolated function corresponds to the best shift.
If you're doing this on a PC, there are very efficient ways of generating the shifted bitmaps.
You can use the Intel Integrated Performance Primitives library to do it completely in SW, or
use OpenGL and let your graphics card do the heavy lifting. I wrote an article in the September
2001 issue of C/C++ Users Journal describing the implementation of the latter. See my web page
for more details.
HTH,
-SQ
shankar84@shan... wrote:
Say I take an image, apply a (possibly fractional) pixel shift to it and further corrupt it by
white gaussian noise. Is there any way (never mind complexity, to begin with) to estimate this
shift using the corrupted image?
Thanks!
Image processing Image processing software Image processing solution Image processing system
Digital image processing Image processing tool
Shehrzad Qureshi
Author of Embedded Image Processing on the TMS320C6000 DSP
www.squreshi.com

(You need to be a member of imagedsp -- send a blank email to imagedsp-subscribe@yahoogroups.com )
Re: Estimating pixel shifts - Juan de Dios Santander Vela - Dec 2 13:26:00 2005
El 30/11/2005, a las 23:49, shankar84@shan... escribió:
> Say I take an image, apply a (possibly fractional) pixel shift to
> it and further corrupt it by white gaussian noise. Is there any way
> (never mind complexity, to begin with) to estimate this shift using
> the corrupted image?
I'm not sure whether your question is:
"If an image is shifted (possibly with a fractional step), and
contaminated by noise, can I estimate the shifting using the
corrupted image and the original image"
or it is:
"If I received an image that's been shifted (possibly with a
fractional step), and contaminated by noise, can I estimate the
shifting using _just_ the corrupted image"
If the former, you've gotten a fair amount of answers; if the latter,
it's impossible, unless you assume some model for the image you're
receiving...
--
Juan de Dios Santander Vela
Diplomado en CC. Físicas, Ingeniero en Electrónica
Doctorando en Tecnologías Multimedia
Becario Predoctoral del Instituto de Astrofísica de Andalucía
Alan Kay: La mejor forma de predecir el futuro es inventarlo.

(You need to be a member of imagedsp -- send a blank email to imagedsp-subscribe@yahoogroups.com )
Re: Estimating pixel shifts - Ranjith Parakkal - Dec 6 5:13:00 2005
Shankar,
Most of the suggested methods like maximising
autocorrelation or minimising sum of absolute
differences, should work.
In addition you may want to read some papers on image
mosaicing. The problem is very similar there, they try
to take care of rotation also(not just translation).
Regards
Ranjith
--- Ranj Nambiar <nambo99@namb...> wrote:
> Im still new to the 2D field, but in 1D i would have
> done an autocorrelation and found the distance of
> the
> peak which would tell me the delay-which in this
> case
> i could see as the shift.
> If it helps, I have found that many concepts in 1D
> apply the same way in 2D too.
>
> Ranjith
>
> --- shankar84@shan... wrote:
>
> > Say I take an image, apply a (possibly fractional)
> > pixel shift to it and further corrupt it by white
> > gaussian noise. Is there any way (never mind
> > complexity, to begin with) to estimate this shift
> > using the corrupted image?
> >
> > Thanks!
>

(You need to be a member of imagedsp -- send a blank email to imagedsp-subscribe@yahoogroups.com )