/ml2scratch

機械学習 x スクラッチ(Connect Machine Learning with Scratch)

Primary LanguageJavaScriptApache License 2.0Apache-2.0

ML2Scratch(Scratch2ML)

ML2ScratchはTensorFlow.jsを使った機械学習をScratchから簡単に体験、利用できるようにします。

Webカメラでいくつかの画像を撮り、ラベルを付けて学習すれば、似たような新たな画像を、学習結果をもとに分類することができます。キャプチャした画像はサーバーに送られることはなく、学習および分類はすべてブラウザ上で行われるのが特徴です。(ただし、起動時にアプリケーションを読み込むのと、学習モデルをダウンロードするためにはネットワーク接続が必要です。)

他の言語で読む: English, 日本語, 简体中文.

ML2Scratch ホームページ

Demo Movie(デモ動画)

Licence(ライセンス)

  • ML2Scratchには Apache 2.0 License が適用されます。オープンソースで、誰でも自由に利用できます。授業やワークショップで使用でき、商用利用も認められています。あなたやあなたの生徒さんがML2Scratchを使用して何か面白いプロジェクトを作成したときは、ぜひハッシュタグ #ml2scratch を使用してSNSで共有するか、連絡先までお知らせください。以下の「活用例」に追加させていただきます。

Contacts(連絡先)

  • Twitter

  • WeChat

Examples of use(活用例)

Requirements(推奨環境)

  • OS
    • Windows 8
    • Windows 10
    • MacOS
  • ブラウザ
    • Chrome

Chrome の拡張機能を使用している場合に、正常に動作しないことがあるので、もしうまく動かないという場合には、ゲストモードに切り替えてお試しください。

How to use(使い方)

Setup(準備)

  1. https://champierre.github.io/scratch3/ をChromeで開きます。

  2. 「拡張機能を選ぶ」画面を開き、「ML2Scratch」を選びます。

  3. Chromeがカメラの使用の許可を求めるダイアログが表示されるので、「許可」をクリックします。

  4. 「ラベル」、「ラベル1の枚数」、「ラベル2の枚数」、「ラベル3の枚数」の横のチェックボックスにチェックを入れます。

Training(学習)

  1. ジャンケンの「グー」のサインをカメラに映し、「ラベル1を学習する」ブロックをクリックします。この操作で、「グー」をラベル1として機械に学習させます。

  2. 撮った写真の枚数が20枚になるまで「ラベル1を学習する」ブロックをクリックし続けます。撮った写真の枚数はステージ上の「ラベル1の枚数」に表示されています。

  3. 次に「パー」をカメラに映し、同様に「ラベル2の枚数」が20になるまで、「ラベル2を学習する」ブロックをクリックし続けます。

  4. 「チョキ」をカメラに映し、「ラベル3の枚数」が20になるまで、「ラベル3を学習する」ブロックをクリックし続けます。

Recognition(認識)

  1. 学習を終えると、認識結果が常にステージ上の「ラベル」に表示されるようになります。「グー」を見せれば「1」に、「パー」を見せれば「2」に、「チョキ」を見せれば「3」と表示されます。

  2. 「ラベル◯◯を受け取ったとき」ブロックを使って、以下のようなサンプルプログラムを作ることができます。

Download/Upload(学習データのダウンロード/アップロード)

ML2Scratch では、学習したモデルを「学習データをダウンロード」ブロックを使うことで、PC上にダウンロードして保存しておくことができます。

をクリックし、ファイルのダウンロード先を指定して「保存」ボタンを押すと <数字の列>.json というファイルとして学習データが保存されます。

保存しておいた学習データは、「学習データをアップロード」ブロックでアップロードすることができます。

をクリックすると、「学習データをアップロード」というウィンドウが開くので、「ファイルを選択」ボタンをクリックして、学習データのファイル(<数字の列>.json)を選んだあと、「アップロード」ボタンをクリックします。

このとき、いままで学習していたデータは上書きされてしまうので注意してください。

For Developers - How to add ML2Scratch extension to your (customized) Scratch

  1. Prepare LLK/scratch-gui on your local machine.

    % git clone git@github.com:LLK/scratch-gui.git
    % cd scratch-gui
    % npm install
    
  2. Run the install script.

    % curl https://raw.githubusercontent.com/champierre/ml2scratch/master/install.sh | sh
    
  3. Run Scratch, then go to http://localhost:8601/.

    % npm start
    

Tシャツ

ML2Scratchのロゴ入りTシャツ、こちらで販売しています -> https://suzuri.jp/is8r_/1251743/t-shirt/s/white

Reference(参考)