Le intelligenze artificiali stanno già rivoluzione il modo in cui le aziende offrono servizi. Grazie alle recenti innovazioni tecnologie lo sviluppo di AI e degli algoritmi di machine learning è divenuto più accessibile agli sviluppatori indipendenti.
A tal proposito in questo articolo vogliamo portarvi l'esperienza di Daniel West, un giovane ingegnere software che ha realizzato una sorting machine interamente costruita con i mattoncini LEGO ed un Raspberry Pi.
West ha unito la sua passione per i LEGO con i suoi studi di visione artificiale, ovvero l'insieme dei processi che mirano a creare un modello approssimato del mondo reale (3D) partendo da immagini bidimensionali (2D).
Il dispositivo creato da West, chiamato Universal LEGO Sorting Machine, è composto da più di 10 mila pezzi ed è animato da una rete neurale, realizzata sempre da West, capace di identificare, classificare e organizzare i mattoncini tramite un sensore montato sulla Raspberry. L'Universal LEGO Sorting Machine può elaborare e smistare un mattoncino ogni 2 secondi.
Lo sviluppatore ha sfruttato il concetto del Convolutional Neural Network, un tipo di rete neurale artificiale feed-forward in cui il pattern di connettività tra i neuroni è ispirato dall'organizzazione della corteccia visiva animale.
West ha addestrato la sua rete neurale a riconoscere i vari mattoncini impiegando dei database di immagini già esistenti. Si tratta dei medesimi dataset che è possibile reperire tramite le librerie LDraw e Rebrickable.
Sostanzialmente il firmware dell'Universal LEGO Sorting Machine sfrutta l'AI creata da West per confrontare ogni mattoncino con un database contenente i modelli 3D di ogni pezzo LEGO conosciuto. Quando la rete neutrale comprende di che tipo di pezzo si tratta invia i dati al selezionatore che lo smista in uno dei 18 secchi disponibili.
West ha impiegato 2 anni e mezzo per terminare questo progetto, sviluppando personalmente tutto il codice della rete neurale, scritta in Python con l'ausilio del framework Tensorflow, e assemblato pezzo per pezzo i mattoncini necessari ed i vari servomotori comandati dalla Raspberry Pi.
Ora lo sviluppatore sta realizzando un articolo accademico sul suo progetto e al più presto dovrebbe rilasciare sotto licenza open source il codice della rete neurale.
via Brothers Brick