Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScriptで外部デバイスとの通信や機械学習による画像・音の認識を扱う / jsfes 2021 summer

JavaScriptで外部デバイスとの通信や機械学習による画像・音の認識を扱う / jsfes 2021 summer

you(@youtoy)

July 17, 2021
Tweet

More Decks by you(@youtoy)

Other Decks in Technology

Transcript

  1. 今日の登壇に関わる主なキーワード ・Teachable Machine ・Lobe ・TensorFlow.js ・ml5.js ・TFJS Task API ・MediaPipe(JavaScript版)

    ・TensorFlow Lite Model Maker 機械学習関連 デバイス通信関連 ・Web Bluetooth API ・Web Serial API その他 ・p5.js
  2. 全体構成 PC (Chromo・  内蔵マイク) toio+専用マット BLE HTML + JavaScript ハンドベル・

    卓上ベル・声 音・声 Web Bluetooth API Teachable Machine (音の機械学習)
  3. JavaScriptで機械学習(いくつかの例) 学習 推論 ・自前のデータを利用  ・ノンコーディング  ・JavaScript ・既存の学習済みモデルを利用 ・JavaScript  ・直接処理  ・API利用

    自分で用意 / ありものを利用 入力データと機械学習モデル を使った処理 / 入力データを 渡す処理をして結果を得る
  4. GUI操作のみで機械学習モデル作成! Googleさんや Microsoftさんが提供 ・Teachable Machine(Webサイト上) ・Lobe(アプリ) https://teachablemachine.withgoogle.com/ https://www.lobe.ai/ 特長 ・データの取り込みが簡単

    ・少ないデータでもOK(転移学習) ・コードを書かず学習&推論 ・機械学習モデルは様々な形式での  出力も(Web用・スマホ用など) 画像、音、人の姿勢 画像のみ
  5. TFJS Task API での画像分類 モバイル向けの TensorFlow Lite のモデルを JavaScript で

    使える仕組み(Google I/O 2021 で発表) API を使うための読み込み 1行 カスタムモデルの読み込みと推論 プログラムはシンプル @0.0.1-alpha.8
  6. JavaScriptで外部デバイスとの通信 ブラウザ上で実行 Node.js  ・Web Serial  ・Web Bluetooth  ・Fetch API  ・axios等を利用

     ・WebSocket API  ・MQTT.js等を利用  ・Node Serialport  ・noble・bleno  ・Fetch API  ・axios等を利用  ・ws等を利用  ・MQTT.js等を利用 シリアル通信   BLE   HTTPリクエスト   WebSocket   MQTT
  7. Web Bluetooth API でのデバイス制御 ・ブラウザから BLE 対応デバイスを制御するもの ⇒ toio・M5Stack・micro:bit 等に対して使った例

    手の動きに連動した 6台の toio の同時制御 toio の姿勢角 (ロール・ピッチ・  ヨー)のグラフ化 M5Stack Core2 へ 文字送信・表示、 画面の色変更
  8. Web Serial API での書き込み EXAMPLE と書かれた複数の項目からプログラムの部分を拾う 【引用元】 Web Serial API  

    https://wicg.github.io/serial/ メインの処理は 10行くらい あれば良さそうかも?