图像过滤方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:57:35
技术领域
本申请涉及图像识别技术领域,具体涉及一种图像过滤方法、装置、电子 设备及存储介质。
背景技术
行人重识别、人脸人体识别、人脸人体聚类是智能安防领域的关键技术, 随着硬件条件和深度学习技术的发展,越来越多的安防技术的实现大多都是基 于深度学习技术实现的,而深度学习技术很依赖训练样本集的质量。
目前,在构建训练样本集的过程中,往往是先对拍摄的高分辨率的图像进 行人体和人脸检测,然后,从高分辨率图像出截取出包含有人体的图像,并对 该图像进行标注,最后将标注后的图像作为训练样本。
由于拍摄图片角度和光线等方面因素的不同,截取出的图像中可能包含不 只一个人体,导致标注精度比较低,构造出的训练样本质量较差。
发明内容
本申请实施例提供了一种图像过滤方法、装置、电子设备及存储介质,在 构造训练样本前,先对图像进行过滤,提高训练样本的质量。
第一方面,本申请实施例提供一种图像过滤方法,包括:
对待过滤图像进行人体检测,得到N个人体框和N个人体掩码图,其中, 所述N个人体框和所述N个人体掩码图一一对应,N为大于或等于1的整数;
根据所述N个人体框和所述N个人体掩码图对所述待过滤图像进行过滤。
在一些可能的实施方式中,所述根据所述N个人体框和所述N个人体掩码 图对所述待过滤图像进行过滤,包括:
获取所述N个人体框中每个人体框的置信度;
根据所述每个人体框的置信度以及所述每个人体框对应的人体掩码图,对 所述N个人体框进行非极大值抑制,得到K个人体框,K为小于或等于N的整 数;
根据所述K个人体框以及与所述K个人体框对应的K人体掩码图,对所述 待过滤图像进行过滤。
在一些可能的实施方式中,所述根据所述每个人体框的置信度以及所述每 个人体框对应的人体掩码图,对所述N个人体框进行非极大值抑制,得到K个 人体框,包括:
根据所述每个人体框的置信度对所述N个人体框进行降序排序,得到第一 集合;
将第一人体框从所述第一集合移出,得到第二集合,所述第一人体框为所 述N个人体框中置信度最大的人体框;
确定第一人体掩码图和第二人体掩码图之间的第一交并比,所述第一人体 掩码图为与所述第一人体框对应的人体掩码图,所述第二人体掩码图为与第二 人体框对应的人体掩码图,所述第二人体框为所述第二集合中的任意一个人体 框;
在所述第一交并比大于第一阈值的情况下,将所述第二人体框从所述第二 集合中删除,得到第三集合,在所述第一交并比小于或等于所述第一阈值的情 况下,将所述第二人体框保留在所述第二集合中,并将所述第二集合作为第三 集合;
将所述第三集合作为新的第一集合,并对所述新的第一集合的人体框进行 非极大值抑制,在所述新的第一集合中的元素为零的情况下,将对所述N个人 体框进行非极大值抑制过程中移出的人体框作为所述K个人体框。
在一些可能的实施方式中,所述确定第一人体掩码图和第二人体掩码图之 间的第一交并比,包括:
对所述第一人体掩码图和所述第二人体掩码图之间的相交区域中的各个像 素点的像素值求和,得到第一掩码面积;
对所述第一人体掩码图中的各个像素点的像素值求和,得到第二掩码面积;
对所述第二人体掩码图中的各个像素点的像素值求和,得到第三掩码面积;
根据所述第一掩码面积、所述第二掩码面积以及所述第三掩码面积,确定 所述第一人体掩码图和所述第二人体掩码图之间的第一交并比。
在一些可能的实施方式中,所述根据所述第一掩码面积、所述第二掩码面 积以及所述第三掩码面积,确定所述第一人体掩码图和所述第二人体掩码图之 间的第一交并比,包括:
确定所述第一掩码面积相对于所述第二掩码面积的第一比值;
确定所述第一掩码面积相对于所述第三掩码面积的第二比值;
将所述第一比值和所述第二比值中的最大比值作为所述第一交并比。
在一些可能的实施方式中,所述根据所述N个人体框和所述N个人体掩码 图对所述待过滤图像进行过滤,包括:
对所述K个人体掩码图中的每个人体掩码图中的各个像素点的像素值求 和,得到所述K个人体掩码图中的每个人体掩码图对应的掩码面积;
确定第三人体掩码图的掩码面积与第四人体掩码图的掩码面积的第三比 值,其中,所述第三人体掩码图为所述K个人体掩码图中掩码面积最大的人体 掩码图,所述第四人体掩码图为所述K个人体掩码图中掩码面积仅次于所述第 三人体掩码图的人体掩码图;
在所述第三比值大于或等于第二阈值的情况下,保留所述待过滤图像,在 所述第三比值小于所述第二阈值的情况下,滤除所述待过滤图像。
在一些可能的实施方式中,在保留所述待过滤图像的情况下,所述方法还 包括:
对所述待过滤图像进行人脸检测,得到M个人脸掩码图,M为大于或等于 0的整数;
根据所述第三人体掩码图以及所述M个人脸掩码图,构造训练样本。
在一些可能的实施方式中,所述根据所述第三人体掩码图以及所述M个人 脸掩码图,构造训练样本,包括:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图之间的 第二交并比;
根据所述每个人脸掩码图与所述第三人体掩码图之间的第二交并比,构造 训练样本。
在一些可能的实施方式中,所述根据所述每个人脸掩码图与所述第三人体 掩码图之间的第二交并比,构造训练样本,包括:
在所述M个人脸掩码图中第二交比大于第三阈值的人脸掩码图的数量大于 或等于两个的情况下,舍弃所述待过滤图像;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为一个,且第二交并比大于所述第三阈值的人脸掩码图位于所述第三人体掩 码图的预设区域的情况下,将所述待过滤图像作为第一训练样本;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为零个的情况下,将所述待过滤图像作为第二训练样本;
其中,所述第一训练样本中存在与所述第三人体掩码图对应的人体关联的 人脸,所述第二训练样本中人体不存在与所述第三人体掩码图对应的人体关联 的人脸。
在一些可能的实施方式中,所述确定所述M个人脸掩码图中每个人脸掩码 图与所述第三人体掩码图之间的第二交并比,包括:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图的相交 区域,并对所述相交区域中的像素点的像素值求和,得到所述每个人脸掩码图 对应的第四掩码面积;
对所述每个人脸掩码图中的像素点的像素值求和,得到所述每个人脸掩码 图对应的第五掩码面积;
将所述每个人脸掩码图对应的第四掩码面积相对于所述每个人脸掩码图对 应的第五掩码面积的比值作为所述每个人脸掩码图与所述第三人体掩码图之间 的第二交并比。
在一些可能的实施方式中,所述方法还包括:
使用所述第一训练样本对第一神经网络进行训练;和/或,使用所述第二训 练样本对第二神经网络进行训练。
在一些可能的实施方式中,所述对待过滤图像进行人体检测,得到N个人 体框和N个人体掩码图,包括:
将所述待过滤图像输入到完成训练的神经网络进行人体检测,得到N个人 体框和N个人体掩码图。
在一些可能的实施方式中,将所述待过滤输入到完成训练的神经网络,得 到N个人体框和N个人体掩码图之前,所述方法还包括:
获取第三训练样本以及第四训练样本,所述第三训练样本中对人体的标注 精度低于所述第四训练样本中对人体的标注精度;
使用所述第三训练样本对第三神经网络的网络参数进行调整,得到调整后 的第三神经网络;
使用所述第四训练样本对所述调整后的第三神经网络的网络参数进行调 整,得到所述完成训练的神经网络。
第二方面,本申请实施例提供一种图像过滤装置,包括:
检测单元,用于对待过滤图像进行人体检测,得到N个人体框和N个人体 掩码图,其中,所述N个人体框和所述N个人体掩码图一一对应,N为大于或 等于1的整数;
过滤单元,用于根据所述N个人体框和所述N个人体掩码图对所述待过滤 图像进行过滤。
在一些可能的实施方式中,在根据所述N个人体框和所述N个人体掩码图 对所述待过滤图像进行过滤方面,所述过滤单元,具体用于:
获取所述N个人体框中每个人体框的置信度;
根据所述每个人体框的置信度以及所述每个人体框对应的人体掩码图,对 所述N个人体框进行非极大值抑制,得到K个人体框,K为小于或等于N的整 数;
根据所述K个人体框以及与所述K个人体框对应的K人体掩码图,对所述 待过滤图像进行过滤。
在一些可能的实施方式中,在根据所述每个人体框的置信度以及所述每个 人体框对应的人体掩码图,对所述N个人体框进行非极大值抑制,得到K个人 体框方面,所述过滤单元,具体用于:
根据所述每个人体框的置信度对所述N个人体框进行降序排序,得到第一 集合;
将第一人体框从所述第一集合移出,得到第二集合,所述第一人体框为所 述N个人体框中置信度最大的人体框;
确定第一人体掩码图和第二人体掩码图之间的第一交并比,所述第一人体 掩码图为与所述第一人体框对应的人体掩码图,所述第二人体掩码图为与第二 人体框对应的人体掩码图,所述第二人体框为所述第二集合中的任意一个人体 框;
在所述第一交并比大于第一阈值的情况下,将所述第二人体框从所述第二 集合中删除,得到第三集合,在所述第一交并比小于或等于所述第一阈值的情 况下,将所述第二人体框保留在所述第二集合中,并将所述第二集合作为第三 集合;
将所述第三集合作为新的第一集合,并对所述新的第一集合的人体框进行 非极大值抑制,在所述新的第一集合中的元素为零的情况下,将对所述N个人 体框进行非极大值抑制过程中移出的人体框作为所述K个人体框。
在一些可能的实施方式中,在确定第一人体掩码图和第二人体掩码图之间 的第一交并比方面,所述过滤单元,具体用于:
对所述第一人体掩码图和所述第二人体掩码图之间的相交区域中的各个像 素点的像素值求和,得到第一掩码面积;
对所述第一人体掩码图中的各个像素点的像素值求和,得到第二掩码面积;
对所述第二人体掩码图中的各个像素点的像素值求和,得到第三掩码面积;
根据所述第一掩码面积、所述第二掩码面积以及所述第三掩码面积,确定 所述第一人体掩码图和所述第二人体掩码图之间的第一交并比。
在一些可能的实施方式中,在根据所述第一掩码面积、所述第二掩码面积 以及所述第三掩码面积,确定所述第一人体掩码图和所述第二人体掩码图之间 的第一交并比方面,所述过滤单元,具体用于:
确定所述第一掩码面积相对于所述第二掩码面积的第一比值;
确定所述第一掩码面积相对于所述第三掩码面积的第二比值;
将所述第一比值和所述第二比值中的最大比值作为所述第一交并比。
在一些可能的实施方式中,在根据所述N个人体框和所述N个人体掩码图 对所述待过滤图像进行过滤方面,所述过滤单元,具体用于:
对所述K个人体掩码图中的每个人体掩码图中的各个像素点的像素值求 和,得到所述K个人体掩码图中的每个人体掩码图对应的掩码面积;
确定第三人体掩码图的掩码面积与第四人体掩码图的掩码面积的第三比 值,其中,所述第三人体掩码图为所述K个人体掩码图中掩码面积最大的人体 掩码图,所述第四人体掩码图为所述K个人体掩码图中掩码面积仅次于所述第 三人体掩码图的人体掩码图;
在所述第三比值大于或等于第二阈值的情况下,保留所述待过滤图像,在 所述第三比值小于所述第二阈值的情况下,滤除所述待过滤图像。
在一些可能的实施方式中,在保留所述待过滤图像的情况下,所述装置还 包括:样本构造单元;其中,所述样本构造单元,用于:
对所述待过滤图像进行人脸检测,得到M个人脸掩码图,M为大于或等于 0的整数;
根据所述第三人体掩码图以及所述M个人脸掩码图,构造训练样本。
在一些可能的实施方式中,在根据所述第三人体掩码图以及所述M个人脸 掩码图,构造训练样本方面,所述样本构造单元,具体用于:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图之间的 第二交并比;
根据所述每个人脸掩码图与所述第三人体掩码图之间的第二交并比,构造 训练样本。
在一些可能的实施方式中,在根据所述每个人脸掩码图与所述第三人体掩 码图之间的第二交并比,构造训练样本方面,所述样本构造单元,具体用于:
在所述M个人脸掩码图中第二交比大于第三阈值的人脸掩码图的数量大于 或等于两个的情况下,舍弃所述待过滤图像;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为一个,且第二交并比大于所述第三阈值的人脸掩码图位于所述第三人体掩 码图的预设区域的情况下,将所述待过滤图像作为第一训练样本;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为零个的情况下,将所述待过滤图像作为第二训练样本;
其中,所述第一训练样本中存在与所述第三人体掩码图对应的人体关联的 人脸,所述第二训练样本中人体不存在与所述第三人体掩码图对应的人体关联 的人脸。
在一些可能的实施方式中,在确定所述M个人脸掩码图中每个人脸掩码图 与所述第三人体掩码图之间的第二交并比方面,所述样本构造单元,具体用于:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图的相交 区域,并对所述相交区域中的像素点的像素值求和,得到所述每个人脸掩码图 对应的第四掩码面积;
对所述每个人脸掩码图中的像素点的像素值求和,得到所述每个人脸掩码 图对应的第五掩码面积;
将所述每个人脸掩码图对应的第四掩码面积相对于所述每个人脸掩码图对 应的第五掩码面积的比值作为所述每个人脸掩码图与所述第三人体掩码图之间 的第二交并比。
在一些可能的实施方式中,所述装置还包括:第一训练单元;其中,所述 第一训练单元,用于:
使用所述第一训练样本对第一神经网络进行训练;和/或,使用所述第二训 练样本对第二神经网络进行训练。
在一些可能的实施方式中,在对待过滤图像进行人体检测,得到N个人体 框和N个人体掩码图方面,所述过滤单元,具体用于:
将所述待过滤图像输入到完成训练的神经网络进行人体检测,得到N个人 体框和N个人体掩码图。
在一些可能的实施方式中,将所述待过滤输入到完成训练的神经网络,得 到N个人体框和N个人体掩码图之前,所述装置还包括第二训练单元,所述第 二训练单元,用于:
获取第三训练样本以及第四训练样本,所述第三训练样本中对人体的标注 精度低于所述第四训练样本中对人体的标注精度;
使用所述第三训练样本对第三神经网络的网络参数进行调整,得到调整后 的第三神经网络;
使用所述第四训练样本对所述调整后的第三神经网络的网络参数进行调 整,得到所述完成训练的神经网络。
第三方面,本申请实施例提供一种电子设备,包括:处理器,所述处理器 与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存 储器中存储的计算机程序,以使得所述电子设备执行如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读 存储介质存储有计算机程序,所述计算机程序使得计算机执行如第一方面所述 的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品 包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来 使计算机执行如第一方面所述的方法。
实施本申请实施例,具有如下有益效果:
可以看出,在本申请实施例中,先对待过滤图像进行人体检测,得到N个 人体框和N个人体掩码图,并根据该N个人体框和N个人体掩码图对待过滤图 像进行过滤,可以滤除质量较低的图像,将质量较高的图像保留下来,从而质 量较高的图像构造训练样本,使构造出的训练样本质量较高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还 可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种图像过滤方法的应用场景示意图;
图2为本申请实施例提供的一种图像过滤方法的流程示意图;
图3为本申请实施例提供的一种待过滤图像的示意图;
图4为本申请实施例提供的另一种待过滤图像的示意图;
图5为本申请实施例提供的另一种待过滤图像的示意图;
图6为本申请实施例提供的一种神经网络训练的流程示意图;
图7为本申请实施例提供的一种第三训练样本的示意图;
图8为本申请实施例提供的一种第四训练样本的示意图;
图9为本申请实施例提供的一种图像过滤装置的功能单元组成框图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部 的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、 “第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外, 术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例 如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列 出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括 对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特 性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语 并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实 施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与 其它实施例相结合。
为了更好的理解本申请实施例的图像过滤方法,下面首先对图像过滤方法 的场景进行简要介绍。通过图像过滤方法对待过滤图像进行过滤,得到过滤结 果,以便从待过滤图像中筛选出质量较高的图像,便于后续使用高质量的图像 来构造训练样本,提高训练样本的质量。
下面介绍一种可能的应用场景,参阅图1,图1为本申请实施例提供的一种 图像过滤方法的应用场景示意图。如图1所示,通过人体检测器从大量的原始 图像中筛选出的包括人体的图像,并将筛选出的待过滤图像发送给图像过滤装 置;然后,图像过滤装置对待过滤图像进行人体检测,得到N个人体框和N个 人体掩码图,并根据N个人体框和N个人体掩码图对待过滤图像进行过滤,得 到过滤结果,并根据过滤结果构造训练样本。可以看出,在构造训练样本前, 先对待过滤图像进行质量过滤,以得到高质量的图像,以便提高训练样本的质 量。
需要说明的是,本申请的图像过滤方法可以应用于图像过滤装置。比如, 图像过滤装置可以为电子设备或者服务器。其中,电子设备可以包括智能手机、 平板电脑、掌上电脑、笔记本电脑、移动互联网设备、车载终端、计算机设备 或穿戴式设备等。其中,服务器可以是独立的物理服务器,也可以是服务器集 群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存 储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人 工智能平台等基础云计算服务的云服务器等。因此,本申请不对图像过滤装置 的形式进行限定。
参阅图2,图2为本申请实施例提供的一种图像过滤方法的流程示意图。该 方法包括以下步骤:
201:对待过滤图像进行人体检测,得到N个人体框和N个人体掩码图, 其中,N个人体框和N个人体掩码图一一对应,N为大于或等于1的整数。
如图1所述,该待过滤图像为通过人体检测器从大量的原始图像中筛选出 的包括人体的图像,该人体检测器可以为通用的人体检测器。
示例性的,可对待过滤图像进行目标检测(即人体检测),得到N个人体 框,并对每个人体框进行人体分割,得到N个人体掩码图。其中,对待过滤图 像进行目标检测以及人体分割可以通过完成训练的神经网络实现,即将该待过 滤图像输入到该完成训练的神经网络,得到该N个人体框和N个人体掩码图, 后面详细叙述对该神经网络的训练过程,在此不做过多描述。
示例性的,每个人体框的人体掩码图用于表示该人体框中人体所在的区域。 此外,本申请中所涉及的人体掩码图均是通过独热编码(one-hot)后的掩码图。 因此,人体掩码图中像素值为1的像素点表示该像素点为人体,像素值为0的 像素点表示该像素点不是人体。同样,后面所涉及的人脸掩码图与人体掩码图 类似,也都是通过独热编码得到的,不再叙述。
202:根据N个人体框和N个人体掩码图对待过滤图像进行过滤。
示例性的,可根据N个人体框的置信度以及N个人体掩码图,综合对该N 个人体框进行非极大值抑制,以对该待过滤图像进行过滤,以筛选出质量比较 高的待过滤图像构造训练样本。
可以看出,在本申请实施例中,先对待过滤图像进行人体检测,得到N个 人体框和N个人体掩码图,并根据该N个人体框和N个人体掩码图对待过滤图 像进行过滤,可以滤除质量较低的图像,比如,将图像中没有主要人体的过滤 掉,将质量较高的图像保留下来,从而利用质量较高的图像构造训练样本,使 构造出的训练样本质量较高。
下面结合附图介绍本申请中对待过滤图像进行过滤的过程。
示例性的,获取N个人体框中每个人体框的置信度,其中,每个人体框的 置信度是在对人体进行目标检测的过程中得到的,不再详细描述;然后,根据 每个人体框的置信度以及每个人体框对应的人体掩码图,对N个人体框进行非 极大值抑制,得到K个人体框,K为小于或等于N的整数;最后,根据K个人 体框以及与该K个人体框对应的K个掩码图,对待过滤图像进行过滤。
具体的,先根据每个人体框的置信度对N个人体框进行降序排序,得到第 一集合;然后,将第一人体框从第一集合中移出,得到第二集合,即将N个人 体框中除第一人体框之外的剩余人体框组成第二集合,其中,该第一人体框为 该N个人体框中置信度最大的人体框;确定第一人体掩码图和第二人体掩码图 之间的第一交并比,其中,该第一人体掩码图为与该第一人体框对应的人体掩 码图,该第二人体掩码图为与第二人体框对应的人体掩码图,该第二人体框为 该第二集合中的任意一个人体框;然后,在该第一交并比大于第一阈值的情况 下,将该第二人体框从第二集合中删除,并将第二集合中的剩余人体框组成第三集合;此外,在该第一交并比小于或等于第一阈值的情况下,将该第二人体 框保留在第二集合中,并将此时的第二集合作为第三集合;然后,将对第二人 体框处理(包括保留或者删除)后得到的第三集合作为一个新的第一集合,并 对新的第一集合执行上述对第一集合所执行的过程,直至将新的第一集合中的 元素全部移出,也就是在新的第一集合中的元素为零的情况下,将对N个人体 框进行非极大值抑制过程中移出的人体框作为该K个人体框,也就是将从从第 一集合和新的第一集合中移出的人体框作为该K个人体框。
示例性的,可以先确定出第一人体掩码图和第二人体掩码图之间的相交区 域;对该第一人体掩码图和第二人体掩码图之间的相交区域中的各个像素点的 像素值求和,得到第一掩码面积。应理解,由于人体掩码图是通过独热编码得 到的,则该第一掩码面积实质上就是该第一人体框对应的人体与该第二人体框 对应的人体之间重叠的像素点的数量,也可以理解为第一人体框对应的人体与 该第二人体框对应的人体之间重叠的面积;然后,对第一人体掩码图中的各个 像素点的像素值求和,得到第二掩码面积,该第二掩码面积可以理解为该第一 人体框对应的人体的面积;对该第二人体掩码图中的各个像素点的像素值求和, 得到第三掩码面积,同样,该第三掩码面积可以理解为第二人体框对应的人体 的面积。最后,根据该第一掩码面积、第二掩码面积以及第三掩码面积,确定 该第一人体掩码图和第二人体掩码图之间的第一交并比。
进一步地,确定第一掩码面积相对于第二掩码面积的第一比值以及确定第 一掩码面积相对于第三掩码面积的第二比值;将第一比值与第二比值中的最大 比值作为该第一交并比。因此,第一交并比可以通过公式(1)表示:
IOU
其中,IOU
应理解,现有的非极大值抑制主要是通过人体框的的置信度进行非极大值 抑制,这样,若设置的阈值太小,在对当前人体框进行非极大值抑制的过程中, 邻近的人的人体框与当前人体框的交并比可能会大于这个阈值,需要将邻近的 人的人体框删除,也就误将邻近的人的人体框删除;若设置的阈值太大,导致 同一个人体的不同人体框的交并比也会小于这个阈值,不会删除重复的人体框, 这样同一个人体就会被保留下了多个人体框。可以看出,本申请中在对人体框 进行非极大值抑制的过程中,结合人体框的置信度和人体框的人体掩码图(人 体掩码图真实的反映了人体框中人体的位置和区域)进行非极大值抑制,这样 两个人体框之间的交并比,就是两个人体框中的两个人体之间的交并比,并非 是两个人体框的交并比。所以,如果是同一个人体的两个人体框,交并比将会 非常大,不会受设置的阈值的影响,如果是邻近的人,则交并比将会非常小(甚 至为零),也不会受设置的阈值的影响。因此,本申请中的非极大值可以使保 留下的K个人体框的精度更高,更全面,提高人体框筛选的精度。
示例性的,在得到K个人体框之后,可以对该K个人体框中的每个人体框 中的各个像素点求和,得到该K个人体掩码图中每个人体掩码图对应的掩码面 积;然后,确定第三人体掩码图的掩码面积与第四人体掩码图的掩码面积的第 三比值,其中,该第三人体掩码图为K个人体掩码图中掩码面积最大人体掩码 图,该第四人体掩码图为该K个人体掩码图中掩码面积仅次于该第三人体掩码 图的人体掩码图;在该第三比值大于或等于第二阈值的情况下,保留该待过滤 图像;在该第三比值小于第二阈值的情况下,滤除该待过滤图像。
示例性的,如图3所示,在该第三比值大于或者等于第二阈值的情况下, 则表示该第三人体掩码图对应的人体在该待过滤图像中所占的面积远大于第四 人体掩码图对应的人体,换句话说,该待过滤图像中包含主要人体,即有一个 特征比较明显的人体,这样的待过滤图像可以作为训练样本,因此,将这样的 待过滤图像保留。在该第三比值小于第二阈值的情况下,如图4所示,该待过 滤图像中第三人体框和第四人体框在待过滤图像中所占的面积比较接近,则说 明该待过滤图像中不包含有主要人体,各个人体之间的干扰比较大,比如,图4 示出的两个人体之间存在很多重叠区域,导致某个人体的很多特征被遮挡,使 用这样的图像进行训练过程中两个人体之间的特征会相互干扰,因此,这样的 待过滤图像不适合作为训练样本,则将这样的待过滤图像滤除。
在本申请的一个实施方式中,在将待过滤图像保留的情况下,可使用保留 下的待过滤图像构造训练样本。下面结合附图介绍一下本申请中使用该待过滤 图像构造训练样本的过程。
示例性的,对待过滤图像进行人脸检测,得到M个人脸掩码图,M为大于 或等于0的整数。同样,对待过滤图像进行人脸检测,预测出M个人脸框,本 申请可以只预测M个人脸框,不用将该M个人脸框输出;然后,使用人脸框的 区域作为人脸掩码图,得到M个人脸掩码图。对于人脸检测来说,每个人脸框 中所框选的区域基本上全是人脸,所以,可以直接将人脸框所框选的区域全部 编码为1,作为与每个人脸框对应的人脸掩码图。对人脸检测可以通过常用的人 脸检测网络实现,比如,Face R-CNN、MTCNN,等等。然后,根据该待过滤图 像对应的第三人体掩码图以及该M个人脸掩码图,构造训练样本。
示例性的,确定M个人脸掩码图中每个人脸掩码图中每个掩码图与该第三 人体掩码图之间的第二交并比,比如,可确定M个人脸掩码图中每个人脸掩码 图与该第三人体掩码图的相交区域,并对该相交区域中的像素点的像素值求和, 得到第四掩码面积;然后,对每个人脸掩码图中的像素点的像素值求和,得到 每个人脸掩码图对应的第五掩码面积,将该第四掩码面积相对于第五掩码面积 的比值作为每个人脸掩码图与该第三人体掩码图之间的第二交并比。然后,根 据每个人脸掩码图与第三人体掩码图之间的第二交并比,构造训练样本。
示例性的,在该M个人脸掩码图中第二交并比大于第三阈值的人脸掩码图 的数量大于或等于两个的情况下,舍弃该待过滤图像,即该待过滤图像不适合 用来构造训练样本。具体的,人脸掩码图与第三人体掩码图之间的交并比大于 第三阈值,说明该人脸掩码图对应的人脸是位于该第三人体掩码图对应的人体 框内,在一个人体框内包含有大于或等于两个人脸的情况下,说明该待过滤图 像中的主要人体的分割不够精细,因此这样的待过滤图像不适合作为训练样本; 在该M个人脸掩码图中第二交并比大于第三阈值的人脸掩码图的数量为一个, 且第二交并比大于第三阈值的人脸掩码图位于第三人体掩码图的预设区域的情 况下,将该待过滤图像作为第一训练样本。具体的,在位于第三人体掩码图对应的人体框中的人脸数量为一个,且这个人脸位于该人体框中的预设区域的情 况下,确定该第三人体掩码图对应的人体框所框选的人体存在关联的人脸,即 该人体框中的人体和人脸关联,并将这样的待过滤图像作为第一训练样本。
举例来说,如图5所示,待过滤图像中虽然存在两个人体,但是其中一个 人体的掩码面积远大于另一个人体的面积,则判断出待过滤图像包含主要人体, 且是待过滤图像中上半部分的那个人;此外,对待过滤图像进行人脸检测,得 到两个人脸,并且在该主要人体对应的人体掩码图中只检测内只有一个人脸, 即两个人脸中位置靠上的人脸,并且该人脸位于主要人体的人体掩码高度的1/2 以上,则判断出该待过滤图像中存在主要人体,且该主要人体存在关联的人脸, 因此,可以将图5示出的待过滤图像作为第一训练样本。
其中,该预设区域可以为主要人体的人体掩码图的竖直方向的1/2以上的区 域,当然,该预设区域还可以为其他区域,比如竖直方向的5/8以上的区域。从 本质上来说,该预设区域为一个人体中人脸所在的区域,本申请不对预设区域 进行限定。
进一步地,在M个人脸掩码图中第二交并比大于第三阈值的人脸掩码图的 数量为零个的情况下,将待过滤图像作为第二训练样本。即该第三人体掩码图 对应的人体框中不存在人脸,不存在与该人体框中的人体关联的人脸。由于, 该待过滤图像中存在主要人体,可以将这样的待过滤图像作为第二训练样本。
可看出,在本申请实施例中,在将待过滤图像中存在主要人体的情况下, 对待过滤图像中的主要人体进行人体和人脸的关联,并根据人体和人脸的关联 结果,将待过滤图像精细的分成不同类型的训练样本,并且过滤掉分割质量不 够精细的图像,从而使构造出的训练样本质量较高。而且,提前将待过滤图像 分成不同类型的训练样,后续可以使用不同类型的训练样本对神经网络进行针 对性训练,从而使训练出的神经网络可以符合预期要求,提高训练成功率。
在本申请的一个实施方式中,可根据待过滤图像本身的质量,将该待过滤 图像分类为第一训练样本或第二训练样本,针对不同类型的训练样本,可以对 不同的神经网络进行训练。比如,可以使用该第一训练样本对第一神经网络进 行训练和/或使用第二训练样本对第二神经网络进行训练。由于第一训练样本是 人体与人脸关联的训练样本,则第一神经网络可以是用来实现基本行人身份识 别、或者人体人脸多方面信息辅助识别行人身份的神经网络,比如,第一神经 网络可以用来执行人脸人体的联合聚类,等需要人脸人体关联识别的任务;第 二神经网络是用来执行简单的行人身份识别,比如,用来执行人体归档、人体 聚类、基于人体的身份识别,等依靠人体识别的任务。
参阅图6,图6为本申请实施例提供的一种神经网络训练的流程示意图。需 要说明,用来进行神经网络的执行主体可以为上述的图像过滤装置,也可以是 其他设备,本申请不做限定。若执行主体是其他设备,则需要将训练好的神经 网络迁移到该图像过滤装置,以对待过滤图像进行人体检测。其中,该训练方 法包括以下步骤:
601:获取第三训练样本以及第四训练样本,其中,第三训练样本中人体框 的标注精度低于第二训练样本中人体框的标注精度。
示例性的,第三训练样本是相对比较粗糙的样本,即该第三训练样本中对 人体的标注精度比较低。一般来说构造这样的训练样本对原始图像(用于构造 训练样本的图像)的质量要求不高,容易获得,而且数量庞大。
示例性的,如图7所示,由于第三训练样本中各个人体拥挤在一起,在对 最左边的一个人体进行标注过程中,不可避免的将该人体相邻的人体标注进来, 导致对最左边的人体的标注精度相对较低。
示例性的,第四训练样本是相对比较精细的样本,也就是该第四训练样本 中对人体的标注精度较高,一般来说,这样的训练样本对原始图像的质量要求 较高,不容易获得,而且数量较少。一般来说,该第四训练样本中只包括一个 人体,即使包括有多个人体,这多个人体在第四训练样本中的相对距离也比较 远,这样为每个人体进行标注的人体框中不会包含有其他人体。
示例性的,如图8所示,该第四训练样本中仅包含有一个人体,则该人体 的人体框中不会包含有其他人体,相对来说,该人体的标注精度较高。
602:使用第三训练样本对第三神经网络的网络参数进行调整,得到调整后 的第三神经网络。
示例性的,第三神经网络为初步搭建的一个用于进行人体检测和分割的神 经网络。因此,可以使用第三训练样本对该第三神经网络进行训练,调整该第 三神经网络的网络参数。
应理解,在实际训练过程中,会使用大量的第三训练样本对该第三神经网 络进行训练,直至该第三神经网络收敛,得到调整后的第三神经网络。
603:使用第四训练样本对所述调整后的第三神经网络的网络参数进行调 整,得到完成训练的神经网络。
进一步地,使用第四训练样本对该调整后的第三神经网络的网络参数进行 调整。由于该第四训练样本中的人体标注精度较高,使用第四训练样本对进行 训练,实质上就是使用第四训练样本对调整后的第三神经网络再进行微调 (fune-tuning),直至调整后的第三神经网络也收敛,得到完成训练的神经网络。
可以看出,在实施例中,先使用粗糙的训练样本(第三训练样本),由于 这样的训练样本比较容易获得,从而可以提高网络训练的效率;然后,再使用 精细的训练样本(第四训练样本)进行微调,可以使完成训练的神经网络具有 较高的分割精度,提高人体检测和分割的精度。
参阅图9,图9本申请实施例提供的一种图像过滤装置的功能单元组成框图。 图像过滤装置900包括:检测单元901和过滤单元902,其中:
检测单元901,用于对待过滤图像进行人体检测,得到N个人体框和N个 人体掩码图,其中,所述N个人体框和所述N个人体掩码图一一对应,N为大 于或等于1的整数;
过滤单元902,用于根据所述N个人体框和所述N个人体掩码图对所述待 过滤图像进行过滤。
在一些可能的实施方式中,在根据所述N个人体框和所述N个人体掩码图 对所述待过滤图像进行过滤方面,过滤单元902,具体用于:
获取所述N个人体框中每个人体框的置信度;
根据所述每个人体框的置信度以及所述每个人体框对应的人体掩码图,对 所述N个人体框进行非极大值抑制,得到K个人体框,K为小于或等于N的整 数;
根据所述K个人体框以及与所述K个人体框对应的K人体掩码图,对所述 待过滤图像进行过滤。
在一些可能的实施方式中,在根据所述每个人体框的置信度以及所述每个 人体框对应的人体掩码图,对所述N个人体框进行非极大值抑制,得到K个人 体框方面,过滤单元902,具体用于:
根据所述每个人体框的置信度对所述N个人体框进行降序排序,得到第一 集合;
将第一人体框从所述第一集合移出,得到第二集合,所述第一人体框为所 述N个人体框中置信度最大的人体框;
确定第一人体掩码图和第二人体掩码图之间的第一交并比,所述第一人体 掩码图为与所述第一人体框对应的人体掩码图,所述第二人体掩码图为与第二 人体框对应的人体掩码图,所述第二人体框为所述第二集合中的任意一个人体 框;
在所述第一交并比大于第一阈值的情况下,将所述第二人体框从所述第二 集合中删除,得到第三集合,在所述第一交并比小于或等于所述第一阈值的情 况下,将所述第二人体框保留在所述第二集合中,并将所述第二集合作为第三 集合;
将所述第三集合作为新的第一集合,并对所述新的第一集合的人体框进行 非极大值抑制,在所述新的第一集合中的元素为零的情况下,将对所述N个人 体框进行非极大值抑制过程中移出的人体框作为所述K个人体框。
在一些可能的实施方式中,在确定第一人体掩码图和第二人体掩码图之间 的第一交并比方面,过滤单元902,具体用于:
对所述第一人体掩码图和所述第二人体掩码图之间的相交区域中的各个像 素点的像素值求和,得到第一掩码面积;
对所述第一人体掩码图中的各个像素点的像素值求和,得到第二掩码面积;
对所述第二人体掩码图中的各个像素点的像素值求和,得到第三掩码面积;
根据所述第一掩码面积、所述第二掩码面积以及所述第三掩码面积,确定 所述第一人体掩码图和所述第二人体掩码图之间的第一交并比。
在一些可能的实施方式中,在根据所述第一掩码面积、所述第二掩码面积 以及所述第三掩码面积,确定所述第一人体掩码图和所述第二人体掩码图之间 的第一交并比方面,过滤单元902,具体用于:
确定所述第一掩码面积相对于所述第二掩码面积的第一比值;
确定所述第一掩码面积相对于所述第三掩码面积的第二比值;
将所述第一比值和所述第二比值中的最大比值作为所述第一交并比。
在一些可能的实施方式中,在根据所述N个人体框和所述N个人体掩码图 对所述待过滤图像进行过滤方面,过滤单元902,具体用于:
对所述K个人体掩码图中的每个人体掩码图中的各个像素点的像素值求 和,得到所述K个人体掩码图中的每个人体掩码图对应的掩码面积;
确定第三人体掩码图的掩码面积与第四人体掩码图的掩码面积的第三比 值,其中,所述第三人体掩码图为所述K个人体掩码图中掩码面积最大的人体 掩码图,所述第四人体掩码图为所述K个人体掩码图中掩码面积仅次于所述第 三人体掩码图的人体掩码图;
在所述第三比值大于或等于第二阈值的情况下,保留所述待过滤图像,在 所述第三比值小于所述第二阈值的情况下,滤除所述待过滤图像。
在一些可能的实施方式中,在保留所述待过滤图像的情况下,所述装置还 包括:样本构造单元903;其中,样本构造单元903,用于:
对所述待过滤图像进行人脸检测,得到M个人脸掩码图,M为大于或等于 0的整数;
根据所述第三人体掩码图以及所述M个人脸掩码图,构造训练样本。
在一些可能的实施方式中,在根据所述第三人体掩码图以及所述M个人脸 掩码图,构造训练样本方面,样本构造单元903,具体用于:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图之间的 第二交并比;
根据所述每个人脸掩码图与所述第三人体掩码图之间的第二交并比,构造 训练样本。
在一些可能的实施方式中,在根据所述每个人脸掩码图与所述第三人体掩 码图之间的第二交并比,构造训练样本方面,样本构造单元903,具体用于:
在所述M个人脸掩码图中第二交比大于第三阈值的人脸掩码图的数量大于 或等于两个的情况下,舍弃所述待过滤图像;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为一个,且第二交并比大于所述第三阈值的人脸掩码图位于所述第三人体掩 码图的预设区域的情况下,将所述待过滤图像作为第一训练样本;
在所述M个人脸掩码图中第二交并比大于所述第三阈值的人脸掩码图的数 量为零个的情况下,将所述待过滤图像作为第二训练样本;
其中,所述第一训练样本中存在与所述第三人体掩码图对应的人体关联的 人脸,所述第二训练样本中人体不存在与所述第三人体掩码图对应的人体关联 的人脸。
在一些可能的实施方式中,在确定所述M个人脸掩码图中每个人脸掩码图 与所述第三人体掩码图之间的第二交并比方面,样本构造单元903,具体用于:
确定所述M个人脸掩码图中每个人脸掩码图与所述第三人体掩码图的相交 区域,并对所述相交区域中的像素点的像素值求和,得到所述每个人脸掩码图 对应的第四掩码面积;
对所述每个人脸掩码图中的像素点的像素值求和,得到所述每个人脸掩码 图对应的第五掩码面积;
将所述每个人脸掩码图对应的第四掩码面积相对于所述每个人脸掩码图对 应的第五掩码面积的比值作为所述每个人脸掩码图与所述第三人体掩码图之间 的第二交并比。
在一些可能的实施方式中,所述装置还包括:第一训练单元904;其中,第 一训练单元904,用于:
使用所述第一训练样本对第一神经网络进行训练;和/或,使用所述第二训 练样本对第二神经网络进行训练。
在一些可能的实施方式中,在对待过滤图像进行人体检测,得到N个人体 框和N个人体掩码图方面,过滤单元902,具体用于:
将所述待过滤图像输入到完成训练的神经网络进行人体检测,得到N个人 体框和N个人体掩码图。
在一些可能的实施方式中,将所述待过滤输入到完成训练的神经网络,得 到N个人体框和N个人体掩码图之前,该图像过滤装置还包括第二训练单元 905,第二训练单元905,用于:
获取第三训练样本以及第四训练样本,所述第三训练样本中对人体的标注 精度低于所述第四训练样本中对人体的标注精度;
使用所述第三训练样本对第三神经网络的网络参数进行调整,得到调整后 的第三神经网络;
使用所述第四训练样本对所述调整后的第三神经网络的网络参数进行调 整,得到所述完成训练的神经网络。
参阅图10,图10为本申请实施例提供的一种电子设备的结构示意图。如图 10所示,电子设备1000包括收发器1001、处理器1002和存储器1003。它们之 间通过总线1004连接。存储器1003用于存储计算机程序和数据,并可以将存 储1003存储的数据传输给处理器1002。
处理器1002用于读取存储器1003中的计算机程序,以执行上述任一方法 实例步骤中的内容。
本申请实施例还提供一种计算机存储介质,所述计算机可读存储介质存储 有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施例中记载 的任何一种图像过滤方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储 了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计 算机执行如上述方法实施例中记载的任何一种图像过滤方法的部分或全部步 骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述 为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的 动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。 其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施 例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详 述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其 它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单 元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例 如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略, 或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可 以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的 形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为 单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元 中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的 形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或 使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的 技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部 分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中, 包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设 备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包 括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤 是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存 储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory, 简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、 磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的 原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方 法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在 具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本申请的限制。
- 图像过滤方法、装置、电子设备及存储介质
- 人脸图像过滤方法、电子设备和计算机可读存储介质