ClassiPi, un classificatore di immagini tramite rete neurale convoluzionale

ClassiPi è il primo modulo di un progetto per la realizzazione di un robot in grado di muoversi e camminare autonomamente e di riconoscere gli oggetti che si trova di fronte. In particolare, questo primo elemento ha il compito di prendere in input uno stream video e di identificare gli oggetti contenuti nell’immagine. Il progetto ha coinvolto l’utilizzo di tecniche avanzate di intelligenza artificiale al fine di costruire un dispositivo capace di classificare le immagini ottenute.
Si tratta di un RaspberryPi 3 che ospita una versione di Inception model V3, la rete neurale convoluzionale realizzata da Google e allenata sul dataset di ImageNet. La rete neurale è infatti il cuore del progetto, la tecnica che permette al robot di identificare gli oggetti rappresentati in un’immagine. Lo stream video è ottenuto da una webcam USB collegata alla RaspberryPi.

Come funziona
Tramite uno script Python, la rete viene scaricata (se non già presente) e avviata, dandole in input le immagini catturate dalla webcam e ottenendo la classificazione relativa. Inoltre, tramite un server Node.js viene mostrata l’immagine attuale catturata e la sua classificazione (collegandosi con un browser all’IP della RaspberryPi sulla porta 3000). Il server viene lanciato in background mentre lo script Python viene eseguito in foreground.

Vi rimandiamo al repo dedicato: GitHub.

Ringraziamo Lorenzo del MUG, Gaetano Bonofiglio e Veronica Iovinella.