本發(fā)明屬于數(shù)字圖像處理技術(shù)領(lǐng)域,具體涉及一種基于深度學(xué)習(xí)的敏感圖像識別方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)特別是移動互聯(lián)網(wǎng)的迅速普及,以圖像、視頻為代表的多媒體數(shù)據(jù)正在以驚人的速度進(jìn)行增長。如何檢測互聯(lián)網(wǎng)內(nèi)容中的敏感圖像成為研究的熱點(diǎn)。敏感圖像主要指:色情、暴力、反動、敏感人物(如:達(dá)賴)等,傳統(tǒng)的監(jiān)控方法主要依靠人力,隨著多媒體內(nèi)容的爆炸性增長,靠人工檢查的方式已經(jīng)無法滿足實(shí)際需要。一方面是視頻圖像等數(shù)據(jù)呈爆炸式增長,人工方式無法承擔(dān)巨大的核查工作量;另一方面是存在著大量已經(jīng)過時或者已經(jīng)被核查過的數(shù)據(jù),造成大量無用的重復(fù)工作量。
深度學(xué)習(xí)屬于機(jī)器學(xué)習(xí),深度學(xué)習(xí)是近幾年機(jī)器學(xué)習(xí)領(lǐng)域的熱點(diǎn),在語音識別、圖像識別等領(lǐng)域取得了巨大的成功。
深度學(xué)習(xí)技術(shù)有著很長的發(fā)展歷史,早期人工神經(jīng)網(wǎng)絡(luò)的研究促進(jìn)了深度學(xué)習(xí)的產(chǎn)生。一般的,深度學(xué)習(xí)是指有輸入層、多個隱含層和輸出層的深層模型。反向傳播技術(shù)在20世紀(jì)80年代特別流行,是有名的學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)各層之間權(quán)重的算法。Yann LeCun最先采用深度的有監(jiān)督的反向傳播卷積網(wǎng)絡(luò)識別手寫數(shù)字圖像。在最近幾年里,采用深度卷積網(wǎng)絡(luò)識別手寫數(shù)字圖像已經(jīng)成為計算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域最有價值的研究話題,在這兩個領(lǐng)域里,深度學(xué)習(xí)技術(shù)都取得了最先進(jìn)的成果。卷積神經(jīng)網(wǎng)絡(luò)(CNN)由Krizhevsky等人提出,并在2012年利用該技術(shù)贏得了ImageNet圖像分類的冠軍。ImageNet是一個大規(guī)模的數(shù)據(jù)集,擁有1500萬張有標(biāo)記的圖像,屬于22000個類別。ImageNet里面的圖像從互聯(lián)網(wǎng)上收集而來,使用亞馬遜的工具M(jìn)echanical Turk crowd-source經(jīng)過人工的方式做標(biāo)記,
從2010年開始,ImageNet數(shù)據(jù)集作為ImageNet大規(guī)模視覺識別挑戰(zhàn)(ILSVRC)的一部分,每年舉行一次,ILSVRC使用ImageNet中1000個類別,每個類別包括1000張圖像,120張圖像作為訓(xùn)練集,50000張圖像作為驗證集,15萬張圖像作為測試集,當(dāng)時使用的模型有8層,前5層為卷積層,后三層為全連接層,深度學(xué)習(xí)框架caffe就是按照這個模型實(shí)現(xiàn)的一個開源框架,本發(fā)明中我們使用的深度學(xué)習(xí)開源框架就是caffe。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服人工識別敏感圖像費(fèi)時費(fèi)力的不足,提供一種基于深度學(xué)習(xí)的方法,提高敏感圖像識別的效率。
本發(fā)明提供的基于深度學(xué)習(xí)的敏感圖像識別方法,具體步驟為:
步驟1、從搜集的敏感圖像數(shù)據(jù)庫中提取敏感圖像信息;
步驟2、對敏感圖像信息進(jìn)行訓(xùn)練前的預(yù)處理;
步驟3、將經(jīng)過預(yù)處理后的全部敏感圖像分為訓(xùn)練集和測試集;
步驟4、將訓(xùn)練集用于深度神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練;
步驟5、深度神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練結(jié)果初始化測試用的神經(jīng)網(wǎng)絡(luò);
步驟6、將測試集輸入到初始化之后的神經(jīng)網(wǎng)絡(luò)進(jìn)行敏感圖像的識別測試。
其中:
步驟2中,敏感圖像的預(yù)處理,包括:
對敏感圖像數(shù)據(jù)庫中的每一副圖像進(jìn)行采樣,提取含有敏感信息的部分,同時將圖像轉(zhuǎn)化為jpg格式,縮放為256*256大小,生成圖像路徑/標(biāo)簽形式的文本,然后亂序排列文本中的信息。
步驟4中,深度卷積神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練,包括:
深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練有兩種形式,預(yù)訓(xùn)練(pre-training)和調(diào)優(yōu)(fine-tuning),預(yù)訓(xùn)練的時間消耗較長,且不能保證訓(xùn)練的模型能夠收斂,所以本發(fā)明采用調(diào)優(yōu)的形式訓(xùn)練模型,fine-tuning使用相同網(wǎng)絡(luò)訓(xùn)練好的模型初始化神經(jīng)網(wǎng)絡(luò),然后根據(jù)訓(xùn)練樣本微調(diào)神經(jīng)網(wǎng)絡(luò)之間的參數(shù),增加對訓(xùn)練樣本的學(xué)習(xí)能力,不僅訓(xùn)練的時間較短,而且可以保證收斂。
步驟5種,測試神經(jīng)網(wǎng)絡(luò)的初始化,包括:
測試用的神經(jīng)網(wǎng)絡(luò)和訓(xùn)練用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相同,最后一層網(wǎng)絡(luò)softmax輸出的是測試圖像屬于每個類別的概率。初始化測試網(wǎng)絡(luò),就是將訓(xùn)練好之后的深度神經(jīng)網(wǎng)絡(luò)中的每一層隱層的網(wǎng)絡(luò)權(quán)重值,直接傳給測試網(wǎng)絡(luò)相應(yīng)層,從而使得測試網(wǎng)絡(luò)和訓(xùn)練的模型具有相同的隱層層數(shù)、隱層節(jié)點(diǎn)數(shù)和每一層的網(wǎng)絡(luò)權(quán)重值。
步驟6中,敏感圖像識別結(jié)果的輸出,包括:
對于敏感圖像測試集中的樣本,采用初始化之后的深度神經(jīng)網(wǎng)絡(luò)(DNN)模型進(jìn)行敏感圖像的識別測試,輸出敏感圖像識別的結(jié)果。這里利用了softmax層的特點(diǎn),softmax層輸出的n維向量是測試圖像屬于每個類別的概率,所以,在n維向量中值最大的下標(biāo)即對應(yīng)訓(xùn)練樣本中l(wèi)abel對應(yīng)的那個類別。
本發(fā)明所采用的深度卷積神經(jīng)網(wǎng)絡(luò)(DNN)的調(diào)優(yōu)(fine-tunning),包括:采用自頂向下的監(jiān)督學(xué)習(xí)的方法進(jìn)行學(xué)習(xí)和調(diào)優(yōu),即采用有標(biāo)簽的樣本數(shù)據(jù)進(jìn)行訓(xùn)練,誤差自頂向下傳輸,對網(wǎng)絡(luò)進(jìn)行調(diào)優(yōu)。通過調(diào)優(yōu)之后,使得深度卷積神經(jīng)網(wǎng)絡(luò)(DNN)模型的每一層隱層的網(wǎng)絡(luò)權(quán)重值都能夠達(dá)到最優(yōu)值。具體調(diào)優(yōu)(fine-tuning)過程如下:
根據(jù)輸入數(shù)據(jù)和輸出結(jié)果的誤差函數(shù),使用反向傳播算法更新網(wǎng)絡(luò)的權(quán)重值,使得網(wǎng)絡(luò)達(dá)到全局最優(yōu)。輸入數(shù)據(jù)和輸出結(jié)果之間的代價函數(shù)為:
權(quán)重衰減參數(shù)λ的目的是控制公式中兩項對總代價的影響比重。其中:J(W,b;x,y)是單個樣例(x(i),y(i))計算得到的代價函數(shù);J(W,b)是全部樣本的代價函數(shù),它含有權(quán)重衰減項。
梯度下降法主要是更新權(quán)重參數(shù)W和偏置參數(shù)b,計算的公式如下所示:
首先,計算前需要使用反向傳播算法來計算和這兩項,這兩項是單個樣例輸入(x,y)的代價函數(shù)J(W,b;x,y)的偏導(dǎo)數(shù)。求出該偏導(dǎo)數(shù),然后計算整體代價函數(shù)J(W,b)的偏導(dǎo)數(shù):
該公式中,上式比下式多一項,因為權(quán)重衰減要作用于權(quán)重參數(shù)W而不是偏置b。
反向傳播算法的主要思路如下:
輸入樣例(x,y),根據(jù)forward方法計算,得到網(wǎng)絡(luò)中所有的激活值,即hW,b(x)的輸出值。之后針對第l層的每一個節(jié)點(diǎn)i,計算出其“殘差”即輸出值和目標(biāo)值之間的差值。最后的輸出結(jié)點(diǎn)由于目標(biāo)值就是訓(xùn)練樣本對應(yīng)的label,計算的殘差為(該值是已知的)。對于隱藏單元,將基于節(jié)點(diǎn)(第l+1層節(jié)點(diǎn))殘差的加權(quán)平均值計算這些節(jié)點(diǎn)以作為輸入。下面將給出反向傳導(dǎo)算法的細(xì)節(jié):
1、進(jìn)行前向傳導(dǎo)計算,利用前向傳導(dǎo)公式,計算得到L2,L3,...直到輸出層Lnl的激活值。
2、對于第nl層(輸出層)的每個輸出單元i,根據(jù)以下公式計算殘差:
3、對l=nl-1,nl-2,nl-3,...,2的各個層,第l層的第i個節(jié)點(diǎn)的殘差計算方法如下:
4、計算需要的偏導(dǎo)數(shù),計算方法如下:
5、按照上面的方法,重復(fù)迭代以減小代價函數(shù)J(W,b)的值,進(jìn)而求解神經(jīng)網(wǎng)絡(luò)的參數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和效果有:
1、對于敏感特征的提取,直接采用敏感圖像的原始像素特征信息,方法簡單,不需要人工設(shè)計特征。
2、使用深度卷積神經(jīng)網(wǎng)絡(luò),避免傳統(tǒng)的模式識別人為設(shè)計特征,深度學(xué)習(xí)自動學(xué)習(xí)有效的特征。
3、通過調(diào)節(jié)參數(shù)和優(yōu)化模型,充分發(fā)揮深度卷積神經(jīng)網(wǎng)絡(luò)的特征學(xué)習(xí)能力,提供一種高性能的基于深度學(xué)習(xí)的敏感圖像識別的方法
4、本發(fā)明在調(diào)優(yōu)(fine-tuning)的基礎(chǔ)上增加了增量訓(xùn)練,繼續(xù)在訓(xùn)練好的模型上增加樣本繼續(xù)訓(xùn)練,增強(qiáng)對敏感圖像的學(xué)習(xí)能力。
附圖說明
圖1為基于深度學(xué)習(xí)的敏感圖像識別訓(xùn)練模型和敏感圖像識別的框圖。
圖2為神經(jīng)網(wǎng)絡(luò)圖。
具體實(shí)施方式
下面對本發(fā)明所述技術(shù)方案進(jìn)一步說明。
1、從搜集的敏感圖像數(shù)據(jù)庫中提取敏感圖像信息,主要是剪切出敏感圖像中含有敏感信息的部分,減少噪音部分的影響。
2、對敏感圖像信息進(jìn)行訓(xùn)練前的預(yù)處理操作,主要是將圖像轉(zhuǎn)化為jpg格式圖像,將圖像縮放為256*256大小,最后生成圖像路徑/label(0,1,2...m)格式的文本。
3、將經(jīng)過預(yù)處理后的全部敏感圖像分為訓(xùn)練集和測試集,即按照訓(xùn)練集:測試集約為10:1的比例,將所有圖像分為訓(xùn)練集和測試集
4、將訓(xùn)練集用于深度神經(jīng)網(wǎng)絡(luò)(DNN)的訓(xùn)練,使用深度學(xué)習(xí)開源框架caffe提供的訓(xùn)練接口,開始訓(xùn)練模型。
5、敏感圖像測試,具體為,輸入要識別的圖像,使用模型初始化神經(jīng)網(wǎng)絡(luò),經(jīng)過神經(jīng)網(wǎng)絡(luò)的運(yùn)算,最后輸出識別的結(jié)果。
參考文獻(xiàn):
[1]Krizhevsky A,Sutskever I,Hinton G E.ImageNet Classification with Deep Convolutional Neural Networks[J].Advances in Neural Information Processing Systems,2012,25(2):2012.
[2]Chen Y,Lin Z,Zhao X,et al.Deep Learning-Based Classification of Hyperspectral Data[J].IEEE Journal of Selected Topics in Applied Earth Observations&Remote Sensing,2014,7(6):2094-2107.
[3]Levy E,David O E,Netanyahu N S.Genetic algorithms and deep learning for automatic painter classification[C]//Conference on Genetic&Evolutionary Computation.ACM,2014:1143-1150.
[4]An X,Kuang D,Guo X,et al.A Deep Learning Method for Classification of EEG Data Based on Motor Imagery[M]//Intelligent Computing in Bioinformatics.2014:203-210.
[5]康曉東,王昊,郭軍,等.無監(jiān)督深度學(xué)習(xí)彩色圖像識別方法[J].計算機(jī)應(yīng)用,2015,35(9):2636-2639.
[6]Marmanis D,Datcu M,Esch T,et al.Deep Learning Earth Observation Classification Using ImageNet Pretrained Networks[J].IEEE Geoscience&Remote Sensing Letters,2015,13(1):1-5.
[7]Ji Wan,Dayong Wang,Steven C.H.Hoi,Pengcheng Wu,Jianke Zhu,Yongdong Zhang,Jintao Li.Deep Learning for Content-Based Image Retrieval:A Comprehensive Study.2014。