Att hitta brevväxlingar mellan bilder via lokala deskriptorer är ett av de mest studerade problemen i datorseendet på grund av det stora antalet tillämpningar. Nyligen har end-to-end inlärda deskriptorer [1, 2, 3] baserade på Convolutional Neural Network (CNN) arkitekturer och utbildning i stora datauppsättningar visat sig vara betydligt bättre än de modernaste funktionerna. Dessa verk är inriktade på att utnyttja par av positiva och negativa fläckar för att lära sig diskriminerande representationer. Den senaste tidens arbete på djupt lärande för inlärning funktion inbäddningar undersöker användningen av trioler av prover i stället för par. I detta dokument undersöker vi användningen av trioler för att lära sig lokala funktionsdeskriptorer med CNNs och vi föreslår en ny in-triplet hård negativ gruvdrift steg för att uppnå en mer effektiv utbildning och bättre deskriptorer. Vår metod når toppmoderna resultat utan de beräkningsmässiga overhead som vanligtvis förknippas med gruvbrytning av negativ och med lägre komplexitet i nätverksarkitekturen. Detta är en betydande fördel jämfört med tidigare CNN-baserade deskriptorer eftersom vårt förslag lämpar sig för praktiska problem med stora datamängder. Lära sig med trioler innebär utbildning från prover av formen {a a, p p, n n n}, där en a är ankaret, p p är ett positivt exempel, som är ett annat prov av samma klass som en a, och n n n n är ett negativt exempel, som tillhör en annan klass än en a. I vårt fall är a och p p p olika synvinklar av samma fysiska punkt, och n n n kommer från en annan nyckelpunkt. Målet är att lära sig inbäddning f (x x x) s.t. 2 är lågt (dvs. nätverket ger ett a och p p-slut i funktionsutrymmet) och δ − = a a) − f (n n n) och 2 är högt (dvs. nätverket skjuter deskriptorerna för ett a och n n n långt ifrån varandra). Med detta syfte undersöker vi två olika förlustfunktioner för triolbaserat lärande: förlust av marginalrankning och förlust i förhållande till varandra. Marginalrankningsförlusten definieras som där μ är en godtyckligt fastställd marginal. Den mäter brott mot rangordningsordningen för inbäddade funktioner inne i trillingen, vilket bör vara δ − > δ + + μ. Om så inte är fallet, justerar nätverket sina vikter för att uppnå detta resultat. För sin del optimerar kvotförlusten kvotens avstånd inom trillingar. Det lär sig inbäddningar sådan att målet för denna förlust funktion är att tvinga ( e δ + e δ + +e δ − ) 2 till 0, och ( e δ − e δ + + e δ − ) 2 till 1. Det finns ingen marginal i samband med denna förlust, och per definition har vi 0 ≤λ ≤ 1 för alla värden på δ −, δ +. Bilda. 1 illustrerar både inflygningar och deras förlustyta. I λ (δ +, δ − ) ligger förlusten kvar på 0 tills marginalen kränks, och därefter sker en linjär ökning som inte är övre gräns. I kontrast, λ (δ +, δ − ) har en klar lutning mellan de två förlustnivåerna, och förlusten når en 1-värderad platå snabbt när δ − > δ +. Alla tidigare förslag baserade på trillingbaserad inlärning använder endast två av de tre möjliga avstånden inom varje trilling, utan att bry sig om avståndet δ − =  till f (p p) − f (n n n) till 2. Vi tar hänsyn till det för att definiera in-trippen hårt negativa som δ * = min(δ −, δ − ). Om δ * = δ −, Vi byter {a a, p p}, och därmed p p blir ankaret, och en a blir det positiva provet. Detta säkerställer att den hårdast negativa insidan av trillingen används för backpropagation. Därefter blir förlust av marginalrankning λ (λ +, δ * ) = max(0, μ + δ + − δ * ). Ett liknande uttryck kan utformas för förhållandet förlust. För att testa vårt förslag bygger vi vår deskriptor genom att utbilda en grund nätverksarkitektur {Conv(7,7)-Tanh-Pool(2,2)-Conv(6,6)-Tanh-FC(128)} från 5M trillingar provtagna på flyg med hjälp av patchar från Photo-tour dataset [4]. Vi utvärderar dess prestanda i patchpar klassificering, där vi mäter förmågan hos deskriptorn att diskriminera positiva patchpar från negativa, och i närmaste grann patch matchning, där vi mäter deskriptorprecisionen i matchande funktionspunkter mellan olika vyer av samma scen. Våra nätverk överträffar tidigare infört enskaliga convolutional särdrag decriptors, och i vissa fall med stor marginal. Dessutom är de 10 gånger snabbare än DeepCompare [3], och 50 gånger snabbare än MatchNet [1] och DeepDesc [2]. I själva verket, när du kör på GPU når vi hastigheter på 10μs per patch, vilket är jämförbart med CPU hastigheter för snabba binära deskriptorer. Vi observerar också att kvot-förlustbaserade deskriptorer är mer lämpliga för patchpar klassificering och att marginal-förlust baserade de fungerar bättre i närmaste grann patch matchning. Detaljerna i vårt förslag beskrivs mer utförligt i dokumentet, tillsammans med omfattande experimentellt arbete. Vi tillhandahåller alla inlärda modeller och utbildningskoden för alla deskriptorvarianter på https://github.com/vbalnt/tfeat.
För att utbilda den CNN-baserade deskriptorn Balntas et al. REF föreslog en triple marginal förlust och en triplet avstånd förlust, och strategin var att slumpmässigt välja provtagning patch trioler.
Learning local feature descriptors with triplets and shallow convolutional neural networks.
{'venue': 'BMVC', 'journal': None, 'mag_field_of_study': ['Computer Science']}