LoginSignup
6
4

More than 3 years have passed since last update.

Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - 1.AI Builder編 -

Last updated at Posted at 2020-12-22

1.やったこと

iPhoneのアクティビティアプリのスクショを画像認識して、筋トレ結果を抽出、データを格納してダッシュボードで表示する…までを、Power Platformの各種サービスを駆使してノンコーディングでやってみたことのうち、AI Builderでやったことのメモです。

  1. Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - AI Builder編 -←コレ
  2. Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power Apps編 -
  3. Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Common Data Service編 -
  4. Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power Automate編 -
  5. Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power BI編 -

人恋しさと運動不足解消のため、定期的にオンラインフィットネス(Teams繋ぎながらyoutubeのトレーニング動画を流してみんなでやる)を会社の人とやり始めたことがきっかけで作りました。

最終的な成果物はこんな感じ(細かいデザイン方法については触れません)。
サンプルスクショ サンプルスクショ サンプルスクショ

※試行錯誤した結果、こうしたらできた!って感じなので、これが一番スマートなのかどうかは不明ですのでご注意ください。

2.本アプリでのPower Platformの各サービスの役割

  • Power Apps:iPhoneのアクティビティアプリのスクショをアップロードする。Power BIで筋トレ記録見られる。
  • AI Builder:アクティビティアプリのスクショに含まれる筋トレ時間、消費カロリー、日付などを画像認識する
  • Power Automate:Power Appsのアップロードボタンをトリガーに、アップロードされたスクショをAI Builderに投げ、結果のデータをCommon Data Serviceに格納する
  • Common Data Service:ひたすら筋トレ結果を格納する
  • Power BI:Common Data Serviceに格納された筋トレ成果たちをそれっぽく表示する

図にすると以下のような感じです。
気づいたら割といろいろ使ってた。わお。

筋トレアプリ図解.png

3.開発環境

今回はこちらの無料ライセンスを使いました。
Power Apps Community Plan

4.実現したいこと

iPhoneのアクティビティアプリのワークアウト画面スクショ(以下サンプル)から、以下の情報を抽出するAIを作る。

サンプルスクショ

  • 曜日(例:木)
  • 月(例:12)
  • 日(例:17)
  • トレーニングカテゴリ(例:フィットネスゲーム)
  • 合計時間(例:0:29:24)
  • アクティブキロカロリー(例:90KCAL)
  • 合計キロカロリー(例:120KCAL)
  • 平均心拍数(例:116拍/分)

5.作成過程

Power Appsにログインし、AI Builderからビルドフォーム処理を選択。
画面の指示に従って、AIモデルに名前を付けて作成します。
image.png

抽出する情報のフィールド(タグみたいなもの)を作成します。
image.png

AIモデルを作成するにあたり、学習の元になる写真を5枚以上アップロードして、分析します。
ちょっと待機。
image.png

ここで第一の壁。必要なフィールドを満遍なく認識してくれない!
緑の枠が自動で認識されてフィールドを関連付けできる部分だよという意味らしいのですが、以下画像だと日や曜日、トレーニングカテゴリが認識されていません。

そして画像ごとに認識されている要素もバラバラで、1枚も全てのフィールドをタグ付けられた画像がなかった…。
早くもちょっとめげそうになる。

他の手法もいろいろ考えたが、結果、画像の方を英語にしたらうまくいきました。
日本語の認識はまだちょっと苦手な模様。

こんな感じで、全てのフィールドを全ての画像で関連付けしていきます。

バラバラに認識されているものを、一つのフィールドとして関連付けしたい場合は、ドラッグでエリア選択すればできます。

全てのフィールドへの関連付けが終わると、対象画像にチェックマークがつくので、次の画像の関連付けに移っていきます。

もし認識してくれないフィールドがあったら、該当フィールドの三点リーダみたいなボタンから、ドキュメントで使用不可を選ぶと、そのフィールドはスキップ可能です。
但し、全ての画像で特定のフィールドをスキップしてしまうと、該当フィールドは抽出されないことになってしまう(その旨の通知が出る)ので注意!

なお、英語にした途端、水を得た魚かのように、自動で関連付けしてくれたりする。AIは既に始まっている…!!

こんな感じで全ての画像でフィールドの関連付けをしたら、次へ進めて、モデルのトレーニングができるようになります。
ちょっと待機。
image.png

トレーニングができたら、詳細ページに移動すると、クイックテストができるのでやってみます。
image.png

関連付けられたフィールドと、信頼度が見られます。
image.png

テストがうまくいったら、公開モデルの使用Power Automate続行と進め、Power Automateの中で作成したAIモデルを呼び出すステップに移ります。
image.png
image.png
image.png
image.png

6.次のステップ

今回作ったAIモデルを、Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power Apps編 -で作ったPower Appsから呼び出せるようにします。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4