王世程 于微波 楊宏韜
(長春工業(yè)大學電氣與電子工程學院 吉林 長春 130012)
三維數(shù)據(jù)可以直觀反映場景或目標的全貌信息。TOF深度相機具有結(jié)構(gòu)緊湊、幀率高、對光照不敏感等優(yōu)點,是一種效率較高的3D成像儀器,在三維視覺系統(tǒng)中應用廣泛[1]。由于TOF相機自身成像特點影響以及外界不確定環(huán)境因素的擾動,導致其獲得的原始深度信息附帶抖動、漂移、畸變等誤差[2],最重要的深度信息難以直接應用。所以,對TOF相機獲取的原始深度數(shù)據(jù)的誤差進行校正尤為必要。文獻[3]提出采用多采集頻率的方法,以提高TOF相機的深度數(shù)據(jù)質(zhì)量;文獻[4]提出為每一個像素點計算相應的修正系數(shù)的方法對原始深度數(shù)據(jù)的誤差進行修正,但該方法由于計算復雜度高導致消耗時間較長;文獻[5]提出一種基于小孔成像原理的深度數(shù)據(jù)校正方法對原始深度數(shù)據(jù)的誤差進行修正,但該方法對非系統(tǒng)誤差校正具有一定的局限性;更多校正方法詳見文獻[6-8],但依然存在諸多缺點。本文提出一種建立極限學習機(ELM)空間配準模型的方法對TOF相機深度數(shù)據(jù)測量過程中隨機誤差導致的深度偏移和系統(tǒng)性誤差導致的深度數(shù)據(jù)高估進行了統(tǒng)一校正,并與基于BP算法[9]建立的空間配準模型和基于小孔成像原理校正的結(jié)果進行對比實驗。
TOF相機測量目標深度信息的原理是基于測量光在目標物體表面和傳感器之間的飛行時間來計算場景到探測器像元之間的深度信息[10]。由于TOF相機自身成像特點影響以及外界不確定環(huán)境因素的擾動,導致其獲取的原始深度信息存在誤差。這些誤差大致可分為非系統(tǒng)誤差和系統(tǒng)誤差。
引起非系統(tǒng)誤差的因素一般是使用環(huán)境的差異,其中有環(huán)境的噪聲、光的散射、運動模糊以及多光接收等[11]。激光是TOF相機接收的光源,由其本身提供,因此,在相同的曝光時間內(nèi),靠近相機的點容易產(chǎn)生過飽和現(xiàn)象,遠離相機的點容易造成曝光不足。同時,相機發(fā)出的部分激光通過多次反射才被相機收到的現(xiàn)象是由于激光的散射以及漫反射造成,并且與相機距離越近,散射現(xiàn)象越嚴重。而且相機工作時間不同,芯片的溫度發(fā)生變化等都可能引起深度上的漂移[2,12]。
系統(tǒng)誤差主要是由TOF相機自身硬件系統(tǒng)產(chǎn)生的實測深度距離高于實際距離的情況。相機的球面坐標系示意如圖1所示,同一物體平面Π1上有三個點A、B、C,TOF相機采集到的深度數(shù)據(jù)僅A點最接近實際深度值d。而TOF相機采集到的其他位置的深度數(shù)據(jù)如被測點B和C到相機O的直線距離分別為rB和rC。通常,這種直線距離rB或rC總是大于垂直實際距離d,即被測點B和C的深度信息被過高估計。同理,對于平面Π2上測得的類似位置的深度數(shù)據(jù)情況也是如此。

圖1 TOF相機的球面坐標系示意圖

(1)
由式(1)得出,當角度θ一定時,隨著真實距離的增加,偏差ΔD與D存在一種線性遞增的關系;當真實距離為D一定時,隨著角度θ的增加,偏差ΔD與角度θ存在一種非線性遞增的關系。
在實際測量中,當相機以光軸垂直物體平面的方式拍攝時,越靠近鏡頭的光軸中心對應的物體平面待測位置的點時,則越接近實際的垂直距離d。而遠離鏡頭的光軸中心對應的物體平面待測位置的點,即處在鏡頭視角邊緣處的點,就會被系統(tǒng)性地高估。這種高估對后續(xù)圖像的三維重建以及處理都會產(chǎn)生很大影響。
TOF相機非系統(tǒng)和系統(tǒng)誤差的疊加導致的數(shù)據(jù)偏移與真值之間存在某種非線性的規(guī)律,且很難用精確的數(shù)學模型進行描述,因此可以采用機器學習算法對其進行處理。本文使用建立極限學習機(ELM)空間配準模型的方法對TOF相機的深度誤差進行校正。
用TOF(tof640-20gm_850nm)深度相機垂直照射墻面,實驗設備環(huán)境圖如圖2所示。

圖2 實驗設備環(huán)境圖
為了降低隨機誤差的影響,開機40 min預熱后,在保持相機平面與墻面平行,且相機平面與墻面垂直距離的1.0~4.5 m范圍內(nèi)的狀態(tài)下,每隔10 cm采集10幅相應位置的深度數(shù)據(jù)并過濾掉非0的像素后,求平均深度值zm,而該位置到墻的實際距離zc已知。以zm和zc為依據(jù),確定采樣間隔為1 cm對相鄰深度數(shù)據(jù)幀各個對應像素位置的zm和zc的值分別在z軸方向進行三次樣條插值[13]處理。z軸方向樣條函數(shù)如下所示:
(2)
進而得到近似連續(xù)又滿足實際要求的離散空間照片的深度數(shù)據(jù)p(xm,ym,zm)和相應的實際垂直距離信息zc,為后續(xù)TOF相機深度數(shù)據(jù)ELM空間配準模型的建立做好數(shù)據(jù)準備。
極限學習機(ELM)的網(wǎng)絡結(jié)構(gòu)[14]如圖3所示。設輸入層的輸入變量個數(shù)為n,隱含層的神經(jīng)元個數(shù)為l,輸出層的m個神經(jīng)元則對應m個輸出變量,w為輸入層與隱含層間的連接權(quán)值,β為隱含層與輸出層間的連接權(quán)值,b為隱含層神經(jīng)元的閾值。

圖3 單隱層前饋神經(jīng)網(wǎng)絡結(jié)構(gòu)
將輸入層第i個神經(jīng)元與隱含層第j個神經(jīng)元之間的連接權(quán)值表示為wij,隱含層第j個神經(jīng)元與輸出層第k個神經(jīng)元間的連接權(quán)值表示為βjk,則:
(3)
假設訓練集有Q個樣本,其輸入矩陣X和輸出矩陣Y分別為:
(4)
設g(x)為隱含層神經(jīng)元的激活函數(shù),則網(wǎng)絡的輸出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)
在訓練前,隨機選取輸入層和隱含層之間的連接權(quán)值w以及隱含層神經(jīng)元的閾值b,并且訓練過程中它們保持不變。H+為H的廣義Moore-Penrose逆矩陣,利用它可以求得滿足零誤差逼近的β。
(8)
ELM算法的建模步驟如下:
1) 隨機產(chǎn)生神經(jīng)網(wǎng)絡的輸入層和隱含層之間的連接權(quán)值w以及隱含層神經(jīng)元的閾值b;
2) 計算隱含層輸出矩陣H;
3) 通過輸出矩陣H的廣義逆矩陣H+求得輸出連接權(quán)值β。
應用ELM算法建立TOF相機深度數(shù)據(jù)空間配準模型步驟如圖4所示。

圖4 ELM建模步驟
1) 以三次樣條插值函數(shù)得到的p(xm,ym,zm)和zc為依據(jù),將TOF深度相機在各個空間位置上對應的像素深度值p(xm,ym,zm)和理想深度值zc作為訓練集,任意選取幾幅不同空間位置的深度圖像的原始深度數(shù)據(jù)p(xm,ym,zm)和對應的zc,并加入隨機噪聲信號作為測試集。
2) 構(gòu)造ELM模型結(jié)構(gòu),確定輸入層的3個輸入變量p(xm,ym,zm),根據(jù)訓練樣本數(shù)確定隱含層神經(jīng)元個數(shù),確定1個輸出變量zc。通過訓練建立測量值p(xm,ym,zm)和實際深度值zc之間的非線性映射模型。對于建立成功的ELM空間配準模型,將對近似連續(xù)空間內(nèi)所有像素的深度數(shù)據(jù)起到相應的校正作用。

本實驗使用ELM算法和BP算法分別構(gòu)建的空間配準深度數(shù)據(jù)校正模型以及基于小孔成像原理校正的三種方法進行實驗并對比。實驗數(shù)據(jù)采集范圍為1.0~4.5 m,選取深度相機實際測量得到的2.0 m的深度數(shù)據(jù)圖像作為實驗展示。原始數(shù)據(jù)點云如圖5所示;基于ELM算法空間配準模型校正后數(shù)據(jù)點云如圖6所示;基于BP算法空間配準模型校正后數(shù)據(jù)點云如圖7所示;基于小孔成像原理校正后數(shù)據(jù)點云如圖8所示。直觀上來說,圖5中的原始數(shù)據(jù)點云很凌亂,而圖6-圖8中校正后的數(shù)據(jù)點云相對平整,說明三種方法對原始數(shù)據(jù)點云都有大幅度的校正,而各方法之間的校正結(jié)果并不明顯。故需要對各方法之間的校正結(jié)果做進一步比較分析。

圖5 原始數(shù)據(jù)點云圖

圖6 基于ELM算法空間配準模型校正后數(shù)據(jù)點云圖

圖7 基于BP算法空間配準模型校正后數(shù)據(jù)點云圖

圖8 基于小孔成像原理校正后數(shù)據(jù)點云圖
對上述三種方法的校正結(jié)果進行分析,校正結(jié)果驗證對比如圖9所示??梢钥闯觯贓LM算法空間配準模型校正后的深度值曲線更加收斂于實際理想深度值曲線。

圖9 校正結(jié)果驗證對比圖
相對誤差對比如圖10所示??梢钥闯?,基于小孔成像原理、基于BP算法空間配準模型和基于ELM算法空間配準模型校正后的深度值相對誤差曲線在零值附近的振蕩幅度與原始相對誤差相比都大幅減小,說明三種方法對原始誤差都有較大幅度的改善,并且基于ELM算法空間配準模型校正后的深度值相對誤差曲線在零值附近的振蕩幅度更小。

圖10 相對誤差對比圖
對測量距離為2.0 m的一幅深度數(shù)據(jù)的各像素進行定量分析,三種方法對單幅深度數(shù)據(jù)處理效果對比結(jié)果如表1所示。其中:基于ELM算法空間配準模型校正后的平均絕對誤差是基于BP算法空間配準模型校正后的69%左右,是基于小孔成像原理校正的31%左右;均方根誤差是基于BP算法空間配準模型校正后的70%左右,是基于小孔成像原理校正的34%左右。ELM算法空間配準模型、BP算法空間配準模型和基于小孔成像原理校正的平均相對誤差分別為0.13%、0.18%和0.41%。而且基于ELM算法建立的空間配準模型對單幀各像素深度數(shù)據(jù)的處理速度比基于BP算法建立的空間配準模型速度更快,與基于小孔成像原理校正方法耗時相當。因此,基于ELM算法建立的TOF相機深度數(shù)據(jù)空間配準模型校正效果更好。

表1 三種方法對單幅深度數(shù)據(jù)處理效果對比列表
對測量范圍為1.0~4.5 m的采樣間隔為1 cm的351幀深度數(shù)據(jù)圖像進行分析。圖11顯示了深度空間方向?qū)臻g位置原始數(shù)據(jù)的平均絕對誤差與三種方法校正結(jié)果的平均絕對誤差。

圖11 平均絕對誤差對比圖
由圖11的局部放大圖可以看出,經(jīng)三種方法校正后的深度值的平均絕對誤差值與原始誤差相比都大幅減小,說明這三種方法對原始誤差都有較大幅度的改善。從圖11全局來看,基于ELM算法校正后的深度值的平均絕對誤差值曲線在零值附近的振蕩幅度更小。
三種方法處理各深度空間位置對應深度數(shù)據(jù)的平均絕對誤差如表2所示。從表中數(shù)據(jù)很容易得出,ELM算法空間配準模型校正后的平均絕對誤差是基于BP算法空間配準模型校正后的71%左右,是基于小孔成像校正的33%左右。所以,基于ELM算法空間配準模型比基于BP算法空間配準模型和基于小孔成像原理校正方法對實驗范圍的深度數(shù)據(jù)校正的總體效果都好,其總體結(jié)果更接近實際理想深度值。

表2 平均絕對誤差對比列表 m
本文提出的基于極限學習機(ELM)空間配準模型的方法對TOF相機深度數(shù)據(jù)測量過程中非系統(tǒng)性和系統(tǒng)性誤差的疊加導致的深度數(shù)據(jù)偏移進行了統(tǒng)一校正,并與基于BP算法建立的空間配準模型和基于小孔成像原理校正的結(jié)果進行對比,分析得出ELM算法空間配準模型校正的平均絕對誤差是基于BP算法空間配準模型校正的71%左右,是基于小孔成像原理校正的33%左右。實驗結(jié)果表明,采用ELM算法建立的ELM空間配準校正模型大幅減小了TOF相機測得的實驗范圍內(nèi)的深度數(shù)據(jù)幀的誤差。基于ELM算法建立的空間配準模型比基于BP算法建立的空間配準模型和基于小孔成像原理校正方法對實驗范圍的深度數(shù)據(jù)幀校正的總體效果都好,能更好地復原真實場景中的深度數(shù)據(jù)。