Update on Overleaf.
This commit is contained in:
parent
4fe2650218
commit
845d19c72c
1 changed files with 85 additions and 10 deletions
|
|
@ -19,7 +19,7 @@
|
||||||
\begin{block}{Idea}
|
\begin{block}{Idea}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Traditional sampling for continuous regions
|
\item Traditional sampling for continuous regions
|
||||||
\item Edge sampling the discontinuous part
|
\item Edge sampling for the discontinuous part
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{block}
|
\end{block}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
@ -30,22 +30,73 @@
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Edge sampling - half spaces}
|
\begin{frame}{Edge sampling - half spaces}
|
||||||
|
\begin{minipage}{0.5\linewidth}
|
||||||
|
\input{presentation/diagrams/halfspaces}
|
||||||
|
\end{minipage}
|
||||||
|
\begin{minipage}{0.45\linewidth}
|
||||||
|
\begin{block}{Principle}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Edge divides scene into two halfspaces
|
||||||
|
\item Calculate color in either halfspace
|
||||||
|
\item Calculate gradient based on color difference
|
||||||
|
\item Occlusion $\implies$ No color difference $\implies\nabla=0$
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{minipage}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\subsection{conclusion - what can this method do?}
|
\begin{frame}[t]{Edge sampling - math background}
|
||||||
% talk about limitations here!
|
Color:
|
||||||
|
\only<1>{
|
||||||
|
\[
|
||||||
|
I = \underbrace{\iint}_{\text{Screen space domain}}
|
||||||
|
\underbrace{f(x,y;\Phi)}_{\text{Scene function; Parameter set } \Phi}dxdy
|
||||||
|
\]
|
||||||
|
}
|
||||||
|
|
||||||
|
\only<2-> {
|
||||||
|
\[
|
||||||
|
I = \iint f(x,y;\Phi)dxdy
|
||||||
|
\]
|
||||||
|
}
|
||||||
|
|
||||||
|
\only<2> {
|
||||||
|
Use half spaces to rewrite integral:
|
||||||
|
\[
|
||||||
|
\sum_i\iint
|
||||||
|
\underbrace{\theta(}_{\text{step function}}
|
||||||
|
\underbrace{\alpha_i(x,y)}_{\text{Edge equation formed by the triangle edge}})
|
||||||
|
\underbrace{f_i(x,y)}_{\text{half space (may contain heaviside step functions itself)}}
|
||||||
|
\]
|
||||||
|
}
|
||||||
|
|
||||||
|
\only<3->{
|
||||||
|
Use half spaces to rewrite integral:
|
||||||
|
\[
|
||||||
|
\sum_i\iint\theta(\alpha_i(x,y))f_i(x,y)
|
||||||
|
\]
|
||||||
|
|
||||||
|
Calculate gradient:
|
||||||
|
\[
|
||||||
|
\nabla\iint\theta(\alpha_i(x,y))f_i(x,y)dxdy =
|
||||||
|
\underbrace{\iint\delta(\alpha_i(x,y))\nabla\alpha_i(x,y)f_i(x,y)dxdy}_{\text{Edges (can be differentiated)}} +
|
||||||
|
\underbrace{\iint\nabla f_i(x,y)\theta(\alpha_i(x,y))dxdy}_{\text{Original pixel integral}}
|
||||||
|
\]
|
||||||
|
}
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Inverse rendering - Results in this paper}
|
\begin{frame}{Inverse rendering - Results in this paper}
|
||||||
\begin{block}{Inverse rendering here}
|
\begin{block}{Inverse rendering here}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Fit camera pose, material parameters and light source intensity
|
\item Parameters: Camera pose, material parameters, light source intensity
|
||||||
\item Scene: Strong indirect illumination and non lambertian materials
|
\item Scene: Strong indirect illumination and non lambertian materials
|
||||||
\item Initial guess: Assign almost all objects a white color, arbitrary camera pose
|
\item Initial guess: Almost all objects white, arbitrary camera pose
|
||||||
\item 177 parameters in total
|
\item 177 parameters
|
||||||
\item Absolute difference as loss function and ADAM optimizer
|
\item Loss function: Absolute difference
|
||||||
\item Start at a resulution of $64\times 64$ and linearly increase to $512\times 512$ in 8 steps\\
|
\item ADAM optimizer
|
||||||
$\implies$ Avoid getting stuck in local minima of the loss function
|
\item Start resolution of $64\times 64$, linearly increase to $512\times 512$ in 8 steps\\
|
||||||
|
$\implies$ Avoid local minima of the loss function
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{block}
|
\end{block}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
@ -251,3 +302,27 @@
|
||||||
\\
|
\\
|
||||||
All media in this section taken from \cite{ACM:diffable_raytracing}
|
All media in this section taken from \cite{ACM:diffable_raytracing}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\subsection{Conclusion - What can this method do?}
|
||||||
|
\begin{frame}{Conclusion}
|
||||||
|
\setbeamercovered{transparent}
|
||||||
|
\begin{block}{Possibilities}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Differentiate with respect to \emph{any} scene parameter
|
||||||
|
\item Arbitrary non-dirac-materials
|
||||||
|
\item Global illumination, occlusion, shadows etc...
|
||||||
|
\item Automatic differentiation (PyTorch) $\rightarrow$ Inverse rendering
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
|
||||||
|
\pause
|
||||||
|
|
||||||
|
\begin{block}{Some Limitations}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Performance
|
||||||
|
\item Time domain (animations)
|
||||||
|
\item Interpenetrating meshes
|
||||||
|
\item Non-differentiable shaders
|
||||||
|
\end{itemize}
|
||||||
|
\end{block}
|
||||||
|
\end{frame}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue