Newsgroup: it.comp.ia
Titolo: Riconoscimento di immagini

Ciao a tutti!
Questo e' il mio problema: ricevo, da una WebCam, un'immagine ripresa da
un robot che sto costruendo.
Vorrei fare in modo che, partendo da questa immagine, il robot possa dire
in che stanza della casa si trova e in che orientamento.
Pensavo di usare una rete BackPropagation che mi sono scritto in C, dove
ho all'ingresso 4800 neuroni (l'immagine e' 80x60) e all'uscita 5 neuroni
(il primo indica la stanza, gli altri rispettivamente Nord, Sud, Est ed
Ovest).
In mezzo c'e' un livello "Hidden" di 3600 neuroni.
Per l'addestramento ho scattato 4 foto per ogni stanza (in totale 16 foto)
prese nelle varie angolazioni.
Il problema e' che l'apprendimento e' estremamente lento e non riesco ad
ottenere risultati significativi...
Domanda: sbaglio ad usare una rete BackPropagation? Conviene usare una
SOM? (ammetto di averlo pensato, ma non so come fare per ottenere, in
output, la stanza e l'orientamento...).
Oppure ho sbagliato a scegliere il numero di neuroni/livelli?
Grazie mille per i vostri consigli!
In alternativa (visto che non sono un fanatico!) se qualcuno conosce dei
buoni programmi OpenSource che facciano cio' che mi serve, quella potrebbe
essere un'idea! =:)
Grazie
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 essere un'idea! =:)
Io ho usato qualche volta NevProp (Nevada Backpropagation), che non è
male e ha anche una lunga storia di sviluppo alle spalle. Guarda qui:
 
http://brain.cs.unr.edu/publications/NevPropManual.pdf
È un programma GPL.
Paco

 concetto di "feature".
Il problema e' che l'immagine e' gia' bella piccola... 80x60 e' ben
piccola. Certo, posso ridurla ancora e risparmiare neuroni, ma non e' che
poi perdo in "capacita' visiva"?
Domanda aggiuntiva: come posso "dimensionare la rete" (sapere quanti
neuroni in ingresso avere e quanti hidden)?


 neuroni in ingresso avere e quanti hidden)?
1. Prova ed errore;
2. Un algoritmo genetico.
Per l'ultima possibilità, guarda qui:
 
http://www.ing.unife.it/eventi/rcra05/articoli/yepes_rcra2005.ps.gz
Paco

 parte dell'informazione.
Capisco... Il termine PCA pero' non mi dice niente... E Google mi riporta
Link medici... =:)
Dove posso trovare un qualche algoritmo per ridurmi l'immagine come mi
serve per poi essere processata dalla rete?


 ha scritto nel messaggio
news:dijk90$o6f$1...@news.newsland.it...


 tipo di topologie.
OK! Allora: hai consigli **pratici** da darmi?


 OK! Allora: hai consigli **pratici** da darmi?
Consigli pratici e spasssionati: studia bene i dati con cui hai a che fare,
valuta la possibilità, eventualmente, di sottoporre le immagini a
compressione preliminare e poi usa un pacchetto tipo "Statistica" per una
PCA che ti dica come si distribuisce l'informazione...potresti per esempio
pensare di trasformare le immagini in frequenza (con fourier, 1 istruzione
di Matlab) e capire quante e quali frequenze contribuiscono maggiormente a
generare l'informazione che stai cercando (potresti pensare anche ad un
banalissimo approccio "covarianza")
Hope this helps!
Chiedi pure...finchè ci si può aiutare lo si fa volentieri ;-)

 Chiedi pure...finchè ci si può aiutare lo si fa volentieri ;-)
Grassie! =:)


 problema?
Guarda l'approccio "trasformata di fourier" è usatissimo anche soltanto per
la compressione dell'informazione che ti genera (pensa ai formati di
compressione...mp3, per esempio). Non è la panacea di tutti i mali ma
potrebbe aiutarti!
Se ti può essere utile esiste un'altra trasformata molto impiegata
nell'image processing: è la trasformata di hough e ti permette di svincolare
il riconoscimento di forme dalla loro dimensione e rotazione (un quadrato,
di qualsiasi dimensione ed in qualsiasi rotazione viene *quasi* sempre
riconosciuto come tale!)
La trasformata di hough non è una cosa semplicissima ma sulla rete si
trovano risorse molto utili anche in italiano!
Qui trovi un'implementazione della trasformata di hough per i cerchi:
http://www-dsp.elet.polimi.it/ispg/eti/laboratorio/sessioni/hough_circular/HoughCirc.html
Spero che tutto ciò ti possa essere stato utile in qualche modo!
Saluti