Skip to content
機械学習 x スクラッチ(Connect Machine Learning with Scratch)
JavaScript CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Add English demo movie. Aug 29, 2019
old move old files to old/ folder. Sep 11, 2019
scratch-vm/src/extensions/scratch3_ml2scratch move old files to old/ folder. Sep 11, 2019
.gitignore move old files to old/ folder. Sep 11, 2019
LICENSE
README.en.md
README.md move old files to old/ folder. Sep 11, 2019
README.zh-cn.md Update README. Aug 15, 2019

README.md

ML2Scratch(Scratch2ML)

ML2Scratchは機械学習(TensorFlow.js)をScratchとをつなげます。

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

旧バージョンをお使いの場合はこちら↓

学習パートと分類パート(Scratch)とに分かれています。

デモ動画

推奨環境

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

使い方

準備

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

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

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

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

学習

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

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

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

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

認識

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

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

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
  1. Copy this repos' scratch-vm/src/extensions/scratch3_ml2scratch folder to scratch-gui/node_modules/scratch-vm/src/extensions/.

  2. Download https://unpkg.com/ml5@0.3.1/dist/ml5.min.js and move the file(ml5.min.js) to scratch-gui/node_modules/scratch-vm/src/extensions/.

  3. Edit scratch-gui/node_modules/scratch-vm/src/extension-support/extension-manager.js, add "ml2scratch" entry to builtinExtensions constant as follows:

const builtinExtensions = {
    // This is an example that isn't loaded with the other core blocks,
    // but serves as a reference for loading core blocks as extensions.
    coreExample: () => require('../blocks/scratch3_core_example'),
    // These are the non-core built-in extensions.
    pen: () => require('../extensions/scratch3_pen'),
    wedo2: () => require('../extensions/scratch3_wedo2'),
    music: () => require('../extensions/scratch3_music'),
    microbit: () => require('../extensions/scratch3_microbit'),
    text2speech: () => require('../extensions/scratch3_text2speech'),
    translate: () => require('../extensions/scratch3_translate'),
    videoSensing: () => require('../extensions/scratch3_video_sensing'),
    ev3: () => require('../extensions/scratch3_ev3'),
    makeymakey: () => require('../extensions/scratch3_makeymakey'),
    boost: () => require('../extensions/scratch3_boost'),
    gdxfor: () => require('../extensions/scratch3_gdx_for'), // <= add comma
    ml2scratch: () => require('../extensions/scratch3_ml2scratch') // <= add this line
};
  1. Edit scratch-gui/src/lib/libraries/extensions/index.jsx, add the following lines at the end of the file.
        ),
        helpLink: 'https://scratch.mit.edu/vernier'
    }, // <= add comma
    {                              // <= add this
        name: 'ML2Scratch',        // <= add this
        extensionId: 'ml2scratch'  // <= add this
    }
];
  1. Run Scratch, then go to http://localhost:8601/.
% npm start

Tシャツ

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

参考

You can’t perform that action at this time.