谷歌街景是如何通過技術手段實現的?普通愛好者能否通過較業餘的設備製作出類谷歌街景?


我採訪過街景產品的創始人,我來說說吧。

1,技術的原理不複雜,通過gps定位,確定每一張照片拍攝的位置。然後通過適當的技術手段,在地圖上把每一個點和這些照片關聯起來。而地圖技術,本質上也很複雜但是已經相對完善和成熟……

2,普通愛好者能做嗎?理論上,能。因為谷歌街景一開始,就是谷歌內部的幾個「業餘愛好者」利用谷歌賦予他們的20%的自由時間做出來的。

3,但是,事實上這個理論上簡單的東西背後太複雜,複雜到普通人搞不定這巨大的數據處理能力。

4,前端的數據採集過程也很有趣,一輛谷歌街景採集車,對於谷歌的天才工程師和產品經理們來說,曾經是他們最嚴峻的挑戰。因為谷歌強大的後台計算能力,谷歌地圖強悍的技術團隊,讓谷歌街景的發明人對於數據採集回來之後如何實現應用並不擔心。但是他們在製作街景採集車的問題上,著實費了一番力氣。

4.1,首先,弄個車,頂幾個攝像頭,下面接個電腦,當然還有好多其他電子設備。開出去……結果發現,電腦供電不足。汽車發動機功率無法再帶動一個單獨的發電機。於是,往車上裝一台獨立的發動機,用來發電。可是自己裝是裝不好的,於是他們團隊不得不專門聘請了專業的汽車工程師和電氣工程師來完成對汽車的改裝。

4.2,供電問題解決了,汽車開出去,採集一圈數據回來,發現數據都沒了。原來路途顛簸,硬碟被顛壞了。於是他們的汽車工程師又不得不給他們車上的電子設備設計了一套專門的懸掛系統,保證怎麼開車都不會損壞硬碟數據。

4.3,有些地方太窄,汽車開不進去。於是還得設計一個自行車街景採集系統……又是一堆事兒。

……

5,谷歌地圖不光為街景採集回來的照片進行定位和標籤,甚至對海量照片數據進行了掃描,讀取相關文字信息,來修正地圖信息。這個工作量和計算量,是普通愛好者無論如何也搞不定的。

5.1,除了運算能力之外,Google的Geek工程師們的思維方法恐怕也是普通業餘愛好者難以企及的。比如我的採訪對象告訴我說:

「Google當時有很多非常出色的工程師,他們的想法都非常大膽。當時我印象非常深刻的一個例子是,就是說因為地圖裡會出現一個問題,比如這個路口的建築的門牌號是100號,下個路口是200號。但是這條街道中間的各個門牌號都不是線性排列的,原來我們是約摸估計150號是在這個路中間,但是Google的工程師提出,我們可以讓機器一張一張去識別街景中的照片,找出門牌號來,這樣就能精確定位門牌號的位置。其實這個工作非常非常難,因為一張圖片里有各種各樣的內容。包括以前地圖上對一些商家的介紹,一個店它是幾點開門幾點關門,我們都要找人打電話一個一個去問,現在可以通過街景上拍到的照片,就能把這些信息識別出來。先不說解決這個問題的方法是好是壞,一般這種問題我是不會想到用這種方法去解決問題的,但是這些Google的工程師就會想到讓機器去識別圖片這種純技術的解決方法,這是一種非常人的思路。」

6,總而言之,業餘愛好者能做出採集車來,能收集上數據來,但是如何處理、運用這些數據,業餘愛好者的業餘投入,真的很難。


作為一個剛好做過類似業務的人,我結合google 中文網站的介紹 (詳細:關於街景服務)以及我們項目過程中的經驗,給大家說一個大概。

首先,誰都沒有谷歌(Google)自己清楚他們的街景是如何製作的,我們去谷歌(Google)街景台灣的網站,找到關於街景製作的花絮頁面。

一目了然的看見街景製作基本就是兩個方面,

- 數據採集(Data Acquisition)

- 數據處理(Data Processing)

一. 數據採集(Data Acquisition)

谷歌(Google)自己擁有各式各樣的採集設備

如:

- 街景車

- 街景背包(比較酷炫)

- 街景三輪車?

- 街景雪橇(這個更酷炫)

大部分的谷歌街景是由他們,因地制宜的自己改裝各式交通工具,完成數據採集。改裝細節不得而知,但是必須有的設備或者技術如下:

1. 高精度GPS

通常還配備高精度IMU輔助高樓林立的情況下GPS的不足。

2. 全景相機

這個在之前的圖片中都很顯眼,相機通常都置於較高的未知,並且看得出對著各個方向都有鏡頭。

3. 本地傳輸和存儲設備

通過谷歌的系統的體積來目測,基本可以肯定數據是在出去作業的時候存儲在交通工具或者車上,根據Google網站的最終產品,大概可以猜測出,每隔3-5秒就會有一組包含各個方向照片的數據需要即時存儲,這個我們在類似的項目中處理的方法也很簡單,USB3.0直連SSD的PC,不僅傳輸速度可以保證,SSD也不會像傳統硬碟一樣怕顛簸。

二. 數據處理(Data Processing)

1. 調整圖像

拿到照片以後回來做的事情自然是後期

簡單說是PS,詳細說就是圖像處理,調整調整色彩,明暗,飽和度。

之後,為了保護隱私,強大的谷歌開發了一套面部(車牌)識別演算法,自動將一些敏感部位打上了馬賽克,比如這種。

或是這種

2. 製作360°全景照片

將同一瞬間拍攝的不同方向的照片,拼接在一起。

當然也是根據相機裝配時的角度,預設了演算法,自動拼接。

大概是這樣

再把這樣一張照片投影在一個球面,或者立方體上

大家去網站上可以拖動瀏覽街景,其實就是在轉動這樣一個球體(立方體)。

3. Geo-reference

將每張照片的地理信息坐標提取出來和谷歌地圖Google Map的主資料庫做個關聯就差不多搞定啦。

最後回答題主關於業餘製作類似應用:

請參考

Applied street view 一間德國公司,有全套解決方案,你可以按照他的原理自己製作一套,網址 Applied Streetview Camera

關於全景拍攝

中國全景網-全景網-360全景-360度全景

國外一些DIY全景相機介紹

支架+GoPro的方案

360Heros | All Around You


如果追求谷歌街景那樣的覆蓋基本是沒什麼意義,業餘拍的話可以追求一下高質量的全景照片,畢竟不管是谷歌,百度還是騰訊,街景圖片需要處理的量實在是太大了,而每張照片又必須人工處理,所以肯定沒辦法做到十分的精美。

業餘拍攝全景照片的話,你需要一個單反相機,需要有一個廣角鏡頭(最好是魚眼,視角越廣越省事嘛),需要有一個三腳架,有了這些,你就可以搞定基礎的攝影步驟了,如果腰包夠鼓,還需要一個穩定的全景雲台(300-5000)和遙控快門。

這一套如果按中等檔次的配下來,也就2萬多一點,就可以玩轉全景攝影了!


各個角落都採集更新,實在是體力活,非機器人不可


推薦閱讀:

如何看待商業WIFI的發展前景?

TAG:技術 | 信息技術IT | 計算機技術 | 谷歌Google | 谷歌街景 | Google街景地圖 |