Bag-of-words modell i datorseende
I datorseende kan påse -of-words-modellen (Bow-modellen) som ibland kallas påse-of-visual-words-modellen appliceras på bildklassificering eller hämtning , genom att behandla bilddrag som ord. I dokumentklassificering är en påse med ord en sparsam vektor av förekomsträkningar av ord; det vill säga ett sparsamt histogram över ordförrådet. I datorseende är en påse med visuella ord en vektor av förekomsträkningar av ett ordförråd av lokala bildegenskaper.
Bildrepresentation baserad på BoW-modellen
För att representera en bild med BoW-modellen kan en bild behandlas som ett dokument. På samma sätt måste "ord" i bilder också definieras. För att uppnå detta inkluderar det vanligtvis följande tre steg: funktionsdetektering , funktionsbeskrivning och kodboksgenerering. En definition av BoW-modellen kan vara "histogramrepresentationen baserad på oberoende egenskaper". Innehållsbaserad bildindexering och hämtning (CBIR) verkar vara den tidiga anammaren av denna bildrepresentationsteknik.
Funktionsrepresentation
Efter funktionsdetektering abstraheras varje bild av flera lokala patchar. Funktionsrepresentationsmetoder handlar om hur man representerar lapparna som numeriska vektorer. Dessa vektorer kallas funktionsdeskriptorer. En bra deskriptor bör ha förmågan att till viss del hantera intensitet, rotation, skala och affina variationer. En av de mest kända deskriptorerna är Scale-invariant feature transform ( SIFT). SIFT konverterar varje patch till 128-dimensionell vektor. Efter detta steg är varje bild en samling vektorer av samma dimension (128 för SIFT), där ordningen på olika vektorer inte spelar någon roll.
Kodboksgenerering
Det sista steget för BoW-modellen är att konvertera vektorrepresenterade patchar till "kodord" (analogt med ord i textdokument), vilket också producerar en "kodbok" (analogi till en ordbok). Ett kodord kan betraktas som en representant för flera liknande patchar. En enkel metod är att utföra k-medelklustring över alla vektorer. Kodord definieras sedan som centrum för de inlärda klustren. Antalet kluster är kodboksstorleken (analogt med storleken på ordlexikonet).
Således mappas varje lapp i en bild till ett visst kodord genom klustringsprocessen och bilden kan representeras av kodordens histogram .
Lärande och erkännande baserat på BoW-modellen
Datorseendeforskare har utvecklat flera inlärningsmetoder för att utnyttja BoW-modellen för bildrelaterade uppgifter, såsom objektkategorisering . Dessa metoder kan grovt delas in i två kategorier, oövervakade och övervakade modeller. För problem med kategorisering av flera etiketter förvirringsmatrisen användas som ett utvärderingsmått.
Oövervakade modeller
Här är några noteringar för detta avsnitt. Anta att storleken på kodboken är .
- : varje patch är en V-dimensionell vektor som har en enda komponent lika med en och alla andra komponenter lika med noll (För k-betyder klustringsinställning indikerar den enskilda komponenten lika med en klustret som tillhör). Det te kodordet i kodboken kan representeras som och för .
- : varje bild representeras av , alla patchar i en bild
- : den e bilden i en bildsamling
- : kategori för bilden
- : tema eller ämne för patchen
- : blandningsproportion
Eftersom BoW-modellen är en analogi till BoW-modellen i NLP, kan generativa modeller utvecklade i textdomäner även anpassas i datorseende. Enkel naiv Bayes-modell och hierarkiska Bayes-modeller diskuteras.
Naiva Bayes
Den enklaste är Naiv Bayes klassificerare. Med hjälp av språket för grafiska modeller beskrivs Naiv Bayes-klassificeraren av ekvationen nedan. Den grundläggande idén (eller antagandet) med denna modell är att varje kategori har sin egen fördelning över kodböckerna, och att fördelningarna för varje kategori är observerbart olika. Ta en ansiktskategori och en bilkategori som ett exempel. Ansiktskategorin kan betona kodorden som representerar "näsa", "öga" och "mun", medan bilkategorin kan betona kodorden som representerar "hjul" och "fönster". Med en samling träningsexempel lär sig klassificeraren olika fördelningar för olika kategorier. Kategoriseringsbeslutet fattas av
Eftersom Naiv Bayes-klassificeraren är enkel men ändå effektiv, används den vanligtvis som en baslinjemetod för jämförelse.
Hierarkiska Bayesianska modeller
Det grundläggande antagandet om den naiva Bayes-modellen håller inte ibland. Till exempel kan en naturlig scenbild innehålla flera olika teman. Probabilistisk latent semantisk analys (pLSA) och latent Dirichlet-allokering (LDA) är två populära ämnesmodeller från textdomäner för att ta itu med det liknande problemet med flera "tema". Ta LDA som ett exempel. För att modellera naturliga scenbilder med LDA görs en analogi med dokumentanalys:
- bildkategorin mappas till dokumentkategorin;
- blandningsandelen av teman kartlägger blandningsandelen av ämnen;
- temaindexet mappas till ämnesindex;
- kodordet mappas till ordet.
Denna metod visar mycket lovande resultat i kategorisering av naturliga scener i 13 naturscenekategorier .
Övervakade modeller
Eftersom bilder representeras baserat på BoW-modellen, kan vilken diskriminerande modell som helst som är lämplig för textdokumentkategorisering prövas, såsom support vector machine (SVM) och AdaBoost . Kernel trick är också tillämpligt när kärnbaserad klassificerare används, såsom SVM. Pyramid match kärnan är en nyutvecklad baserad på BoW-modellen. Den lokala egenskapsmetoden att använda BoW-modellrepresentation som lärts av maskininlärningsklassificerare med olika kärnor (t.ex. EMD-kärna och kärna) har testats omfattande inom området textur och objektigenkänning. Mycket lovande resultat på ett antal dataset har rapporterats. Detta tillvägagångssätt har uppnått mycket imponerande resultat i PASCAL Visual Object Classes Challenge .
Pyramid match kärna
Pyramid match kernel är en snabb algoritm (linjär komplexitet istället för klassisk en i kvadratisk komplexitet) kärnfunktion (uppfyller Mercers villkor ) som mappar BoW-funktionerna, eller uppsättningen funktioner i hög dimension, till flerdimensionella flerupplösningshistogram. En fördel med dessa multi-upplösningshistogram är deras förmåga att fånga samtidigt förekommande funktioner. Pyramidmatchningskärnan bygger histogram med flera upplösningar genom att samla datapunkter i diskreta områden med ökande storlek. Således har punkter som inte matchar vid höga upplösningar chansen att matcha vid låga upplösningar. Pyramidmatchningskärnan utför en ungefärlig likhetsmatchning, utan explicit sökning eller beräkning av avstånd. Istället skär den histogrammen för att approximera den optimala matchningen. Följaktligen är beräkningstiden endast linjär i antalet funktioner. Jämfört med andra kärnangrepp är pyramidmatchningskärnan mycket snabbare, men ger ändå likvärdig noggrannhet. Pyramidmatchningskärnan applicerades på ETH-80-databasen och Caltech 101-databasen med lovande resultat.
Begränsningar och den senaste utvecklingen
En av de ökända nackdelarna med BoW är att den ignorerar de rumsliga förhållandena mellan lapparna, som är mycket viktiga i bildrepresentation. Forskare har föreslagit flera metoder för att införliva den rumsliga informationen. För förbättringar på funktionsnivå korrelogramfunktioner fånga rumsliga samtidiga förekomster av funktioner. För generativa modeller tas även hänsyn till relativa positioner för kodord. Den hierarkiska form- och utseendemodellen för mänsklig handling introducerar ett nytt dellager ( Constellation model ) mellan blandningsproportionen och BoW-funktionerna, som fångar de rumsliga relationerna mellan delar i lagret. För diskriminerande modeller utför rumslig pyramidmatchning pyramidmatchning genom att dela upp bilden i allt finare subregioner och beräkna histogram av lokala egenskaper inom varje subregion. Nyligen har en förstärkning av lokala bilddeskriptorer (dvs SIFT ) med deras rumsliga koordinater normaliserade av bildens bredd och höjd visat sig vara en robust och enkel Spatial Coordinate Coding-metod som introducerar rumslig information till BoW-modellen.
BoW-modellen har ännu inte testats utförligt för synpunktsinvarians och skalinvarians, och prestandan är oklar. Också BoW-modellen för objektsegmentering och lokalisering är inte väl förstådd.
En systematisk jämförelse av klassificeringspipelines fann att kodningen av första och andra ordningens statistik (Vector of Locally Aggregated Descriptors (VLAD) och Fisher Vector (FV) ) avsevärt ökade klassificeringsnoggrannheten jämfört med BoW, samtidigt som kodboksstorleken minskade, vilket minskade beräkningsansträngning för kodboksgenerering. Dessutom har en nyligen utförd jämförelse av kodnings- och poolingmetoder för BoW visat att andra ordningens statistik kombinerat med Sparse Coding och en lämplig pooling som Power Normalization ytterligare kan överträffa Fisher Vectors och till och med närma sig resultat av enkla modeller av Convolutional Neural Network på något objekt igenkänningsdatauppsättningar som Oxford Flower Dataset 102 .
Se även
- Delbaserade modeller
- Fisher vektor kodning
- Segmenteringsbaserad objektkategorisering
- Vektor utrymme modell
- Bag-of-words modell
- Särdragsextraktion
externa länkar
- Påse med visuella ord i ett nötskal en kort handledning av Bethea Davida.
- En demo för två ordklassificerare av L. Fei-Fei, R. Fergus och A. Torralba.
- Caltech storskalig bildsökningsverktygslåda : en Matlab/C++-verktygslåda som implementerar inverterad filsökning efter Bag of Words-modell. Den innehåller också implementeringar för snabb ungefärlig sökning av närmaste granne med hjälp av randomiserat kd-träd , lokalitetskänslig hashing och hierarkiska k-medel.
- DBoW2-bibliotek : ett bibliotek som implementerar en snabb påse med ord i C++ med stöd för OpenCV .