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に取り組む方も安心して技術を学んでいただけるよう、サンプルアプリケーションの開発・解説をから、アプリケーションの変更方法、実際の環境データを使った解析方法まで段階的に解説します。
2019年11月、2020年2月の開催時にいずれも満席となった本講座を、好評につき2020年3月にも開催いたします。「講演中にも質問・確認ができる少人数クラス」のためモヤッとした気持ちを持ち帰ることなく、短時間ながらマルチコア・プログラミングの基礎をしっかりと習得いただけます。
ET&IoT展2019で大盛況だった、SPRESENSEを使ったマルチコア開発を習得できるハンズオン・ワークショップを、好評につき2020年1月下旬から2月上旬に再度開催いたします。忙しいエンジニアの皆さん向けに、「質問・確認しやすい少人数制」かつ「受講日時が選択できる」構成としました。短時間でありながら密度の濃い内容となっておりますので、マルチコア・プログラミングの基礎をしっかりと習得いただけます。
今回は、産業向けアプリケーションのPoCをイメージし、SPRESENSE SDKに同梱されたサンプル・アプリケーションである「マルチコアを使った録音プログラム(Audio Recorder)」を改変し、「自身で設計した信号解析アルゴリズムを実行するサブコアと連携」、高速かつ高精度に周辺状況を分析できるアプリケーションの開発方法を紹介いたします。
SPRESENSEは汎用CPU(サブコアであるCortex-M4)上でWAVやMP3を処理できる「ソフトウェア・エンコーダ/デコーダ」機能を提供しています。ソフトウェア・エンコーダ/デコーダをサブコア上で実行することにより、システムの根幹を担うメインコアに負荷をかけることなく音声処理を実現。また、サブコアは汎用CPUであることから、WAVやMP3の処理をしていない間でも他のタスクを処理するコアとして活用することができます。
今回の初心者講座では、サブコアの内部状態や処理対象となったデータの断片を、順序付けてメインコアへと送出できる『リングバッファ』について紹介いたします。なお、今回紹介する機能に対応したC言語のソースコードはGitHubにて公開しています。解説だけでなく、ソースコード・リーディングも活用し、コア間の連携方法への理解を深めましょう。