一种面向边缘端行人跟踪和人数精确统计的方法与流程

专利2022-06-28  111


本发明涉及边缘计算场景下基于人工智能部件的行人跟踪和人数统计领域。
背景技术
:随着人们安全意识的普遍提高,监控摄像头已经遍布大街小巷,图像处理、机器视觉等技术的融入使计算机可以代替人脑分析视频中的信息,判断视频中的情况,使监控走向智能化。近些年边缘计算兴起,嵌入式系统以其功耗低、功能专一的特性成为边缘计算的最主要处理平台,使智能监控技术得以大量应用于实际生活中。嵌入式专用芯片的效率远远高于pc,而成本和功耗又大大低于cpu,很多学者设计了嵌入式图像处理的专用芯片,并针对性地设计了行人跟踪和人数统计方法。行人跟踪策略包括利用专用芯片分析的行人颜色,姿态等特征信息进行相似性匹配,或是判断前后两帧检测框的重叠率。人数统计主要是通过跨越检测线触发。现在人工智能技术正在快速落地,同样也在向边缘和终端领域扩展。近年来各大设计厂家针对人工智能算法专门设计了人工智能部件,然而人工智能部件对于部署平台的计算能力要求较高,边缘计算平台的处理能力可能会限制人工智能部件的处理性能,同时各厂大商也倾向于降低人工智能部件的处理性能以满足实际应用中成本和售价的平衡。技术实现要素:鉴于此,本算法的目的是基于人工智能处理部件对实时视频及其相关信息进行智能分析后得出的行人结果信息,设计通用的行人跟踪和人数精确统计方法,使其应用于边缘计算场景时,在人工智能处理部件自身处理能力不足、边缘端处理平台计算能力有限和产品成本定价等资源限制下依旧能精确地进行行人跟踪和人数统计。一种面向边缘端行人跟踪和人数精确统计的方法,其特征在于包括如下步骤:步骤s1:建立并实时维护行人动态跟踪列表,用于动态记录跟踪区域内的行人信息。步骤s2:获取边缘端人工智能处理部件的行人结果信息。步骤s3:提取重要行人结果信息建立行人静态检测列表。步骤s4:将行人静态检测列表和行人动态跟踪列表中的行人进行匹配。步骤s5:根据匹配结果更新行人动态跟踪列表。步骤s6:根据行人动态跟踪列表对统计区域的行人进行人数精确统计。步骤s1中行人动态跟踪列表记录的信息应包括行人的跟踪id、方向、移动半径、丢帧信息。步骤s3中行人静态检测列表记录的信息应包括行人的跟踪id、位置坐标、时间信息。所述算法其特征还在于:边缘端的资源限制,包括人工智能处理部件的自身处理能力受限,边缘端处理平台的计算能力不足,产品成本限制等,都会使实时视频的智能分析过程出现丢帧问题从而导致行人结果信息产生偏差。故步骤s4中所述的匹配过程先进行精确匹配,若精确匹配失败则对精确匹配失败的行人进行智能模糊匹配。步骤s41:精确匹配。根据行人静态检测列表和动态跟踪列表中的跟踪id可判断两个列表中的行人是否为同一人,若跟踪id相同则为同一个人,精确匹配成功,否则精确匹配失败。步骤s42:对精确匹配失败的行人进行智能模糊匹配。对未出现丢帧问题且方向明确的行人,在其运动方向上预测下一帧中可能出现的位置范围,选取静态检测列表中与预测结果相似性最大且超过匹配阈值match_threshoid的行人与之匹配。若match_threshoid为百分数,则0≤match_threshoid≤100%,match_threshoid越接近100%匹配条件越严苛,一般设置在≥80%即可。对未出现丢帧问题但方向不明确的行人,对其在下一帧中可能出现的位置范围进行双向的预测,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配。匹配成功后根据其位置坐标的移动情况可对行人方向做出判断。对出现丢帧问题的行人,计算其丢失帧数n,并将预测范围扩大α×n倍,α为扩大系数,一般情况下匹配范围是以移动半径为半径的圆的一部分,则α=πn2。当n≤lost_threshoid时,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配。lost_threshoid为丢帧阈值,一般可置lost_threshoid=3。对于方向发生更改的行人,经过上述步骤无法成功匹配,此时对其在下一帧中可能出现的位置范围进行反向的预测,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配。若匹配成功后记录其方向产生过突变。步骤s5对行人动态跟踪列表的更新内容包括:动态跟踪列表中没有匹配成功的行人,记录丢帧信息。静态检测列表中没有匹配成功的行人,记为新人,判断方向并加入动态跟踪列表。走出跟踪区域或丢帧数大于lost_threshoid的行人,删除动态跟踪列表。所述算法其特征还在于:将方向作为智能模糊匹配指标更好地提升了人数统计的精确性。静态检测列表中的行人被判断为新人时,根据其初始位置坐标判断其方向。若行人初始位置坐标位于跟踪区域上部,一般认为是跟踪区域的上1/3部分,判断方向为入。若行人初始位置坐标位于跟踪区域下部,一般认为是跟踪区域的下1/3部分,判断方向为出。若行人初始位置坐标位于跟踪区域其他部位,认为无法判断其方向,根据步骤s42中对未出现丢帧问题但方向不明确的行人的处理方式可对其方向进行延迟确认从而对方向做出正确判断。步骤s6的人数精确统计过程包括:步骤s61:建立并维护行人动态统计列,表用于人数精确统计。步骤s62:对统计区域内的行人进行人数精确统计,具体如下:若行人方向已知且第一次进入统计区域,记录总人数和其方向上的总人数。若行人方向未知且第一次进入统计区域,只记录总人数,对其方向上的总人数采用智能延迟计数策略。若行人方向突变且第一次进入统计区域,总人数增加,不进行带方向的计数。步骤s63:当行人被正常计数并离开统计区域或在统计区域内但丢帧数大于lost_threshoid,将其从行人动态统计列表中删除。行人动态跟踪信息不明确时无法进行人数精确统计,所述算法对该类行人做智能延迟计数处理,具体为:若行人进入统计区域但未确定方向,不予计数,直至经过上述行人跟踪过程确定了方向后才进行计数。若行人还未被正常计数但已走出统计区域,不予删除,直至经过上述行人跟踪过程确定了方向并正常计数后才予以删除。若行人还未被正常计数但丢帧数大于lost_threshoid,予以删除。考虑设置的统计区域和lost_threshoid的实际情况,若认为该行人不会在统计区域被再次检测到则将该行人计入总数,否则予以忽略。所述算法中除智能延迟计数策略外,都只有行人在第一次进入统计区域时才进行计数,行人在统计区域中逗留时虽然还在行人动态统计列表中,但不重复计数。根据权力要求1所述,本算法特征还在于:对行人在下一帧中可能出现的位置范围的划定方法。划定过程详述如下:一种最粗略的方法是将预测范围划定在以行人质心为圆心,移动半径为半径的整圆内。进一步,所述方法将方向也作为重要匹配指标,方向的限制帮我们把预测范围由整圆缩小至在其移动方向上的半圆内。该半圆具体为:以行人质心为端点,做平行于移动方向的射线,穿过端点且垂直于该射线的直线可将整圆划分为半圆,取包含该射线的半圆即可。更进一步,受智能分析的前后两个视频帧的时间差一定在1秒之内,而行人在1秒内移动方向不会产生巨大的改变,具体来说行人在其移动方向上偏向左或右的角度不会大于45°,故预测范围缩小至上述半圆中半径与该射线夹角<45°和>-45°的扇形内。所述算法其优点在于:(1)为边缘端人工智能部件提供的行人结果信息设计了通用的行人跟踪和人数精确统计方法,该方法可通用于各种检测模型,如人脸检测,行人检测,头肩检测等,精确匹配条件可以根据实际情况改变,可以进行单向或双向的人数统计,具有很好的可扩展性和通用性。(2)兼顾了人工智能处理部件自身处理能力有限、边缘端处理平台的计算能力不足和产品成本定价等资源限制问题导致的行人结果信息出错使人数统计精度下降的问题,在精确匹配的基础上加入了智能模糊匹配,使行人跟踪和人数统计更加精确。附图说明:图1算法流程图图2为粗略预测范围示意图图3为带方向预测范围示意图图4为带角度的预测范围示意图图5为带匹配距离系数的预测范围示意图图6为双向匹配预测范围示意图图7为反向匹配预测范围示意图具体实施方式:下面将结合本发明的实施例,对本发明的技术方案进行清楚、完整地描述,所举实例仅用于解释本发明,并非限定本发明的应用。在本实施例中,人工智能部件为我们提供的行人结果信息包括行人的跟踪id、位置坐标、当前帧号seqcurr、人脸特征向量等。人工智能部件性能良好,处理速率为每秒12帧,但边缘端处理平台对于视频帧的预处理能力有限,只能达到每秒3帧,故每隔固定帧数framestep(我们称之为检测帧ofps)进行分析,本实施例中framestep=7,组间以相同的视频帧作为人工智能部件的输入数据,这必然导致人工智能部件处理性能下降,行人跟踪id不准确。本发明提供一种面向边缘端行人跟踪和人数精确统计的方法,具体过程如下:步骤s1:建立并实时维护行人动态跟踪列表和行人动态统计列表,行人动态跟踪列表用于动态记录跟踪区域内的行人信息,当行人进入统计区域时将其加入行人动态统计列表,两列表应包括以下4个特征:1)跟踪id:包含在人工智能部件提供的行人结果信息中。2)移动方向d:如果行人的初始位置坐标位于跟踪区域的上1/3部分,我们认为行人是入方向,使其携带入方向属性,记d=in。如果行人的初始位置坐标位于跟踪区域的下1/3部分,我们认为行人是出方向,使其携带出方向属性,记d=out。如果行人的初始位置坐标位于跟踪区域的其他部分,无法判断方向,不携带方向属性,对其方向进行延迟确认。3)移动半径r:定义为行人从进入跟踪区域开始到当前为止每个检测帧移动的平均距离。设行人进入跟踪区域的初始质心坐标为(xorgi,yorgi),当前帧质心坐标为(xcurr,ycurr),初始帧号为seqorgi,当前帧号为seqcurr,则4)丢帧号seqlost:未丢帧时seqlost=-1,如果经过一轮算法后未将其和行人静态检测列表中任一行人成功匹配,记录丢帧,seqlost=seqcurr。步骤s2:从人工智能部件获取当前视频帧的行人结果信息,在此基础上建立行人静态检测列表,将静态检测列表的行人和动态跟踪列表的行人进行匹配。所述算法匹配的基本原则为:首先进行精确匹配,即若跟踪id相同则精确匹配成功,否则根据智能模糊匹配方法,如果动态跟踪列表中的行人方向已知,那么在静态检测列表中选取位于其移动方向上的,在预测范围内且距离最近的行人与之匹配。所述算法的预测范围我们做出如下分析:一种最粗略的做法可以将预测范围划定在是以行人质心(xcurr,ycurr)为圆心,以移动半径r为半径的圆内,如图2所示。由算法基本匹配原则可知加上移动方向d的限制可帮我们把预测范围由图2缩小至图3,为在其移动方向上的半圆内。但此算法还可以进行双向的人数统计,故可能会出现两个相向而行的行人,在还没有擦肩而过之前越走越近(如图4中id2和id1两个行人所示)导致匹配出错的情况。故只将预测范围缩小至图3还不够,我们认为两个行人会尽量避免相撞,故当其迎面而走但过于相近时会相互避让进而产生如图4中的角度,并且受智能分析的前后两个视频帧的时间差一定在1秒之内,而行人在1秒内移动方向不会产生巨大的改变,具体来说行人在其移动方向上偏向左或右的角度不会大于45°,因此我们将预测范围进一步缩小至图4,为半径与该射线夹角<45°和>-45°的扇形内。综上本算法认为对于位于图4阴影之外的部分也不属于预测范围(故图4中我们认为id3是id1更好的智能模糊匹配对象)。所述算法使用匹配表格进行分析,横向代表动态跟踪列表中的行人,纵向代表静态检测列表中的行人。表格中可能出现的值及其含义如下表:数值含义-2不在预测范围内-1已经匹配过0跟踪id相同distance(其他值)两个行人质心相对距离填表过程如下:步骤s21:如果两者跟踪id相同,说明人工智能部件分析得出两人是同一人,精确匹配结束,填写0步骤s22:如果静态检测列表中的行人不在动态跟踪列表中行人的预测范围内,填写-2.步骤s23:否则计算距离填入distance。步骤s3:依次从表格中取出除-2外的最小值distancemin,若同时满足如下关系:1)其对应的动态跟踪列表的行人和静态检测列表的行人均没有被匹配过。2)设min_coefficient为匹配距离最小系数,max_coefficient为匹配距离最大系数,则min_coefficient×r≤distancemin≤max_coefficient×r,此步骤中将预测范围做了进一步精确,如图5所示。min_coefficient和max_coefficient可以根据实际情况在0-1范围内选取最佳值。如果match_threshoid=80%,可置min_coefficient=0.9,max_coefficient=1.1。我们认为两个行人成功匹配,并将对应项置-1,表示两个行人已经被匹配。由于人工智能部件性能下降导致的丢帧问题对行人跟踪和人数精确统计的精确性都会造成影响,故经过上述三个步骤后我们对没有匹配成功的行人接着进行智能模糊匹配。具体如步骤s4所示:步骤s1中所述的移动方向d的延迟确认策略具体为:我们对动态跟踪列表中方向不明确的行人进行双向范围的匹配,即将预测范围由图5扩充至图6,选取在此范围内距离最近的行人与之匹配,匹配成功后,根据其质心的移动方向即可确认该行人的移动方向。丢帧补偿策略:通过计算我们可以得到该行人丢失了几个检测帧ofps,计算公式为相应地我们将匹配的移动半径r也扩大n倍。即mincoefficient×r×n<distancemin<max_coefficient×r×n。当n>lost_threshoid时将该行人从行人动态跟踪列表删除。若framestap=7,lost_threshoid=3。行人方向的突变:若经过上述判断后,仍有未被成功匹配的行人,我们考虑是否其移动方向发生了变更,故对其进行如图7的反向匹配,若匹配成功,标记其方向突变。在人数精确统计时我们对其进行总人数的计算,但是不进行带方向的统计。步骤s5:根据精确匹配和智能模糊匹配结果对行人动态跟踪列表进行更新。动态跟踪列表中没有匹配成功的行人,记录seqlost=seqcurr。静态检测列表中没有匹配成功的行人,记为新人,判断移动方向d,加入动态跟踪列表。走出跟踪区域或丢帧数大于lost_threshoid的行人,删除动态跟踪列表。步骤s6:对统计区域的行人进行人数精确统计,具体为:步骤s61:若行人第一次进入统计区域且d=in,总人数增加,in方向人数增加。若行人第一次进入统计区域且d=out,总人数增加,out方向人数增加。若行人第一次进入统计区域且方向未知,只记录总人数,对其方向上的总人数采用智能延迟计数策略。若行人第一次进入统计区域且携带方向突变属性,总人数增加,不进行带方向的计数。步骤s62:当行人被正常计数并离开统计区域或在统计区域的丢帧数大于lost_threshoid后,将其从动态统计列表中删除。步骤s61中所述智能延迟计数策略具体为:若行人进入统计区域但未确定方向,不予计数,直至经过上述行人跟踪过程确定了方向后才进行计数。若行人还未正常计数但已走出统计区域,不予删除,直至经过上述行人跟踪过程确定了方向并正常计数后才予以删除。若行人还未正常计数但丢帧数大于lost_threshoid,予以删除。考虑设置的统计区域和lost_threshoid的实际情况,若该行人不会在统计区域被再次检测到则将该行人计入总数,否则予以忽略。所述算法中除延迟计数策略外,都只有行人在第一次进入统计区域时才进行计数,行人在动态统计区域中逗留时虽然还在统计列表中,但不重复计数。当前第1页1 2 3 
技术特征:

1.一种面向边缘端行人跟踪和人数精确统计的方法,其特征在于,包括如下步骤:

步骤s1:建立并实时维护行人动态跟踪列表,用于动态记录跟踪区域内的行人信息;

步骤s2:获取边缘端人工智能处理部件的行人结果信息;

步骤s3:提取重要行人结果信息建立行人静态检测列表;

步骤s4:将行人静态检测列表和行人动态跟踪列表中的行人进行匹配;

步骤s5:根据匹配结果更新行人动态跟踪列表;

步骤s6:根据行人动态跟踪列表对统计区域的行人进行人数精确统计;

步骤s1中行人动态跟踪列表记录的信息应包括行人的跟踪id、方向、移动半径、丢帧信息;

步骤s3中行人静态检测列表记录的信息应包括行人的跟踪id、位置坐标、时间信息;

故步骤s4中所述的匹配过程先进行精确匹配,若精确匹配失败则对精确匹配失败的行人进行智能模糊匹配;

步骤s41:精确匹配;

根据行人静态检测列表和动态跟踪列表中的跟踪id可判断两个列表中的行人是否为同一人,若跟踪id相同则为同一个人,精确匹配成功,否则精确匹配失败;

步骤s42:对精确匹配失败的行人进行智能模糊匹配;

对未出现丢帧问题且方向明确的行人,在其运动方向上预测下一帧中可能出现的位置范围,选取静态检测列表中与预测结果相似性最大且超过匹配阈值match_threshoid的行人与之匹配;若match_threshoid为百分数,则0≤match_threshoid≤100%,match_threshoid设置在≥80%即可;

对未出现丢帧问题但方向不明确的行人,对其在下一帧中可能出现的位置范围进行双向的预测,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配;匹配成功后根据其位置坐标的移动情况对行人方向做出判断;

对出现丢帧问题的行人,计算其丢失帧数n,并将预测范围扩大α×n倍,α为扩大系数,匹配范围是以移动半径为半径的圆的一部分,则α=πn2;当n≤lost_threshoid时,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配;lost_threshoid为丢帧阈值,lost_threshoid=3;

对于方向发生更改的行人,经过上述步骤无法成功匹配,此时对其在下一帧中可能出现的位置范围进行反向的预测,选取静态检测列表中与预测结果相似性最大且超过match_threshoid的行人与之匹配;若匹配成功记录其方向产生突变;

步骤s5对行人动态跟踪列表的更新内容包括:

动态跟踪列表中没有匹配成功的行人,记录丢帧信息;

静态检测列表中没有匹配成功的行人,记为新人,判断方向并加入动态跟踪列表;

走出跟踪区域或丢帧数大于lost_threshoid的行人,删除动态跟踪列表。

2.根据权利要求1所述的方法,其特征在于:静态检测列表中的行人被判断为新人时,根据其初始位置坐标判断其方向;若行人初始位置坐标位于跟踪区域上部,一般认为是跟踪区域的上1/3部分,判断方向为入;若行人初始位置坐标位于跟踪区域下部,一般认为是跟踪区域的下1/3部分,判断方向为出;若行人初始位置坐标位于跟踪区域其他部位,认为无法判断其方向,根据步骤s42中对未出现丢帧问题但方向不明确的行人的处理方式可对其方向进行延迟确认从而对方向做出正确判断。

3.根据权利要求1所述的方法,其特征在于:步骤s6的人数精确统计过程包括:

步骤s61:建立并维护行人动态统计列,表用于人数精确统计;

步骤s62:对统计区域内的行人进行人数精确统计,具体如下:

若行人方向已知且第一次进入统计区域,记录总人数和其方向上的总人数;

若行人方向未知且第一次进入统计区域,只记录总人数,对其方向上的总人数采用智能延迟计数策略;

若行人方向突变且第一次进入统计区域,总人数增加,不进行带方向的计数;

步骤s63:当行人被正常计数并离开统计区域或在统计区域内但丢帧数大于lost_threshoid,将其从行人动态统计列表中删除。

4.根据权利要求1所述的方法,其特征在于:行人动态跟踪信息不明确时无法进行人数精确统计,所述算法对该类行人做智能延迟计数处理,具体为:

若行人进入统计区域但未确定方向,不予计数,直至经过上述行人跟踪过程确定了方向后才进行计数;

若行人还未被正常计数但已走出统计区域,不予删除,直至经过上述行人跟踪过程确定了方向并正常计数后才予以删除;

若行人还未被正常计数但丢帧数大于lost_threshoid,予以删除;考虑设置的统计区域和lost_threshoid的实际情况,若认为该行人不会在统计区域被再次检测到则将该行人计入总数,否则予以忽略;

所述算法中除智能延迟计数策略外,都只有行人在第一次进入统计区域时才进行计数,行人在统计区域中逗留时虽然还在行人动态统计列表中,但不重复计数。

5.根据权利要求1所述的方法,其特征在于:对行人在下一帧中可能出现的位置范围的划定方法,具体如下:

将预测范围划定在以行人质心为圆心,移动半径为半径的整圆内;

方向的限制把预测范围由整圆缩小至在其移动方向上的半圆内;该半圆具体为:以行人质心为端点,做平行于移动方向的射线,穿过端点且垂直于该射线的直线可将整圆划分为半圆,取包含该射线的半圆即可;

前后两个视频帧的时间差一定在1秒之内,其移动方向上偏向左或右的角度不会大于45°,故预测范围缩小至上述半圆中半径与该射线夹角<45°和>-45°的扇形内。

技术总结
一种面向边缘端行人跟踪和人数精确统计的方法,涉及边缘计算场景下基于人工智能部件的行人跟踪和人数统计领域。该方法初始时建立并实时维护行人动态跟踪列表。从边缘端的人工智能部件获取行人结果信息,并在其基础上建立行人静态检测列表。将行人静态检测列表和行人动态跟踪列表进行精确匹配。边缘端的成本及性能限制使得边缘端计算能力有限会导致行人精确匹配失败。此时,该方法将根据行人动态跟踪信息对行人进行智能模糊匹配。根据匹配后的结果实时更新行人动态跟踪列表,并对统计区域内的行人进行人数精确统计,若精确统计失败,所述方法对该行人使用延迟计数策略。

技术研发人员:黄樟钦;盛梦雪;张硕;李洪亮
受保护的技术使用者:北京工业大学
技术研发日:2020.01.21
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9893.html

最新回复(0)