Personal tools

BotanyDataCharacterizaction-Methodology

From hpcwiki

Jump to: navigation, search

Contents

Seleccionar los descriptores más convenientes para el estudio, mirar los diferentes métodos de clasificación que se han propuesto para resolver dichos problemas y analizar el adecuado.

La identificación de fitopatologias es una tarea que permite mantener el cultivo en perfecto estado aumentando su producción, los expertos identifican estas patologías mediante patrones característicos que permiten definir que enfermedad presenta la planta y que tratamiento es conveniente aplicarle a las plantas para impedir una expansión en el cultivo.

Los expertos identifican patrones que consisten en cambios de color que se observan en la planta, especialmente en las hojas debido a que son la mayor parte de la planta, debido a esto se selecciono usar descriptores de color ya que el análisis visual del experto es mediante estas características, para este estudio se usaran técnicas como:

  • El Análisis de Histogramas de espacios de color caso especial modelo HSV
  • Descriptores visuales de Color del estándar MPEG-7
    • Dominant Color Descriptor
    • Color Structure Descriptor
    • Scalable Color Descriptor
    • Color Layout Descriptor
  • Descriptor con filosofia SIFT e invarianza de color(Color-SIFT)

Se planea usar la técnica de Bag-of-features ya que se ha vuelto muy popular debido a su alto nivel de discriminación y su manejo con descriptores locales (caso SIFT, SURF entre otros), básicamente este método es una analogía del bag-of-words, se genera un diccionario de características para poder definir los distintos patrones que se observan en la colección de imágenes que se va adquirir.

Se usaran dos métodos de clasificación uno que solo compara las medidas de distancia conocido como K-NN usando distintas métricas ( Euclidiana, Manhattan y Mahalanobis). y una de las técnicas mas populares en aprendizaje de maquina el SVM (Maquinas de vectores de soporte) que ha demostrado gran eficiencia en distintos estudios de clasificación.

Adquirir y construir una colección de imágenes naturales de hojas en cultivos de tomate en invernadero y definir los conjuntos de entrenamiento y prueba

Condiciones de adquisición de las imágenes:

  • La foto del área de la planta de tomate serán tomadas en alta resolución (2592 \ times1944 en este trabajo).
  • El zoom se fijará en 1:1.
  • Las hojas de tomate son compuestas, de manera que cada imagen tiene gran parte del foliolo por lo menos.
  • Ninguna imagen que posea iluminación solar directa se incluirá en el conjunto de datos.
  • La parte central de cada imagen incluirá un completo foliolo bien enfocado.
  • La cobertura del foliolo se maximizara
  • El área promedio proyectado de las hojas de plantas en cada imagen será máximo (es decir, orientado normalmente, 90 grados, Hacia el objetivo de la cámara).
  • El área con buenas propiedades de enfoque a lo largo de la superficie de la imagen se maximiza.
  • Se adquirió una gran colección de datos de control (cultivos sanos en un ambiente controlado).

Capturar imágenes de plantas de tomate tomadas en un ambiente natural que contengan información de la patología y de imágenes que no la presenten con el apoyo del Centro de Biosistemas de la Universidad Jorge Tadeo Lozano.

Clasificar con el apoyo del experto las distintas imágenes y determinar qué patologías se presenta en cada caso y crear un conjunto representativo de las patologías a tratar.

El experto debe realizar unas anotaciones en las imágenes que se capturan seleccionando parches de estas imágenes las cuales son considerar relevantes en el proceso de extracción y con esto poder agrupar las imágenes en distintos grupos de interés en este estudio.

Proponer e Implementar un método para extracción de características de datos multimodales (imágenes y anotaciones de expertos) mediante descriptores de color

Los descriptores de color descriptores de color:

Modelo de color HSV:

Este espacio de color se obtiene a través de una transformación no lineal del espacio de color RGB, el cual busca resaltar una progresión de color, es uno de los espacios mas cercanos a lo que observa el ser humano


– Matiz(Hue): esta componente representa lo que se conoce como tonalidad

– Saturación(Saturation): Representa la densidad dentro del color.

– Valor(Value): Representa la intensidad de brillo

Las imágenes que se capturan con camaras convencionales usan el espacio de color RGB para poder convertirlo en espacio de color HSV se usan los siguientes calculos

RGB a HSV

Para conseguir esta transformación se calcula de la siguiente manera:

Sea MAX el valor máximo de los componentes (R, G, B), y MIN el valor mínimo de esos mismos valores, los componentes del espacio HSV se pueden calcular como:

H =
\begin{cases}
\mbox{no definido}, & \mbox{si } MAX = MIN \\
60^\circ \times \frac{G - B}{MAX - MIN} + 0^\circ, & \mbox{si } MAX = R \\ &\mbox{y } G \ge B \\
60^\circ \times \frac{G - B}{MAX - MIN} + 360^\circ, & \mbox{si } MAX = R \\ &\mbox{y } G < B \\
60^\circ \times \frac{B - R}{MAX - MIN} + 120^\circ, & \mbox{si } MAX = G \\
60^\circ \times \frac{R - G}{MAX - MIN} + 240^\circ, & \mbox{si } MAX = B
\end{cases}

S = 
\begin{cases}
0, & \mbox{si } MAX = 0 \\
1 - \frac {MIN} {MAX}, & \mbox{en otro caso}
\end{cases}

V = MAX \,

después de transformar el espacio RGB a el espacio HSV se calcula el histograma de la función

Fu(l)=(i(i,j) tales que u(i,j)<=l)/M*N

Estándar MPEG-7

Estándar de la Organización Internacional para la Estandarización ISO/IEC, generado por el grupo MPEG para la caracterización de contenido multimedia que tiene como objetivos:

  • Habilitar un método rápido y eficiente de búsqueda, filtrado e identificación de contenido.
  • Describir aspectos principales del contenido (características de bajo nivel, estructura, semántica, modelos, colecciones, etc.)
  • Indexar un gran abanico de aplicaciones.
  • El tipo de información a tratar es: audio, voz, vídeo, imágenes, gráficos y modelos 3D.
  • Informar de cómo los objetos están combinados dentro de una escena.
  • Independencia entre la descripción y el soporte dónde se encuentra la información.

Lo cual ha ayudado a realizar distintos estudios los cuales permitieron avances en el campo de la visión por computador.

El estándar MPEG-7 maneja una variabilidad de descriptores visuales que se centran sus características en el color algunos de estos descriptores

Dominant Color Descriptor(DCD)

Es un descriptor que pertenece al estándar MPEG-7[CONTENT BASED IMAGE RETRIEVAL USING DOMINANT COLOR, TEXTURE AND SHAPE, An Effective Similarity Measurement Algorithm for Dominant Color Feature Matching in Image Retrieval# Yang Lifang] que permite una descripción compacta de los colores predominantes de una región o la propia imagen. Es muy usado en aplicaciones de recuperación de imágenes basadas en similitud usando valores individuales o de varios colores, se diferencia de los descriptores basados en histogramas tradicionales. Los colores representativos se calcula mediante cada imagen en lugar de ser fijado por el espacio de color, esto da una representación de color mas precisa y compacta.

El DCD se define como:

F={\{
   \lbrace
     {c_i,p_i,v_i}
   \},s}
   \rbrace,(i=1...N)


donde Nes el numero de colores dominantes que se presentan en la imagen, puede variar entre las imágenes posee un valor máximo de 8 colores , c_{i} es el valor del color mas dominante en su componente i-esimo, p_{i}es el porcentaje(normalizado entre 0 y 1) de píxeles en la imagen o región seleccionada correspondiente a c_{i} donde la sumatoria de p_{i} es igual a 1

 \sum_{i=1}^n p_i=1


v_{i} representa la varianza opcional de color que describe la variación de la intensidad de color alrededor de un centroide que corresponde al color representativo y s es un valor entero que representa la homogeneidad general del color mas representativo en la imagen.

Extracción del descriptor

El proceso de extracción que se usa para DCD es el algoritmo generalizado de Lloyd, en [Jens-Rainer Ohm - The MPEG-7 Color Descriptors] recomienda usar un espacio de color CIE-LUV, para lo cual se usa una ecuación de distorsión D_{i} en el i-gesimo centroide que es dado por:

D_{i}  =  \sum_{n}  h(x)||x(n)-c_{i})||^{2}  ,  x(n)\in C_{i}

donde c_{i}representa el centroide de , x(n) es el vector de color en la posición n, mientras que h(n) es el peso de percepción que posee cada píxel n, este peso se calcula a partir de estadísticas de píxeles locales ya que la percepción humana tiene mayor sensibilidad a cambios de regiones lisas que a cambios en regiones que presenten texturas.

La variable c_{i}se representa en la siguiente formula.

c_{i}  =  \frac{\sum h(n)x(n)}{\sum h(n)} ,  x(n)\in C_{i}

Color Structure Descriptor(CSD)

El Color Structure Descriptor, tal como se define en [Jens-Rainer Ohm - The MPEG-7 Color Descriptors], establece la descripción de una imagen descriptor de color posee información adicional que permite lo hace un descriptor sensible a algunas características que el histograma de color no. El CSD es muy similar al histograma de color si nos referimos a las forma pero su significado cambia. Este se define como un arreglo unidimensional de 8 bits: CSD  =  \overline{h}_{s}(m)  ,  m\in\{1,...,M\}

donde M puede tener 4 distintos valores que son {256,128,64,32} y s representa una escala que se asocia al elemento cuadrado estructurado. Uno de los detalles de este descriptor es que utiliza el espacio de color HMMD el cual se obtiene mediante:

      %Espacio de color HMMD
      Max = max(R, G, B);  
      Min = min(R, G, B);  
      if( Max == Min )
         Hue=0; 
      otherwise:  
      if( Max == R && G >= B )   
          Hue = 60*(G-B)/(Max-Min)  
      else if( Max == R && G < B )   
          Hue = 360 + 60*(G-B)/(Max-Min)  
          else if( G == Max )   
          Hue = 60*(2.0 + (B-R)/(Max-Min))  
          else   
             Hue = 60*(4.0 + (R-G)/(Max-Min))
          /*Hue-Max-Min-Diff*/
      Diff = Max - Min;

El algoritmo nos demuestra como extraemos los valores que se requieren para el manejo de este espacio de color que utiliza el componente matiz (Hue) del espacio de color HSV, utilizando el valor Max y Min extraídos del espacio de color RGB y como ultimo se toma la diferencia entre el valor máximo y mínimo del espacio RGB por cada píxel de la imagen.

K = 2 ^ p

donde K es el factor de sub-muestreo


p=max{
   \lbrace 0,\lfloor \log_2 \sqrt {W*H-0.75} \rfloor \rbrace}

Donde W y H son el ancho y el alto de la imagen respectivamente, y ⎣⋅⎦ es el operador piso.

Scalable Color Descriptor(SCD)

El SCD logra la plena interoperabilidad entre distintas resoluciones de la representación del color, de 16 bits por histograma a alrededor de 1.000 bits por histograma. El descriptor aprovecha el espacio de color HSV debido a su uniformidad cuantificada a 16, 32, 64, 128, o 256 bins. Los valores del histograma se truncan en una representación de entero de 11 bits. Las diferentes configuraciones de la SCD corresponden a diferentes particiones del espacio de color HSV:

HSV bins 16 32 64 128 256
H 4 8 8 8 16
S 2 2 2 4 4
V 2 2 4 4 4

Para una codificación más eficiente, los valores enteros de 11 bits que son no lineal se asignan a la representación de 4 bits para dar mayor importancia a los valores pequeños con mayor probabilidad. Esta representación de 4 bits de los 256-bin HSV rendimientos histograma 1024 bits por histograma. Para reducir este número y garantizar la escalabilidad , el histograma se codifica con una transformación de Haar . La unidad básica transformación de Haar convierte los dos valores de entrada b1 y b2 en su suma , b1 + b2 , y la diferencia , B2 - B2 , considerado como filtros de bajo y de paso alto primitivos , respectivamente . La idea detrás de la codificación de Haar es que el número de contenedores de mitades después de sumar los pares adyacentes en un histograma inicial , de modo que los repetitivos transformación de Haar formas histogramas de 128 , 64 , 32 , y así sucesivamente cajas a partir de un histograma inicial 256 - bin . La diferencia Haar coeficientes de transformación mantienen la información sobre histogramas más fina resolución con mayor número de contenedores . Típicamente , las diferencias entre contenedores adyacentes son pequeños , por lo que los coeficientes de paso alto de inicio de sesión alternativos se pueden truncar a la representación de número entero con sólo un pequeño número de bits . El bit de signo siempre se mantuvo mientras que los bits menos significativos de la parte magnitud se pueden saltar . La única representación bit de signo ( 1 bit por coeficiente ) es extremadamente compacto , mientras que conserva una buena eficiencia de recuperación ( Manjunath ea , 2001 ) . En el nivel de precisión más alto , la parte magnitud se representa por 1 - 8 bits en función de la relevancia de los coeficientes respectivos .

Color Layout Descriptor

Es una representación del color que se observa en la resolución invariante y muy compacta, que permite representar de manera eficaz la distribución espacial de los colores, es un descriptor muy usado en para las recuperaciones basadas en similitud, filtrado por contenido y en visualización. Para obtener este descriptor se aplica la transformada discreta del coseno(DCT) en una matriz 2D con la representación en el espacio de color YCbCr.

Extracción

El proceso de extracción del Color Layout Descriptor consta de cuatro etapas:

  • División de la imagen.
  • Selección del color más representativo.
  • Transformada DCT.
  • Exploración en zig-zag.

El estándar MPEG-7 recomienda el uso del espacio de color YCbCr.

Division de la imagen

En esta etapa lo que se hace es dividir la imagen en 64 bloques para poder garantizar una invariabilidad de la resolucion dependiendo si esta aumenta o disminuye.

Entrada etapa Salida etapa
Entrada de una imagen
[M x N]
Imagen de entrada dividida
en 64 bloques [M/8xN/8]

Una vez se obtiene la imagen icono se aplica la conversión del espacio de color entre RGB y YCbCr.

Seleccionar el color mas representativo de cada bloque

Después de dividir la imagen en 64 bloques, se debe seleccionar un color representativo de cada bloque, se puede usar cualquier tipo de método para seleccionar este color, pero el estándar MPEG-7 recomienda el uso de la media de los pixeles en un mismo bloque como el color representativo del bloque.

Este proceso es mucho mas simple, pero mejora la exactitud y la descripción. Las medias de cada bloque se almacenan en una pequeña imagen de 8x8.

Las entradas y salidas de esta etapa se pueden entender en la siguiente tabla:

Entrada etapa Salida etapa
Imagen de entrada dividida en 64 bloques [M/8xN/8] Imagen icono [8x8]

cuando se obtiene el icono de la imagen se aplica la conversión del espacio de color entre RGB y YCbCr.

Entrada etapa Salida etapa
Imagen icono [8x8] en el espacio de color RGB Imagen icono [8x8] en el espacio de color YCbCr
Transformada Discreta de Coseno (DCT)

En esta etapa, se toman los datos de luminancia que es el componente Y y las dos crominancias(Azul y Roja) de los componente (Cb y Cr) y son transformados en 8x8 DCT, con esto se crean 3 grupos de 64 coeficientes DCT, para calcular el DCT se usa la siguiente formula:

\begin{array}{l}B_{pq}=\alpha_p \alpha_q \sum_{m=0}^{M-1} \sum_{n=0}^{N-1} A_{mn} \cos\frac{\pi(2m+1)p}{2M} \cos\frac{\pi(2n+1)q}{2N},\qquad 0 \le p \le M-1,\; 0 \le q \le N-1 \\ \alpha_p=\begin{cases}\frac{1}{\sqrt{M} },&p=0 \\ \sqrt{\frac{2}{M} },&1\le p\le M-1\end{cases} \qquad \alpha_q=\begin{cases}\frac{1}{\sqrt{N} },&q=0 \\ \sqrt{\frac{2}{N} },&1\le q\le N-1\end{cases}\end{array}

Las entradas y salidas de esta fase se resumen en la siguiente tabla:

Entrada etapa Salida etapa
Imagen icono [8x8] en el
espacio de color YCbCr
3 matrices [8x8] de 64 coeficientes
(DCTY, DCTCb, DCTCr)
Exploracion en Zig Zag

La exploración en zig-zag se realiza sobre los tres grupos de 64 coeficientes DCT, siguiendo el esquema que se presenta en la siguiente figura.

Zigzag scanning.jpg

El objetivo de la exploración en zig-zag son los coeficientes de baja frecuencia de la matriz de 8x8.

Entrada etapa Salida etapa
3 matrices [8x8] de 64 coeficientes
(DCTY, DCTCb, DCTCr)
3 exploraciones en zig-zag de
la matriz (DY, DCB, DCR)

Finalmente, se obtienen este conjunto de tres matrices que corresponden a los CLD de la imagen de entrada.

Color SIFT

Este descriptor es una variación del descriptor SIFT, se hizo esta variación debido a que en algunas ocasiones el color ofrece información que resulta valiosa en el momento de realizar la descripción de objetos, en algunos casos despreciar el color puede generar errores al momento de generar un proceso de clasificación.

Este descriptor tiene las misma propiedades de invarianza del SIFT y se le agregan propiedades de invarianza de color

Invarianza Geométrica

Esta invarianza es aquella que impide que un punto cambie despues de aplicarse en ese punto traslación, rotación, ampliación, o transformaciones afines, así como la oclusión parcial y la apariencia.

F(\vec{x})=F(T\vec{x})

Donde T es una transformación que incluye la traducción, rotación, escala o transformación afín.

La localidad de las características extraídas y la forma en que se construyen los descriptores proporciona la invarianza con respecto a estas variaciones geométricas, El punto más difícil es la invarianza de escala cambia.

Teoría Escala-espacio ofrece las herramientas principales para la selección de las ubicaciones de entidades más sólidas, o los puntos de interés, frente a las variaciones de escala. Dada una señal f: R^N → R, la escala-espacio de representación L: R^N × R + → R se define como:

L(\vec{x},t)=g(\vec{x},t)*f(\vec{x})

donde L (x, 0) = f (x) ∀ x ∈ RN y g (x, t) es el núcleo de la escala-espacio. Como t aumenta, la representación escala - espacio L (x, t) de la señal tiende a escalas más gruesas.

Invarianza de color

En este modelo, los invariantes de color dependen de la edad, la teoría de Kubelka-Munk que modela el espectro reflejado de cuerpos coloreados [13, 26]. La teoría de Kubelka-Munk modela la reflectancia fotométrica por:

E(\boldsymbol{\lambda}, \vec{x}) = e(\boldsymbol{\lambda}, \vec{x})(1- \boldsymbol{\rho} f(\vec{x}))                                                    ^2 R_\infty(\boldsymbol{\lambda}, \vec{x})+e(\boldsymbol{\lambda}, \vec{x})\boldsymbol{\rho} f(\vec{x})

donde λ es la longitud de onda y x es un vector 2D que denota la posición de la imagen. e (λ, x) denota el espectro de iluminación y ρf (x) es la reflectancia de Fresnel en x. R ∞ (λ, x) denota la reflectividad del material. E (λ, x) representa el espectro reflejado en la dirección de la visión. Este modelo es adecuado para el modelado de materiales sin transparencia. Algunos casos especiales pueden derivarse de la ecuación anterior. Por ejemplo, el coeficiente de Fresnel se puede despreciar para superficies mate y sin brillo. Al asumir iluminación igual energía, los componentes espectrales de la fuente son constantes en los wavelengthes y variables a lo largo de la posición, que es aplicable para la mayoría de los casos prácticos.

E(\boldsymbol{\lambda}, \vec{x}) = i(\vec{x})[\boldsymbol{\rho} f(\vec{x})+(1- \boldsymbol{\rho} f(\vec{x}))                                                    ^2 R_\infty(\boldsymbol{\lambda}, \vec{x})]

Al derivar la con respecto a λ, se obtiene:

E_\boldsymbol{\lambda}=i(\vec(x))(1-\boldsymbol{\rho} f(\vec{x})^2 \frac{\partial R_\infty(\boldsymbol{\lambda}, \vec{x})}{\partial \boldsymbol{\lambda}}

y

E_\boldsymbol{\lambda \lambda}=i(\vec(x))(1-\boldsymbol{\rho} f(\vec{x})^2 \frac{\partial^2 R_\infty(\boldsymbol{\lambda}, \vec{x})}{\partial \boldsymbol{\lambda}^2}

Al dividir las dos ecuaciones se obtiene

H=\frac{E_\boldsymbol{\lambda}}{E_\boldsymbol{\lambda \lambda}}=\frac{\frac{\partial R_\infty(\boldsymbol{\lambda}, \vec{x})}{\partial \boldsymbol{\lambda}}}{\frac{\partial^2 R_\infty(\boldsymbol{\lambda}, \vec{x})}{\partial \boldsymbol{\lambda}^2}}=f(R_\infty(\boldsymbol{\lambda}, \vec{x}))

donde H es la propiedad de reflectancia que es independiente del punto de vista, orientación de la superficie, dirección de la iluminación, la intensidad, y el coeficiente de reflectancia de Fresnel.


Matriz resultante


\left (
      \begin{matrix} 
         0.06 & 0.63 & 0.27 \\
         0.3 & 0.04 & -0.35 \\
         0.34 & 0.6 & 0.17 
      \end{matrix}
   \right ).

Buscar, en la literatura, implementaciones de los descriptores propuestos.

Entradas y Salidas de Descriptores de color

Se usaran las implementaciones propuestas por:

Matlab

  1. función rgb2hsv para convertir las imágenes capturadas de un espacio RGB a un espacio HSV
  2. Descriptores del Estandar MPEG-7 se obtuvieron de la siguiente página: http://www.cs.bilkent.edu.tr/~bilmdg/bilvideo-7/Software.html
  3. Color SIFT http://staff.science.uva.nl/~mark/downloads.html

Para acceder a estos ejecutables se realizo un prototipo de una función que permita llamar a estos y poder extraer los descriptores, estas funciones serán implementadas en Matlab.

Seleccionar imágenes del conjunto de entrenamiento con el apoyo de un experto.

Desarrollar un método para extraer los puntos salientes, según los descriptores escogidos, en cada imagen del conjunto de entrenamiento, seleccionado a partir del dataset construido con el apoyo del Centro de Biosistemas de la Universidad Jorge Tadeo Lozano.

Proponer e implementar un método de clasificación de imágenes naturales provenientes de cultivos de tomate basado en la técnica de Bolsa de Características.

El método de bolsa de características es un método que nos permite agrupar un conjunto de puntos salientes, parches o anotaciones y definirlas como palabras visuales las cuales representan una característica representativa de la imagen. Para esto se han realizado métodos de generación de palabras semi-automáticos y/o automáticos puede extraer una representación numérica de los datos que contenga ese parche, anotación o punto saliente, en el caso de estudio se usarán las anotaciones y puntos salientes para detectar las anomalías de la imagen debido a que gracias al apoyo del experto se realizaran las anotaciones de las imágenes.

Se propone un protocolo para iniciar este proceso con el uso de anotaciones

  • Los expertos realizaran las anotaciones, seleccionando áreas que representen la patología
  • Formar nuevas imágenes con las áreas seleccionadas y aplicar los descriptores de color
    • Histograma del espacio de color HSV
    • Aplicar los descriptores del estándar MPEG-7
  • Se usaran descriptores locales de color que extraerán los puntos salientes y estos se definirían como el conjunto de datos para generar las palabras visuales


Normalizar los distintos puntos salientes extraídos del conjunto de entrenamiento.

Adaptar y aplicar el método de agrupamiento k-means clustering para generar un diccionario de palabras visuales a partir de cada descriptor.

Desarrollar un procedimiento basado en la bolsa de características para la generación de palabras visuales utilizando las regiones salientes generadas por los descriptores

Evaluar el desempeño de cada uno de los descriptores seleccionados sobre un conjunto representativo de imágenes.

Realizar una comparación usando distintas métricas (distancia euclidiana, manhattan y Mahalanobis) para poder determinar un nivel de eficiencia de cada uno de los descriptores.

Método de prueba de los descriptores a partir de un procedimiento sencillo de clasificación

BotanyDataCharacterization:Classification