2020年8月12日水曜日

Teachable Machine【音声認識編】

   前回は,「Teachable Machine」を使った画像認識を紹介しました。今回は,音声認識によってライトのON/OFFを切り替えるプログラムを作ってみました。「つけて」でON,「消して」でOFFとなります。おまけで,micro:bitのLEDも連動するようにしてみました。


   音声の機械学習の手順は,画像の機械学習の流れとほとんど同じです。まず,Teachable Machineのプロジェクト選択ページで「音声プロジェクト」を選択します。画像の機械学習と同様に,音声データも「マイク」ボタンを押して,その場でサンプルを収集することができます(下記の赤い数字の順番に作業を進めていきます)。


1.「バックグラウンド ノイズ」の録音

   はじめに,「20秒以上のバックグラウンド ノイズ」を録音します。特殊な環境下でなければ,「マイク」ボタンを押して,何もしゃべらずに20秒間録音すればよいと思います。「20秒間録画する」ボタンを押し録音が終わったら,「サンプルを抽出」ボタンを押します(1秒ごとにコマ切れになった音声サンプルが抽出されます)。


2.認識させたい音声の入力

   次に,認識させたい音声データを入力し,サンプルを抽出します。認識させたい音声データは「8秒以上」必要となっており,デフォルトでは「2秒間録画する」ことになっているので,4回繰り返して録音します。
   2秒間の録音で2つの音声サンプルが抽出されるので,1秒ごとに認識させたい音声を発声して録音します(2秒間の録音で2回発声する)。認識させたい音声が複数ある場合は,「クラスを追加」ボタンを押して,同様の作業を繰り返します。

※「Class2」という名前は変更することができるので,認識させたい音声を名前として付けておくと分かりやすいと思います。

3.モデルをトレーニングする

   上記の音声サンプルが収集し終わったら,「モデルをトレーニングする」ボタンを押して,認識させたい音声を学習させます。


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

   トレーニングが終わると,プレビューで認識結果を確認できます。「モデルをエクスポートする」ボタンを押すと画面が切り替わるので,「モデルをアップロード」ボタンを押して,表示されたリンク(URL)をコピーします。


5.TM2Scratchで利用する

   AI拡張機能(TM2Scratch)を搭載した特別なScratchを開き,「TM2Scratch」の拡張機能を追加して,「音声分類モデルURL」に先ほどコピーしたURLを貼り付けて使用します。
   ちなみに,micro:bitと接続するには,micro:bit拡張機能を使用します。事前に「Scratch Link」をパソコンにインストールしておき,「Scratch micro:bit HEX」ファイルをmicro:bitへ書き込みます。詳しくは,こちらのページをご覧ください。

   実際に体験したい方は,下記よりプロジェクトデータをダウンロードして, AI拡張機能(TM2Scratch)を搭載した特別なScratchから読み込んでください(マイクへのアクセスを許可する必要があります)。「音声分類モデルURL」のブロックをクリックすると,数秒間黄色い枠が表示され,学習モデルが機能するようになります。micro:bitと連動させる方は,接続を忘れないように注意してください。

Scratchのみはこちら      Scratch+micro:bitはこちら



2020年8月4日火曜日

Scratch + Teachable MachineでAIプログラミング

   「Teachable Machine」とは ,Googleが提供する画像認識や音声認識などのAI(機械学習モデル)を作れるプラットフォームです。WEBカメラの付いたパソコンがあれば,誰でも簡単に画像認識の機械学習モデルを作成することができる優れもの!みらプロ2020で紹介されている総合的な学習「AIとプログラミングで,身近な課題を解決しよう」でも使われていますが,7月に日本語化されたので,簡単なプログラムを組んで試してみました。


   「Teachable Machine」の使い方は,とっても簡単!コンピューターに認識させたいサンプルの画像や音声を収集し,収集したデータから学習モデルを作り出し,サイトやアプリにモデルをエクスポートして利用します。今回は,画像認識モデルを作成し,Scratchで利用してみます。

使い方は,次の動画でわかりやすく説明されています。

   「Teachable Machine」で作成した学習モデルは,AI拡張機能(TM2Scratch)を搭載した特別なScratchで利用する必要があります。実際に体験してみたいという方のために,「手をあげると,画面内に表示されている電球がつく」という簡単なプログラムを作ってみましたのでお試しください。

1.プロジェクトデータをこちらからダウンロード。
2.上記のAI拡張機能を搭載したScratchからプロジェクトを読み込む。
3.「画像分類モデルURL」のブロックをクリックする。
      ※数秒間黄色い枠が表示され,学習モデルが機能するようになります。
4.手を上げ下げして,電球のON/OFFを確かめる。
      ※カメラへの映り込みがあると,うまく動きませんでした…。
         背景には,何もない方が認識精度が高まるようです。

   下の動画では,micro:bitとも連携させています。工夫次第で「総合的な学習の時間」や「C分類」の学習でもいろいろと活用できそうですね。