2-07 背景を「床クラス」として認識させる

 ボールは4種(赤/緑/青/黄)なので現状のクラス数は”4”ですが、ここでもう1つ「床クラス」を設けることを考えます。つまり床は「床クラス」として認識させ、推論結果を表示する際、それらは「非表示」にするのです。


●「床画像ファイル」を用意する(学習用・推論用)

 それでは図2-31のようにtrain_1_floor.zip, val_1_floor.zipをアップロードして解凍します。すると図2-32のようにtrain1/4フォルダ、val_1/floorフォルダが現れます。それらの中を見ると同図のように「床画像」が入っています。

図2‐31 床クラスの画像(学習用、推論用)をアップロード


図2‐32 解凍すると床だけの画像が現れる


●クラスが1つ増えたのでPython/ラベルリストを変更

 次に図2-33のようにPythonファイル3つ(balls_float_5.py, balls_float_pred_5.py, balls_still_pred_colab_5.py)をアップロードします。これらは従来4クラスだったものを5クラスに増やしたプログラムです。

 また同図のようにCSVファイルも1つアップロードします。これはクラスを4つから5つに増やしたラベルリストです。その後、同図のようにPythonファイルを学習(balls_float_5.py)から再度実行しましょう。

図2‐33 クラス数を5に増やした学習用Pythonを走らせる

●クラスを5つに増やして学習→推論してみる

 学習が終わったら図2‐34のように推論プログラム(balls_float_pred_5.py)を実行します。同図のように赤/緑/青/黄色ボールの後に「床画像」が現れます。それら画像の下のActual, Predがどちらも4(床クラス)になっているのを確認します。

図2‐34 背景画像が床クラスと認識されている

●床の部分がスッキリしている

 最後balls_still_pred_colab_5.pyを走らせます。結果は図2‐35のように赤/緑/青/黄色ボールのみが認識され、背景の誤認識が消え去っています。背景が「床クラス」と認識され、本来は”F”と上書きされるところを非表示にしているからです。

図2‐35 ボールだけが正しく認識・表示された!

床画像はAIで生成したもの

 今回は「生成AI」で図2‐34にあるようなフローリング(赤茶色)、コンクリート(灰色)、じゅうたん(ベージュ)の画像を生成しました(ここから持ってくる)。その強みは「AIならどんな床画像でも生成できる」ということです。


●床に色を塗ったり、じゅうたんを購入しなくても済む

 例えば「青いフローリング」、「赤いコンクリート」、「黄色地に緑柄のじゅうたん」など、ちょっと変わった床画像でも生成AIの力を借りればどうにでもなります。


●背景がどんな感じか考慮に入れて学習させよう

 もしこのような大会に出場するのなら、その会場の床に類似した背景を生成し、カラーボールと合成して学習用画像セットを作成します。そうすれば認識率が上がって自動制御にプラスになるでしょう。
 さらに赤/緑/青/黄の4つの「ボールクラス」に「床クラス」を加えて学習、推論させます。すると図2-29のような背景の誤認識を図2-35のように減らすことができます。

最初のページへ

目次へ戻る