Skip to main content

Seeed Studio XIAO nRF52840 Sense での TensorFlow Lite 入門

pir

この Wiki では、Seeed Studio XIAO nRF52840 Sense で TensorFlow Lite を使用し、オンボード加速度計を使ってパンチやフレックスなどのジェスチャーを検出する方法を説明します。ここでは、データトレーニングはデバイス自体で行われます。

組み込み AI アプリケーションには、「Seeed nrf52 mbed-enabled Boards Library」の使用を強く推奨します。

ソフトウェアセットアップ

まず、初期のハードウェアとソフトウェアのセットアップについて、"Getting Started with Seeed Studio XIAO nRF52840 (Sense)" の Wiki に従ってください。

それでは、残りのソフトウェアセットアップに進みましょう。

pir

pir

  • ステップ 3. Arduino IDE を開き、Sketch > Include Library > Add .ZIP Library... に移動し、ダウンロードした両方の zip ファイルを順番に開きます

pir

  • ステップ 4. File > Examples > Seeeed Arduino LSM6DS3 > IMU_Capture に移動して IMU_Capture.ino を開きます

pir

  • ステップ 5. コードをアップロードし、シリアルモニター を開きます

注意: コードをアップロードした後、Arduino ウィンドウの右上角にある シリアルモニター をクリックするまで、自動的に実行されません。

データトレーニング

パンチアクション

シリアルモニターが開いている間に、パンチアクションのデータトレーニングを開始します。

  • ステップ 1. Seeed Studio XIAO nRF52840 Sense を手のひらに握り、前方にパンチを始めると、シリアルモニターにいくつかのデータが出力されます

pir

pir

  • ステップ 2. パンチアクションを約 10 回繰り返すと、各パンチの後に新しいデータが生成されます

  • ステップ 3. シリアルモニターの完全な出力をコピーしてテキストファイルに貼り付け、テキストファイルを punch.csv として保存します

注意: aX,aY,aZ,gX,gY,gZ を含む最初の行もコピーしてください

フレックスアクション

  • ステップ 1. Seeed Studio XIAO nRF52840 Sense に USB ケーブルを再接続し、シリアルモニターを開き、Seeed Studio XIAO nRF52840 Sense を手のひらに握って内側にフレックスを始めると、シリアルモニターにいくつかのデータが出力されます

pir

pir

  • ステップ 2. フレックスアクションを約 10 回繰り返すと、各フレックスの後に新しいデータが生成されます

  • ステップ 3. シリアルモニターの完全な出力をコピーしてテキストファイルに貼り付け、テキストファイルを flex.csv として保存します

注意: aX,aY,aZ,gX,gY,gZ を含む最初の行もコピーしてください

TensorFlow Liteモデルファイルの生成

これから、以前に作成したpunch.csvflex.csvファイルを使用して、TensorFlow Liteモデルファイル**(model.h)**を生成します。

pir

  • ステップ2. 左側のナビゲーションパネルのファイルタブに移動し、punch.csvflex.csvファイルをドラッグアンドドロップします

pir

  • ステップ3. Setup Python Environmentセクション内で、コードをpip install tensorflow==2.0.0-rc1からpip install tensorflowに変更します

pir

  • ステップ4. Runtime > Run allに移動して、すべてのコードセルを実行します

pir

  • ステップ5. ポップアップするエラーメッセージに対してRun anywayをクリックします

pir

  • ステップ6. すべてのコードセルが実行されると、以前に見たfilesタブの下に新しいmodel.hファイルが生成されているのが確認できます

pir

注意: 上記のmodel.hファイルが表示されない場合は、ページを更新してください。

  • ステップ7. ファイルを右クリックしてDownloadをクリックし、ファイルをPCにダウンロードします

推論

これから、ダウンロードしたTensorFlow Liteモデルファイル**(model.h)**を使用して、Seeed Studio XIAO nRF52840 Senseからパンチとフレックス動作を認識します。

  • ステップ1. Seeed_Arduino_LSM6DS3ライブラリのライブラリパス(通常はDocuments > Arduino > libraries > Seeed_Arduino_LSM6DS3の下)に移動し、examples > IMU_Classifierにアクセスします

pir

  • ステップ2. model.hファイルを以前にダウンロードしたものと置き換えます

  • ステップ3. IMU_Classifier.inoをダブルクリックして、コードをSeeed Studio XIAO nRF52840 Senseにアップロードします。

パンチ動作

シリアルモニターを開いてパンチ動作を実行します。punchの横に1に近い結果が表示されることが確認できます

pir

フレックス動作

フレックス動作を実行します。flexの横に1に近い結果が表示されることが確認できます

pir

リソース

技術サポート & 製品ディスカッション

私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...