港中文汤晓鸥团队在DeepID_v1基础上提出的新版本架构,发表于NIPS2014
一、Architecture
网络架构基本上与DeepId_v1一致。
二、Pipeline
图片被分成20regions,每个region有5scales,2RGB&Gray共10种模式,共生成200个pathes,进行水平翻转,分别送入200个网络中。
以1个55 * 47的RGB 模式patch为例,过程和DeepID_v1相似,最后生成1个160维的向量。
用前后向贪心算法,从400个DeepID中,筛选出25个有效且互补的DeepID2向量,缩减计算规模,得到160*25 = 4000的特征值。
再利用PCA对此向量进行降维,得到1* 180的向量,以此向量为依据,做cls和verif,cls用交叉熵,verif用join Bayesian。
三、相比于DeepID_V1的改动
网络结构没有多大改动,重点是在loss计算上。众所周知,表征人脸的特征最好能使不同的人脸之间的差异尽可能大,使相同人脸的不同照片人脸之间差异尽可能小。我们希望得到一个网路,这个网络计算出来的特征vector尽可能满足上述条件。设计loss函数如下:
(一)分类loss
F是特征向量,θid是softmax层参数,t是label的分类结果。
(二)Verification loss
1.类内loss
当 ,input image和标签数据是同一个分类,此时训练网络,使之与label中的特征,尽可能的相近。
2.类间loss
当 ,input image和标签数据属于不同分类。
m为超参数,事先指定好。由上图知,当输入的图片的特征vector,和label的vector差异很大,其L2距离超过m时,loss值为0,网络倾向于学习,使类间距离尽可能的大的vector。
总Verification loss为类间loss和类内loss的加权和,权重各为0.5。
之前业界普遍采用的方法是L1/L2范式和余弦相似度,文中采用一种基于L2 Norm的损失函数。paper中作者测试了其他几种距离算法对准确率的影响,L2距离的性能最好。
(三)cls和verif的组合
选取合适的λ,调整verif loss在总loss中的系数,当λ=0时,不计算verfi的loss,文中选取λ=0.5
四、网络成绩
LFW共有5749个人的数据,共13233张脸。数据集太小,paper中引入外部数据集CelebFace+,有10177个人的数据,共202599张脸。
为充分利用从大量图像块中提取到的特征,作者重复使用7次前项后向贪婪算法选取特征,每次的选择是从之前的选择中未被留下的部分中进行选取。然后在每次选择的特征上,训练联合贝叶斯模型。再将这七个联合贝叶斯模型使用SVM进行融合,得到最佳的效果在LFW上为99.15%。
五、小结
DeeoID_V2印象最深的就是loss函数的创新,之前听师兄说发paper的3点分别是数据集,网络架构和loss函数,这次又验证了这一个观点。

DeepID_V2解读的更多相关文章

  1. SDWebImage源码解读之SDWebImageDownloaderOperation

    第七篇 前言 本篇文章主要讲解下载操作的相关知识,SDWebImageDownloaderOperation的主要任务是把一张图片从服务器下载到内存中.下载数据并不难,如何对下载这一系列的任务进行设计 ...

  2. SDWebImage源码解读 之 NSData+ImageContentType

    第一篇 前言 从今天开始,我将开启一段源码解读的旅途了.在这里先暂时不透露具体解读的源码到底是哪些?因为也可能随着解读的进行会更改计划.但能够肯定的是,这一系列之中肯定会有Swift版本的代码. 说说 ...

  3. SDWebImage源码解读 之 UIImage+GIF

    第二篇 前言 本篇是和GIF相关的一个UIImage的分类.主要提供了三个方法: + (UIImage *)sd_animatedGIFNamed:(NSString *)name ----- 根据名 ...

  4. SDWebImage源码解读 之 SDWebImageCompat

    第三篇 前言 本篇主要解读SDWebImage的配置文件.正如compat的定义,该配置文件主要是兼容Apple的其他设备.也许我们真实的开发平台只有一个,但考虑各个平台的兼容性,对于框架有着很重要的 ...

  5. SDWebImage源码解读_之SDWebImageDecoder

    第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过imageNamed:来加载image,系统默认会在主线程 ...

  6. SDWebImage源码解读之SDWebImageCache(上)

    第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计.在架构上来说,缓存算是存储设计的一部分.我们把各种不同的存储内容按照功能进行切割后,图片缓 ...

  7. SDWebImage源码解读之SDWebImageCache(下)

    第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极 ...

  8. AFNetworking 3.0 源码解读 总结(干货)(下)

    承接上一篇AFNetworking 3.0 源码解读 总结(干货)(上) 21.网络服务类型NSURLRequestNetworkServiceType 示例代码: typedef NS_ENUM(N ...

  9. AFNetworking 3.0 源码解读 总结(干货)(上)

    养成记笔记的习惯,对于一个软件工程师来说,我觉得很重要.记得在知乎上看到过一个问题,说是人类最大的缺点是什么?我个人觉得记忆算是一个缺点.它就像时间一样,会自己消散. 前言 终于写完了 AFNetwo ...

随机推荐

  1. 对有序特征进行离散化(继承Spark的机器学习Estimator类)

    采用信息增益或基尼指数寻找最优离散化点 package org.apache.spark.ml.feature import org.apache.spark.sql.SparkSession imp ...

  2. 微信小程序与Html交互

    微信小程序与H5页面交互 https://www.jianshu.com/p/22e951d83841

  3. SUPERSOCKET.CLIENTENGINE 简单使用

    首先 引用 SuperSocket.ClientEngine.Core.dll和 SuperSocket.ClientEngine.Common.dll 然后 就可以使用ClientEngine了. ...

  4. SOD 框架

    http://www.pwmis.com/sqlmap/#yyal “老坛泡新菜”-SOD MVVM框架,让WinForms焕发新春 https://blog.csdn.net/ccc82284/ar ...

  5. 安装mysql报错:Can't find messagefile '/usr/share/mysql/english/errmsg.sys'和/usr/bin/mysqladmin: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or

    使用yum安装mysql服务端: [root@centos ~]# yum -y install mysql-server Loaded plugins: fastestmirror, securit ...

  6. 泡泡一分钟:FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM

    FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM FMD Stereo ...

  7. Spring cloud微服务安全实战-4-8Zuul网关安全开发(一)

    安全相关的代码和业务逻辑相关的代码实际上是在一个应用里面的,在这个应用里面,我们需要去,这个应用本身的处理逻辑里面需要去处理令牌和用户信息之间的转换. 然后我们需要去知道认证服务器的地址,这些都是耦合 ...

  8. IOPS 测试工具 FIO

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎. fio-2.8下载: wget http://brick.kernel.dk/snaps/fio-2.8 ...

  9. 客户端连接Codis集群

    新建maven webapp项目 添加相关依赖: <dependency> <groupId>redis.clients</groupId> <artifac ...

  10. Jmeter + Ant 构建接口自动化

    1.首先安装ANT,解压,建议放根目录. 对应安装包已上传 2.环境变量配置新建 ANT_HOMEANT_HOME:解压的路径path环境配置新增Path:%ANT_HOME%\binclasspat ...