savepoint

This commit is contained in:
Stefan Dresselhaus
2017-10-25 20:40:51 +02:00
parent 88f30c3d87
commit 5b22c181be
106 changed files with 9502 additions and 2144 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

View File

@ -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 potential vs steps](img/evolution1d/20170830-evolution1D_5x5_100Times-all_improvement-vs-steps.png) -->
<!-- -->
<!-- ![Improvement potential vs evolutional error](img/evolution1d/20170830-evolution1D_5x5_100Times-all_improvement-vs-evo-error.png) -->
<!-- -->
<!-- ![Regularity vs steps](img/evolution1d/20170830-evolution1D_5x5_100Times-all_regularity-vs-steps.png) -->
\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}
<!-- ![Improvement potential vs steps](img/evolution3d/20170926_3dFit_both_improvement-vs-steps.png) -->
<!-- -->
<!-- ![Improvement potential vs evolutional -->
<!-- error](img/evolution3d/20170926_3dFit_both_improvement-vs-evo-error.png) -->
<!-- -->
<!-- ![Regularity vs steps](img/evolution3d/20170926_3dFit_both_regularity-vs-steps.png) -->
# Schluss
\label{sec:dis}

Binary file not shown.

View File

@ -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}

View File

@ -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}{.}$}}

View File

@ -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):