(57)【要約】【課題】入力データからカテゴリ判定対象を検出し、この判定対象に関するカテゴリ判定を行う構成において、カテゴリ判定の精度を向上させる。【解決手段】データを取得する。データから判定対象を検出する。検出された判定対象の情報と、検出処理時に生成された判定対象の情報とは異なる中間データとを用いて、判定対象に関するカテゴリ判定を行う判定器の学習を行う。【選択図】図６
2020123244.tif 000002
【特許請求の範囲】
【請求項１】
データを取得する取得手段と、
前記データから判定対象を検出する検出手段と、
前記検出手段により検出された前記判定対象の情報と、前記検出手段による検出処理時に生成された前記判定対象の情報とは異なる中間データとを用いて、前記判定対象に関するカテゴリ判定を行う判定器の学習を行う学習手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記学習手段は、前記中間データに含まれる複数の特徴量から、前記判定器の学習に用いる特徴量を選択し、前記選択された特徴量を示す情報を、学習により得られた前記判定器に関連付けて保持部に保持することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記学習手段は、前記中間データに含まれる複数の特徴量から選択された特徴量を用いた学習により判定器を生成し、異なる特徴量を用いて生成された異なる判定器を用いたカテゴリ判定のそれぞれの評価に基づいて、前記判定器の学習に用いる特徴量を選択することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記カテゴリ判定の評価は、前記カテゴリ判定の精度と、前記カテゴリ判定の処理コストと、の少なくとも一方に基づいて行われることを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記学習手段は、前記判定器を用いたカテゴリ判定における処理パラメータを複数のパラメータから選択し、選択された処理パラメータを学習により得られた前記判定器に関連付けて保持部に保持することを特徴とする、請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記学習手段は、前記判定器を用いたカテゴリ判定のために用いられる前記判定対象の検出方法を複数の検出方法から選択し、選択された検出方法を示す情報を学習により得られた前記判定器に関連付けて保持部に保持することを特徴とする、請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記学習手段は、前記判定対象の情報と、前記中間データと、を用いて学習用の特徴量を生成し、前記学習用の特徴量を用いて前記判定器の学習を行うことを特徴とする、請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記学習手段は、前記取得手段により取得されたデータの生成状況を示す情報をさらに用いて、前記学習用の特徴量を生成することを特徴とする、請求項７に記載の情報処理装置。
【請求項９】
前記取得手段は、複数のデータを含むシーケンスデータを取得し、
前記情報処理装置は、予め得られている、前記判定対象に関するカテゴリ判定を行う判定器と、前記検出手段により前記データから検出された前記判定対象の情報と、前記検出手段による検出処理時に生成された前記判定対象の情報とは異なる中間データとを用いて、前記データから検出された判定対象に関するカテゴリ判定を行う判定手段をさらに備え、
前記学習手段は、
前記判定手段が前記複数のデータのそれぞれに対して順次処理を行っている間に、前記データから判定対象を検出してカテゴリ判定を行う処理において得られた情報の変化を検出し、
前記変化が検出されたデータについての前記判定対象の情報又は前記カテゴリ判定の結果に対するユーザからのフィードバックを取得し、
前記変化が検出されたデータ及び前記フィードバックを用いて、前記判定器の学習を再度行うことを特徴とする、請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
データを取得する取得手段と、
前記データから判定対象を検出する検出手段と
前記検出手段により検出された前記判定対象の情報と、前記検出手段による検出処理時に生成された前記判定対象の情報とは異なる中間データと、前記判定対象に関するカテゴリ判定を行う判定器と、を用いて前記判定対象に関するカテゴリ判定を行う判定手段と、
を備えることを特徴とする情報処理装置。
【請求項１１】
前記判定器は、請求項１から９のいずれか１項に記載の情報処理装置による学習により得られていることを特徴とする、請求項１０に記載の情報処理装置。
【請求項１２】
前記検出手段により検出された前記判定対象の情報と、前記検出手段による検出処理時に生成された前記判定対象の情報とは異なる中間データとを用いて、前記判定対象に関するカテゴリ判定を行う前記判定器の学習を行う学習手段をさらに備えることを特徴とする、請求項１０に記載の情報処理装置。
【請求項１３】
前記判定対象に関するカテゴリ判定では、前記判定対象が異常であるか否かが判定されることを特徴とする、請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記データは、センサにより得られたデータであることを特徴とする、請求項１から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記判定対象の情報は、前記判定対象の位置又は大きさを示す情報であることを特徴とする、請求項１から１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記検出手段は、ニューラルネットワークを用いて前記判定対象を検出し、
前記中間データは、前記ニューラルネットワークの中間層からの出力を含むことを特徴とする、請求項１から１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記検出手段は、前記データから前記判定対象を構成する部位を検出し、前記部位の検出結果に基づいて前記判定対象を検出し、
前記中間データは、前記部位の検出結果を含むことを特徴とする、請求項１から１５のいずれか１項に記載の情報処理装置。
【請求項１８】
情報処理装置が行う情報処理方法であって、
データを取得する取得工程と、
前記データから判定対象を検出する検出工程と、
前記検出工程で検出された前記判定対象の情報と、前記検出工程における検出処理時に生成された前記判定対象の情報とは異なる中間データとを用いて、前記判定対象に関するカテゴリ判定を行う判定器の学習を行う学習工程と、
を有することを特徴とする情報処理方法。
【請求項１９】
情報処理装置が行う情報処理方法であって、
データを取得する取得工程と、
前記データから判定対象を検出する検出工程と
前記検出工程で検出された前記判定対象の情報と、前記検出工程における検出処理時に生成された前記判定対象の情報とは異なる中間データと、前記判定対象に関するカテゴリ判定を行う判定器と、を用いて前記判定対象に関するカテゴリ判定を行う判定工程と、
を有することを特徴とする情報処理方法。
【請求項２０】
コンピュータを、請求項１乃至１７の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理方法、及びプログラムに関し、例えば、データに含まれる判定対象に対するカテゴリ判定処理に関する。
【背景技術】
【０００２】
センサを用いて得られたデータに対する自動認識を行い、認識結果に応じて通報を行うサービスがある。具体例としては、監視カメラが取得した画像又は映像データから、人又は群衆の活動パターンを分析し、特定の事象を検出して通報する技術がある。このようなサービスを実現するために、物体のカテゴリ（例えば、人体、車、かばん、かごなど）又は行動のカテゴリ（例えば、歩いているか走っているか）のように、カテゴリ（種類）の認識技術が開発されている。こういったサービスは、介護施設、一般家庭、公共施設、又は店舗などの様々な環境において活用可能である。
【０００３】
例えば特許文献１は、カメラにより得られた画像中で、人体が転倒しているか否かを判定する技術を開示している。特許文献１は、頭部の大きさに基づく転倒検知の結果と、胴体などの本体部位の形状及び位置に基づく転倒検知の結果と、を重みづけ加算して得られた結果に基づいて、転倒検知を行うことを提案している。また、特許文献２は、拘束された被害者を検知する技術を開示している。特許文献２では、人物の姿勢変動の判定結果と、拘束具の検出結果とに基づいて、拘束された被害者を検出することを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０９１５５２号公報
【特許文献２】特開２０１１−２２７６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動認識の精度をさらに向上させるためにはカテゴリ判定の精度を向上させることが重要であり、さらなる改善が求められている。
【０００６】
本発明は、入力データからカテゴリ判定対象を検出し、この判定対象に関するカテゴリ判定を行う構成において、カテゴリ判定の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。すなわち、
データを取得する取得手段と、
前記データから判定対象を検出する検出手段と、
前記検出手段により検出された前記判定対象の情報と、前記検出手段による検出処理時に生成された前記判定対象の情報とは異なる中間データとを用いて、前記判定対象に関するカテゴリ判定を行う判定器の学習を行う学習手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
入力データからカテゴリ判定対象を検出し、この判定対象に関するカテゴリ判定を行う構成において、カテゴリ判定の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るシステム構成の一例を示す図。
【図２】一実施形態に係る情報処理装置のハードウェア構成例を示す図。
【図３Ａ】カテゴリ判定を行う情報処理装置の機能構成例を示す図。
【図３Ｂ】カテゴリ判定を行う情報処理装置の機能構成例を示す図。
【図３Ｃ】カテゴリ判定を行う情報処理装置の機能構成例を示す図。
【図３Ｄ】カテゴリ判定を行う情報処理装置の機能構成例を示す図。
【図４】カテゴリ判定を行う情報処理方法の一例を示すフローチャート。
【図５】カテゴリ判定の処理の一例を説明する図。
【図６】一実施形態におけるカテゴリ判定処理の処理例を示す図。
【図７】判定対象を検出するニューラルネットワークの一例を示す図。
【図８】一実施形態における検出結果の変換処理の例を説明する図。
【図９Ａ】判定器の学習を行う情報処理装置の機能構成例を示す図。
【図９Ｂ】判定器の学習を行う情報処理装置の機能構成例を示す図。
【図９Ｃ】判定器の学習を行う情報処理装置の機能構成例を示す図。
【図９Ｄ】判定器の学習を行う情報処理装置の機能構成例を示す図。
【図１０】判定器の学習を行う情報処理方法の一例を示すフローチャート。
【図１１】一実施形態におけるカテゴリ判定処理の処理例を示す図。
【図１２】一実施形態における判定対象の検出方法を説明する図。
【図１３】一実施形態におけるカテゴリ判定処理の処理例を示す図。
【図１４】一実施形態における特徴量生成処理の処理例を示す図。
【図１５】一実施形態におけるパラメータ設定の例について説明する図。
【図１６】一実施形態におけるパラメータ設定の例について説明する図。
【図１７】一実施形態におけるユーザインターフェースの例を示す図。
【図１８】フィードバックを取得する処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１１】
［実施形態１］
実施形態１に係る情報処理装置は、データから判定対象を検出して、さらに検出された判定対象に関するカテゴリ判定を行う。データの種類は特に限定されず、例えば画像、映像、又は音声データなどであってもよい。また、データは、例えば画像センサ又は音センサのようなセンサにより得られるデータであってもよい。一実施形態において、データは所定の軸に沿って並ぶシーケンスデータであり、例えばＸ軸及びＹ軸に沿う色情報を示す画像データ、Ｘ軸及びＹ軸及び時間軸に沿う色情報を示す映像データ、又は時間軸に沿う音情報を示す音声データなどであってもよい。
【００１２】
判定対象も特に限定されず、例えばオブジェクト、領域、区間、又は点などであってもよい。例えば、画像又は映像から判定対象が検出される場合、判定対象は人体、顔、又は物体のような所定のオブジェクトであってもよい。また、音声から判定対象が検出される場合、判定対象は無音区間又は音声の変化点（フレーム）などであってもよい。さらに、判定対象が複数の要素で構成されていてもよい。例えば、判定対象が複数の人物又は複数の物体であってもよい。一実施形態において、データからは、１以上の所定の軸に沿って拡がる区間又は領域が、判定対象として検出される。また、判定対象はデータ全体の種別又は属性であってもよい。例えば、判定対象は、画像データ又は音声データによって表されるイベント又はシーンであってもよい。
【００１３】
判定されるカテゴリについても特に限定されない。例えば、判定対象の種別又は属性を、判定対象に関するカテゴリとして判定することができる。具体例としては、判定対象が異常であるか否かを判定することができる。また、判定対象が人体又は顔である場合、判定対象が男性であるか女性であるかを判定してもよいし、類似人物検索を行うことにより、判定対象に対応する人物を判定してもよい。さらに、判定対象が無音区間又は音声の変化点である場合、この無音区間又は音声の変化点が異常を示すものであるかどうかを判定してもよい。また、別の実施形態において、判定されるカテゴリは、複数の判定対象に関するカテゴリであってもよい。一例を挙げると、画像中から判定対象として検出された複数の人体に基づいて、複数の人体の位置に関する異常検知、言い換えれば画像により表されるシーンにおける異常検知を行うことができる。このように、一実施形態においては、複数の判定対象に基づいて判定されるデータ全体のカテゴリ（例えば種別又は属性）を判定することができる。具体例としては、画像データ又は音声データによって表されるシーンの属性（例えばシーンが異常か否か）又は種別（例えばシーンにおいて行われているイベントの種類）などを、判定対象に関するカテゴリとして判定することができる。
【００１４】
一般に、判定対象に関するカテゴリ判定を行う際には、判定対象についての特徴が用いられる。例えば、判定対象の特徴量を抽出し、抽出された特徴量を判定器に入力することにより、カテゴリ判定結果を得ることができる。一般的には、判定対象の特徴量としては、データから判定対象を検出する処理の結果、例えば、画像中の判定対象の位置及び大きさなどが用いられる。一方、カテゴリ判定に用いられる、判定対象についての特徴の選択は、カテゴリ判定の精度に影響を与える。そこで本実施形態においては、判定対象を検出する処理の結果である検出情報に加えて、検出処理時に生成された、検出情報とは異なる中間データ（以下、中間生成特徴と呼ぶ）を用いて、判定対象のカテゴリ判定が行われる。このように中間生成特徴を用いることにより、カテゴリ判定の精度を向上させることができる。また、以下では、カテゴリ判定に用いられる中間生成特徴の選択方法についても説明する。
【００１５】
以下の実施形態においては、入力された画像データ（以下、単に入力データと呼ぶ）から、カテゴリ判定対象（以下、単に判定対象と呼ぶ）である人物を検出し、検出された人物が異常であるか否かをカテゴリとして判定する例について説明する。上述の通り本実施形態においては、入力データから判定対象を検出する処理が行われ、この処理の結果、検出情報が得られる。ここで、検出情報は、検出処理の結果である判定対象の情報であり、例えば、判定対象の位置、大きさ、又は種別などを表す情報でありうる。入力データから判定対象を検出する処理は、このような検出情報を結果として出力するように設計されている。例えば、このような検出情報を教師データとして用いた学習により得られた判定器を用いて、このような判定対象を検出する処理を行うことができる。判定対象が、１以上の所定の軸に沿って拡がる区間又は領域（例えば画像領域又は音声区間）である一実施形態において、検出情報は、データ内における判定対象の分布を示す情報であってもよく、例えば判定対象の位置又は大きさを示す情報であってもよい。
【００１６】
なお、一実施形態において、判定対象に関するカテゴリ判定を行う際には、検出情報及び中間生成特徴に加えて、判定対象を示す入力データの一部（例えば判定対象の部分画像）が用いられてもよい。このように、中間生成特徴は、検出情報、及び判定対象を示す入力データの一部とは異なる情報である。
【００１７】
また、本実施形態においては、このような判定器の学習も、検出情報と中間生成特徴とに基づいて行われる。判定対象を検出する検出器は、様々な応用例において共通に使える可能性が高い一方で、カテゴリ判定を行う判定器は、応用例に合わせて調整することで判定精度を向上できるかもしれない。例えば、人物検出結果に基づいて異常判定を行う場合、人物が通行可能な通路等の位置に応じて判定結果は変わるかもしれないし、カメラの位置に応じて判定結果は変わるかもしれない。本実施形態においては、検出器の学習を予め行っておき、カテゴリ判定を行う現場において判定器の学習を行ってもよい。さらに、一実施形態においては、判定器の学習時に、カテゴリ判定に用いられる中間生成特徴の選択を行うこともできる。このような構成においては、検出器の学習を予め行っておき、カテゴリ判定を行う現場において、実際の応用例に合わせた中間生成特徴の選択及び判定器の学習を行うことができる。
【００１８】
図１は、本実施形態に係る情報処理装置を備える、判定システムの概略的な構成例を示す図である。図１のシステムにおいては、カメラ１０と、本実施形態に係る情報処理装置及び情報処理方法を実現する一構成例である情報処理装置２０及び情報処理装置５０とが、ネットワーク１５を介して接続されている。情報処理装置２０は、主に入力データに対する検出及び判定を行う役割を持ち、本実施形態においては入力データから人物を検出して異常判定を行う。情報処理装置５０は、情報処理装置２０が判定に用いる判定器の学習を行う役割を持つ。なお、情報処理装置２０、情報処理装置５０、及びカメラ１０が一体的に構成されていてもよい。また、情報処理装置２０と情報処理装置５０とが一体的に構成されていてもよい。例えば、情報処理装置２０は、情報処理装置５０が有するような判定器学習部５０１又は検出器学習部５０３を有していてもよい。
【００１９】
カメラ１０は、入力データを取得するセンサの一例である。本実施形態においてカメラ１０は、情報処理装置２０による検出及び判定処理の対象となる入力データである、画像を撮像する。また、カメラ１０は、場合によっては、情報処理装置５０が用いる学習データに含まれる、学習用の入力データを取得してもよい。この場合、情報処理装置５０は、学習データに含まれる、入力データに対応する教師データを、別途ユーザから取得してもよい。
【００２０】
図１は、判定対象である人物３１，３２，３３，３４が歩いているシーン（撮像状況）３０を、カメラ１０が撮像する例を示している。情報処理装置２０は、カメラ１０で撮像されたシーン３０における判定対象（人物）を検出して、検出された判定対象に対する正常／異常判定を行う。本実施形態では、対象情報と中間生成特徴と判定器とを用いてカテゴリ判定が行われる。以下では、対象情報及び中間生成特徴から、異常判定に用いられる特徴量（以下、判定特徴量と呼ぶ）を生成し、判定特徴量と判定器とを用いて判定対象のカテゴリ判定を行う場合について説明する。とりわけ、以下の処理においては、検出対象の検出処理時に得られた中間データ、及び検出処理の結果として得られた対象情報から、特徴データが選択され、選択された特徴データに対する変換処理が行われる。そして、変換後の特徴データを用いて、判定特徴量が生成される。
【００２１】
図２は、情報処理装置２０及び情報処理装置５０のハードウェア構成の一例を示す図である。情報処理装置２０及び情報処理装置５０は、ＣＰＵ４０１のようなプロセッサと、ＲＡＭ４０２、ＲＯＭ４０３、及びＨＤ４０４のようなメモリとを備える。ＣＰＵ４０１は、情報処理装置２０又は情報処理装置５０全体を制御する。ＲＡＭ４０２は、ＣＰＵ４０１が実行するプログラムが展開され、及びＣＰＵ４０１のワークエリアとして機能する、記憶領域である。ＲＯＭ４０３は、ＣＰＵ４０１が実行するプログラムなどを格納する記憶領域である。ＨＤ４０４は、ＣＰＵ４０１が処理を実行する際に用いる、各種のプログラム又は閾値に関するデータ等を含む各種のデータを格納する記憶領域である。ＣＰＵ４０１が、ＲＯＭ４０３又はＨＤ４０４などに格納されたプログラムを実行することにより、後述する情報処理装置２０又は情報処理装置５０の機能構成及び、情報処理装置２０又は情報処理装置５０が行う処理が実現される。
【００２２】
操作部４０５は、ユーザによる入力操作を受け付ける。表示部４０６は、情報処理装置２０又は情報処理装置５０が生成した情報を表示する。ネットワークＩ／Ｆ４０７は、情報処理装置２０又は情報処理装置５０と、外部の機器とを接続する。
【００２３】
まず、入力データ内の判定対象を検出し、判定対象に対する判定処理を行う処理を説明する。図３Ａには本実施形態における情報処理装置２０のＣＰＵ４０１が実行する処理が、それぞれ機能ブロックとして示されている。なお、図３Ａには、情報処理装置２０が有する機能ブロックの他に、カメラ１０に相当する撮像部２００も示されている。撮像部２００は、シーン３０を撮像して入力データを取得する。
【００２４】
本実施形態に係る情報処理装置２０は、入力部２０１、対象検出部２０２、特徴量取得部２０３、判定部２０４、出力部２０５、検出器保持部２０６、及び判定器保持部２０７を有している。なお、検出器保持部２０６及び判定器保持部２０７は、例えばＨＤ４０４であってもよいし、情報処理装置２０と接続された不揮発性の記憶装置であってもよい。情報処理装置２０が有するこれらの各機能の詳細については、図４等を参照しながら後述する。
【００２５】
図４は、本実施形態に係る、カテゴリ判定を行う情報処理方法の概要を示すフローチャートである。まず、図４を参照して、本実施形態における情報処理装置２０の各機能ブロックが行う処理の概略を説明する。データ入力工程であるステップＳ１１０において、入力部２０１は入力データを取得する。本実施形態において入力部２０１は、撮像部２００によって撮像された画像である入力データを受信する。そして入力部２０１は、取得した入力データを対象検出部２０２に送信する。
【００２６】
次に、対象検出工程であるステップＳ１２０において、対象検出部２０２は入力部２０１から送信された入力データから判定対象を検出する。本実施形態において対象検出部２０２は、検出器保持部２０６に保持されている検出器を用いて、画像中から異常判定を行う対象である判定対象を検出する。そして、対象検出部２０２は、検出した判定対象についての情報である検出情報と、検出処理時に得られた、検出情報とは異なる中間データである中間生成特徴と、を特徴量取得部２０３に送信する。入力データから複数の判定対象が検出された場合、対象検出部２０２は、複数の判定対象についての検出情報及び中間生成特徴を送信することができる。
【００２７】
次に、特徴量取得工程であるステップＳ１３０において、特徴量取得部２０３は、対象検出部２０２から取得した検出情報及び中間生成特徴に基づいて、判定対象の特徴量（判定特徴量）を生成する。この判定特徴量を用いて、各判定対象についての異常判定が行われる。そして、特徴量取得部２０３は、取得した判定特徴量を判定部２０４に送信する。
【００２８】
次に、カテゴリ判定工程であるステップＳ１４０において、判定部２０４は、判定特徴量と、判定対象に関するカテゴリ判定を行う判定器とを用いて、判定対象に関するカテゴリ判定を行う。ここで、判定部２０４は、カテゴリ判定の結果として、判定対象のカテゴリを示す情報を生成してもよいし、判定対象が所定のカテゴリに含まれるか否かを示す情報を生成してもよい。また、判定部２０４は、カテゴリ判定の結果として、判定対象が１又は複数のカテゴリのそれぞれに対応する可能性を、カテゴリごとに示すスコアを生成してもよい。判定部２０４は、このような各判定対象についてのカテゴリを表す情報を、判定結果として出力部２０５に送信することができる。
【００２９】
本実施形態において判定部２０４は、判定器保持部２０７に保持されている異常判定を行う判定器と、特徴量取得部２０３が取得した判定特徴量と、を用いて対象検出部２０２が検出した各判定対象についての異常判定を行う。そして、判定部２０４は、各判定対象についての異常判定の結果、例えば判定対象が「異常」カテゴリに含まれる可能性を示す異常スコアを、出力部２０５に送信する。
【００３０】
次に、アラート出力工程であるステップＳ１５０において、出力部２０５は、ステップＳ１４０において得られた各判定対象のカテゴリを示す情報に応じて、情報出力を行う。例えば、出力部２０５は、異常判定の結果に応じてアラートを出力することができる。なお、出力部２０５が、判定対象が１又は複数のカテゴリのそれぞれに対応する可能性を、カテゴリごとに示すスコアを取得した場合、出力部はこのスコアに基づいて判定対象のカテゴリを判定し、判定されたカテゴリを示す情報を出力してもよい。
【００３１】
以下では、各ステップＳ１１０〜Ｓ１５０における具体的な処理例を、処理結果の一例を示す図５を参照して、より詳細に説明する。ステップＳ１１０において入力部２０１は、図１に示すようなシーン３０を撮像部２００が撮像することにより得られた画像を、入力データである対象画像１００として取得することができる。なお、入力データは、外部装置（不図示）に格納されている画像などのデータであってもよい。この場合、入力部２０１は、外部装置から読み出された画像などのデータを、入力データとして取得することができる。外部装置に格納されている画像は、例えば撮像部２００などにより予め撮像された画像であってもよいし、ネットワークを経由するなどの他の方法で取得された画像であってもよい。対象画像１００は対象検出部２０２に送信される。
【００３２】
ステップＳ１２０において対象検出部２０２は、入力部２０１から送信された対象画像１００内から、検出器保持部２０６に保持されている検出器を用いて、異常判定の対象となる判定対象を検出する。検出器は、情報処理装置５０又はその他の装置を用いて、あらかじめ学習されている。検出器及びその学習方法は、判定対象の種類に応じて選択することができる。例えば、判定対象が人体である場合には人体検出器を用いることができ、このような人体検出器の例は例えば非特許文献１及び非特許文献２に開示されている。なお、検出器の具体的な学習方法の例に関しては後述する。
【００３３】
非特許文献１("You Only Look Once: Unified, Real-Time Object Detection", International Conference on Computer Vision and Pattern Recognition 2016.)には、ＤＮＮを用いて判定対象を検出する方法が開示されている。非特許文献１の方法によれば、ＤＮＮに入力データを入力することにより、判定対象を囲むバウンディングボックスの位置及び大きさなどが得られる。とりわけ、非特許文献１の方法では、判定対象を検出するために用いる特徴量を抽出する処理と、判定対象を識別する処理と、が一度に行われる。
【００３４】
また、非特許文献２("Histograms of Oriented Gradients for Human Detection", Navneet Dalal and Bill Triggs, International Conference on Computer Vision and Pattern Recognition 2005.)には、Support-Vector-Machine（ＳＶＭ）を用いて判定対象を検出する方法が開示されている。非特許文献２の方法によれば、局所領域について画像特徴量としてHistogram-of-Gradients（ＨＯＧ）特徴量が取得され、このＨＯＧ特徴量を識別器であるＳＶＭに入力することで、局所領域が判定対象の領域であるかどうかが識別される。このような処理を繰り返すことにより、判定対象の検出が行われる。
【００３５】
本実施形態において対象検出部２０２は、人体検出器を用いることで得られた、検出スコア（正しく判定対象が検出された可能性）が所定の閾値以上である検出結果を、判定対象の検出結果として得ることができる。図５（Ｂ）は、図５（Ａ）に示す入力データに対する人体検出により得られた結果の例を示す。図５（Ｂ）には、人体検出結果として判定対象１０１，１０２，１０３，１０４が矩形で示されている。本実施形態において対象検出部２０２は、各判定対象についての位置及び大きさを示す情報を、対象情報として特徴量取得部２０３に送信する。対象検出部２０２は、さらに、各判定対象についての検出スコアを対象情報として特徴量取得部２０３に送信してもよく、また、各判定対象についてのカテゴリ推定結果を対象情報として特徴量取得部２０３に送信してもよい。もっとも、情報処理装置２０によるカテゴリ判定結果は、判定部２０４により生成される。なお、対象検出部２０２は、中間生成特徴と同様に、検出処理の結果として得られた判定対象の情報のうち一部を選択し、対象情報として特徴量取得部２０３に送信してもよい。
【００３６】
対象検出部２０２は、検出処理時に生成された中間生成特徴を、さらに特徴量取得部２０３に送信する。ここで、対象検出部２０２は、検出処理時に生成されたデータのうち一部を、中間生成特徴として選択することができる。例えば、ニューラルネットワークを用いて判定対象を検出する場合、中間生成特徴は、ニューラルネットワークの中間層からの出力を含んでいてもよい。例えば、中間生成特徴は、ニューラルネットワークの各層の出力結果のうち、予め選択された１以上の層からの出力結果であってもよい。また、中間生成特徴が、予め選択された１以上の層からの出力結果のうち、予め選択された部分における出力結果、例えば予め選択された出力チャンネル（次元）における出力結果又は予め選択された領域における出力結果であってもよい。中間生成特徴が２以上の層からの出力結果である場合、対象検出部２０２は、それぞれの層からの出力結果を結合して得られたデータを中間生成特徴として対象検出部２０２に送ってもよい。また、対象検出部２０２は、それぞれの層からの出力結果を用いた処理により得られたデータを中間生成特徴として対象検出部２０２に送ってもよい。また、ＨＯＧ特徴量のような特徴量をＳＶＭのような識別器に入力することで判定対象を検出する場合、中間生成特徴は、識別器に入力される特徴量であってもよいし、識別器に入力される複数の特徴量から予め選択された特徴量であってもよい。さらに、中間生成特徴は、特徴量のうち予め選択された次元のデータであってもよい。
【００３７】
以下では、ＤＮＮを用いる例における、対象情報及び中間生成特徴を生成するための具体的な処理例について説明する。図６は、情報処理装置２０に対象画像１００が入力されてから、情報処理装置２０から異常スコアＳが出力されるまでの処理における、各処理部間の入力／出力関係の例を表す。
【００３８】
対象検出部２０２は、対象画像１００をＤＮＮに入力し、判定対象の検出結果ｙとしてＤＮＮからの出力結果を取得する。そして、対象検出部２０２は、この検出結果ｙを対象情報として特徴量取得部２０３に送信する。ここで、対象画像１００をｘと表し、対象検出部２０２がＤＮＮを用いて行う処理をｆ１と表すと、検出結果ｙは式（１）により表すことができる。
ｙ＝ｆ１（ｘ）  ……（１）
【００３９】
また、対象検出部２０２は、このような検出処理時に生成された中間生成特徴ｚ１も、特徴量取得部２０３に送信する。図６の例において、中間生成特徴ｚ１は、検出結果ｙを出力するＤＮＮを構成する各層のうち、予め選択された２つの層の出力の一部である。すなわち、図６の例では、選択された２つの層の出力のうち６０１０で示される部分の組み合わせが、中間生成特徴ｚ１として用いられている。
【００４０】
図７は、対象検出部２０２が使用可能なＤＮＮの一例を示す。図７の例においては、サイズが４４８×４４８であり、チャンネル数が３である対象画像１００がＤＮＮに入力され、７×７×１２の出力結果が得られている。図７に示すＤＮＮを用いた処理には、処理１１０１〜１１０８が含まれる。処理１１０１〜１１０５であるＣｏｎｖ＋Ｐｏｏｌ処理では、畳みこみ（ｃｏｎｖｏｌｕｔｉｏｎ）と、ｒｅｌｕ及びｍａｘｐｏｏｌｉｎｇと呼ばれる非線形処理と、が順に行われる。ｒｅｌｕは非線形処理の一つであり、式（２）のように、畳みこみ処理の結果のうち、負の値を０にする処理である。ｒｅｌｕの代わりに、シグモイド関数を用いる処理のようなその他の非線形処理を用いてもよい。
ｘ＝ｍａｘ（０，ｘ）  ……（２）
【００４１】
また、ｍａｘｐｏｏｌｉｎｇとは、所定範囲内における最大値を出力する処理である。ｒｅｌｕ及びｍａｘｐｏｏｌｉｎｇはニューラルネットワークで用いられる代表的な非線形処理であり、非特許文献１、及び非特許文献３，４（後述）でも用いられている。
【００４２】
処理１１０６は、畳みこみ及びｒｅｌｕを行う処理である。処理１１０７，１１０８は、層１１１８，１１１９の全てのノードが、次の層の全てのノードにつながっていること、すなわち層１１１８，１１１９が全結合層（ｆｕｌｌｃｏｎｅｃｔ）であることを表している。
【００４３】
出力結果における７×７はブロック数を表す。すなわち、図７で得られた出力結果は、７×７に分割された対象画像１００の分割画像のそれぞれについての対象検出結果を示す。このように、図７に示す処理は、対象画像１００を７×７ブロックに分割し、ブロックごとに対象検出を行うことに相当する。１２は、検出結果の次元を表す。図７の例における検出結果の内訳は、２（バウンディングボックスの数）×（４（検出されたバウンディングボックスの位置及び大きさ）＋１（検出スコア））＋２（クラス尤度）である。バウンディングボックスとは、検出された判定対象を囲う外接矩形である。バウンディングボックスの位置及び大きさは、例えば、左上頂点の座標（Ｘ，Ｙ）、幅（Ｗ）、及び高さ（Ｈ）からなる４次元の情報により表すことができる。また、検出スコア（Ｐｒ）は、得られたバウンディングボックスの位置及び大きさの精度を示す情報であり、例えばバウンディングボックスとＧＴ（教師値）との重なり率でありうる。図７の例では、１つのブロックから２つのバウンディングボックスが検出され、すなわちそれぞれのバウンディングボックスについて、位置及び大きさを示す情報と、検出スコアと、が出力される。クラス尤度は、そのブロックに各クラスに属する対象が存在する確率を示している。例えば、１つの次元が、ブロックが正常である確率を示し、もう１つの次元が、ブロックが異常である確率を示してもよい。
【００４４】
このような図７の例においては、検出スコアが所定の閾値以上であるバウンディングボックスについての情報（位置及び大きさ）を、検出結果ｙとして用いることができる。また、中間生成特徴は、図７に示される中間層１１１３〜１１１９のうち、予め選択された層の出力結果であってもよいし、予め選択された出力チャンネルにおける出力結果であってもよい。ここで対象検出部２０２は、検出結果であるバウンディングボックスの位置又はサイズに応じて、中間層の出力結果のうち一部を抽出してもよい。例えば、対象検出部２０２は、中間層１１１４の出力結果１１２０のうち、検出スコアが所定の閾値以上であるバウンディングボックスに対応する領域１１２１を、中間生成特徴として特徴量取得部２０３に送ってもよい。別の例において、特徴量取得部２０３は、検出結果ｙ及び出力結果１１２０を受け取り、検出結果ｙに基づいて領域１１２１を抽出してもよい。
【００４５】
なお、対象検出部２０２は、複数の判定対象が検出された場合、それぞれの判定対象についての対象情報を特徴量取得部２０３に送信することができる。例えば、対象検出部２０２は、検出スコアが所定の閾値以上である２以上のバウンディングボックスについての情報を、検出結果ｙとして用いることができる。また、対象検出部２０２は、それぞれの判定対象について共通の中間生成特徴を特徴量取得部２０３に送信してもよいし、それぞれの判定対象について異なる中間生成特徴を特徴量取得部２０３に送信してもよい。例えば、対象検出部２０２は、それぞれのバウンディングボックスについての検出結果ｙと、それぞれの検出結果ｙに対応する中間生成特徴（中間層の出力結果のうちバウンディングボックスに対応する領域）と、を特徴量取得部２０３に送信してもよい。以下では、１つの判定対象のみが検出された場合について主に説明する。
【００４６】
ステップＳ１３０において特徴量取得部２０３は、ステップＳ１２０で送信された対象情報及び中間生成特徴に基づいて、判定特徴量を生成する。特徴量取得部２０３は、対象情報と中間生成特徴の少なくとも一方に対して変換処理を行い、変換後の特徴量に基づいて判定特徴量を生成してもよい。なお、ステップＳ１３０における処理で用いられる検出結果ｙの形式は特に限定されない。例えば、処理ｆ２で用いられる検出結果ｙは、例えば、判定対象の検出結果であるバウンディングボックスの座標及びサイズを要素として有するベクトルであってもよい。また、検出結果ｙは、対象画像１００と同じサイズの２次元マップであって、判定対象が存在する位置の要素値が１、その他の要素値が０である、２次元ベクトルであってもよい。対象検出部２０２はこのような形式の検出結果ｙを特徴量取得部２０３に送信してもよいし、特徴量取得部２０３は検出結果ｙをこのような形式に変換してもよい。
【００４７】
特徴量取得部２０３は、検出結果ｙと中間生成特徴ｚ１とに基づいて、検出結果ｙに対応する判定特徴量ｚ２を取得する。一実施形態において、判定特徴量ｚ２は、検出結果ｙ又はその変換結果である特徴量ｙ’と、中間生成特徴ｚ１又はその変換結果と、の線形結合である。例えば、特徴量取得部２０３が有する特徴抽出部６００２は、処理ｆ３を用い、式（３）に従って判定特徴量ｚ２を得ることができる。
ｚ２＝ｆ３（ｙ’＋ｚ１）  ……（３）
別の例として、判定特徴量ｚ２は、検出結果ｙ又はその変換結果である特徴量ｙ’と、中間生成特徴ｚ１又はその変換結果と、を連結した結果であってもよい。
【００４８】
また、特徴量取得部２０３が有する変換部ｆ２は、処理ｆ２を用い、式（４）に従って検出結果ｙから特徴量ｙ’を得ることができる。この実施形態において、特徴量ｙ’の次元と中間生成特徴ｚ１の次元とは一致し、処理ｆ２はこのような特徴量ｙ’が得られるように設計されている。
ｙ’＝ｆ２（ｙ）  ……（４）
【００４９】
検出結果ｙの次元は、中間生成特徴ｚ１の次元と一致しないかもしれず、例えば検出結果ｙは中間生成特徴ｚ１に比べて低次元であるかもしれない。この場合、検出結果ｙと中間生成特徴ｚ１とを用いて判定を行い、又は判定器の学習を行うと、検出結果ｙが判定結果に反映されにくくなる可能性がある。また、検出結果ｙは、距離計算が可能な形式ではないかもしれず、学習時における誤差評価が容易ではないかもしれない。そこで、本実施形態において特徴量取得部２０３は、変換のための処理ｆ２を用いて検出結果ｙを特徴量ｙ’へと変換する。
【００５０】
変換のための処理ｆ２は特に限定されない。また、処理ｆ２は、学習によって決定されてもよい。一例として、処理ｆ２は、ニューラルネットワークを用いて、検出結果ｙを高次元空間にマッピングする処理であってもよい。例えば、図８に示すように、検出結果ｙをエンコーダ７１に入力し、エンコーダ７１の出力をデコーダ７２に入力すると、検出結果ｙが復元されるようなモデルを用いることができる。この場合、特徴量取得部２０３は、エンコーダ７１による検出結果ｙの変換結果を、特徴量ｙ’として取得することができる。例えば、非特許文献５("Auto-Encoding Variational Bayes", Diederik P. Kingma, Max Welling, arxiv 2013.)に記載されているようなＶａｒｉａｔｉｏｎａｌ−ＡｕｔｏＥｎｃｏｄｅｒを用いることにより、変換結果である特徴量ｙ’を潜在変数として取得できる。このような処理によって得られたエンコーダ７１による処理を、変換処理ｆ２として設定することができる。
【００５１】
また、処理ｆ２はユーザによって設計されてもよい。例えば検出結果ｙは、バウンディングボックスの座標（Ｘ，Ｙ）、サイズ（Ｗ，Ｈ）、及び検出スコア（Ｐｒ）を含んでいてもよい。特徴量取得部２０３（又は対象検出部２０２）は、必要に応じて検出結果ｙに対する変換処理を行ってもよい。例えば、特徴量取得部２０３は、値域が−１〜１の範囲となるように、式（５）及び（６）に従ってＸ，Ｙの値を対象画像１００のサイズで除算することができる。式（５）及び（６）において、Ｘ’及びＹ’は変換後のバウンディングボックスの座標に関する特徴量である。また、Ｘ０及びＹ０は、対象画像１００中で任意に定められた基準座標である。
Ｘ’＝（Ｘ−Ｘ０）／（対象画像１００のサイズ（幅））  ……（５）
Ｙ’＝（Ｙ−Ｙ０）／（対象画像１００のサイズ（高さ））  ……（６）
【００５２】
また、特徴量取得部２０３は、平均バウンディングボックスサイズを予め取得しておき、この値でバウンディングボックスのサイズを除算してもよい。例えば、変換は式（７）及び（８）に従って行うことができる。ここで、（Ｗ０，Ｈ０）は平均バウンディングボックスサイズであり、（Ｗ’，Ｈ’）は、変換後のバウンディングボックスサイズに関する特徴量である。
Ｗ’＝Ｗ／Ｗ０  ……（７）
Ｈ’＝Ｈ／Ｈ０  ……（８）
【００５３】
このような場合において、処理ｆ２を式（９）で表すことができる。
ｙ’＝｛（Ｘ’，Ｙ’，Ｗ’，Ｈ’），Ｐｒ｝  ……（９）
【００５４】
また、特徴量取得部２０３は、中間生成特徴ｚ１に対しても変換処理を行うことができる。本実施形態においては、特徴量取得部２０３は図７に示す領域１１２１のような、検出結果ｙに対応する中間層の出力結果が、式（３）に入力される中間生成特徴ｚ１として用いられる。
【００５５】
特徴量取得部２０３は、このように取得した判定特徴量ｚ２を判定部２０４に送信する。
【００５６】
ステップＳ１４０で判定部２０４は、ステップＳ１３０において取得された判定特徴量を用いて、判定対象ごとに異常判定を行う。判定器保持部２０７は、学習が予め行われている判定器を保持しており、判定部２０４はこの判定器を用いて異常判定を行うことができる。図６には、異常判定のために正常モデルを利用する例が示されている。例えば、ステップＳ１３０で得られた判定特徴量ｚ２と正常モデルＭ（図６の６００３）を用いることで、判定部２０４は、判定対象の異常の度合いを示す異常スコアＳを取得することができる。判定部２０４は、例えば、判定器を用いた処理ｆ４により、式（１０）に従って異常スコアＳを得ることができる。
Ｓ＝ｆ４（ｚ２，Ｍ）  ……（１０）
【００５７】
一方で別の例において、判定部２０４は正常と異常を識別する識別器を、判定器として利用してもよい。例えば、判定部２０４は、判定特徴量ｚ２を判定器に入力することにより、判定対象ごとに異常判定を行ってもよい。また、判定部２０４が他クラス識別を行う別の実施形態において、判定部２０４は、識別されたカテゴリを示す情報を回帰値として与える回帰器を、判定器として利用してもよい。このような識別器及び回帰器は、例えばＳＶＭを用いて実現することができる。
【００５８】
判定部２０４は、こうして得られた各判定対象に関する異常スコアを、出力部２０５に送信することができる。
【００５９】
ステップＳ１５０において出力部２０５は、ステップＳ１４０において得られた異常スコアに応じてアラートを出力する。例えば、出力部２０５は、対象画像１００に含まれる判定対象の異常が検出された場合、アラートを出力することができる。一例として、出力部２０５は、判定対象の異常スコアが予め設定された閾値以上であれば、この判定対象についてのアラートを出力することができる。また、出力部２０５は、対象画像１００から複数の判定対象が検出された場合、それぞれの判定対象について得られた異常スコアに基づいて、アラートを出力することができる。
【００６０】
一例として、出力部２０５は、複数の判定対象のうち、異常スコアが閾値を超える判定対象を選択し、選択された判定対象を示す情報とともにアラートを出力してもよい。図５（Ｃ）は、ステップＳ１２０で検出された判定対象１０１〜１０４のそれぞれに対する、判定部２０４及び出力部２０５による処理の結果、判定対象１０６の異常スコアのみが閾値を超え、判定対象１０６のみが異常と判定された例を示す。図５（Ｃ）においては、異常と判定された判定対象１０６が、異常度の低い判定対象１０５，１０７，１０８とは区別して、強調表示されている。図５（Ｃ）の例では判定対象１０５，１０７，１０８の領域が点線で表されているが、これらの領域は示されなくてもよい。
【００６１】
別の例として、出力部２０５は、各判定対象の異常スコアの統計値、例えば最大値、平均値、又は中央値などに基づいて、アラートを出力するかどうかを決定することができる。また、複数の対象画像１００がシーケンスとして順次情報処理装置２０に入力される場合、出力部２０５は、異常スコアが閾値を超える期間が一定期間より長い場合にアラートを出力してもよい。
【００６２】
次に、情報処理装置２０が使用する検出器及び判定器の学習を行う情報処理装置５０の構成例及び処理例について説明する。図９Ａには本実施形態における情報処理装置５０のＣＰＵ４０１が実行する処理が、それぞれ機能ブロックとして示されている。学習データ保持部５０２は、例えばＨＤ４０４であってもよいし、情報処理装置５０と接続された不揮発性の記憶装置であってもよい。対象検出部２０２、特徴量取得部２０３、検出器保持部２０６、及び判定器保持部２０７の構成及び処理は、情報処理装置２０と類似しており、以下では異なる点のみを説明する。
【００６３】
図１０（Ａ）は、情報処理装置５０が検出器の学習を行う際に、各機能ブロックで実行される処理の概要を示すフローチャートである。本実施形態においては、図１０（Ａ）に示すフローチャートに従って検出器の学習が行われ、続けて図１０（Ｂ）に示すフローチャートに従って判定器の学習が行われる。なお、検出器は予め学習されていてもよく、この場合、予め用意されている検出器を用いて、判定器の学習を行うことができる。
【００６４】
データ入力工程であるステップＳ３５１において、入力部２０１は、学習データ保持部５０２が保持している学習データを取得し、検出器学習部５０３へと送る。入力部２０１が検出器学習部５０３に送る学習データには、学習用の入力データが含まれる。また、検出器の教師あり学習を行う場合、学習データは、学習用の入力データに示される判定対象の情報である、検出器用の教師データを含むことができる。教師データは、情報処理装置２０の対象検出部２０２による検出処理によって得られる、判定対象の情報と同じ項目についての情報である。例えば、情報処理装置２０の対象検出部２０２が、検出器を用いて判定対象（又はバウンディングボックス）の座標及びサイズを取得する場合、教師データは、学習用の入力データに示される判定対象の座標及びサイズを示す情報である。
【００６５】
検出器学習工程であるステップ３５２において、検出器学習部５０３は、ステップＳ３５１で得られた学習データを用いて、検出器の学習を行う。具体的な検出器の学習方法は特に限定されず、検出器の種類に応じた公知の方法を用いてもよい。例えば、検出器としてＤＮＮを用いる場合、ＤＮＮに学習用の入力データを入力することで得られる出力と、教師データと、の誤差に基づいて、誤差逆伝播法を用いて検出器の学習を行うことができる。また、検出器としてＳＶＭを用いる場合、マージン最大化の手法を用いて検出器の学習を行うことができる。そして、検出器学習部５０３は学習後の検出器を検出器保持部２０６に送信し、検出器保持部２０６は送信された検出器を保持する。
【００６６】
図１０（Ｂ）は、情報処理装置５０が判定器の学習を行う際に、各機能ブロックで実行される処理の概要を示すフローチャートである。本実施形態においては、情報処理装置２０と同様に入力データから判定対象が検出される。そして、判定対象の検出結果である検出情報と中間生成特徴とを用いて、判定対象に関するカテゴリ判定を行う判定器の学習が行われる。以下の例においては、情報処理装置２０と同様に、対象情報及び中間生成特徴から、判定器の学習に用いる特徴量（以下、学習特徴量と呼ぶ）を生成してから、学習特徴量を用いて判定器の学習を行う場合について説明する。とりわけ、以下の処理においては、情報処理装置２０と同様に、検出対象の検出処理時に得られた中間データ、及び検出処理の結果として得られた対象情報から、特徴データが選択され、選択された特徴データに対する変換処理が行われる。そして、変換後の特徴データを用いて、学習特徴量が生成される。
【００６７】
データ入力工程であるステップＳ３６１において、入力部２０１は、学習データ保持部５０２が保持している学習データを取得し、対象検出部２０２へと送る。入力部２０１が対象検出部２０２に送る学習データには、学習用の入力データが含まれる。また、判定器の教師あり学習を行う場合、学習データは、学習用の入力データに示される判定対象に関する判定結果を示す、判定器用の教師データを含むことができる。一方、正常な判定対象を示す、学習用の入力データのみを、学習データとして用いてもよい。また、学習用の入力データが複数の判定対象を示しており、それぞれの判定対象についての判定結果が異なる場合、学習データは、検出器用の教師データのような各判定対象を特定する情報と、各判定対象のカテゴリを示す情報、を含んでいてもよい。
【００６８】
対象検出工程であるステップＳ３６２において、対象検出部２０２は、図１０（Ａ）に従って学習が行われた検出器を用いて、学習用の入力データから判定対象を検出する。そして、対象検出部２０２は、検出により得られた検出情報と、中間生成特徴と、を特徴量取得部２０３に送る。具体的な処理は、情報処理装置２０と同様であってもよい。
【００６９】
特徴量取得工程であるステップＳ３６３において、特徴量取得部２０３は、対象検出部２０２から取得した検出情報及び中間生成特徴を用いて、判定器の学習に用いる学習特徴量を生成する。そして、特徴量取得部２０３は、得られた学習特徴量を判定器学習部５０１に送る。具体的な処理は、情報処理装置２０が判定特徴量を生成する処理と同様であってもよい。
【００７０】
判定器学習工程であるステップＳ３６４において、判定器学習部５０１は、特徴量取得部２０３から取得した学習特徴量を用いて、判定器の学習を行う。そして、判定器学習部５０１は学習により得られた判定器を判定器保持部２０７に送り、判定器保持部２０７はこれを保持する。
【００７１】
学習方法は特に限定されない。判定器の種類に応じて、公知の教師あり学習又は教師なし学習を採用することができる。例えば判定器学習部５０１は、特徴量に対応する教師データを参照して、特徴量に対する判定結果を与える判定器の学習を行うことができる。判定器が正常／異常の２クラスの分類を行う識別器である場合、判定器学習部５０１は、クラス分類誤差Ｅを用いて算出された∂Ｅ／∂ｆ３に基づいて、判定器の学習を行うことができる。
【００７２】
別の方法として、判定器学習部５０１は、学習用の入力データとして正常データを用いた学習により、正常モデルＭを得ることもできる。この場合、判定器学習部５０１は、学習特徴量ｚ２を用いて正常モデルを定義するためのパラメータを推定する。ここで、学習特徴量ｚ２は、判定特徴量と同様に、検出結果ｙを変換して得られた特徴量ｙ’と、中間生成特徴ｚ１と、に基づいて得ることができる。例えば、判定器学習部５０１は、正常モデルを定義するパラメータとして、正常データの特徴量を表現する混合ガウスモデルの各分布の混合比、平均ベクトル、及び共分散行列を取得することができる。
【００７３】
さらに、特徴量取得部２０３が有する変換部６００１及び特徴抽出部６００２もニューラルネットワークで構成されていてもよい。この場合、判定器学習部５０１は、さらに∂Ｅ／∂ｆ２を算出し、誤差逆伝搬法を用いて変換部６００１及び特徴抽出部６００２の学習を併せて行うこともできる。
【００７４】
上記の方法により、情報処理装置５０は判定器の学習を行うことができる。
【００７５】
上記の例において、特徴量取得部２０３は、情報処理装置２０が判定特徴量を生成する際と同様に、検出情報及び中間生成特徴に基づいて学習特徴量を生成した。すなわち、図７の例では、判定特徴量を生成するための中間生成特徴として、中間層１１１３〜１１１９の中から予め選択されていた中間層１１１４の出力が用いられた。このように、判定特徴量を生成するために用いられる中間生成特徴の取得方法は予め設定されていた。この場合、特徴量取得部２０３は同様に、学習特徴量を生成するための中間生成特徴として、予め選択されている中間層１１１４の出力を用いることができる。
【００７６】
一方で判定器学習部５０１が判定器の学習のために用いる中間生成特徴は、複数の特徴量の中から設定可能であってもよい。すなわち、特徴量取得部２０３は、検出処理時に生成された中間データに含まれる複数の特徴量から、判定器の学習に用いる特徴量を選択することができる。例えば、複数の特徴量の中から設定に従って選択された中間生成特徴を用いて、学習特徴量を生成することができる。判定器学習部５０１は、こうして選択された特徴量を示す情報を、学習により得られた判定器に関連付けて判定器保持部２０７に保持させることができる。
【００７７】
以下では、このような変形例について説明する。本変形例において、情報処理装置５０の対象検出部２０２は、情報処理装置２０の対象検出部２０２より多くの特徴量情報を特徴量取得部２０３に送ってもよい。例えば、対象検出部２０２は、ＤＮＮの全ての中間層の出力結果を特徴量取得部２０３に送ることができる。別の例として、対象検出部２０２は、学習に用いないことが予め定められている中間層を除く、各中間層の出力結果を、特徴量取得部２０３に送ることができる。これらの場合、特徴量取得部２０３は、送られてきた中間層の出力結果のうち、一部の中間層の出力結果を、中間生成特徴として用いることができる。
【００７８】
特徴量取得部２０３が、判定器の学習のために用いる特徴量の設定を行う方法について、詳しく説明する。例えば、検出器として多層ニューラルネットワークを用いている場合、特徴量取得部２０３は中間生成特徴を取得する中間層を選択することができる。具体例としては、枝刈り（Ｐｒｕｎｉｎｇ）の手法を用いることができる。枝刈り手法とは、ニューラルネットワークを用いた判定時に判定に寄与しないニューロンを消去することで、ニューラルネットワークを軽量化する手法である。例えば、枝刈りによって検出器として用いるニューラルネットワークのニューロンを順次消去した結果、所定割合以上のニューロンが消去された層は、中間生成特徴を取得する中間層から除外することができる。
【００７９】
別の具体例として、判定器学習部５０１は、検出処理時に生成された中間データに含まれる複数の特徴量から選択された特徴量を用いた学習により判定器を生成し、こうしてそれぞれ異なる特徴量に対応する複数の異なる判定器を生成することができる。そして、判定器学習部５０１は、異なる特徴量を用いて生成された異なる判定器を用いたカテゴリ判定のそれぞれの評価に基づいて、判定器の学習に用いる特徴量を選択することができる。
【００８０】
例えば特徴量取得部２０３は、特定の特徴量の組み合わせ（例えば中間層の出力結果の組み合わせ）を用いて学習特徴量を生成することができる。この場合、判定器学習部５０１は、特定の特徴量の組み合わせに基づく学習特徴量を用いて判定器の学習を行い、得られた判定器の評価を行うことができる。このような処理を、様々な特徴量の組み合わせについて行うことにより、特徴量取得部２０３は、より評価が高くなる特徴量の組み合わせを選択することができる。具体的には、特徴量取得部２０３は、検出器を用いた検出処理時に生成された、検出情報とは異なる情報の中から、中間生成特徴を選択することができる。ここで、評価は、カテゴリ判定の精度と、カテゴリ判定の処理コスト（例えば処理時間又は必要メモリ量）と、の少なくとも一方に基づいて行うことができる。また、特徴量取得部２０３は、検出器を用いた検出処理により得られた検出情報の中から、学習特徴量を生成するために用いる特徴量を選択してもよい。このように、特徴量取得部２０３は、中間生成特徴のような、判定器の学習を行うために用いられる特徴量の選択を設定することができる。
【００８１】
このように、特徴量取得部２０３が、判定器の学習を行うために用いられる特徴量の選択を設定した場合、判定器学習部５０１は、選択された特徴量を用いて生成された学習特徴量を用いて、判定器の学習を行うことができる。また、判定器学習部５０１は、学習により得られた判定器と関連付けて、選択された特徴量を示す設定情報（例えば中間生成特徴を取得する中間層を示す情報）を、判定器保持部２０７に送ってもよい。この場合、情報処理装置２０の特徴量取得部２０３は、判定器に関連付けられた、選択された特徴量を示す設定情報に従って、カテゴリ判定に用いる特徴量（例えば、選択された中間層の出力結果のような中間生成特徴）を選択することができる。そして、情報処理装置２０の特徴量取得部２０３は、例えば選択された特徴量を用いて判定特徴量を生成し、生成された判定特徴量と判定器を用いることにより、判定対象に関するカテゴリ判定を行うことができる。
【００８２】
このように、中間生成特徴として用いる特徴量を選択することで、判定対象を検出する際にメモリに保存する中間生成特徴のサイズを減らすことができるため、省メモリ化を実現できる。
【００８３】
なお、本実施形態では検出器の学習を行ってから、判定器の学習が行われた。しかしながら、図６に示すように検出器としてＤＮＮを用い、中間生成特徴（中間層の出力結果）を用いて判定を行う場合、検出器と判定器の学習を同時に行うこともできる。例えば、判定器が正常と異常の２クラスを識別する識別器である場合、教師データに対する識別結果のロス値を、検出器の中間層に返すことにより、検出器の学習を行うことができる。さらに、特徴量取得部２０３の処理（例えば変換部６００１及び特徴抽出部６００２の処理）をニューラルネットワークを用いて定義することにより、対象検出部２０２、特徴量取得部２０３、及び判定部２０４の学習を同時に行うことができる。
【００８４】
また、本実施形態では、判定対象の検出時に得られた中間生成特徴と、検出情報と、を用いて判定が行われた。しかしなれら、特徴量取得部２０３は追加の特徴を取得してもよく、こうして取得された追加の特徴をさらに考慮して、判定対象に関するカテゴリ判定が行われてもよい。例えば、映像の各フレームに対する異常判定を行う場合、フレーム間の差分データを追加の特徴として用いることができる。
【００８５】
以上のように本実施形態によれば、情報処理装置２０は、判定対象の検出結果に加えて、判定対象の検出時に得られた中間生成特徴を用いて、判定対象に関するカテゴリ判定を行う。このため、カテゴリ判定の精度を向上させることができる。また、情報処理装置５０は、検出処理時に生成された中間データの中から、カテゴリ判定に用いる中間生成特徴を選択することにより、カテゴリ判定の精度をより向上させることができる。本実施形態の構成を用いることで、予め大量の画像を用いて検出器の学習を行い、カテゴリ判定を行う現場でカテゴリ判定に用いる特徴を選択することが可能となる。
【００８６】
［実施形態２］
実施形態２では、入力データをカメラなどのセンサが取得した際の生成時情報をさらに考慮して、カテゴリ判定が行われる。生成時情報とは、センサによる入力データの生成状況を示す情報のことであり、センサが入力データを生成するために用いられたパラメータ、又はセンサが入力データを生成した際の周囲の環境情報を含むことができる。例えば、対象画像を撮像するカメラの情報は、カメラの内部パラメータ若しくは外部パラメータ、又はシーン情報を含むことができる。ここで、シーン情報は、照明条件などの周囲の環境情報、又はレイアウトなどの周囲の空間情報を含むことができる。以下では、カメラが撮像画像を撮像した際に得られた生成時情報（以下、撮像時情報と呼ぶ）を考慮して判定特徴量を生成する場合について説明する。
【００８７】
本実施形態によれば、例えばカテゴリ判定を行う現場において撮像時情報を取得し、この現場において撮像時情報に応じてカテゴリ判定に用いる判定特徴量を生成することが可能になる。例えば、カテゴリ判定の対象となる入力データを生成したカメラと、学習用の入力データを生成したカメラのパラメータを取得することができる。そして、カテゴリ判定の対象となる入力データから得られた検出結果を、学習用の入力データを生成したカメラが同じシーンを撮影した場合に得られる検出結果へと変換することができる。また、別の例として、学習時に得られた学習特徴量を入力及び出力とするＡｕｔｏ−Ｅｎｃｏｄｅｒ（自己符号化器）の学習を行い、判定時に得られた判定特徴量を学習により得られたＡｕｔｏ−Ｅｅｎｃｏｄｅｒを用いて一度変換することができる。これらの方法では、判定特徴量に対して学習特徴量に近づける変換を行うことができるため、学習により得られた判定器を用いたカテゴリ判定精度を向上させることができる。
【００８８】
実施形態２に係る情報処理装置２０の構成及び処理の例について、実施形態１とは異なる部分を説明する。図３Ｂは、本実施形態に係る情報処理装置２０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置２０は、実施形態１とほぼ同様の構成を有するが、さらに情報取得部２１０を有している。
【００８９】
実施形態２に係る、カテゴリ判定を行う情報処理方法は、図４に示すフローチャートに沿って行うことができる。ステップＳ３０１において、入力部２０１は、実施形態１と同様に対象画像１００を取得し、さらに情報取得部２１０は撮像部２００によって得られた撮像時情報を取得し、特徴量取得部２０３に送信する。ステップＳ３０２は実施形態１と同様に行うことができる。
【００９０】
ステップＳ３０３において特徴量取得部２０３は、対象情報、中間生成特徴、及び撮像時情報を用いて判定特徴量を生成する。例えば、特徴量取得部２０３は、撮像時情報を用いて対象情報又は中間生成特徴の変換を行うことができる。図１１は、特徴量取得部２０３の構成及び処理の例を示す。特徴量取得部２０３は、変換部６００４，６００５、及び実施形態１と同様の特徴抽出部６００２を有している。変換部６００４及び変換部６００５は、対象画像１００についての撮像時情報に基づいて特徴量を変換することができる。また、変換部６００４及び変換部６００５は、予め保存されている、学習用の入力データを生成したカメラについての撮像時情報に基づいて特徴を変換することができる。
【００９１】
例えば変換部６００３は、対象画像を撮像した撮像部２００の内部パラメータ及び外部パラメータを利用して、検出結果を変換することができる。また、変換部６００４は、特徴を変換するための処理ｆ４を別途定義することができる。例えば、変換部６００４が行う処理ｆ４として、Ａｕｔｏ−Ｅｎｃｏｄｅｒ（自己符号化器）におけるＥｎｃｏｄｅｒを利用することができる。具体例としては、情報処理装置２０が用いる検出器及び判定器の学習を行う際には、さらに特徴変換器を用意することができる。例えば、判定器の学習に用いられた中間生成特徴を入力と出力するＡｕｔｏ−Ｅｎｃｏｄｅｒを学習により生成し、こうして得られたＥｎｃｏｄｅｒを特徴変換器として用いることができる。この場合、変換部６００４は、こうして得られた特徴変換器を用いて、ステップＳ３０２において得られた中間生成特徴を変換することができる。
【００９２】
ステップＳ３０４及びＳ３０５における処理は実施形態１と同様であり、説明を省略する。以上の本実施形態によれば、カテゴリ判定に用いられる特徴量を撮像時情報などの生成時情報を用いて変換することで、判定対象となる入力データを取得したセンサと、学習用の入力データを取得したセンサとの差異を低減できる。このように、生成時情報を考慮してカテゴリ判定を行うことにより、カテゴリ判定精度の高い判定器を生成することができる。
【００９３】
本実施形態では、得られた特徴量に対して、生成時情報を考慮した変換処理が行われた。別の実施形態においては、生成時情報を用いて、入力データ（例えば対象画像）に対する変換処理を行ってもよい。
【００９４】
［実施形態３］
実施形態３においては、検出器は判定対象を構成する部位である、パーツ、又はパーツとパーツとの接続部分である関節点を検出する。そして、このような検出結果に基づいて判定対象が検出される。この場合、判定対象の検出結果として得られた検出情報に加えて、パーツ若しくは関節点のような部位の検出結果を中間生成特徴として用いて、判定対象に関するカテゴリ判定を行うことができる。以下では、実施形態１と同様に、対象画像中の判定対象を検出して異常判定を行う例について説明する。
【００９５】
実施形態３に係る情報処理装置２０の構成及び処理の例について、実施形態１とは異なる部分を説明する。図３Ｃは、本実施形態に係る情報処理装置２０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置２０は、実施形態１とほぼ同様の構成を有するが、さらに部位検出部２０８を有しており、また検出器保持部２０６は判定対象を構成する部位を検出する検出器を保持している。
【００９６】
実施形態３に係る、カテゴリ判定を行う情報処理方法は、図４に示すフローチャートに沿って行うことができる。ステップＳ３０１は実施形態１と同様に行うことができる。ステップＳ３０２において、部位検出部２０８は、検出器保持部２０６に保持されている検出器を用いて、対象画像１００から、判定対象を構成する部位を検出する。例えば、部位検出部２０８は、図１１（Ａ）に示される関節点６０１，６０２のような予め設定された関節点、又は図１１（Ｂ）に示されるパーツ６０４のような予め定められたパーツを検出することができる。パーツは、例えば人間の腕、足、又は胴体などであってもよい。関節点の数又はパーツの定義は、学習時に設定してもよいし、判定精度又は処理コストに応じて設定してもよい。このような設定方法及び検出器の学習方法については後述する。部位検出部２０８は、関節点又はパーツなどの部位検出結果を、対象検出部２０２及び特徴量取得部２０３に送信する。また、部位検出部２０８は、部位検出処理時に生成された中間データを、特徴量取得部２０３に送信する。
【００９７】
関節点を検出する手法としては、非特許文献３("Stacked Hourglass Networks for Human Pose Estimation", Alejandro Newell, Kaiyu Yang, Jia Deng, arxiv 2016.)に開示されているような手法を用いることができる。例えば、関節点ごとにヒートマップ６０５を推定し、ヒートマップ上でピーク検出又は閾値処理を行うことで、関節点の位置６０６及びこの位置に対応するスコアを得ることができる。また、パーツを検出する手法としては、非特許文献４("A Discriminatively Trained, Multiscale, Deformable Part Model", Pedro Felzenswalb, David McAllester, Deva Ramanan, IEEE Conference on Computer Vision Pattern Recognition 2008.")に開示されているような手法を用いることができる。
【００９８】
ステップＳ３０２において、さらに対象検出部２０２は、部位検出部２０８によって得られた部位検出結果に基づいて判定対象を検出する。例えば対象検出部２０２は、図１２（Ａ）に示されるように、各関節点の検出結果を用いて、人物を構成する各関節点を選択し、選択された関節点に基づいて判定対象を検出することができる。また、対象検出部２０２は、図１２（Ｂ）に示されるように、パーツの検出結果を用いて判定対象を検出することができる。対象検出部２０２は、このように検出された判定対象についての検出情報として、検出結果である人体領域６０３の位置及び大きさを示す情報を、特徴量取得部２０３に送信する。
【００９９】
ステップＳ３０３において特徴量取得部２０３は、ステップＳ３０２で得られた判定対象の検出情報と、中間生成特徴と、を用いて、判定に用いる判定特徴量を生成する。本実施形態において中間生成特徴は、関節点又はパーツなどの部位の検出結果を含んでいる。中間生成特徴は、部位検出部２０８による部位検出時に生成された中間データを含んでいてもよい。これらの情報も、やはり検出情報とは異なる中間データであるといえる。
【０１００】
図１３は、図６と同様に各処理部間の入力／出力関係の例を表す。特徴量取得部２０３は、変換部６００８，６００９及び特徴抽出部６００９を有している。先に説明した部位検出部２０８が行う処理は、処理ｆ５として示されており、式（１１）に示されるように、入力画像ｘに対するこの処理により部位検出結果｛ｙ｝が得られる。この部位検出結果は、検出された部位のそれぞれについて得られ、複数の部位について部位検出結果が得られることもある。
｛ｙ｝＝ｆ５（ｘ）  ……（１１）
【０１０１】
変換部６００７の処理は、実施形態１と同様である。すなわち、変換部６００７は、対象検出部２０２が部位検出結果｛ｙ｝に基づいて生成した判定対象の検出結果ｙに対する変換処理を行い、変換後の特徴量ｙ’を得ることができる。また、変換部６００８は、部位検出結果｛ｙ｝に対する変換処理を行うことにより、変換後の特徴量｛ｙ｝’を得ることができる。変換部６００８が行う処理も、変換部６００７が行う処理と同様に定義することができる。
【０１０２】
特徴抽出部６００９の処理は処理ｆ８として表されており、式（１２）に示されるように、変換後の特徴量ｙ’及び｛ｙ｝’、並びに実施形態１と同様の中間生成特徴ｚ１に基づいて、判定特徴量ｚ２が得られる。こうして得られた判定特徴量ｚ２は、判定部２０４に送信される。
ｚ２＝ｆ８（｛ｙ｝’＋ｚ１＋ｙ’）  ……（１２）
【０１０３】
以下、判定特徴量を生成する処理（ｆ８）の一例をさらに具体的に説明する。図１４は、各部位（この例では関節点６０１）の検出結果及び判定対象の検出結果である人体領域６０３を示す。部位の検出結果は座標（Ｘｐ，Ｙｐ）で表すことができ、ここでｐは関節点のインデックスを表す。例えば、人体を１７点の関節点で定義する場合、ｐは１〜１７の値を有する。また、判定対象の検出結果である人体領域６０３は、人体を囲むバウンディングボックスのサイズを（Ｗｈ，Ｈｈ）及び中心座標（Ｘｈ，Ｙｈ）で表すことができる。この場合、判定対象の検出結果を用いて、各部位についての検出結果に対して式（１３）（１４）に示す変換処理を行うことができる。このような変換後の特徴量を用い、必要に応じて実施形態１と同様の手法も用いることで、判定特徴量ｚ２を得ることができる。
Ｘｐ’＝（Ｘｐ−Ｘｈ）／Ｗｈ  ……（１３）
Ｙｐ’＝（Ｙｐ−Ｙｈ）／Ｈｈ  ……（１４）
【０１０４】
ステップＳ３０４及びＳ３０５の処理は実施形態１と同様であり、説明を省略する。このような方法により、情報処理装置２０は検出された判定対象に関するカテゴリ判定を行うことができる。
【０１０５】
次に、本実施形態に係る情報処理装置２０において利用される検出器及び判定器の学習を行う、情報処理装置５０の構成及び処理の例について説明する。本実施形態に係る情報処理装置５０は、実施形態１とほぼ同様の構成を有するが、さらに情報処理装置２０と同様の部位検出部２０８を有している。以下、検出器の学習処理について図１０（Ａ）のフローチャートに沿って説明する。
【０１０６】
ステップＳ３５１で入力部２０１は、実施形態１と同様に、学習データ保持部５０２に保持されている学習データを検出器学習部５０３に送信する。学習データに含まれる教師データは、実施形態１では判定対象の位置及びサイズ情報を含むことができるが、本実施形態では各部位の定義及びその位置を示す情報を含むことができる。例えば、教師データは、部位として関節点が検出される場合は関節点の定義及びその位置を示すことができ、部位としてパーツが検出される場合は各パーツの定義並びにその位置及びサイズを示すことができる。
【０１０７】
ステップＳ３５２で検出器学習部５０３は、ステップＳ３５１で送信された学習データを用いて検出器の学習を行う。ここで、学習により得られる検出器は、部位を検出するための部位検出器である。具体的な学習方法としては、例えば非特許文献３に開示されているような手法が挙げられる。具体例としては、教師データとして関節点の位置にピークを持つヒートマップを与えることで、関節点を検出する検出器の学習を行うことができる。また、パーツごとの画像特徴量を用いることで、パーツを識別する検出器の学習を行うことができる。検出器学習部５０３は、得られた検出器を検出器保持部２０６に送信する。このような方法により、検出器の学習を行うことができる。
【０１０８】
次に、判定器の学習処理について図１０（Ｂ）のフローチャートに沿って説明する。ステップＳ３６１の処理は実施形態１と同様である。ステップＳ３６２の処理はステップＳ３０２と同様であり、学習により得られた検出器を用いて部位の検出結果が得られ、さらに判定対象の検出結果が得られる。ステップＳ３６３の処理もステップＳ３０３と同様であり、判定対象の検出結果及び中間生成特徴を用いて学習特徴量が生成される。ステップＳ３６４の処理は実施形態１と同様であり、学習特徴量に基づいて判定器の学習が行われる。なお、実施形態１と同様に、特徴量取得部２０３は判定器の学習に用いる特徴量を選択してもよい。
【０１０９】
以上のように、本実施形態によれば、対象の検出情報に加えて、部位の検出情報が中間生成特徴としてカテゴリ判定のために用いられる。このため、カテゴリ判定の精度を向上させることができる。
【０１１０】
［実施形態４］
実施形態４においては、判定器を用いたカテゴリ判定における処理パラメータが複数のパラメータから選択される。選択された処理パラメータは、学習により得られた判定器に関連付けて判定器保持部２０７に保持される。本実施形態においては、実施形態１〜３に係る学習処理により得られた判定器を、評価データを用いて評価することができる。そして、評価結果に基づいて、カテゴリ判定処理において用いられる処理パラメータが設定される。カテゴリ判定の評価は、カテゴリ判定の精度と、カテゴリ判定の処理コストと、の少なくとも一方に基づいて行うことができる。例えば、評価データに対するカテゴリ判定精度、及びカテゴリ判定に要する処理量を設定し、これらを満たすように対象検出処理又は判定処理で用いられる処理パラメータを設定することができる。処理パラメータの例については後述する。本実施形態によれば、精度の高い又は処理が高速な判定器を得ることができる。以下でも、入力データから検出された判定対象に対して異常判定を行う例について説明する。
【０１１１】
ここで、カテゴリ判定処理には、判定器を用いた判定処理に加えて、判定処理のために行われる処理、例えば判定対象を検出する処理及び判定特徴量を生成する処理が含まれる。また、評価データは、例えば入力データと、入力データに示される判定対象の情報及びそのカテゴリを示す情報を含むことができる。評価データとしては、実施形態１〜３で用いられる、判定器の学習用の学習データと同様の構成を有する、学習データとは異なるデータを用いることができる。
【０１１２】
実施形態４におけるカテゴリ判定方法は実施形態１〜３と同様であるため、説明を省略する。以下では、判定器の学習を行う情報処理装置５０の構成及び処理の例を説明する。図９Ｂは、本実施形態に係る情報処理装置５０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置５０は、実施形態１とほぼ同様の構成を有するが、評価データ保持部５０４、評価部５０５、及びパラメータ設定部５０６を有する。なお、評価データ保持部５０４は、例えばＨＤ４０４であってもよいし、情報処理装置２０と接続された不揮発性の記憶装置であってもよい。
【０１１３】
検出器の学習は、実施形態１〜３と同様に図１０（Ａ）のフローチャートに従って行うことができる。以下では、判定器の学習について、図１０（Ｂ）のフローチャートに従って説明する。ステップＳ３６１〜Ｓ３６４は、実施形態１〜３と同様であるため説明を省略する。実施形態４においては、ステップＳ３６４の後に追加の評価工程及び設定工程が行われる。評価工程において、評価部５０５は、ステップＳ３６４で得られた学習後の判定器の評価を行うことができる。例えば評価部５０５は、判定器の精度と処理コストの少なくとも一方を評価することができる。また、評価部５０５は、図１０（Ａ）のフローチャートに従って得られた、又は予め得られている、検出器の評価を行うこともできる。以下では、評価部５０５が、判定器及び検出器の精度及び処理コストを評価する例について説明する。
【０１１４】
評価工程に続く設定工程において、パラメータ設定部５０６は、評価工程における評価に基づいて、カテゴリ判定処理において用いられる処理パラメータを設定する。パラメータ設定部５０６は、例えば、対象検出部２０２、特徴量取得部２０３、又は判定部２０４などが用いる処理パラメータを設定することができる。パラメータの例としては、入力データのサイズ、対象検出時に用いられる閾値、判定に用いられる中間生成特徴の種類、判定時に用いられる閾値、などが挙げられる。
【０１１５】
一例として、カテゴリ判定処理においては、一定サイズの対象画像を対象とすることにより、判定対象の検出及びカテゴリ判定の精度を高めることができる。そこで、図１５に示すように、対象画像１００内に、カテゴリ判定の対象として複数の処理範囲７０１，７０２，７０３を設定する場合、それぞれの処理範囲内にある処理画像を必要に応じてクロップ及びリサイズすることができる。具体的には、処理画像のサイズを一定にするために、処理範囲７０１内の画像に対しては縮小処理を、処理範囲７０３内の画像に対しては拡大処理を行うことで、これらの画像を処理範囲７０２内の画像サイズに近づけることができる。このようなサイズ調整後の処理画像に対して、判定対象の検出及びカテゴリ判定を行うことができる。このような事例において、パラメータ設定部５０６は、拡大率又は縮小率を、評価部５０５による評価結果（例えば判定対象の検出及びカテゴリ判定の、精度及び処理時間）に応じて設定することができる。
【０１１６】
別の例として、パラメータ設定部５０６は、実施形態３のように部位（例えば関節点）の検出結果に基づいて判定対象を検出する構成において、図１６に示すように評価結果に応じて検出する部位の数を設定してもよい。このような構成によれば、カテゴリ判定の精度を所定のレベルに保ちつつ、検出する部位数を減らすことで処理時間及び処理時のメモリ消費量を抑えることができる。
【０１１７】
さらなる例として、検出器保持部２０６は複数の検出器を保持することができ、判定器保持部２０７もそれぞれの検出器に対応する複数の判定器を保持することができる。このような構成において、パラメータ設定部５０６は、評価結果に応じて適した検出器と判定器の組み合わせを、カテゴリ判定処理において用いられる検出器及び判定器として設定してもよい。
【０１１８】
このように本実施形態に係る情報処理装置５０は、学習により得られた判定器などを評価し、評価結果に基づいてカテゴリ判定処理において用いられるパラメータを設定することができる。これらの処理により、カテゴリ判定の精度を高めることができる。なお、パラメータ設定部は、さらに対象画像１００を撮像する撮像部２００の外部パラメータ、内部パラメータ、及び判定対象となるシーンの空間的な情報などの、上述の生成時情報にさらに基づいて、パラメータを設定してもよい。
【０１１９】
［実施形態５］
実施形態５に係る情報処理装置５０は、ユーザのフィードバックに基づいて、判定対象に関するカテゴリ判定を行うカテゴリ判定処理を高精度化する。実施形態５において、情報処理装置５０に対しては、複数のデータを含むシーケンスデータである評価データが入力される。シーケンスデータは、連続して入力される例えば経時的な映像データ又は音声データであり、１つのデータ単位（例えばフレーム又は音声区間）は、前後のデータ単位と関連する。言い換えれば、１つのデータ単位に対して異常と判定される場合、前後のデータ単位についても異常と判定される可能性が高い。
【０１２０】
本実施形態において情報処理装置５０は、シーケンスデータを構成するデータ単位のそれぞれに対して順次カテゴリ判定処理を行う。そして、カテゴリ判定処理において得られた情報が変化した場合に、又は閾値より大きく変化した場合に、情報処理装置５０はユーザのフィードバックを求める。このように、カテゴリ判定処理において得られる情報が変化する場合、例えば判定結果が異常から正常に変化する際には、データ単位に特徴的な変化が起こっている可能性が高い。したがって、カテゴリ判定処理において得られる情報が正しいか否かを示すユーザフィードバックに基づいて、カテゴリ判定処理を調整することにより、判定精度を高精度化することができる。
【０１２１】
すなわち、本実施形態に係る情報処理装置５０は、シーケンスデータである評価データを構成する複数のデータ単位から評価対象データを選択する。そして、情報処理装置５０は、選択された評価対象データについて、カテゴリ判定処理において得られた情報をユーザに提示し、提示された情報に対するユーザのフィードバックを求める。
【０１２２】
このような実施形態は、実施形態１〜４と組み合わせて使用することができる。例えば、情報処理装置５０は、評価対象データであるフレーム画像に対するカテゴリ判定処理において得られた、判定対象の検出結果及びカテゴリ判定結果が正しいか否かを示すユーザのフィードバックを得ることができる。このようなフィードバックと、評価対象データとのセットは、実施形態１〜４で説明した学習データ又は評価データとして用いることができる。例えば情報処理装置５０は、ユーザのフィードバックに基づいて、実施形態４と同様にカテゴリ判定処理において用いられるパラメータを調整することができる。また、また、情報処理装置５０は、ユーザのフィードバックに基づいて、検出器又は判定器の再学習を行うことかできる。
【０１２３】
このような実施形態によれば、ユーザのフィードバックに基づいて、カテゴリ判定処理を高精度化することができる。また、このような構成によれば、例えば撮像部２００のようなセンサの実際の設置場所において得られた評価データに基づいて、カテゴリ判定処理を高精度化することもできる。すなわち、本実施形態によれば、実施形態１〜４に係るカテゴリ判定を行う現場において、使用状況に応じてカテゴリ判定処理を調整することが可能となる。
【０１２４】
なお、カテゴリ判定処理において得られた情報は、カテゴリ判定処理の結果には限られず、カテゴリ判定処理において行われる各処理の結果得られる全てのデータを含むことができる。例えば、実施形態１の構成において、カテゴリ判定処理において得られた情報は、評価対象データに対する判定対象の検出処理で得られた判定対象の位置及びサイズ、並びに判定対象のカテゴリ判定において得られたスコアを含むことができる。また、カテゴリ判定処理において得られた情報は、例えば中間生成特徴のような、処理中に取得された特徴量を含んでいてもよい。
【０１２５】
以下、実施形態５に係る情報処理装置５０の構成及び処理の例を説明する。図９Ｃは、本実施形態に係る情報処理装置５０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置５０は、実施形態４とほぼ同様の構成を有するが、評価対象選択部５０７及び再学習設定部５０８を有している。以下でも、入力データから検出された判定対象に対して異常判定を行う例について説明する。
【０１２６】
本実施形態に係る処理は、実施形態１〜４における判定器の学習方法を示す図１０（Ｃ）のフローチャートに沿って行うことができる。なお、以下では、情報処理装置５０が図１０（Ａ）に従う処理を行うなどの結果、検出器が既に得られている場合の処理について説明する。しかしながら、同様の手法により評価データを用いた学習により検出器を生成してもよい。また、以下では判定器が既に得られており、評価データを用いて判定器の再学習を行う場合について説明するが、同様の手法により評価データを用いた学習により判定器を生成してもよい。
【０１２７】
ステップＳ３６１において、特徴量取得部２０３は、評価データ保持部５０４が保持しているシーケンスデータである評価データ（例えば映像データ）から、１つのデータ項目（例えば１つのフレーム）を入力データとして取得する。特徴量取得部２０３は、各データ項目をシーケンス（例えば時系列）に沿って順次取得することができる。以下の処理は、特徴量取得部２０３が１つの入力データを取得するごとに繰り返すことができる。
【０１２８】
ステップＳ３６２〜Ｓ３６３の処理は実施形態１と同様である。すなわち、検出器を用いて入力データから判定対象が検出される。そして、判定対象の検出結果及び中間生成特徴を用いて判定特徴量が生成される。
【０１２９】
ステップＳ３７１においては、評価対象選択部５０７が、実施形態１のステップＳ３０４における判定部２０４と同様の処理を行う。すなわち、評価対象選択部５０７は、予め得られている、判定器保持部２０７に保持されている判定器と、検出情報と、中間生成特徴とを用いて、判定対象に関するカテゴリ判定を行う。本実施形態において評価対象選択部５０７は、ステップＳ３６３で得られた判定特徴量を用いて、入力データから検出された判定対象に関するカテゴリ判定を行う。
【０１３０】
ステップＳ３７２において評価対象選択部５０７は、現在処理中の入力データを、ユーザによる評価判定が行われる評価対象として選択するか否かを判定する。評価対象選択部５０７は、シーケンスデータに含まれる複数のデータのそれぞれに対して順次処理を行っている間に、データから判定対象を検出してカテゴリ判定を行う処理において得られた情報の変化を検出する。例えば、評価対象選択部５０７は、現在処理中の入力データに対するカテゴリ判定処理において得られた情報と、他の入力データ（例えば直前に処理された入力データ）に対するカテゴリ判定処理において得られた情報と、の差異を判定することができる。差異を判定する項目は特に限定されず、判定対象の検出結果、判定結果、若しくは中間生成特徴の少なくとも一部、又はこれらの組み合わせであってもよい。判定された差異が、予め設定された閾値を超える場合、評価対象選択部５０７は現在処理中の入力データをユーザに提示するデータとして選択することができる。
【０１３１】
現在処理中の入力データを評価対象として選択しない場合、評価対象選択部５０７はユーザからのフィードバックを取得せず、ステップＳ３７１における現在処理中の入力データを用いた再学習も行われない。一方、評価対象選択部５０７は、現在処理中の入力データを評価対象として選択する場合、処理は再学習設定工程に進む。
【０１３２】
ステップＳ３７３において、再学習設定部５０８は、変化が検出されたデータについての判定対象の情報又はカテゴリ判定の結果に対するユーザからのフィードバックを取得する。例えば、再学習設定部５０８は、現在処理中の入力データと、この入力データに対する判定対象の検出結果又はカテゴリ判定結果を、例えば表示部４０６を介して、ユーザに提示することができる。そして、再学習設定部５０８は、判定対象の検出結果又はカテゴリ判定結果に対するユーザのフィードバックを、例えば操作部４０５を介して、取得する。
【０１３３】
図１７は、再学習設定工程における、ユーザからのフィードバックを取得するためのＵＩの例を示す。また、図１８は、再学習設定部５０８がユーザからのフィードバックを取得する処理の一例を示すフローチャートである。ステップＳ１４０１において再学習設定部５０８は、図１７（Ａ）に示すように、入力データである対象画像１３００に、判定対象の検出結果１３０１を示す情報を重畳して、ユーザに提示する。また、再学習設定部５０８は、検出結果１３０１に対するユーザ判定を行うか否かを問い合わせるプロンプト１３０２をユーザに提示し、ユーザからの入力を取得する。ユーザが「はい」を選んだ場合、処理はステップＳ１４０２に進む。ユーザが「いいえ」を選んだ場合、検出結果１３０１は評価対象から除外され、ステップＳ３７１における現在処理中の入力データを用いた再学習も行われない。
【０１３４】
ステップＳ１４０２において再学習設定部５０８はユーザに提示した検出結果１３０１が正しいかどうかを問い合わせるプロンプト１３０３をユーザに提示する。検出結果１３０１は実際の検出結果であるため、図１７（Ｂ）に示すように、検出結果１３０１が示す判定対象の領域が、実際の判定対象（人体）の領域とはずれている場合がある。また、検出結果１３０１が、判定対象ではない領域を指している可能性もある。このような場合、ユーザは「いいえ」を選択することができる。この場合、再学習設定部５０８は、ユーザから判定対象の正しい位置及び大きさを示す情報を取得することができる。こうして取得された情報は、入力データに対する教師データとして用いることができる。すなわち、検出器学習部５０３は、これらの入力データ及び教師データを含む学習データを用いて、続くステップＳ３６４において検出器の再学習を行うことができる。
【０１３５】
ステップＳ１４０２においてユーザが「はい」を選択した場合、処理はステップＳ１４０３に進む。ステップＳ１４０３において再学習設定部５０８は、入力データである対象画像１３００に、カテゴリ判定結果を示す情報を重畳して、ユーザに提示する。また、再学習設定部５０８は、ユーザに提示したカテゴリ判定結果が正しいかどうかを問い合わせるプロンプト１３０４をユーザに提示する。ユーザが「はい」を選択した場合、ステップＳ３６４における現在処理中の入力データを用いた再学習は行われない。一方で、ユーザが「いいえ」を選択した場合、再学習設定部５０８は、ユーザから判定対象の正しいカテゴリを示す情報を取得することができる。こうして取得された情報は、入力データに対する教師データとして用いることができる。すなわち、判定器学習部５０１は、これらの入力データ及び教師データを含む学習データを用いて、続くステップＳ３６４において判定器の再学習を行うことができる。
【０１３６】
以上のステップＳ３６２からステップＳ３７３までは、特徴量取得部２０３が１つの入力データを取得するごとに繰り返すことができる。その後、評価データ全体についての処理が終わった後で、ステップＳ３６４において、判定器学習部５０１又は検出器学習部５０３は、変化が検出されたデータ及びフィードバックを用いて、判定器の学習を再度行うことができる。本実施形態において判定器学習部５０１及び検出器学習部５０３は、再学習設定工程で新たに得られた学習データを用いて、判定器及び検出器の再学習を行うことができる。例えば、判定器学習部５０１及び検出器学習部５０３は、新たに得られた学習データを既存の学習データに追加し、双方のデータを用いて学習を行うことで、再学習後の判定器及び検出器を得ることができる。判定器学習部５０１及び検出器学習部５０３は、全ての評価対象を用いて再学習を行ってもよいし、何らかの方法でサンプリングされた一部の評価対象を用いて再学習を行ってもよい。本実施形態においては、ユーザからのフィードバックに基づいて入力データに対する教師データを取得することができるため、予め評価データに対する教師データを生成する必要はない。
【０１３７】
以上のように本実施形態によれば、情報処理装置５０はシーケンスデータに対するカテゴリ判定処理を行い、判定処理において得られたデータに基づいて、ユーザによる評価の対象となるデータをシーケンスデータから選択する。そして、ユーザからの評価を示すフィードバックに基づいて、カテゴリ判定処理の調整を行う。このような実施形態によれば、ユーザに対する負荷を抑えながら、カテゴリ判定処理の精度を向上させることができる。
【０１３８】
［実施形態６］
実施形態６においては、判定器を用いたカテゴリ判定のために用いられる判定対象の検出方法が複数の検出方法から選択される。本実施形態では、複数の検出方法から選択された検出方法を用いて、入力データから判定対象が検出され、検出された判定対象に対するカテゴリ判定が行われる。本実施形態の構成によれば、判定対象ごとに異なる検出方法を用いることができるため、カテゴリ判定の精度を向上させることができる。例えば、予め複数の検出器を用意しておき、判定対象に応じて検出のために用いる検出器を選択することができる。
【０１３９】
入力データが画像データである場合、判定対象を検出しようとする画像中の位置に応じて、検出方法を選択してもよい。例えば、奥行き方向に長い空間である廊下などを上部から撮像している場合、奥側では細かい人物の動作又は姿勢を認識することは困難になることが多い。このような例において、奥側に相当する領域では実施形態１のように人体のような判定対象を検出する検出器を用い、手前側に相当する領域では実施形態３のように判定対象の部位を検出する検出器を用い、この検出結果に従って判定対象を検出することができる。このような構成によれば、判定対象の検出精度が向上し、奥側に相当する領域でもカテゴリ判定精度が低下しない、ロバスト性の高いカテゴリ判定を行うことができる。
【０１４０】
以下、実施形態６に係る情報処理装置２０の構成及び処理の例を説明する。図３Ｄは、本実施形態に係る情報処理装置２０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置２０は、実施形態１とほぼ同様の構成を有するが、検出器選択部２０９をさらに有している。以下でも、入力データから検出された判定対象に対して異常判定を行う例について説明する。
【０１４１】
本実施形態に係るカテゴリ判定処理は、図４のフローチャートに沿って行うことができる。ステップＳ３０１の処理は、実施形態１〜４と同様であり、説明を省略する。ステップＳ３０２において検出器選択部２０９は、ステップＳ３０１で取得された入力データに基づいて検出器を選択する。例えば検出器選択部２０９は、データ上の位置（例えば画像上の位置）に応じて、予め定められた検出器を選択することができる。別の例として、検出器選択部２０９は、入力データの生成時情報、例えばカメラの設置位置、時刻、環境情報、又は撮像パラメータのような撮像時情報に応じて、検出器を選択してもよい。この場合、ステップＳ３０１で入力部２０１はこのような生成時情報をさらに取得してもよい。  
【０１４２】
そして、対象検出部２０２は、検出器選択部２０９によって選択された検出器を用いて、入力データから判定対象を検出する。別の例として、複数の検出器のそれぞれを用いて入力データから判定対象を検出した後で、例えば画像上での位置に応じて判定対象の検出結果が選択されてもよい。具体的な処理方法は、実施形態１〜４と同様である。ステップＳ３０３〜Ｓ３０５の処理も、実施形態１〜４と同様に行うことができる。一方、ステップＳ３０３において、判定部２０４は、検出器選択部２０９によって選択された検出器に対応する判定器を用いてもよい。このようにして、入力データに対するカテゴリ判定処理を行うことができる。
【０１４３】
次に、本実施形態に係る情報処理装置２０が用いる検出器及び判定器を学習により生成する情報処理装置５０の構成及び処理の例を説明する。本実施形態に係る情報処理装置５０は、さらに検出器の選択方法を設定することができる。図９Ｄは、本実施形態に係る情報処理装置５０のＣＰＵ４０１が実行する処理を、それぞれ機能ブロックとして示す。本実施形態に係る情報処理装置５０は、実施形態２とほぼ同様の構成を有するが、パラメータ設定部５０６の代わりに検出器選択部２１１を有している。
【０１４４】
本実施形態に係る検出器は、実施形態１〜４と同様の学習処理により得ることができるが、本実施形態においては複数の検出器が用意される。例えば、各検出器を、それぞれ異なる学習データを用いた学習により生成することができる。別の例として、各検出器は、それぞれ判定対象の異なる部位を検出する検出器であってもよい。また、本実施形態に係る判定器も、実施形態１〜４と同様の学習処理により得ることができるが、本実施形態においては各検出器に対応する判定器を用意することができる。例えば、情報処理装置５０が所持している複数の検出器の中から検出器を選択して、判定器の学習を行うことができる。
【０１４５】
また、情報処理装置５０は、判定器を用いたカテゴリ判定のために用いられる判定対象の検出方法を複数の検出方法から選択し、選択された検出方法を示す情報を学習により得られた判定器に関連付けて検出器保持部２０６に保持することができる。このように、情報処理装置５０は、検出器選択部２０９による検出器の選択方法を、予め設定することができる。例えば、評価部５０５は、実施形態４と同様に、評価データ保持部５０４に保持されている評価データを用いて、複数の検出器のそれぞれ及び対応する判定器の評価を行うことができる。そして、検出器選択部２１１は、評価部５０５による評価結果に基づいて、検出器選択部２０９による検出器の選択方法を設定することができる。カテゴリ判定の評価は、実施形態４と同様に行うことができる。
【０１４６】
例えば、検出器選択部２１１は、評価データの生成時情報（例えば、評価データに含まれる入力データを取得したカメラの撮像時情報）に、検出器を対応付けることができる。具体例として検出器選択部２１１は、評価データを用いた評価において最も高い評価が得られた検出器を、この評価データの生成時情報に対応付けることができる。最も高い評価が得られた検出器とは、例えば、最も判定精度が高い検出器、又は判定精度と処理速度に応じて定められたスコアが最も高い検出器であってもよい。別の例として、検出器選択部２１１は、判定対象が検出された画像上の位置と、この判定対象に関するカテゴリ判定において最も高い評価が得られた検出器と、を対応付けてもよい。このような対応付けに従って、検出器選択部２１１は、生成時情報又は判定対象を検出しようとする対象領域の位置に対応する検出器を選択することができる。検出器選択部２１１は、このような対応付け情報を、例えば検出器保持部２０６に格納することができる。
【０１４７】
本実施形態によれば、情報処理装置２０は複数の検出器からカテゴリ判定精度が高くなる検出器を選択することができる。また、情報処理装置５０は学習により得られた複数の検出器及び判定器を評価し、この評価結果に基づいて、情報処理装置２０による検出器の選択方法を設定することができる。このような方法により、識別精度の高いカテゴリ判定を実現することができる。
【０１４８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１４９】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために請求項を添付する。
【符号の説明】
【０１５０】
２００：撮像部、２０１：入力部、２０２：対象検出部、２０３：特徴量取得部、２０４：判定部、２０５：出力部、２０６：検出器保持部、２０７：判定器保持部、５０１：判定器学習部、５０２：学習データ保持部、５０３：検出器学習部
【図１】
2020123244.tif 000003
【図２】
2020123244.tif 000004
【図３Ａ】
2020123244.tif 000005
【図３Ｂ】
2020123244.tif 000006
【図３Ｃ】
2020123244.tif 000007
【図３Ｄ】
2020123244.tif 000008
【図４】
2020123244.tif 000009
【図５】
2020123244.tif 000010
【図６】
2020123244.tif 000011
【図７】
2020123244.tif 000012
【図８】
2020123244.tif 000013
【図９Ａ】
2020123244.tif 000014
【図９Ｂ】
2020123244.tif 000015
【図９Ｃ】
2020123244.tif 000016
【図９Ｄ】
2020123244.tif 000017
【図１０】
2020123244.tif 000018
【図１１】
2020123244.tif 000019
【図１２】
2020123244.tif 000020
【図１３】
2020123244.tif 000021
【図１４】
2020123244.tif 000022
【図１５】
2020123244.tif 000023
【図１６】
2020123244.tif 000024
【図１７】
2020123244.tif 000025
【図１８】
2020123244.tif 000026