PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA DISEÑO DE UN SISTEMA DE CÁLCULO DE TIEMPO DE EXPOSICIÓN APLICADO A UN SISTEMA DE ADQUISICIÓN DE IMÁGENES MULTIESPECTRALES Tesis para optar el Título de Ingeniero Electrónico, que presenta el bachiller: Warren Baca Berrío ASESOR: Ing. Andrés Flores Espinoza Lima, Octubre del 2013   Resumen: La agricultura de precisión se beneficia del uso de tecnologías de información para aumentar la productividad de los cultivos y aminorar los problemas como plagas o mal uso de recursos. Dentro de estas tecnologías se encuentra el sensado remoto, que valiéndose del uso de imágenes tomadas a gran altura, permite diagnosticar el estado de una cosecha, realizar un seguimiento técnico del cultivo así como también prevenir diversos inconvenientes. La presente tesis está enmarcada en el uso de la tecnología de sensado remoto y parte de estudios previos en los que se utilizaron imágenes multiespectrales aéreas para el análisis de diversos cultivos. Esto se dio en el marco del proyecto “Agricultura de Precisión para la Producción de Cultivos de Seguridad Alimentaria y de Agro Exportación” patrocinado por el Centro Internacional de la Papa (CIP) y el Fondo Nacional de Ciencia y Tecnología. (FINCYT). En el proyecto mencionado se utilizó un par de cámaras adaptadas para la captación de imágenes en los espectros rojo e infrarrojo cercano, las cuales iban instaladas dentro de un aeromodelo que efectuaba el recorrido sobre el cultivo o plantación.Se encontró que las imágenes adquiridas tenían gran cantidad de pixeles oscuros o saturados, identificando la causa como la falta de control sobre el tiempo de exposición que utilizaban las cámaras a bordo. Este estudio presenta el desarrollo de un controlador para el tiempo de exposición de dichas cámaras haciendo uso de lógica difusa para su modelado y programación. El primer capítulo enmarca la necesidad de contar con recursos descriptivos de plantaciones aprovechando tecnología de bajo costo frente a las opciones del mercado. El segundo capítulo, describe distintas formas de adaptación de parámetros en cámaras digitales y aborda el diseño en lógica difusa como alternativa a estos métodos. El tercer capítulo, describe el diseño del controlador y los programas encargados de realizar tanto la modificación del tiempo de exposición, como la muestra de información hacia los usuarios finales. Finalmente el cuarto capítulo muestra las conclusiones y plantea recomendaciones para futuros proyectos basados en este estudio.       Índice CAPÍTULO 1: CÁMARAS MULTIESPECTRALES PARA AGRICULTURA DE PRECISIÓN ................................................................................................................ 1  1.1 Panorama Actual: ........................................................................................................ 1  1.2 Medición Remota y Agricultura de Precisión. ......................................................... 2  1.3 Cámaras Multiespectrales y Experiencia del CIP .................................................. 4  1.4 Problemática de estudio ............................................................................................. 5  CAPÍTULO 2: CONTROL DE TIEMPO DE EXPOSICIÓN EN UNA CÁMARA .......... 6  2.1Estado del Arte.............................................................................................................. 6  2.1.1. Presentación del Asunto de Estudio ................................................................ 6  2.1.2. Estado de la Investigación................................................................................. 6  2.1.2.1. Procesos de cálculo para el tiempo de exposición (Exposure)......... 10  2.1.3.  Síntesis del Asunto de Estudio: ................................................................. 14  CAPÍTULO 3: DESARROLLO DEL SISTEMA DE CÁLCULO DE TIEMPO DE EXPOSICIÓN ........................................................................................................... 15  3.1 Antecedentes: ............................................................................................................ 15  3.1.2. Requerimientos de Diseño: ............................................................................. 16  3.2 Descripción del Sistema ........................................................................................... 16  3.3 Descripción del Programa Principal ....................................................................... 19  3.4 Definiciones previas .................................................................................................. 21  3.5 Etapas del Controlador:............................................................................................ 24  3.6 Códigos de Manipulación para las cámaras ......................................................... 35  3.7 Interfaz gráfica: .......................................................................................................... 37  3.8 Presentación final de la interfaz gráfica de Usuario. ........................................... 40  CAPÍTULO 4: SIMULACIONES Y RESULTADOS ................................................... 41  4.1. Simulaciones:............................................................................................................ 41  4.1.1 Condiciones para la Pruebas ........................................................................... 41  4.1.2 Herramientas ...................................................................................................... 42  4.1.3  Ambientes elegidos...................................................................................... 42  CONCLUSIONES ..................................................................................................... 53  RECOMENDACIONES............................................................................................. 54    Índice de Figuras Figura 1 Exportaciones por sector económico [1] .................................................................... 1  Figura 2 Flujo de la Agricultura de Precisión [4] ....................................................................... 4  Figura 3 Curva de Reflectancia para un tipo de suelo [6] ......................................................... 8  Figura 4 Curva de Reflectancia  para Vegetación [6] ................................................................ 8  Figura 5 Tipos de Medición a) Área Determinada b) Área parcial c) Ponderación Central[9] 12  Figura 6 Diagrama Lógico del Sistema .................................................................................... 17  Figura 7 Diagrama Funcional del Sistema............................................................................... 18  Figura 8 Entradas y salidas del sistema de control ................................................................. 21  Figura 9 Tipos de Ecuaciones de Pertenencia [11] ................................................................. 22  Figura 10 Función de pertenencia triangular.......................................................................... 23  Figura  11 Operaciones estándar en conjuntos difusos.......................................................... 24  Figura 12 Rango de valores para la variable de entrada ........................................................ 25  Figura 13 Fuzificación en la variable de entrada .................................................................... 25  Figura 14 Fuzificación en la variable de salida........................................................................ 28  Figura 15 Combinación final de reglas.................................................................................... 30  Figura 16 Superficie final Tiempo de Exposición vs Diferencia de promedio y Ganancia vs  Diferencia de promedio .......................................................................................................... 31  Figura 17 Suavizado de Superficies de salida (Diferencia de promedio y Ganancia) ............. 32  Figura 18 Promedio vs simulaciones 12pm  (izquierda) y Promedio vs simulaciones 4pm  (derecha)................................................................................................................................. 33  Figura 19 Variable de entrada sin cruces (izquierda) y Variable de entrada con cruces  (derecha)................................................................................................................................. 33  Figura 20 Ecuación final de pertenencia para la Ganancia y Tiempo de Exposición .............. 34  Figura 21 Diagrama de flujo del Controlador ......................................................................... 34  Figura 22 Interfaz Guide de Matlab® ...................................................................................... 38  Figura 23 Diseño final de la Interfaz de Usuario (GUI) ........................................................... 40  Figura 24 Equipo utilizado en el sistema de captura .............................................................. 43  Figura 25 Imágenes iniciales usadas en las tomas. De izquierda a derecha: Toma cercana (IR)  toma cercana (R).Toma a distancia (IR) Toma a distancia (R) ................................................ 43  Figura 26 De izquierda a derecha controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 46  Figura 27 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 48  Figura 28 De izquierda a derecha controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 50  Figura 29 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 50    Figura 30 De izquierda a derecha controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 51  Figura 31 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador  delta ........................................................................................................................................ 52      Índice de Tablas Tabla 1 Productos para Exportación ‐Sector Agropecuario [2] ................................................ 2  Tabla 2 Precios para cámaras multiespectrales de la marca Tetracam Inc.[24]....................... 5  Tabla 3 Bandas de estudio para el AVHRR[6] ........................................................................... 9  Tabla 4 Bandas de estudio para el TM[6] ................................................................................. 9  Tabla 5 Distintas variaciones para la entrada (Diferencia de promedio) al sistema............... 31  Tabla 6 Valores típicos de intensidad luminosa durante pruebas.......................................... 42  Tabla 7 Costo Estimado del Sistema ....................................................................................... 43  Tabla 8 Resultados para ambos controladores ...................................................................... 45  CAPÍTULO 1: CÁMARAS MULTIESPECTRALES PARA AGRICULTURA DE PRECISIÓN 1.1 Panorama Actual: Dentro de la vasta diversidad de pisos geológicos en nuestro país, la industria agrícola es uno de los principales pilares de nuestra economía seguida por la minería y otras industrias.[1]   Figura 1 Exportaciones por sector económico [1]    Como puede apreciarse en la figura 1 nuestro país permanece en una posición predominantemente extractiva, sumada a la incapacidad de revertir esta situación. Es así que para el caso peruano la minería exporta casi 30 veces el valor de la producción agropecuaria, situación paradójica en un amplio territorio con pisos ecológicos variados. Es esta cualidad que hace de nuestro suelo una fuente de alternativas de ingreso dependiendo tanto de la riqueza propia de la tierra, de los recursos que lleguen a los encargados de estas y a la buena disposición de técnica agropecuaria. 1    Tabla 1 Productos para Exportación ‐Sector Agropecuario [2]  Producto 2009(millones USS) 2010 (millones USS) Espárragos( frescos) 250,6 290.7 Uvas 135,7 184.6 Alcachofas 74.6 97 Paltas 67.7 84.9 Mangos 69.7 89.4 Pimiento 40.7 50.1 Páprika 67.9 66.4 La exportación de nuestro país en las especies citadas [2] depende del estado de las cosechas y la apariencia del producto, el cual, definirá que tanto de un lote pueda finalmente embarcarse y cumplir con distintas regulaciones en mercados foráneos. 1.2 Medición Remota y Agricultura de Precisión. Aunque la cadena productiva no ha cambiado podríamos decir que desde la siembra hasta la cosecha hay cuatro etapas: plantación, cultivo-abono, riego y cosecha; siendo el cuidado de la plantación el que definirá cuánto de esta se comercialice. Esta misma etapa implica un manejo de recursos tales como agua, fertilizantes, personal y el correspondiente seguimiento al clima según el cual se dispongan los cultivos. Dentro de las formas usuales de revisión de plantaciones está el monitoreo progresivo por parte de los agricultores, quienes decidirán si existe alguna plaga, si se hace necesaria una mayor cantidad de riego o el uso de plaguicidas para estas últimas. La tecnología actual permite efectuar estas mediciones y actualmente se podría prescindir de un diagnóstico por parte de personal extra para la plantación mediante el empleo de estadísticas de campo a partir de imágenes colectadas desde satélite. Lo anterior refiere al ‘remote sensing’ o medición remota. Analizando en detalle ambos casos: 2    1. El primero por ser de mayor disponibilidad e inmediatez, se precisa de agrónomos o especialistas en cosechas similares y se pide un diagnóstico y análisis de la parcela. De este estudio se podrá decidir la cantidad de fertilizante y la necesidad de estos, realizar un diagnóstico del sembrío y elaborar un plan de irrigación. 2. La otra alternativa que engloba a esta tesis es la medición remota (remote sensing), que a partir de imágenes obtenidas por equipos a distancia permite realizar un estudio y diagnóstico del campo observado. Para lo cual hace uso de imágenes en distintos rangos del espectro electromagnético, teniendo según las distintas longitudes de onda un uso en particular, aprovechando la interacción de esta con los cuerpos en estudio. Esta radiación es adquirida por un sensor determinado, algunos de ellos son CCD, CMOS, radiómetros etc. Esta particularidad da, según [3], la posibilidad de realizar la medición en distintas bandas como son la banda infrarroja y visible; la banda de microondas y la infrarroja. A través de esta herramienta es posible recoger datos de áreas en peligro o inaccesibles, monitorear deforestaciones, medir efectos de cambio climático y finalmente ser usada en la que es conocida como agricultura de precisión. La agricultura de precisión o sistemas de producción agrícola basados en información, nació a mediados de la década de 1980, como respuesta al creciente interés en variación de los suelos y condiciones de los cultivos combinados con el advenimiento de tecnologías como Sistemas de Navegación Global por Satélite (GNSS), Sistemas de Información Geográfica (GIS) y microcomputadoras.[4] En sus inicios la agricultura de precisión fue utilizada para la mejor distribución de fertilizante y diferentes condiciones de suelo, desde entonces su uso ha ido evolucionando a aplicaciones en: guiado automático de vehículos agrícolas, automatización de maquinaria y procesos de investigación desde el campo (On Farm Research) y software para el conjunto anterior [4]. 3      Figura 2 Flujo de la Agricultura de Precisión [4] 1.3 Cámaras Multiespectrales y Experiencia del CIP En el marco de obtención de imágenes para aplicaciones de agricultura de precisión, especialistas de la universidad Católica (PUCP) en convenio con el CIP1 desarrollaron un módulo de captura de imágenes multiespectrales para la realización de diagnóstico de cultivos. El propósito de este convenio era presentar una alternativa más económica frente a la opción del mercado en cámaras multiespectrales (ver tabla 2), las cuales son sistemas que permiten la adquisición de imágenes de una misma escena en distintas longitudes de onda [6]. Este módulo consta de una minicomputadora y cámaras monocromáticas del fabricante Point Grey, las cuales van montadas en un aeromodelo que transporta al sistema realizando tomas aéreas a distancia. Dicho sistema se emplea también para la toma de imágenes en tierra de cultivos diversos como papa y camote.                                                              1  Centro Internacional de la Papa, institución dependiente de la Universidad Agraria de la Molina.  4    Tabla 2 Precios para cámaras multiespectrales de la marca Tetracam Inc.[24]  Cámara Multiespectral Precio en dólares($) Mini_MCA Desde 11,995 hasta 29,995 ADC 4995 ADC air 5495 1.4 Problemática de estudio El sistema desarrollado por los especialistas de la PUCP prescindió del control automático propio de las cámaras utilizadas, debido a que las imágenes generadas en este modo presentaban saturación u oscuridad imposibilitando su uso para la obtención de imágenes roja e infrarroja cercana. Como una solución parcial se optó por un control manual de tiempo de exposición de las cámaras empleadas, que variaría su configuración inicial de acuerdo a la hora en que se ejecuten las capturas fotográficas. 1.4 Conclusión preliminar El sistema a desarrollarse debe realizar las capturas fotográficas y la corrección de las imágenes de modo automático, independientemente de las horas de captura y la intervención del usuario. Además debe generar imágenes con la distribución de grises adecuada para la toma en espectros rojo e infrarrojo cercano. 5    CAPÍTULO 2: CONTROL DE TIEMPO DE EXPOSICIÓN EN UNA CÁMARA 2.1Estado del Arte 2.1.1. Presentación del Asunto de Estudio Como una forma de asegurar el estado de una plantación antes de la cosecha, el monitoreo de propiedades de los cultivos es necesario de modo preliminar, mediante una revisión constante de las características de las plantaciones para poder distribuir cantidades más exactas de fertilizantes, herbicidas, abono y adicionalmente planear un menor gasto para el riego. La obtención de imágenes mediante medición remota hace posible su estudio y el poder extraer de ellas distintos tipos de información. Es así que se emplea dos rangos del espectro para las capturas fotográficas aprovechando el acentuamiento de reflexiones tanto en el espectro rojo e infrarrojo , los mismos que serán utilizadas para escoger los valores a usar en la configuración del tiempo de exposición de la cámara para finalmente hacer de este un proceso automático. El presente capítulo muestra las diferentes formas de extraer el tiempo de exposición (shutter speed), parámetro que indica el tiempo en que la luz incide en el sensor interno de la cámara e interviene en la formación de la imagen, con la finalidad de desarrollar un control automático para este parámetro que posibilite la obtención de imágenes en los espectros rojo en infrarrojo cercano corrigiendo la distribución de grises en las imágenes, haciendo a estas adecuadas para un posterior uso en agricultura de precisión. 2.1.2. Estado de la Investigación  Dentro de nuestro sistema se desea captar solo un par de radiaciones del espectro fundado en lo siguiente: Dependiendo del objeto a observar, este puede reflejar en distintos rangos del espectro es decir, una hoja puede reflejar 3% de la radiación azul, 10% del verde y 3% de la roja. La cantidad de luz que refleje depende de la cantidad de iluminación que haya recibido, pero el porcentaje es constante. Sin embargo los sensores no detectan energía reflejada sino la cantidad (no el porcentaje) de energía 6    electromagnética recibida en determinadas bandas. Un cambio en la iluminación, un clima nublado, un sol menos intenso afecta esta cantidad. Lo anterior puede mostrarse a través de las denominadas curvas de reflectancia, valor que indica la cantidad de energía reflejada desde la superficie de un cuerpo. Estas existen para diversos tipos de material, pero para la aplicación agrícola que se persigue se centrará en: Vegetación, Suelo y Agua las que servirán para determinar que regiones del espectro son más importantes para distinguir a estas superficies. En otras palabras, qué región del espectro demuestre mayor intensidad a fin de utilizarla como patrón diferenciador. [6] 7    Figura 3 Curva de Reflectancia para la arcilla[6]   Figura 4 Curva de Reflectancia  para el pasto [6]    De las figuras anteriores puede notarse que en la Figura 2.2 la planta (grass) presenta un mayor porcentaje de reflectancia en la región del infrarrojo cercano, disminuyendo este valor alrededor de la banda roja del espectro .Asimismo en la Figura 2.1 la reflectancia aumenta en la región visible, que incluye la banda roja desde 0.63 hasta 0.69um, con una caída debido a la absorción por el agua y del barro más allá de 1.8 μm. 8    En general el estudio de la vegetación incluye el infrarrojo cercano y la región roja del espectro visible; mientras que para análisis del agua y distinción de tierras abarcan el infrarrojo cercano. Lo anterior es seguido por satélites de agencias como NOAA (National Oceanic and Atmospheric Administration) en donde su sensor AVHHR detecta radiación visible , infrarroja cercana de acuerdo al siguiente patrón: Tabla 3 Bandas de estudio para el AVHRR2[6]  Banda Longitudes (μm) Rango Aplicación 1 0.58-0.68 Rojo Nieve y monitoreo de hielo 2 0.725-1 Infrarrojo Cercano Agua ,vegetación y agricultura 3 3.55-3.93 Medio Infrarrojo Volcanes ,incendio forestales Otro tipo de satélite son los Landsat que usa un sensor TM en las siguientes bandas Tabla 4 Bandas de estudio para el TM3[6] Banda Longitudes (μm) Aplicación 1 0.45-0.62 Discriminación de suelo –vegetación 2 0.52-0.60 Mapeo de vegetación 3 0.63-0.69 Discriminación entre especies vegetales y no vegetales 4 0.76-0.79 Estado de plantación, tipo de plantación Como se puede ver esta tesis está orientada a seguir las prácticas ya usadas en la industria, por lo que se trabajará con el espectro rojo y el infrarrojo cercano, los que a continuación se definen: 1. Espectro Infrarrojo Que es la porción siguiente del rango visible con longitudes de onda desde los 0.7 μm hasta los 100 μm, unas 100 veces más ancho que la porción visible. De este espectro infrarrojo se suele dividir en dos categorías basadas en sus propiedades de radiación.                                                              2 Proviene de Advanced Very High Resolution Radiometer  3 TM, proviene Tematic Mapper sensor usado en el satélite Landsat  9     Infrarrojo Reflejado: es la región usada para la medición remota (remote sensing) así como en los sistemas satelitales actuales. [5] cubre las longitudes de onda desde 0.7 μm hasta 3.0 μm. Esta porción incluye al infrarrojo cercano (0.7-0.9) μm que será finalmente captado en el sensor de nuestra cámara. Es útil para el delineamiento de vegetación saludable o maleza y para distinguir entre vegetación, suelo y rocas.  Infrarrojo Térmico: Cuya energía es esencialmente la radiación emitida en forma de calor, cubre las longitudes de onda desde 3.0μm hasta 100 μm. 2. Espectro Rojo: Utilizado para la discriminación entre vegetación y suelo especialmente su delineación [7].Abarca las longitudes de 0.63-0.69 μm. 2.1.2.1. Procesos de cálculo para el tiempo de exposición (Exposure) De acuerdo con [8], el problema de obtener un adecuado valor de exposición está directamente relacionado con el rango dinámico (iluminación) de la escena y dependiendo del fabricante de la cámara el uso de técnicas de corrección automática de la exposición puede ser ajena a un contenido específico en una imagen digital, mientras que otras pueden dar cierto control al usuario. Recordemos que en una imagen digital, también conocida como imagen Raster, cada pixel posee un valor digital proporcionado en base a su brillo de acuerdo con una escala de bits, en nuestro caso de 8, con lo cual se tiene un rango de 0 a 255 niveles de contraste o grises. Cualquier técnica de corrección recae en el siguiente conjunto: Corrección en la etapa de adquisición o durante el post-procesamiento de las imágenes. Sin embargo la elección adecuada dependerá del uso de mejores estrategias de adquisición, a su vez se puede como alternativa adicional captar más imágenes de la misma escena con diferentes exposiciones para una posterior compensación. Las distintas formas de cálculo de la exposición (exposure) pueden ser divididas en dos clases de técnicas: Clásica y Avanzada [8]. Dentro de los métodos clásicos, la cantidad de luz es medida y se calcula la exposición adecuada de acuerdo con este resultado. 10    La elección de qué parte de la escena se use en esta medición (figura 5) y el cómo se calcula el tiempo de exposición dependerán del método a escoger. Siendo así tenemos: 1. Medición del Promedio. utiliza la información de cantidad de luz del ambiente, pero de la escena por completo sin dar una ponderación a una región en particular. Este método está considerado como desfasado, frente a las otras formas de medición, ya que toma en consideración toda la imagen, obviando zonas principales de la misma que son incluidas en los otros cálculos. 2. Medición con Ponderación Central. es el método más común y la medición se concentra en el centro de la imagen. La ventaja que posee es de no ser afectado por pequeñas áreas que varíen su brillo en los extremos, mientras que su desventaja es la saturación (oscuridad) de la imagen de existir iluminación posterior al objetivo (“Backlit”). 3. Medición por Área determinada, Mide la intensidad de luz del centro de la imagen (1 al 5% del total) o utiliza puntos definidos para un autoenfoque mientras ignora el resto de puntos. Es muy exacto y de utilidad en una escena con iluminación posterior (''Backlit'') 4. Medición por Área Parcial, Aquí se realiza el cálculo sobre un área mayor que en la técnica anterior, es decir del 10 al 15% de la imagen a captar. Esta técnica es usada en áreas demasiado oscuras o brillantes en los extremos. Como una técnica de fuera de la definición clásica [8], propone el uso de de matriz o multizonas, en donde la cámara mide la intensidad en varios puntos de la escena combinando el resultado para el cálculo de la exposición. Las técnicas anteriores están dentro de la etapa de la adquisición de imágenes, sin embargo también es posible realizar la corrección de la exposición (‘Exposure’) desde la etapa de post -procesamiento con lo que tenemos: 11    Figura 5 Tipos de Medición a) Área Determinada b) Área parcial c) Ponderación Central [9] 1. Corrección de la Exposición (Exposure) dependiente del Contexto: Utiliza técnicas más adaptativas permitiendo realizar modificaciones sin disminuir la distribución global de la intensidad; a diferencia de otros métodos de post-procesamiento que emplean una corrección total de grises como especificación del histograma o ecualización. Es así que el rastreo de características como el ‘brillo’ permite hacer una corrección más apropiada de acuerdo a esta región de interés y de no existir estos rasgos en la imagen (como pueden ser los rostros), el algoritmo cambia el rastreo hacia otras características como Contraste (nivel de grises) o Foco (acercamiento). El proceso está definido como:  Extracción de Luminancia, Este parámetro contiene información de luz y brillo de una imagen , con lo que se utiliza una sub muestra de la misma en vez de las tres regiones Red, Green y Blue.  Usando la técnica adecuada de extracción se determina un valor por cada región (R,G,B) lo que permite visualizar regiones de importancia (Para contraste y foco la región está basada en bloques, para detección de piel las regiones están asociadas con cada pixel).  Identificados los píxeles con importancia, una corrección de tono global es ejecutada teniendo como entrada el promedio (media aritmética) del nivel de grises de las zonas escogidas.  Extracción de contraste y enfoque. Para la identificación las regiones que contengan mayor información los planos de luminancia son 12    Para realizar un análisis visual que revele las características más importantes de la imagen, descontando la cantidad de iluminación una nueva imagen es construida forzando el promedio de la región verde (G) a 128. El contraste se mide por construcción de histogramas por bloque y calculando su desviación, que indica la comparación entre cada una de los valores de brillo por pixel respecto a su media calculada. Para el foco, se mide por medio de la convolución de cada bloque con un filtro Laplaciano cuya salida es limitada en un valor máximo. El valor medio de este enfoque es la convolución entre el número de bloques. Para la corrección de la exposición, se determinan zonas relevantes dentro de la imagen y se usa el valor promedio de tales regiones como referencia y mediante una ecuación que describe la respuesta simulada de la cámara se calcula el desplazamiento del valor de Exposición tomando como uno de los parámetros el promedio 128 y la media de los valores de grises de las regiones elegidas previamente. Uso de Lógica Difusa para controlador automático de tiempo de exposición: Especialistas del CIP4 en coordinación con ingenieros de nuestra casa de estudios, plantearon la posibilidad para el desarrollo de un controlador difuso en la captura fotográfica de acuerdo a un estudio cercano a ellos [13]. Dada esta premisa y con el fin de mejorar la versión presente del control que se realizaba manualmente. El uso de la metodología sugerida se escogió como prueba para la elaboración de este estudio.                                                              4 Centro Internacional de la papa  13    Se debe recalcar que esta técnica permite aprovechar la experiencia recopilada del proyecto anterior para la construcción del modelo de la cámara, a la vez que permite incluir los tipos de cálculo de exposición descritos anteriormente [8]. Lo que finalmente se contrastará con el funcionamiento del controlador automático propio del hardware empleado y con el enfoque dado en [13] como base para la elaboración del controlador desarrollado. 2.1.3. Síntesis del Asunto de Estudio: Se plantea desarrollar un control de intensidad para la toma fotográfica, que de modo automático se adapte a las condiciones del ambiente en donde se realice su ejecución y a la vez poder utilizar el conocimiento adquirido por parte de los ingenieros del CIP quienes realizaron un primer sistema de control manual de tiempo de exposición para la toma fotográfica de imágenes en espectro rojo e infrarrojo cercano. Este primer sistema les permitió prescindir del modo automático de las cámaras empleadas, del cual se obtenía imágenes con saturación u oscuridad pronunciadas para los espectros mencionados; haciendo no aptas las muestras obtenidas para la elaboración de imágenes multiespectrales. El empleo de lógica difusa hace posible aprovechar la experiencia del proyecto anterior para realizar un control en el tiempo de exposición de las cámaras, utilizando los métodos descritos anteriormente. Del mismo modo, para obtener un control de parámetros completo se añade al sistema la variación de ganancia a través del mismo controlador, permitiendo la independencia de los modos automáticos para corrección de grises propios de las cámaras utilizadas. 14    CAPÍTULO 3: DESARROLLO DEL SISTEMA DE CÁLCULO DE TIEMPO DE EXPOSICIÓN   Objetivo General: Desarrollar el módulo de control para la modificación del tiempo de exposición que permita la calibración de las cámaras utilizadas en un sistema de adquisición de imágenes multiespectrales, para su aplicación por sectores agroindustriales y pequeños agricultores. Objetivos específicos: 1. Analizar las imágenes adquiridas con el sistema bajo diferentes condiciones de iluminación usando técnicas de procesamiento de imágenes. 2. Controlar el tiempo de exposición de la cámara desde un programa en Matlab® para la corrección automática de las imágenes adquiridas. 3. Proponer un método automático de calibración de cámaras para aplicación agrícola de precio accesible. 3.1 Antecedentes:   La adquisición de imágenes y las mediciones fueron hechas en campo abierto y sirvieron de referencia directa para la elaboración de esta propuesta5. El escenario de las pruebas fue las instalaciones del Centro Internacional de la Papa (CIP). La modalidad en que se realizaron las tomas fotográficas (aéreas y en tierra) y los parámetros considerados en su captura, fueron las premisas para la elaboración de la lógica y posteriormente la programación del controlador. Para realizar la captura de imágenes, el sistema inicial utilizaba un programa en Lenguaje C, y los parámetros medidos como tiempo de exposición (shutter speed), intervalo de tiempo entre fotos se determinaron según las condiciones del día y se ingresaban manualmente para cada sesión.                                                              5 Revisar en Anexos , carpeta Información_ preliminar  15    3.1.2. Requerimientos de Diseño: El sistema desarrollado debe cumplir con las siguientes características: A. Corrección Automática de tiempo de exposición. El sistema debe corregir de forma automática el tiempo de exposición en las cámaras utilizadas. El módulo desarrollado realiza lo anterior añadiendo la siguientes funcionalidades:  Captura de Imágenes Automática. Las tomas se ejecutan vía programación con un número determinado de imágenes en un formato específico. En este caso se utilizó el formato bmp., el mismo que fue elegido por el sistema empleado en el CIP.  Ordenamiento de la Información. Basado en la forma como los especialistas del CIP agrupaban las fotografías, se clasifica las imágenes por número de toma y se asigna una carpeta específica.  Extracción de datos por Imagen. Se elige un archivo en especial y se extrae la información referente a porcentajes de pixeles oscuros, porcentajes de pixeles saturados, desviación de histograma o cualquier otro a proponer6. B. El sistema debe ser realizable en la plataforma computacional existente. El módulo desarrollado debe adaptarse al equipo empleado en el proyecto del CIP, en este caso el empleo de software libre como plataforma de sistema operativo. C. Bajo Costo. El proyecto previo al sistema desarrollado, plantea una opción económica de captura de imágenes multiespectrales. El modulo desarrollado persigue este mismo objetivo. 3.2 Descripción del Sistema El sistema propuesto consta de tres partes: primero está la plataforma de operación que es donde se ejecutan los programas que lo conforman, siendo este el sistema operativo Linux (distribución Ubuntu 10.04.4 LTS); el segundo componente está dado por el programa principal, escrito en Matlab® y el tercero, por los códigos de                                                              6 Tales mediciones corresponden a las aplicadas por los ingenieros del CIP en su proyecto anterior  16    manipulación para la cámara escritos en Lenguaje C7. La figura 6 muestra la distribución de estos componentes en el sistema. 3.2.1. Plataforma de Operación. Previamente elegida por el proyecto que enmarca a esta tesis, la cual requería del uso de software libre y en consecuencia las aplicaciones posteriores debían adecuarse a este nuevo espacio. Figura 6 Diagrama Lógico del Sistema    3.2.2. Programa Principal. Para el diseño del controlador se asistió del software Matlab®, debido a su uso común tanto en clases como en procesamiento de imágenes, valiéndose de su vasto conjunto de funciones y herramientas. 3.2.3. Programas de manipulación. Dado que el fabricante de las cámaras, Point Grey, provee plantillas de código para el uso y configuración de registros en Lenguaje C, este último era necesario para lograr compatibilidad con lo sugerido por el fabricante. 3.2.4 Cámaras: Constan de 2 equipos Point Grey modelo Firefly MV FMVU-03MTM, monocromáticas de 0.3 Mp las que, al igual que el sistema operativo ya eran parte                                                              7 Compilador de C : gcc 4.4.3; Matlab R2009a 64 bits, versión 7.8.0.347  17    dada en el sistema. A estos se le añadían lentes además de filtros para radiación roja e infrarroja cercana. Como puede verse de la Figura 7, el programa principal reside en el software Matlab, desde aquí se ejecutan las líneas correspondientes al controlador de tiempo de exposición (Shutter Speed), calculando los distintos resultados dentro de su propia interfaz o consola.   Figura 7 Diagrama Funcional del Sistema    La manipulación de las cámaras, como se mencionó viene dada por los códigos escritos en C y son el paso obligatorio para cambiar cualquier parámetro interno de la cámara. Por lo anterior, ya que ambos programas no comparten la misma interfaz, se transmite la información entre ellos utilizando un archivo de texto8 con el que se facilita el intercambio y la posterior modificación de los cálculos en ambos programas.                                                              8 Archivo de extensión .txt   18    3.3 Descripción del Programa Principal  Esta etapa está conformada principalmente por el controlador acompañado de líneas iniciales de configuración. Como se trata de reunir los criterios utilizados en campo para la obtención de imágenes, el diseño sugerido por el CIP vía lógica difusa permite la descripción del funcionamiento del sistema en base a la información que tienen sus usuarios y es utilizada en aplicaciones de control industrial así como agricultura de precisión [13]. El empleo de lógica difusa presenta las siguientes ventajas [10]: 1. Utiliza un lenguaje común como entradas a sistema. Esta característica es la más resaltante en el modelo difuso, ya que son expresiones cotidianas las que terminan siendo directrices en el funcionamiento del controlador, como se verá en las reglas de funcionamiento líneas adelante. 2. Hace posible el control de sistemas cuyo modelado es complejo. Lo que se aprovechó al no tener una descripción del modelo de la cámara por parte del fabricante y porque la alternativa según [8], era la de un modelo probabilístico que finalmente hubiera complicado aún más la realización del controlador. 3. Tiene tolerancia a datos dispersos. Es decir utiliza rangos de valores para los cálculos. 4. Permite el entendimiento a personas ajenas al funcionamiento del sistema. Dentro del diseño del controlador difuso se plantean las siguientes premisas [10]: 1. Existe solución al problema controlado. 2. El sistema es controlable y sus variables son observables. 3. Los problemas de optimización y estabilización son temas abiertos dentro del diseño difuso. Es decir el sistema a través de nuevas modificaciones puede mejorar su desempeño valiéndose de nueva información recogida y puesta en su conjunto de reglas. El código para el controlador fue escrito en Matlab© y se aprovechó el paquete de herramientas (Fuzzy Logic Toolbox) que proporciona una interfaz asistida para el diseño basado en lógica difusa. 19    Para el diseño del controlador, como pasos necesarios en el uso de la lógica difusa (Fuzzy Logic), se requerían los siguientes datos: 1. Información del proceso por parte de los especialistas, el cual sirvió para delimitar el alcance del sistema. 2. El tipo de variable a controlar, en este caso el tiempo de exposición (shutter speed) 3. El modo en que se hacían las mediciones y tomas fotográficas en campo con los distintos horarios que fueron acordados por los ingenieros encargados. Como parte inicial en el diseño era importante tener completo entendimiento del contexto de la aplicación y el ambiente en donde se aplicaría estas mediciones. De esta etapa además del modo de operación por parte de los especialistas, se obtuvieron los valores usuales en las mediciones como límite de oscuridad, consideraciones para descarte de imágenes tanto oscuras y saturadas, los que permitieron delimitar los rangos de trabajo para intensidades. El análisis inicial parte de la relación encontrada en campo entre el tiempo de exposición y promedio de intensidad dentro de la imagen, necesarios para extraer una mejor información desde las imágenes. Es decir el máximo aprovechamiento del rango dinámico del sensor en la cámara reflejado en un promedio próximo al valor de 128 que es la mitad de un rango de cuantificación de 8 bits o 256 niveles de grises. Así la entrada al sistema sería la distancia (diferencia) entre este valor 128 y el promedio de grises de la imagen. Dando rangos positivos para imágenes oscuras y negativos para imágenes con mayor brillo. La salida del sistema viene dada por el tiempo de exposición modificado de acuerdo a las condiciones presentes en la escena y resultado de la lógica en el controlador. La figura 8 muestra las variables de entrada y salida para el controlador descrito. 20    Figura 8 Entradas y salidas del sistema de control Se decidió comparar dos tipos de modificación para esta variable: una mediante incrementos progresivos en el tiempo de exposición, trabajados similarmente en [13] y mediante modificación directa en el valor del tiempo de exposición; desarrollando dos controladores a los que se nombro controlador delta y controlador fuzzy. El diseño de ambos enfoques tiene similitudes en las etapas de desarrollo por lo que se describirá a uno de ellos (controlador fuzzy), indicando las partes conformantes y contrastando los resultados de ambos controladores. 3.4 Definiciones previas  Para realizar el diseño en lógica difusa se necesita de los siguientes conceptos: 3.4.1 Conjunto difuso: Tipo de conjunto en donde los grados de pertenencia para cada elemento son permitidos, es decir en la definición tradicional de conjuntos un elemento podía pertenecer o no a un determinado conjunto (xאA o xבA), la pertenencia parcial no está permitida. Este grado de pertenencia (µx) viene dado en cantidades desde 0 hasta 1. Formalmente se describe a un conjunto difuso A como: A= 21    Donde X representa el conjunto universal y µx asume valores en el rango de 0 hasta 1. Para efectos de esta aplicación los conjuntos difusos fueron utilizados para transformar las magnitudes de grises en las imágenes a expresiones lingüísticas de acuerdo a su grado de pertenencia. La descripción de un conjunto difuso puede hacerse también mediante funciones de pertenencia, a través de fórmulas o gráficamente. Existen distintos tipos de funciones de pertenencia como se muestran en la figura 9. En particular para las variables de entrada y salida se utilizaron funciones triangulares, ya que su uso es común en aplicaciones de control [10], su representación se observa en la figura 10. Matlab© representa a este tipo de funciones mediante ternas de valores en el caso de una función triangular; mediante cuatro valores, en el caso de una función trapezoidal; o con dos valores si es una función tipo gaussiana ,etc.   Figura 9 Tipos de Ecuaciones de Pertenencia: a) Singleton b) Triangular c)Trapezoidal d)Gaussiana[11] 22    En Matlab : µ(x)=[b, c, d]  Figura 10 Función de pertenencia triangular [11] 3.4.2 Operaciones en conjuntos difusos: Las siguientes operaciones son conocidas como estándar, debido a su uso constante en aplicaciones de ingeniería. [10]  Unión: Definida por la operación máx. Donde máx. denota el máximo valor entre µA(x) y µB(x)  Intersección: Definida por la operación mín. Donde mín. denota el mínimo valor entre µA(x) y µB(x) Estas operaciones se muestran gráficamente en la figura 11. 23    Figura  11 Operaciones estándar en conjuntos difusos: Unión e Intersección 3.5 Etapas del Controlador:  Para el diseño de un controlador basado en lógica difusa se debe seguir una secuencia de etapas las cuales van desde la identificación de las variables a controlar, la transformación de estos valores en cantidades difusas, la asignación de reglas entre las variables de entrada y de salida, terminando con la conversión a valores físicos que se usarán en la configuración de la cámara. Las etapas en detalle son: 3.5.1 Fuzificación (Fuzzyfication). Es la conversión de los valores medidos a expresiones lingüísticas, las cuales asignan grados de pertenencia (0 hasta 1) de acuerdo a la función de pertenencia elegida. La entrada al sistema de control debe transformarse a valores que pertenezcan a un nuevo intervalo de 0 a 1. Para la asignación de valores en el controlador se dividió los distintos rangos de las variables de entrada y salida .Esta asignación debía responder a qué valores eran indicados para los horarios de las tomas fotográficas: mañana (8-9a.m), medio día (12- 1p.m) y tarde (4-5pm). Como se indicó en el capítulo anterior se maneja una salida de imágenes de 8 bits por lo que la intensidad de cada pixel está en el rango de 0 a 255.Los casos extremos para la diferencia (128-m) se daban en el caso de tener imágenes saturadas (promedio 255), y con una imagen oscura (promedio 0) las que resultaban en valores de -127 y 128 respectivamente. Esto se aprecia en la figura 12. 24    Figura 12 Rango de valores para la variable de entrada Se dividió el dominio de -127 a 128 en cuatro conjuntos difusos de acuerdo al diseño de [13], además según [11] y [10] la división del intervalo de entrada en segmentos más pequeños hace que el control sea más fino en su modelado. Esta división se aprecia en la figura 13. Figura 13 Fuzificación en la variable de entrada En la figura 13 la entrada al sistema está dividida en 4 conjuntos difusos designados por las expresiones: brillante, tenue, opaca y oscura que agrupan de acuerdo a un orden creciente en magnitud la variable de entrada (128-m). Dichas divisiones agrupan todo el rango del dominio de entrada (-127 a 128). Para efectuar la elección de valores en cada conjunto se siguió los siguientes criterios : En pruebas de campo el promedio para imágenes de suelo y pasto fueron de 204 y 179 respectivamente que corresponden para la variable de entrada (128 menos el promedio) los valores de -76 y -51.Además según King et al.[13] se recomienda 25    escoger los valores de promedio en 66 y 240, a fin de evitar porciones de brillo provenientes de hojas o del suelo, con estos promedios las variables de entrada correspondientes son 66 y 112 respectivamente. Cada uno de estos resultados permitieron elegir el mínimo y máximo valor para la variable de entrada y asignarlos a los conjuntos difusos representados por las expresiones brillante (máximo valor) y oscuro (mínimo valor).Unas vez definidos los valores extremos, [13, Fig.10] recomienda el uso de una tolerancia de 10 alrededor de la referencia de 128 como margen de establecimiento del promedio. Para el controlador se eligió un valor de 30, a fin de tener un mayor rango de valores para la división de los conjuntos alrededor de 128, es decir para los conjuntos representados por las expresiones: tenue y opaco. El ancho de estos de estos dos conjuntos (base del triángulo) procuró ser simétrico con medidas de 112 y 117 en cada base. Finalmente los valores para los conjuntos fueron: Brillante={-127,-64,-36};Ténue={-87,-22,25};Opaco={-30,33,87};Oscuro={30,10,128}. De forma similar para la salida del sistema su dominio se dividió en 4 conjuntos difusos: mínimo, regular, considerable y máximo .Asignando los valores que irán en dichos conjuntos de acuerdo a lo siguiente:  Valores de tiempo de exposición, La referencia directa en cuanto a valores adecuados según los horarios de las tomas fotográficas, fue dada por el mismo controlador automático de la cámara Point Grey. El diseño del controlador difuso se basa de la información que se pueda recabar del proceso a controlar, en este caso se contaba con archivos de imágenes a distintas horas que mostraban cómo se tenían los resultados, mas no valores de tiempo de exposición y ganancias con los que se podía tener una referencia de partida para la división en conjuntos difusos y la asignación de valores. Debido a esto, el uso del modo automático ayudó en la selección de magnitudes para los cuatro conjuntos difusos en la variable Shutter Speed o tiempo de exposición que tuvieran correlación con el ambiente en donde se desarrolló las pruebas y la hora de las mismas. 26    Los valores de tiempo de exposición en la cámara utilizada varían desde 0.1ms hasta un máximo valor de 30ms.Durante las pruebas para el controlador se llegó a definir los siguientes valores:  El menor valor asignado por la cámara en campo abierto era alrededor de 7ms y en condiciones de iluminación artificial se asignaba el valor mínimo de 0.1ms.  El mayor valor asignado en campo abierto no sobrepasa lo 23ms en el horario de mayor intensidad luminosa (12pm-1pm). Para dividir el rango de tiempos se tomó las referencias anteriores y a partir de ellas se estableció los conjuntos mínimo y máximo con valores en 7 y 23ms respectivamente. La base de cada triángulo se establece para el primero desde 3ms y 12ms, mientras que para el segundo los extremos de 19 y 37ms.Estos rangos deben tener como valor medio9 los tiempos de 7 y 23ms debido a uso del método de centroide para la defuzificación. Para los conjuntos regular y considerable se escogió los valores de 11 y 20ms, a fin de tener un orden creciente con los tiempos mínimo y máximo. Es decir una secuencia de tiempos desde 7,11, 20 y 25ms. Finalmente los valores para los conjuntos fueron: Mínimo={3.4,4.1,12};Regular={4,11,16};Considerable={13,20,26};Máximo={19,25,37} La fuzificación para el tiempo de exposición se muestra en la figura 14. Para la Ganancia, el desempeño del controlador permitía valores máximos de 10dB por lo que se distribuyó los valores desde 0dB hasta 10dB usando dos conjuntos difusos designados por las expresiones: pequeña = {-6.2,-1.39,-0.2,1.6} cuyo valor medio esta en 0dB y media={6,19,31 43} cuyo promedio está en 10dB.                                                              9 El valor medio o abcisa del centro de gravedad en un polígono regular corresponde a la semisuma  de sus coordenadas.  27    Figura 14 Fuzificación en la variable de salida 3.5.2. Operación. Esta etapa asigna, un máximo o mínimo según el uso de los operadores máx. o mín. Dependiendo del tipo de entrada la asignación de la pertenencia a cierto grupo será finalmente decidida por cualquiera de estos operadores. 3.5.3. Implicación.Esta fase engloba las partes anteriores es decir, las funciones de pertenencia, los operadores y a las reglas Sí-Entonces generando el resultado lógico o “consecuente” de acuerdo a las reglas de entrada. Una de las partes principales en los pasos anteriores es el cuerpo de reglas lógicas formadas a partir de las entradas (los dominios pre-establecidos), y las separaciones hechas a los valores de la variable de salida (Dominios de salida). Para nuestros 4 casos la entrada y salida, se vinculan de la siguiente forma: Sea la Diferencia de promedio la distancia entre el promedio de intensidades en una imagen y el valor de 128 (128-m), entonces las reglas lógicas para el sistema son: 1. Si la Diferencia de promedio es brillante, entonces el tiempo de exposición es mínimo y la ganancia es pequeña. 2. Si la Diferencia de promedio es tenue, entonces el tiempo de exposición es regular y la ganancia es pequeña. 3. Si la Diferencia de promedio es opaca, entonces el tiempo de exposición es considerable y la ganancia es media. 4. Si la Diferencia de promedio es oscura, entonces el tiempo de exposición es máximo y la ganancia es media. 28    Debe indicarse que una de las ventajas de trabajar con la lógica difusa es el poder resumir el funcionamiento integral del controlador con reglas lógicas, usando un lenguaje coloquial (linguistic language), como suelen llamarlo en la documentación de Mathworks y en la bibliografía [10], [11]. Para la etapa de implicación Matlab® nos ofrece dos posibilidades: La Mandani y la Sugeno, ambas responden con igual desempeño a las entradas asignadas. Pero según las guías de Mathworks el modelo Sugeno, es más eficiente desde el punto de vista del tiempo de procesamiento, sin embargo el modo más intuitivo para el usuario o programador es el enfoque Mandani y como se trata de un prototipo, se prefirió la comodidad en la elaboración eligiéndose esta última forma de modelado. 3.5.4 Suma o Agregado Final. Dependiendo del resultado obtenido dentro de cada regla, se acumulan los valores de pertenencia siguiendo los operadores min. o máx. según elección. En este caso se empleo el operador and o min. 3.5.5. Defuzificación (Defuzzification). La conversión de valores fuzzy entre 0 y 1 a magnitudes reales se hace mediante esta última etapa, una forma de hacerlo es la del centroide. Estas 5 etapas pueden apreciarse en el entorno de Matlab , como indica la figura 15. Aquí se aprecian la variable de entrada (diferencia de promedio) y las salidas (tiempo de exposición y Ganancia) representadas gráficamente. Matlab permite simular el comportamiento del controlador a través de su Fuzzy Logic Toolbox, en el que al ingresar valores para la variable de entrada puede verse cuál de las reglas se está ejecutando, a través del coloreado de sus figuras. En este caso se aprecia el valor de -14.3 para la diferencia de promedio, el cual pertenece al conjunto difuso tenue (a) y opaco (b) cada uno con un grado de pertenencia distinto, los que se muestran como triángulos truncos en color amarillo. Para estos valores les corresponde, según las reglas Nº 2 y 3 un tiempo designado como regular (c) y considerable (d), representados por los triángulos truncos de color azul. 29    Como influyen dos reglas para este valor de entrada, el proceso de suma o agregado final genera mediante la operación máx. el área final en la parte inferior (e) . Finalmente la Defuzificación calcula el centro de gravedad del área generada anteriormente, dando un valor de tiempo de exposición de 13,6ms. Similarmente para la Ganancia las mismas reglas se ejecutan (f) y (g), obteniéndose un valor de 5.9 dB.   Figura 15 Combinación final de reglas  30      El resultado final para las variables de entrada y salida del controlador difuso es representado por una curva denominada de transferencia. Aquí se dispone los valores reales para el tiempo de exposición (salida del sistema) y diferencia de promedio (entrada al sistema).Las curvas de transferencia para las variables Ganancia y Tiempo de exposición se muestran en las figura 16. Figura 16 Superficie final Tiempo de Exposición vs Diferencia de promedio y Ganancia vs Diferencia de promedio  Los resultados mostrados en las figuras anteriores responden a una serie de pruebas efectuadas en campo en donde el funcionamiento del controlador era verificado. Los horarios para las capturas fotográficas determinaban que tan estable era la respuesta del controlador. De acuerdo a estas pruebas se realizaron cambios en las ecuaciones de pertenencia para la salida y la entrada. Algunos de los cambios aplicados, en particular para la entrada: Diferencia de promedio se aprecian en la tabla 5. Tabla 5 Distintas variaciones para la entrada (Diferencia de promedio) al sistema  MF1='brillante':[-112 -90.7 60.2] MF2='tenue':[-78.2 -49 -17.8] MF3='opaca':[-17.8 -7.15 14] MF4='oscura':[14 33.9 58] MF1='brillante':[-143.3 -103.8 -70.64] MF2='tenue':[-78.29 -49 -17.8] MF3='opaca:[-17.8 -7.15 14] MF4='oscura':[14 33.9 58] MF1='brillante': [-143.3 -103.8 -77] MF2='tenue':[-97.65 30 34] MF3='opaca':[-17.8 77 83.8] MF4='oscura':[32 110 163] MF1='brillante':[-408.2 -64.3 -36.3] MF2='tenue':[-87.5 -22.7 25.1] MF3='opaca':[-30.2 33.1 87.1] MF4='oscura':[30 110 163] 31    Estos cambios también se veían reflejados en las curvas de transferencia, como se muestran en la figura 17.   Figura 17 Suavizado de Superficies de salida (Diferencia de promedio y Ganancia) Debido al cambio en los valores de cada intervalo .Pudo apreciarse que: Los cambios de pendiente en la superficie final eran dados por la variable de control (diferencia de promedio) a través de intersecciones entre los conjuntos difusos , esto también fue lo sugerido en [11] y [10] , aunque este cambio se realizó en los conjuntos y sus variaciones ya mostrados (tablas de 0.1-0.4), se determinó que ampliando el ancho de las intersecciones la curva de transferencia tenía un cambio menos elevado en pendiente, razón por la que el sistema era inestable dependiendo del horario; siendo el mediodía la hora más crítica.(Figura 18). Los resultados anteriores presentan una mejora notable haciendo más intersecciones en cada división. Esta modificación se muestra en la figura 19. Como se mencionó, la variable de control (diferencia de promedio) a través de las reglas de correspondencia altera la pendiente de la superficie final. La variación que tendrá la superficie en sus valores máximos se observa en las variables controladas: ganancia y tiempo de exposición. La recomendación del fabricante de las cámaras Point Grey es que se debe dar preferencia a la modificación del tiempo de 32    exposición frente a la ganancia para evitar efectos de ruido en la imagen, además que en la práctica cambiando distintos valores de tiempo de exposición en los tres horarios establecidos aun con la ganancia máxima 12db en modo constante las imágenes presentaban saturación u oscuridad.   Figura 18 Promedio vs simulaciones 12pm  (izquierda) y Promedio vs simulaciones 4pm (derecha)        Figura 19 Variable de entrada sin cruces (izquierda) y Variable de entrada con cruces (derecha) Finalmente, la distribución para las variables de salida se muestra en la figura 20. 33      Figura 20 Ecuación final de pertenencia para la Ganancia y Tiempo de Exposición Teniendo el controlador difuso, lo siguiente es incluir las configuraciones en la cámara y asignar un numero de capturas por muestra .Estas se indican en la figura 21.   Figura 21 Diagrama de flujo del Controlador  34      3.6 Códigos de Manipulación para las cámaras    Como se indicó, desde la etapa Lógica conformada por el controlador se obtienen los valores de tiempo de exposición y ganancia los que serán los parámetros de entradas para los programas en Lenguaje C. Los programas que se diseñaron fueron en un inicio utilizados para la manipulación y variación de los valores de ganancia y tiempo de exposición, además de la capturas de imágenes para las distintas tomas que se usaron. Point Grey provee programas de ejemplo para un mejor entendimiento de sus funciones, así como documentación sobre los registros principales de su memoria, manuales técnicos10 y una guía de su programa de captura flycapt2. Además permite acceder al campo filmado durante su funcionamiento .La documentación adicional tanto la guía para flycapt2, y su manual técnico permitieron dar una lectura a los registros necesarios para la modificación del tiempo de exposición (shutter speed), así como conocer los valores máximos y mínimos de estas características para poder realizar los programas con coherencia en los resultados. Point Grey provee de archivos de definición tanto para cpp como c, cada uno con funciones de escritura en registros especiales en caso se desee cambiar los valores asignados por defecto. Vale decir que la cámara posee tanto modo automático y manual siendo el primero la opción por defecto en su encendido. Para la modificación de los parámetros es necesario desactivar el modo automático, y como paso adicional activar el modo de trabajo para valores absolutos que permite números en formato flotante para asignaciones del tipo ganancia o shutter speed en el caso de esta aplicación. Cabe resaltar que en su documentación web, para el modelo utilizado Firefly MV FMVU-03MTM se menciona el uso de fórmulas de conversión para la                                                              10 Revisar en Anexos, carpeta Documentación  35    transcripción de valores en tiempo a su correspondiente en n bits, sin embargo, este método se desestima ya que las formulas de conversión varían de acuerdo al modelo y es la misma marca que sugiere el uso de “valores absolutos” vía activación de una bandera, logrando mayor exactitud y siendo independiente de cambios de modelo. Tanto para la etapa de prueba como la de depuración (Debugging) fue necesario contar con los siguientes códigos: 1. Lee_te.c: Este programa capturaba el valor del Tiempo de Exposición y lo mostraba en la pantalla. Así cualquier cambio desde el controlador en Matlab podía ser comprobado. 2. Lee_g.c: Al igual que con el tiempo de Exposición, este código permitía la comprobación respecto a la escritura de los valores de las ganancias. 3. Mod_te.c: Este programa permite escribir el tiempo de exposición dentro de los registros internos de la cámara. 4. Mod_g.c: Similar al anterior, permite ingresar valores de ganancia en los registros designados para ello dentro de la cámara. 5. Flycapture2test.c: Plantilla que viene con los archivos de instalación del Software Flycap2.Tal cual permite la captura de imágenes en un determinado formato, aunque este relativamente extenso programa es el primer acercamiento a los registros utilizados para la modificación de parámetros internos en el modelo Firefly MV FMVU-03MTM y permitió conocer las cabeceras (Libraries) comúnmente empleadas en el control de la cámara además de brindar una guía directa de los tipos de variables usadas para este modelo. Es necesario resaltar que la plantilla, al ejecutarse muestra información aparte de las imágenes ya sea tiempos, versión del software, modelo de hardware, números de serie, etc. Por último esta captura emplea los modos por defecto en la cámara, es decir emplea valores automáticos de ganancia y tiempo. Posteriormente estos modos y la plantilla en general se modificaron en cantidad de fotos, información mostrada y la desactivación del modo automático para la ganancia y tiempo de exposición. 36    Para la etapa de Operación se necesitó combinaciones de algunos de los programas ya mencionados, para finalmente conseguir: 1. La correcta escritura en los registros de tiempo de exposición y posteriormente de ganancia. 2. Asegurar la lectura de valores procedentes del archivo de texto 3. Desactivar las funciones automáticas para la exposición (exposure), tiempo de exposición (shutter speed) y ganancia (gain). 3.7 Interfaz gráfica: La idea de presentar la mayor cantidad de información de una fotografía o juego de tomas, no pasaba por generar los códigos para cada uno de los casos que se querían representar. Una ventaja de un entorno gráfico es la forma en que se presenta la información. De esa lógica elaborar una GUI (Graphic User Interface) era un paso necesario, para agrupar la funcionalidad de un eventual aplicativo o programa embebido (stand alone). El entorno Matlab® provee un asistente de desarrollo en el cual se puede ingresar tanto comandos de diseño en un archivo .m o vía su denominado GUI User Interface con una archivo .fig, que a través de opciones hace la tarea de diseñar las distintas ventanas una labor manejable. La figura 22 muestra la interfaz provista para el desarrollo de la GUI. Dentro de un primer diseño se incluyó las siguientes opciones: 1. Barra de edición, desde donde se puede ingresar el nombre de cualquier imagen para muestra. 2. Pantalla de visualización, en donde se muestra cada imagen previamente seleccionada 3. Botones de calibración permiten llamar al controlador difuso para un cambio de tiempo de exposición 4. Botones de selección para un rango de archivos almacenados 37      Figura 22 Interfaz Guide de Matlab®  Dentro del programa principal que sería la interfaz gráfica residen los distintos sub programas. 1. Creación de un archivo de texto, con datos de un grupo de imágenes 2. Intercambio de directorio. Se puede navegar entre distintos directorios a fin de encontrar una muestra reciente o de archivo. 3. Listado de dirección, el cual muestra información de una imagen particular de un conjunto de opciones 4. Ventana de Ayuda, la que incluye una mini guía acerca del funcionamiento de la aplicación 5. Programa de Control. Está conformado por el controlador de grises y los asistentes de captura de imagen y lectura de Tiempo de Exposición. 6. Obtención de Características. Se persigue la obtención de información proveniente de dos tipos de archivo uno que contiene muestras de tomas en espectro rojo y otro conjunto de muestras separadas por rango en infrarrojo cercano. Las características más apreciadas son las siguientes: 38    A. Determinar que imágenes presentaban oscuridad total o parcial, Se procedió a marcar un delimitador por imagen, es decir a través de un valor, clasificar qué parte de la misma podría ser considerada oscura y qué porción de la misma era más clara. B. Cálculo de la desviación de Histograma por imagen, como indicador de alejamiento a un correcto ajuste de grises. C. Preparación de reporte tipo hoja de cálculo, la idea era poner en un solo archivo de celdas cada uno de los parámetros requeridos para facilidad de lectura y agrupación para un cálculo posterior. Las alternativas presentes proporcionadas en Matlab eran la de importar información en archivos de texto o en hoja de cálculo como Excel ®. Debido a que el programa principal reside en la plataforma Linux, los comandos para exportar archivos en formato xls y xlsx, requerían de la instalación de Ms office para poder conservar formatos de espaciado y división de encabezado en columnas dentro de la hoja de cálculo. Aún con la instalación de programas simuladores como Wine® dentro del Sistema Operativo no era posible el envió de la información a un archivo con extensión xls o xlsx, sin perder el formato de edición. Pese al extenso conjunto de instrucciones posibles en Matlab®, no existe otra hoja de cálculo de software libre que posea instrucciones de formato en escritura como las encontradas para formato xls. Instrucciones similares a xlswrite o xlsread no poseen símil en Matlab® en la versión usada en este trabajo. De ser usadas el formato de salida era .csv (comma separate values), obviando cualquier arreglo o formato previo que se le pudiera dar a la información, distorsionando cualquier estilo de titulo espaciado y posición escrito. La solución propuesta fue utilizar una tabla que viene con el objeto uitable dentro del entorno GUIDE que provee una arreglo de celdas adaptable para la entrada de código con una apariencia similar a una hoja de cálculo con filas numeradas y rótulos de columnas configurables por el usuario. 39    3.8 Presentación final de la interfaz gráfica de Usuario. El diseño muestra botoneras para marcas de rango e inserción de texto en los tres campos elegidos para decisión de valores. La distribución final consta de los siguientes elementos:  Campo de edición de archivo, en donde se escribe el nombre de una fotografía en particular  Valores por imagen, Muestra los resultados para las distintas imágenes descritas en el campo de edición de archivo  Pantalla de Imagen, recibe el nombre de la imagen y la muestra  Texto de Dirección; indica la ubicación del Directorio actual  Listado de archivos, muestra archivos contenidos dentro del directorio actual siempre que sean de formato imagen tiff, bmp, jpeg.  Menú de Ayuda : se Incluyó una mini guía para entender la distribución, el diseño al ser funcional no pretendía extenderse en instrucciones, por lo que solo se trata de una secuencia de pasos  Rótulo de Versión, se indica aquí la versión de Matlab en que se programó el código y datos del programador. La figura 23 muestra la presentación final para la interfaz gráfica.   Figura 23 Diseño final de la Interfaz de Usuario (GUI) 40    CAPÍTULO 4: SIMULACIONES Y RESULTADOS 4.1. Simulaciones: Se presenta a continuación las condiciones en que se realizaron las tomas fotográficas y los valores de comparación para cada uno de los controladores presentados. Estos son: el control automático propio de la cámara, el controlador desarrollado o fuzzy y el controlador delta. Como patrón general se presenta los histogramas en los tres controladores como referencia a la variación de grises en cada uno .Para el caso de los controladores delta y fuzzy se utilizan la comparación de acuerdo a los valores de porcentaje de píxeles oscuros , porcentaje de píxeles saturados y la desviación de histograma presentes en las muestras; patrones utilizados como referencia en el proyecto anterior del CIP y que sirvieron para validar el funcionamiento del controlador y la factibilidad de uso de la imágenes . Se definen estos parámetros de la siguiente forma: Porcentaje de píxeles Oscuros: Para una imagen se fija un valor de referencia para intensidad (en este caso se utilizó el valor de 50), a partir del cual se comparan los píxeles de la imagen con intensidades menores a ese valor .El número de píxeles que resulte, dividido entre el total de píxeles en la imagen dará el porcentaje final. Este porcentaje debía estar entre 5% y 10%. Porcentaje de Píxeles saturados: Similar al anterior, fijando un límite de referencia de 250.Las imágenes no debían presentar saturación (0%). Desviación de Histograma: Indicador de la cantidad de contraste por imagen. A mayor cantidad de este parámetro, mayor el nivel de contraste logrado para la imagen. 4.1.1 Condiciones para la Pruebas Se consideraron las siguientes situaciones para la realización de las tomas fotográficas: Condiciones del Clima: Dependiendo del horario en que se capturen las imágenes las características de humedad y composición del aire serán 41    distintas, lo mismo que la intensidad luminosa. Para cubrir distintos rangos de estos valores en un día de medición se acordó la tomas en tres horarios mañana (9-10 am), mediodía (12-13pm) y tarde (16-17pm) Tabla 6 Valores típicos de intensidad luminosa durante pruebas Valor en fc11 Escala Hora 702 2000 10 am 1086 10000x10 12:57pm 1875 10000x10 12:40pm 246 10000x10 15:50pm 387 10000x10 16pm 66 10000x10 17pm 4.1.2 Herramientas  Cámaras: Se utilizaron dos cámaras monocromáticas de la marca Point Grey modelo Firefly MV FMVU-03MTM. (figura 24)  Filtros: Se necesitó dos tipos de filtro para las imágenes .En este caso fueron filtros en las bandas roja e infrarroja cercana del fabricante Andover Corporation de 851.9nm.  Variables de Salida: Se presentan los resultados de ambos tipos de controlador para variaciones progresivas (Controlador delta) de tiempo de exposición y con valores directos de tiempo en el resultado (Controlador fuzzy). 4.1.3 Ambientes elegidos Para las capturas fotográficas no se realizaron tomas aéreas, a fin de prescindir del aeromodelo. Se escogió en un inicio retratar algún tipo de vegetación a distancias menores a 100m y realizar tomas cercanas de las plantaciones a fin de tener capturas a distintas longitudes desde la cámara. Estas pruebas se realizaron para ambos controladores con el fin de comparar resultados en los distintos horarios de las tomas. Sin embargo se tuvo que descartar las imágenes, ya que como muestra la figura 25 las tomas a distancia capturaban parte de cielo, lo que difería de las capturas efectuadas en campo. En esas imágenes se tenía en lo posible enmarcado el objetivo, ya sean las plantaciones (área) o un cultivo en particular.                                                              11  Intensidad luminosa expresada en candelas por pie  42    Figura 24 Equipo utilizado en el sistema de captura Tabla 7 Costo Estimado del Sistema Artículo Precio( USS) Software Matlab 3150 Cámaras Point Grey x2 325 Lentes x 2 225 Filtros(IR y R) Andover x2 50 Computadora Fit Pc 393 Cables usb x2 5 Desarrollo 3450 Total 7598 Figura 25  Imágenes  iniciales usadas en  las tomas. De  izquierda a derecha:  (a)Toma cercana  (IR)  (b)Toma  cercana (R) (c) Toma a distancia (IR) (d) Toma a distancia (R) 43    Finalmente se realizó tomas a distintas alturas (20, 40 y 70cm) y se comparó el comportamiento del controlador para cada horario del día.10 Las imágenes presentadas a continuación plantean una comparación de la misma escena, a la misma altura para los distintos tipos de controladores ya mencionados:  El controlador automático, propio de la cámara utilizada.  El controlador desarrollado en esta tesis o fuzzy.  El controlador delta sugerido por los especialistas en el CIP. Se presentan los resultados promedio para ambos controladores en la tabla 8. y se muestran imágenes obtenidas para esta tabla12. Además se muestra la comparación de resultados entre los controladores automático, fuzzy y delta para el horario de la mañana a una altura de 20,40 y 70 cm Puede notarse a partir de esta comparación la distinta distribución de histogramas en los tres controladores, lo que responde al ajuste de grises en cada uno de ellos. El desempeño del controlador desarrollado, presenta su mejor promedio de píxeles oscuros para el horario de la mañana. Sin embargo, este parámetro está fuera de los límites sugeridos para una muestra adecuada para los demás horarios. Del lado del controlador delta los valores obtenidos son aceptables. En los tres horarios medidos este último indicador fue menor respecto al controlador fuzzy. Se puede concluir que el incremento progresivo de valores de tiempo de exposición (controlador delta) presenta un mejor seguimiento al promedio de grises de 128, sin embargo este es dependiente del controlador automático para el parámetro de ganancia algo que era requisito para el desarrollo de las pruebas. El resultado para la saturación en ambos controladores esta dentro de lo esperado, es decir ninguno de los controladores presentaba saturación de imágenes. Para las desviaciones de histograma un mayor valor indicaba mejor contraste, lo cual se puede apreciar para el controlador delta frente al controlador desarrollado..                                                              12 Revisar en Anexos, carpeta Imágenes  44    Adicionalmente se puede mejorar la respuesta del controlador difuso ajustando los valores de apertura y foco. Estos parámetros ya son de alcance manual y están fuera de la programación implementada. Tabla 8 Resultados para ambos controladores  Controlador Difuso h=20cm h=40cm h=70cm Po Psat DevH Po Psat DevH Po Psat DevH mañana 1,22151 0 10,5146 3,83865 0 14,3786 9,39741 0 20,1632 mediodía 19,6499 0 8,16807 9,25017 0 9,16512 35,6899 0 22,1331 tarde-5pm 2,92504 0 11,9637 12,0401 0 13,361 43,1872 0 8,29305 Controlador Delta h=20cm h=40cm h=70cm Po Psat DevH Po Psat DevH Po Psat DevH mañana 1,30695 0 20,8615 1,34429 0 21,2297 11,9567 0 40,366 mediodía 6,79754 0 12,9184 1,85599 0 22,627 2,56912 0 27,3942 tarde-5pm 0,87971 0 19,5912 2,16746 0 17,4146 24,1431 0 9,61598 Siendo ,Po: Porcentaje de píxeles oscuros, Psat: Porcentaje de píxeles saturados, DevH: Desviación de  histograma  45    Altura 20cm: Figura 26. De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  46    .47    Histogramas correspondientes a la figura 4.4 , para una altura de 20cm : Figura 27 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  48    Altura 40cm 49    Figura 28. De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  Histogramas correspondientes a la figura 4.6, para una altura de 40cm : Figura 29 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  50    Altura 70cm Figura 30 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  51    Histogramas correspondientes a la figura 4.8, para una altura de 70cm : Figura 31 De arriba hacia abajo: controlador automático, controlador fuzzy, controlador delta  52    CONCLUSIONES   1. Se consiguió realizar un sistema de captura y análisis de imágenes tomando en cuenta lo indicado de las experiencias en campo abierto, de esta información inicial se siguió dos enfoques de control por incrementos progresivos en la variable de salida y por asignación de directa del Tiempo de Exposición basándose en Lógica Difusa. 2. El uso de incrementos progresivos en el Tiempo de Exposición de cámaras presenta una mejor convergencia y estabilidad en las sesiones de prueba frente al esquema de valores directos. 3. Se consiguió diseñar un prototipo de controlador automático de Tiempo de Exposición de Cámaras para el uso en campo y laboratorio. 4. Se incluyó el control de Ganancia en el programa principal como parte de mejoramiento en dentro del sistema, llegando a tener casos de saturación dependiendo de la hora de adquisición. 5. El porcentaje de píxeles oscuros en la imagen dependerá tanto de la escena y factores como apertura y distancia focal, cuando el controlador no logre distribuir adecuadamente el promedio de grises. 53    RECOMENDACIONES 1. El uso de Lógica difusa hace posible el armado de un diseño de control en pocos pasos, la mejora de futuras versiones basadas en esta línea de trabajo deben agregar más variables de entrada a fin de realizar un control más fino y consecuente con los resultados usar incrementos progresivos para el control del tiempo de exposición como en el controlador delta. 2. Los aumentos de Ganancia deben ser espaciados, es decir de los rangos manejados para el modelo (0 -12.04dB), deben escogerse dependiendo de la hora hasta un máximo de 10dB, para evitar saturaciones en medio de las tomas. 3. Si se deseara prescindir del uso de Matlab, un código completo en lenguaje C es factible ya que se manejan solo tres variables como máximo y la lógica central del enfoque Fuzzy son reglas del tipo Lógico “If –Then” que pueden ordenarse en una estructura tipo “switch-case” o Mediante los Comando if- then de amplio uso. Solamente debe efectuarse una decisión adicional si se decidiera cambiar a otros modelos que no sean triangulares. 4. Para ampliar el alcance del sistema debe hacerse pruebas en la plataforma aérea, teniendo en consideración para las nuevas ecuaciones del controlador las variaciones de tiempos de exposición debido a la altura y al cambio atmosférico propio de esta. Además de cambios de velocidad, respecto al modelo anterior. 5. Una mejora en el control de exposición sería prescindir del promedio global de la imagen y escoger un área en particular de acuerdo con las tomas que se hagan o clasificar éstas de acuerdo a características del cultivo en particular, como se describía en el capitulo 2.Con esto se conseguiría fijar al cultivo o plantación como objetivo principal sin que se añadan elementos del paisaje que varíen la intensidad total y en consecuencia el promedio. 54    Bibliografía [1] Ministerio de La Producción-Oficina General de Tecnología de la Información y Estadística 2010. Anuario Estadístico [2]Sunat, 2010.Principales Productos por Sectores Económicos [3] Camp-Valls, G., Tuia, D., Gomez-Chova, L, 2012. Remote Sensing Image Processing, Austin, Morgan & Claypool. [4]R.Gebbers y V.I Adamchuk 2010. “Precision Agriculture and Food Security” , Science,Washington, Volumen327, Nº484460 , pp. 86-88. [5]FAO 2005. “E-Agriculture”a Definition and Profile of its applications [6] Us. Army Corps. Of Engineers 2003, Remote Sensing.Washington D.C [7]Siamak Khonam,Frank H. Koch 2012. Remote Sensing,Londres,Springer [8] Ratislav Lukav 2009. Single Sensor Imaging, Methods and applications for Digital Cameras,Boca Raton, CRC Press [9]J.S Roger Jank,Ned Gulley 2009. Fuzzy Logic Toolbox User Guide [10]Ahmad Ibrahim 2004. Fuzzy Logic For Embedded Applications,Burlingtong,Elsevier [11]Ross timothy 2004. Fuzzy Logic with Engineering Applications, Wiley and sons. 55    [12] Al Bovik, 2004. The Essential Guide to Image Processing, Elsevier [13] Yunseop King, Jhon F Reid, Qin Zhang 2007. Fuzzy logic Control of a multispectral imaging sensor for in field plant sensing [14]Blinkdagger. Sharing Data among callbacks. Consulta: el 10 de Septiembre del 2011. [15]Hull, Doug 2010. Guide Basic Tutorial [videograbación].MatlabCentral .Consulta: el 24 de Marzo del 2012 . [16] MATPIC. Interfaz Gráfica usando Matlab. Consulta: el 27 de Octubre del 2011. [17] Allain, Alex. C File I/O and Binary File I/O. Consulta: el 27 de Abril del 2012. [18]Stack Overflow. Running program in different working directory, Linux shell. Consulta: el 23 de Mayo del 2012. [19] Altman ,Yair. Customizing Menu items. Consulta: el 13 de Mayo del 2012. [20]Sumption, Bernie. Bernie’s Better Beginner’s Guide to Photography for Computer Geeks Who Want to be Digital Artists. Consulta: el 13 de Septiembre del 2011. .  56    57    [21] Namase, Rajesh. C programming on linux. Consulta: 2 de Marzo del 2012. [22] Slavíček, Václav. Fuzzy Framework. Consulta : 17 de Junio del 2012. [23] Mathworks. Matlab Central. Consulta: 27 de Marzo del 2012. [24] Tetracam Inc. Products. Consulta: 10 de Julio del 2013.