一、序言
在介紹結(jié)構(gòu)光編碼方案之前,先介紹一下目前常見的三維測(cè)量方法,從原理上來(lái)講分為以下幾類:
(資料圖)
大家可以看到,結(jié)構(gòu)光屬于主動(dòng)式光學(xué)測(cè)量的一類,而常見的光學(xué)三維測(cè)量可以分為以下三類,右邊是它們各自的原理圖:
二、結(jié)構(gòu)光分類
接下來(lái)進(jìn)入主題,正式介紹結(jié)構(gòu)光編碼方案。結(jié)構(gòu)光三維重建按照所投影的圖案一般可以分為以下三類,點(diǎn)結(jié)構(gòu)光、線結(jié)構(gòu)光和面結(jié)構(gòu)光,其中面結(jié)構(gòu)光按照編碼原理又可以基于時(shí)域編碼的結(jié)構(gòu)光和基于空域編碼的結(jié)構(gòu)光。
1、點(diǎn)結(jié)構(gòu)光
其光源一般是激光器,測(cè)量時(shí)將光束投射到被測(cè)物表面形成光點(diǎn),相機(jī)拍攝被測(cè)物圖像,如下圖所示,之后通過空間三角關(guān)系獲得被測(cè)物光點(diǎn)照射位置的三維坐標(biāo)。
優(yōu)點(diǎn):逐點(diǎn)掃描被測(cè)物表面,每個(gè)點(diǎn)都要采集一張圖片,可以獲取較高密度的點(diǎn)云,精度最高。
缺點(diǎn):需要采集大量的圖片,導(dǎo)致效率低下。
2、線結(jié)構(gòu)光
線結(jié)構(gòu)光是對(duì)點(diǎn)結(jié)構(gòu)光的擴(kuò)充改進(jìn),它將掃描點(diǎn)變成掃描線,測(cè)量時(shí)激光器發(fā)出的光線以一條線的形式掃描被測(cè)物表面,之后還是用相機(jī)采集掃描的圖片,通過空間三角關(guān)系獲得被測(cè)物光點(diǎn)照射位置的三維坐標(biāo)。
優(yōu)點(diǎn):對(duì)比點(diǎn)結(jié)構(gòu)光方法,只需進(jìn)行一維掃描就可獲得物體的深度,簡(jiǎn)化了點(diǎn)結(jié)構(gòu)光的復(fù)雜度。
缺點(diǎn):效率較低。
3、面結(jié)構(gòu)光
面結(jié)構(gòu)光也叫編碼結(jié)構(gòu)光,典型的硬件組成由投影儀—相機(jī)對(duì)表示,如下圖所示。投影儀將編碼圖案投射到被測(cè)物表面,然后由相機(jī)進(jìn)行同步采集。其基本原理是投射的編碼圖案經(jīng)過被測(cè)物表面調(diào)制,此時(shí)物體表面的高低信息便儲(chǔ)存在了調(diào)制后的編碼圖案中,然后用相機(jī)從一個(gè)或多個(gè)角度采集這些變形的圖案,找到相機(jī)和投影儀像素之間的對(duì)應(yīng)點(diǎn),利用三角法原理求出被測(cè)物表面的三維坐標(biāo)。
按照不同的編碼方法,面結(jié)構(gòu)光可以分為多類:
A、時(shí)域編碼
時(shí)域編碼是一種常用的編碼策略,該方法將一系列的簡(jiǎn)單圖案按時(shí)間先后順序投影到被測(cè)物表面,一個(gè)給定像素的編碼就是該位置在時(shí)間上隨投影圖案的明暗變化。
優(yōu)點(diǎn):這種編碼方案在三維測(cè)量上有很高的測(cè)量精度,且易于在工程上實(shí)現(xiàn)。
缺點(diǎn):速度較慢,無(wú)法對(duì)動(dòng)態(tài)物體進(jìn)行實(shí)時(shí)重建。
接下來(lái)介紹幾種常見的時(shí)域編碼:
① Binary Code (二進(jìn)制編碼)
二進(jìn)制編碼使用黑白條紋形成一系列投影圖案,這樣物體表面上的每個(gè)點(diǎn)都擁有一個(gè)獨(dú)特的二進(jìn)制代碼。N個(gè)圖案可以編碼2?個(gè)條紋。
優(yōu)點(diǎn):精度比較高,對(duì)表面特征不太敏感,因?yàn)樗邢袼刂兄淮嬖诙M(jìn)制值。
缺點(diǎn):為了獲得高的空間分辨率,需要投影大量的序列圖案,而且場(chǎng)景中的所有對(duì)象都必須保持靜止,級(jí)數(shù)較高的二進(jìn)制碼圖片條紋密集,解碼容易出錯(cuò)。
② Gray Code (格雷碼)
格雷碼是二進(jìn)制碼的一種改進(jìn),它的任意倆個(gè)相鄰代碼只有一位二進(jìn)制數(shù)不同,最大數(shù)和最小數(shù)之間也僅有一位數(shù)不同即“首尾相連”,又稱“循環(huán)碼”。
優(yōu)點(diǎn):精度高,相鄰狀態(tài)變換是僅有一位發(fā)生改變,魯棒性好。
缺點(diǎn):速度慢,無(wú)法達(dá)到實(shí)時(shí)
③ Phase Shift (相移碼)
投影多幅具有相位差的結(jié)構(gòu)光圖像來(lái)獲得相位信息,常見的幾種算法有三步相移法、四步相移法和五步相移法。編碼圖案的強(qiáng)度按照正弦函數(shù)分布,沿平行于編碼軸的線的每個(gè)點(diǎn)都可以用唯一的相位值來(lái)表征。任何非平面3D形狀都會(huì)導(dǎo)致記錄的圖案相對(duì)于投影圖案發(fā)生變形,并記錄為相位偏差,此相位偏差可以提供被測(cè)物體的形狀信息。
優(yōu)點(diǎn):速度較快,三步相移法只需要投影三幅圖片即可,測(cè)量精度也較高。
缺點(diǎn):投影的非線性問題、包裹相位展開問題、相位誤差補(bǔ)償問題。
④ Hybrid:Phase Shift + Gray Code (相移+格雷碼)
格雷碼和相移碼可以混合使用,利用各自的優(yōu)點(diǎn)進(jìn)行更好的編碼解碼方案。
優(yōu)點(diǎn):格雷碼在沒有任何模糊性的情況下確定相位的絕對(duì)范圍,而相移提供的亞像素分辨率超過了格雷碼提供的條紋數(shù)。
缺點(diǎn):混合方法需要更多的投影,并且不適合動(dòng)態(tài)對(duì)象的三維成像。
B、空域編碼
空域編碼和時(shí)域編碼最顯而易見的不同就是時(shí)域編碼需要投射多幅圖案而空域編碼只需投射一幅圖案。唯一的編碼圖案中每點(diǎn)的碼字從該點(diǎn)周圍點(diǎn)提供的信息(例如像素值、幾何形狀等)中得到。
優(yōu)點(diǎn):該編碼方法在測(cè)量過程中只投影和采集一幅圖像,計(jì)算量比時(shí)域編碼方法顯著降低,可用于實(shí)時(shí)的三維場(chǎng)景測(cè)量。
缺點(diǎn):空域編碼分辨率不高,且在解碼階段會(huì)有空間臨近點(diǎn)的信息丟失,最終計(jì)算得到的的場(chǎng)景三維點(diǎn)與時(shí)域編碼相比精度較低。
接下來(lái)介紹幾種常見的空域編碼:
① One-shot method based on point-pattern
使用單個(gè)點(diǎn)或一組點(diǎn)來(lái)解決相機(jī)和投影儀之間的對(duì)應(yīng)問題。有了足夠多的點(diǎn),就可以魯棒地測(cè)量物體的三維形狀。
優(yōu)點(diǎn):簡(jiǎn)單、高效、精度高、抗外界光干擾強(qiáng)。
缺點(diǎn):重建分辨率低,具體應(yīng)用通常需要特定的圖像處理方法。
② One-shot method based on line-pattern:
使用一組線條或條紋來(lái)解決相機(jī)和投影儀之間的對(duì)應(yīng)問題,因?yàn)樵O(shè)計(jì)圖案中的所有線條都是平行的,深度是通過相機(jī)和投影儀之間的線對(duì)線三角測(cè)量計(jì)算的。
優(yōu)點(diǎn):簡(jiǎn)單、高效、精度高、分辨率相對(duì)較高、抗外部光干擾能力強(qiáng)
缺點(diǎn):特定的應(yīng)用通常需要特定的圖像處理方法。
③ One-shot method based on crossed-line-pattern
使用一組交叉線或交叉條紋來(lái)解決相機(jī)和投影儀之間的對(duì)應(yīng)問題。通常,交叉線圖案的水平線和垂直線采用不同的顏色,以便于識(shí)別線。設(shè)計(jì)圖案中相同顏色的所有線條都是平行的,深度是通過相機(jī)和投影儀之間的水平線到水平線三角測(cè)量和垂直線到垂直線三角測(cè)量計(jì)算的。
優(yōu)點(diǎn):簡(jiǎn)單、高效、精度高、分辨率相對(duì)較高、抗外部光干擾能力強(qiáng)
缺點(diǎn):特定的應(yīng)用通常需要特定的圖像處理方法。
三、補(bǔ)充:
Light coding method
光編碼可以被認(rèn)為是結(jié)構(gòu)光的一種演變,它使用隨機(jī)散斑代替精心設(shè)計(jì)的結(jié)構(gòu)光圖案,通過相機(jī)和散斑投影儀之間的三角測(cè)量來(lái)計(jì)算深度。下圖顯示了通過三角測(cè)量進(jìn)行深度計(jì)算的原理,基線b 、到參考面Z0的距離、紅外攝像機(jī)的焦距f以及攝像機(jī)坐標(biāo)觀察到的視差d均通過標(biāo)定確定。然后,深度Z k 計(jì)算為:
激光束投射到擴(kuò)散表面后,衍射斑隨機(jī)形成。這些衍射點(diǎn)是高度隨機(jī)的,并且隨著距離的變化而改變圖案。在三維空間中,不同位置的圖案總是不同的。產(chǎn)生的散斑圖案取決于激光的波長(zhǎng)、激光束的大小以及擴(kuò)散面與觀察面之間的距離。下圖顯示了Kinect v1和其它文獻(xiàn)中分別產(chǎn)生的兩種不同散斑圖案。由于散斑圖案的高度隨機(jī)性,其圖像處理精度遠(yuǎn)低于處理精心設(shè)計(jì)的圖案,因?yàn)榫_的數(shù)學(xué)模型可用于已知形狀的圖案。與其他結(jié)構(gòu)光方法相比,光編碼方法的測(cè)量精度要低得多。與其他方法相比,它具有成本低、通用性好等優(yōu)點(diǎn)。
編輯:黃飛
標(biāo)簽: