DE102017204789A1 - Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen - Google Patents

Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen Download PDF

Info

Publication number
DE102017204789A1
DE102017204789A1 DE102017204789.5A DE102017204789A DE102017204789A1 DE 102017204789 A1 DE102017204789 A1 DE 102017204789A1 DE 102017204789 A DE102017204789 A DE 102017204789A DE 102017204789 A1 DE102017204789 A1 DE 102017204789A1
Authority
DE
Germany
Prior art keywords
terminal
server unit
image
server
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102017204789.5A
Other languages
English (en)
Inventor
Michael Schneider
Didier Stricker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102017204789A1 publication Critical patent/DE102017204789A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/687Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0048Type of connection
    • H04N2201/0055By radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0096Portable devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erweitern der Realitätswahrnehmung einer Person, mit folgenden Schritten: Aufnehmen eines Bildes durch ein mobiles Endgerät (100), Übertragen des aufgenommenen Bildes an eine von dem Endgerät (100) unterschiedliche Servereinheit (200), Bestimmen, in der Servereinheit (200), einer Pose des Endgeräts (100) relativ zu einer Referenzposition anhand des aufgenommenen Bildes, Berechnen, in der Servereinheit (200), der Model-View-Matrix für das Projizieren von visuellen Augmentationsdaten in das Sichtfeld der Person, Erzeugen eines durch das Endgerät (100) darzustellenden Bildes, Darstellen, in dem Endgerät (100), des durch das Endgerät darzustellenden Bildes, wobei in der Servereinheit (200) vorzugsweise ein Webserver ausgeführt wird, über den die Servereinheit (200) und das Endgerät (100) kommunizieren.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Erweitern der Realitätswahrnehmung einer Person, insbesondere für industrielle Anwendungen, sowie ein Computerprogramm und Servereinheiten zu dessen Durchführung.
  • Stand der Technik
  • In sog. Augmented-Reality (AR)-Anwendungen wird die Realitätswahrnehmung des Nutzers durch virtuelle Inhalte wie 3D-Modelle, Bilder, Videos, Texte oder sonstige Informationen erweitert. Ein weitgehend positives Benutzererlebnis kann erreicht werden, wenn die Erweiterung (Augmentation) interaktiv und in Echtzeit erfolgt und gleichzeitig die virtuellen Inhalte, soweit es sich um visuelle Inhalte handelt, in 3D registriert sind.
  • Zur Bestimmung der perspektivisch korrekten Darstellung der Informationen können bei mobilen AR-Systemen die von der Kamera des User-Endgerätes gelieferten Bilder verwendet werden. Bei den Endgeräten kann es sich beispielsweise um herkömmliche Smartphones und Tablets oder auch spezielle AR-Brillen handeln. Aus dem Video-Stream der Kamera kann die Pose des Betrachters relativ zu einem betreffenden Objekt (oder einem speziell angebrachten Marker) berechnet und so die korrekte Positionierung und Orientierung der einzufügenden virtuellen Daten bestimmt werden.
  • Nimmt eine Video-Kamera beispielsweise mit 30 Frames pro Sekunde (fps) auf, stehen pro Sekunde 30 Einzelbilder einer Szene zur Verfügung. Stellt die Kamera ein solches Einzelbild bereit, muss daraus die Kameraposition bzw. -orientierung relativ zu einem bestimmten Objekt berechnet werden. Im einfachsten Fall ist dies ein spezieller Schwarz-Weiß-Marker, der dem System vorher bekannt gemacht werden muss. Nun kann die relative Position und Orientierung der Kamera (Kamerapose) und damit des Nutzers im Bezug zu dem Marker berechnet bzw. geschätzt werden. Aus der Kamerapose lässt sich die sogenannte Model-View-Matrix ableiten, die auf die einzublendenden AR-Inhalte mathematisch angewendet werden muss, um diese in der korrekten Perspektive in die betrachtete Szene einzufügen. Dieses Ermitteln und Verfolgen der Position und Rotation von Objekten wird auch als „Tracking“ bezeichnet.
  • Das aus Kamerabild und Augmentation zusammengestellte Bild kann dann auf einem Display ausgegeben werden. Alternativ kann auch die Augmentation alleine in das Sichtfeld des Benutzers eingespiegelt werden (bei AR-Brillen notwendig, die dem Nutzer eine Durchsicht auf die reale Szene erlauben).
  • Insbesondere die Berechnung der Kamerapose bzw. der Model-View-Matrix, aber auch das Rendern der virtuellen Informationen in der korrekten Perspektive stellen höchste Ansprüche an die Rechenressourcen, denen mobile Endgeräte auch heute nicht immer vollumfänglich gerecht werden können. In der Folge können AR-Anwendungen gar nicht oder nur mit Einschränkungen auf dem Mobilgerät ausgeführt werden.
  • Vor allem auf dem industriellen Sektor gibt es zahlreiche Einsatzszenarien für AR. Als Beispiel seien hier Schritt-für-Schritt-Anleitungen in AR für Wartung, Montage oder Schulungszwecke und der AR Remote Service genannt. Beispielsweise ist aus der DE102014221753A1 ein Verfahren zum Führen eines Werkers während einer Montage bekannt, bei dem eine Montageinformation in einer Brille visualisiert wird.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zum Erweitern der Realitätswahrnehmung einer Person sowie ein Computerprogramm und Recheneinheiten zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung bietet den Vorteil, dass auch mittels heute verfügbarer AR-fähiger mobiler Endgeräte (Smartphones, Tablets, Datenbrillen) als Client trotz begrenzter Rechenressourcen eine Erweiterung der Realitätswahrnehmung im industriellen Umfeld möglich wird. Zu diesem Zweck werden rechenaufwendige Schritte an leistungsfähige Servereinheiten, wie z.B. sog. Industrie-PCs (IPC) ausgelagert, welche Serverdienste, insbesondere einen Webserver bereitstellen. Es können jedoch auch sog. native Server- und Clientanwendungen zum Einsatz kommen. Der Grad der Auslagerung kann zudem von der Rechenkapazität des Endgeräts als Client abhängig gemacht werden. Im Falle der umfangreichsten Auslagerung ist das Endgerät nur noch für die Aufnahme der Kamerabildes und die Darstellung zuständig, was in etwa mit den Leistungsanforderungen aus dem Videostreaming zu vergleichen ist und entsprechend sicher beherrscht wird.
  • Je nach eingesetzter Client-Hardware kann entschieden werden, bis zu welchem Schritt die AR-Berechnungen auf der Servereinheit stattfinden. Verfügt das Endgerät nur über eine unzureichende Rechenleistung, kann die komplette Verarbeitung serverseitig stattfinden. An den Client wird dann lediglich das fertig gerenderte Video-Bild zurückgeschickt, das dieser nur noch anzeigen muss. Ist der Client dagegen etwas leistungsfähiger, besteht die Möglichkeit, sich die errechnete Model-View-Matrix von der Servereinheit zurückliefern zu lassen und die eigentliche Augmentation clientseitig durchzuführen. Dementsprechend wird das durch das Endgerät darzustellende Bild in der Servereinheit oder in dem Endgerät erzeugt (Rendering).
  • Anstatt die Entscheidung über die Auslagerung dem Nutzer selbst zu überlassen, ist es auch denkbar, diese anhand der übermittelten Leistungsdaten des Endgeräts von der Servereinheit dynamisch treffen zu lassen. Dementsprechend wird in Abhängigkeit von der Rechenleistung des Endgeräts entschieden, ob das durch das Endgerät darzustellende Bild in der Servereinheit oder in dem Endgerät erzeugt wird.
  • Der Einsatz einer solchen „Client/Server-Lösung“ bietet weiterhin den Vorteil, dass der Benutzer nicht gezwungen ist, sich mit der komplexen Funktionsweise von AR-Anwendungen zu befassen, sondern sich auf die reine Inhaltserstellung konzentrieren kann. Es können für das Endgerät Schnittstellen bereitgestellt werden, an welchen dieses beispielsweise (vorzugsweise mittels verbreiteter Verfahren, wie z.B. Web-Schnittstellen) lediglich die aufgenommenen Bilder abliefert und die Bilder mit Augmentation oder die Model-View-Matrix plus darzustellende Inhalte empfängt.
  • Auch sind für den Betrieb einer AR-Anwendung verschiedene Hilfsdaten nötig, wie z.B. die jeweilige Tracking-Konfiguration, die festlegt, nach welchem Objekt (z.B. nach welchem Marker) im Kamerabild gesucht werden soll bzw. zu welchem Objekt die anzuzeigenden virtuellen Informationen räumlich in Relation stehen sollen. Auch die virtuellen Inhalte selbst - zum Beispiel Markierungen, Text, Bilder, Videos, 3D-Modelle, Live-Daten etc. - fallen darunter. Diese Hilfsdaten können nun vorteilhafterweise ebenfalls ausgelagert werden und müssen nicht auf den Endgeräten selbst gespeichert werden. So müssen Aktualisierungen an nur einer Stelle durchgeführt werden, der Wartungsaufwand sinkt deutlich. Auch auf den stark limitierten Speicherplatz der mobilen Endgeräte hat diese Lösung positive Auswirkungen. Vor allem Videos und 3D-Modelle, die in das Kamerabild eingeblendet werden sollen, nehmen oft größere Speicherressourcen in Anspruch.
  • Findet die Auslagerung innerhalb einer Webapplikation statt, kann die eigentliche Anwendung mit herkömmlichen Webtechnologien wie HTML5, CSS und JavaScript entwickelt werden. Durch diese Entkopplung von AR-Funktionalität und primärem Anwendungszweck wird die Erstellung von AR-Applikationen deutlich leichter zu bewerkstelligen und gleichzeitig plattformunabhängig.
  • Um eine derartige Architektur zu realisieren, wird bei der vorliegenden Erfindung vorteilhaft ein Webserver verwendet. Ein solcher kann ohne weiteres auf der Servereinheit, wie z.B. den im industriellen Bereich bereits heute für viele Aufgaben eingesetzten IPCs betrieben werden. Dieser Webserver kann dazu genutzt werden, die Video-Daten des mobilen Endgerätes entgegenzunehmen und an das verarbeitende Backend auf der Servereinheit weiterzuleiten. Dort werden die erforderlichen AR-Berechnungen durchgeführt und das Ergebnis - entweder ein fertig augmentierter Video-Stream oder die errechneten Model-View-Matrizen - an den Client zurück gesendet. Auch für eine teilweise clientseitig generierte Augmentation stehen Web-Technologien zur Verfügung, sodass nicht auf den Vorteil der Plattformunabhängigkeit verzichtet werden muss.
  • Dadurch werden die Erstellung und vor allem der Betrieb von AR-Anwendungen deutlich vereinfacht. Mobile Endgeräte können sich einfach mit dem Webserver auf der (leistungsstärkeren) Servereinheit verbinden und mit minimalem Aufwand die komplizierten AR-Berechnungen über die Webschnittstelle in Echtzeit auslagern. Anwendungsentwickler können dabei auf die weit verbreiteten Webtechnologien zurückgreifen. Bisher notwendige ARspezifische Programmierungen auf der Client-Seite werden weitestgehend eliminiert, da der Client abgesehen von einigen Konfigurations-Einstellungen lediglich den Live-Video-Stream an den Webserver senden muss. Durch diese Entkopplung von AR-Funktionalität und eigentlicher Anwendung ist beim Entwickler kein spezifisches AR-Wissen mehr nötig.
  • Ein weiterer Vorteil der Verwendung eines IPC als Servereinheit ist, dass der IPC, der in Fabriken meist zur Steuerung von Maschinen eingesetzt wird, über sämtliche Live-Daten verfügt, die den laufenden Betrieb einer oder mehrerer Maschine(n) betreffen. Diese Informationen können also sehr einfach in die AR-Anwendung mit einbezogen werden. Die Endgeräte müssen die Verbindung zu Maschinensteuerung nicht mehr selbst herstellen.
  • Eine besonders bevorzugte Ausgestaltung der Erfindung ist ein Framework, das es seinen Nutzern durch eine softwaretechnische Aufrüstung von IPCs ermöglicht, sich weiterhin auf die Entwicklung ihrer Anwendungsinhalte selbst zu konzentrieren und AR-Funktionalität sozusagen per Plug&Play zur Verfügung stellt. Auf der Client-Seite, also dem mobilen Endgerät, kann sich der Nutzer so auf die Erstellung seiner eigentlichen Applikation konzentrieren. Er muss dem Server lediglich mitteilen, an welcher Position er welche überlagerten Informationen in AR darstellen soll. Zusammen mit dem vorgestellten Framework werden IPCs dadurch „AR-ready“.
  • Durch die hier vorgestellte Erfindung werden im industriellen Umfeld, wie z.B. in der Fabrikhalle eingesetzte mobile Endgeräte dazu befähigt, AR-Anwendungen auszuführen, ohne eigentlich dafür leistungsfähig genug zu sein.
  • Eine erfindungsgemäße Recheneinheit, d.h. eine Servereinheit oder ein Endgerät, ist, insbesondere programmtechnisch, dazu eingerichtet, die jeweiligen servereinheits- bzw. endgerätespezifischen Schritte eines erfindungsgemäßen Verfahrens durchzuführen.
  • Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
  • Figurenliste
    • 1 zeigt schematisch eine bevorzugte Ausführungsform einer Anordnung aus einem Tablet-PC als Endgerät und einem Industrie-PC als Servereinheit zur Durchführung eines erfindungsgemäßen Verfahrens.
    • 2 zeigt schematisch ein Ablaufdiagramm einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens.
  • Detaillierte Beschreibung der Zeichnung
  • In 1 ist eine Anordnung aus einem Endgerät 100 und einer Servereinheit 200 zur Durchführung eines erfindungsgemäßen Verfahrens schematisch dargestellt.
  • Bei dem Endgerät 100 handelt es sich im gezeigten Beispiel um einen Tablet-PC mit einem als Touchscreen ausgebildeten Display 101 und einer Kamera 102 zur Aufnahme von Bildern. Grundsätzlich kann jedes mobile Endgerät verwendet werden, das über eine Kamera verfügt. Geeignet sind also Laptops mit integrierter oder angeschlossener Webcam, nahezu alle gängigen Smartphones, Tablets und AR-Brillen. Für die hier beschriebene Ausführungsform ist das Vorhandensein eines aktuellen Webbrowsers auf dem Gerät zweckmäßig, da dieser als Schnittstelle zur Servereinheit 200 dient. Vorzugsweise wird in dem Webbrowser eine Website aufgerufen, welche als Programm bzw. Applikation zur Durchführung des Verfahrens auf dem Endgerät dient. Die für die AR-Applikation notwendigen Funktionen können dabei insbesondere in Form einer Client-Bibliothek bereitgestellt werden.
  • Die Servereinheit 200 ist im gezeigten Beispiel als Industrie-PC (IPC) ausgebildet, der insbesondere mit einer zu steuernden und/oder zu überwachenden Maschine bzw. Industrieanlage 300 bzw. deren Steuerungen (z.B. SPS) verbunden ist. Diese Verbindung kann beispielsweise als Ethernet-Verbindung, beispielsweise in Form eines Feldbusses ausgebildet sein. Die Servereinheit 200 ist programmtechnisch zur Kommunikation mit dem Endgerät 100 eingerichtet und weist dazu einen schematisch angedeuteten Webserver 201 (Software) auf. Als Webserver kommt vorzugsweise ein Java-Server zum Einsatz, grundsätzlich ist aber auch jeder andere Webserver geeignet. Vorzugsweise sind auf der Servereinheit 200 auch die Tracking-Konfiguration, also Informationen zum Aussehen von Ankerpunkten (z.B. Marker 301), und die Assets - also die Objekte/Informationen, die virtuell ins Kamerabild eingeblendet werden sollen - gespeichert.
  • Um die Mobilität des Nutzers zu wahren, sollte die Verbindung zwischen Endgerät 100 und Servereinheit 200 drahtlos sein. Ein Ethernet-Kabel hätte zwar gegenüber heutigen Funktechnologien Performance-Vorteile, würde die Bewegungsfreiheit aber stark einschränken. Außerdem werden heute bereits neue Funktechnologien entwickelt, die den Anspruch haben, das Ethernet-Kabel im Fabrik-Umfeld zu ersetzen und anspruchsvolle Aufgaben, zu denen auch die Übertragung von Videodaten in Echtzeit gehört, zu unterstützen.
  • Ein bevorzugtes Framework zur Implementierung der Erfindung setzt sich somit aus zwei Komponenten zusammen, der beispielsweise als JavaScript-Bibliothek ausgebildeten Client-Bibliothek, die für die Entwicklung von AR-Applikationen genutzt werden kann und die auf dem mobilen Endgerät 100 läuft, und dem Webserver inklusive AR-Verarbeitungslogik (Backend), der auf der Servereinheit 200 installiert wird.
  • Die Client-Bibliothek wird bei der Entwicklung der AR-Applikation als Webanwendung eingebunden. Die erstellte Webanwendung muss lediglich die Möglichkeit vorsehen, das augmentierte Kamerabild anzuzeigen. Über zusätzliche Modifikationen und Optionen wie beispielsweise ein Benutzerinterface kann wie bei jeder herkömmlichen Webanwendung der Entwickler entscheiden. Nach Fertigstellung wird die Webanwendung (Webseite) - wie üblich - auf einem Webserver bereitgestellt. Dies kann, muss aber nicht, der Webserver des IPC sein. Bei der Webanwendung dient der Browser des Endgeräts als Anwendungsumgebung und als Schnittstelle zum Betriebssystem. Der Entwickler kann deswegen davon ausgehen, dass die Webanwendung auf verschiedenen Betriebssystemen funktioniert, ohne dass spezielle Anpassungen nötig sind.
  • Ruft ein Benutzer diese Webseite auf, wird nach Konfiguration der entsprechenden IP-Adresse eine Verbindung zum IPC hergestellt. Nachdem der Benutzer den Zugriff auf seine Device-Kamera erlaubt hat, werden die erfassten Live-Kamerabilder automatisch an den IPC weitergeleitet. Die Konfiguration, welche AR-Inhalte aus dem Speicher des IPC an welcher Stelle an der Maschine angezeigt werden sollen, erledigt ebenfalls der Anwendungsentwickler. Dank der Client-Bibliothek benötigt er dazu aber kein spezifisches AR-Wissen. Theoretisch kann er auch dem Endnutzer die Möglichkeit geben, dies zur Laufzeit selbst festzulegen.
  • Wird gemäß einer bevorzugten Ausführungsform nur die Model-View-Matrix von der Servereinheit 200 an das Endgerät 100 übertragen, wobei das Endgerät 100 die Augmentation selbst rendert, weist die Client-Bibliothek vorzugsweise auch hierzu entsprechende Funktionen auf. Beispielsweise kann die WebGL-Technologie oder eine darauf basierende JavaScript-Bibliothek (z.B. three.js) zum Einsatz kommen.
  • Der auf der Servereinheit 200 laufende Webserver hat die Haupt-Aufgabe, die vom mobilen Endgerät gesendeten Bilder auf darin enthaltene Ankerpunkte zu durchsuchen und die Pose des Endgeräts 100 relativ zu einem Referenzpunkt zu bestimmen bzw. errechnen. Informationen über die Ankerpunkte, die der Prozessor verstehen kann, müssen zuvor auf der Recheneinheit 200 gespeichert werden. Im einfachsten Fall kann dies das Bild eines Schwarz-Weiß-Markers (z.B. Marker 301), aber auch eine Vereinfachung eines CAD-Modell eines Objekts sein. Für diese Aufgabe kann beispielsweise die OpenSource-Bibliothek „OpenCV“ eingesetzt werden.
  • Hat die Servereinheit 200 die Kamerapose bestimmt, liegen alle für das Projizieren von visuellen Augmentationsdaten in das Sichtfeld des Benutzers, d.h. hier zur Anzeige auf dem Display 101, notwendigen Informationen vor. Die Registrierung der virtuellen Informationen kann zusammen mit dem Rendering nun entweder server- oder clientseitig erfolgen. Das auf dem Endgerät 100 darzustellende Bild enthält in diesem Fall das von der Kamera aufgenommene Bild und überlagert die visuellen Augmentationsdaten.
  • Je nach Konfiguration werden entweder die Kamerapose direkt an das Endgerät zurückgesendet oder auch das Rendering noch serverseitig ausgeführt. Im ersten Fall muss sich das Endgerät dann selbst um das Rendering kümmern, im zweiten wird ein komplett fertig annotierter Video-Stream zurück an das Endgerät geschickt, das diesen nur noch ausgeben muss.
  • Eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens wird im Folgenden unter Bezugnahme auf 2 erläutert.
  • Zunächst navigiert der Benutzer auf dem Endgerät 100 mit einem (herkömmlichen) Browser auf die vom Anwendungsentwickler erstellte und gehostete Webseite, die die beschriebene Client-Bibliothek einbindet. Diese Webseite kann entweder über den Webserver der Servereinheit oder auf einem externen Server bereitgestellt werden. Die vom Anwendungsingenieur entwickelten JavaScript-Skripte (und auch die eingebundene Client-Bibliothek) werden auf das mobile Endgerät heruntergeladen und laufen nun in dessen Speicher.
  • Die Client-Bibliothek greift, nachdem sie die Verbindung mit dem Webserver hergestellt hat, auf die Kamera 102 des mobilen Endgerätes 100 zu und nimmt in einem Schritt 110 ein Bild auf. Wie oft pro Sekunde Einzelbilder von der Kamera abgerufen werden, kann vorzugsweise der Anwendungsentwickler selbst festlegen.
  • Wurde ein Frame (Bild) aufgezeichnet, wird dieser bei Bedarf in einem Schritt 120 komprimiert bzw. kodiert und über die hergestellte Verbindung an den Webserver 201 in der Servereinheit 200 geschickt. In der bevorzugten Ausprägung der Erfindung als Web-Anwendung kommen hier grundsätzlich eine WebSocket- oder eine WebRTC-Verbindung in Frage. Während die WebSocket-Verbindung zuverlässiger ist, da TCP-basiert, können mit einer schnelleren UDP-basierten WebRTC-Verbindung deutlich höhere Auflösungen verwendet werden. Die Übertragungsstrecke sollte eine möglichst hohe Bandbreite aufweisen, um die Ende-zu-Ende-Latenz nicht unnötig zu erhöhen. Notwendige Konfigurationseinstellungen könnten ebenfalls per WebSocket-Verbindung gesendet werden, über die der Anwender beispielsweise signalisiert, welche Informationen der Server wo genau im Bild darstellen soll.
  • Auf der Servereinheit 200 werden in einem Schritt 210 die eingehenden Videobilder dekodiert und im Anschluss an eine Bildvorverarbeitung 220 nach den vorher festzulegenden Mustern (z.B. Marker) in einem Schritt 230 durchsucht.
  • Wird ein solches Muster im Bild erkannt, bestimmt bzw. berechnet die Servereinheit 200 in Schritt 240 die Kamerapose, also aus welcher Position und Orientierung die Kamera das Muster sieht. Diese Information ist notwendig, um die virtuellen Informationen aus der gleichen Perspektive ins Bild rendern zu können. Das Rendering kann je nach Konfiguration nun entweder ebenfalls serverseitig in Schritt 250, oder aber im Endgerät in Schritt 130 erfolgen. Je nach Konfiguration führt die Servereinheit das Rendering durch oder nicht und das Ergebnis ist entweder ein fertiges Videobild oder die errechnete Model-View-Matrix. Im Falle des fertigen Videobildes wird dieses in Schritt 260 ebenfalls wieder enkodiert (bzw. komprimiert).
  • Das fertige Videobild (oder die in Schritt 260 errechnete Model-View-Matrix) wird über die WebSocket- oder WebRTC-Verbindung zurück an das Endgerät geschickt.
  • Je nach Konfiguration wird in Schritt 140 entweder das fertig augmentierte Videobild direkt ausgegeben oder aber erst in Schritt 130, beispielsweise mit Hilfe der WebGL-Technologie, gerendert. Im zweiten Fall wird die von der Servereinheit 200 berechnete Model-View-Matrix als Grundlage für das Rendering aus der entsprechenden Perspektive verwendet. Außerdem müssen dann auch die zu rendernden Daten auf den Client übertragen werden.
  • Das Durchlaufen der hier beschriebenen Pipeline (110 - 140 in 1) muss in wenigen Hundertstelsekunden geschehen, um die Anwendung echtzeitfähig zu halten und das Nutzererlebnis nicht negativ zu beeinträchtigen. Je nach eingestellter Framerate wird die Pipeline ca. 30 Mal pro Sekunde durchlaufen.
  • Wie bereits erläutert, benötigt ein AR-Algorithmus die Information, nach welchen Objekten er in einem Kamerabild suchen soll, damit er die Kamerapose relativ zu diesem Objekt (bzw. die Model-View-Matrix) errechnen kann. Als Objekte können einfache Schwarz-Weiß-Marker, aber auch Bilder zum Einsatz kommen. Auch die Verwendung von markanten Ecken und Kanten eines realen Objekts ist möglich. Im letzteren Fall müssen dem Algorithmus die 3D-Featurepunkte bekannt gemacht werden. Natürlich ist es auch möglich, mehrere Ankerpunkte (z.B. verschiedene Marker) in einem AR-Szenario einzusetzen. Der Algorithmus muss dann nach allen dem System bekannt gemachten Ankerpunkten im Kamerabild suchen und zeigt dann die jeweils zugehörigen Informationen an. Da die Servereinheit 200 den AR-Algorithmus ausführt, ist es sinnvoll, diese Daten ebenfalls auf der Servereinheit vorzuhalten. Dies erhöht außerdem die Wartbarkeit, sollte die Tracking-Konfiguration geändert werden müssen.
  • Auch die die eigentlichen Informationen, die mit Hilfe der AR-Technologie dargestellt werden sollen, werden zweckmäßigerweise auf der Servereinheit gespeichert. Es handelt sich dabei meist um Medieninhalte wie Text, Bilder oder Videos. Auch hier kann man von der zentralen Speicherung auf der Servereinheit profitieren. Lässt man auch das Rendering dieser Assets in der korrekten Perspektive auf der Servereinheit durchführen, stehen die jeweiligen Inhalte direkt zur Verfügung. Soll das Rendering wie beschrieben auf dem Endgerät durchgeführt werden, können die Assets in den Cache des Endgeräts übertragen werden, um so nach einmaligem Download beim Start der Applikation die Ladezeiten zu verkürzen.
  • Es kann außerdem gewünscht sein, Live-Daten zum Zustand der an der Servereinheit 200 angeschlossenen Maschine(n) 300 im Wege der Augmentation anzuzeigen. Auch hier wird die Handhabung mit dem Einsatz der vorliegenden Erfindung erheblich vereinfacht, da die Servereinheit 200 bereits zur Maschinensteuerung bzw. Maschinenüberwachung eingesetzt wird und ohnehin über diese Informationen verfügt. Sollen die Live-Daten wiederum erst auf dem Client ins Kamerabild gerendert werden, können sie mit Hilfe marktüblicher Technologien (z.B. OPC-UA-Verbindung) an das mobile Endgerät übertragen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102014221753 A1 [0007]

Claims (12)

  1. Verfahren zum Erweitern der Realitätswahrnehmung einer Person, mit folgenden Schritten: Aufnehmen eines Bildes durch ein mobiles Endgerät (100), Übertragen des aufgenommenen Bildes an eine von dem Endgerät (100) unterschiedliche Servereinheit (200), Bestimmen, in der Servereinheit (200), einer Pose des Endgeräts (100) relativ zu einer Referenzposition anhand des aufgenommenen Bildes, Berechnen, in der Servereinheit (200), einer Model-View-Matrix für das Projizieren von visuellen Augmentationsdaten in das Sichtfeld der Person, Erzeugen eines durch das Endgerät (100) darzustellenden Bildes, Darstellen, in dem Endgerät (100), des durch das Endgerät darzustellenden Bildes.
  2. Verfahren nach Anspruch 1, wobei das durch das Endgerät (100) darzustellende Bild nur die visuellen Augmentationsdaten oder eine Überlagerung des aufgenommenen Bildes mit den visuellen Augmentationsdaten enthält.
  3. Verfahren nach Anspruch 1 oder 2, wobei das durch das Endgerät (100) darzustellende Bild in der Servereinheit (200) oder in dem Endgerät (100) erzeugt wird.
  4. Verfahren nach Anspruch 3, wobei in Abhängigkeit von einer Rechenleistung des Endgeräts (100) entschieden wird, ob das durch das Endgerät (100) darzustellende Bild in der Servereinheit (200) oder in dem Endgerät (100) erzeugt wird.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei in das Berechnen der Pose des Endgeräts (100) und/oder in das Berechnen der Model-View-Matrix und/oder das Erzeugen des durch das Endgerät (100) darzustellenden Bildes einfließende Hilfsdaten in der Servereinheit (200) gespeichert sind.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei das mobile Endgerät (100) eine Kamera (102) und ein Display (101) und/oder eine Einspiegelvorrichtung aufweist.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei das mobile Endgerät (100) ein Smartphone, ein Tablet-PC oder eine Datenbrille ist.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei in der Servereinheit (200) ein Webserver ausgeführt wird, über den die Servereinheit (200) und das Endgerät (100) kommunizieren.
  9. Verfahren nach Anspruch 8, wobei die in dem mobilen Endgerät (100) ablaufenden Verfahrensschritte im Rahmen einer Webanwendung ausgeführt werden.
  10. Recheneinheit (100, 200), die dazu eingerichtet ist, die servereinheits- bzw. endgerätespezifischen Schritte eines Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  11. Computerprogramm, das eine Recheneinheit veranlasst, die servereinheits- bzw. endgerätespezifischen Schritte eines Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen, wenn es auf der Servereinheit ausgeführt wird.
  12. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 11.
DE102017204789.5A 2017-03-01 2017-03-22 Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen Withdrawn DE102017204789A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017104312.8 2017-03-01
DE102017104312 2017-03-01

Publications (1)

Publication Number Publication Date
DE102017204789A1 true DE102017204789A1 (de) 2018-09-06

Family

ID=63171440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017204789.5A Withdrawn DE102017204789A1 (de) 2017-03-01 2017-03-22 Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen

Country Status (1)

Country Link
DE (1) DE102017204789A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111862828A (zh) * 2019-04-30 2020-10-30 陈逸曦 一种由无序移动的显示单元所组成的显示矩阵

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111862828A (zh) * 2019-04-30 2020-10-30 陈逸曦 一种由无序移动的显示单元所组成的显示矩阵

Similar Documents

Publication Publication Date Title
DE60309201T2 (de) Verfahren und system zur übertragung von ereignissen, einschliesslich multimedia daten
CN110913267B (zh) 图像处理方法、装置、系统、界面、介质和计算设备
DE202017106132U1 (de) Neuronale Netze zum Auswählen von durch einen Roboteragenten auszuführenden Aktionen
DE112016004731T5 (de) Erweitern von Mehrfachansicht-Bilddaten mit synthetischen Objekten unter Verwendung von IMU und Bilddaten
DE112016003352T5 (de) Reibungslose Benutzeroberfläche für virtuelle Kollaboration, Kommunikation und Cloud-Computing
DE102020131265A1 (de) Segmentieren von video-rahmen unter verwendung eines neuronalen netzes mit verringerter auflösung und von masken aus vorhergehenden rahmen
DE102012013336B4 (de) Aushandeln einer kontinuierlichen multi-stream-präsenz
DE102020108357A1 (de) Umkodieren vorhergesagter bilder in live-videostream-anwendungen
DE102010052244A1 (de) Verfahren und Vorrichtung zur Darstellung einer grafischen Benutzeroberfläche einer tragbaren Recheneinheit auf einem externen Anzeigegerät
US20160330260A1 (en) Ultra-Low Latency Remote Application Access
DE102014012355A1 (de) Verfahren zur Steuerung einer Multimedia-Anwendung, Softwareprodukt und Vorrichtung
DE102013021710A1 (de) Grafik-Dienstleister und Verfahren zur Datenstromübertragung von bilderzeugtem Inhalt über eine entfernte Grafikverarbeitungsdienstleistung
DE102020108752A1 (de) Beitreten oder wiederholen einer spielinstanz aus einer spielübertragung
DE112019000271T5 (de) Verfahren und vorrichtung zur verarbeitung und verteilung von live-virtual-reality-inhalten
DE202016107451U1 (de) Systeme zur interaktiven Darstellung eines sichtbaren Teils einer Rendering-Oberfläche auf einem Benutzergerät
DE112021006157T5 (de) Videocodieren durch nicht-salienz-komprimierung für live-streaming von hochauflösenden videos in einer übertragung niedriger bandbreite
US20230218994A1 (en) Game screen display method and apparatus, storage medium, and electronic device
DE112020005730T5 (de) Gemeinsame Rolling-Shutter-Korrektur und Bildscharfzeichnung
DE112022003301T5 (de) Automatisiertes scannen von häufigen erkrankungen, sodass einem arzt ein einheitliches bild zur analyse gegeben werden kann
DE102021006022A1 (de) Webbasierte Digitalbildbearbeitung in Echtzeit unter Einsatz eines Latentvektorstreamwiedergebers und eines bildmodifizierenden neuronalen Netzwerkes
DE102018130085A1 (de) Erzeugen eines 2d-videos aus einem 360-video
EP2701115A1 (de) Verfahren und System zur Live-Video-Beratung
DE102017204789A1 (de) Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen
DE112018003488T5 (de) Bereitstellen von hyperlinks in präsentationen für die fernbetrachtung
CN114845136B (zh) 视频合成方法、装置、设备和存储介质

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination