本发明属于视频图像识别与检测技术领域,特别涉及一种自学习的人体行为识别与异常检测方法。
背景技术:
目前,在rgb图像和姿态估计上的人体行为识别算法很多,其中,rgb视频的算法主要是从视频帧/光流中提取时空特征,主要有,
densetrajectoriesandmotionboundarydescriptorsforactionrecognition[j].hengwang,alexander
actionrecognitionwithtrajectory-pooleddeep-convolutionaldescriptors[j].liminwang,yuqiao,xiaooutang,cvpr2015,2015,4305-4314.
这类做法的问题是提取到的视频特征存在背景环境、光照变化以及外观变化的干扰。
为了减少背景环境的干扰,论文tubeconvolutionalneuralnetwork(t-cnn)foractiondetectioninvideos[j].ruihou,chenchen,mubarakshah,crcv,2017.中采用了regionproposal策略进行区域的筛选。将regionproposal的思路结合rgb视频系列,可以大大缩小背景环境的干扰,这种预处理需要逐视频帧的进行目标框标注(一帧图像中可能存在n个目标,复杂度为5*n,其中5为(x,y,widht,height,class)),虽然提高了人体行为识别与异常检测的准确度,却大大牺牲了时效性,增加了标注成本。
姿态估计是人体主要关节点的骨架数据,能够避免色彩信息干扰,提供高效的人体姿态信息,例如,
realtimemulti-person2dposeestimationusingpartaffinityfields[j].zhecao,tomassimonshih-enwei,yasersheikh,cvpr2015,2013,7291-7299.
这类做法同样存在需要标注大量的人体关节点样本和行为分类标签,且当检测到不同人员的相邻关节点时,易发生关节点的错误连接,导致姿态估计错误。基于姿态估计的人体行为识别属于两阶段检测法:
1-step为人体姿态估计,2-step为基于姿态估计的行为识别,一旦发生姿态估计错误,就会影响到人体行为的判识,且姿态估计本身无法满足实时性检测的要求。
综上所述,无论是提取rgb视频帧特征还是提取人体姿态,存在以下缺陷:
(1)需要对大量的视频帧样本逐帧进行目标人体行为标注,姿态估计还需要人体关节点标注,标注要求和复杂度高,时间周期长;
(2)为提高精度要求,研究方法中往往要牺牲在实际应用中最重要的实时性要,或对硬件计算资源要求高;
(3)一旦出现有别于训练库中样本,或添加新的人体行为时,就需要重新进行标注操作,代价高,属于导师式的监督学习算法,无法完成自学习过程。
由此可见,现有的人体行为识别与异常检测方法存在一定的缺陷。
技术实现要素:
为解决上述技术问题,本发明提供了一种自学习的人体行为识别与异常检测方法,以达到高效准确地进行自学习的人体行为识别与异常检测。
为达到上述目的,本发明的技术方案如下:
一种自学习的人体行为识别与异常检测方法,包括如下步骤:
步骤一:生成监控视频中的显著区域向量,并定时自学习更新显著区域;
步骤二:对同一显著区域,根据当前帧人体行为状态计算当前帧的状态特征向量和动作值,以及转移到下一帧后的人体行为状态预测值、奖励值,以及该状态下的动作;
步骤三:执行当前目标网络,计算当前的人体行为动作价值,更新目标动作网络和目标价值网络,保证每一帧视频图像不仅具有预测下一帧视频图像的动作功能,并且具有历史邻近数据的记忆功能;
步骤四:网络参数收敛或满足最大迭代次数后,统计t时间内当前动作网络的反馈奖励值和目标价值网络的人体行为动作价值的加权和,得出行为异常级别。
上述方案中,所述步骤一的具体方法如下:
(1)设一个连续时间段ti={t1,t2,...ta,ta},其中ta为某一时间点,a为选择的多个离散时间点数量,1≤a≤a,a≥10,统计ti时间段内的所有图像并组成图像序列,表示为v={v1,v2,...,vn,...,vn},n为ti时间段内的图像数量,1≤n≤n;
(2)对v中的图像vn中的像素表示成集合
(3)遍历集合
(4)定义集合xm的高斯模型概率密度函数为:
遍历整幅图像位置,完成所有像素的k模式高斯分布;
(5)在完成ti时间段内n帧图像的模式为k的高斯分布建模后,对第n+1帧的图像在点m(x,y)位置的像素
其中,μk,m为均值,δk,m为方差;
如满足上述公式,则判断为属于后景,否则不属于;
(6)根据步骤(5)中的公式判断
其中,α为学习速率,ωk,n+1和ωk,n为更新前后的权重参数,ρ为更新μk,m和δk,m的参数计算,
(7)在随机变量
(8)根据模式总数为k的高斯模型统计ti时间段内的视频前景框,并进行非极大值抑制,令t={t1,t2,...,ti...,ti}时,遍历t集合,按照步骤(1)~(7)统计所有时间段ti内的视频前景框,1≤i≤i,i为集合t中包含的时间段的数量,i≥100;合并具有连通性质的前景框,最终得到相互独立的d个前景区域,又称为显著区域,表示成向量r={r1,r2,...,rd,...,rd},d=1,2,...,d;
(9)当出现摄像机的人为移动,或定义间隔时间γ时,按照上述方式重新自学习更新显著区域r。
上述方案中,所述步骤二的具体方法如下:
(1)执行动作当前网络acurrent,根据当前的人体行为状态sst定义其特征向量为φ(sst)={sst,1,sst,2,...sst,p,...,sst,p},1≤p≤p,p为特征向量的维度,得到候选动作值集合a={a1,a2,...,ac,...,ac},1≤c≤c,c为候选的动作值集合中动作值的数量;
设预测当前最优动作值为ast,且ast∈a,设在最优动作值为ast的下一个人体行为状态s′st,反馈奖励值rst,其中,奖励值rst根据异常级别等级le={le1,le2,...,leb,...leb},1≤b≤b,定义为:
其中,ast=πθ(φ(sst))+ξ,β为0.5~1之间的奖励系数,通过动作策略函数与随机噪声ξ来选择最优动作值ast,表达为:
q(φ(sst))为当前动作网络价值,ε为0.001;在进行网络参数更新收敛过程中,增加样本的随机性,在得到的人体行为动作值ast后随机增加噪声信息ξ,πθ(φ(sst))为动作的选择策略函数,简称策略函数,并通过动作目标函数j(θ)对θ求解梯度,进行acurrent网络参数更新;
j(θ)对θ求导公式表达为:
(2)将{φ(sst),ast,rst,φ(s′st),is_end}存入经验回放池集合d中,其中,is_end表示一个动作序列是否为终止,如果is_end=1,说明动作终止,否则is_end=0。
上述方案中,所述步骤三的具体方法如下:
(1)执行当前目标网络ccurrent,根据步骤二中更新的经验回放池集合d,采样q个样本,{φ(sj),aj,rj,φ(s'j),is_endj},j=1,2,...,q,计算当前的人体行为动作价值yj:
其中,q′(φ(s′j),πθ′(φ(s′j)),ω′)为目标价值网络ctarget的人体行为动作价值,γ为衰减系数,并通过价值目标函数j(ω)对ω求解梯度,进行当前目标网络ccurrent的网络参数ω的更新,其中,价值目标函数为:
(2)更新目标动作网络atarget和目标价值网络ctarget,为保证每一帧视频图像不仅具有预测下一帧视频图像动作功能,并且具有历史邻近数据的记忆功能,采用的参数更新策略为:
θ'←τω+(1-τ)θ',
ω'←τω+(1-τ)ω',其中,τ为0.1或0.01。
上述方案中,所述步骤四的具体方法如下:
网络参数收敛或满足最大迭代次数后,统计t时间内当前动作网络acurrent的反馈奖励值rt和目标价值网络的人体行为动作价值q′t的加权和,根据如下公式判断行为异常级别:
通过上述技术方案,本发明提供的一种自学习的人体行为识别与异常检测方法具有以下优点:
(1)无需进行高复杂度的人体目标框标注,同一视频帧标注的复杂度可由5*n降低到1,即只需给出异常级别界定即可,复杂度低,效果好;
(2)属于自学习的行为识别与异常检测方法,当出现新的行为样本时,无需监督学习,只需进行异常级别界定就可自行学习获得更好的识别和检测效果;
(3)在保证当前精度的前提下,具备实时性,常见硬件资源即可运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所公开的一种自学习的人体行为识别与异常检测方法流程示意图;
图2为本实施例中生成的显著区域r的序列图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种自学习的人体行为识别与异常检测方法,如图1所示,具体实施例如下:
步骤一:生成监控视频中的显著区域向量,并定时自学习更新显著区域;
(1)设一个连续时间段ti={t1,t2,...ta,ta},其中ta为某一时间点,a为选择的多个离散时间点数量,1≤a≤a,a≥10,统计ti时间段内的所有图像并组成图像序列,表示为v={v1,v2,...,vn,...,vn},n为ti时间段内的图像数量,1≤n≤n;
(2)对v中的图像vn中的像素表示成集合
(3)遍历集合
(4)定义集合xm的高斯模型概率密度函数为:
遍历整幅图像位置,完成所有像素的k模式高斯分布;
(5)在完成ti时间段内n帧图像的模式为k的高斯分布建模后,对第n+1帧的图像在点m(x,y)位置的像素
其中,μk,m为均值,δk,m为方差;
如满足上述公式,则判断为属于后景,否则不属于;
(6)根据步骤(5)中的公式判断
其中,α为学习速率,ωk,n+1和ωk,n为更新前后的权重参数,ρ为更新μk,m和δk,m的参数计算,
(7)在随机变量
(8)根据模式总数为k的高斯模型统计ti时间段内的视频前景框,并进行非极大值抑制,令t={t1,t2,...,ti...,ti}时,遍历t集合,按照步骤(1)~(7)统计所有时间段ti内的视频前景框,1≤i≤i,i为集合t中包含的时间段的数量,i≥100;合并具有连通性质的前景框,最终得到相互独立的d个前景区域,又称为显著区域,表示成向量r={r1,r2,...,rd,...,rd},d=1,2,...,d;
(9)当出现摄像机的人为移动,或定义间隔时间γ时,按照上述方式重新自学习更新显著区域r。本实施例中生成的显著区域r的序列图如图2所示。
步骤二:对同一显著区域,根据当前帧人体行为状态计算当前帧的状态特征向量和动作值,以及转移到下一帧后的人体行为状态预测值、奖励值,以及该状态下的动作;
(1)执行动作当前网络acurrent,根据当前的人体行为状态sst定义其特征向量为φ(sst)={sst,1,sst,2,...sst,p,...,sst,p},1≤p≤p,p为特征向量的维度,得到候选动作值集合a={a1,a2,...,ac,...,ac},1≤c≤c,c为候选的动作值集合中动作值的数量;
设预测当前最优动作值为ast,且ast∈a,设在最优动作值为ast的下一个人体行为状态ss't,反馈奖励值rst,其中,奖励值rst根据异常级别等级le={le1,le2,...,leb,...leb},1≤b≤b,定义为:
其中,ast=πθ(φ(sst))+ξ,β为0.5~1之间的奖励系数,通过动作策略函数与随机噪声ξ来选择最优动作值ast,表达为:
q(φ(sst))为当前动作网络价值,ε为0.001;在进行网络参数更新收敛过程中,增加样本的随机性,在得到的人体行为动作值ast后随机增加噪声信息ξ,πθ(φ(sst))为动作的选择策略函数,简称策略函数,并通过动作目标函数j(θ)对θ求解梯度,进行acurrent网络参数更新;
j(θ)对θ求导公式表达为:
(2)将{φ(sst),ast,rst,φ(s′st),is_end}存入经验回放池集合d中,其中,is_end表示一个动作序列是否为终止,如果is_end=1,说明动作终止,否则is_end=0。
步骤三:执行当前目标网络,计算当前的人体行为动作价值,更新目标动作网络和目标价值网络,保证每一帧视频图像不仅具有预测下一帧视频图像的动作功能,并且具有历史邻近数据的记忆功能;
(1)执行当前目标网络ccurrent,根据步骤二中更新的经验回放池集合d,采样q个样本,{φ(sj),aj,rj,φ(s'j),is_endj},j=1,2,...,q,计算当前的人体行为动作价值yj:
其中,q′(φ(s′j),πθ′(φ(s′j)),ω′)为目标价值网络ctarget的人体行为动作价值,γ为衰减系数,并通过价值目标函数j(ω)对ω求解梯度,进行当前目标网络ccurrent的网络参数ω的更新,其中,价值目标函数为:
(2)更新目标动作网络atarget和目标价值网络ctarget,为保证每一帧视频图像不仅具有预测下一帧视频图像动作功能,并且具有历史邻近数据的记忆功能,采用的参数更新策略为:
θ'←τω+(1-τ)θ',
ω'←τω+(1-τ)ω',其中,τ为0.1或0.01。
步骤四:网络参数收敛或满足最大迭代次数后,统计t时间内当前动作网络的反馈奖励值和目标价值网络的人体行为动作价值的加权和,得出行为异常级别。
网络参数收敛或满足最大迭代次数后,统计t时间内当前动作网络acurrent的反馈奖励值rt和目标价值网络的人体行为动作价值q′t的加权和,根据如下公式判断行为异常级别:
本发明还对各种算法的复杂度进行了比较,结果见表1。
表1各类算法复杂度影响因素比较
本发明还对各种算法在不同检测场景下的误检率/漏检率进行了比较,结果见表2。
表2各类算法的误检率/漏检率比较
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。