Binomial regression: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
 
Line 1: Line 1:
{{FeatureDetectionCompVisNavbox}}
Make money online by selling your talents. Good music is always in demand and with today's technological advances, anyone with musical talent can make music and offer it for sale [http://www.comoganhardinheiro101.com/?p=8 ganhar dinheiro na internet] to a broad audience. By setting up your own website and using social media for promotion, you can share your music with others and sell downloads with a free PayPal account. <br><br><br>fee to watch your webinar at their convenience. Once it is in place, [http://www.comoganhardinheiro101.com/category/opcoes-binarias/ ganhar dinheiro na internet] promotion and possibly answering questions will be your only tasks. <br><br><br>It's easy to make money online.
<!-- Leave out due to new navigation box: [[File:corner.png|thumb|right|300px|Output of a typical corner detection algorithm]] comment here -->  
'''Corner detection''' is an approach used within [[computer vision]] systems to extract certain kinds of [[feature detection|features]] and infer the contents of an image. Corner detection is frequently used in [[motion detection]], [[image registration]], [[video tracking]], [[photographic mosaic|image mosaicing]], [[panorama stitching]], [[3D modelling]] and [[object recognition]]. Corner detection overlaps with the topic of '''[[interest point detection]]'''.


== Formalization ==
There is truth to the fact that you can start making money on the Internet as soon as you're done with this article. After all, so many others are making money online, why not you? Keep your mind open and you can make a lot of money. As you [http://www.comoganhardinheiro101.com/?p=14 como ganhar dinheiro pela internet] can see, there are many ways to approach the world of online income. With various [http://ganhedinheironainternet.comoganhardinheiro101.com/ streams] of income available, you are sure to find one, or two, that can help you  [http://www.comoganhardinheiro101.com/inicio/ ganhando dinheiro na internet] with your income needs. Take this information to heart, put it to use and build your own online success story.<br><br>Getting paid money to work online isn't the easiest thing to do in the world, but it is possible. If this is something you wish to work with, then the tips presented above should have helped you. Take some time, do things the right way and then you can succeed. Start your online [http://www.comoganhardinheiro101.com/tag/ganhar-dinheiro/ como ganhar dinheiro] earning today by following the great advice discussed in this article. Earning money is not as hard as it may seem, you just need to know how to get started.
A corner can be defined as the intersection of two edges. A corner can also be defined as a point for which there are two dominant and different edge directions in a local neighborhood of the point.


An interest point is a point in an image which has a well-defined position and can be robustly detected. This means that an interest point can be a corner but it can also be, for example, an isolated point of local intensity maximum or minimum, line endings, or a point on a curve where the curvature is locally maximal.
  By choosing to put your right foot forward, you are heading off to a great start earning money to make ends meet.
 
In practice, most so-called corner detection methods detect interest points in general, rather than corners in particular.{{Citation needed|date=June 2010}}  As a consequence, if only corners are to be detected it is necessary to do a local analysis of detected interest points to determine which of these are real corners.  Examples of edge detection that can be used with post-processing to detect corners are the [[Kirsch operator]] and the Frei-Chen masking set.<ref>Shapiro, Linda and George C. Stockman (2001). ''Computer Vision'', p. 257. Prentice Books, Upper Saddle River. ISBN 0-13-030796-3.</ref>
 
"Corner", "interest point" and "feature" are used interchangeably in literature, confusing the issue. Specifically, there are several [[blob detection|blob detectors]] that can be referred to as "interest point operators", but which are sometimes erroneously referred to as "corner detectors". Moreover, there exists a notion of [[ridge detection]] to capture the presence of elongated objects.
 
Corner detectors are not usually very robust and often require expert supervision or large redundancies introduced to prevent the effect of individual errors from dominating the recognition task.
 
One determination of the quality of a corner detector is its ability to detect the same corner in multiple similar images, under conditions of different lighting, translation, rotation and other transforms.
 
A simple approach to corner detection in images is using [[correlation]], but this gets very computationally expensive and suboptimal.  An alternative approach used frequently is based on a method proposed by Harris and Stephens (below), which in turn is an improvement of a method by Moravec.
 
== The Moravec corner detection algorithm ==
 
This is one of the earliest corner detection algorithms and defines a corner to be a point with low self-similarity.<ref name="moravec"/> The algorithm tests each pixel in the image to see if a corner is present, by considering how similar a patch centered on the pixel is to nearby, largely overlapping patches. The similarity is measured by taking the sum of squared differences (SSD) between the two patches. A lower number indicates more similarity.
 
If the pixel is in a region of uniform intensity, then the nearby patches will look similar. If the pixel is on an edge, then nearby  patches in a direction perpendicular to the edge will look quite different, but nearby patches in a direction parallel to the edge will result only in a small change. If the pixel is on a feature with variation in all directions, then none of the nearby patches will look similar.
 
The corner strength is defined as the smallest SSD between the patch and its neighbors (horizontal, vertical and on the two diagonals). If this number is locally maximal, then a feature of interest is present.
 
As pointed out by Moravec, one of the main problems with this operator is that it is not [[isotropic]]: if an edge is present that is not in the direction of the neighbours, then the smallest SSD will be large and the edge will be incorrectly chosen as an interest point.
 
== The Harris & Stephens / Plessey / Shi–Tomasi corner detection algorithm ==
 
Harris and Stephens<ref name="harris"/> improved upon Moravec's corner detector by considering the differential of the corner score with respect to direction directly, instead of using shifted patches. (This corner score is often referred to as [[autocorrelation]], since the term is used in the paper in which this detector is described. However, the mathematics in the paper clearly indicate that the sum of squared differences is used.)
 
Without loss of generality, we will assume a grayscale 2-dimensional image is used. Let this image be given by <math>I</math>. Consider taking an image patch over the area <math>(u, v)</math> and shifting it by <math>(x, y)</math>. The weighted ''sum of squared differences'' (SSD) between these two patches, denoted <math>S</math>, is given by:
 
:<math>
S(x,y) = \sum_u \sum_v w(u,v) \, \left( I(u+x,v+y) - I(u,v)\right)^2
</math>
 
<math>I(u+x,v+y)</math> can be approximated by a [[Taylor series|Taylor expansion]].  Let <math> I_x</math> and <math> I_y</math> be the [[partial derivatives]] of <math> I</math>, such that
:<math>
I(u+x,v+y) \approx I(u,v) + I_x(u,v)x+I_y(u,v)y
</math>
 
This produces the approximation
:<math>
S(x,y) \approx \sum_u \sum_v w(u,v) \, \left( I_x(u,v)x + I_y(u,v)y \right)^2,
</math>
 
which can be written in matrix form:
:<math>
S(x,y) \approx \begin{pmatrix} x & y \end{pmatrix} A \begin{pmatrix} x \\ y \end{pmatrix},
</math>
 
where ''A'' is the [[structure tensor]],
 
:<math>
A = \sum_u \sum_v w(u,v)
\begin{bmatrix}
I_x^2 & I_x I_y \\
I_x I_y & I_y^2
\end{bmatrix}
=
\begin{bmatrix}
\langle I_x^2 \rangle & \langle I_x I_y \rangle\\
\langle I_x I_y \rangle & \langle I_y^2 \rangle
\end{bmatrix}
</math>
 
This matrix is a Harris matrix, and angle brackets denote averaging (i.e. summation over <math>(u,v)</math>). If a circular window (or circularly weighted window, such as a [[Gaussian function|Gaussian]]) is used, then the response will be isotropic.
 
A corner (or in general an interest point) is characterized by a large variation of <math> S </math> in all directions of the vector <math> \begin{pmatrix} x & y \end{pmatrix} </math>. By analyzing the eigenvalues of <math> A </math>, this characterization can be expressed in the following way: <math> A </math> should have two "large" eigenvalues for an interest point.
Based on the magnitudes of the eigenvalues, the following inferences can be made based on this argument:
#If <math>\lambda_1 \approx 0</math> and <math>\lambda_2 \approx 0</math> then this pixel <math>(x,y)</math> has no features of interest.
#If <math>\lambda_1 \approx 0</math> and <math>\lambda_2</math> has some large positive value, then an edge is found.
#If <math> \lambda_1</math> and <math> \lambda_2</math> have large positive values, then a corner is found.
 
Harris and Stephens note that exact computation of the eigenvalues is computationally expensive, since it requires the computation of a [[square root]], and instead suggest the
following function <math>M_c</math>, where <math>\kappa</math> is a tunable sensitivity parameter:
 
:<math>
M_c = \lambda_1 \lambda_2 - \kappa \, (\lambda_1 + \lambda_2)^2
= \operatorname{det}(A) - \kappa \, \operatorname{trace}^2(A)
</math>
 
Therefore, the algorithm does not have to actually compute the [[eigenvalue decomposition]] of the matrix <math>A</math> and
instead it is sufficient to evaluate the [[determinant]] and [[Trace (linear algebra)|trace]] of <math>A</math> to find
corners, or rather interest points in general.
 
The Shi–Tomasi<ref name="shitomasi"/> corner detector directly computes <math>min(\lambda_1, \lambda_2)</math> because under certain assumptions, the corners are more stable for tracking. Note that this method is also sometimes referred to as the Kanade-Tomasi corner detector.
 
The value of <math>\kappa</math> has to be determined empirically, and in the literature values in the range 0.04–0.15 have been reported as feasible.
 
One can avoid setting the parameter <math>\kappa</math> by using Noble's<ref name="noble"/> corner measure <math>M_c'</math> which amounts to
the [[harmonic mean]] of the eigenvalues:
:<math>
M_c' = 2 \frac{\operatorname{det}(A)}{\operatorname{trace}(A) + \epsilon},
</math>
<math>\epsilon</math> being a small positive constant.
 
The [[covariance matrix]] for the corner position is <math> A^{-1} </math>, i.e.
 
:<math>
\frac{1}{\langle I_x^2 \rangle \langle I_y^2 \rangle - \langle I_x I_y \rangle^2}
\begin{bmatrix}
\langle I_y^2 \rangle & -\langle I_x I_y \rangle\\
-\langle I_x I_y \rangle & \langle I_x^2 \rangle
\end{bmatrix}.
</math>
 
== The Förstner corner detector ==
[[File:Corner detection using Foerstner Algorithm.png|thumb|Corner detection using the Förstner Algorithm]]
In some cases, one may wish to compute the location of a corner with subpixel accuracy. To achieve an approximate solution, the Förstner<ref>{{cite journal|last=Förstner|first=W|coauthors=Gülch|title=A Fast Operator for Detection and Precise Location of Distinct Points, Corners and Centres of Circular Features|journal=ISPRS|year=1987|month=1987|url=http://www.ipb.uni-bonn.de/fileadmin/publication/papers/1987/foerstner87.fast.pdf}}</ref>  algorithm solves for the point closest to all the tangent lines of the corner in a given window and is a least-square solution. The algorithm relies on the fact that for an ideal corner, tangent lines cross at a single point.
 
The equation of a tangent line <math>T_{\mathbf{x'}}(\mathbf{x})</math> at pixel <math>\mathbf{x'}</math> is given by:
 
:<math>
T_\mathbf{x'}(\mathbf x)=\nabla I(\mathbf{x'})^{\top}(\mathbf{x}-\mathbf{x'})=0
</math>
 
where <math>\nabla I(\mathbf{x'})=[I_{\mathbf{x}},I_{\mathbf{y}}]^{\top}</math> is the gradient vector of the image <math>I</math> at <math>\mathbf{x'}</math>.
 
The point <math>\mathbf{x}_{0}</math> closest to all the tangent lines in the window <math>N</math> is:
 
:<math>\mathbf{x}_{0}=\underset{\mathbf{x}\in \mathbb{R}^{2\times 2}}{\operatorname{argmin}}\int_{\mathbf{x'}\in N}T_{\mathbf{x'}}(\mathbf{x})^{2}d\mathbf{x'}</math>
 
The distance from <math>\mathbf{x}_{0}</math> to the tangent lines <math>T_{\mathbf{x'}}</math> is weighted by the gradient magnitude, thus giving more importance to tangents passing through pixels with strong gradients.
 
Solving for <math>\mathbf{x}_{0}</math>:
 
:<math>
\begin{align}
\mathbf{x}_{0}&=\underset{\mathbf{x}\in \mathbb{R}^{2\times 2}}{\operatorname{argmin}} \int_{\mathbf{x'}\in N}(\nabla I(\mathbf{x'})^{\top}(\mathbf{x}-\mathbf{x'}))^{2}d\mathbf{x'}\\
&=\underset{\mathbf{x}\in \mathbb{R}^{2\times 2}}{\operatorname{argmin}}\int_{\mathbf{x'}\in N}(\mathbf{x}-\mathbf{x'})^{\top}\nabla I(\mathbf{x'})\nabla I(\mathbf{x'})^{\top}(\mathbf{x}-\mathbf{x'})d\mathbf{x'}\\
&=\underset{\mathbf{x}\in \mathbb{R}^{2\times 2}}{\operatorname{argmin}}\, (\mathbf{x}^{\top}A\mathbf{x}-2\mathbf{x}^{\top}\mathbf{b}+c)
\end{align}
</math>
 
<math>A\in\mathbb{R}^{2\times 2},\textbf{b}\in\mathbb{R}^{2\times 1},c\in\mathbb{R}</math> are defined as:
 
:<math>
\begin{align}
A&=\int \nabla I(\mathbf{x'})\nabla I(\mathbf{x'})^{\top}d\mathbf{x'}\\
\mathbf{b}&=\int \nabla I(\mathbf{x'})\nabla I(\mathbf{x'})^{\top}\mathbf{x'}d\mathbf{x'}\\
c&=\int \mathbf{x'}^{\top}\nabla I(\mathbf{x'})\nabla I(\mathbf{x'})^{\top}\mathbf{x'}d\mathbf{x'}\\
\end{align}
</math>
 
Minimizing this equation can be done by differentiating with respect to <math>x</math> and setting it equal to 0:
 
:<math>
2A\mathbf{x}-2\mathbf{b}=0 \Rightarrow A\mathbf{x}=\mathbf{b}
</math>
 
Note that <math>A\in\mathbb{R}^{2\times 2}</math> is the [[structure tensor]]. For the equation to have a solution, <math>A</math> must be invertible, which implies that <math>A</math> must be full rank (rank 2). Thus, the solution
 
:<math>x_{0}=A^{-1}\mathbf{b}</math>
 
only exists where an actual corner exists in the window <math>N</math>.
 
A methodology for performing ''automatic scale selection'' for this corner localization method has been presented by Lindeberg<ref name="lindeberg94icip"/><ref name="lindeberg98"/> by minimizing the normalized residual
 
:<math>\tilde{d}_{min} = \frac{c - b^T A^{-1} b}{\mbox{trace} A}</math>
 
over scales. Thereby, the method has the ability to automatically adapt the scale levels for computing the image gradients to the noise level in the image data, by choosing coarser scale levels for noisy image data and finer scale levels for near ideal corner-like structures.
 
Notes:
 
*<math>c</math> can be viewed as a residual in the least-square solution computation: if <math>c=0</math>, then there was no error.
 
*this algorithm can be modified to compute centers of circular features by changing tangent lines to normal lines.
 
== The multi-scale Harris operator ==
 
The computation of the second moment matrix (sometimes also referred to as the [[structure tensor]]) <math>A</math> in the Harris operator, requires the computation of image derivatives <math>I_x, I_y</math> in the image domain as well as the summation of non-linear combinations of these derivatives over local neighbourhoods. Since the computation of derivatives usually involves a stage of scale-space smoothing, an operational definition of the Harris operator requires two scale parameters: (i) a ''local scale'' for smoothing prior to the computation of image derivatives, and (ii) an ''integration scale'' for accumulating the non-linear operations on derivative operators into an integrated image descriptor.
 
With <math>I</math> denoting the original image intensity, let <math>L</math> denote the [[scale space representation]] of <math>I</math> obtained by convolution with a Gaussian kernel
:<math>g(x, y, t) = \frac {1}{2{\pi} t}e^{-(x^2+y^2)/2t}</math>
with local scale parameter <math>t</math>:
:<math>L(x, y, t)\ = g(x, y, t) * I(x, y)</math>
and let <math>L_x = \partial_x L</math> and <math>L_y = \partial_y L</math> denote the partial derivatives of <math>L</math>.
Moreover, introduce a Gaussian window function <math>g(x, y, s)</math> with integration scale parameter <math>s</math>. Then, the [[Structure tensor#The multi-scale structure tensor|''multi-scale second-moment matrix'']] <ref name="lindeberg94book"/><ref name="lindeberg08enc"/> can be defined as
:<math>
\mu(x, y; t, s) =
\int_{\xi = -\infty}^{\infty} \int_{\eta = -\infty}^{\infty}
\begin{bmatrix}
L_x^2(x-\xi, y-\eta; t)                              & L_x(x-\xi, y-\eta; t) \, L_y(x-\xi, y-\eta; t) \\
L_x(x-\xi, y-\eta; t) \, L_y(x-\xi, y-\eta; t) & L_y^2(x-\xi, y-\eta; t)
\end{bmatrix}
g(\xi, \eta; s) \, d\xi \, d\eta.
</math>
Then, we can compute eigenvalues of <math>\mu</math> in a similar way as the eigenvalues of <math>A</math> and define the ''multi-scale Harris corner measure'' as
:<math>M_c(x, y; t, s) = \operatorname{det}(\mu(x, y; t, s)) - \kappa \, \operatorname{trace}^2(\mu(x, y; t, s))</math>.
Concerning the choice of the local scale parameter <math>t</math> and the integration scale parameter <math>s</math>, these scale parameters are usually coupled by a relative integration scale parameter <math>\gamma</math> such that <math>s = \gamma^2 t</math>, where <math>\gamma</math> is usually chosen in the interval <math>[1, 2]</math>. Thus, we can compute the multi-scale Harris corner measure <math>M_c(x, y; t, \gamma^2 t)</math> at any scale <math>t</math> in scale-space to obtain a multi-scale corner detector, which responds to corner structures of varying sizes in the image domain.
 
In practice, this multi-scale corner detector is often complemented by a ''scale selection step'', where the scale-normalized Laplacian operator<ref name="lindeberg98"/><ref name="lindeberg94book"/>
:<math>\nabla^2_{norm} L(x, y; t)\ = t \nabla^2 L(x, y, t) = t (L_{xx}(x, y, t) + L_{yy}(x, y, t))</math>
is computed at every scale in scale-space and ''scale adapted corner points with automatic scale selection'' (the "Harris-Laplace operator") are computed from the points that are simultaneously:<ref name="schmid"/>
 
* spatial maxima of the multi-scale corner measure <math>M_c(x, y; t, \gamma^2 t)</math>
:<math>(\hat{x}, \hat{y}; t) = \operatorname{argmaxlocal}_{(x, y)} M_c(x, y; t, \gamma^2 t)</math>
* local maxima or minima over scales of the scale-normalized Laplacian operator<ref name="lindeberg98"/> <math>\nabla^2_{norm}(x, y, t)</math>:
:<math>\hat{t} = \operatorname{argmaxminlocal}_{t} \nabla^2_{norm}L(\hat{x}, \hat{y}; t)</math>
 
== The level curve curvature approach ==
 
An earlier approach to corner detection is to detect points where the [[curvature]] of level curves and the gradient magnitude are ''simultaneously'' high.<ref name="kitchen82"/><ref name="richards88"/>
A differential way to detect such points is by computing ''the rescaled level curve curvature'' (the product of the level curve curvature and the gradient magnitude raised to the power of three)
:<math>\tilde{\kappa}(x, y;t) = L_x^2 L_{yy} + L_y^2 L_{xx} - 2 L_x L_y L_{xy}</math>
and to detect positive maxima and negative minima of this differential expression at some scale <math>t</math> in the [[scale space representation]] <math>L</math> of the original image.<ref name="lindeberg94icip"/><ref name="lindeberg98"/>
A main problem when computing the rescaled level curve curvature entity at a single scale however, is that it may be sensitive to noise and to the choice of the scale level. A better method is to compute the ''<math>\gamma</math>-normalized rescaled level curve curvature''
:<math>\tilde{\kappa_{norm}}(x, y;t) = t^{2 \gamma} (L_x^2 L_{yy} + L_y^2 L_{xx} - 2 L_x L_y L_{xy})</math>
with <math>\gamma = 7/8</math> and to detect ''signed scale-space extrema'' of this expression, that are points and scales that are positive maxima and negative minima with respect to both space and scale
:<math>(\hat{x}, \hat{y}; \hat{t}) = \operatorname{argminmaxlocal}_{(x, y; t)} \tilde{\kappa}_{norm}(x, y; t)</math>
in combination with a complementary localization step to handle the increase in localization error at coarser scales.<ref name="lindeberg94icip"/><ref name="lindeberg98"/><ref name="lindeberg94book"/> In this way, larger scale values will be associated with rounded corners of large spatial extent while smaller scale values will be associated with sharp corners with small spatial extent. This approach is the first corner detector with automatic scale selection (prior to the "Harris-Laplace operator" above) and has been used for tracking corners under large scale variations in the image domain<ref name="brelin98feattrack"/> and for matching corner responses to edges to compute structural image features for geon-based object recognition.<ref name="lindebergli97"/>
 
== LoG, DoG, and DoH feature detection ==
 
LoG<ref name="lindeberg98"/><ref name="schmid"/> is an acronym standing for ''Laplacian of Gaussian'', DoG<ref name="sift"/> is an acronym standing for ''difference of Gaussians'' (DoG is an approximation of LoG), and DoH is an acronym standing for ''determinant of the Hessian.''<ref name="lindeberg98"/>
 
These detectors are more completely described in [[blob detection]], however the LoG and DoG blobs do not necessarily make highly selective features, since these operators may also respond to edges. To improve the corner detection ability of the DoG detector, the feature detector used in the [[Scale-invariant feature transform|SIFT]]<ref name="sift"/> system uses an additional post-processing stage, where the [[eigenvalue]]s of the [[Hessian matrix|Hessian]] of the image at the detection scale are examined in a similar way as in the Harris operator. If the ratio of the eigenvalues is too high, then the local image is regarded as too edge-like, so the feature is rejected. The DoH operator on the other hand only responds when there are significant grey-level variations in two directions.<ref name="lindeberg98"/><ref name="lindeberg08enc"/>
 
== Affine-adapted interest point operators ==
 
The interest points obtained from the multi-scale Harris operator with automatic scale selection are invariant to translations, rotations and uniform rescalings in the spatial domain. The images that constitute the input to a computer vision system are, however, also subject to perspective distortions. To obtain an interest point operator that is more robust to perspective transformations, a natural approach is to devise a feature detector that is ''invariant to affine transformations''. In practice, affine invariant interest points can be obtained by applying [[affine shape adaptation]] where the shape of the smoothing kernel is iteratively warped to match the local image structure around the interest point or equivalently a local image patch is iteratively warped while the shape of the smoothing kernel remains rotationally symmetric.<ref name="lindeberg94book"/><ref name="lindeberg08enc"/><ref name="schmid"/> Hence, besides the commonly used multi-scale Harris operator, affine shape adaptation can be applied to other corner detectors as listed in this article as well as to [[blob detection|differential blob detectors]] such as the Laplacian/difference of Gaussian operator, the determinant of the Hessian<ref name="lindeberg08enc"/> and the Hessian–Laplace operator.
 
== The Wang and Brady corner detection algorithm ==
 
The Wang and Brady<ref name="wangbrady"/> detector considers the image to be a surface, and looks for places where there is large [[curvature]] along an image edge. In other words, the algorithm looks for places where the edge changes direction rapidly. The corner score, <math>C</math>, is given by:
 
:<math>
C = \nabla^2I - c|\nabla I|^2,
</math>
 
where <math>c</math> determines how edge-phobic the detector is. The authors also note that smoothing (Gaussian is suggested) is required to reduce noise. In this case, the first term of <math>C</math> becomes the Laplacian (single-scale) [[blob detection|blob detector]].
 
Smoothing also causes displacement of corners, so the authors derive an expression for the displacement of a 90 degree corner, and apply this as a correction factor to the detected corners.
 
== The SUSAN corner detector ==
 
SUSAN<ref name="susan"/> is an acronym standing for ''smallest univalue segment assimilating nucleus.''  This method is the subject of a 1994 UK patent which is no longer in force.<ref>
{{ cite patent
| country = GB
| number = 2272285
| status = patent
| title = Determining the position of edges and corners in images
| pubdate = 1994-05-11
| gdate = 1994-05-11
| fdate = 1993-06-07
| inventor = list of inventors (free format)
| invent1 = Smith, Stephen Mark
| assign1 = Secr Defence
| class = G06T5/00
}}</ref>
 
For feature detection, SUSAN places a circular mask over the pixel to be tested (the nucleus). The region of the mask is <math>M</math>, and a pixel in this mask is represented by <math>\vec{m} \in M</math>. The nucleus is at <math>\vec{m}_0</math>. Every pixel is compared to the nucleus using the comparison function:
 
:<math>
c(\vec{m}) = e^{-\left(\frac{I(\vec{m}) - I(\vec{m}_0)}{t}\right)^6}
</math>
 
where <math>t</math> determines the radius, and the power of the exponent has been determined empirically. This function has the appearance of a smoothed [[Rectangular function|top-hat or rectangular function]]. The area of the SUSAN is given by:
 
:<math>
n(M) = \sum_{\vec{m}\in M} c(\vec{m})
</math>
 
If <math>c</math> is the rectangular function, then <math>n</math> is the number of pixels in the mask which are within <math>t</math> of the nucleus. The response of the SUSAN operator is given by:
 
:<math>
R(M) =    \begin{cases}
              g - n(M) & \mbox{if}\ n(M) < g\\
              0        & \mbox{otherwise,}
          \end{cases}
</math>
 
where <math>g</math> is named the `geometric threshold'. In other words the SUSAN operator only has a positive score if the area is small enough. The smallest SUSAN locally can be found using non-maximal suppression, and this is the complete SUSAN operator.
 
The value <math>t</math> determines how similar points have to be to the nucleus before they are considered to be part of the univalue segment. The value of <math>g</math> determines the minimum size of the univalue segment. If <math>g</math> is large enough, then this becomes an [[Edge detection|edge detector]].
 
For corner detection, two further steps are used. Firstly, the [[centroid]] of the SUSAN is found. A proper corner will have the centroid far from the nucleus. The second step insists that all points on the line from the nucleus through the centroid out to the edge of the mask are in the SUSAN.
 
==The Trajkovic and Hedley corner detector==
 
In a manner similar to SUSAN, this detector<ref name="hedley"/> directly tests whether a patch under a pixel is self-similar by examining nearby pixels. <math>\vec{c}</math> is the pixel to be considered, and <math>\vec{p} \in P</math> is point on a circle <math>P</math> centered around <math>\vec{c}</math>. The point <math>\vec{p'}</math> is the point opposite to <math>\vec{p}</math> along the diameter.
 
The response function is defined as:
 
:<math>
  r(\vec{c}) = \min_{\vec{p} \in P}\quad (I(\vec{p}) - I(\vec{c}))^2 + (I(\vec{p'}) - I(\vec{c})) ^2
</math>
 
This will be large when there is no direction in which the centre pixel is similar to two nearby pixels along a diameter. <math>P</math> is a discretised circle (a [[Midpoint circle algorithm|Bresenham circle]]), so [[interpolation]] is used for intermediate diameters to give a more isotropic response. Since any computation gives an upper bound on the <math>\min</math>, the horizontal and vertical directions are checked first to see if it is worth proceeding with the complete computation of <math>c</math>.
 
== AST-based feature detectors ==
 
AST is an acronym standing for ''accelerated segment test.'' This test is a relaxed version of the SUSAN corner criterion. Instead of evaluating the circular disc only the pixels in a [[Midpoint circle algorithm|Bresenham circle]] of radius <math>r</math> around the candidate point are considered. If <math>n</math> contiguous pixels are all brighter than the nucleus by at least <math>t</math> or all darker than the nucleus by <math>t</math>, then the pixel under the nucleus is considered to be a feature. This test is reported to produce very stable features.<ref name="fast"/> The choice of the order in which the pixels are tested is a so-called [[Twenty Questions|Twenty Questions problem]]. Building short decision trees for this problem results in the most computationally efficient feature detectors available.
 
The first corner detection algorithm based on the AST is FAST ([[features from accelerated segment test]]).<ref name="fast"/> Although <math>r</math> can in principle take any value, FAST uses only a value of 3 (corresponding to a circle of 16 pixels circumference), and tests show that the best results are achieved with <math>n</math> being 9. This value of <math>n</math> is the lowest one at which edges are not detected.  The order in which pixels are tested is determined by the [[ID3 algorithm]] from a training set of images. Confusingly, the name of the detector is somewhat similar to the name of the paper describing Trajkovic and Hedley's detector.
 
== Automatic synthesis of detectors ==
 
Trujillo and Olague<ref name="geneticprogramming"/> introduced a method by which [[genetic programming]] is used to automatically synthesize image operators that can detect interest points. The terminal and function sets contain primitive operations that are common in many previously proposed man-made designs. [[Fitness function|Fitness]] measures the stability of each operator through the repeatability rate, and promotes a uniform dispersion of detected points across the image plane. The performance of the evolved operators has been confirmed experimentally using training and testing sequences of progressively transformed images. Hence, the proposed GP algorithm is considered to be human-competitive for the problem of interest point detection.
 
== Bibliography ==
 
{{Reflist|refs=
<ref name="harris">{{cite conference
| author=C. Harris and M. Stephens
| title=A combined corner and edge detector
| booktitle=Proceedings of the 4th Alvey Vision Conference
| pages=147–151
| year=1988
| url=http://www.bmva.org/bmvc/1988/avc-88-023.pdf
}}</ref>
 
<ref name="moravec">{{cite journal
| author=H. Moravec
| title=Obstacle Avoidance and Navigation in the Real World by a Seeing Robot Rover
| year=1980
| journal=Tech Report CMU-RI-TR-3 Carnegie-Mellon University, Robotics Institute
| url=http://www.ri.cmu.edu/pubs/pub_22.html
}}</ref>
 
<ref name="shitomasi">{{cite conference
| author=J. Shi and C. Tomasi
| title=Good Features to Track,
| publisher=Springer
| month=June
| booktitle=9th IEEE Conference on Computer Vision and Pattern Recognition
| year=1994
| url=http://citeseer.ist.psu.edu/shi94good.html
}}
<br>
{{cite journal
| author=C. Tomasi and T. Kanade
| title=Detection and Tracking of Point Features
| year=2004
| journal=Pattern Recognition
| url=http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V14-49D6WH0-1&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_version=1&_urlVersion=0&_userid=10&md5=cecb6ab80d45107f1cedb17aa4b211fb
| doi=10.1016/S0031-3203(03)00234-6
| volume=37
| pages=165–168
}}
</ref>
 
<ref name="fast">{{cite conference
| author=E. Rosten and T. Drummond
| title=Machine learning for high-speed corner detection,
| booktitle=European Conference on Computer Vision
| month=May
| year=2006
| url=http://citeseer.ist.psu.edu/741064.html
}}</ref>
 
<ref name="susan">{{cite journal
| author=S. M. Smith and J. M. Brady
| title=SUSAN – a new approach to low level image processing
| url=http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.2763
| journal=International Journal of Computer Vision
| volume=23
| pages=45–78
| month=May
| year=1997
| doi=10.1023/A:1007963824710
| issue=1
}}
<br>
''S. M. Smith and J. M. Brady (January 1997), "Method for digitally processing images to determine the position of edges and/or corners therein for guidance of unmanned vehicle". UK Patent 2272285, Proprietor: Secretary of State for Defence, UK.''
</ref>
 
<ref name="wangbrady">{{cite journal
| author=H. Wang and M. Brady
| title= Real-time corner detection algorithm for motion estimation
| journal= Image and Vision Computing
| volume=13
| pages=695–703
| year=1995
| url=http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V09-3Y450Y2-8&_coverDate=11%2F30%2F1995&_alid=442214633&_rdoc=1&_fmt=&_orig=search&_qd=1&_cdi=5641&_sort=d&view=c&_acct=C000057551&_version=1&_urlVersion=0&_userid=2493154&md5=b0979efc3df88572ec71d07e2e9f14da
| doi=10.1016/0262-8856(95)98864-P
| issue=9
}}</ref>
 
<ref name="hedley">{{cite journal
| author=M. Trajkovic and M. Hedley
| title=Fast corner detection
| journal=Image and Vision Computing
| volume = 16
| pages = 75–87
| year = 1998
| doi=10.1016/S0262-8856(97)00056-5
| issue = 2
}}</ref>
 
<ref name="schmid">
{{cite journal
| author= K. Mikolajczyk, K. and C. Schmid
| title=Scale and affine invariant interest point detectors
| year=2004
| journal=International Journal of Computer Vision
| volume=60
| issue=1
| pages=pp 63–86
| url=http://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/mikolajczyk_ijcv2004.pdf
|format=PDF| note=Integration of the multi-scale Harris operator with the methodology for automatic scale selection as well as with affine shape adaptation
| doi= 10.1023/B:VISI.0000027790.02288.f2
}}
</ref>
 
<ref name="sift">
{{cite journal
| author=D. Lowe
| title=Distinctive Image Features from Scale-Invariant Keypoints
| journal=International    Journal of Computer Vision
| year=2004
| url=http://citeseer.ist.psu.edu/654168.html
| doi=10.1023/B:VISI.0000029664.99615.94
| volume=60
| pages=91
| issue=2
}}</ref>
 
<ref name="geneticprogramming">
{{cite journal
| author=Leonardo Trujillo and Gustavo Olague
| title=Automated design of image operators that detect interest points
| journal=Evolutionary Computation
| volume = 16
| pages = 483–507
| year = 2008
| url=http://cienciascomp.cicese.mx/evovision/olague_EC_MIT.pdf
| doi=10.1162/evco.2008.16.4.483
| pmid=19053496
| issue=4
}}</ref>
 
<ref name="lindeberg08enc">
{{cite journal
| author=T. Lindeberg
| title=Wiley Encyclopedia of Computer Science and Engineering
| journal=Encyclopedia of Computer Science and Engineering (Benjamin Wah, ed), John Wiley and Sons
| volume = IV
| pages = 2495–2504
| year = 2008/2009
| doi=10.1002/9780470050118.ecse609
| url = http://www.nada.kth.se/~tony/abstracts/Lin08-EncCompSci.html
| chapter=Scale-Space
| isbn=0-470-05011-X
}}</ref>
 
<ref name="lindeberg98">
{{cite news
| url = http://www.csc.kth.se/cvap/abstracts/cvap198.html
| author = Tony  Lindeberg
| title = Feature detection with automatic scale selection
| journal = International Journal of Computer Vision
| volume = 30
| number = 2
| pages = 77–116
| year = 1998
}}
</ref>
 
<ref name="brelin98feattrack">{{cite news
| url = http://www.csc.kth.se/cvap/abstracts/cvap201.html
| author = L. Bretzner and T. Lindeberg
| title = Feature tracking with automatic selection of spatial scales
| journal = Computer Vision and Image Understanding
| volume = 71,
| pages = 385–392
| year = 1998}}
</ref>
 
<ref name="lindebergli97">{{cite news
| url = http://www.csc.kth.se/cvap/abstracts/cvap186.html
| author = T. Lindeberg and M.-X. Li
| title = Segmentation and classification of edges using minimum description length approximation and complementary junction cues
| journal = Computer Vision and Image Understanding
| volume = 67
| number = 1
| pages = 88–98
| year = 1997}}
</ref>
 
<ref name="kitchen82">{{cite news
| author = L. Kitchen and A. Rosenfeld
| title = Gray-level corner detection
| journal = Pattern Recognition Letters
| volume = 1
| number = 2
| pages= 95–102
| year = 1982
}}</ref>
 
<ref name="richards88">{{cite news
| author = J. J. Koenderink and W. Richards
| title = Two-dimensional curvature operators
| journal = Journal of the Optical Society of America: Series A
| volume = 5
| number = number 7
| pages = 1136–1141
| year = 1988}}</ref>
 
<ref name="lindeberg94book">{{cite book |
author=T. Lindeberg |
title= Scale-Space Theory in Computer Vision |
url = http://www.nada.kth.se/~tony/book.html |
publisher= Springer |
year=1994 |
isbn=0-7923-9418-6}}</ref>
 
<ref name="lindeberg94icip">{{cite conference
| author= T. Lindeberg
| title= Junction detection with automatic selection of detection scales and localization scales
| booktitle=Proc. 1st International Conference on Image Processing
| address = Austin, Texas
| volume=I
| pages=924–928
| year=1994
| url=http://www.csc.kth.se/~tony/abstracts/Lin94-ICIP.html
}}</ref>
 
<ref name="noble">{{cite thesis
| type=Ph.D.
| author=A. Noble
| title=Descriptions of Image Surfaces
| year=1989
| publisher=Department of Engineering Science, Oxford University
| page=45
}}</ref>
 
}}
 
== Reference implementations ==
 
This section provides external links to reference implementations of some of the detectors described above. These reference implementations are provided by the authors of the paper in which the detector is first described. These may contain details not present or explicit in the papers describing the features.
*[http://www.cs.ubc.ca/spider/lowe/keypoints/siftDemoV4.zip DoG detection] (as part of the [[Scale-invariant feature transform|SIFT]] system), [[Microsoft Windows|Windows]] and [[x86]] [[Linux]] executables
*[http://lear.inrialpes.fr/people/dorko/ipld/ipld_static.tgz Harris-Laplace], static [[Linux]] executables. Also contains DoG and LoG detectors and affine adaptation for all detectors included.
*[http://svr-www.eng.cam.ac.uk/~er258/work/fast.html FAST detector], C, C++, MATLAB source code and executables for various operating systems and architectures.
*[http://www.cs.cityu.edu.hk/~wzhao2/lip-vireo.htm lip-vireo],[LoG, DoG, Harris-Laplacian, Hessian and Hessian-Laplacian],[SIFT, flip invariant SIFT, PCA-SIFT, PSIFT, Steerable Filters, SPIN][Linux, Windows and SunOS] executables.
*[http://www.success-ware.com/150842/FAST-Corner-V2 FAST Detector for the iPhone], Adaptation of Edward Rosten's implementation to the iPhone. Achieves real time results.
*[http://users.fmrib.ox.ac.uk/~steve/susan/ SUSAN Low Level Image Processing], C source code.
 
== See also ==
 
*[[blob detection]]
*[[affine shape adaptation]]
*[[scale space]]
*[[ridge detection]]
*[[interest point detection]]
*[[feature detection (computer vision)]]
 
==External links==
*{{SpringerEOM| title=Corner detection | id=Corner_detection | oldid=12237 | first=Tony | last=Lindeberg }}
*Parks, Donovan and Gravel, Jean-Philippe [http://kiwi.cs.dal.ca/~dparks/CornerDetection/index.htm "Corner Detectors"]
 
{{DEFAULTSORT:Corner Detection}}
[[Category:Feature detection]]

Latest revision as of 16:31, 19 November 2014

Make money online by selling your talents. Good music is always in demand and with today's technological advances, anyone with musical talent can make music and offer it for sale ganhar dinheiro na internet to a broad audience. By setting up your own website and using social media for promotion, you can share your music with others and sell downloads with a free PayPal account.


fee to watch your webinar at their convenience. Once it is in place, ganhar dinheiro na internet promotion and possibly answering questions will be your only tasks.


It's easy to make money online.

There is truth to the fact that you can start making money on the Internet as soon as you're done with this article. After all, so many others are making money online, why not you? Keep your mind open and you can make a lot of money. As you como ganhar dinheiro pela internet can see, there are many ways to approach the world of online income. With various streams of income available, you are sure to find one, or two, that can help you  ganhando dinheiro na internet with your income needs. Take this information to heart, put it to use and build your own online success story.

Getting paid money to work online isn't the easiest thing to do in the world, but it is possible. If this is something you wish to work with, then the tips presented above should have helped you. Take some time, do things the right way and then you can succeed. Start your online como ganhar dinheiro earning today by following the great advice discussed in this article. Earning money is not as hard as it may seem, you just need to know how to get started.
By choosing to put your right foot forward, you are heading off to a great start earning money to make ends meet.