Theme
SmartNVH 取扱説明書
1. 用語
本文書で使用される主要な用語の定義は以下の通りです。
| Term | Comment |
|---|---|
| AI | Artificial Intelligence(人工知能)。本システムでは、機械学習を用いて音の特徴を自動判別する機能を指します。 |
| AENN | AutoEncoder Neural Network(オートエンコーダ・ニューラルネットワーク)。本システムの中核となる AI モデルです。入力データを圧縮・復元することで正常データの特徴を学習します。 |
| NVH | Noise(騒音)、Vibration(振動)、Harshness(ハーシュネス:不快な振動音)の総称。機械の快適性や品質を評価する指標です。 |
| Mic | Microphone(マイクロフォン)。音声を電気信号に変換する入力デバイスです。 |
| ZCR | Zero Crossing Rate(ゼロ交差率)。波形がゼロライン(中心軸)を横切る回数。音の「粗さ」や周波数の高さを示す指標です。 |
| RMS | Root Mean Square(実効値 / 二乗平均平方根)。音のエネルギーの大きさ(音量感・パワー)を表す指標です。 |
| PD | Peak Density(ピーク密度)。指定した閾値を超えるデータ点の割合を示します。 |
| PD3 | 3 倍 RMS 超過率。信号の二乗平均平方根(RMS)の 3 倍を超える鋭いピークの割合です。AENN 学習の特徴量の一つです。 |
| PD5 | 5 倍 RMS 超過率。信号の二乗平均平方根(RMS)の 5 倍を超える鋭いピークの割合です。AENN 学習の特徴量の一つです。 |
| Loss | 異常度(再構成誤差)。AI が算出した「現在の音」と「学習した正常音」との乖離度です。数値が大きいほど、学習データと異なる(異常の可能性が高い)ことを示します。 |
| FFT | Fast Fourier Transform(高速フーリエ変換)。時間領域の波形データを周波数領域のデータ(スペクトル)に変換するアルゴリズムです。 |
| dB | Decibel(デシベル)。音圧レベルなどの物理量を対数で表した単位です。 |
| CSV | Comma-Separated Values。データをカンマ区切りで記録したテキストファイル形式です。Excel 等で閲覧可能です。 |
| IMD | ELMEC 社専用の生データ保存用ファイル形式です。 |
| Octave | オクターブ解析。人間の聴覚特性に合わせて周波数帯域を分割し、バンドごとのエネルギーを特徴量として抽出する手法です。 |
| MFCC | Mel-Frequency Cepstral Coefficients の略 「音色(ねいろ)」や「音の響き方」を数値化した特徴パラメータです。元々は人間の音声認識(「あ」と「い」の違いを区別するなど)のために開発された技術ですが、現在では産業機械の異音検知にも広く利用されています |
2. 概要
SmartNVH は、AI 技術である AENN (AutoEncoder Neural Network) に基づいたリアルタイム産業用音響分析システムです。
本システムはマイクを通じて機械の稼働音を収集し、ニューラルネットワークを用いて「基準となる音(通常は正常音)」の特徴分布を自動学習します。これにより、対象の音が正常範囲内か、あるいは異常範囲かをリアルタイムで検知し、警報を発することが可能です。
従来の固定閾値に基づく検知システムとは異なり、SmartNVH は「自己学習」機能を備えています。現在の環境下における音響特徴を自動的に学習することで、誤報を抑えつつ設備故障の予兆検知や良否判定を効果的に行います。
主な特長
設定が容易
正常音を流すだけで学習が完了し、自動的に閾値を設定します。複雑な周波数パラメータの手動設定は不要です。学習/検知モードの自由な切替
環境ノイズが変化した場合でも、再学習を行うことで柔軟に対応可能です。生データ収集の制限なし
本ソフトウェアは、ディスク容量が許す限り生データの収集時間に制限はありません。リアルタイム波形監視
取得した音声波形を即座に可視化し、変動を目視で確認できます。検知モードの柔軟性(正常音/異常音選択)
環境設定により、「異常音(NG)の検知」だけでなく、「正常音(OK)の通過検知」にも対応可能です。
3. システム構成
3.1 ハードウェア構成
| Item | Comment |
|---|---|
| PC 本体 | Windows 11 が動作する産業用 PC またはノート PC |
| 入力デバイス | マイク(MIC)入力、または IMD ファイル(再生用) |
入力デバイス要件
| Item | Comment |
|---|---|
| チャンネル数 | 1CH(モノラル)のみ |
| サンプリング周波数 | 10kHz から 50kHz まで対応 |
| 生データ分解能 | 12bit および 16bit 対応 |
3.2 ソフトウェア構成
本システムは以下のファイル・フォルダ構成で動作します。
python
SmartNVH/
├── Bin/ # 実行ファイル格納フォルダ
│ ├── SmartNVH.exe # アプリケーション本体
│ ├── pass.wav # 正常音/異常音検出時の通知音
│ └── libfftw3-3.dll # FFTW 演算ライブラリ
├── Para/ # 設定パラメータ保存フォルダ
│ ├── Env.mst # 環境設定ファイル
│ ├── Testxxx.pat # パターン設定ファイル (xxx: パターン番号)
│ └── Modelxxx.dat # 学習済みモデルデータ (xxx: パターン番号)
├── Csv/ # 検知されたデータ(CSV)保存先
│ └── yyyy-mm-dd
│ ├── OK-TPxxx-xxxxxx.csv # 正常音検知のデータ (xxx: パターン番号)
│ └── NG-TPxxx-xxxxxx.csv # 異常音検知のデータ (xxx: パターン番号)
├── Raw/ # 一括生データ保存場所
│ └── yyyy-mm-dd
│ └── TPxxx-xxxxxx.imd # 計測開始から終了までの生データ (xxx: パターン番号)
├── RawSplit/ # 検知された生データ保存場所
│ └── yyyy-mm-dd
│ ├── OK-TPxxx-xxxxxx.imd # 正常音検知時の生データ (xxx: パターン番号)
│ └── NG-TPxxx-xxxxxx.imd # 異常音検知時の生データ (xxx: パターン番号)
└── Log/
└── userlog.txt # 計測ログファイル4. 操作画面
4.1 環境設定
システム全体の動作環境、保存先、およびハードウェア設定を行います。
各変数説明
| Item | Comment |
|---|---|
| 検出データ保存場所 | 判定結果ログ(CSV)を保存するフォルダパスを指定します。 |
| 生データ保存場所 | 録音した Raw データ(IMD ファイル)を保存するフォルダパスを指定します。 |
| 生データ分割保存場所 | 長時間の Raw データをイベントごとに分割保存する場合のパスを指定します。 |
| ドライブ空き領域警報サイズ | ディスク容量が指定サイズ(GB)を下回った場合に警告を出します。 |
| マイク入力チャンネル | 使用する入力チャンネルを選択します(Left / Right)。 |
| マイク音量(0-100) | 入力ゲインを調整します。波形が振り切れない程度(80-90 推奨)に設定します。 |
| サンプリング周波数(Hz) | データの取得速度です(Default:48000)。 |
| 生データ解像度(bit) | データの分解能です(固定:16)。 |
| 検出方式 | 正常音: 学習モデルと一致する場合(Loss が低い)を「検知(OK)」とします。 異常音: 学習モデルと異なる場合(Loss が高い)を「検知(NG)」とします。 |
| 検出時間表示方式 | メイン画面の検出履歴での時間表示フォーマットを設定します。 検出時刻: hh:mm:ss (時:分:秒) 形式。通過時間: x.xxx (計測開始からの秒数) 形式。 |
| X 軸時間(秒) | 波形グラフの横軸の表示幅(秒数)を設定します。 |
| Y 軸最小値/最大値(V) | 波形グラフの縦軸(電圧)の表示範囲を設定します(例:-5 ~ 5)。 |
| 表示色設定 | 背景色、グリッド色、波形色を任意に変更できます。 |
4.2 パターン設定
判定に使用する AI モデルやトリガ条件を、品番や工程(パターン)ごとに個別に設定します。
各変数説明
| Item | Comment |
|---|---|
| パターン番号 | 設定を保存・読み出しする番号を選択します(例:001)。 |
| パターン名 | 識別しやすい名前を入力します(例:mouse-click)。 |
| トリガ電圧(V) | 計測を開始する信号レベル(閾値電圧)を設定します。 |
| トリガ前点数 | トリガ検知ポイントより「前」に遡って取得するデータ点数です。 |
| トリガ後点数 | トリガ検知ポイントより「後」に取得するデータ点数です。 ※ |
| 感度係数(σ) | 自動閾値を計算する際の厳しさを設定します。+3σ: 標準設定。誤報が少ない。+2σ: 感度高め(厳しい)。+4σ以上: 感度低め(鈍感)。 |
| 周波数特性 | 特徴抽出に使用する周波数分析手法を選択します。 16 個等間隔平均: FFT データを 16 分割し、各エリアの平均値を使用。 1/3 Octave: FFT データを 1/3 オクターブバンドごとの Power 値に変換。 1/6 Octave: FFT データを 1/6 オクターブバンドごとの Power 値に変換。 MFCC 係数: 人間の聴覚特性を模倣して、AI に学習させる特徴。 |
| 開始周波数(Hz) | 分析対象とする最低周波数を設定します(例:500Hz)。これ以下の低周波ノイズをカットします。 |
| モデルを削除 | 現在選択しているパターンの学習済み AI モデルを削除し、未学習状態(初期状態)に戻します。 |
4.3 メイン画面
日常の監視業務を行うメイン画面です。
パターン番号など (最上部)
各変数説明
| Item | Comment |
|---|---|
| パターン選択 | 計測用のパターン番号を選択します(停止中のみ選択可)。 |
| 設定ボタン | 環境設定およびパターン設定画面を開きます(停止中のみ有効)。 |
| タグ名 | 生データ保存時のファイル名に付与する識別文字列を指定します(停止中のみ設定可)。 |
波形表示エリア (中央左側)
マイクから入力されたリアルタイム波形を表示します。設定した X 軸/Y 軸範囲で描画されます。
縦軸は電圧(V)、横軸は時間(秒)です。
ステータス・履歴表示など (中央右側)
各変数説明
| Item | Comment |
|---|---|
| 計測状態 | 「計測待ち」「学習中」「検知中」などの現在のステータスを表示します。 |
| 自動閾値(学習) | 学習モードによって自動決定された、判定用リミット値です。 |
| 現在の異常度(loss) | 直近のデータに対する AI のスコア(乖離度)です。 |
| 検出履歴 | 判定条件に合致したイベント(異常音または正常音検知)のリストを表示します。 |
| Start / Stop | システムの稼働を開始、または停止します。 |
ステータスバー (最下部)
各変数説明
| Item | Comment |
|---|---|
| 計測状態 | 現在の動作状態(待機中、学習中、計測中など)を表示します。 |
| 入力モード | クリックして入力ソースを切り替えます。 MicMode: 通常使用。マイク入力。 ImdMode / ImdHiMode: テスト解析用。保存済み IMD ファイル入力(詳細は 4.4 項参照)。 |
| 生データ保存 | クリックして切り替えます。全体の生データ保存の有無(Save/NotSave)を設定します。 |
| MIC 状態 | 表示のみ。計測停止時、1 秒間隔でマイクの接続状態を検査・表示します。 |
| 計測タイプ | クリックして切り替えます。「学習(Learning)」か「検知(Detection)」かを設定します。 |
| 空き容量 | 表示のみ。保存先ディスクの空き容量を表示します。 |
| システム時間 | 表示のみ。現在時刻を表示します。 |
4.4 計測モード詳細
本ソフトウェアは 3 種類の計測モードを備えています。
| 入力モード | 計測モード | 説明 |
|---|---|---|
| MicMode | Online 計測 | (通常使用) マイクからリアルタイムに音を取得して計測します。波形や時刻はリアルタイムに表示されます。 |
| ImdMode | Offline 計測 (シミュレーション) | 過去に保存された生データファイル(.imd)を使用します。 [Start]ボタン押下後にファイル選択画面が表示されます。 計測時の状態を再現するため、波形描画と計測時間はOnline 計測モードと同じ速度で進行します。 ファイルを選択しなかった場合、またはデータの読み込みが完了した時点で、計測は自動的に停止します。 |
| ImdHiMode | Offline 計測 (高速解析) | ImdMode と同様に生データファイル(.imd)を使用します。 波形描画と計測時間のリアルタイム表示を省略し、短時間で解析結果を出力します。 データ終端まで解析が完了すると自動停止します。大量のデータを再検証する際に便利です。 |
5. AENN 用の特徴量
本システムでは、以下の特徴量を複合的に使用して AI 学習を行います。
時間領域 8 個、周波数領域 26 個、合計 34 個の特徴量を使用します。
注意: AI 学習のため、すべての特徴量の値は0 から 1の範囲内に正規化されます。
時間領域の特徴量 (Time Domain)
| No. | Name | Comment |
|---|---|---|
| 1 | ZCR | ゼロ交差率 (Zero Crossing Rate) |
| 2 | RMS | 実効値 (Root Mean Square) |
| 3 | PD3 | 3 倍 RMS 超過率 (Peak Density > 3*RMS) |
| 4 | PD5 | 5 倍 RMS 超過率 (Peak Density > 5*RMS) |
| 5 | Kurtosis | 尖度 (分布の鋭さ) |
| 6 | Spare6 | (予備) |
| 7 | Spare7 | (予備) |
| 8 | Spare8 | (予備) |
周波数領域の特徴量 (Frequency Domain)
| No. | Name | Comment |
|---|---|---|
| 9 | 周波数重心 | スペクトルの重心周波数 (Spectral Centroid) |
| 10 | Spare10 | (予備) |
| 11-34 | 各 Band 値 | 設定した周波数特性(1/3 Octave 等)に基づく各帯域のエネルギー値。最大 24 バンドまで使用。 |
6. 計測説明
6.1 計測フロー
本システムの基本的な計測サイクルは以下の通りです。
各項目を説明
Start
「Start」ボタンを押して計測を始めます初期化
- パターン番号より、既設のモデルを読込
- 特徴量など演算用データを初期化
- 生データ収集の Device を初期化(Mic/Imd)
生データ保存
生データ収集中、内部 Buffer Size に到達後、自動保存します。
長い計測の場合、複数 Imd ファイルの保存が可能です。
Loss 値検出(AI)
特徴量を AENN に入力し、Loss(異常度)を算出します。モデル変更(AI)
特徴量を AENN に入力し、AI 学習して、新モデルを生成されます自動閾値検出
算出された Loss を統計データに蓄積し、自動閾値を検出する
自動閾値 = 平均値 + n 個シグマ値
平均値: 最近 300 個 Loss 値を平均する
シグマ値: 最近 300 個 Loss 値から算出する判定
検出 Loss 値は自動閾値以上の場合、判定 NG です検出履歴更新
「環境設定」>「検出方式」の設定により、判定ロジック(OK/NG の定義)が反転します。検出方式 更新データ 正常音 判定 OK のデータは検出履歴に表示する 異常音 判定 NG のデータは検出履歴に表示する 検出履歴に表示された時点の生データは常に保存する
6.2 学習モード
新しいパターンを登録する場合や、設置環境が変わった場合は学習を行います。
- メイン画面左上で、対象の「パターン番号」を選択します。
- ステータスバーの「計測タイプ」をクリックし、「学習」 に設定します(または、パターン設定画面で「モデルを削除」を実行すると自動的に学習状態に戻ります)。
- メイン画面の「Start」ボタンを押します。
- 正常な状態の音をマイクに入力させます(または機械を空運転させます)。
- システムは自動的にデータを収集し、Loss のばらつき(平均+標準偏差
係数)から「自動閾値」を計算します。 - 閾値の数値が安定すれば学習完了です。「Stop」を押して停止します。
6.3 学習/検知切替
モードの切り替えは以下の手順で行います。
学習 → 検知
学習中、または計測停止中の時、ステータスバーの「学習」エリアでマウスをクリックすると、直接検知モードになります。検知 → 学習(再学習):
検知中、または計測停止中の時、ステータスバーの「検知」エリアでマウスをクリックすると、直接学習モードになります。
7. Q&A
Q: 閾値が低すぎて誤報が多いのですが?
A: パターン設定の「感度係数(σ)」を上げてください(例:+3σ → +4σ)。係数を大きくすると、より大きな Loss 変動まで許容するようになり、感度が下がります。または、環境設定で「マイク音量」を下げてノイズフロアを下げてください。
Q: 波形が表示されません。
A: 環境設定の「マイク入力チャンネル」が正しいか確認してください(Left/Right)。また、Windows の「サウンド設定」で対象のマイクデバイスが有効になっているか、入力レベルがミュートになっていないか確認してください。
Q: 「検出方式」はどちらを選べば良いですか?
A: 「いつもは静かで、たまに発生する異音を見つけたい」場合 → 「異常音」 を選択。「製品が通過する際の音や、カチッという嵌合音など、正しい音がしたことを記録したい」場合 → 「正常音」 を選択してください。
8.操作ビデオ
SmartNVH MFCC Demo