IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-異常音検知システムおよび方法 図1
  • 特開-異常音検知システムおよび方法 図2
  • 特開-異常音検知システムおよび方法 図3
  • 特開-異常音検知システムおよび方法 図4
  • 特開-異常音検知システムおよび方法 図5
  • 特開-異常音検知システムおよび方法 図6
  • 特開-異常音検知システムおよび方法 図7
  • 特開-異常音検知システムおよび方法 図8
  • 特開-異常音検知システムおよび方法 図9
  • 特開-異常音検知システムおよび方法 図10
  • 特開-異常音検知システムおよび方法 図11
  • 特開-異常音検知システムおよび方法 図12
  • 特開-異常音検知システムおよび方法 図13
  • 特開-異常音検知システムおよび方法 図14
  • 特開-異常音検知システムおよび方法 図15
  • 特開-異常音検知システムおよび方法 図16
  • 特開-異常音検知システムおよび方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023100055
(43)【公開日】2023-07-18
(54)【発明の名称】異常音検知システムおよび方法
(51)【国際特許分類】
   G10L 25/51 20130101AFI20230710BHJP
   G06N 20/00 20190101ALI20230710BHJP
【FI】
G10L25/51
G06N20/00 130
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022000419
(22)【出願日】2022-01-05
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】西田 智哉
(72)【発明者】
【氏名】川口 洋平
(72)【発明者】
【氏名】土肥 宏太
(57)【要約】
【課題】背景雑音が入力音に混合される場合においても、高精度に異常音検知可能である異常音検知システムを提供すること。
【解決手段】対象機械の正常音信号と当該対象機械の実際の動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて(1000)、対象機械の異常音検知対象の入力信号に対して異常判定する異常音検知システムであって、対象機械の異常音検知対象の入力信号を受けた場合、異常音検知対象の入力信号から学習結果を用いて対象機械の動作区間を推定し(21)、推定された動作区間と、動作区間情報に示される実際の動作区間との乖離度に基づいて、対象機械の異常音検知対象の入力信号の異常を判定する(2000)。
【選択図】図1
【特許請求の範囲】
【請求項1】
対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報の組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行う動作区間検出サブシステムと、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常判定部とを備える異常音検知システムであって、
前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、
前記動作区間検出サブシステムは、前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、
前記異常判定部は、前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知システム。
【請求項2】
請求項1に記載の異常音検知システムであって、
前記学習結果は、前記対象機械の正常音信号からの特徴量の生成に用いる特徴量埋め込みパラメータと、前記抽出された特徴量からの前記対象機械の動作、非動作の推定に用いる動作、非動作推定パラメータを含み、
前記動作区間検出サブシステムは、前記特徴量埋め込みパラメータと、前記動作・非動産推定パラメータを用いて、前記対象機械の正常音信号または異常音検知対象の入力信号から前記対象機械の動作、非動作の推定を行う
異常音検知システム。
【請求項3】
請求項2に記載の異常音検知システムであって、
前記学習結果に含まれる前記特徴量埋め込みパラメータを用いて生成された前記対象機械の正常音信号の中間特徴量を学習した学習結果に基づき、前記特徴量埋め込みパラメータを用いて生成された前記対象機械の異常音検知対象の入力信号の中間特徴量の前記正常音信号の中間特徴量の分布に対する異常度を算出する外れ値検知部をさらに備え、
前記異常判定部は、前記算出された異常度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知システム。
【請求項4】
請求項1に記載の異常音検知システムであって、
前記対象機械の正常音信号には、前記対象機械の正常動作音と、背景雑音が含まれ、
前記学習結果は、前記正常音信号または異常音検知対象の入力信号のうち、前記対象機械の正常動作音と対応する周波数帯から動作、非動作区間を推定するよう誘導するものである
異常音検知システム。
【請求項5】
対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報の組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行い、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常音検知システムによる異常音検知方法であって、
前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、
前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、
前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知方法。
【請求項6】
請求項5に記載の異常音検知方法であって、
前記学習結果は、前記対象機械の正常音信号からの特徴量の生成に用いる特徴量埋め込みパラメータと、前記抽出された特徴量からの前記対象機械の動作、非動作の推定に用いる動作、非動作推定パラメータを含み、
前記特徴量埋め込みパラメータと、前記動作・非動産推定パラメータを用いて、前記対象機械の正常音信号または異常音検知対象の入力信号から前記対象機械の動作、非動作の推定を行う
異常音検知方法。
【請求項7】
請求項6に記載の異常音検知方法であって、
前記学習結果に含まれる前記特徴量埋め込みパラメータを用いて生成された前記対象機械の正常音信号の中間特徴量を学習した学習結果に基づき、前記特徴量埋め込みパラメータを用いて生成された前記対象機械の異常音検知対象の入力信号の中間特徴量の前記正常音信号の中間特徴量の分布に対する異常度を算出し、
前記算出された異常度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知方法。
【請求項8】
請求項5に記載の異常音検知方法であって、
前記対象機械の正常音信号には、前記対象機械の正常動作音と、背景雑音が含まれ、
前記学習結果は、前記正常音信号または異常音検知対象の入力信号のうち、前記対象機械の正常動作音と対応する周波数帯から動作、非動作区間を推定するよう誘導するものである
異常音検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常音検知システムおよび方法に関する。
【背景技術】
【0002】
異常音検知技術とは、音が正常か異常かを判定する技術である。異常音とは、普段の音(正常音)とは異なる音のことである。異常音検知技術は、工場の機械等の故障に起因した異常音を検知可能であり、機械の保全や保守を自動化することに有用である。機械によっては、連続的に動作し続けるものと、動作と非動作とを繰り返すものとがある。
【0003】
非特許文献1では、正常音の特徴量を自己符号化器に学習させる。非特許文献1では、次に、自己符号化器の再構成誤差に基づいて異常音を検知することで、学習させた音の特徴量と異なる音を異常音として検知する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】E. Marchi, “A novel approach for automatic acoustic novelty detection using a denoising autoencoder with Bidirectional LSTM neural networks,” in Proc of ICASSP, 2015
【発明の概要】
【発明が解決しようとする課題】
【0005】
工場で多様な機械が同時に稼働するケースにおいて、異常音検知システムへの入力音には、異常音検知対象の機械(以降、対象機械という)からの音以外の音も背景雑音として含まれることがある。それにより、例えば、対象機械の動作音が背景雑音より小さい場合、対象機械の正常な動作音(以降、正常動作音という)に背景雑音を含んだ混合音と、対象機械の異常な動作音(以降、異常動作音という)に背景雑音を含んだ混合音との違いが、小さくなる。よって、異常音検知システムにおいては、正常動作音と背景雑音の混合音を入力して得られる異常度と、異常動作音と背景雑音の混合音を入力して得られる異常度との差が小さくなり、正しく正常と異常の判定ができないという第一の問題がある。さらに、正常動作音の主な周波数帯域と異なる周波数帯域に背景雑音が混合された場合、異常音検知システムは、入力音を異常と誤判定してしまう第二の問題もある。
【0006】
従来技術としてではなく、本開示の異常音検知システムと比較するための比較例としての異常音検知システム(以降、異常音検知システムの一例という)は、例えば特徴量抽出部、尤度計算部、異常判定部を備えることができるであろう。
【0007】
特徴量抽出部は、入力音の時間波形から時間周波数領域の特徴量を抽出する。尤度計算部は、前記時間周波数領域の特徴量の負対数尤度を推定する。尤度計算部は、正常音サンプルの時間周波数領域特徴量に対して低い負対数尤度を出力するように事前学習させておく。そして、尤度計算部は、推定した負対数尤度を音の異常度として出力する。最後に、前記異常度が事前に定めた閾値以上であった場合、異常判定部は、前記入力音を異常音と判定し、判定結果を出力する。一方、前記異常度が前記閾値未満の場合、異常判定部は、入力音を正常音と判定判定し、判定結果を出力する。
【0008】
前記第二の問題の一例としては、対象機械が正常動作している際、対象機械の近くで稀にハンマーを用いて金属を叩くような修理作業が行われる例が考えられる。この例では、異常音検知システムの入力音には、対象機械の動作音だけでなく、金属が叩かれる高周波数帯域の音が混合される。修理作業による音が稀にしか発生しない場合、尤度計算部は、入力音の負対数尤度を高いと推定する。よって、対象機械は正常動作しているにも関わらず、前述の異常音検知システムの一例は、異常と誤判定する問題がある。
【0009】
そこで、本発明は、背景雑音より対象機械の動作音が小さい場合であっても正常音に対して低い異常度を出力し、異常音に対して高い異常度を出力する、異常音検知システム及び方法を提供するものである。また、本発明は、背景雑音が正常動作音と無関係な周波数に発生する場合であっても、正常音に対して低い異常度を出力し、異常音に対して高い異常度を出力する、異常音検知システム及び方法を提供するものである。
【課題を解決するための手段】
【0010】
上記課題の少なくとも一つを解決するために、本願において開示される発明の代表的な一例は、対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行う動作区間検出サブシステムと、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常判定部とを備える異常音検知システムであって、前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、前記動作区間検出サブシステムは、前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、前記異常判定部は、前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する。
【発明の効果】
【0011】
本発明によれば、背景雑音が入力音に混合される場合においても、高精度に異常音検知可能である。
【図面の簡単な説明】
【0012】
図1】実施例1における異常音検知システムの全体構成を示すブロック図である。
図2】実施例1における学習サブシステムを示すブロック図である。
図3】実施例1における学習サブシステムの処理フローを示す図である。
図4】実施例1における異常音検知サブシステムを示すブロック図である。
図5】実施例1における異常音検知サブシステムの処理フローを示す図である。
図6】実施例1における異常音検知システムのハードウエア構成の一例を示す図である。
図7】実施例2における異常音検知システムの全体構成を示すブロック図である。
図8】実施例2における学習サブシステムを示すブロック図である。
図9】実施例2における学習サブシステムの処理フローを示す図である。
図10】実施例2における異常音検知サブシステムを示すブロック図である。
図11】実施例2における異常音検知サブシステムの処理フローを示す図である。
図12】実施例2における異常音検知システムのハードウエア構成の一例を示す図である。
図13】実施例3における学習サブシステムを示すブロック図である。
図14】実施例3における学習サブシステムの処理フローを示す図である。
図15】実施例4における学習サブシステムのブロック構成を示す図である。
図16】動作区間情報の一例を示す図である。
図17】動作ラベルの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を詳述する。本実施の形態の異常音検知システムは、対象機械の動作状態と対象機械について得られた入力信号(入力音)とに基づいて、対象機械の異常を判定する。本実施形態の異常音検知システムは、背景雑音が入力音に混合される場合でも、異常音を検知する。本実施形態では、対象機械の正常音信号と当該対象機械の実際の動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて、対象機械の異常音検知対象の入力信号に対して異常判定する。
【0014】
本実施形態では、対象機械の異常音検知対象の入力信号を受けた場合、異常音検知対象の入力信号から学習結果を用いて対象機械の動作区間を推定し、推定された動作区間と、動作区間情報に示される実際の動作区間との乖離度に基づいて、対象機械の異常音検知対象の入力信号の異常を判定する。
【0015】
本実施形態の異常音検知システムは、例えば、発電プラント、鉄鋼プラント、化学プラント、食品プラント、機械組立プラントなどの様々な場所で使用される対象機械Mの異常検知に用いることができる。対象機械Mは、例えば、モータ、バルブ、ポンプ、ソレノイド、コンプレッサ、ボイラ、コンベア、攪拌機、加熱炉などの、動作に際して音を発生する種々の機械である。
【実施例0016】
図1図6図16および図17を用いて実施例1を説明する。図1は、実施例1における異常音検知システムのブロック構成図である。異常音検知システムは、訓練用データセットデータベース(DB)1から、正常音信号の時間波形100と動作区間情報200とを読み出し、学習サブシステム1000へ入力する。
【0017】
正常音信号は、対象機械Mの正常動作音と背景雑音を含む。動作区間情報200とは、対応する正常音信号の時間波形100のうちどの時間に対象機械Mが動作していたかを表す情報である。図16に示すように、例えば、動作区間情報200は、動作開始時刻と動作終了時刻の組の集合である。対象機械Mの動作中ではない時間が、対象機械Mの非動作区間となる。以下、対象機械の符号Mを適宜省略して説明する。
【0018】
図1に戻る。学習サブシステム1000は、正常音の時間波形100と動作区間情報200に基づいて学習処理を実施し、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを出力する。動作・非動作推定部11は、対象機械が動作しているか否かを推定する機能を持つ。特徴量埋め込み部10のパラメタは、特徴量埋め込みパラメタDB2に格納される。動作・非動作推定部11のパラメタは、動作・非動作推定パラメタDB3に格納される。
【0019】
特徴量埋め込み部10と動作・非動作推定部11とは、縦続接続されることで、入力信号から動作区間情報を推定する、動作区間検出サブシステム1100を構成する。したがって、DB2に格納された特徴量埋め込み部10のパラメタとDB3に格納された動作・非動作推定部11のパラメタとを用いることで、正常音信号に対して正しい動作区間を推定する動作区間検出サブシステム1100が得られる。
【0020】
異常音検知サブシステム2000は、特徴量埋め込み部20のパラメタと動作・非動作推定部21のパラメタとをDB2,3から読み出す。異常音検知サブシステム2000には、動作区間情報400と信号の時間波形300とが入力される。異常音検知サブシステム2000は、入力された信号が正常か異常かを判定する。
【0021】
詳細は図4にて説明するが、入力された波形信号300が正常か異常かの判定は、次のように行われる。まず、特徴量埋め込み部20と動作・非動作推定部21とで構成される動作区間検出サブシステム2100を用いて、信号の時間波形300から対象機械の動作区間を推定する。次に、推定した動作区間と入力された動作区間情報400との間の乖離度に応じて、波形信号300の異常度を算出する。最後に、異常度の大きさに応じて、判定信号500を出力する。判定信号500は、図示せぬ他システムへ送られる。実施例1では、対象機械の動作区間の推定に失敗した信号を異常と判定する。
【0022】
実施例1が前記課題をどのように解決するかを記述する。まず、対象機械の動作している区間を推定することは、非動作区間の音と動作区間の音を識別することと等価である。非動作区間の音は、背景雑音のみである。一方、動作区間の音は、対象機械の動作音と背景雑音の混合音である。したがって、動作区間検出サブシステム2100は、背景雑音と混合音を識別するモデルである。
【0023】
背景雑音が正常動作音より大きい場合、背景雑音と混合音の違いは、わずかな正常動作音の有無のみである。そのため、動作区間検出サブシステム2100は、正常動作音のわずかな特徴を捉えるモデルとなる。そのわずかな特徴から外れた異常動作音は、動作区間として検出できず、異常音検知が可能となる。一方、比較例として前述した異常音検知システムの一例では、混合音の特徴のみを学習させ、それをもとに異常音検知する。実施例1は、正常動作音の特徴を直接捉えるモデルを用いて異常音検知するため、比較例の異常音検知システムに比べて、正常動作音の特徴から外れた音を正しく検知できる。
【0024】
図2に示すように、実施例1における学習サブシステム1000は、時間周波数特徴量生成部12、特徴量埋め込み部10、動作・非動作推定部11、動作ラベル生成部13、学習部14を含む。
【0025】
図3は、実施例1における学習サブシステム1000の処理フローである。学習サブシステム1000は、訓練用データセットDB1から、正常音信号の時間波形100と動作区間情報200との集合を読み出す。以降の処理は、ステップS301において、学習終了条件として、反復回数C1が閾値ThC以上となるまで、後述のステップS302~S306を繰り返す。
【0026】
ステップS302において、時間周波数特徴量生成部12は、正常音信号の時間波形100を時間周波数領域特徴量110に変換する。例えば、時間周波数領域特徴量110は、時間波形を短時間フーリエ変換して得られる、パワースペクトログラムや、対数メルパワースペクトログラムであってもよい。
【0027】
ステップS303において、動作ラベル生成部13は、動作区間情報200から、動作ラベル210を生成する。動作ラベル210は、例えば、時間周波数領域特徴量110の時間フレーム数と同じ長さの二値ベクトルである。二値ベクトルの値は、時間フレーム毎に対象機械が動作中であれば1、非動作中であれば0となる。この例を図17に示す。あるいは、ベクトルの代わりにスカラー値を使用し、時間周波数領域特徴量110の中央の時間フレームに、対象機械が動作中であれば1を、非動作中であれば0を設定してもよい。例えば、時間周波数領域特徴量110の時間フレーム数が5の場合、3番目の時間フレームに、対象機械が動作中であるか非動作中であるかに応じて動作ラベルを決定する。また、前記二つの動作ラベルどちらにおいても、一つの時間フレーム中に動作と非動作が切り替わる場合、対応する動作ラベルの値を、時間フレーム長のうちの動作中だった時間の割合にしてもよい。すなわち、時間フレーム長の半分の時間だけ動作中だった場合、対応する動作ラベルの値を0.5とする。
【0028】
ステップS304において、特徴量埋め込み部10は、時間周波数領域特徴量110を、動作ラベルを推定するための中間特徴量120に変換する。特徴量埋め込み部10は、全結合層と活性化関数を積層したもの、あるいは、複数の畳み込み層と活性化関数を積層したもの、または再帰型ニューラルネットワークであってよい。
【0029】
ステップS305において、動作・非動作推定部11は、中間特徴量120を用いて、動作ラベル推定値130を出力する。動作・非動作推定部11は例えば、全結合層とソフトマックス関数を積層したものであってよい。
【0030】
ステップS306において、学習部14は、動作ラベル推定値130と動作ラベル210の誤差とで定義される損失関数の値を最小化することにより、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを更新する。動作ラベル推定値130と動作ラベル210との誤差は、例えば両者の間の交差エントロピーでよい。損失関数の値の最小化には、例えば、SGD、Momentum SGD、RMSProp、AdaGrad、AdaDelta、Adamなどの最適化アルゴリズムを用いることができる。
【0031】
ステップS301において反復回数C1がThC以上となった場合(S301:YES)、ステップS307において、特徴量埋め込み部10のパラメタをDB2へ保存させると共に、動作・非動作推定部11のパラメタDB3に保存させ、学習サブシステム1000の処理フローを終了する。
【0032】
図4に示すように、実施例1における異常音検知サブシステム2000は、時間周波数特徴量生成部22、特徴量埋め込み部20、動作・非動作推定部21、動作ラベル生成部23、異常度計算部24、異常判定部25を含んでいる。
【0033】
図5は、実施例1における異常音検知サブシステム2000の処理フローである。ステップS501において、時間周波数特徴量生成部22は、信号の時間波形300から、時間周波数領域特徴量310を生成する。時間周波数特徴量生成部22は、図2に示した学習サブシステム1000の時間周波数特徴量生成部12と同じものを用いる。
【0034】
ステップS502において、動作ラベル生成部23は、動作区間情報400から、動作ラベル410を生成する。動作ラベル生成部23は、図2に示した学習サブシステム1000の動作ラベル生成部13と同じものを用いる。
【0035】
ステップS503において、特徴量埋め込み部20は、特徴量埋め込みパラメタDB2から読み込んだパラメタを用いることにより、時間周波数領域特徴量310を、動作ラベルを推定するための中間特徴量320に変換する。
【0036】
ステップS504において、動作・非動作推定部21は、動作・非動作推定パラメタDB3から読み込んだパラメタを用いることにより、中間特徴量320から、動作ラベル推定値330を出力する。
【0037】
ステップS505において、異常度計算部24は、動作ラベル410と動作ラベル推定値330とから、事前に定義した両者の乖離度を計算し、算出した乖離度を異常度340として出力する。
【0038】
乖離度は、例えば、動作ラベルと動作ラベル推定値との間の交差エントロピー誤差であってよい。または、動作ラベルと動作ラベル推定値とから、対象機械が動作している区間のラベルのみを取り出し、それらの間の交差エントロピーを乖離度として用いてもよい。すなわち、対象機械が非動作中の区間の、動作ラベルと動作ラベル推定値との乖離度は無視してもよい。さらに、対象機械の動作と非動作とが切り替わる前後数フレームの動作ラベルと動作ラベル推定値との乖離度も無視し、残りの区間の動作ラベルと非動作ラベルの交差エントロピー誤差を用いてもよい。
【0039】
ステップS506において、異常判定部25は、異常度340から、信号の時間波形300が正常か異常かを判定し、判定結果500を出力する。あらかじめ定めた閾値を異常度が超えていれば異常と判定し、超えていなければ正常と判定する。
【0040】
図6は、実施例1の異常音検知システムH1の構成の一例を示す図である。異常音検知システムH1は、計算機H2及びマイクロフォン(以下マイク)H7を有する。計算機H2及びマイクH7の数は二つ以上でもよい。
【0041】
マイクH7は、異常検知の対象機械から発生した動作音を収集する装置である。マイクH7は、収集した音から音声データを計算機に送信する。マイクH7は、対象機械の周辺に配置される。マイクH7は、対象機械に取り付けられてもよいし、対象機械から離れた場所に取り付けられてもよい。
【0042】
計算機H2は、対象機械から収集した音が異常か正常かを判定する。計算機H2は、例えば、プロセッサH5、主記憶装置H3、副記憶装置H4、及び接続インタフェースH6を備える。各ハードウェアは内部パスを介して互いに接続される。
【0043】
接続インタフェースH6は、外部装置と接続するためのインタフェースである。接続インタフェースH6は、例えば、ネットワークインタフェース及びI/Oインタフェースである。マイクH7で取得された音は、接続インターフェースH6を介して、計算機H2へ入力される。
【0044】
プロセッサH5は、主記憶装置H3に格納されたコンピュータプログラムを実行する。プロセッサH5がコンピュータプログラムにしたがって処理を実行することにより、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサH5が当該機能部を実現するプログラムを実行していることを示す。
【0045】
主記憶装置H3は、プロセッサH5が実行するコンピュータプログラム及びコンピュータプログラムが使用するデータを格納する。また、主記憶装置H3は、コンピュータプログラムが一時的に使用するワークエリアを含む。主記憶装置H3は、例えば、DRAM(Dynamic Random Access Memory)等である。主記憶装置H3に格納されるコンピュータプログラムについては後述する。
【0046】
主記憶装置H3に格納されるコンピュータプログラム及びデータは、副記憶装置H4に格納されてもよい。この場合、プロセッサH5が、副記憶装置H4からコンピュータプログラム及びデータを読み出し、主記憶装置H3に格納する。
【0047】
副記憶装置H4はデータを永続的に格納する。副記憶装置H4は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等である。副記憶装置H4に格納されるデータについては後述する。
【0048】
計算機H2が保持するコンピュータプログラム及びデータについて説明する。図2にブロック構成を示した学習サブシステム1000の構成要素と、図4にブロック構成を示した異常音検知サブシステム2000の構成要素とは、全てコンピュータプログラムであり、主記憶装置H3に格納される。
【0049】
学習サブシステム1000が読み出すデータを格納する訓練用データセットDB1は、副記憶装置H4に格納される。学習サブシステム1000により格納され、異常音検知サブシステム2000により読み出される、特徴量埋め込み部のパラメタを保持する特徴量埋め込みパラメタDB2は、副記憶装置H4に格納される。同様に、学習サブシステム1000により格納され、異常音検知サブシステム2000により読み出される、動作・非動作推定部のパラメタを保持する動作・非動作推定パラメタDB3は、副記憶装置H4に格納される。
【0050】
実施例1にによれば、背景雑音が対象機械の動作音に重なって入力される場合でも、正確に対象機械が正常か異常か判定することができる。
【実施例0051】
図7図12を用いて実施例2を説明する。本実施例を含む以下の記述では、実施例1との相違点を中心に説明する。実施例1において、学習サブシステム1000に入力される同作間情報200と異常音検知サブシステム2000に入力される動作区間情報400とは、例えば対象機械の制御信号から自動で生成できる。したがって、対象機械の制御信号が取得可能な場合、動作区間情報200,400も取得可能であるため、実施例1に示した手法は実施可能である。一方、対象機械の制御信号を取得不可能な場合、動作区間情報200,400は人手で生成する必要がある。しかし、動作区間情報200,400の生成には時間と手間を要する。また、異常音検知サブシステム2000を用いた異常度の計算のたびに、動作区間情報400を生成するのは作業負荷が大きい。
【0052】
そこで、この問題に対処する実施例2を図7に示す。図7に示すように、異常音検知サブシステム2000Aは、動作区間情報を利用せずに、外れ値検知パラメタDB4からのパラメタと特徴量埋め込みパラメタDB2からのパラメタとに基づいて、異常音検知対象信号の時間波形300が正常か異常かを判定する。
【0053】
図8に示すように、実施例2における学習サブシステム1000Aは、時間周波数特徴量生成部12、特徴量埋め込み部10、動作・非動作推定部11、動作ラベル生成部13、動作区間学習部15、外れ値検知部16、外れ値学習部17を含む。
【0054】
図9は、実施例2における学習サブシステム1000Aの処理フローである。学習サブシステム1000Aは、訓練用データセットDB1から、正常音信号の時間波形100と動作区間情報200の集合を読み出す。動作区間情報200は、正常音信号の時間波形100のどの時間に対象機械が動作していたかを表す情報である。例えば、動作区間情報200は、動作開始時刻と動作終了時刻の組の集合である。
【0055】
ステップS901において、反復回数C1が閾値ThC1よりも大きくなるまで、時間周波数特徴量生成(S902)、動作ラベル生成(S903)、特徴量埋め込み(S904)、動作・非動作推定(S905)、特徴量埋め込み部のパラメタ更新と動作・非動作のパラメタ更新(S906)、の処理を順次繰り返す。これらステップは、実施例1と同様に実施する。
【0056】
ステップS901での学習終了条件が満たされると(S901:YES)、ステップS907に移る。ステップS907で反復回数C2が閾値ThC2よりも大きくなったと判定されるまで、以下の各ステップS908~S910が繰り返される。
【0057】
ステップS908において、時間周波数特徴量生成部12は、正常音信号の時間波形100から、正常音信号の時間周波数領域特徴量110を生成する。ステップS909において、特徴量埋め込み部10は、時間周波数領域特徴量110から、中間特徴量120を生成する。ステップS910において、外れ値学習部17は、中間特徴量120を正常データとして外れ値検知を行うように、外れ値検知部16のパラメタを更新する。
【0058】
外れ値検知部16としては、外れ値検知に用いられる公知の、混合ガウス分布、自己符号化器、変分自己符号化器などのモデルを用いることができる。パラメタの更新アルゴリズムは、各モデルのパラメタの更新に用いられる、公知のアルゴリズムでよい。なお、後述するように、外れ値検知部16を異常音検知サブシステム2000Aで利用することで、動作ラベルを用いずに異常音検知対象信号が正常か異常かを判定できる。
【0059】
ステップS907において学習終了条件を満たすと判定されると(S907:YES)、ステップS911において、特徴量埋め込み部10のパラメタをDB2へ保存させる共に、外れ値検知部16のパラメタをDB4に保存させ、学習サブシステム1000Aの処理フローを終える。
【0060】
図10に示すように、実施例2における異常音検知サブシステム2000Aは、時間周波数特徴量生成部22、特徴量埋め込み部20、外れ値検知部26、異常判定部25を含んでいる。
【0061】
図11は、実施例2における異常音検知サブシステム2000Aの処理フローである。ステップS1101において、時間周波数特徴量生成部22は、信号の時間波形300から、信号の時間周波数領域特徴量310を生成する。この時間周波数特徴量生成部22は、図2に示した学習サブシステム1000の時間周波数特徴量生成部22と同じものを用いる。
【0062】
ステップS1102において、特徴量埋め込み部20は、特徴量埋め込みパラメタDB2から特徴量埋め込み部のパラメタを読み込み、時間周波数領域特徴量310を中間特徴量320に変換する。
【0063】
ステップS1103において、外れ値検知部26は、外れ値検知パラメタDB4からパラメタを読み込み、中間特徴量320を用いて、異常度340を出力する。
【0064】
ステップS1104において、異常判定部25は、異常度340に基づいて、信号の時間波形300が正常か異常かを判定し、判定結果500を出力する。あらかじめ定めた閾値を異常度が超えていれば異常と判定し、超えていなければ正常と判定する。
【0065】
以上、実施例2では、特徴量埋め込み部20が出力する中間特徴量320に対して外れ値検知を行うことにより、動作ラベルを用いずに異常音検知対象信号が正常か異常か判定することができる。
【0066】
特徴量埋め込み部20のパラメタは、学習サブシステム1000Aにおいて、動作ラベル210を正しく推定できるように学習されたパラメタである。したがって、動作区間と非動作区間との識別を正しく行うために、動作区間中の時間周波数特徴量を特徴量埋め込み部20に入力して得られる中間特徴量と、非動作区間中の時間周波数特徴量を特徴量埋め込み部20に入力して得られる中間特徴量とは大きく異なる。これは、特徴量埋め込み部20が正常動作音のわずかな特徴に反応して出力を変えることを意味する。したがって、実施例2は、実施例1と同様に、正常動作音の特徴を直接捉えるモデルを用いて異常音検知するため、比較例として述べた異常音検知システムの一例に比べて、正常動作音の特徴から外れた音を正しく検知できる。
【0067】
図12は、実施例2の異常音検知システムH1Aの構成の一例を示す図である。図6に示した実施例1の異常音検知システムH1の構成と同じく、異常検知システムH1Aは、計算機H2およびマイクH7を備える。計算機H2は、接続インターフェースH6、プロセッサH5、主記憶装置H3、副記憶装置H4を含む。マイクH7、接続インターフェースH6、プロセッサH5、主記憶装置H3、副記憶装置H4、の役割は、図6で説明した通りである。
【実施例0068】
図13図14を用いて実施例3を説明する。図13は、実施例3において、正常動作音が存在しない周波数帯域に稀な背景雑音が表れた場合であっても、正しく異常音検知する学習サブシステム1000Bのブロック構成である。学習サブシステム1000Bは、図1に示す実施例1の学習サブシステム1000として利用できる。あるいは、図8に示す実施例2の学習サブシステム1000Aに含まれる外れ値検知部16と外れ値学習部17とを、図13に加えることで、図7に示した実施例2の学習サブシステム1000Aとして利用してもよい。
【0069】
図13に示した実施例3の学習サブシステム1000Bは、時間周波数特徴量生成部12、特徴量埋め込み部10、動作・非動作推定部11、利用周波数帯域算出部18、動作ラベル生成部13、学習部14を含む。
【0070】
図14は、実施例3における学習サブシステム1000Bの処理フローである。ステップS1401では、反復回数C3が閾値ThC3よりも大きくなるという学習終了条件が満たされるまで、以下の各ステップS1402~S1407が実行される。
【0071】
ステップS1402において、時間周波数特徴量生成部12は、正常音信号の時間波形100を信号の時間周波数領域特徴量110に変換する。
【0072】
ステップS1403において、動作ラベル生成部13は、動作区間情報200から、動作ラベル210を生成する。
【0073】
ステップS1404において、特徴量埋め込み部10は、時間周波数領域特徴量110を、動作ラベルを推定するための中間特徴量120に変換する。また、特徴量埋め込み部10は、特徴量埋め込み部10のモデルパラメタ140を出力する。特徴量埋め込み部10はニューラルネットワークであって、全結合層を含むものとする。例えば、全結合層と活性化関数を積層したもの、あるいは、複数の畳み込み層と活性化関数を積層し、最後に全結合層を加えたものであってよい。
【0074】
ステップS1405において、動作・非動作推定部11は、中間特徴量120を用いて、動作ラベル推定値130を出力する。
【0075】
ステップS1406において、利用周波数帯域算出部18は、特徴量埋め込み部10に含まれる全結合層の重み行列をモデルパラメタ140から取り出し、重み行列の、事前定義されたノルムを学習の正則化項150として出力する。ノルムには、学習時に、特徴量埋め込み部10が周波数帯域選択性を持つように全結合層の重み行列を誘導するものを用いる。
【0076】
なお、特徴量埋め込み部10の周波数帯域選択性とは、特徴量埋め込み部10が、時間周波数領域特徴量110の限定された周波数帯域の情報のみから中間特徴量120を計算する性質のことをいう。正則化項150は例えば、特徴量埋め込み部10で最初に現れる全結合層の重み行列の、次のように定義される混合ノルムであってよい。まず、重み行列の各要素を、その要素に乗算される時間周波数領域特徴量110の要素の周波数ごとにグループ分けする。次に、各グループに含まれる要素の集合の二乗平均平方根を算出する。最後に、算出結果を全グループ分足し合わせて、混合ノルムの値を得る。あるいは、重み行列の要素のグループ分け方法として他の方法を採用してもよい。例えば、事前に周波数帯域グループを定義し、重み行列の各要素を、乗算される時間周波数領域特徴量110の周波数が含まれる周波数帯域グループに割り当ててから、同様のノルムの計算を行ってもよい。いずれにせよ、計算した正則化項150は、特徴量埋め込み部10が時間周波数領域特徴量110の狭い周波数帯域の特徴量のみから中間特徴量120を埋め込むほど、小さな値になる。
【0077】
ステップS1407において、学習部14は、動作ラベル推定値130と動作ラベル210との誤差と、正則化項150との和で定義される損失関数を最小化することで、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを学習する。
【0078】
動作ラベル推定値130と動作ラベル210との誤差は、例えば両者の間の交差エントロピーでよい。損失関数の値の最小化には、例えば、SGD、Momentum SGD、RMSProp、AdaGrad、AdaDelta、Adamなどの最適化アルゴリズムを用いることができる。
【0079】
損失関数の定義より、学習部14は、特徴量埋め込み部10に周波数帯域選択性を持たせつつ、動作ラベル210も正しく推定するように、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを学習する。したがって、学習が進むと、特徴量埋め込み部10と動作・非動作推定部11とは、時間周波数領域特徴量110のうちの限定された周波数帯域のみから動作ラベル210を正しく推定するようになる。
【0080】
このとき、動作ラベル210を正しく推定するには、正常動作音を正しく検出する必要がある。そのため、動作ラベル210を最も正しく推定できる周波数帯域は、正常動作音の主な周波数帯域である。したがって、当該学習により、特徴量埋め込み部10は、正常動作音の主な周波数帯域を中間特徴量120の計算に利用する周波数帯域とする。よって、中間特徴量120は、正常動作音の主な周波数帯域とは異なる周波数に現れる、稀な背景雑音の影響を受けない。同様に、動作ラベル推定値130もその稀な背景雑音の影響を受けない。よって、背景雑音による異常音検知の誤判定が起こらなくなる。
【0081】
ステップS1401において、反復回数C3が閾値ThC3よりも大きくなり、学習終了条件が満たされると(S1401:YES)、ステップS1408において、特徴量埋め込み部10のパラメタをDB2へ保存すると共に、動作・非動作推定部11のパラメタをDB3へ保存し、学習サブシステム1000Bの処理フローを終了する。
【0082】
なお、実施例3の利用周波数帯域算出部18は、特徴量埋め込み部10の出力するモデルのパラメタへの適用に限定されるものではなく、他の異常音検知システムのモデルのパラメタに適用してもよい。例えば、「R. Giri, “Self-supervised classification for detecting anomalous sounds,” in Proc of DCASE Workshop, 2020」の異常音検知システムで利用されるモデルのパラメタに適用してもよい。
【実施例0083】
図15を用いて実施例4を説明する。実施例3では、正常動作音の主な周波数帯域と異なる周波数に稀に現れる背景雑音に対処するため、特徴量埋め込み部10の学習を誘導し、時間周波数領域特徴量110のうちの正常動作音の主な周波数帯域の特徴量のみから中間特徴量120を作る。一方、正常動作音の主な周波数帯域が事前に分かっている場合、時間周波数領域特徴量110自体を当該周波数帯域のみから作ることによっても、同じ課題に対処できる。実施例4では、その方法を示す。
【0084】
図15は、実施例4における学習サブシステム1000Cのブロック構成である。当該サブシステム1000Cは、図1に示す実施例1の学習サブシステム1000として利用できる。あるいは、図8に示す実施例2の学習サブシステム1000Aに含まれる外れ値検知部16と外れ値学習部17を、図15に加えることで、図7に示した実施例2の学習サブシステム1000Aとしても利用できる。
【0085】
図15に示すように、実施例4における学習サブシステム1000Cは、時間周波数特徴量生成部12、特徴量埋め込み部10、動作・非動作推定部11、動作ラベル生成部13、学習部14を含む。
【0086】
実施例4における学習サブシステム1000Cの処理フローは、図3に示した、実施例1における学習サブシステム1000の処理フローと同じである。
【0087】
実施例4における学習サブシステム1000Cの処理フローで行う具体的な処理のうち、実施例1における学習サブシステム1000の処理フローで行う処理と異なるのは、図3のS302における、「時間周波数特徴量生成」ステップで行う処理のみである。実施例4では、S302において、時間周波数特徴量生成部12が、正常音信号の時間波形100と利用周波数帯域160から、利用周波数帯域160内のみの時間周波数領域特徴量110を出力する。例えば、時間周波数領域特徴量110は、時間波形を短時間フーリエ変換して得られるパワースペクトログラムや、対数メルパワースペクトログラムのうち、利用周波数帯域に含まれる要素のみを取り出したものであってもよい。
【0088】
以上述べた異常音検知システムは、次のように構成されてもよい。
【0089】
(1)対象機械の正常音信号と当該対象機械の実際の動作・非動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて、対象機械の正常音信号の入力に対して対象機械の動作・非動作区間の推定を行う動作区間検出サブシステムと、対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常判定部とを備える異常音検知システムであって、対象機械の異常音検知対象の入力信号と、当該入力信号と対応する対象機械の実際の動作・非動作区間を示す動作区間情報を受けた場合、動作区間検出サブシステムは、異常音検知対象の入力信号から学習結果を用いて対象機械の動作・非動作区間を推定し、異常判定部は、前記推定された動作・非動作区間と、前記動作区間情報に示される実際の動作・非動作区間との乖離度に基づいて、対象機械の異常音検知対象の入力信号の正常、異常を判定する。
【0090】
これによって、背景雑音が入力音に混合される場合においても、背景雑音の影響を抑え、高精度に異常音検知することが可能となる。
【0091】
(2)上記(1)の異常音検知システムにおいて、学習結果は、対象機械の正常音信号からの特徴量の生成に用いる特徴量埋め込みパラメタと、抽出された特徴量からの対象機械の動作または非動作の推定に用いる動作・非動作推定パラメータとを含み、動作区間検出サブシステムは、特徴量埋め込みパラメータと、前記動作・非動産推定パラメータを用いて、対象機械の正常音信号または異常音検知対象の入力信号から対象機械の動作、非動作の推定を行う。
【0092】
(3)上記(2)の異常音検知システムにおいて、学習結果に含まれる特徴量埋め込みパラメータを用いて生成された対象機械の正常音信号の中間特徴量を学習した学習結果に基づき、特徴量埋め込みパラメータを用いて生成された対象機械の異常音検知対象の入力信号の中間特徴量の正常音信号の中間特徴量の分布に対する異常度を算出する外れ値検知部をさらに備え、異常判定部は、算出された外れ値に基づいて、対象機械の異常音検知対象の入力信号の正常、異常を判定する。
【0093】
これによって、異常音検知対象の入力信号と対応する動作区間情報が取得できない場合でも、背景雑音の影響を抑え、高精度に異常音検知することが可能となる。
【0094】
(4)上記(1)の異常音検知システムにおいて、対象機械の正常音信号には、対象機械の正常動作音と、背景雑音が含まれ、学習結果は、正常音信号もしくは異常音検知対象の入力信号のうち、対象機械の正常動作音と対応する周波数帯から動作・非動作区間を推定するよう誘導するものである。
【0095】
これによって、背景雑音が正常動作音と無関係な周波数に発生する場合であっても、正常音に対して低い異常度を出力し、異常音に対して高い異常度を出力する、異常音検知システム及び方法を提供するものである。
【0096】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。本発明の目的を達成する範囲内で、実施形態の構成や処理方法は適宜変更することが可能である。
【0097】
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。
【符号の説明】
【0098】
1・・・訓練用データセットDB
2・・・特徴量埋め込みパラメタDB
3・・・動作・非動作推定パラメタDB
4・・・外れ値検知パラメタDB
10・・・特徴量埋め込み部
11・・・動作・非動作推定部
12・・・時間周波数特徴量生成部
13・・・動作ラベル生成部
14・・・学習部
15・・・動作区間学習部
16・・・外れ値検知部
17・・・外れ値学習部
18・・・利用周波数待機算出部
20・・・特徴量埋め込み部
21・・・動作非動作推定部
22・・・時間周波数特徴量生成部
23・・・動作ラベル生成部
24・・・異常度計算部
25・・・異常判定部
26・・・外れ値検知部
100・・・正常音信号の時間波形
110・・・正常音信号の時間周波数特徴量
120・・・中間特徴量
130・・・動作・非動作推定部
140・・・モデルパラメタ
150・・・正則化項
160・・・利用周波数帯域
200・・・動作区間情報
210・・・動作ラベル
300・・・異常音検知対象信号の時間波形
310・・・信号の時間周波数領域特徴量
320・・・中間特徴量
330・・・動作ラベルの推定値
340・・・異常度
400・・・動作区間情報
410・・・動作ラベル
500・・・正常/異常
1000,1000A,1000B,1000C・・・学習サブシステム
1100・・・動作区間検出サブシステム
2000・・・異常音検知サブシステム
2100・・・動作区間検出サブシステム

H1・・・異常検知システム
H2・・・計算機
H3・・・主記憶装置
H4・・・副記憶装置
H5・・・プロセッサ
H6・・・接続インターフェーズ
H7・・・マイク

S301・・・学習終了条件確認ステップ
S302・・・時間周波数特徴量生成ステップ
S303・・・動作ラベル生成ステップ
S304・・・特徴量埋め込みステップ
S305・・・動作・非動作推定ステップ
S306・・・特徴量埋め込み部および動作・非動作推定部のパラメタ更新ステップ
S307・・・特徴量埋め込み部および動作・非動作推定部のパラメタをDBに保存するステップ
S501・・・時間周波数特徴量生成ステップ
S502・・・動作ラベル生成ステップ
S503・・・特徴量埋め込みステップ
S504・・・動作・非動作推定ステップ
S505・・・異常度計算ステップ
S506・・・異常判定ステップ
S901・・・学習終了条件確認ステップ
S902・・・時間周波数特徴量生成ステップ
S903・・・動作ラベル生成ステップ
S904・・・特徴量埋め込みステップ
S905・・・動作・非動作推定ステップ
S906・・・特徴量埋め込み部および動作・非動作推定部のパラメタ更新ステップ
S907・・・学習終了条件確認ステップ
S908・・・時間周波数特徴量生成ステップ
S909・・・特徴量埋め込みステップ
S910・・・外れ値検知部のパラメタ更新ステップ
S911・・・特徴量埋め込み部および動作・非動作推定部のパラメタをDBに保存するステップ
S1101・・・時間周波数特徴量生成ステップ
S1102・・・特徴量埋め込みステップ
S1103・・・異常度計算ステップ
S1104・・・異常判定ステップ

S1401・・・学習終了条件確認ステップ
S1402・・・時間周波数特徴量生成ステップ
S1403・・・動作ラベル生成ステップ
S1404・・・特徴量埋め込みステップ
S1405・・・動作・非動作推定ステップ
S1406・・・利用周波数帯域計算ステップ
S1407・・・特徴量埋め込み部および動作・非動作推定部のパラメタ更新ステップ
S1408・・・特徴量埋め込み部および動作・非動作推定部のパラメタをDBに保存するステップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17