Evaluación de la calidad de imagen: un panorama

Introducción
Como criaturas visuales, los humanos somos sensibles a las alteraciones de la señal visual, como el bloqueo, el desenfoque, el ruido y la pérdida de transmisión. Por eso he enfocado mi investigación en descubrir cómo la calidad de imagen afecta el comportamiento de los usuarios en aplicaciones web. Últimamente, varios estudios prueban el efecto de imágenes de baja calidad en los sitios web. La Universidad de Cornell [4] muestra que las fotos de mala calidad afectan negativamente la experiencia del usuario, la tasa de conversión del sitio web, cuánto tiempo permanece la gente en el sitio y la confianza/credibilidad. Usan un modelo de red neuronal profunda entrenado con un conjunto de datos disponible públicamente de LetGo.com. El objetivo es medir el efecto de la calidad de imagen en las ventas y en la confianza percibida. Se encuentra que es 1.25 veces más probable que se venda la imagen cuya calidad se predice como buena, pero no pudieron medir el efecto de la calidad de imagen en la confianza.
Distorsiones de imagen
Las distorsiones de imagen más comunes son el ruido blanco (WN), el desenfoque gaussiano (GB), la compresión JPEG y la compresión JP2K. Por ejemplo, la distorsión de ruido blanco puede aparecer al tomar fotos de noche con un celular, o el desenfoque gaussiano si no se enfoca correctamente antes de tomar la foto.





Revisión de literatura
Los métodos de evaluación de calidad de imagen (IQA) se dividen principalmente en dos categorías: (1) con referencia, y (2) sin referencia o ciegos. Un algoritmo con referencia requiere una imagen prístina (una referencia que se considera de buena calidad) y una imagen distorsionada para calcular la puntuación de calidad. Los algoritmos con referencia se usan ampliamente para medir cómo se ve comprometida la calidad después de aplicar procesos como la compresión de imagen, la transmisión de imagen o el mosaico de imágenes. Por ejemplo, existe un compromiso con la compresión de imagen: entre mayor sea la compresión, menor será la calidad de imagen percibida. Como otro ejemplo, contar con una forma automatizada de medir la calidad de imagen ayuda a las empresas a definir los parámetros de compresión óptimos para maximizar la velocidad de carga sin comprometer la experiencia del usuario. Por otro lado, los métodos ciegos se enfocan en procesos donde no hay acceso a imágenes prístinas. Por ejemplo, en procesos de adquisición de imágenes por crowdsourcing, solo están disponibles las imágenes distorsionadas.
Inicialmente, los algoritmos de IQA ciegos eran específicos para cada distorsión. Por lo tanto, para calcular la puntuación de calidad de imagen, era necesario determinar el tipo de distorsión antes del cómputo. Así, se necesitaban dos modelos: (1) un modelo que predijera el tipo de distorsión, y (2) dado el tipo de distorsión, un modelo que predijera la puntuación de calidad. El desempeño general de estos métodos era mucho menor, y los esfuerzos de investigación continuaron hacia métodos de propósito general.
Varios investigadores encontraron que las Estadísticas de Escena Natural (NSS) y transformaciones como el dominio wavelet y la Transformada Discreta del Coseno (DCT) son discriminadores poderosos para evaluar la magnitud de la distorsión en una imagen. Estos enfoques dominaron hasta que fueron reemplazados por nuevos algoritmos basados en aprendizaje de características. Con datos suficientes, estos algoritmos superan el desempeño de aquellos basados en características diseñadas manualmente. La principal desventaja es que el número de parámetros crece enormemente, aumentando el riesgo de falta de generalización.
Planteamiento del problema
La evaluación de calidad de imagen (IQA) difiere de otras aplicaciones de imagen. A diferencia de la clasificación, la detección de objetos o la segmentación, la recolección de conjuntos de datos de IQA se basa en experimentos psicométricos complicados y que consumen mucho tiempo (ver CSIQ, TID2008, TID2013, LIVE IQA). Por lo tanto, la creación de conjuntos de datos grandes es costosa, ya que requiere la supervisión de expertos encargados de garantizar la correcta ejecución de la metodología. Otra limitación es que no se puede usar el aumento de datos, porque la estructura de píxeles de las imágenes de referencia no debe modificarse.
Metodologías
La mayoría de los algoritmos más recientes se enfocan en el aprendizaje de características. Como se mencionó anteriormente, la principal limitación de estas metodologías es la necesidad de conjuntos de datos extensos para generalizar. No obstante, los métodos más recientes se enfocan en enfoques híbridos que, como primer paso, aprenden automáticamente características sensibles a la calidad y, en segundo lugar, asocian dichas características a una puntuación de calidad percibida.
El objetivo de esta sección es presentar tres enfoques completamente distintos que han logrado un desempeño sobresaliente en comparación con métodos anteriores. El primer método se basa en una red neuronal profunda entrenada para aprender un mapa de error objetivo. El segundo método introduce el concepto de múltiples imágenes de pseudo-referencia (MPRI) y la extracción de características mediante la agregación de estadísticas de orden superior, y el tercer método aprovecha el clustering no supervisado k-means para crear un codebook de características de calidad de imagen.
Predictor ciego de calidad de imagen basado en CNN profunda (DIQA)
Como se mencionó anteriormente, uno de los retos importantes de la evaluación de calidad de imagen es el costo de etiquetar imágenes. Sin embargo, Jongyoo Kim et al. [1] encontraron una forma de aprovechar grandes cantidades de datos dividiendo el entrenamiento en dos pasos (ver Fig. 3):
- Entrenar una Red Neuronal Convolucional (CNN) que aprenda un mapa de error objetivo.
- Ajustar (fine-tuning) la CNN usando las puntuaciones subjetivas.

En el primer paso, no es necesario usar puntuaciones de opinión humana porque la CNN se entrena para aprender un mapa de error entre una imagen prístina y una distorsionada. Podemos extender el tamaño del conjunto de datos de la primera etapa usando el concepto de la imagen de pseudo-referencia (PRI) y su distorsión (ver el algoritmo BMPRI más abajo).
En el segundo paso, se agregan dos capas totalmente conectadas después de la convolución 8, y se realiza el ajuste fino usando las puntuaciones subjetivas para aprender las opiniones humanas.

Aprendizaje del mapa de error objetivo
La primera etapa es una regresión cuyo objetivo es aprender un mapa de error objetivo. Se describe con la flecha roja en la Fig. 4. La función de pérdida se define como el error cuadrático medio de los mapas de error predicho y real. Además, la diferencia entre dichos mapas de error se pondera con una predicción de mapa de confiabilidad.

La predicción del mapa de confiabilidad r tiene la función de evitar que la predicción falle en regiones homogéneas, midiendo la fuerza de la textura de la imagen distorsionada.

El error real (ground-truth) es simplemente la diferencia entre la imagen de referencia y la imagen distorsionada elevada a la potencia p. Los autores recomiendan un p=0.2 para tener una distribución de error más amplia, de 0 a 1.

Aprendizaje de la opinión subjetiva
Después de que el primer modelo se entrena para predecir los mapas de error objetivo, se crea una nueva red usando la primera red y agregando dos capas totalmente conectadas. Para aprovechar imágenes de distintos tamaños, se aplica un global average pooling (GAP) a la convolución 8 para convertirla en una capa totalmente conectada. Las dos características diseñadas manualmente μ y σ se concatenan a la FC1 (ver Fig. 4) para compensar la información perdida. La función de pérdida de esta etapa se define como

donde v es la operación de global average pooling aplicada a la convolución 8.
Estimación ciega de calidad de imagen mediante agravación de la distorsión (BMPRI)
La idea principal de la estimación ciega de calidad de imagen mediante agravación de la distorsión es eliminar el concepto de imagen de referencia y usar en su lugar imágenes distorsionadas. Así, los autores introducen la idea de múltiples imágenes de pseudo-referencia (MPRIs). Las MPRIs se generan a partir de imágenes distorsionadas que se exponen a una cantidad más severa de distorsión. Por lo tanto, la imagen de pseudo-referencia (PRI) generalmente tiene peor calidad que su equivalente distorsionado.
La idea detrás de esta metodología es generar una serie de PRI degradando aún más la imagen distorsionada, y luego medir la similitud entre ellas usando patrones binarios locales (LBP) para evaluar su calidad.
Agravación de la distorsión
Según los autores, seleccionar los tipos de distorsión es de suma importancia porque distintas distorsiones introducen distintos artefactos, y es necesario tener PRIs consistentes. Por ejemplo, para estimar artefactos de desenfoque, podemos desenfocar la imagen distorsionada. Las distorsiones seleccionadas son JPEG, JP2K, desenfoque gaussiano (GB) y ruido blanco (WN), para medir artefactos de bloqueo, anillado (ringing), desenfoque y ruido.




donde i∈ {1, 2, 3, 4, 5} indica el i-ésimo nivel de agravación de la distorsión y k, r, b, n indican los efectos de bloqueo, anillado, desenfoque y ruido.
Extracción de características con patrones binarios locales (LBP)
Las características LBP se extraen para cada una de las MPRI y las imágenes distorsionadas. Originalmente, estas características se usaban para clasificar distintos tipos de texturas; por lo tanto, nos permiten detectar cambios estructurales.

donde,

Por simplicidad, los autores recomiendan P = 4 y R = 1. Para más detalles sobre la extracción de características LBP.
Similitudes entre la imagen distorsionada y las MPRIs
Para calcular la similitud entre la imagen agravada y la distorsión, definimos Lo como la superposición entre los mapas de características de la imagen distorsionada (Ld) y la MPRI (Lm)

donde,

y luego la calidad se define como

Predicción de calidad
Después de calcular la puntuación q para todas las agravaciones definidas previamente, necesitamos concatenar todas las puntuaciones resultantes en un vector de características q que contiene los descriptores de los efectos de bloqueo, anillado, desenfoque y ruido de la imagen distorsionada.

Como último paso, se entrena un regresor para mapear el vector de características q con las etiquetas de calidad correspondientes (MOS) de las imágenes en el conjunto de entrenamiento.
Evaluación ciega de calidad de imagen basada en agregación de estadísticas de orden superior (HOSA)
La metodología HOSA es un algoritmo híbrido que aprovecha una etapa de aprendizaje no supervisado que detecta parches similares en un conjunto de imágenes distorsionadas. A este paso se le llama construcción del codebook. Luego, un segundo paso usa un conjunto de datos de entrenamiento para encontrar las similitudes entre cada nuevo parche y las cinco codewords más cercanas del codebook, con el fin de entrenar un regresor. Este algoritmo supera a los que se basan en características diseñadas manualmente, ya que es más eficiente al evaluar imágenes con texto y gráficos artificiales.
El algoritmo HOSA se divide en dos pasos distintos:
- Construcción del codebook: un conjunto de imágenes se divide en N parches que se usan para crear un codebook. El codebook es un conjunto de K codewords sensibles a la calidad.
- Agregación de estadísticas de orden superior: dado un nuevo conjunto de datos de entrenamiento, para cada nuevo parche, se asocian los 5 clusters más cercanos para describirlo con sus estadísticas de orden superior.

Extracción de características locales
La idea general de este método es encontrar un conjunto de N parches de imagen B x B normalizados I(i, j) por imagen (fase de extracción de características locales). Cada parche se normaliza y luego se usa para crear un vector de características. Este proceso se aplica a todas las imágenes del conjunto inicial. Los autores eligieron la base de datos CSIQ.

Construcción del codebook
HOSA no es el único método basado en un codebook. Es un marco de trabajo seguido por varios autores para detectar automáticamente características de imagen útiles para evaluar la calidad de imagen. El marco del codebook se basa en la idea de dividir la imagen en regiones informativas. Un área informativa se llama codeword visual, y un conjunto de codewords visuales forma un codebook visual. La diferencia entre los métodos basados en el marco del codebook es el algoritmo para crear dicho codebook. En esta metodología, el número de codewords es 100.
Para crear el codebook, dado el conjunto X compuesto por las características locales del conjunto de datos inicial, se encuentran K centros minimizando el error de aproximación acumulado usando K-means.

Para cada cluster, se calculan la media, la covarianza y la coasimetría (coskewness).

Agregación de estadísticas de orden superior
Para cada característica local x en el conjunto de entrenamiento, se seleccionan las r codewords más cercanas rNN(x) por distancia euclidiana. Los autores recomiendan r=5. Se calculan los residuos entre la media del cluster y las r codewords más cercanas.


En la práctica, la diferencia ponderada suave entre la media del cluster k y la media de las r características locales asignadas podría generar el mismo m para dos conjuntos distintos de características. Por eso, se calculan las estadísticas de segundo y tercer orden para discriminar mejor imágenes de distinto nivel de calidad.


Finalmente, para cada característica local x en el conjunto de entrenamiento, se calculan las estadísticas de primer, segundo y tercer orden para cada cluster del codebook y se concatenan para crear un único vector de características sensible a la calidad.

Se entrena un regresor para aprender las puntuaciones subjetivas (es decir, las puntuaciones medias de opinión) usando el vector de características sensible a la calidad como descriptor.
Comparación de desempeño
El coeficiente de correlación de orden de rango de Spearman (SRCC) se usa para comparar las distintas metodologías. Según los resultados, las tres metodologías tienen un desempeño similar. Tienen en común el uso de características aprendidas y sensibles a la calidad para calcular una puntuación. En comparación con BRISQUE, un método que se basa en características diseñadas manualmente, hay una mejora significativa en el SRCC.

*Nota: Estos resultados se obtuvieron de cada uno de los artículos, los cuales podrían contener resultados sesgados. Estoy trabajando en implementar cada método para evaluar resultados reales.
Notebook de Jupyter
Implementación de DIQA con Python y TensorFlow 2.0
Conclusión
Se describieron brevemente tres de los métodos más recientes para la evaluación de calidad de imagen. Todos se basan en el aprendizaje de características para detectar distorsiones en imágenes. De acuerdo con las puntuaciones SRCC presentadas por los autores, estas metodologías son consistentemente mejores que las metodologías anteriores que dependen de características diseñadas manualmente para calcular la calidad de imagen.
Referencias
[1] Kim, J., Nguyen, A. D., & Lee, S. (2019). Deep CNN-Based Blind Image Quality Predictor. IEEE Transactions on Neural Networks and Learning Systems. https://doi.org/10.1109/TNNLS.2018.2829819
[2] Mezghani, LinaWilber, K., Hong, H., Piramuthu, R., Naaman, M., & Belongie, S. (2019). Understanding Image Quality and Trust in Peer-to-Peer Marketplaces. In 2019 IEEE Winter Conference on Applications of Computer Vision (WACV) (pp. 511–520). IEEE. https://doi.org/arXiv:1811.10648v1
[3] Min, X., Member, S., Gu, K., Zhai, G., & Liu, J. (2018). Blind Quality Assessment Based on Pseudo-Reference Image, 20(8), 2049–2062. https://doi.org/10.1109/TMM.2017.2788206
[4] Min, X., Zhai, G., Gu, K., Liu, Y., & Yang, X. (2018). Blind Image Quality Estimation via Distortion Aggravation. IEEE Transactions on Broadcasting, 64(2), 508–517. https://doi.org/10.1109/TBC.2018.2816783
[5] Xu, J., Ye, P., Li, Q., Du, H., Liu, Y., & Doermann, D. (2016). Blind Image Quality Assessment Based on High Order Statistics Aggregation. IEEE Transactions on Image Processing, 25(9), 4444–4457. Retrieved from https://ieeexplore.ieee.org/abstract/document/7501619/