De uitdaging van visuele plaatsherkenning
Stel je voor dat je een computer twee foto’s laat zien: de ene genomen op een zonnige julimiddag, de andere op hetzelfde kruispunt tijdens een mistige novemberochtend. De belichting is compleet anders. Sommige bomen hebben bladeren op de ene foto en kale takken op de andere. Er staan andere auto’s geparkeerd op straat. Een winkel heeft zijn uithangbord veranderd. Voor een mens zijn het, met genoeg aandacht, herkenbaar dezelfde plek. Voor een naief computervisiesysteem zouden ze er totaal anders uit kunnen zien.
Dit is de kernuitdaging van visuele plaatsherkenning (VPR): bepalen of twee beelden dezelfde locatie afbeelden, ondanks dramatische veranderingen in uiterlijk. CosPlace, ontwikkeld door Gabriele Berton en collega’s aan de Polytechnische Universiteit van Turijn, vertegenwoordigt een significante vooruitgang in het oplossen van dit probleem.
Waarom ResNet-152?
De backbone van CosPlace is ResNet-152, een convolutionele neurale netwerkarchitectuur met 152 lagen. De keuze is het bestuderen waard.
ResNet introduceerde skip-verbindingen — snelkoppelingen waarmee informatie lagen kan overslaan — waarmee het degradatieprobleem werd opgelost waarbij het toevoegen van diepte de prestaties juist kon verminderen. Met skip-verbindingen wordt diepte een voordeel. ResNet-152 leert steeds abstractere visuele kenmerken:
- Vroege lagen detecteren laagniveau-kenmerken: randen, hoeken, kleurverlopingen, eenvoudige texturen.
- Middelste lagen combineren deze tot patronen op hoger niveau: raamvormen, daklijnen, wegoppervlakken, vegetatietexturen.
- Diepe lagen coderen complexe ruimtelijke arrangementen: de relatie tussen een gebouwgevel en de straat ervoor, het patroon van de indeling van een wijk.
Voor plaatsherkenning is deze diepte van belang. Het herkennen van een plaats gaat niet om het matchen van een enkel kenmerk — het gaat om het coderen van de algehele ruimtelijke rangschikking van vele kenmerken. Een netwerk met 152 lagen heeft de capaciteit om rijke, gelaagde representaties te bouwen die deze complexe relaties vastleggen.
De keuze voor ResNet-152 boven nieuwere architecturen zoals Vision Transformers (ViTs) weerspiegelt een praktische afweging. Hoewel ViTs sterke prestaties hebben laten zien op veel visietaken, biedt ResNet-152 een goed begrepen, sterk geoptimaliseerde architectuur met uitstekende inferentiesnelheid. Voor een productiesysteem dat duizenden beelden verwerkt, is deze efficiëntie van belang.
De trainingsinnovatie: groepen, geen paren
De belangrijkste innovatie in CosPlace is niet de backbone-architectuur maar hoe het model wordt getraind. Eerdere VPR-methoden hadden te kampen met een aanhoudend knelpunt: pair mining.
Traditioneel metrisch leren voor plaatsherkenning vereiste het zorgvuldig selecteren van trainingsparen — beelden van dezelfde plaats (positieve paren) en beelden van verschillende plaatsen (negatieve paren). De kwaliteit van deze paren had een dramatisch effect op het resulterende model. Te makkelijke negatieven, en het model zou niet leren om met uitdagende gevallen om te gaan. Te moeilijke negatieven, en de training zou instorten. Het vinden van de juiste balans vereiste dure miningprocedures die slecht schaalden.
CosPlace omzeilt dit volledig met een groepsgebaseerde classificatieaanpak. Zo werkt het:
1. Geografische partitionering. Het trainingsgebied wordt opgedeeld in een raster van geografische cellen. Elke cel vertegenwoordigt een afzonderlijke “plaats.”
2. Groepstoewijzing. Alle trainingsbeelden worden op basis van de geografische cel waarin ze zijn gefotografeerd aan groepen toegewezen. Beelden in dezelfde cel behoren tot dezelfde groep.
3. Classificatietraining. Het model wordt getraind als een classifier: gegeven een beeld, voorspel tot welke geografische cel het behoort. Dit is een standaard classificatietaak die geen expliciete pair mining vereist.
4. Embedding-extractie. Na training wordt de classificatiekop weggegooid. De uitvoer van de op-een-na-laatste laag — een 512-dimensionale vector — dient als de beeldembedding voor ophaling.
Deze aanpak heeft verschillende elegante eigenschappen. De geografische groepering creëert van nature een trainingssignaal — beelden in dezelfde cel moeten vergelijkbare embeddings produceren, beelden in verschillende cellen niet — zonder complexe logica voor paarselectie. Het classificatieverlies is stabiel en goed begrepen, waardoor training eenvoudig is. En de aanpak schaalt gemakkelijk naar grotere datasets en fijnere geografische resoluties.
Wat de embedding vastlegt
De 512-dimensionale vector die CosPlace produceert zit boordevol informatie, maar is niet door mensen interpreteerbaar. Individuele dimensies komen niet overeen met identificeerbare concepten als “heeft een kerk” of “nabij water.” De informatie is verdeeld over alle dimensies in complexe combinaties.
Waarvoor de embedding grofweg invariant is: veranderingen in belichting en weer, seizoensvariaties, tijdelijke objecten (geparkeerde auto’s, voetgangers), matige gezichtspuntveranderingen en tijdstip van de dag.
Wat het grofweg codeert: ruimtelijke indeling van permanente structuren, architectonische stijl, weg- en infrastructuurpatronen, vegetatietype en terreinkenmerken.
Geen enkel model is perfect invariant voor alle uiterlijke veranderingen of perfect gevoelig voor alle locatierelevante kenmerken. CosPlace vertegenwoordigt een geleerde afweging tussen het negeren van irrelevante variatie en het behouden van locatieonderscheidende informatie.
CosPlace vs. eerdere benaderingen
NetVLAD (2016) combineerde een CNN met een VLAD-aggregatielaag maar vereiste zorgvuldige triplet mining en produceerde grote descriptorvectoren. GeM (Generalized Mean Pooling) vereenvoudigde de aggregatie maar vertrouwde nog steeds op contrastieve verliezen die pair mining vereisten.
CosPlace bereikt competitieve of superieure prestaties terwijl het dramatisch eenvoudiger te trainen is. De groepsgebaseerde classificatie elimineert pair mining volledig, en de 512-dimensionale embeddings zijn compact genoeg voor efficiente ophaling. Op de Pitts250k-benchmark bereikt CosPlace meer dan 90% recall@1 — voor 90% van de zoekbeelden is de correcte locatie het bovenste resultaat.
Van onderzoek naar productie
Het inzetten van CosPlace in productie brengt praktische overwegingen met zich mee die verder gaan dan wat onderzoekspublicaties behandelen. We voeren inferentie uit via ONNX Runtime voor geoptimaliseerde uitvoeringssnelheid. Alle embeddings worden L2-genormaliseerd voor opslag, waardoor cosinusgelijkenis wordt gereduceerd tot een eenvoudig inproduct dat compatibel is met onze vectordatabase. Elk beeld in onze dekking van Nederland is vooraf verwerkt en opgeslagen met zijn embedding en GPS-coordinaten.
Kwaliteitscontrole is ook van belang — beelden met zware occlusie, extreme belichting of camera-artefacten worden voor indexering gefilterd, aangezien de kwaliteit van de referentiedatabase direct invloed heeft op de ophaalresultaten.
CosPlace geeft GeoPin een robuust, efficient fundament voor visuele plaatsherkenning. Het zet de rommelige, variabele visuele wereld om in een overzichtelijke wiskundige ruimte waarin vergelijkbare plaatsen dichtbij zijn en verschillende plaatsen ver weg. Alles in onze pijplijn bouwt voort op dat fundament.