Aplicación de visión por computador para el reconocimiento del número de placa de vehículos usando modelos de aprendizaje (OCR convencionales) Fernanda Frydson T. Richard Gutierrez P. Facultad de Ingeniería en Electricidad y Computación Escuela Superior Politécnica del Litoral – ESPOL Guayaquil – Ecuador
Esquema general ANPR
Justificación del proyecto Control de acceso a parqueaderos Control de fraudes en autopistas Control de velocidad media en autopistas Control de camiones Inventariado de vehículos … etc
1. Introducción 1.1 ANPR 1.2 OCR 1.2.1 Modelos 1.2.1 Técnicas 1.2.1 Análisis de los OCR’s 2. Implementación de la solución 3. Resultados Experimentales 3. Conclusiones y Recomendaciones
Introducción: Sistemas ANPR Es una aplicación de Visión por Computador que utiliza Reconocimiento Óptico de Caracteres OCR en imágenes para leer las matriculas de los vehículos Trabaja en un entorno NO CONTROLADO
OCR: Reconocimiento Óptico de Caracteres Los sistemas OCR simulan la habilidad humana mediante la creación y el uso de modelos físicos o matemáticos
OCR: Reconocimiento Óptico de Caracteres Modelos Redes Neuronales: Es un sistema inspirado en el funcionamiento del cerebro humano Método Lógico: Se utiliza conjuntos difusos, lógica simbólica, etc.
OCR: Reconocimiento Óptico de Caracteres Modelos Método Probabilista: Utiliza análisis de varianzas, covarianzas, dispersión, distribución, etc. Método Geométrico (Clustering): Es un método de agrupación de una serie de vectores de acuerdo a un criterio de cercanía.
OCR: Reconocimiento Óptico de Caracteres Técnicas GOCR: Desarrollada por Joerg Schulenburg, se basa en un conjunto de reglas, portable a diferentes SO’s, sensible a imágenes con ruido e inclinación. OCRAD: Creado por Antonio Díaz, es un método de extracción de características geométrico, rápido pero muy sensible al ruido
OCR: Reconocimiento Óptico de Caracteres Técnicas TESSERACT: Desarrolla originalmente por Hewlett Packard, luego liberado por Google, es multiplaforma, preciso, potente. El formato que procesa es el TIFF
OCR: Reconocimiento Óptico de Caracteres Técnicas Ocrad GOCR Tesseract Precisión en el reconocimiento Buena Excelente Tiempo de respuesta Mala Sistemas Operativos desarrollado Unix Windows Linux Mac OS Lenguaje desarrollado C++ C C y C++ Licencia GNU General Public License Licencia Apache Formato de imagen de entrada Bmp, pgm, ppm pnm, PBM, pgm y otros TIFF Calidad de imagen para análisis Versión estable disponible Julio 2010 Agosto 2009 Sept. 2010
OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s Driver Gothic License Plate
OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s: GOCR Prueba para imagen 1 Prueba para imagen 2
OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s: OCRAD Prueba para imagen 1 Prueba para imagen 2
OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s: Tesseract Prueba para imagen 1 Prueba para imagen 2
OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s: Tesseract entrenado Prueba para imagen 1 Prueba para imagen 2
Reconocidos Correctamente Reconocidos Correctamente OCR: Reconocimiento Óptico de Caracteres Análisis de los OCR’s Resultados para imagen 1 OCR Total de Caracteres Reconocidos Correctamente No Reconocidos Porcentaje de Error GOCR 37 35 2 5.41 Ocrad 29 8 21.62 Tesseract 31 6 16.22 Tesseract entrenado 36 1 2.70 Prueba para imagen 2 OCR Total de Caracteres Reconocidos Correctamente No Reconocidos Porcentaje de Error GOCR 37 34 3 8.10 Ocrad 30 7 18.92 Tesseract 31 6 16.22 Tesseract entrenado
1. Introducción 2. Implementación de la solución 2.1 Placas Vehiculares 2.2 Tesseract 2.2.1 Fase de entrenamiento 2.2.1 Fase de reconocimiento 3. Resultados Experimentales 4. Conclusiones y Recomendaciones
Tipos de placas vehiculares en el ecuador Placa Particular Placa de Alquiler Placa Municipal Placa Gubernamental
Esquema General del OCR
Fases del Tesseract
OCR implementado Etapa 1: Entrenamiento paso a paso Determinar el conjunto de caracteres que van a ser utilizados Diseñar imagen con texto que contenga un conjunto de ejemplos
OCR implementado Puntos importantes para crear imagen de entrenamiento Tener 5 - 10 muestras Caracteres frecuentes mínimo 20 muestras No hacer frases sin significado ejemplo, 012345 !@#$%^ Los datos de entrenamiento se debe agrupar por tipo de letra Mas de 10 muestras para caracteres cerca de los 15 pixeles
OCR implementado Imágenes Plantilla
OCR implementado Cuadro comparativo de pruebas
OCR implementado Características de las imágenes Las imágenes son previamente binarizadas El formato es TIFF, sin compresión Resolución es de 72ppp - 300ppp
OCR implementado Clasificación de las placas Buenas Parcialmente Buenas Malas
OCR implementado Análisis de pagina Antes Despues
OCR implementado Detección de errores Antes Distinción entre caracteres alfabéticos y numéricos La letra “B” era reconocida como el número “8”. El cero “0” era reconocido como la letra “O”, “Q” o “D”, “U”. El seis “6” fácilmente era reconocido como la letra “G” El número “1” fácilmente era reconocido con la “I” El “4” hallaba similitud con la letra “A” El número “5” hallaba similitud con la letra “S” El número “2” hallaba similitud con la letra “Z”. El número “7” hallaba similitud con la letra “T” Antes
OCR implementado Detección de errores Después Distinción entre caracteres alfabéticos y numéricos Después Placas Tasa de Reconocimiento % de Rec. Con Clasificación 100 Placas (606 Imágenes) 28% 66%
OCR implementado Detección de errores Similitud de caracteres
OCR implementado Detección de errores Patrones para caracteres especiales
OCR implementado Detección de errores Caracteres Sesgados
OCR implementado Detección de errores Caracteres Sesgados
OCR implementado Detección de errores Caracteres Sesgados
OCR implementado Detección de errores: Rotación sobre eje vertical 45 Grados Corrección geométrica: Ninguna Resultado: GMX 672 100% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión: 65 Grados Corrección geométrica: Ninguna Resultado: GMX 672 100% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión:
OCR implementado Detección de errores 7 0 Grados Corrección geométrica: Ninguna Resultado: GMX 672 100% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión: 75 Grados Corrección geométrica: Ninguna Resultado: GMX 672 83,33% Caracteres Reconocidos Errores: Mientras el ángulo de rotación horizontal aumenta, los caracteres tienden a tomar similitud con otros como es el caso del 1 y 7, M y H.
OCR implementado Detección de errores: Rotación sobre eje horizontal 45 Grados Corrección geométrica: Ninguna Resultado: GMX 672 100% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión: 65 Grados Corrección geométrica: Ninguna Resultado: GMX 672 100% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión:
OCR implementado Detección de errores: Rotación sobre eje horizontal 70 Grados Corrección geométrica: Ninguna Resultado: GMX 672 83.33% Caracteres Reconocidos Imagen Binaria B/N - TIFF Sin compresión: Errores: Mientras aumente su rotación vertical, luego de la binarización, los caracteres tienden a verse aplastados causando problemas de reconocimiento y como en el presente ejemplo la “M” la reemplaza por “III” o simplemente no la reconoce.
RESULTADO SOBRE 100 PLACAS / 606 IMAGENES Total de Placas Reconocidas OCR implementado Etapa 2: Reconocimiento RESULTADO SOBRE 100 PLACAS / 606 IMAGENES Librería pv2 pv3 pv4 pv5 pv6 pv7 Pv8 (Final) Total de Placas Reconocidas 66 72 75 60 83
1. Introducción 2. Implementación de la solución 2.1 Placas Vehiculares 2.2 Tesseract 2.2.1 Fase de entrenamiento 2.2.1 Fase de reconocimiento 3. Resultados Experimentales 4. Conclusiones y Recomendaciones
Pruebas de campo Puntos 24 Tomas 240 Corrección aplicada Alineamiento Imágenes procesadas 1440
Resultados: pruebas de campo
Pruebas de campo % de eficiencia algoritmo implementado
1. Introducción 2. Implementación de la solución 2.1 Placas Vehiculares 2.2 Tesseract 2.2.1 Fase de entrenamiento 2.2.1 Fase de reconocimiento 3. Resultados Experimentales 4. Conclusiones y Recomendaciones
Conclusiones y Recomendaciones Se consiguió realizar una librería de entrenamiento con excelentes resultados Se podría crear un entrenamiento mucho más robusto utilizando placas de otros países
Conclusiones y Recomendaciones En el presente proyecto se realizó la toma de imagen de manera manual, por lo que se puede realizar de manera autónoma.