数据处理方法、装置、电子设备和存储介质
文献发布时间:2023-06-19 19:35:22
背景技术
随着深度学习技术的广泛应用,基于深度学习技术的对象部位识别技术得到了飞速的发展,其中的对象部位可以唯一标识对象。通常情况下,会采用基于深度学习技术的监督学习方式对对象部位识别模型进行训练,再采用已训练的对象部位识别模型对采集的对象部位数据进行识别,其中,监督学习方式是指通过已标记的对象部位样本数据集进行模型训练。
相关技术下,对象部位样本数据集的获取方式为:通过正规渠道获取大量的样本图片,并对获取到的大量样本图片进行对象部位检测,以及将检测出的带有对象部位数据的样本图片作为对象部位样本数据,做进一步去噪、聚类、去重等处理,最后,再对经过一系列处理的样本对象部位数据进行标注,得到标注后的对象部位样本数据集。
然而,采用上述方式获取的对象部位样本数据集,其处理效率较低,且处理过程复杂,容易出现差错,使得标注后的对象部位样本数据集存在不符合要求的对象部位样本数据,进而影响对象部位识别模型的训练过程,使得已训练的对象部位识别模型的识别准确性不高。
发明内容
本申请实施例提供一种数据处理方法、装置、电子设备和存储介质,用于提高对象部位样本数据的处理效率以及处理准确性。
一方面,本申请实施例提供一种数据处理方法,包括:
获取待处理的多个视频,并对所述多个视频分别进行对象部位检测处理,分别获得所述多个视频各自对应的,包含对象部位的第一图片集合;其中,所述对象部位用于唯一标识对象,在同一第一图片集合中,包含同一对象的不同图片设置有相同的第一标签;
对获得的多个第一图片集合包含的各个图片进行对象部位特征聚类处理,获得多个第二图片集合;其中,同一第二图片集合中的各个图片设置有相同的第二标签;
基于获得的各个图片各自关联的第一标签和第二标签,分别确定所述各个图片各自的目标标签;其中,包含同一对象的不同图片具有相同的目标标签;
基于获得的各个图片及相应的目标标签,生成对象部位样本数据集。
一方面,本申请实施例提供一种数据处理装置,包括:
局部聚类模块,用于获取待处理的多个视频,并对所述多个视频分别进行对象部位检测处理,分别获得所述多个视频各自对应的,包含对象部位的第一图片集合;其中,所述对象部位用于唯一标识对象,在同一第一图片集合中,包含同一对象的不同图片设置有相同的第一标签;
全局聚类模块,用于对获得的多个第一图片集合包含的各个图片进行对象部位特征聚类处理,获得多个第二图片集合;其中,同一第二图片集合中的各个图片设置有相同的第二标签;
标签确定模块,用于基于获得的各个图片各自关联的第一标签和第二标签,分别确定所述各个图片各自的目标标签;其中,包含同一对象的不同图片具有相同的目标标签;
样本生成模块,用于基于获得的各个图片及相应的目标标签,生成对象部位样本数据集。
在一种可能的实施例中,所述局部聚类模块具体还用于:
针对所述多个视频,分别执行如下操作:
提取一个视频中的多帧图片,并分别对所述多帧图片进行对象部位检测,获得包含对象部位的多个图片;
分别提取所述多个图片各自的第一对象部位特征,并基于获得的多个第一对象部位特征对所述多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集;
针对获得的至少一个第一图片子集,分别设置相应的第一标签;
基于所述至少一个第一图片子集及相应的第一标签,生成所述一个视频对应的第一图片集合。
在一种可能的实施例中,所述基于获得的多个第一对象部位特征对所述多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集时,所述局部聚类模块具体还用于:
通过对象部位跟踪算法对所述多个第一对象部位特征中,相邻且相同的第一对象部位特征进行聚合,获得聚合后的多个第一特征子序列;
对所述多个第一特征子序列进行聚类处理,获得至少一个第一特征序列,每个第一特征序列包含相同的多个第一对象部位特征;
针对所述至少一个第一特征序列,分别执行以下操作:基于一个第一特征序列对应的多个图片,确定相应的一个对象对应的第一图片子集。
在一种可能的实施例中,所述全局聚类模块具体还用于:
分别提取所述各个图片各自的第二对象部位特征;
采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列,每个第二特征序列包含相同的多个第二对象部位特征;
针对所述多个第二特征序列,分别执行以下操作:基于一个第二特征序列对应的多个图片,确定相应的一个第二图片集合,以及为所述一个第二图片集合设置相应的第二标签。
在一种可能的实施例中,所述采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列时,所述全局聚类模块还用于:
采用k近邻算法对所述各个第二对象部位特征构造k近邻图;
在所述k近邻图中,将属于同一类别的多个图节点进行剪枝处理,获得所述多个第二特征序列;其中,每个图节点表示一个第二对象部位特征。
在一种可能的实施例中,所述标签确定模块具体还用于:
每确定所述各个图片中的两个图片,具有相同的第一标签和不同的第二标签时,为所述两个图片设置相同的目标标签;
每确定所述各个图片中的两个图片具有相同的第二标签时,为所述两个图片设置相同的目标标签。
在一种可能的实施例中,所述样本生成模块具体还用于:
将所述各个图片划分为多个第三图片集合;其中,在同一第三图片集合中,各个图片具有相同的目标标签;
根据所述多个第三图片集合,生成所述对象部位样本数据集。
一方面,本申请实施例提供一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任一种数据处理方法的步骤。
一方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述任一种数据处理方法的步骤。
一方面,本申请实施例一种计算机程序产品,其包括计算机指令,所述计算机指令存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机指令时,所述处理器执行该计算机指令,使得所述电子设备执行上述任一种数据处理方法的步骤。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
在本申请实施例的方案中,针对待处理的多个视频,通过将每个视频中的图片进行检测处理,可以准确获得每个视频中同一对象对应的多个图片(可以理解为局部聚类),同一对象的多个图片具有相同的第一标签,从而获得每个视频对应的第一图片集合,接着,对于多个视频中的所有图片再次进行聚类(可以理解为全局聚类),获得多个第二图片集合,每个第二图片集合具有相应的第二标签;然后,采用所有图片的第一标签对所有图片的第二标签进行验证,从而进一步准确获得所有图片中的同一对象的不同图片,并为同一对象的不同图片设置相同的目标标签。
采用上述方案,可以快速准确地获取大量包含对象部位的图片,并确定各个图片的标签,提高对象部位样本数据的处理效率以及处理准确性,这样,采用本申请实施例获取的对象部位样本数据集,对对象部位识别模型进行训练后,可以提高训练后的对象部位识别模型的识别准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术对象员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理方法的应用场景示意图;
图2为本申请实施例提供的一种数据处理方法的流程图;
图3为本申请实施例提供的一种对单个视频的多个图片进行聚类的示意图;
图4为本申请实施例提供的对所有图片进行聚类的示意图;
图5为本申请实施例提供的另一种数据处理方法的流程图;
图6为本申请实施例提供的另一种数据处理方法的流程图;
图7为本申请实施例提供的另一种数据处理方法的流程图;
图8为本申请实施例提供的另一种数据处理方法的流程图;
图9为本申请实施例提供的另一种对单个视频的多个图片进行聚类的示意图;
图10为本申请实施例提供的另一种数据处理方法的流程图;
图11为本申请实施例提供的另一种对所有图片进行聚类的示意图;
图12为本申请实施例提供的一种数据处理方法的逻辑示意图;
图13为本申请实施例提供的一种数据处理装置的结构框图;
图14为本申请实施例提供的一种电子设备的结构示意图;
图15为本申请实施例中的另一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术对象员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
为了便于本领域技术对象员更好地理解本申请的技术方案,下面对本申请涉及的部分概念进行介绍。
k近邻算法:在特征空间中,将给定特征与确定类别的其他特征进行比较,计算出给定特征分别与其他特征之间的距离,然后记录下与给定特征距离最近的k个特征,最后选择k个特征当中大多数特征所属的那一类别,作为给定特征的类别。其中,给定特征可以理解为本申请实施例中的一个第二对象部位特征,其他特征可以理解为其他第二对象部位特征。
k近邻图:基于上述k近邻算法,将给定特征与其最近的k个特征进行连接,得到k近邻图,同时,将k个特征中大多数特征所属的那一类别,作为给定特征的类别。其中,每个特征可以理解为本申请实施例中的每个第二对象部位特征。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面对本申请实施例的设计思想进行简要介绍:
相关技术中,对象部位样本数据集的获取方式为:通过正规渠道获取大量的样本图片,并对搜集到的大量样本图片进行对象部位检测,以及将检测出的带有对象部位数据的样本图片作为对象部位样本数据,做进一步去噪、聚类、去重等处理,最后,再对经过一系列处理的样本对象部位数据进行标注,得到标注后的对象部位样本数据集。
然而,采用上述方式获取的对象部位样本数据集,其处理效率较低,且处理过程复杂,容易出现差错,使得标注后的对象部位样本数据集存在不符合要求的样本对象部位数据,进而影响对象部位识别模型的训练过程,使得已训练的对象部位识别模型的识别准确性不高。
有鉴于此,本申请实施例提供一种数据处理方法、装置、电子设备和存储介质,针对多个视频,通过将每个视频中的图片进行聚类,可以准确获得每个视频中同一对象对应的多个图片,接着,对于多个视频中的所有图片再次进行聚类,获得多个第二图片集合,每个第二图片集合具有相应的第二标签;然后,采用所有图片的第一标签对所有图片的第二标签进行验证,从而进一步确定所有图片中的同一对象的不同图片,并为同一对象的不同图片设置相同的目标标签;因此,可以快速准确获取大量包含对象部位的图片,并确定各个图片的标签,提高对象部位样本数据的处理效率以及处理准确性。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括多个终端设备110和一个服务器120,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络可以是有线网络或无线网络。
在本申请实施例中,终端设备210为用户使用的电子设备,该电子设备包括但不限于个对象计算机、手机、平板电脑、笔记本、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备。服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和对象工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的数据处理方法可以由服务器或者终端设备单独执行,也可以由服务器和终端设备共同执行。在服务器和终端设备共同执行时,比如,可由终端设备收集待处理的多个视频,并将待处理的多个视频发送给服务器,再由服务器对多个视频进行后续处理。在下文中,主要是以服务器单独执行为例进行举例说明的,在此不做具体限定。
在具体实施中,服务器可以收集多个包含对象物的视频,例如通过网络爬虫爬取多个视频等,然后采用本申请实施例的数据处理方法对多个视频进行处理,以获得对象部位样本数据集。
需要说明的是,图2所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的数据处理方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。并且,本申请实施例可应用于各种场景,包括但不限于云技术、对象工智能、智慧交通、辅助驾驶等。
参阅图2所示,为本申请实施例提供的一种数据处理方法的实施流程图,这里是以服务器为执行主体为例进行介绍的,该方法的具体实施流程如下:
S201,获取待处理的多个视频,并对多个视频分别进行对象部位检测处理,分别获得多个视频各自对应的,包含对象部位的第一图片集合;其中,对象部位用于唯一标识对象,在同一第一图片集合中,包含同一对象的不同图片设置有相同的第一标签。
其中,待处理的多个视频可以是包含对象部位的视频,对象部位可以是对象的指定部位,可以唯一标识一个对象,例如:面部、眼部等。当对象部位为对象的面部或眼部时,上述同一对象可以指同一个人。本申请下面实施例中涉及到的对象可以指人。
需要说明的是,多个视频可以通过正规渠道获得,例如,在经过视频版权方或者视频中人物的许可后,从网络中获取多个视频,或者通过其他正规渠道获取,在此不作限定。
针对每个视频,可以获取视频中的多帧图片,然后对多帧图片分别进行面部检测,具体可以采用已有的面部检测方法进行面部检测,以获得多个包含面部的图片,当视频中包含多个对象时,可以获得每个对象的多个图片,其中,每个图片可以包含一个对象的面部。
进一步地,可以分别提取多个图片的面部特征,并基于提取的这些面部特征,将多个图片进行聚类,即将相同的面部特征聚类在一起,以获得同一个对象的不同图片,并为同一个对象的不同图片设置相同的第一标签,从而获得每个视频对应的第一图片集合;其中,第一标签用于表征视频级别的标签,可以理解为局部标签,其具体形式可以根据需要进行设置。
如图3所示,从视频A中包含3个对象,在获得视频A中的多个图片后,将这些图片进行聚类,获得这3个对象各自对应的多个图片,然后,为第一个对象的多个图片设置第一标签a,为第二个对象的多个图片设置第一标签b,为第三个对象的多个图片设置第一标签c,通过设置不同的第一标签来区分这3个对象,从而获得视频A对应的第一图片集合。
需要说明的是,在不同视频中,第一标签的具体形式可以是不同的,例如,另一视频中包含4个对象,这4个对象各自的第一标签可以分别是A、B、C、D。可以理解的是,多个视频的第一标签之间不存在关联。
由于单个视频中出现的对象数量是有限的,假设单个视频中最多出现10个对象,基于10个对象的面部特征进行聚类,其聚类准确度是很高的,因此,能够准确地获得单个视频中同一个对象的不同图片。
通过上述过程,可以将每个视频中的多个对象进行区分,以获得每个视频中同一个对象对应的不同图片,即获得第一图片集合。
S202,对获得的多个第一图片集合包含的各个图片进行对象部位特征聚类处理,获得多个第二图片集合;其中,同一第二图片集合中的各个图片设置有相同的第二标签。
其中,对象部位以面部为例,多个第一图片集合包含的各个图片为,基于上述多个视频获得的所有图片,针对所有图片,分别提取每个图片的面部特征,然后基于提取的所有面部特征,对所有图片进行聚类处理,例如,可以采用相应的聚类算法对所有图片进行聚类处理,以获得多个类别的图片集合,每个类别的图片集合可以作为一个第二图片集合,并且,为每个类别设置相应的第二标签,从而使得同一个第二图片集合中的各个图片,具有相同的第二标签,该第二标签可以理解为全局标签,其具体形式可以与上述第一标签不同,以区分局部标签和全局标签。
示例性的,如图4所示,将基于多个视频获得的所有图片,进行面部特征聚类处理后,获得类别1对应的第二图片集合、类别2对应的第二图片集合……类别n对应的第二图片集合,分别为类别1、类别2……类别n设置第二标签1、2……n,从而使得类别1对应的第二图片集合中的各个图片具有第二标签1,类别2对应的第二图片集合中的各个图片具有第二标签2,以此类推,类别n对应的第二图片集合中的各个图片具有第二标签n。
S203,基于获得的各个图片各自关联的第一标签和第二标签,分别确定各个图片各自的目标标签;其中,包含同一对象的不同图片具有相同的目标标签。
本申请实施例中,考虑到对单个视频中的多个图片进行聚类,其聚类结果是准确度的,也就是说,具有相同的第一标签的图片,可以认为是同一个对象的图片。基于此,在全局聚类中,为了尽可能使得同一类的图片都聚集在一起,聚类算法的相应阈值(例如下述k近邻算法中的k值)可以设置较低,这样能保证在所有的图片中,同一个对象对应的图片尽可能在一起。
但是,考虑到基于多个视频获得的所有图片的数量较大,在对所有图片进行面部特征聚类过程中,容易出现误差,比如,同一个对象的两个图片分类到不同的类别中;因此,针对所有图片,采用第一标签对第二标签进行迭代验证,假设两个图片的第二标签不同,但是第一标签相同,则将这两个图片归为同一个对象。
在一种可能的实施方式中,如图5所示,上述S203中基于获得的各个图片各自关联的第一标签和第二标签,分别确定各个图片各自的目标标签,可以包括如下步骤:
S2031,每确定各个图片中的两个图片,具有相同的第一标签和不同的第二标签时,为两个图片设置相同的目标标签;
S2032,每确定各个图片中的两个图片具有相同的第二标签时,为两个图片设置相同的目标标签。
在该实施方式中,可以按照设定顺序遍历所有图片,每当确定两个图片,具有相同的第一标签和不同的第二标签时,认为这两个图片归属于同一个对象,为这两个图片设置所属的同一个对象对应的标签(即目标标签);每当确定两个图片,具有相同的第二标签时,认为这两个图片归属于同一个对象,为这两个图片设置所属的同一个对象对应的标签。
这样,可以准确获得同一个对象的多个图片,从而准确地将所有图片进行分类,将同一个对象的多个图片划分为一类,并设置相应的目标标签。
示例性的,所有图片包括第1个图片、第2个图片、第3个图片......第m个图片,假设,第1个图片和第3个图片的第一标签均为a,而第1个图片的第二标签为4,第3个图片的第二标签为5,则认为第1个图片和第3个图片归属于同一个对象,这个对象对应的目标标签为id6,则为第1个图片和第3个图片设置相同的目标标签id6。
又假设,第5个图片和第8个图片的第二标签均为4,不管这两个图片的第一标签是否相同,都认为第5个图片和第8个图片归属于同一个对象,这个对象对应的目标标签为id3,则为第5个图片和第8个图片设置相同的目标标签id3。
S204,基于获得的各个图片及相应的目标标签,生成对象部位样本数据集。
该步骤中,在所有图片中,每个图片具有一个目标标签,可以将具有相同标签的多个面图片保存在一起,这样,便于对所有图片进行检查,避免出现噪声图片。
在一种可选的实施方式中,如图6所示,S204基于获得的各个图片及相应的目标标签,生成对象部位样本数据集,可以包括如下步骤:
S2041,将各个图片划分为多个第三图片集合;其中,在同一第三图片集合中,各个图片具有相同的目标标签;
S2042,根据多个第三图片集合,生成对象部位样本数据集。
通过上述S2041和S2042,可以将具有相同标签的多个图片聚合在一起,具体地,可以将具有相同目标标签的多个图片保存在同一文件夹的同一目录下,即将上述每个第三图片集合保存在相应的一个目录下。
进一步地,可以将保存多个第三图片集合的文件夹发送至标注系统中,标注对象员可以通过终端设备登录标注系统,并对文件夹中的所有图片进行检查,以剔除噪声图片(即不符合要求的图片),然后通过终端设备发送至服务器。服务器在获得经过检查后的各个图片后,将这些携带目标标签的图片,作为对象部位样本数据集,以便后续对对象部位识别模型进行训练。
在本申请实施例的方案中,通过将每个视频中的图片进行检测处理,可以准确获得每个视频中同一个对象对应的多个图片,并为同一个对象的多个图片设置相同的第一标签,从而获得每个视频对应的第一图片集合,接着,对于多个视频中的所有图片再次进行聚类,获得多个第二图片集合,每个第二图片集合具有相应的第二标签;然后,采用所有图片的第一标签对所有图片的第二标签进行验证,从而进一步准确获得所有图片中的同一个对象的不同图片,并为同一个对象的不同图片设置相同的目标标签。这样,可以快速准确地收集大量图片,并确定各个图片的标签,提高对象部位样本数据的收集效率以及收集准确性,这样,采用本申请实施例获取的对象部位样本数据集,对对象部位识别模型进行训练后,可以提高训练后的对象部位识别模型的识别准确性。
下面结合图7-图9对本申请实施例中,针对单个视频进行对象部位检测的过程进行详细介绍。
在对单个视频进行对象部位检测时,可以首先提取单个视频中的多帧图片,然后对多帧图片分别进行对象部位检测,以获得多个图片,进而分别提取多个图片的对象部位特征,基于这些对象部位特征,对多个图片进行聚类,以获得同一个对象的各个图片。
在一些实施例中,如图7所示,对多个视频中的一个视频进行对象部位检测处理,获得该视频对应的第一图片集合,具体可以包括如下步骤:
S2011,提取一个视频中的多帧图片,并分别对多帧图片进行对象部位检测,获得多个图片。
其中,可以提取该视频中的多个关键帧,这些关键帧可以理解为不同镜头视角下的图片(即不同的图片),也就是说,对于同一镜头视角下的多个相同的图片,选取其中一个图片作为关键帧,获得上述多帧图片。
进一步地,以对象部位为面部为例,可以采用已有的面部检测方法对获得的多帧图片进行面部检测,以确定多帧图片中包含面部的各个图片,从而获得多个图片。
S2012,分别提取多个图片各自的第一对象部位特征,并基于获得的多个第一对象部位特征对多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集。
其中,以对象部位为面部,第一对象部位特征为第一面部特征为例,可以采用已有的面部特征提取方法,提取每个图片的第一面部特征,然后,基于提取的多个图片的第一面部特征,对多个图片进行聚类处理。可选地,可以通过计算各个图片的第一面部特征的相似度,确定具有相同第一面部特征的图片,其中,每个第一面部特征的具体形式可以是一个特征向量,两个第一面部特征的相似度可以根据向量之间的距离确定,向量之间的距离越小越相似。
通过上述方式,可以将具有相同的第一面部特征的各个图片聚合在一起,获得多个第一图片子集,每个第一图片子集中的各个图片归属于同一个对象。
在一种可选的实施方式中,在对多个图片进行聚类时,可以采用对象部位跟踪算法,基于提取的多个第一对象部位特征,对多个图片中的每个对象进行跟踪,从而将同一跟踪序列上的各个图片(属于同一个对象)聚合在一起,同一个对象可能对应多个跟踪序列,最后,再将聚合后的各个图片进行聚类,以得到同一个对象的多个图片。
如图8所示,上述S2012中,分别提取多个图片各自的第一对象部位特征,并基于获得的多个第一对象部位特征对多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集,具体可以包括如下步骤:
S2012_1,提取多个图片各自的第一对象部位特征。
S2012_2,通过对象部位跟踪算法对多个第一对象部位特征中,相邻且相同的第一对象部位特征进行聚合,获得聚合后的多个第一特征子序列。
例如,上述提取的多个第一对象部位特征对应的整个特征序列为:F1、F2、F3......Fn,通过对象部位跟踪算法对相同的第一对象部位特征进行跟踪,可以将整个特征序列中,相邻且相同的第一对象部位特征进行聚合,假设,F1、F2、F3为相同的第一对象部位特征,则将F1、F2、F3聚合在一起作为一个第一特征子序列(可以理解为一个跟踪序列);F6、F7、F8为相同的第一对象部位特征,则将F6、F7、F8聚合在一起作为一个第一特征子序列,以此类推,可以获得聚合后的多个第一特征子序列。
该步骤中,以对象部位为面部,第一对象部位特征为第一面部特征为例,采用面部跟踪算法,可以筛选出同一个对象的各种姿态的面部图片,从而确保后续获得的面部样本数据集的方差很大,这样的面部样本数据集是更有利于训练对象脸识别模型。
S2012_3,对多个第一特征子序列进行聚类处理,获得至少一个第一特征序列,每个第一特征序列包含相同的多个第一对象部位特征。
该步骤中,对上述步骤获得的多个第一特征子序列进行聚类处理,目的是将具有相同的第一对象部位特征的各个第一特征子序列聚类在一起(即属于同一个对象),获得一个第一特征序列,可选地,可以通过计算各个第一特征子序列所包含的第一对象部位特征的相似度,确定具有相同第一对象部位特征的各个第一特征子序列;假设包含多个对象,则可以获得多个第一特征序列。每个对象对应一个第一特征序列,即每个第一特征序列包含相同的多个第一对象部位特征。
S2012_4,针对至少一个第一特征序列,分别执行以下操作:基于一个第一特征序列对应的多个图片,确定相应的一个对象对应的第一图片子集。
由于每个第一特征序列包含相同的多个第一对象部位特征,而每个第一对象部位特征对应一个图片,因此,基于每个第一特征序列可以确定多个图片,将每个第一特征序列对应的多个图片,作为一个对象对应的第一图片子集。
例如,多个第一特征序列分别为第一特征序列1、第一特征序列2、第一特征序列3,则第一特征序列1对应的多个图片,为第一个对象对应的第一图片子集;第一特征序列2对应的多个图片,为第二个对象对应的第一图片子集;第一特征序列3对应的多个图片,为第三个对象对应的第一图片子集。
S2013,针对获得的至少一个第一图片子集,分别设置相应的第一标签。
假设上述一个视频中包含多个对象,则可以获得每个对象对应的一个第一图片子集,该第一图片子集中包括多个图片,进而为每个对象对应的多个图片设置相同的第一标签。
S2014,基于至少一个第一图片子集及相应的第一标签,生成一个视频对应的第一图片集合。
该步骤中,将多个携带第一标签的第一图片子集聚合在一起,获得上述一个视频对应的第一图片集合。
图9示出了上述S2011至S2014的具体实施过程。
如图9所示,以对象部位为面部为例,针对输入的一个视频,对该视频进行关键帧提取,获得多个关键帧,关键帧即图7中的独立帧;针对提取的多个独立帧进行逐帧处理,依次对每个独立帧进行面部检测,以确定包含面部的独立帧,从而获得多个包含面部的图片,然后对获得的多个图片进行面部特征提取,获得每个图片的面部特征,具体可以表示为特征向量。
进一步地,通过面部跟踪算法将获得的多个特征向量中,属于同一跟踪序列的特征向量进行聚合,获得聚合后的多个特征向量子序列(可以理解为上述第一特征子序列),进而对多个特征向量子序列进行聚类,可以获得多个特征向量序列(可以理解为上述第一特征序列),每个特征向量序列对应一个人脸簇(即多个包含面部的图片),从而获得人脸簇0、人脸簇1......人脸簇n。
本申请实施例中,由于单个视频中出现的对象数量是有限的,因此,对单个视频中的多个面部图片进行聚类,其聚类准确度是很高的,因此,能够准确地获得单个视频中同一个对象的不同面部图片。
并且,通过面部跟踪算法对单个视频中的多个面部图片进行面部跟踪,可以将同一跟踪序列上的各个面部图片聚合在一起,进而再对聚合后的多个面部图片进行聚类时,可以快速准确地获得聚类结果。
下面结合图10-图12对本申请实施例中,对基于多个视频获得的所有图片,进行对象部位特征聚类的过程进行详细介绍。
在一些实施例中,如图10所示,上述S202对获得的多个第一图片集合包含的各个图片进行对象部位特征聚类处理,获得多个第二图片集合,可以包括如下步骤:
S2021,分别提取各个图片各自的第二对象部位特征。
在本申请上述实施例中,针对所有图片中的每个图片,提取了相应的第一对象部位特征,在该步骤中,每个图片的第二对象部位特征可以直接采用该图片对应的第一对象部位特征,也可以是重新提取到的对象部位特征,本申请实施例对此不作限定。
S2022,采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列,每个第二特征序列包含相同的多个第二对象部位特征;
在一种可选的实施方式中,S2022中采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列,可以包括如下步骤:
A、采用k近邻算法对各个第二对象部位特征构造k近邻图。
具体地,如图11所示,在获得所有图片各自的第二对象部位特征后,将各个第二对象部位特征分别看作一个图节点,基于上述每个视频的聚类结果,可以确定每个视频中属于同一类别(即同一个对象)的多个图片,进而可以获得多个视频中对应的多个类别的图片集合;基于此,从多个第二对象部位特征对应的多个图节点中,获取一个图节点,计算出该图节点分别与其他图节点之间的距离,然后记录下与该图节点距离最近的k个图节点,最后选择k个图节点当中大多数图节点所属的那一类别,作为该图节点的类别,同时,将该图节点与其最近的k个图节点进行连接,以构造k近邻图,其中,k的值可以根据需要设置,在此不作限定。
B、在k近邻图中,将属于同一类别的多个图节点进行剪枝处理,获得多个第二特征序列;其中,每个图节点表示一个第二对象部位特征。
示例性的,如图11所示,在k近邻图中,包括4个类别的图节点,分别为类别1、类别2、类别3、类别4,分别将这4个类别各自的多个图节点从k近邻图中进行剪枝处理,可以获得每个类别的子图(包含多个图节点),每个类别的子图所包含的多个图节点即组成一个第二特征序列,通过为每个类别的多个图节点设置相应的第二标签,例如图11中的1、2、3、4,进而可以确定所有图节点对应的的第二标签,例如:[1,2,3,1,4,3,2,2,4,1,4,3,1,1,3,4]。
S2023,针对多个第二特征序列,分别执行以下操作:基于一个第二特征序列对应的多个图片,确定相应的一个第二图片集合,以及为一个第二图片集合设置相应的第二标签。
由于每个第二特征序列包含相同的多个第二对象部位特征,而每个第二对象部位特征对应一个图片,因此,基于每个第二特征序列可以确定多个图片,将每个第二特征序列对应的多个图片,作为一个类别的第二图片集合,基于上述每个类别的多个图节点对应的第二标签,可以确定每个类比的第二图片集合的第二标签。
例如,多个第二特征序列分别为第二特征序列1、第二特征序列2、第二特征序列3,则第二特征序列1对应的多个图片,为一个类别的第二图片集合;第二特征序列2对应的多个图片,为另一个类别的第二图片集合;第二特征序列3对应的多个图片,为又一个类别的第二图片集合。
下面结合图12对本申请实施例提供的数据处理方法进行示例性介绍。
如图12所示,以对象部位是面部,包含对象部位的图片是面部图片为例,数据处理方法具体可以包括以下步骤:
第一、获取多个视频;
其中,多个视频可以通过正规渠道获得,例如,在经过视频版权方或者视频中人物的许可后,从网络中获取多个视频,也可以通过其他正规渠道获得,在此不做限定。
第二、对每个视频分别进行处理。
具体地,对视频1、视频2……视频n分别进行处理,在每个视频内部,采用面部检测以及面部特征提取的方式,获得多个面部图片,以及每个面部图片的面部特征,进而基于这些面部特征,通过面部跟踪算法将视频内出现的每个对象的面部图片序列聚合在一起。这样,可以能够保证在每个视频内,每个面部图片序列中的各个面部图片是属于同一个对象的。进一步地,在每个视频内,对上述聚合后的各个面部图片序列进行聚类,可以保证每个视频内的每个对象对应的多个面部图片都是准确的。
第三,在第二步的基础上,为每个视频内的每个对象分别打上视频级别标签(l
其中,视频级别标签可以理解为本申请上述实施例的第一标签,打上视频级别标签(l
第四,针对经过第三步处理后的所有面部图片,采用全局聚类的方式进行聚类,获得打上全局标签(l
其中,全局标签可以理解为本申请上述实施例的第二标签,打上全局标签(l
第五,在得到上述打上全局标签(l
由于视频级别标签相对全局标签来说更准确,这样,经过视频级别标签(l
第六,经过第五步,可以为每个面部图片打上一个唯一标签。
其中,唯一标签可以理解为本申请上述实施例中的目标标签,针对打上唯一标签的所有面部图片,可以将其放到同一文件夹下。具体地,可以将具有相同唯一标签的多个面部图片放到同一文件夹下的同一目录下。
进一步地,可以将上述文件夹发送给标注系统,由对象工去检查该文件夹下的所有面部图片,以去掉噪声图片,最终获得准确的地面部样本数据集。
通过上述步骤,可以快速准确地收集大量面部图片,并确定各个面部图片的标签,提高面部样本数据的收集效率以及收集准确性,这样,采用本申请实施例获取的面部样本数据集,对对象脸识别模型进行训练后,可以提高训练后的对象脸识别模型的识别准确性。
与本申请上述方法实施例基于同一发明构思,本申请实施例中还提供了一种数据处理装置,该装置解决问题的原理与上述实施例的方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
参考图13所示,本申请实施例提供的一种数据处理装置,包括局部聚类模块131、全局聚类模块132、标签确定模块133和样本生成模块134。
局部聚类模块131,用于获取待处理的多个视频,并对多个视频分别进行对象部位检测处理,分别获得多个视频各自对应的,包含对象部位的第一图片集合;其中,所述对象部位用于唯一标识对象,在同一第一图片集合中,包含同一对象的不同图片设置有相同的第一标签;
全局聚类模块132,用于对获得的多个第一图片集合包含的各个图片进行对象部位特征聚类处理,获得多个第二图片集合;其中,同一第二图片集合中的各个图片设置有相同的第二标签;
标签确定模块133,用于基于获得的各个图片各自关联的第一标签和第二标签,分别确定各个图片各自的目标标签;其中,包含同一对象的不同图片具有相同的目标标签;
样本生成模块134,用于基于获得的各个图片及相应的目标标签,生成对象部位样本数据集。
本申请实施例中,局部聚类模块131将每个视频中的图片进行检测处理,可以准确获得每个视频中同一个对象对应的多个图片,并为同一个对象的多个图片设置相同的第一标签,从而获得每个视频对应的第一图片集合,接着,全局聚类模块132对于多个视频中的所有图片再次进行聚类,获得多个第二图片集合,每个第二图片集合具有相应的第二标签;然后,标签确定模块133采用所有图片的第一标签对所有图片的第二标签进行验证,从而进一步准确获得所有图片中的同一个对象的不同图片,并为同一个对象的不同图片设置相同的目标标签。
这样,可以快速准确地收集大量图片,并确定各个图片的标签,提高对象部位样本数据的收集效率以及收集准确性,这样,采用本申请实施例获取的对象部位样本数据集,对对象部位识别模型进行训练后,可以提高训练后的对象部位识别模型的识别准确性。
在一种可能的实施例中,局部聚类模块131具体还用于:
针对多个视频,分别执行如下操作:
提取一个视频中的多帧图片,并分别对多帧图片进行对象部位检测,获得包含对象部位的多个图片;
分别提取多个图片各自的第一对象部位特征,并基于获得的多个第一对象部位特征对多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集;
针对获得的至少一个第一图片子集,分别设置相应的第一标签;
基于至少一个第一图片子集及相应的第一标签,生成一个视频对应的第一图片集合。
在一种可能的实施例中,基于获得的多个第一对象部位特征对多个图片进行聚类处理,获得至少一个对象各自对应的第一图片子集时,局部聚类模块131具体还用于:
通过对象部位跟踪算法对多个第一对象部位特征中,相邻且相同的第一对象部位特征进行聚合,获得聚合后的多个第一特征子序列;
对多个第一特征子序列进行聚类处理,获得至少一个第一特征序列,每个第一特征序列包含相同的多个第一对象部位特征;
针对至少一个第一特征序列,分别执行以下操作:基于一个第一特征序列对应的多个图片,确定相应的一个对象对应的第一图片子集。
在一种可能的实施例中,全局聚类模块132具体还用于:
分别提取各个图片各自的第二对象部位特征;
采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列,每个第二特征序列包含相同的多个第二对象部位特征;
针对多个第二特征序列,分别执行以下操作:基于一个第二特征序列对应的多个图片,确定相应的一个第二图片集合,以及为一个第二图片集合设置相应的第二标签。
在一种可能的实施例中,采用k近邻算法对提取的各个第二对象部位特征进行聚类处理,获得多个第二特征序列时,全局聚类模块132具体还用于:
采用k近邻算法对各个第二对象部位特征构造k近邻图;
在k近邻图中,将属于同一类别的多个图节点进行剪枝处理,获得多个第二特征序列;其中,每个图节点表示一个第二对象部位特征。
在一种可能的实施例中,标签确定模块133具体还用于:
每确定各个图片中的两个图片,具有相同的第一标签和不同的第二标签时,为两个图片设置相同的目标标签;
每确定各个图片中的两个图片具有相同的第二标签时,为两个图片设置相同的目标标签。
在一种可能的实施例中,样本生成模块134具体还用于:
将各个图片划分为多个第三图片集合;其中,在同一第三图片集合中,各个图片具有相同的目标标签;
根据多个第三图片集合,生成对象部位样本数据集。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的数据处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的数据处理装置。
所属技术领域的技术对象员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的数据处理装置可以至少包括处理器和存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书中描述的根据本申请各种示例性实施方式的数据处理制方法中的步骤。例如,所述处理器可以执行如图2中所示的步骤。
在介绍了本申请示例性实施方式的数据处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
与本申请上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备,该电子设备解决问题的原理与上述实施例的方法相似,因此该电子设备的实施可以参见上述方法的实施,重复之处不再赘述。
参阅图14所示,电子设备140可以至少包括处理器141、以及存储器142。其中,存储器142存储有程序代码,当程序代码被处理器141执行时,使得处理器141执行上述任意一种数据处理方法中的步骤。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的数据处理方法中的步骤。例如,处理器可以执行如图2中所示的步骤。
在示例性实施例中,本申请还提供了一种包括程序代码的存储介质,例如包括程序代码的存储器142,上述程序代码可由电子设备140的处理器141执行以完成上述数据处理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
下面参照图15来描述根据本申请的这种实施方式的电子设备150。图15的电子设备150仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15,电子设备150以通用电子设备的形式表现。电子设备150的组件可以包括但不限于:上述至少一个处理单元151、上述至少一个存储单元152、连接不同系统组件(包括存储单元152和处理单元151)的总线153。
总线153表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元152可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1521和/或高速缓存存储单元1522,还可以进一步包括只读存储器(ROM)1523。
存储单元152还可以包括具有一组(至少一个)程序模块1524的程序/实用工具1525,这样的程序模块1524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备150也可以与一个或多个外部设备154(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备150交互的设备通信,和/或与使得该电子设备150能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口155进行。并且,电子设备150还可以通过网络适配器156与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器156通过总线153与用于电子设备150的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备150使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的数据处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据处理方法中的步骤,例如,电子设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术对象员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术对象员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术对象员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
- 数据处理方法、装置、计算机可读存储介质和电子设备
- 路由数据处理方法、装置、电子设备及存储介质
- 数据处理方法及装置、电子设备、存储介质
- 屏幕布局数据处理方法、装置、电子设备及存储介质
- 网页操作数据的处理方法、装置、电子设备及存储介质
- 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
- 数据处理方法、功耗数据处理方法、存储介质和电子设备