System zur Erzeugung von Labyrinthlandschaften mit verbessertem visuellen Realismus [Übersetzung des Artikels von Jinmo Kim]

Hallo Habr!


In diesem Beitrag werde ich ĂŒber einen Artikel von Jinmo Kim sprechen: "Maze Terrain Authoring System in immersiver virtueller RealitĂ€t fĂŒr neuen visuellen Realismus". Es wurde am 04/04/2019 veröffentlicht. Den vollstĂ€ndigen Text des Artikels finden Sie hier .


Kurze Beschreibung des Systems


Der Artikel schlÀgt das System des Autors zur Erstellung von Labyrinthlandschaften vor, mit dem der Benutzer automatisch verschiedene komplexe Muster in einem einfachen und intuitiven System erzeugen kann. Mit den im Programm berechneten Labyrinthinformationen wird schnell und effizient eine dreidimensionale Labyrinthlandschaft erzeugt.


Das vorgeschlagene System zur Erzeugung von Labyrinthlandschaften besteht aus drei Hauptfunktionen:


  • die Funktion der automatischen Erzeugung eines Labyrinthgitters verschiedener GrĂ¶ĂŸen und Muster, implementiert unter Verwendung des klassischen Algorithmus zur Erzeugung von Labyrinthen;
  • kreisförmige Labyrinth-Erzeugungsfunktion;
  • die Funktion, ein Labyrinth aus einer manuellen Skizze mithilfe eines Bildverarbeitungsalgorithmus in ein 3D-Objekt umzuwandeln.

Mit dem vorgeschlagenen System, das aus diesen drei Funktionen besteht, ist es möglich, verschiedene Labyrinthe effektiv zu erzeugen, von homogen bis unregelmĂ€ĂŸig. Diese Entwicklung ermöglicht es Ihnen, Labyrinthlandschaften verschiedener Konzepte direkt aus den Berechnungen zu generieren, die mit demselben System durchgefĂŒhrt wurden. ZusĂ€tzlich analysiert diese Arbeit die Verbesserung des Effekts der Anwesenheit und des Eintauchens in die virtuelle RealitĂ€t, d.h. visueller Realismus. In dieser Arbeit wurde auch anhand einer Umfrage die Eignung des vorgeschlagenen Autorensystems analysiert.


Warum virtuelle RealitÀt?


Um eine realistische Erfahrung zu machen, mĂŒssen Sie mit den menschlichen Sinnen interagieren. Die virtuelle RealitĂ€t ermöglicht es einer Person, eine solche Erfahrung durch Interaktion mit visuellen, akustischen und taktilen GefĂŒhlen zu sammeln. In der virtuellen RealitĂ€t ist der PrĂ€senz-Effekt wichtig, wodurch der Benutzer eine realistische Erfahrung machen kann, die auf GefĂŒhlen darĂŒber basiert, wo er sich befindet, mit wem und welche Aktionen er ausfĂŒhrt.


Um den Effekt der PrÀsenz in der virtuellen RealitÀt zu erhöhen, ist es wichtig, wie der Benutzer mit der virtuellen Umgebung interagiert. Nicht weniger wichtig ist jedoch, wie vielfÀltige virtuelle Szenen bereitgestellt werden, um den Benutzer visuell zufrieden zu stellen.


In Studien zu hardwareorientierten Virtual-Reality-Systemen (taktile Systeme, Bewegungsplattformen usw.) wurden zur realistischen Darstellung von Benutzeraktionen und -bewegungen in der virtuellen RealitĂ€t nur experimentelle Szenen verwendet, in denen der Platz in ihnen begrenzt war und die Struktur der Szenen einfach war die meisten FĂ€lle. Da die VR-Technologie in verschiedenen Bereichen wie der bildenden Kunst und dem Architekturdesign sowie in Spielen eingesetzt wird, sind spezielle Studien erforderlich, um einen komplexen virtuellen Raum gemĂ€ĂŸ VR zu schaffen. Zu diesem Zweck wurden in dieser Arbeit Studien zu Methoden zur automatischen Erstellung virtueller Szenen wie stĂ€dtischer RĂ€ume und virtueller Landschaften durchgefĂŒhrt, die komplexe Strukturen und verschiedene Merkmale aufweisen.


Eintauchen in die virtuelle RealitÀt


Immersive virtuelle RealitÀt (oder immersive virtuelle RealitÀt) ist eine solche RealitÀt, die im menschlichen Geist bei der Interaktion mit komplexen technischen Systemen wie Virtual-Reality-Systemen geboren wird. Es hat sein eigenes einzigartiges Chronotop, Logik, existiert nur relevant, wÀhrend der Benutzer in dieser RealitÀt "prÀsent" ist, InteraktivitÀt hat, als die FÀhigkeit, auf Benutzeraktionen zu reagieren.


Studien zu Virtual-Reality-TauchgĂ€ngen wurden mit verschiedenen AnsĂ€tzen durchgefĂŒhrt:


  • Ein Display, das dreidimensionale visuelle Informationen vermittelt, um dem Benutzer eine realistische Erfahrung in einer virtuellen Umgebung zu bieten, die auf fĂŒnf Sinnen basiert
  • Klangverarbeitung fĂŒr eine verbesserte rĂ€umliche Wahrnehmung mit Surround-Sound
  • Eine Methode zur Interaktion mit einer virtuellen Umgebung sowie ein taktiles System und eine Bewegungsplattform, die physische Reaktionen auf den menschlichen Körper (Arme, Beine usw.) zurĂŒckleiten.

Um den Effekt der PrÀsenz in der virtuellen RealitÀt zu erzielen, muss der Benutzer visuell zufrieden sein. Aus diesem Grund besteht ein wachsendes Interesse an multimodaler Forschung, die sowohl visuelle und auditive Empfindungen oder visuelle und taktile Empfindungen untersucht als auch Studien zu pseudotaktilen Systemen, die visuelle Erfahrung und taktile Systeme kombinieren.


Verbesserung des visuellen Realismus


FĂŒr eine Vielzahl von VR-Anwendungen ist ein Verfahren zum Erzeugen einer virtuellen Szene erforderlich, das einen verbesserten PrĂ€senzeffekt zusammen mit neuen visuellen Erfahrungen fĂŒr den Benutzer in einer virtuellen Umgebung bieten kann. In Zukunft werden sich Virtual-Reality-Szenen von kleinen und begrenzten RĂ€umen wie InnenrĂ€umen befreien und weite offene Landschaften wie StĂ€dte und virtuelle Welten schaffen, um den Benutzern mehr Auswahlmöglichkeiten zu bieten.


In dieser Arbeit wird ein optimiertes Authoring-System vorgeschlagen, um virtuelle Labyrinthszenen zu erstellen, die neue Erfahrungen bieten und die Wirkung der BenutzerprÀsenz in der virtuellen RealitÀt verbessern können. Es basiert auf traditioneller Forschung und kann vielfÀltigere virtuelle Labyrinthszenen in einer einfachen, intuitiven und benutzerfreundlichen Struktur erzeugen.


Labyrinth Landschaftssystem


Das vorgeschlagene System erstellt eine virtuelle Landschaft des Labyrinths mit dem Effekt, den visuellen Realismus fĂŒr Benutzer in der virtuellen RealitĂ€t mithilfe verschiedener visueller Effekte zu verbessern. Es enthĂ€lt drei Grundfunktionen, die automatisch verschiedene Labyrinthmuster erzeugen und in Informationen umwandeln, die zum Erstellen einer dreidimensionalen OberflĂ€che des Labyrinths erforderlich sind.


Erzeugen Sie ein geradliniges Labyrinthmuster


Die erste Funktion des Labyrinth-Landschaftserstellungssystems besteht darin, automatisch Labyrinthmuster unter Verwendung des klassischen Labyrinth-Erzeugungsalgorithmus zu erzeugen. Ein wichtiger Faktor ist die Notwendigkeit, das endgĂŒltige Labyrinth zu erstellen. Es mĂŒssen verschiedene Pfade oder ein absoluter Pfad vorhanden sein, damit der Benutzer nicht im Labyrinth gefangen ist. Dies verhindert, dass Benutzer an einer VR-Krankheit leiden, die ein ernstes Problem der virtuellen RealitĂ€t darstellt. Diese Funktion basiert auf dem Algorithmus von Lee et al., Der mit dem Prim-Algorithmus ein Labyrinthmuster erzeugt.


Der Algorithmus fĂŒr die endgĂŒltige Erzeugung des Labyrinths von Lee usw. ist eine Methode, die mit den folgenden Prozessen beginnt: (1) Einstellen der Startposition und (2) zufĂ€lliges Einstellen der Straßenzelle aus den umgebenden Zellen. Dann (3) untersucht der Algorithmus vier Zellen in der Richtung (Bestimmen der Struktur der Zellschichten nach HinzufĂŒgen dieser vier umgebenden Zellen zur Sammlung als Wandzellen). Dann wiederholt der Algorithmus die Prozesse (4, 5), um eine der aufgezeichneten Zellen der Wand zu finden, und erstellt dann eine Straße.


Die folgenden Abbildungen zeigen den Prozess der Erstellung einer geradlinigen Labyrinthschablone. Der Benutzer legt die GrĂ¶ĂŸe der Labyrinthvorlage fest. Wenn Sie auf die SchaltflĂ€che „Labyrinth“ klicken, wird die Labyrinthvorlage automatisch berechnet und generiert.


Bild

Wenn der Benutzer die Vorlage des automatisch erstellten Labyrinths bearbeiten möchte, wird der Modus „Bearbeiten“ ausgewĂ€hlt. Der Benutzer bearbeitet mit der Maus das PrĂ€sentationsfeld der Labyrinthvorlage, indem er auf die Zelle klickt. Anschließend wird sie automatisch von Wand zu Straße oder von Straße zu Wand konvertiert. Nachdem die Labyrinthvorlage erstellt wurde, hat der Benutzer die Möglichkeit, das resultierende Labyrinth im 3D-Format anzuzeigen.


Sehen Sie sich das Labyrinth in 3D an
Bild

Die Methode zum Erstellen eines kreisförmigen Labyrinths


Die zweite Funktion des vorgeschlagenen Autorensystems zur Erstellung einer Labyrinthlandschaft ist die Methode zur Erzeugung eines kreisförmigen Labyrinths. Diese Methode erstellt automatisch kreisförmige Labyrinthe mit verschiedenen GrĂ¶ĂŸen und Mustern und ist eine gute ErgĂ€nzung zur Funktion der Erzeugung von Labyrinthmustern in Form eines rechteckigen Gitters. Somit erweitert diese Methode das visuelle Erlebnis der Benutzer in der virtuellen RealitĂ€t. Der Prozess der Erstellung und Installation von WĂ€nden und Straßenzellen ist grundsĂ€tzlich identisch. Bei einem kreisförmigen Labyrinth sind die Eingabeeigenschaften der Radius des Labyrinths und die Anzahl der EintrĂ€ge im Labyrinth.


Wenn der Benutzer den gewĂŒnschten Radius des Labyrinths betritt, werden zunĂ€chst die WĂ€nde der WĂ€nde des kreisförmigen Labyrinths automatisch vom Algorithmus zum Zeichnen eines Kreises von einem zentralen Punkt aus berechnet. Dann wird die Wand des kreisförmigen Labyrinths viele Male mit einem bestimmten Intervall (ns) vom Ă€ußeren Kreis dupliziert. Basierend auf der Anzahl der vom Benutzer eingegebenen EintrĂ€ge werden Passagen erstellt, indem die Wandzellen so oft gedreht werden, wie die Eingaben aus dem Ă€ußersten Kreis stammen sollen.


Die Zellen, die als Ausgangspunkt fĂŒr den Eintritt in den Ă€ußeren Kreis dienen, werden so oft zufĂ€llig ausgewĂ€hlt, wie die Anzahl der EingĂ€nge in das Labyrinth sein sollte. Dann wird in der ausgewĂ€hlten Zelle eine Wandzelle ausgewĂ€hlt, deren LĂ€nge mit dem Intervall (ns) zwischen den kreisförmigen WĂ€nden ĂŒbereinstimmt und die sich gerade genug dreht, um die innere kreisförmige Wand zu berĂŒhren.
Wenn schließlich eine Wandzelle in der Position auftritt, in der sie gedreht wird und die innere kreisförmige Wand berĂŒhrt, wird der obige Algorithmus wiederholt.


1: nr ←   . 2: ne ←    . 3: procedure     (nr, ne) 4: ns ←       . 5: while nr > ns do 6:         . 7: nr = nr - ns. 8: end while 9: nc ←    . 10: Arre[ne] ←  ,  ne      . 11: for i = nc, 0 do:     . 12: for j = 0, ne do 13:     ns    (Arre[j]). 14:   . 15:  Arre[j],  ,      . 16: end for 17: end for 18: end procedure 

Der Originaltext des Algorithmus
 nr ← radius of the circular maze. ne ← number of maze entrances. procedure CIRCULAR MAZE GENERATION PROCESS(nr, ne) ns ← interval between maze for user road. while nr > ns do define wall cell by using Bresenham's circle drawing algorithm. nr = nr - ns. end while nc ← number of drawing circles. Arre[ne] ← as many entrance cells as ne are selected from wall cell of the outermost circle. for i = nc, 0 do: generate passages in every circle. for j = 0, ne do select cells with length of ns in entrance cell (Arre[j]). rotate selected cells. renew Arre[j] by finding a cell that meets the inner circle after rotation. end for end for end procedure 

Der obige Algorithmus dieses Prozesses basiert auf den Eingabeparametern des Radius des kreisförmigen Labyrinths und der Anzahl der vom Benutzer eingegebenen Eingaben. Die folgende Abbildung zeigt auch den Vorgang zum Erstellen eines kreisförmigen Labyrinths.


Der Prozess der Erstellung eines kreisförmigen Labyrinths

Bild


Skizzenbasiertes Labyrinth


Die letzte Funktion des Labyrinth-Erstellungssystems in dieser Arbeit ist die Erzeugung des Labyrinths basierend auf der Skizze. Muster von geradlinigen und kreisförmigen Labyrinthen sind homogene Labyrinthe. In den meisten FĂ€llen hat der Labyrinthpark, dem wir im Alltag begegnen können, jedoch eine unregelmĂ€ĂŸige Form. Daher wird in dieser Arbeit eine Funktion vorgeschlagen, die aus einem handgezeichneten Skizzenbild eines Benutzers leicht eine natĂŒrliche OberflĂ€che des Labyrinths sowie eine Labyrinthvorlage in elektronischer Form erstellen kann. Mit dieser Funktion können Sie die Labyrinthabschnitte in verschiedenen Anwendungen verwenden, z. B. in Wegfindungssystemen oder in virtuellen Parks.


Mit der vorgeschlagenen Funktion zur Erzeugung von Labyrinthen kann der Benutzer ein Labyrinthmuster verwenden, das mit einer Grafiksoftware wie Photoshop gezeichnet wurde, oder eine gescannte Skizze, die von Hand auf ein Blatt Papier gezeichnet wurde. Das Bild wird in ein System geladen, in dem der Bildverarbeitungsalgorithmus angewendet wird, wodurch das Bild in eine Labyrinthtexturkarte umgewandelt wird. Dieser Vorgang erfolgt in drei Schritten.


  • Der erste Schritt ist der Prozess des Erhaltens eines Skizzenbildes im System. Um Berechnungen nachfolgender Prozesse durchzufĂŒhren, wird ein Miniaturbild in ein Einkanalbild in Graustufen konvertiert.
  • Der zweite Schritt ist das Brechen von WĂ€nden und Straßen mithilfe der Binarisierung. Hier ist der Schwellenwert ein wichtiges Element zur Bestimmung von Mauern und Straßen. Das System kann den Eingabeschwellenwert ĂŒber die Schnittstelle bearbeiten.
  • Die dritte Stufe ist das FĂŒllen der Löcher, die wĂ€hrend des Binarisierungsprozesses entstehen.

Durch diese Schritte entsteht ein natĂŒrliches Labyrinth. Das System bietet auch einen MenĂŒpunkt, mit dem der Benutzer die Anzahl der Iterationen des FĂŒllvorgangs steuern kann.
Die folgende Abbildung zeigt den Prozess des Erzeugens einer Labyrinth-Texturkarte in einem schrittweisen Modus aus einer vom Benutzer gezeichneten Skizze des Labyrinths.


Labyrinthgenerierung aus Benutzerskizze
Bild

Experimentelle Ergebnisse und Analyse


Das vorgeschlagene System zum Erstellen einer Labyrinthlandschaft wurde mit Microsoft Visual Studio 2013, OpenCV 2.4.11 und DirectX SDK 9.0c implementiert. DarĂŒber hinaus wurde die Unity 2017.3.1f1-Engine (64-Bit) verwendet, um eine Labyrinthlandschaft zu erstellen, die mithilfe grafischer Arbeiten auf der Grundlage einer Labyrinth-Texturkarte fertiggestellt wurde, die automatisch mit dem Labyrinth-Erstellungssystem des Autors erstellt wurde. Um diese Landschaft zu testen und das Ergebnis in der virtuellen RealitĂ€t anzuzeigen, wurde das System mithilfe des HMD-GerĂ€ts Oculus Rift CV1 und des Oculus SDK (ovr_unity_utilities 1.22.0) in die Unity3D-Engine integriert. Schließlich verfĂŒgte der fĂŒr das Experiment und die Implementierung verwendete PC ĂŒber Intel Core i7-6700-Spezifikationen, 16 GB RAM (Direktzugriffsspeicher) und einen Geforce 1080-Grafikprozessor.


Die folgende Abbildung zeigt drei virtuelle Labyrinthlandschaften. Dies sind die Ergebnisse der Relieferzeugung aus den Labyrinthmustern, die unter Verwendung der betrachteten Funktionen dieses Entwicklungssystems berechnet wurden. DarĂŒber hinaus können Sie sehen, dass verschiedene virtuelle Labyrinthumgebungen erstellt werden, indem grafische Faktoren gemĂ€ĂŸ dem Konzept hinzugefĂŒgt werden.


Bild

DarĂŒber hinaus wurde eine Pilotumfrage durchgefĂŒhrt, die sich auf gemeinsame Teilnehmer konzentrierte. ZunĂ€chst wurde in Bezug auf die Systemleistung unter Verwendung von Vergleichstests mit der Funktion, Landschaften kommerzieller Spiele-Engines zu erstellen, bestĂ€tigt, dass das vorgeschlagene System es Benutzern (Entwicklern) ermöglicht, die gewĂŒnschten Abschnitte des Labyrinths einfach und intuitiv zu bearbeiten. Dies reduzierte den Zeitaufwand und fĂŒhrte zu einer hohen Benutzerzufriedenheit mit dem System.


Durch eine Umfrage zum GefĂŒhl der PrĂ€senz wurde bestĂ€tigt, dass die Labyrinthlandschaften in der virtuellen RealitĂ€t den Benutzern ein neues visuelles Erlebnis bieten können. Unter Verwendung einer statistischen Analyse wurde auch bestĂ€tigt, dass alle Stellen, die unter Verwendung der vorgeschlagenen drei Funktionen erhalten wurden, ohne signifikante Unterschiede zwischen ihnen zufriedenstellend waren. In Zukunft wird das System verfeinert, um eine großflĂ€chige virtuelle Labyrinthumgebung wie einen Labyrinthpark oder einen Themenpark bereitzustellen, in der mehrere Benutzer den Labyrinthraum gemeinsam in der virtuellen RealitĂ€t erleben können.

Source: https://habr.com/ru/post/de455744/


All Articles