(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024041210
(43)【公開日】2024-03-27
(54)【発明の名称】信号処理装置
(51)【国際特許分類】
G10L 25/51 20130101AFI20240319BHJP
G10L 25/18 20130101ALI20240319BHJP
【FI】
G10L25/51
G10L25/18
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022145878
(22)【出願日】2022-09-14
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】荒井 友督
(72)【発明者】
【氏名】近藤 玲史
(57)【要約】
【課題】信号のイベントの検知を精度よく行うことができないこと。
【解決手段】本発明の信号処理装置100は、所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出するアクティベーション算出部121と、アクティベーションの時間長を、他の学習用時系列信号に対応する他のアクティベーションの時間長に基づいて調整し、時間長を調整したアクティベーションの特徴量を算出する特徴量算出部122と、特徴量を用いて学習用時系列信号を識別するモデルを生成するよう学習する学習部123と、を備える。
【選択図】
図13
【特許請求の範囲】
【請求項1】
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出するアクティベーション算出部と、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出する特徴量算出部と、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する学習部と、
を備えた信号処理装置。
【請求項2】
請求項1に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長を、前記他のアクティベーションの時間長と同一となるよう調整する、
信号処理装置。
【請求項3】
請求項2に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションの時間毎のデータを、対応する時間毎の前記他のアクティベーションのデータに基づいて設定する、
信号処理装置。
【請求項4】
請求項3に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションと前記他のアクティベーションとにおいて相互に対応する時間毎のデータ間の距離の総和が最小となるよう、前記アクティベーションの時間毎のデータを設定する、
信号処理装置。
【請求項5】
請求項2に記載の信号処理装置であって、
前記アクティベーション算出部は、複数の前記基底毎にそれぞれ前記アクティベーションを算出し、
前記特徴量算出部は、特定の前記基底に対応する前記アクティベーションの時間毎のデータを設定すると共に、当該データを設定した同一の時間における他の前記基底に対応する前記アクティベーションのデータを設定する、
信号処理装置。
【請求項6】
請求項2に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションの調整した時間におけるデータを追加又は削除する、
信号処理装置。
【請求項7】
請求項1に記載の信号処理装置であって、
前記アクティベーション算出部は、所定の時間長を有する評価用時系列信号のスペクトログラムから前記アクティベーションを算出し、
前記特徴量算出部は、前記学習用時系列信号に対応する前記アクティベーションの調整した時間長に応じて、前記評価用時系列信号に対応する前記アクティベーションの時間長を調整し、当該時間長を調整した前記評価用時系列信号に対応する前記アクティベーションの特徴量を算出し、
さらに、前記評価用時系列信号に対応する前記特徴量から、前記モデルを用いて前記評価用時系列信号を識別する識別部を備えた、
信号処理装置。
【請求項8】
請求項7に記載の信号処理装置であって、
前記特徴量算出部は、前記評価用時系列信号に対応する前記アクティベーションの時間長を、前記学習用時系列信号に対応する前記アクティベーションの調整した時間長と同一となるよう調整する、
信号処理装置。
【請求項9】
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
信号処理方法。
【請求項10】
情報処理装置に、
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、信号処理装置、信号処理方法、プログラムに関する。
【背景技術】
【0002】
センサが取得した音や振動などの時系列信号から、信号源や信号の種類(イベント)を検知する代表的な方法の一つとして、NMF(非負値行列因子分解)が知られている(特許文献1、非特許文献1)。NMFとは、下記数1式のように、非負値の行列Vを、2つの非負値の行列である基底Wと、アクティベーションHと、に分解する手法である。
【数1】
【0003】
ここで、アクティベーションHは、基底Wの重み(発現度合い)を表す。特許文献1および非特許文献1では、解析対象の信号のスペクトログラムに対し、事前に学習した基底辞書を用いてNMFを行うことにより、アクティベーションを算出し、算出されたアクティベーションの組み合わせにより、解析対象の信号に特定のイベントが含まれるか否かを判定している。具体的に、特許文献1および非特許文献1では、解析対象の信号から短い時間区間ごとに算出したスペクトログラムに対してイベント検知処理を行っている。言い換えると、スペクトログラムを算出するために切り出した時間区間ごとに、1つの検知結果を出している。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】Courtenay V. Cotton and Daniel P. W. Ellis, ‘SPECTRAL VS. SPECTRO-TEMPORAL FEATURES FOR ACOUSTIC EVENT DETECTION’, 2011 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、信号の時間変化に特徴を持つイベントの場合には、短い時間区間では時間変化の特徴が表れにくいことがある。このため、上述した技術では、信号の時間変化に特徴を持つイベントの検知を精度よく行うことができない、という問題が生じる。
【0007】
本開示の目的は、上述した課題である、信号のイベントの検知を精度よく行うことができない、ことを解決することができる信号処理装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一形態である信号処理装置は、
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出するアクティベーション算出部と、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出する特徴量算出部と、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する学習部と、
を備えた、
という構成をとる。
【0009】
また、本発明の一形態である信号処理方法は、
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
という構成をとる。
【0010】
また、本発明の一形態であるプログラムは、
情報処理装置に、
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
処理を実行させる、
という構成をとる。
【発明の効果】
【0011】
本開示は、以上のように構成されることにより、信号のイベントの検知を精度よく行うことができる。
【図面の簡単な説明】
【0012】
【
図1】本開示の実施形態1における学習部による処理動作の概略を示す図である。
【
図2】本開示の実施形態1における検知部による処理動作の概略を示す図である。
【
図3】本開示の実施形態1における信号処理装置の構成を示すブロック図である。
【
図4】
図3に開示した基底辞書生成部の構成を示すブロック図である。
【
図5】
図3に開示した第一特徴量算出部の構成を示すブロック図である。
【
図6】
図3に開示した第二特徴量算出部の構成を示すブロック図である。
【
図7】
図3に開示した学習部による処理の様子を示す図である。
【
図8】
図3に開示した学習部による処理の様子を示す図である。
【
図9】
図3に開示した学習部による処理の様子を示す図である。
【
図10】
図3に開示した学習部による処理の様子を示す図である。
【
図11】
図3に開示した検知部による処理の様子を示す図である。
【
図12】本開示の実施形態2における信号処理装置のハードウェア構成を示すブロック図である。
【
図13】本開示の実施形態2における信号処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【0013】
<実施形態1>
本開示の第1の実施形態を、
図1乃至
図11を参照して説明する。
図1乃至
図2は、信号処理装置の動作の概略を説明するための図である。
図3乃至
図6は、信号処理装置の構成を説明するための図である。
図7乃至
図11は、信号処理装置による処理動作を説明するための図である。
【0014】
本開示における信号処理装置は、音や振動などの時系列信号から、信号の種類を識別するためのものである。例えば、本実施形態では、時系列信号として音信号を用いることとし、信号処理装置では、音信号の音源や種類を識別することとする。一例として、音信号は、特定の音源から発せられる音や、悲鳴や銃声などの特定の事象(イベント)による音であることとし、以下ではこれらの音をまとめて音響イベントと呼ぶこととする。但し、本開示の信号処理装置で処理対象とする音信号は、いかなる音信号であってもよく、また、音響に限らずいかなる振動からなる時系列信号であってもよい。そして、信号処理装置は、振動が処理対象である場合には、かかる振動の振動源や振動を発する事象を識別するよう構成されてもよい。
【0015】
[動作の概要]
本実施形態における信号処理装置は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、信号処理装置は、
図3に示すように、主に学習部10と検知部30とを備える。はじめに、学習部10と検知部30とによる動作の概略を、
図1乃至
図2を参照して説明する。
【0016】
[学習部の動作の概略]
まず、学習部10の動作の概略を、
図1を参照して説明する。はじめに、学習部10には、音響イベントごとに複数の学習データが入力される(ステップS1)。例えば、学習部10には、ある音響イベントαと別の音響イベントβの音信号とが、学習データα,βとしてそれぞれ複数入力される。そして、学習部10は、学習データのそれぞれをフーリエ変換等により周波数領域の信号に変換してスペクトログラムを算出する(ステップS2)。続いて、学習部10は、あらかじめ作成した全ての音響イベントの基底をひとまとめにした基底辞書を用いて、スペクトログラムに対してNMF(Non negative Matrix Factorization(非負値行列因子分解))を行い(ステップS3)、アクティベーションを算出する(ステップS4)。本実施形態では、NMFを用いた方法を説明するが、NMFの代わりにNTF(Non negative Tensor Factorization(非負値テンソル因子分解))を利用してもよい。
【0017】
次に、学習部10は、全学習データでデータ長を合わせる。ここでデータ長を合わせるのは、後で説明するイベント間の識別境界面を学習する際に、特徴量次元数を合わせる必要があるためである。データ長を合わせる際は、2つのデータ間の部分的な伸び縮みを考慮しながらデータ間の距離と要素間を対応付ける動的計画法(Dynamic Programming:DPマッチング)を利用し、全学習データを一定のデータ長Lにする(ステップS5,S6)。次に、学習部10は、学習データごとに、アクティベーションの各時刻の値を特徴量とするベクトル(ここではスーパーベクトルと呼ぶ)を算出する(ステップS7)。なお、特徴量の次元数は、基底数×時間長となる。最後に、学習部10は、スーパーベクトルを用いてモデルを学習する(ステップS8)。具体的には、SVM(Support Vector Machine:サポートベクターマシン)等の機械学習手法を利用し、イベント間の識別境界面を学習する。
【0018】
[検知部の動作の概略]
次に、検知部30の動作の概略を、
図2を参照して説明する。はじめに、検知部30には、評価対象のデータ(以下、評価データ)が入力される(ステップS11)。そして、検知部30は、フーリエ変換等により周波数領域の信号に変換してスペクトログラムを算出する(ステップS12)。このとき、検知部30は、学習部10でも使用した基底辞書を用いて、スペクトログラムに対してNMFを行い(ステップS13)、アクティベーションを算出する(ステップS13)。
【0019】
次に、検知部30は、DPマッチングを利用して、評価データのデータ長を学習部10で設定した学習データの時間長Lに合わせる(ステップS15,S16)。続いて、検知部30は、アクティベーションの各時刻の値を特徴量とするスーパーベクトルを算出する(ステップS17)。最後に、検知部30は、学習部10で生成した学習モデルを用いて、評価データがどのイベントに属するかを判定する(ステップS18)。
【0020】
[構成及び動作の詳細]
次に、上述した信号処理装置の構成及び動作の詳細を説明する。まず、上述したように、信号処理装置は、情報処理装置で構成されており、
図3に示すように、学習部10と検知部30とを備えている。そして、学習部10は、学習データ入力部11、第一データ切り出し部12、第一スペクトログラム算出部13、第一NMF部14、第一特徴量算出部15、モデル学習部16、第一表示部17、基底辞書生成部20、を有する。また、検知部30は、評価データ入力部31、第二データ切り出し部32、第二スペクトログラム算出部33、第二NMF部34、第二特徴量算出部35、識別部36、第二表示部37、を有する。なお、これら各部の機能は、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより、実現することができる。以下、各構成について詳述する。
【0021】
[学習部]
[学習データ入力部]
学習データ入力部11は、マイクロフォンや振動センサを用いて、音や振動などの所定の時間長を有する時系列信号を収録し、かかる時系列信号を学習用データ(学習用時系列信号)として、第一データ切り出し部12に出力する。以下では、時系列信号として音信号を対象として説明するが、時系列信号であれば信号の種類は限定しない。ここで入力される音は、例えば、自動車や船舶、潜水艦などの特定の音源から発せられる音や、悲鳴や銃声などの特定の事象(イベント)による音を含む。これらの音をまとめて音響イベントと呼ぶ。また、音響イベントの検知対象でないノイズも学習データとして入力されてもよい。
【0022】
[第一データ切り出し部]
第一データ切り出し部12は、入力された音信号の全時間区間のうち、音響イベントの発生する時間区間を切り出して、第一スペクトログラム算出部13に出力する。第一データ切り出し部12は、音響イベントが発生している時間区間(始端から終端まで)が含まれるように、かつ音響イベントの発生していない時間区間をできる限り含まないように行うのが望ましい。なお、切り出しは人手で行ってもよく、あるいは、例えば、スペクトログラムのパワーが閾値を超える範囲を自動的に切り出してもよい。
【0023】
[第一スペクトログラム算出部]
第一スペクトログラム算出部13は、第一データ切り出し部12から入力された音信号を周波数領域の信号(スペクトログラム)に変換する。スペクトログラムの生成には、例えば、高速フーリエ変換(FFT)を利用する。Constant-Q変換(CQT)やウェーブレット変換によって、スペクトログラムを生成してもよい。スペクトログラムを算出する際は、音信号を短い時間区間(時間フレームと呼ぶ)ごとに切り出し、時間フレームごとに算出する。具体例として、4096サンプルごとにスペクトログラムを算出し、各時間フレームは50%重なるように切り出してもよい。第一スペクトログラム算出部13は、算出したスペクトログラムVを第一NMF部14に出力する。
【0024】
[第一NMF部]
第一NMF部14(アクティベーション算出部)は、第一スペクトログラム算出部13から入力された各学習データのスペクトログラムVに対して、基底辞書生成部20から入力された基底辞書Wdを用いてNMFを行い、アクティベーションHdを算出する。アクティベーションHdは、下記数2式から推定される。なお、アクティベーションHdの各成分は、各基底成分の時間毎の発現度合いを表す。そして、算出されたアクティベーションHdは、第一表示部17および第一特徴量算出部15に出力される。
【数2】
【0025】
[基底辞書生成部]
ここで、上述したNMFを行う際に用いられる基底を生成する基底辞書生成部20ついて説明する。基底辞書生成部20は、全ての基底をひとまとめにした辞書を生成する。このとき、音響イベントごとに典型的なスペクトログラムが分かっている場合は、それらを基底として保存しておく。あるいは、学習データから自動的に生成することもできる。学習データから自動生成する場合、基底辞書生成部20は、例えば、
図4に示すブロック図で構成されており、辞書用学習データ入力部21、辞書用スペクトログラム算出部22、基底算出部23、基底辞書保存部24、を備える。
【0026】
[辞書用学習データ入力部]
辞書用学習データ入力部21は、上述した学習データ入力部11と同様に、音響イベントごとに複数の学習データを入力する。
【0027】
[辞書用スペクトログラム算出部]
辞書用スペクトログラム算出部22は、上述した第一スペクトログラム算出部13と同様に、学習データを周波数領域の時系列データ信号(スペクトログラム)に変換する。
【0028】
[基底算出部]
基底算出部23は、各学習データのスペクトログラムVに対し、上記数1式によりNMFして基底WとアクティベーションHに分解し、基底Wを基底辞書保存部24に出力する。基底数NWは音響イベントごとに別々に設定してもよいし、同じ値を設定しても良い。基底Wの各成分は、学習データのスペクトログラムの中で共起する成分を表す。
【0029】
[基底辞書保存部]
基底辞書保存部24は、全ての基底をひとまとめにした基底辞書Wdを生成して保存する。基底辞書の基底数をNwdとする。このとき、例えば、同じ音響イベントの複数の学習データから生成された基底など、重複した基底が存在する場合は、どちらか一方の基底のみ保存する。作成された基底辞書Wdは、第一NMF部14および第二NMF部34に出力され、アクティベーションの算出に利用される。
【0030】
[第一特徴量算出部]
第一特徴量算出部15(特徴量算出部)は、第一NMF部14から入力されたアクティベーションHdを用いて特徴量を算出し、第一表示部17およびモデル学習部16に出力する。アクティベーションHdは、学習データごとに時間長が異なるため、全データの時間長を一定値Lに揃えたアクティベーションを算出したあと、特徴量を抽出する。ここで、第一特徴量算出部15は、
図5のように、第一時間長調整部15a、第二時間長調整部15b、第一特徴量抽出部15cで構成される
【0031】
[第一時間長調整部]
第一時間長調整部15aは、同じ音響イベントの複数のデータ間でアクティベーションの時間長を揃え、時間長を揃えた新たなアクティベーション(以下、アクティベーション1と呼ぶ)を算出して第二時間長調整部15bに出力する。時間長を揃える方法としては、動的計画法(Dynamic Programming:DPマッチング)を利用する。DPマッチングは、2つのデータ間の部分的な伸び縮みを考慮しながら、データ間の距離と要素間の対応付けを行う手法である。例えば、同じ音響イベントで2つの学習データ(学習データA及び学習データB)があり、それぞれ時間長がl
A,l
B(l
A<l
B)である場合に、DPマッチングを利用して時間長を合わせる方法を、
図7と
図8を用いて説明する。
【0032】
図7は、第一NMF部14で算出された、ある学習データAと学習データBの、基底辞書生成部20で設定した基底数NW(
図7の例ではNW=3)分のアクティベーションの概略図である。
図7では、アクティベーションの時間方向の最大値が高い基底の順に上位3つを示している。時間長を合わせる際は、例えば、アクティベーションの最大値が最も高い基底(
図7では基底1)のアクティベーションを用いて、DPマッチングを行う。あるいは、アクティベーションの最大値が最も高い基底が学習データ間で共通していない場合は、アクティベーションの最大値が2番目に高いか3番目に高い基底を用いてDPマッチングを行ってもよい。いずれにしても、DPマッチングを行う際は、同じ基底に関するアクティベーションの間で行う。
【0033】
図8は、学習データAと学習データBに関する基底1のアクティベーションに対してDPマッチングを行い、時間毎のデータ間の距離の総和が最小になる対応付けを図示した例である。各データ間の対応付けは、1対1の場合は実線で表している。対応付けが1対多の場合は実線と点線で表し、実線の方が点線よりもデータ間の距離が小さいことを意味している。例えば、
図8の上図に示すように、時間長が大きい方(l
B)に合わせる場合には、時間長の小さい学習データAのアクティベーションのうち、点線で結ばれたデータと同じデータを次の時刻に挿入する。また、例えば、
図8の下図に示すように、時間長が小さい方(l
A)に合わせる場合には、時間長の大きい学習データBのうち、点線で結ばれたデータを削除する。基底1に関して時間長を合わせた後は、他の全ての基底(基底2~基底NW)に関しても基底1と同様の方法で時間長を合わせる。例えば、時間長が小さい方に合わせる場合は、基底1のアクティベーションで削除したデータと同じ時間の、他の基底に関するデータを削除する。以上の方法により、同じ音響イベントの複数のデータ間で時間長を揃えた、新たなアクティベーション1を算出することができる。新たなアクティベーション1は、第二時間長調整部15bに出力する。なお、
図7,
図8の例では、アクティベーションの最大値が最も高い基底に関して時間長を揃えているが、最大値の代わりに平均値や中央値などでもよい。
【0034】
[第二時間長調整部]
第二時間長調整部15bは、異なる音響イベント間で、アクティベーション1の時間長を揃えた新たなアクティベーション(以下、アクティベーション2と呼ぶ)を算出し、第一特徴量抽出部15cに出力する。異なる音響イベント間では時間スケールが異なる可能性が高いため、元のアクティベーションに変化を与えないよう時間長が大きい方に合わせるのが望ましい。
図9は、音響イベントαと音響イベントβのある基底に関するアクティベーションの概略図を表し、時間長がそれぞれl
αとl
β(l
α<l
β)であるとする。時間長が小さい音響イベントαの時間長を大きい方(l
β)に合わせる方法としては、例えば、データの最後にゼロを追加する。あるいは、背景ノイズのアクティベーションレベルを設定しておいて、その値をデータの最後に追加してもよい。すべての基底に関するアクティベーションについて、同様に時間長を揃える。ここで揃えた時間長をLとする。そして、時間長を調整した新たなアクティベーション2を、第一特徴量抽出部15cに出力する。
【0035】
[第一特徴量抽出部]
第一特徴量抽出部15cは、第二時間長調整部15bから入力された新たなアクティベーション2から、特徴量を生成する。学習データごとに全基底(基底数Nwd)のアクティベーションの各時刻の値を特徴量とする。例えば、n番目の基底のアクティベーションをHnとすると、H1の時刻t=0の値を特徴量1、H1の時刻t=1の値を特徴量2、・・・、H1の時刻t=Pの値を特徴量P+1、H2の時刻t=0の値を特徴量P+2、・・・、H2の時刻t=Pの値を特徴量2P+2、・・・、というように特徴量のベクトルを生成する。特徴量の次元数は、基底数Nwd×時間長Lとなる。生成した特徴量は、第一表示部17およびモデル学習部16に出力する。
【0036】
[モデル学習部]
モデル学習部16は、第一特徴量算出部15から入力された特徴量を使って、音響イベントのモデルを学習する。モデル学習方法は、例えば、サポートベクトルマシンを利用して、音響イベント間のマージンを最大化する識別境界を学習する。あるいは、GMM(Gaussian Mixture Model)やランダムフォレスト、kNN(k-Nearest Neighbor method)などの教師有り学習方式で学習してもよい。学習したモデルは、第一表示部17および検知部30に出力する。
【0037】
[第一表示部]
第一表示部17は、第一NMF部14から入力されたアクティベーションHdと、第一特徴量算出部15から入力された時間長を調整した新たなアクティベーション2と、第一特徴量算出部15から入力された学習データの特徴量と、モデル学習部16から入力された学習モデルとを、それぞれ可視化してユーザに分かる形で表示装置に表示するよう出力する。
図10は、第一表示部17における表示例であり、符号D1に第一NMF部14から入力されたアクティベーションHdの表示例を示し、符号D2に第一特徴量算出部15から入力された時間長を調整した新たなアクティベーション2の表示例を示し、符号D3に第一特徴量算出部15から入力された学習データの特徴量と、モデル学習部16から入力された学習モデル(ここでは識別境界)の表示例を示す。
図10の符号D1は、学習データごとに、各基底1,2,3に対応するアクティベーションを時系列データとして表示している。このとき、各学習データの時間長が分かるように表示する。
図10の符号D2は、符号D1で示したアクティベーションの時間長を調整した、新たなアクティベーション2を表示している。符号D2でも符号D1と同様に、各学習データの時間長が分かるように表示する。また、
図10の符号D3は、特徴量空間上に全学習データの特徴量および識別境界を表示する。このとき、各学習データが属しているイベントおよび、特徴量次元数が分かるように表示する。なお、特徴量の次元数は、上述したように基底数Nwd×時間長Lであるため、特徴量次元数が3次元以上の場合があるが、その場合には、全2次元ずつの組み合わせでプロットしてもよい。例えば、1次元目をX軸とし2次元目をY軸とした2次元の特徴量空間にプロットした第一の図、2次元目をX軸とし3次元目をY軸とした特徴量空間にプロットした第二の図、というように、複数のプロットした図を生成して表示してもよい。
【0038】
[検知部]
[評価データ入力部]
評価データ入力部31は、センサを用いて評価対象の音信号を収録し、かかる音信号を評価用時系列信号として入力して、第二データ切り出し部32に出力する。
【0039】
[第二データ切り出し部]
第二データ切り出し部32は、入力された音信号の全時間区間のうち、音響イベントの発生する時間区間を切り出して、第二スペクトログラム算出部33に出力する。切り出し方法は第一データ切り出し部12と同様である。ただし、この時切り出す時間長が時間長Lよりも大きくなった場合は、パワーの平均が最も高くなる時間長L以下の区間を選ぶなど、時間長がLを超えないように設定する。
【0040】
[第二スペクトログラム算出部]
第二スペクトログラム算出部33は、第二データ切り出し部32から入力された音信号を周波数領域の信号(スペクトログラム)に変換し、第二NMF部34に出力する。スペクトログラムの生成方法は、第一スペクトログラム算出部13と同様である。
【0041】
[第二NMF部]
第二NMF部34(アクティベーション算出部)は、基底辞書生成部20から入力された基底辞書を用いて、第二スペクトログラム算出部33から入力されたスペクトログラムに対してNMFを行い、アクティベーションを算出する。算出方法は、第一NMF部14と同様である。アクティベーションは、第二表示部37および第二特徴量算出部35に出力される。
【0042】
[第二特徴量算出部]
第二特徴量算出部35(特徴量算出部)は、第二NMF部34から入力されたアクティベーションを用いて特徴量を算出し、識別部36に出力する。アクティベーションの時間長は学習データと異なるため、第一特徴量算出部15で設定された学習データの時間長Lに合わせた新たなアクティベーション3を算出してから、特徴量を抽出する。新たなアクティベーション3と特徴量を、第二表示部37に出力する。また、特徴量を識別部36に出力する。ここで、
図6に、第二特徴量算出部35のブロック図を示す。第二特徴量算出部35は、第三時間長調整部35aと、第二特徴量抽出部35bと、を備えている。
【0043】
[第三時間長調整部35a]
第三時間長調整部35aは、第二NMF部34から入力されたアクティベーションの時間長を、学習データの時間長Lに合わせる。時間長を合わせる方法としては、例えば、データの最後にゼロまたはあらかじめ設定したノイズレベルを追加する。時間長がLになった新たなアクティベーション3を、第二特徴量抽出部35bおよび第二表示部37に出力する。
【0044】
[第二特徴量抽出部]
第二特徴量抽出部35bは、第三時間長調整部35aから入力された評価データのアクティベーションから、特徴量を生成する。特徴量の生成方法は、第一特徴量抽出部15cと同様である。生成した特徴量は、第二表示部37および識別部36に出力する。
【0045】
[識別部]
識別部36は、モデル学習部16で学習したモデルを用いて、第二特徴量算出部35から入力された評価データの特徴量が、どの音響イベントであるか識別する。例えば、モデル学習部16でモデルの生成方法としてSVMを利用した場合、評価データの特徴量が学習した識別境界のどちら側に位置するかで音響イベントを判断する。ここで検知された音響イベントと、識別境界を、第二表示部37に出力する。
【0046】
[第二表示部]
第二表示部37は、第二NMF部34から入力された評価データのアクティベーションと、第二特徴量算出部35から入力された時間長を調整した新たなアクティベーション3と、第二特徴量算出部35から入力された評価データの特徴量と、識別部から入力された音響イベントおよび識別境界を、それぞれ可視化してユーザに分かる形で表示する。
図11は、第二表示部37における表示例であり、符号D11に第二NMF部34から入力された評価データのアクティベーションの表示例を示し、符号D12に第二特徴量算出部35から入力された時間長を調整した新たなアクティベーション3の表示例を示し、符号D13に第二特徴量算出部35から入力された評価データの特徴量と、識別部36から入力された音響イベントおよび識別境界の表示例を示す。ここでは、評価データが1つのみの例を示しているが、評価データは複数でもよい。
図11の符号D11は、各基底1,2,3に対応するアクティベーションを時系列データとして表示している。このとき、評価データの時間長が分かるように表示する。
図11の符号D12は、符号D11のアクティベーションの時間長を調整した、新たなアクティベーション3を表示している。符号12でも符号11と同様に、調整された評価データの時間長が分かるように表示する。また、
図11の符号D13は、特徴量空間上に評価データの特徴量および識別境界を表示する。このとき、評価データの特徴量次元数と、属している音響イベントが分かるように表示する。特徴量次元数が3次元以上の場合は、全2次元ずつの組み合わせでプロットしてもよい。
【0047】
以上のように、本開示では、基底辞書生成部20で生成された全ての基底についてNMFを行ってアクティベーションを算出し、複数の基底間のアクティベーションの関係性とその時間変化を特徴量として学習する。具体的には、例えば、時刻ごとのアクティベーションの比が下記のように表されるような関係性と時間変化を特徴として学習する。
時刻t=0 基底A:基底B:基底C=1:2:1
時刻t=1 基底A:基底B:基底C=2:3:1
時刻t=2 基底A:基底B:基底C=1:2:1
なお、上記の例では簡単のため比を固定としているが、実際には幅をもっている。そのため、複数の音(複数の基底に対応)で構成される、実環境に近い複雑な音響イベントを精度よく学習・検知することができる。
【0048】
そして、本開示は、公共施設等における音響監視システムにおいて、マイクロフォンで収録した悲鳴や銃声等の危険音を検知し、即座に管理人に危険を知らせることができる。ソーナーが受信した水中の音波に適用することで、船舶の種類を検知して水中監視を行うこともできる。また、ハイドロフォンを利用して海中生物の鳴音を検知し、生態調査に役立てることもできる。
【0049】
<実施形態2>
次に、本開示の第2の実施形態を、
図12乃至
図13を参照して説明する。
図12乃至
図13は、実施形態2における信号処理装置の構成を示すブロック図である。なお、本実施形態では、上述した実施形態で説明した信号処理装置の構成の概略を示している。
【0050】
まず、
図12を参照して、本実施形態における信号処理装置100のハードウェア構成を説明する。信号処理装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0051】
なお、
図12は、信号処理装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。また、情報処理装置は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
【0052】
そして、信号処理装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、
図13に示すアクティベーション算出部121と特徴量算出部122と学習部123とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述したアクティベーション算出部121と特徴量算出部122と学習部123とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0053】
上記アクティベーション部121は、所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出する。
【0054】
上記特徴量算出部122は、アクティベーションの時間長を、他の学習用時系列信号に対応する他のアクティベーションの時間長に基づいて調整し、時間長を調整したアクティベーションの特徴量を算出する。例えば、特徴量算出部122は、全ての学習用時系列信号の全ての基底に対応するアクティベーションの時間長が同一となるよう調整する。
【0055】
上記学習部123は、特徴量を用いて学習用時系列信号を識別するモデルを生成するよう学習する。
【0056】
本開示は、以上のように構成されることにより、学習用時系列信号の時間長が調整されたアクティベーションを用いて時系列信号を識別するモデルを生成しているため、かかるモデルを用いることで、信号のイベントの検知を精度よく行うことができる。
【0057】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0058】
以上、上記実施形態等を参照して本開示を説明したが、本開示は、上述した実施形態に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述したアクティベーション算出部121と特徴量算出部122と学習部123との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0059】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における信号処理装置、信号処理方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出するアクティベーション算出部と、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出する特徴量算出部と、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する学習部と、
を備えた信号処理装置。
(付記2)
付記1に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長を、前記他のアクティベーションの時間長と同一となるよう調整する、
信号処理装置。
(付記3)
付記2に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションの時間毎のデータを、対応する時間毎の前記他のアクティベーションのデータに基づいて設定する、
信号処理装置。
(付記4)
付記3に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションと前記他のアクティベーションとにおいて相互に対応する時間毎のデータ間の距離の総和が最小となるよう、前記アクティベーションの時間毎のデータを設定する、
信号処理装置。
(付記5)
付記2に記載の信号処理装置であって、
前記アクティベーション算出部は、複数の前記基底毎にそれぞれ前記アクティベーションを算出し、
前記特徴量算出部は、特定の前記基底に対応する前記アクティベーションの時間毎のデータを設定すると共に、当該データを設定した同一の時間における他の前記基底に対応する前記アクティベーションのデータを設定する、
信号処理装置。
(付記6)
付記2に記載の信号処理装置であって、
前記特徴量算出部は、前記アクティベーションの時間長の調整に応じて、当該アクティベーションの調整した時間におけるデータを追加又は削除する、
信号処理装置。
(付記7)
付記1に記載の信号処理装置であって、
前記アクティベーション算出部は、所定の時間長を有する評価用時系列信号のスペクトログラムから前記アクティベーションを算出し、
前記特徴量算出部は、前記学習用時系列信号に対応する前記アクティベーションの調整した時間長に応じて、前記評価用時系列信号に対応する前記アクティベーションの時間長を調整し、当該時間長を調整した前記評価用時系列信号に対応する前記アクティベーションの特徴量を算出し、
さらに、前記評価用時系列信号に対応する前記特徴量から、前記モデルを用いて前記評価用時系列信号を識別する識別部を備えた、
信号処理装置。
(付記8)
付記7に記載の信号処理装置であって、
前記特徴量算出部は、前記評価用時系列信号に対応する前記アクティベーションの時間長を、前記学習用時系列信号に対応する前記アクティベーションの調整した時間長と同一となるよう調整する、
信号処理装置。
(付記9)
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
信号処理方法。
(付記9.1)
付記9に記載の信号処理方法であって、
所定の時間長を有する評価用時系列信号のスペクトログラムから前記アクティベーションを算出し、
前記学習用時系列信号に対応する前記アクティベーションの調整した時間長に応じて、前記評価用時系列信号に対応する前記アクティベーションの時間長を調整し、当該時間長を調整した前記評価用時系列信号に対応する前記アクティベーションの特徴量を算出し、
前記評価用時系列信号に対応する前記特徴量から、前記モデルを用いて前記評価用時系列信号を識別する、
信号処理方法。
(付記10)
情報処理装置に、
所定の時間長を有する学習用時系列信号のスペクトログラムから、予め設定された基底の時間毎の発現度合いを表す所定の時間長を有するアクティベーションを算出し、
前記アクティベーションの時間長を、他の前記学習用時系列信号に対応する他の前記アクティベーションの時間長に基づいて調整し、当該時間長を調整した前記アクティベーションの特徴量を算出し、
前記特徴量を用いて前記学習用時系列信号を識別するモデルを生成するよう学習する、
処理を実行させるためのプログラム。
【符号の説明】
【0060】
10 学習部
11 学習データ入力部
12 第一データ切り出し部
13 第一スペクトログラム算出部
14 第一NMF部
15 第一特徴量算出部
15a 第一時間長調整部
15b 第二時間長調整部
15c 第一特徴量抽出部
16 モデル学習部
17 第一表示部
20 基底辞書生成部
21 辞書用学習データ入力部
22 辞書用スペクトログラム算出部
23 基底算出部
24 基底辞書保存部
30 検知部
31 評価データ入力部
32 第二データ切り出し部
33 第二スペクトログラム算出部
34 第二NMF部
35 第二特徴量算出部
35a 第三時間長調整部
35b 第二特徴量抽出部
36 識別部
37 第二表示部
100 信号処理装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 アクティベーション算出部
122 特徴量算出部
123 学習部