行人热力图生成方法及系统与流程

文档序号:31639383发布日期:2022-09-24 07:08阅读:197来源:国知局
行人热力图生成方法及系统与流程

1.本公开涉及计算机技术领域,尤其涉及一种行人热力图生成方法及系统。


背景技术:

2.计算机视觉是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等,并进一步做图形处理,使计算机处理成为更适合人眼观察或传送给仪器检测的图像。
3.在智慧零售、智慧金融等场景下,可以利用计算机视觉显示人群密度分布。


技术实现要素:

4.根据本公开的一个方面,提供了一种行人热力图生成方法,包括:获取包含行人的图像数据并确定至少一个行人在场景内的坐标;基于所述至少一个行人的坐标,将所述至少一个行人分别统计在将所述场景进行划分获得的多个网格中对应的网格内;以及统计所述多个网格的各个网格内的行人的数量,以绘制所述场景内的所述行人热力图。
5.在一些实施例中,基于所述至少一个行人的坐标,将所述至少一个行人分别统计在将所述场景进行划分获得的多个网格中对应的网格内,包括:基于预定细粒度将所述场景划分为所述多个网格;以及基于所述至少一个行人的坐标和所述多个网格,将所述至少一个行人分别统计在对应的网格内。
6.在一些实施例中,基于所述至少一个行人的坐标和所述多个网格,将所述至少一个行人分别统计在对应的网格内包括:在所述场景的坐标系中对所述多个网格中的每个网格赋予索引值;利用所述多个网格中每个网格的长度值和宽度值,沿所述多个网格的长度方向和宽度方向分别对所述至少一个行人的每一个行人的长度方向和宽度方向的坐标取商值,以获取每一个行人的该坐标值对应的第一坐标商值和第二坐标商值;以及将所述第一坐标商值和所述第二坐标商值与每个网格的索引值进行比较以将每一个行人统计在对应的网格内。
7.在一些实施例中,获取包含行人的图像数据并确定至少一个行人在场景内的坐标包括:每隔第一预定时间的多个图像数据采集时刻分别采集所述场景内的所述行人的图像数据;以及统计所述多个网格的各个网格内的行人的数量包括:针对每个图像数据采集时刻采集到的图像数据对所述各个网格内的行人进行计数,以针对每个图像数据采集时刻对各个网格内的行人计数。
8.在一些实施例中,统计所述多个网格的各个网格内的行人的数量还包括:对所述场景内的所述行人进行标记和跟踪;以及判断被跟踪的行人在所述图像数据的相邻两个图像数据采集时刻获取的坐标是否位于同一网格内,若位于同一网格内,则在后一图像数据采集时刻不对所述行人进行计数;若不位于同一网格内,则在后一图像数据采集时刻对所述行人进行计数。
9.在一些实施例中,统计所述多个网格的各个网格内的行人的数量以绘制所述场景内的所述行人热力图包括:针对所述多个图像数据采集时刻分别对各个网格内的行人计
数;根据每个图像数据采集时刻的所述各个网格中所述行人的数量的总和的不同,将所述各个网格进行不同的标记;以及确定针对所述多个图像数据采集时刻的各个网格的不同标记以获得随时间变化的所述场景内的行人热力图。
10.在一些实施例中,将所述各个网格进行不同的标记包括:根据所述各个网格中所述行人的数量的总和不同,对所述网格绘制不同的显示颜色。
11.在一些实施例中,所述获取包含行人的图像数据并确定至少一个行人在场景内的坐标进一步包括:从所述图像数据提取所述行人的基于所述图像数据的图像采集装置的坐标系的第一坐标;以及将所述第一坐标转换为基于所述场景的坐标系的第二坐标,并将所述第二坐标作为所述行人在所述场景内的坐标。
12.在一些实施例中,从所述图像数据提取所述行人的基于所述图像数据的图像采集装置的坐标系的第一坐标包括:获取所述行人的基于所述图像数据的图像采集装置的坐标系的原始坐标;基于下式获得所述原始坐标的校正值:
[0013][0014]
其中,h表示所述图像数据的所述图像采集装置的高度,x2表示所述图像数据的所述图像采集装置位于所述场景的中心坐标,x1表示所述图像采集装置所获得的原始坐标,h表示行人高度,x表示所述原始坐标的校正值;以及基于所述原始坐标在所述图像采集装置的坐标系中的象限,利用所述原始坐标的校正值对所述原始坐标进行校正,以获得所述第一坐标。
[0015]
在一些实施例中,所述行人高度为所述行人的身高的众数。
[0016]
在一些实施例中,所述原始坐标,所述第一坐标和所述第二坐标包括所述行人的头部坐标。
[0017]
在一些实施例中,每隔第一预定时间的多个图像数据采集时刻分别采集所述场景内的所述行人的图像数据包括在高于所述行人身高的位置处设置所述图像采集装置来采集所述行人的头部图像数据。
[0018]
在一些实施例中,在高于所述行人身高的位置处设置所述图像采集装置来采集所述行人的头部图像数据包括通过位于所述场景的中心的一个图像采集装置采集所述行人的头部图像数据。
[0019]
在一些实施例中,在高于所述行人身高的位置处设置所述图像采集装置来采集所述行人的头部图像数据包括通过采集区域覆盖全部场景的多个图像采集装置采集所述行人的头部图像数据。
[0020]
在一些实施例中,在所述场景内还包括所述至少两个图像采集装置的采集重合区域,以及通过采集区域覆盖全部场景的多个图像采集装置采集所述行人的头部图像数据包括选取与所述采集重合区域对应的至少两个图像采集装置中的一个图像采集装置采集的头部图像数据。
[0021]
在一些实施例中,在所述场景内还包括噪音区域,以及通过采集区域覆盖全部场景的多个图像采集装置采集所述行人的头部图像数据包括不对所述噪音区域内的行人进行所述头部图像数据采集。
[0022]
在一些实施例中,将所述第一坐标转换为基于所述场景的坐标系的第二坐标包
括:通过坐标旋转,将基于所述图像数据的图像采集装置的坐标系的第一坐标变换至所述场景的坐标系的第二坐标。
[0023]
根据本公开的另一方面,提供了一种行人热力图生成系统,包括:至少一个图像采集装置;处理器;以及存储器,所述至少一个图像采集装置被配置为采集场景内的行人的图像数据并发送至所述处理器和/或所述存储器,并且所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行以上所述的方法。
[0024]
在一些实施例中,所述至少一个图像采集装置包括一个图像采集装置,所述一个图像采集装置的高度大于行人身高,并且位于所述场景的中心。
[0025]
在一些实施例中,所述至少一个图像采集装置包括至少两个图像采集装置,所述至少两个图像采集装置的高度大于行人身高,并且所述至少两个图像采集装置的图像采集区域覆盖全部所述场景。
附图说明
[0026]
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0027]
图1为根据本公开实施例的一种行人热力图生成方法流程图;
[0028]
图2为根据本公开实施例的坐标校正示意图;
[0029]
图3为根据本公开实施例的坐标融合示意图;
[0030]
图4为根据本公开实施例的一种行人热力图;
[0031]
图5为根据本公开实施例的一种行人热力图生成系统的示意图;以及
[0032]
图6为根据本公开实施例的一种行人热力图生成系统的示意图。
具体实施方式
[0033]
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
[0034]
为使本公开的实施例的目的、技术方案和优点更加清楚,下面将结合本公开的实施例的附图,对本公开的实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0035]
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0036]
根据本公开的一个方面,提供了一种行人热力图生成方法,可以使得观测者直观地感受区域内的行人的密集程度。图1为根据本公开实施例的一种行人热力图生成方法流程图,以下参考图1来对本公开进行详细说明。
[0037]
在步骤s100中,获取包含行人的图像数据并确定至少一个行人在场景内的坐标。
[0038]
具体的,首先,采集行人在场景内的图像数据。可由图像采集装置,例如摄像头,获取视频流。将视频流保存为图像数据以进行处理。在获取行人在场景内的图像数据时,可以每隔第一预定时间采集相应时刻场景内的行人的图像数据。进一步地,每隔第一预定时间的多个图像数据采集时刻分别采集场景内的所述行人的图像数据。
[0039]
然后,从图像数据获取行人的基于该图像数据的图像采集装置的坐标系的原始坐标。通过图像采集装置采集的行人的图像数据的坐标系是以相应图像采集装置为基准的坐标系,获取行人在该坐标系下的原始坐标,以用于后续处理。
[0040]
另外,由于图像采集装置的透视效应带来的坐标误差,导致获取的原始坐标具有误差,因此,需要对原始坐标进行校正。
[0041]
图2为根据本公开实施例的坐标校正示意图。如图2所示,以通过单个摄像头获取行人的头部坐标为例,使用数学公式,将测量的原始坐标进行校正以获得行人的基于图像采集装置的坐标系的校正的第一坐标。
[0042]
如图2所示,h表示摄像头安装高度,x2为摄像头在场景中的中心坐标,x1为行人的在图像采集装置坐标系下的头部的原始坐标,h为行人身高(可取身高的众数,例如,1.6m),x为原始坐标的长度的校正值。通过下式获得校正值:
[0043][0044]
校正后的坐标(第一坐标)即为x1-x或x1+x,根据坐标点所在的象限确定。由此,基于校正值和原始坐标获取对原始坐标校正后的第一坐标。例如,对于图2所示示例,x1位于x2沿坐标轴x的延伸的正方向的一侧,则对原始坐标校正后的第一坐标为x1-x;x1位于x2沿坐标轴x的延伸的负方向的一侧,则对原始坐标校正后的第一坐标为x1+x。但本公开不限于此。
[0045]
接着,将行人的第一坐标转换为基于场景的坐标系的第二坐标。由于行人的第一坐标基于图像采集装置的坐标系,而第二坐标基于场景的坐标系,例如地面(即场景平面)。图像采集装置的坐标系通过设定配置参数来实现,场景的坐标系可能是基于实际环境人为设定,因此两个坐标系可能不同。所以,可能需要将行人的图像采集装置坐标系下的第一坐标转换为基于场景坐标系下的第二坐标,并将第二坐标作为行人在场景内的坐标。
[0046]
在本公开中,通过图像采集装置获取的第一坐标以行人的头部坐标为例进行说明。
[0047]
图2示出了通过位于场景的中心的一个图像采集装置采集行人的头部图像数据为例进行说明,但本公开不限于此。在场景范围较大时,可以采用多个(例如至少两个),图像采集装置来采集行人的头部图像数据,只要多个图像采集装置的全部采集区域覆盖全部场景。
[0048]
进一步地,对于通过多个图像采集装置采集行人的头部图像数据,由于各图像采集装置采集的头部图像数据均基于各自坐标系,而各图像采集装置的坐标系可能并未对准,因此需要根据各个摄像头的安装位置与安装角度,进行各图像采集装置的坐标系下的独立坐标向场景坐标系下的坐标融合。
[0049]
假设使用三个usb摄像头实现对场景的全覆盖。每个摄像头都具有一套独立的检
测程序。针对实际需要,本公开基于场景平面进行坐标融合。对于每个摄像头输出的第一坐标,都需要根据摄像头的安装位置与安装角度,进行第一坐标向场景坐标的融合。
[0050]
图3为根据本公开实施例的坐标融合示意图。如图3所示,示出了四个坐标系,例如,原点o在右上角的最外侧的坐标系为场景坐标系,其余三个坐标系表示三个usb摄像头的坐标系。以下结合图3对坐标融合过程进行说明。
[0051]
首先,通过实地测量确定每个摄像头在场景坐标系中的中心坐标(xi,yi),即图3中三个usb摄像头的原点o在场景坐标系中的坐标。在获取每个摄像头的检测数据后,将经由相应摄像头获取的行人的头部坐标经过旋转变换(如果需要)后,获得旋转坐标。变换过程利用三角函数,如下式(2)所示,(x,y)为原坐标,(s,t)为变换后坐标,β为旋转角度,α为原点至(x,y)的向量与坐标轴x的夹角,γ为原点至(x,y)的向量的模,逆时针为正。
[0052]
s=rcos(α+β)=rcosαcosβ+rsinαsinβ=xcosβ-ysinβ
[0053]
t=rsin(α+β)=rsinαcosβ+rcosαsinβ=ycosβ+xsinβ
ꢀꢀꢀ
(2)
[0054]
然后,根据中心坐标(xi,yi),换算到场景坐标系中,从而得到坐标融合后的场景坐标。
[0055]
在通过至少两个图像采集装置采集场景内的行人的头部图像数据时,在坐标融合中存在两个摄像头均覆盖到的区域;或者还存在一些场景区域外但是会被摄像头检测到的噪音区域。这些区域定义为忽略区域。由此,忽略区域可主要包括两部分。第一部分是两个摄像头的采集区域的重叠的区域,在这种情况下只基于一个摄像头进行计算,另一个摄像头采集的行人的头部图像数据将被忽略。第二部分是根据现场判定不需要进行行人统计的区域,该区域可以进行人为设定。在第二部分的区域中出现的行人的头部图像数据,作为噪音数据,不进行处理。
[0056]
在步骤s120中,基于至少一个行人的坐标,将至少一个行人分别统计在将场景进行划分获得的多个网格中对应的网格内。
[0057]
首先,基于预定细粒度,将场景平面划分为多个网格。可以通过程序输入参数,参数表示x轴和y轴方向的分割块数。例如,x轴方向分为4块,x轴方向分为5块,则会将该区域分割为20个网格。通过参数设置,可以设定不同的网格分割的细粒度。
[0058]
接着,基于在步骤s100中获得的行人在场景坐标系下的第二坐标和多个网格,将行人统计在对应的网格内。在网格划分过程中,所有的距离参数例如都以像素值形式体现,即根据摄像头的安装位置将实际坐标位置换算为像素值尺度的坐标数据。例如,对于距离参数的行人坐标(x,y),其可能位于网格参数的(m,n)内,(m,n)例如可表示位于沿x轴方向的第m行网格块且位于沿y轴方向的第n列网格块交叉位置处的网格块,则(m,n)可以作为该网格的索引。
[0059]
在将行人分别统计在对应的网格内过程中,首先,在场景的坐标系中给对多个网格中的每个网格赋予索引值,例如上述(m,n)。然后,利用多个网格中每个网格的长度值和宽度值,沿多个网格的长度方向和宽度方向分别对每一个行人的长度方向和宽度方向的坐标值取商值。在本公开中,以网格的长度方向为x轴方向,网格的宽度方向为y轴方向为例进行说明,但本公开不限于此。该商值包括第一坐标商值和第二坐标商值,即分别对应于长度方向和宽度方向的距离坐标原点的商值。最后,将第一坐标商值和第二坐标商值与上述每个网格赋予的索引值进行比较,如果匹配,则基于此将行人置于对应的网格内。也就是说,
位于同一网格内的行人的坐标的第一坐标商值和第二坐标商值分别相同,而各个网格具有不同的索引(即具有不同的第一坐标商值和/或第二坐标商值的行人位于不同的网格内)。
[0060]
在步骤s140,统计多个网格的各个网格内的行人的数量,以绘制场景内的行人热力图。
[0061]
在该步骤中,根据预设的参数,每隔一段时间,进行一次行人热力的统计。即在某一时刻,获取此时场景内的行人的坐标数据。根据坐标值的大小,将这些坐标划分至各个网格中并基于每个网格对其内部的行人数量求和。最后,根据网格的索引将一段时间内的求和数据存入数组中并输出,从而绘制该场景内的行人的热力图。
[0062]
具体地,统计多个网格的各个网格内的行人的数量包括:针对每个图像数据采集时刻采集到的图像数据对各个网格内的行人进行计数,以针对该图像数据采集时刻对各个网格内的行人计数。即,对各个网格内的行人进行计数,并且对每次采集到的行人的数据图像进行处理以统计每次采集所获得的各个网格内的行人的数量,从而可以统计出每次采集时刻各个网格内的行人数量。
[0063]
进一步地,在本公开的一些实施例中,统计多个网格的各个网格内的行人的数量还包括对场景内的行人进行标记和跟踪,然后判断被跟踪的行人在相邻两个图像数据采集时刻获取的坐标是否位于同一网格内,如果位于同一网格内,则在后一图像数据采集时刻不对行人进行计数;如果位于不同的网格内,则在后一图像数据采集时刻对该行人的变化进行计数。这样,如果行人在相邻两个图像数据采集时刻位于同一网格内,则可不对该行人进行重复计数,从而保证行人数量统计结果的正确。
[0064]
在本公开的一些实施例中,统计多个网格的各个网格内的行人的数量以绘制场景内的行人的热力图包括:针对多个图像数据采集时刻分别对各个网格内的行人计数;根据每个图像数据采集时刻的各个网格中行人的数量的总和的不同,将各个网格进行不同的标记;以及绘制针对多个图像数据采集时刻的各个网格的不同标记以获得随时间变化的所述场景内的行人热力图。在一个具体的示例中,统计的行人的数量的总和不同的网格绘制不同的显示颜色,使得观测者可以直观地感受行人的密集程度。图4为根据本公开实施例的一种行人热力图,其中,黑点表示行人,行人的数量不同的网格的颜色不同。
[0065]
根据本公开的另一方面,提供了一种行人热力图生成系统。图5为根据本公开实施例的一种行人热力图生成系统的示意图,以下参考图5来对本公开进行详细说明。
[0066]
如图5所示,该行人热力图生成系统包括至少一个图像采集装置40、至少一个检测模块42、坐标校正和融合模块44、热力图处理模块46以及与热力图生成模块48。
[0067]
在本公开的一些实施例中,至少一个图像采集装置40可以包括至少一个摄像头。摄像头采集场景中的视频流,进而获取行人的图像数据。在本公开中,可以分别每隔第一预定时间的多个图像数据采集时刻采集场景内的行人的图像数据。
[0068]
在本公开的一些实施例中,至少一个检测模块42与至少一个图像采集装置40一一对应连接,用于获取行人在场景内的坐标。检测模块42对由摄像头获取的视频流进行处理,从而获取行人的头部坐标。可以采用yolov5算法,其是一种高效的检测算法。可以采用yolov5算法建立头部检测模型,使用预先存储的头部图像数据,对头部检测模型进行训练和测试,从而获得效果较好的头部检测模型。然后利用该头部检测模型,基于头部图像数据,获取场景中行人的头部坐标。在实际应用中,根据算法部署的平台不同,可以对算法进
行相应的迁移、压缩与部署,从而在保证模型准确率的前提下,提升模型的运行效率。
[0069]
在本公开的一些实施例中,坐标校正和融合模块44与至少一个检测模块42连接,用于基于场景坐标系对通过至少一个检测模块42获取的头部坐标进行校正和融合。由于图像采集装置的透视效应带来的坐标误差,导致获取的坐标具有误差,因此需要对基于图像采集装置坐标系的原始坐标进行校正。坐标校正和融合模块44可以基于上式(1)对原始坐标进行校正,以获得第一坐标。
[0070]
在至少一个图像采集装置40包括多个图像采集装置40情况下,需要将通过至少两个图像采集装置采集的头部图像数据获取的行人的第一坐标,例如通过式(2),进行坐标旋转,以将不同图像采集装置采集的行人的各自坐标系下的第一坐标分别变换至场景坐标系下的第二坐标,从而将经由各图像采集装置40获取的各第一坐标融合入场景坐标系中。
[0071]
在本公开的一些实施例中,热力图处理模块46与坐标校正和融合模块44连接,用于基于行人的坐标将行人统计在将场景进行划分获得的多个网格中的对应网格内。
[0072]
热力图处理模块46可被配置为执行以下处理:基于预定细粒度将场景划分为多个网格;以及基于至少一个行人的坐标和多个网格,将至少一个行人统计在对应的网格内。热力图处理模块46进一步被配置为:在场景的坐标系中给对多个网格中的每个网格赋予索引值,利用多个网格中每个网格的长度值和宽度值,沿多个网格的长度方向和宽度方向分别对至少一个行人的每一个行人的长度方向和宽度方向的坐标值取商值,以获取每一个行人的该坐标值对应的第一坐标商值和第二坐标商值;以及将第一坐标商值和第二坐标商值与每个网格的索引值进行比较以将每一个行人统计在对应的网格内。
[0073]
在本公开的一些实施例中,热力图生成模块48与热力图处理模块连接,用于统计多个网格的各个网格内的行人的数量,以绘制场景内的行人的热力图。
[0074]
热力图生成模块48被配置为:针对每个图像数据采集时刻采集到的图像数据对各个网格内的行人进行计数,以针对该图像数据采集时刻对各个网格内的行人计数。
[0075]
热力图生成模块48进一步被配置为:对场景内的行人进行标记和跟踪;判断被跟踪的行人在相邻两个图像数据采集时刻获取的坐标是否位于同一网格内,如果位于同一网格内,则在后一图像数据采集时刻不对该行人进行计数,若不位于同一网格内,则在后一图像数据采集时刻对所述行人进行计数;以及根据各个网格中行人的数量的总和不同,将各个网格进行不同的标记。在具体示例中,可以将行人数量总和不同的网格绘制不同的显示颜色。
[0076]
根据本公开的另一方面,提供了一种行人热力图生成系统。图6为根据本公开实施例的一种行人热力图生成系统的示意图。如图6所示,该行人热力图生成系统包括:至少一个图像采集装置50;处理器52;以及存储器54。
[0077]
至少一个图像采集装置50被配置为采集场景内的行人的图像数据并发送至所述处理器和/或存储器54连接。并且,存储器54存储有可被处理器52执行的指令,该指令被处理器54执行,以使处理器52能够执行上述的行人热力图生成方法。
[0078]
在一些实施例中,至少一个图像采集装置50包括一个图像采集装置50,该一个图像采集装置50的高度大于行人的高度,并且位于场景的中心。
[0079]
在一些实施例中,至少一个图像采集装置50包括至少两个图像采集装置50,至少两个图像采集装置50的高度大于行人的高度,并且至少两个图像采集装置50的图像采集区
域覆盖全部场景。
[0080]
在本公开中,将图像采集装置设置在高于行人身高的位置处来采集行人的头部图像数据,可以解决人头遮挡问题,避免人头的漏检。
[0081]
进一步地,可将本公开行人热力图生成方法的实现算法实现在场景边缘的智能设备上,经过转换、压缩,可大大提升系统的运行效率。
[0082]
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1