Aggiungi una dimensione alle immagini

Guide specifiche per la piattaforma

Le API Augmented Images in ARCore ti consentono di creare app AR in grado di rilevare e Ingrandisci le immagini 2D nell'ambiente dell'utente, ad esempio poster o prodotti pacchettizzazione.

Fornisci una serie di immagini di riferimento. ARCore utilizza un algoritmo di visione artificiale per estrarre caratteristiche dalle informazioni in scala di grigi in ogni immagine e archivia una rappresentazione di queste caratteristiche in uno o più database di immagini aumentate.

In fase di runtime, ARCore cerca queste funzionalità sulle superfici piatte del completamente gestito di Google Cloud. In questo modo ARCore può rilevare queste immagini nel mondo e stimare la posizione, l'orientamento e le dimensioni, se non vengono specificati.

Funzionalità

ARCore può monitorare fino a 20 immagini contemporaneamente. ARCore non esegue contemporaneamente rilevare o monitorare più istanze della stessa immagine.

Ogni database di immagini aumentate può archiviare informazioni fino a 1000 riferimenti in formato Docker. Non c'è limite al numero di database, ma solo uno possono essere attivi in qualsiasi momento.

Le immagini possono essere aggiunte a un database di immagini aumentate in fase di runtime, fino alla Limite di 1000 immagini per database. È possibile scaricare file creati in precedenza utilizzando una connessione di rete.

Quando aggiungi un'immagine, è possibile specificare le dimensioni fisiche dell'immagine da rilevare. Ciò migliorerà le prestazioni di rilevamento delle immagini.

  • Se non vengono fornite dimensioni fisiche, ARCore ne stima le dimensioni e le perfeziona stimata nel tempo.

  • Se viene fornita una dimensione fisica, ARCore utilizza le dimensioni e le stime fornite la posizione e l'orientamento dell'immagine, ignorando eventuali discrepanze dimensioni apparenti o effettive e le dimensioni fisiche fornite.

ARCore può rispondere a immagini e monitorarle che sono:

  • Immagini fisse in posizione, come una stampa appesa al muro o un rivista su un tavolo

  • Immagini in movimento, ad esempio un annuncio su un autobus di passaggio o un'immagine su un piano tenuto dall'utente mentre muove le mani.

Quando ARCore inizia a monitorare un'immagine, fornisce stime sulla posizione dell'immagine e l'orientamento di ogni fotogramma. ARCore perfeziona continuamente queste stime mentre raccoglie più dati.

Una volta rilevata un'immagine, ARCore continua il "monitoraggio" la posizione dell'immagine anche quando l'immagine si sposta temporaneamente fuori dall'inquadratura della fotocamera perché l'utente ha spostato il proprio dispositivo. In questo caso, ARCore presuppone che la posizione e l'orientamento dell'immagine sono statici e non muoversi nell'ambiente.

Il monitoraggio avviene sul dispositivo. Non è necessaria una connessione a internet per il rilevamento e monitorare le immagini.

Requisiti

Le immagini devono:

  • Riempi almeno il 25% dell'inquadratura della fotocamera per il rilevamento iniziale.

  • Essere piatto (ad esempio, senza pieghe o avvolti intorno a una bottiglia).

  • Assicurarsi che la videocamera sia ben visibile. Non devono essere parzialmente oscurati, visualizzati da un angolo molto obliquo o quando la videocamera si muove troppo velocemente a causa di sfocatura movimento.

Considerazioni sull'utilizzo della CPU e sulle prestazioni

A seconda delle funzionalità ARCore già abilitate, l'abilitazione Le immagini potrebbero aumentare l'utilizzo della CPU di ARCore. Prova a disattivare le funzionalità inutilizzate funzionalità nei momenti in cui l'esperienza AR non le richiede. In questo modo rendere disponibili cicli della CPU aggiuntivi per la tua app e migliorare la temperatura per migliorare le prestazioni e la durata della batteria.

Per ulteriori informazioni, vedi Considerazioni sulle prestazioni.

Best practice

Suggerimenti per la selezione delle immagini di riferimento

  • La risoluzione dell'immagine deve essere almeno 300 x 300 pixel. Utilizzo delle immagini ad alta risoluzione non migliora le prestazioni.
  • Le immagini di riferimento possono essere fornite nel formato file PNG o JPEG.
  • Le informazioni sui colori non vengono utilizzate. Immagini a colori e equivalenti in scala di grigi possono essere utilizzate come immagini di riferimento o dagli utenti in fase di runtime.
  • Evita immagini con una compressione elevata, in quanto ciò interferisce con la funzionalità l'estrazione dei contenuti.
  • Evita immagini che contengono un elevato numero di caratteristiche geometriche o molto poche caratteristiche (ad es. codici a barre, codici QR, loghi e altri disegni) come si traducono in prestazioni scadenti di rilevamento e monitoraggio.
  • Evita immagini con pattern ricorrenti, in quanto ciò può causare problemi con il rilevamento e il tracciamento.
  • Utilizza lo strumento arcoreimg incluso nell'SDK ARCore per ottenere un punteggio di qualità tra 0 e 100 per ogni immagine. Ti consigliamo un punteggio di qualità pari a almeno 75. Di seguito sono riportati due esempi:

    Immagine di esempio 1 Immagine di esempio 2
    Punteggio: 0 Punteggio: 100
    contiene caratteristiche geometriche ripetitive una risoluzione sufficiente; contiene molte caratteristiche uniche

Suggerimenti per la creazione del database di immagini

  • Utilizza lo strumento arcoreimg per Android per generare un file di database di immagini. Questo strumento è disponibile solo per Android e Android NDK. È integrato nell'SDK Unity e in ARCore Plug-in irreale.
  • Il database archivia una rappresentazione compressa delle caratteristiche estratte dai dati in scala di grigi nelle immagini di riferimento. Ogni voce di immagine occupa circa 6 kB.
  • Per aggiungere un'immagine al database in fase di runtime, sono necessari circa 30 ms.
    • Aggiungi immagini a un thread di lavoro per evitare di bloccare il thread dell'interfaccia utente.
    • In alternativa, se possibile, aggiungi immagini al momento della compilazione utilizzando lo strumento arcoreimg incluso nell'SDK ARCore.
  • Se conosci le dimensioni fisiche previste di un'immagine, specificala. Questo migliora le prestazioni di rilevamento e tracciamento, in particolare per immagini fisiche di grandi dimensioni (più di 75 cm).
  • Evita di conservare nel database molte immagini non utilizzate, perché c'è una leggera un impatto sulle prestazioni del sistema dovuto all'aumento dell'utilizzo della CPU.

Suggerimenti per ottimizzare il monitoraggio

  • Se l'immagine non si sposterà mai dalla posizione iniziale (ad esempio, una poster fissato al muro), puoi attaccare un ancoraggio all'immagine per aumentare la stabilità del monitoraggio.
  • L'immagine fisica deve occupare almeno il 25% dell'immagine della videocamera per il rilevamento iniziale. Puoi chiedere agli utenti di inserire l'immagine fisica nel loro cornice della fotocamera.
  • Non utilizzare le stime di posa e dimensioni dell'immagine fino al completamento del tracciamento è il monitoraggio completo. Quando un'immagine viene inizialmente rilevata ARCore e non è stata specificata alcuna dimensione fisica prevista, il suo stato di monitoraggio verrà in pausa. Ciò significa che ARCore ha riconosciuto l'immagine, ma ha non ha raccolto dati sufficienti per stimare la sua posizione nello spazio 3D.