影象鑑黃做得好,健康上網少煩惱
在紛繁複雜的網路世界中,敏感資訊識別與處理起著極為重要的作用。而近日研究者在 ICIP 2018 提出 LocoaNet,該網路結合了局部敏感區域檢測網路與全域性分類網路,並採用了多工學習策略以提取敏感圖片高鑑別力的特徵,該網路在 NPD 和 AIC 等資料集取得了很高的分類準確率。
引言
根據中國網際網路絡資訊中心釋出第 42 次《中國網際網路絡發展狀況統計報告》,截至 2018 年 6 月底,中國網民數量已達 8.02 億!平均每週上網 27.7 小時,出去每週睡眠時間(以 8 小時 / 天為例),現代人每天有近 1/4 的時間在擁抱網路。
隨著科技的發展進步,網際網路也成為人們日常生活和工作中離不開的工具,它在給人們帶來生活方便、處理事務高效的同時,也會成為一些不法分子的有利工具,利用其傳播和散延一些不良資訊,如黃色圖片、影視等,涉黃案件接踵而來,由此一來,「打黃」也顯得尤為重要。
不同於文字鑑黃,影象鑑黃目前仍大量依賴人類鑑黃師,一方面存在稽核標準的主觀誤差,另一方面也不利於鑑黃師這一職業人員的長期心理健康。隨著人工智慧浪潮的湧動,機器鑑黃領域也在不斷呈現出令人耳目一新的碩果。由嵩恆網路與上海交通大學聯合首創 local-context aware network(基於區域性上下文感知的 深度神經網路 )就帶來了一種新的解決方案。
現有解決方案
目前,現有的敏感影象的鑑別技術方案主要分為兩種。第一種是基於 卷積神經網路 CNN(ConvolutionNeural Network)的敏感影象分類方法 [1]。作者直接將影象的畫素資訊分別輸入到AlexNet[2] 與 GoogLeNet[3] 中,基本保留了輸入影象的所有信息,通過卷積、池化等操作對特徵進行提取和高層抽象,並將兩種網路輸出影象識別的概率值加權求和來分類。CNN 作為一種端到端的學習方法,應用非常廣泛。第二種是 CNN 全域性影象分類與區域性影象目標檢測 Faster RCNN 相結合的敏感影象分類方法 [4]。在給定的圖片中,Faster RCNN 可以精確地找到物體所在的位置,並標註物體的類別,即進行影象的識別與定位。作者將區域性目標檢測和全域性特徵相結合,進一步提升了敏感影象檢測的正確率。
我們提出的解決方案
目前現有的技術無法解決影象中存在敏感區域大小各異情況下的分類問題。而且針對影象的分類沒有把各個語境下的特徵整合起來進行分類,需要分段訓練各個語境的網路再拼接起來,訓練過程繁瑣。在區域性敏感區域網路中還需要大量人力進行影象標註。
本文提供了一種對敏感圖片進行鑑定的方法及其終端,該終端將敏感圖片分為三個等級:色情、性感、正常;該終端主要由一個 ResNet(殘差神經網路)和一個基於特徵金字塔的多目標檢測網路組合成的系統——LocoaNet,其完整結構如圖 1 所示,
圖 1 LocoaNet 的架構圖
LocoaNet 分為三個部分,ResNet 作為骨幹網路(Backbone),敏感身體區域檢測網路 (SpNet) 以及全域性分類網路 (GcNet)。選擇 ResNet 作為骨幹網路主要是由於它分類準確率高且計算速度快。其他一些諸如 VGG16,ResNet101 網路也可以作為骨幹網路。
傳統的全域性分類網路應用在敏感圖片識別任務的主要缺陷在於全域性分類網路比較看重整體影象,易於在分類時過多的考慮背景影象。而對於一些有高鑑別力的區域性區域(比如裸體,身體敏感區域)不太關注。而這些區域往往對敏感影象分類起決定性作用。因此,我們設計了敏感身體區域檢測網路(SpNet)來使特徵提取網路更加關注敏感身體區域,學習了具有強語義資訊的多尺度特徵表示。
SpNet 的設計使用了特徵金字塔網路(FPN)[6] 與 RetinaNet[7]。在骨幹網路 ResNet 生成的每一個不同解析度的殘差層 feature map 中引入了後一解析度縮放兩倍的 feature map 並做基於元素的相加操作。從而生成新的 feature map。通過這樣的連線操作使生成的 feature map 都融合了不同解析度、不同語義強度的特徵,在不增加額外的計算量的情況下保證了每一層都有合適的解析度以及強語義特徵,提升物體檢測的精度。在的 feature map 上進行核為,步長為的卷積而成。在上進行同樣的卷積操作生成。之間加入了 ReLU 操作層。
對 P3 至 P7 的每一層 feature map,進行四層核為 3*3,filter 數量為 256 的卷積以及一層 ReLU 操作提取 feature map Mi, i∈[3,7]。Mi 上的每一個點為對應九個不同大小的 Anchor(錨點),與輸入影象上的一個以該點為中心的九種尺寸的區域對應。SpNet 的主要目標為對每一個 Anchor 進行多目標檢測,檢測是否出現敏感身體部位。在此,所謂多目標檢測中檢測的是敏感圖片中人體的一些關鍵部位,分為胸部(色情)、女性性器官(色情)、男性性器官(色情)、臀部(色情)、陰毛(色情)、胸部(性感)、臀部(性感)、背部(性感)、腿(性感)和上半身(性感)等十個特徵部位。對 Mi 進行核為 3*3,filter 數量為 KA(K 為待檢測的目標數量,A 為每個 Anchor 對應的尺寸數量,K=10, A=9)的卷積並進行 Sigmoid 操作,得到的 feature map 即為每個 Anchor 包含各個目標的概率。SpNet 可以對 C3 到 C5 特徵提取層的引數進行調整,使分類網路 LocoaNet 更關注敏感區域,學習到更高鑑別力的特徵。
GcNet 網路起到全域性分類的作用,將圖片分為正常、性感、色情三個類別中。GcNet 將骨幹網路的最後一層 feature map 作為輸入,通過五層卷積層生成 feature map。每層卷積後都應用 ReLU 操作進行線性整流。對進行全域性均值池化後連線到一個輸出為三單元的全連線層,對影象進行三分類。
由於包含分類網路和目標檢測網路兩種網路,LocoaNet 的訓練採用多工學習的方法。LocoaNet 的損失函式為 SpNet損失函式和 GcNet損失函式之和。SpNet 的損失函式使用了 focal loss[7],GcNet 的損失函式為交叉熵代價函式 (cross-entropy loss)。骨幹網路採用了在ImageNet的預訓練模型上進行 finetune。在實際使用過程中,不運算 SpNet 網路部分,僅計算 GcNet 部分進行影象分類,減少了計算複雜度。
除此之外,我們還使用了遞進學習的策略使得 LocoaNet 能夠快速的移植到其他資料集上進行訓練,達到遷移學習的目的。目標檢測網路的訓練前期需要大量的樣本目標框標註,消耗大量的人力。遞進學習方法的引入可以讓我們的模型在無樣本框標註的資料集上進行訓練。遞進學習方法的過程如下:
-
步驟一: 在有敏感區域標註的資料集上訓練 LocoaNet,同時更新骨幹網路,SpNet 和 GcNet 的引數
-
步驟二: 在僅有類別標註的資料集上訓練,固定 SpNet 的引數,僅更新骨幹網路和 GcNet 的引數,最小化分類損失。
-
步驟三: 在上訓練,固定 GcNet引數,僅更新骨幹網路和 SpNet 的引數,最小化目標檢測損失。
-
重複步驟二和步驟三直到網路收斂。
在本文中,我們設計了 LocoaNet,把區域性敏感區域檢測網路與全域性分類網路相結合,採用了多工學習策略,對敏感圖片提取高鑑別力的特徵,達到了很高的分類準確率。同時提出了遞進學習策略提升網路對其他資料集的泛化能力。不僅如此,計算複雜度相比於現有設計更小。本發明在公開資料集 NPDI[8] 上達到了 92.2% 的三分類準確率,在 AIC(包含有類別標註的 150000 張影象和有敏感區域標註的 14000 張色情影象)上達到了 95.8% 的三分類準確率。
論文:Adult ImageClassificationby a Local-Context Aware Network
論文地址:https://ieeexplore.ieee.org/document/8451366
摘要:在打造一個健康有序的網路環境的過程中,「鑑黃」已經成為一個重要命題。近年來,基於深度學習基礎提出的解決方案已經幫助該領域取得了一定的突破,當在識別精準度等方面還有待進一步提升。本發明專利結合深度學習,建立了鑑定敏感圖片的模型及其終端,一方面,為類似於鑑黃師等職位的人提高工作效率,另外一方面,通過自動化的手段在第一時間有效的制止了敏感圖片在有些網站的流傳。
參考文獻:
[1] Moustafa, Mohamed. "Applying deep learning to classify pornographic images and videos." arXiv preprint arXiv:1511.08899 (2015).
[2] Krizhevsky, Alex, Ilya Sutskever, andGeoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012.
[3] Szegedy, Christian, et al. "Going deeper with convolutions." Cvpr, 2015.
[4] Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015.
[5] Ou, Xinyu, et al. "Adult Image and Video Recognition by a Deep Multicontext Network and Fine-to-Coarse Strategy." ACM Transactions onIntelligent Systems and Technology (TIST) 8.5 (2017): 68.
[6] Lin, Tsung-Yi, et al. "Feature pyramid networks for object detection." CVPR. Vol. 1. No. 2. 2017.
[7] Lin, Tsung-Yi, et al. "Focal loss for dense object detection." arXiv preprint arXiv:1708.02002 (2017).
[8] Sandra Avila, Nicolas Thome, Matthieu Cord, Eduardo Valle, Arnaldo de A. Araújo.Poolingin Image Representation: the Visual Codeword Point of View.Computer Visionand Image Understanding (CVIU), volume 117, issue 5, p. 453-465, 2013.
ofollow,noindex" target="_blank">理論 卷積神經網路 影象識別 ResNet
相關資料
Artificial Intelligence
在學術研究領域,人工智慧通常指能夠感知周圍環境並採取行動以實現最優的可能結果的智慧體(intelligent agent)
來源: Russell, S., & Norvig, P. (2003). Artificial Intelligence: A Modern Approach.
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
AlexNet
AlexNet是一個卷積神經網路的名字,最初是與CUDA一起使用GPU支援執行的,AlexNet是2012年ImageNet競賽冠軍獲得者Alex Krizhevsky設計的。該網路達錯誤率大大減小了15.3%,比亞軍高出10.8個百分點。AlexNet是由SuperVision組設計的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever組成。
來源: ImageNet Classification with Deep Convolutional Neural Networks
Classification
分類問題是資料探勘處理的一個重要組成部分,在機器學習領域,分類問題通常被認為屬於監督式學習(supervised learning),也就是說,分類問題的目標是根據已知樣本的某些特徵,判斷一個新的樣本屬於哪種已知的樣本類。根據類別的數量還可以進一步將分類問題劃分為二元分類(binary classification)和多元分類(multiclass classification)。
來源: Wikipedia
Deep neural network
深度神經網路(DNN)是深度學習的一種框架,它是一種具備至少一個隱層的神經網路。與淺層神經網路類似,深度神經網路也能夠為複雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。
來源:機器之心 Techopedia
Convergence
在數學,電腦科學和邏輯學中,收斂指的是不同的變換序列在有限的時間內達到一個結論(變換終止),並且得出的結論是獨立於達到它的路徑(他們是融合的)。 通俗來說,收斂通常是指在訓練期間達到的一種狀態,即經過一定次數的迭代之後,訓練損失和驗證損失在每次迭代中的變化都非常小或根本沒有變化。也就是說,如果採用當前資料進行額外的訓練將無法改進模型,模型即達到收斂狀態。在深度學習中,損失值有時會在最終下降之前的多次迭代中保持不變或幾乎保持不變,暫時形成收斂的假象。
來源: Wikipedia sary?hl=zh-cn" target="_blank" rel="nofollow,noindex">Google ML glossary
Computer Vision
計算機視覺(CV)是指機器感知環境的能力。這一技術類別中的經典任務有影象形成、影象處理、影象提取和影象的三維推理。目標識別和麵部識別也是很重要的研究領域。
來源:機器之心
ImageNet
Convolutional neural network
卷積神經網路(Convolutional Neural Network, CNN)是一種前饋神經網路,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型影象處理有出色表現。卷積神經網路由一個或多個卷積層和頂端的全連通層(對應經典的神經網路)組成,同時也包括關聯權重和池化層(pooling layer)。這一結構使得卷積神經網路能夠利用輸入資料的二維結構。與其他深度學習結構相比,卷積神經網路在影象和語音識別方面能夠給出更好的結果。這一模型也可以使用反向傳播演算法進行訓練。相比較其他深度、前饋神經網路,卷積神經網路需要考量的引數更少,使之成為一種頗具吸引力的深度學習結構。 卷積網路是一種專門用於處理具有已知的、網格狀拓撲的資料的神經網路。例如時間序列資料,它可以被認為是以一定時間間隔取樣的一維網格,又如影象資料,其可以被認為是二維畫素網格。
來源:Goodfellow, I.; Bengio Y.; Courville A. (2016). Deep Learning. MIT Press. 維基百科
Loss function
在數學優化,統計學,計量經濟學,決策理論,機器學習和計算神經科學等領域,損失函式或成本函式是將一或多個變數的一個事件或值對映為可以直觀地表示某種與之相關“成本”的實數的函式。
來源: Wikipedia
Pooling
池化(Pooling)是卷積神經網路中的一個重要的概念,它實際上是一種形式的降取樣。有多種不同形式的非線性池化函式,而其中“最大池化(Max pooling)”是最為常見的。它是將輸入的影象劃分為若干個矩形區域,對每個子區域輸出最大值。直覺上,這種機制能夠有效的原因在於,在發現一個特徵之後,它的精確位置遠不及它和其他特徵的相對位置的關係重要。池化層會不斷地減小資料的空間大小,因此引數的數量和計算量也會下降,這在一定程度上也控制了過擬合。通常來說,CNN的卷積層之間都會週期性地插入池化層。
來源: cs231n
Transfer learning
遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。遷移學習是通過從已學習的相關任務中轉移知識來改進學習的新任務,雖然大多數機器學習演算法都是為了解決單個任務而設計的,但是促進遷移學習的演算法的開發是機器學習社群持續關注的話題。 遷移學習對人類來說很常見,例如,我們可能會發現學習識別蘋果可能有助於識別梨,或者學習彈奏電子琴可能有助於學習鋼琴。
來源:機器之心Pan, S. J., & Yang, Q. (2010). A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10), 1345–1359.
Geoffrey E. Hinton
傑弗裡·埃弗里斯特·辛頓 FRS(英語:Geoffrey Everest Hinton)(1947年12月6日-)是一位英國出生的加拿大計算機學家和心理學家,以其在類神經網路方面的貢獻聞名。辛頓是反向傳播演算法和對比散度演算法的發明人之一,也是深度學習的積極推動者。
涉及領域
來源: Geoffrey E. H https://en.wikipedia.org/wiki/Geoffrey_Hinton
Deep learning
深度學習(deep learning)是機器學習的分支,是一種試圖使用包含複雜結構或由多重非線性變換構成的多個處理層對資料進行高層抽象的演算法。 深度學習是機器學習中一種基於對資料進行表徵學習的演算法,至今已有數種深度學習框架,如卷積神經網路和深度置信網路和遞迴神經網路等已被應用在計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並獲取了極好的效果。
來源: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
Intel
英特爾是計算創新領域的全球領先廠商,致力於拓展科技疆界,讓最精彩體驗成為可能。英特爾創始於1968年,已擁有近半個世紀產品創新和引領市場的經驗。英特爾1971年推出了世界上第一個微處理器,後來又促進了計算機和網際網路的革命,改變了整個世界的程序。如今,英特爾正轉型成為一家資料公司,制定了清晰的資料戰略,憑藉雲和資料中心、物聯網、儲存、FPGA以及5G構成的增長良性迴圈,提供獨到價值,驅動日益發展的智慧互聯世界。英特爾專注於技術創新,同時也積極支援中國的自主創新,與產業夥伴攜手推動智慧互聯的發展。基於明確的資料戰略和智慧互聯全棧實力,英特爾瞄準人工智慧、無人駕駛、5G、精準醫療、體育等關鍵領域,與中國深度合作。面向未來,英特爾致力於做中國高價值合作伙伴,在新科技、新經濟、新消費三個方面,著力驅動產業協同創新,為實體經濟增值,促進消費升級。
涉及領域
Accuracy
分類模型的正確預測所佔的比例。在多類別分類中,準確率的定義為:正確的預測數/樣本總數。 在二元分類中,準確率的定義為:(真正例數+真負例數)/樣本總數
Multi-task learning

機器之心是國內領先的前沿科技媒體和產業服務平臺,關注人工智慧、機器人和神經認知科學,堅持為從業者提供高質量內容和多項產業服務。