照片地理定位 API:能回答什麼,不能回答什麼
· 閱讀時間 1 分鐘
簡短回答
照片地理定位 API 接收一張影像,回傳它拍攝地點的估計:國家、地區或城市、大約座標,以及信心分數。這個估計是從建築、招牌和植被等可見證據推論而來,不是 GPS 讀數,光靠像素無法得出街道地址。
名稱在寫任何程式碼之前就造成了混淆。瀏覽器的Geolocation API會回報裝置目前的位置,而且必須等使用者授權之後才行。照片地理定位 API 回答的是另一個問題,針對另一種輸入:這張照片是在哪裡拍的?照片可能是十年前拍的,地點也可能在地球上的任何一處。
另外還有三種同樣常被說成「定位照片」的技術:讀取 GPS 中繼資料、以圖搜圖,以及地標偵測。它們回傳的東西不同,失效的方式也不同,因此在選擇之前,先弄清楚你的產品真正要問的是哪一個問題,會很有幫助。
照片地理定位 API 實際上做什麼?
它從像素推論位置。模型會讀取道路標線、建築樣式、植物、招牌上的文字與光線品質等證據,然後回報大多數證據一致指向的地點,並附上證據一致程度的分數。
許多研究系統把這當作分類問題來處理。PlaNet是 Google 研究人員在 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 自己的範例會回傳聖瓦西里主教座堂(Saint Basil's Cathedral),分數為 0.78。
有兩個細節會讓團隊踩坑。一般街道根本不會回傳任何地標,因此涵蓋範圍很窄。而座標描述的可能是地標,而不是相機:Google 的參考資料指出,一個位置可能描述圖片中的場景,另一個位置則描述照片的拍攝地點。在塞納河對岸拍攝艾菲爾鐵塔的人,可能站在離鐵塔自身座標數百公尺遠的地方。
照片地理定位能為任何戶外場景估計區域
在四種方式中,視覺推論是唯一能對一條平凡、從未上過網路的街道提出看法的方法。代價是精確度。答案是附有信心分數的城市或地區,而不是測得的點;沒有地理證據的畫面,只會得到一個薄弱的答案,甚至沒有答案。
照片地理定位 API 會回傳什麼?
通常是一或多個層級的地點估計,例如國家、地區與城市,加上代表該估計的大約座標,以及信心分數。設計良好的回應,還會在檔案保留 GPS 中繼資料時另外回報,讓測量值不會被誤認為猜測。
| 欄位 | 意義 | 如何使用 |
|---|---|---|
| 國家、地區、城市 | 證據所指向的地點,分為多個層級 | 顯示信心所能支持的最具體層級 |
| 大約座標 | 代表估計區域的一個點,而不是相機位置 | 顯示城市標籤或區域,絕不顯示街道等級的釘點 |
| 信心分數 | 視覺證據的一致程度 | 用你自己有標註的測試照片來設定門檻 |
| EXIF GPS(若存在) | 裝置測得並儲存在檔案中的座標 | 放在它自己的欄位中;它的優先性高於任何估計 |
要避免的設計錯誤,是把估計座標和 EXIF GPS 合併成同一個位置欄位。下游的程式碼,以及閱讀其輸出的人,會把城市等級的猜測當成衛星定位那樣有把握。一路到介面層,都要把測得的位置與推論的位置分開,顯示時也要用不同方式標示。
估計座標同樣需要小心。為波爾圖回傳的一個點,代表的是好幾平方公里的區域。如果在街道縮放等級把它畫成釘點,使用者就會讀到一個根本不存在的精確度。
GeoSpy AI API 會回傳什麼?
GeoSpy AI API 尚未開放。它的設計目標是回傳網站分析今天所回傳的同一批欄位:城市、地區與國家的估計、信心分數、估計位置的大約座標,以及上傳檔案若仍含有 EXIF GPS 座標時的該座標。
這份清單直接對應上面的表格。它不包含街道地址,因為視覺證據無法支持地址;而且它把中繼資料的讀取和視覺估計並列,而不是取代後者。
端點、定價、速率限制與上線日期尚未公布,本頁的任何內容都不應被理解為對它們的承諾。如果你正在規劃整合,請透過聯絡頁面申請搶先體驗,並描述你的使用情境。
在那之前,網站是最接近輸出結果的預覽,可以用真實照片來試。網站分析包含在 GeoSpy Premium 中,訂閱方案為每週 7.99 美元或每年 29.99 美元,會持續續訂直到你取消,而上傳的照片不會被保存。
照片地理定位 API 用在什麼地方?
主要用於一致性檢查與分流:標記某張照片的可能位置與聲明不符的情況,讓人員進行審查。市集、新聞編輯室、旅遊與照片 App、保險公司和研究人員,都有各自版本的這類問題。它只關心地點,從不關心個人。
- 市集刊登檢查。 一間刊登在巴塞隆納的度假租屋,如果照片強烈指向另一個國家,就值得再看一眼。把不吻合的情況交給審查人員,而不是自動拒絕刊登;同時記住,佔了刊登大部分的室內照片,給模型的可讀資訊很少。
- 新聞編輯室查證。 一張號稱拍攝於某座城市的爆紅影像,可以在任何人發布之前,先用畫面中的證據加以測試。地理定位只回答「在哪裡」,因此要搭配搜尋較早副本的做法,如如何查證照片真假所述。
- 旅遊與照片 App。 掃描的沖洗照片和匯出的影像通常沒有 GPS。估計結果可以建議相簿的地點,或把照片分組成一趟旅程,前提是介面把它呈現為使用者確認的建議。
- 保險理賠審查。 當理賠把損壞放在某個城鎮,而照片明確指向別處時,理算員就有理由提出疑問。單靠估計不能作為拒賠的依據。
- 研究。 要描繪大型影像資料庫的地理分布,或審核訓練資料集的地區偏誤,需要大規模的粗略標籤,而這正是此方法擅長產生的。
這五種情況的模式都一樣:估計負責標記,由人做決定。如果讓城市等級的猜測自動觸發結果,就會大規模地放大模型的每一個錯誤。結構化的 OSINT 流程說明了估計該放在其他檢查的哪個位置。
視覺地理定位做不到什麼?
它無法從一般場景產生街道地址,也無法可靠地定位室內或特寫照片,無法推定照片的日期,無法辨識照片中的任何人,也無法確認影像是真實的。當某種景觀或建築風格在許多國家都會出現時,它還可能自信地回答錯誤。
有些限制屬於證據本身,而不是模型。PlaNet 論文開宗明義指出,構造一種完全無法推斷地點的情境是輕而易舉的事。一面白牆、一間飯店的浴室,或一盤食物,都不帶任何地理資訊,而模型再大也改變不了這一點。
研究結果是有用的現實檢驗。在 230 萬張 Flickr 照片上,PlaNet 把 10.1% 的照片定位到 25 公里以內,這是其基準所認定的城市等級距離。PIGEON於 CVPR 2024 發表,以 GeoGuessr 的街景影像訓練,它把超過 40% 的猜測放在 25 公里以內。差距一部分來自較新的方法,一部分來自照片本身:街景畫面充滿道路標線與招牌,而一般的照片集裡有許多畫面根本沒有任何地理資訊。
地理定位也無法為影像作保。一張 AI 生成的街景,仍然會得到一個對應它最像的地點的估計。API 回答的是「這像是什麼地方」,而不是「這是真的嗎」。
整合前,要如何測試一個 API?
用你自己、已移除 GPS 中繼資料的照片,並在固定距離上為結果評分,例如城市等級 25 公里、國家等級 750 公里。刻意加入沒有特色的照片,並檢查高信心的答案,是否真的比低信心的答案更常正確。
- Step 1從真實流量建立測試集示範影像都是挑選過、必定成功的。收集幾百張與使用者可能傳來的照片相似、真實地點已知的照片,並保持這組資料固定,讓不同廠商與版本能被公平比較。軼事也會誤導:一份在網路上爆紅、長達 1,100 字的 ChatGPT 提示詞,讓許多試過的人印象深刻,但在固定的 200 張照片測試集上,它的表現並不比簡短的提示詞好。
- Step 2基準測試前先移除 GPS如果 API 同時讀取中繼資料,一張帶有地理標記的測試照片,測量的會是中繼資料讀取器,而不是模型。請先移除測試副本中的 EXIF 資訊,否則你會記錄下一個完美的分數,而這個分數到了正式環境就會消失。
- Step 3以固定距離計分研究基準把猜測在 1 公里(街道)、25 公里(城市)、200 公里(地區)、750 公里(國家)或 2,500 公里(大洲)以內,視為正確。沒有附上距離的準確率聲明,無法與任何東西比較。
- 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 與 2,500 公里;在 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 分鐘