Professional Documents
Culture Documents
Resumen—La detección de placas de los autos es una de las más importantes herramientas para la seguridad, detectando vehı́culos
sospechosos. En este artı́culo procesaremos la información de un video pasándolo a imágenes obteniendo la imagen del vehı́culo
para posteriormente procesarla y obtener la información de la placa, esta información pasara por un filtro gaussiano para suavizar la
imagen eliminando el ruido y una binarización para pasar la imagen a blanco y negro, posteriormente será recortada en varias
imágenes que contiene solamente un numero o letra de la placa, finalmente entrenaremos nuestras redes neuronales convolucionales
para que puedan reconocer las imágenes obtenidas, la información de la placa.
3. E L S ISTEMA P ROPUESTO
3.1. Deteccion y seguimiento del Auto
El metodo propuesto se basa en obtener frames del video
para poder aplicar las ventanas deslizantes y despues pasar-
le por un clasificador basado en el mejoramiento del algorit-
mo de AdaBoost, con las caracteristicas haar-like mostrada
en la figura.2 y las desiciones de Wald mostradas en la
figura.3, basada en casacada de clasificadores debiles que Figura 1. Seudocodigo del Algoritmo Adaboost
son entrenadas por un conjunto de imagenes negativas y
positivas que provocan un xml en opencv . [1],encontrando
los sudclasificadores debiles mediante la formula siguiente :
n l−1
1 1 X X 3.3.1. Primer bloque
E= − ( wj yj − 2 wj yj ) (2)
2 2 j=1 j=1
Antes de segmentar la imagen con la matrı́cula debemos
hacer una serie de pre procesos para su mejor reconocimien-
Propuesto en [14] para mejorar el error al aplicarse una to en el bloque de redes neuronales.
caracterı́stica de haar-like , y el que tenga menor error ese Suavizado de la imagen con Filtro Gaussiano
sera elegido,incluyendo esto en el algoritmo de Adaboost Probablemente el filtro más útil (aunque no el más
como se ve en la figura.1 . rápido). El filtrado gaussiano se realiza al convolu-
Con la ayuda de los siguiente caracteristicas de cionar cada punto en la matriz de entrada con un
haar(figura2). núcleo gaussiano y luego sumarlos.
1 x2 +y2 2
3.2. Tracking TLD G(x, y) = 2σ (3)
2πσ 2
TLD , lo divide en seguimiento,aprendizaje y detección , Donde σ es la desviación estándar.
El detector localiza todas las apariencias que se han observa- La Binarización es una de las partes más importante
do hasta el momento y corrige el rastreador si es necesario. de la segmentación pues sin una buena binarización
El aprendizaje estima los errores del detector y lo actualiza dificultarı́a el reconocimiento en la seccion de
para evitar estos errores en el futuro. reconocimiento de redes neuronales. Se usara la
TLD con Lukas Kanada que trata de predecir el movimiento Binarización global con un umbral estático para
del objeto mejora el seguimiento . todos los puntos de la imagen.
f(n) =
3.3. Segmentación de la Placa
Maxvalor si el P(x,y)>T(x,y)
En esta parte las placas se procesan de modo que la 0 de otro modo
salida será la imagen segmentada y se dividirá este proceso
en dos bloques. El primer bloque hará la Binarización con- 3.3.2. Segundo bloque
virtiendo la imagen a solo blanco y negro, el segundo bloque Ahora la imagen tendremos que segmentarla en partes
segmentara la placa para su posterior reconocimiento. donde en cada parte solo estara la o bien un numero o una
3
3.5. Estructura
En general, las redes neuronales convolucionales van a
estar construidas con una estructura que contendrá 3 tipos
distintos de capas: 1.Una capa convolucional, que es la que
le da le nombre a la red. 2.Una capa de reducción o de
pooling, la cual va a reducir la cantidad de parámetros al
quedarse con las caracterısticas más comunes. 3.Una capa
clasificadora totalmente conectada, la cual nos va dar el
resultado final de la red
Figura 3. Caracteristicas Haar
3.5.1. Capa convolucional
letra. Como dijimos anteriormente, lo que distingue a las redes
neuronales convolucionales de cualquier otra red neuronal
es utilizan un operación llamada convolución en alguna de
3.4. ¿Qué son las Redes Neuronales Convolucionales?
sus capas; en lugar de utilizar la multiplicación de matrices
Las redes neuronales convolucionales son muy simila- que se aplica generalmente. La operación de convolución
res a las redes neuronales ordinarias como el perceptron recibe como entrada o input la imagen y luego aplica sobre
multicapa ; se componen de neuronas que tienen pesos y ella un filtro o kernel que nos devuelve un mapa de las
sesgos que pueden aprender. Cada neurona recibe algunas caracterı́sticas de la imagen original, de esta forma logra-
entradas, realiza un producto escalar y luego aplica una mos reducir el tamaño de los parámetros. La convolución
función de activación. Al igual que en el perceptron multi- aprovecha tres ideas importantes que pueden ayudar a
capa también vamos a tener una función de pérdida o costo mejorar cualquier sistema de machine learning, ellas son: -
sobre la última capa, la cual estará totalmente conectada. Interacciones dispersas, ya que al aplicar un filtro de menor
Lo que diferencia a las redes neuronales convolucionales es tamaño sobre la entrada original podemos reducir drástica-
que suponen explı́citamente que las entradas son imágenes, mente la cantidad de parámetros y cálculos. -Los parámetros
(cabe mensionar que tambien puede procesar audio) lo que compartidos, que hace referencia a compartir los paráme-
nos permite codificar ciertas propiedades en la arquitectura; tros entre los distintos tipos de filtros, ayudando también
permitiendo ganar en eficiencia y reducir la cantidad de a mejorar la eficiencia del sistema. -Las representaciones
parámetros en la red. Las redes neuronales convolucionales equivariante, que indican que si las entradas cambian, las
vienen a solucionar el problema de que las redes neuronales salidas van a cambiar también en forma similar.
ordinarias no escalan bien para imágenes de mucha defini-
ción; por ejemplo en el problema de MNIST, las imágenes
son de 28 x 28 ; por lo que una sola neurona plenamente
conectado en una primera capa oculta de una red neuronal
ordinaria tendrı́a 28x28 = 784 pesos. Esta cantidad toda-
via parece manejable, pero es evidente que esta estructura
totalmente conectado no funciona bien con imágenes más
grandes. Si tomamos el caso de una imagen de mayor
tamaño, por ejemplo de 200x200 con colores RGB, darı́a
lugar a neuronas que tienen 200 x 200 x 3 = 120.000 pesos. Figura 4. Capa Convolucional
Por otra parte, el contar con tantos parámetros, también
seriá un desperdicio de recursos y conducirıá rápidamente
a sobre ajuastar. 3.5.2. Capa de reducción o pooling
La capa de reducción o pooling se coloca generalmente
3.4.1. ¿Cómo funciona? después de la capa convolucional. Su utilidad principal
Las redes neuronales convolucionales trabajan modelan- radica en la reducción de las dimensiones espaciales (ancho
do de forma consecutiva pequeñas piezas de información, x alto) del volumen de entrada para la siguiente capa
y luego combinando esta información en las capas más convolucional. No afecta a la dimensión de profundidad del
profundas de la red. Una manera de entenderlas es que la volumen. La operación realizada por esta capa también se
primera capa intentará detectar los bordes y establecer pa- llama reducción de muestreo, ya que la reducción de tamaño
trones de detección de bordes. Luego, las capas posteriores conduce también a la pérdida de información. Sin embargo,
trataran de combinarlos en formas más simples y, finalmen- una pérdida de este tipo puede ser beneficioso para la red
te, en patrones de las diferentes posiciones de los objetos, por dos razones ; la disminución en el tamaño conduce a una
iluminación, escalas, etc. Las capas finales intentarán hacer menor sobrecarga de cálculo para las próximas capas de la
coincidir una imagen de entrada con todas los patrones y red y la segunda razón serıa para reducir el sobreajuste. La
arribar a una predicción final como una suma ponderada operación que se suele utilizar en esta capa es max-pooling,
4
4. C ONCLUSION
Con nuestro trabajo hemos logrado reconocer la placa
de auto con videos de resolucion media, las imagenes de
calidad baja no produciria un resultado adecuado y las
obstrucciones tambien complicarian el resultado.
El uso de este tipo de redes convulocionales permite crear
un sistema realmente capaz de “aprender” las caracterı́sticas
de los distintos dı́gitos y letras de las matrı́culas, sin necesi-
dad de complejos mecanismos de extracción de atributos.
R EFERENCIAS
[1] Claudio Caraffi. Toma Voj. Trefny Jan Sochman.Matas .A System
for Real-time Detection and Tracking of Vehicles from a Single Car-
mounted Camera
Figura 6. Capa Conectada
[2] Jan Sochman,Jı́rı Matas, WaldBoost – Learning for Time Constrai-
ned Sequential Detection In SCTV, Vancouver, Canada, 2001.
[3] P. Viola and M.J. Jones. Robust real time object detection. In SCTV,
Vancouver, Canada, 2001.
3.6. Analisis Mátematico [4] Peiqi Wu; Zhangqin Huang, * Da Li.Research on the Character
Recognition for Chinese License Plate Based on CNN. Beijing
Descenso por gradiente estocástico. En principio, se pue- University of Technology,(Beijing, China), 2017.
de usar cualquier método de optimización para entrenar [5] Héctor López Paredes.”DETECCIÓN Y SEGUIMIENTO DE OB-
las redes convolucionales, pero se prefiere el método del JETOS CON CÁMARAS EN MOVIMIENTOÏn SCTV, Vancouver,
descenso por gradiente estocástico. Este método calcula el Canada, 2001.
[6] Yujie Liu-He Huang.Car Plate Character Recognition Using a Con-
gradiente de la función objetivo. volutional Neural Network with Shared Hidden Layers.School
of Electronics and Information Engineering,Suzhou 215006, P. R.
China, 2014.
3.7. Capa ReLU (Unidad lineal rectificada ) [7] Teik Koon Cheang and Yong Shean Chong. Segmentation-free Vehi-
cle License Plate Recognition using ConvNet-RNN.Kajang,2015.
En el contexto de las Redes Neuronales Artificiales, el
[8] Rupali Gala and Yash Jain. Vehicle Number Plate Detection and
rectificador es una función de activación definida como: Recognition.In Shah And Anchor Kutchhi Engineering, College,
f(x)=max(0,x) Mumbai, 2014.
5