FaceNet算法(在this文章中描述)使用卷积神经网络来表示128维欧氏空间中的图像。
在阅读我不明白的文章时:
答案 0 :(得分:3)
以下是一些可能澄清您疑虑的答案:
即使在这里,权重也会被调整以最大限度地减少损失,它只是损失项很少复杂。损失有两个部分(在等式中用+分隔),first part
是一个人的图像与同一个人的不同图像相比较。 second part
是与不同人的图像相比较的人的图像。我们希望first part
损失小于second part
损失,损失方程实质上捕获了这一点。所以在这里你基本上想要调整权重,使same person error
更少,different person error
更多。
损失术语涉及三个图像:有问题的图像(锚点):x_a
,其正对:x_p
及其负对:x_n
。 hardest positive
x_a
是正图像,与其他正图像相比,误差最大。 hardest negative
的{{1}}是与其他人最近的图像。因此,您希望使最远的正面相互靠近,并将最近的底部推得更远。这是在损失方程中捕获的。
x_a
在培训期间(在线)计算其锚点。在每个Facenet
(一组40张图片)中,他们选择minibatch
到锚点,而不是选择hardest negative
图像,他们选择批次中的所有锚点正对。
如果您希望实施hardest positive
,最好考虑实施face recognition
的{{3}},这更容易培训,并且表现更好。