基于Faster RCNN的屏幕防手机拍摄算法的研究

2019-06-13 06:01王晓媛张文涛
航天控制 2019年2期
关键词:置信度摄像头测试

王晓媛 张文涛 韩 磊

中国航天系统科学与工程研究院,北京 100037

随着信息技术的不断发展,使用手机对电脑屏幕拍照成为窃取敏感信息的便捷且隐蔽的手段[1]。近年来,因该手段导致的泄密事件正呈现逐年上升的趋势,对网络中重要信息的安全保密构成了严重威胁[2]。目前现有的防范方法主要有3种:信息隐藏显示法[3]仅针对于文本文件的保护,无法抵御摄像攻击;摄像头检测法[4-7]主要针对长期窃拍的隐藏摄像头,目前众多电磁信息对其影响较大;屏幕水印法[8-9]主要用于追溯,对鲁棒性攻击、几何攻击的抵抗性较差。综上所述,上述3种方法均在一定程度上对待解决的问题有所妥协,而近年来国内外在目标检测方面的深入研究为解决该问题提供了新思路。

传统的目标检测法有基于SVM[10]、HOG特征[11]和DPM[12]等多种方法,随着智能时代的来临,目前普遍使用基于深度学习的方法进行目标检测,其中,2013年首次提出的基于区域的卷积神经网络(Region-based Convolutional Neural Network,RCNN)[13]目标检测法是近年来应用效果较好的方法之一,该方法结合了区域提名(Region Proposal)和卷积神经网络(CNN)2种思想,相比于传统方法,显著提高了识别率。近年来,RCNN不断发展与演进,Fast RCNN[14]利用Multi-task loss实现了多任务同时训练,明显加快了训练和测试速度;Faster RCNN[15]在Fast RCNN的基础上结合区域候选网络(RPN),通过共享卷积层和特征图谱,实现快速目标识别训练与测试。

本文针对手机拍摄屏幕的行为特点,以Faster RCNN算法为基础,构建静态图片和动态视频图片相结合的数据集,对原始图像数据进行特征提取后训练,最终达到识别手机的效果,根据识别结果做出快速响应,阻断手机拍摄行为,有效保护网络中重要信息的安全。

1 Faster RCNN基本结构及原理

Faster RCNN相比于RCNN和Fast RCNN等目标检测法,提高了检测精度与速度,真正实现了端到端的目标检测,可快速生成候选框,因此,选取Faster RCNN算法框架识别手机,以达到屏幕防拍摄的目的。

Faster RCNN结构示意图如图1所示,其可以简单理解为3个模块,分别为特征提取模块、候选区域生成模块和类别检测模块[16]。

图1 Faster RCNN结构示意图

1)特征提取模块:该模块的主要作用是获取原始图像特征图。首先,对原始输入图进行归一化处理,得到相同大小的图像;然后利用基础的卷积神经网络模型,对其进行卷积和池化运算,提取图像边缘、目标边缘等特征,最终得到空间上变小,特征深度更深的特征图。特征图在保留目标在原始图像中的相对位置的同时,在深维度上编码原始图片上的所有信息。

2)候选区生成模块:该模块的主要作用是在特征图上生成候选区域块。RPN网络,即区域建议网络,是Faster RCNN中的核心部分。前一模块输出的特征图为RPN网络的输入,首先对特征图的每个位置产生anchors(即候选窗口),经由Softmax分类器,确定anchors中是否包含目标物体,是则保留anchors,否则判断其为背景;然后进行边框回归调整,最后输出含有候选框的特征图。

3)类别检测模块:该模块的主要作用是判定候选区域块的所属类别,生成结果图。感兴趣区域池化(Region of Interest Pooling,RoI池化)和分类器是这一模块的主要部分,前2个模块输出的特征图和含候选区的特征图均为RoI池化层的输入,将候选框坐标映射到特征图上,得到相同大小的矩形候选框;最后,利用分类器确定候选框内目标所属的具体类别,最后输出目标识别后的图像。

在Faster RCNN算法中RPN网络的应用使算法在检测识别的时间大大减少,算法在GPU模式下,生成候选框,识别一张图片仅消耗10ms的时间[15],基本上能够实现实时检测。

2 数据采集与数据集建立

在算法和训练模型相同的情况下,算法效果的好坏主要依赖于训练数据是否恰当,合理采集数据图片,进行预处理,建立图片数据训练集十分重要[17]。

2.1 数据采集

为合理设计手机识别的图片数据集,需根据手机拍照屏幕的特点,从以下3个方面进行考虑:

1)手机在进行拍照时,需要一个支撑物进行支撑。在日常生活中、尤其在办公环境下,人们大多采用手持的方式进行手机拍照,采集手持手机进行拍照的手势动作,可以将手机与手作为一个强耦合的整体进行识别,如果屏幕中出现了手,就要加强对手周围区域进行手机识别,图2为手持手机拍照动作示意图;

图2 使用手机拍照的动作示意图

2)使用手机进行拍照,在屏幕的可视范围内,有时不需要出现整个手机及支撑物,只要手机摄像头出现,便可进行拍照,图3为手机摄像头与屏幕检测摄像头之间的关系示意图;

图3 手机摄像头与电脑屏幕间的关系示意图

3)从拿起手机到使用手机进行拍照是一个连续的动作,具有时序性,在数据采集时录制动作视频,用连续的图像作为数据集。

综上,手机识别图片数据集包含以下3类:

1)拍照手势动作图片集:包含单手和双手2种形式,多种动作、多角度,共采集100张静态图片;

2)手机图片集:目前市场上主流的智能手机品牌有20多种,出现单摄、双摄等多摄手机,后置摄像头在外形上多为圆形或方形,位置多在手机后的上中或左上方,多个摄像头的排列多呈现横排、竖排等集中排列形态,综合以上考虑,选取100张静态手机图片;

3)拍照动作图片集:采集100段拍照动作视频,每5帧保存图片,共选取9500张图片。

2.2 数据库建立

Faster RCNN属于有监督学习,图片集使用LabelImg工具数据标记图片中的信息,标注的类别有:face(人脸)、hand(手)和phone(手机),生成XML文件,内含图片的位置信息、图片的宽和高像素值、类别名称、标注框的坐标点等信息。图4为标注图片示例。

图4 标注图片示例

使用深度学习方法,进行目标检测与识别,多使用Pascal VOC数据集,该数据集格式规范标准,易于制作,使用方便[18]。为实现识别手机的任务,我们按照Pascal VOC数据集格式制作手机识别图片数据集, JPEGImages文件夹中存放所有训练集与测试集图片,Annotation文件夹中存放与图片名称相同的XML文件,ImageSets中的Main文件夹中存放4个txt格式文件,分别存放用来训练、验证、训练和验证以及测试的图片的名称。

本文使用的数据集主要有以下2种特点:1)增加部分标注,在标注整体手机的同时,标注部分手机局部,增强局部特征识别,增加手机识别率;2)数据集采用静态图像与视频帧图像相结合的方式,采集多段使用手机拍照的视频,内含拍照动作的时序性,增加手机拍摄的识别率。

3 实验结果及分析

实验使用的Faster RCNN算法基于TensorFlow深度学习框架,TensorFlow支持自动求导,不需要反向传播求解梯度;加入了分布式,充分利用硬件资源,可最大化计算效率;并且具有较强的可移植性,编译速度较快[19]。

3.1 实验参数设置

Faster RCNN的特征提取模块选择VGG16基础卷积神经网络模型,修改目标类别名称参数,本文需要识别的类别为3类。

针对不同的数据集,不同大小的目标,选择合适的候选窗口anchor的大小和数量,是很必要的,可以加快收敛的速度,提高检测速度[20]。其次,在对识别效果统计时,置信度的选择对最终的结果影响也较大。

针对手机标签的识别,将测试集的实验结果分为如表1所示的4类,其中TP表示被识别的含手机正类样本数(正确识别),FN表示不被识别的含手机正类样本数(错误识别),FP表示被识别的不含手机的负样本数(正确识别),TN表示不被识别的不含手机的负样本数(错误识别)。实验模型评价方面,使用准确率(Accuracy,Acc)、精确率(Precision,P)和召回率(Recall)3个评价指标进行模型评价[21]。本实验中,准确率是指识别正确(存在手机时正确识别出手机和不存在手机时未误识别)的样本数占样本总数的比例;精确率指在所有被识别的样本(包含误识别)中正确识别的样本数所占的比例;召回率指所有含手机的正类中被正确识别的样本数所占的比例。准确率和精确率越高,表示实验中手机样本的识别效果越对;召回率越高,表示手机样本的识别得越全。3个评价指标的计算公式如表1中所示。

表1 样本分类说明表

3.2 实验结果及分析

本文使用Python语言,实现了基于TensorFlow框架的Faster RCNN算法,对数据集中图像数据利用Vgg16深度模型进行特征提取,通过RPN网络生成候选区域,并由Softmax分类器及全连接层实现对候选区域的最终分类。通过前述分析可知,phone标签的识别结果对屏幕防手机拍摄效果产生直接影响,为量化手机识别效果,本文将分别计算和统计准确率、精确率及召回率。选取96张图片作为测试集,并对测试图片进行有针对性的设计和分类,共分6种类型。如图5所示,其中A类为手机后置、前置摄像头正向对屏幕;B类为屏幕中仅出现部分手机;C类为手机安装手机壳;D类为手机与屏幕间存在一定角度;E类为手机大部分存在故意遮挡的情况;F类为设置书本等干扰物的情况。

新生儿气胸是一种常见的新生儿急危重症,主要表现为气促、发绀、吸气“三凹征”等,严重将引起持续性肺动脉高压及呼吸衰竭,危及患儿生命[1-2]。因此,及时诊断并采取有效措施治疗尤为关键。新生儿气胸常存在多个发生因素,本研究对气胸新生儿及健康新生儿进行研究,旨在探讨新生儿气胸发生的高危因素,为治疗及干预提供依据。现报道如下。

图5 各类测试图片示例

测试图片集中存在一张图片包含多部手机或者没有手机的情况,288张图片中共包含手机目标240个,具体分布如表2所示。

表2 测试集图片类别表

试验中分别设定置信度区间为0.6~0.95,从0.6起每增加0.05测试一次,对测试结果分别进行统计。测试结果如图6所示。

图6 各类测试图片的手机识别结果示例

测试集图片经算法识别后,手机的识别结果统计如表3所示。

表3 测试集手机识别率结果表

根据表3的结果,将3个评价指标的变化趋势进行分析,具体如图7所示。可以看出,随着置信度的增大,手机目标的正确识别数逐渐增加,直至平稳,而随着个别类型图片的识别效果不佳,导致了精确率和准确率均出现了一定的下滑。

图7 评价指标与置信度的变化趋势折线图

因此,从上述结果中可以分析如下:

1)基于Faster RCNN的手机识别算法对手机识别的精确率均在92.21%以上,最高可达到98.44%,说明算法对手机目标的识别能力较高,可以准确识别手机,达到屏幕防拍摄的目的。

2)随着置信度的逐渐增加,精确率一直平稳增加,说明识别的目标中,正确识别的TP类数所占的比例增加,同时说明F类中误识别为手机的FP类所占的比例减少。但当置信度从0.85增至0.95时,精确率均在98%以上,相比前一阶段精确率稍微有所下降,因为达到此置信度后,FP类数目基本不发生变化,TP类数目下降,导致TP类比例有所降低。

3)置信度从0.6逐渐增加到0.95时,在准确率和召回率逐渐下降的过程中,可以发现有3个阶段下降得比较明显,根据对测试样本的类别分类,分别统计这3个阶段中准确识别手机数量减少的影响因素:

①置信度提高至0.75时,TP数的减少主要是由于C类和D类正确识别数减少,F类中误识别数减少,其余类别识别情况基本不变;

②置信度提高至0.85时,TP数的减少主要由于D类测试集的手机识别数减少,F类中误识别数减少,其余类别识别情况基本不变;

③置信度提高至0.95时,TP数的减少主要由于C类和E类测试集中的手机识别数减少,尤其是E类。

综上可知影响准确率和召回率的主要因素是手机壳、角度旋转和异物遮挡,当置信度较低时,干扰物被误识别为手机的概率较大。当手机正对屏幕和仅有部分手机在画面中时,识别效果较好。

3.3 屏幕防窃照方法对比

针对屏幕防手机拍照问题,本文的主要思想是利用计算机视觉识别出手机,并及时做出响应。而在此之前提出的3种解决方法适用于不同的应用背景,也有着各自的优缺点。现将这3种屏幕防窃拍方法与本文方法进行对比,具体情况如表4所示。

表4 屏幕防窃照方法对比表

4 总结与展望

本文利用Faster RCNN算法,实现了办公环境下对手机的识别,结合识别后做出的及时响应,最终实现了屏幕防手机拍照,取得了良好的效果。

但从实验结果数据看,识别效率还有待进一步提高。在手机安装手机壳、手机与屏幕角度变换以及存在异物遮挡等情况下,存在少量的漏识别和误识别。基于这些问题,后续研究中可继续完善训练集,增加对干扰物的学习,对测试数据集进行图形处理,抑制复杂背景,优化RPN网络中的候选区域生成与选择过程,增强对摄像头的识别等。

猜你喜欢
置信度摄像头测试
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
硼铝复合材料硼含量置信度临界安全分析研究
幽默大测试
“摄问”测试
“摄问”测试
“摄问”测试
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
正负关联规则两级置信度阈值设置方法
置信度条件下轴承寿命的可靠度分析