Title: ECSE6963 Biological Image Analysis
1ECSE-6963Biological Image Analysis
- Lecture 12
- Image Edges
- Badri Roysam
- Rensselaer Polytechnic Institute, Troy, New York
12180.
Center for Sub-Surface Imaging Sensing
2Recap Image Enhancement
- Goes beyond defect correction to deliberate image
modification - The resulting image is understood to not
necessarily depict physical reality - Histogram Modification Analysis
- Equalization, Inversion, Stretching,etc
- Today Edges and how to detect them
3Assignment 3
- Write a program to perform adaptive histogram
equalization, and test that on the retina image
for window sizes of 20x20 pixels and 50x50
pixels. Comment on the observed differences. - Write a program to perform the Sobel edge filter
at each pixel. Calculate the magnitude and angle
at each pixel, and display it. - Then extract all edge pixels that have a
comparably strong edge with the opposite angle
within a neighborhood of N pixels. Display the
result for N 10 and 20 pixels for the retina
image. Comment on your results.
4Edges
- Boundaries between different objects in the image
- Locations of abrupt change in image properties
- Gray level edges
- Texture edges
- Color edges
5Edges and Edgels
- The term edge is also used to refer to
connected chains of edge points, i.e., fragments
of object contours - Edge points are also called edgels (for edge
elements) - The term boundary is used for the real thing
- Edges are a fragment of the boundary
Biggest Problem Finding the edges that really
correspond to object boundaries from edges caused
by texture and/or noise
6Edge Models
Noisy observation
True intensity
Step
Ramp
Roof
Ridge
7Basic Steps to Edge Detection
- Noise Smoothing Pre-processing
- Suppress as much of the image noise as possible
without destroying the true edges - Edge Enhancement
- Make the edges stand out, using suitable filters
- Edge Localization
- Process the filters output to decide where the
edges are, and where they are not. - Usually two steps
- 1. Thinning or non-maximum suppression
- 2. Thresholding
- Post Processing
- Best to avoid in the first place. If absolutely
necessary, use morphological operations /
connected components / curvature size
constraints.
8Edge Enhancement
- Edges usually associated with regions having high
derivatives - Usually, thats where the action is
- Regions that have high edges are sharp
- One way to enhance is to suppress the unsharp
regions - Need to understand derivatives first
9Gradient Magnitude Angle
The square root takes time!
The arctangent takes time!
Same math works in 3-D as well
10Discrete Approximation
Central Difference Approximation
- Finite-difference approximation to gradient
- Inherently, a noise enhancing operation
- Responds to every little change in I(x,y)
11Example
y
x
Gradient Magnitude
Angle
12Ways to Combat Noise
Averaging along the edge (Prewitt operator)
Weighted Averaging (Sobel operator)
Another idea Fit a plane
to a local neighborhood of pixels
Then,
13Another Noise Combating Method
- Just suppress weak edges!
- Non-maximum suppression
- At each pixel (x,y), look within a small
neighborhood - Find the maximum gradient magnitude
- If the gradient magnitude at (x,y) is less than
the maximum, simply attenuate it, or set it to
zero! - Better
- Find the local gradient direction
- Do the suppression just along this direction
14Smoothing Before Differentiation
Approximate Gaussian Smoothing Filter
Differentiator
Single operation that combines both
(scale factor)
15Adding Smoothing Along Edge
Note If image brightness goes up from left to
right, the result response is positive ? The
sign of the response can be put to good use
16Ways to Achieve Speed
- Kirsch Operator
- Discretize the angles into a small set of values
- Use a directional gradient at each discretized
angle - Keep the one that gives the maximum value
- Avoids arctangent and square root!
- There are numerous operators in the literature,
but the principles are similar
17Thresholding
- Really, another noise combating method
- Non-maximum suppression still leaves noise-caused
local maxima - If the gradient magnitude is greater than a
threshold T, set edgel to 1 - Else, set edgel to 0.
- Choosing a threshold
- T too low ? Pick up too many noisy edgels
- T too high ? Miss real edgels, making boundaries
discontinuous.
18Thresholding
- One Solution
- Adaptive thresholding
- Define a N?M window at each pixel
- Use (hopefully bi-modal) histogram to select a
threshold - Better Solution
- Define two thresholds Tlow and Thigh
- Follow object boundaries
- Locate next un-visited pixel with gradient gt
Thigh - Follow chains of connected local maxima in both
directions along the edge direction (i.e.,
perpendicular to the gradient direction) - Accept as edgels points where the gradient is
higher than Tlow
19Ideas
- The best edge detectors have the following
properties - They are based on a valid model of the types of
edges that are expected - Model for how intensity changes across the
boundary - Model for the underlying objects and the
structure of their boundary - Example smoothness constraints on boundaries are
helpful - Model for the noise
- They treat the gradient direction and the
direction perpendicular to it differently - Smooth along boundaries
- Smoothing differentiation across boundaries
20Another Powerful Idea
- Connected groups of edges often exhibit
properties that are very different from
noise/texture - object level constraints
- Big Question How do we recognize and exploit
these properties to do more selective edge
detection?
Long Chains of parallel edges with low curvature
21Example Tracing Blood Vessels
- Problem Trace blood vessels in 2D and 3D images
- Why bother?
- Vessel morphometry is of direct interest to
biologists doctors - Vessels provide landmarks for image registration
- Change detection
- Mosaicing
- Instrument control
22- Practical Challenges
- High image variability, need for reliability
- Presence of clutter (e.g., pathologies)
- Live data
- cannot prevent partial views, dark/overexposed
images, variable contrast, variable illumination,
noise, glare etc.... - Strong need for highly selective edge detection
23Related Application
- Fluoroscopic Cardiac X-Ray Image
24Related Application
- Neurons grown on a treated nano-fabricated surface
Clutter does not exhibit the properties that the
neuron does
25Related Application
26 A 1-D Cross Section
Image Gray Level
27Detecting Edges of Blood Vessels
LEFT
RIGHT
Sum these responses (could also find the median)
28Edges at Many Discrete Angles
LEFT
RIGHT
29A Model For Vasculature
? M
- Parallel edges,
- ? M pixels wide
30Locating the Boundaries
31Application Vessel Tracing
32Tracing Algorithm
Compute Right Left Responses
Search for Best Response
Strongest Response Sets the Direction
33Unsharp Masking
- An age old trick used by photographers
- Capture two images,
- I1 Normal, in focus
- I2 Blurred by a known amount
- Calculate I1 I2 photographic process
- Place positive of one image, negative of other
image together before printing - Rejects smooth variations, and highlights sharp
variations
34Galaxy Example
- This idea of using controlled blurs prior to
differentiation is extremely powerful! - More on this next class!
35Mammogram Example
Mammogram with Calcifications
Gaussian Blur, Radius 10
Difference
36Summary
- Edges
- Edges, Edgels, and the Real Boundary
- Gradient operators
- Ways to combat noise
- Model-Based Edge Detection
- Next Class
- More about Edges
- Edge location and Scale Space Methods
- Basics of Image Segmentation
37Instructor Contact Information
- Badri Roysam
- Professor of Electrical, Computer, Systems
Engineering - Office JEC 7010
- Rensselaer Polytechnic Institute, 110, 8th
Street, Troy, New York 12180 - Phone (518) 276-8067
- Fax (518) 276-8715/6261/2433
- Email roysam_at_ecse.rpi.edu
- Website http//www.rpi.edu/roysab
- Course Material Website http//www.ecse.rpi.edu/c
enssis/BioCourse - New Weekly Teleconference Schedule Thursdays at
3-4pm. - Dial 1-888-872-2038 and use the guest passcode
0611. - NetMeeting ID (for off-campus students)
128.113.61.80 - Assistant Betty Lawson, JEC 6049, (518) 276
8525, lawsob_at_rpi.edu