comment 0

Lobeで作った画像認識モデルをローカル環境でAPI化するLobe Connectを試してみる

先日、Microsoft Lobeのリリース告知メールで、Lobe Connect機能が追加されたという言及がありました。
どんなものかな?と試してみたのですが、内容はタイトルどおり。クラウドにデプロイできればもっと便利だったのですが、いまのところLobeが動いているPC上でのAPI化のようです。

Microsoft Lobeとは

Lobeについては、以前記事を書きました。Windows/Macの両方で動作するMicrosoft製の画像認識モデル作成アプリです。
非常に簡単に画像認識モデルを作ることができるので、PoCなんかにオススメのツールです。

AIの活用を考えると、まず最初に思い浮かぶのが画像認識モデルを使って何かする・・・ということです。弊社でも協業で口腔画像や、不動産の物件写真の認識モデルを作成し、それを活用するアプ…

Lobe Connectを試す

まず、最新版のLobeにアップデートしました。
続いて、簡単な画像認識モデルを作成します。お馴染みの犬と猫の分類モデルです。

画像20枚だけなので、あっという間にモデルができます。

で、ここからなのですが、モデルのUse画面を開き、続いてExportをクリックします。

すると、モデルをエクスポートできる先が選択肢として表示されます。
TensorFlowモデルとしてのエクスポートなどは、以前から提供されている機能です。Webアプリに組み込むには、TensorFlow.jsなんかがオススメかと。
で、ここにLobe Connectという選択肢が追加されています。

Lobe Connectをクリックすると、このような表示が行われます。

localhostのURLと、呼び出しの例です。要するに分類したい画像をBase64形式でエンコードしてPOSTすれば良いということのようです。

Pythonで呼び出してみる

このようなPythonコードでLobe ConnectのAPIを呼び出してみます。

import requests
import base64
import json

image = requests.get('https://dol.ismcdn.jp/mwimgs/7/1/670m/img_71c53c1d81500a1cf73a4f543e72413f27838.jpg')

url = 'http://localhost:38101/v1/predict/804b9cdb-57c5-42f0-9dfd-a8c57b7d320c'
body = {
    'image': base64.b64encode(image.content)
}
headers = {
    'content-type': 'application/json',
}
r = requests.post(url, body, headers)
print(json.dumps(r.json(), indent=2))

ちなみに、今回分類させてみたのは、このような犬の画像です。フリー画像素材のPixnioにあるものです。

このような結果が戻ってきました。
ちゃんと犬と分類できています。(まぁ、Lobeでは転移学習が行われるのでベースのところで犬くらい分類できるでしょうが・・・。)

Lobe Connectはいつ動いているか

ちなみに、Lobe Connectが正常に動作するのは、Lobeが起動していて、そのモデルの画面を開いているときだけです。
Lobeが起動していてもそのモデルの画面が開いていなければ、レスポンスは返ってきますがエラーになっています。
Lobeが起動していなければ、そもそもlocalhost:38101からレスポンスが返ってきません。

ということで、本番稼働用というより、テスト用といった用途になるかと思います。

Filed under: AI・IoT

About the Author

Posted by

ITエンジニア/経済産業省推進資格ITコーディネータ 株式会社ビビンコ代表取締役 AI・IoTに強いITコーディネータとして活動していたところ、ビジネスコンテスト「北九州でIoT」での入選をきっかけに、株式会社ビビンコを創業。IoTソリューションの開発・導入や、画像認識モデルを活用したアプリの開発などを行う。 日本全国でセミナー・研修講師としての登壇も多数。 近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。

コメントを残す