←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
3.11 总结 | 回到目录 | 4.2 One-Shot 学习 |
什么是人脸识别 (What is face recognition?)
欢迎来到第四周,即这门课卷积神经网络课程的最后一周。到目前为止,你学了很多卷积神经网络的知识。我这周准备向你展示一些重要的卷积神经网络的特殊应用,我们将从人脸识别开始,之后讲神经风格迁移,你将有机会在编程作业中实现这部分内容,创造自己的艺术作品。
让我们先从人脸识别开始,我这里有一个有意思的演示。我在领导百度AI团队的时候,其中一个小组由林元庆带领的,做过一个人脸识别系统,这个系统非常棒,让我们来看一下。
(以下内容为演示视频内容)
视频开始:
我想演示一个人脸识别系统,我现在在百度的中国总部,很多公司要求进入公司的时候要刷工卡,但是在这里我们并不需要它,使用人脸识别,看看我能做什么。当我走近的时候,它会识别我的脸,然后说欢迎我(Andrew NG),不需要工卡,我就能通过了。
让我们看看另一种情况,在旁边的是林元庆,IDL(百度深度学习实验室)的主管,他领导开发了这个人脸识别系统,我把我的工卡给他,上面有我的头像,他会试着用我的头像照片,而不是真人来通过。
(林元庆语:我将尝试用Andrew的工卡骗过机器,看看发生什么,系统不会识别,系统拒绝识别。现在我要用我自己的脸,(系统语音:“欢迎您”)(林元庆顺利通过))
类似于这样的人脸识别系统在中国发展很快,我希望这个技术也可以在其他的国家使用。
#视频结束
挺厉害的吧,你刚看到的这个视频展示了人脸识别和活体检测,后一项技术确认你是一个活人。事实上,活体检测可以使用监督学习来实现,去预测是不是一个真人,这个方面我就不多说了。我主要想讲的是,如何构造这个系统中的人脸识别这一部分。
首先,让我们了解一下人脸识别的一些术语。
在人脸识别的相关文献中,人们经常提到人脸验证(face verification)和人脸识别(face recognition)。
这是人脸验证问题,如果你有一张输入图片,以及某人的ID或者是名字,这个系统要做的是,验证输入图片是否是这个人。有时候也被称作1对1问题,只需要弄明白这个人是否和他声称的身份相符。
而人脸识别问题比人脸验证问题难很多(整理者注:1对多问题
(
1
:
K
)
( 1:K)
(1:K)),为什么呢?假设你有一个验证系统,准确率是99%,还可以。但是现在,假设在识别系统中,
K
=
100
K=100
K=100 ,如果你把这个验证系统应用在100个人身上,人脸识别上,你犯错的机会就是100倍了。如果每个人犯错的概率是1%,如果你有一个上百人的数据库,如果你想得到一个可接受的识别误差,你要构造一个验证系统,其准确率为99.9%或者更高,然后才可以在100人的数据库上运行,而保证有很大几率不出错。事实上,如果我们有一个100人的数据库,正确率可能需要远大于99%,才能得到很好的效果。
在之后的几个视频中,我们主要讲构造一个人脸验证,作为基本模块,如果准确率够高,你就可以把它用在识别系统上。
下一个视频中,我们将开始讨论如何构造人脸验证系统,人脸验证之所以难,原因之一在于要解决“一次学”(one-shot learning problem)问题。让我们看下一个视频,什么是一次学习问题。