视频聊天预警系统核心模块的设计与实现
2012-09-04王小华姚金良
汪 澄,王小华,姚金良
(杭州电子科技大学计算机应用技术研究所,浙江杭州310018)
0 引言
近年来,由于传统文字聊天方式简单无味的缺点,许多新型的聊天方式应运而生,视频聊天和语音聊天是其中最为典型的两种。如何确保新型聊天方式的安全性,抵制色情、暴力等内容的出现,净化网络聊天环境,是一个迫切需要解决的问题。当今较为成熟的算法理论或应用系统多数基于图像来设计,基于视频,特别是聊天视频的预警系统或是防火墙系统较少[1-3]。因此,设计一个快速有效的基于聊天视频的预警系统具有理论和现实意义。本文设计的是一个预警系统的核心模块。该模块基于普通二进制分类树判别方式,结合了相似性,肤色,人脸等特征,对视频聊天截图(以下简称截图)的敏感性进行判别,最后将结果反馈给管理者,从而达到视频聊天安全性预警的目的。
1 系统描述
视频聊天安全预警系统分若干个时间片,从大量聊天视频中截取图片,生成一系列截图序列。在对某段时间内的截图进行名称排序、大小归一化之后,交于核心处理模块判别。
一张视频截图,在内容上一般只包括在摄像头前聊天的人和人身后的背景;在形式上包含一个ID号,它由房间号(每个用户均不相同)和截图时间两部分组成,如图1所示。如果两幅相邻截图(这里所谓的相邻截图是指经名称排序、大小归一化后存储空间上相邻的前后两幅截图)出自同一聊天视频,即具有相同的房间号,则它们隶属于同一个截图序列。
本文设计的是整个预警系统的核心模块,要解决的是一个两类问题,即判别当前截图是非敏感的或是疑似敏感的。疑似敏感截图对应的是那些可能存在色情内容的聊天视频。将判别后的疑似敏感结果反馈给管理者,一方面,管理者可以去除机器未过滤的非敏感截图,避免误判现象;另一方面,管理者可以记录敏感截图来源的用户。
为了保证系统的工作效率,在敏感性判别时,选用了一种快速有效的判别方法:普通二进制分类树,如图2所示。它是决策树中最为流行的一种,需要回答的问题是“xi≤αi?”。图2中,ti(i=1,2,…,n)表示第i次分类后的结果,xi(i=1,2,…,n)是各步骤所选用的特征,αi(i=1,2,…,n)为各特征对应的阈值,ω1和ω2表示两类结果。本文基于普通二进制分类树的截图敏感性判别系统如图3所示。
图1 视频截图实例
图2 普通二进制分类树
图3 基于普通二进制分类树的判别系统
1.1 相似性判别
一般情况下,用户在聊天时,坐姿,神态等在较短时间内不可能发生急剧改变,只是呈现较小的位移变化。因而可以通过相似性判别来提高系统的运行效率。对于同序列中两幅具有较高相似度的截图,无论两者内容是敏感的亦或非敏感,只需要考虑其中一幅截图的敏感性即可;相反,如果两幅截图的相似性小于某一阈值,则需要分别考虑它们的敏感性。
本文选用了颜色直方图匹配方法来判别两幅截图的相似性。颜色直方图作为一种重要的基于颜色特征进行图像检索的方法,具有特征提取和相似度计算简便,并且随图像尺度、旋转等变化不敏感的特点[4]。本文通过计算两幅截图灰度直方图之间的归一化Bhattacharyya距离来表示匹配程度:
式中,H1和H2分别表示两幅截图的灰度直方图,H1(i)和H2(i)表示直方图中第i个bin所对应的值。d是匹配结果,值越小,匹配程度越高。
为了提高相似性判别的鲁棒性,当当前截图处于某个序列中的第i(i=3,4,…)个位置时,需计算相邻3幅截图的灰度直方图。若其对应的直方图与前两幅相邻截图的直方图之一匹配,则可将当前截图过滤,即无需考虑它的敏感性。
1.2 肤色判别
敏感图像大多具有较多的裸露皮肤。本文提出了一种基于RGB颜色空间的简单规则肤色模型来提取肤色点,该模型避免了颜色空间的转换,具有快速有效的特点。通过如表1所示规则对肤色在RGB空间中的分布进行了刻画。同时满足4条规则的象素点为肤色点。实验表明在该条件约束下,可使截图中的肤色点漏检率控制在4%以内,示例如图4所示。
表1 肤色点3通道约束条件
用简单肤色模型得到肤色mask之后,从形状和纹理上对肤色进行精炼,由精炼后的肤色所占比例判别截图敏感性。首先,提取mask中各个肤色块的轮廓;然后,去除小面积或外接矩形长宽比失衡的肤色块;最后对原图进行Canny边缘检测,统计肤色mask中剩余肤色块内的Canny边缘点数,通过边缘点数来描述肤色区域的纹理复杂度。真正的肤色一般较平滑,而边缘点数较多的肤色点多数都是因背景色被误检造成。
1.3 人脸判别
在正常的视频聊天场景中,人们会将人脸暴露在摄像头前,因此,可以将人脸作为一个重要特征。本文采用基于Adaboost的正面人脸检测算法[5]。
若原始截图中不存在人脸,则将截图旋转后再检测人脸,以提高检出率。每次旋转正负3°,最大角度为正负15°。人脸检测实例如图5所示,检出的人脸用矩形框表示。
图4 简单肤色模型判别示例图
图5 人脸检测示例图
对检测结果做如下处理:(1)无人脸,标记成疑似敏感;(2)人脸数大于1,标记成非敏感;(3)人脸数等于1且人脸外接矩形比例大于截图尺寸的一半,标记成非敏感;(4)人脸数等于1且人脸位置靠近截图下方,标记成非敏感;(5)人脸数等于1时的其它情况,考察人脸下方矩形框中经肤色判别后检出的肤色点个数,若肤色比例超过矩形框面积的60%,则将该图标记成疑似敏感,否则标记成非敏感。
2 实验分析
本文建立了3个测试样本集(样本集中的截图已经过名称排序,大小均被归一化到176×144,单位为象素)。样本集一包括敏感截图430张,样本集二包括非敏感截图3 802张,样本集三是样本集一和二的集合,共4 232张。其中,样本集一中所有截图属于不同截图序列,即无法进行相似性判别;而样本集二中存在同序列截图。从稳定性角度出发,分别对3个样本集测试,结果如表2所示。由表2中结果得到系统的两个性能指标:
表2 实验结果
召回率Prec=Npc/Np=369/430≈92.1%,误检率Perr=Nnpe/Nnp=430/3 802≈11.3%。其中,Npc表示敏感截图被正确判断的数目,Nnpe表示非敏感截图被错误地判断为敏感截图的数目,Np表示敏感截图总数,Nnp表示所有非敏感截图的数目。
在建立样本集一时,选择的是那些隶属不同截图序列的图像,即不采用相似性判别方式。因为相似性判别只是为了提高系统的工作效率,而不同于肤色和人脸判别,从图像内容上进行敏感性判别。如样本集一所述的测试方法,可以更准确地测试系统的漏检率。在实际应用中,必然存在同一序列中多幅敏感截图处于相邻位置的情况。然而,相似性判别只会影响本系统漏检率的计算,而不会影响最终的反馈结果。
分析样本集一,漏检截图的产生主要因光线过亮或过暗,或人脸检测发生错误引起;分析样本集二,误检截图的产生主要因为,背景的颜色和纹理特征接近于本系统中肤色模型,且无法检出人脸;分析样本集三,得出的结论是,系统可以处理约10张/s截图,且相似性判别不影响系统的输出结果。
3 结束语
针对当前视频聊天中存在的安全隐患,本文结合了相似性、肤色、人脸等特征,设计并实现了一个有效的视频聊天截图的敏感性判别系统,构成整个预警系统的核心模块。将判别结果反馈给管理者,达到视频聊天安全性预警的目的。本文后续工作在集中在保证高召回率的前提下,提取新的特征,尽可能减小误检率以及更好提升系统运行速率上。
[1]Forsyth D A,Fleck M M.Identifying nude pictures[J].IEEE Workshop on Applications of Computer Vision,1996,3(1):103-108.
[2]孙庆杰,吴恩华.基于矩形拟合的人体检测[J].软件学报,2003,8(14):1 388-1 393.
[3]许强,江早,赵宏.一种新颖的智能网络图像内容监测系统模型[J].软件学报,2002,13(3):424-432.
[4]孙君顶,赵珊.图像低层特征提取与检索技术[M].北京:电子工业出版社,2009:57-58.
[5]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C].Hawaii:In Proceeding of IEEE Conference on Computer Vision and Pattern Recognition,2001:511 -518.