Descripción de la aplicación
Transcripción
Descripción de la aplicación
Identificador de olivos - Descripción de la aplicación José Miguel Pérez Álvarez, Juan Quirós Carmona Descripción de la aplicación Contexto del trabajo El trabajo se sitúa en el marco de la asignatura “Procesamiento de Imágenes Digitales” (PID). En esta asignatura gran parte de la nota final se basa en la nota obtenida con un trabajo final que tiene como objetivo profundizar en las técnicas de procesamiento dadas en la asignatura. Desde el principio, nos pusimos como requisito importante del trabajo el utilizar únicamente los métodos estudiados en clase, o métodos desarrollados por nosotros a partir de estos últimos. Por lo tanto, gran parte de los algoritmos del trabajo son implementaciones directas de los métodos teóricos estudiados en la asignatura. Con respecto al campo de aplicación del programa, decidimos enfocar nuestro trabajo hacia el mundo agrícola, ya que es un sector económico de amplia presencia en Andalucía, además de ser una actividad económica característica de nuestra tierra. Panorámica de funcionamiento del programa El programa está enfocado desde un punto de vista didáctico. Esto hace que, siendo completamente funcional, contiene determinados elementos con un enfoque exclusivamente didáctico. Estos elementos se localizan en la interfaz de usuario, en la que se muestra, paso a paso, los distintos algoritmos o etapas en los que se divide el procesamiento de la imagen que recibe como entrada. Evidentemente, desde el punto de vista de comercialización del producto esta interfaz debería ser desarrollada desde cero, para enfocar el programa a otro tipo de público. También hacer notar que estos elementos didácticos también influyen en el rendimiento del programa. El programa recibe como entrada una imagen en escala de grises. Estas imágenes están basadas en tomas aéreas, con una altura de 20 a 50 metros (no se garantiza un buen funcionamiento para alturas superiores). La interfaz gráfica del programa guía al usuario paso a paso a través de los diferentes métodos aplicados para procesar la imagen de entrada. Tras procesar la imagen de entrada el programa identifica gráficamente mediante un rombo de color verde la posición de cada uno de los olivos, además de informar sobre el número exacto de olivos que ha identificado. Durante el procesamiento se brinda al usuario la opción de modificar determinados parámetros con vistas a la experimentación, ya que el enfoque principal de este programa es el didáctico, y no el comercial. Descripción del sistema de procesamiento A continuación se presenta de forma esquemática y guiada el procesamiento que constituye el núcleo de nuestra aplicación. Debido a las características del concurso, se omitirán en la medida de lo posible los detalles técnicos. Paso 1 Se parte de una fotografía aérea tomada a una altura recomendada de 20 a 50 metros. 1/5 Identificador de olivos - Descripción de la aplicación José Miguel Pérez Álvarez, Juan Quirós Carmona Paso 2 Binarización de la imagen. Este proceso consiste en transformar la imagen de escala de grises (en este caso) en otra en la que únicamente se utilice el blanco y el negro. Para ello lo que se hace es escoger un determinado nivel de gris (denominado valor umbral), de modo que todos aquellos puntos de la imagen que tengan un valor inferior al valor umbral se considerarán blanco y los que tengan un valor mayor negros. Por lo tanto, la elección de un buen valor umbral es crítico a la hora de efectuar la binarización. En este caso, decidimos escoger el nivel que fuese la media de dos niveles. El primero es aquel de mayor valor en el histograma. Para hallar el segundo, se aplica el siguiente cálculo. Para cada uno de los niveles del histograma se multiplica su valor por el cuadrado de la distancia al nivel escogido anteriormente (por ejemplo, la distancia entre los niveles 150 y 100 es 50). De este nuevo histograma se selecciona el nivel que presente mayor nivel. Valor umbral 2/5 Identificador de olivos - Descripción de la aplicación José Miguel Pérez Álvarez, Juan Quirós Carmona Los siguientes pasos tienen como objetivo en minimizar los errores obtenidos tras el proceso de binarización. Paso 3 Se procede a aplicar una apertura de la imagen. La apertura generalmente suaviza los contornos de una imagen y elimina pequeños salientes. También puede eliminar franjas o zonas de un objeto que sean “más estrechas” que un elemento tomado como referencia denominado elemento estructural. La aplicación de este procedimiento persigue dos objetivos: - Eliminar uniones de olivos. En algunas circunstancias dos olivos aparecen unidos, provocando, por lo tanto, un error en la identificación de los dos olivos, ya que el sistema únicamente detectará uno de ellos. - Eliminar errores aleatorio. En las imágenes existen determinados píxeles que adquieren niveles oscuros de gris. Estos píxeles se encuentran aislados y son de tamaño reducido. Pueden ser causados por errores en la toma de la imagen o debido a accidentes del terreno. Paso 4 Se aplica el algoritmo de cierre a la imagen. El cierre elimina pequeños huecos (rellenándolos) y une componentes conexas cercanas. El único objetivo de este paso es mejorar visualmente los resultados obtenidos en el anterior. No obstante, hemos de tener cuidado en la aplicación de este algoritmo, ya que puede deshacer los logros obtenidos anteriormente. Paso 5 En este paso se efectúan dos tratamientos a la imagen destinados a eliminar errores en dos casos particulares. Como hecho a destacar, estos algoritmos no han sido vistos en clase, sino que se trata de una versión adaptada a un caso concreto por el grupo de trabajo en el primer caso y un algoritmo simple de generación propia. - El primer algoritmo lo hemos llamado Apertura Adaptativa. Llegados a este punto un problema hizo aparición: debido a que el tamaño de los olivos no es uniforme, la apertura aplicada en el paso 3 no era suficiente para eliminar todas las uniones de olivos. Por lo tanto, este algoritmo lo que hace es generar un elemento estructural (elemento de referencia a la hora de efectuar la apertura) adaptado al tamaño del olivo detectado. De ese modo, el algoritmo de Apertura adaptativa consiste en aplicar el siguiente procedimiento para cada uno de los olivos reconocidos hasta ese momento: en primer lugar genera un elemento estructural proporcional al tamaño del olivo y en segundo lugar aplica la apertura sobre ese olivo usando ese elemento estructural. 3/5 Identificador de olivos - Descripción de la aplicación José Miguel Pérez Álvarez, Juan Quirós Carmona Si aumentamos el elemento estructural separamos los olivos (en azul), pero se eliminan otros (en rojo). Este problema queda solucionado al aplicar la Apertura Adaptativa - El segundo algoritmo consiste en eliminar aquellos olivos identificados que sean demasiado pequeños o grandes como para ser considerados como tales. Este algoritmo elimina errores tales como el reconocer una casa o roca como un olivo. Aplicación práctica (usabilidad) Desde 1998 la Unión Europea dentro del marco de la Política Agraria Comunitaria establece una ayuda a la producción de aceite de oliva. Con miras a la concesión de la ayuda, todos los oleicultores deben presentar en cada campaña una declaración de cultivo correspondiente a los olivos en producción y a la situación de los olivares que exploten. Para contribuir a comprobar las declaraciones del cultivo de olivar, el Ministerio de Medio Ambiente Rural y Marino (MARM), encargó realizar el denominado S.I.G. Oleícola. Para la elaboración del S.I.G. Oleícola se tomaron como base fotografías aéreas del territorio nacional y el catastro disponible para obtener de forma individualizada para cada parcela catastral el número olivos. En el caso de las declaraciones de cultivo, por las que se solicita Ayuda a la Producción de Aceite de Oliva y/o Aceituna de mesa, no sean coherentes con los resultados que ofrece el Sistema de Información Geográfica Oleícola, debe realizarse una comprobación en campo. Por tanto, la verificación del S.I.G. es una exigencia de la reglamentación comunitaria, en la que se establece explícitamente que el número de olivos determinados en cada parcela de la base gráfica, se comparan con los datos de las declaraciones de cultivo obtenidas en la base de datos alfanuméricos. Como se ha comentado, el procesamiento de imágenes aéreas es vital para la verificación del S.I.G., sobre todo teniendo en cuenta que en España hay 50,3 millones de hectáreas. Es en este punto donde incide nuestra aplicación. Tomando como base las fotografías aéreas que usa el MARM se ha procedido a la identificación de los olivos. Una vez llegado a este punto, únicamente basta comparar los resultados obtenidos con el catastro disponible para obtener el número de olivos existente en cada parcela. El MARM pone a disposición del público una aplicación vía web, denominada SIGPAC (http://sigpac.mapa.es/fega/visor/), que muestra los resultados del S.I.G. Oleícola. Es en esta aplicación en la que se ha basado nuestro trabajo, y es donde hemos obtenido las imágenes que usamos para mostrar el funcionamiento de nuestro sistema. 4/5 Identificador de olivos - Descripción de la aplicación José Miguel Pérez Álvarez, Juan Quirós Carmona Mejoras aplicables Las mejoras aplicables se listan a continuación: - Si se desea comercializar el producto, además de las demás se debería construir una nueva interfaz, además de proceder a la aplicación de optimizaciones que mejoren el rendimiento del programa. - Se debe dotar de inteligencia artificial a la aplicación para que determine por sí sola los parámetros adecuados en función de las características de la imagen. - Se pueden implementar métodos que refuercen el sistema de reconocimiento de olivos. Por ejemplo, sería interesante comprobar qué efecto tendría en los resultados la combinación del procesamiento actual ayudado por métodos de reconocimiento de bordes, como el de Canny. 5/5