From ed1590da532945ea40f057f1262ae3fae94ee9ce Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B8rn=20Rustad?= Date: Sun, 1 Feb 2015 18:41:05 +0100 Subject: [PATCH] BLEEP --- conclusion.tex | 69 ++++++++++++++++++++++++++ fig/factory/lena_eye/n_q30.pgm | Bin 16399 -> 16399 bytes fig/norm_evolution.tex | 2 +- introduction.tex | 87 ++++++++++++++++++--------------- main.tex | 1 + results.tex | 79 ++++++++++-------------------- 6 files changed, 143 insertions(+), 95 deletions(-) create mode 100644 conclusion.tex diff --git a/conclusion.tex b/conclusion.tex new file mode 100644 index 0000000..228b169 --- /dev/null +++ b/conclusion.tex @@ -0,0 +1,69 @@ +\chapter{Discussion and conclusion} + +In this thesis we have seen how the total variation restoration method +can be extended using an anisotropy tensor, and how this fits into the +discretization and graph cut framework used in my project work +\cite{project}. The anisotropy tensor was introduced in hopes of +reducing the amount of regularization across edges in the image. It was +constructed based on the structure tensor with three parameters exposed +for controlling the method. + +The continuous functional we initally wanted to minimize was then +transformed using an anisotropic coarea formula and an anisotropic +Cauchy--Crofton formula, both described in detail. The functional was +discretized, and the discretization was shown---under some +restrictions---to be consistent with the continuous functional. + +As in my project work~\cite{project} the discrete functional was +minimized using maximum flow algorithms to obtain successive minimum +graph cuts. The description of the push-relabel algorithm was included from +my project work for completeness, and a description of the +Boykov--Kolmogorov algorithm was also given, as it is taylored for these +kinds of graph cut applications. + +Effort was put into giving a complete overview of the method, describing +each part needed to go from the initial continuous problem, to the +discrete solution. This way, readers can get an understanding of the +inner workings of the method, and also easily be able to implement it. + +Further work is possible in the study of the continuous problem, its +well-foundedness, and also the anisotropic coarea and Cauchy--Crofton +formulas, which can be studied on a measure-theoretic foundation. +\fixme{tensor construction?} +Regarding the discretization, the choice of neighborhood stencil also +allows for further discussion, as approximation error can be traded for +algorithm performance. Opening for non-uniform stencils, where the +stencil choice depends on the level of detail in the neighborhood is +also a possiblity. + +In the end we looked at how the different parameters affect the +performance of the algorithm. We will not give any unified conclusion as +to whether this method is ``better'' or ``worse'' than the regular total +variation method it is based on, or other methods. In different +applications the input images have different properties, and one might +also have different hopes for, and restrictions on the output image. But +we have seen that the anisotropy can help reduce the contrast loss. + +%Because we have spread our attention across all parts of the restoration +%method, it is also possible to go deeper into the theory behind all of +%them. The well-foundedness of the continuous formulation and the +%anisotropic coarea and Cauchy--Crofton formula could have been studied +%further on a measure-theoretic foundation. Further, in the +%discretization there are a myriad of choices that could have been +%discussed further, most notably the construction of the neighborhood +%stencil, which has a lot to say for the performance, and approximation +%error of the discrete solution. Further, since we start in the discrete +%setting with a digital image, and obtain a guaranteed minimizer of the +%discrete functional, we did not discuss stability and convergence in +%relation to a theoretical solution to the continuous problem. +% +%In the end we looked at how the different parameters affect the +%performance of the algorithm. We will not give any unified conclusion as +%to whether this method is ``better'' or ``worse'' than the regular total +%variation method it is based on, or other methods. In different +%applications the input images have different properties, and one might +%also have different hopes for, and restrictions on the output image. +%Thus I hope a thorough description in addition to an inspection of +%restoration results has given insight into the good and not-so-good sides +%of this particular method. + diff --git a/fig/factory/lena_eye/n_q30.pgm b/fig/factory/lena_eye/n_q30.pgm index 2178676c13e4d5932557bab75638fa66198fb2b7..334a1324e9ede6380aca25242399f3469915ce8b 100644 GIT binary patch literal 16399 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 literal 16399 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 diff --git a/fig/norm_evolution.tex b/fig/norm_evolution.tex index 7a20014..ed85765 100644 --- a/fig/norm_evolution.tex +++ b/fig/norm_evolution.tex @@ -50,6 +50,6 @@ \end{subfigure} \caption[Fidelity energy $F_\lambda^x(1)$ as a function of $\lambda$]{% Two figures showing how the fidelity energy term $F_\lambda^x(1)$ - in \eqref{eq:total_energy} increases monotonically with $\lambda$. + in \eqref{eq:final_discretization} increases monotonically with $\lambda$. } \label{fig:norm_evolution} diff --git a/introduction.tex b/introduction.tex index 6ce490b..e020ab8 100644 --- a/introduction.tex +++ b/introduction.tex @@ -1,61 +1,68 @@ \chapter{Introduction} -[image processing] - -Image processing forms an important part of our modern computerized -world. Tasks previously reserved for humans, like detecting edges, -recognizing textures and inferring shapes and motions can now be -performed algorithmically. The background of these methods span several -fields, including phychology and biology for the study of human vision, -statistics and analysis for the mathematical background, and computer -science for their implementation and performance analysis. - -[image restoration] +Image processing is becoming an increasingly important part of our +modern computerized world. Tasks previously only performed by humans, +like detecting edges, recognizing textures and inferring shapes and +motions can now be performed algorithmically. The background of these +methods span several fields, including psychology and biology for the +study of human vision, statistics and analysis for the mathematical +background, and computer science for their implementation and +performance analysis. Image restoration methods are concerned with trying to remove noise in -images. There are numerous different ways to approach the problem. For -background we will discuss some before we go into detail on the total -variation method. - -[total variation] - +images. This noise can result from the physical nature of light +traveling to your sensor, dust on your lens, or many other sources. +Therefore +numerous different approaches exist, each having their own +strengths and weaknesses. Before going into +detail on the main focus of this thesis---the anisotropic total +variation method---we will look into some other popular methods. + +In my project work \cite{project}, I described a total variation based +image restoration method, using a graph cut framework for the numerical +solution. As the name suggests, total variation is a measure of how much variation -there is in an image, in total. Thus these methods are often trying to -reduce the total variation while still staying close to the original -image, in some sense. The main strength of the total variation method is -its ability to conserve edges, as it does not favor smooth gradients +there is in an image. Thus these methods are often trying to +reduce the total variation while still staying ``close'' to the original +image, in some sense. The main strength of the total variation +method is +its ability to recover edges. The total variation does not favor smooth gradients over edges like many other methods. However, it may introduce edges from -noise, and it may also reduce the total contrast in the image. - -mention project - -[thesis walkthrough] - -In this thesis we introduce an anisotropy tensor into the total -variation norm. This means making the norm directionally dependant, such -that we can control the weight of the variation based on the position, -and also the direction. The continuous problem is transformed through an +noise, and it may also reduce the contrast of the image. + +In this thesis we extend the total variation method by introducing an anisotropy +tensor into the total variation norm. This makes the norm +directionally dependant, such that we can control the regularization +applied based on position and direction. The main idea is then to reduce +the regularization across edges in the image. +The continuous problem is transformed through an anisotropic coarea formula and an anisotropic Cauchy--Crofton formula to -facilitate the discretization. This is one of the main parts of this -thesis. +facilitate the discretization. -The continuous formulation, now consisting of several integrals, is then -discretized into a series of sums, over the pixels in an image. We make +The integrals of the continuous formulation are discretized into sums, +and we make sure that the discrete formulation is consistent with the continuous one. - A provable optimal solution to the discrete problem is then found using a graph cut algorithm. For each level in the image, a graph is -constructed, and a minimum cut is found, and the restored image can then +constructed, and a minimum cut is found. The restored image can then be extracted from all these partial solutions. -For finding these minimum cuts, two algorithms are presented. The +For finding the minimum cuts, two algorithms are presented. The push-relabel algorithm is considered to be the fastest and most versatile for general graphs, while the Boykov--Kolmogorov algorithm is specially taylored for the type of graphs we find in these kinds of imaging applications. -Further we have some results, and then that's it. +In the end we inspect restoration results to see how the method +performs. The construction of the tensor exposes three parameters, two +controlling the scale of the structures it should be sensitive to, and +one controlling the amount of anisotropy. We experiment with these +parameters to show that they do what we expect them to do. The method is +also compared with regular the total variation method to see that some +improvements are achieved. We also explore and look at the different +artifacts caused by approximations in the discretization, and how they +affect the restoration. %In everyday life cameras are used to capture a moment and save it for %eternity, but imaging technology technology can be used in many other @@ -534,7 +541,7 @@ functional decomposed as a sum over all the level values on the form + \beta \sum_{\lambda = 0}^{L-2} \sum_{(x, y)} F^{x,y}(u^\lambda_x, u^\lambda_y) =: \sum_{\lambda=0}^{L-2} F_\lambda(u^\lambda) - \label{eq:total_energy} + \label{eq:old_total_energy} \end{equation} where the sum over $(x, y)$ is over all pixel pairs $(x, y)$ in a neighbor relation, i.e.\ where the pixels are ``close'' to each other. diff --git a/main.tex b/main.tex index 357f623..e08df0b 100644 --- a/main.tex +++ b/main.tex @@ -204,6 +204,7 @@ Bjørn Rustad, \today. \input{discrete} \input{maxflow} \input{results} +\input{conclusion} \cleardoublepage diff --git a/results.tex b/results.tex index fbeffa1..0e2635e 100644 --- a/results.tex +++ b/results.tex @@ -198,7 +198,10 @@ anisotropy affected the regularization is not obvious however. ~ \begin{subfigure}[t]{0.30\textwidth} \centering - \includegraphics[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r4_s2_color.png} + \begin{overpic}[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r4_s2_color.png} + \put(80,0){\includegraphics[scale=0.05]{fig/wheel.png}} + \end{overpic} + %\includegraphics[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r4_s2_color.png} \caption{% Restored with relatively high noise scale of $\sigma = 2$. } @@ -207,7 +210,10 @@ anisotropy affected the regularization is not obvious however. ~ \begin{subfigure}[t]{0.30\textwidth} \centering - \includegraphics[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r15_s0.2_color.png} + \begin{overpic}[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r15_s0.2_color.png} + \put(80,0){\includegraphics[scale=0.05]{fig/wheel.png}} + \end{overpic} + %\includegraphics[width=\textwidth]{fig/factory/lines/r_p2_n8_b10000_g100_r15_s0.2_color.png} \caption{% Restored with low noise scale $\sigma = 0.2$, but large integration scale $\rho = 15$. @@ -262,7 +268,10 @@ favour of the larger, more coherent structure around it. ~ \begin{subfigure}[t]{0.30\textwidth} \centering - \includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r10_s3_color.png} + \begin{overpic}[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r10_s3_color.png} + \put(80,80){\includegraphics[scale=0.05]{fig/wheel.png}} + \end{overpic} + %\includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r10_s3_color.png} \caption{% $\rho = 10$ } @@ -270,14 +279,18 @@ favour of the larger, more coherent structure around it. ~ \begin{subfigure}[t]{0.30\textwidth} \centering - \includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r20_s3_color.png} + \begin{overpic}[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r20_s3_color.png} + \put(80,80){\includegraphics[scale=0.05]{fig/wheel.png}} + \end{overpic} + %\includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r20_s3_color.png} \caption{% $\rho = 20$ } \end{subfigure} \caption[Anisotropy tensor visualized for a fingerprint test image]{% A noisy fingerprint with the anisotropy tensor visualized for - different integration scales $\rho$. + different integration scales $\rho$. Parameters: + $\abs{\mathcal{N}} = 32$, $\sigma = 3$, $\beta = 15000$, $\omega = 150$. } \label{fig:finger_tensor} \end{figure} @@ -486,7 +499,11 @@ to small sized noise is shown in Table~\ref{tab:circumference}. The table shows how our discrete Cauchy--Crofton formula approximates the circumference of circles of different radii. Note that the circumference approximated is that of an actual continuous circle $u : \mathbb{R}^2 -\to \{0, 1\}$ and not a discrete representation. +\to \{0, 1\}$ and not a discrete representation. We see that the +perimeter of the smalles circle is grossly underestimated by the larger +neighborhoods. Thus the perimeter of one-pixel noise will be +underestimated, and in turn the contribution to the total variation by +one-pixel noise will be smaller for large neighborhoods. \section{Restoration} @@ -506,7 +523,7 @@ approximated is that of an actual continuous circle $u : \mathbb{R}^2 \centering \includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b15000_g150_r10_s3.png} \caption{% - Anisotropic TV ($\gamma = 150$), $\beta=15000$, + Anisotropic TV ($\omega = 150$), $\beta=15000$, $\norm{u - f}_{L^2} = 15272$. } \label{fig:finger_contrast_atv1} @@ -516,7 +533,7 @@ approximated is that of an actual continuous circle $u : \mathbb{R}^2 \centering \includegraphics[width=\textwidth]{fig/factory/finger/r_p2_n32_b20970_g150_r10_s3.png} \caption{% - Anisotropic TV ($\gamma = 150$), $\beta=20970$, + Anisotropic TV ($\omega = 150$), $\beta=20970$, $\norm{u - f}_{L^2} = 17022$. } \label{fig:finger_contrast_atv2} @@ -644,49 +661,3 @@ the image. % \label{fig:lena_method_noise} %\end{figure} -\chapter{Discussion and conclusion} - -In this thesis we have seen how the total variation restoration method -can be extended using an anisotropy tensor, and how this fits into the -discretization and graph cut framework used in my project work -\cite{project}. The anisotropy tensor was introduced in hopes of -reducing the amount of regularization across edges in the image. It was -constructed based on the structure tensor with three parameters exposed -for controlling the method. - -The continuous functional we initally wanted to minimize was then -transformed using an anisotropic coarea formula and an anisotropic -Cauchy--Crofton formula, both described in detail. The functional was -discretized, and the discretization was shown---under some -restrictions---to be consistent with the continuous functional. - -As in my project work \cite{project} the discrete functional was -minimized using maximum flow algorithms to obtain successive minimum -graph cuts. The description of the push-relabel algorithm was included from -my project work for completeness, and a description of the -Boykov--Kolmogorov algorithm was also given, as it is taylored for these -kinds of graph cut applications. - -Because we have spread our attention across all parts of the restoration -method, it is also possible to go deeper into the theory behind all of -them. The well-foundedness of the continuous formulation and the -anisotropic coarea and Cauchy--Crofton formula could have been studied -further on a measure-theoretic foundation. Further, in the -discretization there are a myriad of choices that could have been -discussed further, most notably the construction of the neighborhood -stencil, which has a lot to say for the performance, and approximation -error of the discrete solution. Further, since we start in the discrete -setting with a digital image, and obtain a guaranteed minimizer of the -discrete functional, we did not discuss stability and convergence in -relation to a theoretical solution to the continuous problem. - -In the end we looked at how the different parameters affect the -performance of the algorithm. We will not give any unified conclusion as -to whether this method is ``better'' or ``worse'' than the regular total -variation method it is based on, or other methods. In different -applications the input images have different properties, and one might -also have different hopes for, and restrictions on the output image. -Thus I hope a thorough description in addition to an inspection of -restoration results has given insight into the good and not-so-good sides -of this particular method. - -- 2.47.3