Tema 8. Detección de líneas y esquinas

Documentos relacionados
Análisis de imágenes digitales

La Transformada de Hough. Detección de Líneas y Círculos. Presentado por: Tania Martínez

Técnicas de inteligencia artificial. Visión Artificial Extracción de características

Procesamiento Global empleando la Transformada de Hough

IMPLEMENTACIÓN DE LA TRANSFORMADA DE HOUGH PARA LA DETECCIÓN DE LÍNEAS PARA UN SISTEMA DE VISIÓN DE BAJO NIVEL

Índice 1. Introducción Imagen digital. Formación imagen Histograma de una imagen digital 2. Transformaciones puntuales. Introducción.

Tema 2: PROCESAMIENTO EN EL DOMINIO ESPACIAL (Parte 2)

[20380] Visió per Computador Prueba 2 (2013) Teoria (10p) (una pregunta test fallada descuenta 1/4 de pregunta acertada)

PRÁCTICA FUNCIONES CURSO Práctica 5 (4- XI-2015)

Extracción de Bordes

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 18

Algoritmo rápido de la transformada de Hough para detección de líneas rectas en una imagen

1 Curvas planas. Solución de los ejercicios propuestos.

Ejercicios Resueltos de Cálculo III.

Análisis de imágenes digitales

ACTIVIDADES GA ACTIVIDAD

Ejercicios propuestos para el cálculo de áreas

Visión. Sesión 4: Búsqueda y tracking de modelos 2D en imágenes. Departamento CCIA

Contenido Capítulo 1 Introducción Capítulo 2 Conceptos Básicos Capítulo 3 Procesamiento de Imágenes en el Dominio Espacial

REDUCCIÓN DEL RUIDO EN UNA IMAGEN DIGITAL

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta

Matemáticas IV. Ing. Domingo Ornelas Pérez

Procesamiento de imágenes para la etapa de Segmentación en Sistemas de Reconocimiento Biométrico del Iris

PAU Madrid. Matemáticas II. Año Examen de septiembre. Opción A. Ejercicio 1. Valor: 2 puntos.

TEMAS 6 Y 7 GEOMETRÍA EN EL ESPACIO

Profesor: Javier Ruiz del Solar 6

Tema 4. Reducción del ruido


Matemática II Tema 14: valores extremos

Números Complejos. Contenido. Definición

Tema 3. Transformaciones de imágenes

Soluciones de los ejercicios del examen de Análisis Matemático Primer curso de Ingeniería Informática - Febrero de 2005

Facultad de Ingeniería Facultad de Tecnología Informática. Matemática Números reales Elementos de geometría analítica. Profesora: Silvia Mamone

Visión de Alto Nivel

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO PLANTEL IGNACIO RAMÍREZ CALZADA DE LA ESCUELA PREPARATORIA PROBLEMARIO GEOMETRÍA ANALÍTICA

Análisis Bioseñales I

Cambio de coordenadas

PROCESAMIENTO DE IMÁGENES APLICADOS A LA EDUCACIÓN

Un algoritmo rápido de la transformada de Hough para la detección de líneas rectas en una imagen

Problemas de Selectividad de Matemáticas II Comunidad de Madrid (Resueltos) Isaac Musat Hervás

Análisis de imágenes digitales

Introducción Aplicaciones Primer Algoritmo Segundo Algoritmo - Algoritmo de Fortune. Diagrama de Voronoi. Jose Luis Bravo Trinidad 1 / 29

Prácticas de Introducción a los Computadores Curso Hoja Gráficos: Hoja Regresión: ESPESOR 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 ESPESOR COSTES fij

Tema 5: SEGMENTACIÓN (II) I N G E N I E R Í A I N F O R M Á T I C A

UNIVERSIDAD POLITÉCNICA DE MADRID

Subspacios Vectoriales

5 = z. 2. Hallar el valor de m para que los puntos A(3,m,1), B(1,1,-1) y C(-2,10,-4) pertenezcan a la misma recta.

Introducción Algoritmos de detección de esquinas SIFT

GEOMETRÍA. (x 1) 2 +(y 2) 2 =1. Razónalo. x y + z = 2. :3x 3z +1= 0 es doble de la distancia al plano π 2. : x + y 1= 0. Razónalo.

Visión artificial y Robótica Geometría. Depto. de Ciencia de la Computación e Inteligencia Artificial

INSTITUTO DE FORMACIÓN DOCENTE DE CANELONES - MATEMÁTICA I - AÑO 2012 TRIÁNGULOS

LA RECTA Y SUS ECUACIONES

x-z = 0 x+y+2 = [2012] [EXT-B] Halla el punto simétrico del P(2,1,-5) respecto de la recta r definida por

Espacios Vectoriales

Tratamiento de Voz e Imágenes Tema 2 EJERCICIOS:

8 PROCESAMIENTO DIGITAL DE IMÁGENES USANDO MATLAB & SIMULINK RA-MA

El Cálculo en el Procesamiento de Imágenes

Imágenes binarias. Horn, Robot Vision Haralick & Shapiro, Computer and Robot Vision Gonzalez & Woods, Digital Image Processing. imagenes binarias 1

HOMOLOGÍA Y AFINIDAD 1. HOMOLOGÍA

Ejercicios tipo final

VECTORES : Las Cantidades Vectoriales cantidades escalares

ALGEBRA. Escuela Politécnica Superior de Málaga

Herramientas digitales de auto-aprendizaje para Matemáticas

Apuntes de dibujo de curvas

Optimización lineal. Diego A. Patino. 2 de septiembre de Pontificia Universidad Javeriana 1/ 29

Geometría del plano y el espacio

Detección de bordes en una imagen.

1. Representación del conjunto de Mandelbrot

Vectores. b) Hallar la magnitud de cada uno de los vectores P Q, QRy P R. c) Encontrar el vector fijo equivalente a QP.

Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Producto Escalar. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Producto Escalar 1 / 31

INECUACIONES Y VALOR ABSOLUTO

x-z = 0 x+y+2 = [2012] [SEP-B] Halla el punto simétrico del P(2,1,-5) respecto de la recta r definida por

2.2 Rectas en el plano

Plano tangente a una superficie y a una superficie de nivel, derivada direccional y regla de la cadena

Algunos objetivos de la signatura 2. Sean x 1,x 2,...,x n números reales distintos y sean y 1,y 2,...,y n números reales.

Visión Artificial Unidad de Competencia I Introducción a la Visión Artificial

B5 Lugares geométricos

EJERCICIOS DE GEOMETRÍA PLANA. 1. Hallar las ecuaciones paramétricas de la recta r que pasa por el punto ( 2, 2) tiene como vector director el vector

ESPACIOS VECTORIALES

CIRCUNFERENCIA INTRODUCCION

Visión por computadora Computer vision

1. Obtener las coordenadas cartesianas del punto B simétrico del punto A(5,30 ), respecto al polo.

Introducción a Matlab. Ing. Laura López López

Aplicaciones de realidad aumentada en un ipad

Departamento de Matemática Aplicada II. Universidad de Sevilla. Solución de la Primera Prueba Alternativa ( )

y v 0, 0, 1 y v 1, 0, 1 se tiene la ecuación

EJERCICIOS DE ÁLGEBRA LINEAL TEMA 1 ESPACIOS VECTORIALES

Lección 1: Umbralización. 2. Umbralización utilizando el histograma

Técnicas recientes de procesado geométrico de imágenes y de secuencias de vídeo. Philippe Salembier


COREL PHOTO PAINT. Las siguientes tablas proporcionan descripciones de las herramientas y del área de control de color.

ESTIMACIÓN N DE LA DISTANCIA RECORRIDA POR UN ROBOT MÓVIL M MEDIANTE LA UTILIZACIÓN N DE DESCRIPTORES SURF

EJERCICIOS DE GEOMETRÍA

Circunferencias. d) A( 1, 5) y d = X = (x, y) punto genérico del lugar geométrico. b) dist (X, A) = d

Las curvas cónicas son las secciones producidas por un plano secante sobre una superficie cónica de revolución. (Fig. 31)

IES Fco Ayala de Granada Modelo 5 del Solución Germán-Jesús Rubio Luna. Opción A. Ejercicio 1 de la opción A del modelo 5 de 1999.

Parametrización de curvas Integrales de linea. h"p://

Técnicas Clásicas de Segmentación de Imagen

Estéreo estático. Derivadas segundas obtenidas en direcciones distintas sobre el mismo borde

Transcripción:

Tema 8. Detección de líneas y esquinas 4730 Visión Industrial Ingeniería Técnica Industrial especialidad en Electrónica Industrial Universitat de les Illes Balears Departament de Ciències Matemàtiques i Informàtica Alberto ORTIZ RODRÍGUEZ Alberto Ortiz / EPS (última revisión 18/12/2007) 1 Indice Introducción Detección de segmentos rectos mediante códigos de cadena Transformada de Hough Detección de esquinas Alberto Ortiz / EPS (última revisión 18/12/2007) 2 1

Introducción Detección de objetos rectilíneos / segmentos rectos: Detección de las líneas de una carretera en una aplicación de navegación visual autónoma Alberto Ortiz / EPS (última revisión 18/12/2007) 3 Introducción Detección de objetos rectilíneos / segmentos rectos: Reconstrucción de un diseño hecho a mano Otras aplicaciones Alberto Ortiz / EPS (última revisión 18/12/2007) 4 2

Introducción Aparte, líneas y esquinas son elementos importantes de muchos objetos, sobre todo en objetos artificiales y principalmente de su contorno reconocimiento de objetos Alberto Ortiz / EPS (última revisión 18/12/2007) 5 Aplicaciones en robótica: Introducción Alberto Ortiz / EPS (última revisión 18/12/2007) 6 3

Introducción Además, los contornos de los objetos naturales pueden ser poligonalizados esquinas y líneas Alberto Ortiz / EPS (última revisión 18/12/2007) 7 Introducción En visión, se utiliza la categoría image features (características de la imagen) para hacer referencia a píxeles o grupos de píxeles que verifican cierta propiedad y que suelen servir de referencia para realizar tareas visuales de más alto nivel [Introductory techniques for 3D computer vision Trucco, Verri] features = {bordes, esquinas, líneas, circunferencias, elipses, texturas, etc } Partimos de los bordes de la imagen Alberto Ortiz / EPS (última revisión 18/12/2007) 8 4

Indice Introducción Detección de segmentos rectos mediante códigos de cadena Transformada de Hough Detección de esquinas Alberto Ortiz / EPS (última revisión 18/12/2007) 9 Detección de segmentos rectos mediante códigos de cadena Dado un conjunto de píxeles de borde adyacentes, se analiza cada pareja de 2 píxeles adyacentes y se codifica dicha pareja de acuerdo con su orientación: 3 2 1 4 0 6 4 5 4 6 7 7 5 6 7 Alberto Ortiz / EPS (última revisión 18/12/2007) 10 5

Detección de segmentos rectos mediante códigos de cadena Una vez obtenida la codificación, se crea un histograma de orientaciones: 9 8 7 6 5 4 3 2 6 4 5 4 6 7 7 1 0 0 1 2 3 4 5 6 7 Alberto Ortiz / EPS (última revisión 18/12/2007) 11 Detección de segmentos rectos mediante códigos de cadena Otro ejemplo: 10 8 6 4 2 20 img = imread( Fig_0.gif'); bordes = edge(img,'sobel',[],'vertical'); L = bwlabel(bordes); figure; imshow(img); figure; imshow(bordes); figure; imagesc(l); colorbar; Etiqueta 9 15 10 5 0 Alberto Ortiz / EPS (última revisión 18/12/2007) 0 1 2 3 4 5 6 7 12 6

Detección de segmentos rectos mediante códigos de cadena Código MATLAB: of = [+0 +1; -1 +1; -1 +0; -1-1; +0-1; +1-1; +1 +0; +1 +1]; [v,h] = size(img); H = zeros(1,8); for j = 1:v for i = 1:h if L(j,i) == 9 for k = 1:8 jj = j + of(k,1); ii = i + of(k,2); if L(jj,ii) == 9, H(k) = H(k)+1; end end L(j,i) == 0; end end end figure; bar(0:7,h); axis([-0.5 7.5 0 20]); grid on; set(gca,'fontsize',20); title('etiqueta 9'); Alberto Ortiz / EPS (última revisión 18/12/2007) 13 Detección de segmentos rectos mediante códigos de cadena Las direcciones 0, 1, 2 y 3 son las mismas que, respectivamente, las direcciones 4, 5, 6 y 7 20 Etiqueta 9 40 Etiqueta 9 15 30 10 5 20 10 0 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 H2 = H; H2(1:4) = H2(1:4) + H2(5:8); H2(5:8) = [0 0 0 0]; Alberto Ortiz / EPS (última revisión 18/12/2007) 14 7

Detección de segmentos rectos mediante códigos de cadena A partir del histograma, según el número de barras N: SI N = 1 ENTONCES la línea es recta SI N = 2 ENTONCES SI las barras son adyacentes ENTONCES SI la barra menor es inferior a T ENTONCES la línea es recta SINO la línea no es recta (*) SINO la línea no es recta (*) SI N = 3 ENTONCES SI las barras son adyacentes Y la barra central es la más larga Y las otras barras son inferiores a T ENTONCES la línea es recta SINO la línea no es recta (*) SI N = 4 ENTONCES la línea no es recta (*) (*) hay dos orientaciones que difieren al menos en 90º Alberto Ortiz / EPS (última revisión 18/12/2007) 15 Detección de segmentos rectos mediante códigos de cadena Ejemplo anterior: 40 Etiqueta 9 30 20 10 0 0 1 2 3 4 5 6 7 (1) N = 2 (2) barras adyacentes (3) T 10 la línea es recta T < 10 la línea no es recta Alberto Ortiz / EPS (última revisión 18/12/2007) 16 8

Indice Introducción Detección de segmentos rectos mediante códigos de cadena Transformada de Hough Detección de esquinas Alberto Ortiz / EPS (última revisión 18/12/2007) 17 Transformada de Hough La Transformada de Hough (HT) fue propuesta por Paul Hough en 1962 y patentada por IBM. Ha resultado ser una herramienta estándar en visión por computador para la detección de líneas rectas, círculos y elipses. La HT es particularmente robusta a datos incompletos y contaminados. Sirve para detectar cualquier número de líneas (u otros objetos geométricos que admitan descripciones paramétricas, p.e. {(x,y) y = ax+b, a, b R} [recta] o {(x,y) (x-x 0 ) 2 + (y-y 0 ) 2 = r 2, x 0,y 0,r R} [circunferencia]). Alberto Ortiz / EPS (última revisión 18/12/2007) 18 9

Transformada de Hough Consideramos la detección de líneas. La imagen siguiente es una representación idealizada de un conjunto de píxeles identificados como bordes. Se trata de identificar de forma automática los segmentos rectos contenidos en la imagen. Alberto Ortiz / EPS (última revisión 18/12/2007) 19 Transformada de Hough Una línea es un objeto geométrico que puede ser descrito por la siguiente ecuación: {(x,y) y=ax+b,a,b R}(slope-interceptform) Se trata de encontrar parejas (a,b) correspondientes a las líneas que contienen los segmentos rectos de la imagen. La HT parte de la siguiente variación de la ecuación anterior: y=ax+b b= ax+y Alberto Ortiz / EPS (última revisión 18/12/2007) 20 10

Transformada de Hough Ahora, para un cierto píxel de borde (x i,y i ), consideramos todos los valores que puede tomar el parámetro a y calculamos el valor del correspondiente parámetro b : p.e. (x,y) = (3,4): a = -10:0.01:10, b = -a*x + y = -a*3 + 4 Alberto Ortiz / EPS (última revisión 18/12/2007) 21 Transformada de Hough Ahora, para un cierto píxel de borde (x i,y i ), consideramos todos los valores que puede tomar el parámetro a y calculamos el valor del correspondiente parámetro b : (x,y) = (3,4): a = -10:0.01:10, b = -a*x + y = -a*3 + 4 Un píxel de borde genera, en el espacio de parámetros, una línea recta formada por las parejas (a,b) encontradas. Cada una de las parejas (a,b) corresponde a una de las rectas a las que podría pertenecer el punto (x,y) considerado.... Alberto Ortiz / EPS (última revisión 18/12/2007) 22 11

Transformada de Hough Qué ocurre si consideramos todos los píxels de borde? (x i,y i ): a = -10:0.01:10, b = -a*x i + y i Alberto Ortiz / EPS (última revisión 18/12/2007) 23 Transformada de Hough Qué ocurre si consideramos todos los píxels de borde? (x i,y i ): a = -10:0.01:10, b = -a*x i + y i (ZOOM sobre la intersección) Alberto Ortiz / EPS (última revisión 18/12/2007) 24 12

Transformada de Hough Cada punto (x i,y i ) ha generado una recta que contiene los parámetros (a,b) de todas las rectas a las cuales podría pertenecer. La intersección (a,b) = (1,1) corresponde a los parámetros de la recta a la que pertenecen todos los puntos de borde!! Por tanto, una forma automática de detectar líneas en una imagen es hacer que cada píxel de borde vote por las líneas a las que pertenecería. La pareja de parámetros (a,b) más votada sería la línea recta a seleccionar. En el ejemplo anterior, la pareja (a,b) = (1,1) habría recibido 5 votos y el resto sólo 1 voto. Alberto Ortiz / EPS (última revisión 18/12/2007) 25 Transformada de Hough Algoritmo: 1. Discretizar el espacio de parámetros en un conjunto de celdas (a k,b k ) a k a 0 : a:a n, b k b 0 : b:b m 2. Definir una matriz H sxt con una celda por cada combinación posible a k (filas) y b k (columnas) [s = (a n -a 0 )/ a + 1, t = (b m -b 0 )/ b + 1 ] 3. H( :, : ) 0 4. para cada píxel de borde (x i,y i ) 41. para a k = a 0 : a:a n 411. b = -a k x i + y i 412. Determinar el b k más próximo a b 413. u = (a k -a 0 )/ a + 1, v = (b k -b 0 )/ b + 1 414. H(u,v) = H(u,v) + 1 42. fpara 5. fpara Alberto Ortiz / EPS (última revisión 18/12/2007) 26 13

Transformada de Hough Al final de la ejecución de este algoritmo, qué habrá en la matriz H? Habrá una celda que habrá acumulado más votos que las otras, cuyos parámetros corresponderán a la línea buscada Alberto Ortiz / EPS (última revisión 18/12/2007) 27 Transformada de Hough Al final de la ejecución de este algoritmo, qué habrá en la matriz H? Habrá una celda que habrá acumulado más votos que las otras, cuyos parámetros corresponderán a la línea buscada (ZOOM sobre la intersección) Alberto Ortiz / EPS (última revisión 18/12/2007) 28 14

Transformada de Hough PROBLEMA: a (-, + ) SOLUCIÓN: utilizar la forma normal de una recta ρ=xcosθ+ysinθ α ORIGEN: dado un punto P = (x,y) sobre la recta: n P = (cosθ,sinθ) (x,y)=xcosθ+ysinθ = n P cosα=ρ Alberto Ortiz / EPS (última revisión 18/12/2007) 29 Transformada de Hough Ahora los parámetros de la recta son (ρ,θ). Diferencias: Ambos parámetros están acotados: ρ [-D,D] (D = diag(h,v)) θ [0,2π] Un píxel de borde no genera una recta de parejas (ρ,θ), sino una curva más compleja. No obstante, se aplica el mismo algoritmo que hemos visto. Alberto Ortiz / EPS (última revisión 18/12/2007) 30 15

Transformada de Hough Para todos los píxeles de borde: El mismo conjunto de puntos da lugar a dos intersecciones que se corresponden con las rectas (ρ,θ) y ( ρ, θ+π). Si volvemos a la ecuación normal de una recta tenemos: n P =(cos(θ),sin(θ)) P =ρ n (+π) P =(cos(θ+π),sin(θ+π)) P =( cos(θ), sin(θ))= ρ La segunda intersección se elimina haciendo θ [ π/2,π/2] (de hecho el resto de ángulos generan rectas fuera de la imagen) Alberto Ortiz / EPS (última revisión 18/12/2007) 31 Transformada de Hough Qué ocurre cuando hay varias rectas en la imagen? Cada pico del acumulador de Hough se corresponde con una de las rectas que acumula más votos. Alberto Ortiz / EPS (última revisión 18/12/2007) 32 16

Transformada de Hough Comentarios finales: Para encontrar los picos del acumulador de Hough: buscar el pico más alto y poner a 0 las celdas circundantes repetir el proceso para el resto de líneas que se deseen encontrar (N) Los parámetros del algoritmo son: ρ θ N (o bien un umbral que indica el número mínimo de píxeles de borde que se han de acumular para considerar una recta relevante) Alberto Ortiz / EPS (última revisión 18/12/2007) 33 Indice Introducción Detección de segmentos rectos mediante códigos de cadena Transformada de Hough Detección de esquinas Alberto Ortiz / EPS (última revisión 18/12/2007) 34 17

Detección de esquinas Se considera que un píxel es una esquina cuando: la derivada de la dirección del gradiente supera un umbral en ese punto, y la magnitud del gradiente en ese punto también supera un umbral Se han propuesto muchos detectores de esquinas. Veremos unos cuantos. Alberto Ortiz / EPS (última revisión 18/12/2007) 35 Detección de esquinas Detector de Kitchen y Rosenfeld (1982): KR= I xxi 2 y +I yyi 2 x 2I xyi x I y I 2 x +I2 y Cuanto mayor es la magnitud de KR, más caracter de esquina se le asocia al píxel. Indicaciones: para obtener las segundas derivadas se convoluciona la imagen derivada con las máscaras ya vistas en el tema de detección de bordes aplicar supresión de no máximos para evitar respuestas múltiples alrededor de la misma esquina para evitar la introducción de un umbral, seleccionar los N píxeles con más carácter de esquina Alberto Ortiz / EPS (última revisión 18/12/2007) 36 18

Detección de esquinas Detector de Nagel-Lipschutz (1969): L= I xxi yy I 2 xy (1+I 2 x +I2 y )2 Cambia de signo a ambos lados de la esquina Indicación: para obtener las segundas derivadas se convoluciona la imagen derivada con las máscaras ya vistas en el tema de detección de bordes (cuanto mayor es la máscara, mayor deslocalización se produce) para evitar la introducción de un umbral, seleccionar los N píxeles con más carácter de esquina Alberto Ortiz / EPS (última revisión 18/12/2007) 37 Detección de esquinas Detector de Harris-Plessey (Harris, 1987; Noble, 1988): H= I 2 x + I2 y I 2 x I2 y I xi y 2 Cuanto menor es H, más caracter de esquina se le concede al píxel Este detector sólo emplea derivadas de primer orden significa convolución con un filtro gaussiano con una cierta σ Indicación: aplicar supresión de no máximos para evitar respuestas múltiples alrededor de la misma esquina para evitar la introducción de un umbral, seleccionar los N píxeles con más carácter de esquina Alberto Ortiz / EPS (última revisión 18/12/2007) 38 19

Detección de esquinas KR Harris Alberto Ortiz / EPS (última revisión 18/12/2007) 39 Detección de esquinas Lipschutz Alberto Ortiz / EPS (última revisión 18/12/2007) 40 20

Detección de esquinas KR Harris Alberto Ortiz / EPS (última revisión 18/12/2007) 41 Detección de esquinas KR Harris Alberto Ortiz / EPS (última revisión 18/12/2007) 42 21

Detección de esquinas KR Harris Alberto Ortiz / EPS (última revisión 18/12/2007) 43 Detección de esquinas KR Harris Alberto Ortiz / EPS (última revisión 18/12/2007) 44 22