AR-Entwicklung Optimierung von Augmented-Reality-Lösungen mit SoCs

Autor / Redakteur: Adam Taylor * / Sebastian Gerstl

AR-Systeme finden immer breitere Anwendung, stellen aber hohe Ansprüche an High Performance, Security und Leistungseffizienz. Die All Programmable SoC-Reihe Zynq adressiert diese Aspekte.

Firma zum Thema

AR-Praxisfall: Augmented- und Mixed-Reality-Systeme finden zunehmend in Industrie, Militär oder Medizin Anwendung. Häufig kommen hierbei Smart Glasses bzw. intelligente Datenbrillen zum Einsatz, was hohe Ansprüche an Bildverarbeitung im eingebetteten System stellt.
AR-Praxisfall: Augmented- und Mixed-Reality-Systeme finden zunehmend in Industrie, Militär oder Medizin Anwendung. Häufig kommen hierbei Smart Glasses bzw. intelligente Datenbrillen zum Einsatz, was hohe Ansprüche an Bildverarbeitung im eingebetteten System stellt.
(Bild: DAQRI)

Die Erforschung der visuellen Interaktion des Menschen mit seiner Umwelt hat gezeigt, dass die Verarbeitung von Bildern um ein Vielfaches schneller geht als die Erfassung von Informationen in anderen Formaten, etwa beim Lesen geschriebener oder gedruckter Texte. Das Verfahren der datengestützten Realität oder Augmented Reality (AR) ermöglicht, wie sein nächster Verwandter, die virtuelle Realität (VR), dem Nutzer die Erfahrung einer gesteigerten Wahrnehmung der sichtbaren Umgebung.Wesentlicher Unterschied zur VR ist, dass AR zur natürlichen, weiterhin sichtbaren Welt andere visuelle Objekte, Daten oder Texte hinzufügt und sie so erweitert und unterstützt.

Bildergalerie

Dies ermöglicht dem Nutzer eines AR-Systems die Interaktion mit den Objekten innerhalb der dargestellten Umgebung mit höherer Sicherheit und Effizienz. VR hingegen versetzt den Nutzer in eine synthetisch erzeugte, komplett virtuelle Welt. Auch die Kombination von Augmented Reality und Virtual Reality ist möglich. Dies wird oft als Präsentation einer gemischten Realität (Mixed Reality, MR) für den Nutzer beschrieben.

Viele Menschen benutzen AR-Systeme bereits im täglichen Leben, ohne dies überhaupt zu bemerken. Ein Beispiel dafür ist der Einsatz mobiler Datengeräte zur Navigation im Straßenverkehr oder das Spielen von AR-Games wie Pokémon Go. Das Erste, woran man bei der Erwähnung von Augmented Reality-Systemen und deren Applikationen denkt, ist das so genannte Head-up Display (HUD).

HUDs werden bereits in der Luftfahrt und im Automobilbereich eingesetzt, und zwar in Form von numerischen Informationen, die gut sichtbar, aber transparent in die Frontscheibe einprojiziert werden. Damit werden dem Piloten oder Fahrer vitale Informationen über das Fahrzeug und das Verkehrsgeschehen vermittelt, ohne dass dieser seinen Blick auf den Instrumenten-Cluster richten muss.

Die HUDs sind eine der einfacheren bereits verfügbaren AR-Applikationen. Andere AR-Anwendungen mit weiter gehender Funktionalität, auch in Form von Wearables, werden of als Smart AR bezeichnet. Voraussagen des Marktforschers Tractica gehen davon aus, dass Smart AR um 2020 ein Marktvolumen von 2,3 Mrd. Dollar erreichen könnte.

Augmented-Reality-Applikationen und Einsatzfälle

In allen relevanten Segmenten der Wirtschaft, von industriellen, militärischen und medizinischen Einsätzen bis zu sozialen Einrichtungen findet AR derzeit Eingang in zahlreiche Applikationen und Anwendungssituationen, in denen ihre Adoption werthaltig ist. Im Consumer-Bereich fokussieren diese Applikationen naturgemäß auf die sozialen Medien, wo sie die Möglichkeit zur Erkennung der Gesprächspartner eröffnen und biographische Informationen beisteuern können. AR bietet auch die Fähigkeit zur Lokalisierung und Beurteilung von Produkten, die man als Consumer oft nur schwer näher besichtigen und beurteilen kann, wie etwa Automobile, Boote und Gebäude.

Viele AR-Applikationen basieren auf dem Einsatz von Smart Glasses oder intelligenten Datenbrillen, die bei der Nutzung getragen werden müssen. Derartige Datenbrillen erlauben in Fertigungsumgebungen eine wesentlich höhere Effizienz. Sie ersetzen die gedruckten Anleitungen und Manuals und zeigen dem Anwender, wie bestimmte Teile eines größeren Systems zusammengefügt und montiert werden sollen.

Im medizinischen Bereich haben Smart Glasses das Potenzial zur Anlage und Übermittlung von medizinischen Berichten und detaillierten Dokumentationen von Befunden oder Verletzungen. Dies ermöglicht die bessere Versorgung sowohl am Ort der Notfallhilfe, als auch später im Operationssaal. Ein besonders aussagekräftiges Beispiel für aktuelle AR-Anwendungen ist die Auslieferung von Paketen.

Ein großer US-Zustelldienst setzt bereits Smart Glasses ein, mit denen sich der Barcode auf dem Versand-Etikett lesen lässt. Sobald der Code eingescannt ist, kommuniziert die intelligente Datenbrille über eine passende WIFI-Infrastruktur mit dem Server des Zustelldienstes und ermittelt so die Lieferadresse des Pakets. Mit dieser Adresseninformation weisen die Smart Glasses den Weg zu einer geeigneten Zwischenlagerung vor dem Versand.

Unabhängig von der Applikation und dem jeweiligen Einsatzfall erfordert die Implementierung eines AR-Systems die Beachtung diverser, oft gegenläufiger Anforderungen, einschließlich dessen Performance und Sicherheit, Leistungsfähigkeit und Zukunftsfestigkeit. Sie alle müssen gründlich abgewogen werden, damit die Entwickler eine optimale Lösung für den Einsatz des AR-Systems bereitstellen können.

Die Implementierung von AR-Systemen

Komplexe AR-Systeme erfordern oft die Fähigkeit zur Interaktion mit Prozessdaten von mehreren Kamera-Sensoren, um die visuelle Umgebung angemessen zu erfassen und verstehen. Solche Sensoren operieren vielfach auch in den nicht sichtbaren Bereichen des elektromagnetischen Spektrums (EM), etwa im Infrarot oder nahen Infrarot. Auch Sensoren mit Informationen, die nicht unmittelbar aus dem EM-Spektrum stammen, werden hier eingesetzt, etwa zur Erfassung von mechanischen Bewegungen oder Rotationen.

Dazu zählen MEMS-Accelerometer und Gyroskope, neben Empfängern für Satellitendaten wie dem Global Navigation Satellite System (GNSS). Embedded Vision Systeme, die eine Sensor-Fusion aus den Messwerten mehrerer unterschiedlicher Sensortypen einsetzen, werden allgemein als heterogene Sensor-Fusion Systeme bezeichnet. AR-Systeme erfordern außerdem hohe Frame-Raten und die Fähigkeit, eine Echtzeit-Analyse in jedem Frame durchzuführen, um die darin enthaltene Information zu extrahieren. Die Bereitstellung der Verarbeitungskapazität für diese Anforderungen wird zum entscheidenden Faktor bei der Auswahl der geeigneten Komponenten.

Bild 3 zeigt, wie ein All Programmable Zynq-7000 SoC oder ein Zynq UltraScale+ MPSoC von Xilinx eingesetzt wird, um den Verarbeitungskern eines AR-Systems zu implementieren. Diese Bausteine sind bereits selbst heterogene Verarbeitungssysteme, die aus einer Kombination von ARM-Prozessor und hoch leistungsfähiger programmierbarer Logik bestehen. Zynq UltraScale+ MPSoC, die nächste Generation des Zynq-7000 SoC, enthält zusätzlich eine ARM Mali-400 GPU. Ausgewählte Typen dieser Bausteinfamilie enthalten außerdem einen stabilen Video-Encoder, der den H.265- und HVEC Standard unterstützt.

Alle diese Bausteine ermöglichen dem Entwickler die Segmentierung der Systemarchitektur mit optimalem Einsatz der Prozessoren zur Implementierung der Echtzeit-Analyse. Dies geht über die traditionellen Aufgaben des Prozessors weit hinaus. Die programmmierbare Logik lässt sich zur Implementierung der Sensor-Schnittstellen und zur Verarbeitung der von ihnen gelieferten Daten einsetzen. Das bietet mehrere Vorteile:

  • Parallele Implementierung von mehreren Bildbearbeitungs-Pipelines, wie von der Applikation gefordert.
  • Universelle (any to any) Konnektivität, die Fähigkeit zur Definition der Verbindung mit allen Sensoren, Kommunikationsprotokollen oder Display-Standards, für große Flexibilität und zukünftige Upgrade-Pfade.

Bildbearbeitung und Sensor Fusion

Bei der Implementierung der Bildbearbeitungs-Pipeline und der Algorithmen zur Sensor-Fusion kann man die High-Level Synthese-Tools Vivado HLS und SDSoC einsetzen. Sie bieten einen breiten Bereich von Spezialbibliotheken einschließlich OpenCV-Unterstützung. Um die Zeit zur Marktreife des geplanten AR-Systems zu verkürzen, sind außerdem IP-Produkte einer Reihe von Drittanbietern verfügbar, die für AR- und Embedded Vision Systeme entwickelt wurden – und zwar speziell für die Technologie von Xilinx.

Bildergalerie

Unter den Anbietern dieser IP-Blöcke ist auch Xylon mit den LogiBRICKS IP-Kernen, die sich schnell in die Vivado Design-Umgebung integrieren lassen und eine Drag-and-Drop Funktion zum schnellen Setup umfassen. Ein weiterer Anbieter ist Omnitek mit einer Reihe von IP-Blöcken, die auf die Schlüsselaspekte von AR zielen, wie Real-Time Warp und 3D-Verarbeitung. Die AR-Entwickler müssen auch die besonders anspruchsvollen Aspekte von AR-Systemen beachten. Das heißt, sie müssen die Schnittstellen für Kameras und Sensoren bereitstellen, die der Anwenderumgebung entsprechen, und die von der jeweiligen Applikation und dem Einsatzfall geforderten Algorithmen ausführen.

Die AR-Systeme müssen aber auch in der Lage sein, die Augenbewegungen des Nutzers zu verfolgen, um dessen Blickrichtung zu erkennen. Dies wird im Allgemeinen von zusätzlichen Kameras übernommen, die auf das Gesicht des Nutzers gerichtet sind und einen Eye-Tracking Algorithmus ausführen. Wenn man diesen Algorithmus implementiert, kann das AR-System die Blickrichtung des Nutzers erfassen und an das AR-Display liefern. Auf diese Weise werden die Anforderungen an die Bandbreite und Verarbeitung effizient umgesetzt.

Allerdings können die Detektion und das Tracking selbst sehr rechenintensiv sein. Die meisten AR-Systeme sind portabel ausgelegt und nicht durch Kabel behindert, in vielen Fällen bereits als Wearables, etwa im Fall der Datenbrillen. Das bringt jedoch eine spezielle Herausforderung, nämlich die Implementierung der Bildverarbeitung in einem möglichst sparsamen System. Beide der genannten Xilinx-Bausteinfamilien, Zynq SoC und Zynq UltraScale+ MPSoC, bieten dazu die beste Performance pro Watt, und sie reduzieren die Leistungsaufnahme im Betrieb weiter durch die Implementierung in mehreren skalierbaren Optionen.

So können die Prozessoren in den sparsamen Standby-Modus versetzt werden und von einer oder mehreren Signalquellen aufgeweckt werden. Oder die programmierbare Logik des Bausteins wird abgeschaltet. Beide Optionen sind möglich, wenn das AR-System detektiert, dass es im Moment nicht gebraucht wird. Das verlängert die Laufzeit der Batterie. Im Betrieb des AR-Systems können auch die Teile des Prozessors, die momentan nicht gebraucht werden, vom Takt getrennt werden, um die Leistungsaufnahme zu reduzieren.

In der programmierbaren Logik kann man mit einfachen Designregeln, etwa durch effizienten Einsatz von Hard-Macros, sorgfältiger Auslegung der Steuersignale und der Möglichkeit des intelligenten Clock Gating für Bausteinbereiche, die momentan nicht gebraucht werden, eine äußerst effiziente Power-Lösung erzielen. Manche AR-Applikationen, etwa die Erfassung und Übermittlung von vertraulichen Patienten-Informationen, oder die Verteilung von industriellen Fertigungsdaten, verlangen eine hohe Sicherheitsstufe, sowohl im Hinblick auf die Bereiche Information Assurance (IA) und Threat Protection (TP). Dies ist besonders wichtig, weil die AR-Systeme sehr mobile Geräte sind, und leicht verloren gehen oder verlegt werden können.

Die Informationssicherheit (IA) erfordert, dass die im System gespeicherte Information vertrauenswürdig ist. Entsprechendes gilt für die vom System empfangene und weitergeleitete Information. Für den umfassenden Einsatz im Artificial Intelligence Bereich ist die Nutzung der sicheren Boot-Fähigkeiten des Zynq erforderlich, was die Verschlüsselung und Verifizierung per AES Decryption, sowie die HMAC- und RSA-Verifizierung ermöglicht. Sobald der eingesetzte Baustein korrekt konfiguriert ist und läuft, kann der Entwickler die ARM Trust Zone und Hypervisoren einsetzen, um das Prinzip der Orthogonal World mit gegenseitigem Ausschluss des Zugriffs zu implementieren.

Bei der Abwehr von Bedrohungen kann man den in das System eingebauten XADC nutzen, und die Versorgungsspannungen und -ströme, sowie die Temperaturen überwachen, um alle Versuche einer Manipulation des AR-Systems zu detektieren. Sollten derartige Ereignisse eintreten, hat der Zynq-Baustein mehrere Optionen zur Abwehr, vom Loggen des Versuchs bis zum Löschen von sicheren Daten und der Unterbrechung der Konnektivität zur Support-Infratruktur.

AR-Systeme werden in vielen Bereichen immer häufiger eingesetzt, vom kommerziellen bis zum industriellen und militärischen Sektor. Sie stellen entsprechende Herausforderungen im Hinblick auf High Performance, Systemsicherheit und Effizienz im Leistungsverbrauch – die sich oft gegenseitig ausschließen. Diese Herausforderungen lassen sich aber durch den Einsatz eines Zynq SoC oder Zynq UltraScale+ MPSoC als zentrales Element des Prozessorsystems optimal lösen.

* Adam Taylor ist selbständiger Embedded Systems Consultant und Autor der MicroZed Chronicles zur Benutzung der Zynq-Reihe von Xilinx.

(ID:44709424)