楊海清, 戴 林, 郭更新
(浙江工業(yè)大學(xué) 信息工程學(xué)院,浙江 杭州 310023)
三維重建是在虛擬環(huán)境中處理、分析和操作的基礎(chǔ)[1],同時(shí)也是人體測(cè)量的關(guān)鍵技術(shù),人體測(cè)量的數(shù)據(jù)為制定鞋、服裝等服飾提供了標(biāo)注依據(jù)。構(gòu)建人體三維腳模型,可以用于面向個(gè)性化定制鞋、模特腳部的制作以及滿足三維(3D)打印的需求[2]。
本文提出將Kinect傳感器與計(jì)算機(jī)視覺(jué)相結(jié)合構(gòu)建人體獲得所需要的腳型三維模型[3,4]。
系統(tǒng)的總體方案流程如下:首先Kinect傳感器在每一個(gè)標(biāo)志位置均做短暫停留獲取不同角度的腳型深度數(shù)據(jù)圖像。并根據(jù)在標(biāo)志位置獲取的深度圖像進(jìn)行預(yù)處理與分割操作,并轉(zhuǎn)換為三維點(diǎn)云數(shù)據(jù)。在三維重建模塊將獲得的三維點(diǎn)云數(shù)據(jù)進(jìn)行迭代最近點(diǎn)(iterative closest point,ICP)精匹配,然后對(duì)匹配結(jié)果進(jìn)行拼接、融合。最后,對(duì)拼接好的點(diǎn)云進(jìn)行曲面重建與渲染,得到最終三維重建模型。
本文采用采集硬件平臺(tái)獲取腳型的圖像,如圖1所示。
通過(guò)在滑軌軌道上部署3臺(tái)Kinect傳感器,每臺(tái)傳感器移動(dòng)120°范圍的形式設(shè)置。根據(jù)Kinect的深度數(shù)據(jù)獲取有效范圍,滑軌半徑可設(shè)置在0.8~1.5 m之間,本實(shí)驗(yàn)采用0.8 m作為半徑。為了獲得足夠的腳后跟和腳前掌的點(diǎn)云數(shù)據(jù)和完整的腳型數(shù)據(jù),拍攝的間隔角度需要比較小[5],這里間隔角度取30°,即每臺(tái)Kinect移動(dòng)約30°進(jìn)行一次圖像采集,為了便于控制目標(biāo)移動(dòng)的角度,對(duì)每個(gè)角度位置做上標(biāo)志,每臺(tái)Kinect從起始點(diǎn)繞順時(shí)針?lè)较蜻M(jìn)行數(shù)據(jù)采集,繞目標(biāo)移動(dòng)直到移動(dòng)到下一臺(tái)Kinect的起始位置為止。
Kinect傳感器獲得真實(shí)場(chǎng)景的深度信息,主要是通向物體發(fā)射紅外散斑,隨著物體遠(yuǎn)近的不同形成不同的散斑形狀[6],紅外攝像頭拍攝這些不同的散斑圖案,通過(guò)PS1080芯片進(jìn)行計(jì)算,內(nèi)部解碼分析獲得所拍攝目標(biāo)較為準(zhǔn)確的深度數(shù)據(jù),當(dāng)Kinect需要獲取深度信息時(shí),紅外攝像頭拍攝到散斑圖案,將此圖案與保存記錄好的散斑圖案進(jìn)行相關(guān)性換算,之后通過(guò)三角測(cè)量原理進(jìn)行計(jì)算獲取目標(biāo)的深度信息[7]。
在圖像坐標(biāo)系下,通過(guò)假設(shè)像素坐標(biāo)系上的某一點(diǎn)(x,y),將圖像像素坐標(biāo)轉(zhuǎn)化為圖像物理坐標(biāo)系
x=(u-u0)·k,y=(ν-ν0)·l
(1)
式中l(wèi),k為像素的單位坐標(biāo)系,(u0,ν0)為圖像物理坐標(biāo)系的中心坐標(biāo)。將(x,y)轉(zhuǎn)換到世界坐標(biāo)系下
(2)
(3)
式中d為測(cè)得的深度數(shù)值,代表紅外攝像機(jī)的焦距,θ為圖像物理坐標(biāo)系與Kinect的三維坐標(biāo)系的夾角,K為攝像機(jī)的內(nèi)置矩陣參數(shù),結(jié)合式(1)和式(2)推算可得式(3),通過(guò)計(jì)算得到式(3)中的相機(jī)內(nèi)置矩陣K即可確立圖像像素坐標(biāo)和世界三維坐標(biāo)之間的轉(zhuǎn)換關(guān)系,將攝像機(jī)獲得的數(shù)據(jù)轉(zhuǎn)化為三維點(diǎn)云數(shù)據(jù)。
在實(shí)際應(yīng)用中,因?yàn)镵inect的外紅散斑發(fā)射和采集受到物體表面條件、光照條件、信號(hào)傳輸條件、遮擋等問(wèn)題的影響,其獲取的圖像中,會(huì)含有一些噪聲點(diǎn)以及空洞點(diǎn)[8]。而對(duì)于三維重建,這些因素會(huì)在一定程度上影響三維點(diǎn)云的準(zhǔn)確度和完整性,所以需要提前對(duì)其進(jìn)行預(yù)處理。雙邊濾波能夠在去噪的同時(shí)保護(hù)好圖像邊緣和輪廓數(shù)據(jù)的特性較為適合作為深度圖濾波方式。
雙邊濾波含有兩個(gè)影響因子,分別為像素差值和空間幾何距離[9]。相比較高斯濾波,雙邊濾波改進(jìn)點(diǎn)在于考慮空間距離關(guān)系的同時(shí),增加了對(duì)周圍領(lǐng)域點(diǎn)的歐氏距離的考慮。其原理為:選定待計(jì)算像素點(diǎn)以及其周圍的領(lǐng)域,讀取周圍鄰域的像素值,通過(guò)加權(quán)平均的方式獲得其均值,然后去除掉距離偏差太大的像素點(diǎn)
h(x)=k-1?f(ξ)c(ξ-x)s(f(ξ)-f(x))dξ
(4)
式中k為歸一化系數(shù),其值為
k(x)=?c(ξ-x)s(f(ξ)-f(x))dξ
(5)
式中f(x)為濾波前的待計(jì)算點(diǎn)的灰度值,h(x)為經(jīng)過(guò)雙邊濾波后該點(diǎn)的灰度值,s為目標(biāo)點(diǎn)與其周圍點(diǎn)的灰度相似度,c為目標(biāo)點(diǎn)與其中周圍點(diǎn)的空間相似度。雙邊濾波通過(guò)將目標(biāo)點(diǎn)以及其鄰域的點(diǎn)都進(jìn)行加權(quán)平均計(jì)算,獲取均值,以優(yōu)化過(guò)濾效果。其核心函數(shù)通過(guò)c(ξ-x)和s(f(ξ)-f(x))共同實(shí)現(xiàn)。濾波公式為
(6)
(7)
僅僅通過(guò)濾波方法進(jìn)行修復(fù),并不能達(dá)到很理想的效果,所以應(yīng)先采取時(shí)空域聯(lián)合的方式對(duì)深度圖像進(jìn)行修復(fù)。
在同一視角連續(xù)獲得多幀圖像并選擇其中k幀,對(duì)選取的多幀圖像取其坐標(biāo)點(diǎn)(x,y)的灰度值D1(x,y),D2(x,y)…,Dk(x,y),然后將其排序計(jì)算出中值Dmed(x,y)
(8)
剔除灰度值與中值偏差超過(guò)一定閾值的點(diǎn),同時(shí)剔除深度值為255的空洞點(diǎn),然后統(tǒng)計(jì)剩下的點(diǎn)為有效點(diǎn),如果有效點(diǎn)數(shù)量超過(guò)一定值,則對(duì)剩下的點(diǎn)取均值,替換掉原圖該點(diǎn)的深度值,獲得圖像的Iavg,否則,該點(diǎn)使用原圖深度值為
|Di(x,y)-Dmed(x,y)|>S,N>T
(9)
式中S為設(shè)定的偏差閾值,N為剔出點(diǎn)之后所剩下的點(diǎn)的數(shù)量,T為設(shè)定的有效點(diǎn)數(shù)量閾值。對(duì)圖像進(jìn)行修復(fù)后再根據(jù)雙邊濾波降低噪聲和消除小型空洞。
本文在Harris-SIFT算法的基礎(chǔ)上提出了改進(jìn)Harris-SIFT特征點(diǎn)描述算法,通過(guò)匹配實(shí)現(xiàn)對(duì)大偏差角度圖像上的物體特征的搜索和配對(duì)。并應(yīng)用于腳型三維重建系統(tǒng)中的點(diǎn)云配準(zhǔn)模塊。
由于在本實(shí)驗(yàn)為動(dòng)態(tài)采集目標(biāo)信息,對(duì)于背景差分法來(lái)說(shuō),背景的采集和配對(duì)十分困難。該系統(tǒng)Kinect分隔角度較大,不易對(duì)背景造成干擾,同時(shí)Kinect滑軌距離目標(biāo)距離固定,十分容易設(shè)定閾值,故該系統(tǒng)適合采用閾值分割法對(duì)目標(biāo)和背景進(jìn)行分割。
本文的實(shí)驗(yàn)中,需要將腳作為所需要提取的目標(biāo),其余作為背景像素去除。與RGB圖像分割的意義不同,對(duì)于深度圖像來(lái)說(shuō),灰度值大小代表目標(biāo)與相機(jī)的距離,根據(jù)灰度值進(jìn)行分割即是根據(jù)目標(biāo)與相機(jī)的距離進(jìn)行分割
(10)
式中T為分割閾值,f(x,y)為點(diǎn)(x,y)處的灰度值,g(x,y)為結(jié)果該點(diǎn)的分割處理結(jié)果。
為了獲取合適的閾值,假設(shè)圖像上點(diǎn)的灰度值呈正態(tài)分布,設(shè)目標(biāo)上的點(diǎn)的像素值分布函數(shù)為p(x),方差為δ2,均值為μ;背景點(diǎn)分布函數(shù)為q(x) ,方差為τ2,均值為ν。圖像的總灰度得概率密度函數(shù)如下式
λp(x)+(1-λ)q(x)
(11)
式中λ為目標(biāo)對(duì)象占整個(gè)圖像面積比例,1-λ為剩余部分即背景占整個(gè)圖像面積的比例。
假設(shè)設(shè)最佳分割閾值為t,將背景點(diǎn)視為目標(biāo)對(duì)象上的點(diǎn)的誤差概率記為Q1(t),將目標(biāo)對(duì)象上點(diǎn)作為背景點(diǎn)的誤差概率為Q2(t),可得
(12)
則得到總錯(cuò)分的概率為
λQ2(t)+(1-λ)Q1(t)=
(13)
根據(jù)上式值得到最小值處的t的值即為最佳閾值,推導(dǎo)可得最佳閾值為t=(μ+ν)/2。
因?yàn)樵趯z像機(jī)從一個(gè)位置移動(dòng)到另一個(gè)位置的過(guò)程,可以看作一個(gè)平移過(guò)程,通過(guò)在移動(dòng)攝像機(jī)過(guò)程中不間斷采集數(shù)據(jù),獲得一批攝像機(jī)從這個(gè)位置移動(dòng)到另一個(gè)位置的動(dòng)態(tài)圖片。動(dòng)態(tài)Harris-SIFT點(diǎn)特征檢測(cè)算法的基本原理:通過(guò)動(dòng)態(tài)圖片縮小Harris-SIFT算法所需要匹配的圖片角度間隔,通過(guò)“搭橋”的模式,將一定間隔幀數(shù)的圖片進(jìn)行兩兩配對(duì)然后特征點(diǎn)繼承至下一張圖片,直到最后一張,將首尾特征點(diǎn)相連,獲得特征點(diǎn)匹配結(jié)果。其具體步驟如下:1)設(shè)定初始點(diǎn),設(shè)置好Kinect傳感器。從初始點(diǎn)開(kāi)始以攝像頭正對(duì)目標(biāo)得狀態(tài)平穩(wěn)繞目標(biāo)順時(shí)針移動(dòng),在移動(dòng)過(guò)程中,不間斷獲取目標(biāo)信息。2)選定間隔幀數(shù)k,從獲取的圖片中篩選出間隔k幀的各張圖片。3)從初始圖片I1開(kāi)始,與順序往下第二張圖片I2進(jìn)行Harris-SIFT算法匹配,獲得匹配點(diǎn)對(duì)矩陣C12,將其作為基準(zhǔn)矩陣。4)將圖片I2與順序往下第三張圖片I3進(jìn)行Harris-SIFT算法匹配獲得點(diǎn)對(duì)矩陣C23。5)從C12與C23中提取出對(duì)于第二張圖片I2所共有的特征點(diǎn),將這些特征點(diǎn)所匹配的I1圖特征點(diǎn)與I3圖特征點(diǎn)一一配對(duì),得到點(diǎn)對(duì)矩陣C13。6)將C13作為基準(zhǔn)矩陣,繼續(xù)進(jìn)行圖片I3與順序往下第四張圖片I4的Harris-SIFT算法匹配得到矩陣C34,同上將其與基準(zhǔn)C13進(jìn)行特征點(diǎn)配對(duì),得到C14。7)重復(fù)以上步驟,直到最后一張圖片Ik匹配完成,得到匹配點(diǎn)對(duì)矩陣C1k,C1k即為初始位置圖片I1與結(jié)束位置圖片Ik的特征點(diǎn)配對(duì)結(jié)果。
為了實(shí)驗(yàn)環(huán)境避免對(duì)RGB圖像進(jìn)行處理和匹配時(shí)收到明暗相差過(guò)大等因素的干擾,同時(shí)采用室內(nèi)環(huán)境保證Kinect傳感器不會(huì)受到強(qiáng)太陽(yáng)光干擾,采用普通白熾燈光照下的室內(nèi)進(jìn)行。
由于單純的腳模表面適合用于匹配的特征點(diǎn)較少,在實(shí)驗(yàn)前,為腳模穿穿上具有黑白相間得格子紋理的襪子,這種編織物上具有豐富的角點(diǎn)特征,十分適合于Harris角點(diǎn)檢測(cè)。Harris角點(diǎn)檢測(cè)結(jié)果如圖2(a)所示。
圖2 結(jié)果
動(dòng)態(tài)Harris-SIFT算法匹配中,影響匹配結(jié)果的因素包括閾值(ratio)的設(shè)置、間隔角度、匹配圖數(shù)量等,其中,近鄰/次近鄰的ratio的大小設(shè)置對(duì)匹配結(jié)果有最直接的影響。本文通過(guò)多次實(shí)驗(yàn),從小到大逐漸改變r(jià)atio的設(shè)置值,得到的匹配點(diǎn)對(duì)數(shù)量和準(zhǔn)確率變化如圖3所示。
圖3 匹配點(diǎn)數(shù)量和準(zhǔn)確率與閾值ratio關(guān)系
由圖可知,匹配點(diǎn)個(gè)數(shù)隨著ratio的增大而增大,但是匹配點(diǎn)對(duì)的匹配正確率大致隨著匹配點(diǎn)對(duì)的增加而減少,可以觀察到在ratio設(shè)置為0.75時(shí),匹配點(diǎn)對(duì)的數(shù)量和匹配點(diǎn)對(duì)的正確率達(dá)到一個(gè)均衡的值,在獲得豐富的匹配點(diǎn)對(duì)的同時(shí),保證足夠的正確率。所以本文選取ratio值為0.75。相同條件下傳統(tǒng)算法與改進(jìn)算法匹配結(jié)果結(jié)果如圖2(b)和(c)所示,可以看出,同樣條件下,改進(jìn)的動(dòng)態(tài)Harris-SIFT算法匹配的特征點(diǎn)對(duì)數(shù)略高于傳統(tǒng)的Harris-SIFT算法匹配結(jié)果。匹配結(jié)果如表1所示。
表1 動(dòng)態(tài)Harris-SIFT算法與傳統(tǒng)Harris-SIFT算法的性能比較
由表1可知,本文提出的動(dòng)態(tài)Harris-SIFT算法對(duì)于偏移角度較大圖像的匹配效果更加優(yōu)秀。
通過(guò)ICP精匹配和點(diǎn)云融合,獲得完整的腳型數(shù)字化點(diǎn)云數(shù)據(jù)。對(duì)融合后的腳模三維點(diǎn)云進(jìn)行三角網(wǎng)格化重建,然后通過(guò)Geomagic軟件對(duì)其進(jìn)行渲染和去除釘狀物、平滑等操作,處理結(jié)果如圖2(d)所示。通過(guò)滑軌式三維重建系統(tǒng)重建的腳模模型,也能保證輪廓清晰,形狀基本與腳模一致,可以用于后續(xù)工程。
運(yùn)用改進(jìn)的Harris-SIFT算法對(duì)圖像進(jìn)行特征的提取和匹配,實(shí)驗(yàn)結(jié)果表明:相比傳統(tǒng)算法,改進(jìn)的算法提高了圖像特征匹配準(zhǔn)確率,實(shí)現(xiàn)了人體腳型的三維構(gòu)建。