高精度三維空間測量 定位與追蹤(上)

2021-09-23 01:29:05 字數 3961 閱讀 1685

本文分為上、下兩篇,重點介紹基於計算機視覺的空間測量與定位這一技術,包括其應用領域與市場前景,常見方案對比,並重點介紹單目空間定位的原理與難點,ai技術在位置追蹤上的應用等 

伴隨著智慧型家居、工業4.0、計算機輔助醫療以及vr/ar的蓬勃興起,越來越多的場景需要高精度、低成本的三維空間測量與定位技術。

這一技術最主要的應用場景有兩類:第一類是解決對物體的尺寸、方位、姿態進行高精度測量,這個在工業、醫療以及對精度要求比較高的商業級應用領域會特別多,第二類是在需要方便、快捷、準確的人機互動領域提供高價效比的人機互動技術,這個在工業機械人控制、以及vr/ar領域是非常重要的。

具體而言,常見的應用場景包括:

1)工業領域中,需要對生產線上的零部件進行三維尺寸測量,以確定其幾何尺寸、位置偏差是否合格;

圖1:飛機風洞測試中的位置測量

2)計算機輔助手術中,需要對手術刀的三維空間位置進行精確測量和定位,以配合計算機輔助成像,幫助醫生完成各種手術;

圖2:計算機輔助手術中對手術刀進行測量定位

3)安防監控領域中,需要對移動物體進行準確的測量,以提供準確的motion detction報警,不能虛報,更不能漏報。

圖3:安防攝像頭的motion dection

4)工業機械人標配的示教系統中,通過提供一種方便、快捷的人機互動方式,實現對機械人的示教,從而對現有的程式設計的示教方式形成更加有效率的補充;

圖4:傳統工業機械人示教系統

5)vr領域中,無論是inside-out追蹤方案,還是outside-in追蹤方案,都需要對controller進行實時定位和追蹤。這個定位和追蹤,要求無論controller的移動速度有多快,有沒有被遮擋,都要準確定位、穩定追蹤、不能丟失。

圖5:htc空間定位系統

上述領域中,對於物體的三維空間尺寸、方位、姿態的測量都有非常強烈的需求,是屬於剛性需求。

在智慧型安防領域中,目前的晶元廠商都提供了最為基礎的,基於計算機視覺的motion detection方案,但這種方案由於僅僅檢測影象的畫素級亮度,不能識別高層影象語義,所以會引起很多誤報,例如天空中陽光被雲層遮擋等,都可能引起虛報。而基於熱釋電的檢測方案,也會由於外界發熱物體的經過(例如汽車),從而造成誤報。所以,目前智慧型安防領域乙個比較迫切的需求就是,如何採用乙個更加穩定、可靠的方案來進行移動物體檢測。

在vr領域中,目前htc、oculus和索尼都提供了基於雷射、單目視覺和雙目視覺的outside-in controller及其追蹤方案,微軟的holographic專案也提供了inside-out的controller及其追蹤方案。雖然目前的方案中,已經對定位精度做的比較好了,但是成本一直居高不下,那麼,如何在保持現有定位精度不降低甚至還要進一步增加的情況下,提供更低成本的定位方案,就是目前vr業內巨頭們正在努力做的事情。

從以上的應用場景中,可以看到,能根據相應的應用場景,提供合適的精度、成本、便捷性和高魯棒性的方案,一定能夠獲得市場的親睞。請注意,這裡的「合適」非常重要,因為,凡是脫離了應用場景,脫離了成本談效能和便捷性都是「耍流氓」。所以,對於空間測量和定位技術來講,方案一定要有靈活性,要能根據客戶和應用場景的需要,而進行相應的調節,使得在垂直領域中擁有最強的競爭力。

常見的三維空間測量與定位方案大致分為雷射和視覺兩大類,裡面細分來看,包括:tof、結構光、雙目、單目測量等。其中,前三種在很多分析文章中都已經介紹過,但對於單目測量介紹得不多,本節將重點介紹單目測量的原理與效能。

1、 tof測量

tof測量實際上是屬於雷射測量,它的原理是測量雷射發射之後遇到物體反射並射入接收器的飛行時間來計算三維空間資訊的。典型代表是kinect 2,以及將在今年下半年上市的iphone 8的後置深度感測器。由於光速太快,所以測量飛行時間極其短暫,所以其感測器的畫素尺寸都很大,這樣造成感測器解析度不高,因此,其測量精度也就不高,只能達到厘公尺級。

2、 結構光與雙目測量

結構光與雙目測量的原理實際上類似,它們都是利用三角法測量,本質上是將某兩幅圖案進行對比,通過測量對比的差異來計算深度。不同的是,結構光對比的是投射圖案和預設圖案的差別,而雙目對比的是左右兩隻攝像頭拍攝到的影象。結構光和雙目測量的精度一般也是在厘公尺級,他們比較大的問題是在於運算量比較大,對於消費級、移動裝置來講是個考驗。另外,雙目測量還有個問題就是測量精度和雙目的基線距離有很大關係,基線距離越近,測量精度越差,目標物體距離越遠,其測量精度也越差。在國際上,做得比較好的雙目測量裝置中,如果雙目基線距離為25mm,在1m遠處,其深度誤差為0.45cm,在3m遠處,其誤差將達到4.05cm,而到了4m遠處,誤差將達到7.2cm。結構光的代表產品就是kinect 1。而雙目視覺的代表,無論在國內國外的公司都非常多,代表性公司包括以色列的inuitive。相對來講,雙目視覺的進入門檻最低,演算法相對簡單,最容易做,但精度、成本等方面就不盡如人意了。

3、 單目測量

單目測量比起上面的測量方式來講,難度是最大的。因為其沒有雷射那麼高精度的測量元件,同時,其採集的資訊量又不如雙目或結構光那麼多,所以要實現三維空間定位,必然要有一些不同的方法。一般來講,要實現單目定位,有兩種方式,一是採用結合imu感測器的多幀定位方法,讓攝像頭在運動過程中,連續不斷的採集多幀資訊,通過imu資訊和多幀影象對比,來計算攝像頭自身的運動引數,並估計物體位置,常見的單目slam演算法都是這麼來做的。二是進行單幀測量,這個就是基於pnp原理來進行定位和測量的。單幀測量不需要借助imu作為輔助感測器,而是使用pnp原理來進行測量和定位,這個需要預先知道被測量物體的幾何模型,這個幾何模型掌握的越精確,定位精度就越精確。測量時,首先需要提取出被測量物體上至少4個不共面的interesting point,然後可以根據這幾個point之間的幾何模型約束,從而唯一反解出物體的空間位置、姿態以及幾何尺寸。

圖6:基於單幀的單目空間測量與定位

相比前面幾種測量方式,由於基於單幀的單目測量需要預先知道被測量物體的幾何模型,從而在計算過程中可以引入約束進行校驗,因此可以非常精確的測量出物體的空間位置、姿態。例如,oculus的定位系統,其定位精度就可以達到2-3mm,比起sony psvr的雙目攝像頭來講,精度提高了乙個數量級。下面是我們做的乙個**實驗,對比了單目和雙目定位精度:

圖7:單目和雙目的定位精度對比**

但也是因為這個優點,所以其使用時,也有一定的限制,需要預先估計或者掌握被測量物體的幾何模型。但這個在很多場景下,也不是問題。例如,在工業領域中,被測量物體都是預先知道的,甚至在家用環境下,如果被測量物體是乙個已知的大致的模型,也可以用於估計位置和姿態,只是精度沒有那麼高而已。但單目的好處會很多,包括:運算量相對比較小fov視場角不像雙目視覺會有盲區

圖8:單目和雙目視場範圍對比

本文是高精度三維空間測量的上文,在下文中,我們將重點介紹單目空間測量與定位要解決的問題,以及ai技術在位置追蹤中的應用

三維空間剛體旋轉

剛體 運動過程中不會產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱為歐式變換。旋轉矩陣 四元數旋轉向量 尤拉角安裝方式 eigen庫只有標頭檔案,沒有.so和.a二進位制檔案,所以在cmakelists.txt中只需要新增標頭檔案路徑,並不需要使用target link...

BFS 三維空間迷宮

題面 你被困在乙個三維的空間中,現在要尋找最短路徑逃生!空間由立方體單位構成。每次向上下前後左右移動乙個單位需要一分鐘,且不能對角線移動。空間的四周封閉。你的目標是走到空間的出口。問是否存在逃出生天的可能性?如果存在,則需要多少時間?輸入第一行是乙個數表示空間的數量。每個空間的描述的第一行為l,r和...

三維空間和四維空間

從螞蟻走路可以看出。由於螞蟻受限於自己的身體沒有翅膀,就跟人沒有翅膀一樣,碰到吊在自己頭頂的東西就只能繞遠路通過二維的方法到達三維的地方,所以只要有工具,可以是翅膀,可以是深深固定地上的梯子,也可以是飛機,都可以從受限的二維空間達到三維空間。而且這些手段全都是為了用來克服重力的,所以重力跟第三維有不...