Re: Locating An Image At Arbitrary Scales, Translations, and Rotations



On Tue, 17 Feb 2009 21:45:10 -0500, Randy Yates wrote:

How does one do this? To begin assume the following idealized goal: we
have a black background and a white rectangle with aspect ratio \alpha.
at an arbitrary scale, translation, and rotation. How do we identify the
translation (or location in the x-y plane) and rotation?

I am beginning to read the paper, "Coarse-Level Object Recognition Using
Interlevel Products of Complex Wavelets" by Anderson, Kingsbury, and
Fauqueur, but am unsure if this is even the right approach.

A question I can't seem to resolve with a quick perusal of the
literature is this: Are approaches like those described by Anderson
designed to identify *arbitrary* objects in the image that are a-priori
unknown, or are they searching for an object that is known (and
described somehow)?

Obviously I am a beginner in the field, so please make the appropriate
allowances. I do know general maths and 1-D signal processing fairly
well.

Translation is meaningful only if an object has moved from A to B.
Location and translation are not the same thing.

It's not clear from your problem description what you're trying to do.

If your object really is just a rectangle, it's easy enough to find its
center and corners, and then compare those values to a second rectangle.
(look into morphological erosion or 'thinning' or 'corner detection' to
extract that kind of info.)

If you need to find a known 'object' in a scale invariant way from an
unknown image, there are several approaches. Look into "Scale Invariant
Feature Transform (SIFT)" by Lowe, or "Shape Contexts" by Belongie
(fairly neat and simple), or if your 'rectangle' is complex and
surrounded by variants, you might use a multiscale salient feature
extraction and match like that of Kadir & Brady, "Saliency, Scale, and
Image Description". The latter works well with unknown objects since it
extracts detail and builds models of objects and clusters objects that
are similar as it goes.

Randy
.



Relevant Pages

  • How does RegisterAnimationOutput work?
    ... public void Direct3D.AnimationController.RegisterAnimationOutput(string name, Matrix matrix, Vector3 scale, Quaternion rotation, Vector3 translation); ... Quaternion rotation = Quaternion.Identity; ...
    (microsoft.public.win32.programmer.directx.managed)
  • Re: linearly parameterised template
    ... > translation, rotation and scale. ... highly accurate, anti-aliased bitmap transformation work. ...
    (sci.image.processing)
  • Re: transformation matrix decomposition
    ... I understand how I can compose transformation matrixes ... (translation, rotation, scale) ... Translation and shearing can be described by each single vectors. ...
    (comp.graphics.api.opengl)
  • Re: affine mapping (scale, rotation, translation)
    ... given 4 vertices of a rectangle, and an inside point p1, ... how to translate the shape to the reference point p2? ... There may be a scaling given by 's' and a rotation given by 'r', ... applying the scale and rotation ...
    (comp.soft-sys.matlab)
  • Re: coordinate transformation
    ... Two are trivial, translate the coordinates in x and y, and scale them. ... If I remember right, a translation matrix can be built, and I can do all three transformations using a single matrix operation. ... I can do the rotation with out the matrix calculations too. ...
    (sci.math)