1.一种基于深度学习的快速人脸检索方法,其特征在于,包括如下步骤:步骤1:设计卷积神经网络结构和损失函数;
卷积神经网络以Inception‑ResNet‑v2为主要结构,以Sigmoid函数为激活函数,损失函数包括交叉熵损失函数、中心距离损失层损失函数和类间损失层损失函数;
(1)交叉熵损失函数:
交叉熵损失函数表达式如下:其中a为网络实际的输出,y为期望值;
(2)中心距离损失层损失函数:中心距离损失函数的表达式如下:其中cyi表示数据块中第yi个个体所有样本的特征中心值,xi表示该个体的某一样本的特征值;
(3)类间损失层损失函数:类间损失函数表达式如下:n m
其中,α为自定义常量,xi代表第i个个体的第n张图片,xj同理;
步骤2:通过损失函数训练卷积神经网络;
步骤3:对于检索数据库的所有图片,通过训练好的卷积神经网络计算人脸二值特征;
步骤4:根据二值特征设计哈希函数,构造哈希结构;
步骤5:对于待检索的图片,代入卷积神经网络中得到二值特征,通过LSH算法在检索数据中进行检索;
步骤6:根据步骤5中的检索结果,找到正确匹配的人脸图片,完成检索。
2.根据权利要求1所述的一种基于深度学习的快速人脸检索方法,其特征在于,所述步骤2的具体步骤为:
步骤2.1:训练数据集和数据分块选择CASIA‑WebFace人脸数据库作为训练集,随机选择10000个体,总共40万图片,首先进行对齐预处理,训练数据块大小为500,每个数据块包含12个个体,每个个体包含40个样本;
步骤2.2:交叉熵损失层训练根据每个样本对应的类别,计算交叉熵损失层损失,进行训练;
步骤2.3:中心距离损失层训练每个数据块所有样本前向传播得到Sigmoid层的特征值,再计算相同个体的特征均值,根据损失函数开始训练,并更新特征均值;
步骤2.4:类间距离损失层训练先计算所有样本传播至Sigmoid层后的特征值,然后随机选择部分不同个体样本,根据损失函数进行训练。
3.根据权利要求1所述的一种基于深度学习的快速人脸检索方法,其特征在于,所述步骤3具体为:
对检索数据库的所有图片,通过卷积神经网络计算得到128维的特征后,以0.5为阈值,将人脸特征二值化。
4.根据权利要求1所述的一种基于深度学习的快速人脸检索方法,其特征在于,所述步骤4具体为:
根据LSH算法,设计哈希函数,根据哈希函数建立特征的哈希结构。
5.根据权利要求1所述的一种基于深度学习的快速人脸检索方法,其特征在于,所述步骤5的具体流程为:
对于待检索的图片,代入卷积神经网络中得到二值特征,通过LSH算法在检索库中进行检索,根据相似度得到检索排序。
6.根据权利要求1所述的一种基于深度学习的快速人脸检索方法,其特征在于,所述步骤6的具体流程为:
步骤5最终得到了检索的相似度排序,然后找到正确匹配人脸的排序作为评价标准,完成检索。