Estoy tratando de aprender más sobre la compresión de imágenes usando el método de transformación wavelet. Mi pregunta es: ¿qué tienen ciertas wavelets que las hacen preferibles al comprimir imágenes? ¿Son más fáciles de calcular? ¿Producen imágenes más suaves? Etc ...
Ejemplo: JPEG 2000 usa el Wavelet Cohen-Daubechies-Feauveau 9/7 ... ¿por qué este?
image-processing
wavelet
usuario807566
fuente
fuente
Respuestas:
Visión general
La respuesta corta es que tienen el número máximo de
vanishing moments
un determinadosupport
(es decir, número de coeficientes de filtro). Esa es la propiedad "extremal" que distingue a las wavelets Daubechies en general. Hablando en términos generales, más momentos de fuga implica una mejor compresión, y un soporte más pequeño implica menos cómputo. De hecho, la compensación entre los momentos de fuga y el tamaño del filtro es tan importante que domina la forma en que se nombran las wavelets. Por ejemplo, a menudo verá laD4
wavelet referida comoD4
odb2
. El se4
refiere al número de coeficientes, y el2
se refiere al número de momentos de fuga. Ambos se refieren al mismo objeto matemático. A continuación, explicaré más sobre qué momentos son (y por qué queremos hacerlos desaparecer), pero por ahora, solo comprenda que se relaciona con qué tan bien podemos "plegar" la mayor parte de la información en la señal en un formato más pequeño. Número de valores. La compresión con pérdida se logra manteniendo esos valores y desechando los demás.Ahora, puede haber notado que
CDF 9/7
, que se usaJPEG 2000
, tiene dos números en el nombre, en lugar de uno. De hecho, también se conoce comobior 4.4
. Eso es porque no es una wavelet discreta "estándar" en absoluto. De hecho, ni siquiera técnicamente conserva la energía en la señal, ¡y esa propiedad es la razón por la cual las personas se entusiasmaron tanto con el DWT en primer lugar! Los números9/7
y4.4
todavía se refieren a los soportes y los momentos de fuga, respectivamente, pero ahora hay dos conjuntos de coeficientes que definen la wavelet. El término técnico es que, en lugar de serorthogonal
, lo sonbiorthogonal
. En lugar de profundizar demasiado en lo que eso significa matemáticamente, yo 'JPEG 2000
Una discusión mucho más detallada de las decisiones de diseño que rodean la wavelet CDF 9/7 se puede encontrar en el siguiente documento:
Solo revisaré los puntos principales aquí.
Muy a menudo, las wavelets ortogonales de Daubechies en realidad pueden aumentar el número de valores necesarios para representar la señal. El efecto se llama
coefficient expansion
. Si estamos haciendo una compresión con pérdida que puede o no importar (ya que de todos modos estamos desechando valores al final), pero definitivamente parece contraproducente en el contexto de la compresión. Una forma de resolver el problema es tratar la señal de entrada como periódica.Desafortunadamente, la única wavelet ortogonal que tiene las características requeridas es la wavelet Haar (o D2, db1), que solo como un momento de fuga. Ugh Eso nos lleva a wavelets biortogonales, que en realidad son representaciones redundantes y, por lo tanto, no conservan la energía. La razón por la cual las wavelets CDF 9/7 se usan en la práctica es porque fueron diseñadas para acercarse mucho a la conservación de energía. También han probado bien en la práctica.
Hay otras formas de resolver los diversos problemas (mencionados brevemente en el documento), pero estos son los grandes rasgos de los factores involucrados.
Momentos de fuga
Entonces, ¿qué son los momentos y por qué nos importan? Las señales suaves pueden aproximarse bien por polinomios, es decir, funciones de la forma:
Los momentos de una función (es decir, señal) son una medida de cuán similar es a una potencia dada de x. Matemáticamente, esto se expresa como un producto interno entre la función y el poder de x. Un momento de desaparición significa que el producto interno es cero y, por lo tanto, la función no se "parece" a esa potencia de x, como sigue (para el caso continuo):
Y lo que sucede en la segunda pasada, que opera solo con la señal suavizada:
Otras lecturas
Estoy pasando por alto MUCHOS detalles para mantener accesible el tratamiento anterior. El siguiente artículo tiene un análisis mucho más profundo:
Nota
El documento anterior parece sugerir que la wavelet JPEG2000 se llama Daubechies 9/7, y es diferente de la wavelet CDF 9/7.
El borrador del estándar JPEG2000 ( enlace pdf ) que he examinado también llama al filtro oficial Daubechies 9/7. Hace referencia a este artículo:
No he leído ninguna de esas fuentes, así que no puedo decir con certeza por qué Wikipedia llama al wavelet JPEG2000 CDF 9/7. Parece que puede haber una diferencia entre los dos, pero la gente llama al wavelet oficial JPEG2000 CDF 9/7 de todos modos (¿porque se basa en la misma base?). Independientemente del nombre, el documento de Usevitch describe el que se usa en el estándar.
fuente
La bondad de las transformaciones de señal se evalúa en dos métricas diferentes: compresión y, en el caso de compresión con pérdida, calidad. La compresión se define por la compactación de energía, pero la calidad es más difícil.
Tradicionalmente, la calidad se ha medido por error cuadrático medio o SNR promedio por píxel. Sin embargo, los humanos no tienden a evaluar señales con MSE o SNR. Los humanos son muy sensibles al ruido estructurado donde MSE tiende a no serlo. El desarrollo de algoritmos que ofrecen métricas de calidad similares a las humanas es un área activa de investigación. El índice de similitud estructural de Bovik (SSIM) es un buen lugar para comenzar.
fuente
Como respuesta muy breve: cualquier transformación es mejor que otra transformación cuando tiene, lo que se conoce como "propiedad de compactación de energía", que se explica a continuación:
"cuando solo una pequeña fracción de los coeficientes de transformación tiene una gran magnitud, de modo que mantener solo unos pocos coeficientes y descartar o cuantificar otros todavía permite que la reconstrucción sea casi perfecta". Dicha propiedad está relacionada con la capacidad de descorrelación de las transformaciones unitarias ".
La transformación con menor propiedad de compactación de energía es la que necesitará el menor número de símbolos y, por lo tanto, menos bits.
La transformación con la propiedad de compactación de energía más alta es DCT.
Dipan
fuente
Las imágenes naturales consisten en diferentes características de imagen, podemos clasificarlas ampliamente en características, texturas y bordes suaves o lentos para variar. Un buen método de compresión es aquel que transforma una imagen en un dominio donde toda la energía de una señal se conserva en solo unos pocos coeficientes.
La transformación de Fourier intenta aproximar una imagen usando senos y cosenos. Ahora los senos y cosenos pueden aproximarse a señales suaves de manera bastante concisa, pero son notoriamente malos para aproximar las discontinuidades. Si está familiarizado con el fenómeno de Gibbs, sabrá que uno necesita un gran número de coeficientes de Fourier para evitar los artefactos de aproximarse a una discontinuidad en el tiempo. Sin embargo, cuanto menor sea el número de coeficientes, mejor será la compresión. Por lo tanto, existe una compensación inherente entre el número de coeficientes y la pérdida del método de compresión, a lo que generalmente nos referimos como compensación de tasa de distorsión.
Sin embargo, todavía no tenemos una sola base o transformación que pueda aproximar características suaves, singularidades de punto, bordes y texturas.
fuente
El DCT tiene una muy buena compactación de energía para muchas señales comunes, y también combina bastante bien con la forma en que funciona la difracción (el proceso físico subyacente en la imagen), ya que la difracción se puede representar como un núcleo de Fourier. Estos le dan muchas ventajas.
El problema es que los coeficientes DCT están necesariamente deslocalizados en toda el área de transformación. Esto requiere que se creen muchas áreas de transformación pequeñas (bloques) para que la energía en un área no se derrame a otra cuando se transforma. Esto restringe la capacidad de la transformación a energía compacta y también introduce artefactos en los muchos límites de bloque.
No he hecho mucho con las wavelets, así que podría estar equivocado, pero están más deslocalizadas, con diferentes coeficientes que representan diferentes compensaciones de área / frecuencia. Esto permite tamaños de bloque más grandes con menos artefactos. Sin embargo, no estoy seguro en la práctica de la gran diferencia que realmente hace.
fuente
Cuando hablamos de mejores wavelets, deberíamos considerar que tienen el mismo codificador en la parte posterior: el rendimiento de una transformación está fuertemente entrelazado con la cuantización y la codificación. El rendimiento generalmente es: mejor compresión para la misma calidad, o mejor calidad para la misma compresión. La compresión es una medida fácil, la calidad no lo es. Pero supongamos que tenemos uno.
Finalmente, esto depende de la clase de imágenes que desea comprimir: ¿de uso múltiple o enfocado, como con imágenes médicas, o compresión de datos sísmicos, con un tipo de datos restringido y específico? Aquí nuevamente, las wavelets pueden ser diferentes.
Ahora, ¿cuáles son los principales componentes morfológicos de las imágenes y cómo las manejan las wavelets?
Entonces, en el lado del análisis, las mejores wavelets son buenas para compactar las características anteriores a nivel mundial muy bien. En el lado de la síntesis, las mejores wavelets mitigan los efectos de compresión, por ejemplo la cuantización, para dar un aspecto agradable. Las propiedades requeridas en el análisis / síntesis son un poco diferentes, esta es la razón por la cual las wavelets biortogonales son agradables: puede separar las propiedades de análisis (momentos de fuga) / síntesis (suavidad), que no puede hacer con las ortogonales, y provoca un aumento en la longitud del filtro , bastante perjudicial para el rendimiento computacional. Las wavelets biortogonales adicionales pueden ser simétricas, buenas para los bordes.
Finalmente, ¿quieres un poco de compresión sin pérdidas? Entonces necesitas wavelets (enteros) "enteros".
Y todo lo anterior mezclado con problemas computacionales: wavelets separables, no demasiado largos. Y el proceso de estandarización en el comité JPEG.
Finalmente, el 5/3 es bastante bueno para sin pérdidas, lo suficientemente corto. Algunos de los 9/7 también son buenos. ¿Mucho mejor que una wavelet 13/7 ? En realidad, no, e incluso si eso está en PSNR, no es lo mejor para la calidad de imagen.
Entonces, las mejores wavelets están a un paso de distancia, para imágenes tradicionales y comunicaciones personales con autores de
hazme creer que el "mejor" aspecto del 9/7 no está completamente explicado ni asegurado.
fuente