Forum >> Programmazione Python >> Scripting >> Content Based Image Retrieval

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Blog.
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.


Pagina: 1



Esegui il login per scrivere una risposta.