Egara View

Cercador i classificador visual

View project on GitHub

Informació referent a tota la implementació del projecte i enllaç a Jupyter Notebook per a cada sessió. No has sentit a parlar de l'aplicació Jupyter Notebook? Aquí tens la informació que necesites.

Informe (diapositives) Demo (Jupyter Notebook)
Sessió 3 Extracció de característiques
Sessió 4 Sistema aleatòri
Sessió 5 Primera recerca
Sessió 6 Rànquing i Classificador
Sessió 7 Rànquing, Classificador i Característiques
Exàmen Rànquing, Classificador i Característiques

Què és Egara View?

Egara View es una plataforma implementada i desenvolupada amb el llenguatge Python que, mitjançant un cercador i classificador visual, reconeix els diferents edificis emblemàtics de Terrassa.

Els usuaris poden prendre una fotografia d'aquests edificis i obtenir informació d'interés sobre aquest edifici si es troba dins la nostra base de dades.

Els diferents edificis emblemàtics amb els que treballa Egara View són els següents:

  • L' ajuntament de Terrassa
  • El castell cartoixa
  • La catedral
  • El monument de la dona treballadora
  • L' escola enginyeria de Terrassa
  • L' estacio del nord
  • La farmacia Albinyana
  • La masia freixa
  • El mercat de l'independencia
  • El Museu de la Ciència i de la Tècnica de Catalunya
  • La societat general
  • El teatre principal

Y una altra classe que permetria classificar els edificis que no són cap d'aquets nombrats anteriorment que s'anomena 'desconegut'.

Llenguatge Python

Per què Egara View?

Egara View ha estat disenyat com a projecte de l'assignatura 'Gestió i distribució de senyals audiovisuals'. Es pot fer servir per qualsevol dubte relacionat amb edificis que desconeixes sobre Terrassa amb el simple fet de fer-ne una fotografia.

Qui som?

El projecte Egara View ha sigut desenvolupat per un grup de quatre estudiants d'enginyeria de sistemes audiovisuals de l'Escola d'enginyeria de Terrassa (EET):

Nom i Cognom Perfil de GitHub Perfil de LinkedIn
Gerard Auguets @gerardkm94 Enllaç
Ivan Caminal @Ivancaminal72 Enllaç
Carles Morales @carlesm95 Enllaç
Adrià Zarzuela @AZarzuela Enllaç

Com funciona?

Partint de l'esquema, primer de tot Egara View parteix d'una Base de Dades formada per 180 fotos d'entrenament, que com el nom indica, serviran per entrenar el nostre sistema i, per 450 fotos de validació que serviran per evaluar el nostre sistema. Inicialment, ens centrarem en dotze edificis diferents de Terrassa, però aquest nombre de espais turístics es podría incrementar.

El bloc de l'extracció de característiques és, que Egara View té la funció de detectar i cercar els punts característics de la imatge (o de les imatges) desitjades mitjançant un extractor de característiques que, en el nostre cas és el RootSIFT. El RootSIFT ens retorna un vector de 1000 característiques per cada punt d'interès.

Aleshores, utilitzem una funció anomenada MiniBatchKMeans que, per cada un d'aquests punts d'interès, l'assigna a una regió previament càlculada, anomenada 'cluster' que en el nostre cas en definim 1024. Per a cada regió, és càlcula el punt mitj de les distàncies, anomenat 'centroide'.

Aquestes assignacions de cada regió són les permeten crear el BoW (bag of words), un vector que esta format per paraules visuals.

Aquí podem veure un exemple de com es calcularia les característiques -KeyPoints- d'una fotografia de l'escola d'enginyeria de Terrassa:

El bloc del rànquing es duu a terme gràcies a les BoW anomenades anteriorment, ja que passant una imatge a evaluar, es càlculen les distàncies euclidianes entre l'histograma de les imatges de validació i les d'entrenament i ens permet càlcular i fer un rànquing de les imatges amb un valor més petit sobre la distància euclidiana, és a dir, les imatges que més s'assemblen, ja que com més petita es la distància, voldrà dir que més s'emblant és la imatge.

Pel que fa al bloc del classificador, passant una imatge o, en aquest cas imatges, gràcies un altre cop a les BoW i a un identificador de cada imatge (ID) et classifica aquestes imatges segons a la classe que pertanyen, és a dir, a quin edifici es correspon.

Aquí podeu consultar dues demos d' exemple de com funciona el nostre rànquing i el nostre classificador: Rànquing, Classificador.

Com podeu observar, la demo del rànquing, ens mostra les 10 imatges més semblants a la imatge passada com a query. En canvi, la demo del classificador, ens classifica 10 imatges diferents segons a la classe a la que pertany, és a dir, si sap a quin edifici de Terrassa es correspon la imatge. Cal dir que classifica com a 'desconegut' les imatges que formen part d'edificis que no estan registrats a la nostra base de dades.

Si voleu consultar nformació addicional sobre com funciona Egara-View: Enllaç

Podeu trobar tot el codi per l'impementació a la capçalera de la pàgina.

Fiabilitat del projecte

La fiabilitat del projecte es pot demostrar amb diversos càlculs de mesures gràcies a dues fucions que evaluen els resultats del rànquing i del classificador.

Si voleu trobar informació addicional sobre com han estat calculades aquestes mesures: Enllaç

Classificador

Pel que fa al classificador s'obtenen aquests resultats:

Mesures Resultats Descripció de les mesures
F1 0.796 La F1 és la mesura que combina la precisió y recall
Precisió (Precision) 0.862 Precisió de les imatges que són rellevants
Recall 0.753 Imatges que són rellevants per la consulta
Exactitud (Accuracy) 0.794 Exactitud dels resultats

Aquí podeu trobar un exemple de com funciona el nostre classificador:

Pel que fa a les classificacions del Castell Cartoixa:

I pel que fa a la farmàcia Albinyana:

Matriu de confusió

La matriu de confusió és una eina que permet la visualització de la efectivitat del nostre sistema, que es pot observar en la diagonal d'aquesta.

Rànquing

Pel que fa al rànquing s'obté aquest resultat:

Mesures Resultats Descripció de les mesures
Mean Average Precision (mAP) 0.297 Mitja de les precisions per a cada imatge

Per a més informació, adreçar-se al repositori de GitHub gdsa-upc, indicat més abaix.