Informe setmanal-Sessió 5
Projecte GDSA 101.1 - What a building App!
Albert Altarriba
Cristian Camps
Marc Lladó
Carlos Manso
Sergi Santana
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Sessió 4:
# Objectiu
# Reconstrucció eval_ranking
# Get_features
# Crear un BoW (Bag of Words)
# Ranking
# Resultats
#OBJECTIU
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
L’objectiu és fer el primer cercador d’imatges. Escollir una imatge(query) de val i que retorni un rank amb les imatges que més se semblen (matching).
#Reconstrucció eval_ranking
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Hem millora’t la funció eval_ranking respecte l’anterior sesió.
Link: eval_ranking at Git Hub
AP,MAN = evaluate_rank(dir_rank)
#Get_features → linkGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Genera dos diccionaris, un per les imatges de Validació i un altre per les d’entrenament. (bow_val.p i bow_train.p).
Hem creat un directori “funciones” per guardar les diferents funciones generades:
get_local_features(imatge) → LINKGitHub
train_codebook(num_clusters, descriptores) → LINKGitHub
get_assignments(codebook, descriptores) - LINKGitHub
build_bow(assignments) → LinkGitHub
#Get_local_features → LINKGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Per una imatge trobem els descriptors i els punts d’interés.
Imatges de 500x500 per no bloquejar l’ordinador.
Hem utilitzat SIFT, pero hem probat d’altres métodes
com l’ORB.
#train_codebook → LINKGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Amb el número de clusters decidim quantes regions volem que tingui, seria el valor de K en l’algoritme de kmeans.
Un exemple dels valors que retorna del codebook
creat.
Obs: Hem tingut problemes per compilar l’script,
no sabem si per problemes de l’ordinador o pel codi.
#get_assignments → LINKGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Amb els valors del codebook, asignarem a cada descriptor a quina regió pertany.
Un exemple d’asignació per un descriptor:
Els punts blaus son del codebook
Els dos punts vermells son les dos regions a on
pertany els descriptors. (k=2)
#build_bow → LINKGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Es crea un histograma de quants descriptors pertanyen a cada regio.
Fem un plot del histograma quan k = 10, la figura
ens diu quants descriptors d’una imatge pertanyen
a cada regió.
#Get_features → linkGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Ara llegim totes les imatges i creará dos diccionarios, un per imatges de val i altre de train.
KEY ID -- Array [Característiques]
Les característiques
haurien de ser tipus float,
pero hem tingut
problemes per normalitzar. ISSUE-> LINK
#rank → LINKGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
En l’aplicació rank tractem d’assignar una proximitat de la imatge de validació amb la d’entrenament i fer un rànking de les més semblants
Obs:
Hem tingut problemes per entendre la funció per a calcular distàncies euclidianes però amb la documentació hem pogut obtenir-la.
Pàgina
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Al nostre website hem completat el que ja haviem fet la setmana passada, explicant què tenim fet fins el moment.
Tal com es demanava, hem afegit els enllaços a les presentacions de la Sessió 3, Sessió 4, i la d’aquesta setmana, la Sessió 5.
#Resultats → linkGitHub
What a building App! → Marc Lladó - Albert Altarriba - Cristian Camps - Carlos Manso - Sergi Santana
Notebook d’extracció de caracteristiques: LINK