104 lines
No EOL
4.7 KiB
TeX
104 lines
No EOL
4.7 KiB
TeX
\section{Motivation - why differentiable rendering is important}
|
||
\begin{frame}
|
||
\centering
|
||
\Huge
|
||
Motivation - why differentiable rendering is important
|
||
\end{frame}
|
||
\begin{frame}{Importance of differentiable rendering}
|
||
\begin{block}{Examples for Applications}
|
||
\begin{itemize}
|
||
\item Learning-based Inverse Rendering of Complex Indoor Scenes
|
||
with Differentiable Monte Carlo Raytracing [\cite{ACM:inverse_rendering}]\\
|
||
$\rightarrow$ Inverse rendering
|
||
\item Generating Semantic Adversarial Examples with Differentiable Rendering [\cite{DBLP:journals/corr/abs-1910-00727}]\\
|
||
$\rightarrow$ Machine learning
|
||
\item Real-Time Lighting Estimation for Augmented Reality [\cite{IEEE:AR_lighting_estimation}]\\
|
||
$\rightarrow$ Realistic real time shading for AR applications
|
||
\item Acoustic Camera Pose Refinement [\cite{IEEE:Ac_cam_refinment}]\\
|
||
$\rightarrow$ Optimize six degrees of freedom for acoustic underwater cameras
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{frame}
|
||
\subsection{Inverse rendering}
|
||
\begin{frame}{Inverse rendering}
|
||
\begin{itemize}
|
||
\item Conventional rendering: Synthesize an Image from a 3D scene
|
||
\item Inverse rendering is solving the inverse problem: Synthesize a 3D scene from images
|
||
\item 3D modelling can be hard and time consuming
|
||
\item Approach:
|
||
\begin{itemize}
|
||
\item Approximate the 3D scene (often very coarse)
|
||
\item Render the approximation differentiably
|
||
\item Calculate the error between the render and the images
|
||
\item Use ADAM or comparable gradient descent algorithm to minimize this error
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
|
||
\begin{frame}{Inverse rendering - current example}
|
||
\centering
|
||
\includemedia[
|
||
width=0.62\linewidth,height=0.35\linewidth,
|
||
activate=onclick,
|
||
addresource=proseminar_chair.mp4,
|
||
playbutton=fancy,
|
||
transparent,
|
||
passcontext,
|
||
flashvars={
|
||
source=proseminar_chair.mp4
|
||
&autoPlay=true
|
||
}
|
||
]{}{VPlayer.swf}
|
||
\\
|
||
|
||
Source: \cite{ACM:inverse_rendering_signed_distance_function}
|
||
\end{frame}
|
||
\subsection{Adversarial image generation}
|
||
\begin{frame}{Adversarial image generation}
|
||
\begin{center}
|
||
\begin{minipage}{0.4\linewidth}
|
||
\begin{itemize}
|
||
\item Common Problem in machine learning: Classification\\
|
||
$\implies$ Given a set of labels and a set of data, assign a label to each element in the dataset
|
||
\item Labeled data is needed to train classifier network
|
||
\end{itemize}
|
||
\pause
|
||
\vspace{15mm}
|
||
Image source: Auth0, \href{https://auth0.com/blog/captcha-can-ruin-your-ux-here-s-how-to-use-it-right/}{CAPTCHA Can Ruin Your UX. Here’s How to Use it Right}
|
||
\end{minipage}
|
||
\begin{minipage}{0.5\linewidth}
|
||
\centering
|
||
\includegraphics[width=0.5\linewidth]{presentation/img/recaptcha_example.png}
|
||
\end{minipage}
|
||
\end{center}
|
||
\end{frame}
|
||
\begin{frame}{Adversarial image generation}
|
||
\begin{itemize}
|
||
\item Problem: Labeling training data is tedious and expensive\\
|
||
$\implies$ We want to automatically generate training data
|
||
\item One solution: Generative adversarial networks. Let two neural nets "compete"; a generator and a classifier. (e.g. AutoGAN [\cite{DBLP:AutoGAN}])\\
|
||
$\implies$ Impossible to make semantic changes to the image (e.g. lighting) since no knowlege of the 3D scene exists
|
||
\item Different solution: Generate image using differentiable raytracing, use gradient descent to optimize the result image to fall into a specific class\\
|
||
$\implies$ Scene parameters can be manipulated
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\begin{frame}{Adversarial image generation - example [\cite{DBLP:journals/corr/abs-1910-00727}]}
|
||
\begin{center}
|
||
\begin{figure}
|
||
\begin{minipage}{0.45\linewidth}
|
||
\includegraphics[width=\linewidth]{presentation/img/adversarial_rendering_results/correct_car.png}
|
||
\includegraphics[width=\linewidth]{presentation/img/adversarial_rendering_results/correct_pedestrian.png}
|
||
\end{minipage}
|
||
\begin{minipage}{0.45\linewidth}
|
||
\includegraphics[width=\linewidth]{presentation/img/adversarial_rendering_results/incorrect_car.png}
|
||
\includegraphics[width=\linewidth]{presentation/img/adversarial_rendering_results/incorrect_pedestrian.png}
|
||
\end{minipage}
|
||
\centering
|
||
\caption{Left: Original images, features are correctly identified.\\
|
||
Right: adversarial examples, silver car is not recognized and pedestrians are identified where there are none. Only semantic features (color, position, rotation) have been changed.}
|
||
\label{fig:adv_img_example}
|
||
\end{figure}
|
||
\end{center}
|
||
\end{frame} |