Open48

機械学習関連で試したいことのメモ等

Yosuke ToyotaYosuke Toyota

UnitV を使う、M5StickV でまだ試してないことを。

●UnitV AI Camera - スイッチサイエンス
 https://www.switch-science.com/catalog/6212/

●M5StickV--販売終了 - スイッチサイエンス
 https://www.switch-science.com/catalog/5700/

●UnitV AI Cameraの使い方 - Fusic Tech Blog
 https://tech.fusic.co.jp/posts/2020-05-11-unitv-ai-camera/
●Creating an Image Classification Model for M5StickV by Transfer Learning (Janken Dataset ver) - Colaboratory
 https://colab.research.google.com/drive/1pjtPhnMyn-T2gfu1Qw_GtMFj44555nhM

Yosuke ToyotaYosuke Toyota

obniz で。

●カメラに猫が映ったらブザーで警告 - blog.obniz.com
 https://blog.obniz.com/make/buzzer-alert-when-cat-appears-on-camera

●[キッズプロジェクト] まねっこパンダ - blog.obniz.com
 https://blog.obniz.com/make/kids-projects-face-copying-panda

●文字を認識して動くラジコン - blog.obniz.com
 https://blog.obniz.com/make/ai-radio-control-car

●obnizで作る顔検出扇風機 - blog.obniz.com
 https://blog.obniz.com/make/facefan-that-can-recognize-your-face-with-opencv

Yosuke ToyotaYosuke Toyota

テキストを対象にしたデータセットを見てみて、何か考えてみる?
テキストに限らず、他も見てみる?

●【14個掲載】機械学習に使える日本語データセットまとめ | Lionbridge AI
 https://lionbridge.ai/ja/datasets/japanese-language-text-datasets/

●【保存版】オープンデータ・データセット100選 -膨大なデータを活用しよう! | AI専門ニュースメディア AINOW
 https://ainow.ai/2020/03/02/183280/

Yosuke ToyotaYosuke Toyota

ビジュアルプログラミング系でまだ試してないこととか?【その2】
⇒ UIFlow関連?

●M5StickVで顔検出する - Qiita
 https://qiita.com/Toshiki0324/items/ef3edbdee2aeabc39433

●M5StickV V-Functionを試す - Qiita
 https://qiita.com/infinite1oop/items/1c2a5e228b464bb97ebd
●m5-docs
 https://docs.m5stack.com/en/quick_start/unitv/v_function

●robo8080さんはTwitterを使っています 「M5StickVで物体識別ー>シリアルで結果を送信ー>Fire側のUI Flowで画像表示、している。UI Flow(microPython)のシリアル通信で散々ハマった😆 #M5Stack」 / Twitter
 https://twitter.com/robo8080/status/1367902973402128385

Yosuke ToyotaYosuke Toyota

●GoogleのMediaPipe機械学習フレームワークがWebAssemblyでWeb対応に
 https://www.infoq.com/jp/news/2020/11/google-mediapipe-webassembly/
●WebブラウザでMediaPipe|npaka|note
 https://note.com/npaka/n/nd8b93fa5f071

●google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.
 https://github.com/google/mediapipe#mediapipe-on-the-web

●Google Developers Blog: MediaPipe on the Web
 https://developers.googleblog.com/2020/01/mediapipe-on-web.html

Yosuke ToyotaYosuke Toyota

体のジェスチャーで操作。
手に Arduino Nano 33 BLE をつけてやっていた。
TensorFlow Lite for Microcontrollers 関連っぽい。

●youさんはTwitterを使っています 「リツイートしたこちら、センサーの時系列データを学習させてる感じなのかな。 機械学習系は、画像や音ばかりやってるので、こういうのも良いな。」 / Twitter
 https://twitter.com/youtoy/status/1405380707451432965

●googlecreativelab/tf4micro-motion-kit: Arduino Sketch and a Web Bluetooth API for loading models and running inference on the Nano Sense 33 BLE device.
 https://github.com/googlecreativelab/tf4micro-motion-kit

●TensorFlow Lite for Microcontrollers - Experiments with Google
 https://experiments.withgoogle.com/collection/tfliteformicrocontrollers

●FUI
 https://experiments.withgoogle.com/finger-user-interface/view/

Yosuke ToyotaYosuke Toyota

●TensorFlow Lite for MicrocontrollersをESP32で試す | Lang-ship
 https://lang-ship.com/blog/work/tensorflow-lite-for-microcontrollers-esp32/
Arduino IDE用ライブラリ
https://github.com/tanakamasayuki/Arduino_TensorFlowLite_ESP32
動かし方の解説が面倒だったので、Arduino IDE用のライブラリを作成しました。ライブラリマネージャーから「TensorFlowLite_ESP32」でインストールできます。

M5StickC(加速度、マイク)
M5Stack Fire(加速度、マイク)
M5Camera(カメラ)
ATOM Echo(マイク)
ESP-EYE(カメラ、マイク)
TTGO T-CameraV05(カメラ)

上記はスケッチ例がありますので、すぐに動作確認することができます。
M5StickCで加速度計を利用したジェスチャーと、マイク入力でのYES、NO認識などを試すことができます。

Yosuke ToyotaYosuke Toyota

●五味さんはTwitterを使っています 「7/10~11にシアター1010(北千住)で開催される #レガシー2021 で、現在チームで製作中の体験展示作品を出展します。 人体検出:@ukokq エフェクト:@Realize_mon7 環境・設営:@Realize_mega プロモーション:@Siz_oka プロジェクトリーダー:五味 https://t.co/0sSrKxB0pS」 / Twitter
 https://twitter.com/GomiHgy/status/1410940922683035654

●フロントエンド転移学習のデータセット、どこに置く?【Tensorflow.js】
 https://zenn.dev/ukkz/articles/cf719d044fb335

全体的なコードはp5.jsでml5を使ってやっている上記例が参考になります。が、これは関数が内部で簡略化されているため、本来のtfjsのお作法に従う必要があります。

// poseにはPosenetの出力が入っている
const poseArray = pose.keypoints.map(p => [p.score, p.position.x, p.position.y]); // 行列にする(3次元ベクトル * 17点)
const tfPose = tf.tensor2d(poseArray); // Tensor化
classifier.addExample(tfPose, label); // ここで分類を追加
console.log('KNN class added:', classifier.getClassExampleCount());


●p5.js Web Editor | PoseNet KNN Classifier
 https://editor.p5js.org/AndreasRef/sketches/RLv1QbuLa

●youさんはTwitterを使っています 「@GomiHgy さんがツイートされていたこちら↓ https://t.co/9ovazTFOss 人体検出の部分が気になってたのですが、うこさんから直々に返信をいただけた。 Posenet(Tensorflow.jsベース)で得た情報を、k近傍法で分類、という感じらしい。」 / Twitter
 https://twitter.com/youtoy/status/1411830535727448067
●youさんはTwitterを使っています 「さらに追加の情報をいただけた。 https://t.co/ByoFeuUS5C」 / Twitter
 https://twitter.com/youtoy/status/1412199152608366592

●tfjs-models/knn-classifier at master · tensorflow/tfjs-models
 https://github.com/tensorflow/tfjs-models/tree/master/knn-classifier