You are on page 1of 5

1

Deteccion de números de placas con una


camara en movimiento
Daniela Ccopa,Erika Tamo,Denis Ccallo,Student Computer science in University San Agustin

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.

Index Terms—Visión Computacional, Detección de placas, Redes Neuronales convoluciones, Seguimiento

1. I NTRODUCCION [10] con la ayuda de las caracterı́sticas de Haar-like que


son filtros hacia la imagen[10] .el algoritmo de WaldBoost
En los últimos años, las personas han estando comprado
también se puede ver como una çascada potenciada de
vehiculos . Entre estos productos de estilo de vida, el vehı́cu-
clasificadores”justificada teóricamente propuesta por Viola
lo se ha convertido en una de las partes más esenciales de
y Jones [3] para la detección de caras.
nuestra vida. Pero el impacto de este estilo de vida rápido y
lujoso se produce en diferentes áreas y no es ajeno el tráfico
que nos rodea. Con el fin de hacer frente a este tráfico en 2.2. Seguimiento de Vehı́culos
aumento y al tráfico próximo, se emplean varias técnicas Este tema es ampliamente estudiado [4][5][17] explican
diferentes. Asi tenemos, el reconocimiento automático de lo siguiente:
matrı́culas de vehı́culos que es un requisito de gestión y
control del tráfico de nueva generación. El sistema de reco- 2.2.1. Alineamiento por parámetros intrı́nsecos de la
nocimiento de matrı́culas del vehı́culo es un área especial cámara
de monitoreo y vigilancia del tráfico. No solo el monitoreo .- Establece una ecuación que conecta el ángulo sacada
de este sistema puede emplearse en diferentes áreas de de la cámara ,en este artı́culo no se usa esta cámara.
la gestión del tráfico, sin involucrar el esfuerzo humano,
como el punto de cobro de peaje o el estacionamiento. 2.2.2. Template Matching
Básicamente, esta técnica se integra con los sistemas de
.-Consiste en aplicar 1 transformación directa a una
detección de video de vehı́culos. Se instala en lugares de
imagen objetivo y para adecuarla a una imagen plantilla,
interés según los requisitos, como la supervisión del tráfico
puede se simples, proyectivas, afines .
o la detección de vehı́culos robados, etc.
2.2.3. Alineamientos por caracteristica
2. A RTICULOS R ELACIONADOS No utiliza toda la información de la imagen cuando rea-
liza el alineamiento.Algoritmos que buscan ptos claves en
2.1. Detección de Autos la imagen estos puntos más robustos frente a las variaciones
El estudio sobre detección de objetos en imágenes de vi- entre imágenes .
deo de carros es un problema bien estudiado[14][15][16].Los Extracción de Puntos caracterı́sticos.-Los puntos que ex-
primeros enfoques para resolverlo fueron los clasificadores traen de la imagen con los métodos siguientes Harris Step-
por apariencia, ejes de simetrı́a[11][12] pero actualmente hay hens,SIFT,SURF,SUSAN.
una buena respuesta al probar los algoritmos basado en Basada en Flujo Óptico.-Se trata en obtener una ecuación
redes neuronales, como es el Super Vector Machine(SVM) para cada punto caracterı́stico ,y resolver estas con alguna
lineal y no lineal , el Boosting dando mejores resultados en el tecnica de Lucas -Kande o los minimos cuadrados.
último mencionado se encuentra que la familia Boosting te- Basada en similitud de Descriptores .-Cada punto carac-
ner mejores resultados, los Boosting basan en clasificadores terı́stico tiene su descriptor que contiene la información de
débiles para obtener un clasificador fuerte, entre estos algo- escala y orientación ,para poder calcular las distancias entre
ritmos tenemos a AdaBoost como el más conocido ,Gentle- descriptores de un punto caracterı́stico.
Boost,FloatBoost, y el algoritmo de WaldBoost [13]que es Una técnica a este tipo de alineamiento es el seguimiento de
una mejora del algoritmo de AdaBoost y junto las decisio- vehı́culos por FoT que se salta en la extracción de puntos y
nes de Wald que contribuyeron al momento de encontrar trabaja con ptos de detectores.Una ventaja es que se utilizo
una nueva sub clasificador obteniendo mejores resultados obteniendo buenos resultados en tiempo real [1].
2

Otros algoritmos que cada vez más está llamando la aten-


ción son los Boosting,MIL,KCF,TLD,teniendo mejores re-
sultados con el TLD cuando hay muchos objetos que se
sobrepone al ROI(región de interés) y obtiene pocos falsos
positivos a diferencia con los demás .

2.3. Deteccion de la placa y reconocimiento


Hay una serie de técnicas utilizadas para el reconoci-
miento de matrı́culas tales como BAM (Bi-directional As-
sociative Memories) reconocimiento de caracteres de la red
neuronal , coincidencia de patrones , etc.

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 :

1 P (y = +1|x, wT (x, y))


hT +1 = log (1)
2 P (y = −1|x, wT (x, y))
En donde wT es el peso que tiene una imagen al pasar
por el clasificador debil T .Para conbinar con la siguiente
ecuacion del error : Figura 2. Caracteristicas Haar

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

de todos ellos. De esta forma las redes neuronales convo-


lucionales son capaces de modelar complejas variaciones y
comportamientos dando predicciones bastantes precisas.

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

que divide a la imagen de entrada en un conjunto de


rectángulos y, respecto de cada subregión, se va quedando
con el máximo valor.

Figura 7. Capa Conectada


Figura 5. Ejemplo de maxpooling

3.5.3. Capa clasificadora totalmente conectada


Al final de las capas convolucional y de pooling, las
redes utilizan generalmente capas completamente conecta-
dos en la que cada pixel se considera como una neurona
separada al igual que en una red neuronal regular. Esta
última capa clasificadora tendrá tantas neuronas como el
número de clases que se debe predecir.

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

[9] Aruna Bajpai.tomatic Vehicle Number Plate Detection System,In


Department of Computer Science & Engineering, ITM GOI, Gwa-
lior, 2016.
[10] Rainer Lienhart and Jochen Maydt Extended Set of Haar-like
Features for Rapid Object Detection. Intel Labs, Intel Corporation,
Santa Clara, CA 95052, USA,1996
[11] King Hann LIM*, Li-Minn ANG, Kah Phooi SENG and Siew Wen
CHIN ,Lane-Vehicle Detection and Tracking Proceedings of the In-
ternational MultiConference of Engineers and Computer Scientists
2009 Vol II IMECS 2009, March 18 - 20, 2009, Hong Kong
[12] Wei Liu, Chunyan Song, Pengyu Fu, Nan Wang and Huai Yuan,A
Rear Vehicle Location Algorithm for Lane Change Assist. Software
Center, Northeastern University,Japan-2007
[13] Jan Sochman,Jirı Matas,WaldBoost – Learning for Time Constrai-
ned Sequential Detection ,Czech Technical University in Prague,
Karlovo ń am. 13, 121 35 Prague, Czech Rep.
[14] A rapid learning algorithm for vehicle classification School of
Computer and Software, Nanjing University of Information Science
and Technology, Nanjing 210044, China,2014
[15] Claudio Caraffi, Tomás Vojır, Jirı Trefny, Jan Sochman and Jı́rı
Matas,A System for Real-time Detection and Tracking of Vehicles
from aSingle Car-mounted Camera , 2011
[16] Baofeng Wang, Zhiquan Qi*, Sizhong Chen, Zhaodu Liu, Guo-
cheng Ma ,Multi-vehicle detection with identity awareness using
cascade Adaboost and Adaptive Kalman filter for driver assistant
system,Laboratory of Vehicle Engineering, School of Mechanical
Engineering, Beijing Institute of Technology, Beijing,2017
[17] Héctor López Paredes,DETECCIÓN Y SEGUIMIENTO DE OB-
JETOS CON CÁMARAS EN MOVIMIENTO, Beijing Institute of
Technology, Madrid,2011
[18] Optimización de los filtros mediana-gaussiano para una mejor
convegencia del snake en la segmentación de imagenes medi-
cas, Ing. Leaned Mercedes Quintana Vivanco, Ing. Fredes Hubert
Sánchez, Doc. C Enrique Marañón Reyes.
[19] Binarización de imagenes digitales y su algoritmia como herra-
mienta aplicada a la ilustración entomológica,Rafael Magro

You might also like