一种基于改进的Openpose考试多人异常行为及口罩佩戴检测方法

文档序号:24619433发布日期:2021-04-09 20:23阅读:541来源:国知局
一种基于改进的Openpose 考试多人异常行为及口罩佩戴检测方法

本发明涉及基于改进的openpose考试多人异常行为及口罩佩戴检测方法技术领域,具体为一种基于改进的openpose考试多人异常行为及口罩佩戴检测方法。



背景技术:

随着智能化技术的不断发展,越来越多的智能化产品深入到了我们的生活中,在教育方面,摄像头的智能监控给考试模式带来了一次极大的革新。

在传统的考试模式中,考试机构安排考试时间、考试地点以及监考人员,考生按照规定时间到指定地点参加考试,接受监考人员的监考。随着考试模式在智能化背景下的不断转型发展,考试形式也变得更加智能化,在新的考试模式中,减轻监考老师的任务,选择在教室中安装摄像头,通过摄像头来监督学生,判断在考试中有无作弊行为。新的考试模式方便了监考人员和考试机构,减少了监考的人力成本,从而在很大程度上减少了在考试组织上的成本投入。

《一种在线考试中实时图像监考系统的设计与实现》,该文提供的技术方案采用定时拍摄的方法,获取的图片较少,信息丢失量大,导致检测精度不高,容易误判、漏判。而且需要后台人工识别,增加了人力成本。

一种监考系统及方法(cn103136510a),该专利申请公开了一种考试监控方法。该方法的不足之处:采集器按一定周期采集信息,可能会遗漏一些关键信息导致检测精度不高。该方法只提供图像与语音分析,没有应用传感器辅助工作,技术不全面。此外,该方法不能够检测考生是否佩戴口罩,不适用于疫情环境下,不够安全,有过时之嫌。

而在基于视频监控的考场异常行为检测方法研究与实现一文中,提出了基于运动目标检测和肤色检测相结合的检测方法。此方案采集了大量的考试数据集,导致运算繁琐,而且人体肤色与环境颜色相近,比较难以提取,增加了误差率。

在如今的疫情大背景下,学校也要求学生在考试中佩戴口罩,而市场上没有一款专门检测学生考试时是否佩戴口罩的设备,针对于现有的口罩识别的方案,在基于《迁移学习与retinanet的口罩佩戴检测的方法》一文中,提到了通过利用retinanet网络,来对复杂环境下佩戴口罩的人脸和未佩戴口罩的人脸进行识别检测。虽然识别速度较快,但是运用retinanet网络的缺点主要是准确度较低,而且现在retinanet网络还没有实施于考试检测的经验,可行性未知。

一种体温监控协助监察系统(cn211124084u),该专利公开了一种佩戴口罩的检测方法。该方法的不足之处为:仅对被系统识别为体温异常的群体进行口罩佩戴检测,检测对象不全面。

一种人员佩戴口罩情况的监测方法以及装置(cn109101923a),该专利公开了佩戴口罩的检测方法。该方法的不足之处为:在追求快速检测的同时并没有实现准确性。例如,口罩的正面是深色的,对着外面;该方法并不能判断人员是否正确佩戴口罩。

因此,亟待一种改进的技术来解决现有技术中所存在的这一问题。



技术实现要素:

本发明的目的在于提供一种基于改进的openpose考试多人异常行为及口罩佩戴检测方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于改进的openpose考试多人异常行为及口罩佩戴检测方法,包括以下步骤:

s1、通过教室前端和后端的摄像头,以一定初始帧率持续拍摄获取学生考试时的图像;

s2、考试全过程中,摄像头正常检测教室,通过识别每个人的面部来判断该名同学是否佩戴口罩,一旦发现有学生未佩戴口罩,便记录该名同学的位置,将信息反馈给老师;

s3、判断异常行为方法:识别出测试图像的每帧图片的关键点并对其编号、连线;以openpose所选取的18个关键点为参考,为了使识别更加简便,挑选出上半身中左右眼睛,左右耳朵,鼻子,脖子,左右手腕,左右手肘,左右肩膀共12个关键点进行识别;

s4、考场异常行为检测分成2个主要状态:正常状态和异常状态;根据关键点的坐标超出一定阈值或关键点之间的距离和连线的角度超过一定阈值将异常状态具体划分为:状态1:主要定义为手部信息超出规定区域;状态2:主要定义为低头并且手放在桌子下;状态3:主要定义为左右张望;状态4:主要定义为频繁抬头;初始时,系统将会每隔5秒对图像进行对比检测,若各连线数值未达到异常情况将判定为正常考试状态,若关键点间位置关系出现错误、关键点连线之间的距离达到阈值将提高检测频率至每隔1秒进行对比检测;

s5、在学生课桌下配置一个定向声音采集器,以此来辅助检测学生的考试行为状态,在排除噪音干扰后,若检测到该区域有学生交谈的声音,即可标记为疑似异常状态;系统会自动调整摄像头的焦距或者调用后摄像头,来重点观察该区域考生的考试行为,直至其恢复为正常状态或被判定为异常状态;

s6、根据识别出的关键点连线的图像,当初次发现某帧图像中关键点位置关系或关键点连线距离达到预设的阈值时,将该帧设置为起始帧,此后提高检测频率;初始时,系统将会每隔5秒对图像进行对比检测;若指定关键点出现丢失、相关数值达到阈值或出现异常表情时将提高检测频率至每隔1秒进行对比检测;当关键点位置长时间丢失或关键点连线距离超过设定阈值时,判定为异常状态;

s7、当检测到异常状态,系统将继续对后20秒的每一秒进行分析,并根据关键点之间连线异常值、关键点丢失等异常信息按各行为判定标准判定为状态1、状态2、状态3或状态4;

s8、摄像头检测学生考试时,一旦检测出某学生拿掉口罩或口罩佩戴不规范,或者检测到学生考试异常,系统会自动调整摄像头的焦距,锁定该学生并把该帧图像保存,同时标记该学生为考试行为异常;

s9.在讲台放置一语音模块,当系统判定学生进入异常状态时,信号发射器发出信号,语音模块上的蓝牙模块接收到此信号,通过功率放大板控制扬声器发出声音,提醒老师该学生出现异常;

s10.引入搜索和优化识别策略,若某一考生经常出现疑似异常行为状态的确诊,则下一次异常识别中,减少判定异常行为姿态所需要持续的时间,优先判断是否为考试异常状态,进而提高分析的效率。

优选的,所述s3中openpose为一种双并行卷积网络模型,所述双并行卷积网络模型同时使用两个卷积网络,一个卷积网络从图像中定位人体关键部位的位置,另一个卷积网络则用于连接候选关键部位组成肢体,再将这两个卷积网络的结果汇总进行姿势组装,完成对图像中人体姿势的检测。

优选的,所述s3中openpose的主要算法包括局部区域亲和算法匈牙利算法。

优选的,所述s4中状态1:当学生左手或右手手腕关键点在连续五次识别的帧图像中位置超过指定区域,即定义为异常状态1;状态2:当学生的在连续十五次识别的帧图像面部五个关键点中任意关键点的位置低于阈值时且手腕关键点位置低于一定阈值时,即定义为异常状态2;状态3:当学生面部的左侧或右侧眼睛和耳朵这两个关键点在连续五次识别的帧图像中均丢失即定义为状态3;状态4:当学生面部的五个关键点中的任意一个关键点位置在连续十次识别的帧图像中经常超过阈值,则定义为异常状态4。

优选的,所述s5中声音采集器主要由线圈、磁钢、外壳组成,当接受到声波信号时,声波产生的力量作用在振膜上,引起振膜振动,带动音圈做相应振动,音圈在磁钢中运动,产生电动势,声音信号转变成电信号传输给下一级系统进行分析。

优选的,所述s8中帧图像的选取方法包括帧消减方法和k-means聚类算法提取关键帧的方法。

与现有技术相比,本发明的有益效果是:

本发明设计了一种基于改进的openpose考试多人异常行为及口罩佩戴检测方法,该方法利用改进的openpose模型、多人口罩检测模型,不仅能够检测出学生考试异常行为及时反馈给老师,并且能够改善考场纪律,谨防考试违纪现象。

附图说明

图1是本发明实施例提供的openpose模型的输入图;

图2是本发明实施例提供的openpose模型的可视化流程图;

图3是本发明实施例提供的匈牙利算法的实现示意图

图4是本发明实施例提供的roi层后加gap的示意图;

图5是本发明实施例提供的特征图加权后的cam示意图;

图6是本发明实施例提供的k-means原理图;

图7是发明实施例提供的残差网络的模型结构图;

图8发明实施例提供的加入残差网络的识别效果图;

图9是发明实施例提供的fpn特征金字塔模型结构图;

图10发明实施例提供的fpn自顶向下和横向连接模型结构图;

图11本发明实施例提供的fpn中p2~p5参数示意图;

图12是本发明实施例提供的fpn加入到resnet18网络的实验效果表;

图13是本发明实施例提供的口罩检测方法的示意图;

图14是本发明实施例提供的检测到未佩戴口罩学生的示例图;

图15是本发明实施例提供的改进的openpose模型的结构优化示意图;

图16是本发明实施例提供的学生东张西望的异常行为示例图;

图17是本发明实施例提供的学生低头以及手放在(桌子下)的异常行为示例图;

图18是本发明实施例提供的学生手臂伸到桌子区域外的异常行为示例图;

图19是本发明实施例提供的学生频繁抬头的异常行为示例图;

图20是本发明实施例提供的学生在12张帧图片手部关键点的活动轨迹图;

图21是本发明实施例提供的自适应软阈值残差块结构图

图22是本发明实施例提供的几种异常行为判断方法的判断结果图;

图23是本发明实施例提供的课桌下的定向声音采集器的装置示意图;

图24是本发明实施例提供的讲台上的语音提示集成模块的装置示意图;

图25是本发明实施例提供的检测系统的主要工作流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-24,本发明提供一种技术方案:一种基于改进的openpose考试多人异常行为及口罩佩戴检测方法,其特征在于:包括以下步骤:

s1、通过教室前端和后端的摄像头,以一定初始帧率持续拍摄获取学生考试时的图像;

s2、考试全过程中,摄像头正常检测教室,通过识别每个人的面部来判断该名同学是否佩戴口罩,一旦发现有学生未佩戴口罩,便记录该名同学的位置,将信息反馈给老师;

s3、判断异常行为方法:识别出测试图像的每帧图片的关键点并对其编号、连线;以openpose所选取的18个关键点为参考,为了使识别更加简便,挑选出上半身中左右眼睛,左右耳朵,鼻子,脖子,左右手腕,左右手肘,左右肩膀共12个关键点进行识别;

s4、考场异常行为检测分成2个主要状态:正常状态和异常状态;根据关键点的坐标超出一定阈值或关键点之间的距离和连线的角度超过一定阈值将异常状态具体划分为:状态1:主要定义为手部信息超出规定区域;状态2:主要定义为低头并且手放在桌子下;状态3:主要定义为左右张望;状态4:主要定义为频繁抬头;初始时,系统将会每隔5秒对图像进行对比检测,若各连线数值未达到异常情况将判定为正常考试状态,若关键点间位置关系出现错误、关键点连线之间的距离达到阈值将提高检测频率至每隔1秒进行对比检测;

s5、在学生课桌下配置一个定向声音采集器,以此来辅助检测学生的考试行为状态,在排除噪音干扰后,若检测到该区域有学生交谈的声音,即可标记为疑似异常状态;系统会自动调整摄像头的焦距或者调用后摄像头,来重点观察该区域考生的考试行为,直至其恢复为正常状态或被判定为异常状态;

s6、根据识别出的关键点连线的图像,当初次发现某帧图像中关键点位置关系或关键点连线距离达到预设的阈值时,将该帧设置为起始帧,此后提高检测频率;初始时,系统将会每隔5秒对图像进行对比检测;若指定关键点出现丢失、相关数值达到阈值或出现异常表情时将提高检测频率至每隔1秒进行对比检测;当关键点位置长时间丢失或关键点连线距离超过设定阈值时,判定为异常状态;

s7、当检测到异常状态,系统将继续对后20秒的每一秒进行分析,并根据关键点之间连线异常值、关键点丢失等异常信息按各行为判定标准判定为状态1、状态2、状态3或状态4;

s8、摄像头检测学生考试时,一旦检测出某学生拿掉口罩或口罩佩戴不规范,或者检测到学生考试异常,系统会自动调整摄像头的焦距,锁定该学生并把该帧图像保存,同时标记该学生为考试行为异常;

s9.在讲台放置一语音模块,当系统判定学生进入异常状态时,信号发射器发出信号,语音模块上的蓝牙模块接收到此信号,通过功率放大板控制扬声器发出声音,提醒老师该学生出现异常;

s10.引入搜索和优化识别策略,若某一考生经常出现疑似异常行为状态的确诊,则下一次异常识别中,减少判定异常行为姿态所需要持续的时间,优先判断是否为考试异常状态,进而提高分析的效率。

由于现代考试存在着教室空间小、学生人数多、学生分布密集等不利因素,摄像头拍摄视频可能出现遮挡、模糊等不利因素,现拟定:安装在教室后端的摄像头b:当前端摄像头a所拍摄画面被遮挡时,可自动调用安装在教室后端的摄像头b来辅助判断学生的考试行为姿态。

openpose模型本质上是一种双并行卷积网络模型。它同时使用两个卷积网络,一个卷积网络从图像中定位人体关键部位的位置,另一个卷积网络则用于连接候选关键部位组成肢体,再将这两个卷积网络的结果汇总进行姿势组装,完成对图像中人体姿势的检测。

先使用一个卷积网络初步提取图像特征,再分别输入至双并行卷积网络中进行后续处理,等同于将双并行卷积网络较底层的部分合并为一个卷积网络,以节约计算资源。

图1展示了openopose模型的检测流程,图2是该流程的可视化。首先,使用vgg-19网络提取输入图像的底层特征,如图2(a)所示是其中第五层卷积层的输出;然后,底层特征分别输入到两个并行卷积网络中,其中一个网络使用非极大值抑制算法(non-maximumsuppression)生成置信度图,用于人体关键部位的定位,如图2(b)所示,是该过程中肩膀和手肘部位的置信热力图;另一个网络使用局部区域亲和矢量场算法,提供关键部位之间的连接方式以组成肢体,如图2(c)所示,是该过程中左小腿的检测效果;之后,汇总这两个卷积网络的处理结果,采用匈牙利算法(hungarianalgorithm),进行姿势组装,最终输出待测图像中的人体姿势,如图2(d)、(e)所示,分别是姿势组装示意图和最终检测结果。

openpose模型的主要算法包括:

1)局部区域亲和算法

局部区域亲和算法的作用是计算候选关键部位相互连接组成候选肢体的置信度。

设j1、j2是两个不同的关键部位,v为从j1指向j2的单位向量,vt为向量v的垂直向量,肢体c的长度和宽度分别设为lc、σc,分别表示候选关键部位j1、j2的位置坐标。

首先,如公式(1)所示,计算图像上某一点p在肢体c上的置信向量ac(p)。如果点p在肢体c上,则ac(p)就等于肢体c的单位方向向量v,否则为零向量。公式(2)和(3)是判断点p是否在肢体c上的公式,若均成立则点p在肢体c上,否则不在。

0≤v(p-xj1)≤lc(2)

|vt(p-xj1)|≤σc(3)

之后,就可用公式(4)得出肢体c的置信度ec,它是计算关键部位j1、j2之间连线上所有点的置信向量的定积分得来的。

2)匈牙利算法

因为图像上有多个人的情况,从这些候选部件可以定义为一个很大的可能肢体结合,通过上面的积分公式,计算每一个候选肢体得到的分数。因此,openpose模型采用最大二分图匹配法找出可能的姿势组装方案,再寻找其中候选肢体置信度总和最大的方案。

匈牙利算法就是openpose模型用于完成最大二分图匹配的算法。假设现有三种关键部位,它们的可能连接方式如图3所示。匈牙利算法计算过程如下:

首先,由于最大二分图匹配法不允许多边共用一个节点的情况(即一个肩膀不可能连接两个手肘),所以有两个约束条件,如公式(5)、(6)。

公式(5)含义为:设使用表示部位1类第n个关键部位与部位2类第m个关键部位具有连接的可能性,则对于任意的部位1类第n个关键部位,所有与此关键部位相连的部位2类关键部位的置信度之和必须不超过1,否则代表与此关键部位相连的部位2类关键部位超过了1个,这种连接方式是违规的。公式(6)同样也是对部位2类第m个关键部位的约束。

最后,将所有满足约束条件的可能连接方式,使用公式(7)找出最大的积分和,则其所对应的的连接方式就是最可能的连接方式,就找到了某一条肢体两端所对应的关键部位,对其他关键部位重复以上步骤,最后将共用的同一个关键部位的肢体组装在一起,就实现了多人姿势的检测。

应用改进的openpose模型进行考试多人异常行为检测,包括:

1.解决目标检测算法中遮挡问题

针对需检测物体被其他物体遮挡导致的漏检问题可以从特征角度对深度学习检测器进行改进。

卷积神经网络对图像目标的某些特征比较敏感,在卷积特征空间中,类依赖特征对最终的分类结果起决定性作用。

于是,我们可以采用在卷积特征中对特征进行处理,即屏蔽vgg-19中建议区域的类依赖特征,产生遮挡效果。

对于某一类的cam,其代表着在cnn中哪部分图像和特征是作为这个类的判别依据,即类的依赖部分,从而解释了模型将目标分成某一类的依据。输入图像经过一系列卷积层后得到最后一层特征图,最后一层特征图中包含丰富的空间和语意信息,之后没有全连接层,而是通过gap的方式得到每一张图的均值,再将这些特征图的均值进行加权以全连接的方式求和输入给最后的softmax,即:

其中,ωkc为每个类别c代表的特征值k所对应的权值。

接下来说明定位卷积特征中类依赖特征的方法:输入图像经过一系列的特征提取和网络的筛选,得到建议区域。将gap融合到已经训练好的vgg-19网络中,即在roipooling层后添加gap,固定大小的建议区域特征输入到gap中来得到vgg-19的建议区域特征中的类依赖部分。

在训练过程中将vgg-19部分的参数固定,而将gap部分作为一个分类器来训练。但由于gap部分只有一层全连接层,因此会出现训练不拟合的现象,为此在gap部分前面加入两个卷积核大小分别为3×3和1×1的卷积层进行训练。训练完成后,将各类别所属的权重提取出来并与对应的特征图加权求和后得到cam。cam中高亮的部分即为特征中的类依赖特征。

(b)添加自适应软阈值的残差网络提取底层特征

软阈值处理将绝对值小于阈值的值置零,将绝对值大于阈值的值朝零方向缩小,从而滤去无用信息。所以本文参考注意力机制(attentionmechanism)中获取通道域注意力权重方法,原有的senet中是对特征图的各个通道进行加权,就可以通过这种方式增强有用特征通道、削弱冗余特征通道。而软阈值残差块就是将残差模式下的senet中的“重新加权”替换成了“软阈值化”,在残差块中添加分支以获取该阈值。具体来说,由软阈值残差块所输出的阈值,是(各个通道的特征层上每一个点的像素值相加求得的平均值)×(一组0和1之间的系数)。

通过软阈值残差块自动设置的阈值,减轻了人工设置阈值这一繁琐任务,且由实验所得,人工设置阈值需要一定的专业知识,同时使用该阈值的模型的检测精度低于使用软阈值残差块所得到的阈值的模型的检测精度。此外,软阈值残差块确保了软阈值函数的阈值为正数,而且在合适的取值范围之内,避免了输出全部为零的情况。

如图21所示,是自适应软阈值和残差块结构,在经过两层卷积得到尺寸为w×h×c的特征图后引出一个分支获取阈值。

该分支首先进行w×h尺寸的全局平均池化,计算方法如公式(9)所示:

式中,w、h是输入特征层的宽和高;|xij|是特征图中(i,j)点对应像素点的绝对值;y是池化结果,它是一个1×1×c的向量。

随后,池化结果通过一层1×1卷积以学习阈值系数,再使用sigmoid函数对该系数进行归一化,使其位于0和1之间,此系数同样是一个1×1×c的向量。再将阈值系数与池化结果对应位置元素相乘,便可得到特征图中每个通道对应的不同阈值。

最后,根据所获得的阈值对特征图进行软阈值处理即可。

2.利用最小距离判别分析认真听课状态

根据权利要求1所述的一种基于改进的openpose的考试多人异常行为及口罩佩戴检测方法中步骤s3还包括:对于在图片中提取到的12个人体结构坐标点,即图片中人的眼睛肩部等位置,将这12个坐标点用点阵向量表示:

a=((x1,y1),...,(x12,y12))(10)

对每一个被检测到的部分,将(x1,y1)作为起始点,将剩余11个点坐标,与起始点作差,再计算其余11个坐标点与起始点的角度值,得到特征矩阵:

该特征矩阵可以用来描述检测部分的形状信息。

将特征举证每一列看作图形形状的一种属性,每一列的值具有不同的量纲,则需对每一列数据进行标准化处理,得到标准特征矩阵:

标准化处理公式:

3.用熵值法对标准特征矩阵进行信息熵值评价,对熵值高的无效信息进行舍弃。

熵值法的计算方法和步骤:

1)假定需要对m个对象进行评价,评价指标体系包括n个指标。这是由m个样本组成,用n个指标做综合评价的问题,便可以形成评价系统的初始数据矩阵:

其中xij表示第i各样本对第j项评价指标的数值。

对于特征矩阵,有3个指标,分别是x方向,y方向的坐标差以及角度值,有m个特征矩阵,则通过熵值法可以确定三个指标的权重大小。

2)数据处理——标准化处理

a)由于各指标的量纲,数量级均有差距,所以为了消除因量纲不同对评价结果的影响,需要对各指标进行标准化处理。

标准化处理公式:

其中xj为第j项指标值,xmax为第j项指标的最大值,xmin为第j项指标的最小值,x’ij为标准化值。

若所用指标是效益型指标,则选用前一个公式。

若所用指标是成本型指标,则选用后一个公式。

对于x方向坐标差以及y方向坐标差的绝对值还有角度插值,这三项项属性均是是成本型,故需采用第二种标准化处理方式。

b)计算第j项指标下第i各对象指标值的比重yij

由此,可以建立数据的比重矩阵y={yij}m*n

3)计算指标信息熵值e和信息效用值d

a)计算第j项指标的信息熵值的公式为:

(式中k为常数,)(17)

b)某项指标的信息效用价值取决于该指标的信息熵值ej与1之间的差值,它的值直接影响权重的大小,信息效用值越大,对评价的重要性就越大,权重也就越大。

dj=1-ej(18)

4)计算评价指标权重

利用熵值法估算各指标的权重,其本质是利用该指标性息的价值系数来计算,其价值系数越高,对评价的重要性就越大(或称权重越大对评价结果的贡献越大)。

第j项指标的权重为:

至此,三项指标的权重即可求得,对其得分情况进行加权,可以得到坐标差值以及角度差值之间分别的综合得分,衡量指标重要性。

该算法应用于考试行为识别中,评价提取到的图片信息是否具有较高的有效性,信息熵值越大,信息的效用值就越低,反之则越高。

现对于考试过程中三组坐标序列利用最小距离法和熵值法进行判断:

a=[12,24;5,9;20,7;14,9;2,8;16,32;8,16;17,42;62,14;34,49;12,63;20,14];代表中心序列,即用该序列来模拟给定的认真考试状态。

b1=[11,20;45,69;20,17;14,79;2,18;86,32;18,16;37,62;52,34;44,29;15,63;20,19];

b2=[17,2;54,19;23,17;18,19;12,38;46,32;38,16;27,41;52,14;36,52;19,33;26,4];

b1和b2矩阵是比较序列,即代表其他待比较图片;

通过熵值法计算得到b1关于a的特征矩阵三列对应属性权重为0.254,0.343,0.403,总距离为26.47;b2关于a的特征矩阵三列对应属性权重为0.240,0.451,0.310,总距离为24.18,通过对比距离可以得出b2所代表的图片比b1所代表的图片更像认真考试状态。

4.多种算法找出合适的关键帧图片。

由于本实验中openpose的采样率较高,会产生大量数据,其中也包含不少无效数据,增加了对数据进行其他处理的复杂程度,因此有必要尽可能筛除原始数据中的冗余数据和无效数据,同时提取出具有概括性的关键帧来表示原始的角色运动行为,并且能够不失真。获取关键帧最简单的做法是等间隔提取,但该方法可能导致对高速运动的的欠采样,即关键帧丢失和对低速运动的过采样,即关键帧冗余。因此,根据不同的理论方法和不同的运动特征,更复杂的算法便应运而生。本文通过以下两种算法选取合适的帧图片。

a)帧消减方法

设定一个阈值,根据阈值并且采用四元数插值重建法对非关键帧进行消减或者直接对关键帧进行提取。使用四元数插值重建对原始序列进行还原,从而符合人体关节旋转运动的特点,使得提取的关键帧比较准确。

线性插值(lerp)方法:

qt=lerp(q0,q1,t)=(1-t)q0+tq1(20)

归一化线性插值(nlerp)方法:

球面线性插值(sphericallinearinterpolation)方法:

θ=acos(q0·q1)(23)

b)k-means(k均值)聚类算法提取关键帧

算法原理:

(1)首先我们选择一些类/组,并随机初始化它们各自的中心点。中心点是与每个数据点向量长度相同的位置。这需要我们提前预知类的数量(即中心点的数量)。

(2)计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。

(3)计算每一类中中心点作为新的中心点。

(4)重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。图6演示了k-means进行分类的过程:

算法步骤:

处理一段摄像头捕捉的视频流,分为正常行为和异常行为两类,学生正常行为则5秒检测一次,出现异常行为则1秒检测一次。聚类方法通过设定的阈值对帧间距进行加权,从而对各帧进行聚类,并选取各聚类的首帧为关键帧。从而能找出异常行为频发的帧数位置。

对四种异常状态的判定方法进行详细的说明。状态1:当学生左手或右手手腕关键点在连续五次识别的帧图像中位置超过指定区域,即定义为异常状态1。状态2:当学生的在连续十五次识别的帧图像面部五个关键点中任意关键点的位置低于阈值时且手腕关键点位置低于一定阈值时,即定义为异常状态2。状态3:当学生面部的左侧或右侧眼睛和耳朵这两个关键点在连续五次识别的帧图像中均丢失即定义为状态3。状态4:当学生面部的五个关键点中的任意一个关键点位置在连续十次识别的帧图像中经常超过阈值,则定义为异常状态4。

5.声音采集器主要由线圈、磁钢、外壳组成,当接受到声波信号时,声波产生的力量作用在振膜上,引起振膜振动,带动音圈做相应振动,音圈在磁钢中运动,产生电动势,声音信号转变成电信号传输给下一级系统进行分析。

6.针对不同运动的检测优化:通常情况下,改进型openpose模型所检测的人体姿势均为人的全身姿势,而在一般考试的实际运行中,不少运动并不需要检测人的全身姿势。例如在考试检测中,动作的重点在于上半身。因此,在考试检测系统检测时,可以仅检测上半身部分关键点,即可显著减少运算量,进一步加快检测速度,使得检测实时性更高。

多人口罩检测模型的特征为:

1.在已有的ssd模型上加上残差网络

本文使用预训练好的resnet18作为主干网络,用于特征提取,除了第一层使用7×7的卷积外,其余4层均由残差连接单元组成。使用残差连接可以有效地解决深层网络训练的时候会出现梯度消失或梯度爆炸的问题,残差连接单元的内部结构如图7所示。

在残差连接单元中,对于输入特征向量x,输出特征向量y通过残差连接建立的计算公式为:

y=σ(f(x,{wi})+x)(24)

其中,σ表示线性修正单元(rectifiedlineraunit,relu)激活函数,wi表示权重,f(x,{wi})表示残差映射,对于图中三层的残差连接单元,其计算方式如公式(3)所示。相加操作通过快捷连接和逐元素进行相加,相加之后再次采用relu激活函数进行非线性化。

f(x,{wi})=w3σ(w2σ(w1x))(25)

添加残差网络后的效果图如图9所示,加入残差网络后的模型识别效果优于普通resnet18模型。

2.添加fpn“特征金字塔”网络提取底层特征

fpn使用的是图像金字塔的思想以解决物体检测场景中小尺寸物体检测困难的问题,ssd利用卷积网络的层次结构,通过网络的不同层得到了多尺度的featuremap(图10),该方法虽然能提高精度且基本上没有增加测试时间,但没有使用更加低层的featuremap,然而这些低层次的特征对于检测小物体是非常有帮助的。

针对上面这些问题,fpn采用了ssd的金字塔内featuremap的形式。与ssd不同的是,fpn不仅使用了vgg中层次深的featuremap,并且浅层的featuremap也被应用到fpn中。并通过自底向上(bottom-up),自顶向下(top-down)以及横向连接(lateralconnection)将这些featuremap高效的整合起来,在提升精度的同时并没有大幅增加检测时间(图10)。

通过自底向上路径,fpn得到了四组featuremap。浅层的featuremap含有更多的纹理信息,而深层的featuremap含有更多的语义信息。为了将这四组倾向不同特征的featuremap组合起来,fpn使用了自顶向下及横向连接的策略,如图11。

为了提升计算效率,首先fpn使用1x1进行了降维,得到p5,然后使用双线性插值进行上采样,将p5上采样到和c4相同的尺寸。之后,fpn也使用1×1卷积对p4进行了降维,由于降维并不改变尺寸大小,所以p5和p4具有相同的尺寸,fpn直接把p5单位加到p4得到了更新后的p4。基于同样的策略,我们使用p4更新p3,p3更新p2。这整个过程是从网络的顶层向下层开始更新的,所以叫做自顶向下路径。

fpn使用单位加的操作来更新特征,这种单位加操作叫做横向连接。由于使用了单位加,所以p2,p3,p4,p5应该具有相同数量的featuremap,所以fpn使用了1×1卷积进行降维。

在更新完featuremap之后,fpn在p2,p3,p4,p5之后均接了一个3×3卷积操作,该卷积操作是为了减轻上采样的混叠效应(aliasingeffect)。

3.fpn加入到resnet18网络的实验效果表

评价标准采用ar(averagerecall),ar右上角的100或1k表示每张图像有100或1000个anchor,ar的右下角s,m,l表示coco数据集中object的大小分别是小,中,大。feature列的大括号{}表示每层独立预测。

从(a)(b)(c)的对比可以看出fpn的作用确实很明显。另外(a)和(b)的对比可以看出高层特征并非比低一层的特征有效。

(d)表示只有横向连接,而没有自顶向下的过程,也就是仅仅对自底向上的每一层结果做一个1×1的横向连接和3×3的卷积得到最终的结果。

(e)表示有自顶向下的过程,但是没有横向连接,即向下过程没有融合原来的特征。这样效果也不好的原因在于目标的location特征在经过多次降采样和上采样过程后变得更加不准确。

(f)采用finestlevel层做预测,即经过多次特征上采样和融合到最后一步生成的特征用于预测,主要是证明金字塔分层独立预测的表达能力。显然finestlevel的效果不如fpn好,原因在于prn网络是一个窗口大小固定的滑动窗口检测器,因此在金字塔的不同层滑动可以增加其对尺度变化的鲁棒性。另外(f)有更多的anchor,说明增加anchor的数量并不能有效提高准确率。

此外,用c4.5算法中信息增益率来判断哪种判别方法得到的准确性更高。具体思路为:分别选择不同判别异常方法作为主要特征对学生考试状态进行分类,再对分类结果进行评判。

学生异常行为判别表如图所示:

以抬头为例:设yes为抬头,no为未抬头:p0为正常状态学生所占比例,p1为异常状态学生所占比例

条件熵定义为:

信息增益定义为:g(d,a)=h(d)-h(d|a)(27)

内在信息定义为:

信息增益率定义为:

内在信息为:

设ei=h(y|a=ai)其中i=0,1,ai=a0,a1分别对应未抬头和抬头两种判断特征。

h(d|a)=0.182

信息增益为:

g(d,a)=h(d)-h(d|a)=0.301-0.182=0.119

信息增益率为:

同理,分别计算转头判断,发呆判断,口罩判断的信息增益率可知,通过是否佩戴口罩判断该学生为异常行为的准确率最高。识别判断优先选择口罩检测。

本发明设计了一种基于openpose考试多人异常行为及口罩佩戴检测方法,该方法利用改进的openpose模型、多人口罩检测模型,不仅能够检测出学生考试异常行为及时反馈给老师,并且能够改善考场纪律,谨防考试违纪现象。

该方法利用改进的openpose对学生姿势中各个关节点的所在位置及位置关系,以及融入fpn的ssd口罩检测算法,检测出考试异常行为学生,并及时提醒学生参与考试以及反馈结果至老师(提醒学生按规章参与考试并及时向监考老师反馈情况),课后进行教学改革和总结。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1