iFungus

Post on 27-Jun-2015

1.878 views 7 download

Transcript of iFungus

iFUNGUSUn’applicazione per il riconoscimento dei funghi tramite smartphone

AngeloOldaniMichele Pierangeli

Sistemi informativi multimedialiDocenti:

Raimondo SchettiniGianluigi Ciocca

INDICE

• Riconoscere i funghi

• Le tecnologie smartphone

• Un’applicazione per il riconoscimento di funghi in mobilità

• L’architettura dell’applicazione

• Il database

• Features Extraction

• Indexing

• Matching

• iFungus: interazione e user interface (UI)

• Limiti del progetto

• Sviluppi futuri

RICONOSCERE I FUNGHIForma

cappelloColore cappello

Superficie cappello

ImenioDimensioni/Proporzioni

spianatoconvessodepressoimbuto

ondulatoovoidalealveoli

ocramarrone chiaromarrone scuro

giallorosso

arancioviolaverdenero

lisciastriata

scanalatavellutata

screpolatazonata

verruchesquameaculei

lamellepori/tuboli

aculei

cappellogambo

๏ Commestibili

๏ Immangiabili

๏ Tossici

๏ Mortali

LE TECNOLOGIE SMARTPHONELarga diffusione negli ultimi anni

Fotocamera

GPS

Internet in mobilità

Market di applicazioni

APPLICAZIONE PER RICONOSCIMENTO FUNGHIScenario d’uso

ARCHITETTURA DI iFUNGUS

Tutto il processo di retrieval avverrà sullo smartphone, questo è permesso da:

• buona potenza di calcolo

• database ristretto

• il contesto d’uso potrebbe non permettere una buona connessione dati

DATABASE DI iFUNGUS

Thumbnail file: anteprimaAccess file: 960x640 pixel in formato .jpg

Feature space:almeno 10 vettori per ogni specie di fungo tenendo conto dei differenti stadi di crescita.

Feature vector:● Id del fungo● shape ● area e dimensioni, cappello e gambo● colore cappello e gambo● texture

Informazioni:● nome scientifico● sinonimi e nomi comuni● commestibilità● habitat● stagione● eventuali curiosità

FEATURES EXTRACTION

1. Scattare foto del fungo di scorcio.

2. Estrarlo dal contesto stabilendone la shape (Slope Magnitude Technique).

2. Convertire l’immagine alla stessa grandezza del database.

3. Separare il cappello dal gambo e immagazzinare le proporzioni.

4. Il colore della cappella e del gambo (Color distribution).

5. Texture cappello (Gabor Filters).

• Eliminare ostruzioni (rami, foglie)

• Posizionarsi a di circa 15 - 20 cm

• Inquadrare il fungo e aspettare che venga delineato il contorno

• Scattare la foto e controllare se il contorno è preciso

• Nel caso non sia preciso aggiustarlo manualmente

• Invio della query

SCATTARE LA FOTO DEL FUGNO DI SCORCIO

Edge: salto nell’intensità dell’immagine

Robert Operator: Gy per trovare il gradiente verticale e Gx per quello orizzontale

Slope Magnitude Method trovare i punti di intersezione tra i gradienti

SLOPE MAGNITUDE TECHINQUE

•Resize dell’immagine in modo da essere della stessa dimensione del database di feature.

•Eliminazione dello sfondo usando la shape.

•Equalizzazione delle curve.

CONVERSIONE EQUALIZZAZIONE E NORMALIZZAZIONE

Algoritmo:

•Contorno del fungo e partendo dal basso

•Angolo che contraddistingue l’attaccatura del gambo col cappello

•Sia da destra che da sinistra

•Linea di divisione

SEPARARE IL CAPPELLO DAL GAMBO

Estrazione di features:

● altezza complessiva del fungo

● altezza del cappello e del gambo

● larghezza del cappello e del gambo

ESTRAZIONE DELLE PROPORZIONI

Features colore: Dynamic Color Distribution Entropy of Neighborhoods

L’immagine viene scannerizzata riga per riga da sinistra a destra delineando dei quartieri di colore simili e suddividendo l’immagine in aree colorate.

RICONOSCIMENTO DEL COLORE

TEXTURE CAPPELLO

L’analisi della texture sarà effettuata sul cappello.

Viene utilizzato il Gabor Filter lavorare con ristrette larghezze di banda nel dominio delle frequenze spaziali permettendo una più approfondita analisi della texture.

INCERTEZZA INDIVIDUAZIONE

Se il riconoscimento dovesse fallire verrà chiesto all’utente di:

•scattare una nuova foto del fungo, dall’alto, in modo da prendere soltanto il cappello e fare una nuova estrazione di features.

•discriminare visivamente e scegliere quali tra i funghi presentati assomiglia di più al fungo fotografato.

INDEXINGOrganizzazione del database utilizzando una struttura dati che sfrutti le relazioni spaziali tra i vettori.

Struttura ad albero: Modello k-d tree

MATCHING

Vector space model possiamo definire come un documento (d) l’insieme di tutte le features (wj) estratte dalle immagini prototipiche di una specie di un fungo. La query (q) sarà composta da tutte le features (wq) estratte dall’immagine scattata dall’utente.

Come misura di similarità si è scelto di utilizzare il coseno degli angoli tra i due vettori presente nel feature space.

Coseno vicino ad 1 = query molto simile al vettore comparatoCoseno vicno a 0 = query molto dissimile al vettore comparato

INTERAZIONE E UI

Splash screenapplicazione

INTERAZIONE E UI

L’utente deve porsiad una distanzadi 15-20 cm e

dovrà centrare il fungo nella sagoma

verde

INTERAZIONE E UI

Se il fungo non è stato

completamente catturato viene

data la possibilità di selezionare a mano

l’area interessata

INTERAZIONE E UI

Area completata a mano dall’utente

che colora le parti interessate

INTERAZIONE E UI

Risultati multipli

Possibilità di affinare i risultati scattando una foto anche dall’alto.

INTERAZIONE E UI

Scatto foto dall’alto

INTERAZIONE E UI

Fungo riconosciuto

Grado di commestibilità

INTERAZIONE E UI

Informazioniaggiuntive di

supporto

INTERAZIONE E UI

Fungo riconosciuto,

tossico

INTERAZIONE E UI

Possibilità di salvare la

posizione GPS in cui è stato trovato

LIMITI• Progetto prettamente teorico che non permette di verificare la stabilità del sistema.

• Sarebbe opportuno popolare una vasto database di immagini.

• Il contesto d’uso naturale rende l’utilizzo dell’applicazione più complesso a causa dei forti cambiamenti delle variabili ambientali.

• Impossibilità o difficoltà di riconoscere la forma degli Imenofori.

• Rischio nel riconoscimento di un fungo sbagliato.

SVILUPPI FUTURI

• Utilizzo di un expert system

• Tecnologia GPS

GRAZIE