具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的一个实施例中提供了一种人脸属性值计算方法,其包括:
步骤110,根据已收集的人脸图片集合中人脸图片的特征,生成人脸图片集合中人脸图片的特征向量。本实施例基于人脸特征提取,即通过图像处理算法,检测出人脸图片中人脸的位置,并提取人脸的相关特征,多个特征形成多维向量,例如,400维的向量。
步骤120,将人脸图片集合中人脸图片的特征向量,转换为多个基准向量。本实施例中,对已收集人脸图片没有数量和精度上的要求。
步骤130,为多个基准向量分配对应的属性值,并使用多个基准向量及对应的属性值来建立属性计算模型。本实施例中对属性值的大小不进行限制。
步骤140,根据目标人脸图片的特征,生成目标人脸图片的特征向量。
步骤150,根据目标人脸图片的特征向量和属性计算模型,计算得到目标人脸图片的属性值。
在本实施例的技术方案中,相比于现有的采用生物特征计算技术的技术方案,并不需要大量以及高精度地收集生物特征,则数据收集的工作量非常少。
本发明的另一实施例提出一种人脸属性值计算方法,其中,还包括:
根据预定的第一条件,将人脸图片集合分为第一集合和第二集合。本实施例对第一条件不做限定,具体可以是根据年纪或根据性别划分为两个集合。
步骤130具体包括:分别为第一集合、第二集合建立属性计算模型。
步骤150具体包括:根据第一条件,选择第一集合或第二集合对应的属性计算模型,来计算目标人脸图片的属性值。例如,根据目标人脸图片的性别或年纪,选择相应的计算模型来计算人脸属性值。
在本实施例的技术方案中,建立了不同的计算模型,以适应不同类型的目标人脸图片。
本发明的另一实施例提出一种人脸属性值计算方法,其中,还包括:
根据预定的第二条件,将第一集合分为第一子集合和第二子集合,以及将第二集合分为第三子集合和第四子集合。本实施例中对第一集合和第二集合进行了进一步的划分,例如,划分依据可以是人为设置的长相美丑标准,或气质高低标准。
步骤130具体包括:分别为第一子集合、第二子集合、第三子集合、第四子集合建立属性计算模型。
步骤150具体包括:根据第一条件,分别选择第一子集合、第二子集合对应的属性计算模型进行计算,并根据第一子集合、第二子集合对应的属性计算模型的计算结果,计算得到目标人脸图片的属性值;或
分别选择第三子集合、第四子集合对应的属性计算模型进行计算,并根据第三子集合、第四子集合对应的属性计算模型的计算结果,计算得到目标人脸图片的属性值。
在本实施例的技术方案中,进一步对第一集合和第二集合进行了划分并相应地建立计算模型,则可以同时使用两个计算模型对目标人脸图片进行属性值的计算,综合两个计算模型得到的结果可以全面地反映目标人脸图片的属性值。
如图2所示,本发明的另一实施例提出一种人脸属性值计算方法,其中,步骤120包括:
步骤121,分别计算第一子集合、第二子集合、第三子集合、第四子集合中的每张人脸图片的特征向量与其他人脸图片的特征向量之间的距离,并取其中的最小距离。本实施例中的距离是欧式距离,也称欧几里得距离,它是一个通常采用的距离定义,是多维向量之间的距离。
本实施例中,假设分别搜集男性、女性的人脸图片为第一集合、第二集合,之后按美、丑程度进一步分为第一子集合、第二子集合、第三子集合、第四子集合,要求:每类的图片尽量多,如每类图片数>1000;美丑的区分度尽量大,即美的脸很美,丑的脸很丑,且应保证选取的图片符合大众的美学认识。最小距离的计算如下:
以男性美脸图片的第一子集合为例,其特征集为{feature1,feature2,…,featureN},对该类中的每张图片的特征向量featurei,计算其与该类中其他图片的特征向量的欧式距离distancei,并记录距离最小的值distance_mini,
每张图片与其他图片的距离 (k=1,2,…,N,k!=i),其中,featurei[n]为特征向量featurei的第n个特征,min用于求最小值;
每张图片与其他图片的最小距离distance_beauty_mini=min(distancei)(i=1,2,…,398)。
步骤122,分别取第一子集合、第二子集合、第三子集合、第四子集合中的所有人脸图片对应的最小距离中的最小值、最大值和/或平均值,作为第一子集合、第二子集合、第三子集合、第四子集合的基准向量。
本实施例中,假设第一子集合为男性美脸图片,第二子集合为男性丑脸图片,则
第一子集合中所有图片与其他图片之间最小距离的最小值为:distance_minbeauty=min(distance_beauty_mini);
第一子集合中所有图片与其他图片之间最小距离的最大值为:distance_maxbeauty=max(distance_beauty_mini),max用于求最大值;
第一子集合中所有图片与其他图片之间最小距离的平均值为: 1/N用于求平均值;
第二子集合中所有图片与其他图片之间最小距离的最小值为:distance_minugly=min(distance_ugly_mini),distance_ugly_minj为第二子集合中一人脸图片与其他人脸图片之间的最小距离;
第二子集合中所有图片与其他图片之间最小距离的最大值为:distance_maxugly=max(distance_ugly_mini);
第二子集合中所有图片与其他图片之间最小距离的平均值为:
需要说明的是,上述各个公式并不是实现本发明的唯一公式,仅作为实施例的一种实现方式。技术人员可以根据业务需要对公式做适当变形,依然落在本发明的范围之内,例如增添参数或倍数值等。
在本实施例的技术方案中,提供了一种简单有效的计算基准向量的技术方案,该方案对已收集人脸的图片的数量要求非常低。
本发明的另一实施例提出一种人脸属性值计算方法,其中,步骤130包括:
以多个基准向量为横坐标且以多个基准向量对应的属性值为纵坐标拟合曲线,作为属性计算模型。结合前述的实施例,对于第一子集合、第二子集合的拟合曲线可以如下:
使用点(10,distance_maxbeauty),(8,distance_avgbeauty),(6,distance_minbeauty),(0,0)拟合第一条曲线,设拟合后的曲线为:
a1、b1、c1均为常数;
使用点(10,0),(0,distance_maxugly),(3,distance_avgugly),(5,distance_minugly)拟合第二条曲线,设拟合后的曲线为:
a2、b2、c2均为常数。
则对于一张男性的目标人脸图片而言,提取特征后分别计算目标人脸图片与第一子集合以及第二子集合的最小距离,分别记为distancebeauty与distanceugly。
将上述两个最小距离分别带入拟合的两条曲线中计算得分:
y1=a1+b1*distancebeauty+c1*distancebeauty 2
y2=a2+b2*distanceugly+c2*distanceugly 2
最后得分为:
需要注意的是,本实施例中提供的公式仅为示例,实际上更多类型的公式可以应用到本实施例的技术方案中。
需要说明的是,上述各个公式并不是实现本发明的唯一公式,仅作为实施例的一种实现方式。技术人员可以根据业务需要对公式做适当变形,依然落在本发明的范围之内,例如增添参数或倍数值等。
如图3所示,本发明的另一实施例提供了一种人脸属性值计算系统,其包括:
第一特征向量生成模块310,用于根据已收集的人脸图片集合中人脸图片的特征,生成人脸图片集合中人脸图片的特征向量。本实施例基于人脸特征提取,即通过图像处理算法,检测出人脸图片中人脸的位置,并提取人脸的相关特征,多个特征形成多维向量,例如,400维的向量。
基准向量计算模块320,用于将人脸图片集合中人脸图片的特征向量,转换为多个基准向量。本实施例中,对已收集人脸图片没有数量和精度上的要求。
模型建立模块330,用于为多个基准向量分配对应的属性值,并使用多个基准向量及对应的属性值来建立属性计算模型。本实施例中对属性值的大小不进行限制。
第二特征向量特征模块340,用于根据目标人脸图片的特征,生成目标人脸图片的特征向量.
属性值计算模块350,用于根据目标人脸图片的特征向量和属性计算模型,计算得到目标人脸图片的属性值。在本实施例的技术方案中,相比于现有的采用生物特征计算技术的技术方案,并不需要大量以及高精度地收集生物特征,则数据收集的工作量非常少。
如图4所示,本发明的另一实施例提出一种人脸属性值计算系统,其中,还包括:
集合分类模块360,用于根据预定的第一条件,将人脸图片集合分为第一集合和第二集合。本实施例对第一条件不做限定,具体可以是根据年纪或根据性别划分为两个集合。
模型建立模块330分别为第一集合、第二集合建立属性计算模型。
属性值计算模块350根据第一条件,选择第一集合或第二集合对应的属性计算模型,来计算目标人脸图片的属性值。例如,根据目标人脸图片的性别或年纪,选择相应的计算模型来计算人脸属性值。
在本实施例的技术方案中,建立了不同的计算模型,以适应不同类型的目标人脸图片。
本发明的另一实施例提出一种人脸属性值计算系统,集合分类模块360还根据预定的第二条件,将第一集合分为第一子集合和第二子集合,以及将第二集合分为第三子集合和第四子集合。本实施例中对第一集合和第二集合进行了进一步的划分,例如,划分依据可以是人为设置的长相美丑标准,或气质高低标准。
模型建立模块330分别为第一子集合、第二子集合、第三子集合、第四子集合建立属性计算模型。
属性值计算模块350根据第一条件,分别选择第一子集合、第二子集合对应的属性计算模型进行计算,并根据第一子集合、第二子集合对应的属性计算模型的计算结果,计算得到目标人脸图片的属性值;或
分别选择第三子集合、第四子集合对应的属性计算模型进行计算,并根据第三子集合、第四子集合对应的属性计算模型的计算结果,计算得到目标人脸图片的属性值。
在本实施例的技术方案中,进一步对第一集合和第二集合进行了划分并相应地建立计算模型,则可以同时使用两个计算模型对目标人脸图片进行属性值的计算,综合两个计算模型得到的结果可以全面地反映目标人脸图片的属性值。
如图5所示,本发明的另一实施例提出一种人脸属性值计算系统,其中,还包括:
最小距离计算模块370,分别计算第一子集合、第二子集合、第三子集合、第四子集合中的每张人脸图片的特征向量与其他人脸图片的特征向量之间的距离,并取其中的最小距离。本实施例中的距离是欧式距离,也称欧几里得距离,它是一个通常采用的距离定义,是多维向量之间的距离。
本实施例中,假设分别搜集男性、女性的人脸图片为第一集合、第二集合,之后按美、丑程度进一步分为第一子集合、第二子集合、第三子集合、第四子集合,要求:每类的图片尽量多,如每类图片数>1000;美丑的区分度尽量大,即美的脸很美,丑的脸很丑,且应保证选取的图片符合大众的美学认识。最小距离的计算如下:
以男性美脸图片的第一子集合为例,其特征集为{feature1,feature2,…,featureN},对该类中的每张图片的特征向量featurei,计算其与该类中其他图片的特征向量的欧式距离distancei,并记录距离最小的值distance_mini,
每张图片与其他图片的距离 (k=1,2,…,N,k!=i),其中,featurei[n]为特征向量featurei的第n个特征,min用于求最小值;
每张图片与其他图片的最小距离distance_beauty_mini=min(distancei)(i=1,2,…,398)。
基准向量计算模块320分别取第一子集合、第二子集合、第三子集合、第四子集合中的所有人脸图片对应的最小距离中的最小值、最大值和/或平均值,作为第一子集合、第二子集合、第三子集合、第四子集合的基准向量。
本实施例中,假设第一子集合为男性美脸图片,第二子集合为男性丑脸图片,则
第一子集合中所有图片与其他图片之间最小距离的最小值为:distance_minbeauty=min(distance_beauty_mini);
第一子集合中所有图片与其他图片之间最小距离的最大值为:distance_maxbeauty=max(distance_beauty_mini),max用于求最大值;
第一子集合中所有图片与其他图片之间最小距离的平均值为: 1/N用于求平均值;
第二子集合中所有图片与其他图片之间最小距离的最小值为:distance_minugly=min(distance_ugly_mini),distance_ugly_minj为第二子集合中一人脸图片与其他人脸图片之间的最小距离;
第二子集合中所有图片与其他图片之间最小距离的最大值为:distance_maxugly=max(distance_ugly_mini);
第二子集合中所有图片与其他图片之间最小距离的平均值为:
在本实施例的技术方案中,提供了一种简单有效的计算基准向量的技术方案,该方案对已收集人脸的图片的数量要求非常低。
需要说明的是,上述各个公式并不是实现本发明的唯一公式,仅作为实施例的一种实现方式。技术人员可以根据业务需要对公式做适当变形,依然落在本发明的范围之内,例如增添参数或倍数值等。
本发明的另一实施例提出一种人脸属性值计算系统,其中,模型建立模块330用于以多个基准向量为横坐标且以多个基准向量对应的属性值为纵坐标拟合曲线,作为属性计算模型。
结合前述的实施例,对于第一子集合、第二子集合的拟合曲线可以如下:
使用点(10,distance_maxbeauty),(8,distance_avgbeauty),(6,distance_minbeauty),(0,0)拟合第一条曲线,设拟合后的曲线为:
a1、b1、c1均为常数;
使用点(10,0),(0,distance_maxugly),(3,distance_avgugly),(5,distance_minugly)拟合第二条曲线,设拟合后的曲线为:
a2、b2、c2均为常数。
则对于一张男性的目标人脸图片而言,提取特征后分别计算目标人脸图片与第一子集合以及第二子集合的最小距离,分别记为distancebeauty与distanceugly。
将上述两个最小距离分别带入拟合的两条曲线中计算得分:
y1=a1+b1*distancebeauty+c1*distancebeauty 2
y2=a2+b2*distanceugly+c2*distanceugly 2
最后得分为:
需要注意的是,本实施例中提供的公式仅为示例,实际上更多类型的公式可以应用到本实施例的技术方案中。
需要说明的是,上述各个公式并不是实现本发明的唯一公式,仅作为实施例的一种实现方式。技术人员可以根据业务需要对公式做适当变形,依然落在本发明的范围之内,例如增添参数或倍数值等。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的人脸属性值计算系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。