next up previous contents
Next: Edge detection Up: Feature detection Previous: Feature detection   Contents


Image feature coordinate frames

Feature detectors are often applied to a rectangular sub-region of an image, and may be applied to a down-sampled version of the image for greater speed. The most natural coordinate frame to represent the coordinates of features is then the local coordinate frame of the feature map. On the other hand, when using the features for higher level computations such as computing homographies or structure from motion, it is most effecient to use the coordinate frame of the original image to represent the features, so that features detected in different regions can be easily combined in the same coordinate frame. In Gandalf the convention used is that the integer pixel positions are provided in the local coordinate frame of the feature map, while floating point positions are in a user-defined ``global'' coordinate frame, specified as an affine transformation of the local coordinate frame. The situation is illustrated in Figure 5.3.
Figure 5.3: Illustration of the local and global coordinate frames for feature detection. The features are detected in the smaller rectangular region described by the local coordinate frame, while for many purposes it is more convenient to also represent the feature positions in a user-defined ``global'' coordinate frame, which is normally that of the original image.
\begin{figure}\centerline{\psfig{file=local.ps,width=100mm}}
\end{figure}

Let the position of a feature in the local coordinate frame in homogeneous coordinates be ${\bf x}_l=(x_l\;y_l\;1)^{\top}$. Then the global coordinates ${\bf x}_g = (x_g\;y_g\;1)^{\top}$ in global coordinates are related to ${\bf x}_l$ as

\begin{displaymath}{\bf x}_l = A{\bf x}_g\;\;\;\;\mbox{or}\;\;\;\;
\left(\!\!\b...
...ft(\!\!\begin{array}{c} x_g \ y_g \ 1 \end{array}\!\!\right)
\end{displaymath}

where $A$ is an 2D affine homography matrix. Normally $A$ will represent a simple offset, with perhaps a scaling of coordinates, but this representation allows for more general coordinate transformations. The matrix is passed in by the user program to the feature detection algorithms, as is explained below.


next up previous contents
Next: Edge detection Up: Feature detection Previous: Feature detection   Contents
2006-03-17