Procesamiento de imágenes aplicada a la
Transcripción
Procesamiento de imágenes aplicada a la
Trabajo Final de la carrera Ingeniería de Sistemas Procesamiento de imágenes aplicada a la tipificación vacuna: análisis de indicadores geométricos basados en curvatura AUTOR: Natalia Mansilla DIRECTORES Dr. Alejandro Clausse Dra. Mariana del Fresno Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos Aires Tandil, 2015 Agradecimientos El que esta tesis se haya realizado y terminado ha sido debido al esfuerzo y ánimo de mucha gente para la que debo y quiero tener unas palabras de justo agradecimiento. En primer lugar quiero agradecer a mis directores de tesis Dra. Mariana Del Fresno y Dr. Alejandro Clausse por su continuo apoyo y guía durante todo este tiempo. Quiero agradecer a mis amigos de la vida y carrera, Alejandro Helling, Silvio Malatini, Ariel Cattáneo, porque nuestros momentos compartidos son siempre memorables, disfruté mucho los pequeños detalles de la vida...los quiero. A vos Marcelo, gracias por ser mi sigiloso guardián y compañero. Todo lo que soy o algún día seré se lo debo a mi familia ellos son lo más importante para mí. Su constante apoyo y ejemplo me han hecho caminar por la vida con paso firme. Ellos son mis padres Lucho y Nora, hermana Mariela, cuñado Fabián y sobrino Tomás. Han sido siempre para mí un ejemplo de esfuerzo y coraje en la vida como lo han demostrado a lo largo de todos estos años. Por último quiero dedicar esta tesis a lo que más quiero en este mundo, a mis padres. Por ser el impulso que necesito para cumplir todas mis metas. Por ellos … todo. GRACIAS !! 2 Contenido Capítulo 1 – Introducción ……………………………………………………………… 8 1.1 Motivación .............................................................................................................. 9 1.2 Organización del Trabajo ........................................................................................ 9 Capítulo 2 - Tipificación vacuna .................................................................................... 11 2.1 Sistemas y criterios para la tipificación ................................................................ 11 2.2 Tecnología para asistencia al proceso de tipificación ........................................... 14 Capítulo 3 - Procesamiento de imágenes y extracción de contornos ............................. 18 3.1 Etapas del procesamiento de imágenes ................................................................. 20 3.1.1 Pre-procesamiento .......................................................................................... 21 3.1.2 Segmentación ................................................................................................. 22 3.1.3 Representación y extracción de características .............................................. 24 3.1.4 Clasificación ................................................................................................... 24 3.1.5 Análisis y generación de reportes................................................................... 26 3.2 Descripción de contornos...................................................................................... 26 3.2.1 Vecinos de un Pixel y Conectividad .............................................................. 27 3.2.2 Descripción y Seguimiento de Contornos ...................................................... 28 Capítulo 4 - Cálculo numérico de la curvatura de siluetas ............................................. 31 4.1 Consideraciones teóricas ....................................................................................... 31 4.2 Cálculo de curvatura mediante un enfoque geométrico ........................................ 32 4.1 Ensayos con curvas ideales ................................................................................... 34 Capítulo 5 - Método de discriminación de tipo de res .................................................... 38 5.1 Evaluación de indicadores adimensionales ........................................................... 44 5.2 Discusión de los resultados ................................................................................... 45 3 Capítulo 6 - Conclusiones y Trabajos Futuros ............................................................... 54 Bibliografía ..................................................................................................................... 58 4 Contenido de Figuras Figura 2.1. - Siluetas tipificadas de medias reses según la clasificación Argentina....... 13 Figura 2.2. - Evaluación de calidad vacuna por grado de marmóreo: sector de la mediares inspeccionado (arriba), aplicación de procesamiento de imágenes (abajo) .............. 15 Figura 2.3. - Evaluación de calidad mediante tecnología de ultrasonido: zona inspeccionada del animal (izq.), equipo de ultrasonido portátil utilizado (der.) ............ 16 Figura 3.1 – Representación de las etapas típicas del procesamiento de imágenes ....... 20 Figura 3.2. - Pre-procesamiento de la imagen: Reducción de ruido (arriba), ampliación de contraste (abajo)......................................................................................................... 21 Figura 3.3. – Resultado de la segmentación: imagen original (izq.), segmentación por umbralado (centro) y por detección de bordes (der.)...................................................... 23 Fig. 3.4. – Clasificador de mínima distancia .................................................................. 25 Figura 3.4. - Pixel P con coordenadas (x, y) y sus 4 vecinos ........................................ 27 Figura 3.5. - Pixel P con coordenadas (x, y) y sus 4 vecinos en diagonal .................... 28 Figura 3.6. - Representación del punto de referencia p y sus 8 vecinos ......................... 29 Figura 3.7. - Ejemplo del comportamiento del algoritmo del código cadena ................ 30 Figura 4.1. - Estimación de la curvatura de una curva plana.......................................... 32 Figura 4.2. - Pseudocódigo del cálculo de curvatura en un punto en particular (arriba) y del perfil de curvatura de un objeto(abajo) ..................................................................... 34 Figura 4.3. - Valores locales de curvatura calculados para un círculo de radio 796 en función del píxel perimetral, con una separación entre puntos del perímetro de 2% (azul), 5% (verde) y 10 % (rojo) del número total de píxeles perimetrales. El valor teórico es -1.256 10-3. .................................................................................................. 35 Figura 4.4. - Perfil polar de curvatura de un círculo de radio 796.................................. 35 Figura 4.5. - Valores locales de curvatura calculados para una elipse con ejes de 1819 y 1285 píxeles, en función del píxel perimetral, con una separación entre puntos del perímetro de 2% (azul), 5% (verde), 10% (rojo) y 36 % (negro) del número total de píxeles perimetrales. Las líneas horizontales indican los valores teóricos de las cotas máxima y mínima de la curvatura. ................................................................................. 37 5 Figura 5.1. - Fotos de medias reses reales obtenidas en frigoríficos (izq) y su correspondiente imagen binarizada (der.), correspondientes a distintas fotografías según la numeración del agente tipificador: foto 24 (a), foto 35 (b), foto 50 (c) ..................... 40 Figura 5.2. - Perfil de curvatura perimetral de la silueta patrón tipo JJ.......................... 41 Figura 5.3. - Perfil de curvatura perimetral de la silueta patrón tipo U .......................... 41 Figura 5.4. - Perfil de curvatura perimetral de la silueta patrón tipo N .......................... 42 Figura 5.5. - Perfil de curvatura perimetral de la silueta patrón tipo A. ......................... 42 Figura 5.6. - Curvaturas medias en función de la distancia de los puntos escoltas al pivote central, para cada una de las siluetas patrón, a saber, de abajo hacia arriba: tipo JJ, U, N y A .................................................................................................................... 43 Figura 5.7. - Indicador I1(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y el perímetro elevado a la n .............................................. 46 Figura 5.8. - Indicador I2(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y el ancho elevado a la n .................................................... 47 Figura 5.9. - Indicador I3(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y la altura elevado a la n ..................................................... 48 Figura 5.10. - Gráfico polar de CH para la silueta patrón del tipo JJ. El círculo rojo indica el valor medio ...................................................................................................... 49 Figura 5.11. - Gráfico polar de CH para la silueta patrón del tipo U. El círculo rojo indica el valor medio ...................................................................................................... 50 CH Figura 5.12. - Gráfico polar de para la silueta patrón del tipo N. El círculo rojo indica el valor medio ...................................................................................................... 50 Figura 5.13. - Gráfico polar de CH para la silueta patrón del tipo A. El círculo rojo indica el valor medio ...................................................................................................... 51 Figura 5.14. - Gráfico polar de CH para la silueta testigo 24. El círculo rojo indica el valor medio ..................................................................................................................... 51 Figura 5.15. - Gráfico polar de CH para la silueta testigo 35. El círculo rojo indica el valor medio ..................................................................................................................... 52 6 Figura 5.16. - Gráfico polar de CH para la silueta testigo 50. El círculo rojo indica el valor medio ..................................................................................................................... 52 Figura 5.17. - Variación del indicador I 3 1 2 para una elipse ..................................... 53 Contenido de tablas Tabla 5.1. - Dimensiones características de las siluetas analizadas. Todas las unidades están en píxeles. .............................................................................................................. 38 7 Capítulo 1 Introducción El procesamiento de imágenes digitales ha tenido una notable evolución en los últimos años, como consecuencia de distintos avances en la investigación científica y la tecnología. Entre las diferentes etapas involucradas en el procesamiento, el análisis de los objetos de interés dentro de una imagen y la extracción de características a partir de ellos constituyen procesos importantes para el posterior análisis de la información derivada (Gonzalez and Woods, 2002). Las áreas de aplicación relacionadas al procesamiento de imágenes son múltiples y diversas. Entre ellas se pueden encontrar, por ejemplo, el diagnóstico de imágenes médicas, desarrollos en visión robótica, análisis de imágenes satelitales, etc. Una aplicación interesante y novedosa del procesamiento de imágenes consiste en la asistencia a la tipificación vacuna. Este proceso, usado para el control de calidad de la carne, involucra el agrupamiento de las medias reses en categorías, determinadas a partir de características comunes (Garriz et al., 1989). La clasificación del ganado vacuno, realizada posteriormente a la faena, influye en la cotización de la carne y en su destino, posibilitando que compradores y vendedores utilicen un lenguaje común que les permita comercializar la carne, incluso sin su presencia física. Además, permite orientar la producción hacia el tipo de reses que el mercado exige, recompensando a las de mayor calidad, y aumenta la competitividad del producto, entre otras ventajas (Zamorano et al., 2002). Cada país utiliza distintas escalas para la tipificación, pero si se observan detenidamente, el fundamento es el mismo y la escala es semejante. Particularmente, en la Argentina la tipificación asigna a las medias reses un patrón estándar establecido para cada una según las normas de la Junta Nacional de Carnes. La identificación asignada se mantiene hasta el consumo industrial o exposición del producto para su venta minorista (Bavera, 2008). 8 1.1 Motivación Habitualmente, la tipificación se basa en la inspección visual, contando para ello con el juicio de agentes oficiales idóneos. Consecuentemente, el método de evaluación y clasificación es visual y subjetivo, dependiendo del ojo crítico del técnico. Esta tarea, además, puede tornarse subjetiva y propensa a errores involuntarios. Por esta razón, han surgido algunas propuestas computacionales que intentan establecer métodos de distinta naturaleza, basados en criterios objetivos. Algunas soluciones se basan en el uso de equipos de ultrasonido, rayos X, imágenes de resonancia magnética u otras modalidades de adquisición de datos volumétricos, que permiten obtener imágenes del interior del animal faenado para determinar la calidad de la carne (Cross and Whittaker, 1992). Otras alternativas, generalmente usadas en tipificación porcina, se basan en la utilización de sistemas electrónicos que efectúan mediciones mediante instrumentos específicos que, penetrando ciertos lugares precisos, permiten medir algunos parámetros para inferir el aprovechamiento de las principales zonas musculares (Garriz et al., 1989). Además se han propuesto enfoques orientados al procesamiento de imágenes para la comparación de características del animal analizado con respecto a datos de referencia, como textura del músculo y contenido de grasa intramuscular (Woerner and Keith, 2008) o grasa bajo la superficie (Tan, 2004). Por otra parte, teniendo en cuenta que un criterio posible de clasificación se basa en la diferenciación de las formas y perfiles que denotan el desarrollo muscular, una opción interesante para contribuir en la asistencia al proceso de tipificación consiste en intentar distinguir los distintos tipos de conformación muscular que es el objetivo de este trabajo. 1.2 Organización del Trabajo En este documento se describe una propuesta basada en el procesamiento de imágenes digitales mediante el análisis de indicadores basados en curvatura, que se aplica a la evaluación de la conformación de animales vacunos, como una posible contribución al proceso de tipificación. 9 En el capítulo 2 se describen los aspectos que tienen que ver con la valoración de la calidad animal y del proceso de tipificación vacuna, particularmente el utilizado en el país. Además se abordan, de manera general, distintas propuestas basadas en tecnología de imágenes para la asistencia al proceso de tipificación. El capítulo 3 presenta los fundamentos y las diferentes etapas del procesamiento de imágenes. También se exponen las opciones para representación de formas y descripción de contornos, especialmente el código cadena que se utiliza en este trabajo. En el capítulo 4 se explica el concepto de curvatura como descriptor de contornos y se detalla un enfoque geométrico para su cálculo, que se aplicó durante el trabajo para la estimación de indicadores para asistir al proceso de tipificación. Se incluye también en este capítulo una prueba de esta medida de curvatura sobre el contorno de formas geométricas ideales. El capítulo 5 analiza la aplicación del estimador propuesto a los contornos de distintas siluetas de medias reses consideradas para la tipificación, y también a los contornos de algunas fotografías reales de medias reses. Se plantea además el cálculo de momentos de distinto orden, definidos a partir del descriptor anterior, los que se evalúan sobre los distintos tipos analizados. Posteriormente, se incluye la propuesta de algunos indicadores adimensionales considerando medidas características de los objetos como perímetro, alto y ancho y se incluye la discusión sobre su aplicación a la discriminación de distintos tipos de figuras, tanto sintéticas como segmentaciones de fotografías de casos reales. Finalmente, en el capítulo 6 se incluyen las conclusiones de este trabajo y se plantean posibles líneas de trabajos futuros. 10 Capítulo 2 Tipificación vacuna Teniendo en cuenta la variabilidad animal se ha buscado compatibilizar algunas cuestiones desde el punto de vista técnico, económico y comercial, apuntando a la demanda de carnes. Luego de algunos intentos particulares, en 1916 se comenzó a aplicar en Estados Unidos un patrón genérico con una metódica descripción para la evaluación de aptitud cárnica a nivel industrial, conocido como tipificación, que aportó notorias ventajas. Entre ellas, la cotización y la comercialización comenzaron a realizarse a partir de la evaluación por parte de inspectores autónomos. En nuestro país, se comenzó a aplicar un proceso similar a partir de 1933. 2.1 Sistemas y criterios para la tipificación Los sistemas de clasificación y tipificación consisten en la caracterización de la carne, vacuna en este caso, según criterios distintivos y cuantificables, que permiten evaluar objetivamente indicadores que hacen a la calidad de la carne, como el pH, el color, la textura y la consistencia de la carne, etc., según las preferencias del mercado. Si bien no hay una definición universal de calidad, ya que ésta depende de diversas circunstancias, los indicadores anteriores se relacionan indirectamente con la contextura de la carne (qué tan tierna es), la cual es una de sus cualidades más apreciadas en gastronomía. En Argentina, se comenzó a tipificar vacunos a partir de la promulgación de la “Ley de Carnes” que creó la Junta Nacional de Carnes la cual estableció normas de clasificación y tipificación de carnes. De esta manera, se potenció el mejoramiento animal y el reconocimiento a la calidad del ganado de los productores rurales. Según lo dispuesto por la ley, los agentes tipificadores asignan a las reses un patrón estándar de 11 aptitud comercial establecido para cada una según las normas de la ex Junta Nacional de Carnes (Bavera, 2008). Los animales faenados se agrupan por categorías, determinadas a partir de características comunes que influyen en su cotización y en la especificación de su destino industrial o de mercado. Si bien la Junta Nacional de Carnes fue disuelta en 1991 por decreto de desregulación de mercados, como parte de la reforma económica nacional, el proceso de tipificación continúa aplicándose en el país. De modo general, las medias reses se agrupan por sexo, peso y edad y a su vez, cada categoría se subdivide de acuerdo a la conformación y a la terminación. La valoración de la conformación se relaciona con el desarrollo de la masa muscular, que evidencia su potencialidad cárnica y su rendimiento; en cambio, la terminación se define como el grado de grasa que presenta el animal, asociado a su estadio fisiológico y al momento en que se encontraba al ser faenado. Existen diferentes tipos de grasa: depósitos internos adiposos (que se retiran de la res en la faena), grasa intramuscular (que se depositan entre los haces de las fibras musculares), grasa intermuscular (que se deposita internamente entre las grandes masas musculares) y grasa subcutánea (debajo del cuero del animal vivo) o externa (sobre la superficie de la res). A este tipo de grasa se refiere la terminación, ya que las anteriores no pueden visualizarse en el animal vivo. En general, se considera que la conformación se refiere a la cantidad, proporción y distribución de la masa muscular en las distintas zonas corporales del animal y no debe estar afectada por la grasa, de modo que la musculatura suele ser un buen estimador de la relación carne/hueso. Las características inherentes a cada categoría se aprecian mejor en la res que en el animal vivo. Para establecer el tipo de conformación es necesario guiarse por las formas, perfiles y relieves que se pueden ver directamente y que revelan el desarrollo de las masas musculares subyacentes. Los términos que se utilizan para describir el tipo de conformación, son los siguientes: musculoso, redondeado, convexo, escaso, cóncavo, etc., según el aspecto visual de la masa muscular. Hacia el final del proceso de tipificación la res queda sellada con un doble código de letras y números. Las letras se refieren a la conformación. En novillos, los tipos se corresponden con las letras: JJ (mayor conformación), J, U, U2, N, T, A (menor conformación); como se muestra en la Figura 2.1.a. Originalmente se habían establecido 12 5 clases, con las letras correspondientes a la palabra “Junta” y posteriormente se agregaron 2 más como producto de una revalorización que surgió a partir de su implementación. El grado de grasa se delimita por números, dentro de una escala que va del 0 (nula o escasa) al 4 (excesiva). Generalmente, cuanto mayor grasa contiene el animal, más se desvaloriza tanto para consumo como para exportación y aún manufactura. Figura 2.1. Siluetas tipificadas de medias reses según la clasificación Argentina Según las condiciones actuales, el agente tipificador observa la media res suspendida del gancho, a cierta distancia y en un ambiente bien iluminado, de forma integral a fin de establecer una impresión general sobre sus formas y equilibrio de las proporciones de las distintas regiones corporales (Garriz et al., 1989). De esta forma, guiándose por las formas, perfiles y relieves que revelan el desarrollo muscular subyacente del animal, puede establecer el grado de conformación. Además, puede evaluar el grado de grasa para determinar la terminación. 13 En otros países se utilizan escalas particulares para la tipificación, pero se basan en el mismo concepto general que el sistema argentino. En Europa se sigue un modelo de referencia jerárquico denominado "EUROP”, que tiene en cuenta la conformación y el engrasamiento, pero con un objetivo más bien orientado a la descripción del producto que comercial. En otros países, como Estados Unidos, Australia, Nueva Zelandia, Alemania y Francia, el sistema utilizado sigue un criterio similar. El sistema norteamericano, conocido como “USDA”, se orienta a la evaluación comercial y considera una serie de indicadores asociados al rendimiento de cortes primarios y a distintos aspectos de calidad exigidos por el mercado. Una particularidad del sistema americano es que la responsabilidad sobre la calidad recae en el mismo productor. Por lo tanto, el control comienza en el feed-lot, con diferentes normas y criterios de calidad, y la tipificación en la línea de faena se realiza a fin de verificar su cumplimiento y asignar el grado correspondiente. 2.2 Tecnología para asistencia al proceso de tipificación Desde inicios de los ´80 ha habido una tendencia bastante generalizada en cuanto a incorporar cierta automatización en los procesos de tipificación y otras actividades rutinarias asociadas. De esta manera, se ha avanzado en el desarrollo de instrumentos y criterios para la evaluación objetiva de la calidad de la carne, tendiente a mejorar la consistencia y objetividad de las tipificaciones. Las tecnologías propuestas inicialmente en Estados Unidos se basaron principalmente en el análisis de imágenes de video (Video Imaging Analysis – VIA) para evaluar el rendimiento y contextura de la carne (Brosnan and Sun, 2004). Con el paso del tiempo, tanto el desarrollo de herramientas de procesamiento de imágenes y video como su experimentación se fue difundiendo en diferentes países, reconociéndose algunas de ellas como estándares para asistencia a la tipificación (Woerner and Keith, 2008). 14 Mediante diferentes técnicas basadas en procesamiento de imágenes y video ha sido posible analizar el grado de marmóreo, o cantidad de vetas de grasa, en sectores específicos de la media-res (área del ojo del bife en la 12° costilla), así como el color de la carne magra y de la grasa, indicadores de utilidad para evaluación de la calidad (Figura 2.2). Entre los métodos propuestos para determinar el grado de marmóreo a partir del procesamiento de imágenes se pueden mencionar algoritmos basados en análisis de textura (Shiranita et al., 1998), umbralado y algoritmos genéticos (Ballerini and Bocchi, 2006), análisis de color y características morfológicas (Valous et al., 2009). Figura 2.2 Evaluación de calidad vacuna por grado de marmóreo: sector de la media-res inspeccionado (arriba), aplicación de procesamiento de imágenes (abajo) 15 Con el fin de mejorar la precisión en la evaluación e incrementar la velocidad y eficiencia del proceso, comenzaron a considerarse otras tecnologías derivadas de la medicina humana, como imágenes de resonancia magnética nuclear, tomografía computarizada y ultrasonido (Cross and Whittaker, 1992). Esta última ha sido una de las modalidades de imagen más exploradas, incluyendo algunas investigaciones sobre el uso de imágenes de ultrasonido en tiempo real para el estudio de las características de la composición y cuantificación de los tejidos musculares y grasos en animales vivos (Figura 2.3). Figura 2.3 Evaluación de calidad mediante tecnología de ultrasonido: zona inspeccionada del animal (izq.), equipo de ultrasonido portátil utilizado (der.) Aunque ningún instrumento o tecnología de imagen ha mostrado la suficiente capacidad como para desplazar completamente la figura del tipificador, se han alcanzado avances importantes a nivel mundial en materia de asistencia al sistema de tipificación y predicción de la terneza de la carne (Woerner and Keith, 2008; Tan, 2004). En otros países estos métodos son utilizados habitualmente para la selección de reproductores y para la valoración del animal. En nuestro país ha habido algunos intentos aislados en este sentido, si bien no se ha logrado la incorporación efectiva de tecnología, debido a condicionamientos de infraestructura de la industria frigorífica y a cuestiones económicas, entre otros factores. En general, en los frigoríficos sigue aplicándose con pocas modificaciones el sistema de 16 la ex Junta Nacional de Carnes mediante la evaluación visual de tipificadores idóneos. En el Instituto de Tecnología de Alimentos se hicieron algunas pruebas experimentales con técnicas de análisis de imágenes de la zona del ojo de bife, basadas en tecnología VIA y se correlacionó con los resultados del método de inspección visual. Se obtuvo cerca del 75% de coincidencias en cuanto a la terminación, pero resultó más bajo (solo un 54%) para la conformación (Zamorano et al., 2002). 17 Capítulo 3 Procesamiento de imágenes y extracción de contornos El análisis de imágenes ha tenido una notable evolución en los últimos años, como consecuencia de diferentes investigaciones y mejoras tecnológicas. Básicamente, involucra la extracción y análisis de información contenida en imágenes digitales. En general, se busca facilitar la extracción de información a partir de los objetos de interés dentro de la imagen a fin de obtener propiedades distintivas para su posterior clasificación. Este problema constituye un campo muy amplio y abierto a la investigación (Zorman et al., 2003) con diversas áreas de aplicación, como por ejemplo: Diagnóstico de imágenes médicas: el procesamiento de imágenes médicas constituye un aspecto clave para el desarrollo de herramientas de asistencia al diagnóstico por imágenes, a través del cual los profesionales pueden observar el interior del cuerpo y estudiar diferentes patologías y enfermedades. Mediante una variedad de técnicas se pueden crear imágenes de las estructuras y actividades dentro del cuerpo (como por ejemplo las radiografías, tomografías computadas, imágenes de resonancia magnética o de medicina nuclear), las cuales pueden ser procesadas mediante distintos algoritmos para detectar estructuras de interés y proceder a su análisis. Visión y robótica: La visión artificial es un subcampo de la inteligencia artificial, cuyo propósito es “programar” una computadora para que "entienda" una escena o las características de una imagen. Este objetivo se puede conseguir por medio del reconocimiento de patrones y procesamiento de imágenes, y se puede aplicar en el control de calidad de los productos fabricados y en procesos de medición de alta precisión, también en microscopía y entornos relacionados con la óptica. Por otra parte, a través de la robótica se pueden aplicar estas técnicas al diseño y empleo de dispositivos para realizar diferentes operaciones, sustituyendo al hombre, por lo general en instalaciones industriales para la inspección de componentes, etc. 18 Análisis de imágenes satelitales: Se pueden encontrar numerosas aplicaciones basadas en el análisis de imágenes satelitales, como las orientadas a cartografía, agricultura, logística, problemáticas ambientales, etc. Las imágenes satelitales contienen gran volumen de información, la cual puede ser analizada mediante la utilización de diferentes técnicas de procesamiento y segmentación de imágenes. Reconocimiento de caracteres: El reconocimiento óptico de caracteres, conocido también por su sigla en inglés como OCR (Optical Character Recognition), es un proceso por el cual en una imagen digital se reconocen los caracteres con la finalidad de poder editarla como texto. Este tipo de aplicaciones son utilizadas como complemento en escáneres y otros dispositivos de captura de imágenes digitales. Identificación de personas y biometría: Aunque las técnicas aún están en desarrollo en este campo, y aun no existe una aplicación totalmente confiable, es evidente la importancia del reconocimiento de imágenes para la identificación de personas en aplicaciones de seguridad o de búsqueda en bases de datos (por ejemplo, en investigaciones policíacas). La biometría implica el reconocimiento del cuerpo humano a través de ciertas características físicas. Entre las distintas técnicas se pueden mencionar la identificación del iris o de patrones en la retina del ojo humano, por huellas dactilares o de la palma de la mano, reconocimiento facial, etc. Este tipo de sistemas se está volviendo cada vez más utilizado, desplazando los sistemas antiguos de identificación. Además de las mencionadas, existen numerosas áreas de aplicación interesantes. Entre ellas, en este trabajo se considera el análisis de imágenes digitales correspondientes a capturas de medias reses, la cual constituye una alternativa novedosa para el desarrollo de herramientas de asistencia al proceso de tipificación. 19 3.1 Etapas del procesamiento de imágenes Luego de la adquisición de una imagen, mediante su procesamiento es posible extraer información sobre formas y estructura. Para ello, por lo general es necesario acondicionar la imagen a fin de mejorar sus propiedades o reducir el ruido, luego segmentar o aislar los objetos de interés que se encuentran dentro de ella y finalmente extraer características que permitan su clasificación. En la Figura 3.1 se muestra un esquema típico de procesamiento de imágenes con algunas de las etapas más importantes que se encuentran involucradas. A continuación se explican brevemente las características de estas etapas. Figura 3.1 – Representación de las etapas típicas del procesamiento de imágenes 20 3.1.1 Pre-procesamiento A fin de mejorar la calidad de una imagen para futuros procesamientos, suele ser necesario realizar un acondicionamiento de la misma para eliminar todo aquello que pueda generar una falla a la hora de tomar una decisión. Esto se debe a que en el momento de la captura, la imagen puede haber sufrido alguna pérdida de calidad, ruido, desenfoque, etc. Esta actividad de bajo nivel, también conocida como preprocesamiento, es utilizada primordialmente para reducir el ruido presente en la imagen, mejorar su contraste o realzar algunas características, como se muestra en la Figura 3.2. En esta etapa, tanto la entrada como la salida son imágenes (Gonzalez and Woods, 2002). Se han propuesto distintos enfoques para pre-procesamiento, que involucran operaciones sobre los puntos individuales de la imagen para modificar su intensidad en función de información general de la imagen o de entornos locales, generalmente a través de la aplicación de filtros lineales o no-lineales (Burner and Burge, 2008). Figura 3.2. Pre-procesamiento de la imagen: Reducción de ruido (arriba), ampliación de contraste (abajo) 21 3.1.2 Segmentación El procedimiento de segmentación permite dividir una imagen en regiones disjuntas. Este proceso se usa tanto para agrupar puntos de la imagen que conforman regiones con características similares como para encontrar los límites de éstas dentro de una imagen (Castleman, 1996; Gonzalez and Woods, 2002). Dentro del primer caso se encuentran los algoritmos orientados a regiones, mientras que el segundo caso abarca los métodos de segmentación de bordes (Figura 3.3). El nivel al que se realiza esta subdivisión depende de la aplicación en particular. Uno de los enfoque de segmentación más simples, denominado umbralado, se basa en el agrupamiento de los puntos de la imagen teniendo en cuenta solamente sus características individuales, como nivel de gris, color o textura. Este método provee una alternativa fácil y conveniente de separar las áreas de interés dentro de la imagen, pero justamente debido a su simplicidad, no siempre genera resultados satisfactorios. Cuando el objeto y el fondo poseen valores de intensidad o color claramente uniformes, el objeto puede detectarse fácilmente particionando el histograma de la imagen en un valor apropiado denominado umbral y asignando cada punto de la imagen a objeto o fondo, según su valor esté por abajo o por arriba de dicho valor (Fisher et al, 2000). En implementaciones más sofisticadas pueden especificarse múltiples umbrales, asociadas a distintos “valles” del histograma, de modo que cada rango de valores pueda asignarse a distintas clases. Con respecto a las imágenes color o multiespectrales, existen adaptaciones del umbralado, ya que es una técnica originalmente planteada para escala de grises (Cheng et al., 2000). Los métodos basados en regiones o en bordes explotan la información de contexto de los píxeles y las estructuras de la imagen, poniendo énfasis en la búsqueda de similitudes entre los puntos o en los cambios significativos de los niveles de gris de píxeles vecinos, respectivamente. Las técnicas de segmentación basadas en bordes son adecuadas cuando las regiones son suficientemente homogéneas de manera que la transición entre regiones se pueda realizar en base a los tonos de gris. En caso contrario, 22 es más adecuado utilizar las técnicas de segmentación basadas en regiones ya que los métodos anteriores son sensibles al ruido. Finalmente, existen algunos métodos basados en modelos físicos que utilizan algún tipo de información intrínseca de la imagen para guiar la segmentación. No proveen una solución general, sino que son aplicables a casos específicos (tales como ciertas tareas de inspección de calidad, donde la naturaleza de la iluminación y superficies de reflexión se conocen a priori). Independientemente del método utilizado, luego de la segmentación cada uno de los píxeles de una región resultan similares respecto de alguna característica y las regiones adyacentes son significativamente diferentes con respecto a las mismas características (Gonzalez and Woods, 2002). En general, la segmentación es una de las tareas más importantes en el procesamiento digital de imágenes, constituyendo un componente crítico y esencial en el análisis de las mismas ya que generalmente condiciona la calidad del resultado final de análisis (Gonzalez and Woods, 2002). Figura 3.3. – Resultado de la segmentación: imagen original (izq.), segmentación por umbralado (centro) y por detección de bordes (der.) 23 3.1.3 Representación y extracción de características Luego que una imagen ha sido segmentada en sus regiones de interés, el conjunto de puntos resultantes puede ser representado y descripto de alguna manera apropiada para su consecuente procesamiento. En función de la aplicación, es posible representarlos en función de sus características externas, por ejemplo su contorno, o mediante sus propiedades internas, es decir de los puntos que componen la región (Gonzalez and Woods, 2002). A partir del patrón de representación elegido, la etapa de descripción se encarga entonces de extraer información discriminatoria, eliminando la información redundante e irrelevante. Su principal propósito es reducir la dimensión del problema de reconocimiento. Cuando el problema se enfoca a las características de forma de los objetos, se puede recurrir a una representación externa del contorno de los mismos, utilizando ya sea un código cadena o una aproximación poligonal, también puede considerarse la longitud del contorno, la orientación de los ejes principales, etc. En cambio, es conveniente recurrir a una representación interna cuando el problema requiere información sobre las propiedades o características de las mismas regiones de interés, como la media y desvío de intensidad o descriptores de textura, entre otras. En ocasiones, también puede ser necesario recurrir a ambos tipos de representación, dependiendo de las características del problema en particular. La extracción de características es un componente esencial en distintos problemas de procesamiento de imágenes, como paso previo a la clasificación de los objetos de interés detectados dentro de ella. 3.1.4 Clasificación En numerosas aplicaciones, la meta final es la distinción o clasificación de los objetos dentro de la imagen en categorías o clases, a partir de la identificación de 24 propiedades relevantes que permiten diferenciarlos y que se busca extraer para poder medirlos. Estas propiedades conforman un patrón de características para cada objeto de interés y sus medidas o parámetros particulares deben pasar entonces a un clasificador, el cual determina a cuál de las clases existentes pertenece cada objeto (Friedman and Kandel, 1999). Un patrón puede considerarse como un arreglo de descriptores o características y una clase consiste en una familia de patrones que comparten ciertas propiedades comunes. La elección de los descriptores considerados condiciona fuertemente el grado de separabilidad de las clases y por ende la performance del proceso de reconocimiento de objetos (Gonzalez and Woods, 2002; Castleman, 1996). Existen distintas técnicas de clasificación, como los clasificadores estadísticos basados en distancia mínima, que realizan la clasificación de un patrón en función de la menor distancia (euclidea) a una de las clases en el espacio de características. También se encuentran los clasificadores basados en criterios de entropía, que tratan de minimizar el grado de incertidumbre o de dispersión dentro de cada clase a la vez que preserva la dispersión entre clases, o clasificadores que utilizan redes neuronales artificiales. En la Fig. 3.4 se observa el reconocimiento de patrones, que ejemplifica un clasificador de mínima distancia. Fig. 3.4 – Clasificador de mínima distancia 25 3.1.5 Análisis y generación de reportes A partir del resultado del proceso de clasificación, al presentar una nueva entrada, el clasificador debe estar en posición de dar una respuesta que permita asignar la nueva entrada a una de las posibles clases, aunque no sea igual a los ejemplos utilizados en la fase del entrenamiento. Además, es importante que los resultados presentados sean fácilmente entendibles para cualquier usuario del sistema, ya que es posible que a pesar de que la respuesta sea satisfactoria, no sea lo suficientemente entendible y complique la toma de decisiones. 3.2 Descripción de contornos Una vez que un objeto ha sido segmentado dentro de la imagen, en algunas aplicaciones puede resultar conveniente lograr una representación del mismo, por ejemplo, en términos de sus características externas; es decir, de su contorno. Existen diversos algoritmos que permiten obtener los contornos de los objetos segmentados. Uno de los enfoques es mediante contornos paramétricos, donde el contorno de la figura se representa como una curva paramétrica, pudiendo establecer un orden secuencial a lo largo del mismo, otro enfoque posible es mediante conjuntos de puntos que pertenecen al contorno pero sin un orden particular entre ellos y además es posible considerar aproximación de curvas, ajustando el contorno mediante un conjunto de primitivas geométricas, como segmentos de línea, splines, etc. (da Fontoura Costa and Marcondes Cesar, 2009). Respecto del primer enfoque, se han propuesto distintos algoritmos para extraer contornos paramétricos en imágenes binarias. Una de las opciones consiste en recuperar el contorno de un objeto, mediante las coordenadas de cada uno de los puntos que lo conforman. Esto permite que el conjunto de puntos que componen el contorno paramétrico sea indexado en términos de un valor paramétrico en orden creciente. En este sentido, uno de los algoritmos más efectivos y eficientes para lograr una descripción más compacta es el algoritmo conocido como código cadena (Burger and 26 Burge, 2008). Antes de describir el algoritmo, se revisarán algunos conceptos y definiciones relacionadas. 3.2.1 Vecinos de un Pixel y Conectividad Un píxel p de coordenadas (x, y) tiene cuatro vecinos horizontales y verticales, cuyas coordenadas vienen dadas por: (x-1, y), (x+1, y), (x, y-1), (x, y+1), como se puede apreciar en la Figura 3.4. Figura 3.4: Pixel P con coordenadas (x, y) y sus 4 vecinos Este conjunto de píxeles, denominado la vecindad-4 de p, se representa por N4(p) y cada vecino está a una unidad de longitud de (x, y). Algunos de los vecinos de p pueden caer fuera de la imagen digital si (x, y) está en el borde de la imagen. Los 4 vecinos en diagonal de p tienen las coordenadas: (x-1, y-1), (x-1, y+1), (x+1, y1), (x+1, y+1), como se puede apreciar en la Figura 3.5. Estos puntos, junto a los 4vecinos, se denominan vecindad-8 de p y se representa por N8(p). Al igual que antes, algunos puntos de N8 (p) pueden caer fuera de la imagen si (x, y) está en el borde. La conectividad entre píxeles es un concepto importante, empleado para establecer los límites de los objetos y los componentes de regiones en una imagen. Para determinar si dos píxeles están conectados debe determinarse si son adyacentes en algún sentido y si sus valores cumplen un criterio especificado de similitud (típicamente, de igual intensidad). 27 Figura 3.5: Pixel P con coordenadas (x, y) y sus 4 vecinos en diagonal Hay dos tipos de conectividad: Conectividad-4: Dos píxeles p y q con valores dentro de V están 4-conectados si q pertenece a N4(p). Conectividad-8: Dos píxeles p y q con valores dentro de V están 8-conectados si q pertenece a N8(p). 3.2.2 Descripción y Seguimiento de Contornos Para el seguimiento del contorno de un objeto previamente segmentado se puede recurrir al código cadena. Según esta codificación, a partir de un punto de inicio, el contorno se representa por una secuencia de cambios direccionales que el mismo describe en la imagen discretizada, haciendo uso de la conectividad de los puntos. (Castleman, 1996). Suponiendo conectividad-8, el criterio es que cada punto del borde tiene un pixel adyacente cuya dirección respecto del punto de referencia tiene un valor único entre 0 y 7, como se indica en la Figura 3.6. También puede considerarse a partir de una conectividad-4, pero la convención y la asignación de valores deben mantenerse para toda la imagen durante el recorrido. Considerando esta representación, el algoritmo de seguimiento de contorno permite extraer el contorno de cada una de las componentes conectadas dentro de una imagen binaria. Para ello, se recorre la imagen buscando los puntos que definen cada objeto de interés y se retorna una lista que contiene las coordenadas (x, y) de los puntos que definen el contorno del objeto. 28 3 2 1 4 p 0 5 6 7 Figura 3.6: Representación del punto de referencia p y sus 8 vecinos Para cada región segmentada, se selecciona un punto inicial y se determinan sus coordenadas. Luego, el algoritmo decide cuál es el siguiente pixel vecino del contorno, realizando una búsqueda en un recorrido sobre N8(p), de tal forma que el pixel central p coincida con el pixel del contorno que está siendo analizado y el siguiente es uno de los vecinos etiquetados como 0, 1, 2,... 7 representando la dirección del movimiento (Figura 3.6). El procedimiento se repite, moviéndose a lo largo del límite del objeto, hasta que se retorna a la posición inicial. A modo de ejemplo, puede apreciarse el comportamiento del algoritmo en la Figura 3.7. El pixel de inicio se encuentra en las coordenadas y se marca como visitado, se localiza el vecino que corresponde al siguiente punto de borde en las coordenadas (2, 2) y el proceso continúa hasta que se logra alcanzar el punto de inicio. El barrido comienza recorriendo de izquierda a derecha, y de arriba hacia abajo buscando el primer punto del contorno. En este caso, es encontrado en las coordenadas (3, 1), se almacena dicha coordenada y se marca el punto como visitado. Luego, el algoritmo continúa buscando el próximo vecino no visitado dentro de sus 8-vecinos en sentido anti-horario. Una vez hallado, en este caso en la coordenada (2, 2), éste se almacena y se prosigue de la misma manera. El siguiente vecino más próximo es hallado ahora las coordenadas (3, 1), el cual es descartado debido a que ya fue visitado, entonces continúa la búsqueda encontrando el siguiente en las coordenadas (1, 3). El algoritmo continúa seleccionando puntos iterativamente, hasta que el próximo vecino es el punto que fue detectado como punto de inicio, en la coordenada (3, 1). 29 Figura 3.7 Ejemplo del comportamiento del algoritmo del código cadena 30 Capítulo 4 Cálculo numérico de la curvatura de siluetas 4.1 Consideraciones teóricas Existen diferentes descriptores de forma que permiten caracterizar objetos dentro de en una imagen, los cuales pueden dividirse en dos grupos principales: basados en información sobre el contorno o en información de la región (Locaric, 1998; Amanatiadis et al., 2011). Dentro de los primeros, una de las alternativas consiste en utilizar una estimación de la curvatura local en cada punto del contorno, generando así una señal unidimensional asociada a la silueta del objeto en 2D que se quiere caracterizar (da Fontoura Costa and Marcondes Cesar, 2009; Seul et al., 2001). Este enfoque ha sido usado en diferentes aplicaciones, como reconocimiento y recuperación de imágenes, registración, segmentación y análisis (Rueda et al., 2010). La curvatura es una medida de una curva invariante ante traslaciones y rotaciones. Esta medida tiene sus orígenes en la geometría diferencial, y esencialmente compara a nivel local la curva en cuestión con una circunferencia. En tres dimensiones la curvatura es un tensor, el cual se reduce a un escalar para curvas planas. En este caso la curvatura es la inversa del radio del círculo cuyo diferencial de arco coincide con el diferencial de arco de la curva. Salvo en la circunferencia, que tiene curvatura constante, y en la recta, que tiene curvatura infinita en todo punto, en todas las curvas planas la curvatura es dependiente del punto de la curva. Una interpretación intuitiva de la curvatura de una curva en el plano es la rapidez con la que la curva abandona la tangente en ese punto. Puede considerarse también como una medida del cambio que sufre la dirección del vector tangente a una curva a medida que se desplaza a lo largo de ésta. La curvatura tiene aplicaciones en visión por computadoras, reconstrucción de objetos 3D, computación gráfica y reconocimiento de patrones, entre otras (Maldonado, 31 2010). En la visión por computadoras y la reconstrucción de objetos 3D, son muchas las áreas y problemas vinculados a ellas en los cuales la estimación y utilización de la curvatura se han convertido en una etapa fundamental en la búsqueda de soluciones como el registro, la integración, la simplificación de puntos y la segmentación. 4.2 Cálculo de curvatura mediante un enfoque geométrico Como por tres puntos cualquiera en el plano pasa una y solo una circunferencia, una técnica práctica para estimar la curvatura de una curva plana es calcular el radio de la circunferencia que pasa por tres puntos cercanos (x0, u0), (x1, u1), (x2, u2) pertenecientes a la curva, como se muestra en la Figura 4.1 (Dalle, 2006). La estimación de la curvatura es la inversa del radio de ese círculo, que está dada por la ecuación (1): 4 abc (1) Figura 4.1. Estimación de la curvatura de una curva plana. donde: xo x1 x2 xo x2 x1 a , b , c u2 u1 u 2 uo uo u1 32 y: 1 x2 x1 u2 u1 2 xo x1 uo u1 La curvatura puede ser negativa o positiva, según sea la concavidad local. El valor es positivo en zonas donde el objeto es convexo y negativo donde es cóncavo (Castleman, 1996). En este trabajo se propone la aplicación del cálculo de la curvatura para el problema de la tipificación vacuna, a partir del análisis de imágenes correspondientes a capturas de medias reses. Para esto, una vez determinada la secuencia de puntos que forman el perímetro de una media res, se procede a estimar la curvatura en cada punto usando la ecuación 4.1. El punto al que se asignará la curvatura se toma como punto central, y se eligen dos puntos del perímetro a ambos lados separados una cierta cantidad de puntos arbitraria del punto central. La separación entre el punto central y los puntos extremos de la tripla influye en la estimación, lo cual debió ser estudiado en detalle para determinar el valor óptimo respecto al objetivo de caracterizar los perímetros en clases. Siguiendo este lineamiento, se implementó un algoritmo de cálculo del perfil de curvatura de una curva plana dada por una sucesión de puntos. En la figura 4.2, se muestra el pseudo-código de la función asociada al cálculo de la curvatura en un punto testigo y de la función que, utilizando la anterior, permite recuperar el perfil de curvatura de todo el contorno de la silueta. Function CurvaturaEnUnPunto(deltaN, punto) (x1; y1)= coordenadas del punto central (x0; y0)= coordenadas del punto anterior en el contorno (x2; y2)= coordenadas del punto siguiente en el contorno a:= x0-x1; b:=x2-x1; c:= y0-y1; d:=y2-y1; d=[a*d - b*c] si (d = 0) entonces k= 0 sino a= modulo entre (x0, y0, x1, y1) b= modulo entre (x2, y2, x1, y1) c= modulo entre (x2, y2, x0, y0) area= d / 2 k= (4*area)/(a*b*c) 33 Function PerfilCurvatura() deltaN= determinar el valor de delta NroP= cantidad de puntos del contorno del objeto p= recuperar el primer punto del contorno Para i=1 hasta NroP hacer: Curvaturas[i]= curvaturaEnUnPunto(deltaN, p) p= recuperar el siguiente punto en el código cadena Figura 4.2: Pseudocódigo del cálculo de curvatura en un punto en particular (arriba) y del perfil de curvatura de un objeto(abajo) 4.3 Ensayos con curvas ideales El algoritmo descripto para el cálculo de la curvatura de siluetas se ensayó primero en perímetros de figuras ideales construidas sintéticamente. Primero se aplicó el procedimiento a una circunferencia de 4500 píxeles de perímetro y 796 de radio. El radio fue calculado promediando las distancias de cada pixel del perímetro al centro, cuya posición (x, y) corresponde al centroide de todos los píxeles del perímetro. Se aplicó el algoritmo de estimación de curvatura en cada pixel del perímetro, usando como puntos escoltas los puntos ubicados en la lista perimetral a 90, 225 y 450 píxeles para cada lado. Estas distancias corresponden a 2, 5 y 10% del perímetro, respectivamente. Las Figs. 4.3 y 4.4 muestran el perfil de curvatura en función del pixel y el ángulo polar respectivamente. En este caso, el valor teórico de la curvatura es de -1.256 10-3. Puede observarse que a medida que aumenta la separación entre pixeles mejora la estimación. Los patrones regulares del ruido son consecuencia de la configuración de los puntos del perímetro, que se realiza en forma automática a partir de una imagen digital. No se trató de mejorar este efecto con post-procesamiento de datos ya que en un caso de una silueta genérica no se dispone de información a priori. 34 Figura 4.3. Valores locales de curvatura calculados para un círculo de radio 796 en función del píxel perimetral, con una separación entre puntos del perímetro de 2% (azul), 5% (verde) y 10 % (rojo) del número total de píxeles perimetrales. El valor teórico es -1.256 10-3. Figura 4.4. Perfil polar de curvatura de un círculo de radio 796 35 El segundo test se realizó sobre una elipse de 4454 píxeles de perímetro. Para calcular la longitud de los ejes a y b de la elipse se determinaron primero las coordenadas del centro promediando las coordenadas de los puntos perimetrales. Luego se calcularon la máxima y mínima distancia entre los puntos del perímetro y el centro. Los valores resultantes son 1819 y 1285 píxeles, respectivamente. Con estas longitudes se calcularon las cotas teóricas superior e inferior de la curvatura de la elipse, a saber: a 0.00220 b2 b 2 0.000777 a Cmáx Cmín (2) donde a es el eje mayor y b el eje menor. En la Figura 4.5 se muestra el perfil de curvatura local de la elipse calculado numéricamente usando puntos escolta separados del punto central por 89, 222, 445 y 1602 píxeles, correspondientes a 2, 5, 10 y 36 % del perímetro, respectivamente. Puede verse que se dan patrones regulares de dispersión parecidos a los que se obtuvieron con el círculo. En el caso de la elipse, se ve que con separaciones de 5% (verde) se reproduce bien la cota máxima, y con 10% (rojo) la mínima. Esto sugiere que el valor óptimo de separación en general es dependiente de la curvatura, es decir a mayor curvatura menor separación, lo cual es una tendencia lógica y esperable. Lamentablemente, no es fácil de decidir a priori la separación óptima en un perímetro irregular como el de la silueta de medias reses. Sin embargo, dado que el objetivo no es determinar exactamente la curvatura sino usar esta característica geométrica para distinguir diferencias de musculatura entre clases de vacas, es suficiente con reducir el ruido, lo cual es posible controlar en la mayoría de los casos. 36 Figura 4.5. Valores locales de curvatura calculados para una elipse con ejes de 1819 y 1285 píxeles, en función del píxel perimetral, con una separación entre puntos del perímetro de 2% (azul), 5% (verde), 10% (rojo) y 36 % (negro) del número total de píxeles perimetrales. Las líneas horizontales indican los valores teóricos de las cotas máxima y mínima de la curvatura. 37 Capítulo 5 Método de discriminación de tipo de res En este capítulo se describe el desarrollo de un método de discriminación de tipo de res, en cuanto a su conformación, basado en el análisis del perfil de curvatura de la silueta de la media res. Dado que el perfil de curvatura del perímetro está determinado en gran medida por la musculatura del animal, es razonable esperar que sea posible construir con aquella un indicador que sirva para tipificar la media res. Aplicando los algoritmos de procesamiento descriptos en los capítulos anteriores se construyeron listas de las coordenadas de los perfiles de siluetas patrones de los cuatro tipos de res más diferenciadas: JJ, U, N y A. Lo mismo se realizó con tres fotos testigo de medias reses clasificadas por expertos como tipo U (Figura 5.1), que es uno de los tipos más comúnmente utilizados para consumo en Argentina. Las dimensiones características de cada silueta se detallan en la Tabla 5.1. SILUETA PERÍMETRO ANCHO ALTURA JJ 5499 783 2407 U 5443 755 2387 N 5477 770 2377 A 5615 760 2385 Foto 24 2512 383 1072 Foto 35 2600 390 1097 Foto 50 2303 345 976 Tabla 5.1. Dimensiones características de las siluetas analizadas. Todas las unidades están en píxeles. 38 (a) (b) 39 (c) Figura 5.1. Fotos de medias reses reales obtenidas en frigoríficos (izq) y su correspondiente imagen binarizada (der.), correspondientes a distintas fotografías según la numeración del agente tipificador: foto 24 (a), foto 35 (b), foto 50 (c) En la Figuras 5.2 a 5.5 se muestran los perfiles de curvatura de cada patrón obtenidos con el algoritmo descripto en el capítulo 4, usando en cada caso separaciones entre el punto central y los escolta de 100, 200, 300 400 y 500 píxeles. Puede observarse que, al igual que en los casos sintéticos del círculo y la elipse, la dispersión del perfil de curvatura varía con la separación entre los puntos escolta y el punto central de la fórmula de estimación de la curvatura. 40 Figura 5.2. Perfil de curvatura perimetral de la silueta patrón tipo JJ Figura 5.3. Perfil de curvatura perimetral de la silueta patrón tipo U 41 Figura 5.4. Perfil de curvatura perimetral de la silueta patrón tipo N Figura 5.5. Perfil de curvatura perimetral de la silueta patrón tipo A. 42 Si bien la curvatura misma puede utilizarse como un descriptor de forma, según el caso puede presentar algunas desventajas, como su redundancia y que, dependiendo de la cantidad de puntos que describen el límite del objeto, la señal de curvatura puede ser muy extensa. En consecuencia, una vez que se han estimado los valores de curvatura para cada punto de contorno, se pueden calcular diferentes indicadores basados en curvatura (da Fontoura Costa and Marcondes, 2009). El indicador más directo que puede construirse es el promedio de la curvatura, o más genéricamente, el momento n del perfil, es decir promedios de la curvatura elevada a la potencia n. En la Figura 5.6 se muestra la curvatura promedio de cada silueta patrón en función de la separación entre los puntos escoltas y el punto central, para los cuatro tipos de conformación considerados: de abajo hacia arriba: tipo JJ, U, N y A. Como es de esperarse, hay una cierta variación pero afortunadamente, dentro del rango de distancias estudiado, el ordenamiento relativo entre siluetas se mantiene. Sin embargo, el problema principal que se observa es que la curvatura media difiere muy poco entre los tipos JJ, U y N. Figura 5.6. Curvaturas medias en función de la distancia de los puntos escoltas al pivote central, para cada una de las siluetas patrón, a saber, de abajo hacia arriba: tipo JJ, U, N y A 43 5.1 Evaluación de indicadores adimensionales En general, el valor absoluto de la curvatura depende de la resolución de la imagen digital de la silueta. Para que el indicador discriminatorio sea universal éste debe ser independiente de la resolución. Para ello es necesario normalizar la curvatura con alguna de las dimensiones características de la silueta. La curvatura tiene unidades de inversa de longitud, por lo cual se adimensionaliza multiplicándola por una longitud. Se decidió entonces hacer ensayos con tres longitudes características principales: el perímetro, el ancho y la altura. Las dos últimas dimensiones se calcularon restando la máxima y mínima coordenada x e y del perímetro. Dada una longitud característica Li, definimos el indicador Ii(n) como lo indica la ecuación (3): Ii n C n Lni (3) donde indica la operación promedio y el valor absoluto. Se usó el valor absoluto de la curvatura C para poder explorar valores fraccionarios del parámetro n. Para n > 1 se da más peso a los valores altos de curvatura, mientras que para n < 1 se aumenta la importancia relativa de los valores medios y bajos de curvatura. Se analizaron los resultados con las tres longitudes características seleccionadas, a saber: perímetro (i=1), ancho (i=2) y altura (i=3). Dado que se vio que la distancia del pivote a las escoltas influye en el resultado, se trató de mantener una proporción entre éstas y el tamaño de la silueta similar en todos casos. Esto es particularmente importante porque las siluetas patrón tienen aproximadamente el doble de resolución que las siluetas testigos. Luego de explorar varias alternativas se decidió usar una distancia escolta-pivote de 200 para los patrones y 100 para los testigos. Usando las familias de indicadores se exploró la capacidad de discriminación en función del parámetro n y de la longitud de referencia Li. En la Figuras 5.7 a 5.9 se 44 muestra la variación del indicador con el tipo de res para distintos n. En cada gráfico también se señala con tres puntos los valores del indicador correspondientes a las siluetas de las tres fotos reales testigos tipo U. Se observa que todos los momentos de la curvatura normalizada con cualquiera de las longitudes de referencia son capaces de discriminar los cuatro tipos de res estudiados. Sin embargo, la normalización con el ancho no permite clasificar adecuadamente los casos reales, por lo cual fue descartada. La normalización con el perímetro permite una clasificación razonable de las fotos testigo tipo U usando n = 3/4. El mejor resultado se obtuvo con el indicador I3 (1/2), que logró clasificar con baja dispersión todas las siluetas testigos. 5.2 Discusión de los resultados En esta sección se analiza en particular el indicador I3 (1/2) que fue aquel con el cual se lograron los mejores resultados de clasificación del tipo de res. De acuerdo a la fórmula propuesta, el indicador corresponde al promedio de la raíz cuadrada del valor absoluto de la curvatura C normalizada con la altura de la silueta L3 = H, como se indica en la ecuación (4), es decir: I 3 1 2 CH (4) Para visualizar el comportamiento de este indicador, se estudió el perfil de la función CH . En cada silueta patrón la curvatura se calculó con una distancia pivote-escolta de 200 píxeles, y en cada silueta testigo con 100 píxeles. Esto corresponde aproximadamente a una proporción del 10% de la altura. Dado que el promedio luego actúa como filtro suavizante, este orden de aproximación fue suficiente, es decir, los resultados son similares con proporciones entre 8 y 11%. 45 Figura 5.7. Indicador I1(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y el perímetro elevado a la n 46 Figura 5.8. Indicador I2(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y el ancho elevado a la n 47 Figura 5.9. Indicador I3(n) para cada tipo de res. El indicador es el promedio del producto entre la curvatura y la altura elevado a la n 48 En las Figuras 5.10 a 5.16 se muestran los gráficos polares de la función CH para cada silueta patrón y para las tres siluetas testigo tipificadas U. Puede verse que la función presenta múltiples lóbulos que corresponden a máximos de curvatura que se dan especialmente en las extremidades del animal. En cada gráfico se muestra con un círculo rojo el valor medio, que es el que se usa como indicador. Puede verse que el radio de este círculo crece siguiendo la progresión JJ, U, N, A. Por otra parte, en los gráficos de las fotos de las medias reses se advierte que el perfil sigue un comportamiento general bastante parecido a los patrones, aunque algunos lóbulos tienen formas levemente diferentes. También se puede ver que los valores medios de los testigos están cercanos al del tipo U. Figura 5.10. Gráfico polar de CH para la silueta patrón del tipo JJ. El círculo rojo indica el valor medio 49 Figura 5.11. Gráfico polar de CH para la silueta patrón del tipo U. El círculo rojo indica el valor medio. Figura 5.12. Gráfico polar de CH para la silueta patrón del tipo N. El círculo rojo indica el valor medio 50 Figura 5.13. Gráfico polar de CH para la silueta patrón del tipo A. El círculo rojo indica el valor medio Figura 5.14. Gráfico polar de CH para la silueta testigo 24. El círculo rojo indica el valor medio 51 Figura 5.15. Gráfico polar de CH para la silueta testigo 35. El círculo rojo indica el valor medio Figura 5.16. Gráfico polar de CH para la silueta testigo 50. El círculo rojo indica el valor medio 52 Es interesante notar que si la silueta fuera un círculo, la altura coincide con el diámetro y la curvatura con la inversa del radio, con lo cual I3 1 2 2 1.42 . Para una elipse podemos estimar el indicador como el promedio de los extremos de curvatura. Para una elipse de altura H y ancho A, el indicador estaría dado como se muestra en la ecuación (5): 1 A H 1 A H I 3 1 2 2 2 H 2 H A 2 H A (5) En la Figura 5.17 se muestra la dependencia del indicador en función de A/H. Puede verse que para A/H =1 (círculo), el valor coincide con la raíz cuadrada de 2, y que el indicador crece a medida que la altura se hace más grande que el ancho. El valor obtenido para el tipo U (~1.8) es entonces equivalente a una elipse con A/H 1/4. Figura 5.17. - Variación del indicador I 3 1 2 para una elipse 53 Capítulo 6 Conclusiones y trabajos futuros En este trabajo se abordó una aplicación particularmente interesante del procesamiento de imágenes y la estimación de indicadores al problema de tipificación vacuna. A tal fin, inicialmente se estudiaron los distintos aspectos referidos al proceso de evaluación de la aptitud cárnica en la industria frigorífica mediante criterios cuantificables y en particular se analizó el sistema de tipificación utilizado en nuestro país. Este esquema se basa en categorías que tienen en cuenta la conformación del animal faenado, que se relaciona con el desarrollo de la masa muscular, y también considera la terminación, que se asocia al grado de engrasamiento externo de la media res. Si bien se han realizado algunas propuestas para la automatización del proceso de tipificación, por el momento en Argentina no se ha logrado la incorporación efectiva de tecnología, por cuestiones principalmente económicas y de infraestructura industrial. Por tal motivo, se analizó la factibilidad de desarrollar una herramienta computacional de asistencia al proceso de inspección visual que habitualmente llevan a cabo los agentes idóneos, que pueda brindar una serie de criterios objetivos para la decisión. A tal fin, se estudiaron diferentes aspectos del procesamiento de imágenes digitales, en especial aquellos involucrados en la extracción y descripción de contornos a partir de imágenes segmentadas, a fin de generar una representación conveniente del contorno asociado. De este modo, una vez binarizadas las imágenes correspondientes a los diferentes tipos de siluetas considerados en la clasificación, se procedió a extraer información sobre el contorno y al posterior estudio de indicadores cuantitativos que permitieran su discriminación. 54 Se evaluó que la estimación de la curvatura calculada en cada punto del contorno de las medias reses podía servir para la determinación de tales indicadores. De acuerdo al enfoque geométrico considerado para su cálculo, a partir de un punto central y otros dos extremos (o escoltas) sobre el mismo contorno, se estudió el resultado obtenido según se variara la separación entre ellos para a fin de determinar un valor conveniente para la caracterización. Inicialmente, el algoritmo se aplicó sobre curvas ideales, como círculos y elipses, generadas sintéticamente. De esta manera, se pudo comprobar que a mayor distancia entre los puntos (correspondiente a un cierto porcentaje de elementos en el contorno) mejora la estimación de la curvatura. Sin embargo, se evidenciaron algunos patrones regulares de ruido como consecuencia de la configuración de los puntos del perímetro de las figuras consideradas. Este efecto podría haberse corregido a partir de las características propias de las figuras, pero se decidió obviarlo debido a que al tratar con siluetas genéricas de forma variable no se dispone de tal información a priori. Otro aspecto analizado a partir de las pruebas realizadas es que el valor óptimo de separación entre los puntos del contorno usados para la estimación en general es dependiente de la curvatura; es decir, a mayor curvatura menor separación requerida, lo que era de esperar. Se intentó entonces plantear un estimador adaptativo; sin embargo, no resulta simple decidir a priori la separación óptima en un perímetro irregular como el de las figuras analizadas y, dado que el objetivo no era determinar exactamente la curvatura sino usar esta característica geométrica para distinguir diferencias entre las distintas conformaciones, se consideró suficiente tratar la reducción del ruido, lo cual fue posible en la mayoría de los casos. Luego de la evaluación preliminar sobre figuras sintéticas conocidas, se aplicó el análisis a las siluetas de medias reses que representan los patrones de conformación muscular más diferenciados dentro de la tipificación. Además, se realizó un análisis similar sobre fotos testigo de medias reses clasificadas según el experto tipificador como grado U, el cual comúnmente se utiliza para consumo interno. A partir de los patrones obtenidos por medio del algoritmo desarrollado, se estudiaron las dimensiones características y los perfiles de los valores de curvatura para distintos valores de separación entre puntos. 55 A partir de los perfiles de curvatura, se calcularon algunos momentos de orden n considerando distintos valores de separación entre los puntos. En el caso de la curvatura promedio también se evidenció cierta variación como consecuencia de tal separación aunque el ordenamiento relativo entre siluetas de los distintos tipos se mantuvo, dentro del rango de distancias estudiado. Mediante este indicador se pudo distinguir claramente el tipo de madia res con menor conformación, pero la diferenciación entre los tipos de mayor masa muscular no resulta demasiado notoria. Se analizaron también otras medidas de discriminación que fueron adimensionalizadas, a fin de que resulten independientes de la resolución de la imagen. Se consideró entonces el promedio del valor absoluto de la curvatura elevada a un cierto exponente, que se definió tanto mayor que 1, a fin de dar más peso a los valores altos de curvatura, como menor que 1, para aumentar la importancia relativa de los valores más bajos de curvatura. Se realizaron entonces algunas pruebas multiplicando este valor de curvatura media con tres longitudes características principales de la figura: el perímetro, la altura y el ancho (máximos). Debido a la influencia de la distancia entre los puntos involucrados en el cálculo de la curvatura sobre el resultado, se trató de conservar una proporción similar entre tal distancia y el tamaño de la figura. Se exploró la capacidad de los indicadores definidos para la discriminación de los diferentes tipos de figuras, en función del exponente de la curvatura y de la medida considerada para adimensionalizarla. Se pudo comprobar que los diferentes momentos de la curvatura normalizada con cualquiera de las longitudes de referencia permiten discriminar los tipos de referencia estudiados. Sin embargo, al evaluar las fotos de los casos reales, la normalización con el ancho no permite clasificarlos adecuadamente, por lo cual fue descartada. La normalización con el perímetro permite una clasificación razonable de las fotos testigo usando un valor de exponente ¾, pero el mejor resultado se obtuvo con el indicador correspondiente al promedio de la raíz cuadrada del valor absoluto de la curvatura adimensionalizada con la altura de la figura, el cual logró clasificar con baja dispersión las siluetas testigos. Finalmente, se analizó de manera particular el indicador anterior, visualizando el comportamiento de la función en coordenadas polares, tanto para las figuras de 56 referencia como las siluetas testigo tipificadas. Pudo observarse que la función presenta múltiples lóbulos que corresponden a máximos de curvatura que se dan especialmente en las extremidades del animal. Además, se analizó el valor medio de la función a partir de los gráficos, coincidente con el valor del indicador, y pudo verse que el radio del círculo correspondiente crece, siguiendo la progresión de los sucesivos grados de conformación de las figuras. En el caso de los gráficos generados a partir de las fotos reales se pudo advertir que el perfil de curvatura sigue un comportamiento general bastante similar a los patrones, si bien algunos de los lóbulos difieren levemente. También pudo advertirse que el valor medio de la función en los distintos casos está cercano al del tipo U, con el que fueron previamente clasificadas mediante análisis visual. El aporte de este trabajo representa una contribución interesante al problema de diferenciación de las distintas conformaciones tipo que son consideradas en el proceso de tipificación vacuna. Mediante este análisis preliminar se evidencia la factibilidad de desarrollar una herramienta computacional de soporte a la decisión, que permita aportar un criterio objetivo a la evaluación que actualmente se continúa realizando en forma subjetiva por parte de agentes tipificadores. El estudio desarrollado en este trabajo podría extenderse al análisis de la totalidad de las siluetas tipo, de modo de aumentar el poder de discriminación de los indicadores. También sería necesario ampliar el conjunto de casos reales a ser probados a fin de evaluar el eventual ajuste de los parámetros considerados, de modo que resulte más robusto. Esto por supuesto requeriría contar con la evaluación de tales casos por parte de agentes tipificadores que permitan validar los resultados de clasificación obtenidos. 57 Bibliografía Amanatiadis A., Kaburlasos V.G., Gasteratos A. and Papadakis S.E., Evaluation of shape descriptors for shape-based image retrieval, IET Image Process., Vol. 5, Iss. 5, pp. 493–499, (2011) Ballerini L. and Bocchi L., Genetic Programming for Prediction of Fat Content in Meat Images, Workshop on Evolutionary Computation (GSICE2), Siena, Italy, 15 September (2006) Bavera G. A., Producción bovina de carne, Edición del Autor, Río Cuarto. ISBN 978-987-05-5184. 3° edición, (2008) Brosnan T. and Sun D., Improving quality inspection of food products by computer vision, Journal of Food Engineering, Vol. 61, pp. 3-16, (2004) Burger W. and Burge M., Digital Image Processing. An Algorithmic Introduction using Java, Springer (2008) Castleman K., Digital Image Processing, Prentice Hall (1996) Cheng K., Zhu Q., Avidan S. and Yeh M., Detection using a cascade of histograms of oriented gradients, Electrical & Computer Engineering Department, University of California at Santa Barbara, CA, 93106, USA. (2000) Cross H. R. and Whittaker A. D., The role of instrument grading in a beef valuebased marketing system., Journal of Animal Scince, Vol. 70, pp. 984-989, (1992) da Fontoura Costa L. and Marcondes Cesar R., Shape Classification and Analysis, 2nd. Ed., CRC Press, (2009) Dalle, D., Comparison of Numerical Techniques for Euclidean Curvature, RoseHulman Undergraduate Mathematics Journal, Vol. 7.1, (2006) Fisher R., Trucco E. and Bosch F., Experiments in Curvature-Based Segmentation of Range Data, IEEE Trans. Pattern Anal. Mach. Intell.Vol.7, p. 177–182, (2000) Friedman M. and Kandel A., Introduction to pattern recognition. Statistical, structural, neural and fuzzy logic approaches, Imperial College Press, (1999) Garriz C.A., Galligher M. M., and Van Gelderen C. Del campo al gancho: Prueba de valoración integral de calidad en el ganado bovino. Sitio Argentino de Producción Animal, Centro de Consignatarios Directos de Hacienda (CCDH), Bs. 58 As., (1989) http://www.produccion-animal.com.ar/informacion_tecnica/carne_y_subproductos/46del_campo_al_gancho.pdf Gonzalez R. and Woods R., Digital Image Processing, Prentice Hall, USA, (2002) Locaric, S. A survey of shape analysis techniques, Pattern Recognition, Vol. 31, No. 8, pp. 983-1001, (1998) Maldonado M., Registro de imágenes de rango empleando características geométricas. Tesis. Colombia: Universidad Nacional de Colombia, (2010) Rueda S., Udupa J. and Bai L., Shape modeling via local curvature scale, Pattern Recognition Letters, Vol. 31, pp. 324–336, (2010) Seul M., O´Gorman L. and Sammon M., Practical Algorithms for Image Analysis, Cambridge University Press, (2001) Shiranita K., Miyajima T. and Takiyama R., Determination of meat quality by texture analysis, Pattern Recognition Letters 19. p.1319-1324, (1998) Tan J., Meat quality evaluation by computer vision, Journal of Food Engineering, 61, pp. 27–35, (2004) Valous, F., Mendoza, D. Sun and P. Allen, Colour calibration of a laboratory computer vision system for quality evaluation of pre-sliced hams, Meat Science 81, pp.132–141, (2009) Woerner D. R. and Keith E. B., The History of Instrument Assessment of Beef, National Cattlemen's Beef Association, (2008) Zamorano J., Ramos G., and Buemi M.E., Tipificación instrumental de reses bovinas. Hacia una cadena eficiente, Instituto de Promoción de la Carne Vacuna Argentina (2002) 59