UNIVERIDAD DE GUAYAQUIL
FACULTA DE CIENCIAS MATEMÁTICA Y FÍSICA
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
MODELO DE UN SISTEMA DE VIDEOVIGILANCIA ORIENTADO A
LA SEGURIDAD DE EMBARCACIONES DE PESCA ARTESANAL
APLICANDO ALGORITMOS EN MACHINE LEARNING
EN EL BALNEARIO DE BALLENITA,
PROV. DE SANTA ELENA.
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONES
AUTORES:
KAREN PAOLA ALEJANDRO RODRÍGUEZ
MARLON MICHAEL YAGUAL MITE
TUTOR:
ING. ALFONSO ANÍBAL GUIJARRO RODRÍGUEZ, Mgs.
GUAYAQUIL – ECUADOR
2021
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGIAS
FICHA DE REGISTRO DE TRABAJO DE TITULACION
TITULO: “Modelo de un sistema de videovigilancia orientado a la seguridad de embarcaciones
de pesca artesanal aplicando Algoritmos en Machine Learning en el balneario de Ballenita, Prov.
De Santa Elena”
AUTORES:
Karen Paola Alejandro Rodríguez
Marlon Michael Yagual Mite
REVISOR:
Oscar León Granizo, M. Sc.
INSTITUCIÓN: Universidad de
Guayaquil
FACULTAD: Ciencias Matemáticas y Físicas
CARRERA: Ingeniería en Sistemas Computacionales
FECHA DE PUBLICACIÓN: N° DE PAGS:
AREA TEMÁTICA: Monitoreo de videovigilancia y reconocimiento de objetos
PALABRAS CLAVE: detección de barcos, CNN, aprendizaje automático, YOLOv4, Google
Colab, videovigilancia.
RESUMEN: Las playas de la Provincia de Santa Elena son zonas vulnerables que carecen de
vigilancia, por esta razón la propuesta persigue la finalidad de disminuir los robos de sus
embarcaciones, ya que es necesario contar con un sistema que vigile los barcos de pesca artesanal,
por tal razón proponemos un modelo de videovigilancia que cuente con visión por computadora.
El modelo de detección de objetos en su primera versión se logra tener como alcance el
reconocimiento de botes, motores y personas, se utiliza una red de YOLOv4 la que se entrenó con
imágenes de barcos dentro de su entorno. El modelo resultante logra detectar barcos con un
promedio de precisión de 90.32%, la detección en motores de lancha es de 82.44% y personas
con un promedio de precisión de 79.47%. También se realizó pruebas en botes que se logran
divisar a lo lejos teniendo como resultados detecciones que van desde 40%.
N° DE REGISTRO: N° DE CLASIFICACIÓN:
DIRECCIÓN URL:
ADJUNTO PDF SI ⊠ NO ⃞
CONTACTOS CON AUTORES:
Teléfono:
0963264202
0978844631
Email:
CONTACTO DE LA INSTITUCIÓN Nombre: Ab. Juan Chávez Atocha
Teléfono: 2307729
Email: [email protected]
i
APROBACIÓN DEL TUTOR
En mi calidad de tutor: del Trabajo de Titulación, “Modelo de un sistema de videovigilancia
orientado a la seguridad de embarcaciones de pesca artesanal aplicando Algoritmos en Machine
Learning en el balneario de Ballenita, Prov. de Santa Elena.” elaborado por KAREN PAOLA
ALEJANDRO RODRÍGUEZ Y MARLON MICHAEL YAGUAL MITE, estudiantes no
titulados de la Carrera de Ingeniería en Sistemas Computacionales, Facultad de Ciencias
Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del título de Ingeniero
en Sistemas Computacionales, me permito declarar que luego de haber orientado, estudiado y
revisado, la apruebo en todas sus partes.
Atentamente.
Ing. Alfonso Guijarro Rodríguez, Mgs.
TUTOR
ii
DEDICATORIA
A mis padres, Camilo Alejandro Tigrero y a
Carmen Rodríguez Borbor, gracias a ellos por
el apoyo incondicional en mi formación
académica, por inculcarme valores, a mi
abuelito Manuel Rodríguez por haberme dado
ánimos de seguir en la Carrera, desde el cielo
está orgulloso de mí. A mis hermanos, novio y
cada uno de mis familiares que me apoyaron en
mi etapa universitaria.
Karen Paola Alejandro Rodríguez
El presente proyecto se lo dedico a mis padres
Jorge Yagual y a Maritza Mite porque siempre
han estado presente apoyándome e
inspirándome para poder cumplir mis metas, a
mi familia por su apoyo y motivación
incondicional.
Marlon Michael Yagual Mite
iii
AGRADECIMIENTO
Agradezco a Dios por estar siempre conmigo.
Agradezco a la Universidad de Guayaquil, a los
docentes que estuvieron presentes en mi
proceso académico en especial al Ing. Alfonso
Guijarro MSc. Por haber guiado mi proceso de
titulación, a mis amigos y compañeros con los
que compartí esta etapa Universitaria.
Karen Paola Alejandro Rodríguez
En primer lugar, agradezco a mis padres que
siempre han estado motivándome, a mi familia
por su apoyo y consejos, también agradezco a
la familia Gómez Villarroel quienes me
brindaron un hogar, me aconsejaron y guiaron
en momentos cruciales durante mi vida
universitaria, también a los profesores quienes
compartieron sus conocimientos y sabiduría,
por último, agradezco a todos los que
estuvieron presentes cuando más los necesite.
Marlon Michael Yagual Mite
iv
TRIBUNAL PROYECTO DE TITULACION
Ing. José Gonzáles Ruiz, M.Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMÁTICAS Y FÍSICAS
Ing. Lorenzo Cevallos Torres, Mgs.
DIRECTOR DE LA CARRERA DE
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Ing. Alfonso Guijarro Rodríguez, M.Sc.
PROFESOR TUTOR DEL PROYECTO
DE TITULACIÓN
Ing. Oscar León Granizo, M.Sc.
PROFESOR REVISOR DEL
PROYECTO
DE TITULACIÓN
Ab. Juan Chávez Atocha, Esp.
SECRETARIO
v
DECLARACIÓN EXPRESA
“La responsabilidad de contenido de este proyecto de
titulación, nos corresponde exclusivamente; y el patrimonio
intelectual de la misma a la UNIVERSIDAD DE
GUAYAQUIL”
________________________________
Karen Paola Alejandro Rodríguez
________________________________
Marlon Michael Yagual Mite
vi
SECCIÓN DE DERECHOS DE AUTOR
Ingeniero
Ing. Douglas Iturburu S, M.Sc
DECANO DE LA FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
Presente.
A través de este medio indico a usted que procedo a realizar la entrega de la sección de
derecho de autor en forma libre y voluntaria del trabajo de titulación “Modelo de un sistema de
videovigilancia orientado a la seguridad de embarcaciones de pesca artesanal aplicando
Algoritmos en Machine Learning en el balneario de Ballenita, Prov. de Santa Elena.”,
realizado como requisito previo para la obtención del título de Ingeniero en Sistemas
Computacionales, a la Universidad de Guayaquil.
Guayaquil, septiembre de 2021.
______________________________________
Karen Paola Alejandro Rodríguez
C.I N° 2400257909
______________________________________
Marlon Michael Yagual Mite
C.I N° 2400064347
vii
UNIVERIDAD DE GUAYAQUIL
FACULTA DE CIENCIAS MATEMÁTICA Y FÍSICA
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
MODELO DE UN SISTEMA DE VIDEOVIGILANCIA ORIENTADO A
LA SEGURIDAD DE EMBARCACIONES DE PESCA ARTESANAL
APLICANDO ALGORITMOS EN MACHINE LEARNING
EN EL BALNEARIO DE BALLENITA,
PROV. DE SANTA ELENA.
Proyecto de titulación que se presenta como requisito para optar por el título de
INGENIERO EN SISTEMAS COMPUTACIONALES
Autores: Karen Paola Alejandro Rodríguez
C.I N° 2400257909
Marlon Michael Yagual Mite
C.I N° 2400064347
Tutor: Ing. Alfonso Aníbal Guijarro Rodríguez, MSc.
Guayaquil, septiembre de 2021.
viii
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de tutor del proyecto de titulación, nombrado por el consejo directivo de la Facultad
de Ciencias Matemáticas y Física de la Universidad de Guayaquil.
CERTIFICO:
Que ha realizado el proyecto de titulación presentado por los estudiantes KAREN PAOLA
ALEJANDRO RODRÍGUEZ Y MARLON MICHAEL YAGUAL MITE, como requisito
previo a optar el título de Ingeniero en Sistemas Computacionales cuyo proyecto es:
MODELO DE UN SISTEMA DE VIDEOVIGILANCIA ORIENTADO A LA SEGURIDAD DE
EMBARCACIONES DE PESCA ARTESANAL APLICANDO ALGORITMOS EN MACHINE
LEARNING EN EL BALNEARIO DE BALLENITA, PROV. DE SANTA ELENA.
Considero aprobado el trabajo en su totalidad.
Presentado por:
Karen Paola Alejandro Rodríguez C.I. N° 2400257909
Marlon Michael Yagual Mite C.I N° 2400064347
Tutor: ____________________________
Ing. Alfonso Guijarro Rodríguez, MSc.
Guayaquil, septiembre de 2021
ix
UNIVERIDAD DE GUAYAQUIL
FACULTA DE CIENCIAS MATEMÁTICA Y FÍSICA
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
AUTORIZACIÓN PARA LA PUBLICACIÓN DE PROYECTO DE TITULACIÓN EN FORMATO
DIGITAL
1. identificación de proyecto de titulación
Nombre del Estudiante: Karen Paola Alejandro Rodríguez
Dirección: Santa Elena Barrio Simón Bolívar
Teléfono: 0963254202 Email: [email protected]
Nombre del Estudiante: Marlon Michael Yagual Mite
Dirección: Ballenita-Santa Elena calle 4ta Av. 3era
Teléfono: 0978844631 Email: [email protected]
Facultad: Ciencia Matemáticas y Físicas
Carrera: Ingeniería en Sistemas Computacionales
Proyecto de Titulación al que opta:
Profesor Tutor: Ing. Alfonso Aníbal Guijarro Rodríguez MSc.
Título del Proyecto de Titulación: Modelo de un sistema de videovigilancia orientado a la
seguridad de embarcaciones de pesca artesanal aplicando algoritmos en Machine Learning en el
balneario de ballenita, prov. de santa elena.
Palabras Clave: detección de barcos, CNN, aprendizaje automático, YOLOv4, Google Colab,
videovigilancia.
2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación
A través de este medio autorizo a la universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas
a publicar la versión electrónica de este proyecto de Titulación.
Publicación Electrónica:
Inmediata X Después de 1 año
Firmas estudiantes:
Karen Paola Alejandro Rodríguez
C.I. N° 2400257909
Marlon Michael Yagual Mite
C.I N° 2400064347
3. Forma de envió:
El texto del proyecto de Titulación debe ser enviado en formato Word, como archivo .docx, .RTF o. Pdf para
PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF
DVDROM X CDROM
x
ÍNDICE GENERAL
APROBACIÓN DEL TUTOR ...................................................................................................... i
DEDICATORIA ............................................................................................................................ ii
AGRADECIMIENTO ................................................................................................................. iii
TRIBUNAL PROYECTO DE TITULACION ......................................................................... iv
DECLARACIÓN EXPRESA ....................................................................................................... v
SECCIÓN DE DERECHOS DE AUTOR ................................................................................. vi
CERTIFICADO DE ACEPTACIÓN DEL TUTOR .............................................................. viii
AUTORIZACIÓN PARA LA PUBLICACIÓN DE PROYECTO DE TITULACIÓN EN
FORMATO DIGITAL ................................................................................................................ ix
ÍNDICE GENERAL ..................................................................................................................... x
ÍNDICE DE TABLAS................................................................................................................. xv
ÍNDICE DE FIGURAS............................................................................................................. xvii
ABREVIATURAS....................................................................................................................... xx
SIMBOLOGÍA ......................................................................................................................... xxiii
RESUMEN................................................................................................................................ xxiv
ABSTRAC ................................................................................................................................. xxv
INTRODUCCÍON ........................................................................................................................ 1
CAPÍTULO I - PLANTEAMIENTO DEL PROBLEMA ........................................................ 2
Descripción de la situación problemática ................................................................................... 2
Ubicación del problema en un contexto .......................................................................... 2
Situación conflicto nudos críticos ................................................................................... 5
xi
Delimitación del problema .............................................................................................. 6
Evaluación del problema ................................................................................................. 6
Causas y consecuencias del problema ......................................................................................... 7
Formulación del problema ........................................................................................................... 8
Objetivos del proyecto .................................................................................................................. 8
Objetivo general .............................................................................................................. 8
Objetivos específicos ...................................................................................................... 8
Alcance del proyecto ..................................................................................................................... 9
Justificación e importancia ........................................................................................................ 10
Limitaciones del estudio ............................................................................................................. 10
CAPITULO II - MARCO TEORICO ............................................................................. 12
Antecedentes del estudio............................................................................................................. 12
Fundamentación teórica ............................................................................................................. 14
Sistemas de videovigilancia (SVV) .............................................................................. 14
Ventaja y desventaja de un SVV .............................................................................. 15
Elementos de un Sistema de videovigilancia ................................................................ 15
Cámaras .................................................................................................................... 15
Reproductor de imagen ............................................................................................. 25
NVR (Network Video Recorder) .............................................................................. 25
Switch o conmutador ................................................................................................ 25
Videovigilancia automática .......................................................................................... 25
Vigilancia en entornos acuáticos .................................................................................. 26
Inteligencia artificial (IA) ............................................................................................. 26
xii
Visión artificial ............................................................................................................. 26
Procesamiento de imágenes digitales ............................................................................ 27
Formato de imágenes ................................................................................................ 27
Algoritmo de Procesamiento de imágenes digitales ................................................. 27
Machine Learning ......................................................................................................... 29
Aprendizaje supervisado ........................................................................................... 29
Aprendizaje no supervisado ...................................................................................... 30
Redes neuronales artificiales ......................................................................................... 30
Redes neuronales convolucionales (CNN) ................................................................... 30
Convoluciones .......................................................................................................... 31
Capa de pooling ........................................................................................................ 32
Tipos de capas de una red convolucional ................................................................. 32
Conjunto de Datos de Imágenes Naturales de Escena .................................................. 33
Pascal VOC: .............................................................................................................. 33
ILSVRC: ................................................................................................................... 33
MS COCO: ............................................................................................................... 33
Reconocimiento de objetos ........................................................................................... 33
Modelo YOLO (You Only Look Once).................................................................... 33
Yolov4: ..................................................................................................................... 34
Matriz de confusión ...................................................................................................... 34
Fundamentación legal ................................................................................................................. 36
Revisiones sistemáticas ............................................................................................................... 36
Meta-análisis ................................................................................................................. 36
xiii
Marco Muestral ............................................................................................................. 36
Descripción de las variables utilizadas ......................................................................... 37
Instrumentos utilizados para la recolección de datos .................................................... 39
Pregunta científica a contestarse ............................................................................................... 41
Variables de la investigación ...................................................................................................... 41
Definiciones conceptuales ........................................................................................................... 41
CAPÍTULO III - METODOLOGÍA DE LA INVESTIGACION .......................................... 45
Modalidad de la investigación ...................................................................................... 45
TIPO DE INVESTIGACIÓN .................................................................................................... 45
DISEÑO METODOLÓGICO DE LA INVESTIGACIÓN .................................................... 45
Metodología de investigación ....................................................................................... 46
Población y muestra .................................................................................................. 47
METODOLOGÍA DE DESARROLLO DEL PROTOTIPO ................................................. 47
BENEFICIARIOS DIRECTOS E INDIRECTOS DEL PROYECTO .................................. 48
ENTREGABLES DEL PROYECTO ........................................................................................ 48
ANÁLISIS DE FACTIBILIDAD .............................................................................................. 48
Factibilidad operacional ................................................................................................ 49
Factibilidad Técnica ...................................................................................................... 49
Factibilidad Legal ......................................................................................................... 51
PROPUESTA .............................................................................................................................. 51
Modelo de sistema de videovigilancia ....................................................................... 51
Análisis del sistema de videovigilancia ................................................................... 51
Requerimientos del sistema CCTV .......................................................................... 51
xiv
Modelo de detección de objetos ................................................................................. 59
Captura ..................................................................................................................... 60
Pre-Procesamiento ................................................................................................... 64
Etiquetado ................................................................................................................ 65
Extracción de Características .................................................................................. 68
Clasificador .............................................................................................................. 69
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ........................................................ 75
Análisis de indicadores ................................................................................................. 75
Validación de Expertos ................................................................................................. 76
RESULTADOS ........................................................................................................................... 77
Validación del modelo en fotos ................................................................................ 81
Validación del modelo en tiempo real ..................................................................... 90
CAPITULO IV - CONCLUSIONES Y RECOMENDACIONES .......................................... 96
Conclusiones ................................................................................................................................ 96
Recomendaciones ........................................................................................................................ 97
Trabajos futuros.......................................................................................................................... 97
REFERENCIAS BIBLIOGRAFICAS ...................................................................................... 98
BIBLIOGRAFIA......................................................................................................................... 98
ANEXOS .................................................................................................................................... 105
xv
ÍNDICE DE TABLAS
Tabla 1 Denuncias de robos de motores en espacios acuáticos en el Ecuador .................. 2
Tabla 2 Denuncias de delitos en espacios acuáticos en la Prov. de Santa Elena por año. 3
Tabla 3 Delimitación del problema. .................................................................................. 6
Tabla 4 Causas y consecuencias del problema. ................................................................. 8
Tabla 5 Nivel de protección ante el polvo ....................................................................... 20
Tabla 6 Tipos de cámaras por su resolución .................................................................... 22
Tabla 7 Tipos de lentes de una cámara de seguridad ....................................................... 24
Tabla 8 Matriz de Confusión ........................................................................................... 34
Tabla 9 Variables analizadas............................................................................................ 37
Tabla 10 Palabras claves - variables del meta-análisis ................................................... 38
Tabla 11 Fuentes bibliográficas utilizadas en la investigación. ...................................... 39
Tabla 12 Variable de palabras claves ............................................................................... 40
Tabla 13 Requerimiento de Ordenadores ......................................................................... 50
Tabla 14 Características de cámaras ................................................................................ 50
Tabla 15 Software y librerías utilizadas ........................................................................... 50
Tabla 16 Características del tipo de Cable a utilizarse .................................................... 53
Tabla 17 Comparación de cámara HIKVISION .............................................................. 54
Tabla 18 Entrenamientos realizados. ............................................................................... 78
Tabla 19 Resultados obtenidos en el Modelo_v1. ........................................................... 78
Tabla 20 Resultados obtenidos en el Modelo_v2 ............................................................ 79
Tabla 21 Resultados obtenidos en el Modelo_v3 ............................................................ 80
Tabla 22 Comparación de modelos generados validados con un video en una pantalla . 91
xvi
Tabla 23 Comparación de modelos generados validados con en una maqueta ............... 93
Tabla 24 Comparación de modelos generados validados con en una maqueta ............... 94
Tabla 25 Resumen de resultado de las pruebas…………………………………………96
xvii
ÍNDICE DE FIGURAS
Figura 1 Tipos de cámaras analógicas .............................................................................. 16
Figura 2 Imagen termográfica de una embarcación marítima .......................................... 18
Figura 3 Especificaciones técnicas de una cámara de seguridad ...................................... 19
Figura 4 Resolución .......................................................................................................... 21
Figura 5 Espacio HSI ........................................................................................................ 29
Figura 6 Red Neuronal artificial ....................................................................................... 30
Figura 7 Ejemplo de convolución 2D sin dar la Vuelta al kernel ..................................... 31
Figura 8 Variable 1. Estadistica de las palabras claves .................................................... 40
Figura 9 Esquema de ubicación de la cámara ................................................................... 56
Figura 10 Esquema del diseño del modelo de video vigilancia ........................................ 58
Figura 11 Diagrama de Bloques de la metodología .......................................................... 59
Figura 12 Etapas de la metodología del proyecto ........................................................... 600
Figura 13 Página web de MarDCT ................................................................................. 611
Figura 14 Obtención de imágenes en página web ............................................................ 62
Figura 15 Imágenes almacenadas en el ordenador luego de su descarga ......................... 62
Figura 16 Escenario de Ballenita ...................................................................................... 63
Figura 17 Imágenes tomadas ............................................................................................ 63
Figura 18 Recorte y redimensión de fotografías ............................................................... 64
Figura 19 Comparación de la foto original con la foto redimensionada ........................... 65
Figura 20 Esquema del etiquetado de imágenes. .............................................................. 66
Figura 21 Etiquetado manual de las embarcaciones ......................................................... 67
Figura 22 Visualización de un archivo TXT generado ..................................................... 67
xviii
Figura 23 Esquema de división del Dataset ...................................................................... 68
Figura 24 Repositorio GitHub de AlexyAB/darknet ........................................................ 70
Figura 25 Repositorio GitHub de roboflow-ai/darknet que aloja archivos cfg ................ 73
Figura 26 Ejecución del comando de entrenamiento ........................................................ 74
Figura 27 Detección de objetos con el peso de YOLOv4. ................................................ 81
Figura 28 Detección de objetos con el peso del Modelo_v1. ........................................... 82
Figura 29 Detección de objetos con el peso del Modelo_v2 ............................................ 82
Figura 30 Detección de objetos con el peso del Modelo_v3. ........................................... 83
Figura 31 Detección de objetos con el peso de YOLOv4. ................................................ 84
Figura 32 Detección de objetos con el peso del Modelo_v1. .......................................... 84
Figura 33 Detección de objetos con el peso del Modelo_v2 ............................................ 85
Figura 34 Detección de objetos con el peso del Modelo_v3. ........................................... 86
Figura 35 Detección de objetos con el peso de YOLOv4. ................................................ 87
Figura 36 Detección de objetos con el peso del Modelo_v3 ............................................ 88
Figura 37 Detección de objetos con el peso de YOLOv4. ................................................ 88
Figura 38 Detección de objetos con el peso del Modelo_v2 ............................................ 89
Figura 39 Detección de objetos con el peso del Modelo_v3. ........................................... 90
Figura 40 Plano del lugar a estudiar ............................................................................... 118
Figura 41 Escenario panorámico del puerto pesquero de Santa Rosa. ........................... 118
Figura 42 Escenario del Puerto pesquero de Anconcito ............................................... 1199
Figura 43 Escenario del puerto pesquero de la Libertad................................................. 119
Figura 44 Vista de botes anclados en la parte del Malecón de la Libertad ..................... 120
xix
Figura 45 Embarcaciones pesqueras fuera de borda ubicados a un costado del malecón de
Ballenita ...................................................................................................................................... 120
Figura 46 Embarcaciones ancladas mar adentro en el Balneario de Ballenita ............... 121
Figura 47 Visita a los diferentes balnearios de la localidad de Santa Elena por parte de los
autores del proyecto. ................................................................................................................... 121
Figura 48 Visita a los diferentes balnearios de la localidad de Santa Elena por parte de los
autores del proyecto. ................................................................................................................... 122
xx
ABREVIATURAS
AVE Agrupamiento Promedio
AP Promedio de Precisión
AIS Automatic Identification System
CCTV Circuito Cerrado de Televisión
CFAR Constant False Alarm Rate
CNN Redes Neuronales Convolucionales
CPU Central Processing Unit
DVR Grabador de Video Digital
FN Falsos Negativos
FP Falsos Positivos
GIF Graphics Interchange Format
GPS Sistema de Posicionamiento Global
GPU Graphics Processing Unit
IA Inteligencia Artificial
IEEE Intitute of Electrical and Electronics Engineers
IP Internet Protocol
xxi
JPEG Joint Photographic Experts Group
LTV Línea de Televisión
MAP The Mean Average Precision
MARDCT Maritime detection classification and tracking dataset
MAX Agrupamiento Máximo
NVR Network Video Recorder
OSI Open Systems Interconnection
PCX Picture ExChange
PDI Procesamiento Digital de Imagen
PNG Portable Network Graphics
POE Power Over Ethernet
PROV Provincia
RAE Real Academia Española
RGB Red Green Blue
SAR Synthetic Aperture Radar
STO Agrupamiento estocástico
SVV Sistema de Videovigilancia
TN Verdaderos Negativos
xxii
TP Verdaderos Positivos
VPN Virtual Private Network
WDR Wide Dynamic Range
xxiii
SIMBOLOGÍA
/ División
< Menor que
€ Pertenece
∑ Sumatoria
% Porcentaje
xxiv
UNIVERIDAD DE GUAYAQUIL
FACULTA DE CIENCIAS MATEMÁTICA Y FÍSICA
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
MODELO DE UN SISTEMA DE VIDEOVIGILANCIA ORIENTADO
A LA SEGURIDAD DE EMBARCACIONES DE PESCA ARTESANAL
APLICANDO ALGORITMOS EN MACHINE LEARNING
EN EL BALNEARIO DE BALLENITA,
PROV. DE SANTA ELENA.
Autores: Karen Paola Alejandro Rodríguez
C.I N° 2400257909
Marlon Michael Yagual Mite
C.I N° 2400064347
Tutor: Ing. Alfonso Aníbal Guijarro Rodríguez, Mgs.
RESUMEN
Las playas de la Provincia de Santa Elena son zonas vulnerables que carecen de vigilancia,
por esta razón la propuesta persigue la finalidad de disminuir los robos de sus embarcaciones, ya
que es necesario contar con un sistema que vigile los barcos de pesca artesanal, por tal razón
proponemos un modelo de videovigilancia que cuente con visión por computadora. El modelo de
detección de objetos en su primera versión se logra tener como alcance el reconocimiento de botes,
motores y personas, se utiliza una red de YOLOv4 la que se entrenó con imágenes de barcos dentro
de su entorno. El modelo resultante logra detectar barcos con un promedio de precisión de 90.32%,
la detección en motores de lancha es de 82.44% y personas con un promedio de precisión de
79.47%. También se realizó pruebas en botes que se logran divisar a lo lejos teniendo como
resultados detecciones que van desde 65%.
Palabras Claves: detección de barcos, CNN, aprendizaje automático, YOLOv4, Google Colab,
videovigilancia.
xxv
UNIVERIDAD DE GUAYAQUIL
FACULTA DE CIENCIAS MATEMÁTICA Y FÍSICA
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
MODEL OF A SURVEILLANCE VIDEO SYSTEM ORIENTED TO
SAFETY OF ARTISANAL FISHING VESSELS APPLYING
ALGORITHMS IN MACHINE LEARNING AT
BALLENITA FROM SANTA ELENA
PROVINCE.
Authors: Karen Paola Alejandro Rodríguez
C.I N° 2400257909
Marlon Michael Yagual Mite
C.I N° 2400064347
Tutor: Ing. Alfonso Aníbal Guijarro Rodríguez, Mgs.
ABSTRAC
Santa Elena province beaches are vulnerable areas that do not have any type of
surveillance, for this reason our propose consist in reduce boat theft, this is why a surveillance
system is needed for artisanal fishing boats, for that reason we propose a video surveillance system
through computer vision, this study is just a preliminary investigation to a future system
implementation. The detection model in its first version could manage to reach boat recognition,
motors and people, the model uses a YOLOV4 net, which was trained by boat images around it.
The resulting model manages to detect boats with an average precision of 90.32%, the average
detection about boat motors is 82.44% and the average detection of people is 79.47%. It was also
carried out tests about boats that can be seen in the distance with an average detection that goes
from 65%.
Keywords: ship detection, CNN, Machine Learning, YOLOv4, Google Colab, video
surveillance
1
INTRODUCCÍON
Un sistema de videovigilancia es un tipo de tecnología que usa cámaras de manera remota
para mantener vigilado diferentes entornos, esta tecnología se la puede utilizar para vigilar
oficinas, parqueaderos o calles transitadas y así poder observar sucesos tales como accidentes,
robos, entre otros delitos, al usar esta tecnología e implementar algoritmos de Machine Learning
en entornos acuáticos podremos dar más eficiencia al sistema de vigilancia ya que así podrá
reconocer o detectar embarcaciones de pesca artesanal.
Un posible sistema de videovigilancia en el balneario de ballenita, podría reducir el hurto
en dicho sector, se estudió el sitio para establecer el lugar optimo donde se pueda visualizar todo
el panorama donde se encuentran anclados los botes, para el reconocimiento de embarcaciones se
indago sobre los materiales y equipos tecnológicos necesarios para implementar el sistema y se
hiso pruebas en una maqueta que representa el estacionamiento de botes en la playa de Ballenita
Prov. Santa Elena.
La solución tecnológica consta de la elección de un algoritmo de Machine Learning que
pueda reconocer las embarcaciones de forma eficiente a pesar del ruido que existe en el mar, se
creara un data set de botes existentes en la playa de Ballenita, también se recomendara
características que deben tener cada una de las partes del sistema de videovigilancia basados en
nuestro modelo. Esta investigación surgió a partir del interés en abordar el tema de como poder
ayudar a los pescadores artesanales de nuestra localidad ya que para ellos es perjudicial cuando
son atracados y despojados de sus pertenencias, esto sería el principio para futuras investigaciones,
esperamos que se interesen en mejorar e implementar el modelo en los demás puertos de la
Provincia de Santa Elena.
2
CAPÍTULO I - PLANTEAMIENTO DEL
PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
Descripción de la situación problemática
Ubicación del problema en un contexto
En la actualidad los espacios acuáticos son la ruta donde se generan varias actividades
ilegales esto debido al escaso monitoreo que se les da, esto genera que el mar sea una zona donde
se cometan actos ilícitos tales como robos, extorciones, homicidio, tráfico de armas, droga y
personas, esto genera inseguridad en países que tengan actividades comerciales en estos espacios,
las amenazas poco común se sabe de dónde viene, cuando va a llegar y por dónde, el mar es una
vía abierta donde no se conocen fronteras ni rutas de navegación, el mal uso son una potencial
amenaza para un Estado costero (Meier, 2020).
Es evidente entonces que el robo en espacios acuáticos es un problema que afecta a
comerciantes como a pescadores, siendo estos los más afectados los cuales dejan de laborar por la
falta de sus implementos de pesca, la cifra de motores robados en Ecuador es preocupante, esto se
evidencia en la siguiente tabla de denuncias de robo de motores.
Tabla 1
Denuncias de robos de motores en espacios acuáticos en el Ecuador
Año N° denuncias Observaciones
2015 281
2016 429
2017 325
2018 339
2019 19 Denuncias hechas hasta el mes de febrero del 2019
Nota: En esta tabla se evidencian el número de denuncias por la dirección nacional espacios Acuáticos. Elaborado por
Karen Alejandro y Marlon Yagual.
3
La presente investigación surge por la inseguridad que hay en los espacios acuáticos de la
provincia de Santa Elena el cual facilita que se den robos en embarcaciones de pesca artesanal lo
que conlleva a un problema que afecta a la población de la provincia de Santa Elena balneario
Ballenita ya sea directa o indirectamente, es decir si un artesano pierde su instrumento de pesca se
ve afectada su familia y por efecto multiplicador todos los clientes que habitan en dicho balneario.
Además, cuando un bote es asaltado deja de operar, lo que significa una reducción a la actividad
económica del sector siendo los perjudicados no solo los propietarios sino también el sector
pesquero en general.
Se observa claramente que en los últimos años se ha incrementado exponencialmente los
delitos en espacios acuáticos, esto debido a la falta de seguridad en estas zonas, según datos
extraído de otras investigaciones se puede evidenciar el incremento de estos delitos que van desde
robos a motores hasta homicidios, a continuación, se muestra una tabla con el número de denuncias
de delitos en espacios acuáticos proporcionados por la fiscalía de la provincia de Santa Elena.
Tabla 2
Denuncias de delitos en espacios acuáticos en la Prov. de Santa Elena por año.
Año N°
denuncias Observaciones
2018 98
2019 108
2020 67 Denuncias hechas hasta el mes de agosto del 2020 Nota: En esta tabla se muestran los datos extraídos de la Fiscalía de espacios Acuáticos – Salinas de las denuncias
realizadas por año. Elaborado por Karen Alejandro y Marlon Yagual.
De igual forma de lo que va del presente año se han reportado múltiples robos en
embarcaciones lo cual se evidencia por parte de la prensa ecuatoriana, los pescadores de la
provincia de Santa Elena fueron víctimas de los delincuentes en el mar. Los piratas llevaron el
4
asalto contra siete lanchas (Lino, 2021). Esto preocupa mucho al sector pesquero en especial a los
pescadores artesanales.
Es por esto que proponemos un modelo de sistema de vigilancia en la playa de Ballenita –
Prov. de Santa Elena. El cual pueda detectar las embarcaciones que se avistan en el área que se
desea vigilar, para lograr nuestro objetivo utilizaremos cámaras las cuales serán dotadas de visión
por computadora y así puedan detectar su objetivo sin necesidad de usar radares o trasponedores,
(Simonsen et al., 2020). Plantea que al usar cámaras se puede detectar embarcaciones en un puerto
sin el uso de radares.
Después de las consideraciones anteriores se cree que al tener un mecanismo que dote de
seguridad a esta zona vulnerable se reduzca el índice de robos a pescadores artesanales, según
Avilés et al. (2017):
Al momento de implementar este sistema se espera que los atracos disminuyan y así mejore
la economía de la población. En un muestreo realizado para poder analizar la situación en el puerto
pesquero de Anconcito se pueden evidenciar que los atracos generan grandes pérdidas económicas
en el sector pesquero de la zona. Para mejorar la economía los pescadores realizan posibles
inversiones de dinero muy altas para adquirir nuevos implementos de trabajo o en el
mantenimiento de sus motores y embarcaciones de pesca artesanal, esto conllevaría a la activación
de la economía de Anconcito.
Por último, con nuestra propuesta generaremos un modelo de videovigilancia para los botes
anclados en la playa de Ballenita Prov. Santa Elena, también haremos un dataset de los botes del
sector, tanto el modelo como la base de datos generada se podrán utilizar para la implementación
en la zona estudiada como en el resto de los puertos en la Provincia de Santa Elena.
5
Situación conflicto nudos críticos
El problema de los robos en embarcaciones ancladas en la playa de Ballenita se puede
prevenir si se implementa un sistema de vigilancia para esto crearemos un modelo el cual serviría
para una futura implementación. Para el estudio del modelo de monitoreo de botes se usarán
cámaras las cuales reconocerán los botes gracias a que utilizaremos visión por computadora.
Debido a esto surge la necesidad de tener un dataset de los objetos que queremos reconocer, en
este caso son embarcaciones de pesca artesanal, para esto tomaremos fotos de los botes anclados
en la playa de Ballenita tanto en tierra como en agua para así poder reconocerlos a esto incluiremos
datos de dataset de botes encontrados repositorios.
También seleccionamos un algoritmo de Machine Learning que sea óptimo para la
detección de las embarcaciones, para comprobar la eficacia del algoritmo elegido se hicieron varias
pruebas tales como reconocimientos en fotos, en videos y en una maqueta del estacionamiento de
botes de Ballenita. En el entorno que se desea vigilar existe una cantidad de ruido el cual puede
generar dificultades al momento de detectar un objeto. (Ludwig, 2018) plantea que, al tratar de
vigilar espacios acuáticos, el ruido del mar no es deseado, porque nuestro objetivo es reconocer
embarcaciones y no el comportamiento del mar.
Como referencia a lo anterior es necesario pasar las fotos para las pruebas por varios filtros
tales como añadir ruido, distorsionar o utilizar varias resoluciones con el objetivo de que el sistema
detecte los botes a pesar del movimiento del mar. Los equipos que conformarían el sistema de
videovigilancia podrían sufrir algún daño puesto que en la zona abunda la humedad y la salinidad,
para cubrir posibles daños y después de un debido estudio proponemos el tipo de protección que
deben tener los equipos.
6
Delimitación del problema
Tabla 3
Delimitación del problema.
Delimitador Descripción
Campo Machine Learning, visión por computadora
Área Sector pesquero artesanal
Aspecto Modelo de sistema de videovigilancia
Tema Modelo de un sistema de videovigilancia orientado a la seguridad de
embarcaciones de pesca artesanal aplicando Algoritmos en Machine
Learning en el balneario de Ballenita, Prov. de Santa Elena.
Nota: En esta tabla se evidencia los términos aplicados para la delimitación del problema. Elaborado por Karen
Alejandro y Marlon Yagual.
Evaluación del problema
CLARO: Monitorear por medio de cámaras las embarcaciones de pesca artesanal ancladas
en el balneario de Ballenita Prov. Santa Elena para lo cual vamos a dotar de inteligencia artificial
este sistema para que cumpla con el reconocimiento de botes.
DELIMITADO: Durante el periodo que estipula el cronograma de titulación vamos a
desarrollar un proyecto orientado a la vigilancia de embarcaciones aplicando algoritmos Machine
Learning para beneficio de los artesanos del sector pesquero de la Prov. de Santa Elena
específicamente en Ballenita.
ORIGINAL: Luego de una revisión bibliográfica sobre los repositorios de una Institución
de Educación Superior residente de la Prov. De Santa Elena se observa que los enfoques que le
dan a los sistemas de videovigilancia son de otra naturaleza para seguridad de viviendas, vehículos,
sin embargo, se omite la seguridad de los espacios acuáticos dejándolo vulnerable ante piratas o
personas que gozan de hurtar lo ajeno. Lo que queremos presentar en esta propuesta es un enfoque
7
de carácter novedoso porque utilizaremos inteligencia artificial y luego combinaremos los sistemas
de vigilancia tradicionales con Inteligencia artificial a través de programas que sirvan de enlaces
para crear nuevos enfoques de monitoreos, se cree que este proyecto no ha sido investigado
totalmente en el país dado que en otros países del mundo hemos encontrado que existen proyectos
de detección de embarcaciones por cámaras y sensores.
RELEVANTE: Desarrollar un modelo de videovigilancia en el sector el cual inicialmente
pueda detectar las embarcaciones ancladas en la playa, de tal manera que esta investigación servirá
como base de futuros proyectos que doten de seguridad a este sector.
CONTEXTUAL: El estudio proporcionara un dataset de botes de la
localidad(ballenita). El cual podrá ser utilizado para replicar el proyecto en otras zonas o para otros
estudios que tengan que ver con embarcaciones pesqueras.
FACTIBLE: El estudio del proyecto de investigación ayudara a una posible
implementación reduciendo tiempos y costos iniciales del proyecto, la puesta en marcha del
sistema dotara de seguridad al sector y evitara alertara de posibles robos en las embarcaciones.
Causas y consecuencias del problema
A continuación, en la Tabla 4 correspondiente a las causas y consecuencias del problema,
se describen los aspectos involucrados en el problema y los posibles efectos que se presentarían.
8
Tabla 4
Causas y consecuencias del problema.
CAUSAS CONSECUENCIAS
C1: Inseguridad en playas E1: Robo de embarcaciones de pesca artesanal
C2: Robo de embarcaciones E2: Perjudica económicamente a los pescadores
artesanales
C3: Resolución de las cámaras E3: Afecta directamente al reconocimiento de objetos
C4: Exceso de humedad en el
entorno E4: Lentes borrosos
C5: Poca protección en cámaras E5: Equipos se deterioran con facilidad
Nota: Elaborado por Karen Alejandro y Marlon Yagual
Formulación del problema
¿Cómo ayudara un modelo de sistema de videovigilancia orientado a la seguridad de
embarcaciones de pesca artesanal aplicando Algoritmos en Machine Learning, al sector pesquero?
Objetivos del proyecto
Objetivo general
Crear un modelo de videovigilancia automático orientado a la seguridad de las
embarcaciones de pesca artesanal aplicando Algoritmos en Machine Learning que sirva como
estudio preliminar para generar una posible solución a la reducción del índice de hurtos de motores
y embarcaciones en el balneario de Ballenita, Prov. de Santa Elena.
Objetivos específicos
1. Analizar los referentes teóricos del uso de la visión artificial para el monitoreo de
parqueos acuáticos.
9
2. Establecer un dataset de los botes de pesca artesanal para el modelamiento del
sistema.
3. Realizar un estudio en sitio para la implementación de un sistema de
videovigilancia de embarcaciones pesqueras en Ballenita.
4. Validar por criterios de expertos el modelo de entrenamiento para el
reconocimiento de embarcaciones.
5. Representar mediante una maqueta el sistema de videovigilancia para el monitoreo
de embarcaciones de pesca artesanal.
Alcance del proyecto
Para realizar el estudio del uso de visión artificial para el monitoreo de parqueos acuáticos
es necesario consultar proyectos similares que estén orientados a vigilancia de embarcaciones en
espacios acuáticos.
Para establecer un dataset de los botes de pesca artesanal tomaremos muestras de los botes
parqueados en la playa de ballenita con la autorización de sus propietarios, dándole a conocer el
proyecto que se quiere realizar.
Realizar un estudio en sitio para la implementación de un sistema de videovigilancia de
botes es necesario analizar la zona que se desea vigilar, indagar cuales serían los materiales y
equipos tecnológicos precisos para el modelo, hallar el lugar optimo donde se podría alojar los
dispositivos necesarios para la videovigilancia.
10
Para validar el modelo de reconocimiento de botes utilizaremos el 80% de las muestras
para entrenar el sistema y el 20% restante como pruebas que ayudaran a reconocer este tipo de
embarcaciones acuáticas.
Para mostrar mediante una maqueta el sistema de videovigilancia se representará el área
de influencia y sus respectivas embarcaciones pesqueras en Ballenita.
Justificación e importancia
La presente investigación se enfocará en estudiar el uso de un sistema de videovigilancia
automático orientado a la seguridad para parqueadero de botes, debido a que últimamente se han
incrementado los robos en las embarcaciones ancladas en la playa de Ballenita gracias a esto
podremos colaborar con un mecanismo de seguridad que beneficiara a los pescadores artesanales
ya que contarían con vigilancia para sus embarcaciones 24x7.
Limitaciones del estudio
Existe una carencia de información sobre proyectos de videovigilancia en sectores
acuáticos en el país esto evidencia el descuido del sector pesquero en el Ecuador.
Falta de apoyo económico para adquirir los equipos necesarios que integran el sistema de
videovigilancia de botes lo cual conlleva a utilizar equipos provisionales para el estudio,
recomendando los equipos óptimos en caso de implementación, al contar con equipos de pocos
recursos en memoria y procesamiento nos orilla a desarrollar un modelo de detección de objetos
dentro de un servicio Cloud, por esta razón que solo presentaremos el modelo entrenado con
nuestro dataset de botes y será ejecutado dentro del entorno virtual como un demo.
El factor tiempo nos impiden que se pueda llegar a implementar el sistema en la zona de
Ballenita, pero con el estudio realizado estamos seguros de que en el futuro se pueda conseguir el
11
apoyo de entidades pertinente para la protección del sector pesquero artesanal y así poder
implementar el sistema que puede ser útil no solo en Ballenita sino en diferentes playas de la zona
Costera.
12
CAPITULO II - MARCO TEORICO .
MARCO TEORICO
Antecedentes del estudio
El desarrollo de la videovigilancia en los últimos años es notable y en varios sectores se ha
implementado junto con visión por computador llegando a tener sistemas detectores o
clasificadores de objetos, su utilidad depende del entorno y el fin que se le dé, como en sistemas
de reconocimiento facial en aeropuertos, detección de peatones en semáforos hasta llegar a
sistemas de detección de objetos en entornos acuáticos; este último surge por la necesidad de tener
controlado y vigiladas las embarcaciones tanto en altamar como en los puertos es evidente, una
forma eficaz de saber la ubicación de las embarcaciones es a través de GPS o usando
transponedores con tecnología AIS pero al tratar de implementar estos sistemas generan grandes
costos para los dueños de pequeñas embarcaciones y también dichos equipos podrían ser apagados
si el bote es utilizado para actos ilícitos; por estos factores es recomendable la implementación de
videovigilancia en los puertos. Es así como en los últimos años han surgido varios estudios de
reconocimiento o clasificación de embarcaciones marítimas.
En el 2016 Dai H et al. Propusieron un algoritmo CFAR para la detección de barcos en
imágenes SAR, con el cual se concluyó que el método utilizado podría tener buen rendimiento en
detección en situaciones multiescalas. Mientras que en 2017 Fan,W. et al. Compararon el
rendimiento del detector CFAR con un algoritmo de detección de barcos que utiliza un clasificador
K – Wishart no gaussiano que incorpora parámetros de spam polarimétricos para realizar las
detecciones, llegando a la conclusión de que el algoritmo K – Wishart mejora la capacidad de
detección de objeto Los resultados de la comparación muestran que el algoritmo propuesto podría
13
mejorar la capacidad de detección de objetivos al tiempo que reduce la tasa de falsas alarmas y
detecciones erróneas.
Además, en 2017 Bloisi, D. et al, llegaron a la conclusión de usar un sistema de
videovigilancia marítima para remplazar el uso de radares queriendo reducir costos y tratando de
tener un sistema que no emita radiaciones electromagnéticas en lugares poblados, en este estudio
se tomó una gran cantidad de datos de imágenes y videos de múltiples sitios reales con diferentes
condiciones de luz.
Por otro lado en 2018 Bentes, C., Velotto, D. y Tings, B. Llegaron a la conclusión de que
al usar CNN para sistemas de clasificación sea eficiente pero que el uso de estas en clasificación
SAR esta poco explorado por esta razón se propusieron el uso de CNN para la clasificación de
objetos marítimos utilizando imágenes de alta resolución llegando a la concluyendo que el uso de
la CNN es un modelo eficiente en la clasificación de objetos marítimos y al utilizar diferentes
resoluciones de entradas en el modelo CNN puede extraer de mejor forma las características de un
objeto utilizando varias imágenes con diferentes ángulos. Dicho estudio propuso que en un futuro
se pueda trabajar con varias resoluciones para tratar de obtener mejores resultados.
En 2019 Nie, X., Yang, M. y Liu, R. propusieron un modelo usando YOLOv3 para la
detección de botes entrenando dicho modelo con imágenes en diferentes condiciones climáticas
dando como resultado un método que se lo usa para detección de objetos, así mismo se concluyeron
que las imágenes con neblina o poca luz afectan a la precisión de detección de barcos, por lo que
resaltan que en futuros trabajos recopilaran más imágenes incluso con neblina real para tratar de
solucionar este problema.
14
En 2020 Shao, Z. et al, Trabajaron con la detección de embarcaciones pequeñas para
sistemas de vigilancia en barcos autónomos y asi detectar pequeños barcos cerca de ellos, esa asi
como propusieron un método hibrido de aprendizaje profundo que combina una Red Generativa
Adversaria (GAN) modificada y un enfoque de detección basado en la CNN para asi detectar
barcos pequeños.
Por otro lado, en 2020 Simonsen, C. et al, trabajo en un sistema de monitoreo que usa
cámaras PTZ con sensor óptico y térmico para la detección de embarcaciones en diferentes
condiciones climáticas y de luz, para la detección de barcos trabajo con una red de YOLOv3 en
conjunto con datos de COCO volviendo a entrenar con aprendizaje por transferencia.
Fundamentación teórica
Para entender mejor lo que queremos hacer con nuestro proyecto, hemos mostrado
conceptos de diferentes autores para tener una definición clara de los diferentes temas que se
mencionan a continuación:
Sistemas de videovigilancia (SVV)
En un principio los sistemas videovigilancia (SVV), también conocido como Circuito
Cerrado de Televisión (CCTV) se han implementado para uso militar, vigilancia en ciertos sectores
hasta para el uso doméstico. La videovigilancia surgió para la seguridad de la sociedad, pero por
el altos costo de la implementación de un CCTV se lo utilizo en lugares estratégicos de Nueva
York para luego extenderse a demás ciudades incluso a otros países.
Un sistema de videovigilancia consta de un conjunto de equipos conectados, ya sea con
cables o de forma inalámbrica, dichos equipos generan imágenes que pueden se visualizadas por
15
un grupo determinado de personas, los equipos utilizados varían de acuerdo al entorno que se desea
vigilar.
Las personas que catalogan lo que captan las cámaras por lo general tienden a tener
jornadas tranquilas sin incidentes lo cual deriva a generarles aburrimiento también estos suelen
trabajar solos a menos que sea un sistema que vigile varios puntos de una ciudad, En un estudio
realizado por Mucchielli, (2021) dice que tanto el aburriendo y la soledad afectan al trabajo del
operador del SVV, es por esto que surge la necesidad de utilizar videovigilancia automática.
Ventaja y desventaja de un SVV
Un SVV ofrece tranquilidad a sus usuarios ya sea qué si ellos no están físicamente el
sistema mantendrá vigilado el espacio, previniendo daños o robos. Si se instala un SVV propio, el
pago será único, no se dará mensualidades por un servicio y solo se tendrá que dar mantenimiento.
En un CCTV es necesario tener un operador que vigile el video transmitido por las cámaras siendo
este el que notifique si hay algún intruso, al menos que el sistema tenga integrado sensores o cuente
con algún sistema de reconocimiento siendo este el caso se podrá dar aviso tanto a el usuario,
operador, policía o agentes de seguridad privada.
Elementos de un Sistema de videovigilancia
El hardware de un sistema de videovigilancia consta de varios componentes tales como
pantalla, equipo de almacenamiento o grabadores, fuente de alimentación ininterrumpida y
cámaras.
Cámaras
Uno de los principales componentes de un SVV son las cámaras, este dispositivo capturara
las imágenes del entorno que se desea vigila para convertirlas en señales de video, para un sistema
16
de videovigilancia se pueden utilizar cámaras analógicas, digitales, o ambas siendo este un SVV
hibrido, Para un SVV es necesario utilizar el tipo de cámara adecuado al entorno a vigilar
Cámaras analógicas
Son cámaras de uso tradicional en los CCTV que envían los datos captados por cables a un
grabador, pero entre mayor sea la distancia del cable la calidad del video se pierde siendo 100
metros la distancia máxima para la implementación, por el uso de cableado su instalación es
costosa, con este tipo de cámara se puede trabajar en entornos que carecen de luz, pero no ofrece
una buena calidad de zoom por lo que no son recomendadas para reconocimiento facial, son
vulnerables al sabotaje y pueden ser interceptadas, no son tan confiables ya que la imagen del
video no es cifrada.
Figura 1
Tipos de cámaras analógicas
Nota: Se muestra el tipo de cámaras analógicas que se puede usar en un sistema de videovigilancia tradicional.
Elaborado por: Karen Alejandro y Marlon Yagual.
17
Cámaras Ip
Son cámaras digitales que envían imágenes directamente a la red por conexión inalámbrica
a distancias ilimitadas manteniendo el 100% de la imagen pero al transmitir los datos por Wireless
son vulnerables a la inhibición es por esto que se las pude conectar por cable a un máximo de 100
metros, además pueden ser alimentadas mediante PoE, la calidad del video es superior a la de una
cámara analógica ya que ofrece un mejor campo de visión, tienen inteligencia de red y gestión
remota es por esto que pueden ser controladas desde smartphone o pc, muestra más detalles en el
video esto porque trasmisión de señal es digital siendo estas idóneas para el reconocimiento facial
o de matrículas. los datos son cifrados, difíciles de interceptar y son compatibles con VPN, gracias
a la conexión Wireless que ofrecen se pueden utilizar en entornos donde es poco práctico el uso
de cables como en entornos acuáticos, su precio es superior a una cámara analógica pero el costo
total puede ser menor ya que ocupa menos cableado.
Cámaras térmicas o termográficas
Tienen incorporadas un sensor térmico que capta radiaciones emitidas variando el nivel de
resistencia eléctrica de acuerdo al cambio en los niveles de radiación de calor, dando como
resultado un termo grama o imagen térmica que se podrán visualizar en una pantalla. Existen
modelos que muestran la imagen en una escala de colores monocromáticos donde presenta las
áreas con mayor temperatura en blanco y en negro las de menor radiación mientras las zonas de
temperaturas intermedia se muestran en escala de grises.
18
Figura 2
Imagen termográfica de una embarcación marítima
Nota: Se evidencia la imagen termográfica de una embarcación marítima. Elaborado por: cledirsa, 2015,
Aplicaciones de las cámaras térmicas
El uso de las cámaras térmicas en la actualidad es más para seguridad y vigilancia siendo
utilizadas por militares o policías para vigilancia aérea en detección de sujetos en peligro en tareas
de salvamento, en el campo de la medicina para la determinación de temperatura corporal, en
ambientes industriales sirve para diagnósticos preventivos o predictivos de máquinas, también
sirve como herramienta para el estudio de suelos o para detección de fallas en edificaciones, otro
de sus usos es para detectar objetos en entornos de poca luz siendo.
Características de una cámara para un SVV
Para seleccionar una cámara para un SVV es necesario tener en cuenta las especificaciones
técnicas que necesitemos para el área que queremos vigilar, por esto debemos analizar cada una
de las características.
19
Figura 3
Especificaciones técnicas de una cámara de seguridad
Nota: Se muestra la cámara con sus especificaciones correspondientes. Elaborado por: Karen Alejandro y Marlon
Yagual.
Resistencia
Resistencia interiores.
Poseen pocos mecanismos de protección por lo que su precio es bajo y son recomendadas
para hogares y negocios pequeños.
Resistencia Exteriores.
Este tipo de cámaras poseen varios mecanismos de protección tales como las cámaras tipo
bullet y cámaras Domo, aunque éstas suelen ser instaladas en interiores, están hechas con
materiales resistentes y así soportar en ambientes externos.
20
Grado de protección IP.
Dependiendo de su fabricación las cámaras son sometidas a pruebas que certifican su
resistencia ante cuerpos solidos o líquidos, Para esto se las cataloga con una norma Internacional
la cual clasifica las cámaras de seguridad dependiendo de su resistencia dicha norma es: CEI 60529
Degrees of Protection la cual fija el grado de protección IP. Para saber cuál es el grado de
resistencia de una cámara es necesario entender el formato de la secuencia que se les da, dicho
formato es: IPXY y los niveles de protección de “X” y “Y” se los muestra en la tabla 5.
Tabla 5
Nivel de protección ante el polvo
Nivel
“X” Polvo “Y” Líquidos
Tamaño mínimo del objeto
entrante Protección a:
0 Sin protección Sin protección
1 <50mm Goteo de agua
2 <12.5mm Goteo de agua
3 <2.5mm Agua nebulizada
4 <1mm Chorros de agua
5 Protección polvo Chorros de agua
6 Protección completa Chorros muy potentes de agua
7 - Inmersión completa
8 - Inmersión completa y continua
9 - Potentes chorros de agua a altas temperaturas Nota. “X” se refiere al grado de protección ante polvo dicho valor se expresa en números de 0 a 6 siendo 6 el grado
de protección más alto y “Y” representa el grado de protección de entrada de líquidos tal valor es representado por un
número que va de 0 a 9. Elaborado por: Karen Alejandro y Marlon Yagual.
21
Calidad o Resolución
La resolución de las cámaras analógicas era tomada por las líneas de televisión (LTV) se
podían formar, cuan mayor sea el número de LTV, más resolución genera la cámara, esto es
equivalente a la medición por megapíxeles que es el sistema actual, entre más megapíxeles tenga
la imagen emitida por la cámara la calidad de la imagen es mejor y más detallada gracias a la escala
que tiene como se muestra en el gráfico 4.
Figura 4
Resolución
Nota: Se muestra el tipo de resolución que genera una cámara. Elaborado por: Karen Alejandro y Marlon Yagual.
Al momento de elegir una cámara para vigilar un entorno amplio debemos tomar en cuenta
una resolución superior a 1MP hasta 8MP. Dependiendo de la tecnología que utilicemos la calidad
de la imagen va a variar al igual que los costos entre otras características que debemos tomar en
cuenta al elegir una cámara de vigilancia.
22
Tabla 6
Tipos de cámaras por su resolución
Tipo
Analógica HDSDI IP HDCVI
Resolución D1, 960H 720p, 1080p 720p, 1080p, 5M 720p, 1080p, 4k
Cable Coaxial Coaxial Red Coaxial
UTP Si No Si Si
Fluidez Sin retraso Sin retraso <300ms Sin retraso
Calidad Común Clara/sin
perdida
Perdida
codificación Clara sin perdida
Distancia <300m <100m <100m 300-500m
Transmisión Video Video + Audio Video+audio+Data Video+audio+Data
Instalación Fácil Fácil Compleja Fácil
Anti-
interferencia Fuerte Débil Fuerte Fuerte
Precio Bajo Alto Alto Bajo Nota: Se muestra cuatro tipos de cámaras cada una con sus especificaciones. Elaborado por: Karen Alejandro y Marlon
Yagual.
Visión
Entre las especificaciones técnicas de una cámara de seguridad nos encontramos con lo que
es visión diurna y nocturna este tipo de cámara con las especificaciones ya mencionadas son
diseñadas para instalaciones exteriores como interiores las cuales cuenten con poca luz. Las
cámaras de red a color también cuentan con visión diurna y nocturna mostrándonos imágenes a
color durante todo el día, en caso de disminución de luz la cámara varia a modo nocturno y utilizar
infrarrojo IR así se proporcionan imágenes de alta calidad en blanco y negro. Al momento de
escoger una cámara para un SVV por su calidad de imagen no solo debemos guiarnos por sus
23
megapíxeles, también debemos considerar otros parámetros técnicos que mejoran la imagen en
entornos específicos como en espacios de poca luz podemos tomar en cuenta una cámara que tenga
incorporada tecnología WDR
WDR (WIDE DYNAMIC RANGE)
Esta tecnología compensa problemas de poca luz en imágenes con zonas oscuras y
brillantes, donde tendremos imágenes con zonas oscuras donde no se van a poder visualizar ciertos
objetos, se aplicó esta tecnología para conseguir un equilibrio de brillo y oscuridad mejorando la
calidad de la imagen. El proceso realizado por esta tecnología es tomar dos imágenes con diferentes
exposiciones de la luz las cuales las combinará en una tercera imagen con óptima iluminación.
Este proceso se lo puede hacer de forma digital tomando una sola imagen y retocando las zonas
con poca iluminación.
Alcance
El alcance de una cámara nos da a conocer hasta qué distancia podemos captar un objeto,
pero para poder llegar a saber cuál es el alcance máximo debemos tener en cuenta otros factores.
Estos factores lo determinaremos dependiendo del uso que le daremos al SVV.
Detección
Si vamos a utilizar el sistema para detección de objetos es necesario saber a qué distancia
está el objeto que se desea vigilar, por esto hay ciertas cámaras que detectan cambios en una
imagen captada tales como cámaras que detectan movimientos a pocos metros como también a
grandes distancias
24
Reconocimiento
Si el uso que se le dará el sistema es de reconocimiento o clasificación, tendremos que
elegir una cámara que nos muestre detalladamente las características de los objetos que se están
visualizando en una distancia determinada.
Identificación
Si el sistema será para identificación de personas o matrículas debemos trabajar con un
nivel alto de nitidez y resolución por eso es recomendable el uso de cámara megapixeles que nos
ofrece un alto número de información digital.
Lente
Tabla 7
Tipos de lentes de una cámara de seguridad
Lente fija Lente fija
gran angular
Lente ojo de
pez
Lente
varifocal
Lente varifocal
motorizada
Graduación
de lente No No No Si Si
Angulo de
apertura 72° a 94° 94° a 100° 180° a 360° 25° a 94° 25° a 94°
Zoom Digital Digital Digital Óptico Remoto
Ajuste de
lente - - -
2.8 y 12
mm
No requieren-
Enfoque
automático Nota: Se visualiza el tipo de lente de una cámara de seguridad. Elaborado por: Karen Alejandro y Marlon Yagual.
Zoom
El Zoom tanto automático como digital nos ayuda ampliar el tamaño de una imagen sin la
necesidad de acercarnos al objetivo que vamos a fotografiar o que estamos capturando. Cuando se
utiliza el zoom óptico se manipulan los rayos de luz cuando el vidrio cambia de posición dentro
25
de la lente. En el Zoom digital no tenemos la necesidad de que el lente realice algún trabajo
mecánico, lo que hace es ampliar y cortar el área de la imagen para que disimule que estamos en
el punto más cerca.
Reproductor de imagen
Las imágenes captadas por la cámara necesitan un dispositivo que las muestre para esto se
utiliza un monitor, aunque en la actualidad algunas cámaras se pueden conectar por medio de
conexión Wireless y transmitir las imágenes a un dispositivo móvil por medio de una app.
NVR (Network Video Recorder)
El NVR es conocido como Grabador de Video de Red, puede ser un dispositivo físico
parecido a un DVR o un software instalado en un pc, un NVR trabaja con imágenes digitales
enviadas de una cámara IP por medio de una red, mientras que su predecesor DVR digitaliza
imágenes transmitidas por cámaras analógicas. Dependiendo del uso del sistema o la cantidad y
calidad de las imágenes captadas de la cámara se debe adquirir un NVR que soporte dicha cantidad
y tenga un buen espacio de almacenamiento o la posibilidad de ampliarlo.
Switch o conmutador
Dispositivo que conecta nodos en una red especialmente en una red de área local, los
Switch trabajan en el modelo OSI específicamente en la capa 2. Funciona bajo la norma IEEE 802.
Videovigilancia automática
La vigilancia automática se refiere a sistemas de videovigilancia que gracias a un algoritmo
analiza imágenes captadas detectando así objetos, acciones o situaciones sospechosas, tomando la
decisión de realizar una acción sin la necesidad del control de una persona, se debe configurar los
parámetros para que el sistema genere las acciones requeridas, objeto en específico, según Pérez
26
(2021) señala que la videovigilancia automática puede ser usada para encontrar personas prófugas
de la justicia en espacios públicos o detectar comportamientos extraños y así evitar actos delictivos.
Vigilancia en entornos acuáticos
Al referirse a un sistema de videovigilancia en entornos acuáticos se refiere a una variedad
de utilidades como para estudio de trafico de embarcaciones, estudio del comportamiento del mar,
detección de basura en las playas o detección y clasificación de embarcaciones Según Doménico
et al., en 2016 expuso que hay varios retos que superar en un sistema de videovigilancia para
entornos marinos es porque son áreas amplias en exteriores con existencia de precipitaciones
climáticas y dicha vigilancia esta activa en todo momento esto incluyendo la noche y también
teniendo en cuenta que son varios objetos a detectar.
Inteligencia artificial (IA)
El término inteligencia artificial se aplica cuando una maquina imita el comportamiento
humano basándose en algoritmos que se les programa en las máquinas, la IA también se define
como la capacidad que se le da a una máquina de aprender analizando datos y así poder completar
tareas o retos propuestas.
Visión artificial
Ciencia dirigida para el procesamiento de imágenes o videos, la visión artificial hace
posible realizar las tareas de inspección la cual se realizan sin tener un contacto físico esto se
modifica dependiendo de la persona que trabaje aquí se toma en cuenta lo que se captura de las
imágenes ya que esto reduciría el tiempo en cada proceso a realizar (Alvear, et al. 2017).
Para poder entender las características del entorno que deseamos estudiar, la mejor forma
de obtener estos datos seria mediante la extracción de información por una imagen ahí es donde
27
nace la necesidad de utilizar la visión artificial. La visión artificial analiza imágenes para así
interpretar características y propiedades. Según Kantún (2018) expone que al usar visión artificial
debemos saber cuál es la información que se va a extraer de la imagen, el fin que se le va a dar a
los datos obtenidos, y como representar los conocimientos adquiridos en un modelo.
Procesamiento de imágenes digitales
El procesamiento digital de imágenes se ha fortalecido y se ha integrado a la vida diaria,
su uso se delimito en las áreas de investigación de la computación, matemáticas y astronomía, y a
aplicaciones militares. En su momento se estimó como una actividad limitada y costosa, hoy en
día se ha convertido en una actividad potente y económica gracias a los avances que se evidencian
con el pasar del tiempo (Rojas, 2016).
Formato de imágenes
Hoy por hoy encontramos un sin números de formatos de imágenes, algunos creados por
entidades que trabajan con esquemas de extensiones GIF O PCX, también tenemos empresas que
tratan de mantenerse en el formato de trabajar con extensiones JPEG, PNG.
Algoritmo de Procesamiento de imágenes digitales
Algoritmo sobre operaciones estadísticas
Histograma
Es la muestra grafica de datos estadísticos los cuales se agrupan en valores absolutos, para
este tipo de gráficos se utilizan barras para representar los datos números, las barras van a variar
según la frecuencia de la información esto se visualizará en el eje Y, por otra parte, en el eje X se
mostrará las variables de estudio (Westreicher, 20). Los histogramas se realizan cuando la variable
28
a estudiar es cuantitativa, si fuese el caso de ser cualitativa se llevaría a cabo gráficos con barras o
de forma circulares.
Algoritmos sobre operaciones espaciales
Espacios de color
Representa la disponibilidad de colores dentro de un sistema o patrón de colores utilizados
para convertir una imagen digital, las aplicaciones manejan distintos tipos de colores, sin embargo,
existen escalas de colores más extensas que otros
A continuación, se detallan los espacios de colores existentes:
Espacio RGB
A este tipo de espacio se lo define RGB por el uso de los colores rojo, verde y azul estos
son sus colores primarios con los cuales se pueden realizar una combinación y conseguir colores
diferentes que son utilizados para divisar imágenes digitales.
Espacio HSI
Para el procesamiento de imágenes digitales el espacio HSI es fundamental porque
diferencia los colores por el tono, saturación e intensidad. El tono es el color predominante, la
saturación diverge lo intenso de un color pálido, la intensidad es aquella iluminación percibida.
29
Figura 5
Espacio HSI
Nota: Se muestra el espacio HSI. Elaborado por: (Paláez, Vaccaro & Guijarro, 2015)
Machine Learning
Es la capacidad que se le da a una máquina de identificar patrones complejos así predecir
comportamientos y mejor sus procesos ya que el algoritmo que se le dio le permitirá aprender,
como ejemplos de implementación de Machine Learning tenemos a las apps usadas
cotidianamente que dan sugerencia dependiendo a nuestros gustos analizando búsquedas pasadas.
Aprendizaje supervisado
Para el aprendizaje supervisado es necesario la intervención de un humano ya que tendrá
que generar al modelo datos etiquetados de lo que deseamos aprenda, este generará lo que se espera
en la salida, cuenta con dos tipos de modelos clasificación y regresión.
Captura Distancia Resolución
Pre-procesamiento
Quita el fondo de las imagenes
SegmentaciónUtilizar
operadores de segmentación
Extracción de características
Se extrae las características
del segmentado
Clasificación de los Objeto
Realiza la clasificación por
el método propuesto
30
Aprendizaje no supervisado
Aquí los algoritmos se entrenan buscando diferencias entre objetos cuentan con dos tipos
de algoritmos, clustering recolecta los datos a su salida, asociación sigue los patrones de una regla
propuesta.
Redes neuronales artificiales
Basada en el funcionamiento simple de las nuestras neuronas, contiene entradas y salidas
que se conectan a otras neuronas llamadas nodos prácticamente es como un cerebro humano en el
que se procesa información y al momento de entrenarlo aprende y entiende, una red neuronal ayuda
mucho al momento de resolver problemas complicados.
Figura 6
Red Neuronal artificial
Nota: Se muestra la red neuronal artificial con su respectiva entrada, salida y capa oculta. Realizado por: Karen
Alejandro y Marlon Yagual.
Redes neuronales convolucionales (CNN)
Bousetouane y Morris (2015) nos dice que las redes neuronales contienen capas evolutivas,
agrupadas y secuenciales, la capa secuencial aprende de manera profunda para la captura de
31
objetos en base a la apariencia más notable en el caso de los pixeles y las conexiones. Las redes
neuronales convolucionales son algoritmos de Deep Learning, cuya entrada son las imágenes de
un dataset. son una prioridad para su selección, cuenta con grandes recursos en cuanto a algoritmos
para el desarrollo de visión computacional (Álvarez y Olaya, 2021). Según Duràn (2017) una CNN
es una red multicapa que consta de capas convolucionales y de pooling alternadas.
Convoluciones
En las aplicaciones de aprendizaje automático, las entradas muchas veces son matrices de
datos multidimensional y el kernel es aquel que se ajusta con algoritmos de aprendizaje para una
matriz, los elementos respectivamente deben ser separados, se asume que todas las funciones van
en cero a diferencia de los valores almacenados (Nina, 2020).
Las convoluciones son un conjunto de filtro que se pasan a fracciones de pixeles de las
imágenes, esto ayuda a sacar las características de las imágenes al entrenar un modelo de
reconocimiento o clasificación de objetos, así al momento de ejecutar dicho modelo en entornos
donde abunda el ruido se tenga un buen porcentaje.
Figura 7
Ejemplo de convolución 2D sin dar la Vuelta al kernel
𝒊𝒎𝒑𝒖𝒕 {
𝒂𝒂 𝒂𝒃𝒃𝒂 𝒃𝒃
𝒂𝒄 𝒂𝒅𝒃𝒄 𝒃𝒅
𝒄𝒂 𝒄𝒃𝒅𝒂 𝒅𝒃
𝒄𝒄 𝒄𝒅𝒅𝒄 𝒅𝒅
𝒌𝒆𝒓𝒏𝒆𝒍 {𝑾 𝑿𝒀 𝒁
𝒂𝒂𝑾 + 𝒂𝒃𝑿 + 𝒃𝒂𝒀 + 𝒃𝒃𝒁 𝒂𝒃𝑾 + 𝒂𝒄𝑿 + 𝒃𝒃𝒀 + 𝒃𝒄𝒁 𝒂𝒄𝑾 + 𝒂𝒅𝑿 + 𝒃𝒄𝒀 + 𝒃𝒅𝒁
𝒃𝒂𝑾 + 𝒃𝒃𝑿 + 𝒄𝒂𝒀 + 𝒄𝒃𝒁 𝒃𝒃𝑾 + 𝒃𝒄𝑿 + 𝒄𝒃𝒀 + 𝒄𝒄𝒁 𝒃𝒄𝑾 + 𝒃𝒅𝑿 + 𝒄𝒄𝒀 + 𝒄𝒅𝒁
𝒄𝒂𝑾 + 𝒄𝒃𝑿 + 𝒅𝒂𝒀 + 𝒅𝒃𝒁 𝒄𝒃𝑾 + 𝒄𝒄𝑿 + 𝒅𝒃𝒀 + 𝒅𝒄𝒁 𝒄𝒄𝑾 + 𝒄𝒅𝑿 + 𝒅𝒄𝒀 + 𝒅𝒅𝒁
Nota: Se muestras un ejemplo de convolución. Elaborado por: Karen Alejandro, Marlon Yagual
32
Capa de pooling
Tiene como objetivo reducir el peso computacional del sistema así mismo debe obtener las
características predominantes de una imagen (Durán, 2017). Las neuronas de la capa pooling se
encuentra enlazada a su salida, no cuentan con un peso específico, entre los más relevantes por su
tipo se encuentra Max Pooling el cual recolecta los valores de la ventana.
Tipos de capas de una red convolucional
Capa de convolución
La Capa de Convolución también conocido como Convolution Layer, se la usa para realizar
la convolución utilizando una capa de entrada y n kernels, a los resultados se le suma un bias más
una capa no lineal.
Capa de agrupación
La Capa de Agrupación es conocido como Pooling Layer, se usa para disminuir las
entradas, apresura el cálculo y hace que las características detectadas sean más robustas.
Técnicas de agrupamiento:
✓ Agrupamiento Max (MAX):
𝑆𝑗 = 𝑚𝑎𝑥𝑖∈𝑅𝑗 𝑎𝑖
✓ Agrupamiento Promedio (AVE):
𝑆𝑗 = 1
𝑅𝑗∑ 𝑖 ∈ 𝑅𝑗𝑎𝑗
33
✓ Agrupamiento Estocástico (STO):
𝑃𝑗 =𝑎𝑖
∑ 𝑘 ∈ 𝑅𝑗 𝑎𝑘
Capa de conectado completo
La Capa de Conectado Completo también conocido como Fully Connected Layer, es
aquella que recibe por su entrada la salida de la Capa de agrupamiento para luego conectarse con
la capa de salida y se realiza una convolución de uno a muchos.
Conjunto de Datos de Imágenes Naturales de Escena
Pascal VOC:
Conjunto de datos que hace referencia a la clasificación y detección de objetos.
ILSVRC:
extiende el objetivo de Pascal VOC sobre los algoritmos de detección.
MS COCO:
Contiene escenarios de objetos comunes en su forma natural, es lo más cercano a la vida
real y usa etiquetas segmentadas.
Reconocimiento de objetos
Modelo YOLO (You Only Look Once)
YOLO usa solo una red convolucional que verifica los objetos por cuadro, esta toma una
imagen a su entrada la divide en cuadriculas y luego escoge cuadros delimitados, se trabaja con
cálculos en el cual se mantiene un valor estable si fuese el caso que se sobre pase ese valor se lo
selecciona para situar el objeto de la imagen (Parreño, 2020).
34
Yolov4:
este modelo en la actualidad viene siendo una de las mejores arquitecturas para proceder
a entrenar un detector de objetos, también llamado red generalista porque detecta objetos
cotidianos como sofás, televisor o personas, es personalizado, es de una etapa ya que omite
búsquedas de regiones con la finalidad de realizar detecciones muy rápidas, cuenta con una enorme
capacidad en cuanto a repositorios Darknet (Gil, 2020).
Matriz de confusión
Urcuqui López (2016) dice que, existen cuatro tipos de medidas (Falsos positivos (FP),
Falsos negativos (FN), Verdaderos positivos (TP) y Verdaderos negativos (TN)). Estas medidas
conforman la matriz de confusión, su objetivo es calcular la precisión y evaluación del modelo. En
la Tabla 8 se presenta la matriz de confusión.
Tabla 8
Matriz de Confusión
Valor Real
Fraude Legítimo
Valor Fraude TP FP
Predicción Legítimo FN TN
Nota: Matriz de confusión de (Urcuqui López, 2016).
Esta matriz la conforman los siguientes términos:
Verdaderos positivos: Son aquellos resultados positivos que el modelo entrenado ha
detectado como positivos (Quevedo Muñoz, 2020).
35
Verdaderos negativos: Son resultados negativos que el modelo entrenado ha detectado
como negativos (Quevedo Muñoz, 2020).
Falsos positivos: Son aquellos resultados negativos que el modelo entrenado ha detectado
como positivos (Quevedo Muñoz, 2020).
Falsos negativos: Son resultados positivos que el modelo entrenado ha detectado como
negativo (Quevedo Muñoz, 2020)
Existen métricas que permiten evaluar el desempeño del modelo, entre ellas tenemos:
Precisión: se mide el número de clasificaciones positivas que estén realizadas
correctamente (Maseda Tarin, 2019). Estos serían datos reales de las pruebas y los datos obtenidos
del modelo clasificador.
Exhaustividad/ Sensibilidad (Recall): En esta métrica se aprecian todas las observaciones
positivas (Zamorano Ruiz, 2018). Los parámetros que se le da al método son los datos que usamos
para pruebas y los datos predichos por el modelo clasificador.
F1-score: habla de las combinaciones que existen entre las métricas de precisión y
exhaustividad ya que son como compromiso entre ellas (Balparda, 2020). Es decir, se realiza la
combinación de las dos métricas para conocer su rendimiento. Recibe parámetros de datos reales
de prueba y los datos predichos por el modelo clasificador.
36
Fundamentación legal
La Constitución de la República del Ecuador vigente, garantiza a los estudiantes que están
terminando su etapa profesional una educación y desarrollo sin restricciones, tiene como objetivo
respaldar los derechos y educación con los que cuenta un ciudadano ecuatoriano o extranjero que
se encuentra en pleno proceso de formación integral como ser humano y que brindará apoyo en el
crecimiento del país.
El presente proyecto de titulación cumple con todas las exigencias que la ley establece para
su debido desarrollo, fortaleciendo los principios de la justicia social. A continuación, en el Anexo
3, se detallan cada uno de los artículos que respaldan esta propuesta.
Revisiones sistemáticas
Meta-análisis
El meta-análisis o revisión sistemática cuantitativa, en esta seccion se evidencian los
resultados de estudios empíricos realizados sobre tópicos de investigación y son integrados
estadísticamente. En cuanto a los resultados los estudios son expresados en métricas comunes, la
diferencia de medias tipificadas son los más utilizados en estudios dónde se realiza la comparación
de grupos en una variable de resultado continua. (Rubio et al., 2020)
Marco Muestral
Incorpora artículos científicos de fuentes y autores diferentes los que fueron previamente
seleccionados en las investigaciones realizadas. Todos estos artículos son analizados en el meta-
análisis definiendo seis variables que mostramos en la Tabla 9.
37
Tabla 9
Variables analizadas
N° Nombre de la variable
1 Titulo del articulo cientifico
2 Autor(es)
3 Palabras claves
4 Resumen
5 Número de veces que se utiliza la palabra “Detección de barcos” en los artículos
6 Número de veces que se utiliza la palabra “Detección de objetos” en los artículos
7 Número de veces que se utiliza la palabra “Red neuronal convolucional” en los
artículos
8 Número de veces que se utiliza la palabra “Redes neuronales” en los artículos
9 Número de veces que se utiliza la palabra “Aprendizaje automático” en los
artículos
10 Número de veces que se utiliza la palabra “Entrenamiento” en los artículos
11 Bibliografia Nota: Presentación de las variables que conforman la construcción del meta-análisis. La elaboración es propia y la
fuente es proporcionada por las investigaciones dadas.
Descripción de las variables utilizadas
Variable 1: Palabras claves. Se refiere a las palabras más relevante del contenido de un
artículo científico. Para la elección de las palabras claves se utiliza la forma en que el usuario
buscaría el articulo en alguna plataforma de búsqueda.
38
Tabla 10
Palabras claves - variables del meta-análisis
N° Palabras Claves
1 Detección de Barcos
2 Detección de Objetos
3 Red Neuronal Convolucional
4 Redes Neuronales
5 Aprendizaje Automático
6 Entrenamiento
Nota: Palabras que conforman parte de la creación del meta-análisis. La elaboración y fuente son propias
proporcionadas por investigaciones dadas.
Variable 2: Número de veces que se encuentra repetida la palabra “Detección de Barcos”
en los artículos seleccionados. La variable es definida por el número de veces que se utiliza la
palabra “Detección de Barcos” dentro del contenido de los 20 artículos científicos seleccionados.
Variable 3: Número de veces que se repite la palabra “Detección de Objetos” en los
artículos seleccionados. La variable es definida por el número de veces que se utiliza la palabra
“Detección de Objetos” dentro de los artículos.
Variable 4: Número de veces que se repite la palabra “Red Neuronal Convolucional” en
los artículos seleccionados. La variable es definida por el número de veces que se utiliza la palabra
“Red Neuronal Convolucional” dentro de los artículos.
Variable 5: Número de veces que se repite la palabra “Redes Neuronales” en los artículos
seleccionados. La variable es definida por el número de veces que se utiliza la palabra “Redes
Neuronales” dentro de los artículos.
Variable 6: Número de veces que se repite la palabra “Aprendizaje Automatico” en los
artículos seleccionados. La variable es definida por el número de veces que se utiliza la palabra
“Aprendizaje Automatico” dentro de los artículos.
39
Variable 7: Número de veces que se repite la palabra “Entrenamiento” en los artículos
seleccionados. La variable es definida por el número de veces que se utiliza la palabra
“Entrenamiento” dentro de los artículos.
Variable 8: Bibliografía. Variable donde se define las fuentes donde se sacaron las fuentes
para la posterior consulta todo esto fue extraido de los 20 articulos cientificos que se utilizaron
como fuente.
Tabla 11
Fuentes bibliográficas utilizadas en la investigación.
N° Bibliografia
1 Google Académico
2 IEEE
Nota: Palabras que conforman parte de la creación del meta-análisis. La elaboración y fuente son propias
proporcionadas por investigaciones dadas.
Instrumentos utilizados para la recolección de datos
Para la elaboración del meta-análisis fue necesario realizar exploración y análisis de
artículos científicos donde se encontródatos relevante sobre el tema de investigación, se tomo en
cuenta las fechas de publicación durante el período 2016-2020. La búsqueda se la realizó mediante
palabras claves. Se encontraron en diferentes bibliográfias y leídos de forma rápida para luego
ser insertados en Microsoft Excel parasu posteriori análisis. En Microsoft Excel se detallo
información como el título, autores, palabras claves y las veces que se repetían las palabras que
se iban estudiar en este meta-análisis. Además, las fuentes bibliográficas fueron extraidas y se
realizaron cálculos estadísticos por cada variable.
40
Analisis de resultados
Variable 1. Palabras claves.
Tabla 12
Variable de palabras claves
Palabras Claves Frecueencia absoluta Frecuencia relativa
Detección de Barcos 7 35%
Detección de objetos 5 25%
Red neuronal convolucional 4 20%
Redes neuronales 3 15%
Aprendizaje automático 2 10%
Entrenamiento 2 10%
Nota: Palabras que conforman parte de la creación del meta-análisis. La elaboración y fuente son propias
proporcionadas por investigaciones dadas.
Figura 8
Variable 1. Estadistica de las palabras claves
Nota: Palabras que conforman parte de la creación del meta-análisis. La elaboración y fuente son propias
proporcionadas por investigaciones dadas.
35%
25%
20%
15%
10% 10%
0%
5%
10%
15%
20%
25%
30%
35%
40%
Detección deBarcos
Detección deobjetos
Red neuronalconvolucional
Redes Neuronales Aprendizajeautomático
Entrenamiento
41
Análisis: Con los resultados se obtuvo, el 35% de los 20 artículos científicos que se
consideraron contienen la palabra “Detección de Barcos” en lo que va del texto, se representa una
frecuencia de 7 articulos. El 25% de los artículos muestran la palabra clave “Detección de objetos”
representando una frecuencia de 5 artículos. El 20% de los artículos muestran la palabra clave
“Red neuronal convolucional” que representa 4 articulos de los seleccionados para la
investigación. El 15% de los artículos muestran la palabra clave “Redes neuronales” representando
3 artículos. Tenemos un 15% de los artículos científicos muestran la palabra clave “Redes
neuronales” que representan 3 artículos. Por último tenemos un 10% de los 20 artículos
considerados que contienen las palabras “Aprendizaje automático” y “Entrenamiento” se
evidencia que la frecuencia disminuye puesto que son conceptos que están claros y son necesarios
para reforzar la solución.
Pregunta científica a contestarse
¿Cómo el modelo de sistema de videovigilancia beneficiara a Ballenita para monitorear
sus embarcaciones de pesca artesanal?
Variables de la investigación
Variable dependiente: Modelo de Sistema de monitoreo de vigilancia.
Variable independiente: Aplicar algoritmos de Machine Learning.
Definiciones conceptuales
Termografía: Es una técnica de detección de temperatura que bajo el fundamento de que
todo cuerpo u objeto emiten calor concluye que un patrón de calor puede ser hallado y hacerse
visible, esto sucede por la detección de ondas infrarrojas del espectro electromagnético que emite
42
un cuerpo. Según la Real academia española se refiere como termografía al registro en forma de
imagen del calor emitido por un objeto (RAE, 2020)
Reconocimiento de imágenes: Detecta de forma automática objeto de imágenes o videos
esto hace que actúe como la parte del cerebro humano que procesa información que captan los ojos
en este caso las imágenes podrían ser captadas por una cámara.
Detección de Objetos: Es la capacidad de identificar características de un objeto esto es
utilizado en el reconocimiento de imágenes para extraer las características distintivas de los
objetos, puede observarse dentro de la industria de vehículos autónomos, aunque también existe
potencial para muchos otros campos.
Ruido: se refiere a las interferencias electrónicas que generan los circuitos, existen
componentes necesarios que nos permiten interpretar datos del sensor convirtiéndolos en imágenes
digitales.
Redes neuronales: interconexiones neuronales que se apoyan entre sí para producir una
salida, se puede decir que son un intento de formalización matemática para la estructura del
cerebro.
Machine Learning: rama de la inteligencia artificial que resuelve diversas situaciones
partiendo del análisis de datos, permite que las máquinas aprendan sin ser programadas para ello
(Rojas, 2016).
Inteligencia Artificial o IA: es capaz de ayudar a los seres humanos con asuntos de nuestra
vida cotidiana, se tendrán impactos en la salud, educación, trabajo, se cambiará la visión y la forma
de hacer negocios en especial a empresas que buscan herramientas para que el trabajo se rápido y
eficaz.
43
Librería: colección de funciones que son implementadas en un lenguaje de programación
el beneficio de estas es que permite la reutilización para interfaces determinada (Salas y Pla, 2017).
Clasificador: Es un sistema que a través de cierta información ingresada por el humano
reconoce de objetos, estos pueden ser voces, letras, caras, entre otros. Es una técnica útil que
necesita principalmente del reconocimiento de patrones para clasificar objetos. (Vásquez et. Al,
2017)
Deep Learning: Es un tipo de algoritmo con arquitectura en capas basadas en redes
neuronales profundas.
Python: es un lenguaje de programación interpretado aquí es fundamental que el código
sea entendible, por su claridad y elegancia encarnan la filosofía del lenguaje, funcionan de forma
imperativa en distintos objetos, contienen herramientas que nos permiten realizar la lectura de
ficheros o desarrollar interfaces graficas (Troyano et al. 2018).
OpenCV: es una librería de visión artificial desarrollada por Intel, se compone de un sin
número de algoritmos con aprendizaje de máquina que sirve para facilitar el trabajo al momento
del procesamiento de imágenes o reconocimiento de objetos, su escritura se encuentra realizada
en C++ y tiene una interfaz que trabaja con lenguajes Java o Python (Kanaan y Ventura, 2016)
Numpy: paquete para realizar aprendizaje automático en pyhton contiene herramientas con
varias clases y subclases permitiendo representar matrices y funciones de algebra lineal.
Underfitting: O desajuste, esto ocurre cuando no entrenamos lo suficiente a nuestra CNN,
lo que conlleva que el aprendizaje no se ha completado, una posible solución es incrementar
valores en los parámetros del modelo (Lemley, Bazrafkan y Corcoran, 2017).
44
Overfitfing: O sobreajuste, que ocurre cuando la CNN aprende demasiado sobre ciertas
características de un objeto por tanto se dificulta la detección del mismo objeto con diferentes
características, una posible solución es disminuir los valores de los parámetros del modelo
(Lemley, Bazrafkan y Corcoran, 2017).
Cloud Computing: se refiere a servicios computacionales que se encuentran alojados en
la nube brindando a los usuarios ventajas de aumentar o disminuir recursos, se paga solo por los
recursos que se utilizan.
Google Colab: es un servicio cloud, basado en los Notebooks de Jupyter, que permite al
uso ejecutar y programar en Phyton, ofrecen tecnologías gratuitas como GPUs y TPUs sin
necesidad de configurar.
GPUs: es el chip de procesamiento de una tarjeta gráfica que es el encargado de realizar
todos los procesos, en los últimos años han tomado relevancia para la aceleración de aplicaciones
en inteligencia artificial.
GitHub: es un alojamiento de repositorios Git creado en el año 2008, proporciona una
interfaz Web gratuita la cual le permite a los usuarios realizar clonaciones, crear repositorios
registrado, crear repositorios vacíos o por clonación. GitHub contiene alojamiento de repositorios
para proyectos gestionados por el Git, para proceder a compartir códigos de una manera más fácil
ya que se podrá agilizar el tiempo de trabajo (Galeno, 2018).
45
CAPÍTULO III - METODOLOGÍA DE LA
INVESTIGACION METODOLOGÍA DE LA INVESTIGACION
A continuación, Detallaremos la metodología que usaremos en nuestro trabajo de
investigación, con el propósito de obtener información proporcionada por varios autores con
relación al uso de detección de objetos en entornos marítimos con la finalidad de tener una línea
base para desarrollar nuestro modelo de videovigilancia y detección de objetos.
Modalidad de la investigación
Para el desarrollo de nuestra investigación se llevó a cabo la selección de artículos
científicos, tesis, revistas entre otros documentos con estudios similares a nuestro tema esto
representa a un 30% de investigación dejando un 70% experimental siendo esto el desarrollo del
modelo de detección de objetos que abarca desde el preprocesamiento de imágenes, entrenamiento
y pruebas sobre el modelo generado.
TIPO DE INVESTIGACIÓN
Según Alonso et al (2016), una investigación experimental es donde las variables de
estudio sufren cambios o son manipuladas para el control de las variables en cuanto a conductas
observadas. Por esta razón optamos por este tipo de investigación permitiéndonos hacer varios
cambios al modelo para apreciar variaciones en el resultado.
DISEÑO METODOLÓGICO DE LA INVESTIGACIÓN
Para el presente trabajo definiremos el algoritmo de machine Learning óptimo para la
detección de objetos en espacios acuáticos, esto se llevará a cabo mediante la búsqueda y análisis
de documentos relacionados, además definiremos el modelo de videovigilancia y detección de
objetos que se utilizaría si se desea implementar en un estacionamiento de botes. Para el modelo
46
de videovigilancia analizaremos características de los recursos de hardware óptimos para crear un
CTV para vigilar botes, Para el modelo de detección de objetos se lo dividirá en tres etapas las
cuales son:
• Creación del dataset donde recopilaremos una gran cantidad de imágenes de los
objetos que queremos detectar, luego crear etiquetas por cada imagen al terminar
se definen el porcentaje imágenes para entrenamiento y validación.
• Entrenamiento del modelo donde definiremos el algoritmo a utilizar, el tipo de
entrenamiento y entorno de desarrollo, para llevar a cabo el entrenamiento.
• Pruebas en el modelo de detección, se hará pruebas en fotos, videos y en tiempo
real, así definiendo el modelo apto para la detección de embarcaciones de pesca.
Metodología de investigación
El presente trabajo de titulación consta de dos partes modelo de videovigilancia y modelo
de detección de objetos, este último se desarrolla con un conjunto de imágenes de los objetos que
se desea detectar para nuestro estudio detectaremos los barcos o embarcaciones de pesca artesanal,
los motores de los botes que es uno de los implementos de pesca que son sustraídos con frecuencia
y por último se quiere detectar personas o tripulantes en los botes o cerca de ellos. Los datos que
se obtuvieron fueron descargados de sitio web que brinda datos necesarios para el estudio de
detección o clasificación de embarcaciones marítimas también utilizaremos fotos propias de botes
en diferentes puertos de la provincia de Santa Elena. Con este conjunto de datos crearemos el
dataset que será la entrada de nuestra red neuronal para crear el modelo de detección de objetos.
Como lenguaje de programación elegimos Python que es uno los leguajes utilizados para
Machine Learning, el entorno de trabajo a utilizar será Google Colab que nos ofrece recursos como
memoria, disco y GPU o TPU que nos ahorrarán el tiempo de entrenamiento.
47
Población y muestra
Población
La población en términos geográficos y sociólogos vienen siendo personas pertenecientes
a un grupo que habita en espacios o áreas geográficas, por lo tanto, pueden existir vínculos de
reproducción que los caracteriza por su territorio, políticas, étnicas o religiosas (Toledo, 2016). La
población selecta para el análisis de las necesidades que se presentan en la zona de Ballenita de la
ciudad de Santa Elena en el área de seguridad, son las embarcaciones de pesca artesanales se debe
tener en cuenta que es un número reducido.
Muestra
El propósito de la muestra es obtener información de una parte de la población. La
población es este caso son las embarcaciones de pesca artesanal sabiendo que es un número
reducido no se procederá al cálculo de ninguna muestra, por consiguiente, se trabajará en base a
toda la población.
METODOLOGÍA DE DESARROLLO DEL PROTOTIPO
El proyecto utiliza la metodología PDI abarca diversas etapas, desde captura de imagen
con una cámara digital para fotografiar diferentes ángulos y distancias en un escenario especifico
en la zona de Ballenita para proceder a realizar el dataset, hasta la generación del modelo para el
reconocimiento de objeto. Por tal motivo se toma en cuenta el dataset de imágenes, la obtención
de las características y los resultados arrojados. La metodología PDI contiene etapas de captura,
segmentación, clasificación y extractor de características de una imagen todo se detalla a
profundidad en el Capítulo II del proyecto.
48
BENEFICIARIOS DIRECTOS E INDIRECTOS DEL PROYECTO
Beneficiarios directos: Se consideró como beneficiarios directos, a las personas que se
encuentren interesadas en conocer sobre el modelo de videovigilancia con algoritmos en Machine
Learning.
Beneficiarios indirectos: Entre ellos se encuentran investigadores del área de desarrollo
de software, los resultados que se obtuvieron en esta investigación nos permiten ver de forma más
clara datos sobre tema y realizar un modelo que aporte con mejoras al sector.
ENTREGABLES DEL PROYECTO
El entregable de este trabajo de investigación será un artículo científico, se proporcionará
el código, los resultados y las conclusiones que se obtuvieron durante la investigación realizada,
dentro del contexto del articulo científico se explicará cómo se usaron los algoritmos para la
detección y el entrenamiento del modelo todo esto se encuentra en el apartado de anexos,
específicamente en el anexo 6.
ANÁLISIS DE FACTIBILIDAD
El siguiente proyecto será un apoyo al momento de reconocer una embarcación de pesca
artesanal para su vigilancia. A través de algoritmos de visión artificial se lleva a cabo el PDI, se
entrena el sistema para obtener una mayor precisión, logrando identificar las embarcaciones. Con
los avances tecnológicos que se tienen hoy en día se puede agilizar el trabajo cotidiano en diferente
área.
49
Factibilidad operacional
El Sr. Jorge Roca nos ayudó con la información de cuantos botes existen, la forma en que
se diferencian cada uno, la forma en la que se organizan al momento de salir a sus faenas de
labores, nos señaló el modo de comunicación entre los miembros de la asociación o grupo de
pescadores existente en la zona. La pesca artesanal no está normada y las faenas de pesca se
realizan de forma aleatoria, los artesanos de la pesca tienen una forma de saber cuándo son los días
donde pueden pescar más cantidad, ellos saben divisar manchas en el mar la diferencian de que
pez es para luego proceder a llevar a cabo la pesca. La asociación de espacios acuáticos nos podría
brindar información sobre las embarcaciones existente y con papeles en reglas existentes en el
balneario de Ballenita, sin embargo, la entidad no facilita la información ya que son muy
herméticos, guardando mucha confiabilidad.
Factibilidad Técnica
Para el desarrollo de la aplicación de reconocimiento de botes de pesca artesanal su esencial
el uso de la tecnología y equipos de cómputo de gran capacidad, que detallamos a continuación en
la tabla 13, la cámara digital con la que se realizó las capturas de imágenes tabla 14 y software
utilizado en el transcurso del proyecto tabla 15.
50
Tabla 13
Requerimiento de Ordenadores
ESPECIFICACIONES
TECNICAS LAPTOP LAPTOP
Procesador AMD Athlon Silver 3050U ADM E450 2.7GH
RAM 4,00 GB 4,00 GB
Tarjeta Grafica Radeon Graphics 2.30
GHz
NO
SO Windows 10 Home Windows 10
Nota: Se muestra los requerimientos de los ordenadores usados en el proyecto. Elaborado por: Karen Alejandro,
Marlon Yagual
Tabla 14
Características de cámaras
ESPECIFICACIONES
TECNICAS
CELULAR 1 CÁMARA DIGITAL
Marca Samsung Canon
Nombre Galaxy J7 Prime Powershot A2600
Modelo SM - G6 100 8160B001
Resolución de cámara trasera 13 Mp 16.0 Mp
Nota: Características utilizadas para la captura de imágenes y videos. Elaborado por: Karen Alejandro y Marlon
Yagual
Tabla 15
Software y librerías utilizadas
SOFTWARE
Lenguaje de Programación Python
Entorno de Programación Jupyter Notebook, Google Colab
Librerías de Programación OpenCV, Numpy, Matplotlib, Unrar
Interprete de código Google Colab
Sistema operativo Windows 10
Nota: se evidencia los Software y las librerías utilizadas para el proyecto. Elaborado por: Karen Alejandro, Marlon
Yagual
51
Factibilidad Legal
En este apartado se realiza una profunda revisión del proyecto con la finalidad de verificar
si el Software a utilizar cumple con las leyes mencionadas en el anexo 3, si el caso fuese que se
llegase a incumplir una de esas leyes se asumirá las consecuencias. La factibilidad legal ampara a
los desarrolladores del software concediéndoles el derecho de autor tanto del documento como del
proyecto o códigos fuentes presentadas.
PROPUESTA
Modelo de sistema de videovigilancia
Análisis del sistema de videovigilancia
Antes de diseñar el sistema CCTV fue necesario visitar el puerto, se midió la distancia
aproximada en que se encuentran los botes anclados dicho valor es 200 metros de la orilla, se
estudió el área que se desea vigilar, determinando el punto idóneo donde se instalaría el equipo.
El sistema de cámaras de video vigilancia cuenta con dos niveles de Prioridad, uno será de alta
prioridad y el segundo de mediana prioridad, las zonas con nivel de prioridad media son las zonas
del Malecón de Ballenita, el área de la playa que frecuentemente es usada por los turistas, patio de
comidas y parqueadero, la zona donde se encuentra anclados los barcos de pesca artesanal están
en un nivel de prioridad alto, debido a que en estos sectores son más vulnerables a que se susciten
actos delictivos. Se propone tener 1 cámara para vigilar el área donde se encuentran anclados los
barcos de pesca artesanal mar adentro.
Requerimientos del sistema CCTV
El sistema de videovigilancia que se propone para vigilar la zona a estudiar se basa en la
transmisión de video utilizando tecnología PoE, el cableado estructurado es en base a cable FTP,
52
se utilizó cámaras DOMO PTZ IP para el monitoreo ya que permiten una mejor visualización en
el proceso. El diseño del sistema de cámaras de seguridad planea utilizar cámaras DOMO PTZ IP,
de manera estratégica, en base a la visita de campo realizada. La cámara será instalada en la
estructura de un poste considerando la parte eléctrica para asegurar el buen funcionamiento del
sistema de video vigilancia. De acuerdo con lo detallado anteriormente, se estableció los siguientes
requerimientos
Elección de la tecnología
Para el proyecto de videovigilancia de embarcaciones de pesca artesanal se ha optado por
el diseño de un sistema de CCTV sobre tecnología PoE, considerando sus ventajas de alimentación
a través de cable de red, en comparación a los sistemas de alimentación tradicional. En el proyecto
utilizó esta tecnología porque la instalación del sistema de videovigilancia es mucho más sencilla
y económica, esto se debe a que la fuente de energía y conexión utilizan un mismo cable de red,
evitando un costo significativo.
Para la implementación del proyecto de videovigilancia se pretenderá utilizar equipos
inteligentes que tengan compatibilidad con PoE, entre estos se encuentran las cámaras DOMO
PTZ IP también el video grabador NVR PoE, así se evitará la compra y conexión de un conmutador
PoE independiente.
Elección del medio de transmisión
Para la solución integral del sistema, el medio de transmisión que se puede ocupar es el
cable FTP categoría 6 para exteriores, debido a que los cables irán a través del poste que se pondrá
en el lugar estratégico dentro del sector, este tipo de cable brinda protección contra interferencias
eléctricas.
53
Se usará el cable LinkedPro Cat6+ CALIBRE 23 Exterior Blindado tipo FTP ya que es un
cable blindado, ofrece mayor velocidad de transmisión, tiene un mejor desempeño, el ancho de
banda es excelente para la señal de video, menos susceptibilidad por factores externos como ruido
ambiental, entre otros beneficios.
Tabla 16
Características del tipo de Cable a utilizarse
LinkedPro Cat6+ CALIBRE 23 Exterior Blindado tipo FTP para CLIMAS EXTREMOS,
UL
Modelo PRO-CAT-6-EXT
Conductor 100% Cobre
Aislamiento PVC
Certificaciones UL E488955 - ANSI/TIA 560-C.2 - ISO/IEC 11801-2Ed
IEEE 802.3at - RoSH
Aplicaciones
Aplicaciones de datos de alta velocidad, Fast Ethernet y Gigabit
Ethernet.
CCTV IP Megapixel /Instalaciones de video, análogo / Redes
locales de alta velocidad, Envíe PoE a largas distancias
Nota: se evidencia el tipo de cable recomendado a utilizar para la implementación del proyecto. Elaborado por: Karen
Alejandro y Marlon Yagual.
Selección de cámaras
Las cámaras de seguridad han experimentado un cambio constante, por medio de esto se
logra disminuir costos de implementación de un sistema de cámaras de videovigilancia. Por
consiguiente, las cámaras IP con tecnología PoE se han vuelto accesibles tanto para: los barrios,
locales comerciales, entre otros lugares por su demanda de calidad de imagen. Los beneficios son
muchos al utilizar el cable de red para la transmisión de señal de datos y alimentación de la cámara.
54
Tabla 17
Comparación de cámara HIKVISION
Características
Modelo DS-2DE74321W-
AE (S5)
DS-2DF8425IX-
AEL (T3)
DS-2DF8442IXS-
AELW (T2)
Resolución 4 MP 4 MP 4 MP
Sensor de
imagen CMOS 1/2.8” CMOS 1/1.8” CMOS 1/1.8”
Min..
iluminación
Color: 0.005 Lux
B/W: 0.001 Lux
Color: 0.002 Lux
B/W: 0.002 Lux
Color: 0.002 Lux
B/W: 0.002 Lux
Mejora de la
imagen
ICR / WDR real
120dB / BLC /
HLC / EIS / 3D-
DNR
ICR/HLC/ WDR
140 dB / BLC / 3D-
DNR
ICR/HLC/ WDR 140
dB / BLC / 3D-DNR
Lente de
longitud focal
4.8 mm – 153 mm
32 x zoom óptico
16 x zoom digital
5.9 mm – 147.5 mm
25 x zoom óptico
16 x zoom digital
6.0 mm – 252 mm
42 x zoom óptico
16 x zoom digital
Angulo de visión
Horizontal 54.3º -
2º Vertical 31.8º -
1.1º Diagonal
61.1º - 2.3º
Horizontal 59.8º-
3.3º Vertical 33.7º -
1.9º Diagonal 65º -
3.8º
Horizontal 56.6º- 1.7º
Vertical 33.7º - 0.9º
Diagonal 63.4º - 1.9º
Rango IR 200 m 500 m 500 m
Fuente de
alimentación 12 VDC /Hi-PoE 24 VDC /PoE 24 VDC /Hi-PoE
Nivel de
protección IP IP66 / Ik10 IP IP67 / Ik10 IP IP67 / Ik10
Compresión H.265/H.264
/MJPEG
H.265 / H.264
/MJPEG
H.265 / H.264
/MJPEG
Software cliente
VMS-4200
Hik-Connect
iVMS-4200
Hik-Connect
iVMS-5200
iVMS-4500
iVMS-4200
Hik-Connect
iVMS-5200
iVMS-4500
Nota: Características de tres tipos de cámaras que se podría usar al momento de la implementación tomando en cuante
distancia y ubicación. Elaborado ppor: Karen Alejandro y Marlon Yagual
55
Se va a requerir cámaras de videovigilancia con tecnología PoE, cuyo alcance se supere a
los 250(m) para detectar barcos, personas y motores e identificarlas, adicionalmente que opere en
las diferentes condiciones climáticas existentes. Además, las cámaras del sistema de
videovigilancia estarán en operación las 24 horas por tal motivo se requiere que sean de visión
nocturna.
Para el diseño del sistema de Sistema de Videovigilancia se tomó en cuenta a la siguiente
cámara como la mejor opción. A la cámara IP PoE Hikvision de tipo PTZ modelo DS-
2DF8442IXS-AELW (T2) para dar una cobertura y ángulo de visión adecuado, las cámaras PTZ
son cámaras panorámicas cuya función es el movimiento de manera horizontal y vertical, así
mismo realiza un zoom ajustable para el área de interés.
Datos técnicos de la cámara PTZ correspondientemente. Se tomó en cuenta los siguientes
parámetros:
Ubicación de la cámara
La ubicación idónea de la cámara es a 250 m de donde son anclados los botes, a unos pocos
metros del baño del malecón de ballenita, en dicha ubicación hay un Angulo de visión que capta
todos los botes anclados. El esquema de ubicación de la cámara se muestra en el Gráfico 9.
56
Figura 9
Esquema de ubicación de la cámara
Nota: Vista panorámica del área a estudiar. Elaborado por: Karen Alejandro y Marlon Yagual.
Altura de colocación
Un sistema de cámaras de seguridad es efectivo siempre y cuando se tome en cuenta varios
factores para el diseño tales como: la altura de instalación, la iluminación, el ángulo, los reflejos,
las zonas muertas y el factor de zoom en cámaras PTZ. La altura apropiada en áreas externas varía
entre los 4 a 5 metros mientras que para áreas internas se recomienda una altura máxima de 3
metros.
La altura estimada de colocación de la cámara es de 4.40(m) debido a que estará instalada
en el poste de alumbrado público y tendido eléctrico con la utilización de un soporte tipo brazo
para precautelar que no exista conflicto.
57
Sensor, tipo de lente y ángulo de visión
Para nuestro modelo se utilizará una cámara PTZ de tipo domo de 4 megapíxeles, una
óptica de 42X, un rango de lente 6.0 mm – 252 mm, sensor 1/1.8” las características serían las más
óptimas para poder identificar rostros a aproximadamente 80(m) y objetos como los de nuestro
estudio a una mayor distancia.
Condiciones climáticas
La protección IP que la cámara PTZ posee es código IP 66, cuenta con protección contra
polvo, aguaceros.
Tipo de compresión
Para el proceso de compresión del video es la codificación y decodificación de este. La
compresión de video para el proyecto que se eligió es H.265 porque dan beneficio de ahorro hasta
un 50% del ancho de red y capacidad de almacenamiento del disco duro, conservando una
excelente calidad de video.
Visión nocturna
Las cámaras recomendadas cuentan con un sistema de infrarrojos que ayudan a tener una
visualización por las noches o en espacios con poca iluminación, la iluminación infrarroja de las
cámaras seleccionadas es de 500(m).
Selección del equipo de grabación y almacenamiento
Se recomienda utilizar equipo compatible con PoE, también se debe considerar el número
de cámaras soportadas, en nuestro caso solo es una, pero hay que considerar la posibilidad de una
futura ampliación del sistema, otra característica tomar en cuenta es la cantidad de almacenamiento
esto dependerá del número de cámaras y su resolución.
58
Selección de equipo de monitoreo o pantalla
para la selección del equipo de monitoreo es necesario tomar en cuenta la salida de
resolución del video y la pantalla debe tener mínimo una resolución de un 40% superior a la del
video generado por la cámara, en caso de monitoreo remoto se necesitaría un ordenador con el
software cliente de la cámara. Mas adelante mostraremos el desarrollo de un detector de objetos
personalizado, este modelo es general el cual podría se convertido a otros formatos incluso para el
uso en móviles por esta razón un smartphone también funcionaria como un equipo de monitoreo
incluso haciendo detecciones dentro del mismo.
Diseño del sistema de videovigilancia
Figura 10
Esquema del diseño del modelo de video vigilancia
Nota: Esquema del modelo de videovigilancia del proyecto. Elaborado por: Karen Alejandro y Marlon Yagual.
59
Modelo de detección de objetos
Se ha escogido las CNN para desarrollar el detector de objetos, se basó en los resultados
de autores cuyos trabajos tienen cierta similitud con la presente investigación, las CNN tienen
mayor precisión debido a sus grandes procesamientos al momento de la clasificación, en nuestro
trabajo de investigación necesitamos detectar embarcaciones, el sistema ya implementado debería
detectar en tiempo real y tomando en consideración que en un puerto pueden existir botes que se
muevan rápidamente, el sistema deberá detectar a una velocidad adecuada para proporcionar
detecciones fluidas por esta razón basamos nuestro detector en la darknet de YOlOv4 .
Figura 11
Diagrama de Bloques de la metodología
Nota: Se evidencia el diagrama de bloques de metodología. Elaborado por: Karen Alejandro, Marlon Yagual.
Captura de imagenesPre - procesamiento de
imagenes Creacion del Dataset Etiquetado
Dividir imagen (entrenamiento y
validacion)
Preparar data set para el entrenamiento
Entenamiento de modelo
Pruebas
Corrección de erroresEntenamiento de
modeloPruebas Detección en video
Detección en tiempo real de las
embarcaciones de pesca
Pruebas en campo
60
A continuación, en la figura 12 se visualiza la representación de las fases que realiza el
PDI, se escogió el dataset para la entrada y procesamiento de imágenes, se inició la fase de
entrenamiento donde se consumen las convoluciones.
Figura 12
Etapas de la metodología del proyecto
Nota: Se muestra las etapas de la metodología que se llevó en el proyecto. Elaborado por: Karen Alejandro, Marlon
Yagual.
Captura
Primera etapa del desarrollo, se utilizó MarCDT para la obtención de imágenes de
embarcaciones y posteriormente ser utilizas en el dataset.
61
Figura 13
Página web de MarDCT
Nota: Se muestra la interfaz gráfica de MarDCt. Elaborado por: Karen Alejandro, Marlon Yagual. Fuente: MarDCT
Para la descarga de imágenes se ingresó a un apartado de la página llamado detección allí
se encuentra un sub- tema llamado basado en HAAR donde indican que podemos descargar
imágenes para ser usadas en la detección de barcos el cual cuenta con imágenes negativas e
imágenes positivas que fue la que descargamos. Se ingreso a la pestaña clasificación y en la parte
de imágenes para clasificación se descargó los archivos de training y test los tres archivos cuentan
con un aproximado de 6000 imágenes, aquí se descartó algunas imágenes en donde no se visualizan
embarcaciones o estas tenían características que afectaría a la detección en nuestro estudio.
62
Figura 14
Obtención de imágenes en página web
Nota: Interfaz del lugar donde se descargó las imágenes para adjuntar al dataset. Elaborado por: Karen Alejandro,
Marlon Yagual. Fuente: MarDCT
Figura 15
Imágenes almacenadas en el ordenador luego de su descarga
Nota: Elaborado por: Karen Alejandro, Marlon Yagual. Fuente: Información del Proyecto
63
Para la captura de las imágenes del balneario de Ballenita, nos dirigimos a la zona como se
visualiza en la figura 16. Para ello se emplea una cámara digital y un teléfono celular que ayuda a
las tomas desde diferentes ángulos y distancias, se llegó a obtener más de 500 imágenes.
Figura 16
Escenario de Ballenita
Nota: se muestra grafica capturada del lugar de estudio. Elaborado por: Karen Alejandro, Marlon Yagual. Fuente:
Información del Proyecto
Figura 17
Imágenes tomadas
Nota: Elaborado por: Karen Alejandro, Marlon Yagual. Fuente: Información del Proyecto
64
Pre-Procesamiento
Para reducir el tiempo de procesamiento al entrenar el modelo se debe utilizar imágenes
que no contengan alta resoluciones por esta razón varias imágenes del dataset se redimensionaron,
las imágenes descargadas de los repositorios algunas contaban con varias resoluciones las cuales
no eran muy altas y no hubo necesidad de redimensionarlas. Las fotografías tomadas en varios
puertos pesqueros de la Provincia de Santa Elena tenían resoluciones muy altas por tal motivo se
las recorto y redimensiono a (300 x 200) y (416 x 416) pixeles para llevar a cabo este trabajo se
utilizó la aplicación Photoshop llegando así a sacar varias imágenes de una sola foto. Colocando
varios filtros.
Figura 18
Recorte y redimensión de fotografías
Nota: Se evidencia el trabajo que se está llevando a cabo con las imágenes colocando filtro para sacar de una imagen
hasta seis de ella. Elaborado por: Karen Alejandro y Marlon Yagual.
65
Figura 19
Comparación de la foto original con la foto redimensionada
Nota: Se muestra los cambios que tiene una imagen al ser redimensionada. Elaborado por: Karen Alejandro, Marlon
Yagual Fuente: Información del Proyecto.
Se realizó consultas para saber con cuantas imágenes mínimo puede trabajar un dataset la
respuesta fue más de 100 sin embargo tendría un margen de error alto ya que entre más imágenes
tenga el dataset los falsos positivos se reduciría.
Etiquetado
Una vez formado el dataset, procedimos con el etiquetado manual de cada una de las
imágenes, después de investigar se llegó a la conclusión de que la herramienta LabelImg es la
idónea para realizar el etiquetado, dicho software genera un archivo TXT que nos permite marcar
objetos en una imagen, el archivo generado guarda información sobre la del objeto etiquetado
dentro de la imagen. Al momento de la detección de objetos es esencial proceder con un etiquetado,
66
se va a requerir mucho tiempo para este proceso ya que se realiza de manera manual, para este
proyecto se utilizó 7.671 imágenes, el archivo TXT generado contiene la clase del objeto detectado
y las coordenadas del mismo por cada imagen, todo esto se utilizó para poder comenzar a realizar
el entrenamiento del modelo.
Figura 20
Esquema del etiquetado de imágenes.
Nota: Se muestra la forma que se realizó el etiquetado a las imágenes para su posterior entrenamiento. Elaborado por:
Karen Alejandro, Marlon Yagual. Fuente: Información del Proyecto
Al utilizar LabelImg se debe indicar la ruta donde se encuentra almacenado el dataset y la
ruta donde se guardarán las etiquetas, en nuestro caso se decidió dejar los archivos en una sola
carpeta en conjunto a las imágenes, al momento de realizar el etiquetado de una embarcación se
definió la clase a la que pertenece ya que existen tres clases como barcos, persona, motores-bote,
como se visualiza a continuación en la figura 21.
67
Figura 21
Etiquetado manual de las embarcaciones
Nota: Se evidencia que el etiquetado de las imágenes fue de forma manual, se hace énfasis en la imagen de que se
debe etiquetar con YOLO. Elaborado por: Karen Alejandro, Marlon Yagual. Fuente: Información del Proyecto
Figura 22
Visualización de un archivo TXT generado
Nota: Visualización del archivo que se genera una vez terminada la etiqueta de la imagen. Elaborado por: Karen
Alejandro, Marlon Yagual. Fuente: Información del Proyecto
68
Luego de tener etiquetadas las imágenes se dividió el dataset de la siguiente manera 80%
de imágenes para entrenamiento y el 20% restante para la validación, se utilizó la herramienta de
Jupyter Notebook donde se realiza la división del dataset de manera aleatoria el proceso de la
división del dataset se puede visualizar en el anexo 8.
Figura 23
Esquema de división del Dataset
Nota: Se muestra el esquema de división del dataset donde se va a utilizar el 80% de imágenes para pruebas, el 20%
para validación. Elaborado por: Karen Alejandro y Marlon Yagual.
Extracción de Características
La ventaja de dar uso a las CNN se debe a que al momento de la fase de extracción de
características no se la realiza de manera manual para cada imagen del dataset, sino que el proceso
es automático permitiendo reconocer patrones y rasgos que contengan las imágenes independientes
del número existente, por esta razón se hace factible tener más de mil imágenes de diferentes tipos
de ángulos y distancias, se debe aplicar el desenfoque de movimientos, en cuanto su brillo e
69
iluminación. Es recomendable realizar el dataset en base a la escala de grises puesto que agiliza el
trabajo al momento de la detección, reducen las características impropias de la imagen como los
escenarios. En el caso de nuestro proyecto se trabajó con el escenario propio de la localidad cabe
recalcar que los botes están anclados a una distancia de la orilla del mar.
Clasificador
Nuestro proyecto contiene un dataset con un gran conjunto de imágenes de diferentes botes
lo que conlleva a la necesidad de tener recursos óptimo para realizar el entrenamiento del modelo
es por ello que utilizamos Google-Colab porque nos ofrece el poder computacional necesario, para
el trabajo se ha utilizado la GPU y memoria que ofrece Colab, esto permite que se realice un
entrenamiento rápido, todo se debe al poder computacional que nos ofrece el entorno virtual que
se está utilizando, en el caso de no contar con GPU el procesamiento lo llevara a cabo la CPU
aumentando así el tiempo de entrenamiento.
Cuando las imágenes se encuentran con su respectiva etiqueta comprimidas y subidas a
Google Drive, se inicia con el entrenamiento, se usó una versión de YOLO V4. Después de
investigar cual es el entorno óptimo para entrenar nuestro modelo llegamos a la conclusión de usar
AlexeyAB/darknet pero tomando en cuenta el manual de roboflow-ai/darknet ya que este último
tiene instrucciones para configuraciones automáticas lo que nos reduce la posibilidad de realizar
una mala configuración en la red neuronal.
70
Figura 24
Repositorio GitHub de AlexyAB/darknet
Nota: Se evidencia el repositorio de AlexyAB/darknet ya que es el entorno apropiado para entrenar nuestro modelo.
Elaborado por: Karen Alejandro y Marlon Yagual.
Para realizar el entrenamiento debemos clonar AlexyAB/darknet en nuestro entorno de
trabajo de Colab ejecutando el siguiente comando:
!git clone https://github.com/AlexeyAB/darknet
71
Como siguiente punto se procede a configurar el Makefile para tener GPU y OpenCV
habilitado, luego se crea un archivo del Darknet ejecutable que nos servirá para entrenar el modelo,
las configuraciones se las realiza con la siguiente línea de código:
%cd darknet
!sed -i 's/OPENCV=0/OPENCV=1/' Makefile
!sed -i 's/GPU=0/GPU=1/' Makefile
!sed -i 's/CUDNN=0/CUDNN=1/' Makefile
!sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
%cd /content/darknet
!make
Teniendo los directorios de entrenamiento y validación en nuestra cuenta de Google Drive
necesitamos llevar estos archivos al entorno de trabajo, se debe vincular el cuaderno de Google
Colab con Google Drive, luego descargar los pesos para el entrenamiento siguiendo las
indicaciones que se muestran a continuación:
• Entrenamiento con datos personalizados usando capas convolucionales de
YOLOv4. Al usar estos pesos ayuda a que el detector de objetos personalizado sea
mucho más preciso y no tenga que entrenar tanto tiempo.
• Entrenamiento a partir de un peso ya entrenado el cual se detuvo en algún punto sin
haber terminado el proceso. Esta opción es necesaria si por alguna razón se obtiene
un error o Colab se queda inactivo durante el entrenamiento, el proceso no se
perderá ya que cada 100 iteraciones se guarda un respaldo en la carpeta que
predefinamos, como recomendación la carpeta donde se guarden los pesos debe
estar fuera del entorno virtual en el que trabajamos.
72
Para el entrenamiento del modelo con nuestros datos se debe traer al dataset comprimido
al entorno virtual y descomprimirlo dentro de la Darknet, al tener el dataset en el entorno de Colab
se procede a generar archivos necesarios previos al entrenamiento, uno será obj.data y por otra
parte tendremos a custom-yolov4-detector.cfg los cuales se explican a continuación:
Obj.data
Se detalla cinco puntos importantes que son el número de clases, directorio y creación del
listado de imágenes para entrenamiento y validación que es un archivo .txt por cada carpeta,
directorio del archivo .names que contiene el nombre de las clases y el directorio donde se guardara
el backup del entrenamiento el cual es recomendable guardarlo en una carpeta dentro de Google
Drive.
Custom-yolov4-detector.cfg
Antes de configurar se debe tener en cuenta algunos parámetros
• Tamaño de imagen que procesa la red: para nuestro modelo este valor será de
416 pixeles, pero se podría poner otra medida siempre y cuando sea múltiplo de 32.
Toda imagen de entrada será redimensionada con el valor que definamos antes de
entrar en la red.
• Etiquetas o clases: serán el número de objetos a detectar.
• epochs: la cantidad de iteraciones sobre TODO el dataset que realizará la red
neuronal para entrenar. Este valor se obtiene multiplicando el número de clases por
dos mil este valor no debe ser menor a seis mil ni al total de imágenes que se usaran.
73
A continuación, se mostrará el método que usamos para configurar y crear el archivo .cfg
de forma automática pero previo a esto se descargó archivos necesarios que se encuentran en el
repositorio de GitHub de roboflow-ai/darknet
Figura 25
Repositorio GitHub de roboflow-ai/darknet que aloja archivos cfg
Nota: Se muestra el repositorio de roboflow-ai/darknet donde se encuentran archivos para el cfg. Elaborado por: Karen
Alejandro y Marlon Yagual.
Los archivos mostrados en el gráfico 25 son necesarios para generar la configuración del
archivo .cfg para esto se importan los archivos a nuestra cuenta de Drive y así pasarlos al entorno
de colab.
Al tener listo todos los archivos necesarios para entrenar nuestro modelo ejecutaremos la
siguiente línea de código:
#Esta linea se ejecuta si se entrena el modelo desde 0
!./darknet detector train data/obj.data cfg/custom-yolov4-detector.cfg
yolov4.conv.137 -dont_show -map
#esta linea se ejecuta para continuar el entrenamiento de un modelo detenido.
74
!./darknet detector train data/obj.data cfg/custom-yolov4-detector.cfg
ant_pesos/custom-yolov4-detector_best.weights -dont_show -map
Cuando se ejecuta se cargará la configuración del modelo, también el peso, así mismo las
anotaciones donde se encontrarán las respectivas etiquetas de cada imagen, en el dataset se puede
verificar si existe algún error o inconveniente antes de realizar el entrenamiento si el caso fuese de
no encontrar anomalías, se comenzará con el entrenamiento tal como se observa en la figura 26.
Figura 26
Ejecución del comando de entrenamiento
Nota: Se evidencia los comandos que se ejecutaron para el entrenamiento. Elaborado por: Karen Alejandro y Marlon
Yagual.
El proceso del entrenamiento lo podemos ver de manera más detallada en el anexo 8
75
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
Para validar el presente trabajo de titulación se utilizó el juicio de expertos. Se llevo a cabo
la misma, considerando a un docente de la Facultad de Ciencias Matemáticas y Físicas, a un
Ingeniero en Sistemas Computacionales y un Ingeniero en Electrónica y Telecomunicaciones cuyo
propósito es que ellos validaran la propuesta. Al docente considerado se les remitió un correo
electrónico por parte de los investigadores del proyecto, el que contenía la propuesta y cómo se
llevó el proceso para el desarrollo. Adicionalmente, se envió los formatos respectivos que debían
ser llenados para la constancia del juicio de expertos.
Análisis de indicadores
El ingeniero electo para formar parte del juicio de expertos, fue el M.Sc. Jorge Charco,
docente con conocimiento en el campo de la Inteligencia Artificial, la Ing. Jessica Jaramillo,
docente con conocimientos en electrónica y telecomunicaciones por último la Ing. Karen Chiquito,
con experiencia en desarrollo de software y líder de proyectos en la empresa donde labora. Los
indicadores seleccionados para la evaluación por parte de los expertos del presente proyecto
fueron: Claridad, Objetividad, Actualidad, Suficiencia, intencionalidad, Consistencia,
Metodología, Aplicabilidad. Todos los indicadores contenían un criterio.
Indicadores con su respectivo Criterio:
Claridad: Se utiliza el lenguaje de programación apropiado que facilita la comprensión.
Objetividad: Esta expresado en conductas observables y medibles.
Actualidad: Esta acorde a los aportes recientes en la disciplina de estudio.
Suficiencia: Son suficientes la calidad de ítems presentados en el instrumento.
76
Intencionalidad: Es adecuado para valorar la variable seleccionada.
Consistencia: Está basado en aspectos teóricos y científicos.
Metodología: El instrumento se relaciona con el método planteado en el proyecto.
Aplicabilidad: El instrumento es de fácil aplicación.
Validación de Expertos
Análisis de Experto: M.Sc. Jorge Luis Charco Aguirre
El M.Sc. Jorge Charco, por medio del correo enviado a los investigadores él pudo conocer
la propuesta y el desarrollo de esta. Posteriormente se recepto los documentos enviados con su
respectiva firma, dando por hecho la validación respectiva. Todos los ítems recibieron la máxima
puntuación “Excelente” que arrojó un 100/100 en la sumatoria final. Por parte del M.Sc. Jorge
Charco, no hubo observaciones y procedimos a adjuntar los documentos respectivos en el anexo
7.
Análisis de Experto: Ing. Jessica Jaramillo González
Con la Ing. Jessica Jaramillo se acordó una reunión personalmente aprovechando que ella
es de la Provincia de Santa Elena no hubo inconvenientes, ella pudo visualizar el modelo del
sistema de videovigilancia nos manifestó que le parecía innovador el proyecto que estábamos
llevando ya que son muy pocos los que se enfocan en el ámbito de la pesca artesanal, no hubo
observaciones por su parte procedió a calificarnos dando como resultado 100/100, luego firmo el
acta de juicio de experto dicho documento se lo evidencia en el anexo 7.
77
Análisis de Experto: Ing. Karen Chiquito Bartolomé
Con la Ing. Karen Chiquito, se acordó realizar una reunión por medio de la plataforma
Google Meets para responder a sus inquietudes. Además, visualizó el software en funcionamiento,
lo cual permitió que entendiera la propuesta y como había sido desarrollada. Las preguntas
realizadas por la Ing. Karen Chiquito se centraron en el conjunto de datos utilizados y si este había
pasado por un preprocesamiento previo al entrenamiento del modelo. Adicionalmente, preguntó si
el aplicativo podía ser utilizado en otro sistema operativo, y en este caso, se le mencionó que era
exclusivo para el sistema operativo Windows. Por parte de la Ing. Karen Chiquito calificó los
Todos los ítems recibieron la máxima puntuación “Excelente” que arrojó un 100/100 en la
sumatoria final y procedimos a adjuntar los documentos respectivos en el anexo 7.
Análisis de Experto: M.Sc. Charles Pérez Espinoza
El M.Sc. Charles Pérez Espinoza, por medio de una videoconferencia por la plataforma de
ZOOM logro conocer la propuesta y el desarrollo de nuestro proyecto. Posteriormente se recepto
los documentos enviados con su respectiva firma, dando por hecho la validación. Todos los ítems
recibieron la máxima puntuación “Excelente” que arrojó un 100/100 en la sumatoria final. Por
parte del M.Sc. Charles Pérez, no hubo observaciones y procedimos a adjuntar los documentos
respectivos en el anexo 7.
RESULTADOS
Para llegar definir un modelo óptimo para la detección de los objetos definidos en su
entorno habitual fue necesario hacer tres entrenamientos con la única variación que fue las
dimensiones de las imágenes del dataset tal como se puede apreciar en la Tabla 18.
78
Tabla 18
Entrenamientos realizados.
N.º Modelo Total, de
imágenes
Rango de resoluciones
Modelo_v1 7000 100 x 100 - 400 x 400
Modelo_v2 7671 100 x 100 - 800 x 800
Modelo_v3 8646 100 x 100 en adelante
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
El resultado obtenido después de los tres entrenamientos se los detalla en las siguientes
tablas:
Tabla 19
Resultados obtenidos en el Modelo_v1.
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 58.79 62.0 62.0 62.0 73.61 51.47 51.29
2000 79.27 81.0 76.0 79.0 90.18 79.37 68.27
3000 78.53 77.0 77.0 77.0 88.37 81.50 65.70
4000 82.29 82.0 79.0 80.0 89.79 84.10 72.97
5000 82.77 80.0 82.0 81.0 90.03 85.06 73.23
6000 82.15 81.0 81.0 81.0 90.14 84.43 71.88
7000 83.50 82.0 82.0 82.0 91.31 84.59 74.60
8000 83.72 82.0 82.0 82.0 91.76 86.04 73.36
Best 84.20 82.0 82.0 82.0 92.07 86.55 73.99
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
79
De las cifras mostrada en la Tabla 19 se llegó a la conclusión de usar el peso “Best” en la
que los resultados obtenidos son un AP de 84.20, una precisión y Recall de 82% y el AP individual
por cada clase es: para barcos es de 92.07%, en motores 86.55% y en persona 73.99%.
Tabla 20
Resultados obtenidos en el Modelo_v2
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 67.57 64.0 73.0 68.0 80.99 53.69 68.02
2000 79.11 73.0 81.0 77.0 88.23 71.75 77.35
3000 84.89 79.0 84.0 81.0 91.50 81.28 81.91
4000 85.69 83.0 83.0 83.0 92.37 82.79 81.89
5000 85.31 82.0 83.0 83.0 91.77 82.25 81.92
6000 85.96 82.0 84.0 83.0 92.45 84.20 81.23
7000 86.51 80.0 86.0 83.0 92.36 85.24 81.92
8000 86.78 81.0 86.0 84.0 93.36 85.43 81.55
9000 86.67 82.0 86.0 84.0 93.33 84.91 81.77
Best 87.15 82.0 86.0 84.0 93.65 85.59 82.21
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
De las cifras mostrada en la Tabla 20 se llegó a la conclusión de usar el peso “Best” en la
que los resultados obtenidos son un AP de 87.15, una precisión de 82%, Recall de 86% y el AP
individual por cada clase es: para barcos es de 93.65%, en motores 85.59% y en persona 82.21%.
80
Tabla 21
Resultados obtenidos en el Modelo_v3
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 50.36 59.0 63.0 61.0 63.20 36.28 51.60
2000 79.20 74.0 80.0 77.0 87.16 72.32 78.13
3000 81.72 77.0 82.0 79.0 88.70 78.77 77.71
4000 81.46 78.0 81.0 79.0 89.27 76.71 78.40
5000 82.72 77.0 84.0 80.0 89.60 80.60 78.48
6000 82.55 81.0 82.0 81.0 89.35 79.41 78.89
7000 82.60 77.0 83.0 80.0 89.76 80.01 78.03
8000 82.59 80.0 82.0 81.0 90.19 80.51 77.07
9000 83.41 79.0 83.0 81.0 89.90 82.32 78.02
10000 83.64 77.0 84.0 81.0 90.03 81.85 79.04
10576 83.90 79.0 84.0 81.0 90.38 82.96 79.14
11952 83.94 79.0 84.0 81.0 90.32 82.05 79.47
12000 83.87 79.0 84.0 82.0 90.32 81.78 79.51
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
De las cifras mostrada en la Tabla 21 se llegó a la conclusión de usar el peso “10576” en
la que los resultados obtenidos son un AP de 83.90, una precisión de 79%, Recall de 84% y el AP
individual por cada clase es: para barcos es de 90.38%, en motores 82.96% y en persona 79.14%.
Para evaluar los modelos de detección de embarcaciones se realizó algunas pruebas que se
detallan a continuación.
81
Validación del modelo en fotos
Para probar la detección de nuestros modelos generados fue necesario realizar una demo
donde utilizaremos fotos y videos que no están dentro del dataset de la zona de estudio y así se
obtuvo los siguientes resultados:
Fotos
se pasó por el detector de embarcaciones varias fotos utilizando el peso previamente
entrenado de YOLOv4 que puede detectar hasta 80 clases como prueba preliminar, luego se utilizó
los pesos seleccionados por cada entrenamiento, cabe recalcar que se configuro que se muestren
detecciones con precisión mayor a 30%. Finalmente se obtuvo los siguientes resultados:
Prueba en foto #1
Figura 27
Detección de objetos con el peso de YOLOv4.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
La detección preliminar en la primera foto nos ofrece los siguientes datos, se detectaron un
total de 10 barcos de los cuales 8 tienen una precisión superior al 92% mientras que las dos
restantes rondan el 66% también detecta una persona con un 100% de precisión.
82
Figura 28
Detección de objetos con el peso del Modelo_v1.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En el Figura 28 muestra los siguientes objetos detectados, se detectaron un total de 7 barcos
de los cuales 6 tienen una precisión que va desde el 70% y el restante con 32% de precisión, por
otra parte, detecta 2 motores con una presión que no supera el 45% aunque ambos son falsos
positivos, también detecta una persona con un 99% de precisión.
Figura 29
Detección de objetos con el peso del Modelo_v2
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
83
En la figura 29 muestra los siguientes objetos detectados, se detectaron un total de 11
barcos de los cuales 8 tienen una precisión que va desde el 86% y ellos restantes va de 47% a 64%
de precisión, aunque cabe recalcar que el bote con 47% de presión esta sobrepuesta con otra
detección de barco, por otra parte, detecta 3 motores con una presión que supera el 66% como dato
extra detecta un que está cubierto con una lona, también detecta una persona con un 99% de
precisión.
Figura 30
Detección de objetos con el peso del Modelo_v3.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 30 muestra los siguientes objetos detectados, se detectaron un total de 10
barcos de los cuales 9 tienen una precisión que va desde el 88% y ellos restantes con una presión
de 69% precisión, por otra parte, detecta 3 motores con una presión que supera el 74% superando
los porcentajes del modelo anterior, también detecta una persona con un 99% de precisión.
84
Prueba en foto #2
Figura 31
Detección de objetos con el peso de YOLOv4.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 31 se hizo la detección con el peso de YOLOv4 cuya detección nos ofrece los
siguientes datos, se detectaron un total de 10 barcos los cuales tienen una precisión superior al
42%.
Figura 32
Detección de objetos con el peso del Modelo_v1.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
85
En la figura 32 muestra los siguientes objetos detectados, se detectaron un total de 13
barcos de los cuales 9 tienen una precisión que va desde el 75% y los restantes con una precisión
que va del 36% al 65%, por otra parte, detecta 5 motores con una presión que va del 31% al 80%
de precisión, también detecta 2 personas con una precisión que no supera el 35%, las cuales son
falsos positivos.
Figura 33
Detección de objetos con el peso del Modelo_v2
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
86
En la figura 33 muestra los siguientes objetos detectados, se detectaron un total de 11
barcos de los cuales 7 tienen una precisión que va desde el 74% y el restantes va de 37% a 64% de
precisión, por otra parte, detecta 7 motores de los cuales 5 tienen una precisión superior al 63% y
los 2 restante rondan el 35% de presión, también detecta una persona con un 40% de precisión
sigue siendo un falso positivo, como dato extra hay varios motores que no fueron detectados
algunos por estar en segundo plano.
Figura 34
Detección de objetos con el peso del Modelo_v3.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 34 muestra los siguientes objetos detectados, se detectaron un total de 18
barcos de los cuales 8 tienen una precisión que va desde el 72% y los restantes con una presión
87
que está en el rango de 31% al 69%, por otra parte, detecta 17 motores de los cuales 8 superan el
50% de presión, mientras que los restantes van del 33% al 47%, cabe recalcar que hay 3
detecciones de motores sobrepuesta sobre otra, también detecta una persona con un 50% de
precisión que es un falso positivo.
Prueba en foto #3
Figura 35
Detección de objetos con el peso de YOLOv4.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 35 se hizo la detección con el peso de YOLOv4 cuya detección nos ofrece los
siguientes datos, se detectaron un total de 7 barcos los cuales tienen una precisión superior al 38%
también algunos botes fueron detectados como aves.
88
Figura 36
Detección de objetos con el peso del Modelo_v3
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 36 muestra los siguientes objetos detectados, se detectaron un total de 16
barcos de los cuales 9 tienen una precisión que va desde el 70% y los restantes con una presión
que está en el rango de 41% al 66%. No se muestra la detección con los Modelos v1 y v2 ya que
no se tubo detección de objetos algunas esta fue una de las razones de entrenar un tercer modelo
que detecte objetos lejanos.
Prueba en foto #4
Figura 37
Detección de objetos con el peso de YOLOv4.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
89
En la figura 37 se hizo la detección con el peso de YOLOv4 cuya detección nos ofrece los
siguientes datos, se detectaron un total de 13 barcos de los cuales 8 tienen una precisión superior
al 54% y el restante está en un rango que va del 31% al 43%, también detecta 3 persona con un
porcentaje superior al 64%.
Figura 38
Detección de objetos con el peso del Modelo_v2
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 38 muestra los siguientes objetos detectados, se detectaron un total de 2 barcos
con 36% y 68% de precisión respectivamente, también es detectada una persona con 39% de
precisión.
90
Figura 39
Detección de objetos con el peso del Modelo_v3.
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
En la figura 39 muestra los siguientes objetos detectados, se detectaron un total de 19
barcos de los cuales 11 tienen una precisión que va desde el 55% y los restantes con una presión
que está en el rango de 31% al 49%, por otra parte, detecta 5 motores con una precisión que no
supera el 57%, también fueron detectadas 4 personas, 3 de ellas con una precisión superior al 65%
y la restante con una precisión de 31 por la razón de que es una imagen parcial que a simple vista
no se logra divisar. La detención del modelo_v1 no es mostrada ya que no genero ninguna.
Validación del modelo en tiempo real
Para realizar la validación de los modelos de la detección en tiempo real se optó por dividir
las pruebas en dos partes realizando detecciones de objetos dentro de una maqueta que contiene
botes hechos de madera, muñecos de juguetes simulando ser personas, por último, motores hechos
de plástico y por medio de videos capturados de la zona a estudiar se procedió a mostrar por medio
de una pantalla el video para que el modelo los pueda reconocer.
91
Video
Tabla 22
Comparación de modelos generados validados con un video en una pantalla
Modelo Detección 1 Detección 2
Modelo_v1
Modelo_v2
Modelo_v3
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
92
En la tabla 22 se puede observar la detección de objetos en tiempo real de cada uno de los
modelos generados, se capturo dos fotogramas del video para probar con cada modelo y se obtuvo
los siguientes resultados: en el primer fotograma la detección esta casi a la par con cada modelo
la variación que se observa es en el porcentaje de presión, también se observa que el tercer modelo
esta apto para detectar objetos que están en segundo plano y se ven pequeños. En el segundo
fotograma los datos obtenidos son: buena detección de barcos, pero en motores el tercer modelo
los supera ya que este último detecta los motores que no tomaron en cuenta sus predecesores,
también se pudo determinar que el porcentaje de detección esta sobre el 50%
Maqueta
Finalmente, para probar la detección de objetos de nuestros modelos y determinar cuál es
modelo optimo se hizo una representación de un estacionamiento de botes y sobre la misma probar
el modelo para ver los resultados obtenidos.
En las tablas 23 y 24 se muestran la comparación de los modelos, en el v1 se aprecia que
no detecta todos los barcos en la maqueta, en el v2 sigue sin detectar unos botes incluso hasta una
persona y el v3 tiene mayor porcentaje de precisión en cuanto a la detección ya que reconoce todos
los barcos, las personas hasta incluso el motor.
93
Tabla 23
Comparación de modelos generados validados con en una maqueta
Modelo Detección
Modelo_v1
Modelo_v2
Modelo_v3
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
94
Tabla 24
Comparación de modelos generados validados con en una maqueta
Modelo Detección
Modelo_v1
Modelo_v2
Modelo_v3
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
95
Tabla 25
Resumen de resultado de las pruebas
Mo
del
o
s
Prueba imágenes objetos cercanos Prueba imágenes objetos lejanos
Barcos Motores personas Barcos Motores personas
Aciertos FP Aciertos FP Aciertos FP Aciertos FP Aciertos FP Aciertos FP
V1
19/28
32%
|
99%
1-65%
5/15
31%
|
80%
1-33%
1–44%
1/1
99%
1 – 34%
1 – 35% 0 0 0 0 0 0
V2
21/28
37%
|
99%
1-47%
10/15
35%
|
87%
1–34% 1/1
99% 1 – 40%
2/31
36%
|
68%
0 0
0
1/4
39% 0
V3
28/28
31%
|
99%
0
18/18
31%
|
99%
2–30%
1–39%
2–46%
1/1
99% 1 –50 %
30/31
42%
|
90%
2–40%
2–45%
1–51%
5/6
57%
|
70%
0 4/4
99% 0
Pruebas en tiempo real
Maqueta Video
V1
14/16
57% |
94%
0 0 0 0 0
11/11
71% |
95%
0
3/5
50% |
82%
0 0 0
V2 16/16
52% |
89%
0 1/2
51% 0 0 0
10/11
50% |
94%
0 1/5
64% 0 0 0
V3 16/16
69% |
97%
0
2/2
67% |
79%
0
3/3
60% |
72%
0
11/11
52% |
95%
0
5/5
55% |
85%
0 0 0
Nota: elaborado por: Karen Alejandro y Marlon Yagual. Fuente: Propia del proyecto
96
CAPITULO IV - CONCLUSIONES Y
RECOMENDACIONES CONCLUSIONES Y RECOMENDACIONES
Conclusiones
Luego de revisar referentes teóricos se obtuvo conocimientos del uso de CNN para el
detector de objetos en espacios acuáticos, la detección de barcos en su entorno es variable a casusa
del desorden que hay en el mar.
Para la creación del dataset fue necesario tener como mínimo 1000 imágenes por cada
clase, entre más imágenes la detección fue más acertada, al final para detección de objetos
pequeños o lejanos fue necesario utilizar imágenes con altas resoluciones para que la detección
sea acertada.
Después de realizar el reconocimiento del sitio se determinó que para la implementación
del sistema de videovigilancia el tipo de cámara se la debe seleccionar bajo los parámetros
distancia y ubicación.
Después de la revisión y validación de expertos sobre el funcionamiento del prototipo, este
fue aprobado. No hubo observaciones y se calificó con la mayor nota.
Finalmente, se realizó el modelo en Machine Learning fue validada por expertos y se
realizó una maqueta como prueba de que el modelo realiza detecciones.
97
Recomendaciones
Se debe tener un dataset con un número elevado de imágenes para que el modelo generado
realice la detección de objetos, también se debe tener en cuenta que la cantidad de las iteraciones
no deben ser pocas ya que en el transcurso van mejorando el promedio de precisión, tampoco
deben ser muchas ya que esto significa que el modelo tardara en finalizar el entrenamiento y existe
el riesgo de overfitting.
Se debe utilizar imágenes con altas resoluciones y así mejorar la detección en objetos
pequeños, aunque esto conllevaría a que demore días o semanas el entrenamiento, pero la detección
en objetos pequeños o lejanos mejoraría significativamente.
Si es el caso de no tener recursos informáticos para llevar cabo proyectos de igual similitud
es recomendable el uso de herramientas alojadas en la nube como Google Colab donde se tiene
como opción GPU gratuita para el desarrollo de proyectos basados en Machine Learning.
Trabajos futuros
Al finalizar el estudio se generó un dataset y un modelo de detección de botes, el dataset
puede ser usado para trabajos similares, aumentar su volumen o añadir nuevas clases de objetos a
detectar, mientras el modelo generado está en un formato Darknet el cual puede convertirse en
otros formatos para su implementación así desarrollar un detector de barcos para varios
dispositivos incluso para móviles.
98
REFERENCIAS BIBLIOGRAFICAS
BIBLIOGRAFIA
Álvarez, J y Olaya, J. (2021). Implementación de redes neuronales en sistema de semaforización
inteligente. Universidad Autónoma de Occidente (UAO).
https://hdl.handle.net/10614/13074
Alvear, V., Rosero, P., Peluffo, D. y Pijal, J. (2017). Internet de las Cosas y Visión Artificial,
Funcionamiento y Aplicaciones: Revisión de Literatura. Enfoque UTE, 7(1), 244-256.
https://doi.org/10.29019/enfoqueute.v8n1.121
Alonso, A., Garcia,L., León, I., García, E., Gil, B. y Ríos, L. (2016). Métodos de investigación de
enfoque experimental. Perú. http://www.postgradoune.edu.pe/pdf/documentos-
academicos/ciencias-de-la-educacion/10.pdf
Avilés Bastidas, A., Sánchez Jordán, G., & Villao Quezada, F. (2017). Sistema de monitoreo de
embarcaciones de pesca artesanal de Anconcito, provincia de Santa Elena, Ecuador,
utilizando tecnología AIS - Automatic Identification System. Revista Científica Y
Tecnológica UPSE, 4(1), 194-202. https://doi.org/10.26423/rctu.v4i1.264
Balparda, N. (24 de noviembre de 2020). Introducción a Machine Learning. Obtenido de gub.uy:
https://www.gub.uy/agencia-gobierno-electronico-sociedad
informacionconocimiento/sites/agencia-gobierno-electronico-
sociedadinformacionconocimiento/files/2020-11/20201124%20
%20Introducci%C3%B3n%20a%20Machine%20Learning.pdf
99
Bentes, C., Velotto, D. y Tings, B. (2018). Ship Classification in TerraSAR-X Images with
Convolutional Neural Networks. IEEE Journal of Oceanic Engineering, 43(1), 258-266.
https://doi.org/10.1109/JOE.2017.2767106
Bloisi, D., Previtali., F., Pennisi, A., Nardi, D, y Fiorini, M. (2017). Enhancing Automatic
Maritime Surveillance Systems with Visual Information. IEEE Transactions on Intelligent
Transportation Systems, 18(4), 824-833. https://doi.org/10.1109/TITS.2016.2591321
Bloisi, D., Iocchi, L., Pennisi, A. y Tombolini, L, (2015)"ARGOS-Venice Boat Classification," in
12th IEEE International Conference on Advanced Video and Signal Based Surveillance
(AVSS), 2015, pp.1-6, 2015. doi: 10.1109/AVSS.2015.7301727
Bousetouane F., Morris B. (2015) Off-the-Shelf CNN Features for Fine-Grained Classification of
Vessels in a Maritime Environment. In: Bebis G. et al. (eds) Advances in Visual
Computing. ISVC 2015. Lecture Notes in Computer Science, vol 9475. Springer, Cham.
https://doi.org/10.1007/978-3-319-27863-6_35
Durán, J. (2017). Redes neuronales convolucionales en R : Reconocimiento de caracteres escritos
a mano [Trabajo Fin de Grado, Universidad de Sevilla].
https://hdl.handle.net/11441/69564
Fiscalía General del Estado. (2019). Delitos Cometido en Espacios Acuáticos. Perfil
criminológico. https://www.fiscalia.gob.ec/pdf/politica-criminal/criminologico25.pdf.
Galeano, J.(2018).¿Por qué usar GitHub? Diez pasos para disfrutar de GitHub y no morir en el
intento. Open Access, 27(2), https://doi.org/140-141. 10.7818/ECOS.1604
100
Gil, S. (2021) Desarrollo de aplicación basada en CNN para algoritmos de visión en coches
autónomos. [Trabajo Fin de Grado, Universidad Complutense de Madrid]
Hui, D., Lan, D., Yan, W. y Zhaocheng, W. (2016). A Modified CFAR Algorithm Based on Object
Proposals for Ship Target Detection in SAR Images. IEEE Geoscience and Remote Sensing
Letters, 13(12), 1925 - 1929. https://doi.org/10.1109/LGRS.2016.2618604
Kanaan, S., & Ventura, C. (2016). Diseño de un sistema de reconocimiento automático de
matrículas de vehículos mediante una red neuronal convolucional.
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/52222/7/fnunezsTFM0616memor
ia.pdf
Kantun, D. (2018). Desarrollo del Sistema de Detección de los Objetos Flotantes sobre Superficie
Marítima usando Visión Artificial [Trabajo Fin de Grado, Universidad Autónoma del
Carmen]. http://www.repositorio.unacar.mx/jspui/handle/1030620191/84
Lemley, J., Bazrafkan, S., y Corcoran, P. (2017). Deep Learning for Consumer Devices and
Services: Pushing the limits for machine learning, artificial intelligence, and computer
vision. IEEE Consumer Electronics Magazine, 6(2), 48–56. 10.1109/mce.2016.2640698
Lino, J. (23 de enero de 2021). Santa Elena: Pescadores reciben otro ataque de piratas. Expreso.
https://www.expreso.ec/guayaquil/santa-elena-pescadores-reciben-ataque-piratas-
97498.html
Ludwig, A. & Mattias, R. (2018). Machine Learning for Categorization of Small Boats and Sea
Clutter [Tesis de maestría, Chalmers University of Technology].
http://publications.lib.chalmers.se/records/fulltext/255261/255261.pdf
101
Maseda, M. (02 de enero de 2019). Reducción de la dimensionalidad mediante métodos de
selección de características en microarrays ADN.
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/89668/11/mmasedaTFG0119me
moria.pd
Meier Von Schierenbeck Martínez, W. (2020). Conciencia del dominio marítimo y su integración
al sistema de control y vigilancia marítima del Perú. Revista De La Escuela Superior De
Guerra Naval, 17(2), 85-108. https://revista.esup.edu.pe/RESUP/article/view/101
Mucchielli, L. (2021). ¿Cuál es el propósito de la videovigilancia? Lecciones de la experiencia
francesa. OBETS. Revista de Ciencias Sociales, 16(1), 175-190.
https://doi.org/10.14198/obets2021.16.1.11
Nie, X., Yang, M. y Liu, R. (2019). Deep Neural Network-Based Robust Ship Detection Under
Different Weather Conditions. 2019 IEEE Intelligent Transportation Systems Conference,
ITSC 2019, 47-52. https://doi.org/ 10.1109/ITSC.2019.8917475
Nina, W. (2020). Detección de embarcaciones utilizando Deep Learning e imágenes satelitales
ópticas [Trabajo Fin de Grado, Universidad Nacional de San Agustín].
http://hdl.handle.net/20.500.12773/12247
Quevedo, J. (29 de junio de 2020). Desarrollo de un modelo de clasificación de malware Linux
ARM según su funcionalidad utilizando técnicas de aprendizaje automático.
http://oa.upm.es/64465/
Parreño, J. (2018). Implementación de un prototipo para contar personas en video capturado en
tiempo real utilizando técnicas de aprendizaje profundo. [Universidad de las Fuerzas
Armadas]. http://repositorio.espe.edu.ec/bitstream/21000/21670/1/T-ESPE-043372.pdf
102
Peláez, J., Vaccaro, G. y Guijarro, A. (2015). Un Modelo para la Categorización de Hormigones
Mediante Procesamiento Digital de Imágenes [conferencia]. 19th World Multiconference
on Systemics, Cybernetics. Orlando.
https://www.researchgate.net/publication/282643765_Un_Modelo_para_la_Categorizaci
on_de_Hormigones_Mediante_Procesamiento_Digital_de_Imagenes
Pérez Esquivel, A. (2021). Desafíos de la videovigilancia automatizada. Derecho Y Ciencias
Sociales, (24), 100-122. https://doi.org/10.24215/18522971e97-119
REAL ACADEMIA ESPAÑOLA: Diccionario de la lengua española, 23.ª ed., [versión 23.4 en
línea]. <https://dle.rae.es> [Fecha de la consulta].
Rivas, W. (2020). Delincuencia en espacios acuáticos: influencia en el cometimiento de otros
delitos e impacto en el sector pesquero artesanal del cantón santa elena [Tesis de pregrado,
Universidad de Guayaquil]. http://repositorio.ug.edu.ec/handle/redug/50859
Rojas, J. (2016). Reseña: Procesamiento digital de imágenes con MatLAB y SIMULINK. Centro
de Estudios e Investigaciones en Ingeniería, Universidad Santiago de Cali.
https://go.gale.com/ps/i.do?id=GALE%7CA368075337&sid=googleScholar&v=2.1&it=r
&linkaccess=abs&issn=16925238&p=IFME&sw=w
Rubio, A., Sánchez, M., Martínez, M., & López, J. (2020). Comunicaciones Orales.-Distribución
del tamaño del efecto y del tamaño muestral en los meta-análisis dentro del ámbito
psicológico. Jornadas Doctorales de la Universidad de Murcia.
Salas , F., Pla, D. (2017). Gestión de tesorería con Python. Editorial Universitat Politècnica de
València. http://hdl.handle.net/10251/83674
103
Shao, Z., Wang, L., Wang, Z., Du, W. y Wu, W. (2020). Saliency-Aware Convolution Neural
Network for Ship Detection in Surveillance Video. IEEE Transactions on Circuits and
Systems for Video Technology, 30(3), 781-794.
https://doi.org/10.1109/TCSVT.2019.2897980
Simonsen, C. P., Theisson, F. M., Holtskog, Ø., & Gade, R. (2020). Detecting and Locating Boats
Using a PTZ Camera with Both Optical and Thermal Sensors. In G. M. Farinella, P.
Radeva, & J. Braz (Eds.), Proceedings of the 15th International Joint Conference on
Computer Vision, Imaging and Computer Graphics Theory and Applications: Volume 5:
VISAPP (Vol. 5, pp. 395-403). SCITEPRESS Digital Library.
https://doi.org/10.5220/0008972603950403
Toledo, N.(2016).Poblacion y muestra, Universidad Autónoma del Estado de México.
http://ri.uaemex.mx/bitstream/handle/20.500.11799/63099/secme26877.pdf?sequence=1
Troyano, J., Cruz, F., Gonzales, M., Vallejo, C. y Toro, M. (2018). Introducción a la Programación
con Python, Computación Interactiva y Aprendizaje Significativo. Actas de las Jenui, 3,
223-230
Urcuqui, C. (2016 Framework for malware analysis in Android, Sistemas y telemática, 14(37),
https://doi.org/10.18046/syt.v14i37.2241
Vázquez, K., Tovar, M., Castillo, H. y Rossainz, M. (2017). Algoritmos para detectar la calidad
de servicio en los dominios de restaurantes y laptops. TecnoINTELECTO, 14(1), 51-58.
Weiwei, F., Feng, Z., Mingliang, T., Xueru, B., Xiaoran, S. y Hanyang, X. (2017). An automatic
ship detection method for PolSAR data based on K-Wishart distribution. IEEE Journal of
104
Selected Topics in Applied Earth Observations and Remote Sensing, 10(6), 2725-2737.
https://doi.org/ 10.1109/JSTARS.2017.2703862
Westreicher, G. (29 de julio, 2020).Histograma. https://economipedia.com/
Zamorano, J. 2018). Comparativa y análisis de algoritmos de aprendizaje automático para la
predicción del tipo predominante de cubierta arbórea.
https://eprints.ucm.es/48800/1/Memoria%20TFM%20Machine%20Learning_Juan_Zamo
rano_para_difundir%20%282%29.pdf
105
ANEXOS
ANEXO 1. Planificación de actividades del proyecto
106
107
108
109
ANEXO 2. Geo – localización del problema
Elaborado por: Karen Alejandro y Marlon Yagual.
Fuente: Información del Proyecto
110
ANEXO 3. Fundamentación Legal
Las normas Legales en un Proyecto de Titulación
La Constitución de la República del Ecuador vigente, garantiza a los estudiantes que están
terminando su etapa profesional una educación y desarrollo sin restricciones, tiene como objetivo
respaldar los derechos y educación con los que cuenta un ciudadano ecuatoriano o extranjero que
se encuentra en pleno proceso de formación integral como ser humano y que brindará apoyo en el
crecimiento del país.
El presente proyecto de titulación cumple con todas las exigencias que la ley establece para
su debido desarrollo, fortaleciendo los principios de la justicia social. A continuación, se detallan
cada uno de los artículos que respaldan esta propuesta:
ARTICULOS DE
LA LOES
CONTEXTO
Título a ámbito objeto fines y principios del sistema de educación superior
Art. 3 Fines de la Educación Superior. - La educación superior de carácter humanista,
cultural y científica constituye un derecho de las personas de las personas y un bien
público social que, de conformidad con la Constitución de la República, responderá
al interés público y no estará al servicio de intereses
individuales y corporativos.
Art. 8 Serán Fines de la Educación Superior. - La educación superior tendrá los siguientes
fines:
a) Aportar al desarrollo del pensamiento universal, al despliegue de la
producción científica y a la promoción de las transferencias e innovaciones
tecnológicas;
111
b) Fortalecer en las y los estudiantes un espíritu reflexivo orientado al logro de
la autonomía personal, en un marco de libertad de pensamiento y de
pluralismo ideológico;
c) Contribuir al conocimiento
d) Formar académicos y profesionales responsables, con conciencia ética y
solidaria, capaces de contribuir al desarrollo de las instituciones de la
República, a la vigencia del orden democrático, y a estimular la
participación social;
e) Aportar con el cumplimiento de los objetivos del régimen de desarrollo
previsto en la Constitución y en el Plan Nacional de Desarrollo;
f) Fomentar y ejecutar programas de investigación de carácter científico,
tecnológico y pedagógico que coadyuven al mejoramiento y protección del
ambiente y promuevan el desarrollo sustentable nacional.
g) Constituir espacios para el fortalecimiento del Estado Constitucional,
soberano, independiente, unitario, intercultural, plurinacional y laico;
h) Contribuir en el desarrollo local y nacional de manera permanente, a través
del trabajo comunitario o extensión universitaria.
Art. 13 Funciones del Sistema de Educación Superior. - Son funciones del
Sistema de Educación Superior: literales a, b, d f, ñ
a) Garantizar el derecho a la educación superior mediante la
docencia, la investigación y su vinculación con la sociedad, y
asegurar crecientes niveles de calidad, excelencia académica y
pertinencia;
b) Promover la creación, desarrollo, transmisión y difusión de la
ciencia, la técnica, la tecnología y la cultura;
c) Fortalecer el ejercicio y desarrollo de la docencia y la
investigación científica en todos los niveles y modalidades del
sistema;
d) Garantizar el respeto a la autonomía universitaria responsable;
e) Brindar niveles óptimos de calidad en la formación y en la
investigación.
Patrimonio y financiamiento de las instituciones de educación superior
Art. 20 Del Patrimonio y Financiamiento de las instituciones del sistema de educación
superior. - En ejercicio de la autonomía responsable, el patrimonio y financiamiento
de las instituciones del sistema de educación superior estará constituido por:
a) Los beneficios obtenidos por su participación en actividades productivas de
bienes y servicios, siempre y cuando esa participación no persiga fines de
lucro y que sea en beneficio en la institución;
b) Los recursos provenientes de herencias, legados y donaciones a su favor;
c) Los fondos autogenerados por cursos, seminarios extracurriculares,
programas de posgrado, consultorías, prestación de servicios y similares, en
el marco de lo establecido en esta Ley.
Art. 35 Asignación de recursos para investigación, ciencia y tecnología e innovación. - Las
instituciones del Sistema de Educación Superior podrán acceder adicional y
112
preferentemente a los recursos públicos concursables de la pre asignación para
investigación, ciencia, tecnología e innovación establecida en la Ley
correspondiente.
Personal académico
Art. 148 de la LOES agrega los profesores o profesoras e investigadores o investigadoras que
hayan intervenido en una investigación tendrán derecho a participar, individual o
colectivamente, de los beneficios que obtenga la institución del Sistema de
Educación Superior por la explotación o cesión de derechos sobre las invenciones
realizadas en el marco de lo establecido en esta Ley y la de Propiedad Intelectual.
Igual derecho y obligaciones tendrán si participan en consultorías u otros servicios
externos remunerados. Las modalidades y cuantía de la participación serán
establecidas por cada institución del Sistema de Educación Superior en ejercicio de
su autonomía responsable.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Ley Orgánica de Educación Superior (2018)
ARTICULOS DE LA
CONSTITUCION
CONTEXTO
Art. 350 El sistema de educación superior tiene como finalidad la formación académica y
profesional con visión científica y humanista; la investigación científica y
tecnológica; la innovación, promoción, desarrollo y difusión de los saberes y las
culturas; la construcción de soluciones para los problemas del país, en relación con
los objetivos del régimen de desarrollo.
Art. 355 El Estado reconocerá a las universidades y escuelas politécnicas autonomía
académica, administrativa, financiera y orgánica, acorde con los objetivos del
113
régimen de desarrollo y los principios establecidos en la Constitución. Se reconoce a
las universidades y escuelas politécnicas el derecho a la autonomía, ejercida y
comprendida de manera solidaria y responsable. Dicha autonomía garantiza el
ejercicio de la libertad académica y el derecho a la búsqueda de la verdad, sin
restricciones; el gobierno y gestión de sí mismas, en consonancia con los principios
de alternancia, transparencia y los derechos políticos; y la producción de ciencia,
tecnología, cultura y arte. Sus recintos son inviolables, no podrán ser allanados sino
en los casos y términos en que pueda serlo el domicilio de una persona. La garantía
del orden interno será competencia y responsabilidad de sus autoridades. Cuando se
necesite el resguardo de la fuerza pública, la máxima autoridad de la entidad
solicitará la asistencia pertinente. La autonomía no exime a las instituciones del
sistema de ser fiscalizadas, de la responsabilidad social, rendición de cuentas y
participación en la planificación nacional. La Función Ejecutiva no podrá privar de
sus rentas o asignaciones presupuestarias, o retardar las transferencias a ninguna
institución del sistema, ni clausurarlas o reorganizarlas de forma total o parcial.
CIENCIA, TECNOLOGÍA, INNOVACIÓN Y SABERES ANCESTRALES
Art. 385
Art. 385
El sistema nacional de ciencia, tecnología, innovación y saberes ancestrales, en el
marco del respeto al ambiente, la naturaleza, la vida, las culturas y la soberanía,
tendrá como finalidad:
1. Generar, adaptar y difundir conocimientos científicos y tecnológicos.
2. Recuperar, fortalecer y potenciar los saberes ancestrales.
3. Desarrollar tecnologías e innovaciones que impulsen la producción
nacional, eleven la eficiencia y productividad, mejoren la calidad de vida y
contribuyan a la realización del buen vivir.
Art. 386 El sistema comprenderá programas, políticas, recursos, acciones, e incorporará a
instituciones del Estado, universidades y escuelas politécnicas, institutos de
investigación públicos y particulares, empresas públicas y privadas, organismos no
gubernamentales y personas naturales o jurídicas, en tanto realizan actividades de
investigación, desarrollo tecnológico, innovación y aquellas ligadas a los saberes
ancestrales.
114
El Estado, a través del organismo competente, coordinará el sistema, establecerá los
objetivos y políticas, de conformidad con el Plan Nacional de Desarrollo, con la
participación de los actores que lo conforman.
Art. 387 Será responsabilidad del Estado:
1. Facilitar e impulsar la incorporación a la sociedad del conocimiento para
alcanzar los objetivos del régimen de desarrollo
2. Promover la generación y producción de conocimiento, fomentar la
investigación científica y tecnológica, y potenciar los saberes ancestrales,
para así contribuir a la realización del buen vivir, al sumak kawsay.
3. Asegurar la difusión y el acceso a los conocimientos científicos y
tecnológicos, el usufructo de sus descubrimientos y hallazgos en el marco
de lo establecido en la Constitución y la Ley.
4. Garantizar la libertad de creación e investigación en el marco del respeto a
la ética, la naturaleza, el ambiente, y el rescate de los conocimientos
ancestrales.
5. Reconocer la condición de investigador de acuerdo con la Ley.
Art. 388 El Estado destinará los recursos necesarios para la investigación científica, el
desarrollo tecnológico, la innovación, la formación científica, la recuperación y
desarrollo de saberes ancestrales y la difusión del conocimiento. Un porcentaje de
estos recursos se destinará a financiar proyectos mediante fondos concursables. Las
organizaciones que reciban fondos públicos estarán sujetas a la rendición de cuentas
y al control estatal respectivo.
DELITOS CONTRA LA SEGURIDAD DE LOS ACTIVOS DE LOS SISTEMAS
DE INFORMACIÓN Y COMUNICACIÓN
Art. 229 Revelación ilegal de base de datos. - La persona que, en provecho propio o de un
tercero, revele información registrada, contenida en ficheros, archivos, bases de datos
o medios semejantes, a través o dirigidas a un sistema electrónico, informático,
telemático o de telecomunicaciones; materializando voluntaria e intencionalmente la
violación del secreto, la intimidad y la privacidad de las personas, será sancionada
con pena privativa de libertad de uno a tres años. Si esta conducta se comete por una
o un servidor público, empleadas o empleados bancarios internos o de instituciones
115
de la economía popular y solidaria que realicen intermediación financiera o
contratistas, será sancionada con pena privativa de libertad de tres a cinco años.
Art. 230 Interceptación ilegal de datos. - Será sancionada con pena privativa de libertad de
tres a cinco años:
1. La persona que, sin orden judicial previa, en provecho propio o de un
tercero, intercepte, escuche, desvíe, grabe u observe, en cualquier forma un
dato informático en su origen, destino o en el interior de un sistema
informático, una señal o una transmisión de datos o señales con la finalidad
de obtener información registrada o disponible.
2. La persona que diseñe, desarrolle, venda, ejecute, programe o envíe
mensajes, certificados de seguridad o páginas electrónicas, enlaces o
ventanas emergentes o modifique el sistema de resolución de nombres de
dominio de un servicio financiero o pago electrónico u otro sitio personal o
de confianza, de tal manera que induzca a una persona a ingresar a una
dirección o sitio de internet diferente a la que quiere acceder.
3. La persona que a través de cualquier medio copie, clone o comercialice
información contenida en las bandas magnéticas, chips u otro dispositivo
electrónico que esté soportada en las tarjetas de crédito, débito, pago o
similares.
4. 4. La persona que produzca, fabrique, distribuya, posea o facilite materiales,
dispositivos electrónicos o sistemas informáticos destinados a la comisión
del delito descrito en el inciso anterior.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Constitución de la República del Ecuador (2018)
PLAN
NACIONAL DEL
BUEN VIVIR
CONTEXTO
Objetivo 4 Fortalecer las capacidades y potencialidades de la ciudadanía
4.4 Mejorar la calidad de la educación en todos sus niveles y modalidades, para la
generación de conocimiento y la formación integral de personas creativas, solidarias,
responsables, críticas, participativas y productivas, bajo los principios de igualdad,
equidad social y territorialidad
4.4 i.) Asegurar en los programas educativos la inclusión de contenidos y actividades
didácticas e informativas que motiven el interés por las ciencias, las tecnologías y la
investigación, para la construcción de una sociedad socialista del conocimiento.
116
4.6 Promover la interacción recíproca entre la educación, el sector productivo y la
investigación científica y tecnológica, para la transformación de la matriz productiva
y la satisfacción de necesidades
4.6. f) Fortalecer y promocionar la formación técnica y tecnológica en áreas
prioritarias y servicios esenciales para la transformación de la matriz productiva,
considerando los beneficios del sistema dual de formación
4.6. j) Generar mecanismos de incentivo y acceso a financiamiento de programas y
proyectos de investigación científica y desarrollo tecnológico, promoviendo su
implementación con criterios de priorización para el desarrollo del país.
Objetivo 8 Consolidar el sistema económico social y solidario, de forma sostenible.
8.1. Invertir los recursos públicos para generar crecimiento económico sostenido y
transformaciones estructurales
8.1. d) Articular la inversión del Estado Central con las empresas públicas, las
entidades del sistema de seguridad social, las universidades y escuelas politécnicas,
la banca pública y otros niveles de gobierno, en el marco de la planificación nacional.
Nombramos estos artículos que son de importancia al momento de llevar a cabo una
investigación en especial si son del ámbito tecnológico ya que nos faculta para
fomentar el desarrollo ya que con este proyecto se beneficiarían un grupo concreto
de personas.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Plan Nacional del Buen Vivir 2017- 2021
117
ANEXO 4. Criterios éticos a utilizarse en el desarrollo del proyecto
Criterios Características del criterio Procedimiento
Credibilidad
Valor de la verdad autenticidad
Aproximación de los resultados de una
investigación frente al fenómeno
observado.
- Los resultados son
reconocidos “verdaderos” por
los participantes.
- Observación continua y
prolongada del fenómeno.
- Triangulación.
Transferibilidad
Aplicabilidad
Los resultados derivados de la
investigación cualitativa no son
generalizables sino transferibles.
- Descripción detallada del
contexto y de los participantes.
- Muestreo Teórico
- Recogida exhaustiva de
datos.
Consistencia
Dependencia/replicabilidad
La complejidad de la investigación
cualitativa difusa la estabilidad de los
datos. Tampoco es posible la
replicabilidad del estudio.
- Triangulación – empleo
de evaluador externo.
- Descripción detallada del
proceso de recogida, análisis e
interpretación de datos.
- Reflexibilidad del
investigador.
Confirmabilidad o
Reflexibilidad
Neutralidad/Objetividad
Los resultados de la investigación deben
garantizar la veracidad de las
descripciones realizadas por los
participantes.
- Transcripciones textuales
de la entrevista.
- Contrastación de los
resultados con la literatura
existente.
- Revisión de hallazgos por
otros investigadores.
- Identificación y
descripción de límites y alcances
del investigador.
Relevancia
Permite evaluar el logro de los objetivos
planteados y saber si se obtuvo un mejor
conocimiento del fenómeno de estudio.
- Configuración de nuevos
planteamientos teóricos o
conceptuales.
- Comprensión amplia del
fenómeno.
- Correspondencia entre la
justificación y los resultados
obtenidos.
Adecuación teórica
epistemológica
Correspondencia adecuada del problema
por investigar y le teoría existente.
- Constancia de la pregunta
con los métodos.
- Ajuste de diseño.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del Proyecto
118
ANEXO 5. Evidencias Fotográficas
Figura 40
Plano del lugar a estudiar
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
Figura 41
Escenario panorámico del puerto pesquero de Santa Rosa.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
119
Figura 42
Escenario del Puerto pesquero de Anconcito
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
Figura 43
Escenario del puerto pesquero de la Libertad
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
120
Figura 44
Vista de botes anclados en la parte del Malecón de la Libertad
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
Figura 45
Embarcaciones pesqueras fuera de borda ubicados a un costado del malecón de Ballenita
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
121
Figura 46
Embarcaciones ancladas mar adentro en el Balneario de Ballenita
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
Figura 47
Visita a los diferentes balnearios de la localidad de Santa Elena por parte de los autores
del proyecto.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
122
Figura 48
Visita a los diferentes balnearios de la localidad de Santa Elena por parte de los autores
del proyecto.
Elaborado por: Karen Alejandro y Marlon Yagual
Fuente: Propia del proyecto
123
ANEXO 6. Acta de entrega y recepción definitiva
En la ciudad de Guayaquil, a ____ días del mes de _________de___
Por el presente documento.
Los estudiantes no titulados de la Carrera de Ingeniería en Sistemas
Computacionales KAREN PAOLA ALEJANDRO RODRÍGUEZ con cédula de identidad N°
2400257909 y MARLON MICHAEL YAGUAL MITE con cédula de identidad N° 2400064347
hacemos entrega del código fuente del proyecto de titulación a la Dirección de la Carrera de
Ingeniería en Sistemas Computacionales en un medio magnético.
Los códigos del programa/producto que se encargaron por compromiso al estar
inserto en el proceso de titulación desde fecha ___ de _______.
Para efectos de dar cumplimiento a la entrega del código fuente, cedo todos los
derechos de explotación sobre el programa y, en concreto, los de transformación comunicación
pública, distribución y reproducción, de forma exclusiva, con un ámbito territorial nacional.
2400257909
Alejandro Rodríguez Karen Paola Cédula de Identificación N°
2400064347
Yagual Mite Marlon Michael Cédula de Identificación N°
Elaborado por: Karen Alejandro, Marlon Yagual
Fuente: Información del Proyecto
124
ANEXO 7. Constancia del Juicio de Experto
Estimado(a) Ingeniero (a)
Nombres y apellidos del tutor(a)
DOCENTE TUTOR(A) DEL TRABAJO DE TITULACION
Ciudad.-
El presente instrumento certifica que se realizó la revisión del proyecto de titulación
“MODELO DE UN SISTEMA DE VIDEOVIGILANCIA ORIENTADO A LA SEGURIDAD
DE EMBARCACIONES DE PESCA ARTESANAL APLICANDO ALGORITMOS EN
MACHINE LEARNING EN EL BALNEARIO DE BALLENITA, PROV. DE SANTA ELENA.”
Cuyos criterios e indicadores empleados permitieron articular el trabajo según se muestra en el
Anexo 7, por tanto, Karen Paola Alejandro Rodríguez y Marlon Michael Yagual Mite estudiaste(s)
no titulados de la Carreara de Ingeniería en Sistemas Computacionales de la Universidad de
Guayaquil, (NO) puede continuar con el proceso de titulación en vista que(no) existen
observaciones.
Por lo actuado en el Anexo 7, se procede a validar el trabajo de titulación
Sin otro particular.
125
Experto #1: M.Sc. Jorge Luis Charco Aguirre
126
Experto #2: Ing. Jessica Jaramillo González
127
Experto #3: Ing. Karen Chiquito Bartolomé
128
Experto #4: MSc. Charles Pérez Espinoza
129
Constancia del Juicio de Experto
Experto #1: MSc. Jorge Luis Charco Aguirre
Experto #2: Ing. Jessica Jaramillo González
130
131
Experto #3: Ing. Karen Chiquito Bartolomé
132
Experto #4: MSc. Charles Pérez Espinoza
133
ANEXO 8. Manual Técnico
Etiquetado
Para crear un modelo que detecte barcos, motores de botes y personas necesitamos tener un
buen conjunto de datos de imágenes de los objetos a reconocer, dichas imágenes deben estar
previamente etiquetadas para que el modelo pueda entrenarse de manera eficiente para detectar los
objetos.
1. LabelImg
Una de las maneras de etiquetar nuestro conjunto de imágenes es con la herramienta LabelImg
la cual podremos descargar del siguiente enlace LabelImg.
1.1. Descargar LabelImg.
Captura del gestor de descarga.
1.2. Descomprimimos el contenido des rar que se descargó en el paso anterior.
134
1.3. Previo a ejecutar LabelImg debemos borrar el contenido de:
…\windows_v1.8.0\data\predefined_classes.txt
“predefined_classes.txt” contiene las clases predefinidas de Label Img.
1.4. A continuación, ejecutamos el archivo: …\windows_v1.8.0\labelImg.exe y
comenzamos a etiquetar las imágenes.
1- Abrir el directorio donde están las
imágenes a etiquetar.
2- Seleccionar el directorio donde
se guardarán las etiquetas.
3- Seleccionamos el formato de la etiqueta:
PascalVOC
YOLO es el que utilizamos para nuestro proyecto
Estas opciones son para navegar entre las imágenes
También funciona con las teclas “a” y “d”
Con esta opción podremos dibujar una nueva caja para
etiquetar las imágenes, también funciona con la tecla
“w”.
135
1.5. Al etiquetar un objeto dentro de la imagen debemos seleccionar a que clase pertenece ese
objeto.
Nota: es recomendable seleccionar el guardado automático para agilizar el proceso de
etiquetado.
1.6.Al finalizar el etiquetado tendremos un conjunto de archivos .txt que contiene las clases y
la posición de las etiquetas dentro de la imagen.
Nota: Imagen etiquetada
136
Nota: Imágenes junto a sus etiquetas.
2. Split_files
Al tener el dataset listo se debe dividirlo, una parte para entrenamiento y otra para validación.
Este trabajo lo haremos de manera aleatoria con el código que se mostrara más adelante. Esta
división se la hará de manera local por eso utilizaremos el entorno de Jupiter Notebook. Para
ejecutar esta herramienta debemos seguir los siguientes pasos:
2.1. descargar e instalar Python.
Descarga.
La descarga se la hará desde la página oficial de Python: Python.org .
137
Instalación.
Después de descargar Python procedemos a la instalación la cual será por defecto.
2.2.Creación de entorno de trabajo e instalación de Jupiter Notebook.
2.2.1. Buscamos y ejecutamos el terminal del sistema.
Añadir Python al path
138
2.2.2. Creamos un entorno de trabajo con la siguiente sentencia.
2.2.3. Entramos en el entorno que acabamos de crear.
2.2.4. Instalamos Jupiter Notebook con la sentencia “pip install jupyter”.
139
2.2.5. Abrimos el entorno de Jupyter Notebook con la sentencia “jupyter notebook”.
2.2.6. Dentro del entorno creamos un nuevo cuaderno.
2.3.División del dataset de imágenes.
2.3.1. Primero importamos librerías que nos facilitan el manejo de archivos.
140
2.3.2. Preparamos la función para dividir el dataset.
2.3.2.1. Configurar la estructura de las carpetas vacías si no existen.
2.3.2.2.Cree subdirectorios en carpetas de entrenamiento, validación y test.
2.3.2.3.Contar el número de imágenes totales.
141
2.3.2.4.Ordenar de manera aleatoria las imágenes.
2.3.2.5.Separación de imágenes.
2.3.2.6.Copiar el archivo classes.txt a los diferentes directorios, pero con otro nombre.
2.3.3. Ejecutamos la función de separación de dataset.
142
Siendo “train” la carpeta que contiene el dataset acompañado del porcentaje por cada carpeta.
2.3.4. Comprimir las carpetas de Train y Valid para luego subirlas a Google drive.
3. Preparar entorno de Google colab.
3.1.Entramos a la página de Google colab.
3.2.Dentro del entorno creamos un nuevo cuaderno.
143
3.3.Verificar el tipo de entorno de ejecución
Antes de empezar nos aseguramos de tener habilitada la aceleración de GPU dentro del
entorno portátil Colab para que el sistema YOLOv4 pueda procesar detecciones 100 veces
más rápido que la CPU.
4. Entrenamiento.
4.1.Vincula Google Drive a VM Colab
Crearemos un enlace simbólico entre nuestra cuenta de drive con el entorno de trabajo de
Google Colab, esto significa que solo estamos creando un acceso directo '/ mydrive' para
mapear el contenido dentro de la carpeta '/ content / gdrive / My Drive /'. La razón de esto es
que, en algún momento, necesitaremos utilizar archivos de nuestra cuenta de drive o al
momento de guardar el modelo ya entrenado.
1 #La sigiente sentencia vincula google drive con el entorno de colab.
2 from google.colab import drive
3 drive.mount('/content/drive')
4.2. Descargamos la AlexeyAB/dakrnet.
1 # Descargamos la darknet del repositorio GitHub
2 !git clone https://github.com/AlexeyAB/darknet
4.3. Configuramos el makefile para tener cuda y opencv activados.
1 #cambiar makefile para tener GPU y OPENCV habilitados
2 %cd darknet
3 !sed -i 's/OPENCV=0/OPENCV=1/' Makefile
4 !sed -i 's/GPU=0/GPU=1/' Makefile
5 !sed -i 's/CUDNN=0/CUDNN=1/' Makefile
6 !sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
144
4.4.Creamos el ejecutable(construye darknet para que luego pueda usar el archivo ejecutable
darknet para ejecutar o entrenar detectores de objetos).
1 %cd /content/darknet
2 !make
4.5.Descargue pesos previamente entrenados para las capas convolucionales.
Este paso descarga los pesos de las capas convolucionales de la red YOLOv4. El uso de estos
pesos ayuda a que su detector de objetos personalizado sea mucho más preciso y no tenga que entrenar
tanto tiempo. No tiene que usar estos pesos, pero, ayudará a que el modelo converja y sea mucho más
rápido.
1 %cd /content/darknet
2 !wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3
_optimal/yolov4.conv.137
Nota: Si por alguna razón obtiene un error o su Colab se queda inactivo durante el
entrenamiento, ¡no ha perdido su modelo y pesos parcialmente entrenados! Cada 100
iteraciones, se guarda un archivo de pesos llamado custom-yolov4-detector_last.weights en la
carpeta que se defina como copia de seguridad. Es por eso que creamos esta carpeta en nuestra
unidad de Google drive y no en la VM en la nube. Si su tiempo de ejecución falla y su carpeta
de respaldo está en su VM en la nube, perderá su peso y su progreso de entrenamiento. Es por
esto que si tenemos pesos que no se terminaron de entrenar los tendremos que cargar a nuestra
VM de Colab.
1 #creamos la carpeta donde se guardarán los pesos
2 !mkdir ant_pesos
3 #copiamos a nuestro directorio VM colad los pesos previamente entrenados
4 !cp "/content/drive/My Drive/Tesis/YOLO/PESOStrain_v4/custom-yolov4-
detector_last.weights" /content/darknet/ant_pesos
4.6. Mover dataset de imágenes a nuestro entorno de trabajo Colab
Ya que previamente vinculamos nuestra cuenta de Google drive a la VM de Colab, ahora
traeremos el archivo comprimido que contiene nuestro dataset al entorno de trabajo de Google
Colab.
1 # antes de descargar las imágenes para el entrenamiento en colab
verificamos si los archivos necesarios existen en dicho directorio
2 !ls "/content/drive/My Drive/Tesis/YOLO/custom/data"
145
1 #Copiamos los comprimidos que contienen las carpetas de train y valid
2 !cp -
r "/content/drive/My Drive/Tesis/YOLO/custom/data/train3.rar" "/content/d
arknet”
4.7. Descomprimimos los archivos que contienen las imágenes para el entrenamiento.
1 #instalamos la libreria unrar que nos ayudara a manipular archivos .rar
2 !pip install unrar
1 #descomprimimos el rar que contienen las imágenes para el entrenamiento.
2 !unrar x /content/darknet/train3.rar
4.8. Creamos archivos necesarios previo al entrenamiento.
1 #Configurar directorios de archivos de entrenamiento para conjuntos de da
tos personalizados
2 %cd /content/darknet/
3 %cp train/_darknet.labels data/obj.names
4 %mkdir data/obj
5 #copiar imágenes y etiquetas
6 %cp train/*.jpg data/obj/
7 %cp valid/*.jpg data/obj/
8 %cp train/*.txt data/obj/
9 %cp valid/*.txt data/obj/
10 #configuramos nuestro archivo obj.data el cual contienen datos y direcciones necesarias para nuestro entrenamiento
11 with open('data/obj.data', 'w') as out:
12 out.write('classes = 3\n')
13 out.write('train = data/train.txt\n')
14 out.write('valid = data/valid.txt\n')
146
15 out.write('names = data/obj.names\n')
16 out.write('backup = /content/drive/My Drive/Tesis/YOLO/PESOStrain_v4')
17 #nota: el backup que acabamos de definir hace referencia a una carpeta do
nde guardaremos el backup de los pesos generados
18 #escribir archivo de train (solo la lista de imágenes)
19 import os
20 with open('data/train.txt', 'w') as out:
21 for img in [f for f in os.listdir('train') if f.endswith('jpg')]:
22 out.write('data/obj/' + img + '\n')
23 #escribe el archivo valid (solo la lista de imágenes)
24 import os
25 with open('data/valid.txt', 'w') as out:
26 for img in [f for f in os.listdir('valid') if f.endswith('jpg')]:
27 out.write('data/obj/' + img + '\n')
4.9. Decagramos archivos necesarios para configurar de manera automática el archivo .cfg
que contiene configuraciones para entrenar la red de YOLOv4. Estos archivos se
encuentran en el repositorio de GitHub de roboflow-ai/darknet.
Descargamos esos archivos y podemos subirlos a Google drive para después copiarlos como
se muestra a continuación.
1 !cp -r "/content/drive/My Drive/Tesis/YOLO/cfg/yolov4-custom2.cfg" "/content/darknet/cfg"
2 !cp -r "/content/drive/My Drive/Tesis/YOLO/cfg/yolov4-custom3.cfg" "/content/darknet/cfg"
3 !cp -r "/content/drive/My Drive/Tesis/YOLO/cfg/yolov4-custom4.cfg" "/content/darknet/cfg"
4 !cp -r "/content/drive/My Drive/Tesis/YOLO/cfg/yolov4-custom5.cfg" "/content/darknet/cfg"
4.10. Construimos la configuración dinámicamente en función del número de clases
1 #construimos iterativamente a partir de archivos de configuración base. E
sta es la misma forma de archivo que cfg / yolo-obj.cfg
147
2 def file_len(fname):
3 with open(fname) as f:
4 for i, l in enumerate(f):
5 pass
6 return i + 1
7 num_classes = file_len('train/_darknet.labels')
8 print("Número de clases: " + str(num_classes))
9 #Instrucciones del repositorio darknet
10 #cambie la línea max_batches a (clases * 2000 pero no menos del número de imágenes de entrenamiento, y no menos de 6000), p. ej. max_batches = 600
0 si entrenas para 3 clases
11 #cambiar los line steps al 80% y 90% de max_batches, p. ej. pasos = 4800,
5400
12 if os.path.exists('./cfg/custom-yolov4-
detector.cfg'): os.remove('./cfg/custom-yolov4-detector.cfg')
13 with open('./cfg/custom-yolov4-detector.cfg', 'a') as f:
14 f.write('[net]' + '\n')
15 f.write('batch=64' + '\n')
16 #las subdivisiones más pequeñas ayudan a que la GPU funcione más rápido.
12 es óptimo, pero es posible que deba cambiar a 24,36,64
17 f.write('subdivisions=24' + '\n')
18 f.write('width=416' + '\n')
19 f.write('height=416' + '\n')
20 f.write('channels=3' + '\n')
21 f.write('momentum=0.949' + '\n')
22 f.write('decay=0.0005' + '\n')
23 f.write('angle=0' + '\n')
24 f.write('saturation = 1.5' + '\n')
25 f.write('exposure = 1.5' + '\n')
26 f.write('hue = .1' + '\n')
27 f.write('\n')
28 f.write('learning_rate=0.001' + '\n')
29 f.write('burn_in=1000' + '\n')
30 ###puede ajustar up y down para cambiar el tiempo de entrenamiento###
31 ##Darknet hace iteraciones con lotes, no épocas##
32 max_batches = num_classes*4000
33 f.write('max_batches=' + str(max_batches) + '\n')
34 f.write('policy=steps' + '\n')
35 steps1 = .8 * max_batches
36 steps2 = .9 * max_batches
37 f.write('steps='+str(steps1)+','+str(steps2) + '\n')
38 #Instrucciones del repositorio darknet
39 #cambie la línea claasses= 80 a su número de objetos en cada una de las 3
capas [yolo]:
40 #cambie [filtros = 255] a filtros = (clases + 5) x3 en el 3 [convoluciona
l] antes de cada capa [yolo], tenga en cuenta que solo tiene que ser el ú
ltimo [convolucional] antes de cada una de las capas [yolo].
41 with open('cfg/yolov4-custom2.cfg', 'r') as f2:
42 content = f2.readlines()
43 for line in content:
44 f.write(line)
45 num_filters = (num_classes + 5) * 3
46 f.write('filters='+str(num_filters) + '\n')
47 f.write('activation=linear')
48 f.write('\n')
49 f.write('\n')
148
50 f.write('[yolo]' + '\n')
51 f.write('mask = 0,1,2' + '\n')
52 f.write('anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142,
110, 192, 243, 459, 401' + '\n')
53 f.write('classes=' + str(num_classes) + '\n')
54 with open('cfg/yolov4-custom3.cfg', 'r') as f3:
55 content = f3.readlines()
56 for line in content:
57 f.write(line)
58 num_filters = (num_classes + 5) * 3
59 f.write('filters='+str(num_filters) + '\n')
60 f.write('activation=linear')
61 f.write('\n')
62 f.write('\n')
63 f.write('[yolo]' + '\n')
64 f.write('mask = 3,4,5' + '\n')
65 f.write('anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142,
110, 192, 243, 459, 401' + '\n')
66 f.write('classes=' + str(num_classes) + '\n')
67 with open('cfg/yolov4-custom4.cfg', 'r') as f4:
68 content = f4.readlines()
69 for line in content:
70 f.write(line)
71 num_filters = (num_classes + 5) * 3
72 f.write('filters='+str(num_filters) + '\n')
73 f.write('activation=linear')
74 f.write('\n')
75 f.write('\n')
76 f.write('[yolo]' + '\n')
77 f.write('mask = 6,7,8' + '\n')
78 f.write('anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142,
110, 192, 243, 459, 401' + '\n')
79 f.write('classes=' + str(num_classes) + '\n')
80 with open('cfg/yolov4-custom5.cfg', 'r') as f5:
81 content = f5.readlines()
82 for line in content:
83 f.write(line)
84 print("el archivo está escrito!")
Podemos ver el archivo creado con la siguiente sentencia.
1 #aquí está el archivo que se acaba de escribir.
2 %cat cfg/custom-yolov4-detector.cfg
4.11. Comenzamos con el entrenamiento, si queremos ver el promedio map debemos
agregar mal final de la sentencia la bandera -map.
1 #entrenamiento desde el inicio.
2 !./darknet detector train data/obj.data cfg/custom-yolov4-
detector.cfg yolov4.conv.137 -dont_show -map
149
1 #Entrenamiento desde un punto del entrenamiento.
2 !./darknet detector train data/obj.data cfg/custom-yolov4-
detector.cfg ant_pesos/custom-yolov4-detector_last.weights -
dont_show -map
Al iniciar el entrenamiento tendremos algo similar a lo que presentamos a continuación.
4.12. Verificación de la precisión promedio (mAP) de su modelo
Si no ejecutó el entrenamiento con la bandera '-map- agregada, aún puede encontrar el map
de su modelo después del entrenamiento. Ejecute el siguiente comando en cualquiera de los
pesos guardados del entrenamiento para observar el valor del map en el archivo de ese peso
específico. Se recomienda ejecutarlo en varios de los pesos guardados para comparar y
encontrar el modelo con el mAP más alto, ya que es el más preciso.
150
Nota: Si cree que su archivo de pesos final se ha sobre ajustado, es importante ejecutar estos
comandos de mapa para ver si uno de los pesos guardados anteriormente es un modelo más
preciso para sus clases.
Para verificar el promedio map de nuestros pesos debemos traer al entorno de trabajo dichos
pesos antes de calcular el map
1 #creamos la carpeta donde se guardarán los pesos de Drive
2 !mkdir ant_pesos_map
3 #copiamos los pesos de drive a colab
4 !cp "/content/drive/My Drive/Tesis/YOLO/PESOStrain_v4/custom-
yolov4-detector_last.weights" /content/darknet/ant_pesos_map
Para ver los porcentajes de precisión ejecutamos la siguiente sentencia.
1 !./darknet detector map data/obj.data cfg/custom-yolov4-
detector.cfg ant_pesos_map/custom-yolov4-detector_last.weights
Tendremos como resultado algunos parámetros del modelo creado.
151
Nota: Antes de terminar necesitaremos varios archivos del entrenamiento para ejecutar la
detección los que se muestran a continuación:
data/obj.data
data/obj.names
cfg/custom-yolov4-detector.cfg
los cuales los tenemos que descargar y guardar en una carpeta en nuestra cuenta de drive.
1 # usa las siguientes sentencias para poder descargar archivos
2 def download(path):
3 from google.colab import files
4 files.download(path)
1 # descargamos los archivos que necesitaremos más adelante.
2 download('/content/darknet/data/obj.data')
3 download('/content/darknet/data/obj.names')
4 download('/content/darknet/cfg/custom-yolov4-detector.cfg')
152
ANEXO 9. Manual de usuario.
1. Verificar el tipo de entorno de ejecución y tener activada una GPU
Nota: los datos de nuestro modelo están en nuestra cuenta de Google drive a la cual podemos
acceder desde esta dirección Carpeta_drive. al ingresar en la dirección nos redireccionara a
siguiente página:
Como se muestra en la imagen hay una carpeta llamada YOLO que es donde se encuentran
los archivos tanto para entrenamiento como también los pesos generados después del
entrenamiento. A continuación, crearemos un acceso directo de la carpeta YOLO en nuestra
cuenta de Google drive de la siguiente manera:
1.1. Clic derecho sobre la carpeta YOLO.
1.2. En el menú desplegado damos clic en agregar acceso directo a Drive.
153
1.3. A continuación, seleccionamos el directorio donde crearemos el acceso directo (Se
recomienda crearlo en "Mi unidad”).
1.4. Después de seleccionar el directorio damos clic en Agregar acceso directo.
1.5. Ahora se creará el acceso directo y si nos ubicamos en la carpeta donde lo agregamos
encontraremos una carpeta similar a la siguiente.
154
Ya creado el acceso directo procedemos a vincular la cuenta de Google Drive en nuestro
entorno de trabajo de Google Colab.
2. Vincula Google Drive a VM Colab
Crearemos un enlace simbólico entre nuestra cuenta de drive con el entorno de trabajo de
Google Colab, esto significa que solo estamos creando un acceso directo '/ mydrive' para
mapear el contenido dentro de la carpeta '/ content / gdrive / My Drive /'. La razón de esto es
que, en algún momento, necesitaremos utilizar archivos de nuestra cuenta de drive o al
momento de guardar el modelo ya entrenado.
1 #La sigiente sentencia vincula google drive con el entorno de colab.
2 from google.colab import drive
3 drive.mount('/content/drive')
3. Descargamos la AlexeyAB/dakrnet.
1 # Descargamos la darknet del repositorio GitHub
2 !git clone https://github.com/AlexeyAB/darknet
4. Configuramos el makefile para tener cuda, libso y opencv activados.
1 #cambiar makefile para tener GPU y OPENCV habilitados
2 %cd darknet
3 !sed -i 's/OPENCV=0/OPENCV=1/' Makefile
4 !sed -i 's/GPU=0/GPU=1/' Makefile
5 !sed -i 's/CUDNN=0/CUDNN=1/' Makefile
6 !sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
!sed -i 's/LIBSO=0/LIBSO=1/' Makefile
5. Creamos el ejecutable(construye darknet para que luego pueda usar el archivo ejecutable
darknet para ejecutar o entrenar detectores de objetos).
1 %cd /content/darknet
2 !make
6. Copiaremos desde nuestra cuenta de Google drive os archivos .cfg, .data y .name estos
archivos los descargamos al finalizar nuestro entrenamiento para luego subirlos a Google
drive.
1 !cp "/content/drive/My Drive/YOLO/yolov4-obj.cfg" cfg/
2 !cp "/content/drive/My Drive/YOLO/dp_darknet/obj.data" data/
3 !cp "/content/drive/My Drive/YOLO/dp_darknet/obj.names" data/
155
7. Copiamos los pesos generados en el entrenamiento, para realizar nuestras pruebas
generamos 3 modelos y por cada uno se seleccionó uno que es los que traeremos a
nuestro entorno de colab con las siguientes sentencias:
1 #creamos la carpeta donde se guardarán los pesos del primer modelo
2 !mkdir ant_pesos_v1
3 #copiamos a nuestro directorio VM colad los pesos previamente entrenados
4 !cp "/content/drive/My Drive/YOLO/PESOStrain_v2/custom-yolov4-
detector_best.weights" /content/darknet/ant_pesos_v1
5 #creamos la carpeta donde se guardarán los pesos del segundo modelo
6 !mkdir ant_pesos_v2
7 #copiamos a nuestro directorio VM colad los pesos previamente entrenados
8 !cp "/content/drive/My Drive/YOLO/PESOStrain_v3/custom-yolov4-
detector_best.weights" /content/darknet/ant_pesos_v2
9 #creamos la carpeta donde se guardarán los pesos del tercer modelo
10 !mkdir ant_pesos_v3
11 #copiamos a nuestro directorio VM colad los pesos previamente entrenados
12 !cp "/content/drive/My Drive/YOLO/PESOStrain_v4/custom-yolov4-
detector_10576.weights" /content/darknet/ant_pesos_v3
8. Instalamos la librería Unrar para manipular archivos .rar
1 #instalamos la libreria unrar que nos ayudara a manipular archivos .rar
2 !pip install unrar
9. Definimos algunas funciones auxiliares.
1 # matplotlib
2 def imShow(path):
3 import cv2
4 import matplotlib.pyplot as plt
5 %matplotlib inline
6 image = cv2.imread(path)
7 height, width = image.shape[:2]
8 resized_image = cv2.resize(image,(3*width, 3*height), interpolation = cv2
.INTER_CUBIC)
9 fig = plt.gcf()
10 fig.set_size_inches(18, 10)
11 plt.axis("off")
12 plt.imshow(cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB))
13 plt.show()
14
15 # subir archivos
16 def upload():
17 from google.colab import files
18 uploaded = files.upload()
19 for name, data in uploaded.items():
20 with open(name, 'wb') as f:
21 f.write(data)
22 print ('saved file', name)
156
23
24 # descargar archivos
25 def download(path):
26 from google.colab import files
27 files.download(path)
9.1. Detección de objetos en Imágenes
Previo a las pruebas se subió varios archivos que contienen imágenes para pruebas de nuestro
modelo las cuales llamaremos a continuación.
1 !cp -
r "/content/drive/My Drive/YOLO/custom/data/test_pb_f.rar" "/content/darknet"
9.2. Descomprimimos el archivo que contiene las imagenes de prueba.
1 !unrar x /content/darknet/test_pb_f.rar
9.3.Ejecutamos el detector personalizado con el siguiente comando
1 #!./darknet detector test ruta_archivo_obj.data ruta_archivo_yolov4-
obj.cfg ruta_del_peso_entrenada ruta_imagen_a_detectar
-thresh (mínimo de AP a detectar ej.: 0.50) -dont_show
2 !./darknet detector test data/obj.data cfg/yolov4-
obj.cfg ant_pesos_v3/custom-yolov4-
detector_10576.weights test_pb_f/t28.jpg -thresh 0.50 -dont_show
Luego de ejecutar dicho comando obtenemos una respuesta como esta:
157
9.4. Para ver la imagen con las detecciones ejecutamos el siguiente comando.
1 # mostrar la imagen usando nuestra función de ayuda
2 imShow('predictions.jpg')
10. Detección en video
Previo a las pruebas se subió varios archivos de videos para pruebas de nuestro modelo las
cuales llamaremos a continuación.
1 #los videos son tomas de diferentes puestos de la provincia de Santa Elena I
ncluido Ballenita que es el punto de estudio
2 !cp -r "/content/drive/My Drive/YOLO/Videos_Test" "/content/darknet"
10.1. Ejecutamos el detector personalizado con un video con el siguiente comando.
1 #!./darknet detector demo ruta_archivo_obj.data ruta_archivo_yolov4-
obj.cfg ruta_del_peso_entrenado -dont_show ruta_imagen_a_detectar -i 0 -
out_filename nombre_de_salida_del_video_con_detecciones
2 !./darknet detector demo data/obj.data cfg/yolov4-
obj.cfg ant_pesos_v3/custom-yolov4-detector_10576.weights -
dont_show Videos_Test/V_Test8.mp4 -i 0 -out_filename results_8.mp4
158
10.2. Ver el resultado de la detección en video.
Tenemos 2 opciones para el video con la detección de objetos, guardarlo en nuestra cuenta
de Google Drive o descargarlo en la maquina local.
1 # copiamos el video con detección de objetos en Google drive.
2 !cp -r "/content/darknet/results_7.mp4" "/content/drive/MyDrive"
1 # descargamos el video con la detección de objetos.
2 download('results_8.mp4')
10.3. La detección en video la podemos visualizar a continuación.
159
11. Detección de objetos en WEBCAM
11.1. Importamos las dependencias .
1 from IPython.display import display, Javascript, Image
2 from google.colab.output import eval_js
3 from google.colab.patches import cv2_imshow
4 from base64 import b64decode, b64encode
5 import cv2
6 import numpy as np
7 import PIL
8 import io
9 import html
10 import time
11 import matplotlib.pyplot as plt
12 %matplotlib inline
11.2. Darknet para Python
Para utilizar YOLOv4 con código Python, usaremos algunas de las funciones predefinidas
que se encuentran dentro de darknet.py al importar las funciones a nuestra estación de trabajo.
1 # importar funciones de darknet para realizar detecciones de objetos
2 from darknet import *
3 #cargar en nuestra red de YOLOv4
4 network, class_names, class_colors = load_network("cfg/yolov4-
obj.cfg", "data/obj.data", "ant_pesos_v3/custom-yolov4-
detector_10576.weights")
5 width = network_width(network)
6 height = network_height(network)
7 # función de ayuda de darknet para ejecutar la detección en la imagen
160
8 def darknet_helper(img, width, height):
9 darknet_image = make_image(width, height, 3)
10 img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
11 img_resized = cv2.resize(img_rgb, (width, height),
12 interpolation=cv2.INTER_LINEAR)
13 # obtener proporciones de imagen para convertir los cuadros delimitadores al tamaño adecuado
14 img_height, img_width, _ = img.shape
15 width_ratio = img_width/width
16 height_ratio = img_height/height
17 # ejecutar el modelo en la imagen de estilo darknet para obtener detecciones
18 copy_image_from_bytes(darknet_image, img_resized.tobytes())
19 detections = detect_image(network, class_names, darknet_image)
20 free_image(darknet_image)
21 return detections, width_ratio, height_ratio
11.3. Funciones auxiliares
Aquí hay algunas funciones de ayuda definidas que se usarán para convertir fácilmente entre
diferentes tipos de imágenes en nuestros pasos posteriores.
1 # función para convertir el objeto JavaScript en una imagen OpenCV
2 def js_to_image(js_reply):
3 """
4 Params:
5 js_reply: JavaScript object containing image from webcam
6 Returns:
7 img: OpenCV BGR image
8 """
9 # decodificar la imagen base64
10 image_bytes = b64decode(js_reply.split(',')[1])
11 # convertir bytes a matriz numpy
12 jpg_as_np = np.frombuffer(image_bytes, dtype=np.uint8)
13 # decodificar la matriz numpy en la imagen OpenCV BGR
14 img = cv2.imdecode(jpg_as_np, flags=1)
15 return img
16 # función para convertir la imagen del cuadro delimitador OpenCV Rectangle
17 #En una cadena de bytes base64 para superponerla en la transmisión de video
18 def bbox_to_bytes(bbox_array):
19 """
20 Params:
21 bbox_array: Numpy array (pixels) containing rectangle to overlay on
video stream.
22 Returns:
23 bytes: Base64 image byte string
24 """
25 # convertir matriz en imagen PIL
161
26 bbox_PIL = PIL.Image.fromarray(bbox_array, 'RGBA')
27 iobuf = io.BytesIO()
28 # formatear bbox en png para devolver
29 bbox_PIL.save(iobuf, format='png')
30 # formato de cadena de retorno
31 bbox_bytes = 'data:image/png;base64,{}'.format
((str(b64encode(iobuf.getvalue()), 'utf-8')))
32 return bbox_bytes
11.4. YOLOv4 en videos de webcam
Ejecutar YOLOv4 en video de cámara web Necesitamos iniciar una transmisión de video
usando nuestra cámara web como entrada. Luego, ejecutamos cada cuadro a través de nuestro
modelo YOLOv4 y creamos una imagen superpuesta que contiene un cuadro delimitador de
detección (es). Luego, superponemos la imagen del cuadro delimitador nuevamente en el
siguiente cuadro de nuestra transmisión de video.
11.5. A continuación, se muestra una función para iniciar la transmisión de video usando
JavaScript. Los fotogramas de la secuencia de vídeo se alimentan como entrada a
YOLOv4.
1 # JavaScript para crear correctamente nuestra transmisión de video
en vivo usando nuestra cámara web como entrada
2 def video_stream():
3 js = Javascript('''
4 var video;
5 var div = null;
162
6 var stream;
7 var captureCanvas;
8 var imgElement;
9 var labelElement;
10 var pendingResolve = null;
11 var shutdown = false;
12 function removeDom() {
13 stream.getVideoTracks()[0].stop();
14 video.remove();
15 div.remove();
16 video = null;
17 div = null;
18 stream = null;
19 imgElement = null;
20 captureCanvas = null;
21 labelElement = null;
22 }
23 function onAnimationFrame() {
24 if (!shutdown) {
25 window.requestAnimationFrame(onAnimationFrame);
26 }
27 if (pendingResolve) {
28 var result = "";
29 if (!shutdown) {
30 captureCanvas.getContext('2d').drawImage(video, 0, 0, 640, 480);
31 result = captureCanvas.toDataURL('image/jpeg', 0.8)
32 }
33 var lp = pendingResolve;
34 pendingResolve = null;
35 lp(result);
36 }
37 }
38 async function createDom() {
39 if (div !== null) {
40 return stream;
41 }
42 div = document.createElement('div');
43 div.style.border = '2px solid black';
44 div.style.padding = '3px';
45 div.style.width = '100%';
46 div.style.maxWidth = '600px';
47 document.body.appendChild(div);
48 const modelOut = document.createElement('div');
49 modelOut.innerHTML = "<span>Status:</span>";
50 labelElement = document.createElement('span');
51 labelElement.innerText = 'No data';
52 labelElement.style.fontWeight = 'bold';
53 modelOut.appendChild(labelElement);
163
54 div.appendChild(modelOut);
55 video = document.createElement('video');
56 video.style.display = 'block';
57 video.width = div.clientWidth - 6;
58 video.setAttribute('playsinline', '');
59 video.onclick = () => { shutdown = true; };
60 stream = await navigator.mediaDevices.getUserMedia(
61 {video: { facingMode: "environment"}});
62 div.appendChild(video);
63 imgElement = document.createElement('img');
64 imgElement.style.position = 'absolute';
65 imgElement.style.zIndex = 1;
66 imgElement.onclick = () => { shutdown = true; };
67 div.appendChild(imgElement);
68 const instruction = document.createElement('div');
69 instruction.innerHTML =
'<span style="color: red; font-weight: bold;">' +'When finished,
click here or on the video to stop this demo</span>';
70 div.appendChild(instruction);
71 instruction.onclick = () => { shutdown = true; };
72 video.srcObject = stream;
73 await video.play();
74 captureCanvas = document.createElement('canvas');
75 captureCanvas.width = 640; //video.videoWidth;
76 captureCanvas.height = 480; //video.videoHeight;
77 window.requestAnimationFrame(onAnimationFrame);
78 return stream;
79 }
80 async function stream_frame(label, imgData) {
81 if (shutdown) {
82 removeDom();
83 shutdown = false;
84 return '';
85 }
86 var preCreate = Date.now();
87 stream = await createDom();
88 var preShow = Date.now();
89 if (label != "") {
90 labelElement.innerHTML = label;
91 }
92 if (imgData != "") {
93 var videoRect = video.getClientRects()[0];
94 imgElement.style.top = videoRect.top + "px";
95 imgElement.style.left = videoRect.left + "px";
96 imgElement.style.width = videoRect.width + "px";
97 imgElement.style.height = videoRect.height + "px";
98 imgElement.src = imgData;
99 }
164
100 var preCapture = Date.now();
101 var result = await new Promise(function(resolve, reject) {
102 pendingResolve = resolve;
103 });
104 shutdown = false;
105 return {'create': preShow - preCreate,
106 'show': preCapture - preShow,
107 'capture': Date.now() - preCapture,
108 'img': result};
109 }
110 ''')
111 display(js)
112 def video_frame(label, bbox):
113 data = eval_js('stream_frame("{}", "{}")'.format(label, bbox))
114 return data
11.6. A continuación, comenzamos con la detección por medio de la web cam.
1 video_stream()
2 # etiqueta para video
3 label_html = 'Capturing...'
4 # cuadro delimitador inicial para vaciar
5 bbox = ''
6 count = 0
7 while True:
8 js_reply = video_frame(label_html, bbox)
9 if not js_reply:
10 break
11 # convertir la respuesta JS a la imagen OpenCV
12 frame = js_to_image(js_reply["img"])
13 # crear una superposición transparente para el cuadro delimitador
14 bbox_array = np.zeros([480,640,4], dtype=np.uint8)
15 # llame a nuestro ayudante de darknet en el fotograma del video
16 detections, width_ratio, height_ratio = darknet_helper(frame, width, height)
17 # recorrer las detecciones y dibujarlas en una imagen superpuesta transparente
18 for label, confidence, bbox in detections:
19 left, top, right, bottom = bbox2points(bbox)
20 left, top, right, bottom = int(left * width_ratio), int(top * height_ratio),
int(right * width_ratio), int(bottom * height_ratio)
21 bbox_array = cv2.rectangle(bbox_array, (left, top), (right, bottom),
class_colors[label], 2)
22 bbox_array = cv2.putText(bbox_array, "{} [{:.2f}]".format(label,
float(confidence)),
23 (left, top - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5,
24 class_colors[label], 2)
26 bbox_array[:,:,3] = (bbox_array.max(axis = 2) > 0 ).astype(int) * 255
165
27 # convertir la superposición de bbox en bytes
28 bbox_bytes = bbox_to_bytes(bbox_array)
29 # actualiza bbox para que el siguiente fotograma tenga una nueva superposición
30 bbox = bbox_bytes
166
ANEXO 10. Artículo Científico
Modelo de un sistema de videovigilancia orientado a la seguridad de
embarcaciones de pesca artesanal aplicando algoritmos en Machine Learning
en el balneario de Ballenita, Prov. De Santa Elena.
Model of a surveillance video system oriented to safety of artisanal fishing
vessels applying algorithms in Machine Learning at Ballenita from Santa Elena
province.
Karen Alejandro-Rodríguez1, Marlon Yagual-Mite2, Alfonso Guijarro-Rodríguez3
RESUMEN:
Las playas de la Provincia de Santa Elena son zonas vulnerables que carecen de vigilancia, por esta
razón la propuesta persigue la finalidad de disminuir los robos de sus embarcaciones, ya que es
necesario contar con un sistema que vigile los barcos de pesca artesanal, por tal razón proponemos
un modelo de videovigilancia que cuente con visión por computadora tal estudio es una investigación
preliminar para una futura implementación del sistema. El modelo de detección de objetos en su
primera versión se logra tener como alcance el reconocimiento de botes, motores y personas, se utiliza
una red de YOLOv4 la que se entrenó con imágenes de barcos dentro de su entorno. El modelo
resultante logra detectar barcos con un promedio de precisión de 90.32%, la detección en motores de
lancha es de 82.44% y personas con un promedio de precisión de 79.47%. También se realizó pruebas
en botes que se logran divisar a lo lejos teniendo como resultados detecciones que van desde 40%.
Palabras Claves: detección de barcos, CNN, aprendizaje automático, YOLOv4, Google Colab,
videovigilancia.
ABSTRAC:
Santa Elena province beaches are vulnerable areas that do not have any type of surveillance, for this
reason our propose consist in reduce boat theft, this is why a surveillance system is needed for
artisanal fishing boats, for that reason we propose a video surveillance system through computer
vision, this study is just a preliminary investigation to a future system implementation. The detection
model in its first version could manage to reach boat recognition, motors and people, the model uses
a YOLOV4 net, which was trained by boat images around it. The resulting model manages to detect
boats with an average precision of 90.32%, the average detection about boat motors is 82.44% and
the average detection of people is 79.47%. It was also carried out tests about boats that can be seen
in the distance with an average detection that goes from 40%.
Keywords: ship detection, CNN, Machine Learning, YOLOv4, Google Colab, video surveillance
1 Estudiante de titulación de la carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil, Ecuador, Facultad de Ciencias Matemáticas y Físicas. correo: [email protected] 2 Estudiante de titulación de la carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil, Ecuador, Facultad de Ciencias Matemáticas y Físicas. correo: [email protected] 3 Tutor de tesis de la carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil, Ecuador, Facultad de Ciencias Matemáticas y Físicas. correo: [email protected]
130
INTRODUCCIÓN
Un sistema de videovigilancia es un tipo de tecnología que usa cámaras de manera remota para
mantener vigilado diferentes entornos, esta tecnología se la puede utilizar para vigilar oficinas,
parqueaderos o calles transitadas y así poder observar sucesos tales como accidentes, robos, entre
otros delitos, al usar esta tecnología e implementar algoritmos de Machine Learning en entornos
acuáticos podremos dar más eficiencia al sistema de vigilancia ya que así podrá reconocer o
detectar embarcaciones de pesca artesanal.
Un posible sistema de videovigilancia en el balneario de ballenita, podría reducir el hurto en dicho
sector, se estudió el sitio para establecer el lugar optimo donde se pueda visualizar todo el
panorama donde se encuentran anclados los botes, para el reconocimiento de embarcaciones se
indago sobre los materiales y equipos tecnológicos necesarios para implementar el sistema y se
hiso pruebas en una maqueta que representa el estacionamiento de botes en la playa de Ballenita
Prov. Santa Elena.
La solución tecnológica consta de la elección de un algoritmo de Machine Learning que pueda
reconocer las embarcaciones de forma eficiente a pesar del ruido que existe en el mar, se creara un
data set de botes existentes en la playa de Ballenita, también se recomendara características que
deben tener cada una de las partes del sistema de videovigilancia basados en nuestro modelo. Esta
investigación surgió a partir del interés en abordar el tema de como poder ayudar a los pescadores
artesanales de nuestra localidad ya que para ellos es perjudicial cuando son atracados y despojados
de sus pertenencias, esto sería el principio para futuras investigaciones, esperamos que se interesen
en mejorar e implementar el modelo en los demás puertos de la Provincia de Santa Elena.
ANTECEDENTES
El desarrollo de la videovigilancia en los últimos años es notable y en varios sectores se ha
implementado junto con visión por computador llegando a tener sistemas detectores o
clasificadores de objetos, su utilidad depende del entorno y el fin que se le dé, como en sistemas
de reconocimiento facial en aeropuertos, detección de peatones en semáforos hasta llegar a
sistemas de detección de objetos en entornos acuáticos; este último surge por la necesidad de tener
controlado y vigiladas las embarcaciones tanto en altamar como en los puertos es evidente, una
forma eficaz de saber la ubicación de las embarcaciones es a través de GPS o usando
transponedores con tecnología AIS pero al tratar de implementar estos sistemas generan grandes
costos para los dueños de pequeñas embarcaciones y también dichos equipos podrían ser apagados
si el bote es utilizado para actos ilícitos; por estos factores es recomendable la implementación de
videovigilancia en los puertos. Es así como en los últimos años han surgido varios estudios de
reconocimiento o clasificación de embarcaciones marítimas.
En el 2016 Hui et al. Propusieron un algoritmo CFAR para la detección de barcos en imágenes
SAR, con el cual se concluyó que el método utilizado podría tener buen rendimiento en detección
en situaciones multiescalas. Mientras que en 2017 Weiwei. et al. Compararon el rendimiento del
detector CFAR con un algoritmo de detección de barcos que utiliza un clasificador K – Wishart
no gaussiano que incorpora parámetros de spam polarimétricos para realizar las detecciones,
llegando a la conclusión de que el algoritmo K – Wishart mejora la capacidad de detección de
objeto Los resultados de la comparación muestran que el algoritmo propuesto podría mejorar la
capacidad de detección de objetivos al tiempo que reduce la tasa de falsas alarmas y detecciones
erróneas.
131
Además, en 2017 Bloisi, D. et al, llegaron a la conclusión de usar un sistema de videovigilancia
marítima para remplazar el uso de radares queriendo reducir costos y tratando de tener un sistema
que no emita radiaciones electromagnéticas en lugares poblados, en este estudio se tomó una gran
cantidad de datos de imágenes y videos de múltiples sitios reales con diferentes condiciones de
luz.
Por otro lado en 2018 Bentes, C., Velotto, D. y Tings, B. Llegaron a la conclusión de que al usar
CNN para sistemas de clasificación sea eficiente pero que el uso de estas en clasificación SAR
esta poco explorado por esta razón se propusieron el uso de CNN para la clasificación de objetos
marítimos utilizando imágenes de alta resolución llegando a la concluyendo que el uso de la CNN
es un modelo eficiente en la clasificación de objetos marítimos y al utilizar diferentes resoluciones
de entradas en el modelo CNN puede extraer de mejor forma las características de un objeto
utilizando varias imágenes con diferentes ángulos. Dicho estudio propuso que en un futuro se
pueda trabajar con varias resoluciones para tratar de obtener mejores resultados.
En 2019 Nie, X., Yang, M. y Liu, R. propusieron un modelo usando YOLOv3 para la detección
de botes entrenando dicho modelo con imágenes en diferentes condiciones climáticas dando como
resultado un método que se lo usa para detección de objetos, así mismo se concluyeron que las
imágenes con neblina o poca luz afectan a la precisión de detección de barcos, por lo que resaltan
que en futuros trabajos recopilaran más imágenes incluso con neblina real para tratar de solucionar
este problema.
En 2020 Shao, Z. et al, Trabajaron con la detección de embarcaciones pequeñas para sistemas de
vigilancia en barcos autónomos y así detectar pequeños barcos cerca de ellos, es así como
propusieron un método hibrido de aprendizaje profundo que combina una Red Generativa
Adversaria (GAN) modificada y un enfoque de detección basado en la CNN para así detectar
barcos pequeños.
Por otro lado, en 2020 Simonsen, C. et al, trabajo en un sistema de monitoreo que usa cámaras
PTZ con sensor óptico y térmico para la detección de embarcaciones en diferentes condiciones
climáticas y de luz, para la detección de barcos trabajo con una red de YOLOv3 en conjunto con
datos de COCO volviendo a entrenar con aprendizaje por transferencia.
SISTEMA DE VIDEOVIGILANCIA
Antes de diseñar el sistema CCTV fue necesario visitar el puerto, se midió la distancia aproximada
en que se encuentran los botes anclados dicho valor es 200 metros de la orilla, se estudió el área
que se desea vigilar, determinando el punto idóneo donde se instalaría el equipo.
Ubicación: La ubicación idónea de la cámara es a 250 m de donde son anclados los botes, a unos
pocos metros del baño del malecón de ballenita, en dicha ubicación hay un Angulo de visión que
capta todos los botes anclados. El esquema de ubicación de la cámara se muestra en la figura 1.
132
Figura 1. Vista panorámica del área a estudiar y esquema de ubicación de la cámara
Fuente: Propia
Altura de colocación: Un sistema de cámaras de seguridad es efectivo siempre y cuando se tome
en cuenta varios factores para el diseño tales como: la altura de instalación, la iluminación, el
ángulo, los reflejos, las zonas muertas y el factor de zoom en cámaras PTZ. La altura apropiada en
áreas externas varía entre los 4 a 5 metros mientras que para áreas internas se recomienda una
altura máxima de 3 metros. La altura estimada de colocación de la cámara es de 4.40(m) debido a
que estará instalada en el poste de alumbrado público y tendido eléctrico con la utilización de un
soporte tipo brazo para precautelar que no exista conflicto.
DETECTOR
Se ha escogido las CNN para desarrollar el detector de objetos, se basó en los resultados de autores
cuyos trabajos tienen cierta similitud con la presente investigación, las CNN tienen mayor
precisión debido a sus grandes procesamientos al momento de la clasificación, en nuestro trabajo
de investigación necesitamos detectar embarcaciones, el sistema ya implementado debería detectar
en tiempo real y tomando en consideración que en un puerto pueden existir botes que se muevan
rápidamente, el sistema deberá detectar a una velocidad adecuada para proporcionar detecciones
fluidas por esta razón basamos nuestro detector en la darknet de YOLO.
IMPLEMENTACIÓN
YOLO (You Only Look Once) usa solo una red convolucional que verifica los objetos por cuadro,
esta toma una imagen a su entrada la divide en cuadriculas y luego escoge cuadros delimitados, se
trabaja con cálculos en el cual se mantiene un valor estable si fuese el caso que se sobre pase ese
valor se lo selecciona para situar el objeto de la imagen (Parreño, 2018). Existen varias
implementaciones de YOLO las cuales se diferencian por su arquitectura, para nuestro detector de
embarcaciones utilizaremos la versión 4 de YOLO que según Gil en 2020 la define como un
modelo que posee una d las mejores arquitecturas para proceder a entrenar un detector de objetos,
también llamado red generalista porque detecta objetos cotidianos como sofás, televisor o
personas, es personalizado, es de una etapa ya que omite búsquedas de regiones con la finalidad
de realizar detecciones muy rápidas, cuenta con una enorme capacidad en cuanto a repositorios
Darknet.
133
EVALUACIÓN PRELIMINAR
Luego de elegir la Darknet de YOLOv4 para el desarrollo del detector se hizo una evaluación
preliminar para ver si es necesario entrenar con datos propios o si fuese el caso que de un excelente
desempeño y usar este modelo para la detección de botes, se tomó en cuenta AP obtenido por cada
clase detectada. Como se muestra en la figura 2 hay varios botes que no fueron clasificados como
botes esto por su posición o porque están en segundo plano, también se evidencia algunas
detecciones erróneas las cuales YOLO las clasifica como aves mientras son Barcos. Por esta razón
se procedió a reentrenar la red con Imágenes y anotaciones propias
(a)Detección en botes en primer plano
(b)detección en botes alejados
Figura 2. Prueba preliminar del comportamiento de YOLOv4
Fuente: Propia
REENTRENAMIENTO YOLO
El fin de nuestro Estudio es proporcionar una herramienta que aporte con la seguridad de los botes
estacionados en la playa de Ballenita-Santa Elena por esta razón necesitamos detectar tres clases,
Barcos, motores y personas esta última clase es necesaria para saber si dentro del bote de encuentra
algún tripulante o intruso. Es por esta razón que para entrenar un modelo de YOLOv4 con nuestros
datos, se necesita recopilar una cantidad considerable de imágenes.
DATASET
Para el presente trabajo de agrupo un conjunto de imágenes donde se visualizan los objetos que
deseamos detectar para si formar el dataset previo al entrenamiento el cual lo formamos de la
siguiente manera, una parte de las imágenes se las obtuvo del sitio web MarDTC en cual
proporciona datos visuales enfocados en el desarrollo de sistemas de vigilancia inteligentes para
entornos marítimos, por otra parte, se tomó varias fotos en algunos puertos de la Prov. De Santa
Elena. Es necesario resaltar que después de analizar trabajos relacionados se llegó a la conclusión
que es necesario tener imágenes de varios tamaños y en diferentes condiciones de luz para que la
detección de objetos sea acertada por esta razón el dataset que hicimos consta de una variedad de
134
imágenes con diferentes tamaños y también procesadas con varios filtros llegando a conformar un
conjunto de 8646 imágenes.
ETIQUETADO
Una vez formado el dataset, procedimos con el etiquetado manual de cada una de las imágenes,
después de investigar se llegó a la conclusión de que la herramienta LabelImg es la idónea para
realizar el etiquetado, dicho software genera un archivo TXT que nos permite marcar objetos en
una imagen, el archivo generado guarda información sobre la del objeto etiquetado dentro de la
imagen. Al momento de la detección de objetos es esencial proceder con un etiquetado, se va a
requerir mucho tiempo para este proceso ya que se realiza de manera manual a todas las imágenes
del dataset.
Figura 3. Esquema del etiquetado de imágenes.
Fuente: Propia
Entrenamiento
Para el entrenamiento del modelo de detección YOLOv4 se necesitó dividir el dataset en dos
partes, 80% de imágenes para entrenamiento y el 20% restante para la validación, es recomendable
que este proceso sea de manera aleatoria, ya dividido el dataset podemos empezar el
entrenamiento.
Figura 4. Esquema de división del dataset.
Fuente: Propia
ELECCIÓN DEL MEJOR PESO
La darknet de YOLOV4
Para determinar cuál es el mejor peso para la detección de barcos es necesario tomar en cuenta
algunos conceptos. Según Urcuqui (2016) dice que, existen cuatro tipos de medidas (Falsos
positivos (FP), Falsos negativos (FN), Verdaderos positivos (TP) y Verdaderos negativos (TN)).
Los valores dados en la matriz de confusión nos permitirán calcular algunas métricas que debemos
tomar en cuenta en la elección del modelo, los cuales se detallan a continuación.
Precisión: mide el número de clasificaciones positivas que estén realizadas correctamente
(Maseda Tarin, 2019). Se podría decir que la precisión es un valor cercano al valor verdadero.
135
Sensibilidad (Recall): En esta métrica se aprecian todas las observaciones positivas (Zamorano
Ruiz, 2018). Es decir, mide la capacidad en que nuestro modelo detecta casos verdaderos
F1-score: habla de las combinaciones que existen entre las métricas de precisión y sensibilidad ya
que son como compromiso entre ellas (Balparda, 2020). Es decir, se realiza la combinación de las
dos métricas para conocer su rendimiento.
Precisión
Alto
el modelo escogido
no detecta la clase
muy bien, pero
cuando lo hace es
altamente confiable.
El modelo escogido
maneja
perfectamente esa
clase.
Bajo
El modelo escogido
no logra clasificar la
clase correctamente.
El modelo escogido
detecta bien la clase,
pero también
incluye muestras de
la otra clase.
Bajo Alto Recall
Figura 5. Métricas para elegir un modelo.
Fuente: Propia
EL entrenamiento en la Darknet YOLOv4 no se genera con épocas, más bien lo hace con
iteraciones con lotes, durante el entrenamiento se irán guardando puntos de control o Backup,
también después de un número de iteraciones se ira haciendo el cálculo mAP en la interacción
actual tal como se lo muestra en la Figura 6, si el cálculo mAP es superior al anterior este se guarda
como “Best” y así mientras dure el entrenamiento dejándonos una carpeta con varios pesos, de los
cuales tuvimos que elegir el peso apto para nuestro fin.
136
Figura 6. Evaluación mAP obtenida en el modelo en la interacción 10728
Fuente: Propia
Para escoger el mejor peso se puede escoger el “Best” o recurrir al cálculo mAP de cada uno de
los pesos y elegir el adecuado. En nuestro estudio se hiso 3 entrenamiento generándonos 3 modelos
con múltiples pesos a elegir de los cuales se realizó el cálculo mAP a cada uno y se eligió uno por
modelo.
Tabla 1. Entrenamientos realizados
Fuente: Propia
Tabla 2. Resultados obtenidos en el Modelo_v1.
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 58.79 62.0 62.0 62.0 73.61 51.47 51.29
2000 79.27 81.0 76.0 79.0 90.18 79.37 68.27
3000 78.53 77.0 77.0 77.0 88.37 81.50 65.70
4000 82.29 82.0 79.0 80.0 89.79 84.10 72.97
5000 82.77 80.0 82.0 81.0 90.03 85.06 73.23
6000 82.15 81.0 81.0 81.0 90.14 84.43 71.88
7000 83.50 82.0 82.0 82.0 91.31 84.59 74.60
8000 83.72 82.0 82.0 82.0 91.76 86.04 73.36
Best 84.20 82.0 82.0 82.0 92.07 86.55 73.99
Fuente: Propia
N.º Modelo Total de imágenes Rango de resoluciones
Modelo_v1 7000 100 x 100 - 400 x 400
Modelo_v2 7671 100 x 100 - 800 x 800
Modelo_v3 8646 100 x 100 en adelante
137
Tabla 3. Resultados obtenidos en el Modelo_v2
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 67.57 64.0 73.0 68.0 80.99 53.69 68.02
2000 79.11 73.0 81.0 77.0 88.23 71.75 77.35
3000 84.89 79.0 84.0 81.0 91.50 81.28 81.91
4000 85.69 83.0 83.0 83.0 92.37 82.79 81.89
5000 85.31 82.0 83.0 83.0 91.77 82.25 81.92
6000 85.96 82.0 84.0 83.0 92.45 84.20 81.23
7000 86.51 80.0 86.0 83.0 92.36 85.24 81.92
8000 86.78 81.0 86.0 84.0 93.36 85.43 81.55
9000 86.67 82.0 86.0 84.0 93.33 84.91 81.77
Best 87.15 82.0 86.0 84.0 93.65 85.59 82.21
Fuente: Propia
Tabla 4. Resultados obtenidos en el Modelo_v3
Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
1000 50.36 59.0 63.0 61.0 63.20 36.28 51.60
2000 79.20 74.0 80.0 77.0 87.16 72.32 78.13
3000 81.72 77.0 82.0 79.0 88.70 78.77 77.71
4000 81.46 78.0 81.0 79.0 89.27 76.71 78.40
5000 82.72 77.0 84.0 80.0 89.60 80.60 78.48
6000 82.55 81.0 82.0 81.0 89.35 79.41 78.89
7000 82.60 77.0 83.0 80.0 89.76 80.01 78.03
8000 82.59 80.0 82.0 81.0 90.19 80.51 77.07
9000 83.41 79.0 83.0 81.0 89.90 82.32 78.02
10000 83.64 77.0 84.0 81.0 90.03 81.85 79.04
10576 83.90 79.0 84.0 81.0 90.38 82.96 79.14
11952 83.94 79.0 84.0 81.0 90.32 82.05 79.47
12000 83.87 79.0 84.0 82.0 90.32 81.78 79.51
Fuente: Propia
Después de un análisis se llegó a escoger un peso por cada entrenamiento tomando en cuenta que
el objeto principal a detectar son los barcos seguido por los motores y tercera clase a detectar
tenemos a las personas, analizamos entonces el AP por clase, también se tomó en cuenta la
Precisión y el Recall, luego del análisis se obtuvo los resultados mostrados en la tabla 5.
138
Tabla 5. Pesos óptimos de cada modelo entrenado
Modelo Peso MAP Precisión Recall F1_Score AP
Barco Motor Persona
Modelo_v1 Best 84.20 82.0 82.0 82.0 92.07 86.55 73.99
Modelo_ v2 Best 87.15 82.0 86.0 84.0 93.65 85.59 82.21
Modelo_v3 10576 83.90 79.0 84.0 81.0 90.38 82.96 79.14
Fuente: Propia
EVALUACIÓN
Se evaluó los pesos seleccionados en una demo en el entorno de trabajo de Google Colab, donde
se realizó detecciones en fotos y en tiempo real.
Reconocimiento en fotos
Para probar la detección de nuestros modelos generados fue necesario realizar una demo donde
utilizaremos fotos que no están dentro del dataset de la zona de estudio y así se obtuvo los
siguientes resultados:
Tal como se muestra en la figura 8 en la primera prueba se pasó imágenes de botes cercanos por
el detector, como resultados se obtuvo que el primer modelo no es tan preciso, nos dio varios FP
y FN tal como se muestra en el ítem (a) y (d) en el modelo 2 y 3 mejora la detección de objetos,
pero por otra parte en la detección de motores el tercer modelo genera varios FP siendo detectado
un mismo objeto varias veces como se muestran en el ítem(f).
(a)modelo_v1 (b)modelo_v2 (c)modelo_v3
(d)modelo_v1 (e)modelo_v2 (f)modelo_v3
Figura 8. Detección de objetos en fotos
Fuente: Propia
En la figura 9 se aprecia los resultados de las pruebas con imágenes donde se visualizan botes a
largas distancia, cabe recalcar que los resultados del primer modelo no son mostrados ya que no
detecta ningún objeto. En el Ítem (a) observamos la detección en el Modelo_v2 donde la detección
de objetos es mínima y existen varios FN, mientras tanto en el Modelo_v3 detecta los objetos en
139
su totalidad incluso detecta motores que no se visualizan con facilidad tal como se muestran en el
Ítem (b).
Figura 9. Detección de objetos en fotos de botes lejanos
Fuente: Propia
RECONOCIMIENTO EN TIEMPO REAL
En la figura 10 se aprecia la detección de objetos en tiempo real en un video proyectado desde una
pantalla dando como resultado la detección en botes es similar en los tres modelos y la diferencia
es evidente con la detección de motores ya que el modelo_v3 tiene mejor detección de motores tal
como se muestra en el Ítem (c) y (f).
(a)modelo_v1 (b)modelo_v2 (c)modelo_v3
(d)modelo_v1 (e)modelo_v2 (f)modelo_v3
Figura 10. Detección de objeto en tiempo real en video
Fuente: Propia
Validación de los modelos en una maqueta
Para validar nuestro modelo se realizó una maqueta donde está representado un parqueadero de
botes esto con el fin de ver cómo actúa la detección de objeto del modelo. En la figura 11 se puede
observar que la detección de objeto mejora entre uno y otro modelo, donde los modelos v1 y v2
no detecta los objetos en su totalidad a diferencia del modelo_v3 que detecta todos los objetos que
se encuentran en la maqueta.
(a). Modelo_v2
(b). Modelo_v3
140
(a)modelo_v1 (b)modelo_v2 (c)modelo_v3
(d)modelo_v1 (e)modelo_v2 (f)modelo_v3
Figura 11. Detección de objetos en tiempo real en maqueta
Fuente: Propia
DISCUSIÓN
Se debe tener un dataset con un número elevado de imágenes para que el modelo generado realice
la detección de objetos, también se debe tener en cuenta que la cantidad de las iteraciones no deben
ser pocas ya que en el transcurso van mejorando el promedio de precisión, tampoco deben ser
muchas ya que esto significa que el modelo tardara en finalizar el entrenamiento y existe el riesgo
de overfitting.
El uso de imágenes con altas resoluciones mejora la detección en objetos pequeños, aunque esto
conllevaría a que demore días o semanas el entrenamiento, pero la detección en objetos pequeños
o lejanos mejoraría significativamente.
El uso de una GPU en el entrenamiento de un modelo de Machine Learning ayuda de manera
significativa en reducir los tiempos de entrenamiento.
Al finalizar el estudio se generó un dataset y un modelo de detección de botes, el dataset puede ser
usado para trabajos similares, aumentar su volumen o añadir nuevas clases de objetos a detectar,
mientras el modelo generado está en un formato Darknet el cual puede convertirse en otros
formatos para su implementación así desarrollar un detector de barcos para varios dispositivos
incluso para móviles.
CONCLUSIÓN
Luego de revisar referentes teóricos se obtuvo conocimientos del uso de CNN para el detector de
objetos en espacios acuáticos, la detección de barcos en su entorno es variable a casusa del
desorden que hay en el mar.
Para la creación del dataset fue necesario tener como mínimo 1000 imágenes por cada clase, entre
más imágenes la detección fue más acertada, al final para detección de objetos pequeños o lejanos
fue necesario utilizar imágenes con altas resoluciones para que la detección sea acertada.
141
Después de realizar el reconocimiento del sitio se determinó que para la implementación del
sistema de videovigilancia el tipo de cámara se la debe seleccionar bajo los parámetros distancia
y ubicación.
Después de la revisión y validación de expertos sobre el funcionamiento del prototipo, este fue
aprobado. No hubo observaciones y se calificó con la mayor nota.
Finalmente, se realizó el modelo en Machine Learning fue validada por expertos y se realizó una
maqueta como prueba de que el modelo realiza detecciones.
REFERENCIAS BIBLIOGRÁFICAS
1. Balparda, N. (24 de noviembre de 2020). Introducción a Machine Learning.
Obtenido de gub.uy: https://www.gub.uy/agencia-gobierno-electronico-sociedad
informacionconocimiento/sites/agencia-gobierno-electronico-
sociedadinformacionconocimiento/files/2020-11/20201124%20
%20Introducci%C3%B3n%20a%20Machine%20Learning.pdf
2. Bentes, C., Velotto, D. y Tings, B. (2018). Ship Classification in TerraSAR-X
Images with Convolutional Neural Networks. IEEE Journal of Oceanic Engineering, 43(1),
258-266. https://doi.org/10.1109/JOE.2017.2767106
3. Bloisi, D., Previtali., F., Pennisi, A., Nardi, D, y Fiorini, M. (2017). Enhancing
Automatic Maritime Surveillance Systems with Visual Information. IEEE Transactions on
Intelligent Transportation Systems, 18(4), 824-833.
https://doi.org/10.1109/TITS.2016.2591321
4. Hui, D., Lan, D., Yan, W. y Zhaocheng, W. (2016). A Modified CFAR Algorithm
Based on Object Proposals for Ship Target Detection in SAR Images. IEEE Geoscience
and Remote Sensing Letters, 13(12), 1925 - 1929.
https://doi.org/10.1109/LGRS.2016.2618604
5. Maseda, M. (02 de enero de 2019). Reducción de la dimensionalidad mediante
métodos de selección de características en microarrays ADN.
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/89668/11/mmasedaTFG0119me
moria.pdf
6. Nie, X., Yang, M. y Liu, R. (2019). Deep Neural Network-Based Robust Ship
Detection Under Different Weather Conditions. 2019 IEEE Intelligent Transportation
Systems Conference, ITSC 2019, 47-52. https://doi.org/ 10.1109/ITSC.2019.8917475
7. Parreño, J. (2018). Implementación de un prototipo para contar personas en video
capturado en tiempo real utilizando técnicas de aprendizaje profundo. [Universidad de las
Fuerzas Armadas]. http://repositorio.espe.edu.ec/bitstream/21000/21670/1/T-ESPE-
043372.pdf
142
8. Shao, Z., Wang, L., Wang, Z., Du, W. y Wu, W. (2020). Saliency-Aware
Convolution Neural Network for Ship Detection in Surveillance Video. IEEE Transactions
on Circuits and Systems for Video Technology, 30(3), 781-794.
https://doi.org/10.1109/TCSVT.2019.2897980
9. Simonsen, C. P., Theisson, F. M., Holtskog, Ø., & Gade, R. (2020). Detecting and
Locating Boats Using a PTZ Camera with Both Optical and Thermal Sensors. In G. M.
Farinella, P. Radeva, & J. Braz (Eds.), Proceedings of the 15th International Joint
Conference on Computer Vision, Imaging and Computer Graphics Theory and
Applications: Volume 5: VISAPP (Vol. 5, pp. 395-403). SCITEPRESS Digital Library.
https://doi.org/10.5220/0008972603950403
10. Urcuqui, C. (2016 Framework for malware analysis in Android, Sistemas y
telemática, 14(37), https://doi.org/10.18046/syt.v14i37.2241
11. Weiwei, F., Feng, Z., Mingliang, T., Xueru, B., Xiaoran, S. y Hanyang, X. (2017).
An automatic ship detection method for PolSAR data based on K-Wishart distribution.
IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing,
10(6), 2725-2737. https://doi.org/ 10.1109/JSTARS.2017.2703862
12. Zamorano, J. 2018). Comparativa y análisis de algoritmos de aprendizaje
automático para la predicción del tipo predominante de cubierta arbórea.
https://eprints.ucm.es/48800/1/Memoria%20TFM%20Machine%20Learning_Juan_Zamo
rano_para_difundir%20%282%29.pdf
Top Related