5 Procesamiento de imagen

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción 5 Procesamiento de imagen 5.1 Problemática de la detección de señales

5 downloads 157 Views 7MB Size

Recommend Stories


Procesamiento Digital de Imágenes
Procesamiento Digital de Imágenes Apuntes del curso impartido por el Dr. Boris Escalante Ramírez Agosto, 2006 2. 2.1. Fundamentos de la Imagen Digit

3 Procesamiento digital de
3 Procesamiento imágenes digital de Una vez preparada la escena para ser capturada por las cámaras de Visión Artificial, se deberá de tratar el as

Story Transcript

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

5 Procesamiento de imagen

5.1 Problemática de la detección de señales de tráfico y estrategia adoptada Las condiciones climatológicas y de iluminación cambiantes son un problema a la hora de detectar señales de tráfico, pues afectan al color (que es la característica principal junto con la forma) que se usa para localizarlas. Tampoco ayudan las localizaciones en las que pueden encontrarse las señales (carretera, autopistas, poblados) ya que en ocasiones el fondo de la imagen contendrá otros objetos (carteles de anuncios, otros vehículos, etc.) que dificultarán el proceso de segmentación. Además normalmente se producirán oclusiones de las señales por otros objetos móviles (otros vehículos, peatones, etc.). Estas oclusiones parciales modifican la forma de la señal en la imagen. Por otra parte, al estar el vehículo en movimiento, las imágenes capturadas por la cámara pueden mostrar cierto grado de desenfoque de movimiento. Este efecto, además de difuminar levemente los contornos en la imagen, tiende a mezclar colores, corrompiendo los colores de la escena real. Esta aplicación basa su eficacia en la capacidad de detectar cada señal el mayor número de veces posible mientras el vehículo se aproxima a ella. Serán aceptables velocidades de procesamiento de 15 cuadros por segundo en adelante, siendo el objetivo una velocidad mantenida de 25 cuadros por segundo. Estas especificaciones significan que se dispone de entre 66 y 40 milisegundos (15 y 25 cuadros por segundo respectivamente) para procesar cada imagen. Para lograr esa velocidad, por una parte, se ha utilizado una Look Up Table (LUT, ver apartado 9.4) para segmentar la imagen en regiones según el color, y por otra parte se ha realizado el menor número de operaciones sobre la imagen que permite extraer la información necesaria para reconocer las señales. Además los clasificadores utilizados para el reconocimiento de las formas y el contenido de las señales son redes neuronales que, aunque pueden necesitar mucho tiempo para el entrenamiento, son los clasificadores más rápidos a la hora del reconocimiento.

5.2 Etapas del procesamiento En la Figura 15 se muestra el diagrama de procesamiento de la aplicación completa, desde que se captura una imagen hasta que se analiza la escena y se muestra una notificación. En color verde se han representado los módulos de tratamiento de imagen (morfología, etc.) y en color azul se muestran los módulos que utilizan algún tipo de clasificador.

25

Procesamiento de imagen La Figura 16 resume las operaciones que se llevan a cabo para obtener regiones candidatas a señales de tráfico.

Figura 15: Diagrama completo de la aplicación.

26

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

Figura 16: Operaciones del procesamiento de imagen hasta el reconocimiento de forma.

Los pasos del procesamiento hasta el clasificador de forma son: •

Captura de la imagen en color, que denominaremos Imagen (Figura 17).



Reducción de la imagen a las zonas de detección izquierda y derecha: se reduce el dominio de la imagen a las regiones asociadas a las zonas de detección, quedando fuera del análisis todos los píxeles que no pertenezcan a ellas (Figura 18). Obtenemos el objeto ImagenReducida. Se pretende detectar señales verticales de señalización, y estas señales tienen una localización previsible en la imagen, por lo que se puede ceñir la búsqueda a sendas regiones izquierda y derecha, reduciendo tanto el tiempo de procesamiento (el área a procesar disminuye considerablemente) como el número de falsos positivos.



Descomposición en canales rojo, verde y azul (Figura 19, Figura 19, Figura 20 y Figura 21). Obtenemos los objetos ImagenR, ImagenG, ImagenB. Este paso es necesario porque el clasificador de color (convertido en una LUT) tiene por entradas estas tres imágenes.



Segmentación por color de la imagen reducida. Obtenemos seis regiones correspondientes a los seis colores que se han entrenado (Figura 22). Se recuerda que de los seis colores sólo interesa reconocer con exactitud el color rojo, y que los demás colores se utilizan como clases de rechazo frente al rojo. 27

Procesamiento de imagen

28



Selección de la región asociada al color rojo en la imagen (Figura 23). Obtenemos el objeto RegiónRojo.



Compactado de la región anterior mediante una operación de “closing” con un elemento estructurante circular de radio 1.5 pixeles (Figura 24). Obtenemos el objeto RegionRojoCompactada. Como la segmentación por color es una operación a nivel de pixel, suele ocurrir que las regiones asociadas a los objetos de ese color en la imagen se presenten “rotas” o separadas (no conectadas), siendo necesario un pequeño compactado para unir zonas que han quedado separadas pero que pertenecen a un mismo objeto en la imagen. Por otra parte, cuando haya varios objetos rojos demasiado cercanos o solapados (y esto ocurre con más frecuencia cuando los objetos están lejos debido a la perspectiva) la operación de compactado puede llegar a unir las regiones asociadas a objetos que no interesa que se unan, y de ahí que la dimensión elegida para el elemento estructurante sea tan pequeña.



Cálculo de las componentes conectadas de RegionRojoCompactada para obtener varias regiones separadas (Figura 25). Obtenemos el objeto RegionesConectadas, que consta de varios objetos.



Obtención de las regiones rectangulares asociadas a cada región del objeto RegionesConectadas y filtrado geométrico por altura, anchura y área mínima. Obtenemos el objeto RegionesSeleccionadas. En lugar de trabajar con RegionesConectadas, trabajaremos con el rectángulo contenedor de cada región del objeto RegionesConectadas (Figura 26). De esta forma, dado que el rectángulo contenedor de una región puede contener otras regiones, podremos recuperar a posteriori posibles fragmentos de objetos (regiones del objeto RegionesConectadas) que no pasaron el filtro geométrico por sí solos, pero que formaban parte del mismo objeto rojo en la imagen. Esta posibilidad de recuperación de fragmentos es útil para mejorar la entrada al clasificador de forma.



Recuperación de las regiones originales (RegionesConectadas) asociadas a las regiones rectangulares que han pasado el filtro geométrico (Figura 27). Obtenemos el objeto RegionesSeleccionadas.



Estas últimas regiones son la entrada del clasificador de formas.

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

Figura 17: Imagen capturada.

Figura 18: Imagen reducida a las zonas de detección izquierda y derecha.

29

Procesamiento de imagen

Figura 19: Imagen correspondiente al canal rojo.

Figura 20: Imagen correspondiente al canal verde.

Figura 21: Imagen correspondiente al canal azul.

30

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

LEYENDA Imagen: Rojo Verde Azul Cian Magenta Amarillo

Realidad: Rojo Blanco Amarillo Negro Verde Azul

Figura 22: Imagen segmentada en regiones según color.

DETALLE

Figura 23: Región asociada al color rojo y detalle.

DETALLE

Figura 24: Región asociada al color rojo compactada con una operación de “closing” y detalle.

31

Procesamiento de imagen

Figura 25: Regiones rojas separadas (componentes conectadas). Representado con varios colores para diferenciar las distintas regiones.

Figura 26: Regiones asociadas al color rojo y rectángulos contenedores.

Figura 27: Regiones candidatas a señal después de filtrar los rectángulos contenedores por altura, anchura y área mínimas.

32

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción Las figuras 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 y 38 muestran los pasos del procesamiento para una captura donde hay señales de peligro.

Figura 28: Imagen capturada.

Figura 29: Imagen reducida a las zonas de detección.

33

Procesamiento de imagen

Figura 30: Imagen correspondiente al canal rojo.

Figura 31: Imagen correspondiente al canal verde.

Figura 32: Imagen correspondiente al canal azul.

34

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

LEYENDA Imagen: Rojo Verde Azul Cian Magenta Amarillo

Realidad: Rojo Blanco Amarillo Negro Verde Azul

Figura 33: Imagen segmentada en regiones según color.

DETALLE

DETALLE

Figura 34: Región asociada al color rojo y detalles.

DETALLE

DETALLE

Figura 35: Región asociada al color rojo compactada y detalles.

35

Procesamiento de imagen

Figura 36: Regiones correspondientes al color rojo separadas (componentes conectadas). Representado con varios colores para diferenciar las distintas regiones.

Figura 37: Regiones asociadas al color rojo y rectángulos contenedores.

Figura 38: Regiones candidatas a señal después de filtrar los rectángulos contenedores por altura, anchura y área mínimas.

36

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción Si alguna de las regiones candidatas es clasificada en una clase diferente a la clase de rechazo y además su confianza es elevada, entonces será necesario continuar procesando la imagen para extraer el contenido de la señal y finalmente reconocerla. Aparte de la clase de rechazo, el clasificador de forma considera las siguientes clases: 1. Peligro: es una región circular. 2. Prohibición: es una región triangular con un vértice hacia arriba. 3. Peligro-Prohibición: es una región constituida por un triángulo en la parte superior y un círculo en la inferior. 4. Prohibición-Peligro: igual que la anterior pero a la inversa. 5. Peligro-Peligro: es una región consistente en un triángulo encima de otro. 6. Prohibición-Prohibición: es una región consistente en un círculo sobre otro. 7. Ceda el paso: es una región triangular con un vértice hacia abajo.

Nos centramos primero en los dos primeros casos, ya que los siguientes se tratarán como los primeros tras una serie de comprobaciones necesarias. El caso de la clase “ceda el paso” es especial, ya que la señal no tiene ‘contenido’. El procesamiento de las regiones clasificadas como señales de prohibición y peligro es prácticamente el mismo, excepto porque en el primer caso buscamos extraer los dígitos del número asociado a un límite de velocidad y el icono que representa un vehículo en la señal de prohibición de adelantamiento, mientras que en el segundo caso interesa extraer todo el icono como una sola región. En el caso de la señal ‘ceda el paso’ no se realiza más procesamiento ya que la señal no tiene contenido que extraer.

Procesamiento de las regiones de la clase Prohibición. El objetivo de este procesamiento es localizar las regiones asociadas a los dígitos de la señal de prohibición. La Figura 39 muestra un resumen de las operaciones necesarias para la conseguir regiones candidatas a los caracteres (e icono) de las señales de prohibición. Los pasos son los siguientes: •

Rellenado de la región (fill up). Obtenemos el objeto RegiónRellena (ver Figura 44).



Cálculo de la diferencia entre RegiónRellena y la región original. Obtenemos el objeto RegiónInterior (ver Figura 44). Con esta operación, en la mayoría de los casos, obtendremos la región interior de la señal, pero dado que la región original puede tener huecos, al calcular la diferencia aparecerá más de una región, siendo necesarios más pasos (pasos 3 y 4) para asegurar que lo que se obtiene es exlusivamente la región interior.



Cálculo de las componentes conectadas de RegiónInterior. Obtenemos el objeto RegionesInterior, que puede contener varias regiones. 37

Procesamiento de imagen



Selección de la región de mayor área de las resultantes del paso anterior. Esta región se guarda en el objeto RegionInterior.



Transformación o modificación de RegiónInterior para convertirla en una región convexa (ver Figura 44). Este paso es útil para recuperar zonas del contorno de la región interior de la señal que pueden haberse perdido en pasos anteriores por diversos motivos relacionados con la calidad de la imagen (desenfoque de movimiento, perspectiva, etc.).

Figura 39: Operaciones del procesamiento para regiones clasificadas como señales de prohibición.



38

Reducción del canal rojo de la imagen capturada con la región convexa resultante del paso anterior (ver Figura 45). Se ha utilizado de ahora en adelante el canal rojo, pero también se podría haber utilizado el canal verde o la imagen en escala de grises. El canal azul no debe usarse porque el interior o fondo de las señales de tráfico puede ser tanto blanco como amarillo (en zonas en obras), y en este último caso, en el canal azul no hay suficiente contraste para diferenciar fondo y objeto (icono de la señal) como puede observarse en la Figura 40. El canal verde proporciona un buen contraste entre fondo y objeto tanto en señales con fondo blanco como en señales de fondo amarillo, pero se ha elegido el canal rojo porque así se disminuye el ruido procedente del borde rojo de la señal que suele aparecer en el borde de la región interior de la señal. Hay que notar que al usar el canal rojo, hay ciertos objetos que pueden aparecer en las señales, como por ejemplo el icono asociado al vehículo rojo de la señal de prohibición de

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción adelantamiento, que tendrán un contraste reducido contra el fondo, pudiendo en ocasiones ‘fundirse’ con el fondo. La imagen en escala de grises proporciona un buen contraste para ambos colores del fondo de las señales, pero implica más procesamiento y no se ha utilizado.

Imagen color

Canal rojo

Canal verde

Canal azul

Imagen gris

Figura 40: Descomposición de la imagen en color en sus tres canales e imagen en escala de grises.



Umbralización dinámica del canal rojo reducido para separar fondo de objeto. Obtenemos el objeto CaracteresCandidatos (una única región), que normalmente contendrá ruido además de las regiones correspondientes a los caracteres. Las señales de tráfico están expuestas a iluminaciones variables, sombras, reflejos, etc. En ocasiones estas perturbaciones hacen que no exista un umbral capaz de separar el fondo del objeto, de manera que la umbralización basada en histograma no sirve. Precisamente, la umbralización dinámica o adaptativa no se basa en un único umbral (nivel de gris) para binarizar la imagen, sino que utiliza un umbral particular para cada pixel de la imagen cuyo valor depende de la vecindad de dicho pixel, permitiendo binarizar correctamente imágenes más complejas. Aun así, es necesario dar ciertos parámetros al operador para lograr un resultado aceptable, y estos parámetros están fundamentalmente relacionados con el tamaño del objeto sobre el fondo. Por tanto, es posible corregir los parámetros de entrada al operador de umbralización dinámica según el área de la región interior de la señal para mejorar el resultado de la binarización. Para más información acerca de la umbralización dinámica, ver el apartado 9.4.

Figura 41: Imágenes en color y escala de grises de una señal con sombras.

39

Procesamiento de imagen

Figura 42: Histograma de escala de grises.

Umbral fijo 130

Umbral fijo 153

Umbral fijo 200

Umbral dinámico

Figura 43: Resultados de binarizar con umbrales fijos y con umbral dinámico.

40



Cálculo de las componentes conectadas de CaracteresCandidatos, para separar las distintas regiones.



Eliminación de los restos del borde interior de la señal. Se sobrescribe el objeto CaracteresCandidatos. Como ya se ha comentado, la umbralización dinámica puede incorporar a la zona oscura los píxeles del borde de la región interior de la señal, ya que en esta zona se produce una transición de color rojo a blanco o amarillo (ver Figura 45). Para eliminar el grueso de estas regiones se erosiona el objeto RegionInterior y se intersecta con el objeto CaracteresCandidatos (Figura 45). Después, apoyándonos en el hecho de que los caracteres deben tener un área mayor que las regiones asociadas al ruido, se considera que una región es un carácter si su área es mayor o igual al 40 % de la mayor de las áreas del objeto CaracteresCandidatos (Figura 45). En la elección este factor, se ha tenido en cuenta que hay variaciones sustanciales de área entre los caracteres (el carácter ‘1’ tiene un área mucho menor que los demás caracteres considerados) y también que los caracteres pueden fragmentarse y seguir siendo reconocibles por el OCR, y por tanto no conviene desecharlos en este punto del proceso de reconocimiento.



El objeto CaracteresCandidatos es la entrada al clasificador de señales de prohibición.

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

Región original

Región Rellena

Región Interior

Región Interior Convexa

Figura 44: Operaciones con la región original para obtener la región interior asociada al fondo de la señal.

Canal rojo reducido a la región interior convexa.

Imagen de media para la umbralización dinámica.

Caracteres candidatos y parte del borde.

Caracteres candidatos una vez eliminado el borde.

Componentes conectadas del objeto CaracteresCandidatos.

Regiones que finalmente constituyen el objeto CaracteresCandidatos.

Figura 45: Resultados parciales del proceso de extracción del contenido de la señal.

41

Procesamiento de imagen Procesamiento de las regiones de la clase Peligro. Las operaciones que hay que realizar cuando la región es de la clase Peligro son las mismas que cuando la región es de la clase Prohibición, hasta la eliminación del ruido en el borde, como se puede observar en la Figura 47. A partir de ese punto el procesamiento cambia porque ahora interesa extraer el icono o símbolo como una única región, y muchos de los iconos están constituidos por varias partes separadas, algunas de ellas pequeñas. Las operaciones van encaminadas a eliminar el ruido sin eliminar regiones que pertenezcan al icono. Por ello se aplica una operación de compactado (closing) a la región resultante de la eliminación del ruido en el borde para unir las partes pequeñas del icono, con el objetivo de aumentar el área de las regiones que verdaderamente son parte del icono (ver Figura 48). Después se filtrarán todas las regiones por área. Concretamente todas las regiones con un área menor a diez pixeles serán eliminadas. Finalmente se unen todas las regiones para formar el objeto IconoCandidato.

Figura 46: Operaciones del procesamiento para regiones clasificadas como señales de peligro.

42

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

Región original.

Región Rellena.

Región interior

Región interior convexa.

Figura 47: Operaciones con la región original para obtener el fondo de la señal.

Canal rojo reducido con la región interior convexa.

Imagen de media para la umbralización dinámica.

Región asociada al icono, con ruido en el borde.

Región asociada al icono con gran parte del ruido eliminado.

Componentes conectadas de la región asociada al icono.

Región finalmente asociada al icono.

Figura 48: Resultados parciales del proceso de extracción del contenido de la señal de peligro.

43

Procesamiento de imagen

5.3 Procesamiento del color En ocasiones el espacio de color RGB no es el más intuitivo para el procesamiento de imágenes en color. Existen otros espacios de color como el HSV, HSI o el HSL, que permiten localizar los colores con cierta independencia de su intensidad, siendo por tanto la segmentación más robusta frente a cambios de iluminación. Por otro lado está el espacio de color Cielab, que se ajusta más a la percepción humana de los colores. Para la aplicación de reconocimiento de señales de tráfico, parece una buena opción trabajar con los espacios de color que permitan segmentar el color con independencia de su intensidad (HSV, HSI, HLS), ya que la apariencia de la señal en la imagen capturada va a ser muy variable dependiendo tanto de las condiciones lumínicas como también de las condiciones físicas de la propia señal (las señales pueden ser nuevas con colores vívidos o viejas con colores desvaídos).

Figura 49: Paleta de tonos de color del espacio HSV y umbrales del color rojo [0-23] ∪ [230-255].

Figura 50: Paleta de color HSV con el canal V a su máximo valor.

Para lograr segmentar con independencia de la intensidad del color, lo que se suele hacer es descartar el canal directamente relacionado con la intensidad: •

Canal V en el espacio HSV



Canal I en el espacio HSI



Canal L en el espacio HLS

Después se aplica un umbral al canal de la saturación (S) para descartar las zonas de baja saturación, y finalmente se aplica un umbral al canal del tono (H) para seleccionar el color (o colores) deseado. El 44

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción resultado de la segmentación es la región de la imagen resultante de la intersección de las zonas de saturación alta y las zonas de tono elegido.

V = 255

V = 240

V = 224

V = 208

V = 192

V = 176

V = 160

V = 144

V = 128

V = 112

V = 96

V = 80

V = 64

V = 48

V = 32

V = 16

Figura 51: Paleta de color HSV con diferentes valores para el canal V.

El problema de segmentar de esta manera es que los umbrales son fijos y es necesario un cierto grado de saturación en el color para que funcione. Por otro lado, al descartar completamente el canal asociado a la intensidad se elimina demasiada información. Este último problema se puede solucionar manteniendo el canal y aplicando otro umbral (Figura 52 y Figura 53).

Captura

Zonas con tono rojo [0-30] ∪ [190-255].

Zonas con saturación superior a 20 niveles de intensidad.

Intersección de las zonas de alta saturación con las de tono rojo.

Figura 52: Resultados parciales de la segmentación del color rojo en el espacio de color HSV.

45

Procesamiento de imagen

Figura 53: Zonas de color rojo tras aplicar además una umbralización [15-255] en el canal V. Se pierde una señal.

Pero en esta aplicación esta aproximación no es suficientemente robusta por lo que finalmente se ha optado por el uso de clasificadores basados en entrenamiento para la segmentación. Concretamente se han usado dos tipos de clasificadores: redes neuronales (MLP) y modelo de mezcla de gaussianas (GMM). Se ha elegido el espacio de color RGB por dos motivos: •

Aunque para un humano puede ser un espacio de color menos intuitivo, para un clasificador es un espacio de características perfectamente válido, donde las clases deben ser igual de separables que en otro espacio.



Al no tener que realizar una transformación, se ahorra tiempo de procesamiento.

El clasificador GMM puede funcionar en modo ‘detección de novedad’ (novelty detection), es decir, es posible entrenar con ejemplos de una única clase y de forma que a la hora de clasificar devolverá como resultado todas las regiones que no pertenezcan a dicha clase. De hecho, por defecto detecta lo que sí pertenece a la clase (resultado complementario del anterior), que es precisamente lo que nos interesa. Como en esta aplicación, en principio, sólo interesa detectar el color rojo se ha tenido en consideración este modo de funcionamiento del clasificador GMM. Sin embargo, el clasificador basado en red neuronal (MLP) no puede funcionar en modo ‘detección de novedad’. Para lograr la misma funcionalidad es necesario entrenar específicamente una clase de rechazo. Como ya se ha comentado, interesa detectar exclusivamente el color rojo de las señales de tráfico, pero aun así se han utilizado varias clases de rechazo correspondientes a diferentes colores, en lugar de una única clase con esos colores de rechazo. Concretamente se han entrenado los colores blanco, negro, amarillo, verde y azul como clases de rechazo. También se han hecho pruebas con un clasificador GMM entrenado con las mismas clases de rechazo que el clasificador MLP. La Figura 54 muestra la imagen ‘sintética’ que se ha utilizado para el entrenamiento. En ella se han dispuesto muestras de distintos colores extraídas de fotografías de señales (colores rojo, blanco, amarillo, negro y azul). El color verde se ha entrenado con muestras de vegetación. Aparte, para cada clase hay una muestra del color ‘puro’. Sobre fondo negro se disponen las muestras de color rojo, blanco y amarillo, y sobre fondo blanco encontramos las muestras de color negro, verde y azul.

46

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

Figura 54: Imagen sintética con muestras de colores rojo, blanco, amarillo, negro, verde y azul para el entrenamiento de los clasificadores.

Comparación de distintos clasificadores. Se ha probado un clasificador basado en redes neuronales, un clasificador basado en mezcla de gaussianas y un clasificador basado en mezcla de gaussianas funcionando en modo ‘detección de novedad’. Para cada uno de estos tipos de clasificador se han realizado pruebas para conseguir un buen ajuste de los parámetros configurables, que son: •

En el clasificador MLP: tipo de preprocesamiento (ninguno, normalización y análisis de componentes principales) y número de neuronas en la capa oculta.



En los clasificador GMM: tipo de preprocesamiento y número máximo de centros.

Estos clasificadores se han probado con imágenes de señales en distintas condiciones de iluminación. Para los clasificadores MLP se ha establecido un umbral de rechazo de 0.5 (si la probabilidad de pertenecer a clase es menor a 0.5 el pixel no se asigna a ninguna clase), mientras que para los clasificadores GMM el umbral de rechazo es de 0.005 (es un umbral sobre la probabilidad K-sigma). Ambos valores son valores recomendados y deben dar resultados parecidos (más o menos equivalentes). La Figura 55 muestra los resultados obtenidos con distintos tipos de preprocesamiento en un clasificador MLP. Se puede observar cómo no usar ningún preprocesamiento del vector de características conduce a resultados desastrosos, mientras que realizar un análisis de componentes principales no aporta nada frente a la normalización del vector. Esto último era esperable puesto que nuestro vector de características sólo tiene tres componentes (R, G y B) y normalmente las tres contendrán información, así que el análisis de componentes principales, cuyo objetivo es reducir el 47

Procesamiento de imagen número de componentes, normalmente mantendrá las tres componentes. Este resultado relativo al preprocesamiento se reproducirá igual en el clasificador GGM. Todos los resultados mostrados en adelante se han obtenido normalizando el vector de características.

IMAGEN

ninguno

PREPROCESAMIENTO normalización

componentes principales

Figura 55: Resultados de la segmentación de imágenes para un clasificador MLP con 3 neuronas en la capa oculta y distintos tipos de preprocesamiento.

En la Figura 56 se muestran los resultados obtenidos con un clasificador del tipo MLP y distinto número de neuronas en la capa oculta. Se puede observar que con sólo tres neuronas los resultados de segmentación del color rojo son bastante aceptables, y que con cien neuronas no llega a producirse sobreadaptación de la red (fenómeno por el cual el clasificador pierde capacidad de generalización debido a una elevada capacidad de adaptación, llegando a distinguir los detalles).

48

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

IMAGEN

3

6

NÚMERO DE NEURONAS EN LA CAPA OCULTA 10 15 20

50

100

Figura 56: Resultados de la segmentación de imágenes para un clasificador MLP con distinto número de neuronas en la capa oculta (el preprocesamiento consiste en la normalización del vector de características).

La Figura 57 muestra los resultados obtenidos para un clasificador del tipo GMM entrenado con las seis clases (colores) y con distinto número de gaussianas. Se observa que el número óptimo estaría por debajo de diez. 49

Procesamiento de imagen

IMAGEN

5

NÚMERO DE GAUSIANAS 10 20

30

Figura 57: Resultados de la segmentación de imágenes para un clasificador GMM con diferente número máximo de centros (el preprocesamiento consiste en la normalización del vector de características).

La Figura 58 muestra el mismo experimento con un clasificador GMM funcionando en modo detección de novedad, es decir, entrenado únicamente con la clase asociada al color rojo. En este caso parece que diez gaussianas dan mejor resultado que cinco.

50

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

IMAGEN

NÚMERO DE GAUSIANAS 5

10

Figura 58: Resultados de la segmentación de imágenes para un clasificador GMM en modo ‘detección de novedad’ con diferente número máximo de centros (el preprocesamiento consiste en la normalización del vector de características).

En las siguientes figuras se comparan entre sí los dos tipos de clasificadores con distinto número de neuronas y gaussianas. Los resultados se muestran en tablas donde cada celda (f,c) contiene: •

(1,1): imagen en color de la señal



(1,2): resultado de la segmentación con clasificador MLP con 3 neuronas en la capa oculta.



(1,3): MLP con 20 neuronas.



(1,4): MLP con 100 neuronas.



(2,1): GMM con 5 gaussianas.



(2,2): GMM con 10 gaussianas.



(2,3): GMM con 20 gaussianas.



(2,4): GMM en modo detección de novedad con 10 gaussianas.

51

Procesamiento de imagen

52

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

53

Procesamiento de imagen

54

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

55

Procesamiento de imagen

56

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

57

Procesamiento de imagen

58

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

59

Procesamiento de imagen

Observados estos resultados se puede concluir que, en general, los clasificadores basados en redes neuronales obtienen mejores resultados que los basados en mezclas de gaussianas. El clasificador GMM obtiene mejores resultados con 5 gaussianas, y el clasificador GMM que funciona en modo detección de novedad no alcanza resultados aceptables. El clasificador MLP con 100 neuronas en la capa oculta obtiene los mejores resultados de segmentación, pero al tener muchas más neuronas en la capa oculta que los otros dos, es más lento clasificando. Esto no es un problema porque se ha utilizado una Look Up Table para acelerar el proceso de clasificación, igualándose los tiempos de clasificación para todos los clasificadores independientemente del número de neuronas en la capa oculta.

60

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

5.4 Clasificación de formas Las señales que se quiere reconocer tienen tres formas básicas (una circular y dos triangulares). En ocasiones se montan dos señales en el mismo poste, una encima de la otra. También se ha observado que, en España, las señales que se montan en un mismo poste suelen estar tan próximas que normalmente se tocan. Cuando se segmenta el color rojo en estos casos, las dos señales próximas pertenecerán a una única región, porque el color rojo conectará ambas señales. Esto no puede ocurrir por ejemplo con las señales portuguesas, ya que el borde de la señal tiene un anillo externo de color blanco, como se puede observar en la Figura 59. En cualquier caso, debido a este efecto, se han entrenado cuatro formas compuestas aparte de las básicas.

Figura 59: Comparación de las señales españolas y portuguesas. A la izquierda dos señales españolas montadas en el mismo poste.

Ceda

Prohibición

Peligro

PeligroProhibición

ProhibiciónProhibición

ProhibiciónPeligro

Peligro-Peligro

Figura 60: Prototipos base de las formas a reconocer.

La Figura 60 muestra los prototipos en vista frontal que se han empleado para generar de forma artificial una batería de prototipos mayor mediante rotaciones y homografías para simular la perspectiva. Con este procedimiento se consigue un total de 54 prototipos por clase. En la Figura 61 pueden observarse algunos ejemplos de prototipos transformados mediante operaciones de rotación y cambio de perspectiva (homografías). Además se ha entrenado una clase específica de rechazo con el objetivo de mejorar el porcentaje de acierto del clasificador, ya que éste asigna siempre a alguna de las clases disponibles. La clase de rechazo consta de 81 prototipos también artificiales (ver Figura 62).

61

Procesamiento de imagen

Figura 61: Ejemplos de prototipos generados artificialmente para el entrenamiento del clasificador de tipo de señal (según la forma).

Figura 62: Ejemplos de prototipos de la clase de rechazo.

El clasificador consiste en una red neuronal (MLP) con una capa oculta compuesta por 50 neuronas. Las características de entrada al clasificador son: •

La región binaria asociada al color rojo escalada a un tamaño de 30 pixeles de alto por 15 pixeles de ancho (una característica por píxel, 450 características en total). La región candidata se escala al tamaño especificado utilizando la interpolación de mayor calidad de entre las disponibles, para evitar que aparezcan demasiados ‘dientes de sierra’.



El porcentaje de ocupación (del objeto frente al fondo) en un grid de 3 x 3 celdas ajustado a la región candidata (9 características).



La relación de aspecto de la región candidata (una característica).

Estas características se agrupan para formar el vector de características de entrada al clasificador, el cual será previamente normalizado (preprocesamiento).

62

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

5.5 Clasificación del contenido de las señales de prohibición En este caso se trata de reconocer los dígitos del cero al nueve y el icono que representa un vehículo en las señales de prohibición de adelantamiento. La tipografía de las señales de tráfico españolas es una modificación de la fuente denominada ‘Transport’. Esta tipografía es un tipo de letra sans serif diseñada para las señales de tráfico en el Reino Unido (ver Figura 63). Fue creado entre 1957 y 1963 por Jock Kinneir y Calvert Margaret para mejorar la legibilidad. Aunque se desarrolló en Reino Unido, se usa en muchos países del mundo, como por ejemplo Hong Kong, Islandia, Irlanda, Italia, Grecia y Portugal.

Figura 63: Tipografía Transport.

Existen dos variantes de la fuente ‘Transport’: normal y negrita (‘Heavy’). Se ha entrenado un OCR (reconocedor óptico de caracteres) específico para reconocer esta tipografía junto con el icono ‘vehículo’.

Figura 64: Prototipos ‘base’ utilizados para generar la batería de prototipos.

Aquí también se ha optado por generar prototipos artificialmente a partir de los prototipos ‘base’ (Figura 64), mediante transformaciones de rotación y perspectiva. 63

Procesamiento de imagen Con estas transformaciones se obtienen 42 prototipos para cada clase del cero al nueve (dígitos) y 21 para la clase ‘vehículo’. Después se escalan a cuatro tamaños distintos, de manera que la batería completa consiste en 168 prototipos para cada clase del cero al nueve y 84 prototipos para la clase ‘vehículo’. Los prototipos ‘base’ tienen un tamaño aproximado de 100 x 100 pixeles (el tamaño varía dependiendo de la relación de aspecto del carácter), y se escalan al 50%, 25% y 15%. La Figura 65 muestra algunos de estos prototipos.

Figura 65: Ejemplos de prototipos generados artificialmente para el entrenamiento de los dígitos e iconos que se pueden encontrar en las señales de prohibición.

Igual que para el clasificador de forma, se ha entrenado una clase especifica de rechazo con 56 prototipos artificiales, algunos de los cuales se muestran en la Figura 66.

Figura 66: Ejemplos de prototipos de la clase de rechazo.

El clasificador consiste en una red neuronal (MLP) con una capa oculta compuesta por 20 neuronas. La región candidata se escala a un tamaño de 15 pixeles de altura y 15 de anchura, interpolando con la mayor calidad (interpolación bilineal con filtro gaussiano), para prevenir el efecto de ‘aliasing’. Las características de entrada al clasificador son: • •

La relación de aspecto de la región candidata. Los niveles de gris de los pixeles del carácter después de escalarlos al máximo.

Estas características se agrupan para formar el vector de características de entrada al clasificador, el cual será previamente normalizado (preprocesamiento).

64

Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción

5.6 Clasificación del contenido de las señales de peligro El objetivo es reconocer los 26 iconos o símbolos de las señales de peligro de la Figura 3. El clasificador consiste en una red neuronal (MLP) con una capa oculta compuesta por 60 neuronas. La región candidata se escala a un tamaño de 20 pixeles de altura y 20 de anchura, interpolando con la mayor calidad (interpolación bilineal con filtro gaussiano), para prevenir el efecto de ‘aliasing’. Las características de entrada al clasificador son: •

La región binaria asociada la región candidata (una característica por pixel, 400 características).



El porcentaje de ocupación (del objeto frente al fondo) en un grid de 3 x 3 celdas ajustado a la región candidata (9 características).



La relación de aspecto de la región candidata (una característica).

Estas características se agrupan para formar el vector de características de entrada al clasificador, el cual será previamente normalizado (preprocesamiento). Como en el caso del clasificador de señales de prohibición, se generan prototipos artificiales mediante transformaciones de rotación, de perspectiva y de escala a partir de prototipos ‘base’, y se entrena una clase específica de rechazo. En este caso la batería consiste en 84 prototipos para cada una de las 26 clases de iconos y 55 prototipos para la clase de rechazo. Los prototipos ‘base’ tienen un tamaño máximo de alrededor de 300 x 220 pixeles, y se escalan al 50%, 25% y 15%. Las figuras Figura 67 y Figura 68 muestran ejemplos de estos prototipos.

Figura 67: Ejemplos de prototipos generados artificialmente para el entrenamiento del clasificador de iconos de las señales de peligro.

Figura 68: Ejemplos de prototipos de la clase de rechazo.

65

Procesamiento de imagen

66

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.