Extracción de esquinas de triángulos

Embed Size (px)

Citation preview

  • 7/23/2019 Extraccin de esquinas de tringulos

    1/6

    Tarea 2

    Reconocimiento de triangulos

    Heriberto Cruz Hernandez

    2 de octubre de 2015

    1. Descripcion

    Utilizando las imagenes binarizadas de la tarea 1 se llevaron a cabo las siguientes actividades.

    1. Se extrajeron los objetos presentes en la imagen.2. Para cada objeto extraido:

    a) Se les calculo su area y los 7 momento invariantes de Hu [1].

    3. Utilizando una imagen con triangulos y objetos que no lo eran (ruido). Se preparo un clasificador de mnimadistancia euclidiana para reconocer triangulos.

    4. Se aplico el clasificador a distintas imagenes. Para cada triangulo detectado se realizo:

    a) Se busco la caja envolvente del triangulo.

    b) Se obtuvo el permetro del triangulo mediante la operacion morfologica de erosion.

    c) Se identificaron los vertices del triangulo.

    d) Se ordenaron los vertices encontrados de acuerdo a la prueba del area con signo.

    e) Se calcularon los angulos y se identifico al angulo recto.

    En las siguientes subsecciones se describe a mayor detalle la manera en como se resolvio cada paso mencionado.Cada una de las actividades realizadas se describen de manera m as amplia en las siguientes secciones.

    2. Extraccion de objetos

    Utilizando las imagenes binarizadas obtenidas en la tarea 1 (Vease figura2) se aplico el programa extract objecten SCIMAGEN. Dicho programa implementa las funciones ligar y rellenar. Si definimos a un tramo como alconjunto de puntos pertenecientes a un objeto que se encuentran en una misma linea. La funci on ligarencuentra

    todos los tramos que se encuentran en las filas superiores e inferiores de un tramo especificado. La funci on retorna

    1

  • 7/23/2019 Extraccin de esquinas de tringulos

    2/6

    el tramo mas a la izquierda y superior, as como el tramo mas a la derecha y abajo. Los tramos adicionales soncolocados en una pila que llega a almacenar todos los tramos que conforman a un objeto. La funcionrellenarhaceuso de la pila generada con la funcion ligar y permite recorrer los tramos para procesarlos. inicia con una direcci on(arriba o abajo) y aprovecha la pila para poder rellenar los tramos intercalando la direccion aun cuando el objetoa rellenar no tenga una cubierta convexa. Del resultado de la extraccion se obtienen los objetos por separado ypueden ser analizados o procesados de manera independiente.

    Figura 1: Ejemplo de imagen de entrada (Resultado del proceso de binarizacion).

    Figura 2: Ejemplo del resultado de la extraccion de objetos.

    2

  • 7/23/2019 Extraccin de esquinas de tringulos

    3/6

    3. Calculo de caractersticas

    Para poder llevar a cabo el reconocimiento de objetos mediante un clasificador se requiere definir las carac-tersticas a utilizar para poder discriminar a objetos de distintas clases. Las caractersticas usadas en este trabajofueron el area del objeto en pxeles y los momentos invariantes de Hu.

    Los momentos invariantes son aspectos que no cambian con las transformaciones de rotaci on y traslacion. Sedefinen como:

    1 = 20+022 = (20+02)

    2

    2 = (20+02)2

    + 42113 = (30+ 312)

    2+ (321 03)

    2

    4 = (30+12)2

    + (21 03)2

    5 = (30+ 312) (30+12) +

    (30 12) 3 (21 03)2

    + (321 03) (21+03)

    3 (30+12)2 (21+03)

    2

    6 = (20+02)

    (30+12)2 (21 03)

    2

    +411(30+12) (21+03)7 = (321+03) (3012)

    + (312 30) (21+03)

    3 (30+12)2 (21+03)

    2

    , (1)

    donde los elementos pq = pqr00

    son conocidos como los momentos centrales que son una version centrada de los

    denominados simplemente momentosy que se definen como:

    pq =

    [u,v]I

    upvqI[u, v] (2)

    donde Icorresponde a la imagen o region y p+q corresponde al orden del momento.La seleccion de dichas caractersticas es intentar hacer robusto la deteccion de triangulos y en el caso del area,

    se busco aprovechar el hecho de que los elementos que no son tri angulos regularmente suelen ser lneas u objetospequenos.

    4. Entrenamiento del clasificador

    Utilizando los elementos extraidos de la figura2calcularon los vectores prototipo como la media de los vectoresde caractersticas de los elementos que son triangulos y la media de los vectores de caractersticas que no lo son.Se utilizaron diez ejemplos de triangulos y diez ejemplos de objetos que no lo eran para calcular los vectoresprototipos. Los vectores prototipos obtenidos son

    votros= [7,0900e+01, 2,2388e01, 1,6340e01, 6,0400e03, 4,4220e03, 1,7100e04, 4,1859e031,2640e04]T,

    vtriangulos = [1,0877e+03, 4,0356e01, 1,3447e01, 2,5915e02, 1,6413e02, 5,1620e04, 6,9908e03,3,3250e04]T,

    3

  • 7/23/2019 Extraccin de esquinas de tringulos

    4/6

    donde el primer elemento de cada vector corresponde al area del objeto y los elementos restantes son los momentosinvariantes de Hu.

    El clasificador implementado fue el clasificador de mnima distancia euclidiana, el cual es una version sim-plificada el clasificador bayesiano optimo [2] asumiendo funciones de densidad de probabilidad con matriz decovarianza diagonal y con elementos iguales para todas las clases.

    En el clasificador de mnima distancia, dado un patron p, se asignara la clase del vector prototipo cuya distanciaeuclidiana menor.

    5. Busqueda de los vertices

    Para poder identificar los vertices de un triangulo se hizo uso de varios elementos. Primero se calcul o la cajaenvolvente.

    Dicho elemento corresponde al rectangulo de menor tamano que puede contener al objeto en cuestion. Dichacaja se obtiene buscando las menores coordenadas x y y en los pxeles que conforman al objeto; as como losmaximos. Dichos valores son denominados como pmin= [pmin.x,pmin.y]

    T y pmax= [pmax.x, pmax.y]T.

    Posteriormente se obtuvo el permetro del objeto, esta operacion permite obtener los pxeles que forman enla frontera del objeto y se obtuvieron por medio de la funcion de erosion la cual permite eliminar los pxeles delpermetro. Obteniendo la diferencia entre el objeto original y su version erosionada se obtienen los elementos queforman por la erosion.

    Para identificar los vertices, se recorrieron los puntos pertenecientes al permetro y se identificaron dos de ellosque se encontraran sobre las lneas que conforman la caja envolvente. Este procedimiento permitio encontrar dosde los vertices. El restante se obtuvo mediante el calculo del area con signo como se describe a continuacion:

    Dados los vertices v1, v2 y un punto prueba psobre el permetro. Se busco el punto pque maximizaba el areaformada por los v1, v2 y p. Esto se logro mediante el producto cruz de los vectores u= v2v1y v= pv1. Elproducto cruz permite obtener el doble del area del triangulo; as el pxel sobre el permetro que permite obtenerun area maxima en conjunto con dos de los vertices del triangulo corresponde al vertice restante.

    6. Identificacion del angulo recto

    Para identificar al angulo recto. Se considero el hecho de que en los modelos originales el angulo recto es elangulo de mayor apertura. Se tiene la hip otesis de que en las imagenes resultado de aplicar transformacionesproyectivas a los modelos originales, el angulo recto sigue siendo el de mayor apertura. Bajo esta hipotesis yhaciendo uso de los vertices localizados. Se calculo e l angulo entre vectores, uno para cada vertice. De estamanera, se eligio como angulo recto al angulo de mayor apertura en el objeto.

    7. Resultados

    Se aplico el programa implementado a las imagenes binarias de la figura ??.Los resultados obtenidos se muestran en la figura ??, donde en rojo se muestran los vertices detectados, en

    verde se muestra el vertice detectado como el correspondiente al angulo recto y en con lneas rojas se muestran

    las cajas envolventes de cada triangulo.

    4

  • 7/23/2019 Extraccin de esquinas de tringulos

    5/6

    8. Conclusiones

    Se logro identificar los triangulos de las imagenes de prueba, sus vertices y el angulo recto en la mayora delos casos. En algunos casos algunos triangulos no fueron detectados. Esto se puede deber a que los tri angulosson aparecen muy pequeos en las imagenes incluso mas pequenos que algunos objetos del fondo. Por otra parte

    algunos elementos que se sabe no son triangulos fueron detectados como si lo fueran. Esto no es un comportamientoanormal pues los objetos con los que ocurrio esto efectivamente parecen triangulos. Para mejorar los resultadosde la clasificacion se podra probar con otras caractersticas; sin embargo el desempeno actual es aceptable puesde 24 triangulos en total, se detectaron correctamente 21. El metodo usado para la deteccion de vertices basadoen el area es efectivo. De los triangulos detectados permitio obtener en todos los casos correctamente al tercervertice. En algunos casos los dos primeros pxeles no fueron detectados de manera exacta, esto se debe a quepor la discretizacion de los puntos en pxeles y por la busqueda sobre las caja envolvente, puede ocurrir que masde un punto este sobre dicha caja lo que provoca que se tenga una aproximacion al vertice. Dicho problema sepuede resolver calculando los vertices a nivel de subpixel mediante el ajuste de las aristas. Finalmente respecto a ladeteccion del angulo recto, la hipotesis de pensar que el angulo recto es aquel de mayor apertura, permitio obtenersolo un error para todos los triangulos detectados. Esto permite observar que la hipotesis no es valida debido alos efectos de la proyeccion; sin embargo permite obtener buenos resultados.

    5

  • 7/23/2019 Extraccin de esquinas de tringulos

    6/6

    9. Codigo

    Los programas, imagenes y codigo generado estan disponibles para su descarga en el siguiente link:

    http://computacion.cs.cinvestav.mx/~hcruz/RA/tarea2/Tarea2.tar.gz

    Referencias

    [1] Ming-Kuei Hu. Visual pattern recognition by moment invariants. Information Theory, IRE Transactions on,8(2):179187, 1962.

    [2] Copyright. In Sergios Theodoridis, Aggelos Pikrakis, Konstantinos Koutroumbas, and Dionisis Cavouras,editors, Introduction to Pattern Recognition, pages iv . Academic Press, Boston, 2010.

    6