AO_434

NOVEMBRE-DICEMBRE 2021 AUTOMAZIONE OGGI 434 99 La chiave per lo sviluppo e l’implementazione di soluzioni di visione arti- ficiale di successo è definire la struttura della componentistica hardware e del software responsabile degli algoritmi di visione, gli standard di in- terfacciamento della fotocamera, le capacità di analisi avanzate, di intelli- genza artificiale e di apprendimento automatico. Come in tutti i progetti, c’è un modo giusto e un modo sbagliato per fare le cose. Abbiamo compi- lato un elenco che riassume i 10 principali aspetti da tenere in considera- zione durante lo sviluppo di una moderna soluzione di visione artificiale. 1. Iniziare con dati di qualità, poi sviluppare l’IA : Per operare cor- rettamente, i sistemi di visione artificiale devono acquisire, elabo- rare, analizzare e comprendere le immagini che vengono gestite dall’intelligenza artificiale. Questa gestione si ottiene compilando informazioni note come dati di addestramento in grado di favorire l’apprendimento dell’intelligenza artificiale. Migliore è la qualità dei dati di addestramento, migliore è la qualità dell’IA. Questo migliora le prestazioni del sistema di visione artificiale. Dati di addestramento di scarsa qualità o in quantità molto limitate ostacoleranno l’intelligenza artificiale e il successo dell’applicazione di visione artificiale. Anche la migliore AI programmata non sarà mai in grado di fornire dei risultati adeguati se non riceve dati di addestramento adeguati. 2. Attenzione a selezionare obiettivi realistici : Iniziare ogni progetto con una serie di aspettative realistiche e di obiettivi raggiungibili. Il cervello umano è in grado di elaborare i dati dai cinque sensi simul- taneamente e di agire su questi dati istantaneamente: questo è vero multitasking. Le macchine sono spesso programmate per svolgere estremamente bene un solo compito; tuttavia, l’intelligenza artifi- ciale può avere difficoltà nell’apprendere ed eseguire più attività. Durante le fasi iniziali di pianificazione, concentrarsi sulle capacità primarie in grado di garantire il successo. Cercare di fare eseguire correttamente alle prime build dell’applicazione AI un’ampia gamma di attività diversificate può essere difficile e può portare a risultati iniziali insoddisfacenti. 3. Il linguaggio della visione : Le applicazioni di visione artificiale di successo richiedono non solo un hardware capace, ma anche una programmazione esperta. La programmazione può presentarsi sotto forma di linguaggi di codifica e framework AI. Un framework di in- telligenza artificiale, comprendente machine learning, deep learning, reti neurali ed elaborazione del linguaggio naturale (NLP), consente uno sviluppo più rapido e semplice delle applicazioni AI. I framework AI fungono da modello per lo sviluppo del sistema di intelligenza artificiale. Ciò rende lo sviluppo, l’implementazione e la governance molto più semplici rispetto allo sviluppo di un’applicazione AI da zero. Esistono diversi linguaggi di programmazione ottimizzati per l’intelligenza artificiale, ognuno con i propri punti di forza. Tra questi spiccano Caffe, Python, Pytorch, TensorFlow, C++, Lisp, Java, R, Prolog. Durante le fasi di pianificazione dell’applicazione di visione artifi- ciale, è importante stabilire se utilizzare risorse di programmazione interne o esterne. Qual è il livello di abilità dei programmatori? Quale linguaggio di programmazione verrà utilizzato? Quali sono i migliori strumenti di sviluppo per il linguaggio di programmazione scelto? È possibile compilare facilmente il programma AI e i successivi aggior- namenti? Come distribuire gli aggiornamenti? 4. Scegliere la tecnologia appropriata : Quando si decide l’hardware che eseguirà l’applicazione AI di visione artificiale esistono molte opzioni. Le Fpga (Field programmable gate array), le GPU (graphics processing unit) e persino i microcontrollori (MCU) presentano van- taggi e svantaggi. Altri fattori da considerare nella scelta dell’hardware includono l’effi- cienza energetica, la mobilità dei dispositivi, il numero di I/O, gli am- bienti operativi e, soprattutto, i costi. Essere precisi e proattivi nelle fasi iniziali di pianificazione può far risparmiare grattacapi lungo la strada. I processori e i componenti di supporto permettono di ot- tenere potenze di elaborazione sufficienti per possibili funzionalità future e consentono di usufruire delle risorse di memoria integrate necessarie per gestire gli aggiornamenti del firmware e la crescita dell’algoritmo AI. 5. Sensori di immagine e illuminazione : I grandi progressi nell’illumina- zione front-side (FSI) e back-side (BSI) nella tecnologia di rilevamento Cmos consentono di ottenere immagini con risoluzione più elevata in condizioni di scarsa illuminazione. La corretta illuminazione è una con- siderazione importante. La base per tutte le prestazioni di illuminazione si riconduce a tre principali caratteristiche del sensore di immagine: efficienza quantistica (QE), corrente di buio e capacità di saturazione. L’efficienza quantistica è calcolata come rapporto tra la carica creata dal dispositivo per un numero specifico di fotoni in ingresso. Poiché la QE cambia in base alla lunghezza d’onda, è meglio considerarla come funzione di questo parametro. Ciò fornisce una misura accurata della sensibilità del dispositivo. Se implementata all’interno di una fotoca- mera, a causa di effetti ottici ed elettronici esterni la QE massima della fotocamera potrebbe essere inferiore a quella del sensore. Anche la corrente di buio e la capacità di saturazione rappresentano importanti considerazioni di progettazione nei sistemi di visione arti- ficiale. La corrente di buio misura la variazione del numero di elettroni generati termicamente all’interno dell’imager Cmos e può aggiun- gere rumore. La capacità di saturazione indica il numero di elettroni che un singolo pixel può immagazzinare. Sebbene questi parametri non siano generalmente specificati nelle schede tecniche dei pro- duttori di fotocamere, possono essere utilizzati con le misurazioni QE per ricavare il massimo rapporto segnale-rumore (S/N), la sensibilità assoluta e la gamma dinamica di un’applicazione. Fotod iGerdAltmannd a Pixabay

RkJQdWJsaXNoZXIy Mzg4NjYz