Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Artificial Vision Robot

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

-1
voti

[31] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 2 mar 2013, 21:07

Do un occhiata, grazie!

È comunque tutto il giorno che ci lavoro ed ho provato diversi algoritmi, anche se senza risultati, ma almeno so che direzione prendere.

Per quanto riguarda gli XML i sono letto la documentazione di OpenCV a questo link http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier, ed anche qui li utilizzano.
Ho provato anche l'example e funziona. Allora incuriosito sono andato a guardarmi questi XML che sono utilizzati nel programma.
Sono tutti numeri , probabilmente sono davvero delle 'definizioni' (di occhi e faccia in questo caso).

Potrebbe essere una soluzione percorribile, anche se forse un po' difficoltosa.. ma se non c'è altra soluzione,mi butto su questa.

Fino ad ora ho provato con l'estrapolazione dei contorni e con l' HugeCircles , ma non è andata a buon fine.
Ora provo con il fitEllipse e vediamo che succede.

Mi viene in mente anche un'altra cosa però.
Potrebbe esistere una sorta di 'training' ? nel senso che gli faccio vedere diverse 'realizzazioni' delle uova che devo raccogliere, e lui mette insieme i dati comuni per ricavare una sorta di proprietà.
È utopia ?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[32] Re: Artificial Vision Robot

Messaggioda Foto Utentecyclone » 2 mar 2013, 21:49

Salve,
no non è utopia, la strada migliore infatti è quella di generare un file XML attraverso gli HAAR-CASCADE.
per generare il file XML(delle uova) hai bisogno di mettere insieme però almeno tra mille e 10000 foto di uova posti in ambienti diversi (su sfondi diversi e con illuminazioni diverse), ed almeno altrettante foto di immagini dette negative con soli sfondi (senza uova). A questo punto attraverso il programma di conversione che trovi nelle lib opencv converti il tutto in un file XML ed il gioco è fatto.
Tutto ciò è abbastanza laborioso, ma posso dirti che questa è una delle poche strade percorribili con la quale ho risolto molte applicazioni.

comunque, visto che ne esistono di tutti i tipi, potresti essere così fortunato da trovarne sulla rete uno per le uova già pronto.


Ciao
Avatar utente
Foto Utentecyclone
86 2
New entry
New entry
 
Messaggi: 64
Iscritto il: 6 feb 2012, 11:38

-1
voti

[33] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 2 mar 2013, 22:39

cioè, esistono già dei metodi automatici che creino questi XML ?

Ma creare queste definizioni in file XML è una cosa che , per capire, posso fare anche io manualmente oppure è una cosa talmente lunga che bisogna per forza utilizare un elaboratore ?

un'altra domanda : perché devo fare così tante foto su sfondi e illuminazioni diverse ?
Non basta avere diverse foto fatte nell'ambiente in cui si dovrà andare a lavorare?
Foto quindi dell'arena, con i robot in mezzo che disturbano ecc..
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[34] Re: Artificial Vision Robot

Messaggioda Foto Utentecyclone » 2 mar 2013, 22:49

Come faresti a riprodurre il campo da gioco a priori? senza vederlo?
La creazione degli XML haar-cascade porta via un bel po' di tempo.

Nulla di automatico, il software per la generazione lo devi sviluppare tu usando le lib.
La selezione degli oggetti di interesse in un campo visivo (ROI) viene fatta manualmente e foto x foto.
scegliendo e selezionando nelle foto l'oggetto che interessa riconoscere.
Avatar utente
Foto Utentecyclone
86 2
New entry
New entry
 
Messaggi: 64
Iscritto il: 6 feb 2012, 11:38

-1
voti

[35] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 2 mar 2013, 23:00

Ho accesso all'arena quindi , se può servire, posso scattare le foto direttamente li, in mezzo anche agli altri robot per una situazione piu realistica.

1000 foto mi sembrano troppe per il tempo che ho a disposizione, ma un centinaio le posso fare.
Andrà forse a discapito della precisione, ma se si rimane entro i limiti dell'accettabilità va bene.

Altro dubbio che ho è che :
- le uova sono tutte di colore diverso
- la prospettiva : cioè, guardando l'uovo di fronte sembra rotondo, guardandolo di lato è un ovale. Le foto andrebbero fatte in entrambe le prospettive ? sarà poi in grado di riconoscere l'uovo in entrambe le posizioni ?

Il problema serio poi, è che non so proprio come poter scrivere un programma che compilo questo XML.
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[36] Re: Artificial Vision Robot

Messaggioda Foto Utentecyclone » 2 mar 2013, 23:07

il colore non ha molta importanza nel XML,
e le foto devono essere scattate da molti punti di vista.

Ma tu devi catturare solo uova di un certo colore scartandone altre (tipo premi e punizioni?)

per il tracking eventualmente potresti eseguire un AND tra haar, e camshift.
Avatar utente
Foto Utentecyclone
86 2
New entry
New entry
 
Messaggi: 64
Iscritto il: 6 feb 2012, 11:38

0
voti

[37] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 2 mar 2013, 23:10

In più : ci sono dei codici per il matching di un template in una foto. Funzionano abbastanza bene, ne ho provato qualcuno.
Probabilmente facendo fare un check con diversi 'template' potrei avere una soluzione più precisa. Potrebbe essere una soluzione ?

cyclone ha scritto:il colore non ha molta importanza nel XML,
e le foto devono essere scattate da molti punti di vista.

Ma tu devi catturare solo uova di un certo colore scartandone altre (tipo premi e punizioni?)

per il tracking eventualmente potresti eseguire un AND tra haar, e camshift.


No, devo catturarle tutte quante, quante più possibile.
Il fatto del colore è solo per estetica (anche se sarebbe stato molto più semplice se fossero state un solo colore. Ma così non è , quindi adeguiamoci ;) )

Per il tracking, ci penserei dopo.
Il problema sarà cercare di capire dove si trova l'uovo e farlo raggiungere dal robot (con Arduino tra l'altro).
Ma va beh, ci penseremo ;) ho due settimane giorno più giorno meno.
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

6
voti

[38] Re: Artificial Vision Robot

Messaggioda Foto Utentedimaios » 3 mar 2013, 18:11

Foto Utentepierinter, mi sembra che tu stia sottovalutando la difficoltà del lavoro.
Il riconoscimento di oggetti non è affatto banale e necessita molto studio.
Procedere a caso da una soluzione ad un'altra non porta a nessun beneficio.

Per quanto riguarda l'XML leggi questo.

Per quanto riguarda le Haar features impiegate nella libreria OpenCV leggi questo tutorial molto ben fatto.

Per fare esperimenti ti conviene scaricarti il machine vision toolbox di Peter Corke, è gratuito e facilita molto il lavoro di simulazione.

Un ultimo consiglio ..... prova prima con tecniche che non richiedono il training.
Se proprio devi impiegare tecniche di alto livello, ad essere sincero impiegherei le SVM ( Support Vector Machine ) anzichè le Harr-like features, ma ovviamente richiedono almeno un paio di mesi di studio intensivo partendo da un bagaglio di conoscenze matematiche adeguato.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3209
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[39] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 3 mar 2013, 20:32

Non direi che sto procedendo a caso... sto semplicemente facendo delle prove.
Ho provato qualsiasi cosa che mi è venuta in mente per evitare il training, ma non mi soddisfa nulla.

So che è un lavoro difficile, non lo metto in dubbio, ma questo s'adda fa :mrgreen: Allora non mi arrendo e ci provo.Anche perché è una cosa che mi ha sempre incuriosito e mi piacerebbe sbatterci un po' la testa, ora che sono anche finiti gli esami.

Sto cercando di capire qualcosa in più sul training, ti ringrazio per i link , ora li guardo!

Ho capito più o meno come funziona (positivi,negativi) e che è quello utilizzato per il riconoscimento facciale.

Devo capire come iniziare però.

SVM ? che differenza hanno dalle Haar?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

3
voti

[40] Re: Artificial Vision Robot

Messaggioda Foto Utentedimaios » 4 mar 2013, 11:12

Sono entrambi appartenenti alla categoria dei classificatori mediante reti neurali ( in senso generale ) ma l'approccio e' completamente diverso.

Per le Haar like features puoi leggere questo articolo molto ben fatto.
Si riferisce al riconoscimento facciale come la maggior parte delle applicazioni di questa tecnica.

Per quanto riguarda l' SVM le cose si complicano parecchio.
Un paper molto interessante dal quale partire e' il seguente.

Esistono vari pacchetti software in rete ( anche per Matlab ) con i quali puoi tentare la classificazione.
In questo sito ne trovi uno che ho impiegato in passato con soddisfazione. Ovviamente non e' fatto per applicazioni realtime ma puoi sempre fare dei test e poi impiegare una libreria in C++ per il software finale.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3209
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

Precedente

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite