Prototipo de geolocalizaci on y reconocimiento aplicado a...

89
Prototipo de geolocalizaci´on y reconocimiento aplicado a especies Alejandro Reyes Pe˜ na Jhon Janer Catellanos Sanchez Universidad Distrital Francisco Jos´ e de Caldas Facultad de Ingenier´ ıa Bogot´ a, Colombia no 2020

Transcript of Prototipo de geolocalizaci on y reconocimiento aplicado a...

Page 1: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Prototipo de geolocalizacion yreconocimiento aplicado a especies

Alejandro Reyes Pena

Jhon Janer Catellanos Sanchez

Universidad Distrital Francisco Jose de CaldasFacultad de Ingenierıa

Bogota, ColombiaAno 2020

Page 2: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Prototipo de geolocalizacion yreconocimiento aplicado a especies

Alejandro Reyes Pena

Jhon Janer Castellanos Sanchez

Tesis de grado presentada como requisito para optar al tıtulo de:Ingeniero de Sistemas

Director(a):Ing. Alejandro Paolo Daza Corredor

Universidad Distrital Francisco Jose de CaldasFacultad de Ingenierıa

Bogota, ColombiaAno 2020

Page 3: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Agradezco a mis padres por todo lo que hanhecho, gracias a ellos y su apoyo soy lo que soyhoy en dıa, junto con las personas y verdaderosamigos que me han acompanado a lo largo demi vida.

Alejandro Reyes Pena

Agradezco a mis padres por su apoyo in-condicional durante todo el proyecto, tambienagradezco a los grupos de investigacion que mehan aportado las destrezas y aptitudes parainvestigar y desarrollar. Por ultimo a todaslas personas que con sus energıas me han da-do la fuerza para realizar todo lo que he querido.

Jhon Janer Castellanos

“El desarrollo del hombre depende funda-mentalmente de la invencion. Es el productomas importante de su cerebro creativo. Su ob-jetivo final es el dominio completo de la mentesobre el mundo material y el aprovechamientode las fuerzas de la naturaleza a favor de lasnecesidades humanas”

Nikola Tesla

Page 4: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

INDICE INDICE

Indice

Indice 4

I Preliminares 8

1. Introduccion 9

2. Resumen 10

3. Planteamiento del Problema 113.1. Descripcion del Problema . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Formulacion del Problema . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. Justificacion 11

5. Objetivos 125.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6. Alcance y Limitaciones 12

7. Marco Referencial 147.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147.2. Trabajos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2.1. iNaturalist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.2.2. Seek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.2.3. FacesDetector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.2.4. Herramientas para la deteccion y seguimiento de personas a partir

de camaras de seguridad . . . . . . . . . . . . . . . . . . . . . . 167.2.5. Prediccion de visitas mediante geolocalizacion a traves de dispo-

sitivos moviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.2.6. Aplicacion para la Deteccion de Espacios en Parqueaderos con

Drones y Smartphones . . . . . . . . . . . . . . . . . . . . . . . 167.2.7. QUYN: Plataforma de registros digitales de fauna silvestre . . . 167.2.8. Fototrampeo en los Parques Nacionales Naturales de Colombia . 177.2.9. Drones: una nueva tecnologıa para el estudio y monitoreo de fauna

y habitats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 4

Page 5: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

INDICE INDICE

7.2.10. Diseno e implementacion de un prototipo inalambrico de moni-toreo a traves de secuencias de imagenes utilizando hardware ysoftware libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7.3. Fototrampeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187.3.1. Uso de camaras . . . . . . . . . . . . . . . . . . . . . . . . . . . 187.3.2. Objetivos de diseno y muestreo . . . . . . . . . . . . . . . . . . 197.3.3. Instalacion y registro de camaras trampa en campo . . . . . . . 197.3.4. Informacion de las fotografıas de las camaras trampa . . . . . . 197.3.5. Analisis de los datos obtenidos a partir de las camaras . . . . . 20

7.4. Camaras Trampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.4.1. Tipos de Camaras Trampa . . . . . . . . . . . . . . . . . . . . . 21

II Analisis y Diseno 22

8. Analisis y Diseno 238.1. Arquitectura de software basada en componentes . . . . . . . . . . . . 23

9. Marco Tecnologico 259.1. ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259.2. ZoneMinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269.3. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279.4. Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279.5. Tensor Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289.6. Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289.7. Jupyter Notebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289.8. Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289.9. Chart.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289.10. Vue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.11. Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.12. Control de Versiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9.12.1. Sistemas de control de versiones locales . . . . . . . . . . . . . . 299.12.2. Sistemas de control de versiones centralizados . . . . . . . . . . 309.12.3. Sistemas de control de versiones distribuidos . . . . . . . . . . . 31

10.Resultados y Discusion 3210.1. Realizacion Sprint 1: Modulo de captura . . . . . . . . . . . . . . . . . 32

10.1.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3210.1.2. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 3310.1.3. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

10.2. Realizacion Sprint 2: Modulo de procesamiento y reconocimiento de image-nes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 5

Page 6: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

INDICE INDICE

10.2.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4010.2.2. Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4110.2.3. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 4210.2.4. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

10.3. Realizacion Sprint 3: Integracion modulo de captura y reconocimientode imagenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5110.3.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5110.3.2. Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5110.3.3. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 5110.3.4. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

10.4. Realizacion Sprint 4: Persistencia de la aplicacion: Back-End . . . . . . 5210.4.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5210.4.2. Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5310.4.3. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 5310.4.4. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

10.5. Realizacion Sprint 5: Modulo SIG (Geo-localizacion) . . . . . . . . . . . 5510.5.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5510.5.2. Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5610.5.3. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 5610.5.4. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

10.6. Realizacion Sprint 6: Centralizacion de la informacion: Front-End . . . 5910.6.1. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5910.6.2. Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5910.6.3. Codificacion / Implementacion . . . . . . . . . . . . . . . . . . . 6010.6.4. Testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

III Resultados y Conclusiones 65

11.Analisis de Resultados 6611.1. Modulo de Captura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6611.2. Modulo de procesamiento y reconocimiento . . . . . . . . . . . . . . . . 6711.3. Integracion de modulos de captura y procesamiento . . . . . . . . . . . 6711.4. Automatizacion de la informacion . . . . . . . . . . . . . . . . . . . . . 6811.5. Almacenamiento y presentacion de la informacion . . . . . . . . . . . . 69

12.Conclusiones 71

13.Recomendaciones y Trabajos Futuro 7313.1. Camaras 4G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7313.2. Reconocimiento aplicado a otros objetivos . . . . . . . . . . . . . . . . 7413.3. Modulo de geo-localizacion . . . . . . . . . . . . . . . . . . . . . . . . . 74

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 6

Page 7: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

INDICE INDICE

13.4. Alerta de avistamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

14.Anexos 8114.1. Formatos utilizados en foto trampeo . . . . . . . . . . . . . . . . . . . 81

14.1.1. Formato de instalacion de camaras trampa . . . . . . . . . . . . 8114.1.2. Formato de revision de camaras trampa . . . . . . . . . . . . . 8214.1.3. Formato de registro de fotos . . . . . . . . . . . . . . . . . . . . 83

14.2. Historias de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8414.3. Mock ups aplicacion web . . . . . . . . . . . . . . . . . . . . . . . . . . 88

14.3.1. Mock up pagina inicial . . . . . . . . . . . . . . . . . . . . . . . 8814.3.2. Mock up galeria . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

14.4. Manual de Instalacion y despliegue (ver anexo fısico) . . . . . . . . . . 8914.5. Manual de Entrenamiento y testeo (ver anexo fısico) . . . . . . . . . . . 8914.6. Script Zone Minder (ver en anexo fısico) . . . . . . . . . . . . . . . . . 8914.7. Script de Ejecucion (ver anexo fısico) . . . . . . . . . . . . . . . . . . . 89

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 7

Page 8: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Parte I

Preliminares

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 8

Page 9: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

1. INTRODUCCION

1. Introduccion

Este proyecto, estudia la forma en que la automatizacion, la vision artificial y lageolocalizacion, aportan a la toma de datos sobre la biodiversidad de Colombia. Eldesarrollo del mismo, va dirigido a la creacion de modulos que se encargan de realizartareas independientes. El modulo de captura busca generalizar la diversidad que existeen cuanto a tipos de dispositivos de captura de imagen. El modulo de reconocimientoutiliza las imagenes captadas por el modulo anterior para clasificar los avistamientosy ası, enviarlos al modulo de centralizacion el cual presenta toda la informacion reco-lectada en una interfaz web la cual esta disponible a cualquier tipo de usuario. Lasherramientas utilizadas para el desarrollo de este prototipo son libres y con un altogrado de configuracion, por lo que, al final del proyecto, se entrega un sistema genericocapaz de operar en diversos contextos y finalidades.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 9

Page 10: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

2. RESUMEN

2. Resumen

En el campo de la Inteligencia Artificial se encuentra una tecnica llamada VisionArtificial, la cual es aplicada en el reconocimiento de imagenes, pero mas especıfica-mente, en el reconocimiento de animales que se encuentran ubicados en los parquesnacionales de Colombia. Para ello, Se entrena una red neuronal artificial para reali-zar este reconocimiento automatizado de las especies que se visualicen en las camarastrampa de estos parques. Usando bases de datos libres para el entrenamiento de la redneurona, junto con el lenguaje python y herramientas tales como TensorFlow, se ana-lizara el resultado del modelo de entrenamiento propuesto, visualizando los datos quearrojen nuestras mediciones, para ası ajustar el modelo empleado en este procesamiento.

Abstract

In the field of Artificial Intelligence there is a technique called Artificial Vision,applied in the recognition of images more specifically in the recognition of specimensof animals that are located in the national parks of Colombia. The machine is trainedto perform this automated recognition of the species that are displayed in the trapchambers of these parks. Using free databases for the training of these together with thepython language and tools such as: TensorFlow will analyze the result of the proposedtraining model visualizing the data that our measurements throw to adjust the modelused in this processing.

Palabras clave: Vision artificial, reconocimiento de fauna, Inteligencia Artificial,Parques Nacionales, Python, Tensor Flow

Keywords: Artiffitial Vision, WildLife recognition, Artifitial Intelligence, NationalParks, Python, Tensor Flow

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 10

Page 11: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

3. PLANTEAMIENTO DEL PROBLEMA

3. Planteamiento del Problema

3.1. Descripcion del Problema

La toma de datos dentro del contexto Colombiano no tiene una importancia marcadaaun. Existen entidades dedicadas a este tipo de tareas, sin embargo se ha evidenciadoque son entidades dedicadas a la toma de datos con enfoques ambientales en cuantoal tema de la contaminacion. Uno de ellos es es el IDEAM (Instituto de Hidrologıa,Meteorologıa y estudios ambientales). No obstante, la toma de datos en cuanto a labiodiversidad es escasa y subjetiva, siendo esta una gran problematica ya que no haydatos cuantitativos en tiempo real que indiquen el numero de especies de fauna quehabitan un ecosistema, desencadenando la falta de proteccion e interes por la faunaColombiana, siendo esta una de las mas diversas y nutridas del mundo. Lo anterior noslleva a preguntar ¿Como la tecnologıa puede cambiar y beneficiar la manera en que setoman los datos en cuanto a la biodiversidad Colombiana?.

3.2. Formulacion del Problema

¿Como se puede automatizar la toma de datos sobre la biodiversidad en los parquesnaturales de Colombia haciendo uso de la vision artificial, redes neuronales y geoloca-lizacion?

4. Justificacion

Actualmente la vision artificial se encuentra dentro de las tecnicas mas usadas enla industria. Esta intenta observar y analizar los diferentes procesos que estan inmer-sos dentro del funcionamiento de la industria. Dichos procesos utilizan metodos paraadquirir y procesar las imagenes al captarlas por medio de perifericos como camaras yotro tipo de sensores, las cuales se convierten en datos que nutren los modelos testeandola implementacion, obteniendo variables mas robustas que contribuyan al perfecciona-miento del modelo y su adaptacion a los diferentes problemas que se presentan en elcampo aplicado.

Los beneficios que aporta esta tecnologıa traen consigo un sin numero de posibilida-des de aplicacion, desde monitoreo del trafico hasta clasificacion de datos. Los parquesnacionales en el contexto colombiano, cuentan con la toma de imagenes por medio decamaras trampa las cuales capturan informacion visual y caracterıstica del objetivo ensu entorno. Sin embargo la toma, el analisis y el procesamiento de datos no se encuentraautomatizado, lo que genera la ausencia de un informe en tiempo real y ası mismo, ala falta de interiorizacion que se quiere generar por parte de los parques nacionales.Es bastante comun en Colombia que no se realice el procesamiento previo al analisis y

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 11

Page 12: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

5. OBJETIVOS

toma de decisiones, por lo que en el contexto de los parques naturales se genera pocainformacion en cuanto a los requerimientos de monitoreo y necesidades para su preser-vacion. Factores como la contaminacion, tala de arboles y otros, generan cambios enlos habitos de la fauna dentro de su ecosistema los cuales no logran ser captados porlos actuales sistemas implementados.

Luego, se hace necesario un sistema que cumpla con el monitoreo de la fauna ya su vez genere y procese datos estadısticos que puedan ser aprovechados en futuropara la toma de decisiones en cuanto a la mejora del habitat silvestre e investigacionescorrespondientes. Este sistema integrara herramientas enfocadas al procesamiento yreconocimiento de imagenes, uso de sistemas de informacion geografica y lenguajes deprogramacion como python para el tratamiento y representacion de los datos.

5. Objetivos

5.1. Objetivo General

Desarrollar un prototipo que realice la geo-localizacion, reconocimiento y seguimien-to de animales por medio de Sistemas de Informacion Geografica y Vision Artificial paramejorar la captura de informacion de la fauna en los parques naturales.

5.2. Objetivos Especıficos

Obtener la ubicacion geografica de los puntos donde han sido localizados los es-pecımenes objetivo para generar un mapa con la informacion del avistamientogeo-localizada.

Automatizar la toma de imagenes por medio de camaras trampa para generarinformacion del avistamiento.

Utilizar una red neuronal que pueda interpretar los objetos que hay dentro de lasimagenes captadas por las camaras trampa.

Crear un modulo de visualizacion de la informacion analizada por medio de loscomponentes del proyecto.

6. Alcance y Limitaciones

El proyecto esta limitado al alcance y tamano del prototipo de reconocimientoy geolocalizacion durante sus primeros meses de desarrollo que es la duracion deeste proyecto.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 12

Page 13: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

6. ALCANCE Y LIMITACIONES

Las pruebas se realizaran en un ambiente controlado con datos de prueba (ficti-cios) simulando de manera cercana una aplicacion en produccion, pero sin llegarrealizarlas en una entidad real.

El precio de las camaras que tienen ya implementado un sistema de reconocimientode movimiento y envıo de imagen es elevado segun los recursos del proyecto,por lo que se utilizara un sistema de circuito cerrado el cual se le desarrollarancomponentes para el reconocimiento de imagen y envıo de la misma.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 13

Page 14: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

7. Marco Referencial

7.1. Antecedentes

El foto-trampeo desde hace pocos anos se ha convertido en una tecnica importan-te en el estudio de especies de la fauna salvaje aportando imagenes del especimen, yaque esta tarea es difıcil de realizar de una manera directa en una zona determinada.Con esta tecnica de obtencion de datos se pueden tener nuevos reportes de especies,ası como tambien el estudio de su comportamiento en un ecosistema ya sea naturalo transformado. El uso del foto trampeo sirve para acercar a los investigadores y po-bladores a la zona objetivo de estudio de la fauna, tambien para generar conscienciasobre biodiversidad presente en la zona y atraer a las personas de una manera general.[1]

La historia del foto-trampeo se remonta al ano 1878, E. J. Muybridge generando laprimer foto disparada por el animal, eran camaras activadas por una cuerda al paso deun caballo, en 1890 George Shiras III invento las primeras camaras trampa para anima-les salvajes,se activaban con un cable, este asociado a una linterna junto con la camara.Se empezo a utilizar en otros lugares del globo, sin embargo no fue muy utilizada hastala decada de los 90 del siguiente siglo debido a los diferentes tipos de analisis que sepueden realizar con los resultados obtenidos de este sistema, siendo esta una maneraimportante de obtener informacion.[1]

En cuanto al uso de esta metodologıa, se estima que las publicaciones cientıficas queusan camaras trampa han aumentado un 50 % por ano, ası mismo las discusiones conrelacion a los disenos de muestreo y los metodos de analisis de la informacion [1], sinembargo se evidencia la falta de sistemas automatizados en la toma de estos datos ennuestro paıs, es necesario disenar la infraestructura tecnologica para poder implemen-tarlos, finalmente beneficiando los estudios que se pueden realizar sobre la biodiversidadde una zona especifica.

Actualmente existen una gran variedad de herramientas que pueden optimizar la ma-nera en que se toman e interpretan estos datos. Los sistemas de informacion geograficacomo ArcGIS [2], pueden visualizar datos georeferenciados y, usando su API de javas-cript para ArcGIS [3], crear aplicaciones web. Tambien se pueden entrenar maquinasusando TensorFlow [4] u OpenCV [5], con el objetivo de realizar un reconocimiento deimagen e interpretar que animal aparece, junto con su especie. Dichas herramientas severan relacionadas en la siguiente seccion.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 14

Page 15: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

7.2. Trabajos Relacionados

7.2.1. iNaturalist

Nacio en 2008, como parte de un proyecto de maestrıa de la Universidad de CaliforniaBerkeley. Se trata de una comunidad la cual cada usuario puede registrar y discutir susobservaciones (fotografıas). El usuario proporciona a la imagen una identificacion lacual ayuda a confirmar o mejorar la opinion de la comunidad sobre el organismo querepresenta la fotografıa. Este enlace entre una observacion y su organismo se le llama:la Identificacion Principal; si la identificacion principal es lo suficientemente precisa ycuenta con el apoyo de la comunidad, una fotografıa puede convertirse en un registrode calidad de investigacion de ese organismo en un lugar y momento.[6]

De este proyecto, se piensa utilizar sus bases de datos de imagenes para entrenar lared neuronal artificial.

7.2.2. Seek

Con el tiempo, iNaturalist comenzo a reunir bastante informacion. hacia el ano 2015contaban con mas de 150.000 especies de flora y fauna registradas en el sitio, y una grancantidad de imagenes etiquetadas. En vista de esta cantidad de informacion etiqueta-da, empezaron a utilizar redes neuronales para el procesamiento de dicha informacion,logrando para el 2017 entrenar un sistema de inteligencia artificial capaz de identifi-car especies con reconocimiento de imagenes. Este serıa un complemento bastante utildentro de iNaturalist el cual llamaron Seek, la cual formalmente es una aplicacion paraplataformas iOS y Android. Con ella se puede hacer uso de la biblioteca de especies oregistrar nuevas especies. [7]

De este proyecto, se piensa utilizar sus redes neuronales artificiales para entrenarlassegun las especies escogidas para el proyecto.

7.2.3. FacesDetector

Este trabajo es una aplicacion practica de machine learning sobre imagenes para uncontexto de seguridad. El objetivo principal de este trabajo es desarrollar un sistema dereconocimiento facial que se pueda aplicar en cualquier entorno, tanto personal comoempresarial, en materia de seguridad. Algo para destacar, es que esta dirigido bajo lafilosofıa open-source donde se entrega todo el codigo desarrollado y, ademas, tambien sepublicara el codigo en la plataforma Github para que cualquier persona pueda reutilizareste sistema de forma gratuita y editar el codigo en funcion de las necesidades de cadausuario.[8]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 15

Page 16: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

7.2.4. Herramientas para la deteccion y seguimiento de personas a partirde camaras de seguridad

En este trabajo, se presenta una plataforma de analisis de vıdeo que se esta desarro-llando en la UNCPBA para facilitar el seguimiento de una persona a traves de diferentescamaras, utilizando tecnicas de proyeccion que convierten los puntos detectados desdelas diferentes camaras a un unico espacio georeferenciado. Se presenta una discusion delos algoritmos utilizados para el seguimiento, algunos problemas propios que se sucedenen este tipo de sistemas y los resultados preliminares obtenidos. [9]

7.2.5. Prediccion de visitas mediante geolocalizacion a traves de dispositi-vos moviles

Este trabajo de final de grado se ha centrado en el diseno de un sistema que consigadetectar rutinas personales a traves de dispositivos moviles. El proposito es poder situara un usuario en un lugar concreto en un momento concreto. En el transcurso del proyec-to, se ha utilizado la librerıa scikit-learn [10], codificada en lenguaje de programacionPython. Esta librerıa se centra en dar un abanico de funciones basadas en MachineLearning. Ofrece un conjunto de opciones eficientes y de facil uso para la visualizaciony el analisis de datos. Es una librerıa Open Source, lo que significa que el codigo esaccesible para todo el mundo. [11]

7.2.6. Aplicacion para la Deteccion de Espacios en Parqueaderos con Dro-nes y Smartphones

Este trabajo comprende la integracion de tecnologıas tales como drones, fotografıadigital, telefonos inteligentes, mapas digitales y geolocalizacion para poder brindar in-formacion sobre los espacios disponibles en los parqueaderos de La Universidad delNorte.[12] Para ello, se implemento Haar Cascade Trainer [13]. A lo largo de la reali-zacion del proyecto se logro construir un prototipo de aplicacion estable y funciona. Eldesafıo que mas tuvo impacto durante el proceso de desarrollo fue la deteccion de losvehıculos en las capturas realizadas en parqueaderos reales.

7.2.7. QUYN: Plataforma de registros digitales de fauna silvestre

La iniciativa QUYN nace por la necesidad de sistematizar y recopilar los registrosde fototrampeo obtenidos en las actividades de docencia e investigacion que desarro-lla el Instituto de Ciencias Naturales (ICN) de la Universidad Nacional de Colombia.Gracias a esta metodologıa es posible generar informacion relevante para estudios dedistribucion, patrones de actividad y uso de habitat de especies crıpticas, poco cono-cidas o poco representadas en colecciones. El portal fue desarrollado utilizando varias

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 16

Page 17: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

tecnologıas, Djangocomo marco (framework), PythonTM como lenguaje de programa-cion, MariaDB R© como gestor de bases de datos, LorisIIIFImageServer como servidorde imagenes para suministrar las fotografıas de los registros y DjangoCMS como el ma-nejador de contenidos. Las vistas estan hechas usando HTML5, JavaScripty bibliotecascomo jQueryy OpenSearagony para los mapas se utilizaron las herramientas OpenS-treetMapsy Leaflet. [14]

7.2.8. Fototrampeo en los Parques Nacionales Naturales de Colombia

La actividad del fototrampeo es utilizada en diversos campos como el de la investi-gacion de la fauna silvestre, el control de especies o la educacion ambiental. Esta es unaactividad en auge debido a la reciente incorporacion y abaratamiento de diversas tecno-logıas aplicadas a equipos fotograficos automatizados como los sensores de movimiento,las camaras digitales, las tarjetas de memoria compacta, los flash de infrarrojos, las ba-terıas de larga duracion, etc. La fotografıa realizada con estos equipos no pretende tenerun encuadre o una calidad tecnica perfecta, sino que proporciona la frescura de saberque ese instante pertenece a un ejemplar salvaje y unico sin que intervenga la moles-tia de la presencia humana. Estos equipos autonomos pueden ser colocados en lugaresremotos durante varias semanas, incluso meses, sin tener que realizar mantenimientoalguno, lo que se configuran como un recurso para la investigacion de incomparableutilidad.[15]

Las imagenes que estan proporcionando estos equipos permiten conocer no solola presencia de algunas especies, sino obtener estimas de su frecuencia y densidad,ası como la identificacion de individuos a traves del diseno del pelaje, las manchasde identificacion, etc. lo que proporciona a los investigadores una informacion muyvaliosa.[15]

7.2.9. Drones: una nueva tecnologıa para el estudio y monitoreo de faunay habitats

El estudio y manejo de la vida silvestre requiere un monitoreo constante del estadode las poblaciones y sus habitats. Esta informacion es necesaria para detectar posiblesamenazas y para llevar a cabo eficazmente el trabajo de gestion y conservacion. En losultimos 15 anos, se ha visto la incorporacion de una nueva herramienta de monitoreoaereo de vida silvestre, coloquialmente llamada ”drones”, y en este estudio se hace unabreve descripcion de estos y su aplicacion en el monitoreo de vida silvestre. El propositoes presentar las ventajas pero tambien alertar sobre sus posibles limitaciones.[16]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 17

Page 18: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

7.2.10. Diseno e implementacion de un prototipo inalambrico de monitoreoa traves de secuencias de imagenes utilizando hardware y softwarelibre

En este proyecto muestra un sistema de vıdeo vigilancia por medio de secuenciade imagenes, este sistema propone tener un cableado mınimo y un menor costo en suscomponentes. El sistema esta basado en software libre y con las ventajas de RaspberryPi se acoplan los dispositivos electronicos como sensores y camaras para que la secuenciade imagenes pueda visualizarse en un servidor remoto. [17]

7.3. Fototrampeo

El instituto humboldt, la organizacion panthera junto con el ministerio de ambientey desarrollo sostenible publicaron un manual de fototrampeo con el fin de facilitar lainvestigacion para la conservacion de la biodiversidad en Colombia, este muestra deuna como implementar de manera sistematica el fototrampeo en un area determinada,estableciendo estos temas principales: [18]

1. Uso de camaras.

2. Objetivos de diseno y muestreo.

3. Instalacion y registro de camaras trampa en campo.

4. Informacion de las fotografıas de las camaras trampa.

5. Analisis de los datos obtenidos a partir de las camaras. trampa

7.3.1. Uso de camaras

Al usar las camaras se necesita evaluar diferentes aspectos que afectan directamenteel estudio. Cada camara tiene un sistema diferente, el tipo de camara a usar dependedel tipo del area de estudio y los recursos economicos disponibles, las caracterısticas quecobran importancia de las camara son las siguientes: Dimensiones y peso de la camaratrampa, Nivel de resistencia al calor y humedad, Calidad y/o tamano de las fotografıas(resolucion), Tipo de iluminacion para fotografıas nocturnas: flash o infrarrojo, Tipode baterıas, Rango de deteccion, Velocidad de captura fotografica, Tiempo de recupe-racion entre fotografıas, Opcion de fotografıas multiples, Posibilidad de adaptacion aotros dispositivos.

Al momento de establecer que tipo de camara y verificar su adecuado funcionamien-to, es necesario establecer el objetivo deseado ya que esto influye 0en la instalacion delas mismas, para mamıferos medianos y grande se recomiendan estos parametros de

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 18

Page 19: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

instalacion:[18]

Camara en posicion perpendicular al camino.

Ubicacion en un sector nivelado y plano.

Ubicar sobre arboles rectos y con poco angulo de engrosamiento.

Camara a 3 o 4 metros de lugar esperado de avistamiento.

Camara a 3 o 4 metros de lugar esperado de avistamiento.

Cortar vegetacion en l rango de vision de la camara.

Encontrar lugares que tienen una mayor probabilidad de avistamiento como lo soncaminos usados por la fauna; al momento de mantenimiento, la limpieza de los sensoreses muy importante, cambio de las baterıas y verificacion del estado de la memoriainterna.

7.3.2. Objetivos de diseno y muestreo

Los objetivos de muestreo estan dados por el objetivo del estudio y la pregunta quese desea resolver, con esto se define el tiempo del estudio,lugar, numero de camaras ausar y el diseno del muestreo. Los objetivos pueden ir desde determinar la presencia deespecies en un lugar hasta detectar el comportamiento de las especies registradas.El diseno de muestreo requiere un mapa topografico de la region y uno de coberturaque muestra el area de estudio junto con la ubicacion de las camaras. [18]

7.3.3. Instalacion y registro de camaras trampa en campo

La ubicacion de las camaras trampa cobra una gran importancia, con esto se com-pleta un formato el cual lleva el registro de estas. (Ver Anexo 14.1.1) para la revisionde las camaras se llena otro formato (Ver Anexo 14.1.2)

7.3.4. Informacion de las fotografıas de las camaras trampa

La informacion obtenida por las camaras debe ser organizada de manera sistematicapara poder realizar analisis sobre estos datos, para esto se utiliza toda la informaciondisponible en la imagen complementando la informacion de la tabla de referencia(VerAnexo 14.1.3) con el fin de homogeneizar los resultados del fototrampeo.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 19

Page 20: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

7.3.5. Analisis de los datos obtenidos a partir de las camaras

El estudio enfocado a la diversidad de especies es uno de los objetivos mas importan-tes para saber el estado de diferentes comunidades en relacion al tiempo, donde se tieneen cuenta la presencia o ausencia de cada especie identificada y en los dıas de muestreovistos individualmente se itera la toma de datos para identificar que tan completo es elmuestreo, si la curva de acumulacion de especies llega a una curva estable significa quehay muy poca probabilidad de detectar una especie nueva y el muestreo se consideracomo completo. Luego de este muestreo se pueden obtener datos en cuanto a patronesde actividad estableciendo periodos determinados de estudio y observacion con el finde conocer los comportamientos mas frecuentes realizados durante estos. [18]

7.4. Camaras Trampa

Las camaras trampa tienen la funcion de recolectar informacion visual de especies endiferentes partes del mundo accionadas por un sensor realizan esta captura de imagenes.A menudo colocadas en lugares que habitualmente son inaccesibles para las personas,sin embargo son lugares estrategicamente seleccionados para evidenciar la presencia deespecies y entender su comportamiento en un lugar determinado.[19]

Estas camaras especializadas en esta toma de datos se encuentran desde un valor de100 dolares (aproximadamente 350 mil pesos moneda colombiana) garantizando unaoptima calidad y rendimiento. Soportan climas extremos desde menos de -20 gradosFarenheit (Aproximadamente -29 grados Centıgrados) hasta soportar temperaturas enun ambiente desertico, gran cantidad de estas son completamente selladas para asegu-rar la salvedad de estas; tambien cuentan con un infrarrojo en la noche la cual tomaimagenes en blanco y negro, si se opta por el incandescente se corre el riesgo de espantarel animal pero obteniendo imagen a color de este, variando en la velocidad de la tomade la imagen desde 0.2 segundos, velocidad de recuperacion y rango de deteccion.[20]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 20

Page 21: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

7. MARCO REFERENCIAL

Figura 1: Camara trampa [20]

7.4.1. Tipos de Camaras Trampa

Esta clasificacion de las camaras se hace dependiendo de que usa la camara parahacer las capturas.[20]

Camaras trampa de brillo rojo

Camaras trampa sin brillo

Camaras trampa con flash

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 21

Page 22: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Parte II

Analisis y Diseno

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 22

Page 23: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

8. ANALISIS Y DISENO

8. Analisis y Diseno

Primero se realiza un analisis de requerimientos del sistema, se utilizan artefactoscomo lo son las historias de usuario, son un artefacto primario para los equipos quetrabajan con metodologıas agiles, en este caso XP (Extreme Programming)[21] (VerAnexo 14.2), donde se entiende que funcionalidades debıa incluir el sistema respondien-do a las necesidades del usuario, al obtener esta descripcion del sistema conteniendosolo la informacion necesaria y justa, se procedio a realizar un diagrama de casos de usopara definir a detalle la funcionalidad esperada y los actores que influyen en el sistema(Ver Figura 2).

Figura 2: Diagrama de casos de uso - Elabora el autor

8.1. Arquitectura de software basada en componentes

Esta arquitectura se centra en sentar la base para el diseno y desarrollo de las apli-caciones basadas en componentes de software reutilizables, entendiendose un sistemacomo un conjunto de herramientas que permiten la creacion de modulos interconecta-dos, junto con el uso de servicios para facilitar la interaccion de estos componentes.[22]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 23

Page 24: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

8. ANALISIS Y DISENO

Este desenvolvimiento tiene unas ventajas en cuanto al favorecer el desarrollo de laaplicacion, permitiendo tambien una mejor calidad del componente y por consecuentedel sistema, ademas de la integracion que permite con componentes de terceros paraoptimizar el desarrollo de la solucion. Estos son algunas de las ventajas: [23]

Reutilizacion del software.

Simplificacion de pruebas.

Mantenimiento del Sistema.

Mayor Calidad.

Este diagrama (Ver figura 3) muestra como esta compuesto el sistema en su totali-dad, los componentes cada uno independientes entre si realizan una tarea especifica, enun flujo de informacion claro y conciso, esto permite actualizar, mantener y dar soportea cada modulo mejorando el sistema gradualmente, realizando pruebas de integraciony funcionamiento de este.

Figura 3: Diagrama de componentes - Elabora el autor

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 24

Page 25: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

Este diagrama introductorio (Ver figura 4) muestra como se comporta la aplicacionjunto con el proceso que se realiza para obtener finalmente la representacion de losdatos.

Figura 4: Diagrama de punto de vista introductorio - Elabora el autor

9. Marco Tecnologico

9.1. ArcGIS

Es un completo sistema que permite recopilar, organizar, administrar, analizar, com-partir y distribuir informacion geografica.

ArcGIS permite publicar la informacion geografica para que sea accesible para cual-quier usuario. El sistema esta disponible en cualquier lugar a traves de navegadores

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 25

Page 26: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

Web, dispositivos moviles como smartphones y equipos de escritorio. [24]

Figura 5: Imagen de la autorıa de ArcGIS [25]

Gracias a su API para javascript sera posible visualizar los datos en un mapa yasea 2D o 3D siguiendo los requerimientos del proyecto, esta API permite hacer geoprocesos, querys, analisis y representacion de datos en el navegador.[26]

9.2. ZoneMinder

Zone Minder es un sistema de CCTV (Circuito cerrado de television). Zone Minderse controla a traves de una interface WEB. Este sistema puede utilizar varios tipos decamara ya sean Camaras IP o dispositivos usb. Tiene 3 modos de uso: monitor, actuar almovimiento detectado o grabar permanentemente. Su licencia es GNU General PublicLicence (GPL), por lo que Open Source y ha sido desarrollado para sistemas operativosLinux. [27]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 26

Page 27: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

Figura 6: Imagen de la autoria de ZoneMinder [28]

9.3. Python

Python es un lenguaje de programacion interpretado, orientado a objetos, de altonivel con una semantica dinamica. Posee estructuras de datos integradas de alto nivel,combinadas con tipeo y enlace dinamico, usado para desarrollo de aplicaciones ası comotambien lenguaje de scripting sirviendo para conectar componentes. Python admitemodulos y paquetes lo que fomenta lo modularidad del programa y la reutilizacion decodigo.[29]

9.4. Javascript

JavaScript es un lenguaje de programacion ligero, interpretado o compilado, congran variedad de funciones. Es el lenguaje mas conocido usado para las paginas web yusado en gran variedad de ambientes fuera del navegador como lo es Node.js. Un len-guaje dinamico basado en prototipos, multi-paradigma, que admite estilos orientadosa objetos, imperativos y declarativos. JavaScript se ajusta a la especificacion ECMAS-cript, es un ejemplo de implementacion de este.[30] [31]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 27

Page 28: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

9.5. Tensor Flow

TensorFlow es una biblioteca de codigo abierto dirigida al aprendizaje automatico.Ha sido desarrollado por Google para satisfacer las necesidades de sistemas capaces deconstruir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones,analogos al aprendizaje y razonamiento usados por los humanos.

TensorFlow fue originalmente desarrollado por el equipo de Google Brain para usointerno en Google antes de ser publicado bajo la licencia de codigo abierto Apache 2.0[32] el 9 de noviembre de 2015, lo cual quiere decir que licencia permite al usuario delsoftware la libertad de usarlo para cualquier proposito, para distribuirlo, modificarlo ydistribuir versiones modificadas del software.

9.6. Keras

Keras es un API de redes neuronales de alto nivel escrita en Python, capaz de corrersobre TensorFlow, CNTK o Theano (Usado por defecto originalmente). Fue desarrolladoenfocado en la experimentacion rapida permitiendo ir de la idea al resultado con elmınimo retraso, que es la clave para una buena investigacion. Permite protipado facily rapido, soporta redes neuronales convolucionales, recurrentes y una combinacion deestas dos. Corre sobre CPU y la GPU siendo compatible con python 2.7 y 3.6.[33]

9.7. Jupyter Notebook

Jupyter Notebook salida originalmente del IPython project[34], es una aplicacionweb de codigo abierto que permite crear y compartir documentos que contienen codigo.Es una aplicacion muy utilizada en el campo de la Ciencia de Datos (Data Science).Te permite editar y ejecutar documentos de notebook a traves de cualquier navegadorweb pudiendo ejecutarse en un escritorio local que no requiere acceso a internet o puedeinstalarse en un servidor remoto y acceder a traves de Internet. [35]

9.8. Bootstrap

Bootstrap es una librerıa enfocada al desarrollo front end utilizando tecnologıascomo html, css, jquery y javascript, permitiendo un desarrollo mas agil de aplicacionesweb que sean responsive usando componentes construidos con este fin.[36]

9.9. Chart.js

Libreria de graficacion y representacion de datos, incluyen una gran variedad de ti-pos, se pueden combinar entre ellas para realizar diferentes visualizaciones. Animacionesdel DOM en el canvas de html5, es un proyecto de codigo abierto.chartjs

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 28

Page 29: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

9.10. Vue

Vue es un framework para desarrollar interfaces de usuario utilizando HTML yJavaScript. Ha sido creado para ser progresivamente adaptable, por lo que es facil deintegrar con otras bibliotecas o proyectos existentes.[37]

9.11. Node.js

Concebido como un entorno de ejecucion de JavaScript orientado a eventos asıncro-nos, Node.js esta disenado para construir aplicaciones en red escalables. Node.js tieneun diseno similar y esta influenciado por sistemas como Event Machine de Ruby oTwisted de Python, llevando el modelo de eventos un poco mas alla, este presenta unbucle de eventos como un entorno en vez de una librerıa. Se comporta de una formasimilar a JavaScript en el navegador - el bucle de eventos esta oculto al usuario.[38]

9.12. Control de Versiones

El control de versiones es un sistema que registra los cambios realizados sobre unarchivo o un conjunto de estos a traves del tiempo con el fin de recuperar versionesespecificas cuando se necesite cambiar archivos a un estado anterior o posterior, llevan-do un registro de quien modifica y cuando, sirviendo para identificar errores y demasproblemas que se puedan presentar. Cualquier tipo de archivo puede ser controlado porversiones.[39]

9.12.1. Sistemas de control de versiones locales

Contiene una base de datos en la que se lleva registro de todos los cambios realizadossobre los archivos (Ver figura 7)

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 29

Page 30: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

Figura 7: Sistemas de control de versiones locales [39]

9.12.2. Sistemas de control de versiones centralizados

Estos sistemas tienen un unico servidor que contiene todos los archivos versionados,de donde el cliente descarga los archivos desde este archivo central.(Ver figura 8)

Figura 8: Sistemas de control de versiones centralizados [39]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 30

Page 31: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

9. MARCO TECNOLOGICO

9.12.3. Sistemas de control de versiones distribuidos

En un DVCS(Sistema de control de versiones distribuidos) los clientes replican to-do el repositorio (Ver figura 9), evitando la perdida de informacion en el caso que unservidor colapse. Esto permite establecer varios flujos de trabajo que no son posibles ensistemas centralizados de versiones.[39]

Figura 9: Sistemas de control de versiones centralizados [39]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 31

Page 32: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

10. Resultados y Discusion

10.1. Realizacion Sprint 1: Modulo de captura

10.1.1. Analisis

Figura 10: Diagrama de componentes: Modulo de captura - Elabora el autor

Para este modulo y segun las limitaciones del proyecto, fue necesario contar conun circuito cerrado de camaras ip, el cual se conectara con un programa que detectecuando se presente un movimiento en el area tomada por la camara, y que ademas,tenga la funcionalidad de poder almacenar fotos y vıdeo del momento en que ocurriodicho evento para poderlos enviar al servidor que hara el procesamiento y analisis dela imagen. Un programa que nos permitio implementar los anteriores requerimientosmencionados es ZoneMinder.

ZoneMinder es un sistema CCTV de codigo abierto para plataformas Linux. Esteprograma funciona como una Web App, bajo un servidor. Para su configuracion, pre-viamente se debe tener instalado un ambiente LAMP.

LAMP. Hace referencia a un conjunto de subsistemas de software necesarios paraalcanzar una solucion general, en este caso configurar sitios Web o servidores dinamicoscon un esfuerzo reducido. [40]

En concreto, LAMP hace referencia a Linux (sistema operativo), Apache (ServidorWeb), MySQL o MariaDB (gestor de bases de datos) y PHP/Perl/Python (Lenguajes

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 32

Page 33: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

de programacion).

Por las limitaciones del proyecto, se usaron dispositivos Android como Camaras Ip,las cuales son utilizadas por ZoneMinder para capturar los eventos que se generen gra-cias a la presencia de movimiento en cualquiera de ellas.

Puesto en marcha el ambiente LAMP y configurados los dispositivos Android comoCamaras Ip, se instala ZoneMinder en el sistema operativo, por medio de un Scriptdonde se facilita y automatiza este proceso, desarrollado por un colaborador de la co-munidad Github.

Para la configuracion del Modulo de captura, es necesario operar sobre un siste-ma linux, que en este caso, sera la distribucion Ubuntu 18.04. Sobre ella debe estarinstalado:

Apache 2, el cual se encarga del funcionamiento del servidor web en el que seinstala el programa ZoneMinder.

MySQL, es un gestor de bases de datos donde se crean los modelos y tablas querequieren zoneminder para su funcionamiento.

PHP, es un lenguaje de desarrollo web el cual es implementado por la interfazde ZoneMinder, permitiendo la configuracion del mismo.

Droid cam, es una aplicacion Android la cual permite convertir un dispositivoAndroid en una camara Ip.

ZoneMinder, este programa permite la capturar la imagen y vıdeo de un eventoque se genere por la presencia de movimiento en las camaras incorporadas alprototipo, todo esto, haciendo uso de los programas anteriormente expuestos.

10.1.2. Codificacion / Implementacion

Los siguientes comandos de ejecucion son desarrollados para el sistema operativoUbuntu 18.04:

Paso 1 — Instalar Apache

Apache se encuentra disponible dentro de los repositorios de software predeterminadosde Ubuntu, haciendo posible la instalacion mediante las herramientas convencionalesde administracion de paquetes. Empezaremos por actualizar el ındice de los paqueteslocales. Esto, para garantizar que en el se refleje las cargas mas recientes de las nuevasversiones de los paquetes.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 33

Page 34: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

sudo apt update

sudo apt install apache2

Paso 2 — Instalar MySQL

MySQL como MariaDB son gestores de bases de datos. Se utilizara en este casoMySQL.

sudo apt install mysql-server mysql-common

Paso 3 — Instalar PHP 7.2

Para instalar PHP 7.2 en Ubuntu y Debian se debe hacer uso de un repositorioexterno e instalar dependencias que se necesita para la instalacion y ejecucion de lanueva version de PHP.

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:ondrej/php

Luego escribimos lo siguiente para instalar PHP 7.2:

sudo apt-get update

sudo apt-get install php7.2

Esto instalara la version de PHP 7.2 pero no hara que el sistema operativo lo utilicepor defecto. Para hacer esto, hemos de escribir lo siguiente en la terminal:

sudo update-alternatives –set php /usr/bin/php7.2

Paso 4 — Instalar DroidCam

DroidCam es una aplicacion Android, por lo que para instalarla en cualquier dispo-sitivo se necesita simplemente acceder a la play store del mismo, y buscar e instalar laaplicacion DroidCam. Una vez abierta, indica la direccion ip de la camara y el puertopor donde se podra acceder.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 34

Page 35: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 11: Aplicativo DroidCam - Fuente: Propia

Paso 5 - Instalar ZoneMinder

Gracias al usuario vaamonde de la comunidad Github, se utilizara un script desa-rrollado por el, en el que se automatiza la instalacion de ZoneMinder. Basicamente loque hace el script es actualizar los repositorios del sistema operativo, comprobar lasdependencias y librerıas necesarias para la instalacion, crear las tablas y usuarios dela base de datos que utilizara ZoneMinder para almacenar la informacion capturada yconfigurar php y apache para el reconocimiento de este programa.Para la ejecucion del script se debe escribir en la terminal lo siguiente:

git clone https://github.com/vaamonde/ubuntu-1804

cd ubuntu-1804/

Entrar en modo root y ejecutar el script:

sudo -i

bash zoneminder.sh

Paralelamente se puede observar el progreso del proceso zoneminder.sh:

sudo tail -f /var/log/zoneminder.sh

Paso 6 - Agregar una Camara IpPara agregar una Camara Ip Seleccionamos Add. En la nueva ventana, aparecera

un panel el cual brindara la configuracion que se tendra que hacer segun la camara que

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 35

Page 36: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

se vaya agregar. La siguiente configuracion sera para una Camara Ip.

Pestana General:

Name: Nombre Camara Ip

Storage Area: Lugar donde se guardaran las imagenes captadas

Source Type: Remote

Function: Modect

Pestana Source:

Protocol: HTTP

Method: Simple

Host Name: admin:[email protected]

Port: 4747

Path: /video

El host name puesto, es el indicado segun la aplicacion Droid Cam. Tambien seagrega el usuario y contrasena que tenga esta. En este caso, el usuario es ’admin’, y lacontrasena ’admin’. Seguido por la direccion ip en la que este corriendo la aplicacionen el dispositivo Android. Esta aplicacion utiliza el puerto 4747, el cual puede sermodificado por otro si ya se encuentra en uso.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 36

Page 37: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 12: Pestana General - Configuracion Camara

Figura 13: Pestana Fuentes - Configuracion Camara

10.1.3. Testeo

Una vez instalado ZoneMinder, puesto en ejecucion y agregada la Camara, se pro-cede a comprobar su modo de funcionamiento. En el caso anterior, se configura paraactuar en modo ’Modect’.

Modos de funcion:

None – La camara se encuentra desactivada.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 37

Page 38: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Monitor – La camara funciona solo en modo streaming, por lo que no hace ningunanalisis ni generara alarmas o eventos.

Modect – or MOtion DEteCTtion. Cuando detecte movimiento, se captura laimagen, generando un evento.

Record – La camara esta grabando constantemente. No tiene en cuenta ningunmovimiento.

Mocord – La camara graba cada vez que detecte movimiento.

Nodect – or No DEteCTtion. Este modo esta en uso por medio de triggers exter-nos.

Una vez puesto el modo Modect, cuando la camara detecte movimiento, guarda laimagen en una direccion determinada como tambien guarda el evento en la base dedatos de zone minder.

Figura 14: Evento detallado sobre Camara IP - Imagen de propia autoria

La anterior imagen muestra el id del evento, el nombre del evento, la fecha en quese genero el evento y los segundos que duro el evento. En el cual se puede observar, quecuando hay movimiento, el estado de la camara se convierte en Alarma.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 38

Page 39: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 15: Consola de ZoneMinder - Imagen de propia autoria

La anterior imagen representa la consola de ZoneMinder, donde se muestran lascamaras, su estado, su modo de funcionamiento, su fuente y los eventos junto con lafecha que se han generado.

Figura 16: Carpetas de almacenamiento de ZoneMinder - Imagen de propia autorıa

ZoneMinder por defecto guarda las imagenes en ’/var/cache/zoneminder/events’.Se puede modificar esa direccion por camara o crear un enlace simbolico para accedera las imagenes. ZM guarda por defecto en la carpeta events, luego segun la camaraagregada, seguidamente por dıa y finalmente, por evento.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 39

Page 40: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

10.2. Realizacion Sprint 2: Modulo de procesamiento y reco-nocimiento de imagenes

10.2.1. Analisis

Para el procesamiento de imagen, se debio pensar en un sistema que reconozca sihay un animal y su especie (en caso de que si sea un animal) en las imagenes tomadaspor el modulo de captura en este proyecto.

La herramienta propuesta fue TensorFlow, la comunidad de esta herramienta pro-porciona una coleccion de modelos de deteccion previamente entrenados, estos se en-cuentran en el conjunto de datos COCO, el conjunto de datos Kitti, el conjunto dedatos Open Images, el conjunto de datos AVA v2.1 y el conjunto de datos de deteccionde especies iNaturalist. Estos modelos son utiles para trabajar si esta interesado encategorıas de animales. Por otro lado, tambien son utiles para inicializar un modelocuando se entrena en conjuntos de datos novedosos, recientes y muy especıficos, comolo es en el caso de las especies endemicas del parque objetivo (el oso Andino, la danta,el cusumbo, el puma, el venado blanco y el condor).

Primero, se debe seleccionar un conjunto de datos, que de aquı en adelante lo llama-remos dataset, el cual su categorıa es de animales. Los dataset de iNaturalist aportaranen gran medida a este trabajo ya que su categorıa es de especies de animales, por loque nos basamos en dos datasets:

Figura 17: Data sets INaturalist Species - Imagen de propia autorıa

La siguiente imagen es un ejemplo de como queda la imagen del cordero anteriorante un proceso de analisis:

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 40

Page 41: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 18: Imagen a reconocer Figura 19: Imagen analizada

Gracias al coordinador y guardabosques Juan Pablo la Torre, del parque Sumapaz,se obtuvo un conjunto de imagenes de los especımenes propios del parque, donde en-contramos al oso Andino, la danta, el cusumbo, el puma y el venado blanco. Una vezentrenada la red neuronal artificial, se utiliza esta base de datos para hacer pruebas ytestear la red.

Link del Conjunto de Imagenes:

https://github.com/jhonjaner11/ImagenesEspecimenesSumapaz.git

Sin embargo para la realizacion de este prototipo realizamos el reconocimiento conanimales domesticos con el fin de ponerlo a prueba en un ambiente de facil acceso, comolo es una casa de familia, siendo el concepto el mismo replicandose en las zonas quese necesite este sistema en produccion y no hayan problemas al desplegar el sistemapropuesto.

10.2.2. Diseno

Se configuro un entorno virtual para que las dependencias no presentaran proble-ma alguno instalado directamente en python, este permite manejar el proyecto en unambiente especifico minimizando errores de versionamiento y conflictos. Era necesarioutilizar una herramienta que permita ver el progreso del entrenamiento, ası como elprocesamiento de la informacion, por este motivo se decidio utilizar jupyter notebookel cual permite hacer scripting a manera de cliente en el navegador, alojando localmenteel codigo y corriendolo en un servidor creado por jupyter.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 41

Page 42: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 20: Diseno modulo de procesamiento y reconocimiento de imagenes -Imagen dela autorıa del Autor

10.2.3. Codificacion / Implementacion

Para la implementacion de este modulo fue necesario utilizar Python, Tensorflow yKeras las cuales brindaron las herramientas para poder realizar el entrenamiento de lamaquina y posterior reconocimiento de imagenes.[41]

Paso 1 - Instalacion Virtualenv y Virtualenvwrapper

Se creo un ambiente virtual en Python(3.6) debido a que muchos proyectos requierende una gran variedad de dependencias y ademas diferentes versiones de estas. Se pudocrear un ambiente virtual para cada proyecto a desarrollar asegurando cada uno esindependiente del otro evadiendo completamente el problema de las versiones para lasdependencias usadas en el proyecto.[42]Se recomienda instalar Virtualenv 1.9 o mayor, ası como tener una version de pip 1.3 o

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 42

Page 43: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

mayor.[43]

Windows: pip install virtuaenv

Linux: sudo install virtuaenv

Para la instalacion de virtualenvwrapper es necesario instalarlo en la instalacionbase de Python ası como para Virtualenv.[44]

Windows: pip install virtualenvwrapper-win

Linux: sudo pip install virtualenvwrapper

Luego configurar el archivo de inicio del interprete de comandos(Shell) para estable-cer la ubicacion de los ambientes virtuales, localizacion de los proyectos desarrolladosy la ubicacion del script instalado desde el paquete de virtualenvwrapper.[44]

export WORKON_HOME=$HOME/.virtualenvs

PROJECT_HOME=$HOME/Devel

source /usr/local/bin/virtualenvwrapper.sh

Paso 2 - Creacion del ambiente virtual

Para la creacion del ambiente virtual se uso este comando, donde nomAmbiente esel nombre que identifica el ambiente virtual

mkvirtualenv nomAmbiente -p python3

Luego se accede al ambiente virtual recientemente creado para iniciar a instalartodas las dependencias dentro de este ambiente con el siguiente comando:

workon nomAmbiente

Paso 3 - Instalacion de dependencias

Para la instalacion de las dependencias primero se instalo Tensorflow version 2.1que es la tecnologıa sobre la que corre keras, con el siguiente comando:

pip install tensorflow

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 43

Page 44: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Esta version de tensorflow tiene soporte con python 3.6 y se continua instalandolas siguientes dependencias que seran de ayuda en el desarrollo de este modulo: scipy,scikit-learn, pillow, h5py y por ultimo keras con los siguientes comandos:

pip install numpy scipy

pip install scikit-learn

pip install pillow

pip install h5py

pip install keras

Importante: es necesario configurar el archivo keras.json, este archivo se genera alabrir el ambiente virtual y usar el comando de python ımport keras”, luego de ejecutareste comando, se genero el archivo que provee la configuracion de keras en nuestroambiente virtual, de la siguiente manera:

{

"floatx": "float32",

"epsilon": 1e-07,

"backend": "tensorflow",

"image_data_format": "channels_last"

}

Despues de ello se procedio a instalar jupyter notebook que va ser el entorno detrabajo que se utiliza en el desarrollo de este modulo, permitiendo ver los resultadosdirectamente en el navegador de todos los comandos que se utilizaron en el script,para controlar los errores de codigo que surjan en el momento de la implementacion.Se instalo con el siguiente comando, los cuales se encuentran ubicados en el ambientevirtual que se creo para trabajar en el proyecto:

python3 -m pip install --upgrade pip

python3 -m pip install jupyter

Ya instalado se procede a ejecutarlo en el lugar de donde se configuro el ambientede desarrollo de python con el siguiente comando:

jupyter notebook

Pre procesado de imagenesRealizando un script en python con el cual primero se lleva a cabo un preprocesamientode las imagenes. Primero las imagenes que se utilizan para el entrenamiento deben habersido etiquetadas anteriormente con el fin de proveer ejemplos validos a la maquina, estasimagenes se encuentran etiquetadas de la siguiente manera: (Ver Figura 21)

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 44

Page 45: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 21: Imagenes para entrenamiento - Elaboracion del autor

Descripcion: nombreEspecie.numFoto.formatoImagen

Ejemplo: dog.90.png

El entrenamiento se realiza con un data set de imagenes obtenidas en una de laspaginas mas grandes de busqueda de animales perdidos llamada petfinder[45], de allıse obtienen 25.000 imagenes, 12.500 de gatos y 10.000 de perros, al recorrer todas estasimagenes con python, se obtiene la especie a la que pertenecen en la etiqueta y se asignaun numero entre 0 y 1 para gatos y perros respectivamente. Visualmente se identificauna imagen que no ayuda en el proceso de entrenamiento ya que es un ejemplo que nocorresponde a ninguna de las dos especies a reconocer, por esto se elimina del datasetde entrenamiento. las cuales se formatean con opencv para que sean un cuadrado conlas dimensiones de 50 pıxeles por 50 pıxeles (50px * 50px), estas son leıdas en blanco ynegro utilizando la opcion correspondiente a la librerıa de opencv:

cv2.imread(path, cv2.IMREAD_GRAYSCALE)

Se procede a guardar estos data para entrenamiento en el siguiente archivo:

trainData.npy

Podemos observar el progreso con la librerıa de tqdm de esta manera:

Figura 22: Pre procesado de imagenes - Elaboracion del autor

Entrenamiento de la maquinaAl tener estos datos ya pre-procesados, se realizo el entrenamiento de la primera redneuronal donde se obtuvo un resultado malo sobre la precision del modelo (Ver figura23), la cual se realiza con solamente con 2 capas de redes neuronales obteniendo 0.5020en la precision de este.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 45

Page 46: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 23: Entrenamiento 2 capas de convoluciones - Elaboracion del autor

Al obtener estos resultados se realizo el entrenamiento de la segunda red neuronaldonde se obtuvo un resultado mejor sobre la precision del modelo (Ver figura 24), lacual se realiza con con 6 capas de redes neuronales, obteniendo 0.7900 en la precisiondel segundo modelo.

Figura 24: Entrenamiento 6 capas de convoluciones - Elaboracion del autor

Al realizar el entrenamiento se utiliza el siguiente comando en la terminal de co-mandos para verificar el estado del entrenamiento de la maquina en el tiempo:

Ruta especifica en la que se genera el archivo de log:

windows: tensorboard --logdir=foo:C:\Users\alejo\tesis\log\

linux: tensorboard --logdir=:C:\Users\alejo\tesis\log\

Al correr este comando se puede ver la cantidad de modelos que se tiene en el proyec-to(ver figura 25), para probar la precision a la que llega la maquina al procesar unaimagen se realizaron dos entrenamientos diferentes, el primero con 4 capas de redesneuronales: una de entrada, una de salida y dos de convoluciones.Para el segundo entrenamiento se realizo con 8 capas de redes neuronales: una de en-trada, una de salida y 6 capas de convoluciones.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 46

Page 47: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 26: Precision de los dos mo-delos - Elabora el autor

Figura 27: Validacion de los dosmodelos - Elabora el autor

Figura 25: Vista de entrenamientos - Elabora el autor

Ademas de poder comprobar el estado del entrenamiento, la precision, perdida yvalidacion como se pueden ver en las figuras 26, 27 ,28.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 47

Page 48: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 28: Perdida vs Validacion de los modelos - Elabora el autor

Testeo de la maquina

Se preprocesan los datos del testeo siendo 12500 imagenes a procesar para saber quetan bueno es el resultado de reconocimiento del modelo. Se genero un archivo resulta-doTestTesis.csv”(Ver anexos en el CD) donde se pueden observar los identificadores delas imagenes junto con su resultado de precision del modelo.

Resumen de entrenamientoAl realizar diferentes entrenamientos con primero con 2 capas de redes convolucionalesesta con una precision del modelo de 0.5060 y el segundo con 6 capas de redes con-volucionales dando una precision de 0.7900 al momento de realizar el reconocimiento.Al incrementar las capas de redes que se utilizan en el entrenamiento se presencia unamejora en la precision del modelo, sin embargo esto no quiere decir que entre mas capasse obtendra un mejor resultado.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 48

Page 49: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 29: Reconocimiento sobre imagenes de prueba - Elabora el autor

Hay dos maneras de que el entrenamiento falle de gran manera, puede tener un subajuste o un sobre ajuste de la maquina, evitando obtener lo mas importante de lasimagenes, al generalizar el conocimiento.

10.2.4. Testeo

Para realizar un test obtuvimos imagenes de animales muy parecidas a las del en-trenamiento, sacadas de la misma fuente de informacion, junto con las que se guardandesde el modulo de captura, en este momento se realizo un paso manual de la informa-cion para poder observar los resultados obtenidos al procesar las imagenes, se generaun archivo csv para llevar un control de los datos.

Al analizar estos resultados y comparar lo que realmente son los animales en lasfotos, se concluye que es necesario mejorar el modelo de reconocimiento ya que no in-cluye resultados fiables a la hora de categorizar las imagenes, por esto se realizo una

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 49

Page 50: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

investigacion de como mejorar el modelo, ya sea en el pre-procesado de los datos otambien la integracion de las capas de redes neuronales que se estan utilizando.

Se observa que el modelo puede estar sobre entrenado ya que sirve de una mejormanera con los datos que se utilizaron para entrenar y para probar sin embargo si seusan imagenes que no son muy parecidas a las de entrenamiento y testeo se obtienenresultados muy impredecibles [46], ası que se utilizaron tecnicas de regularizacion en elmodelo para que se beneficie la precision del modelo.

Primero se cambia el modelo en cuanto al numero de capas, reduciendo el numerode estas a 3 con 3 diferentes filtros en cada capa de convolucion iniciando con 32, luego64 y finalmente 128. La tecnica de regularizacion utilizada fue el aumento de datos deimagen (Image Data Augmentation) ya que logro mejorar la precision del modelo enmayor medida que la regularizacion por perdida (Dropout) sin embargo se llega a laconclusion de que es mejor utilizar un modelo antes hecho por la universidad de Oxfordel cual es un modelo ya probado para el reconocimiento de imagenes VGG16 [47] el cualse encuentra optimizado y consta de 16 capas de redes neuronales las cuales cuentan conuna precision del 92 porciento como se puede apreciar en la siguiente imagen(Ver figura30) generando un reconocimiento mucho mas fiable, siguiendo esta guıa para apoyar eldesarrollar de nuestro modelo como referencia [47].

Este modelo y con las caracterısticas de esta clasificacion entre perros y gatos necesitarecursos de hardware mas potentes los cuales limitaron el desempeno del entrenamientocomo tambien la precision alcanzada por nuestro modelo. Si se cuenta con una maquinacapaz de realizar el entrenamiento con este modelo anteriormente dicho se llega a unalto grado de fiabilidad de este modulo.

Figura 30: Precision de modelo usando VGG16

El reducir las imagenes a un menor tamano, de 50 pıxeles de alto por ancho influyeen la cantidad de informacion que se le da al modelo, al ser mas grande las imagenesrepresentan mas informacion para entrenar el modelo.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 50

Page 51: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

10.3. Realizacion Sprint 3: Integracion modulo de captura yreconocimiento de imagenes

10.3.1. Analisis

La integracion de estos dos modulos se realizo al momento de finalizar el sprint queenmarca estos dos modulos, aquı cobro importancia la manera en que estan guardadaslas imagenes, como tambien al lugar al que llegan. Para realizar el reconocimiento de lasimagenes obtenidas del modulo de captura fue necesario establecer un trabajo progra-mado en el servidor para que corra el script de python que realiza el reconocimiento yclasificacion de la imagen, ası obtener que especimen se vio y utilizando los meta-datosde la imagen se puedo saber a que hora y en donde se ha tomado la imagen.

10.3.2. Diseno

Pensar en un tipo de tarea que debe ejecutarse periodicamente fue preciso, en esta”tarea”debıan verse implementados los modulos de captura y reconocimiento, que asu vez, alimentan la centralizacion de la informacion por medio de un Backend y unFrontend.

Para llevar a cabo la ejecucion periodica de una tarea, se utilizaron las herramientascron y crontab.

Cron es un proceso en segundo plano que se ejecuta desde que el sistema inicia, estecomprueba si hay alguna tarea para ser ejecutada de acuerdo a la hora del sistema.

Crontab basicamente es un archivo de texto, donde en el se lista todos los scripts aejecutar. Generalmente cada usuario del sistema posee su propio Crontab, sin embargo,tambien depende del sistema operativo que se este usando.

En Manjaro*, existen unas carpetas en /etc/cron. 2se definen por minuto, hora, dia,mes. Se precisa crear una tarea que se ejecute cada 5 minutos. La tarea que se ejecutarasera responsable del procesamiento de la imagen y del backend segun los datos quereciba.

Figura 31: Descripcion de funcionalidad Contrab - Imagen tomada de [48]

10.3.3. Codificacion / Implementacion

Se deseo ejecutar un script cada 5 minutos. Este es un ejemplo de lo que debe tenerel script internamente:

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 51

Page 52: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

procesamiento.sh:

#!/bin/bash

#script de ejemplo

python script.py

Luego darle permisos de ejecucion:

chmod 777 procesamiento.sh

El contrab segun Manjaro* utiliza, se encuentra en /etc/cron.d/ en el archivo”0hourly”, allı se encuentra una estructura para programar un script y el usuario quelo ejecuta, se debe agregar aquı el script deseado, junto con el tiempo que se ejecutaperiodicamente, lo que para este proyecto es cada 5 minutos:

[ron@ron-pc ~]$ cd /etc/cron.d/

[ron@ron-pc cron.d]$ ls

0hourly

[ron@ron-pc cron.d]$ cat 0hourly

# Run the hourly jobs

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

01 * * * * root run-parts /etc/cron.hourly

*/5 * * * * root /home/ron/Documentos/Tareas/consulta.sh

[ron@ron-pc cron.d]$

10.3.4. Testeo

colocar log cron

10.4. Realizacion Sprint 4: Persistencia de la aplicacion: Back-End

10.4.1. Analisis

Fue necesario crear un servicio con el fin de mostrar la informacion en el moduloweb creado, el servicio es consumido en la pagina del cual se obtendran las imagenes ydemas datos para ser visualizados por el usuario. Se planteo crear un servicio rest conel framework de back-end Django exponiendo la informacion obtenida y estructurada.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 52

Page 53: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

10.4.2. Diseno

Para utilizar el framework django* se creo un entorno virtual, el cual contiene laslibrerıas necesarias para la instalacion y ejecucion del proyecto.

El modelo que encapsula la informacion dada por el procesamiento de la imagen sellamara Avistamiento. En el se contemplan la fecha y el lugar de la captura junto conla especie del avistamiento.

10.4.3. Codificacion / Implementacion

Para crear el entorno virtual:

sudo pip install virtualenv

Para iniciar crear el entorno virtual llamado .env”:

sudo virtualenv env

para activarlo:

source env/bin/activate

Luego de que se instalan las librerıas necesarias para el funcionamiento de django.Estas, se encuentran en el archivo requirements.txt”

pip install -r requirements.txt

Creacion del proyecto en django:

django-admin startproject avistamientos

El anterior comando crea el siguiente directorio:

avistamientos/

manage.py

avistamientos/

__init__.py

settings.py

urls.py

wsgi.py

Para crear una aplicacion:

python manage.py startapp eventos

El anterior comando crea el siguiente directorio:

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 53

Page 54: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

eventos/

__init__.py

admin.py

apps.py

migrations/

__init__.py

models.py

tests.py

views.py

Esta estructura de directorios almacena la aplicacion Eventos. Para configurar labase de datos de la aplicacion, se agrega en el archivo avistamientos/settings.py losiguiente:

*Es necesario que antes ya se haya creado la base de datos y el usuario con accesoa ella.

DATABASES = {

’default’: {

’ENGINE’: ’django.db.backends.postgresql’,

’NAME’: ’avistamientos’,

’USER’: ’avistamientos_user’,

’PASSWORD’: ’.123’,

’HOST’: ’127.0.0.1’,

’PORT’: ’5432’,

}

}

En el anterior codigo se muestran el conector de la base de datos postgresql, elnombre de la base de datos junto con el usuario y contrasena para acceder a el.

Es preciso estudiar el modelo de un evento y la informacion que conlleva para poderlocrear en eventos/models.py:

from django.db import models

class Evento(models.Model):

fecha = models.DateTimeField(’date published’)

especimen = models.CharField(max_length=200)

id_camara = models.CharField(max_length=200)

path = models.CharField(max_length=200)

Para mas informacion sobre la configuracion de los archivos python ver ANEXOS

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 54

Page 55: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

10.4.4. Testeo

Una vez configurado el proyecto, para ponerlo en marcha:

python manage.py runserver

Resultando en:

October 26, 2019 - 22:40:02

Django version 2.2.6, using settings ’Avistamientos.settings’

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

Y al acceder vıa Navegador WEB a la url indicada, se obtiene la lista de eventosguardados en al Backend.

Figura 32: Servicio Rest Eventos -Elabora el autor

10.5. Realizacion Sprint 5: Modulo SIG (Geo-localizacion)

10.5.1. Analisis

Este modulo brinda una representacion de las camaras georeferenciadas, con el finde que estos datos sobre las camaras de captura sean visibles en la plataforma. Fue

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 55

Page 56: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

imprescindible elegir un API que permitiera la integracion de los sistemas de informa-cion geografica (SIG) en la pagina web, como tambien una plataforma web con la quese puedan actualizar los datos de las camaras, subirlas a esta y que se evidencien loscambios en la aplicacion.

10.5.2. Diseno

Para este modulo se utilizo una plataforma robusta la cual es arcGIS, contando conarcGIS online, una cuenta de desarrollador en esta plataforma y los datos sobre lascamaras se pudieron subir capas de informacion geografica, elegir el tipo de privacidadde la informacion y quien puede tener acceso a ella. Esta informacion publicada comoun servicio rest, junto con un API de javascript elaborado para ser empleado en apli-caciones web, se consume este servicio antes mencionado y se muestra propiamente enel aplicativo web.

10.5.3. Codificacion / Implementacion

Primero se obtuvieron los datos sobre las camaras, datos sobre ubicacion, un iden-tificador unico para todo el sistema desarrollado, este identificador debe servir parareconocer la camara en los demas modulos. Los datos correspondientes a las camarasson los siguientes:

id: identificador de la camara

nombre: nombre de la camara

modelo: referencia del modelo de la camara

latitud: latitud de la camara

longitud: longitud de la camara

altura: altura en la que esta ubicada la camara

Al ingresar a la cuenta de desarrollador de arcgis for developers en developers.arcgis.com.Se continuo creando un feature layer, el cual es una capa que va a contener nuestra in-formacion dentro de una tabla con informacion alfanumerica con las columnas de datoscorrespondientes a cada camara.(Ver Figura 33)

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 56

Page 57: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 33: Creacion de capa - Fuente: elabora el autor

Se continua al darle permisos a la capa, para que sea abierta al publico, dandopermisos de edicion y consulta, estos permisos se regulan al momento de mostrar lacapa en la aplicacion donde los usuarios no podran modificar los datos de la misma, sinembargo pueden consultar nada mas.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 57

Page 58: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 34: Permisos para capa - Fuente: Elabora el autor

Estos datos se ingresan en la tabla que se crea al momento de crear el punto, tam-bien recibe el nombre de feature(Ver figura 34). Se cambia la representacion del puntoespecificando, usando la simbologıa que representa una camara en el mapa.

10.5.4. Testeo

Al momento de consultar la capa en la siguiente direccion donde esta almacenadala capa, es necesario verificar que los datos se encuentren en la tabla del feature layercorrectamente diligenciados para cada punto que representa una camara, y que funcioneel pop-up que brinda informacion sobre cada punto. Tambien es importante verificarla representacion de los puntos e identificar a que zoom son visibles claramente todosellos.(Ver Figura 35)

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 58

Page 59: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 35: Visualizacion de puntos - Fuente: Elabora el autor

10.6. Realizacion Sprint 6: Centralizacion de la informacion:Front-End

10.6.1. Analisis

Para este modulo era necesario lograr una aplicacion con una interfaz de usuariobastante sencilla que muestre el mapa con la informacion de las camaras georeferenciada,los datos resultantes del modulo de procesamiento y reconocimiento de imagenes paraque se subieran de tal manera que se representaran de forma sencilla en el aplicativo,era necesario una grafica donde se observe en el tiempo el avistamiento de las especies.Esta grafica cuenta con el avistamiento del animal, la hora del dıa y un trazo de los dıasen que fue visto. Tambien una galerıa de fotos que se obtuvieran de los avistamientos.

10.6.2. Diseno

Existen muchos frameworks para desarrollo web, el propuesto para este prototipo esVuejs, una herramienta que permitio realizar aplicativos web dinamicos el cual facilitala integracion de la informacion y la visualizacion de esta.En esta integracion se utilizo el API de arcGIS para javascript el cual permitio consumiry mostrar los mapas expuestos como un servicio, mas especıficamente como un mapaweb donde cargaremos la capa de informacion geografica representada con puntos. Paramostrar la informacion recopilada a lo largo del tiempo se utilizo una librerıa de graficosllamada ChartJs, una reconocida librerıa en la cual se realizan visualizaciones de datos.Para la interfaz de usuario de la pagina se utilizo bootstrap un framework de front-endque minimiza el tiempo de desarrollo, logrando paginas web en poco tiempo con disenoagradable y responsive de una manera rapida.Para el diseno de nuestro aplicativo web se realizaron mockups los cuales sirven como

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 59

Page 60: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

guıa en el momento de desarrollar el front-end de la aplicacion(consultar anexo mockupsaplicacion).

Para la visualizacion se tuvieron en cuenta variables cuantitativas y categoricas delos datos a visualizar. Al tener el dıa y hora en la cual se observan los avistamientos,junto con los animales que se observan en esas horas del dıa se tendran en cuenta pararealizar la visualizacion. En el eje X de la grafica se colocan los dıas cuando se obtieneun avistamiento, en el eje y el conteo de imagenes procesadas correctamente y obtenidasdel servicio visualizandolo como una grafica del tipo grafica de barras agrupadas, paramostrar los avistamientos comparados con las otras especies en las mismas horas. Estetipo de visualizacion provee una idea al investigador que consulte la aplicacion de dondese ve el animal habitualmente y a que hora del dıa si se puede llegar a apreciar uncomportamiento repetitivo en el animal.

Figura 36: Diseno aplicacion web - Elabora el autor

10.6.3. Codificacion / Implementacion

Al momento de la implementacion fue preciso instalar Node.js el cual nos sirvio co-mo ambiente de desarrollo para la aplicacion, accediendo a la pagina se puede descargaro instalar de manera manual en los diferentes sistemas operativos.[49]Luego de la instalacion se procede a instalar las dependencias necesarias para el pro-

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 60

Page 61: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

yecto, instalando @vue-cli(Command Line Interface) el cual permite crear de maneramas sencilla aplicaciones con esta tecnologıa, usando npm (Node Package Manager)realizamos la instalacion global de esta herramienta:[50]

npm install -g @vue/cli

Se crea un nuevo proyecto utilizando el vue-cli, esta dependencia crea un proyecto basede vue en el cual trabajar, se crea con la siguiente sentencia:

vue create <Nombre Proyecto>

Se generan los componentes que se especifican en el diseno de la aplicacion, dentro dela carpeta components:

Principal.vue: componente principal de la aplicacion donde se visualiza el mapa,datos de la camara y grafica de datos.

Galeria.vue: componente donde se podran observar las imagenes obtenidas de lascamaras.

Proyecto.vue: componente que muestra los datos correspondientes al proyecto degrado.

Procedemos a instalar las demas dependencias que fueron utilizadas en la aplicacion,con npm se realiza la instalacion de estas utilizando los siguientes comandos:

esri-loader: npm install --save esri-loader

bootstrap: npm install --save bootstrap-vue

Esri-loader sirve para cargar el api de arcGIS para javascript, soportando las versionesv3x y v4x en frameworks que no son basados en DOJO, para esto esta librerıa permitecargar los modulos del API a la aplicacion [51].Para agregar un mapa basta con tener la url del mapa web generado en el modulo degeo-localizacion, o tener el id de la capa que se creo y agregarlo a un mapa base elcual se puede crear desde el codigo con el API utilizado.[52] BoottrapVue sirve paraincorporar mas facilmente la librerıa de bootstrap v4.3 en aplicaciones desarrolladascon Vue aprovechando las caracterısticas principales de este framework [53]

Para realizar la visualizacion de los datos en las graficas se procede a instalar chartjsque es una librerıa para representacion de datos, se utiliza el siguiente comando:

npm install --save chartjs

Luego de realizar esto se procede a crear el div donde ira el contenido de la grafica,los datos utilizados para pintar esta grafica son los obtenidos del servicio generadocon la referencia a las imagenes que fueron analizadas y encontradas como gato operro, obtenida esta informacion en formato json es necesario procesarla para generarel formato deseado de los datos y que estos se muestren de manera adecuada en larepresentacion grafica.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 61

Page 62: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 37: Interfaz web desktop - Elabora el autor

Figura 38: Interfaz webresponsive - Elabora el au-tor

10.6.4. Testeo

Para el testeo de la aplicacion web realizada, se usa el comando npm run serve,que permite ver la aplicacion en el navegador como si ya estuviera desplegado en unservidor. La aplicacion consta de 3 paginas principales: inicio, galerıa y proyecto.En la pagina de inicio se observa el modulo de geolocalizacion donde se pueden observarlas camaras, cuando se hace click en una de ellas muestra la informacion de cada unaen el lugar en que se encuentran. Se puede observar la iconografıa escogida para repre-sentarlas en el mapa, ası como un zoom en el lugar en el que se encuentran, dando uncontexto geografico a los avistamientos. Para cambiar el contexto en el que se encuen-tran las camaras se ha agregado un widget de cambio de mapa base, el cual cambia elmapa sobre el que se visualizan las camaras, con esto se puede saber que tan cerca estanestas de las ciudades, carreteras principales y otros aspectos mas dependiendo del mapa.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 62

Page 63: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

Figura 39: Visualizacion de puntos - Elabora el autor

A la derecha de este modulo se pueden observar los datos especıficos sobre lascamaras utilizando un filtro en un select, en el cual se encuentran listadas las camarascorrespondientes a la aplicacion. Este filtro permite cambiar los datos en pantalla sobrelas camaras, como tambien la visualizacion de los datos en el modulo de visualizacioncorrespondientes a cada camara, renderizando otra vez la grafica.

Figura 40: Imagen del Front-End - Elabora el autor

En la galerıa de imagenes aparecen las imagenes filtradas de acuerdo a si se realizoun reconocimiento esta, cada elemento tendra el nombre especifico de la imagen como se

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 63

Page 64: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

10. RESULTADOS Y DISCUSION

encuentra almacenada en el sistema, una ruta de donde se encuentra, el tipo de animalque se obtuvo del reconocimiento y la fecha del avistamiento.

Figura 41: Imagen del Gallery - Elabora el autor

Por ultimo la pagina de proyecto muestra la informacion principal del proyecto finalque se realizo.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 64

Page 65: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

Parte III

Resultados y Conclusiones

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 65

Page 66: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

11. ANALISIS DE RESULTADOS

11. Analisis de Resultados

En el estudio de los trabajos realizados segun el area de pertenencia, encontramosel uso de camaras foto trampa, hasta software de reconocimiento de imagenes. Sin em-bargo, ningun trabajo ha sido completamente funcional en el sentido de abarcar masareas para un objetivo en si de este proyecto.

A continuacion se detallaran las ventajas y debilidades que este prototipo tiene,respecto a los trabajos relacionados y estudiados para la creacion del mismo.

11.1. Modulo de Captura

ZoneMinder es un programa Open Source que permite su configuracion en altosgrados. Aun ası, existen alternativas para este. Tales alternativas, entre las mas popu-lares, se encuentran iSpy* y BlueIris*. Se recolectaron caracterısticas en comun en lasiguiente tabla:

ZoneMinder iSpy BlueIrisOpen Source SI SI NOPlataforma LINUX Windows Windows/Mac

WebAppSI

(ZmNinja)NO

SI(BlueIris)

Acceso Free Limit LimitDificultad Media Alta Baja

Compatibilidad Alta baja AltaAlertas SI ? SI

Cuadro 1: Tabla de comparacion ZoneMinder, iSpy, BlueIris

Uno de los ıtems que mas se tuvo en cuenta fue la dificultad tanto de uso como deinstalacion. ZoneMinder tiene una dificultad elevada respecto a la instalacion, ya quese debe tener preconfigurado un entorno Lamp para su funcionamiento, cosa que seevade en la instalacion de los otros programas. Sin embargo, y en aras del procesamien-to de los datos capturados, es importante poder configurar el destino de las imagenescomo tambien los permisos que se tengan hacia ellas. Por lo tanto, el alto grado deparametrizacion que tiene ZoneMinder, hace que este, tome ventaja respecto a la inter-operabilidad que exige el proyecto.

Por otro lado, al momento de agregar una camara IP, tanto ZoneMinder comoBlueIris, facilitan esta tarea, ya que en sus fuentes se encuentran compatibles una granvariedad de tipos de camaras, cosa que no se da en iSpy.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 66

Page 67: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

11. ANALISIS DE RESULTADOS

Como se pudo observar, ZoneMinder es el unico programa de acceso gratis, los demasrestringen sus funcionalidades segun su tipo de acceso, ya sea gratuito o modo pago.iSpy no permite alojar los imagenes capturadas sin estar registrados a su pagina.

En este proyecto, no se tomo en cuenta la disposicion de un WebApp para la moni-torizacion de los eventos generados por el modulo de captura, sin embargo, para futurosdesarrollos, es importante tener en cuenta que ZoneMinder y BlueIris otorgan esta posi-bilidad, sin embargo, el servicio que ofrece ZoneMinder (ZMninja) es un producto gratisen comparacion al que ofrece BlueIris, el cual tiene un costo de 10 dolares mensuales.

Por lo tanto, ZoneMinder demostro ser el mejor postor en cuanto a los objetivos quetiene el modulo de captura, ya que permite parametrizar y configurar a gusto propio lascamaras ip, el destino de almacenamiento, e incluso la zona y sensibilidad de deteccionde movimiento. Es una gran ventaja contar con la licencia libre de ZoneMinder, ya quecon los otros programas, estos cambios y parametrizaciones necesarias para el prototipoen construccion, serıan difıciles de realizar aun con el pago de sus licencias.

11.2. Modulo de procesamiento y reconocimiento

Al automatizar el reconocimiento de las imagenes se logra virtualmente mejorar eltiempo de recoleccion y depuracion de la informacion para las personas, minimizandoel contacto del usuario que realiza este trabajo con la informacion, este sistema en unentorno donde las camaras no realizan el almacenamiento automaticamente, y no tienenun computador capaz de realizar el reconocimiento de las imagenes este tipo de tareasaumentan de manera considerable el costo de una persona operando manualmente todolo que se obtiene de las camaras y luego su clasificacion.Al generar un modulo de reconocimiento, con un tasa de aciertos del (80 porciento aunen desarrollo para mejorar)

11.3. Integracion de modulos de captura y procesamiento

Por medio de la programacion de una tarea periodica, se logra unir los modulosde captura y reconocimiento. El script que periodicamente se ejecuta, revisa dentrode unas carpetas preestablecidas, imagenes a ser procesadas. Si las hay, comenzara elprocesamiento y obtendra unos resultados que de ser factibles, se enviaran al BackEndde la aplicacion web, de lo contrario, se eliminara el registro junto con sus imagenes re-lacionadas. El anterior procedimiento sera ejecutado cada 5 minutos, tiempo suficientepara procesar una imagen y subir su contenido al aplicativo Web.

Cabe notar que el consumo de memoria de este ”demonio”(crontab), no es relativa-mente importante para este proyecto ya que en caso de no haber imagenes, se vuelve a

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 67

Page 68: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

11. ANALISIS DE RESULTADOS

ejecutar en 5 minutos sin estar llenando de procesos al servidor en uso.

11.4. Automatizacion de la informacion

Segun los estudios realizados respecto a los avistamientos presentes en los parquesnaturales en Colombia, La automatizacion no se encuentra presente y/o desarrollada. Esun trabajo completamente, o en su mayoria, Manual. INaturalist* es una plataformadesarrollada para el estudio de especies de animales y plantas mediante observacio-nes(fotograficas) captadas por usuarios, de igual modo que la plataforma QUYN. Estaultima ha sido desarrollada por la Universidad Nacional de Colombia. QUYN posee lacaracterıstica de que sus imagenes son georeferenciadas, tienen fecha de captura y unadescripcion tecnica/amigable del especimen visualizado.

Figura 42: Mapa de puntos de avistamientosFuente: [54]

Figura 43: Lista de avistamientos del puntogeoreferenciadoFuente:[54]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 68

Page 69: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

11. ANALISIS DE RESULTADOS

Figura 44: Informacion general del avistamientoFuente:[54]

Como se puede observar, por cada punto geografico hay una lista de registros, dondese puede ver las fotos e informacion detallada del especimen perteneciente al registro.Para este ejemplo, se visualizo un leopardo el 4 de septiembre de 2012.

El problema en este tipo de registro es que no se sabe con exactitud el porcentajede presencia de dicho felino en el area especificada segun el registro. Ya han pasadomas de 6 anos y no se sabe cuantas veces o cual ha sido el ultimo avistamiento de esaespecie en esa area. Por lo que no se tiene un registro contundente de la permanenciade este felino en su habitat.

Lo anterior conlleva a resaltar que, en el prototipo desarrollado, los avistamientos seregistran automaticamente en la plataforma Web desarrollada, y que este procedimientono tarda mas de lo que serıa la suma de tiempos respecto al envio de informacion yprocesamiento de la imagen. Lo cual genera un conjunto de datos reciente y cuantitativorespecto a la fecha y lugar del avistamiento.

11.5. Almacenamiento y presentacion de la informacion

Desarrollar una aplicacion Web sin ningun Framework es una tarea que puede tomarmucho tiempo y que, si el aplicativo es escalable, sera difıcil y costoso aplicar cambiosen el mismo. Django es una herramienta de alto nivel escrita en Python, por lo quehereda todas las caracterısticas y facilidades que da Python, entre ellas escribir codigo

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 69

Page 70: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

11. ANALISIS DE RESULTADOS

facil de entender y desarrollar aplicaciones rapidas y potentes.

La facilidad de crear modelos que abarquen la estructura de un problema en espe-cifico convierte a Django en una solucion rapida y robusta. Por otro lado, los serviciosREST hacen de la consulta de informacion, una tarea facil para el modulo del Front-End.

Un gran ventaja de Django, es que al momento de hacer dichas consultas por mediode servicios Rest o crear los modelos, se hace por medio de lenguaje python y no SQL,por lo que resulta mas amigable para el desarrollador generar las tablas en la base dedatos, sin siquiera escribir en lenguaje SQL.

Vue.js es un framework para construir interfaces de usuario y aplicaciones webdinamicas. Siendo alternativa a frameworks como Angular o React, pero comparadocon ellos, Vue es una de las tecnologıas javascript que brinda rapidez y eficacia alutilizar su herramienta @vue-cli, que permite crear un proyecto de Vuejs con un solocomando. Tiene una basta documentacion y facilidad para complementar y unir todotipo de tecnologıas, como las utilizadas para georeferenciar los puntos en el mapa delos avistamientos generados.

Es preciso resaltar la modularidad caracterıstica de estos proyectos ya que al utilizarnode.js es necesario instalar paquetes de dependencias que si se deprecian o requierenser cambiadas basta con utilizar el manejador de paquetes npm (node package manager)para actualizar o borrar alguna de ellas ası como agregar una nueva.Vue.js al funcionar con componentes de codigo independientes, estos pueden ser reuti-lizados, escalados y exportados siendo de gran ayuda para el desarrollador a lo largo dela vida del proyecto. Cabe mencionar la facilidad que brinda para la representacion delos datos y elementos en la pagina debido a su comportamiento.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 70

Page 71: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

12. CONCLUSIONES

12. Conclusiones

El funcionamiento de este prototipo depende en gran medida del desarrollo inde-pendiente que tiene cada modulo como tambien su capacidad para acoplarse segun losobjetivos y requerimientos dados al principio. Este prototipo es modular, por lo que seconvierte en un sistema adaptable para cualquier tipo de situacion.

La union del modulo de captura y de procesamiento hace que este prototipo tengaun valor agregado. No solo la automatizacion de la captura es vital si no la posibilidadde utilizar cualquier tipo de camara en este proyecto. Cualquier tipo de dispositivoAndroid, Camaras IP o incluso Camaras 4G pueden ser agregadas por medio de Zo-neMinder. La facilidad con la que este programa las anade y configura ante cualquiersenal de movimiento convierte el prototipo desarrollado, en un sistema de vigilanciagenerico capaz de funcionar con una gran variedad de dispositivos sin importar su tipode conexion o alcance.

La instalacion de ZoneMinder tiene una dificultad moderada ya que requiere de co-nocimientos en el tema Linux, Servidores, y Bases de Datos. Sin embargo, cuando estainstalacion se hace bajo el entendimiento de las anteriores areas, se logra tener un totalcontrol sobre los requerimientos y objetivos del modulo de captura. La parametrizacionde la base de datos para el funcionamiento de ZoneMinder permite contrastar los re-sultados del procesamiento contra los eventos generados por ZoneMinder.

El desarrollo de tareas periodicas por medio de la herramienta crontab, permiteestar vigilando en todo momento si hay nuevos avistamientos generados por ZoneMin-der. Es importante tener claro el funcionamiento del crontab para especificar las tareasperiodicas que queramos llevar a cabo. Con el objetivo de que el prototipo sea lo masgenerico posible, en trabajos futuros no habran inconvenientes si se piensan agregarmas modulos de procesamiento, ya que simplemente se tendrıan que agregar al scriptque se ejecutara periodicamente, lo cual, tambien es parametrizable segun el usuario.

El reconocimiento aplicado a las imagenes por medio de la red neuronal artificial,permite clasificarlas segun el especimen encontrado en ellas. Es importante recalcar elgrado de sensibilidad desarrollado en este procesamiento, ya que las imagenes que notengan ninguna clasificacion seran consideradas como ruido y posteriormente, elimina-das del sistema. Con este proceso se genera un ambiente controlado en el sentido de lacalidad de la informacion.

Teniendo en cuenta la limitacion en recursos y para efectos de prueba, se llevo a caboeste prototipo pensando en perros y gatos. La Red Neuronal Artificial fue entrenadacon estos parametros y su clasificacion de imagenes gira entorno a lo aprendido. Sin

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 71

Page 72: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

12. CONCLUSIONES

embargo, este enfoque puede cambiar facilmente ya que, sı para futuros trabajos o inves-tigaciones, se desea hacer un reconocimiento para cualquier otro objetivo, simplementese entrenarıa la red neuronal artificial bajo los parametros requeridos. Lo anterior puedeser aplicado para reconocimiento de rostros humanos, de vehıculo o cualquier otro tipode objetos e incluso en conjuntos de animales en especifico. Para cualquier conjunto quese desee entrenar la red, existen ya redes pre-entredanas las cuales facilitarıan cualquiertipo de desarrollo en esta area.

Para obtener la ubicacion geografico de un avistamiento es necesario tener las coor-denadas de las camaras. Con esta informacion, solo se necesita saber de que camaraproviene el avistamiento y ası, se enlazara dicha geolocalizacion con el avistamiento,generando ası un mapa de avistamientos dado por la fecha, recurrencia y especimenencontrado.

La centralizacion de la informacion es igualmente un modulo vital para el proyecto.La disponibilidad e integridad de la informacion juegan un papel importante y diferen-ciador respecto a los demas proyectos existentes. Proyectos como QUYN o iNaturalistcomprenden soluciones a la investigacion de especies, mas no a su conservacion y pro-teccion. Con este prototipo se puede analizar en tiempo real el numero de veces queun objetivo ha pasado frente a una camara, como tambien poder establecer si ha au-mentado o disminuido el numero de avistamientos del mismo en el area estimada. Estainformacion esta disponible mediante una interfaz web, donde cualquier tipo de usuariopuede acceder, analizar y visualizar los avistamientos registrados por la plataforma ensi. Este plus hace que el prototipo desarrollado, tenga una ventaja a la hora de hacerestudios o estadısticas en tiempo real sobre la fauna, o cualquier otro objetivo que hayaplanteado segun su interes.

En conclusion, este prototipo comprende un conjunto de herramietas parametriza-bles segun el interes y necesidades del usuario que desee implementar el sistema. Conesto, se logra crear un prototipo que beneficiara en gran medida, cualquier tipo de tra-bajo o investigacion que tenga que ver con reconocimiento de objetivos por medio devision artificial y la geolocalizacion de la misma.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 72

Page 73: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

13. RECOMENDACIONES Y TRABAJOS FUTURO

13. Recomendaciones y Trabajos Futuro

13.1. Camaras 4G

Cuando se desee implementar el sistema en un area donde no haya acceso a una redwifi, es preciso pensar en Camaras adaptadas a este tipo de situacion, donde por mediode una Sim de datos y tecnologıa 4G, envıa las imagenes captadas a un servidor enespecifico, el cual se puede configurar para que aloje las imagenes en un sitio especificosegun el script de python.

A continuacion se mostrara una camara especializada junto con el precio correspon-diente:

Figura 45: LINK-MICRO Cellular Trail Camera spypoint

Caracterısticas de la camara:

Tarjeta sim previamente activada incluida gratis 30 dıas de fotos ilimitadas seofrece un plan mensual gratuito de 100 fotos

Red 4g 10 mp 05 segundos de velocidad de disparo 80 de alcance de flash

2 anos de garantıa del fabricante

Incluye 8 baterıas

Tarjeta microsd de 16gb

Montaje en arbol

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 73

Page 74: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

13. RECOMENDACIONES Y TRABAJOS FUTURO

Duracion de un mes de la bateria.

El precio de una de estas camaras gira entorno a $ 250 Dolares, es decir, al rededorde $ 1’200.000 pesos Colombianos.

13.2. Reconocimiento aplicado a otros objetivos

En cuanto al modulo de reconocimiento, al haber sido entrenado para reconocerespecies como lo son los gatos y los perros en este proyecto, en caso de realizar unsistema similar va ser necesario entrenar la maquina con imagenes diferentes corres-pondientes a las especies que puedan ser observadas en el entorno en que se encuentraoperando el sistema de camaras. Para esto es necesario conocer la fauna objetivo delreconocimiento, y enfocar muy bien a que tipo de animales se aplica este reconocimiento.

Tener una fuente de datos con gran variedad de imagenes para entrenar y mejorarel reconocimiento de cada especie objetivo, es importante pre-procesar y etiquetar lasfotos para el entrenamiento de la maquina.

Se espera finalmente que la tesis sea utilizada en los parques nacionales de Colombiaya que esto puede mejorar la gestion de informacion en parques nacionales.

La recoleccion de imagenes permitira generar un banco de datos con las imagenesrecolectadas, generando esta informacion se pueden utilizar como fuente de datos , rea-lizar otro tipo de tareas con el aprendizaje de maquina.

13.3. Modulo de geo-localizacion

En cuanto a la visualizacion de las camaras de deteccion se puede enriquecer de granmanera el contexto geografico de estas, arcGIS al ser una plataforma completamenteorientado a los mapas, con la capacidad de compartir esta informacion y al mismo tiem-po obtenerla de donde este alojada, se pueden utilizar capas de datos como los biomasen Colombia que es un lugar definido por la vegetacion y las especies que se encuen-tran en esa area, delimitaciones geograficas, entre otro tipo de informacion obtenible,que facilite el trabajo de interpretacion y analisis a biologos y demas personas que sedesenvuelven en estos campos de estudio, de acuerdo a sus necesidades.

13.4. Alerta de avistamiento

Con el fin de llevar un control sobre los avistamientos y en el caso de un despliegueen los parques nacionales, se puede mejorar el prototipo creando una funcionalidad

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 74

Page 75: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

13. RECOMENDACIONES Y TRABAJOS FUTURO

en la cual alerten a las personas encargadas de monitorear el sistema y los datos detomados de este, sobre el avistamiento de los animales en tiempo real, podrıan recibiruna notificacion en el correo o en el celular dependiendo de como se establezca laimplementacion de el sistema de alertas.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 75

Page 76: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

REFERENCIAS REFERENCIAS

Referencias

[1] A. y. E. P. G. Diaz-Pulido, “Manual de fototrampeo: una herramienta de investi-gacion para la conservacion de la biodiversidad en Colombia. Instituto de Investi-gaciones de Recursos Biologicos Alexander von Humboldt y Panthera Colombia”,2012.

[2] Pagina oficial de ArcGis, url https://www.arcgis.com, [Web; accedido el 17 dejulio de 2019].

[3] A. ArcGIS. (). Pagina oficial de ArcGis for Developers, direccion: https : //

developers.arcgis.com/javascript. (accedido el 17 de julio de 2019).

[4] Pagina oficial de TensorFlow, url https://www.tensorflow.org, [Web; accedido el17 de julio de 2019].

[5] Pagina oficial de OpenCV, url https://opencv.org/, [Web; accedido el 17 de juliode 2019].

[6] Pagina oficial de iNaturalist, url https://www.inaturalist.org/, [Web; accedido el1 de Abril del 2019].

[7] Seek iNaturalist: Understanding Biodiversity Through a Digital Medium StuartAnderson, url: http://hdl.handle.net/10012/12950, [Web, accedido el 1 de Sep-tiembre del 2019].

[8] D. G. Cristian. (). FacesDetector: Aplicacion practica de machine learning sobreimagenes para un contexto de seguridad. - Universidad de Extremadura., direc-cion: http://dehesa.unex.es/handle/10662/7970.

[9] “Herramientas para la deteccion y seguimiento de personas a partir de camarasde seguridad.”, [URI: http://digital.cic.gba.gob.ar/handle/11746/4676], Tesis demtrıa., Universidad Nacional del Centro de la Provincia de Bueno Aires, Con-sejo Nacional de Investigaciones Cientıficas y Tecnicas, CONICET Comision deInvestigaciones Cientıficas, CICPBA, 2016.

[10] Scikit-learn library, url: http://scikit-learn.org/stable/index.html, [Web, accedidoel 1 de Julio de 2019].

[11] A. Vara Serrano, “Prediccion de visitas mediante geolocalizacion a traves de dis-positivos moviles.”, [URI: http://hdl.handle.net/2445/120884], Tesis de mtrıa.,Universidad de Barcelona, 2017.

[12] “Aplicacion para la Deteccion de Espacios en Parqueaderos con Drones y Smartp-hones”, [URI: http://hdl.handle.net/10584/5861], Tesis de mtrıa., Universidad delNorte, Barranquilla, 2016.

[13] O. CV. (). Open CV - Haar Cascade Trainer, direccion: https://docs.opencv.org/3.3.0/dc/d88/tutorialtraincascade.html. [ Web; accedido el 17 de juliode 2019].

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 76

Page 77: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

REFERENCIAS REFERENCIAS

[14] F. d. C. Universidad Nacional de Colombia Instituto de Ciencias Naturales,QUYN-Camaras trampa, Publicado en Internet, uri: http://www.biovirtual.unal.edu.co/quyn [accesado el 10 Octubre 2019], 2017.

[15] P. nacionales naturales de Colombia, “Fototrampeo en parques Nacionales”, url:http://www.parquesnacionales.gov.co/portal/es/fototrampeo/, Tesis de mtrıa., Par-ques nacionales naturales de Colombia, 2019.

[16] M. Mandujano S Mulero Pazmany y R.-V. A, “Drones: una nueva tecnologıa parael estudio y monitoreo de fauna y habitats. Agroproductividad.”, dic. de 2017.

[17] R. A. Faican Pila, “Diseno e implementacion de un prototipo inalambrico demonitoreo a traves de secuencias de imagenes utilizando hardware y softwarelibre”, uri: ttp://bibdigital.epn.edu.ec/handle/15000/16792, Tesis doct., EscuelaPolitecnica Nacional Facultad de Ingenierıa Electrica y Electronica, oct. de 2016.

[18] E. Dıaz Pulido A. y Payan Garrido, Manual de fototrampeo: una herramienta deinvestigacion para la conservacion de la biodiversidad en Colombia, uri:http://repository.humboldt.org.co/bitstream/handle/20.500.11761/31415/240.pdf?sequence=1isAllowed=y, Instituto de Investigaciones de Recursos Biologicos Alexandervon Humboldt y Panthera Colombia, 2012.

[19] W. W. F. F. Nature, Camera Traps, Publicado en internet, uri: https://wwf.panda.org/ourwork/wildlife/cameratraps/, 2019.

[20] Trailcampro, Camera trap for researches, Publicado en internet, uri: https://www.trailcampro.com/pages/camera-traps-for-researchers, 2019.

[21] S. W. Ambler, Acerca de las historias de usuario, Publicado en internet, uri:http://www.agilemodeling.com/artifacts/userStory.htm [Consultado en octubrede 2019], 2018.

[22] J. M. T. y. A. V. Lidia Fuentes, “Desarrollo de Software Basado en Componentes”,Dept. Lenguajes y Ciencias de la Computacion. Universidad de Malaga., inf. tec.,2013.

[23] J. C. Terreros, Desarrollo de Software basado en Componentes, Publicado en inter-net, uri: https://docs.microsoft.com/es-es/previous-versions/bb972268(v=msdn.10)[accesado en Agosto del 2019], 2008.

[24] P. oficial de ArcGIS, ¿Que es ArcGIS?, Publicado en internet, uri: https://resources.arcgis.com/es/help/getting-started/ [accesado el 20 de Julio del 2019], 2019.

[25] ArcGIS, Imagen: Introduccion a ArcGIS, Publicado en internet, uri: https://resources.arcgis.com/es/help/getting-started/ [accesado el 15 de Agosto del 2019], 2019.

[26] ——, ArcGIS API for Javascript, Publicado en internet, uri: https://developers.arcgis.com/javascript/ [accesado el 20 de Agosto del 2019], 2019.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 77

Page 78: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

REFERENCIAS REFERENCIAS

[27] C. Linux, Pagina oficial de ZoneMinder - Features, Publicado en internet, uri:https://zoneminder.com/features/ [accesado el 22 de Agosto del 2019], 2014.

[28] ——, Imagen: All Devices ZoneMinder, Publicado en internet, uri: https://zoneminder.com/features/ [accesado el 22 de Agosto del 2019], 2014.

[29] P. S. Foundation, What is Python? Executive Summary, Publicado en internet,uri: https://www.python.org/doc/essays/blurb/ [accesado el 22 de Agosto del2019], 2019.

[30] M. Foundation, Javascript, Publicado en internet, uri: https://developer.mozilla.org/en-US/docs/Web/JavaScript [accesado el 22 de Agosto del 2019], 2019.

[31] M. Aranda, What’s the difference between JavaScript and ECMAScript?, Publi-cado en internet, uri: https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/[accesado el 27 de Agosto del2019], 2019.

[32] C. O. Source y Google, Introduction to TensorFlow - getting started, Publicado eninternet, uri: https://www.tensorflow.org/learn[accesado el 15 de Julio del 2019],2019.

[33] ——, Keras home page, Publicado en internet, uri: https://keras.io/[accesado el2 de Septiembre del 2019], 2019.

[34] F. Perez y B. E. Granger, “IPython: a System for Interactive Scientific Com-puting”, Computing in Science and Engineering, vol. 9, n.o 3, pags. 21-29, ma-yo de 2007, issn: 1521-9615. doi: 10.1109/MCSE.2007.53. direccion: https://ipython.org.

[35] P. J. C. Directivo, Proyecto Jupyter, Publicado en internet, uri: https://jupyter.org/about [Consultado el mes de octubre de 2019], oct. de 2019.

[36] E. de Bootstrap, Bootstrap, Publicado en internet, uri: https://getbootstrap.com/[Consultado en septiembre de 2019], 2019.

[37] ——, Bootstrap, Publicado en internet, uri: https://getbootstrap.com/ [Consul-tado en septiembre de 2019], 2019.

[38] L. foundation proyectos colaborativos, Node js proyect, Publicado en internet, uri:https://nodejs.org/es/about/ [Consultado en octubre de 2019], 2019.

[39] S. F. Conservancy, Git control de versiones, Publicado en internet, uri: https://git-scm.com/book/es/v1/Empezando-Acerca-del-control-de-versiones [Consultado enagosto de 2019], 2019.

[40] Ecured, Tecnologias LAMP, Publicado en internet, uri: https://www.ecured.cu/LAMP [Consultado en octubre de 2019], 2019.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 78

Page 79: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

REFERENCIAS REFERENCIAS

[41] S. usuario de youtube, Red neuronal convolucional para identificar perros vs gatos,Publicado en internet, uri: https://www.youtube.com/watch?v=gT4F3HGYXf4[Consultado en octubre de 2019], 2017.

[42] A. Rosebrock, Instalando keras con tesorflow back-end, Publicado en internet, uri:https://www.pyimagesearch.com/2016/11/14/installing-keras-with-tensorflow-backend/ [Consultado en octubre de 2019], 2016.

[43] I. Bicking, Instalacion virtual env, Publicado en internet, uri: https://virtualenv.pypa.io/en/stable/installation/ [Consultado en octubre de 2019], 2018.

[44] D. Hellmann, Instalacion virtual env wrapper, Publicado en internet, uri: https://virtualenvwrapper.readthedocs.io/en/latest/install.html [Consultado en octubre de2019], 2018.

[45] C. Kaggle, Kaggle: dogs vs cats, Publicado en internet, uri: https://www.kaggle.com/c/dogs-vs-cats/overview [Consultado en octubre de 2019], 2018.

[46] lexico, lexico, siginificado overfitting, Publicado en internet, uri: https://www.lexico.com/definition/overfitting [Consultado en Diciembre de 2019], 2019.

[47] J. Brownlee, How to Classify Photos of Dogs and Cats, Publicado en internet, uri:https://machinelearningmastery.com/how-to-develop-a-convolutional-neural-network-to-classify-photos-of-dogs-and-cats/ [Consultado en Diciembre de 2019], 2019.

[48] SK, A Beginners Guide To Cron Jobs, Publicado en internet, uri: https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/ [Consultado en noviembre de 2019],2019.

[49] L. foundation proyectos colaborativos, Instalacion: Node.js, Publicado en internet,uri: https://nodejs.org/es/download/package-manager/ [Consultado en octubrede 2019], 2018.

[50] E. Yous, Instalacion: Vue-CLI, Publicado en internet, uri: https://cli.vuejs.org/[Consultado en octubre de 2019], 2018.

[51] Esri, Instalacion: esri-loader, Publicado en internet, uri: https://www.npmjs.com/package/esri-loader [Consultado en octubre de 2019], 2019.

[52] ——, API arcGIS for javascript, Publicado en internet, uri: https://developers.arcgis.com/javascript/ [Consultado en octubre de 2019], 2019.

[53] B. vue team, Instalacion: bootstrap-vue, Publicado en internet, uri: https://bootstrap-vue.js.org/docs [Consultado en octubre de 2019], 2018.

[54] U. N. de Colombia, Busqueda en el aplicativo QUYN, Publicado en internet, uri:http://www.biovirtual.unal.edu.co/quyn/en/resultados/punto/21/119/ RegistroCDZICN00119: Leopardus pardalis [Consultado en octubre de 2019], 2017.

[55] D. Knuth. (). Knuth: Computers and Typesetting, direccion: http://www-cs-faculty.stanford.edu/~uno/abcde.html. (accessed: 01.09.2016).

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 79

Page 80: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

REFERENCIAS REFERENCIAS

[56] D. Wells, Agile Software Development, Publicado en internet, uri: http://www.agile-process.org/ [accesado el 10 Octubre 2019], 2019.

[57] ——, Extreme Programming:A gentle introduction, Publicado en internet, uri:http://www.extremeprogramming.org/ [accesado el 6 de Mayo del 2019], 2013.

[58] ——, Manage Your Goals Instead of Activities, Publicado en internet, uri: http://www.agile-process.org/byfeature.html [accesado el 7 de Octubre del 2019], 2013.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 80

Page 81: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14. Anexos

14.1. Formatos utilizados en foto trampeo

14.1.1. Formato de instalacion de camaras trampa

Figura 46: Formato de instalacion de camaras trampa - Tomado de [18]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 81

Page 82: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14.1.2. Formato de revision de camaras trampa

Figura 47: Formato de revision de camaras trampa - Tomado de [18]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 82

Page 83: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14.1.3. Formato de registro de fotos

Figura 48: Formato de registro de fotos - Tomado de [18]

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 83

Page 84: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14.2. Historias de Usuario

Historia de usuario 1 Historia de usuario en detalle

El sistema debe guardar las imagenes delos ejemplares vistos

El sistema guarda la imagen cuandodetecta un movimiento en la camara

Esta funcionalidad debe ser ejecuta-da automaticamente sin la interven-cion del usuario

.Prioridad: 10Estimado: 4 dıas

Historia de usuario 2 Historia de usuario en detalle

El sistema debe enviar las imagenes guar-dadas para realizar el reconocimiento delanimal en la imagen

El sistema envıa la imagen al direc-torio donde se realiza el reconoci-miento de la imagen

Se puede enviar a otro equipo o aun directorio local

Esta funcionalidad debe ser ejecuta-da automaticamente sin la interven-cion del usuario

.Prioridad: 10Estimado: 1 semana

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 84

Page 85: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

Historia de usuario 3 Historia de usuario en detalle

El reconocimiento del animal debe ser he-cho por una maquina

El script se ejecuta automaticamen-te

Se puede realizar el reconocimientoprogramando una hora del dıa o quese realice cuando llega la imagen aldirectorio que la contendra

Esta funcionalidad debe ser ejecu-tada automaticamente, pero puedetener activacion del usuario

.Prioridad: 10Estimado: 2 semanas

Historia de usuario 4 Historia de usuario en detalle

Se deben ver los datos en una pagina webfacil de consultar

La pagina web debe tener un disenosencillo pero muy entendible

se debe mostrar los datos de unamanera simple

.Prioridad: 7Estimado: 2 semanas

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 85

Page 86: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

Historia de usuario 5 Historia de usuario en detalle

Los avistamientos deben ser colocados enun mapa

Este mapa debe ser un mapa webintegrado a la pagina

El mapa debe manejar una simbo-logıa facil de entender

.Prioridad: 7Estimado: 1 semana

Historia de usuario 6 Historia de usuario en detalle

Se debe poder observar la frecuencia deavistamientos y las horas en que ocurren

Representar los datos de los avista-mientos en una grafica que sea sen-cilla de interpretar

Manejar colores suaves

Manejar diferentes colores para di-ferentes especies

Debe estar integrada en la paginaweb

.Prioridad: 6Estimado: 1 semana

Historia de usuario 7 Historia de usuario en detalle

Se debe tener un registro visual de las es-pecies vistas

Mostrar las imagenes en la paginaweb

Realizar una galerıa de imagenes

.Prioridad: 7Estimado: 4 dıas

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 86

Page 87: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

Historia de usuario 8 Historia de usuario en detalle

Si las imagenes no se pueden clasificarigual se debe tener un registro en caso deque sea un animal

No es necesario mostrar las image-nes en la pagina web

.Prioridad: 4Estimado: 2 dıas

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 87

Page 88: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14.3. Mock ups aplicacion web

14.3.1. Mock up pagina inicial

Figura 49: Mock up de ventana de inicio - Elaborado por el autor

14.3.2. Mock up galeria

Figura 50: Mock up de galeria de imagenes - Elaborado por el autor

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 88

Page 89: Prototipo de geolocalizaci on y reconocimiento aplicado a ...repository.udistrital.edu.co/bitstream/11349/24814/6/...Prototipo de geolocalizaci on y reconocimiento aplicado a especies

14. ANEXOS REFERENCIAS

14.4. Manual de Instalacion y despliegue (ver anexo fısico)

14.5. Manual de Entrenamiento y testeo (ver anexo fısico)

14.6. Script Zone Minder (ver en anexo fısico)

El siguiente Script de instalacion fue desarrollado por Robson Vaamonde, un usuariode habla portuguesa de la comunidad Github. Este script fue vital para el desarollo einstalacion de ZoneMinder. En el, se encuentra comentado y explicado cada comandoutilizado.

14.7. Script de Ejecucion (ver anexo fısico)

El siguiente Script es el encargado de llevar a cabo el proceso de obtener las imagenespor parte de ZoneMinder, procesarlas y armar el modelo del registro, para enviar dichainformacion al backend en django.

Proyecto — Universidad Distrital Francisco Jose de Caldas Pagina 89