博客專欄

EEPW首頁 > 博客 > 一文詳解深度相機之TOF成像

一文詳解深度相機之TOF成像

發(fā)布人:計算機視覺工坊 時間:2021-05-14 來源:工程師 發(fā)布文章

以下文章來源于CV研習(xí)社 ,作者愛做菜的煉丹師

本文通過介紹TOF相機的成像過程,帶大家了解TOF相機中脈沖法和連續(xù)波調(diào)制這兩種技術(shù)原理,并詳細(xì)的分析每種方法的實現(xiàn)細(xì)節(jié)和各自優(yōu)缺點,對連續(xù)波調(diào)制方法深入其相位差原理,單頻相位測距的限制及如何解決模糊距離等問題。

0 前情回顧

小編過了一個咸魚般的五一,躺尸在家被五大過程組,十大知識體系折磨個半死,做題全憑感覺。

記得放假前一天和朋友吃飯,被問到TOF的原理是什么?小編弱弱的回答****脈沖波打到物體返回后統(tǒng)計光的運行時間從而計算距離。被大佬用質(zhì)疑的眼神瞄了一下,然后啪嗒啪嗒給我解釋了一番連續(xù)調(diào)制波的原理。

小編總感覺哪里有些問題,做了這么久激光雷達(dá)感知算法,那些Velodyne-16,Horizon確實是基于脈沖波的技術(shù)原理呀,不過再往下問具體傳感器內(nèi)部是怎么工作的,小編也是一知半解。

下面我們來好好補一補有關(guān)TOF相機的基本知識,劇透一下原來TOF相機既可以基于脈沖波的光學(xué)快門方法又可以基于連續(xù)調(diào)制波的方法。

1 什么是TOF相機

在雙目成像的文章中,我們說過雙目相機是一種被動接收自然光的傳感器,通過接收自然光利用三角測距的方式描述三維環(huán)境。本文的TOF相機則是一種主動****紅外光的傳感器,通過****光脈沖并接收打到物體反射回來的脈沖信號,最后計算光脈沖的飛行時間得到目標(biāo)物體的距離。

說到這里我們可能第一反應(yīng)是這不就是激光雷達(dá)的工作原理嘛!確實很相似,但是機械式或混合固態(tài)激光雷達(dá)采用逐點掃描的方式感知環(huán)境信息,而TOF相機以面陣的方式得到深度圖。

小編最早接觸的TOF相機就是微軟的Kinect 2.0。Kinect系列很有意思,第一代基于結(jié)構(gòu)光原理做的深度相機,第二代基于TOF原理做的深度相機,當(dāng)時小編以為第三代是不是要用雙目原理做深度相機了,誓把深度成像的技術(shù)都玩?zhèn)€遍的時候它停產(chǎn)了。如下圖所示:上面是Kinect 1.0,下面是Kinect 2.0(長得太丑)

1.jpg

TOF相機輸出的深度圖在2D空間表示為灰度圖像,每個像素點對應(yīng)一個距離值,其中強度越亮表示距離越近,如果光源被吸收或者未收到反射信號則呈現(xiàn)黑色。如下圖所示:

2.png

在深度圖的基礎(chǔ)上,配合相機的外參數(shù)據(jù)可以轉(zhuǎn)換三維點云。假如你又同時有一顆RGB相機,能夠?qū)⑽矬w表面紋理映射到點云體素上,那么一張栩栩如生的三維渲染模型就出來了,如下如所示:

3.jpg

2  TOF相機的技術(shù)原理

****模塊和接收模塊是TOF相機的核心部分,通過內(nèi)部的數(shù)據(jù)處理計算出深度信息。至于采用什么技術(shù)計算深度信息,我們提到了兩種方法:

基于脈沖法原理簡單:類似于我們有一個計時器,按下開始鍵****一束脈沖波出去,當(dāng)遇到障礙物后返回,當(dāng)被接收器收到后按下停止鍵。根據(jù)計時器記錄的時間和光的速度可以計算出相機到物體的距離。

公式如:Distance = 1/2 × c × Δt

其中c表示光在空氣中傳播的速度,Δt表示脈沖信號從相機到目標(biāo)往返的時間。

4.png

通過一個高頻率的時鐘驅(qū)動計數(shù)器對收發(fā)脈沖之間的時間進(jìn)行計數(shù),使得計數(shù)時鐘的周期必須遠(yuǎn)小于發(fā)送脈沖和接收脈沖之間的時間才能夠保證足夠的精度。但是如果要達(dá)到毫米級別的測量,對控制時鐘,****單元等電子元器件的精度都是一項挑戰(zhàn)。這就是為什么無人駕駛中應(yīng)用的激光雷達(dá)傳感器?;诿}沖法,因為該方法比較適合中遠(yuǎn)距離的測量。

但是在機器人等應(yīng)用中使用的TOF相機大多采用的是連續(xù)波調(diào)制的方法:使用調(diào)制光照射場景, 并測量通過場景中的物體反射后返回光的相位延遲。得到相位延遲后, 再使用正交采樣技術(shù)測量間接得到距離。

公式如:Distance = 1/2 × c × ? × T/2π

其中c表示光在空氣中傳播的速度,T表示調(diào)制周期,?表示****和接收波形的相位差。

5.png

該方法比較適合中短距離的測量,精度往往可以達(dá)到毫米級。

通過對比上述兩種方法的基本原理,我們不難發(fā)現(xiàn):

脈沖法測量方式簡單,占空比窄檢測距離遠(yuǎn);但是它易受環(huán)境光和元器件精度影響,測量精度相對較低。

相位差可以消除測量器件帶來的固定偏差但是采樣次數(shù)多,導(dǎo)致測量耗時幀率低。

3 如何將相位偏移轉(zhuǎn)換成距離?

仔細(xì)看兩種方法的距離求解公式,其實很相似,最終都是距離 = 速度 × 時間。唯一區(qū)別在于時間是怎么得到的?

脈沖法求時間比較直接,這里沒有什么好解釋的,就是到達(dá)時間-****時間即可。

相位差也是可以轉(zhuǎn)換成時間的,通常某一定頻率 f 的相位差時間 = 相位差的度數(shù) / 2πf 。這里就有小伙伴會問相位差的度數(shù)是怎么求的?

在連續(xù)波調(diào)制過程中通常將連續(xù)波近似為正弦波劃分成4個窗口進(jìn)行采樣,并且采樣時間間隔相同。如下圖所示:

6.png

推導(dǎo)過程就不貼了,最終的結(jié)果為:

? = arctan((Q3-Q4) / (Q1-Q2))

相位差求取中的(Q3-Q4)和(Q1-Q2)相對于脈沖調(diào)試法消除了由于測量器件或者環(huán)境光引起的固定偏差。并且方程中求商的過程減少了來自距離測量的恒定增益影響,比如系統(tǒng)放大和衰減或者反射響度等問題。

4 重復(fù)周期下的相移如何計算距離?

在信號與系統(tǒng)中提到過相位與延時的關(guān)系,其中2π為一個符號周期時間,如果采用相位差法測距,怎么判斷目標(biāo)位于第幾個周期呢?

事實上采用單一頻率進(jìn)行相位測距,確實無法分辨超過一個周期的距離值。簡單粗暴一點的做法就是根據(jù)最大測量距離來調(diào)節(jié)頻率,不過頻率越高意味著距離分辨率越低,從而測量精度越低。所以在單一頻率下會出現(xiàn)距離和精度無法同時滿足的情況。

為解決單頻造成的模糊距離問題,可以采用多頻率技術(shù)來延長測量距離同時不降低調(diào)制頻率。多頻率技術(shù)的工作原理就是將一個或多個調(diào)制頻率添加到混合。每個調(diào)制頻率將有不同的模糊距離,但真正的位置是在不同的頻率一致。當(dāng)兩個調(diào)制一致的頻率,稱為拍頻,通常是較低的,并對應(yīng)一個更長的模糊距離。如下圖所示:

7.png

此解釋來源于2014年的一篇文章:Time-of-Flight Camera – An Introduction

有興趣的小伙伴可以私我要文章(還有一篇更詳細(xì)的原理解釋:TOF Camera Principles Methods and Applications)

5 TOF相機的特性對比

市場上比較常見的視覺傳感器包括單目相機、雙目相機、結(jié)構(gòu)光相機、全景相機、紅外相機、TOF相機等。通常在談到深度相機時會把TOF和結(jié)構(gòu)光、雙目這三種技術(shù)拿出來進(jìn)行對比。

TOF技術(shù)相比結(jié)構(gòu)光實現(xiàn)難度較低,****信號遇到目標(biāo)返回即可,不像結(jié)構(gòu)光需要先打出激光散斑編碼,然后再去提取編碼特征。而且TOF受環(huán)境影響較小,不存在結(jié)構(gòu)光激光散斑在戶外會被淹沒的問題,具有較好的抗干擾能力。但是TOF相機的分辨率低,所以通常只適用于一些近距離的避障導(dǎo)航功能。

TOF技術(shù)相比雙目成像技術(shù),因為其主動****光源,輸出的深度數(shù)據(jù)是通過解相位計算得到,所以很大程度上不受陰影的影響,在昏暗場景依然有良好的效果。而且TOF生成深度圖沒有復(fù)雜的特征配準(zhǔn)、三角測量等算法加持,所以不依賴特征匹配的好壞,也就不受物體表面紋理,環(huán)境光照射角度等影響。在生成深度圖的實時性上自然優(yōu)于雙目經(jīng)過一大堆復(fù)雜計算的成像過程。

本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: TOF

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉