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

2
voti

[11] Re: Artificial Vision Robot

Messaggioda Foto Utentec1b8 » 26 gen 2013, 22:24

Ho provato ad utilizzare la prima delle due ultime immagini che hai postato come esempio,
questa per capirci:
robocup05_game2-s.jpg
robocup05_game2-s.jpg (62.41 KiB) Osservato 990 volte

ed estrarne i contenuti come ti proponevo di fare, questo il risultato:
OUTPUT.jpg
OUTPUT.jpg (89.4 KiB) Osservato 990 volte

A mio avviso questa seconda immagine è più facilmente elaborabile, molte delle complessità sono scomparse.
Devi solo interpretare delle linee bianche e individurne alcune a "forma" di uovo o pallina che sia.
A dire il vero, nello specifico esempio, è quasi del tutto irriconoscibile la palla perché contesa tra 2 robot.

Il riconoscimento degli oggetti non è certo facile. Riferendoci all'esempio che hai proposto (gioco del calcio) tieni presente che le regole del gioco aiutano a semplificare la cosa, infatti:
- la palla è sempre arancione (tu invece affermi che hai palle di diverso colore)
- il campo di gioco è delimitato da righe bianche (sicuro che nel tuo caso non sia la stessa cosa?)
- nel campo di gioco di sono solo robot e palla. I giudici stessi devono stare fuori dal terreno di gioco.
- le porte sono sempre una gialla ed una blu. Una squadra deve segnare il primo tempo sulla porta gialla, il secondo tempo nella porta blu. (o viceversa)
Nonostante queste "semplificazioni" non è facile realizzare un robot che gioca a calcio.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[12] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 27 gen 2013, 3:47

Per quanto riguarda le openCV,Foto Utentecyclone, era la strada che pensavo di intraprendere con la Raspberry.
Tra l'altro io posseggo anche una schedina ARM della ST (ST DiscoveryLine), che magari può servire non so.

Mi piacerebbe però, invece che scartare Arduino a priori (anche se è giusto), provare a fare una piccola stima delle capacità computazionali necessarie, e poi confrontarle con quelle che Arduino fornisce, per avere uno spirito critico un po' più 'cosciente', che mi potrà comunque sempre tornare utile.

Foto Utentec1b8, per quanto riguarda le due immagini devo dirti che io della seconda non vedo nulla, tutto nero.
Non so se è un problema mio o che :)

Comunque si, so che non è una cosa semplice e sono al corrente delle semplificazioni che le partite di calcio dei robot hanno.
E son anche ben consapevole che non è semplice realizzare uno di quei robot:)

Però quei robot sono sviluppati perché DEVONO essere abbastanza veloci e sicuramente reattivi.

Quindi il mio scenario, che forse è un po' più complesso di quello dei robot calciatori, potrebbe essere analizzato perdendo in velocità, ma è un compromesso a cui posso andare incontro e che posso accettare:)
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[13] Re: Artificial Vision Robot

Messaggioda Foto Utentec1b8 » 27 gen 2013, 18:41

Ciao,
ti riporto l'immagine in un diverso formato, speriamo ora si veda.
Ti riporto inoltre un'immagine elaborata con una diversa tecnica.
OUTPUT_1.png
OUTPUT_1.png (18.36 KiB) Osservato 959 volte

OUTPUT.png
OUTPUT.png (22.62 KiB) Osservato 959 volte

Nella seconda la palla è più riconoscibile.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[14] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 27 gen 2013, 20:01

Senz'altro si, la seconda risulta migliore...

Secondo me però sarebbe conveniente fare una selezione almeno larga dei colori.

Non so se sia possibile, ma io farei una specie di cambiamento di colore di ogni pixel.
Cioè, seleziono il colore che mi interessa ( più o meno in questo caso l'arancione), e rendo NERI tutti i pixel che si discostano molto da questo colore.
Pobabilmente si può fare agendo separatamente sui 3 layer dei colori dell'immagine.

Comunque a questo punto si avrebbe un'immagine con i soli colori che ci interessano, e si potrebbe dare in pasto all'algoritmo che hai utilizzato tu per cercare dei bordi a forma circolare
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

6
voti

[15] Re: Artificial Vision Robot

Messaggioda Foto Utentedimaios » 27 gen 2013, 20:17

Innanzitutto se non usi Arduino II non hai molte possibilità ( link ).

Per quanto riguarda l'image processing direi che la strada più efficace è quella del riconoscimento dei cerchi impiegando un algoritmo tipo questo ( Ce ne sono anche altri. Prova prima con Matlab in simulazione ).
A questo devi unire una euristica per discriminare eventuali parti circolari appartenenti ai robot antagonisti.
Ovviamente si può pensare di discriminare anche in base al movimento. Se una parte circolare è in movimento vuol dire che appartiene ad un altro robot oppure è una palla ed un altro robot la movimenta per cui è inutile tentare di raggiungerla in quanto già catturata.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
28,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3202
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[16] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 29 gen 2013, 21:44

Guardate questo link molto interessante !

http://doc.tuxee.net/arrow#sec-2

Che ne pensate ?
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[17] Re: Artificial Vision Robot

Messaggioda Foto Utentegrandegiove » 1 feb 2013, 18:10

Ciao Foto Utentepierinter!

in passato mi sono occupato di Image Processing a livello calcolatore per il controllo qualità di processi di saldatura. Di recente ho implementato invece personalmente degli algoritmi di Blob Analisys finalizzati ad un controllo di processo utilizzando processori Microchip a 32 bit, 80 MHz della Microchip.

Il lavoro è stato abbastaza complesso e ho quindi potuto ben confrontarmi con la capacità computazionali di schede embedded di questo livello. Dalle specifiche del tuo progetto ho comunque la netta sensazione che un sistema di livello Arduino sia del tutto insufficiente per realizzare ciò che desiseri a meno che non accetti tempi di reazione decisamente poco real time.

Essendo lo scopo finale realizzare un "robot da competizione" non credo sia la soluzione migliore :roll:
Quindi o si abbassano le specifiche del progetto o credo sia opportuno optare per un sistema di elaborazione alternativo... :ok:
Avatar utente
Foto Utentegrandegiove
1.072 1 4 8
Expert
Expert
 
Messaggi: 513
Iscritto il: 18 ott 2010, 9:59

0
voti

[18] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 1 feb 2013, 18:16

Lo pensavo anch'io, però hai visto il video di cui ho messo il link nel post precedente ? Si ha una risposta abbastanza veloce..
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

0
voti

[19] Re: Artificial Vision Robot

Messaggioda Foto Utentegrandegiove » 1 feb 2013, 18:37

Ho visto il video. Interessante! Mi sembra però che sia una situazione abbastanza semplificata rispetto a quella che descrivi nel progetto. Campo di visione fisso, orientamento oggetto da seguire costante, illuminazione senza variazioni e tutto sommato tempo di reazione veloci ma non velocissimi.

L'impressione è che lo scenario che hai descritto all'inizio necessiti di una elaborazione ben più complessa di quella utilizzata nel video.

Ciò non toglie che tu possa fare qualche test per vedere cosa si riesce a fare, nel caso... facci sapere :ok:
Avatar utente
Foto Utentegrandegiove
1.072 1 4 8
Expert
Expert
 
Messaggi: 513
Iscritto il: 18 ott 2010, 9:59

0
voti

[20] Re: Artificial Vision Robot

Messaggioda Foto Utentepierinter » 1 feb 2013, 18:54

Diciamo comunque che la competizione non è che sia di altissimo livello, sono tutti robot con Arduino.
Quindi non ho bisogno di un elaborazione strettamente real time.
Mi piacerebbe utilizzare una raspberry ma purtroppo non si fa in tempo con i tempi di consegna.
Altre idee ?

Possiedo anche una STM32 discovery line, ma non so se può servire in questo caso...dovrei scrivermi tutto io da zero immagino. Mentre per raspberry e Arduino è già quasi tutto fatto con le openCV
Avatar utente
Foto Utentepierinter
620 2 7 10
Expert EY
Expert EY
 
Messaggi: 1395
Iscritto il: 23 mar 2009, 0:05

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti