Skip to content

Latest commit

 

History

History
106 lines (65 loc) · 6.86 KB

File metadata and controls

106 lines (65 loc) · 6.86 KB

TM2Scratch

他の蚀語で読む: English, 日本語.

TM2Scratchは、Google Teachable Machine2で䜜成した機械孊習モデルをScratch3で利甚できるようにした拡匵機胜です。Scratchプロゞェクトで画像、音声認識を䜿甚できたすポヌズ認識に぀いおはTMPose2Scratchをご利甚ください。

Licence(ラむセンス)

  • TMScratchには BSD 3-Clause License が適甚されたす。オヌプン゜ヌスで、誰でも自由に利甚できたす。授業やワヌクショップで䜿甚でき、商甚利甚も認められおいたす。あなたやあなたの生埒さんがTM2Scratchを䜿甚しお䜕か面癜いプロゞェクトを䜜成したずきは、ぜひハッシュタグ #tm2scratch を䜿甚しおSNSで共有するか、webmaster@champierre.com たでお知らせください。
  • 曞籍や雑誌、Webメディア䞊でTM2Scratchを玹介される堎合は、以䞋の文面を掲茉いただきたくお願いいたしたす。
TM2Scratchには, BSD 3-Clause Licenseが適甚されたす。
Copyright (c) 2020, Junya Ishihara(https://github.com/champierre) and Koji Yokokawa(https://github.com/yokobond)
All rights reserved.

䜿い方

画像認識

  1. Google Teachable Machineで、画像分類モデルを䜜成しおアップロヌドしたす。

  2. アップロヌドしたモデルの共有リンクをコピヌしたす。

  1. Chromeブラりザで https://stretch3.github.io/ を開きたす。

  2. 「拡匵機胜の遞択」りィンドりを開き、「TM2Scratch」を遞択したす。

  3. 2.でコピヌしたリンクを「画像分類モデルURL」ブロックのテキストフィヌルドに貌り付けたす。

  1. 「画像ラベル○○を受け取ったずき」ブロックで画像認識結果を䜿甚できたす。

音声認識

  1. Google Teachable Machineで、音声分類モデルを䜜成しおアップロヌドしたす。

  2. アップロヌドしたモデルの共有リンクをコピヌしたす。

  3. Chromeブラりザで https://stretch3.github.io/ を開きたす。

  4. 「拡匵機胜の遞択」りィンドりを開き、「TM2Scratch」を遞択したす。

  5. 2.でコピヌしたリンクを「音声分類モデルURL」ブロックのテキストフィヌルドに貌り付けたす。

  1. 「音声ラベル○○を受け取ったずき」ブロックで音声認識結果を䜿甚できたす。

TM2Scratchの仕組み

TM2Scratchは機械孊習を簡単に利甚できるようにしたJavaScriptラむブラリml5.jsを䜿っおいたす。ml5.js自䜓はGoogleが提䟛しおいるTensorFlow.jsをもっず手軜に利甚できるようにしたものなので、おおもずではTensorFlow.jsを䜿っおいるず蚀えたす。

画像や映像を描画するずきは、単玔な蚈算を䞊行しお同時に凊理できるGPUを䜿うほうが適しおいたす。このGPUをりェブブラりザから利甚できるWebGLを、機械孊習のための蚈算に利甚しようずいうのがTensorFlow.jsです。぀たりTensorFlow.jsを䜿えば、GPUを積んだサヌバヌ䞊でPythonなどで曞かれたプログラムを実行しなくおも、ブラりザだけで機械孊習の孊習や分類ずいった凊理をおこなうこずができるのです。

TM2Scratchは、Google Teachable Machineを䜿っお䜜成した画像あるいは音声を分類できる機械孊習モデルを最初に䞀床だけ読み蟌んだあずは、Webカメラに映った映像の認識・分類はブラりザが起動しおいるマシン䞊ですべおおこなわれたす。分類のために、Googleやそのほかのクラりド䞊のサヌバヌに映像を送ったり、分類結果を受け取ったりずいうこずはありたせん。぀たり、機械孊習モデルを䜜成するずきにはGoogle Teachable Machineを䜿うので、孊習のための映像を送ったり分類結果を受け取るずいうやりずりはナヌザヌずGoogleの間でおこなわれたすが、そうしお䜜成された機械孊習モデルを䞀床ダりンロヌドしお読み蟌んだあずは、TM2Scratchでおこなわれる分類などの凊理はマシン䞊で完結しおいたす。

ML2Scratchずの比范

機械孊習を利甚できるScratch拡匵機胜には、別にML2Scratchがありたす。ML2ScratchずTM2Scratchずの共通点、違いは以䞋の通りです。

TM2Scratch  ML2Scratch
䜿っおいるラむブラリ ml5.js(TensorFlow.js) ml5.js(TensorFlow.js)
孊習をおこなう堎所 Teachable Machine(クラりド䞊) ML2Scratch(マシン䞊)
分類をおこなう堎所 TM2Scratch(マシン䞊) ML2Scratch(マシン䞊)
機械孊習モデルの保存堎所 Googleのサヌバヌ䞊 or ファむル ファむル
分類できるもの 画像、音声 画像
長所 孊習に䜿甚する映像を遞別するこずができる。䜜成した機械孊習モデル保存したい、あるいは別のマシンで䜿いたいずいう堎合は共有甚のURLのやりずりだけで枈むため手軜。 孊習も分類もML2Scratch䞊でできるため、モデルを修正しながらプログラムを詊すずいった詊行錯誀がしやすい。カメラ画像の代わりにステヌゞの画像も孊習、分類するこずができる。
短所 孊習ず分類で2段階に分かれおいるため、モデルを修正しながらプログラムを詊すずいった詊行錯誀がしにくい。 孊習に䜿甚する映像の遞別はできない。䜜成した機械孊習モデルを保存したい、あるいは別のマシンで䜿いたいずいう堎合はモデルのファむルをダりンロヌド/アップロヌドするずいう手間が必芁。

For Developers - How to run TM2Scratch extension on your computer

  1. Setup LLK/scratch-gui on your computer.

    % git clone git@github.com:LLK/scratch-gui.git
    % cd scratch-gui
    % npm install
    
  2. In scratch-gui folder, clone TM2Scratch. You will have tm2scratch folder under scratch-gui.

    % git clone git@github.com:champierre/tm2scratch.git
    
  3. Run the install script.

    % sh tm2scratch/install.sh
    
  4. Run Scratch, then go to http://localhost:8601/.

    % npm start