Color definition and detection
I am working on my thesis in pattern recognition on dermoscopic images for melanoma diagnosis. I am trying to find the vascular pattern on the lesion images. However, as the shape of the vessels can be any (from dots to lagoons or hairpins) my idea is detecting the vessels by color. However, the color of the vessels changes from image to image. I am wondering if someone has worked on defining a color depending on the rest of the image or if someone has any suggestion. I work with matlab. Any idea will be welcome.
Thanks!
Nerea Zubiaurre
Thanks to everyone! I already solved this by using the Y and Z channels from cieXYZ :)
Marko Tkalcic
First, if you want a generic solution you need to know if your capturing device is calibrated. Of course it outputs RGB values, but these are just device-dependent and might not work across different acquisition devices. If your device is able to transform the colors in any CIE space (CIELab, CIELuv, CIEXYZ) then it is calibrated. rkot/uploads/Main/ColourSpaces -PerceptualHistoricalAndApplic ationalBackground.pdf
Second, RGB channels are generally strongly correlated and it would be smart if you decorrelate them at the beginning of your procedure. Converting in an HSV space is a good start. If you have doubts on the color spaces you migh check this: http://slavnik.fe.uni-lj.si/ma
Santiago Cifuentes
I would try working in hsv.
If your image have definite colours (not always the same but always clearly different and in a similar region) I would do an histogram of the h channel once you take out those pixels with little colour content (too dark, lower s, or too grey, lower v )
The peaks in the histogram will guide you to the proper mean+std colour to pick up; if the histogram do not show clear peaks then maybe colour extraction is not the way to go.
Michael Franke
http://youtu.be/rSls7sGlHec
Louis Brassard
I suggest to detect ridges and valleys , or crease network in scale-space.
Dominique Verdejo
Here is a lab which has worked on this : http://www.lgi2p.mines-ales.fr /~montesin/demos.html
Michael Franke
Thang's Tim ;-)
Tim Bate
I would suggest seperating them as vectors, particularly if you are using MatLab. The catch is there are a whole lot more than two colours in your footage, and I assume the colours change from image/patient to image/patient? If you had a section with just two colours, or three colours, you can take the first two or three eigen-vectors. I would actually recommend staying in the RGB space that the image was captured in. Each vector should then approximate the contribution by one "colour". If you combine this with a small local segmentation, basically a Markov Field, I think the results could improve. However, from just your picture, it looks damned tough! I like Michael's!
Michael Franke
The question is which kind of filter on the ccd-sensor is used for.
Normally they use Bayer-mask's.
Sometimes others.
The color information on Bayer-masked CCD's is coded in red green blue.
Mostly the Imageprocessor have more bits of resolution then the resulting image.
Internally there cut some MSB's to prevent the normal device-noise.
To work with color ,especially for separating colors it is easier to use the
HSV-Model.
There you can easily set the Angle for the target color.
Nerea Zubiaurre
Hello. Thank you everyone for all the pieces of advice. They told me I should maybe work in cielab. Is it then better to work in HSV? For everything else I feel I am a bit new to this and I am not sure how to start. Do you have any suggestion or reading recommendation?
Michael Franke
Right, and if you search for vessels you need to know the absorptions spectrum
of the vessels(Blood) and melanin.
The interesting area is between 400 and 450 nm and at 550nm.
Note,there are the highest absorption, not reflection.
Also interesting is the conformational isomerism of hemoglobin.
Mahesh S. Sankpal
I would like to define it:
Color is just the reflected light which causes the visual perception which causes to happen new chemical reaction in NN by which we are recognizing it.
May be right
Michael Franke
Jep.I work in HSV.
Thomas P A Debray
it may be useful to model colors in HSL or HSV space instead of RBG. Then, you can define what parameter values are representative for your domain, and define a loss function for images that models to what extent an image meets your requirements in terms of color.
Michael Franke
Overlay