技术领域
本发明涉及图像处理技术领域,尤其涉及一种人群密度检测方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,出现了人群密度估计技术。人群密度估计技术能够自动推理出图像中的总人数,在视频监控、公共安全等领域发挥着重要的作用。通过人群密度图可以对人群密度进行估计。现有人群密度图生成方法主要受到如下限制:采用所有人头目标尺寸一致的方式生成密度图,没有考虑各个人头目标实际大小,无法有效表征大小目标生成密度图的差异性。人头目标大小估计不准确,尤其是对小目标,由于分辨率的问题,手动标注小目标的长宽也没有较高的精度。以上两种限制,均导致人现有人群密度图生成方法不够准确,从而导致人群密度检测结果不够准确。
发明内容
本发明的目的在于提供一种人群密度检测生成方法、装置、设备及存储介质,以提高人群密度检测结果的准确性。
为了解决上述技术问题,第一方面,本发明实施例提供一种人群密度检测方法,包括:
获取待训练图像;
对所述待训练图像进行人头检测,得到初始检测结果;
根据所述初始检测结果获取待训练图像上未检测到的人头;
对所述未检测到的人头进行分类,得到分类结果;
根据所述分类结果对待训练图像进行分离;
根据分离后的待训练图像构建掩膜,得到掩膜图像;
根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像;
根据所述填充图像生成人群密度图像;
根据所述填充图像和人群密度图像训练得到人群密度估计网络;
根据所述人群密度估计网络对待检测图像进行人群密度检测。
进一步地,所述对所述待训练图像进行人头检测,得到初始检测结果,具体包括:
对待训练图像进行人头标记;
对标记后的待训练图像进行人头检测,将响应最高时的目标大小作为对应位置的人头尺寸,得到已检出人头作为所述初始检测结果。
进一步地,所述对所述未检测到的人头进行分类,得到分类结果具体包括:
获取一未检测到的人头周围的若干个人头目标;
当所述若干个人头目标中存在一人头目标为已检测人头,则将所述一人头目标的人头尺寸赋予所述一未检测到的人头,并将所述一未检测到的人头与已检测人头归为一类,记为正常检出类;
当所述若干个人头目标中不存在一人头目标为已检出人头,则将所述一未检测到的人头记为干扰类。
进一步地,所述根据所述分类结果对待训练图像进行分离具体为:
在待训练图像上将所述正常检出类和干扰类进行分离。
进一步地,所述根据分离后的待训练图像构建掩膜,得到掩膜图像,具体包括:
根据待训练图像构建相同大小的掩膜;
所述掩膜在正常检出类对应位置的取值设为1,在干扰类对应位置的取值设为0,得到所述掩膜图像。
进一步地,所述根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像,具体包括:
获取待训练图像上与掩膜图像取值为0对应的区域,记为填充区域;
采用负样本图像对所述填充区域进行填充,得到填充图像。
进一步地,所述的人群密度检测方法,还包括:
对所述待训练图像和掩膜图像进行同等比例的缩放,得到缩放待训练图像和缩放掩膜图像;
根据所述缩放掩膜图像对所述缩放待训练图像进行填充处理,得到缩放填充图像;
根据所述缩放填充图像生成缩放人群密度图像;
根据所述填充图像、人群密度图像、缩放填充图像和缩放人群密度图像训练得到所述人群密度估计网络。
第二方面,本发明实施例提供一种人群密度检测装置,包括:
待训练图像获取单元,用于获取待训练图像;
人头检测单元,用于对所述待训练图像进行人头检测,得到初始检测结果;
未检测到的人头获取单元,用于根据所述初始检测结果获取待训练图像上未检测到的人头;
分类单元,用于对所述未检测到的人头进行分类,得到分类结果;
分离单元,用于根据所述分类结果对待训练图像进行分离;
掩膜构建单元,用于根据分离后的待训练图像构建掩膜,得到掩膜图像;
填充单元,用于根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像;
人群密度图像生成单元,用于根据所述填充图像生成人群密度图像;
训练单元,用于根据所述填充图像和人群密度图像训练得到人群密度估计网络;
人群密度检测单元,用于根据所述人群密度估计网络对待检测图像进行人群密度检测。
第三方面,本发明实施例提供一种人群密度检测设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的人群密度检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一项所述的人群密度检测方法。
与现有技术相比,本发明实施例通过对待训练图像进行人头检测,使得能够获得各个人头实际的尺寸信息,相比于现有技术采用所有人头尺寸一致的方式生成人群密度图,本发明实施例生成的人群密度图更加的准确。此外,本发明实施例通过对未检测到的人头进行分类并结合掩膜技术,解决了不能检测到的人头对人群密度估计网络训练的影响,例如,通过剔除人头尺寸小过小的人头,相比于现有技术对小人头目标尺寸标注精度不高,本发明实施例提高了人群密度检测结果的准确度。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的人群密度检测方法的流程示意图;
图2是本发明一实施例中若人头检测器为分类器,多个检测框检测到同一个人头时的示意图。
图3是本发明一实施例提供的人群密度检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
实施例1:
请参阅图1,本发明实施例提供一种人群密度检测方法,包括步骤S1至S10:
S1、获取待训练图像。
需要说明的是,本发明实施例的执行主体可以为服务器或终端设备,本发明实施例对执行主体不作限制,只要能够实现本发明实施例的人群密度检测方法即可。
S2、对所述待训练图像进行人头检测,得到初始检测结果。
在本发明实施例中,具体地,通过人头检测器对待训练图像进行人头检测,所述人头检测器为使用faster-rcnn、yolo或ssd等物体检测算法以及人头数据集训练得到。
S3、根据所述初始检测结果获取待训练图像上未检测到的人头。
在本发明实施例中,需要说明的,若待训练图像上有的人头的尺寸过小,超过了人头检测器的检测范围,则会导致该人头检测不出来。此外,虽然待训练图像上有的人头的尺寸是正常的尺寸,但是,可能由于人头姿态或人头检测器的原因也会导致检测不出来,因此,未检测到的人头主要包括两类:第一类为正常人头尺寸,但是可能由于人头姿态或者人头检测器的原因从而未被检测到;第二类为尺寸过小的人头,太小的人头超过了人头检测器的检测范围。
S4、对所述未检测到的人头进行分类,得到分类结果。
在本发明实施例中,由于第一类未检测到的人头为正常尺寸的人头,若检测不出来,则会降低人群密度图的准确性。而第二类人头,由于人头过小,无法估计其人头大小,因此,需要将其剔除处理。因此,需要对未检测到的人头进行分类,以便于分开处理。
S5、根据所述分类结果对待训练图像进行分离。
S6、根据分离后的待训练图像构建掩膜,得到掩膜图像。
S7、根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像。在本发明实施例中,应当理解的是,掩膜图像是由0和1组成的二进制图像,根据掩膜图像对待训练图像进行填充处理,能够将过小人头进行剔除,保留正常尺寸的人头,从而能够提高人群密度图的准确性。
S8、根据所述填充图像生成人群密度图像;
在本发明实施例中,具体地,根据所述填充图像中各人头中心点坐标和人头尺寸大小生成人群密度图。
S9、根据所述填充图像和人群密度图像训练得到人群密度估计网络。
在本发明实施例中,由于人群密度图均是根据将填充后图像生成的,因此,训练得到的人群密度估计网络的准确性会更高。
S10、根据所述人群密度估计网络对待检测图像进行人群密度检测。
在本发明实施例中,由上述可知,由于人群密度估计网络准确性更高,因此,人群密度检测结果的准确率也会更高。
与现有技术相比,本发明实施例通过对待训练图像进行人头检测,使得能够获得各个人头实际的尺寸信息,相比于现有技术采用所有人头尺寸一致的方式生成人群密度图,本发明实施例生成的人群密度图更加的准确。此外,本发明实施例通过对未检测到的人头进行分类并结合掩膜技术,解决了不能检测到的人头对人群密度估计网络训练的影响,例如,通过剔除人头尺寸小过小的人头,相比于现有技术对小人头目标尺寸标注精度不高,本发明实施例提高了人群密度检测结果的准确度。
作为本发明实施例的一种举例,所述对所述待训练图像进行人头检测,得到初始检测结果具体包括:
对待训练图像进行人头标记;
对标记后的待训练图像进行人头检测,将响应最高时的目标大小作为对应位置的人头尺寸,得到已检出人头作为所述初始检测结果。
具体地,首先根据待训练图像上各人头的人头中心坐标对待训练图像进行人头标记,然后利用人头检测器在各人头中心坐标上进行人头检测,以获得各人头的人头尺寸。需要说明的是,人头检测器不一定能够全部检测到人头中心坐标上对应的人头,因此,对于未检测到的人头,是得不到该人头的人头尺寸的。
在本发明实施例中,若人头检测器为分类器,如图2所示,虚线框表示人头检测器的尺寸、圆圈表示人头、实线方框表示以人头中心坐标为中心的不同大小的检测框。当多个检测框同时检测到了同一个人头时,选取与该人头尺寸最接近的检测框的大小作为该人头的人头尺寸,也即将响应最高时的目标大小作为对应位置的人头尺寸。检测框的长宽和人头检测器的长宽成比例,第i个检测框的长宽和人头检测器的长度的比例值为r
作为本发明实施例的一种举例,所述对所述未检测到的人头进行分类,得到分类结果具体包括:
获取一未检测到的人头周围的若干个人头目标;
当所述若干个人头目标中存在一人头目标为已检测人头,则将所述一人头目标的人头尺寸赋予所述一未检测到的人头,并将所述一未检测到的人头与已检测人头归为一类,记为正常检出类;
当所述若干个人头目标中不存在一人头目标为已检出人头,则将所述一未检测到的人头记为干扰类。
具体地,首先获取一未检测到的人头周围的若干个人头目标;然后根据所述一未检测到的人头的人头中心点坐标和各所述人头目标的中心点坐标计算所述一未检测到的人头与各所述人头目标之间的距离;再对所述距离从小到大进行排序;排序后,按照排序顺序,依次查询各所述人头目标是否为已检测人头,若查询到的人头目标为已检测人头,则将所述查询到的人头目标的尺寸赋予所述一未检测的人头,否则继续查询,直至所述若干个人头目标查询完毕。
需要说明的是,所述正常检出类为正常尺寸的人头,所述干扰类为人头过小的人头,人头尺寸超出检测器范围的人头。
本发明实施例通过人头检测器和根据人头尺寸的邻域特性来确定每个人头实际的尺寸,相比于现有技术仅根据预设的固定核确定所有人头的人头尺寸,生成的人群密度图更符合实际人群密度图,也即人群密度检测结果会更准确。
作为本发明实施例的一种举例,所述根据所述分类结果对待训练图像进行分离具体为:
在待训练图像上将所述正常检出类和干扰类进行分离。
具体地,采用图像边界将所述正常检测类和干扰类进行分离。
作为本发明实施例的一种举例,所述根据分离后的待训练图像构建掩膜,得到掩膜图像具体包括:
根据待训练图像构建相同大小的掩膜;
所述掩膜在正常检出类对应位置的取值设为1,在干扰类对应位置的取值设为0,得到所述掩膜图像。
在本发明实施例中,将掩膜在干扰类对应位置的取值设为0的目的是为了剔除干扰类,即剔除待训练图像中过小的人头;将掩膜在正常检测类对应位置的取值设为1是为了保留正常检测类,以使得能够根据正常检测类的人头生成人群密度图,提高人群密度图的准确性。
具体实施时,掩膜的构建方式有许多种,其中一种构建方式具体为:
设(x
条件1:对于坐标点(x,y),存在p
条件2:对于坐标点(x,y),存在q
若坐标点(x,y)满足条件1且不满足条件2时,则Mask(x,y)=1;其中,Mask(x,y)为坐标点(x,y)的掩膜值;
若坐标点(x,y)不满足条件1且满足条件2,则Mask(x,y)=0;
若坐标点(x,y)满足条件1且满足条件2,则
其中,L2(x,y)=x
若坐标点(x,y)不满足条件1且不满足条件2,则
需要说明的是,上述坐标为以像素为单位的坐标。
作为本发明实施例的一种举例,所述根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像具体包括:
获取待训练图像上与掩膜图像取值为0对应的区域,记为填充区域;
采用负样本图像对所述填充区域进行填充,得到填充图像。
在本发明实施例中,采用负样本图像对所述填充区域进行填充的目的是为了避免干扰类的干扰,即避免过小的人头影响密度图的准确生成,所述负样本图像为不包含人物的图像,例如,可以是树木图像。
为进一步提高人群密度检测结果的准确性,因此,作为本发明实施例的一种举例,所述人群密度检测方法,还包括:
对所述待训练图像和掩膜图像进行同等比例的缩放,得到缩放待训练图像和缩放掩膜图像;
根据所述缩放掩膜图像对所述缩放待训练图像进行填充处理,得到缩放填充图像;
根据所述缩放填充图像生成缩放人群密度图像;
根据所述填充图像、人群密度图像、缩放填充图像和缩放人群密度图像训练得到所述人群密度估计网络。
对待训练图像和掩膜图像进行缩放并得到相应的人群密度估计网络后,人群密度估计网络既可以进行正常尺寸人头的检测,还可以用于较小人头的检测,提高人头检测精度,缩放的比例可以根据需要进行调整,且缩放次数也可以根据需要进行设置。
实施例2:
请参阅图3,本发明实施例提供一种人群密度检出装置,包括:
待训练图像获取单元1,用于获取待训练图像;
人头检测单元2,用于对所述待训练图像进行人头检测,得到初始检测结果;
未检测到的人头获取单元3,用于根据所述初始检测结果获取待训练图像上未检测到的人头;
分类单元4,用于对所述未检测到的人头进行分类,得到分类结果;
分离单元5,用于根据所述分类结果对待训练图像进行分离;
掩膜构建单元6,用于根据分离后的待训练图像构建掩膜,得到掩膜图像;
填充单元7,用于根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像;
人群密度图像生成单元8,用于根据所述填充图像生成人群密度图像;
训练单元9,用于根据所述填充图像和人群密度图像训练得到人群密度估计网络;
人群密度检测单元10,用于根据所述人群密度估计网络对待检测图像进行人群密度检测。
作为本发明实施例的一种举例,所述对所述待训练图像进行人头检测,得到初始检测结果,具体包括:
对待训练图像进行人头标记;
对标记后的待训练图像进行人头检测,将响应最高时的目标大小作为对应位置的人头尺寸,得到已检出人头作为所述初始检测结果。
作为本发明实施例的一种举例,所述对所述未检测到的人头进行分类,得到分类结果具体包括:
获取一未检测到的人头周围的若干个人头目标;
当所述若干个人头目标中存在一人头目标为已检测人头,则将所述一人头目标的人头尺寸赋予所述一未检测到的人头,并将所述一未检测到的人头与已检测人头归为一类,记为正常检出类;
当所述若干个人头目标中不存在一人头目标为已检出人头,则将所述一未检测到的人头记为干扰类。
作为本发明实施例的一种举例,所述根据所述分类结果对待训练图像进行分离具体为:
在待训练图像上将所述正常检出类和干扰类进行分离。
作为本发明实施例的一种举例,所述根据分离后的待训练图像构建掩膜,得到掩膜图像,具体包括:
根据待训练图像构建相同大小的掩膜;
所述掩膜在正常检出类对应位置的取值设为1,在干扰类对应位置的取值设为0,得到所述掩膜图像。
作为本发明实施例的一种举例,所述根据所述掩膜图像对所述待训练图像进行填充处理,得到填充图像,具体包括:
获取待训练图像上与掩膜图像取值为0对应的区域,记为填充区域;
采用负样本图像对所述填充区域进行填充,得到填充图像。
作为本发明实施例的一种举例,所述的人群密度检测装置,还包括:
缩放单元,用于对所述待训练图像和掩膜图像进行同等比例的缩放,得到缩放待训练图像和缩放掩膜图像;
第二填充单元,用于根据所述缩放掩膜图像对所述缩放待训练图像进行填充处理,得到缩放填充图像;
缩放人群密度图生成单元,用于根据所述缩放填充图像生成缩放人群密度图像;
第二训练单元,用于根据所述填充图像、人群密度图像、缩放填充图像和缩放人群密度图像训练得到所述人群密度估计网络。
实施例3:
本发明实施例还提供一种人群密度检测设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的人群密度检测方法。
实施例4:
本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的人群密度检测方法。
需要说明的是,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要进一步说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
机译: 活性检测方法和装置,电子设备,存储介质和相关系统使用活性检测方法
机译: 活性检测方法和装置,电子设备,存储介质和相关系统使用活性检测方法
机译: 活性检测方法和装置,电子设备,存储介质和相关系统使用活性检测方法