【文献】
大浦勇亮,喜連川優,Webアクセスログのクラスタリングとその利用,第64回(平成14年)全国大会講演論文集(3) データベースとメディア ネットワーク,社団法人情報処理学会,2002年 3月12日,p.3-67〜3-68
【文献】
市田達也,外4名,特徴量の時間的な状態遷移を考慮したマルウェア感染検知手法に関する一検討,2012年 暗号と情報セキュリティシンポジウム予稿集,2012年 1月30日,p.1〜8
(58)【調査した分野】(Int.Cl.,DB名)
前記特異度算出部は、処理対象となる対象クラスタの前記代表値と、前記代表値記憶部に記憶されている前記対象クラスタ以外の各クラスタとの間の各クラスタ間距離に基づいて、前記特異度を算出することを特徴とする請求項1に記載の特異データ検出装置。
取得データを逐次クラスタリングし、クラスタリング結果に基づいて複数の取得データから特異な特徴を示す特異データを検出する特異データ検出装置で実行される特異データ検出方法であって、
前記特異データ検出装置は、
既にクラスタリングされたデータと、前記データが所属するクラスタとを対応付けて複数記憶するデータ記憶部と、
前記クラスタと、前記クラスタに所属する前記データの特徴量を代表する代表値とを対応付けて複数記憶する代表値記憶部と
を備え、
クラスタリングの対象となる新データを取得するデータ取得工程と、
前記データ取得工程において取得した前記新データの前記特徴量と前記代表値記憶部に記憶されている前記代表値の間のデータ距離を算出するデータ距離算出工程と、
前記データ距離に基づいて、前記新データが属するクラスタを決定するクラスタ決定工程と、
前記新データの前記特徴量に基づいて、前記新データの属するクラスタの前記代表値を算出する代表値算出工程と、
前記新データと、前記新データの属するクラスタとを対応付けて前記データ記憶部に書き込み、前記新データの属するクラスタに対応付けて前記新データの属するクラスタの前記代表値を前記代表値記憶部に書き込むデータ更新工程と、
前記代表値記憶部に記憶されている各クラスタの前記代表値に基づいて前記代表値記憶部に記憶されている複数のクラスタに対する各クラスタの特異度を算出する特異度算出工程と、
前記特異度に基づいて、各クラスタが特異クラスタであるか否かを判定し、前記クラスタが前記特異クラスタである場合に、前記特異データが検出されたと判定する特異データ判定工程と
を含み、
前記特異データ判定工程は、前記特異度と特異度閾値とを比較し、前記特異度が前記特異度閾値以上である場合に、さらに前記特異度が前記特異度閾値以上の前記クラスタに属するデータのデータ数とデータ数閾値とを比較し、所定時間継続して処理対象となる対象クラスタの前記データ数が前記データ数閾値以下である場合に、前記データ数閾値以下の前記データ数の前記クラスタを前記特異クラスタであると判定する、
ことを特徴とする特異データ検出方法。
【発明を実施するための形態】
【0014】
以下に添付図面を参照して、特異データ検出装置および特異データ検出方法の実施の形態を詳細に説明する。なお、本実施の形態においては、特異データ検出装置を適用した警備装置を例に説明する。
【0015】
図1は、特異データ検出装置としての警備装置1を示すブロック図である。本実施の形態の警備装置1は、例えば警備対象となる店舗内に設置され、周囲で発生する音に基づいて異常を検出し、警報を出力する。より具体的には、警備装置1は、音データを取得する度に音データのクラスタリングを逐次行い、このクラスタリングの結果、他のデータと特徴の異なる特異データのクラスタが発生した場合に、通常の音と異なる異常音が発生したものと判断し、警報を出力する。
【0016】
警備装置1は、このための構成として、データ取得部10と、特徴パラメータ算出部20と、逐次クラスタリング部30と、データ記憶部40と、セントロイド記憶部50と、データ更新部60と、特異データ処理部70と、警報出力部80とを備えている。
【0017】
データ取得部10は、クラスタリングの対象となる音データを取得する。特徴パラメータ算出部20は、データ取得部10が取得した音データの特徴量としての特徴パラメータを算出する。なお、本実施の形態の警備装置1は、クラスタリングの対象データとして音データを取得し、特徴パラメータとして、LPCケプストラム係数を算出することとする。ただし、クラスタリングの対象データの種類および特徴パラメータの種類は実施の形態に限定されるものではない。
【0018】
データ取得部10は、例えば、16kHz、16bitで量子化された音響信号(以下、音データと称する)をクラスタリングの対象データとして取得する。また、特徴パラメータ算出部20は、例えば、分析フレーム長64msec(1024p)、分析フレーム間隔16msec(256p)で16次のLPCケプストラム係数を算出することにより、音の周波数構造を表す16次元の特徴パラメータを算出する。
【0019】
なお他の例としては、クラスタリングの対象となる対象データとともに特徴パラメータを外部から取得してもよい。この場合には、警備装置1は、特徴パラメータ算出部20を備えなくともよい。
【0020】
逐次クラスタリング部30は、特徴パラメータ算出部20により算出された特徴パラメータに基づいて、データ取得部10がデータを取得する度に、データのクラスタリングを逐次行う。
【0021】
データ記憶部40は、逐次クラスタリング部30によりクラスタリングされた音データを記憶している。セントロイド記憶部50は、逐次クラスタリング部30により生成されたクラスタのセントロイドの値を記憶している。ここで、セントロイドとは、各クラスタに属する音データの特徴パラメータの重心である。本実施の形態においては、クラスタの特徴を示す代表値としてセントロイドを用いるが、代表値は、クラスタの特徴を示すような値であればよく、例えば、クラスタに属する音データの平均値などセントロイド以外の値を用いてもよい。
【0022】
図2は、セントロイドを説明するための図である。なお、本実施の形態においては、説明の便宜上、音データの特徴パラメータがx,y座標上の値を有する二次元データである場合を例に説明する。
図2に示すように、クラスタAに属するデータa1〜a5の特徴パラメータのxy平面上の位置の重心位置がクラスタAのセントロイドである。
【0023】
図1に戻り、データ更新部60は、データ取得部10が新たな音データを取得すると、新たな音データに基づいて、データ記憶部40およびセントロイド記憶部50のデータを更新する。なお、本実施の形態の警備装置1においては、データ取得部10は、クラスタリングの対象となる音データを逐次取得し、データ更新部60は、データ記憶部40に記憶されている音データの数が予め設定された閾値を越えた場合には、最も古い音データを削除し、これに替えて新たな音データをデータ記憶部40に書き込む。
【0024】
図3は、データ記憶部40のデータ構成を模式的に示す図である。
図3に示すように、データ記憶部40は、データ取得部10が音データを取得した取得順と、音データを識別するデータIDと、音データと、音データに対し特徴パラメータ算出部20により算出された特徴パラメータと、音データが属するクラスタを識別するクラスタIDとを対応付けて記憶している。なお、取得順は、データを取得する度に付与される連続番号などであってもよく、また他の例としては、取得時刻であってもよい。
【0025】
図4は、セントロイド記憶部50のデータ構成を模式的に示す図である。
図4に示すように、セントロイド記憶部50は、逐次クラスタリング部30により生成されたクラスタのクラスタIDと、クラスタのセントロイドとを対応付けて記憶している。
【0026】
図1に戻り、逐次クラスタリング部30は、データ距離算出部31と、クラスタ決定部32と、セントロイド算出部33とを有している。データ距離算出部31は、データ距離を算出する。ここで、データ距離とは、データ取得部10が新たに取得した音データ(新データ)の特徴パラメータと、既に逐次クラスタリング部30により生成されたクラスタのセントロイドとの距離である。データ距離算出部31は、特徴パラメータ算出部20により算出された特徴パラメータと、セントロイド記憶部50に記憶されているクラスタのセントロイドに基づいて、データ距離を算出する。なお、セントロイド記憶部50に複数のクラスタのセントロイドが記憶されている場合には、データ距離算出部31は、すべてのセントロイドとのデータ距離を算出する。
【0027】
クラスタ決定部32は、データ距離算出部31により算出されたデータ距離と、予め設定された距離閾値とを比較する。そして、クラスタ決定部32は、所定のクラスタとのデータ距離が距離閾値以下の場合には、距離閾値以下のデータ距離が算出されたクラスタを新データが属するクラスタに決定する。クラスタ決定部32はまた、データ距離が距離閾値よりも大きい場合には、新データの属するクラスタとして新たなクラスタを生成し、これを新データが属するクラスタに決定する。
【0028】
なお、距離閾値は、警備装置1に予め設定しておく。なお、距離閾値の値は任意であるが、距離閾値を大きく設定することにより、生成されるクラスタの数を少なくすることができ、特徴量の異なるデータを同一クラスタに所属させることができる。一方で、距離閾値を小さく設定することにより、比較的多くのクラスタを生成することができ、特徴量が比較的類似するデータのみを同一クラスタに所属させることができる。
【0029】
セントロイド算出部33は、クラスタ決定部32により決定された新データのクラスタのセントロイドを算出する。セントロイド算出部33はまた、データ更新部60により所定の音データがデータ記憶部40から削除された場合には、削除された音データが属していたクラスタのセントロイドを算出する。すなわち、セントロイド算出部33は、音データの削除後に、削除された音データのクラスタに属する、残りの音データの特徴パラメータに基づいて、削除された音データが属していたクラスタのセントロイドを算出する。
【0030】
なお、クラスタ決定部32により新データが属するクラスタが決定されると、データ更新部60は、新データと、新データのデータIDと、新データの特徴パラメータと、新データに対して決定されたクラスタのクラスタIDとをデータ記憶部40に書き込む。また、セントロイド算出部33によりセントロイドが算出されると、データ更新部60は、セントロイド算出部33により算出されたセントロイドをクラスタIDに対応付けてセントロイド記憶部50に書き込む。
【0031】
特異データ処理部70は、逐次クラスタリング部30によりクラスタリングされ、データ記憶部40に書き込まれたデータを参照し、警備装置1に特異データが入力されたか否かを判断する。特異データ処理部70は、クラスタ間平均距離算出部71と、特異データ判定部72と、継続性判定部73とを有している。
【0032】
クラスタ間平均距離算出部71は、セントロイド記憶部50を参照し、各クラスタのクラスタ間平均距離を算出する。具体的には、クラスタ間平均距離算出部71は、処理対象の対象クラスタのセントロイドと、対象クラスタ以外の他のクラスタとの間のクラスタ間距離を算出する。他のクラスタが複数存在する場合には、複数のクラスタ間距離が算出される。
【0033】
クラスタ間平均距離算出部71は、対象クラスタに対して得られた複数のクラスタ間距離の平均値を、対象クラスタのクラスタ間平均距離として算出する。クラスタ間平均距離算出部71は、逐次クラスタリング部30により生成され、セントロイド記憶部50にクラスタIDが記憶されているすべてのクラスタを対象クラスタとし、すべてのクラスタのクラスタ間平均距離を算出する。
【0034】
図5は、クラスタ間平均距離を説明するための図である。例えば、
図5に示すように、逐次クラスタリング部30により、クラスタA〜Cが生成され、セントロイド記憶部50にクラスタA〜CのクラスタIDが記憶されているとする。この場合、クラスタ間平均距離算出部71は、クラスタAを対象クラスタとするとき、クラスタAのセントロイドを起点とし、クラスタAとクラスタBの間のクラスタ間距離d
Bと、クラスタAとクラスタCの間のクラスタ間距離d
Cとを算出する。
【0035】
そして、クラスタ間平均距離算出部71は、クラスタAとクラスタBの間のクラスタ間距離d
Bと、クラスタAとクラスタCの間のクラスタ間距離d
Cの平均値を、クラスタAのクラスタ間平均距離として算出する。クラスタ間平均距離算出部71は、同様に、クラスタBおよびクラスタCのクラスタ間平均距離を算出する。
【0036】
ここで、各クラスタのクラスタ間平均距離は、各クラスタが他のクラスタとどの程度離れているかを評価する指標値であり、すなわち、各クラスタの他のクラスタに対する特異性を評価する指標であり、特異度に相当する値である。したがって、クラスタ間平均距離算出部71は、特異度算出部に相当する。
【0037】
図1に戻り、特異データ判定部72は、クラスタ間平均距離算出部71により算出された各クラスタのクラスタ間平均距離と、各クラスタに属するデータ数とに基づいて、特異クラスタの可能性のある特異クラスタ候補を特定する。各クラスタに属するデータ数は、各クラスタのデータの発生頻度を評価する指標となる値である。
【0038】
ここで、特異クラスタとは、他のクラスタと特徴の異なるクラスタである。特異データ判定部72は、特異クラスタ候補を特定した場合には、特異クラスタ候補が一定時間継続して、特異クラスタ候補と判定された場合に、このクラスタを特異クラスタと判定し、特異クラスタに属するデータが特異データとして検出されたと判定する。
【0039】
警報出力部80は、特異データ判定部72により特異データが検出されたと判定された場合に、異常音が発生したと判断し、警報を出力するとともに、ネットワークを介して管理装置等に異常が発生した旨の通報を行う。
【0040】
図6は、警備装置1によるクラスタリング処理を示すフローチャートである。クラスタリング処理は、警備装置1のデータ取得部10が音データを取得する度に実行される。クラスタリング処理においては、まずデータ取得部10が音データを取得すると(ステップS100)、特徴パラメータ算出部20は、音データの特徴パラメータを算出する(ステップS101)。次に、データ更新部60は、データ記憶部40を参照し、データ記憶部40にデータが記憶されているか否かを確認する。
【0041】
データ記憶部40に音データが記憶されておらず、まだクラスタが生成されていない場合には(ステップS102,No)、データ更新部60は、自身が有するデータ配列X[j]のアドレス[j=0]にステップS101において算出された新データの特徴パラメータを格納する(ステップS103)。データ更新部60は、さらにデータ記憶部40に新たなデータ、新たなデータの取得順、データID、特徴パラメータを書き込む。
【0042】
次に、逐次クラスタリング部30のクラスタ決定部32は、新データが属するクラスタ(新クラスタ)を新たに生成する(ステップS104)。これに対応し、データ記憶部40においては、データ更新部60により、新データに対応付けて、新クラスタのクラスタIDが書き込まれる。
【0043】
次に、セントロイド算出部33は、新クラスタのセントロイドを算出する(ステップS105)。なお、ステップS104において生成された新クラスタに属するデータは新データのみであるので、ステップS105では、新データの特徴パラメータがクラスタのセントロイドとして算出される。算出されたセントロイドは、データ更新部60により、新クラスタのクラスタIDに対応付けてセントロイド記憶部50に書き込まれ、
図9に示す特異データ判定処理へ進む。
【0044】
一方、ステップS102において、既にデータ記憶部40に音データが記憶されており、クラスタ生成済みである場合には(ステップS102,Yes)、データ更新部60は、データ配列X[j]のアドレス[j]を1だけ進める(ステップS110)。ここで、アドレス[j]がデータ配列X[j]の最終アドレスよりも大きい場合には(ステップS111,Yes)、データ更新部60は、データ配列X[j]のアドレスを[0]に戻す(ステップS112)。なお、ステップS111において、アドレス[j]がデータ配列X[j]の最終アドレス以下である場合には(ステップS111,No)、ステップS113へ進む。
【0045】
次に、セントロイド算出部33は、データ配列X[j]の各アドレスに格納されている特徴パラメータのうち、アドレス[j]に格納されている特徴パラメータ以外の特徴パラメータに基づいて、アドレス[j]の特徴パラメータが属するクラスタのセントロイドを算出し、データ更新部60は、算出結果に基づいて、セントロイド記憶部50のセントロイドを更新する(ステップS113)。
【0046】
なお、ここでは、アドレス[j]に格納されている特徴パラメータが除外されるので、アドレス[j]の特徴パラメータが属するクラスタのセントロイドの値が、前回算出されたセントロイドの値と異なる可能性があるが、これ以外のクラスタのセントロイドの値に変更はない。そこで、ステップS113においては、アドレス[j]の特徴パラメータが属するクラスタのセントロイドの算出、更新を行えばよい。
【0047】
次に、データ距離算出部31は、新データと既に生成済みのすべてのクラスタのセントロイドとの間のデータ距離をそれぞれ算出する(ステップS114)。新データの特徴パラメータx
k(k=0,1,2…K)とクラスタ[i](i=0,1,2…I)のセントロイドC
i,kの間のデータ距離d
iは、(式1)により算出される。ここで、kは、特徴パラメータの次元であり、Iは、生成済みのクラスタの数である。なお、本実施の形態においては、特徴パラメータは2次元である。
【数1】
【0048】
次に、クラスタ決定部32は、複数のクラスタが存在する場合には、複数のクラスタそれぞれに対して算出された新データのデータ距離の最小値と、予め設定された距離閾値(D
p)とを比較する。なお、1つのクラスタのみ存在する場合には、算出されたデータ距離と距離閾値(D
p)とを比較する。データ距離の最小値が距離閾値(D
p)以下である場合には(ステップS115,Yes)、クラスタ決定部32は、データ距離の最小値が得られたクラスタを新データが属するクラスタに決定する(ステップS116)。
【0049】
このように、処理対象となる複数のデータの分散に対して、相対的に小さい距離閾値(D
p)を設定した場合には、クラスタ数が多くなり、相対的に大きい距離閾値(D
p)を設定した場合には、クラスタ数は少なくなる。最適な距離閾値(D
p)は、入力されるデータの特徴量に依存する。したがって、入力されるデータの特徴量や入力データ群のばらつきを予測し、これらの値に基づいて最適な距離閾値(D
p)を予め設定しておくことが望ましい。
【0050】
次に、セントロイド算出部33は、新データのクラスタのセントロイドを算出し、データ更新部60は、算出結果に基づいて、セントロイド記憶部50のセントロイドを更新する(ステップS117)。具体的には、セントロイド算出部33は、新データと、新データが属するクラスタに属する音データの特徴パラメータに基づいて、新データが属するクラスタのセントロイドを算出する。そして、データ更新部60は、新データが属するクラスタのクラスタIDに対応付けられているセントロイドの値を、セントロイド算出部33により算出されたセントロイドの値、すなわち新データを追加後のクラスタのセントロイドの値に更新する。
【0051】
次に、データ更新部60は、アドレス[j]に新データの特徴パラメータを格納し、新データ、新データの取得順、データID、特徴パラメータ、クラスタIDをデータ記憶部40に書き込み(ステップS118)、
図9に示す特異データ判定処理へ進む。
【0052】
なお、ステップS115において、データ距離の最小値が距離閾値(D
p)よりも大きい場合には(ステップS115,No)、新データは既に生成済みのいずれのクラスタにも属さないと判断し、ステップS104に進み、新データのみを所属データとする新クラスタを生成する。
【0053】
以上のように、本実施の形態にかかる警備装置1は、新データが追加された場合には、新データの特徴パラメータと既に生成されているクラスタのセントロイドのみに基づいて、クラスタを更新する。すなわち、本実施の形態にかかる警備装置1は、少ない演算量で逐次クラスタリングを行うことができる。
【0054】
また、データ配列X[j]以上の数のデータを取得した場合には、古い音データから順に削除し、この場合には、削除されたデータが属していたクラスタについてのみクラスタの更新を行えばよいので、時々刻々と変化するデータに対し、少ない演算量で、常に最新の一定期間に得られたデータを適切にクラスタリングすることができる。
【0055】
さらに、データ配列の数を設定することにより、クラスタリングの対象となるデータの最大数を設定することができるので、利用者は、希望するデータ数、または希望する期間に相当するデータ数を設定するだけで、自動的に常に希望するデータ数のデータを対象としたクラスタリング結果を自動的に得ることができる。
【0056】
図7は、クラスタの生成過程を示す図である。警備装置1に音データ1〜5が番号順に入力されたとする。この場合、まず、音データ1の入力に対し、データ数1のクラスタAが生成される。クラスタAのセントロイドは、音データ1の特徴パラメータの値となる。
【0057】
次に、音データ2が入力されると、音データ2とクラスタAのセントロイドとのデータ距離が算出される。音データ2のデータ距離は、距離閾値(D
p)よりも大きいものとする。この場合、音データ2が属する新たなクラスタBが生成され、クラスタBのセントロイドは、音データ2の特徴パラメータの値となる。
【0058】
次に、音データ3が入力されると、音データ3とクラスタAのセントロイドとのデータ距離と、音データ3とクラスタBのセントロイドとのデータ距離が算出される。ここで、いずれのデータ距離も距離閾値(D
p)よりも大きいものとする。この場合、音データ3が属する新たなクラスタC(図中C1)が生成され、クラスタCのセントロイドは音データ3の特徴パラメータの値となる。
【0059】
次に、音データ4が入力されると、音データ4とクラスタA〜Cのそれぞれのセントロイドとのデータ距離、すなわち3つのデータ距離が算出される。ここで、算出された3つのデータ距離のうちクラスタCとのデータ距離が最小で、かつデータ距離の最小値が距離閾値(D
p)以下の値であるものとする。この場合には、音データ4の属するクラスタがクラスタCに決定される。さらに、クラスタC(図中C2)の所属データを音データ3および音データ4として、クラスタC(C2)のセントロイドが更新される。
【0060】
次に、音データ5が入力されると、音データ5と、クラスタA〜クラスタCそれぞれのセントロイドとのデータ距離が算出される。ここで、算出された3つのデータ距離のうちクラスタC(C2)とのデータ距離が最小で、かつデータ距離の最小値が距離閾値(D
p)以下の値であるものとする。この場合には、音データ5の属するクラスタがクラスタCに決定される。さらに、クラスタC(C3)の所属データを音データ3、音データ4および音データ5として、クラスタC(C3)のセントロイドが更新される。
【0061】
図8は、音データを取得するのに伴い、古いデータを削除する過程を示す図である。なお、
図8の例においては、データ配列X[j]に10個の音データが格納され、これ以上のデータが警備装置1に入力された場合には、古い音データから順に削除されるものとする。
図8のt1のタイミングまでに音データ1〜10がそれぞれクラスタA〜Dにクラスタリングされているものとする。
【0062】
そして、t1のタイミングで警備装置1に新データ11が入力される。この場合には、t1のタイミングにおいて、データ配列X[j]に格納されている最も古いデータである音データ1が削除される。そして、t2のタイミングで新データ11が属するクラスタがクラスタCに決定され、クラスタCのセントロイドが更新される。
【0063】
また、音データ1が削除されたことに伴い、t2のタイミングで、音データ1が属していたクラスタAのセントロイドが更新される。さらに、t2のタイミングにおいて、新データ12が入力されるとする。この場合には、t2のタイミングにおいて、データ配列X[j]に格納されている最も古いデータである音データ2が削除される。そして、t3のタイミングで新データ12が属する新たなクラスタEが生成される。また、音データ2が削除されたことに伴い、音データ2が属していたクラスタBが消滅する。なお、クラスタに属する音データが存在しない場合には、データ更新部60は、セントロイド記憶部50において、所属する音データが存在しないクラスタのクラスタIDに対応付けられているセントロイドの値、またはクラスタIDとセントロイドの値の両方を削除する。
【0064】
図9は、
図6に示すクラスタリング処理のステップS105およびステップS118に続いて実行される特異データ判定処理を示すフローチャートである。
図6に示すクラスタリング処理が終了すると、続いて
図9に示すように、特異データ処理部70のクラスタ間平均距離算出部71は、生成されたすべてのクラスタ、すなわちセントロイド記憶部50にクラスタIDが記憶されているすべてのクラスタのクラスタ間平均距離を算出する(ステップS120)。次に、特異データ判定部72は、クラスタ間平均距離算出部71により複数のクラスタそれぞれに対して算出された複数のクラスタ間平均距離の中から最大値を特定する(ステップ121)。
【0065】
次に、特異データ判定部72は、特定した最大値と予め設定された距離閾値(D
c)とを比較する。ここで、距離閾値(D
c)は、任意の値であり、警備装置1に予め設定されているものとする。最大値が距離閾値(D
c)以上である場合には(ステップS122,Yes)、特異データ判定部72は、データ記憶部40を参照し、最大値が算出されたクラスタに属するデータ数(m
c)を特定する(ステップS123)。
【0066】
次に、特異データ判定部72は、データ数(m
c)と予め設定されたデータ数閾値(M
c)とを比較する。ここで、データ数閾値(M
c)は、任意の値であり、警備装置1に予め設定されているものとする。データ数(m
c)がデータ数閾値(M
c)以下であり、かつデータ数(m
c)が生成された各クラスタのデータ数の最小値である場合には(ステップS124,Yes)、特異データ判定部72は、最大値が算出されたクラスタを特異クラスタである可能性のある特異クラスタ候補に設定する(ステップS125)。
【0067】
このように、本実施の形態の警備装置1においては、特異データ判定部72は、クラスタ間平均距離の最大値と距離閾値(D
c)の比較結果に基づいて、クラスタ間平均距離の最大値が算出されたクラスタが特異クラスタ候補か否かを判定する。
【0068】
距離閾値(D
c)として比較的小さい値を設定することにより、特異性の低い音データまで特異データとして検出することができる。一方、距離閾値(D
c)として比較的大きい値を設定することにより、特異性の高い音データのみを特異データとして検出することができる。特異データとして検出したいデータ群の特徴量に応じて、特異クラスタが他のクラスタから離れた位置にあることが判別可能な値を距離閾値(D
c)として設定するのが好ましい。
【0069】
さらに、本実施の形態の警備装置1においては、特異データ判定部72は、特異クラスタ候補か否かを判定する対象クラスタに属するデータ数(m
c)とデータ数閾値(M
c)との比較結果に基づいて、対象クラスタが特異クラスタ候補か否かを判定する。
【0070】
これにより、例えば、コップが割れた音など突発的な音のデータのみを特異データとして検出することができる。一方で、子供の話し声や笑い声のように、通常発生する音とは異質な音であっても、発生頻度が高いような音については、特異データとして検出せず、日常音として処理することができる。
【0071】
次に、特異データ判定部72は、直前に実行されたクラスタリング処理において、ステップS125において特異クラスタ候補に設定されたクラスタのセントロイドが更新されたか否かを確認する。特異クラスタ候補のセントロイドが更新されていない場合には(ステップS126,No)、特異データ判定部72は、自身が記憶するカウンタの値(T)を1だけ加算する(ステップS127)。
【0072】
続いて、特異データ判定部72は、カウンタの値(T)と予め設定された継続時間閾値(T
c)とを比較する。ここで、継続時間閾値(T
c)は、任意の値であり、警備装置1に予め設定されているものとする。カウンタの値(T)が継続時間閾値(T
c)以上である場合には(ステップS128,Yes)、特異データ判定部72は、特異クラスタ候補が特異クラスタであると判定し、特異クラスタに属するデータが特異データとして検出されたと判定する(ステップS129)。
【0073】
また、本実施の形態の警備装置1においては、特異データ判定部72は、特異クラスタ候補のセントロイドが更新されない状態で、カウンタの値(T)が継続時間閾値(T
c)以上である場合に特異クラスタ候補が特異クラスタであると判定する。したがって、継続時間閾値(T
c)を比較的大きい値を設定し、かつデータ数閾値(M
c)を小さい値に設定することにより、突発的な音のデータが属するクラスタのみを特異クラスタと判定し、突発的な音のみを特異データとして検出することができる。
【0074】
このように、異常データ(特異データ)として検出したいデータ群の特徴に応じた距離閾値(D
c)、データ数閾値(M
c)、継続時間閾値(T
c)を設定することにより、警備装置1の管理者等が希望するデータを異常データとして検出することができる。
【0075】
次に、警報出力部80は、警報を出力し(ステップS130)、特異データ判定部72は、変数Tの値を初期値0にリセットし(ステップS131)、処理が完了する。
【0076】
一方、ステップS128において、カウンタの値(T)が継続時間閾値(T
c)よりも小さい場合には(ステップS128,No)、処理が完了する。
【0077】
また、ステップS122において、クラスタ間平均距離の最大値が距離閾値(D
c)よりも小さい場合(ステップS122,No)、ステップS124において、データ数(m
c)がデータ数閾値(M
c)よりも大きい場合(ステップS124,No)、ステップS124において、データ数(m
c)が生成された各クラスタのデータ数の最小値でない場合(ステップS124,No)、およびステップS126において、特異クラスタ候補のセントロイドが更新されている場合(ステップS126,Yes)には、いずれもステップS131に進み、特異データ判定部72は、カウンタの値(T)を0にリセットし(ステップS131)、処理が完了する。
【0078】
以上のように、特異データ処理においては、クラスタ間平均距離、クラスタに属するデータ数に基づいて、処理対象となる対象クラスタが特異クラスタ候補か否かを判定し、継続時間閾値(T
c)以上の時間継続して、対象クラスタが特異クラスタ候補と判定された場合に、特異クラスタであると判定し、特異クラスタに属するデータが特異データとして検出されたと判定する。さらに、特異データが検出されたと判定した場合に、警報を出力する。したがって、本実施の形態にかかる警備装置1は、刻々と変化する音データを定期的にサンプリングし、サンプリングの度に自動的に音データをクラスタリングし、クラスタリングの結果に基づいて異常の有無を判断し、適宜警報を出力することができる。
【0079】
本実施の形態の警備装置1の第1の変更例としては、クラスタに属するデータ数およびカウンタの値(T)を考慮せず、クラスタ間平均距離のみに基づいて、処理対象のクラスタが特異クラスタか否かを判定することとしてもよい。また、他の例としては、クラスタに属するデータ数を考慮せず、クラスタ間平均距離およびカウンタの値(T)のみ、またはカウンタの値(T)を考慮せず、クラスタ間平均距離およびデータ数のみに基づいて、処理対象のクラスタが特異クラスタか否かを判定することとしてもよい。
【0080】
(実施例1)
本実施の形態にかかる警備装置1を用いて、木材および金属を打撃した音の音データのクラスタリングのシミュレーションを行った。警備装置1に入力される音データには、16KHz、16bitで量子化された音響信号を用い、分析フレーム長64msec(1024p)、分析フレーム間隔16msec(256p)で16次のLPCケプストラム係数を算出し、これを音の周波数構造を表す16次元の特徴パラメータとして用いることとした。さらに、新データが所定のクラスタに属するか否かを判定する距離閾値(D
p)を1.0に設定した。
【0081】
図10−1は、木材を5回打撃したときに得られた音の波形とスペクトログラムを示す図である。
図10−2は、
図10−1に示す音データに対する、警備装置1によるクラスタリング結果を示す図である。無音区間はクラスタ番号1に、打撃音はクラスタ番号2にクラスタリングされたことを確認することができた。
【0082】
図11−1は、木材を打撃し、続いて金属を打撃し、再び木材を打撃したときに得られた音の波形とスペクトログラムを示す図である。
図11−2は、
図11−1に示す音データに対する、警備装置1によりクラスタリング結果を示す図である。無音区間はクラスタ番号1に、木材による打撃音はクラスタ番号2に、続く金属による打撃音はクラスタ番号3にクラスタリングされたことを確認することができた。
【0083】
以上のように、本実施の形態にかかる警備装置1が無音区間と有音区間のクラスタリングだけでなく、木材の打撃音と金属の打撃音も精度よくクラスタリングすることを確認することができた。
【0084】
(実施例2)
本実施の形態にかかる警備装置1を用いて、日常音に異常音を重畳した音データを入力とし、音データのクラスタリングおよび異常音検出のシミュレーションを行った。なお、日常音として居酒屋内の騒音を用い、異常音としてガラスのコップが割れる音を用いた。
【0085】
警備装置1に入力される音データには、日常音、異常音ともに、16KHz、16bitで量子化された音響信号を用い、分析フレーム長64msec(1024p)、分析フレーム間隔16msec(256p)で16次のLPCケプストラム係数を算出し、これを音の周波数構造を表す16次元の特徴パラメータとして用いることとした。さらに、新データが所定のクラスタに属するか否かを判定する距離閾値(D
p)を1.1に設定した。なお、データ取得部10が新たに取得した新データが、クラスタ間平均距離が最大となるクラスタに属する場合に、この新データを異常音と判定した。
【0086】
図12−1〜
図12−3は、SNR=10dBで日常音と異常音とを混合した音データのシミュレーション結果を示す図である。
図13−1〜
図13−3は、SNR=5dBで日常音と異常音とを混合した音データのシミュレーション結果を示す図である。
【0087】
図12−1は、SNR=10dBで日常音と異常音とを混合した音データの波形とスペクトログラムを示す図である。
図12−2は、
図12−1に示す音データに対する、警備装置1によるクラスタリング結果を示す図である。
図12−3は、クラスタ間平均距離の最大値が得られたクラスタを示す図である。
【0088】
同様に、
図13−1は、SNR=5dBで日常音と異常音とを混合した音データの波形とスペクトログラムを示す図である。
図13−2は、
図13−1に示す音データに対する、警備装置1によるクラスタリング結果を示す図である。
図13−3は、クラスタ間平均距離の最大値が得られたクラスタを示す図である。
【0089】
図12−2および
図12−3に示すように、SNR=10dBの音データに対し、クラスタ番号1〜4の4つのクラスタが生成され、クラスタ番号2のクラスタのクラスタ間平均距離が最大となった。さらに、
図12−1〜
図12−3に示すように、クラスタ番号2に属するデータは、異常音に対応していることも確認することができた。
【0090】
さらに、
図13−2および
図13−3に示すように、SNR=5dBの音データに対し、クラスタ番号1〜4の4つのクラスタが生成された。
図13−1〜
図13−3に示すようにクラスタ番号4のクラスタのクラスタ間平均距離が最大となった。さらに、クラスタ番号4に属するデータは、異常音に対応していることも確認することができた。
【0091】
以上のように、本実施の形態にかかる警備装置1において、精度よく日常音と異常音を判別し、異常音を検出することを確認することができた。
【0092】
(実施例3)
本実施の形態にかかる警備装置1を用いて、日常音に異常音を重畳した音データを入力とし、音データのクラスタリングおよび異常音検出のシミュレーションを行った。なお、実施例3においては、日常音に、居酒屋内の騒音の他、マーケット内の騒音を用いた。
【0093】
警備装置1に入力される音データには、日常音、異常音ともに、16KHz、16bitで量子化された音響信号を用い、分析フレーム長64msec(1024p)、分析フレーム間隔16msec(256p)で16次のLPCケプストラム係数を算出し、これを音の周波数構造を表す16次元の特徴パラメータとして用いることとした。さらに、新データが所定のクラスタに属するか否かを判定する距離閾値(D
p)を1.13に設定した。
【0094】
さらに、時間の経過に伴い、「居酒屋内の騒音」、「居酒屋内の騒音と異常音」、「マーケット内の騒音と異常音」の順に発生する音を変化させ、警備装置1によるクラスタリングを行い、クラスタリング更新の様子を20秒毎に観測した。その結果を、
図14−1〜
図16−2に示す。
【0095】
図14−1および
図14−2は、居酒屋内の騒音、
図15−1および
図15−2は、居酒屋内の騒音と異常音、
図16−1および
図16−2は、マーケット内の騒音と異常音の図である。さらに、各図番の枝番1の図は、いずれも音データの波形とスペクトログラムを示しており、枝番2の図は、いずれもクラスタリング結果を示している。
【0096】
図14−1〜
図15−2に示すように、異常音が発生すると、異常音の音データを所属データとする新たなクラスタ(クラスタ番号4)が生成されることを確認することができた。
【0097】
さらに、
図15−1〜16−2に示すように、日常音が居酒屋内の騒音からマーケット内の騒音に変化すると、これに対応して、クラスタ番号3の1つのクラスタが消滅し、クラスタ番号5,6の2つのクラスタが新たに生成されることを確認することができた。さらに、日常音の変化後も異常音(クラスタ番号4)を継続して検出されることを確認することができた。このように、本実施の形態にかかる警備装置1においては、周囲の環境が変化するような場所においても、精度よく異常音を検出することができる。
【0098】
なお、本実施の形態においては、特異データ検出装置を警備装置1に適用した例について説明したが、他の例としては、特異データ検出装置は、工場等において測定される、複数の監視対象物それぞれの測定値を特異データ検出の対象とし、複数の測定値から特異データ、すなわち異常値を検出してもよい。