Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
続・Webの技術でできる様々なこと 〜ブラウザで機械学習やデバイス制御など〜 / HTML5 ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
you(@youtoy)
PRO
October 23, 2022
Technology
340
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
続・Webの技術でできる様々なこと 〜ブラウザで機械学習やデバイス制御など〜 / HTML5 8th Anniversary
you(@youtoy)
PRO
October 23, 2022
More Decks by you(@youtoy)
See All by you(@youtoy)
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
0
27
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
140
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
290
イベントで大活躍する電子ペーパー名札 〜その3〜 / ビジュアルプログラミングIoTLT vol.23
you
PRO
0
260
AI時代だけど、わりと力業で追いかけている技術情報収集の話 / 20260518
you
PRO
0
22
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
390
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
500
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
330
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
370
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
380
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.4k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.5k
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
270
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
590
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
130
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
910
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
920
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.2k
人とエージェントが高め合う協業設計
kintotechdev
0
710
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Cult of Friendly URLs
andyhume
79
7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
370
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
The untapped power of vector embeddings
frankvandijk
2
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Transcript
続・Webの技術でできる様々なこと 〜ブラウザで機械学習やデバイス制御など〜 2022年10月23日 (日) HTML5 8th Anniversary @オンライン 豊田陽介( )
@youtoy
自己紹介 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・今年、本2冊出したり、メーカーフェア出展3回 好きなことなど 3月発売 (共著) 7月発売 (単著)
スライドは公開済みなので 発表中は文字などの記載を 追わなくても大丈夫です
今回の主な内容は
昨年の話の一部を深掘り+α 昨年の話に出していた内容のキーワード 画像の機械学習 音の機械学習 VTuber的なこと 物理演算エンジン WebXR IoT系 ガジェット系 昨年の資料の
URL
昨年の内容は 聞いてなくてもOKです
先日のイベントの内容と一部は重複 重複してない部分をいろいろ盛り込みつつ その時の資料
ライブデモ多めで 紹介していきます
本編へ
学習済み機械学習モデル を使った画像認識 + 描画ライブラリ
いきなりですが デモをご覧ください
ライブデモ! 機械学習による手の認識 + パーティクルの描画
【動画】ブラウザで手・指の位置検出+p5.jsによる描画 両手の指先に炎が 灯っていく
【動画】ブラウザで手・指の位置検出+p5.jsによる描画 光学迷彩・透明マント のような表現 その2
「MediaPipe」のJavaScript版のHands MediaPipe Hands 画像から手のキーポイント の位置(複数)を認識 ※ 指を立てたかどうかの判定は 位置座標などから自前で計算
TensorFlow.jsベースのため ブラウザ上で動作
カメラ付きPCがあれば 手軽にデモを作れる/試せる
手軽に試せる JavaScript版の 公式デモも紹介
ここから試せます! Hands
ライブで オプションの一部も 説明などしつつ
【ライブデモ】MediaPipe Hands https://mediapipe.dev/demo/hands
実際に試していきます https://google.github.io/mediapipe/getting_started/javascript
MediaPipe JavaScript版で扱えるもの 手を対象としたもの以外の一部を紹介 MediaPipe Face Mesh MediaPipe Holistic
ここから試せます! https://google.github.io/mediapipe/getting_started/javascript Face Mesh Holistic
【ライブデモ】 https://mediapipe.dev/demo/face_mesh https://mediapipe.dev/demo/holistic
また先ほどのページへ https://google.github.io/mediapipe/getting_started/javascript
自分が作ったもののデモ! MediaPipe Holistic による顔・上半身の認識
【動画】顔のキーポイント検出・姿勢推定とアニメーション 目・口・体の動きと ネコ画像が連動
描画周りも説明してみる
デモしたものの描画部分:p5.js メディアアート系などで有名な Processing の JavaScript版 •home | p5.js https://p5js.org/
•p5.js Web Editor https://editor.p5js.org/ •OpenProcessing https://openprocessing.org/ オンラインで開発 できる環境も
炎のような 見た目を作った部分
パーティクル・システムについて ゲーム物理、モーショングラフィックス、コンピュータ グラフィックなどで使われる技術のひとつで、たくさん の細かいスプライト画像、3Dモデル、またはその他のCG オブジェクトを使って、ある種の「ファジー」な現象を シミュレートするもの 出典: Wikipedia「パーティクル・システム」より
公式デモを ライブで試す
p5.js公式:パーティクル・システム https://p5js.org/examples/simulate-particle-system.htm
円が吹き出す仕組みに手を加えると... 透明度付き PNG画像に 置きかえ 煙が 吹き出す 色の 加算処理 (合成) 炎の
ゆらめき? 円が出てくる (基本のサンプル でよくある)
煙のほう
シンプルな図形のパーティクルを画像に アルファチャネル付 の PNG画像を利用
炎のような見た目
色の加算:単純な重ね合わせではない描画 p5.js の「blendMode()」 ADD SCREEN 重ねた色は明るくなる 重ねた色は明るくなるが ADD より少し弱め 単純な
重畳 ADD SCREEN ※ Canvas の「globalCompositeOperation」 という API による
炎の見た目単体を取り出すと マウスカーソルに追従させる仕組みでお試し
画像からの機械学習と 描画ライブラリは セットで活用しやすい
デバイスを 連携させる話へ
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
有線・無線での通信
プロトタイピングに使った事例 (【コンセプト】遠隔にいるネコ同士が コミュニケーション)
ハッカソンで利用してみた事例の話 ネコのしっぽ っぽくした ジョイスティック (M5Stack + シリアル通信) ロボットトイ (toio +
BLE での通信) ネコのしっぽ をサーボモーター で動かす仕組み (micro:bit + シリアル通信)
2022年9月のハッカソンでチーム開発 シリアル通信と BLE をそれぞれ利用
システム構成(機器と通信方法) PC (Chromo) toio BLE HTML + JavaScript M5Stack Core2
+ ジョイスティック micro:bit + サーボモーター シリアル 通信 シリアル 通信
ブラウザ(Chrome系)があれば デバイスをいっぺんに扱える
有線でのシリアル通信
シリアル通信(Web Serial API) 手っ取り早く試すなら
こちらのページが便利 https://googlechromelabs.github.io/serial-terminal/
Bluetoothによる無線通信
Web Bluetooth API での 3つの処理 ・Read、Write、Notification Read Write Notification センサーの値を任意の
タイミングで読み取る LED・モーターなどの 制御情報を送る デバイスから通知される 値を読み取る 定期的な送信や状態変化 の際に送信される等 •Web Bluetooth https://webbluetoothcg.github.io/web-bluetooth/ •DataView - JavaScript | MDN https://developer.mozilla.org/ja /docs/Web/JavaScript/Referenc e/Global_Objects/DataView •BufferSource - Web API | MDN https://developer.mozilla.org/ja/docs/We b/API/BufferSource
Webの技術を使って ブラウザ上で様々な仕組みを 実装して楽しめます!
イベントの告知
「ガジェット」に興味がある方へ! 「ガジェット・enebular」に興味がある方 へ! https://enebular.connpass.com/event/250779/ 10/27(木) オンライン開催 enebular developersコラボのイベント
終わり!