一种录播系统中学生起坐动作的检测方法及系统与流程

文档序号:24530077发布日期:2021-04-02 10:08阅读:84来源:国知局
一种录播系统中学生起坐动作的检测方法及系统与流程

本发明涉及运动检测技术领域,具体涉及一种录播系统中学生起坐动作的检测方法及系统。



背景技术:

在智慧录播中,学生的互动监控主要采取检测学生的起立与坐下动作,一些检测设备采用电容压感等方式,这种检测方法需要在每个座位上配备一个装备,代价高,成本大。

为了节约成本,基于视觉处理的方法越来越受到关注。cn102096930a(专利号)采用背景建模的方式判定运动目标,然后利用模板匹配进行学生起立坐下判定,这种方法完全没有考虑到其他运动带来的干扰,误检率很高;cn110728696a首先利用背景建模选出运动目标,再利用特征点加稀疏光流的方法进行起立判定,最后根据预先设定好的线进行给出判定结果,这种方法有几个缺点:一、单纯的背景建模方法在教室这种复杂的环境下,很难提取一个完整的运动目标;二、特征点容易受光线和着装的干扰,光流法的计算复杂度大;三、预先划线的方法受限太多,如果摄像机稍微移动,则整个判定条件都会失效。



技术实现要素:

本发明提出的一种录播系统中学生起坐动作的检测方法及系统,可解决上述技术缺陷。

为实现上述目的,本发明采用了以下技术方案:

一种录播系统中学生起坐动作的检测方法,包括以下步骤:

s100、采集一帧图像;

s200、对采集的图像进行预处理;

s300、对预处理后的图像进行前景提取获取运动历史图;

s400、对运动历史图进行可能性目标判定并保存;

s500、对保存的信息通过判定模块进行两级判定得到起立与坐下的坐标。

进一步的,s200中对采集的图像进行预处理包括把采集的4k图像的高与宽分别缩放为原来的1/4,然后进行高斯滤波处理。

进一步的,所述s300、对预处理后的图像进行前景提取获取运动历史图;

具体包括:

(c1)采用帧间差法即当前帧中的每一个点与之前帧对应点的像素值差的绝对值,两帧差法对应的是前一帧,三帧差法对应的是前两帧,以此类推,公式如1所示,

f(x,y)=abs(i(x,y)-ipre(x,y))(1)

其中,f(x,y)表示帧差后的结果,abs()表示绝对值处理,i(x,y)表示当前帧坐标(x,y)的像素值,ipre(x,y)表示之前帧坐标(x,y)的像素值;

具体的,创建一个存储4帧图像的环形buf,取出buf[i]与buf[i+2]中的图像,使用公式(1)计算出帧差后的结果;

(c2)运动历史图是将发生运动的运动历史图像素设置为当前时间戳,而清除很久以前最后一次发生运动的运动历史图像素,公式如2所示,

具体的,设定二值化阈值为13,对f(x,y)进行二值化得到silh(x,y),当silh(x,y)≠0时,运动历史图mhi(x,y)的值取当前系统时间timestamp,当silh(x,y)=0并且mhi(x,y)小于当前系统时间timestamp减去持续时间duration时,运动历史图mhi(x,y)的值为0,其他情况下mhi(x,y)的值保持不变;

通过以上步骤得到运动目标的二值化图像,对二值化图像进行3*3形态学腐蚀、膨胀处理,然后提取运动目标的外接矩形作为可能性起立坐下目标模块判定的输入。

进一步的,所述s300中根据教室场景学生的座位的实际情况,duration变量的值取0.3到0.5之间。

进一步的,所述s400、对运动历史图进行可能性目标判定并保存具体包括,

起立的向上角度设置为angle>80并且angle<170,坐下的向下角度设置为angle>200并且angle<300;

具体的角度求解包括梯度方向求解和全局运动方向求解;

其中,

(d1)梯度方向求解

梯度方向计算如公式3所示,

具体的,使用sobel算子分别计算出然后使用fastatan2函数求取算子的反正弦得到运动历史图的梯度方向;

(d2)全局运动方向求解

全局运动方向是计算所选区域的平均方向,根据平均方向求出一个0到360的角度值;

平均方向是根据加权方向直方图计算的,权重计算公式为ω=ax+b,其中b=1-t*a,最终其中t表示mhi中的timestamp,dt表示mhi中的duration,从公式中可知最近的运动具有较大的权重,而过去发生的运动具有较小的权重;

具体的,把梯度方向图按照0到360度划分为12等份,得到梯度方向直方图,寻找梯度方向直方图最大值的坐标作为基本方向,根据权重公式及初始化权重系数计算出运动历史图的权重,计算基本方向的相对偏移量,根据偏移量和基本方向可求出最终的运动方向角度。

进一步的,所述s500、对保存的信息通过判定模块进行两级判定得到起立与坐下的坐标,具体采用了两级判定的方式来提升检测的精度;

在第一级判定中利用起立坐下运动的连续性特点,通过计算目标连续多帧的运动方向判断起立坐下动作,第二级起立判定在第一级的基础上加入人脸检测来确定最终的判定结果,第二级坐下判定采用hog特征相似度比较进行判定。

进一步的,第一级判定是根据学生起立、坐下运动的特点,连续10帧存在上升运动的趋势则认为是起立动作,连续10帧存在下降运动的趋势则认为是坐下的动作;

具体步骤,首先是相邻帧相似区域的运动判断,初始化会建立一个特征提取向量,用来存储所有可能性目标的运动角度、运动的坐标区域,假设当前帧提取出前景区域的运动角度满足angle>80并且angle<170,则采用非极大值抑制的方式把该区域坐标与上一帧所有的坐标进行比较,考虑到运动过程中产生的干扰,可能存在连续3帧运动角度不满足angle>80并且angle<170的情况,因此当两帧运动区域重合的面积与两者面积之间最小值的比值大于0.5则判定两个区域是相似区域,帧计数加一,如果连续3帧运动角度都不满足angle>80并且angle<170条件则帧计数清零,当有满足帧计数大于10的特征向量,则会进一步对该向量中所有存储的angle进行判断,只有满足angle>80并且angle<95的个数大于等于5帧是判定为起立的动作;

坐下动作判定跟起立动作判定逻辑相同,在最终判定的时候只需要判定特征向量的帧计数是否大于10帧,大于10帧则判定为坐下的动作。

进一步的,第二级采用人脸检测的方法进行起立判定;

在第一级确定的位置两秒内,取出10帧并合并成一帧图像进行检测,如果检测出两张及以上人脸,并且人脸的几何位置在所选位置的上半部分则判定为起立动作;

对于坐下动作,则是在第一级确定位置后的每一帧提取hog特征与存储图像的hog特征进行相似度比较,如果相似度的值小于0.7则判定为坐下。

另一方面,本发明还公开一种录播系统中学生起坐动作的检测系统,包括以下单元,

图像采集模块,用于采集学生上课场景中的图像;

图像预处理模块,用于对采集的图像进行预处理;

前景提取模块,用于对预处理后的图像进行前景提取获取运动历史图;

可能性起立坐下目标判断模块,用于对运动历史图进行可能性目标判定并保存;

判定模块,用于对保存的信息通过判定模块进行两级判定得到起立与坐下的坐标。

由上述技术方案可知,本发明的录播系统中学生起坐动作的检测方法,提供一种基于运动历史图和梯度方向的学生起立、坐下动作检测方法,采用两级判别对起立和坐下动作进行判断来提高检测准确率。利用运动历史图解决背景建模等方法检测目标不完整的问题,对完整目标提取全局运动角度,最终采用两级判别法进行判别。

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

(1)本发明采用三帧差法加运动历史图进行运动目标的判断,不仅降低了计算复杂度,更解决了运动目标检测不完整的问题。由于最终需要多帧的信息进行判断,完整的目标判断能大大降低后续判别的复杂度;

(2)本发明的两级判别法能够极大提高检测率。通过第一级的判别可以过滤掉一些轻微动作的干扰,但是对于举手等动作比较大的行为仍然存在误判的可能,加入连续多帧组合的人脸检测方法,不仅能够避免单帧检测的不稳定性,也能减少因角度问题带来的干扰。

(3)本发明操作简单,只需要一个云台相机,省去额外的划线等操作,减少施工的复杂度。

附图说明

图1是本发明的方法流程原理图;

图2是本发明的第一级判定流程示意图;

图3是本发明的第二级采用人脸检测的方法进行起立判定的示意图;

图4是本发明的坐下动作判定流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

如图1所示,本实施例所述的录播系统中学生起坐动作的检测方法,整个处理流程包括:采集一帧图像;对图像进行预处理;对预处理后的图像进行前景提取获取运动历史图;对运动历史图进行可能性目标判定并保存;对保存的信息通过判定模块进行两级判定得到起立与坐下的坐标。

以下具体说明:

(a)图像采集模块

采集学生上课场景中的图像。

(b)图像预处理模块

图像预处理模块主要包括对图像进行缩放与滤波,具体的,把采集的4k图像的高与宽分别缩放为原来的1/4,然后进行高斯滤波处理。

(c)前景提取模块

前景提取模块是起立、坐下动作检测定位的关键步骤之一,后续的操作都是基于前景目标进行判断。通过前面的介绍,单纯的背景建模方法很难提取完整的目标,本发明采用帧差法和运动历史图相结合的方法,解决目标提取完整性问题。

(c1)帧间差法的基本思想是当前帧中的每一个点与之前帧对应点的像素值差的绝对值,两帧差法对应的是前一帧,三帧差法对应的是前两帧,以此类推,公式如1所示,

f(x,y)=abs(i(x,y)-ipre(x,y))(1)

其中,f(x,y)表示帧差后的结果,abs()表示绝对值处理,i(x,y)表示当前帧坐标(x,y)的像素值,ipre(x,y)表示之前帧坐标(x,y)的像素值。

具体的,创建一个存储4帧图像的环形buf,取出buf[i]与buf[i+2]中的图像,使用公式1计算出帧差后的结果。

(c2)运动历史图的基本思想是将发生运动的运动历史图像素设置为当前时间戳,而清除很久以前最后一次发生运动的运动历史图像素,公式如2所示,

具体的,设定二值化阈值为13,对f(x,y)进行二值化得到silh(x,y),当silh(x,y)≠0时,运动历史图mhi(x,y)的值取当前系统时间timestamp,当silh(x,y)=0并且mhi(x,y)小于当前系统时间timestamp减去持续时间duration时,运动历史图mhi(x,y)的值为0,其他情况下mhi(x,y)的值保持不变。根据教室场景学生的座位的实际情况,duration变量的值一般取0.3到0.5之间。

通过以上步骤得到运动目标的二值化图像,对二值化图像进行3*3形态学腐蚀、膨胀处理,然后提取运动目标的外接矩形作为可能性起立坐下目标模块判定的输入。

(d)可能性起立坐下目标判断模块

背景提取模块会提取出多个可能性目标外接矩形,根据学生起立坐下的动作特点,这些外接矩形的高要大于宽,因此首先根据这个特点排除不符合向上向下运动的外接矩形。

学生起立坐下的动作是一个连贯的过程,起立动作的表现是向上的运动,坐下动作的表现是向下运动,但是考虑到学生起立坐下动作的不标准,有些在起立的前半部分会有一个前倾的动作,有些在起立的前半部分会左右摇晃,为了兼容所有起立坐下动作的可能性,所以起立的向上角度设置为angle>80并且angle<170,坐下的向下角度设置为angle>200并且angle<300。

具体的角度求解包括梯度方向求解和全局运动方向求解。

(d1)梯度方向求解

梯度方向计算如公式3所示,

具体的,使用sobel算子分别计算出然后使用fastatan2函数求取算子的反正弦得到运动历史图的梯度方向。

(d2)全局运动方向求解

全局运动方向的基本思想是计算所选区域的平均方向,根据平均方向求出一个0到360的角度值。平均方向是根据加权方向直方图计算的,权重计算公式为ω=ax+b,其中b=1-t*a,最终其中t表示mhi中的timestamp,dt表示mhi中的duration,从公式中可知最近的运动具有较大的权重,而过去发生的运动具有较小的权重。

具体的,把梯度方向图按照0到360度划分为12等份,得到梯度方向直方图,寻找梯度方向直方图最大值的坐标作为基本方向,根据权重公式及初始化权重系数计算出运动历史图的权重,计算基本方向的相对偏移量,根据偏移量和基本方向可求出最终的运动方向角度。

(e)判定模块

判定模块就是根据前面确定的前景提取内容以及求解的运动方向对最终目标进行判定,该模块的设计会影响检测的精度,因此在该模块的判定中采用了两级判定的方式来提升检测的精度。在第一级判定中利用起立坐下运动的连续性特点,通过计算目标连续多帧的运动方向判断起立坐下动作,第二级起立判定在第一级的基础上加入人脸检测来确定最终的判定结果,第二级坐下判定采用hog特征相似度比较进行判定。

第一级判定是根据学生起立、坐下运动的特点,连续10帧存在上升运动的趋势则认为是起立动作,连续10帧存在下降运动的趋势则认为是坐下的动作,如图2所示。具体步骤,首先是相邻帧相似区域的运动判断,初始化会建立一个特征提取向量,用来存储所有可能性目标的运动角度、运动的坐标区域,假设当前帧提取出前景区域的运动角度满足angle>80并且angle<170,则采用非极大值抑制的方式把该区域坐标与上一帧所有的坐标进行比较,考虑到运动过程中产生的干扰,可能存在连续3帧运动角度不满足angle>80并且angle<170的情况,因此当两帧运动区域重合的面积与两者面积之间最小值的比值大于0.5则判定两个区域是相似区域,帧计数加一,如果连续3帧运动角度都不满足angle>80并且angle<170条件则帧计数清零,当有满足帧计数大于10的特征向量,则会进一步对该向量中所有存储的angle进行判断,只有满足angle>80并且angle<95的个数大于等于5帧是判定为起立的动作。坐下动作判定跟起立动作判定逻辑相似,在最终判定的时候只需要判定特征向量的帧计数是否大于10帧,大于10帧则判定为坐下的动作。

第二级起立和坐下动作的判定有很大不同,对于起立动作,第一级判定能够解决学生微动造成的误判,但是举手这种干扰性比较大的动作仍然会产生误判,为了解决这种干扰,第二级采用人脸检测的方法进行起立判定,如图2所示。人脸检测方法已经成熟运用于各种场景,能够检测的最小人脸也可以达到10*10像素,并且检测精准率高,检测速度快。为了提高检测的效率及检测的鲁棒性,在第一级确定的位置两秒内,取出10帧并合并成一帧图像进行检测,如果检测出两张及以上人脸,并且人脸的几何位置在所选位置的上半部分则判定为起立动作。对于坐下动作,如图四所示,则是在第一级确定位置后的每一帧提取hog特征与存储图像的hog特征进行相似度比较,如果相似度的值小于0.7则判定为坐下。

由上可知,本发明只需要一台摄像机就可以实现起立坐下的精准定位,而且在实施的过程中无需额外的参数配置,在互动中可以有效减少镜头的误切。

另一方面,本发明还公开一种录播系统中学生起坐动作的检测系统,包括以下单元,

图像采集模块,用于采集学生上课场景中的图像;

图像预处理模块,用于对采集的图像进行预处理;

前景提取模块,用于对预处理后的图像进行前景提取获取运动历史图;

可能性起立坐下目标判断模块,用于对运动历史图进行可能性目标判定并保存;

判定模块,用于对保存的信息通过判定模块进行两级判定得到起立与坐下的坐标。

由上述技术方案可知,本发明的录播系统中学生起坐动作的检测方法,提供一种基于运动历史图和梯度方向的学生起立、坐下动作检测方法,采用两级判别对起立和坐下动作进行判断来提高检测准确率。利用运动历史图解决背景建模等方法检测目标不完整的问题,对完整目标提取全局运动角度,最终采用两级判别法进行判别。

可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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