uSens馬賡宇:當人工智能遇上虛擬現實
原創【51CTO.com原創稿件】2017年7月21日-22日,由51CTO主辦的以人工智能為主題的WOTI2017全球創新技術峰會在北京富力萬麗酒店隆重舉行。峰會期間,30+AI明星,數十場圍繞人工智能主題的精彩演講與圓桌論壇緩緩揭開面紗。除了場內的精彩演講,場外還有專門為AI愛好者搭建的動手實驗室和科技體驗區,這一切都讓本次大會亮點十足。
7月21日下午WOTI2017主會場,uSens 技術研發副總裁馬賡宇進行了主題為《當人工智能遇上虛擬現實》的精彩演講。以下是演講實錄,讓我們先睹為快!
大家好!我們公司凌感科技,英文名字叫uSens。我們公司專注在VR/AR三維人機交互核心技術,提供解決方案,并不開發VR眼鏡、頭盔等產品,但以后大家買的ARVR產品中里面可能會有我們的技術。
我先簡單介紹一下我們對VRAR行業的理解,VR/AR中的核心技術首先是沉浸感,VR可以給用戶帶來和手機不一樣的體驗,就是沉浸感。首先要交互,在VR里邊,交互技術不需要鼠標鍵盤,大部分使用手柄交互,但是手柄不是最自然的交互方式,未來可能想直接用手抓取,所以現在有裸手手勢交互方案提供商。
還有位置跟蹤,一些高檔的VR設備可以提供位置跟蹤,但是這些成本都比較高,而且都需要連接電腦或者主機才能實現。另外一個VR里邊比較重要的是顯示,當然我們公司不做顯示方面的產品,顯示技術不是我們擅長的。所以說我們主要集中在交互技術。另外一個重要的沉浸感就是移動性,不需要額外再接到什么設備上,否則它只能在小范圍移動。移動性就是最好把一體機或者頭盔戴在頭上,大家就可以體驗VR效果。
大眾化最后一個特點是價格要低,比較好普及,可以吸引更多用戶來使用它。我們公司主要做的是VR/AR技術,其中HCI是人機交互界面,我們主要提供有手勢識別,還有頭的轉向跟蹤,還有頭的位置跟蹤,后兩點可以結合在一起。右邊是顯示技術,VR/AR顯示技術不同,但交互技術可以通用,都是手勢和位置跟蹤。
未來VR/AR需要解決三個問題,一個是產品的碎片化,一個新的硬件,或者一個新的產品出來,早期總是會產生很多碎片,比如現在的AR產品,每個公司想搶占市場都會發布自己的產品,但又不想別的產品進來,封閉的環境,只能玩自己的游戲。還有內容的缺乏,手機端的VR內容都是比較單一的,而且體驗比較差,還有待技術的進步。
去年、前年大家都說是VR元年,但那個時候VR/AR產品都是頭盔,把手機插在頭盔里可以簡單體驗VR效果,但實際用戶可能就體驗一下覺得沒什么意思,這是最初級的VR體驗。現在一些大廠商都是在進一步研發能帶來更好沉浸感效果的VR技術,下一輪VR產品可能會給大家帶來更好的用戶體驗。先說顯示技術,這個略微帶過一下,因為不是我們公司研究的重點。
顯示技術里邊比較核心的指標是FOV,就是視角。AR顯示大家最詬病的就是視角很小,但是像人眼的視角,如果不考慮余光,實際上可能有180度,但至少要達到100度才能感到比較好的沉浸效果。像這三款都是AR眼鏡,還有工業眼鏡,都是AR的,他們主要的指標是FOV、分辨率和硬件尺寸。AR頭盔尺寸比較大,因為里面要有放大的顯示屏,但VR頭盔以后可能會做的很小。下面介紹我們的技術的重點。
交互技術,現在把手勢分成三類:第一種是符號型的手勢進行交互,比如這個人做了一個OK的手勢,可以通過圖像或者什么方式識別出來,進行交互;第二種是拿著工具,比如這里拿錘子砸釘子,用手柄可以很好的模擬;第三種是用手直接和物體進行交互,這個就需要對手的三維模型進行精確的識別。
第一種硬件游戲手柄,是游戲機上最常用的,這三種都實現不了。第二類,現在VR里常用的是游戲手柄,比較適合拿著一個物體進行交互,比較自然。但是第一種和第三種,手勢直接交互都是不能實現。如果要實現這三種,必須把手的形狀都識別出來才可以。像hololens,可以識別兩種手勢,一種是點擊,一種是手張開可以出現菜單,它就是用了符號手勢進行交互。但是它沒有后面兩個功能,不能用手精確操作物體,不能用手抓一個物體。我們公司的產品可以實現這三種功能。
手的交互技術應用場景非常廣泛,不光是在AR場景,比如游戲里可以用手勢交互,第二是3D UI,第三是駕駛,虛擬點擊命令。在一些公共場合的顯示環境下,比如用戶從衛生角度考慮,不想直接用手去碰按鈕,這個時候有手勢識別;還有手術環節,醫療手術里醫生不能拿鍵盤拿鼠標進行交互,因為消毒的原因;還有在家里廚房做菜的時候也沒法點屏幕翻菜單。
下面這是我們手勢識別在AR上的demo,通過AR眼鏡,這個手勢是虛擬的,其他的場景都是真實場景,通過AR的方式顯示出來,這個數字是提供手勢的,可以識別手勢,通過指尖和其他東西進行交互,把指尖和整個手的骨架都識別出來了,這只是一個技術演示,是我們去年發布會上的demo。手勢識別和位置跟蹤,右下角是真實的場景,他在頭盔里看到的是AR場景,手勢交互我們早期也開發了一些算法,這是早期的一些視頻。
(播放視頻)
這是我們最早開發的第一個版本,用指尖交互,那個時候只能識別手指指尖,可以用指尖在空中進行點和畫畫。第二個版本是識別手的輪廓了,相機看到的手的圖像,可以3D把輪廓識別出來。而且,可以識別比較快的運動,不光是指尖,任何位置都可以進行3D交互。
大概2014年開始,我們用深度學習算法來解決手的識別問題,實際上手勢識別雖然研究這個的人不多,但它也屬于圖像識別問題,跟人臉識別、圖像識別一樣,都可以用深度學習來做。這也有一個視頻,這是我們用深度學習開發出來的26自由度手勢識別算法,用深度學習算法我們可以從圖像里邊自動把手的關節點和關節點角度與位置自動識別出來。
我們公司還做了兩方面技術,手勢識別和運動跟蹤。運動跟蹤研究很長時間了,最早是在軍事上使用,比如導彈、飛機,需要空中定位位置,優化以后用在智能機器人、無人車和掃地機器人上。VR/AR也是需要用空間定位技術,研發和掌握這些空間定位技術的是這些公司,比如Google Tango,幾年前出的Tango平板,還有Microsoft hololens,高通,一些硬件廠商已經拿到他們的參考設計進行適用,效果很好。前段時間apple發布的ARKit,類似的技術還有Facebook,Snapchat,也想做相關應用。我們公司也完成了AR技術,空間定位技術,我們昨天剛發布了第一版,昨天也看到聯想發布了他們的頭盔,里邊也集成了他們自己的技術,有機會大家可以去試一試。
空間定位技術,比較技術,簡單科普一下。空間定位技術需要結合視覺和傳感器兩方面信息,視覺特征,這個模型大概是這樣的,一個相機的成像,通過相機觀測一個3D點,可以得到圖像,3D點和圖像滿足下邊投影方程,左邊列了三個比較常用的問題。第一個是3D點的位置和3D點的投影,需要解相機的R、T,都在下面的方程里。XYZ是未知的,其他是已知的,要同時解空間定位和三角化的問題,已知的只有2D的投影U、V,同樣是這個范圍之內。
空間定位技術簡單列舉了分類方法,SLAM方法包含兩個模塊,一個是Tracking,已知3D點位置;一個是Mapping,更新3D點的位置。兩種視覺特征,一種是基于圖像特征點的方法,另外是比較經典的開源代碼,最近幾年是采用直接法,比較像素灰度差。下面是兩種求解方法,剛才的方程用什么方法求解,一種是濾波的算法,另外一種是基于優化的算法,直接優化方程解一個方程組。這些方法目前沒有說哪個好哪個不好,在實際系統里邊用各種方法都可以達到類似的效果。
剛才說的是視覺方法,實際上近年這個方法已達到實用的程度,因為傳感器的進步以及傳感器信號融合到算法里邊,使得系統得到提升。陀螺儀,左邊這個圖,中間如果高速旋轉的話,整個設備旋轉,但中間轉子的方向是不變的,這樣可以得到設備的旋轉方向。但是這種方式可能早期幾百年前的輪船里邊會用,但現在高精度的陀螺儀都是用激光的方式,用激光陀螺儀,比如導彈在空中飛行幾個小時,但誤差只有幾百米,或者100米之內。
這種激光方式中間有個激光源,它會向兩個方向發射激光。如果這個物體靜止不動的話,這兩條光線的長度一樣,比較這兩條光線的相差就是0,如果這個物體旋轉的話,這兩個光路就會有稍微特別小的變化,中間產生的相差就會有,通過識別相差就能知道整個設備旋轉速度。這里有兩個扇片,物體旋轉的時候不動,通過識別角度就可以知道它的旋轉速度。這種微型化的陀螺儀精度會比激光差很多,如果單獨用它的話是沒法達到結果,所以必須要結合陀螺儀和視覺信息一起進行。
IMU中的陀螺儀輸出的是相鄰相機的旋轉角度。左邊的圖里邊顯示的是有四個時段相機,每兩個相機之間通過IMU得到它們的旋轉角度以及加速度的值,實際加速度的值不能直接用來估計它的位置,只能用來估計速度,所以下面的公式有三個方程,這三個方程包含角度、速度和位置。第一個方程,下一個時刻的角度等于上一個時刻的角度乘上IMU估計出來的角度,這里面還包含了一些IMU的漂移以及噪聲;第二個方程是速度,上一時刻速度加上重力產生的速度,以及IMU讀出來的加速度;最下面的方程是位置的方程,加上速度產生的位移以及加速度產生的位移,加速度產生的位移就是二分之一立方,中學物理學學過的。所以說,IMU的約束在這個方程里邊都表示了,剛才介紹的是圖像產生的數,把這些約束都加一起就是IMU和圖像融合得到的一個系統的方程。
實際傳感器是有一些問題的。第一個,傳感器的采樣是離散的,而且有漂移,比如圖里邊連續的線是實際的加速度,但是IMU采樣是離散的,所以并沒有采樣到,所以結果是有誤差的;第二個,IMU得到加速度它是包含重力的,實際上重力產生的加速度是遠大于一般的移動時候產生的加速度的,所以說要去掉重力就需要精確估計朝向;第三個,IMU的位置和相機的位置肯定是不在一起的,它們之間有相對位移,而且由于工業生產的原因,它們倆之間會相差一個很小的角度,一些研究發現,即使角度差一度,對最后整個系統的精度影響也會很大,所以在線標定他們之間的角度和位移;第四個,相機采樣頻率大概是60、30,但IMU采樣頻率很高,一般都是500、800、1000,采樣頻率、采樣時間也是不一樣的。
解決這些問題的方法,IMU采樣率比圖像高很多。2016年有人發表了一篇文章,預積分的方法,把圖像之間IMU信息都集中起來,當成一個量,這樣就不用細化每個幀IMU,據我所知,這個在所有系統中都在用;第二個,這個需要精確的標定,如果差很多的話,整個系統就完全崩潰了,不能工作了;最后一個技術也很重要,ATW,人運動時候開始,到他看到合成的虛擬場景真的產生運動,這個時間要少于20毫秒,人的運動開始,你看到的光線產生變化,這個時間要小于20毫秒,這樣的話VR運用中用戶才不會感到暈。
但是像我們整個過程,包括很多運算,第一個是圖像獲取的時間,算法處理的時間,還有渲染的時間,渲染的結果到最后顯示的時間。這些里面有些是可以預測的,有些是可以通過IMU數據得到的,有些是只能經過預測的。像這里面第一個圈是圖像,算法處理完之后,第二個時刻只能得到前面那個圈時刻的信息,但實際上后面這一段是有IMU數據的,可以把IMU數據集成到這里。所以說在第二個圈那個地方它得到的位置相對來說比較精確,但后面渲染的時候,渲染時間和顯示時間,這個時候完全沒有IMU信息,所以只能通過前面的模型把后半段預測出來,后面這部分誤差比較大,但是通過這種技術還是可以明顯的減小延遲,現在商用的VR產品里邊都是用的這種技術。
我們的產品硬件也經過了幾次迭代,從尺寸上和功耗上都比之前小很多,但它的外型都是雙攝像頭,這是一些指標,紅線標出來的是效果影響比較大的。第一個是分辨率,必須是全局曝光的,手機里的攝像頭都是快門,曝光時間不一樣,會影響精度;第二個是硬件同步,我們是雙系統,所以左右相機要同時采圖,而不是分別采圖。
采樣率,我們的產品會達到60幀到120幀,快門時間是0.01到10毫秒。我們這個產品目標是做一個智能視覺系統,現在我們的應用在VR/AR場景應用,但實際上它的應用可以在下面列舉的一些未來的應用,第一個是在廣告機上做手勢識別,第二個是車載手勢識別以及機器人和無人機上也可以用來做空間定位。大概就這些,謝謝大家!
51CTO記者將持續為您帶來WOTI2017全球創新技術峰會前方精彩報道,敬請期待!
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】