Object Detection によって顔検出の精度を上げる  

TensorFlow を使用して、ぼやけた人間の顔でも特定できるようにコンピューター・ビジョンによる顔検出機能を強化する

By Smruthi Raj Mohan, Neha Setia, Manjula Hosurmath

Description

顔認識アプリケーションは、画像分析の分野で最も有望なアプリケーションのうちの 1 つと見なされています。けれども、画像にどのように顔が映し出されるかにかかわらず、さまざまなバリエーションの画像内で人を認識できるようでなければ堅牢な顔認識アプリケーションとは言えません。精度を上げるには、顔検出アルゴリズムでは対応できないインスタンスを TensorFlow によって検出し、これらのインスタンスをオブジェクトとして扱って、機械学習によるオブジェクト検出モデルを適用するという方法があります。このコード・パターンでは、Watson Visual Recognition の顔検出機能を拡張するために、モデルによって検出された画像をオブジェクトとして扱い、そのオブジェクトを顔検出アルゴリズムに付加する方法を説明します。

Overview

堅牢な顔認識プログラムというものは、画像内でどのように顔が映し出されるかにかかわらず、さまざまなバリエーションの画像内で人を認識できるようでなければなりません。そこまでのレベルに顔検出の精度を引き上げるには、どうすれば良いでしょうか?それには、顔検出アルゴリズムが検出に失敗するようなインスタンスをオブジェクトとして扱います。これらのオブジェクトをモデルによって特定して顔検出アルゴリズムに付加すれば、顔検出の精度が上がるはずです。

顔がカバーされている人の画像 (頭を布で覆っている人の画像や、帽子をかぶった人の画像など) をサンプルとして使用し、その顔を別のオブジェクトとして扱って「Covered」のラベルを付けます。このようにして検出されたオブジェクトを、顔検出アルゴリズムに付加します。このプロセスにより、顔検出アルゴリズムによる検出件数が増え、したがって予測の精度も向上します。

このコード・パターンでは Watson Visual Recognition、Watson Studio、Python ノートブックを使用して、カバーされた顔を検出する方法をデモンストレーションします。

Flow

  1. 検出対象の顔を含む画像のデータ・セットを作成し、これらの画像を Cloud Object Storage 上にアップロードします。
  2. 画像ファイルを Watson Studio Python ノートブック内に取り込みます。
  3. アルゴリズムではまず、Tensorflow Object Detection API のモデルを使用して顔を検出します。
  4. 検出された顔が Watson Visual Recognition による顔検出結果に増補されて出力されます。

Instructions

詳細な手順については、README ファイルを参照してください。手順の概要は以下のとおりです。

  1. Object Detection フォルダーを取得します。
  2. IBM Watson Studio にサインアップします。
  3. Watson Visual Recognition サービス・インスタンスを作成します。
  4. Jupyter Notebook を IBM Watson Studio 内で実行します。
  5. データを用意します。
  6. モデルを用意します。
  7. Object Storage サービス・インスタンスを作成します。
  8. IBM Watson Studio 上でノートブックを作成します。
  9. Tensorflow Object Detection API ファイルを追加します。
  10. ノートブックを更新してサービス資格情報を反映させます。
  11. ノートブックを実行します。
  12. 結果を分析します。

Related Patterns

TensorFlow を使用してアートを分類する

Learn how to build your own data set and train a TensorFlow model for image classification on a Kubernetes cluster.


顔検出機能を備えた拡張現実アプリケーションを作成する

このコード・パターンでは、ARKit に Watson Visual Recognition と Cloudant データベースを結合して、完全な拡張現実体験を実現します。


Related Blogs

Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

皆さん、こんにちは。IBM デベロッパーアドボケイト戸倉彩です。 グローバルハッカソンは目標をもって仲間と一緒 […]

続けて読む Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

IBM Developer Dojo – 6月イベントスケジュール

皆さん、こんにちは。IBMデベロッパーアドボケイト戸倉です。 5月にスタートした毎週水曜日にIBM渋谷オフィス […]

続けて読む IBM Developer Dojo – 6月イベントスケジュール