APP下载

深度学习在网络色情图像检测中的应用

2018-11-28

安阳工学院学报 2018年6期
关键词:色情图像识别肤色

杨 雄

(福州大学至诚学院,福州 350002)

0 引言

互联网的快速发展,为人们生活、学习和工作带来便利的同时,也造成了大量敏感信息的快速传播,对社会造成了一定的危害,其中以色情图像尤为严重。为了有效遏制网络色情,基于图像内容的识别过滤技术成为网络扫黄的重要工具。据统计,互联网图像每年新增数量超过千亿,如何快速有效检测超大容量的网络图像从而净化网络环境已经受到越来越多的关注。

不同于IP和文本分析过滤,近年来针对色情图像的识别主要是基于图像内容的检测,国内外学者对此都做了大量的研究工作。主流的色情图像识别技术可分成三种:

1)基于肤色和纹理检测的色情图像识别。例如:胡柳等[1]提出一种以YCbCr颜色空间肤色检测为主,结合模板匹配、特定情景的识别实现对不良图片的快速检测。王国营等[2]提出一种基于肤色信息的投票机制提取出显著区域,再采用SVM对敏感图像进行分类的方法。

2)基于多维度特征的色情图像识别。鉴于肤色和纹理检测算法对于纹理复杂以及类肤色区域较多的正常图像容易产生误检,学者们开始研究提取更多的特征,基于多个维度来进行色情图像的识别。例如:陈晓等[3]提出的将躯干部分作为兴趣区域的不良图片识别算法,Wang等[4]提出以肚脐为中心的人体躯干矩形为特征进行分类。

3)基于深度学习的色情图像识别。近年来,深度学习在目标检测、定位和分类等视觉任务中占据了主导地位。随着计算机视觉的发展,改进的训练数据和深度学习算法,使计算机能够更精确地自动分类色情图像。

基于上述需求,提出一种在传统色情图像识别方法的基础上,融合基于深度学习的神经网络模型的网络色情网像检测方法。首先通过爬虫从指定网站爬取图像,然后对图像中的人物进行快速识别、定位和分割,其次结合YCbCr颜色空间肤色模型和深度学习的NSFW模型判定预处理后的图像是否包含色情内容,最后将图像信息和识别结果存储到数据库中,由审查人员根据结果对目标网站做出相应处理。实验结果表明,该检测方法识别正确率较传统方法有较大提升,满足实际应用需求。

1 系统设计与实现

网络色情图像检测系统的总体流程如图1所示。

图1 网络色情图像检测系统总体流程图

其中的互联网为未经过检测的原始数据源,其很可能包含带色情内容的图像,检测系统为处理单元,包含了图像采集和色情图像识别,将网站批量图像的识别结果反馈给审查人员,由部门审查人员对相关网站做出整改或屏蔽与否等操作。

1.1 分布式爬虫模块

网络图像抓取的关键在于网络图像爬虫的设计,该模块以Scrapy-Redis为基础,设计实现了分布式抓取网络图像。

爬虫模块的基本流程如图2所示。

图2 爬虫模块的基本流程图

1.2 色情图像识别模块

网络图像各式各样,为了减少背景的干扰,提高色情图像识别的正确率,在进行识别前先进行预处理,将图像中的人与背景相分离。

一般网站中正常图像的比例要高于色情图像的比例,基于YCbCr肤色模型检测的色情图像识别的局限性在于容易被类肤色的图像背景误导,但该算法对于正常图像有较高的识别率,因此该模块使用YCbCr肤色模型和NSFW模型进行级联识别,首先由YCbCr肤色模型进行一级识别,若被判定为疑似色情图像则再利用NSFW模型进行二级识别。色情图像识别模块的流程如图3所示。

1.2.1 图像预处理

由于网络图像参差不齐,图像中若存在多个皮肤裸露层度不同的人物或者类肤色背景时,对识别成功率会造成负影响,因此在色情图像识别流程中需要先将图像中的人物与背景相分离,再对人物进行针对性的识别。图像预处理组件的功能就是将提取原始图像中的人物图像,并调整成256×256像素大小。

人物图像分离是通过TensorFlow框架来实现的,使用谷歌已经训练好的ssd_mobilenet模型。首先对图像中的物体进行识别,获取与“人”相似率高于50%的物体坐标矩阵,接着根据坐标矩阵对图像进行切割获取人体图像,最后将人体图像按照指定大小保存。图像预处理的流程如图4所示。

图3 色情图像识别流程图

图4 图像预处理的流程

1.2.2 色情图像识别

基于YCbCr肤色检测算法对系统资源消耗较少效率较高,而基于深度学习的NSFW模型相比肤色检测算法的资源消耗相对较高,因此对预处理后的图像文件,只有在一级识别为疑似色情图像时再进行二级判定,能够在较低的资源消耗下同时提高识别准确率。

YCbCr检测算法定义非色情图像的规则为:

1)皮肤区域面积所占的像素占整幅图像的比值小于15%;

2)最大皮肤区域的面积占总皮肤面积的比值小于45%;

3)皮肤区域数量小于3或超过60个。

算法实现的关键步骤为:

1)首先遍历图像上的所有像素点,检测像素颜色是否为肤色;

2)将相邻的判定为肤色的像素合并为某个皮肤区域,从而可以得到n个皮肤区域;

3)对某个皮肤区域的像素数量进行判断,若像素量极少(小于30个)则剔除。

基于YCbCr肤色检测算法的局限性在于如皮肤裸露较多但非色情图像的误检率较高,如对图5中的比基尼和米开朗琪罗著名作品《大卫》两张图像,YCbCr肤色检测算法均识别为色情图像,因此当一级识别结果为色情图像时,再利用NSFW模型识别进行二级识别。

图5 疑似色情图像

本文提出的基于深度学习的NSFW模型是由基于加权的混合卷积神经网络来实现的。模块体系结构如图6所示,包含8个CNN模型,每个模型都使用相同的体系结构,并使用普通最小二乘法计算每个模型的权重值。

图6 加权的混合卷积神经网络

由于深度神经网络模型需要较长的训练时间,本文是采用在单个训练过程中同时获取具有不同权重的八个子模型的方法,它可大幅减少训练时间。子模型是基于深度卷积神经网络的二分类模型,输出结果为0~1,数值越接近于1,疑似色情的概率越大。若数值<0.2表示很安全;当数值>0.8表示有非常大可能性是色情图像。实验模型的网络使用Caffe[5]在Hadoop和Spark模型训练集群中深度学习,网络结构采用ResNet[6]。

基于NSFW模型的色情图像识别流程如图7所示。

图7 基于NSFW模型的色情图像识别流程

利用NSFW模型分别对图5中的两张疑似色情图像进行检测,输出结果分别为0.01973和0.54456,在阈值为0.8时可判定为正常图像。

2 实验结果及分析

2.1 色情图像识别验证实验

首先,选择4000张彩色图片对色情图像识别进行试验,图像大小跨度几十至上千像素,图像种类包括BMP、JPG、PNG等网络常见图片格式,其中正常图片3200张(包含风景、幼儿、比基尼、实体雕像、人物等),色情图像(包括裸露皮肤和只露点等)800张,两者比例为4∶1。试验结果如表1所示。

表1 图像种类判断结果

通过实验结果我们可以看到,对正常图像和色情图像的总体检测率达到97%以上,表明该方法可满足实际应用的需求。

2.2 指定网站验证实验

1)选取从今日头条 https://www.toutiao.com 通过关键字美女爬取的357幅图像作为实验数据,其中未发现色情图像,识别正确率为100%。

2)选取某色情网站爬取的5726幅图像进行识别,其中107幅为正常图像,其余为色情图像,试验结果如表2所示。

表2 某色情网站图像识别结果

试验结果显示该系统可以满足网络色情图像检测的要求,将传统方法90%左右的正检率提升至97%。但在实际中还存在一些误判的情况,主要是两方面:一是将一些性感但不露点图像识别为色情图像;二是部分情趣露点或只露点但其他皮肤未裸露图像未能够正确识别,仍然被认为是正常图像。

3 结论

在互联网信息膨胀、网络不良图像泛滥的今天,色情图像识别过滤技术的研究具有很大的意义。本文将传统基于YCbCr肤色检测算法和基于深度学习的NSFW模型有效结合起来,构成二级识别模型,并使用分布式网络爬虫技术提高了网络色情图像的检测效率。实验统计结果表明,本文的色情图像识别技术能很好地实现色情图像的检测,并达到97%以上精度。

随着网络带宽的增大和流媒体技术的发展,网络视频和直播在互联网上所占的比重日益增大,对网络视频和直播内容的监控和识别势必成为未来的研究热点。对于网络视频和直播内容的检测也是后续的研究工作。该部分可通过提取出网络视频文件的关键帧图像和直播视频过程的截图,对其进行图像识别,从而实现对网络视频文件和直播内容的检测。

猜你喜欢

色情图像识别肤色
浅谈图像识别技术在打击绿通假证逃费中的应用
肤色(外一首)
西班牙担忧色情视频毁了青少年
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
基于Resnet-50的猫狗图像识别
图像识别在物联网上的应用
图像识别在水质检测中的应用
日本“色情报复”增多