Reconocimiento de tipos de serpientes en Panamá por medio de visión artificial

Identification of snake species through artificial vision in Panama

Kevin Santamaria
Universidad Tecnológica de Panamá, Panamá
Marcos Sole
Universidad Tecnológica de Panamá, Panamá
Kexy Rodríguez
Universidad Tecnológica de Panamá, Panamá

Revista de Iniciación Científica

Universidad Tecnológica de Panamá, Panamá

ISSN: 2412-0464

ISSN-e: 2413-6786

Periodicidad: Semestral

vol. 8, 2022

orlando.aguilar@utp.ac.pa



Resumen: . Este proyecto fue elaborado con el objetivo de lograr implementar un aplicativo que pudiera identificar los tipos de serpientes localizados tanto en sitios urbanos como rurales, brindando un detalle sobre su nivel de peligrosidad como su beneficio hacia el ecosistema, también si estos se encuentran en peligro de extinción. De esta manera permitir que los individuos puedan contactar a una organización sobre protección ambiental y preservar la especie. En casos de ataques poder brindar información a los centros de salud para aplicar el debido antídoto. En este artículo se presenta el desarrollo del prototipo en una forma metodológica el cual se hizo una revisión bibliográfica y de proyectos relacionados para diseñar una propuesta conceptual. Para el desarrollo de este prototipo se utilizaron librerías de visión artificial la cual mediante imágenes guardadas en una red neuronal se identificaron las serpientes venenosas o no. Además, se realizaron pruebas para validar el algoritmo de visión artificial que identifica los tipos de serpientes.

Palabras clave: Ambiente, aplicación, serpientes, reconocimiento artificial, veneno, visión artificial.

Abstract: . This project was developed with the objective of implementing an application that could identify the types of snakes located in both urban and rural sites, providing details on their level of danger as well as their benefit to the ecosystem, also if they are in danger of extinction. This article presents the development of the prototype in a methodological way, in which a bibliographic review and related projects were made to design a conceptual proposal. For the development of this prototype, artificial vision libraries were used which, through images stored in a neural network, venomous or nonvenomous snakes were identified. In addition, tests were conducted to validate the computer vision algorithm that identifies the types of snakes.

Keywords: Environment, application, snakes, artificial recognition, venom, artificial vision.

1. Introducción

Con el avance del tiempo la población de Panamá va creciendo a un ritmo acelerado logrando acaparar o urbanizar áreas boscosas las cuales albergaban distintas especies de seres vivos entre ellas, las serpientes que son consideradas un peligro para la población. Con datos obtenidos del artículo titulado “Culebra equis ocasiona el 90% de mordeduras en Panamá” de SerTV [1] reveló que en Panamá de cada 100,000 panameños

70 pueden ser mordidos por serpientes anualmente, esto considerando que de las 137 especies actualmente documentadas que existe en Panamá 25 son venenosas. Con

esto, las personas entran en un estado de prevención al encontrarse con uno de estos reptiles tomando la decisión de sacrificarlas, sin saber si son venenosas o no y si su función es importante para el ecosistema, como lo puede ser la serpiente ratoneras que elimina las plagas de roedores portadores de enfermedades.

Debido a la cuarentena las personas deben mantenerse en sus hogares resguardándonos, pero gracias a este método algunos han entrado en contacto con el ambiente que les rodea compartiendo un habitad con distintos seres vivos como es el

caso de las serpientes. Estos suelen buscar comida en temporadas de lluvia los cuales pueden irrumpir nuestros hogares. La tasa de mordeduras en el país es de 54-62 casos por cada 100,000 habitantes. Esto corresponde a un promedio de 2,000 casos por año [2]. Panamá supera en promedio a países como Brasil y Colombia. Lo cual puede llegar hacer muy alarmante, debido a la falta de información de la especie que comete la mordedura. Si en tal caso la mordedura fuera de una serpiente no venenosa se puede confundir a la hora de suministrar el antídoto. Esto puede ser perjudicial para la persona, como lo explica el ofidiólogo, Víctor Martínez y director del Centro para Investigaciones y Respuestas en Ofidismo, en el artículo publicado por el Panamá América, "el suero antiofídico es un producto biológico que se aplica al humano solamente si es necesario, porque si no lo requiere puede ser tan malo como el veneno de la serpiente" [2].

La tecnología ofrece muchas ventajas las cuales pueden ser implementadas para ayudar a identificar los tipos de serpientes, considerando esta situación se realizó una revisión de proyectos relacionados con el tema, de diferentes fuentes como revistas científicas. Un trabajo similar [3] fue el caso de Google con Google Lens que fue desarrollado el 4 de octubre del 2017, con previsualizaciones de aplicaciones preinstaladas en un Dispositivo llamado Google Pixel 2.7, Google Lens “es una aplicación móvil de reconocimiento de imagen. Anunciada por primera vez durante el Google I/O 2017, está diseñada para mostrar información relevante usando análisis visual” [3]. Esta aplicación se relaciona con este proyecto en curso, por el motivo que utiliza la tecnología de reconocimiento para darle la información al usuario final, así como una descripción detallada de distintas áreas como plantas, animales, objetos, ropa, artículos, etc. Otro proyecto que se menciona es el de PlantNet [4] el cual es una herramienta que utiliza visión artificial para la detección de plantas con la función de mostrar todas las características de la planta identificada por medio del teléfono inteligente.

También se puede mencionar un proyecto similar a este tema como especifica el articulo [5] con el nombre de herramienta informática para la identificación de especies de serpientes bonaerenses, el cual utiliza una base de datos para el almacenamiento de cada una de las características que estas poseen y luego mediante un método llamado SIFT “el cual es un método que puede detectar varios puntos en una imagen y para luego describirlos mediante un histograma orientado de gradientes” [6]. Este método se basa en sistemas manuales sin el aprendizaje automatizado que puede brindar una red neuronal y un sistema alojado a la nube como es el caso de FireBase.

Estos argumentos impulsan la creación de esta propuesta llevado a cabo para desarrollar un software utilizando TensorFlow un framework especializado en la inteligencia artificial [7] y lenguaje de programación Python como herramienta de entrenamiento de aprendizaje automatizado [8] brindando la información por medio de una aplicación creada en Android Studio desde su versión 4.1 con la mejora de integración de TensorFlowLite [9], el cual pueda brindar protección a las personas y a las distintas especies de serpientes que existen en la República de Panamá por medio de la visión artificial y las redes neuronales. Esto debido a los problemas que ambos enfrentan como es el caso de las serpientes, siendo sacrificadas sin tener toda la información necesaria como: si son venenosas o no, como también su función en el ecosistema [10]. En el caso de las personas, poder brindar información de centros de tratamientos a causa de mordeduras por serpientes peligrosas y de cómo tratarlas por medio de diferentes sueros dependiendo del tipo de serpiente [11].

Este proyecto esta destinados a todas las personas, tales como: investigadores, excursionistas y personas particulares, siendo utilizado como un apoyo para el estudio de la biología. Gracias a esta información recolectada se definió el siguiente objetivo en el cual se centró en el desarrollo de un sistema de reconocimiento de serpientes mediante visión artificial utilizando un modelo de redes neuronales. Es por lo que, mediante la utilización de tecnologías de desarrollo de software y la visión artificial se crea un sistema de aprendizaje automatizado que dará un aporte significativo al ecosistema nacional.

2. Metodología

Para el desarrollo de este proyecto se aplicó una metodología llevando a cabo una serie de pasos que se mostrará a continuación:

2.1 Identificación del problema

Panamá ha superado en promedio de mordedura de serpientes a países como Brasil y Colombia [1]. Lo cual puede llegar hacer muy alarmante debido a que los casos pueden llegar a aumentar en consecuencia por la cuarentena y la práctica de huertos urbanos, como también la cría de aves de corral ocasionando que se creen madrigueras para la serpientes o propagaciones de roedores los cuales sirven de alimentos para estos reptiles. Esta situación crea una desventaja tanto para los seres humanos, que si son mordidos por una serpiente y esta no sea identificada correctamente. Esto puede ser perjudicial para la salud de la persona a la hora de aplicar un suero, como también perjudicial para las serpientes, debido a que las personas al encontrarse con uno de estos reptiles

procede a eliminarlos sin saber si estos pueden llegar a ser una pérdida grande en el ecosistema.

2.2 Diseño conceptual

A través del presente modelo conceptual, como se muestra en la figura 1, la persona inicia el ciclo abriendo la aplicación dentro del teléfono inteligente, luego procede abrir la cámara para tomarle foto a la serpiente. Una vez tomada la foto para el reconocimiento automatizado, la aplicación se conecta con el modelo de datos TFLite el cual mostrará si la serpiente es venenosa o no, la información suministrada se desplegará en la aplicación y se guardará en la nube de Firebase para luego consultarla como un historial de búsquedas.

Modelo conceptual del aplicativo.
Figura 1.
Modelo conceptual del aplicativo.

Con el uso de la aplicación titulada “photosnake” instalada en el teléfono inteligente, las personas podrán consultarla una vez se encuentre con una serpiente, de esta manera asegurar la vida de la persona y el reptil mediante la clasificación de venenosa y no venenosa que proporcionara el modelo creado por TensorFlow. También poder proporcionar información valiosa para los biólogos de nuestro país o estudiantes que se adentren a los bosques mediante el estudio, esta información se verá mostrada en la interfaz de la aplicación una vez tomada la foto, de igual manera se proporcionará las opciones de instrucción para enseñar el uso de la aplicación, la opción de poder identificar las serpientes en Panamá y las organizaciones que puedan ayudar al manejo de estas serpientes como los centros de atención.

2.3 Herramientas utilizadas

Se procedió a utilizar las siguientes librerías para el desarrollo del proyecto:

· TensorFlow: Utilizada para la creación del modelo de datos

a través del aprendizaje automatizado.

· Android Studio 4.1: Como desarrollador de la interfaz y conexión al modelo de datos.

· Kotlin: como lenguaje de programación para la elaboración

de las pantallas y la conexión hacia la red neuronal.

· TensorFlowLite: como formato para el modelo de datos utilizado en Android Studio.

· SDK >=19: Es utilizado para la integración del plugins

TensorFlowLite dentro de Android Studio.

· AdobeXD: Utilizado para el prototipo de alta fidelidad.

· XML: Como lenguaje de etiquetas para para el diseño de la interfaz dentro de Android Studio.

2.4 Desarrollo del prototipo y pruebas

Para el desarrollo del prototipo se utilizó Adobe XD para el prototipo de alta fidelidad una vez obtenido se procedió a plasmarlo dentro de Android Studio 4.1 utilizando XML para el diseño de las pantallas como se muestra en la figura 2 y kotlin como lenguaje de programación para la conexión del modelo o red como se muestra en la figura 3.

Uso de XML para la creación de las pantallas.
Figura 2.
Uso de XML para la creación de las pantallas.

Uso de kotlin para la conexión de modelo TFLite .
Figura 3.
Uso de kotlin para la conexión de modelo TFLite .

Para la exportación del modelo TFLite como se muestra en la figura 4 se requirió la actualización del Android Studio al

4.1 y utilizar un SDK mayor a 19.

Exportación del modelo TFLite .
Figura 4.
Exportación del modelo TFLite .

3. Resultados

Como resultado, para el desarrollo de la aplicación o prototipo que lleva el nombre PhotoSnake, el cual proporcionará información elemental sobre los tipos de serpientes mediante la visión artificial, una vez este encienda la cámara y enfoque a la serpiente se conectará con el modelo TFLite creado por TensorFlow que mostrará si es venenosa o no. Para que el modelo sea preciso, se procedió a utilizar la información del libro las serpientes de Panamá [11] el cual utilizó los nombres para encontrar fotos de las distintas especies venenosas y no venenosas, las cuales son utilizadas para alimentar el aprendizaje automatizado que realiza TensorFlow mediante un mínimo de 100 fotos. A través de las figuras 5, 6 y 7 se mostrará las distintas pantallas creadas para la interacción con el usuario y la visión artificial que detectará el tipo de serpiente.

La pantalla de inicio, como se muestra en la figura 5, es la primera en mostrarse al usuario mostrando tres opciones la primera para detallarle las instrucciones de la aplicación, la siguiente como identificar una serpiente y la tercera las organizaciones y centros de atención de serpientes. También se cuenta con un navBar inferior con las opciones de ver historial tomar la foto y el inicio de la aplicación.

Una vez tomada la imagen la persona podrá acceder la opción de historial mostrándole todos los tipos de serpientes que ha detectado la aplicación, como se muestra en la figura 6, mediante una conexión a FireBase.

La siguiente pantalla mostrará el tipo de serpiente que es (figura 7), contando con la opción de buscar una foto en los archivos del teléfono, también cuenta con un botón para capturar una foto abriendo la cámara del celular, una vez obtenida la foto de la serpiente el usuario podrá identificar el tipo de serpiente por medio de la opción de detectar. Este se conectará con el modelo de TensorFlowLite y una vez detectado la interfaz mostrará la información en la parte

inferior de los botones visualizando el nombre de la serpiente y el nivel de peligrosidad.

 Pantalla de inicio.
Figura 5.
Pantalla de inicio.

Pantalla de historial.
Figura 6.
Pantalla de historial.

 Pantalla de captura.
Figura 7.
Pantalla de captura.

Mediante un ambiente controlado utilizando imágenes de internet y el uso de la aplicación implementando ApowerMirror, como lo muestra la figura 8, se procedió a tomar una foto utilizando la cámara del teléfono inteligente.

Captura de la serpiente con la cámara.
Figura 8.
Captura de la serpiente con la cámara.

Como resultado, se puede mostrar la utilización de la aplicación en tiempo real utilizando el software de ApowerMirror. Una vez tomada la imagen esta se guardó en la ImageView y se procedió a presionar el botón de predicción logrando mostrar el tipo de serpiente venenosa, como lo muestra la figura 9.

Identificación del tipo de la serpiente.
Figura 9.
Identificación del tipo de la serpiente.

4. Trabajos Futuros

Se tiene como objetivo futuro, poder crear un sistema inteligente que pueda mostrar el nombre de la serpiente como también el nombre científico que esta posea, también se quiere lograr crear una red neuronal más sofisticada logrando identificar los colores, tamaño y los ojos de la serpiente para mostrar el tipo de especie a la que pertenece.

También, como un sistema aparte se quiere crear una opción que muestre el listado de las serpientes que se encuentran en Panamá y mostrar de manera detallada la posición geográfica donde estas se encuentren.

De igual manera, en un futuro poder crear una pantalla que pueda conectarse con chip localizadores, utilizando internet de las cosas y de esta manera brindarle más herramientas de investigación a los biólogos y científicos para el estudio de las serpientes.

5. Conclusiones

Con el proyecto de estudio se logra presentar la información de los tipos de serpientes las cuales sean venenosas o no, acaparando gran parte de todas las especies que viven en la República de Panamá, logrando crear un sistema que sea de ayuda para salvaguardar los tipos de serpientes como, el bienestar de las personas en caso de encontrarse con alguna serpiente peligrosa y ser mordido, permitiéndole mostrar más información del reptil para evitar aplicar un suero si no sea necesario.

También se puede mencionar la integración de TensorFlow como visión artificial a través de redes neuronales dentro de Android Studio utilizando Kotlin como un nuevo de lenguaje programación facilitando y ahorrando líneas de códigos.

La visión artificial considera la base del aprendizaje automático a través de imágenes, las cuales se usa para crear recomendaciones personalizadas mediante patrones de reconocimiento, logrando optimizar el resultado por medio de predicciones realizadas por la red neuronal.

Agradecimientos

La elaboración de este proyecto se lo agradecemos a la Facultad de Ingeniería de Sistemas Computacionales y a la Dirección de Investigación de la Universidad Tecnológica de Panamá, por darnos la oportunidad de participar en la Jornada de Iniciación Científica 2021.

REFERENCIAS

[1] SerTV, «Culebra equis ocasiona el 90% de mordeduras en Panamá,» Portal Virtual, 19 9 2017. [En línea]. Available: https://sertv.gob.pa/crisolfm/culebra-equis-ocasiona-el-90-de- mordeduras-en-panama/.

[2] M. Zambrano, «Panamá tiene la mayor tasa de mordeduras de serpientes,» Panamá América, 25 9 2010. [En línea]. Available: https://www.panamaamerica.com.pa/nacion/panama-tiene-la- mayor-tasa-de-mordeduras-de-serpientes-604682.

[3] Google, «Google Lens,» 5 2021. [En línea]. Available: https://lens.google/intl/es-419/.

[4] PlantNet, «Identificar, explorar y compartir tus observaciones sobre plantas silvestres,» 2021. [En línea]. Available: https://identify.plantnet.org/es.

[5] L. F. Luciano, L. Lanzarini, C. Estrebou y L. Giambelluca, «Herramienta informática para la identificación de especies de serpientes bonaerenses,» Innovación y Desarrollo Tecnológico y Social, vol. 1, pp. 41-51, 4 2019.

[6] E. Alegre-Gutiérrez y L. Fernández-Robles, «SIFT (Scale Invariant Feature Transform),» de Conceptos y métodos en Visión por Computador, Madrid, Comité Español Automática, 2016, pp. 131-157.

[7] TensorFlow, «Por qué TensorFlow,» [En línea]. Available: https://www.tensorflow.org/about?hl=es-419.

[8] J. Monroy, J. Gonzalez-Jimenez, J. R. Ruiz-Sarmiento y F. A. Moreno, «Tutorial para el reconocimiento de objetos basado en características empleando herramientas python,» de XXXIX Jornadas de Automática, Badajoz, 2020.

[9] TensorFlow, «Construye TensorFlow Lite para Android,» 5 2021. [En línea]. Available: https://www.tensorflow.org/lite/guide/build_android.

[10] J. L. Aguilar López, «Las serpientes no son como las pintan.,» Ciencia, Revista de la Academia Mexicana de Ciencias, comunicaciones libres, vol. 67, nº 2, pp. 6-13, 1 2016.

[11] A. Batista y M. Miranda, «Las Serpientes de Panamá,» 10 2020. [En línea]. Available: https://www.losnaturalistas.com/espa%C3%B1ol/academia/pu blicaciones/.

Modelo de publicación sin fines de lucro para conservar la naturaleza académica y abierta de la comunicación científica
HTML generado a partir de XML-JATS4R