Software para procesado de imágenes g procedentes p de un sonar de barrido lateral en exploración l ió submarina b i José Mª Zamanillo Sainz de la Maza (1), Isabel Zamanillo Sainz de la Maza (2), Francisco Jesús Velasco Gonzalez (2) (1) Dpto. de Ingeniería de Comunicaciones (DICOM) (2) Dpto. p de Tecnología g Electrónica e Ingeniería g de Sistemas y Automática (TEISA) UNIVERSIDAD DE CANTABRIA SUMARIO • INTRODUCIÓN • Motivación del trabajo. • Herramientas de medida y entorno. • SONAR • Definición. Principios Fundamentales. • Tipos de sonar. • Sonar de barrido lateral. • FILTRADO DIGITAL • Aspectos generales. • Filtros implementados y resultado de su aplicación. • PROGRAMA WinEASYSONAR • CONCLUSIONES • Futuras líneas de trabajo. MOTIVACIÓN DEL TRABAJO • La Universidad de Cantabria junto al Gobierno Regional presentaban en febrero de 2009 un Vehículo Submarino no Tripulado de Inspección y otro de rescate, cuyo objetivo es contribuir al desarrollo científico-técnico. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES • El Dpto. TEISA solicita colaboración del Dpto. DICOM ambos de la UC para aplicar técnicas de procesado a las imágenes procedentes del SONAR de barrido lateral con las que cuenta uno de los dos vehículos hí l submarinos. b HERRAMIENTAS DE MEDIDA Y ENTORNO (I) Tipos de vehículos submarinos: INTRODUCCIÓN SONAR •ROVs (Remotely Operated Vehicles): necesitan estar conectados a un fuente de energía a través del cable umbilical. FILTROS PROGRAMA CONCLUSIONES • AUVs (Autonomous Underwater Vehicles): funcionan con baterías recargables, su autonomía depende totalmente de ellas. ROV modelo Seaeye Falcon de la empresa sueca SAAB Los d L dos son gobernados b d d de forma remota desde la superficie. AUV modelo C’Inspector de la empresa noruega Kongsberg HERRAMIENTAS DE MEDIDA Y ENTORNO (II) INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Entorno de trabajo de los vehículos UUVs adquiridos por la UC DEFINICIÓN. PRINCIPIOS FUNDAMENTALES (I) INTRODUCCIÓN SONAR FILTROS “Si hace que su barco se pare e introduce la cabeza de un tubo largo en el agua y acerca el extremo exterior a su oreja, escuchará el sonido de barcos a una gran distancia desde donde se encuentra encuentra” Leonardo da Vinci, 1490. PROGRAMA CONCLUSIONES “barco se pare” ... reducir el propio ruido. “tubo tubo en el agua agua” …transductor. “a su oreja” …receptor. “escuchará el sonido de barcos” … detección. “a distancia” … baja atenuación. atenuación a una gran distancia DEFINICIÓN. PRINCIPIOS FUNDAMENTALES (II) El SONAR (Sound Navigation And Ranging, ‘navegación y alcance por sonido’) es una técnica que usa la l propagación ió del d l sonido id bajo b j ell agua para navegar, comunicarse o detectar objetos sumergidos sumergidos. INTRODUCCIÓN SONAR Z FILTROS PROGRAMA CONCLUSIONES X Y TIPOS DE SONAR 9 Sonar activo: instrumento que detecta objetos bajo el agua empleando el eco devuelto por el objeto en el cual inciden las ondas acústicas emitidas por un transductor. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Principio fundamental del SONAR activo 9 Sonar pasivo: instrumento que se limita a escuchar el sonido procedente de los objetos sumergidos. SONAR DE BARRIDO LATERAL (I) Z X SSS ((Side Scan Sonar)) INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Como se puede apreciar i en lla fifigura debido al ángulo de barrido y a la construcción física del sonar,, hayy una región g perpendicular a la dirección de ió que no es propagación posible escanear en una sola pasada pasada. Vehíc lo UUV Vehículo Rocas Arena Barro Gravilla Y Depresión ROCAS Trayectoria del Vehículo GRAVILLA SONAR DE BARRIDO LATERAL (II) Zona de Sombra Imágenes obtenidas mediante un sonar de barrido lateral y su comparación con imágenes ópticas del fondo marino. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen de Trabajo FFuente: National N i l Oceanic O i and d Atmospheric A h i Administration (NOAA). FILTRADO DIGITAL La imagen digital está compuesta por un código numérico que el ordenador representa en la pantalla mediante píxeles. El código numérico está basado en bits. bits En nuestro caso la información de cada píxel está almacenada en 8 bits y puede tomar un valor de 0 a 255. (Ficheros TIF “con rejilla” procedentes del Software de control del sonar) INTRODUCCIÓN SONAR FILTROS Si trabajamos con imágenes en blanco y negro habrá una única capa que vaya desde el blanco (255) hasta el negro (0). En caso de que sea a color habrá 3 capas, una por cada color primario: rojo, verde y azul (RGB). PROGRAMA CONCLUSIONES 205 207 198 150 165 207 235 201 175 181 210 214 159 158 166 214 214 204 205 201 211 213 215 199 204 143 145 150 144 150 156 187 130 159 207 210 214 211 175 180 165 136 155 235 214 214 213 99 207176210182 214169 3 203 166 201 159 204 215 87 235163214203 214215 213187 187 175 158 205 199 102 201 159 204 215 199 178 184 125 105 105 175 158 205 199 123 165 178 165 169 146 199 201 199 179 ASPECTOS GENERALES (I) Los filtros digitales son aplicaciones gráficas que nos permiten transformar nuestras imágenes. g Existen 2 tipos de transformaciones: INTRODUCCIÓN SONAR 1. Transformaciones globales: cada píxel de salida depende sólo de un píxel de entrada. FILTROS PROGRAMA CONCLUSIONES 2 T 2. Transformaciones f i l locales: l ell valor l de d un píxel í l depende d d de la vecindad local de ese píxel. Transformación global 143 145 150 144 146 143 145 150 144 185 150 156 187 130 199 150 156 187 130 199 175 180 165 136 201 175 180 183 136 201 176 182 169 203 199 176 182 169 203 199 163 203 215 187 179 163 203 215 187 179 T f ió llocall Transformación Entrada Salida ASPECTOS GENERALES (II) Pero… ¿cómo sé conocen valores acompañan al píxel que se está procesando? A través de la ventana deslizante o kernel. INTRODUCIÓN SONAR La ventana deslizante evalúa el píxel central de la ventana de acuerdo con los píxeles de alrededor y sus valores de ponderación Cuando ponderación. C ando un n nuevo n e o valor alor es así calculado, calc lado se desplaza la ventana sobre el siguiente píxel, realizando la misma operación. FILTROS PROGRAMA Se distinguen los siguientes tipos de ventana: CONCLUSIONES a)) Cuadrada b)) Rectangular g c)) Circular d)) Unidimensional e)) Cruz FILTROS IMPLEMENTADOS Y RESULTADO DE SU APLICACIÓN FILTRO CS ((Compare p & Selection): ) Permite realzar los contornos al mismo tiempo que suprime componentes de ruido. INTRODUCCIÓN SONAR ¿Cómo funciona? FILTROS PROGRAMA Es necesario seleccionar un valor para los siguientes parámetros: CONCLUSIONES • Tamaño ventana deslizante: 3 (3x3), 5, 7, 9, 11. • Parámetro J: 1 ≤ J ≤ (tamaño_ventana^2+1)/2 C t más á pequeño ñ sea J más á realce l bt d á sin i embargo b Cuanto se obtendrá, suprime menos ruido, por lo que es conveniente escoger un valor medio-alto y repetir el proceso si queremos obtener más realce. Resultados: INTRODUCIÓN Imagen original SONAR FILTROS PROGRAMA CONCLUSIONES Imagen filtrada ventana 3x3, J=4 Imagen filtrada ventana 7x7, J=2 FILTRO WMMR-MED El Filtro WMMR-MED (Weighted Majority of M values with Minimum Range) combina un suavizado considerable con un ligero realce de los márgenes. El resultado obtenido viene determinado por la ecuación: INTRODUCCIÓN SONAR FILTROS imagen_out(x,y)= (1-J)*M + J*imagen_in(x,y) PROGRAMA CONCLUSIONES • J en este caso en un factor de escala que varía (0, 1]. • imagen_in(x,y) es el píxel de entrada. • M es la media del conjunto de valores de la ventana con menor rango. Resultados: INTRODUCIÓN Imagen original SONAR FILTROS PROGRAMA CONCLUSIONES Imagen filtrada ventana 3x3, J=0.2 Imagen filtrada ventana 11x11, J=0.6 FILTRO VOLTERRA Suministra un realce a los márgenes que es proporcional al brillo de la imagen local. local La salida inicial del proceso de filtro Volterra es aproximadamente equivalente al producto del promedio local y un filtro de paso alto. INTRODUCCIÓN SONAR Consta de los parámetros: FILTROS PROGRAMA CONCLUSIONES • Tamaño de ventana: en este filtro es de 3 (3x3). • J, comprendido entre (0, 0.1] La ecuación del filtro cuadrático Volterra obtenido es la siguiente: im_out(x,y) = 3* J* im_in(x,y)^2 – 0.5 * J * im_in(x+1,y+1) * im in (x-1 im_in (x 1,yy-1)– 1) 0.5 0 5 * J * im im_in in (x+1,y (x+1 y-1) 1) * im_in im in (x-1 (x 1,y+1) y+1)– 0.5 05*J* im_in (x+1,y) * im_in (x-1,y)– 0.5 * J * im_in (x,y+1) * im_in (x,y-1) Resultados: INTRODUCIÓN Imagen original SONAR FILTROS PROGRAMA CONCLUSIONES Imagen filtrada ventana 3x3, J=0.001 Imagen filtrada ventana 3x3, J=0.025 FILTRO EDGE Los bordes son los lugares de una imagen donde la intensidad cambia rápidamente. á id L función La f ió Edge Ed detecta d di h cambios, dichos bi y devuelve d l una matriz binaria conteniendo “unos” donde se encuentra los bordes y “ceros” en el resto, es decir o blanco o negro respectivamente. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada Una opción que nos proporciona unos muy buenos resultados es aplicar un filtro CS previamente a la detección de bordes. INTRODUCCIÓN SONAR FILTROS PROGRAMA Imagen procesada con filtro CS 3x3 y J=0.4 J=0 4 CONCLUSIONES Como vemos, se ha eliminado la cuadrícula de la imagen. La eliminación de ruido y el realce de los bordes del filtrado CS,, favorece optimizando p los resultados al aplicar el filtro Edge. FILTRO AVERAGE Se trata de un filtro de suavizado en el que el píxel central toma el valor de la media aritmética de los píxeles del kernel. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada FILTRO GAUSSIAN El valor de cada punto es el resultado de promediar con distintos pesos los valores vecinos a ambos lados de dicho punto. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada FILTRO LAPLACIAN Las zonas con más intensidad de la fotografía original aparecen en color azul, azul mientras que el resto se conserva entre el amarillo y naranja original. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada FILTRO LAPLACIAN OF GAUSSIAN (LoG) Ofrece unos resultados similares al filtro Laplacian, con un mayor resalte debido al contraste de los pesos del kernel y el aumento del tamaño. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada FILTRO MOTION Se hace un realce que destaca las componentes horizontales de la imagen al tiempo que las suavizamos. Podemos usar este filtro si deseamos enfatizar bordes con una trayectoria horizontal, horizontal o del mismo modo, modo suprimir elementos con trayectoria vertical. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada FILTROS PREWITT Y SOBEL Los resultados obtenidos son similares al de los filtros Laplacian y LoG salvo que en éstos se produce un sobre-relieve, el cual hace que resalten aún más los componentes de la imagen. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen procesada por el filtro Prewitt Imagen procesada por el filtro Sobel FILTRO UNSHARP Se trata de una especie de combinación entre un filtro paso bajo con uno de paso alto. El resultado es similar al del filtro Volterra. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Imagen original Imagen procesada PROGRAMA WinEASYSONAR El programa WinEASYSONAR tiene una interfaz gráfica que facilita la aplicación de filtros en las imágenes a procesar. Está elaborado con la herramienta de MATLAB llamada GUIDE (Interfaz Gráfica de Usuario). INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES EJEMPLO 1 INTRODUCCIÓN SONAR FILTROS 2 PROGRAMA CONCLUSIONES 3 En la imagen 2, vemos el resultado de aplicar el filtro Edge sobre la imagen original. En la imagen 3, observamos el resultado de haber aplicado el filtro CS con un kernel 3x3 y J=4. MENSAJES DE ERROR Obviamente para que el filtro pueda actuar, se necesita haber cargado una imagen previamente. En caso contrario, se mostrará un mensaje de error. Del mismo modo si introducimos parámetros no válidos para los filtros implementados, éste mostrará un cuadro advirtiéndonos del error, y un mensaje que nos ayudará a corregirlo. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES HERRAMIENTA ZOOM La herramienta zoom nos permite hacer un examen exhaustivo de los resultados obtenidos. El botón zoom está disponible tanto en la imagen 2 como en la imagen 3. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES BARRA DE PROGRESO (PROGRESS BAR) Desde la ejecución de los filtros CS, WMMR-MED y Volterra hasta su resultado en pantalla, transcurre un tiempo lo suficientemente largo que hace que sea interesante mostrar una barra de progreso, la cual nos muestre el porcentaje del proceso completado, así como la capa RGB que está procesando en ese momento. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Si el filtro se aplica a 2 imágenes en el caso de que tengamos una imagen original y otra que ya se haya procesado previamente, la barra de progreso nos mostrará el porcentaje del proceso completado y nos indicará que capa RGB se está procesando, y sobre qué imagen se está aplicando. BARRA DE PROGRESO (PROGRESS BAR) (II) Una de las ventajas más importantes que ofrece esta barra de progreso, es la posibilidad de interrumpir el proceso por el usuario en cualquier parte del mismo, mostrando los resultados tal y como se encuentran en dicho momento del proceso. INTRODUCCIÓN SONAR FILTROS PROGRAMA CONCLUSIONES Haciendo “click” en la cruz de cierre de ventana de Windows de la barra de progreso, nos aparecerá una ventana como la siguiente preguntándonos si deseamos interrumpir o no el proceso. CONCLUSIONES • Desarrollo y depuración de algoritmos que mejoran el visionado de las imágenes procedentes de un sonar, especialmente en el tratamiento de los bordes con los filtros CS, WMMR-MED y Volterra. INTRODUCCIÓN • Interfaz de aspecto agradable y de uso intuitivo. SONAR FILTROS PROGRAMA • Posibilidad de aplicar varios filtros consecutivamente sobre una misma imagen. CONCLUSIONES • Demostración de que las técnicas de filtrado digital son útiles para el procesado de imágenes de sonar. P d partida id para iiniciar i i nuevas líneas lí d investigación i i ió • Punto de de como el reconocimiento de objetos sumergidos. FUTURAS LÍNEAS DE TRABAJO • Introducir tamaños y formas de ventanas diferentes a la cuadrada que se ha usado en este trabajo. q j • Incluir máscaras kernel donde el usuario pueda elegir el valor de los pesos que la componen. INTRODUCCIÓN SONAR • Utilizar redes neuronales en el procesado de imágenes de sonar. FILTROS PROGRAMA CONCLUSIONES • Mejorar la captación de imágenes mediante un software f de control propio del sonar de barrido lateral. • Instalar I t l un equipo i SSS en ell ROV para asíí poder d comparar la l imagen óptica con la imagen del SSS, y depurar así las técnicas de procesado. • Optimizar las técnicas para que se pueda procesar la imagen captada por el sonar en el PC de control del vehículo en tiempo cuasi-real. cuasi-real GRACIAS POR SU ATENCIÓN