本發(fā)明涉及計(jì)算機(jī)視覺領(lǐng)域,尤其是涉及了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法。
背景技術(shù):
隨著科技技術(shù)迅速發(fā)展,已經(jīng)廣泛使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)三維形狀分類。預(yù)測給定三維形狀的對象類是計(jì)算機(jī)視覺中的一個基本問題,因?yàn)槿S形狀是圖像理解的重要視覺線索。但是,目前可用的三維形狀數(shù)據(jù)集比其他常用數(shù)據(jù)集小了一個數(shù)量級,還不足以訓(xùn)練模型。即使采用了很多微調(diào)方法處理小型該數(shù)據(jù)集,但需要非常長的時間。而如果采用基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法,則可以通過集束搜索,得到最佳卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)和參數(shù),從而更好地預(yù)測三維形狀。同時,這種方法在自動導(dǎo)航、自動檢測、機(jī)器人抓取物件及裝配任務(wù)等中有許多實(shí)際的需要。
本發(fā)明提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法,它利用卷積神經(jīng)網(wǎng)絡(luò),首先選擇相對簡單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為搜索樹的根節(jié)點(diǎn),并利用集束搜索方法從根節(jié)點(diǎn)開始探索候選的更復(fù)雜的模型;當(dāng)生成新的候選卷積神經(jīng)網(wǎng)絡(luò)時,通過從母卷積神經(jīng)網(wǎng)絡(luò)適當(dāng)?shù)貍魉偷狡浜蟠沟眉阉鞯慕Y(jié)果有效,最終得到最佳的卷積神經(jīng)網(wǎng)絡(luò)。本發(fā)明在流行的三維形狀數(shù)據(jù)集上的性能優(yōu)于現(xiàn)有方法,還成功地將參數(shù)總數(shù)減少了98%左右;同時由于采用了集束搜索方法再進(jìn)行知識遷移,還可以容易地應(yīng)用于需要在小型訓(xùn)練數(shù)據(jù)集上的魯棒性深入學(xué)習(xí)的其他問題。
技術(shù)實(shí)現(xiàn)要素:
針對三維形狀數(shù)據(jù)集太小和現(xiàn)有分類模型處理圖像耗時的問題,本發(fā)明的目的在于提供一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法。
為解決上述問題,本發(fā)明提供一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法,其主要內(nèi)容包括:
(一)數(shù)據(jù)輸入;
(二)初始卷積神經(jīng)網(wǎng)絡(luò);
(三)集束搜索;
(四)知識遷移;
其中,一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法,每個形狀被表示為與以形狀為中心的均勻三維網(wǎng)格的三維像素對應(yīng)的一組二進(jìn)制指示符;選擇相對簡單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為搜索樹的根節(jié)點(diǎn),并利用集束搜索方法從根節(jié)點(diǎn)開始探索候選的更復(fù)雜的模型,直到不能進(jìn)一步減少訓(xùn)練誤差;當(dāng)生成新的候選卷積神經(jīng)網(wǎng)絡(luò)時,通過從母卷積神經(jīng)網(wǎng)絡(luò)向后傳送合適的參數(shù)值,使得集束搜索的結(jié)果有效,最終得到最佳的卷積神經(jīng)網(wǎng)絡(luò)。
其中,所述的數(shù)據(jù)輸入,采用三維實(shí)體集作為數(shù)據(jù)集,其包括40個各種類型的實(shí)物對象類,如椅子、桌子、廁所、沙發(fā)等;每個類有100個獨(dú)特的CAD模型,代表最常見的三維形狀,在整個數(shù)據(jù)集中總共有151128個三維像素化模型。
其中,所述的初始卷積神經(jīng)網(wǎng)絡(luò),選擇相對簡單的初始卷積神經(jīng)網(wǎng)絡(luò),初始模型僅由兩個卷積層和一個完全連接的層組成;第一卷積層具有16個大小為6和步長2的濾波器,第二卷積層具有32個大小為5和步長2的濾波器;最后,完全連接的層具有400個隱藏單元。
其中,所述的集束搜索,包括后繼函數(shù),啟發(fā)式函數(shù)以及前瞻和回溯策略;狀態(tài)空間被定義為Ω={s},其中狀態(tài)s表示一個網(wǎng)絡(luò)配置;卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)配置指定卷積和完全連接的層的數(shù)量,在每個層中使用的隱藏單元或三維卷積濾波器的數(shù)量,以及哪些層具有最大池;約束集束搜索,使得完全連接的層的大小保持與初始卷積神經(jīng)網(wǎng)絡(luò)中相同。
進(jìn)一步地,所述的后繼函數(shù),通過從一組可能的動作A中應(yīng)用動作a(a∈A),從而從s中產(chǎn)生新的狀態(tài)s′:Γ:s→s′;將A定義為包括兩種類型的動作:(1)在所有卷積層的頂部添加新的卷積層,其中新添加的層具有與頂部卷積層相同數(shù)量的濾波器,濾波器大小和步長和(2)使頂部卷積層中的濾波器的數(shù)量加倍。
進(jìn)一步地,所述的啟發(fā)式函數(shù),定義為訓(xùn)練數(shù)據(jù)在s和s′之間的分類精度的差異;在給出s′的母狀態(tài)的情況下,排列新的狀態(tài)s′;用于引導(dǎo)集束搜索,集束搜索選擇前K個后續(xù)狀態(tài),其中K取作集束寬度。
進(jìn)一步地,所述的前瞻和回溯策略,首先通過從母狀態(tài)s多次應(yīng)用后繼函數(shù)直到所得搜索樹達(dá)到深度限制D來探索狀態(tài)空間;然后,在樹深度D處的葉狀態(tài)s′中,用評估選擇前K個葉子s′;從這前K個葉子狀態(tài)中,回溯到母狀態(tài)的第K個子狀態(tài),作為有效的新候選卷積神經(jīng)網(wǎng)絡(luò)。
其中,所述的知識遷移,包括加寬網(wǎng)絡(luò)和加深網(wǎng)絡(luò)這兩種類型的搜索動作指定的知識遷移;加寬網(wǎng)絡(luò)估計(jì)新添加的參數(shù),使得母卷積神經(jīng)網(wǎng)絡(luò)及其“較寬”(頂部卷積層中的濾波器的數(shù)量較多)子卷積神經(jīng)網(wǎng)絡(luò)以相同輸入得到相同的輸出;
為了加寬卷積層i,需要分別更新層i和i+1處的兩組模型參數(shù)和其中層i具有m個輸入和n個輸出,并且層i+1具p個輸出;當(dāng)動作加寬網(wǎng)絡(luò)擴(kuò)展層i,所以它有q>n個輸出,定義隨機(jī)映射函數(shù)g為
然后,可以從W(i)和W(i+1)計(jì)算新的參數(shù)集U(i)和U(i+1):
其中k=1,…,m,j=1,…,q,h=1,…,p;
從式(2),W(i)的前n列直接復(fù)制到U(i)中;U(i)的列n+1到q通過隨機(jī)選擇W(i)的列來創(chuàng)建,如g中所定義;隨機(jī)選擇通過替換來執(zhí)行,因此W(i)的每列可以被多次復(fù)制到U(i)的列n+1到q;
從式(3),類似地將W(i+1)的前n行簡單地直接復(fù)制到U(i+1)中,并且通過隨機(jī)選擇W(i+1)的行創(chuàng)建U(i+1)的行n+1到q,如g中所定義;此外,U(i+1)中的新參數(shù)被歸一化,以便考慮U(i+1)中的行的隨機(jī)復(fù)制;通過使用由給出的復(fù)制因子來推導(dǎo)新參數(shù)來計(jì)算歸一化。
進(jìn)一步地,所述的加深網(wǎng)絡(luò),它向母卷積神經(jīng)網(wǎng)絡(luò)添加了新的卷積層,從而產(chǎn)生更深的子卷積神經(jīng)網(wǎng)絡(luò);加深網(wǎng)絡(luò)用兩個層h(i)=φ(U(i)Tφ(W(i)Th(i-1)))替換層h(i)=φ(W(i)Th(i-1)),其中φ表示激活函數(shù),新參數(shù)矩陣U被指定為單位矩陣。
附圖說明
圖1是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的系統(tǒng)流程圖。
圖2是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的初始卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)圖。
圖3是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的加寬網(wǎng)絡(luò)操作示意圖。
圖4是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的加深網(wǎng)絡(luò)操作示意圖。
圖5是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的三維實(shí)體集。
具體實(shí)施方式
需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互結(jié)合,下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
圖1是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的系統(tǒng)流程圖。主要包括數(shù)據(jù)輸入;初始卷積神經(jīng)網(wǎng)絡(luò);集束搜索;知識遷移。
其中,所述的數(shù)據(jù)輸入,采用三維實(shí)體集作為數(shù)據(jù)集,其包括40個各種類型的實(shí)物對象類,如椅子、桌子、廁所、沙發(fā)等;每個類有100個獨(dú)特的CAD模型,代表最常見的三維形狀,在整個數(shù)據(jù)集中總共有151128個三維像素化模型。
其中,所述的初始卷積神經(jīng)網(wǎng)絡(luò),選擇相對簡單的初始卷積神經(jīng)網(wǎng)絡(luò),初始模型僅由兩個卷積層和一個完全連接的層組成;第一卷積層具有16個大小為6和步長2的濾波器,第二卷積層具有32個大小為5和步長2的濾波器;最后,完全連接的層具有400個隱藏單元。
其中,所述的集束搜索,包括后繼函數(shù),啟發(fā)式函數(shù)以及前瞻和回溯策略;狀態(tài)空間被定義為Ω={s},其中狀態(tài)s表示一個網(wǎng)絡(luò)配置;卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)配置指定卷積和完全連接的層的數(shù)量,在每個層中使用的隱藏單元或三維卷積濾波器的數(shù)量,以及哪些層具有最大池;約束集束搜索,使得完全連接的層的大小保持與初始卷積神經(jīng)網(wǎng)絡(luò)中相同。
進(jìn)一步地,所述的后繼函數(shù),通過從一組可能的動作A中應(yīng)用動作a(a∈A),從而從s中產(chǎn)生新的狀態(tài)s′:Γ:s→s′;將A定義為包括兩種類型的動作:(1)在所有卷積層的頂部添加新的卷積層,其中新添加的層具有與頂部卷積層相同數(shù)量的濾波器,濾波器大小和步長和(2)使頂部卷積層中的濾波器的數(shù)量加倍。
進(jìn)一步地,所述的啟發(fā)式函數(shù),定義為訓(xùn)練數(shù)據(jù)在s和s′之間的分類精度的差異;在給出s′的母狀態(tài)的情況下,排列新的狀態(tài)s′;用于引導(dǎo)集束搜索,集束搜索選擇前K個后續(xù)狀態(tài),其中K取作集束寬度。
進(jìn)一步地,所述的前瞻和回溯策略,首先通過從母狀態(tài)s多次應(yīng)用后繼函數(shù)直到所得搜索樹達(dá)到深度限制D來探索狀態(tài)空間;然后,在樹深度D處的葉狀態(tài)s′中,用評估選擇前K個葉子s′;從這前K個葉子狀態(tài)中,回溯到母狀態(tài)的第K個子狀態(tài),作為有效的新候選卷積神經(jīng)網(wǎng)絡(luò)。
其中,所述的知識遷移,包括加寬網(wǎng)絡(luò)和加深網(wǎng)絡(luò)這兩種類型的搜索動作指定的知識遷移;加寬網(wǎng)絡(luò)估計(jì)新添加的參數(shù),使得母卷積神經(jīng)網(wǎng)絡(luò)及其“較寬”(頂部卷積層中的濾波器的數(shù)量較多)子卷積神經(jīng)網(wǎng)絡(luò)以相同輸入得到相同的輸出;
為了加寬卷積層i,需要分別更新層i和i+1處的兩組模型參數(shù)和其中層i具有m個輸入和n個輸出,并且層i+1具p個輸出;當(dāng)動作加寬網(wǎng)絡(luò)擴(kuò)展層i,所以它有q>n個輸出,定義隨機(jī)映射函數(shù)g為
然后,可以從W(i)和W(i+1)計(jì)算新的參數(shù)集U(i)和U(i+1):
其中k=1,…,m,j=1,…,q,h=1,…,p;
從式(2),W(i)的前n列直接復(fù)制到U(i)中;U(i)的列n+1到q通過隨機(jī)選擇W(i)的列來創(chuàng)建,如g中所定義;隨機(jī)選擇通過替換來執(zhí)行,因此W(i)的每列可以被多次復(fù)制到U(i)的列n+1到q;
從式(3),類似地將W(i+1)的前n行簡單地直接復(fù)制到U(i+1)中,并且通過隨機(jī)選擇W(i+1)的行創(chuàng)建U(i+1)的行n+1到q,如g中所定義;此外,U(i+1)中的新參數(shù)被歸一化,以便考慮U(i+1)中的行的隨機(jī)復(fù)制;通過使用由給出的復(fù)制因子來推導(dǎo)新參數(shù)來計(jì)算歸一化。
進(jìn)一步地,所述的加深網(wǎng)絡(luò),它向母卷積神經(jīng)網(wǎng)絡(luò)添加了新的卷積層,從而產(chǎn)生更深的子卷積神經(jīng)網(wǎng)絡(luò);加深網(wǎng)絡(luò)用兩個層h(i)=φ(U(i)Tφ(W(i)Th(i-1)))替換層h(i)=φ(W(i)Th(i-1)),其中φ表示激活函數(shù),新參數(shù)矩陣U被指定為單位矩陣。
圖2是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的初始卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)圖。初始模型僅由兩個卷積層和一個完全連接的層組成;第一卷積層具有16個大小為6和步長2的濾波器,第二卷積層具有32個大小為5和步長2的濾波器;最后,完全連接的層具有400個隱藏單元。
圖3是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的加寬網(wǎng)絡(luò)操作示意圖。通過增加一個附加單元來增加隱藏層h(i)的大小,同時保持傳播到隱含層h(i+1)的激活不變。假設(shè)我們隨機(jī)選擇隱藏單元來復(fù)制,然后我們將其權(quán)重和復(fù)制到新的單元。從出去的權(quán)重必須被復(fù)制并且也從出來。該輸出權(quán)重也必須除以2以補(bǔ)償?shù)膹?fù)制。
圖4是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的加深網(wǎng)絡(luò)操作示意圖。當(dāng)我們應(yīng)用這個動作時,我們添加一個新的卷積層,并簡單地設(shè)置新的卷積過濾器為恒等函數(shù)。還添加零填充以維持激活的大小不變。
圖5是本發(fā)明一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的三維形狀分類方法的三維實(shí)體集。采用三維實(shí)體集作為數(shù)據(jù)集,其包括40個各種類型的實(shí)物對象類,如椅子、桌子、廁所、沙發(fā)等;每個類有100個獨(dú)特的CAD模型,代表最常見的三維形狀,在整個數(shù)據(jù)集中總共有151128個三維像素化模型。
對于本領(lǐng)域技術(shù)人員,本發(fā)明不限制于上述實(shí)施例的細(xì)節(jié),在不背離本發(fā)明的精神和范圍的情況下,能夠以其他具體形式實(shí)現(xiàn)本發(fā)明。此外,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍,這些改進(jìn)和變型也應(yīng)視為本發(fā)明的保護(hù)范圍。因此,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。