从专访deepid发明者孙祎:关于深度学习与人脸算法的深层思考总结

deep_learninger deep_learninger     2022-12-13     361

关键词:

今天看到DeepID发明者孙祎介绍,研发心得,人脸识别应用的现状、难点与未来,深度学习的实践经验等问题。回到的很好。


专访DeepID发明者孙祎:关于深度学习与人脸算法的深层思考

发表于 2015-11-18 09:51| 8283次阅读| 来源 CSDN| 17 条评论| 作者 周建丁

CNN 卷积神经网络 DeepID 人脸算法 深度学习 孙祎 Linkface 摘要:DeepID人脸算法发明者、人脸识别创业公司Linkface研究员孙祎深度解读DeepID的 研发心得,人脸识别应用的现状、难点与未来,深度学习的实践经验等问题

人脸识别是近两年计算机视觉领域创业热潮中的一个热门方向,DeepID 是这股热潮中不可忽视的一种人脸算法。针对DeepID的研发心得,人脸识别应用的现状、难点与未来,深度学习的实践经验等问题,CSDN记者近日采访了DeepID人脸算法发明者孙祎。

孙祎先后就读于清华大学、香港中文大学, 2013年在CVPR 上发表了用深度学习做面部特征点检测最早的论文 。随后陆续发表了四篇在人脸识别领域有影响力的论文(ICCV’13 CVPR’14 NIPS’14CVPR’15 ),使深度学习方法的人脸识别准确率远远超过了人眼的准确率。

孙祎所提出的方法已被学术界和工业界广泛采用,他本人目前也是 人脸识别创业公司Linkface的一名研究员,专注于算法创新与实际应用的结合。孙祎团队研发的技术和产品已经在当今备受关注的互联网金融领域被应用于“人脸在线身份认证”,让用户无需面签即可通过人脸识别在手机端认证身份,继而开户、转账、借贷,这项身份认证服务已达到了百万级/天的调用量。


DeepID人脸算法发明者、Linkface公司研究员孙祎

结缘深度学习与人脸算法

CSDN:首先请介绍一下您自己。

孙祎:我现在在人脸识别科技公司Linkface担任研究员。我开始做研究的启蒙导师是微软亚洲研究院的孙剑研究员。大四在微软亚洲研究院实习的时候开始接触卷积神经网络,这也是目前计算机视觉领域应用最广的深度学习模型。但在当时了解它的人还很少。我的第一个研究工作是用卷积神经网络进行面部特征点检测。在微软的实习期结束之后,我来到了香港中文大学读博士,导师是汤晓鸥教授和王晓刚教授。在中大,我把面部特征点检测的工作整理成了论文,发表于CVPR’13,这也是用深度学习做面部特征点检测最早的论文。

后来我将卷积神经网络应用于人脸识别领域。此前的积累让我后来的研究比顺利,先后发表了四篇在人脸识别领域比较有影响力的论文(ICCV’13,CVPR’14,NIPS’14,CVPR’15)。其中后三篇论文都在当时取得了LFW/YouTube Face人脸识别测试集上的最好结果,极大地提高了人脸识别的准确率,使深度学习方法远远超过了人眼以及非深度学习方法在人脸识别上的准确率。这些工作是使用深度学习进行人脸识别的开创性的工作。我和导师共同提出了通过大规模人脸分类以及人脸对之间的度量学习训练用于人脸识别的深度神经网络的方法,这种方法已经被学术界和工业界广泛采用。

CSDN:您当初为什么会选择人脸识别技术方向?这项技术研发的主要挑战有哪些?

孙祎:我在做人脸识别之前是研究用卷积神经网络做面部特征点检测的。因此对卷积神经网络已经比较熟悉了。当时对于LFW上的人脸比对有一个特别直接的用卷积网络实现的想法,就是将两张人脸图片作为不同的通道输入给卷积网络,然后让它做一个二分类问题,判断这两张人脸是不是同一个人。这个想法虽然简单,但是在我初次尝试时就达到了大约85%的人脸比对准确率。这使我看到了用深度学习的方法做人脸识别的希望。我的第一篇人脸识别的论文就是从这个最简单的想法出发做成的。

人脸识别的困难在人脸图片较大的类内变化和较小的类间差异由于人脸的角度、光照、表情、年龄、化妆、遮挡、图片质量等等变化,同一个人的不同人脸图片具有很大差异。同时,随着待识别的人数的增加、出现长得比较像的人的概率增加等情况逐渐增多,如何让计算机在较大的类内变化的干扰下依然能够辨识到可能比较微弱的类间变化,是人脸识别的主要挑战。()

CSDN:能否介绍选择在Linkface主要负责的工作,以及加入Linkface创业的深层原因?

孙祎:我目前在Linkface担任研究员,主要进行基于深度学习的人脸识别算法的研究,比如改进神经网络模型,改进训练方法等。工作之余,会时刻关注这个领域的动态,整合现有学术成果的基础上,寻求新的技术突破。一方面,我希望在产业界依然能够在科技前沿上为人类探索未知做一点贡献,另一方面,人脸识别技术有很大的应用价值,希望可以看到我的技术被广泛使用。

在Linkface,我们的团队在不断改进现有算法的同时,也专注于算法研究与实际应用的结合,目前我们在互联网金融领域研发的技术和产品已经在“人脸云平台”上提供百万级/天的调用服务。  


孙祎和Linkface联合创始人石建萍、夏炎、马廷姣、方芳

DeepID研发心得与未来

CSDN:在DeepID的研发和进化过程中,有哪些事情让您印象最为深刻?

孙祎:深度学习在一开始还远没有非深度学习的方法性能好。当时比较知名的一些方法,例如Tom-vs-Pete classifiers、high-dim LBP、TL Joint Bayesian等极大地提高了人脸识别的性能,而这些都是非深度学习的方法。当时人们不会想到深度学习能在人脸识别上取得如目前这样的突破。

深度学习在人脸识别应用上的两个突破另我印象最为深刻其一是通过非常难的大规模人脸分类任务训练神经网络,在网络的隐藏层学到了富含人脸身份属性的特征我们称这样学得的人脸特征表示为DeepID。Facebook也独立研究提出了类似的方法,称作DeepFace。DeepID和DeepFace使得深度学习首次在人脸识别问题上超过非深度学习方法,并且识别性能首次在LFW上逼近人眼在较紧凑地框住的人脸区域上的人脸识别准确率。

之后的另一个突破是在人脸分类的同时加入另一个人脸比对的训练信号这一额外的比对信号的加入进一步将LFW上人脸识别的错误率减小了67%,人脸识别首次在LFW上突破99%的准确率。我们称这种通过联合人脸分类-比对学习到的人脸特征表示为DeepID2。DeepID2工作的一个重要发现是,人脸分类和比对信号的作用恰好分别对应于两个解决人脸识别至关重要的方面,即增大类内变化和减小类间变化。这一发现完美地揭示了同时加入这两个监督信号后识别性能获得巨大提升的原因。

CSDN:现在基于CNN做人脸识别的团队很多,也发了不少相关的Paper,您认为DeepID和其他模型相比,主要有哪些区别?

孙祎:我是用深度学习做人脸识别比较早的。Hybrid ConvNet-RBM model、DeepID、DeepID2等都是使用深度学习做人脸识别的开拓性的工作。这些突破使人们看到了深度学习在人脸识别上的潜力。目前虽然深度学习在人脸识别上被大量使用,但技术上没有太多突破,主要仍然是通过分类或者测度学习的方法来学习人脸的特征表示

CSDN:深度学习输出的解释性受到很多人的诟病,但DeepID很注重对输出向量的分析,我们是如何做到的?

孙祎:当深度学习在具有挑战性的人脸识别测试标准上逐渐接近人眼的水平,人们渴望知道这些人工神经元学到了什么以及它们是如何实现如此高的性能的。认知科学领域有很多关于视觉皮质神经元处理人脸信号机制的研究。受这些工作的启发,我们尝试通过对人工神经网络中神经元行为的分析来解释人脸识别在深度神经网络中的处理过程,神经元学到了人脸的什么信息,以及神经元对于人脸图像部分缺损的鲁棒性。


DeepID人脸图片的预处理方式

CSDN:在DeepID中CNN的改进方式,是否也适用于其他的应用场景?

孙祎:通过联合分类-比对监督信号学习人脸特征表示的方法可能可以推广到其它物体的识别,不过我没有验证过。另一方面,区别于一般物体,人脸的特殊性在于,它可以比较容易地通过面部特征点来对齐。人脸对齐对人脸识别是至关重要的。认知科学研究表明人脑处理人脸信号和一般物体信号使用了人脑不同区域的神经元。

CSDN:能否分析人脸识别领域的下一个技术突破点,以及DeepID未来的进化方向?

孙祎:目前DeepID使用的训练人脸图片只有大约30万张。未来DeepID的进化方向应该是,改进网络结构和网络的监督方式,使其能够学好更大规模(比如上千万)的训练数据。在 Linkface 的数据资源是非常丰富的,人脸数据上亿,这些资源给DeepID算法提供了很大的提升空间。

CSDN:人脸识别技术从Paper、竞赛中超越人眼的识别准确率,到产品化,走进工业应用,还有哪些重要工作需要完成

孙祎:人眼的识别能力是有限的,超过人眼只是人脸识别技术的一小步进步。像身份认证的应用,要求准确率很高,相比于指纹,目前使用人脸进行认证还是比较困难的。人脸识别要解决的难题是,能否从很多(比如上百万)个人中准确地找到属于给定人脸的那个人,或者说,考虑人脸比对的场景,在很低的(比如百万分之一)将不同的人误认作相同的人的概率下,保持较高的将相同的人认作相同的人的概率。

高效深度学习的思考

CSDN:在深度学习领域,目前有很多开源的工具和库,您是如何选择最适合自己的技术的?

孙祎:目前深度学习使用的模型越来越大,实现的效率是主要考虑的问题。此外还会考虑代码是否容易修改。

CSDN:DeepID 能够通过模型本身的优化减少对数据和计算的需求,但很多做深度学习的公司都强调了大数据和高性能基础架构,百度大脑最近还谈到了有基于FPGA加速的版本。您认为模型本身的优化空间还有多大?GPU、FPGA、神经网络加速芯片或者纯类脑架构,哪一种才是未来?

孙祎:从深度学习的角度来讲,使用更多的数据以及更大规模的网络来学这些数据是提高性能最直接的做法。另一方面,一个好的模型或者好的训练方法对于性能的提高是显著的。或者说,为达到相同的性能,好的模型或者训练方法可以极大地减少所需的训练数据。因此模型本身的优化是人们永远不会停止探索的课题。最后一个问题现在不会回答,未来再给出答案。

CSDN:技术路线方面,对于CV、DL的入门和进阶,您有什么建议?

孙祎:我接触计算机视觉和机器学习是从一个具体问题开始的,即使用训练卷积神经网络进行面部特征点检测。刚开始做研究也摸不着门道,相关的工作读的太少,自己的想法也很有限,遇到了不少坎。其间也经历了几个技术上的突破(至少对我而言是这样)。从我开始做这个问题到把论文投出去花了整整两年的时间,但这样的积累让我现在在Linkface的研究工作顺利了很多,能够很快将深度学习用到了人脸识别领域。

可以说从我投出去第一篇论文起算是入门了。所以从我的经历来看,首先是找到一个具体问题,然后多阅读相关文献,多思考,多实践,渐渐就会对一个领域有深入的了解了。


DeepID第一代结构图

CSDN:从学习和工作习惯层面来说,能够做出DeepID这样的模型,您认为哪些因素是成功的关键?

孙祎:做研究过程中,很 多想法都来源于直觉。就是在做的过程中,很多想法就自然而然地想到了。例如,我在完成了用卷积神经网络检测面部特征点的工作之后,对卷积神经网络有一定的了解了。我那时在想, 人脸比对这个问题是否能简单地用卷积神经网络进行端到端的学习,即输入两张人脸图片,神经网络做一个二分类,输出这两张人脸是否属于同一个人。我的第一篇人脸识别论文就是从这个简单想法出发完成的。又比如,我当时做了通过人脸图片 对的比对以及单张人脸图片 的分类训练卷积神经网络的工作之后,就在想, 这两个信号能否叠加起来训练神经网络呢。当时还没有想清楚这两种监督信号各自的作用,但这就是DeepID2工作的最原始思想。

人脸识别技术都有哪些优势呢?

...大学教授汤晓鸥、王晓刚及其研究团队宣布,他们研发的DeepID人脸识别技术的准确率超过99%,比肉眼识别更加精准。我们有幸对汤晓鸥教授进行了书面采访,请他谈谈科研经历与行业发展。据悉,汤晓鸥教授领导的计算机视觉研... 查看详情

深度学习模型训练和关键参数调优详解

...选择最合适的模型。1.回归任务从使用Numpy推导,到使用深度学习框架,一步步走进最简单的回归任务:​​当人工智能邂逅蓝桥杯算法题,会擦出怎样的火花?​​人脸关键点检测完整代码详见​​基于空间注意力SAM的GoogLeNet... 查看详情

深度强化学习与深度q网络

...一下深度神经网络是如何跟强化学习算法相结合的。 关于深度强化学习,这里有一篇非常详细的综述论文,笔者仅简单介绍一下 查看详情

专访百度吴恩达:深度学习能给一个公司带来什么价值

近日,吴恩达接受了Strategy+Business的采访,由于Strategy+Business主要是一家关注公司的管理和经营策略的杂志,因此采访也主要偏向于人工智能的商业化应用。不过这也给了我们一个很好的机会从另一个角度来看待... 查看详情

深度学习与机器学习的区别

深度学习是一种特殊的机器学习,它将现实世界表示为嵌套的层次概念体系(由较简单概念间的联系定义复杂概念,从一般抽象概括到高级抽象表示),从而获得强大的性能与灵活性。深度学习和传统机器学习最重要的区别是它... 查看详情

人脸识别实战:使用pythonopencv和深度学习进行人脸识别(代码片段)

在本教程中,您将学习如何使用OpenCV、Python和深度学习执行面部识别。我们将首先简要讨论基于深度学习的面部识别的工作原理,包括“深度度量学习”的概念。从那里,我将帮助您安装实际执行人脸识别所需的库。... 查看详情

深度学习是如何实现人脸识别的?还面临哪些技术挑战?

还记得你在电影中看到的机场和体育场的视频监控室吗?他们通常配备数十名安全专家,连续数小时密切关注多个实时视频源。从技术上讲,他们的工作是继续监控周边安全并在发现异常情况时发出警报-任何可疑或... 查看详情

keras深度学习实战(22)——生成对抗网络详解与实现(代码片段)

Keras深度学习实战(22)——生成对抗网络详解与实现0.前言1.生成对抗网络原理2.模型分析3.利用生成对抗网络生成手写数字图像小结系列链接0.前言生成对抗网络(GenerativeAdversarialNetworks,GAN)使用神经网络生成与原始图像集非常相... 查看详情

人脸识别完整项目实战:完整项目案例运行演示

...的算法原理和实现机制,让大家对人脸识别与机器学习、深度学习进行有效关联;学习框架篇:系统介绍主流深度学习框架,重点就本课程用到Dlib深度学习框架进行介绍,通过dlib深度学习实战案例1和dlib深度学习实战案例2,两... 查看详情

关于配置深度开发学习环境所遇到的问题与解决

1问题(1)确定电脑是否有英伟达独立显卡;(2)无法下载mnist数据集;(3)无法显示数据集中的数字图像。2方法(1)1.打开电脑上的控制面板2.选择查看“硬件和声音”3.点击进入“设备管理器”4.左键点击:显示适配器,可... 查看详情

随时更新———个人喜欢的关于模式识别机器学习推荐系统图像特征深度学习数值计算目标跟踪等方面个人主页及博客

...标检測、识别、分类、特征点的提取DavidLowe:Sift算法的发明者,天才。RobHess:sift的源代码OpenSift的作者,个人主页上有openSift的下载链接。Opencv中sift的实现。也是參考这个。KoenvandeSande:作者给出了sift,densesift,colorsift等等经常... 查看详情

毕业设计-基于深度学习的人脸识别方法

...课题背景和意义实现技术思路一、人脸识别介绍二、基于深度学习的人脸识别方法实现效果图样例最后前言  📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗... 查看详情

基于深度学习的人脸表情识别实现(代码片段)

1.前言关于人脸识别,其实我一直以来做过蛮多的项目,有些是整理出帖子了,有些是没有整理出,因为学业比较繁重,所以也是断断续续的来整理。最近刚好是五一假期,也出不去,就想着来整理一... 查看详情

深度学习基于卷积神经网络(tensorflow)的人脸识别项目(代码片段)

​活动地址:CSDN21天学习挑战赛目录前言基本思路关于环境OpenCVOpenCV具有的特征OpenCV具有的功能安装OpenCV关键APIimreadnamedWindow示例cv2.VideoCapture(0)CascadeClassifiercap.isOpened()ok,frame=cap.read()cv2.cvtColor(frame,cv2.COLOR_B 查看详情

dlib+opencv深度学习人脸识别

目录(?)[+]DlibOpenCV深度学习人脸识别前言人脸数据库导入人脸检测人脸识别异常处理  Dlib+OpenCV深度学习人脸识别   前言人脸识别在LWF(LabeledFacesintheWild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非... 查看详情

人脸识别---基于深度学习和稀疏表达的人脸识别算法

介绍基于深度学习和稀疏表达的人脸识别算法1利用VGGFace提取人脸特征2PCA对人脸特征进行降维3稀疏表达的人脸匹配Code1介绍本文将介绍一种基于深度学习和稀疏表达的人脸识别算法。首先,利用深度学习框架(VGGFace)提取人脸特征... 查看详情

人脸识别---基于深度学习和稀疏表达的人脸识别算法

介绍基于深度学习和稀疏表达的人脸识别算法1利用VGGFace提取人脸特征2PCA对人脸特征进行降维3稀疏表达的人脸匹配Code1介绍本文将介绍一种基于深度学习和稀疏表达的人脸识别算法。首先。利用深度学习框架(VGGFace)提取人脸特征... 查看详情

深度学习人脸特征点自动定位综述

...脸识别和分析等系统中起着至关重要的作用。本文对基于深度学习的人脸特征点自动定位进行综述,阐释了人脸特征点自动定位的含义,归纳了目前常用的人脸公开数据集,系统阐述了针对2维和3维数据特征点的自动... 查看详情