Salesforce Developers Japan Blog

Einstein Vistionを使った画像検索Lightningコンポーネント

Einstein Visionは、画像認識のパワーをアプリケーションにもたらすことを可能にします。 このブログ記事では、Einstein Visionを使用してDreamHouseサンプルアプリケーション に画像ベースの検索を追加する方法について説明します。

DreamHouseサンプルアプリケーションでは、物件の購入予定者は当然、物件の画像をみてそれが好みかどうかを判断することはできますが、その物件がどのようにカテゴリされているか(ビクトリア朝、コロニアル、ギリシャリバイバルなど)を知らないかもしれません。 この場合、実際の好みの建築様式に基づいて部兼を検索することが難しい場合があります。画像ベースの検索を使用することで、好きな物件の実際の写真に基づいて家を検索することができます。

DreamHouseサンプルアプリケーションで画像検索を設定および使用する方法について、このビデオをご覧ください(英語):

こちらの動画を見ると、Salesforce1モバイルアプリでの画像検索の様子が確認できます(英語):

DreamHouseアプリケーションの独自のインスタンスでイメージベース検索を構成して使用するには、次の手順を実行します。

 

ステップ 1: DreamHouse サンプルアプリケーションのインストール

こちらの手順に従ってDreamhouseサンプルアプリケーションをインストールします。もし以前のDreamhouseアプリがインストールされている場合は、最新のバージョンがインストールされていることを確認します。 (1.14 より最新).

 

ステップ 2: Einstein platform アカウントの作成

すでにEinstein Visionアカウントをお持ちの場合はこのステップは飛ばして 3 へ進みます。

  • Einstein Vision サインアップサイトに行きます。
  • Sign Up Using Salesforceをクリックします
  • ユーザ名とパスワードを入力してログインしてAllowをクリックし、組織のユーザと認証を行います。よりシンプルにするには、DreamHouse 組織のユーザで行うと良いでしょう。
  • activationページではDownload Keyをクリックし、ファイル名を “einstein_platform.pem” としてローカルシステムにファイルを保存します。

 

ステップ 3: キーファイルのアップロード

  • DreamHouseアプリケーション内で、Filesタブをクイックし、(スクリーンサイズに依存しますが、場合によっては More オプションの中にあるかもしれません)。
  • ファイルのアップロードをクリックします。
  • ステップ2でダウンロードした einstein_platform.pem ファイルをクリックしてオープンします。 einstein_platform ファイルがリストの中に追加されます。
  • 設定からクイック検索ボックスで、カスタム設定をニュ力し、カスタム設定のリンクをクリックします。
  • ドリームハウス設定の横のManageリンクをクリックし、一つ目の新規ボタンをクリックして組織のデフォルト設定を作成します。
  • Einstein Vision Email項目に、ステップ2で利用したEinstein Visionアカウントを作成したSalesforceユーザのメールアドレスを入力します。他の項目は空で問題ありません。

 

ステップ 4: Einstein Vision データセットの作成とトレーニング

  • DreamHouse アプリケーション内で、Einstein Visionタブをクリックします。Einstein Visionタブにはカスタムコンポーネント(EinsteinDashboard) が含まれていて、Einstein Visionデータセットを管理するのをサポートします。
  • デフォルトのURLのhouses.zipファイルのまま、データセットの作成ボタンを押下します。新しいタイルがデータセットとして現れます。 houses.zip にはモデルのトレーニングに利用されるサンプルの物件画像が含まれています。物件画像は Einstein Visionに使われるようにColonial、Contemporary、Victorianの3つのフォルダに別れています。houses.zipをダウンロード & 解凍してフォルダの構造を見てみるのも良いでしょう。
  • データセットの再読み込みを、ラベルが表示されるまで(Colonial、Contemporary、Victorian)押します。ラベルごとに 15 のサンプル画像が含まれてます。 このサンプルアプリケーションでは十分ですが、実際にはより多くの画像を用意することでモデルの精度が増します。
  • Train ボタンをクリックします。
  • Models 多分をクリックした。
  • Refresh Modelsボタンを進捗状況が100%になるまで何回かクリックします(トレーニング処理は数分程度かかります)。
  • model ID をCommand-C (Mac) あるいは Ctrl-C (Windows)でコピーします。

 

ステップ 5: モデルを画像検索で利用する

 

Lightning Experienceで使用

  • DreamHouse アプリ内で物件エクスプローラタブをクリックします。
  • 歯車アイコンをクリックし(画面右上)、編集ページをクリックしてアプリケーションビルダーをオープンします。
  • 画像検索カスタムコンポーネントをページのサイドバー部分へ追加します。コンポーネントのプロパティペインにmodel IDをペーストします。
  • 保存をクリックし、戻るをクリックします。
  • colonial、Victorian、contemporaryの物件の画像を画像検索コンポーネントのドロップエリアに追加します。コンポーネントは画像をEinstein Visionへ送信し、物件のタイプを返却します。このときプロパティPropertyTileListコンポーネントは認識した物件タイプの物件を検索します。

 

Botでの使用

DreamHouse ではbot カスタムコンポーネントを提供しており(ユーティリティバー内)、インスタントメッセンジャーのようなインタフェースでテキストで問い合わせを行うことができます。例えば、 “部屋数:3 場所:新宿” や “物件検索” といったキーワードで検索を行えます。より詳しい利用方法は こちらのポスト(英語) でBotカスタムコンポーネントの詳細を紹介しています。DreamHouse には画像検索をサポートするボットコマンドが追加されています。Botコマンドを利用する前に、コマンドハンドラに自身のmodel IDをセットする必要があります: – 開発者コンソール内で、HandlerImageBasedSearch Apexクラスを開きます。 – modelIDの値をファイル内のトップにあるmodelId 文字列に設定します。 – ファイルを保存します。

画像検索のBotでの利用方法: – Botコマンドタブより、画像検索コマンドを有効化します。画像検索コマンドレコードのActiveにチェックを入れて更新します。 – “物件画像検索” botの入力欄に入力します。 – 物件の画像をBotコンポーネントのドロップエリアにドラッグ&ドロップします。

 

Salesforce1で利用

物件エクスプローラーページはSalesforce1アプリケーションでも画像検索が有効です。やらなければならないのは、自身のmodel IDを設定した画像検索コンポーネントをページに配置するだけです:

  • 設定画面より、クイック検索ボックスにアプリケーションビルダー入力し、Lightning アプリケーションビルダーのリンクをクリックします
  • 物件エクスプローラーページの編集をクリックします
  • 画像検索コンポーネントをクリックします
  • model ID in the コンポーネントプロパティペインにmodel IDをペーストします

物件エクスプローラーページをSalesforce1モバイルナビゲーションへの追加方法: – 設定画面より、クイック検索ボックスにナビゲーションと入力し、Salesforce1ナビゲーションのリンクをクリックします – 物件エクスプローラーを選択済みボックスに追加します。 – 保存をクリックします。

画像検索のSalesforce1での利用方法: – メニューから物件検索をタップします – ファイルのアップロードをタップします – 物件の画像ファイルをライブラリから選択します

 

まとめ

アプリケーションはよりスマートになっています。 Einstein Visionを利用すれば、画像認識を利用して人工知能のパワーを用いたアプリケーションを迅速に構築することができます。 このブログ記事では簡単な画像検索の例を説明していますが、可能性は無限です。 アプリケーションに画像認識の力をもたらす方法を見逃すことはできません。

コメント

Einstein Vistionを使った画像検索Lightningコンポーネント