Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2011, 09:55   #1
andrea86re
Junior Member
 
Iscritto dal: May 2011
Città: Reggio Emilia
Messaggi: 17
[c/c++ & OpenCV] riconoscimento oggetti da archivio immagini

Ciao a tutti,

Sono un ingegnere meccatronico e sto entrando solo adesso nel mondo del computer vision per necessità di integrare un "semplice" applicativo di object detection su un braccio robotico.

Quello che devo fare è, avendo a disposizine un archivio di immagini di oggetti da identificare (una immagine JPG per ogni oggetto, per esempio bottiglie di bibite), rilevare la posizione nell'immagine ottenuta dalla telecamera di ognuna di queste bottiglie, se presente.
Immagino che il problema sia di facile soluzione per chiunque con un minimo di esperienza, e spero che possiate darmi consigli e magari qualche link a codici esempio simili.

Il problema è molto più semplice di un face detector basato su classificatori, in quanto l'oggetto da rilevare è uno ed è definito da una singola immagine campione.

Grazie in anticipo
andrea86re è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 10:46   #2
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
di che tipo di oggetti si tratta e in che ambiente ti aspetti di trovarli?

a meno che la luce, la vista e l'ambiente non siano controllati un problema di detection è tutto tranne che semplice (il fatto che l'esempio sia solo uno non migliora le cose).

Chiaramente poi la palla rossa su sfondo verde si trova facile facile
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 11:11   #3
andrea86re
Junior Member
 
Iscritto dal: May 2011
Città: Reggio Emilia
Messaggi: 17
Gli oggetti possono essere cartoni o bottiglie di bibite, mentre l'ambiente può essere vario, ma partirei da un armadio a mensole.
L'illuminazione rimane abbastanza costante (luogo interno con luce artificiale + luce naturale dalle finestre ma mai diretta).

Le variabili possono essere la distanza dell'oggetto dalla telecamera (comunque determinata tra un minimo ed un massimo) e la parziale rotazione dell'oggetto.

Non è una palla rossa su fondo verde
andrea86re è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 14:03   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da andrea86re Guarda i messaggi
Gli oggetti possono essere cartoni o bottiglie di bibite, mentre l'ambiente può essere vario, ma partirei da un armadio a mensole.
L'illuminazione rimane abbastanza costante (luogo interno con luce artificiale + luce naturale dalle finestre ma mai diretta).

Le variabili possono essere la distanza dell'oggetto dalla telecamera (comunque determinata tra un minimo ed un massimo) e la parziale rotazione dell'oggetto.

Non è una palla rossa su fondo verde
Se non ricordo male ci sono gia' degli esempi di riconoscimento nella directory di installazione di OpenCV. Hai dato un'occhiata? Normalmente trovi gia' quello che ti serve (sono sempre stato piuttosto fortunato ). Ci sono anche esempi di riconoscimento di persone, quindi dovresti trovare quello che ti serve.

C'e' anche un esempio di riconoscimento di un semplice rettangolo: nonostante la semplicita', ti mostra i vari passaggi che servono per arrivare al riconoscimento (miglioramento del contrasto, soglia, erosioni/dilatazioni, selezione delle aree, calcolo del perimetro e controllo della forma)

E poi... c'e' il sito di Flavio Bernardotti, puoi trovare quello che ti serve ed un aiuto (magari in italiano)
__________________
In God we trust; all others bring data

Ultima modifica di sottovento : 04-05-2011 alle 14:05.
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 15:01   #5
andrea86re
Junior Member
 
Iscritto dal: May 2011
Città: Reggio Emilia
Messaggi: 17
Ho guardato nella directory che dicevi e ho visto molti esempi a dir poco stuzzicanti!
Per quello che riguarda la mia applicazione, l'unica idea che mi viene è quella di prendere spunto dal camshift...

In realtà però io non devo fare il tracking di un oggetto su video, devo solo riconoscerlo all'interno di un contesto.

Stavo anche provando a realizzare un codice che giri attorno alla funzione cvmatchtemplate, però la cosa mi risulta molto ardua pensando alla distorsione dell'oggetto da riconoscere dovuta alla diversa posizione spaziale (quindi oggetto più grande o più piccolo del template) e alla semi-rotazione.

Farò qualche prova... Intanto grazie delle risposte! e qualunque idea/consiglio è ben accetta
andrea86re è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 20:20   #6
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
non ho mai usato la parte di template matching, ma immagino che anche in quel caso un solo esempio non sia il massimo.

la parte di object detection che io sappia è tutta fatta per addestramento, sia che siano svm (il caso degli HOG con i pedoni), sia che sia adaboost (caso delle feature di Haar sulle facce).

Forse l'idea migliore è fare del matching con delle SIFT, in opencv dovrebbero esserci
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 20:36   #7
andrea86re
Junior Member
 
Iscritto dal: May 2011
Città: Reggio Emilia
Messaggi: 17
Quote:
Originariamente inviato da NA01 Guarda i messaggi
Forse l'idea migliore è fare del matching con delle SIFT, in opencv dovrebbero esserci
Si infatti stavo parlando oggi con un collega e mi ha accennato proprio alla SIFT o SURF come possibile strada da seguire.. Non ho ancora ben chiaro di cosa si tratti, ma venerdì ci lavorerò un pò su...
Intanto grazie per la info.
andrea86re è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:48.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v