本發(fā)明涉及計(jì)算機(jī)視覺(jué)與數(shù)字圖像處理領(lǐng)域,特別是涉及一種基于對(duì)抗網(wǎng)絡(luò)的圖像顯著性檢測(cè)方法。
背景技術(shù):
顯著性預(yù)測(cè),是一種預(yù)測(cè)靜態(tài)自然圖像中人眼注視位置的過(guò)程。圖像顯著性預(yù)測(cè)的結(jié)果被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域,包括自動(dòng)圖像分割、目標(biāo)識(shí)別、高效圖像縮略和圖像檢索等,是很重要的圖像預(yù)處理步驟。傳統(tǒng)的手動(dòng)選取特征的方法大致可以分成三個(gè)步驟:前期特征提取,特征差異推斷,以及特征差異結(jié)合。顯著性預(yù)測(cè)是一種自底向上的方法,受到最低層的特征所驅(qū)使。而隨著大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)驅(qū)動(dòng)的學(xué)習(xí)方法越來(lái)越多地出現(xiàn)在人們視野中。深度學(xué)習(xí)的方法也一再刷新各領(lǐng)域最高紀(jì)錄。
目前對(duì)抗訓(xùn)練主要用于生成對(duì)抗網(wǎng)絡(luò),其中包含生成器和鑒別器。生成器用來(lái)產(chǎn)生對(duì)抗樣本,鑒別器同時(shí)使用原樣本和對(duì)抗樣本來(lái)進(jìn)行訓(xùn)練,生成器是將原樣本進(jìn)行混合生成的新樣本。生成器也不斷改進(jìn)生成方法,最終目的是生成鑒別器不能正確識(shí)別的對(duì)抗樣本。這個(gè)方法可用于生成類似自然圖像,在人臉圖像和房間圖像中均有應(yīng)用,可節(jié)約成本。
對(duì)抗訓(xùn)練最早出現(xiàn)是為了解決深度學(xué)習(xí)對(duì)于對(duì)抗樣本的脆弱性。后來(lái)對(duì)抗訓(xùn)練被證明具有正則化的效果。將對(duì)抗訓(xùn)練用于生成卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)圖像顯著性是亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的就是為解決利用對(duì)抗訓(xùn)練生成卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)圖像顯著性的方法問(wèn)題。
本發(fā)明的技術(shù)問(wèn)題通過(guò)以下的技術(shù)方案予以解決:
一種利用對(duì)抗訓(xùn)練的圖像顯著性檢驗(yàn)方法,包括:
A1:數(shù)據(jù)預(yù)處理:對(duì)收集到的圖像及標(biāo)簽進(jìn)行預(yù)處理,得到圖像數(shù)據(jù);
A2:設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)及具體核函數(shù);
A3:選取合適的參數(shù);
A4:使用對(duì)抗訓(xùn)練來(lái)減小卷積神經(jīng)網(wǎng)絡(luò)模型過(guò)擬合的可能性,得到訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型;
A5:將所述圖像數(shù)據(jù)輸入到所述訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型后,得到顯著圖。
根據(jù)本發(fā)明的另一個(gè)具體方面,A1中的數(shù)據(jù)預(yù)處理是指將輸入的介于0-255之間的圖像的初始像素值除以255,從而得到0-1之間的圖像數(shù)據(jù);然后將圖像數(shù)據(jù)進(jìn)行下采樣至圖像原始高度及原始寬度的一半大小。
根據(jù)本發(fā)明的另一個(gè)具體方面,A2中卷積神經(jīng)網(wǎng)絡(luò)模型CNN包含9層,其中8個(gè)卷積層、1個(gè)反卷積層;在每個(gè)所述卷積層中設(shè)置卷積層的卷積核大小和卷積步長(zhǎng),設(shè)置卷積神經(jīng)網(wǎng)絡(luò)模型的過(guò)程是最小化預(yù)測(cè)顯著圖與真值之間歐氏距離的損失函數(shù)的過(guò)程。
根據(jù)本發(fā)明的另一個(gè)具體方面,所述卷積是所述卷積核對(duì)所述圖像數(shù)據(jù)進(jìn)行操作的簡(jiǎn)稱,所述卷積步長(zhǎng)是所述卷積核在對(duì)所述圖像數(shù)據(jù)進(jìn)行操作的時(shí)候?qū)υ紙D像數(shù)據(jù)做卷積時(shí)候滑動(dòng)像素的大?。皇褂镁矸e步長(zhǎng)為2的卷積實(shí)現(xiàn)降低圖像分辨率,有效控制擬合。
根據(jù)本發(fā)明的另一個(gè)具體方面,所述顯著圖是指由輸入原始圖像數(shù)據(jù)經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型后得到的矩陣,所述真值為相對(duì)應(yīng)于原始圖像數(shù)據(jù)的標(biāo)簽,所述顯著圖中每個(gè)像素點(diǎn)都具有各自的值。
根據(jù)本發(fā)明的另一個(gè)具體方面,每層采用ReLU函數(shù)作為激活函數(shù)。
根據(jù)本發(fā)明的另一個(gè)具體方面,進(jìn)行權(quán)重衰減限制搜尋范圍,反復(fù)進(jìn)行權(quán)重衰減逐漸縮小搜索范圍,最終找到全局最優(yōu)解對(duì)應(yīng)的點(diǎn),卷積神經(jīng)網(wǎng)絡(luò)模型收斂,其中每次衰減后搜尋點(diǎn)更加靠近最優(yōu)點(diǎn)所在的區(qū)域范圍。
根據(jù)本發(fā)明的另一個(gè)具體方面,所述對(duì)抗訓(xùn)練是指將正常樣本和對(duì)抗樣本同時(shí)作用于卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練;所述對(duì)抗樣本是指在正常樣本上加線性擾動(dòng)得到的樣本,所述對(duì)抗訓(xùn)練能夠增強(qiáng)卷積神經(jīng)網(wǎng)絡(luò)模型的正則化,從而提高預(yù)測(cè)準(zhǔn)確率。
根據(jù)本發(fā)明的另一個(gè)具體方面,所述線性擾動(dòng)指由目標(biāo)函數(shù)對(duì)原始圖像求梯度所得到的矩陣,所述矩陣在長(zhǎng)、寬、通道數(shù)方面和原始圖像矩陣在長(zhǎng)、寬、通道數(shù)方面大小相同。
根據(jù)本發(fā)明的另一個(gè)具體方面,采用線性擾動(dòng)的方式生成所述對(duì)抗樣本,而所述對(duì)抗訓(xùn)練體現(xiàn)在對(duì)應(yīng)損失函數(shù)的不斷更新:
其中:η為得到的擾動(dòng),y為網(wǎng)絡(luò)輸出,σ為正極小量,sign為取大于零的值,為求目標(biāo)函數(shù)對(duì)于輸入圖像x的梯度,α為控制對(duì)抗訓(xùn)練的小于1的參數(shù)。
本發(fā)明與現(xiàn)有技術(shù)對(duì)比的有益效果是:
在本發(fā)明中針對(duì)顯著性預(yù)測(cè)這個(gè)特定問(wèn)題,卷積神經(jīng)網(wǎng)絡(luò)要實(shí)現(xiàn)的是一個(gè)回歸問(wèn)題,使得生成的顯著圖中每個(gè)像素點(diǎn)都有各自的值,利用對(duì)抗訓(xùn)練的泛化能力來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)正則化,從而提高預(yù)測(cè)過(guò)程準(zhǔn)確率。
附圖說(shuō)明
圖1是本發(fā)明方法的流程圖
具體實(shí)施方式
本發(fā)明使用對(duì)抗訓(xùn)練對(duì)卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)正則化的功能,從而提高了使用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)時(shí)的準(zhǔn)確率。針對(duì)具體問(wèn)題——顯著性預(yù)測(cè),本發(fā)明提出一種基于數(shù)據(jù)驅(qū)動(dòng)的回歸方法。學(xué)習(xí)過(guò)程可以被描述為最小化顯著圖與真值之間歐氏距離的代價(jià)函數(shù)。為了避免取到局部極小值,本發(fā)明使用較小的批大小—2,雖然收斂較慢,但效果更好。訓(xùn)練過(guò)程中使用隨機(jī)梯度下降法和沖量單元相結(jié)合的方式,有助于訓(xùn)練過(guò)程中逃離局部最小值,使網(wǎng)絡(luò)能夠更快速地收斂。學(xué)習(xí)速率逐漸降低,保證在尋找最小值的過(guò)程中不過(guò)步幅過(guò)大而跳過(guò)最優(yōu)解。
如圖1所示,本發(fā)明所提出的一種利用對(duì)抗訓(xùn)練來(lái)生成卷積神經(jīng)網(wǎng)絡(luò)模型的圖像顯著性檢驗(yàn)方法,所述方法如下:
A1:數(shù)據(jù)預(yù)處理:由于深度學(xué)習(xí)是數(shù)據(jù)驅(qū)動(dòng)的方法,故在收集到大量數(shù)據(jù)及標(biāo)簽的基礎(chǔ)上最重要的就是將它們進(jìn)行預(yù)處理為輸入網(wǎng)絡(luò)做好準(zhǔn)備;
A2:網(wǎng)絡(luò)結(jié)構(gòu):所設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)包含9層,其中8個(gè)卷積層、1個(gè)反卷積層。在卷積層中使用步長(zhǎng)為2的卷積從而使得圖像分辨率下降。該學(xué)習(xí)過(guò)程被描述為最小化預(yù)測(cè)顯著圖與真值之間歐氏距離的損失函數(shù)的過(guò)程;
A3:選取合適的參數(shù),包括學(xué)習(xí)速率、動(dòng)量因子及每次塞入網(wǎng)絡(luò)的圖像數(shù)目。顯著圖中像素點(diǎn)的大小屬于0到1之間,故屬于回歸問(wèn)題而非分類問(wèn)題;
A4:使用隨機(jī)梯度下降法(SGD)+沖量單元進(jìn)行訓(xùn)練,從而尋找到全局最小值。使用對(duì)抗訓(xùn)練(生成對(duì)抗樣本,并使用對(duì)抗樣本來(lái)訓(xùn)練網(wǎng)絡(luò))來(lái)減小網(wǎng)絡(luò)過(guò)擬合的可能性。沒(méi)有使用全連接層。
A5:將所述圖像數(shù)據(jù)輸入到所述訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型后,得到顯著圖。
在具體的實(shí)施方案中,可按下面方式操作。
A1:對(duì)訓(xùn)練集圖像進(jìn)行預(yù)處理,每幅圖像的像素值分別除以255,得到像素值0-1之間的圖像。然后對(duì)圖像進(jìn)行下采樣,生成寬和高分別減半的圖像。數(shù)據(jù)集是顯著性預(yù)測(cè)領(lǐng)域近年來(lái)應(yīng)用廣泛的SALICON和iSUN。SALICON是根據(jù)鼠標(biāo)點(diǎn)擊來(lái)獲取的真值,而iSUN則是通過(guò)眾包的方式得到的真值;
A2:由于該卷積神經(jīng)網(wǎng)絡(luò)層數(shù)比較多,為了節(jié)約內(nèi)存和控制過(guò)擬合,前兩層卷積都設(shè)為步長(zhǎng)為2,即隔一個(gè)像素點(diǎn)進(jìn)行一次卷積,而所采用的卷積核大小都大于3,故實(shí)際上并不會(huì)造成信息損失。
在每個(gè)所述卷積層中設(shè)置卷積層的卷積核大小和卷積步長(zhǎng),設(shè)置卷積神經(jīng)網(wǎng)絡(luò)模型的過(guò)程是最小化預(yù)測(cè)顯著圖與真值之間歐氏距離的損失函數(shù)的過(guò)程。
所述卷積是所述卷積核對(duì)對(duì)所述圖像數(shù)據(jù)進(jìn)行操作的簡(jiǎn)稱,所述卷積步長(zhǎng)是所述卷積核在對(duì)所述圖像數(shù)據(jù)進(jìn)行操作的時(shí)候?qū)υ紙D像數(shù)據(jù)做卷積時(shí)候滑動(dòng)像素的大小;
所述顯著圖是指由輸入原始圖像數(shù)據(jù)經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型后得到的矩陣,所述真值為相對(duì)應(yīng)于原始圖像數(shù)據(jù)的標(biāo)簽,所述顯著圖中每個(gè)像素點(diǎn)都具有各自的值。
每層采用ReLU(Rectified Linear Units,調(diào)整線性單元)函數(shù)作為激活函數(shù)。
A3:深度學(xué)習(xí)函數(shù)包選擇谷歌開(kāi)發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng)tensorflow。將原數(shù)據(jù)集里的圖像轉(zhuǎn)換成HDF5的數(shù)據(jù)存儲(chǔ)格式,HDF5是用于存儲(chǔ)和分發(fā)科學(xué)數(shù)據(jù)的一種自我描述、多對(duì)象文件格式,該格式適合于一次存儲(chǔ)多次讀取。學(xué)習(xí)速率取0.1,衰減權(quán)重取0.5,衰減次數(shù)6000次,動(dòng)量因子取默認(rèn)。此處使用動(dòng)量因子進(jìn)行優(yōu)化可以有助于訓(xùn)練過(guò)程中逃離局部最小值,使網(wǎng)絡(luò)能夠更快速地收斂。
反復(fù)進(jìn)行權(quán)重衰減逐漸縮小搜索范圍,最終找到全局最優(yōu)解對(duì)應(yīng)的點(diǎn),卷積神經(jīng)網(wǎng)絡(luò)模型收斂,其中每次衰減后搜尋點(diǎn)更加靠近最優(yōu)點(diǎn)所在的區(qū)域范圍。
所述對(duì)抗訓(xùn)練是指將正常樣本和對(duì)抗樣本同時(shí)作用于卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練;所述對(duì)抗樣本是指在正常樣本上加線性擾動(dòng)得到的樣本,所述對(duì)抗訓(xùn)練能夠增強(qiáng)卷積神經(jīng)網(wǎng)絡(luò)模型的正則化,從而提高預(yù)測(cè)準(zhǔn)確率。
所述線性擾動(dòng)指由目標(biāo)函數(shù)對(duì)原始圖像求梯度所得到的矩陣,所述矩陣在長(zhǎng)、寬、通道數(shù)方面和原始圖像矩陣在長(zhǎng)、寬、通道數(shù)方面大小相同。
A4:在實(shí)際操作中,可以對(duì)于損失函數(shù)進(jìn)行更改,每個(gè)迭代過(guò)程之后:
上式表示每次迭代之后損失函數(shù)都會(huì)變化,從而應(yīng)對(duì)不斷更新的對(duì)抗樣本。與此同時(shí),對(duì)抗樣本也是一直在變化的,從而爭(zhēng)取騙過(guò)網(wǎng)絡(luò)模型。二者呈螺旋上升之勢(shì),彼此相輔相成。本文中應(yīng)用對(duì)抗網(wǎng)絡(luò)實(shí)際上是利用了其正則化的能力。這使得網(wǎng)絡(luò)的泛化能力增強(qiáng)。
A5:將所述圖像數(shù)據(jù)輸入到所述訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型后,得到顯著圖。
該網(wǎng)絡(luò)只使用了卷積層和反卷積層,卷積層用于提取特征,同時(shí)步長(zhǎng)為2還可以縮小特征圖尺寸。沒(méi)有使用池化層故可以節(jié)約內(nèi)存,同時(shí)還保證了計(jì)算效率。池化層的作用——控制過(guò)擬合,被對(duì)抗訓(xùn)練所替代,效果更好。反卷積層用于圖像尺寸的復(fù)原,類似于雙線性插值,使得輸入顯著圖和輸入圖像保持尺寸一致。
以上內(nèi)容是結(jié)合具體的/優(yōu)選的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,其還可以對(duì)這些已描述的實(shí)施例做出若干替代或變型,而這些替代或變型方式都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。