Profilo di blablabla

Nome blablabla
Indirizzo email n/a
Messaggi1
  • 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.