唐昱润 宫法明 李 昕
(中国石油大学(华东)计算机科学与技术学院 青岛 266580)
网络中色情信息传播迅速且易于访问,从而激发了自动检测色情影像方法的发展。防止不良信息通过互联网渗入青少年视野、毒蚀未成年的身心健康,达到净化网络、营造安全绿色的网络环境的目的。但是,由于色情的主观性和不确定性,自动识别色情信息任务比其他分类问题面临更大的挑战。
色情检测最初的工作是将色情与裸露联系在一起,试图通过识别出裸露或衣冠不整的人[1~7]以进行色情的判定。在此类方法中,人体皮肤的检测起了主要作用,其次是身体部位的识别。然而,通过皮肤的裸露来判别是否色情并不是一个有效的解决方案。非色情的情况下,仍可能存在大量暴露身体的情况。相反,有些色情场面仅涉及很少的裸露皮肤。且现如今的影视作品常常刻意避免出现大面积裸露的情况,取而代之的是出现在敏感部位的扭动、抚摸等性暗示动作,增加了色情检测的难度。
针对视频中并未出现肤色裸露但仍含有色情信息的问题,本文提出一种基于人体关键点的色情信息检测算法。首先通过人体姿态估计算法实现人体关键点的检测,再将坐标转化为以人为中心的坐标系,从而消去因拍摄角度或距离及人体自身差异性产生的影响,然后为每个关键点所属肢体构建一个2D 矢量场,将其两个相关的身体部位连接在一起提取人体轮廓。再通过观察色情帧中关键点的运动情况来获取可能发生色情的敏感区域,最后为了有效利用视频中的信息,本文设计了两种附加时空姿势特征进一步提升色情信息检测的准确率。
现有文献通常将色情检测与皮肤特征紧密联系[8~12]。然而肤色容易受光照影响,对于复杂纹理的色情图像通过单纯的肤色检测很难有高准确率,且对于含有大量肤色像素的非色情图像容易出现误判。将肤色作为色情图像的判别标准单一且不可靠,具有一定的局限性。
因此出现了一些基于高层语义实现色情图像识别的方法。Deselaers 等[13]首次提出将色情内容检测作为计算机视觉分类问题,而不是皮肤检测或分割问题。2017 年凡阿杰提出级联检测思想,逐级检测出人脸以及肤色区域算出肤色最大连通区域,结合女性敏感部位的纹理特征、肤色特征以及LBP 算子运用AdaBoost 模型训练出敏感部位分类器。实验结果表明,他们的方法明显优于以前的方法,但仍旧存在基于皮肤检测过滤器的缺点。
Moustaf 首次提出通过深度神经网络进行色情检测的方法。该方法需要微调两个不同的ConvNet,直接在选定的帧上构建结构,以将它们分类为色情或非色情内容,并通过多数投票过程将视频的最终结果整合在一起。
Jonatas 等[14]提出ACORDE 模型,使用卷积神经网络对NPDI 数据集关键帧图像进行特征提取,最后使用长短期记忆网络对提取的特征进行分类。在这类方法中,依旧没有探索视频中提供的运动信息,色情检测的准确率并未出现显著性的提升,也难以解决本文中提到的拟解决的并未出现肤色裸露但仍存在色情信息的问题。
本章将介绍所提出的色情信息检测框架,如图1 所示。首先,使用2D 骨架模型来检测人体关键点。然后,利用这些关键点信息追踪同一关键点在每对连续帧之间的距离和角度的变化以提取每个关键点的运动轨迹。之后,利用关键点信息提取出人体轮廓并划分出可能发生色情信息的敏感区域。最后,通过处理视频中的运动特征从而实现色情信息检测。
图1 基于人体关键点的色情信息检测框架
为了减少视频背景、服装以及肤色裸露等因素对视频中色情信息检测的影响。从人体本身出发,通过引入姿势特征密切关注人体关键点运动轨迹,从根源解决色情检测问题。
为了使本文提出的方法不受拍摄角度或距离及人体自身差异性影响。去噪后,将髋关节中心放在原点第一帧,然后把每个关节的3D 坐标从世界坐标系转换为以人为中心的坐标系。通过从动作序列中每个关节坐标中减去第一帧髋关节中心的坐标实现,如式(1)所示。
其中,fpose是单帧检测到的17 个关键点的二维矩阵,p是1×2 向量,代表第一帧中髋关节中心的坐标,α是1×17 向量,B是2×2 矩阵,即17 个2×2 单位矩阵的水平级联。
色情影像在背景、照明以及人物姿势等方面存在着巨大的类内差异,且色情内容通常仅占据图像较小的局部区域,而复杂混乱的背景会占据图像的很大一部分,容易导致误报且增加了计算量。为了使本文的方法能够满足时效性以及鲁棒性,本文将摒弃对判定结果没有正向反馈的视频背景,将注意力集中在目标人物上。因此,本文采取了人体轮廓提取以及区域标记等方法,再以敏感区域是否存在频繁动作或是往复运动为依据实现色情信息检测。
3.2.1 人体轮廓提取
通过人体关键点构造人体轮廓,首先需要有效正确的将各个关键点连接起来形成人体骨架。因此需要对每对关键点都设有关联性的置信度,记录每个关键点所属肢体区域位置和方向信息,对于属于特定肢体的区域中的每个像素,一个2D 矢量编码是肢体一个部位指向另一部位的方向。每种肢体都有一个对应的亲和力场,将两个相关的身体部位连接在一起。
计算机视觉[15~16]方面的最新研究表明,ResNet[17]能够为像素预测任务提供更好的功能。因此,本文采用ResNet 来构建分割网络。将原始ResNet 的全连接层删去,此外保留7*7卷积层和3*3池化层,进而扩大特征表示。然后是几个标准残差单元,以满足感兴趣区域的接受范围。到目前为止,输出特征图仅是其原始输入图像的分辨率的1/32。为了获得所需的全分辨率输出,自适应地将通道数压缩到标签数,利用升采样操作将采样升采样回输入图像的空间分辨率。然后,使用另一个残差单元以及1*1卷积层来预测最终结果。
3.2.2 敏感区域定义
为了有效利用提取的人体关键点在人体轮廓中的运动轨迹来判别视频中是否含有色情内容。本文将肖特[18]等提出的“任何旨在引起唤起性的明确性行为”这一定义用于本文工作。尽管仍是主观的,但它建立了一套标准。通过在Pornography-2k数据集上进行大量的实验,得出了本文对色情的定义-凡是在敏感区域发生频繁的动作或往复运动都有可能是色情信息。通过观察色情帧人体关键点的运动轨迹及产生色情信息时关键点所在区域,而不仅仅是关键点坐标。考虑到人本身的差异性,本文通过计算可能发生色情信息的区域(如胸部)的面积与该目标人体轮廓联通区域占比,计算出所有实验的占比情况并对其求平均值、极值、标准差。为了更准确描述敏感区域,本文还将计算每个敏感区域重心以及该位置与当前距离最近的人体关键点之间距离、角度以及dx、dy 偏移量。通过描述可能发生色情信息的位置及范围,有效定义了人体敏感区域,在接下来的工作中仅需要观察所有人体敏感区域当中发生的动作方向、次数以及范围,再通过加入先验知识的SVM 分类器实现色情信息的检测。
本文旨在从人体骨骼序列运动特征出发,忽略外部环境等影响从根源上解决色情内容检测问题。因此,必须为视频中的每个图像中所出现的人物检测关键点,对于包含人的每个图像将产生一组关键点。通过时空计算在视频的每个时刻生成人体各个部分的所有位置。现在,可以使用关键点的运动特征来检测人员是否发生了色情信息。为了有效利用视频中的信息,本文设计了二种附加的时空姿势特征:1)关节角度,某些关节的角度发生变化;2)肢体间距离,肢体间距离的变化;此外,可以结合使用这两种方法来提高性能。本文为包含人物的每幅图像检测17 个关键点。因此定义一个尺寸为17*2 的矩阵来存储关键点在图像中的位置。另一方面,为了计算视频中人物骨骼的变化,本文用能够代表两个连续图像的矩阵(17*2)之间的距离当作关键点之间的距离,如式(2)和式(3)所示。
其中Ii和Ii+1是关键点的两个连续矩阵。
另一方面,本文还使用连续帧中相同关键点之间的角度变化来计算肢体的运动方向。在第一步中,为视频中的每个帧计算骨架的关键点,如式(4)和式(5)所示。
在计算两个连续帧中每个关键点之间的距离和角度之后,得到两个矩阵M1和M2。第一个代表距离,第二个代表角度。再通过相邻帧之间矩阵差异体现关节运动,如式(6)所示。
由于特征是逐帧提取的,并且是序列数据,因此采用诸RNN[19]和LSTM[20]之类的序列数据方法是合理的,如图2所示。
对于基于人体关键点序列运动特征是否出现在人体敏感区域来进行色情内容判别,至关重要的是减少类内差异并扩大类间差异。因此,采用多损失策略来优化网络,如式(7)和式(8)所示。Softmax 损失可以将输入分为不同的类别进而扩大类间差异。中心损失可以通过最小化类内差异使不同类的特征分离。如式(9)所示,将两个损失合并。
其中xi∈Rd是对应于y 类的第i 个特征,d、W∈Rd×n和b∈Rd分别表示特征维,最后连接层和偏置项,而Cyi∈Rd是yi类的中心深层特征。在本文实验中,λ为0.008时效果最佳。
本文通过计算每个部位的运动特征以及每两个连续关键点之间的距离和角度。之后将使用这些功能判别视频中是否含有色情信息。在本节中将展示本文所提出方法的性能,还将介绍应用于Pornography-2k数据集上的结果。
拟议方法的重点是将整个视频分类为色情或非色情。视频是帧的集合,将所有帧全部用于视频分类需要大量的计算工作。但通过帧采样可以使此实验更易于管理,并且对于所提出的不同方法之间的比较仍然保持一致的有效性。根据这一既定要求,本文选择使用每秒一帧(1fps)的帧采样率并提取其中的运动信息。
图3 中展示了连续帧中相同关键点之间距离变化。本文选用的含有色情信息的视频。然后,通过计算每个帧中人物的关键点,并对敏感区域进行提取。之后,计算两个连续帧中相同敏感区域内其他关键点与该敏感区域重心距离的变化。因此,生成一个包含每个关键点距离的矢量,例如,本文计算了13 个矢量。之后将这些向量显示为图表,以显示距离的变化。另一方面,本文发现,时间上的距离变化不是很大。图4 展示了连续帧中两个敏感区域(左胸部,右胸部)内手部位置与敏感区域重心距离的变化。
图3 关键点间距离矢量变化
图4 关键点与敏感区域间距离矢量变化
为了减轻特征提取负担,并使特征具有更大的判别力,设计制作时空姿势特征。为了证明制作特征的有效性以及本文方法的可行性,设计5 组实验与Pornography-2k 上现有的方法做比较并分别评估fpose、fAngle、fDistance和fmotion的有效性,如表1 所示。实验表明通过结合所有这些特征,可以明显提高性能,且优于其他三组对比实验。这意味着本文方法的可行性以及手工制作的特征可以明显提高识别率。
表1 各方法在Pornography-2k中的准确率%
本文针对视频中并未出现肤色裸露但仍含有色情信息的问题,利用人体关键点提取、人体分割和时空特征融合等技术,提出了一种基于人体关键点的色情信息检测方法。据调查,本文首次提出通过观察敏感区域内关键点运动特征实现色情检测框架,并在Pornography-2k 色情数据集中进行了多次实验,以验证方法的可行性。
本文提出的方法旨在解决并未出现肤色裸露但仍含有色情信息的问题,仅通人体关键点的时动特征进行研究,虽然可以有效地解决这一问题。但是对于色情的另一特征-裸露并未开展有效的工作。作为未来的工作,打算结合人体肤色裸露情况展开研究,通过结合以上两种不同的特征,进一步提升色情信息的准确度和适用性。