Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

In che modo Ultralytics semplifica l'implementazione dei modelli di visione artificiale

Scopri come Ultralytics riunisce tutto ciò che serve per l'implementazione dei modelli di visione artificiale, dai test alle API pronte per la produzione.

Scala i tuoi progetti di visione artificiale con Ultralytics

Inizia

Da anni Ultralytics con la comunità della visione artificiale, creando modelli e strumenti che rendono l'intelligenza artificiale applicata alla visione più accessibile a tutti. Con Ultralytics , facciamo un ulteriore passo avanti riunendo l'intero flusso di lavoro di sviluppo della visione artificiale in un unico ambiente integrato, che copre ogni fase, dalla gestione e annotazione dei set di dati all'addestramento, alla validazione e alla distribuzione dei modelli.

In particolare, siamo entusiasti di semplificare l'implementazione dei modelli di visione artificiale. Sebbene la visione artificiale continui a trovare applicazione nel mondo reale, l'analisi di immagini e video al di fuori di ambienti controllati rimane ancora complessa. 

A differenza degli ambienti di test, in cui le condizioni sono prevedibili, gli scenari reali comportano condizioni di illuminazione variabili, input mutevoli e carichi di lavoro imprevedibili, rendendo l'implementazione una delle fasi più impegnative del flusso di lavoro di visione artificiale.

L'implementazione non si limita semplicemente a rendere un modello disponibile per l'uso. Richiede la definizione di processi in grado di gestire dati reali e la garanzia che tutto funzioni senza intoppi man mano che l'utilizzo cresce e i progetti si espandono. 

Inoltre, i team devono track e garantire l'affidabilità nel tempo. Ciò comporta spesso il passaggio da uno strumento di IA all'altro per le fasi di test, integrazione, implementazione e monitoraggio, il che può rallentare lo sviluppo dei modelli e aggiungere una complessità superflua.

I flussi di lavoro finiscono per frammentarsi. Ultralytics unifica e semplifica questo processo.

Offre supporto integrato per la distribuzione, il collaudo e il monitoraggio dei modelli all'interno di un unico ambiente. I team possono verificare i modelli tramite inferenza basata su browser, integrarli nelle applicazioni attraverso servizi di inferenza condivisi e distribuirli su endpoint dedicati con funzionalità di monitoraggio delle prestazioni.

Fig. 1. Uno sguardo alla pagina di distribuzione all'interno Ultralytics (Fonte)

In questo articolo vedremo come Ultralytics ridefinisce l'implementazione dei modelli di visione artificiale , dalla fase di test e integrazione fino all'implementazione in produzione e al monitoraggio. Cominciamo!

Panoramica sull'implementazione dei modelli di visione artificiale

Nel ciclo di vita dell'apprendimento automatico, la distribuzione del modello è la fase in cui un modello passa dalla fase sperimentale all'utilizzo pratico. Per i modelli di visione artificiale realizzati utilizzando il deep learning e le reti neurali convoluzionali, ciò significa generalmente renderli disponibili per l'elaborazione di immagini e video in tempo reale.

Una volta implementati, questi modelli acquisiscono nuovi dati, che solitamente vengono sottoposti a fasi di pre-elaborazione quali il ridimensionamento, la normalizzazione o la formattazione. I dati elaborati vengono quindi trasmessi al modello, il quale applica gli schemi appresi durante l'addestramento per generare previsioni di alta precisione.

A seconda del caso d'uso, ciò può comprendere diverse attività di visione artificiale. Ad esempio,YOLO Ultralytics , come Ultralytics , supportano un'ampia gamma di attività di visione, tra cui il rilevamento di oggetti, la classificazione delle immagini, la segmentazione delle istanze, la stima della posa e il rilevamento di bounding box orientati (OBB).

Per rendere tutto ciò praticabile nelle applicazioni reali, spesso è necessario integrare i modelli in sistemi in grado di gestire in modo efficiente sia la pre-elaborazione che l'inferenza. È qui che l'infrastruttura di implementazione diventa fondamentale.

Negli ambienti di produzione, l'accesso ai modelli avviene solitamente tramite API REST o sistemi di distribuzione dei modelli. Queste interfacce consentono alle applicazioni di inviare dati e ricevere previsioni a livello di programmazione, facilitando l'integrazione con applicazioni esterne, dispositivi IoT o sistemi robotici che si basano sulla comprensione visiva in tempo reale.

Limiti degli strumenti tradizionali per l'implementazione della visione artificiale

L'implementazione dei modelli di visione artificiale può sembrare semplice, ma finora, nella pratica, si è rivelata ben diversa. Prendiamo in esame una configurazione comune: i dati vengono prima acquisiti da telecamere o sensori, inviati a un modello per l'inferenza e poi restituiti a un'applicazione sotto forma di previsioni.

In realtà, ciascuna di queste fasi viene spesso gestita da strumenti e servizi distinti. Un sistema può occuparsi dell'acquisizione dei dati, un altro della distribuzione dei modelli, mentre altri strumenti vengono utilizzati per il ridimensionamento, il monitoraggio e la registrazione. Mantenere questi componenti interconnessi e garantire il loro funzionamento affidabile può diventare rapidamente complesso.

Con l'aumentare dell'utilizzo, questa complessità cresce. La gestione dell'infrastruttura, la gestione delle dipendenze e il mantenimento di prestazioni costanti lungo l'intera pipeline possono rallentare lo sviluppo e rendere più difficile l'implementazione dei modelli di visione artificiale nelle applicazioni reali.

Ultralytics riunisce questi componenti in un unico ambiente integrato. Ciò consente una gestione più coordinata dell'intero flusso di lavoro di implementazione, garantendo al contempo prestazioni e affidabilità su larga scala.

Opzioni di implementazione dei modelli rese disponibili dalla Ultralytics

Oltre a standardizzare il processo di implementazione dei modelli, Ultralytics offre anche una maggiore flessibilità nelle modalità di implementazione e utilizzo dei modelli.

Per supportare le diverse fasi dell'implementazione dei modelli di visione artificiale, la piattaforma offre quattro opzioni: test basati su browser con inferenza istantanea, inferenza condivisa tramite API per lo sviluppo, endpoint dedicati per implementazioni di produzione scalabili in tutte le regioni del mondo ed esportazione dei modelli per l'esecuzione su infrastrutture esterne o dispositivi edge.

Diamo quindi un'occhiata più da vicino a come funziona ciascuna di queste opzioni.

Convalida rapidamente i modelli utilizzando la scheda "Predict"

Prima di implementare un modello in produzione, è importante capire come si comporta su dati nuovi e non ancora analizzati. Ultralytics include una scheda "Predict" integrata che consente di eseguire l'inferenza direttamente nel browser senza alcuna configurazione, infrastruttura o dipendenza.

La scheda "Predict" rende la validazione del modello veloce e interattiva. È possibile caricare immagini, utilizzare esempi predefiniti o acquisire dati tramite webcam; l'inferenza viene eseguita automaticamente non appena vengono forniti i dati. 

I risultati vengono visualizzati immediatamente con sovrapposizioni grafiche, indici di affidabilità e output dettagliati, offrendo una visione chiara del comportamento del modello.

Fig. 2. Esempio di convalida di un modello utilizzando la scheda "Predict" (Fonte)

Ciò significa che, con pochi clic, è possibile provare diverse configurazioni, regolare i parametri e valutare le prestazioni all'interno di un'unica interfaccia prima di procedere alla distribuzione.

Esecuzione di inferenze condivise a scopo di test o per un utilizzo leggero

Supponiamo che tu abbia addestrato un modello e lo abbia verificato utilizzando la scheda "Predict". Il passo successivo consiste spesso nell'iniziare a integrare quel modello in un'applicazione o in un flusso di lavoro. 

Anziché occuparsi della configurazione dell'infrastruttura o della gestione dei server, Ultralytics offre servizi di inferenza condivisi che consentono di inviare dati al proprio modello e ricevere previsioni tramite semplici API REST.

Dietro le quinte, l'inferenza condivisa viene eseguita su un sistema multi-tenant distribuito su alcune regioni principali, dove le richieste vengono automaticamente indirizzate al servizio disponibile più vicino. Ciò contribuisce a garantire prestazioni reattive, consentendo al contempo agli utenti in diverse località di accedere ai modelli in modo coerente.

È possibile inviare dati in ingresso tramite richieste HTTP standard e ricevere in cambio risultati strutturati, semplificando così l'integrazione dei modelli in applicazioni, script o flussi di lavoro automatizzati. Questa configurazione rappresenta un'ottima soluzione per lo sviluppo, il collaudo, le integrazioni o un utilizzo meno intensivo, prima di passare a implementazioni di produzione più scalabili.

Distribuisci i modelli a livello globale tramite endpoint dedicati

Una volta che un modello è pronto per la produzione, deve essere in grado di gestire il traffico reale in modo affidabile e su larga scala. Ultralytics supporta questa esigenza grazie a endpoint dedicati, in cui i modelli vengono eseguiti come servizi a tenant singolo in 43 regioni globali. L'implementazione in prossimità degli utenti finali contribuisce a ridurre la latenza e a garantire prestazioni costanti in diverse località.

Ogni endpoint opera con risorse di calcolo assegnate in modo esclusivo e un URL univoco per le richieste di inferenza. Questo livello di controllo semplifica l'ottimizzazione delle implementazioni in base alle esigenze prestazionali, dai casi d'uso leggeri alle applicazioni più esigenti e ad alta produttività che richiedono maggiori risorse di calcolo.

Fig. 3. È possibile distribuire i modelli in 43 regioni in tutto il mondo utilizzando Ultralytics (Fonte)

Tuttavia, gli endpoint dedicati sono progettati per gestire autonomamente i carichi di lavoro variabili, grazie a un sistema di auto-scaling che regola le risorse in base al traffico in entrata. Essi aumentano la propria capacità nei periodi di forte domanda e la riducono quando l'utilizzo diminuisce. Con l'opzione "scale-to-zero" abilitata di default, gli endpoint inattivi si spengono automaticamente e si riavviano all'arrivo di nuove richieste, contribuendo a ottimizzare l'utilizzo delle risorse senza alcun intervento manuale.

Esporta facilmente il tuo modello con Ultralytics

Oggigiorno, l'intelligenza artificiale edge sta diventando sempre più indispensabile, poiché un numero crescente di applicazioni si basa sull'esecuzione dei modelli direttamente su dispositivi quali smartphone, fotocamere e sistemi integrati. L'esecuzione dei modelli a livello locale può inoltre contribuire a soddisfare i requisiti in materia di protezione dei dati, poiché i dati sensibili, come immagini o flussi video, possono essere elaborati direttamente sul dispositivo senza essere inviati a server esterni.

In questi casi, i modelli devono essere eseguiti al di fuori della Ultralytics , rendendo l'esportazione dei modelli una fase fondamentale del processo di implementazione.YOLO Ultralytics vengono spesso addestrati utilizzando Python PyTorch e possono poi essere esportati in oltre 17 formati diversi, tra cui ONNX, TensorRT, CoreML e OpenVINO. 

Questa ampia gamma di formati garantisce la compatibilità con diversi tipi di hardware, dalle unità di elaborazione grafica (GPU) ad alte prestazioni ai dispositivi mobili e integrati. Inoltre, l'esportazione consente di ottimizzare le prestazioni per ambienti specifici. 

A seconda del formato, i modelli possono raggiungere velocità di inferenza più elevate, come ad esempio GPU migliorate con TensorRT CPU ottimizzata con ONNX OpenVINO. Opzioni quali la quantizzazione FP16 e INT8 possono ridurre ulteriormente le dimensioni dei modelli e migliorare la produttività, il che risulta particolarmente utile per le implementazioni edge.

Sulla Ultralytics , l'esportazione è integrata direttamente nel flusso di lavoro, consentendo di generare modelli ottimizzati in pochi clic. I team possono passare dall'addestramento all'esecuzione dei modelli su sistemi esterni senza aggiungere ulteriori carichi di lavoro.

Fig. 4. Una selezione dei formati di esportazione disponibili sulla Ultralytics .

Scegliere l'opzione di implementazione del modello più adatta

Ogni opzione di implementazione della Ultralytics supporta una fase diversa del flusso di lavoro, dai primi test fino all'utilizzo in produzione. Ecco una panoramica dei casi in cui è possibile utilizzare ciascuna di esse:

  • Scheda "Predict": viene solitamente utilizzata subito dopo l'addestramento o la messa a punto, quando si desidera verificare le prestazioni di un modello su nuovi dati tramite l'inferenza basata su browser.
  • Inferenza condivisa: in questa fase, i modelli possono essere integrati nelle applicazioni tramite API, consentendo di testare le interazioni reali durante lo sviluppo.
  • Endpoint dedicati: vengono utilizzati per le implementazioni in produzione, dove i modelli richiedono prestazioni costanti, risorse dedicate e la possibilità di scalare a livello globale.
  • Esportazione dei modelli: quando i modelli devono essere eseguiti al di fuori della piattaforma, l'opzione di esportazione consente la distribuzione su dispositivi periferici, app mobili o infrastrutture personalizzate.

I team spesso seguono queste fasi una dopo l'altra, passando dalla convalida all'integrazione e infine alla distribuzione in produzione, il tutto all'interno della piattaforma.

Monitoraggio dei modelli implementati tramite Ultralytics

Per quanto l'implementazione sia fondamentale, il processo di sviluppo non si esaurisce qui. Una volta che un modello è in esecuzione in produzione, il monitoraggio continuo è essenziale per garantire che funzioni in modo affidabile nel tempo.

Ultralytics offre strumenti di monitoraggio integrati che garantiscono ai team una chiara visibilità sul comportamento dei loro modelli di IA visiva nel tempo, favorendo un flusso di lavoro più strutturato nell'ambito delle operazioni di machine learning (MLOps).

La pagina "Deploy" include un pannello di controllo che tiene traccia di metriche chiave quali il numero totale di richieste, le distribuzioni attive, la latenza di risposta e i tassi di errore. Queste informazioni aiutano i team a comprendere i modelli di utilizzo, a valutare la reattività del sistema e a garantire prestazioni a bassa latenza per diversi carichi di lavoro.

Fig. 5. Ultralytics semplifica il monitoraggio dei modelli implementati. (Fonte)

Ogni endpoint dedicato offre inoltre una visibilità dettagliata grazie a viste specifiche sulla distribuzione. Ciò include l'accesso ai log, allo stato di integrità dei modelli e ai dati sulle prestazioni in tempo reale. I log possono essere utilizzati per risolvere i problemi, tracciare le richieste non andate a buon fine e individuare potenziali problemi legati alle dipendenze o all'infrastruttura.

Con l'evoluzione degli ambienti di produzione, fattori quali la variazione dei dati di input, le esigenze di scalabilità o il cambiamento delle modalità di utilizzo possono influire sull'accuratezza e sulla robustezza dei modelli. Monitorando costantemente gli indicatori di prestazione, i team possono detect , individuare i colli di bottiglia e adottare misure correttive, quali l'ottimizzazione dei modelli o l'adeguamento delle risorse, al fine di garantire un funzionamento costante e affidabile dei modelli.

Garantire la scalabilità nell'implementazione dei modelli di visione artificiale

Tradizionalmente, l'implementazione su larga scala dei sistemi di visione artificiale ha comportato l'integrazione di flussi di lavoro e framework che non erano stati progettati per funzionare come un unico sistema. Le pipeline di dati, i cicli di addestramento, l'infrastruttura di distribuzione e i sistemi di monitoraggio sono spesso dislocati in ambienti separati, creando attriti in ogni fase.

La vera sfida non consiste solo nel creare modelli, ma nel mantenerli attivi. Passare dai dati alla produzione, adattarsi a nuovi input, gestire la domanda in crescita e migliorare continuamente senza rallentare.

Ciò che contraddistingue Ultralytics è che questo flusso di lavoro è integrato. Anziché considerare ogni fase come un passaggio a sé stante, le collega in un ciclo continuo in cui i modelli possono essere sviluppati, implementati, monitorati e aggiornati all’interno dello stesso ambiente.

Questo cambiamento modifica il modo in cui le squadre si espandono. Non si tratta più di coordinare strumenti o infrastrutture, ma di mantenere lo slancio man mano che i sistemi crescono.

Punti chiave

Per integrare modelli di machine learning, come quelli di visione artificiale, nelle applicazioni reali, è necessario che siano affidabili, scalabili e facili da gestire. Ultralytics semplifica questo processo riunendo diverse funzionalità, quali la distribuzione dei modelli, l'implementazione e il monitoraggio, in un unico ambiente integrato. Grazie a opzioni di implementazione flessibili e a strumenti integrati, i team possono passare dalla fase di sperimentazione a quella di produzione in modo più rapido e con minore complessità.

Dai un'occhiata alla nostra community ed esplora il nostro repository GitHub per saperne di più. Esplora le nostre pagine dedicate alle soluzioni per scoprire diverse applicazioni, come l'intelligenza artificiale nel settore sanitario e la visione artificiale nella logistica. Scopri le nostre opzioni di licenza e inizia subito a sviluppare! 

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning