Augmented Reality Zauberwürfel

cube_opener
Aufbau für die augmentierte Lösungsanleitung des Zauberwürfels
Aufbau für die augmentierte Lösungsanleitung des Zauberwürfels

Der Zauberwürfel kann von Hand schwer zu lösen sein. Computerprogramme können es deutlich erleichtern, den Würfel in seine Ausgangsposition zurückzudrehen. Das Ausführen von Rotationsanweisungen kann jedoch schwierig sein, wenn dabei von Textanweisungen auf den Würfel in der Hand übertragen werden muss. Diese Projekt implementiert eine Augmented-Reality Anleitung zur Lösung des Zauberwürfels. Der Würfel wird dabei flach auf einen Tisch gelegt und direkt über ihm eine Kamera platziert, die auf seine obere Fläche schaut. Das Kamerabild wird auf einem standard PC analysiert und verwendet, um die Lösung zu berechnen und zugehörige Anweisungen direkt im Kamerabild einzuzeichnen.

 

Der Anwender durchläuft eine initiale Phase, in der alle Seiten des Würfels gelesen werden. Sobald das Model vollständig ist, wir die (kürzeste) Lösung berechnet. Das Computerdisplay zeigt dann die Rotationsanweisungen an,welche in das Kamerabild des Würfels auf dessen Fläche oder Kanten gezeichnet werden. Die Instruktionen können dabei korrekt angezeigt werden unabhängig von der gewählten Fläche des Würfels.

Die Bildanalyse basiert auf der Hough Transformation. Bei dieser Methode müssen zunächst alle Kontourpixel isoliert werden, was mit hilfe des Sobel Operators geschieht. Jedes Kontourpixel wird dann in die Geradenschar umgerechnet, die alle Geraden beinhaltet, welche durch das Pixel verlaufen. Jede Gerade ist beschrieben durch Winkel und Abstand zum Ursprung des Bildes. Der Hough-Raum beinhaltet dann je einen Punkt für jede Gerade, die aus dem Bild extrahiert wurde. Um die Komplexität der Berechnung zu verringern, ist der Hough-Roum in ein 2d-Array aufgeteilt. Für jede transformierte Gerade wird der Wert an der zugehörigen Position im Array um eins erhöht. Nachdem alle Kontourpixel übertragen wurden bestimmt die Position mit dem höchsten Wert diejenige Gerade, die von den meisten Pixeln im Bild gestützt wird. Um die Berechnung weiter zu beschleunigen wird die Geradenschar eingeschränkt, indem nur solche Geraden erzeugt werden, die ungefähr dem Gradienten in der Umgebung des jeweils aktuellen Pixels (also dem Winkel der Kante im Bild) entsprechen.

Um die Ecken des Würfels zu finden, werden die vier höchsten Maxima im Hough-Raum gesucht. Wenn die Analyse korrekt war beschreiben diese die vier Außenkanten des Würfels. Die Ecken werden dann durch Schnittpunktsberechnung ermittelt. Anschließend werden die Farbwerte von Pixeln entsprechend des Würfelrasters extrahiert, um die 9 farbigen Flächen zu finden. Die Zentrumsfläche wird dabei zur Identifikation der Würfelseite verwendet, da sie nur rotiert aber nicht verschoben werden kann.