本发明属于图像处理领域,特别是涉及一种模型训练及图像处理方法、装置、终端及存储介质。
背景技术:
目前,人脸识别系统可以为一张待识别人脸图像提取人脸特征,通过该人脸特征来识别该人脸图像中的用户身份。因此,人脸识别系统被广泛应用到各个领域(例如寻人、反恐、公安等)中进行人脸识别。
但是,出于各种特殊原因的考虑,有些用户在一些场景下不希望被识别到身份。那么如果该人脸识别系统被不法分子盗用,则该人脸识别系统容易被用于对特殊身份的人物的人脸识别,从而容易利用公共场合的图像信息进行身份识别,进而定位到特殊身份的人物的位置,对这些特殊用户造成一定的安全风险。
因此,相关技术中的人脸识别系统存在着难以对某些特殊对象的身份进行保护的问题。
技术实现要素:
有鉴于此,本发明提供一种模型训练及图像处理方法、装置、终端及存储介质,以便解决相关技术中的人脸识别系统所存在的难以对某些特殊对象的身份进行保护的问题。
依据本发明实施例的第一方面,提供了一种模型训练方法,该方法可以包括:
获取具有第一类型标签的第一类型图像,以及具有第二类型标签的第二类型图像;
根据所述第一类型图像和所述第一类型图像的所述第一类型标签,以及根据所述第二类型图像和所述第二类型图像的所述第二类型标签,对神经网络模型作训练。
依据本发明实施例的第二方面,提供了一种图像处理方法,该方法可以包括:
采用身份识别模型提取待识别图像中目标拍摄对象的目标特征向量;
根据已知身份的多个候选图像各自的候选特征向量,以及所述目标特征向量,确定所述目标拍摄对象的目标身份,其中,每个所述候选特征向量为采用所述身份识别模型对所述多个候选图像分别提取的特征向量,所述多个候选图像包括第一类型图像和第二类型图像;
其中,所述身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。
依据本发明实施例的第三方面,提供了一种模型训练装置,该装置可以包括:
获取模块,用于获取具有第一类型标签的第一类型图像,以及具有第二类型标签的第二类型图像;
第一训练模块,用于根据所述第一类型图像和所述第一类型图像的所述第一类型标签,以及根据所述第二类型图像和所述第二类型图像的所述第二类型标签,对神经网络模型作训练。
依据本发明实施例的第四方面,提供了一种图像处理装置,该装置可以包括:
提取模块,用于采用身份识别模型提取待识别图像中目标拍摄对象的目标特征向量;
确定模块,用于根据已知身份的多个候选图像各自的候选特征向量,以及所述目标特征向量,确定所述目标拍摄对象的目标身份,其中,每个所述候选特征向量为采用所述身份识别模型对所述多个候选图像分别提取的特征向量,所述多个候选图像包括第一类型图像和第二类型图像;
其中,所述身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。
依据本发明实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的方法的步骤。
依据本发明实施例的第六方面,提供了一种终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面或第二方面所述的方法的步骤。
在本发明实施例中,根据第一类型图像以及其第一类型标签,以及根据第二类型图像及其第二类型标签,来对神经网络模型进行训练,由于第一类型图像表示需要保护身份的对象的图像,而该第一类型图像的第一类型标签则表示第一类型图像中对象的伪身份,因此,可以使得训练后的神经网络模型难以识别到第一类型图像中对象(即待保护的对象)的真实身份,只可以识别到其伪身份,从而到达对特定人群进行身份保护的目的;而第二类型图像表示需要进行身份识别的对象的图像,而该第二类型图像的第二类型标签则表示第二类型图像中对象的真实身份,因此,可以使得训练后的神经网络模型可以对第二类型图像中对象(即不需要保护身份的对象)识别到该对象的真实身份,从而达到对大多数的一般人群进行身份识别的目的。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种模型训练方法的步骤流程图;
图2是本发明实施例提供的一种图像处理方法的步骤流程图;
图3是本发明实施例提供的一种模型训练装置的框图;
图4是本发明实施例提供的一种图像处理装置的框图;
图5是本发明实施例提供的一种终端结构的框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种模型训练方法的步骤流程图,如图1所示,该方法可以包括:
步骤101,获取具有第一类型标签的第一类型图像,以及具有第二类型标签的第二类型图像;
其中,第一类型图像是需要保护身份的对象的图像信息;第二类型图像是不需要保护身份的对象的图像信息。
该对象可以是人类或非人类(例如植物、非人类动物等)。
例如当该对象为人类时,该对象的图像信息可以包括人脸图像。
为了便于理解,后文各个实施例均以上述对象为人类,且第一类型图像和第二类型图像均为包括人脸图像的图像为例进行说明。
其中,第一类型图像可以为需要保护身份的用户的人脸图像。例如用户a和用户b,不希望自己的身份通过人脸识别系统被识别到,则可以获取用户a、用户b分别在各种场景下以及各种装扮下的多张第一类型图像,即多张人脸图像。
第二类型图像可以为不需要保护身份的用户的人脸图像,例如可以选自已有的人脸识别系统的训练数据(即不需要作身份保护的用户的人脸图像)。
此外,第一类型图像具有第一类型标签,该第一类型标签为用于表示图像中对象的伪身份的标签,第一类型标签为人工定义的用于伪造第一类型图像中用户(即待保护身份的用户)身份的标签。
在一个实施方式中,为了根据下述步骤102来对神经网络模型进行训练,可以将该第一类型标签命名为身份id标签(即与下述第二类型标签的命名相同,便于模型训练),这里,同一身份的两个第一类型图像的身份id标签的内容不同,例如待保护身份的用户a的两张人脸图像身份id标签的内容不同。
另外,第二类型图像具有第二类型标签,该第二类型标签为用于表示图像中对象的真实身份的标签,换句话说,该第二类型标签是根据图像中对象的身份而唯一确定的。
在一个实施方式中,该第二类型图像的第二类型标签也可以命名为身份id标签,同一身份的两个第二类型图像的身份id标签的内容相同,例如不需要保护身份的用户的两张人脸图像身份id标签的内容相同。
可选地,为了在训练过程中便于确定第一类型图像中同一用户身份的不同图像,该第一类型图像的标签不仅包括上述第一类型标签,还具有上述第二类型标签。在一个示例中,该第一类型图像的第二类型标签可以命名为真实id标签(即表示对象的真实身份的id标签,是根据图像中对象的身份而唯一确定的)。
在一个示例中,在执行步骤101时可以获取第一样本集合,其中,所述第一样本集合包括多张第一图像样本(即多张第一类型图像),以及获取第二样本集合,其中,所述第二样本集合包括多张第二图像样本(即多张第二类型图像),这两个样本集合可以混合起来使用。
其中,第一图像样本具有真实id标签(第二类型标签)和身份id标签(第一类型标签,即伪身份的标签),而第二图像样本具有身份id标签(第二类型标签)。
也就是说,不同的第一图像样本具有不同的身份id标签,而同一拍摄对象的不同第一图像样本具有相同的真实id标签(例如用户a的两张人脸图像的真实id标签都为用户a,但是这两张人脸图像的身份id标签不同,例如用户a的两张人脸图像的身份id标签分别为1、2);换句话说,第一图像样本的身份id标签用于区分不同的图片。
但是,同一拍摄对象的不同第二图像样本却具有相同的身份id标签,也就是说,在第二样本集合中,同一用户,例如用户c的两张人脸图像,这两张人脸图像的身份id标签是相同的,都是用户c;
在本发明实施例中,对于第一样本集合中的样本数量而言,所述第一样本集合对应至少一个真实id标签,所述至少一个真实id标签中的各个真实id标签在所述第一样本集合中对应至少两个第一图像样本。
通俗理解为,第一类型图像中的第一类型可以是待保护身份的对象类型,因此,第一样本集合包括至少一个待保护身份的用户的人脸图像,且一个待保护身份的用户的人脸图像的数量至少为两张。
在本发明实施例中,对于第二样本集合中的样本数量而言,所述第二样本集合对应至少两个身份id标签,所述至少两个身份id标签中的各个身份id标签在所述第二样本集合中对应至少两个第二图像样本;
通俗理解为,第二类型图像中的第二类型可以是不需要保护身份的对象类型,因此,第二样本集合包括至少两个不需要保护身份的用户的人脸图像,且每个不需要保护身份的用户的人脸图像至少为两张。
这样,在第二样本集合中依据身份id标签来分类,可以包括身份id标签的内容相同的至少两组正样本,而身份id标签的内容不同的任意两张人脸图像又可以构成一组负样本。
在一个示例中,在获取第一样本集合和第二样本集合时,可以通过从收集的两个样本集合中分别进行抽样来获取第一样本集合和第二样本集合,具体而言:
预先可以收集待保护身份的用户在各种场景各种打扮下的多张人脸照片,这些照片记做集合a。对于集合a中的每一张图,给一个独有的身份id,即使同一个人的两张图也赋予不同的身份id的标签(同一个人赋予不同的身份id标签目的在于,训练神经网络模型将该待保护身份的同一个人的不同图片识别为两个不同的人,对这些需要保护身份的特定人群,训练后的模型就无法识别出这些人的身份);另外,集合a中每张图还赋予一个真实id标签,其中,同一个人的不同图片具有同一个真实id标签,该真实id标签仅用于判断哪些图属于同一个人。
此外,还可以预先获取已有的人脸识别训练数据,例如各个不需要身份保护而需要身份识别的多个用户,在各种场合各种装扮下的人脸图像,构成集合b。其中,集合b中每张图标带有身份id标签,同一个人的图片具有相同的身份id标签。
然后,将集合a和集合b作为训练数据来一起对预设神经网络模型进行训练。
在训练时,可以每次从集合a中抽样m个真实id标签,并针对所述m个真实id标签分别从所述集合a中每次抽样k个第一图像样本从而获取到第一样本集合,其中,集合a中不同的第一图像样本具有不同的身份id标签,同一拍摄对象的不同第一图像样本具有相同的真实id标签,其中,m≥1,k≥2,m,k均为整数;
从集合b中每次抽样n个身份id标签,并针对所述n个身份id标签分别从所述集合b中每次抽样j个第二图像样本从而获取到第二样本集合,其中,集合b中同一拍摄对象的不同第二图像样本具有相同的身份id标签,其中,n≥2,j≥2,n,j均为整数,且集合a和集合b之间的身份id标签的取值不同。
将一次抽样得到的第一样本集合和第二样本集合中的图像样本进行混合,来得到步骤101所获取的具有第一类型标签的第一类型图像以及具有第二类型标签的第二类型图像,然后利用步骤101获取的图像及其标签对预设神经网络模型进行训练。
其中,混合后的多个图像样本(包括第一图像样本和第二图像样本)中身份id标签的内容相同的两个图像样本构成一组正样本,而身份id标签的内容不同的两个图像样本则构成一组负样本。
步骤102,根据所述第一类型图像和所述第一类型图像的所述第一类型标签,以及根据所述第二类型图像和所述第二类型图像的所述第二类型标签,对神经网络模型作训练。
其中,本发明对于本步骤中所训练的预设神经网络模型的网络结构不做限制,可以是任意类型的神经网络,例如卷积神经网络。
本步骤中,由于用于训练神经网络模型的第一类型图像(即待保护身份的对象的图像)所带有的第一类型标签表示该对象的伪造身份的标签,不能用于表示该对象的真实身份,那么根据第一类型图像以及其带有的第一类型标签来对神经网络模型进行训练,则可以使神经网络模型难以识别到该待保护的对象的真实身份,只可以识别到其伪身份,从而到达对特定人群进行身份保护的目的;
此外,由于用于训练神经网络模型的第二类型图像(即不需要保护身份的对象的图像)所带有的第二类型标签是表示该对象的真实身份的标签,那么根据该第二类型图像及其携带的第二类型标签来对神经网络模型进行训练,则可以使得该神经网络模型可以对不需要保护身份的对象识别到该对象的真实身份,从而达到对大多数一般人群进行身份识别的目的。
此外,本步骤中,在使用第一类型图像和第二类型图像对神经网络模型进行训练时,两个第二类型图像依据各自携带的第二类型标签的内容是否相同,可以形成正样本,或负样本;而两个第一类型图像,由于其各自携带的第一类型标签的内容是不同的,因此,两个第一类型图像可以构成模型训练的负样本;此外,一个第一类型图像和一个第二类型图像也可以构成一组负样本(因为,第一类型图像所携带的第一类型标签所表达的伪身份是不同于第二类型图像的第二类型标签所表达的真实身份的)。
在本发明实施例中,根据第一类型图像以及其第一类型标签,以及根据第二类型图像及其第二类型标签,来对神经网络模型进行训练,由于第一类型图像表示需要保护身份的对象的图像,而该第一类型图像的第一类型标签则表示第一类型图像中对象的伪身份,因此,可以使得训练后的神经网络模型难以识别到第一类型图像中对象(即待保护的对象)的真实身份,只可以识别到其伪身份,从而到达对特定人群进行身份保护的目的;而第二类型图像表示需要进行身份识别的对象的图像,而该第二类型图像的第二类型标签则表示第二类型图像中对象的真实身份,因此,可以使得训练后的神经网络模型可以对第二类型图像中对象(即不需要保护身份的对象)识别到该对象的真实身份,从而达到对大多数的一般人群进行身份识别的目的。
可选地,在任意一个实施例中,执行上述步骤102时,可以通过所述神经网络模型,对任意两个目标图像分别进行特征提取,得到两个第二特征向量;然后,根据所述两个第二特征向量之间的距离和所述任意两个目标图像对应的两个目标标签,确定所述神经网络模型对应的预设类型损失;最后,根据所述预设类型损失,对所述神经网络模型作迭代更新。
其中,当所述两个目标图像包括所述第一类型图像时,所述第一类型图像的所述目标标签为所述第一类型图像的所述第一类型标签;
当所述两个目标图像包括所述第二类型图像时,所述第二类型图像的所述目标标签为所述第二类型图像的所述第二类型标签。
继续以上述实施例中的示例来说明,例如将第一类型图像的第一类型标签命名为身份id标签(标签内容实质为伪造的身份id),将第二类型图像的第二类型标签也命名为身份id标签(标签内容为真实的身份id),那么本实施例中,在执行步骤102的训练步骤时,可以从上述举例的第一样本集合和第二样本集合所构成的并集中抽取任意两个图像样本,当这两个图像样本的身份id标签的内容相同时,则这两个图像样本构成正样本,而当这两个图像样本的身份id标签的内容不同时,则这两个图像样本构成负样本;将这两个图像样本分别输入至神经网络模型中进行人脸特征提取,得到这两个图像样本的两个人脸特征向量;
其中,需要说明的是,第一类型图像的身份id标签的标签内容是与第二类型图像的身份id标签的标签内容不同的,因为,第一类型图像中对象的身份与第二类型图像中对象的身份是不同的。
然后,计算这两个人脸特征向量之间的距离(例如欧式距离);接着,根据该距离,以及这两个图像样本的身份id标签的内容是否相同的情况来确定所述神经网络模型对应的预设类型损失。
其中,上述并集中任意两张图像样本,依据身份id标签的内容是否相同的情况不同可以构成一组正样本或负样本,那么利用上述并集中每两个图像样本的人脸特征向量之间的距离以及相应的两个身份id标签的内容,来确定一次预设类型损失,并利用该预设类型损失来对神经网络模型进行迭代更新,就可以使得训练后的神经网络模型能够对不需要保护身份的各个对象达到身份识别的效果。
其中,根据所抽取的上述任意两个图像样本的不同抽样情况,在进行上述模型训练时可以包括以下三种情况:
情况一:根据任意两个所述第一类型图像的两个人脸特征向量之间的距离,以及所述任意两个第一类型图像的第一类型标签的标签内容是否相同的情况,确定所述预设类型损失;
情况二:根据任意两个所述第二类型图像的两个人脸特征向量之间的距离,以及所述任意两个第二类型图像的第二类型标签的标签内容是否相同的情况,确定所述预设类型损失;
情况三:根据任意一个所述第一类型图像的人脸特征向量和任意一个所述第二类型图像之间的距离,以及所述任意一个所述第一类型图像的第一类型标签与所述任意一个所述第二类型图像的第二类型标签的标签内容是否相同的情况,确定所述预设类型损失。
这里的预设类型的损失可以为用于身份识别的损失,例如可以包括但不限于分类损失,三元组损失(tripletloss)。
其中,上述两个人脸特征向量之间的距离较小,则说明两个特征向量对应的两个图像样本对应的两个对象越接近同一个人,而距离越大,则说明两个特征向量对应的两个图像样本对应的两个对象越接近不同的人。
在本发明实施例中,通过神经网络模型对第一类型图像和第二类型图像所构成的并集中的任意两个目标图像分别提取特征,并确定两组特征向量之间的距离;然后,根据该距离以及这两个目标图像的两个标签(身份id标签)的内容,确定神经网络模型的预设类型损失,并利用该预设类型的损失来对该神经网络模型进行迭代更新,从而使得迭代更新后的神经网络模型能够对不需要保护身份的同一对象的不同人脸图像识别到距离较近的人脸特征向量,以及对不需要保护身份的不同对象的不同人脸图像识别到距离较远的人脸特征向量,达到对不需要保护身份的用户群的身份识别效果;
此外,由于第一类型图像的第一类型标签(例如伪造的身份id标签)与第二类型图像的第二类型标签(例如真实的身份id标签)的标签内容不同,而在对神经网络模型训练时,所确定的预设类型损失是基于该身份id标签的标签内容是否相同而确定的,那么这样训练的神经网络模型可以确保对不需要保护身份的对象的图像识别的特征向量是准确的,且不需要保护身份的同一个对象的不同图像的特征向量是距离近的,避免引起对需要保护身份的对象和不需要保护身份的对象的两个图片识别到距离相近的特征向量的情况,进而避免对不需要保护的对象身份识别错误的情况。
其中,经过迭代更新后(例如收敛后)的神经网络模型,用于对所述第二类型图像中同一对象的任意两张图像提取距离小于或等于距离阈值的两个真特征向量;
其中,一个对象b的第二类型图像的所述真特征向量在特征空间中会与上述对象b的其他图像的特征向量形成聚类,且该特征向量在特征空间中不会与其他对象的图像的特征向量形成距聚类。
可选地,所述第一类型图像还具有所述第二类型标签,关于这里的第二类型标签(例如真实id标签)的具体解释参照上文即可,这里不再赘述。在本发明实施例中,根据本发明实施例的方法还可以包括:
步骤103,根据所述第一类型图像和所述第一类型图像的所述第二类型标签,对所述神经网络模型作训练。
其中,在模型训练时,对于第一类型图像,不仅需要进行步骤102中的训练,还需要进行步骤103的额外训练,本步骤中在训练时,主要依据第一类型图像(即待保护身份的对象图像)及其第二类型标签(例如真实id标签,表示该对象的真实身份的标签)来对神经网络模型进行训练,使得训练后的神经网络模型可以对具有同一真实id标签(即同一身份)的对象的不同第一类型图像提取的特征向量(例如人脸特征向量)之间的距离是较大的,进而使得同一对象的第一类型图像的特征向量之间不会发生聚类,达到对第一类型图像中的对象作身份保护的目的。
可选地,在执行步骤103时,可以根据所述第二类型标签的标签内容相同的任意两个所述第一类型图像,确定所述神经网络模型对应的对比损失;然后,根据所述对比损失,对所述神经网络模型作迭代更新。
其中,经过迭代更新后(例如收敛后)的神经网络模型,用于对所述第一类型图像中同一对象的任意两张图像提取距离大于距离阈值的两个伪特征向量;
其中,一个对象a的第一类型图像的所述伪特征向量在特征空间中不会与上述对象a的其他图像的特征向量形成聚类。
进一步地,一个对象a的第一类型图像的所述伪特征向量在特征空间中也不会与其他对象的图像的特征向量形成聚类。
在本发明实施例中,可以对同一对象的两个第一类型图像训练模型的对比损失,并根据对比损失迭代更新模型,从而迭代更新后的神经网络模型能够对特定对象的不同图像识别为不同对象,保护特定对象的身份。
可选地,在根据所述第二类型标签的标签内容相同的任意两个所述第一类型图像,确定所述神经网络模型对应的对比损失时,可以通过所述神经网络模型,对所述第二类型标签的标签内容相同的任意两个第一类型图像进行特征提取,得到两个第一特征向量;然后,根据所述两个第一特征向量之间的第一距离,确定所述神经网络模型对应的所述对比损失。
其中,可以通过第一类型图像的第二类型标签(例如真实id标签)来从步骤101获取的图像数据中(例如上述并集)中抽取真实id标签内容相同,即同一待保护对象的任意两张第一类型图像,然后将这两张第一类型图像输入到神经网络模型进行对象的特征提取(例如人脸特征提取),得到两个第一特征向量;然后,根据同一对象的这两个第一特征向量之间的距离,来确定上述神经网络模型的对比损失。
本实施方式中,可以理解为依据上述集合a中每个人的任意两张图的两个特征向量之间的距离,来额外确定神经网络模型对比损失,也就是说,集合a中同一个对象的任意两张图的两个特征向量不仅仅用于计算步骤102实施例中的预设类型损失,还需要额外用于计算这里的对比损失。
另外,需要说明的是,上述第一距离与对比损失是负相关的。即在模型训练过程中,对比损失不断降低的过程中,可以使得需要保护身份的同一对象的两个第一类型图像的两个特征向量之间的距离不断增大。
其中,经过迭代更新后(即收敛后)的所述神经网络模型,用于对所述第一类型图像中同一对象的任意两张图像提取距离大于所述距离阈值的两个伪特征向量,以及用于对所述第二类型图像中同一对象的任意两张图像提取距离小于或等于所述距离阈值的两个真特征向量。
也就是说,经过本发明实施例的训练方法训练后的神经网络模型在对第二类型图像提取特征向量时,可以提取到基本符合其真实人脸特征的特征向量,并且可以对第二类型(即不需要保护身份的用户)图像的同一个对象的不同人脸图像所提取到的两个真特征向量之间的距离是小于上述距离阈值的,即可以对不需要保护身份的用户进行人脸身份的准确识别。但是,在对需要保护身份的同一用户的两种人脸图像进行特征识别时,可以提取到远离其真实人脸特征的特征向量,并将该需要保护身份的同一用户的两个人脸图像所提取到的人脸特征向量之间的距离拉大,使得在特征空间中不会形成距离,从而达到对需要保护身份的用户进行身份的伪识别的目的。
可选地,在根据所述对比损失,对所述神经网络模型作迭代更新时,可以通过降低所述对比损失,对所述神经网络模型进行迭代更新,使得经过迭代更新后的所述神经网络模型对所述第二类型标签的标签内容相同的任意两个第一类型图像所提取的两个特征向量之间的距离,相较于本轮迭代更新前,所述神经网络模型对所述任意两个第一类型图像所提取的两个特征向量之间的距离扩大。
举例来说,若x、y指代具有真实id标签的内容相同的两个人脸图像,f指代本发明实施例的神经网络模型,f(x)和f(y)分别为该神经网络模型对这两个人脸图像提取的人脸特征向量,两个人脸特征向量之间的距离l=||f(x)-f(y)||^2,这里对比损失,即contrastiveloss=-l。在模型训练过程中contrastiveloss会下降,从而使得l越来越大,进而使得被保护的用户的人脸图像的特征向量与该用户的其他人脸图像的特征向量之间的距离越来越大,被保护的用户的人脸特征向量在特征空间中不仅不会和同一用户的其他人脸特征向量聚类,也不会和其他用户的人脸特征向量聚类。
在本发明实施例中,对于需要保护身份的同一对象的两个第一类型图像,通过降低根据任意两个第一类型图像的特征向量所确定的对比损失,来扩大神经网络模型对同一个对象的上述两个第一类型图像所提取的特征向量之间的距离,从而使得训练后的神经网络模型可以对这些需要保护身份的对象的图像进行身份识别时,难以识别到该用户的真实身份。
另外,需要说明的是,步骤102和步骤103都在步骤101之后执行,本发明对于步骤102和步骤103之间的执行顺序不做限制,不仅可以单独执行,也可以联合执行。
当步骤102和步骤103联合执行时,则可以根据步骤103所确定的对比损失和步骤102所确定的预设类型损失,来对所述神经网络模型的参数进行迭代更新,直至达到收敛条件(例如训练目标,即上述两个损失的加权结果在不断降低之后趋于稳定)或达到预设训练次数(例如参数的迭代次数达到500次),得到训练后的神经网络模型。
其中,在上述训练步骤中每确定一次预设类型损失,和/或确定一次对比损失,就可以对该神经网络模型中网络的参数做一次迭代更新,经过多轮的迭代更新,上述预设类型损失与对比损失均不断降低,且二者加权结果趋于稳定,则可以得到收敛后的神经网络模型。
此外,在对神经网络模型进行迭代更新的过程中,还可以不断调节距离阈值的取值,最终神经网络模型收敛后,也确定了距离阈值的最终取值,即上述距离阈值。
综上,借助于本发明实施例的上述模型训练方法,可以在某些特殊对象需要进行身份保护的情况下,在对神经网络模型进行训练时,对这些特殊对象的图像样本(即第一类型图像),不仅计算用于身份识别的预设类型损失,还额外根据需要身份保护的同一对象的第一类型图像的特征向量之间的距离,来确定神经网络模型的对比损失,从而能够根据所述预设类型损失和所述对比损失,对所述神经网络模型进行迭代更新并确定距离阈值,使得经过迭代更新后的所述神经网络模型,不仅可以对不需要保护身份群体(即第二类型图像对应的对象)识别到在特征空间中距离较近的真特征向量,还可以对需要保护身份的群体(即第一类型图像对应的对象)识别到在特征空间中距离较远的伪特征向量,即迭代更新后的神经网络模型可以对需要身份保护的人群进行无效的身份识别,从而无法利用训练后的神经网络模型来对需要保护身份的人群进行监控、定位,达到对某些特殊对象的身份进行保护的目的。
利用上述模型训练方法所训练的经过迭代更新后的神经网络模型,可以进行图像处理,这里图2示出了本发明一个实施例的图像处理方法的步骤流程图,如图2所示,该方法可以包括:
步骤201,采用身份识别模型提取待识别图像中目标拍摄对象的目标特征向量;
其中,所述身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。
这里的身份识别模型即为上述模型训练方法所训练后的神经网络模型。
当需要对一张待识别图像识别该图像中目标拍摄对象的身份时,可以将该待识别图像输入到上述身份识别模型中,该身份识别模型可以对该待识别图像提取关于目标拍摄对象的特征向量。
其中,目标拍摄对象可以是人脸对象或非人脸对象,为了便于说明,后续以拍摄对象为人脸对象为例进行说明。
可选地,在执行步骤201时,当所述待识别图像为所述第一类型图像时,采用身份识别模型提取待识别图像中目标拍摄对象的伪特征向量;
关于第一类型图像的描述可以参照上述模型训练方法实施例的关于第一类型图像的定义,这里不再赘述。
由于经过上述模型训练方法所训练后生成的身份识别模型,对于需要保护身份的特定人群的人脸图像在识别人脸特征向量时,并不会将该人脸图像的真实人脸特征向量识别出来,而是识别一个在特征空间中远离于该真实人脸特征向量的伪特征向量。
其中,所述伪特征向量为在特征空间中不会与所述目标拍摄对象的其他图像的特征向量形成聚类的特征向量;
可选地,在执行步骤201时,当所述待识别图像为所述第二类型图像时,采用身份识别模型提取待识别图像中目标拍摄对象的真特征向量。
关于第二类型图像的描述可以参照上述模型训练方法实施例的关于第二类型的定义,这里不再赘述。
由于经过上述模型训练方法所训练后生成的身份识别模型对于不需要保护身份的人群的人脸图像在识别人脸特征向量时,是识别一个空间距离接近于该人脸图像的真实人脸特征向量的真特征向量,因此,这里提取的特征向量是目标拍摄对象的真特征向量(即无限接近于真实的目标拍摄对象的真实特征向量的特征向量)。
所述真特征向量为在特征空间中能够与所述目标拍摄对象的其他图像的特征向量形成聚类的特征向量。
步骤202,根据已知身份的多个候选图像各自的候选特征向量,以及所述目标特征向量,确定所述目标拍摄对象的目标身份;
其中,每个所述候选特征向量为采用所述身份识别模型对所述多个候选图像分别提取的特征向量,所述多个候选图像包括第一类型图像和第二类型图像;
其中,关于第一类型图像和第二类型图像的定义可以参照模型训练方法实施例中的相关描述,这里不再赘述。
关于本实施例中的身份识别模型的训练步骤可以参照上述任意一个模型训练的实施例,且本图像处理的各个实施例所用到的各项信息,如果在上述模型训练实施例中出现过,则实现原理与模型训练方法实施例的原理类似,本实施例不再一一赘述,参考上文即可。
在本发明实施例中,用于对图像进行特征提取的身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。因此,当目标拍摄对象为第一类型图像中的拍摄对象时,则利用身份识别模型无法识别到该目标拍摄对象的真实身份,从而保护该目标拍摄对象的身份,进而无法利用身份识别模型来对需要保护身份的人群进行监控、定位,达到对某些特殊对象的身份进行保护的目的;而当目标拍摄对象为第二类型图像中的拍摄对象时,则利用身份识别模型可以识别到该目标拍摄对象的真实身份,从而确保了对不需要保护身份的大多数用户的身份识别功能。
可选地,所述身份识别模型,用于对任意两个第一类型图像提取距离大于预设距离阈值的两个伪特征向量,以及用于对任意两个第二类型图像提取距离小于或等于所述预设距离阈值的两个真特征向量,其中,所述预设距离阈值为根据所述身份识别模型而确定的距离阈值。
其中,预设距离阈值为在上述模型训练实施例中,在根据预设类型损失和对比损失来对模型进行多次迭代更新后而确定的距离阈值。
可选地,在执行步骤202时,可以确定已知身份的多个候选图像各自的候选特征向量,并确定每个所述候选特征向量与所述目标特征向量之间的距离;然后,根据所述距离和预设距离阈值,确定所述目标拍摄对象的目标身份。
在本发明实施例中,身份识别模型,不仅可以对不需要保护身份群体(即第二类型图像中的对象)识别到距离较近的真特征向量,还可以对需要保护身份的群体(即第一类型图像中的对象)识别到距离较远的伪特征向量,即身份识别模型可以对需要身份保护的人群进行无效的身份识别。那么在对一个待识别图像识别其中的目标拍摄对象的身份时,则可以通过该身份识别模型来提取该待识别图像中目标拍摄对象的目标特征向量,并将该目标特征向量与已知身份的各个候选图像中拍摄对象的候选特征向量(由该身份识别模型提取)逐个计算距离,并根据距离阈值和该距离,来确定目标拍摄对象的目标身份。
可选地,在确定已知身份的多个候选图像各自的候选特征向量时,可以通过以下任意一种方式来实现:
方式一:当预设数据库中的已知身份的多个候选图像关联有各自的候选特征向量时,从所述预设数据库中获取已知身份的所述多个候选图像各自关联的候选特征向量;
例如,本发明实施例可以在使用上述模型训练的方法生成身份识别模型后,使用上述身份识别模型来对上述举例的集合a以及集合b中的每个用户的人脸图像进行人脸特征识别,将识别到的人脸特征(即上述候选特征向量)向量与相应的人脸图像相关联的存储在预设数据库中,此外,该数据库中的每个人脸图像还关联有各个人脸图像对应的用户身份。
那么在本实施方式一中,就可以对目标特征向量与预设数据库中的每个用户的人脸特征向量逐个计算距离,使得该目标特征向量与预设数据库中的每个用户的人脸特征向量之间都计算出一个距离。
在本发明实施例中,由于直接从预设数据库中确定已知身份的多个候选图像所关联的候选图像中拍摄对象的候选特征向量,然后,确定每个候选特征向量与目标特征向量之间的距离,而无需使用身份识别模型来实时地逐个对每个候选图像中的拍摄对象识别候选特征向量,这样,可以大幅提升图像处理速度,进而快速的识别待识别图像中目标拍摄对象的身份。
方式二:当预设数据库中的已知身份的多个候选图像未关联有各自的候选特征向量时,采用所述身份识别模型提取每个所述候选图像中拍摄对象的候选特征向量。
例如,预设数据库中存储有上述集合a以及集合b中的每个用户的一个人脸图像,且每个人脸图像关联有用户身份;
那么在本实施方式二中,就可以将预设数据库中的每张人脸图像分别输入至身份识别模型,可以得到预设数据库中各个人脸图像的人脸特征向量(即上述候选特征向量);然后对目标特征向量与预设数据库中的每个用户的人脸图像所对应的人脸特征向量逐个计算距离,使得该目标特征向量与预设数据库中的每个用户的人脸特征向量之间都计算出一个距离。
在本发明实施例中,由于预设数据库中只存储有关联有用户身份的候选图像,而候选图像没有关联有该候选图像中拍摄对象的特征向量,可以减少数据库中的数据存储量,进而降低存储空间的占用。
可选地,在一个实施例中,在执行上述根据所述距离和预设距离阈值,确定所述目标拍摄对象的目标身份的步骤时,若多个所述候选特征向量中存在所述距离小于或等于预设距离阈值的目标候选特征向量,则将该目标候选特征向量对应的目标候选图像的身份识别为所述待识别图像中所述目标拍摄对象的身份;若多个所述候选特征向量中不存在所述距离小于或等于预设距离阈值的候选特征向量,则将未知身份识别为所述待识别图像中所述目标拍摄对象的身份。
在本发明实施例中,由于经过训练的身份识别模型对于第一类型图像中的拍摄对象的候选图像所识别到的候选特征向量是伪特征向量,那么当被查询身份的待识别图像中的目标拍摄对象为第一类型图像中的拍摄对象时,则经该身份识别模型对该待识别图像所识别的目标特征向量也是伪特征向量,而第一类型图像中同一拍摄对象的两张图片被该身份识别模型所识别到的两个特征向量的距离会被拉大很远,因此,本发明实施例的图像处理方法对第一类型图像中的拍摄对象的图像进行身份识别时,该图像的目标特征向量在特征空间中不会与任何特征向量聚类,从而无法识别到该目标拍摄对象的真实身份;而当对第二类型图像中的拍摄对象的图像进行身份识别时,则该图像的目标特征向量在特征空间中可以与同一拍摄对象的其他图像的特征向量在特征空间中聚类,从而可以达到对第二类型图像中的拍摄对象的身份识别的目的。
可选地,在另一个实施例中,在执行上述根据所述距离和预设距离阈值,确定所述目标拍摄对象的目标身份的步骤时,可以确定多个所述距离中最小距离;当所述最小距离大于所述预设距离阈值时,将未知身份确定为所述目标拍摄对象的目标身份;当所述最小距离小于或等于所述预设距离阈值时,将所述最小距离对应的候选图像的身份,确定为所述目标拍摄对象的目标身份。
具体而言,经过遍历可以计算得到多个距离,那么只需要计算最小距离与该预设距离阈值之间的大小关系,如果预设数据库中与该目标特征向量最近的候选图像与该待识别图像之间的向量空间距离都是大于预设距离阈值的,则说明预设数据库中没有该目标拍摄对象的身份,或者目标拍摄对象的身份是需要保护的身份的图像,因此,将未知身份作为待识别图像中目标拍摄对象的目标身份;如果预设数据库中与该目标特征向量最近的候选图像与该待识别图像之间的向量空间距离是小于或等于预设距离阈值的,则说明预设数据库中具有该目标拍摄对象的身份的图像,且该目标拍摄对象的身份不是需要保护的身份,因此,将最小距离第一候选图像的身份,确定为所述目标拍摄对象的目标身份。在这个过程中,实现了对需要进行身份保护的人群的身份保护,且由于只需要对比最小距离与预设距离阈值之间的大小关系,大大降低了数据处理量,提升了图像处理效率以及图像识别速度。
图3是本发明实施例提供的一种模型训练装置的框图,如图3所示,该模型训练装置300包括:
获取模块301,用于获取具有第一类型标签的第一类型图像,以及具有第二类型标签的第二类型图像;
第一训练模块302,用于根据所述第一类型图像和所述第一类型图像的所述第一类型标签,以及根据所述第二类型图像和所述第二类型图像的所述第二类型标签,对神经网络模型作训练。
可选地,所述第一类型图像还具有所述第二类型标签,所述装置还包括:
第二训练模块,用于根据所述第一类型图像和所述第一类型图像的所述第二类型标签,对所述神经网络模型作训练。
可选地,所述第二训练模块包括:
第一确定子模块,用于根据所述第二类型标签的标签内容相同的任意两个所述第一类型图像,确定所述神经网络模型对应的对比损失;
第一更新子模块,用于根据所述对比损失,对所述神经网络模型作迭代更新。
可选地,所述第一确定子模块包括:
提取单元,用于通过所述神经网络模型,对所述第二类型标签的标签内容相同的任意两个第一类型图像进行特征提取,得到两个第一特征向量;
第一确定子单元,用于根据所述两个第一特征向量之间的第一距离,确定所述神经网络模型对应的所述对比损失。
可选地,所述第一更新子模块,还用于通过降低所述对比损失,对所述神经网络模型进行迭代更新,使得经过迭代更新后的所述神经网络模型对所述第二类型标签的标签内容相同的任意两个第一类型图像所提取的两个特征向量之间的距离,相较于本轮迭代更新前,所述神经网络模型对所述任意两个第一类型图像所提取的两个特征向量之间的距离扩大。
可选地,在上述任意一个实施例中,所述第一训练模块32包括:
提取子模块,用于通过所述神经网络模型,对任意两个目标图像分别进行特征提取,得到两个第二特征向量;
第二确定子模块,用于根据所述两个第二特征向量之间的距离和所述任意两个目标图像对应的两个目标标签,确定所述神经网络模型对应的预设类型损失;
第二更新子模块,用于根据所述预设类型损失,对所述神经网络模型作迭代更新;
其中,当所述两个目标图像包括所述第一类型图像时,所述第一类型图像的所述目标标签为所述第一类型图像的所述第一类型标签;
当所述两个目标图像包括所述第二类型图像时,所述第二类型图像的所述目标标签为所述第二类型图像的所述第二类型标签。
可选地,所述装置还包括:
更新模块,用于根据对比损失和预设类型损失,对所述神经网络模型的参数进行迭代更新,直至达到收敛条件或达到预设训练次数,得到训练后的神经网络模型。
在本发明实施例中,根据第一类型图像以及其第一类型标签,以及根据第二类型图像及其第二类型标签,来对神经网络模型进行训练,由于第一类型图像表示需要保护身份的对象的图像,而该第一类型图像的第一类型标签则表示第一类型图像中对象的伪身份,因此,可以使得训练后的神经网络模型难以识别到第一类型图像中对象(即待保护的对象)的真实身份,只可以识别到其伪身份,从而到达对特定人群进行身份保护的目的;而第二类型图像表示需要进行身份识别的对象的图像,而该第二类型图像的第二类型标签则表示第二类型图像中对象的真实身份,因此,可以使得训练后的神经网络模型可以对第二类型图像中对象(即不需要保护身份的对象)识别到该对象的真实身份,从而达到对大多数的一般人群进行身份识别的目的。
图4是本发明实施例提供的一种图像处理装置的框图,如图4所示,该图像处理装置400包括:
提取模块401,用于采用身份识别模型提取待识别图像中目标拍摄对象的目标特征向量;
确定模块402,用于根据已知身份的多个候选图像各自的候选特征向量,以及所述目标特征向量,确定所述目标拍摄对象的目标身份,其中,每个所述候选特征向量为采用所述身份识别模型对所述多个候选图像分别提取的特征向量,所述多个候选图像包括第一类型图像和第二类型图像;
其中,所述身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。
可选地,所述提取模块401包括:
第一提取子模块,用于当所述待识别图像为所述第一类型图像时,采用身份识别模型提取待识别图像中目标拍摄对象的伪特征向量;
第二提取子模块,用于当所述待识别图像为所述第二类型图像时,采用身份识别模型提取待识别图像中目标拍摄对象的真特征向量;
其中,所述伪特征向量为在特征空间中不会与所述目标拍摄对象的其他图像的特征向量形成聚类的特征向量;
所述真特征向量为在特征空间中能够与所述目标拍摄对象的其他图像的特征向量形成聚类的特征向量。
可选地,所述确定模块402包括:
第一确定子模块,用于确定已知身份的多个候选图像各自的候选特征向量,并确定每个所述候选特征向量与所述目标特征向量之间的距离;
第二确定子模块,用于根据所述距离和预设距离阈值,确定所述目标拍摄对象的目标身份。
可选地,所述第二确定子模块包括:
第一确定单元,用于确定多个所述距离中最小距离;
第二确定单元,用于当所述最小距离大于所述预设距离阈值时,将未知身份确定为所述目标拍摄对象的目标身份;
第三确定单元,用于当所述最小距离小于或等于所述预设距离阈值时,将所述最小距离对应的候选图像的身份,确定为所述目标拍摄对象的目标身份。
可选地,所述第一确定子模块包括;
获取单元,用于当预设数据库中的已知身份的多个候选图像关联有各自的候选特征向量时,从所述预设数据库中获取已知身份的所述多个候选图像各自关联的候选特征向量;
提取单元,用于当预设数据库中的已知身份的多个候选图像未关联有各自的候选特征向量时,采用所述身份识别模型提取每个所述候选图像中拍摄对象的候选特征向量。
可选地,所述身份识别模型,用于对任意两个第一类型图像提取距离大于预设距离阈值的两个伪特征向量,以及用于对任意两个第二类型图像提取距离小于或等于所述预设距离阈值的两个真特征向量,其中,所述预设距离阈值为根据所述身份识别模型而确定的距离阈值。
在本发明实施例中,用于对图像进行特征提取的身份识别模型为根据第一类型图像和所述第一类型图像的第一类型标签,以及根据第二类型图像和所述第二类型图像的第二类型标签而训练得到的神经网络模型。因此,当目标拍摄对象为第一类型图像中的拍摄对象时,则利用身份识别模型无法识别到该目标拍摄对象的真实身份,从而保护该目标拍摄对象的身份,进而无法利用身份识别模型来对需要保护身份的人群进行监控、定位,达到对某些特殊对象的身份进行保护的目的;而当目标拍摄对象为第二类型图像中的拍摄对象时,则利用身份识别模型可以识别到该目标拍摄对象的真实身份,从而确保了对不需要保护身份的大多数用户的身份识别功能。
另外,本发明实施例还提供一种终端,如图5所示,该终端600包括处理器620,存储器610以及存储在存储器610上并可在处理上运行的计算机程序,该计算机程序被处理器620执行时实现上述实施例所述的模型训练方法或图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的模型训练方法或图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的图像处理方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的数据获取方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。