一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种跨镜头行人实时轨迹分析方法及系统与流程

2022-11-16 13:24:52 来源:中国专利 TAG:


1.本发明涉及行人识别领域,特别涉及一种跨镜头行人实时轨迹分析方法及系统。


背景技术:

2.目前跨镜头的轨迹跟踪其核心是依靠行人重识别(reid)技术进行人员的特征提取,实现跨镜头下的人员id匹配。
3.现在也有很多学者研究基于行人重识别进行跨镜头的行人轨迹跟踪,然而大部分都是基于特定目标的跨镜头检索,或者说是被动的轨迹追踪,对最近的视频段进行检索,找出其历史轨迹,例如专利公开号cn109344787a公开了一种基于人脸识别与行人重识别的特定目标跟踪方法,该方法就是利用行人检测技术检测出行人后结合人脸识别、行人重识别技术对特定的目标库进行跟踪,未考虑无底库下的人员主动轨迹跟踪。
4.专利公开号cn109934104a公开了一种基于行人重识别的跨镜头的行人检索方法及系统,该系统对跨镜头视频进行行人检测以及跟踪,然后对分割出的行人提取重识别特征并与特征数据库进行匹配,该系统有考虑了特征底库不含匹配特征时主动跟踪的情况,然而只是简单的将新人入库,而实际场景中,行人图片姿态各异、遮挡等,简单的随机挑选入库必然导致特征库不够鲁棒,影响后续匹配效果。
5.在实际的跨镜头主动跟踪场景应用中,因为检测、识别性能速度的受限,常常无法支持多路下的实时主动跟踪,专利公开号cn111291633a公布了一种实时行人重识别方法及装置,该方法主要利用设定缓存队列,并对前后帧之间做帧差法,筛选状态发生变化且灰度值高于一定阈值的图像帧进行处理,然而现实中光照变化、风吹草动等都可能误检,导致筛选失效。


技术实现要素:

6.为了解决上述技术问题,本发明的技术方案的基本思路是:
7.一方面,本发明提供一种跨镜头行人轨迹实时分析方法,包括以下步骤:
8.s1:获取多个摄像头的监控视频,将监控视频存入缓存队列;
9.s2:获取视频帧中的行人框以及行人框质量分数,并存储到第一存储器中:
10.对于首帧视频,从缓存队列输入视频帧,获取视频帧中所有行人的行人框,再根据所述行人框计算该行人的行人框质量分数,将行人框以及对应的行人框质量分数作为该行人的行人位置信息,而后将每个行人的行人位置信息存入第一存储器中;
11.对于新一帧的视频,从缓存队列中输入新一帧视频帧,获取视频帧中所有行人的行人框,通过与第一存储器中存储的所有行人框进行比对判断是否为同一行人,若为同一行人,则将行人位置信息加入到第一存储器中该行人信息中,若不是同一人,则将行人位置信息存储到第一存储器中;
12.s3:行人reid特征提取:将行人框质量分数满足阈值的的行人框输入到reid 特征提取网络中提取reid特征;
13.s4:行人id确定:对于未确定行人id的行人,将其reid特征与特征数据库中的特征值分别计算相似度,若最高相似度超过阈值,则取最高相似度对应的 id为该行人id,并将reid特征按特征库更新规则更新到特征数据库中;反之,则赋予该行人新id,并将行人信息加入到特征数据库中;
14.s5:根据行人在视频帧中的位置信息、对应视频帧的时间信息、对应视频帧来源的摄像头位置信息,生成该id行人的行人轨迹。
15.进一步的,步骤s2中,对于新一帧的视频,从缓存队列中输入视频帧,获取视频帧中所有行人的行人框,通过与第一存储器中存储的所有行人框进行比对判断是否为同一行人,具体为:
16.与首帧视频帧相隔n的倍数帧的视频帧,将该视频帧输入到行人检测模块进行行人检测,获得该视频帧中的所有行人框,而后按照预设的规则计算每个行人框的行人框质量分数;计算视频帧中的行人框与第一存储器中的行人框的iou 值,通过iou值来判断两者是否与为同一行人;
17.与首帧视频帧相隔不为n的倍数帧的视频帧,输入行人跟踪模块,利用第一存储器中的行人框,预测当前帧下的的行人框,计算每个行人框的行人框质量分数。
18.进一步的,所述步骤s5还包括:对于已确定行人id的行人,将其reid特征按特征库更新规则更新到特征数据库中。
19.进一步的,所述特征库更新规则为:若特征数据库中该行人id下的特征数量小于阈值时,则添加进特征数据库,若特征数据库中该行人id下的特征数量超过阈值,则将待加入的行人信息与特征数据库中已储存的该行人信息进行比较行人图片质量分数,若图片质量分数大于任意一个已存储的行人框质量分数,则替换行人框质量分数最小的一项,替换内容包括reid特征以及行人框质量分数。
20.进一步的,所述iou表示当前帧行人pi与另一行人pj的相交,计算方法为: iou=(rect(pi)∩rect(pj))/(rect(pi)∪rect(pj))
21.rect(pi)表示行人pi的行人框信息,rect(pj)表示另一行人pj的行人框框信息;
22.∩代表取交集,∪代表取并集。
23.进一步的,所述的行人跟踪模块,可以利用常见的目标跟踪算法,如相关滤波算法csk、kcf/dcf,cn。
24.进一步的,所述reid特征提取网络采用resnet50作为基础网络,然后使用开源行人重识别数据集market1501数据集训练后实现。
25.进一步的,所述行人框质量分数公式为:
26.pscore=w1·
(1-occlusion_rate) w2·
constrast_rate w3·
area_rate,
27.其中,其中w_i(i=1,2,3)表示归一化权重,且w_1 w_2 w_3=1;
28.其中,occlusion_rate表示行人互遮挡率,即为当前帧行人pi与所有其他行人pj的最大相交,
[0029][0030]
rect(pi)表示行人pi的行人框信息,rect(pj)表示另一行人pj的行人框框信息;
[0031]
∩代表取交集,∪代表取并集;
[0032]
其中,contrast_rate代表该行人框的对比度信息,表示为:
[0033]
contrast_rate=(max(pixel_value)-min(pixel_value))/255
[0034]
其中max(pixel_value)表示区域的最大像素值,min(pixel_value)表示区域的最大像素值。
[0035]
其中,(area_rate)刻画行人框的大小,表示为:
[0036][0037]
其中area(pi)表示pi行人框的面积,max
j=1:n
(area(pj))表示当前帧中最大的行人框面积。
[0038]
另一方面,本发明提供一种跨镜头行人实时轨迹分析系统,包括:
[0039]
视频采集模块,用于获取多个摄像头的监控视频;
[0040]
缓存队列模块,用于将缓存监控视频;
[0041]
行人检测模块,用于对视频帧进行行人框检测;
[0042]
行人框质量分数计算模块,用于对行人框进行行人框质量分数计算;
[0043]
第一存储器模块,用于存储行人信息,当输入的视频帧中的行人与第一存储器模块中已存储的行人为同一人,则将新输入的视频帧的行人相关信息加入到第一存储器模块中该行人信息中,反正,则将新输入的视频帧的行人相关信息存储到第一存储器模块中;
[0044]
行人reid特征提取模块,用于提取行人框通过reid特征提取网络中提取 reid特征;
[0045]
行人reid特征匹配模块,用于对新输入的reid特征与特征数据库中的特征值分别计算相似度,若最高相似度超过阈值,则取最高相似度对应的id为该行人id;反之,则赋予该行人新id;
[0046]
特征数据库更新模块,用于对已存在id的新增reid特征,按规则对特征数据库进行更新,对新增的id的reid特征进行入库;
[0047]
行人轨迹输出模块,用于记录所有行人的轨迹信息,以及对每个id输出行人轨迹。
[0048]
相对于现有技术,本发明具有如下有益效果:
[0049]
本方案针对多路摄像头,通过设置缓存机制将监控视频存入缓存队列,根据硬件性能匹配缓存大小,减少视频帧丢失,同时,从缓存队列中读取视频帧可以对视频帧按帧号顺序进行处理,提高视频来源的准确性;
[0050]
本发明方案将进入第一存储器中的行人框进行行人框质量计算,通过设置的机制预先筛选出需要特征提取的行人框,减少特征提取的次数,减少计算资源的浪费以及系统的消耗,也有利于实时场景的应用,同时,因同一行人在视频中的图片繁多且姿态各异,经常出现被遮挡的情况,引入行人框质量筛选机制,可以解决行人框图片如何入库、可以提高特征匹配的效果以及特征库的鲁棒性;
[0051]
因为不需要提前有特征底库,因此可以主动进行检测到的行人的轨迹记录,满足未来事前的预警,比如根据轨迹的徘徊、逗留找出可能的危险人物。从事后被动检索变为主动的轨迹跟踪分析,实现危险事前预警。
附图说明
[0052]
图1为本发明跨镜头实时行人轨迹分析方法流程图;
[0053]
图2为本发明跨镜头实时行人轨迹分析系统结构框图。
[0054]
图中,1-视频采集模块,2-缓存队列模块,3-行人检测模块,4-行人框质量分数计算模块,5-第一存储器模块,6-行人reid特征提取模块,7-行人reid 特征匹配模块,8-特征数据库更新模块,9-行人轨迹输出模块。
具体实施方式
[0055]
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0056]
s1:获取多个摄像头的监控视频,将监控视频存入缓存队列;
[0057]
具体的,获取多个摄像头的监控视频的方式可以为,将计算机与各路监控摄像头相连,获取摄像头视频流,其中一种可能的方式是将各路摄像头通过网络与交换机相连,然后计算机也与该交换机相连,通过设置摄像头的rtsp地址以及用户名和密码,进而根据rtsp协议获取实时的摄像头视频流;
[0058]
具体的,将监控视频存入缓存队列的方式可以为:
[0059]
根据摄像头的路数,设定多线程数量,每个线程处理一路摄像头采集,将视频帧以及帧号存入缓存队列,以便后续的视频处理。具体可支持摄像头路数根据计算机性能以及资源消耗情况来定,本实施例中计算机cpu i7、1070显卡可支持四路摄像头,因此开启4个线程用于最多4路的视频流处理。需要说明的是,这里设置缓存队列的意义在于,后续的图像处理性能无法赶上视频帧率,因此设计缓存队列用于缓存积累的视频帧,减少帧丢失,但允许丢失。缓存队列的缓存大小根据视频帧行人检测、跟踪、以及reid特征提取的性能而定,一种实施例中缓存大小设为20,当输入超20帧时,将最先进入的视频帧丢弃。
[0060]
s2:获取视频帧中的行人框以及行人框质量分数,并存储到第一存储器中:
[0061]
对于首帧视频,从缓存队列输入视频帧,获取视频帧中所有行人的行人框,再根据所述行人框计算该行人的行人框质量分数,将行人框以及对应的行人框质量分数作为该行人的行人位置信息,而后将每个行人的行人位置信息存入第一存储器中;
[0062]
本发明实施例中,当缓存队列中存在视频帧时,从缓存队列中按先入先出的准则读取视频帧,即按缓存中的帧号依次输入视频帧。
[0063]
首帧帧号设为0,输入行人检测网络模型,获取视频帧中所有行人框。这里的行人检测模型,可以采用主流的one-stage深度学习检测网络模型,如yolo 系列(yolo v1\yolo v2\yolo v3)、ssd或者retinaface等现成的开源检测模型。
[0064]
将检测出的行人框计算行人框质量分数,将行人框以及对应的行人框质量分数作为该行人的行人位置信息,而后将每个行人的行人位置信息存入第一存储器中;需要说明的是,这里设置行人框质量分数计算在于:因行人间可能并排行走导致互相遮挡、或是对比度低等因素,若将所有人每一帧都进行reid特征提取,必然导致计算资源的浪费,系统时间也消耗大,同时行人框质量差也影响匹配效果以及行人特征库的鲁棒性。行人质量计算方式为:
[0065]
pscore=w1·
(1-occlusion_rate) w2·
constrast_rate w3·
area_rate,
[0066]
其中,w_i(i=1,2,3)表示归一化权重,且w_1 w_2 w_3=1;
[0067]
其中,occlusion_rate表示行人互遮挡率,即为当前帧行人pi与所有其他行人pj的最大相交,
[0068][0069]
rect(pi)表示行人pi的行人框信息,rect(pj)表示另一行人pj的行人框框信息;∩代表取交集,∪代表取并集;
[0070]
其中,contrast_rate代表该行人框的对比度信息,表示为:
[0071]
contrast_rate=(max(pixel_value)-min(pixel_value))/255
[0072]
其中max(pixel_value)表示区域的最大像素值,min(pixel_value)表示区域的最大像素值。
[0073]
其中,(area_rate)刻画行人框的大小,表示为:
[0074][0075]
其中area(pi)表示pi行人框的面积,max
j=1:n
(area(pj))表示当前帧中最大的行人框面积。
[0076]
对于新一帧的视频,从缓存队列中输入视频帧,获取视频帧中所有行人的行人框,通过与第一存储器中存储的所有行人框进行比对判断是否为同一行人,若为同一行人,则将行人位置信息加入到第一存储器中该行人信息中,若不是同一人,则将行人位置信息存储到第一存储器中;
[0077]
上述步骤中,获取视频帧中所有行人的行人框,通过与第一存储器中存储的所有行人框进行比对判断是否为同一行人,具体为:
[0078]
与首帧视频帧相隔n的倍数帧的视频帧,将该视频帧输入到行人检测模块进行行人检测,获得该视频帧中的所有行人框,这里的n可以根据计算机性能设置,这里设为5。而后按照预设的规则计算每个行人框的行人框质量分数;计算视频帧中的行人框分别与第一存储器中的所有行人框的iou值,通过iou值是否满足阈值来判断两者是否为同一行人;若iou值满足阈值,判定为是同一行人,将行人框信息加入到第一存储器中该行人信息中;若iou值不满足阈值,则判定为新的行人,另设一行人信息项,将行人框信息直接存储到第一存储器中。
[0079]
以上关于iou值表示当前帧行人pi与另一行人pj的相交,计算方法为:
[0080]
iou=(rect(pi)∩rect(pj))/(rect(pi)∪rect(pj)),
[0081]
rect(pi)表示行人pi的行人框信息[x,y,w,h],rect(pj)表示另一行人pj的行人框框信息;
[0082]
∩代表取交集,∪代表取并集。
[0083]
与首帧视频帧相隔不为n的倍数帧的视频帧,本方案中将不再进行行人检测,而是输入行人跟踪模块,利用第一存储器中的行人框,预测当前帧下的的行人框,计算每个行人框的行人框质量分数。即,此时的视频帧中预测出的行人框都是第一存储器中出现过的行人,也即都对应在第一存储器中有同一行人,将当前帧的行人框信息加入到第一存储器中
该行人信息中。
[0084]
具体的,以上所述的行人跟踪模块,可以利用常见的目标跟踪算法,如相关滤波算法csk、kcf/dcf,cn等。
[0085]
s3:行人reid特征提取:将行人框质量分数满足阈值的的行人框输入到reid 特征提取网络中提取reid特征;
[0086]
第一存储器中的行人信息包含了行人框、行人框质量分数。将当前视频帧中所有的行人的行人信息进行筛选,将pscore》t的行人框输入到reid特征提取网络中提取reid特征。这里t根据实际效果而定,这里设为0.7。
[0087]
具体的,这里的reid特征提取网络可以借鉴学术界常见的reid深度学习网络,例如可以采用resnet50作为基础网络,然后使用开源行人重识别数据集 market1501数据集训练,训练过程,根据训练集类别数,修改网络最后的输出层大小,loss函数可以结合softmax_loss以及三元组triplet loss,网络训练完成后,利用average pool层输出的特征向量并进行归一化作为最后的图片表征向量,这里的特征向量维度为2048。
[0088]
s4:行人id确定:对于未确定行人id的行人,将其reid特征与特征数据库中的特征值分别计算相似度,这里的相似度计算方法采用特征距离计算,若最高相似度超过阈值,则取最高相似度对应的id为该行人id,并将reid特征按特征库更新规则更新到特征数据库中;反之,若特征数据库中不存在特征或者最相似特征距离不满足阈值,则赋予该行人新id,并将行人信息加入到特征数据库中;行人信息包含reid特征、行人id、行人框质量分数。id确定后将该行人框图像存储与相应的id下,并于对应特征位置做记录以备检索查看。
[0089]
上述步骤还包括:对于已确定行人id的行人,将其reid特征按特征库更新规则更新到特征数据库中。
[0090]
所述特征库更新规则为:若特征数据库中该行人id下的特征数量小于阈值时,则添加进特征数据库,若特征数据库中该行人id下的特征数量超过阈值,则将待加入的行人信息与特征数据库中已储存的该行人信息进行比较行人图片质量分数,若图片质量分数大于任意一个已存储的行人框质量分数,则替换行人框质量分数最小的一项,替换内容包括reid特征以及行人框质量分数。
[0091]
s5:根据行人在视频帧中的位置信息、对应视频帧的时间信息、对应视频帧来源的摄像头位置信息,生成该id行人的行人轨迹。轨迹信息包含行人id、摄像头位置、时间信息。
[0092]
本方案中,因为不需要提前有特征底库,因此可以主动进行检测到的行人的轨迹记录,满足未来事前的预警,比如根据轨迹的徘徊、逗留找出可能的危险人物。
[0093]
一种跨镜头行人实时轨迹分析系统,包括:
[0094]
视频采集模块1,用于获取多个摄像头的监控视频;
[0095]
缓存队列模块2,用于将缓存监控视频;
[0096]
行人检测模块3,用于对视频帧进行行人框检测;
[0097]
行人框质量分数计算模块4,用于对行人框进行行人框质量分数计算;
[0098]
第一存储器模块5,用于存储行人信息,当输入的视频帧中的行人与第一存储器模块中已存储的行人为同一人,则将新输入的视频帧的行人相关信息加入到第一存储器模块中该行人信息中,反正,则将新输入的视频帧的行人相关信息存储到第一存储器模块中;
[0099]
行人reid特征提取模块6,用于提取行人框通过reid特征提取网络中提取 reid特
征;
[0100]
行人reid特征匹配模块7,用于对新输入的reid特征与特征数据库中的特征值分别计算相似度,若最高相似度超过阈值,则取最高相似度对应的id为该行人id;反之,则赋予该行人新id;
[0101]
特征数据库更新模块8,用于对已存在id的新增reid特征,按规则对特征数据库进行更新,对新增的id的reid特征进行入库;
[0102]
行人轨迹输出模块9,用于记录所有行人的轨迹信息,以及对每个id输出行人轨迹。
[0103]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献