建图图片与查询图片不可能完全一样(视角 / 光照 / 季节 / 动态物体差异)——这正是任务的全部难度所在
离线阶段:园区范围内采集一批图片,每张图片带有先验采集坐标(假设坐标已知,来源不限:GPS/RTK/SLAM/人工标注均可)。这批「图片 → 坐标」构成参考地图数据库。
在线阶段:输入一张新拍摄的照片,系统检索数据库中最相似的参考图片,输出该照片在园区地图上的位置估计。
与通用 VPR benchmark 的差异:范围小(园区级而非城市级)、参考图可自主控制采集密度与覆盖、坐标系可为本地平面坐标(非必须经纬度)。这些差异让任务比城市级 VPR 更容易,但园区内部相似场景(如成排的同类楼栋、相似的路侧绿化)可能造成感知混淆,需要几何验证兜底。
| 路线 | 核心思路 | 优点 / 局限 | 适用判断 |
|---|---|---|---|
| A. 免训练全局检索 | 预训练大模型(DINOv2 等)直接抽特征 + VLAD 聚合成全局描述子,余弦相似度最近邻 | 零训练、泛化极强、一天可出基线;描述子维度高、无几何校验时园区相似场景易混淆 | 首选起步 |
| B. VPR 专用模型 | SelaVPR / CricaVPR / EigenPlaces 等在街景级大数据上训练的 VPR 模型 | 检索精度当前最优、描述子紧凑;对园区非街景分布有域差,可能需微调 | 主力方案 |
| C. 检索 + 局部特征几何验证 | 全局检索取 Top-K 后,用 SuperPoint+LightGlue 做特征匹配 + RANSAC 校验,重排候选 | 显著抑制感知混淆(同类楼栋误匹配);增加单次查询耗时 | 精度兜底 |
| D. 层级定位 / 位姿精化 | hloc 工具箱:SfM 重建稀疏 3D 地图 → 检索 → 2D-3D 匹配 → PixLoc 精化出 6DoF | 输出精确相机位姿(米级以下);建图流程重、需要足够的图像重叠度 | 按精度需求选 |
| E. 位姿回归 | PoseNet 类网络端到端直接回归坐标 | 推理最快;泛化差、换园区要重训,园区级小数据易过拟合,学术界已基本弃用为独立方案 | 不推荐 |
| 论文 | 年份/出处 | 与本任务的关系 | 链接 |
|---|---|---|---|
| AnyLoc: Towards Universal Visual Place Recognition | 2023 · RA-L | 免训练通用 VPR:DINOv2 特征 + VLAD 聚合,跨域泛化能力最强,园区这种非街景域的首选起步方案 | arXiv 2308.00688 GitHub 639★ |
| SelaVPR: Towards Seamless Adaptation of Pre-trained Models for VPR | 2024 · ICLR | 当前 VPR 检索 SOTA 之一;预训练基础模型无缝适配 VPR,无需专门训练,有轻量版可端侧部署 | arXiv 2402.14505 GitHub 268★ |
| CricaVPR: Cross-image Correlation-aware Representation Learning | 2024 · CVPR | 利用 batch 内跨图相关性训练 VPR 描述子,支持可变分辨率推理,SOTA 级精度 | arXiv 2402.19231 GitHub 172★ |
| EigenPlaces: Training Viewpoint Robust Models for VPR | 2023 · ICCV | 专门优化视角鲁棒性(建图朝向与查询朝向不同时的稳定性),与「建图/查询图片不完全一样」的核心痛点直接对应;模型小、推理快 | arXiv 2308.10832 GitHub 161★ |
| SALAD: Optimal Transport Aggregation for VPR | 2024 · ECCV | 最优传输聚合 token 特征成全局描述子,轻量高效,移动端友好 | arXiv 2403.07355 GitHub 380★ |
| MixVPR: Feature Mixing for Visual Place Recognition | 2023 · WACV | 纯 MLP 特征混合聚合,结构极简、参数少,边缘部署参考 | arXiv 2203.11553 GitHub 332★ |
| R2Former: Unified Retrieval and Reranking Transformer for Place Recognition | 2023 · CVPR | 把「检索 + 重排」统一进一个 Transformer,与本项目路线 B+C 的组合思路同构 | GitHub |
| MeshVPR: Citywide VPR Using 3D Meshes | 2024 · arXiv | 用 3D 网格统一 VPR 与位姿精化管线,代表「检索 → 精化」一体的前沿形态 | arXiv 2406.02776 |
| OSMLoc: Single Image-Based Visual Localization in OpenStreetMap | 2026 · Information Fusion | 单张图片对 OpenStreetMap 地图定位(语义+几何先验),代表「图片 → 地图」直接定位的新范式 | GitHub |
| Visual Place Recognition: A Tutorial | 2023 · 综述 | VPR 全景教程:问题定义、评测口径、方法谱系,项目组入门必读 | arXiv 2303.03281 |
排序依据:① 任务形态 = 参考图库检索(非 3D 重建);② 与园区场景(小范围、可自主建图、视角/光照变化)的匹配度;③ 开源可用性。
| 项目 | Star | 是什么 / 怎么用 |
|---|---|---|
| cvg/Hierarchical-Localization (hloc) | ~2.7k | 与本项目最相似的完整工程:层级定位工具箱(SfM 建图 → 检索 → 匹配 → 位姿估计),支持 SuperPoint/SuperGlue/DINOv2/NetVLAD 等全家桶,自带 COLMAP 重建。若需 6DoF 精位姿直接用它搭全链路 |
| AnyLoc/AnyLoc | 639 | 免训练通用 VPR(DINOv2+VLAD),pip 即用,第一周基线首选 |
| Lu-Feng/SelaVPR | 268 | ICLR 2024 SOTA VPR 模型,含 Lite 版(端侧友好),主力检索方案候选 |
| serizba/salad | 380 | ECCV 2024,轻量高效,移动端部署候选 |
| amaralibey/OpenVPRLab | 174 | 开源 VPR 训练/评测框架,若园区域差大需要微调,用它起步 |
| awesome-Visual-Place-Recognition | 301 | VPR 论文大列表(持续维护),后续跟踪前沿用 |
| MubarizZaffar/VPR-Bench | 150 | IJCV VPR 评测框架:14 种方法统一评测,评测口径参考 |
| Awesome VPR Datasets | 121 | 数据集列表:Nordland(季相变化)/ Tokyo 24/7(昼夜)/ SPED(视角变化)等,可作园区数据集之外的代理评测 |
园区场景建议自建查询集为主、公开基准为辅:
| 数据 | 用途 |
|---|---|
| 园区自建查询集 | 建图后隔若干天,换设备/换时段/换朝向重新采集一批带真值的查询图片。按条件分层:晴天/阴天、白天/夜间、同向/反向拍摄,分别统计召回率——这是唯一能反映本项目真实效果的口径 |
| Recall@K | VPR 标准指标:Top-K 检索结果中存在与查询点距离 < 阈值(如 5m/10m)的参考图的比例。主指标 Recall@1,辅以 Recall@5(重排前的候选质量) |
| 定位误差分布 | 输出坐标与真值的距离 med / p90 / max;误检率(输出位置与真值 > 某大阈值,如 50m,视为灾难性错误单独统计) |
| 公开基准(Nordland / Tokyo 24/7 等) | 仅用于选型阶段横向比较各 VPR 模型,不作为本项目验收口径 |
按对本项目的用途分三类(链接可达性 2026-09-05 从新加坡节点实测):
| 数据集 | 规模/形态 | 考察的难点 | 获取 |
|---|---|---|---|
| ① 选型代理评测(无需自建数据即可横向比较各 VPR 模型) | |||
| Nordland | 火车行驶视角 · 4 季 | 极端季相变化(夏/冬同一铁路线),VPR 最常用基准 | nrkbeta.no · 直接下载 ✅ |
| Gardens Point | 校园步行 · 小规模 | 昼夜 + 左右行进方向(180° 视角变化),规模小适合快速验证 | QUT wiki(国内访问 403,需代理/申请) |
| SPED | 千张级 · 多场景 | 视角变化(非街景混采),与园区手持拍摄形态接近 | Google Drive(需代理) |
| Tokyo 24/7 | 东京市区 · 76k 张 | 昼夜 × 视角 × 季相三重变化,难度最高的经典基准 | 向作者申请(页面 403 属正常,邮件申请) |
| ② 训练/微调(园区域差大时给 VPR 模型补训) | |||
| GSV-Cities | 全球 60 城 · 530k 参考图 | 大规模 VPR 训练集(CVPR 2023),CricaVPR/salad 官方训练数据 | GitHub · 直下 ✅ |
| MSLS | Mapillary 街景 · 1.1M 张 | VPR 标准�练集(含昼夜/季相划分),SelaVPR 等训练用 | mapillary.com · 注册后下载 ✅ |
| Pittsburgh250k | 匹兹堡 · 250k 张 | 经典检索训练集(Google 街景,含 GPS) | 东工大 Torii 组页面申请 |
| ③ 6DoF 精定位路线(若上 hloc 位姿精化) | |||
| InLoc | 室内(商场/校园楼内) | 参考图稀疏 vs 查询图密集的 6DoF 定位基准,与「园区参考图库」形态最接近 | visuallocalization.net ✅ |
| Aachen / 长期定位基准 | 室外城市 · 昼夜跨年 | 视觉定位挑战赛官方基准(检索+匹配+位姿全链路评测) | visuallocalization.net ✅ |
完整清单见 Awesome VPR Datasets(Pattern Recognition 2020 综述维护)。国内访问注:nrkbeta / GitHub / visuallocalization 可直连;Mapillary 注册下载;QUT wiki 与 Google Drive 需代理;Tokyo 24/7 需邮件申请。
| # | 问题 | 为什么影响方案 |
|---|---|---|
| 1 | 采集设备与安装方式:手机手持 / 车载 / 固定无人机航线?建图与查询的相机高度、朝向自由度多大? | 视角变化幅度决定选型重心:大视角变化 → EigenPlaces/DINOv2 系(视角鲁棒);小视角变化 → 全谱系可用,精度上限更高 |
| 2 | 定位精度要求:米级够用(「在哪条路/哪栋楼」)还是亚米级(导航级)? | 米级:检索 Top-K + 坐标内插即可;亚米级:必须上几何验证 + 位姿精化(路线 C/D),建图要求也随之提高 |
| 3 | 园区规模与建图量级:面积多大?参考图几百 / 几千 / 几万张? | 几千张以内暴力检索即可(毫秒级);几万张需 ANN 索引;规模也决定域微调的数据是否充足 |
| 4 | 部署形态:GPU 服务器 / 边缘盒子 / 手机端侧?查询 QPS? | 端侧 → SelaVPR-Lite / SALAD / MixVPR 小模型;服务器 → 随便上最大的;离线批量 → 全家桶 |
| 5 | 时间跨度与动态性:地图用多久?季节/光照/施工变化要不要扛? | 长期鲁棒 → 检索特征要用语义级(DINOv2 系天然抗季相);还要考虑参考图的增量更新机制 |
| 6 | 输出形式:只要坐标,还是坐标 + 朝向 + 置信度,要不要在园区平面图上可视化? | 朝向输出 → 需要局部特征匹配阶段;可视化 → 需要维护一张园区底图 |
以上问题明确后,本页更新为实施方案定稿(讨论阶段只写最终稿,过程稿不进页面)。
无需注册。单条最多 10000 字,仅保留最新 1000 条。
VPR · 园区级视觉定位 · 项目主页 · vpr.sunearthl2.cn