在用谷歌3D城市點云模型的算法中,我們來到了合成點云這一塊,這里跟大家說說合成點云的方法吧。
合成點云
利用Google Street View API提供的不同地址間的鏈接,我們得到了相信全景圖片的標識點和地理信息。
所以,我們現(xiàn)在可以以新的地點坐標重復(fù)之前的步驟,用全景圖片創(chuàng)造3D場景并能夠豐富此前我們用個點創(chuàng)建的場景,或者重建一個真實世界的場景。
我們這個項目來說,會使用兩個界限:兩個全景圖片間的最短距離以及深度信息的重復(fù)。
可以將第一個載入的全景圖片想象成一個數(shù)的根部,然后以一種廣度優(yōu)先的方式(breadth-first)進行探索。
平均來說,我們注意到谷歌的深度地圖通常包含現(xiàn)實世界的200-300米的距離,所以我們決定以1:1的比例來重建場景。
我們將第一個點云的中心坐標設(shè)為(0,0,0),然后我們根據(jù)真實世界到全景位置的距離,按照offset proportional來加入其他的數(shù)據(jù)。
利用一些幾何和近似值,我們可以用這樣一個算法來計算[x,z]平面的distance vector:

除了這個轉(zhuǎn)化,這個點云需要根據(jù)從谷歌街景中提取的Heading特定信息來沿著垂直Y軸來旋轉(zhuǎn),然后才得到了一個近似于如圖的效果。