深度学习之facenet人脸识别网络介绍

本文介绍了facenet人脸识别网络的工作流程,包括数据预处理、inception_resnet_v1作为backbone、L2正则化的neck、Triplet Loss及Triplet Selection策略。通过将人脸特征映射到球面上并利用Triplet Loss训练模型,实现高精度的人脸识别。此外,还探讨了工程实践中的样本选择和推理优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前言

         照例先来一段废话,不要跟我说什么物质决定意识,也不要告诉我意识超越物质。在我眼中,这个世界本就是一个战场。软弱的意志自然无法战胜物质,但是足够强大的意识也是能够做到的。在战争没有进行完之前,谁也不知道结果是什么样的。包括我们的世界,我不相信它是一种刻意的设计,倒更像是一种不得已而为之。因为历史总是在不断的重复重复,肯定不是某个外在生命在循环播放电视剧。所以世界的主角就是我们,看我们的生命在这里得到了什么。

2.流程 

                  

            上图就是facenet网络进行人脸识别的整体流程,我们看到总流程分为4步,第一步加载数据集、第二步使用主干网络提取特征信息,第三步neck网络进行L2正则化嵌入,第四部计算loss。不断的正向反向传播,我们最终的模型就出来了。有了一个整体的印象,下面我们详细的讲解一些每一个流程;

       1.batch数据预处理

                  我这块只说一下facenet源码中涉及到的预处理,实际应用中需要怎么处理可自行选择。源码中的预处理包括,随机剪切、随机水平翻转、标准归一化、最后对照片进行统一尺寸(默认为160*160)

        2.backbone

                   主干网络使用的是  inception_resnet_v1,这块就是经典的网络结构设计,在此处不展开详细讨论,后续我会专门针对常用的网络结构进行解释,敬请期待。

        3.neck

                     颈部可以说是facenet最关键的部分,也是其发挥作用的关键。此处的原理是使用L2正则项将所有的特征值映射到一个球面上,球面上两个点的距离大小就可以用来表示相似度。如果两张照片是同一个人,则距离小,不同的人则距离大。如下</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值