nearly done

This commit is contained in:
Stefan Dresselhaus
2017-10-28 20:54:05 +02:00
parent f901716f60
commit c54b3f2960
21 changed files with 3704 additions and 108 deletions

View File

@ -236,3 +236,21 @@
year={2016},
url={https://arxiv.org/abs/1604.00772}
}
@article{eiben1999parameter,
title={Parameter control in evolutionary algorithms},
author={Eiben, {\'A}goston E and Hinterding, Robert and Michalewicz, Zbigniew},
journal={IEEE Transactions on evolutionary computation},
volume={3},
number={2},
pages={124--141},
year={1999},
publisher={IEEE},
url={https://www.researchgate.net/profile/Marc_Schoenauer/publication/223460374_Parameter_Control_in_Evolutionary_Algorithms/links/545766440cf26d5090a9b951.pdf},
}
@article{rechenberg1973evolutionsstrategie,
title={Evolutionsstrategie Optimierung technischer Systeme nach Prinzipien der biologischen Evolution},
author={Rechenberg, Ingo},
year={1973},
publisher={Frommann-Holzboog}
}

BIN
arbeit/img/Evo_overview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

BIN
arbeit/img/deformations.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@ -1,5 +1,5 @@
---
fontsize: 12pt
fontsize: 11pt
---
\chapter*{How to read this Thesis}
@ -23,8 +23,6 @@ Unless otherwise noted the following holds:
# Introduction
\improvement[inline]{Mehr Bilder}
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
@ -35,6 +33,13 @@ layouting of circuit boards or stacking of 3D--objects). Moreover these are
typically not static environments but requirements shift over time or from case
to case.
\begin{figure}[hbt]
\centering
\includegraphics[width=\textwidth]{img/Evo_overview.png}
\caption{Example of the use of evolutionary algorithms in automotive design
(from \cite{anrichterEvol}).}
\end{figure}
Evolutionary algorithms cope especially well with these problem domains while
addressing all the issues at hand\cite{minai2006complex}. One of the main
concerns in these algorithms is the formulation of the problems in terms of a
@ -65,6 +70,12 @@ varies from context to context\cite{richter2015evolvability}. As a consequence
there is need for some criteria we can measure, so that we are able to compare different
representations to learn and improve upon these.
\begin{figure}[hbt]
\centering
\includegraphics[width=\textwidth]{img/deformations.png}
\caption{Example of RBF--based deformation and FFD targeting the same mesh.}
\end{figure}
One example of such a general representation of an object is to generate random
points and represent vertices of an object as distances to these points --- for
example via \acf{RBF}. If one (or the algorithm) would move such a point the
@ -96,7 +107,7 @@ take an abstract look at the definition of \ac{FFD} for a one--dimensional line
Then we establish some background--knowledge of evolutionary algorithms (in
\ref{sec:back:evo}) and why this is useful in our domain (in
\ref{sec:back:evogood}) followed by the definition of the different evolvability
criteria established in \cite{anrichterEvol} (in \ref {sec:back:rvi}).
criteria established in \cite{anrichterEvol} (in \ref {sec:intro:rvi}).
In Chapter \ref{sec:impl} we take a look at our implementation of \ac{FFD} and
the adaptation for 3D--meshes that were used. Next, in Chapter \ref{sec:eval},
@ -319,13 +330,20 @@ The main algorithm just repeats the following steps:
of $\mu$ individuals.
All these functions can (and mostly do) have a lot of hidden parameters that
can be changed over time.
can be changed over time. A good overview of this is given in
\cite{eiben1999parameter}, so we only give a small excerpt here.
\improvement[inline]{Genauer: Welche? Wo? Wieso? ...}
For example the mutation can consist of merely a single $\sigma$ determining the
strength of the gaussian defects in every parameter --- or giving a different
$\sigma$ to every part. An even more sophisticated example would be the \glqq 1/5
success rule\grqq \ from \cite{rechenberg1973evolutionsstrategie}.
<!--One can for example start off with a high
mutation rate that cools off over time (i.e. by lowering the variance of a
gaussian noise).-->
Also in selection it may not be wise to only take the best--performing
individuals, because it may be that the optimization has to overcome a barrier
of bad fitness to achieve a better local optimum.
Recombination also does not have to be mere random choosing of parents, but can
also take ancestry, distance of genes or grouping into account.
## Advantages of evolutionary algorithms
\label{sec:back:evogood}
@ -346,8 +364,8 @@ are shown in figure \ref{fig:probhard}.
Most of the advantages stem from the fact that a gradient--based procedure has
only one point of observation from where it evaluates the next steps, whereas an
evolutionary strategy starts with a population of guessed solutions. Because an
evolutionary strategy modifies the solution randomly, keeping the best solutions
and purging the worst, it can also target multiple different hypothesis at the
evolutionary strategy modifies the solution randomly, keeping some solutions
and purging others, it can also target multiple different hypothesis at the
same time where the local optima die out in the face of other, better
candidates.
@ -371,16 +389,18 @@ converge to the same solution.
As we have established in chapter \ref{sec:back:ffd}, we can describe a
deformation by the formula
$$
\vec{V} = \vec{U}\vec{P}
\vec{S} = \vec{U}\vec{P}
$$
where $\vec{V}$ is a $n \times d$ matrix of vertices, $\vec{U}$ are the (during
where $\vec{S}$ is a $n \times d$ matrix of vertices^[We use $\vec{S}$ in this
notation, as we will use this parametrization of a source--mesh to manipulate
$\vec{S}$ into a target--mesh $\vec{T}$ via $\vec{P}$], $\vec{U}$ are the (during
parametrization) calculated deformation--coefficients and $P$ is a $m \times d$ matrix
of control--points that we interact with during deformation.
We can also think of the deformation in terms of differences from the original
coordinates
$$
\Delta \vec{V} = \vec{U} \cdot \Delta \vec{P}
\Delta \vec{S} = \vec{U} \cdot \Delta \vec{P}
$$
which is isomorphic to the former due to the linear correlation in the
deformation. One can see in this way, that the way the deformation behaves lies
@ -443,7 +463,6 @@ The definition for an *improvement potential* $P$ is\cite{anrichterEvol}:
$$
\mathrm{potential}(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
$$
\unsure[inline]{ist das $^2$ richtig?}
given some approximate $n \times d$ fitness--gradient $\vec{G}$, normalized to
$\|\vec{G}\|_F = 1$, whereby $\|\cdot\|_F$ denotes the Frobenius--Norm.
@ -499,10 +518,9 @@ $$
$$
and do a gradient--descend to approximate the value of $u$ up to an $\epsilon$ of $0.0001$.
For this we use the Gauss--Newton algorithm\cite{gaussNewton}
\todo[inline]{rewrite. falsch und wischi-waschi. Least squares?}
as the solution to
this problem may not be deterministic, because we usually have way more vertices
For this we employ the Gauss--Newton algorithm\cite{gaussNewton}, which
converges into the least--squares solution. An exact solution of this problem is
impossible most of the times, because we usually have way more vertices
than control points ($\#v~\gg~\#c$).
## Adaption of \ac{FFD} for a 3D--Mesh
@ -754,10 +772,9 @@ 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}
\mathrm{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)
\mathrm{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{s}_i\|^2 \right)
\label{eq:reg3d}
\end{equation}
\unsure[inline]{was ist $\vec{\overline{s}_j}$? Zentrum? eigentlich $s_i$?}
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
@ -765,8 +782,10 @@ 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?}
material that will get more flexible per iteration. As a side--effect this also
limits the effects of overagressive movement of the control--points in the
beginning of the fitting process and thus should limit the generation of
ill--defined grids mentioned in section \ref{sec:impl:grid}.
# Evaluation of Scenarios
\label{sec:res}
@ -812,14 +831,15 @@ For our setup we first compute the coefficients of the deformation--matrix and
use then the formulas for *variability* and *regularity* to get our predictions.
Afterwards we solve the problem analytically to get the (normalized) correct
gradient that we use as guess for the *improvement potential*. To check we also
consider a distorted gradient $\vec{g}_{\textrm{d}}$
consider a distorted gradient $\vec{g}_{\mathrm{d}}$
$$
\vec{g}_{\textrm{d}} = \frac{\vec{g}_{\textrm{c}} + \mathbb{1}}{\|\vec{g}_{\textrm{c}} + \mathbb{1}\|}
\vec{g}_{\mathrm{d}} = \frac{\mu \vec{g}_{\mathrm{c}} + (1-\mu)\mathbb{1}}{\|\mu \vec{g}_{\mathrm{c}} + (1-\mu) \mathbb{1}\|}
$$
where $\mathbb{1}$ is the vector consisting of $1$ in every dimension and
$\vec{g}_\textrm{c} = \vec{p^{*}} - \vec{p}$ the calculated correct gradient. As
we always start with a gradient of $\mathbb{0}$ this shortens to
$\vec{g}_\textrm{c} = \vec{p^{*}}$.
where $\mathbb{1}$ is the vector consisting of $1$ in every dimension,
$\vec{g}_\mathrm{c} = \vec{p^{*}} - \vec{p}$ is the calculated correct gradient,
and $\mu$ is used to blend between $\vec{g}_\mathrm{c}$ and $\mathbb{1}$. As
we always start with a gradient of $p = \mathbb{0}$ this means shortens
$\vec{g}_\mathrm{c} = \vec{p^{*}}$.
\begin{figure}[ht]
\begin{center}
@ -836,12 +856,21 @@ randomly inside the x--y--plane. As self-intersecting grids get tricky to solve
with our implemented newtons--method we avoid the generation of such
self--intersecting grids for our testcases (see section \ref{3dffd}).
To achieve that we select a uniform distributed number $r \in [-0.25,0.25]$ per
dimension and shrink the distance to the neighbours (the smaller neighbour for
$r < 0$, the larger for $r > 0$) by the factor $r$^[Note: On the Edges this
displacement is only applied outwards by flipping the sign of $r$, if
appropriate.].
\improvement[inline]{update!! gaussian, not uniform!!}
To achieve that we generated a gaussian distributed number with $\mu = 0, \sigma=0.25$
and clamped it to the range $[-0.25,0.25]$. We chose such an $r \in [-0.25,0.25]$
per dimension and moved the control--points by that factor towards their
respective neighbours^[Note: On the Edges this displacement is only applied
outwards by flipping the sign of $r$, if appropriate.].
In other words we set
\begin{equation*}
p_i =
\begin{cases}
p_i + (p_i - p_{i-1}) \cdot r, & \textrm{if } r \textrm{ negative} \\
p_i + (p_{i+1} - p_i) \cdot r, & \textrm{if } r \textrm{ positive}
\end{cases}
\end{equation*}
in each dimension separately.
An Example of such a testcase can be seen for a $7 \times 4$--grid in figure
\ref{fig:example1d_grid}.
@ -957,12 +986,22 @@ grid--resolutions}
\label{fig:1dimp}
\end{figure}
\improvement[inline]{write something about it..}
The improvement potential should correlate to the quality of the
fitting--result. We plotted the results for the tested grid-sizes $5 \times 5$,
$7 \times 7$ and $10 \times 10$ in figure \ref{fig:1dimp}. We tested the
$4 \times 7$ and $7 \times 4$ grids as well, but omitted them from the plot.
- 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.
Additionally we tested the results for a distorted gradient described in
\ref{sec:proc:1d} with a $\mu$--value of $0.25$, $0.5$, $0,75$, and $1.0$ for
the $5 \times 5$ grid and with a $\mu$--value of $0.5$ for all other cases.
All results show the identical *very strong* and *significant* correlation with
a Spearman--coefficient of $- r_S = 1.0$ and p--value of $0$.
These results indicate, that $\|\mathbb{1} - \vec{U}\vec{U}^{+}\|_F$ is close to $0$,
reducing the impacts of any kind of gradient. Nevertheless, the improvement
potential seems to be suited to make estimated guesses about the quality of a
fit, even lacking an exact gradient.
## Procedure: 3D Function Approximation
\label{sec:proc:3dfa}
@ -1010,9 +1049,10 @@ 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 \improvement{Beschreiben 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.].
regular grid and move the control-points in the exact same random manner between
their neighbours as described in section \ref{sec:proc:1d}, 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}
@ -1244,7 +1284,14 @@ in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,
\label{tab:3dimp}
\end{table}
\begin{figure}[!htb]
Comparing to the 1D--scenario, we do not know the optimal solution to the given
problem and for the calculation we only use the initial gradient produced by the
initial correlation between both objects. This gradient changes with every
iteration and will be off our first guess very quickly. This is the reason we
are not trying to create artificially bad gradients, as we have a broad range in
quality of such gradients anyway.
\begin{figure}[htb]
\centering
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
\caption[Improvement potential for different 3D--grids]{
@ -1254,11 +1301,76 @@ indicate trends.}
\label{fig:resimp3d}
\end{figure}
We plotted our findings on the improvement potential in a similar way as we did
before with the regularity. In figure \ref{fig:resimp3d} one can clearly see the
correlation and the spread within each setup and the behaviour when we increase
the number of control--points.
# Schluss
Along with this we also give the spearman--coefficients along with their
p--values in table \ref{tab:3dimp}. Within one scenario we only find a *weak* to
*moderate* correlation between the improvement potential and the fitting error,
but all findings (except for $7 \times 4 \times 4$ and $6 \times 6 \times 6$)
are significant.
If we take multiple datasets into account the correlation is *very strong* and
*significant*, which is good, as this functions as a litmus--test, because the
quality is naturally tied to the number of control--points.
All in all the improvement potential seems to be a good and sensible measure of
quality, even given gradients of varying quality.
\improvement[inline]{improvement--potential vs. steps ist anders als in 1d! Plot
und zeigen!}
# Discussion and outlook
\label{sec:dis}
- Regularity ist kacke für unser setup. Bessere Vorschläge? EW/EV?
In this thesis we took a look at the different criteria for evolvability as
introduced by Richter et al.\cite{anrichterEvol}, namely *variability*,
*regularity* and *improvement potential* under different setup--conditions.
Where Richter et al. used \acf{RBF}, we employed \acf{FFD} to set up a
low--complexity parametrization of a more complex vertex--mesh.
In our findings we could show in the 1D--scenario, that there were statistically
significant very strong correlations between *variability and fitting error*
($0.94$) and *improvement--potential and fitting error* ($1.0$) with
comparable results than Richter et al. (with $0.31$ to $0.88$
for the former and $0.75$ to $0.99$ for the latter), whereas we found
only weak correlations for *regularity and convergence--speed* ($0.28$)
opposed to Richter et al. with $0.39$ to $0.91$.^[We only took statistically
*significant* results into consideration when compiling these numbers. Details
are given in the respective chapters.]
For the 3D--scenario our results show a very strong, significant correlation
between *variability and fitting error* with $0.89$ to $0.94$, which are pretty
much in line with the findings of Richter et al. ($0.65$ to $0.95$). The
correlation between *improvement potential and fitting error* behave similar,
with our findings having a significant coefficient of $0.3$ to $0.95$ depending
on the grid--resolution compared to the $0.61$ to $0.93$ from Richter et al.
In the case of the correlation of *regularity and convergence speed* we found
very different (and often not significant) correlations and anti--correlations
ranging from $-0.25$ to $0.46$, whereas Richter et al. reported correlations
between $0.34$ to $0.87$.
Taking these results into consideration, one can say, that *variability* and
*improvement potential* are very good estimates for the quality of a fit using
\acf{FFD} as a deformation function.
One reason for the bad or erratic behaviour of the *regularity*--criterion could
be that in an \ac{FFD}--setting we have a likelihood of having control--points
that are only contributing to the whole parametrization in negligible amounts.
This results in very small right singular values of the deformation--matrix
$\vec{U}$ that influence the condition--number and thus the *regularity* in a
significant way. Further research is needed to refine *regularity* so that these
problems get addressed.
Richter et al. also compared the behaviour of direct and indirect manipulation
in \cite{anrichterEvol}, whereas we merely used an indirect \ac{FFD}--approach.
As direct manipulations tend to perform better than indirect manipulations, the
usage of \acf{DM--FFD} could also work better with the criteria we examined.
\improvement[inline]{write more outlook/further research}
\improvement[inline]{Bibliotheksverzeichnis links anpassen. DOI überschreibt
Direktlinks des Autors.\newline

Binary file not shown.

View File

@ -2,8 +2,9 @@
% abstracton : Abstract mit Ueberschrift
\documentclass[
a4paper, % default
12pt, % default = 11pt
BCOR10mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
11pt, % default = 11pt
DIV=calc,
BCOR6mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
twoside, % default, 2seitig
titlepage,
% pagesize=auto
@ -168,8 +169,6 @@ Unless otherwise noted the following holds:
\chapter{Introduction}\label{introduction}
\improvement[inline]{Mehr Bilder}
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.
@ -181,6 +180,13 @@ circuit boards or stacking of 3D--objects). Moreover these are typically
not static environments but requirements shift over time or from case to
case.
\begin{figure}[hbt]
\centering
\includegraphics[width=\textwidth]{img/Evo_overview.png}
\caption{Example of the use of evolutionary algorithms in automotive design
(from \cite{anrichterEvol}).}
\end{figure}
Evolutionary algorithms cope especially well with these problem domains
while addressing all the issues at hand\cite{minai2006complex}. One of
the main concerns in these algorithms is the formulation of the problems
@ -214,6 +220,12 @@ from context to context\cite{richter2015evolvability}. As a consequence
there is need for some criteria we can measure, so that we are able to
compare different representations to learn and improve upon these.
\begin{figure}[hbt]
\centering
\includegraphics[width=\textwidth]{img/deformations.png}
\caption{Example of RBF--based deformation and FFD targeting the same mesh.}
\end{figure}
One example of such a general representation of an object is to generate
random points and represent vertices of an object as distances to these
points --- for example via \acf{RBF}. If one (or the algorithm) would
@ -247,7 +259,7 @@ establish some background--knowledge of evolutionary algorithms (in
\ref{sec:back:evo}) and why this is useful in our domain (in
\ref{sec:back:evogood}) followed by the definition of the different
evolvability criteria established in \cite{anrichterEvol} (in
\ref {sec:back:rvi}).
\ref {sec:intro:rvi}).
In Chapter \ref{sec:impl} we take a look at our implementation of
\ac{FFD} and the adaptation for 3D--meshes that were used. Next, in
@ -486,9 +498,21 @@ The main algorithm just repeats the following steps:
\end{itemize}
All these functions can (and mostly do) have a lot of hidden parameters
that can be changed over time.
that can be changed over time. A good overview of this is given in
\cite{eiben1999parameter}, so we only give a small excerpt here.
\improvement[inline]{Genauer: Welche? Wo? Wieso? ...}
For example the mutation can consist of merely a single \(\sigma\)
determining the strength of the gaussian defects in every parameter ---
or giving a different \(\sigma\) to every part. An even more
sophisticated example would be the \glqq 1/5 success rule\grqq ~from
\cite{rechenberg1973evolutionsstrategie}.
Also in selection it may not be wise to only take the best--performing
individuals, because it may be that the optimization has to overcome a
barrier of bad fitness to achieve a better local optimum.
Recombination also does not have to be mere random choosing of parents,
but can also take ancestry, distance of genes or grouping into account.
\section{Advantages of evolutionary
algorithms}\label{advantages-of-evolutionary-algorithms}
@ -512,8 +536,8 @@ Most of the advantages stem from the fact that a gradient--based
procedure has only one point of observation from where it evaluates the
next steps, whereas an evolutionary strategy starts with a population of
guessed solutions. Because an evolutionary strategy modifies the
solution randomly, keeping the best solutions and purging the worst, it
can also target multiple different hypothesis at the same time where the
solution randomly, keeping some solutions and purging others, it can
also target multiple different hypothesis at the same time where the
local optima die out in the face of other, better candidates.
\improvement[inline]{Verweis auf MO-CMA etc. Vielleicht auch etwas
@ -539,15 +563,18 @@ deformations}\label{criteria-for-the-evolvability-of-linear-deformations}
As we have established in chapter \ref{sec:back:ffd}, we can describe a
deformation by the formula \[
\vec{V} = \vec{U}\vec{P}
\] where \(\vec{V}\) is a \(n \times d\) matrix of vertices, \(\vec{U}\)
are the (during parametrization) calculated deformation--coefficients
and \(P\) is a \(m \times d\) matrix of control--points that we interact
with during deformation.
\vec{S} = \vec{U}\vec{P}
\] where \(\vec{S}\) is a \(n \times d\) matrix of vertices\footnote{We
use \(\vec{S}\) in this notation, as we will use this parametrization
of a source--mesh to manipulate \(\vec{S}\) into a target--mesh
\(\vec{T}\) via \(\vec{P}\)}, \(\vec{U}\) are the (during
parametrization) calculated deformation--coefficients and \(P\) is a
\(m \times d\) matrix of control--points that we interact with during
deformation.
We can also think of the deformation in terms of differences from the
original coordinates \[
\Delta \vec{V} = \vec{U} \cdot \Delta \vec{P}
\Delta \vec{S} = \vec{U} \cdot \Delta \vec{P}
\] which is isomorphic to the former due to the linear correlation in
the deformation. One can see in this way, that the way the deformation
behaves lies solely in the entries of \(\vec{U}\), which is why the
@ -614,9 +641,8 @@ in the given direction.
The definition for an \emph{improvement potential} \(P\)
is\cite{anrichterEvol}: \[
\mathrm{potential}(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
\] \unsure[inline]{ist das $^2$ richtig?} given some approximate
\(n \times d\) fitness--gradient \(\vec{G}\), normalized to
\(\|\vec{G}\|_F = 1\), whereby \(\|\cdot\|_F\) denotes the
\] given some approximate \(n \times d\) fitness--gradient \(\vec{G}\),
normalized to \(\|\vec{G}\|_F = 1\), whereby \(\|\cdot\|_F\) denotes the
Frobenius--Norm.
\chapter{\texorpdfstring{Implementation of
@ -670,10 +696,10 @@ v_x \overset{!}{=} \sum_i N_{i,d,\tau_i}(u) c_i
\] and do a gradient--descend to approximate the value of \(u\) up to an
\(\epsilon\) of \(0.0001\).
For this we use the Gauss--Newton algorithm\cite{gaussNewton}
\todo[inline]{rewrite. falsch und wischi-waschi. Least squares?} as the
solution to this problem may not be deterministic, because we usually
have way more vertices than control points (\(\#v~\gg~\#c\)).
For this we employ the Gauss--Newton algorithm\cite{gaussNewton}, which
converges into the least--squares solution. An exact solution of this
problem is impossible most of the times, because we usually have way
more vertices than control points (\(\#v~\gg~\#c\)).
\section{\texorpdfstring{Adaption of \ac{FFD} for a
3D--Mesh}{Adaption of for a 3D--Mesh}}\label{adaption-of-for-a-3dmesh}
@ -958,11 +984,10 @@ al.\cite[Section 3.2]{aschenbach2015} on similar models and was shown to
lead to a more precise fit. The Laplacian
\begin{equation}
\mathrm{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)
\mathrm{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{s}_i\|^2 \right)
\label{eq:reg3d}
\end{equation}
\unsure[inline]{was ist $\vec{\overline{s}_j}$? Zentrum? eigentlich $s_i$?}
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
@ -972,8 +997,10 @@ 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?}
iteration. As a side--effect this also limits the effects of
overagressive movement of the control--points in the beginning of the
fitting process and thus should limit the generation of ill--defined
grids mentioned in section \ref{sec:impl:grid}.
\chapter{Evaluation of Scenarios}\label{evaluation-of-scenarios}
@ -1025,12 +1052,14 @@ deformation--matrix and use then the formulas for \emph{variability} and
\emph{regularity} to get our predictions. Afterwards we solve the
problem analytically to get the (normalized) correct gradient that we
use as guess for the \emph{improvement potential}. To check we also
consider a distorted gradient \(\vec{g}_{\textrm{d}}\) \[
\vec{g}_{\textrm{d}} = \frac{\vec{g}_{\textrm{c}} + \mathbb{1}}{\|\vec{g}_{\textrm{c}} + \mathbb{1}\|}
consider a distorted gradient \(\vec{g}_{\mathrm{d}}\) \[
\vec{g}_{\mathrm{d}} = \frac{\mu \vec{g}_{\mathrm{c}} + (1-\mu)\mathbb{1}}{\|\mu \vec{g}_{\mathrm{c}} + (1-\mu) \mathbb{1}\|}
\] where \(\mathbb{1}\) is the vector consisting of \(1\) in every
dimension and \(\vec{g}_\textrm{c} = \vec{p^{*}} - \vec{p}\) the
calculated correct gradient. As we always start with a gradient of
\(\mathbb{0}\) this shortens to \(\vec{g}_\textrm{c} = \vec{p^{*}}\).
dimension, \(\vec{g}_\mathrm{c} = \vec{p^{*}} - \vec{p}\) is the
calculated correct gradient, and \(\mu\) is used to blend between
\(\vec{g}_\mathrm{c}\) and \(\mathbb{1}\). As we always start with a
gradient of \(p = \mathbb{0}\) this means shortens
\(\vec{g}_\mathrm{c} = \vec{p^{*}}\).
\begin{figure}[ht]
\begin{center}
@ -1048,13 +1077,24 @@ grids get tricky to solve with our implemented newtons--method we avoid
the generation of such self--intersecting grids for our testcases (see
section \ref{3dffd}).
To achieve that we select a uniform distributed number
\(r \in [-0.25,0.25]\) per dimension and shrink the distance to the
neighbours (the smaller neighbour for \(r < 0\), the larger for
\(r > 0\)) by the factor \(r\)\footnote{Note: On the Edges this
displacement is only applied outwards by flipping the sign of \(r\),
if appropriate.}.
\improvement[inline]{update!! gaussian, not uniform!!}
To achieve that we generated a gaussian distributed number with
\(\mu = 0, \sigma=0.25\) and clamped it to the range \([-0.25,0.25]\).
We chose such an \(r \in [-0.25,0.25]\) per dimension and moved the
control--points by that factor towards their respective
neighbours\footnote{Note: On the Edges this displacement is only applied
outwards by flipping the sign of \(r\), if appropriate.}.
In other words we set
\begin{equation*}
p_i =
\begin{cases}
p_i + (p_i - p_{i-1}) \cdot r, & \textrm{if } r \textrm{ negative} \\
p_i + (p_{i+1} - p_i) \cdot r, & \textrm{if } r \textrm{ positive}
\end{cases}
\end{equation*}
in each dimension separately.
An Example of such a testcase can be seen for a \(7 \times 4\)--grid in
figure \ref{fig:example1d_grid}.
@ -1177,19 +1217,26 @@ grid--resolutions}
\label{fig:1dimp}
\end{figure}
\improvement[inline]{write something about it..}
The improvement potential should correlate to the quality of the
fitting--result. We plotted the results for the tested grid-sizes
\(5 \times 5\), \(7 \times 7\) and \(10 \times 10\) in figure
\ref{fig:1dimp}. We tested the \(4 \times 7\) and \(7 \times 4\) grids
as well, but omitted them from the plot.
\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}
Additionally we tested the results for a distorted gradient described in
\ref{sec:proc:1d} with a \(\mu\)--value of \(0.25\), \(0.5\), \(0,75\),
and \(1.0\) for the \(5 \times 5\) grid and with a \(\mu\)--value of
\(0.5\) for all other cases.
All results show the identical \emph{very strong} and \emph{significant}
correlation with a Spearman--coefficient of \(- r_S = 1.0\) and p--value
of \(0\).
These results indicate, that \(\|\mathbb{1} - \vec{U}\vec{U}^{+}\|_F\)
is close to \(0\), reducing the impacts of any kind of gradient.
Nevertheless, the improvement potential seems to be suited to make
estimated guesses about the quality of a fit, even lacking an exact
gradient.
\section{Procedure: 3D Function
Approximation}\label{procedure-3d-function-approximation}
@ -1244,10 +1291,11 @@ 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
\improvement{Beschreiben 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.}.
before, we create a regular grid and move the control-points in the
exact same random manner between their neighbours as described in
section \ref{sec:proc:1d}, 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}
@ -1491,7 +1539,15 @@ in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,
\label{tab:3dimp}
\end{table}
\begin{figure}[!htb]
Comparing to the 1D--scenario, we do not know the optimal solution to
the given problem and for the calculation we only use the initial
gradient produced by the initial correlation between both objects. This
gradient changes with every iteration and will be off our first guess
very quickly. This is the reason we are not trying to create
artificially bad gradients, as we have a broad range in quality of such
gradients anyway.
\begin{figure}[htb]
\centering
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
\caption[Improvement potential for different 3D--grids]{
@ -1501,15 +1557,84 @@ indicate trends.}
\label{fig:resimp3d}
\end{figure}
\chapter{Schluss}\label{schluss}
We plotted our findings on the improvement potential in a similar way as
we did before with the regularity. In figure \ref{fig:resimp3d} one can
clearly see the correlation and the spread within each setup and the
behaviour when we increase the number of control--points.
Along with this we also give the spearman--coefficients along with their
p--values in table \ref{tab:3dimp}. Within one scenario we only find a
\emph{weak} to \emph{moderate} correlation between the improvement
potential and the fitting error, but all findings (except for
\(7 \times 4 \times 4\) and \(6 \times 6 \times 6\)) are significant.
If we take multiple datasets into account the correlation is \emph{very
strong} and \emph{significant}, which is good, as this functions as a
litmus--test, because the quality is naturally tied to the number of
control--points.
All in all the improvement potential seems to be a good and sensible
measure of quality, even given gradients of varying quality.
\improvement[inline]{improvement--potential vs. steps ist anders als in 1d! Plot
und zeigen!}
\chapter{Discussion and outlook}\label{discussion-and-outlook}
\label{sec:dis}
\begin{itemize}
\tightlist
\item
Regularity ist kacke für unser setup. Bessere Vorschläge? EW/EV?
\end{itemize}
In this thesis we took a look at the different criteria for evolvability
as introduced by Richter et al.\cite{anrichterEvol}, namely
\emph{variability}, \emph{regularity} and \emph{improvement potential}
under different setup--conditions. Where Richter et al. used \acf{RBF},
we employed \acf{FFD} to set up a low--complexity parametrization of a
more complex vertex--mesh.
In our findings we could show in the 1D--scenario, that there were
statistically significant very strong correlations between
\emph{variability and fitting error} (\(0.94\)) and
\emph{improvement--potential and fitting error} (\(1.0\)) with
comparable results than Richter et al. (with \(0.31\) to \(0.88\) for
the former and \(0.75\) to \(0.99\) for the latter), whereas we found
only weak correlations for \emph{regularity and convergence--speed}
(\(0.28\)) opposed to Richter et al. with \(0.39\) to
\(0.91\).\footnote{We only took statistically \emph{significant} results
into consideration when compiling these numbers. Details are given in
the respective chapters.}
For the 3D--scenario our results show a very strong, significant
correlation between \emph{variability and fitting error} with \(0.89\)
to \(0.94\), which are pretty much in line with the findings of Richter
et al. (\(0.65\) to \(0.95\)). The correlation between \emph{improvement
potential and fitting error} behave similar, with our findings having a
significant coefficient of \(0.3\) to \(0.95\) depending on the
grid--resolution compared to the \(0.61\) to \(0.93\) from Richter et
al. In the case of the correlation of \emph{regularity and convergence
speed} we found very different (and often not significant) correlations
and anti--correlations ranging from \(-0.25\) to \(0.46\), whereas
Richter et al. reported correlations between \(0.34\) to \(0.87\).
Taking these results into consideration, one can say, that
\emph{variability} and \emph{improvement potential} are very good
estimates for the quality of a fit using \acf{FFD} as a deformation
function.
One reason for the bad or erratic behaviour of the
\emph{regularity}--criterion could be that in an \ac{FFD}--setting we
have a likelihood of having control--points that are only contributing
to the whole parametrization in negligible amounts. This results in very
small right singular values of the deformation--matrix \(\vec{U}\) that
influence the condition--number and thus the \emph{regularity} in a
significant way. Further research is needed to refine \emph{regularity}
so that these problems get addressed.
Richter et al. also compared the behaviour of direct and indirect
manipulation in \cite{anrichterEvol}, whereas we merely used an indirect
\ac{FFD}--approach. As direct manipulations tend to perform better than
indirect manipulations, the usage of \acf{DM--FFD} could also work
better with the criteria we examined.
\improvement[inline]{write more outlook/further research}
\improvement[inline]{Bibliotheksverzeichnis links anpassen. DOI überschreibt
Direktlinks des Autors.\newline

View File

@ -3,7 +3,8 @@
\documentclass[
a4paper, % default
$if(fontsize)$$fontsize$,$endif$ % default = 11pt
BCOR10mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
DIV=calc,
BCOR6mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
twoside, % default, 2seitig
titlepage,
% pagesize=auto