高昌盛 臺(tái)州科技職業(yè)學(xué)院
隨著互聯(lián)網(wǎng)的飛速發(fā)展和信息量的猛增,大量的色情、暴力、政治敏感、違法等不良信息充斥其中,嚴(yán)重影響著互聯(lián)網(wǎng)的健康發(fā)展。目前隨著互聯(lián)網(wǎng)市場(chǎng)上交友軟件以及直播視頻軟件的流行,中國(guó)有著各類(lèi)在線(xiàn)直播數(shù)百家,以文字、圖像、聲音為傳播的開(kāi)放平臺(tái)數(shù)量更是與日俱增,涵蓋了財(cái)經(jīng)、體育、游戲等各個(gè)領(lǐng)域,這其中既有騰訊、YY、小米等大平臺(tái),也有各類(lèi)垂直直播平臺(tái)。2015 年華創(chuàng)證券的研究報(bào)告顯示,直播行業(yè)的市場(chǎng)規(guī)模已然達(dá)到120 億,而艾媒咨詢(xún)的報(bào)告則認(rèn)為直播行業(yè)的市場(chǎng)規(guī)模達(dá)到90 億。近些年UGC 模式大行其道,眾多上網(wǎng)人員網(wǎng)絡(luò)法律法規(guī)意識(shí)淡薄,將惡俗、色情、反動(dòng)等不法視頻、圖片資源上傳至網(wǎng)絡(luò),內(nèi)容審查成了互聯(lián)網(wǎng)公司最基本的需求。“鑒黃”勢(shì)在必行,市場(chǎng)需求激增。
傳統(tǒng)的“鑒黃”審核方式是人工審核,相關(guān)互聯(lián)網(wǎng)企業(yè)都有專(zhuān)門(mén)的“鑒黃”從業(yè)人員來(lái)做內(nèi)容審核,但目前的人工“鑒黃”師隊(duì)伍無(wú)法跟上網(wǎng)絡(luò)內(nèi)容發(fā)展的速度,并且人工審核存在天然缺陷,包括:人力成本高、審核不及時(shí)、主觀(guān)判斷影響結(jié)果、人性道德等問(wèn)題;加上“鑒黃”從業(yè)人員的缺乏,高強(qiáng)度的“三班倒”工作下,人工操作常見(jiàn)的審核效率低、誤判漏判準(zhǔn)確率低等問(wèn)題最為常見(jiàn)。實(shí)際上,當(dāng)直播高峰期成千上萬(wàn)的主播在線(xiàn),可以說(shuō)人工“鑒黃”師隊(duì)伍真是寡不敵眾。
隨著計(jì)算機(jī)視覺(jué)、改進(jìn)的訓(xùn)練數(shù)據(jù)和深度學(xué)習(xí)算法的發(fā)展,計(jì)算機(jī)現(xiàn)在能夠以更高的精度自動(dòng)分類(lèi)色情圖像內(nèi)容。
近 年 來(lái), 卷 積 神 經(jīng) 網(wǎng) 絡(luò)(Convolutional Neural Network,CNN)在圖像分類(lèi)問(wèn)題上已經(jīng)非常成功。自2012 年以來(lái),新的CNN 架構(gòu)不斷提高標(biāo)準(zhǔn)ImageNet 分類(lèi)挑戰(zhàn)的準(zhǔn)確性。一些重大突破包括AlexNet(2012),GoogLeNet,VGG(2013)和Residual Networks(2015)。
CNN 是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周?chē)鷨卧?,?duì)于大型圖像處理有出色表現(xiàn),它包括卷積層(alternating convolutional layer)和池層(pooling layer)。在常見(jiàn)構(gòu)筑中,卷積層和池化層為卷積神經(jīng)網(wǎng)絡(luò)特有。卷積層中的卷積核包含權(quán)重系數(shù),而池化層不包含權(quán)重系數(shù),因此在文獻(xiàn)中,池化層可能不被認(rèn)為是獨(dú)立的層。卷積層的功能是對(duì)輸入數(shù)據(jù)進(jìn)行特征提取,其內(nèi)部包含多個(gè)卷積核。在卷積層進(jìn)行特征提取后,輸出的特征圖會(huì)被傳遞至池化層進(jìn)行特征選擇和信息過(guò)濾。
這些網(wǎng)絡(luò)在運(yùn)行時(shí),內(nèi)存要求和準(zhǔn)確性方面有不同的權(quán)衡。運(yùn)行時(shí)和內(nèi)存要求的主要指標(biāo)是:
觸發(fā)器或連接-神經(jīng)網(wǎng)絡(luò)中的連接數(shù)決定了正向傳遞期間的計(jì)算操作數(shù),這與圖像分類(lèi)時(shí)網(wǎng)絡(luò)的運(yùn)行時(shí)間成正比。
參數(shù)-神經(jīng)網(wǎng)絡(luò)中的參數(shù)數(shù)量決定了加載網(wǎng)絡(luò)所需的內(nèi)存量。
理想情況下,我們需要一個(gè)具有最小觸發(fā)器和最小參數(shù)的網(wǎng)絡(luò),這將實(shí)現(xiàn)最大精度。
我們使用一個(gè)簡(jiǎn)單的卷積網(wǎng)絡(luò)模型,以正圖像(色情圖片)和負(fù)圖像(正常的圖片)做為數(shù)據(jù)訓(xùn)練模型。使用Caffe 深度學(xué)習(xí)庫(kù)與CaffeOnSpark 進(jìn)行訓(xùn)練。后者是一個(gè)強(qiáng)大的分布式學(xué)習(xí)開(kāi)源框架,它將Caffe 深入學(xué)習(xí)Hadoop 和Spark 集群用于訓(xùn)練模型。
在訓(xùn)練時(shí)我們將圖像調(diào)整為256*256 的正方形圖片,并進(jìn)行水平翻轉(zhuǎn)以進(jìn)行數(shù)據(jù)增強(qiáng),隨后將圖片進(jìn)行隨機(jī)裁剪后進(jìn)入神經(jīng)網(wǎng)絡(luò)。
這個(gè)AI 鑒黃方案叫NSFW JS,它在GitHub上進(jìn)行了開(kāi)源,可以點(diǎn)此進(jìn)入它的GitHub 主頁(yè)。開(kāi)發(fā)者可以插入它的相關(guān)代碼,將其運(yùn)用到相應(yīng)的產(chǎn)品當(dāng)中。NSFW JS 網(wǎng)頁(yè)版使用起來(lái)還是比較簡(jiǎn)單的,等待代碼加載完成后,將圖片拖動(dòng)到網(wǎng)頁(yè)中的識(shí)別框就可以了。NSFW JS 會(huì)智能識(shí)別圖片,并能在下方給出圖片涉及怎樣的內(nèi)容的概率。
視頻的鑒定在NSFW 項(xiàng)目的基礎(chǔ)上面改進(jìn)了封裝,用來(lái)檢測(cè)視頻是否是色情視頻。首先,這個(gè)項(xiàng)目是基于Caffe 的,使用的網(wǎng)絡(luò)結(jié)構(gòu)是ResNet 網(wǎng)絡(luò)。使用FFMPEG 完成對(duì)視頻的檢測(cè),從視頻中提取幀數(shù),每N 秒提取一次圖像,為了檢測(cè)更加精確,可以修改N 的間隔時(shí)間。
檢測(cè)分為三個(gè)等級(jí),score<0.2 的表示很安全,socre>0.8 的表示有很大的可能性是色情的,最后進(jìn)行程序輸出。
輸出頁(yè)面的內(nèi)容包括:總共提取檢測(cè)視頻中的圖像幀數(shù);很安全safe 的數(shù)量,占的比重(socre<0.2);medimum 介于危險(xiǎn)和安全之間的數(shù)量、比重(score>=0.2&&score<=0.8);dangerous,有很大可能性是色情占的比重(score>0.8)。
最后我們可以根據(jù)dangerous 占的比重可以確定視頻是否是色情視頻,再交由人工審核確認(rèn),可以有效降低鑒黃師的工作量。
最后運(yùn)行命令:
Python launch_video_detact.py --comtent 2017.mp4 --step 30
設(shè)置隔30 秒提取的幀數(shù),檢測(cè)的影片是《看不見(jiàn)的客人》,實(shí)驗(yàn)結(jié)果如下:
92.453 %概率顯示確定《看不見(jiàn)的客人》非常安全,可以不用交于人工審核。
再對(duì)NPDI 測(cè)試集里的一段視頻進(jìn)行檢測(cè),dangerous 所占比重超過(guò)80%,需要交由人工審核。
利用python 和卷積神經(jīng)網(wǎng)絡(luò)技術(shù),通過(guò)學(xué)習(xí)足夠數(shù)量的樣本,從數(shù)據(jù)中自己構(gòu)建模型,開(kāi)發(fā)基于人工智能的鑒黃系統(tǒng),同步客戶(hù)審核標(biāo)準(zhǔn)。先對(duì)圖片和視頻進(jìn)行機(jī)器審核,智能評(píng)定安全等級(jí);再將疑似色情低俗內(nèi)容視頻、圖片交付人工審核確認(rèn),能有效改變傳統(tǒng)方式下“鑒黃”師人工通過(guò)肉眼鑒別色情圖片和視頻效率低下、誤判率高等問(wèn)題,達(dá)到高效準(zhǔn)確的目的。