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!

20 Replies
  • Nerea Zubiaurre

    Thanks to everyone! I already solved this by using the Y and Z channels from cieXYZ :)

    Mar 23, 2012
  • 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.
    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/markot/uploads/Main/ColourSpaces-PerceptualHistoricalAndApplicationalBackground.pdf

    Mar 22, 2012
  • 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.

    Mar 21, 2012
  • Michael Franke

    http://youtu.be/rSls7sGlHec

    Mar 14, 2012
  • Louis Brassard

    I suggest to detect ridges and valleys , or crease network in scale-space.

    Mar 12, 2012
  • Dominique Verdejo

    Here is a lab which has worked on this : http://www.lgi2p.mines-ales.fr/~montesin/demos.html

    Mar 12, 2012
  • Michael Franke

    Thang's Tim ;-)

    Mar 1, 2012
  • 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!

    Feb 27, 2012
  • 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.

    Feb 27, 2012
  • 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?

    Feb 27, 2012
  • 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.

    Feb 26, 2012
  • 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

    Feb 25, 2012
  • Michael Franke

    Jep.I work in HSV.

    Feb 24, 2012
  • 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.

    Feb 24, 2012
  • Michael Franke

    Overlay

    Feb 24, 2012
Follow this Post

Contributors