-
The problem:
Linear, Gaussian filters are not the best image
enhancers. The ever popular Canny's Edge Detector, as presented in
class and in the textbook [1], assumes the use of
a linear, Gaussian filter as its enhancer at the first stage of the
algorithm. . However, objects in images subject to non-uniform
illumination (e.g. parts of an object that are over-/under-exposed
relative to the rest of an image) are likely to be poor targets for
Canny's Detector, because the space-invariant, Gaussian filter that it
uses cannot adapt to variations in image illumination and help deal
with such contrast problem, therefore rendering a sub-optimal
enhancement, acting as subpar inputs to subsequent stages of the
algorithm. For such images, tweaking the three magic numbers (sigma,
low and high) of Canny's Detector, though helpful, seems ad hoc. If
the enhancement in Canny's Detector uses an adaptive, space-variant
filter, perhaps one can reduce the frequency of having to tweak these
three values while still obtain good results across a wider set of
images.
-
The Proposal:
I plan to explore the use of a space-variant filter,
possibly with some other image processing techniques, to improve the
output images at the enhancement stage of Canny's Edge Detector
algorithm. I expect that such enhancement will reduce noise and help
minimize the number of false edges better than the linear, Gaussian filter,
especially for images with non-uniform illumination in the scenes. As
a result, I expect that such improved Canny's Edge Detector will
perform better across a wider set of images. I will implement the
filter in C and incorporate it into an existing implementation of
Canny's Edge Detector written in C (grabbed from the web), taking
gray-level images in PGM format (again, grabbed from the web) and
producing gray-level edge strength images in PGM format (as described
in the textbook [1]).
-
The Schedule:
Week of 02/08: Identify the possible candidate(s)
for the space variant filter (In particular, look into in the
feasibility of using a Cellular Neural Network falling-membrane filter
[2]) -- sorry, one jargon here). Get and analyze a
Canny's Edge Detector implemented in C from the web. Get a wide
variety of images, especially those with non-uniform illumination in
the scenes.
Week of 02/15: Implement the space-variant filter
and incorporate it into the first stage of Canny's Edge Detector. Try
some additional image enhancement techniques (appropriate to use with
this filter) at this stage to help further minimize noises and the
number of false edges for later stages.
Week of 02/22: Finish the implementation. Run it over the collected set of images and prepare the Project Review.
The last two weeks of the quarter: Fine-tune the
algorithm. Perform detailed analysis. Spend the majority of the time writing up the Final Report.
|