Deep learning 如何从头开始构建人脸识别系统?

Deep learning 如何从头开始构建人脸识别系统?,deep-learning,computer-vision,conv-neural-network,face-detection,face-recognition,Deep Learning,Computer Vision,Conv Neural Network,Face Detection,Face Recognition,我正在为人脸识别系统构建一个原型,在编写算法时,我有几个问题 算法: 收集一对(A(i)、p(i)、N(i))-在XYX公司工作的员工的锚定、正面和负面图像集 使用梯度下降训练三重态损失函数学习CNN参数。实际上,我在这里训练一个(在两个不同的输入上运行两个相同的CNN的想法[一次在a(I)-P(I)上,下一次在a(I)-N(I)],然后比较它们) 这些学习到的参数将确保相同图像的平坦n-dim编码之间的距离较小,而不同图像之间的距离较大 现在,创建一个数据库,在其中存储XYX公司员工的每个

我正在为人脸识别系统构建一个原型,在编写算法时,我有几个问题

算法:

  • 收集一对(A(i)、p(i)、N(i))-在XYX公司工作的员工的锚定、正面和负面图像集

  • 使用梯度下降训练三重态损失函数学习CNN参数。实际上,我在这里训练一个(在两个不同的输入上运行两个相同的CNN的想法[一次在a(I)-P(I)上,下一次在a(I)-N(I)],然后比较它们)

    这些学习到的参数将确保相同图像的平坦n-dim编码之间的距离较小,而不同图像之间的距离较大

  • 现在,创建一个数据库,在其中存储XYX公司员工的每个培训图像的编码

    只需向前通过经过训练的CNN,并将每个图像的相应编码存储在数据库中

  • 在测试时,您有一个XYX公司员工的形象和一个局外人的形象

    • 您将通过CNN传递两个测试图像,并获得相应的编码

    • 现在,问题来了您如何找到数据库中测试图片编码和所有训练图片编码之间的相似性

      • 第一个问题,你是做余弦相似还是我需要做其他事情?你能再清楚一点吗

      • 第二个问题,同样,在效率方面,您将如何处理这样一种情况,即数据库中有100000名员工在培训图片编码,对于每个新人,您需要查看这100000种编码,计算余弦相似性,并在CNN-->SoftMax-->输出中给出结果),每次有新人加入您的组织时,您都需要重新培训您的人际网络,这就是为什么这是一种糟糕的方法
      • 通过使用第二种方法可以缓解此问题,其中我们在上文第1点至第3点中所述的一对员工图像上使用学习距离函数“d(img1,img2)”

        • 我的问题是在新员工加入公司的情况下,如果在培训集中根本没有使用该学习距离函数,该函数将如何推广?测试和列车组的数据分布是否发生变化?这方面有什么建议吗

    • 有人能帮助理解这些概念上的小故障吗

      对计算机视觉中的人脸验证和识别/检测研究论文进行了文献综述。我想我所有的问题都得到了答案,所以我试着在这里回答

      第一个问题,你会做余弦相似吗?你能更清楚地解释一下吗?

      • 通过简单计算测试和每个保存的列车图像enc之间的欧几里德距离,找到它们之间的最小距离

      • 不保留阈值(如0.7)且最小距离小于0.7返回员工姓名,否则“不在数据库中错误!”


      第二个问题,也是在效率方面,在数据库中有100000名员工在培训图片编码,对于每一个新人,你需要查找这100000个编码,计算余弦相似度,并在计算机上对人脸验证和识别/检测研究论文进行一些文献调查后,给出结果,你将如何处理这种情况愿景。我想我所有的问题都得到了答案,所以我试着在这里回答

      第一个问题,你会做余弦相似吗?你能更清楚地解释一下吗?

      • 通过简单计算测试和每个保存的列车图像enc之间的欧几里德距离,找到它们之间的最小距离

      • 不保留阈值(如0.7)且最小距离小于0.7返回员工姓名,否则“不在数据库中错误!”

      第二个问题,同样,就效率而言,您将如何处理这样一个场景:数据库中有100000名员工在培训图片编码,对于每个新人,您需要查看这100000个编码,计算余弦相似性并给出结果