6
INTEGRACI ´ ON DE UNA C ´ AMARA PAN-TILT SUBACU ´ ATICA PARA DETECCI ´ ON DE OBJETOS Y GUIADO DE UN ROV SUBMARINO C. Veiga Almagro, J.C. Garc´ ıa S´ anchez, D. Fornas Garc´ ıa, R. Mar´ ın Prades, Pedro J. Sanz Universitat Jaume I {carlos.veiga, garciaju, dfornas, rmarin, sanzp}@uji.es Resumen En este documento se expone un sistema adapta- tivo y semi-aut´onomo, el cual genera una interfaz de alto nivel para facilitar el trabajo de super- visi´on humana, capaz de detectar un objeto de inter´ es, con la finalidad de trackear su posici´on y guiar a un Remote Operated Vehicle (ROV) haciendo uso de una c´ amara pan-tilt submarina, mediante la utilizaci´on de herramientas conocidas de visi´on por computador, y a trav´ es del middle- ware Robot Operating System (ROS). El trabajo se ha llevado a cabo en el contexto del proyecto coordinado MERBOTS (www.irs.uji.es/merbots), para mejorar la realimentaci´on visual en inter- venciones reales submarinas. Palabras clave: Rob´ otica submarina, inter- venciones rob´ oticas, visi´ on por computador, detecci´ on de objetos 1. Introduci´ on Una de las tareas m´ as importantes dentro del ´ ambito de la rob´ otica de intervenci´ on, es la identi- ficaci´ on/detecci´ on de los elementos de inter´ es con los que la plataforma debe de interactuar. Esto se convierte en una tarea cr´ ıtica (junto con las de aproximaci´ on y agarre) dentro de la intervenci´ on que sea necesario llevar a cabo. Estas tareas, in- crementan su complejidad cuando el contexto es llevado debajo del agua, donde inconvenientes ta- les como la deformaci´ on, la reflexi´ on, la aparici´ on de ruido (gaussiano, granular, etc.), la ocultaci´ on parcial (o incluso completa) de los objetos de in- ter´ es, y otros agentes como puede ser la suspensi´ on de part´ ıculas en el agua (e.g. tierra, algas, etc.), o el movimiento de las corrientes marinas, difi- cultando el desarrollo de comportamientos 100 % aut´ onomos. Todo ese conjunto de premisas enu- meradas en las l´ ıneas anteriores, genera la necesi- dad de desarrollar sistemas semi-aut´ onomos, don- de exista una supervisi´ on humana capaz de apoyar en la b´ usqueda y detecci´ on de los elementos de in- ter´ es, y hacer as´ ı frente a la tesitura. Figura 1: C´ amara pan-tilt EAC-DTR100ZC Una de las principales necesidades a la hora de di- rigir un Veh´ ıculo Operado Remotamente (ROV), es tener un control total del entorno en el que se pretende realizar la operaci´ on. Es bien conocido que en el ´ ambito marino, la localizaci´ on mediante dispositivos tipo sonar (pasivo o activo), es una de las principales herramientas para detecci´ on y eva- si´ on de colisi´ on de los diferentes obst´ aculos que se puedan encontrar sumergidos bajo la superficie del agua, que si bien, proporcionan una reconstruc- ci´ on tridimensional del mapa marino[3], no est´ an exentos de un alto ´ ındice de ruido, a la vez que puede afectar al comportamiento de la fauna que habita en el entorno del radio de acci´ on, como se muestra en[5], ya sea emitiendo tanto ondas elec- tromagn´ eticas como ac´ usticas. A parte de estas ventajas e inconvenientes, se encuentra la necesi- dad que nos ata˜ ne en este documento, la detecci´ on de objetos de inter´ es (2D o 3D), tanto de forma aut´ onoma como supervisada [10], donde las c´ ama- ras son sensores especialmente adecuados. 2. ADAPTACI ´ ON DE UNA C ´ AMARA PAN-TILT SUBMARINA 2.1. Requisitos del Sistema El uso de c´ amaras resulta necesario en cuanto a la tarea de texturizar los obst´ aculos que comprenden el mapeo del fondo marino. Para llevar a cabo este tipo de tareas, los sistemas dotados de c´ amaras (pares est´ ereo o sistemas con l´ aser), se convierten en una herramienta fundamental, capaz de recrear el entorno de forma tridimensional, a la vez que dota de texturas al mismo [9]. Actas de las XXXIX Jornadas de Automática, Badajoz, 5-7 de Septiembre de 2018 416

Integración de una cámara pan-tilt subacuática para

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integración de una cámara pan-tilt subacuática para

INTEGRACION DE UNA CAMARA PAN-TILTSUBACUATICA PARA DETECCION DE OBJETOS Y

GUIADO DE UN ROV SUBMARINO

C. Veiga Almagro, J.C. Garcıa Sanchez, D. Fornas Garcıa, R. Marın Prades, Pedro J. SanzUniversitat Jaume I

{carlos.veiga, garciaju, dfornas, rmarin, sanzp}@uji.es

Resumen

En este documento se expone un sistema adapta-tivo y semi-autonomo, el cual genera una interfazde alto nivel para facilitar el trabajo de super-vision humana, capaz de detectar un objeto deinteres, con la finalidad de trackear su posicion yguiar a un Remote Operated Vehicle (ROV)haciendo uso de una camara pan-tilt submarina,mediante la utilizacion de herramientas conocidasde vision por computador, y a traves del middle-ware Robot Operating System (ROS). El trabajose ha llevado a cabo en el contexto del proyectocoordinado MERBOTS (www.irs.uji.es/merbots),para mejorar la realimentacion visual en inter-venciones reales submarinas.

Palabras clave: Robotica submarina, inter-venciones roboticas, vision por computador,deteccion de objetos

1. Introducion

Una de las tareas mas importantes dentro delambito de la robotica de intervencion, es la identi-ficacion/deteccion de los elementos de interes conlos que la plataforma debe de interactuar. Esto seconvierte en una tarea crıtica (junto con las deaproximacion y agarre) dentro de la intervencionque sea necesario llevar a cabo. Estas tareas, in-crementan su complejidad cuando el contexto esllevado debajo del agua, donde inconvenientes ta-les como la deformacion, la reflexion, la aparicionde ruido (gaussiano, granular, etc.), la ocultacionparcial (o incluso completa) de los objetos de in-teres, y otros agentes como puede ser la suspensionde partıculas en el agua (e.g. tierra, algas, etc.),o el movimiento de las corrientes marinas, difi-cultando el desarrollo de comportamientos 100 %autonomos. Todo ese conjunto de premisas enu-meradas en las lıneas anteriores, genera la necesi-dad de desarrollar sistemas semi-autonomos, don-de exista una supervision humana capaz de apoyaren la busqueda y deteccion de los elementos de in-teres, y hacer ası frente a la tesitura.

Figura 1: Camara pan-tilt EAC-DTR100ZC

Una de las principales necesidades a la hora de di-rigir un Vehıculo Operado Remotamente (ROV),es tener un control total del entorno en el que sepretende realizar la operacion. Es bien conocidoque en el ambito marino, la localizacion mediantedispositivos tipo sonar (pasivo o activo), es una delas principales herramientas para deteccion y eva-sion de colision de los diferentes obstaculos que sepuedan encontrar sumergidos bajo la superficie delagua, que si bien, proporcionan una reconstruc-cion tridimensional del mapa marino[3], no estanexentos de un alto ındice de ruido, a la vez quepuede afectar al comportamiento de la fauna quehabita en el entorno del radio de accion, como semuestra en[5], ya sea emitiendo tanto ondas elec-tromagneticas como acusticas. A parte de estasventajas e inconvenientes, se encuentra la necesi-dad que nos atane en este documento, la deteccionde objetos de interes (2D o 3D), tanto de formaautonoma como supervisada [10], donde las cama-ras son sensores especialmente adecuados.

2. ADAPTACION DE UNACAMARA PAN-TILTSUBMARINA

2.1. Requisitos del Sistema

El uso de camaras resulta necesario en cuanto a latarea de texturizar los obstaculos que comprendenel mapeo del fondo marino. Para llevar a cabo estetipo de tareas, los sistemas dotados de camaras(pares estereo o sistemas con laser), se conviertenen una herramienta fundamental, capaz de recrearel entorno de forma tridimensional, a la vez quedota de texturas al mismo [9].

Actas de las XXXIX Jornadas de Automática, Badajoz, 5-7 de Septiembre de 2018

416

Page 2: Integración de una cámara pan-tilt subacuática para

Figura 2: Representacion escena con nuestracamara en ROVs de distinta utilidad

El reto que se afronta en este articulo va un pa-so mas alla, donde haciendo uso de una camarapan-tilt submarina, la cual ha sido integrada enel entorno del middleware ROS [4], ampliamen-te utilizado en las distintas plataformas roboticasdesarrolladas, y que es la base del desarrollo degran parte de los sistemas creados en el Interacti-ve and Robotic Systems Lab (IRSLab). La camaraofrece una gran libertad de movimiento tanto enhorizontal como en vertical, permitiendo una ins-peccion visual completa del entorno. Se pretendecrear un sistema capaz de detectar objetos, apli-car un seguimiento a los mismos, y guiar el ROV aalcanzar los objetivos especificados por el usuario(ver figura 2).

Ası mismo, es importante destacar el desafıo querepresenta el uso de una camara en un entornosubmarino, anadiendo complejidad respecto a suuso en condiciones normales, como puede ser: lafalta de estabilidad del vehıculo portador, o la re-duccion de visibilidad debido a la dispersion departıculas en el agua. Esto acarrea la necesidadde hacer uso de herramientas de vision por compu-tador con la intencion de suavizar los inconvenien-tes anteriormente descritos.

2.1.1. Recursos Utilizados

La camara Pan-Tilt utilizada es el modelo ECA-DTR100ZC, tal cual se puede observar en la figura1: con un angulo de giro horizontal de 360o y otro+-90o de giro vertical. Tiene un peso de 4.8kg enel aire que se ve reducido a 2.3kg cuando esta su-mergida en el agua. Dispone de un zoom optico de10 aumentos, soportando hasta 30 atmosferas depresion (300 metros de profundidad) y un rangode temperaturas que va desde -20oC hasta 60oC.

3. Descripcion del Sistema

El sistema incluye una interfaz de bajo nivel quepermite la teleoperacion de la camara pan-tilt, pormedio de la arquitectura software que se puede ob-servar en la figura 3. Esta arquitectura integra lacamara subacuatica en el entorno ROS permitien-do al usuario capturar imagenes e interaccionarcon ella tanto a nivel teleoperado como haciendouso de comportamientos autonomos.

Figura 3: Estado inicial de la Arquitectura soft-ware del sistema

3.1. Ecualizacion Automatica

Para lograr la automatizacion del funcionamien-to de una camara es necesario trabajar con lasimagenes proporcionadas por la misma. Existendiversas librerıas de procesamiento de imagen porcomputador, ofreciendo solucion a los problemasque seran descritos con posterioridad. Algunas deestas librerıas son:

((ImageMagic)), enfocada al tratamiento deimagenes a traves de un terminal.

((Matio)), permite ejecutar ficheros de Matlab(IDE ampliamente utilizado en el ambitode la computacion para el procesamiento deimagenes) de forma embebida en C++.

((OpenCV)), ampliamente disponible en ungran numero de sistemas operativos y lengua-jes de programacion.

Para este proyecto se ha optado por usar la li-brerıa multiplataforma de acceso libre OpenCV,entre las arriba mencionadas, debido a que traba-ja en ROS de forma nativa, reduciendo el costede procesamiento. Ası mismo, al estar disponibleen diferentes lenguajes de programacion, facilitaenormemente el trabajo de experimentacion con elsistema ROS, ası como el desarrollo de proyectosmas aplicados en la industria utilizando sistemascomo Windows, Windows Embedded, o Linux.

3.1.1. Control del Iris

La forma tradicional de calcular la luminosidad deuna imagen es mediante su distribucion de color(histograma). Calcular un histograma, almacenar-lo, y compararlo con el histograma resultante de

417

Page 3: Integración de una cámara pan-tilt subacuática para

la imagen modificada, supone un aumento consi-derable del tiempo de proceso.

En este trabajo se ha optado por desarrollar elcalculo del valor medio de los ((pixels)) de la ma-triz, cuyo resultado es comparado con un rangopreviamente establecido, para decidir si es necesa-rio aclarar u oscurecer la imagen. Esto nos permitereducir el coste del proceso y, como se muestra enlas figuras 4 y 5 (donde se comparan los resultadosde ambos metodos), proporcionando una lumino-sidad de la escena optima.

Figura 4: Aclarado de imagen. De izq. a dcha.:imagen original, calculo de la media, ecualizacionde histograma

Figura 5: Oscurecido de imagen. De izq. a dcha.:imagen original, calculo de la media, ecualizacionde histograma

3.1.2. Automatizacion del Enfoque

Cuando se habla del enfoque de una imagen, hayque tener en cuenta que por mucho que la imagense encuentre perfectamente enfocada, este no tie-ne por que ser siempre optimo, ya que el area deinteres puede no ser suficientemente extensa conrespecto a la totalidad de la escena a tratar. Parahacer frente a este inconveniente, se han desarro-llado dos utilidades:

Enfoque automatico, donde se hace uso delalgoritmo de Sobel[14] para el calculo del gra-diente de la imagen a traves de su mapa debordes, el cual nos devuelve el gradiente decada ((pixel)) de la misma, por lo que calcu-lando su media podemos determinar el ni-vel de nitidez, comparando con el resultadoobtenido en cada punto de enfoque desde elmas proximo hasta el infinito, siendo el valormaximo el que determina el enfoque optimo

para el conjunto total de la escena. En la figu-ra 6 se pueden observar las fases y el resultadode este procesos

Infinito, se ha anadido la opcion de podercambiar la distancia focal de valor proximoa infinito y viceversa, con el fin de percibircon un nivel de nitidez satisfactorio un ampliorango de dimension, a la vez que desactiva elenfoque automatico.

Figura 6: Transicion en el proceso de enfoque au-tomatico

3.2. Deteccion de Objetos

Se testearon diferentes algoritmos de extraccion decaracterısticas con la intencion de encontrar unalgoritmo rapido y eficaz a la hora de reconocerobjetos dentro de una escena, con el fin de desa-rrollar una herramienta que ofrezca la capacidadde indicar la posicion y orientacion de un objetoindicado mediante un patron (imagen de mues-tra), y que a su vez pueda ser utilizado como basede un sistema de guiado de un ROV. Dentro dela extensa literatura relacionada con este tipo dealgoritmos, podemos encontrar algunos realmenteinteresantes, como pueden ser:

HARRIS[6], un detector de esquinas basa-do en los cambios de intensidad en distintasdirecciones dentro de una misma region dela imagen. Presenta un nivel muy bueno entiempos de ejecucion, ası como una gran pre-cision. A pesar de ello, no se ajusta a los re-quisitos necesarios, ya que nuestro dispositivodebe de poder ser capaz de trabajar bajo con-diciones visuales extremas, el cual HARRISno presenta tan buen comportamiento, apar-te de no ser invariante a rotaciones y escalado.

Features from accelerated segment test(FAST)[12], se basa en la vecindad de unpunto candidato, donde se usa un umbral

418

Page 4: Integración de una cámara pan-tilt subacuática para

fijado para comparar la intensidad de dichopunto con la de sus vecinos, y determinarsi es o no un punto de interes. Es un algo-ritmo realmente rapido (como su nombreindica), a costa de la eficacia (su principalinconveniente). Es dependiente de la escala.

Binary Robust Independent Elementary Fea-tures (BRIEF)[2], es un descriptor que necesi-ta que se le proporcionen las detecciones (me-diante FAST por ejemplo), haciendo uso de ladistancia de Hamming para comparar los des-criptores. Es un algoritmo muy rapido, perono es invariante a las rotaciones, por lo queno satisface las necesidades del proyecto.

Scale Invariant Feature Transform (SIFT)[7],se basa en la localizacion multiescala median-te una diferencia de gaussianas (DoG). Es in-variante a las rotaciones y al escalado de losobjetos de interes, representando la vecindaddel punto de interes como un vector de carac-terısticas. Es el mas preciso de todos los al-goritmos utilizados, proporcionando el mayornumero de caracterısticas, pero penalizandoen su tiempo de ejecucion.

Oriented FAST and Rotated BRIEF(ORB)[13], es un algoritmo que mezclalas caracterısticas de los anteriores:

• Se provee de puntos de interes haciendouso de FAST.

• Desconoce si esos puntos son buenos, porlo que hace uso de HARRIS para obtenerla medida de esquinidad de cada uno deellos, manteniendo como buenos los N demayor valor.

• Para resolver los problemas de dependen-cia de la escala, calcula una piramide deimagenes (al igual que SIFT), obtenien-do los puntos FAST de cada una de ellas.

• Haciendo uso de los pares de puntos usa-dos en BRIEF, ORB rota el patron de-pendiendo del angulo de la caracterısticacon el fin de solventar los problemas deinvarianza a las rotaciones.

Sus tiempos de ejecucion son mucho mejoresque SIFT, todo lo contrario que la robustezprobada en nuestro sistema.

Speeded-Up Robust Features (SURF)[1], basa-do en SIFT. Utiliza una aproximacion basicade la matriz Hessiana (matriz cuadrada de nx n de las segundas derivadas parciales) parareducir el tiempo de computacion. El deter-minante de la matriz Hessiana se utiliza parala localizacion de los puntos y para determi-nar la escala del objeto dentro de la escena.

Para obtener la orientacion de los puntos, secalcula el “Haar-wavelet” para las direccionesX e Y en una region circular de radio 6s, don-de s es la escala (dimension) del punto de in-teres. Wavelet [8] resuelve los problemas quepresenta la Transformada de Fourier en el ca-so en que los puntos de interes se encuentrenmuy cerca unos de otros. A diferencia de Fou-rier, Wavelet utiliza un tamano de ventanaadaptado a las frecuencias. Con respecto a lasimagenes, la Transformada de Fourier F(k) deuna funcion f(x) de soporte finito se extiendeentre [-infinito, +infinito]. Despues de apli-car cualquier algoritmo de analisis a F(k), sepierde informacion al realizar la inversa de latransformada. En cambio, en la Transforma-da de Wavelet, la funcion y su transformadase encuentran en un intervalo finito, por loque no hay perdida de informacion al realizarla inversa de la transformada.

Una vez calculados todos los vecinos, se esti-ma la orientacion dominante. Finalmente sesuavizan los resultados mediante una Gaus-siana.

La caracterıstica principal de los puntos deinteres SURF es la repetitividad. Si el puntoes considerado fiable, el detector encontrarael mismo punto bajo distintos puntos de vista(diferente escala, orientacion, etc.).

Si SURF encuentra un numero suficientemen-te grande de puntos que asegure la identifica-cion del objeto buscado, lo dara por encontra-do, aun estando parcialmente oculto, como sepuede observar en la figura 7.

Despues del estado del arte realizado para la elec-cion del mejor algoritmo posible, donde a parte delos test realizados, se considero el estudio de A.M.Romero y M. Cazorla [11] sobre las diferencias en-tre los algoritmos SIFT y SURF, comparando elnumero de puntos detectados y el tiempo inverti-do, obteniendo que SIFT es 3.39 veces mas lento,encontrando 2.68 veces mas puntos que SURF, sedecidio implementar este ultimo.

3.2.1. Localizacion del Objeto

Se comenzo con la integracion del algoritmo SURFdentro de un paquete de ROS (escrito en C++),donde SURF recibe un patron y se suscribe a lasimagenes publicadas por la camara que este siendousada en ese momento (ver figura 8).

Este paquete publica un objeto de tipo mensaje((MultiArray)) de flotantes, en el que almacenanlas coordenadas del marco homografico que defi-ne la posicion y orientacion del objeto. Haciendouso de las coordenadas de los cuatro puntos que

419

Page 5: Integración de una cámara pan-tilt subacuática para

Figura 7: Objeto encontrado parcialmente oculto

delimitan dicho marco, se calcula la interseccionformada por las dos rectas generadas de la unionde los puntos opuestos del cuadrilatero. Esto nosindica la posicion del objeto con respecto a la es-cena, y nos permite corregir su orientacion conrespecto a nuestro punto de vista.

Figura 8: Diagrama ejecucion de SURF en ROS

3.2.2. Surf en la Camara Pan-Tilt

Despues de la integracion de la camara y del algo-ritmo de SURF en el entorno ROS[4], e implemen-tar una interfaz de alto nivel que permite su usoautonomo y/o supervisado, se ha tratado de inte-grar todas estas nuevas herramientas, con la inten-cion de que sea la camara, a partir de un patrondado, capaz de ejecutar los comportamientos nece-sarios (rotacion, enfoque, ecualizacion, etc.) paralocalizar el objeto deseado.

En esta ocasion, se ha hecho uso de una utilidad deROS llamada ((actionlib)), la cual esta constituidapor:

Servidor, ejecuta una peticion solicitada porparte del cliente.

Cliente, solicita al servidor que ejecute unaaccion.

Fichero de especificacion, almacena la defini-cion de los objetos que se utilizaran: objeti-vos, resultados y realimentacion de la accion.

Esta nueva herramienta desarrollada necesita queSURF este en ejecucion para poder funcionar, yaque responde a los valores publicados por el pa-quete “objectLocalization”. Es por esta razon quese ha decidido la utilizacion de un ((actionlib)) enlugar de un servicio de ROS, ya que este ultimono permite la suscripcion a topics.

Una vez que el cliente lance la peticion de ejecu-cion de la accion, el ((actionlib)) comenzara a rotarla camara en X e Y, tratando de cubrir la tota-lidad del rango de campo de vision de la misma.Mientras el objeto deseado no sea detectado, el((actionlib)) mantendra la camara en movimiento.Una vez este sea detectado, el ((actionlib)) dara porterminada su ejecucion manteniendose a la esperade una nueva solicitud.

4. Resultados

Se ha implementado una nueva interfaz de al-to nivel, logrando un comportamiento autonomode una camara pan-tilt submarina, capaz de mo-dificar sus parametros logrando capturar image-nes con la mayor calidad posible, necesario parala busqueda automatica de objetos en el ambitomarıtimo, donde el entorno se convierte en el ma-yor desafıo.

Poniendo la mirada en los planes de contingen-cia, se ha optado por la inclusion del mando de laXBox, el cual permitira tele-operar la camara enel caso en que pueda aparecer un comportamien-to incorrecto por parte de la misma. Del mismomodo, facilitara y dotara de mayor comodidad enlas posibles tareas de tele-operacion que puedansurgir por necesidad de la intervencion a llevar acabo. Dicha modalidad ya se encontraba integradaen ROS mediante el paquete Joy.

El esquema resultante de la integracion de las nue-vas utilidades se puede observar en la figura 9,donde los bloques destacados son el aporte de estetrabajo.

Figura 9: Esquema final del sistema

5. Conclusiones

Con el nuevo sistema desarrollado, se ha logrado laautomatizacion de algunas funcionalidades impor-tantes a la hora de montar la camara en un ROV,dotando de independencia en el tratamiento de lasimagenes capturadas.

Debido a la ausencia de retroalimentacion por par-te de la camara, se realizo una baterıa de pruebas

420

Page 6: Integración de una cámara pan-tilt subacuática para

con el fin de extraer los umbrales necesarios paracada una de las herramientas implementadas:

Grado de luminosidad, se calculo el grado deluminosidad de imagenes tomadas en un en-torno cerrado con luz artificial, comparandolos resultados de luminosidad optima extraıdamediante histograma.

Tiempo de enfoque, para el enfoque au-tomatico, se hace uso del tiempo que empleala camara en pasar del enfoque proximo al in-finito (7.5 segundos, dato obtenido mediantemediciones en laboratorio).

Patrones para SURF, deben de ser lo mas pe-quenos posibles, sin exceder el lımite que im-pida a SURF encontrar puntos de interes. Eselımite es dependiente de la resolucion de lacamara, y se encuentra en torno a los 70x70pıxeles. Esto ofrece a SURF la posibilidad deidentificar el objeto deseado a mayor distan-cia, ya que las dimensiones del patron es eltamano mınimo que debe de tener el objetoen la escena, siendo la escena el tamano maxi-mo del mismo.

La reflexion de la luz sobre los objetos dificultala tarea de deteccion, ya que impide al descriptorextraer caracterısticas del mismo.

Agradecimientos

Los autores agradecen el soporte del Gobierno Es-panol, a traves de los proyectos DPI2014-57746-C3(MERBOTS) y DPI2017-86372-C3-1-R (TWIN-BOT), la Universidad Jaume I de Castellon conel proyecto P1-1B2015-68 (MASUMIA), y la Ge-neralitat Valenciana (PROMETEO/2016/066).

Referencias

[1] H. Bay, A. Ess, T. Tuytelaars, andL. Van Gool. Speeded-up robust featu-res (surf). Computer vision and imageunderstanding, 110(3):346–359, 2008.

[2] M. Calonder, V. Lepetit, C. Strecha, andP. Fua. Brief: Binary robust independentelementary features. In European conferenceon computer vision, pages 778–792. Springer,2010.

[3] Alberto Elfes. Sonar-based real-world map-ping and navigation. IEEE Journal on Robo-tics and Automation, 3(3):249–265, 1987.

[4] D. Fornas, J. Sales, A. Penalver, J. Perez, J.J.Fernandez, R. Marın, and P.J. Sanz. Fittingprimitive shapes in point clouds: a practical

approach to improve autonomous underwatergrasp specification of unknown objects. Jour-nal of Experimental & Theoretical ArtificialIntelligence, 28(1-2):369–384, 3 2016.

[5] J.A. Goldbogen, B.L. Southall, S.L. DeRui-ter, J. Calambokidis, A.S. Friedlaender, E.L.Hazen, E.A Falcone, G.S. Schorr, A. Douglas,D.J. Moretti, et al. Blue whales respond to si-mulated mid-frequency military sonar. Proc.R. Soc. B, 280(1765):20130657, 2013.

[6] C. Harris and M. Stephens. A combined cor-ner and edge detector. In Alvey vision con-ference, volume 15, pages 10–5244. Citeseer,1988.

[7] Tony Lindeberg. Scale invariant featuretransform. Scholarpedia, 7(5):10491, 2012.

[8] S. Mallat. Wavelets for a vision. Proceedingsof the IEEE, 84(4):604–614, 1996.

[9] A. Penalver, J. Perez, J.J. Fernandez, J. Sa-les, P.J. Sanz, J.C. Garcıa, D. Fornas, andR. Marın. Visually-guided manipulation tech-niques for robotic autonomous underwaterpanel interventions. Annual Reviews in Con-trol, 40:201–211, 2015.

[10] J. Perez, J. Sales, A. Penalver, D. Fornas,J. J. Fernandez, J. C. Garcia, P.J. Sanz,R. Marin, and M. Prats. Exploring 3-DReconstruction Techniques: A BenchmarkingTool for Underwater Robotics. IEEE Robo-tics & Automation Magazine, 22(3):85–95, 92015.

[11] A.M. Romero Cortijo, M. Cazorla, et al.Comparativa de detectores de caracterısticasvisuales y su aplicacion al slam. 2009.

[12] E. Rosten and T. Drummond. Fusing pointsand lines for high performance tracking. InComputer Vision, 2005. ICCV 2005. TenthIEEE International Conference on, volume 2,pages 1508–1515. IEEE, 2005.

[13] E. Rublee, V. Rabaud, K. Konolige, andG. Bradski. Orb: An efficient alternative tosift or surf. In Computer Vision (ICCV),2011 IEEE international conference on, pa-ges 2564–2571. IEEE, 2011.

[14] I. Sobel, R. Duda, P. Hart, and J. Wiley.Sobel-feldman operator.

c© 2018 by the authors.Submitted for possibleopen access publication

under the terms and conditions of the Creati-ve Commons Attribution CC-BY-NC 3.0 license(http://creativecommons.org/licenses/by-nc/3.0/).

421