基于视频监控的临水预警方法及系统

文档序号:30495454发布日期:2022-06-22 04:10阅读:119来源:国知局
基于视频监控的临水预警方法及系统

1.本发明属于视频图像识别领域,涉及一种基于视频监控的临水预警方法及系统。


背景技术:

2.临水作业时,时常会有工作人员在靠近水源的地方行走,也时常会有大量的在水源两边的横跨,这些行为都具有一定的危险性,例如由于恶劣的天气(比如路面结冰),或者工作劳累等,都会导致不慎落水出现事故的概率增加。基于此,安装视频监控以便实时监测必不可少,但同时也带来了新的问题:人工监测会导致人力成本增加以及监控时间存在空档。所以,为视频监控配置一个带有实时预警功能的安防系统以代替人工,可以更好的保障工作人员的安全以及节省成本,从而具有重要的研究意义及商业价值。


技术实现要素:

3.为了解决上述问题,本发明提供一种基于视频流的临水预警方法及系统,以解决人工监测导致人力成本增加以及监控时间存在空档的问题。
4.本发明所采用的技术方案是,基于视频监控的临水预警方法,按照以下步骤进行:
5.步骤s1、获取视频流数据;
6.步骤s2、对视频流中当前帧进行人员识别;
7.步骤s3、对当前帧识别的行人进行人员实时追踪;
8.步骤s4、对追踪的行人进行落水行为识别,并在识别到落水行为后发出警报进行预警。
9.进一步的,步骤s3包括:
10.设置置信度阈值,对当前帧的低于置信度阈值的检测框进行过滤,同时,对当前帧的检测框进行非最大值抑制;
11.读取当前帧非最大值抑制后剩余的检测框的位置,并利用重识别神经网络提取这些检测框内的图像块的表观特征。
12.进一步的,步骤s3还包括:
13.利用卡尔曼滤波器预测追踪器在当前帧的运动状态即预测框的位置及大小;
14.基于检测框内的图像块的表观特征,用检测框匹配追踪器,得到追踪器与检测框的匹配对;
15.更新每个已匹配的追踪器的卡尔曼滤波器参数及保存的特征向量集,并利用未匹配上的追踪器进行目标消失、新目标出现的判断;
16.利用未匹配上的检测框初始化新追踪器,每初始化一个新的追踪器,追踪器编号加1。
17.进一步的,利用卡尔曼滤波器预测追踪器在当前帧的运动状态即预测框的位置及大小的具体实施过程如下:
18.根据所有追踪器在前一帧的运动状态即前一帧的检测框的位置和大小,利用卡尔
曼滤波器预测所有追踪器在当前帧运动状态,每个追踪器在当前帧的运动状态为:
19.s(k)=as(k-1)
20.其中,s(k)为卡尔曼滤波器预测的追踪器在第k帧中的运动状态,运动状态包含8个参数[x,y,r,h,v
x
,vy,vr,vh],其中,x,y为预测框的中心坐标,r代表预测框的长宽比,h代表预测框的长度,v
x
,vy,vr,vh分别代表x,y,r,h的速度;s(k-1)为追踪器在第k-1帧中的运动状态;
[0021]
预测完之后,对每一个追踪器的更新后未匹配次数加1。
[0022]
进一步的,基于检测框内的图像块的表观特征,用检测框匹配追踪器,得到追踪器与检测框的匹配对的具体实施过程如下:
[0023]
判断每个处于假设状态的追踪器的命中次数是否达到3,如是,则将该追踪器的状态转为确认状态,否则,保持该追踪器的状态为假设状态,每个追踪器的初始状态为假设状态,追踪器的命中次数初始为0,追踪器每匹配一次,其命中次数加1;
[0024]
判断是否存在处于确认状态的追踪器,如存在,则对处于确认状态的追踪器,按照各追踪器的更新后未匹配次数的值由小到大进行级联匹配;如不存在,则继续判断是否存在已初始化的追踪器,如存在已初始化的追踪器,则对该处于假设状态的追踪器进行交并比匹配;如不存在已初始化的追踪器,则利用未匹配上的检测框初始化新追踪器;
[0025]
对处于确认状态的追踪器,按照各追踪器的更新后未匹配次数的值由小到大进行级联匹配的具体实施过程如下:
[0026]
步骤s3421、计算各检测框特征向量即利用重识别神经网络提取的检测框图像块的表观特征与各追踪器已保存的特征向量集之间的损失矩阵c,损失矩阵c的大小为a
×
b,a为当前帧处于确认状态的追踪器数量,b为当前帧检测框数量,损失矩阵c的每个元素为单个追踪器与单个检测框的最小余弦距离;
[0027]
步骤s3422、计算损失矩阵c的每一行即每个追踪器对应的预测框位置与损失矩阵c每一列对应的检测框位置之间的马氏距离:
[0028]
先将检测框的x,y,w,h转换为x,y,r,h,其中w是指检测框宽度;而后对于每一个追踪器,也就是损失矩阵c中的每一行,按照下式计算对应预测框(卡尔曼滤波器预测的追踪器的运动状态)位置与每个检测框位置之间的马氏距离:
[0029][0030]
其中,d(i,j)是第j个检测框位置与第i个预测框位置的马氏距离,lj是第j个检测框的位置,pi是第i个预测框的位置,第i个预测框的位置从追踪器的卡尔曼滤波器输出的运动状态中获取;代表第j个检测框位置与第i个预测框位置的协方差矩阵的逆,第j个检测框位置与第i个预测框位置的协方差矩阵使用第i个追踪器在当前帧的运动状态的方差p(k);
[0031]
第i个追踪器在当前帧的运动状态的方差p(k)为:
[0032]
p(k)=ap(k-1)a
t
+q
[0033]
其中,p(k-1)为第k-1帧即前一帧中检测框的估计误差,也即卡尔曼滤波器预测的追踪器在前一帧的运动状态的误差;p(k)为第k帧即当前帧中检测框的估计误差,也即卡尔曼滤波器预测的追踪器在当前帧的运动状态的方差(误差),a为状态转移矩阵,a
t
为矩阵a
的转置,q为系统误差;
[0034]
步骤s3423、根据损失矩阵c对各追踪器和检测框进行匹配,得到每个处于确认状态的追踪器与检测框的匹配对:
[0035]
步骤a、对于大小为a
×
b的损失矩阵c,将其补全为大小是max(a,b)的方阵,补全采用元素值大于损失矩阵c中的元素最大值;
[0036]
步骤b、对于矩阵的每一行,减去其中的最小元素;
[0037]
步骤c、对于矩阵的每一列,减去其中的最小元素;
[0038]
步骤d、用最少的水平线及垂直线覆盖矩阵中所有的0;
[0039]
步骤e、如果覆盖矩阵中所有0所用的水平线以及垂直线的数量等于max(a,b),则找到了最优分配,最优匹配的匹配对中如果存在补全的行/列,或者最优匹配的匹配对对应的损失矩阵c的元素值大于余弦距离阈值,或者最优匹配的匹配对对应的损失矩阵c的元素值大于马氏距离阈值,则认为该匹配对对应的追踪器和检测框不匹配,从最优匹配中删除该匹配对,算法结束;如果覆盖矩阵中所有0所用的水平线以及垂直线的数量小于max(a,b),则进入步骤f;
[0040]
步骤f、找到没有被水平线或垂直线覆盖的最小元素,每个未被线完全覆盖的行减去这个最小元素,每个被线完全覆盖的列加上这个最小元素,返回步骤d;
[0041]
组合各级联匹配的结果,根据各级联匹配的结果得到未匹配的追踪器以及未匹配的检测框;
[0042]
对处于假设状态以及未匹配的追踪器与未匹配的检测框进行交并比匹配:
[0043]
计算每个处于假设状态以及未匹配的追踪器与每个未匹配的检测框的交并比距离,得到损失矩阵d,损失矩阵d的行数为所有处于假设状态以及未匹配的追踪器总数,损失矩阵d的列数为未匹配的检测框总数,损失矩阵d中每一行的元素为处于假设状态或未匹配的追踪器与每个未匹配的检测框的交并比距离;
[0044]
对处于假设状态以及未匹配的追踪器与未匹配的检测框进行匹配,匹配完成后,如果某个匹配对对应的损失矩阵d的元素值大于交并比距离阈值,则认为该追踪器与检测框不匹配,删除该匹配对。
[0045]
进一步的,更新每个追踪器的卡尔曼滤波器参数及保存的特征向量集,并进行目标消失、新目标出现的判断的具体实施过程如下:
[0046]
对于已经匹配上的追踪器:
[0047]
更新卡尔曼滤波器中的命中次数,并置每个追踪器的更新后未匹配次数为0;
[0048]
将与每个追踪器匹配的检测框的特征向量即重识别神经网络输出的表观特征向量,保存到对应追踪器的特征向量集中;
[0049]
对于未匹配上的追踪器:
[0050]
若该追踪器处于假设状态,则删除该追踪器;
[0051]
若该追踪器处于确认状态,且更新后未匹配次数超过设置的最大寿命帧未匹配,则删除该追踪器。
[0052]
进一步的,对追踪的行人进行落水行为识别,先进行视频图像帧裁剪,具体过程如下:
[0053]
对处于同一运动状态中的同一个人,根据追踪器标号和检测框坐标,按照其最大
运动区域对该段视频图像帧进行裁剪,最大运动区域[x
min
,y
min
,x
max
,y
max
]指的是,统计同一个人在不同图像帧下的所有检测框坐标[x
l
,y
l
,xr,yr],其中x
l
,y
l
为检测框左上坐标,xr,yr为检测框右下坐标,最大运动区域的左上角坐标x
min
、y
min
分别取所有检测框左上坐标x
l
、y
l
中的最小值,最大运动区域的右下坐标x
max
、y
max
分别取所有检测框右下坐标xr、yr中的最大值。
[0054]
进一步的,在进行视频图像帧裁剪后,采用基于rgb的坠水行为识别网络或基于骨架的坠水行为识别算法对追踪的行人进行落水行为识别;
[0055]
基于rgb的坠水行为识别网络采用带有时空交错模块的二维残差网络;
[0056]
时空交错模块包括可变形移位模块和可微分时间帧采样模块,其中:
[0057]
可变形移位模块插入在每个残差模块的卷积层前来融合时间维度信息,时序拼接的rgb数据经3d平均池化后输入可变形移位模块,可变形移位模块由偏移网络和加权网络组成,时序拼接的rgb数据经3d平均池化后分别输入偏移网络和加权网络获得偏移量和权重,然后对特征和时间维度进行偏移和采样;
[0058]
可微分时间帧采样模块,设置在可变形移位模块之后,偏移网络和加权网络的输出进入可微分时间帧采样模块,对特征和时间维度进行偏移和采样,得到在时序上部分便宜的rbg数据;
[0059]
可微分时间帧采样模块将输入的特征映射分成几个组,并根据它们的组按不同的偏移量移动它们;然后,计算加权和和时间维数;最后,将分割的组连接到与输入数据相同大小的特征图中。
[0060]
进一步的,基于骨架坠水行为识别算法,具体实现过程如下:
[0061]
步骤s421、rgb图像姿态估计:
[0062]
首先,通过卷积神经网络vgg19的前10层特征提取层提取图像特征,然后将输出的特征图分别输入到负责预测关节点的子网络cnn_pcm以及负责预测关节点的肢体方向的子网络cnn_paf,cnn_pcm输出关节点的置信度图(pcm,part confidence map),cnn_paf输出paf肢体图;
[0063]
然后,结合子网络cnn_pcm和子网络cnn_paf的输出,在paf肢体图上做对应的两个关节点的路径上的积分,认为积分结果最高的两个关节点属于同一个人体,循环可以得出多人的骨架检测结果;
[0064]
步骤s422、对每个人的骨架中无法准确检测的关节点,采用基于光流法的关节点追踪算法进行位置确定;
[0065]
步骤s423、对多帧图像形成的视频流对应的每个人的骨架按时间排序,得出每个人的骨架序列,并利用每个人的骨架序列形成彩色的骨架图像:
[0066]
对于某个行人的骨架序列中关节点的两个空间维度坐标x,y以及关节点的置信度值,分别生成骨架图像的r,g,b三个通道,然后使骨架图像的横向代表骨架序列的空间位置分布,骨架图像的纵向代表骨架序列的时间变化;
[0067]
步骤s424、对骨架图像按照下式进行数据标准化:
[0068][0069]
其中,代表第n个骨架图像中的(i,j)位置的值,代表数据标准化后第n个骨
架图像中的(i,j)位置的值,i
min
代表所有骨架图像中的最小像素值,i
max
代表所有骨架图像中的最大像素值;
[0070]
步骤s425、采用卷积神经网络进行特征提取和行为分类,识别坠落行为:
[0071]
特征提取:采用包含五个卷积层和五个relu层的特征提取模块,对数据标准化后的骨架图像进行特征提取,得到能描述一个人的行为的时空特征表示,五个卷积层的卷积核大小均设计为3
×
3,卷积核个数分别为16,16,32,32,64;
[0072]
行为分类:将特征提取的输出经过全连接层、relu层和dropout层后得到64维特征向量;再通过全连接层和softmax激活层得到对行人的行为类别的打分,如果通过全连接层和softmax激活层得到行人的落水行为打分最高,则认为行人发生了落水行为,发出警报提醒。
[0073]
本发明实施例采用的另一技术方案是:基于视频监控的临水预警系统,包括:
[0074]
存储器,用于存储可由处理器执行的指令;
[0075]
处理器,用于执行所述指令以实现如上所述的基于视频监控的临水预警方法。
[0076]
本发明的有益效果是:
[0077]
1、用追踪算法对行为识别的输入做了裁剪,轻量化了行为识别算法,减少了计算量,便于在边缘设备中运行。
[0078]
2、本发明实施例的基于视频监控的临水预警方法可适用于低算力低帧率的硬件场景,保证预警效果的同时节省硬件成本。
[0079]
3、用姿态估计为骨架行为识别算法提供输入,只需要rgb视频作为整体算法的输入。
[0080]
4.实现了临水行人的自动追踪及落水行为识别、预警,监控成本低且全天候监测,并可保存监控视频,解决了人工监测导致人力成本增加以及监控时间存在空档的问题。
附图说明
[0081]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0082]
图1是本发明实施例的重识别神经网络的结构示意图。
[0083]
图2是本发明实施例的带有时间交错网络的二维残差网络结构示意图。
[0084]
图3是本发明实施例的带有时间交错网络的二维残差网络内部结构示意图。
[0085]
图4是本发明实施例的基于视频监控的落水行为识别方法的流程图。
[0086]
图5是本发明实施例的基于rgb的姿态估计算法流程图。
[0087]
图6是本发明实施例的基于光流法的关节点追踪算法流程图。
具体实施方式
[0088]
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都
属于本发明保护的范围。
[0089]
实施例1
[0090]
本发明实施例提出一种基于视频监控的临水预警方法,其特征在于,按照以下步骤进行:
[0091]
步骤s1、终端通过交换机与摄像头连接,获取视频流数据;
[0092]
步骤s2、运用yolov5等网络对视频流中当前帧进行人员识别;
[0093]
步骤s3、对当前帧识别的行人进行人员实时追踪,可按照以下步骤进行:
[0094]
步骤s31、设置置信度阈值,对当前帧的低于置信度阈值的检测框进行过滤以删除误检框,同时,对当前帧的检测框进行非最大值抑制,以消除一个目标身上的多个检测框,根据追踪效果,发明人经大量实验得出置信度阈值设置为0.3时效果最佳;
[0095]
步骤s32、读取当前帧非最大值抑制后剩余的检测框的位置,并利用重识别神经网络提取这些检测框内的图像块的表观特征,重识别神经网络可采用图1所示结构;
[0096]
步骤s33、利用卡尔曼滤波器预测追踪器在当前帧的运动状态即预测框的位置及大小,具体实施过程如下:
[0097]
步骤s331、根据所有追踪器在前一帧的运动状态即前一帧的检测框的位置和大小,利用卡尔曼滤波器预测所有追踪器在当前帧运动状态,即利用卡尔曼滤波器预测当前帧的检测框的位置和大小,得到预测框,所有追踪器在当前帧的运动状态即预测框为:
[0098]
s(k)=as(k-1)
[0099]
其中,s(k)为卡尔曼滤波器预测的追踪器在第k帧中的运动状态,也即第k帧中预测框的大小和位置,运动状态包含8个参数[x,y,r,h,v
x
,vy,vr,vh],其中,x,y为预测框的中心坐标,r代表预测框的长宽比,h代表预测框的长度,v
x
,vy,vr,vh分别代表x,y,r,h的速度;s(k-1)为追踪器在第k-1帧中的运动状态,即前一帧的检测框的位置和大小;
[0100]
步骤s332、预测完之后,对每一个追踪器的更新后未匹配次数加1;
[0101]
步骤s34、基于检测框内的图像块的表观特征,用检测框匹配追踪器,得到追踪器与检测框的最优匹配对,具体实施过程如下:
[0102]
步骤s341、判断每个处于假设状态的追踪器的命中次数是否达到3,如是,则将该追踪器的状态转为确认状态,否则,保持该追踪器的状态为假设状态,每个追踪器的初始状态为假设状态,追踪器的命中次数初始为0,追踪器每匹配一次,其命中次数加1;
[0103]
并判断是否存在处于确认状态的追踪器,如存在,则对处于确认状态的追踪器,按照各追踪器的更新后未匹配次数的值由小到大进行级联匹配;如不存在,则继续判断是否存在已初始化的追踪器,如存在已初始化的追踪器,则跳转至步骤s344,对该处于假设状态的追踪器进行交并比匹配;如不存在已初始化的追踪器,则跳转至步骤s36,利用未匹配上的检测框初始化新追踪器,不存在已初始化的追踪器指初始化的追踪器因为超过最大未命中次数被删除;
[0104]
步骤s342、对处于确认状态的追踪器,按照各追踪器的更新后未匹配次数的值由小到大进行级联匹配,级联匹配的具体实施过程如下:
[0105]
步骤s3421、计算各检测框特征向量即利用重识别神经网络提取的检测框图像块的表观特征与各追踪器已保存的特征向量集之间的损失矩阵c,具体过程为:
[0106]
设有a个处于确认状态的追踪器与b个检测框,那么损失矩阵c的大小为a
×
b,设每
个追踪器保存的特征向量集包含k个特征向量,对于每个追踪器,都会计算一个k
×
b大小的余弦距离矩阵,最小余弦距离用公式为min(余弦距离),即其中,是余弦距离,是某个追踪器中保留的特征向量与当前帧的某个检测框的特征向量的乘积,可设置每个追踪器保留的特征向量数目最大为400,每个追踪器对该余弦距离矩阵的每一列求最小值都可以得到一个1
×
b大小的最小余弦距离矩阵,损失矩阵c的每一行对应一个追踪器,每一行元素对应追踪器的1
×
b大小的最小余弦距离矩阵,a个追踪器的1
×
b大小的最小余弦距离矩阵组合即得a
×
b大小的损失矩阵c,即损失矩阵的每个元素为单个追踪器与单个检测框的最小余弦距离;
[0107]
步骤s3422、在损失矩阵c的基础上,计算损失矩阵c的每一行即每个追踪器对应的预测框位置与损失矩阵c每一列对应的检测框位置之间的马氏距离;
[0108]
计算损失矩阵c的每一行即每个追踪器对应的预测框位置与损失矩阵c每一列对应的检测框位置之间的马氏距离的过程为:
[0109]
先将检测框的x,y,w,h转换为x,y,r,h,其中w是指检测框宽度;而后对于每一个追踪器,也就是损失矩阵c中的每一行,按照下式计算对应预测框(卡尔曼滤波器预测的追踪器的运动状态)位置与每个检测框位置之间的马氏距离:
[0110][0111]
其中,d(i,j)是第j个检测框位置与第i个预测框位置的马氏距离,lj是第j个检测框的位置,pi是第i个预测框的位置,第i个预测框的位置从追踪器的卡尔曼滤波器输出的运动状态中获取;代表第j个检测框位置与第i个预测框位置的协方差矩阵的逆,第j个检测框位置与第i个预测框位置的协方差矩阵使用第i个追踪器在当前帧的运动状态的方差p(k);当马氏距离d(i,j)大于设定的马氏距离阈值时,说明虽然第j个检测框与第i个预测框的表观特征相似,但两者位置相距较远,追踪的不是同一个目标,当马氏距离d(i,j)小于等于设定的马氏距离阈值时,损失矩阵c中第i行j列元素值不变。
[0112]
第i个追踪器在当前帧的运动状态的方差p(k)为:
[0113]
p(k)=ap(k-1)a
t
+q
[0114]
其中,p(k-1)为第k-1帧即前一帧中检测框的估计误差,也即卡尔曼滤波器预测的追踪器在前一帧的运动状态的误差;p(k)为第k帧即当前帧中检测框的估计误差,也即卡尔曼滤波器预测的追踪器在当前帧的运动状态的方差(误差),a为状态转移矩阵,a
t
为矩阵a的转置,q为系统误差;
[0115]
步骤s3423、根据损失矩阵c对各追踪器和检测框进行匹配,得到每个处于确认状态的追踪器与检测框的匹配对,具体过程如下:
[0116]
步骤a、对于大小为a
×
b的损失矩阵c,将其补全为大小是max(a,b)的方阵,补全采用元素值大于损失矩阵c中的元素最大值;
[0117]
步骤b、对于矩阵的每一行,减去其中的最小元素;
[0118]
步骤c、对于矩阵的每一列,减去其中的最小元素;
[0119]
步骤d、用最少的水平线及垂直线覆盖矩阵中所有的0;
[0120]
步骤e、如果覆盖矩阵中所有0所用的水平线以及垂直线的数量等于max(a,b),则找到了最优分配,最优匹配的匹配对中如果存在补全的行/列,或者最优匹配的匹配对对应
的损失矩阵c的元素值大于余弦距离阈值,或者最优匹配的匹配对对应的损失矩阵c的元素值大于马氏距离阈值,则认为该匹配对对应的追踪器和检测框不匹配,从最优匹配中删除该匹配对,算法结束;如果覆盖矩阵中所有0所用的水平线以及垂直线的数量小于max(a,b),则进入步骤f;经发明人多次试验,余弦距离阈值根据追踪效果优选0.2;马氏距离阈值根据追踪效果优选自由度为8、显著度为0.05的卡方分布值15.05;
[0121]
最优匹配的匹配对对应的损失矩阵元素值是否大于余弦距离阈值,可通过下述过程判断:
[0122]
为方便编程运算,可先将损失矩阵c中大于设定的余弦距离阈值的元素值统一设置为b,b大于余弦距离阈值,如在余弦距离阈值设置为0.2时,可将b设置为0.20001,然后判断:如果某个匹配对在损失矩阵c中对应的元素值为b,则认为该追踪器与检测框不匹配,删除该匹配对;
[0123]
最优匹配的匹配对对应的损失矩阵元素值是否大于马氏距离阈值,可通过下述过程判断:
[0124]
为方便编程运算,可先将损失矩阵c中大于设定的马氏距离阈值的元素值统一设置为a,a远大于马氏距离阈值,如可将a设置为100000,从而使该元素值修改为a的元素对应的预测框和检测框位置相距较远,体现两者追踪的不是同一个目标,进而使得后期不会将对应的追踪器与该检测框匹配在一起,然后判断:如果某个匹配对在损失矩阵c中对应的元素值为a,则认为该追踪器与检测框不匹配,删除该匹配对;
[0125]
覆盖矩阵中所有0所用的水平线以及垂直线的数量等于max(a,b)说明我们可以从矩阵的0中为每个行都找到一个列匹配,最优匹配指损失最小的匹配,即匹配对对应的损失矩阵值相加最小;
[0126]
步骤f、找到没有被水平线或垂直线覆盖的最小元素,每个未被线完全覆盖的行减去这个最小元素,每个被线完全覆盖的列加上这个最小元素,返回步骤d。
[0127]
若某一追踪器久未匹配,其卡尔曼滤波器对应的预测方差p(k)会变大,方差p(k)变大会导致预测框与检测框的马氏距离变小,导致长时间未匹配的追踪器更容易被匹配上,这显然是不合理的,因此设置更新后未匹配次数值用于级联匹配,先对更新后未匹配次数小的处于确认状态的追踪器进行级联匹配,强制近期匹配过的追踪器优先进行匹配,可解决上述久未匹配的追踪器更容易匹配的问题。
[0128]
步骤s343、组合各级联匹配的结果,根据各级联匹配的结果得到未匹配的追踪器以及未匹配的检测框;
[0129]
步骤s344、对处于假设状态以及未匹配的追踪器与未匹配的检测框进行交并比匹配,具体过程如下:
[0130]
计算每个处于假设状态以及未匹配的追踪器与每个未匹配的检测框的交并比(iou,intersection-over-union)距离,得到损失矩阵d,损失矩阵d的行数为所有处于假设状态以及未匹配的追踪器总数,损失矩阵d的列数为未匹配的检测框总数,损失矩阵d中每一行的元素为处于假设状态或未匹配的追踪器与每个未匹配的检测框的交并比距离,交并比距离计算公式为(1

交并比),交并比指每个处于假设状态或未匹配的追踪器与每个未匹配的检测框的交并比;
[0131]
对处于假设状态以及未匹配的追踪器与未匹配的检测框进行匹配,此处可与步骤
s344采用相同的匹配方法,匹配完成后,如果某个匹配对对应的损失矩阵d的元素值大于交并比距离阈值,则认为该追踪器与检测框不匹配,删除该匹配对,经发明人多次试验,交并比距离阈值根据追踪效果优选0.7,为方便编程运算,可先将并将损失矩阵d中大于设定的交并比距离阈值的元素统一设置为c,c大于交并比距离阈值,如在交并比距离阈值设置为0.7时,可将c设置为0.700001,然后判断:如果某个匹配对对应的损失矩阵d的元素值为c,则认为该追踪器与检测框不匹配,删除该匹配对;
[0132]
步骤s35、更新每个已匹配的追踪器的卡尔曼滤波器参数及保存的特征向量集,并利用未匹配上的追踪器进行目标消失、新目标出现的判断,具体实施过程如下:
[0133]
对于已经匹配上的追踪器:
[0134]
步骤s351a、更新卡尔曼滤波器中的命中次数,并置每个追踪器的更新后未匹配次数为0;
[0135]
步骤s352a、将与每个追踪器匹配的检测框的特征向量即重识别神经网络输出的表观特征向量,保存到对应追踪器的特征向量集中;
[0136]
对于未匹配上的追踪器:
[0137]
步骤s351b、若该追踪器处于假设状态(目标消失),则删除该追踪器;
[0138]
步骤s352b、若该追踪器处于确认状态,且更新后未匹配次数超过设置的最大寿命帧未匹配,则删除该追踪器;
[0139]
步骤s36、利用未匹配上的检测框初始化新追踪器,每初始化一个新的追踪器,追踪器编号加1,新追踪器的初始状态为假设状态。
[0140]
步骤s4、对追踪的行人进行落水行为识别,并在识别到落水行为后发出警报进行预警:
[0141]
步骤s41、进行视频图像帧裁剪,具体过程如下:
[0142]
在视频中,对处于同一运动状态中的同一个人,按照其最大运动区域对该段视频图像帧进行裁剪,最大运动区域[x
min
,y
min
,x
max
,y
max
]指的是,统计同一个人在不同图像帧下的所有检测框坐标[x
l
,y
l
,xr,yr],其中x
l
,y
l
为检测框左上坐标,xr,yr为检测框右下坐标,最大运动区域的左上角坐标x
min
、y
min
分别取所有检测框左上坐标x
l
、y
l
中的最小值,最大运动区域的右下坐标x
max
、y
max
分别取所有检测框右下坐标xr、yr中的最大值。
[0143]
视频图像帧裁剪后的图像帧按照行人的行为状态分类保存,作为训练或者测试集。
[0144]
在训练时,还需要进行数据标注和数据预处理:
[0145]
数据标注:每一帧图像中,行人的数据标注格式为person+序号+行为类别,行为类别包含落水行为,如personxxxx_jump,其中xxxx即为行人的序号,行人的序号由人工标注,行人的序号即追踪器的编号;
[0146]
数据预处理包括数据清洗和数据增强:
[0147]
数据清洗,对标注不合格的数据进行人工筛查;
[0148]
数据增强,在裁剪出来前,将原始图片进行裁剪框区域的放大和缩小,以及图片像素变换;
[0149]
步骤s42、基于步骤s41处理后的视频数据,采用坠水行为识别算法进行坠水行为识别,坠水行为识别算法可采用基于rgb的坠水行为识别网络或基于骨架的坠水行为识别
算法。
[0150]
基于rgb的坠水行为识别网络采用带有时空交错模块的二维残差网络,具体结构如图2~3所示,时空交错模块包括可变形移位模块和可微分时间帧采样模块,其中:
[0151]
可变形移位模块插入在每个残差模块的卷积层前来融合时间维度信息,时序拼接的rgb数据经3d平均池化后输入可变形移位模块,时序拼接的rgb数据为3
×
t(时间)
×
h(图片高)
×
w(图片宽)的矩阵,可变形移位模块由偏移网络和加权网络组成,时序拼接的rgb数据经3d平均池化后分别输入偏移网络和加权网络获得偏移量和权重,然后对特征和时间维度进行偏移和采样;
[0152]
可微分时间帧采样模块,设置在可变形移位模块之后,偏移网络和加权网络的输出进入可微分时间帧采样模块,对特征和时间维度进行偏移和采样,得到在时序上部分便宜的rbg数据;
[0153]
可微分时间帧采样模块将输入的特征映射分成几个组,并根据它们的组按不同的偏移量移动它们;然后,计算加权和和时间维数;最后,将分割的组连接到与输入数据相同大小的特征图中。
[0154]
在架构方面,整个识基于rgb的坠水行为识别网络就是一个resnet网络,上面的模块都是对该网络的残差模块进行修改,基于rgb的坠水行为识别网络优选34层resnet,初始通道宽为64,dropout为0.5,初始学习率设置为0.0001,时间交错模块的偏移系数(shift_div)设置为4,梯度下降动量参数设置为0.9,权值衰减的正则化系数(weight_decay)为0.001,总共迭代周期为25。
[0155]
框架如图4所示,根据追踪得到行人的序号,对比找出与相应序号行人对应的检测框坐标[x
l
,y
l
,xr,yr],取检测框坐标[x
l
,y
l
,xr,yr]的最大区域对图片帧进行裁剪,再送入基于rgb的坠水行为识别网络进行判别,最后将判别结果进行输出。
[0156]
将基于rgb的坠落行为识别网络做成一个库函数,可以在追踪模块进行调用,如发生坠落行为,发出报警信号,并将当前判别的图片帧序列保存下来。
[0157]
基于骨架坠水行为识别算法,具体实现过程如下:
[0158]
步骤s421、rgb图像姿态估计:
[0159]
rgb图像姿态估计网络的结构如图5所示,首先,通过卷积神经网络vgg19的前10层特征提取层提取图像特征,然后将输出的特征图分别输入到负责预测关节点的子网络cnn_pcm以及负责预测关节点的肢体方向的子网络cnn_paf,cnn_pcm输出关节点的置信度图(pcm,part confidence map),cnn_paf输出关节点关系场(paf,part affinity field)即paf肢体图,最后将子网络cnn_pcm和子网络cnn_paf的结果进行解析(parsing)便得到多人的骨架检测结果即多人的姿态估计,具体为:子网络cnn_pcm会为每个人的同一个关节点生成一张置信度图,由于人体上有多个关节点,因此得到与人体关节点一一对应的多张置信度图。每张置信度图都是一张热力图,会在人体对应关节点显示最亮点;子网络cnn_paf描述肢体,也即关节点到关节点之间的关系,因此人体有多少肢体,也会有多少子网络cnn_paf。在paf上,若某个像素点位于关节点上,则该像素点位置会保存一个由关节点到关节点的单位向量,如左手臂的paf上,对应左手臂的区域的位置上都有从左手腕关节点到左手肘关节点的单位向量。结合子网络cnn_pcm和子网络cnn_paf的输出,在paf肢体图上做对应的两个关节点的路径上的积分,结果最高的两个关节点,可以认为这两个关节点属于同一个
人体,循环可以得出多人的骨架检测结果。
[0160]
步骤s422、对每个人的骨架中无法准确检测的关节点,采用基于光流法的关节点追踪算法进行位置确定;
[0161]
基于光流的关节点追踪算法结构如图6所示:用姿态估计算法对视频中每帧进行关节点提取,如果关节点在当前帧无法准确检测,则去前面若干帧的检测结果中查找已检测出的对应部位关节点,由于光流代表了连续两帧的每个像素点的位移,因此根据关节点在上一帧的位置,叠加光流矢量便可得到该关节点在下一帧出现的位置,这样关节点漏检问题便得以解决。
[0162]
步骤s423、对多帧图像形成的视频流对应的每个人的骨架按时间排序,得出每个人的骨架序列,并利用每个人的骨架序列形成彩色的骨架图像:
[0163]
对于某个行人的骨架序列中关节点的两个空间维度坐标x,y以及关节点的置信度值,分别生成骨架图像的r,g,b三个通道,因此骨架图像是一张彩色图像,关节点的置信度值由pcm图给出。骨架图像的横向代表骨架序列的空间位置分布,骨架图像的纵向代表骨架序列的时间变化,更具体地说,骨架图像的每一行代表一帧骨架的所有关节点坐标按照编号从左到右排列,图像的每一列代表骨架上的对应关节点在不同时刻的坐标;
[0164]
步骤s424、对骨架图像按照下式进行数据标准化:
[0165][0166]
其中,代表第n个骨架图像中的(i,j)位置的值,代表数据标准化后第n个骨架图像中的(i,j)位置的值,i
min
代表所有骨架图像中的最小像素值,i
max
代表所有骨架图像中的最大像素值;
[0167]
步骤s425、采用卷积神经网络进行特征提取和行为分类,识别坠落行为:
[0168]
特征提取:采用的卷积神经网络的特征提取模块包含五个卷积层和五个relu层,双重保证准确率和识别速度,卷积层能线性地学习骨架图像中的人体动作时空特征,而relu激活层能增加网络的非线性能力,能非线性地选择卷积层提取到的特征。五个卷积层的卷积核大小均设计为3
×
3,卷积核个数分别为16,16,32,32,64,随着网络层数的加深,卷积核不断将低级别特征组成高级别特征,并最终得到能描述一个人的行为的时空特征表示。
[0169]
行为分类:将特征提取的输出经过全连接层、relu层和dropout层后得到64维特征向量,该特征向量代表了输入序列的全局时空特征表示;再通过全连接层和softmax激活层得到对行人的行为类别的打分,如果通过全连接层和softmax激活层得到行人的落水行为打分最高,则认为行人发生了落水行为,发出警报进行预警,实现了基于骨架的坠落行为识别及预警。
[0170]
实施例2
[0171]
本发明实施例还提供一种基于视频监控的临水预警系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上实施例1所述的一种基于视频监控的临水预警方法。
[0172]
一种基于视频监控的临水预警系统可包括内部通信总线、处理器(processor)、只读存储器(rom)、随机存取存储器(ram)、通信端口、以及硬盘。内部通信总线可以实现一种
基于视频监控的临水预警系统组件间的数据通信。处理器可以进行判断和发出提示。在一些实施例中,处理器可以由一个或多个处理器组成。通信端口可以实现一种基于视频监控的临水预警系统外部的数据通信。在一些实施例中,一种基于视频监控的临水预警系统还可以通过通信端口从网络发送和接受信息及数据。一种基于视频监控的临水预警系统还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘,只读存储器(rom)和随机存取存储器(ram),能够存储计算机处理和/或通信使用的各种数据文件,以及处理器所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给被试者设备,在被试者界面上显示。
[0173]
上述的一种基于视频监控的临水预警方法可以实施为计算机程序,保存在硬盘中,并可记载到处理器中执行。因此,本发明实施例还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的一种基于视频监控的临水预警方法。
[0174]
一种基于视频监控的临水预警方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(eprom)、卡、棒、键驱动)。此外,本发明实施例描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
[0175]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1