continuità valori - visione artificiale [risolto]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: continuità valori - visione artificiale

Messaggio da submax82 »

scusate per il ritardo

Immagine

ecco i test con dilate e erode 3x3, stessi problemi [-o< aiuto [-o<

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: continuità valori - visione artificiale

Messaggio da absinthe »

mmm... scusa la domanda ma sono le stesse foto dell'altra volta?! il dilate + erode ha fatto tutto ciò, incrementando così bene la definizione di certe foto?!

allora : riguardo all'ultima foto che hai inviato: se la testa esce dal piano parallelo al piano focale col cavolo che determini l'angolo usando solo l'ellisse... quello è tempo perso in partenza.

continuo a non capire come mai ti vengono tutte quelle chiazze più piccole. come sogli l'immagine per ottenere le aree?! secondo me c'è ancora margine a) nel tirare fuori le aree rosse lavorando sul sistema di individuazione b) nel processing dell'immagine (erosioni etc...) c) il sistema che usi non clusterizza e perde incredibilmente di robustezza.

avresti 1 sola immagine problematica da vedere?! hai l'acquisizione di un fotogramma un pò rognoso?! non *il più* rognoso ma uno con problematiche standard. se lo trovi mandalo al mio indirizzo e-mail. se ho un pò di tempo ci smanetto!

ciao,
M

PS: l'indirizzo lo trovi in pm

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: continuità valori - visione artificiale

Messaggio da submax82 »

a) non è la stessa immagine dell'altra volta
a2) le righe verdi dovrebbero essere gli assi della regione, ma l'angolo è errato quindi lo sono anche loro, anche se alcune volte vengono corretti
b) dilate + erode ha migliorato le cose ma mi ha rallentato tutto non poco #-o
c) ho capito che la testa non è più parallela al piano focale ma c'è comunque una regione rossa inclinata, quindi ha un certo angolo negativo che deve saltar fuori ma non viene
d) il sistema di individuazione si basa sul colore della pelle: converte il valore di ogni pixel del frame in RGB, portandolo in HSB e da qui imposta come foreground solo i pixel con valore della tonalità H compreso tra 0 e 25
d2) poi all'interno del foreground viene individuata la regione con area maggiore (la testa)
d3) le chiazze più piccole sono altre regioni che becca ma con area più piccola, vengono solo visualizzate per completezza ma non sono prese in considerazione
e) la clusterizzazione non sò neanche cosa sia :oops: :oops: :oops:
F) il mio PROBLEMA è che quando calcolo i momenti, il momento Mrc alcune volte viene positivo quando deve venire nagativo e viceversa ma senza continuità quindi non trovo un sistema per "sistemarlo" e quindi gli angoli sono sballati

ti ringrazio moltissimo, ma a stò punto ho sempre più paura di non riuscire a risolvere :roll: #-o

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: continuità valori - visione artificiale

Messaggio da absinthe »

allora:
a) in realtà alcune immagini sembrano uguali come posizione ad altre che già hai postato. cambia però il contrasto!
b) lo so questo è il limite... vedessi che succede con un filtro di canny ;-)!
d) eccola la sogliatura!! hai provato a variare la soglia?! non 0-25 ma altro (a casaccio 11-38)?! S e B non aiutano?! altrimenti hai ancora 2 gradi di libertà da usare!!!
e) la clusterizzazione è "il raggruppare alcuni elementi in base a caratteristiche comuni". quando tu selezioni la pelle fai clustering con un parametro (H) e generi due cluster (o gruppi) uno con H <=25 e l'altro con H>25. di fatto gli elementi più semplici da valutare negli oggetti di un'immagine sono: colore e area (poi vegono l'orientamento degli assi principali di inerzia e poi ancora cose più incasinate...)

imho potresti :
1- verificare come H, S e B aiutino nel clustering del colore (se non è cosa già nota!)
2- realizzare un clustering calcolando il baricentro e gli assi usando *anche* le aree più piccole. non tutte ovviemente.

per il punto due devi fare un clustering di tipo diverso da quello che già fai (selezione su H(SB)). ad esempio puoi fare delle ipotesi semplificative:
a) l'area più grossa con H<=25 è di sicuro parte del cranio;
b) tutto ciò che va in foreground e stà in un intorno di raggio X dal baricentro dell'area grande va agglomerato e considerato nel calcolo finale di baricentro+assi.

c) vedere che succede e rifare altre ipotesi (vedi galileo galilei :-)

ciao,
M

PS: ma il tuo relatore di tesi che fa?! la bella statuina?! di solito *prima* si forma il laureando - specie se è uno della triennale - e poi si mette all'opera (lo dico per mia esperienza come relatore di tesi).

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: continuità valori - visione artificiale

Messaggio da submax82 »

ora ho messo un un check per il foreground che verifica che 0<H<30 oppure 330<H<360 e così sembra migliorata un pò e rileva bene la testa, il problema è che sti angoli maledetti che calcolo dai momenti vengono alcune volte >0 e altri <0 ma non in modo "legato" alla testa, nel senso che anche se la testa è in avanti, l'angolo non è sempre positivo come mi aspetterei...

il mio relatore è bravo però per questo problema siamo entrambi titubanti, non sappiamo come fare :S

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: continuità valori - visione artificiale

Messaggio da absinthe »

i momenti sono sempre legati alla testa, ma non a quella che vedi tu ma a quella che riesci a far vedere al sistema con i tuoi clustering... se sbaglia gli angoli significa che non riesci a clusterizzare bene tutte e sole le info necessarie (fatto salvo il problema dell'uscita dal piano focale).
se sul HSB pensi di aver spremuto tutto devi iniziare a ragionare su altri tipi di clustering, ad esempio raggruppare tra loro la varie aree più piccole unendo le a quella grossa. è la prima cosa che farei io. il problema tuo è che se perdi pezzi per strada poi l'asse maggiore e quello minore dell'ellissoide si invertono! facci caso! e così sballi gli angoli! per non invertirli devi clusterizzare meglio.
se poi non vuoi risolvere alla base (magari per carenza di tempo) allora devi inventarti una toppa... ma non so quanto sia facile forzare gli assi a rimanere in posizione... a parte i fliltri a un polo fare ipotesi sulla storia temporale non è semplice... c'è ad esempio il filtro di kalman che piace tanto agli elettronici.
ma prima di inserire un sistema di predizione robusta io eliminerei il disturbo alla base. anche perchè il sistema di predizione apre un'altra porta non banale da implementare...

ciao,
M

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: continuità valori - visione artificiale

Messaggio da submax82 »

sistemato utilizzando atan2 nella formula che ricava l'angolo di inclinazione dai momenti ;)

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: continuità valori - visione artificiale

Messaggio da absinthe »

... cioè era solo un problema di algoritmi trigonometrici?! m*****a !!! non c'avevo proprio pensato. atan2 è un pò l'abc delle trigonometria (atan è un cesso praticamente inutilizzabile, specie su angoli piccoli :-). errore mio a non dirtelo prima!

però strano che clusterizzi bene anche quando gli ellissoidi andavano a ramengo! meglio così! ma scusa... se guardi l'ultima serie di foto postate: http://img97.imageshack.us/i/testuk.png/ anche nella seconda foto in alto era solo un errore di atan2?!?!

M

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Re: continuità valori - visione artificiale

Messaggio da submax82 »

no non c'era solo la atan2 mi spiego meglio:

1) per la clusterizzazione ho cambiato i valori delle soglie, ora il foreground sono i punti con -30<H<30
2) atan2 al posto di atan
3) mrr - mcc nel denominatore della formula, per cambiare la convenzione dell'ellisse che deve avere l'asse maggiore verticale (come la testa)

con questo sembra tutto ok... ora però ho un problema con una roba grafica, l'algoritmo che visualizza gli assi, speriamo di risolverlo... ci penso un pochetto poi al massimo ti chiedo ;)

ti ringrazio moltissimo per il supporto :thumbright: :love4:

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: continuità valori - visione artificiale

Messaggio da absinthe »

figurati. in realtà hai fatto tutto tu!

ciao e in bocca al lupo,
M

Rispondi