Rozszerzone obrazy dla Unreal Engine

Interfejsy API Augmented Images w ARCore umożliwiają tworzenie aplikacji AR, które mogą wykrywać i powiększać obrazy 2D w środowisku użytkownika, takim jak plakaty lub opakowania produktów.

Dostarczasz zestaw obrazów referencyjnych. ARCore wykorzystuje algorytm komputerowy do wyodrębniania cech z informacji w skali szarości w każdym obrazie i przechowuje reprezentację tych cech w jednej lub kilku bazach danych Augmented Image.

W czasie wykonywania ARCore wyszukuje te funkcje na płaskich powierzchniach w środowisku użytkownika. Pozwala to ARCore wykryć te obrazy na świecie i oszacować ich położenie, orientację i rozmiar, jeśli nie jest dostępny.

Możliwości

ARCore może śledzić do 20 obrazów jednocześnie. ARCore nie będzie jednocześnie wykrywać ani śledzić wielu wystąpień tego samego obrazu.

Każda baza danych Augmented Image może przechowywać informacje do 1000 obrazów referencyjnych. Nie ma ograniczeń co do liczby baz danych, ale w danym momencie może być aktywna tylko jedna baza danych.

Obrazy można dodawać do bazy danych Augmented Image w czasie wykonywania, do limitu 1000 obrazów na bazę danych. Możliwe jest pobranie wcześniej utworzonych baz danych za pomocą połączenia sieciowego. Patrz podręcznik programisty szczegóły.

Podczas dodawania obrazu można podać fizyczny rozmiar obrazu do wykrycia. Poprawi to wydajność wykrywania obrazu.

  • Jeśli nie podano rozmiaru fizycznego, ARCore szacuje rozmiar i poprawia to oszacowanie w czasie.

  • Jeśli podano rozmiar fizyczny, ARCore używa podanego rozmiaru i szacuje położenie i orientację obrazu, ignorując wszelkie rozbieżności między pozornym lub rzeczywistym rozmiarem a dostarczonym rozmiarem fizycznym.

ARCore może odpowiadać i śledzić obrazy, które są:

  • Obrazy utrwalone w miejscu, takie jak odbitka wisząca na ścianie lub czasopismo na stole

  • Ruchome obrazy, takie jak reklama w przejeżdżającym autobusie lub obraz na płaskim przedmiocie trzymanym przez użytkownika podczas poruszania rękami.

Gdy ARCore rozpocznie śledzenie obrazu, dostarcza szacunkowe dane dotyczące położenia i orientacji obrazu w każdej klatce. ARCore stale poprawia te szacunki w miarę gromadzenia większej ilości danych.

Po wykryciu obrazu ARCore kontynuuje „śledzenie” pozycji i orientacji obrazu, nawet gdy obraz tymczasowo wyjdzie z widoku kamery, ponieważ użytkownik przeniósł swoje urządzenie. W ten sposób ARCore zakłada, że ​​pozycja i orientacja obrazu jest statyczna i że sam obraz nie porusza się w otoczeniu.

Użyj tracking method w celu określenia, czy ARCORE obecnie śledzenia obrazu opartego na którym obraz jest obecnie wykrywany w polu widzenia kamery ( "full tracking" ), albo na podstawie jego ostatnio wykrytej pozycji w świecie ( "last known pose" ).

Całe śledzenie odbywa się na urządzeniu. Do wykrywania i śledzenia obrazów nie jest wymagane połączenie internetowe.

Wymagania

Obrazy muszą:

  • Wypełnij co najmniej 25% kadru kamery, która ma być początkowo wykryta.

  • Być płaski (na przykład nie pomarszczony lub owinięty wokół butelki).

  • Bądź w zasięgu wzroku kamery. Nie powinny być częściowo zasłonięte, oglądane pod bardzo ukośnym kątem lub oglądane, gdy kamera porusza się zbyt szybko z powodu rozmycia ruchu.

Zagadnienia dotyczące wykorzystania procesora i wydajności

W zależności od tego, które funkcje ARCore są już włączone, włączenie rozszerzonych obrazów może zwiększyć wykorzystanie procesora ARCore. Rozważ wyłączenie wszystkich nieużywanych funkcji, gdy nie są one potrzebne do korzystania z AR. Spowoduje to udostępnienie aplikacji dodatkowych cykli procesora oraz poprawi wydajność cieplną i żywotność baterii.

Aby uzyskać dodatkowe informacje, patrz Uwagi dotyczące wydajności .

Najlepsze praktyki

Wskazówki dotyczące wyboru obrazów referencyjnych

  • Rozdzielczość obrazem powinna wynosić co najmniej 300 x 300 pikseli. Korzystanie z obrazów o wysokiej rozdzielczości nie poprawia wydajność.
  • Obrazy odniesienia mogą być dostarczane w formacie JPEG lub PNG plików.
  • Informacje kolor nie jest używany. Zarówno obrazy kolorowe, jak i równoważne obrazy w skali szarości mogą być używane jako obrazy referencyjne lub przez użytkowników w czasie wykonywania.
  • Unikać kompresji obrazów z ciężkim jak Zakłóca to ekstrakcji cech.
  • Unikać obrazów, które zawierają dużą liczbę cech geometrycznych lub bardzo niewielu cech (np kody kreskowe, kody QR, logo i innych artystycznych linia), ponieważ spowoduje słabej skuteczności wykrywania i śledzenia.
  • Unikaj zdjęć z powtarzających się wzorów, jak tego można również powoduje problemy z wykrywaniem i śledzenia.
  • Użyj arcoreimg narzędzia zawarte w ARCORE SDK, aby uzyskać wynik jakości pomiędzy 0 i 100 dla każdego obrazu. Zaleca się ocenę jakości co najmniej 75. Oto dwa przykłady:

    Przykładowy obraz 1 Przykładowy obraz 2
    Wynik: 0 Wynik: 100
    zawiera powtarzalne cechy geometryczne wystarczająca rozdzielczość; zawiera wiele unikalnych funkcji

Wskazówki dotyczące tworzenia bazy obrazów

  • Baza danych przechowuje skompresowaną reprezentację cech wyodrębnionych z danych w skali szarości w obrazach referencyjnych. Każdy wpis obrazu zajmuje około 6 KB.
  • Dodanie obrazu do bazy danych w czasie wykonywania zajmuje około 30 ms.
    • Dodaj obrazy w wątku roboczym, aby uniknąć blokowania wątku interfejsu użytkownika.
    • Lub, jeśli to możliwe, dodać obrazy w czasie kompilacji używając arcoreimg narzędzia zawarte w ARCORE SDK.
  • Jeśli znasz oczekiwany fizyczny rozmiar obrazu, określ go. Informacje te poprawiają wydajność wykrywania i śledzenia, zwłaszcza w przypadku dużych obrazów fizycznych (ponad 75 cm).
  • Unikaj przechowywania wielu nieużywanych obrazów w bazie danych, ponieważ zwiększone wykorzystanie procesora ma niewielki wpływ na wydajność systemu.

Wskazówki dotyczące optymalizacji śledzenia

  • Jeśli twój obraz nigdy nie przesunie się z jego początkowej pozycji (na przykład plakatu przymocowanego do ściany), możesz dołączyć globalną kotwicę do obrazu, aby zwiększyć stabilność śledzenia.
  • W celu wstępnego wykrycia obraz fizyczny musi zajmować co najmniej 25% obrazu z kamery. Można skłonić użytkowników do dopasowania obrazu fizycznego w ich klatce kamery z FitToScan.png aktywów. Patrz podręcznik programisty na przykład tego polecenia.
  • Nie używaj pozy i wielkości szacunkowe obrazka aż obraz w stanie śledzenia jest "full tracking" . Gdy obraz jest początkowo wykryta przez ARCORE, a nie oczekiwać, wielkość fizyczna została określona, jej stan będzie śledzenie "paused" . Oznacza to, że ARCore rozpoznał obraz, ale nie zgromadził wystarczającej ilości danych, aby oszacować jego lokalizację w przestrzeni 3D.