(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-15
(45)【発行日】2023-11-24
(54)【発明の名称】検査装置及び方法
(51)【国際特許分類】
G01M 99/00 20110101AFI20231116BHJP
G01H 17/00 20060101ALI20231116BHJP
【FI】
G01M99/00 Z
G01H17/00 Z
(21)【出願番号】P 2022029065
(22)【出願日】2022-02-28
【審査請求日】2022-06-30
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】奥 敦
(72)【発明者】
【氏名】住田 和也
(72)【発明者】
【氏名】大西 梢恵
(72)【発明者】
【氏名】松本 明紘
(72)【発明者】
【氏名】久保 絵里
(72)【発明者】
【氏名】上原 敬太郎
【審査官】岡村 典子
(56)【参考文献】
【文献】国際公開第2015/068446(WO,A1)
【文献】国際公開第2021/019672(WO,A1)
【文献】特開2021-081364(JP,A)
【文献】特表2002-535664(JP,A)
【文献】特開2023-073761(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01M 13/00-13/45、99/00
G01H 1/00-17/00
(57)【特許請求の範囲】
【請求項1】
波形データのスペクトログラムに基づいて異常の有無を判定する検査装置において、
機械学習により得られた判定モデルを用いて、前記波形データの前記スペクトログラムの異常度を算出し、算出した異常度に基づいて異常の有無を判定する検査判定部と、
前記波形データの前記スペクトログラム上に当該波形データの特性に応じたマスクを設定してなる加工データを、前記マスクを当該マスクに応じた方向に順次シフトさせるようにして複数作成する加工データ作成部と、
前記加工データ作成部により作成された各前記加工データの異常度をそれぞれ算出し、算出した各加工データの異常度と、前記検査判定部により算出された前記波形データの前記スペクトログラムの異常度とに基づいて、各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度をそれぞれ算出する異常度・変化度算出部と、
算出された各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度に基づいて、前記波形データの前記スペクトログラムにおける前記マスクが設定された各領域を、前記マスクを設定した場合の前記加工データの前記変化率又は変化度に応じた色又は濃度でそれぞれ着色した判定根拠画像を描画する判定根拠描画部と、
前記検査判定部の判定結果及び前記判定根拠描画部により描画された前記判定根拠画像を表示する結果表示部と
を備えることを特徴とする検査装置。
【請求項2】
前記加工データ作成部は、
前記スペクトログラムの周波数方向と平行に前記周波数方向の全範囲に亘る細長い矩形状の第1のマスクと、前記スペクトログラムの時間方向と平行に前記時間方向の全範囲に亘る細長い矩形状の第2のマスクとの少なくとも一方を前記マスクとして用いて前記加工データを作成する
ことを特徴とする請求項1に記載の検査装置。
【請求項3】
前記波形データの前記スペクトログラムにおける当該波形データの特徴が現れた領域の時間方向の幅を前記第1のマスクのマスク幅として算出し、前記波形データの前記スペクトログラムにおける当該波形データの特徴が現れた領域の周波数方向の幅を前記第2のマスクのマスク幅として算出するマスク作成部をさらに備え、
前記加工データ作成部は、
前記マスク作成部により算出された前記マスク幅の前記マスクを用いて前記加工データを作成する
ことを特徴とする請求項2に記載の検査装置。
【請求項4】
前記マスク作成部は、
事前に用意した前記波形データの前記スペクトログラムにおける前記マスクを設定すべき各領域部分のデータ値の平均値に基づいて、前記スペクトログラム上の前記マスクを設定する位置ごとの前記マスクのマスク値を決定し、
前記加工データ作成部は、
前記マスク作成部により決定された前記マスク値の前記マスクを用いて前記加工データを作成する
ことを特徴とする請求項3に記載の検査装置。
【請求項5】
前記マスク作成部は、
事前に用意した前記波形データの前記スペクトログラムにおける前記マスクを設定する各領域部分のデータ値の平均値が予め設定された閾値以上である場合には、当該平均値を前記マスクのマスク値に決定し、当該平均値が当該閾値未満である場合には、予め設定された値を前記マスクのマスク値に決定する
ことを特徴とする請求項4に記載の検査装置。
【請求項6】
前記異常度・変化度算出部は、
前記判定モデルがオートエンコーダ方式の機械学習モデルの場合には、前記波形データの前記スペクトログラムのうち、前記マスクが設定された領域以外の無加工領域内の各ピクセルの異常値の平均値を、当該領域に前記マスクが設定された場合における前記波形データの前記スペクトログラムの異常値として算出する
ことを特徴とする請求項1に記載の検査装置。
【請求項7】
前記加工データ作成部は、
マスク幅が固定の前記第1及び第2のマスクを用いて前記加工データを作成する
ことを特徴とする請求項2に記載の検査装置。
【請求項8】
波形データのスペクトログラムに基づいて異常の有無を判定する検査装置により実行される検査方法であって、
機械学習により得られた判定モデルを用いて、前記波形データの前記スペクトログラムの異常度を算出し、算出した異常度に基づいて異常の有無を判定する第1のステップと、
前記波形データの前記スペクトログラム上に当該波形データの特性に応じたマスクを設定してなる加工データを、前記マスクを当該マスクに応じた方向に順次シフトさせるようにして複数作成する第2のステップと、
作成した各前記加工データの異常度をそれぞれ算出し、算出した各加工データの異常度と、算出した前記波形データの前記スペクトログラムの異常度とに基づいて、各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度をそれぞれ算出する第3のステップと、
算出した各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度に基づいて、前記波形データの前記スペクトログラムにおける前記マスクが設定された各領域を、前記マスクを設定した場合の前記加工データの前記変化率又は変化度に応じた色又は濃度でそれぞれ着色した判定根拠画像を描画する第4のステップと、
異常の有無の判定結果及び描画した前記判定根拠画像を表示する第5のステップと
を備えることを特徴とする検査方法。
【請求項9】
前記第2のステップにおいて、前記検査装置は、
前記スペクトログラムの周波数方向と平行に前記周波数方向の全範囲に亘る細長い矩形状の第1のマスクと、前記スペクトログラムの時間方向と平行に前記時間方向の全範囲に亘る細長い矩形状の第2のマスクとの少なくとも一方を前記マスクとして用いて前記加工データを作成する
ことを特徴とする請求項8に記載の検査方法。
【請求項10】
前記第2のステップにおいて、前記検査装置は、
前記波形データの前記スペクトログラムにおける当該波形データの特徴が現れた領域の時間方向の幅を前記第1のマスクのマスク幅として算出し、前記波形データの前記スペクトログラムにおける当該波形データの特徴が現れた領域の周波数方向の幅を前記第2のマスクのマスク幅として算出し、
算出した前記マスク幅の前記マスクを用いて前記加工データを作成する
ことを特徴とする請求項9に記載の検査方法。
【請求項11】
前記第2のステップにおいて、前記検査装置は、
事前に用意した前記波形データの前記スペクトログラムにおける前記マスクを設定すべき各領域部分のデータ値の平均値に基づいて、前記スペクトログラム上の前記マスクを設定する位置ごとの前記マスクのマスク値を決定し、
決定した前記マスク値のマスクを用いて前記加工データを作成する
ことを特徴とする請求項10に記載の検査方法。
【請求項12】
前記第2のステップにおいて、前記検査装置は、
事前に用意した前記波形データの前記スペクトログラムにおける前記マスクを設定すべき各領域部分のデータ値の平均値が予め設定された閾値以上である場合には、当該平均値を前記マスクのマスク値に決定し、当該平均値が当該閾値未満である場合には、予め設定された値を前記マスクのマスク値に決定する
ことを特徴とする請求項11に記載の検査方法。
【請求項13】
前記第3のステップにおいて、前記検査装置は、
前記判定モデルがオートエンコーダ方式の機械学習モデルの場合には、前記波形データの前記スペクトログラムのうち、前記マスクが設定された領域以外の無加工領域内の各ピクセルの異常値の平均値を、当該領域に前記マスクが設定された場合における前記波形データの前記スペクトログラムの異常値として算出する
ことを特徴とする請求項8に記載の検査方法。
【請求項14】
前記第2のステップにおいて、前記検査装置は、
マスク幅が固定の前記第1及び第2のマスクを用いて前記加工データを作成する
ことを特徴とする請求項9に記載の検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は検査装置及び方法に関し、例えば、機械学習モデルを用いて異音の有無を検査する異音検査装置に適用して好適なものである。
【背景技術】
【0002】
一般に機械学習による予測には根拠が求められる。製造現場で製造装置や製品が発する音に異音が混入していないかを検知するモデルのPoC(Proof of Concept)を行うケースなどでも、そのモデル予測が信頼できる根拠に基づいているか説明を求められることは多い。
【0003】
また本番運用などにおいても、マイクロホンで収集した製造装置や製品などが発する音の音データを機械学習モデルに投入し、異音の有無に基づいてその製造装置や製品等の良否を判定するケースにおいて、良否判定の根拠となった音をその場で確認したいといったニーズがある。しかしながら、音データに対するモデルの説明性を確保することは難しい。
【0004】
なお機械学習モデルを用いて検査対象音の異常判定を行う技術として、特許文献1には、ディジタル化された音信号を周波数解析、座標軸変換、座標軸分割、平均化処理、強度・振幅の圧縮処理の各ステップで加工処理した後にニューラルネットワークに入力して、学習データによる学習及び検査対象の異常判定を行う音響検査装置が開示されている。
【0005】
一方、画像認識分野では、機械学習に用いられる分類器による分類結果から分類の要因となる特徴を推定する方法としてLIME(Local Interpretable Model-agnostic Explanations)や、SHAP(Shapley Additive exPlanations)と呼ばれる手法がある。これらはテスト画像データの一部をランダムにマスクした多数の加工(摂動)データをブラックボックスに投入し、得られた判定結果から特徴量の寄与度を分析することで判定根拠を得るものである。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、音データについても機械学習モデルを用いた異音判定結果の判定根拠を得る方法として、音データの時間軸(x軸)×周波数軸(y軸)のスペクトログラムのデータ(以下、これを単にスペクトログラムデータと呼ぶ)に対してLIMEやSHAPなどの公知の技術を適用することが考えられる。
【0008】
しかしながら、インパルス音のように周波数軸と平行な方向(以下、これを周波数方向と呼ぶ)に特徴が現れる音や、連続音のように時間軸と平行な方向(以下、これを時間方向と呼ぶ)に特徴が現れる音などでは、領域に対してランダムにマスクを施す方法では、音データの特性が失われてしまうため、かかる根拠の抽出が難しいケースがあるという問題があった。
【0009】
また現場で収集される音の音データについては、無音要素が少なく、周波数軸及び時間軸全体に環境音などの何らかの音が入っているケースが多い。この場合、公知技術のように領域のマスク値として0(無音)を適用するとマスクの適用前後で音データの差分が大きくなるため、正常な音であってもマスク加工した音の異常度が高く算出され、判定根拠の説明性が低下するという問題があった。
【0010】
本発明は以上の点を考慮してなされたもので、機械学習により得られた判定モデルを用いた異常判定の判定結果の根拠を確実に明示し得る付加価値の高い検査装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【0011】
かかる課題を解決するため本発明においては、波形データのスペクトログラムに基づいて異常の有無を判定する検査装置において、機械学習により得られた判定モデルを用いて、前記波形データの前記スペクトログラムの異常度を算出し、算出した異常度に基づいて異常の有無を判定する検査判定部と、前記波形データの前記スペクトログラム上に当該波形データの特性に応じたマスクを設定してなる加工データを、前記マスクを当該マスクに応じた方向に順次シフトさせるようにして複数作成する加工データ作成部と、前記加工データ作成部により作成された各前記加工データの異常度をそれぞれ算出し、算出した各加工データの異常度と、前記検査判定部により算出された前記波形データの前記スペクトログラムの異常度とに基づいて、各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度をそれぞれ算出する異常度・変化度算出部と、算出された各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度に基づいて、前記波形データの前記スペクトログラムにおける前記マスクが設定された各領域を、前記マスクを設定した場合の前記加工データの前記変化率又は変化度に応じた色又は濃度でそれぞれ着色した判定根拠画像を描画する判定根拠描画部と、前記検査判定部の判定結果及び前記判定根拠描画部により描画された前記判定根拠画像を表示する結果表示部とを設けるようにした。
【0012】
また本発明においては、波形データのスペクトログラムに基づいて異常の有無を判定する検査方法において、機械学習により得られた判定モデルを用いて、前記波形データの前記スペクトログラムの異常度を算出し、算出した異常度に基づいて異常の有無を判定する第1のステップと、前記波形データの前記スペクトログラム上に当該波形データの特性に応じたマスクを設定してなる加工データを、前記マスクを当該マスクに応じた方向に順次シフトさせるようにして複数作成する第2のステップと、作成した各前記加工データの異常度をそれぞれ算出し、算出した各加工データの異常度と、算出した前記波形データの前記スペクトログラムの異常度とに基づいて、各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度をそれぞれ算出する第3のステップと、算出した各前記加工データの前記波形データの前記スペクトログラムからの変化率又は変化度に基づいて、前記波形データの前記スペクトログラムにおける前記マスクが設定された各領域を、前記マスクを設定した場合の前記加工データの前記変化率又は変化度に応じた色又は濃度でそれぞれ着色した判定根拠画像を描画する第4のステップと、異常の有無の判定結果及び描画した前記判定根拠画像を表示する第5のステップとを設けるようにした。
【0013】
本発明の検査装置及び方法によれば、機械学習により得られた判定モデルを用いた異常判定の判定結果の根拠を確実に明示することができる。
【発明の効果】
【0014】
本発明によれば、付加価値の高い検査装置及び方法を実現できる。
【図面の簡単な説明】
【0015】
【
図1】第1及び第2の実施の形態による異音検査装置の全体構成を示すブロック図である。
【
図2】(A)は、インパルス音のスペクトログラムの一例を示す図であり、(B)は時間方向マスクの説明に供する図である。
【
図3】(A)は、定常音のスペクトログラムの一例を示す図であり、(B)は周波数方向マスクの説明に供する図である。
【
図4】異常度及び変化度の説明に供する図表である。
【
図6】(A)は、インパルス音及び定常音の双方を含む場合のスペクトログラムの一例を示す図であり、(B)はその場合における時間方向マスク及び周波数方向マスクの説明に供する図である。
【
図7】(A)は検査対象音が環境音を含む場合のスペクトログラムの一例を示す図であり、(B)はその場合のマスク値の説明に供する図である。
【
図8】第1及び第2の実施の形態による異音検査装置の論理構成を示すブロック図である。
【
図9】第1の実施の形態の異音検査装置に対する各種設定の説明に供する図表である。
【
図10】異音検査処理の処理手順を示すフローチャートである。
【
図11】マスク作成処理の処理手順を示すフローチャートである。
【
図12】時間方向マスク作成処理の処理手順を示すフローチャートである。
【
図13】周波数方向マスク作成処理の処理手順を示すフローチャートである。
【
図14】第1の実施の形態による時間方向×周波数方向マスク作成処理の処理手順を示すフローチャートである。
【
図15】加工データ作成処理の処理手順を示すフローチャートである。
【
図16】時間方向加工データ作成処理の処理手順を示すフローチャートである。
【
図17】周波数方向加工データ作成処理の処理手順を示すフローチャートである。
【
図18】時間方向×周波数方向加工データ作成処理の処理手順を示すフローチャートである。
【
図19】第1の異常度・変化率算出処理の処理手順を示すフローチャートである。
【
図20】第2の異常度・変化率算出処理の処理手順を示すフローチャートである。
【
図21】判定根拠描画の処理手順を示すフローチャートである。
【
図22】(A)及び(B)は、第2の実施形態の概要説明に供する図である。
【
図23】第2の実施の形態の異音検査装置に対する各種設定の説明に供する図表である。
【
図24】第2の実施の形態による時間方向×周波数方向マスク作成処理の処理手順を示すフローチャートである。
【
図25】他の実施の形態の説明に供する図表である。
【発明を実施するための形態】
【0016】
以下図面について、本発明の一実施の形態を詳述する。
【0017】
(1)第1の実施の形態
(1-1)本実施の形態による異音検査装置の構成
図1において、1は全体として本実施の形態による異音検査装置を示す。この異音検査装置1は、異音の有無に基づいて検査対象の音(以下、これを検査対象音と呼ぶ)の正常/異常を判定する機能が搭載されたコンピュータ装置であり、CPU(Central Processing Unit)2、メモリ3、記憶装置4、入力装置5及び表示装置6を備えて構成される。
【0018】
CPU2は、異音検査装置1全体の動作制御を司るプロセッサである。またメモリ3は、例えば揮発性の半導体メモリから構成され、CPU2のワークメモリとして利用される。メモリ3には、異音検査装置1の起動時や必要時に記憶装置4から読み出されたフーリエ変換プログラム10、正常/異常判定プログラム11、異常検知結果出力プログラム12、マスク作成プログラム13、加工データ作成プログラム14、異常度・変化率算出プログラム15、判定根拠描画プログラム16、結果表示プログラム17及び判定モデル部プログラム18などの各種プログラムが格納されて保持される。
【0019】
記憶装置4は、ハードディスク装置やSSD(Solid State Drive)などの大容量の不揮発性の記憶装置から構成され、各種プログラムや長期間保存が必要なデータなどが格納されて保持される。後述の判定モデル20A、マスク情報格納データベース21、根拠算出用波形データ格納データベース22、判定根拠情報格納データベース23もこの記憶装置4に格納されて保持される。
【0020】
入力装置5は、例えばマウスやキーボードなどから構成され、ユーザが必要な情報や命令を入力するために利用される。また表示装置6は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどから構成され、各種画面を表示するために利用される。なお入力装置5及び表示装置6として、これらが一体化したタッチパネルを適用するようにしてもよい。
【0021】
(1-2)本実施の形態の異音検査機能
(1-2-1)本実施の形態の異音検査機能に基づく判定根拠の表示
次に、かかる異音検査装置1に搭載された異音検査機能について説明する。この異音検査機能は、異音の有無に基づいて判定した検査対象音の正常/異常の判定結果に加えて、その判定結果の根拠を併せて表示する機能である。
【0022】
このような異音検査機能を説明するに際して、まず、検査対象音に異音として瞬間的に現れる衝撃音(以下、これをインパルス音と呼ぶ)や、モータ音などのように連続する一定周波数の音(以下、これを定常音と呼ぶ)の音データを短時間フーリエ変換することにより得られるスペクトログラムの特性について説明する。
【0023】
図2(A)は、インパルス音を短時間フーリエ変換することにより得られるスペクトログラムSGの一例を示す。この
図2(A)に示すように、かかるスペクトログラムSGでは、周波数方向と平行に周波数方向の全範囲に亘る色の濃い細長い領域AR1が現れる特徴を有する。このようなスペクトログラムSGに対し、LIMEやSHAPのような既存の画像認識技術をそのまま適用してその特徴を抽出する場合を考える。なお、
図2(A)において、色の濃い領域は音圧が強く、薄い領域は音圧が弱いことを表す。
【0024】
図2(A)の領域AR2は、LIMEやSHAPなどによりマスクされた領域を表す。LIMEやSHAPではマスクの形状はランダムであるが、ここではマスクを矩形状とした例を示している。
図2(A)では説明のためマスクがスペクトログラムSGの左上に設定された状態を例示しているが、LIMEやSHAPのような既存の画像認識技術を適用する場合、マスクはスペクトログラムSGの任意の箇所に設定される。そしてLIMEやSHAPなどでは、スペクトログラムSGのすべての箇所が少なくとも1度はマスクされるようにマスクの位置をランダムに切り替えながらマスク加工された複数のスペクトログラムSGのデータを順次作成する。
【0025】
このようにして作成した各スペクトログラムSGのデータについて、マスクの位置ごとにそのときのスペクトログラムSGの異常度をGMM(Gaussian Mixture Model)などの既知の手法を利用してそれぞれ算出し、算出結果に基づいてスペクトログラムSG内で特徴を抽出する場合、かかる特徴を有する領域AR1の一部しかマスクされないため音の特徴が失われ、判定根拠が推定できないことがある。
【0026】
例えば
図2(A)の場合、対象音は9kHz以上の音域を有するにもかかわらず、マスクによって領域AR1の上端部が覆われた場合、対象音が例えば8kHz程度までの音域しか有さない音として取り扱われることになる。そのためモデルに投入して得られる異常度は、検査音(ここでは0~9kHZ)と、マスク加工音(ここでは0~8kHZ)とで大きく乖離する(AIに別の音とみなされる)。この結果、異常度や異常度の変化率・変化度が正確に計算できず、これらの数値を利用した根拠の推定(及び後述のような判定根拠の描画)ができないことがある。
【0027】
一方、
図3(A)は、定常音の音データを短時間フーリエ変換することにより得られるスペクトログラムSGの一例を示す。この
図3(A)に示すように、かかるスペクトログラムSGでは、時間方向と平行に時間方向の全範囲に亘る色の濃い細長い領域AR3が現れる特徴を有する。このようなスペクトログラムSGに対し、LIMEやSHAPのような既存の画像認識技術をそのまま適用した場合も、
図2(A)のケースと同様に、音の特徴が失われ判定根拠が推定できないことがある。
【0028】
そこで本実施の形態においては、事前の検査で検出した検査対象音の音データ(以下、適宜、これを検査対象音データと呼ぶ)のスペクトログラムSGに対し、検査対象音に含まれる音の特性に応じたマスクを設定することにより、以上のような問題を解決する。
【0029】
具体的に、本実施の形態の場合、検査対象音データを短時間フーリエ変換し、得られたスペクトログラムSGにおいて
図2(A)のように周波数方向にのみ特徴が現れるときには、
図2(B)に示すように、周波数方向と平行に周波数方向の全範囲に亘る細長い矩形状のマスク(以下、これを時間方向マスクと呼ぶ)MK1をそのスペクトログラムSG上に設定する。このときの時間方向マスクMK1の時間方向の幅(マスク幅)は、かかるスペクトログラムSG内の検査対象音の音圧が予め設定された閾値(以下、これを特徴音用音圧閾値と呼ぶ)以上の領域における、時間方向に並ぶサンプルの数(サンプル数)が最大のものを選出して適用する。
【0030】
なお、ここでの「サンプル数」とは、検査対象音のサンプリング周波数が例えば16000(1/s)、検査対象音の時間が9秒であった場合には、次式
【数1】
のように個数が算出される時間方向の全サンプルのうち、時間方向に連続する1つの色の濃い領域AR1を構成し、かつ、その値が特徴音用音圧閾値以上の時間方向に連続するサンプルの数を指す。本実施の形態では、事前の検査により検査対象音データのスペクトログラムSGにおいて
図2(A)のように時間方向にのみ特徴が現れる(つまり検査対象音がインパルス音のみを含む)ことを確認した場合には、後述のように時間方向マスクMK1のみを利用することとなるが、このサンプル数の最大値を時間方向マスクMK1のマスク幅として適用する。
【0031】
そして、この時間方向マスクMK1を、かかるスペクトログラムSG内のすべての領域がそれぞれ1回以上マスクされるように、時間方向マスクMK1のマスク幅の間隔で時間方向に順次シフトさせるようにして、それぞれ異なる位置に時間方向マスクMK1が設定されたスペクトログラムSGのデータを加工データとして順次作成する。さらに
図4に示すように、作成した各加工データの異常度をGMMなどの既知の手法を利用してそれぞれ算出すると共に、これら加工データごとの、時間方向マスクMK1を設定する前のスペクトログラムSGのデータ(検査対象音データのスペクトログラムSGのデータであり、以下、これを元データと呼ぶ)からの変化率を次式
【数2】
によりそれぞれ算出する。
【0032】
同様に、検査対象音データを短時間フーリエ変換し、得られたスペクトログラムSGにおいて
図3(A)のように周波数方向にのみ特徴が現れるときには、
図3(B)に示すように、時間方向と平行に時間方向の全範囲に亘る細長い矩形状のマスク(以下、これを周波数方向マスクと呼ぶ)MK2をそのスペクトログラムSG上に設定する。このときの周波数方向マスクMK2の周波数方向の幅(マスク幅)は、検査対象音の音圧が上述の特徴音用音圧閾値以上の領域における、周波数方向に並ぶ要素数が最大のものを選出して適用する。
【0033】
なお、ここでの「要素数」とは、周波数方向に連続する1つの色の濃い領域AR3を構成し、かつ、その値が特徴音用音圧閾値以上の周波数方向に連続する要素(周波数)の数をいう。本実施の形態では、事前の検査により検査対象音データのスペクトログラムSGにおいて
図3(A)のように周波数方向にのみ特徴が現れる(つまり検査対象音が定常音のみを含む)ことを確認した場合には、後述のように周波数方向マスクMK2のみを利用することとなるが、この要素数の最大値を周波数方向マスクMK2のマスク幅として適用する。
【0034】
そして、この周波数方向マスクMK2を、かかるスペクトログラムSG内のすべての領域がそれぞれ1回以上マスクされるように、周波数方向マスクMK2のマスク幅の間隔で周波数方向に順次シフトさせるようにして、それぞれ異なる位置に周波数方向マスクMK2が設定されたスペクトログラムSGのデータを加工データとして順次作成する。さらに作成した各加工データの異常度及び変化率を上述と同様にしてそれぞれ算出する。
【0035】
この後、例えば
図5に示すように、検査対象音データのスペクトログラムSGにおける時間方向マスクMK1やその周波数方向マスクMK2が設定された各位置を、それぞれその位置に時間方向マスクMK1や周波数方向マスクMK2を設定したときの変化率に応じた色又は濃度でプロット(着色)した判定根拠画像24を生成する。なお、
図5は、検査対象音のスペクトログラムSGにおいて時間方向にのみ特徴が現れる場合の一例である。これにより検査対象音の異常を検知した場合に、その検査対象音のスペクトログラムSG上のどの箇所がその異常検知の根拠となったかを視覚的にユーザに提示することができる。
【0036】
なお、例えば検査対象音にインパルス音及び定常音の双方が含まれ、そのスペクトログラムSGにおいて
図6(A)のような時間方向及び周波数方向の双方に特徴が現れる場合には、
図6(B)に示すように、時間方向マスクMK1及び周波数方向マスクMK2の双方を利用する。このようにすることによって、検査対象音にインパルス音及び定常音の双方が含まれる場合などにおいても、その検査対象音のスペクトログラムSG上のどの箇所がその異常検知の根拠となったかを視覚的にユーザに提示することができる。またこのようにすることによって、LIMEやSHAPのようにランダムに選んだ領域にマスクする場合に比べて音の特性を失い難くすることができる。
【0037】
一方、例えば
図7(A)に示すように、検査対象音に対して全体的に環境音やノイズが混じっている場合に
図7(B)のようにスペクトログラムSG上に設定する時間方向マスクMK1や周波数方向マスクMK2内のデータ値(以下、これをマスク値と呼ぶ)を、LIMEやSHAPなどで用いられる「0」として上述の方法を適用すると、元データ(検査対象音データのスペクトログラムSGのデータ)と、時間方向マスクMK1や周波数方向マスクMK2が設定された加工データとの性質の差が大きくなり、算出される加工データの異常度に大きな誤差が生じる場合がある。
【0038】
そこで、本実施の形態においては、予め環境音のみを記録した音データを用意し、その音データを短時間フーリエ変換することにより得られるスペクトログラムSGを利用して、検査対象音データのスペクトログラムSG上のマスク幅に応じた所定位置(以下、これらをマスク設定位置と呼ぶ)にそれぞれ設定される時間方向マスクMK1や周波数方向マスクMK2のマスク設定位置ごとのマスク値を決定する。
【0039】
具体的には、マスク設定位置ごとに、環境音データのスペクトログラムSG上のそのマスク設定位置に対応する領域内の環境音の平均値が予め設定された閾値(以下、これをマスク用音圧閾値と呼ぶ)以上である場合には、当該平均値を、そのマスク設定位置における時間方向マスクMK1や周波数方向マスクMK2のマスク値として適用する。また、その領域の環境音の音圧の平均値がマスク用音圧閾値未満である場合には、予めユーザが設定した値(例えば、マスク用音圧閾値)をそのマスク設定位置における時間方向マスクMK1や周波数方向マスクMK2のマスク値として適用する。
【0040】
このように検査対象音に含まれる環境音の音圧が大きい場合に、その音圧の平均値をマスク値として設定することにより、元データ及び加工データ間の性質の差を低減でき、算出される異常度に大きな誤差が生じることを未然に防止することができる。
【0041】
他方、機械学習モデルとして、オートエンコーダ(auto encoder)方式の機械学習モデルを適用する場合、検査対象音データのスペクトログラムのピクセルごとに異常度が算出される。
【0042】
そこで本実施の形態においては、機械学習モデルがオートエンコーダ方式の機械学習モデルの場合には、検査対象音データのスペクトログラムのうち、時間方向マスクMK1や周波数方向マスクMK2が設定されない領域(以下、これを無加工領域と呼ぶ)内の各ピクセルの異常値の平均値を、対応するマスク設定位置に時間方向マスクMK1や周波数方向マスクMK2が設定された場合の検査対象音データのスペクトログラムの異常値として算出する。このようにすることによって、マスク加工した部分の影響をカットできるため、より正確な異常度を算出することができる。
【0043】
(1-2-2)本実施の形態による異音検査装置の論理構成
図8は、
図1について上述した本実施の形態による異音検査装置1の論理構成を示す。この
図8に示すように、異音検査装置1は、フーリエ変換部30、検査判定部31、判定根拠算出部32及び結果表示部33を備えて構成される。
【0044】
フーリエ変換部30は、異音検査装置1のCPU2(
図1)がメモリ3に読み出されたフーリエ変換プログラム10を実行することにより具現化される機能部である。フーリエ変換部30は、事前に録音された検査対象音の音データである検査対象音データ40を短時間フーリエ変換し、得られたスペクトログラムSGのデータを後述する検査判定部31の判定モデル部20が備える判定モデル20Aと、判定根拠算出部32のマスク作成部50とにそれぞれ出力する。またフーリエ変換部30は、事前に記録した環境音のみの音データからなるマスク作成用データ41を短時間フーリエ変換し、得られたスペクトログラムSGのデータを判定根拠算出部32のマスク作成部50に出力する。
【0045】
検査判定部31は、検査対象音の正常/異常を判定する機能を有する機能部であり、判定モデル部20、正常/異常判定部42及び異常検知結果出力部43を備えて構成される。
【0046】
判定モデル部20は、異音検査装置1のCPU2(
図1)がメモリ3(
図1)に読み出した判定モデル部プログラム18(
図1)を実行することにより具現化される機能部であり、判定モデル20Aを備える。判定モデル20Aは、事前に用意された学習用の検査対象音データを学習データとして、検査対象音の異常度をGMMなどの既知の手法を利用して機械学習することにより作成された機械学習モデルである。
【0047】
判定モデル部20には、本番運用時、フーリエ変換部30から与えられる検査対象音データのスペクトログラムSGのデータが与えられる。そして判定モデル部20は、この検査対象音データを判定モデル20Aに投入する。判定モデル20Aは、投入された検査対象音データの異常度をGMMなどにより算出する。そして判定モデル部20は、このとき算出された異常度を、元データ異常度45として後述する判定根拠算出部32の判定根拠情報格納データベース23に格納する。また判定モデル部20は、そのとき判定モデル部20に与えられた検査対象音データ40のスペクトログラムSGのデータも元データ46として判定根拠情報格納データベース23に格納する。
【0048】
正常/異常判定部42は、異音検査装置1のCPU2(
図1)がメモリ3(
図1)に読み出した正常/異常判定プログラム11(
図1)を実行することにより具現化される機能部である。正常/異常判定部42は、上述のようにして判定根拠情報格納データベース23に格納された元データ異常度45に基づいて元データ46(ひいては検査対象音)の正常/異常を判定する。例えば、正常/異常判定部42は、元データ異常度45が予め設定された閾値未満であれば元データ46を正常と判断し、元データ異常度45がかかる閾値以上であれば元データ46を異常であると判定する。そして正常/異常判定部42は、かかる判定結果を異常検知結果出力部43に通知する。
【0049】
異常検知結果出力部43は、異音検査装置1のCPU2がメモリ3に読み出した異常検知結果出力プログラム12(
図1)を実行することにより具現化される機能部である。異常検知結果出力部43は、正常/異常判定部42から通知された元データ46の正常/異常の判定結果を判定結果情報44として結果表示部33に出力する。
【0050】
一方、判定根拠算出部32は、検査判定部31の判定モデル部20Aが備える判定モデル20Aの判定結果の根拠を算出する機能を有する機能部であり、マスク作成部50、加工データ作成部51、異常度・変化率算出部52、判定根拠描画部53、マスク情報格納データベース21、根拠算出用波形データ格納データベース22及び判定根拠情報格納データベース23を備えて構成される。
【0051】
マスク作成部50は、異音検査装置1のCPU2がメモリ3に読み出したマスク作成プログラム13(
図1)を実行することにより具現化される機能部である。マスク作成部50は、検査対象音データ40のスペクトログラムSG上に設定すべき時間方向マスクMK1や周波数方向マスクMK2のマスク幅と、検査対象音データ40のスペクトログラムSG上の時間方向マスクMK1や周波数方向マスクMK2の各マスク設定位置におけるマスク値とをそれぞれ算出する機能を有する。
【0052】
実際上、異音検査装置1には、
図9に示すように、
図2(B)及び
図3(B)について上述した時間方向マスクMK1や周波数方向マスクMK2のマスク幅を決定するための上述のマスク用音圧閾値と、検査対象音データ40のスペクトログラムSGから特徴部位を抽出するための上述の特徴音用音圧閾値と、後述する時間方向マスクシフト幅及び周波数方向マスクシフト幅とについて、これらのデフォルト値に対してユーザが予め指定したマスク用音圧閾値、特徴音用音圧閾値、時間方向マスクシフト幅及び周波数方向マスクシフト幅がそれぞれ設定されている。
【0053】
また異音検査装置1は、時間方向マスクMK1を利用すべきか否かを表すマスク要否フラグ(以下、これを時間方向マスク要否フラグと呼ぶ)と、周波数方向マスクMK2を利用すべきか否かを表すマスク要否フラグ(以下、これを周波数方向マスク要否フラグと呼ぶ)とを管理している。そしてユーザが時間方向マスクMK1を利用すべき旨の設定を行った場合(つまりインパルス音の有無を判定すべき設定を行った場合)には、時間方向マスク要否フラグの値が「True」に設定され、ユーザが周波数方向マスクMK2を利用すべき旨の設定を行った場合(つまり定常音の有無を判定すべき設定を行った場合)には、周波数方向マスク要否フラグの値が「True」に設定される。さらにユーザが
図6(B)のように時間方向マスクMK1及び周波数方向マスクMK2の双方を利用すべき旨の設定には、時間方向マスク要否フラグ及び周波数方向マスク要否フラグの双方が「True」に設定される。
【0054】
そしてマスク作成部50は、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータ、及び、マスク作成用データ41のスペクトログラムSGのデータと、
図9について上述したユーザによる各種設定とに基づいて、そのとき作成すべき時間方向マスクMK1及び又は周波数方向マスクMK2の各マスク幅と、その時間方向マスクMK1及び又は周波数方向マスクMK2のマスク設定位置ごとのマスク値とをそれぞれ算出する。そしてマスク作成部50は、算出したこれらマスク幅及びマスク設定位置ごとのマスク値をマスクデータ54としてマスク情報格納データベース21に格納する。
【0055】
加工データ作成部51は、異音検査装置1のCPU2が、メモリ3に読み出した加工データ作成プログラム14(
図1)を実行することにより具現化される機能部である。加工データ作成部51は、検査対象音データ40のスペクトログラムSGのデータと、マスク情報格納データベース21に格納されたマスクデータ54とを利用して、検査対象音データ40のスペクトログラムSG上に設定した時間方向マスクMK1及び又は周波数方向マスクMK2をそのマスク幅分ずつ時間方向や周波数方向に順次シフトさせるようにして加工データ55をそれぞれ作成する。そして加工データ作成部51は、作成した各加工データ55と、そのとき時間方向マスクMK1及び又は周波数方向マスクMK2が設定されているスペクトログラムSG上の位置(マスク設定位置)を表すマスク位置データ56とをそれぞれ根拠算出用波形データ格納データベース22に格納する。
【0056】
根拠算出用波形データ格納データベース22に格納された各加工データ55は、この後、異常度・変化率算出部52により根拠算出用波形データ格納データベース22から順番に読み出されて検査判定部31の判定モデル部20に順次供給される。また判定モデル部20は、供給された各加工データ55を順次判定モデル20Aに投入する。そして判定モデル部20は、判定モデル20Aにより算出された各加工データ55の異常度を異常度・変化率算出部52に順次出力する。
【0057】
異常度・変化率算出部52は、異音検査装置1のCPU2が、メモリ3に読み出した異常度・変化率算出プログラム15(
図1)を実行することにより具現化される機能部である。異常度・変化率算出部52は、判定根拠情報格納データベース23に格納されている元データ異常度45と、検査判定部31の判定モデル部20から与えられた各加工データ55の異常度とに基づいて、上述の(2)式により各加工データ55の変化率をそれぞれ算出する。そして異常度・変化率算出部52は、各加工データ55の異常度及び変化率をそれぞれ加工データ異常度・変化率情報57として判定根拠情報格納データベース23に格納する。
【0058】
この加工データ55ごとの加工データ異常度・変化率情報57は、この後、判定根拠描画部53により判定根拠情報格納データベース23から読み出される。
【0059】
判定根拠描画部53は、異音検査装置1のCPU2が、メモリ3に読み出した判定根拠描画プログラム16(
図1)を実行することにより具現化される機能部である。判定根拠描画部53は、各加工データ55のマスク位置データ56を根拠算出用波形データ格納データベース22から読み出し、読み出した各加工データ55のマスク位置データ56と、判定根拠情報格納データベース23から読み出したこれら加工データ55の加工データ異常度・変化率情報57とに基づいて
図5について上述した判定根拠画像24を描画し、描画した判定根拠画像24の画像データを判定根拠情報58として結果表示部33に出力する。
【0060】
結果表示部33は、異音検査装置1のCPU2が、メモリ3に読み出した結果表示プログラム17(
図1)を実行することにより具現化される機能部である。結果表示部33は、検査判定部31の異常検知結果出力部43から与えられた判定結果情報44に基づく検査対象音の正常/異常の判定結果(例えば、「異常判定閾値10に対して検査対象音の異常度が100」など)と、判定根拠算出部32の判定根拠描画部53から与えられた判定根拠情報58とに基づく
図5について上述した判定根拠画像24とを表示装置6(
図1)に表示する。
【0061】
(1-2-3)本実施の形態の異音検査機能に関する各種処理
次に、上述した本実施の形態による異音検査機能に関連して異音検査装置1において実行される一連の処理(以下、これを異音検査処理と呼ぶ)の具体的な処理内容について説明する。なお、以下の説明では、各処理の処理主体を機能部(「……部」)として説明するが、実際上は、異音検査装置1のCPU2がその機能部に対応するプログラムに基づいてその処理を実行することは言うまでもない。
【0062】
(1-2-3-1)異音検査処理
図10は、かかる異音検査処理の具体的な処理の流れを示す。この異音検査処理は、所定のタイミングで開始される。このような「所定のタイミング」としては、異常を検知したタイミングや、定期的なタイミング(例えば毎日決まった時刻)、又は、ユーザ操作に応じた任意のタイミングなどが考えられる。
【0063】
そして、かかる異音検査処理が開示されると、まず、フーリエ変換部30が、検査対象音データ40を短時間フーリエ変換し、得られたスペクトログラムSGのデータを検査判定部31の判定モデル部20と、判定根拠算出部32のマスク作成部50とに出力する。またフーリエ変換部30は、マスク作成用データ41も短時間フーリエ変換し、得られたスペクトログラムSGをマスク作成部50に出力する(S1)。
【0064】
続いて、判定モデル部20が、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータを判定モデル20Aに投入することにより、当該スペクトログラムSGの異常度を算出させる(S2)。また判定モデル部20は、判定モデル20Aにより算出された異常度を元データ異常度45として判定根拠算出部32の判定根拠情報格納データベース23に格納すると共に、検査対象音データ40のスペクトログラムSGのデータを元データ46として判定根拠情報格納データベース23に格納する(S3)。
【0065】
次いで、検査判定部31の正常/異常判定部42が、判定根拠情報格納データベース23に格納された元データ異常度45に基づいて元データ46(ひいては検査対象音)が正常であるか否かを判定し、判定結果を異常検知結果出力部43を介して判定結果情報44として結果表示部33に出力する(S4)。
【0066】
一方、ステップS3の終了後、ステップS4の処理と並行して、判定根拠算出部32のマスク作成部50が、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータ、及び、マスク作成用データ41のスペクトログラムSGのデータと、ユーザによる初期設定とに基づいて、ユーザにより指定された時間方向マスクMK1及び又は周波数方向マスクMK2のマスク幅と、時間方向マスクMK1及び又は周波数方向マスクMK2のマスク設定位置ごとのマスク値とをそれぞれ算出する。そしてマスク作成部50は、算出したマスク幅及びマスク設定位置ごとのマスク値をマスクデータ54としてマスク情報格納データベース21に格納する(S5)。以下においては、この一連の処理をマスク作成処理と呼ぶ。
【0067】
続いて、加工データ作成部51が、マスク情報格納データベース21に格納されたマスクデータ54に基づいて、検査対象音データ40のスペクトログラムSG上で時間方向マスクMK1及び又は周波数方向マスクMK2をそのマスク幅分ずつ時間方向や周波数方向に順次シフトさせるようにして、それぞれ異なるマスク設定位置に時間方向マスクMK1や周波数方向マスクMK2が設定されたスペクトログラムSGのデータでなる加工データ55を順次作成する。そして加工データ作成部51は、作成した各加工データ55を根拠算出用波形データ格納データベース22に格納すると共に、加工データ55ごとの時間方向マスクMK1や周波数方向マスクMK2が設定されたマスク設定位置をそれぞれマスク位置データ56として根拠算出用波形データ格納データベース22に格納する(S6)。以下においては、この一連の処理を加工データ作成処理と呼ぶ。
【0068】
この根拠算出用波形データ格納データベース22に格納された各加工データ55は、異常度・変化率算出部52により根拠算出用波形データ格納データベース22から順次読み出されて検査判定部31の判定モデル部20に供給されて判定モデル20Aに順次投入される。この結果、これら加工データ55の異常度が判定モデル20Aにより順次算出され、算出された各加工データ55の異常度が判定モデル部20から異常度・変化率算出部52に順次与えられる。
【0069】
異常度・変化率算出部52は、各加工データ55の異常度と、判定根拠情報格納データベース23に格納されている元データ異常度45とに基づいて、各加工データ55の元データ46(検査対象音データ40のスペクトログラムSGのデータ)からの変化率をそれぞれ算出し、算出した加工データ55ごとの異常度及び変化率をそれぞれ加工データ異常度・変化率情報57として判定根拠情報格納データベース23に格納する(S7)。以下においては、この一連の処理を異常度・変化率算出処理と呼ぶ。
【0070】
この後、判定根拠描画部53が、判定根拠情報格納データベース23に格納された加工データ55ごとの加工データ異常度・変化率情報57に基づいて、
図5について上述した判定根拠画像24を作成し、作成した判定根拠画像24の画像データを判定根拠情報58として結果表示部33に出力する(S8)。以下においては、この一連の処理を判定根拠描画と呼ぶ。
【0071】
かくして、結果表示部33は、検査判定部31から与えられた判定結果情報44に基づく検査対象音に対する正常/異常の判定結果と、判定根拠算出部32の判定根拠描画部53から与えられた判定根拠情報58とに基づく判定根拠画像24とを表示装置6に表示する(S9)。以上により、この異音検査処理が終了する。
【0072】
(1-2-3-2)マスク作成処理
(1-2-3-2-1)マスク作成処理の具体的な処理内容
図11は、
図10について上述した異音検査処理のステップS5においてマスク作成部50により実行されるマスク作成処理の具体的な流れを示す。マスク作成部50は、異音検査処理がステップS5に進むと、このマスク作成処理を開始し、まず、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータを取り込む(S10)。
【0073】
続いて、マスク作成部50は、ユーザにより事前に設定されたそのとき作成すべきマスクの種別(時間方向マスクMK1及び又は周波数方向マスクMK2)を確認し(S11)、そのとき作成すべきマスクが時間方向マスクMK1のみであるか否かを判断する(S12)。そしてマスク作成部50は、この判断で肯定結果を得ると、作成すべき時間方向マスクMK1のマスク幅と、時間方向マスクMK1のマスク設定位置ごとのマスク値とをそれぞれ算出する時間方向マスク作成処理を実行し(S13)、この後、ステップS17に進む。
【0074】
またマスク作成部は50、ステップS12で否定結果を得ると、そのとき作成すべきマスクが周波数方向マスクMK2のみであるか否かを判断する(S14)。そしてマスク作成部50は、この判断で肯定結果を得ると、作成すべき周波数方向マスクMK2のマスク幅と、周波数方向マスクMK2のマスク設定位置ごとのマスク値とをそれぞれ算出する周波数方向マスク作成処理を実行し(S15)、この後、ステップS17に進む。
【0075】
これに対して、ステップS14の判断で否定結果を得ることは、そのとき作成すべきマスクが時間方向マスクMK1及び周波数方向マスクMK2の双方であることを意味する。かくして、このときマスク作成部50は、作成すべき時間方向マスクMK1及び周波数方向マスクMK2の双方について、マスク幅と、時間方向マスクMK1及び周波数方向マスクMK2のマスク設定位置ごとのマスク値とをそれぞれ算出する時間方向×周波数方向マスク作成処理を実行し(S16)、この後、ステップS17に進む。
【0076】
そしてマスク作成部50は、ステップS17に進むと、ステップS13、ステップS15又はステップS16で算出した時間方向マスクMK1及び又は周波数方向マスクMK2のマスク幅及びマスク設定位置ごとのマスク値をマスクデータ54としてマスク情報格納データベース21に格納し(S17)、この後、このマスク作成処理を終了する。
【0077】
(1-2-3-2-2)時間方向マスク作成処理
図12は、
図11のステップS13においてマスク作成部50により実行される時間方向マスク作成処理の具体的な処理内容を示す。
【0078】
マスク作成部50は、
図11のステップS13に進むとこの
図12に示す時間方向マスク作成処理を開始し、まず、検査対象音データ40のスペクトログラムSG上に、周波数方向の全範囲に亘る高さを有し、かつユーザにより事前に設定された時間方向マスクシフト幅(
図9参照)と同じ時間方向の幅を有する矩形状の領域(以下、これを第1のマスク幅用矩形領域と呼ぶ)を、その左端の時間(以下、適宜、これをマスク時間と呼ぶ)が0秒となるように設定する(S20)。
【0079】
続いて、マスク作成部50は、検査対象音データ40のスペクトログラムSGにおける現在の第1のマスク幅用矩形領域内の音圧の平均値が、ユーザにより設定された上述の特徴音用音圧閾値(
図9参照)以上であるか否かを判断する(S21)。
【0080】
そしてマスク作成部50は、この判断で肯定結果を得ると、現在のマスク時間と、そのマスク時間と対応付けた第1のフラグをオン設定した特徴音有効フラグとを一時的にマスク情報格納データベース21に格納する(S22)。またマスク作成部50は、ステップS21で否定結果を得ると、現在のマスク時間と、かかる第1のフラグをオフ設定した特徴音無効フラグとを一時的にマスク情報格納データベース21に格納する(S23)。
【0081】
次いで、マスク作成部50は、マスク作成用データ41のスペクトログラムSG上のマスク時間が0秒の位置に、上述の第1のマスク幅用矩形領域と同様の第1のマスク値用矩形領域を設定し、その第1のマスク値用矩形領域内の音圧の平均値(以下、これを音圧平均値と呼ぶ)がユーザにより事前に設定されたマスク用音圧閾値(
図9参照)以上であるか否かを判断する(S24)。
【0082】
そしてマスク作成部50は、この判断で肯定結果を得ると、その第1のマスク値用矩形領域内の音圧平均値をそのときの第1のマスク値用矩形領域の位置と対応付けてマスク情報格納データベース21に一時的に格納する(S25)。これに対して、マスク作成部50は、ステップS24で否定結果を得ると、マスク用音圧閾値(
図9参照)をそのときの第1のマスク値用矩形領域の位置と対応付けてマスク情報格納データベース21に一時的に格納する(S26)。
【0083】
この後、マスク作成部50は、検査対象音データ40のスペクトログラムSG上に設定された第1のマスク幅用矩形領域と、マスク作成用データ41のスペクトログラムSG上に設定された第1のマスク値用矩形領域とを、それぞれユーザにより設定された上述の時間方向マスクシフト幅(
図9参照)分だけ時間方向の時刻が遅い方向にシフトさせる(S27)。
【0084】
またマスク作成部50は、第1のマスク幅用矩形領域や第1のマスク値用矩形領域をシフトさせた後のマスク時間(第1のマスク幅用矩形領域や第1のマスク値用矩形領域の左端の時間)が検査対象音の録音時間を超過したか否かを判断する(S28)。そしてマスク作成部50は、この判断で否定結果を得るとステップS21に戻り、この後、ステップS28で肯定結果を得るまでステップS21~ステップS28の処理を同様に繰り返す。
【0085】
そしてマスク作成部50は、やがてマスク時間が検査対象音の録音時間を超過することによりステップS28で肯定結果を得ると、マスク情報格納データベース21を参照して、特徴音有効フラグが対応付けられたマスク時間をすべて抽出する(S29)。
【0086】
続いて、マスク作成部50は、ステップS29で抽出したマスク時間が最も多く連続する区間の幅(時間幅)を時間方向マスクMK1のマスク幅に決定し、決定したマスク幅を上述のマスクデータ54の一部としてマスク情報格納データベース21に格納する(S30)。
【0087】
さらにマスク作成部50は、上述のようにして決定したマスク幅を有する時間方向マスクMK1をその左端の時間が0秒の位置から右端が検査対象音の録音時間となるまで時間方向に時間方向マスクシフト幅ずつシフトさせたときの各マスク設定位置における時間方向マスクMK1のマスク値をそれぞれ算出し、算出した各マスク値を上述のマスクデータ54の一部としてマスク情報格納データベース21に格納する(S31)。
【0088】
具体的に、マスク作成部50は、時間方向マスクMK1が1つの第1のマスク値用矩形領域と同じマスク幅を有する場合には、各マスク設定位置における第1のマスク値用矩形領域の音圧平均値をそのマスク設定位置における時間方向マスクMK1のマスク値にそれぞれ決定し、決定した各マスク設定位置におけるマスク値をマスク情報格納データベース21に格納する。
【0089】
またマスク作成部50は、時間方向マスクMK1が第1のマスク値用矩形領域の複数個分のマスク幅を有する場合には、マスク設定位置ごとに、そのマスク設定位置に含まれる各第1のマスク値用矩形領域の音圧平均値の平均値をそのマスク設定位置における時間方向マスクMK1のマスク値に決定し、決定したマスク値をマスク情報格納データベース21に格納する。そしてマスク作成部50は、この後、この時間方向マスク作成処理を終了して
図11のマスク作成処理に戻る。
【0090】
(1-2-3-2-3)周波数方向マスク作成処理
図13は、
図11のステップS15においてマスク作成部50により実行される周波数方向マスク作成処理の具体的な処理内容を示す。
【0091】
マスク作成部50は、
図11のステップS15に進むとこの
図13に示す周波数方向マスク作成処理を開始し、まず、検査対象音データ40のスペクトログラムSG上に、時間方向の全範囲に亘る長さを有し、かつユーザにより事前に設定された周波数方向マスクシフト幅(
図9参照)と同じ周波数方向の幅を有する矩形状の領域(以下、これを第2のマスク幅用矩形領域と呼ぶ)を、その下端の周波数(以下、これをマスク周波数と呼ぶ)が0Hzとなるように設定する(S40)。
【0092】
続いて、マスク作成部50は、検査対象音データ40のスペクトログラムSGにおける現在の第2のマスク幅用矩形領域内の音圧平均値が、ユーザにより設定された特徴音用音圧閾値(
図9参照)以上であるか否かを判断する(S41)。
【0093】
そしてマスク作成部50は、この判断で肯定結果を得ると、現在のマスク周波数と、そのマスク周波数と対応付けた第2のフラグをオン設定した特徴音有効フラグとを一時的にマスク情報格納データベース21に格納する(S42)。またマスク作成部50は、ステップS41で否定結果を得ると、現在のマスク周波数と、かかる第2のフラグをオフ設定した特徴音無効フラグとを一時的にマスク情報格納データベース21に格納する(S43)。
【0094】
次いで、マスク作成部50は、マスク作成用データ41のスペクトログラムSG上のマスク周波数が0Hzの位置に、上述の第2のマスク幅用矩形領域と同様の第2のマスク値用矩形領域を設定し、その第2のマスク値用矩形領域内の音圧平均値がユーザにより設定されたマスク用音圧閾値(
図9参照)以上であるか否かを判断する(S44)。
【0095】
そしてマスク作成部50は、この判断で肯定結果を得ると、その第2のマスク値用矩形領域内の音圧平均値をそのときの第2のマスク値用矩形領域の位置と対応付けてマスク情報格納データベース21に一時的に格納する(S45)。これに対して、マスク作成部50は、ステップS44で否定結果を得ると、マスク用音圧閾値(
図9参照)をそのときの第2のマスク値用矩形領域の位置と対応付けてマスク情報格納データベース21に一時的に格納する(S46)。
【0096】
この後、マスク作成部50は、検査対象音データ40のスペクトログラムSG上に設定された第2のマスク幅用矩形領域と、マスク作成用データ41のスペクトログラムSG上に設定された第2のマスク値用矩形領域とを、それぞれユーザにより設定された上述の周波数方向マスクシフト幅(
図9参照)分だけ周波数方向の周波数の高い方向にシフトさせる(S47)。
【0097】
またマスク作成部50は、第2のマスク幅用矩形領域や第2のマスク値矩形領域をシフトさせた後のマスク周波数(第2のマスク幅用矩形領域や第2のマスク値矩形領域の下端の周波数)がスペクトログラムSGにおける最大周波数(以下、これを上限周波数と呼ぶ)を超過したか否かを判断する(S48)。そしてマスク作成部50は、この判断で否定結果を得るとステップS41に戻り、この後、ステップS48で肯定結果を得るまでステップS41~ステップS48の処理を同様に繰り返す。
【0098】
そしてマスク作成部50は、やがてマスク周波数が検査対象音データ40のスペクトログラムSGの上限周波数を超過することによりステップS48で肯定結果を得ると、マスク情報格納データベース21を参照して、特徴音有効フラグが対応付けられたマスク周波数をすべて抽出する(S49)。
【0099】
続いて、マスク作成部50は、ステップS49で抽出したマスク周波数が最も多く連続する区間の幅(周波数幅)を周波数方向マスクMK2のマスク幅に決定し、決定したマスク幅を上述のマスクデータ54の一部としてマスク情報格納データベース21に格納する(S50)。
【0100】
さらにマスク作成部50は、上述のようにして決定したマスク幅を有する周波数方向マスクMK2をその下端の周波数が0Hzの位置から上端が上限周波数となるまで周波数方向に周波数方向マスクシフト幅ずつシフトさせたときの各マスク設定値における周波数方向マスクMK2のマスク値をそれぞれ算出し、算出した各マスク値を上述のマスクデータ54の一部としてマスク情報格納データベース21に格納する(S51)。
【0101】
具体的に、マスク作成部50は、周波数方向マスクMK2が1つの第2のマスク値用矩形領域と同じマスク幅を有する場合には、各マスク設定位置における第2のマスク値用矩形領域の音圧平均値をそのマスク設定位置における周波数方向マスクMK2のマスク値にそれぞれ決定し、決定した各マスク設定位置におけるマスク値をマスク情報格納データベース21に格納する。
【0102】
またマスク作成部50は、周波数方向マスクMK2が第2のマスク値用矩形領域の複数個分のマスク幅を有する場合には、マスク設定位置ごとに、そのマスク設定位置に含まれる各第2のマスク値用矩形領域の音圧平均値の平均値をそのマスク設定位置における周波数方向マスクMK2のマスク値に決定し、決定したマスク値をマスク情報格納データベース21に格納する。そしてマスク作成部50は、この後、この周波数方向マスク作成処理を終了して
図11のマスク作成処理に戻る。
【0103】
(1-2-3-2-3)時間方向×周波数方向マスク作成処理
図14は、
図11のステップS16においてマスク作成部50により実行される時間方向×周波数方向マスク作成処理の具体的な処理内容を示す。マスク作成部50は、
図11のステップS16に進むとこの
図14に示す時間方向×周波数方向マスク作成処理を開始し、まず、
図12について上述した時間方向マスク作成処理を実行し(S60)、この後、
図13について上述した周波数方向マスク作成処理を実行する(S61)。
【0104】
続いて、マスク作成部50は、時間方向マスクMK1及び周波数方向マスクMK2が重複する各領域(以下、これらをマスク重複領域と呼ぶ)について、そのときの時間方向マスクMK1のマスク値と、周波数方向マスクMK2のマスク値との平均値をそのマスク重複領域のマスク値としてそれぞれ算出する。またマスク作成部50は、算出したこれらマスク値を、それぞれそのときの時間方向マスクMK1の位置及び周波数方向マスクMK2の位置と対応付けて上述のマスクデータ54の一部としてマスク情報格納データベース21に格納する(S62)。そしてマスク作成部50は、この後、この周波数方向マスク作成処理を終了してマスク作成処理に戻る。
【0105】
(1-2-3-3)加工データ作成処理
(1-2-3-3-1)加工データ作成処理の具体的な処理内容
図15は、
図10について上述した異音検査処理のステップS6において加工データ作成部51により実行される一連の処理(以下、これを加工データ作成処理と呼ぶ)の具体的な流れを示す。加工データ作成部51は、異音検査処理がステップS6に進むと、この加工データ作成処理を開始し、まず、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータを取り込む(S70)。
【0106】
続いて、加工データ作成部51は、時間方向マスク要否フラグ(
図9参照)及び周波数方向マスク要否フラグ(
図9参照)の各値をそれぞれ確認し(S71)、時間方向マスク要否フラグのみが「True」であるか否かを判断する(S72)。
【0107】
この判断で肯定結果を得ることは、時間方向マスクMK1のみを用いて加工データ55を作成すべきことを意味する。かくして、このとき加工データ作成部51は、時間方向マスクMK1のみを用いて加工データ55を順次作成し、得られた各加工データ55を根拠算出用波形データ格納データベース22に順次格納する時間方向加工データ作成処理を実行する(S73)。そして加工データ作成部51は、この後、この加工データ作成処理を終了する。
【0108】
また加工データ作成部51は、ステップS72で否定結果を得ると、周波数方向マスク要否フラグのみが「True」であるか否かを判断する(S74)。
【0109】
この判断で肯定結果を得ることは、周波数方向マスクMK2のみを用いて加工データ55を作成すべきことを意味する。かくして、このとき加工データ作成部51は、周波数方向マスクMK2のみを用いて加工データ55を順次作成し、得られた各加工データ55を根拠算出用波形データ格納データベース22に順次格納する周波数方向加工データ作成処理を実行する(S75)。そして加工データ作成部51は、この後、この加工データ作成処理を終了する。
【0110】
一方、ステップS74で否定結果を得ることは、時間方向マスクMK1及び周波数方向マスクMK2の双方を用いて加工データ55を作成すべきことを意味する。かくして、このとき加工データ作成部51は、時間方向マスクMK1及び周波数方向マスクMK2の双方を用いて加工データ55を順次作成し、得られた各加工データ55を根拠算出用波形データ格納データベース22に順次格納する時間方向×周波数方向加工データ作成処理を実行する(S76)。そして加工データ作成部51は、この後、この加工データ作成処理を終了する。
【0111】
(1-2-3-3-2)時間方向加工データ作成処理
図16は、
図15について上述した加工データ作成処理のステップS73で加工データ作成部51により実行される時間方向加工データ作成処理の具体的な処理内容を示す。
【0112】
加工データ作成部51は、加工データ作成処理のステップS73に進むと、この
図16に示す時間方向加工データ作成処理を開始し、まず、マスク情報格納データベース21から時間方向マスクMK1のマスク幅と、現在のマスク設定位置に対するマスク値とを読み込む(S80)。なお、最初のステップS80における「現在のマスク設定位置」は、時間方向マスクMK1を最初に設定すべきマスク設定位置(時間方向マスクMK1の左端の時間が0秒となる位置)である。
【0113】
続いて、加工データ作成部51は、現在のマスク設定位置に時間方向マスクMK1を設定すると共に、その時間方向マスクMK1のマスク値としてステップS80で読み出したマスク値を設定する(S81)。なお、最初のステップS81における「現在のマスク設定位置」もステップS80と同様である。
【0114】
次いで、加工データ作成部51は、上述のようにして時間方向マスクMK1を設定した検査対象音データ40のスペクトログラムSGのデータを加工データ55として取得する(S82)。また加工データ作成部51は、ステップS82で取得した加工データ55を根拠算出用波形データ格納データベース22に格納すると共に、このときのマスク設定位置の時間(マスク設定位置の左端の時間)をマスク位置データ56として根拠算出用波形データ格納データベース22に格納する(S83)。
【0115】
この後、加工データ作成部51は、マスク設定位置を時間方向の時間が遅い側に時間方向マスクMK1のマスク幅分だけシフトし(S84)、シフト後のマスク設定位置の時間が検査対象音の録音時間を超過したか否かを判断する(S85)。
【0116】
そして加工データ作成部51は、この判断で否定結果を得ると、ステップS80に戻り、この後、ステップS85で肯定結果を得るまで、ステップS80~ステップS85の処理を繰り返す。この繰返し処理により、時間方向マスクMK1の位置を時間方向マスクMK1のマスク幅分ずつ時間が遅い方向に順次シフトさせた加工データ55が順次作成され、作成された加工データ55と、その加工データ55の作成時における時間方向マスクMK1の位置(マスク設定位置)とが順次根拠算出用波形データ格納データベース22に格納されることになる。
【0117】
そして、加工データ作成部51は、やがてマスク設定位置の時間が検査対象音の録音時間を超過するまでマスク設定位置をシフトし終えることによりステップS85で肯定結果を得ると、この時間方向加工データ作成処理を終了して加工データ作成処理に戻る。
【0118】
(1-2-3-3-3)周波数方向加工データ作成処理
一方、
図17は、
図15について上述した加工データ作成処理のステップS75で加工データ作成部51により実行される周波数方向加工データ作成処理の具体的な処理内容を示す。
【0119】
加工データ作成部51は、加工データ作成処理のステップS75に進むと、この
図17に示す周波数方向加工データ作成処理を開始し、まず、マスク情報格納データベース21から周波数方向マスクMK2のマスク幅と、現在のマスク設定位置に対するマスク値とを読み込む(S90)。なお、最初のステップS90における「現在のマスク設定位置」は、周波数方向マスクMK2を最初に設定すべき位置(周波数方向マスクMK2の下端が0Hzとなる位置)である。
【0120】
続いて、加工データ作成部51は、現在のマスク設定位置に周波数方向マスクMK2を設定すると共に、その周波数方向マスクMK2のマスク値としてステップS90で読み出したマスク値を設定する(S91)。なお最初のステップS91における「現在のマスク設定位置」もステップS90と同様である。
【0121】
次いで、加工データ作成部51は、上述のようにして周波数方向マスクMK2を設定したスペクトログラムSGのデータを加工データ55として取得する(S92)。また加工データ作成部51は、ステップS92で取得した加工データ55を根拠算出用波形データ格納データベース22に格納すると共に、このときのマスク設定位置の周波数(マスク設定位置の下端の周波数)をマスク位置データ56として根拠算出用波形データ格納データベース22に格納する(S93)。
【0122】
この後、加工データ作成部51は、マスク設定位置を周波数方向の周波数が高い側に周波数方向マスクMK2のマスク幅分だけシフトし(S94)、シフト後のマスク設定位置の周波数が元データの上限周波数を超過したか否かを判断する(S95)。
【0123】
そして加工データ作成部51は、この判断で否定結果を得ると、ステップS90に戻り、この後、ステップS95で肯定結果を得るまで、ステップS90~ステップS95の処理を繰り返す。この繰返し処理により、周波数方向マスクMK2の位置を周波数方向マスクMK2のマスク幅分ずつ周波数が高い方向に順次シフトさせた加工データ55が順次作成され、作成された加工データ55と、その加工データ55の作成時における周波数方向マスクMK2の位置(マスク設定位置)とが順次根拠算出用波形データ格納データベース22に格納されることになる。
【0124】
そして、加工データ作成部51は、やがてマスク設定位置の周波数が検査対象音データ40の上限周波数を超過するまでマスク設定位置をシフトし終えることによりステップS95で肯定結果を得ると、この周波数方向加工データ作成処理を終了して加工データ作成処理に戻る。
【0125】
(1-2-3-3-4)時間方向×周波数方向加工データ作成処理
図18は、
図15について上述した加工データ作成処理のステップS76で加工データ作成部51により実行される時間方向×周波数方向加工データ作成処理の具体的な処理内容を示す。
【0126】
加工データ作成部51は、加工データ作成処理のステップS76に進むと、この
図18に示す時間方向×周波数方向加工データ作成処理を開始し、まず、マスク情報格納データベース21から時間方向マスクMK1のマスク幅と、現在のマスク設定位置に対するマスク値とを読み込む(S100)。なお、最初のステップS100における「現在のマスク設定位置」は、時間方向マスクMK1を最初に設定すべきマスク設定位置(時間方向マスクMK1の左端の時間が0秒となる位置)である。
【0127】
続いて、加工データ作成部51は、現在のマスク設定位置に時間方向マスクMK1を設定すると共に、その時間方向マスクMK1のマスク値としてステップS100で読み出したマスク値を設定する(S101)。なお、最初のステップS81における「現在のマスク設定位置」もステップS100と同様である。
【0128】
次いで、加工データ作成部51は、マスク情報格納データベース21から周波数方向マスクMK2のマスク幅と、現在のマスク設定位置に対するマスク値とを読み込む(S102)。なお、最初のステップS102における「現在のマスク設定位置」は、周波数方向マスクMK2を最初に設定すべき位置(周波数方向マスクMK2の下端が0Hzとなる位置)である。
【0129】
さらに加工データ作成部51は、現在のマスク設定位置に周波数方向マスクMK2を設定すると共に、その周波数方向マスクMK2のマスク値としてステップS102で読み出したマスク値を設定する(S103)。なお最初のステップS103における「現在のマスク設定位置」もステップS102と同様である。
【0130】
この後、加工データ作成部51は、上述のようにして時間方向マスクMK1及び周波数方向マスクMK2を設定した検査対象音データ40のスペクトログラムSGのデータを加工データ55として取得する(S104)。また加工データ作成部51は、ステップS104で取得した加工データ55を根拠算出用波形データ格納データベース22に格納すると共に、このとき時間方向マスクMK1が設定されているマスク設定位置の時間(マスク設定位置の左端の時間)と、このとき周波数方向マスクMK2が設定されているマスク設定位置の周波数(マスク設定位置の下側の時間)とをマスク位置データ56として根拠算出用波形データ格納データベース22に格納する(S105)。
【0131】
この後、加工データ作成部51は、時間方向マスクMK1のマスク設定位置を時間方向の時間が遅い側に時間方向マスクMK1のマスク幅分だけシフトさせ(S106)、シフト後のかかるマスク設定位置の時間が検査対象音の録音時間を超過したか否かを判断する(S107)。
【0132】
そして加工データ作成部51は、この判断で否定結果を得ると、ステップS100に戻り、この後、ステップS107で肯定結果を得るまで、ステップS100~ステップS107の処理を繰り返す。この繰返し処理により、周波数方向マスクMK2を一ヶ所に固定した状態で時間方向マスクMK1の位置を時間方向マスクMK1のマスク幅分ずつ時間が遅い方向に順次シフトさせた加工データ55が順次作成され、作成された加工データ55と、その加工データ55の作成時における時間方向マスクMK1及び周波数方向マスクMK2の各位置(マスク設定位置)とが順次根拠算出用波形データ格納データベース22に格納されることになる。
【0133】
そして、加工データ作成部51は、やがて時間方向マスクMK1のマスク設定位置の時間が検査対象音の録音時間を超過するまでマスク設定位置をシフトし終えることによりステップS107で肯定結果を得ると、周波数方向マスクMK2のマスク設定位置を周波数方向の周波数が高い側に周波数方向マスクMK2のマスク幅分だけシフトさせ(S108)、シフト後の周波数方向マスクMK2のマスク設定位置の周波数が上限周波数を超過したか否かを判断する(S109)。
【0134】
加工データ作成部51は、この判断で否定結果を得るとステップS100に戻り、この後、ステップS109で肯定結果を得るまでステップS100~ステップS109の処理を繰り返す。この繰返し処理により、時間方向マスクMK1がいずれかのマスク設定位置に設定されると共に、周波数方向マスクMK2がいずれかのマスク設定位置に設定された場合のすべての組合せについての加工データ55が作成され、作成された加工データ55と、その加工データ55の作成時における時間方向マスクMK1及び周波数方向マスクMK2の各位置(マスク設定位置)とが順次根拠算出用波形データ格納データベース22に格納されることになる。
【0135】
そして、加工データ作成部51は、やがて周波数方向マスクMK2のマスク設定位置の周波数が検査対象音データ40の上限周波数を超過するまでマスク設定位置をシフトし終えることによりステップS109で肯定結果を得ると、この時間方向×周波数方向加工データ作成処理を終了して加工データ作成処理に戻る。
【0136】
(1-2-3-4)異常度・変化率算出処理
(1-2-3-4-1)第1の異常度・変化率算出処理
図19は、判定モデル部20の判定モデル20Aがオートエンコーダ方式以外の機械学習モデルであった場合に、
図10について上述した異音検査処理のステップS7において異常度・変化率算出部52により実行される一連の処理(以下、これを第1の異常度・変化率算出処理と呼ぶ)の具体的な流れを示す。
【0137】
異常度・変化率算出部52は、異音検査処理がステップS7に進むと、この第1の異常度・変化率算出処理を開始する。そして異常度・変化率算出部52は、まず、根拠算出用波形データ格納データベース22に格納されている加工データ55の中からステップS111以降が未処理の加工データ55を1つ選択し(S110)、選択した加工データ(以下、
図19の説明において、これを選択加工データと呼ぶ)55を検査判定部31の判定モデル部20に出力するようにして、判定モデル20Aにその加工データ55の異常度を算出させる(S111)。
【0138】
続いて、異常度・変化率算出部52は、ステップS111の結果として判定モデル部20から与えられる判定モデル20Aにより算出された選択加工データ55の異常度に基づいて選択加工データ55の元データ46(検査対象音データ40のスペクトログラムSGのデータ)からの変化率を算出する(S112)。
【0139】
具体的に、異常度・変化率算出部52は、判定根拠情報格納データベース23に格納されている元データ異常度45を読み出し、読み出した元データ異常度45と、判定モデル部20の判定モデル20Aにより算出された選択加工データ55の異常度とを利用して、上述の(2)式により選択加工データ55の元データ46の異常度からの変化率を算出する。
【0140】
次いで、異常度・変化率算出部52は、選択加工データ55について、判定モデル部20の判定モデル20Aにより算出された異常度と、ステップS112で算出した元データ46からの変化率とを加工データ異常度・変化率情報57として判定根拠情報格納データベース23に格納し(S113)、この後、根拠算出用波形データ格納データベース22に格納されているすべての加工データ55についてステップS111以降の処理を実行し終えたか否かを判断する(S114)。
【0141】
異常度・変化率算出部52は、この判断で否定結果を得るとステップS110に戻り、この後、ステップS110で選択する加工データ55をステップS111以降が未処理の他の加工データ55に順次切り替えながらステップS110~ステップS114の処理を繰り返す。この繰返し処理により、
図19に示すように、根拠算出用波形データ格納データベース22に格納されたすべての加工データ55の異常度及び元データ46からの変化率がそれぞれ算出されて、これらが加工データ異常度・変化率情報57として判定根拠情報格納データベース23にそれぞれ格納されることになる。
【0142】
そして異常度・変化率算出部52は、やがて根拠算出用波形データ格納データベース22に格納されたすべての加工データ55の加工データ異常度・変化率情報57を判定根拠情報格納データベース23に格納し終えることによりステップS114で肯定結果を得ると、この第1の異常度・変化率算出処理を終了して
図10の異音検査処理に戻る。
【0143】
(1-2-3-4-2)第2の異常度・変化率算出処理
一方、
図20は、判定モデル部20の判定モデル20Aがオートエンコーダ方式の機械学習モデルであった場合に
図10について上述した異音検査処理のステップS7において異常度・変化率算出部52により実行される一連の処理(以下、これを第2の異常度・変化率算出処理と呼ぶ)の具体的な流れを示す。異常度・変化率算出部52は、異音検査処理がステップS7に進むと、この
図20に示す第2の異常度・変化率算出処理を開始する。
【0144】
そして異常度・変化率算出部52は、まず、根拠算出用波形データ格納データベース22に格納されている各加工データ55の中からステップS121以降が未処理の加工データ55を1つ選択する(S120)。以下、
図19の説明において、これを選択加工データ55と呼ぶ。また異常度・変化率算出部52は、検査対象音データ40のスペクトログラムSGのデータである元データ46を、判定根拠情報格納データベース23から読み出すことにより取得する(S121)。
【0145】
続いて、異常度・変化率算出部52は、検査対象音データ40のマスクされたスペクトログラムSGのうちの時間方向マスクMK1や周波数方向マスクMK2によりマスクされていない領域(無加工領域)を抽出する(S122)。具体的には、根拠算出用波形データ格納データベース22からマスク位置データ56を、マスク情報格納データベース21からマスクデータ(マスク幅)をそれぞれ読み出すことにより、選択加工データ55のマスクされていない領域を抽出する。また異常度・変化率算出部52は、ステップS121で取得した元データ46に基づいて、ステップS122で抽出した無加工領域の異常度を選択加工データ55の異常度として算出する(S123)。具体的に、異常度・変化率算出部52は、かかる無加工領域に含まれる各ピクセルの異常度の平均値を選択加工データの異常度として算出する。
【0146】
次いで、異常度・変化率算出部52は、ステップS123で算出した異常度に基づいて、選択加工データ55の元データ46からの変化率を算出する(S124)。具体的に、異常度・変化率算出部52は、判定根拠情報格納データベース23に格納されている元データ異常度45を読み出し、読み出した元データ異常度45と、ステップS123で算出した選択加工データ55の異常度とを利用して、上述の(2)式により選択加工データ55の元データ46に対する変化率を算出する。
【0147】
次いで、異常度・変化率算出部52は、ステップS123で算出した選択加工データ55の異常度と、ステップS124で算出した選択加工データ55の元データ46からの変化率とを加工データ異常度・変化率情報57として判定根拠情報格納データベース23に格納する(S125)。
【0148】
この後、異常度・変化率算出部52は、根拠算出用波形データ格納データベース22に格納されているすべての加工データ55についてステップS121以降の処理を実行し終えたか否かを判断する(S126)。
【0149】
そして異常度・変化率算出部52は、この判断で否定結果を得るとステップS120に戻り、この後、ステップS120で選択する加工データ55をステップS121以降が未処理の他の加工データ55に順次切り替えながらステップS120~ステップS126の処理を繰り返す。この繰返し処理により、根拠算出用波形データ格納データベース22に格納されたすべての加工データ55の異常度及び変化率が算出されて、加工データ異常度・変化率情報57として判定根拠情報格納データベース23にそれぞれ格納されることになる。
【0150】
そして異常度・変化率算出部52は、やがて根拠算出用波形データ格納データベース22に格納されたすべての加工データ55の加工データ異常度・変化率情報57を判定根拠情報格納データベース23に格納し終えることによりステップS126で肯定結果を得ると、この第2の異常度・変化率算出処理を終了して
図10の異音検査処理に戻る。
【0151】
(1-2-3-5)判定根拠描画
図21は、
図10について上述した異音検査処理のステップS8において判定根拠描画部53により実行される一連の処理(以下、これを判定根拠描画と呼ぶ)の具体的な流れを示す。
【0152】
判定根拠描画部53は、異音検査処理がステップS8に進むと、この
図21に示す判定根拠描画を開始し、まず、根拠算出用波形データ格納データベース22に格納されている加工データ55の中からステップS131以降が未処理の加工データ55を1つ選択する(S130)。
【0153】
続いて、判定根拠描画部53は、ステップS130で選択した加工データ(以下、
図20の説明において、これを選択加工データと呼ぶ)のマスク位置データ56を根拠算出用波形データ格納データベース22から読み出して取得すると共に(S131)、選択加工データ55に対応する変化率(ここでは加工データ異常度・変化率情報57)を判定根拠情報格納データベース23から読み出して取得する(S132)。
【0154】
次いで、判定根拠描画部53は、選択加工データ55におけるマスク設定位置を、ステップS131で取得したマスク位置データ56から抽出するようにして取得する(S133)。
【0155】
さらに判定根拠描画部53は、ステップS133の算出結果に基づいて、検査対象音データ40のスペクトログラムSGにおける、選択加工データ55に対応するスペクトログラムSGのマスク(時間方向マスクMK1及び周波数方向マスクMK2)が設定されていたマスク設定位置を、ステップS132で取得した変化率に応じた色又は濃度でプロット(着色)する(S134)。
【0156】
そして判定根拠描画部53は、この後、根拠算出用波形データ格納データベース22に格納されたすべての加工データ55についてステップS131~ステップS134の処理を実行し終えたか否かを判断する(S135)。
【0157】
判定根拠描画部53は、この判断で否定結果を得るとステップS130に戻り、この後、ステップS130で選択する加工データ55をステップS131以降が未処理の他の加工データ55に順次切り替えながらステップS135で肯定結果を得るまでステップS130~ステップS135の処理を繰り返す。この繰返し処理により、
図5について上述した判定根拠画像24が徐々に描画されることになる。
【0158】
そして判定根拠描画部53は、やがて根拠算出用波形データ格納データベース22に格納されたすべての加工データ55についてステップS131~ステップS134の処理を実行し終えることによりステップS135で肯定結果を得ると、この判定根拠描画を終了して
図10について上述した異音検査処理に戻る。
【0159】
(1-3)本実施の形態の効果
以上のように本実施の形態の異音検査装置1では、検査対象音データのスペクトログラムSGにおける時間方向マスクMK1やその周波数方向マスクMK2が設定された各マスク設定位置を、それぞれそのマスク設定位置に時間方向マスクMK1やその周波数方向マスクMK2が設定された各加工データ55の元データ46からの変化率に応じた色又は濃度でプロット(着色)した判定根拠画像24を生成し、生成した判定根拠画像24を検査判定部31の判定結果と併せて表示する。
【0160】
従って、本異音検査装置1によれば、機械学習により得られた判定モデル部20の判定モデル20Aを用いた異常有無の判定の判定結果の根拠を確実に明示することができ、かくして付加価値の高い異音検査装置を実現できる。
【0161】
(2)第2の実施の形態
第1の実施の形態において、検査対象音データ40のスペクトログラムSGが例えば
図22(A)のように周波数方向及び時間方向の双方に広範囲に渡る特徴をもつ(
図22(A)の特徴周波数幅Wa及び特徴時間幅Wbが共に大きい)場合、
図11~
図14について上述したマスク作成処理によると、時間方向マスクMK1のマスク幅や周波数方向マスクMK2のマスク幅が共に大きくなり過ぎて解像度の高い判定根拠画像24を描画することができない。
【0162】
そこで、本実施の形態においては、時間方向マスクMK1及び周波数方向マスクMK2の双方を利用して検査対象音の特徴を抽出する際に、
図22(B)に示すように、時間方向マスクMK1のマスク幅MWa及び周波数方向マスクMK2のマスク幅MWbを予め設定した固定値とするものとする。以下、このような機能を有する第2の実施の形態による異音検査装置について説明する。
【0163】
図1及び
図8において、60は第2の実施の形態による異音検査装置を示す。この異音検査装置60は、メモリ3(
図1)に格納されたマスク作成プログラム61(
図1)をCPU2(
図1)が実行することにより具現化されるマスク作成部62(
図8)の機能が第1の実施の形態のマスク作成部50と異なる点を除いて、第1の実施の形態による異音検査装置1と同様に構成されている。
【0164】
実際上、本実施の形態の異音検査装置60の場合、
図23に示すように、上述のマスク用音圧閾値、特徴音用音圧閾値、時間方向マスクシフト幅及び周波数方向マスクシフト幅の各デフォルト値及びユーザ設定値に加えて、時間方向マスク要否フラグ及び周波数方向マスク要否フラグと、時間方向マスク及び周波数方向マスクの双方を利用する時間方向×周波数方向マスク要否フラグとを管理している。
【0165】
そしてユーザが時間方向マスクMK1を利用すべき旨の設定を行った場合には、時間方向マスク要否フラグの値が「True」に設定され、ユーザが周波数方向マスクMK2を利用すべき旨の設定を行った場合には、周波数方向マスク要否フラグの値が「True」に設定される。さらにユーザがマスク幅を固定した上述の時間方向マスクMK1及び周波数方向マスクMK2の双方を利用すべき旨の設定を行った場合には、時間方向×周波数方向マスク要否フラグが「True」に設定される。
【0166】
マスク作成部62は、本番運用時、時間方向マスク要否フラグ及び周波数方向マスク要否フラグのいずれかが「True」に設定されている場合には、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムSGのデータと、マスク作成用データ41のスペクトログラムSGのデータと、
図23について上述したユーザによる各種設定とに基づいて、そのとき作成すべき時間方向マスクMK1又は周波数方向マスクMK2の各マスク幅と、その時間方向マスクMK1又は周波数方向マスクMK2のマスク設定位置ごとのマスク値とを第1の実施の形態と同様にそれぞれ算出する。またマスク作成部50は、算出したこれらマスク幅と、マスク設定位置ごとのマスク値とをマスクデータ54としてマスク情報格納データベース21に格納する。
【0167】
これに対して、マスク作成部62は、本番運用時、時間方向×周波数方向マスク要否フラグが「True」に設定されている場合には、フーリエ変換部30から与えられた検査対象音データ40のスペクトログラムデータと、マスク作成用データ41のスペクトログラムSGのデータと、
図23について上述したユーザによる各種設定とに基づいて、そのとき時間方向マスクMK1及び周波数方向マスクMK2を設定すべき位置ごとのマスク値をそれぞれ算出する。またマスク作成部50は、算出したこれら時間方向マスクMK1及び周波数方向マスクMK2をそれぞれ設定すべき位置ごとの時間方向マスクMK1及び周波数方向マスクMK2のマスク値と、事前に設定されている時間方向マスクMK1のマスク幅及び周波数方向マスクMK2のマスク幅とをマスクデータ54としてマスク情報格納データベース21に格納する。
【0168】
図24は、
図11について上述したマスク作成処理のステップS16において、
図14について上述した第1の実施の形態による時間方向×周波数方向マスク作成処理に代えて、本実施の形態のマスク作成部62により実行される第2の実施の形態による時間方向×周波数方向マスク作成処理の処理内容を示す。
【0169】
マスク作成部62は、
図11のステップS16に進むとこの
図24に示す時間方向×周波数方向マスク作成処理を開始し、まず、マスク作成用データ41のスペクトログラムSGにおける各指定時刻の音圧平均値をそれぞれ算出する(S140)。ここの「指定時刻」とは、検査対象音データ40のスペクトログラムSGにおいて時間方向マスクMK1がそれぞれ設定される各マスク設定位置の時間方向の中央の時刻を意味する。
【0170】
本実施の形態では、上述のように時間方向マスクMK1及び周波数方向マスクMK2の両方を利用する場合、これら時間方向マスクMK1及び周波数方向マスクMK2のマスク幅は固定であるため、検査対象音データ40のスペクトログラムSG上の時間方向マスクMK1が設定される各マスク設定位置も時間方向マスクシフト幅に応じて固定的に決まっている。そこで、本実施の形態の場合、マスク作成部62は、これらのマスク設定位置におけるマスク値を、マスク作成用データ41のスペクトログラムSGにおけるそのマスク設定位置の時間方向の中央の時刻における周波数方向の音圧の平均値として算出する。
【0171】
続いて、マスク作成部62は、マスク作成用データ41のスペクトログラムSGにおける各指定周波数の音圧平均値をそれぞれ算出する(S141)。ここの「指定周波数」とは、検査対象音データ40のスペクトログラムSGにおいて周波数方向マスクMK2がそれぞれ設定される各マスク設定位置の周波数方向の中央の周波数を意味する。
【0172】
上述のように時間方向マスクMK1及び周波数方向マスクMK2の両方を利用する場合、これら時間方向マスクMK1及び周波数方向マスクMK2のマスク幅は固定であるため、検査対象音データ40のスペクトログラムSG上の周波数方向マスクMK2が設定される各マスク設定位置が周波数方向マスクシフト幅に応じて固定的に決まっている。そこで、本実施の形態の場合、マスク作成部62は、これらのマスク設定位置におけるマスク値を、マスク作成用データ41のスペクトログラムSGにおけるそのマスク設定位置の周波数方向の中央の周波数における時間方向の音圧の平均値として算出する。
【0173】
次いで、マスク作成部62は、時間方向マスクMK1の各マスク設定位置と、これらマスク設定位置におけるステップS140で算出した音圧平均値(これらマスク設定位置におけるマスク値)とを、マスクデータ54としてマスク情報格納データベース21に格納する。またマスク作成部62は、これと併せて、周波数方向マスクMK2の各マスク設定位置と、これらマスク設定位置におけるステップS141で算出した音圧平均値(これらマスク設定位置におけるマスク値)とを、マスクデータ54の一部としてマスク情報格納データベース21に格納する(S142)。
【0174】
さらにマスク作成部62は、時間方向マスクMK1及び周波数方向マスクMK2の各重複領域について、その重複領域における時間方向マスクMK1及び周波数方向マスクMK2の各音圧平均値の平均値を算出し、算出した平均値をその重複領域の音圧平均値(つまりその重複領域における時間方向マスクMK1や周波数方向マスクMK2のマスク値)をマスクデータ54の一部としてマスク情報格納データベース21に格納する(S143)。
【0175】
続いて、マスク作成部62は、事前に設定されている時間方向マスクMK1のマスク幅と、周波数方向マスクMK2のマスク幅とをそれぞれ取得し(S144)、取得したこれらマスク幅をマスクデータ54の一部としてマスク情報格納データベース21に格納する(S145)。そしてマスク作成部62は、この後、この時間方向×周波数方向マスク作成処理を終了する。
【0176】
以上の構成を有する本実施の形態の異音検査装置60によれば、検査対象音データ40のスペクトログラムSGが周波数方向及び時間方向の双方に広範囲に渡る特徴をもつ場合においても、解像度の高い判定根拠画像24を描画することができ、かくして第1の実施の形態により得られる効果に加えて、より精度の高い情報を提供し得るという効果をも得ることができる。
【0177】
(3)他の実施の形態
なお上述の第1及び第2の実施の形態においては、(2)式により算出した加工データ55ごとの変化率を利用して
図5について上述した判定根拠画像24を生成及び表示するようにした場合について述べたが、本発明はこれに限らず、例えば、次式
【数3】
により算出される変化度に基づいて
図25のように各加工データ55の変化度をそれぞれ算出し、算出した加工データ55ごとの変化度に基づいて変化率と同様に判定根拠画像24を生成及び表示するようにしてもよい。この場合に異音検査装置1において実行される各種処理の処理内容は、「変化率」を「変化度」と読み替えるだけで上述した第1及び第2の実施の形態と同様であるため、ここでの説明は省略する。このようにしても第1及び第2の実施の形態と同様の効果を得ることができる。
【0178】
なお変化度を用いる場合、検査対象音が周波数方向にも時間方向にも特徴音が入っている
図6(A)や
図22(A)のような場合、
図11について上述したマスク作成処理において、ステップS12-ステップS13のルートで算出した時間方向マスクMK1の変化度と、ステップS12-ステップS14-ステップS15のルートで算出した周波数方向マスクMK2の変化度とを足し合わせたものを新たな変化度と定義し、この変化度を用いて判定根拠画像24を描画するようにしてもよい。
【0179】
また上述の第1及び第2の実施の形態においては、異常の有無の判定対象が音データである場合について述べたが、本発明はこれに限らず、音データ以外の電圧データや電流データなどの各種波形データの異常の有無の判定にも広く適用することができる。
【0180】
さらに上述の第1及び第2の実施の形態においては、検査対象音データ40のスペクトログラムSGにおける、各加工データ55に対応するスペクトログラムSGのマスク(時間方向マスクMK1及び周波数方向マスクMK2)が設定されていたマスク設定位置を、その加工データ55の元データ46からの変化率に応じた色又は濃度でプロット(着色)するようにした場合について述べたが、本発明はこれに限らず、例えば各マスク設定値にかかる変化率を数値として表示するようにしてもよい。ただし、第1及び第2の実施の形態のように、かかるマスク設定位置を、その加工データ55の元データ46からの変化率に応じた色又は濃度でプロット(着色)することによって、より視認性の高い判定根拠画像24を生成することができる。
【0181】
さらに上述の第1及び第2の実施の形態においては、マスク設定位置ごとの時間方向マスクMK1や周波数方向マスクMK2のマスク値をそのマスク設定位置における環境音の平均値に基づいて算出するようにした場合について述べたが、本発明はこれに限らず、例えば、環境音に代えて、判定モデル部20の判定モデル20Aの作成(学習)に用いた音データ(教師データ)を用いて上述の環境音の場合と同様にしてマスク値を求めるようにしてもよい。また環境音を利用する場合においても、マスク設定位置における平均値ではなく、直値を適用(環境音のスペクトログラムから各マスク設定位置の値をそのまま検査対象音のマスク設定位置に上書きするようにしてもよく、さらにはこれら2つの方法を組み合わせてかかる判定モデル20Aの作成(学習)に用いた音データ(教師データ)のスペクトログラムから、各マスク設定位置の値をそのまま検査対象音のマスク設定位置に上書きするようにしてもよい。
【産業上の利用可能性】
【0182】
本発明は検、波形データの異常判定を行う種々の検査装置に広く適用することができる。
【符号の説明】
【0183】
1,60……異音検査装置、2……CPU、6……表示装置、10……フーリエ変換プログラム、11……正常/異常判定プログラム、12……異常検知結果出力プログラム、13,61……マスク作成プログラム、14……加工データ作成プログラム、15……異常度・変化率算出プログラム、16……判定根拠描画プログラム、17……結果表示プログラム、20……判定モデル、21……マスク情報格納データベース、22……判定根拠算出用波形データ格納データベース、23……判定根拠情報格納データベース、24……判定根拠画像、30……フーリエ変換部、31……検査判定部、32……判定根拠算出部、33……結果表示部、40……検査対象音データ、41……マスク作成用データ、44……判定結果情報、45……元データ異常度、46……元データ、50,62……マスク作成部、51……加工データ作成部、52……異常度・変化率算出部、53……判定根拠描画部、54……マスクデータ、55……加工データ、56……マスク位置データ、57……加工データ異常度・変化率情報、58……判定根拠情報、MK1……時間方向マスク、MK2……周波数方向マスク、SG……スペクトログラム。