1. 人脸识别
人脸验证(Face Verification)和人脸识别(Face Recognition)的区别:- 人脸验证:一般指一个一对一问题,只需要验证输入的人脸图像是否与某个已知的身份信息对应;
- 人脸识别:一个更为复杂的一对多问题,需要验证输入的人脸图像是否与多个已知身份信息中的某一个匹配。
- 一般来说,由于需要匹配的身份信息更多导致错误率增加,人脸识别比人脸验证更难一些。
One-Shot学习: 只用一个训练样本来获取准确的数据。要让人脸识别能够做到一次学习,需要学习 Similarity 函数,差异度函数。
- 可以设置一个超参数ε 作为阈值,作为判断两幅图片是否为同一个人的依据
- 对于人脸识别问题,只需计算测试图片与数据库中K个目标的相似函数,取其中d(img1,img2)最小的目标为匹配对象。若所有的d(img1,img2)都很大,则表示数据库没有这个人
- 如果之后有新人加入了团队,只需将他的照片加入数据库,系统依然能照常工作
Siamese 网络:利用梯度下降算法不断调整网络参数,使得属于同一人的图片之间d(x(1),x(2))很小,而不同人的图片之间d(x(1),x(2))很大。即神经网络的参数定义了一个编码函数f(x(i)),如果给定输入图像x(i),这个网络会输出x(i)的128维的编码。然后要做的就是学习参数
- 如果两个图片x(i)和x(j)是同一个人,那么得到的两个编码的距离就小
- 如果x(i)和x(j)是不同的人,那么编码距离就大
- 如果改变这个网络所有层的参数,会得到不同的编码结果,通过反向传播来改变这些所有的参数,以确保满足这些条件
间隔参数α也被称为边界margin,类似于支持向量机中的margin,拉大了Anchor和Positive图片对和Anchor与Negative图片对之间的差距。
2. 神经风格转移
神经风格迁移生成图片G的代价函数
- α、β 是用于控制相似度比重的超参数。
- 神经风格迁移的算法步骤如下:随机生成图片 G 的所有像素点;使用梯度下降算法使代价函数最小化,以不断修正 G 的所有像素点。
内容代价函数
- 使用一个预训练好的 CNN(例如 VGG);选择一个隐藏层 l 来计算内容代价。
- l 太小则内容图片和生成图片像素级别相似,l 太大则可能只有具体物体级别的相似。因此,l 一般选一个中间层;设 a(C)[l]、a(G)[l]为 C 和 G 在 l层的激活
- a(C)[l] 和 a(G)[l] 越相似,则 Jcontent(C,G)越小
风格代价函数
用于计算这两个通道的相关性,相关性的大小,即表示原始图片同时包含两个通道图片的可能性大小。通过 CNN,“风格”被定义为同一个隐藏层不同通道之间激活值的相关系数,因其反映了原始图片特征间的相互关系。
卷积神经网络也可以延伸到一维ihe三维数据,如EKG心电图和CT扫描
标签:编码,吴恩达,人脸识别,函数,卷积,参数,人脸,图片 From: https://www.cnblogs.com/forever-fate/p/17174888.html