1 / 39

Procesamiento de imágenes

Procesamiento de imágenes. Aliasing, Muestreo , Convolución y Filtrado. Jaggies y Aliasing. Los “ jaggies ” son un nombre informal para los artefactos producto de la representación pobre de una geometria a partir de una grilla 2D de pixeles

Télécharger la présentation

Procesamiento de imágenes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Procesamiento de imágenes Aliasing, Muestreo, Convolución y Filtrado

  2. Jaggies y Aliasing • Los “jaggies” son un nombre informal para los artefactosproducto de la representaciónpobre de unageometria a partir de unagrilla 2D de pixeles • Los jaggies son unamanifestación del error de muestreo y pérdida de información (aliasing) • El efecto de los jaggiespuedeserreducidopor antialiasing, el cualsuaviza los pixelesalrededor de los jaggies • Tonos de gris en vez de transicionesfuertes de blanco a negro • Disminuye la respuesta del SVH a transicionesfuertes (bandas de Mach)

  3. Representandolíneas: muestreo de puntos, pixel singular Aproximación de líneausandomuestreo de puntos Aproximando la mismalínea al doble de resolución • Algoritmo del puntomedio: en cadacolumna, escoger el pixel con el centromáscercano a la línea • Una forma de muestreo de puntos: muestrear la línea en cadauno de los valores X entero • Escoger un solo pixel pararepresentar la intensidad de la línea, completamenteencendido o apagado • Doblando la resolución en x y ysólosirve de paliativo, ¡cuesta 4 vecesmásmemoria, ancho de banda y tiempo de scan conversion! • Nota: estofuncionaparapendientes entre -1 y 1. Habríaqueusarfilas en vez de columnaspara el otrocaso, o habríanhuecosdentro de la línea.

  4. Representandolíneas: muestreo de área • Representar la líneacomo un rectángulo de ancho de unaunidad, usamúltiplespíxelessolapando el rectángulo (pensemosporahora los píxelescomocuadrados) • En vez de completamenteencendido o apagado, calcularcadaintensidad del pixel proporcional al áreacubiertapor el rectángulo. • Una forma de muestreo de área no ponderado: • Sólo los píxelescubiertospor la primitivapuedencontribuir • La distancia del centro del píxel a la línea no importa • Típicamentetienenmás de un pixel porcolumna

  5. “Filtro de caja” representa el muestreo de área no ponderado • La función de ponderación da un peso para el área incremental centrado en • El volumen de unafunción de filtronecesitaser 1 parapreservar el brillo general, talque W=1 sobresuáreaunitaria, y 0 en el resto. • El filtro de cajaesconstantesobretoda el área y tiene un solo pixel de anchoaquí, peropodría variar en ancho • Para cada pixel intersectando la línea, la intesidadcontribuidaporcadasubárea de la intersecciónes • Luego, la intensidad total del pixel (entre 0 y 1)integradasobre el área de sobreposiciónes: • La integral es el volumensobre el área de sobreposición (en estafigura, unacuña rectangular)

  6. “Filtro de cono” paramuestreo de áreaponderado • Muestreo de área, pero la sobreposición entre el filtro y la primitvaesponderadatalquelas sub-áreas de dAmáscercanas al centro del pixel cuentenmás • El conotiene: • Caída lineal • Simetría circular • Ancho de 2 (llamadosoporte) • Volukmen de 1 (estohacerque los pixelescompletamentecubiertostengan valor 1) • La intensidad del pixel es el “subvolumen” dentro del conosobre la línea (verimagen)

  7. Soporte circular del filtrode 2 unidades Muestro de áreaponderado (continuación) Centro del pixel (+) W Área de superposición entre soporte y primitiva ÁreadiferencialdA1 ÁreadiferencialdA2 Primitivea Wes el peso, el cualesmultiplicado con en ; normalizar Wparahacerque el volumen del cono sea = 1

  8. Otramirada al muestreo de puntos A C D B Problemas del muestro de puntos. Muestras son señaladascomopuntosnegros. Objetos A y C son muestreados, peroobjetoscorrespondientes B y D no. • Este algorimosimplista de scan conversion sólopreguntasi un puntomatemáticoestádentro de la primitiva o no • Malopara el detallesubpixel el cualesmuycomún en rendering de altacalidad, ¡dondepuedenhabermuchosmás micro-polígonosquepíxeles!

  9. Otramirada al muestreo de área no ponderado (filtro de caja) (b) Muestreo de área no ponderado. (a) Todaslassubáreas del pixel son ponderadasigualmente. (b) Cambios en intensidadescomputadas a medidaque el objeto se mueve entre pixeles. • Filtro de caja • Soporte: 1 pixel • Estableceque la intensidadproporiconal al área de superposición • Crea “parpadeo” en pixelesadyacentes

  10. Otramirada al muestreo de áreaponderado (filtro de pirámide) (b) Muestro de áreaponderado. (a) sub-áreas del pixel son ponderadasdiferentementecomofunción de la distancia al centro del pixel. (b) Cambios en intensidadescomputadas a medidaque el objeto se mueve entre pixeles. • Filtro de pirámide • Soporte: 1 pixel • Aproxima un cono circular paraenfatizar el área de sobreposicióncercano al centro del pixel.

  11. Otramirada al muestro de áreaponderado (Filtro de cono) Muestreo de áreaponderado con superposición. (a) Funcióntipica de ponderado. (b) Cambios en intensidadescomputadas a medidaque el objeto se mueve entre pixeles. • Filtro de cono • Soporte: 2 pixeles • Mássuavidad en cambios de intensidad

  12. Pseudocódigo y resultados for each pixel p: place filter centered over p for each pixel q under filter: weight = filter value over q p.intensity += weight * q.intensity Aliased Anti-aliased Demostración de crawlies

  13. Ejemplo de anti-aliasing Acercamiento del original, render con alias Filtro de blur – promedioponderado de pixelesvecinos Supersampling– muestrearmúltiplespuntosdentro de un pixel determinado y promediarresultado Antialiasing Techniques: Supersampling y blurring Tablero de ajedrez con supersampling

  14. Muestreo de imágenes Scan line de unaescenasintética Scan line de unaescena natural • (imagencortesia de George Wolberg, Columbia University) La conversiónporescaneo (Scan converting) es la digitalización (muestreo) de unaserie de functions de intensidadcontínua, unaporlínea de scan. Usaremoslíneas de escaneo (scan lines) singularesporsimplicidad, perotodosigueaplicando de igualmanera a lasimágenes.

  15. El flujo de trabajo de muestreo/reconstrucción/despliegue Señalcontínua original: Señalmuestreada: Señalreconstruida: (depende de los muchosmétodos de reconstrucción) Un método (interpolación lineal): • (imagencortesia de George Wolberg, Columbia University)

  16. Sístesis de ondas de Fourier La aproximación de un scan line de unaimagenmejora con mássinusoides. Unaseñalpuedeseraproximadasumandoondas en forma de seno (y coseno) con diferentesfrecuencias, fases y amplitudes. Unaseñaltiene 2 representaciones. Estamosfamiliarizados con el dominioespacial, perocadaseñaltambiénexiste en el dominio de frecuencia.

  17. Frecuenciaespectral de unaseñal Signal Domain Frequency Domain Las sinusoides se caracterizanporsuamplitud y frecuencia. La frecuencia de unasinusoidees el número de ciclosporsegundopara audio, o el número de ciclosporlongitud de unidad (ej., distancias entre pixeles) paraimágenes. Se puedecaracterizarcualquier forma de ondaenumerando la amplitud y frecuencia de todaslassinusoidescomponentes (Transformada de Fourier) Estopuedesergraficadocomo un “espectro de frecuencias”, tambiénconocidocomoespectro de poder, (generalmenteignoramoslasfrecuenciasnegativas, pero son necesariasparasercorrectosmatemáticamente) Para ver los dominiosespaciales y frecuenciales de señales simples:http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/fft1DApp/1d_fast_fourier_transform_guide.html

  18. Muestreo: el LímiteNyquist Para capturartodaslasfrecuencias de unaseñal, debemosmuestrear a unavelocidadque sea másaltaque 2 veces la frecuenciamásalta de la señal (el límiteNyquist) Aquí hay unasinusoideaproximada: La sinusoidemuestreada a unavelocidadaceptable (4 veces la frecuenciamásalta): Ondareconstruidabasada en estasmuestras:

  19. Aliasing: conoce a vuestroenemigo El aliasing ocurrecuandomuestreamosunaseñal a menos del doble de la frecuenciamáxima. He aquínuevamentenuestraonda sinusoidal análoga: Aquíestá la ondamuestreada a unavelocidadmuybaja: Aquíesta la ondareconstruidabasada en esasmuestras: ¡La reconstrucciónnisiquiera se le acerca!

  20. Aliasing en la vida real ¿Has vistoalgunavezcomogiran los cauchos de un carro en unapelícula? ¿Has notadoquealgunasvecesparecieranqueruedanhaciaatrás? Estoesporque la velocidad del video esmásbajaque el doble de la frecuencia en quelasruedasgiran. Estoes aliasing temporal. Esto se ve mucho en películasporque el efectoesimpactante.Se conocecomo el efectostage-coach. Porsche Dyno Test

  21. Muestreando al límiteNyquist • http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/nyquist/nyquist_limit_guide.html Muestrear en el límiteNyquistpuedetambiénserproblemático He aquínuevamentenuestra perfecta sinusoidal análoga: He aquí la sinusoidal muestreada en el límiteNyquist. En estaocasiónfuncionabien: Aquíesta la onda sinusoidal muestreada en el límiteNyquist, con los puntos de muestramovidos. Ahora no tenemosseñal: Para un applet dedicado a ilustrar el límiteNyquist:

  22. El enemigoesreconocido 125 25 5 Número de ondassinusoidales: El aliasing se muestra en los últimosdiagramas de lasláminasprevias – señalesque son muestreadas a unavelocidadmuybajapuedenreconstruirlasfrecuenciasaltascomofrecuenciasbajas. Estasfrecuenciasbajas son “aliases” de lasfrecuenciasaltas. Los datos de la bajavelocidad de muestreo no puedenrepresentaradecuadamente los componentes de altafrecuencia, asíque los representóincorrectamente, comofrecuenciasbajas. Asíque, simplementemuestreamosencima del límite de Nyquist, verdad? Lamentablemente, no siemprepodemoshaceresto ¿Quétalesto? Intentemos la síntesis de Fourier

  23. Frecuenciasinfinitas • Las ondascuadradastienenfrecuenciasinfinitas en los saltos, ¿cómomuestreamosesocorrectamente? • No se puede. Así de simple. , y no podemosmuestrear a unavelocidadinfinita. • Desafortunadamente, lasfrecuenciasinfinita son la normal en los gráficos de computadorasintetizados – transicionesdiscretas entre pixelesadyacentes. • Asíquehacemos la operacióninversa. En vez de aumentar la frecuencia de muestreoparacalzar con la de la señal: • Prefiltramossacandolasfrecuenciasaltasque no podamosmostrar. • La señalahoragarantizaqueconsistesolamente de frecuenciasquepodemosrepresentar y reconstruir con precisiónrazonable. • Esta no es la mismaseñalqueentró, peroesmejorqueunaversión con alias. • Reconstruir la señalaproximadaprefiltradasacará un mejorresultadoquereconstruyendo, con aliases corruptoras, la señal original.

  24. Frecuenciasinfinitas Mientrasmásfrecuenciasaltasprefiltremos, másbajaserá la frecuencia de muestreonecesariaperomenorserá el parecido de la señalfiltrada con la original. Nota: el prefiltradosueleabreviarsecomofiltrado, pero el prefijo “pre” nosayuda a recordarque el post-filtrado (esdecir, otraetapa del filtradodespues de la computación o transformación de la imagen) también se aplica. Si se hace en lasmuestrasreconstruidas de la señal original, ¡serádifuminada en los aliases presentes en la reconstruccióncorrupta!

  25. Aliasing de escalado, o “¿porquétenemosque pre-filtrar?” Imagen con puntos de muestramarcados Imagenescaladausando los puntos de muestra Imagen original Esto no se vepara nada bien. No hay tiras y ahora la imagentiene un promediomásoscuro.

  26. Aliasing de escalado II, o “Cerca, pero no hay premio” Imagenprefiltrada con muestrasmarcadas Imagenprefiltradaescalada Imagen original Mejor, pero no es perfecto

  27. Aliasing de escalado III, o “¿porquéestá mal?” • La imagenescalada con prefiltrado se veia un pocomejor, peroaún no podíamosverlastiras • El filtradohizoque la imagenescaladatuviese el mismobrillorelativo, pero no tiras. • El filtroeliminólas “frecuenciasaltas” de la imagen • Las discontinuadesqueerantiras • Dado el número de puntospararepresentar la imagenunavezescalada, no habíansuficientespuntospararepresentarlasfrecuenciasaltas • Nuncapodremossercapaces de representarfrecuenciasmáslatasque ½ de nuestravelocidad de muestreo. No podemosteneralgomejorqueestarepresentacióndifuminada. • Recuerda el límite de Nyquist

  28. Filtros de pasobajo(dominioespacial)

  29. Filtro de pasobajo ideal(dominio de frecuencias) Multiplicar por la función de caja en el dominio de frecuencias Las frecuenciasbajo la caja se mantienen, y lasfrecuenciasaltas se cortan Corresponde a la convolución con la funciónsinc (seno cardinal) en el dominioespacial

  30. Convolución http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/convolution/convolution_guide.html Imagentomada de http://es.wikipedia.org/wiki/Convoluci%C3%B3n • Convolver la señalcon la función de filtro: • En cadapunto, es la integral del producto de y , exceptoqueesvolteada y trasladadatalquesuorigenes en • En la práctica, o es a menudo unafunción par (simétricasobre el eje y) y no necesitamosvoltearla • Sitiene un soportefinito,hace un promedioponderadocentrado en • (señalazul) convueltapor(filtrorojo) paraobtenerresultado(señalnegra) • y son funciones de caja • Cadapunto en la señalnegraes el resultado de una integral, representadapor el áreabajo el producto de y (áreaamarilla) • Nota: en la señalfiltrada,lasdiscontinuidades de son suavizadas y la base se amplía.

  31. Ejemplo simple de convolución 1111 ×1111 1111 1111 1111 +1111 1234321 * La convolución se parece mucho a la multiplicación Prueba el applet: http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/twoBoxConvolution/two_box_convolution_guide.html

  32. Ejemploanimado de convolución Imagentomada de http://es.wikipedia.org/wiki/Convoluci%C3%B3n

  33. Ejemploanimado de convolución Imagentomada de http://es.wikipedia.org/wiki/Convoluci%C3%B3n

  34. Propiedades de la convolución • Conmutativa • Asociativa • Distributiva • Identidad • es la función delta Dirac • en todosladosexcepto • Áreabajoes • Se puedepensarcomo el límite a medidaque un Gausiano se estrecha Imagentomada de http://en.wikipedia.org/wiki/Dirac_delta_function)

  35. Filtros de pasobajo: convolviendo con sinc Señal original Filtrosinc Operación del filtro en el origen, mostradocomopunto negro Señalfiltrada En teoría, sinctieneextensióninfinita, no importalascontribucionespequeñas y partesnegativas, peropesalascontribucionesmásfuertemente en el centro. En la práctica, sinc se aproximadecentemente con unadistribucióngaussiana normal, o incluso un triángulo, con extensionesfinitas y pesos igual o mayoresque cero.

  36. ¿Quéhace el filtrado/convolución? Sincen 3D • Seleccionapuntosparamuestrear, ej., centro de pixeles • Desliza el filtrosobrecadapunto de muestrasucesivo y computa integral de la convlución en esepunto (el áreabajo la curva) • Este es el promedioponderado del pixel actual y susvecinos • Los filtrosgráficosmásútiles son simétricossobresuorigen y caenrápidamentedesde el centro) • El promedioponderadoes el valor del pixel para la imagenfiltrada • Nuestrasilustraciones son 2D, peroparapixelesunodeberíapensar en sin como un mapa de ponderacióntrimidensional. • Desdeluego, no hacemos el cálculo de la integral comotal, sinoquesimplementecomputamos los valoresdiscretos de la funciónfiltro y hacemosunamultiplicacióndiscreta y la sumamos al aproximado. • El término “filtro” se usaestrictamente en el sentido de procesamiento de señales (el término se puedenemplearparatransformacionesarbitrarias de unaimagen, como en Photoshop)

  37. Resumen de filtrado • El filtrado no esmásque el promedioponderadoalrededor de un punto de muestra en unaimagen. • Unafunciónsinc en el dominioespacial se puederepresentarcomounafuncióncajaen el dominio de frecuencias. • Unafuncióncajaen el dominioespacial se puederepresentarcomounafunciónsincen el dominio de frecuencias. • La multiplicación de la distribución de lasfrecuencias con la funcióncaja en el dominio de frecuenciasprovee un filtroexacto de pasobajo (filtrandotodaslasfrecuenciaaltasmásallá de la especificada) • Por lo tanto, el filtroóptimo de pasobajoessinc en el dominioespacial • A la inversa, convolviendo con un filtrocaja en el dominioespacialcorresponde con la multiplicación con sinc en el dominio de frecuencias, el cualatenúalasfrecuenciasaltaspero no perfectamente, e introduce artefactospor los segmentosnegativos • La multiplicación de y en el dominio de frecuenciacorresponde a la convolución de susduales, y , en el dominioespacial, y viceversa.

  38. Resumen de filtrado • Para obtener un filtrado de pasobajo (esdecir, filtrarfrecuenciasaltas), solemosconvolver con funcióntriángulo en dominioespacialparaaproximar al ideal sinc. • Propiedades de la funcióntriángulo: • Fácil de calcular, a diferencia de sinc, el cualtienesoporteinfinito (o inclusounaaproximaciónGaussiana a sinc) • Su dual, sinc2, esunaaproximaciónaceptable a la funcióncajaaunquetieneextensióninfinita • Causaráunarepresentaciónimprecisa de todaslasfrecuencias y por lo tantoocurre un grado de corrupción/aliasing. • No es tan malocomousarunacajacomofiltro con sinccomosu dual en la frecuencia de dominio • En otraspalabras, el muestreo de área con promedioponderado de cualquiertipo, asumiendoquetenga un parecido con la forma de un cono, esmejorque un muestreo de área sin ponderar con un filtro de caja; que a suvezesmejorque un muestreo de punto.

  39. El pipeline de filtrado • Para filtrar, hemoshecho un pipeline de trespasos: • Construirunafuncióncontínua(ej., rectángulosrepresentandolínea, polígonos) • Las primitivasgeométricasllevan a frecuenciasinfinitas en los bordes • Función de filtro de pasobajoparagenerar • Idealmente, en el dominio de frecuencias: multiplica dual de con la caja en el dominio de frecuencia • Igualmente, en dominioespacial: convolvercon (esdecir., evaluarintgra en un númeroinfinito de puntos) • Muestrearfuncióncontínuaprefiltradaparagenerarfuncióndiscreta • Como programadores, nosahorramostrabajo: • Construirunafuncióncontínua • Simultáneamentemuestrar y filtrarparagenerarimagenmuestreada • Equivalente de generarunanuevafunción, y luegoevaluarla en los puntos de muestra (esdecir, pixeles) • Necesitamostambiénreconstruir la señal de la imagenfiltrada/muestreada

More Related