港中文汤晓鸥团队在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. [原][C++]拒绝智能指针与指针混用,常见智能指针问题

    公司一个非专科的程序在开发过程中有些毛躁,但是又想使用些新学的技术 这天他正调试呢,发现有一个BUG怎么也找不到原因. 用的好好的内存怎么就突然被删除了呢,好好的指针,怎么就访问越界了呢 没办法,他只 ...

  2. asp设置cookies过期时间

    Response.Cookies("user_name").Expires=Date+1 '指定cookie保存时间 保留COOKIES一个小时 Response.Cookies( ...

  3. 【composer】 PHP composer 镜像地址更换

    如果你使用的是 laravel-china.org 得 composer 镜像.那么近期执行更新时候就会报错: 莫慌,这是因为 laravel-china.org 已经停止了对composer得更新. ...

  4. Swift4.0复习访问控制与作用域

    1.访问等级: open: 可以继承,可以重写. public: “public 访问等级能用于修饰所有文件作用域的函数.对象.协议.枚举.结构体.类以及各种类型中的属性与方法.用 public 所修 ...

  5. 常用HTML转义字符,html转义符,JavaScript转义符,html转义字符表,HTML语言特殊字符对照表(ISO Latin-1字符集)

    HTML字符实体(Character Entities),转义字符串(Escape Sequence) 为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,> ...

  6. [LeetCode] 855. Exam Room 考场

    In an exam room, there are N seats in a single row, numbered 0, 1, 2, ..., N-1. When a student enter ...

  7. 关于STM32F405的GPIO中断问题

    1. 下面的图,应该是多个引脚中断挂在同一个中断号上面,也就是PA0和PB0同时挂在一个中断源上面,那么就是说只能同时使用其中一个 寄存器的配置,确实只能有一个使用

  8. [BJOI2019] 删数 [dp转贪心结论+线段树]

    题面 传送门 思路 dp部分 以下称合法序列为原题面中可以删空的序列 这个是我在模拟考场上的思路 一开始我是觉得,这个首先可以写成一个dp的形式:$dp[i][j]$表示用$j$个数字填满了目标序列的 ...

  9. 使用Jedis出现Connection refused的解决方案

    1.修改redis.conf配置文件中的   bind 127.0.0.1  为本机外网IP: 2. cluster-enabled yes  设置是否集群操作,如果是的话开启 yes,否的话 设置n ...

  10. 网络I/O模型

    事件驱动模型 与传统编程模式不同,事件驱动程序在启动之后,就在那等待,等待什么呢?等待被事件触发.传统编程下也有“等待”的时候,比如在代码块D中,你定义了一个input(),需要用户输入数据.但这与下 ...