ToF(Time of flight)是飛行時間法,它是一種深度測量的方法,精度為厘米級。
因為其原理簡單,小型化,測量距離范圍較大,抗干擾能力較強,而得到廣泛的應用,比如,微軟的Kinect 2.0,Iphone 12手機的ToF相機,無人駕駛都應用到了ToF技術。下面就對ToF的基本原理,優缺點,影響ToF精度的因素這幾方面展開描述。
ToF的基本原理是通過連續發射光脈沖(一般為不可見光)到被測物體上,然后接收從物體反射回去的光脈沖,通過探測光脈沖的飛行(往返)時間來計算被測物體離相機的距離。下圖是飛行時間法深度測量基本原理示意圖。
ToF根據調制方法的不同,可以分為兩種:脈沖調制(Pulsed Modulation)和連續波調制(Continuous Wave Modulation)。由于脈沖調制是直接測量飛行時間,因此也稱為dToF(直接ToF)(Lidar,也叫激光雷達,就是dToF)
,連續波調制是通過相位差來計算飛行時間,因此也稱為iToF。
脈沖調制直接根據脈沖發射和接收的時間差來測算距離。下圖是脈沖調制測距的示意圖:
脈沖調制方案的照射光源一般采用方波脈沖調制,這是因為它用數字電路來實現相對容易。接收端的每個像素都是由一個感光單元(如光電二極管)組成,它可以將入射光轉換為電流,感光單元連接著多個高頻轉換開關(下圖的G0,G1)可以把電流導入不同的可以儲存電荷(下圖S0,S1)的電容里。
相機上的控制單元打開光源然后再關閉,發出一個光脈沖。在同一時刻,控制單元打開和關閉接收端的電子快門。接收端接收到的電荷S0被存儲在感光元件中。
然后,控制單元第二次打開并關閉光源。這次快門打開時間較晚,即在光源被關閉的時間點打開。新接收到的電荷S1也被存儲起來。具體過程如下圖所示。
因為單個光脈沖的持續時間非常短,此過程會重復幾千次,直到達到曝光時間。然后感光傳感器中的值會被讀出,實際距離可以根據這些值來計算。
記光的速度為c,tp為光脈沖的持續時間, S0表示較早的快門收集的電荷, S1表示延遲的快門收集的電荷,那么距離d可以由如下公式計算:
最小的可測量距離是:在較早的快門期間S0中收集了所有的電荷,而在延遲的快門期間S1沒有收集到電荷,即S1 = 0。代入公式會得出最小可測量距離d=0。
最大的可測量的距離是:在S1中收集了所有電荷,而在S0中根本沒有收集到電荷。然后,該公式得出d= 0.5 x c × tp。因此最大可測量距離是通過光脈沖寬度來確定的。例如,tp = 50 ns,代入上式,得到最大測量距離d = 7.5m。
優點:
測量方法簡單,響應較快
由于發射端能量較高,所以一定程度上降低了背景光的干擾
缺點:
發射端需要產生高頻高強度脈沖,對物理器件性能要求很高
對時間測量精度要求較高
環境散射光對測量結果有一定影響
實際應用中,通常采用的是正弦波調制。由于接收端和發射端正弦波的相位偏移和物體距離攝像頭的距離成正比(見后面推導),因此可以利用相位偏移來測量距離。下圖是連續波調制原理示意圖:
其實相移偏移來測量距離相位差的方法與四步相移法的推導基本一樣。下圖是發射的正弦波和接收的正弦波的示意圖:
連續正弦波調制測量方法,具體的推導過程如下。序號1-9對應下圖的公式1-9。
假設發射的正弦信號s(t)振幅是a,調制頻率是f
經過時延 △t后接收到的信號為接收r(t),衰減后的振幅為A,強度偏移(由環境光引起)為B
四個采樣時間間隔相等,均為T/4
根據上述采樣時間可以列出四個方程組
從而可以計算出發射和接收的正弦信號的相位偏移△φ
據此可以根據(6)中公式計算物體和深度相機的距離d
接收信號的衰減后的振幅A的計算結果
接收信號強度偏移B的計算結果,反映了環境光
A, B的值間接的反應了深度的測量精度,深度測量方差可以用公式9近似表示。
優點:
相位偏移(公式5)中的(r2-r0)和(r1-r3)相對于脈沖調試法消除了由于測量器件或者環境光引起的固定偏差。
可以根據接收信號的振幅A和強度偏移B來間接的估算深度測量結果的精確程度(方差)。
不要求光源必須是短時高強度脈沖,可以采用不同類型的光源,運用不同的調制方法
缺點:
需要多次采樣積分,測量時間較長,限制了相機的幀率
需要多次采樣積分,測量運動物體時可能會產生運動模糊。
注意:ToF相機每次從發射端發出調制光,接收端其實是像相機一樣,有一個感光元件,上面有很多像素點,每個像素點經過上述過程都可以得到一個對應的距離,所有的像素點測量的距離就構成一幅深度圖,如下圖所示,左邊是原圖,右邊是對應的深度圖。
多重反射距離測量要求光只反射一次。
但是鏡面或者一些角落會導致光線的多次反射,這會導致測量失真。如果多重反射使得光線完全偏轉,則沒有反射光線進入相機,從而無法正確測量反射面的距離。反之,如果其他方向的光通過鏡面反射進入芯片,則可能會發生過度曝光。見下圖。
散射光
在鏡頭內或在鏡頭后面發生多余反射會出現散射光,如下圖所示,散射光會導致圖像褪色,對比度下降等不良影響。所以要避免在相機正前方有強烈反光的物體存在。
環境光
深度相機鏡頭上會有一個帶通濾光片來保證只有與照明光源波長相同的光才能進入,這樣可以抑制非相干光源提高信噪比。這種方式確實能夠比較有效地過濾掉人造光源,但是,我們常見的日光幾乎能夠覆蓋整個光譜范圍,這其中包括和照明光源一樣的波長,在某些情況下(如夏天的烈日)這部分光強可以達到很大,會導致感光傳感器出現過度曝光。因此相機如果想在這種條件下正常工作,仍然需要額外的保護機制。
溫度
電子元件的精度受溫度的影響,溫度波動時會導致脈沖調制的精度。所以要做好散熱,才能保證測量精度。