本發(fā)明涉及圖像處理、模式識別、深度學習領(lǐng)域,特別是涉及一種基于gabor特征具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物分類方法。
背景技術(shù):
在整個計算機視覺架構(gòu)中,物體分類扮演著非常重要的角色,它是視頻跟蹤和場景描述的基礎(chǔ)。比如在場景描述任務中,首先要知道圖像中有什么物體,才能進行后續(xù)的物體行為分析和圖像場景描述。其中分析圖像中有什么物體就屬于物體分類和識別的范疇。
隨著機器學習和人工智能的發(fā)展,計算機擁有了越來越強的物體分類能力,雖然物體分類在近幾年已經(jīng)有了快速的發(fā)展,但是物體分類仍然是一個具有挑戰(zhàn)性的課題,具體的原因如下:
1、外界環(huán)境多樣性:對于同樣一個物體,由于在圖像拍攝過程中的不同光照、不同距離、不同拍攝角度以及其他物體不同程度的遮擋影響,所拍得的圖片具有多樣性,由此增加了計算機物體分類的難度。
2、類別復雜性:類別復雜度來自于兩個方面。一是類內(nèi)之間的差別大,對于同一類物體,比如椅子,不同的椅子可能具有不同的形狀和大小,這樣會增大識別難度。二是類間的差距小,比如狗與狼,雖然屬于兩個不同的種類,但是它們在外觀表現(xiàn)上卻非常相似。
3、語義多樣性:對于同一張圖,即便用人眼來看,不同的人的語義理解也不盡相同,對于計算機也是如此。
物體分類在過去五十年已經(jīng)有了快速的發(fā)展,目前主要有兩種物體分類算法,一種是基于人工特征的物體分類算法,另外一種是基于深度學習的物體分類算法。
其中基于人工特征的物體分類算法是指首先人工提取出原始圖像中的底層特征,常見的底層特征提取方法有興趣點檢測和密集的局部特征提取。興趣點檢測能夠很好地檢測出原始圖像中的一些邊緣點、紋理性顯著的點、角點、區(qū)塊點,這種檢測算法開銷相對而言較小,并且能夠提取到具有幾何不變性的特征點,常見的基于興趣點檢測的算子有fast算子、harris角點檢測算子、log算子等。
然而近幾年采用更多的是密集的局部特征提取,按照固定的步長和尺度,用密集提取的方式對原始圖像提取大量的局部特征,如sift特征、hog特征、lbp特征,其識別率會高于基于興趣點檢測的物體識別算法。提取完底層特征之后,由于密集提取的底層特征具有很大的冗余性,為了消去這些冗余,常常會利用特征編碼技術(shù),以便找出更加具有區(qū)分性的底層特征。常用的特征編碼技術(shù)有向量量化編碼、稀疏編碼、核詞典編碼、局部線性約束編碼、顯著性編碼、fisher向量編碼以及超向量編碼等。特征編碼后,利用壓縮后的特征向量集對原始圖像進行表達,生成特征向量直方圖表達,直方圖的橫坐標表示特征向量集的數(shù)目,縱坐標表示對應特征向量出現(xiàn)的頻率,這種方式可以把原始圖像的二維特征表達降為一維的特征向量直方圖表達,有效降低了存儲空間。得到特征向量直方圖之后,再利用支持向量機等分類器對原始圖像進行分類,最終識別圖像。然而這種方法存在泛化性差、魯棒性低、局部依賴性強、實現(xiàn)困難、識別率低等缺點。
另外一種方案是基于深度學習模型的物體識別算法,它通過層次化的網(wǎng)絡(luò)結(jié)構(gòu)自主學習數(shù)據(jù)集底層到高層的特征,并利用softmax等分類器進行分類。典型的深度學習模型有卷積神經(jīng)網(wǎng)絡(luò)(cnn)、深度置信網(wǎng)絡(luò)(dbn)、自編碼器(auto-encoder)和限制玻爾茲曼機(rbm)。當下流行的深度學習神經(jīng)網(wǎng)絡(luò)對物體識別都有這樣的缺點,包括網(wǎng)絡(luò)的訓練速度慢,不易收斂等。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點與不足,一種基于gabor特征具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物分類方法,該方法利用了具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)在物體分類中的優(yōu)勢,通過加入人工提取的gabor特征來加強網(wǎng)絡(luò)對紋理信息的學習,達到對動物圖片進行精準分類的目的。
本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):一種基于gabor特征具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物分類方法,首先通過單一擴展規(guī)則的重復應用生成一個極深的網(wǎng)絡(luò)(fractalnet),然后通過從imagenet數(shù)據(jù)集中獲取一定數(shù)量種類的動物圖片,進行g(shù)abor特征提取以及歸一化等預處理,得到gabor特征偽彩圖之后,利用gabor特征偽彩圖作為網(wǎng)絡(luò)輸入,然后通過監(jiān)督學習的方法訓練fractalnet網(wǎng)絡(luò)模型,最后進行動物圖片的測試分類。
本發(fā)明的工作過程:
一種基于gabor特征具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物分類方法,其特征在于:對輸入圖像進行0°、45°、90°三個方向的gabor濾波,并且將這三個方向的gabor特征圖合并成一張三通道的gabor特征偽彩圖,以得到的gabor特征偽彩圖作為分形結(jié)構(gòu)網(wǎng)絡(luò)的輸入進行訓練網(wǎng)絡(luò)。具體包括如下步驟:
s1、下載訓練動物圖像數(shù)據(jù)集;
s2、對步驟s1數(shù)據(jù)集中的圖像進行g(shù)abor特征提取,以及對數(shù)據(jù)集中的圖像進行0°、45°、90°三個方向的gabor濾波;
s3、對步驟s2獲得的gabor特征圖合并成三通道的特征偽彩圖;
s4、對步驟s3中g(shù)abor特征偽彩圖進行圖像預處理;
s5、訓練fractalnet網(wǎng)絡(luò)模型,采用了單一擴展規(guī)則的重復應用生成一個極深網(wǎng)絡(luò);
s6、用同樣經(jīng)過gabor濾波生成的gabor特征偽彩圖測試圖像對步驟s4訓練好的網(wǎng)絡(luò)模型進行測試。
優(yōu)選的,步驟s1中下載數(shù)據(jù)集:分別從http://www.image-net.org、http://mscoco.org這兩個網(wǎng)站下載imagenet;imagenet數(shù)據(jù)集分為訓練圖像集和測試圖像集,訓練集含有1000個類別的圖片,每個類別1300張,測試集含50000張圖片;ms-coco數(shù)據(jù)集(提供訓練和測試網(wǎng)絡(luò)的圖片)分為訓練圖像集合測試圖像集,訓練圖像集包含82783張圖片,測試圖像集包含40504張圖片。
優(yōu)選的,步驟s2中圖像gabor特征提取具體過程:
gabor濾波器能夠很好地提取圖像的邊緣和頻率信息,很適合做紋理分離和表達;gabor濾波器可以被定義成一個高斯函數(shù)和一個正弦函數(shù)的乘積,gabor濾波器的數(shù)學表達如下面公式(1-1):
其中,x′=xcosθ+ysinθ,y′=-xcosθ+ysinθ
各個參數(shù)的具體含義以及常用的參數(shù)配置如下面所述:
x和y:為空間域像素的位置;
標準方差σ:高斯函數(shù)沿兩個坐標軸的標準方差;
相位偏移
波長λ:該參數(shù)的設(shè)置和濾波器的輸入頻率有關(guān),一般來說,它的取值要大于等于2,且小于原始圖像的五分之一;
方向θ:gabor具有方向性,這個參數(shù)指定了gabor條紋的方向,取值范圍是0°到360°;
長寬比γ:長寬比γ決定了gabor濾波器形狀的橢圓度,它的取值小于等于1,等于1時,gabor濾波器是一個圓形;
其中步驟s2中方向θ為0°、45°、90°,將圖像數(shù)據(jù)集對以上的三個方向進行g(shù)abor濾波,提取這三個方向的gabor特征圖。
優(yōu)選的,所述步驟s3中合并成三通道的gabor特征偽彩圖,將步驟s2獲得的0°、45°、90°三個方向的gabor特征圖進行簡單的線性疊加合并成三通道的gabor特征偽彩圖(即將每個通道的值認為是一個rgb的像素值)。
優(yōu)選的,所述的步驟s4中的預處理方法,對于imagenet數(shù)據(jù)集上獲得的每一張圖像,將步驟s2和s3的gabor特征提取后獲得的gabor特征偽彩圖縮放到32×32大小。
優(yōu)選的,所述的步驟s5中訓練fractlnet網(wǎng)絡(luò)模型的采用單一擴展規(guī)則的重復應用生成一個極深的網(wǎng)絡(luò),其結(jié)構(gòu)布局正是一個截斷的分形;網(wǎng)絡(luò)包含長度不同的相互作用子路徑,但不包含任何直通式連接,每個內(nèi)部信號在被下一層看見之前,都被一個過濾器和非線性部件變換過了;
其中所述的使用路徑舍棄方法正則化分形架構(gòu)里子路徑的協(xié)同適應。通過這樣的正則化,使得分形網(wǎng)絡(luò)獲得一種性質(zhì):淺層子網(wǎng)絡(luò)給出快捷的答案,而深度子網(wǎng)絡(luò)(有較多延遲)給出更精準的答案;
兩種不同的規(guī)則產(chǎn)生的分形架構(gòu):
1、簡單的擴展規(guī)則生成分形架構(gòu);基礎(chǔ)情形f1(z)包含輸入輸出之間單個選定類型的層;連接層計算了逐元素平均;
2、深度卷積網(wǎng)絡(luò)周期性地通過匯集來降低空間分辨率;分形版本使用fc(·),其中·為信號的輸入,作為匯集層之間的建構(gòu)單元;把b個這樣的塊堆起來就得到一個網(wǎng)絡(luò),其總深度是b·2c-1(通過卷積層衡量)。
優(yōu)選的,訓練fractlnet網(wǎng)絡(luò)模型的具體過程為:
令c表示截斷分形fc(·)的指標,網(wǎng)絡(luò)結(jié)構(gòu)、連接以及層類型,通過fc(·)定義;包含單個卷積層的網(wǎng)絡(luò)是基礎(chǔ)情形如公式(1-2):
f1(z)=conv(z)(1-2)
遞歸定義接下來的分形如公式(1-3):
優(yōu)選的,路徑舍棄的新正則化規(guī)則:dropout和drop-connect通過修改網(wǎng)絡(luò)層序列之間的相互作用來減弱共同適應(co-adaptation);由于分形網(wǎng)絡(luò)包含額外的大尺度結(jié)構(gòu),提出使用一種類似的粗粒度正則化策略來輔助這些技術(shù);
dropout禁止了活化的共同適應,路徑舍棄通過隨機丟棄連接層的操作數(shù)來禁止平行路徑的共同適應;這種方式有效防止了網(wǎng)絡(luò)使用一個路徑作為錨標,另一個路徑作為修正而可能引起的過擬合行為;采用兩個采樣策略:
局部:連接層以固定幾率舍棄每個輸入,但保證至少一個輸入保留;
全局:每條路徑是為了整個網(wǎng)絡(luò)選出的,限制這條路徑是單列的,激勵每列成為有力的預測器。
優(yōu)選的,步驟s6根據(jù)訓練好模型測試圖像:根據(jù)前面步驟s1、s2、s3、s4和s5等步驟訓練好的網(wǎng)絡(luò),使用經(jīng)過步驟s2和s3處理的測試gabor特征偽彩圖進行測試。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
1、傳統(tǒng)的圖像分類方法存在泛化性差、魯棒性低、局部依賴性強、實現(xiàn)困難、識別率低等缺點,而使用神經(jīng)網(wǎng)絡(luò)對動物圖像進行識別具有更強的魯棒性和泛化能力,并克服了傳統(tǒng)圖像理解方法局部依賴性強、實現(xiàn)困難等缺點。
2、已有的神經(jīng)網(wǎng)絡(luò)對于物體分類,只能夠提取到一些通用的特征點,比如邊緣點和亮度變化很明顯的點,無法對數(shù)據(jù)集進行更本質(zhì)的刻畫?;趃abor特征的具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物圖像分類算法,通過加入gabor特征來加強網(wǎng)絡(luò)對紋理信息的學習,提高物體分類準確率。
3、本發(fā)明極深網(wǎng)絡(luò)開發(fā)了一種路徑舍棄的新正則化規(guī)則。無需數(shù)據(jù)增強,通過dropout和路徑舍棄訓練的分形網(wǎng)絡(luò)遠遠超過了之前神經(jīng)網(wǎng)絡(luò)的性能。
附圖說明
圖1為本發(fā)明的一種基于gabor特征具有分形結(jié)構(gòu)的極深神經(jīng)網(wǎng)絡(luò)的動物分類方法的具體流程圖;
圖2為本發(fā)明實施例的簡單的擴展規(guī)則生成分形架構(gòu);
圖3為本發(fā)明實施例的深度卷積網(wǎng)絡(luò)架構(gòu)。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
首先通過單一擴展規(guī)則的重復應用生成一個極深的網(wǎng)絡(luò)(fractalnet),然后通過從imagenet數(shù)據(jù)集中獲取一定數(shù)量種類的動物圖片,進行g(shù)abor特征提取以及歸一化等預處理,得到gabor特征偽彩圖之后,利用gabor特征偽彩圖作為網(wǎng)絡(luò)輸入,然后通過監(jiān)督學習的方法訓練fractalnet網(wǎng)絡(luò)模型,最后進行動物圖片的測試分類。
圖1為本發(fā)明的整體流程圖,包括如下步驟:
(1)下載訓練數(shù)據(jù)集:分別從http://www.image-net.org、http://mscoco.org這兩個網(wǎng)站下載imagenet。imagenet數(shù)據(jù)集分為訓練圖像集和測試圖像集,訓練集含有1000個類別的圖片,每個類別1300張,測試集含50000張圖片;ms-coco數(shù)據(jù)集分為訓練圖像集合測試圖像集,訓練圖像集包含82783張圖片,測試圖像集包含40504張圖片。
(2)圖像gabor特征提?。?/p>
gabor濾波器能夠很好地提取圖像的邊緣和頻率信息,很適合做紋理分離和表達。
gabor濾波器可以被定義成一個高斯函數(shù)和一個正弦函數(shù)的乘積,gabor濾波器的數(shù)學表達如下面公式(1-1):
其中,x′=xcosθ+ysinθ,y′=-xcosθ+ysinθ
各個參數(shù)的具體含義以及常用的參數(shù)配置如下面所述:
波長λ:該參數(shù)的設(shè)置和濾波器的輸入頻率有關(guān),一般來說,它的取值要大于等于2,且小于原始圖像的五分之一。
方向θ:gabor具有方向性,這個參數(shù)指定了gabor條紋的方向,取值范圍是0°到360°。
長寬比γ:長寬比γ決定了gabor濾波器形狀的橢圓度,它的取值小于等于1,等于1時,gabor濾波器是一個圓形。
所述步驟(2)中根據(jù)gabor濾波原理分別對方向為0°、45°、90°三個方向進行g(shù)abor濾波。
(3)合并成三通道的gabor特征偽彩圖:將步驟(2)獲得的0°、45°、90°三個方向的gabor灰度特征圖進行簡單的線性疊加合并成三通道的gabor特征偽彩圖。
(4)對圖像的預處理方法:
對于imagenet數(shù)據(jù)集上獲得的每一張圖像,進行了步驟(2)和(3)的gabor特征提取后獲得的gabor特征偽彩圖縮放到32×32大小。
(5)訓練fractalnet網(wǎng)絡(luò)模型:
通過單一擴展規(guī)則的重復應用生成一個極深的網(wǎng)絡(luò),其結(jié)構(gòu)布局正是一個截斷的分形。網(wǎng)絡(luò)包含長度不同的相互作用子路徑,但不包含任何直通式連接:每個內(nèi)部信號在被下一層看見之前,都被一個過濾器和非線性部件變換過了。
使用路徑舍棄方法正則化分形架構(gòu)里子路徑的協(xié)同適應。通過這樣的正則化,使得分形網(wǎng)絡(luò)獲得一種性質(zhì):淺層子網(wǎng)絡(luò)給出快捷的答案,而深度子網(wǎng)絡(luò)(有較多延遲)給出更精準的答案。
兩種不同的規(guī)則產(chǎn)生分形架構(gòu):
1、簡單的擴展規(guī)則生成分形架構(gòu)。具體如圖2所示,基礎(chǔ)情形f1(z)包含輸入輸出之間單個選定類型的層。連接層計算了逐元素平均;
2、深度卷積網(wǎng)絡(luò)周期性地通過匯集來降低空間分辨率。具體如圖3所示,分形版本使用fc(·)作為匯集層之間的建構(gòu)單元。把b個這樣的塊堆起來就得到一個網(wǎng)絡(luò),其總深度是b·2c-1(通過卷積層衡量)。
令c表示截斷分形fc(·)的指標,網(wǎng)絡(luò)結(jié)構(gòu)、連接以及層類型,通過fc(·)定義;包含單個卷積層的網(wǎng)絡(luò)是基礎(chǔ)情形如公式(1-2):
f1(z)=conv(z)(1-2)
遞歸定義接下來的分形如公式(1-3):
連接操作
連接層行為的幾種選擇看起來都是合理的,包括拼接和加法;把每個連接實例化,計算其輸入的逐元素平均;這對于卷積網(wǎng)絡(luò)是恰當?shù)?,在那里通道?shù)對一個分形塊里的所有conv層是相同的。
路徑舍棄的新正則化規(guī)則:dropout和drop-connect通過修改網(wǎng)絡(luò)層序列之間的相互作用來減弱共同適應(co-adaptation)。由于分形網(wǎng)絡(luò)包含額外的大尺度結(jié)構(gòu),提出使用一種類似的粗粒度正則化策略來輔助這些技術(shù)。
dropout禁止了活化的共同適應,路徑舍棄通過隨機丟棄連接層的操作數(shù)來禁止平行路徑的共同適應。這壓制了網(wǎng)絡(luò)使用一個路徑作為錨標,用另一個作為修正(這可能導致過擬合)的行為。兩個采樣策略:
局部:連接層以固定幾率舍棄每個輸入,但保證至少一個輸入保留。
全局:每條路徑是為了整個網(wǎng)絡(luò)選出的。限制這條路徑是單列的,激勵每列成為有力的預測器。
(6)根據(jù)訓練好模型測試圖像:根據(jù)前面步驟(1)、(2)、(3)、(4)和(5)等步驟訓練好的網(wǎng)絡(luò)使用經(jīng)過步驟(2)和(3)處理的測試gabor特征偽彩圖進行測試。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。