Skip to content
Snippets Groups Projects
Select Git revision
  • Bachelorarbeit default protected
1 result

standdertechnik.tex

Blame
  • standdertechnik.tex 3.01 KiB
    \chapter{Stand der Technik} \label{chap: stand der technik}
    
    	% \section{Vorgehensweisen zur Bildbearbeitung}
    
    	% 	\subsection{Lokale Operationen auf Bildern}
    
    	% 	\subsection{Kantendetektion}
    
    
    	\section{Lochkamera Modell} \label{sec: pinhole model}
    
    		\begin{align} \label{eq: camera}
    				\begin{pmatrix}
    					u \\ v \\ 1
    				\end{pmatrix}
    				&=
    				\begin{pmatrix}
    					f_x & 0 & c_x \\
    					0 & f_y & c_y \\
    					0 &   0 &   1 \\
    				\end{pmatrix}
    				\begin{pmatrix}
    					r_{11} & r_{12} &r_{13} & t_1 \\
    					r_{21} & r_{22} &r_{23} & t_2 \\
    					r_{31} & r_{32} &r_{33} & t_3 \\
    				\end{pmatrix}
    				\begin{pmatrix}
    					x \\ y \\ z \\ 1
    				\end{pmatrix}
    				\\
    				p &= K \cdot T[RT] \cdot
    		\end{align}
    
    		\todo[inline]{Stand der Technik: Was ist Spruerkennung? wie wird das zurzeit immer gemacht??
    		ein absatz klasisch kantenbasiert\\
    		ein absatz Kategorien von Deep learning ansätzen}
    
    
    	\section{Deep learning}
    
    		\todo[inline]{
    			Was ist das? \\
    			Warum hier nicht? \\
    			Was ist ungeeignet?
    		}
    
    
    
    	\section{OpenCV} \label{sec: opencv}
    
    		Das Open-Source-Projekt \gls{OpenCV} (kurz für \emph{Open Source Computer Vision Library}) ist eine Sammlung von Softwaremodule die der
    		Bildverarbeitung und dem maschinellen Lernen dienen. Sie verfügt über mehr als 2500 optimierte Algorithmen mit denen Anwendungen wie
    		Objekterkennung, Bewegungserkennung und 3D-Modell Extraktion erstellt werden können. Daher ist sie eine der standard Biblioteken, wenn es um
    		digitale Bildverarbeitung geht und wird fast immer zur Demonstration neuer Konzepte benutzt. Da sie sowohl in C/\gls{C++}, Java und Python
    		genutzt werden kann, ist sie außerdem sehr vielseitig und hat den Vorteil, dass Konzepte in einer abstrakten Sprache wie \gls{python} getestet
    		werden und später relativ simple in eine Hardwarenahe Programmiersprache übersetzt werden können. \todo{Quelle?? Reicht das \emph{About} von opencv.org?}
    
    		\bigskip
    		\todo[inline]{
    			Vergleich mit eigener Implementierung \\
    			evtl. Performance Vergleich
    		}
    
    
    	\section{Das Robot Operation System} \label{sec: ros}
    
    
    
    	\section{Der JetBot Roboter}
    
    		\begin{figure}
    			\includegraphics[width=.6\textwidth]{img/jetbot_render_800x630.png}
    			\caption{Render eines möglichen Aufbaus \cite{jetbot:github-doc}}
    		\end{figure}
    
    		\begin{figure}
    			\includegraphics[width=.6\textwidth]{img/jetbot_sparkfun.jpg}
    			\caption{SparkFun JetBot AI Kit V2.1 \cite{jetbot:Sparkfun}}
    		\end{figure}
    
    
    		\subsection{Performance Baseline} \label{sub: performance baseline}
    
    			\begin{figure}
    				\includegraphics[width=.6\textwidth]{img/jtop_baseline.png}
    				\caption{CPU Auslastung des JetBots ohne \gls{ROS}}
    			\end{figure}
    
    			Basline Auslastung ohne irgendwelche laufenden Prozesse $\approx8\,\percent$.
    
    			\begin{figure}
    				\includegraphics[width=.6\textwidth]{img/jtop_camera.png}
    				\caption{CPU Auslastung mit laufender Kamera und ROS-Core}
    				\label{fig: jtop: cam baseline}
    			\end{figure}
    
    			Mit ROS-Core und laufendem Kameratreiber $\approx38\,\percent$
    
    
    	\section{Aufgebaute Anlage} \label{sec: anlgae}