通过 Object Detection 提高人脸检测的准确率  

使用 TensorFlow 增强计算机视觉人脸检测能力,进一步识别模糊的人脸

By Smruthi Raj Mohan, Neha Setia, Manjula Hosurmath

Description

人脸识别被认为是图像分析领域最有前景的应用程序之一。然而,强大的人脸识别应用程序必须识别人的身份,尽管人脸在某个场景中外观上可能会呈现多种变化。为了提高准确率,您可以使用人脸检测算法失败实例,并通过使用 Tensorflow 来附加一个机器学习 Object Detection 模型,从而检测失败案例并将其视为一个对象。在本 Code Pattern 中,我们将演示如何通过将图像视为一个对象(通过模型来检测,并被附加到人脸检测算法)来扩展 Watson Visual Recognition 的人脸检测功能。

概览

强大的人脸识别程序必须识别人的身份,尽管人脸在某个场景中外观上可能会呈现多种变化。您如何才能提高人脸检测的准确率呢?人脸检测算法容易失败的边界情况可以被视为一个 Object。然后,模型可以识别这些对象,并将其追加到人脸检测算法中。

以人脸一直被遮住的图像为例(如戴着头巾或帽子),这些类型的人脸被视为单独的对象,标记为 Covered。接下来,检测到的对象将被追加到人脸检测算法中。此流程增加了人脸检测算法所完成的检测数量,并提高了预测的准确率。

本 Code Pattern 使用 Watson Visual Recognition、Watson Studio 和 Python Notebook 来演示检测被遮盖人脸的方法。

  1. 创建一个包含待检测人脸的图像数据集,然后将这些图像上传到 Cloud Object Storage。
  2. 将图像文件输入到 Watson Studio Python Notebook 中。
  3. 该算法首先使用 Tensorflow Object Detection API 模型来检测人脸。
  4. 检测到的人脸被扩充到 Watson Visual Recognition 人脸检测中以便输出。

Instructions

您可在 README 文件中获取详细步骤。这些步骤将解释如何执行以下操作:

  1. 获取 Object Detection 文件夹。
  2. 注册使用 IBM Watson Studio。
  3. 创建 Watson Visual Recognition 服务实例。
  4. 在 IBM Watson Studio 中使用一个 Jupyter Notebook 来运行此服务实例。
  5. 准备数据。
  6. 准备模型。
  7. 创建 Object Storage 服务实例。
  8. 在 Watson Studio 上创建一个 Notebook。
  9. 添加 Tensorflow Object Detection API 文件。
  10. 使用服务凭证来更新 Notebook。
  11. 运行该 Notebook。
  12. 分析结果。

相关博客

相关链接

英文原文

本 Code Pattern 翻译自:Increase accuracy of face detection with Object Detection(2019-01-09)

TensorFlow 入门

TensorFlow 只是许多用于机器学习的开源软件库中的一个。在本教程中,将概述 TensorFlow,了解哪些平台支持它,并考虑安装注意事项。