图片地理定位api:能告诉你什么,又有哪些局限
· 阅读约 1 分钟
简要回答
图片地理定位api接收一张图片,返回其拍摄地点的估计,包括国家、地区或城市、大致坐标和置信度分数。估计依据的是建筑、标识和植被等可见证据,并非 GPS 读数,单靠像素无法得出具体的街道地址。
这个名称在写任何代码之前就会引起混淆。浏览器的Geolocation API报告的是设备当前所在的位置,而且只有在用户授予权限之后才会如此。图片地理定位 API 回答的是另一个问题,针对另一种输入:这张照片是在哪里拍的?照片可能是十年前拍的,也可能来自地球上的任何地方。
还有三种相邻技术也被称为“定位照片”:读取 GPS 元数据、以图搜图和地标识别。它们返回的结果不同,失效方式也不同,因此在选择方案之前,最好先弄清你的产品真正要问的是哪个问题。
图片地理定位api实际上做什么?
它从像素中推断位置。模型会读取道路标线、建筑、植物、标识上的文字和光线质量等证据,然后报告大多数证据一致指向的地点,并给出证据一致程度的分数。
许多研究系统把它当作分类问题来处理。PlaNet是谷歌研究人员于 2016 年提出的模型,它把地球表面划分为数千个单元格,并用数百万张带地理标签的照片训练网络,以预测图像属于哪个单元格。输出是覆盖全球的概率分布。一张里斯本有轨电车的照片会把概率集中在一处;一张松树林的照片则把概率分散到好几个大洲。置信度分数实际上就是对这种分布集中程度的概括。
对产品设计来说,最重要的细节是:照片不必已经存在于网上。该 API 可以处理从未发布过的照片,并且即使证据很弱,它也会给出答案,这就是为什么分数与地点同样重要。模型如何理解一个场景另有介绍;本指南关注的是如何处理其输出结果。
精度的分布本身也是不均匀的。PlaNet 给拍摄密集的地区划分了更小的单元格,而给稀疏的地区划分了大得多的单元格,因此在一些城市地区它能达到街道级别的精度,而农村地区则落在大得多的单元格里。多数模型在训练照片密集的地方也会更精确。
它与 EXIF GPS、以图搜图和地标识别有什么不同?
EXIF GPS 是存储在文件中的测量值。以图搜图是在网上查找图片的副本。地标识别用来辨认著名建筑。图片地理定位 API 则从场景本身推断区域,这是既没有元数据、网上也没有副本的普通街景照片唯一可行的方式。
| 方法 | 读取什么 | 返回什么 | 失效情况 |
|---|---|---|---|
| EXIF GPS | 设备写入文件的坐标 | 一个测得的点,通常在空旷天空下精确到 5 米以内 | 元数据被去除(大多数平台在上传时都会去除) |
| 以图搜图 | 网上已有的图片副本 | 匹配的图片及其所在的页面 | 场景从未被发布过 |
| 地标识别 | 知名的自然和人造建筑结构 | 地标名称、分数以及地标的坐标 | 画面中没有著名的建筑结构 |
| 照片定位 | 整个场景中的视觉证据 | 城市、地区或国家的估计,附带置信度分数 | 画面中没有任何地理证据 |
EXIF GPS 是测量值,而非估计
手机记录位置时,坐标会写入 EXIF 数据中专门的 GPS 部分,标签包括 GPSLatitude 和 GPSLongitude。GPS.gov 给出的智能手机在空旷天空下的典型精度为 4.9 米。没有任何视觉方法能接近这个精度,因此一个可靠的流程会先读取元数据,只有在缺失时才进行推断。对于已经经过社交平台的图片,元数据通常已经不在了,因为上传时的重新编码会去掉它。
以图搜图是一种查找
Google Cloud Vision 的网页检测展示了这一类方法的基本形态。它返回的字段包括 fullMatchingImages、partialMatchingImages 和 pagesWithMatchingImages。当存在匹配时,匹配图片所在的页面往往会直接说明地点,这比任何估计都更可靠。如果照片是私人的或原始的,就没有可以匹配的内容。引擎对比讲的是同一思路的消费级版本。
地标识别能认出著名地点
Cloud Vision 的地标检测“检测图像中知名的自然和人造建筑结构”。每个结果都包含 description 字段(即地标名称)、score、标示其在画面中位置的 boundingPoly,以及坐标列表 locations。Google 自己的示例返回的是圣瓦西里大教堂,分数为 0.78。
有两个细节会让团队出错。一是普通街道根本不会返回任何地标,因此覆盖范围很窄。二是坐标可能描述的是地标,而不是相机的位置:Google 的参考资料指出,一个位置可能描述图片中的场景,另一个位置则可能描述照片的拍摄位置。在塞纳河对岸拍摄埃菲尔铁塔的人,可能站在离铁塔本身坐标几百米远的地方。
照片定位能为任何室外场景估计区域
在这四种方法中,视觉推断是唯一能对一条从未上过网的普通街道有所说明的方法。代价是精度:结果是城市或地区加上置信度分数,而不是测得的精确点,而且没有任何地理证据的画面只会得到很弱的答案,甚至没有答案。
图片地理定位api会返回什么?
通常是一个或多个层级的地点估计,例如国家、地区和城市,外加代表该估计的大致坐标和置信度分数。设计良好的响应还会在文件仍然保存有 GPS 元数据时单独报告它,从而确保测量值不会被误认为是猜测。
| 字段 | 含义 | 使用方法 |
|---|---|---|
| 国家、地区、城市 | 证据所指向的地点,分为几个层级 | 显示置信度所支持的最具体层级 |
| 大致坐标 | 代表估计区域的一个点,而不是相机的位置 | 只显示城市标签或区域,绝不显示街道级别的图钉 |
| 置信度分数 | 视觉证据的一致程度 | 根据你自己标注的测试照片设定阈值 |
| EXIF GPS(如果存在) | 设备测得并存储在文件中的坐标 | 将其保留在单独的字段中;它的优先级高于任何估计 |
一个要避免的设计错误,是把估计坐标和 EXIF GPS 合并到同一个位置字段中。这样一来,下游代码以及阅读其输出的人,就会用对待卫星定位的信心来对待一个城市级的猜测。在界面中展示时,应把测得的位置和推断的位置分开保存,并分别标注。
估计坐标同样需要小心。为波尔图返回的一个点,代表的是数平方公里的区域。如果在街道级缩放比例下把它标成图钉,用户就会读出一种根本不存在的精度。
GeoSpy AI API 将返回什么?
GeoSpy AI API 尚未开放。它的设计目标是返回网站分析今天返回的相同字段:城市、地区和国家的估计,置信度分数,估计的大致坐标,以及在上传文件仍包含 EXIF GPS 坐标时返回这些坐标。
这份清单与上表直接对应。它不包含街道地址,因为视觉证据无法支持地址;并且它把元数据读取与视觉估计并列列出,而不是用前者取代后者。
端点、定价、速率限制和上线日期均尚未公布,本页内容不应被理解为对这些事项的承诺。如果你正计划集成,请通过联系页面申请抢先体验,并描述你的使用场景。
在此之前,网站是对真实照片输出结果的最接近的预览。网站分析属于 GeoSpy Premium,订阅价格为每周 7.99 美元或每年 29.99 美元,到期自动续订,直到你取消;上传的照片不会被存储。
图片地理定位api有什么用途?
主要用于一致性检查和分流:标记那些可能位置与某种说法不符的照片,以便由人工复核。市场平台、新闻编辑部、旅行和照片应用、保险公司以及研究人员都有类似的需求。它关注的始终是地点,而不是个人。
- 房源核查。一套在巴塞罗那挂牌的度假租房,如果照片明显指向另一个国家,就值得再看一眼。应把不一致的情况交给审核人员,而不是自动拒绝房源;同时请记住,室内照片占了房源照片的大部分,但模型从中能读取的信息很少。
- 新闻编辑部核实。某张被称为展示某座城市的热门图片,在任何人发布之前,都可以用画面中的证据来检验。地理定位只能回答“在哪里”,因此要配合搜索更早的副本,正如如何核实照片中所述。
- 旅行和照片应用。扫描的照片和导出的图片往往没有 GPS 信息。估计结果可以提示相册中的地点,或把照片归入某次旅行,前提是界面把它呈现为由用户确认的建议。
- 保险理赔审核。当一份理赔把损失放在某个城镇,而照片却明显指向别处时,理赔人员就有理由提出疑问。仅凭估计结果,不足以拒绝任何理赔。
- 研究。绘制大型图像档案的地理分布,或审计训练集中的地域偏差,需要大规模的粗粒度标签,而这正是这种方法擅长生成的东西。
这五种情形遵循同一模式:估计用于标记,由人来决定。如果让城市级猜测自动触发结果,那么模型的每个错误都会被大规模地放大。结构化的 OSINT 工作流程展示了估计结果在其他检查中的位置。
视觉地理定位做不到什么?
它无法从普通场景中给出街道地址,也无法可靠地处理室内和近景特写,无法判断照片的拍摄时间,无法识别其中的任何人,也无法确认图片是真实的。当某种景观或建筑风格在许多国家都存在时,它还可能自信地犯错。
其中一些限制来自证据本身,而不是模型。PlaNet 论文开篇就指出,构造一个无法推断出位置的情境是轻而易举的。一面白墙、一间酒店浴室或一盘食物都不携带任何地理信息,而无论模型变得多大,这一点都不会改变。
研究结果可以作为一个有用的现实检验。在 230 万张 Flickr 照片上,PlaNet 把 10.1% 的照片定位在 25 公里以内,这是其基准所认定的城市级精度。PIGEON发表于 CVPR 2024,它基于从 GeoGuessr 获取的街景影像训练,把超过 40% 的猜测放在了 25 公里以内。这一差距一部分来自更新的方法,另一部分来自照片本身。街景画面里充满了道路标线和标识,而一般的照片集合中,有许多画面根本没有任何地理信息。
地理定位也无法为一张图片作担保。一张由 AI 生成的街景图片,仍然会被估计为与它最相似的地点。API 回答的是“这看起来像哪个地方”,而不是“这是真的吗”。
集成之前,应如何测试这个 API?
使用你自己的、已去除 GPS 元数据的照片,并在固定距离上为结果打分,例如城市级的 25 公里和国家级的 750 公里。有意加入没有特征的照片,并检查高置信度的答案是否确实比低置信度的答案更常正确。
- Step 1用真实流量建立测试集演示图片都是经过挑选、必然成功的。请收集几百张与你的用户可能发送的照片相似、且真实位置已知的照片,并保持该数据集固定,以便公平地比较不同供应商和版本。个别案例同样会误导人:一个在网上流传的 1100 词的 ChatGPT 提示词给许多尝试者留下了深刻印象,但在固定的 200 张照片上,它的表现并不比一个简短的提示词更好。
- Step 2基准测试前先去除 GPS如果 API 还会读取元数据,带有地理标签的测试照片衡量的就是元数据读取器,而不是模型。请先从测试副本中去除 EXIF 信息,否则你记录的满分会在生产环境中消失。
- Step 3按固定距离打分研究基准把猜测在 1 公里(街道)、25 公里(城市)、200 公里(地区)、750 公里(国家)或 2500 公里(大洲)范围内视为正确。没有附带距离的准确率说法,无法与任何其他结果比较。
- Step 4兼顾城市和乡村精度往往取决于训练照片的密度,因此一个在首都很精确的模型,在农田里可能就很模糊。如果你的用户两种照片都会发送,就两种都要测试。
- Step 5包含没有可识别内容的照片室内、近景特写和空白天空应该返回低置信度。如果一个工具能从一间酒店房间里高置信度地认出某座城市,那么它对你的用户也会这样做。
- Step 6检查分数是否经过校准按置信度对结果分组,并测量每组中有多少是正确的。如果分数高于 0.8 的答案,并不明显比接近 0.4 的答案更准确,那么这个分数就不能用来设定阈值。
- Step 7阅读数据条款请确认图片是否会被存储、存储多久,以及是否会被用于训练。照片可能属于个人数据,尤其是当其中出现了人物的时候。
常见问题
- 图片地理定位api和浏览器的 Geolocation API 是一回事吗?
- 不是。浏览器 API 报告的是用户自己设备的位置,而且只有在用户授予权限之后才会如此。图片地理定位 API 处理的是一张图片,而这张图片可能是任何人在任何时间、任何地方拍的。
- 图片地理定位api能给出精确的地址吗?
- 仅凭视觉证据不能。相隔一公里的两条街道通常看起来很像,所以诚实的结果是城市或地区。只有当文件中的 GPS 元数据保存完好时,才能得到精确坐标。
- 视觉地理定位对截图有效吗?
- 截图不会保留原始照片的 GPS 信息,正如截图指南所解释的那样。但如果截图显示的是一个足够清晰的室外场景,视觉推断仍然有效。
- GeoSpy AI API 什么时候可以使用?
- 尚未公布日期。开发者和产品团队现在可以申请抢先体验。在它开放之前,网站分析返回的字段,与该 API 正在设计的字段类型相同。
- 图片地理定位api能识别人吗?
- 不能。它估计的是场景所在的地点,而不是画面中出现的是谁,而且绝不应该用来定位或跟踪任何人。
参考资料
- Detect landmarks — Google Cloud定义、响应字段,以及得分 0.78 的圣瓦西里大教堂示例。
- AnnotateImageResponse — EntityAnnotation — Google Cloud分数范围 0 到 1;一个位置可能描述场景,也可能描述照片的拍摄地点。
- PlaNet — Photo Geolocation with Convolutional Neural Networks — Weyand, Kostrikov and Philbin (arXiv)1、25、200、750 和 2500 公里的基准距离;在 230 万张 Flickr 照片上 10.1% 的城市级准确率。
- PIGEON: Predicting Image Geolocations — Haas, Skreta, Alberti and Finn (CVPR 2024, arXiv)在街景影像上有超过 40% 的猜测落在 25 公里以内。
- GPS Accuracy — GPS.gov智能手机在空旷天空下的典型精度为 4.9 米以内。
继续阅读
AI照片定位原理:靠推断,而不是查询
AI照片定位原理并不是查找数据库。模型读取的是受过训练的人同样会看的视觉证据,它的局限也直接源于此,因此给出的始终是估算。
· 阅读约 1 分钟
以图搜图网站推荐:主流搜索引擎横向对比
Google Lens、Yandex、Bing 和 TinEye 各有所长。这份以图搜图网站推荐对比了每个引擎擅长什么,以及何时该改用 AI 地理定位。
· 阅读约 1 分钟
照片GPS定位信息查看:读懂照片里的经纬度
照片GPS定位信息查看方法:读出照片中精确的纬度和经度,看懂度分秒格式,并判断这些数字能在多大程度上信任,以及它们的局限。
· 阅读约 1 分钟
怎么辨别照片真假:先查是否出现过,再查地点和时间
怎么辨别照片真假?“这张照片是真的吗”背后藏着三个问题。按顺序逐一核实,并了解哪些检查比人们想象中更容易失效。
· 阅读约 1 分钟