(57)【要約】【課題】認識用辞書を生成するための学習処理用データを効率良く生成できるようにする。【解決手段】複数のカメラから取得した画像の特徴量を、互いに類似した特徴量から構成される複数のデータグループに分割する。そして、前記分割されたデータグループ間の類似度を算出して、前記算出した類似度に応じて前記分割されたデータグループを統合して統合データグループを生成する。次に、統合データグループから一部のデータを抽出して、認識用の辞書を生成するための学習処理用のデータの一部を構成する部分データセットを決定する。【選択図】図２
2018045302.tif 000002
【特許請求の範囲】
【請求項１】
異なる条件で取得した複数のデータ群を、前記複数のデータ群に係る個々のデータの特徴に基づいてそれぞれ複数のグループに分割する分割手段と、
前記分割手段によって分割されたグループ間の統合適正度を算出する算出手段と、
前記算出手段によって算出された統合適正度に応じて前記分割されたグループを統合データグループとして統合する統合手段と、
前記統合手段によって統合された統合データグループからデータを抽出して、認識用の辞書を生成するための学習処理用のデータのセットを決定する決定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記統合データグループのデータの数が所定値を超える場合に、当該統合データグループから一部のデータを抽出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記学習処理用のデータを転送する転送コストに基づいて前記統合データグループから抽出するデータを決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記算出手段は、前記統合適正度として前記分割されたグループ間の類似度を算出することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記算出手段は、さらに前記複数のデータ群に係る属性情報に基づいて前記統合適正度を算出することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記複数のデータ群は、それぞれ複数のカメラから取得した画像の特徴量であることを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記分割手段は、前記データ群を用いて学習処理を行って辞書を生成することによって前記複数のグループに分割し、
前記算出手段は、前記生成した辞書に基づいた認識処理を行うことにより前記統合適正度を算出することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記決定手段によって決定された学習処理用のデータのセットを用いて学習処理を行い、当該セットに係る辞書を生成する生成手段と、
前記生成手段によって生成された辞書を検証する検証手段と、
をさらに有することを特徴とする請求項１〜７の何れか１項に記載の情報処理装置。
【請求項９】
異なる条件で取得した複数のデータ群を、前記複数のデータ群に係る個々のデータの特徴に基づいてそれぞれ複数のグループに分割する分割工程と、
前記分割工程において分割されたグループ間の統合適正度を算出する算出工程と、
前記算出工程において算出された統合適正度に応じて前記分割されたグループを統合データグループとして統合する統合工程と、
前記統合工程において統合された統合データグループからデータを抽出して、認識用の辞書を生成するための学習処理用のデータのセットを決定する決定工程と、
を有することを特徴とする情報処理方法。
【請求項１０】
コンピュータを請求項１〜８の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、認識処理などに用いられる辞書の学習処理用データを生成するために用いて好適な情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、類似するデータセットをクラスタリングし、かつ各クラスタ（集合）に含まれるデータ数に偏りが生じないようにクラスタリングを実行する方法が、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−８７０５７号公報
【非特許文献】
【０００４】
【非特許文献１】Cewu Lu, Jianping Shi and Jiaya Jia, Abnormal Event Detection at 150 FPS in MATLAB, IEEE ICCV, 2013.
【非特許文献２】Y. Wang, S. Parthasarathy and S. Tatikonda, Locality Sensitive Outlier Detection. ICDE, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年では、例えば画像認識処理などにおいて機械学習が用いられることが多い。特許文献１に記載の技術は、データベースにおけるデータセットのクラスタリングを想定したものであり、複数の異なる学習処理用データを用いて機械学習を実行し、それぞれのデータセットに対応した複数の認識用辞書を生成する場合は想定していない。そのため、認識用辞書を生成する場合においては、この技術を適用できない。
【０００６】
本発明は前述の問題点に鑑み、認識用辞書を生成するための学習処理用データを効率良く生成できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、異なる条件で取得した複数のデータ群を、前記複数のデータ群に係る個々のデータの特徴に基づいてそれぞれ複数のグループに分割する分割手段と、前記分割手段によって分割されたグループ間の統合適正度を算出する算出手段と、前記算出手段によって算出された統合適正度に応じて前記分割されたグループを統合データグループとして統合する統合手段と、前記統合手段によって統合された統合データグループからデータを抽出して、認識用の辞書を生成するための学習処理用のデータのセットを決定する決定手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、認識用辞書を生成するための学習処理用データを効率良く生成することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
【図２】第１の実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
【図３】複数のカメラが設置されている様子を説明するための図である。
【図４】認識処理および学習処理が実行されるシステム構成例を示す図である。
【図５】各カメラのデータ群を分割してグループ化する処理を説明するための図である。
【図６】類似度を算出してデータを統合する処理を説明するための図である。
【図７Ａ】部分データセットを決定する処理を説明するための図である。
【図７Ｂ】部分データセットを決定する処理を説明するための図である。
【図８】他のＰＣからデータを取得する概要を説明するための図である。
【図９】他のＰＣから部分辞書を取得する概要を説明するための図である。
【図１０】第２の実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
【図１１】各ＰＣに保存されているデータグループを説明するための図である。
【図１２】他のＰＣからデータを取得する概要を説明するための図である。
【図１３】第３の実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
【図１４】第３の実施形態において認識処理を行う概要を説明するための図である。
【図１５】第４の実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下、図面を参照しながら本発明の第１の実施形態について説明する。本実施形態は、機械学習処理において使用されるデータセット（以下、学習処理用データセット）を決定する方法を説明するものであり、特に画像の認識処理を例として説明する。
【００１１】
図１は、本実施形態に係る情報処理装置１００のハードウェア構成例を示すブロック図である。
図１において、情報処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、画像表示装置１０４、ＲＯＭ１０５、通信Ｉ／Ｆ１０６および入力装置１０８を備えており、各構成はメインバス１０９により接続されている。
【００１２】
ＣＰＵ１０１は、情報処理装置１００全体を制御し、後述する各処理を実行する。ＲＡＭ１０２は、ＲＯＭ１０５に格納されたプログラムを実行する際のワークエリアを有し、さらには、各処理で処理されたデータを一時的に保持する。記憶装置１０３は例えばハードディスクドライブ（ＨＤＤ）などであり、データを保持するためのものである。
【００１３】
画像表示装置１０４は、記憶装置１０３などに記憶されたデータを表示するためのものである。ＲＯＭ１０５は、本実施形態に係る処理を実行するためのプログラム等を格納する。通信Ｉ／Ｆ１０６は、外部装置との間でデータのやり取りを行うためのＩ／Ｆであり、無線接続であっても有線接続であってもよい。入力装置１０８は例えばキーボードやマウスなどであり、ユーザが操作することによって入力情報が入力される。
【００１４】
続いて、本実施形態における学習処理用データセットの決定方法が適用される認識処理に関して、学習処理を含めて説明する。本実施形態で想定する認識処理では、図３に示すように第１のカメラ３０１〜第６のカメラ３０６が設置され、それぞれのカメラによって取得した画像から、画像ごとに異常行動を検出するものである。
【００１５】
また、本実施形態では、異常行動を検出する認識処理として、非特許文献１に記載されている正常モデルを用いた異常行動検知処理を想定しているものとする。異常行動検知処理では、カメラより取得した画像を正常モデルの学習処理用画像として用い、異常行動検知処理を実行する際に参照する辞書を生成する。また、学習処理においては、画像に対して特徴抽出処理を実行し、抽出された特徴量を用いて辞書の生成処理を実行する。ここで、辞書を生成する際には、学習処理用画像に含まれる特徴量を正常モデルとして学習するため、異常行動検出処理の実行時には、辞書として学習された正常モデルと類似しない特徴量を有する画像または画像の一部を異常として検出する。
【００１６】
また、学習処理用画像のそれぞれに含まれる特徴量は、撮像された状況により様々に変化し得る。例えば、歩行または走行の違いなど画像中の人物の動作が異なるだけでもその特徴量は変化するため、それぞれが異なる正常モデルとして学習される可能性がある。したがって、生成する辞書は複数の正常モデルを網羅して定義する必要が有り、具体的にはそれぞれ異なる正常モデルを定義した部分辞書より構成される。なお非特許文献１に記載の方法では、部分辞書は特徴量を近似し得る基底ベクトルの組み合わせによって定義され、さらに複数の部分辞書によって１つのカメラより取得された学習処理用画像群に対応する辞書が構成されるものとしている。
【００１７】
図４には、本実施形態における認識処理および学習処理が実行されるシステム構成例を示す。
図４に示すシステム構成では、前述の第１のカメラ３０１〜第６のカメラ３０６がそれぞれ第１のＰＣ（パーソナルコンピュータ）４０１〜第６のＰＣ４０６と接続されている。また、第１のＰＣ４０１〜第６のＰＣ４０６は、ネットワーク４１０上で接続されており、ＰＣクラスタを構成している。また、図１に示す情報処理装置１００が、ネットワーク４１０を介して第１のＰＣ４０１〜第６のＰＣ４０６と接続されている。第１のカメラ３０１〜第６のカメラ３０６は、それぞれ所定の撮像領域の画像を取得する。そして、取得した画像はそれぞれ第１のＰＣ４０１〜第６のＰＣに保存され、前述した認識処理（異常行動検知処理）および学習処理が実行される。
【００１８】
なお、取得した画像を保存し、さらに認識処理および学習処理を実行する装置は、前述したＰＣクラスタを構成するものに限らない。例えばクラウド計算機、カメラ内の装置、スマートフォンなどのモバイル機器等であってもよく、これらを組み合わせたものであってもよい。
【００１９】
図２は、本実施形態において、情報処理装置１００により学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
まず、Ｓ２０１において、ＣＰＵ１０１は、異なる条件で取得した複数のデータ群をそれぞれデータグループに分割してグループ化する。
【００２０】
次に、Ｓ２０２において、ＣＰＵ１０１は、分割されたデータグループ間の類似度を算出する。そして、Ｓ２０３において、ＣＰＵ１０１は、各データグループ間の類似度に応じて複数のデータグループを統合して、統合データグループを決定する。さらに、Ｓ２０４において、ＣＰＵ１０１は、前記統合データグループから一部のデータを抽出して、認識用辞書を生成するための学習処理用データセットの一部を構成する部分データセットを決定する。
【００２１】
なお、本実施形態においてＳ２０１で取得されるデータ群は、後述するように画像群から抽出した特徴量群とする。また、前記のデータ群、データグループ、学習処理用データセット、部分データセットなどの定義の詳細については後述する。
【００２２】
続いて、図２に示したフローチャートに沿って、情報処理装置１００により学習処理用データセットの決定処理がどのように実行されるかについて詳細に説明する。まず、前述したように、第１のカメラ３０１〜第６のカメラ３０６において学習処理に用いる画像が取得され、これらの画像が第１のＰＣ４０１〜第６のＰＣ４０６に保存される。
【００２３】
この際、前述したように本実施形態における学習処理は正常モデルに対応する辞書を生成するため、学習処理に用いる画像には、正常状態のみが記録されているものとする。また、一般的に認識処理の精度を確保するためには、学習処理に用いる画像は大量に必要なことが知られている。本実施形態では、カメラごとに１万枚の正常状態のみが記録された画像を取得し、第１のＰＣ４０１〜第６のＰＣ４０６は、それぞれ１万枚の画像を保持しているものとする。
【００２４】
第１のＰＣ４０１〜第６のＰＣ４０６では、まず、前述したように各画像に対してそれぞれ特徴抽出処理が実行される。本実施形態では、非特許文献１に示す方法で、画像の横方向、縦方向および時間方向の３方向それぞれで輝度勾配を算出する。そして、それぞれの画素位置における３方向の輝度勾配を要素としてベクトルを構成し、さらに前記ベクトルをＰＣＡにより次元削減したベクトルを特徴量として算出する。なお、非特許文献１に記載の方法では、画像をピラミッド画像化し、さらに各画像の所定の領域ごとに前記特徴量を算出しているが、本実施形態においては、画像ごとに画像全体に対して前記輝度勾配算出処理を実行して特徴量を算出するものとする。ただし、特徴量の算出方法はこれに限ったものでは無く、非特許文献１に記載の方法により算出してもよく、その他の方法で特徴量を算出するものであっても構わない。また、本実施形態では、特徴量としてベクトルを算出しているが、画像の特徴を表現し得るものであればどのような特徴量を用いてもよい。
【００２５】
続いて、抽出した特徴量に対して、情報処理装置１００は、図２に示した処理を実行する。ここで、それぞれのカメラで取得した１万枚の画像から抽出した特徴量の集合をデータ群と呼ぶ。したがって、データ群はカメラの台数に対応して複数個存在することとなる。
【００２６】
まず、Ｓ２０１では、ＣＰＵ１０１は、通信Ｉ／Ｆ１０６を介して第１のＰＣ４０１〜第６のＰＣ４０６からそれぞれデータ群を取得する。そして、取得したそれぞれのデータ群に対して、データグループに分割する。ここで、データグループは、それぞれの特徴量が類似している個々のデータ（特徴量）より構成される。本実施形態では、データグループにグループ化する具体的な処理として、K-meansに代表されるクラスタリング処理を実行する。本処理を実行することにより、それぞれのデータ群は、互いに類似した特徴量から構成される複数のデータグループに分割される。なお、クラスタリング処理の手法に関しては、K-meansに限らずその他の手法を用いてもよい。
【００２７】
本実施形態では、分割されるデータグループ数が事前に決定されているものとする。例えば図５に示すように、各データ群がそれぞれ３個のデータグループに分割されるものとする。なお、各データグループに記載されている数字は、各データグループに含まれるデータ数（画像数）を表わしている。
【００２８】
続いて、Ｓ２０２において、ＣＰＵ１０１は、類似度の算出処理を実行する。前述したようにこの処理では、各データグループ間の類似度を算出するが、データグループを統合しても良いかの目安となる統合適正度として類似度を算出する。
【００２９】
学習処理においては、データを多数用いると、学習処理結果（すなわち生成された辞書）の汎化性能を向上させることが知られている。本実施形態の場合、学習に用いる部分データセットは、それぞれが一つの正常モデル（すなわち生成される部分辞書）に対応しており、多数のデータを用いる場合には、当該正常モデルに含まれ得るデータを使用することが望ましい。この場合、当該正常モデルに含まれ得るデータ（画像）としては、抽出された特徴量同士が類似していることが一つの指標と成り得る。
【００３０】
そこで本実施形態では、統合適正度の指標となる類似度を算出するために、Ｓ２０１で実行したクラスタリング処理において算出されるクラスタ中心を用い、クラスタ中心間距離の算出処理を実行する。ここで、クラスタ中心は、それぞれのデータグループに含まれる特徴量を平均したものであるため、それぞれのクラスタ中心の距離を算出することにより、データグループ同士の類似度を評価することが可能となる。
【００３１】
本実施形態の場合、クラスタ中心間距離は、クラスタ中心となる特徴量ベクトル差分のＬ２ノルムとして算出される。さらに、データグループ同士の類似度は前記クラスタ間中心距離の逆数として算出される。なお、データグループ間の類似度を算出する方法は前述したものに限られない。例えばそれぞれのデータグループに含まれる特徴量を量子化した後、そのヒストグラムを算出し、データグループ間の類似度をヒストグラムインターセクションとして算出する方法を用いてもよい。もしくは、データグループ間の類似度として、データグループ間のジャッカール指数を算出するものであってもよい。
【００３２】
続いてＳ２０３では、ＣＰＵ１０１は、統合処理を実行する。統合処理では、前述したようにＳ２０２で算出したデータグループの類似度に対して、事前に設定した閾値を参照し、閾値以上の類似度を有するデータグループの組み合わせを判別し、それらを統合データグループとして定義する。
【００３３】
例えば図５に示したデータグループにグループ化された場合は、図６に示すように、データグループａ，ａ'，ａ”のそれぞれの間で類似度が閾値以上であるものとする。そこで、データグループａ，ａ'，ａ”を統合したデータグループの組み合わせ（ａ，ａ'，ａ”）を統合データグループと定義する。同様に、データグループの組み合わせ（ｂ，ｂ'）、（ｃ，ｃ'，ｃ”）、（ｄ，ｄ'，ｄ”）、（ｅ，ｅ'）、（ｈ，ｈ'）をそれぞれ統合データグループと定義する。一方、データグループｆ，ｇ，ｉに関しては、類似度が閾値以上となる他のデータグループが存在しないため、統合データグループとしては定義されない。
【００３４】
続いてＳ２０４において、ＣＰＵ１０１は、サンプリング処理を実行する。サンプリング処理では、前述したように定義された統合データグループに関して、その統合データグループに含まれるデータ数（特徴量数）と、事前に設定された閾値とを比較する。そして、閾値よりも多いデータを有する統合データグループに対してサンプリング処理を実行する。
【００３５】
例えば、閾値が１０，０００と設定されている場合、図７Ａに示すように、統合データグループ（ａ，ａ'，ａ”）に含まれるデータ数は２１，０００であり、閾値を超えている。そこで、統合データグループ（ａ，ａ'，ａ”）から、１０，０００個のデータ（特徴量）をサンプリング処理により抽出して、学習処理に用いるデータセットの一部を構成する部分データセットＡとして設定する。ここでサンプリング処理としては、統合データグループからランダムにデータを抽出するものとする。なお、サンプリング処理に関しては、前記手法に限定するものでは無く、どのような手法を用いてもよい。また、図７Ｂに示すように、に統合データグループ（ｈ，ｈ'）に含まれるデータ数は１５，０００であり、閾値を超えている。そこで、同様に統合データグループ（ｈ，ｈ'）から、１０，０００個のデータ（特徴量）をサンプリング処理により抽出して、部分データセットＨとして設定する。なお、本実施形態では、データ数の閾値とサンプリング処理により抽出するデータ数を同一としているが、それぞれ異なる値を設定しても構わない。
【００３６】
一方、図７Ａおよび図７Ｂに示すように、統合データグループ（ｂ，ｂ'）、（ｃ，ｃ'，ｃ”）、（ｄ，ｄ'，ｄ”）、（ｅ，ｅ'）に関しては、それぞれに含まれるデータ数が閾値を超えない（所定値以下である）ことからサンプリング処理は実行されない。この場合、これらの統合データグループは、それぞれそのまま学習処理に用いるデータセットの一部を構成する部分データセットＢ、Ｃ、Ｄ、Ｅと設定される。また、統合データグループとして定義されていないデータグループｆ，ｇ，ｉは、それぞれがそのまま学習処理に用いるデータセットの一部を構成する部分データセットＦ、Ｇ、Ｉと設定される。
【００３７】
以上のように情報処理装置１００で部分データセットが決定されると、第１のＰＣ４０１〜第６のＰＣ４０６では、部分データセットを組み合わせた学習用データセットを用いて、前述した学習処理を実行する。本実施形態の場合は、例えば第１のカメラ３０１に対応する辞書は、第１のカメラ３０１によって取得された画像内のデータ群中のデータグループを含む部分データセットＡ、Ｂ、Ｃより構成される学習用データセットを用いて生成される。
【００３８】
まず、学習処理を実行する前に、情報処理装置１００は、部分データセットの情報を第１のＰＣ４０１〜第６のＰＣ４０６に通知する。この通知結果に伴い、第１のＰＣ４０１〜第６のＰＣ４０６は、他のＰＣに保存されたデータグループを参照するため、ネットワーク４１０を介してデータを取得する。図８には、第１のＰＣ４０１がネットワーク４１０を経由して第２のＰＣ４０２に保持されたデータグループａ'、ｃ'と、第３のＰＣ４０３に保持されたデータグループａ”、ｂ'、ｃ”とを取得する状況を示している。
【００３９】
一方、第２のカメラ３０２に対応する辞書Ａ、Ｃ、Ｄは、部分データセットＡ、Ｃ、Ｄより構成される学習用データセットを用いて生成される。このとき、部分データセットＡ，Ｃに対応する辞書については、第１のＰＣ４０１により辞書Ａ，Ｂ，Ｃが生成されるため、生成しなくてもよい。したがって、第２のＰＣ４０２は、第２のカメラ３０２に対応する辞書に関しては、部分データセットＤに対してのみ学習処理を実行して部分辞書Ｄのみを生成すればよい。そして、部分データセットＡ、Ｃに対応する部分辞書Ａ、Ｃを、第１のＰＣ４０１からネットワーク４１０を介して取得すればよい。図９には、第２のＰＣ４０２がネットワーク４１０を経由して、第１のＰＣ４０１から部分データセットＡ、Ｃに対応する部分辞書Ａ、Ｃを取得する状況を示している。
【００４０】
以上のように、既に生成されている辞書については、他のＰＣから取得し、まだ生成されていない辞書については、上述した手順で学習処理を行って辞書を生成する。このように第１のＰＣ４０１〜第６のＰＣ４０５は、それぞれ辞書を生成するか、もしくは他のＰＣから辞書を取得する。
【００４１】
なお、非特許文献１に記載されている学習方法を前記学習用データセットに対して適用する場合は、学習処理において部分データセットの区別はせずに、学習用データセット全体に対して学習処理を適用して基底ベクトルの組み合わせを算出する。一方、その他の手法を用いて学習処理を行ってもよい。例えば、各学習用データセットを構成する部分データセットごとに基底ベクトルの組み合わせを算出するものであってもよい。
【００４２】
以上説明した学習用データセットの決定方法に関して、それぞれの処理内容の意図を以下で説明する。本実施形態では、図３に示すように複数のカメラより構成されるシステムにおいて、カメラごとに認識処理用の辞書を学習により生成することを想定している。この時、システムにおいて各カメラが撮像する位置は異なるため、取得される画像の内容も異なることとなり、各カメラにおける認識処理において必要となる辞書も異なるものが必要とされると考えられる。したがって、一般的には各カメラが取得した画像群それぞれを独立に用いて学習処理を実行し、それぞれのカメラに対応した辞書を生成することが考えられる。
【００４３】
ここで、各カメラが取得した学習処理用の画像群には、頻繁に発生する正常状態（以下、基本正常状態）と、発生頻度が少ない特殊正常状態とが含まれている。また、基本正常状態に相当する画像数は、頻繁に発生することから非常に多く存在し、また逆に特殊正常状態に相当する画像数は少ないことが一般的である。前述したようにＳ２０１において、各カメラが取得した画像から抽出した特徴量（データ群）に対してクラスタリング処理を実行した場合、例えば図５に示したデータグループａ，ａ'，ａ”，ｈ，ｈ'，ｉが基本正常状態に相当する特徴量から構成される。一方、データグループｂ，ｂ'，ｃ，ｃ'，ｃ”，ｄ，ｄ'，ｄ”，ｅ，ｅ'，ｆ，ｇ，ｉが特殊正常状態に相当する特徴量から構成される。
【００４４】
一方、例えばカメラの設置場所および撮像領域の状況が似ている場合、それぞれのカメラにより取得された画像中のデータ群のデータグループの類似度が高くなる可能性が考えられる。特に、基本正常状態に関しては、頻繁に発生する正常状態であることからも、類似度が高いデータグループの組み合わせが多く発生する可能性がある。このように類似度が高いデータグループに関しては、それぞれ独立に学習処理を実行したとしても、類似度が高い辞書が生成されることが予想される。
【００４５】
学習処理は、一般的にデータ量が膨大なことから演算コストが非常に高く、類似した辞書をそれぞれのカメラに対応して個別に算出することはコスト上無駄が多いと考えられる。そこで、本実施形態で説明したように、類似度が高いデータグループの組み合わせに関しては、それらを統合した上でデータをサンプリングし、データ量を削減した上で学習処理を実行し、辞書を生成する。生成した辞書は、それぞれのカメラ両方で使用することができるため、それぞれのカメラで辞書を算出する場合に比べてシステム全体としての演算コストを削減することが可能となる。
【００４６】
一方、特殊正常状態に関しては、発生頻度が少ないことから、各データグループに含まれるデータ量が少ないことが予想される。一般的に少ないデータ量で学習処理を実行した場合、認識精度が低くなることが知られている。これに対して本実施形態では、他のカメラにより取得されたデータの中で、類似度が高い特殊正常状態に属するデータグループを統合することで学習処理に用いるデータ量を増やすことができる。このため、特殊正常状態における認識精度を向上させることができる。
【００４７】
以上説明したように本実施形態によれば、演算コストを削減しつつ、さらにデータ量を増やして認識精度を向上させることが可能となる。
【００４８】
（第２の実施形態）
以下、図面を参照しながら本発明の第２の実施形態について説明する。本実施形態に係る情報処理装置の内部構成は図１と同様であるため、説明は省略する。本実施形態の学習処理用データセットの決定方法は、図１０に示すように、Ｓ２０４の処理の代わりにＳ１００１で、データを取得するコストを考慮して統合データグループから一部のデータを抽出して部分データセットを決定する点で第１の実施形態と異なる。以下、第１の実施形態と異なる点についてのみ説明を行う。
【００４９】
図１０は、本実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。まず、図１０のＳ２０１〜Ｓ２０３までの処理は、図２と同様であるため、説明を省略する。
【００５０】
続いて、Ｓ１００１においては、統合データグループに含まれるデータ数に加えて、データを転送するコストを考慮してデータを抽出し、部分データセットを決定する。例えば図１１に示すように、第１のＰＣ４０１〜第６のＰＣ４０２において、それぞれデータグループが保存されているものとする。また、第１の実施形態と同様に統合データグループ（ａ，ａ'，ａ”）に含まれるデータ数が２１，０００であり、事前に設定された閾値が１０，０００であるものとする。
【００５１】
ここで、第１の実施形態では、統合データグループを構成するデータグループを区別すること無く、ランダムにデータを抽出して部分データセットＡを設定した。これに対して本実施形態では、統合データグループからデータを抽出する際に、学習処理を実行する際のデータを転送するコストがより低いデータグループを優先して抽出する。
【００５２】
例えば、第１のＰＣ４０１が部分データセットＡを用いて学習処理を実行する際に、統合データグループ（ａ，ａ'，ａ”）中のデータグループａは、第１のＰＣ４０１に保持されているため、他のＰＣからデータを取得する必要がない。これに対してデータグループａ'，ａ”に関しては、他のＰＣからデータを取得する必要があるため、データを転送するコストが発生する。
【００５３】
そこで本実施形態では、統合データグループからデータを抽出する際に、ＰＣクラスタのネットワーク構成と、データの所在位置の情報とに基づいて、データを転送するコストが低くなるようにデータを選択する。図６に示す例の場合は、第１のＰＣ４０１に保持されているデータグループａの７０００個分のデータを優先して選択し、残りの３０００個分のデータをデータグループａ'，ａ”の中からランダムに抽出する。Ｓ１００１では、データグループａに属するすべてのデータと、データグループａ'，ａ”の中からランダムに抽出したデータとを合わせて部分データセットＡとして設定する。
【００５４】
また別の例として、図１２に示すようにＰＣクラスタが複数のネットワーク１２０１〜１２０３から構成されており、データ転送容量に差がある場合について説明する。図１２においては、データ転送容量が大きいネットワーク１２０１、１２０２と、データ転送容量が小さいネットワーク１２０３とによりシステムが構成されている。図１２に示す例の場合、第１のＰＣ４０１がデータグループａ”に属するデータを取得するためには、データ転送容量が低いネットワーク１２０３を経由してデータを取得する必要がある。そのため、データグループａ'に属するデータを転送するコスト以上にコストが多く発生する。
【００５５】
そこでＳ１００１では、まず、第１のＰＣ４０１に保持されているデータグループａを優先して選択し、続いてデータグループａ'を優先して選択する。つまり図６に示す例の場合は、まず第１のＰＣ４０１に保持されているデータグループａの７０００個分のデータを優先して選択する。そして、残りの３０００個分のデータについては、データグループａ'からランダムに抽出する。したがって、データグループａ”からはデータは選択されない。その結果、Ｓ１００１では、データグループａに属するすべてのデータと、データグループａ'の中からランダムに抽出したデータとを組み合わせて部分データセットＡとして決定する。
【００５６】
また、学習処理を実行する装置がクラウド計算機であり、かつ図１０に示す処理をクラウド計算機が行う場合は、ネットワークの構成を特定することが困難であり、データの転送コストを正確に見積もることは困難である。このため、本実施形態をクラウド計算機に適用する場合は、事前に平均的なデータの転送コストの情報を予め取得しておくことが好ましい。
【００５７】
以上のように本実施形態によれば、演算コストを削減しつつ、かつデータ量を増やして認識精度を向上させ、さらにデータの転送コストの増大を防止することが可能となる。
【００５８】
（第３の実施形態）
以下、図面を参照しながら本発明の第３の実施形態を説明する。本実施形態に係る情報処理装置の内部構成は図１と同様であるため、説明は省略する。本実施形態における学習処理用データセットの決定方法は、図１３に示すようにＳ２０１〜Ｓ２０３の処理の代わりに後述するＳ１３０１〜Ｓ１３０３の処理が実行される。以下、第１の実施形態と異なる点についてのみ説明を行う。
【００５９】
図１３は、本実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
図１３のＳ１３０１においては、ＣＰＵ１０１は、あるカメラから取得したデータ群（本実施形態では、図１４に示すデータ群αとする）を用いて、非特許文献１に示した学習処理を実行し、部分辞書Ｊ、Ｋ、Ｌから構成される辞書を生成する。非特許文献１に記載の方法で部分辞書を生成する工程では、データ群に含まれるデータ（特徴量）が、各部分辞書によって定義される正常モデルに対応してデータグループｊ，ｋ，ｌに分割される。このとき、生成された部分辞書（基底ベクトル組）とそれぞれのデータとの残差値が算出される。
【００６０】
続いてＳ１３０２においては、ＣＰＵ１０１は、生成された部分辞書Ｊ、Ｋ、Ｌを用いて、別のカメラにより取得されたデータ群βに対して、認識処理（異常行動検知処理）を実行する。この処理では、第１の実施形態におけるＳ２０２の統合適正度を算出する工程に相当する。すなわち、Ｓ１３０２では、入力されたデータが正常または異常のどちらかを識別し、正常と識別された場合は当該データが認識処理で参照した部分辞書の正常モデルに含まれることを意味する。そして、その際に算出される残差値は、当該データが正常モデルとどの程度異なるのかを表わしている。このように残差値は、当該データを、正常モデル（すなわち部分辞書）を学習により生成する際に分割されたデータグループと、同一の学習用データセットとして統合しても良いかどうかの指標の一つとなる。
【００６１】
例えば図１４に示すように、データ群βは、各部分辞書Ｊ、Ｋ、Ｌによって、それぞれの部分辞書によって定義されるデータグループｊ'，ｋ'，ｌ'と、さらにどの部分辞書の正常モデルにも当てはまらない残りのデータグループｇとに分割される。なお、図１４中のデータβにおけるカッコ内の数値は、各データグループに含まれるデータの残差値の平均値（残差平均値）を示している。データグループｇに関しては、部分辞書Ｊ，Ｋ，Ｌのどの正常モデルによっても表現（近似）され得ないため、残差平均値は表記されていない。
【００６２】
続いてＳ１３０３では、ＣＰＵ１０１は、統合適正度が高いデータグループ同士を統合データグループとして定義する。ここで統合適正度は、Ｓ１３０２において算出された各データグループにおける残差平均値を閾値と比較することにより算出される。図１４に示す例では、残差平均値の閾値を０．５と設定した場合、閾値より低い残差平均値を有するデータグループｊとｊ'、およびデータグループｋとｋ'は統合データグループとして設定される。一方、閾値より高い残差平均値を有するｌとｌ'は統合データグループとしては設定されない。以上のように統合データグループが設定された以降の処理に関しては、第１及び第２の実施形態と同様である。
【００６３】
また、例えば、データ群βのデータグループｊ'、ｋ'に対応する部分辞書は、既にデータ群αを用いた学習により生成された部分辞書Ｊ、Ｋ，により正常モデルとして表現されており、そのまま流用することができる。また、データグループｌ'およびｇに関しては、ＰＣでは、対応する部分辞書ＬおよびＧを改めて学習により生成する必要がある。また、前述したようにデータグループ間の統合適正度が判明していることから、該当するデータグループを第１及び第２の実施形態と同様にサンプリングし、ＰＣ側で改めて学習により部分辞書を生成してもよい。さらに本実施形態の方法と第１の実施形態の方法とを組み合わせてもよい。
【００６４】
（第４の実施形態）
以下、図面を参照しながら本発明の第４の実施形態を説明する。本実施形態に係る情報処理装置の内部構成は図１と同様であるため、説明は省略する。本実施形態における学習処理用データセットの決定方法では、図１５に示すように、図２の処理に加えて、Ｓ１５０１およびＳ１５０２の処理が追加されている。以下、第１の実施形態と異なる点についてのみ説明する。
【００６５】
図１５は、本実施形態において、学習処理用データセットを決定する全体的な処理手順の一例を示すフローチャートである。
Ｓ１５０１においては、ＣＰＵ１０１は、Ｓ２０４で生成された学習処理用データセットを用いて学習処理を行い、辞書を生成する。辞書を生成する方法は、第１の実施形態で第１のＰＣ４０１〜第６のＰＣで行った方法と同様の方法で行う。
【００６６】
次に、Ｓ１５０２において、ＣＰＵ１０１は、学習結果として生成された辞書の検証を実行する。そして、認識処理の性能が所定の精度を有しているか否かを判定する。認識処理の性能が所定の精度を有していない場合は、Ｓ２０１に戻って、学習用データセットを変更するようにする。
【００６７】
具体的には、Ｓ１５０２では検証用データに対しては、事前にＧｒｏｕｎｄ  Ｔｒｕｔｈとして正常および異常それぞれのラベルが付けられており、認識処理結果がラベルと一致するかどうかにより、Ｅｑｕａｌ  Ｅｒｒｏｒ  Ｒａｔｅ（ＥＥＲ）を算出する。続いて、算出したＥＥＲを事前に設定した要求精度（例えば８０％）と比較し、要求精度に満たない辞書がある場合は、Ｓ２０１に戻り、その辞書に係る部分データセットの組合せを変更する。
【００６８】
具体的な変更方法としては、例えばＳ２０１及びＳ２０２では処理を同じとし、Ｓ２０３で統合データグループの組み合わせを変更して再度学習処理用データセットを決定する。その場合には、例えば前回用いた学習処理用データセットから統合適正度の低いデータグループを外す方法が考えられる。
【００６９】
また、他の変更方法として、Ｓ２０１においてグループ化を再度実行してもよい。この場合は、Ｓ２０１の処理において、全ての処理を再度実行してもよく、一部のデータ群または一部のデータグループのみを再グループ化するようにしてもよい。また、Ｓ２０１において、クラスタリング処理におけるクラスタの初期値を変更したり、分割するクラスタ数を変更したりして再実行してもよい。学習処理用データセットの再設定に関しては、前述した方法以外にも、それぞれの部分的な処理を変更して組み合わせる等の多数の組み合わせが考えられる。
【００７０】
また、本実施形態では、学習処理用データセットを第１の実施形態の手順で生成する例について説明したが、第２または第３の実施形態の手順で生成する例で適用してもよい。例えば第２の実施形態の方法で学習処理用データセットを生成する場合は、要求精度に満たない辞書がある場合に、前回はデータ転送コストに基づいて優先したデータグループの優先順位を変更して学習処理用データセットを設定するなどの方法を用いてもよい。
【００７１】
以上説明したように本実施形態によれば、学習結果の検証結果を基にして、学習処理用データセットを決定するため、より適切な学習処理用データセットを決定することが可能となる。
【００７２】
（第５の実施形態）
以下、図面を参照しながら本発明の第５の実施形態を説明する。本実施形態に係る情報処理装置の内部構成は図１と同様であるため、説明は省略する。本実施形態における学習処理用データセットの決定方法では、図２のＳ２０２の処理が第１の実施形態と異なっている。以下、第１の実施形態と異なる点についてのみ説明する。
【００７３】
Ｓ２０２では、ＣＰＵ１０１は、各カメラが撮像する領域が類似しているものを事前に把握しておき、その撮像領域の属性情報を参照して類似度を決定する。データ群を取得した状況により、データ群に含まれるデータの特徴はある程度特定される。本実施形態では、類似した状況において取得されたデータ群同士は、類似したデータを有すると予想されることに基づいている。
【００７４】
例えば図３に示す例では、第２のカメラ３０２と第３のカメラ３０３は異なる地点の交差点を撮像し、第４のカメラ３０４と第６のカメラ３０６は異なる地点の横断歩道を撮像しているものとする。この時、事前にそれぞれのカメラに対応して、取得される属性情報としてそれぞれ"交差点"および"横断歩道"が設定される。本実施形態の場合、Ｓ２０２において、この属性情報を参照することにより、同じ属性を有するデータグループ間の類似度を１とし、異なる属性を有するデータグループ間の類似度を０とする。
【００７５】
そして、次のＳ２０３では、ＣＰＵ１０１は、類似度の閾値を例えば０．５と設定することにより統合データグループを定義する。なお、以降の処理は、図２の処理と同様に実行される。
【００７６】
上述した説明では、それぞれのデータ群に対して一種類の属性を設定しているが、各データ群に対して複数の属性情報を設定してもよい。例えば、"駅"、"道路"、"信号"などの複数の属性情報を組み合わせてデータ群に設定してもよい。この場合は、各属性情報を０または１のビットで表わし、それを組み合わせたビット列によって各データ群の属性を表現することができる。この場合は、例えばデータ群の類似度を属性情報のビット列のハミング距離として算出することができる。
【００７７】
また、本実施形態と第１または第２の実施形態とを組み合わせてもよい。この場合、例えば第１または第２の実施形態で算出した類似度に対して、属性情報が一致した場合に所定の重み係数を乗算するなどの方法が考えられる。
【００７８】
また、本実施形態と第３の実施形態とを組み合わせてもよい。この場合、前述した手順で属性情報による類似度を算出し、さらに図１３のＳ１３０３において算出される残差値に対して、属性が一致した場合に所定の重み係数を乗算するなどの手法が考えられる。また、前述した第４の実施形態と本実施形態とを組み合わせてもよい。
【００７９】
以上本実施形態で説明したように、データを取得した状況に関する情報を属性情報としてデータ群に付与することにより、それを参照してデータグループの類似度を算出することが可能となる。結果として、本実施形態で説明した学習処理用データセットの決定方法を用いることにより、演算コストを削減し、またさらにデータ不足に起因する過学習等の問題を防ぐことが可能となる。
【００８０】
（その他の実施形態）
前述した実施形態では、情報処理装置１００において学習処理用データセットを決定したが、図１のハードウェア構成を有する第１のＰＣ４０１〜第６のＰＣ４０６の何れかが学習処理用データセットを決定するようにしてもよい。
【００８１】
また、前述した実施形態においては、処理対象とするデータを画像として説明したが、例えば音声や、または振動センサ等によって取得される機械装置のデータなど、数値化されて演算対象となり得るものであれば、その他のものであってもよい。また、前述した実施形態においては、認識処理として非特許文献１に記載の方法を例に挙げて説明したが、その他の方法で認識処理をおこなってもよい。例えば、非特許文献２に記載のハッシュ関数を用いた認識処理アルゴリズムを用いてもよい。
【００８２】
また、前述した実施形態においては、データ群をカメラにより取得された画像の特徴量の集合として定義したが、各画像中の部分領域の特徴量の集合をデータ群としてもよい。例えば非特許文献１に記載の方法では、カメラにより取得された画像よりピラミッド画像を生成し、さらに各画像中の部分領域を切り出した部分画像を要素とするデータの集合をデータ群としており、同様に処理を実行してもよい。また、画像はカメラによって取得されたものに限らず、例えばComputer Graphics として生成されたものであってもよい。
【００８３】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８４】
１０１  ＣＰＵ
【図１】
2018045302.tif 000003
【図２】
2018045302.tif 000004
【図３】
2018045302.tif 000005
【図４】
2018045302.tif 000006
【図５】
2018045302.tif 000007
【図６】
2018045302.tif 000008
【図７Ａ】
2018045302.tif 000009
【図７Ｂ】
2018045302.tif 000010
【図８】
2018045302.tif 000011
【図９】
2018045302.tif 000012
【図１０】
2018045302.tif 000013
【図１１】
2018045302.tif 000014
【図１２】
2018045302.tif 000015
【図１３】
2018045302.tif 000016
【図１４】
2018045302.tif 000017
【図１５】
2018045302.tif 000018