Il kit per sviluppatori AI di Microsoft Vision semplifica la creazione di progetti di apprendimento profondo basati sulla visione
La visione artificiale è una delle applicazioni più popolari dell’intelligenza artificiale. Classificazione delle immagini, rilevamento degli oggetti e segmentazione degli oggetti sono alcuni dei casi d’uso dell’intelligenza artificiale basata sulla visione artificiale. Queste tecniche sono utilizzate in una varietà di scenari di consumo e industriali. Dall’autenticazione utente basata sul riconoscimento facciale al tracciamento dell’inventario nei magazzini al rilevamento dei veicoli su strada, la visione artificiale sta diventando parte integrante delle applicazioni di prossima generazione.
La visione artificiale utilizza reti neurali avanzate e algoritmi di deep learning come Convolutional Neural Networks (CNN), Single Shot Multibox Detector (SSD) e Generative Adversarial Networks (GAN). L’applicazione di questi algoritmi richiede una conoscenza approfondita dell’architettura della rete neurale, della matematica avanzata e delle tecniche di elaborazione delle immagini. Per uno sviluppatore di ML medio, la CNN rimane un ramo complesso dell’IA.
Oltre alla conoscenza e alla comprensione degli algoritmi, le CNN richiedono infrastrutture costose e di fascia alta per l’addestramento dei modelli, che sono fuori portata per la maggior parte degli sviluppatori.
Anche dopo essere riusciti a formare e valutare il modello, gli sviluppatori trovano la distribuzione del modello come una sfida. I modelli CNN addestrati vengono spesso implementati in dispositivi periferici che non dispongono delle risorse necessarie per eseguire inferenze, il processo di classificazione e rilevamento delle immagini in fase di esecuzione.
I dispositivi Edge sono integrati da chip AI appositamente progettati che accelerano l’inferenza fornita con i propri driver software e un livello di interfacciamento. Gli sviluppatori dovrebbero convertire il modello CNN nel chip AI di destinazione e quindi integrare l’applicazione con l’interfaccia esposta dal chip. Intel, NVIDIA, Google, Huawei e Qualcomm sono alcuni dei principali attori nel mercato degli acceleratori di intelligenza artificiale. Fare riferimento a uno dei miei precedenti articoli per uno sfondo sugli acceleratori AI.
Per Vision AI Developer Kit , Microsoft e Qualcomm hanno stretto una partnership per semplificare la formazione e l’implementazione di modelli di intelligenza artificiale basati sulla visione artificiale. Gli sviluppatori possono usare i servizi di intelligenza artificiale e IoT basati su cloud di Microsoft su Azure per addestrare i modelli mentre li distribuiscono sul dispositivo periferico smart camera alimentato da un acceleratore AI di Qualcomm.
Vision AI Developer Kit non solo ha un aspetto elegante e sofisticato, ma vanta anche una configurazione impressionante.
Il kit è alimentato da un processore Qualcomm Snapdragon 603, 4 GB di memoria LDDR4X e 16 GB di memoria eMMC. Le immagini vengono catturate da un sensore della fotocamera da 8 megapixel in grado di registrare in 4K UHD. Il dispositivo è inoltre dotato di un array a quattro microfoni e di un altoparlante che possono essere utilizzati per creare interfacce utente basate sulla voce.
Una batteria integrata da 1550 mAH è una piacevole sorpresa che rende il dispositivo portatile e mobile. Una presa USB di tipo C consente di utilizzare un caricabatterie standard per alimentare il dispositivo. Supporta inoltre Power over Ethernet (PoE) che trasforma il dispositivo in una smart camera di livello produttivo.
In termini di connettività, il dispositivo viene fornito con WiFi, Bluetooth e HDMI. I LED sul pannello frontale fungono da indicatori visivi che mostrano lo stato della connettività e la disponibilità del software.
Vision AI Development Kit si basa sulla piattaforma Qualcomm Vision Intelligence 300 che include software di elaborazione delle telecamere, inferenza accelerata dell’hardware dei modelli di intelligenza artificiale e SDK per l’apprendimento automatico e la visione artificiale.
Vision AI Development Kit esegue Yocto , un tipo di Linux generalmente utilizzato nei dispositivi embedded e IoT. Oltre a Yocto, Microsoft ha aggiunto Azure IoT Edge Runtime e Azure IoT Edge Hub per la gestione dei dispositivi e la configurazione remota.
Azure IoT Edge è un’estensione dell’hub IoT di Azure che offre connettività e gestione dei dispositivi basate su cloud. I clienti che utilizzano questo stack possono facilmente integrare i dispositivi periferici e gestire il loro ciclo di vita in modo efficiente.
Poiché Azure IoT Edge ha una dipendenza da Docker, Microsoft e Qualcomm hanno collaborato all’aggiunta del supporto del runtime del contenitore a Yocto. Ufficialmente, Yocto non supporta l’esecuzione di Docker Engine o un runtime contenitore conforme a OCI.
Non appena il dispositivo viene avviato, stabilisce la connettività all’hub IoT di Azure e inizia a eseguire i modelli AI specificati nella configurazione desiderata. La telecamera esegue un modello di rilevamento degli oggetti basato su MobileNet SSD V1 al momento dell’avvio per offrire agli sviluppatori un’esperienza immediata . L’output della videocamera può essere visualizzato sul display collegato alla porta HDMI.
Microsoft ha assicurato che l’esperienza degli sviluppatori nella formazione e nella distribuzione di modelli nel Vision Development Development Kit è semplice ma potente. Anche gli sviluppatori senza esperienza nella visione artificiale possono iniziare con il kit. Il dispositivo funge da banco di prova perfetto per apprendere i concetti chiave dell’IA basata sulla visione artificiale.
I nuovi modelli possono essere facilmente trasferiti nel dispositivo tramite l’interfaccia o l’API dell’hub IoT standard di Azure. Poiché ogni modello è solo un modulo Azure IoT Edge, gli strumenti e il flusso di lavoro esistenti possono essere facilmente estesi a Vision AI Dev Kit.
La piattaforma di visione AutoML di Microsoft, CustomVision.ai , è strettamente integrata con il Vision Development Development Kit. Durante la formazione di un modello, gli sviluppatori possono semplicemente scegliere il dominio compatto che è già ottimizzato per i dispositivi mobili. Per dedurre, possono scaricare il file zip preconfigurato pronto per essere distribuito nel dispositivo tramite l’hub IoT di Azure.
Gli ingegneri ML avanzati possono usare i servizi Azure ML per addestrare modelli personalizzati da zero e ottimizzare il modello per il dispositivo periferico. Visual Studio Code supporta l’ estensione del kit di sviluppo AI per creare e distribuire modelli in modo interattivo dall’editor.