每个人脸对应的多维特征向量,计算机设备计算该多维特征向量与样本人脸对应的多维特征向量之间的距离。
[0098]需要说明的是,图片中所包含的人脸对应的多维特征向量与样本人脸对应的多维特征向量之间的距离越小,该所包含的人脸与样本人脸越匹配。
[0099]在步骤S22中,计算机设备根据所述距离,在该多个图片中确定包含与所述样本人脸相匹配的人脸的图片。
[0100]具体地,计算机设备根据所述距离,在该多个图片中确定包含与所述样本人脸相匹配的人脸的图片的实现方式包括但不限于:
[0101]a)计算机设备将所述多个图片中,包含的人脸对应的多维特征向量与样本人脸对应的多维特征向量之间的距离小于预定距离阈值的图片,确定为包含与所述样本人脸相匹配的人脸的图片。
[0102]例如,预定距离阈值为4,样本人脸对应的多维特征向量为vectorO,多个图片中的人脸对应的多维特征向量包括:vectorl、vector2、vector3、vector4、vector5 ;在步骤S21中,计算机设备采用欧氏距离算法计算得到vectorO与vectorl之间的欧氏距离为
4.8,vectorO与vector2之间的欧氏距离为3.5,vectorO与vector3之间的欧氏距离为3.1,vectorO与vector4之间的欧氏距离为5.0,vectorO与vector5之间的欧氏距离为2.6,则计算机设备将包含vector2对应的人脸的图片、包含vector3对应的人脸的图片、以及包含vectorf对应的人脸的图片,作为搜索得到的包含与样本人脸相匹配的人脸的图片。
[0103]b)计算机设备将所述多个图片中,包含的人脸对应的多维特征向量与所述样本人脸对应的多维特征向量之间的距离较小的至少一个图片,确定为包含与所述样本人脸相匹配的人脸的图片。
[0104]其中,计算机设备可采用多种方式确定该至少一个图片的数量;例如,根据用户的设置确定需要该至少一个图片的数量;又例如,根据多个图片的数量,以及该至少一个图片占该多个图片的比例,来确定该至少一个图片的数量。
[0105]例如,用户设置要搜索2张包含与样本人脸相匹配的人脸的图片,样本人脸对应的多维特征向量为vectorO,多个图片中的人脸对应的多维特征向量包括:vectorl、vector2、vector3、vector4、vector5 ;在步骤S21中,计算机设备采用欧氏距离算法计算得到vectorO与vectorl之间的欧氏距离为4.8,vectorO与vector2之间的欧氏距离为3.5,vectorO与vector3之间的欧氏距离为3.1,vectorO与vector4之间的欧氏距离为
5.0,vectorO与vector5之间的欧氏距离为2.6,则计算机设备将包含vector5 (vector5与vectorO之间的欧式距离最小)对应的人脸的图片、以及包含vector3 (除vector5之外,vector3与vectorO之间的欧式距离最小)对应的人脸的图片,作为搜索得到的包含与样本人脸相匹配的人脸的图片。
[0106]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据所述距离,在该多个图片中确定包含与所述样本人脸相匹配的人脸的图片的实现方式,均应包含在本发明的范围内。
[0107]根据本实施例的方案,能够通过计算样本人脸对应的多维特征向量与多个图片中的人脸对应的多维特征向量之间的距离,来确定该多个图片中的人脸与样本人脸的相似程度,从而确定多个图片中的、包含与样本人脸相匹配的人脸的图片。
[0108]图3为本发明一个实施例的用于在计算机设备中搜索包含人脸的图片的装置的结构示意图。根据本实施例的用于搜索包含人脸的图片的装置(以下简称为“人脸搜索装置”)包括获取装置I和搜索装置2。
[0109]获取装置I获取样本人脸对应的多维特征向量。
[0110]其中,所述样本人脸用于表示在搜索图片时被作为样本的人脸;优选地,样本人脸为多个,且每个样本人脸均对应一个多维特征向量。
[0111]其中,所述多维特征向量用于指示与样本人脸对应的多个特征,所述特征包括任何与样本人脸相关的特征,如样本人脸中的五官的位置特征(如样本人脸的唇所在的像素点位置等)和形状特征(如样本人脸的唇的轮廓、上下唇的厚度、唇开高度和宽度等)等。
[0112]优选地,所述多维特征向量的维数表示样本人脸的特征数量,也即,多维特征向量的每个维度用于指示样本人脸的一个特征。例如,样本人脸对应的多维特征向量为(X1,X2^…,X2(ICI),其中,XiQ = 0,…,200)用于表示样本人脸的第i个特征。
[0113]具体地,获取装置I获取样本人脸对应的多维特征向量的实现方式包括但不限于:
[0114]I)获取装置I直接获取来自用户或其他设备的、样本人脸对应的多维特征向量。
[0115]2)获取装置I进一步包括提取装置(图未示)和子获取装置(图未示)。
[0116]提取装置从样本图片中提取样本人脸。
[0117]其中,所述样本图片为用户指定的、包含样本人脸的图片。
[0118]其中,提取装置可采用多种方式获取样本图片。
[0119]例如,计算机设备为网络设备,该网络设备的提取装置接收用户通过用户设备所上传的样本图片,或者,该网络设备的提取装置接收用户通过用户设备发送的指示信息,并根据该指示信息从本地获取样本图片。
[0120]又例如,计算机设备为用户设备,该用户设备的提取装置获取用户上传的样本图片,或者,根据用户指示从用户存储在该用户设备的多个图片中获取样本图片。
[0121]需要说明的是,优选地,提取装置获取样本图片之后,先对该样本图片进行检测,来确定该样本图片中是否包含人脸;若样本图片中包含人脸,则提取该样本图片中的样本人脸,若该样本图片中不包含人脸,则停止搜索。
[0122]具体地,提取装置从样本图片中提取样本人脸的实现方式包括但不限于:
[0123]I)提取装置直接提取样本图片中所包含的所有人脸,并将所提取的所有人脸均作为样本人脸。
[0124]例如,样本图片中具有一个人脸,提取装置提取该人脸,并将该人脸作为样本人脸。
[0125]例如,样本图片中具有三个人脸,提取装置提取该三个人脸,并将该三个人脸均作为样本人脸。
[0126]2)样本图片中具有多个人脸,提取装置从该多个人脸中提取用户指定的至少一个人脸。
[0127]例如,样本图片中具有三个人脸,提取装置从用户在该样本图片中标记的位置区域内提取用户指定的一个人脸,并将该提取出的人脸作为样本人脸。
[0128]子获取装置获取样本人脸对应的多维特征向量。
[0129]具体地,子获取装置可采用多种方式获取样本人脸对应的多维特征向量。
[0130]例如,子获取装置提取出该样本人脸的多个特征,并根据该多个特征生成相应的多维特征向量。
[0131]又例如,当计算机设备中预先存储有该样本人脸对应的多维特征向量时,计算机设备的子获取装置可直接从本地读取该样本人脸对应的多维特征向量。
[0132]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何获取样本人脸对应的多维特征向量的实现方式,均应包含在本发明的范围内。
[0133]搜索装置2通过将所述多维特征向量与多个图片中的人脸对应的多维特征向量进行匹配,来在所述多个图片中搜索包含与所述样本人脸相匹配的人脸的图片。
[0134]其中,所述多个图片包括但不限于:计算机设备中本地存储的多个图片、网络中的多个图片等。优选地,所述多个图片为用户在该计算机设备的、用于该用户的存储空间中所存储的多个UGC(User Generated Content,用户生成内容)图片。更优选地,样本人脸为多个图片中的一个人脸。
[0135]需要说明的是,优选地,所述计算机设备中预先存储有该多个图片中的人脸对应的多维特征向量。
[0136]具体地,搜索装置2通过将所述多维特征向量与多个图片中的人脸对应的多维特征向量进行匹配,来在所述多个图片中搜索包含与所述样本人脸相匹配的人脸的图片的实现方式包括但不限于:
[0137]I)搜索装置2通过基于相似性函数法计算样本人脸对应的多维特征向量与多个图片中的人脸对应的多维特征向量之间的相似度,来在该多个图片中搜索包含与样本人脸相匹配的人脸的图片。
[0138]其中,所述相似性函数法包括任何与相似系数相关的算法,如夹角余弦法、相关系数法、Jaccard系数法等。
[0139]例如,多个图片中的人脸对应的多维特征向量包括:vector 1、vector2、vector3、vector4、vector5。获取装置I获取样本人脸对应的多维特征向量vectorO ;搜索装置2采用相关系数法计算得到vectorO与vectorl之间的相关系数为0.3,vectorO与vector2之间的相关系数为0.6,vectorO与vector3之间的相关系数为0.9,vectorO与vector4之间的相关系数为I,vectorO与vector5之间的相关系数为0.5,则搜索装置2将包含vector3对应的人脸的图片、以及包含vectoM对应的人脸的图片,作为搜索得到的包含与样本人脸相匹配的人脸的图片,其中,相关系数法中,两个向量之间的相关系数越接近1,表示该两个向量越相似。
[0140]2)计算机设备计算样本人脸对应的多维特征向量与多个图片中的人脸对应的多维特征向量之间的距离;并且,计算机设备根据所述距离,在该多个图片中确定包含与所述样本人脸相匹配的人脸的图片。本实现方式将在后续实施例中予以详述,在此不再赘述。
[0141]作为搜索装置2的一种优选方案,样本人脸为多个,且每个样本人脸均对应一个多维特征向量,所述搜索装置2进一步包括子搜索装置(图未示)。子搜索装置通过将所述多个样本人脸中的每个样本人脸的多维特征向量,与所述多个图片中的人脸对应的多维特征向量进行匹配,来在所述多个图片中搜索包含与各个样本人脸分别匹配的多个人脸的图片。
[0142]其中,所述包含