Coursera 笔记

Module 04 · Special Applications: Face recognition & Neural Style Transfer

What is Face Recognition?什么是面部识别

Coursera ↗

欢迎来到本课程的 第四周!到目前为止,你已经学习了许多关于卷积神经网络(CNN)的知识。在这一周,我们将重点介绍一些卷积神经网络的特殊应用。我们将从 面部识别 开始,然后在本周稍晚时探讨 神经风格迁移,你将在编程练习中实现这些应用并创造你自己的艺术作品。

首先,让我们从面部识别开始。在这里,我还想分享一个有趣的演示。当我带领 AI 团队时,其中一个团队在 袁庆林 的带领下,开发了一个面部识别系统,我觉得非常酷。让我们一起看看这个演示!


面部识别演示:科技的突破

在我所在的百度总部,许多公司都要求进入时刷身份证。但在这里,我们不需要使用身份证,而是通过 面部识别技术 来实现进入。

  • 演示视频:
    • 我走近门口,系统识别出我的面部并说:“欢迎 Andrew”。我就这样直接进入了大楼,无需任何身份证件。

接下来,我想展示另外一部分的功能。我们在场的 袁庆林 是 IDL(百度人工智能实验室)的负责人,他是这项面部识别技术的开发者之一。让我把我的身份证交给他,他将尝试用我的照片代替我本人,看看系统能否识别。

  • 他试图用我的身份证照片代替真人进入,系统并没有识别成功,拒绝了这个请求。

这个系统非常棒,不仅实现了面部识别,还集成了 活体检测(Liveness Detection),也就是确保识别的是活人而非照片或视频。

  • 活体检测 是使用有监督学习来判断输入的面部图像是否来自活人。虽然这个问题同样可以用监督学习解决,但我将在本视频中主要聚焦于 面部识别部分 的实现。

面部识别的基本术语与概念

在面部识别的研究中,常常提到两个重要的概念:面部验证(Face Verification)和 面部识别(Face Recognition)。这两者的区别非常重要。

1面部验证问题

  • 面部验证 是指:给定一张输入图像和一个人的姓名或ID,系统的任务是验证输入的图像是否属于这个人。
  • 这种任务通常被称为 一对一问题,即验证某人是否就是他们声称的那个人。

2面部识别问题

  • 面部识别 是一个更为复杂的问题,它的目标是识别一个输入图像属于 哪一个人,而不仅仅是验证是否属于某个特定的个体。

面部识别问题比面部验证问题要困难得多。让我们来看一个简单的例子,帮助理解为什么如此。

  • 假设你有一个 99% 准确率 的面部验证系统。
  • 如果你应用这个验证系统到一个有 100 个人 的数据库中,那么即便每个人的验证错误率只有 1%,你依然有错误的可能。
  • 这意味着,在一个 100 人的数据库 中,如果你要保证识别错误率可接受,验证系统的准确率可能需要 99.9% 或更高,才能保证较低的错误率。

为什么验证系统更容易?

  • 面部验证 系统只需要判断“这张脸是否属于特定的人”,而 面部识别 则需要在多个人之间做选择,因此要处理的类别数更多,任务更复杂。

构建面部验证系统

在接下来的几段视频中,我们将专注于 面部验证系统 的构建。你会看到,虽然面部验证相对较简单,但它仍然是构建 面部识别系统 的重要组成部分。如果面部验证系统的准确率足够高,那么它也可以用在 面部识别系统 中。

One-Shot学习问题

其中,面部验证系统面临的一个挑战是解决 One-Shot学习(One-Shot Learning)问题。我们将在接下来的课程中更详细地探讨这个问题。


总结与展望

本视频简要介绍了面部识别的基本原理和技术,展示了 面部验证 和 面部识别 的不同挑战。我们还看到了活体检测的应用,了解了其如何与面部识别结合,确保系统的安全性和准确性。

在下一视频中,我们将深入探讨如何构建一个 面部验证系统,并解决 一-shot学习 的难题。