掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度相机的人流分析方法及装置

文献发布时间:2023-06-19 11:35:49


一种基于深度相机的人流分析方法及装置

技术领域

本申请属于机器视觉领域,尤其涉及一种基于深度相机的人流分析方法及装置。

背景技术

随着公共安全意识的提高,公共安全管理以及公共安全预警是必不可少的一环,而人流分析被广泛应用在商场、景区、机场等行人流动量较大的公共场所,为公共安全管理、公共安全预警以及商业决策提供重要依据。

目前进行人流分析的主要方法是借助三基色相机获取所需进行人流分析区域的行人图像集,通过识别行人图像集内包含的单一人体特征(例如人脸或人头)来达到行人检测的目的,并根据检测到的行人信息进行后续的人流分析。但在这种情况下,通过三基色相机获取到关于行人的彩色图像可能会存在侵犯行人隐私的问题,而且彩色图像往往只能体现平面维度上的信息,无法精准地对行人进行跟踪。

发明内容

本申请实施例提供了一种基于深度相机的人流分析方法及装置,可以通过深度相机获取行人图像集,将该行人图像集内的多帧行人图像导入人体检测网络,从而确定该深度相机的目标检测区域内的行人对象的运动跟踪数据,进一步生成人流分析信息,其中该人体检测网络是通过深度学习训练得到的,可以精准地对行人进行跟踪,而该人体检测网络的输入是深度相机获取得到的行人图像,也即深度图像,从而避免了彩色图像侵犯行人隐私的问题,解决现有技术中的彩色图像只能体现平面维度上的信息,无法精准地对行人进行跟踪的问题。

第一方面,本申请实施例提供了一种基于深度相机的人流分析方法,包括:通过深度相机获取目标检测区域的行人图像集;所述行人图像集包含多帧行人图像;将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像;所述人体检测网络通过深度学习训练得到;基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据;基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息。

第二方面,本申请实施例提供了一种基于深度相机的人流分析装置,包括:行人图像获取模块,用于通过深度相机获取有关目标检测区域的行人图像集;所述行人图像集内包含多帧行人图像;人体检测网络模块,用于将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像;所述人体检测网络是通过深度学习训练得到的;运动跟踪数据确定模块,用于基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据;人流分析信息生成模块,用于基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息。

第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

本申请实施例与现有技术相比存在的有益效果是:

本申请提供的人流分析方法,相对于现有技术,可以通过深度相机获取行人图像集,将该行人图像集内的多帧行人图像导入人体检测网络,从而确定该深度相机的目标检测区域内的行人对象的运动跟踪数据,进一步生成人流分析信息,其中该人体检测网络是通过深度学习训练得到的,可以精准地对行人进行跟踪,而该人体检测网络的输入是深度相机获取得到的行人图像,也即深度图像,不仅避免了在进行人流分析时由于采用彩色图像而容易侵犯行人隐私的问题,还因为深度图像可以反映深度信息,能够解决现有技术中的通过彩色图像进行人流分析时只能体现平面维度上的信息,无法精准地对行人进行跟踪的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请第一实施例提供的人流分析方法的实现流程图;

图2是本申请一实施例提供的应用场景示意图;

图3是本申请第二实施例提供的人流分析方法的实现流程图;

图4是本申请一实施例提供的人体检测网络示意图;

图5是本申请第三实施例提供的人流分析方法的实现流程图;

图6是本申请第四实施例提供的人流分析方法的实现流程图;

图7是本申请第五实施例提供的人流分析方法的实现流程图;

图8是本申请第六实施例提供的人流分析方法的实现流程图;

图9是本申请第六实施例提供的监控画面效果示意图;

图10是本申请一实施例提供的人流分析方法流程示意图;

图11是本申请一实施例提供的人流分析装置的结构示意图;

图12是本申请一实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

在本申请实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行本申请提供的人流分析方法的设备。图1示出了本申请第一实施例提供的人流分析方法的实现流程图,详述如下:

在S101中,通过深度相机获取目标检测区域的行人图像集。

在本实施例中,所述行人图像集包含多帧行人图像。

在本实施例中,一般地,该深度相机设置在能够观察该目标检测区域内的位置,示例性地,该深度相机具体可以俯拍所需进行人流统计的目标检测区域,从而可以在俯视的角度获取到目标检测区域内出现的行人的移动轨迹,以进行人流统计以及分析。该深度相机的拍摄画面具体为关于该目标检测区域的画面。为了后续对该目标检测区域内的行人对象进行检测并基于检测结果生成人流分析信息,需要有关目标检测区域多帧连续的图像,因此通过该深度相机获取该行人图像集。

在一种可能实现的方式中,上述获取行人图像集的方式具体可以为:控制该深度相机以预设采集时间间隔获取该目标检测区域对应的多帧行人图像,按各帧行人对象的采集时间的先后次序,将预设数量的连续的若干行人图像进行封装,得到上述行人图像集,例如,将采集时间在同一分钟内的行人图像封装为一个行人图像集。

应理解,该行人图像集内的行人图像为深度图像,该行人图像内只包含各个像素对应的深度值,不包含各个像素的三基色像素值,以减轻后续人体检测网络的输入的图像的信息量,提高后续生成人流分析信息的效率。

在S102中,将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像。

在本实施例中,所述人体检测网络通过深度学习训练得到;具体地,采集多帧训练图像,并在各帧训练图像标记出真值人体区域;将该训练图像导入该人体检测网络,基于该人体检测网络的内参数在该训练图像中划分出预测人体区域,基于该预测人体区域以及该真值人体区域计算此次训练的掩码损失值,基于该掩码损失值调整该人体检测网络的内参数,在掩码损失值小于预设的调整阈值时,识别上述人体检测网络已经调整完毕,在S102中,通过训练好的人体检测网络识别人体检测图像。应理解,在S102中,人体检测网络的输入为上述行人图像,输出为上述人体检测图像,该人体检测图像为在该行人图像内标记出若干人体区域的图像。应理解,该人体检测图像可以包含至少一个人体区域,也即该人体检测网络检测到该目标检测区域内存在行人对象;该人体检测图像也可以不包含人体区域,也即该人体检测网络检测到该目标检测区域内不存在行人对象。

在一种可能实现的方式中,上述通过人体检测网络得到人体检测图像的方式具体可以为:该人体检测网络包括特征提取层、区域划分层以及区域识别层;将该行人图像导入该特征提取层,得到特征图像;将该特征图像导入该区域划分层,得到该行人图像内各个对象的掩码区域;将该特征图像导入该区域识别层,得到该行人图像内各个对象的分类信息(为了提高该人体检测网络的输出效率,该分类信息的取值范围仅包括人体或非人体);若该对象的分类信息为人体,则将该对象的掩码区域识别为上述人体区域;将所有人体区域在该行人图像中标记出来,得到上述人体检测图像。示例性地,上述将所有人体区域在该行人图像中标记出来,得到上述人体检测图像,具体可以为,将该行人图像中除上述人体区域内的像素以外的各个像素的深度值标记为空,得到该人体检测图像,也即该人体检测图像中只有上述人体区域内的像素关联有对应的深度值,则后续根据该人体检测图像确定运动跟踪数据时,可以减少干扰项,只考虑上述人体区域,提高效率。

应理解,上述特征提取层可以是卷积神经网络(Convolutional NeuralNetworks,CNN),上述区域划分层以及区域识别层可以是Mask-RCNN(Mask-ResolutionConvolutionalNeuralNetworks)模型的一部分,也即该区域划分层的输出为该Mask-RCNN模型经过掩码层(mask)的输出,该区域识别层的输出为该Mask-RCNN网络经过分类层(class)的输出。

在S103中,基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据。

在本实施例中,该运动跟踪数据包括该行人对象在各帧行人图像内的坐标信息。以确定一帧行人图像对应的人体检测图像的运动跟踪数据为例进行说明,上述运动跟踪数据可以为人体区域的区域重心,在该情况下,终端设备可以将该人体区域内各个像素的权重设置为相同的数值,从而能够确定该人体区域的区域重心的像素坐标,该像素坐标指的是该区域重心在该人体图像对应的图像像素坐标系中的坐标;根据该区域重心的像素坐标以及该区域重心对应的深度值,确定该区域重心的世界坐标,该世界坐标指的是该区域重心在该目标检测区域对应的世界坐标系上的坐标;具体地,根据该区域重心的像素坐标、深度值以及该深度相机的内参数,计算得到该区域重心的相机坐标,该相机坐标指的是该区域重心在该深度相机对应的相机坐标系的坐标;根据该区域重心的相机坐标以及该深度相机的外参数(也即相机坐标系至世界坐标系的转换矩阵),计算得到该区域重心的世界坐标。

上述基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据,具体还包括:基于上述得到的世界坐标,将第一行人图像内所有人体区域的区域重心与第二行人图像内所有人体区域的区域重心进行匹配,若匹配成功,则将匹配成功的两个人体区域对应的人体特征信息进行匹配,若匹配成功,则将该两个人体区域与同一个行人对象进行关联,该第一行人图像与该第二行人图像为两帧连续的行人图像,也即该第一行人图像与该第二行人图像的采集时间最为接近,该人体区域对应的人体特征信息具体可以为人体区域的轮廓信息;将上述匹配成功的其中一个人体区域的区域重心的世界坐标,识别为上述关联的行人对象在该行人图像内的坐标信息。

应理解,该深度相机在获取该行人图像集的过程中位置不变,该深度相机的内参数以及外参数均可通过对该深度相机进行标定得到。

在S104中,基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息。

在本实施例中,该人流分析信息包括该若干行人对象在各帧行人图像内的坐标信息,用于表征该行人对象在各帧行人图像中的所在位置,还可以包括该若干行人对象在各帧行人图像内的行走速度,该行走速度可以基于该行人对象在各帧行人图像内的坐标信息进行计算。

在一种可能实现的方式中,上述基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息,具体可以包括:以一个行人对象的该运动跟踪数据为例进行说明,基于该运动跟踪数据,计算该行人对象在各帧行人图像内的行走速度,具体地,以一个示例行人图像为例进行说明,以包含该示例行人图像的三帧相邻的行人图像为依据,根据该行人对象在该三帧相邻的行人图像中的运动跟踪数据(包括上述坐标信息),计算该行人对象在该三帧相邻的行人图像中的位移总量;基于该位移总量以及该三帧相邻的行人图像中的最大采集时间间隔差,计算该行人对象在该三帧相邻的行人图像中的平均速度,将该平均速度识别为该行人对象在该示例行人图像内的行走速度。

特别地,若该行人对象在该示例行人图像内的行走速度为零,则识别该行人对象在该示例行人图像内处于停留状态;并将该行人对象一直处于停留状态的连续的多帧行人图像的最大采集时间间隔差,识别为该行人对象在该目标检测区域的停留时间段。应理解,此时上述人流分析信息包括若干行人对象在该目标检测区域的停留时间段。

应理解,该人流分析信息还可以包括各帧行人图像内的行人数量,根据该行人对象内的行人对象的数量进行确定;该人流分析信息还可以包括该目标检测区域的人流数目,该人流数目指的是上述行人图像集内不同的行人对象的总数量。

在本实施例中,可以通过深度相机获取行人图像集,将该行人图像集内的多帧行人图像导入人体检测网络,从而确定该深度相机的目标检测区域内的行人对象的运动跟踪数据,进一步生成人流分析信息,其中该人体检测网络是通过深度学习训练得到的,可以精准地对行人进行跟踪,而该人体检测网络的输入是深度相机获取得到的行人图像,也即深度图像,不仅避免了在进行人流分析时由于采用彩色图像而容易侵犯行人隐私的问题,还因为深度图像可以反映深度信息,能够解决现有技术中的通过彩色图像进行人流分析时只能体现平面维度上的信息,无法精准地对行人进行跟踪的问题。

图2示出了本申请一实施例提供的应用场景示意图,参见图2,该深度相机对着该目标检测区域进行拍摄;该目标检测区域内包含有行人对象;通过该深度相机获取有关该目标检测区域的行人图像集;再将该行人图像集内的多帧行人图像导入到该人体检测网络中,使该人体检测网络基于该行人图像输出对应的人体检测图像,并对该人体检测图像进行分析,得到该行人对象对应的运动跟踪数据;根据该目标检测区域内若干行人对象的运动跟踪数据,生成关于该目标检测区域人流分析信息。

图3示出了本申请第二实施例提供的人流分析方法的实现流程图。参见图3,相对于图1所述实施例,本实施例提供的人流分析方法S102包括S1021~S1022,具体详述如下:

进一步地,所述将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像,包括:

在S1021中,将所述行人图像导入人体检测网络,以使所述人体检测网络基于所述行人图像内各个像素的深度值,在所述行人图像中划分若干人体区域。

在本实施例中,该人体检测网络是通过深度学习训练得到的神经网络模型,具体地,该人体检测网络是分类模型,将该行人图像中的各个区域进行分类,识别出类别为人体的人体区域,具体可参照上述S102的相关描述,在此不再赘述。

在一种可能实现的方式中,该人体检测网络包括区域划分层以及区域识别层;上述将所述行人图像导入人体检测网络,以使所述人体检测网络基于所述行人图像内各个像素的深度值,在所述行人图像中划分若干人体区域,具体可参见图4,图4示出了本本申请一实施例提供的人体检测网络示意图。参见图4,将该行人图像导入该人体检测网络的区域划分层,基于该行人图像内各个像素的深度值以及边缘检测算法,对该行人图像进行边缘检测,得到若干边缘轮廓线;基于上述若干边缘轮廓线对该行人图像进行区域划分,得到该行人图像内若干掩码区域,每个掩码区域对应一个对象,该边缘检测算法可以是深度差值检测算法,也可以是梯度差值检测算法;基于该人体检测网络中的区域划分层的参数,识别各个掩码区域对应的对象(类别)是否为人体,若该对象为行人对象,则将该对象的掩码区域识别为人体区域,并将所有人体区域在该行人图像中标记出来。

在S1021中,基于所述若干人体区域在所述行人图像中的位置,为各个所述人体区域配置不同的区域标识,将标记出所述人体区域以及与所述人体区域对应的区域标识后的所述行人图像作为所述人体检测图像。

在本实施例中,为上述标记出来的人体区域配置不同的区域标识,以便后续在多帧行人图像之间的识别出同一个行人对象。在一种可能实现的方式中,上述基于所述若干人体区域在所述行人图像中的位置,为各个所述人体区域配置不同的区域标识,将标记出所述人体区域以及与所述人体区域对应的区域标识后的所述行人图像作为所述人体检测图像,具体可以为:按照该行人对象由左到右以及由上到下的次序,为各个人体区域配置序号,该序号即为上述区域标识;将标记出该人体区域以及该人体区域对应的区域标识的行人图像识别为上述人体检测图像。

在本实施例中,在将该行人图像导入该人体检测网络时,基于该行人对象内各个像素的深度值划分各个掩码区域,识别各个掩码区域是否为人体区域,并且将各个人体区域进行编号,以得到上述人体检测图像,以便后续在多帧行人图像之间的识别出同一个行人对象。

图5示出了本申请第二实施例提供的人流分析方法的实现流程图。参见图5,相对于图3所述实施例,本实施例提供的人流分析方法S103包括S501~S505,具体详述如下:

进一步地,所述基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据,包括:

在S502中,基于所述人体检测图像内的人体区域,确定所述区域标识对应的人体重心位置。

在本实施例中,需要注意的是,与上述S103所述实施例的区别在于,本实施例所需要确定的是人体重心位置,而非区域重心,应理解,当该行人对象在该行人图像中没有其他遮挡物对其进行遮挡时,该区域重心的位置与该人体重心位置应当相同。

在一种可能实现的方式中,上述基于所述人体检测图像内的人体区域,确定所述区域标识对应的人体重心位置,具体可以为:以一帧行人图像对应的人体检测图像为例进行说明,确定该人体检测图像内各个人体区域的人体重心位置,具体地,将该人体区域导入人体重心识别网络,得到该人体区域的人体重心像素坐标以及人体重心深度值;基于该人体区域的人体重心像素坐标以及人体重心深度值,确定该人体区域的人体重心的世界坐标,也即上述人体重心位置,具体确定该人体重心的世界坐标的方法可参照上述S103中确定区域重心的世界坐标的相关步骤,在此不再赘述。

示例性地,基于该人体区域的轮廓信息以及该人体区域内各个像素的深度值,确定该人体区域的人体重心像素坐标以及人体重心深度值;具体地,基于该人体区域的轮廓信息确定该人体区域的人体重心,得到上述人体重心像素坐标;将该人体区域内各个像素的深度值的平均值识别为上述人体重心深度值。

应理解,上述基于该人体区域的轮廓信息确定该人体区域的人体重心,具体可以为:通过分析该人体区域的轮廓信息,识别出在该人体区域内至少一个人体特征点,根据该人体特征点(例如头部)确定该人体区域的人体重心。在该人体区域内识别出的人体特征点越多,该人体重心的确定就越精准。

在S503中,基于所述区域标识的所述人体重心位置以及人体特征信息,将任意相邻两帧人体检测图像进行匹配。

在本实施例中,上述相邻两帧人体检测图像进行匹配指的是采集时间间隔最接近的两帧人体检测图像。在一种可能实现的方式中,上述基于所述区域标识的所述人体重心位置以及人体特征信息,将任意相邻两帧人体检测图像进行匹配,具体指的是:将上述一帧人体检测图像内的所有区域标识的人体重心位置,与上述另一帧人体检测图像内的所有区域标识的人体重心位置,进行一一比对;若上述不同的人体检测图像内分别存在两个区域标识,该两个区域标识的人体重心位置之间的距离小于预设距离阈值,则将该两个区域标识对应的人体区域的人体特征信息进行比对,若该两个区域标识对应的人体区域的人体特征信息之间的差异值小于预设差异阈值,则将该两个区域标识识别为匹配成功的两个区域标识;该人体特征信息一般指的是该人体区域的轮廓信息。

在S504中,若所述相邻两帧人体检测图像中分别存在匹配成功的两个区域标识,则识别所述两个区域标识对应的所述人体区域关联相同的行人对象。

在本实施例中,若上述相邻两帧人体检测图像中分别存在匹配成功的两个区域标识,则可以认为该两个区域标识对应的人体区域为同一个行人对象的人体区域,也即识别该两个区域标识对应的人体区域关联的行人对象为相同的行人对象。

具体地,先以第一帧人体检测图像中区域标识为1的人体区域关联一号行人对象,以该第一帧人体检测图像中区域标识为1的人体重心位置为基准,在其他人体检测图像中查询与该第一帧人体检测图像中区域标识为1的区域标识相匹配的区域标识,并将该相匹配的区域标识与该一号行人对象相关联。以此类推,直至所有人体检测图像中的所有人体区域都关联有对应的行人对象。

以一次匹配为例进行说明,示例性地,在第一帧人体检测图像中区域标识为1的人体区域,与在第二帧人体检测图像中区域标识为2的人体区域关联相同的行人对象,可以将上述两个人体区域关联的行人对象识别为一号行人对象,也即该一号行人对象在该第一帧人体检测图像到该第二帧人体检测图像之间,由区域标识为1的人体区域,移动至区域标识为2的人体区域。

在S505中,根据所述行人对象在各帧所述人体检测图像关联的所述人体区域,确定所述行人对象的运动跟踪数据。

在本实施例中,在执行上述S504之后,可以得到各个行人对象在各帧所述人体检测图像关联的人体区域,为了确定该行人对象的运动根据数据,只确定该行人对象在各帧人体检测图像中关联的人体区域的具体位置即可。

在一种可能实现的方式中,上述根据所述行人对象在各帧所述人体检测图像关联的所述人体区域,确定所述行人对象的运动跟踪数据,具体可以为:提取同一个行人对象在各帧人体检测图像中关联的人体区域的人体重心位置,并转换成该行人对象的在各帧人体检测图像的采集时刻时所在的世界坐标,也即得到该行人对象在该目标检测区域内该行人图像集的采集时段内的运动轨迹,也即上述该行人对象的运动跟踪数据。

在本实施例中,通过比对相邻两帧人体检测图像的人体重心以及人体特征信息,来确定该相邻两帧人体检测图像的区域标识之间,是否关联同一个行人对象,以便于确定同一个行人对象在各帧人体检测图像内所对应的人体区域,以确定该行人对象的运动跟踪数据。

进一步地,本实施例提供的人流分析方法S502之前还包括S501,具体详述如下:

所述基于所述人体检测图像内的人体区域,确定所述区域标识对应的人体重心位置之前,还包括:

在S501中,对所述深度相机进行标定,得到所述深度相机的内参数。

在本实施例中,一般地,对该深度相机进行标定,以得到该深度相机的内参数,该内参数可用于将人体检测图像中的点的位置转换为该点相对于该深度相机的相对位置,具体表现为:根据该内参数可以将一个点在该人体检测图像对应的像素坐标系上的像素坐标转换为该深度相机对应的相机坐标系上的相机坐标。在对该深度相机进行标定的过程中,需要获得多个特征点的像素坐标以及相机坐标,以得出将像素坐标转换为相机坐标的转换模型,该转换模型的参数即为上述深度相机的内参数。应理解,在对该深度相机进行标定以及后续通过该深度相机获取人体检测图像时,该深度相机是固定不动的。

进一步地,本实施例提供的人流分析方法S502包括S5021~S5023,具体详述如下:

所述基于所述人体检测图像内的人体区域,确定所述区域标识对应的人体重心位置,包括:

在S5021中,基于所述人体区域内各个像素的深度值,计算人体重心的像素坐标。

在本实施例中,该人体重心的像素坐标指的是该人气区域对应的人体重心在该人体检测图像对应的像素坐标系上的坐标。上述S5021的实现具体可以参考S502中确定所述人体重心像素坐标的相关步骤,在此不再赘述。

在S5022中,基于所述深度相机的内参数以及所述人体重心在所述人体检测图像内的深度值,将所述像素坐标转换为三维坐标。

在本实施例中,该三维坐标可以指的是该人体重心在该深度相机的相机坐标系上的相机坐标,则上述基于所述深度相机的内参数以及所述人体重心在所述人体检测图像内的深度值,将所述像素坐标转换为三维坐标,具体可参照以下公式:

其中,K为该相机的内参数,Zc为该人体重心在该人体检测图像内的深度值,(u,v)以及(Xc,Yc,Zc)为该人体重心的像素坐标以及相机坐标;应理解,通过求解上述公式即可确定该人体重心的相机坐标(Xc,Yc,Zc),也即上述三维坐标。

在S5023中,将所述人体重心的三维坐标识别为所述区域标识对应的人体重心位置。

在本实施例中,上述S5022得到的该人体重心的三维坐标为该人体重心在该深度相机的相机坐标系上的相机坐标,而本实施例所述的人体重心位置,可以指的是该人体重心在该深度相机的相机坐标系上的相机坐标,也可以指的是该人体重心在世界坐标系上的世界坐标,具体可以根据用户需求来进行设定。若该人体重心位置指的是该人体重心在该深度相机的相机坐标系上的相机坐标,则将该人体重心的相机坐标(Xc,Yc,Zc)识别为该人体重心位置。若该人体重心位置指的是该人体重心在世界坐标系上的世界坐标,则要根据该深度相机的外参数将该人体重心的相机坐标转换为世界坐标,该深度相机的外参数可以由该深度相机与该世界坐标系之间的相对位置确定的。

在本实施例中,通过对该深度相机进行标定得到该深度相机的内参数,通过该内参数将该人体重心的像素坐标转换为三维坐标,以便确定该人体重心位置。

图6示出了本申请第二实施例提供的人流分析方法的实现流程图。参见图6,相对于图1所述实施例,本实施例提供的人流分析方法包括S601~S603,具体详述如下:

进一步地,所述将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像之前,还包括:对所述行人图像进行预处理,包括:

在S601中,基于所述行人图像内各个像素的深度值,对所述行人图像进行轮廓提取,得到所述行人图像的轮廓线。

在本实施例中,上述基于所述行人图像内各个像素的深度值,对所述行人图像进行轮廓提取,得到所述行人图像的轮廓线,具体可以为:基于该行人图像内各个像素的深度值,对该行人图像进行边缘检测,示例性地,基于Prewitt算子对该行人图像的各个像素的深度值进行处理,识别出该行人图像的边缘像素,并根据所有该边缘像素确定并提取出该行人图像的轮廓线。该轮廓线是由多个边缘像素所构成的线。

在S602中,基于背景图像以及所述轮廓线对所述行人图像进行前景提取,得到所述行人图像的前景区域。

在本实施例中,所述背景图像是将所述行人图像集导入背景建模算法后确定的,或基于所述深度相机采集得到的;一般地,该背景图像可以是该深度相机在该目标检测区域内没有行人时进行拍摄得到的;特别地,该背景图像的获取方式,可以是将多个行人图像集导入背景建模算法,以识别出在各个行人图像内各个像素坐标(用于表征像素在该行人图像中的位置)对应的背景像素,并基于所有识别得到的该背景像素来构成该背景图像。

在本实施例中,上述基于背景图像以及所述轮廓线对所述行人图像进行前景提取,得到所述行人图像的前景区域,具体可以为:将所述背景图像与所述行人图像进行比对,若该行人图像中与该背景图像中同一像素坐标的深度值差异大于预设比对阈值,则将该像素坐标对应的像素识别为前景像素;通过该轮廓线将所有前景像素围成至少一个前景区域,也即得到上述行人图像的前景区域。

在S603中,对所述前景区域内各个像素的深度值进行归一化处理,并根据所述前景区域内各个像素归一化后的深度值得到预处理后的行人图像。

在本实施例中,所述前景区域用于所述人体检测网络根据所述前景区域内各个像素归一化后的深度值确定人体区域。该行人图像是该深度相机采集得到的深度图像,该深度图像内各个像素的深度值的范围较大,为了提高后续人体检测网络的输出效率,可以对该行人图像内各个像素的深度值进行归一化处理,而后续人体检测网络中实际需要处理的数据仅仅为该行人图像的前景图像,因此特别地对该前景区域内各个像素的深度值进行归一化处理,并根据该前景区域内各个像素归一化后的深度值得到预处理后的行人图像,具体地,该预处理后的行人图像中非前景区域的像素的深度值为零或者为空,以使后续将该预处理后的行人图像导入该人体检测网络时,该人体检测网络可以不用处理非前景区域的像素。

在本实施例中,在将该行人图像导入该人体检测网络之前对该行人图像进行预处理,是为了减少该人体检测网络输入端的数据,以提高效率;具体地,通过对该行人图像进行轮廓提取得到该行人图像的该轮廓线,便于确定该行人图像的前景区域;只将该前景区域内各个像素的深度值进行归一化处理,并根据该前景区域内各个像素归一化后的深度值得到预处理后的行人图像,以便于后续人体检测网络处理该预处理后的行人图像,减少输入量,提高效率,也可以使该人体检测网络在训练时能够更快收敛,加快训练进程。应理解,将上述预处理后的行人图像导入该人体检测网络,该人体检测网络只需要识别出上述前景区域中的人体区域即可。

图7示出了本申请第二实施例提供的人流分析方法的实现流程图。参见图7,相对于上述任一方法实施例,本实施例提供的人流分析方法S104包括S1041~S1042,具体详述如下:

进一步地,所述基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息,包括:

在S1041中,基于所述若干行人对象的所述运动跟踪数据,分别确定所述目标检测区域内所述行人对象在各帧所述行人图像内的行人坐标以及行人速度。

在本实施例中,该行人坐标具体可以为该行人对象在各帧行人图像的采集时刻时的世界坐标;该行人速度具体指的是该行人对象在该行人图像的采集时刻时的行走速度;该运动跟踪数据为该行人对象在该目标检测区域内的运动数据,记录着该行人对象在各帧行人图像的采集时刻时的位置,以及在上述行人图像集的采集时段期间的运动轨迹。

在本实施例中,上述基于所述若干行人对象的所述运动跟踪数据,分别确定所述目标检测区域内所述行人对象在各帧所述行人图像内的行人坐标以及行人速度,具体可以为:以一个行人对象为例进行说明,在该行人对象的运动跟踪数据中获取该行人对象在各帧行人图像内的世界坐标,识别为上述行人坐标,该行人对象在各帧行人图像内的世界坐标的具体是S103中获取得到的,在此不再赘述;该行人对象在各帧行人图像内的行人速度的计算公式如下:

其中v

在S1042中,将所述行人坐标以及所述行人速度导入到预设的人流分析模板,得到所述人流分析信息。

在本实施例中,该人流分析模板是预先设置的,可以根据需求进行调整。该人流分析信息包括该行人对象在各帧行人对象采集时刻的行人坐标以及行人速度,示例性地,

应理解,该人流分析模板可以根据需求进行调整;该人流分析信息还可以包括该目标检测区域内在该行人对象的采集时段内的行人对象的总数量,可以通过遍历所有行人图像内的行人对象来确定;该人流分析信息还可以包括异常停留行人对象及其对应的异常停留位置以及异常停留时长,该异常停留行人对象是将各个行人对象在各帧行人图像的行人坐标以及行人速度导入到该人流分析模板后输出的行人对象,具体地,在各个行人对象中识别出在连续多帧行人图像内的行人速度为零且上述连续多帧行人图像的帧数大于预设阈值的行人对象,识别为该异常行人对象,该异常行人对象在行人速度为零的行人图像中的位置识别为该异常停留位置,基于上述连续多帧行人图像的帧数计算该异常停留时长。

图8示出了本申请第二实施例提供的人流分析方法的实现流程图。参见图8,相对于图7所述实施例,本实施例提供的人流分析方法包括S801~S802,具体详述如下:

进一步地,所述基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息之后,还包括:

在S801中,依次显示各帧所述行人图像对应的第一监控示意图,生成所述目标检测区域的监控画面。

在本实施例中,所述第一监控示意图包含所述行人图像以及所述行人图像对应的所述人流分析信息。

在一种可能实现的方式中,上述依次显示各帧所述行人图像对应的第一监控示意图,生成所述目标检测区域的监控画面,具体可以为:以一帧行人图像对应的第一监控示意图为例进行说明,将上述S1042得到的人流分析信息显示在该行人图像上,并封装为上述第一监控示意图,具体可参照图10,图10示出了本申请第六实施例提供的监控画面效果示意图,此时该监控画面上显示着一帧第一监控示意图,在该第一监控示意图上,该人流分析信息中的各个内容分布在该行人图像中相应的位置上,示例性地,在该行人图像中的行人对象中标记该行人对象的行人坐标以及行人速度(应理解,还可以标记该行人对象的行人编号),在该行人图像的左上角标记该行人图像内的所有行人对象的总数量;将上述行人图像集内所有行人图像对应的第一监控示意图,组成该目标检测区域的监控画面。

在S802中,基于新采集到的行人图像对应的第二监控示意图,实时更新所述监控画面。

在本实施例中,上述新采集到的行人图像指的是在S101通过该深度相机获取该行人图像集之后,通过该深度相机继续获取得到的新的行人图像,确定该新采集到的行人图像对应的第二监控示意图,具体可参照上述第一监控示意图的相关描述,在此不再赘述。上述基于新采集到的行人图像对应的第二监控示意图,实时更新所述监控画面,是为了保持对该目标检测区域的实时监控,以便得到该目标检测区域在各个时间段的人流分析信息。

图11示出了本申请一实施例提供的人流分析方法流程示意图,参见图11,本实施例提供的人流分析方法,具体地,通过该深度相机获取目标检测区域的行人图像集;对该行人图像集内的行人图像进行预处理;通过将预处理后的行人图像导入到该人体检测网络中,检测该行人图像内的人体区域并标记出来,得到该人体检测图像;将该人体检测图像内各个行人对象的像素坐标转换为世界坐标,得到该行人对象的运动跟踪数据;基于该行人对象的运动跟踪数据,按照预设的人流分析模板,得到该行人对象的各种属性特征(包括位置以及速度),生成该目标检测区域的人流分析信息;基于该目标检测区域的人流分析信息,以及该目标检测区域的行人图像集,生成该目标检测区域的监控画面,以直观地显示该目标检测区域的人流情况。

应理解,将该目标检测区域的人流分析信息可以上传至服务器,以方便统计该目标检测区域的人流情况。

对应于上文实施例所述的方法,图12示出了本申请一实施例提供的人流分析装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图12,该人流分析装置包括:行人图像获取模块,用于通过深度相机获取目标检测区域的行人图像集;所述行人图像集包含多帧行人图像;人体检测网络模块,用于将所述行人图像导入人体检测网络,输出每帧所述行人图像对应的人体检测图像;所述人体检测网络通过深度学习训练得到;运动跟踪数据确定模块,用于基于多帧连续的所述行人图像对应的所述人体检测图像,确定所述目标检测区域内包含的若干行人对象的运动跟踪数据;人流分析信息生成模块,用于基于所述若干行人对象的所述运动跟踪数据,生成关于所述目标检测区域的人流分析信息。

需要说明的是,上述装置之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图12示出了本申请一实施例提供的终端设备的结构示意图。如图12所示,该实施例的终端设备12包括:至少一个处理器120(图12中仅示出一个处理器)、存储器121以及存储在所述存储器121中并可在所述至少一个处理器120上运行的计算机程序122,所述处理器120执行所述计算机程序122时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种基于深度相机的人流分析方法及装置
  • 一种基于深度学习用于源相机识别的合理对抗分析方法
技术分类

06120112984185