关于 geolocate-from-pixels
用于根据照片中的文字、交通设施、地形等线索推断拍摄地点的调查技能,面向图像核验与开放来源调查。它按线索价值组织搜索流程,并强调多源影像比对、反证和置信度分级。
主要功能
- 01按价值排序图像线索
- 02结合文字与基础设施定位
- 03利用地图要素查询几何结构
- 04通过多种影像源核验候选地点
- 05按独立证据评估置信度
适用场景
- 01核查照片声称的拍摄地点
- 02从道路与建筑线索缩小地域
- 03用历史影像核对地点变化
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ useosint/ skills --skill geolocate-from-pixels安装后在 Claude Code 中输入/geolocate-from-pixels确认已加载。
附带文件reference/chronolocation.mdreference/regional-indicators.md
详细介绍
从像素中定位
每张户外照片都包含足够的信息来确定拍摄地点。限制从来不是图像,而是你的耐心和参考知识。
新手常犯的错误是在盘点线索之前就开始搜索。人们看到一座山,就在搜索框里输入“有两座山峰的山”,结果一无所获。方法恰恰相反:先提取每一条线索,按其能排除的地理范围大小排序,然后再开始搜索——因为能确定国家的线索,通常并不是你第一眼注意到的那个。
搜索前先给线索排序
按以下列表逐项排查。每一行能排除的范围都远大于下一行,因此,第一层的一条线索就抵得上第六层的二十条线索。
| 层级 | 线索 | 能帮你确定什么 |
|---|---|---|
| 1 | 可读的专有名称——商家名称、街道名称、市政标志、学校名称 | 往往能立即定位。商家名称加上国家,就能用来查询地图,无需调查。 |
| 1 | 标牌和车辆上的电话号码 | 根据区号和数字分组惯例,确定国家,通常还能确定城市。 |
| 1 | 语言和文字体系,再看拼写规范 | 文字体系可缩小到一个语系;特定的变音符号、字母形式和拼写惯例可进一步缩小到一个国家,有时甚至是一个地区。 |
| 2 | 车牌格式——形状、颜色、色带、字符布局 | 可确定国家,通常还能确定签发地区。远距离也能看清,而且经压缩后仍然保留。 |
| 2 | 行车方向 | 可将世界大致分成三分之一和三分之二。观察停放车辆的方向盘位置来判断,不要只看车流。 |
| 2 | 道路标线——中心线颜色、虚线间距、边缘线 | 仅凭黄白中心线的区别就能排除世界上大多数地区。 |
| 3 | 电线杆结构和绝缘子样式 | 地区特征稳定,很少改变,是画面中最可靠的判断依据之一。 |
| 3 | 防撞柱、护栏、路缘石涂装、箭头标志 | 国家层面统一标准,也有鲜明的国家特征。 |
| 3 | 交通信号灯的安装方式、灯组布局、遮光板 | 架空安装还是路杆侧装、横向还是纵向排列、是否有额外灯组——这些都是各国的惯例。 |
| 4 | 标志字体和道路标志标准 | 可判断某国采用了哪种标志标准,以及其具体字母体系。 |
| 4 | 卫星天线的仰角和方位角 | 可缩小纬度范围,而轨道位置可指示其服务区域。 |
| 5 | 建筑风格、屋顶材料、窗户和阳台样式、屋顶水箱和加热器 | 可判断地区和气候带。 |
| 5 | 植被和生物群系 | 可判断纬度带、气候和半球。注意:观赏植物在全球都很常见。 |
| 6 | 地形和地平线轮廓 | 只有在已经有了候选地区后才有用——届时它便能起决定性作用。 |
每种差异及其含义: reference/regional-indicators.md。
方法
- 清点线索。 在搜索任何内容之前,先列出画面中的所有线索,并编号。也要列出否定线索——没有积雪、没有棕榈树、没有架空电线——因为否定线索同样有助于排除地区。放大查看每一块标牌、每一辆车、每一根杆子。运行
find-the-original-image中的预处理方案,以辨认曝光不足或尺寸较小的细节。 - 确定国家。 结合一级和二级线索,直到它们指向同一结果。如果两者相互矛盾——例如出现西里尔字母标牌,却是右舵车——这个矛盾本身就是一项发现:可能是进口车市场、边境地区,或合成图像。
- 正确读取文字。 先转录,再翻译,然后用当地语言逐字搜索转录内容。搜索译文会让你错过匹配结果。如果不熟悉文字系统,先确认文字类型,再尝试辨认字母——人们靠猜测时,经常把格鲁吉亚文、亚美尼亚文、阿姆哈拉文、高棉文、泰文、老挝文和僧伽罗文相互混淆。
- 缩小到具体地点。 在限定为该国范围的地图搜索中查找具名商家。连锁品牌可以反向利用:如果某连锁品牌只在三个省份经营,就能排除该国其他地区。
- 按地貌结构查询地图,而不是按地点查询。 如果没有地名,但能辨认出结构——例如水塔旁边是铁路道口,旁边又是足球场——就用 Overpass 直接查询 OpenStreetMap 地图要素,而不是四处拖动地图。这一步最常被人跳过,却也最常奏效。
[out:json][timeout:90];
area["ISO3166-1"="RO"]->.a;
nwr["man_made"="water_tower"](area.a)->.t;
foreach.t -> .w (
nwr(around.w:400)["leisure"="pitch"]["sport"="soccer"];
out center;
);
- 通过图像确认。 将候选地点与卫星图/航拍图和街景来源进行比对。比较不变要素:建筑平面形状、屋顶颜色、窗户的数量和间距、路缘线、树木位置,以及围栏的具体布局。不要依据会变化的事物进行匹配,例如停放的汽车、遮阳篷、标牌和植被密度。
- 确定时间与地点。 根据太阳位置判断一天中的时间和日期范围,根据植被判断季节,并查阅天气档案以佐证。步骤见 reference/chronolocation.md。
- 评分。 三项相互独立的特征吻合,或者就此停止。
影像来源及各自的优势
| 来源 | 适用场景 |
|---|---|
| Google Earth(桌面版) | 卫星影像工作的默认选择。使用桌面客户端而非浏览器的理由是历史影像时间轴:它可以确定施工、拆除和土方工程的时间。 |
| Google Street View | 在覆盖的国家和地区,街景的默认选择。时间机器功能可以查看同一地点不同日期的影像。 |
| Yandex Maps and Panoramas | 俄罗斯、白俄罗斯、哈萨克斯坦、中亚、高加索地区和土耳其。这些地区的全景覆盖和卫星影像细节通常优于 Google;而且 Yandex 的影像有时拍摄于不同日期,这本身就很有用。 |
| Mapillary | 众包街景。覆盖了 Street View 车辆从未驶过的道路、小径和国家。对于乡村地区以及非洲、南亚和巴尔干地区的许多地方,它往往是唯一的街景影像来源。 |
| KartaView | 另一套众包街景,贡献者的地域分布有所不同。Mapillary 没有影像时,可以查这里。 |
| Bing Maps aerial and Streetside | 影像拍摄日期不同,有时视角也更好。倾斜视图有助于判断建筑高度。 |
| Apple Maps | 主要城市的 Look Around 覆盖和高质量 3D 影像。 |
| Esri World Imagery 及其 Wayback archive | 提供有版本记录的历史底图影像;当 Google 的历史影像较少时,它是另一条独立的历史时间线。 |
| Copernicus/Sentinel browsers | Sentinel-2 光学影像的分辨率为 10 米,重访周期以天计。分辨率不足以查看建筑物,但非常适合确定变化时间:例如火灾痕迹、洪水、新修的土路或蓄水库蓄满。 |
| Landsat archive (USGS) | 分辨率为 30 米,但记录跨度长达数十年。适合查找“这个采石场是什么时候出现的”。 |
| NASA FIRMS | 带时间戳的热异常检测数据。可以将火灾、火炬燃烧和大型爆炸的发生时间精确到数小时内。 |
| 通过 USGS EarthExplorer 获取的解密历史影像 | 适用于有关卫星商业影像出现之前的远古问题。 |
| 国家和市级正射影像门户 | 分辨率通常远高于任何全球服务商,而且带有拍摄日期。可以搜索所在国家的地籍或测绘机构查看器。 |
| OpenStreetMap 加 Overpass | 按要素类型查询,而非浏览地图。许多步道、电力线和小型建筑也只有这里有数据。 |
| 基于高程模型的全景生成器 | 根据给定坐标和方位合成所见地平线,可用于匹配山脊线。 |
这里容易出错的地方
- 确认偏误是这项工作最容易出现的失误。 你会找到一处看起来符合条件的建筑,然后开始为差异找借口。请在查看前设定好证伪标准:“如果左边的电线杆在道路的错误一侧,这个候选地点就不成立。”然后严格遵守。
- 影像有拍摄时间,你比较的是不同时期。 缺失的建筑可能已被拆除;现存建筑也可能比照片拍摄时间更新。查看影像的拍摄日期,并核对历史时间线,再排除候选地点。
- 观赏性和引种植被经常会误导你。 桉树生长在五大洲。棕榈树在远离原生分布区的地方也有种植。植被之所以只是第五级线索,是有原因的——它只能佐证,不能定论。
- 全球品牌和连锁店标识几乎不能说明什么,只能说明某家公司在哪里经营。随处可见的快餐标志不是线索;同一标志上的当地语言子品牌和电话号码才是。
- 压缩会凭空制造细节。 你在 JPEG 压缩伪影中“读出”的文字往往并不存在。如果车牌或标志只有放大后才能看清,那只是一个假设,并非读数。回到原始像素查看。
- 反光和镜面会把一切翻转。 商店橱窗中的文字,或拍摄镜中景象时的画面,都会反转。经过镜像处理后再转发的图片也一样。如果行车方向与文字方向不一致,应先怀疑画面被翻转,而不是怀疑国家判断错了。
- 照片未必都来自同一个地点。 图片可能经过合成,视频也可能由多个地点的影像剪辑而成。定位一帧并不能定位整段视频。请分别核实各帧,并将可疑情况交由
is-this-photo-real处理。 - 边境地区和飞地会打破依赖单一线索的判断。 在边境附近几公里范围内,以及管理权存在争议或处于过渡状态的地区,标志、车牌、货币和基础设施可能混杂。
- 已有说法会影响你看到的内容。 如果有人告诉你照片拍于某个特定城市,你就会找到那个城市的特征。尽量先清点线索,再阅读说明文字;如果做不到,就假设说明文字写的是另一个地方,再进行分析。
- 长焦镜头会压缩空间,广角镜头会拉伸空间。 前景主体与远处山脉之间看起来有多远,取决于焦距。没有考虑这一点之前,不要判断“山离这里有多近”。
置信度分级
- 已确认地点 — 一个具体坐标,至少有三项相互独立且不会随时间变化的特征与参考影像吻合,例如建筑轮廓几何形状、电线杆的位置和数量,以及地形轮廓。关键在于相互独立——同一块标志的三张照片只算一项特征,而不是三项。你应当能够复现相机的位置和朝向,并给出以米为单位的半径。
- 很可能的地点 — 地区判断正确,具体地点也合理;有两项独立特征吻合,或有三项吻合但其中一个参考来源没有注明日期或分辨率较低。应以地点名称加半径的形式表述,而非坐标。
- 仅确定区域 — 根据第一、第二级线索确定了国家或省份,但未找到匹配的具体地点。这是完全合理的结果,而且通常足以满足个案需求。请说“在这个省的某处”,不要给出一个点。
- 尚未确认 — 看起来符合条件,但依据的是会随时间变化的特征、单一匹配元素,或你自己的相似感判断。
- 已排除 — 能够明确排除所声称的地点。排除通常比找出真实地点容易,也更有价值;要证伪只需发现一项确凿矛盾,例如行车方向。
给出坐标时,务必同时报告半径。只给出六位小数的坐标,会让人以为你有亚米级的精度,而你并没有。
实例
一张图片被传播,声称拍摄对象是“国家 A”的一座燃料库。没有元数据。
盘点线索:白色中心线,靠右行驶,混凝土电线杆配单根水平横担和短粗的棕色绝缘子;一块警示牌使用拉丁字母文字,其中有一个变音符号,而国家 A 的语言中并不存在该符号;一家商店的招牌部分可辨;低矮稀疏的植被、光秃的落叶树、只有阴影处的地面留有积雪,左侧地平线上有一道山脊。
这个变音符号已经与说法相矛盾——这才是关键发现。文字和拼写习惯将范围缩小到两个邻国。电线杆和绝缘子的样式与其中一国相符。
商店招牌通过 OCR 识别出一段文字。把这段文字作为商家名称搜索,找到一家在某个省设有分店的连锁店。通过 Overpass 查询该省的燃料库,得到 11 个候选地点。
卫星视图中的第一个候选地点看起来符合——储罐数量相同。但它未能通过证伪测试:进场道路从错误的一侧接近,而且从拍摄位置看,山脊应该位于镜头后方。排除,且这是一次有价值的排除,因为验证成本很低。
第四个候选地点在储罐排列、围栏拐角,以及根据该视点的高程数据生成的山脊轮廓上都吻合。附近道路的众包街景图像中也能看到相同的电线杆排列。
时间定位:围栏柱的阴影方位角和阴影长度比例表明拍摄时间为上午中段,太阳高度角与两个日期区间相符。只有阴影处有积雪,加上光秃的落叶树,可以确定为冬末,而非初秋。最近气象站的天气档案显示,几天前有降水,而当天上午天气晴朗,与此相符。
结果:地点已确认,误差半径为 100 m,位于国家 B,而非国家 A。日期较可能落在两周范围内。当地时间较可能为上午中段。
后续线索
| 已获得的信息 | 发送给 |
|---|---|
| 坐标和误差半径 | where-was-this-taken、write-the-intel-brief |
| 商家名称、连锁店、市政机构 | x-ray-a-company、who-really-owns-it |
| 标牌上的电话号码 | whose-number-is-this |
| 标牌或车辆上的公司网站 | who-owns-this-domain、recon-a-domain-passively |
| 画面中可见或署名的个人 | find-anyone |
| 疑似合成或生成的场景 | is-this-photo-real |
| 需要查找更早版本以确定场景日期 | find-the-original-image、read-deleted-pages |
| 画面中可识别的飞机或船只 | track-planes-and-ships |
| 需要梳理多个地点之间的关系 | graph-the-network |
法律和伦理说明
查看公开图像和公开地图数据属于被动行为,且合法。但有两个切实存在的限制。第一,根据某人自己发布的照片推断其住所、学校或日常行踪,正是跟踪骚扰的核心手段;这种技术再令人印象深刻,也不能让所得结果变得正当。只可将其用于寻人工作、经授权的调查、威胁评估,或向当事人展示其自身面临的暴露风险,除此之外不应使用。发布经过取整的位置或区域,而非具体到家门口的坐标。第二,在冲突相关工作中,发布精确位置可能会危及画面中的人员,或使他们成为攻击目标。这两项都需要你明确作出判断并记录在案。参见 ../../ETHICS.md。