Realizzazione progetto simil ALVINN su scheda PC like

IA e Sistemi di Visione Artificiale per la Robotica

Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 13:12

Ho deciso di realizzare la rete neurale per il mio progetto simil ALVINN prima sul PC con win7 e poi una volta funzionan
te trasferisco la Back Propagation in una scheda PC like.
La Back Propagate la farò con il linguaggio C.
Mi dedicherò quindi all' ALVINN ma prima ho bisogno di qualche aiuto riguardo al caricamento
di un' immagine della strada.
Ho intenzione di presentare molte immagini con prospettive diverse della stessa strada in modo da addestrare
la rete.
Per fare questo però mi serve una libreria che mi permette di caricare tali immagini .JPG.
Devo capire come si fa ad estrarre i pixel di un' immagine bianco/nero per poi presentarli agli ingressi della rete.
Nessuno ha delle idee su librerie atte a tale scopo?
Attachments
Strada.jpg
Strada.jpg (18.28 KiB) Viewed 18102 times
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 24 Mar 2016, 14:01

Ciao,

Per avere qualche risultato discreto dovresti fare molto pre-processing alle immagini e magari estrarre delle features per ridurre la dimensionalità del problema.

Non puoi usare OpenCV per leggere le immagini e magari fare un pochino di pre-processing?
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 15:08

Che cos' è il preprocessing? Spiegati meglio non ho una laurea in informatica.
In pratica mi servono delle librerie (non di certo le openCV) per poter leggere i pixel delle immagini
e salvarli in degli array per poi darli in pasto agli ingressi della rete.
Forse per preprocessiong intendi: convertire l' immagine in bianco e nero e poi ridurne il numero di pixel
in modo che non siano esageratamente troppi?



P.S. Non capisco perchè qui dentro nessuno parla come mangia ossia in modo semplice e comprensibile a tutti
senza gergo tecnico.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 24 Mar 2016, 15:24

Preprocessing = pre-processamento

La manipolazione dell'immagine prima dell'uso vero e proprio. Può consistere ad esempio nell'applicazione di filtri per migliorarne il contrasto, rimuovere particolari non interessanti, rilevare i bordi etc.. dipende chiaramente dall'applicazione finale il come manipolare l'immagine.

Di librerie per il linguaggio C ce ne sono a "secchiate".. usi già qualche framework (es. QT) o C puro?
Perché vuoi scartare OpenCV?

Se vuoi individuare i contorni della carreggiata cerca "lane detection". Più che reti neurali vedo meglio la trasformata di hough per questa applicazione, è però un argomento un po complesso.

Ciao

PS: E' un forum tecnico ed è normale ricevere risposte "tecniche", sentiti però libero di chiedere delucidazioni.
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 15:38

In passato ho realizzato progettini complessi con il C puro poi ho fatto qualche cosa con le SDL.
Le QT non le ho mai utilizzate. Non so' se con le openCV si possa convertire un' immagine a colori in
immagine B/N, che dici?
Ho letto un link che punta ad un .PDF che spiega come deve essere fatta la RNA di ALVINN e dicono che non
serve nessuna segmentazione per ricavare i bordi ma si danno in pasto i pixel così come sono attraverso una telecamera B/N 32X30 pixel, io però non avendo tale tipo di telecamera dovrò ridurne il numero dato che in commercio ce ne sono da 300x288 o giù di li.
Quindi il preprocessing si riduce solo alla riduzione/caricamento dei pixel, che dici?
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 24 Mar 2016, 15:46

Con OpenCV direi proprio di si..

Io ad ogni modo farei anche altri pre-processing per facilitare il compito alla rete neurale. Magari ce la fai anche senza in qualche caso però.. perché vuoi complicargli la vita? Sicuramente con la giusta pre-elaborazione avrai risultati migliori.
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 15:57

Leonardo wrote:Con OpenCV direi proprio di si..

Io ad ogni modo farei anche altri pre-processing per facilitare il compito alla rete neurale. Magari ce la fai anche senza in qualche caso però.. perché vuoi complicargli la vita? Sicuramente con la giusta pre-elaborazione avrai risultati migliori.



Hai ragione farò alcuni preprocessing per ricavare i bordi partendo da una segmentazione delle immagini.
openCV permette pure di ridurre i pixel portandoli da 300x288 a 30x32 ?
Vorrei installare openCV sotto devC++ che ne pensi?
Mi daresti un aiuto per configurare opencv sotto tale ide?
Voglio evitare Visual Studio, perche utilizza lib che non sono portabili sotto l' ambiente linux che troverò
quando sposterò la rete in una scheda PC like.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 24 Mar 2016, 16:02

Si, con OpenCV puoi fare tutto. Posta qualche tuo risultato quando avrai messo in piedi il sistema.

Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 16:05

Leonardo wrote:Si, con OpenCV puoi fare tutto. Posta qualche tuo risultato quando avrai messo in piedi il sistema.

Ciao



Ok certo e grazie.
Ho però bisogno di configurare DEVC++ a dovere per le openCV ed in rete almeno per ora
non ho trovato niente.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 24 Mar 2016, 17:03

Stò leggendo il manuale delle openCV ma non sò quale dei vari metodi di Edge Detection utilizzare.
Che metodo Edge Detection mi consigli di utilizzare (operatore di Canny etc..).
Per la riduzione dei pixel non vedo niente per il momento.
Ho trovato invece la spiegazione delle lib che convertono da colore a B/N e pure tutto ciò inerente il
caricamento e visualizzazione dell' immagine.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby legacy » 24 Mar 2016, 18:03

io ci vedo la sindrome del gundam :lol: :lol: :lol:

ma prenditi un visual basic, o delphi (o controparti opensource tipo lazarus, alla peggio processing), che ci sono oggetti image che si smazzano il caricare immagini di n-mila formati diversi, e danno a te la possibilita' di fare get-pixel(x,y) alla bovina maniera, dove in risposta puoi avere le componenti RGB colore associate ad ogni pixel

altro paio di maniche poi processarli

se hai possibilita' $$$ anche Matlab e' un ottimo candidato, ha moduli per la manipolazione delle immagini, ed e' molto comodo per la matematica discreta, oltre al fatto che offre un ottimo linguaggio di scripting ed e' supportato dalle piattaforme { PC/x86, Mac/x86, Linux/x86 }

non va bene per la produzione, ovvero scordati di farci qualsiasi cosa in real time, pero' va bene solo per studiarci sopra la parte algoritmica senza impazzire con la parte implementativa, perche' una cosa che ti sfugge, nel calcolo numerico le cose non sono banali, sopratutto quando si ha a che fare con matrici

e da capo, OpenCV e' potente se le cose le sai usare, altrimenti e' spararsi nei piedi
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 24 Mar 2016, 21:38

Matlab ha anche il toolkit per le reti neurali ed è molto comodo per queste cose però.. la comodità giustamente si paga.

OpenCV ha la funzione resize che permette di scegliere anche il metodo di interpolazione (come vuoi ridimensionare l'immagine). Per il rilevamento dei contorni puoi semplicemente provare i diversi algoritmi della libreria e vedere quale funziona meglio.

Per prototipazioni veloci non disprezzerei linguaggi ad alto livello come C# o perfino delle funzionalità di batch di alcuni programmi di grafica. Tanto da preparare un po di immagini per addestrare la rete.

Non pensare troppo presto al porting, magari sulla piattaforma target devi cambiare tutto lo stesso.
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 25 Mar 2016, 13:45

Leonardo wrote:Matlab ha anche il toolkit per le reti neurali ed è molto comodo per queste cose però.. la comodità giustamente si paga.

Per prototipazioni veloci non disprezzerei linguaggi ad alto livello come C# o perfino delle funzionalità di batch di alcuni programmi di grafica. Tanto da preparare un po di immagini per addestrare la rete.

Non pensare troppo presto al porting, magari sulla piattaforma target devi cambiare tutto lo stesso.



Credo non utilizzerò Matlab data la mia non ecessiva disponibilità economica, credo utilizzerò il C (linguaggio che conosco meglio) C# non lo conosco.
Per quanto riguarda il porting ho scelto di proposito il C in modo da non dover cambiare la grammatica del codice
da zero, cosa che dovrei fare se utilizzassi il Vb6 (altro linguaggio che conosco abbastanza).
Scusate se sono completamente a digiuno di image processing, ma le mie conoscenze spaziano dalla conoscenza di linux, C, VB6, asmZ80, CAD/CAE Eagle (quindi progettazione elettronica), ma di elaborazione di immagini ho conoscenza zero.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 25 Mar 2016, 13:59

Potresti fare uno studio di fattibilità molto rapido usando ad esempio VB6 se lo conosci molto bene e ti permette di essere più produttivo. Se non ottieni risultati magari butti via tutto o comunque cerchi di migliorare le cose stando sul pc.

Una volta definito meglio il sistema puoi pensare al porting. Altrimenti hai il rischio di buttare via un sacco di tempo se le cose non danno i risultati sperati, e le possibilità sono elevate visto che sei alle prime armi con la visione artificiale..
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby legacy » 25 Mar 2016, 15:38

Matlab
se ci si iscrive ad una qualsiasi universita' ad indirizzo scientifico (p.e. ingegneria, o scienze informatiche), ci sono offerte "student edition", praticamente o gratuite(1), o super scontate anche del 60%-80%, ed in ogni caso l'universita' mette a disposizione matlab nei laboratori


edit:
(1) con limitazioni pari a restrizioni d'uso, ovvero uso personale, didattico, niente cose commerciali
Last edited by legacy on 25 Mar 2016, 20:13, edited 3 times in total.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby legacy » 25 Mar 2016, 15:45

have fun
Last edited by legacy on 26 Mar 2016, 20:50, edited 1 time in total.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 26 Mar 2016, 20:17

Realizzerò una Back Propagation con 960 ingressi x (pixel immagine preprocessata) che confluiranno
in 29 neuroni dello strato H (strato hidden) i quali a loro volta convergeranno verso 8 neuroni y di uscita
(1 neurone che gestisce il motore del robot e 7 per i vari gradi di sterzatura delle ruote anteriori).
Che ve ne pare?
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby Leonardo » 26 Mar 2016, 22:41

E' un po ambiziosa come rete neurale..

Ti consiglio di iniziare da cose semplici, come ad esempio mostrare alla rete immagini, magari a risoluzione ancora più bassa, di un paio di oggetti e farglieli classificare. Ad esempio fai vedere molti quadrati e cerchi e provi a vedere variando le immagini se la rete li riconosce.

Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby legacy » 27 Mar 2016, 10:53

Viene definita Sindrome di Gundam quella sensazione di poter realizzare un qualcosa di reale e funzionante (tipicamente un robot) senza averne le competenze specifiche ma approfittando di alcune dritte che ti possono dare in rete. E' lo stato mentale in cui si trova il soggetto che vorrebbe realizzare qualcosa di superiore alle prorie capacita' di almeno due ordini di grandezza. Normalmente questo stato porta il soggetto a porre domande particolarmente insensate.


Non ho esperienza di elettronica/informatica/meccanica e vorrei costruire un robot che faccia i salti mortali recitando Le dieci battute del mese - Sì, perché a scuola si lavora tanto ma abbiamo bisogno anche di piccoli momenti di pausa per condividere un sorriso - Quanti led devo comprare? Ma sopratutto di che diametro?
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Realizzazione progetto simil ALVINN su scheda PC like

Postby alieno75 » 28 Mar 2016, 20:29

legacy wrote:

Non ho esperienza di elettronica/informatica/meccanica e vorrei costruire un robot che faccia i salti mortali

Allora per quanto riguarda l' esperienza in elettronica ti posso bloccare dicendo che ne ho. Non ne ho invece
in meccanica e nel campo della computer vision. In informatica conosco Vb6, e C, non è molto ma li sò adoperare
bene.

alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Next

Return to Intelligenza & Visione Artificiale

Who is online

Users browsing this forum: No registered users and 2 guests

cron