|
|
@@ -101,7 +101,7 @@ value based on that model. One such algorithm is direct binary seach (DBS) |
|
|
|
(LSMB) \cite{lsmb}. |
|
|
|
|
|
|
|
HVS models are usually low-pass filters. Nasanen \cite{nasanen}, Analoui |
|
|
|
and Allebach \cite{allebach} found that using gaussian models gave visually |
|
|
|
and Allebach \cite{allebach} found that using Gaussian models gave visually |
|
|
|
pleasing results, an observation confirmed by independent visual perception |
|
|
|
studies \cite{mcnamara}. |
|
|
|
|
|
|
@@ -140,8 +140,8 @@ mean square error between modified versions of the images, in the form: |
|
|
|
E(h,b) = \frac{(||v * h_{i,j} - v * b_{i,j}||_2)^2}{wh} |
|
|
|
\end{equation} |
|
|
|
|
|
|
|
where $w$ and $h$ are the image dimensions, $*$ denotes the convolution and $v$ |
|
|
|
is a model for the human visual system. |
|
|
|
\noindent where $w$ and $h$ are the image dimensions, $*$ denotes the |
|
|
|
convolution and $v$ is a model for the human visual system. |
|
|
|
|
|
|
|
To compensate for the slight translation experienced in the halftone, we |
|
|
|
use the following error metric instead: |
|
|
@@ -150,10 +150,10 @@ use the following error metric instead: |
|
|
|
E_{dx,dy}(h,b) = \frac{(||v * h_{i,j} - v * t_{dx,dy} * b_{i,j}||_2)^2}{wh} |
|
|
|
\end{equation} |
|
|
|
|
|
|
|
where $t_{dx,dy}$ is an operator which translates the image along the $(dx,dy)$ |
|
|
|
vector. |
|
|
|
\noindent where $t_{dx,dy}$ is an operator which translates the image along the |
|
|
|
$(dx,dy)$ vector. |
|
|
|
|
|
|
|
A simple example can be given using a gaussian HVS model: |
|
|
|
A simple example can be given using a Gaussian HVS model: |
|
|
|
|
|
|
|
\begin{equation} |
|
|
|
v(x,y) = e^{\frac{x^2+y^2}{2\sigma^2}} |
|
|
@@ -165,7 +165,7 @@ Finding the second filter is then straightforward: |
|
|
|
(v * t_{dx,dy})(x,y) = e^{\frac{(x-dx)^2+(y-dy)^2}{2\sigma^2}} |
|
|
|
\end{equation} |
|
|
|
|
|
|
|
Experiment shows that for a given image and a given corresponding halftone, |
|
|
|
Experiments show that for a given image and a given corresponding halftone, |
|
|
|
$E_{dx,dy}$ has a local minimum almost always away from $(dx,dy) = (0,0)$ (Fig. |
|
|
|
\ref{fig:lena-min}). Let $E$ be an error metric where this remains true. We |
|
|
|
call the local minimum $E_{min}$: |
|
|
@@ -178,7 +178,7 @@ call the local minimum $E_{min}$: |
|
|
|
\begin{center} |
|
|
|
\input{lena-min} |
|
|
|
\caption{Mean square error for the \textit{Lena} image. $v$ is a simple |
|
|
|
$11\times11$ gaussian convolution kernel with $\sigma = 1.2$ and |
|
|
|
$11\times11$ Gaussian convolution kernel with $\sigma = 1.2$ and |
|
|
|
$(dx,dy)$ vary in $[-1,1]\times[-1,1]$.} |
|
|
|
\label{fig:lena-min} |
|
|
|
\end{center} |
|
|
@@ -190,7 +190,7 @@ taking the displacement into account, the error becomes $7.77\times10^{-4}$ |
|
|
|
for $(dx,dy) = (0.167709,0.299347)$. The new, corrected error is significantly |
|
|
|
smaller, with the exact same input and output images. |
|
|
|
|
|
|
|
Experiment shows that the corrected error is always noticeably smaller except |
|
|
|
Experiments show that the corrected error is always noticeably smaller except |
|
|
|
in the case of images that are already mostly pure black and white. The |
|
|
|
experiment was performed on a database of 10,000 images from common computer |
|
|
|
vision sets and from the image board \textit{4chan}, providing a representative |
|
|
@@ -299,7 +299,7 @@ to be unstable \cite{stability}, and diffusing less than 100\% of the error is |
|
|
|
known to cause important error in shadow and highlight areas of the image. |
|
|
|
|
|
|
|
First we studied all possible coefficients on a pool of 250 images with an |
|
|
|
error metric $E$ based on a standard gaussian HVS model. Since we are studying |
|
|
|
error metric $E$ based on a standard Gaussian HVS model. Since we are studying |
|
|
|
algorithms on different images but error values are only meaningful for a given |
|
|
|
image, we chose a Condorcet voting scheme to determine winners. $E_{min}$ is |
|
|
|
only given here as an indication and had no role in the computation: |
|
|
|