Google 智能照片識別系統 識別任何照片的拍攝地點

36氪

text

【亞太日報訊】 如果隨便給你一張照片,僅憑這張照片本身讓你辨別照片是在什么地方拍攝的,即使對于一個經驗豐富的旅行達人而言,這都是非常困難的。如果這張照片是著名的地標性建筑,例如埃菲爾鐵塔、埃及金字塔或是尼亞加拉大瀑布等地方,你可以一眼就能猜出照片是在哪里拍的。如果照片里面沒有任何能說明地方和位置的線索,或是照片是在室內拍的,或照片里是一種寵物或食物,這時要再想猜出照片是在什么地方拍的,這就變得困難得多了。

不過人類還是能想盡各種辦法來完成這項任務的。他們可以借助照片里的各種信息來猜出拍照的地點,比如照片里可能出現的語言,植被類型、建筑風格、服裝風格、車輛靠左行駛還是靠右行駛,等等。這些都是人們的經驗積累。如果讓機器來完成同樣的猜拍照地點的任務,很多人可能會覺得機器比人類更難完成這項任務。

然而 Google 的計算機視覺專家 Tobias Weyand 和 James Philbin 與 Ilya Kostrikov 等工程師卻開發和訓練了一個深度學習機器,它可以通過分析照片上的像素確定照片的拍攝地點。在辨別照片的拍攝地點方面,這個新的機器的表現竟然超過了人類,更讓人不可思議的是,對于那些沒有地理物質線索的寵物、食物等照片,它竟然也能辨別出照片的拍攝地點。

這個機器究竟是怎么做到的呢?其實方法也不難,至少在機器學習世界是不難的。Weyand 和他的團隊成員將全世界劃分成一個網格,這個網格由超過 26000 個不同大小的方塊組成,每個方塊的大小由在該地點拍攝的照片的數量決定的,而其中每一個方塊都代表著一個具體的地理區域。所以在拍攝的照片多的大城市,方塊的密度和大小要多余那些偏遠的地區。Google 的團隊忽略掉了海洋和兩極地區,因為那些地方很少有人拍照。接下來,Google 的這個開發團隊利用從互聯網上的搜集到的各個地方的照片建立了一個數據庫,再利用地理位置數據將不同的照片歸入相應的網格方塊中。整個數據集是非常大的,它一共包含了 1.26 億張照片和所對應的拍攝地理位置數據。

Weyand 和他的團隊利用 9100 萬張照片來打造一個強大的神經網絡,通過照片本身就能知道照片的拍攝地點。他們的想法是這樣的:你將一張照片輸入這個神經網絡后,就可以立刻知道照片的拍攝地點,或是最有可能的拍攝地點的一個列表。

他們然后會利用數據庫中剩余的 3400 萬張照片來驗證這個神經網絡的功能,他們這些將照片與這個核心網絡中的照片進行比對,得到識別結果。他們將這個神經網絡命名為 PlaNet。

為了進一步測試 PlaNet 識別的準確度,Google 的這個研發團隊從 Flickr 中選取了 230 萬張帶有地理標記的照片,看 PlaNet 能否對這些照片的拍攝地點進行準確識別。Weyand 表示,PlaNet 能夠以街道級精度確定 3.6%的照片的拍攝地點;如果從城市級精確度來說,識別率提高為 10.1%;如果從國家級精度來說,識別的準確率為 28.4%;如果從大洲級的精確度來說,識別的準確率為 48%。

這個識別結果看似不理想,但其實已經非常了不起了,PlaNet 的表現已經略好于人工。為了說明這一點,Weyand 和他的團隊將 PlaNet 的識別結果和 10 名見多識廣的旅行家判斷結果進行了一次比賽。PlaNet 判斷的拍攝地點與照片的實際拍攝地點的平均差距在 1131.7 公里以內,而 10 名見多識廣的旅行家判斷的結果與實際地點之間的平均差距在 2320.75 公里以內。

“總體而言,PlaNet 在 50 輪人機比試中勝出了 28 輪,平均誤差為 1131.7 公里;人的平均誤差為 2320.75 公里。這場人機比賽表面,PlaNet 在識別照片拍攝地點方面的表現已經超過了常人。” Weyand 團隊這樣說道。

PlaNet 在識別照片拍攝地點方面為什么能表現如此優異呢?Weyand 表示:“我們認為 PlaNet 比人有優勢,因為它見過的地方比任何常人去過的地方都要多得多,此外,它還能識別出不同地方景色的細微差別,即便是那些最喜歡旅游、去過非常多的地方的旅游達人也很難看出那些細微差別。”

此外,Weyand 的團隊還利用 PlaNet 來定位那些沒有任何地理位置線索的照片,比如室內拍攝的照片或是一些物體的照片,比如貓啊,狗啊。當這些照片是在同一個地方拍的照片的影集的一部分時,這個機器可以通過辨別影集中其它照片的位置的方式來辨別這些照片的拍攝地點。 (原標題:Google 智能照片識別系統 PlaNet 能識別任何照片的拍攝地點)