@@ -29,8 +29,8 @@ Das spart Zeit und Rechenleistung und bietet somit eine einfache und schnelle MÃ
...
@@ -29,8 +29,8 @@ Das spart Zeit und Rechenleistung und bietet somit eine einfache und schnelle MÃ
\begin{figure}
\begin{figure}
\subfigure[Aufnahme aus Sicht der Kinect ]{\includegraphics[width=0.49\textwidth]{Bilder/1FrameKamera.png}}
\subfigure[Aufnahme aus Sicht der Kinect ]{\includegraphics[width=0.49\textwidth]{Bilder/1FrameKamera.png}}
\subfigure[Aufnahme von der Seite]{\includegraphics[width=0.49\textwidth]{Bilder/1FrameSeite.png}}
\subfigure[Aufnahme von der Seite\label{img:KinectSides-b}]{\includegraphics[width=0.49\textwidth]{Bilder/1FrameSeite.png}}
\caption{Aufnahme der Kinect aus verschiedenen Perspektiven. In Bild (a) ist zu erkennen, wie die Türme den Hintergrund verdecken. In Bild (b) sind falsche Punkte zu sehen, die durch die Rekonstruktion aus einem 2D Bild entstehen. }
\caption{Aufnahme der Kinect aus verschiedenen Perspektiven. In Bild (a) ist zu erkennen, wie die Türme den Hintergrund verdecken. In Bild \ref{img:KinectSides-b}sind falsche Punkte zu sehen, die durch die Rekonstruktion aus einem 2D Bild entstehen. }
\label{img:KinectSides}
\label{img:KinectSides}
\end{figure}
\end{figure}
...
@@ -44,7 +44,7 @@ Zum Aufnehmen einer Punktwolke aus einem Frame wird das Kinect SDK verwendet.
...
@@ -44,7 +44,7 @@ Zum Aufnehmen einer Punktwolke aus einem Frame wird das Kinect SDK verwendet.
Sowohl das Tiefeinbild auch als auch das Farbbild kann man aus der API erhalten.
Sowohl das Tiefeinbild auch als auch das Farbbild kann man aus der API erhalten.
Anschließend wird das Tiefenbild geglättet um glattere Oberflächen in der Punktwolke zu erhalten.
Anschließend wird das Tiefenbild geglättet um glattere Oberflächen in der Punktwolke zu erhalten.
Hierfür braucht man einen Filter, der zwar die Flächen glättet, aber gleichzeitig die Objektkanten erhält.
Hierfür braucht man einen Filter, der zwar die Flächen glättet, aber gleichzeitig die Objektkanten erhält.
Ein Bilateral Filter erzielt den gewünschten Effekt ist aber relativ rechenaufwändig.
Ein bilateraler Filter erzielt den gewünschten Effekt ist aber relativ rechenaufwändig.
Im Paper \cite{Martin:2014:RTH} wird hierfür ein Filter vorgestellt den auch in dieser Ausarbeitung verwendet wurde.
Im Paper \cite{Martin:2014:RTH} wird hierfür ein Filter vorgestellt den auch in dieser Ausarbeitung verwendet wurde.
Hierbei wird zunächst das Bild mit einem Gauß-Filter geglättet.
Hierbei wird zunächst das Bild mit einem Gauß-Filter geglättet.
Dieser ist nicht kantenerhaltend. Deshalb wird das geglättet Bild anschließend mit dem Original verglichen.
Dieser ist nicht kantenerhaltend. Deshalb wird das geglättet Bild anschließend mit dem Original verglichen.
...
@@ -71,7 +71,7 @@ Die Normale wird aus dem Tiefenbild geschätzt.
...
@@ -71,7 +71,7 @@ Die Normale wird aus dem Tiefenbild geschätzt.
Eine Transformation ist die zwischen dem Koordinatensystem der Kinect und dem des Vive Controllers.
Eine Transformation ist die zwischen dem Koordinatensystem der Kinect und dem des Vive Controllers.
Ist zum Beispiel die Transformation entlang der X Achse der Kinect verschoben, so verstärkt sich der Fehler, wenn man das Objekt von der anderen Seite, also um 180\degree gedreht aufnimmt (siehe Abb, \ref{img:KinecOffset}).
Ist zum Beispiel die Transformation entlang der X-Achse der Kinect verschoben, so verstärkt sich der Fehler, wenn man das Objekt von der anderen Seite, also um 180\degree gedreht aufnimmt (siehe Abb. \ref{img:KinecOffset}).
Der Fehler im lokalen Koordinatensystem wird in das globale transformiert und ist in dem Fall dann in genau entgegengesetzter Richtung.
Der Fehler im lokalen Koordinatensystem wird in das globale transformiert und ist in dem Fall dann in genau entgegengesetzter Richtung.
\begin{figure}
\begin{figure}
...
@@ -106,7 +106,7 @@ Der Fehler im lokalen Koordinatensystem wird in das globale transformiert und is
...
@@ -106,7 +106,7 @@ Der Fehler im lokalen Koordinatensystem wird in das globale transformiert und is
\end{center}
\end{center}
\end{figure}
\end{figure}
In der offiziellen Dokumentation der Kinect ist beschrieben, dass der Ursprung von Punktwolken in dem Tiefensensor liegt (siehe \cite{KinectDoku}).
In der offiziellen Dokumentation der Kinect ist beschrieben, dass der Ursprung von Punktwolken imTiefensensor liegt (siehe \cite{KinectDoku}).
Leider fehlt die exakte Positionsangabe im Gehäuse.
Leider fehlt die exakte Positionsangabe im Gehäuse.
Im Bild \ref{img:KinectOrigin} aus dem chinesischen Microsoft Forum ist eine von Benutzern vermessene schematische Darstellung der Kinect abgebildet.
Im Bild \ref{img:KinectOrigin} aus dem chinesischen Microsoft Forum ist eine von Benutzern vermessene schematische Darstellung der Kinect abgebildet.
Der Tiefensensor liegt hinter der kleineren runden Öffnung.
Der Tiefensensor liegt hinter der kleineren runden Öffnung.
...
@@ -130,13 +130,14 @@ Als Hilfe wurde ein 3D gedruckter Zylinder verwendet der in den Ring des Control
...
@@ -130,13 +130,14 @@ Als Hilfe wurde ein 3D gedruckter Zylinder verwendet der in den Ring des Control
\label{img:KinectOrigin}
\label{img:KinectOrigin}
\end{center}
\end{center}
\end{figure}
\end{figure}
\todo{Bezüglich Bild \ref{img:KinectOrigin}: Ich würde mir hier gut überlegen, ob du das Bild abdrucken willst. Ich habe jedenfalls auf die schnelle keine Lizenz gefunden -> ist vermutlich ne Verletzung des Urheberrechts.}
\begin{figure}
\begin{figure}
\subfigure[Befestigung der Kienct]{\includegraphics[width=0.32\textwidth]{Bilder/KincetHalterung.JPG}}
\subfigure[Befestigung der Kinect\label{img:KinecttoVive-Befestigung}]{\includegraphics[width=0.32\textwidth]{Bilder/KincetHalterung.JPG}}
\subfigure[Kinect mit Controler]{\includegraphics[width=0.32\textwidth]{Bilder/KinecController1.JPG}}
\subfigure[Kinect mit Controller]{\includegraphics[width=0.32\textwidth]{Bilder/KinecController1.JPG}}
\subfigure[Relative Position in 3D]{\includegraphics[width=0.32\textwidth]{Bilder/KinectToVive.png}}
\subfigure[Relative Position in 3D\label{img:KinecttoVive-3D}]{\includegraphics[width=0.32\textwidth]{Bilder/KinectToVive.png}}
\caption{Befestigung des Controllers an der Kinect. Die Mitte des Controllers ist direkt über dem Tiefensensor.
\caption{Befestigung des Controllers an der Kinect. Die Mitte des Controllers ist direkt über dem Tiefensensor.
In Bild a) ist die 3D gedruckte Halterung zusehen. Der Controller wird auf den Zylinder gesteckt. In c) ist die Virtuelle Repräsentation. Koordinatenkreuze zeigen den jeweiligen Ursprung des Geräts ([x,y,z] Achse=[rot,grün,blau]}
In Bild \ref{img:KinecttoVive-Befestigung} ist die 3D gedruckte Halterung zu sehen. Der Controller wird auf den Zylinder gesteckt. In \ref{img:KinecttoVive-3D} ist die Virtuelle Repräsentation. Koordinatenkreuze zeigen den jeweiligen Ursprung des Geräts (X-, Y- und Z-Achse in rot, grün und blau)}
\label{img:KinecttoVive}
\label{img:KinecttoVive}
\end{figure}
\end{figure}
...
@@ -152,10 +153,10 @@ In Bild a) ist die 3D gedruckte Halterung zusehen. Der Controller wird auf den Z
...
@@ -152,10 +153,10 @@ In Bild a) ist die 3D gedruckte Halterung zusehen. Der Controller wird auf den Z
\section{Ergebnisse}
\section{Ergebnisse}
Mit dem vorgestellten Verfahren lässt sich einfach und schnell eine Punktwolke erstellen.
Mit dem vorgestellten Verfahren lässt sich einfach und schnell eine Punktwolke erstellen.
Die Ungenauigkeiten des Trackings und Fehler in der Kalibrierung führen aber zu sichtbaren Fehlern in der endgültigen Punktwolke. \todo{Bild}
Die Ungenauigkeiten des Trackings und Fehler in der Kalibrierung führen aber zu sichtbaren Fehlern in der endgültigen Punktwolke. \todo{Bild}
Zwischen 2 Aufnahmen und den daraus resultierenden Punktwolken ist ein Versatz bis zu 2-3 cm sichtbar.
Zwischen 2 Aufnahmen und den daraus resultierenden Punktwolken ist ein Versatz bis zu 2--3 cm sichtbar.
In einer 3D Umgebung insbesondere in VR ist das eine zu große Ungenauigkeit.
In einer 3D-Umgebung, insbesondere in VR, ist das eine zu große Ungenauigkeit.
Durch die Ungenauigkeiten des Trackings verändert sich die Genauigkeit und damit der Versatz der Punktwolken ständig.
Durch die Ungenauigkeiten des Trackings verändert sich die Genauigkeit und damit der Versatz der Punktwolken ständig.
Vergleicht man mit einem 2m Zollstock die reale Distanz mit der realtiven Distanz in VR, so erhält man in VR eine Länge von 1,98 bis 2 m
Vergleicht man mit einem 2m Meterstab die reale Distanz mit der realtiven Distanz in VR, so erhält man in VR eine Länge von 1,98 bis 2 m
Die Distanz ist hierbei abhängig von der Orientierung zu den Basisstationen und der aktuellen Kalibrierung des Lighthous Tracking Systems.
Die Distanz ist hierbei abhängig von der Orientierung zu den Basisstationen und der aktuellen Kalibrierung des Lighthous Tracking Systems.
Dieses Problem erschwert es, die Kalibrierung zwischen Controller und Kinect zu überprüfen.
Dieses Problem erschwert es, die Kalibrierung zwischen Controller und Kinect zu überprüfen.
\caption{Punktwolke mit 1596685 Punkten. Die Textur im Hintergrund ist die zugehörige Positionstextur, Rechts oben ist FPS und die Renderzeit in ms zu sehen }
\caption{Punktwolke mit 1596685 Punkten. Die Textur im Hintergrund ist die zugehörige Positionstextur, Rechts oben ist FPS und die Renderzeit in ms zu sehen }
\caption{Die beiden Duplotürme, die in der Evaluation verwendet wurden. Die Markierung auf dem Tisch hilft bei der exakten Positionierung. }
\caption{Die beiden Duplotürme, die in der Evaluation verwendet wurden. Die Markierung auf dem Tisch hilft bei der exakten Positionierung. }
\end{figure}
\end{figure}
...
@@ -75,7 +76,7 @@ Im Video Szenario wird der Videostream angeschaltet, sodass dieser als Interakti
...
@@ -75,7 +76,7 @@ Im Video Szenario wird der Videostream angeschaltet, sodass dieser als Interakti
Nachdem der lokale Nutzer den gesuchten Stein erkannt hat, liest dieser die Beschriftung vor.
Nachdem der lokale Nutzer den gesuchten Stein erkannt hat, liest dieser die Beschriftung vor.
Der Experte bestimmt selbst, wann er zum nächsten Aufgabenteil voranschreitet.
Der Experte bestimmt selbst, wann er zum nächsten Aufgabenteil voranschreitet.
Nachdem er aus dem Vorbereitungsdaten den Stein erkannt hat, drückt er eine Taste (Controller Trigger/ Enter) und bekommt damit Zugriff auf den Laserbeam bzw. den Videostream.
Nachdem er aus dem Vorbereitungsdaten den Stein erkannt hat, drückt er eine Taste (Controller Trigger/ Enter) und bekommt damit Zugriff auf den Laserbeam \bzw{} den Videostream.
Wurde das Label vorgelesen kann er erneut mit der gleichen Taste zur nächsten Aufgabe gelangen.
Wurde das Label vorgelesen kann er erneut mit der gleichen Taste zur nächsten Aufgabe gelangen.
Bei jedem Tastendruck wird die aktuelle Uhrzeit gespeichert. Damit können die Zeiten errechnet werden können.
Bei jedem Tastendruck wird die aktuelle Uhrzeit gespeichert. Damit können die Zeiten errechnet werden können.
...
@@ -204,7 +205,7 @@ Diese Info kann der Experte im Video sehen und die Kontrollfrage direkt beantwor
...
@@ -204,7 +205,7 @@ Diese Info kann der Experte im Video sehen und die Kontrollfrage direkt beantwor
Bei funktionierendem Tracking hat der Beam gute Ergebnisse geliefert.
Bei funktionierendem Tracking hat der Beam gute Ergebnisse geliefert.
Einige Teams konnte durch Zeigen und zusätzliches Sagen der Farbe den Stein eindeutig beschreiben.
Einige Teams konnte durch Zeigen und zusätzliches Sagen der Farbe den Stein eindeutig beschreiben.
Damit ist der Beam zumindest ein gute Grundorientierung für den lokalen Nutzer.
Damit ist der Beam zumindest ein gute Grundorientierung für den lokalen Nutzer.
Ein großes Problem mit dem tracking waren kleine konstante Verschiebungen in eine globale Richtung (Kalibrierfehler, bzw. Längenuntreue).
Ein großes Problem mit dem tracking waren kleine konstante Verschiebungen in eine globale Richtung (Kalibrierfehler, \bzw{} Längenuntreue).
Bei kleine Verschiebungen wurde dieses als störend empfunden, aber wenn bekannt ist, wie die Verschreibung ist, dann kann diese im Kopf ausgeglichen werden. %@@@ Konnte man das bei den Probanden auch beobachten?
Bei kleine Verschiebungen wurde dieses als störend empfunden, aber wenn bekannt ist, wie die Verschreibung ist, dann kann diese im Kopf ausgeglichen werden. %@@@ Konnte man das bei den Probanden auch beobachten?
Ein weites Problem, das in den freien Texten genannt wurde, waren zittrige Hände. % @@@ hattest du Parkinsonpatienten ;-)
Ein weites Problem, das in den freien Texten genannt wurde, waren zittrige Hände. % @@@ hattest du Parkinsonpatienten ;-)