savepoint
This commit is contained in:
BIN
arbeit/img/3d_grid_resolution.png
Normal file
BIN
arbeit/img/3d_grid_resolution.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 388 KiB |
563
arbeit/ma.md
563
arbeit/ma.md
@ -28,7 +28,7 @@ Unless otherwise noted the following holds:
|
||||
Many modern industrial design processes require advanced optimization methods
|
||||
due to the increased complexity resulting from more and more degrees of freedom
|
||||
as methods refine and/or other methods are used. Examples for this are physical
|
||||
domains like aerodynamic (i.e. drag), fluid dynamics (i.e. throughput of liquid)
|
||||
domains like aerodynamics (i.e. drag), fluid dynamics (i.e. throughput of liquid)
|
||||
--- where the complexity increases with the temporal and spatial resolution of
|
||||
the simulation --- or known hard algorithmic problems in informatics (i.e.
|
||||
layouting of circuit boards or stacking of 3D--objects). Moreover these are
|
||||
@ -45,7 +45,7 @@ representation (the *genome*) can be challenging.
|
||||
|
||||
This translation is often necessary as the target of the optimization may have
|
||||
too many degrees of freedom. In the example of an aerodynamic simulation of drag
|
||||
onto an object, those objects--designs tend to have a high number of vertices to
|
||||
onto an object, those object--designs tend to have a high number of vertices to
|
||||
adhere to various requirements (visual, practical, physical, etc.). A simpler
|
||||
representation of the same object in only a few parameters that manipulate the
|
||||
whole in a sensible matter are desirable, as this often decreases the
|
||||
@ -425,7 +425,7 @@ the given direction.
|
||||
|
||||
The definition for an *improvement potential* $P$ is\cite{anrichterEvol}:
|
||||
$$
|
||||
P(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec(G)\|^2_F
|
||||
P(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
|
||||
$$
|
||||
given some approximate $n \times d$ fitness--gradient $\vec{G}$, normalized to
|
||||
$\|\vec{G}\|_F = 1$, whereby $\|\cdot\|_F$ denotes the Frobenius--Norm.
|
||||
@ -549,6 +549,7 @@ and use Cramers rule for inverting the small Jacobian and solving this system of
|
||||
linear equations.
|
||||
|
||||
## Deformation Grid
|
||||
\label{sec:impl:grid}
|
||||
|
||||
As mentioned in chapter \ref{sec:back:evo}, the way of choosing the
|
||||
representation to map the general problem (mesh--fitting/optimization in our
|
||||
@ -565,19 +566,9 @@ control point without having a $1:1$--correlation, and a smooth deformation.
|
||||
While the advantages are great, the issues arise from the problem to decide
|
||||
where to place the control--points and how many.
|
||||
|
||||
One would normally think, that the more control--points you add, the better the
|
||||
result will be, but this is not the case for our B--Splines. Given any point $p$
|
||||
only the $2 \cdot (d-1)$ control--points contribute to the parametrization of
|
||||
that point^[Normally these are $d-1$ to each side, but at the boundaries the
|
||||
number gets increased to the inside to meet the required smoothness].
|
||||
This means, that a high resolution can have many control-points that are not
|
||||
contributing to any point on the surface and are thus completely irrelevant to
|
||||
the solution.
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\begin{center}
|
||||
\begin{figure}[!tbh]
|
||||
\centering
|
||||
\includegraphics{img/enoughCP.png}
|
||||
\end{center}
|
||||
\caption[Example of a high resolution control--grid]{A high resolution
|
||||
($10 \times 10$) of control--points over a circle. Yellow/green points
|
||||
contribute to the parametrization, red points don't.\newline
|
||||
@ -586,6 +577,14 @@ control--points.}
|
||||
\label{fig:enoughCP}
|
||||
\end{figure}
|
||||
|
||||
One would normally think, that the more control--points you add, the better the
|
||||
result will be, but this is not the case for our B--Splines. Given any point $p$
|
||||
only the $2 \cdot (d-1)$ control--points contribute to the parametrization of
|
||||
that point^[Normally these are $d-1$ to each side, but at the boundaries the
|
||||
number gets increased to the inside to meet the required smoothness].
|
||||
This means, that a high resolution can have many control-points that are not
|
||||
contributing to any point on the surface and are thus completely irrelevant to
|
||||
the solution.
|
||||
|
||||
We illustrate this phenomenon in figure \ref{fig:enoughCP}, where the four red
|
||||
central points are not relevant for the parametrization of the circle.
|
||||
@ -619,14 +618,14 @@ In this scenario we used the shape defined by Giannelli et al.\cite{giannelli201
|
||||
which is also used by Richter et al.\cite{anrichterEvol} using the same
|
||||
discretization to $150 \times 150$ points for a total of $n = 22\,500$ vertices. The
|
||||
shape is given by the following definition
|
||||
$$
|
||||
\begin{equation}
|
||||
t(x,y) =
|
||||
\begin{cases}
|
||||
0.5 \cos(4\pi \cdot q^{0.5}) + 0.5 & q(x,y) < \frac{1}{16},\\
|
||||
2(y-x) & 0 < y-x < 0.5,\\
|
||||
1 & 0.5 < y - x
|
||||
\end{cases}
|
||||
$$
|
||||
\end{equation}<!-- </> -->
|
||||
with $(x,y) \in [0,2] \times [0,1]$ and $q(x,y)=(x-1.5)^2 + (y-0.5)^2$, which we have
|
||||
visualized in figure \ref{fig:1dtarget}.
|
||||
|
||||
@ -645,9 +644,9 @@ correct.
|
||||
|
||||
Regarding the *fitness--function* $f(\vec{p})$, we use the very simple approach
|
||||
of calculating the squared distances for each corresponding vertex
|
||||
$$
|
||||
\begin{equation}
|
||||
\textrm{f(\vec{p})} = \sum_{i=1}^{n} \|(\vec{Up})_i - t_i\|_2^2 = \|\vec{Up} - \vec{t}\|^2 \rightarrow \min
|
||||
$$
|
||||
\end{equation}
|
||||
where $t_i$ are the respective target--vertices to the parametrized
|
||||
source--vertices^[The parametrization is encoded in $\vec{U}$ and the initial
|
||||
position of the control points. See \ref{sec:ffd:adapt}] with the current
|
||||
@ -659,6 +658,108 @@ This formula is also the least--squares approximation error for which we
|
||||
can compute the analytic solution $\vec{p^{*}} = \vec{U^+}\vec{t}$, yielding us
|
||||
the correct gradient in which the evolutionary optimizer should move.
|
||||
|
||||
## Test Scenario: 3D Function Approximation
|
||||
\label{sec:test:3dfa}
|
||||
Opposed to the 1--dimensional scenario before, the 3--dimensional scenario is
|
||||
much more complex --- not only because we have more degrees of freedom on each
|
||||
control point, but also because the *fitness--function* we will use has no known
|
||||
analytic solution and multiple local minima.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.9\textwidth]{img/3dtarget.png}
|
||||
\end{center}
|
||||
\caption[3D source and target meshes]{\newline
|
||||
Left: The sphere we start from with 10\,807 vertices\newline
|
||||
Right: The face we want to deform the sphere into with 12\,024 vertices.}
|
||||
\label{fig:3dtarget}
|
||||
\end{figure}
|
||||
|
||||
First of all we introduce the set up: We have given a triangulated model of a
|
||||
sphere consisting of $10\,807$ vertices, that we want to deform into a
|
||||
the target--model of a face with a total of $12\,024$ vertices. Both of
|
||||
these Models can be seen in figure \ref{fig:3dtarget}.
|
||||
|
||||
Opposed to the 1D--case we cannot map the source and target--vertices in a
|
||||
one--to--one--correspondence, which we especially need for the approximation of
|
||||
the fitting--error. Hence we state that the error of one vertex is the distance
|
||||
to the closest vertex of the other model.
|
||||
|
||||
We therefore define the *fitness--function* to be:
|
||||
|
||||
\begin{equation}
|
||||
f(\vec{P}) = \frac{1}{n} \underbrace{\sum_{i=1}^n \|\vec{c_T(s_i)} -
|
||||
\vec{s_i}\|_2^2}_{\textrm{source-to-target--distance}}
|
||||
+ \frac{1}{m} \underbrace{\sum_{i=1}^m \|\vec{c_S(t_i)} -
|
||||
\vec{t_i}\|_2^2}_{\textrm{target-to-source--distance}}
|
||||
+ \lambda \cdot \textrm{regularization}(\vec{P})
|
||||
\label{eq:fit3d}
|
||||
\end{equation}
|
||||
|
||||
where $\vec{c_T(s_i)}$ denotes the target--vertex that is corresponding to the
|
||||
source--vertex $\vec{s_i}$ and $\vec{c_S(t_i)}$ denotes the source--vertex that
|
||||
corresponds to the target--vertex $\vec{t_i}$. Note that the target--vertices
|
||||
are given and fixed by the target--model of the face we want to deform into,
|
||||
whereas the source--vertices vary depending on the chosen parameters $\vec{P}$,
|
||||
as those get calculated by the previously introduces formula $\vec{S} = \vec{UP}$
|
||||
with $\vec{S}$ being the $n \times 3$--matrix of source--vertices, $\vec{U}$ the
|
||||
$n \times m$--matrix of calculated coefficients for the \ac{FFD} --- analog to
|
||||
the 1D case --- and finally $\vec{P}$ being the $m \times 3$--matrix of the
|
||||
control--grid defining the whole deformation.
|
||||
|
||||
As regularization-term we add a weighted Laplacian of the deformation that has
|
||||
been used before by Aschenbach et al.\cite[Section 3.2]{aschenbach2015} on
|
||||
similar models and was shown to lead to a more precise fit. The Laplacian
|
||||
\begin{equation}
|
||||
\textrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
\label{eq:reg3d}
|
||||
\end{equation}
|
||||
is determined by the cotangent weighted displacement $w_j$ of the to $s_i$
|
||||
connected vertices $\mathcal{N}(s_i)$ and $A_i$ is the Voronoi--area of the corresponding vertex
|
||||
$\vec{s_i}$. We leave out the $\vec{R}_i$--term from the original paper as our
|
||||
deformation is merely linear.
|
||||
|
||||
This regularization--weight gives us a measure of stiffness for the material
|
||||
that we will influence via the $\lambda$--coefficient to start out with a stiff
|
||||
material that will get more flexible per iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
|
||||
# Evaluation of Scenarios
|
||||
\label{sec:res}
|
||||
|
||||
To compare our results to the ones given by Richter et al.\cite{anrichterEvol},
|
||||
we also use Spearman's rank correlation coefficient. Opposed to other popular
|
||||
coefficients, like the Pearson correlation coefficient, which measures a linear
|
||||
relationship between variables, the Spearmans's coefficient assesses \glqq how
|
||||
well an arbitrary monotonic function can descripbe the relationship between two
|
||||
variables, without making any assumptions about the frequency distribution of
|
||||
the variables\grqq\cite{hauke2011comparison}.
|
||||
|
||||
As we don't have any prior knowledge if any of the criteria is linear and we are
|
||||
just interested in a monotonic relation between the criteria and their
|
||||
predictive power, the Spearman's coefficient seems to fit out scenario best.
|
||||
|
||||
For interpretation of these values we follow the same interpretation used in
|
||||
\cite{anrichterEvol}, based on \cite{weir2015spearman}: The coefficient
|
||||
intervals $r_S \in [0,0.2[$, $[0.2,0.4[$, $[0.4,0.6[$, $[0.6,0.8[$, and $[0.8,1]$ are
|
||||
classified as *very weak*, *weak*, *moderate*, *strong* and *very strong*. We
|
||||
interpret p--values smaller than $0.1$ as *significant* and cut off the
|
||||
precision of p--values after four decimal digits (thus often having a p--value
|
||||
of $0$ given for p--values $< 10^{-4}$).
|
||||
<!-- </> -->
|
||||
|
||||
As we are looking for anti--correlation (i.e. our criterion should be maximized
|
||||
indicating a minimal result in --- for example --- the reconstruction--error)
|
||||
instead of correlation we flip the sign of the correlation--coefficient for
|
||||
readability and to have the correlation--coefficients be in the
|
||||
classification--range given above.
|
||||
|
||||
For the evolutionary optimization we employ the CMA--ES (covariance matrix
|
||||
adaptation evolution strategy) of the shark3.1 library \cite{shark08}, as this
|
||||
algorithm was used by \cite{anrichterEvol} as well. We leave the parameters at
|
||||
their sensible defaults as further explained in
|
||||
\cite[Appendix~A: Table~1]{hansen2016cma}.
|
||||
|
||||
## Procedure: 1D Function Approximation
|
||||
\label{sec:proc:1d}
|
||||
|
||||
@ -702,144 +803,6 @@ appropriate.].
|
||||
An Example of such a testcase can be seen for a $7 \times 4$--grid in figure
|
||||
\ref{fig:example1d_grid}.
|
||||
|
||||
## Test Scenario: 3D Function Approximation
|
||||
|
||||
Opposed to the 1--dimensional scenario before, the 3--dimensional scenario is
|
||||
much more complex --- not only because we have more degrees of freedom on each
|
||||
control point, but also because the *fitness--function* we will use has no known
|
||||
analytic solution and multiple local minima.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.7\textwidth]{img/3dtarget.png}
|
||||
\end{center}
|
||||
\caption[3D source and target meshes]{\newline
|
||||
Left: The sphere we start from with 10\,807 vertices\newline
|
||||
Right: The face we want to deform the sphere into with 12\,024 vertices.}
|
||||
\label{fig:3dtarget}
|
||||
\end{figure}
|
||||
|
||||
First of all we introduce the set up: We have given a triangulated model of a
|
||||
sphere consisting of 10\,807 vertices, that we want to deform into a
|
||||
the target--model of a face with a total of 12\,024 vertices. Both of
|
||||
these Models can be seen in figure \ref{fig:3dtarget}.
|
||||
|
||||
Opposed to the 1D--case we cannot map the source and target--vertices in a
|
||||
one--to--one--correspondence, which we especially need for the approximation of
|
||||
the fitting--error. Hence we state that the error of one vertex is the distance
|
||||
to the closest vertex of the other model.
|
||||
|
||||
We therefore define the *fitness--function* to be:
|
||||
$$
|
||||
f(\vec{P}) = \frac{1}{n} \underbrace{\sum_{i=1}^n \|\vec{c_T(s_i)} -
|
||||
\vec{s_i}\|_2^2}_{\textrm{source-to-target--distance}}
|
||||
+ \frac{1}{m} \underbrace{\sum_{i=1}^m \|\vec{c_S(t_i)} -
|
||||
\vec{t_i}\|_2^2}_{\textrm{target-to-source--distance}}
|
||||
+ \lambda \cdot \textrm{regularization}(\vec{P})
|
||||
$$
|
||||
where $\vec{c_T(s_i)}$ denotes the target--vertex that is corresponding to the
|
||||
source--vertex $\vec{s_i}$ and $\vec{c_S(t_i)}$ denotes the source--vertex that
|
||||
corresponds to the target--vertex $\vec{t_i}$. Note that the target--vertices
|
||||
are given and fixed by the target--model of the face we want to deform into,
|
||||
whereas the source--vertices vary depending on the chosen parameters $\vec{P}$,
|
||||
as those get calculated by the previously introduces formula $\vec{S} = \vec{UP}$
|
||||
with $\vec{S}$ being the $n \times 3$--matrix of source--vertices, $\vec{U}$ the
|
||||
$n \times m$--matrix of calculated coefficients for the \ac{FFD} --- analog to
|
||||
the 1D case --- and finally $\vec{P}$ being the $m \times 3$--matrix of the
|
||||
control--grid defining the whole deformation.
|
||||
|
||||
As regularization-term we add a weighted Laplacian of the deformation that has
|
||||
been used before by Aschenbach et al.\cite[Section 3.2]{aschenbach2015} on
|
||||
similar models and was shown to lead to a more precise fit. The Laplacian
|
||||
$$
|
||||
\textrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
$$
|
||||
is determined by the cotangent weighted displacement $w_j$ of the to $s_i$
|
||||
connected vertices $\mathcal{N}(s_i)$ and $A_i$ is the Voronoi--area of the corresponding vertex
|
||||
$\vec{s_i}$. We leave out the $\vec{R}_i$--term from the original paper as our
|
||||
deformation is merely linear.
|
||||
|
||||
This regularization--weight gives us a measure of stiffness for the material
|
||||
that we will influence via the $\lambda$--coefficient to start out with a stiff
|
||||
material that will get more flexible per iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
|
||||
## Procedure: 3D Function Approximation
|
||||
|
||||
Initially we set up the correspondences $\vec{c_T(\dots)}$ and $\vec{c_S(\dots)}$ to be
|
||||
the respectively closest vertices of the other model. We then calculate the
|
||||
analytical solution given these correspondences via $\vec{P^{*}} = \vec{U^+}\vec{T}$,
|
||||
and also use the first solution as guessed gradient for the calculation of the
|
||||
*improvement--potential*, as the optimal solution is not known.
|
||||
We then let the evolutionary algorithm run up within $1.05$ times the error of
|
||||
this solution and afterwards recalculate the correspondences $\vec{c_T(\dots)}$
|
||||
and $\vec{c_S(\dots)}$.
|
||||
For the next step we then halve the regularization--impact $\lambda$ and
|
||||
calculate the next incremental solution $\vec{P^{*}} = \vec{U^+}\vec{T}$ with
|
||||
the updated correspondences to get our next target--error.
|
||||
We repeat this process as long as the target--error keeps decreasing.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{img/example3d_grid.png}
|
||||
\end{center}
|
||||
\caption[Example of a 3D--grid]{\newline Left: The 3D--setup with a $4\times
|
||||
4\times 4$--grid.\newline Right: The same grid after added noise to the
|
||||
control--points.}
|
||||
\label{fig:setup3d}
|
||||
\end{figure}
|
||||
|
||||
The grid we use for our experiments is just very coarse due to computational
|
||||
limitations. We are not interested in a good reconstruction, but an estimate if
|
||||
the mentioned evolvability criteria are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
$4\times 4\times 4$--grid. Identical to the 1--dimensional scenario before, we create a
|
||||
regular grid and move the control-points uniformly random between their
|
||||
neighbours, but in three instead of two dimensions^[Again, we flip the signs for
|
||||
the edges, if necessary to have the object still in the convex hull.].
|
||||
|
||||
As is clearly visible from figure \ref{fig:3dtarget}, the target--model has many
|
||||
vertices in the facial area, at the ears and in the neck--region. Therefore we
|
||||
chose to increase the grid-resolutions for our tests in two different dimensions
|
||||
and see how well the criteria predict a suboptimal placement of these
|
||||
control-points.
|
||||
|
||||
# Evaluation of Scenarios
|
||||
\label{sec:res}
|
||||
|
||||
To compare our results to the ones given by Richter et al.\cite{anrichterEvol},
|
||||
we also use Spearman's rank correlation coefficient. Opposed to other popular
|
||||
coefficients, like the Pearson correlation coefficient, which measures a linear
|
||||
relationship between variables, the Spearmans's coefficient assesses \glqq how
|
||||
well an arbitrary monotonic function can descripbe the relationship between two
|
||||
variables, without making any assumptions about the frequency distribution of
|
||||
the variables\grqq\cite{hauke2011comparison}.
|
||||
|
||||
As we don't have any prior knowledge if any of the criteria is linear and we are
|
||||
just interested in a monotonic relation between the criteria and their
|
||||
predictive power, the Spearman's coefficient seems to fit out scenario best.
|
||||
|
||||
For interpretation of these values we follow the same interpretation used in
|
||||
\cite{anrichterEvol}, based on \cite{weir2015spearman}: The coefficient
|
||||
intervals $r_S \in [0,0.2[$, $[0.2,0.4[$, $[0.4,0.6[$, $[0.6,0.8[$, and $[0.8,1]$ are
|
||||
classified as *very weak*, *weak*, *moderate*, *strong* and *very strong*. We
|
||||
interpret p--values smaller than $0.1$ as *significant* and cut off the
|
||||
precision of p--values after four decimal digits (thus often having a p--value
|
||||
of $0$ given for p--values $< 10^{-4}$).
|
||||
|
||||
As we are looking for anti--correlation (i.e. our criterion should be maximized
|
||||
indicating a minimal result in --- for example --- the reconstruction--error)
|
||||
instead of correlation we flip the sign of the correlation--coefficient for
|
||||
readability and to have the correlation--coefficients be in the
|
||||
classification--range given above.
|
||||
|
||||
For the evolutionary optimization we employ the CMA--ES (covariance matrix
|
||||
adaptation evolution strategy) of the shark3.1 library \cite{shark08}, as this
|
||||
algorithm was used by \cite{anrichterEvol} as well. We leave the parameters at
|
||||
their sensible defaults as further explained in
|
||||
\cite[Appendix~A: Table~1]{hansen2016cma}.
|
||||
|
||||
## Results of 1D Function Approximation
|
||||
|
||||
In the case of our 1D--Optimization--problem, we have the luxury of knowing the
|
||||
@ -894,21 +857,6 @@ between the variability and the evolutionary error.
|
||||
|
||||
### Regularity
|
||||
|
||||
\begin{table}[bht]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c|c}
|
||||
$5 \times 5$ & $7 \times 4$ & $4 \times 7$ & $7 \times 7$ & $10 \times 10$\\
|
||||
\hline
|
||||
$0.28$ ($0.0045$) & \textcolor{red}{$0.21$} ($0.0396$) & \textcolor{red}{$0.1$} ($0.3019$) & \textcolor{red}{$0.01$} ($0.9216$) & \textcolor{red}{$0.01$} ($0.9185$)
|
||||
\end{tabular}
|
||||
\caption[Correlation 1D Regularity/Steps]{Spearman's correlation (and p-values)
|
||||
between regularity and convergence speed for the 1D function approximation
|
||||
problem.\newline
|
||||
Not significant entries are marked in red.
|
||||
}
|
||||
\label{tab:1dreg}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution1d/55_to_1010_steps.png}
|
||||
@ -920,6 +868,21 @@ dataset.}
|
||||
\label{fig:1dreg}
|
||||
\end{figure}
|
||||
|
||||
\begin{table}[b]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c|c}
|
||||
$5 \times 5$ & $7 \times 4$ & $4 \times 7$ & $7 \times 7$ & $10 \times 10$\\
|
||||
\hline
|
||||
$0.28$ ($0.0045$) & \textcolor{red}{$0.21$} ($0.0396$) & \textcolor{red}{$0.1$} ($0.3019$) & \textcolor{red}{$0.01$} ($0.9216$) & \textcolor{red}{$0.01$} ($0.9185$)
|
||||
\end{tabular}
|
||||
\caption[Correlation 1D Regularity/Steps]{Spearman's correlation (and p-values)
|
||||
between regularity and convergence speed for the 1D function approximation
|
||||
problem.
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.
|
||||
}
|
||||
\label{tab:1dreg}
|
||||
\end{table}
|
||||
|
||||
Regularity should correspond to the convergence speed (measured in
|
||||
iteration--steps of the evolutionary algorithm), and is computed as inverse
|
||||
condition number $\kappa(\vec{U})$ of the deformation--matrix.
|
||||
@ -936,13 +899,11 @@ improvement-potential against the steps next to the regularity--plot. Our theory
|
||||
is that the *very strong* correlation ($-r_S = -0.82, p=0$) between
|
||||
improvement--potential and number of iterations hints that the employed
|
||||
algorithm simply takes longer to converge on a better solution (as seen in
|
||||
figure \ref{fig:1dvar} and \ref{fig:1dimp}) offsetting any gain the regularity--measurement could
|
||||
achieve.
|
||||
figure \ref{fig:1dvar} and \ref{fig:1dimp}) offsetting any gain the
|
||||
regularity--measurement could achieve.
|
||||
|
||||
### Improvement Potential
|
||||
|
||||
- Alle Spearman 1 und p-value 0.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{img/evolution1d/55_to_1010_improvement-vs-evo-error.png}
|
||||
@ -952,36 +913,246 @@ grid--resolutions}
|
||||
\label{fig:1dimp}
|
||||
\end{figure}
|
||||
|
||||
<!--  -->
|
||||
<!-- -->
|
||||
<!--  -->
|
||||
<!-- -->
|
||||
<!--  -->
|
||||
\improvement[inline]{write something about it..}
|
||||
|
||||
- spearman 1 (p=0)
|
||||
- gradient macht keinen unterschied
|
||||
- $UU^+$ scheint sehr kleine EW zu haben, s. regularität
|
||||
- trotzdem sehr gutes kriterium - auch ohne Richtung.
|
||||
|
||||
## Procedure: 3D Function Approximation
|
||||
\label{sec:proc:3dfa}
|
||||
|
||||
As explained in section \ref{sec:test:3dfa} in detail, we do not know the
|
||||
analytical solution to the global optimum. Additionally we have the problem of
|
||||
finding the right correspondences between the original sphere--model and the
|
||||
target--model, as they consist of $10\,807$ and $12\,024$ vertices respectively,
|
||||
so we cannot make a one--to--one--correspondence between them as we did in the
|
||||
one--dimensional case.
|
||||
|
||||
Initially we set up the correspondences $\vec{c_T(\dots)}$ and $\vec{c_S(\dots)}$ to be
|
||||
the respectively closest vertices of the other model. We then calculate the
|
||||
analytical solution given these correspondences via $\vec{P^{*}} = \vec{U^+}\vec{T}$,
|
||||
and also use the first solution as guessed gradient for the calculation of the
|
||||
*improvement--potential*, as the optimal solution is not known.
|
||||
We then let the evolutionary algorithm run up within $1.05$ times the error of
|
||||
this solution and afterwards recalculate the correspondences $\vec{c_T(\dots)}$
|
||||
and $\vec{c_S(\dots)}$.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{img/example3d_grid.png}
|
||||
\end{center}
|
||||
\caption[Example of a 3D--grid]{\newline Left: The 3D--setup with a $4\times
|
||||
4\times 4$--grid.\newline Right: The same grid after added noise to the
|
||||
control--points.}
|
||||
\label{fig:setup3d}
|
||||
\end{figure}
|
||||
|
||||
For the next step we then halve the regularization--impact $\lambda$ (starting
|
||||
at $1$) of our *fitness--function* (\ref{eq:fit3d}) and calculate the next
|
||||
incremental solution $\vec{P^{*}} = \vec{U^+}\vec{T}$ with the updated
|
||||
correspondences to get our next target--error. We repeat this process as long as
|
||||
the target--error keeps decreasing and use the number of these iterations as
|
||||
measure of the convergence speed. As the resulting evolutional error without
|
||||
regularization is in the numeric range of $\approx 100$, whereas the
|
||||
regularization is numerically $\approx 7000$ we need at least $10$ to $15$ iterations
|
||||
until the regularization--effect wears off.
|
||||
|
||||
The grid we use for our experiments is just very coarse due to computational
|
||||
limitations. We are not interested in a good reconstruction, but an estimate if
|
||||
the mentioned evolvability criteria are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
$4\times 4\times 4$--grid. Identical to the 1--dimensional scenario before, we create a
|
||||
regular grid and move the control-points \todo{wie?} random between their
|
||||
neighbours, but in three instead of two dimensions^[Again, we flip the signs for
|
||||
the edges, if necessary to have the object still in the convex hull.].
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{img/3d_grid_resolution.png}
|
||||
\caption[Different resolution of 3D grids]{\newline
|
||||
Left: A $7 \times 4 \times 4$ grid suited to better deform into facial
|
||||
features.\newline
|
||||
Right: A $4 \times 4 \times 7$ grid that we expect to perform worse.}
|
||||
\label{fig:3dgridres}
|
||||
\end{figure}
|
||||
|
||||
As is clearly visible from figure \ref{fig:3dgridres}, the target--model has many
|
||||
vertices in the facial area, at the ears and in the neck--region. Therefore we
|
||||
chose to increase the grid-resolutions for our tests in two different dimensions
|
||||
and see how well the criteria predict a suboptimal placement of these
|
||||
control-points.
|
||||
|
||||
## Results of 3D Function Approximation
|
||||
|
||||
In the 3D--Approximation we tried to evaluate further on the impact of the
|
||||
grid--layout to the overall criteria. As the target--model has many vertices in
|
||||
concentrated in the facial area we start from a $4 \times 4 \times 4$ grid and
|
||||
only increase the number of control points in one dimension, yielding a
|
||||
resolution of $7 \times 4 \times 4$ and $4 \times 4 \times 7$ respectively. We
|
||||
visualized those two grids in figure \ref{fig:3dgridres}.
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/4x4xX_montage.png}
|
||||
\caption{Results 3D for 4x4xX}
|
||||
To evaluate the performance of the evolvability--criteria we also tested a more
|
||||
neutral resolution of $4 \times 4 \times 4$, $5 \times 5 \times 5$, and $6 \times 6 \times 6$ ---
|
||||
similar to the 1D--setup.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=0.7\textwidth]{img/evolution3d/variability_boxplot.png}
|
||||
\caption[3D Fitting Errors for various grids]{The fitting error for the various
|
||||
grids we examined.\newline
|
||||
Note that the number of control--points is a product of the resolution, so $X
|
||||
\times 4 \times 4$ and $4 \times 4 \times X$ have the same number of
|
||||
control--points.}
|
||||
\label{fig:3dvar}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/Xx4x4_montage.png}
|
||||
\caption{Results 3D for Xx4x4}
|
||||
### Variability
|
||||
|
||||
\begin{table}[tbh]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c}
|
||||
$4 \times 4 \times \mathrm{X}$ & $\mathrm{X} \times 4 \times 4$ & $\mathrm{Y} \times \mathrm{Y} \times \mathrm{Y}$ & all \\
|
||||
\hline
|
||||
0.89 (0) & 0.9 (0) & 0.91 (0) & 0.94 (0)
|
||||
\end{tabular}
|
||||
\caption[Correlation between variability and fitting error for 3D]{Correlation
|
||||
between variability and fitting error for the 3D fitting scenario.\newline
|
||||
Displayed are the negated Spearman coefficients with the corresponding p-values
|
||||
in brackets for three cases of increasing variability ($\mathrm{X} \in [4,5,7],
|
||||
\mathrm{Y} \in [4,5,6]$).
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.}
|
||||
\label{tab:3dvar}
|
||||
\end{table}
|
||||
|
||||
Similar to the 1D case all our tested matrices had a constant rank (being
|
||||
$m = x \cdot y \cdot z$ for a $x \times y \times z$ grid), so we again have merely plotted
|
||||
the errors in the boxplot in figure \ref{fig:3dvar}.
|
||||
|
||||
As expected the $\mathrm{X} \times 4 \times 4$ grids performed
|
||||
slightly better than their $4 \times 4 \times \mathrm{X}$ counterparts with a
|
||||
mean$\pm$sigma of $101.25 \pm 7.45$ to $102.89 \pm 6.74$ for $\mathrm{X} = 5$ and
|
||||
$85.37 \pm 7.12$ to $89.22 \pm 6.49$ for $\mathrm{X} = 7$.
|
||||
|
||||
Interestingly both variants end up closer in terms of fitting error than we
|
||||
anticipated, which shows that the evolutionary algorithm we employed is capable
|
||||
of correcting a purposefully created \glqq bad\grqq \ grid. Also this confirms,
|
||||
that in our cases the number of control--points is more important for quality
|
||||
than their placement, which is captured by the variability via the rank of the
|
||||
deformation--matrix.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{img/evolution3d/variability2_boxplot.png}
|
||||
\caption[Histogram of ranks of high--resolution deformation--matrices]{
|
||||
Histogram of ranks of various $10 \times 10 \times 10$ grids.
|
||||
}
|
||||
\label{fig:histrank3d}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/YxYxY_montage.png}
|
||||
\caption{Results 3D for YxYxY for Y $\in [4,5,6]$}
|
||||
Overall the correlation between variability and fitness--error were
|
||||
*significantly* and showed a *very strong* correlation in all our tests.
|
||||
The detailed correlation--coefficients are given in table \ref{tab:3dvar}
|
||||
alongside their p--values.
|
||||
|
||||
As introduces in section \ref{sec:impl:grid} and visualized in figure
|
||||
\ref{fig:enoughCP}, we know, that not all control points have to necessarily
|
||||
contribute to the parametrization of our 3D--model. Because we are starting from
|
||||
a sphere, some control-points are too far away from the surface to contribute
|
||||
to the deformation at all.
|
||||
|
||||
One can already see in 2D in figure \ref{fig:enoughCP}, that this effect
|
||||
starts with a regular $9 \times 9$ grid on a perfect circle. To make sure we
|
||||
observe this, we evaluated the variability for 100 randomly moved $10 \times 10 \times 10$
|
||||
grids on the sphere we start out with.
|
||||
|
||||
As the variability is defined by $\frac{\mathrm{rank}(\vec{U})}{n}$ we can
|
||||
easily recover the rank of the deformation--matrix $\vec{U}$. The results are
|
||||
shown in the histogram in figure \ref{fig:histrank3d}. Especially in the centre
|
||||
of the sphere and in the corners of our grid we effectively loose
|
||||
control--points for our parametrization.
|
||||
|
||||
This of course yields a worse error as when those control--points would be put
|
||||
to use and one should expect a loss in quality evident by a higher
|
||||
reconstruction--error opposed to a grid where they are used. Sadly we could not
|
||||
run a in--depth test on this due to computational limitations.
|
||||
|
||||
Nevertheless this hints at the notion, that variability is a good measure for
|
||||
the overall quality of a fit.
|
||||
|
||||
### Regularity
|
||||
|
||||
\begin{table}[tbh]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c}
|
||||
& $5 \times 4 \times 4$ & $7 \times 4 \times 4$ & $\mathrm{X} \times 4 \times 4$ \\
|
||||
\cline{2-4}
|
||||
& \textcolor{red}{0.15} (0.147) & \textcolor{red}{0.09} (0.37) & 0.46 (0) \B \\
|
||||
\cline{2-4}
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\hline
|
||||
$4 \times 4 \times 4$ & $4 \times 4 \times 5$ & $4 \times 4 \times 7$ & $4 \times 4 \times \mathrm{X}$ \T \\
|
||||
\hline
|
||||
0.38 (0) & \textcolor{red}{0.17} (0.09) & 0.40 (0) & 0.46 (0) \B \\
|
||||
\hline
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\cline{2-4}
|
||||
& $5 \times 5 \times 5$ & $6 \times 6 \times 6$ & $\mathrm{Y} \times \mathrm{Y} \times \mathrm{Y}$ \T \\
|
||||
\cline{2-4}
|
||||
& \textcolor{red}{-0.18} (0.0775) & \textcolor{red}{-0.13} (0.1715) & -0.25 (0) \B \\
|
||||
\cline{2-4}
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\cline{2-4}
|
||||
\multicolumn{3}{c}{} & all: 0.15 (0) \T
|
||||
\end{tabular}
|
||||
\caption[Correlation between regularity and iterations for 3D]{Correlation
|
||||
between regularity and number of iterations for the 3D fitting scenario.
|
||||
Displayed are the negated Spearman coefficients with the corresponding p--values
|
||||
in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,5,6]$).
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.}
|
||||
\label{tab:3dvar}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
Opposed to the predictions of variability our test on regularity gave a mixed
|
||||
result --- similar to the 1D--case.
|
||||
|
||||
In half scenarios we have a *significant*, but *weak* to *moderate* correlation
|
||||
between regularity and number of iterations. On the other hand in the scenarios
|
||||
where we increased the number of control--points, namely $125$ for the
|
||||
$5 \times 5 \times 5$ grid and $216$ for the $6 \times 6 \times 6$ grid we found
|
||||
a *significant*, but *weak* anti--correlation, which seem to contradict the
|
||||
findings/trends for the sets with $64$, $80$, and $112$ control--points (first
|
||||
two rows of table \ref{tab:3dvar}).
|
||||
|
||||
Taking all results together we only find a *very weak*, but *significant* link
|
||||
between regularity and the number of iterations needed for the algorithm to
|
||||
converge.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/regularity_montage.png}
|
||||
\caption[Regularity for different 3D--grids]{
|
||||
**BLINDTEXT**
|
||||
}
|
||||
\label{fig:resreg3d}
|
||||
\end{figure}
|
||||
|
||||
As can be seen from figure \ref{fig:resreg3d}, we can observe\todo{things}.
|
||||
|
||||
### Improvement Potential
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
|
||||
\caption[Improvement potential for different 3D--grids]{
|
||||
**BLINDTEXT**
|
||||
}
|
||||
\label{fig:resimp3d}
|
||||
\end{figure}
|
||||
|
||||
<!--  -->
|
||||
<!-- -->
|
||||
<!--  -->
|
||||
<!-- -->
|
||||
<!--  -->
|
||||
|
||||
# Schluss
|
||||
\label{sec:dis}
|
||||
|
BIN
arbeit/ma.pdf
BIN
arbeit/ma.pdf
Binary file not shown.
617
arbeit/ma.tex
617
arbeit/ma.tex
@ -35,6 +35,7 @@ xcolor=dvipsnames,
|
||||
\setlength{\parskip}{12pt plus6pt minus2pt} % dafür abstand zwischen absäzen
|
||||
% \renewcommand{\familydefault}{\sfdefault}
|
||||
\setstretch{1.5} % 1.5-facher zeilenabstand
|
||||
\renewcommand{\arraystretch}{1.5} % größere Abstände in Tabellen etc.
|
||||
|
||||
%%%%%%%%%%%%%%% Header - Footer %%%%%%%%%%%%%%%
|
||||
% ### Fr 2 Seitig (option twopage):
|
||||
@ -172,7 +173,7 @@ Unless otherwise noted the following holds:
|
||||
Many modern industrial design processes require advanced optimization
|
||||
methods due to the increased complexity resulting from more and more
|
||||
degrees of freedom as methods refine and/or other methods are used.
|
||||
Examples for this are physical domains like aerodynamic (i.e.~drag),
|
||||
Examples for this are physical domains like aerodynamics (i.e.~drag),
|
||||
fluid dynamics (i.e.~throughput of liquid) --- where the complexity
|
||||
increases with the temporal and spatial resolution of the simulation ---
|
||||
or known hard algorithmic problems in informatics (i.e.~layouting of
|
||||
@ -191,7 +192,7 @@ representation (the \emph{genome}) can be challenging.
|
||||
|
||||
This translation is often necessary as the target of the optimization
|
||||
may have too many degrees of freedom. In the example of an aerodynamic
|
||||
simulation of drag onto an object, those objects--designs tend to have a
|
||||
simulation of drag onto an object, those object--designs tend to have a
|
||||
high number of vertices to adhere to various requirements (visual,
|
||||
practical, physical, etc.). A simpler representation of the same object
|
||||
in only a few parameters that manipulate the whole in a sensible matter
|
||||
@ -601,7 +602,7 @@ can be achieved in the given direction.
|
||||
|
||||
The definition for an \emph{improvement potential} \(P\)
|
||||
is\cite{anrichterEvol}: \[
|
||||
P(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec(G)\|^2_F
|
||||
P(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
|
||||
\] given some approximate \(n \times d\) fitness--gradient \(\vec{G}\),
|
||||
normalized to \(\|\vec{G}\|_F = 1\), whereby \(\|\cdot\|_F\) denotes the
|
||||
Frobenius--Norm.
|
||||
@ -728,6 +729,8 @@ system of linear equations.
|
||||
|
||||
\section{Deformation Grid}\label{deformation-grid}
|
||||
|
||||
\label{sec:impl:grid}
|
||||
|
||||
As mentioned in chapter \ref{sec:back:evo}, the way of choosing the
|
||||
representation to map the general problem (mesh--fitting/optimization in
|
||||
our case) into a parameter-space it very important for the quality and
|
||||
@ -744,6 +747,17 @@ control point without having a \(1:1\)--correlation, and a smooth
|
||||
deformation. While the advantages are great, the issues arise from the
|
||||
problem to decide where to place the control--points and how many.
|
||||
|
||||
\begin{figure}[!tbh]
|
||||
\centering
|
||||
\includegraphics{img/enoughCP.png}
|
||||
\caption[Example of a high resolution control--grid]{A high resolution
|
||||
($10 \times 10$) of control--points over a circle. Yellow/green points
|
||||
contribute to the parametrization, red points don't.\newline
|
||||
An Example--point (blue) is solely determined by the position of the green
|
||||
control--points.}
|
||||
\label{fig:enoughCP}
|
||||
\end{figure}
|
||||
|
||||
One would normally think, that the more control--points you add, the
|
||||
better the result will be, but this is not the case for our B--Splines.
|
||||
Given any point \(p\) only the \(2 \cdot (d-1)\) control--points
|
||||
@ -754,18 +768,6 @@ that a high resolution can have many control-points that are not
|
||||
contributing to any point on the surface and are thus completely
|
||||
irrelevant to the solution.
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\begin{center}
|
||||
\includegraphics{img/enoughCP.png}
|
||||
\end{center}
|
||||
\caption[Example of a high resolution control--grid]{A high resolution
|
||||
($10 \times 10$) of control--points over a circle. Yellow/green points
|
||||
contribute to the parametrization, red points don't.\newline
|
||||
An Example--point (blue) is solely determined by the position of the green
|
||||
control--points.}
|
||||
\label{fig:enoughCP}
|
||||
\end{figure}
|
||||
|
||||
We illustrate this phenomenon in figure \ref{fig:enoughCP}, where the
|
||||
four red central points are not relevant for the parametrization of the
|
||||
circle.
|
||||
@ -805,14 +807,18 @@ In this scenario we used the shape defined by Giannelli et
|
||||
al.\cite{giannelli2012thb}, which is also used by Richter et
|
||||
al.\cite{anrichterEvol} using the same discretization to
|
||||
\(150 \times 150\) points for a total of \(n = 22\,500\) vertices. The
|
||||
shape is given by the following definition \[
|
||||
shape is given by the following definition
|
||||
|
||||
\begin{equation}
|
||||
t(x,y) =
|
||||
\begin{cases}
|
||||
0.5 \cos(4\pi \cdot q^{0.5}) + 0.5 & q(x,y) < \frac{1}{16},\\
|
||||
2(y-x) & 0 < y-x < 0.5,\\
|
||||
1 & 0.5 < y - x
|
||||
\end{cases}
|
||||
\] with \((x,y) \in [0,2] \times [0,1]\) and
|
||||
\end{equation}
|
||||
|
||||
with \((x,y) \in [0,2] \times [0,1]\) and
|
||||
\(q(x,y)=(x-1.5)^2 + (y-0.5)^2\), which we have visualized in figure
|
||||
\ref{fig:1dtarget}.
|
||||
|
||||
@ -831,9 +837,13 @@ already correct.
|
||||
|
||||
Regarding the \emph{fitness--function} \(f(\vec{p})\), we use the very
|
||||
simple approach of calculating the squared distances for each
|
||||
corresponding vertex \[
|
||||
corresponding vertex
|
||||
|
||||
\begin{equation}
|
||||
\textrm{f(\vec{p})} = \sum_{i=1}^{n} \|(\vec{Up})_i - t_i\|_2^2 = \|\vec{Up} - \vec{t}\|^2 \rightarrow \min
|
||||
\] where \(t_i\) are the respective target--vertices to the parametrized
|
||||
\end{equation}
|
||||
|
||||
where \(t_i\) are the respective target--vertices to the parametrized
|
||||
source--vertices\footnote{The parametrization is encoded in \(\vec{U}\)
|
||||
and the initial position of the control points. See
|
||||
\ref{sec:ffd:adapt}} with the current deformation--parameters
|
||||
@ -847,6 +857,120 @@ can compute the analytic solution \(\vec{p^{*}} = \vec{U^+}\vec{t}\),
|
||||
yielding us the correct gradient in which the evolutionary optimizer
|
||||
should move.
|
||||
|
||||
\section{Test Scenario: 3D Function
|
||||
Approximation}\label{test-scenario-3d-function-approximation}
|
||||
|
||||
\label{sec:test:3dfa} Opposed to the 1--dimensional scenario before, the
|
||||
3--dimensional scenario is much more complex --- not only because we
|
||||
have more degrees of freedom on each control point, but also because the
|
||||
\emph{fitness--function} we will use has no known analytic solution and
|
||||
multiple local minima.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.9\textwidth]{img/3dtarget.png}
|
||||
\end{center}
|
||||
\caption[3D source and target meshes]{\newline
|
||||
Left: The sphere we start from with 10\,807 vertices\newline
|
||||
Right: The face we want to deform the sphere into with 12\,024 vertices.}
|
||||
\label{fig:3dtarget}
|
||||
\end{figure}
|
||||
|
||||
First of all we introduce the set up: We have given a triangulated model
|
||||
of a sphere consisting of \(10\,807\) vertices, that we want to deform
|
||||
into a the target--model of a face with a total of \(12\,024\) vertices.
|
||||
Both of these Models can be seen in figure \ref{fig:3dtarget}.
|
||||
|
||||
Opposed to the 1D--case we cannot map the source and target--vertices in
|
||||
a one--to--one--correspondence, which we especially need for the
|
||||
approximation of the fitting--error. Hence we state that the error of
|
||||
one vertex is the distance to the closest vertex of the other model.
|
||||
|
||||
We therefore define the \emph{fitness--function} to be:
|
||||
|
||||
\begin{equation}
|
||||
f(\vec{P}) = \frac{1}{n} \underbrace{\sum_{i=1}^n \|\vec{c_T(s_i)} -
|
||||
\vec{s_i}\|_2^2}_{\textrm{source-to-target--distance}}
|
||||
+ \frac{1}{m} \underbrace{\sum_{i=1}^m \|\vec{c_S(t_i)} -
|
||||
\vec{t_i}\|_2^2}_{\textrm{target-to-source--distance}}
|
||||
+ \lambda \cdot \textrm{regularization}(\vec{P})
|
||||
\label{eq:fit3d}
|
||||
\end{equation}
|
||||
|
||||
where \(\vec{c_T(s_i)}\) denotes the target--vertex that is
|
||||
corresponding to the source--vertex \(\vec{s_i}\) and \(\vec{c_S(t_i)}\)
|
||||
denotes the source--vertex that corresponds to the target--vertex
|
||||
\(\vec{t_i}\). Note that the target--vertices are given and fixed by the
|
||||
target--model of the face we want to deform into, whereas the
|
||||
source--vertices vary depending on the chosen parameters \(\vec{P}\), as
|
||||
those get calculated by the previously introduces formula
|
||||
\(\vec{S} = \vec{UP}\) with \(\vec{S}\) being the \(n \times 3\)--matrix
|
||||
of source--vertices, \(\vec{U}\) the \(n \times m\)--matrix of
|
||||
calculated coefficients for the \ac{FFD} --- analog to the 1D case ---
|
||||
and finally \(\vec{P}\) being the \(m \times 3\)--matrix of the
|
||||
control--grid defining the whole deformation.
|
||||
|
||||
As regularization-term we add a weighted Laplacian of the deformation
|
||||
that has been used before by Aschenbach et
|
||||
al.\cite[Section 3.2]{aschenbach2015} on similar models and was shown to
|
||||
lead to a more precise fit. The Laplacian
|
||||
|
||||
\begin{equation}
|
||||
\textrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
\label{eq:reg3d}
|
||||
\end{equation}
|
||||
|
||||
is determined by the cotangent weighted displacement \(w_j\) of the to
|
||||
\(s_i\) connected vertices \(\mathcal{N}(s_i)\) and \(A_i\) is the
|
||||
Voronoi--area of the corresponding vertex \(\vec{s_i}\). We leave out
|
||||
the \(\vec{R}_i\)--term from the original paper as our deformation is
|
||||
merely linear.
|
||||
|
||||
This regularization--weight gives us a measure of stiffness for the
|
||||
material that we will influence via the \(\lambda\)--coefficient to
|
||||
start out with a stiff material that will get more flexible per
|
||||
iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
|
||||
\chapter{Evaluation of Scenarios}\label{evaluation-of-scenarios}
|
||||
|
||||
\label{sec:res}
|
||||
|
||||
To compare our results to the ones given by Richter et
|
||||
al.\cite{anrichterEvol}, we also use Spearman's rank correlation
|
||||
coefficient. Opposed to other popular coefficients, like the Pearson
|
||||
correlation coefficient, which measures a linear relationship between
|
||||
variables, the Spearmans's coefficient assesses \glqq how well an
|
||||
arbitrary monotonic function can descripbe the relationship between two
|
||||
variables, without making any assumptions about the frequency
|
||||
distribution of the variables\grqq\cite{hauke2011comparison}.
|
||||
|
||||
As we don't have any prior knowledge if any of the criteria is linear
|
||||
and we are just interested in a monotonic relation between the criteria
|
||||
and their predictive power, the Spearman's coefficient seems to fit out
|
||||
scenario best.
|
||||
|
||||
For interpretation of these values we follow the same interpretation
|
||||
used in \cite{anrichterEvol}, based on \cite{weir2015spearman}: The
|
||||
coefficient intervals \(r_S \in [0,0.2[\), \([0.2,0.4[\), \([0.4,0.6[\),
|
||||
\([0.6,0.8[\), and \([0.8,1]\) are classified as \emph{very weak},
|
||||
\emph{weak}, \emph{moderate}, \emph{strong} and \emph{very strong}. We
|
||||
interpret p--values smaller than \(0.1\) as \emph{significant} and cut
|
||||
off the precision of p--values after four decimal digits (thus often
|
||||
having a p--value of \(0\) given for p--values \(< 10^{-4}\)).
|
||||
|
||||
As we are looking for anti--correlation (i.e.~our criterion should be
|
||||
maximized indicating a minimal result in --- for example --- the
|
||||
reconstruction--error) instead of correlation we flip the sign of the
|
||||
correlation--coefficient for readability and to have the
|
||||
correlation--coefficients be in the classification--range given above.
|
||||
|
||||
For the evolutionary optimization we employ the CMA--ES (covariance
|
||||
matrix adaptation evolution strategy) of the shark3.1 library
|
||||
\cite{shark08}, as this algorithm was used by \cite{anrichterEvol} as
|
||||
well. We leave the parameters at their sensible defaults as further
|
||||
explained in \cite[Appendix~A: Table~1]{hansen2016cma}.
|
||||
|
||||
\section{Procedure: 1D Function
|
||||
Approximation}\label{procedure-1d-function-approximation}
|
||||
|
||||
@ -893,155 +1017,6 @@ neighbours (the smaller neighbour for \(r < 0\), the larger for
|
||||
An Example of such a testcase can be seen for a \(7 \times 4\)--grid in
|
||||
figure \ref{fig:example1d_grid}.
|
||||
|
||||
\section{Test Scenario: 3D Function
|
||||
Approximation}\label{test-scenario-3d-function-approximation}
|
||||
|
||||
Opposed to the 1--dimensional scenario before, the 3--dimensional
|
||||
scenario is much more complex --- not only because we have more degrees
|
||||
of freedom on each control point, but also because the
|
||||
\emph{fitness--function} we will use has no known analytic solution and
|
||||
multiple local minima.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.7\textwidth]{img/3dtarget.png}
|
||||
\end{center}
|
||||
\caption[3D source and target meshes]{\newline
|
||||
Left: The sphere we start from with 10\,807 vertices\newline
|
||||
Right: The face we want to deform the sphere into with 12\,024 vertices.}
|
||||
\label{fig:3dtarget}
|
||||
\end{figure}
|
||||
|
||||
First of all we introduce the set up: We have given a triangulated model
|
||||
of a sphere consisting of 10,807 vertices, that we want to deform into a
|
||||
the target--model of a face with a total of 12,024 vertices. Both of
|
||||
these Models can be seen in figure \ref{fig:3dtarget}.
|
||||
|
||||
Opposed to the 1D--case we cannot map the source and target--vertices in
|
||||
a one--to--one--correspondence, which we especially need for the
|
||||
approximation of the fitting--error. Hence we state that the error of
|
||||
one vertex is the distance to the closest vertex of the other model.
|
||||
|
||||
We therefore define the \emph{fitness--function} to be: \[
|
||||
f(\vec{P}) = \frac{1}{n} \underbrace{\sum_{i=1}^n \|\vec{c_T(s_i)} -
|
||||
\vec{s_i}\|_2^2}_{\textrm{source-to-target--distance}}
|
||||
+ \frac{1}{m} \underbrace{\sum_{i=1}^m \|\vec{c_S(t_i)} -
|
||||
\vec{t_i}\|_2^2}_{\textrm{target-to-source--distance}}
|
||||
+ \lambda \cdot \textrm{regularization}(\vec{P})
|
||||
\] where \(\vec{c_T(s_i)}\) denotes the target--vertex that is
|
||||
corresponding to the source--vertex \(\vec{s_i}\) and \(\vec{c_S(t_i)}\)
|
||||
denotes the source--vertex that corresponds to the target--vertex
|
||||
\(\vec{t_i}\). Note that the target--vertices are given and fixed by the
|
||||
target--model of the face we want to deform into, whereas the
|
||||
source--vertices vary depending on the chosen parameters \(\vec{P}\), as
|
||||
those get calculated by the previously introduces formula
|
||||
\(\vec{S} = \vec{UP}\) with \(\vec{S}\) being the \(n \times 3\)--matrix
|
||||
of source--vertices, \(\vec{U}\) the \(n \times m\)--matrix of
|
||||
calculated coefficients for the \ac{FFD} --- analog to the 1D case ---
|
||||
and finally \(\vec{P}\) being the \(m \times 3\)--matrix of the
|
||||
control--grid defining the whole deformation.
|
||||
|
||||
As regularization-term we add a weighted Laplacian of the deformation
|
||||
that has been used before by Aschenbach et
|
||||
al.\cite[Section 3.2]{aschenbach2015} on similar models and was shown to
|
||||
lead to a more precise fit. The Laplacian \[
|
||||
\textrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
\] is determined by the cotangent weighted displacement \(w_j\) of the
|
||||
to \(s_i\) connected vertices \(\mathcal{N}(s_i)\) and \(A_i\) is the
|
||||
Voronoi--area of the corresponding vertex \(\vec{s_i}\). We leave out
|
||||
the \(\vec{R}_i\)--term from the original paper as our deformation is
|
||||
merely linear.
|
||||
|
||||
This regularization--weight gives us a measure of stiffness for the
|
||||
material that we will influence via the \(\lambda\)--coefficient to
|
||||
start out with a stiff material that will get more flexible per
|
||||
iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
|
||||
\section{Procedure: 3D Function
|
||||
Approximation}\label{procedure-3d-function-approximation}
|
||||
|
||||
Initially we set up the correspondences \(\vec{c_T(\dots)}\) and
|
||||
\(\vec{c_S(\dots)}\) to be the respectively closest vertices of the
|
||||
other model. We then calculate the analytical solution given these
|
||||
correspondences via \(\vec{P^{*}} = \vec{U^+}\vec{T}\), and also use the
|
||||
first solution as guessed gradient for the calculation of the
|
||||
\emph{improvement--potential}, as the optimal solution is not known. We
|
||||
then let the evolutionary algorithm run up within \(1.05\) times the
|
||||
error of this solution and afterwards recalculate the correspondences
|
||||
\(\vec{c_T(\dots)}\) and \(\vec{c_S(\dots)}\). For the next step we then
|
||||
halve the regularization--impact \(\lambda\) and calculate the next
|
||||
incremental solution \(\vec{P^{*}} = \vec{U^+}\vec{T}\) with the updated
|
||||
correspondences to get our next target--error. We repeat this process as
|
||||
long as the target--error keeps decreasing.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{img/example3d_grid.png}
|
||||
\end{center}
|
||||
\caption[Example of a 3D--grid]{\newline Left: The 3D--setup with a $4\times
|
||||
4\times 4$--grid.\newline Right: The same grid after added noise to the
|
||||
control--points.}
|
||||
\label{fig:setup3d}
|
||||
\end{figure}
|
||||
|
||||
The grid we use for our experiments is just very coarse due to
|
||||
computational limitations. We are not interested in a good
|
||||
reconstruction, but an estimate if the mentioned evolvability criteria
|
||||
are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
\(4\times 4\times 4\)--grid. Identical to the 1--dimensional scenario
|
||||
before, we create a regular grid and move the control-points uniformly
|
||||
random between their neighbours, but in three instead of two
|
||||
dimensions\footnote{Again, we flip the signs for the edges, if necessary
|
||||
to have the object still in the convex hull.}.
|
||||
|
||||
As is clearly visible from figure \ref{fig:3dtarget}, the target--model
|
||||
has many vertices in the facial area, at the ears and in the
|
||||
neck--region. Therefore we chose to increase the grid-resolutions for
|
||||
our tests in two different dimensions and see how well the criteria
|
||||
predict a suboptimal placement of these control-points.
|
||||
|
||||
\chapter{Evaluation of Scenarios}\label{evaluation-of-scenarios}
|
||||
|
||||
\label{sec:res}
|
||||
|
||||
To compare our results to the ones given by Richter et
|
||||
al.\cite{anrichterEvol}, we also use Spearman's rank correlation
|
||||
coefficient. Opposed to other popular coefficients, like the Pearson
|
||||
correlation coefficient, which measures a linear relationship between
|
||||
variables, the Spearmans's coefficient assesses \glqq how well an
|
||||
arbitrary monotonic function can descripbe the relationship between two
|
||||
variables, without making any assumptions about the frequency
|
||||
distribution of the variables\grqq\cite{hauke2011comparison}.
|
||||
|
||||
As we don't have any prior knowledge if any of the criteria is linear
|
||||
and we are just interested in a monotonic relation between the criteria
|
||||
and their predictive power, the Spearman's coefficient seems to fit out
|
||||
scenario best.
|
||||
|
||||
For interpretation of these values we follow the same interpretation
|
||||
used in \cite{anrichterEvol}, based on \cite{weir2015spearman}: The
|
||||
coefficient intervals \(r_S \in [0,0.2[\), \([0.2,0.4[\), \([0.4,0.6[\),
|
||||
\([0.6,0.8[\), and \([0.8,1]\) are classified as \emph{very weak},
|
||||
\emph{weak}, \emph{moderate}, \emph{strong} and \emph{very strong}. We
|
||||
interpret p--values smaller than \(0.1\) as \emph{significant} and cut
|
||||
off the precision of p--values after four decimal digits (thus often
|
||||
having a p--value of \(0\) given for p--values \(< 10^{-4}\)).
|
||||
|
||||
As we are looking for anti--correlation (i.e.~our criterion should be
|
||||
maximized indicating a minimal result in --- for example --- the
|
||||
reconstruction--error) instead of correlation we flip the sign of the
|
||||
correlation--coefficient for readability and to have the
|
||||
correlation--coefficients be in the classification--range given above.
|
||||
|
||||
For the evolutionary optimization we employ the CMA--ES (covariance
|
||||
matrix adaptation evolution strategy) of the shark3.1 library
|
||||
\cite{shark08}, as this algorithm was used by \cite{anrichterEvol} as
|
||||
well. We leave the parameters at their sensible defaults as further
|
||||
explained in \cite[Appendix~A: Table~1]{hansen2016cma}.
|
||||
|
||||
\section{Results of 1D Function
|
||||
Approximation}\label{results-of-1d-function-approximation}
|
||||
|
||||
@ -1072,7 +1047,7 @@ resolution of the grid by taking a closer look at \(5 \times 5\),
|
||||
\caption[1D Fitting Errors for various grids]{The squared error for the various
|
||||
grids we examined.\newline
|
||||
Note that $7 \times 4$ and $4 \times 7$ have the same number of control--points.}
|
||||
\label{fig:1dfiterr}
|
||||
\label{fig:1dvar}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Variability}\label{variability-1}
|
||||
@ -1083,7 +1058,7 @@ deformation matrix \(\vec{U}\):
|
||||
\(V(\vec{U}) := \frac{\textrm{rank}(\vec{U})}{n}\), whereby \(n\) is the
|
||||
number of vertices. As all our tested matrices had a constant rank
|
||||
(being \(m = x \cdot y\) for a \(x \times y\) grid), we have merely
|
||||
plotted the errors in the boxplot in figure \ref{fig:1dfiterr}
|
||||
plotted the errors in the boxplot in figure \ref{fig:1dvar}
|
||||
|
||||
It is also noticeable, that although the \(7 \times 4\) and
|
||||
\(4 \times 7\) grids have a higher variability, they perform not better
|
||||
@ -1102,21 +1077,6 @@ variability and the evolutionary error.
|
||||
|
||||
\subsection{Regularity}\label{regularity-1}
|
||||
|
||||
\begin{table}[bht]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c|c}
|
||||
$5 \times 5$ & $7 \times 4$ & $4 \times 7$ & $7 \times 7$ & $10 \times 10$\\
|
||||
\hline
|
||||
$0.28$ ($0.0045$) & \textcolor{red}{$0.21$} ($0.0396$) & \textcolor{red}{$0.1$} ($0.3019$) & \textcolor{red}{$0.01$} ($0.9216$) & \textcolor{red}{$0.01$} ($0.9185$)
|
||||
\end{tabular}
|
||||
\caption[Correlation 1D Regularity/Steps]{Spearman's correlation (and p-values)
|
||||
between regularity and convergence speed for the 1D function approximation
|
||||
problem.\newline
|
||||
Not significant entries are marked in red.
|
||||
}
|
||||
\label{tab:1dreg}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution1d/55_to_1010_steps.png}
|
||||
@ -1128,6 +1088,21 @@ dataset.}
|
||||
\label{fig:1dreg}
|
||||
\end{figure}
|
||||
|
||||
\begin{table}[b]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c|c}
|
||||
$5 \times 5$ & $7 \times 4$ & $4 \times 7$ & $7 \times 7$ & $10 \times 10$\\
|
||||
\hline
|
||||
$0.28$ ($0.0045$) & \textcolor{red}{$0.21$} ($0.0396$) & \textcolor{red}{$0.1$} ($0.3019$) & \textcolor{red}{$0.01$} ($0.9216$) & \textcolor{red}{$0.01$} ($0.9185$)
|
||||
\end{tabular}
|
||||
\caption[Correlation 1D Regularity/Steps]{Spearman's correlation (and p-values)
|
||||
between regularity and convergence speed for the 1D function approximation
|
||||
problem.
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.
|
||||
}
|
||||
\label{tab:1dreg}
|
||||
\end{table}
|
||||
|
||||
Regularity should correspond to the convergence speed (measured in
|
||||
iteration--steps of the evolutionary algorithm), and is computed as
|
||||
inverse condition number \(\kappa(\vec{U})\) of the deformation--matrix.
|
||||
@ -1145,17 +1120,12 @@ improvement-potential against the steps next to the regularity--plot.
|
||||
Our theory is that the \emph{very strong} correlation
|
||||
(\(-r_S = -0.82, p=0\)) between improvement--potential and number of
|
||||
iterations hints that the employed algorithm simply takes longer to
|
||||
converge on a better solution (as seen in figure \ref{fig:1dimp})
|
||||
offsetting any gain the regularity--measurement could achieve.
|
||||
converge on a better solution (as seen in figure \ref{fig:1dvar} and
|
||||
\ref{fig:1dimp}) offsetting any gain the regularity--measurement could
|
||||
achieve.
|
||||
|
||||
\subsection{Improvement Potential}\label{improvement-potential-1}
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
Alle Spearman 1 und p-value 0.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{img/evolution1d/55_to_1010_improvement-vs-evo-error.png}
|
||||
@ -1165,22 +1135,265 @@ grid--resolutions}
|
||||
\label{fig:1dimp}
|
||||
\end{figure}
|
||||
|
||||
\improvement[inline]{write something about it..}
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
spearman 1 (p=0)
|
||||
\item
|
||||
gradient macht keinen unterschied
|
||||
\item
|
||||
\(UU^+\) scheint sehr kleine EW zu haben, s. regularität
|
||||
\item
|
||||
trotzdem sehr gutes kriterium - auch ohne Richtung.
|
||||
\end{itemize}
|
||||
|
||||
\section{Procedure: 3D Function
|
||||
Approximation}\label{procedure-3d-function-approximation}
|
||||
|
||||
\label{sec:proc:3dfa}
|
||||
|
||||
As explained in section \ref{sec:test:3dfa} in detail, we do not know
|
||||
the analytical solution to the global optimum. Additionally we have the
|
||||
problem of finding the right correspondences between the original
|
||||
sphere--model and the target--model, as they consist of \(10\,807\) and
|
||||
\(12\,024\) vertices respectively, so we cannot make a
|
||||
one--to--one--correspondence between them as we did in the
|
||||
one--dimensional case.
|
||||
|
||||
Initially we set up the correspondences \(\vec{c_T(\dots)}\) and
|
||||
\(\vec{c_S(\dots)}\) to be the respectively closest vertices of the
|
||||
other model. We then calculate the analytical solution given these
|
||||
correspondences via \(\vec{P^{*}} = \vec{U^+}\vec{T}\), and also use the
|
||||
first solution as guessed gradient for the calculation of the
|
||||
\emph{improvement--potential}, as the optimal solution is not known. We
|
||||
then let the evolutionary algorithm run up within \(1.05\) times the
|
||||
error of this solution and afterwards recalculate the correspondences
|
||||
\(\vec{c_T(\dots)}\) and \(\vec{c_S(\dots)}\).
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{img/example3d_grid.png}
|
||||
\end{center}
|
||||
\caption[Example of a 3D--grid]{\newline Left: The 3D--setup with a $4\times
|
||||
4\times 4$--grid.\newline Right: The same grid after added noise to the
|
||||
control--points.}
|
||||
\label{fig:setup3d}
|
||||
\end{figure}
|
||||
|
||||
For the next step we then halve the regularization--impact \(\lambda\)
|
||||
(starting at \(1\)) of our \emph{fitness--function} (\ref{eq:fit3d}) and
|
||||
calculate the next incremental solution
|
||||
\(\vec{P^{*}} = \vec{U^+}\vec{T}\) with the updated correspondences to
|
||||
get our next target--error. We repeat this process as long as the
|
||||
target--error keeps decreasing and use the number of these iterations as
|
||||
measure of the convergence speed. As the resulting evolutional error
|
||||
without regularization is in the numeric range of \(\approx 100\),
|
||||
whereas the regularization is numerically \(\approx 7000\) we need at
|
||||
least \(10\) to \(15\) iterations until the regularization--effect wears
|
||||
off.
|
||||
|
||||
The grid we use for our experiments is just very coarse due to
|
||||
computational limitations. We are not interested in a good
|
||||
reconstruction, but an estimate if the mentioned evolvability criteria
|
||||
are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
\(4\times 4\times 4\)--grid. Identical to the 1--dimensional scenario
|
||||
before, we create a regular grid and move the control-points \todo{wie?}
|
||||
random between their neighbours, but in three instead of two
|
||||
dimensions\footnote{Again, we flip the signs for the edges, if necessary
|
||||
to have the object still in the convex hull.}.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{img/3d_grid_resolution.png}
|
||||
\caption[Different resolution of 3D grids]{\newline
|
||||
Left: A $7 \times 4 \times 4$ grid suited to better deform into facial
|
||||
features.\newline
|
||||
Right: A $4 \times 4 \times 7$ grid that we expect to perform worse.}
|
||||
\label{fig:3dgridres}
|
||||
\end{figure}
|
||||
|
||||
As is clearly visible from figure \ref{fig:3dgridres}, the target--model
|
||||
has many vertices in the facial area, at the ears and in the
|
||||
neck--region. Therefore we chose to increase the grid-resolutions for
|
||||
our tests in two different dimensions and see how well the criteria
|
||||
predict a suboptimal placement of these control-points.
|
||||
|
||||
\section{Results of 3D Function
|
||||
Approximation}\label{results-of-3d-function-approximation}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/4x4xX_montage.png}
|
||||
\caption{Results 3D for 4x4xX}
|
||||
In the 3D--Approximation we tried to evaluate further on the impact of
|
||||
the grid--layout to the overall criteria. As the target--model has many
|
||||
vertices in concentrated in the facial area we start from a
|
||||
\(4 \times 4 \times 4\) grid and only increase the number of control
|
||||
points in one dimension, yielding a resolution of
|
||||
\(7 \times 4 \times 4\) and \(4 \times 4 \times 7\) respectively. We
|
||||
visualized those two grids in figure \ref{fig:3dgridres}.
|
||||
|
||||
To evaluate the performance of the evolvability--criteria we also tested
|
||||
a more neutral resolution of \(4 \times 4 \times 4\),
|
||||
\(5 \times 5 \times 5\), and \(6 \times 6 \times 6\) --- similar to the
|
||||
1D--setup.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[width=0.7\textwidth]{img/evolution3d/variability_boxplot.png}
|
||||
\caption[3D Fitting Errors for various grids]{The fitting error for the various
|
||||
grids we examined.\newline
|
||||
Note that the number of control--points is a product of the resolution, so $X
|
||||
\times 4 \times 4$ and $4 \times 4 \times X$ have the same number of
|
||||
control--points.}
|
||||
\label{fig:3dvar}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/Xx4x4_montage.png}
|
||||
\caption{Results 3D for Xx4x4}
|
||||
\subsection{Variability}\label{variability-2}
|
||||
|
||||
\begin{table}[tbh]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c}
|
||||
$4 \times 4 \times \mathrm{X}$ & $\mathrm{X} \times 4 \times 4$ & $\mathrm{Y} \times \mathrm{Y} \times \mathrm{Y}$ & all \\
|
||||
\hline
|
||||
0.89 (0) & 0.9 (0) & 0.91 (0) & 0.94 (0)
|
||||
\end{tabular}
|
||||
\caption[Correlation between variability and fitting error for 3D]{Correlation
|
||||
between variability and fitting error for the 3D fitting scenario.\newline
|
||||
Displayed are the negated Spearman coefficients with the corresponding p-values
|
||||
in brackets for three cases of increasing variability ($\mathrm{X} \in [4,5,7],
|
||||
\mathrm{Y} \in [4,5,6]$).
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.}
|
||||
\label{tab:3dvar}
|
||||
\end{table}
|
||||
|
||||
Similar to the 1D case all our tested matrices had a constant rank
|
||||
(being \(m = x \cdot y \cdot z\) for a \(x \times y \times z\) grid), so
|
||||
we again have merely plotted the errors in the boxplot in figure
|
||||
\ref{fig:3dvar}.
|
||||
|
||||
As expected the \(\mathrm{X} \times 4 \times 4\) grids performed
|
||||
slightly better than their \(4 \times 4 \times \mathrm{X}\) counterparts
|
||||
with a mean\(\pm\)sigma of \(101.25 \pm 7.45\) to \(102.89 \pm 6.74\)
|
||||
for \(\mathrm{X} = 5\) and \(85.37 \pm 7.12\) to \(89.22 \pm 6.49\) for
|
||||
\(\mathrm{X} = 7\).
|
||||
|
||||
Interestingly both variants end up closer in terms of fitting error than
|
||||
we anticipated, which shows that the evolutionary algorithm we employed
|
||||
is capable of correcting a purposefully created \glqq bad\grqq ~grid.
|
||||
Also this confirms, that in our cases the number of control--points is
|
||||
more important for quality than their placement, which is captured by
|
||||
the variability via the rank of the deformation--matrix.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{img/evolution3d/variability2_boxplot.png}
|
||||
\caption[Histogram of ranks of high--resolution deformation--matrices]{
|
||||
Histogram of ranks of various $10 \times 10 \times 10$ grids.
|
||||
}
|
||||
\label{fig:histrank3d}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/YxYxY_montage.png}
|
||||
\caption{Results 3D for YxYxY for Y $\in [4,5,6]$}
|
||||
Overall the correlation between variability and fitness--error were
|
||||
\emph{significantly} and showed a \emph{very strong} correlation in all
|
||||
our tests. The detailed correlation--coefficients are given in table
|
||||
\ref{tab:3dvar} alongside their p--values.
|
||||
|
||||
As introduces in section \ref{sec:impl:grid} and visualized in figure
|
||||
\ref{fig:enoughCP}, we know, that not all control points have to
|
||||
necessarily contribute to the parametrization of our 3D--model. Because
|
||||
we are starting from a sphere, some control-points are too far away from
|
||||
the surface to contribute to the deformation at all.
|
||||
|
||||
One can already see in 2D in figure \ref{fig:enoughCP}, that this effect
|
||||
starts with a regular \(9 \times 9\) grid on a perfect circle. To make
|
||||
sure we observe this, we evaluated the variability for 100 randomly
|
||||
moved \(10 \times 10 \times 10\) grids on the sphere we start out with.
|
||||
|
||||
As the variability is defined by \(\frac{\mathrm{rank}(\vec{U})}{n}\) we
|
||||
can easily recover the rank of the deformation--matrix \(\vec{U}\). The
|
||||
results are shown in the histogram in figure \ref{fig:histrank3d}.
|
||||
Especially in the centre of the sphere and in the corners of our grid we
|
||||
effectively loose control--points for our parametrization.
|
||||
|
||||
This of course yields a worse error as when those control--points would
|
||||
be put to use and one should expect a loss in quality evident by a
|
||||
higher reconstruction--error opposed to a grid where they are used.
|
||||
Sadly we could not run a in--depth test on this due to computational
|
||||
limitations.
|
||||
|
||||
Nevertheless this hints at the notion, that variability is a good
|
||||
measure for the overall quality of a fit.
|
||||
|
||||
\subsection{Regularity}\label{regularity-2}
|
||||
|
||||
\begin{table}[tbh]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c}
|
||||
& $5 \times 4 \times 4$ & $7 \times 4 \times 4$ & $\mathrm{X} \times 4 \times 4$ \\
|
||||
\cline{2-4}
|
||||
& \textcolor{red}{0.15} (0.147) & \textcolor{red}{0.09} (0.37) & 0.46 (0) \B \\
|
||||
\cline{2-4}
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\hline
|
||||
$4 \times 4 \times 4$ & $4 \times 4 \times 5$ & $4 \times 4 \times 7$ & $4 \times 4 \times \mathrm{X}$ \T \\
|
||||
\hline
|
||||
0.38 (0) & \textcolor{red}{0.17} (0.09) & 0.40 (0) & 0.46 (0) \B \\
|
||||
\hline
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\cline{2-4}
|
||||
& $5 \times 5 \times 5$ & $6 \times 6 \times 6$ & $\mathrm{Y} \times \mathrm{Y} \times \mathrm{Y}$ \T \\
|
||||
\cline{2-4}
|
||||
& \textcolor{red}{-0.18} (0.0775) & \textcolor{red}{-0.13} (0.1715) & -0.25 (0) \B \\
|
||||
\cline{2-4}
|
||||
\multicolumn{4}{c}{} \\[-1.4em]
|
||||
\cline{2-4}
|
||||
\multicolumn{3}{c}{} & all: 0.15 (0) \T
|
||||
\end{tabular}
|
||||
\caption[Correlation between regularity and iterations for 3D]{Correlation
|
||||
between regularity and number of iterations for the 3D fitting scenario.
|
||||
Displayed are the negated Spearman coefficients with the corresponding p--values
|
||||
in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,5,6]$).
|
||||
\newline Note: Not significant results are marked in \textcolor{red}{red}.}
|
||||
\label{tab:3dvar}
|
||||
\end{table}
|
||||
|
||||
Opposed to the predictions of variability our test on regularity gave a
|
||||
mixed result --- similar to the 1D--case.
|
||||
|
||||
In half scenarios we have a \emph{significant}, but \emph{weak} to
|
||||
\emph{moderate} correlation between regularity and number of iterations.
|
||||
On the other hand in the scenarios where we increased the number of
|
||||
control--points, namely \(125\) for the \(5 \times 5 \times 5\) grid and
|
||||
\(216\) for the \(6 \times 6 \times 6\) grid we found a
|
||||
\emph{significant}, but \emph{weak} anti--correlation, which seem to
|
||||
contradict the findings/trends for the sets with \(64\), \(80\), and
|
||||
\(112\) control--points (first two rows of table \ref{tab:3dvar}).
|
||||
|
||||
Taking all results together we only find a \emph{very weak}, but
|
||||
\emph{significant} link between regularity and the number of iterations
|
||||
needed for the algorithm to converge.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/regularity_montage.png}
|
||||
\caption[Regularity for different 3D--grids]{
|
||||
**BLINDTEXT**
|
||||
}
|
||||
\label{fig:resreg3d}
|
||||
\end{figure}
|
||||
|
||||
As can be seen from figure \ref{fig:resreg3d}, we can
|
||||
observe\todo{things}.
|
||||
|
||||
\subsection{Improvement Potential}\label{improvement-potential-2}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
|
||||
\caption[Improvement potential for different 3D--grids]{
|
||||
**BLINDTEXT**
|
||||
}
|
||||
\label{fig:resimp3d}
|
||||
\end{figure}
|
||||
|
||||
\chapter{Schluss}\label{schluss}
|
||||
|
@ -95,6 +95,9 @@
|
||||
% % \renewcommand{\arraystretch}{1.2} % Tabellenzeilen ein bischen h?her machen.
|
||||
% \newcommand\m[2]{\multirow{#1}{*}{$#2$}}
|
||||
|
||||
\newcommand\T{\rule{0pt}{2.6ex}} % Top strut
|
||||
\newcommand\B{\rule[-1.2ex]{0pt}{0pt}} % Bottom strut
|
||||
|
||||
% ##### Text symbole #####
|
||||
% \newcommand\subdot[1]{\lower0.5em\hbox{$\stackrel{\displaystyle #1}{.}$}}
|
||||
% \newcommand\subsubdot[1]{\lower0.5em\hbox{$\stackrel{#1}{.}$}}
|
||||
|
@ -35,6 +35,7 @@ xcolor=dvipsnames,
|
||||
\setlength{\parskip}{12pt plus6pt minus2pt} % dafür abstand zwischen absäzen
|
||||
% \renewcommand{\familydefault}{\sfdefault}
|
||||
\setstretch{1.5} % 1.5-facher zeilenabstand
|
||||
\renewcommand{\arraystretch}{1.5} % größere Abstände in Tabellen etc.
|
||||
|
||||
%%%%%%%%%%%%%%% Header - Footer %%%%%%%%%%%%%%%
|
||||
% ### Fr 2 Seitig (option twopage):
|
||||
|
Reference in New Issue
Block a user