Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

ハムスターのご飯を画像判別する仕組みをノーコードで作ってみた話。(Lobe × Power Automate)

こんにちわ!デザインアーキテクトの のりじ こと松本です。 本記事は「オルターブース Advent Calendar 2021 17日目」の記事です。

adventar.org

毎年この時期になると開催(?)される「オルターブース アドベントカレンダー」ですが。
今年は私が入力する前に枠が埋まってまして、「よしよし今年は参加しなくてよさそうだw(助かった)」とほくそ笑んで黙ってたんですけど…。
アッサリ吉嵜さんに見つかりまして、イケメン木本さんのご厚意で1枠空けていただき、私が17日目を担当することになりました。
「全員参加です!必須です!」って…さすが鬼のよしざき。逃してくれなかったwww

というわけで、私が担当する「17日目」は、ノーコードで作った(誰得の)仕組みについてご紹介します。

なぜ「ハムスターのご飯を画像判別する仕組み」作ろうと思ったのか?

突然ですが、今年の秋に実家でジャンガリアンハムスターを飼い始めました。

f:id:noriji_m:20211216151858j:plain
ジャンガリアンハムスターの しじみ くん

【名前:しじみ / 男の子 / 2021年8月生まれ】
すごく!可愛い!!天使!!(親バカ)

さて、このしじみ君のご飯として「ハムハムミックス」もあげています。

f:id:noriji_m:20211216152239j:plain
「ハムハムミックス」の袋の中

袋の中身はこんな感じ。
バランスを考えてペレット含めて8種類の乾燥野菜や果物が入っている商品です。
で、このハムスターのご飯はすごく見分けがつかないな…と思ったので、「もしや、AIの画像判別の学習データにいいのでは?」となったのがキッカケです。
本音:ただ「ウチのコ!超可愛い!」って自慢したかっただけ。

画像判別の学習データをノーコードで準備する方法

Microsoftは「Lobe」という機械学習に必要なトレーニングやモデルの作成を自動的に実行できるデスクトップアプリを提供しています。

www.lobe.ai

Lobeは機械学習の知識やコーディング知識は不要で、利用者は最低5枚の画像を用意し画面上でラベルを付けるだけで簡単に画像判別の機械学習モデルを作成することができます。
このLobeの学習データがPower Platformで利用できるようになったと見かけたので、今回使ってみることにしました。

f:id:noriji_m:20211216152654j:plain

ハムハムミックスの中身を図のように取り出して、各種5枚画像を用意しラベルは以下の名前にしています。

  • 大麦:barley
  • キャベツ:cabbage
  • にんじん:carrots
  • とうもろこし:corn
  • パパイヤ:papaya
  • ペレット:pellet
  • カボチャ:pumpkin
  • ひまわりの種:sunflower

Lobeの利用方法は長くなってしまうので別途ブログにまとめています。ご興味のある方はどうぞ!

[準備編]ハムスターのご飯を画像判別する仕組みをノーコードで作ってみた話。(Lobe × Power Autoamte)
[準備編]ハムスターのご飯を画像判別する仕組みをノーコードで作ってみた話。(Lobe × Power Autoamte) | nrjlog

Power Automateでワークフローを作成する

f:id:noriji_m:20211216155152j:plain

ワークフローの作成前に、「モデル」にLobeで作成した学習データがあるか確認してください。
(表示されていない場合はLobe側での設定を見直してください)

f:id:noriji_m:20211216160245j:plain
ワークフロー全体図

今回は結果の表示を確認したいだけなので、作成するのは図のようにシンプルなワークフローです。 トリガーはDropboxの「ファイルが作成されたとき」を利用します。

f:id:noriji_m:20211216161402j:plain

検索窓に「AI Builder」と入力し、一覧から「予測」をクリック。

f:id:noriji_m:20211216161449j:plain

モデル一覧から、Lobeで設定した名前を選択します。(今回は「Shijimi Food Model」)

f:id:noriji_m:20211216161516j:plain

「Image」に動的なコンテンツから「ファイルコンテンツ」を選択します。 Dropboxの画像をそのまま利用する形です。

f:id:noriji_m:20211216161547j:plain

検索窓に「データ操作」と入力し、一覧から「作成」をクリック。

f:id:noriji_m:20211216161620j:plain

動的なコンテンツから「prediction」を選択します。 ワークフローは以上で完成!

実行結果

では、実際に写真をDropboxのフォルダに投稿して結果を見てみます!

第一問

f:id:noriji_m:20211216161644j:plain

最初はわかりやすいモノで。

f:id:noriji_m:20211216161702j:plain

ワークフローの実行結果はこちら。ラベルの「sunflower(ひまわりの種)」と判定しています。

第二問

f:id:noriji_m:20211216161721j:plain

次は人間が見たら「大麦」と判断する感じですが、質感から「とうもろこし」と間違いそうなもので。

f:id:noriji_m:20211216161738j:plain
ワークフローの実行結果はこちら。ラベルの「barley(大麦)」と判定しています。

第三問

f:id:noriji_m:20211216161757j:plain

最後はいじわるな画像を。 人間が見ても「…パパイヤか?」って悩むところですが。(「にんじん」とは色味も厚みも違うので、たぶんパパイヤ)

f:id:noriji_m:20211216161828j:plain

ワークフローの実行結果はこちら。ラベルの「papaya(パパイヤ)」と判定しています。

何度か繰り返してみたところ「大麦」を「とうもろこし」と誤判定することはありましたが、今回の学習データでは判定成功してました。 各種類たった5枚の画像でここまでの精度の高さには正直ビックリw

最後に

今回は「ハムスターのご飯(乾燥野菜&果物)」という、まず実務では使わんだろという学習データを作成して検証しましたが、Lobeの画像判別の機械学習モデルはかなり精度が高いことがわかりました。 ぜひノーコードで利用できる利点を活かしてみてください!!

明日以降のオルターブースアドベントカレンダーもお楽しみに♪

参考

docs.microsoft.com