Thinking with Map:用地图“思考”的AI,如何把一张照片精准定位到地球上的500米以内?

摘要(Snippet)

Thinking with Map 是一种为大型视觉语言模型(LVLM)设计的地图增强智能体方法,通过让模型像人类一样“边看图边查地图”进行多轮假设验证,最终将图像地理定位精度大幅提升。在中国城市街景测试集 MAPBench 上,该方法将 Acc@500m(500米以内命中率)从基线模型的约4-9% 提升至 44.98%,甚至在多数指标上超越使用 Google 搜索+地图增强的 Gemini-3-Pro(20.86%)。

一、为什么现在的AI看照片找地方还是这么难?

你有没有试过拿一张街角照片问现在的顶级AI:“这是哪里拍的?”

很多时候它会自信满满地说出某个城市,甚至某个著名地标,但一细问经纬度就差了好几公里,甚至直接跑到另一个省去了。

原因其实很简单:

  • 传统计算机视觉方法 → 靠海量数据库匹配或把地球切成格子猜(geocell),但泛化很差
  • 最新大模型方法 → 主要靠“脑补”世界知识 + 链式推理(CoT),但容易产生幻觉,也缺乏可靠的外部验证手段
  • 而人类最常用的方式 → 看到线索 → 猜几个可能的位置 → 上地图查POI、看路网、看周边建筑 → 交叉验证 → 排除 → 再猜 → 再查……

2025-2026年的这篇工作《Thinking with Map》,核心贡献就在于:第一次系统地把“人类用地图思考”的方式完整赋予给了大模型,并且用强化学习 + 并行探索两条腿走路,让这个过程变得又准又高效。

二、什么是“Thinking with Map”?它到底是怎么工作的?

一句话概括:

把图像地理定位这件事,从“单次猜答案”改成了“像特工一样在地图里反复试错、验证、收敛”的多轮智能体循环(agent-in-the-map loop)。

核心循环长什么样?

  1. 看照片 → 从视觉中提取线索(建筑风格、招牌文字、植被、气候特征、路牌等)
  2. 提出假设 → 根据线索猜几个可能的位置(可以明说,也可以藏在心里)
  3. 调用地图工具 → 去查:

    • 关键词搜POI(比如“XX烧烤”“王记麻辣烫”)
    • 具体某个POI的详细信息(地址、电话、周边设施)
    • 静态地图截图(看路网、建筑布局)
    • 卫星图(看屋顶颜色、大致地形)
    • 把大图局部放大看细节(image_zoom_tool)
  4. 交叉验证 → 把查到的地图事实跟照片里的视觉线索对一对,看看是不是真的对得上
  5. 收敛or继续猜 → 如果证据链足够强 → 输出最终经纬度;不够 → 换个方向继续猜

这个循环可以重复很多轮,直到预算用完或模型自己觉得“基本锁定了”。

实际用到的地图工具清单(原文Table 1)

工具名称 主要参数 返回内容 典型用途
image_zoom_tool 放大框坐标 局部放大后的图像 看不清路牌、招牌时逐步放大
poi_input_tips 查询文本 搜索建议词 模糊招牌文字时提示完整名称
poi_keyword_search POI关键词 POI列表 核心搜索工具,找附近商家
poi_detail_query POI的唯一id 详细地址、电话、评分等 验证具体是不是照片里的那家店
static_map_query 中心经纬度 普通电子地图截图 看路网、街区布局是否吻合
satellite_map_query 中心经纬度 卫星影像 验证大范围地貌、屋顶颜色

作者特意同时接入了高德地图Google Maps两套API,就是为了尽量实现全球覆盖(很多地区只有其中一套能用)。

三、为什么单靠多轮对话还不够?需要强化学习+并行探索

很多朋友会问:那我直接让模型多想几遍、多查几轮不就行了吗?

实践结果很残酷:单纯把上下文塞长、让它顺序多想几轮,收益非常有限(甚至可能因为上下文爆炸反而变差)。

作者观察到两个关键现象:

  1. 地图查出来的东西大多是硬事实(POI名字、地址、坐标、电话等),天然可以用来互相验证因果关系。
  2. 多条推理链之间容易比较优劣——哪条链里证据最多、最自洽、最少矛盾,哪条大概率就是对的。

于是他们做了两件非常务实的事:

3.1 先用强化学习(RL)把“猜得准”的路径打法教给模型

(从 pass@N → pass@K 的提升)

  • 基模型:Qwen3-VL-30B-A3B(已经自带一定工具调用能力)
  • 算法:Group Relative Policy Optimization (GRPO)
  • 奖励函数:分段阶梯式距离奖励(非常实用主义)
距离区间           分数
0~500米           1.0    ← 精细定位
500m~2km          0.8
2km~10km          0.6
10km~25km         0.4    ← 城市级
25km~200km        0.2    ← 区域级
200km~750km       0.1
750km以上          0      ← 基本没用

经过这一轮RL,模型明显更懂得“先猜大范围、再逐步收窄”的策略,也更会优先调用高信息量的工具。

3.2 再用并行采样+验证器把多条路径的潜力榨干

(从 pass@K → pass@1 的关键跳跃)

做法非常简单粗暴:

  1. 让强化后的模型独立并行采样 2条、4条甚至更多条完整的Thinking with Map轨迹
  2. 把所有轨迹 + 原图 + 一句简单指令 丢给一个验证器模型(作者实验里用的是同等规模的Qwen3-VL)
  3. 验证器看完所有证据链后,选出它认为最自洽、最可信的那条路径的最终答案

神奇的是:当采样2~4条时,验证器选出来的结果跟“上帝视角选最好的一条”几乎差距无几(loss非常小)。

这意味着:我们用可接受的4倍推理成本,换来了接近oracle best@4的性能。

四、MAPBench:为什么我们需要一个新的评测集?

作者直指当时主流公开评测集的三大痛点:

  1. 时间过时 —— 大量POI已经拆迁、关门,地图上查不到,AI反而会被“误导”
  2. 难度分布失衡 —— 很多是地标大景,靠背坐标就能答对,测不出真实推理能力
  3. 地域偏差严重 —— 极度偏向欧美,中国大陆几乎没有

于是他们推出了 MAPBench(全文最核心的贡献数据集之一)

  • 数据规模:5000张(2500 train + 2500 test)
  • 来源:全部来自高德地图真实的、近期采集的中国城市街景 & POI周边近景
  • 时间:非常新(论文时为2025年底~2026年初的数据)
  • 难度分层:根据GPT-5、GPT-o3、Qwen3-VL-235B-A22B三个顶级模型的零样本表现,把测试集分为

    • easy(至少两个模型预测到10km内):599张
    • hard(剩下):1901张

easy测的是“记忆+世界知识”,hard才是真正考察“会不会查地图、会不会交叉验证”的能力。

五、真实战绩对比:到底强了多少?

以下是论文Table 3里最核心的数据(只摘取关键指标,单位:Acc@距离,%)

方法 MAPBench-easy
500米
MAPBench-hard
500米
MAPBench-hard
2公里
MAPBench-hard
10公里
Gemini-3-Pro(带Google搜索+地图) 20.86 4.02 11.73 23.45
Qwen3-VL-30B-A3B(原版) 4.01 0.21 1.89 10.36
+ 单纯Thinking with Map 33.10 10.83 12.05 16.08
+ 再做强化学习(RL) 41.51 12.33 14.67 26.89
+ 并行×4条 & 验证器(最终版) 44.98 14.86 17.40 29.88

关键结论:

  • 相比原版Qwen3-VL-30B,最终方案在hard集500米精度提升约70倍(0.21% → 14.86%)
  • 相比当时最强的闭源方案Gemini-3-Pro带地图增强500米精度提升约3.7倍(4.02% → 14.86%)
  • easy集上更是把精度做到接近45%,说明方法既能利用世界知识,又能大幅强化推理能力

六、总结:这套方法真正改变了什么?

Thinking with Map 最有价值的地方在于,它提供了一条可工程化、可复现、可继续堆算力的路径

  1. 给大模型接上结构化、可验证的外部世界(地图)
  2. 强化学习教它更聪明地用工具、更高效地收敛
  3. 并行采样+自验证把推理预算榨到极致

这套打法不只适用于地理定位,凡是需要“视觉线索 + 大量可查证事实 + 多步假设排除”的任务,都极有可能复用类似思路。

当你下次再看到一张照片想知道它在哪里拍的,不妨期待:
也许不久的将来,AI真的能像一个拿着手机到处查地图的本地老司机一样,一边碎碎念一边把你带到那个街角

(全文完,约4200字)