こんにちは。今回はAI Builderのカスタムモデル「物体検出モデル」についてご紹介します。
最初に概要、そのあとに実際に操作についてお話します。
今回はパンダを検出するモデルを作ります!🐼
物体検出モデルとは
画像の中の物体(オブジェクト)を検出するモデルです。
例えば「Car」を検出するモデルに画像を入れる画像の中に含まれる「Car」を検出してくれます。
例えば、工場などで、部品の種類を検出させるなどの使い方ができます。
AI Builderの物体検出モデルはカスタムモデルとなっており、学習させて、自分のデータに合わせてモデルを作成することができます。
対象の画像形式はJPG、PNG、BMPです。形式が混在した状態での学習も可能です。
画像の最小サイズは256 ピクセル x 256 ピクセルです。
精度をよくするためには?
-
データの数を多く用意
各オブジェクトに対して最低15個の画像をタグ付けする必要がありますが、多ければ多いほどいいです。50以上あるとよりよいです。 -
オブジェクトごとに安定させるためにはオブジェクトごとにまんべんなくデータを用意
複数オブジェクトを検出させることができますがそれぞれのオブジェクトごとに十分なデータ数が必要です。より一貫性のある結果を得るには、画像数が最小の物体と最多の物体の比率が少なくとも 1:2 になるようにします。
例)
✖1つオブジェクトのに 500 の画像があるのに対し、別のオブジェクトでは 50 の画像しかない場合、トレーニング データセットのバランスが取れていない
〇画像数が最も多いオブジェクトに 500 の画像がある場合、画像数が最も少ないオブジェクトをトレーニングするには少なくとも 250 の画像が必要 -
より多様なシーンの画像を使用する
特定のシーンの画像ばかり用意すると、そのシーンの精度に偏り、別のシーンの画像に対して認識できない可能性が上がる
シーンとは:背景、光の加減、オブジェクトのサイズ、カメラアングル、背景とオブジェクトの組み合わせなど
操作編 パンダ🐼検出モデルを作ってみる
では、操作編ということで作ってみましょう!
ブラウザでPower Apps(https://make.powerapps.com )を開きます。
左で[AI ハブ]>[AIモデル]をクリックし、[新しいAIモデル]をクリックします。(https://aka.ms/tryaibuilder でも直接開けます。)
最初にモデルドメインの選択を行いますが、基本は「共通オブジェクト」で大丈夫です。
小売棚の商品やブランドのロゴ検出に最適化されたモデルを作りたいときは、「小売棚のオブジェクト」「ブランドロゴ」を選択します。
今回は「共通オブジェクト」です。
オブジェクトの名前を設定します。
複数オブジェクトがある場合は[新しいオブジェクトの追加]で追加します。
画面上側のリボンにある[データベースから選択します]を選択すると、Dataverse テーブルの列からオブジェクトを作成することもできます。先にテーブルを定義している場合はこちらがおすすめ。
設定が終わったら[次へ]をクリックします。
[イメージの追加]でローカルやSharePoint、Azure Blobのいずれかから画像をアップロードします。
画像が保存されているデータ ソースを選択してから、オブジェクトを含む画像を選択します。
AI Builder に表示されている画像を確認してから、[○○個のイメージのアップロード]をクリックし、アップロードを完了させます。
(除外する画像を選択解除できます。)
ちなみに、1つの画像に同じオブジェクトを複数タグ付け可能です。
すべてタグ付け終わったら、[タグ付けを完了]をクリックします。
モデル一覧で、作成したモデルの「状態」が「トレーニング済み」になったら、モデルをクリックします。
詳細ページが表示されます。
詳細ページにはパフォーマンススコアが表示されます。 最大が100で、今回は77でした。
パフォーマンススコアとは
このパフォーマンススコアは、アップロードした画像に対するモデルのパフォーマンスを示していて、今後使用する画像に対するパフォーマンスを示すものではありません。
その為、
1つのラベルにアップロードする画像が 50 未満の場合は、高いスコアを得る可能性が高くなります。 これは、モデルが万全であることを意味するものではありません。
モデルのパフォーマンススコアは、ラベルあたり 50 個を超える画像がある場合や、トレーニング セットを変更してもこれらのスコアが安定している場合、より信頼性が高くなります。
[公開]をクリックします。(公開したあとも編集可能)
公開するとアプリやフローの中で使えるようになります。
学習には使っていない新しい画像をアップロードします。
うまく検出してくれました。
まとめ
今回はAI Builderの物体検出モデルのカスタマイズを行いました。公開すると、カスタマイズしたあなたのモデルを実際のアプリやフローの中で使うことができますので、ぜひ作ったモデルで作ってみてください。
アプリでモデルを使う際は以下Learnをお使いください。
フローでモデルを使う際は以下Learnをお使いください。
参照