本發(fā)明屬于涉及視頻識別技術(shù)領(lǐng)域,更具體地說,涉及一種基于caffe框架的恐怖視頻識別方法。
背景技術(shù):
近年來,隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,給人們的生活提供了巨大的便利,但也為色情、反動、恐怖、暴力視頻的傳播提供了渠道。這些視頻威脅著大量青少年的身心健康,使得人們在享受互聯(lián)網(wǎng)便利的同時,對有害信息的不良影響產(chǎn)生了巨大的擔(dān)憂。由于恐怖視頻融入了圖像,音頻,文字等媒體形式,具有很強大的表現(xiàn)力,相對于圖片、文字等媒體形式具有更大的危害。全球很多國家和政府都采取了一系列措施來控制恐怖視頻的傳播。
目前,圖像識別技術(shù)發(fā)展迅速,視頻識別就是從視頻中提取視頻幀進(jìn)行圖像識別,最大的問題在于識別的速度和準(zhǔn)確性。恐怖視頻識別的特點在于視頻中是否存在恐怖鏡頭,存在恐怖鏡頭則為恐怖視頻,相反則為非恐怖視頻。視頻識別中會提取出大量的圖像,常見的識別方法的效率已無法滿足。同時,基于神經(jīng)網(wǎng)絡(luò)的圖像識別方法的準(zhǔn)確度依賴于所選取的圖像的特征,傳統(tǒng)的dnn(deepneuralnetwork,深度神經(jīng)網(wǎng)絡(luò))中圖像特征的魯棒性較差,最終不能更好的進(jìn)行恐怖視頻的識別。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的現(xiàn)有恐怖視頻識別方法的速度和準(zhǔn)確性低的問題,本發(fā)明提供了一種基于caffe框架的恐怖視頻識別方法,它可以實現(xiàn)更快、更準(zhǔn)確地對恐怖視頻進(jìn)行識別。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn)。
基于caffe框架的恐怖視頻識別方法,步驟如下:
s1獲取大量的樣本圖像,使用基于caffe的多gpu并行框架訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型;
s2使用opencv從視頻中提取視頻幀,獲取圖像樣本;
s3輸入圖像到訓(xùn)練好的模型,根據(jù)圖像特征得到分類結(jié)果。
更進(jìn)一步的,所述步驟s1中訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型的步驟如下:
步驟1輸入數(shù)據(jù),即大小一定的一組圖片;
步驟2經(jīng)過卷積層,設(shè)置卷積核及卷積步長,進(jìn)行卷積計算,得到特征圖;
步驟3進(jìn)行降采樣操作,將特征圖的寬和高降至上一層一半大小,特征圖的數(shù)量不變,可以根據(jù)實際訓(xùn)練情況增加卷積和降采樣的次數(shù);
步驟4得到全連接層的特征圖后,使用caffe的激活函數(shù)relu再一次大幅降低特征圖的數(shù)量,最終得到輸出結(jié)果。
更進(jìn)一步的,所述步驟s2中從視頻中提取視頻幀,獲取圖片的主要步驟如下:
步驟1設(shè)置幀間隔,每隔一定幀數(shù)提取一張圖片;
步驟2設(shè)置圖片保存的路徑;
步驟3使用opencv的cvgrabframe()函數(shù)從視頻或者攝像頭中抓取幀,獲取視頻中的圖像鏡頭。
相比于現(xiàn)有技術(shù),本發(fā)明的優(yōu)點在于:
(1)本發(fā)明方法以基于caffe框架的深度學(xué)習(xí)為基礎(chǔ),在改進(jìn)的神經(jīng)網(wǎng)絡(luò)模型下能夠更好更快地訓(xùn)練出合適的模型參數(shù);
(2)本發(fā)明在進(jìn)行視頻識別的過程中,使用gpu并行計算處理提取到的視頻幀,大大提高了大量數(shù)據(jù)情況下的識別效率;
(3)本發(fā)明提出了一種恐怖視頻的檢測方法,為互聯(lián)網(wǎng)的健康與安全提出了一種快速、準(zhǔn)確的維護(hù)措施。
附圖說明
圖1為本發(fā)明的系統(tǒng)流程圖;
圖2為本發(fā)明的具體實施方式中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
圖3為本發(fā)明的具體實施方式中的視頻識別流程圖。
具體實施方式
下面結(jié)合說明書附圖和具體的實施例,對本發(fā)明作詳細(xì)描述。
實施例1
圖1為本發(fā)明的系統(tǒng)流程圖,本發(fā)明主要包含如下步驟:1)獲取大量的樣本圖像,使用基于caffe(convolutionarchitectureforfeatureextraction卷積神經(jīng)網(wǎng)絡(luò)框架)的多gpu并行框架訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型;2)使用opencv從視頻中提取視頻幀,獲取圖像樣本;3)輸入圖像到訓(xùn)練好的模型,根據(jù)圖像特征得到分類結(jié)果。
圖2為本發(fā)明的具體實施方式中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖,具體步驟包括:輸入數(shù)據(jù),即大小一定的一組圖片;經(jīng)過卷積層,設(shè)置卷積核及卷積步長,進(jìn)行卷積計算,得到特征圖;接下來進(jìn)行降采樣操作,將特征圖的寬和高降至上一層一半大小,特征圖的數(shù)量不變;可以根據(jù)實際訓(xùn)練情況增加卷積和降采樣的次數(shù);得到全連接層的特征圖后,使用caffe的激活函數(shù)relu再一次大幅降低特征圖的數(shù)量,最終得到輸出結(jié)果。
圖3為本發(fā)明的具體實施方式中的視頻識別流程圖,此步驟的特點在于:通過opencv獲取視頻中的視頻幀,在得到視頻鏡頭后進(jìn)行圖片預(yù)處理,最后將處理得到的圖片特征通過gpu并行計算輸入到分類器中,得到識別結(jié)果。這樣大大地提高了視頻識別的速度。
其中,訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型的主要步驟如下:
步驟1.1)數(shù)據(jù)準(zhǔn)備,在caffe根目錄的data目錄下新建文件夾存放訓(xùn)練樣本、測試樣本,同時在根目錄下新建相應(yīng)的文件夾存放網(wǎng)絡(luò)模型及配置文件等;
步驟1.2)修改圖片大小,統(tǒng)一圖片大??;
步驟1.3)新建樣本的tag,為不同的訓(xùn)練樣本添加標(biāo)識;
步驟1.4)將examples/imagenet中的文件復(fù)制到創(chuàng)建的用來存放網(wǎng)絡(luò)模型和配置文件的文件夾中;
步驟1.5)修改該文件夾下的相關(guān)腳本文件,并修改相關(guān)路徑。其中create_imagenet.sh的作用是將圖片轉(zhuǎn)換成lmdb形式,lmdb是caffe框架所處理的數(shù)據(jù)格式。
make_imagenet_mean.sh的作用是求出訓(xùn)練樣本的均值文件,用以訓(xùn)練數(shù)據(jù);
步驟1.6)使用caffe的train_alexnet.prototxt文件來定義網(wǎng)絡(luò)結(jié)構(gòu);
步驟1.7)參照caffe的solver.prototxt文件,并修改相應(yīng)的初試化參數(shù)來定義網(wǎng)絡(luò)的初始化參數(shù);
步驟1.8)修改train_caffenet.sh中的相關(guān)路徑,對自定義的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
步驟1.9)采用多gpu并行系統(tǒng),從功能上劃分為用于讀取和分發(fā)數(shù)據(jù)的trainningdatadispatcher和用于做數(shù)據(jù)并行訓(xùn)練的gpuworkergroup,在每一個workergroup計算batch數(shù)據(jù)時,由trainningdatadispatcher讀取并分發(fā)下一個batch。
從視頻中提取視頻幀,獲取圖片的主要步驟如下:
步驟2.1)設(shè)置幀間隔,每隔一定幀數(shù)提取一張圖片;
步驟2.2)設(shè)置圖片保存的路徑;
步驟2.3)使用opencv的cvgrabframe()函數(shù)從視頻或者攝像頭中抓取幀,獲取視頻中的圖像鏡頭;
最后,在步驟3)中將視頻中提取到的圖像輸入到訓(xùn)練好的模型中,得到結(jié)果。
由于采用了多gpu并行框架,通過多個workergroup實現(xiàn)了數(shù)據(jù)并行,使得神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練更加迅速、準(zhǔn)確?;诰矸e神經(jīng)網(wǎng)絡(luò)的caffe框架在優(yōu)化后也大大提升了神經(jīng)網(wǎng)絡(luò)模型的性能。本發(fā)明的識別效率較普通的識別方法可提升約2%,錯誤率下降約10%。
以上示意性地對本發(fā)明創(chuàng)造及其實施方式進(jìn)行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明創(chuàng)造的實施方式之一,實際的結(jié)構(gòu)并不局限于此。所以,如果本領(lǐng)域的普通技術(shù)人員受其啟示,在不脫離本創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設(shè)計出與該技術(shù)方案相似的結(jié)構(gòu)方式及實施例,均應(yīng)屬于本專利的保護(hù)范圍。