王世程 于微波 楊宏韜
(長(zhǎng)春工業(yè)大學(xué)電氣與電子工程學(xué)院 吉林 長(zhǎng)春 130012)
三維數(shù)據(jù)可以直觀反映場(chǎng)景或目標(biāo)的全貌信息。TOF深度相機(jī)具有結(jié)構(gòu)緊湊、幀率高、對(duì)光照不敏感等優(yōu)點(diǎn),是一種效率較高的3D成像儀器,在三維視覺系統(tǒng)中應(yīng)用廣泛[1]。由于TOF相機(jī)自身成像特點(diǎn)影響以及外界不確定環(huán)境因素的擾動(dòng),導(dǎo)致其獲得的原始深度信息附帶抖動(dòng)、漂移、畸變等誤差[2],最重要的深度信息難以直接應(yīng)用。所以,對(duì)TOF相機(jī)獲取的原始深度數(shù)據(jù)的誤差進(jìn)行校正尤為必要。文獻(xiàn)[3]提出采用多采集頻率的方法,以提高TOF相機(jī)的深度數(shù)據(jù)質(zhì)量;文獻(xiàn)[4]提出為每一個(gè)像素點(diǎn)計(jì)算相應(yīng)的修正系數(shù)的方法對(duì)原始深度數(shù)據(jù)的誤差進(jìn)行修正,但該方法由于計(jì)算復(fù)雜度高導(dǎo)致消耗時(shí)間較長(zhǎng);文獻(xiàn)[5]提出一種基于小孔成像原理的深度數(shù)據(jù)校正方法對(duì)原始深度數(shù)據(jù)的誤差進(jìn)行修正,但該方法對(duì)非系統(tǒng)誤差校正具有一定的局限性;更多校正方法詳見文獻(xiàn)[6-8],但依然存在諸多缺點(diǎn)。本文提出一種建立極限學(xué)習(xí)機(jī)(ELM)空間配準(zhǔn)模型的方法對(duì)TOF相機(jī)深度數(shù)據(jù)測(cè)量過程中隨機(jī)誤差導(dǎo)致的深度偏移和系統(tǒng)性誤差導(dǎo)致的深度數(shù)據(jù)高估進(jìn)行了統(tǒng)一校正,并與基于BP算法[9]建立的空間配準(zhǔn)模型和基于小孔成像原理校正的結(jié)果進(jìn)行對(duì)比實(shí)驗(yàn)。
TOF相機(jī)測(cè)量目標(biāo)深度信息的原理是基于測(cè)量光在目標(biāo)物體表面和傳感器之間的飛行時(shí)間來計(jì)算場(chǎng)景到探測(cè)器像元之間的深度信息[10]。由于TOF相機(jī)自身成像特點(diǎn)影響以及外界不確定環(huán)境因素的擾動(dòng),導(dǎo)致其獲取的原始深度信息存在誤差。這些誤差大致可分為非系統(tǒng)誤差和系統(tǒng)誤差。
引起非系統(tǒng)誤差的因素一般是使用環(huán)境的差異,其中有環(huán)境的噪聲、光的散射、運(yùn)動(dòng)模糊以及多光接收等[11]。激光是TOF相機(jī)接收的光源,由其本身提供,因此,在相同的曝光時(shí)間內(nèi),靠近相機(jī)的點(diǎn)容易產(chǎn)生過飽和現(xiàn)象,遠(yuǎn)離相機(jī)的點(diǎn)容易造成曝光不足。同時(shí),相機(jī)發(fā)出的部分激光通過多次反射才被相機(jī)收到的現(xiàn)象是由于激光的散射以及漫反射造成,并且與相機(jī)距離越近,散射現(xiàn)象越嚴(yán)重。而且相機(jī)工作時(shí)間不同,芯片的溫度發(fā)生變化等都可能引起深度上的漂移[2,12]。
系統(tǒng)誤差主要是由TOF相機(jī)自身硬件系統(tǒng)產(chǎn)生的實(shí)測(cè)深度距離高于實(shí)際距離的情況。相機(jī)的球面坐標(biāo)系示意如圖1所示,同一物體平面Π1上有三個(gè)點(diǎn)A、B、C,TOF相機(jī)采集到的深度數(shù)據(jù)僅A點(diǎn)最接近實(shí)際深度值d。而TOF相機(jī)采集到的其他位置的深度數(shù)據(jù)如被測(cè)點(diǎn)B和C到相機(jī)O的直線距離分別為rB和rC。通常,這種直線距離rB或rC總是大于垂直實(shí)際距離d,即被測(cè)點(diǎn)B和C的深度信息被過高估計(jì)。同理,對(duì)于平面Π2上測(cè)得的類似位置的深度數(shù)據(jù)情況也是如此。
圖1 TOF相機(jī)的球面坐標(biāo)系示意圖
(1)
由式(1)得出,當(dāng)角度θ一定時(shí),隨著真實(shí)距離的增加,偏差ΔD與D存在一種線性遞增的關(guān)系;當(dāng)真實(shí)距離為D一定時(shí),隨著角度θ的增加,偏差ΔD與角度θ存在一種非線性遞增的關(guān)系。
在實(shí)際測(cè)量中,當(dāng)相機(jī)以光軸垂直物體平面的方式拍攝時(shí),越靠近鏡頭的光軸中心對(duì)應(yīng)的物體平面待測(cè)位置的點(diǎn)時(shí),則越接近實(shí)際的垂直距離d。而遠(yuǎn)離鏡頭的光軸中心對(duì)應(yīng)的物體平面待測(cè)位置的點(diǎn),即處在鏡頭視角邊緣處的點(diǎn),就會(huì)被系統(tǒng)性地高估。這種高估對(duì)后續(xù)圖像的三維重建以及處理都會(huì)產(chǎn)生很大影響。
TOF相機(jī)非系統(tǒng)和系統(tǒng)誤差的疊加導(dǎo)致的數(shù)據(jù)偏移與真值之間存在某種非線性的規(guī)律,且很難用精確的數(shù)學(xué)模型進(jìn)行描述,因此可以采用機(jī)器學(xué)習(xí)算法對(duì)其進(jìn)行處理。本文使用建立極限學(xué)習(xí)機(jī)(ELM)空間配準(zhǔn)模型的方法對(duì)TOF相機(jī)的深度誤差進(jìn)行校正。
用TOF(tof640-20gm_850nm)深度相機(jī)垂直照射墻面,實(shí)驗(yàn)設(shè)備環(huán)境圖如圖2所示。
圖2 實(shí)驗(yàn)設(shè)備環(huán)境圖
為了降低隨機(jī)誤差的影響,開機(jī)40 min預(yù)熱后,在保持相機(jī)平面與墻面平行,且相機(jī)平面與墻面垂直距離的1.0~4.5 m范圍內(nèi)的狀態(tài)下,每隔10 cm采集10幅相應(yīng)位置的深度數(shù)據(jù)并過濾掉非0的像素后,求平均深度值z(mì)m,而該位置到墻的實(shí)際距離zc已知。以zm和zc為依據(jù),確定采樣間隔為1 cm對(duì)相鄰深度數(shù)據(jù)幀各個(gè)對(duì)應(yīng)像素位置的zm和zc的值分別在z軸方向進(jìn)行三次樣條插值[13]處理。z軸方向樣條函數(shù)如下所示:
(2)
進(jìn)而得到近似連續(xù)又滿足實(shí)際要求的離散空間照片的深度數(shù)據(jù)p(xm,ym,zm)和相應(yīng)的實(shí)際垂直距離信息zc,為后續(xù)TOF相機(jī)深度數(shù)據(jù)ELM空間配準(zhǔn)模型的建立做好數(shù)據(jù)準(zhǔn)備。
極限學(xué)習(xí)機(jī)(ELM)的網(wǎng)絡(luò)結(jié)構(gòu)[14]如圖3所示。設(shè)輸入層的輸入變量個(gè)數(shù)為n,隱含層的神經(jīng)元個(gè)數(shù)為l,輸出層的m個(gè)神經(jīng)元?jiǎng)t對(duì)應(yīng)m個(gè)輸出變量,w為輸入層與隱含層間的連接權(quán)值,β為隱含層與輸出層間的連接權(quán)值,b為隱含層神經(jīng)元的閾值。
圖3 單隱層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
將輸入層第i個(gè)神經(jīng)元與隱含層第j個(gè)神經(jīng)元之間的連接權(quán)值表示為wij,隱含層第j個(gè)神經(jīng)元與輸出層第k個(gè)神經(jīng)元間的連接權(quán)值表示為βjk,則:
(3)
假設(shè)訓(xùn)練集有Q個(gè)樣本,其輸入矩陣X和輸出矩陣Y分別為:
(4)
設(shè)g(x)為隱含層神經(jīng)元的激活函數(shù),則網(wǎng)絡(luò)的輸出T為:
T=(t1,t2,…,tQ)m×Q
(5)
式中:j=1,2,…,Q,wi=[wi1,wi2,…,win],xj=[x1j,x2j,…,xnj]T,則式(5)可表示為:
Hβ=T′
(6)
式中:矩陣T′為T的轉(zhuǎn)置;H為隱含層輸出矩陣。
H(w1,w2,…,wl,b1,b2,…,bl,x1,x2,…,xQ)=
(7)
在訓(xùn)練前,隨機(jī)選取輸入層和隱含層之間的連接權(quán)值w以及隱含層神經(jīng)元的閾值b,并且訓(xùn)練過程中它們保持不變。H+為H的廣義Moore-Penrose逆矩陣,利用它可以求得滿足零誤差逼近的β。
(8)
ELM算法的建模步驟如下:
1) 隨機(jī)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的輸入層和隱含層之間的連接權(quán)值w以及隱含層神經(jīng)元的閾值b;
2) 計(jì)算隱含層輸出矩陣H;
3) 通過輸出矩陣H的廣義逆矩陣H+求得輸出連接權(quán)值β。
應(yīng)用ELM算法建立TOF相機(jī)深度數(shù)據(jù)空間配準(zhǔn)模型步驟如圖4所示。
圖4 ELM建模步驟
1) 以三次樣條插值函數(shù)得到的p(xm,ym,zm)和zc為依據(jù),將TOF深度相機(jī)在各個(gè)空間位置上對(duì)應(yīng)的像素深度值p(xm,ym,zm)和理想深度值z(mì)c作為訓(xùn)練集,任意選取幾幅不同空間位置的深度圖像的原始深度數(shù)據(jù)p(xm,ym,zm)和對(duì)應(yīng)的zc,并加入隨機(jī)噪聲信號(hào)作為測(cè)試集。
2) 構(gòu)造ELM模型結(jié)構(gòu),確定輸入層的3個(gè)輸入變量p(xm,ym,zm),根據(jù)訓(xùn)練樣本數(shù)確定隱含層神經(jīng)元個(gè)數(shù),確定1個(gè)輸出變量zc。通過訓(xùn)練建立測(cè)量值p(xm,ym,zm)和實(shí)際深度值z(mì)c之間的非線性映射模型。對(duì)于建立成功的ELM空間配準(zhǔn)模型,將對(duì)近似連續(xù)空間內(nèi)所有像素的深度數(shù)據(jù)起到相應(yīng)的校正作用。
本實(shí)驗(yàn)使用ELM算法和BP算法分別構(gòu)建的空間配準(zhǔn)深度數(shù)據(jù)校正模型以及基于小孔成像原理校正的三種方法進(jìn)行實(shí)驗(yàn)并對(duì)比。實(shí)驗(yàn)數(shù)據(jù)采集范圍為1.0~4.5 m,選取深度相機(jī)實(shí)際測(cè)量得到的2.0 m的深度數(shù)據(jù)圖像作為實(shí)驗(yàn)展示。原始數(shù)據(jù)點(diǎn)云如圖5所示;基于ELM算法空間配準(zhǔn)模型校正后數(shù)據(jù)點(diǎn)云如圖6所示;基于BP算法空間配準(zhǔn)模型校正后數(shù)據(jù)點(diǎn)云如圖7所示;基于小孔成像原理校正后數(shù)據(jù)點(diǎn)云如圖8所示。直觀上來說,圖5中的原始數(shù)據(jù)點(diǎn)云很凌亂,而圖6-圖8中校正后的數(shù)據(jù)點(diǎn)云相對(duì)平整,說明三種方法對(duì)原始數(shù)據(jù)點(diǎn)云都有大幅度的校正,而各方法之間的校正結(jié)果并不明顯。故需要對(duì)各方法之間的校正結(jié)果做進(jìn)一步比較分析。
圖5 原始數(shù)據(jù)點(diǎn)云圖
圖6 基于ELM算法空間配準(zhǔn)模型校正后數(shù)據(jù)點(diǎn)云圖
圖7 基于BP算法空間配準(zhǔn)模型校正后數(shù)據(jù)點(diǎn)云圖
圖8 基于小孔成像原理校正后數(shù)據(jù)點(diǎn)云圖
對(duì)上述三種方法的校正結(jié)果進(jìn)行分析,校正結(jié)果驗(yàn)證對(duì)比如圖9所示??梢钥闯?,基于ELM算法空間配準(zhǔn)模型校正后的深度值曲線更加收斂于實(shí)際理想深度值曲線。
圖9 校正結(jié)果驗(yàn)證對(duì)比圖
相對(duì)誤差對(duì)比如圖10所示??梢钥闯?,基于小孔成像原理、基于BP算法空間配準(zhǔn)模型和基于ELM算法空間配準(zhǔn)模型校正后的深度值相對(duì)誤差曲線在零值附近的振蕩幅度與原始相對(duì)誤差相比都大幅減小,說明三種方法對(duì)原始誤差都有較大幅度的改善,并且基于ELM算法空間配準(zhǔn)模型校正后的深度值相對(duì)誤差曲線在零值附近的振蕩幅度更小。
圖10 相對(duì)誤差對(duì)比圖
對(duì)測(cè)量距離為2.0 m的一幅深度數(shù)據(jù)的各像素進(jìn)行定量分析,三種方法對(duì)單幅深度數(shù)據(jù)處理效果對(duì)比結(jié)果如表1所示。其中:基于ELM算法空間配準(zhǔn)模型校正后的平均絕對(duì)誤差是基于BP算法空間配準(zhǔn)模型校正后的69%左右,是基于小孔成像原理校正的31%左右;均方根誤差是基于BP算法空間配準(zhǔn)模型校正后的70%左右,是基于小孔成像原理校正的34%左右。ELM算法空間配準(zhǔn)模型、BP算法空間配準(zhǔn)模型和基于小孔成像原理校正的平均相對(duì)誤差分別為0.13%、0.18%和0.41%。而且基于ELM算法建立的空間配準(zhǔn)模型對(duì)單幀各像素深度數(shù)據(jù)的處理速度比基于BP算法建立的空間配準(zhǔn)模型速度更快,與基于小孔成像原理校正方法耗時(shí)相當(dāng)。因此,基于ELM算法建立的TOF相機(jī)深度數(shù)據(jù)空間配準(zhǔn)模型校正效果更好。
表1 三種方法對(duì)單幅深度數(shù)據(jù)處理效果對(duì)比列表
對(duì)測(cè)量范圍為1.0~4.5 m的采樣間隔為1 cm的351幀深度數(shù)據(jù)圖像進(jìn)行分析。圖11顯示了深度空間方向?qū)?yīng)空間位置原始數(shù)據(jù)的平均絕對(duì)誤差與三種方法校正結(jié)果的平均絕對(duì)誤差。
圖11 平均絕對(duì)誤差對(duì)比圖
由圖11的局部放大圖可以看出,經(jīng)三種方法校正后的深度值的平均絕對(duì)誤差值與原始誤差相比都大幅減小,說明這三種方法對(duì)原始誤差都有較大幅度的改善。從圖11全局來看,基于ELM算法校正后的深度值的平均絕對(duì)誤差值曲線在零值附近的振蕩幅度更小。
三種方法處理各深度空間位置對(duì)應(yīng)深度數(shù)據(jù)的平均絕對(duì)誤差如表2所示。從表中數(shù)據(jù)很容易得出,ELM算法空間配準(zhǔn)模型校正后的平均絕對(duì)誤差是基于BP算法空間配準(zhǔn)模型校正后的71%左右,是基于小孔成像校正的33%左右。所以,基于ELM算法空間配準(zhǔn)模型比基于BP算法空間配準(zhǔn)模型和基于小孔成像原理校正方法對(duì)實(shí)驗(yàn)范圍的深度數(shù)據(jù)校正的總體效果都好,其總體結(jié)果更接近實(shí)際理想深度值。
表2 平均絕對(duì)誤差對(duì)比列表 m
本文提出的基于極限學(xué)習(xí)機(jī)(ELM)空間配準(zhǔn)模型的方法對(duì)TOF相機(jī)深度數(shù)據(jù)測(cè)量過程中非系統(tǒng)性和系統(tǒng)性誤差的疊加導(dǎo)致的深度數(shù)據(jù)偏移進(jìn)行了統(tǒng)一校正,并與基于BP算法建立的空間配準(zhǔn)模型和基于小孔成像原理校正的結(jié)果進(jìn)行對(duì)比,分析得出ELM算法空間配準(zhǔn)模型校正的平均絕對(duì)誤差是基于BP算法空間配準(zhǔn)模型校正的71%左右,是基于小孔成像原理校正的33%左右。實(shí)驗(yàn)結(jié)果表明,采用ELM算法建立的ELM空間配準(zhǔn)校正模型大幅減小了TOF相機(jī)測(cè)得的實(shí)驗(yàn)范圍內(nèi)的深度數(shù)據(jù)幀的誤差?;贓LM算法建立的空間配準(zhǔn)模型比基于BP算法建立的空間配準(zhǔn)模型和基于小孔成像原理校正方法對(duì)實(shí)驗(yàn)范圍的深度數(shù)據(jù)幀校正的總體效果都好,能更好地復(fù)原真實(shí)場(chǎng)景中的深度數(shù)據(jù)。