TensorFlow SiameseNet 人脸识别实战

文章的主要工作是用SiameseNet模型实现人脸识别的功能。
SiameseNet卷积神经网络模型如下(详细结构移步到GitHub,简化版的VGG):
SiameseNet模型
输入输出示例

数据集采用微软的MS-Celeb-1M公开人脸数据集,大家直接下载对齐好的那个数据集,首先网络上有一份清理过的list,文件名是:MS-Celeb-1M_clean_list.txt,大约160M。然后用组合算法生成positive_pairs_path.txt和negative_pairs_path.txt两个文件,每个约150W对,生成后的样子是:
生成文件示例

关键的问题来了,Loss函数怎么定义,其实就是Logistic Regression的Loss函数,这里值得注意的是最后一层的激活函数要用Sigmoid Function。Loss函数如下:
Loss函数

接下来就是训练咯,在TITAN X上训练大约3天,我们可以看到这样的Loss曲线:
Loss曲线

我们可以看到,Loss收敛得很好,不过经过多次试验当Loss下降到0.1左右的时候就不在下降了,目前我还没有找到原因,如果您有解决这个问题的思路,可以给我留言或者给我发邮件(hfrommane@qq.com)。

那我们的模型正确率怎么样呢?
哈哈,不高,在LFW上的正确率90%+,模型还需要优化。

项目源码:
https://github.com/hfrommane/TF-siamesenet

如果您喜欢,给我点一个star,感谢。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fun_He

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值