Main Page | Report this Page
 
   
Science Forum Index  »  Image Processing Forum  »  Ridge Detection In Noisy Images
Page 1 of 1    
Author Message
saikat.bhadra@gmail.com
Posted: Tue Jan 16, 2007 11:00 am
Guest
Hi,

I was considering using ridge detection using passive sonar data
(basically to trace the lines of the image). My motivation is to be
able track sources that are close to the noise floor and also sources
that look blurry. Anyhow, i was wondering if anyone has considering
using ridge detection for tracking purposes? Is it a real-time
solution? What literature should i look at? Doing a google scholar
search, I've found some articles by Lindeberg, but these seem pretty
theoretical (little implementation discussion) and seem to be tailored
for the purposes of object classification and feature extraction. Is
this an appropriate method?
aruzinsky
Posted: Tue Jan 16, 2007 2:58 pm
Guest
"My motivation is to be able track sources that are close to the noise
floor and also sources
that look blurry."

That kind of thing is done in multiframe processing of regular movies.
The usual purpose of tracking here is data fusion between consecutive
frames. I am not an expert on this, but occasionally our paths cross
under the topic of "superresolution" which you should google.
saikat.bhadra@gmail.com
Posted: Wed Jan 17, 2007 11:41 am
Guest
I do not really follow how superresolution is an applicable technique.
Let me be more specific, I am trying to detected lines/ridges/local
maxima in an image with :

1) blurry lines - caused by out of focus sources
2) thin weak lines (low intensity values) - caused by low power
sources
3) jittery lines - caused by narrowband high power sources
3) strong thin lines - in focus, high power sources
3) lots of noise/clutter - characteristic of passive sonar

Note : "line" is defined as a set of connected points, no straightness
is implied/assumed

The point is that the properties of the image are very localized so I'm
not trying to deblur the whole image (which is what superresolution
does i believe). I want a robust line detection scheme which can deal
with lines of different widths and also distinguish between lines and
just random peaks from noise. How robust is ridge detection & is there
any difference between ridge and line detection?

Thanks for the help.


aruzinsky wrote:
Quote:
"My motivation is to be able track sources that are close to the noise
floor and also sources
that look blurry."

That kind of thing is done in multiframe processing of regular movies.
The usual purpose of tracking here is data fusion between consecutive
frames. I am not an expert on this, but occasionally our paths cross
under the topic of "superresolution" which you should google.
millerj
Posted: Thu Jan 18, 2007 10:33 am
Guest
Quote:
I want a robust line detection scheme which can deal
with lines of different widths and also distinguish between lines and
just random peaks from noise.

You might look into the open source Wild Magic tools available at
http://www.geometrictools.com. Form some time, Dave Eberly (their
creator) had some best-in-class ridge detection code. If anyone knows
of better (or of other!), I'd love to hear about it.

Quote:
How robust is ridge detection & is there
any difference between ridge and line detection?

In principle, ridge detection is roboust. Of course, this depends on
your precise definition of ridge and the tools that you use to extract
the ridge.

Ridge and line detecsion are VERY different, as a ridge of intensity
occurs in a (protentially large) region where the intensity values are
locally close those the values on the ridge. Think of the Appalachian
Trail, a hiking route that often follows the ridge of the Appalachian
Mountains. If the trail follows the mountain ridge, the terrain around
the trail is close in altitude to the altitude of the ridge. In the
same way, the intensity values near the ridge of a function will be
close to its values on the ridge. And herein lies the difficulty in
ridge extraction.

Jason
saikat.bhadra@gmail.com
Posted: Thu Jan 18, 2007 2:13 pm
Guest
Thanks for the info!

I was looking at literature from Eberly, Pizer, & Lindeberg. When you
refer to the best-in-class ridge detection code, what implementation
are you talking about? Right now i'm looking at an Eberly paper called
"Ridges for image Analysis" which talks about 4 ridge definitions
(height, principal direction, level, nonmetric). Which one is the
best-in-class implementation? Any literature discussing specific
implementation details? Which .cpp file are you talking about in the
Wild Magic library?

millerj wrote:
Quote:
I want a robust line detection scheme which can deal
with lines of different widths and also distinguish between lines and
just random peaks from noise.

You might look into the open source Wild Magic tools available at
http://www.geometrictools.com. Form some time, Dave Eberly (their
creator) had some best-in-class ridge detection code. If anyone knows
of better (or of other!), I'd love to hear about it.

How robust is ridge detection & is there
any difference between ridge and line detection?

In principle, ridge detection is roboust. Of course, this depends on
your precise definition of ridge and the tools that you use to extract
the ridge.

Ridge and line detecsion are VERY different, as a ridge of intensity
occurs in a (protentially large) region where the intensity values are
locally close those the values on the ridge. Think of the Appalachian
Trail, a hiking route that often follows the ridge of the Appalachian
Mountains. If the trail follows the mountain ridge, the terrain around
the trail is close in altitude to the altitude of the ridge. In the
same way, the intensity values near the ridge of a function will be
close to its values on the ridge. And herein lies the difficulty in
ridge extraction.

Jason
millerj
Posted: Thu Jan 18, 2007 2:55 pm
Guest
Quote:
Right now i'm looking at an Eberly paper called
"Ridges for image Analysis" which talks about 4 ridge definitions
(height, principal direction, level, nonmetric). Which one is the
best-in-class implementation? Any literature discussing specific
implementation details? Which .cpp file are you talking about in the
Wild Magic library?

The definition I believe he has implemented in his Wold Magic library
is the definition for the height ridge. I looked at v4 for Wild Magic,
an I couldn't find it, however. An email to Dave might be in order.

On literature talking about implementation details, I know of none.
What he's written, and what's been written by Pizer, Furst, Fritsch, or
Aylward are probably the best primary sources of information on the
topic. Info on implementation might be scattered in those papers.
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Wed Jan 07, 2009 2:19 pm