Einstein Icon

Einstein Vision

Einstein Vision はAIを基軸にしたアプリケーションを素早く開発するための画像認識APIを提供します。もし初めてEinstein Visionを利用する場合は、 Einstein Vision Quick Start (英語) を参照してみて下さい。

Dreamhouse サンプル不動産サプリケーションの中で、この画像認識機能を使っています。 アプリでは利用者が物件を購入するにあたり、好みに近い住居の画像を利用して、それに近い売り出し中の物件を探し出すことができます。これを実現するために Einstein Vision では、「Colonial」、「Contemporary」などそれぞれの分類に従ってラベル分けされた家屋の画像を用意して、画像認識モデルを訓練しました。

“Dreamhouse” のEinstein Visionデモンストレーションの動作を見て見ましょう:

Einstein Vision は REST APIを利用してデータセット、ラベルを使って、どの言語からでもシンプルにモデルを組み上げることができます。 ドキュメント では、例えば Curl (コマンドラインHTTPクライアント)からの接続方法を紹介しています。 そしてこちらにはあるいくつかのクライアントライブラリからは、REST APIを利用してシンプルに接続が可能です:

DreamhouseはAdminアプリケーションを使用してトレーニングデータセットとモデル出力を管理し、それはDreamhouse固有のロジックを持つEinstein Vision REST APIのラッパーです。 Dreamhouse Web App UIを使用するとエンドユーザーは画像をアップロードしEinstein Visionに送信して、ユーザーの好みに合わせて分類することができます。 Einstein Vistionで最良の結果を得るには、ラベルに正確に分類された大きなトレーニング・データセットが必要です。 Dreamhouseのために、私たちは約300の画像のデータセットを使用し、それらをTudor(チューダー), Greek Revival(グリーク・リバイバル),Victorian(ビクトリア朝風)のような様々な不動産の種類に分類しました。 Einstein visionの魔法により、これまでに見たことのない新しい画像を認識して分類することが可能になります。しかし、すべての魔法には限界があります。 猫の写真をアップロードし、猫を見たことがないモデルを使用すると、Einstein Visionははそれを正確には分類できないでしょう。 最良の結果を得るには、正確なトレーニングデータセットを提供することが重要です。

Einstein Vision

Einstein Vision は プリビルドモデル を用意しており、あらゆるものを分類しますが、特定のユースケースよりも汎用的なアプリケーションに利用するのが良いでしょう。Einstein Vision は Heroku上でも利用可能 となっており、Herokuを通してアプリケーションを管理することも可能です。

Dreamhouse Einstein Vision サンプルアプリケーションを自身の環境で動かすには、以下のステップを行います:

  1. Dreamhouse Einstein Vision アプリをHerokuへデプロイします: Deploy
  2. デプロイしたアプリで、以下のURLのデータを使いデータセットを作成します: http://www.dreamhouseapp.io/Dreamhouse.zip
  3. モデルをトレーニングしてテストします。
  4. Dreamhouse Web アプリをHerokuへデプロイします: Deploy
  5. 画像検索機能をデプロイしたDreamhouse Webアプリで試してみます。
GitHub Logo

2つのアプリはGithub上で公開されています: