% WACV 2024 Paper Template
% based on the CVPR 2023 template (https://media.icml.cc/Conferences/CVPR2023/cvpr2023-author_kit-v1_1-1.zip) with 2-track changes from the WACV 2023 template (https://github.com/wacv-pcs/WACV-2023-Author-Kit)
% based on the CVPR template provided by Ming-Ming Cheng (https://github.com/MCG-NKU/CVPR_Template)
% modified and extended by Stefan Roth (stefan.roth@NOSPAMtu-darmstadt.de)

\documentclass[10pt,twocolumn,letterpaper]{article}

%%%%%%%%% PAPER TYPE  - PLEASE UPDATE FOR FINAL VERSION
\usepackage[review,algorithms]{wacv}      % To produce the REVIEW version for the algorithms track
%\usepackage[review,applications]{wacv}      % To produce the REVIEW version for the applications track
%\usepackage{wacv}              % To produce the CAMERA-READY version
%\usepackage[pagenumbers]{wacv} % To force page numbers, e.g. for an arXiv version

% Include other packages here, before hyperref.
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{booktabs}

%%% --- Commands Agnolucci --- %%%
\newcommand*{\thead}[1]{\multicolumn{1}{c}{\bfseries #1}} %% table headers
\newcommand{\hide}[1]{}
\newcommand{\hidefoot}[1]{\footnote{{\bf #1}}}
\newcommand{\todo}[1]{{\bf TO DO: {#1}}}
\newcommand{\dquote}[1]{``#1''}
\newcommand{\alert}[1]{\textcolor{red}{#1}}
\newcommand{\answer}[1]{\textcolor{blue}{#1}}
\newcommand\wh[1]{\hstretch{2}{\hat{\hstretch{.5}{#1\mkern1mu}}}\mkern-1mu}
\usepackage{color}
\usepackage{xcolor,colortbl}
\usepackage{mathtools}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\usepackage{multirow}
\usepackage{subcaption}
\usepackage{bm} % For bolding math symbols
\usepackage[export]{adjustbox} % For grid of images

\newlength{\gridimagewidth}
\setlength{\gridimagewidth}{0.20\textwidth}

% For centered table column with fixed width
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

% For colored column
\newcolumntype{h}{>{\columncolor{tabhighlight}}c}

\renewcommand{\thesection}{S\arabic{section}}
\renewcommand{\thefigure}{S\arabic{figure}}
\renewcommand{\thetable}{S\arabic{table}}
\renewcommand{\theequation}{S\arabic{equation}}
%% Commands to use when the space is tight
% \setlength{\floatsep}{11.0pt plus 2.0pt minus 2.0pt}
% \setlength{\textfloatsep}{11.0pt plus 2.0pt minus 2.0pt}
% \setlength{\intextsep}{13.0pt plus 2.0pt minus 2.0pt}
% \setlength{\dbltextfloatsep}{13.0pt plus 2.0pt minus 2.0pt}
% \setlength{\dblfloatsep}{13.0pt plus 2.0pt minus 2.0pt}
%\raggedbottom     % To see where there is some blank space
\definecolor{purple}{rgb}{0.65,0,0.65}
\definecolor{dark_green}{rgb}{0, 0.5, 0}
\definecolor{blueish}{rgb}{0.0, 0.3, .6}
\definecolor{tabhighlight}{HTML}{e5e5e5}
\newcolumntype{h}{>{\columncolor{tabhighlight}}c}
% Marco Bertini (MB)
\newcommand{\mb}[1]{{\color{blueish}#1}} %< I changed something and I want you to see it
\newcommand{\MB}[1]{{\color{blueish}{\bf [MB: #1]}}} %< inlined comment for max visibility
\newcommand{\Mb}[1]{\marginpar{\tiny{\textcolor{blueish}{#1}}}} %< useful for ~deadline (no layout changes)
% Lorenzo Agnolucci (LA)
\newcommand{\la}[1]{{\color{purple}#1}}
\newcommand{\LA}[1]{{\color{purple}{\bf [LA: #1]}}}
\newcommand{\La}[1]{\marginpar{\tiny{\textcolor{purple}{#1}}}}
% Leonardo Galteri (LEO)
\newcommand{\leo}[1]{{\color{dark_green}#1}}
\newcommand{\LEO}[1]{{\color{dark_green}{\bf [AB: #1]}}}
\newcommand{\Leo}[1]{\marginpar{\tiny{\textcolor{dark_green}{#1}}}}


\newcommand{\method}{ARNIQA\xspace}
\newcommand{\methodextended}{ARNIQA (leArning distoRtion maNifold for Image Quality Assessment)\xspace}
\newcommand{\live}{LIVE\xspace}
\newcommand{\clive}{CLIVE\xspace}
\newcommand{\csiq}{CSIQ\xspace}
\newcommand{\tid}{TID2013\xspace}
\newcommand{\kadid}{KADID\xspace}
\newcommand{\koniq}{KonIQ\xspace}
\newcommand{\spaq}{SPAQ\xspace}
\newcommand{\flive}{FLIVE\xspace}
\newcommand{\srcc}{SRCC\xspace}
\newcommand{\plcc}{PLCC\xspace}
\newcommand{\ndist}{n_{dist}\xspace}
\newcommand{\Ndist}{N_{dist}\xspace}

% It is strongly recommended to use hyperref, especially for the review version.
% hyperref with option pagebackref eases the reviewers' job.
% Please disable hyperref *only* if you encounter grave issues, e.g. with the
% file validation for the camera-ready version.
%
% If you comment hyperref and then uncomment it, you should delete
% ReviewTempalte.aux before re-running LaTeX.
% (Or just hit 'q' on the first LaTeX run, let it finish, and you
%  should be clear).
\usepackage[pagebackref,breaklinks,colorlinks]{hyperref}


% --- Commands Agnolucci ---
% cleveref must be loaded after hyperref
\usepackage[capitalize]{cleveref}
\crefname{section}{Sec.}{Secs.}
\Crefname{section}{Section}{Sections}
\Crefname{table}{Table}{Tables}
\crefname{table}{Tab.}{Tabs.}


%%%%%%%%% PAPER ID  - PLEASE UPDATE
\def\wacvPaperID{2061} % *** Enter the WACV Paper ID here
\def\confName{WACV}
\def\confYear{2024}


\begin{document}

%%%%%%%%% TITLE - PLEASE UPDATE
\title{\method: Learning Distortion Manifold for Image Quality Assessment \\ 
\vspace*{5pt}\begin{large}\normalfont{Supplementary Material}\end{large}}

\author{First Author\\
Institution1\\
Institution1 address\\
{\tt\small firstauthor@i1.org}
% For a paper whose authors are all at the same institution,
% omit the following lines up until the closing ``}''.
% Additional authors and addresses can be added with ``\and'',
% just like the second author.
% To save space, use either the email address or home page, not both
\and
Second Author\\
Institution2\\
First line of institution2 address\\
{\tt\small secondauthor@i2.org}
}
\maketitle

%%%%%%%%% BODY TEXT
\section{Analysis on Data Efficiency}
In Sec. {\color{red}4.4} we show that \method achieves state-of-the-art performance on several IQA datasets with both synthetic and authentic distortions. In addition, our approach proves to be more data-efficient than competing self-supervised methods, since it requires fewer training examples.

We recall that we rely on the 140K pristine images from the KADIS dataset \cite{kadid10k} synthetically distorted with our degradation model to train our model. Given that we consider images both at full-scale and half-scale (see Sec. {\color{red}3.2}), we double the size of the training dataset. For all of the experiments, we train our model for 10 epochs. Therefore, for training, we use a total of 140K (training dataset) $\times$ 2 (scales) $\times$ 10 (epochs) $\!=\!$ 2.8M images. 

In contrast, CONTRIQUE \cite{madhusudana2022image} considers a combination of images with synthetic and authentic distortions for training, for a total of 1.3M. Specifically, the authors use the 700K synthetically distorted images from the KADIS dataset and the union of 4 datasets with realistic distortions: 255K images from AVA \cite{murray2012ava}, 330K images from COCO \cite{lin2014microsoft}, 2450 images from CERTH-Blur \cite{mavridaki2014no}, 33K images from VOC \cite{everingham2010pascal}. The CONTRIQUE model employs both full-scale and half-scale images and is trained for 25 epochs. Therefore, the total number of training examples required by CONTRIQUE is given by 1.3M (training dataset) $\times$ 2 (scales) $\times$ 25 (epochs) $\!=\!$ 65M. 

Instead, Re-IQA uses two different datasets, both at full-scale and half-scale, as well as a diverse number of epochs, for the content-aware and the quality-aware encoder. In particular, the authors train the content-aware encoder on the 1.28 images of the ImageNet dataset \cite{deng2009imagenet} for 200 epochs. Thus, the total number of training examples for the content-aware encoder is given by 1.28M (training dataset) $\times$ 2 (scales) $\times$ 200 (epochs) $\!=\!$ 512M. For the quality-aware encoder, Re-IQA uses the 140K pristine images from the KADIS dataset and the same combination of datasets with authentic distortions as CONTRIQUE, for a total of 760K images. Given that the authors train the quality-aware encoder for 25 epochs, the total number of training examples results in 760K (training dataset) $\times$ 2 (scales) $\times$ 25 (epochs) $\!=\!$ 38M. Considering both the content-aware and the quality-aware encoders, Re-IQA requires a total of 550M images for training.


Ultimately, despite using only the 4.3\% and 0.5\% of the training examples compared, respectively, to CONTRIQUE and Re-IQA, \method manages to achieve state-of-the-art performance on several IQA datasets, thereby showing improved data efficiency. 


\section{Additional Experimental Results}

\subsection{Full-Reference Image Quality Assessment}

\begin{table*}
  \centering
  \Large
  \resizebox{0.6\linewidth}{!}{ %< auto-adjusts font size to fill line
  \begin{tabular}{lccccccccc} 
  \toprule
  \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{2}{c}{\live} & \multicolumn{2}{c}{\csiq} & \multicolumn{2}{c}{\tid} &\multicolumn{2}{c}{\kadid} \\
  \multicolumn{1}{l}{Method} & \multicolumn{1}{c}{Type} & \srcc & \plcc & \srcc & \plcc & \srcc & \plcc & \srcc & \plcc \\ 
  \midrule
  PSNR & \multirow{4}{*}{Traditional} & 0.881 & 0.868 & 0.820 & 0.824 & 0.643 & 0.675 & 0.677 & 0.680 \\
  SSIM \cite{wang2004image} &  & 0.921 & 0.911 & 0.854 & 0.835 & 0.642 & 0.698 & 0.641 & 0.633 \\ 
  FSIM \cite{zhang2011fsim} &  & 0.964 & 0.954 & 0.934 & 0.919 & 0.852 & 0.875 & 0.854 & 0.850 \\
  VSI \cite{zhang2014vsi} &  & 0.951 & 0.940 & 0.944 & 0.929 & 0.902 & 0.903 & 0.880 & 0.878 \\ \midrule[0.01em]
  PieAPP \cite{prashnani2018pieapp} & \multirow{4}{*}{\shortstack[c]{Deep \\ learning}} & 0.915 & 0.905 & 0.900 & 0.881 & 0.877 & 0.850 & 0.869 & 0.869 \\
  LPIPS \cite{zhang2018unreasonable} &  & 0.932 & 0.936 & 0.884 & 0.906 & 0.673 & 0.756 & 0.721 & 0.713 \\
  DISTS \cite{ding2020image} &  & 0.953 & 0.954 & 0.942 & 0.942 & 0.853 & 0.873 & -- & -- \\
  DRF-IQA \cite{kim2020dynamic} &  & \textbf{0.983} & \textbf{0.983} & \underline{0.964} & 0.960 & \textbf{0.944} & \textbf{0.942} & -- & -- \\ \midrule[0.01em]
  CONTRIQUE-FR \cite{madhusudana2022image} & \multirow{2}{*}{SSL + LR} & 0.966 & 0.966 & 0.956 & \underline{0.964} & 0.909 & 0.915 & \textbf{0.946} & \textbf{0.947} \\
  Re-IQA-FR \cite{saha2023re} &  & \underline{0.969} & \underline{0.974} & 0.961 & 0.962 & \underline{0.920} & \underline{0.921} & \underline{0.933} & \underline{0.936} \\ \midrule
  \rowcolor{tabhighlight}
  \textbf{\method-FR} & SSL + LR & \underline{0.969} & 0.972 & \textbf{0.971} & \textbf{0.975} & 0.898 & 0.901 & 0.920 & 0.919 \\
  \bottomrule
  \end{tabular}}
  \caption{Comparison between the proposed approach and competing methods for the FR-IQA task. Best and second-best scores are highlighted in bold and underlined, respectively, -- denotes results not reported in the original paper. SSL and LR stands for self-supervised learning and linear regression, respectively.}
  \label{tab:full_reference_results}
\end{table*}

We can easily extend our approach to the Full-Reference Image Quality Assessment (FR-IQA) task. FR-IQA aims to evaluate the quality of a distorted image in the setting in which a high-quality reference version is available. Similarly to \cite{madhusudana2022image, saha2023re}, we incorporate the information provided by the reference image with:
%
\begin{equation}
    y = W \left | h_{ref} - h_{dist} \right |
\end{equation}
%
where $y$ is the quality score, $W$ indicates the trainable weights of the regressor, and $h_{ref}$ and $h_{dist}$ are the representations of the reference and distorted image, respectively. Therefore, the regressor predicts the quality score associated with the difference between the embeddings of the reference and the distorted image.

We follow the same evaluation protocol described in Sec. {\color{red}4.3}, thereby not fine-tuning the encoder weights for the FR-IQA task. Note that we can only evaluate the performance on FR-IQA with datasets consisting of synthetic distortions, given the unavailability of a reference image for datasets with realistic degradations. We report the results in \cref{tab:full_reference_results}. Despite being designed for NR-IQA, \method obtains competitive results also on FR-IQA, thus further proving the effectiveness of our approach. Moreover, we observe that the additional information provided by the high-quality reference image leads to improved performance, compared to the NR-IQA setting reported in Tab. {\color{red}1}.

\subsection{Regressor Regularization Coefficient}
We recall that during evaluation we freeze the encoder weights and map the image representations to quality scores using simple linear regression, as in Re-IQA \cite{saha2023re}. In particular, we employ a Ridge regressor \cite{hoerl1970ridge} with a regularization coefficient $\alpha\!=\!0.1$ for all the testing datasets. On the contrary, Re-IQA performs a grid search over values in the range $\left[ 10^{-3}, 10^{3} \right]$ on the validation set for each dataset. To assess the robustness of both \method and Re-IQA with respect to the choice of the regularization coefficient of the Ridge regression, we conduct an evaluation considering various values in the range $\left[ 10^{-3}, 10^{3} \right]$. \Cref{tab:regressor_regularization_coefficient} shows the results for the SRCC metric on the validation set of the \kadid dataset \cite{kadid10k}. As explained in Sec. {\color{red}4.3}, we report the median of the results of 10 random training/validation/test splits. We observe that our approach is significantly more robust than Re-IQA. In fact, the difference $\Delta$ between the best and worst results obtained for the various values of the regularization coefficient is considerably lower compared to Re-IQA.


\begin{table}
    \centering
    % \Large
    % \resizebox{\linewidth}{!}{ %< auto-adjusts font size to fill line
    \begin{tabular}{lch}
        \toprule
        \multicolumn{1}{c}{} & \multicolumn{2}{c}{Method} \\
        \cmidrule(lr){2-3}
        Coefficient & Re-IQA$^{\dagger}$ & \textbf{\method} \\
        \midrule
        $\alpha \!=\! 0.001$ & 0.499 & 0.900 \\
        $\alpha \!=\! 0.01$ & 0.565 & 0.907 \\
        $\alpha \!=\! 0.1$ & 0.690 & 0.912 \\
        $\alpha \!=\! 1$ & 0.763 & 0.914 \\
        $\alpha \!=\! 10$ & 0.842 & 0.907 \\
        $\alpha \!=\! 100$ & 0.862 & 0.894 \\
        $\alpha \!=\! 1000$ & 0.858 & 0.859 \\ \midrule
        Best & 0.862 & \textbf{0.914} \\
        Worst & 0.499 & \textbf{0.859} \\
        $\Delta$ & 0.368 & \textbf{0.055} \\
        \bottomrule
    \end{tabular}
    % }
    \caption{Results for varying regressor regularization coefficient $\alpha$ for the SRCC metric on the validation set of the \kadid dataset \cite{kadid10k}. $\Delta$ indicates the difference between the best and worst scores. $^{\dagger}$ denotes results evaluated by us with the official pre-trained models. The best scores are highlighted in bold.}
    \label{tab:regressor_regularization_coefficient}
\end{table}

\subsection{gMAD Competition}
We conduct the group maximum differentiation (gMAD) competition \cite{ma2016group} between \method and CONTRIQUE \cite{madhusudana2022image} to evaluate the robustness of our model. See Sec. {\color{red}4.4} for more details about gMAD. We report the results in \cref{fig:gmad_contrique}. When we fix \method at a low-quality level (\cref{fig:ours_def_low}), CONTRIQUE struggles to identify picture pairs with a clear quality disparity. On the contrary, when fixing \method at a high-quality level, the image pair found by CONTRIQUE shows a slight divergence in quality. However, when acting as the attacker (\cref{fig:ours_att_low,fig:ours_att_high}), \method succeeds in highlighting the failures of CONTRIQUE by identifying image pairs exhibiting considerably different quality. Therefore, our method demonstrates superior robustness to that of CONTRIQUE. 

\begin{figure}
    \centering
    \begin{subfigure}{0.225\linewidth}
        \includegraphics[width=\linewidth]{WACV2024/imgs/gmad/gmad-contrique_att_ours_def_low.pdf}
        \caption{}
        \label{fig:ours_def_low}
    \end{subfigure}
    \hfill
    \begin{subfigure}{0.225\linewidth}
        \includegraphics[width=\linewidth]{WACV2024/imgs/gmad/gmad-contrique_att_ours_def_high.pdf}
        \caption{}
        \label{fig:ours_def_high}
    \end{subfigure}
    \hfill
    \begin{subfigure}{0.225\linewidth}
        \includegraphics[width=\linewidth]{WACV2024/imgs/gmad/gmad-ours_att_contrique_def_low.pdf}
        \caption{}
        \label{fig:ours_att_low}
    \end{subfigure}
    \hfill
    \begin{subfigure}{0.225\linewidth}
        \includegraphics[width=\linewidth]{WACV2024/imgs/gmad/gmad-ours_att_contrique_def_high.pdf}
        \caption{}
        \label{fig:ours_att_high}
    \end{subfigure}
    \caption{gMAD competition results between \method and CONTRIQUE \cite{madhusudana2022image}. (a) and (b): Fixed \method at a low- and high-quality level, respectively. (c) and (d): Fixed CONTRIQUE at a low- and high-quality level, respectively.}
    \label{fig:gmad_contrique}
\end{figure}

\subsection{Manifold Visualization}
We carry out an experiment to visualize the inherent structure of the distortion manifold learned by our model. Given two distortion types, our aim is to study the positions occupied in the manifold by images that exhibit both single and combined degradation patterns with varying levels of intensity. For a model that effectively learned the image distortion manifold, we expect images showing combined degradation patterns to occupy positions within the manifold that are intermediate to the locations associated with the single distortions themselves.

To conduct this study, we consider 1000 randomly selected pristine images from the KADIS dataset \cite{kadid10k} and the Gaussian blur and white noise distortions (see \cref{sec:distortion_types} for more details). First, we distort the images individually with each of the two degradations under consideration, using 5 different levels of intensity. Then,
we consider all the possible combinations of the degrees of intensity of the Gaussian blur and white noise distortions, taken in this order. Finally, we distort each of the pristine images with each combination by applying the two distortions consecutively. Therefore, for each image, we obtain 5 + 5 embeddings corresponding to the single blur and noise distortions, and 5 $\times$ 5 representations for the combined ones.

\Cref{fig:reiqa_manifold_visualization,fig:ours_manifold_visualization} shows the UMAP visualization \cite{mcinnes2018umap} of the embeddings obtained with Re-IQA \cite{saha2023re} and \method, respectively. As we can see, compared to Re-IQA, our approach leads to a smoother transition between the points corresponding to the single and combined degradations. Indeed, the stronger the intensity of the noise distortion, the closer the points are to the cluster of images degraded only with white noise. Note that most of the points corresponding to combined degradation patterns lie closer to the cluster of images distorted only with white noise as it was applied after the blur. Indeed, the final degradation in a distortion composition corresponds to more visible patterns, as they are not modified by subsequent degradations.

\begin{figure}
    \centering
    \begin{subfigure}{0.9\linewidth}
        \captionsetup{skip=8pt}
        \includegraphics[width=\linewidth]{WACV2024/imgs/supplementary/reiqa_gradient_umap_50neigh_0.99mindist.png}
        \caption{Re-IQA \cite{saha2023re} \vspace{3ex}}
        \label{fig:reiqa_manifold_visualization}
    \end{subfigure}
    \begin{subfigure}{0.9\linewidth}
        \captionsetup{skip=8pt}
        \includegraphics[width=\linewidth]{WACV2024/imgs/supplementary/ours_gradient_umap_50neigh_0.99mindist.png}
        \caption{\method}
        \label{fig:ours_manifold_visualization}
    \end{subfigure}
    
    \caption{Manifold visualization with UMAP \cite{mcinnes2018umap} of the embeddings of 1000 images degraded with Gaussian blur and white noise distortions, applied in this order. The color of each point is given by the weighted average between the colors of blur (red) and noise (yellow), based on the degradation intensity. A higher alpha value corresponds to a stronger degradation intensity.}
    \label{fig:manifold_visualization}
\end{figure}

\section{Image Degradation Model}

\subsection{Distortion Compositions}
In \cref{fig:distortion_compositions} we report some examples of images belonging to the KADIS dataset \cite{kadid10k} subjected to distortion compositions obtained through our image degradation model. We notice how the proposed degradation model leads to images showing a large variety of distortion patterns. In this way, our model is able to effectively learn the image distortion manifold.

\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \renewcommand{\arraystretch}{0.5}
    \resizebox{\textwidth}{!}{
    \begin{tabular}{cccccccccc}
        \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/mt-fuji-1225927_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/vw-246364_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/watch-690457_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/cows-87544_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/flower-1266761_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/milipol-claude-gueant-836171_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/budapest-109172_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/bratislava-1339503_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/industry-rock-1626834_crop.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/arable-247612_crop.png} \\
        \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/B_ds_mt-fuji-1225927_6.00color_block_1.00high_sharpen_8.00color_shift.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_vw-246364_0.40darken_1.00high_sharpen_2.00color_saturation2_0.10pixelate.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/B_ds_watch-690457_0.40darken_0.10color_saturation1.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_cows-87544_32.00jpeg2000_0.01multiplicative_noise.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_flower-1266761_2.00motion_blur_3.00high_sharpen_9.00color_saturation2_0.20brighten.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_milipol-claude-gueant-836171_0.02impulse_noise_0.00color_saturation1_0.00contrast_change_4.00lens_blur.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/B_ds_budapest-109172_80.00non_eccentricity_patch_43.00jpeg.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_bratislava-1339503_6.00motion_blur_0.10brighten_-0.40color_saturation1_0.05jitter.png}  & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/B_ds_industry-rock-1626834_24.00jpeg_3.00color_diffusion.png} & \includegraphics{WACV2024/imgs/supplementary/distortion_compositions/A_ds_arable-247612_0.00white_noise_0.20color_saturation1_0.80darken.png} \\
    \end{tabular}
    }
    \caption{Comparison between pristine images from the KADIS dataset \cite{kadid10k} and their distorted versions using the proposed degradation model. \textit{Top}: Pristine images. \textit{Bottom}: Distorted images.}
    \label{fig:distortion_compositions}
\end{figure*}

\subsection{Distortion Types} \label{sec:distortion_types}
Our image degradation model considers 24 different degradation types divided into the 7 distortion groups defined by the \kadid dataset \cite{kadid10k}. Each distortion has 5 levels of increasing intensity. \Cref{fig:brightness_change,fig:blur,fig:spatial_distortions,fig:noise,fig:color_distortions,fig:compression,fig:sharpness_contrast} shows the different levels of intensity for the degradations of each distortion group. The distortion types that we consider are mainly inspired by those of the \kadid dataset and are described in the list below:
\begin{enumerate}
    \item Brightness change:
        \begin{itemize}
            \item \textit{Brighten}: applies a sequence of color space transformations, curve adjustments, and blending operations to enhance the brightness of an input image, resulting in an output image with increased visual intensity;
            \item \textit{Darken}: similar to brighten operation, but it leads to a decreased visual intensity;
            \item \textit{Mean shift}: changes the average intensity of image pixels by adding a fixed amount to all the pixel values. Then, limits the resulting values to remain within the initial image range;
        \end{itemize}
    \item Blur:
        \begin{itemize}
            \item \textit{Gaussian blur}: filters every pixel of the image with a simple Gaussian kernel.
            \item \textit{Lens blur}: filters every pixel of the image with a circular kernel;
            \item \textit{Motion blur}: filters every pixel of the image with a linear motion blur kernel to simulate the effect of a moving camera or a moving object in the scene. Consequently, the image appears blurred in the direction of the motion;
        \end{itemize}
    \item Spatial distortions:
        \begin{itemize}
            \item \textit{Jitter}: randomly disperses image data by warping each pixel with small offsets;
            \item \textit{Non-eccentricity patch}: randomly extracts patches from the image and inserts them in random neighboring positions;
            \item \textit{Pixelate}: combines operations of downscaling and upscaling using nearest-neighbor interpolation;
            \item \textit{Quantization}: quantizes the image into $N$ uniform levels. The thresholds are computed dynamically using Multi-Otsu’s method \cite{liao2001fast};
            \item \textit{Color block}: randomly overlays homogeneous colored squared patches onto the image;
        \end{itemize}
    \item Noise:
        \begin{itemize}
            \item \textit{White noise}: adds Gaussian white noise to the image;
            \item \textit{White noise in color component}: converts the image to the YCbCr color space, then adds Gaussian white noise to each channel;
            \item \textit{Impulse noise}: adds salt and pepper noise to the image;
            \item \textit{Multiplicative noise}: adds speckle noise to the image;
        \end{itemize}
    \item Color distortions:
        \begin{itemize}
            \item \textit{Color diffusion}: converts the image to the LAB-color space, then applies Gaussian blur to each channel;
            \item \textit{Color shift}: randomly shifts the green channel and then blends it into the original image, masked by the normalized gradient magnitude of the original image;
            \item \textit{Color saturation 1}: converts the image to the HSV-color space and then multiplies the saturation channel by a factor;
            \item \textit{Color saturation 2}: converts the image to the LAB-color space, then multiply each color channel by a factor;
        \end{itemize}
    \item Compression:
        \begin{itemize}
            \item \textit{JPEG2000}: applies standard JPEG2000 compression to the image;
            \item \textit{JPEG}: applies standard JPEG compression to the image;
        \end{itemize}
    \item Sharpness \& contrast:
        \begin{itemize}
            \item \textit{High sharpen}: sharpens the image in the LAB-color space using unsharp masking;
            \item \textit{Nonlinear contrast change}: calculates a nonlinear tone mapping operation to manipulate the contrast of the image;
            \item \textit{Linear contrast change}: calculates a linear tone mapping operation to manipulate the contrast of the image;
        \end{itemize}
\end{enumerate}

% Brightness change
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 Brighten & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/brighten0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/brighten1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/brighten2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/brighten3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/brighten4.jpg} \\ [6.15ex]
 Darken & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/darken0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/darken1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/darken2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/darken3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/darken4.jpg} \\ [6.15ex]
 Mean shift & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/meanshift3.jpg} & 
 \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/meanshift1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/meanshift0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/meanshift2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/brightness_change/meanshift4.jpg} \\
 
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Brightness change} group for increasing levels of intensity.}
\label{fig:brightness_change}
\end{figure*}

% Blur
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 Gaussian blur & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/gaublur0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/gaublur1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/gaublur2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/gaublur3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/gaublur4.jpg} \\ [6.15ex]
 Lens blur & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/lensblur0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/lensblur1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/lensblur2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/lensblur3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/lensblur4.jpg} \\ [6.15ex]
 Motion blur & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/motionblur0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/motionblur1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/motionblur2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/motionblur3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/blur/motionblur4.jpg} \\ 
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Blur} group for increasing levels of intensity.}
\label{fig:blur}
\end{figure*}

% Spatial distortions
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 Jitter & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/jitter0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/jitter1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/jitter2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/jitter3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/jitter4.jpg} \\ [6.15ex]
 Non-eccentricity patch & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/noneccpatch0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/noneccpatch1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/noneccpatch2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/noneccpatch3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/noneccpatch4.jpg} \\ [6.15ex]
 Pixelate & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/pixelate0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/pixelate1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/pixelate2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/pixelate3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/pixelate4.jpg} \\ [6.15ex]
 Quantization & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/quantization0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/quantization1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/quantization2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/quantization3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/quantization4.jpg} \\ [6.15ex]
 Color block & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/colorblock0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/colorblock1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/colorblock2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/colorblock3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/spatial_distortions/colorblock4.jpg} \\
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Spatial distortions} group for increasing levels of intensity.}
\label{fig:spatial_distortions}
\end{figure*}

% Noise
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 White noise & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoise0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoise1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoise2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoise3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoise4.jpg} \\ [6.15ex]
 White noise \newline color \newline component & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoiseCC0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoiseCC1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoiseCC2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoiseCC3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/whitenoiseCC4.jpg} \\ [6.15ex]
 Impulse noise & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/impulsenoise0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/impulsenoise1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/impulsenoise2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/impulsenoise3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/impulsenoise4.jpg} \\ [6.15ex]
 Multiplicative noise & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/multnoise0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/multnoise1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/multnoise2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/multnoise3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/noise/multnoise4.jpg} \\
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Noise} group for increasing levels of intensity.}
\label{fig:noise}
\end{figure*}

% Color distortion
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 Color diffusion & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colordiff0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colordiff1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colordiff2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colordiff3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colordiff4.jpg} \\ [6.15ex]
 Color shift & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorshift0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorshift1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorshift2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorshift3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorshift4.jpg} \\ [6.15ex]
 Color saturation 1 & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat10.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat11.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat12.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat13.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat14.jpg} \\ [6.15ex]
 Color saturation 2 & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat20.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat21.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat22.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat23.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/color_distortion/colorsat24.jpg} \\
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Color distortions} group for increasing levels of intensity.}
\label{fig:color_distortions}
\end{figure*}

% Compression
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 JPEG2000 & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg20000.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg20001.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg20002.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg20003.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg20004.jpg} \\ [6.15ex]
 JPEG & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/compression/jpeg4.jpg} \\
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Compression} group for increasing levels of intensity.}
\label{fig:compression}
\end{figure*}

% Sharpness & contrast
\begin{figure*}
    \centering
    \setlength{\tabcolsep}{1pt}
    \Large
    \resizebox{\textwidth}{!}{ %< auto-adjusts font size to fill line
\begin{tabular}{C{6em}ccccc}
         & Level 1 & Level 2 & Level 3 & Level 4 & Level 5 \\
 High sharpen & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/highsharpen0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/highsharpen1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/highsharpen2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/highsharpen3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/highsharpen4.jpg} \\ [6.15ex]
 Nonlinear contrast change & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchange4.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchange2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchange0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchange1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchange3.jpg} \\ [6.15ex]
 Linear contrast change & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchangecsiq0.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchangecsiq1.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchangecsiq2.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchangecsiq3.jpg} & \includegraphics[width=\gridimagewidth,valign=m]{WACV2024/imgs/supplementary/distortions/sharpness_contrast/contrchangecsiq4.jpg} \\
\end{tabular}
}
\caption{Visualization of the degradation types belonging to the \textit{Sharpness \& contrast} group for increasing levels of intensity.}
\label{fig:sharpness_contrast}
\end{figure*}

%%%%%%%%% REFERENCES
{\small
\bibliographystyle{ieee_fullname}
\bibliography{egbib}
}

\end{document}
