Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Edge detection
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Second-order approaches === Some edge-detection operators are instead based upon second-order derivatives of the intensity. This essentially captures the [[Derivative|rate of change]] in the intensity gradient. Thus, in the ideal continuous case, detection of zero-crossings in the second derivative captures local maxima in the gradient. The early [[Marr–Hildreth algorithm|Marr–Hildreth]] operator is based on the detection of zero-crossings of the Laplacian operator applied to a Gaussian-smoothed image. It can be shown, however, that this operator will also return false edges corresponding to local minima of the gradient magnitude. Moreover, this operator will give poor localization at curved edges. Hence, this operator is today mainly of historical interest. ==== Differential ==== A more refined second-order edge detection approach which automatically detects edges with sub-pixel accuracy, uses the following ''differential approach'' of detecting zero-crossings of the second-order directional derivative in the gradient direction: Following the differential geometric way of expressing the requirement of non-maximum suppression proposed by Lindeberg,<ref name=lin98/><ref name=lin93>[http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A473368&dswid=5061 T. Lindeberg (1993) "Discrete derivative approximations with scale-space properties: A basis for low-level feature extraction", J. of Mathematical Imaging and Vision, 3(4), pages 349–376.]</ref> let us introduce at every image point a local coordinate system <math>(u, v)</math>, with the <math>v</math>-direction parallel to the gradient direction. Assuming that the image has been pre-smoothed by Gaussian smoothing and a [[scale space representation]] <math>L(x, y; t)</math> at scale <math>t</math> has been computed, we can require that the gradient magnitude of the [[scale space representation]], which is equal to the first-order directional derivative in the <math>v</math>-direction <math>L_v</math>, should have its first order directional derivative in the <math>v</math>-direction equal to zero :<math>\partial_v(L_v) = 0</math> while the second-order directional derivative in the <math>v</math>-direction of <math>L_v</math> should be negative, i.e., :<math>\partial_{vv}(L_v) \leq 0.</math> Written out as an explicit expression in terms of local partial derivatives <math>L_x, L_y, \ldots , L_{yyy}</math>, this edge definition can be expressed as the zero-crossing curves of the differential invariant :<math>L_v^2 L_{vv} = L_x^2 \, L_{xx} + 2 \, L_x \, L_y \, L_{xy} + L_y^2 \, L_{yy} = 0,</math> that satisfies a sign-condition on the following differential invariant :<math>L_v^3 L_{vvv} = L_x^3 \, L_{xxx} + 3 \, L_x^2 \, L_y \, L_{xxy} + 3 \, L_x \, L_y^2 \, L_{xyy} + L_y^3 \, L_{yyy} \leq 0</math> where <math>L_x, L_y, \ldots , L_{yyy}</math> denote partial derivatives computed from a [[scale space representation]] <math>L</math> obtained by smoothing the original image with a [[Gaussian kernel]]. In this way, the edges will be automatically obtained as continuous curves with sub-pixel accuracy. Hysteresis thresholding can also be applied to these differential and subpixel edge segments. In practice, first-order derivative approximations can be computed by central differences as described above, while second-order derivatives can be computed from the [[scale space representation]] <math>L</math> according to: :<math> \begin{align} L_{xx}(x, y) & = L(x-1, y) - 2 L(x, y) + L(x+1, y), \\[6pt] L_{xy}(x, y) & = \frac 1 4 (L(x-1, y-1) - L(x-1, y+1) - L(x+1, y-1) + L(x+1, y+1)), \\[6pt] L_{yy}(x, y) & = L(x, y-1) - 2 L(x, y) + L(x, y+1). \end{align} </math> corresponding to the following filter masks: :<math> L_{xx} = \begin{bmatrix} 1 & -2 & 1 \end{bmatrix} L \quad \text{and} \quad L_{xy} = \begin{bmatrix} -1/4 & 0 & 1/4 \\ 0 & 0 & 0\\ 1/4 & 0 & -1/4 \end{bmatrix} L \quad \text{and} \quad L_{yy} = \begin{bmatrix} 1 \\ -2 \\ 1 \end{bmatrix} L. </math> Higher-order derivatives for the third-order sign condition can be obtained in an analogous fashion.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)