一种基于人工智能视频的异常行为检测方法、系统及装置与流程

文档序号:11583524阅读:315来源:国知局
一种基于人工智能视频的异常行为检测方法、系统及装置与流程

本发明涉及视频数据处理领域,特别涉及一种基于人工智能视频的异常行为检测方法、系统及装置。



背景技术:

日常生活中我们所接触到的监控系统,基本都是模拟、数字或模数混合模式。随着当今社会经济及科技的不断发展,视频监控系统越来越普及,对他要求也越来越高,如交通、军事、公安、家庭等各个领域已经普遍安装了视频监控系统来协助安防工作,然而面对数不尽的视频录像,想要提取些有价值的录像非常困难,而且人工检查还会出现误检和漏检的情况。



技术实现要素:

本发明提供了一种基于人工智能视频的异常行为检测方法、系统及装置,解决了现有技术视频录像中有价值的信息人工提取困难且易出现误检和漏检情况的技术问题。

本发明解决上述技术问题的技术方案如下:一种基于人工智能视频的异常行为检测方法,包括:

s1、采集视频数据;

s2、对采集到的所述视频数据中的人进行检测和跟踪,当检测到人的异常行为时向报警设备发送报警指令。

本发明的有益效果是:与传统的人工监控相比,本技术方案可有效地降低误检和漏检概率,减少大量的人力成本,实现对可疑目标的实时监控并及时报警,保障了社会秩序的稳定。

在上述技术方案的基础上,本发明还可以做如下改进。

优选地,步骤s2包括:

通过背景差分法对所述视频数据的人进行检测,建立并实时更新背景模型;

通过颜色直方图的跟踪算法对检测到的所述视频数据中的人进行跟踪,获取人的运动轨迹;

根据所述运动轨迹判断人的行为是否为异常行为,如是则向报警设备发送报警指令。

优选地,所述异常行为包括:跑行为、跳行为、蹲行为、爬行为以及徘徊行为。

一种基于人工智能视频的异常行为检测系统,包括:

采集模块,用于采集视频数据;

检测模块,用于对采集到的所述视频数据中的人进行检测和跟踪,当检测到人的异常行为时向报警设备发送报警指令。

优选地,检测模块具体用于:

通过背景差分法对所述视频数据的人进行检测,建立并实时更新背景模型;

通过颜色直方图的跟踪算法对检测到的所述视频数据中的人进行跟踪,获取人的运动轨迹;

根据所述运动轨迹判断人的行为是否为异常行为,如是则向报警设备发送报警指令。

优选地,所述异常行为包括:跑行为、跳行为、蹲行为、爬行为以及徘徊行为。

一种基于人工智能视频的异常行为检测装置,包括:网络摄像头、网络芯片、处理器和报警设备,

所述网络摄像头用于采集视频数据;

所述网络芯片用于将所述网络摄像头采集到的所述视频数据传输给所述处理器;

所述处理器用于对接收到的所述视频数据中的人进行检测和跟踪,当检测到人的异常行为时通过所述网络芯片向报警设备发送报警指令。

优选地,所述处理器为arm处理器。

附图说明

图1为本发明实施例提供的一种基于人工智能视频的异常行为检测方法的流程示意图;

图2为本发明另一实施例提供的一种基于人工智能视频的异常行为检测系统的结构示意图;

图3为本发明另一实施例提供的一种基于人工智能视频的异常行为检测装置的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,在一实施例中,提供一种基于人工智能视频的异常行为检测方法,包括:

s1、采集视频数据;

s2、对采集到的视频数据中的人进行检测和跟踪,当检测到人的异常行为时向报警设备发送报警指令。

应理解,本实施例的技术方案可有效地降低误检和漏检概率,减少大量的人力成本,实现对可疑目标的实时监控并及时报警,保障了社会秩序的稳定。

具体地,步骤s2包括:

通过背景差分法对视频数据的人进行检测,建立并实时更新背景模型;

通过颜色直方图的跟踪算法对检测到的视频数据中的人进行跟踪,获取人的运动轨迹;

根据运动轨迹判断人的行为是否为异常行为,如是则向报警设备发送报警指令。

具体地,该实施例中,利用分块更新的背景差分法实现目标检测,并实时更新背景;其次,提出一种基于区域关联与颜色直方图的跟踪方法,实现人体目标跟踪;最后,依据人体的运动特征信息识别出异常行为,并进行报警提示。

应理解,该实施例中,分块更新的背景差运动目标检测方法运算量小,对外界环境变化不敏感,能够准确地检测出运动目标;基于区域关联的结合颜色直方图的跟踪方法稳定性好,能较好地解决漏跟踪、误跟踪等现象;利用运行目标检测与跟踪结合的检测算法(即基于运动特征的检测方法),针对不同的异常行为提出不同的判断标准,能够简单快速、准确有效地检测到人体异常行为,并进行报警提示。

上述实施例中,通过背景差分法对视频数据的人进行检测之前,对视频数据的每帧图像进行高斯滤波、开运算、阈值化,然后加权,建立初始背景模型,具体地,采用高斯滤波器进行高斯滤波,开运算即先腐蚀后膨胀,阈值化采用二进制阈值化。

具体地,高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。一维零均值高斯函数为:即g(x)=exp(-x2/(2sigma2),其中,高斯分布参数sigma决定了高斯函数的宽度。对于图像处理来说,常用二维零均值离散高斯函数作平滑滤波器。

二维高斯函数为:

其中高斯内核大小为:size(3,3),σx=0,σy=0。

开运算(openingoperation),其实就是先腐蚀后膨胀的过程。其数学表达式如下:

dst=open(src,element)=dilate(erode(src,element)),

核是选的morph_rect,内核大小为:size(15,15)。

阈值化采用cv_thresh_binary(二进制阈值化)。该阈值化类型例如以下式所看到的:

在运用该阈值类型的时候,先要选定一个特定的阈值量,比如125,这样,新的阈值产生规则能够解释为大于125的像素点的灰度值设定为最大值(如8位灰度值最大为255),灰度值小于125的像素点的灰度值设定为0。

opencv的videomodule中包含了几种较为常用的背景减除方法,其中混合高斯模型(gaussianofmixturemodels,gmm)方法效果较好,常用的目标检测方法包括:帧间差分法和背景减除法,其中背景减除法的关键在于建立一个鲁棒的背景模型(背景图像),常用的建立背景模型的方法包括:均值法、中值法、滑动平均法、单高斯、混合高斯模型以及codebook等,本实施例采用混合高斯模型,每个像素的r、g、b三个通道像素值的变化分别由一个混合高斯模型分布来刻画。这样的好处在于,同一个像素位置处可以呈现多个模态的像素值变化。

gmm是用多个高斯模型的加权和来表示,这样做的好处是在较简单的场景下,将只选出一个较重要的高斯分量,节省了后期更新背景时选属于哪一分量的时间,提高了速度。对于整个图像的每个像素点都建立了一个gmm模型,建模过程中运用em算法来求解参数组,一旦模型建立,后面每新来一帧都可以根据是否符合已建立的背景模型判断fg/bg,并更新gmm的所有参数。

每个gmm由k个gaussian分布组成,每个gaussian称为一个“component”,这些component线性加成在一起就组成了gmm的概率密度函数:

gmm的log-likelihoodfunction:

第一步:估计数据由每个component生成的概率(并不是每个component被选中的概率):对于每个数据xi来说,它由第k个component生成的概率为

由于式子里的μk和∑k也是需要我们估计的值,我们采用迭代法,在计算γ(i,k)的时候我们假定μk和∑k均已知,我们将取上一次迭代所得的值(或者初始值)。

第二步:估计每个component的参数:现在我们假设上一步中得到的γ(i,k)就是正确的“数据xi由componentk生成的概率”,亦可以当做该component在生成这个数据上所做的贡献,或者说,我们可以看作xi这个值其中有γ(i,k)xi这部分是由componentk所生成的。集中考虑所有的数据点,现在实际上可以看作component生成了γ(1,k)x1,...,γ(n,k)xn这些点。由于每个component都是一个标准的gaussian分布,可以很容易分布求出最大似然所对应的参数值:

其中并且πk也顺理成章地可以估计为nk/n。

第三步:重复迭代前面两步,直到似然函数的值收敛为止。

gmm算法不同于其他的背景相减方法,因为有时背景也存在部分区域的震荡变化,那如果按照一般的前景检测方法,则会频繁的检测到错误的前景,gmm算法则有效的克服了这一点,那是因为gmm算法有效的做到了以下几点:

(1)对每个像素建立多个高斯模型(即存在多个滑动平均值),那么背景像素就可以在多个均值之间波动,而不会被误判,如果有新的像素值不属于其中的一个高斯模型,则认为是前景。

(2)不仅仅保存滑动平均值,还保存了滑动方差,由方差和均值产生了一个高斯模型,于是我们可以获知某个像素值属于哪个高斯模型的概率,如果新像素不属于其中的一个高斯模型,则认为是前景。

(3)增加了学习因子,如果某个模型被击中的频率不够频繁,那么权值就会减少,减少到最后把该模型移除,如果一个像素是前景,那么新的高斯模型会被建立,刚开始权值较小,但是如果该前景一直不动,不离开,则权重加大,慢慢的和背景融为一体,成为了新的背景。

经过测试,learningrate(更新速度)为0.1是最优。

上述实施例中,通过颜色直方图跟踪方法对检测到的视频数据中的人进行跟踪,在没有误检的情况下,通过面积匹配率来匹配目标是精确的。但如果由于噪声在目标区域相邻地方也产生一块误检区域与目标区域重叠,就会产生误判。针对该情况,本文提出以颜色直方图匹配率来辅助检测。由面积匹配率与颜色直方图匹配率可得两个目标的匹配率:rn=avg(au,hij)式中,au为相邻两帧目标的面积匹配率,hij为两个目标的颜色直方图匹配率。大于给定阈值t(一般设置为0.7)时,认为该两目标匹配成功,否则认为匹配不成功。当场景中的目标速度较快、噪声较多时,可适当降低阈值。

具体地,异常行为包括:跑行为、跳行为、蹲行为、爬行为以及徘徊行为。

应理解,该实施例中,正常行为通常是指具有一定周期性、重复性的状态,比如日常生活中的走、跑等。而对于异常行为的定义在不同的环境有不同的标准,本实施例针对室内走廊,将与人体正常坐着行为不同的跑行为、跳行为、蹲行为、爬行为和徘徊行为定义为异常行为。

上述实施例中,采用逼近多变曲线的方法去检测人物运动情况。经过测试精度(即是原始曲线与近似曲线之间的最大距离)等于3时,针对本文是最优算法。经典的douglas-peucker算法步骤如下:(1)在曲线首尾两点a,b之间连接一条直线ab,该直线为曲线的弦;(2)得到曲线上离该直线段距离最大的点c,计算其与ab的距离d;(3)比较该距离与预先给定的阈值threshold的大小,如果小于threshold,则该直线段作为曲线的近似,该段曲线处理完毕;(4)如果距离大于阈值,则用c将曲线分为两段ac和bc,并分别对两段取信进行1~3的处理;(5)当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即可以作为曲线的近似。

如图2所示,在另一实施例中,提供一种基于人工智能视频的异常行为检测系统,包括:

采集模块1,用于采集视频数据;

检测模块2,用于对采集到的视频数据中的人进行检测和跟踪,当检测到人的异常行为时向报警设备发送报警指令。

具体地,检测模块具体用于:

通过背景差分法对视频数据的人进行检测,建立并实时更新背景模型;

通过颜色直方图的跟踪算法对检测到的视频数据中的人进行跟踪,获取人的运动轨迹;

根据运动轨迹判断人的行为是否为异常行为,如是则向报警设备发送报警指令。

具体地,异常行为包括:跑行为、跳行为、蹲行为、爬行为以及徘徊行为。

如图3所示,在另一实施例中,提供一种基于人工智能视频的异常行为检测装置,包括:网络摄像头101、网络芯片102、处理器103和报警设备104,

网络摄像头101用于采集视频数据;

网络芯片102用于将网络摄像头101采集到的视频数据传输给处理器103;

处理器103用于对接收到的视频数据中的人进行检测和跟踪,当检测到人的异常行为时通过网络芯片102向报警设备104发送报警指令。

上述实施例中,处理器103为arm处理器。arm处理器基于linux系统嵌入式开发,采用qt5.4.1结合opencv和ffmpeg实现对视频流的采集、解码、识别和报警功能。arm处理器体积小、低功耗、低成本、高性能,大量使用寄存器,指令执行速度更快,大多数数据操作都在寄存器中完成,寻址方式灵活简单,执行效率高,指令长度固定。网络芯片102是一个在通信网络中提供发送和接收数据逻辑(包括声音和视频)的微处理器。网络芯片102可为rtl8306s,处理器103可为arms5p4481。网络芯片rtl8306s负责将网络摄像头101的数据,通过网络芯片rtl8306s传递给arms5p4481,同时将arms5p4481传出的信息发送到报警设备104。

具体地,该检测装置还包括:供电模块、网络变压器11fb-05nlsop16以及rj45。将链接网络摄像头101的网线,插入到模块的rj45口上,并在数据库填写网络摄像头101的ip地址、别名、摄像头登录用户名、摄像头登录密码信息。添加时系统会和网络摄像头进行连接测试,如并无法连接到摄像头,报警设备104会有报警信息提示。初始化系统设置后,系统开始工作(包括采集和处理数据),并将实时报警信,系统运行正常。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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