本發(fā)明涉及圖像處理領域,具體涉及到采用卷積受限玻爾茲曼機對同類但具有差異的目標形狀建模。
背景技術:
對圖像中的目標形狀建模,得到的形狀能夠完整地表達目標的輪廓,為后續(xù)的圖像分割、分類、目標檢測等任務打下基礎。如當把形狀應用到圖像分割領域時,由于形狀能表達出目標的輪廓,所以把形狀與目標對準之后,能夠很好的把目標從背景中割離出來,達到理想的分割結(jié)果。
受限玻爾茲曼機(rbm)是由smolensky提出的,是一個生成模型,該模型包含兩層結(jié)構,即可視層和隱層,這兩層之間節(jié)點是全連接的,同層的各節(jié)點之間是無連接的。由于該模型把輸入圖像拉成一維的向量作為輸入,忽略了圖像之間的二維結(jié)構信息,所以當用該模型來采樣生成形狀時,很容易忽略細節(jié),使采樣出的形狀比較模糊。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了一種基于卷積受限玻爾茲曼機的形狀建模方法、裝置及電子裝置,至少部分的解決現(xiàn)有技術中存在的問題。
第一方面,本發(fā)明實施例提供了一種基于卷積受限玻爾茲曼機的形狀建模方法,包括如下步驟:
在受限玻爾茲曼機的基礎上增加卷積屬性,得到卷積受限玻爾茲曼機的模型結(jié)構;
基于所述卷積受限玻爾茲曼機模型,得到所述卷積受限玻爾茲曼機模型的數(shù)學表達以及模型的訓練方式;
確定實驗所用模型的結(jié)構,用訓練集訓練模型,用該模型進行建模形狀的實驗。
根據(jù)本發(fā)明實施例的一種具體實現(xiàn)方式,所述方法還包括:
在用模型進行建模形狀之前,先確定模型的網(wǎng)絡結(jié)構,之后再訓練及測試網(wǎng)絡,其中,模型結(jié)構的確定,包括確定網(wǎng)絡的層數(shù)、卷積核的個數(shù)、每一層特征圖的個數(shù)。
根據(jù)本發(fā)明實施例的一種具體實現(xiàn)方式,所述方法還包括:
在模型結(jié)構確定后,選定訓練集來確定模型中參數(shù)的值,其中,訓練集和測試集從weizmannhorse數(shù)據(jù)集中選擇,該數(shù)據(jù)集中共有328幅圖像,將其中的200幅圖像用于訓練網(wǎng)絡,其余的128幅圖像用于測試。
根據(jù)本發(fā)明實施例的一種具體實現(xiàn)方式,所述方法還包括:
在模型訓練好后,用訓練集和測試集圖像分別來測試模型。
根據(jù)本發(fā)明實施例的一種具體實現(xiàn)方式,所述用訓練集和測試集圖像分別來測試模型,包括:
用訓練集和測試集中完整的圖像作為模型的輸入,來測試模型的表達能力和生成形狀的能力;
對訓練集和測試集中的圖像添加均勻噪聲和高斯噪聲干擾,以添加了噪聲的圖像作為模型輸入,以此來測試模型的抗噪能力。
第二方面,本發(fā)明實施例提供了一種基于卷積受限玻爾茲曼機的形狀建模裝置,包括:
增加模塊,用于在受限玻爾茲曼機的基礎上增加卷積屬性,得到卷積受限玻爾茲曼機的模型結(jié)構;
獲得模塊,用于基于所述卷積受限玻爾茲曼機的模型,得到所述卷積受限玻爾茲曼機的模型的數(shù)學表達以及模型的訓練方式;
確定模塊,用于確定實驗所用模型的結(jié)構,用訓練集訓練模型,用該模型進行建模形狀的實驗。
第三方面,本發(fā)明實施例提供了一種電子裝置,所述電子裝置包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的存儲器;其中,
所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行第一方面及其任一實現(xiàn)方式中所述的方法。
本發(fā)明的目的在于提出對圖像中的目標建立形狀模型的方法,并提出了通過深度學習方法建立形狀模型,用同類但姿態(tài)各異的目標訓練模型,通過該模型表達該類目標的概率分布,從而實現(xiàn)目標的多種形態(tài)表達,并可通過采樣生成形狀。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖;
圖1是rbm模型的網(wǎng)絡結(jié)構;
圖2是crbm模型的網(wǎng)絡結(jié)構;
圖3是crbm的具體構造過程;
圖4是rbm模型的采樣過程;
圖5是crbm模型的采樣過程;
圖6是仿真實驗的訓練樣本;
圖7是訓練集和測試集圖像作為輸入采樣得到的結(jié)果;
圖8是訓練集和測試集添加均勻噪聲圖像作為輸入采樣得到的結(jié)果;
圖9是訓練集和測試集添加高斯噪聲圖像作為輸入采樣得到的結(jié)果。
具體實施方式
下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。
應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的目的在于提出對圖像中的目標建立形狀模型的方法,并提出了通過深度學習方法建立形狀模型,用同類但姿態(tài)各異的目標訓練模型,通過該模型表達該類目標的概率分布,從而實現(xiàn)目標的多種形態(tài)表達和生成。
本發(fā)明提出的建模方法是一種基于卷積受限玻爾茲曼機的形狀建模方法,并與受限玻爾茲曼機建模形狀的方法進行對比。具體步驟為:首先,在受限玻爾茲曼機的基礎上,引入“卷積”的概念,給出卷積受限玻爾茲曼機的模型結(jié)構,同時還給出模型的特點;接著,給出該模型的數(shù)學表達以及模型的訓練方式、采樣方法;最后,確定實驗所用模型的結(jié)構,用訓練集訓練模型,用該模型進行建模形狀的實驗。
下面對各步驟做進一步的具體描述。
受限玻爾茲曼機rbm是一個兩層的無向圖模型,即具有一個可視層v和一個隱層h,層內(nèi)無連接,兩層之間是全連接的,rbm是一個生成模型,其網(wǎng)絡結(jié)構如附圖1所示。
假設附圖1的rbm網(wǎng)絡結(jié)構有n個可視節(jié)點和m個隱節(jié)點,其中每個可視節(jié)點只和m個隱節(jié)點相關,和其他可視節(jié)點是獨立的,即可視節(jié)點的狀態(tài)只受m個隱節(jié)點的影響,反之隱節(jié)點也是,只受n個可視節(jié)點的影響。無論是可視節(jié)點還是隱節(jié)點,每個節(jié)點的值代表了該節(jié)點當前的狀態(tài)。
對rbm來說,當圖像維度比較高或者圖像比較大時,模型的規(guī)模變的很大,訓練參數(shù)增多。而cnn的網(wǎng)絡機制讓這個模型很適合處理自然圖像,對輸入圖像的大小沒有要求,不論圖像大小,不會增加模型的規(guī)模,并且還提供了圖像的空間結(jié)構信息,更重要的是減少了要訓練的參數(shù)個數(shù)。為了解決rbm在圖像應用中存在的問題,把cnn引入rbm,提出卷積受限玻爾茲曼機crbm。
卷積受限玻爾茲曼機crbm在結(jié)構上與rbm相似,只有兩層結(jié)構,即輸入層v和隱層h,同時該模型仍然是生成模型。與rbm不同的是,crbm的輸入層是一幅圖像,模型的特點是局部感受野和權值共享,即隱層和輸入層是局部連接,權重在圖像的任何位置是共享的。模型結(jié)構如附圖2所示,為了方便,這里只是展示了隱層的一組。
在該模型中,假設輸入圖像大小為nv×nv,那么模型的輸入層由nv×nv大小的二維矩陣組成,隱層有k組,每組代表隱層的一個特征圖,是大小為nh×nh的二維矩陣,共有k×nh×nh個隱層單元。每一個組都與一個大小為nw×nw的卷積核相連(nw=nv-nh+1)。另外,所有的輸入層單元共享同一個偏置c,隱層的每一個組內(nèi)的所有單元共享同一個偏置bk,即隱層有k組,那么就對應有k個偏置。
附圖3表示了crbm模型的構造過程,即由v獲得h的過程。在該圖中,輸入是一個6×6大小的二維圖像,卷積核的大小是3×3,隱層有k個特征圖,不同顏色的線代表不同的卷積核,同種顏色的線代表的是同一個卷積核。以圖中藍色的線為例,藍色的線代表的是第k個卷積核,該卷積核從輸入圖像的左上角開始,與輸入圖像3×3大小的區(qū)域做卷積運算,得到第k個特征圖hk左上角第一個位置的值,然后該卷積核依次水平、豎直方向移動,與輸入圖像做卷積運算,不斷得到hk各個單元的值,直到輸入圖像的最后一個位置,如附圖3中右下角通過藍色線連接的hk的最后一個單元與輸入圖像最后一塊3×3大小的區(qū)域。通過這一過程可以得到隱層的一個組,從而構建出隱層h。
用向量v和h分別表示可視層單元和隱層單元的狀態(tài)向量,即v=(v1,v2,…,vn),h=(h1,h2,…,hm),其中vi表示第i個可視單元的狀態(tài),hj表示第j個隱單元的狀態(tài)。在這里,假設所有的可視單元和隱單元均為二值變量,即
其中θ={wij,ai,bj},i=1,2,...,n;j=1,2,...,m
參數(shù)說明:v——司視層單元的狀態(tài)向量;
h——隱層單元的狀態(tài)向量;
vi——可視層第i個單元的值;
ai——可視層第i個單元的偏置;
n——可視層單元的個數(shù);
hj——隱層第j個單元的值;
bj——隱層第j個單元的偏置;
m——隱層單元的個數(shù);
wij——可視層第i個單元與隱層第j個單元的連接權重。
根據(jù)能量函數(shù),可以得到(v,h)的聯(lián)合概率分布:
其中,z(θ)是歸一化常量。
由聯(lián)合概率分布可以得到邊緣概率分布:
由于rbm特殊的結(jié)構,即層內(nèi)無連接,層間全連接,隱單元的狀態(tài)之間是相互獨立的,其狀態(tài)只與可視層單元的狀態(tài)有關;相反的,可視層單元的狀態(tài)也是相互獨立的,只與隱層單元的狀態(tài)有關,所以可得邊緣概率分布為:
隱單元和可視單元的激活概率為:
其中
訓練rbm模型,就是要在給定輸入的情況下,確定該模型中的參數(shù)θ,從而擬合給定的訓練數(shù)據(jù),所用的算法是由hinton提出的cd算法,目前該算法已成為訓練rbm的標準算法。
在rbm中,可視單元數(shù)一般等于訓練數(shù)據(jù)的特征維數(shù),而隱單元數(shù)需要事先給定。
在定義模型的能量函數(shù)前,為了之后的敘述方便,在這里做一些假設以及符號說明。首先假設輸入的是二值的圖像,1代表目標,0代表背景。其次,*表示卷積,·表示兩個矩陣的的乘積,
定義模型的能量函數(shù):
其中
參數(shù)說明:k——有k個卷積核,也就是隱層h有k個特征圖;
nh——隱層h的每個特征圖的大?。?/p>
nw——每個卷積核的大?。?/p>
nv——輸入層v的大??;
vi+r-1,j+s-1——輸入層v的節(jié)點(i+r-1,j+s-1)的值;
bk——隱層h的第k個特征圖的偏置;
c——輸入層v的偏置。
用之前定義的符號表示能量函數(shù)為:
得到模型的聯(lián)合概率分布:
由聯(lián)合概率分布可以得到條件概率分布:
其中
訓練crbm模型,采用的是和rbm同樣的訓練算法——對比散度(cd)算法。訓練開始之前,要確定模型的結(jié)構、學習率等參數(shù)。
rbm模型訓練好后,也就是模型的參數(shù)確定了,就可以用來生成形狀。采用的方法是多步gibbs采樣,采樣的過程如附圖4所示。給定一個輸入圖像,即確定了模型可視層單元節(jié)點的狀態(tài),根據(jù)p(h|v)確定隱單元節(jié)點的狀態(tài),也就是附圖4中的“1”;當隱單元狀態(tài)確定后,根據(jù)p(v|h)確定可視層單元新的狀態(tài),也就是附圖4中的“2”;如此重復,不斷的進行步驟“1”和“2”,也就是附圖4中的“3”、“4”……“n”,直到收斂,然后由第n步就可以得到由rbm生成的形狀。
模型訓練好后,可用該模型生成形狀,采用的方法和rbm一樣,都是多步的gibbs采樣,過程如附圖5所示,圖中由第n步采樣得到的v就是由crbm生成的形狀。
實驗數(shù)據(jù)為weizimannhorse數(shù)據(jù)集,該數(shù)據(jù)集包括三種類型的圖像:彩色圖、灰度圖、二值圖,在該實驗中用的是該數(shù)據(jù)集中的二值圖,選擇200幅圖像作為訓練集,128幅作為測試集,并且把所有圖像都歸一化到32*32大小,訓練集中的圖像如附圖6所示。由附圖6可以看出,訓練集中的馬形態(tài)各異,馬的頭都是朝向一個方向。
下面結(jié)合附圖表和實施例對本發(fā)明進一步說明。
實驗環(huán)境為win10系統(tǒng)下安裝的matlabr2014a,電腦配置為intel(r)xeon(r)cpuf5-2690,2.66hz,2566bram。在該實驗中,crbm的參數(shù)設置如下:卷積核的大小nw為3,個數(shù)k為20,學習率為0.05,迭代次數(shù)為1000。rbm的參數(shù)設置為:可視層和隱層的單元個數(shù)分別為1024和500,學習率為0.05,迭代次數(shù)為1000。
本發(fā)明提出的模型crbm與rbm在同一個數(shù)據(jù)集上訓練,crbm的訓練時間是503.54s,rbm的訓練時間是245.54s。
訓練集和測試集完整的圖像作為輸入。從兩個模型中采樣得的結(jié)果如附圖7所示。
附圖7分別展示了訓練集和測試集中的五幅圖像。附圖7的(a)和(b)分別是訓練集圖像和測試集圖像作為輸入,從rbm和crbm中采樣得到形狀,其中(a)列是輸入圖像,(b)列是rbm的采樣生成形狀的結(jié)果,(c)列是crbm生成形狀的結(jié)果。從附圖7的結(jié)果圖中可以直觀地看到,crbm的形狀生成效果比rbm的要真實,更符合實際,rbm模型生成的形狀比較模糊,很容易缺失細節(jié),如馬腿,而crbm則很好地保留了馬的細節(jié)信息,重構出來的馬與輸入比較相近。為了定量表達二者的差異,采用歐氏距離這一指標來衡量生成形狀與原始圖像的差異,對于訓練集來說,rbm采樣生成的形狀的平均歐氏距離是7.6826,crbm模型生成形狀的平均歐氏距離是3.8946;對于測試集來說,rbm采樣生成的形狀的平均歐氏距離是8.3314,crbm模型生成形狀的平均歐氏距離是4.5842。
訓練集和測試集圖像添加10%的服從(0,1)分布的均勻噪聲作為輸入。得到的結(jié)果如附圖8所示。
附圖8展示的只是訓練集和測試集中的五幅圖像。附圖8中(a)和(b)分別表示訓練集和測試集中的圖像添加噪聲之后的采樣生成形狀的結(jié)果,其中(a)列表示的是原始的未添加噪聲的圖像,(b)列表示的是對(a)列中的圖像添加噪聲,(c)列和(d)列分別表示的是rbm和crbm采樣生成形狀的結(jié)果圖。從附圖8中可以直觀的看出,無論是訓練集還是測試集中的圖像,這兩個模型都能有效的去除噪聲的影響,但rbm生成的形狀模糊,并且丟失了馬的許多信息,比如腿、尾巴,而crbm則較好的保留了馬的信息。
對于訓練集,rbm采樣生成的形狀的平均歐氏距離是7.9422,crbm模型生成形狀的平均歐氏距離是5.3751;對于測試集,rbm采樣生成的形狀的平均歐氏距離是8.4669,crbm模型生成形狀的平均歐氏距離是5.9178。在有噪聲干擾的情況下,無論是訓練集還是測試集,二者生成形狀的時間相差不多,但歐氏距離度量值表明crbm模型生成的形狀與原始目標更相近,建模形狀的效果更好。
訓練集和測試集圖像添加均值為0、方差為0.04的高斯噪聲作為輸入。得到的結(jié)果如附圖9所示。
附圖9只是展示了訓練集和測試集中的五幅圖像。附圖9中(a)和(b)分別表示訓練集和測試集中的圖像添加噪聲之后的采樣生成形狀的結(jié)果,其中(a)列表示的是原始的未添加噪聲的圖像,(b)列表示的是對(a)列中的圖像添加噪聲,(c)列和(d)列分別表示的是rbm和crbm采樣生成形狀的結(jié)果圖。從附圖9中可以直觀的看出,無論是訓練集還是測試集中的圖像,這兩個模型都能有效的去除噪聲影響,但是crbm生成的形狀比rbm清晰,幾乎沒有丟失馬的信息。
對于訓練集,rbm采樣生成的形狀的平均歐氏距離是8.0513,crbm模型生成形狀的平均歐氏距離是4.5100;對于測試集,rbm采樣生成的形狀的平均歐氏距離是8.6654,crbm模型生成形狀的平均歐氏距離是4.9574。歐氏距離度量值表明crbm建模形狀的效果比較好。
需要說明的是,在本發(fā)明中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者裝置中還存在另外的相同要素。
本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。
尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用。就本說明書而言,″計算機可讀介質(zhì)″可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(ram),只讀存儲器(rom),可擦除可編輯只讀存儲器(eprom或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(cdrom)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。
在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。