14
市場上空間定位的技術方案分為單目、雙目以及激光雷達三大陣營,其中激光雷達由于成本高昂市場接受度較低,而在都是基于計算機視覺的單目和雙目中,雙目則顯得更受歡迎。在國內做計算機視覺技術方案的企業如圖漾、速感、人加智能等大多選擇了雙目,而選擇了單目的歡創科技則成為了少數派。那么,雙目為何比單目更受市場青睞,兩者之間的技術差異在哪里,單目又是如何實現空間定位與位置追蹤?本期雷鋒網硬創公開課邀請到歡創科技CEO周琨,詳細講解單目定位技術。
本期公開課包含但不限于以下內容:
視覺目標定位(位姿測量)
單目視覺定位
基于PnP的單目視覺定位
單目與雙目比較
單目視覺定位在VR中的應用

周琨,清華大學深圳研究生院碩士生導師,深圳市高層次人才,南山區領航人才,深圳市歡創科技有限公司CEO,清華大學本科、碩士,師從973首席科學家,長江學者戴瓊海教授。十余年IT和人機交互技術行業產品研發和技術管理經驗。先后就職于貝爾實驗室,中國移動,對視覺人機交互技術進行了非常深入的研究,作為主要發明人,擁有二十余項國際和國家專利,并先后獲得山東省科技進步二等獎和深圳市科學技術專利獎。2014年初創辦歡創科技,擔任CEO職位,引領公司致力于計算機視覺空間定位與位置追蹤技術的研究和產業化,目前產品已經廣泛應用于電視機、VR與機器人領域。
以下為嘉賓分享內容實錄。相對視頻文中做了刪減,完整內容可觀看視頻。關注雷鋒網旗下微信公眾號「新智造」,回復「PPT」可獲取嘉賓完整PPT。
從工程意義上來說,測量一個物體相對于另一個物體的位置與姿態,即所謂的位姿測量。從數學意義上來講,測量兩個坐標系間的平移與旋轉變換關系,包括3個位置(Translational)和3個旋轉角(Rotational)共6個位姿量(即6DOF)。理論上,只要已知空間不共線的3點在兩個坐標系下的坐標,就能唯一確定兩坐標系間的位姿關系,因此,位姿測量的關鍵就是如何得到特征點在這兩個坐標系下的坐標。

自定位(inside-out),即通過相機拍攝視野坐標系,以及坐標系的特征點,從而判斷相機相對坐標系自身的坐標。比如我們常用的SLAM,這方面雷鋒網之前也有嘉賓做過介紹,它的特點是便攜、視角理論無限大、定位精度不高。主要應用領域包括移動機器人、無人機、VR、AR。

外定位(outside-in),比較常見的是OptiTrack,特點是安裝復雜、視角有限、定位精度高。主要應用領域包括影視動捕、VR、工業機器人。
單目定位(mono camera)

特點:系統簡單,運算量小,需要目標點之間有幾何約束關系,應用場景有限制,成本較低。
雙目定位(stereo camera)

特點:系統復雜,運算量大,可以單幀單目標點定位,對目標物體無幾何約束,,應用場合靈活,成本較高。
多目定位(multiple camera)

特點:系統非常復雜,運算量特別巨大,對目標物體無幾何約束要求,應用場合受限,成本很高。
目前關于雙目定位的研究與市場應用相對比較多,而單目定位則相對比較少,所以,今天我就重點講下單目定位。
顧名思義,單目視覺定位就是僅利用一臺攝像機完成定位工作。單目視覺定位的方法主要有兩種:基于單幀圖像的定位方法和基于兩幀或多幀的定位方法。
基于單幀圖像的定位方法包括基于特征點的定位(Perspective-n-Point)、基于直線特征的定位,關鍵點在于快速準確地實現模板與投影圖像之間的特征匹配。
基于兩幀或多幀的定位方法的關鍵在于實現多幀投影圖像之間的對應特征元素匹配,如SLAM。
P-n-P,即Perspective-n-Points,指給定世界(剛體)坐標系下的n個3d坐標點,以及這些點在圖像中的2d投影坐標,求解世界(剛體)相對相機的姿態和位置(求解R,t)。要想求解出世界(剛體)相對相機的姿態和位置,必須知道至少4個點,也就是n要大于等于4,當然這是必要條件,不是充分條件,充分必要條件是n等于6。



雙目視覺定位原理是指通過三角測量原理來對目標點的三維空間位置進行定位。雙目視覺定位的算法流程:相機標定、雙目標定、圖像處理、特征檢測、立體匹配、三維測量、姿態測量。
圖像提取精度問題
單目&雙目:如何提取目標的高精度圖像
匹配問題
單目:如何將剛體目標點同投影點匹配
雙目:如何將兩個攝像機中的目標點匹配
標定問題
單目:如何將相機內參估計準確
雙目:如何將相機內參和外參估計準確
有趣的系統問題
單目:攝像機簡單,目標復雜,需解決剛體目標點布局問題
雙目:攝像機復雜,目標簡單,需解決攝像機基線設置問題
由于存在幾何模型約束優勢,單目視覺會有更高精度與魯棒性(以下為仿真實驗結果)

單目視覺有效視場更大:剛體定位不僅不依賴多個相機,定位空間還可以通過多個相機進行擴展而不發生視場范圍損失。

應用場景需要知道3DOF還是6DOF?
單目視覺:要么不能輸出位姿,要么輸出6DOF
雙目視覺:可輸出3DOF、6DOF(滿足一定條件)
應用場景對目標物體有無約束?
單目視覺:必須已知剛體上4個及以上的目標點的幾何約束
雙目視覺:無須知道幾何約束,適應范圍廣
應用場景對成本、視角要求如何?
單目視覺:成本更低、有效視角更大
雙目視覺:成本更高、有效視角更小
Oculus:單目光學攝像頭 + 數十個LED主動光源

Sony PSVR:雙目光學攝像頭+ 9個LED主動光源

HTC Vive:激光 +光敏二極管陣列

詳解Oculus 定位方案
定位器:1百萬像素,全局曝光攝像頭,52fps.
手柄:環形紅外定位點帶+IMU
頭盔:面板紅外定位點+頭盔后部三角形上的紅外定位點+IMU
定位方式:手柄和頭盔通過無線控制紅外定位點發光時間與攝像頭曝光時間同步;PC使用從圖像獲得的定位點信息與IMU數據融合,獲得頭盔和手柄的位置信息。
缺陷:覆蓋范圍比HTC小,達到roomscale需要更多的定位器;所有定位信息統一計算,不利于擴展到多人或更多設備。
穩定性(Robustness)
定位精度(Precision):靜態精度(HTC:Translational RMSE: 1.5mm)和動態精度
靜態抖動(Static jitter)
范圍(Range)
成本(Cost)
六軸工業機器人測量,以工業機器人輸出值為Ground truth,并以此為準進行比對。

提高標定精度——高幀率連續空間采樣
提高圖像提取精度——亞亞像素級的圖像提取精度
多傳感器融合——加入IMU,利用IMU信息提高信噪比
去除干擾點——通過調制光線,去除環境光照影響
新智造:對于機器人是移動避障來說,單目是否比雙目更好?
周琨:從定位精度和魯棒性來說,雙目還是比單目好一些,如果從單目的場景來說,物體的復雜性會更高,而且單目的成本更低,但是對于機器人來說,成本不是太大問題,所以用雙目做機器人的移動避障會更好些。
新智造:做ADAS的話,單目和雙目的差別在哪里?
周琨:ADAS我研究的不多,我就以我認知的來說下。因為汽車是高速移動的物體,所以ADAS的反應速度非常快,單目的好處是視角范圍比較大,雙目的局限就在于它的視角會受限,不過單目只有一只“眼睛”,3D定位的話尺度問題不好解決,雙目的定位范圍要大些,精度可以做的比較高些。所以說兩者之間還是有差別的。
新智造:跟蹤定位未來有什么有前景的研究方向嗎?
周琨:目前主要是兩個方向,一個是SLAM,這個是非常大的研究方向,不過到現在其實都不太成熟,到目前為止我見過最成熟的產品就是微軟的HoloLens,就是有很多攝像頭才能做到魯棒性比較好,閉環做的比較好,無論是tango還是高通在VR上的的SLAM,都容易受到環境因素的影響,包括光照、白墻等等,離實用還是有比較大的距離,所以說這是一個比較大的研究方向。
第二個就是在工業應用領域,這個時候需要解決的問題是精度,也就是說不用考慮成本問題,研究方向就是如何提高精度,毫米不夠就亞毫米。
新智造:在工業機器人中視覺應用廣嗎,有哪些常用的應用?
周琨:在工業機器人領域,視覺應用會越來越廣泛,比如倉儲機器人都是無人值守的,自己完成搬運工作,那么它需要“眼睛”來識別環境,目前比較常見的定位方案是Kiva的標記點,未來一定是使用SLAM方案,機器人可以自行規劃路線;第二個場景是制造,雖然說機械臂可以進行定位,但是僅適用于大批量重復性的制造,如果你需要經常對這個加工的目標不停的改變,你就需要輔助定位裝置幫你進行重新設定,這個時候它的優勢就出來了。
新智造:能否通過其他傳感器獲得攝像頭的位姿,而不是通過圖像計算獲得?
周琨:實際上現在我們常見的應用都會加入多個傳感器來獲得攝像頭的位姿,最常見的就是MU,六軸或九軸的傳感器輔助獲得攝像頭的位姿,比如攝像頭出現遮擋,往往需要MU輔助獲得攝像頭的位姿,還有一種假如在室外,通過GPS獲得經緯度,通過氣壓計獲得高度信息,其實這也是多傳感器融合的情況。
新智造:在圖像采集完后對圖像處理,放大目標圖像的灰度值,縮小非目標的灰度值中,如何使這個比例能更協調,而不只是根據主觀推斷?
周琨:根據我們的經驗比較難做,因為很難區分目標與非目標,所以我們常見的做法是盡可能在原始數據時讓目標與非目標的區分度更大一些,方法很多,比如說可以通過增大目標物體的特征,比如亮度,或者通過調制光,把目標的特征點與非目標的特征點放大,然后再去放大灰度值,就是第一步就把問題解決,就很容易區分目標與非目標。所以,我傾向于解決問題解決前面,而不是放到后面去解決,這樣會很難的。
新智造:對于小目標如何提取穩定特征點?
周琨:最笨的方法是提高相機的分辨率,很容易把目標的像素點提高,獲得的信息就多了,特征點容易穩定,帶來的壞處就是增加成本,如果在不增加成本的情況下獲取穩定的特征點呢?其實我們也做了一些工作,就像PPT里講的做到了亞亞像素的精度,采用的策略是盡可能采集樣本的數量,帶來的壞處就是可能數據量增加幀數會下降,那么如何在樣本數量增加的同時保障幀數不下降,這個是需要解決的問題,但是方法無外乎就是這些!
新智造:圖像匹配過程中有什么方法可以提高匹配精度?特征比較少的場景怎么解決?
周琨:圖像匹配過程中首先要找特征點,要想提高匹配精度就要盡可能找出更多的特征點。無論是雙目還是單目,最難的場景是面對一面白墻,沒有任何特征點,這個時候要想提高匹配精度就很難,這個也是一個世界難題,目前就我所知還沒有特別好的辦法能解決,如果非要去解決,那就人為制造特征點,比如打散斑,也就是結構光,這個時候能夠提高匹配精度。簡單來說就是盡量找特征,沒有特征的話就人為制造特征。
新智造:多傳感器的時間戳同步問題怎么解決?
周琨:如果你用CMOS傳感器它就比較容易實現,因為好多CMOS傳感器都有時間戳同步功能,如果CMOS傳感器你還需要用到MU,想要實現時間戳同步,就需要確定一個同步的中心元,像在VR里面,比如我有兩個攝像機和手柄,這個時候你需要用頭盔做這個同步的中心,它發射命令出來,所有攝像頭也好手柄也好向它對齊,關鍵是做到這一步,其他方面我覺得沒什么。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。