人脸识别之FaceNet
来源:互联网 发布:同花顺源码 编辑:程序博客网 时间:2024/06/10 00:52
这是一篇2015年的cvpr,FaceNet: A UnifiedEmbedding for Face Recognition and Clustering,取得了当时人脸识别的state-of-the-art,论文主要提出了tripletloss这一思想。
如上图所示,简单的说,triplet就是一个由(Anchor ,Positive,Negative)组成的三元组。其中,Anchor(表示为Xa)为锚,表示从数据集中随机选择的一个样本,Positive(表示为Xp)表示和Anchor属于同一类别的样本,Negative(表示为Xn)表示和Anchor属于不同类别的样本。
我们分别用下面的三个元素来表示其学习到的特征向量:
tripletloss的作用就是训练的过程中,使得Xa与Xp之间的距离尽可能小,Xa与Xn之间的距离尽可能大,为了绝对的区分开,真正做到discriminative,还要使得Xa与Xp的距离比Xa与Xn的距离小一个间隔,类似svm中的几何间隔。
triplet loss相应的目标函数为
即目标函数取0或者上面式子的最大值,当上面式子有值的时候,表示会产生损失,为0的时候表示没有产生损失。
在逆向传播的过程中,梯度按下面的公式计算:
具体在caffe中,triplet loss的实现,可以参考happynear在github上分享的他自己维护的caffe,里面有相应的实现。https://github.com/happynear/caffe-windows
另外CMU开源的openface中也用到了基于torch的tripletloss。
基于TensorFlow的facenet的实现,目前lfw识别率已经更新到了99.4%,https://github.com/davidsandberg/facenet
- 人脸识别之FaceNet
- 人脸识别之端到端框架(三)--FaceNet
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- google facenet+ROS实现人脸识别
- tensorflow 实现人脸识别(facenet)
- FaceNet--Google的人脸识别
- 【论文笔记】FaceNet--Google的人脸识别
- 基于tensorflow的人脸识别技术(facenet)的测试
- DeepFace--Facebook的人脸识别&& FaceNet--Google的人脸识别
- 基于Opencv/TensorFlow/mtcnn/Facenet的实时人脸检测/人脸识别
- 人脸识别“FaceNet: A Unified Embedding for Face Recognition and Clustering”
- 人脸识别——FaceBook的DeepFace、Google的FaceNet、DeepID
- 人脸识别——FaceBook的DeepFace、Google的FaceNet、DeepID
- 第十三周--项目1- Prim算法的验证
- Projective Dynamics: Fusing Constraint Projections for Fast Simulation
- Docker: Failed to get D-Bus connection: No connection to service
- Fiddler设置重定向url
- 常见的正则表达式
- 人脸识别之FaceNet
- android之listview悬浮topBar
- caffe学习笔记(二)--mnist实例测试
- 类的构造函数和析构函数
- 关于php内部编码与mysql字符差异问题的研究
- 近期使用的pandas小结
- OpenGL基础变换
- 递归算法——打印目录树状图
- 97. Interleaving String