智能手機雙攝像頭原理解析: RGB +Depth.
智能手機攝像頭中:普通彩色相機(RGB) + 深度相機(Depth)的技術(shù)原理。
首先來解釋一下什么是深度相機吧。
深度相機
顧名思義,深度相機就是可以直接獲取場景中物體距離攝像頭物理距離的相機。根據(jù)原理不同,主要有飛行時間(TOF)、結(jié)構(gòu)光、激光掃描幾種方式(注:有些地方將雙目立體視覺相機也列為深度相機的一種,它是單純依靠算法計算得到的深度信息)。目前使用較多的是TOF相機。目前主流的TOF相機廠商有PMD、MESA、Optrima、微軟等幾家,其中MESA在科研領(lǐng)域使用較多;PMD是唯一在室內(nèi)/外都能使用的TOF相機廠商,多用于科研、工業(yè)等各種場合;Optrima、微軟則主要面向家庭、娛樂應(yīng)用,價位較低。
因為TOF相機使用的較為廣泛,在此主要介紹一下TOF相機的原理。
TOF相機
TOF(Time of flight)直譯為“飛行時間”。其測距原理是通過給目標連續(xù)發(fā)送光脈沖,然后用傳感器接收從物體返回的光,通過探測光脈沖的飛行(往返)時間來得到目標物距離。這種技術(shù)跟3D激光傳感器原理基本類似,只不過3D激光傳感器是逐點掃描,而TOF相機則是同時得到整幅圖像的深度(距離)信息。
TOF組成
TOF相機采用主動光探測,通常包括以下幾個部分:
1、照射單元
照射單元需要對光源進行脈沖調(diào)制之后再進行發(fā)射,調(diào)制的光脈沖頻率可以高達100MHz。因此,在圖像拍攝過程中,光源會打開和關(guān)閉幾千次。各個光脈沖只有幾納秒的時長。相機的曝光時間參數(shù)決定了每次成像的脈沖數(shù)。
要實現(xiàn)精確測量,必須精確地控制光脈沖,使其具有完全相同的持續(xù)時間、上升時間和下降時間。因為即使很小的只是一納秒的偏差即可產(chǎn)生高達15 c m的距離測量誤差。
如此高的調(diào)制頻率和精度只有采用精良的LED或激光二極管才能實現(xiàn)。
一般照射光源都是采用人眼不可見的紅外光源。
2、光學(xué)透鏡
用于匯聚反射光線,在光學(xué)傳感器上成像。不過與普通光學(xué)鏡頭不同的是這里需要加一個帶通濾光片來保證只有與照明光源波長相同的光才能進入。這樣做的目的是抑制非相干光源減少噪聲,同時防止感光傳感器因外部光線干擾而過度曝光。
3、成像傳感器
是TOF的相機的核心。該傳感器結(jié)構(gòu)與普通圖像傳感器類似,但比圖像傳感器更復(fù)雜,它包含2個或者更多快門,用來在不同時間采樣反射光線。因此,TOF芯片像素比一般圖像傳感器像素尺寸要大得多,一般100um左右。
4、控制單元
相機的電子控制單元觸發(fā)的光脈沖序列與芯片電子快門的開/閉精確同步。它對傳感器電荷執(zhí)行讀出和轉(zhuǎn)換,并將它們引導(dǎo)至分析單元和數(shù)據(jù)接口。
5、計算單元
計算單元可以記錄精確的深度圖。深度圖通常是灰度圖,其中的每個值代表光反射表面和相機之間的距離。為了得到更好的效果,通常會進行數(shù)據(jù)校準。
TOF測距原理
下面來介紹一個經(jīng)過高度簡化的測距原理。
照射光源一般采用方波脈沖調(diào)制,這是因為它用數(shù)字電路來實現(xiàn)相對容易。深度相機的每個像素都是由一個感光單元(如光電二極管)組成,它可以將入射光轉(zhuǎn)換為電流,感光單元連接著多個高頻轉(zhuǎn)換開關(guān)(下圖的G1,G2)可以把電流導(dǎo)入不同的可以儲存電荷(下圖S1,S2)的電容里。
相機上的控制單元打開光源然后再關(guān)閉,發(fā)出一個光脈沖。在同一時刻,控制單元打開和關(guān)閉芯片上的電子快門。由光脈沖以這種方式產(chǎn)生的電荷S0存儲在感光元件上。

然后,控制單元第二次打開并關(guān)閉光源。這次快門打開時間較晚,即在光源被關(guān)閉的時間點打開。現(xiàn)在生成的電荷S1也被存儲在感光元件上。
因為單個光脈沖的持續(xù)時間非常短,此過程會重復(fù)幾千次,直到達到曝光時間。然后感光傳感器中的值會被讀出,實際距離可以根據(jù)這些值來計算。
記光的速度為c,tp為光脈沖的持續(xù)時間, S0表示較早的快門收集的電荷, S1表示延遲的快門收集的電荷,那么距離d可以由如下公式計算:

最小的可測量距離是:在較早的快門期間S0中收集了所有的電荷,而在延遲的快門期間S1沒有收集到電荷,即S1 = 0。代入公式會得出最小可測量距離d=0。
最大的可測量的距離是:在S1中收集了所有電荷,而在S0中根本沒有收集到電荷。然后,該公式得出d= 0.5 x c × tp。因此最大可測量距離是通過光脈沖寬度來確定的。例如,tp = 50 ns,代入上式,得到最大測量距離d = 7.5m。
TOF相機影響因素
影響ToF相機的測量精度的因素如下:
1、多重反射。
距離測量要求光只反射一次。但是鏡面或者一些角落會導(dǎo)致光線的多次反射,這會導(dǎo)致測量失真。如果多重反射使得光線完全偏轉(zhuǎn),則沒有反射光線進入相機,從而無法正確測量反射面的距離。反之,如果其他方向的光通過鏡面反射進入芯片,則可能會發(fā)生過度曝光。見下圖。
2、散射光
在鏡頭內(nèi)或在鏡頭后面發(fā)生多余反射會出現(xiàn)散射光,如下圖所示,散射光會導(dǎo)致圖像褪色,對比度下降等不良影響。所以要避免在相機正前方有強烈反光的物體存在。
3、環(huán)境光
前面說過,深度相機鏡頭上會有一個帶通濾光片來保證只有與照明光源波長相同的光才能進入,這樣可以抑制非相干光源提高信噪比。這種方式確實能夠比較有效地過濾掉人造光源,但是,我們常見的日光幾乎能夠覆蓋整個光譜范圍,這其中包括和照明光源一樣的波長,在某些情況下(如夏天的烈日)這部分光強可以達到很大,會導(dǎo)致感光傳感器出現(xiàn)過度曝光。因此相機如果想在這種條件下正常工作,仍然需要額外的保護機制。
4、溫度
電子元件的精度受溫度的影響。所以當溫度波動時會影響電子元件的性能,從而影響到脈沖調(diào)制的精度。前面說過一納秒的脈沖偏差即可產(chǎn)生高達15 c m的距離測量誤差,因此相機要做好散熱,這樣才能保證測量精度。
TOF相機輸出
那么TOF相機最后輸出的是什么呢?
TOF相機內(nèi)部每個像素經(jīng)過上述過程都可以得到一個對應(yīng)的距離,所有的像素點測量的距離就構(gòu)成了一幅深度圖,如下圖所示。左邊是原圖,右邊是對應(yīng)的深度圖。
可以看到深度圖其實是一張灰度圖,它是一張三維的圖:水平垂直坐標對應(yīng)像素位置,該位置的灰度值對應(yīng)的是該像素距離攝像頭的距離。所以深度圖中的每個像素可以表示空間中一個點的三維坐標,所以深度圖中的每個像素也稱為體像素(voxel)。
深度信息融合
當我們獲得了深度圖后,下一步就是要把深度信息融合到普通RGB相機拍攝的彩色圖片。這一步并非我們想象的那么容易,需要強大的算法來保障。在此列舉兩個因素為例進行說明:
1、深度相機的分辨率目前還比較低,一般都是VGA(640 x 480)以下。而現(xiàn)在普通的RGB相機分辨率都已經(jīng)到千萬像素級以上了,是深度相機分辨率的幾十倍甚至上百倍。因此需要將低分辨的深度圖變成和RGB相機一致的高分辨率,這種“從無到有”的分辨率提升需要利用彩色圖中物體的紋理、邊界等內(nèi)容信息,這個過程要想保持細節(jié)是比較困難的。
2、深度相機和彩色相機融合時還需要知道兩個相機的畸變系數(shù)、光學(xué)中心、相對旋轉(zhuǎn)/平移量等一系列參數(shù),這就需要對兩個相機進行相機標定工作。而深度相機的低分辨率對于相機標定工作也是一個較大的挑戰(zhàn)。
TOF Vs 雙目視覺
讀者可能會有疑問,現(xiàn)在雙攝手機上的兩個普通的彩色相機不就可以計算深度嗎?和這個深度相機測距有何不同?
雙目立體視覺測距的原理和人眼類似,通過計算空間中同一個物體在兩個相機成像的視差就可以根據(jù)如下三角關(guān)系計算得到物體離相機的距離:
但是說起來容易,算法實現(xiàn)比較困難,雙目立體視覺測距算法的核心就是尋找對應(yīng)關(guān)系??梢岳斫鉃榻o定一個相機拍攝的圖片中的任意一個像素點,如何在另外一個相機拍攝的圖像中找到和它對應(yīng)的像素點,這個過程需要特征提取、特征匹配等一系列復(fù)雜的算法。但是由于光照變化、光線明暗等外在因素的影響,拍攝的兩張圖片差別可能比較大,這會對特征匹配算法提出很大的挑戰(zhàn)。如下圖是在不同光照條件下拍攝的圖片:
另外,如果拍攝的物體缺乏紋理和細節(jié)(比如拍攝一張白紙)的話,也很難進行特征匹配。這些都對算法的魯棒性提出了很大的挑戰(zhàn)。
雖然TOF相機和雙目立體視覺都能實現(xiàn)測距的功能,但是它們還是有很大不同,在此我做了了簡單的表格如下:
結(jié)構(gòu)光
簡單的說一下結(jié)構(gòu)光測距的方法吧!
結(jié)構(gòu)光技術(shù)就是使用提前設(shè)計好的具有特殊結(jié)構(gòu)的圖案(比如離散光斑、條紋光、編碼結(jié)構(gòu)光等),然后將圖案投影到三維空間物體表面上,使用另外一個相機觀察在三維物理表面成像的畸變情況。如果結(jié)構(gòu)光圖案投影在該物體表面是一個平面,那么觀察到的成像中結(jié)構(gòu)光的圖案就和投影的圖案類似,沒有變形,只是根據(jù)距離遠近產(chǎn)生一定的尺度變化。但是,如果物體表面不是平面,那么觀察到的結(jié)構(gòu)光圖案就會因為物體表面不同的幾何形狀而產(chǎn)生不同的扭曲變形,而且根據(jù)距離的不同而不同,根據(jù)已知的結(jié)構(gòu)光圖案及觀察到的變形,就能根據(jù)算法計算被測物的三維形狀及深度信息。
業(yè)界比較有名的就是以色列PrimeSense公司的Light Coding的方案,該方案最早被應(yīng)用于Microsoft的明星產(chǎn)品Kinect上。目前該公司被蘋果公司收購,可見蘋果公司也將在深度相機領(lǐng)域有所動作。
結(jié)構(gòu)光技術(shù)受環(huán)境光源影響較大,更適合室內(nèi)的應(yīng)用場景,而且?guī)瘦^低,所以更適合靜態(tài)場景或者緩慢變化的場景。其優(yōu)勢就是能夠獲得較高分辨率的深度圖像。
雙目視覺 Vs 結(jié)構(gòu)光 Vs TOF
下表是雙目立體視覺、結(jié)構(gòu)光、TOF三種可以測量深度(距離)的技術(shù)方案綜合比較:
(點擊看大圖)
從上述的對比分析來看,TOF方案具有響應(yīng)速度快,深度信息精度高,識別距離范圍大,不易受環(huán)境光線干擾等優(yōu)勢。因此想要在移動端直接實現(xiàn)深度的測量,最有競爭力的就是TOF方案了。
典型手機
典型代表手機:聯(lián)想Phab 2。
目前可以買到的具備直接深度測量的智能手機只有Google和聯(lián)想合作的聯(lián)想Phab 2,2016年11月推出,是全球首款支持Google Project Tango技術(shù)的手機,其深度相機采用TOF技術(shù)方案,由PMD公司提供。
華碩也宣布將在2017年會推出帶深度相機的手機Zenfone AR,號稱是全球首款同時支持Google Project Tango(AR)和Daydream(VR)的手機。
據(jù)說iPhone8也將會使用深度相機,果然收購PrimeSense公司是有目的的,我們拭目以待。
深度相機應(yīng)用
深度相機的應(yīng)用范圍非常廣泛:比如未來幾年將會迅速商業(yè)化的手勢識,以及活體人臉識別、空間測距、三維重建、AR(增強現(xiàn)實)等領(lǐng)域。
1、手勢識別。
TOF深度相機可以將人臉、身體、手臂、手指從背景中分離,并且這種分割置信度較高,不受自然光變化的影響,同時能夠?qū)崟r性處理,所以這將在智能交互領(lǐng)域大有用武之地。預(yù)計最近幾年會迅速進入消費級電子產(chǎn)品中。
2、真實的AR游戲體驗。
如下圖是Phab 2的AR游戲展示。由于在二維圖像中融合了實時的深度信息,所以AR游戲的體驗比較真實。比如虛擬出來的一只貓,通過實時的空間深度感知,它可以“感受”到空間的相對位置關(guān)系,當它走到桌子邊緣的時候,會很自然地跳到地面上,這在之前的AR游戲中是難以實現(xiàn)的。
3、三維空間測量。
由于能夠?qū)崟r獲得深度信息,所以實現(xiàn)三維空間測量也是順其自然的。比如在室內(nèi)裝修領(lǐng)域,可以方便的將各種虛擬的家具以真實的尺寸擺放到現(xiàn)實環(huán)境中,用戶拿著手機就可以體驗家居放在室內(nèi)的360°真實效果,這無疑將是一個令人激動的應(yīng)用場景。
4、三維掃描/重建。
可以用于三維物體和k建模和機器人視覺導(dǎo)航和定位。比如你看到一座非常喜歡的雕塑,就可以利用手機上的彩色相機+深度相機對它掃描一周,結(jié)合相應(yīng)的算法就可以生成該雕塑的三維模型數(shù)據(jù),利用三維打印機就可以方便的打印出一個三維的雕塑復(fù)制品出來。
5、更廣泛的其他應(yīng)用。
融入了深度信息的三維影像可以用于活體人臉識別,避免傳統(tǒng)二維人臉識別的安全隱患;可以更加方便進行人體三維測量,從而推動虛擬在線試衣行業(yè)的發(fā)展等。
隨著深度測量技術(shù)的發(fā)展,必然還有出現(xiàn)更多有趣的應(yīng)用場景。
原文:https://blog.csdn.net/electech6/article/details/61687009
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!