Google Project Tango 有哪些黑科技?

軟硬體方面


Project Tango不論從硬體和軟體上講都是一款技術含量很高的產品,正如其高級工程師Johnny Lee 所言,"We"re developing the hardware and software technologies to help everything and everyone understand precisely where they are, anywhere." 相信接觸過Tango的同學應該都會驚嘆於那些基於Tango的App所呈現的效果。

從硬體上看,tango的黑科技從他的三個階段硬體中可以窺見大致:

1. 2014Q1Google 獨立發布的Peanut原型手機。

在ifixit上很早就有了這個樣機的完整拆解。手機的背面有幾個重要的光學器件:從左往右,依次有一個IR紅外相機,旁邊是一個RGB相機,然後跨過5cm左右距離,有一個IR projector,然後是一個180度的定製魚眼相機。

從實驗看,IR projector打到牆上的紅外光斑紋理,和Kinect所投射的問題極其相似。在他的主板上,也看到Primesense的PSK1200 SOC晶元。這驗證了這款手機的Depth使用了Kinect授權的structured light技術。而其實在第一款Tango設備面世之前,也就是2013年底,Primesense就已經被Apple收購了。因此我們看到第一款Peanut Phone並沒有大規模公開銷售,很快就更新成了第二款的Yellowstone平板了。CPU採用了高通驍龍800,另外非常土豪的安裝了兩塊Movidius Myraid 1 VPU晶元。Movidius相信大家也有所耳聞,前不久被Intel收入囊下。這個晶元是專門用來做視覺演算法處理的DSP,功耗很低,可以把一些高頻次的計算從CPU上offload到周邊,舉個例子,計算量非常高的SIFT或者SUFT運算元,是SLAM中非常重要的計算單元,也是計算的大頭,如果有這兩顆晶元,那麼SLAM就可以以很低的負載在CPU上運行了。

值得一提的是,這款機器還裝有兩個IMU,一個是蘋果御用的Invensense,另外還有一個Bosch的型號。


2. Yellowstone Tablet

第二款是一個代號「Yellowstone」的7英寸平板,這個型號曾經於2015年在Tango的官網上進行販售。

從攝像頭模組來看,從左到右,依次是RGB相機,IR相機,魚眼相機,和紅外projector。據ifixit的消息,IR projector換成了Mantis Vision的模組,我們實測的結果是,這款depth camera的質量不太理想,depth點非常sparse。

主CPU換成了能力更強 功耗也更高的Nvidia K1,這個晶元攜帶了在當時的mobile領域堪稱核彈的GPU。Nvidia為了這個晶元,甚至出了一個專門優化的Opencv版本,可謂煞費苦心。因此至今仍有很多計算機視覺硬體項目使用這塊處理器。

有網路消息稱其採用了Movidius Myriad 2 VPU,但從拆解看並沒有看到該晶元,對此表示謹慎態度。

另外,這兒有一塊STM32是特殊為tango添加的晶元,從公開信息看,他的主要功能是把不同的感測器加入hardware timestamp,據稱可以達到50us的精度。


3. 聯想的Phab 2 Pro手機

在2016年1月的CES上,google宣布與聯想聯合推出第一款針對消費者的Tango設備,這是一個6寸的智能手機。

聯想的Phab 2 Pro手機暫時沒有找到拆解的信息,唯一找到一張該手機使用的高通處理器架構圖,可以對應到上面兩頁中的信息。

可以確認的是,Phab 2 Pro使用的高通驍龍652,是專門為Tango定製。

從這種架構圖中,可以看到,輸入源仍然有:高頻率的IMU數據,魚眼相機數據流,RGB相機數據流,和ToF depth數據流。Depth camera換成了TOF sensor,從depth質量看,相比前一代有明顯的提升。

這些感測器全部接入到高通,並且在內部實現了一個硬體時間戳同步機制,達到了50us的精度。另外,還有一個內置的DSP,專門來實現前面討論過的feature tracker。而在CPU上實際運行的是Tango的sensor fusion core程序,這裡提到僅佔10%的CPU load,這個數字事實上與我們手中的Yellowstone平板的CPU測量結果也相符。在此驗證,Tango的異構計算設計,feature tracker在DSP或GPU中實現,而fusion core在CPU中實現。

可以看到,高通為了Tango專門定製的這枚晶元基本實現了一塊SOC晶元完成所有需求。

同時,Movidius協處理器不見了,負責硬體時間戳的STM32不見了。

軟體上,Tango第一次實現了接近實用的視覺慣性里程計(Visual Inertial Odometry-VIO)

之前該演算法都只能使用在實驗室環境和特定觀景中,如火星探索車等。

為了實現這一點,除了上面所說的硬體外,tango在軟體上也用了不少特定的設計來支持VIO等功能,比如從它的Log看,為了快速提取環境特徵點,它使用GPU加速來提取Freak特徵點。

Tango諸如此類的「黑科技」還有很多,這裡不一一列舉,大家可以自行發掘。總之,可以看出Tango為了得到今天的效果,在軟硬體上都下了很大功夫。

關於Tango VIO技術的更多探究可參考:

如何評價Google 的 Project Tango ?


推薦閱讀:

怎樣從實際場景上理解粒子濾波(Particle Filter)?
如何評價2016賽季的第二屆新博茨大戰賽事(battlebots)?
關於ABB,發那科,庫卡,安川四大機器人廠家的機器人技術優勢劣勢分析!?
視頻中扁平的小機器人是用了什麼武器把對面掀翻的?
格鬥機器人都有哪幾種類型?

TAG:機器人 | 計算機視覺 | ProjectTango | 同時定位和地圖構建SLAM |