图像处理和人群密度估计方法、设备及存储介质与流程

文档序号:27009179发布日期:2021-10-19 23:19阅读:109来源:国知局
图像处理和人群密度估计方法、设备及存储介质与流程

1.本技术涉及图像处理技术领域,尤其涉及一种图像处理和人群密度估计方法、设备及存储介质。


背景技术:

2.近年来,节日庆典、演唱会和体育赛事等大规模群体性活动日益频繁,由于人群密集所引发的群体性突发事件成为了社会的焦点。人群计数作为人群控制和管理的重要方式,不仅能对当前场景下的人群进行统计,协助资源分配,还能对突发事件的发生进行预案,加强公众场所的安全。
3.在现有技术中,经常对人群密度图进行直接求和得到最终的人数。但是,由于图像背景噪声的影响,导致密度图中与背景区域对应的部分也有较强的响应值,进而导致人群计数存在较大误差,准确度较低。


技术实现要素:

4.本技术的多个方面提供一种图像处理和人群密度估计方法、设备及存储介质,用以降低主体密度图的背景噪声,进而有助于提高后续主体计数的准确度。
5.本技术实施例提供一种图像处理方法,包括:
6.获取待处理图像;
7.对所述待处理图像进行主体密度估计,以得到所述待处理图像的第一密度图;
8.对所述待处理图像进行主体识别,以确定所述待处理图像的主体区域;
9.基于所述待处理图像的主体区域,对所述第一密度图进行滤波,以得到所述待处理图像的第二密度图。
10.本技术实施例还提供一种人群密度估计方法,包括:
11.获取待处理图像;
12.对所述待处理图像进行人群密度估计,以得到第一人群密度图;
13.对所述待处理图像进行人头识别,以确定所述待处理图像的人头区域;
14.基于所述待处理图像的人头区域,对所述第一人群密度图进行滤波,以得到第二人群密度图。
15.本技术实施例还提供一种图像处理方法,包括:
16.响应于图像处理请求事件,获取待处理图像;
17.对所述待处理图像进行主体密度估计,以得到所述待处理图像的第一密度图;
18.对所述待处理图像进行主体识别,以确定所述待处理图像的主体区域;
19.基于所述待处理图像的主体区域,对所述第一密度图进行滤波,以得到所述待处理图像的第二密度图。
20.本技术实施例还提供一种电子设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
21.所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述图像处理方法和/或人群密度估计方法中的步骤。
22.本技术实施例还提供一种存储有计算机指令的计算机可读存储介质,其当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述图像处理方法和/或人群密度估计方法中的步骤。
23.在本技术实施例中,一方面,对待处理图像进行主体识别,来确定待处理图像的主体区域;另一方面,对待处理图像进行主体密度估计,得到待处理图像的密度图;之后,基于待处理图像的主体区域,对密度图进行滤波,得到滤波后的密度图,降低了密度图的背景噪声,进而有助于提高主体密度估计的准确度,以及后续根据密度图进行主体计数的准确度。
附图说明
24.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
25.图1a为本技术实施例提供的图像处理方法的流程示意图;
26.图1b为本技术实施例提供的图像处理过程示意图;
27.图1c为本技术实施例提供的相机采集视角下的成像位置关系示意图;
28.图1d为本技术实施例提供的模型训练过程示意图;
29.图1e为本技术实施例提供的模型训练流程示意图;
30.图2a为本技术实施例提供的另一种图像处理方法的流程示意图;
31.图2b为本技术实施例提供的人群密度估计方法的流程示意图;
32.图3为本技术实施例提供的电子设备的结构示意图。
具体实施方式
33.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.在现有技术中,经常对人群密度图进行直接求和得到最终的人数。但是,由于图像背景噪声的影响,导致密度图中与背景区域对应的部分也有较强的响应值,进而导致人群计数存在较大误差,准确度较低。
35.为了解决上述技术问题,在本技术一些实施例中,一方面,对待处理图像进行主体识别,来确定待处理图像的主体区域;另一方面,对待处理图像进行主体密度估计,得到待处理图像的密度图;之后,基于待处理图像的主体区域,对密度图进行滤波,得到滤波后的密度图,降低了密度图的背景噪声,进而有助于提高主体密度估计的准确度,以及后续根据密度图进行主体计数的准确度。
36.以下结合附图,详细说明本技术各实施例提供的技术方案。
37.应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
38.图1a为本技术实施例提供的图像处理方法的流程示意图。如图1a所示,该方法包括:
39.101、获取待处理图像。
40.102、对待处理图像进行主体密度估计,以得到待处理图像的第一密度图。
41.103、对待处理图像进行主体识别,以确定待处理图像的主体区域。
42.104、基于待处理图像的主体区域,对第一密度图进行滤波,以得到待处理图像的第二密度图。
43.本实施例提供的图像处理方法可由图像采集设备执行,也可由具有图像采集功能的电子设备执行,当然也可由计算机设备执行。其中,图像采集设备可以为相机、摄像头等;具有图像采集功能的电子设备可以为搭载有摄像头的自主移动设备或终端设备等。自主移动设备可以为可自主移动的机器人、无人驾驶车辆或无人机等;终端设备可以为电脑、智能手机或可穿戴设备等。
44.计算机设备可以为电脑、智能手机等终端设备,也可为服务端设备。服务端设备可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(virtual machine,vm)。
45.在本技术实施例中,无论图像处理方法的执行主体为何种设备,在步骤101中,可获取待处理图像。对于具有图像采集功能的电子设备来说,可通过图像采集设备采集图像,并将图像采集设备采集到的图像作为待处理图像。对于计算机设备来说,可与图像采集设备进行通信,并接收图像采集设备发送的图像,作为待处理图像。或者,计算机设备也可从存储介质中读取图像,作为待处理图像。其中,存储介质可为计算机设备上固设的硬盘,也可为云存储器,或者为u盘等外接存储介质等等。
46.为了获取待处理图像采集的物理区域的主体密度,在步骤102中,可对待处理图像进行主体密度估计,待处理图像的密度图。该密度图在一定程度上可反应待处理图像包含的主体密度。在不同应用场景中,主体对象不同。例如,在商超等货物盘点场景中,待处理图像可为货架图像,主体对象可为货架上的商品;又例如,在景区、商场、车站或机场等场景中,待处理图像可为人群图像,主体对象可为人的指定部位,例如头部、手臂或腿部等;又例如,在交通管控场景中,待处理图像可为道路图像,主体对象可为车辆。
47.考虑到实际使用过程中,由于主体密度估计存在一定的误差,对于密度估计得到的密度图,除了主体区域部分具有响应值之外,背景区域也可能具有一定的响应值,若直接将密度估计得到的密度图作为密度估计的结果,主体密度存在一定的误差,基于此,在步骤103可对待处理图像进行主体识别,来确定待处理图像的主体区域,并将待处理图像的主体区域对应的局部图像,作为实现待处理图像的前景图像,从而实现待处理图像前景和背景分割。
48.其中,主体区域可以为主体对象的全部区域,也可为主体对象的局部区域。例如,对于主体对象为人头的实施例,主体区域可以为整个人头区域,也可为面部区域,或者部分人头区域等。
49.可选地,还可采用目标检测框对待处理图像的主体区域进行标注,并显示标注有目标检测框的待处理图像。这样,用户可查看目标检测框是否满足要求。用户可查看目标检测框是否与待处理图像的主体相符合等等。
50.可选地,还可向用户提供目标检测框调整功能。对于计算机设备,可响应于针对目标检测框的调整操作,获取调整后的目标检测框的空间信息;并将调整后的目标检测框的空间信息作为待处理图像的主体区域。其中,目标检测框的空间信息反应目标检测框在待处理图像中的空间分布信息。目标检测框的空间信息可包括:目标检测框在待处理图像中的位置、目标检测框的尺寸等。
51.在本技术实施例中,步骤102和103可并行执行,也可顺序执行。若步骤102和103顺序执行,不限定步骤102和103执行的先后顺序。图1a仅以先执行步骤102,后执行步骤103进行图示,但不构成限定。
52.进一步,由于主体区域为待处理图像包含的主体对象所在区域,剔除了待处理图像中的背景图像,基于此,在步骤104中,可基于待处理图像的主体区域,对步骤102得到的密度图进行滤波处理,得到滤波后的密度图。在下述实施例中,为了便于描述和区分,将步骤102通过对待处理图像进行主体密度估计得到的密度图,定义为第一密度图;并将步骤104中滤波后的密度图,定义为第二密度图。
53.在本实施例中,由于滤波后的第二密度图,降低了密度图的背景噪声,进而有助于提高主体密度估计的准确度,以及后续根据第二密度图进行主体计数的准确度。
54.进一步,在得到滤波后的第二密度图之后,可对第二密度图进行求和,以得到待处理图像包含的主体数量。例如,在一些实施例中,主体为人头,则可通过对第二密度图进行积分求和,得到待处理图像包含的人数。或者,在一些实施例中,还可根据第二密度图反应的主体密度分布情况,对待处理图像采集的物理区域进行管控。例如,对于主体为人头的应用场景,可根据第二密度图反应的人群密度分布情况,对待处理图像采集的物理区域进行人流管控等等。在这些场景下,图像采集设备可以为部署于物理区域的摄像头等。
55.在本技术实施例中,不限定对待处理图像进行主体识别和主体密度估计的具体实施方式。在一些实施例中,可采用神经网络模型对待处理图像进行主体识别和主体密度估计。神经网络模型可以为卷积神经网络(convolutional neural network,cnn)模型等。进一步,卷积神经网络模型可以为基于resnet、mobilenet或shufflenet等的全卷积神经网络(fully convolutional networks,fcn),但不限于此。
56.可选地,对待处理图像进行主体识别和主体密度估计的神经网络,可以为两个不交叉的分支网络,也可以为共用骨干网络的两个分支网络。其中,骨干网络可以为vgg16,或者vgg16的部分网络,例如,可采用vgg16的前10层卷积层和3层膨胀卷积层。在本实施例中,为了便于描述和区分,将对待处理图像进行主体识别的分支网络,定义为第一分支网络,将对待处理图像进行主体密度估计的分支网络,定义为第二分支网络。
57.进一步,如图1b所示,可将待处理图像输入骨干网络进行特征提取,以得到待处理图像的初始图像特征;并利用第一分支网络对初始图像特征进行主体识别,以得到待处理图像的主体区域。相应地,可利用第二分支网络,对初始图像特征进行主体密度估计,以得到上述第一密度图。
58.下面分别对利用第一分支网络对初始图像特征进行主体识别的具体过程进行示例性说明。
59.可选地,可将骨干网络输出的初始图像特征输入第一分支网络;在第一分支网络中,可对初始图像特征进行卷积处理,以得到待处理图像的第一目标特征;其中,第一目标
特征是待处理图像为主体或背景的特征体现。进一步,可根据第一目标特征,获取待处理图像中属于主体的像素点。可选地,在第一分支网络中,可根据第一目标特征,计算待处理图像中的像素点属于主体和背景的概率;针对任一像素点,若该像素点属于主体的概率大于其属于背景的概率,则确定该像素点属于主体;相应地,若该像素点属于主体的概率小于其属于背景的概率,则确定该像素点属于背景。进一步,可根据待处理图像中属于主体的像素点,确定待处理图像的主体区域。
60.针对第一分支网络和第二分支网络共用骨干网络的情况,如图1b所示,还可将初始图像特征输入第二分支网络;在第二分支网络中,对初始图像特征进行卷积处理,以得到待处理图像的第二目标特征;其中,第二目标特征是待处理图像的主体密度的特征体现;进一步,可根据第二目标特征,生成第一密度图。
61.在获取待处理图像的主体区域和第一密度图之后,可基于待处理图像的主体区域对第一密度图进行滤波,以得到待处理图像的第二密度图。其中,第一分支网络的输出不同,基于待处理图像的主体区域对第一密度图进行滤波的方式有所不同。
62.在一些实施例中,第一分支网络的输出可以为待处理图像的主体区域。相应地,可根据待处理图像的主体区域在待处理图像中的位置信息,获取第一密度图中与主体区域对应的区域,并保留这部分区域的响应值;以及,将第一密度图中不属于主体区域部分的响应值设置为0,实现对第一密度图的滤波,得到滤波后的第二密度图。
63.在另一些实施例中,如图1b所示,第一分支网络的输出为基于主体区域生成的蒙版(mask)。相应地,在第一分支网络中,还可基于主体区域,生成待处理图像的蒙版。其中,该蒙版中标注为1的区域与待处理图像的主体区域相对应。可选地,在第一分支网络中,可将待处理图像的主体区域对应的像素值设置为1,将其余部分的像素值设置为0,得到待处理图像的蒙版。相应地,可将待处理图像的蒙版与第二分支网络输出的第一密度图相乘,实现对第一密度图的滤波,得到滤波后的第二密度图。
64.值得说明的是,在本技术实施例中,在利用神经网络模型对待处理图像进行主体识别和主体密度估计之前,可对神经网络模型进行训练。下面以对上述骨干网络、第一分支网络及第二分支网络进行联合训练为例,对本技术实施例提供的神经网络模型的训练过程进行示例性说明。
65.在本技术实施例中,可预设初始网络模型的网络架构,即预设骨干网络、第一分支网络及第二分支网络分别对应的初始网络分支的网络架构。其中,如图1d所示,初始网络模型包括:初始特征提取网络、初始分割分支网络和初始密度估计分支网络。其中,初始特征提取网络为骨干网络的初始网络模型,初始分割分支网络为第一分支网络的网络分支模型,初始密度估计分支网络为第二分支网络的初始网络模型。
66.其中,初始网络模型的网络架构包括:卷积层、池化层、这些卷积层和池化层的数量和设置顺序以及每个卷积层和池化层的超参数。其中,卷积层的超参数包括:卷积核的大小k(kernel size)、特征图边缘扩充的大小p(padding size)、步幅大小s(stride size)、表示输出特征图的数量f。池化层的超参数为池化操作核的大小k和步幅大小s;等等。
67.在本技术实施例中,不限定初始密度估计分支网络和初始分割分支网络的网络具体网络架构。可选地,初始分割分支网络可包括512通道输入、256通道输出的膨胀卷积层(dilated conv),256通道输入、128通道输出的膨胀卷积层(dilated conv),128通道输入、
64通道输出的膨胀卷积层(dilated conv)及64通道输入、2通道输出的卷积层(conv),以及激活函数层。其中,激活函数层可对待处理图像的像素点进行分类。可选地,激活函数层可采用softmax函数,进行分类。
68.可选地,初始密度估计分支网络可包括512通道输入、256通道输出的膨胀卷积层(dilated conv),256通道输入、128通道输出的膨胀卷积层(dilated conv),128通道输入、64通道输出的膨胀卷积层(dilated conv)及64通道输入、1通道输出的卷积层(conv),以及激活函数层。其中,激活函数层可对待处理图像的像素点的密度进行回归。可选地,激活函数层可采用relu函数,进行回归。
69.其中,对初始网络模型训练的实质是训练模型参数,以使得损失函数最小化。在本技术实例中,可对初始网络模型进行联合训练。相应地,可以联合损失函数最小化为训练目标,利用样本图像对初始网络模型进行联合训练,以得到骨干网络、第一分支网络和第二分支网络。其中,样本图像可以为一帧或多帧,多帧是指2帧或2帧以上,其数量的具体取值可根据实际需求进行灵活设定。
70.其中,联合损失函数可根据模型训练输出的蒙版与样本图像的蒙版真值图所确定的交叉熵函数,及模型训练输出的密度图(定义为第一训练密度图)和模型训练输出的蒙版的乘积与样本图像的密度真值图所确定均方差函数联合确定。其中,第一训练密度图和模型训练输出的蒙版的乘积为模型训练输出的滤波后的密度图,定义为第二训练密度图。
71.进一步,对于第一分支网络(即分割分支网络)的训练过程,可获取样本图像的蒙版真值图。可选地,样本图像的蒙版真值图可根据样本图像的视度图得到。其中,视度图是指:现实中一米的物体,其在摄像头的成像像素个数。同一帧图像中,距离摄像头越近,则视度值越大。相应地,获取样本图像的蒙版真值图的具体实施方式为:获取样本图像的视度图;利用激励函数对样本图像的视度图进行尺度变换,以确定样本图像的主体区域;并基于样本图像的主体区域,生成样本图像的蒙版真值图。其中,激励函数可以为tanh函数或sigmoid函数。
72.在本实施例中,样本图像可以为包含1个或多个主体对象的图像。可选地,样本图像可以为现有图像库中的图像。例如,样本图像可以为shanghaitech a,shanghaitech b或worldexpo'10中的图像等等。对于worldexpo'10中的图像,可采用worldexpo'10中提供的视度图,即从worldexpo'10中读取样本图像的视度图。对于shanghaitech a和shanghaitech b中的样本图像,可结合样本图像的相机参数获取样本图像的视度图。具体实施方式如下:
73.根据图1c所示的相机采集视角及相似三角形定理,可以得出:
[0074][0075]
其中,y
h
和y
f
表示在相机视角下观测到的人头和脚分别距离像平面的高度;z1和c分别表示人头和脚实际距离像平面的高度。因此,可以得到在相机视角下,人的观测高度为:
[0076][0077]
其中,f表示相机的焦距,h表示人的实际高度。
[0078]
进一步,根据公式(1)和公式(2),可以得到:
[0079][0080]
因此,视度图中任一点的视度值可以定义为:
[0081][0082]
由于c对于每张样本图像来说是固定的,因此,p
g
为y
h
的线性函数,且在每张图像中,每行的y
h
是相同的。为了估算c,可在每张样本图像中,人为标定若干个不同位置处的人的身高h
j
,这样,在相应位置处的视度值可确定为:可选地,h可取成人的平均身高。例如h=1.75m。相应地,因此,采用线性回归方法对上述公式(4)进行线性拟合,便可得到样本图像的视度图。
[0083]
在得到样本图像的视度图之后,可利用激励函数对样本图像的视度图进行尺度变换,以确定所述样本图像的主体区域。例如,对于激励函数为sigmoid函数,尺度变换公式可表示为:
[0084][0085]
在公式(5)中,p表示视度图中的视度值,表示对视度图中的视度值进行尺度变换后的视度值。a,α和β为尺度变换因子。可选地,可根据样本图像的视度图,分别求出样本图像任意两行的视度平均值,带入公式(5),使得sigmoid函数分别等于设定的值,进而求得α和β的值;然后再调节a的大小,直至得到符合主体对象大小的检测框。可选地,可求出第一行的视度平均值p_0,以及最下面一行的视度平均值p_n,带入sigmoid函数中,使得sigmoid函数分别等于0.05和0.95,进而求得α和β值。特殊的,对于shanghaitech b,我们有α=0.0165,β=0.48313。然后调节a的大小,直到得到符合主体对象大小的检测框。其中,检测框所在区域即主体区域。例如,主体对象为人头或人脸,则可调节a的大小,直至得到符合人脸大小的检测框。如,对于shanghaitech b来说,a=24。即当a=24时,人脸框比较符合情况。
[0086]
进一步,可基于样本图像的主体区域,生成样本图像的蒙版真值图。可选地,可将样本图像的主体区域的像素点的像素值设置为1,将样本图像的主体区域之外的像素点的像素值设置为0,进而得到样本图像的蒙版真值图。
[0087]
基于样本图像的蒙版真值图,对于分割网络的损失函数,可由交叉熵函数进行表示。其中,交叉熵函数可表示为:
[0088][0089]
在公式(6)中,h表示样本图像在高度方向上的像素点数量,w表示样本图像在宽度方向上的像素点数量。表示蒙版真值图中坐标为(i,j)的像素点的像素值;表示分割分支网络训练输出的蒙版中坐标为(i,j)的像素点的像素值。
[0090]
对于第二分支网络(即密度估计分支网络),其损失函数可采用均方误差损失函数,具体表示为:
[0091][0092]
其中,表示密度真值图中坐标为(i,j)的像素点的密度值;表示密度估计分支网络训练输出的密度图与上述第一分支网络训练输出的蒙版的乘积得到的密度图(即第二训练密度图)中坐标为(i,j)的像素点的密度值。
[0093]
进一步,在本技术实施例中,为了初始特征提取网络、初始分割分支网络以及初始密度估计分支网络进行联合训练,可根据初始分割分支网络的交叉熵函数以及初始密度估计分支网络对应的均方差损失函数确定。确切地说,可将上述交叉熵损失函数和均方差损失函数分别乘以对应的权重因子后求和作为联合损失函数。其中,联合损失函数可表示为:
[0094]
l=l
den
+λl
cls
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0095]
在公式(8)中,λ表示交叉熵损失函数对应的权重因子。可选地,λ=1e-4。
[0096]
为了更清楚地说明上述联合训练过程,下面结合图1e对本实施例提供的联合训练过程进行示例性说明。联合训练过程的主要步骤如下:
[0097]
s1:将样本图像作为初始特征提取网络的输入图像,输入初始特征提取网络。
[0098]
s2:利用初始特征提取网络,提取样本图像的初始图像特征。
[0099]
s3:将初始图像特征分别输入初始分割分支网络和初始密度估计分支网络。
[0100]
s4:利用初始分割分支网络,确定样本图像的主体区域。
[0101]
s5:根据样本图像的主体区域,生成样本图像的蒙版。
[0102]
s6:利用初始密度估计分支网络,生成样本图像的密度图(第一训练密度图)。
[0103]
s7:计算样本图像的密度图与初始分割分支网络输出的蒙版的乘积,得到滤波后的密度图(第二训练密度图)。
[0104]
s8:将初始分割分支网络的蒙版、滤波后的密度图(即第二训练密度图)以及样本图像的蒙版真值图和密度真值图分别带入上述联合损失函数,计算联合损失函数值。
[0105]
s9:判断样本图像被训练的轮次(epoch)是否达到预设的轮次阈值;若判断结果为否,则执行步骤s10;若判断结果为否,则执行步骤s11。
[0106]
s10:利用设定的优化器逻辑调整初始特征提取网络、初始分割分支网络以及初始密度图分支网络的参数,并将调整后的3个网络分别作为初始特征提取网络、初始分割分支网络以及初始密度估计分支网络,并返回执行步骤s1。
[0107]
可选地,优化器可采用随机梯度下降法(stochastic gradient descent,sgd)或
adam等等。
[0108]
s11:将当前特征提取网络、当前分割分支网络以及当前密度估计分支网络分别作为骨干网络、第一分支网络以及第二分支网络。
[0109]
值得说明的是,在本实施例中,对于步骤s3-s5和s6,可以并行执行,也可以顺序执行,在步骤s3-s5和s6顺序执行时,不限定二者执行的先后顺序,可先执行s3-s5,也可先执行s6等。
[0110]
还值得说明的是,在本技术实施例中,不限定训练过程中各训练指标的具体取值。可选地,epoch(轮次)阈值可设置为400,学习率可设置为1e-7,并设置批尺寸(batchsize)=1。其中,epoch是指样本图像集中每个样本图像在训练过程中被轮的次数;batchsize是指在模型训练过程中,每次输入的样本图像的数量。
[0111]
另外,本技术实施例提供的图像处理方法可部署于任意计算机设备。可选地,本技术实施例提供的图像处理方法还可部署于云端,作为一种saas服务。对于部署有该saas服务的服务端设备,可响应于其它客户端设备的服务请求,执行上述图像处理方法中的步骤。具体实施方式如图2a所示,该方法主要包括:
[0112]
20a、响应于图像处理请求事件,获取待处理图像。
[0113]
20b、对待处理图像进行主体密度估计,以得到待处理图像的第一密度图。
[0114]
20c、对待处理图像进行主体识别,以确定待处理图像的主体区域。
[0115]
20d、基于待处理图像的主体区域,对第一密度图进行滤波,以得到待处理图像的第二密度图。
[0116]
本实施例提供的图像处理方法,可部署于云端,向用户提供图像处理服务。针对部署该图像处理方法的服务端设备,可响应于图像处理请求事件,获取待处理图像。可选地,服务端设备可向调用方提供应用程序接口(api),服务请求方可调用该api调用图像处理服务。相应地,图像处理请求事件实现为调用api所产生的调用事件。其中,服务请求方与服务端设备可通信连接。通信连接方式可以为无线或有线连接。无线连接可以为通过移动网络通信连接,相应地,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、5g、wimax等中的任意一种。可选地,服务请求方与服务端设备也可以通过蓝牙、wifi、红外线等方式通信连接。或者,服务请求方也可通过远程过程调用(remote procedure call,rpc)或远程直接数据存取(remote direct memory access,rdma)技术调用图像处理服务。
[0117]
其中,关于步骤20b-20c的描述,可参见上述图1a及其可选实施方式中的相关内容。进一步,在得到待处理图像的第二密度图之后,还可将第二密度图提供给发起图像处理请求事件的请求方。对于请求方,可接收第二密度图,对第二密度图进行求和,以确定待处理图像包含的主体的数量。可选地,请求方还可根据第二密度图反应的主体密度分布情况,对待处理图像所采集的物理区域进行管控等等。
[0118]
可选地,在一些实施例中,还可对第二密度图进行求和,以确定待处理图像包含的主体的数量;将待处理图像包含的主体的数量提供给发起图像处理请求事件的请求方。相应地,请求方可输出待处理图像包含的主体的数量。
[0119]
在另一些实施例中,还可根据第二密度图反应的主体密度分布情况,确定针对待处理图像所采集的物理区域的管控策略;并将管控策略提供给发起图像处理请求事件的请
求方。相应地,请求方可输出管控策略。
[0120]
相应地,本技术实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述图像处理方法中的步骤。
[0121]
本技术实施例提供的图像处理方法,可适用于任何主体密度估计的应用场景中。在一些应用场景中,待处理图像为货架图像,该货架图像中包含至少一种商品。利用本技术实施例提供的图像处理方法可估计货架图像的商品密度,并对商品密度进行求和,得到货架图像包含的商品数量,实现对货物盘点。在在交通管控场景中,待处理图像可为道路图像,该道路图像包含至少一辆车辆。利用本技术实施例提供的图像主体方法可估计道路上车辆密度,并对道路的车辆密度图进行求和,得到道路上的车流量。进一步,可根据道路上的车流量,对该道路进行交通管控等。在另一些应用场景中,待处理图像为人群图像,该人群图像中包含至少一个人头。利用本技术实施例提供的图像处理方法可估计人群密度;等等。下面以本技术实施例提供的图像处理方法应用于人群密度估计为例,对该图像处理方法进行示例性说明。
[0122]
图2b为本技术实施例提供的人群密度估计方法的流程示意图。如图2b所示,该方法包括:
[0123]
201、获取待处理图像。
[0124]
202、对待处理图像进行人群密度估计,以得到第一人群密度图。
[0125]
203、对待处理图像进行人头识别,以确定待处理图像的人头区域。
[0126]
204、基于待处理图像的人头区域,对第一人群密度图进行滤波,以得到第二人群密度图。
[0127]
在本实施例中,关于待处理图像的图像采集设备及人群密度估计方法的执行主体的描述,可参见上述图像处理方法实施例的相关内容,在此不再赘述。
[0128]
在本实施例中,对于人群密度估计的设备,可在步骤201中,获取待处理图像。为了获取待处理图像采集的物理区域的人群密度,在步骤202中,可对待处理图像进行人群密度估计,待处理图像的人群密度图。
[0129]
考虑到实际使用过程中,由于人群密度估计存在一定的误差,对于密度估计得到的密度图,除了人头区域部分具有响应值之外,背景区域也可能具有一定的响应值,若直接将密度估计得到的人群密度图作为密度估计的结果,人群密度存在一定的误差,基于此,在步骤203可对待处理图像进行人头识别,来确定待处理图像的人头区域,并将待处理图像的人头区域对应的局部图像,作为实现待处理图像的前景图像,从而实现待处理图像前景和背景分割。
[0130]
在本技术实施例中,步骤202和203可并行执行,也可顺序执行。若步骤202和203顺序执行,不限定步骤202和203执行的先后顺序。图2b仅以先执行步骤202,后执行步骤203进行图示,但不构成限定。
[0131]
进一步,由于人头区域为待处理图像包含的人头所在区域,剔除了待处理图像中的背景图像,基于此,在步骤204中,可基于待处理图像的人头区域,对步骤202得到的人群密度图进行滤波处理,得到滤波后的人群密度图。在下述实施例中,为了便于描述和区分,将步骤202通过对待处理图像进行人群密度估计得到的人群密度图,定义为第一人群密度
图;并将步骤204中滤波后的密度图,定义为第二人群密度图。
[0132]
在本实施例中,由于滤波后的第二人群密度图,降低了人群密度图的背景噪声,进而有助于提高人群密度估计的准确度,以及后续根据第二人群密度图进行人群计数的准确度。
[0133]
进一步,在得到滤波后的第二人群密度图之后,可对第二人群密度图进行求和,以得到待处理图像包含的人群数量。或者,在一些实施例中,还可根据第二人群密度图反应的人群密度分布情况,对待处理图像采集的物理区域进行人流管控,等等。在这些场景下,图像采集设备可以为部署于物理区域的摄像头等。
[0134]
在一些实施例中,可将待处理图像输入骨干网络进行特征提取,以得到待处理图像的初始图像特征;并利用第一分支网络对初始图像特征进行人头识别,以得到待处理图像的人头区域。相应地,可利用第二分支网络,对初始图像特征进行人群密度估计,以得到上述第一人群密度图。
[0135]
可选地,可将骨干网络输出的初始图像特征输入第一分支网络;在第一分支网络中,可对初始图像特征进行卷积处理,以得到待处理图像的第一目标特征;其中,第一目标特征是待处理图像为人头或背景的特征体现。进一步,可根据第一目标特征,获取待处理图像中属于人头的像素点。可选地,在第一分支网络中,可根据第一目标特征,计算待处理图像中的像素点属于人头和背景的概率;针对任一像素点,若该像素点属于人头的概率大于其属于背景的概率,则确定该像素点属于人头;相应地,若该像素点属于人头的概率小于其属于背景的概率,则确定该像素点属于背景。进一步,可根据待处理图像中属于人头的像素点,确定待处理图像的人头区域。
[0136]
针对第一分支网络和第二分支网络共用骨干网络的情况,如上述图1b所示,还可将初始图像特征输入第二分支网络;在第二分支网络中,对初始图像特征进行卷积处理,以得到待处理图像的第二目标特征;其中,第二目标特征是待处理图像的人群密度的特征体现;进一步,可根据第二目标特征,生成第一人群密度图。
[0137]
在获取待处理图像的人头区域和第一人群密度图之后,可基于待处理图像的人头区域对第一人群密度图进行滤波,以得到待处理图像的第二人群密度图。其中,第一分支网络的输出不同,基于待处理图像的人头区域对第一人群密度图进行滤波的方式有所不同。
[0138]
在一些实施例中,第一分支网络的输出可以为待处理图像的人头区域。相应地,可根据待处理图像的人头区域在待处理图像中的位置信息,获取第一人群密度图中与人头区域对应的区域,并保留这部分区域的响应值;以及,将第一人群密度图中不属于人头区域部分的响应值设置为0,实现对第一人群密度图的滤波,得到滤波后的第二人群密度图。
[0139]
在另一些实施例中,如图1b所示,第一分支网络的输出为基于人头区域生成的蒙版。相应地,在第一分支网络中,还可基于人头区域,生成待处理图像的蒙版。其中,该蒙版中标注为1的区域与待处理图像的人头区域相对应。可选地,在第一分支网络中,可将待处理图像的人头区域对应的像素值设置为1,将其余部分的像素值设置为0,得到待处理图像的蒙版。相应地,可将待处理图像的蒙版与第二分支网络输出的第一人群密度图相乘,实现对第一人群密度图的滤波,得到滤波后的第二人群密度图。
[0140]
值得说明的是,在本技术实施例中,在利用神经网络模型对待处理图像进行人头识别和人群密度估计之前,可对神经网络模型进行训练。其中,关于模型训练过程可参见上
述图像处理方法实施例的相关内容,在此不再赘述。
[0141]
为了验证本技术实施例提供的人群密度估计方法的准确度,申请人利用本技术实施例提供的人群密度估计方法以及传统的人群密度估计方法,对shanghaitech a,shanghaitech b和worldexpo'10中的图像分别进行人群密度估计,得到图像的人群密度图,并根据人群密度图对图像进行人群计数,得到每张图像的人群计数误差如下表1所示:
[0142]
表1人群计数误差
[0143] shanghaitech ashanghaitech bworldexpo'10基准mae68.210.68.6本技术mae60.77.38.0
[0144]
其中,表1中的人群计数误差主要是指每张图像中人群计数的平均绝对误差(mean absolute error,mae)。基准mae是指利用传统人群估计方法对上述3个图像库中的图像进行人群密度估计,得到的图像的人群密度图;并根据传统方法得到的人群密度图进行人群计数所产生的平均绝对误差。由上述表1可明确得出:本技术实施例提供的人群密度估计方法进行人群计算的误差小于传统人群密度估计方法,即本技术实施例提供的人群密度估计方法有助于提高人群计算的准确度。
[0145]
还值得说明的是,本技术实施例提供的人群密度估计方法可部署于任意计算机设备。可选地,本技术实施例提供的人群密度估计方法还可部署于云端,作为一种saas服务。对于部署有该saas服务的服务端设备,可响应于其它客户端设备的服务请求,执行上述人群密度估计方法中的步骤,并将计算得到的第二人群密度图返回给客户端设备;或者也可将根据第二人群密度图得到的待处理图像包含的人群,或根据第二人群密度图反应的人群密度分布情况,确定的针对待处理图像采集的物理区域的人流管控措施提供给客户端设备;等等。
[0146]
相应地,本技术实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述人群密度估计方法中的步骤。
[0147]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备a;又比如,步骤201的执行主体可以为设备a,步骤202的执行主体可以为设备b;等等。
[0148]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
[0149]
图3为本技术实施例提供的电子设备的结构示意图。如图3所示,电子设备包括:存储器30a和处理器30b。其中,存储器30a,用于存储计算机程序。
[0150]
处理器30b耦合至存储器30a,用于执行计算机程序以用于:获取待处理图像;对待处理图像进行主体密度估计,以得到待处理图像的第一密度图;对待处理图像进行主体识别,以确定待处理图像的主体区域;基于待处理图像的主体区域,对第一密度图进行滤波,以得到待处理图像的第二密度图。
[0151]
在一些实施例中,处理器30b在对待处理图像进行主体识别时,具体用于:将待处理图像输入骨干网络进行特征提取,以得到待处理图像的初始图像特征;利用第一分支网络,对初始图像特征进行主体识别,以得到待处理图像的主体区域。
[0152]
进一步,处理器30b在利用第一分支网络,对初始图像特征进行主体识别时,具体用于:将初始图像特征输入第一分支网络;在第一分支网络中,对初始图像特征进行卷积处理,以得到待处理图像的第一目标特征;其中,第一目标特征是待处理图像为主体或背景的特征体现;根据第一目标特征,获取待处理图像中属于主体的像素点;并根据待处理图像中属于主体的像素点,确定待处理图像的主体区域。
[0153]
可选地,处理器30b在获取待处理图像中属于主体的像素点时,具体用于:根据第一目标特征,计算待处理图像中的像素点属于主体和背景的概率;针对任一像素点,若该像素点属于主体的概率大于其属于背景的概率,则确定该像素点属于主体。
[0154]
在另一些实施例中,处理器30b在对待处理图像进行主体密度估计时,具体用于:利用第二分支网络,对初始图像特征进行主体密度估计,以得到第一密度图。
[0155]
进一步,处理器30b在利用第二分支网络,对初始图像特征进行主体密度估计时,具体用于:将初始图像特征输入第二分支网络;在第二分支网络中,对初始图像特征进行卷积处理,以得到待处理图像的第二目标特征;其中,第二目标特征是待处理图像的主体密度的特征体现;并根据第二目标特征,生成第一密度图。
[0156]
相应地,处理器30b在对第一密度图进行滤波时,具体用于:在第一分支网络中,基于主体区域,生成待处理图像的蒙版;待处理图像的蒙版中标注为1的区域与主体区域相对应;并将蒙版与第一密度图相乘,得到第二密度图。
[0157]
可选地,处理器30b在生成待处理图像的蒙版之前,还用于:以联合损失函数最小化为训练目标,利用样本图像对初始网络模型进行联合训练,以得到骨干网络、第一分支网络和第二分支网络;其中,初始网络模型包括:初始特征提取网络、初始分割分支网络和初始密度估计分支网络;其中,联合损失函数是根据模型训练输出的蒙版与样本图像的蒙版真值图所确定的交叉熵函数,及模型训练输出的密度图和模型训练输出的蒙版的乘积与样本图像的密度真值图所确定均方差函数联合确定的。
[0158]
可选地,处理器30b还用于:获取样本图像的视度图;利用激励函数对样本图像的视度图进行尺度变换,以确定样本图像的主体区域;基于样本图像的主体区域,生成蒙版真值图。其中,激励函数为tanh函数或sigmoid函数。
[0159]
在另一些实施例中,处理器30b还用于:对第二密度图进行求和,以确定待处理图像包含的主体的数量;和/或,根据第二密度图反应的主体密度分布情况,对待处理图像所采集的物理区域进行管控。
[0160]
在本技术实施例中,可选地,处理器30b在对第一密度图进行滤波之前,还用于:采用目标检测框对所述待处理图像的主体区域进行标注;通过显示组件30e显示标注有目标检测框的待处理图像,以供用户查看目标检测框是否满足要求。
[0161]
进一步,处理器30b还用于:响应于针对目标检测框的调整操作,获取调整后的目标检测框的空间信息;并将调整后的目标检测框的空间信息作为待处理图像的主体区域。
[0162]
在本技术实施例中,主体可为人头。相应次,处理器30b还用于:获取待处理图像;对待处理图像进行人群密度估计,以得到第一人群密度图;对待处理图像进行人头识别,以
确定待处理图像的人头区域;以及,基于待处理图像的人头区域,对第一人群密度图进行滤波,以得到第二人群密度图。
[0163]
可选地,处理器30b还用于:对第二人群密度图进行求和,以确定待处理图像包含的人数;和/或,根据第二人群密度图反应的人群密度分布情况,对待处理图像所采集的物理区域进行人流管控。
[0164]
在一些实施例中,电子设备为服务端设备。处理器30b还用于:响应于图像处理请求事件,获取待处理图像;对待处理图像进行主体密度估计,以得到待处理图像的第一密度图;对待处理图像进行主体识别,以确定待处理图像的主体区域;基于待处理图像的主体区域,对第一密度图进行滤波,以得到待处理图像的第二密度图。
[0165]
可选地,处理器30b还用于:通过通信组件30c将第二密度图提供给发起图像处理请求事件的请求方;和/或,通过通信组件30c对第二密度图进行求和,以确定待处理图像包含的主体的数量;并通过通信组件30c将待处理图像包含的主体的数量提供给发起图像处理请求事件的请求方;和/或,根据第二密度图反应的主体密度分布情况,确定针对待处理图像所采集的物理区域的管控策略;并通过通信组件30c将该管控策略提供给发起图像处理请求事件的请求方。
[0166]
在一些可选实施方式中,如图3所示,该电子设备还可以包括:电源组件30d以及音频组件30f等可选组件。图3中仅示意性给出部分组件,并不意味着电子设备必须包含图3所示全部组件,也不意味着电子设备只能包括图3所示组件。
[0167]
值得说明的是,本实施例提供的电子设备,可以为摄像头、相机等图像采集设备,也可为电脑、智能手机等终端设备,或者为服务器、云化的服务器阵列等服务端设备;或者为机器人、无人驾驶车辆或无人机等自主移动设备;等等。其中,电子设备的实现形态不同,包含的功能组件可能不同。例如,对于自主移动设备,还可包括:驱动组件、图像采集组件等等。
[0168]
在本技术实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0169]
在本技术实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)或微控制单元(microcontroller unit,mcu);也可以为现场可编程门阵列(field-programmable gate array,fpga)、可编程阵列逻辑器件(programmable array logic,pal)、通用阵列逻辑器件(general array logic,gal)、复杂可编程逻辑器件(complex programmable logic device,cpld)等可编程器件;或者为先进精简指令集(risc)处理器(advanced risc machines,arm)或系统芯片(system on chip,soc)等等,但不限于此。
[0170]
在本技术实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g或3g,4g,
5g或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术或其他技术来实现。
[0171]
在本技术实施例中,显示组件可以包括液晶显示器(lcd)和触摸面板(tp)。如果显示组件包括触摸面板,显示组件可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0172]
在本技术实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0173]
在本技术实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。
[0174]
本实施例提供的电子设备,一方面,对待处理图像进行主体识别,来确定待处理图像的主体区域;另一方面,对待处理图像进行主体密度估计,得到待处理图像的密度图;之后,基于待处理图像的主体区域,对密度图进行滤波,得到滤波后的密度图,降低了密度图的背景噪声,进而有助于提高主体密度估计的准确度,以及后续根据密度图进行主体计数的准确度。
[0175]
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0176]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0177]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0178]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0179]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0180]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0181]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0182]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0183]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0184]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1