IBM Bluemix の OpenWhisk および Watson を利用して、画像にタグを付けて特定の顔を検出するアプリを構築する

Comments

想像してみてください。あなたは今、カンヌ国際映画祭に出席しています。あるいは、大都市を訪れているという設定でも構いません。そこで撮った写真を友達やフォロワーとシェアしようとすると、アプリケーションが写真を解釈し、建物やランドマーク、そして有名人を識別して自動的にハッシュタグ候補を提示するとしたら、素晴らしいと思いませんか?よく使われている画像共有アプリにそのような機能が導入されるまで待つのではなく、IBM Bluemix を利用してそのような機能を作成してみませんか?

  • 画像を分析するには、IBM Bluemix のカタログに用意されている、IBM Watson の Watson Visual Recognition および AlchemyAPI (より具体的には、AlchemyVision) サービスを利用できます。AlchemyAPI に画像 (URL またはロー・データ) を渡せば、タグまたはキーワードのリストをその信頼度スコアと一緒に取得できます。また、Watson Visual Recognition をさらにトレーニングすれば、粒度の高い分類が可能になります。
  • アプリで最初にターゲットとするオペレーティング・システムとしては、Swift を使って開発する絶好の機会になるので、iOS を選びます。
  • IBM InterConnect で IBM Bluemix OpenWhisk が発表されたばかりなので、画像処理と分析のすべてはアプリケーション・ロジック・コードの外で、IBM Bluemix OpenWhisk アクションとして実行します。サーバーはセットアップしないので、このアクションは他のアプリでも再利用できます。

ご覧ください。これが、IBM の視覚認識テクノロジーを利用して自動的に画像にタグを付けて顔を検出するサンプル iOS アプリケーションです。

  • 写真を撮るか、カメラ・ロールに保存されている既存の写真を選択します。
  • アプリケーションにタグのリストを生成させて、写真に写っている人物、建物、オブジェクトを検出させます。
  • その結果をネットワークでシェアします。

アプリケーションの作成方法

画像を保管して処理するこのアプリケーションを構築するために利用したのは、Bluemix のカタログに用意されている CloudantWatson Visual Recognition、および AlchemyAPI です。当然、バックエンドを構成するすべての部分は、IBM Bluemix OpenWhisk を利用して JavaScript アクションとして実装されています。

ソース・コード、資料、そしてこのアプリケーションを実行するための手順は、GitHub 上にある、このリンク先の IBM-Bluemix/openwhisk-visionapp プロジェクトから入手できます。

このアプリケーションに取り組んでいるときに、処理を実行するのに IBM Bluemix OpenWhisk を選んだことについて、同僚が「どうしてアプリケーション内から直接 Watson サービスを呼び出さないのか?」と尋ねてきました。実際、その方法も有効ですが、少なくとも最初のうちは、このアプリのターゲットは iOS に絞っています。実際のビジネスに当てはめて考えると、Android や Windows Phone、さらには従来型の Web アプリのようなシステムもアプリのターゲットにする必要があるでしょう。けれども、ロジックを複数の異なる言語で作成し直したいと思いますか?また、結果を表示する前に多少の調整を加える必要が生じたとしたらどうしますか?さらに、この画像タグ付けマイクロサービスが大成功を収めたとしたら、他のアプリに取り込んで統合できるよう、これを API として提供することも検討することになります (多くの写真ライブラリー・ソフトウェアが、十分にトレーニングされた自動タグ付け機能からメリットを得られるからです)。そのような場合、サービスのスケーラビリティーを自分で管理することはしたくないでしょう。代わりに、IBM Bluemix OpenWhisk に任せて、トランスペアレントに処理させるという方法を選ぶはずです。

このアプリに関するフィードバック、提案、または質問がある場合は、Twitter @L2FProd で私に連絡してください。

OpenWhisk の詳細を調べるには、このリンク先の IBM の OpenWhisk 開発センターにアクセスしてください。また、このリンク先の試験版 Bluemix OpenWhisk にサインアップすると、IBM Bluemix 内で稼働する OpenWhisk を確認できます。試験版 Bluemix OpenWhisk のモットーは、「皆さんが送信したコードをホストし、スケールアップし、使用した分だけ料金を支払ってもらう」というものです。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Web development, Cloud computing
ArticleID=1038013
ArticleTitle=IBM Bluemix の OpenWhisk および Watson を利用して、画像にタグを付けて特定の顔を検出するアプリを構築する
publish-date=09292016