MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

67
1 MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE ÓRDENES DE COMPRA DE LA FERRETERÍA HERRAMIENTAS Y SUMINISTROS ANDRÉS MAURICIO GIL CARDENAS 625726 ASESOR JUAN CARLOS BARRERO UNIVERSIDAD CATÓLICA DE COLOMBIA FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS MODALIDAD TRABAJO DE INVESTIGACIÓN TECNOLÓGICA BOGOTÁ D.C.2020

Transcript of MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

Page 1: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

1

MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE ÓRDENES DE COMPRA DE LA FERRETERÍA HERRAMIENTAS Y SUMINISTROS

ANDRÉS MAURICIO GIL CARDENAS 625726

ASESOR

JUAN CARLOS BARRERO

UNIVERSIDAD CATÓLICA DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS

MODALIDAD TRABAJO DE INVESTIGACIÓN TECNOLÓGICA

BOGOTÁ D.C.2020

Page 2: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

2

Page 3: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

3

NOTA DE ACEPTACIÓN

_______________________________

_______________________________

_______________________________

_______________________________

_______________________________

_______________________________

_______________________________

_______________________________

Firma Jurado 1

_______________________________

Forma Jurado 2

_______________________________

Juan Carlos Barrero Calixto

Asesor

Page 4: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

4

Tabla de contenido

1. Resumen 9

2. INTRODUCCIÓN 10

3. PLANTEAMIENTO DEL PROBLEMA 11

Pregunta problema 12

4. JUSTIFICACIÓN 13

5 . OBJETIVOS 14

5.1 Objetivo general 14

5.2 Objetivos específicos 14

6. ALCANCES Y LIMITACIONES 15

6.1 Alcances 15

6.2 Limitaciones 15

7. MARCO DE REFERENCIA 16

7.1 Marco Teórico 16

7.1.1 Redes neuronales 16

7.1.2 Redes Neuronales Convolucionales 17

7.1.2 Exhaustividad (Recall) 18

7.1.3 Precisión 19

7.1.4 F1-Score 19

7.1.5 Extracción de características 19

7.1.6 Leave One Out Cross-Validation (LOOCV) 20

7.2 Marco conceptual 25

7.2.2 Aprendizaje de máquina (Machine Learning) 25

7.2.3 Aprendizaje Profundo (Deep Learning) 25

7.2.4 Automatización 26

7.2.5 OCR 26

7.2.7 Detección de objetos en imágenes 26

7.2.8 Convolución Atroz (Atrous convolutions) 26

7.2.10 K-Fold Cross-Validation 27

7.2.11 Afilado de imagen 27

7.2.12 Binarización de una imagen 28

7.3. ESTADO DEL ARTE 30

7.3.1 Automatic Segmentation and Recognition of Bank Cheque Fields 30

Page 5: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

5

7.3.2 VEHICLE LOGO RECOGNITION BASED ON VEHICLE REGION AND

MULTI-SCALE FEATURE FUSION 31

7.3.3 Pattern Recognition 32

7.3.4 Reconocimiento de Caracteres en Imagen Digital, una Aplicación al

Reconocimiento Automático de Placas de Vehículos 33

7.3.5 CNN-based multilingual handwritten numeral recognition: A Resultados

procesos evaluados 35

fusion-free approach 35

7.3.6 OCR binarization and image pre-processing for searching historical documents

37

7.3.7 Food Image Recognition by Using Convolutional Neural Networks (CNNs) 39

7.3.8 Detección de logos en imágenes mediante Redes Convolucionales 40

8. METODOLOGÍA 42

8.1 Conjunto de datos 43

8.2 Preprocesamiento 43

8.3 Extracción de características 44

8.4 Muestreo 44

8.5 Clasificación 44

8.6 Medidas de desempeño 45

8.7 Validación de Resultados 45

9. Diseño metodológico 46

10. Características del equipo 56

11. RESULTADOS 57

12.Conclusión 61

13.Trabajos futuros 62

14. BIBLIOGRAFÍA 63

Page 6: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

6

Lista de figuras

Figura 1. Redes Neuronales 12

Figura 2. Realización producto matricial 13

Figura 3. Aplicación de Subsampling 14

Figura 4. Ejemplo de aplicación on del algoritmo K-NN básico 18

Figura 5. Distancia euclidiana 19

Figura 6. Clasificador SVM 20

Figura 7. Clasificador SVM plano 22

Figura 8. SSD Mobilenet Layered Architecture 23

Figura 9. Convolución atroz 26

Figura 10. Filtro de cheque 28

Figura 11. Segmentación de cheque 28

Figura 12. Estructura de la red 30

Figura 13. Ejemplo de la transformación 31

Figura 14. Muestra procesamiento de imagen 29

Figura 15. Extracción de número del código postal 34

Figura 16. Binarización texto 36

Figura 17. Esquema modelo de red 37

Figura 18. Metodología 40

Figura 19. Archivo digital 42

Figura 20. Binarización de imagen 43

Page 7: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

7

Figura 20. reducción de imagen 46

Figura 21. Orden de compra con etiquetas 47

Figura 22. XML de imagen 019.pdf.png 48

Figura 23. Mapa de etiquetas 50

Figura 24. Orden de compra clasificada 50

Figura 25. Aplicación de ocr en región 51

Figura 26. Extracción de caracteres 55

Figura 27. Medidas de desempeño SSD MobileNet V1 FPN 640x640 56

Figura 28. Medidas de desempeño SSD MobileNet V2 FPV Lite 640x640

56

Figura 29. Pérdida de modelo MobileNet V1 FPN 640x640 58

Figura 30. Pérdida de modelo MobileNet V1 FPN 640x640 59

Figura 31. MobileNet V1 FPN 640x640 59

Figura 32. Pérdida de modelo SSD MobileNet V2 FPV Lite 640x640 60

Page 8: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

8

Lista de tablas

Tabla 1. Evaluación de desempeño 30

Tabla 2. Comparación de resultados 31

Tabla 3. Resultados procesos evaluados 32

Tabla 4. Resultado de las pruebas 34

Tabla 5. Comparativa del reconocimiento numérico 36

Tabla 6. Reconocimiento de palabras 37

Tabla 7. Matriz de fusión y tasas de reconocimiento por BoF en las

imágenes de prueba 39

Tabla 8. Matriz de confusión 40

Tabla 9. Cantidad de órdenes de compra 45

Tabla 10. Medidas de desempeño: precisión 51

Tabla 11. Medidas de desempeño: recall 52

Page 9: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

9

1. Resumen

En el presente proyecto nos enfocaremos en el área de financiera de La Ferretería

Herramientas y suministros SAS, ya que es allí donde se realiza el proceso de

selección de la orden de compra, escaneo de esta misma y su almacenamiento

en un servidor de la empresa con su respectiva carpeta para facilitar una futura

búsqueda. Se propone diseñar un método automático utilizando aprendizaje

profundo (deep learning) implementando la arquitectura Mobilenet-ssd para

extraer las características y elementos que permitan identificar las órdenes de

compra, con esto, este método automático permitirá reconocer a la empresa

generadora de órdenes de compra mediante su logo y el número del documento

impreso en esta misma para así ubicarla en una carpeta única para cada

empresa.

Este método se propone para el área de financiera que es donde se realiza la

factura electrónica la cual debe tener entre sus documentos adjuntos la orden de

compra, con este método se busca agilizar y mantener mayor orden sobre el

proceso de escanear las órdenes de compra que se reciban de los clientes.

Para el desarrollo de este proyecto se planteó una metodología a desarrollar en 7

partes: Construcción del conjunto de datos, preprocesamiento, extracción de

características, muestreo, clasificación, medidas de desempeño y validación de

los resultados.

Palabras claves: Aprendizaje profundo, Sistema de clasificación, Algoritmo,

Mobilenet-ssd.

Page 10: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

10

2. INTRODUCCIÓN

El orden y clasificación de los archivos es muy importante para las empresas ya

que es un recurso de suma importancia, además de que un archivo ordenado

garantiza el flujo y la disposición de los archivos “si los archivos se encuentran

bien organizados no tendrán los funcionarios que partir de cero, o invertir tiempo

y recursos en búsqueda infructuosa de información, elevando los costos de

operación, produciendo ineficiencia, atraso, confusión y, en general, una

deficiente administración1”.

La empresa La Ferretería Herramientas y Suministros SAS, dedicada a la venta

de productos de construcción, tanto a clientes naturales como a grandes

compañías (siendo esta última su principal fuente de ingresos), consta de 32 de

trabajadores enfocados en distintas áreas como: ventas, financiera, logística y

recursos humanos.

Debido al creciente número de clientes y aumento en las ventas de los clientes

más antiguos de la Ferretería, en este proyecto de investigación tecnológica se

propone un diseñar un método que permita clasificar y almacenar órdenes de

compra con el fin de agilizar el proceso de almacenamiento de órdenes de compra

en el archivo digital ya que en la actualidad solo un empleado realiza esta función,

esto se convierte en una necesidad de primer orden: al optimizar este proceso el

personal de trabajo podrá emplear su fuerza de trabajo en otras labores, lo cual le

representa una ganancia monetaria a la empresa. Además, implementar esta

herramienta puede despertar interés en otras microempresas del sector.

1 Llamoza, Diana, and Elisa Freschi. n.d. “IMPORTANCIA DE LA ORGANIZACIÓN DE DOCUMENTOS.” IMPORTANCIA DE LA ORGANIZACIÓN DE DOCUMENTOS. https://www.academia.edu/11056093/IMPORTANCIA_DE_LA_ORGANIZACIÓN_DE_DOCUMENTOS.

Page 11: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

11

3. PLANTEAMIENTO DEL PROBLEMA

En la Ferretería Herramientas y Suministros SAS los clientes emiten sus órdenes

de compra para realizar el pedido de los productos que requieran, cada una de

estas se deben imprimir y firmar por el trabajador responsable de alistar los

productos solicitados, luego de que la orden de compra es firmada, esta se debe

almacenar en el archivo digital de la empresa.

La Ferretería en la actualidad cuenta con aproximadamente 400 clientes, y cada

cliente cuenta con una carpeta dentro del archivo digital, esto hace que sea muy

extensa la labor de almacenar cada orden de compra y los encargados de

digitalizar la orden de compra que se encuentran en la bodega no siempre pueden

utilizar los computadores ya que estos son utilizados por empleados que se

encargan de otras tareas dentro de la empresa como lo son la gestión del

inventario, remisionar o ingresar facturas de compra. Si bien el creciente número

de clientes y órdenes de compra es una ventaja para la Ferretería, el

almacenamiento de estos documentos cada vez es más lento, presentando un

desafío al momento de almacenar y buscar órdenes de compra.

Esta orden de compra tiene campos como: el nombre de la empresa, logo, NIT,

fecha de realización entre otros. Esta orden de compra al no poseer un formato

establecido hace que cada empresa maneje formatos diferentes, dando como

resultado que la ubicación del logo e información que se desea extraer de la orden

de compra varíe, esto hace que no se pueda realizar una plantilla para lograr

extraer esta información, por lo cual se requiere aplicar distintos métodos para la

extracción de la información como lo pueden ser OCR, redes neuronales o

information retrieval.

Page 12: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

12

Pregunta problema

¿Qué elementos se deben considerar para implementar un método automático

para extraer información de órdenes de compra almacenadas en el archivo

digital de la ferretería herramientas y suministros?

Page 13: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

13

4. JUSTIFICACIÓN

Debido al crecimiento de las ventas, el flujo de órdenes de compra ha aumentado

en una gran cantidad. Mantener en orden dicha pila de documentos se ha

convertido en una tarea tediosa y de difícil rastreo de documentos específicos.

La labor de ordenamiento, clasificación y almacenamiento está colapsada. La

fuerza de trabajo de esta empresa está derrochando cantidades de tiempo y

energía en este proceso generando retrasos en sus entregas y desorden en la

oficina.

Es por esto que diseñar un método automático que permite extraer esta

información es necesario. La realización de este método servirá como insumo

para el posterior desarrollo de una aplicación la cual beneficiará al área de

facturación logrando reducir el tiempo utilizado para almacenar las órdenes de

compra en el archivo digital, por lo cual el trabajador tendrá mayor tiempo para

realizar sus otras labores, adicional a esto se evitarán errores al momento de

adjuntar la orden de compra a la factura electrónica obteniendo así un ahorro de

dinero ya que la corrección de la factura electrónica tiene un costo.

Debido a que el proceso de almacenar las órdenes de compra en el archivo

digital puede llegar a tomar bastante tiempo, en algunas ocasiones ocurre que la

empresa no puede facturar debido a la falta de este documento y que por política

de algunos clientes solo aceptan facturas en fechas específicas, esto puede

incurrir en pérdidas para la empresa, con este método automático se busca dar

soporte a las personas responsables de la facturación permitiéndoles tener un

archivo digital ordenado y donde se puede

Gracias a los avances en el aprendizaje de máquina, diseñar un método que

permita extraer información de manera automática de las órdenes de compra

permite dar un paso inicial al desarrollo de un software que permita automatizar la

tarea del almacenamiento no solo de órdenes de compra sino a otros documentos.

Page 14: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

14

5 . OBJETIVOS

5.1 Objetivo general

Implementar un método automático mediante algoritmos de aprendizaje de

máquina para la extracción de información en órdenes de compra almacenadas

en el archivo digital de La Ferretería herramientas y suministros SAS.

5.2 Objetivos específicos

5.2.1 Construir un dataset a partir de las órdenes de compra almacenadas en

el archivo digital de La Ferretería para el entrenamiento de los algoritmos.

5.2.2 Diseñar un método automático a partir de técnicas de aprendizaje de

máquina para la extracción de información de las órdenes de compra de La

Ferretería.

5.2.3 Desarrollar el método automático aplicando algoritmos de aprendizaje de

máquina al dataset para extraer la información de las órdenes de compra.

5.2.4 Evaluar el desempeño y eficacia del método automático para la

clasificación de órdenes de compra a partir de las medidas de desempeño:

exactitud, precisión, valor f1 y sensibilidad.

Page 15: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

15

6. ALCANCES Y LIMITACIONES

6.1 Alcances

Se desarrollará un método automático que permita identificar y extraer

información de las órdenes de compra escaneadas y digitales de La Ferretería

Herramientas y Suministros, entre estos datos la empresa desea identificar el

logo de la empresa y variables como el NIT, la fecha de la orden de compra, la

forma de pago, observaciones para la entrega del material entre otros para su

posterior almacenamiento.

6.2 Limitaciones

Para realizar los objetivos propuestos se tendrá en cuenta las siguientes

limitaciones:

● El tamaño del dataset dependerá de la cantidad de órdenes de compra

que nos permita utilizar la Ferretería.

● Para el entrenamiento de los algoritmos sólo se tendrá en cuenta las

órdenes de compra que lleguen a la Ferretería.

● Este método automático se aplicará únicamente a órdenes de compra

almacenadas en el archivo digital de la ferretería, pero se deja abierta la

posibilidad para que la ferretería si así lo desea en un futuro busque

implementar un software que le permita aplicar este método no solo a

órdenes de compra, sino a otros documentos de carácter contable como

lo son las remisiones o facturas de compra.

● En este proyecto solo se diseñará un método capaz de reconocer las

órdenes de compra según las características extraídas, pero se deja

abierta la posibilidad de que si La Ferretería lo desea implemente un

software donde pueda aplicar este método no solo a órdenes de compra

sino también a otros documentos contables como los son facturas o

remisiones.

Page 16: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

16

7. MARCO DE REFERENCIA

7.1 Marco Teórico

7.1.1 Redes neuronales

Las redes neuronales son la implementación de un aprendizaje de máquina, en

el cual se reciben una serie de valores de entrada y cada una de estas llega a un

nodo llamado neurona. Estas neuronas están agrupadas por capas y cada una

posee un valor numérico con el cual modifica la entrada recibida, los resultados

que se obtienen pasan a la siguiente capa y así hasta llegar al final de la red.

Figura 1: Redes Neuronales

Fuente: Industria 4.0 Disponible en <

https://www.atriainnovation.com/que-son-las-redes-neuronales-y-sus-funciones/>

Al alcanzar el final se obtiene una salida la cual será la predicción calculada por

la red, la complejidad de sus funciones se puede dar por la cantidad de capas que

posea.2

2 Atria Innovation. 2019. “Qué son las redes neuronales y sus funciones.” Qué son las redes neuronales y sus funciones. https://www.atriainnovation.com/que-son-las-redes-neuronales-y-sus-funciones/.

Page 17: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

17

7.1.2 Redes Neuronales Convolucionales

Su diferencia con las redes neuronales convencionales inicia en el procesado de

la imagen, se crean las “convoluciones” las cuales consisten en tomar distintos

grupos de píxeles cercanos de la imagen e ir operándolos generando un

producto escalar contra una matriz llamada kernel, se crea un kernel por cada

filtro que se desee aplicar.

Figura 2: Realización producto matricial

Fuente: ¿Cómo funcionan las Convolutional Neural Networks? Disponible en

<https://www.aprendemachinelearning.com/como-funcionan-las-convolutional-

neural-networks-vision-por-ordenador/>

A partir de la imagen original se generan distintas capas por cada convolución

aumentando el número de neuronas en una gran cantidad. Cada convolución o

filtro que se realiza genera una imagen nueva en la cual se van representando

distintas características de la imagen original.

Page 18: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

18

Para poder manejar esta gran cantidad de neuronas generadas después de

cada convolución es necesario realizar una reducción de estas de tal manera

que para realizar la siguiente capa no requiera una gran cantidad de

procesamiento, este proceso se le llama Subsampling en el cual de cada imagen

filtrada se extraen las características más destacables de esta.3

Figura 3: Aplicación de Subsampling

Fuente: ¿Cómo funcionan las Convolutional Neural Networks? Disponible en

<https://www.aprendemachinelearning.com/como-funcionan-las-convolutional-

neural-networks-vision-por-ordenador/

7.1.2 Exhaustividad (Recall)

La métrica de Recall o exhaustividad está hecha para informar sobre la cantidad

que el modelo de machine learning es capaz de identificar. Está dada por la

cantidad de resultados positivos correctos dividido por el número de todas las

muestras.

3 Na8. 2018. “¿Cómo funcionan las Convolutional Neural Networks? Visión por Ordenador.” aprende Machine Learning. https://www.aprendemachinelearning.com/como-funcionan-las-convolutional-neural-networks-vision-por-ordenador/

Page 19: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

19

7.1.3 Precisión

Esta métrica tiene capacidad de medir la calidad del modelo de machine learning

en tareas de clasificación dando un porcentaje de efectividad que se tendrá. Está

dada por el número de resultados positivos correctos dividido por el número de

todas las muestras.

7.1.4 F1-Score

Esta técnica combina las métricas de Recall y Precisión en un solo valor

comparando el rendimiento del modelo junto a la precisión de este mismo.4

7.1.5 Extracción de características

Para la identificación de una imagen es necesario la extracción de características

en distintas áreas de interés para lograr determinar con mayor precisión. Extraer

una gran cantidad de características aumenta la complejidad del clasificador y a

su vez puede afectar el rendimiento.5

4 Martinez Heras, Jose. 2019. “Precision, Recall, F1, Accuracy en clasificación.” Precision, Recall, F1, Accuracy en clasificación. https://www.iartificial.net/precision-recall-f1-accuracy-en-clasificacion/. 5 Díaz Sotolongo, Alejandro. n.d. “Extracción de características para el análisis de imágenes de mamografías.” Extracción de características para el análisis de imágenes de mamografías. https://www.monografias.com/trabajos93/extraccion-caracteristicas-analisis-imagenes-mamografias/extraccion-caracteristicas-analisis-imagenes-mamografias.shtml

Page 20: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

20

7.1.6 Leave One Out Cross-Validation (LOOCV)

Es un método iterativo que consiste en un conjunto de entrenamiento de datos con todas

las características disponibles excepto una, donde la característica que no se toma se

utiliza para la validación, este proceso se repetirá según el número de características

variando el conjunto de entrenamiento con las características que se utilizan para la

validación. Al finalizar el entrenamiento se calcula el error con la fórmula: 6

𝐶𝑉(𝑛) =1

𝑛 ∑

𝑛

𝑖=1

(𝑦𝑖 − ��𝑖(−𝑖)

) 2

Donde el error se calcula por el promedio de los errores cometidos por cada

iteración realizado

7.1.7 K- vecinos más cercanos

También conocido como k-nearest neighbors (k-nn) es un algoritmo usado

ampliamente en el reconocimiento de patrones en un conjunto de datos y es

famoso por su simplicidad y baja tasa de error.

A diferencia de otros algoritmos, este no genera un modelo de aprendizaje con

los datos de entrenamiento, sino que el aprendizaje sucede en el mismo

momento en el que se prueban los datos de entrenamiento.7

El proceso que sigue el algoritmo es:

● Escoge el número de k y la distancia.

● Encuentra el k vecino más cercano de la muestra que se pretende

clasificar.

● Asigna la etiqueta de clase por votación mayoritaria.

6 Amat Rodrigo, Joaquín. 2020. “Validación de modelos predictivos: Cross-validation, OneLeaveOut, Bootstraping.” Validación de modelos predictivos: Cross-validation, OneLeaveOut, Bootstraping. https://www.cienciadedatos.net/documentos/30_cross-validation_oneleaveout_bootstrap. 7 Moujahid, Abdelmalik, Inaki Inza, and Pedro Larranaga. n.d. http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9knn.pdf.

Page 21: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

21

Figura 4: Ejemplo de aplicación on del algoritmo K-NN básico

Fuente K-Nearest Neighbours (KNN) Algorithm diponible en:

<https://images.app.goo.gl/jwAgSZjbeXFMcjgt7>

Donde se utiliza la distancia euclidiana para clasificar los k vecinos se da por:

Figura 5: Distancia euclidiana

Fuente Clasificadores K-NN Disponible en

<http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9knn.pdf>

7.1.8 Máquinas de soporte vectorial (SVM)

Page 22: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

22

Las máquinas de soporte vectorial es un algoritmo de aprendizaje supervisado

utilizado para solucionar problemas de clasificación y regresión mostrando un

mejor desempeño frente a otros algoritmos de aprendizaje de máquina .

Se emplean mayor mente para resolver problemas de clasificación y

reconocimiento de patrones en conjuntos de datos utilizando la función de kernel

, donde se emplea para determinar la clase de un dato de entrada.

Las SVM definen límites denominados rectas en dos dimensiones o planos

cuando son tres dimensiones.

Figura 6: Clasificador SVM

Fuente: classification of data by support vector machine (SVM).

dsiponible en <https://images.app.goo.gl/itx7YFRHBYe5Ahbz5>

Figura 7: Clasificador SVM plano

Page 23: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

23

Fuente Exploring Support Vector Machine Acceleration with Vitis

Disponible en <https://images.app.goo.gl/xJRyaMAiMbPFvc1Z9>

El objetivo principal del algoritmo es encontrar un hiperplano que sea capaz de

maximizar el margen que separa las diferentes clases, por tanto si este método

se aplica a un conjunto de datos que contenga diferentes características se

podría predecir el comportamiento en nuevos datos de entrada.8

Estos hiperplanos están definidos por:

𝐻1: 𝑤 ∗ 𝑥1 + 𝑏 ≥ 1 𝑐𝑢𝑎𝑛𝑑𝑜 𝑦1 = +1

𝐻2: 𝑤 ∗ 𝑥1 + 𝑏 ≤ 1 𝑐𝑢𝑎𝑛𝑑𝑜 𝑦1 = −1

La distancia entre los hiperplanos está dada por:

𝑚 =|𝑤 ∗ 𝑥𝑖 + 𝑏|

||𝑤||=

1

||𝑤||

8 Y. Kung, S. n.d. Kernel Methods and Machine Learning. https://books.google.com.co/books?hl=es&lr=&id=aRcmAwAAQBAJ&oi=fnd&pg=PR17&dq=kernel+machine+learning&ots=Q0dGLmELUD&sig=N6wgXWgpjnz56g9RzLIhGxyva2M#v=onepage&q=kernel%20machine%20learning&f=false.

Page 24: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

24

7.1.9 Keras

Keras es una librería desarrollada en Python utilizada para el aprendizaje

profundo y puede ejecutarse en Tensor flow, theano o CNKT(The microsoft

cognitive toolkit).Para el caso de Tensor flow utiliza la API tf.keras que le

permite dar mayo soporte a algunas características avanzadas de este.

.7.1.10 Mobilenet-ssd

Mobilenet -ssd es un modelo de detección de casilla múltiple de disparo único

(Single Shot Multibox Detector/SSD) utilizado principalmente para la detección

de objetos en imágenes, en donde permite reducir el tamaño del modelo y a su

vez mantiene la calidad del mismo este, a su vez, es un algoritmo muy popular

debido a que en general es más rápido que la red Faster RCN.

Esta red, es una red convolucional de una sola capa que aprende a predecir

según las etiquetas establecidas y a su vez clasificar estas.

Figura 8 SSD Mobilenet Layered Architecture

Fuente Object Detection using SSD Mobilenet and Tensorflow Object

Detection API : Can detect any single class from coco dataset

Dispnible en https://medium.com/@techmayank2000/object-detection-using-

ssd-mobilenetv2-using-tensorflow-api-can-detect-any-single-class-from-

31a31bbd0691

Page 25: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

25

Entre sus diferencias podemos encontrar que respecto a otro tipo de redes

neuronales como las redes de propuesta regional (RPN),estas necesitan al

menos dos tomas para poder detectar objetos dentro de una imagen mientras

que SSD solo requiere de una para poder identificar múltiples objetos dentro de

la imagen.

7.2 Marco conceptual

7.2.2 Aprendizaje de máquina (Machine Learning)

“El aprendizaje de máquina es una forma de inteligencia artificial la cual

permite a un sistema aprender de los datos en lugar de aprender de la

programación explícita”. Un modelo de aprendizaje de máquina tiene

como propósito detectar patrones o comportamientos en un conjunto de

datos para que un computador pueda aprender de ellos y de esta manera

pueda elaborar algún tipo de predicción sobre los nuevos datos de

entrada. 9

7.2.3 Aprendizaje Profundo (Deep Learning)

El aprendizaje profundo es una rama del aprendizaje de máquina, que se define

como “como un algoritmo automático estructurado o jerárquico que emula el

aprendizaje humano con el fin de obtener ciertos conocimientos” y a diferencia

del aprendizaje de máquina, este no requiere un conjunto de datos de entrada

ya que es capaz de aprender por sí mismo. 10

9IBM. n.d. “¿Qué es Machine Learning?” ¿Qué es Machine Learning? https://www.ibm.com/ar-es/analytics/machine-learning?p1=Search&p4=43700053692634426&p5=b&cm_mmc=Search_Google-_-1S_1S-_-LA_ISA-_-datos%20%2Bmachine%20%2Blearning_b&cm_mmca7=71700000065289299&cm_mmca8=kwd-1097762210552&cm_mmca9=Cj0KCQjwoJX8BRCZARIsAEWBFMJ77. 10 SmartPanel. 2019. “¿Qué es el Deep Learning?” ¿Qué es el Deep Learning? https://www.smartpanel.com/que-es-deep-learning/.

Page 26: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

26

7.2.4 Automatización

La automatización consiste en usar la tecnología para realizar tareas sin la

necesidad de las personas, la automatización se puede implementar casi en

cualquier sector que realice labores operativas o repetitivas.11

7.2.5 OCR

El OCR o reconocimiento óptico de caracteres es un sistema de reconocimiento

de texto impreso. Mediante el escaneo de un documento lo convierte en un mapa

de bits con el cual se comparan los espectros de luz y oscuridad para así

determinar los caracteres los cuales son reconocidos y convertidos a código

ASCII.12

7.2.7 Detección de objetos en imágenes

Consiste en un método de aprendizaje de máquina que es capaz de detectar

uno o varios objetos dentro de una imágen dando la posición del objeto y al

mismo tiempo resaltando el objeto encontrado.13

7.2.8 Convolución Atroz (Atrous convolutions)

La convolución atroz o convolución dilatada es un método de convolución del

Deep Learning en el cual se introduce un parámetro de tasa de dilatación en las

11RedHat. n.d. “¿Qué es la automatización?” ¿Qué es la automatización? https://www.redhat.com/es/topics/automation. 12Debitoor. n.d. “¿Qué es el sistema OCR?” ¿Qué es el sistema OCR? https://debitoor.es/glosario/ocr-escaneo. 13 Na8. 2019. “Modelos de Detección de Objetos.” Modelos de Detección de Objetos. https://www.aprendemachinelearning.com/modelos-de-deteccion-de-objetos/

Page 27: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

27

capas convolucionales. Esto se realiza para lograr un campo de visión más

amplio sin aumentar el costo computacional.14

Figura 9: Convolución atroz

Fuente: https://towardsdatascience.com/types-of-convolutions-in-deep-learning-

717013397f4d

7.2.10 K-Fold Cross-Validation

La validación cruzada consiste en tomar un conjunto de datos originales y dividirlos en

dos conjuntos, un conjunto de entrenamiento y un segundo conjunto de validación. El

conjunto de entrenamiento se divide en K subconjuntos los cuales se tomarán como

conjuntos de prueba y el los datos restantes se toman como conjunto de pruebas, este

proceso se realiza K veces y al terminar se calcula la precisión y el error de cada

modelo creado y después calcula su promedio.15

7.2.11 Afilado de imagen

El afilado de una imagen es la técnica para aumentar la nitidez aparente de una

imagen, para aplicar esta técnica de manera correcta es necesario tener en cuenta

14 Pröve, Paul-Louis. n.d. “An Introduction to different Types of Convolutions in Deep Learning.” An Introduction to different Types of Convolutions in Deep Learning. https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d. 15 Delgado, Ronald. 2018. “Introducción a la Validación Cruzada (k-fold Cross Validation) en R.” Introducción a la Validación Cruzada (k-fold Cross Validation) en R, julio 18, 2018. http://rstudio-pubs-static.s3.amazonaws.com/405322_6d94d05e54b24ba99438f49a6f8662a9.html.

Page 28: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

28

factores como la resolución, el tamaño de los detalles de la imagen y el tamaño de la

imagen en general.16

7.2.12 Binarización de una imagen

La binarización es un proceso que consiste en pasar una imagen a escala de grises,

consiguiendo así que los únicos valores posibles son verdadero o falso (1 p 0),

buscando reducir información de la misma con el fin de facilitar la extracción de

características.

7.2.14 Aprendizaje supervisado

El aprendizaje supervisado trabaja con un conjunto de datos intentado encontrar

una función que dadas las variables de entrada (input data), les asigne la etiqueta

de salida adecuada. El algoritmo se entrena con una partición del conjunto de

datos permitiendo así predecir los valores de salida

Algunos algoritmos que aplican el aprendizaje supervisado son:

● Árboles de decisión.

● Support Vector Machines (SVM).

● Clasificación de Naïve Bayes.

7.2.15 Aprendizaje no supervisado

A diferencia del aprendizaje supervisado, el aprendizaje no supervisado no

utiliza un conjunto de datos para entrenar el algoritmo, sino que aprende de los

datos de entrada.17

16 Guinness, Harry. n.d. “¿Qué es el Afilado de la Imagen?” ¿Qué es el Afilado de la Imagen? https://photography.tutsplus.com/es/tutorials/what-is-image-sharpening--cms-26627#:~:text=El%20afilado%20entonces%2C%20es%20una,nitidez%20aparente%20de%20la%20imagen.&text=Sustrae%20una%20copia%20borrosa%20. 17Gomez, Ramirez, and Juan Sebastian. 2019. “Evaluación de algoritmos de aprendizaje de máquina no supervisados sobre datos climáticos.” Evaluación de algoritmos de aprendizaje de máquina no supervisados sobre datos climáticos, 2019. https://repositorio.unal.edu.co/handle/unal/75848.

Page 29: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

29

Algunos algoritmos que aplican el aprendizaje no supervisado son:

● K-nn

● Agrupamientos de co-ocurrencias

● Perfilado o profiling.

7.2.16 Labelimg

Labelimg es una herramienta de anotaciones gráficas escrita en Python. Esta

herramienta permite guardar en un archivo XML las anotaciones que se

realicen dentro de una imagen (región de interés), en donde se describe el

nombre y ubicación de la imagen y las coordenadas de la anotación.

Page 30: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

30

7.3. ESTADO DEL ARTE

7.3.1 Automatic Segmentation and Recognition of Bank Cheque Fields

Es un método presentado por Vamsi Krishna Madasu de la escuela de ITEE,

Universidad de Queensland en enero del 2006, para la segmentación de

diferentes campos presentes en un cheque bancario como su texto, firma, monto

y logo, aplicando distintos pasos como la eliminación de fondo, eliminación de

línea base para mantener la integridad de la información en el cheque, logrando

así que se puedan segmentar y reconocer diferentes campos sin necesidad de

información anterior.18

Figura 10: Filtro de cheque

Fuente: Background elimination using boundary characteristics Disponible en

Automatic Segmentation and Recognition of Bank Cheque Fields

Figura 11: Segmentación de cheque

18 Krishna Madasu, Vamsi, and Brian Carrington Lovell. 2006. “Automatic Segmentation and Recognition of Bank Cheque Fields.” Automatic Segmentation and Recognition of Bank Cheque Fields (Australia), Junio, 2006. https://www.researchgate.net/publication/4215538_Automatic_Segmentation_and_Recognition_of_Bank_Cheque_Fields.

Page 31: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

31

Fuente: Labeled regions of interest Disponible en Automatic Segmentation and

Recognition of Bank Cheque Fields

● Resultados

Method Database size Error rate

Fractals 300 45%

Fuzzy features 923 20%

All features 923 10%

Tabla 1: Evaluación de desempeño

7.3.2 VEHICLE LOGO RECOGNITION BASED ON VEHICLE REGION AND

MULTI-SCALE FEATURE FUSION

La universidad de Ho Chi Minh, Hoanh Nguyen el 31 de agosto del 2020 presenta

un método de aprendizaje profundo para el reconocimiento de logotipos de

vehículos. Se diseña una red para identificar la parte delantera y trasera del

vehículo, se aplica un método de Atrous Convolution para mejorar la detección

de la región del vehículo, luego de obtener la región, esta se segmenta para

extraer las características del vehículo, y esa segmentación es la que se usa

para el entrenamiento de la red para ubicar y clasificar exactamente los logotipos

de vehículos.19

Figura 12: Estructura de la red

19 NGUYEN, HOANH. 2020. “VEHICLE LOGO RECOGNITION BASED ON VEHICLE REGION AND MULTI-SCALE FEATURE FUSION.” VEHICLE LOGO RECOGNITION BASED ON VEHICLE REGION AND MULTI-SCALE FEATURE FUSION (Vietnam), Agosto 31, 2020. http://www.jatit.org/volumes/Vol98No16/12Vol98No16.pdf.

Page 32: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

32

Fuente: The Structure of The Vehicle Region Detection Network Proposed in

This Paper Disponible en

<http://www.jatit.org/volumes/Vol98No16/12Vol98No16.pdf>

● Resultados

Methods Base network mAP (%) Inference time (s)

Faster R-CNN VGG-16 82.1 0.74

RestNet-50 85.3 0.92

YOLOv3 Darknet-53 83.0 0.20

RestNet-50 87.8 0.55

SSD VGG-16 80.2 0.24

RestNet-50 82.7 0.76

Proposed method Darknet-53 90.5 0.85

Tabla 2 : Comparación de resultados

7.3.3 Pattern Recognition

Se presenta STAN sequential transformation attention-based network for scene

text recognition (traducción) con lo cual se ajusta la distorsión de un texto

permitiendo una suave transformación la cual facilita la tarea de reconocimiento

Page 33: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

33

, esto solo se aplica a las imágenes de texto cluyendo la posibilidad de

traducción, de escalar la imagen y de su rotación. 20

Figura 13: Ejemplo de la transformación

Fuente: Pattern Recognition Diponible en < https://sci-hub.do/downloads/2020-

10-22/c4/[email protected]#page=1&zoom=100,0,0>

● Resultados

Tabla 3 : Precisiones de reconocimiento

7.3.4 Reconocimiento de Caracteres en Imagen Digital, una Aplicación al

Reconocimiento Automático de Placas de Vehículos

20 Lin, Qingxiang, Canjie Luo, Lianwen Jin, and Songxuan Lai. 2020. “Pattern Recognition.” Pattern Recognition (China), Octubre 9, 2020. https://sci-hub.do/downloads/2020-10-22/c4/[email protected]#page=1&zoom=100,0,0

Page 34: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

34

En este trabajo Ricardo Rolón Alonso de la Universidad Nacional del Este en

Paraguay muestra el desarrollo de un sistema de análisis de imagen capaz de

localizar y reconocer información de una placa de un vehículo en donde se busca

principalmente reconocer números y caracteres presentes en la imagen .

Este proyecto contó con una metodología por etapas, donde la primera etapa

consistió en procesar la imagen para resaltar algunas de las características, la

segunda etapa donde se extraen las características de interés y la última etapa

comparó esta la características extraídas con distintas clases para así lograr una

clasificación según los criterios establecidos por las clases.

Figura 14 Muestra procesamiento de imagen

Fuente: Thresholding específico de la aplicación Disponible en Reconocimiento

de Caracteres en Imagen Digital, una Aplicación al Reconocimiento Automático

de Placas de Vehículos

Utilizando un clasificador de mínima distancia se logró reconocer caracteres

alfanuméricos, con esto el sistema fue capaz de reconocer las letras entre la A y

la Z y los números entre el 0 y el 9.21

21 Rolón Alonso, Ricardo, and Vicente Domínguez Torres. n.d. “Reconocimiento de Caracteres en Imagen Digital, una Aplicación al Reconocimiento Automático de Placas de Vehículos.” Reconocimiento de Caracteres en Imagen Digital, una Aplicación al Reconocimiento Automático de Placas de Vehículos (Paraguay).

Page 35: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

35

● Resultados

Procesos Evaluados Letras Números

Reconocimiento 98.5 % 95 %

Segmentación 99.3%

Tabla 4 : Resultado de las pruebas

7.3.5 CNN-based multilingual handwritten numeral recognition: A

Resultados procesos evaluados

fusion-free approach

El Departamento de Informática e Ingeniería del Instituto Indio de Tecnología

Dhanbad presenta un proyecto donde utilizando CNN desarrollaron un sistema de

reconocimiento numérico, en donde buscan reconocer los números que se

encuentran en diferentes escritos y también diferentes idiomas ya que en India

existen varios dialectos y formas de escribir.22

22 Gupta, Deepika, and Soumen Bag. 2020. “CNN-based multilingual handwritten numeral recognition: A fusion-free approach.” Expert Systems with Applications, Agosto 5, 2020. https://sci-hub.do/downloads/2020-10-16/eb/gupta2021.pdf#page=1&zoom=100,0,0.

Page 36: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

36

Figura 15: Extracción de numero del codigo postal

Fuente Zip code numeral extraction. (a) Input postal image; (b) Gray-scale to

binary image; (c) Image after removing the connected components for which

height is greaterthan width; (d) Closed regions with filled foreground pixels; (e)

Extracted zip code region; and (f) Extracted zip code boxes Disponible en <

https://sci-hub.do/downloads/2020-10-

16/eb/gupta2021.pdf#page=1&zoom=100,0,0. >

● Resultados

Page 37: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

37

Tabla 5: Comparativa del reconocimiento numérico

7.3.6 OCR binarization and image pre-processing for searching historical

documents

Este proyecto Maya R. Gupta, Nathaniel P. Jacobson, Eric K. Garcia de la

Universidad de Washington en Seattle consideran el problema de la binarización

de documentos como un paso previo al procesamiento para el reconocimiento

óptico de caracteres (OCR) con el propósito de buscar palabras clave en

documentos impresos históricos. donde consideran varias técnicas para la

eliminación del ruido al momento de binarizar, pre filtrado y post binarización de

la imagen.23

Figura 16: Binarización texto

23 Gupta, Maya, Nathaniel Jacobson, and Eric Garcia. 2007. “OCR binarization and image pre-processing for searching historical documents.” Pattern Recognition, Febrero, 2007.

Page 38: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

38

Fuente: Binarized image samples Disponible en OCR binarization and image

pre-processing for searching historical documents

● Resultados

Tabla 6 :Reconocimiento de palabras

Page 39: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

39

7.3.7 Food Image Recognition by Using Convolutional Neural Networks

(CNNs)

En este proyecto por parte del Departamento de Biosistemas e Ingeniería

Agrícola de la universidad estatal de Michigan presentan un método para el

reconocimiento de alimentos basado en redes neuronales convolucionales. Para

esto aplicaron una arquitectura con cuatro capas ocultas y tres agrupaciones

convolucionales, la primera capa utiliza un kernel de tamaño 7 x 7 para extraer

32 mapas de características, la segunda y tercera capa utilizan campos

receptivos de 5 x 5 y 3 x 3 resultando en 64 y 128 mapas de características. Se

logró una precisión de 74% aplicando este modelo de redes neuronales

convolucionales el cual no fue un porcentaje tan alto debido a la limitación en la

cantidad de datos para el entrenamiento.24

Figura 17: Esquema modelo de red

Fuente: Schematic of the architecture of a convolutional neural network model

Disponible en< https://arxiv.org/pdf/1612.00983.pdf>

24 Lu, Yuzhen. 2019. “Food Image Recognition by Using Convolutional Neural Networks (CNNs).” Food Image Recognition by Using Convolutional Neural Networks (CNNs) (USA), Febrero 25, 2019. https://arxiv.org/pdf/1612.00983.pdf.

Page 40: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

40

Resultados

Tabla 7 :matriz de fusión y tasas de reconocimiento por BoF en las imágenes

de prueba

7.3.8 Detección de logos en imágenes mediante Redes Convolucionales

En facultad de matemáticas e informática de la universidad de Barcelona, Marc

Gonzalez Fernandez presenta una aplicación para dispositivos Android que

buscará lugares cercanos que pueden ofrecer descuentos, mediante el uso de

redes neuronales convolucionales para reconocer los logos de los distintos

lugares para así traer la información de sus descuentos, presenta una

comparativa de dos redes neuronales, una creada por ellos mismos y la segunda

es una red piramidal llamada AlexNet.25

25 González Fernández, Marc. 2017. “Detección de logos en imágenes mediante Redes Convolucionales.” Detección de logos en imágenes mediante Redes Convolucionales, Julio 3, 2017. http://diposit.ub.edu/dspace/bitstream/2445/120609/2/memoria.pdf.

Page 41: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

41

● Resultados

Tabla 8 : Matriz de confusión

Page 42: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

42

8. METODOLOGÍA

Para realizar el proceso de clasificación y extraer información de las órdenes de

compra, se realizarán 7 etapas que serán fundamentales para el desarrollo de

este proyecto.

● Etapa 1: Conjunto de datos

● Etapa 2: Preprocesamiento

● Etapa 3: Extracción de características

● Etapa 4: Muestreo

● Etapa 5: Clasificación

● Etapa 6: Resultados

● Etapa 7: Medidas de desempeño

Figura 18: Metodología

Fuente: Del autor

Page 43: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

43

8.1 Conjunto de datos

En esta fase se construirá el conjunto de datos con órdenes de compra que se

tengan de manera digital o escaneada de La Ferretería Herramientas y

Suministros que contienen la información necesaria para hacer el entrenamiento

de máquina.

Para la construcción del conjunto de datos se utilizará el archivo digital que posee

la empresa de sus dos últimos años de diferentes empresas que son clientes de

la Ferretería.

Figura 19: Archivo digital

8.2 Preprocesamiento

En esta etapa se transformará la imagen de tal manera que facilite el proceso de

extracción de características aplicando técnicas como la mejora del contraste,

binarización, suavización y afilado.26

Figura 20: Binarización de imagen

26 Woods, Gonzaled. n.d. “Preproceso: mejora de la imagen.” Preproceso: mejora de la imagen. http://www.sc.ehu.es/ccwgrrom/transparencias/pdf-vision-1-transparencias/capitulo-2.pdf.

Page 44: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

44

Fuente: Mathwaorks Disponible en

<https://es.mathworks.com/help/images/ref/im2bw.html>

8.3 Extracción de características

Dependiendo de los algoritmos seleccionados se realizará la extracción de la

información en las áreas de interés para la empresa, las cuales son el logo, nit,

número de orden de compra y la fecha en que fue generada.27

8.4 Muestreo

Para realizar el muestreo de este proyecto, con las órdenes de compra

suministradas por la Ferretería de todos los clientes, se dividirá el dataset en un

80% para entrenamiento y un 20% para la realización de las pruebas.Es

importante que el dataset sea variado para lograr un buen entrenamiento, ya

que si se tiene muchas imágenes de una misma empresa, esto puede provocar

que el modelo no se entrene de manera correcta y genere un porcentaje bajo de

asertividad.

8.5 Clasificación

Inicialmente se utilizará el método de detección de objetos en imágenes con el

fin de localizar las regiones de interés dentro de la orden de compra.

27 Blanco Garrido, Cristina. 2018. “Extracción de características para algoritmos de aprendizaje automático aplicado al reconocimiento de vehículos.” Extracción de características para algoritmos de aprendizaje automático aplicado al reconocimiento de vehículos (Madrid), Febrero, 2018. http://oa.upm.es/50271/1/TFG_CRISTINA_BLANCO_GARRIDO.pdf.

Page 45: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

45

Para la etapa de clasificación se seleccionarán 2 algoritmos que permitan tanto

el reconocimiento del logo de la empresa como la extracción del nit, el número

de la orden de compra y la fecha en que fue generada.

Para el reconocimiento del logo se utilizará un algoritmo de aprendizaje profundo

más exactamente redes neuronales convolucionales y para el reconocimiento

del nit, el número de la orden de compra y la fecha en que fue generada se

utilizará OCR que nos permite extraer la información de estas tres variables

dentro de la orden de compra debido a que es capaz de extraer los caracteres

dentro de una imagen.

Una vez cada algoritmo esté entrenado, se realizará su respectiva etapa de pruebas en la cual se pretende validar con imágenes que no se usaron para el entrenamiento comprobar si el algoritmo realiza una buena clasificación o no.

8.6 Medidas de desempeño

En esta etapa utilizaremos las medidas de desempeño tales como exactitud,

precisión, puntaje f1 y sensibilidad para evaluar la precisión y error que obtuvo

cada uno de los algoritmos seleccionados.

8.7 Validación de Resultados

Para verificar el resultado presentado por el método se basará en la imagen de

la orden de compra como entrada, su clasificación y una métrica asociada a su

desempeño la cual nos indicará el porcentaje con el cual fue clasificada esa

orden de compra. Teniendo esto se puede realizar un análisis estadístico el cual

diga cuantas órdenes de compra se clasificará de manera correcta dando así un

indicio de su efectividad.

Page 46: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

46

9. Diseño metodológico

9.1 Conjunto de datos

Para la construcción del conjunto de datos se incluyeron únicamente las órdenes

de compra de la Ferretería Herramientas y Suministros, escaneando aquellas

que se encuentran de manera física y también se incluyeron aquellas que se

encuentren de manera digital.

Para el entrenamiento del método se tuvieron en cuenta principalmente a los

cliente que más emiten órdenes de compra y que a su vez en esta se logre

identificar las regiones de interés ya que en algunas ocasiones puede suceder

que el formato utilizado en la orden de compra varía de manera significativa

respecto a los que ya se tienen, también es importante que para el entrenamiento

del algoritmo se debe tener un conjunto de datos variados que permita un mejor

entrenamiento y precisión al momento de clasificar las órdenes de compra.

En la tabla 9 se muestra a los clientes con el número de órdenes de compra que

se utilizaron tanto para entrenamiento como pruebas del método.

Tabla 9 Cantidad de órdenes de compra

Empresa # Órdenes de Compra

ACJ 40

CBRE 26

CELIK 183

CONFIPETROL 96

CONTEIN 48

CROIL 19

ISMOCOL 117

JMV 164

MINCIVIL 406

STORK 85

UT 147

AGGREKO 22

Page 47: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

47

ARCOMAT 87

ABC INGENIERIA 107

CINE COLOMBIA 103

BRASERV 98

CANACOL 45

CONSORCIO SKHL 30

GEOMATRIX 40

1925

9.2 Preprocesamiento

En esta etapa se adecuaron todas las imágenes que se tienen de órdenes de

compra para facilitar el entrenamiento del algoritmo. Inicialmente se implementó

un algoritmo en Python utilizando la librería pdf2image que permite cambiar el

formato de cada uno de los documentos que se encuentran en el archivo digital

debido a que cuando se escanean las órdenes de compra, estas son almacenan

en formato pdf dificultando la extracción de sus características y posterior

procesamiento.

Luego de cambiar el formato de cada orden de compra de pdf a png, estas

imágenes se almacenan en carpetas diferentes según su emisor correspondiente

(empresa que emite orden de compra).

Posteriormente se redujo el tamaño de las imágenes de 5500x4250px a

600x600px como se ve en la figura 20, ya que este es el tamaño que se

recomienda para el modelo y se eliminó el ruido de la imagen utilizando opencv

con el fin de eliminar posibles elementos que afecten su posterior clasificación.

Page 48: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

48

Figura 20 reducción de imagen

Fuente: del autor

9.3 Extracción de características

Para la extracción de las características se procedió a realizar un etiquetado en

las regiones de interés sobre el conjunto de datos utilizando la herramienta

labeling, entre las regiones seleccionadas tenemos: el logo de la empresa y

número de documento, luego de haber identificado y etiquetado cada una de las

regiones de interés como se muestra en la figura 21 y con el uso de la

herramienta labelimg se logra genera un archivo XML en donde se ve reflejada

las coordenadas de cada zona etiquetada dentro de la imagen junto con el

nombre de cada una de estas.

Figura 21 Orden de compra con etiquetas

600px

600px

5500px

4250px

Page 49: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

49

Fuente: del autor

Estas coordenadas están dadas por xmin, ymin, xmax, ymax como se aprecia

en la figura 22, .

Figura 22 xml de imagen 019.pdf.png

Fuente: del autor

9.4 Muestreo

Luego de la extracción de las características se dividió el conjunto de datos

utilizando el método de muestreo simple, de esta manera se dividió el conjunto

de datos en 2 partes para así tener un conjunto de entrenamiento y un conjunto

para las pruebas. Se escogió la relación 70-30 que es la más usada en la

Page 50: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

50

literatura y que tiene un buen ajuste al dataset que se está trabajando en este

proyecto, por lo cual el 70% de las imágenes queda en el conjunto de

entrenamiento y el 30% de las imágenes restantes serán usadas para realizar

las pruebas, luego de tener el conjunto dividido se crearán dos archivos:

train.recod y test.record que son necesarios para que la red neuronal pueda

entrenarse https://www.tensorflow.org/tutorials/load_data/tfrecord.

Figura conjunto de datos

Dado que la diferencia entre la cantidad de órdenes de compra varía respecto a

cada cliente se puede generar sesgos al entrenar el modelo o que se no se

obtenga el resultado esperado, debido a esto no se tomó la totalidad de las

órdenes de compra de MINCIVIL sino que solo se tomaron 200 órdenes para

evitar que el modelo se entrene mayormente con este tipo de orden de compra.

Fuente: del autor

9.5 Clasificación

Para la implementación de este método se utilizó la API de Tensor Flow con las

dependencias y librerías necesarias para el correcto entrenamiento del

algoritmo:

Page 51: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

51

● jupiter notebook

● Matplotlib

● Tesoro Flow-gpu

● Pycocotools

● Opencv

● Labelimg

● Librerías para el experimento (pandas, numpy, operator, string, nltk,

tensor flow, opencv,pytessract,matplotlib,skimage).

Luego de realizar la configuración de Tensor Flow, también es necesario crear

un mapa de etiquetas, en donde este mapa de etiquetas se debe crear a partir

de las regiones identificadas en la sección de Extracción de Características.

Figura 23 Mapa de etiquetas

Fuente: del autor

Para este caso se implementó una red neuronal (SSD MobileNet) y para el

entrenamiento de la red se utilizaron los modelos pre entrenados SSD MobileNet

v2 y SSD MobileNet V1 FPN 640x640, proporcionados por Tensor Flow en su

colección de modelos pre entrenados en el conjunto de datos COCO permitiendo

así ahorrar tiempo y recursos informáticos, estos modelos son los que permitirán

hacer la detección de objetos dentro de las imágenes.

Se seleccionó este modelo debido a que por las limitaciones de la memoria de

la tarjeta de video que tiene el equipo utilizado para desarrollar este proyecto

descrito en la sección 10 no se logró implementar otros tipos de modelos como

lo son Resnet o Yolo v2, también se seleccionó la red neuronal (SSD MobileNet)

ya que permite entrenar modelos poco complejos en un menor tiempo respecto

a otros modelos como se ve en la figura 24.

Page 52: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

52

Red Velocidad mAP

SSD MobileNet V1 FPN 640x640 48 29.1

SSD MobileNet V2 FPNLite 640x640

39 28.2

También se seleccionó esta red neuronal debido a su gran velocidad y capacidad

para detectar múltiples objetos ya que fue diseñada para su uso en dispositivos

móviles y esto permite reducir el tamaño del modelo y a su vez es capaz de

mantener la calidad del mismo.

Figura 24 Precisión vs Tiempo de ejecución

Fuente Evaluation of Deep Neural Networks for traffic sign detection systems

disponible en

file:///C:/Users/Andres/Downloads/PreprintTraffic_Sign_Detection__Neurocomp

uting_.pdf

Page 53: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

53

Para el entrenamiento del modelo se cuenta con dos etapas fundamentales: la

primera se centra en la extracción de características mencionada anteriormente

y con base en esto se debe indicar el número de clases a identificar en la red

descritas en el mapa de etiquetas (figura 23), la segunda etapa es el

entrenamiento de la red donde se usa el archivo train.record que contiene los

datos necesarios para realizar el entrenamiento.

Figura 25 orden de compra clasificada

Fuente: del autor

Figura 25 Aplicación de OCR en región

Después de identificar en la primera etapa de clasificación el logo y la zona que

contiene el número de la orden (figura 25) se procede en una segunda etapa a

extraer el número de la imagen a través de una técnica de ocr utilizando la librería

de pytesrract para extraen los caracteres que identifican el número de la orden

de compra como se ve en la figura 26

Figura 26 Extracción de caracteres

Page 54: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

54

Fuente: del autor

9.6 Medidas de desempeño

En esta etapa se mide el desempeño del algoritmo ya entrenado. Como se

mencionó anteriormente se utilizarán las medidas de desempeño exactitud,

precisión y valor f1 para cada una de las etiquetas que se tuvieron en cuenta en

la etapa de extracción de características.

Una vez entrenado el modelo se podrán visualizar los resultados obtenidos

utilizando el comando tensorboard --logdir=.

Figura 27 Medidas de desempeño SSD MobileNet V1 FPN 640x640

Fuente del autor

Figura 28 Medidas de desempeño SSD MobileNet V2 FPNLite 640x640

Page 55: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

55

Fuente del autor

Page 56: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

56

10. Características del equipo

El equipo disponible para la ejecución de este proyecto es un 1 computador de

mesa con procesador AMD Ryzen 5 3600, memoria RAM de 16GB, Tarjeta gráfica

gtx 950 de 2GB y al menos 500 GB de almacenamiento en disco duro.

Page 57: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

57

11. RESULTADOS

Luego de seleccionar las empresas con mayor número de órdenes de compra

que se tienen tanto de manera digital como de manera física se logró reunir un

total de 1925 órdenes de compra como se ve en la tabla 9, de las cuales solo se

tomaron 1725 para tener un mejor balanceo entre todos los tipos de órdenes que

se tiene y evitar que el modelo se entrene principalmente con un solo tipo de

orden de compra.

Usando labelimg se extrajo las características de cada una de las órdenes de

compra, etiquetando tanto el logo de la empresa como el número de la orden y

así generar un archivo XML con las coordenadas las cuales delimitan su posición

dentro de la imagen, después de este etiquetado se generaron los archivos

train.record y test.record.

Tras configurar todo el entorno necesario para realizar la detección de objetos

con la red neuronal SSD-MOBILENET y los modelos pre entrenados SSD

MobileNet V1 FPN 640x640 y SSD MobileNet V2 FPV Lite 640x640 y dividiendo

el conjunto de datos en donde el 70% de las imágenes se utilizaron para el

entrenamiento y el 30% restante se destinó a las pruebas del algoritmo.

Para el modelo MobileNet V1 FPN 640x640 se logró un aprendizaje del 0.05

después de alcanzar una pérdida de 0.1 luego de 20000 pasos para el primer

modelo.

Figura 29 Pérdida de modelo MobileNet V1 FPN 640x640

Page 58: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

58

Fuente del autor

Figura 30 Pérdida de modelo MobileNet V1 FPN 640x640

Fuente del autor

Mientras que para el modelo de SSD MobileNet V2 FPV Lite 640x640 aunque

se obtuvo una pérdida de 0.2 después de 30000 pasos logró un mayor

aprendizaje mayor obteniendo un 0.02.

Figura 31 MobileNet V1 FPN 640x640

Fuente: Del autor

Figura 32 Pérdida de modelo SSD MobileNet V2 FPV Lite 640x640

Page 59: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

59

Fuente: Del autor

A Continuación, se presenta el reporte de desempeño del algoritmo utilizando

los dos modelos seleccionados

Tabla 10 Precisión de los modelos

Precisión

Modelo

precision/

maP

precision/

maP

IOU=0.5

precision/

maP

IOU=0.7

precision

/maP(SM

ALL)

precision

/maP(ME

DIUM)

precision/ma

P(LARGE)

SSD MobileNet V1 FPN

640x640 0,611 0,8690 0,726 0,3820 0,577 0,731

SSD MobileNet V2

FPNLite 640x640 0,497 0,805 0,544 0,338 0,492 0,459

Como se evidencia en la tabla 10, se logró una mejor precisión con el primer

modelo ya que es tuvo un resultado de 0.611 significando así que de cada 100

imágenes es capaz de identificar cerca de 61 de estas. Este valor aumenta de

manera significativa cuando se trata de detectar objetos dentro de la imagen ya

que con el 50% de margen de error logra identificar un 86% y con un margen de

70% logra identificar un 76%.

Page 60: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

60

Mientras que el segundo modelo, aunque en promedio solo es capaz de

identificar cerca de 50 imágenes dentro de un conjunto de 100, este es capaz de

identificar aproximadamente 80 imágenes con un error del 50%

Tabla 11

Exhaustividad (Recall)

Modelo

recall/ma

P recall recall

recall

(SMALL)

recall(ME

DIUM)

recall(LA

RGE)

SSD MobileNet V1 FPN

640x640 0,639 0,699 0,699 0,462 0,652 0,802

SSD MobileNet V2

FPNLite 640x640 0,531 0,591 0,591 0,535 0,558 0,496

Tabla 12

F1-Score

Modelo precision/maP

SSD MobileNet V1 FPN 640x640 0,6247

SSD MobileNet V2 FPNLite 640x640 0,5134

F1-Score es una métrica comúnmente usada para evaluar algoritmos con

conjunto de datos de datos desbalanceados y ya que combina las métricas de

exhaustividad y precisión, esto nos da como resultado un porcentaje de

clasificación más general para cada uno de los modelos usados. De esta manera

se logra obtener un 62% para la clasificación de las imágenes en el primer

modelo y un 51% para el segundo modelo

Page 61: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

61

12.Conclusión

A partir de los modelos seleccionados, se puede evidenciar que aunque son

modelos diseñados para la detección de objetos en conjuntos de datos sencillos,

en este caso fue posible identificar las regiones necesarias para poder clasificar

las órdenes de compra utilizadas en este proyecto aun teniendo limitaciones

como la del equipo utilizado descrito en la sección 10.

También se puede evidenciar que el con el primer modelo (MobileNet V1 FPN

640x640) fue posible identificar y clasificar las imágenes con una menor cantidad

de pasos logrando identificar de manera correcta un 60% de las imágenes,

mientras que el modelo (SSD MobileNet V2 FPNLite 640x640) solo es capaz de

identificar un 49% de las imágenes.

Por otro lado, para obtener un mejor resultado sobre el modelo entrenado es

necesario incluir mayor variedad de imágenes de órdenes de compra de los

clientes que cuentan con un menor número de estas y evitar que el modelo

entrene una clase más que otra.

Gracias a la metodología utilizada en este proyecto se hace posible que, si en

algún momento es necesario, se pueda incluir una mayor variedad de órdenes

de compra en donde se evidencie un logo y número de orden de compra.

Page 62: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

62

13.Trabajos futuros

Luego de tener un modelo que es capaz de identificar órdenes de compra, se

abre la posibilidad de crear un software capaz de identificar no solo estos

órdenes de compra, sino que también sea capaz identificar y clasificar otro tipo

de documentos como lo son las remisiones o facturas de compra que también

son necesarias para la generación de la factura de venta electrónica.

Page 63: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

63

14. BIBLIOGRAFÍA

Amat Rodrigo, Joaquín. 2020. “Validación de modelos predictivos:

Cross-validation, OneLeaveOut, Bootstraping.” Validación de modelos

predictivos: Cross-validation, OneLeaveOut, Bootstrapping.

https://www.cienciadedatos.net/documentos/30_cross-

validation_oneleaveout_bootstrap.

Atria Innovation. 2019. “Qué son las redes neuronales y sus funciones.”

Qué son las redes neuronales y sus funciones.

https://www.atriainnovation.com/que-son-las-redes-neuronales-y-sus-

funciones/.

Blanco Garrido, Cristina. 2018. “Extraccion de características para

algoritmos de aprendizaje automático aplicado al reconocimiento de

vehículos.” Extracción de características para algoritmos de aprendizaje

automático aplicado al reconocimiento de vehículos (Madrid), Febrero,

2018.

http://oa.upm.es/50271/1/TFG_CRISTINA_BLANCO_GARRIDO.pdf.

Debitoor. n.d. “¿Qué es el sistema OCR?” ¿Qué es el sistema OCR?

https://debitoor.es/glosario/ocr-escaneo.

Delgado, Ronald. 2018. “Introducción a la Validación Cruzada (k-fold

Cross Validation) en R.” Introducción a la Validación Cruzada (k-fold

Cross Validation) en R, julio 18, 2018. http://rstudio-pubs-

static.s3.amazonaws.com/405322_6d94d05e54b24ba99438f49a6f8662a

9.html.

Díaz Sotolongo, Alejandro. n.d. “Extracción de características para el

análisis de imágenes de mamografías.” Extracción de características

para el análisis de imágenes de mamografías.

Page 64: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

64

https://www.monografias.com/trabajos93/extraccion-caracteristicas-

analisis-imagenes-mamografias/extraccion-caracteristicas-analisis-

imagenes-mamografias.shtml.

Gomez, Ramirez, and Juan Sebastian. 2019. “Evaluación de algoritmos

de aprendizaje de máquina no supervisados sobre datos climáticos.”

Evaluación de algoritmos de aprendizaje de máquina no supervisados

sobre datos climáticos, 2019.

https://repositorio.unal.edu.co/handle/unal/75848.

González Fernández, Marc. 2017. “Detección de logos en imágenes

mediante Redes Convolucionales.” Detección de logos en imágenes

mediante Redes Convolucionales, Julio 3, 2017.

http://diposit.ub.edu/dspace/bitstream/2445/120609/2/memoria.pdf.

Guinness, Harry. n.d. “¿Qué es el Afilado de la Imagen?” ¿Qué es el

Afilado de la Imagen?

https://photography.tutsplus.com/es/tutorials/what-is-image-sharpening--

cms-

26627#:~:text=El%20afilado%20entonces%2C%20es%20una,nitidez%2

0aparente%20de%20la%20imagen.&text=Sustrae%20una%20copia%20

borrosa%20.

Gupta, Deepika, and Soumen Bag. 2020. “CNN-based multilingual

handwritten numeral recognition: A fusion-free approach.” Expert

Systems with Applications, Agosto 5, 2020. https://sci-

hub.do/downloads/2020-10-

16/eb/gupta2021.pdf#page=1&zoom=100,0,0.

Gupta, Maya, Nathaniel Jacobson, and Eric Garcia. 2007. “OCR

binarization and image pre-processing for searching historical

documents.” Pattern Recognition, Febrero, 2007.

Page 65: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

65

IBM. n.d. “¿Qué es Machine Learning?” ¿Qué es Machine Learning?

https://www.ibm.com/ar-es/analytics/machine-

learning?p1=Search&p4=43700053692634426&p5=b&cm_mmc=Search

_Google-_-1S_1S-_-LA_ISA-_-

datos%20%2Bmachine%20%2Blearning_b&cm_mmca7=717000000652

89299&cm_mmca8=kwd-

1097762210552&cm_mmca9=Cj0KCQjwoJX8BRCZARIsAEWBFMJ77.

JayJay. 2018. “Evaluar los modelos.” Evaluar los modelos.

http://datascience.esy.es/wiki/evaluar-los-modelos/.

Krishna Madasu, Vamsi, and Brian Carrington Lovell. 2006. “Automatic

Segmentation and Recognition of Bank Cheque Fields.” Automatic

Segmentation and Recognition of Bank Cheque Fields (Australia), Junio,

2006.

https://www.researchgate.net/publication/4215538_Automatic_Segmenta

tion_and_Recognition_of_Bank_Cheque_Fields.

Lin, Qingxiang, Canjie Luo, Lianwen Jin, and Songxuan Lai. 2020.

“Pattern Recognition.” Pattern Recognition (China), Octubre 9, 2020.

https://sci-hub.do/downloads/2020-10-

22/c4/[email protected]#page=1&zoom=100,0,0.

Llamoza, Diana, and Elisa Freschi. n.d. “IMPORTANCIA DE LA

ORGANIZACIÓN DE DOCUMENTOS.” IMPORTANCIA DE LA

ORGANIZACIÓN DE DOCUMENTOS.

https://www.academia.edu/11056093/IMPORTANCIA_DE_LA_ORGANI

ZACIÓN_DE_DOCUMENTOS.

Lu, Yuzhen. 2019. “Food Image Recognition by Using Convolutional

Neural Networks (CNNs).” Food Image Recognition by Using

Convolutional Neural Networks (CNNs) (USA), Febrero 25, 2019.

https://arxiv.org/pdf/1612.00983.pdf.

Page 66: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

66

Martinez Heras, Jose. 2019. “Precision, Recall, F1, Accuracy en

clasificación.” Precision, Recall, F1, Accuracy en clasificación.

https://www.iartificial.net/precision-recall-f1-accuracy-en-clasificacion/.

Moujahid, Abdelmalik, I˜naki Inza, and Pedro Larra˜naga. n.d.

http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9knn.pdf.

Na8. 2018. “¿Cómo funcionan las Convolutional Neural Networks?

Visión por Ordenador.” aprende Machine Learning.

https://www.aprendemachinelearning.com/como-funcionan-las-

convolutional-neural-networks-vision-por-ordenador/.

Na8. 2019. “Modelos de Detección de Objetos.” Modelos de Detección

de Objetos. https://www.aprendemachinelearning.com/modelos-de-

deteccion-de-objetos/.

NGUYEN, HOANH. 2020. “VEHICLE LOGO RECOGNITION BASED ON

VEHICLE REGION AND MULTI-SCALE FEATURE FUSION.” VEHICLE

LOGO RECOGNITION BASED ON VEHICLE REGION AND MULTI-

SCALE FEATURE FUSION (Vietnam), Agosto 31, 2020.

http://www.jatit.org/volumes/Vol98No16/12Vol98No16.pdf.

Pröve, Paul-Louis. n.d. “An Introduction to different Types of

Convolutions in Deep Learning.” An Introduction to different Types of

Convolutions in Deep Learning.

https://towardsdatascience.com/types-of-convolutions-in-deep-learning-

717013397f4d.

RedHat. n.d. “¿Qué es la automatización?” ¿Qué es la automatización?

https://www.redhat.com/es/topics/automation.

Page 67: MÉTODO AUTOMÁTICO PARA EXTRAER INFORMACIÓN DE …

67

Rolón Alonso, Ricardo, and Vicente Domínguez Torres. n.d.

“Reconocimiento de Caracteres en Imagen Digital, una Aplicación al

Reconocimiento Automático de Placas de Vehículos.” Reconocimiento

de Caracteres en Imagen Digital, una Aplicación al Reconocimiento

Automático de Placas de Vehículos (Paraguay).

SmartPanel. 2019. “¿Qué es el Deep Learning?” ¿Qué es el Deep

Learning? https://www.smartpanel.com/que-es-deep-learning/.

Stanojevic, Mladen, and Sanja Vraneš. n.d. “Semantic Approach to

Knowledge Representation and Processing.” Semantic Approach to

Knowledge Representation and Processing.

https://www.igi-global.com/chapter/semantic-approach-knowledge-

representation-processing/35720.

Woods, Gonzaled. n.d. “Preproceso: mejora de la imagen.” Preproceso:

mejora de la imagen. http://www.sc.ehu.es/ccwgrrom/transparencias/pdf-

vision-1-transparencias/capitulo-2.pdf.

Y. Kung, S. n.d. Kernel Methods and Machine Learning.

https://books.google.com.co/books?hl=es&lr=&id=aRcmAwAAQBAJ&oi=

fnd&pg=PR17&dq=kernel+machine+learning&ots=Q0dGLmELUD&sig=N

6wgXWgpjnz56g9RzLIhGxyva2M#v=onepage&q=kernel%20machine%2

0learning&f=false.