Microsoftがリリースした機械学習ツールが、「Lobe」です。学習させたい画像を用意するだけで、自動的に学習とモデル作成を行ってくれます。

Tensorflow.js向けにも出力できるため、できあがったモデルをMonacaアプリに組み込むこともできます。

今回はその前段階として、Lobeの使い方を紹介します。

Lobeの使い方

Lobeをダウンロードする

Lobeは公式サイトからダウンロードしてください。

Windowsの場合はインストーラーがダウンロードされるので、インストールを行います。macOS版はそのまま起動します。

プロジェクトを作成する

Lobeを立ち上げたら、プロジェクトを作成します。

Exampleなどもありますが、これを選ぶとLobeのWebサイトに遷移します。
遷移した画面では、サンプルプロジェクトがダウンロードできないため、注意してください。

教師データを用意する

教師データというのは、何らかの写真とそのラベル(答え)の組み合わせになります。

例えば、犬の写真には、答えとして犬というラベルになります。

今回は指を曲げた写真を使って、1〜5をいうラベルを付けています。

LobeではWebカメラから取り込む機能があります。

これは便利なのですが、試してみた限りではトレーニングがはじまらない(何らかの問題がある)状態になってしまいました。

そのため、別途カメラで撮影した写真を使って、フォルダ毎(1〜5という名前)に教師データになる写真を保存しました。

これをデータセットといい、Lobeでまとめて取り込めます。

恐らくこれが一番手軽で簡単でした。

写真が大きいと学習に時間がかかります。

そのため、今回は幅300pxで行っています。

データセットをインポートして、自動的にトレーニングが開始されればOKです。

微調整

学習が終わると、正しく学習できたものと失敗したものとが表示されます。

ここでは予想が外れたデータに対して改めてラベリングを行うことで、より学習精度を高められます。

ただし、あまり同じデータで学習を行うと過学習と呼ばれる状態になり、

学習データに対しては精度が高くとも、任意のデータにしては精度が悪くなる状態になります。

Lobeで過学習がどれくらい考慮されているかは分かりませんが、筆者の環境では4本指に対する精度が悪いままでしたが、他は精度を上げられました。

試す

微調整が終わったら、実際に試してみます。

写真、またはWebカメラの入力データが使えます。

期待した通りのラベルが返ってくれば成功です。

もし間違っていても、この時点で新しいデータを使ってトレーニングが行えます。

エクスポートする

できあがったモデルはTensorflowやONNXなど様々な形式でダウンロードできます。

また、PowerAppsなどとの連携もできるようです。

今回はTensorflow.js向けにエクスポートしています。

5本指判定を行うモデルの場合、4MBのファイル24個できあがりました。

シンプルなモデルであれば、もっと小さいでしょう。

注意点

LobeはWindowsとmacOSに対応

Lobeの公式サイトは https://www.lobe.ai/ になります。ここからWindows版とmacOS版のLobeがダウンロードできます。

なお、macOSのM1/M2チップには対応していないとのことです。試した限りでは起動しますが、動くわけではなさそうです。

Lobe doesn’t work on M2? : Lobe

そのため、基本的に利用する際にはWindows版を使うのが良さそうです。

画像分類モデルが作れます

Lobeが対応しているのは、画像分類(カテゴライズ)になります。例えば写真に写っているのが猫なのか犬なのか判断したり、グーチョキパーを判定するといった具合です。ラベルは、1つしか返ってきませんので、「屋外 女性 リンゴ」といった複数ラベルが返ってくるようなモデルは作成できません。

若干不安定です

使ってみた限りですが、起動して放置していると突然終了してしまうことがありました。どういうタイミングで落ちるのかが分からないため、注意が少し必要です。なお、作成したプロジェクトはそのままだったので、最初からやり直しと言ったことはありません。

元々プレビュー版という位置づけなのですが、プロジェクトとして最近は更新されていないため、Redditでは終了したプロジェクト扱いになっているようです。ただ、Redditでは質問に回答しているという状況です。

例えば、Microsoft公式サイトのドキュメントにも記載があります。今後も開発継続が期待できます。

Lobe の画像分類モデルの概要 - AI Builder | Microsoft Learn

教師データの品質が不明

写真データを取り込むと分かりますが、問題ない写真の場合は、Lobeの学習が自動的に開始されます。問題があると、開始されません。ただ、その際には「写真に問題があります」と表示されます。問題がある写真がどれか分からないため、試行錯誤が必要となります。

まとめ

Lobeを使えば、写真分類を行う機械学習モデルをコーディングなしで作成できます。

注意点でも書いたように幾つかの癖もありますが、慣れれば問題ないでしょう。

AI/機械学習を用いたMonacaアプリを開発する際に、ぜひ使ってみてください。

Lobe | Machine Learning Made Easy