blablabla
Profilo di
Nome | blablabla |
---|---|
Indirizzo email | n/a |
Messaggi | 1 |
-
- 2014-12-14 16:45:17
- Content Based Image Retrieval
- Forum >> Programmazione Python >> Scripting
- Ho iniziato da pochissimo a studiare python e il mio background è tutt'altro che scientifico.
Mi è stato assegnato un compito a tema CBIR dove partendo da un set di immagini devo creare un 'database' (nel mio caso ho optato per un più semplice dizionario) per indicizzare le immagini e infine implementare una funzione di ricerca che, inserendo un'immagine a caso come query' mi dia come risultato un'altra immagine simile (con features simili) a quella iniziale.
Facendo riferimento a un blog che si occupa di image processing ho ricavato questa funzione:
def search(index, query, set): results = {} for (k, features) in index.iteritems(): d = tf_idf(features, query, set) resultsk = d results = sorted([(v, k) for (k, v) in results.iteritems()]) return results
per calcolare la distanza tra le immagini il codice di partenza usa il chi quadrato, ma io vorrei provare ad adattarlo per usare tf-idf.
I miei problemi ora sono:
a) non so bene come adattare la funzione tf idf (normalmente usata su documenti di testo) per le immagini.
b) vorrei capire se è corretto usare come parametri della funzione il mio database, l'immagine query e l'intero set di immagini, o se sarebbe più corretto usare soltanto il set utilizzato come test).
c) il mio database è un dict of dict, dove la key principale è l'indice (0, 1, 2 ecc), le key secondarie sono 'features' e 'categories', come faccio a impostare il loop all'interno della funzione in modo tale da prendere in considerazione soltanto l'indice e le features?
Spero di non essere stata troppo confusionaria e grazie a chi volesse aiutarmi.