Visione artificiale su FPGA

Sezione dedicata alle logiche programmabili

Visione artificiale su FPGA

Postby flz47655 » 11 Apr 2013, 20:27

Ciao a tutti,
Potete consigliarmi qualche libro o qualche argomento da cui partire per arrivare ad esempio ad implementare su FPGA un algoritmo di riconoscimento degli oggetti?
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Visione artificiale su FPGA

Postby deluca » 14 Apr 2013, 10:28

flz,
le poche informazioni che potresti beccare sulla rete sono quelle legate alle competizioni RoboCup-soccer dei primi anni '90.
All'epoca i PC, o le schede a micro, per la poca potenza di calcolo, non erano in grado di elaborare immagini provenienti da telecamere.
erano necessarie le costosissime board frame-grabber su cui era presente un CPLD/FPGA/DSP che poteva essere programmato con un algoritmi per la rilevazione dei contorni di oggetti o riconoscimento di colori. Adesso le tecniche per il riconoscimento visivo sono un pò cambiate e si preferisce l'uso del pc e di librerie dedicate rivolte al computer vision.

PS. Sulla rete puoi trovare qualche pubblicazione in merito ma come books che ne spiegano i meccanismi .... c'è ben poco.

flz, posso sapere quale è lo scopo delle tue ricerche?
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Visione artificiale su FPGA

Postby EuPower » 04 May 2013, 10:57

E' da poco che mi sono inserito in questo mondo, ma il problema me lo sono posto pure io e ho ideato una mia soluzione, De Luca mi corregga se sbaglio.
In pratica ho studiato le librerie grafiche per PC e ho visto che sfruttano degli algoritmi particolari. Nella mia mente ho pensato che riuscendo a riscrivere matematicamente quegli algoritmi o trovandoli già in forma matematica si possono scrivere su MATLAB ed esportare in VHDL. Nel caso delle librerie grafiche l'immagine viene rappresentata come un array monodimensionale molto lungo che rappresenta sequenzialmente tutte le "righe" della matrice. Ad esempio 11111111122222222233333333334444444444 etc. quindi potresti utilizzare la stessa notazione per scrivere i dati dell'immagine e poi trattarla con il core MATLAB che hai scritto prima. Ovviamente dovresti tener conto delle immagini campione che vuoi riconoscere e metterle da qualke parte in memoria. Spero di nn aver detto una cavolata ahah auguri per il tuo progetto xD
EuPower
 
Posts: 2
Joined: 16 Nov 2012, 17:43

Re: Visione artificiale su FPGA

Postby flz47655 » 04 May 2013, 11:32

Ciao EuPower,

Alla fine sto seguendo la tua stessa strada senza l'ausilio di MATLAB, testando gli algoritmi sul PC e poi implementandoli in VHDL.

Al momento sono ancora alla prima fase di studio degli algoritmi su PC, non ho ancora implementato nulla sulla FPGA anche se un'idea di come fare me la sono fatta. Con MATLAB si ottiene un'efficienza simile ad una scrittura manuale del codice VHDL o ci sono molti "compromessi"?

Sarebbe interessante condividere nel limite del possibile (quindi qualcosa sviluppato autonomamente e non per lavoro per altri) alcune informazioni tecniche sulla visione artificiale

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Visione artificiale su FPGA

Postby legacy » 04 May 2013, 16:00

Penso che oggi sia nettamente meglio comprare un piccolo PC embedded x86 e farci girare sopra sw, o lo stesso matlab. Avere a che fare con fpga e' sempre il solito discorso: date le risorse uomo e gli strumenti a disposizione ha ben poco di hobbistico. Bello studiare e tutto, ma ad un certo punto bisogna essere pragmatici.

Dove e cosa stai esattamente studiando ? Visione artificiale apre un mondo di cose correlate e collegate infinito, per cui dipende cosa devi farci. Io per esempio in uni mi sono cuccato un corso avanzato di equazioni differenziali e metodi numerici solo per fare un mattoncino dellla CV chiamato edge detecting, e ti posso assicurare che I casini numerici che vengon fuori sono ... tanti.

Per fortuna ci ha pensato Intel: le librerie di intel openCV sono il riferimento a basso costo, e girano per l'appunto su macchine PC embedded x86. In particolare trovare un portatilino eeepc o un Atom in fiera a pochi spiccioli + usb cam decente significa di fatto avere hw a basso costo capace di far CV.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Visione artificiale su FPGA

Postby flz47655 » 04 May 2013, 16:21

L'idea era di fare qualcosina di semplice sulla FPGA che dispongo senza altri strumenti che non ho, proprio qualche filtro che lavori real-time su un flusso video e che fornisca al pc il flusso filtrato. Niente a scopo pratico per intenderci ma tanto per mettere un piede nel settore.
L'idea era di collegare la FPGA direttamente ad un modulino con una webcam simile a quella dei cellulari per fare una qualche elaborazione (anche non complicata) e restituire le immagini al PC.
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Visione artificiale su FPGA

Postby legacy » 04 May 2013, 16:37

Fallo con un PC, al limite se lo vuoi "mobile" prendilo embedded, ti costa meno in sviluppo e hai migliori possibilta', soprattutto di studio.
Compri un eeepc usato, una usb cam, e sei a posto. Ci smanetti anche matlab ed openCV. Solitamente nelle uni per fare CV o per mettere in piedi strutture robotiche economiche fanno proprio cosi.

Ma non credere che cosi' facendo metti piede nel settore: per mettere piede devi lavorare su una commessa di lavoro, quello che fai per hobby e' anni luce lontano. Sopratutto per vincoli.

Usb da fpga to PC poi come la gestisci ? Non e' mica la serialina, chi si smazza sulla fpga lo stack ? Un SoC ? E sopratutto, giusto per semplificare al massimo, bulk ?
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Visione artificiale su FPGA

Postby flz47655 » 04 May 2013, 17:26

Per una serie di motivi voglio fare qualcosa con la FPGA in una fase successiva anche se sono consapevole delle difficoltà, la prima fase è solo su portatile anche se non c'è bisogno che sia "mobile". Poi ci sta benissimo che alle prime difficoltà il tutto non resti solo su pc.

Per la comunicazione FPGA->PC pensavo ad un semplice convertitore seriale->USB, al limite il frame-rate non sarà elevato ma non è importante visto che è solo per addentrarmi nel settore e dire "di aver fatto qualcosa", se poi è lontano anni luce come è giusto che sia è sempre meglio di niente (anche perché non ho moltissimo tempo da dedicare a questa attività).
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Visione artificiale su FPGA

Postby deluca » 04 May 2013, 17:47

@flz,
come ben dice legacy..... lascia perdere il "Computer Vision" su FPGA..... è una strada senza sbocco ed impervia...
potresti riuscire a realizzare un edge-detector o un riconoscitore di colori.... un filtro real-time, ma nulla di più....

Fai questa riflessione! solo negli ultimi anni è stato possibile realizzare sistemi di riconoscimento oggetti a basso costo, e grazie a cosa?
grazie appunto a Intel che ha rilasciato liberamente le librerie OpenCV e all'incremento in termini di potenza di calcolo dei PC.
Senza di esse sarebbe stato quasi impossibile sviluppare sistemi di questo tipo a costo zero....

Le schede frame-grabber che utilizzavo negli anni '90 costavano fior di "LIRE" almeno 4 volte il costo di un PC dell'epoca.

PS. tuttavia, dimentica di usare USB-CAM, procurati una CCD con bus parallelo.... , per usare USB-CAM dovresti mettere su una architettura SOPC
usare i driver nativi.... bla bla bla.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Visione artificiale su FPGA

Postby flz47655 » 04 May 2013, 18:02

Ciao Giovanni

Volevo provare a realizzare proprio cose semplici come filtri real-time (anche non real-time) su FPGA, niente di particolare. In effetti chiamarla "Computer Vision" è eccessivo.

Con modulini webcam intendevo qualcosa come i modulini con OV7670 che si trovano su ebay con uscita RGB parallela, non mi è mai passato per la testa un SoC con driver, etc..

Dici che è comunque un'impresa che è meglio lasciare perdere?

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Visione artificiale su FPGA

Postby deluca » 04 May 2013, 18:58

Beh!
allora la cosa diventa abb fattibile.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Visione artificiale su FPGA

Postby legacy » 04 May 2013, 21:11

A parte che per giocare con le fpga e' tanto ma tanto + semplice, vuoi per hw, vuoi per banda, vuoi per algoritmica, vuoi per matematica, giocare con l'audio.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Visione artificiale su FPGA

Postby flz47655 » 05 May 2013, 10:51

@deluca: Bene, è come pensavo allora :D non mi rimane che aspettare che mi venga consegnato il modulino camera
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16


Return to FPGA & CPLD

Who is online

Users browsing this forum: No registered users and 2 guests