本發(fā)明屬于三維計算機(jī)視覺技術(shù)領(lǐng)域,具體涉及一種基于深度神經(jīng)網(wǎng)絡(luò)和稀疏自編碼器的三維關(guān)鍵點檢測方法。
背景技術(shù):
三維關(guān)鍵點檢測是三維計算機(jī)視覺中的重要內(nèi)容,廣泛應(yīng)用于如目標(biāo)注冊與匹配,三維形狀檢索,網(wǎng)格分割和簡化等各種應(yīng)用之中。研究者們在過去的幾十年中提出了多種檢測三維關(guān)鍵點的方法,其中絕大部分是基于幾何的方法。Godila和Wagan對二維的Scale Invariant Feature Transform(SIFT)算法進(jìn)行擴(kuò)展,提出三維SIFT關(guān)鍵點檢測算法。Holte利用Difference-of-Normals(DoN)算子進(jìn)行三維關(guān)鍵點檢測。Castellani根據(jù)三維網(wǎng)格模型的視覺顯著性原則,提出了一種能檢測出魯棒的三維關(guān)鍵點檢測算法。此外,還有部分算法利用拉普拉斯光譜的方法在拉普拉斯光譜域而非實域進(jìn)行三維關(guān)鍵點檢測。
基于幾何的三維關(guān)鍵點檢測方法缺乏足夠的靈活性,因此難以滿足廣大應(yīng)用的需求。該類方法常常定義三維網(wǎng)格模型表面上在各個方向劇烈變化的點為三維關(guān)鍵點,但是在一些場景下,這些點可能是噪聲或者是三維網(wǎng)格模型中一些不重要的瑣碎細(xì)節(jié)。此外,當(dāng)需要考慮到三維網(wǎng)格模型語義信息的時候,基于幾何的方法幾乎不能處理這類問題。基于以上原因,越來越多的研究者開始致力于尋找一種新的框架進(jìn)行三維關(guān)鍵點檢測。
近些年,一些研究者提出使用機(jī)器學(xué)習(xí)的方法來進(jìn)行三維關(guān)鍵點檢測,該類方法在一定程度上能解決基于幾何的三維關(guān)鍵點檢測方法的不足。Teran和Mordohai利用隨機(jī)森林作為分類器來進(jìn)行三維關(guān)鍵點檢測(Teran,L.,Mordohai,P.:3d interest point detection via discriminative learning.In:Proceedings of the 13th European Conference on Computer Vision Conference on Computer Vision,Zurich,Switzerland(Sept 2014))。在該方法中,幾種基于幾何的三維關(guān)鍵點檢測方法被用來產(chǎn)生訓(xùn)練樣本和測試樣本的特征屬性。Creusot利用線性判別分析(LDA)和AdaBoost兩種方式從三維人臉模型中檢測三維關(guān)鍵點。Salti和Tombari把三維關(guān)鍵點檢測問題歸結(jié)為一個二維分類問題,其分類的標(biāo)準(zhǔn)在于一個點是否能正確地與一個預(yù)定義的三維描述子成功匹配(Salti,S.,Tombari,F.,Spezialetti,R.,Stefano,L.D.:Learning a descriptor-specific 3d keypoint detector.In:Computer Vision(ICCV),2015IEEE International Conference on,Dec 2015,2318-2326)。
然而,上述這些算法大都僅僅使用局部信息來產(chǎn)生特征屬性,缺乏類似于拉普拉斯光譜這樣的全局信息。
技術(shù)實現(xiàn)要素:
針對上述存在問題或不足,為能夠更有效地、魯棒地和穩(wěn)定地檢測出三維網(wǎng)格模型中的關(guān)鍵點,本發(fā)明提供了一種基于深度神經(jīng)網(wǎng)絡(luò)和稀疏自編碼器的三維關(guān)鍵點檢測方法。
具體技術(shù)方案如下:
步驟1、從三維網(wǎng)格模型數(shù)據(jù)庫中選取訓(xùn)練集和測試集,并從訓(xùn)練集中選取正負(fù)樣本點:
選取的訓(xùn)練集和測試集互不重疊,且三維網(wǎng)格模型具有由人工標(biāo)記生成的三維關(guān)鍵點。對于訓(xùn)練集中的每一個三維網(wǎng)格模型,選取全部由人工標(biāo)記生成的三維關(guān)鍵點為正樣本點,其余的為負(fù)樣本點。
步驟2、為正負(fù)樣本點形成特征屬性,構(gòu)建特征屬性集:
利用三維網(wǎng)格模型在多尺度空間中的局部信息和全局信息來形成樣本點的特征屬性。
所述局部信息包含三部分:1)被測點的周圍鄰域點到被測點切平面的歐式距離fd,2)被測點與其周圍領(lǐng)域點的法向量之間的夾角fθ,3)四種曲面曲率fc:最大主曲率、最小主曲率、高斯曲率和均值曲率。所述全局信息為拉普拉斯光譜信息fls。
對于三維網(wǎng)格模型M(x,y,z)中的任意一點v,令f為其特征屬性,則:
f=[f0,f1,f2,...,fΩ]T (1)
fi=[fd,fθ,fc,fls],i=0,1,2,...,Ω (2)
其中fi,i=0,1,2,...,Ω表示三維網(wǎng)格模型M(x,y,z)在尺度i所對應(yīng)的特征屬性信息,fi包含三類局部信息fd、fθ、fc和全局信息fls。三維網(wǎng)格模型M(x,y,z)在尺寸空間中的演化表示為:
Mδ(x,y,z)=M(x,y,z)*G(x,y,z,δ) (3)
其中δ∈{0,ε,2ε,...,Ωε}為三維高斯濾波器的標(biāo)準(zhǔn)差,ε為完全包圍三維網(wǎng)格模型的最小立方體的主對角線長度的0.3%,δ=0表示該演化模型為初始三維網(wǎng)格模型M(x,y,z),*是卷積運(yùn)算符。
三維網(wǎng)格模型由一系列點和其連接關(guān)系所構(gòu)成。如圖3所示,對三維網(wǎng)格模型中的任意 一點v,令Vk(v),k=1,2,3,4,5為其周圍的k-環(huán)鄰域點,n為其法向量。令vkj為Vk(v)中的第j個點,nkj為其法向量。則點vkj到點v所對應(yīng)的切平面的歐式距離dkj為:
點vkj與點v法向量之間的夾角為:
其中,(xv,yv,zv)為點v的坐標(biāo),(xkj,ykj,zkj)為點vkj的坐標(biāo)。令其中Nk為Vk(v)中點的個數(shù)。則fd和fθ為:
fd=[max(dk),min(dk),max(dk)-min(dk),mean(dk),var(dk),harmmean(dk)] (7)
fθ=[max(θk),min(θk),max(θk)-min(θk),mean(θk),var(θk),harmmean(θk)] (8)
其中,mean(·)、var(·)和harmmean(·)分別表示算術(shù)平均、方差和調(diào)和平均。fc由四種曲率構(gòu)成:
其中c1為最小主曲率、c2為最大主曲率,(c1+c2)/2為均值曲率,c1c2為高斯曲率。
三維網(wǎng)格模型的拉普拉斯矩陣是一個對稱矩陣并且可以分解為:
L=BΛBT (10)
其中Λ=Diag{λf,1≤f≤Ψ}是一個對角矩陣且里面的元素是按照升序排列,λf是三維網(wǎng)格模型的拉普拉斯矩陣的特征值。正交矩陣B的列向量為相應(yīng)的特征矢量,Ψ為三維網(wǎng)格模型中點的總數(shù)。拉普拉斯光譜定義為:
H(f)={λf,1≤f≤Ψ} (11)
采用對數(shù)-拉普拉斯光譜獲取全局信息。對數(shù)-拉普拉斯光譜L(f)定義為:
L(f)=log(H(f)) (12)
光譜的不規(guī)則性R(f)被用來獲取網(wǎng)格顯著性:
R(f)=|L(f)-JΓ(f)*L(f)| (13)
其中,是一個1×Γ的矢量。通過如下公式:
把光譜的不規(guī)則性從光譜域轉(zhuǎn)換到實域。其中R1=Diag{exp(R(f)):1≤f≤Ψ}為對角矩陣,為Hadamard積,W為權(quán)值矩陣,其中
令s為S的元素,則:
fls=[max(sk),min(sk),max(sk)-min(sk),mean(sk),var(sk),harmmean(sk)] (17)
步驟3、利用步驟2構(gòu)建好的特征屬性集和對應(yīng)的標(biāo)簽集訓(xùn)練稀疏自編碼器和深度神經(jīng)網(wǎng)絡(luò):
稀疏自編碼器是自編碼器的一個變體,通過在自編碼器的隱層部分添加稀疏性限制而得到。圖2(a)展示了一個自編碼器的基本結(jié)構(gòu)。
首先訓(xùn)練三個稀疏自編碼器,然后把這三個稀疏自編碼器的編碼部分提取出來級聯(lián)在一起,形成一個深度稀疏自編碼器,然后訓(xùn)練一層邏輯回歸層來處理深度稀疏自編碼器編碼后輸出的特征。
深度神經(jīng)網(wǎng)絡(luò)回歸模型由深度稀疏自編碼器和上述邏輯回歸層級聯(lián)構(gòu)成,圖2(b)展示了本發(fā)明方法中的深度神經(jīng)網(wǎng)絡(luò)回歸模型的基本結(jié)構(gòu)。
最后應(yīng)用反向傳播算法作用于深度神經(jīng)網(wǎng)絡(luò)回歸模型實現(xiàn)精調(diào)的效果。
步驟4、利用步驟3得到的深度神經(jīng)網(wǎng)絡(luò)回歸模型對三維網(wǎng)格模型進(jìn)行預(yù)測并得到相應(yīng)的顯著性響應(yīng)圖:
采用步驟2中同樣的方法對測試集中三維網(wǎng)格模型的每一個點形成特征屬性,并用步驟3得到的深度神經(jīng)網(wǎng)絡(luò)回歸模型對該點進(jìn)行預(yù)測,得到一個回歸值。再得到三維網(wǎng)格模型中所有點的回歸值,以其構(gòu)成該三維網(wǎng)格模型的顯著性響應(yīng)圖。
步驟5、根據(jù)步驟4得到的顯著性響應(yīng)圖得到三維關(guān)鍵點:
選取顯著性響應(yīng)圖中具有局部極大值的點作為三維關(guān)鍵點。對于三維網(wǎng)格模型中的每一個點,如果該點的顯著性響應(yīng)值比其周圍5-環(huán)鄰域內(nèi)點的顯著性響應(yīng)值都大,則該點為三維關(guān)鍵點。否則,該點就不是三維關(guān)鍵點。
本發(fā)明通過:1、使用深度神經(jīng)網(wǎng)絡(luò)結(jié)合稀疏自編碼器作為回歸模型來進(jìn)行三維關(guān)鍵點檢測;2、利用三維網(wǎng)格模型在多尺度空間中的局部和全局信息來形成特征屬性,使盡可能多的信息被利用來檢測三維關(guān)鍵點;3、引入多層稀疏自編碼器可以有效地發(fā)現(xiàn)這些局部和全局信息之間的相關(guān)性并形成這些信息的高級特征表示形式,以便對其進(jìn)行回歸。能夠有效地、魯棒地和穩(wěn)定地檢測出三維網(wǎng)格模型中的關(guān)鍵點。
綜上所述,相對現(xiàn)有的三維關(guān)鍵點檢測方法,本發(fā)明的方法能有效地、魯棒地和穩(wěn)定地檢測出三維網(wǎng)格模型中的關(guān)鍵點。
附圖說明
圖1為本發(fā)明中三維關(guān)鍵點檢測方法的流程圖;
圖2(a)為自編碼器的結(jié)構(gòu)圖,圖2(b)為本發(fā)明的深度神經(jīng)網(wǎng)絡(luò)回歸模型;
圖3為飛機(jī)三維網(wǎng)格模型及其局部放大示意圖;
圖4為使用本發(fā)明方法檢測到椅子三維網(wǎng)格模型的三維關(guān)鍵點;
圖5為使用本發(fā)明檢測三維視頻序列在不同幀中得到的關(guān)鍵點;
圖6為本發(fā)明與其余5種三維關(guān)鍵點檢測方法的性能對比圖;圖(a)為數(shù)據(jù)庫A測試集中關(guān)于IOU評價指標(biāo)的性能曲線圖;圖(b)為數(shù)據(jù)庫B測試集中關(guān)于IOU評價指標(biāo)的性能曲線圖。
附圖標(biāo)記:待測點v;1-環(huán)鄰域點V1;2-環(huán)鄰域點V2;3-環(huán)鄰域點V3;4-環(huán)鄰域點V4;5-環(huán)鄰域點V5。
具體實施方式
下面結(jié)合附圖和具體實例對本發(fā)明方法作進(jìn)一步的詳細(xì)說明,實例的目標(biāo)是通過三維網(wǎng)格模型關(guān)鍵點檢測結(jié)果驗證本發(fā)明所述方法的有效性。
在實施過程中,我們以文獻(xiàn)(Dutagaci,H.,Cheung,C.P.,Godil,A.:Evaluation of 3d interest point detection techniques via human-generated ground truth.The Visual Computer 28(9)(2012)901-917)中的三維網(wǎng)格模型數(shù)據(jù)庫作為訓(xùn)練和測試數(shù)據(jù)集。
訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)階段的具體實施方式:
步驟1、從三維網(wǎng)格模型數(shù)據(jù)庫中選取訓(xùn)練集和測試集,并從訓(xùn)練集中選取正負(fù)樣本點:
該三維網(wǎng)格模型數(shù)據(jù)庫分為數(shù)據(jù)庫A和數(shù)據(jù)庫B兩個部分,數(shù)據(jù)庫A包含24個三維網(wǎng)格模型,由23個人進(jìn)行標(biāo)定生成三維關(guān)鍵點Ground truth。數(shù)據(jù)庫B包含43個三維網(wǎng)格模型,由16個人進(jìn)行標(biāo)定生成Ground truth。分別選擇數(shù)據(jù)庫A和數(shù)據(jù)庫B的三分之二作為訓(xùn)練集,其余的作為測試集。
對于數(shù)據(jù)庫A訓(xùn)練集中的每一個三維網(wǎng)格模型,選取參數(shù)σ∈{0.01,0.02,...,0.1}和參數(shù)n∈{11,12,...,22}所對應(yīng)的Ground truth為正樣本,其余的點為負(fù)樣本。正樣本總數(shù)為17115,負(fù)樣本總數(shù)為148565。對于數(shù)據(jù)庫B訓(xùn)練集中的每一個三維網(wǎng)格模型,選取參數(shù)σ∈{0.01,0.02,...,0.1}和參數(shù)n∈{8,9,...,15}所對應(yīng)的Ground truth為正樣本,其余的點為負(fù)樣本。正樣本總數(shù)為18427,負(fù)樣本總數(shù)為222034。
步驟2、為正負(fù)樣本點形成特征屬性:
對于訓(xùn)練集中的每一個三維網(wǎng)格模型,首先計算該模型在尺度空間中的表示,然后計算該模型中的每一個樣本點在尺度i=0,1,2,...,Ω中的信息,本發(fā)明中Ω的值為6。局部信息fd、fθ與fc可分別通過如下公式進(jìn)行計算:
fd=[max(dk),min(dk),max(dk)-min(dk),mean(dk),var(dk),harmmean(dk)]
fθ=[max(θk),min(θk),max(θk)-min(θk),mean(θk),var(θk),harmmean(θk)]
全局信息fls通過計算對數(shù)-拉普拉斯光譜在光譜域的不規(guī)則性得到:
R(f)=|L(f)-JΓ(f)*L(f)|
其中中的Γ為9。全局信息(fls)為:
fls=[max(sk),min(sk),max(sk)-min(sk),mean(sk),var(sk),harmmean(sk)]
最終該三維網(wǎng)格模型中的每一個樣本點的特征屬性為:
f=[f0,f1,f2,...,f6]T
fi=[fd,fθ,fc,fls],i=0,1,2,...,6
樣本維度大小為665。
步驟3、利用構(gòu)建好的特征屬性集和對應(yīng)的標(biāo)簽集訓(xùn)練稀疏自編碼器和深度神經(jīng)網(wǎng)絡(luò):
使用步驟1和步驟2得到的特征屬性集和對應(yīng)的標(biāo)簽集訓(xùn)練稀疏自編碼器和深度神經(jīng)網(wǎng)絡(luò),其相關(guān)參數(shù)設(shè)置如下表所示:
其中ρ為稀疏自編碼器的稀疏性參數(shù),β控制稀疏自編碼器的代價函數(shù)中稀疏懲罰項的權(quán)重。
檢測三維關(guān)鍵點階段:
步驟4、利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)回歸模型對三維網(wǎng)格模型進(jìn)行預(yù)測并得到其顯著性響應(yīng)圖:
對于測試集中的每一個三維網(wǎng)格模型而言,以椅子三維網(wǎng)格模型為例。首先按照步驟2中的方法得到其在尺度空間中的表示,然后為每一個點計算特征屬性。利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)回歸模型對椅子三維網(wǎng)格模型上的每一個點進(jìn)行預(yù)測。對于每一個點而言,深度神經(jīng)網(wǎng)絡(luò)的輸出為一個值為0到1之間的回歸值,輸出值越靠近1表示該值越可能為三維關(guān)鍵點,反之亦然。所有這些輸出值共同構(gòu)成了椅子三維網(wǎng)格模型的顯著性響應(yīng)圖。
步驟5、根據(jù)顯著性響應(yīng)圖得到三維關(guān)鍵點:
選取椅子三維網(wǎng)格模型的顯著性響應(yīng)圖中具有局部極大值的點作為椅子三維網(wǎng)格模型的三維關(guān)鍵點。對于椅子三維網(wǎng)格模型中的每一個點,如果該點的顯著性響應(yīng)值比其周圍5-環(huán)鄰域內(nèi)點的顯著性響應(yīng)值都大,則該點為三維關(guān)鍵點。否則,該點就不是三維關(guān)鍵點。圖4展示了使用本發(fā)明的方法檢測出的椅子三維網(wǎng)格模型的三維關(guān)鍵點。
圖5展示了使用本發(fā)明方法檢測出的行人三維測試序列中不同幀下的三維關(guān)鍵點分布。
圖6展示了本發(fā)明方法同其余5種三維關(guān)鍵點檢測方法的性能對比圖,評價指標(biāo)為IOU準(zhǔn)則(L.Teran and P.Mordohai,“3d interest point detection via discriminativ learning,”in European Conference on Computer Vision.Zurich,Switzerland,Sept 2014),圖6(a)展示了6種算法在數(shù)據(jù)庫A測試集中的性能曲線圖,圖6(b)展示了6種算法在數(shù)據(jù)庫B測試集中的性能曲線圖。