基于运动肤色分割的敏感视频检测方法 【技术领域】
本发明涉及计算机网络技术与计算机视觉技术相结合的领域,特别涉及基于运动肤色分割的敏感视频检测方法。
背景技术
Internet的迅速普及和广泛应用对计算机技术的发展产生了深刻影响:计算机软件应用的网络化对软件技术提出了新的要求,网络信息安全是新的要求中的一个极为重要的问题,对网络敏感信息的过滤则是信息安全中的一个具体课题。对网络敏感信息的过滤已经进行了一些研究,并出现了一些网页过滤与检测的产品,例如SmartFilter[http://www.smartfilter.de/]、NoPorn[http://www.noporn.com.tw/]等防黄软件可以防止一般的计算机使用者利用浏览器访问色情网站。其中SmartFilter对互联网络访问的管理及监督就是通过SmartFilter控制列表资料库来达到的,SmartFilter公司的专业人员每天由世界各地地服务器收集目前增加或消失的网站资讯,并且每星期更新一次,SmartFilter控制列表资料库提供的完整URL资料库,所有采用SmartFilter产品的客户都可以每星期下载最新的控制列表资料库。为方便管理者设定且依据各单位不同的需求、兴趣及政策,控制列表资料库被区分为27种类别。如:聊天,网络约会,赌博,过激言论,谣言,色情等。但是这种产品人为参与的因素太多,不能实现信息的自动处理。VisionNEXT公司生产的eefind[http://www.eefind.com/]多媒体搜索系列,过滤系列软件能实现简单的图像检测,搜索与过滤,但是在敏感图片的检测,过滤与搜索方面准确率太低。
在敏感信息检测方面,国外一些大学(Berkeley,Iowa)开展了部分对网络上敏感图片进行分析的探索。Fleck与Forsyth[Margaret Fleck,DavidForsyth,and Chris Bregler,“Finding Naked People”European Conference onComputer Vision,Volume II,1996,pp.592-602]通过检测人体的皮肤,并把各部分皮肤区域连成一组,来识别一幅图片是否包含裸体内容。该系统使用组合的颜色和纹理属性标记出类似皮肤的象素,然后将这些皮肤区域送到一特定的成组器。成组器利用人体结构上的几何约束把这些区域组成一个人的轮廓。如果成组器发现了一个足够复杂的结构,它就认为这幅图片中包含有人。这种方法对于存在大范围阴影和皮肤颜色的场合是很有效的。Aberdeen的Ian Craw在皮肤检测中用SOM网对肤色的概率模型进行学习,检验样本输入网络后得到一个可能为肤色的概率值,然后设置一阀值来判定是否为肤色[David Brown,Ian Craw,and Julian Lewthwaite,A SOMbased approach to skin detection with application in real time systems.PDFpreprint,Department of Mathematical Sciences,University of Aberdeen,2001.]。此外,还有一些通用的基于内容的图像检索系统,如IBM的QBIC,Attrasoft的ImageFinder、MWLabs的Imatch等,这些系统均支持对颜色、形状、纹理等特征的匹配[Colin C.Venters and Dr.Matthew Cooper,“AReview of Content-Based Image Retrieval Systems”,University ofManchester,2000]。但是这种通用的图像检索系统并非特定为敏感图片而设计,在进行敏感图片搜索时效率不高。
国内网络安全方面的产品有PC卫士,PC卫士1.0版主要通过两种手段来过滤网络色情信息,一种是基于网站地址的数据包过滤,另一种是智能信息过滤。其中,智能过滤的基础是截获网络包上一级的数据和不良站点网络数据包特征的提取,该产品不具备敏感图像的自动识别与理解功能。
视频过滤是建立在图象过滤的基础之上的。目前动态黄色信息的过滤依然是个空白,国内外本来做网络图像过滤的就不多,做网络视频过滤的几乎没有。这主要是因为视频过滤的技术还很不成熟,对视频的过滤比对静态图像的过滤要更难,实时性要求更高。但社会对此有迫切需求,因为动态黄色信息危害性更大。而且我们从研究动态黄色视频过滤中得出的一整套方法,对计算机视觉中人的行为分析和语义理解具有重要的借鉴意义。
【发明内容】
本发明的目的是提供一种基于运动肤色分割的敏感视频检测方法。
为实现上述目的,一种基于运动肤色分割的敏感视频检测方法,包括步骤:
对视频中的运动对象进行分割和边界提取;
在被分割对象上进行肤色检测,求出皮肤相对于运动对象的暴露程度;
在每一帧计算的基础上对整个视频的敏感性做综合评价。
本发明将计算机视觉技术应用于互联网,识别并过滤互联网上的不文明信息,是用户免受不文明信息的毒害。经过国际标准库的测试,本发明达到了较高的识别率。
【附图说明】
图1是运动区域分割与边界提取示例;
图2是立方体肤色模型;
图3是敏感视频测试总体框图;
图4是不同的δ值对敏感视频监测的影响;
图5是视频中的敏感帧分布示意图。
【具体实施方式】
视频中的运动对象边界提取:
在一个视频中分割出运动对象是视频处理,视频压缩和计算机视觉中最难和最重要的问题之一。传统的方法是先做运动参数估计,然后再做分割,这样如果运动估计不够精确的话,分割的质量就很差。在这里,我们采用level set对偏微分方程演化的方法来进行运动边界的确定和分割。Levelset是由Osher和Sethian提出的一种偏微方程的数值解法,近年来在计算机视觉和图形学界引起广泛关注。与传统的在图像上做分割建立偏微分方程不同的是我们在视频序列中建立的方程利用了运动信息。
设r(x,y,t)表示初始曲线rO所产生的曲线簇,假设在方向上速度为F,
则曲线速率表示为:
rt(x,y,t)=FNv]]>
设闭曲线r(t)表示为隐函数形式:Φ(r(x,x,t),t)=0,初始条件为Φ(x,y,t=0)=r0
两边对t求导:
Φrgrt+Φt=▿ΦgFNr+Φt=▿ΦgF▿Φ|▿Φ|+Φt=F|▿Φ|+Φt=0]]>
通过对固定网格微分解上述PDE:
Φi,jn+1=Φi,jn-Δt·h·(max(Fi,j,0)▿++min(Fi,j,0)▿-)]]>
其中h为网格步长,n为迭代次数,Δt为时间步长,Φi,jn是像素(i,j)在时间为n时的level值,fi,j表示相应速度。并且:
▿+=(max(Φi,j-Φi-1,j,0)2+min(Φi+1,j-Φi,j,0)2+max(Φi,j-Φi,j-1,0)2+min(Φi,j-1-Φi,j,0)2)12]]>
▿+=(max(Φi+1,j-Φi,j,0)2+min(Φi,j-Φi-1,j,0)2+max(Φi,j+1-Φi,j,0)2+min(Φi,j-Φi,j-1,0)2)12]]>
通常在静态图像的时候,速度F是由图像梯度决定的,而在视频序列中,我们可以利用运动信息。速度F如下所示:
F=r(g(ID,σD)K+▿g(ID,σD)g▿Φ|▿Φ|)+(1-r)(g(|▿I|,σT)K+▿g(|▿I|,σT)g▿Φ|▿Φ|)]]>
其中K为曲率,r是常量,g(ID,σD)是对帧间差的高斯估计,g(|I|,στ)是对图像梯度VI的高斯估计。
视频中的运动区域分割与边界提取如图1所示。
视频运动对象中的皮肤检测:判断图像的点(x0,y0)是否在闭曲线内部: 假设曲线上坐标为x0的纵坐标集合为Uy,曲线上坐标为y0的横坐标集合为Ux。如果满足条件:Uy的元素个数大于1,y0在Uy的最小与最大元素之间,Ux的元素个数大于1,x0在Ux的最小与最大元素之间,则判定点(x0,y0)在闭曲线内部。但是此方法只对凸性的闭曲线有效。 闭曲线所包围的面积就是所有在闭曲线内的像素的总和。在闭曲线内部的像素中,检验其是否为肤色,我们采用了基于数据库统计的立方体肤色模型。
传统肤色模型[Jones 1998]:
在RGB空间中,r,g,b三分量不仅代表颜色,还代表光照的明暗。为消除光照影响,对颜色采用正则化处理:r=R/(R+G+B),b=B/(R+G+B).颜色模型可以用高斯模型N(m,c)表示。均值:m=E{x}其中x=(r b)T方差:c=E{(x-m)(x-m)T}P(r,b)=exp[-0.5(x-m)Tc-1(x-m)]其中x=(r b)T
通过取一定阈值,就能把皮肤分割出来。
其缺陷:事实并非如此,可能比多高斯分布还要复杂,另外反馈麻烦
我们所采用的方法:
我们采用了一种基于立方体统计的方法。对于一个RGB立方体,其大小为256×256×256。我们将立方体进行细分,每个小立方体大小为8×8×8,总共得到32×32×32个立方体。立方体肤色模型如图2所示。
同时,为了统计的精确性,我们增加了每个小立方体内的约束,以此为依据,我们进行数据库设计,并动态建立皮肤数据库。同时数据库具有如下特点:可以在识别过程中动态建立数据库,动态反馈。可以对数据库进行快速检索(库的记录一般在3万条左右)
视频敏感程度估计:
每帧的敏感程度f(t)可以按如下方式做一个评估:
闭曲线所包围的面积就是所有在闭曲线内的像素的总和。
整个视频的敏感程度E可以按如下方式做一个评估:
E=Maxt2-t1=δ∫t1t2f(t)dtδ]]>
上述方程实际上计算的是从t1到t1+δ之间的平均敏感程度,并取一个上限。不同的帧间距离差δ值对敏感视频监测的影响如图4所示,一般取δ为4。
实施例
整个敏感视频检测系统做成COM组件的形式。首先是输入一段视频,视频的输入可以是本地输入,也可以接收远程的视频URL输入。当接收远程URL时,该组件可以自动完成视频下载功能,并且以流媒体的方式进行下载和播放。在视频下载的同时进行视频解压缩处理,然后计算每一帧的的运动分割区域和边界。对闭区域内的像素进行皮肤检测,在进行皮肤分割时先读取皮肤数据库信息,在预先建立的肤色模型的基础上进行皮肤分割。敏感视频的检测与静态敏感图象的检测有所不同:静态图象是单帧的,这一幅图象要么是敏感,要么非敏感。而视频则不同,里面含有较多的冗余信息,如果某一帧是敏感的,那最好不要马上决策这段视频是敏感的,因为这样会使检测的错误率提高。因为根据常识,如果一段视频是敏感的,那么这段视频绝不可能只有一个关键帧是敏感的。因此,我们就需要计算敏感帧的分布情况。如果在某个时间段敏感关键帧的分布密度过高,则我们有理由认为这一段视频就含有敏感信息。实际上,在敏感帧分布密度的基础上来判别视频的敏感性,其准确性往往比静态的敏感图象检测要高。敏感视频的检测框图如附图3所示。
敏感性评测:
我们通过对每一关键帧进行敏感性估计,得到视频的敏感帧分布情况,如附图5所示,其中红色代表可能含有敏感信息的帧。
通过对敏感帧分布密度进行估计,可以决策出视频是否敏感。我们在100幅视频的样本上做检测,对敏感视频检测的准确率达到86.5%,误检率为4%。