Google jest zaangażowany w promowanie równości rasowej dla społeczności czarnych. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Rozszerzone obrazy dla jedności

Rozszerzone interfejsy API obrazów w ARCore umożliwiają tworzenie aplikacji AR, które mogą wykrywać i rozszerzać obrazy 2D w środowisku użytkownika, takie jak plakaty lub opakowania produktów.

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

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 podany.

Możliwości

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

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

Obrazy można dodawać do bazy danych obrazów rozszerzonych 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. Więcej informacji znajdziesz w podręczniku programisty .

Podczas dodawania obrazu można podać fizyczny rozmiar obrazu do wykrycia. Takie postępowanie poprawi wydajność wykrywania obrazu.

  • Jeśli rozmiar fizyczny nie zostanie podany, 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 rozmiarem pozornym lub rzeczywistym a podanym rozmiarem fizycznym.

ARCore może reagować na obrazy, które są:

  • Obrazy, które są utrwalone, na przykład wydruk zawieszony 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 oszacowania pozycji obrazu i orientacji każdej klatki. ARCore stale udoskonala te szacunki w miarę gromadzenia większej ilości danych.

Po wykryciu obrazu ARCore kontynuuje „śledzenie” pozycji i orientacji obrazu, nawet jeśli obraz tymczasowo wychodzi poza pole widzenia kamery, ponieważ użytkownik przeniósł swoje urządzenie. Robiąc to, ARCore zakłada, że ​​pozycja i orientacja obrazu jest statyczna i że sam obraz nie porusza się w środowisku.

Użyj AugmentedImageTrackingMethod aby określić, czy ARCore aktualnie śledzi obraz na podstawie tego, gdzie obraz jest obecnie wykrywany w widoku kamery ( InstantPlacementPointTrackingMethod.FullTracking ), czy na podstawie jego ostatnio wykrytej pozycji na świecie ( InstantPlacementPointTrackingMethod.LastKnownPose ).

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% ramki kamery, która ma być początkowo wykryta.

  • Być płaska (na przykład nie pomarszczona ani owinięta wokół butelki).

  • Dobrze widzieć kamerę. Nie powinny być częściowo zasłonięte, oglądane pod bardzo ukośnym kątem lub oglądane, gdy aparat 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 wszelkich nieużywanych funkcji w okresach, w których nie potrzebujesz ich do korzystania z rzeczywistości rozszerzonej. Dzięki temu aplikacja będzie miała dostęp do dodatkowych cykli procesora, poprawi to wydajność termiczną i żywotność baterii.

Aby uzyskać dodatkowe informacje, zobacz zagadnienia dotyczące wydajności .

Najlepsze praktyki

Wskazówki dotyczące wyboru obrazów referencyjnych

  • Rozdzielczość obrazu powinna wynosić co najmniej 300 x 300 pikseli . Używanie obrazów o wysokiej rozdzielczości nie poprawia wydajności.
  • Obrazy referencyjne mogą być dostarczane w formacie PNG lub JPEG .
  • Informacje o kolorze nie są używane . Zarówno kolorowe, jak i odpowiadające im obrazy w skali szarości mogą być używane jako obrazy referencyjne lub przez użytkowników w czasie wykonywania.
  • Unikaj obrazów z dużą kompresją, ponieważ zakłóca to wyodrębnianie cech.
  • Unikaj obrazów zawierających dużą liczbę cech geometrycznych lub bardzo niewiele funkcji (np. Kody kreskowe, kody QR, logo i inne grafiki liniowe), ponieważ spowoduje to słabą wydajność wykrywania i śledzenia.
  • Unikaj obrazów z powtarzającymi się wzorami, ponieważ może to również powodować problemy z wykrywaniem i śledzeniem.
  • Użyj narzędzia arcoreimg dołączonego do ARCore SDK, aby uzyskać wynik jakości od 0 do 100 dla każdego obrazu. Zalecamy wynik jakości co najmniej 75 . Oto dwa przykłady:

    Przykładowe zdjęcie 1 Przykładowe zdjęcie 2
    Wynik: 0 Wynik: 100
    zawiera powtarzalne cechy geometryczne wystarczająca rozdzielczość; zawiera wiele unikalnych funkcji

Wskazówki dotyczące tworzenia bazy danych obrazów

  • Baza danych przechowuje skompresowaną reprezentację funkcji 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, dodaj obrazy w czasie kompilacji, używając narzędzia arcoreimg zawartego w zestawie ARCore SDK.
  • Jeśli znasz oczekiwany fizyczny rozmiar obrazu, określ go. Informacje te poprawiają wydajność wykrywania i śledzenia, szczególnie w przypadku dużych obrazów fizycznych (powyżej 75 cm).
  • Unikaj przechowywania wielu nieużywanych obrazów w bazie danych, ponieważ ma to niewielki wpływ na wydajność systemu z powodu zwiększonego wykorzystania procesora.

Wskazówki dotyczące optymalizacji śledzenia

  • Jeśli twój obraz nigdy nie ruszy się z pierwotnej pozycji (na przykład plakat przymocowany do ściany), możesz dołączyć globalną kotwicę do obrazu, aby zwiększyć stabilność śledzenia.
  • Fizyczny obraz musi zajmować co najmniej 25% obrazu z kamery w celu wstępnego wykrycia. Możesz monitować użytkowników o dopasowanie fizycznego obrazu w ramce aparatu do zasobu FitToScan.png . Zobacz podręcznik programisty, aby zapoznać się z przykładem tego monitu.
  • Nie używaj szacunków ułożenia i rozmiaru obrazu, dopóki stan śledzenia obrazu nie InstantPlacementPointTrackingMethod.FullTracking . Gdy obraz jest początkowo wykrywany przez ARCore i nie określono oczekiwanego rozmiaru fizycznego, jego stan śledzenia będzie miał InstantPlacementPointTrackingMethod.Paused . Oznacza to, że ARCore rozpoznał obraz, ale nie zebrał wystarczającej ilości danych, aby oszacować jego położenie w przestrzeni 3D.