\documentclass[final]{beamer}
\usepackage{grffile}
\mode<presentation>{\usetheme{I6pd2}}
%\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsthm, amssymb, latexsym}
%\usepackage{times}\usefonttheme{professionalfonts}  % obsolete
%\usefonttheme[onlymath]{serif}
\boldmath
\usepackage[orientation=portrait,size=a0,scale=1.4,debug]{beamerposter}
% change list indention level
% \setdefaultleftmargin{3em}{}{}{}{}{}


%\usepackage{snapshot} % will write a .dep file with all dependencies, allows for easy bundling

\usepackage{threeparttable,array,booktabs,tabularx,algorithm,algorithmic}
\newcolumntype{Z}{>{\centering\arraybackslash}X} % centered tabularx columns
\newcommand{\pphantom}{\textcolor{ta3aluminium}} % phantom introduces a vertical space in p formatted table columns??!!
\newcommand{\argmax}{\operatornamewithlimits{argmax}}
\newcommand{\argmin}{\operatornamewithlimits{argmin}}
\newcommand{\dom}{\operatornamewithlimits{dom}}
\newcommand{\tr}{\operatornamewithlimits{tr}}

\listfiles

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\graphicspath{{figures/}}
 
\title{\huge Can a Single Image Denoising Neural Network Handle All Levels of Gaussian Noise?}
\author{Yi-Qing Wang, Qi-Wen Fang}
\institute[ENS Cachan]{CMLA, Ecole Normale Supérieure de Cachan, France}
\date[1er Septembre, 2014]{1er Septembre, 2014}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength{\columnheight}
\setlength{\columnheight}{105cm}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{frame}
  \begin{columns}
    % ---------------------------------------------------------%
    % Set up a column 
    \begin{column}{.49\textwidth}
      \begin{beamercolorbox}[center,wd=\textwidth]{postercolumn}
        \begin{minipage}[T]{.95\textwidth}  % tweaks the width, makes a new \textwidth
          \parbox[t][\columnheight]{\textwidth}{ % must be some better way to set the the height, width and textwidth simultaneously
            % Since all columns are the same length, it is all nice and tidy.  You have to get the height empirically
            % ---------------------------------------------------------%
            % fill each column with content            
            \begin{block}{Introduction}
              \begin{itemize}
              \item A recently introduced set of deep neural networks \cite{burger2012image} designed for the image denoising achieves state-of-the-art performance. Yet they are specialized networks in that each of them can handle just one noise level fixed in their respective training process.
              \item We show \cite{wang2014can} how to make a single existing deep neural network work well across all levels of Gaussian noise, thereby allowing to significantly reduce the training time for a general-purpose image denoising neural network.
              \end{itemize}              
            \end{block}
            \vfill
            \begin{block}{Setting}
              \begin{itemize}
		\item let $x$, $\tilde{x}$, and $y$ denote the clean, noisy and denoised patch where $y$ does not necessarily have the same dimension as $\tilde{x}$. All the neural networks under this study produce a $y \in \mathbb{R}^{17\times 17}$ based on a $39$-by-$39$ noisy observation $\tilde{x}$ including $y$'s corresponding noisy pixels as well as its surrounding ones. 
		\item with the \textit{true} natural patch distribution beyond reach, a huge number of patches are drawn stochastically \cite{bottou2010large} from a large natural image dataset to provide the underlying distribution for computing
\begin{align}
\theta^* &=\argmin_{\theta}\mathbb{E}\|f(\tilde{x}, \theta) - x\|_2^2 \label{ann} \\
	&= \argmin_{\theta}\mathbb{E}\|f(\tilde{x}, \theta) - \mathbb{E}[x | \tilde{x}]\|_2^2 \notag 
\end{align} where $f(\cdot, \theta)$ is a neural network parametrized by its connection weights $\theta$. 
	\item due to this problem's non-convex nature in general, instead of the potentially intractable $\theta^*$, a good $\theta$, judged on the basis of the resulting network's generalization error, is usually accepted as a solution.
	\item in spite of their impressive performance, the proposed deep networks are impractical. As stated in the paper itself: \textit{our most competitive MLP is tailored to a single level of noise and does not generalize well to other noise levels. This is a serious limitation which we already tried to overcome with an MLP trained on several noise levels. However, the latter does not yet achieve the same performance for $\sigma = 25$ as the specialized MLP}. 
              \end{itemize}
            \end{block}
            \vfill
            \begin{block}{Key observation}
              \begin{columns}
                \begin{column}{.5\textwidth}
              \begin{itemize}
		\item we drew $10^6$ $39$-by-$39$ random patches from the \textit{PASCAL VOC 2012} rendered to grayscale with \textit{Matlab}'s \texttt{rgb2gray} function. The patches were then normalized using the formula
\begin{align}
\bar{p} = (p / 255 - 0.5) \cdot 5 \label{lscale}
\end{align} 
provided in \cite{burger2012image}. Their population distribution along mean and standard deviation is plotted here. 
              \end{itemize}
                \end{column}
                \begin{column}{.49\textwidth}
               \includegraphics[width=1\linewidth]{redundant/Figures/heatmapVOC}
                \end{column}
  		\end{columns}
		\hskip1em
		\begin{itemize}
		\item the means of the normalized natural patches concentrate around $-0.5$. Even without access to the supervised pairs used in \cite{burger2012image}, we may expect their trained neural networks to do well with patches from this neighborhood because of the sheer number of examples available. 
		\item the patch-wide variance peaking at the patch-wide means around $-0.5$ strongly indicates a higher tolerance for linear transforms there, that is, it is more probable for a natural patch $p$ transformed by 
\begin{align*}
q = a \cdot ( p - s ) \;\; \text{with $s$ some constant patch and $a \geq 0$} 
\end{align*}
to remain \textit{natural} if $q$'s mean is close to $-0.5$.
\begin{algorithm}[H]
\renewcommand{\thealgorithm}{}
\floatname{algorithm}{Test}
\caption{Patch Mean Normalization Test}
\hskip0.5em
\begin{algorithmic}[1]
\STATE \textbf{Input:} $n$ clean patches $p_j$ of dimension $39 \times 39$ 
\STATE \textbf{Output:} $n$ denoised (resp. clean) $17\times 17$ patches $\widehat{\mathfrak{p}}_j$ (resp. $\mathfrak{p}_j$)
\STATE \textbf{Parameter:} noise variance $\sigma^2$ and desired patch mean value $\mathfrak{m}$ 
\FOR{$j=1$ to $n$}
\STATE retrieve the $17\times 17$ clean patch $\mathfrak{p}_j$ in the center of $p_j$
\STATE generate the normalized noisy patch $\tilde{x}_j \gets ((p_j + n_j)/255 - 0.5)\cdot 5$ with $n_j$ having $1521$ i.i.d. Gaussian random variables $\mathcal{N}(0, \sigma^2)$
\STATE compute the patch mean shift $s_j = \frac{1}{1521} \sum_{k=1}^{1521}\tilde{x}_{jk} - \mathfrak{m}$ where $\tilde{x}_{jk}$ is the $k$-th pixel in $\tilde{x}_j$
\STATE shift the network's input $\forall k,\; \tilde{x}_{jk} \gets \tilde{x}_{jk} - s_j$ 
\STATE denoise $y_j = f_\sigma(\tilde{x}_{j}, \theta)$ with the trained neural network 
\STATE shift the network's output by the same amount $\forall k,\; y_{jk} \gets y_{jk}+ s_j$ in the opposite direction
\STATE reverse the normalization $\widehat{\mathfrak{p}}_{j} \gets (y_j /5 + 0.5)\cdot 255$ 
\ENDFOR
\end{algorithmic}
\end{algorithm}
              \end{itemize}
            \end{block}
          }
        \end{minipage}
      \end{beamercolorbox}
    \end{column}
    % ---------------------------------------------------------%
    % end the column

    % ---------------------------------------------------------%
    % Set up a column 
    \begin{column}{.49\textwidth}
      \begin{beamercolorbox}[center,wd=\textwidth]{postercolumn}
        \begin{minipage}[T]{.95\textwidth} % tweaks the width, makes a new \textwidth
          \parbox[t][\columnheight]{\textwidth}{ % must be some better way to set the the height, width and textwidth simultaneously
            % Since all columns are the same length, it is all nice and tidy.  You have to get the height empirically
            % ---------------------------------------------------------%
            % fill each column with content
            \begin{block}{Generic Neural Network}
	\begin{itemize}
	\item this test run on $10^5$ $39$-by-$39$ random patches from the grayscale \textit{BSD500} showed that regardless of the applied noise strength $\sigma$, the best empirical performance in RMSE is attained with the patch mean shift set to $-0.5$. In addition, the optimal patch mean shift incurs surprisingly little RMSE loss, which is less than $0.1$ for a noise level as high as $75$.
\begin{algorithm}[H]
\renewcommand{\thealgorithm}{}
\caption{Generic Neural Network Denoising}
\hskip0.5em
\begin{algorithmic}[1]
\STATE \textbf{Input:} noisy patch $\tilde{p}$ of dimension $39\times 39$ and its noise level $\sigma$ 
\STATE \textbf{Output:} denoised $17\times 17$ patch $\widehat{\mathfrak{p}}$ 
\STATE \textbf{Parameter:} noise level $\sigma^*$ of the trained neural network $f_{\sigma^*}(\cdot, \theta)$ and optimal shift $\mathfrak{m} = -0.5$ 
\STATE Scale the noise $\tilde{p} \gets \sigma^* \sigma^{-1}\tilde{p}$  
\STATE Normalize the patch $\tilde{x} \gets (\tilde{p}/255 - 0.5)\cdot 5$
\STATE Compute the patch mean shift $s = \frac{1}{1521} \sum_{k=1}^{1521}\tilde{x}_{k} - \mathfrak{m}$ where $\tilde{x}_{k}$ is the $k$-th pixel in $\tilde{x}$
\STATE Shift the network's input mean $\forall k,\; \tilde{x}_{k} \gets \tilde{x}_{k} - s$ 
\STATE Run the generic neural network denoising $y = f_{\sigma^*}(\tilde{x}, \theta)$
\STATE Shift the network's output by the same amount $\forall k,\; y_{k} \gets y_{k}+ s$ in the opposite direction
\STATE Reverse the normalization $\widehat{\mathfrak{p}} \gets (y /5 + 0.5)\cdot 255 \cdot (\sigma^*\sigma^{-1})^{-1}$ 
\end{algorithmic}
\end{algorithm}
	\item
		\begin{tabularx}{\linewidth}{ZZ}
	        generic networks made of a single neural network versus the dedicated netowrks at different $\sigma$s	
		&
	        the generic network made of the neural network trained at $\sigma^* = 25$ versus the dedicated networks	
		\\
		\includegraphics[width=1\linewidth]{redundant/Figures/singleNN}
		&
		\includegraphics[width=1\linewidth]{redundant/Figures/singleNNsole}
		\end{tabularx}
	\end{itemize}
	\end{block}
            
            \begin{block}{Numerical Results}
		\vskip0.3ex
\centering RMSE comparison between the dedicated neural networks and our algorithm $\sigma^*=25$ at different noise levels 
\begin{table}
\centering 
\fontsize{10.6mm}{11.0mm}\selectfont
\begin{tabular}{cc}
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=25$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{7.99} & 8.10\\
\textbf{dice} & 2.77 & 2.77\\
\textbf{flower} & \textbf{4.59} & 4.63\\
\textbf{girl} & \textbf{3.38} & 3.41\\
\textbf{traffic} & \textbf{9.16} & 9.22\\
\textbf{valldemossa} & \textbf{11.85} & 11.99\\
\textsl{avg.} & \textbf{6.62} & 6.68\\
\hline
\end{tabular}
&
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=35$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{9.63} & 9.82\\
\textbf{dice} & \textbf{3.29} & 3.45\\
\textbf{flower} & \textbf{5.53} & 5.64\\
\textbf{girl} & \textbf{3.88} & 4.07\\
\textbf{traffic} & \textbf{10.81} & 10.94\\
\textbf{valldemossa} & \textbf{14.21} & 14.28\\
\textsl{avg.} & \textbf{7.89} & 8.03\\
\hline
\end{tabular}
\\
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=50$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{11.59} & 11.92\\
\textbf{dice} & \textbf{4.17} & 4.50\\
\textbf{flower} & \textbf{6.85} & 7.06\\
\textbf{girl} & \textbf{4.60} & 4.92\\
\textbf{traffic} & \textbf{12.83} & 13.07\\
\textbf{valldemossa} & \textbf{16.98} & 17.06\\
\textsl{avg.} & \textbf{9.50} & 9.75\\
\hline
\end{tabular}
&
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=65$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{13.16} & 13.82\\
\textbf{dice} & \textbf{4.83} & 5.39\\
\textbf{flower} & \textbf{7.89} & 8.20\\
\textbf{girl} & \textbf{5.28} & 5.74\\
\textbf{traffic} & \textbf{14.32} & 14.78\\
\textbf{valldemossa} & \textbf{18.67} & 18.99\\
\textsl{avg.} & \textbf{10.69} & 11.15\\
\hline
\end{tabular}
\\
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=75$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{14.10} & 14.78\\
\textbf{dice} & \textbf{5.48} & 6.14\\
\textbf{flower} & \textbf{8.57} & 8.96\\
\textbf{girl} & \textbf{5.66} & 6.20\\
\textbf{traffic} & \textbf{15.08} & 15.56\\
\textbf{valldemossa} & \textbf{19.97} & 20.34\\
\textsl{avg.} & \textbf{11.47} & 11.99\\
\hline
\end{tabular}
&
\begin{tabular}{l*{2}{c}r}
\\[3pt]\hline
\textbf{$\sigma=170$} & \textbf{ dedicated} & \textbf{ generic}\\
\hline
\textbf{computer} & \textbf{20.51} & 21.81\\
\textbf{dice} & \textbf{9.23} & 10.92\\
\textbf{flower} & \textbf{12.84} & 13.64\\
\textbf{girl} & \textbf{8.79} & 10.54\\
\textbf{traffic} & \textbf{20.71} & 21.72\\
\textbf{valldemossa} & \textbf{26.42} & 27.26\\
\textsl{avg.} & \textbf{16.41} & 17.64\\
\hline
\end{tabular}
\end{tabular}\label{fullres}
\end{table}


            \end{block}
            \begin{block}{References}
		 {\small 
     		  \setbeamertemplate{bibliography item}[text] 
     		  \bibliographystyle{plain} 
     		  \bibliography{redundant/refs}    % i.e. the poster.bib file 
    		 } 
            \end{block}
          }
          % ---------------------------------------------------------%
          % end the column
        \end{minipage}
      \end{beamercolorbox}
    \end{column}
    % ---------------------------------------------------------%
    % end the column
  \end{columns}
  %\tiny\hfill\textcolor{ta2gray}{Created with \LaTeX \texttt{beamerposter}  \url{http://www-i6.informatik.rwth-aachen.de/~dreuw/latexbeamerposter.php}}
%  \tiny\hfill{Created with \LaTeX \texttt{beamerposter}  \url{http://www-i6.informatik.rwth-aachen.de/~dreuw/latexbeamerposter.php} \hskip1em}
\end{frame}
\end{document}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Local Variables: 
%%% mode: latex
%%% TeX-PDF-mode: t
%%% End:
