图像鉴黄做得好,健康上网少烦恼

在纷繁复杂的网络世界中,敏感信息识别与处理起着极为重要的作用。而近日研究者在 ICIP 2018 提出 LocoaNet,该网络结合了局部敏感区域检测网络与全局分类网络,并采用了多任务学习策略以提取敏感图片高鉴别力的特征,该网络在 NPD 和 AIC 等数据集取得了很高的分类准确率。

引言

根据中国互联网络信息中心发布第 42 次《中国互联网络发展状况统计报告》,截至 2018 年 6 月底,中国网民数量已达 8.02 亿!平均每周上网 27.7 小时,出去每周睡眠时间(以 8 小时 / 天为例),现代人每天有近 1/4 的时间在拥抱网络。

随着科技的发展进步,互联网也成为人们日常生活和工作中离不开的工具,它在给人们带来生活方便、处理事务高效的同时,也会成为一些不法分子的有利工具,利用其传播和散延一些不良信息,如黄色图片、影视等,涉黄案件接踵而来,由此一来,「打黄」也显得尤为重要。

不同于文字鉴黄,图像鉴黄目前仍大量依赖人类鉴黄师,一方面存在审核标准的主观误差,另一方面也不利于鉴黄师这一职业人员的长期心理健康。随着人工智能浪潮的涌动,机器鉴黄领域也在不断呈现出令人耳目一新的硕果。由嵩恒网络与上海交通大学联合首创 local-context aware network(基于局部上下文感知深度神经网络)就带来了一种新的解决方案。

现有解决方案

目前,现有的敏感图像的鉴别技术方案主要分为两种。第一种是基于卷积神经网络 CNN(Convolution Neural 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 能够快速的移植到其他数据集上进行训练,达到迁移学习的目的。目标检测网络的训练前期需要大量的样本目标框标注,消耗大量的人力。递进学习方法的引入可以让我们的模型在无样本框标注的数据集上进行训练。递进学习方法的过程如下:

  1. 步骤一: 在有敏感区域标注的数据集上训练 LocoaNet,同时更新骨干网络,SpNet 和 GcNet 的参数

  2. 步骤二: 在仅有类别标注的数据集上训练,固定 SpNet 的参数,仅更新骨干网络和 GcNet 的参数,最小化分类损失。

  3. 步骤三: 在上训练,固定 GcNet 参数,仅更新骨干网络和 SpNet 的参数,最小化目标检测损失。

  4. 重复步骤二和步骤三直到网络收敛

在本文中,我们设计了 LocoaNet,把局部敏感区域检测网络与全局分类网络相结合,采用了多任务学习策略,对敏感图片提取高鉴别力的特征,达到了很高的分类准确率。同时提出了递进学习策略提升网络对其他数据集的泛化能力。不仅如此,计算复杂度相比于现有设计更小。本发明在公开数据集 NPDI[8] 上达到了 92.2% 的三分类准确率,在 AIC(包含有类别标注的 150000 张图像和有敏感区域标注的 14000 张色情图像)上达到了 95.8% 的三分类准确率

论文:Adult Image Classification by 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, and Geoffrey 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 on Intelligent 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. Pooling in Image Representation: the Visual Codeword Point of View. Computer Vision and Image Understanding (CVIU), volume 117, issue 5, p. 453-465, 2013.

理论ResNet图像识别卷积神经网络
2
相关数据
英特尔机构

英特尔是计算创新领域的全球领先厂商,致力于拓展科技疆界,让最精彩体验成为可能。英特尔创始于1968年,已拥有近半个世纪产品创新和引领市场的经验。英特尔1971年推出了世界上第一个微处理器,后来又促进了计算机和互联网的革命,改变了整个世界的进程。如今,英特尔正转型成为一家数据公司,制定了清晰的数据战略,凭借云和数据中心、物联网、存储、FPGA以及5G构成的增长良性循环,提供独到价值,驱动日益发展的智能互联世界。英特尔专注于技术创新,同时也积极支持中国的自主创新,与产业伙伴携手推动智能互联的发展。基于明确的数据战略和智能互联全栈实力,英特尔瞄准人工智能、无人驾驶、5G、精准医疗、体育等关键领域,与中国深度合作。面向未来,英特尔致力于做中国高价值合作伙伴,在新科技、新经济、新消费三个方面,着力驱动产业协同创新,为实体经济增值,促进消费升级。

https://www.intel.com/content/www/us/en/company-overview/company-overview.html
相关技术
杰弗里·辛顿人物

杰弗里·埃弗里斯特·辛顿 FRS(英语:Geoffrey Everest Hinton)(1947年12月6日-)是一位英国出生的加拿大计算机学家和心理学家,以其在类神经网络方面的贡献闻名。辛顿是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

多任务学习技术

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~