AIじゃんけんをScratchで作ろう!

AIじゃんけん技術関連

AIじゃんけんをScratchで作ろう!

はじめに

画像からいろいろな情報を取得して、判断出来たらなぁって思ったことありませんか?
実はそれを簡単にできる方法があるんです。

今日ご紹介するのはTeachable Machineといって、googleが作っている、プログラミングをせずに画像から情報を取得したり、音声から情報を取得したりするすごいサービスです。実はこれは機械学習という方法なのですが、難しいことは考えずに体験してみましょう。

今回この機能を使って、スクラッチで動画じゃんけんをする機能を作ります。

必要なもの

  • パソコン
  • 動画をとるためのカメラ
  • ネット環境

じゃんけん画像を学習させる

Teachable Machineの準備

では早速下のリンクをクリックしてページを開いてください

Teachable Machine
Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and mor...

画像プロジェクトをクリック

標準画像モデルをクリックします。

このような画面が出れば準備OKです。

画像学習

クラスを準備する

最初にClass1の名前を「なし」に書き換えましょう。名前の横の鉛筆マークをクリックすると名前が書き替えられるようになります。

次のクラスの名前を「グー」に書き換えたら、下のクラスを追加を押すと項目が増やせるので、合計4つの「なし」「グー」「チョキ」「パー」のクラスを作りましょう。

クラス追加を押す

出来上がりは以下のようになります

完成図

学習画像を登録する

最初に「なし」クラスの「ウェブカメラ」をクリックし画像を表示させます。

下の「長押しして登録」を数秒押し、100枚くらい登録します。

同様にグーを登録します。長押ししているときに、グーの角度を変えたりして挙げるとより良いです。

同様に「チョキ」「パー」を登録します。

トレーニング

トレーニングボタンをおして、トレーニングします。

画面を変えずに終了まで待ちます。

トレーニングが終了すると、プレビューが出るので、グーチョキパーが認識されているかチェックしてください。

チョキを確認中

ちゃんと認識できたら終了です。できない場合にはもう一度クラスの画像登録をやり直してみてください。

モデルをエクスポートする

プレビュー画面の上部の「モデルをエクスポートする」ボタンを押します。

次のような画面が出るので、「モデルをアップロード」ボタンを押します。

次のような画面になるので、矢印部分の「共有可能なリンク」をコピーして残しておきます。
これはすごく大切なので忘れないようにしてください。

共有可能なリンクをコピーする

スクラッチでじゃんけんプログラムを組もう

それではさっそくプログラムを組んでいきます。
内容は、スペースキーを押すとカメラから手の画像を取得し、それを先ほどのTM2で何が出ているのか判断し、ランダムに手を出すネコと勝負sるうという内容です。

機能拡張されたスクラッチを開く

通常のスクラッチにTM2が拡張されているスクラッチを開きます。

Stretch3

TM2Scratch機能の追加

左下にある「青い」機能追加アイコンをクリックして、TM2Scratchを追加します

モデルへのリンクを追加する

左にある「TM2Scratch」カテゴリから、「画像分類モデルURL」ブロックを右側の作業領域にドラッグ&ドロップし、中身を先ほどコピーした「共有可能なリンク」のURLを入れてください。

URLを入力

下準備は整ったので、プログラミングをしていきます。

プログラミングをする

変数追加
ブロック定義追加

引数が1つのブロックを追加し、「文字に直す」ブロックを作ります。これはじゃんけんのグーチョキパーが数字に置き換えられている物を文字に直すためのブロックです。

スタートとラベルを受け取った時の処理
スペースが押されたときの処理
スペースキーが押されたときの処理

じゃんけんのグーを1に、チョキを2に、パーを3にして引き算し、勝ち負けを調べています。

スペースボタンを押すとじゃんけんを開始します。

全部入力すれば終了です。さっそく実行させて、「スペースキー」を押してみてください。

完成

完成

このように手の画像を解析し、ネコとじゃんけんをすることができるのがすごいですね。

この技術は最近は食べ物の選別とか、いろいろな部分に使われるようになってきています。
興味のある方は「機械学習」を調べてみてください。

タイトルとURLをコピーしました