Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
En la presente investigación se desarrolla un sistema que tiene como objetivo captar e identificar las placas
de los vehículos para poder reconocerlos, hacer las pruebas de funcionamiento del sistema, conocer su
precisión y aportar a la sociedad una mejor seguridad. Por lo que se realizó un diseño de reconocimiento de
placas usando técnicas de visión por computador, como parte del preprocesamiento de las imágenes se ha
realizado redimensionamiento sobre las imágenes originales, en la parte de la segmentación se utilizó
detección de bordes. Se utilizaron softwares de programación como Python. Asimismo, se utilizó OpenCV
y Pytesseract para el diseño de la programación. Tras el diseño de este se logró identificar 4 placas de
vehículos correctamente. Además, se obtuvo el rango mínimo aceptable de píxeles que debe ser un mínimo
de 800 x 530 para el correcto reconocimiento de las placas de las fotografías tomadas por la cámara.
Palabras clave: Placas, phyton, OpenCv, pytesseract, visión artificail
Abstract
In this research, a system is developed that aims to capture and identify vehicle license plates in order to
recognize them, test the system’s operaion, determine its accuracy and provide society with better security.
Therefore, a plate recognition design was carried out using computer visión techniques, as parto f the
preprocessing of the images, resizing and binarization have been carried out on the original images, in the
segmentation part, edge detection was used. Programming software such as Python, OpenCV and
Pytesseract were used for the programming design. After the designo f tis, it was posible to identify 4
vehicle plates correctly. In addition, the minium aceptable range of 800 x 530 for the correct recognition of
the plates of the photographs taken by the camera.
Keywords: Plates, pyhton, OpenCV, pytessercat, artificial vision
Resumo
Na presente investigação é desenvolvido um sistema que visa captar e identificar placas de veículos para
reconhecê-las, realizar testes de desempenho do sistema, conhecer sua precisão e proporcionar maior
segurança à sociedade. Portanto, foi realizado um projeto de reconhecimento de placas usando técnicas de
visão computacional, como parte do pré-processamento das imagens, redimensionamento e binarização
foram realizados nas imagens originais, na segmentação foi usada a detecção de bordas. Software de
programação como Python foi usado. Da mesma forma, OpenCV e Pytesseract foram usados para o design
de programação. Após o dimensionamento deste, foi possível identificar corretamente 4 placas de
veículos. Além disso, obteve-se o alcance mínimo aceitável de pixels, que deve ser de no mínimo 800 x
530 para o correto reconhecimento das chapas das fotografias tiradas pela câmera.
Palavras-chave: Pratos, python, OpenCv, pytesseract, visão de máquina
1
Escuela de Ingeniería Industrial. Maestro. Universidad Privada del Norte. Trujillo – La Libertad. Perú.
N00202261@upn.edu.pe, https://orcid.org/0000-0002-0599-0141
2
Escuela de Ingeniería Industrial. Estudiante. Universidad Privada del Norte. Trujillo – La Libertad. Perú.
N00197155@upn.pe, https://orcid.org/0000-0003-3735-3099
3
Escuela de Ingeniería Industrial. Estudiante. Universidad Privada del Norte. Trujillo – La Libertad. Perú.
N00201940@upn.pe, https://orcid.org/0000-0001-6853-9721
4
Escuela de Ingeniería Industrial. Estudiante Universidad Privada del Norte . Trujillo – La Libertad. Perú.
N00261079@upn.pe, https://orcid.org/0000-0001-6671-731X
1
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
Introducción
En Latinoamérica, la delincuencia es uno de los principales problemas que implica un gasto
social y económico para la sociedad (Salazar, et al., s.f.), los factores que han influido en
delinquir son la pobreza, falta de hogar y el no tener acceso a la educación (Gómez, 2018). En los
últimos cinco años, en la Libertad, la percepción de inseguridad en la población alcanzó 87%, y
según el tipo de delito del que fue víctima la población de 15 y más años pondera más del 70% es
robo, hurto o intento de robo (INEI, s.f.). Hoy los delincuentes usan autos de marca como BMW
o Mercedes Benz para delinquir (El Comercio, 2015). Asimismo, el robo de vehículos es cada
vez más frecuente, siendo un gran problema, los sistemas destinados a gestionar el acceso de
vehículos como los parqueadores tarifados carecen de un mecanismo de identificación
automático de las placas de los carros, y normalmente requieren de un operario humano de
manera constante (Espinoza y Salinas, 2015), los autos robados suelen ser un tráfico grande en
nuestro país, e incluso cruzan fronteras, estos son conocidos como autos sin patente (Andrade,
2020). Es importante establecer un sistema de seguridad donde se aproveche los recursos
tecnológicos (Medina, 2018). Por eso en los establecimientos de parqueo de la ciudad deberían
contar con un sistema de control para el reconocimiento de placas.
Para resolver este problema es clave saber que la automatización busca mejorar indicadores
como el aumento de la tasa de producción disminuyendo los errores repetitivos y tiempos
improductivos (Gómez, De la Cruz y Felipe, 2020), a la vez reduce el número de trabajadores,
específicamente de quienes se encargan de hacer tareas rutinarias (Perez y Campos, 2021), siendo
un efecto negativo sobre el empleo (Aboal, López,Maurizio y Queraltó, 2020).
Además, de tener un lenguaje de programación que permita crear aplicaciones de gestión de
procesos, en donde interpretan instrucciones de los flujos del proceso (Silva & Mora, 2021). Para
ello, la programación utiliza las habilidades como el razonamiento lógico, el pensamiento
estructurado e incluso creativo (Redón y Aroca, 2018).
El software Python es una herramienta de programación que tiene una gran cantidad de librerías
(Ruiz & Arriagada, 2022), además es un lenguaje gratuito de fácil instalación (Coluci, 2022), el
cual proclama el acceso al código fuente de un programa permitiendo ser de fácil ejecución
(Challenger, Diaz & Becerra, 2014). La sintaxis de Python es tan sencilla que parecen ser
pseudocódigo (Gónzales, 2012).
La librería OpenCV proporciona un alto nivel de desarrollo de aplicaciones de visión del
computador en un tiempo real (Arévalo, Gonzáles & Ambrosio, 2002), es muy utilizada para el
procesamiento de imágenes y la visión artificial en general (Viera, 2017). Y puede ser usada
desde casi todos los lenguajes de programación existentes (Hidalgo y García, 2015).
La aplicación de la librería Pytesseract permite procesar el texto de la imagen, hace un
reconocimiento óptico de caracteres (Instinto Programador, 2019). Esta librería realiza un análisis
ante una serie de parámetros que la condicionan (Cepeda, 2018). Nos permitirá tratar con
diferentes formas de imágenes, haciendo uso de esta librería la cual es un OCR, si este detecta
texto damos supuesto que es una señal de mentación y por lo tanto darla por válida (Campos,
Serra & Jordi, 2021).
Álvarez (2014), en su trabajo de investigación titulada “Análisis, diseño e implementación de un
sistema de control de ingreso de vehículos basado en visión artificial y reconocimiento de placas
en el parqueadero de la Universidad Politécnica Salesiana - Sede Cuenca”, tuvo como población
de 300 vehículos estacionados en el parqueadero de la Universidad Politécnica de Salesiano –
Sede Cuenca, con una muestra de 242 vehículos, con un instrumento de visión artificial, los
resultados que obtuvimos fueron 242 vehículos reconocidos y 58 vehículos que el programa no
pudo reconocer, como conclusión es que un punto sensible en un sistema de visión artificial es la
cámara ya que se encarga de captar la información de la escena real mediante una imagen.
Aguilar (2022) con su tesis titulada “Prototipo de reconocimiento de placas vehiculares para
detección de vehículos alertados en el complejo de control aduanero de tomasiri, tacna – 2022”,
la población fueron 224 vehículos alertados de carga pesada, para la muestra de esta
investigación se usó 30 detecciones de vehículos alertados de carga pesada, como instrumento se
aplicaron la “Ficha de recojo de información” y “cuestionario”, os resultados de la investigación
reportan una diferencia significativa a favor del grupo experimenta, como conclusión se
2
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
2. METODOLOGÍA
Materiales y métodos
Características Descripción
Modelo iPhone X
Pantalla 5.8 pulgadas (OLED)
Resolución 2,436x1,1,125 píxeles
Sistema operativo iOS 11
Almacenamiento 64 GB
procedimiento que tiene que pasar el programa para obtener los resultados deseados.
Agregar diagramas de flujo
Para la adquisición de imágenes, Se importa el openCV, pytesseract el cual nos ayudara a extraer
los caracteres de la placa, declaramos un array vacío para almacenar la placa, se lee la imagen y se
procede a la transformación a escala de grises configurándola para que exista un área en blanco que
este rodeando a la placa
Donde:
G: Dirección
GX: Dirección horizontal.
GY: Dirección vertical.
4
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
Tan-1: Tangente.
En resumen, el resultado que obtiene es una imagen binaria con "bordes delgados". Luego, en la
detección de bordes se necesitan dos valores de umbral, minVal y maxVal. Cualquier borde con
un gradiente de intensidad superior a maxVal será borde y aquellos por debajo de minVal no
serán bordes, por lo tanto, son desechados (Figura 6).
Según la figura el borde A, está por encima de maxVal, por lo que se considera "borde seguro".
Aunque el borde C está por debajo de maxVal, está conectado al borde A; por lo que también, se
considera un borde válido y obtenemos esa curva completa. Pero el borde B, aunque está por
encima de minVal y está en la misma región que el borde C, no está conectado a ningún "borde
seguro", por lo que se descarta. Asimismo, en esta etapa también se eliminan los ruidos de los
píxeles pequeños asumiendo que los bordes son líneas largas; por lo que, finalmente obtenemos
bordes fuertes en la imagen.
Para la automatización de dicho proceso, es necesario realizar la programación de la data a través
de Python, donde no solo estará la información de Canny, sino también, se incluye el método
Gauss con el procedimiento de eliminación hacia delante (Ecuación 2) y situación hacia atrás
(Ecuación 3).
Luego de haber ingresado todos los datos en el programa de Python, se realiza el circuito
eléctrico y electrónico en Cadesimu (Figura 7), mediante el cual se detalla el funcionamiento de
la faja transportadora y el accionar del sistema de visión artificial.
5
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
INICIO
Captura de la Imagen
Conversión a la escala
gris
Aplicación de
suavizado gaussiano
Detección de borde
con Canny
Detección de
contornos
Conteo de remaches en
la placa
¿Resultado
SI NO
satisfactorio?
FIN
Para llevar a cabo el funcionamiento del sistema, se emplea Python, en donde se explica el
código de programación para la identificación de fallas, es decir, brinda la cantidad de remaches
en cada placa como se muestra en la (Figura 9).
6
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
En este caso, cada placa debe contar con seis remaches, caso contrario, se considera como pieza
defectuosa. Entonces, se puede decir el programa de automatización que, si el valor mandado al
programa es igual a seis (Figura 10), la pieza es correcta y no manda ninguna alarma y, si el valor
mandado por el programa es menor a seis (Figura 11), la pieza es defectuosa y manda una alarma.
Esto se puede visualizar en la simulación del programa, como se muestra en la (Figura 12), donde
las placas metálicas pasan una a una por la faja transportadora, luego se capturan las imágenes y
se ingresan los datos a un computador para que sean analizados con los algoritmos, y así da una
respuesta si cada placa cuenta con la cantidad de remaches o no.
Resultados
7
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
Tabla 1
Ensayo 1
PRUEBAS DE PLANCHA
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
CON 1 REMACHE
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
4 5 5 5 5 5 5 4 5 5
detectadas
Eficiencia 80% 100% 100% 100% 100% 100% 100% 80% 100% 100%
PROMEDIO DE EFICIENCIA 96%
Tabla 2
Ensayo 2
PRUEBAS DE PLANCHA
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
CON 2 REMACHES
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
4 5 5 4 5 5 5 5 5 5
detectadas
100
Eficiencia
80% 100% 100% 80% 100% % 100% 100% 100% 100%
PROMEDIO DE EFICIENCIA 96%
Tabla 3
Ensayo 3
PRUEBAS DE PLANCHA
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
CON 3 REMACHES
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
5 5 4 5 4 5 5 5 5 5
detectadas
100
Eficiencia
100% 100% 80% % 80% 100% 100% 100% 100% 100%
PROMEDIO DE EFICIENCIA 96%
Tabla 4
Ensayo 4
8
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
PRUEBAS DE
PLANCHA CON 4 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
REMACHES
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
4 5 5 5 5 5 5 5 5 4
detectadas
80 100 100 100
Eficiencia
% 100% 100% % 100% % 100% % 100% 80%
96
PROMEDIO DE EFICIENCIA %
Tabla 5
Ensayo 5
PRUEBAS DE
PLANCHA CON 5 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
REMACHES
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
5 5 5 4 4 5 5 5 5 5
detectadas
100 100 100
Eficiencia 100% 80% 80% 100% 100% 100% 100%
% % %
PROMEDIO DE EFICIENCIA 96%
Tabla 6
Ensayo 6
PRUEBAS DE
PLANCHA CON 6 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
REMACHES
Planchas ingresadas 10 10 10 10 10 10 10 10 10 10
Planchas defectuosas
5 5 5 5 5 5 5 5 5 5
ingresadas
Planchas defectuosas
4 5 5 5 4 5 5 5 5 5
detectadas
Eficiencia 80% 100% 100% 100% 80% 100% 100% 100% 100% 100%
PROMEDIO DE EFICIENCIA 96%
En las (Tabla 1 - 6), se pueden observar los resultados de cada ensayo, donde en cada prueba
realizada se determinó un porcentaje de eficiencia. Por lo que, será necesario hacer un promedio
de todas ellos y finalmente un promedio general, el cual será el nivel de eficiencia de la visión
artificial aplicada en esta parte del proceso de clasificación. En base a ello, se tuvo como
resultado que el porcentaje de eficiencia general que es 96%. Este resultado, es considero óptimo
para que la empresa pueda aplicarlo.
9
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
50
40
30
20
10
0
SI NO
10
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
Discusión
Durante el desarrollo del diseño de implementación de visión artificial para la detección de fallas
durante el control de calidad de los remaches en la fabricación de automóviles, se encontró que
(Constante & Gordón, 2015) usaron el diseño e implementación de visión artificial para tres
tipos de frutas, donde se logró implementar de manera satisfactoria, ya que esta herramienta logro
clasificar a las frutas según el tamaño y la forma, obteniendo así un porcentaje de reconocimiento
de 87.5%, donde de las 40 imágenes de frutas para prueba fueron reconocidas 35. Mientras que,
(Alvarado, 2020) elaboraron un prototipo para el reconocimiento de 6 tipos de imágenes,
realizando 10 pruebas por cada imagen y obteniendo un 95.35% de eficiencia, con un tiempo
promedio de 0.33 segundos.
Con respecto a los algoritmos aplicados (Rebaza, 2007), se usó el algoritmo Canny Edge
Detection, para detectar todos los bordes existentes en una imagen. En cambio, (Challenger-
Pérez, 2014) aplicaron Python, el cual solo permitió reflejar de forma simple las imágenes,
además de que su programación fue orientada más para objetos. En base a ello, es como se
garantiza un buen parámetro para la calidad de los remaches en la fabricación de automóviles en
las empresas Industriales. Obteniendo resultados similares para este aspecto con los autores
anteriormente mencionados, puesto que, la automatización les permitió estandarizar sus procesos,
siendo más precisos y eliminando errores que a veces cometen los operarios.
Es así como, según (Zambrano, Parra , Manrique, & Bustacara, 2007), indican que, la visión
artificial ha demostrado ser una herramienta útil para la implementación de sistemas de medición,
inspección y verificación de la calidad de un producto. Por lo que, únicamente es necesario contar
con una cámara y un computador para poder desarrollar este sistema (Zambrano, Parra ,
Manrique, & Bustacara, 2007). Además, es necesario destacar que la utilidad con este sistema
también logra reducir los tiempos de inspección de las piezas elaboradas, de 29,5 s a 10,2 s. Lo
cual, se refleja en la mejora de la productividad en el proceso. (Moyano, Guamán, García , &
Sedeño, 2021)
En base a lo investigado, lo que se busca es que, no solo este procedimiento sea aplicado en esta
industria; sino que, también sea un enfoque más grande y para distintas empresas. Por ello, según
(Tinajero, Acosta , Chango, & Moyon, 2020), el prototipo en general debe ser capaz de detectar
una mayor gama de color y de forma adicional que permita ampliar el rango de efectividad y
acción. (Tinajero, Acosta , Chango, & Moyon, 2020)
Durante el desarrollo de un sistema de visión artificial, (Gonzalez, Ramirez , Padilla, & Morales,
2013) señalan que las funciones que han empleado son la calibración del sistema óptico, captura
y reconstrucción de imágenes, la binarización, la identificación y el conteo de elementos. Como
resultado, se obtuvo un 92% de eficiencia en detectar algún tipo de ausencia/presencia de
orificios, roscas y puntos de soldadura en los ensambles automotrices. (Tornero, y otros, 2012)
Por otro lado, según (Tornero, y otros, 2012) indican que, la aplicación basada en visión artificial
mediante la adquisición de imágenes permite reconocer los defectos de las piezas, en este caso
permite detectar los defectos en carrocerías de vehículos con una eficiencia que llega casi al
100%. Esto significa una gran mejora en la reducción del número de vehículos rechazados como
en los costos de producción. (Gonzalez, Ramirez , Padilla, & Morales, 2013)
Conclusión
Referencias
13
Aplicación de visión artificial mediante un algoritmo de binarización para el reconocimiento
de placas mediante Python para el control de parqueo, Trujillo 2022
14