Vai al contenuto

App Android Ultralytics: Rilevamento di oggetti in tempo reale con modelli YOLO

Immagine di anteprima di Ultralytics HUB

Ultralytics GitHub spazio Ultralytics LinkedIn spazio Ultralytics Twitter spazio Ultralytics YouTube spazio Ultralytics TikTok spazio Ultralytics BiliBili spazio Ultralytics Discord

Google Play Store 

L'app Android Ultralytics è un potente strumento che consente di eseguire modelli YOLO direttamente sul tuo dispositivo Android per il rilevamento di oggetti in tempo reale. Questa app utilizza TensorFlow Lite per l'ottimizzazione del modello e vari delegati hardware per l'accelerazione, consentendo un rilevamento di oggetti rapido ed efficiente.



Guarda: Guida introduttiva all'app Ultralytics HUB (IOS e Android)

Quantizzazione e accelerazione

Per ottenere prestazioni in tempo reale sul tuo dispositivo Android, i modelli YOLO vengono quantizzati in precisione FP16 o INT8 precisione. La quantizzazione è un processo che riduce la precisione numerica dei pesi e dei bias del modello, riducendo così le dimensioni del modello e la quantità di calcoli necessari. Ciò si traduce in tempi di inferenza più rapidi senza influire in modo significativo sulla precisione del modello.

Quantizzazione FP16

La quantizzazione FP16 (o a mezza precisione) converte i numeri in virgola mobile a 32 bit del modello in numeri in virgola mobile a 16 bit. Ciò riduce le dimensioni del modello della metà e accelera il processo di inferenza, mantenendo un buon equilibrio tra accuratezza e prestazioni.

Quantizzazione INT8

La quantizzazione INT8 (o intera a 8 bit) riduce ulteriormente le dimensioni del modello e i requisiti di calcolo convertendo i suoi numeri in virgola mobile a 32 bit in interi a 8 bit. Questo metodo di quantizzazione può comportare un significativo aumento della velocità, ma può portare a una leggera riduzione della precisione media media (mAP) a causa della minore precisione numerica.

Riduzione mAP nei modelli INT8

La precisione numerica ridotta nei modelli INT8 può portare a una certa perdita di informazioni durante il processo di quantizzazione, il che può comportare una leggera diminuzione del mAP. Tuttavia, questo compromesso è spesso accettabile considerando i sostanziali guadagni di performance offerti dalla quantizzazione INT8.

Delegati e variabilità delle prestazioni

Sono disponibili diversi delegate sui dispositivi Android per accelerare l'inferenza del modello. Questi delegate includono CPU, GPU, Hexagon e NNAPI. Le prestazioni di questi delegate variano a seconda del fornitore hardware del dispositivo, della linea di prodotti e dei chipset specifici utilizzati nel dispositivo.

  1. CPU: L'opzione predefinita, con prestazioni ragionevoli sulla maggior parte dei dispositivi.
  2. GPU: Utilizza la GPU del dispositivo per un'inferenza più rapida. Può fornire un significativo aumento delle prestazioni su dispositivi con GPU potenti.
  3. Hexagon: Sfrutta l'Hexagon DSP di Qualcomm per un'elaborazione più rapida ed efficiente. Questa opzione è disponibile sui dispositivi con processori Qualcomm Snapdragon.
  4. NNAPI: L'API Neural Networks di Android (NNAPI) funge da livello di astrazione per l'esecuzione di modelli ML su dispositivi Android. NNAPI può utilizzare vari acceleratori hardware, come CPU, GPU e chip AI dedicati (ad esempio, Edge TPU di Google o Pixel Neural Core).

Ecco una tabella che mostra i principali fornitori, le loro linee di prodotti, i dispositivi più diffusi e i delegati supportati:

Fornitore Linee di prodotti Dispositivi popolari Delegati supportati
Qualcomm Snapdragon (ad esempio, serie 800) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Hexagon, NNAPI
Samsung Exynos (ad esempio, Exynos 2100) Samsung Galaxy S21 (versione globale) CPU, GPU, NNAPI
MediaTek Dimensity (ad esempio, Dimensity 1200) Realme GT, Xiaomi Redmi Note CPU, GPU, NNAPI
HiSilicon Kirin (ad esempio, Kirin 990) Huawei P40 Pro, Huawei Mate 30 Pro CPU, GPU, NNAPI
NVIDIA Tegra (ad esempio, Tegra X1) NVIDIA Shield TV, Nintendo Switch CPU, GPU, NNAPI

Si prega di notare che l'elenco dei dispositivi menzionati non è esaustivo e può variare a seconda dei chipset specifici e dei modelli di dispositivo. Testare sempre i propri modelli sui dispositivi di destinazione per garantire la compatibilità e le prestazioni ottimali.

Tieni presente che la scelta del delegato può influire sulle prestazioni e sulla compatibilità del modello. Ad esempio, alcuni modelli potrebbero non funzionare con determinati delegati, oppure un delegato potrebbe non essere disponibile su un dispositivo specifico. Pertanto, è essenziale testare il modello e il delegato scelto sui dispositivi di destinazione per ottenere i risultati migliori.

Guida introduttiva all'app Android Ultralytics

Per iniziare con l'app Ultralytics Android, segui questi passaggi:

  1. Scarica l'app Ultralytics dal Google Play Store.

  2. Avvia l'app sul tuo dispositivo Android e accedi con il tuo account Ultralytics. Se non hai ancora un account, creane uno su https://hub.ultralytics.com/.

  3. Una volta effettuato l'accesso, vedrai un elenco dei tuoi modelli YOLO addestrati. Seleziona un modello da utilizzare per il rilevamento degli oggetti.

  4. Concedi all'app l'autorizzazione per accedere alla fotocamera del tuo dispositivo.

  5. Punta la fotocamera del tuo dispositivo verso gli oggetti che vuoi rilevare. L'app visualizzerà i riquadri di delimitazione e le etichette di classe in tempo reale mentre rileva gli oggetti.

  6. Esplora le impostazioni dell'app per regolare la soglia di rilevamento, abilitare o disabilitare classi di oggetti specifiche e altro ancora.

Con l'app Ultralytics Android, ora hai la potenza del rilevamento di oggetti in tempo reale utilizzando i modelli YOLO a portata di mano. Divertiti a esplorare le funzionalità dell'app e a ottimizzarne le impostazioni per adattarle ai tuoi casi d'uso specifici.



📅 Creato 1 anno fa ✏️ Aggiornato 4 mesi fa

Commenti