魚羊 發自 凹非寺量子位 報道 | 公衆號 QbitAI

10年前,乃至100年前,你長大的那條街道長什麼樣?

△大谷Spitzer

現在,除了用AI修復老影像資料,谷歌還發布了新的「時光旅行」方案。

就像這樣,用3D視角,一覽1890年到1970年曼哈頓切爾西區的建築變化。

是不是有點歷史更迭內味兒了?

這樣一臺「時光機器」的引擎,是谷歌推出的基於瀏覽器的工具集r(音return),主要由3部分組成:

一個衆包平臺。用戶可以上傳城市歷史地圖,將其與現實世界的座標進行匹配,完成地理修正,並將其矢量化。一個時空地圖服務器。能顯示城市地圖是如何隨時間變化的。一個3D體驗平臺。運行在r地圖服務器之上,利用深度學習,根據有限的歷史圖片和地圖數據重建3D建築,創造3D體驗。以衆包方式打造

重現城市的過去,最大的難點就在於數據:可用的圖像很少,從圖像中獲取的元數據比之現代地圖自然也少得多。

爲了應對這一挑戰,谷歌的工程師們用上了基於Google Cloud和Kubernnetes運行的開源工具r。

其作用在於,採用衆包的方式,讓用戶們共同打造一個具有時間維度的地圖服務器。

具體而言,用戶可以通過瀏覽器上傳各個年代紙質版地圖的掃描件,對其進行地理校正,使歷史地圖與現實世界的座標相匹配。

然後,通過追蹤地理特徵,比如標誌性建築、道路等,將歷史地圖轉換成OSM矢量格式。

這些矢量地圖經過圖塊服務器(tile server)的渲染之後,就會變成通常在谷歌地圖上看到的,可以放大和平移的滑塊地圖(slippy map)。

重建3D模型

接下來,就是利用這些圖像和地圖數據,重建曾經在歷史上出現過的建築們的3D結構了。

這裏的難點在於,大多數情況下,一個建築的歷史圖像很可能只有一張。爲此,谷歌工程師們開發了一套由粗到細的識別重建算法。

如圖中所示,首先,根據衆包註釋或自動檢測算法識別地圖標記和歷史圖像中的建築立面,爲其生成粗略的3D結構。

與此同時,算法會識別建築立面上所有窗戶、入口、樓梯這樣的獨立組件,並根據其類別分別重建精細的3D結構。

兩者相結合,就得到了最終的3D網格。這一結果會被存儲在3D資源庫中,爲下一步渲染做好準備。

該算法涉及的SOTA深度學習模型包括:

用窗戶、入口、樓梯這樣的立面組件註釋訓練的RCNN,用於定位歷史圖像中的邊框級實例。語義分割模型DeepLab,提供每個語義類的像素級標籤。專門設計的神經網絡,用以確保一個立面上生成的窗戶之間間距相等、形狀一致。同時也保證不同語義類,比如樓梯和窗戶之間的一致性,使這些組件被放置到合理的位置上。

還原全球城鎮,還有《微軟模擬飛行》

在此之前,微軟也和AI初創公司Blackshark.ai合作,上線了全球最大仿真遊戲《微軟模擬飛行2020》,通過機器學習2D轉3D的模式,還原了全球200萬個城鎮、15億座建築物和3.7萬個機場。

遊戲一上線,知名遊戲測評媒體IGN就給它打出了滿分10分。

並且,Blackshark還透露,這樣的技術未來或將用於自動駕駛。

那麼,谷歌這次推出的懷舊項目你又覺得可不可呢?

如果你感興趣,也不妨加入其中,谷歌表示,歷史數據集和源代碼均將開源~

傳送門

官方博客:https://ai.googleblog.com/2020/10/recreating-historical-streetscapes.html

R工具集:https://re.city/#14.25/40.74094/-73.98798

— 完 —

相關文章