赵 琴, 赵团结, 郑新桥, 秦 琴, 龙 念, 邓 超
(1 武昌工学院 国际教育学院 武汉 430065 ;2 武汉科技大学 汽车与交通工程学院 武汉 430065;3 武汉科技大学 智能汽车工程研究院 武汉 430065)
随着计算机视觉技术的不断发展、计算机硬件的处理速度以及存储能力不断提升,监控设备成本的逐渐下降,摄像头等监控装置已经被广泛的应用到各种场合,视频监控系统也逐步在监护领域扮演着越来越重要的角色。 目前人体运动异常行为分析是计算视觉领域最活跃的研究主题之一,其核心是利用图像处理、图像分析、计算机视觉分析等技术从图像序列中检测、识别、跟踪行人并对其行为进行理解和描述,进而找到异常行为[1]。
有学者提出了许多异常行为识别算法,李一波[2]等使用运动能量图像(MEI)的傅里叶描述子来区分人的摔倒行为及正常的躺下行为,这种方简单有效,但由于只是对MEI 图像进一步的处理,丢失了大量的信息,不能用于提取人单独某个部位的动作,如当人的两只手都在挥动时,用这种方法得不到手的挥动的方向;也有些学者使用人体关节模型图的方法,如张军[3]等提出一种简化的关节模型图方法,由四肢和躯干组成,定义了5 个对人体运动产生影响的角度参数确定人的行为,从而实现对人体异常行为识别,有益于识别人体不同部位的运动,如判别手在运动还是脚在运动,从而识别出人体的动作,但由于只是针对某一帧的图像提取动作,并不能用来表述行为特征;也有学者使用运动方向来提取人的动作,胡芝兰[4]等根据不同行为具有不同运动方向这一特点,使用块运动方向描述不同行为,并用支持向量机(SVM)分类器对异常行为进行识别这种方法可以得到人的运动方向,进而提取出人的行为,但由于不同的动作有可能运动方向也是相同的,因此也会出现问题;吴艳平[5]等使用运动历史图像(MHI),提取人体运动方向和运动区域,最后由运动方向来识别动作,但这种仅依靠动作方向的方法只对特定情况下的异常行为检测有效。 在动作分割领域,Kahol[6]等提出了层次活动分割(Hierarchical Activity Segmentation, HAS)的概念;也有些学者使用隐马尔科夫链(HMM)来分割连续动作,如Lee 和Kim[7]提出复杂动作的非典型动作阈值模型,但是这种方法随着动作复杂性的增加,状态数也会大大的增加,计算困难。
由于人的动作很多,本文选择其中一部分基本动作进行特征描述,包括行走、摔倒、蹲下、站起、躺着不动。 为了识别人体的异常行为,本文改进MHI算法,使得异常行为检测具有普适性。 首先,结合人体运动基本特征处理人体对应的前景,得到运动历史图像,运用运动历史图像进行运动分割,并判定运动方向;其次,结合运动角度将得到的特征与训练出的动作库里的动作进行特征匹配,并组合这些动作,进而判断人体行为是否异常。
为了提取出人体行为特征,必须识别出视频中的人的位置。 首先需要得到视频的前景,前景提取算法有很多。 本文重点考虑背景减和混合高斯前景提取算法。
对于一个视频,首先储存一幅认为是背景的图像B(b(x,y)),当视频中的每一帧传入时,记作A(a(x,y)),将当前帧减去背景图像。 再设定一个阈值,若减去后的值小于这个阈值,则认为是背景,否则,认为是前景。 用公式(1) 表示,f(x,y) 为1 时表示此图像此处为前景,为0 表示为背景。
其中,T表示阈值。
背景减算法适用于背景几乎不变的情形,算法简单。 然而,如果背景本身出现了小规模的晃动或抖动,求解的前景效果并不好;另外,对于前景与背景相差不大的情况效果也不好。 为了在背景有小幅抖动的情况下也能够得到准确的前景,采用另一种前景提取算法混合高斯背景模型进行处理。
混合高斯背景提取算法认为任何一个点的像素在时间轴上符合高斯分布,可以用多个高斯分布构建背景模型。 通过不断更新背景模型来适应背景的变化,当背景变化时也能够得到较好的效果。 对于图像中的点,t时刻该点属于前景的概率,如式(2)所示:
其中,wi,t为t时刻第i个高斯分布的权值,η(xt,μi,t,σi,t) 为以μi,t为均值、以σi,t为方差的高斯分布(正态分布) 在xt处的概率的值。
取最大的高斯通道数K为3~7 个,每个像素高斯通道总是按照优先级wi,t/σi,t从大到小排列。 一般对于k有1 ≤k≤K。 背景模型初始化时,取当前像素的值为均值μ0。 设定一个较大的值σ0,设定一个较小的值wo。
开始训练背景模型时, 当t时刻一个新的像素xt到来时,按照优先级wi,t/σi,t的高低,开始将其与已有的k个高斯通道匹配,匹配条件如式(3) 所示:
加强肛门括约肌反馈训练可有效提高腹腔镜下大肠癌根治术后病人肛门括约肌力量,减少术后排便困难发生率,避免病人因疾病并发症产生焦虑、抑郁等负面情绪,提高病人生活质量[29]。肛门括约肌反馈训练过程中,护理人员应将携带气囊的测压导管直接插入大肠相应区域,根据显示器反馈的压力情况调整阈值,增强病人肛门括约肌力量[30]。Arafa等[31-32]通过对病人实施电刺激生物反馈实验发现:将诱发电位检测仪应用到肛门括约肌收缩刺激中,对腹腔镜下大肠癌根治术病人术后康复具有重要意义。
匹配的同时进行参数更新,若匹配成功,参数更新如式(4)所示:
其中,α、β为学习率。
对于参数Mi,t,若匹配则为1,不匹配时为0。 若不匹配,则权值按式(4) 更新,均值、方差保持不变。 如果k个高斯通道都不匹配,就新增加一个高斯分布。 如果此时k =K,则去掉一个优先级最低的高斯通道。 新增的高斯通道的均值为xt,方差可以设置为一个较大的值,权重可以设置为一个较小的值。
每一次更新后,都按照优先级wi,t/σi,t由高到低对高斯分布重新排序。 取前B个高斯分布组合描述背景,如式(5) 所示:
其中,T为阈值。
只要前B个高斯组合分布中有一个与xt匹配,就认为为背景,否则认为为前景。
按照上述方法,可以根据视频流不断的更新背景的模型,达到获取前景的目的。 使用GMM 方法可以抑制背景的规律运动,如小草的晃动以及电风扇的转动等。 但这个方法也有缺点,即不能用来识别非运动的目标。 而且人一开始就在视频中时,刚开始得到的前景会有问题。
由于在所建立的人体动作模型中动作是已知的,而用来表示这些动作的视频也是已知的。 因此,在提取前景时,当提取静止的状态(如躺在地上不动)时,本文使用背景减的方法;当提取运动的状态(如跑步)时,本文使用GMM 方法。
得到前景的掩码后对前景进行处理,为后续的动作识别做准备。 本文选用MHI(Motion History Image)对前景进行处理。 MHI 可以保存一段时间的前景图像,并且算法复杂度低,适合提取动作。
MHI 图像主要是保存最近一段时间的前景图像,其中像素值赋值为对应前景的时间戳。 若有重复交叉的前景部分,以最新的前景的时间戳为准。非前景的部分以及一段时间之前的前景赋值为0。首先进行初始化,将MHI 图像全部赋值为0。 当接收到新图像时,更新方式如式(6)所示:
其中,τ为当前的时间戳,δ为前景的保存时间。
由于时间戳是浮点数类型,因而MHI 图像也是一个浮点数类型的图像。 如果直接显示, 当τ≥1时,将无法分辨不同时刻之间的区别。 因此,在显示时对MHI 图像做一个映射,将其映射到0~255 的灰度区间,并用8 位无符号整形数表示。 视频的连续8 帧原图及使用映射后的MHI 图像如图1 所示,可见当前的前景最亮,而较早的前景较暗。
图1 原图及映射后的MHI 图像Fig.1 Original and MHI Image
为了处理MHI 图像,首先可以对MHI 图像做动作分割并提取运动方向,然后判断人的动作。
当提取动作特征时,需要对动作进行分割。 算法流程如下:
(1)遍历MHI 图像,寻找属于当前前景(即I(x,y)=τt) 的点,该点是在当前前景边界上的点;
(2)判断该点周围的点中是否有与该点邻近时间戳的点(即I(x,y)=τt-1),若没有则继续逆时针遍历当前前景边界上的点,直到有这种点,则进行第3 步,或回到初始边界点为止;
(3)用一个新值标记这个相邻点,并用新值标记这个相邻点的连通域,若这个连通域周围存在此连通域前一个时间戳的连通域,则此点周围的连通域也使用该连通域的标记,再以这个连通域为基准,依此不断寻找周围前一个时间戳的连通域并标记,若不能标记,则返回第2 步;
(4)标记完后,将标记的区域提取出来,就得到了分割后的运动区域。
依据得到的MHI 图像可以求得属于前景的每一点的梯度方向。 使用Sobel 算子求梯度,Sobel 算子模板如式(7)所示:
求解x和y方向的导数Fx(x,y) 和Fy(x,y),并由此求得到梯度方向,如式(8) 所示:
梯度方向即运动方向,需要说明的是并非所有在MHI 图像中表示前景的点都可以表示运动方向。如梯度为0 的点是前景内部的点,不能用来表示运动方向;边界上的点才能表示运动方向,有些边界上的点旁边是背景,梯度很大,梯度大的点不能用来求运动方向,即用来求运动方向的点的梯度值不能太大也不能太小。
为了求得运动方向,就需要求全局梯度方向。先求符合要求的点的梯度方向,取其中次数最多的梯度方向ϕref作为全局梯度方向,采用公式(9)来求全局梯度方向:
其中, angDiff(ϕ(x,y),ϕref) 为当前点的梯度方向和ϕref之间的差值,norm(τ,δ,t,MHIδ(x,y)) 为将MHI 图像的值从τ和τ - δ之间归一化到0~1 后得到的值,用来作为差值的权值,即时间上离现在越近的点,求得的梯度方向的权值越大。 同时,也可以对之前动作分割中得到的区域求运动方向,效果如图2 所示。 图2 方框即是识别出来的运动区域,而圆中指针的方向就是识别出来的运动方向。
图2 运动区域及方向的提取Fig.2 Extraction of motion area and direction
视频监控系统在监护领域扮演着越来越重要的角色。 本文建立了一个能够较好地识别和预测人体摔倒等异常行为的算法模型。 结合人体运动基本特征处理人体对应的前景,得到运动历史图像,运用运动历史图像进行运动分割,并判定运动方向,结合运动角度将得到的特征与训练出的动作库里的动作进行特征匹配,并组合这些动作,进而判断人体行为是否异常。 通过这种方法构建的视频监控系统兼具实时性和智能性,可以为视频监控系统的开发提供理论依据。 未来将开展更多的实验,对具体的应用场景进行图像标定,对该算法模型的识别精度和实时性进行验证。