以下、図面を参照しながら、本発明を適用した実施の形態について説明する。
図1は、本実施の形態における異音強調システム1の概要を示すブロック構成図である。この異音強調システム1は、本発明の「異常信号抽出装置」に対応する。異音強調システム1は、異音の計測対象となる対象装置3の稼働音(以下、「入力音」または「検査音」ともいう)を収音(記録)して、該収音された入力音を所定時間単位でのフレーム(時間周波数)に変換(分割)し、当該分割されたフレーム(時間周波数)の各々に対して異常度を算出し、算出された異常度に基づいて、入力音に含まれる異音を強調(抽出)する処理を行うシステムである。
このような基本構成とすることで、対象装置3から発せられる正常音が非定常波である場合に、当該対象装置3から異音が発せられた際の異常を精度良く検知することができる。
他の側面から言うと、以下に詳述する各実施の形態の異音強調システムでは、検査対象となる各種装置の正常音がいずれも厳密には非定常であること、言い換えれば正常音の定常性を一切仮定しないことを前提としたデータ処理(時間平均を用いない処理)を行うものであり、それゆえに正常音が非定常であっても異音の検知および抽出(強調)が可能となるものである。
以下は、正常音が非定常であることをより明確にするため、対象装置3が複数の異なる種類の装置からなり、当該複数の装置から発せられる音を検査する場合を前提として説明する。
なお、「異常」とは、装置の故障や装置の劣化や異物混入や動作条件の変化に伴い、装置が正常とは異なる状態で動作していることを意味する。それに対して、以降で「異常度」と呼ぶものは、対象装置から発せられる検査音に基づいて定義される指標である。すなわち、「異常度」とは、Distr_observedとDistr_normalとの乖離の程度を表す指標である。ただし、或る短時間(たとえば1秒間)の入力波形の時間周波数領域信号の時間と周波数の各ペアが有する音のレベル(音量)を全ての時間と周波数のペアにわたって列挙することで構成されるベクトルが従う多次元確率分布をDistr_observedと定義する。また、同一の短時間の正常音の入力波形の時間周波数領域信号の時間と周波数の各ペアが有する音のレベル(音量)を同様に全ての時間と周波数のペアにわたって列挙することで構成されるベクトルが従う多次元確率分布をDistr_normalと定義する。
このため、異音強調システム1では、準備段階として、正常状態における対象装置3の稼働音(以下、「正常音」という)を収音(記録)して、該収音された入力音から仮想的な理想状態の波形を生成し、該生成された波形を時間(フレーム)-周波数に変換(分割)する。
ここで、フレーム期間(時間値)は、任意の値に設定することができ、特に制限されないが、一般的には、時間値が長い場合よりも短い場合の方が、精度(波形をサンプリングする分解能)が良くなる一方で処理が重くなる傾向にある。以下は、説明の便宜および実用的な一具体例として、フレーム期間(時間値)が32m秒に設定されたことを前提とする。
また、異音強調システム1は、分割された各々の時間(フレーム)-周波数の理想状態の波形を記述する多次元の関数を生成する。この関数は、正常音の入力波形の時間周波数領域信号の時間と周波数の各ペアが有する音のレベル(音量)を全ての時間と周波数のペアにわたって列挙することで構成されるベクトルが従う多次元確率分布に関する変数(パラメータ)を含む数式が多次元化されたものであり、正常音モデルと呼ぶこともできる。
かかる正常音モデルは、後述する学習サブシステムLSSでの機械学習時に生成されるものであり、この実施の形態では所定の評価関数、より具体的には「損失関数」として表される。概して、損失関数は、正常音の全体(ひいてはフレームに切り出した場合の各々のフレーム)に共通に適用される関数である。また、損失関数は、収音された正常音の学習に使用される関数であり、正常音の学習が終了した後(この例では異音強調サブシステムDSSによる検査時)には、使用する必要がなくなる。
一具体例では、後述する実施例1および実施例2では、対象装置3の正常音の収音時に、各々の時間-周波数の学習結果に基づいて、時間-周波数ごとに割り当てられる、損失関数のパラメタ(符号化パラメタD5E、復号化パラメタD5D)を生成して保存する。
そして、この後の対象装置3の検査時の収音時に、保存したこれらパラメタD5EおよびパラメタD5Dを用いて、検査音に基づくデジタルデータの符号化および復号化を行い、当該検査音の各々の時間周波数ごとに割り当てられた「特徴量ベクトルD1」と「復号ベクトルD3」との一致度に基づいて、その時間周波数に割り当てられた「異常度」を算出する。
通常、異常が発生する場合には、正常音と比較して、時間周波数領域信号の特定の周波数、または、特定の時間、または、時間と周波数の特定のペアにおいて音量が大きくなる場合が多い。したがって、本実施の形態では、当該異常度が高い時間周波数の音を異常音として抽出ないし強調して、当該強調した波形をディスプレイなどに表示することによって、対象装置3のユーザに対して異常音を提示する。
(異音強調システム1の機能)
以下、異音強調システム1の構成を、主として機能毎に説明する。
図1に示すように、異音強調システム1は、センサ端末2と、特徴量ベクトル抽出部11と、訓練用データベースDB1と、符号化部12と、復号化部13と、装置型式ベクトル生成部14と、学習部15と、学習用データベースDB2と、異常度算出部16と、異音強調部17と、を備える。
上記のうち、異常度算出部16は、本発明の「異常度推定部」に対応する。また、異音強調部17は、本発明の「異常信号抽出部」に対応する。
上記の各ブロックは、互いに異なるハードウェア構成とすることができ、その場合、各ブロックは、図示しないバスやインタフェースを介して互いに接続されることができる。
一方、訓練用データベースDB1および学習用データベースDB2は、単一のハードウェア(例えばハードディスクドライブ)で構成してもよい。また、特徴量ベクトル抽出部11、符号化部12、復号化部13、装置型式ベクトル生成部14、学習部15、異常度算出部16、および異音強調部17は、同一ないし単一のプロセッサ(CPUやMPUなど)で構成してもよい。
以下は、異音強調システム1の各機能の理解を容易にする観点から、図1に示す各ブロックが互いに異なるハードウェアで構成されたものと仮定する。
異音強調システム1において、センサ端末2は、例えばマイクロホン(以下、「マイク」と略称する場合がある)を備え、対象装置3の稼働音を入力(収音)し、アナログ音声信号D0として特徴量ベクトル抽出部11に出力する。なお、センサ端末2の他の例として、加速度センサを備えることもできる。この場合、センサ端末2は、付加的または代替的に、対象装置3の音以外の振動に由来する信号を含むアナログ信号D0を、特徴量ベクトル抽出部11に出力することができる。
また、本実施の形態において、異音の検査対象となる対象装置3は、機械、工場設備、あるいは家庭電気製品などである。対象装置3のより具体的な例としては、バルブ、摺動装置、ロボット、ポンプ、送風機、シリンダ、コンベア、原動機、トランスミッションなど、種々の装置が挙げられる。
さらに、対象装置3は、単独の装置のみならず、例えば一部屋内の全装置といった複数個または複数種類の装置が含まれ得る。本実施の形態の異音強調システム1は、対象装置3を構成する複数の装置から発せられる音(異音の有無など)を同時に検査でき、突発的に正常音が変化し得る対象装置3についても、その異音を抽出(強調)することができるようになっており、その詳細は後述する。
以下では、異音強調の対象である対象装置3を「装置3」と略記する場合がある。また、学習部15は、例えば、ニューラルネットワークパラメタ更新部と呼ぶこともできる。
特徴量ベクトル抽出部11は、入力されたアナログ音声信号D0をデジタル化し、かかるデジタルの音声データを訓練用デジタル入力信号データベースDB1に逐次格納する。以下、説明の便宜のため、訓練用デジタル入力信号データベースDB1を「訓練用データベースDB1」と略記する。
また、特徴量ベクトル抽出部11は、入力されたアナログ音声信号D0(またはデジタル化された音声データ)から、横軸を時間軸、縦軸を音量とする波形グラフを生成するとともに、かかる波形グラフをフレーム単位に分割する(切り分ける)ことによって、時間周波数のデータD1を生成する(適宜、図10を参照)。特徴量ベクトル抽出部11は、生成した時間周波数のデータD1を、後述する符号化部12と学習部15と異常度算出部16とに、同時に出力する。
なお、フレームの期間(周期)については特に限定されるものではないが、非制限的な一具体例として、32m秒とすることができる。
かかる時間周波数のデータD1(フレーム毎のデータ)は、入力されたアナログ音声信号D0ひいては対象装置3が発する音のフレーム毎の特徴量、より詳しくは、当該フレームの周波数毎の音量(音量の配列)を表している(適宜、図3を参照)。また、厳密には、対象装置3が発する音は、その状態や周囲の環境等に応じて刻々と変化することから、時間周波数のデータD1は、装置3が正常であっても、各フレーム(ピクセル)毎に変化し得るものであるし、実際に変化する。
上記実情を踏まえて、以下は、特徴量ベクトル抽出部11から出力される複数フレーム分の時間周波数のデータD1を「特徴量ベクトルD1」と称する。
訓練用データベースDB1は、主として上述したモデルを作成するために準備段階で使用されるデータベース(この例では物理的に独立したHDDなどの記憶媒体)であり、上述したアナログ音声信号D0のデジタル音声データが記録(一時的に格納)される。
装置型式ベクトル生成部14は、上述した対象装置3の種類および型式(「種類」よりも下位の概念を意味する)を表した装置型式ベクトルD4を生成する。ここで、装置型式ベクトルD4は、対象装置3の種類を識別する装置種類ベクトルの一種であり、対象装置3を構成する装置の種類および型式をOne-Hotベクトルで表したものである。One-Hotベクトルとは、ベクトルの全要素のうち所定の一つの要素のみが「1」となっており、他の要素が「0」となっているベクトル表記法である(図7参照)。
より具体的には、仮に、本システムでの検査対象となり得る装置の製品型式の数が100個ある場合、装置型式ベクトルD4の次元数(桁数)は100になる。一方、工場等の現場に同時に存在し検査対象となる対象装置3の装置数(個数)が3個である場合、装置型式ベクトル生成部14は、かかる100次元の中で、現場に存在する装置型式に対応する3個の次元の要素を1とし、それ以外の97個の次元の要素を0とした、100次元の装置型式ベクトルD4を生成する。
かくして、装置型式ベクトル生成部14は、生成した装置型式ベクトルD4を、符号化部12と復号化部13とに同時に供給(出力)する。
符号化部12は、特徴量ベクトルD1と対象装置3の型式を表す装置型式ベクトルD4との組を入力とし、かかる入力に応じた符号ベクトルD2を出力するニューラルネットワーク(NN:Neural Network、以下、ニューラルネットワークを「NN」と略称することがある)としての機能を担う。ここで、符号ベクトルD2は、上述した特徴量ベクトルD1のデータを圧縮する(符号化する)ことで生成されるデータである。符号化部12は、生成した符号ベクトルD2を、復号化部13と学習部15とに同時に出力する。
復号化部13は、入力した符号ベクトルD2と装置型式ベクトルD4との入力値に基づいた復号ベクトルD3を出力するニューラルネットワークとしての機能を担う。
本実施形態によれば、異常度算出部16が入力音の各時間周波数の異常度D6を算出し、各時間周波数の異常度D6に基づいて異音強調信号D7を生成、出力するので、正常音が時間変化する非定常音であっても異音を強調することが可能となる。
さらに、本実施形態によれば、異音強調システムは、正常音のみを含む学習データを用いて異音を強調するように訓練できる。大抵、異音は未知であり、異音自体の学習が困難なため、異音を学習の段階で必要としない本手法は有効である。
また、本実施形態によれば、装置型式ベクトルD4が符号化部12と復号化部13の両方に入力されるので、装置型式ベクトルD4の情報が符号ベクトルD2に残っていない場合でも、復号ベクトルD3を精度良く予測することができる。
したがって、本実施形態によれば、学習部15が学習処理を反復するに従って、符号ベクトルD2の圧縮効率が次第に向上し、符号ベクトルD2から装置型式ベクトルD4の情報が消滅し、その結果、符号ベクトルD2が装置3の型式に依らない共通の分布となるように、符号化部12のパラメタと復号化部13のパラメタが学習される。
上述のように、本実施形態では、学習部15の学習が進むにつれて、符号ベクトルD2が装置3の型式に依らず共通の分布となる。このため、本実施形態では、装置型式間で共通する音の特徴を表現するために、符号化部12および復号化部13のNN内の写像もできる限り共有されるので、学習処理で探索が必要なパラメタ空間のサイズを小さくすることができる。したがって、本実施形態によれば、学習部15による学習処理の最適化が進みやすくなる。
かくして、本実施形態では、装置3の発する振動に由来する信号に基づいて、装置3の各時間周波数の異常度を算出し、算出された各時間周波数の異常度から装置3から生じる異音を強調した信号を出力することができる。振動に由来する信号には、振動の信号と音の信号とが含まれる。以下に説明する各実施例で使用するセンサ端末2をマイクロホンから加速度センサまたは変位センサに代えることにより、異音強調システム1は、振動の信号から異常振動を抽出し強調してユーザ等に提示することができる。
図1~図9を参照して、本発明の第1実施例を説明する。図1は、本実施例の全体概要を示す説明図である。異音強調システム1の構成の詳細は後述する。ここでは先に全体構成を簡単に説明する。
異音強調システム1は、例えば、複数種類の対象装置3の発する音(音波)をセンサ端末2によりアナログ波形の音声信号D0として検出し、検出した音声信号D0を特徴量ベクトル抽出部11へ入力する。
特徴量ベクトル抽出部11は、入力された音声信号D0をA/D変換および時間-周波数領域に分割(変換)した後に、各領域の特徴量ベクトルD1を抽出し、抽出された特徴量ベクトルD1を符号化部12および異常度算出部16に出力する。
概して、特徴量ベクトルD1は、単位時間(フレーム)に含まれる音の周波数成分の配列を表す。この点で、特徴量ベクトル(D1)は特徴量配列データ(D1)と、特徴量ベクトル抽出部(11)は特徴量配列抽出部(11)と呼ぶこともできる。また、特徴量ベクトルD1は、予め設定された単位時間(フレーム)毎に特徴量ベクトル抽出部11から出力されることになる(適宜、図10中のフレームFを参照)。
符号化部12は、特徴量ベクトル抽出部11から入力された特徴量ベクトルD1と装置型式ベクトル生成部14から入力された装置型式ベクトルD4とに基づいて、符号化ベクトルD2を生成する。生成された符号化ベクトルD2は、復号化部13と学習部15とに入力される。
概して、符号化ベクトルD2は、特徴量ベクトルD1の情報量が間引かれたもの(上述した音の周波数成分の配列の一部が欠落したもの)であり、特徴量ベクトルD1を潜在的に表していることから、「潜在表現ベクトルD2」と呼ぶこともできる。
復号化部13は、符号化部12から出力された符号ベクトルD2と装置型式ベクトル生成部14から出力された装置型式ベクトルD4と、所定のパラメタ(図1中のD5D)に基づいて、復号ベクトルD3を生成して出力する。
ここで、復号ベクトルD3は、上述した符号化ベクトル(潜在表現ベクトル)D2を、所定のパラメタ(図1中のD5D)を用いた復号化によって特徴量ベクトルD1に出来るだけ近い値を再現(復元)したものである。言い換えると、復号化部13が出力する復号ベクトルD3の理想値は、特徴量ベクトルD1と完全同一の値すなわちD3=D1である。但し、実際には、復号ベクトルD3を特徴量ベクトルD1と完全同一の値に復元することが難しい場合が多いため、かかる実情を考慮した処理(後述する図6のS112等)を行う。
異常度算出部16は、入力音すなわちセンサ端末2から入力された音声信号D0の異常度を、時間周波数の領域(いわゆるピクセル)毎に算出する機能を有する。本実施例では、異常度算出部16は、特徴量ベクトル抽出部11から入力された特徴量ベクトルD1と、復号化部13から入力された復号ベクトルD3とに基づいて、対象装置3が発した音の各々の時間周波数の異常度D6を算出し、出力する。この異常度D6の値は、フレーム時間(この例では32m秒)毎に算出、出力される。この意味では、複数フレーム分の異常度(D6)を、異常度ベクトル(D6)と呼ぶこともできる。
一具体例では、異常度D6の値は、入力された音声信号D0に含まれる全ての周波数の音波(例えば32ヘルツ毎)に対する異常度が示される。他の具体例では、異常度D6の値は、入力された音声信号D0に含まれる全ての周波数成分のうち、特徴量ベクトルD1との乖離が閾値を超えた周波数の音波に対する異常度が示される。言い換えると、異常度算出部16(異常度推定部)は、復号ベクトルD3と特徴量ベクトルD1との乖離の程度を時間周波数毎に表す異常度Dを推定する。
異音強調部17は、センサ端末2から入力された音声信号D0と、異常度算出部16から入力された各々の時間-周波数の異常度D6とから、対象装置3から生じる異音(波形)を抽出ないし強調する処理を行い、かかる処理後の異音の波形を異音強調信号D7として出力する。かかる異音強調信号D7は、例えば入力された音声信号D0とともにディスプレイ等の画面に表示する、あるいはプリンタで印刷することができる。
学習部15は、特徴量ベクトル抽出部11から入力される対象装置3の正常音についての特徴量ベクトルD1と、符号化部12から入力される符号ベクトルD2と、復号化部13から入力される復号ベクトルD3と、の関数として定義される所定の損失関数を最小化するように、符号化部12のニューラルネットワークのパラメタD5Eと復号化部13のニューラルネットワークのパラメタD5Dとを学習し、学習済みのパラメタD5EおよびパラメタD5Dを学習用データベースDB2に格納する。ここで、パラメタD5EおよびパラメタD5Dは、損失関数を定義するパラメタである。
また、学習済みのパラメタD5EおよびパラメタD5Dは、異常音が含まれるアナログ音声信号D0についての特徴量ベクトルD1が符号化部12および復号化部13によって符号化および復号化された場合に、復号化部13で生成された復号ベクトルD3を特徴量ベクトルD1と乖離させる機能を有する。
学習用データベースDB2に格納された学習済みデータとしてのパラメタD5EおよびパラメタD5Dは、対象装置3の異音の検査時(検査音の収音時)に、各々、符号化部12および学習用データベースDB2によって読み出され、符号化および復号化の処理のパラメタとして利用される。
図2は、異音強調システム1の全体構成および処理の流れを概略して示すブロック図である。異音強調システム1は、学習サブシステムLSSと異音強調サブシステムDSSとに大別することができる。このうち、学習サブシステムLSSは専ら対象装置3の正常音の学習時に使用され、異音強調サブシステムDSSは、主として対象装置3の検査音の検査時に使用されるものである。
概して、学習サブシステムLSSは、符号化部12のニューラルネットワークのパラメタD5Eと復号化部13のニューラルネットワークのパラメタD5Dと、を機械学習により学習し(S1)、学習したパラメタD5E、パラメタD5Dを学習用データベースDB2へ記憶させる。一方、異音強調サブシステムDSSは、学習用データベースDB2から学習済みのパラメタD5E、パラメタD5Dを読み出し、読み出されたパラメタD5E、パラメタD5Dを用いて、対象装置3の検査音の異常度(言い換えると異音の有無)を推定し、推定された異音を当該検査音から抽出および強調し、異音強調信号D7として出力する(S2)。
図3は、特徴量ベクトルD1、符号ベクトルD2、復号ベクトルD3等の関係を説明するための図である。図3では、対象装置3の入力音の1フレーム分の特徴量ベクトルD1、符号ベクトルD2、復号ベクトルD3、および装置型式ベクトルD4およびこれらのデータの流れや符号化(圧縮)、復号化(復元)の処理を模式的に示している。
図3に示すように、特徴量ベクトル抽出部11から出力された特徴量ベクトルD1と、装置型式ベクトル生成部14から出力された装置型式ベクトルD4とは、連結されて一つのベクトル(一まとまりのデータ)となり、符号化部12へ入力される(図7も参照)。
続いて、図1および図3に示すように、符号化部12により符号化(データ圧縮)の処理を経て生成された符号ベクトルD2は、復号化部13へ入力される。このとき、復号化部13には、符号化部12と同様に、装置型式ベクトル生成部14から装置型式ベクトルD4が入力される。復号化部13は、符号ベクトルD2を復号化したデータと装置型式ベクトルD4とを連結させて復号ベクトルD3を生成し、生成した復号ベクトルD3を出力する。
図4は、主として異音強調システム1のハードウェア構成を説明するためのブロック図である。なお、図4では、図1に示す構成からセンサ端末2を本体(図4中の異音強調装置100)とは別個の装置とした構成を例示する。図4中、異音強調装置100は、本発明の「異常信号抽出装置」に対応する。
図4に示す異音強調装置100は、図1等で上述した特徴量ベクトル抽出部11、符号化部12、復号化部13、装置型式ベクトル生成部14、学習部15、異常度算出部16、および異音強調部17として機能する演算部1001と、主記憶装置1002と、補助記憶装置1003と、入力部1004と、出力部1005と、通信部1006と、を備える計算機である。
このうち、演算部1001は、一つまたは複数のマイクロプロセッサ(MPU:micro processing unit)あるいはCPU(central processing unitやMPUなど)を備える。主記憶装置1002は、例えばRAM(Random Access Memory)である。補助記憶装置1003は、例えばHDD(Hard Disk Drive)である。
入力部1004は、例えば、キーボード、タッチパネル、ポインティングデバイスなどを含むことができ、異音強調装置100を使用するユーザからの入力を受け付ける。
出力部1005は、例えばLCD(Liquid Crystal Display)などの画像表示デバイス、スピーカなどの音声出力デバイス、プリンタなどの印刷デバイスである。このうち、画像表示デバイスは、図示しないユーザ設定画面を表示して、入力部1004の操作により各種の情報の入力をユーザに促すことができる。
ユーザが入力可能な情報として、例えば、対象装置3を構成する装置の個数および各装置の型式、学習時におけるフレーム時間の設定値、検査時における検査時間の設定値、異常度の閾値、異常度がその閾値を何回超過したときに検査を終了するか、異常度がその閾値を連続で何回超過したときに終了するか、などが挙げられる。
また、ユーザが入力可能な情報として、学習処理時間(パラメタD5EやパラメタD5Dの最適化の計算に使う時間)を入力してもよい。あるいは、学習処理時間の代わりに学習処理の最大反復回数を入力してもよい。さらには、学習処理の1回の反復に用いるサンプルの個数を表す正の整数値(バッチサイズ)を入力してもよい。
また、反復にともなう損失関数の減少幅の閾値をユーザが入力、設定した場合、いわゆる自動終了設定が可能になる。すなわち、損失関数の減少幅が閾値を超えなければ、収束したと判断して学習処理を終了することができる。
また、画像表示デバイスは、異常度算出部16や異音強調部17から出力されたデータ(異常度D6、異音強調信号D7)を画面上に表示する役割を担う。
なお、出力部1005が例えばタッチパネル付きディスプレイを備える場合、かかる画像表示デバイスは、入力部1004と出力部1005との機能を兼ね備えることができる。
通信部1006は、例えばモデムや各種(有線または無線)の通信インタフェースを備える。通信部1006は、通信ネットワークCNを介して、センサ端末2と通信する。なお、通信部1006は、図示せぬ他のコンピュータと通信することもできる。
かかる構成の異音強調装置100は、PC(Personal Computer)やスマートホンなどの計算機(通信端末)に所定のコンピュータプログラムを実行させることによって実現することができる。
図4では、一つの計算機から異音強調装置100を構成する例を示すが、これに代えて、複数の計算機から一つまたは複数の異音強調装置100を構成してもよい。この「計算機」は、仮想的な計算機であってもよい。
図4に示すように、異音強調装置100は、通信ネットワークCNを介して、一つまたは複数のセンサ端末2と接続されている。このような構成とすることで、例えば異音強調装置100の設置場所から離れた場所にある対象装置3の異音の検査を行うことができる。また、異音強調装置100を移動させることなく、異なるセンサ端末2,2(図4を参照)を通じて互いに離れた場所にある対象装置3,3の異音の検査を同時並行的に行うこともできる。
センサ端末2は、例えば、可搬型の録音端末として構成される。なお、センサ端末2と異音強調装置100とを一体化してもよい。例えば、録音機能を有する異音強調装置100を可搬型の装置として構成してもよく、この場合、センサ端末2が不要となる。
異音強調装置100の演算部1001は、一つまたは複数のマイクロプロセッサ(MPUやCPUなど)備える。そして、演算部1001は、補助記憶装置1003に記憶された所定のコンピュータプログラムを主記憶装置1002に読み出して実行することにより、図1で述べたような特徴量ベクトル抽出部11、符号化部12、復号化部13、装置型式ベクトル生成部14、学習部15、異常度算出部16、異音強調部17といった諸機能を実現する。
図4に示すように、異音強調装置100は、種々の記憶媒体MMと接続され得る。ここで、記憶媒体MMは、例えば、フラッシュメモリまたはハードディスク等の外部メモリであり、異音強調装置100へコンピュータプログラムまたはデータを転送して記憶させたり、異音強調装置100からコンピュータプログラムまたはデータを読み出して記憶することができる。記憶媒体MMは、異音強調装置100に直接的に接続されてもよいし、通信ネットワークCNを介して異音強調装置100に接続されてもよい。
図4に示すように、センサ端末2は、例えば、センサ部21と、センサ端末2全体の制御を司るCPU等の制御部22と、HDD等の記憶部23と、通信ネットワークCNを介した通信を行う通信部24と、を備える。この例では、センサ部21は、対象装置3の音を検出(収音)する収音部としてのマイクロホンである。したがって、以下はセンサ部21をマイクロホン21と呼ぶ場合がある。
センサ部21により検出された音の情報(信号波形)は、例えば制御部22によりA/D変換されて、デジタルの音データとして記憶部23に記憶される。センサ端末2の制御部22は、記憶部23に記憶された音データを異音強調装置100へ向けて送信する。
なお、他の例では、センサ部21をマイクロホンから加速度センサなどに変更することにより、センサ端末2で対象装置3の振動を検出することができる。この場合、異音強調装置100は、対象装置3が発する振動の波形から異常振動を抽出および強調することができる。
図5は、図2で概説した学習サブシステムLSSのブロック構成図である。図6は、学習サブシステムLSSの処理フローである。以下、図5および図6を参照して、学習サブシステムLSSのより具体的な構成について説明する。なお、変分オートエンコーダ(Variational auto-encoder:VAE)型の構成については、後述する。
図5に示すように、学習サブシステムLSSでは、図1で説明した各部のうち、センサ端末2、特徴量ベクトル抽出部11、訓練用データベースDB1、装置型式ベクトル生成部14、符号化部12、復号化部13、学習部15が使用される。すなわち、学習サブシステムLSSは、正常音の学習のために稼働することから、異常度算出部16および異音強調部17は使用されない。
まず、特徴量ベクトル抽出部11の詳細な構成を説明する。図5を参照すると、特徴量ベクトル抽出部11は、入力音取得部101、フレーム分割部102、窓関数乗算部103、周波数領域信号計算部104、パワースペクトログラム計算部105、瞬時特徴量計算部107、および特徴量時系列算出部108の7つの機能ブロックに大別される。
このうち、入力音取得部101は、センサ端末2(マイクロホン21)から入力(取得)された対象装置3の音信号(アナログ入力信号)を、所定(例えば可聴周波数帯域の2倍)のサンプリング周波数でのサンプリング化の処理、A/D(アナログ/デジタル)変換等の処理を行って、デジタル入力信号に変換する(図6のS101)。なお、音信号のデジタル化の処理は公知であるため、さらなる詳述は割愛する。
かくして、入力音取得部101は、変換後の音データ(以下、「デジタル入力信号」と称する)を、訓練用のデータとして、訓練用デジタル入力信号データベースDB1へ格納する(S102)。このとき、入力音取得部101は、例えば予めユーザにより設定されメモリ(例えば補助記憶装置1003)に記憶された対象装置3の装置数(現場に同時に存在する対象装置3の個数)および各装置の型式の情報から、各装置の型式(以下、単に「装置型式」という)を取得し、取得した装置型式も訓練用デジタル入力信号データベースDB1へ格納(保存)する(S102)。
続いて、フレーム分割部102は、訓練用デジタル入力信号データベースDB1に保存されたデータを取り出す、すなわち、デジタル入力信号データおよび装置型式の組を読み込む(S103)。さらに、フレーム分割部102は、訓練用デジタル入力信号データベースDB1から取り出したデジタル入力信号に対して、規定した時間ポイント数(以下、「フレームサイズ」という)毎にデジタル入力信号を分割し、各フレーム毎のフレーム信号を生成する(S104)。なお、各フレーム間で音(波形)がオーバーラップしてもよい。フレーム分割部102は、生成されたフレーム信号を窓関数乗算部103に順次出力する。
窓関数乗算部103は、入力されたフレーム信号に窓関数を乗算することにより、窓関数乗算信号を生成し、生成された窓関数乗算信号を周波数領域信号計算部104に出力する(S105)。ここで、窓関数には、例えばハニング窓を用いる。
周波数領域信号計算部104は、入力された窓関数乗算信号に短時間フーリエ変換を施することにより、周波数領域信号を生成し、生成された周波数領域信号をパワースペクトログラム計算部105に出力する(S106)。ここで、周波数領域信号は、フレームサイズがNとすると、(N/2+1)=M個の周波数ビン(FFTビンともいう)それぞれに1個の複素数が対応する、M個の複素数の組である。この場合、特徴量ベクトルD1は、時間フレーム数×周波数ビン数の次元数を持つデータである。
なお、他の例として、周波数領域信号計算部104は、短時間フーリエ変換の代わりに、constant Q変換(CQT)などの周波数変換手法を用いて周波数領域信号を生成および出力してもよい。
簡明のため、以下は特記しない限り、特徴量ベクトルD1は、時間フレーム数×周波数ビン数の次元数を持つデータであることを前提とし、復号ベクトルD3についても同様である。
パワースペクトログラム計算部105は、入力された周波数領域信号に基づいて、そのパワースペクトログラム(1フレーム分の周波数成分を表すグラフ)を生成し、生成されたパワースペクトログラムを瞬時特徴量計算部107に出力する(S107)。
瞬時特徴量計算部107は、入力されたパワースペクトログラムに対数を施すことにより、瞬時の特徴量(1フレーム分の周波数成分のうちの音量が大きい周波数帯域)が抽出ないし強調された対数パワースペクトログラムを生成し、生成された対数パワースペクトログラムを特徴量時系列算出部108に出力する(S109)。
特徴量時系列算出部108は、入力された1フレーム分の対数パワースペクトログラムに対して、隣接するLフレーム分の対数パワースペクトログラムを連結させることにより、特徴量ベクトルD1を生成する(S110)。特徴量時系列算出部108は、生成された特徴量ベクトルD1を、符号化部12と学習部15とに各々出力する(図5を参照)。
このように、本実施例においては、フレーム毎に切り出された短時間パワースペクトログラムの複数フレーム分を特徴量ベクトルD1とすることで、対象装置3から発せられる稼働音(正常音または検査音)が定常の場合だけでなく非定常である場合であっても、後に詳述する異音強調サブシステムの処理(S2)において、高精度に異音を抽出ないし強調することができる。
なお、他の例として、特徴量時系列算出部108は、対数パワースペクトログラムの代わりに、それらの時間差分あるいは時間微分の時系列(デルタ)を入力し、隣接するLフレーム分のデルタを連結させて特徴量ベクトルD1を生成し出力してもよい。さらに、これらのいずれかの組み合わせを選んで特徴量の軸方向に連結したものに対して、隣接するLフレーム分のデータを連結させて特徴量ベクトルD1を生成し出力してもよい。
続いて、学習サブシステムLSSでは、装置型式ベクトル生成部14により、装置型式ベクトルD4が生成され、生成された装置型式ベクトルD4が、符号化部12および復号化部13へ入力される(S111)。
符号化部12は、特徴量ベクトル抽出部11(特徴量時系列算出部108)からの特徴量ベクトルD1と、装置型式ベクトル生成部14からの装置型式ベクトルD4と、符号化のパラメタD5Eに基づいて、特徴量ベクトルD1を符号化(データ圧縮)して符号ベクトルD2を生成する。そして、符号化部12は、生成された符号ベクトルD2を復号化部13および学習部15に出力する。
復号化部13は、符号化部12からの符号ベクトルD2と、装置型式ベクトル生成部14からの装置型式ベクトルD4と、復号化のパラメタD5Dに基づいて、復号ベクトルD3を生成し、生成された復号ベクトルD3を学習部15に出力する。
学習部15は、特徴量ベクトルD1と符号ベクトルD2と復号ベクトルD3との関数として定義される所定の損失関数の値が最小となるように、符号化部12のニューラルネットワーク(NN)のパラメタD5Eと、復号化部13のニューラルネットワーク(NN)のパラメタD5Dを繰り返し学習(演算)する(S112~S115)。学習部15は、学習(演算)により最終的に決定されたパラメタD5E,D5D(以下、パラメタD5と総称する場合がある)を、学習用データベースDB2に格納して保存する(S116)。
上記のうち、S112は、復号ベクトルD3を特徴量ベクトルD1と完全同一の値に復元することが困難ないし不可能なことを考慮したものである。
具体的には、S112において、学習部15は、現在のパラメタD5(D5DおよびD5E)が、収束条件を満たすか否か、または本処理の反復回数C1が上限値ThCを超えたか否かを判定する。概して、特徴量ベクトルD1と復号ベクトルD3との誤差(差分)の絶対値gについて、一つ前の反復でのgと現在の反復でのgの間の差分の絶対値が許容値以内である場合に、収束条件を満たすものと判定される。
ここで、学習部15は、収束条件を満たさない、または反復回数C1が上限値ThC以下であると判定した場合(S112、NO)、各々のニューラルネットワーク(NN)のパラメタD5E,D5Dを更新し(S113)、収束条件を計算し(S114)、反復回数C1を1つインクリメントさせてステップS112へ戻る。
そして、学習部15は、現在のパラメタD5(D5DおよびD5E)が収束条件を満たす、または本処理の反復回数C1が上限値ThCを超えた(S112、YES)と判定されるまで、上述したかS112~S115の処理を繰り返し、S112でYESと判定された場合、S116に処理を移す。
S116において、学習部15は、ニューラルネットワーク(NN)のパラメタD5E,D5Dを学習用データベースDB2に保存する(S116)。S116では、ユーザによって予め入力(設定)された任意のファイル名のファイルとして保存されることができる。かくして、学習サブシステム(機械学習)の一連の処理を終了する。
一具体例では、任意の時期(例えばS116)において、演算部1001は、LCD等の表示画面に、任意の反復回数C1に対する損失関数のグラフを表示する処理を行う。かかる処理により、機械学習時における収束の状況が視覚的に分かり、ユーザの便宜が図られる。
(異音強調サブシステムDSS)
図8は、異音強調サブシステムDSSのブロック構成図である。図9は、異音強調サブシステムDSSの処理フローである。以下、図8および図9を参照して異音強調サブシステムDSSの構成を詳細に説明する。なお、簡明化のため、上述した学習サブシステムLSSと同一の構成については適宜説明を省略する。
図2で上述したように、異音強調サブシステムDSSは、主として対象装置3の検査音の検査時に使用されるものである。通常、対象装置3の検査音の検査は、対象装置3の耐久がある程度進んだ段階で行われることが想定されるが、例えば、学習サブシステムLSSによる学習の完了後に正常に動作するかを確認するための試験的な検査を行ってもよい。また、異音の有無の検査時には、上述した学習時と出来るだけ同じ条件(対象装置3の数/種類、マイクの位置等)とし、他の条件もできるだけ合致させた上で、保存されている上記ファイル名を指定してデータを読み出す。
ここで、図5と図8とを比較して分かるように、異音強調サブシステムDSSは、訓練用データベースDB1を使用しない。また、異音強調サブシステムDSSは、学習部15を使用せず、学習部15の代わりに異常度算出部16および異音強調部17を使用する。具体的には、学習サブシステムLSSでは正常音の特徴量ベクトルD1が符号化部12と学習部15とに入力されたが(図5参照)、異音強調サブシステムDSSでは、特徴量ベクトル抽出部11により生成された検査音の特徴量ベクトルD1が、符号化部12と異常度算出部16とに入力される(図8を参照)。
異音強調サブシステムDSSは、対象装置3の検査音の入力信号から抽出された特徴量ベクトルD1の異常度を算出するために、以下の処理を行う。
まず、対応するニューラルネットワーク(NN)が、上述した学習サブシステムLSSで学習され保存されたパラメタを読み出してロード(RAM等に展開)する。
具体的には、符号化部12(NN)が学習用データベースDB2からパラメタD5Eを読み込み、復号化部13(NN)は、同じく学習用データベースDB2からパラメタD5Dを読み込む(図8および図9のS201)。
続くステップS101~S111の内容は既に述べたので、重複した説明は割愛する。なお、異音強調サブシステムDSSでは、訓練用デジタル入力信号データベースDB1を使用しないことから、データの保存(例えばS102での保存)は、任意に、図4で説明した主記憶装置1002または補助記憶装置1003に行えばよい。
かくして、ステップS101~S111において、異音強調サブシステムDSSは、対象装置3から検出された検査音の音信号D0についての特徴量ベクトルD1を生成し、対象装置3の装置型式ベクトルD4と共に符号化部12のニューラルネットワーク(NN)へ入力される。なお、以下の記載においても、既に上述した処理についての重複説明は割愛する。
異音強調サブシステムDSSにおいて、符号化部12は、特徴量ベクトルD1と装置型式ベクトルD4とから検査音の符号ベクトルD2を生成し(適宜、図3、図7を参照)、生成された符号ベクトルD2を復号化部13へ入力する(S202)。復号化部13は、装置型式ベクトルD4と符号ベクトルD2とから復号ベクトルD3を生成し、生成された復号ベクトルD3を異常度算出部16へ出力する(S203)。
続いて、異常度算出部16は、入力された特徴量ベクトルD1と復号ベクトルD3とを比較して、その乖離の程度により、対象装置3の検査音の入力音信号D0の各時間周波数(各フレームおよび各周波数)の異常度を算出し、その計算結果を異常度D6として出力する(S204)。
特徴量ベクトルD1と復号ベクトルD3の各次元は、各時間周波数τ、fに対応するので、各時間周波数の異常度D6として、例えば、各時間周波数に対応する次元における、特徴量ベクトルD1の値と復号ベクトルD3の値との差の絶対値を、特徴量ベクトルD1の値の絶対値で割った値で定義される次式のa(τ,f)などを用いることができる。
上記式において、a(τ,f)は、異常度D6を表す値であり、特徴量ベクトルD1と復号ベクトルD3との差分(誤差)が大きいほど大きく1に近づき、これらの差分(誤差)が小さいほど小さく0に近づく。
(変分オートエンコーダ型の構成の場合)
ここで、異音強調サブシステムDSSにおける変分オートエンコーダ(Variational auto-encoder:VAE)型の構成を開示する。
符号化部12は、多層ニューラルネットワーク(NN)を備える。符号化部12におけるNNの入力層は、特徴量ベクトルの次元数と装置型式ベクトルの次元数を足した個数の素子からなり、それらの素子が、特徴量ベクトルと装置型式ベクトルを連結したベクトルの各要素を受け付ける。
符号化部12におけるNNの入力層は、非線形の活性化関数(例えばランプ関数)を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第2層に連結されている。
そして、かかるNNの第2層も、非線形の活性化関数を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第3層に連結されている。このように多層的に連結される第2層以降のことを中間層と呼ぶ。
符号化部12におけるNNの中間層の最後は、符号ベクトルD2の次元数Qの2倍の2Q個の素子からなる。それらの素子をQ個ずつ半分に分け、素子の出力値を、μ_1,μ_2,…,μ_Q,σ_1,σ_2,…,σ_Qと定義する。ここで、μ_1,μ_2,…,μ_Qを各要素に持つ列ベクトルをμと定義し、σ_1,σ_2,…,σ_Qを対角成分の各要素に持つ対角行列をΣと定義する。
そして、符号化部12におけるNNの最終層(出力層)は、μを平均、Σを共分散行列とする多次元正規分布N(z;μ,Σ)に従って、次元数Qの符号ベクトルzを確率的に生成する。
復号化部13は、多層のニューラルネットワーク(NN)を備える。復号化部13におけるNNの入力層は、符号ベクトルD2の次元数Qと装置型式ベクトルD4の次元数を足した個数の素子からなり、それらの素子が、符号ベクトルD2と装置型式ベクトルD4を連結したベクトルの各要素を受け付ける。
また、復号化部13におけるNNの入力層は、非線形の活性化関数(例えばランプ関数)を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第2層に連結されている。
そして、かかるNNの第2層も、非線形の活性化関数を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第3層に連結されている。このように、復号化部13は、符号化部12と同様に、多層的に連結される中間層を有する。
復号化部13におけるNNの最終層(出力層)は、特徴量ベクトルD1の次元数と同じ個数の素子からなる。かかる最終層(出力層)の素子の出力値を復号ベクトルD3と呼ぶ。
学習部15は、対象装置3の正常音についての特徴量ベクトルD1と符号ベクトルD2および復号ベクトルD3の関数で定義される損失関数を最小化するように、符号化部12と復号化部13のニューラルネットワーク(NN)のパラメタ(D5E、D5D)を更新する。学習部15は、損失関数(評価関数)として、特徴量ベクトルD1と復号ベクトルD3との間の誤差の大きさ、および、符号ベクトルD2の分布と或る定めた分布との非類似度に或る正の定数βを乗算した値、の和を用いる。
特徴量ベクトルD1と復号ベクトルD3との間の誤差として、例えば、二乗誤差、L1ノルム、Lpノルムなどを用いることができる。符号ベクトルD2の分布との非類似度を測定する分布として、例えばベクトル0を平均とする標準偏差1の等方正規分布や、ベクトル0を平均とする標準偏差1のラプラス分布、を用いることができる。分布の非類似度を測定する値として、カルバック・ライブラー(KL)ダイバージェンスに-1を乗算した値を用いてもよい。
損失関数の最小化は、例えばSGD、Momentum SGD、AdaGrad、RMSprop、AdaDelta、Adamなどの公知の最適化アルゴリズムによって行うことができる。
異音強調部17は、センサ端末2から供給される対象装置3の入力信号D0(検査音)に対して、上述した特徴量ベクトル抽出部11の周波数領域信号計算部104と同様の処理(短時間フーリエ変換)により、周波数領域信号X(τ,f)を計算し生成する。
そして、異音強調部17は、生成された周波数領域信号X(τ,f)に対して、パワースペクトログラム計算部105と同様の処理により、その1フレーム分の周波数成分を表すグラフであるパワースペクトログラムP(τ,f)を計算し生成する。さらに、異音強調部17は、生成されたパワースペクトログラムP(τ,f)に、異音度a(τ,f)を乗算する時間周波数マスク処理により、異音のパワースペクトログラムA(τ,f)を推定する。そして、異音強調部17は、推定された異音のパワースペクトログラムA(τ,f)に、周波数領域信号X(τ,f)の位相成分Φ(τ,f)=X(τ,f)/|X(τ,f)|を乗算し、異音の周波数領域信号を計算する。さらに、異音強調部17は、異音の周波数領域信号に対して逆フーリエ変換と重畳加算を施すことにより、異音強調信号D7を生成し、生成した異音強調信号D7を出力する(S205)。なお、異音のパワースペクトログラムA(τ,f)から異音強調信号D7を計算し生成する他の例として、公知のGriffin-Limアルゴリズムなどを使用してもよい。
S205における異音強調信号D7の出力の態様としては、例えばLCDなどの表示部の表示画面に、パワースペクトログラムあるいは振幅スペクトログラムを表示する。このとき、異常度算出部16で算出された異常度(D6)を、時間×周波数の2次元画像として表示することができる。さらには、或る時刻tから過去の時間長T(たとえば10秒間)の収録音(検査音)のすべての時間周波数にわたっての異常度D6の総和B(t)を算出し、横軸を経過時間、縦軸を異常度として、B(t)、B(t+1)、B(t+2)、...の時間推移をプロットした画面を表示してもよい。
このように、本実施例によれば、異常度算出部16が入力音D0に基づく特徴量ベクトルD1の各時間周波数の異常度D6を算出し、各時間周波数の異常度D6に基づいて異音強調部17が異音強調信号D7を生成、出力するので、正常音が時間変化する非定常音であっても異音を強調することができる。さらに、異音強調システム1は、正常音のみを含む学習データを用いて異音を強調するように訓練できるので、異音が未知であっても学習が可能である。
また、異音強調システム1では、装置型式ベクトルD4が符号化部12と復号化部13の両方に入力されるので、装置型式ベクトルD4の情報が符号ベクトルD2に残っていない場合でも、復号ベクトルD3を精度よく予測できる(図3等を参照)。したがって、異音強調システム1では、学習部15が学習処理を反復するに従って(図5を参照)、符号ベクトルD2の圧縮効率が次第に向上し、ついには符号ベクトルD2から装置型式ベクトルD4の情報が消滅し、符号ベクトルD2が装置3の型式に依らない共通の分布となるように、符号化部12のパラメタD5Eと復号化部13のパラメタD5Dが学習される。本実施例では、符号ベクトルD2が装置3の型式に依らず共通の分布となり、装置型式間で共通する音の特徴を表現するためにニューラルネットワーク内の写像もできる限り共有されるため、学習処理で探索が必要なパラメタ空間のサイズを小さくすることができる。したがって、本実施例によれば、学習処理の最適化が進みやすくなる。
次に、図10~図14を参照して、本発明の第2実施例を説明する。なお、本実施例を含む以下の各実施例では、第1実施例との相違を中心に述べる。
図10は、第2実施例の異音強調システム1A(特徴量ベクトル抽出部11A)における特徴量ベクトルの生成方法を示す説明図である。図11は、異音強調システム1Aにおける学習サブシステムLSSのブロック構成図である。図12は、学習サブシステムLSSの処理フローである。図13は、異音強調サブシステムDSSのブロック構成図である。図14は、異音強調サブシステムDSSの処理フローである。
図11および図13を参照すると、本実施例の異音強調システム1Aの特徴量ベクトル抽出部11Aは、信号の流れ方向における特徴量時系列算出部108の下流に、中間特徴量ベクトル除外部111が追加されている(適宜、第1実施例の図5および図8を参照)。
この中間特徴量ベクトル除外部111は、図10に模式的に示すように、特徴量時系列算出部108により算出され出力された特徴量ベクトルD1から、所定領域(例えば中間時刻)の複数フレームD1M(以下、中間特徴量ベクトルD1Mという)を取り除いた特徴量ベクトルD1L(以下、欠損後特徴量ベクトルD1L)を算出する。
図10では、非制限的な例として、中間特徴量ベクトル除外部111が、(特徴量時系列算出部108により生成された)特徴量ベクトルD1の7フレーム分のデータのうち、時間軸上の中央を中心とする前後3フレーム分のデータを中間特徴量ベクトルD1Mとして抽出(すなわち特徴量ベクトルD1から除外)した例を示している。図10に模式的に示す特徴量ベクトルD1において、横(矢印t)方向に直交する縦方向が周波数領域(帯域)を表し、ハッチングが濃い周波数帯域は物理的な振幅(音量)が大きいことを表している。
なお、中間特徴量ベクトルD1Mとなる「所定領域」とは、図10に示す態様すなわち、入力信号D0の特徴量ベクトルD1の時間軸上の中央を中心とする前後所定時間(フレーム)の領域に限られず、他の種々の態様とされ得る。例えば、入力信号D0の特徴量ベクトルD1の全体の時間長さのうち中央を中心とする前後所定割合の領域(フレーム)を「所定領域」として中間特徴量ベクトルD1Mを出力(抽出等)してもよい。あるいは、対象装置3の状態(例えば稼働音の音量や音波の成分など)が変化する場合において、当該状態変化直前の信号または状態変化直後の信号のいずれか一つを含む領域(フレーム)を「所定領域」として中間特徴量ベクトルD1Mを出力(抽出等)してもよい。
この第2実施例では、変分補間深層ニューラルネットワーク(VIDNN)型の構成を開示する。上記の中間特徴量ベクトル除外部111は、入力された時系列の特徴量ベクトルD1から、その中間時刻の複数フレーム(連続するK個のフレーム)である中間特徴量ベクトルD1Mを取り除くことにより特徴量ベクトルD1を欠損させる(図12のS117)。ここで、時系列の特徴量ベクトルD1から上記の中間特徴量ベクトルD1Mが取り除かれたもの(データ)を、「欠損後特徴量ベクトルD1L」と称する(図10を参照)。
そして、中間特徴量ベクトル除外部111は、欠損後特徴量ベクトルD1Lを符号化部12に出力し、除去(抽出)した中間特徴量ベクトルD1Mを学習部15に出力する(図10、図11および図13を参照)。
このときの一具体例では、中間特徴量ベクトル除外部111は、中間特徴量ベクトルD1Mとして、入力された時系列の特徴量ベクトルD1において厳密に中央のK個の隣接フレームを選択する。
あるいは、他の具体例では、中間特徴量ベクトル除外部111は、中間特徴量ベクトルD1Mとして、入力された時系列の特徴量ベクトルD1の中央から前後にずらしたK個の隣接フレームを選んでもよい。
さらに他の具体例では、中間特徴量ベクトル除外部111は、K個のフレームを一つのクラスタとした中間特徴量ベクトルD1Mとして、入力された時系列の特徴量ベクトルD1からC個(Cは2以上の整数)のクラスタを欠損させてもよい。この場合、入力されたLフレームの特徴量ベクトルD1のうち、(C×K=)CK個のフレームが欠損し、(L-CK)フレームが入力特徴量(すなわち欠損後特徴量ベクトルD1L)として残ることになる。
上記のいずれの方法を採るにせよ、中間特徴量ベクトルD1Mが分離(抽出)されることで欠損した後の前後のフレーム(図10参照)を入力特徴量D1Lとして残すことで、たとえ正常音の特徴量ベクトルD1の時間変化が突発的であったとしても、中間特徴量ベクトルD1Mの予測を行う(予測値を算出する)構成とする。かかる予測は、基本的には、学習サブシステムDSSによって学習した対象装置3の正常音の特徴量の分布を参照して行うことができる。
なお、本実施例において、中間特徴量ベクトル除外部111で欠損させる中間特徴量ベクトルD1Mを1フレーム分とする、言い換えるとK=1に設定した場合であっても、異音強調の機能は十分に確保される。ただし、K=1の場合、装置3の正常/異常にかかわらず、前後のフレームの情報だけで中間特徴量ベクトルD1Mを高精度に予測ないし補間できる可能性が高くなる。
それに対して、Kを2以上に設定する(欠損させる中間特徴量ベクトルD1Mを2フレーム以上に設定する)場合には、K=1の場合に比べて、前後のフレームだけから中間特徴量ベクトルD1Mを予測することが難しくなる。このため、中間特徴量ベクトルD1Mの予測値は、装置3の正常/異常にかかわらず、学習した正常音(すなわち正常状態の装置3の稼働音)の特徴量の分布に強く依存することになる。
したがって、検査時(異音強調サブシステムの実行時)に仮に装置3が正常である場合、中間特徴量ベクトルD1Mの予測値と真値の両方が、学習した正常音の特徴量の分布に従うので、かかる予測値と真値の間の誤差は小さくなる。
それに対して、検査時に装置3が異常である場合(すなわち異音を含む稼働音が入力された場合)には、中間特徴量ベクトルD1Mの予測値と真値との誤差が大きくなる。すなわち、中間特徴量ベクトルD1Mの「予測値」は学習した正常音の特徴量の分布に従うのに対して、中間特徴量ベクトルD1Mの「真値」は、異音が含まれている場合には正常音の特徴量の分布に従わない(乖離する)ので、予測値と真値の間の誤差が大きくなるものである。
上述の理由により、K=1の場合に比べてKが2以上の場合の方が、中間特徴量ベクトルD1Mの予測値と真値との誤差(乖離)が大きくなることから、発生した誤差(乖離)部分の周波数領域を異音として特定することで、高精度に異音を抽出ないし強調することができる。
付言すると、K=1の場合に比べてKが2以上の場合の方が、例えば装置3が非定常的(または非周期的)に異音を発している事例において、中間特徴量ベクトル除外部111が抽出した中間特徴量ベクトルD1M中に異音が含まれる可能性が高くなる。このため、中間特徴量ベクトルD1Mの予測値および真値間における誤差(乖離)が大きくなり、結果として、異音強調の精度が高くなる。
上述したような理由から、中間特徴量ベクトル除外部111で欠損させる中間特徴量ベクトルD1Mのフレーム数Kは、2以上に設定することが望ましい。
図11に示す本実施例の符号化部12Aは、多層のニューラルネットワーク(NN)を備える。符号化部12AにおけるNNの入力層は、欠損後特徴量ベクトルD1Lの次元数と装置型式ベクトルD4の次元数を足した個数の素子からなり、それらの素子が、欠損後特徴量ベクトルD1Lと装置型式ベクトルD4を連結したベクトルの各要素を受け付ける。
符号化部12AにおけるNNの入力層は、非線形の活性化関数(例えばランプ関数)を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第2層に連結されている。そして、第2層も、非線形の活性化関数を使用し適当な個数(例えば入力層の素子数と同数)の素子からなる第3層に連結されている。このように多層的に連結される第2層以降のことを中間層と呼ぶ。符号化部12AにおけるNNの中間層の最後は、符号ベクトルD2の次元数Qの2倍の2Q個の素子からなる。それらの素子をQ個ずつ半分に分け、素子の出力値を、μ_1,μ_2,…,μ_Q,σ_1,σ_2,…,σ_Qと定義する。ここで、μ_1,μ_2,…,μ_Qを各要素に持つ列ベクトルをμと定義し、σ_1,σ_2,…,σ_Qを対角成分の各要素に持つ対角行列をΣと定義する。そして、符号化部12AにおけるNNの最終層(出力層)は、μを平均、Σを共分散行列とする多次元正規分布N(z;μ,Σ)に従って、次元数Qの符号ベクトルzを確率的に生成する。
本実施例の復号化部13Aは、多層ニューラルネットワーク(NN)を備える。復号化部13AにおけるNNの入力層は、符号ベクトルD2の次元数Qと装置型式ベクトルD4の次元数を足した個数の素子からなり、それらの素子が、符号ベクトルD2と装置型式ベクトルD4を連結したベクトルの各要素を受け付ける。
また、復号化部13AにおけるNNの入力層は、非線形の活性化関数(例えばランプ関数)を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第2層に連結されている。
そして、かかるNNの第2層も、非線形の活性化関数を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第3層に連結されている。このように、復号化部13Aは、符号化部12Aと同様に、多層的に連結される中間層を有する。
復号化部13AにおけるNNの最終層(出力層)は、中間特徴量ベクトルD1Mの次元数と同じ個数の素子からなる。かかる最終層(出力層)の素子の出力値を復号ベクトルD3と呼ぶ。
本実施例の学習部15Aは、中間特徴量ベクトルD1Mと符号ベクトルD2および復号ベクトルD3の関数で定義される損失関数を最小化するように、符号化部12AのニューラルネットワークのパラメタD5Eと復号化部13AのニューラルネットワークのパラメタD5Dとを更新する。学習部15Aは、損失関数(評価関数)として、中間特徴量ベクトルD1Mと復号ベクトルD3の間の誤差の大きさ、および、符号ベクトルD2の分布と或る定めた分布との非類似度に或る正の定数βを乗算した値、の和を用いる。
中間特徴量ベクトルD1Mと復号ベクトルD3との間の誤差として、例えば、二乗誤差、L1ノルム、Lpノルムなどを用いることができる。符号ベクトルD2の分布との非類似度を測定する分布として、例えばベクトル0を平均とする標準偏差1の等方正規分布や、ベクトル0を平均とする標準偏差1のラプラス分布、を用いることができる。また、分布の非類似度として、カルバック・ライブラー(KL) ダイバージェンスに-1を乗算した値を用いることができる。
損失関数の最小化は、例えば、SGD、Momentum SGD、AdaGrad、RMSprop、AdaDelta、Adamなどの公知の最適化アルゴリズムによって行うことができる。
図12に示す本実施例における学習サブシステムLSSの処理フローでは、第1実施例の図6と比較して分かるように、特徴量ベクトル抽出部11Aが特徴量ベクトルD1を算出した処理(S110)の後にS117の処理が実行される。
かかるS117において、中間特徴量ベクトル除外部111は、特徴量ベクトルD1から中間特徴量ベクトルD1Mを除外して欠損後特徴量ベクトルD1Lを生成し、欠損後特徴量ベクトルD1Lと中間特徴量ベクトルD1Mとを出力する。ここで、欠損後特徴量ベクトルD1Lは符号化部12Aに入力され、中間特徴量ベクトルD1Mは学習部15Aに入力される(図11を参照)。
また、図13および図14に示す異音強調サブシステムDSSのブロック構成および処理フローでは、異常度算出部16Aに対し、復号化部13Aから出力される復号ベクトルD3(S203を参照)と、中間特徴量ベクトル除外部111から出力される中間特徴量ベクトルD1M(S117を参照)と、が入力される。
そして、異常度算出部16Aは、入力された中間特徴量ベクトルD1Mと、欠損後特徴量ベクトルD1Lに基づく復号ベクトルD3と、に基づいて、異常度D6を算出する。
ここで、中間特徴量ベクトルD1Mと欠損後特徴量ベクトルD1Lの復号ベクトルD3の各次元は、各時間周波数τ、fに対応する。
したがって、異常度算出部16Aは、各時間周波数の異常度D6として、例えば、各時間周波数に対応する次元における、中間特徴量ベクトルD1Mの値と復号ベクトルD3の値との差の絶対値を、中間特徴量ベクトルD1Mの値の絶対値で割った値で定義される次式のa(τ,f)などを用いることができる。
上式中の異常度a(τ,f)は、中間特徴量ベクトルD1Mと復号ベクトルD3との誤差が大きいほど大きく1に近づき、誤差が小さいほど小さく0に近づく。
このように構成される本実施例も、第1実施例と同様の作用効果を奏する。さらに、本実施例では、特徴量ベクトル(特徴量時系列)D1から中間特徴量ベクトル(中間特徴量時系列)D1Mを除外して欠損後特徴量ベクトル(欠損後特徴量時系列)D1Lを生成し、除外された中間特徴量時系列(中間特徴量ベクトル)D1Mを補間する。したがって、本実施例によれば、音の時間変化が大きい装置3に対しても、装置型式あたりの必要な学習データ数が少なくてすみ、かつ、複数の装置型式について高精度に異音を強調することができる。
次に、図15~図17を参照して、本発明の第3実施例を説明する。ここでも、第1実施例との相違を中心に述べる。
上述した実施例1および実施例2では、オートエンコーダ系のNNを使用し、概して、時間周波数(各フレームと各周波数ビンとで定義される2次元の離散座標)ごとに割り当てられた「特徴量ベクトルD1と復号ベクトルD3」との一致度に基づいて、その時間周波数に割り当てられた「異常度」を算出する構成とした。かかるオートエンコーダ型のNNでは、復号ベクトルD3として、いわば入力信号D0および特徴量ベクトルD1を「似せた信号」が出力される。
これに対し、以下に説明する実施例3のNNでは、復号ベクトルD3を生成せず、代わりに、(One-hot vectorに変換された形の)分類ラベルを生成する。言い換えると、第3実施例では、信号を入力としてラベルが出力される。
本実施例は、対象装置3と同種の多数の型式の装置の音が学習データとして得られる場合に、高精度に異音を強調することを可能とする。
図15は、学習サブシステムLSSのブロック構成図である。図16は、異音強調サブシステムDSSのブロック構成図である。図17は、異音強調サブシステムDSSの処理フローである。第1実施例との相違点を容易に理解すべく、適宜、図1~図9等を参照されたい。
図5と比較して分かるように、図15に示す実施例3の学習サブシステムLSSは、上述した符号化部12および復号化部13に代えて、型式同定部1501を備える。言い換えると、実施例3の学習サブシステムLSSでは、上述した符号ベクトルD2および複合ベクトルD3の生成を行わない。また、実施例3の学習サブシステムLSSでは、学習部1502は、符号化部12および復号化部13が使用するパラメタD5E、D5Dに代えて、型式同定部1501が使用するパラメタD5Fを学習し生成する。
型式同定部1501は、特徴量ベクトル抽出部11からの特徴量ベクトルD1と、学習部1502からのパラメタD5Fを入力として、型式同定結果D8を出力する。この例では、型式同定結果D8は、ワンホット(One-hot)ベクトルである。また、図15に示すように、本実施例の学習サブシステムLSSにおいて、装置型式ベクトル生成部14は、生成した装置型式ベクトルD4を学習部1502に供給する。
図15に示す本実施例の学習サブシステムLSSの型式同定部1501は、多層のニューラルネットワーク(NN)である。型式同定部1501におけるNNの第1層(入力層)は、特徴量ベクトルD1の次元数の素子からなり、非線形の活性化関数(例えばランプ関数)を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第2層に連結されている。かかる構成により、入力されたスカラー値(パラメタD1)を第1層の非線形関数を用いて演算し、かかる演算結果(スカラー値)が第2層に伝達(出力)する。
型式同定部1501におけるNNの第2層も、非線形の活性化関数を使用し、適当な個数(例えば入力層の素子数と同数)の素子からなる第3層に連結され、同様に、入力されたスカラー値を第2層の非線形関数を用いて演算し、かかる演算結果(スカラー値)を第3層に伝達(出力)する。このように多層的に連結される第2層以降のことを中間層と呼ぶ。なお、これら各層は、畳み込み層やプーリング層であってもよい。
型式同定部1501におけるNNの中間層の最後は、ソフトマックス関数を使用し、最終層(出力層)は、対象装置3の型式の個数と同数の素子からなる。型式同定部1501のニューラルネットワークの素子の出力値を、型式同定結果D8と定義する。
学習部1502は、入力された装置型式ベクトルD4と型式同定結果D8の関数として定義される損失関数を最小化するように、型式同定部1501のニューラルネットワークのパラメタD5Fを更新(繰り返し学習)し、更新値(学習値)としてのパラメタD5Fを型式同定部1501に出力する。
一具体例では、損失関数(評価関数)として、装置型式ベクトルD4と型式同定結果D8のバイナリークロスエントロピーないしカテゴリカルクロスエントロピーを用いる。以下、この損失関数(評価関数)の機能を概略する。
対象装置3を構成する装置のうち、学習対象となる1台の装置の型式がJ番目の型式であると仮定する。ここで、入力信号D0が正常(正常音)であれば、型式同定結果D8(One-hotベクトル)のJ番目の要素(桁)が1に近づき、それ以外の要素(桁)が0に近づくように、学習部1502によってパラメタD5Fが学習される。一方、もし入力信号D0が異常な装置から発生した音である場合(すなわち異音が含まれている場合)、学習部1502の学習結果として、学習型式同定結果D8(One-hotベクトル)のJ番目の要素(桁)は、入力信号D0が正常の場合ほど1には近づかないという性質がある。対象装置3が或る同種の装置の中のどの型式であるかを分類するようにパラメタD5Fを最適化するので、パラメタD5Fはおのずと、環境騒音の変化を無視して、対象装置3の型式間の違いに注目するようなニューラルネットワークのパラメタに収束する。それにより、環境騒音の変化に対して頑健に、対象装置3の音だけに注目して高精度に異常度算出、異音検知、異音抽出ができるという効果がある。また、上述した損失関数(評価関数)を用いた場合のかかる性質は、対象装置3と同種の多数の型式の装置の音が学習データとして得られる場合に顕著である。
損失関数の値の最小化は、例えば、SGD、Momentum SGD、AdaGrad、RMSprop、AdaDelta、Adamなどの公知の最適化アルゴリズムを用いて行うことができる。
かくして、学習部1502は、繰り返しの学習により得られた型式同定部1501のニューラルネットワークのパラメタD5(D5F)を、学習用データベースDB2に格納(保存)する。
図16は、第3実施例における異音強調サブシステムDSSのブロック構成図であり、図17は、第3実施例の異音強調サブシステムDSSの処理フローである。
図8に示す第1実施例と比較して分かるように、図16に示す第3実施例の異音強調サブシステムDSSは、符号化部12および復号化部13の代わりに型式同定部1501を用いることから、以下の点で相違する。
すなわち、第3実施例の異音強調サブシステムDSSは、特徴量ベクトル抽出部11から出力された特徴量ベクトルD1が上述した型式同定部1501に出力され、型式同定部1501により算出された型式同定結果D8(One-hotベクトル)が異常度算出部(1601)に出力される点、および装置型式ベクトル生成部14からの装置型式ベクトルD4が異常度算出部(1601)に出力される点で、第1実施例とは異なる。
そして、図17に示すように(適宜、図9を参照)、第3実施例の異音強調サブシステムDSSでは、第1実施例のS201に代わる処理として、型式同定部1501のNNが、学習用データベースDB2からパラメタD5Fを読み込む(S1703)。続くS101からS110までの処理は図9で上述した第1実施例と同様であり、説明を省略する。
続いて、第3実施例の学習サブシステムLSSでは、装置型式ベクトル生成部14により、装置型式ベクトルD4が生成され、生成された装置型式ベクトルD4(One-hotベクトル)が、異常度算出部1601へ入力される(S111)。また、S1701において、異常度算出部1601は、型式同定部1501から出力される型式同定結果D8(One-hotベクトル)を受け取る。
そして、異常度算出部1601は、入力した装置型式ベクトルD4および型式同定結果D8(すなわち、2つのOne-hotベクトル)に基づいて、異常度D6を算出および出力する(S1702)。
ここで、One-hotベクトルである装置型式ベクトルD4の要素(桁)の中で唯一の「1」であるインデックスをJとし、型式同定結果D8のJ番目の要素の値をzとする。このとき、時間周波数τ,fの異常度a(τ,f)は、次式で表すことができる。
続くS205において、異音強調部17は、実施例1や実施例2と同様に、異常度D6(上式におけるa(τ,f))を乗算する時間周波数マスク処理により、異音強調信号D7を生成、出力する。
このように構成される第3実施例も、第1実施例と同様の作用効果を奏する。さらに、第3実施例では、対象装置3と同種の多数の型式の装置の音が学習データとして得られる場合、高精度に異音を抽出ないし強調することができる。
次に、本発明の第4実施例を、第1実施例との相違を中心に説明する。本実施例は、センサ端末2が複数のマイクロホンからなるマイクロホンアレーである場合に、歪みを小さく抑えて高精度に異音を強調することを可能とする。
本実施例においては、まず、センサ端末2のマイクロホンアレーを構成する各マイクロホンのチャンネルの入力信号に対して独立に、第1実施例、第2実施例、あるいは、第3実施例で上述したように、異常度算出部(16、16A、1601)によって異常度(D6)の算出を行う。この算出処理により、各チャンネルおよび各時間周波数τ、fに対する異常度(D6)が算出される。次に、異常度算出部(16等)は、この異常度(D6)を全チャンネルにわたって平均することで、各時間周波数τ、fに対する異常度(D6)を計算する。ここで、全チャンネルの情報を統合する方法は、必ずしも算術平均である必要はなく、中央値、最大値、最小値などを用いてもよい。
このように、異常度算出部が、全チャンネルの異常度(すなわち複数の収音部により収音された対象装置3の検査音に対する各々の異常度)を統合して異常度(D6)を算出することで、チャンネルごとのぶれに対して頑健に異常度を算出でき、さらに、チャンネルごとのぶれに対して頑健に異音を抽出ないし強調できる効果が得られる。
また、それぞれのマイクロホンのチャンネルの入力信号に対する異常度算出で用いられるモデルのモデルパラメタとして、チャンネル間で共通に学習し、学習用データベースDB2に保存したパラメタ(上述したパラメタD5E、D5D、D5F)を用いてもよい。この場合、学習サブシステムLSSの実行時にチャンネル数の分だけ訓練用のデータを増やすことができるので、異常度(D6)算出の精度が高いネットワークパラメタの学習が実現できる。また、この場合、異音強調サブシステムDSSの実行時においても、チャンネルごとのぶれに対して頑健に異常度(D6)を算出でき、さらに、チャンネルごとのぶれに対して頑健に異音を強調できる効果が得られる。
本実施例では、異音強調部17として、ビームフォーマを使用するとよい。このビームフォーマは、複数チャンネルの入力信号に対して、異音を強調し、異音以外を抑圧するような空間的フィルタを乗算することによって実行される。異音強調部17のかかるビームフォーマのより具体的な例として、Minimum Variance Distortion-less Response(MVDR)ビームフォーマやGeneralized Eigen Vector(GEV)ビームフォーマなどの公知のビームフォーマを用いることができる。
上記のうち、MVDRを使用する場合、異音強調部17は、まず、以下のように、異音ステアリングベクトルv(f)、および、異音以外の空間相関行列R(f)を計算する。
異音強調部17は、複数チャンネルの入力信号の各チャンネルmに対し、パワースペクトログラムP_m(τ,f)に異常度a(τ,f)を乗算して、異音のパワースペクトログラムA_m(τ,f)を算出する。そして、異音強調部17は、かかる異音のパワースペクトログラムA_m(τ,f)に、さらに位相成分Φ_m(τ,f)を乗算して、異音の周波数領域信号B_m(τ,f)を算出する。
また同様に、異音強調部17は、パワースペクトログラムP_m(τ,f)に1-a(τ,f)を乗算して、異音以外のパワースペクトログラムC_m(τ,f)を算出する。そして、異音強調部17は、かかる異音以外のパワースペクトログラムC_m(τ,f)に、さらに位相成分Φ_m(τ,f)を乗算して、異音以外の周波数領域信号D_m(τ,f)を算出する。
上記のうち、異音ステアリングベクトルv(f)は、次式のように計算される。ただし、Tはフレーム数である。
また、異音ステアリングベクトルv(f)として、次式の異音空間相関行列Q(f)の第一固有ベクトルを用いてもよい。この場合、背景雑音への耐性が高いという利点がある。
異音以外の空間相関行列R(f)は、次式のように計算される。
MVDRビームフォーマの空間的フィルタw(f)は、次式に従って計算される。
GEVビームフォーマの空間的フィルタw(f)は、次式に従って計算される。
複数チャンネル入力信号の時間周波数領域信号をx(τ,f)=(x_1(τ,f),...,x_M(τ,f))^Tとすると、異音強調信号の時間周波数領域信号y(τ,f)は、次式に従って計算される。
さらに、異音強調部17は、異音強調信号の周波数領域信号y(τ,f)に対して逆フーリエ変換と重畳加算を施すことにより、異音強調信号D7を生成し、生成した異音強調信号D7を出力する(S205)。なお、異音強調信号の周波数領域信号y(τ,f)から異音強調信号D7を計算し生成する他の例として、公知のGriffin-Limアルゴリズムなどを使用してもよい。
総じて、異音強調部17のビームフォーマは、時間周波数ごとの異常度に基づいて定められる時間周波数マスクに基づくフィルタ係数を用いてマイクロホンアレーの収音方向(指向性)を制御することにより、対象装置3の検査音から、実際に装置3から発生した音の成分の信号を抽出ないし強調する。
このように構成される第4実施例も、第1実施例と同様の作用効果を奏する。さらに、本実施例では、歪みの原因となる非線形フィルタではなく、線形フィルタであるビームフォーミングによって異音を抽出ないし強調するので、歪みを小さく抑えて高精度に異音を抽出ないし強調することを可能とする。
次に、本発明の第5実施例を、第1実施例との相違を中心に述べる。本実施例は、実施例4と同様にセンサ端末2が複数のマイクロホンからなるマイクロホンアレーである場合に、異音の方向を推定することを可能とする。概して、第5実施例では、時間周波数ごとの異常度に基づいて計算される(定められる)時間周波数マスクに基づいて、対象装置3から発せられる異音の方向を推定する方向推定部を備える構成とする。
具体的には、第5実施例では、異音強調サブシステムDSSにおいて、あらかじめ各方向θに対するステアリングベクトルk(θ,φ,f)を計算しておく。ステアリングベクトルkのマイクロホンmに対応する要素k_m(θ,φ,f)は、次式に従って計算される。
ただし、cは音速であり、uは音源方向を表す次式の単位ベクトルである。
また、p_mは、マイクロホンの3次元位置を表す3次元ベクトルである。
ステアリングベクトルk(θ,φ,f)と、複数チャンネル入力信号の時間周波数領域信号をx(τ,f)=(x_1(f),...,x_M(f))^Tとの内積の絶対値は、方向θ,φから到来する周波数fの成分のパワーの近似とみなせる。この値の周波数fにわたる総和を計算すると、入力信号に対する方向ヒストグラムが得られる。
また、ステアリングベクトルk(θ,φ,f)と、実施例4の異音の周波数領域信号B_m(τ,f)をチャンネル方向に並べた複数チャンネル異音信号B(τ,f)=(B_1(τ,f),...,B_M(τ,f))^Tとの内積の絶対値は、方向θ,φから到来する周波数fの異音成分のパワーの近似とみなせる。この値の周波数fにわたる総和を計算すると、異音強調信号に対する方向ヒストグラムが得られる。
図18は、入力信号D0および異音強調部17の出力した異音強調信号D7に基づく波形をグラフ化して、LCDなどの出力部1005の表示画面中に対比して表示した状態を示す図である。
図18に示すグラフは、縦軸が音量(Power[db])、横軸が基準位置ないし方向(設置されたマイクロホンの収音方向)に対する角度(deg)を示す。また、異音強調信号D7に基づくグラフの一具体例として、水平方向の方向ヒストグラムにより、異音の到来方向(Direction of arrival)を表示した例を示す。
図18中、点線H1は、収音された入力信号D0の波形全体(全ての周波数領域)の方向ヒストグラムであり、異音かどうかと無関係に、単純に音が大きく聞こえる方向を示している。この例では、基準位置から約20度の方向から到来する音が最大音量であり、約150度の方向から到来する音が最小音量であることが分かる。
一方、図18中の実線H2は、入力信号D0から抽出された異音(一部の周波数帯)の方向ヒストグラムである。図18に示す例では、異音として抽出(強調)された一部の周波数帯の方向ヒストグラムH2は、入力信号D0の方向ヒストグラムH1とは異なり、基準位置から約90度の方向から到来する音が最大音量であることが分かる。したがって、対象装置3のうち、基準位置から約90度の方向に配置された装置または装置内部品が異音を発していること、当該装置または装置内部品が検査ないし故障予測の対象として特定することができる。
このように、収音された入力信号D0の音量の方向ヒストグラムH1と、入力信号D0から抽出された異音の音量の方向ヒストグラムH2の両方を表示することにより、どの音が異音なのかをユーザが判断しやすいとの効果が得られる。
なお、簡明のため、図18では、対象装置3のうちの一つの装置が異音を発していることを前提として説明したが、対象装置3のうちの二つ以上の装置(または2か所以上の部品)が異音を発することもあり得る。そのような場合、同一の画面中に、他の周波数帯の異音の方向ヒストグラムH3、H4・・・として、同時に表示することができる。
また、図18に示すグラフはあくまで一例であり、他にも様々な形態で表示され得ることは勿論である。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
例えば、上述した種々の異音強調システムおよび異音強調装置(本発明の異常信号抽出装置)は、ネットワーク上のクラウド(分散処理システム)として構成されることができる。この場合、複数のコンピュータが協働的に動作(連携)して、図1等に示す各ブロックの機能を遂行し、あるいは上述したフローチャート(図6、図9など)の処理を行う。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。