Desarrollo de Un Sistema de Detección de Placas de Autos Mediante El Uso de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Desarrollo de un sistema de detección de placas de

autos mediante el uso de software


Huaman Abanto J.1, Castro Salinas J.2,
1
Docente. Ingeniería Industrial. Universidad Privada del Norte. Perú
2-6
Estudiantes. Ingeniería Industrial. Universidad Privada del Norte. Perú[email protected].

Resumen: En este artículo se presenta un software de visión artificial INTRODUCCIÓN


y un aporte a la propuesta de automatización vehicular, el control y la La inteligencia artificial es "simplemente" transferir inteligencia a las
automatización es una parte vital de los sistemas electrónicos con los máquinas, es decir, las computadoras hacen cosas inteligentes. La
recientes avances tecnológicos. Centrándose más en el estudio de tecnología de inteligencia artificial puede reemplazar elementos
formas de filtrado y simplificación de datos para el reconocimiento tradicionales y realizar tareas que antes no podían realizarse sin un
de placas vehiculares en el Perú. Para ello se utilizaron algoritmos, operador humano. [1-3] La inteligencia artificial sigue siendo una
predominantemente Realizado principalmente en el lenguaje de herramienta económica, eficaz y eficiente para dar solución a
programación python en visual studio code. Se declara las placas con problemas técnicos, y sus avances tecnológicos en las últimas
la toma de una fotografía al momento de la entrada o en lugares décadas la han hecho aplicable a otros campos y para mejorar la toma
específicos donde se desarrollan las actividades de trabajo que lo de decisiones. Ya elaborado con el método tradicional y consiguiendo
requieran las partes correspondientes en caso de la ocurrencia de excelentes resultados [4-6]. A lo largo de la historia se ha investigado
algún accidente. Para el desarrollo de este software se usaron las sobre el reconocimiento facial automatizado; hasta bien entrados los
librerías opencv2, pytesseract, numpy y difflib. además, se usaron años 60 del siglo pasado, todos los sistemas de reconocimiento facial
cámaras externas y las imágenes integradas de internet y la calle. El se basaban en mayor o menor medida en los trabajos de Bertillon,
primer paso fue la programación de un software capaz de crear una pues utilizaban como base probatoria una serie de medidas
lectura de la imagen y el reconocimiento de la placa vehicular. antropométricas, como pueden ser; la distancia entre los ojos, la
posterior mente se procedió a convertir la imagen en texto definiendo simetría o la diferente anchura de determinadas partes del óvalo
un alfanumérico. Y por último mediante media pipe for el modelo en facial”. [7]Es importante el avance que han tenido las áreas de
la programación que detecta la presencia de la placa en la imagen. detección e identificación facial en los últimos tiempos, sin duda, se
Posteriormente se obtuvieron resultados de validación del 96.25% basa en desarrollos colectivos a nivel mundial. [8]Por esta razón,
después de las pruebas. Sin embargo, cabe mencionar que estos sostienen que existen diversos estudios que muestran la gran utilidad
porcentajes aumentaron con el uso de mejores cámaras. del reconocimiento de objetos en imágenes a través de Haar
Cascades; principalmente se encuentran aquellos que refieren a
PALABRAS CLAVE: visión artificial, python, detección de placas. reconocimiento facial, con múltiples usos como detección de caras y
contornos de rostros, labios, etc., para distintos propósitos y
Abstract: This article presents an artificial vision software and a aplicaciones.[9] Tecnología de Procesamiento de Imágenes Utilizada
contribution to the vehicular automation proposal, control and con ANRP y Técnicas de OpenCV para aumentar la confiabilidad de
automation is a vital part of electronic systems with the latest los resultados esperados, los métodos utilizados son RUP así como
technological advances. Focusing more on the study of ways of VSM (Vectorización) y TESSERACT. El estudio es un pre
filtering and simplifying data for the recognition of vehicle license experimental, la población son todas las asignaciones en la su
plates in Peru. For this, algorithms were used, predominantly administración de transporte que pasan la encuesta Su satisfacción se
performed mainly in the python programming language in visual evaluó y se utilizó un cronómetro para medir el tiempo de
studio code. The plates are declared with the taking of a photograph reconocimiento de matrículas.[10] Uno de estos desarrollos es el
at the time of entry or in specific places where the work activities procesamiento de imágenes (PDI), que nos permite reconstruir una
required by the corresponding parties are carried out in the event of escena tridimensional a partir de las imágenes reales capturadas por
an accident. For the development of this software, the opencv2, la cámara y extraer alguna información.[11] Esta tecnología está
pytesseract, NumPy and difflib libraries were used. In addition, relacionada con gráficos por computadora (CG), procesamiento de
external cameras and integrated images from the Internet and the datos (PD), visión por computadora (VC), inteligencia artificial (IA),
street were used. The first step was programming software capable of
reconocimiento de patrones (RP), etc. [12] El tiempo excesivo en el
reading the image and recognizing the license plate. Subsequently,
proceso de identificación de placas vehiculares infractoras por parte
the image was converted into text by defining an alphanumeric. And
del personal de seguridad ciudadana, el desconocimiento de la
finally, using the media pipe for the model in the programming that
cantidad de placas infractoras, la ineficacia y la insatisfacción
detects the presence of the plate in the image. Subsequently,
personal por parte del personal de seguridad ciudadana. La
validation results of 96.25% were obtained after the tests. However, it
investigación se basó en un diseño pre experimental, donde se obtuvo
is worth mentioning that these percentages increase with the use of
la información a través de una guía de entrevista, ficha de registro y
better cameras.
14 cuestionario. En el desarrollo del casco inteligente se utilizó la
Keywords: artificial vision, python, plate detection.
metodología de sistemas embebidos en V, los lenguajes de Matlab y
php, además una base de datos en Mysql, donde los datos del proceso
de identificación se mostrarán en un aplicativo web responsivo. [13]
se realizó una investigación experimental - pre experimental que
tomó como población y muestra los procesos de registro de

1
vehículos, búsqueda de abonados y emisión de comprobantes, dichos más eficientes, ya que estas imágenes admiten el cálculo de
indicadores fueron sometidos a pruebas estadísticas el cual convoluciones de manera más rápida.
obtuvieron una distribución no normal, para ello se utilizó la prueba 2.2 Algoritmos Y Técnicas Utilizados En La Visión Artificial.
de Rangos de Wilcoxon. El proyecto se basó en la metodología de
desarrollo XP utilizando el algoritmo Clasificador Haar Cascade, En este apartado voy a comentar alguno de los algoritmos más
motor de reconocimiento de caracteres Tesseract, librerías de visión importantes que hay en visión artificial.
artificial Opencv, EmguCV y Aforge.NET, el sistema gestor de base
datos Mysql y el entorno de desarrollo Visual Studio 2015.. [14] Otro 2.2.1 RGB ↔ Gray.Transformaciones dentro del espacio RGB
estudio interesante es el presentado en "Algoritmo de aprendizaje como agregar/eliminar el canal alfa, invertir el orden de los
para el reconocimiento del color de matrículas", donde se define un canales, conversión a/desde color RGB de 16 bits (R5:G6: B5 o
algoritmo de aprendizaje utilizado para el reconocimiento de R5:G5: B5), así como conversión a/desde escala de grises
matrículas de vehículos basado en el color de una matrícula usando:
analizando tres componentes. espacio de color, como Hue Saturation
Value (HSV), que mejora la precisión del color y la adaptabilidad a La conversión de una imagen RGB a gris se realiza con:
los algoritmos de detección.[15] Con el proyecto de propuesta se
busca una solución a la obtención rápida y eficiente de la gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY). [x]
identificación de los caracteres de las placas de automóviles con fines
de seguridad o de monitoreo, así mismo se busca incentivar el uso de 2.2.2 Algoritmo Threshold. Esta es una alternativa a los
algoritmos de visión artificial como medio de desarrollo tecnológico métodos basados en umbrales globales o métodos de parámetros.
en diversas áreas como la agricultura, la medicina, etc.[16] Elija el umbral óptimo maximizando la varianza entre clases
mediante una búsqueda exhaustiva.
Si una imagen tiene M píxeles y N posibles niveles diferentes,
calcula la probabilidad de que la imagen tenga escala de grises 𝑖.
II. MATERIALES Y MÉTODOS
𝑓𝑖 es la frecuencia con la que se repite el nivel de gris 𝑖 − 𝑒𝑠𝑖𝑚𝑜.
2.1. Recursos utilizados

Los requisitos mínimos para elaboración de este software es una


laptop o pc, con un procesador Intel i3 o Ryzen 3, 4GB de memoria
RAM y que cuenta con Windows 8 en adelante debido a Por tanto, obtenemos el conjunto multinivel que maximice la
requerimientos de la última versión de Python. varianza entre clases. [x]

El software utilizado para realizar este trabajo es Microsoft Visual 2.3 APLICACIÓN DE LA VISIÓN ARTIFICIAL
Studio Code 1.68, que es un editor de código fuente independiente
que puede ejecutarse en diferentes sistemas operativos y también 2.3.1 ADQUISICIÓN DE LAS IMÁGENES.
tiene una gran cantidad de complementos que admiten casi todos los
lenguajes de programación. [ 16] Las imágenes han sido adquiridas usando una cámara digital estándar
de un celular Samsung a12, Las imágenes resultantes tienen tres
En este caso se instaló Python y Pylance las cuales nos ayudaran para componentes de color: RGB (Red, Green, Blue). Para lograr esto se
la edición de código. Se instalaron complementos para Python, un utilizan el código: image = cv2.imread('auto2.jpg')
lenguaje de programación fácil de aprender que se usa en todas las
plataformas y sistemas operativos [17], y Pylance, que proporciona La figura 1 muestra el resultado de la adquisición de una imagen de
una experiencia de edición más potente y sencilla con Python [28]. la placa, por el método propuesto.
Estos dos complementos son útiles para la edición de código.

Python 3. es el lenguaje utilizado el cual es uno de los más


utilizados por las empresas últimamente, además de ofrecernos un
soporte en la orientación a objetos, programación interpretativa y la
programación funcional.

Los módulos que se utilizaron fueron: opencv2, pytesseract,


numpy y difflib el cual es un software especializado presente en el
lenguaje de programación Python enfocado en visión artificial;
numpy es un software que introduce los vectores y las matrices en
Python, el cual puede analizar los componentes a través de
fotografías. Figura 1. Adquisición de imágenes.

punto de interés es una parte de la imagen con características ALGORITMOS PARA LA ADECUACIÓN DE LAS
destacables. Habitualmente son bordes, esquinas o formas de T, que IMÁGENES
hacen que sean puntos muy exclusivos. Para su detención son usadas
las imágenes integrales. Las imágenes integrales es una de las El objetivo de la adecuación de una imagen es la escala de grises.
principales diferencias con su predecesor y permiten al algoritmo ser Para lograr esto se utilizan el código: gray = cv2.cvtColor(image,
cv2.COLOR_BGR2GRAY)

2
con la función de TEXTO se va a aplicar a texto de la placa seleccionada con
La figura 2 muestra el resultado de la adquisición de una escala de la ayuda de la librería difflib encontrando una similitud entre el texto
grises en la imagen de la placa. encontrado con el alfanumérico definido por nosotros.

La figura X muestra el resultado de la adquisición final de la placa.

Figura 2. Adquisición de escala de grises.

Figura X. Adquisición de placa.


Luego utilizamos la función de blanco y negro Para lograr esto se
utilizan el código: tresh = cv2.threshold(gray,140,255,
cv2.THRESH_BINARY_INV) [1]
Visión artificial:
La figura 3 muestra el resultado de la adquisición de blanco y negro
en la imagen de la placa Tabla 1.
Código para adquirir la Descripción
imagen

Evento donde se obtiene la


image = cv2.imread('auto1.jpg') imagen de nuestra

Fuente: elaboración propia

Pre procesamiento de imagen:

Tabla 2.
Figura 3. Adquisición del blanco y negro.
Código para escala de grises Descripción

Encontrar los contornos dentro nuestras imágenes después de haber sido gray = cv2.cvtColor(image, Evento que se activa
procesada, utilizando la siguiente función podemos encontrar todos los cv2.COLOR_BGR2GRAY) automáticamente para el pre
contornos que se muestra en la imagen o fotografía. Para lograr esto se procesado de la imagen
utilizan el código: acnts, _ = cv2.findContours(tresh, cv2.RETR_LIST,
cv2.CHAIN_APPROX_SIMPLE) Fuente: elaboración propia

La figura 4 muestra el resultado de la adquisición de contornos en la Procesamiento de la imagen:


imagen de la placa.
Tabla 3.
Código para binarización Descripción

tresh =cv2.threshold(gray,140,255,
cv2.THRESH_BINARY_INV) Evento en el que se transforma
la imagen adquirida

Código para extracción de Descripción


contornos

cnts, _ = cv2.findContours(tresh, Evento en el que se extraen los


cv2.RETR_LIST, contornos de la imagen
cv2.CHAIN_APPROX_SIMPLE)
Figura 4. Adquisición de contornos.
Fuente: elaboración propia
Finalmente abrimos un ciclo for donde va a evaluar cada contorno de la
imagen de la placa, obteniendo las medidas las medidas y coordenadas,
teniendo lo siguiente defiendo el ancho y alto del borde encontrado, y donde

3
Fig. 6 Procedimiento de los resultados.

PROGRAMA DE RECONOCIMIENTO
RESULTADOS
Se realizó una serie de 40 pruebas para cada placa, 20 con buena
calidad y 20 con mala calidad o resolución, la cantidad de veces que
se obtuvo el resultado de que el sistema dio una buena detección de la
placa, los resultados obtenidos varían dependiendo de los diversos
factores presentado en cada imagen de placa, como la calidad de la
cámara utilizada para las pruebas, que no enfocaba correctamente la
placa. Por lo tanto, en la placa 2 muestra más pruebas falsas de mala
calidad de imagen porque no había una buena cámara ni resolución
en ese momento, aunque a pesar de este resultado se obtuvo un
porcentaje suficiente para confirmarlo, que es 96.25 % (tabla 1).

TABLA 4
PUNTAJES DE PRUEBAS Y PORCENTAJE DE VALIDACIÓN

Buena Buena Mala Mala


PLACAS Calidad Calidad Calidad Calidad
(Correcta (Incorrecta (Correcta (Incorrecta
Detección) Detección) Detección) Detección)
Placas 1 20 0 19 1
Placas 2 20 0 18 2
Placas 3 20 0 19 1
Placas 4 20 0 18 2
TOTAL 80 0 74 6
% 100% 92.5%
%TOTAL 96.25%

Además de lo anterior, el porcentaje de validación de cada placa es


monitoreado por 160 pruebas completadas, 20 de las cuales fueron de
alta calidad y 20 de mala calidad. (Ver figura 3)

Fig. 5 Flujograma del programa de reconocimiento de placas.


Nota: Se ordenó de forma secuencial el proceso de inicio a fin
del programa de reconocimiento.

TOMA DE RESULTADOS
En la Fig. 6 se puede observar el procedimiento que se sigue para
registrar los resultados obtenidos de las pruebas

Figura 7. PUNTAJE DE PRUEBAS

DISCUCIÓN
En el trabajo de investigación “DESARROLLO DE UN SISTEMA
DE RECONOCIMIENTO DE PLACAS Y SU INFLUENCIA EN
LA DETECCIÓN DE VEHÍCULOS ROBADOS ENLA
MUNICIPALIDAD DE SAN ISIDRO” [13]. Realizaron distintos
tipos de pruebas para el reconocimiento de placas obteniendo una

4
gran diferencia en el porcentaje de eficiencia al momento de detectar [7] [6] "Reconocimiento Facial. Pasado, presente y
las placas, ya que tomaban en cuenta distintos factores externos al futuro «Diego Guerrero”. DiegoGuerrero.
momento de capturar la imagen de la placa, como el ambiente, la http://www.diegoguerrero.info/reconocimiento-facial-pasado-presente-
y-futuro/.
luminosidad, calidad de imagen, entre otros.
[8] S. R. Ticono Martines, "Detección y reconocimiento de rostros", Tesis,
En el artículo de investigación “Sistema para detección de placas
Universidad Michoacana de San Nicolás de Hidalgo, MEXICO, 2008.
mediante el procesamiento digital de imágenes” [12], en el cual http://bibliotecavirtual.dgb.umich.mx:8083/xmlui/handle/DGB_UMICH
desarrollaron un sistema para la detección de placas mediante el /3418
procesamiento digital de imágenes con el cual llegaron a obtener un
porcentaje total de validación de 77% (de 80 pruebas realizadas), [9] E. Á. Jeremías Ambrogio, "Reconocimiento de objetos a través de la
mientras que nuestro porcentaje total de validación es de 96,25% de metodología Haar Cascades.", REVISTA ARGENTINA DE
80 pruebas realizadas. INGENIERÍA, VOLUMEN 16, ISSN 2314-0925, p. 7, 2020.chrome-
extension://efaidnbmnnnibpcajpcglclefindmkaj/https://confedi.org.ar/
wp-content/uploads/2020/12/Articulo1-RADI16.pdf
CONCLUCIONES
[10] D. Costa Mari, "ANÁLISIS DE UN SISTEMA DE
RECONOCIMIENTO FACIAL A PARTIR DE UNA BASE DE
Con la ayuda de la inteligencia artificial se logró realizar las
DATOS REALIZADO MEDIANTE PYTHON", Tesis, universidad
investigaciones necesarias para la implementación del sistema de politecnica de catalunya – barcelonatech, ESPAÑA, 2020.
detección de placa. https://upcommons.upc.edu/handle/2117/331277
De igual forma se logró crear un prototipo de programa de detección
de placa que permite la correcta identificación de placas en imágenes. [11] M. Á. Noriega Pando, "“Aplicativo de Reconocimiento de Placas
El prototipo de reconocimiento de matrículas funcionó vehiculares para mejorar la Detección de vehículos robados en la
correctamente, reconociendo la matrícula con buena o mala calidad, Municipalidad Provincial de Trujillo 2018”", Tesis para optar el Título,
lo que nos permite reducir el impacto del reconocimiento sospechoso Universidad Cesar Vallejo, Trujillo, 2018.
de matrículas en nuestra sociedad. https://repositorio.ucv.edu.pe/handle/20.500.12692/35656
El proyecto es muy útil en la situación global actual porque
ayuda a identificar los autos que causan robos o ataques, porque [12] M. J. Montalvo Gonzales, "Casco inteligente para mejorar la
nuestro software identifica de manera correcta las imágenes de identificación de placas vehiculares infractoras en el distrito Víctor
matrículas además que el porcentaje de la validación es del 100% con Larco Herrera – Trujillo, 2020", Tesis para optar el Título, Universidad
buena calidad y el 92,5% con mala calidad, además, su tasa de Cesar Vallejo, Trujillo, 2020.
https://repositorio.ucv.edu.pe/handle/20.500.12692/51437
validación es del 96,25%.
REFERENCIAS

[1] ZAPATA HIDALGO, Andrés Miguel; SILVA TAPIA, Rodrigo.


“Desarrollo de un prototipo para detección de mascarillas y control de
aforo de personas en, 2022. Disponible:
http://repositorio.espe.edu.ec/bitstream/21000/28495/1/T-
ESPE019847.pdf.
[2] GUALDRÓN, Oscar Eduardo; SUÁREZ, Oscar Manuel Duque. Diseño
de un sistema de reconocimiento de rostros aplicando inteligencia y
visión artificial. REVISTA COLOMBIANA DE TECNOLOGIAS DE
AVANZADA (RCTA), 2014, vol. 2, no 24, p. 117-126. Disponible:
https://ojs.unipamplona.edu.co/ojsviceinves/index.php/rcta/article/vie w/
1222.
[3] LLATA, J. R., et al. Aplicación de inteligencia artificial en sistemas
automatizados de producción. Inteligencia Artificial. Revista
Iberoamericana de Inteligencia Artificial, 2000, vol. 4, no 10, p. 100-
110.Disponible: https://www.redalyc.org/pdf/925/92541011.pdf
[4] GONZÁLEZ-PAYARES, María; USTARIS-SIERRA, Alan;
CADAVID-PEÑA, Julián. Uso de mascarillas en tiempos de COVID-
19: Algunas manifestaciones en la piel del personal de la salud. IPSA
Scientia, revista científica multidisciplinaria, 2020, vol. 5, no 1, p. 152-
158, doi: https://doi.org/10.25214/27114406.1028.
[5] OSPINO CASTRO, Adalberto; ROBLES ALGARÍN, Carlos; DURAN
PABÓN, Alejandro. Modelado y simulación de un panel fotovoltaico
empleando técnicas de inteligencia artificial. Ingeniería Energética,
2014, vol. 35, no 3, p. 225-233. Disponible:
http://www.redalyc.org/articulo.oa?id=329132445007
[6] REYES-ORTIZ, Oscar Javier; MEJIA, Marcela;
USECHECASTELBLANCO, Juan Sebastián. Técnicas de inteligencia
artificial utilizadas en el procesamiento de imágenes y su aplicación en
el análisis de pavimentos. Revista EIA, 2019, vol. 16, no 31, p. 189-207,
doi: https://doi.org/10.24050/reia.v16i31.1215.

5
6

También podría gustarte