基于权重策略的不良图像识别
周立前,胡柳,李瑞,黄丽君,胡盛龙,文志强
(湖南工业大学 计算机与通信学院,湖南 株洲,412007)
摘要:针对网络上不良图像泛滥问题,在人脸检测、肤色检测、图片纹理等分析方法的基础上,提出基于权重的不良图像识别的新方法。首先,选取合适的颜色空间;然后,对肤色区域的纹理信息进行提取;最后,采取特征权重策略,应用支持向量机方法对网络上搜集的不良图像和正常图片的相应特征进行训练与分类。研究结果表明:该方法对不良图像识别正确率达88.85%,正常图片识别正确率为86.70%,能应用于实际软件系统中对不良图像进行过滤。
关键词:权重策略;不良图像;肤色检测;支持向量机
中图分类号:TP391.41 文献标志码:A 文章编号:1672-7207(2013)11-4561-05
Recognition on porn image based on weight strategy
ZHOU Liqian, HU Liu, LI Rui, HUANG Lijun, HU Shenglong, WEN Zhiqiang
(School of Computer and Communication, Hunan University of Technology, Zhuzhou 412007, China)
Abstract: For the problem that the porn images on the network spread unchecked, a new method based on weight strategy was proposed for the recognition of porn image based on the face detection, skin-color detection, image texture analysis and other methods. The appropriate color space was firstly selected. Then the texture information from skin region was extracted. Finally the corresponding characteristics of porn image and normal picture collected from network were trained and classified by the feature weight strategy and the method of support vector machine (SVM).The results show that the accuracy rate of this method is 88.85% for the recognition of porn image and 86.70% for normal picture, and the method can be applied to filter porn image in actual software system.
Key words: weights strategy; porn image; skin detection; support vector machine
随着互联网络基础设施不断完善和人民生活水平的提高,越来越多的用户每天都会接触到网络中各种不良信息。第31次中国互联网络发展状况统计报告[1]显示:截至2012年12月底我国网民规模达5.64亿,19岁以下青少年规模达1.45亿,我国域名总数为1 341万个。大量非法网站提供对青少年有害的不良信息,致使青少年犯罪数量急剧增加。另据中国互联网违法和不良信息举报中心的举报受理情况显示,每月举报的数量中淫秽色情信息占70%以上。网络中大量的不良信息严重影响青少年的思想观念、学业成绩和个性发展。不良信息的种类很多,其中尤以淫秽色情信息中的图片居首。Phung等[2]根据贝叶斯决策理论训练大量的人体肤色图片并获取人体肤色纹理信息来确定人体肤色模型,但是,此方法的数据计算量大,效率较低。Lin[3]利用Y-Cb-Cr颜色空间,通过设定各像素分量阈值实现人脸肤色区域的选择,这适用于光照亮度较高的情况,当面部光线较暗时, 该方法错检率很高。叶利华[4]提出分段肤色模型、纹理粗糙度和肤色块的分形维数相结合,获得了较高的检出率和较低的误检率,还可以加入人脸检测等方法获取更好的识别效果。周建政等[5]提出一种基于SVM的网络不良图像过滤方法,提取图像的肤色、人脸位置、形状和背景等信息组成特征向量,采用SVM分类器训练得到检测模型,不良图像的识别率为83.9%,还能获取全面特征以提高识别率。在此,本文作者提出人脸检测、肤色检测、图片纹理和特殊图片的结合处理方法,通过对特征向量采取权重策略,分类方法采用SVM方法实现对不良图像的分类。
1 权重计算方法
权重的确定是目标决策的重要环节,采用一定的理论、方法与技术将实际问题中各部分的重要性以数值表示,为决策过程提供可计量的值。目前,常用的几种计算指标权重的方法有经验性方法、因子分析方法、信息量方法、独立性方法、RSR方法和层次分析方法[6]。本文采用经验法对权重进行初次分配,通过对相关专家和其他人员给出的权重进行统计,计算式为
(1)
其中:j为特征项,共8个;n为专家和其他人员数量;sij为第i个专家或其他人员给出的第j个特征的权重。
2 不良图像特征
2.1 皮肤区域
肤色检测在不良图像识别过程中占据着重要的位置,在一般情况下,认为肤色区域占整个图片区域的1/3以上就将初步认为是不良图片。但图片受光照的影响造成大量肤色区域的错误判断,而先进行人脸检测、亮度归一化及gamma矫正[7]等操作可以降低光照对肤色判断的错误率。
2.1.1 人脸检测
人脸检测是指在给定的图片中寻找并确定人脸的位置、大小、数量的过程,它通过大量的人脸库进行训练,得到相应的分类器。目前,大多数人脸检测采取Adaboost算法[8-10]实现。Viola等[11]提出一种基于Haar特征的Adaboost算法,为人脸检测的实际应用提供了可能。人脸检测的方法有基于知识的方法、基于模板匹配的方法、基于统计的方法和基于特征的方法。本文采用基于Haar特征的Adaboost算法的人脸图像分类器,该分类器在寻找人脸时具有速度快、效率高的特点。识别流程图如图1所示,典型实例如图2所示。其特征表示采用xml描述如下。
<_>矩阵 像素和的权值
<_>矩阵 像素和的权值 //这2个矩阵形成1个Haar特征
是否倾斜
阈值
小于阈值时取此值
大于阈值时取此值
图1 人脸识别流程图
Fig.1 Flowchart of face detection
图2 人脸原图识别结果
Fig.2 Original face and results of face detection
2.1.2 肤色检测
(1) 颜色空间的选择。由于图片受光照影响而导致直接判断肤色的难度较大,RGB颜色空间对光照强度的变化比较敏感,在传统的RGB颜色空间中进行分析难以得到较好的效果[12]。同时,人类肤色具有类聚性[13]。在Y-Cb-Cr颜色空间中,Y为亮度,Cb为蓝色色度分量,Cr为红色色度分量。亮度具有独立性,能有效适应不同光照的影响,其转换过程如式(2)所示。实验结果表明:人体肤色Cb和Cr分量具有良好的类聚性,如图3所示。对手工截取的70张肤色图片进行统计分析,得出Cb分量在[88, 133]区间中,Cr分量在[122, 169]区间中。
(2)
图3 Cb 和Cr分量类聚性
Fig.3 Class cohesion of Cb and Cr component
(2) 依据人脸的肤色识别。在人脸检测结果中,脸部的肤色Y-Cb-Cr数据可以准确地分析出来,因为大部分肤色区域的Cb-Cr具有连续性,且像素数量较多,某一级分量值会有跳跃性的变化。可以通过如下程序得到人脸肤色区域:
Int Cb[256], Cr[256]; //Cb和Cr分量各值的统计
Int N; //阈值
Int maxCb, minCb, maxCr, minCr, i;
/* 初始化Cb,Cr数组及阈值N */
For(i=80; i<150; i++)
If(Cb[i+1]-Cb[i]>N)
{minCb=i+1; break; }
For(i=150; i>80; i--)
If(Cb[i-1]-Cb[i]>N)
{maxCb=i-1; break;}
同理可以求出maxCr和minCr。通过对不同光照下70张肤色图像的分析,N取101达到最好的肤色识别效果。在识别时符合下述条件则被认为是肤色点:minCb<Cb<maxCb,minCr<Cr<maxCr。
(3) 依据阈值的肤色识别。由于人脸检测并不一定能找到图片中的人脸,在这种情况下,只能采用阈值的方法来识别肤色点,根据前面的分析对图片的像素进行判断,当88<Cb<133,122<Cr<169时就初步认为是肤色点,通过实验表明此方法存在很多错误的判断,需要有其他方法的修正,如文献[14]中提出在Y-Cg-Cr颜色空间中采用动态阈值的方法。
图4 依据阈值的肤色识别
Fig.4 Skin identification based on threshold
(4) 消除噪音点。在图4中有很多非肤色点被错误地认为是肤色点,对此类误判的信息需要纠正,可以采用滤波方法、连通区域[12]、邻域信息等方法消除此类错误。此外,人体肤色在一般情况下是大块区域,对图4(b)所示的下边部分错误信息可以很准确地消除。
2.2 纹理信息
图片纹理特征不依赖于颜色或亮度信息,不同的对象有不同的纹理特征。至今已有很多关于皮肤纹理算法在不良图像识别中的应用,叶利华[4]利用候选区域的纹理粗糙度对纹理粗糙度进行研究过滤。柳柏超[15]提出将低于纹理模型阈值区域中的点去除,有效降低了肤色的误检率。灰度共生矩阵[16]能反映出图像灰度关于方向、相邻间隔、变化幅度的综合信息,根据它可以对纹理特征进行抽取与分析。本文采用此方法得出肤色图片的熵、能量、对比度、相关性和反差分矩阵5个特征。
(1) 图片灰度化,灰度等级化。对于灰度图片,由于人眼的分辨率的限制、加快处理速度,采取灰度等级为256级。
(2) 初始化共生矩阵。
(3) 计算共生矩阵。
(4) 特征值的计算:
(3)
(4)
(5)
(6)
(7)
其中:p(i, j)为灰度共生矩阵中(i, j)处的值;n为灰度级的平方根,这里取为16;ent为熵;asm为能量;con为对比度;cor为相关性;idm为反差分矩阵。
以上5个特征值组成图片的纹理特征向量(ent, asm, con, cor, idm),这里只考虑水平方向上的情况,若再添加垂直和对角线方向的特征,则可以产生20个特征向量。同时,纹理特征也适应于特殊情景的判别,如判别动物园里的猴子等。直接进行肤色检测时,猴子身上的毛发由于类似于肤色而导致大部分会被认为是肤色,而通过纹理的分析,就能与人体肤色相区分。
3 实验与结果
3.1 特征权重分配与数据训练
3.1.1 特征权重分配
为了提高不良图像的识别正确率,对各特征值权重进行计算。根据对专家和相关人员提供的数据进行统计,所涉及的肤色面积与图片面积比、人脸面积与图片面积比、人脸面积与肤色面积比以及纹理的5个特征共8个特征权重分配如表1所示。表1中的权重是初次分配的权重,后期将根据实验数据不断调整以实现最佳效果。最后,将这8个特征进行整体训练与分类,最终结果模型如表2所示。表2中:单独特征结果是按表1得到的结果,若权重之和达60%则认为是正,否则为负。特征整体结果是将这8个特征作为整体进行SVM分类得到的结果。不良图像为正样本,正常图片为负样本。
表1 特征权重分配
Table 1 Feature weights assignment
表2 模型识别结果
Table 2 Recognition results of model
3.1.2 正负样本数据训练
通过网络图片的收集,获取356张不良图像、580张现实生活中正常图片以及80张类肤色图片的8个特征值,通过对特征值的统计与分析,得到正负样本各特征值所在的区间。采用libsvm[17]进行训练,将这8个特征组成1个特征向量进行整体特征训练。采用正样本以1表示,负样本以0表示,训练数据格式如下:label [index:value] [index:value]…,如1 1:0.345 2:0.146 3:0.119。在训练过程中,需要注意SVM核函数与参数的选择,本文采用RBF核函数,其他均采用libsvm默认设置,通过提供的svmtrain工具直接进行训练。
3.2 计算过程
通过上述内容,可以实现对输入的图片进行分析、计算与分类,过程如下。
(1) 输入图片,进行灰度化、大小处理等初始化操作。
(2) 人脸识别、肤色检测。
(3) 计算各特征值。若人脸面积占图片面积1/3以上或人脸面积占肤色面积1/4以上,则直接判定为正常图片。
(4) 判断这8个特征值所在的区间,若在正样本区间,则按表1进行权重统计得到综合值;若综合值大于等于60%,则认为是不良图片。
(5) 将这8个特征值组成1个特征向量进行SVM分类,得到整体特征的计算结果。
(6) 将步骤(4)和(5)所得结果按表2得到最终的判定结果。
3.3 实验结果与分析
为了验证本文的有效性,随机选取网络上的不良图像260张、正常图片525张进行试验。图片的类型包括有jpg,bmp和png等常见的格式,正常图片是随机选取的人物、风景及主题活动的图片。实验采用的计算机硬件配置为双核CPU主频2.4 GHz,内存为2 GB。通过上述计算得到:不良图像正确识别231张,正确率为88.85%;正常图片正确识别455张,正确率为86.70%。在VS2010环境下,每张图片的识别平均耗时0.77 s,其中部分不良图片的识别都会在算法前3步所得结果,有效地提高了平均识别速度。与文献[5]中的结果相比,不良图像识别正确率和平均识别率都提高,能满足实际应用系统的需求,可用于对不良图像进行识别与过滤。
对测试结果进行分析,影响识别正确率的主要因素有以下几个方面。
(1) 肤色检测还需要进一步优化。在算法时间复杂度不产生明显影响的情况下结合HSV等颜色空间进行组合,尽可能地消除错误肤色信息对识别结果的影响。传统的阈值判断对有类肤色颜色信息不能有效区分,存在大量的错误识别,严重影响效果与处理速度。
(2) 用于训练特征的图片数量较少,本文中用于训练的数量只有936张,后期需要搜集更多的图片通过获取其特征进行SVM训练,以达到更好的分类效果。
(3) 图片的特征有很多,本文选取8个主要特征,还可以添加肤色连通区域数、肤色连通区域及其形状信息等特征值,组成更加有效的图片特征向量。
4 结论
(1) 通过对图像中的人脸识别、肤色检测、纹理特征提取等过程,获得用于图像检测的8个特征,得到的特征包括了图像的主要有用信息。
(2) 提出了基于权重策略的不良图像检测算法。对获得的图像特征信息,采用权重策略和SVM方法进行训练与分类,得到的识别正确率高,不良图像识别正确率达88.85%,正常图片识别正确率为86.70%。
参考文献:
[1] 中国互联网络信息中心. 第31次中国互联网络发展状况统计报告[R]. 北京: 中国互联网络信息中心, 2013.
China Internet Network Information Center (CNNIC). The 31st China internet development statistics report[R]. Beijing: CNNIC, 2013.
[2] Phung S L, Chai D, Bouzerdoum A. Adaptive skin segmentation in color images[C]// IEEE International Conference on Acoustics, Speech and Signal Processing. Hong Kong, China, 2003: 353-356.
[3] Lin C. Face detection in complicated backgrounds and different illumination conditions by using YCbCr colors pace and neural network[J]. Pattern Recognition Letters, 2007, 28(16): 2190-2200.
[4] 叶利华. 敏感图片过滤中大块皮肤区域的检测方法[J]. 计算机应用, 2011, 31(6): 1617-1620.
YE Lihua. Big skin exposure detection for adult image filtering[J]. Journal of Computer Applications, 2011, 31(6): 1617-1620.
[5] 周建政, 陈法叶, 姚金良. 一种基于SVM的网络不良图像过滤方法[J]. 计算机应用与软件, 2012, 29(5): 251-253, 269.
ZHOU Jianzheng, CHEN Faye, YAO Jinliang. An internet porn image filtering method based on SVM[J]. Computer Applications and Software, 2012, 29(5): 251-253, 269.
[6] 刘自远, 刘成福. 综合评价中指标权重系数确定方法探讨[J]. 中国卫生质量管理, 2006, 13(2): 44-48.
LIU Ziyuan, LIU Chengfu. Study on methods of determining weight coefficient of index in comprehensive evaluation[J]. Chinese Health Quality Management, 2006, 13(2): 44-48.
[7] Dong U L, Ray C C Cheung, John D Villasenor. A flexible architecture for precise gamma correction[J]. IEEE Transactions on Very Large Scale Integration (VLSI) System, 2007, 15(4): 474-478.
[8] 李明瑞, 傅明, 曹敦. 基于肤色检测的AdaBoost人脸检测算法改进[J]. 计算机工程, 2012, 38(19): 147-150.
LI Mingrui, FU Ming, CAO Dun. Improvement of AdaBoost face detection algorithm based on skin color detection[J]. Computer Engineering, 2012, 38(19): 147-150.
[9] Hsu R L, Mottaleb M A, Jain A K. Face detection in color image[J]. IEEE Transactions on Patten Analysis and Machine Intelligence, 2006, 24(5): 696-706.
[10] ZHANG Qieshi, Kamata S, ZHANG Jun. Face detection and tracking in color images using color centroids segmentation[C]// Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics. Bangkok, Thailand: IEEE Press, 2009: 1008-1013.
[11] Viola P, Jones M. Robust real-time object detection[J]. International Journal of Computer Version, 2004, 57(2): 137-154.
[12] 李全彬, 王小明, 刘锦高, 等. 复杂光下的人脸肤色检测方法[J]. 计算机应用, 2010, 30(6): 1594-1596.
LI Quanbin, WANG Xiaoming, LIU Jigao, et al. Face skin color detection in complicated illumination conditions[J]. Journal of Computer Applications, 2010, 30(6): 1594-1596.
[13] Pai Y T, Lee L T, Ruan S J, et al. Honeycomb model based skin color detector for face detection[C]// Proceedings of 15th International Conference on Mechatronics and Machine Vision in Practice. Auckland, New Zealand: IEEE Press, 2008: 11-16.
[14] 熊霞, 桑庆兵. 光照自适应的肤色检测方法[J]. 计算机应用, 2011, 31(5): 1233-1236.
XIONG Xia, SANG Qingbing. Illumination-adaptive skin color detection method[J]. Journal of Computer Applications, 2011, 31(5): 1233-1236.
[15] 柳伯超. 基于内容的不良图像识别研究[D]. 济南: 山东师范大学信息科学与工程学院, 2007: 1-30.
LIU Bochao. Content-based porn image recognition research[D]. Jinan: Shandong Normal University. School of Information Science & Engineering, 2007: 1-30.
[16] 谢菲, 陈雷霆, 邱航. 基于纹理特征提取的图像分类方法研究及系统实现[J]. 计算机应用研究, 2009, 26(7): 2767-2770.
XIE Fei, CHEN Leiting, QIU Hang. Research of image classification method based on texture feature extraction and system to achieve[J]. Application Research of Computers, 2009, 26(7): 2767-2770.
[17] Chih C C, Chih J L. LIBSVM: A library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology, 2011, 2(3): 27:1-27:27.
(编辑 陈灿华)
收稿日期:2013-02-28;修回日期:2013-04-27
基金项目:国家自然科学基金资助项目(61170102);湖南省自然科学基金资助项目(13JJ3109);湖南省教育厅重点项目(13A004)
通信作者:周立前(1970-),男,湖南涟源人,博士,副教授,从事生物信息学与计算机软件开发技术研究;电话:0731-22183432;E-mail: zhoulq11@163.com