本發(fā)明屬于計(jì)算機(jī)視覺技術(shù)領(lǐng)域,具體涉及一種能夠降低誤判的圖像內(nèi)容識(shí)別方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)中的信息分享和傳播日益廣泛。在給人們生活帶來(lái)極大便利和新鮮資訊的同時(shí),網(wǎng)絡(luò)也被用于各種不良和敏感信息的傳播,安全性問題日益突出。其中,多媒體數(shù)據(jù)因其生動(dòng)、直觀的特點(diǎn)收到大眾推崇,尤其即拍即得的圖像數(shù)據(jù),成為網(wǎng)絡(luò)數(shù)據(jù)中最主要的組成成分之一。調(diào)查顯示,目前不少不良群體活躍于網(wǎng)絡(luò)平臺(tái),利用其傳播不良思想,散播相關(guān)圖像和音、視頻,網(wǎng)絡(luò)已成為這些組織煽動(dòng)、招募、資助或策劃活動(dòng)的便利工具。當(dāng)今時(shí)代的網(wǎng)絡(luò)數(shù)據(jù)量極其巨大,傳統(tǒng)網(wǎng)管的人工審查方式需耗費(fèi)大量的人力物力,且常常力不從心,難以達(dá)到監(jiān)管需求。因此,高效準(zhǔn)確的實(shí)現(xiàn)圖像內(nèi)容自動(dòng)識(shí)別,十分重要且很有必要。
總體來(lái)看,視覺特征的研究經(jīng)歷了三個(gè)階段:一是基本的特征提取,即通過圖像的顏色、亮度、紋理、形狀及像素的空間分布等屬性對(duì)圖像進(jìn)行描述,如顏色特征、紋理特征、局部特征等;二是特征的表達(dá),即在基本特征提取的基礎(chǔ)上進(jìn)行統(tǒng)計(jì)、編碼或核描述等操作,以形成更為有效的特征表示,如基于無(wú)監(jiān)督學(xué)習(xí)的“詞袋”模型;三是特征的學(xué)習(xí),即對(duì)大量的輸入圖像通過特定的網(wǎng)絡(luò)結(jié)構(gòu)以及訓(xùn)練方法學(xué)習(xí)出有意義的特征表示,用于后續(xù)的分類或其它視覺任務(wù)。深度學(xué)習(xí)(Deep Learning)近幾年來(lái)活躍于計(jì)算機(jī)視覺領(lǐng)域,成為當(dāng)下人工智能領(lǐng)域最受追捧的方法。其基本思想是通過有監(jiān)督或無(wú)監(jiān)督的學(xué)習(xí)方式,組合低層特征形成更加抽象的高層表示,即堆疊多個(gè)層,每一層的輸出作為下一層的輸入,從而實(shí)現(xiàn)輸入信息的分級(jí)表達(dá)和抽象。
深度學(xué)習(xí)在圖像識(shí)別方面主要有兩類應(yīng)用:圖像分類和物體識(shí)別。(1)圖像分類將整張圖像作為輸入,通過多級(jí)卷積網(wǎng)絡(luò)抽象出其高級(jí)特征,然后通過分類器判別其所屬的類別。(2)物體識(shí)別不將整張圖像作為對(duì)象,而是首先定位圖像中可能是物體的區(qū)域,然后識(shí)別其為何種物體。
然而,現(xiàn)有方法還存在一定的缺陷。一方面,傳統(tǒng)的圖像識(shí)別算法需針對(duì)不同類別設(shè)計(jì)不同的特征,普適性較差,且通常難以滿足實(shí)時(shí)性要求;另一方面,深度學(xué)習(xí)在圖像分類與物體識(shí)別方面各有利弊,提升精度還需深入分析場(chǎng)景特征,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí)也對(duì)訓(xùn)練方法進(jìn)一步優(yōu)化,以最大限度的發(fā)揮數(shù)據(jù)應(yīng)有的作用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)互聯(lián)網(wǎng)中的海量圖像,提出一種修正誤判的圖像內(nèi)容識(shí)別方法,能夠快速實(shí)現(xiàn)特定物體的定位與識(shí)別。
本發(fā)明采用的技術(shù)方案如下:
一種修正誤判的圖像內(nèi)容識(shí)別方法,包括以下步驟:
1)對(duì)訓(xùn)練樣本的數(shù)據(jù)集進(jìn)行擴(kuò)展,保證能夠提取出足夠識(shí)別物體的特征;
2)利用擴(kuò)展后的數(shù)據(jù)集,采用Faster R-CNN框架進(jìn)行數(shù)據(jù)訓(xùn)練,在訓(xùn)練過程中引入易誤判負(fù)類,將其與正樣本一同進(jìn)行訓(xùn)練,最終得到Faster R-CNN網(wǎng)絡(luò);
3)利用訓(xùn)練得到的Faster R-CNN網(wǎng)絡(luò),識(shí)別待檢測(cè)圖像中的特定物體。
進(jìn)一步地,步驟1)對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)展的方法是:首先,采用插值法對(duì)樣本圖像在尺度上進(jìn)行微小的縮放,分別保持寬度不變將長(zhǎng)度拉伸到原來(lái)的一定倍數(shù)、保持長(zhǎng)度不變將寬度拉伸到原來(lái)的一定倍數(shù);然后,對(duì)樣本進(jìn)行加噪處理以增強(qiáng)其魯棒性,分別添加高斯噪聲和椒鹽噪聲,以進(jìn)一步增大樣本總量。此外,步驟1)還可以采用鏡像化處理、模糊銳化處理、背景變換處理、亮度對(duì)比度調(diào)節(jié)等方式進(jìn)行擴(kuò)展。
進(jìn)一步地,步驟2)通過深入分析數(shù)據(jù)自身特點(diǎn)和測(cè)試過程中的誤判圖像規(guī)律,將易與正樣本混淆的圖像細(xì)分為多類,形成所述易誤判負(fù)類。
進(jìn)一步地,步驟2)采用遷移學(xué)習(xí)方法,使用海量圖像數(shù)據(jù)集預(yù)先訓(xùn)練一個(gè)模型,在其基礎(chǔ)上訓(xùn)練新模型,訓(xùn)練過程采用交替訓(xùn)練法。
進(jìn)一步地,步驟2)通過RPN網(wǎng)絡(luò)生成候選區(qū)域,再通過Fast R-CNN網(wǎng)絡(luò)識(shí)別出其中的物體對(duì)應(yīng)的類,RPN網(wǎng)絡(luò)與Fast RCNN物體檢測(cè)網(wǎng)絡(luò)共享相同的卷積層。
本發(fā)明的有益效果如下:
本發(fā)明基于深度學(xué)習(xí)技術(shù),采用Faster R-CNN框架,能夠處理多種格式下的圖像文件(jpg、jpeg、jpe、bmp、eps、pgm、png等),快速實(shí)現(xiàn)特定物體的定位與識(shí)別。本次發(fā)明基于Faster R-CNN源碼,可以在普通臺(tái)式機(jī)、工作站、服務(wù)器上正常應(yīng)用。采用本發(fā)明的方法進(jìn)行圖像識(shí)別,可大幅度減少誤判,提高檢測(cè)精度。
附圖說明
圖1:基于Faster R-CNN的圖像識(shí)別網(wǎng)絡(luò)架構(gòu)圖;
圖2:基于多負(fù)類的誤判修正方法;
圖3:不同方法蒙面人識(shí)別的PR對(duì)比圖。
具體實(shí)施方式
下面通過具體實(shí)施例和附圖,對(duì)本發(fā)明做進(jìn)一步說明。
本發(fā)明的修正誤判的圖像內(nèi)容識(shí)別方法,基于深度學(xué)習(xí)技術(shù),采用Faster R-CNN框架,能夠處理多種格式下的圖像文件(jpg、jpeg、jpe、bmp、eps、pgm、png等),快速實(shí)現(xiàn)特定物體的定位與識(shí)別。
本發(fā)明方法主要包括下面三部分內(nèi)容:
(1)深入分析數(shù)據(jù)自身特點(diǎn)和測(cè)試過程中的誤判圖像規(guī)律,將易與正樣本混淆的圖像細(xì)分為多類,改變簡(jiǎn)單的二分類方法,引入易誤判負(fù)類(Hard Negative Example),訓(xùn)練過程中將其與正樣本一同訓(xùn)練;
(2)由于數(shù)據(jù)量過小會(huì)導(dǎo)致系統(tǒng)無(wú)法提取出足夠識(shí)別物體的特征,故首先進(jìn)行數(shù)據(jù)集擴(kuò)展。首先,采用插值法對(duì)樣本圖像在尺度上進(jìn)行微小的縮放,分別保持寬度不變將長(zhǎng)度拉伸到原來(lái)的一定倍數(shù)、保持長(zhǎng)度不變將寬度拉伸到原來(lái)的一定倍數(shù)。然后,對(duì)樣本進(jìn)行加噪處理以增強(qiáng)其魯棒性,分別添加高斯噪聲和椒鹽噪聲,進(jìn)一步增大樣本總量;
(3)采用遷移學(xué)習(xí)方法,首先使用ImageNet數(shù)據(jù)集預(yù)先訓(xùn)練一個(gè)模型,在其基礎(chǔ)上訓(xùn)練新模型,訓(xùn)練過程采用交替訓(xùn)練法。
下面以蒙面人識(shí)別為例進(jìn)行說明。
由于蒙面人場(chǎng)景通常較為復(fù)雜,一張圖像中可能包含多種物體,且蒙面人在其中占據(jù)的空間較小,使得卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)出的特征圖中蒙面人的響應(yīng)不夠,故直接對(duì)整張圖像采用分類方法進(jìn)行檢測(cè)存在一定的局限性。例如,包含蒙面人的圖像中經(jīng)常出現(xiàn)卡車、荒地等元素,使得整張圖像經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)得到的特征并不是單純的蒙面人特征,因而可能出現(xiàn)諸如正常人站在卡車上的圖像被分為正樣本的情況。因此,本發(fā)明先框出圖像中可能是蒙面人的區(qū)域,再對(duì)其進(jìn)行識(shí)別。
本發(fā)明采用Faster R-CNN框架進(jìn)行蒙面人數(shù)據(jù)訓(xùn)練,網(wǎng)絡(luò)架構(gòu)如圖1所示。圖片作為整個(gè)網(wǎng)絡(luò)的輸入,首先通過RPN網(wǎng)絡(luò)生成候選區(qū)域,再通過Fast R-CNN物體檢測(cè)網(wǎng)絡(luò)識(shí)別出其中的物體對(duì)應(yīng)的類。最終RPN網(wǎng)絡(luò)與Fast RCNN物體檢測(cè)網(wǎng)絡(luò)共享相同的卷積層,形成有機(jī)整體。其中,CNN是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network),R-CNN是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region based Convolutional Neural Network),F(xiàn)ast R-CNN在R-CNN基礎(chǔ)上實(shí)現(xiàn)加速,F(xiàn)aster R-CNN進(jìn)一步加速,RPN是候選區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network)。
由于能夠收集到的蒙面人數(shù)據(jù)量相對(duì)較小,為了防止出現(xiàn)過擬合,本文采用遷移學(xué)習(xí)(transfer learning)的方式訓(xùn)練網(wǎng)絡(luò)。首先使用ImageNet數(shù)據(jù)集(一個(gè)公開的海量圖像數(shù)據(jù)集)預(yù)先訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò)模型M0,用其參數(shù)對(duì)模型中的卷積層進(jìn)行初始化,全連接層參數(shù)則采用高斯分布小隨機(jī)數(shù)進(jìn)行初始化。由于數(shù)據(jù)量過小會(huì)導(dǎo)致系統(tǒng)無(wú)法提取出足夠識(shí)別蒙面人的特征,故而需進(jìn)行數(shù)據(jù)集擴(kuò)展。首先,由于圖像尺寸和比例多樣,采用插值法對(duì)蒙面人圖像在尺度上進(jìn)行微小的縮放,分別保持寬度不變將長(zhǎng)度拉伸到原來(lái)的一定倍數(shù)(比如1.2倍等)、保持長(zhǎng)度不變將寬度拉伸到原來(lái)的一定倍數(shù)。此外,由于實(shí)網(wǎng)中的圖像質(zhì)量參差不齊,清晰度差別較大,故對(duì)樣本進(jìn)行加噪處理以增強(qiáng)其魯棒性。本發(fā)明在拉伸處理后的所有樣本上分別添加高斯噪聲和椒鹽噪聲,樣本總量又得以擴(kuò)充。因此,擴(kuò)展后的蒙面人數(shù)據(jù)達(dá)到了原始數(shù)據(jù)的很多倍,滿足訓(xùn)練所需。然后,對(duì)所有的訓(xùn)練樣本中的蒙面人進(jìn)行標(biāo)注,作為目標(biāo)識(shí)別的正確結(jié)果(Ground Truth)。實(shí)驗(yàn)時(shí)采用交替訓(xùn)練法,訓(xùn)練過程如下,其中fine-tune表示微調(diào),proposals表示候選區(qū)域:
1)用預(yù)先訓(xùn)練好的模型M0初始化RPN網(wǎng)絡(luò)并進(jìn)行fine-tune,得到RPN模型M1;
2)使用上一步得到的RPN模型M1,生成proposals P1;
3)用預(yù)先訓(xùn)練好的模型M0初始化Fast R-CNN網(wǎng)絡(luò),并在P1上fine-tune,得到Fast R-CNN模型M2;
4)用M2初始化RPN網(wǎng)絡(luò)并保持卷積層不變,只fine-tune M2與RPN網(wǎng)絡(luò)不同的部分,得到RPN模型M3(至此,RPN與Fast R-CNN兩個(gè)網(wǎng)絡(luò)共享卷積層);
5)使用上一步得到的RPN模型M3,生成proposals P2;
6)用M3初始化Fast R-CNN網(wǎng)絡(luò)并保持卷積層不變,只fine-tune M3與Fast R-CNN網(wǎng)絡(luò)不同的部分,在P2上訓(xùn)練得到Fast R-CNN模型M4;
7)將M3的RPN網(wǎng)絡(luò)加到M4中,得到完整的Faster R-CNN網(wǎng)絡(luò)。
在得到完整的Faster R-CNN網(wǎng)絡(luò)后,即可對(duì)圖像內(nèi)容進(jìn)行識(shí)別,即實(shí)現(xiàn)特定物體的定位與識(shí)別。識(shí)別過程為:將圖像作為整個(gè)網(wǎng)絡(luò)的輸入,首先通過RPN得到疑似是物體的區(qū)域,然后通過網(wǎng)絡(luò)中的剩余部分判斷該區(qū)域?qū)儆谀囊活愇矬w,最終輸出區(qū)域坐標(biāo)和其歸屬某類的概率。
此外,由于本發(fā)明所做的檢測(cè)主要針對(duì)網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù),而實(shí)網(wǎng)數(shù)據(jù)中正樣本很少、負(fù)樣本數(shù)量巨大,因此誤判成為影響檢測(cè)精度的最主要因素。通過深入分析數(shù)據(jù)自身特點(diǎn)和測(cè)試過程中的誤判圖像規(guī)律,本文將易與蒙面人混淆的圖像分為以下6類:頭巾、胡子、口罩、防毒面具、頭盔和正常人。如圖2所示,我們改變簡(jiǎn)單的二分類方法,引入易誤判負(fù)類(Hard Negative Example),訓(xùn)練過程中將頭巾、胡子、口罩、防毒面具、頭盔和正常人這6類與蒙面人一同訓(xùn)練,即提取出的候選區(qū)域(proposal)共有7種可能的類別。這樣一來(lái),在模型訓(xùn)練過程中,為了將這7類區(qū)分開來(lái),網(wǎng)絡(luò)會(huì)在迭代過程中一步步抽象出更加細(xì)化的特征、找到蒙面人區(qū)別于其他6類的特點(diǎn),從而減少誤判,提高系統(tǒng)檢測(cè)精度。
本發(fā)明提出的修正誤判的圖像內(nèi)容識(shí)別方法,其測(cè)試環(huán)境及實(shí)驗(yàn)結(jié)果為:
(1)測(cè)試環(huán)境:
系統(tǒng)環(huán)境:ubuntu14.04;
硬件環(huán)境:CPU:至強(qiáng)E5-2620v4 8核,內(nèi)存:32GB,GPU:Titan X,硬盤:2TB;
測(cè)試使用在Faster R-CNN開源代碼基礎(chǔ)上修改編寫的算法程序。
(2)實(shí)驗(yàn)數(shù)據(jù)
本發(fā)明針對(duì)蒙面人場(chǎng)景,根據(jù)Twitter實(shí)網(wǎng)數(shù)據(jù)構(gòu)造了3個(gè)測(cè)試數(shù)據(jù)集,樣本總數(shù)均為4000張。其中,測(cè)試集A包含正樣本500張,占樣本總數(shù)的1/8;測(cè)試集B包含正樣本1000張,占樣本總數(shù)的1/4;測(cè)試集C包含正樣本2000張,占樣本總數(shù)的1/2。
為說明本發(fā)明的效果,分別采用如下三種方法訓(xùn)練蒙面人模型,并在上述測(cè)試集上進(jìn)行測(cè)試:
1)將訓(xùn)練樣本圖像輸入AlexNet網(wǎng)絡(luò)訓(xùn)練蒙面人圖像分類模型;
2)直接采用Faster R-CNN網(wǎng)絡(luò)訓(xùn)練蒙面人定位識(shí)別模型;
3)采用本發(fā)明所述方法訓(xùn)練蒙面人定位識(shí)別模型。
使用上述三種方法訓(xùn)練出的模型進(jìn)行測(cè)試,并計(jì)算其檢測(cè)精度(P)和召回率(R),效果對(duì)比圖如圖3所示,圖中“分類網(wǎng)絡(luò)”、“定位識(shí)別網(wǎng)絡(luò)”和“定位識(shí)別網(wǎng)絡(luò)_修正誤判”分別表示上述三種方法。從圖中可以清晰的看出,采用本發(fā)明所述的誤判修正方法后,檢測(cè)精度有很大提升,減少了大量誤判,證實(shí)了本發(fā)明的有效性和可用性。
除上述實(shí)施方式外,本發(fā)明也可以使用其他數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,也可以使用其他方式進(jìn)行數(shù)據(jù)集擴(kuò)展(如鏡像化處理、模糊銳化處理、背景變換處理、亮度對(duì)比度調(diào)節(jié)等)。
以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,本領(lǐng)域的普通技術(shù)人員可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所述為準(zhǔn)。