Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Help watershed oversegmentation

0 views
Skip to first unread message

pateheo

unread,
May 22, 2007, 6:13:18 AM5/22/07
to
Hi everybody,

I'm doing dental x-ray segmentation. My objective is locate and
extract teeth from x-ray film. Any body sees a x-ray film ? It
contains 2-4 teeth each jaw or both jaws. After thresholding, I use
watershed on binary image to separate each teeth. But watershed does
oversegmentation on image. So, a tooth is segmented into 2, 3, 4 or 5
pieces. Now I want group them correctly : pieces that belong to a
tooth will group together, not pieces of other teeth. Some figures
at:

http://www.flickr.com/photos/58759896@N00/sets/72157600230584771/

I do not use the watershed segmentation on grayscale image because it
is too oversegmentation and my process must be automatic completely.
It implies that I can't use markers. In case of using markers, I think
it can't gain good performance because the brightness of tooth varies
strong.

I've tried some methods to group those pieces such as topological
attributes of shapes and hierachical clustering but don't know how to
use them.

Anybody could help me?
Thanks in advance.

Phong

Pixel.to.life

unread,
May 22, 2007, 12:28:34 PM5/22/07
to

Hi, Phong,

You might know already that a pure intensity based segmentatin method
has no knowledge about shape and topology. Its not the algorithms
fault then, that it sometimes incorrectly tags pieces from different
teeth together (they seem to be connected through a homogenous bed of
greyscale values, right?).

I had recently recommended a geometric method (level-sets) for
segmentation of cells in phase-contrast microscopy. Image sources
being different, the basic problem appears to be of accurate
segmentation. If other traditional image space techniques and paid
software from this forum work for you, good for you. If they dont, you
may want to try geometric methods:

http://groups.google.com/group/sci.image.processing/browse_thread/thread/66c450e7304d0c30

If a simpler solution comes up, do share.

Good luck,

Pixel.To.Life.
[ http://groups.google.com/group/medicalimagingscience ]

pateheo

unread,
May 22, 2007, 3:40:21 PM5/22/07
to

To pixel.to.life : Thanks for your advice. I'll read level set method
related papers and will ask you about it ASAP. ^_^

pateheo

unread,
May 22, 2007, 4:12:36 PM5/22/07
to
> http://groups.google.com/group/sci.image.processing/browse_thread/thr...

>
> If a simpler solution comes up, do share.
>
> Good luck,
>
> Pixel.To.Life.
> [http://groups.google.com/group/medicalimagingscience]

Firstly, Thanks to pixel.to.life !

Secondly, I have some question to ask you :)). Could you give some
advantage of level set method compared to traditional method :
threshold, snake and watershed?

Level set method is approriate to a series of images. My input is a
single image, may I use Level set effectively ?

Can we embedded prior shape into level set method ?

Thanks you very much

Have a good day

Phong

Bob

unread,
May 22, 2007, 5:56:06 PM5/22/07
to
On May 22, 3:13 am, pateheo <phong.pathfin...@gmail.com> wrote:

I agree with P2L that watershed may not be the best tool. You might
consider Active Shape Model or Active Appearance Model based methods.
This website applies the methods to segmenting bones in hand x-ray
images, which are (kind of) similar to your application.

http://www2.imm.dtu.dk/~aam/

Bob

Pixel.to.life

unread,
May 22, 2007, 9:24:45 PM5/22/07
to
> Phong- Hide quoted text -
>
> - Show quoted text -

Phong,

I replied to your question here:

http://groups.google.com/group/medicalimagingscience/browse_thread/thread/88e5e2db4bafc96f


pateheo

unread,
May 22, 2007, 10:39:58 PM5/22/07
to

Hi Bob,

I think your link is very useful. Yeah!
Thanks to PtL and Bod!
I will post the result ASAP.
Again, Thanks to everybody in this group.

Phong

Tilman JOCHEMS

unread,
May 24, 2007, 6:15:21 AM5/24/07
to
Hi Phong,


Just some remarks to the watershed transformation.

"I use watershed on binary image"

This is not possible. Watershed transformation is always used on
images that represent a "relief". The watershed will calculate the
crest lines in this relief. You are using the watershed perhaps in the
distance function of the binary image?

"I do not use the watershed segmentation on grayscale image because it
is too oversegmentation "

A simulation of a flooding process can calculate the watershed. The
"sources" of this flooding might be the minima of the image (which can
give over segmentation), but you can fix them yourself (marker-based
watershed transformation). The marker-based watershed does not over
segment if you have well chosen the markers.

"my process must be automatic completely. It implies that I can't use
markers"

No, markers can be calculated automatically, of course.

By the way: I am not sure neither that watershed is a good method
here. A threshold can separate teeth and background. This is not the
problem. But the difference between the teeth and the gum is very
small. How much precision do you need here?


Greetings

Tilman JOCHEMS
http://mfj.chez-alice.fr/html/index_en.html

pateheo

unread,
May 24, 2007, 10:15:26 AM5/24/07
to
On May 24, 5:15 pm, Tilman JOCHEMS <mfj...@tele2.fr> wrote:
> Hi Phong,
>
> Just some remarks to the watershed transformation.
>
> "I use watershed on binary image"
>
> This is not possible. Watershed transformation is always used on
> images that represent a "relief". The watershed will calculate the
> crest lines in this relief. You are using the watershed perhaps in the
> distance function of the binary image?
>
> "I do not use the watershed segmentation on grayscale image because it
> is too oversegmentation "
>
> A simulation of a flooding process can calculate the watershed. The
> "sources" of this flooding might be the minima of the image (which can
> give over segmentation), but you can fix them yourself (marker-based
> watershed transformation). The marker-based watershed does not over
> segment if you have well chosen the markers.
>
> "my process must be automatic completely. It implies that I can't use
> markers"
>
> No, markers can be calculated automatically, of course.
>
> By the way: I am not sure neither that watershed is a good method
> here. A threshold can separate teeth and background. This is not the
> problem. But the difference between the teeth and the gum is very
> small. How much precision do you need here?
>
> Greetings
>
> Tilman JOCHEMShttp://mfj.chez-alice.fr/html/index_en.html

>
> On 22 mai, 12:13, pateheo <phong.pathfin...@gmail.com> wrote:
>
> > Hi everybody,
>
> > I'm doing dental x-ray segmentation. My objective is locate and
> > extract teeth from x-ray film. Any body sees a x-ray film ? It
> > contains 2-4 teeth each jaw or both jaws. After thresholding, I use
> > watershed on binary image to separate each teeth. But watershed does
> > oversegmentation on image. So, a tooth is segmented into 2, 3, 4 or 5
> > pieces. Now I want group them correctly : pieces that belong to a
> > tooth will group together, not pieces of other teeth. Some figures
> > at:
>
> >http://www.flickr.com/photos/58759896@N00/sets/72157600230584771/
>
> > I do not use the watershed segmentation on grayscale image because it
> > is too oversegmentation and my process must be automatic completely.
> > It implies that I can't use markers. In case of using markers, I think
> > it can't gain good performance because the brightness of tooth varies
> > strong.
>
> > I've tried some methods to group those pieces such as topological
> > attributes of shapes and hierachical clustering but don't know how to
> > use them.
>
> > Anybody could help me?
> > Thanks in advance.
>
> > Phong

Hi Tilman JOCHEMS,

Thanks for your post.

Ya, I use the Euclidean distance map to do watershed segmentation.
This map is calculated from binary image. This action will segment the
image based on the number of peek in the map. Of course it cut some
shapes apart. But the number of segments was cut is much smaller than
if I did watershed on grayscale image.

How could a marker can be calculated ? If you know please show me
because I wasted many time in finding a such method. i can't know how
many teeth in the x-ray film. Moreover, I used marker in cvWatershed
manually (eyes & mouse) .The result was discouraging because the
grayscale level varies abnormal. It's the attribute of x-ray film.

I used many threshold methods, static, dynamic, local, global, multi,
etc... But I just help me somehow, in the first stage. I need to
separate teeth from gum and other teeths. Threshold is impossible.

I hope get your opinion soon.

Thank you.

Phong

Tilman JOCHEMS

unread,
May 25, 2007, 5:39:28 AM5/25/07
to
Hello Phong,

You asked how markers could be calculated.

I had not a lot of time this morning, so I just tried out some of my
first ideas. You can see the result at http://mfj.chez-alice.fr/tmp/resteeth.jpg,
the used program is written in Qlisp http://mfj.chez-alice.fr/tmp/teeth.lsp.
I used the image to which you gave a link in your first mail.

1) markers of the background are easy to get: the background is
black.

2) to find the markers of the gum, I used its appearance as a texture:
there are black holes and white lines. I extracted first the holes,
then the lines of the image. The condition for the texture is that
lines are beside of holes.

I think that there are certainly better criteria for extracting the
texture. I thought about frequency analysis, but I am not so confirmed
in these techniques.

3) teeth are white and are horizontally surrounded with background.

Of course, this is provisory result; its purpose is mainly to show you
how marker based watershed transformation can be used. I hope it helps
you.


Greetings,
Tilman JOCHEMS
http://mfj.chez-alice.fr/html/index_en.html

> Phong- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -


pateheo

unread,
May 27, 2007, 12:39:08 PM5/27/07
to
Dear Tilman JOCHEMS,

I vote for your QLisp image processing program! Simple & Effective!
It's similar to Matlab but lightweight and more comprehensive
commands. I like it.

I've tested your qLisp code on some teeth images. The result is good
for some images and under-segmentation for some other ones. Anyway,
the idea inside your code really make interested. As you know, X-ray
film contains some over-bright regions which are not teeth. Sometime
gum and teeth can't be separated.

Your method is senvitive to bright artifacts. If there are some
artificial symbols, text or logo,..., on the film, markers will be
absorbed by those artifacts.

In conclusion, I like the way the gum marker is built.

I posted a .rar file contains some processed images.
Link: http://files.filefront.com/Picturesrar/;7621008;/fileinfo.html

Thank you for all. Wait for your reply.

Phong

Tilman JOCHEMS

unread,
May 28, 2007, 4:54:55 AM5/28/07
to


Hello Phong,

Your images are quite different (orientation and form of teeth,
contrast, zones of saturation, ...). And I am astonished, that my sample
program, which I developed very quickly with 1 picture, gives results
at all. I did point it already out in my last message: my purpose was
not to give you an operational solution but only to show you how to
use the marker based watershed transformation.

I would now work more profound on different subjects: Are there not
better criteria to detect gum? How can one exploit knowledge about the
form of teeth (which I did not use at all)? How can images be pre-
treated - or better: how can acquisition be optimised - to get images
that are comparable? Etc, etc, etc

Good luck,

Tilman JOCHEMS
http://mfj.chez-alice.fr/html/index_en.html

0 new messages