Baby Cry Detection デモ
説明
このアプリケーション例では、Renesas の VK - RA6E1 キットおよび Reality AI Tools(Explorer Tier)を使用した Baby Cry Detection デモの開発およびテストを扱います。このポータルは、視覚以外のセンシングアプリケーション向けに AI モデルを生成するのに便利です。
このドキュメントには、以下のセクションが含まれます:
| ラボセクション | デモ手順 |
|---|---|
| セクション1 | 事前準備 |
| セクション2 | データ収集 |
| セクション3 | モデル生成 |
| セクション4 | モデルのデプロイとテスト |
各セクションは順番に従って進めてください。
事前準備
概要
このセクションでは、Baby Cry Detection デモを実行するための前提条件について説明します。
手順
このラボ/デモの構築には VK – RA6E1 キットが必要です。

キットには以下が含まれます:
- RA6E1 ボード
- 必要な USB ケーブル
キットリンク: TW001-VUIA6E1POCZ - RA6E1 Voice User Demonstration Kit | Renesas
また、このラボでは Renesas E2-Studio IDE 2024-07 以降および FSP 5.6 が必要です。
プラットフォームインストーラはこちらから入手可能です:
Link
E2 Studio のインストール場所をメモしておいてください。ラボをすぐに始められるよう、すでに設定済みの e2-studio プロジェクトも必要です。
最後に、Reality AI ウェブサイトのアカウントが必要です。
Reality Tools にログインしてください(https://portal.reality.ai/login)。
ポータルや e2-studio プロジェクトへのアクセスに関して不明な点がある場合は、Renesas AI COE Customer Success チーム (rai-cs@dm.renesas.com) にお問い合わせください。


ブラウザはバックグラウンドで開いたままにしてください。
データ収集
概要
このセクションでは、Reality-AI Eclipse プラグインを使った e2studio によるデータ収集方法について説明します。
手順
E2 Studio IDE を開き、ワークスペースを選択します。

「Launch」をクリックします。

メニューの「File → Import...」を開き、「General → Existing Projects into Workspace」を選択します。

「Next」をクリックして進みます。
「Select root directory」を選び、「Browse」でサンプルプロジェクトのフォルダを指定します。

これでデモプロジェクトがワークスペースにインポートされます。
Reality-AI ツールに戻り、「+Add Project」をクリックして新しいプロジェクトを開始します。プロジェクト名と(必要であれば)説明を入力して、右下の「+Add Project」ボタンをクリックします。

※Explorer Tier を使用している場合は、新しいプロジェクトを作成せず既存の Baby Cry Detection プロジェクトを使用してください。
画面右上のユーザー名をクリックし、「API Key Option」を選択します。

表示された API キーをコピーします。このキーを使用して E2 Studio IDE と Reality AI Tools を接続します。

E2 Studio を開き、「Renesas AI → Reality AI Authentication」に進みます。
(※メニューに Renesas AI が表示されない場合は、付録を参照してください)

「Add」をクリックし、API キーを追加してアカウントをワークスペースに接続します。

API キーを貼り付けて「Apply and Close」をクリックします。
これで IDE が Reality AI サイトと接続可能になります。
「Renesas AI → Show View → Reality AI Data Storage Tool」に進みます。
ウィンドウが IDE 下部に表示されるので、タブをドラッグしてメイン表示エリアへ移動させます。プルダウンでプロジェクトを選び、「Data Connection」ボタンをクリックします。

表示されるメニューで COM ポート、ボーレート(921600)、通信プロトコル(8-N-1)を設定して「Connect」をクリックし、「Close」で閉じます。

接続されると、左上に「Receiving data...」と表示され、チェックマークが付きます。
※チェックマークは接続成功を示すもので、データを受信していることを示すわけではありません。
プロジェクトをビルドするには、ハンマーアイコンをクリックします。

ビルドに成功すればエラーは出ません。

デバッグセッションを開始するには、ツールバーの「Debug」アイコンをクリックします。

Windows Defender の警告が出たら「Allow access」をクリックし、「Remember my decision」にチェックを入れて「Switch」をクリックします。

「Resume」ボタンを2回クリックすると、プログラムが実行されます。

「Reality AI Data Storage Tool」ビューに戻り、Signal view に波形が表示されているか確認します。表示がない場合は「File view」→「Live view」の順にクリックしてください。それでも表示されない場合は、事前条件の接続などを再確認してください。

「Class Name」テキストボックスに名前を入力すれば、任意の長さでデータ収録が可能です。
※「Unlimited」チェックボックスをオンにすることを推奨します。これで可変長データを収録できます。
データ収集には「ファイルごとのフレーム数」か「Unlimited(無制限)」の2方式があります。Unlimited を選ぶと、ユーザーが手動で止めるまで収録が続きます。チェックがオフの場合、指定されたフレーム数に達すると自動で停止します。このプロジェクトでは、1ファイル200フレームで約52秒のデータになります。本ラボでは Unlimited モードを前提としています。
Reality AI Data Storage Tool で「Unlimited」にチェックを入れ、「Class name」欄に baby_cry を入力します。提供されている Baby Cry の音声ファイルをスマホやPCスピーカーで再生し、音声キットで録音してください。
録音が終わったら、新しい録音を開始し、クラス名を everything_else にします。このときは静かに座っていたり、話したり、キーボードを打ったりして周囲の環境音を記録します。2〜3分程度収録してください。目的は環境音のデータ収集です。
これでデータ収集は完了です。
赤い停止ボタンをクリックしてデバッグセッションを終了します。

※停止アイコンが表示されない場合は、画面右上の「Debug」パースペクティブに切り替えてください。
収集されたデータは下部のメタデータ/ファイルリストに表示されます。これらのデータを Reality AI Tools にアップロードして、解析を実行できます。
アップロード手順は以下の通りです:
- Ctrlキーを押しながら複数ファイルを選択
- 表示を下にスクロールし「Upload...」ボタンを表示
- 「Upload...」ボタンをクリック

ダイアログが開き、Reality AI Web サイトに定義済みのプロジェクトが表示されます。
Baby Cry Demo(または前のステップで指定した名前のプロジェクト)を選択します。
サンプリングレートを 4096 に設定して「OK」を押します。
データファイルとともに metadata.csv ファイルがアップロードされ、確認ダイアログが表示されます。
モデル生成
概要
このセクションでは、収集したデータセットを使って Reality AI Tools 上で AI モデルを生成する方法について説明します。
Reality AI Tools Explorer Tier アカウントが必要です。ポータルへのアクセスや認証情報が必要な場合は、Renesas AI COE Customer Success チーム (rai-cs@dm.renesas.com) にご連絡ください。
手順
まだ Reality AI Tools にログインしていない場合は、以下のリンクからログインしてください:
https://portal.reality.ai/login
データの整形
Baby Cry Demo プロジェクトを選択してアクティブにします。

左のメニューから「Data」タブを開き、以下の手順に従ってください:
- 「Curate」をクリック
- 「Source Files」を展開
- 「File Name」にチェックを入れてすべてのファイルを選択
- 「Action」ボタンをクリック
- 「Format Selected」を選択

表示されるダイアログで以下の設定を行います:
- 「Data」を展開
- スクロールバーやマウスホイールで下へスクロール

次に、2つ目のクラス(例:baby_cry)を「Target Class(ターゲットクラス)」として選択します。
サンプリングレートを「4096」に設定して、「Confirm」をクリックします。
データの形式が 1 x {サンプル数} に、サンプリングレートが 4096 Hz に設定されていることを確認します。

セグメント(区間)作成
「Action」ボタンをクリックし、「Segment List from Selected」を選択します。

なぜセグメンテーションが必要なのか?
Reality AI Tools で生成したモデルは、Renesas のさまざまな MCU へデプロイ可能です。リソース制限のある環境でリアルタイムデータを処理できるようにするため、1秒や500msなどの短い時間幅のデータで素早く分類できる必要があります。そのため、生データを小さな区間(ウィンドウ)に分割し、モデルに学習させます。
以下の手順でパラメータを設定します:
- 「Window Length(ウィンドウ長)」を
4096に設定 - 「50%」ボタンを押してオフセットを50%に設定
- 名前を入力(例:
baby_cry_segments) - 「Submit」をクリック

サンプル数は収集データの量によって異なりますので、スクリーンショットと一致しなくても問題ありません。
- Window Length(ウィンドウ長): モデルが分類の判断に使うデータ長
- Offset(オフセット): 前のウィンドウからどれだけ先に進んで次のウィンドウを作るか
ガイドライン:
- 50% オーバーラップ は、バリエーションへの耐性と冗長性のバランスが良好
- データ量が多い場合は、オーバーラップなし でも良い
- モデルの検証時には All Shifts(オフセット1) で全ての可能なシフトを網羅する
セグメントリストの作成後、「AI Explore → Classes」に移動します。

Reality AI Tools では、3種類のAIモデルを作成できます:
- Classes:ラベル付きカテゴリーデータを用いる(本チュートリアルで使用)
- Values:カテゴリではなく数値(int/float)を対象にした回帰モデル
- Anomalies:異常検知モデル(正常データのみでベースラインを作成)
作成したリストをクリックし、「Start Exploring」をクリックして特徴抽出とモデル学習を開始します。
探索が完了したら、最も性能の高いモデル(推奨:Spectral Magnitude を使用したモデル)を選び、「Create Base Tool」をクリックします。各モデルの説明にカーソルを合わせると詳細が表示されます。

内部で行われている処理
「Start Explore」ボタンをクリックすると、Reality AI のアルゴリズムがデータ上で複数の特徴量セットと機械学習モデルを試行し、分類精度とリソース使用量に基づいてベストな結果を抽出します。
アルゴリズムの流れ:
- サンプルリストをクラスごとにバランスよく抽出(大規模データはサブサンプリング)
- 最適な特徴量とモデルパラメータを探索
- 最有望な特徴量セットで複数の ML モデルを生成
- 各モデルに対して K-Fold 検証(K=10) を実行
最良のモデルのみが表示されます。1回の Explore で数百モデルが比較されます。
K-Fold とは?
データを K 分割し、1つをテスト用、残りを学習用として交互に評価します(例:K=10 の場合、10回繰り返す)。
ツールに名前をつけて「Add」をクリックします。
アイコンが変化し、ベースツールが作成されたことを示します。
モデルのデプロイ
以下の手順でデプロイ用パッケージを生成します:
- 「Deploy → Embedded」をクリック
- 「Trained Tool Description List」からモデルを選択
- 「+ New Package」をクリック

オプションを設定します。モデル名は baby_cry_lsp_v2 とすると、E2-Studio のコードと整合性が取れます(他の名前にするとコードの修正が必要になります)。
生成には10~15分ほどかかります。準備が完了したら、ボタンをクリックして zip ファイルをダウンロードします。

アーカイブには 9 個のファイルが含まれています。すべてを E2-Studio プロジェクトの src/realityai ディレクトリにコピーし、既存のファイルを上書きしてください。
※ファイル名はツール内で指定したプロジェクト名に応じて変わる場合があります。
呼び出し関数は baby_cry_lsp_v2_model.h に記述されています。

モデルのデプロイとテスト
概要
このセクションでは、生成されたモデルをハードウェア上でテストする方法について説明します。
手順
hal_entry.c を開き、ヘッダファイルをインポートします。
もしデプロイしたモデル名が baby_cry_lsp_v2 であれば、特に変更は必要ありません。
別の名前を使用した場合は、37行目を新しいモデルのヘッダファイル名に書き換えてください。

286行目では、クラス名を baby_cry に変更します。これが Baby Cry イベントのクラス名になります。

以前と同じようにプロジェクトをビルド&デバッグします。
「Resume」ボタンを2回クリックすると、ボードが推論モードで動作を開始します。
モデルの精度と予測結果を確認するには、
Renesas AI → Show View → Reality AI Live Monitor に移動します。
(※先に Data Storage Tool の接続を解除しておく必要があります)

「Data Connection」をクリックし、再度ボーレートを 921600、適切な COMポート を設定します。

接続されると、ライブでモデルの予測結果が表示されます。

上記の画像では、
1がeverything_elseクラス、2がbaby_cryクラスを表しています。
y軸の「class score」でオレンジのバーが高くなっているクラスが現在の支配的なクラスです。
YouTubeなどで赤ちゃんの泣き声を再生すると、x軸に 2 が現れ、y軸にオレンジバーが高く表示されるはずです。
モデルの精度が低いと感じた場合は?
- より多くのデータを収集してモデルを再学習させてください。
- データ収集時とテスト時の条件が一致しているか確認してください。
- 環境変化を含めたデータを収集すると、モデルの汎化性能が向上します。
すでに収集済みのデータを使ってボード上でモデルを検証したい場合は、
Renesas AI → Hardware In-Loop Test に移動します。

推論パッケージ/モデルを選択します。
Reality AI Tools アカウントで訓練されたモデルを指定します。
Explorer Tier を利用している場合は、事前に用意された baby_cry_lsp_v1 を選択してください。
ボードが接続されていることを確認し、正しい COM ポートを選択します。
「Start test」をクリックします。プラグインが自動的にプロジェクトを生成し、ハードウェアテストを実行します。
また、モデルのトレーニング時に使用されたシミュレーションデータもダウンロードされ、ボード上での検証に使われます。
テストが始まると、推論時間や全体の精度などが画面に表示されます。
ラボ終了
ありがとうございました