Vai al contenuto

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

Ultralytics Immagine di anteprima dell'HUB

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

Google Negozio di giochi 

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



Guarda: Come iniziare con l'applicazione HUB Ultralytics (IOS e Android)

Quantizzazione e accelerazione

Per ottenere prestazioni in tempo reale sul dispositivo Android , i modelli YOLO sono quantizzati con precisione FP16 o INT8. La quantizzazione è un processo che riduce la precisione numerica del modello weights and biases, riducendo così le dimensioni del modello e la quantità di calcolo richiesta. In questo modo si ottengono tempi di inferenza più rapidi senza influire in modo significativo sull'accuratezza del modello.

Quantizzazione FP16

La quantizzazione FP16 (o mezza precisione) converte i numeri in virgola mobile a 32 bit del modello in numeri in virgola mobile a 16 bit. In questo modo si dimezzano le dimensioni del modello e si accelera il processo di inferenza, mantenendo un buon equilibrio tra precisione e prestazioni.

INT8 Quantizzazione

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

Riduzione della mAP nei modelli INT8

La ridotta precisione numerica dei modelli INT8 può comportare una certa perdita di informazioni durante il processo di quantizzazione, che può comportare una leggera diminuzione di mAP. Tuttavia, questo compromesso è spesso accettabile se si considera il sostanziale guadagno di prestazioni offerto dalla quantizzazione INT8.

Delegati e variabilità delle prestazioni

Sui dispositivi Android sono disponibili diversi delegati per accelerare l'inferenza del modello. Questi delegati includono CPU, GPU, Hexagon e NNAPI. Le prestazioni di questi delegati variano a seconda del fornitore di 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 l'indirizzo GPU del dispositivo per velocizzare l'inferenza. Può fornire un significativo aumento delle prestazioni sui 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: La Android Neural Networks API (NNAPI) funge da livello di astrazione per l'esecuzione di modelli ML sui dispositivi Android . NNAPI può utilizzare diversi acceleratori hardware, come CPU, GPU, e chip AI dedicati (ad esempio, Google's Edge TPU, 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:

Venditore Linee di prodotto Dispositivi popolari Delegati supportati
Qualcomm Snapdragon (ad esempio, serie 800) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Esagono, NNAPI
Samsung Exynos (ad esempio, Exynos 2100) Samsung Galaxy S21 (versione globale) CPU, GPU, NNAPI
MediaTek Dimensità (ad esempio, Dimensità 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 noti che l'elenco dei dispositivi menzionati non è esaustivo e può variare a seconda dei chipset e dei modelli di dispositivi specifici. Testate sempre i vostri modelli sui dispositivi di destinazione per garantire la compatibilità e le prestazioni ottimali.

Tenete 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. Per questo motivo, è essenziale testare il modello e il delegato scelto sui dispositivi di destinazione per ottenere i migliori risultati.

Come iniziare con l'applicazione Ultralytics Android

Per iniziare a utilizzare l'app Ultralytics Android , procedere come segue:

  1. Scaricate l'App Ultralytics dal Play StoreGoogle .

  2. Lanciate l'applicazione sul vostro dispositivo Android e accedete con il vostro account Ultralytics . Se non avete ancora un account, createlo qui.

  3. Una volta effettuato l'accesso, verrà visualizzato un elenco dei modelli addestrati di YOLO . Selezionare un modello da utilizzare per il rilevamento degli oggetti.

  4. Concedere all'applicazione l'autorizzazione ad accedere alla fotocamera del dispositivo.

  5. Puntare la fotocamera del dispositivo sugli oggetti da rilevare. L'applicazione visualizzerà in tempo reale i riquadri di delimitazione e le etichette delle classi mentre rileva gli oggetti.

  6. Esplorate le impostazioni dell'applicazione per regolare la soglia di rilevamento, attivare o disattivare classi di oggetti specifiche e altro ancora.

Con l'app Ultralytics Android , ora avete a portata di mano la potenza del rilevamento di oggetti in tempo reale utilizzando i modelli YOLO . Esplorate le funzioni dell'applicazione e ottimizzate le impostazioni per adattarle ai vostri casi d'uso specifici.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti