Google setzt sich für die Förderung der Rassengerechtigkeit für schwarze Gemeinschaften ein. Siehe wie.

Erweiterte Bilder für die Unreal Engine

Mit den Augmented Images APIs in ARCore können Sie AR-Apps erstellen, die 2D-Bilder in der Umgebung des Benutzers erkennen und erweitern können, z. B. Poster oder Produktverpackungen.

Sie stellen eine Reihe von Referenzbildern bereit. ARCore verwendet einen Computer-Vision-Algorithmus, um Merkmale aus den Graustufeninformationen in jedem Bild zu extrahieren, und speichert eine Darstellung dieser Merkmale in einer oder mehreren Augmented Image-Datenbanken.

Zur Laufzeit sucht ARCore auf ebenen Oberflächen in der Umgebung des Benutzers nach diesen Features. Auf diese Weise kann ARCore diese Bilder in der Welt erkennen und ihre Position, Ausrichtung und Größe schätzen, wenn keine bereitgestellt wird.

Fähigkeiten

ARCore kann bis zu 20 Bilder gleichzeitig verfolgen. ARCore erkennt oder verfolgt nicht gleichzeitig mehrere Instanzen desselben Bildes.

Jede Augmented Image-Datenbank kann Informationen von bis zu 1.000 Referenzbildern speichern. Die Anzahl der Datenbanken ist nicht begrenzt, aber es kann immer nur eine Datenbank aktiv sein.

Bilder können zur Laufzeit bis zur Grenze von 1.000 Bildern pro Datenbank zu einer erweiterten Bilddatenbank hinzugefügt werden. Es ist möglich, zuvor erstellte Datenbanken über eine Netzwerkverbindung herunterzuladen. Finden Sie in das Entwicklerhandbuch für weitere Einzelheiten.

Beim Hinzufügen eines Bildes ist es möglich, die physische Größe des zu erkennenden Bildes anzugeben. Dadurch wird die Leistung der Bilderkennung verbessert.

  • Wenn keine physische Größe angegeben wird, schätzt ARCore die Größe und verfeinert diese Schätzung im Laufe der Zeit.

  • Wenn eine physische Größe bereitgestellt wird, verwendet ARCore die bereitgestellte Größe und schätzt die Position und Ausrichtung des Bildes, wobei jede Diskrepanz zwischen der scheinbaren oder tatsächlichen Größe und der bereitgestellten physischen Größe ignoriert wird.

ARCore kann auf Bilder reagieren und diese verfolgen, die:

  • Bilder, die fixiert sind, z. B. ein an der Wand hängender Druck oder eine Zeitschrift auf einem Tisch

  • Bewegte Bilder, wie beispielsweise eine Werbung in einem vorbeifahrenden Bus oder ein Bild auf einem flachen Gegenstand, den der Benutzer hält, während er seine Hände bewegt.

Sobald ARCore mit der Verfolgung eines Bildes beginnt, liefert es Schätzungen für die Bildposition und -ausrichtung jedes Frames. ARCore verfeinert diese Schätzungen kontinuierlich, während es mehr Daten sammelt.

Sobald ein Bild erkannt wurde, "verfolgt" ARCore weiterhin die Position und Ausrichtung des Bildes, auch wenn das Bild vorübergehend aus der Kameraansicht bewegt wird, weil der Benutzer sein Gerät bewegt hat. Dabei geht ARCore davon aus, dass die Position und Ausrichtung des Bildes statisch ist und sich das Bild selbst nicht durch die Umgebung bewegt.

Verwenden Sie tracking method - "full tracking" "last known pose" tracking method , um festzustellen , ob Arcore derzeit ein Bild verfolgt , basierend auf dem das Bild zur Zeit in der Kameraansicht (erkannt wird "full tracking" - "full tracking" ) oder auf der Grundlage seiner zuletzt erfassten Position in der Welt ( "last known pose" ).

Die gesamte Verfolgung erfolgt auf dem Gerät. Es ist keine Internetverbindung erforderlich, um Bilder zu erkennen und zu verfolgen.

Anforderungen

Die Bilder müssen:

  • Füllen Sie mindestens 25 % des zu erkennenden Kamerarahmens aus.

  • Seien Sie flach (z. B. nicht zerknittert oder um eine Flasche gewickelt).

  • Seien Sie im Blickfeld der Kamera. Sie sollten nicht teilweise verdeckt, in einem stark schiefen Winkel betrachtet oder aufgrund von Bewegungsunschärfe betrachtet werden, wenn sich die Kamera zu schnell bewegt.

Überlegungen zur CPU-Auslastung und Leistung

Je nachdem, welche ARCore-Funktionen bereits aktiviert sind, kann die Aktivierung von Augmented Images die CPU-Auslastung von ARCore erhöhen. Ziehen Sie in Erwägung, ungenutzte Funktionen in Zeiten zu deaktivieren, in denen sie für Ihre AR-Erfahrung nicht erforderlich sind. Dadurch stehen Ihrer App zusätzliche CPU-Zyklen zur Verfügung und die thermische Leistung sowie die Akkulaufzeit werden verbessert.

Weitere Informationen finden Sie Leistungsinformationen .

Empfohlene Vorgehensweise

Tipps zur Auswahl von Referenzbildern

  • Die Auflösung sollte das Bild von mindestens 300 x 300 Pixel betragen. Mit Hilfe von Bildern mit hohen Auflösung Leistung nicht verbessert.
  • Referenzbilder können in PNG oder JPEG - Dateiformat zur Verfügung gestellt werden.
  • Farbinformationen werden nicht verwendet. Sowohl Farb- als auch äquivalente Graustufenbilder können als Referenzbilder oder von Benutzern zur Laufzeit verwendet werden.
  • Vermeiden Sie Bilder mit starken Kompression als diesen interferiert mit Merkmalsextraktion.
  • Vermeiden Sie Bilder mit , dass enthalten eine große Anzahl von geometrischen Merkmalen, oder nur sehr wenige Funktionen (zB Barcodes, QR - Codes, Logos und andere Strichzeichnungen) , da dies zu einer schlechten Erkennung und Tracking - Performance führen.
  • Vermeiden Sie Bilder mit Mustern wie diese auch Ursachen Probleme mit Erkennung und Verfolgung kann wiederholt werden .
  • Verwenden Sie das arcoreimg Werkzeug im Arcore SDK enthielt einen Qualitätsfaktor zwischen bekommen 0 und 100 für jedes Bild. Wir empfehlen einen Qualitätsfaktor von mindestens 75. Hier zwei Beispiele:

    Beispielbild 1 Beispielbild 2
    Score: 0 Ergebnis: 100
    enthält sich wiederholende geometrische Merkmale ausreichende Auflösung; enthält viele einzigartige Funktionen

Tipps zum Erstellen der Bilddatenbank

  • Die Datenbank speichert eine komprimierte Darstellung der Merkmale, die aus den Graustufendaten in den Referenzbildern extrahiert wurden. Jeder Bildeintrag belegt etwa 6 KB.
  • Es dauert etwa 30 ms, um zur Laufzeit ein Bild zur Datenbank hinzuzufügen.
    • Fügen Sie einem Worker-Thread Bilder hinzu, um das Blockieren des UI-Threads zu vermeiden.
    • Oder, wenn möglich, fügen Sie Bilder bei der Kompilierung mit dem arcoreimg Werkzeug im Arcore SDK enthalten.
  • Wenn Sie die erwartete physische Größe eines Bildes kennen, geben Sie sie an. Diese Informationen verbessern die Erkennungs- und Verfolgungsleistung, insbesondere bei großen physischen Bildern (über 75 cm).
  • Vermeiden Sie es, viele ungenutzte Bilder in der Datenbank zu speichern, da die Systemleistung aufgrund der erhöhten CPU-Auslastung geringfügig beeinträchtigt wird.

Tipps zur Optimierung des Trackings

  • Wenn sich Ihr Bild nie aus seiner ursprünglichen Position bewegt (z. B. ein an einer Wand befestigtes Poster), können Sie dem Bild einen globalen Anker hinzufügen, um die Tracking-Stabilität zu erhöhen.
  • Das physische Bild muss für die Ersterkennung mindestens 25 % des Kamerabildes einnehmen. Sie können Benutzer auffordern , die physische Bild in ihre Kamerarahmen mit dem passen FitToScan.png Asset. Sehen Sie sich die Entwicklerleitfaden für ein Beispiel für diese Aufforderung.
  • Sie wird die Lage und Größe des nicht - Schätzungen verwendet Bildes , bis das Tracking - Zustand des Bildes ist "full tracking" - "full tracking" . Wenn ein Bild zunächst von Arcore, und nicht erwarteter physikalischen Größe angegeben wurde, sein Tracking - Zustand wird erkannt wird "paused" . Dies bedeutet, dass ARCore das Bild erkannt hat, aber nicht genügend Daten gesammelt hat, um seine Position im 3D-Raum abzuschätzen.