La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Procesamiento Digital de Imágenes

Presentaciones similares


Presentación del tema: "Procesamiento Digital de Imágenes"— Transcripción de la presentación:

1 Procesamiento Digital de Imágenes
M.C. Juan Carlos Olivares Rojas Mayo, 2009

2 Agenda Introducción Transformaciones punto a punto.
Transformaciones de 2 imágenes. Operaciones de vecindad. Transformaciones lógicas y geométricas.

3 Agenda Detección de bordes.* Extracción de Regiones.*
Detección de Movimiento.* Detección de objetos 3D.*

4 Introducción El Procesamiento Digital de Imágenes es un área de la graficación por computadora muy importante. Los fundamentos del Procesamiento Digital de Imágenes están íntimamente relacionados con el tratamiento de señales, por lo que se les puede aplicar elementos como filtros, transformación, detección, extracción de elementos, entre otras cosas.

5 Procesamiento Digital de Imágenes
Mejorar la calidad de las imágenes para su posterior interpretación por una persona. Objetivo: Remover objetos Remover problemas por movimiento o desenfoque. Mejorar ciertas propiedades (color, contraste, brillo, etc.).

6 Visión Artificial Extraer características de la imagen para su descripción e interpretación por una computadora. Objetivos: Determinar la localización y tipo de objetos en la imagen. Construir una representación tridimensional de un objeto. Analizar un objeto para determinar sus características.

7 Aplicaciones Aplicación: Robótica móvil y vehículos autónomos.
Manufactura (localización, identificación y ensamblado de piezas). Interpretación de imágenes aéreas y de satélite. Análisis e interpretación de imágenes médicas. Interpretación de escritura, dibujos, planos. Análisis de imágenes microscópicas en química, física, biología. Monitoreo de objetos y personas (control y seguridad).

8 Aplicaciones Mediciones. Empaque. Robótica. Verificación de ensambles.
Inspección Industrial. Inspección de Papel y Madera. OCR

9 Empaque

10 OCR

11 Inspección de Alimentos

12 Procesamiento Adquisicion por línea o completa

13 Calidad de la Imagen Mala Buena

14 Iluminación La iluminación también juega un papel muy importante en el proceso de adquirir buenas imágenes aptas para procesamiento

15 Detección de Bordes

16 Segmentación

17 Segmentación

18 Proyectos de Visión Artificial

19 Proyectos de Visión Artificial
Experimento No. 8 MODULO DE LOCALIZACIÓN MODULO DE SEGUIMIENTO

20 Proyectos de Visión

21 Proyectos de Visión

22 Procesamiento de Visión Artificial
Base de Conocimientos Segmentación Representación y descripción Preprocesado Adquisición de la imagen Reconocimiento e interpretación

23 Introducción La adquisición de la imagen consiste en la obtención de una señal visual del mundo analógico al digital (cámara fotográfica, video, escáner, etc.). La limpieza consiste en eliminar aspectos como el ruido al aplicar filtros o bien mejorar la calidad de la imagen.

24 Introducción El proceso de segmentación consiste en dividir la imagen en sus partes principales. Presentación y Descripción: en base a la segmentación se describe cada parte. Interpretación y Reconocimiento: dado el descriptor de un objeto se compara con la descripción que se cuenta en la base de conocimientos y se realiza una acción.

25 Introducción Base de Conocimientos: es un repositorio donde se almacén la descripción de diversos objetos que serán útiles en el reconocimiento de patrones (formas visuales). 1 punto en 8 píxel Normal

26 Introducción 4 Niveles de Gris 256 Niveles de Gris

27 Introducción Valores del Ojo Ojo de Lena

28 Características de las Imágenes
Antes de entrar a los algoritmos y métodos de procesamiento digital de imágenes es conveniente ver las características de las imágenes. Histograma es una gráfica en el cual se cuenta la frecuencia de color, es útil para cambiar la intensidad de luz de una imagen respetado sus atributos característicos.

29 Histograma Histograma de Lena Normal Histograma de Lena Obscuro

30 Ruido Se considera ruido a toda aquella variación de la tonalidad de la imagen no debida a la luz recibida. Existen diversos tipos de ruidos: correlados (cuando depende de la posición del pixel), no correlados (cuando depende de la posición del pixel, se basan en distribuciones de probabilidad como la Gaussiana) y los ruidos aleatorios o de “sal y pimienta”.

31 Ruido Normal Ruido Gaussiano Ruido Correlado Ruido Aleatorio

32 Brillo Se define como brillo al nivel medio de gris de una imagen.

33 Contraste Es la variación de gris de un punto respecto al brillo de la imagen. Se puede definir de forma aproximada con bajo consumo de recursos computacionales como: La definición correcta es:

34 Contraste C1= 95.81% C2= 26.45% C1= 94.42% C2= 10.56%

35 Nitidez Es la respuesta de la imagen ante cambios bruscos de iluminación.

36 Nitidez La baja nitidez de una imagen puede estar motivada por:
Objetos fuera del rango de enfoque de la óptica. Deficiencias en el elemento sensor. Efectos de algoritmos de tratamiento de imágenes.

37 Nitidez Nitidez % Nitidez 9.777%

38 Diferencia Cuadrática de Dos Imágenes
La diferencia es útil cuando se desea calcular el grado de variación de una imagen obtenida con un algoritmo de procesamiento de imagen con respecto a la original. En donde Fr es la imagen base y f la imagen que se desea analizar.

39 Diferencia Cuadrática de Dos Imágenes
ECT=28.957, ECN=26.536%

40 Transformaciones Punto a Punto
Son las transformaciones más simple sobre una imagen o señal. Las imágenes se pueden representar como matrices de puntos, donde cada punto tiene asociado un modelo de color. Un ejemplo básico sería la multiplicación por un escalar.

41 Transformación Punto a Punto
Algunos ejemplos de transformaciones puntuales: Suma. Resta. Multiplicación. División. Máximo. Mínimo. Umbralización. Inversa.

42 Transformación Punto a Punto
Inversa Original

43 Adquisición de Imágenes
Una imagen no es otra cosa que una señal (función en el tiempo),la cual representa un conjunto de puntos en un plano cartesiano y en donde cada punto tiene asociado un valor de intensidad (color) de un rango válido. Para este curso se utilizará Java en su forma nativa (Clase PixelGrabber) así como algunas otras APIs como J2ME

44 PixelGrabber //Carga de una imagen import java.awt.*;
import java.awt.event.*; import java.awt.image.*; public class Carga extends Frame{ Image imagen, imagenNueva; int ancho, alto, insetArriba, insetIzqda;

45 PixelGrabber Public Carga(){ imagen = Toolkit.getDefaultToolkit().getImage("imagen_0 1.jpg"); MediaTracker tracker = new MediaTracker( this ); tracker.addImage( imagen,1 ); try { if( !tracker.waitForID( 1,10000)) {

46 PixelGrabber System.out.println( "Error en la carga" ); System.exit( 1 );} } catch( InterruptedException e ){ System.out.println( e );} ancho = imagen.getWidth( this ); alto = imagen.getHeight( this ); this.setVisible( true ); insetArriba = this.getInsets().top; insetIzqda = this.getInsets().left;

47 PixelGrabber this.setSize(insetIzqda+ancho, insetArriba+(2*alto) ); this.setTitle( "Cargar una Imagen" ); this.setBackground( Color.yellow ); int[] pix = new int[ancho * alto]; try { PixelGrabber pgObj = new PixelGrabber( imagen,0,0,ancho,alto,pix,0,ancho ); if( pgObj.grabPixels() && ( (pgObj.getStatus() & ImageObserver.ALLBITS ) != 0 ) ) {

48 PixelGrabber For ( int i=0; i < (ancho*alto); i++ ) { System.out.println(“val=”+pix[i]); } } else { System.out.println( "Problemas al descomponer la imagen" ); } } catch( InterruptedException e ) { System.out.println( e ); } imagenNueva = this.createImage( new MemoryImageSource(ancho,alto,pix,0,ancho ) );

49 PixelGrabber this.addWindowListener(new WindowAdapter() {public void windowClosing( WindowEvent evt ) {System.exit( 0 );}});} public void paint( Graphics g ) { if( imagenNueva != null ) { g.drawImage( imagen,insetIzqda,insetArriba,this ); g.drawImage( imagenNueva,insetIzqda,insetArriba+alto,this );} }

50 PixelGrabber public static void main (String args[]) { Cargar obj = new Cargar(); obj.repaint(); }

51 Operador Identidad Este operador crea una imagen de salida que es idéntica a la imagen de entrada. Función de transformación:

52 Operador Identidad Transformación Imagen 1

53 Operador Inverso o Negativo
Este operador crea una imagen de salida que es la inversa de la imagen de entrada. Para una imagen con valores de gris en el rango de 0 a 255 la función de transformación es:

54 Operador Inverso o Negativo
Transformación Imagen 1

55 Operador Umbral Se crea una imagen de salida binaria a partir de una imagen de grises, donde el nivel de transición está dado por el parámetro de entrada p1. Función de transformación:

56 Operador Umbral Transformación Imagen 1

57 Operador Umbral Binario
Esta clase de transformación crea una imagen de salida binaria a partir de una imagen de grises, donde todos los valores de gris cuyo nivel está en el intervalo definido por p1 y p2 son transformados a 255, y todos los valores fuera de ese intervalo a 0. Función de transformación:

58 Operador Umbral Binario

59 Operador Intervalo Umbral Binario
Transformación Imagen 1

60 Operador Intervalo Umbral Binario Invertido
Esta clase de transformación crea una imagen de salida binaria a partir de una imagen de grises, donde todos los valores de gris cuyos niveles están en el intervalo definido por p1 y p2 son transformados a 0, y todos los valores fuera de ese intervalo a 255. Función de transformación:

61 Operador Intervalo de Umbral Binario Invertido

62 Operador Intervalo de Umbral Binario Invertido
Transformación Imagen 1

63 Operador Umbral Escala de Grises
Se crea una imagen de salida con los únicos valores de nivel de gris comprendidos en el intervalo definido por p1 y p2, y el resto a 255. Función de transformación:

64 Operador Umbral Escala Grises
Transformación Imagen 1

65 Operador Umbral Escala Grises Invertido
Se crea una imagen de salida con los únicos valores de nivel de gris invertidos comprendidos en el intervalo definido por p1 y p2, y el resto a 255. Función de transformación:

66 Operador Umbral Escala de Grises Invertido
Transformación Imagen 1

67 Operador de Extensión Proporciona una imagen de salida con la escala de grises completa correspondiente al intervalo de entrada definido por p1 y p2, y suprime todos los valores fuera de este rango. Función de transformación:

68 Operador de Extensión Transformación Imagen 1

69 Operador de Reducción del Nivel de Gris
Proporciona una imagen de salida con un menor número de niveles de gris respecto de la imagen original de entrada, la imagen de entrada es reducida a n+1 niveles de gris. Función de transformación:

70 Transformaciones de 2 imágenes
La transformación de dos imágenes generalmente hace referencia a que se utiliza otra matriz para modificar cierto aspecto de los atributos de la señal original. Por ejemplo la intensidad, los tonos de luz, etc. Se pueden utilizar algunos operadores como la multiplicación, suma de matrices, entre otras.

71 Transformación de Dos Imágenes
Algunos ejemplos de operaciones son: Suma. Resta. Multiplicación. División. Máximo. Mínimo. AND. OR. XOR.

72 Transformación de dos Imágenes
Imagen con ruido Gausiano original Diferencia multiplicada por 6 Diferencia entre las imagen

73 Transformaciones de Dos Imágenes
Original Umbralizada 128 Imagen Inversa de la Umbralizada 128 Mínimo de la Inversa Umbralizada 128 y la original

74 Transformación Punto a Punto
Para esta transformación se utilizan 2 imágenes de entrada A y B, para crear una nueva imagen C. La dimensión de las imágenes es la misma. La función de la transformación fD puede ser lineal o no. Esta función se aplica a todos los pares de pixeles en las imágenes de entrada.

75 Transformación Punto a Punto
La función característica esta dada por la siguiente ecuación: La función fD puede ser adición, sustracción, multiplicación, división, exponenciación, máximo, o cualquier otra función que se pueda definir.

76 Transformación Punto a Punto
La función deberá tener un factor de escala apropiado k para mantener los valores de salida dentro de un rango adecuado, así como para evitar desbordamientos y valores negativos. La transformación implica dos variables asociadas con los pares de pixeles: Donde a y b son las matrices de entrada, FD es el operador funcional y R es la matriz resultante de salida.

77 Transformación Punto a Punto

78 Suma (Adición) La adición puede utilizarse para reducir los efectos del ruido en la imagen. El valor de salida es: Donde k es 2 para el caso de las 2 imágenes de entrada. Los valores de salida finales deben redondearse por defecto o por exceso.

79 Sustracción La sustracción es técnica útil para detectar el cambio producido en dos imágenes que han sido captadas en 2 instantes de tiempo diferentes. Los datos de ambas imágenes también pueden representar pérdidas de calor o frío, o si la fuente de datos es el espectro infrarrojo. Donde k es una función no lineal de forma que el valor mínimo que toma cx,y es 0 y el máximo 255

80 Sustracción Puesto que en el procesamiento de imágenes se utilizan números positivos, es necesario definir la salida de alguna manera que haga todos los valores positivos, esto implica un reescalado donde el valor mas negativo se corresponde con el 0 y el máximo con el 255 para la escala de grises del 0 al 255.

81 Adición y Substracción
Imagen 2 Imagen 3 Suma 2+3 Resta 2-3

82 Operadores de Vecindad
En esta transformación, el nuevo valor del pixel en la imagen de salida, depende de la combinación de los valores de los pixeles en la vecindad del pixel de la imagen original que esta siendo transformada. Lo que resta definir son los valores de la ponderación, lo cual se hace generalmente definiendo una máscara con valores constantes, dicha máscara es un filtro.

83 Operadores de Vecindad
Para la siguiente máscara: El valor del pixel q(x,y) esta dado por la suma ponderada, la cual nos da el efecto de Repujado en Relieve:

84 Operadores de Vecindad
Transformación Imagen 1

85 Operador Vecindad Mayor Contraste
Con la máscara siguiente se obtiene mayor contraste: Transformación Imagen 4

86 Transformaciones Globales
La transformación depende de todos los puntos de la imagen. Pueden utilizarse estadísticos como en la ecualización o máximos y mínimos para el escalado de imágenes.

87 Transformaciones Globales
Imagen Ecualizada Imagen Original

88 Operaciones de vecindad
Antes de ver los operadores de vecindad conviene recalcar las formas en que ésta se da. Vecindad a 4 Vecindad a 8

89 Reducción de Ruido Los operadores de vecindad permiten definir filtros para la eliminación de ruido en las imágenes. El promedio del entorno de vecindad es un filtro lineal en el cual se promedian los valores de intensidad de un punto en base a sus vecinos.

90 Reducción de Ruido Entorno de vecindad Imagen con ruido gausisano s=5
Imagen Filtrada

91 Reducción de Ruido Existen otros filtros como los no lineales o estadísticos. Donde el algoritmo y los entornos de vecindad cambian. No todos los filtros aplican de la misma manera a las imágenes por lo que se debe probarlos.

92 Transformaciones lógicas
Generalmente se utilizan máscaras para poder encontrar alguna característica útil en las imágenes: AND. OR. XOR.

93 Transformaciones Lógicas
Imagen 5 Imagen 6 Binarización de 5 (umbral= 128) Binarización de 6 (umbral= 128)

94 Transformaciones Lógicas
Negación de la Binarización de 5 Negación de la Binarización de 6 Operación OR entre 5 y 6 Operación AND entre 5 y 6

95 Transformaciones Lógicas
Operación XOR entre 5 y 6 Transformación 5 <= 6

96 Transformaciones geométricas
La imagen se transforma, realizándose un cambio de variables pero no de dominio. La posición de cada píxel es función de la posición del píxel correspondiente en la imagen original, y viene determinada por una transformación geométrica.

97 Transformaciones Geométricas
Entre las más empleadas están:   Homotecia. Zoom. Traslación. Rotación. Transformación de Hotelling. Warping. Corrección de distorsiones. Morphing.

98 Transformaciones Globales
La imagen se transforma en globalmente, sin considerar los píxels de forma individual, realizándose un cambio de dominio. Entre las más empleadas están: Transformada de Fourier. Transformada de Hadamard-Walsh. Transformada de Karhunen-Loève (KLT). Transformada discreta del coseno (DLT).

99 Transformaciones Globales
Transformada de Hough. Cambio entre modelos del espacio de colores. Y sus correspondientes transformadas inversas.

100 Detección de bordes. Se denomina borde en una imagen a cualquier discontinuidad que sufre alguna función de intensidad sobre los puntos de la misma. En la proyección bidimensional de una escena tridimensional intervienen distintos tipos de bordes:

101 Detección de Bordes Cambio brusco en la distancia cámara-objetos, con normal continua (dc) o con discontinuidad en la normal (dnc). Cambio en la normal del objeto (n). Cambio en la reflectancia del objeto (r). Cambio en la proyección de la luz incidente (s).

102 Detección de Bordes

103 Detección de Bordes Realce de Bordes Operador Sobel
Aplicación del Umbral Imagen Original

104 Detección de Bordes También se utilizan los gradientes.
La detección de bordes es la primera parte para la segmentación. Consiste en determinar los cambios de intensidad de los pixeles, es muy sensible al ruido. Esta técnica nos permitirá más adelante extraer características de las regiones de la imagen.

105 Extracción de Regiones
Una vez que se ha podido segmentar una imagen, es posible extraer toda la información de una imagen, la cual no es otra cosa que otra matriz. A esa matriz se le pueden hacer comparaciones como por ejemplo para detectar el reconocimiento de escritura en un PDA o el reconocimiento de una huella digital.

106 Detección de Movimiento
La detección de movimientos ocurre cuando se realiza una comparativa entre dos imágenes muy similares. Se debe realizar una segmentación de la imagen para poder ubicar un área sobre la cual trabajar y notar las diferencias. Las imágenes deben tener las mismas características.

107 Detección de Movimiento
Cualquier dispositivo de adquisición de video debe permitir el poder almacenar y manipular imágenes de manera individual. Al detectar movimiento surgen algunas preguntas de interés: ¿Cómo detectar el movimiento de un ojo? ¿Cómo detectar el movimiento de una persona?

108 Detección de Movimiento
¿Qué ocurre cuando una imagen es totalmente diferente a otra? Para auxiliarse en la detección de movimiento se suele utilizar puntos clave que ayuden a detectar los movimientos. En un cuerpo humano esos puntos clave son generalmente las extremidades: codos, rodillas, tobillo, dedos, etc. y depende de lo que se va a tratar de detectar.

109 Detección de objetos 3D Para poder detectar figuras en 3D se ocupan tener conocimiento de cómo está formado la imagen. En imágenes bidimensionales se tienen que detectar bordes que puedan definirnos el volumen de un objeto. Tambien se pueden utilizar imágenes del mismo objeto desde diferentes puntos de vista.

110 Detección de objetos 3D En algunos casos se analizan las imágenes desde diferentes ángulos y se trata de reconstruir las imágenes en 3D. Por ejemplo se trata de aplicar las tomografías desde diferentes cortes para poder definir un modelo en 3D del cerebro.

111 Transformaciones Lógicas
Dentro de las operaciones básicas se encuentra la binarización de una imagen, donde la imagen de salida sólo posee 2 niveles de gris, 0 y 255. Si se considera los números anteriores como el 0 lógico y el 1 lógico se obtiene una imagen binaria lógica.

112 Transformaciones Lógicas
Con una imagen de estas características es posible realizar operaciones lógicas, entre ellas negación, and, or, xor. También, dadas 2 imágenes, es posible realizar sobre ellas otro tipo de operaciones relacionales, tales como <, >, <=, >=, por ejemplo, dadas las imágenes A y B, una nueva imagen C = (A<=B), se obtiene realizando la comparación dada pixel a pixel y obteniendo el valor de 1 para C en aquellos pixeles donde se cumple la relación y 0 donde no se cumple.

113 Transformadas Geométricas
El objetivo fundamental de una operación geométrica es la transformación de los valores de una imagen tal y como podría observarse desde otro punto de vista. Las operaciones de ampliar o reducir una imagen, no es sino aproximar o alejar el punto de vista, rotarla equivale a girar el punto de observación, trasladarla es hacer lo propio con dicho punto.

114 Transformaciones Geométricas
En una imagen original, los pixeles se encuentran dentro de una estructura matricial (retícula) es decir, una rejilla. Al transformar esta rejilla según un desplazamiento, un giro o un acercamiento, los nuevos pixeles ya no tienen por qué quedar situados sobre tales intersecciones y caerán, por lo general, sobre puntos intermedios de ellos.

115 Transformaciones Geométricas

116 Transformaciones Geométricas
Para encontrar los nuevos puntos se requiere interpolar. La interpolación puede considerarse como el cálculo del valor de intensidad de un pixel, en una posición cualquiera, como una función de los pixeles que le rodean. Una forma de hacerlo es suponer que el pixel toma el mismo valor que el mas cercano de entre los cuatro que le rodean.

117 Transformaciones Geométricas
Para decidir cual es el mas cercano se puede utilizar la distancia Euclídea. Una forma de interpolar con mejores resultados pero con mayor costo computacional es la interpolación bilineal, la cual asigna al pixel en cuestión un valor medio ponderado de las intensidades de los 4 pixeles que le rodean. Los factores de ponderación vienen dados por la distancia entre el pixel y los del entorno.

118 Transformaciones Geométricas

119 Referencias Súcar, E, Gómez, G, Procesamiento de Imágenes y Visión Computacional, Departamento de Computación, Tecnológico de Monterrey Campus Cuernavaca. Ferreira, R. (2009), Procesamiento Digital de Imágenes con Java, Flisol, Morelia.

120 Referencias González, R., et al., (2007) Digital Image Processing, Addisson-Wesley, Estados Unidos.

121 Questions?


Descargar ppt "Procesamiento Digital de Imágenes"

Presentaciones similares


Anuncios Google