杜棋東
(廣州鐵路職業(yè)技術(shù)學(xué)院教育技術(shù)中心 廣州 510430)
人體三維重建技術(shù)在虛擬現(xiàn)實(shí)、人工智能、逆向工程等領(lǐng)域有著重要應(yīng)用。當(dāng)前國(guó)內(nèi)外基于激光、結(jié)構(gòu)光的三維數(shù)據(jù)采集設(shè)備系統(tǒng)已較為成熟,重建數(shù)據(jù)精度高,然而這些設(shè)備昂貴,系統(tǒng)操作復(fù)雜,不適合一般用戶(hù)使用,難以大范圍應(yīng)用于實(shí)際工作中。Kinect作為一款廉價(jià)的三維數(shù)據(jù)采集傳感器,可以獲取場(chǎng)景的影像信息與深度數(shù)據(jù)[1~4],憑借快速獲取人體三維點(diǎn)云數(shù)據(jù)的優(yōu)勢(shì),常應(yīng)用于人體三維重建[5~8]。但是,由于 Kinect精度偏低、人體表面光滑程度不同以及環(huán)境因素等原因,導(dǎo)致其獲取深度信息噪聲數(shù)據(jù)較大,對(duì)人體三維重建效率與重建精度有極大的影響,故對(duì)其點(diǎn)云數(shù)據(jù)去噪處理成為人體三維重建的關(guān)鍵。
Alexa等[9]利用移動(dòng)最小二乘法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行曲面擬合,將點(diǎn)云噪聲投影到一個(gè)參數(shù)曲線(xiàn)模型上,實(shí)現(xiàn)高精度移除噪聲點(diǎn),然而該算法對(duì)離群點(diǎn)較難處理。Jones等[10]和 Fleishman等[11]在三維網(wǎng)格去噪中應(yīng)用圖像雙邊濾波方法,二者均能較好地光順小尺度噪聲,但存在過(guò)于光順大尺度噪聲的缺點(diǎn)。雷敏等[12]針對(duì)大量點(diǎn)云數(shù)據(jù)存在復(fù)雜計(jì)算的瓶頸問(wèn)題,提出一種基于包圍盒的三維點(diǎn)云密度聚類(lèi)的方法,減少點(diǎn)云的數(shù)據(jù)量,提高聚類(lèi)運(yùn)行效率,保證點(diǎn)云去噪處理高效進(jìn)行。王麗輝等提出了一種大尺度噪聲用模糊C均值聚類(lèi)算法進(jìn)行處理,小尺度噪聲則用圖像雙邊濾波算法光順的算法[13],但是對(duì)于大量點(diǎn)云聚類(lèi)計(jì)算存在運(yùn)行效率不高的缺點(diǎn)。因此,本文提出一種基于Kinect傳感器的人體三維點(diǎn)云去噪方法,該方法采用幀融合進(jìn)行預(yù)處理,然后通過(guò)改進(jìn)的C均值方法對(duì)離群點(diǎn)噪聲進(jìn)行整體聚類(lèi)分析并去除,最后利用深度數(shù)據(jù)雙邊濾波方法對(duì)高頻信息進(jìn)行處理。通過(guò)實(shí)驗(yàn)對(duì)比驗(yàn)證,本文方法能夠有效地除去大尺度噪聲和光順小尺度噪聲,為人體三維重建提供較高精度點(diǎn)云數(shù)據(jù)。
由于周?chē)h(huán)境光以及人體自身光滑程度等因素的影響,Kinect在獲取人體點(diǎn)云數(shù)據(jù)的同時(shí),也獲取了部分背景點(diǎn)云數(shù)據(jù)。根據(jù)Kinect傳感器特性,顏色Color傳感器獲取圖像分辨率為1920×1080,深度Depth傳感器則支持的最大分辨率為512×424。為快速有效地去除背景點(diǎn)云數(shù)據(jù),本文采用多模型數(shù)據(jù)融合方法進(jìn)行處理。
利用Kinect對(duì)人體的不同區(qū)域進(jìn)行掃描,獲取獨(dú)立的分塊點(diǎn)云數(shù)據(jù)。場(chǎng)景區(qū)域掃描是一個(gè)時(shí)間序列的過(guò)程,在區(qū)域掃描地過(guò)程中,要注意攝像頭掃描的位置,如果掃描人體重疊區(qū)域過(guò)多,會(huì)導(dǎo)致數(shù)據(jù)融合計(jì)算量越大,降低效率;如果掃描重疊區(qū)域較小,則會(huì)影響融合結(jié)果。因此,本文直接利用攝像頭的角度偏轉(zhuǎn)量和平移量來(lái)計(jì)算掃描的角度[14],再結(jié)合深度雙閥值的多模型數(shù)據(jù)融合方法去除人體的背景,達(dá)到去除由于周?chē)h(huán)境光或自身因素引起的部分噪聲的目的,改善點(diǎn)云數(shù)據(jù)。
Kinect獲取的預(yù)處理數(shù)據(jù)仍存在離群點(diǎn)噪聲和高頻噪聲,分布并不均勻。本文通過(guò)改進(jìn)的C均值方法(FCM)去除部分大尺度離群點(diǎn)噪聲,如果點(diǎn)云對(duì)象mj影響范圍內(nèi)的鄰近點(diǎn)云小于規(guī)定的臨界值,則判定點(diǎn)云對(duì)象mj為離群點(diǎn)噪聲,可去除;否則將點(diǎn)云對(duì)象mj移至聚類(lèi)中心。FCM的目標(biāo)函數(shù)定義:
為了更容易識(shí)別離群點(diǎn)數(shù)據(jù),使得聚類(lèi)更為容易,引入模糊權(quán)值因子θ改進(jìn)c均值方法[15],點(diǎn)云mj與聚類(lèi)中心Ok的歐式距離定義為
Kinect傳感器獲得的三維點(diǎn)云后,將其數(shù)據(jù)信息投影至平面上成像,再應(yīng)用雙邊濾波對(duì)深度圖像進(jìn)行去噪。雙邊濾波算法作為圖像濾波的常用方法,能夠較好地應(yīng)用于人體三維點(diǎn)云數(shù)據(jù)去噪。人體三維點(diǎn)云數(shù)據(jù)雙邊濾波是將噪聲點(diǎn)沿點(diǎn)的法向量移動(dòng),不斷調(diào)整其坐標(biāo)位置。雙邊濾波的定義為
其中:H(mi)是點(diǎn)云mi的鄰域點(diǎn),Wc是點(diǎn)云mi到其鄰域點(diǎn)的光順濾波權(quán)值因子,Ws是點(diǎn)云mi到其鄰域點(diǎn)在mi法向量ri的特征保持權(quán)值因子。Wc與Ws均是標(biāo)準(zhǔn)高斯濾波。
光順濾波權(quán)值因子的定義為
特征保持權(quán)值因子的定義為
其中:σc為點(diǎn)云mi到其鄰域點(diǎn)的距離對(duì)mi的影響因子,作為高斯濾波參數(shù),用于控制光順程度,σc的數(shù)值越大,代表可選取的鄰域點(diǎn)越多,點(diǎn)云數(shù)據(jù)模型的光滑度就越好;σs為點(diǎn)云mi到鄰近點(diǎn)的距離在ri的投影對(duì)點(diǎn)云mi的影響因子,同樣作為高斯濾波參數(shù),用于控制特征保持性,σs越大,代表點(diǎn)云mi在ri上移動(dòng)的距離越長(zhǎng),點(diǎn)云數(shù)據(jù)模型的特征保持性越好。本文提出的深度雙邊濾波方法應(yīng)用于高頻信息去噪方法過(guò)程如下:
1)搜索點(diǎn)云mi的鄰域,計(jì)算出它的k個(gè)最近鄰域點(diǎn)H(mi)。
2)計(jì)算點(diǎn)云mi的法向量ri,并調(diào)整所有法向量方向一致朝外。
3)計(jì)算光順濾波權(quán)值因子的參數(shù)x=‖mi-‖mj,x代表點(diǎn)云mi到鄰域點(diǎn)mj的距離。
4)計(jì)算特征保持權(quán)值因子的參數(shù)y=‖ri-‖rj,y代表點(diǎn)云mi的法向量與鄰域點(diǎn)mj的法向量?jī)烧叩膬?nèi)積。
5)根據(jù)式(5)和式(6)計(jì)算Wc與Ws。
6)根據(jù)式(4)計(jì)算改進(jìn)后的雙邊濾波權(quán)值因子α。
實(shí)驗(yàn)環(huán)境:操作系統(tǒng)為Windows 10 64位,處理器為i7,主頻為3.1GHz,內(nèi)存為4G,設(shè)備為Kinect v2.0。
通過(guò)Kinect掃描獲取的點(diǎn)云存在噪聲,采用1.1節(jié)的三維點(diǎn)云預(yù)處理方法,對(duì)人體三維點(diǎn)云數(shù)據(jù)進(jìn)行去背景和均值化處理。本文一次采集15幀點(diǎn)云數(shù)據(jù),圖1為人體15幀點(diǎn)云數(shù)據(jù)進(jìn)行基于深度雙閥值的多模型融合的結(jié)果。由圖1(a)、(b)兩圖可知,融合前場(chǎng)景中人體的一些背景部分和丟失部分在融合后得到去除和一定的恢復(fù)。根據(jù)實(shí)驗(yàn)計(jì)算,中間幀第7幀非零有效點(diǎn)云數(shù)據(jù)融合前和融合后的數(shù)據(jù)分別是154313和142236,由圖1看出,整個(gè)人體的點(diǎn)云數(shù)據(jù)是增多,但是融合后點(diǎn)云數(shù)據(jù)卻是減少,原因主要是融合后去除了人體背景的噪聲點(diǎn)。
圖1 人體三維點(diǎn)云多模型融合
利用改進(jìn)的C均值算法去除離群噪聲點(diǎn),首先選取點(diǎn)云輻射對(duì)象范圍內(nèi)的鄰近點(diǎn)臨界值為15,然后再選取合適的參數(shù)值,選取不同的x進(jìn)行實(shí)驗(yàn),加權(quán)指數(shù)因子x的經(jīng)驗(yàn)范圍為[1.0,5],結(jié)果如表1所示。
當(dāng)x最大時(shí),過(guò)度去噪;當(dāng)x最小時(shí),噪聲點(diǎn)不能夠完全去掉。通過(guò)實(shí)驗(yàn)圖對(duì)比分析,x=2時(shí),能夠獲得較好的去噪效果,如圖2所示。
表1 C均值離群點(diǎn)去噪實(shí)驗(yàn)分析
圖2 離群點(diǎn)噪音去除效果
從上圖可以看出,在點(diǎn)云基礎(chǔ)上偏移較多的數(shù)據(jù)點(diǎn),也就是離群點(diǎn)噪聲點(diǎn),可以通過(guò)改進(jìn)的C均值算法進(jìn)行有效去除,僅留下一些偏移較少的數(shù)據(jù)點(diǎn)的噪聲,也就是高頻信息噪聲。
利用雙邊濾波的方法去除高頻信息噪聲點(diǎn),去噪效果主要受σc、σs值的影響,由于人體深度紋理并不是特別復(fù)雜,σs值對(duì)于平滑去噪效果影響不大;當(dāng)σc過(guò)大時(shí),會(huì)造成過(guò)于平滑,σc過(guò)小時(shí),高頻信息去除不完全,影響平滑效果。因此,本文利用不同的參數(shù)進(jìn)行實(shí)驗(yàn),如圖3所示。
圖3 去除高頻噪聲平滑效果
經(jīng)過(guò)雙邊濾波的人體三維點(diǎn)云去噪效果如圖4所示。
圖4 人體三維點(diǎn)云去噪效果圖
為了更好地驗(yàn)證本文算法的運(yùn)行效率和有效性,與傳統(tǒng)雙邊濾波算法和進(jìn)行了比較。實(shí)驗(yàn)對(duì)象為兩個(gè)身高不一致的人,A的身高1.55m,B的身高1.75m。通過(guò)實(shí)驗(yàn)結(jié)果可知,本文算法在數(shù)據(jù)量增大時(shí),除了去除高頻信息明顯外,還可以保持較高的效率,結(jié)果如表2所示。
表2 算法性能比較
本文提出了一種三維點(diǎn)云去噪方法,集合多幀融合、C均值算法和雙邊濾波等算法優(yōu)點(diǎn),能夠除去人體大尺度噪聲和光順小尺度噪聲。從實(shí)驗(yàn)結(jié)果可知,本文算法特點(diǎn):一是具有普適性,能夠有效地對(duì)離群點(diǎn)噪聲和高頻噪聲的點(diǎn)云數(shù)據(jù)同步進(jìn)行處理;二是具有魯棒性,在除去噪聲的過(guò)程中,能夠維持人體模型的關(guān)鍵特征,防止取模變形。與傳統(tǒng)雙邊濾波算法和模糊C均值算法比較,本文方法能夠保證人體特征的基礎(chǔ)上,去除較大范圍的噪聲,運(yùn)行時(shí)間效率較高。但是,在本算法中實(shí)驗(yàn)參數(shù)均由人工調(diào)節(jié),下一步將根據(jù)人體三維點(diǎn)云統(tǒng)計(jì)特性自適應(yīng)地選擇參數(shù)進(jìn)行優(yōu)化。