univeridad de guayaquil - repositorio.ug.edu.ec

206
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

Upload: others

Post on 04-Jul-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 2: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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:

[email protected]

[email protected]

CONTACTO DE LA INSTITUCIÓN Nombre: Ab. Juan Chávez Atocha

Teléfono: 2307729

Email: [email protected]

Page 3: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 4: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 5: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 6: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 7: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 8: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 9: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 10: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 11: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 12: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 13: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 14: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 15: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 16: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 17: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 18: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 19: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 20: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 21: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 22: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 23: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 24: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

xxii

TP Verdaderos Positivos

VPN Virtual Private Network

WDR Wide Dynamic Range

Page 25: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

xxiii

SIMBOLOGÍA

/ División

< Menor que

€ Pertenece

∑ Sumatoria

% Porcentaje

Page 26: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 27: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 28: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 29: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 30: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 31: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 32: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 33: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 34: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 35: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 36: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 37: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 38: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 39: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 40: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 41: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 42: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 43: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 44: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 45: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 46: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 47: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 48: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 49: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 50: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 51: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 52: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 53: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 54: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 55: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 56: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 57: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 58: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 59: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

𝑅𝑗∑ 𝑖 ∈ 𝑅𝑗𝑎𝑗

Page 60: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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).

Page 61: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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).

Page 62: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 63: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 64: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 65: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 66: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 67: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 68: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 69: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 70: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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).

Page 71: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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).

Page 72: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 73: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 74: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 75: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 76: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 77: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 78: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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,

Page 79: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 80: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 81: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 82: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 83: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 84: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 85: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 86: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 87: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 88: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 89: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 90: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 91: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 92: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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,

Page 93: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 94: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 95: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 96: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 97: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 98: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 99: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 100: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 101: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 102: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 103: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 104: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 105: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 106: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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%.

Page 107: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 108: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 109: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 110: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 111: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 112: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 113: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 114: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 115: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 116: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 117: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 118: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 119: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 120: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 121: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 122: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 123: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 124: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 125: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 126: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 127: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 128: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 129: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 130: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 131: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 132: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

105

ANEXOS

ANEXO 1. Planificación de actividades del proyecto

Page 133: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

106

Page 134: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

107

Page 135: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

108

Page 136: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

109

ANEXO 2. Geo – localización del problema

Elaborado por: Karen Alejandro y Marlon Yagual.

Fuente: Información del Proyecto

Page 137: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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;

Page 138: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 139: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 140: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 141: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 142: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 143: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 144: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 145: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 146: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 147: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 148: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 149: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 150: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 151: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 152: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

125

Experto #1: M.Sc. Jorge Luis Charco Aguirre

Page 153: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

126

Experto #2: Ing. Jessica Jaramillo González

Page 154: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

127

Experto #3: Ing. Karen Chiquito Bartolomé

Page 155: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

128

Experto #4: MSc. Charles Pérez Espinoza

Page 156: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

129

Constancia del Juicio de Experto

Experto #1: MSc. Jorge Luis Charco Aguirre

Experto #2: Ing. Jessica Jaramillo González

Page 157: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

130

Page 158: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

131

Experto #3: Ing. Karen Chiquito Bartolomé

Page 159: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

132

Experto #4: MSc. Charles Pérez Espinoza

Page 160: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 161: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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”.

Page 162: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 163: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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 .

Page 164: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 165: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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”.

Page 166: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 167: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 168: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 169: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 170: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 171: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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"

Page 172: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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')

Page 173: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 174: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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')

Page 175: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 176: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 177: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 178: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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')

Page 179: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 180: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 181: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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/

Page 182: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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)

Page 183: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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:

Page 184: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 185: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 186: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 187: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 188: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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;

Page 189: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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);

Page 190: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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 }

Page 191: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 192: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 193: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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]

Page 194: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 195: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 196: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 197: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 198: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 199: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 200: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 201: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 202: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 203: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 204: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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.

Page 205: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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

Page 206: UNIVERIDAD DE GUAYAQUIL - repositorio.ug.edu.ec

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