首页> 中国专利> 基于敏感部位检测的色情图像识别方法

基于敏感部位检测的色情图像识别方法

摘要

本发明公开了一种基于敏感部位检测的色情图像识别方法,包括:步骤1.模型训练阶段,构建五套图像库,训练出肤色预测模型、乳晕检测器和阴部检测器、乳晕鉴别器和阴部鉴别器;步骤2.预处理及待检测区域提取阶段,用肤色预测模型对待检测图像进行肤色预处理,提取待检侧区域;步骤3.敏感部位检测阶段,采用滑动窗口的方式在待检测区域中判断是否有某个子区域属于疑似敏感部位,并对该疑似敏感部位进行鉴别判断。本发明将颜色、纹理、边缘和表观等特征融合到一个基于学习的图像识别框架中,实现了对两种敏感部位的快速、同步检测,提高了色情图像识别准确率和识别效率。

著录项

  • 公开/公告号CN102184419A

    专利类型发明专利

  • 公开/公告日2011-09-14

    原文格式PDF

  • 申请/专利权人 深圳市迈科龙影像技术有限公司;

    申请/专利号CN201110092633.6

  • 申请日2011-04-13

  • 分类号G06K9/66(20060101);

  • 代理机构44247 深圳市康弘知识产权代理有限公司;

  • 代理人胡朝阳;孙洁敏

  • 地址 518000 广东省深圳市南山区高新区高新南七道T3A栋5楼

  • 入库时间 2023-12-18 03:08:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-01

    授权

    授权

  • 2012-01-25

    实质审查的生效 IPC(主分类):G06K9/66 申请日:20110413

    实质审查的生效

  • 2011-09-14

    公开

    公开

说明书

技术领域

本发明涉及图像识别方法,尤其涉及一种基于人体敏感部位检测的色情图像识别方法。

背景技术

传统色情图像检测技术在肤色检测之后,会进行以下两种检测中的一种:(1)基于模型的检测,主要检测人体躯干;(2)基于区域的检测,从肤色区域中提取如形状、纹理等特征进行识别。这些方法的主要问题是没有对人体敏感部位进行检测,而大面积的肤色区域并不代表就是色情图像(如比基尼图像),会导致严重的误判现象(如“绿坝·花季护航”检测方法会将加菲猫等卡通图像误判为色情图像)。

在目标检测领域,基于统计学习的方法已被证明具有最佳的性能。其中最具代表性的是由康柏公司Cambridge研究室的Viola和Jones于2001年提出的目标检测框架。基于此框架,2010年,新加坡A*Star研究中心的Yue等人首先检测似乳晕区域,接着使用形状和彩色信息进一步鉴别出候选区域中哪些是乳晕。同年,申请号201010237982.8的中国专利申请公开了“一种基于肤色和特征部位联合检测的色情图片识别方法”,该方法也基于此框架检测乳晕,另外还加入了肤色检测模块。然而这两种方法存在以下问题:(1)检出率有待提高。(2)检测效率低。由于Viola-Jones框架是采用的穷举搜索策略进行搜索,检测速度随图像尺寸增大迅速下降,使得这些方法难以实用。(3)假阳性的排除方法不够可靠。前者依赖于canny算子对各种变化的乳晕图像的分割效果和人为定义的一些经验阈值;后者设置的4个经验条件过强,如引入人脸检测及霍夫变换等方法会进一步降低算法可靠性和效率。实际图片中的乳晕千差万别,一旦不满足上述人为定义的先验,算法将失效。(4)经验参数多。前者设置了3个比例阈值;后者所采用的肤色模型中高斯密度函数个数为经验值,难以适应不同光照条件、不同摄像机参数等导致的肤色分布的变化;设置的鉴别色情与非色情图片的肤色检测比例阈值也是经验值,事实上许多色情图片中的这一比值都可能小于该值,故将造成大量色情图像漏检。(5)没有对阴部进行检测。若一幅色情图像中仅有阴部而不含乳晕,则现有方法无法将其过滤掉。

发明内容

本发明旨在提供一种基于人体敏感部位检测的色情图像识别方法,该方法能快速查找色情图片,且能在提高检出率,大大降低误检率。

为实现上述目的,本发明提出的敏感部位检测方法包括下列步骤:

步骤1.模型训练阶段,构建五套图像库,训练出肤色预测模型、乳晕检测器和阴部检测器、乳晕鉴别器和阴部鉴别器;

步骤2.预处理及待检测区域提取阶段,用肤色预测模型对待检测图像进行肤色预处理,约束敏感部位检测时的搜索空间,提取待检侧区域;

步骤3.敏感部位检测阶段,采用滑动窗口的方式在待检测区域中判断是否有某个子区域属于疑似敏感部位,并对该疑似敏感部位进行鉴别判断。

步骤1中,训练肤色预测模型的步骤11为:在三种彩色(RGB)空间上使用基于直方图技术的贝叶斯分类法(SPM)训练。

步骤1中,训练乳晕检测器和阴部检测器的步骤12为:基于Viola-Jones框架,先提取扩展哈尔(Haar)特征,接着使用自适应增强算法(AdaBoost)进行特征选择并组成强分类器,再用级联强分类器组成最终检测器,所述级联强分类器的级联层数在20~30层之间。

步骤1中,训练乳晕鉴别器和阴部鉴别器的步骤13为:基于学习的算法框架,在乳晕检测器和阴部检测器之后再分别增加一层分类器,用于对乳晕检测器和阴部检测器检测出来的疑似敏感部位做进一步判断。

所述的分类器综合利用了颜色、纹理和边缘特征,包括内外彩色均值、肤色占空比、肤色纹理特征、内外灰度方差、局部二值模式(LBP)、和Tamura纹理特征。

步骤2中,所述的预处理及待检测区域提取的方法包括:

步骤21.将待检图像缩小到原图的10%大小,用贝叶斯分类法模型对其进行肤色预测,若肤色面积比例小于缩小后图像面积的10%,则认为该图像是正常图;

步骤22.若该比例大于10%,则以原图中心为中心,截取面积占原图85%的区域,并将该区域的长边缩小到200个像素;

步骤23.再次对此区域用贝叶斯分类法模型求肤色,排除其中肤色像素个数少于200的区域,求得剩下的区域在原图中的位置,并用矩形框表示;

步骤24.排除矩形框面积小于原图面积20%的矩形框,获得待检测区域。

步骤3中,所述的敏感部位检测方法包括:

步骤31.首先使用敏感部位类型估计器估计滑动窗口约束的待检侧区域的类型,再送入对应的乳晕检测器和乳晕鉴别器,阴部检测器和阴部鉴别器进行判断;

步骤32.若某个子窗口被判断为是敏感部位,则该图像被判为色情图像;若全部子窗口都不含敏感部位,则认为是正常图像。

与现有技术相比,本发明将形态、颜色、纹理、边缘和表观等特征融合到一个联合AdaBoost和MLP的级联强分类器中,实现了对两种敏感部位的同步检测,并运用肤色检测技术约束检测器的搜索空间,达到了对色情图像和正常图像快速可靠的鉴别。

附图说明

图1为本发明提出的色情图像识别流程图。

图2为本发明中预处理及待检测区域提取流程图。

图3为本发明敏感部位检测流程图。

具体实施方式

本发明的技术原理包括图像处理、模式识别及机器学习,采用的技术方案是在检测肤色之后,从检测人体敏感部位着手,加强对色情图像鉴别的可靠性,同时大大减少对非色情图像的误判。

如图1所示,本发明针对敏感部位的检测方法包括以下步骤:

步骤1.模型训练阶段,该阶段共需训练五种模型:肤色预测模型、乳晕检测器、阴部检测器、乳晕鉴别器和阴部鉴别器。

步骤11.训练肤色预测模型

2007年莱特州立大学Kakumanu等人对肤色建模和预测方法进行了综述,结果显示,在Compaq库和ECU库上,基于直方图技术的贝叶斯分类法(也叫皮肤概率图,SPM)的准确率比高斯混合模型(GMM)和多层感知器(MLP)要高,且检测速度很快,故本发明采用于直方图技术的贝叶斯分类法。此外,瓦伦西亚理工大学的Albiol等人通过理论证明和实验验证指出,在三种彩色空间(RGB、YCbCr、HSV)上使用贝叶斯分类器进行肤色预测的性能相当,故本发明采用最常用的RGB彩色空间。

SPM的核心思想是首先计算肤色与非肤色分布概率,然后运用贝叶斯决策规则构建肤色分类器,从而对于输入图像中的每个像素,当其是肤色的概率大于阈值时,即可认为该像素为肤色像素。实际使用时,给定肤色和非肤色模型的类条件概率密度,就可使用贝叶斯最大似然估计法构建一个肤色分类器,如公式(1),满足公式(1)的像素将被分类为皮肤像素:

P(c/skin)P(c/non-skin)θ,---(1)

阈值0≤θ≤1,用于调节分类器的正检率和错检率。上式中的类条件概率密度(分子和分母)由下式计算获得:

P(c/skin)=s(c)Ts,P(c/non-skin)=n(c)Tn,---(2)

c表示像素在RGB空间中的三个颜色分量值,s(c)表示皮肤颜色直方图的c仓中的像素个数,n(c)表示非皮肤颜色直方图的c仓中的像素个数。Ts和Tn分别表示皮肤和非皮肤直方图中的总像素个数。

由于一个3维RGB直方图将包含2563个仓,存储空间巨大,本发明根据康柏公司Cambridge研究室的Jones和Rehg的研究将其由256级量化为32级。

SPM的训练目标是:

(a)立查找表,以快速获取待测像素属于肤色和非肤色的类条件概率密度,如公式(2)所示;

(b)确定公式(1)中的阈值θ。

为实现目标(a),构建了近3000幅图像的肤色训练库,共含肤色像素约1亿个,非肤色像素约40亿个。这样,训练集中的肤色能涵盖丰富的颜色及光照变化。接着,将颜色空间量化,分别计算出皮肤与非皮肤颜色的直方图统计。

为实现目标(b),利用ROC曲线来确定最优阈值θ。ROC曲线是错误拒绝率(FRR)关于错误接受率(FAR)的曲线。FRR和FAR的等错误率点代表了平均错误率最小的点。从而得到θ=1.66。此时FRR=0.099,FAR=0.101。

步骤12.训练乳晕检测器和阴部检测器

Viola-Jones目标检测框架已在多个领域取得了成功,尤其适合用于“块”状特征物体的检测,如眼睛、嘴巴等。考虑到乳晕及阴部也具有这种“块”状特征,如乳晕和眼睛的特征较类似,而阴部和嘴巴的特征较类似,本发明采用Viola-Jones框架训练了级联AdaBoost乳晕检测器和阴部检测器。

训练的目的是提供一系列分类器,这些分类器能区分敏感部位和非敏感部位。为此,首先要准备正负样本集。基于学习的目标检测方法的检出率严重依赖于训练样本,因为检测器“不认识”训练集中没有的变化模式。因此,有必要构建充足的正样本集,这里充足是指要能涵盖丰富的变化,如形状、角度、颜色、光照、遮挡等变化。本发明从2000幅有乳晕的图片中截取了1300个乳晕图像,截取内容包括乳头、乳晕及周围一定比例的皮肤,其中,周围的皮肤对于分类非常重要,它不仅可以提供额外的可视信息,也是“块”特征的重要组成部分。接着人工剔除这些图像中较相似的,共得到948个。然后通过旋转、平移、裁剪等方式进一步丰富训练样本库到2788个。最后,通过双线性插值法将这些样本变换到24×24大小。第一组负样本集是从正常图像中随机截取的3000幅图像。用类似方法构建了阴部正样本图像1658幅。

用扩展Haar特征来描述训练样本集的表观,并提取这些特征用于AdaBoost学习。AdaBoost学习的原理是迭代地选择最佳弱分类器及其相应的权值来组成一个强分类器,每次迭代时,被错分的样本将在下次迭代时获得更大的权值,强分类器的组成是通过如公式(3)所示的弱分类器的联合:

H(R)=Σt=1Tatht(R)---(3)

R表示图像区域,ht(R)是一个弱分类器,at是各弱分类器的权值。通过实验比较,考虑到算法效率,本发明采用树桩作为弱分类器。

级联分类器能进一步提高检测器的效率,级联方式为:首先用上述AdaBoost方法不断选出Haar特征组成第一个强分类器,直到检测率和假阳性率能超过预定值;如果这时的总体假阳性率未达到预定值,再用此强分类器在一组不含正样本的图片上寻找错误检测结果来组成下一阶段训练的负样本集。级联的过程就是不断训练出更复杂的强分类器,直到总体假阳性率小于预定值。本发明中每个强分类器的预定检测率为0.999,假阳性率为0.5。总体级联层数预设为30。训练乳晕检测器共用负样本约15000个,阴部检测器约7000个。

步骤13.训练乳晕鉴别器和阴部鉴别器

基于Viola-Jones框架训练的检测器只利用了样本的表观特征,不足以区分大千世界中的海量负样本。如对乳晕来说,眼睛和肚脐是“难以区分”的负样本。现有方法都是利用一些简单的规则如面积、圆形度等来排除易混淆的负样本,甚至还有加入人脸检测来试图排除“眼睛”这一与乳晕最易混淆的模式。然而如此简单的规则难有广泛有效性,而普通的人脸检测算法也很难做到快速准确并能检测各种姿态变化的人脸,同时还可能将大量阳性检测结果误判为阴性。

为排除级联分类器之后的假阳性结果,本发明进一步扩展基于学习的算法框架,在敏感部位检测器之后再增加了一层分类器,对敏感部位检测器检测出来的候选目标进一步判断,该分类器综合利用了颜色、纹理、边缘等特征共79维,下面以乳晕为例,对训练乳晕鉴别器的样本、特征提取及分类器进行说明(阴部类似,区别为训练用正负样本数各586幅):

(a)训练样本

训练用正负样本各948幅。其中正样本与训练乳晕检测器的948幅相同,负样本选自乳晕检测器不能正确识别的样本,这样做符合Bootstrap的思想。具体做法是对大量正常图像运行30层乳晕检测器,搜集假阳性检测结果。

(b)特征提取

所提取的特征广义上来说或分为两类,一类是基于肤色的特征,另一类是与肤色无关的特征。

b-1基于肤色的特征

b-1-1内外彩色均值:将图像大小缩放到48×48像素,分别计算中心区域32×32像素范围内的R、G、B各通道的均值,和中心区域外的R、G、B各通道的均值。共6维特征。

b-1-2肤色占空比:易混淆的负样本如眼睛,其中心区域必不为肤色。据此,肤色占空比是一个强有力的判别特征。同时,为保留空间信息,再按b-1-1中的区域划分方式提取了内部肤色占空比和外部肤色占空比两个特征。共3维特征,如公式(4):

Skinratio=skinnum48×48

Skinratioin=skinnumin32×32

Skinratioout=skinnumout48×48-32×32---(4)

skinnum表示肤色像素数,skinnu min表示内部肤色像素数,skinnumout表示外部肤色像素数。实验发现,此特征的加入,使分类性能上升近10%。

b-1-3肤色纹理特征:参考google公司Rowley等人2006年的工作,提取了三种基于Canny算子的描述皮肤纹理的特征,共3维特征,如公式(5)。Canny算子的阈值由自适应方法获取。

Skincanny1=edgeinskinskinnum

Skincanny2=edgeinskinedgenum

Skincanny3=edgenum48×48---(5)

edgeinskin表示肤色区域内的边缘像素数,skinnum表示肤色像素总数,edgenum表示边缘像素总数。

b-2与肤色无关的特征

b-2-1内外灰度方差:将图像转化为灰度图,再按b-1-1中的区域划分方式提取了内部和外部方差。共2维特征。

b-2-2局部二值模式:即LBP特征,该特征由Oulu大学的Ojala等人在2002年提出,是重要的基于区域的纹理描述算子,其对灰阶改变具有不变性,且效率极高,已在诸如人脸识别等大量领域成功应用。乳晕区域和其他区域有较明显的纹理分布差异,本发明采用U(8,2)结构的LBP来提取纹理特征,提取时将图像大小缩放到48×48,得到59维的特征向量。其中U(8,2)表示LBP算子结构为以2为半径的中心点周围8个点。

b-2-3Tamura纹理特征:该特征是由加拿大国家研究协会的Tamura等人于1978年提出,其6个分量对应于心理学角度上纹理特征的6种属性,分别是粗糙度、对比度、方向度、线像度、规整度和粗略度。其中如粗糙度和线像度等对于区分负样本有较大贡献。

c分类器

在模式识别实际应用中,没有哪一个分类器一定会比其他分类器性能更好。目前,较成熟的分类方法有:多层感知器(MLP)网络、支持向量机(SVM)、随机森林(RF)和AdaBoost。为比较他们对于乳晕和阴部的鉴别性能,采用5重交叉验证法进行评估,并调整各分类器的参数以使分类性能最优。实验结果如表1所示,显然MLP的分类性能最优,且此类方法识别速度较快,故本发明采用之。

表1.四种分类器的分类性能对比

MLP属于一种前馈网络,它的学习算法大多采用BP算法。BP算法是由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。

本发明中BP网络的设计从网络层数、隐含层中神经元个数、激活函数以及其他参数等几个方面进行考虑。

c-1网络层数:实验发现,选用含一层隐含层加一个输出层的神经网络用于分类即可实现较好的分类效果。

c-2隐含层中神经元个数:目前神经元数目的确定在理论上并没有一个明确的规定,本发明采用目前较流行的估计方式,即:

N=fn+cn2---(6)

fn表示特征数量,cn表示类别数。

c-3激活函数:采用目前使用最广泛的sigmoid函数。

c-4其他参数:网络训练的最多步数设为500,学习率设为0.3,冲量项设为0.2。

虽然MLP总体上能取得较高的分类准确率,但为了进一步降低加入鉴别器后对原来被正确检测到的目标的漏判,即最小化鉴别器对原始检出率的降低,有必要进一步提高鉴别器的真阳性率。提高真阳性率的同时,真阴性率的少许下降是可以容忍的,因为检测器错检的可能性是较小的。本发明采用合成少数过采样技术(SMOTE)将训练正样本集扩张1倍,再采用c中的参数构建MLP网络,5重交叉验证得到对乳晕95.8%的总体分类准确率,其中真阳性率为97.9%,真阴性率为91.6%;对阴部94.3%的总体分类准确率,其中真阳性率为96.2%,真阴性率为90.4%。SMOTE是由南佛罗里达大学的Chawla等人于2002年提出的数据预处理方法,其核心思想是通过人工合成某一类的新样本,从而达到对该类识别率和总体识别率的提升。合成方式如公示(7)所示:

Syn(j)=sample(i)+rand(0-1)×diff      (7)

Syn(j)表示合成的新样本,sample(i)表示原始样本,rand(0-1)表示产生0-1之间的随机数,diff表示原始样本与其k最近邻样本的差异。

步骤2、预处理及待检测区域提取阶段。本阶段的主要目的是约束敏感部位检测器的搜索空间,详细流程如图2所示。

步骤21.对于一幅输入的彩色图像,首先将其缩小到原图的10%大小,用SPM模型对其进行肤色预测,若肤色面积比例小于缩小后图像面积的10%,则认为该图是正常图;

步骤22.若该比例大于10%,则以原图中心为中心,截取面积占原图85%的区域,并将该区域的长边缩小到200个像素,短边也按此比例缩小;

步骤23.再次对此区域用SPM模型求肤色,获得的肤色区域用其最小外截矩形框表示,排除其中肤色像素个数少于200的矩形框。剩下的矩形框按比例放大,以得到其在原图中的位置;

步骤24.排除矩形框面积小于原图面积20%的矩形框,从而获得最终的待搜索区域。

步骤3.敏感部位检测阶段,主要采用滑动窗口技术对待检测区域中是否含有敏感部位进行检测,详细流程如图3所示,包括下列步骤:

步骤31.因需实现对两种敏感部位的同步检测,本发明参考2005年清华大学的艾海舟等人在解决多视角人脸检测问题时提出的人脸姿态估计器,提出了敏感部位类型估计器,即在判断某子窗口是否是敏感部位时,先用利用AdaBoost强分类器的置信度进行仲裁,以估计该子窗口属于哪种敏感部位。具体来说,分别让子窗口通过乳晕检测器和阴部检测器的前5层,以第5层的置信度更大者为子窗口类型,若该子窗口在两个检测器的前5层都被抛弃,则被认为是非敏感部位。这样做的好处是在类型估计时不引入额外开销。

步骤32.根据上述类型估计结果,将子窗口送入对应的敏感部位检测器中的后续层中,再将能顺利通过的子窗口送入对应的鉴别器,能完全通过任意一种检测器和鉴别器的子窗口将被判为敏感部位,否则被判为非敏感部位。当有子窗口被判为敏感部位时,检测过程结束,该图像被识别为色情图像;若全部子窗口都不是敏感部位,则被识别为正常图像。

本发明还采用如下方式进一步加快搜索速度并保证检出率:

(1)纵坐标方向的滑动步长为2个像素;

(2)当同一个区域内至少出现2个检测结果时,才认为是检测到了一个目标。

测试于100幅色情图像的结果显示,上述方式使检出率下降<1%,检测时间下降近0.5秒。测试机器CPU为AMD(D)1.9G,内存4G。

实施例一:基于上述方法所开发的色情图像过滤系统测试于9689幅图像,其中色情图像3168幅,正常图像6521幅。所有图像都是从网上下载,正常图像千差万别,分别有动物类、风景类、人物类、卡通类以及电影截图等。结果显示,对色情图像检出率为86.7%,平均耗时0.34秒,对正常图像准确率为98.9%,平均耗时0.13秒。测试机器CPU为AMD(D)1.9G,内存4G。表2是本发明与现有乳晕检测方法的性能对比。

表2方法性能对比

 方法  测试样本数  色情图检出率  正常图准确率 国立台南大学的Lee等人  269/253  82.0%  80% Assumption大学的Fuangkhon等人  200/750  70.3%  99.1% 吉林大学的Shen等人  193/1259  80.31%  81.7% 新加坡A*Star研究中心的Yue等人  265/715  75.6%  82.6% 本发明  3168/6521  86.7%  98.9%

本发明的性能明显优于现有方法:

1、在对色情图像和正常图像的鉴别能力上明显优于其他方法。

2、测试图像远多于其他方法,说明在广泛有效性方面优于其他方法。

3、首次报道了系统的运算速度,其他四种方法均未见报道。

其中,Yue等人的提出的方法中也包含了Viola-Jones框架,与之相比,本发明在色情图像检出率尤其是正常图像准确率方面有很明显的优势,这主要得益于SPM肤色检测对搜索空间的约束、加入了对阴部的检测和敏感部位鉴别器对“难以”区分的负样本的鉴别。另外,申请号201010237982.8的发明专利所采用技术方案也与Yue等人的工作相似,但未对准确率和速度进行报道,故无法直接比较。

实施例二:基于上述方法开发的色情视频监测系统测试于400段视频,其中色情视频和正常视频各200段。所有视频均从网上下载,格式包括现有较流行的视频格式如:rmvb、avi、wmv等。正常视频主要是电影、电视剧、电视节目、网络视频等。视频时长不等,从1分钟~2小时。识别时从视频的后半段开始,每秒钟抽取2帧图像进行检测,直到满足公式(8)的条件时停止识别,并报告该视频为色情视频;若检测到最后一帧仍不满足公式(8),则报告为正常视频。

pnTn>1%---(8)

pn表示识别为色情图像的图像数,Tn表示视频的总帧数。结果显示,对于色情视频的检出率为93%,对于正常视频的准确率为98%。识别时间为10秒~400秒。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号