(57)【要約】【課題】認識処理におけるデータ認識精度を向上させ、認識処理時間を低減する。【解決手段】情報処理装置は、認識対象データを取得する入力部２１と、認識対象データを特徴空間に写像する特徴抽出部２２１と、認識対象データの特徴空間とデータ空間の少なくともいずれかに、複数の点を生成する代表特徴量生成部２２２と、認識対象データと複数の点とを、特徴空間とデータ空間の少なくともいずれかで比較する距離計算部２２３と、その比較の結果に基づいた認識処理結果を出力する異常判定部３１と、を有する。【選択図】図１
2020119154.tif 000002
【特許請求の範囲】
【請求項１】
認識対象データを取得する取得手段と、
前記認識対象データを特徴空間に写像する写像手段と、
前記認識対象データの前記特徴空間とデータ空間との少なくともいずれかに、複数の点を生成する生成手段と、
前記認識対象データと前記複数の点とを、前記特徴空間とデータ空間との少なくともいずれかで比較する比較手段と、
前記比較の結果に基づいた認識処理結果を出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項２】
複数の学習データを備える保持手段と、
前記複数の学習データから認識対象データに対応する補助データを選択する選択手段と、
前記学習データから代表点を生成する代表点生成手段と、
前記代表点と前記補助データとに基づいて損失を計算する計算手段と、
前記損失に基づいて学習処理を行う学習手段と、
をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の学習データを備える保持手段と、
前記複数の学習データから認識対象データに対応する補助データを選択する選択手段と、
前記学習データから代表点を生成する第１の生成手段と、
前記代表点と前記補助データとに基づいて損失を計算する計算手段と、
前記損失に基づいて学習処理を行う学習手段と、
認識対象データを取得する取得手段と、
前記学習の結果に基づいて認識対象データの代表点を生成する第２の生成手段と、
前記認識対象データと前記認識対象データの代表点とを比較する比較手段と、
前記比較の結果に基づいた認識処理結果を出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項４】
前記選択手段は、前記補助データとして、前記認識対象データの近傍に存在するデータを選択することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記計算手段は、前記代表点と前記補助データとの距離に基づく損失を計算し、
前記学習手段は、前記距離を近づける学習処理を行うことを特徴とする請求項２または３に記載の情報処理装置。
【請求項６】
前記生成手段は、前記学習データから複数の代表点を生成し、
前記計算手段は、前記複数の代表点と前記補助データとの距離を基に正常か否かを判定し、
前記学習手段は、正常と判定された場合には前記距離を近づけるように学習処理を行い、正常でないと判定された場合には前記距離を遠ざけるように学習処理を行うことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記生成手段は、前記学習データから複数の代表点を生成し、
前記計算手段は、前記複数の代表点と前記補助データの分布に基づいて前記損失を計算することを特徴とする請求項２から４のいずれか１項に記載の情報処理装置。
【請求項８】
前記計算手段は、前記代表点と前記補助データに付けられた重みに基づいて前記損失を計算することを特徴とする請求項２から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記代表点生成手段は、敵対的生成ネットワークのモデルを基に代表点を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
前記代表点生成手段は、複数階層の各層について代表点を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項１１】
前記代表点生成手段は、時系列性を有するデータから代表点を生成することを特徴とする請求項２に記載の情報処理装置。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
認識対象データを取得する取得工程と、
前記認識対象データを特徴空間に写像する写像工程と、
前記認識対象データの前記特徴空間とデータ空間の少なくともいずれかに、複数の点を生成する生成工程と、
前記認識対象データと前記複数の点とを、前記特徴空間とデータ空間の少なくともいずれかで比較する比較工程と、
前記比較の結果に基づいた認識処理結果を出力する出力工程と、
を有することを特徴とする情報処理方法。
【請求項１３】
情報処理装置が実行する情報処理方法であって、
保持された複数の学習データから認識対象データに対応する補助データを選択する選択工程と、
前記学習データから代表点を生成する第１の生成工程と、
前記代表点と前記補助データとに基づいて損失を計算する計算工程と、
前記損失に基づいて学習処理を行う学習工程と、
認識対象データを取得する取得工程と、
前記学習の結果に基づいて前記認識対象データの代表点を生成する第２の生成工程と、
前記認識対象データと前記認識対象データの代表点とを比較する比較工程と、
前記比較の結果に基づいた認識処理結果を出力する出力工程と、
を有することを特徴とする情報処理方法。
【請求項１４】
コンピュータを、請求項１から１１のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や画像等のデータから認識対象を認識する技術に関する。
【背景技術】
【０００２】
映像や画像等のデータから、認識対象としての物体およびその状態を認識するために、その認識対象のデータを用いて特徴量を抽出し、その特徴量から最も近い学習データの特徴量との距離に基づいて、認識対象の状態やクラス等を判別する技術が存在する。例えば異常検知を行う場合の手法として、非特許文献１には、認識対象データの近傍に存在する正常データとの距離、ないし正常データのクラスタとの距離に基づいて異常を検知する方法が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Nearest-Neighbor and Clustering based Anomaly Detection Algorithms for RapidMiner. M. Amer and M. Goldstein. 2012
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、入力データの認識をより高速に行うためには、認識処理時間を低減した認識システムが望まれる。また、入力データの認識をより高精度に行うためには、認識能力がさらに向上した認識システムが望まれる。
非特許文献１のように、認識対象データと近傍データとの距離を算出する場合、近傍データの検索処理の際に学習データの数に依存した処理時間が必要となる。また、非特許文献１のように、認識対象データとクラスタ中心との距離を算出する場合、同様にクラスタの数に依存した処理時間が必要となる。一方で、学習データとその量が多様・大規模であると、様々な学習データを表現するために、大量のクラスタの種類やクラス数を用いて学習データを近似する必要があるため、クラスタの数に依存した処理が行われることは望ましくない場合がある。しかしながら、クラスタの数に依存した処理時間を低減するために、クラスタの数を減ずるようにすると、クラスタ中心とクラスタに属するデータとの乖離度合いが大きくなるため、認識対象の検索処理時に誤答の割合が大きくなる場合がある。
【０００５】
そこで、本発明は、認識処理におけるデータ認識精度の向上と認識処理時間の低減とを可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、認識対象データを取得する取得手段と、前記認識対象データを特徴空間に写像する写像手段と、前記認識対象データの前記特徴空間とデータ空間の少なくともいずれかに、複数の点を生成する生成手段と、前記認識対象データと前記複数の点とを、前記特徴空間とデータ空間の少なくともいずれかで比較する比較手段と、前記比較の結果に基づいた認識処理結果を出力する出力手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、認識処理におけるータ認識精度の向上と認識処理時間の低減とが可能となる。
【図面の簡単な説明】
【０００８】
【図１】異常検知システムの構成例を示す図である。
【図２】異常検知システムの動作（学習時）を示すフローチャートである。
【図３】選択部の動作を示すフローチャートである。
【図４】入力画像と人体領域の例を示す図である。
【図５】学習部の動作を示すフローチャートである。
【図６】ＣＮＮの構成例（学習時）を示す図である。
【図７】異常検知システムの動作（検出時）を示すフローチャートである。
【図８】ＣＮＮの構成例（検出時）を示す図である。
【図９】Ｓｉａｍｅｓｅ  ＣＮＮの構成例（学習時）を示す図である。
【図１０】ＣＮＮの構成例（学習時）を示す図である。
【図１１】Ａｕｔｏｅｎｃｏｄｅｒの構成例（学習時）を示す図である。
【図１２】補助情報の利用による代表点生成時の構成例（学習時）を示す図である。
【図１３】複数層における代表点生成と階層的クラスタ損失の例を示す図である。
【図１４】クラスタごとの代表点生成器の例を示す図である。
【図１５】多段階系列長の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
＜第１の実施形態＞
以降の説明では、物体およびその状態についての認識対象に関するデータを認識対象データと呼び、認識対象データから抽出した特徴量を対象特徴量と呼ぶことにする。なお認識対象データが特徴空間上に写像された場合でも、一般的に特徴空間上のデータと呼称することが多いと考えられるため、以下の説明で単に認識対象データと記す場合は、例えば元画像空間上のデータのみならず、特徴空間上のデータをも含むものとする。認識対象は人間が指定したものでも、機械が処理対象として指定したものでも、単数であっても、複数であってもよいものとする。以降における個々の事例では、具体例として認識対象がどのような性質のものであるかを述べる場合があるが、本発明において原理的にその場合に限るという意図ではない。本実施形態では、学習データの数に依存しない定数時間で認識対象の認識処理を行う例を第一に示す。また本実施形態では異常検知システムの例を挙げているため、異常検知という目的に合わせた学習のためのアルゴリズム例を挙げている。学習アルゴリズムとしては、例えば正常クラス・異常クラスを前提にしたＴｗｏ−Ｃｌａｓｓ学習アルゴリズムや、正常データのみを学習に用いるＯｎｅ−Ｃｌａｓｓ学習を挙げることができる。もちろん、本発明はその他の目的にも用いることができ、以降では様々な構成例について順を追って説明する。
【００１０】
詳細は後述するが、本実施形態では、認識対象データの近傍（以降、認識対象近傍と呼ぶ）の点を、認識対象データと比較すべき代表点として予測し、その代表点と認識対象データとの間の距離を算出し、その距離を基に異常検知を行う構成及び動作の例を示す。ここで、認識対象データに基づいて予測された代表点は、認識対象近傍の正常データを表現するように予め学習が行われたものとする。ここで述べた学習には、代表点を生成する処理に関する学習と、特徴抽出を行う処理に関する学習と、の二種類があるものとする。なお後述するように、それら二種類の学習処理を一つの学習処理の系として捉えてもよい。また、認識対象データを基に予測された代表点は、認識対象近傍の学習データを表現するものである。このため、代表点を用いることで、学習データの全てと認識対象データとを比較する場合や、学習データを全てクラスタリングした上で全てのクラスタ中心と認識対象とを比較する場合よりも、少ない数の比較により認識対象の認識を行うことが可能となる。本来であれば、認識対象データと、認識対象近傍データ（またはそのクラスタ中心等）と、に基づいて決まる近傍との距離は、認識対象データに基づいて"ここにあるであろう"と予測される"認識対象データと比べるべき点"との距離によって求められる。このため、本実施形態では、代表点を"予測する"という表現を用いる場合があり、これは言い換えると、代表すると予測される点を"生成する"とも言える。また本実施形態では、第一に、代表点は固定のＭ個として説明を行う。そして本実施形態では、Ｍ個の代表点で済むように、特徴抽出器および代表点生成器を学習するものとする。なお、ここでは代表点という用語を用いたが、後述するように構成としては点に限らない。加えて、代表点の学習の仕方によって、"代表点が認識対象近傍の正常データを表現すると考える"というパターン以外の目的にも用いることができることを後述する。
【００１１】
以降では、例えば、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＣＮＮ）を特徴抽出および代表点生成に用いて、学習する例を示す。代表点は、ＣＮＮの特徴空間上に生成するものとして、以降では代表特徴量と呼称することとする。なお、後述するように、ＣＮＮは必須の構成事例ではなく、特徴抽出器の一例とする。
【００１２】
本実施形態では、具体例として異常検知システムの構成を挙げており、異常検知システムとしては、監視カメラによって撮像された映像中から異常を検出する機能を備えたシステムを例示する。
本実施形態における異常検知システムでは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像データに基づいて、監視対象に異常があるか否かの判定が行われる。そして、異常があると判定した場合には、警備室等の監視センタに常駐する監視者に対し、異常がある旨の警告、例えば警告表示や警告音の出力による警告を行う。なお、この監視対象には、例えば、一般家庭の屋内及び屋外、又は病院、駅などの公共施設が含まれる。
【００１３】
本実施形態における異常検知システムの動作は、「学習時」と、「検出時」と、の２つのステージからなる。これら２つのステージのうち、最初の第１ステージは学習を行う際の動作を示しており、また２つ目の第２ステージは学習した結果に基づいて実際の検出処理を行う際の動作を示している。
図１は、第１の実施形態に係る情報処理装置の一例としての異常検知システムの概略構成例を示すブロック図である。本実施形態の異常検知システムは、学習装置１０、学習データの記憶部Ｄ１、認識装置２０、認識対象データの記憶部Ｄ２、判定装置３０、端末装置４０を有して構成されている。
【００１４】
まず、本実施形態の異常検知システムにおいて学習時の動作に関わる構成について説明する。
図１の異常検知システムは、学習に関わる構成として、学習装置１０を備えている。なお、これらの装置内および装置間は、電子回路を介して接続されていても、外部記憶装置を介して接続されていても、またネットワークを介して接続されていてもよい。このネットワークには、例えば携帯電話回線網やインターネットが適用できる。以降で説明する装置等に関しても、同様に様々な方法で接続されていてよい。このことは後述する認識装置２０等においても同様であるとする。
学習装置１０は、選択部１１と、学習部１２とを備えている。
学習部１２は、特徴抽出部１２１と、代表特徴量生成部１２２と、損失算出部１２３とを備えている。
【００１５】
次に、異常検知システムにおいて学習時の動作を、図２を用いて説明する。図２は、異常検知システムにおける学習時の動作を示すフローチャートである。なお、以降の説明では、図２のフローチャートにおける各ステップＳ２００〜ステップＳ２０４をＳ２００〜Ｓ２０４と略記する。このことは後述する他のフローチャートにおいても同様とする。
【００１６】
まずＳ２００において、学習装置１０は、初期化処理を行う。例えば、学習装置１０は、学習時に用いるＣＮＮの初期化を行う。具体例は後述する。
次にＳ２０１において、選択部１１は、学習データ記憶部Ｄ１から学習処理の対象となる学習対象データを読み込み、学習部１２にｍｉｎｉｂａｔｃｈ（ミニバッチ）データを送る。特徴抽出部１２１は、選択部１１から学習データを受け取り、その受け取ったデータを基に特徴抽出器により特徴量を抽出し、認識対象特徴量（以下、対象特徴量と呼ぶ）を代表特徴量生成部１２２に送り、ｍｉｎｉｂａｔｃｈ特徴量を損失算出部１２３に送る。代表特徴量生成部１２２は、受け取った対象特徴量から、代表特徴量生成器により代表特徴量を生成して、損失算出部１２３に送る。損失算出部１２３は、受け取ったｍｉｎｉｂａｔｃｈ特徴量と代表特徴量とから、損失関数に基づいて損失値を算出する。以降では、損失値や、損失関数を微分すること等によって得た勾配情報を、誤差に関する情報または簡単に誤差と呼ぶ。これらの詳細については後述する。
【００１７】
次にＳ２０２に進むと、損失算出部１２３は、誤差情報を代表特徴量生成部１２２および特徴抽出部１２１に送る。代表特徴量生成部１２２は、受け取った誤差情報に基づいて、さらに代表特徴量生成器の誤差を算出して、特徴抽出部１２１に送る。特徴抽出部１２１は、損失算出部１２３と代表特徴量生成部１２２とから受け取った（ＣＮＮの上段の層の損失である）誤差を用いて、特徴抽出器の学習処理を行う。詳細については後述する。
【００１８】
Ｓ２０３に進むと、代表特徴量生成部１２２は、Ｓ２０２で損失算出部１２３から受け取った誤差情報を用いて、代表特徴量生成器の学習処理を行う。
その後、Ｓ２０４において、学習装置１０は、学習が完了すると、これまで学習した特徴抽出器および代表特徴量生成部を、学習データ記憶部Ｄ１に保存する。
【００１９】
次に、選択部１１の動作に関して、図３に基づいて詳細な説明を行う。図３は、選択部１１における学習データの選択動作を示すフローチャートである。
まずＳ３０１において、選択部１１は、学習データ記憶部Ｄ１から学習データを受け取る。ここでの学習データとは、ある一つの監視カメラから得られた監視映像から作成された人物画像であるとする。
【００２０】
ここで、ある監視映像から１フレームを抜き出した画像の例を図４に示す。図４に示した画像４０１は、ある交差点における監視映像の画像例を示しており、この画像４０１内には撮像された被写体等のオブジェクト４０２〜４０５が存在しているとする。また画像４０１内の点線で示したエリア４０６〜４０９は、選択部１１の備える人体領域抽出器によって抽出されたＢｏｕｎｄｉｎｇ  Ｂｏｘ（バウンディングボックス）を示している。これらのＢｏｕｎｄｉｎｇ  Ｂｏｘに囲われた部分画像は、それぞれが人体画像に対応している。なお、ここで示したＢｏｕｎｄｉｎｇ  Ｂｏｘは、あくまでも人体領域が抽出された際の具体例の一つであり、例えば後述する背景差分法によって撮像されたオブジェクトの輪郭に沿った小領域を抽出してもよい。
【００２１】
前述したような人体領域を抽出するための方法は複数存在し、例えば背景差分法、物体検出・追尾法、領域分割法の三つがある。監視対象のオブジェクトが、例えば人体のように予め既知のオブジェクトである場合は、ターゲットのオブジェクトのみを検出・追尾する目的に絞られた物体検出・追尾法が比較的適していると考えられる。物体検出・追尾法には、例えば参考文献１に開示された方法があり、この方法を用いてもよい。
【００２２】
参考文献１：Real-Time Tracking via On-line Boosting. H. Grabner, M. Grabner and H. Bischof. Proceedings of the British Machine Conference, pages 6. 1-6. 10.  BMVA Press, September 2006.
【００２３】
さらに選択部１１は、学習データ（監視映像から矩形領域などで人体領域として切り出された人体画像）に予め付与された教師データを利用して、人体画像に対して教師データを付与する。例えば、矩形の人体領域を抽出する場合は、人体領域のＢｏｕｎｄｉｎｇ  Ｂｏｘを定義し、該Ｂｏｕｎｄｉｎｇ  Ｂｏｘに教師データを付与することができる。なお、矩形ではなく、例えば人体の存在する輪郭に沿って人体領域を抽出する場合は、画像に対する人体領域のマスクを定義し、該マスクに基づいて人体画像を作成することができる。
【００２４】
ここで、教師データは、対象をどのように分類すべきかを示すラベルである。ラベルの種類や、どのような対象にどのようなラベルを付与するか、ということは問題に依存するため、本実施形態では、異常検知システムを使用または導入するユーザが予め決定し、学習データに対して教師データを付与しておくものとする。例えば、正常な映像から得られる人体画像は正常であるとみなし、それらの人体画像に対して正常というラベルを付与してもよい。なお、以降では、監視員が異常であると判断した人体画像には、異常というラベルを付与するものとする。すなわち、ここでの問題設定は、ある特定の監視カメラから得られた映像（に含まれる人体画像）に関する正常−異常の２クラス問題となる。
【００２５】
学習データに予め付与する教師データは、例えば撮像された被写体の画像上の領域に対して、ユーザが付与することができる。より具体的には、例えば歩行者のオブジェクト４０３の領域をユーザが手動によって指定し、その領域に対して例えば正常を示すラベルを付与することができる。このとき、抽出した人体領域と、付与された教師データの領域とが重畳している場合、その人体領域に対して最も大きな面積の割合で重畳された教師データを付与してよい。当然ながら、必ず前述のやり方で教師データを付与しなければならないわけではなく、例えば予め人体領域を抽出しておき、それぞれの人体領域に対して、ユーザが教師データを付与してもよい。なお、本実施形態では人体領域を抽出する例を示したが、当然その他の物体領域を抽出してもよいし、また領域を抽出せずに画像全体を認識処理してもよい。どのような領域を抽出し、認識処理の対象とするかは問題依存であるため、問題に応じて設定する必要がある。また、ここでは説明を簡易にするために、学習処理のターゲットとなる全ての監視映像から予め学習データ（人体画像）を作成しておくものとする。
【００２６】
次にＳ３０２に進むと、選択部１１は、得られた学習データの前処理を行う。本実施形態では、各画像を２２４×２２４ピクセルの画像サイズに変形した後、平均画像を引く処理を行うものとする。ここで平均画像は、学習データの平均画像を示す。本実施形態では、学習画像を水平方向に反転して水増しし、水増し前の画像と、水増し後の画像とを、全て学習画像として扱うこととする。
【００２７】
次にＳ３０３に進むと、選択部１１は、認識対象となる学習データを決定し、それぞれの認識対象の近傍探索処理を行う。認識対象となる学習データは、全ての学習データをそれぞれ認識対象として扱ってもよいし、重要な学習データを予め選別して、認識対象として選定してもよい。ここで選ぶ認識対象は一枚の学習データとする。すなわち、ある認識対象を選んだとき、その認識対象に類する近傍データが複数選ばれるものとする。なお、複数個のデータによって認識対象を構成することも可能であり、そのような例は後述する。また、選択するのは一つでも可能であるが、認識対象近傍に異なる種類の近傍データの分布が存在しうる場合、複数個がよいと考えられる。
【００２８】
近傍探索を行う空間は、ここで述べる第一の例としては画像空間上であるとする。すなわち選択部１１は、監視映像から切り出され、前処理された学習データが画像空間上に分布しているとみなして、認識対象データの近傍探索を行う。画像空間以外にも、例えば特徴空間を用いてもよいため、それについては後述する。近傍探索を用いる方法はどのような公知の手段を選んでもよいが、ここでは参考文献２に記載されているｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ（ｋ−ＮＮ）を用いる。なお、ｋ−ＮＮは、最初に一度実行するだけでもよいし、各エポックの開始時に実行してもよいし、学習用の認識対象を選択する（いわゆるｍｉｎｉｂａｔｃｈを作成する）たびに実行してもよいとする。
【００２９】
参考文献２：C. Huang et al. Learning Deep Representation for Imbalanced Classification. CVPR2016.
【００３０】
次にＳ３０４に進むと、選択部１１は、学習用データ部分集合として、Ｍｉｎｉｂａｔｃｈを設定する。本実施形態の第一の例では、Ｍｉｎｉｂａｔｃｈのサイズは、認識対象１個と、該認識対象近傍データ９９個をひとまとめにしたものとする。この認識対象近傍は、前述の近傍探索処理結果によって得られたものとする。このＭｉｎｉｂａｔｃｈとしては、学習に用いるために一度に全てのＭｉｎｉｂａｔｃｈを作成してもよいし、学習のエポックが進むたびに作成し直してもよいし、その他の学習のどのタイミングで作成してもよいものとする。この例では、最初に一度に全てのＭｉｎｉｂａｔｃｈを作成し、Ｍｉｎｉｂａｔｃｈ集合を得るものとする。なお、学習処理の例として、後述する参考文献３の方法を用いてもよい。
【００３１】
Ｓ３０５に進むと、選択部１１は、Ｍｉｎｉｂａｔｃｈ集合から一つＭｉｎｉｂａｔｃｈを選択し、学習部１２に送る。このとき選択するＭｉｎｉｂａｔｃｈは、例えばランダムな順番でＭｉｎｉｂａｔｃｈを選択する。なお、エポックとは、Ｍｉｎｉｂａｔｃｈ集合の全てのＭｉｎｉｂａｔｃｈを何回学習したかを表すものとする（ひととおり学習したら１エポック進むというように数える）。本実施形態では、一つの例として、予め決められたエポック数に基づいて学習完了の判定を行うとする。
その後、Ｓ３０６に進むと、選択部１１は、既定のエポック数に到達していた場合、学習処理を終了する。
【００３２】
次に、学習部１２の動作に関して、図５に基づいて詳細な説明を行う。図５は、学習部１２における学習動作を示すフローチャートである。
まずＳ５０１において、学習部１２は、ＣＮＮのパラメータ（結合重み・バイアス項・学習パラメータなど）を初期化する。初期化にあたっては、ＣＮＮのネットワーク構造を予め決めておく必要がある。ここで用いるネットワーク構造や初期パラメータは、例えば参考文献３と同じものを用いてよいし、独自に定義したネットワーク構造を用いてもよい。
【００３３】
参考文献３：A. Krizhevsky et al. ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems 25 (NIPS)、 2012.
【００３４】
図６はＣＮＮの模式図の一例を示した図である。この図６を用いて、ＣＮＮの構成および動作の例について簡単に説明する。図６の特徴抽出器６２０と、代表点生成器６２１とは、本実施形態で用いるＣＮＮのネットワーク構造の一例を示したものである。図６では、特徴抽出器６２０が、入力層６０１と、ｃｏｎｖｏｌｕｔｉｏｎ１層６０２と、ｐｏｏｌｉｎｇ１層６０３と、ｃｏｎｖｏｌｕｔｉｏｎ２層６０４と、ｐｏｏｌｉｎｇ２層１３０５とから構成されていることを示している。また図６では、２つの階層間の処理方法として、ｃｏｎｖｏｌｕｔｉｏｎ処理６１０と、ｐｏｏｌｉｎｇ処理６１１と、ｃｏｎｖｏｌｕｔｉｏｎ処理６１２とが設定されていることを示している。各処理の具体的内容は参考文献３と同様であるためここでは省略する。ｃｏｎｖｏｌｕｔｉｏｎ処理６１０では畳み込みフィルタを用いたデータ処理が実行され、ｐｏｏｌｉｎｇ処理６１１では例えばｍａｘ  ｐｏｏｌｉｎｇであれば局所的な最大値を出力する処理が行われる。
【００３５】
また、図６では、ｃｏｎｖｏｌｕｔｉｏｎ層およびｐｏｏｌｉｎｇ層には複数の特徴マップが存在し、入力層の画像上のピクセルに対応する位置には、複数のニューロンが存在することを示している。例えば学習画像が３原色のＲＧＢ形式の画像である場合、ＲＧＢチャンネルに対応する３つのニューロンが存在することになる。また学習画像が撮像映像の動き情報を持つＯｐｔｉｃａｌＦｌｏｗ画像であれば、画像の横軸方向と縦軸方向とをそれぞれ表現する２種類のニューロンが存在することになる。
【００３６】
また、複数の画像を同時に入力として用いる場合は、それら入力画像の数に対応する分だけ入力層のニューロンを増やすことで対応することが可能である。本実施形態では、標準的なＲＧＢ画像を対象とする例を示すものとする。図６には、学習時の各層における特徴マップ等のサイズ６３０〜６３５を例示している。これらサイズ６３０〜６３５において、（ａ，ｂ，ｃ，ｄ）という記述のうち、ａはデータの数に相当する次元であり、例えばＮはｍｉｎｉｂａｔｃｈのサイズ、Ｍは後述する代表点の数である。ｂは画像のチャンネルに対応する特徴次元の数、ｃは画像のｙ軸に対応する特徴次元の数、ｄは画像のｘ軸に対応する特徴次元の数と考えることができる。なお、ここでは上述の部分について特徴抽出器であると述べたが、ＣＮＮの性質として、ＣＮＮ全体が特徴抽出器であるとみなすことも可能であり、必要であればそのように解釈してもよい。
【００３７】
また図６では、代表点生成器６２１が、認識対象の対象特徴量層６０５と、代表特徴量層６０６とから構成されていることを示している。対象特徴量層６０５は、認識対象の特徴量を保持する層である。認識対象抽出処理６１３では、ｍｉｎｉｂａｔｃｈの１番目のデータが認識対象であるとのルールに基づき、Ｃｏｎｖｏｌｕｔｉｏｎ２層の（Ｎ，５１２，３２，３２）サイズの中間特徴量から、１番目の（１，５１２，３２，３２）サイズの特徴量を抜き出す。そしてこの抜き出した特徴量が対象特徴量となされる。当然ながら、どのデータが認識対象であるかを判別可能であれば、ｍｉｎｉｂａｔｃｈの１番目に認識対象を必ず入れておくという操作は必要がなく、認識対象であることを示す印に基づいて、単に対象特徴量を取り出すという処理に置き換えてもよい。
【００３８】
次に、学習部１２は、代表点生成処理６１４によって、対象特徴量層の特徴量を用い、代表特徴量層６０６のＭ個の代表特徴量を生成する処理を行う。代表点生成処理６１４の具体例は後述する。
最後に、学習部１２は、損失算出処理６１５によって、損失値６０７を得る。損失算出処理６１５の具体例は後述する。
以上が学習時のＣＮＮの構成と動作の例である。なお、初期化の方法としては、公知の手法でＣＮＮのパラメータを初期化することができる。学習率などのパラメータは、必要に応じて任意に決定することができる。
【００３９】
次にＳ５０２に進むと、学習部１２は、変数Ｉｔｅｒａｔｉｏｎを０に初期化する。ここで変数Ｉｔｅｒａｔｉｏｎは、ｍｉｎｉｂａｔｃｈを何回読み込んでＣＮＮの更新を行ったか、という意味を持つ。必要であれば、変数Ｉｔｅｒａｔｉｏｎやエポック数に基づいて、学習率などの学習に必要なパラメータが変更されてもよい。例えば、安定的な学習のため、エポック数が１０を越えたときに、学習率を１／１０倍するといった処理を導入することができる。
【００４０】
次にＳ５０３に進むと、学習部１２は、学習用のＭｉｎｉｂａｔｃｈを選択部１１から受信する。
さらにＳ５０４に進むと、学習部１２は、ＣＮＮの学習時認識処理を実行する。具体的には、学習部１２は、Ｓ５０４１において階層的特徴抽出処理を行い、Ｓ５０４２において代表点生成処理を行い、Ｓ５０４３において損失算出処理を行う。これらの処理の概要は、図４の内容について説明した際に上述したが、詳細な処理内容については後述する。ここでは基本的に、Ｃｏｎｖｏｌｕｔｉｏｎ２層のＮ個の特徴量と、生成されたＭ個の代表点（代表特徴量）と、に基づいて損失を算出する。なお、ここでは特徴抽出処理の後に代表点生成処理を行い、その後に損失算出処理を行うという順番を例示したが、これ以外にも、後述するように繰り返し実行する場合など、他の様々な構成にすることも可能である。また例えば、特徴抽出器のみを学習し、それが終わった後に代表点生成器のみを学習するなど、排他的に学習を行ってもよい。特徴抽出器のみを学習する場合の損失算出処理については後述する。
【００４１】
次にＳ５０５に進むと、学習部１２は、Ｓ５０４３において算出した損失に基づいて、学習誤差をＣＮＮに逆伝播する。本実施形態では、ＣＮＮの学習を行うための方法として、誤差逆伝播法とＳＧＤとを組み合わせた方法を用いる。誤差逆伝播法とＳＧＤとを組み合わせた方法は参考文献３に詳細に説明されているため、ここでは詳細な説明は行わないが、基本的にはＭｉｎｉｂａｔｃｈを選択し、ＣＮＮのパラメータを逐次更新するという手順を繰り返すことを特徴とする。なお、誤差情報は認識処理のデータフローとは逆方向に伝播するのが一般的であり、ここでも特徴抽出器および代表点生成器などに対して誤差情報が伝播するものとする。
【００４２】
次にＳ５０６において、学習部１２は、Ｓ５０５で伝播した誤差情報を用いて、ＣＮＮのパラメータの更新を行う。例えば、学習部１２は、変数Ｉｔｅｒａｔｉｏｎに１を加算する。
次にＳ５０７において、学習部１２は、Ｍｉｎｉｂａｔｃｈを全て学習に利用したか否かの判定を行う。そして、学習部１２は、全てのＭｉｎｉｂａｔｃｈを学習に利用したと判定した場合にはＳ５０８の処理に進み、そうでなければＳ５０３の処理に戻る。
【００４３】
Ｓ５０８に進んだ場合、学習部１２は、エポックに１を加算する。
次にＳ５０９に進むと、学習部１２は、予め設定した上限にエポックが達しているか否かに関する判定を行う。そして、学習部１２は、上限に達していると判定した場合にはＣＮＮの学習を終了してＳ５１０に進み、そうでなければＳ５０３に進む。なお、多くの場合、ＮＮの学習停止条件は、エポック数の予め決定した上限値に達成したか否か、学習曲線の勾配などを用いて自動的に決めるか、それらのどちらかを採用する。本実施形態では、エポック数の上限値に達成したか否かを学習停止条件とする。例えば本実施形態では、エポック数の上限値は例として２００００回とする。なお、エポック数が増えることによってＮＮの学習率を低下させる方法など、エポック数に基づく学習処理の工夫を導入してもよい。
【００４４】
Ｓ５１０に進むと、学習部１２は、学習済みのＣＮＮのモデルを学習データ記憶部Ｄ１に保存する。ここでは後段の認識処理の動作において認識装置が用いることを考慮し、学習時に使用したコンピュータのメモリ上に保存しておくことを想定しているが、例えばその他の記憶部を用意して保存してもよいし、その他の保存手法を用いてもよい。
【００４５】
なお、上述のＣＮＮによる特徴抽出処理では、特徴学習を通して、損失関数に基づく損失値を低減するように学習が行われることになる。例えば、代表点と認識対象データとを近づけるように学習がなされる。これにより、精度よく認識処理を行うことができる。
【００４６】
次に、代表点生成処理の具体的な処理内容について例を挙げて説明する。本実施形態の第一の例では、先述したようにＭ個の代表点は認識対象データに基づいて生成される。図６に示した代表点生成処理６１４の例では、（１，５１２，３２，３２）サイズの特徴量を、（Ｍ，５１２，３２，３２）サイズの特徴量に変換する処理が、代表点生成処理となる（特徴量のサイズは一例である）。
【００４７】
代表点生成処理は、認識対象に基づいてＭ個の代表点を生成する処理であればよいため、上述の変換処理を適用することができる。なお必要に応じて、どのような代表点生成処理を採用することも可能である。ここでは、以下の代表点生成処理の例を挙げて説明する。
まず学習部１２は、（１，５１２，３２，３２）サイズの特徴量をＭ個分コピーし、（Ｍ，５１２，３２，３２）サイズの特徴量を作り、次に、（Ｍ，５１２，３２，３２）サイズの特徴量を（１，５１２・Ｍ，３２，３２）サイズに変形する。なお、"・"はスカラー値同士の掛け算を表す。変形には、（１，５１２，３２，３２）サイズのＭ個の特徴量を特徴量の二次元目でｃｏｎｃａｔｅｎａｔｅ処理してもよいし、その他の公知の手段を用いてもよい。ここで、ｃｏｎｃａｔｅｎａｔｅ処理とは、二つのデータや特徴量をある指定された次元において結合する処理である。
【００４８】
次に学習部１２は、（１，５１２，３２，３２）サイズの特徴量から、（１，５１２・Ｍ，３２，３２）サイズの特徴量への変換処理を行う。このとき変換前は、同じ特徴量がＭ個あるだけであるが、変換処理によって、異なるＭ個の特徴量が現れることを狙う。この処理には、公知の方法を用いることができるため、詳細な説明を省略する。例えば、特徴量に対する大きな非線形変換が必要ないのであれば、変換前の特徴量の周辺に１サイズの余白を作るとともに３×３の畳み込み関数を用いて変換処理を行えばよい。また前述の例では対象特徴量をＭ個コピーした上で変換処理する例を挙げたが、例えばＤｅｃｏｎｖｏｌｕｔｉｏｎ（逆畳み込み関数）を用いた公知の方法を用いてもよい。つまり、Ｄｅｃｏｎｖｏｌｕｔｉｏｎ処理により、（１，５１２，３２，３２）サイズの対象特徴量を（１，５１２・Ｍ，３２，３２）サイズの特徴量に変換してもよい。また、その他の公知の逆畳み込み関数以外の方法を用いてもよい。
【００４９】
最後に、学習部１２は、変換した（１，５１２・Ｍ，３２，３２）サイズの特徴量を（Ｍ，５１２，３２，３２）サイズの特徴量に変形する処理を行う。ここで用いる変形処理は、例えば前述の方法で行ってもよい。なお、これらの例は参考に示した代表点生成器の構成例であり、その他の公知の方法を用いて代表点生成器（の一部）として用いてもよい。
【００５０】
以降で、今回以外の方法で代表点生成器を構成する例を後述する。なお、後述する第２の実施形態では、代表点生成に近年発達してきた生成モデル系の方法を用いる例を説明する。なお、Ｍは１であってもよいが、認識精度を向上させるために、複数の代表点を用いたほうがよいと考えられる。またＮを学習データ全体の数としたとき、クラスタリングのような目的関数を得ることができる。
【００５１】
次に、損失算出処理の具体的な処理内容について例を述べる。本実施形態の第一の例では、先述したようにＭ個の代表点が認識対象データを含むＮ個のデータからなるＭｉｎｉｂａｔｃｈと比較され、損失が算出される。このとき、どのように損失算出処理を行うかという点でバリエーションが存在するが、先述したように正常−異常の２クラス問題として解く場合には、以下の式（１）に示す損失関数を用いることができる。
【００５２】
【数１】
2020119154.tif 000003
【００５３】
ここで、式（１）のＸはＭｉｎｉｂａｔｃｈデータの特徴量、Ａは代表特徴量である。特に、Ｘ0は認識対象データとする。また、少なくとも認識対象以外のＭｉｎｉｂａｔｃｈデータは正常とする。||・||は二つのデータ（特徴量）間の距離を求める関数であり、例えば二乗フロベニウスノルムなどが用いられる。式（１）は、代表特徴量のＡが正常なＭｉｎｉｂａｔｃｈデータ（認識対象以外は正常）を精度よく近似するほど小さい値となる。また、認識対象のラベルが異常である場合は、Ａが認識対象データから離れているほど損失関数の値が小さくなることが分かる。すなわち、Ａは正常な代表特徴量を表していると解釈ができる。
【００５４】
式（１）では全てＭｉｎｉｂａｔｃｈデータの特徴量と代表特徴量との距離を算出しているが、認識対象近傍のデータが多峰である例を考慮する場合には、各代表特徴量に対して最近傍となるＭｉｎｉｂａｔｃｈデータの特徴量との間の距離のみを用いてもよい。これにより、多峰性を考慮したマッチングが可能となる。その場合、最近傍は、例えば特徴空間上でｋ−ＮＮを用いて見つけることができる。なお、各Ｍｉｎｉｂａｔｃｈデータの特徴量に対して最近傍となる代表特徴量との間の距離のみを用いてもよい。また、必要であれば、ｋ＝１ではなく任意の数としてｋ個との距離を計算してもよい。例えばｋ＝Ｍとしたとき、損失関数は式（１）と同じになる。
【００５５】
なお、式（１）は、場合分けしたそれぞれで微分可能であり、先述した誤差逆伝播法の目的関数として用いることができる。また、例えば代表点の多様性を維持するために、ある代表点にすでに割りあたったＭｉｎｉｂａｔｃｈデータがある場合には、他のＭｉｎｉｂａｔｃｈ中のデータを同じ代表点に割り当てないようにしてもよい。すなわち、Ｎ＞Ｍの場合、Ｍ個のデータのみしかＭｉｎｉｂａｔｃｈ中で学習に寄与しないことになる。一方、Ｎ＜Ｍの場合は、Ｎ個の代表点のみ学習に用いられることになる。すなわち、動的な代表点数になる。更に後述のマルチタスクラーニングにより、例えばＭｉｎｉｂａｔｃｈ中の各データがノイズデータ（外乱）であるか否かを判定し、そのノイズ度合いを基にＭｉｎｉｂａｔｃｈ中のデータを選択してもよい。この場合、Ｎは変動することになり、これも動的な代表点数になりうる。なお、一個しか割り当てない場合のように制約がきつすぎると考えられる場合は、少数のＭｉｎｉｂａｔｃｈ中のデータのみ代表点に割り当てることを許すようにしてもよい。
以上が、学習装置１０の動作の説明である。各部のさらに詳細な説明は後述する。
【００５６】
次に、異常検知システムの検出時の動作に関わる構成に関する説明を行う。
図１の異常検知システムの認識装置２０は、入力部２１と、認識部２２とを備えている。
認識部２２は、特徴抽出部２２１と、代表特徴量生成部２２２と、距離計算部２２３と、を備えている。
判定装置３０は、異常判定部３１を備えている。
端末装置４０は、表示部４１を備えている。なお、端末装置４０としては、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のディスプレイやタブレットＰＣ、スマートフォン、フューチャーフォン等が適用できる。
【００５７】
以下、異常検知システムの検出時の動作に関する説明を図７に基づいて行う。図７は、異常検知システムにおける異常検出動作のフローチャートである。
まずＳ７０１において、入力部２１は、認識対象データ記憶部Ｄ２から認識対象データ（検知対象のデータ）を受け取り、認識部２２に送る。このとき認識対象データには、学習時と同様の前処理を施すとする。前処理では、平均画像を引くなどの処理を行い、画像反転処理などは行わなくてもよい。認識部２２は、受け取った認識対象データを用いて、ＣＮＮの認識処理を行う。このとき用いられるＣＮＮのモデルは、学習時に得られたモデルを用いるものとする。なお、もし必要であれば、異常検知システムの学習時に得られたモデルを用いず、その他のモデルを用いてもよい。本実施形態では前述のように学習したモデルを用いるとする。
【００５８】
図６を例に挙げて説明すると、検出時に認識対象が一つ与えられるのは、Ｎ＝１としたときの図６のようになる。具体例を図８に示す。なお図８において、図６と同様の処理内容のものは、図６と同じ符号を付与し、重複する説明は省略する。
図８において、サイズ８３０〜８３３は、本実施形態において検出時に認識対象が一つだけ入力され、それが認識処理にかけられることを表している。また、図８の場合、損失算出処理はなく、対象特徴量と代表特徴量との距離を算出する距離算出処理８１５を用いて距離８０７を得る。
【００５９】
次にＳ７０２に進むと、判定装置３０は、認識対象データに対するＣＮＮの認識処理結果に対して、異常判定処理を行う。このとき現れるＣＮＮの認識処理結果は、本実施形態においては、認識対象と生成された代表点との距離とする。
【００６０】
ここで、本実施形態の学習時において、代表点は認識対象近傍の正常なデータを表現するように学習されるため、認識対象が与えられた際に、認識対象に基づいて生成される代表点は認識対象近傍に存在すると予測される代表点となる。すなわち、認識対象と代表点との間の距離は、認識対象と認識対象近傍とに存在するであろう正常な点との距離であるとみなすことができる。そして、距離が大きいほど異常であると考えられるため、ここで得られた距離に基づいて異常検知を行うことができる。このとき、異常判定を行う際の閾値は、ここでは予め決定した値を用いるとする。判定装置３０は、距離が閾値以内である場合には正常と判定し、閾値を超える場合には異常として検知する。閾値は、操作者が決定してもよいし、機械的に決めてもよいし、その他の学習方法などによって決めてもよいとする。
【００６１】
次にＳ７０３に進むと、端末装置４０は、判定装置３０から異常判定結果を受け取り、その判定結果に基づいた表示処理を行う。例えば、表示部４１は、検出対象が異常であることを示す異常判定結果が送られてきた場合、それを受け取り、警告処理を行ってもよい。このとき、端末装置４０の備える機能に応じて、警告処理を行ってもよい。例えばランプとサイレンが備わっている場合はランプ等の点滅と共に警告音を鳴らしてもよく、映像確認用のディスプレイが備わっている場合は、通常の監視映像に対して異常な場所を強調表示してもよい。ただしこのとき、異常な場所を強調表示するには、映像上の異常な箇所を特定する必要がある。そのためには、例えば入力される検出対象データに画面座標データを付与しておき、異常判定結果に応じてその座標データを利用してもよい。
【００６２】
次にＳ７０４に進むと、認識装置２０は、認識対象データ記憶部Ｄ２に検出対象となるデータが残っている場合にはＳ７０１に戻り、そうでなければ、検出時の動作を終了する。
【００６３】
前述した説明では、２クラス問題として解く場合の例として式（１）を示したが、本実施形態は２クラス問題以外の問題にも適用可能である。例えば、１クラス問題（異常検知の文脈では正常学習とも呼ばれる）においては、例えば以下の式（２）に示す損失関数によって損失を計算し、学習に用いることができる。
【００６４】
【数２】
2020119154.tif 000004
【００６５】
式（２）において、Ｘは正常なデータのみを含むＭｉｎｉｂａｔｃｈデータ（の特徴量）である。なお、前述した式（１）の場合と同様に、全ての代表点との比較を行わずに、近傍の代表点との距離だけを求めてもよい。正常学習は、学習時には正常なデータしか用いられない場合に特に有効であり、監視カメラに撮像された人物の行動を分析する場合や、工場等における製品の外観検査等にも用いることができる。このような場合は、応用のユースケースによっては、ＣＮＮなど多くの処理能力を必要とする特徴抽出器以外の特徴抽出器が望まれる場合がある。そのような場合は、ＣＮＮではなく、その他の公知の特徴抽出器等を用いてもよい。特徴学習が困難な場合は、代表点生成器の学習のみ行い、特徴学習を行わないようにしてもよい。
【００６６】
また、監視用途の異常行動検知においては、継続して映像を収集することを通して、今まで存在しなかった異常データが得られる場合がある。その際、追加学習を行い、教師データとして用いてもよい。すなわち最初は式（２）に基づいて学習を行い、追加的に式（１）に基づいて学習を行ってもよい。なお、追加学習においては、上述の問題設定以外でも、新たに学習データが取得された都度行ってもよい。その場合、ＣＮＮ全体を再学習してもよいし、構成の一部（例えば特徴抽出器や代表点生成器）のみを再学習するようにしてもよい。例えば、監視カメラを用いたユースケースにおいて、特徴学習を監視カメラごとに行うのは計算コスト・学習コストが大きい。しかし、もし代表点生成器の学習コストが比較的低い場合は、特徴抽出器を複数のカメラで共通に利用して、代表点生成器のみをカメラごとに学習することができる。ここで用いる特徴抽出器は、他のドメインで予め学習済みのものを用いてよい。
【００６７】
なお、１クラス問題または２クラス問題として解く場合の例を上述したが、さらに多いクラス数の問題としても解くことが可能である。例えば、画像認識等の分類問題にも本発明を適用することができる。具体的には、Ｍ個の代表点に対して、例えば排他的なラベルを最大Ｍ種類付与することができ、以下の式（３）に示すような損失関数を用いることが可能である。
【００６８】
【数３】
2020119154.tif 000005
【００６９】
式（３）において、||・||の右下の項は距離を計算する条件について示しており、Ｃは認識対象データのクラスを表す。また、ｉ∈Ｃjは"Ｍｉｎｉｂａｔｃｈ中に含まれるｊ番目のデータのクラスにｉ番目の代表点のラベルが対応する場合"という条件を示し、ｉ¬∈Ｃjは逆を示す。|・|は集合の要素を数え上げたときの数を表し、分母として与えることで総和された値を正規化する役割を持つ。例えば、｜ｉ∈Ｃj｜は"Ｍｉｎｉｂａｔｃｈ中に含まれるｊ番目のデータのクラスにｉ番目の代表点のラベルが対応する場合の数"であり、何回条件に当てはまったかを数え上げた数に相当する。上述の対応関係は予め決める必要がある。例えば、ｊ＝｛０，１，・・・，３０｝のときＣjは０番目のラベルであり、ｊ＝｛３１，３２，・・・，６０｝のときＣjは１番目のラベルであるなどである。すなわち、Ｘ0に基づいて生成された各代表特徴量には予めラベルが付与されており、当該ラベルに予め紐付けられた認識対象のクラスのデータと近づいて生成されるように学習がなされると考えることができる。そして、検出時には、認識対象データに基づいて生成された代表特徴量と対象特徴量との距離を計算し、最も対象特徴量との距離が近い代表特徴量のラベルに対応する認識対象のクラスが、対象特徴量のクラスと考えることができる。なお、上述の場合は代表特徴点のラベルが排他的である場合について述べたが、排他的ではなく、例えばマルチラベルのような構成にしてもよい。
【００７０】
なお上述の例では、代表点に基づいて損失を計算して学習処理を行う場合や、代表点に基づいて検出処理を行う場合を示したが、それ以外のタスクをマルチタスクラーニングとして同時に解いてもよい。例えば、認識対象に不審度などの値が教師データとして付与されている場合、代表点の生成と並行して、不審度の推定（回帰）を行うことができる。回帰の学習には、例えば二乗誤差を用いることができる。代表点の生成と回帰とをＣＮＮで行う場合には、例えば、図６のＣｏｎｖｏｌｕｔｉｏｎ２層に基づいて回帰処理を行うＣＮＮを別途用意し、Ｅｎｄ−ｔｏ−ｅｎｄで学習処理を行ってもよい。そして、その結果を検出時に用いてもよい。あるいは、生成した代表点に基づいて回帰などの処理を行ってもよい。図６の例では、（Ｍ，５１２，３２，３２）サイズの代表点と、Ｃｏｎｖｏｌｕｔｉｏｎ２層の（Ｎ，５１２，３２，３２）サイズのＭｉｎｉｂａｔｃｈから選択した（１，５１２，３２，３２）サイズの認識対象データとをｃｏｎｃａｔｅｎａｔｅ処理する。そして、ｃｏｎｃａｔｅｎａｔｅ処理による（Ｍ＋１，５１２，３２，３２）サイズの特徴量を、（１，５１２・（Ｍ＋１），３２，３２）サイズの特徴量に変形処理し、認識処理に用いる。これによって、Ｍｉｎｉｂａｔｃｈ中のデータを考慮して認識処理を行うことができる。なお、通常のニューラルネットワークでは、Ｍｉｎｉｂａｔｃｈ中の他のデータが、あるデータの特徴抽出処理に対して関与することは行われない。一方、この抽出処理等によってＭｉｎｉｂａｔｃｈ中のデータを特徴次元上に移す処理を通すことで、Ｍｉｎｉｂａｔｃｈ中のデータを考慮した特徴抽出を行うことができるようになる。また、マルチタスクラーニングにおいては、それぞれのタスクの学習をどのような順番で行ってもよいし、同時に学習を行ってもよい。
【００７１】
また上述の特徴量のサイズの表現（例えば（Ｎ，５１２，３２，３２））は、あくまでも特徴量のサイズを例示するために使用された表現であって、計算機内部のデータとしてどのように特徴量を保持していてもよい。例えば（Ｎ，５１２，３２，３２）というサイズの特徴量は、内部的には（１，５１２・Ｎ，３２，３２）という配列のサイズであってもよい。上述の処理においては、特徴量の変形処理を繰り返し行う場合があるため、効率のよいデータ表現が望まれる。また、例えば（Ｎ，５１２，３２，３２）というサイズの特徴量として内部的に保持している場合であっても、（１，５１２・Ｎ，３２，３２）のように変形処理せず扱うために、例えば畳み込み処理を第一の次元（データ数の次元）にまで拡張してもよい。つまり、通常の畳み込み処理の一例としては、第二の次元（チャンネル数の次元）数だけ畳み込みフィルタを用いる。この場合、（Ｎ，５１２，３２，３２）の例では５１２個分の畳み込みフィルタを用いることになるが、第一の次元まで拡張された畳み込み処理は、（Ｎ，５１２，３２，３２）の例では５１２・Ｎ個分の畳み込みフィルタを用いることになる。これは、（１，５１２・Ｎ，３２，３２）のように変形処理したうえで畳み込み処理を行う場合と等価な表現であるため、変形処理の分だけ計算コストを削減しうる。
【００７２】
また上述の例では、代表点は主に特徴空間上の点である場合について述べたが、例えば入力データの空間と同じ空間上の点であってもよい。具体的には、入力データが画像である場合、画像空間上に代表点を生成して用いてもよい。このような場合、例えば参考文献４のように、Ａｕｔｏｅｎｃｏｄｅｒを用いて画像空間上に認識対象データの再構成画像を生成し、代表点と比較する形で用いることができる。代表点の生成の仕方はさまざまなやり方があるが、ＣＮＮを例にした方法と同様の方法を用いて代表点を生成することができる。なお、ここではＡｕｔｏｅｎｃｏｄｅｒを用いて画像空間上で代表点を生成する場合の例について述べたが、Ａｕｔｏｅｎｃｏｄｅｒの中間層で代表点を生成してもよい。その場合、上述したマルチタスクラーニングの形で、再構成誤差と代表点との距離とに関して最適化を行うようにしてもよい。なお、例えば元となる空間（例えば、画像空間とする）上で代表点を生成した場合、Ｍｉｎｉｂａｔｃｈ中のデータを画像空間上に再構成したデータだけでなく、入力された学習データをも代表点生成器の学習に用いることが可能である。例えば、入力された学習データに近づけるように代表点を生成するための損失関数の項を追加してもよいし、その他の公知な方法等を応用して、入力された学習データと代表点との関係に関する損失関数を設計してもよい。また、もし入力された学習データに異常と正常などの教師情報が付与されているならば、例えば異常の学習データと生成された代表点との距離が大きくなるように学習を行ってもよい。具体的には、例えば、異常の学習データと生成された代表点との二乗誤差が大きくなるほど損失が大きくなる形で損失関数の項を追加することで上記の目的を達成することができる。
【００７３】
参考文献４：C. Zhou et al. Anomaly Detection with Robust Deep Ａｕｔｏｅｎｃｏｄｅｒs. KDD, 2017.
【００７４】
また、例えば入力データが画像データとテキストデータとである場合など、マルチソースな構成である場合に、一部の入力データの空間上にだけ代表点を生成してもよいし、全部の入力データの空間上に代表点を生成してもよい。もちろん、マルチソース構成でなくとも、一部の入力データの空間上にだけ代表点を生成してもよい。
【００７５】
また、本実施形態では主として入力データの空間上で近傍探索を行い、近傍画像等を選択する場合の例について述べたが、任意の特徴空間上で近傍探索を行ってもよい。またさらに、学習ベースの方法を用いて近傍を選択してもよい。例えば、特徴学習とクラスタリングの学習を同時に行う方法を用いて、特徴抽出・クラスタリング・代表点生成の３者を学習することができる。例えば認識対象データを含むランダムに選択した１００個のデータをまずＭｉｎｉｂａｔｃｈとして特徴抽出・クラスタリングする。そして、そのうち認識対象と同じクラスタに割り当てられた５０個のデータを認識対象近傍として特徴抽出・代表点生成に用いてもよい。特徴抽出・クラスタリング・代表点生成は、共通のＣＮＮによって行うことができ、効率的に学習処理を行うことができる。例えば、図６のＣｏｎｖｏｌｕｔｉｏｎ２層まで共通にＣＮＮを利用し、その後の処理をクラスタリング・代表点生成とで別々の系統に分けてＣＮＮを学習することができる。なお、クラスタリングを用いる上述の例はあくまでも一例であって、その他の近傍選択・探索が可能な公知の技術を用いてもよい。
【００７６】
また本実施形態では、第一の例として、近傍探索を行い、近傍データを近い順から選択してＭｉｎｉｂａｔｃｈを作るための構成や動作の例を挙げたが、他の方法として、例えば認識対象近傍の一定の距離以内に存在するデータを集めてランダム選択をしてもよい。これにより、同じ認識対象に対して異なるＭｉｎｉｂａｔｃｈを構成することが可能となる。またその際に、学習のエポックやイテレーションが進むほど、認識対象近傍の選択する範囲を狭めるようにしてもよい。これによって、徐々にＦｉｎｅ−ｇｒａｉｎｅｄな特徴表現や代表点生成器を獲得しうる。なおこれらの近傍選択については、先述のように特徴空間上で行ってもよい。
【００７７】
また、認識対象近傍のデータを選択する際に、近傍性のみならず、その他の基準を用いてもよい。この基準の定義によって様々な性質の代表点生成器を学習することが可能である。例えば、認識対象近傍のデータとして、認識対象と同一の属性を持つデータを選択してもよい。具体的には、例えば人物照合等のタスクにおいて、認識対象と同一人物のデータを認識対象近傍のデータとして扱うことで、同一人物らしい代表点の生成を行うことが期待できる。この属性は、例えば物体種に関する属性などでもよい。
【００７８】
その他にも、例えば監視映像を用いた行動認識などにおいて、監視映像中に撮像された同一グループと思われる人物らを同一属性として扱ってもよい。また、認識処理が誤りやすいデータをより多く近傍データに選択すれば、学習が早く進むことが期待できる。認識処理が誤りやすいとは、例えば誤分類が多いデータであったり、所望の代表点との距離が大きいデータであったり、必要であればどのような定義を用いてもよい。より多く選択されやすくするために、ある近傍の範囲内にある誤りやすいデータを必ずＭｉｎｉｂａｔｃｈに含めたり、確率的に選択されやすくしたりすることができる。誤りやすいデータは、学習のエポックごとに見直してもよいし、イテレーションごとに見直してもよいし、端末装置４０等を用いたユーザからのフィードバックに基づいて選択してもよい。
【００７９】
また、間違えやすいという意味のみならず、各データについて重要度が分かっているならば、重み付け学習を導入してもよい。ここで重み付け学習とは、例えば損失関数において、代表点とデータとの距離などを求める際に、各データの重みに基づいてその大きさを変えることを意味している。例えば重要度が１から１０の範囲である場合は、その範囲で決められた重要度と、例えば代表点とデータとの差を二乗した値とを掛ける処理を行って損失を計算してもよい。また、近傍データを選択する際に、さらにその他の基準を用いる場合の例として、様々な照明条件下で撮影したデータや、異なる視点・カメラ等で撮影されたデータを含むようにしてもよい。
【００８０】
このようにすることで、変動に対してロバストな代表点生成器等を学習することが可能になる。このとき、例えば人物画像検索において、認識対象と同一の人物であって、様々な環境下で撮影した画像を認識対象近傍として選択してもよく、そのようにすれば、さらに認識処理のロバスト性が向上すると考えられる。
【００８１】
なお、もし必要であれば、認識対象近傍データを選択するのではなく、その他の異なる基準を用いてＭｉｎｉｂａｔｃｈを作成してもよい。その場合、近傍性を考慮した代表点生成ではなく、異なる性質を持つ代表点生成器を学習することができる。
【００８２】
また、人物画像の照合等、１対１のマッチングに関するタスクにも本発明を用いることができる。まずここで例として、照合対象の人物画像が２枚与えられており、これら２枚の画像が同一人物の画像であるか否かを認識処理によって確認することを考える。そのために、例えば、参考文献５に示されるようなＳｉａｍｅｓｅ構造のＣＮＮを用いるとする。
【００８３】
参考文献５：E. Ahmed et al. An Improved Deep Learning Architecture for Person Re-Identification. CVPR, 2015.
【００８４】
具体例を図９に示す。ここで示すのは学習時の構成とする。説明を簡単にするため、図９のうち、図６に共通する要素は図６と同じ符号を与えてあり、それらの説明は省略する。ここで用いるＭｉｎｉｂａｔｃｈは先述の例と同様に、認識対象データと、認識対象データが与えられたもとでの認識対象近傍のデータとによって構成される。ここでの認識対象データとは、照合対象のうち１枚の人物画像である。近傍データとは、ここでは認識対象の人物が撮像された画像であり、認識対象データと類似するデータであるとする。このようにして構成されたＭｉｎｉｂａｔｃｈが各認識器に対して一つ与えられる。なお、学習を効率的に行うために、各Ｍｉｎｉｂａｔｃｈに存在するデータはかぶりなく得られるように排他性を考慮してもよい。図９は、認識器Ａ９０１と、認識器Ｂ９０２とを含み、これらは先述の例において与えられた２枚の人物画像それぞれを処理する認識器を表している。２つの認識器の出力を、損失算出処理９０３によって処理することで、損失値が得られることとなる。各認識器の出力は、各認識器に対するＭｉｎｉｂａｔｃｈ中のデータを特徴量に抽出したものと、生成された代表点とである。すなわち、Ｓｉａｍｅｓｅ構成においては、Ｍｉｎｉｂａｔｃｈ中のデータを特徴量に抽出したものと、生成された代表点とが、それぞれ２つ得られることとなる。１対１のマッチングを行うための学習において、正例の画像のみ用いる場合の損失算出処理は、例えば以下の式（４）に示す損失関数を用いることができる。
【００８５】
【数４】
2020119154.tif 000006
【００８６】
式（４）において、正例の画像のみ用いるとは、学習に用いる画像のペアが、必ず同一人物であることを示している。ここで、ＸA、ＸBはそれぞれ認識器Ａ、認識器ＢのＭｉｎｉｂａｔｃｈデータの特徴量（画像空間上のデータでもよい）、ＡA、ＡBはそれぞれ認識器Ａ、認識器Ｂの代表点である。特に、Ｘ0A、Ｘ0Bはそれぞれ認識器Ａ、認識器Ｂの認識対象データとする。ａ1，ａ2，ａ3，ａ4は、それぞれの項に対する重みであり、ここでは事前に決めるものとする。式（４）は、式（２）と同様にＯｎｅ−ｃｌａｓｓ学習を目的にした損失関数である。ただし、異なる認識器をまたいで、代表点とＭｉｎｉｂａｔｃｈデータの特徴量との距離を考慮している点が異なる。基本的には、それぞれの距離が近いほど損失関数の出力値は小さくなり、そのバランスは式（４）のａ1，ａ2，ａ3，ａ4によって決定できる、Ｏｎｅ−ｃｌａｓｓ学習を目的とした式である。なお、Ｏｎｅ−ｃｌａｓｓ学習ではなく、その他の目的関数に基づいて学習を行いたい場合は、それぞれの目的に合った関数を用いてもよい。例えば、Ｍｕｌｔｉ−ｃｌａｓｓ学習では、本実施形態において先述した方法を用いて、ラベルの異なる代表点とＭｉｎｉｂａｔｃｈデータの特徴量との距離を離し、同じラベル同士は近づけるための損失関数を用いてもよい。具体的には、同一人物か否かを正例・負例についてＴｗｏ−ｃｌａｓｓ学習する場合は、以下の式（５）に示す損失関数を用いて学習を行うことができる。
【００８７】
【数５】
2020119154.tif 000007
【００８８】
式（５）において、右辺上段の式は式（４）に一致しており、右辺下段は、負例（画像ペアは異なる人物の場合）の場合の損失関数について示している。負例の場合は、異なる認識器から得られる対象特徴量や代表点等が、より離れるように学習されるように、一部の符号が反転している。また、今回の例ではＭｉｎｉｂａｔｃｈ中のデータのうち、認識対象データとその他のデータは必ず同一人物であるという前提であったが、そうではなく、異なる人物（それも、非常に似通った人物）にすることもできる。その場合は、異なる人物を表す代表点と、同じ人物を表す代表点とで、異なるラベルの代表点を生成すればよい。以上では、学習時の場合について例示したが、検出時においても距離ベースの認識処理を行うことが可能である。具体的には、例えば、以下の式（６）によって生成された代表点を考慮した距離を計算することができる。
【００８９】
【数６】
2020119154.tif 000008
【００９０】
この式（６）による距離と、予め決められた閾値とに基づいて、同一人物か否かを決めることができる。なお、式（６）のように対象特徴量および代表点を総合的に考慮した値ではなく、異なる認識器が出力した対象特徴量および代表点を比べたときに、最も距離の近い組の距離を採用してもよい。例えば、認識器Ａが出力した対象特徴量と、認識器Ｂが出力した代表点との距離などを算出し、最も値の小さい距離値が用いられる。
【００９１】
なお、人物画像の照合等に関して、１対１のマッチングを行う場合の例を上述したが、複数の認識対象候補が与えられたもとで、複数の検索候補から最もマッチしたデータを選択する場合も、ユースケースとしてありうる。例えば、スタジアムの観客席等での監視において、他の人物とは異なる行動をしている人物の特定を行いたいとする。具体的な例としては、例えば、参考文献６に「図３スポーツ競技場の観客席における撮影例  競技を観戦している人々の中で、赤丸で示した人物のみが時計やスマートフォンなど別の場所を終始見続けており、本研究では不審行動に分類される。本映像における顔の大きさは，縦方向に約２５〜３０ｐｉｘｅｌである。」と記されている。このように、他の人物と異なる行動をとっていることは、不審者を見つけるうえで監視員にとって重要なエビデンスと考えられる。
【００９２】
参考文献６：黒沢健至 et al. 映像解析を用いた安全安心技術開発のための評価用映像データベースの構築. 第23回画像センシングシンポジウム, 2017.
【００９３】
そこで、例として、ある人物が画面上の他の人物とは別の行動をしているか否かを判定することを考える。このような場合、複数の認識対象候補が与えられたもとで、複数の検索候補から最もマッチしたデータを選択するという問題設定として捉えることが可能である。以降では、説明を簡単にするために、認識対象候補と検索候補とが重複しており、複数存在する検索候補同士の対応について調べる場合について述べる。重複していない場合・重複が一部しかない場合については後述する。
【００９４】
ここで、図１０に複数認識対象を用いて複数の検索候補とのマッチングを行う場合の構成の例を示す（学習時）。図１０の例において、構成の一部は図６の機能と同様の機能を持ち、その場合は図６と同一の符号を付与して、重複した説明は省略する。図１０の変形処理１００１は本実施形態で既に述べた変形処理であり、Ｍｉｎｉｂａｔｃｈのデータを全て第二の次元（特徴量の次元）に持っていく処理を行い、サイズ１００２の特徴量を作成する。ここで、Ｎは可変であってもよい。この特徴量を、サイズ６３５の特徴量に変換するために、正規化可変代表点生成処理１００３を用いる。
【００９５】
正規化可変代表点生成処理１００３の例を図１０の左下に示す。ここでは（１，５１２，３２，３２）サイズの特徴量がＮ個あると捉え、（１，５１２，３２，３２）サイズの特徴量に対する代表点生成処理をＮ回繰り返す（Ｎ並列の処理を行ってもよい）。代表点生成処理は、本実施形態で説明した代表点生成処理を用いてよい。そして、Ｎ回繰り返された代表点生成処理は、足し合わされ、代表特徴量層６０６に入力される。このときＮ回足し合されるため、代表特徴量層６０６の入力の前にＮで割って正規化処理を行うとする。これによって、任意の数Ｎは代表特徴量層６０６で消え、Ｍ個の代表点の特徴量が代表点生成器１００４の出力として得られる。最後に、Ｎ個の対象特徴量（Ｃｏｎｖｏｌｕｔｉｏｎ２層の特徴量）と、Ｍ個の代表点を用いて、損失が計算される。このとき学習データが全て正常であるならば、１ｃｌａｓｓ学習を行うことができ、式（２）を損失関数に用いることができる。正規化可変代表点生成処理１００３と、式（２）とを用いて学習を行うことによって、Ｎ個のデータの平均的な代表点を学習することが可能である。もし異常ラベルが与えられていれば、異常な認識対象データが代表点から離れるほど損失が減少するような損失関数を与えて学習することが可能である。
【００９６】
また、検出時には、図１０の構成において損失算出処理６１５の代わりに距離計算処理を導入し、検出時に得られたＮ個の認識対象データと、それらから生成されたＭ個の代表点との距離を計算した結果に基づいて、異常判定を行ってよい。本来であれば、Ｎ個の認識対象が存在する場合、それらの距離を計算するには、Ｎの自乗のオーダーでの計算時間増加が見込まれる。図１０の方法によれば、それをＮ・Ｍのオーダーの計算時間に圧縮することができる。ＭがＮよりも大きい場合については、例えばＮ個の認識対象データをそれぞれ１対１比較してもよいし、それぞれの認識対象データに基づいて生成した代表点を本実施形態に記載の方法によって比較することで距離を算出してもよい。なお、上述したように、認識対象と検索候補が重複していない場合や、重複が一部しかない場合については、距離計算の際等に、例えば検索候補と代表点との間の距離のみを計算することで、計算処理を短縮してもよい。
【００９７】
さらに発展的には、複数個の検索候補を、例えば徐々に絞っていくという場合も考えられる。上述の複数認識対象の例では、認識対象数Ｎは可変であってよいので、これを用いて徐々に検索候補を絞っていくような使い方を学習時や検出時に行ってもよいし、その他の公知の方法を用いて、検索候補を絞っていくための処理を行ってもよい。複数認識対象の例を用いる場合は、例えば、生成された代表点から近い検索候補を除外していくことで、検索候補を絞っていくための処理を行うことができる。そして、絞られた検索候補に基づいて、再び代表点を生成する処理を行う。
なお、より詳しく認識処理を行いたい場合は、式（２）のように代表点とデータとの間の距離を計算するのみならず、データ同士、代表点同士の距離を計算し、学習時の学習処理に用いてもよいし、検出時に用いてもよい。
【００９８】
上述の例では認識対象データに基づいて代表点を生成する例を示したが、これは具体例としてＣＮＮを用いる場合の一例であって、その他の公知の方法を用いて代表点を利用してもよい。例えば、すでに生成された代表点をリカレントに用いて、認識処理に再利用してもよい。
【００９９】
また上述の例では、画像を用いた認識処理の例を主に記したが、他のデータを対象とした認識処理を行ってもよい。例えば、映像データや、センサデータや、反射光スペクトルデータや、物質組成データや、化学的データなどである。例えば、化合物の新種を発見するために、化合物の正常データのみを学習し、認識対象として新種の化合物が現れたとき、距離ベースの検知によって新種の判定を行うことができる。
【０１００】
また、上述の例では実データを用いて学習処理を行う場合の例について述べたが、ＣＧ（コンピュータグラフィックス）を用いてデータを作成し、学習処理等に用いてもよい。例えば、認識対象データに類似するＣＧデータを作成し、そのＣＧデータに光源の変化等で生じえるバリエーションを付与したＣＧデータを作成し、それらのＣＧデータや該ＣＧデータから抽出した特徴データを、認識対象近傍データや認識対象データとして用いる。これによって、画像上の様々なバリエーションに対応することができる。
【０１０１】
なお、上述の例では、光源等の変化に対応するため（例えば異なる光源の画像が与えられても正しく認識処理を行うため）に、学習画像等そのものや近傍の選び方等に工夫を加える例を示した。これに対し、さらに代表点に関しても光源等の変化に対応して認識処理に工夫を加えることで、よりロバストな認識処理を行うことができる。ここでは外観検査における具体例を以下に示す。例えば、本実施形態で示したＡｕｔｏｅｎｃｏｄｅｒを用いるとする。なおＡｕｔｏｅｎｃｏｄｅｒに畳み込みフィルタを導入したＣｏｎｂｏｌｕｔｉｏｎａｌ  Ａｕｔｏｅｎｃｏｄｅｒでも、その他の再帰的構造を取り入れたモデルでもよい。
【０１０２】
まず、検査する対象の製品の認識対象データを選択する。説明を簡単にするために、ここで用いる認識対象データは一つであるとするが、複数あってもよい。
次に、ここで選んだ認識対象データと同一の製品のデータであって、認識対象データとは異なる光源等のバリエーションが存在するデータを選択する。単純にＡｕｔｏｅｎｃｏｄｅｒを適用するならば、Ａｕｔｏｅｎｃｏｄｅｒは独立にそれぞれのデータを再構成するための学習に用いられるが、先述のようにＡｕｔｏｅｎｃｏｄｅｒの中間層特徴量に基づいて、代表点を生成することを考える。
【０１０３】
学習時の具体例を図１１に示す。図１１の例において、構成の一部は図６の機能と同様の機能を持ち、その場合は図６と同一の符号を付与してそれらの説明は省略する。
補助データ選択器１１４１は、認識対象データ１１０１に基づいて補助データを選ぶとする。ここで、補助データとは、本実施形態で認識対象近傍データと述べてきたデータに相当する。今回は"選んだ認識対象データと同一の製品のデータであって、認識対象データとは異なる光源等のバリエーションが存在するデータを選択する"ようにしている。これらは特徴空間上等での認識対象近傍とは限らないため、ここでは補助データと呼称することにする。
【０１０４】
ＭｉｎｉｂａｔｃｈサイズをＮとしたとき、Ｎ−１個の補助データ（補助データ１１０２〜１１０Ｎ）を選択する。補助データは、様々な基準で選ぶことは可能であるが、ここでは"選んだ認識対象データと同一の製品のラベルがついているデータであって、認識対象データとは異なる露光で撮像したデータをランダムに選択する"とする。なお、異なる露光で撮像したデータのみを補助データとしたが、認識対象データと同一の露光で撮像したデータを補助データとしてまじえることで、学習処理を安定化させる試みを行ってもよい。また、補助データは人間が選択してもよい。
【０１０５】
再構成関数１１２０は、Ａｕｔｏｅｎｃｏｄｅｒのことであり、再構成関数１１２０によって再構成認識対象データ１１１１および再構成補助データ１１１２〜１１１Ｎが得られる。ここで、通常のＡｕｔｏｅｎｃｏｄｅｒと同様に再構成誤差を最小化するとともに、代表点生成の学習を進めることを考える。認識対象データ１１０１から再構成認識対象データ１１１１を得るまでのＡｕｔｏｅｎｃｏｄｅｒの中間層において、Ａｕｔｏｅｎｃｏｄｅｒの中間層特徴量を用いて代表点生成処理６１４が行われ、代表点１１３１を得るとする。
【０１０６】
ここで、代表点生成処理６１４で用いるＡｕｔｏｅｎｃｏｄｅｒの中間層は、どの層であってもよく、複数の層の特徴量を用いてもよい。代表点生成処理６１４で用いるＡｕｔｏｅｎｃｏｄｅｒの中間層と同じ層の特徴量を用いて、特徴量抽出処理１１２１が行われ、特徴量１１３２〜１１３Ｎが得られる。ここで特徴量抽出処理１１２１は、代表点との比較等に用いる補助データの特徴量を抽出するための処理であり、Ａｕｔｏｅｎｃｏｄｅｒの中間層特徴量をそのまま用いてもよいし、その他の変換処理を行ってもよい。ここで得た特徴量と代表点とを用いて、損失算出処理６１５が行われて、損失値６０７が得られる。このとき用いる損失関数は本実施形態で例示したどのようなものを用いてもよく、その他の公知の損失関数を応用したものを用いてもよい。例えば式（２）によってＵｎｓｕｐｅｒｖｉｓｅｄな学習を行うことができる。なお学習データは全て正常であるという仮定をおく意味では、教師が存在する。
【０１０７】
このとき、補助データは露光が異なるデータであるから、認識対象データから生成された代表点と、補助データの特徴量との位置関係は、露光の影響によって離れた場所に存在しうる。しかしながら、式（２）に基づいて学習を進めることで、特徴抽出器および代表点生成器の学習が進み、生成された代表点と、補助データの特徴量との位置関係は、より近づいたものになりうる。これは、露光の影響を減じる効果であると捉えることができる。
【０１０８】
さらに、式（２）など代表点に関する損失関数以外に、Ａｕｔｏｅｎｃｏｄｅｒならではの再現誤差関数（入力データと再現データとの二乗誤差など）を導入し、前述したマルチタスクラーニングとして解くことで、学習を効率的に進めることができる。また、Ａｕｔｏｅｎｃｏｄｅｒのある中間層の特徴空間を、代表点を生成する特徴空間としてそのまま用いる場合、生成された代表点を用いて、Ａｕｔｏｅｎｃｏｄｅｒの一部の関数によって画像を構成することが可能である。すなわち、生成された代表点が意味する画像を生成することができる。これは、Ａｕｔｏｅｎｃｏｄｅｒの中間層で代表点を生成し、さらにその代表点に基づいて、画像空間上での代表点を生成したとして解釈することができる。つまり、段階的な代表点生成、あるいは階層的代表点生成処理として解釈できる。
【０１０９】
なお、例えば複数の層においてラベル付き代表点を生成した際に、それぞれの層で認識対象データが所属すると思われるクラスが異なるという結果であった場合は、例えば複数の層の結果を加味して所属するクラスを決定してもよい。例えば、それぞれの層で得られる平均の距離で正規化した距離を足し合せて、最も距離値の小さいクラスを所属クラスとしてもよい。また、ラベル付きでない場合でも、例えば最大または最小の距離を用いて異常検知等の検出処理を行ってもよい。また、各層において異なる閾値を用いて、それぞれの層で得られた代表点生成結果に基づいて独立に異常検知等の検出処理を行ってもよい。
【０１１０】
また、上述のＡｕｔｏｅｎｃｏｄｅｒの例では、画像空間上に生成した代表点を端末装置４０で可視化することで、監視員等に対して、検出結果の理解を促進してもよい。また、これらは代表点であるから、式（２）等によって、さらに損失関数を適用して学習を促進することや、画像空間上の代表点と入力データとの距離に基づいて、異常検知に用いることもできる。なお、ここでは学習データが全て正常であるという前提に基づいて説明を行ったが、異常データなどのラベルが存在する場合は、式（１）などの損失関数を用いて学習し、得られた学習結果に基づいて、検出処理を行ってもよい。なお、Ａｕｔｏｅｎｃｏｄｅｒはデータを再構成する場合の本実施形態における構成の一例であり、その他の公知の方法を用いてもよい。
【０１１１】
上述の例では露光について述べたが、その他のカメラパラメータや、製品に関するデータ等を補助データとして用いてもよい。例えばカメラパラメータＡの場合、カメラパラメータＢの場合、カメラパラメータＣの場合、・・・、製品Ａの場合、製品Ｂの場合、製品Ｃの場合、・・・、といったように、外部情報を補助情報として扱い、どのように入力処理を行ってもよい。
【０１１２】
本実施形態における上述の例では、検出時に、同一の認識対象が入力された際に、同一の代表点が生成される仕組みであった。例えば監視映像の監視を目的とした際に、状況に応じて正常の定義が変化する場合がありうるため、状況に応じて生成される代表点が変化することで、正常の定義の変化を表現できることは望ましい。例えば、端末装置４０に補助情報入力器１２０１が備えられ、天気や備え付けられた店舗の状態（例えば営業中か否か）等の外部の情報が自動的に入力されるか、またはユーザによって与えられるとし、補助情報は状況の状態を与える情報であるとする。これに基づいて代表点生成器を切り替えてもよいし、また、補助情報を用いた代表点生成器を用いてもよい。
【０１１３】
以降では、補助情報を用いた代表点生成器の学習時の例について図１２を参照しながら示す。なお、学習時のＭｉｎｉｂａｔｃｈは、補助情報に基づいて正常の定義が変化することを表現するために、補助情報ごとに構成する。例えば補助情報が０のときの正常データを集めたＭｉｎｉｂａｔｃｈと、補助情報が１のときの正常データを集めたＭｉｎｉｂａｔｃｈとを用意するとする。なお、これらのＭｉｎｉｂａｔｃｈ中のデータの選定には、本実施形態で述べた方法を用いてよい。図１２の例において、構成の一部は図６の機能と同様の機能を持ち、その場合は図６と同一の符号を付与し、それらの説明は省略する。
【０１１４】
図１２の補助情報入力器１２０１は、先述の補助情報を入力するものである。補助情報１２０２は入力された補助情報を示し、離散値・連続値、次元数を問わないが、ここでは説明を簡単にするために、一次元の｛０，１｝の値をとりうるものとする。与えられた補助情報１２０２と、対象特徴量層６０５の特徴量とを、補助情報付き代表点生成処理１２０３によって変換し、代表特徴量層６０６の代表特徴量を得る。このとき代表特徴量は、補助情報に依存して決まる。これらが代表点生成器１２０４の役割である。
【０１１５】
補助情報付き代表点生成処理１２０３の動作に関する具体例を、補助情報の入力に基づく状況変化対応の例１２１０として、図１２の左下枠に示す。図１２中の枠の上部は補助情報が０であるときの動作、下部は補助情報が１であるときの動作について説明を行うための図である。Ｃｏｎｖｏｌｕｔｉｏｎ２層と代表特徴量層６０６は同一サイズの特徴空間であり、この特徴空間における代表点等の模式図について１２２０に示す。図中の黒色の点は対象特徴量１２１３であり、補助情報の値に関わらず、同じ位置に存在する。代表点群１２１１と代表点群１２１２は、補助情報の値に依存して、生成される点が変動している。この動作が、状況の変化に応じて正常が変化することを表現している。このとき、各代表点群と対象特徴量との距離が、前述の二つの場合で変化しうるため、異常検知結果が変わりうる。このときの損失を、本実施形態で例示した損失関数や、その他の公知の手法を用いて算出して学習に用いてよい。
【０１１６】
補助情報付き代表点生成処理１２０３は、例えば以下のように構成してもよい。具体的には、対象特徴量層６０５の特徴量に対して、補助情報をｃｏｎｃａｔｅｎａｔｅし、その特徴量を図６に記載の代表点生成処理６１４に入力し、代表点を作成することができる。ここで、ｃｏｎｃａｔｅｎａｔｅする補助情報は、ｏｎｅ−ｈｏｔなベクトルを、ｃｏｎｃａｔｅｎａｔｅする特徴マップと同一サイズのマップに拡大してから、ｃｏｎｃａｔｅｎａｔｅするものとする。具体的には、補助情報が１のスカラー値であったとしたら、１次元目が０で埋められ、２次元目が１で埋められたマップをｃｏｎｃａｔｅｎａｔｅする。このようにして、補助情報を考慮した代表点の生成を行うことができる。なお、その他の公知の方法を用いて、補助情報を考慮した代表点の生成を行ってもよい。
【０１１７】
これらの学習を行ったのち、検出時に、補助情報を考慮した代表点の生成を行うことで、状況の変化に応じた異常検知等に用いることができる。これらの方法を本実施形態で述べたマルチクラス学習に拡張することで、状況の変化に対応した多クラス分類問題等に適用することもできる。
【０１１８】
本実施形態で述べた学習処理において、特段最適化技法の制約について述べなかったが、必要に応じて制約や、正則化を追加してもよい。例えば、代表点や特徴量を、超球上に生成するように制約してもよい。そのようにすることにより、学習処理が安定化しうる。また、その他の公知の方法を用いて制約や正則化を加えてもよい。また例えば、下記の式（７）に示す代表点類似正則化項を損失関数に追加することで、同じ代表点生成器から生成される代表点同士が似ないように学習を行うことができる。
【０１１９】
【数７】
2020119154.tif 000009
なお、代表点同士が似すぎると、幅広い認識対象近傍を表現しづらくなる虞があるため、このような正則化項を追加してもよい。なお、式（７）のｂは任意のパラメータである。
また、上述の例では、代表点それぞれを点として扱って、認識対象データ等との距離を測ったが、距離ではなく、例えば代表点群とＭｉｎｉｂａｔｃｈ中のデータとの分布としての差異を測ってもよい。同様に、距離以外の公知の尺度を用いて、代表点等の差異を測ってもよい。
【０１２０】
これまで代表点を生成することについて述べてきたが、点ではなく、その他のものを生成してもよい。例えば、質量をもった超球を生成してもよい。質量をもった超球は、これまで述べた代表点を生成するように生成し、ある半径の範囲の超球内に特徴量が充填されているとみなすことができる。ここで半径は、予め決定されるものとし、例えば１を与えてもよい。質量を持った超球（代表点）と認識対象データ等との距離は、認識対象データ等と、質量を持った超球とが交わる最も短い直線によって定義してもよい。
【０１２１】
また、可視化のために、生成した代表点と認識対象データ等を低次元に写像し、それをマップとして表示してもよい。低次元に写像する方法は、どのような公知の技術を用いてもよく、例えば参考文献６に記載の方法を用いてもよい。
【０１２２】
参考文献６：S. Wold et al. Principal component analysis. 1987.
【０１２３】
また例えばマップ上に配置した代表点や認識対象データ等のうちの一つを、グラフィカルインタフェース等を用いて指定すると、近傍に存在する代表点や認識対象データ等が更に表示され、グラフィカルインタフェースを通した芋づる式の近傍探索が可能である。端末装置４０は、そのようなインタフェースを備えてもよい。
その他にも、クロスバリデーションによって、最適なＭを選択してもよい。また、代表点生成器は、ＣＮＮを用いず、例えば線形回帰等によって構成してもよい。ＣＮＮを用いる例は、高い非線形性を求められる場合に用いられる一例であり、本発明はＣＮＮを用いる場合に限らない。
【０１２４】
以上説明したように第１の実施形態では、認識対象データを用いて、データ中の認識対象人物等やその状態等の認識対象の代表点を特徴空間ないし元のデータ空間上に予測（生成）する代表点生成器を有し、認識対象データや代表点の比較を基に検出処理を行う。これにより、第１の実施形態によれば、高速な認識処理や、高い認識精度の認識処理が実現しうる。
【０１２５】
＜第２の実施形態＞
第１の実施形態では、認識対象データを用いて、認識対象人物等やその状態等の認識対象の代表点を特徴空間ないし元のデータ空間上に予測（生成）し、認識対象データと代表点との比較に基づいて検出処理を行う例を示した。その際の構成の第一の例では、データの特徴量を抽出する特徴抽出器と、代表点を生成する代表点生成器とがあり、それらを畳み込みニューラルネットワーク（ＣＮＮ）で構成する例を述べた（ＣＮＮを使わない場合の例も述べた）。第２の実施形態では、代表点生成器を識別的に学習することに関して、第一の実施形態とは異なる構成および動作について説明する。
【０１２６】
第２の実施形態で示す構成は第１の実施形態で例示した構成と大部分が同一であり、一部の構成と動作が異なる。本実施形態において第１の実施形態と構成や動作が異なるのは、先述のように代表点生成器を学習するための構成および動作である。なお、本実施形態における式の表記は第１の実施形態と共通であるとする。
【０１２７】
本実施形態で、一つの構成例として、第１の実施形態の構成に加えて、代表点生成器をＧｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ（ＧＡＮ）のような敵対的生成ネットワークの一部を応用することによって学習する例を示す。ＧＡＮは、参考文献７に開示されている方法であり、元のデータ空間上に偽データを生成する生成モデルと、生成された偽データの真贋を識別する識別モデルとがあり、敵対的に学習処理が行われることで、高度な生成器が学習されうる。本実施形態では、この識別モデルを用い、生成された代表点が認識対象データであるか、あるいは生成された代表点であるか（以降、真贋を識別するとする）、という識別を行うための学習を行い、代表点生成器は識別器をだますように学習を行う例を示す。なお、これらは識別器を用いて代表点生成器の精度向上を行う場合の一例であって、上述のようなＧＡＮの構成・動作に本発明は制限されない。なお、本実施形態で用いる代表点は、通常のＧＡＮとは異なり、元のデータ空間のみならず、特徴空間上での比較を想定していることに注意が必要である。
【０１２８】
参考文献７：I. J. Goodfellow et al. Generative Adversarial Networks. Arxiv, 2014.
【０１２９】
例えば、ＧＡＮの目的関数を代表点の生成データに応用することで、以下の式（８）を得ることができる。
【０１３０】
【数８】
2020119154.tif 000010
【０１３１】
式（８）において、Ｄは真贋を識別する識別関数（識別器）である。第一項は式（２）と一致するＭｉｎｉｂａｔｃｈ中のデータ（の特徴量）と生成された代表点との誤差を表す。第二項は識別器がＭｉｎｉｂａｔｃｈ中のデータ（の特徴量）を誤って偽のデータであると識別してしまった誤差を表し、第三項は識別器が代表点を偽のデータであると正しく識別できたか否かの損失を表す。ｃ1〜ｃ3はそれぞれの項の重みであり、任意の数を設定してよい。このとき、代表点Ａは代表点生成器である生成モデルＧによって生成された点であり、認識対象データＸ0を用いて生成されることから、Ａ＝Ｇ（Ｘ0）と書くことができる。ここで、Ａ＝｛Ａ1，Ａ2，・・・，ＡM｝である。
【０１３２】
なお、生成モデルＧは第１の実施形態で述べた方法を用いて構成してもよいし、その他の公知の方法を用いて構成してもよい。このとき、敵対的学習を行うことを考えると、式（８）を用いて目的関数を例えばｍｉｎD ｍａｘG １ｃｌａｓｓ ＧＡＮ Ｌｏｓｓと書くことができる。式（８）は微分可能であるから、ＣＮＮを用いる場合、通常のＣＮＮの学習と同様に、例えば誤差逆伝播法を用いて学習を行うことができる。また、式（８）は１ｃｌａｓｓ学習する場合として真贋を識別する識別器の誤差と式（２）とを組み合わせた例であって、式（２）ではなく、第１の実施形態に示したようなどのような損失関数を用いてもよい。
【０１３３】
このように学習された代表点生成器は、検出時において、より実際のデータに近くなった代表点を生成できる代表点生成器によって生成された代表点と、認識対象データと、を比較することで検出処理を行うこととなる。これにより、第２の実施形態では、認識精度が向上しうる。
【０１３４】
＜第３の実施形態＞
第１の実施形態では、Ａｕｔｏｅｎｃｏｄｅｒ等の入力データを再構成する構成を用いて、中間層と出力層（再構成後の層）とで、それぞれの層で代表点の生成を行う場合の例を示した。これは、ＣＮＮ等を用いて複数階層の特徴抽出を行う場合に、複数の層で代表点を生成できることを示す例である。第３の実施形態では、代表点生成器を階層的な損失のもとで学習することに関して、第１の実施形態とは異なる構成および動作について説明する。特に、複数の認識対象が存在する場合として、入力されたデータは全て認識対象である場合について記述する。
【０１３５】
以降、第３の実施形態について、図面を参照して説明する。第３の実施形態の構成は、第１の実施形態で例示した構成と大部分が同一であり、一部の構成と動作が異なる。第３の実施形態において第１の実施形態と構成や動作が異なるのは、先述のように、代表点生成器を階層的に学習するための構成および動作である。なお、第３の実施形態における式の表記は第１の実施形態と共通であるとする。
【０１３６】
図１３は、複数層における代表点生成と、階層的クラスタ損失に関する模式図（学習時）である。図１３において、図６と同様の処理内容のものは、図６と同じ符号を付与し、重複する説明は省略する。図１３では、左側に特徴抽出器および代表点生成器の例を示し、右側に代表点生成を行った空間上で階層的な損失計算を行う動作に関して例示している。代表点生成器１３２１〜１３２３は、特徴抽出器６２０の特定の層から認識対象抽出処理６１３に基づいて認識対象データを取得し、代表点を生成する処理を行う。そして、代表点生成器１３２１〜１３２３は、生成された代表点と、Ｍｉｎｉｂａｔｃｈ中のデータの特徴量とを比較する損失算出処理１３０１〜１３０３を行う。
【０１３７】
このとき、損失算出処理１３０１において、代表点生成器１３２１で生成された代表点と、Ｍｉｎｉｂａｔｃｈ中のデータの特徴量との近傍探索を行い、例えば最も近い代表点に各データを割り当てるとする。この処理はクラスタリングと解釈することができる。近傍探索処理については、第１の実施形態で記載した方法を用いることができる。そして、ここで得られた割り当ての情報を、クラスタ１３５１として代表点生成器１３２２および損失算出処理１３０２に送る。また、第１の実施形態で記載した方法によって、損失値１３１１を得る。
【０１３８】
次に、損失算出処理１３０２において、代表点生成器１３２２で生成された代表点と、Ｍｉｎｉｂａｔｃｈ中のデータの特徴量との近傍探索を行ってクラスタリングを行う。このとき、代表点生成器１３２２は、損失算出処理１３０１で行ったクラスタリングで得られたクラスタの情報を用いて、クラスタごとに代表点を生成する。この処理に関しては後述する。また、ここで行うクラスタリングでは、クラスタ１３５１のクラスタをさらに分割する階層的なクラスタリングが行われる。すなわち、クラスタ１３５１の各クラスタに割り当てられたデータに関して、代表点を生成し、それぞれをクラスタリングすることで、二段目のクラスタの分割が行われる。このようにすることで、クラスタが段階的に微細になり、よりきめ細かい表現を獲得しうる。また、多段に何度も代表点を生成することで、一度に多数の代表点を生成する必要性が薄れるため、より効率的に学習を行える場合がある。そして、損失算出処理１３０２により損失値１３１２が得らる。このような操作を、代表点生成器１３２３、損失算出処理１３０３、と行っていき、多段に損失算出処理を行えるようになる。
【０１３９】
なお、前述の例では、特徴抽出器の全ての層で代表点を生成する例を示したが、任意の層を選択して代表点を生成する構成を用いてもよい。図１３の右側には、上述した動作に関する特徴空間上の模式図を示している。図１３の右上上段の図は、損失算出処理１３０１で用いられるクラスタの模式図であり、Ｃｏｎｖｏｌｕｔｉｏｎ１層６０２と同じサイズの特徴空間上に、対象特徴量１３３１、代表点１３３２、クラスタ１３４０がある。ここで、図中の白丸は代表点、黒丸は対象特徴量、破線はクラスタの範囲の模式図を表現している。なお、第１の実施形態で述べたように、代表点を生成する先の空間は、元の特徴量の空間と同じでなくてもよい点に注意が必要である。つまり、Ｍｉｎｉｂａｔｃｈ中のデータの特徴量も、代表点を生成する先の空間に写像すればよいためである。
【０１４０】
ここで例として代表点は２点生成されており、複数の対象特徴量が近傍探索によって代表点に割り当てられている。このクラスタが、階層的クラスタリングにおける一段目のクラスタである。そして第３の実施形態においても第１の実施形態と同様に、このクラスタの割り当てを用いて、損失を計算してよい。例えば、以下の式（９）を用いて損失を計算することができる。
【０１４１】
【数９】
2020119154.tif 000011
【０１４２】
式（９）において、Ｃ'iはｉ番目のクラスタを表し、ｉは代表点に対応する。ｊ∈Ｃ'iはj番目のデータがｉ番目のクラスタに割り当てられているということを表現し、｜Ｃ'i｜はi番目のクラスタに割り当てられたデータの数を表す。また、各層での損失に関して重み付けを行ってもよい。
【０１４３】
図１３の右下の図は、損失算出処理１３０２で用いられるクラスタの模式図であり、下層でのクラスタをさらに分割していることがわかる。
なお、以上のように得た複数の損失値は、第１の実施形態で述べたように全て学習に用いてもよいし、一部のみ学習に用いてもよい。
【０１４４】
次に、クラスタごとに代表点を生成する方法について図１４を参照しながら例示する。図１４において、図６、図１０と同様の処理内容のものは、同じ符号を付与し、重複した説明は省略する。図１４のクラスタ１４４０は、前段でクラスタリングを行ったクラスタリング結果を示す。クラスタ１４４０は、クラスタ情報入力１４４１によって分割処理１４４２の処理に用いられ、対象特徴量層６０５のデータをクラスタごとに分割する。仮にクラスタ数をＬとしたとき、対象特徴量層１４０５にはＬ個に分割されたデータが入力される。
【０１４５】
サイズ１４０１〜１４０Ｌは分割されたデータ数を考慮した特徴量のサイズを示しており、データ数Ｎ1〜ＮLはそれぞれのクラスタのデータ数を表す。クラスタのデータ数は可変であるため、第１の実施形態で例示した正規化可変代表点生成処理１００３を用いて、各クラスタのデータについて、それぞれＭ個の代表点を生成することができる。Ｍ個は任意の数を設定でき、クラスタをさらに分割するためには、２個以上の数を設定するとよい。上述した代表点生成器１４１０によって、Ｍ・Ｌ個の代表点が生成される。最後に、これらの代表点を（Ｍ・Ｌ，５１２，３２，３２）のサイズのようにｃｏｎｃａｔｅｎａｔｅ処理し、損失の計算処理に用いることができる。
【０１４６】
なお、前述した例は学習時の構成および動作について挙げているが、同様の代表点生成処理を用いて検出時に用いることができる。その際は、第１の実施形態で例示したように、認識対象データと代表点とを比較し、距離等を計算して、検出処理に用いてよい。その際、複数層での代表点生成結果を用いてよい。
【０１４７】
また、上述の例は、いわば分割統治型のクラスタリングであるが、凝集型のクラスタリングを行うこともできる。その場合、クラスタを分割したのち、階層的にクラスタを統合していきながら、代表点の生成や損失の計算を行えばよく、上述の分割統治型と類似の処理を行えば実現可能であるため、詳細は省略する。
【０１４８】
また、上述の例は、複数の認識対象データが存在する場合の例であった。認識対象データが単数であり、認識対象近傍のデータ等を学習に用いる場合にも、上述の方法を用いることができる。代表点の生成には単数の認識対象データを用い、分割統治型のクラスタリングを行う場合には、認識対象データの所属するクラスタのみを階層的にクラスタリングしていくこととなる。その際、認識対象データの所属するクラスタ以外に割り当てられた認識対象近傍のデータは、以降の認識処理を省略することができる。
【０１４９】
以上説明したように、第３の実施形態によれば、階層的に多段階に学習された代表点生成器は、より精度よく学習処理が行われうるため、検出時の認識精度が向上しうる。
【０１５０】
＜第４の実施形態＞
第４の実施形態では、時間などの系列を考慮した場合に、代表点生成や特徴抽出等に関してどのような工夫を導入することが可能であるかを述べる。第４の実施形態で示す構成は第１の実施形態で例示した構成と大部分が同一であり、一部の構成と動作が異なる。第４の実施形態において第１の実施形態と構成や動作が異なるのは、先述のように、時系列性を考慮した点である。
【０１５１】
なお予め述べるが、第１〜第３の実施形態において説明を行ったいずれの例も、時系列性のあるデータに対して構成・動作しうる。例えば、第２の実施形態において、一枚の画像ではなく、映像や動きベクトル等を生成することも可能である。また、ある人物の画像を認識対象とするとき、別の時刻の同一人物の画像を認識対象近傍の画像として用いることも可能である。第４の実施形態で述べるのは、さらに時系列性を利用した場合の例である。
【０１５２】
第１の実施形態では、例えば行動認識や不審行動検知において、人物画像を用いる場合の例を述べた。その他の例として、例えば参考文献８に開示された方法を用いて、ＲＧＢ画像のみならずオプティカルフロー画像を抽出し、認識処理に用いてもよい。
【０１５３】
参考文献８：K. Simonyan et al. Two-Stream Convolutional Networks for Action Recognition in Videos. NIPS, 2014.
【０１５４】
またその場合、各ストリームにおいて独立に代表点を生成して認識処理に用いてもよい。また、異常検知等に用いる場合、例えば以下の式（１０）を損失関数として用いてもよい。
【０１５５】
【数１０】
2020119154.tif 000012
【０１５６】
式（１０）において、ＸT、ＸSはそれぞれ認識対象データに対応する時間的ストリーム（Ｔｅｍｐｏｒａｌ  Ｓｔｒｅａｍ）の特徴量、空間的ストリーム（Ｓｐａｔｉａｌ  Ｓｔｒｅａｍ）の特徴量を表している。ＡT、ＡSはそれぞれ認識対象データに対応する時間的ストリーム上の代表点、空間的ストリーム上の代表点を表している。ｄ1、ｄ2は重み付けのパラメータであり任意に設定してよい。式（１０）は、空間的ストリームの対象特徴量から生成された代表点が、時間的ストリームの対象特徴量とどれくらい近いかを測り、時間的ストリームの対象特徴量から生成された代表点が、空間的ストリームの対象特徴量とどれくらい近いかを測る式になっている。そして、式（１０）に基づいて正常学習されることを通して、一方のストリームの正常な特徴量から、一方の正常な特徴量を予測するための特徴抽出器・代表点生成器が学習されうる。
【０１５７】
検出時には、式（１０）と同様にこれらの特徴量および代表点との距離を測り、もし距離が大きくなっていれば、正常学習を行った際の正常な関係が崩れたとみなし、異常であると判定することができる。なお、式（１０）は特徴量と代表点との複数の組み合わせについて考慮するが、他の実施形態で示した例と同様に、最近傍の点のみを考慮するように変更してもよい。また、式（１０）は時間的ストリームと空間的ストリームの入力データをそれぞれＮ個用いている例であるが、これらのデータは、映像の連続する区間において抽出したデータであってもよい。また、ある映像からランダムないし何らかの基準によって取り出したデータであってもよい。
【０１５８】
なお、第１の実施形態における１対１のマッチングのように、ある系列とある系列とのマッチングを行いたい場合は、系列長を階層的・多段階に複数パターン考慮して代表点を生成し、マッチングに用いてもよい。例えば第３の実施形態において、階層的に代表点を生成し、階層的に損失関数を計算する場合の例を述べたが、この際、多段階に系列長を考慮することが可能である。
【０１５９】
図１５にその例を述べる。時間方向１５０１は、右にいくほど時間が進むことを表している。ＣＮＮ特徴量１５０２のように、複数のタイミングでＣＮＮ特徴量が抽出されているとする。範囲１５０３は複数のＣＮＮ特徴量をまとめあげる範囲を示しており、動作１５０４は代表点を生成する動作を表している。すなわち、複数のＣＮＮ特徴量を認識対象データとして、代表点を生成する例を示す。また、さらにその上段でＣＮＮ特徴量をまとめあげて、認識対象データとして、代表点が生成されている。このようにして、多段階に代表点を生成することができる。図１５では、上段と下段とで系列１、系列２の１対１マッチングの例を示しており、例えば上段の系列１における動作１５０４と下段の系列２における動作１５０５とは対応している。第４の実施形態では、このように対応する場所のそれぞれで、代表点および認識対象データを比較することを考えることができる。比較する方法は、前述の他の実施形態に記載のどのような方法を用いてもよい。また、図１５に示した系列は時間的に持続しうるので、ＣＮＮ特徴量をまとめあげる範囲を、例えば右に１つ移動することで、また新たに１対１のマッチングを行うことが可能である。このように学習した結果と、前述の他の実施形態で示した方法とを用いて、例えば行動認識や、類似行動検索、異常行動などの検出処理に用いることができるようになる。
【０１６０】
以上述べたように、第４の実施形態によれば、階層的・多段階に系列を考慮して学習された代表点生成器では、系列データに対する認識性能を向上することができる。
【０１６１】
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１６２】
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１６３】
１０：学習装置、１１：選択部、１２：学習部、２０：認識装置、２１：入力部、２２：認識部、３０：判定装置、３１：異常判定部３１、４０：端末装置、４１：表示部
【図１】
2020119154.tif 000013
【図２】
2020119154.tif 000014
【図３】
2020119154.tif 000015
【図４】
2020119154.tif 000016
【図５】
2020119154.tif 000017
【図６】
2020119154.tif 000018
【図７】
2020119154.tif 000019
【図８】
2020119154.tif 000020
【図９】
2020119154.tif 000021
【図１０】
2020119154.tif 000022
【図１１】
2020119154.tif 000023
【図１２】
2020119154.tif 000024
【図１３】
2020119154.tif 000025
【図１４】
2020119154.tif 000026
【図１５】
2020119154.tif 000027