SPRESENSE×Neural Network Console:第4回|推論モデルを最適化し、エッジAIによるオリジナルの音声識別システムを構築する
今回の初心者講座では、SPRESENSEの「ハイレゾオーディオ入力」と「DNNRT機能」により「Neural Network Console」で生成したディープニューラルネットワーク(DNN)の推論モデルを統合。エッジ単体で完結するオリジナルの音声識別システムを構築する技法を解説いたします。
今回の初心者講座では、SPRESENSEの「ハイレゾオーディオ入力」と「DNNRT機能」により「Neural Network Console」で生成したディープニューラルネットワーク(DNN)の推論モデルを統合。エッジ単体で完結するオリジナルの音声識別システムを構築する技法を解説いたします。
今回の初心者講座では、SPRESENSEに搭載されたハイレゾオーディオ入力を活用し、環境音を録音し、ディープニューラルネットワークによる音声分類に不可欠な学習用データと検証用データを生成する方法について解説します。また、PC上で動作するNeural Network Consoleによって生成した推論モデルをエッジ・デバイスへ統合するために解決すべき課題を紹介します。
SPRESENSEのDNNRT機能が扱うことのできるデータは画像だけでなく、産業分野を中心に人気が高まっている「異常検知・故障予知」に活用できる加速度センサーや大気圧センサーなどから収集した波形データも解析することができます。さらにSPRESENSEに内蔵されたハイレゾオーディオ録音機能も周辺環境を可聴域の波形データとして記録することができる優れたセンサーとして利用可能です。そこで、今回の初心者講座では、まず簡単な波形データの解析方法を例に、DNNRT機能から波形データを扱うシステムの構築方法について解説。DNNRT機能を活用した製品開発に必要となる技術を紹介いたします。
今回はSPRESENSE SDKの提供するAI、ディープニューラルネットワーク(DNN)実行機能である「DNNRT機能」について紹介します。はじめてSPRESENSEの開発環境に触れる方はもちろん、はじめてDNNに取り組む方も安心して技術を学んでいただけるよう、サンプルアプリケーションの開発・解説をから、アプリケーションの変更方法、実際の環境データを使った解析方法まで段階的に解説します。
今回の初心者講座では、組み込みLinuxに同梱されているデバイスドライバの仕組みや特長について解説するとともに、デバイスドライバと密接な関係にあるカーネルモジュールについて解説。記事の後半では、Raspberry Pi 4実機上で動作するカーネルモジュールの開発手順を紹介します。
今回の初心者講座ではLinuxディストリビューションの起動シーケンスを例に、Linuxディストリビューションにはどういったコンポーネントが含まれているのか、Linux上にて各コンポーネントはどのように連携しているのかについて解説いたします。また、こうしたLinuxのコンポーネント上で実行できるアプリケーションの開発方法を記事後半で紹介いたします。
今回の初心者講座では、SMP構成の特徴と、SMP×ASMP構成というハイブリッドなシステムを構築できるSPRESENSEが組み込み製品開発へ与えるメリットを紹介。最後にSPRESENSE SDKに内蔵されているNuttXを設定しSMP機能を使う手順を動画にて解説いたします。ASMPアーキテクチャの復習とSMPアーキテクチャの学習に、本記事を是非ご活用ください。
Dockerは、アプリケーションと実行環境をペアで管理し、セットでデプロイすることのできる「コンテナ」を提供するソフトウェアです。Dockerを採用することにより、異なるLinuxディストリビューション、異なるバージョン、異なる実行環境で動作しているLinuxアプリケーションを、ひとつのハードウェア上へ簡単に統合することができます。今回の初心者講座では、組み込みシステムにDockerのメリットとWind River Linux開発環境におけるDockerの使い方を解説いたします。
これまでの初心者講座では、YoctoベースのWind River LinuxでLinuxディストリビューションを生成できることを紹介しました。今回の初心者講座では、次の開発ステップ、Linuxのカスタマイズ方法を解説します。カスタマイズすることにより、オープンソースの大きな魅力「既存の豊富なソフトウェア資産」を組み込みLinuxディストリビューションへ統合することができます。