有人可以详细和简单的话解释一下Facenet模型是如何工作的。
人脸识别Facenet Model详解?
人工智能
神经网络
深度学习
面部识别
2021-10-28 07:37:07
1个回答
Facenet 是一个连体网络。它的基本架构是这样 的:输入(一张脸)通过一个深度卷积神经网络以及最后一个全连接层馈送。最后的全连接层输出预定义大小的输入图像的嵌入。嵌入可以包含人类理解或不理解的特征。嵌入表示输入图像,只是以“压缩”形式。
为了进一步解释,让我举个例子。假设你必须描述一张脸。你会说什么?你可能会说脸是圆的,眼睛是蓝色的,这是一张女性脸等等。神经网络正在做你正在做的事情,描述面部,但使用数字而不是文字。
为了完成人脸识别任务,网络会预先拍摄要识别的人列表和要识别的人的未知新数据。然后它将两个图像输入网络并获得嵌入。然后,网络使用诸如平方误差或绝对误差之类的度量来计算两个嵌入的距离。在图像中,它使用平方误差。如果误差低于某个阈值,则人脸被识别。如果不是,它会遍历系统面部集合中的其他预先拍摄的图像并再次执行该任务。系统预先存储预先拍摄的图像的嵌入。
为了训练 FaceNet,使用了三元组损失。我在你的另一篇文章中解释了 Triplet loss。FaceNet模型中计算准确率的公式是什么?
基本上,该模型使用三元组损失进行训练,因为它可以训练网络为同一个人输出相似的嵌入,而为不同的人输出非常不同的嵌入。
有时,也使用二分类端。它消除了三元组损失的需要,而是输出一个从 0 到 1 的数字来表示相似度。这消除了三元组损失部分。
希望我的回答能帮到你,祝你有个愉快的一天!
其它你可能感兴趣的问题