ビジュアル検索エンジンを使用するモバイル・アプリに対して、クラウド上に格納されたデータを提供する

Comments

最近、ビジュアル検索エンジンを使用したモバイル・アプリを目にする機会が次第に増えてきています。防衛、保険、医療、ファッションなどの業界では、ビジュアル検索エンジン技術が成熟するのに伴い、この技術を使用するケースが増えています。写真を撮影した後、その画像に写っているさまざま対象をアルゴリズムで認識させるには、そのアルゴリズムが比較を行うためのデータ・ストアが必要となりますが、そのようなデータ・ストアはクラウド内に置かれるケースが増えつつあります。この記事では、ビジュアル検索エンジンのアルゴリズムについての概要と、これらのアルゴリズムではデータ・ストアをどのように使用するのかを説明します。さらに、これらのデータ・ストアにアプリケーションを接続する方法、そして特定のベンダーのソリューションを選択した場合の良い点と悪い点についても説明します。

ビジュアル検索エンジンとは何か

ビジュアル検索エンジンは携帯端末 (スマートフォンやタブレット) に専用のエンジンではありませんが、最近の携帯端末にはカメラが内蔵されているため、ビジュアル検索エンジンを最も広く採用しているエンドポイントつまりユーザー・インターフェースは携帯端末となっています。内蔵カメラで撮影した画像は、後からモバイル・アプリを使用して扱うことができます。

ビジュアル検索エンジンを使用すると、ユーザーは写真を撮影した後で、撮影した 2 次元の画像の中に認識対象が含まれているかどうかを、「検索」アルゴリズムを使用して判断することができます。これらのアルゴリズムは、「アプリケーション・プログラミング・インターフェース」(API) と呼ばれるソフトウェア・コネクターを介してモバイル・アプリにデプロイされます。プログラマーは、IQ Engines などのビジュアル検索エンジン・プロバイダーが提供している API を使用することで、ビジュアル検索エンジン技術を利用した独自のアプリを作成することができます。

ビジュアル検索エンジン・プロバイダーの中には、そのまま使用できるモバイル・アプリをあらかじめ用意している企業もあります (例えば Google の Goggles など)。しかし、Google はまだ Goggles のAPI を提供していません。これはつまり、このアプリを産業界に導入して使用しているケースは限られているということです。またビジュアル検索エンジンには、Macroglossa というイタリア企業が提供しているものもあります。産業界で Macroglossa を導入したとか、Macroglossa を使用しているという話はほとんど聞いたことがありませんが、Macroglossa は IQ Engines や Goggles に代わりうる選択肢です。どのビジュアル検索エンジンを使用するかにかかわらず、ビジュアル検索エンジンはすべて同じ原理とプロセスで動作します。

例えば IQ Engines の VisionIQ を使用するには、まずユーザーは携帯端末で写真を撮影します。するとそれによってクライアント・サイドのビジュアル検索プロセスがトリガーされ、VisionIQ を使用するアプリがロードされます。次に、ビジュアル検索エンジンの API サービスがサーバー・サイドのソフトウェアを呼び出すと、クラウド・ベースとなっているデータ・ストアに対して判断の正しさをチェックする目的で行われる学習作業から得られたビジネス・ルールが参照されます。最後に、パブリック・データ・ストアに対して、クラウドソーシングが有効にされて、誰もが検索アルゴリズムを精緻化するプロセスに貢献できるようになります。図 1 にこのプロセスを示します。

図 1. IQ Engines の VisionIQ によって定義されるビジュアル検索エンジンのプロセス
IQ Engines の VisionIQ によって定義されるビジュアル検索エンジンのプロセスを示す図
IQ Engines の VisionIQ によって定義されるビジュアル検索エンジンのプロセスを示す図

ビジュアル検索エンジンのアルゴリズムによって画像を認識できるようにするには、最初にユーザーが、画像を認識するのをサポートする各種属性と画像の組み合わせを用いて、システムに学習させる必要があります。学習されたデータはクラウド・ベースのデータ・ストアにアップロードされるか、Web クローラーのパスに配置されます。Google Goggles は Web クローラー方式を採用しています。Goggles を使用するには、最初に画像とサポート属性つまりメタデータを HTML でレンダリングする必要があります。VisionIQ はクラウド・ベースのデータ・ストアを使用しており、開発者や技術スタッフは REST (Representational State Transfer) API を介してそのデータ・ストアにコンテンツをアップロードします。これらの画像や画像関連のメタデータ (色、テクスチャー、日付、ブランド) がどのようにスキャンまたはアップロードされるかにかかわらず、アルゴリズムによってデータを分析し、継続的にデータの質を高めていく必要があります。図 2 は、ある 1 つの画像と、その画像に関連する属性の例を示しています。

図 2. VisionIQ のデータ・モデル
VisionIQ のデータ・モデルを示す図
VisionIQ のデータ・モデルを示す図

それなりの成功率が得られるように、割り当てられたスケジュールの間、検索アルゴリズムと属性を精緻化する処理を繰り返す必要があることに注意してください。許容できる精度に達するまでシステムに学習させる作業を継続すると、そのシステムを導入してユーザー・アクセプタンス・テスト (UAT) を行う準備が整います。UAT を行うことで、開発者や組織は画像や検索アルゴリズムを精緻化することができ、環境光のちらつきや、不明瞭な画面、さまざまなアングルが存在する実際の状況での使用に耐えるアプリにすることができます。これらのシステムに学習させるためのデータを格納するのにクラウドが使用されるケースが多いことから、「クラウド」という言葉が意味するものを説明しておいた方がよさそうです。

クラウドとビジュアル検索との融合

では、クラウド・コンピューティングとビジュアル検索エンジンがどのように連携するのかを説明しましょう。

クラウドの構造

クラウド・コンピューティングは、言ってみれば、以前からの ASP (アプリケーション・サービス・プロバイダー) モデルに別の名前を付けたものです。しかし真のクラウド・サービスは、ASP モデルとは微妙に異なっており、リソース・プーリング、オンデマンド利用、マルチテナンシー、迅速なエラスティック性などの特徴が追加されています。CSP (クラウド・サービス・プロバイダー) は、さまざまなクラウド・サービス・モデルやクラウド・デプロイメント・モデルをベースにサービスを提供しています。

クラウド・サービス・モデルは、組織がビジネス要件に基づいてクラウドを利用する方式であり、IaaS (Infrastructure as a Service)、PaaS (Platform as a Service)、SaaS (Software as a Service) などがあります。それとは対照的に、クラウド・デプロイメント・モデルには、パブリック・クラウド、プライベート・クラウド、ハイブリッド・クラウド、コミュニティー・クラウドなどがあります。ほとんどの CSP はパブリック・クラウドを提供していますが、一部の CSP は外部のプライベート・クラウドも提供しています。また、ほとんどの大規模な組織では、クラウドを組織内でプライベート・クラウドとして利用しています。ハイブリッド・クラウドは、パブリック・クラウドとプライベート・クラウド両方のソリューションを利用します。コミュニティー・クラウドは、リソース・プーリングを広範囲に活用しており、その一例として、ある学区ではいくつもの学校がサーバー・リソースを共有して情報処理を行っています。

ビジュアル検索エンジンでは、ほとんどの場合において複数のクラウド・デプロイメント・モデルと、複数のクラウド・サービス・モデルが使われています。例えば、IQ Engines の顧客がクラウドソーシングを利用するのをやめる場合、それらの顧客はプライベート・クラウドの IaaS および PaaS モデルを使用します。このモデルでは、クローズド・ストレージ・プールを IaaS ベースのデータ・ストアに使用し、PaaS ベースの API をモバイル・アプリから呼び出します。ただし、IQ Engines が提供するサービスの利用者が自分達のデータ・ストアでパブリック・クラウドソーシングを可能にすると、このデプロイメントはパブリック・クラウドになります。Google Goggles にはまだ API がなく、しかもクラウドソーシングが許されているため、Google Goggles はパブリック SaaS ソリューションに分類されます。

ビジュアル検索エンジンとクラウド・コンピューティング

ビジュアル検索エンジンを使用するモバイル・アプリでは、システムに学習させるための画像が API を介してクラウド・ベースのデータ・ストアにアップロードされるケースが多いものです。最近最もよく使用されている API フォーマットは REST です。REST API はサービス指向アーキテクチャー・モデルに従っているため、Web サービス・ベースのソフトウェア・アーキテクチャーによって、統合目的で使用されることがよくあります。REST API は Web ベースであるため、多くの場合、インターネット・ブラウザーや Web サーバーを介して利用されるシン・クライアント・ソフトウェア・アプリケーションに使用されます。上で述べたように、REST API は比較的新しい技術であり、特定の (ただし柔軟な) API フォーマットを要求します。

クラウド・コンピューティング・サービスは本質的に分散型であるため、API (特に Web ベースのRESTful API) の利用者がリモートからサービスを利用するには理に適ったソリューションです。リモートのモバイル・ワーカーの要求を満たす必要性が高まるにつれ、このソリューションが重要性を帯びてきます。その例として、ある保険会社では複数の保険請求処理部門が共通のクラウド・ベースのデータ・ストアを利用して事務処理を行っています。この例では、保険の査定担当者は VisionIQ の REST API を利用したモバイル・アプリを使用することで、自然災害で浸水被害のあった家屋の写真を撮影し、タグを付け、識別するようにしています。これらの写真は、中央に集約されたプライベート・クラウド・データ・ストアに格納し、アルゴリズムの精緻化を繰り返し行うために使用することができます。そして、社内のプライベート・クラウドソーシングを利用してシステムの精度をさらに高め、被害が浸水によるものなのか、経年劣化や修復を怠っていたことによるものなのかをシステムが判断できるようにしています。

別の使い方として、ビジュアル検索エンジンとプライベート・クラウド・データ・ストアを使用するモバイル・アプリを、医療診断サービス用に導入している例があります。これらのサービスでは、擦り傷、切り傷、あざ、打撲、その他の画像を使用して、アプリからの質問に対して患者が回答したいくつかの内容を補完することで、初期診断を行っています。この情報は電話での医療の専門家による意見と組み合わされ、それらの初期診断が検証されます。このようなアプリは、REST API を介して医療システムの電子健康記録システムとデータのやりとりをすることが可能であり、完全な自動化が実現されます。

最後に、これらのアプリを諜報目的、法的な用途、法執行目的などで使用すると、対象とする人物や事件の証拠を迅速に認識することができます。顔認識アルゴリズムは新しく登場したものではなく、これらを目的とした顔認識機能を備えたモバイル・アプリは確かにありますが、すぐに普及するようなレベルではありません。数年後には犯罪現場の捜査員が大部分の作業にモバイル・アプリを使用できるようになる可能性がある、という程度にすぎません。

まとめ

モバイル・アプリが成熟するのに伴い、ビジュアル検索エンジン技術も成熟するはずです。REST などの現在使用されているフォーマットを利用する API により、モバイルとクラウド両方の相互運用性が高まり、ビジュアル検索エンジン技術の用途が広がります。Goggles を利用するカスタム・モバイル・アプリを詳しく探る API が、Google から公開されればなおのこと用途は広がります。ビジュアル検索エンジンが成長するのに伴い、クラウド・ベースのデータ・ストアはもっと普及するはずです。

これらのデータ・ストアは API によって呼び出され、使用されるデータによって検索アルゴリズムがさらに精緻化されていきます。このことがこの技術が成功を収める上でのカギとなります。この精緻化は、ビジュアル検索エンジン・プロバイダー自身が行うことも、クラウドソーシングを利用して行うことも可能です。これらのアルゴリズムが精緻化されるにつれ、その使われ方も指数関数的に増えるはずです。この記事ではいくつかの使い方を説明しましたが、今後、さらに多くの使い方が紹介されることは想像に難くありません。カメラ付き携帯端末の普及により、精緻化されれば私達の生活やビジネスに変革をもたらしうる、新しいテクノロジーの時代が到来しています。


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


関連トピック


コメント

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing, Mobile development
ArticleID=992973
ArticleTitle=ビジュアル検索エンジンを使用するモバイル・アプリに対して、クラウド上に格納されたデータを提供する
publish-date=12182014