一种用于全景智能安防的行人徘徊重识别方法

文档序号:27333920发布日期:2021-11-10 02:08阅读:431来源:国知局
一种用于全景智能安防的行人徘徊重识别方法

1.本发明属于行人徘徊重识别的技术领域,尤其涉及一种用于全景智能安防的行人徘徊重识别方法。


背景技术:

2.随着现代信息技术的飞速发展和新基建政策的出台,“智慧城市”这一概念逐步转为现实。智慧城市就是基于数字城市、物联网和云计算建立的现实世界与数字世界的融合,实现城市智慧式管理与运行。其中,智能安防是智慧城市的主要应用场景,在构建全景智能安防时,视频监控系统起到了关键的作用。对于智能视频监控中的视频,对其进行目标检测、分类、识别、跟踪、特征点提取、运动估计等无需人力的智能分析正在引起越来越多的关注。行人的徘徊行为检测就是判断一个人是否在一个地方停留超过一段时间或者运动轨迹出现异常(例如在一个地方来回反复地走),这是一种比较常见的视频分析技术。
3.行人徘徊重识别是现下智能安防的一个关注热点,主要分为视频图片处理,行人检测,行人重识别,徘徊判断这四部分。行人徘徊检测通常归类于行人异常行为识别,有一定的缺陷。其一,传统行人异常行为识别利用人工提取特征,送入支持向量机等简单的分类器中进行分类,这类方法不仅耗费大量的人力财力,而且对行人徘徊行为的检测效果并不好,没有针对特异性做到专业性处理;其二,传统的行人异常行为识别多使用前背景建模的方法获得行人,非常容易受到嘈杂背景信息的干扰,导致检测的错误率较高。对于行人检测方面,传统方式采用背景建模的前后分离方式,效果往往不好,有待改进。对于现有的行人重识别技术可以弥补目前固定摄像头的视觉局限,与行人的检测、跟踪技术相结合应用于全景智能安防领域,有效地参与检测行人徘徊行为。行人重识别方法主要分为无监督行人重识别以及有监督的行人重识别。
4.因为监控视频中的行人身份是未知的,只能使用无监督的行人重识别。目前无监督的行人重识别对于样本的相似度判别以及难正样本(外形服装相似但是身份不同的行人)的识别上仍有极大的进步空间。由于视点不同、图像变化的低分辨率、照明变化、遮挡、背景混乱、不可靠的包围盒生成等因素,导致结果的不确定性,也需要合适的方法进行改进,总结现有的缺陷:传统的行人徘徊检测对于行人跟踪丢失以及行人走出视频画面再折返这种情况的检测效果不好;从实时监控视频流中获取的行人全景图片含有大量的背景信息,将其图片送入行人重识别步骤中会因为嘈杂的背景导致识别效率差,因此需要设计一种用于全景智能安防的行人徘徊重识别方法来解决上述问题。


技术实现要素:

5.本发明的目的在于提供一种能够解决上述问题的一种用于全景智能安防的行人徘徊重识别方法。
6.本发明采用的技术方案如下:一种用于全景智能安防的行人徘徊重识别方法,该方法包括如下步骤:
a.对实时安防监控视频进行全景图片采集;b.对采集到的全景图片进行质量评估;c.对筛选后的全景图片进行行人检测与重识别联合处理;d.对行人检测和重识别这一步骤得到的伪标签分配结果进行行人徘徊判断。
7.本发明的进一步改进在于:所述的步骤a中安防视频全景图片采集基于python版的opencv来实现,首先需要准备cv2和numpy库,对安防摄像头采用推流方式实现实时预览,再读取摄像头的帧数截取全景图片,最后保存图片即可。
8.本发明的进一步改进在于:所述的步骤b中图片质量评估基于图像评估模型,判断全景图片中行人是否模糊和遮挡过多,筛除评估结果低于评分阈值的视频截图。
9.本发明的进一步改进在于:所述的步骤c中采用新的深度学习框架将行人检测与行人重识别联合处理。
10.本发明的进一步改进在于:新的深度学习框架主要分为5个模块,卷积神经网络cnn模块、行人检测模块、池化层模块、基于互近邻伪标签分配模块和损失函数模块,所述的行人徘徊判断基于伪标签分配结果,在具有相同伪标签的一组相似行人特征中,首先判断行人图片的相机id是否相同,若不同,则排除行人徘徊的可能;若相机id相同,再判断行人图片的帧数间隔。
11.本发明的进一步改进在于:所述的卷积神经网络cnn模块的基础模型是resnet50,主干由resnet50的前四层组成,在网络的第一层和卷积层的最后一层加入注意力机制用于特征的提取,在每层的残差块relu之前加入instance normalization(样本归一化)用于消除图像背景的影响,除图像背景的影响,除图像背景的影响,除图像背景的影响,表示激活映射中的第组元素,和是跨越空间的维度,是特征通道,是批次中图像的索引,是小常数, 和分别表示高度和宽度。
12.本发明的进一步改进在于:所述的行人检测模块是基于特征图,利用512*3*3卷积层对特征图中行人特征进行转换,在特征图的每个位置利用锚点和softmax分类器预测锚框是否含有行人,其中还包括一个线性回归器用来调整锚框位置。
13.本发明的进一步改进在于:所述的池化层模块包括:感兴趣区域池化层(rol pooling)和全局平均池化层(global average pooling)。
14.本发明的进一步改进在于:所述的基于互近邻伪标签分配模块包括计算所有特征向量的最近邻关系,再利用传递性将整个特征向量空间划分为几个不同的簇,得到伪标签。
15.本发明的进一步改进在于:所述的损失函数模块包括交叉熵损失函数和三元组损失函数。
16.有益效果:第一, 针对传统的行人徘徊检测效果不好的问题,首次提出将深度学习与传统方法相结合,利用深度学习在一个cnn卷积神经网络中完成行人的检测和重识别,既简化了利用完全深度学习方法检测行人徘徊的复杂,又提高了传统方法徘徊检测的准确度;第二,从实时监控摄像头获取的全景图片经过行人检测模块时,因为全景图片中含有大量的背景信息,所以对于行人特征的提取造成一定干扰。本发明利用了注意力机制和in(instance normalization),通过在resnet50卷积层后加入注意力机制以及残余块中加入in模块(instance normalization)实现减弱图片背景影响的同时更加关注于提取行人的特征。
附图说明
17.图1是本发明的一种用于全景智能安防的行人徘徊重识别方法系统框图;图2是本发明的安防视频图片采集流程图;图3是本发明的行人检测与重识别框架图;图4是本发明的加入in的resnet50残差块(左)和未加入in的resnet50残差块(右);图5是本发明的网络提取主干模型。
18.具体实施方式
19.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
20.本发明讲述了本发明提出了一种应用于全景智能安防的行人徘徊重识别方法。该方法主要包括视频图片采集,图片质量评估,行人检测和重识别,徘徊判断几个部分,第一部分是图片采集部分,该部分是实现实时预览安防视频按秒截取图片并收集在存储器中;第二部分是图片质量评估,截取到的图片可能存在模糊,遮挡物过多等问题,将这样一些图片筛选掉;第三部分是行人检测和行人重识别,在这部分,我们联合检测和行人特征识别,将截取到的全景图片送入一个单一的神经网络中联合处理行人检测和重识别这两个任务;第四部分是行人徘徊判断,我们通过对相机id是否相同以及图片间隔时长判断行人是否徘徊。整体方法系统如图1所示。
21.第一部分:视频图片采集安防视频图片采集流程如图2所示。我们使用python版的opencv来实现实时视频预览截图。我们首先需要准备cv2和numpy库,对安防摄像头采用推流方式实现实时预览,采用摄像头的方式如下:videocapture=cv2.videocapture(1)。因为行人的移动速度没有达到特别快,因此我们按秒提取,根据摄像头每秒钟的帧数,那么每隔这些帧数截取一次即可,存储的图片放于一个可更新的储存器中。
22.第二部分:图片质量评估从全景安防视频按秒截取的图片中,有些图片可能反映的行人特征以及效果并不是很好。例如,行人模糊分辨不出具体的个人特征,行人被建筑物、障碍物、过往的车辆遮挡
住绝大部分主要的特征等情况,像这类情况的话,我们不予选择,因为会造成下一步骤的行人无法有效检测与识别。我们采用图像评估模型,对截取图片中的行人图像进行评估,判断行人模糊程度和完整程度,并将评估结果低于评分阈值的视频截图筛除。
23.第三部分:行人检测和重识别此部分是行人徘徊检测的核心部分,在以往的任务中将行人检测与行人重识别视作两个独立的任务,本专利将行人检测与行人重识别联合处理,我们提出了一种新的深度学习框架如图3所示。
24.该框架主要分为5个模块,第一个模块是卷积神经网络cnn,cnn的基础模型是resnet50,为了消除图像背景的影响,我们在残余块中加入in(instance normalization),为了更加专注的提取行人特征,在resnet网络中加入注意力机制,分别是channel attention module 和 spatial attention module。第二个模块是行人检测,利用卷积层对特征图中行人特征进行转换,在特征图的每个位置利用锚点和softmax分类器预测锚框是否含有行人,其中还包括一个线性回归器用来调整锚框位置。第三个模块是池化层,将从特征图中得到的1024*14*14的区域送入感兴趣区域池化层(rol pooling)后再经过一个全局平均池化层(global average pooling),最后整合得到2048维特征向量。第四个模块是基于互近邻伪标签分配(mutual nearest neighbors pseudo labeling),能够更好地发掘样本之间的相似性。最后一个模块是损失函数,基于分配的伪标签计算损失。
25.第一模块:cnn卷积神经网络cnn卷积神经网络的基础模型是resnet50,主干实际上是由resnet50的前四层组成,每层都有一组残差块,只在残差块relu之前加in(in是instance normalization,即实例归一化,bn指batch normalization,即批次归一化。in是bn的变体),如图4所示。
26.在relu之前添加in,对残差块进行了重构。in是批处理标准化(bn)的变体。它们之间的计算差异在于in是使用单个样本的统计信息而不是批样本的统计信息进行特征归一化。in主要用于样式转换字段,以便从内容中过滤出特定于实例的对比,加入可以显著提高模型性能,可以写成:模型性能,可以写成:模型性能,可以写成:其中,表示激活映射中的第组元素,和是跨越空间的维度,是特征通道,是批次中图像的索引,是小常数, 和分别表示高度和宽度。
27.cnn主干最前面是一个7*7的卷积层(即第一层卷积conv1),后面是4个模块(conv2_x至conv5_x),这四个模块分别包含3、4、6、3个残差单元。我们在网络的第一层和卷积层的最后一层加入注意力机制用于特征的提取,加入后的resnet50主干网如图5。给定输
入图像主干cnn将产生1024个通道的特征图,分辨率为原始图像的1/16。
28.第二模块:行人检测全景图片经过卷积神经网络cnn生成特征图,行人检测就是为了在特征图的基础上预测行人边界框。我们在特征图之上加入一个512*3*3的卷积层,接着是锚分类和锚回归来预测行人的感兴趣区域,在行人区域预测阶段会生成许多感兴趣区域的边界框,此阶段的输出是行人的可能位置的边界框列表。我们首先利用512*3*3卷积层对行人特征进行转换,在特征图的每个位置用9个锚点和一个softmax分类器来预测每个边界框是否含有行人。接着,为了进一步确定锚框,用线性回归器来调整锚框位置,我们将保留非最大抑制后的前128个调整边界框作为最终选择。由于行人检测将不可避免地包含一些错误警报和没有对准的情况,再次使用softmax分类器和线性回归来排除非人员并细化位置。
29.第三模块:池化层池化层包括感兴趣区域池化和全局平均池化两个层,行人区域预测阶段会生成许多感兴趣的区域,可能会使得性能以及处理速度变慢,这就是感兴趣区域池化所需要发挥作用的地方。感兴趣区域池化对于来自输入列表的每个感兴趣区域,采用对应的输入特征图的一部分并将其缩放到某个预定义的大小,缩放通过以下方式完成:(1)将预测区域划分为相等大小的部分(其数量与输出的维度相同);(2)找到每个部分的最大值;(3)将这些最大值复制到输出。最终,从具有不同大小的边界矩形框列表中,可以快速获得具有固定大小的相应特征映射的列表。感兴趣区域池化输出的维度实际上并不取决于输入要素映射的大小,也不取决于感兴趣区域大小,它仅由我们将预测行人划分成的部分数量决定。
30.我们利用感兴趣区域池化层从特征图中得到1024*14*14的区域,接着送入resnet50剩下的conv4_4至conv5_3后面再接一个全局平均池化层,将其整合最终得到2048维特征向量。
31.第四模块:基于互最近邻的伪标签分配在得到2048维特征向量之后,我们基于互最邻伪标签分配方法(mutual nearest neighbors pseudo labeling,以下简称mnnpl)学习行人特征向量之间的相似性。mnnpl方法基于传递的k相互最近邻关系, k相互最近邻指的是两个样本位于彼此的k最近邻中,表述如下:其中代表k最近邻,的下标代表图像索引。
32.mnnpl方法性能优于聚类算法,具体来说,相互最近邻意味着两个样本彼此是k最近邻,当k很小时,它被认为是一个强约束,可以用来解决相似服装引起的类间距离小的问题。同时,视角之间存在一定的相关性,比如行人的前后虽然差别很大,但是前后面和侧面有些相似,所以侧面可以用来建立正面和背面的连接。例如,分别定义一个行人的前面、侧面和后面,那么是对应的特性。由于行人的背部可能与正面有很大的不同, 。 然而,前后都与侧面相似,因此和,即标签 =标签和标签=标签。然后,根据传递原则得到标签=标签。因此,我们可以使用
可传递的互最邻关系解决视角引起的类内距离大的问题。mnnpl的整个过程大致如下:首先,计算所有特征向量的最近邻关系;其次,利用传递性将整个特征向量空间划分为几个不同的簇,得到伪标签。
33.第五模块:损失函数训练中同时应用了交叉熵损失和三元组损失函数。对所有2048维特征向量通过聚类生成伪标签后,将伪标签与分类器产生的分类结果在一起计算交叉熵损失,使用采样方法来形成小批次,即每个小批次由p个行人的k张图片组成,交叉熵损失可以写成如下形式:形式:是图像属于标签的预测概率。
34.在这一批次中,除了计算分类损失,同样计算难三元组损失,公式如下: 其中、、分别是从锚图像、正样本和负样本中提取的特征,是超边缘参数。
35.总损失是上述两种损失的总和,将它定义为第四部分:徘徊判断在行人检测和重识别这一步骤,我们通过将获得的全景图片输入卷积神经网络,检测行人并提取行人的特征,通过kmnn算法,计算出了所有特征向量的k最近邻,最后又利用传递性划分为几个簇,并分配了伪标签。在这一过程中,我们找到了特征相似行人图片的类。根据最终的伪标签分配结果,我们进行徘徊判断。由于每张全景图片本身带有一些属性信息,如相机id,帧数等,我们在具有相同伪标签的一组相似行人特征中,首先判断行人图片的相机id是否相同,若不同,则排除行人徘徊的可能;若相机id相同,再判断行人图片的帧数间隔是否大于m(m为常数,正常非徘徊停留时长*每秒钟的帧数),若大于m,则认为行人出现了徘徊的行为;若小于m,则认为行人徘徊的可能性不大。
36.本发明的有益效果:第一,将传统方法与深度学习相结合,利用传统方法从实时安防视频中不断获取全景图片帧,把获得的全景图片送入深度学习模型,而且联合了行人检测和行人重识两个任务,不仅简化了完全深度学习方法检测行人徘徊的复杂网络,又提高了传统方法徘徊检测的准确性;第二,对于行人图片背景信息的影响,首次提出了在resnet50网络中同时加入in模块和注意力机制的方法,in(instance normalization)模块将抑制图片背景的影响,注
意力机制将更加关注于行人特征的提取,降低对背景信息的关注,二者的加入有效减少了背景信息对最终行人识别结果的影响。
37.以上仅为本发明的较佳实施例而已。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1