(57)【特許請求の範囲】
【請求項１】
複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なり、かつ解像度が低い側から実施される複数段階の検出処理で検出する検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求める変動量算出部と、
前記変動量算出部が求めた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定する検出段決定部とを備えることを特徴とする検出器構成装置。
【請求項２】
前記変動量算出部が、各モダリティ種別で検出すべき属性値のそれぞれに対し、各属性値に対応する複数の教師データ間の変動を求め、該求めた各属性値に対応する教師データ間の変動に基づいて各モダリティ種別に対する前記変動の代表値を求めるものであることを特徴とする請求項１に記載の検出器構成装置。
【請求項３】
前記変動量算出部が、
各属性値に対応する複数の教師データ間の変動を求めるデータ間変動計算部と、
前記データ間変動計算部が求めた各属性値に対応する教師データ間の変動に基づいて前記変動の代表値を決定する代表値決定部とを有することを特徴とする請求項１又は２に記載の検出器構成装置。
【請求項４】
前記代表値決定部が、前記各属性値に対応する教師データ間の変動の平均値を求め、該求めた平均値を前記代表値として決定するものであることを特徴とする請求項３に記載の検出器構成装置。
【請求項５】
前記データ間変動計算部が、前記教師データをベクトルデータと見たとき、前記複数の教師データにおける同じ次元位置の要素のデータの分布を複数の次元位置に対して求め、該求めたデータの分布に基づいて前記次元位置ごとにデータの変動を求め、該次元位置ごとに求めたデータの変動に基づいて前記教師データ間の変動を求めるものであることを特徴とする請求項３又は４に記載の検出器構成装置。
【請求項６】
前記データ間変動計算部が、次元位置ごとに求めたデータの変動の変動を、前記属性値に対応する前記教師データ間の変動とするものであることを特徴とする請求項５に記載の検出器構成装置。
【請求項７】
前記データ間変動計算部が、前記複数の教師データを前記複数段階の検出処理のそれぞれに対応した解像度に変換し、前記検出処理の各段に対して、各段に対応する解像度に変換された教師データを表すベクトルデータの同じ次元位置のデータ分布を求めるものであることを特徴とする請求項５又は６に記載の検出器構成装置。
【請求項８】
前記データ間変動計算部が、前記検出処理の各段に対して前記各属性値に対応する教師データ間の変動を求め、前記代表値決定部が、前記データ間変動計算部が求めた前記検出処理の各段に対する前記各属性値に対応する教師データ間の変動に基づいて、前記検出処理の各段に対して前記変動の代表値を決定するものであることを特徴とする請求項７に記載の検出器構成装置。
【請求項９】
前記検出段決定部が、前記検出処理の各段に対して設定されたしきい値と、前記代表値決定部が各モダリティ種別について前記検出処理の各段に対して決定した変動の代表値とを比較し、前記変動の代表値が前記しきい値以上となるモダリティ種別を当該段の検出処理で検出すると決定するものであることを特徴とする請求項８に記載の検出器構成装置。
【請求項１０】
前記データ間変動計算部が、前記複数の教師データを表すベクトルデータの次元数を所定の次元数にそろえた上で、前記同じ次元位置のデータ分布を求めるものであることを特徴とする請求項５又６に記載の検出器構成装置。
【請求項１１】
前記検出段決定部が、前記複数のモダリティ種別のうち、前記代表値決定部が決定した変動の代表値が、前記複数段の検出処理を解像度が低い順に並べたときの１段目に対して設定されたしきい値Ｔｈ（１）以上となるモダリティ種別を１段目以降の検出処理で検出すると決定し、複数のモダリティ種別のうち、前記求められた変動の代表値が、ｉ＋１段目（ｉは１から検出処理の段数−１までの間の整数）に対して設定されたしきい値Ｔｈ（ｉ＋１）以上で、かつｉ段目に対して設定されたしきい値よりも小さいモダリティ種別をｉ＋１段目以降の検出処理で検出すると決定するものであることを特徴とする請求項１０に記載の検出器構成装置。
【請求項１２】
前記検出段決定部が、ある段の検出処理で検出を行うと決定したモダリティ種別に対し、当該モダリティ種別に対応する教師データの変動の代表値と所定のしきい値とを比較し、前記教師データの変動の代表値が前記所定のしきい値以上のときは、当該モダリティ種別を、前記検出を行うと決定した段よりも解像度が高い段での検出対象から除外するものであることを特徴とする請求項１から１１何れかに記載の検出器構成装置。
【請求項１３】
前記検出段決定部が、１つの検出段で複数のモダリティ種別の検出を行うと決定すると、前記１つの検出段で検出される複数のモダリティ種別に対応する教師データ間の相関を求め、該求めた相関がしきい値以上のとき前記１つの検出段で検出される複数のモダリティ種別を直列に検出すると決定するものであることを特徴とする請求項１から１２何れかに記載の検出器構成装置。
【請求項１４】
前記検出段決定部が、前記１つの検出段で検出される複数のモダリティ種別のそれぞれについて、モダリティ種別ごとに、各属性値に対応した複数の教師データから教師データの代表値を求め、複数のモダリティ種別間で属性値を組み合わせ、該組み合わせた属性値に対応する教師データの代表値の間の相関を求め、該属性値の組み合わせごとに求めた相関の代表値を求め、該求めた相関の代表値を前記複数のモダリティ種別に対応する教師データ間の相関とするものであることを特徴とする請求項１３に記載の検出器構成装置。
【請求項１５】
各モダリティ種別について、教師データに基づいて検出行列を生成する検出行列生成部を更に備える請求項１から１４何れかに記載の検出器構成装置。
【請求項１６】
複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なり、かつ解像度が低い側から実施される複数段階の検出処理で検出する検出器を構成する方法であって、
前記検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求めるステップと、
前記求められた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定するステップとを有することを特徴とする検出器構成方法。
【請求項１７】
複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なり、かつ解像度が低い側から実施される複数段階の検出処理で検出する検出器を構成する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、
前記検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求めるステップと、
前記求められた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定するステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出器構成装置、方法、及びプログラムに関し、更に詳しくは、学習用の教師データに基づいて、オブジェクトの状態や属性などを検出する検出器を構成する検出器構成装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
入力画像から、人物の顔などのオブジェクトを検出するオブジェクト検出技術が知られている。また、オブジェクト検出において、解像度（画像サイズ）が異なる複数の画像を用いてオブジェクト検出を行う技術も知られている。特許文献１は、複数階層の画像を用いてオブジェクト検出を行うことが記載された文献である。特許文献１では、入力画像に対して、その入力画像を所定の縮小率で縮小した１又は複数の縮小画像を生成する。生成された１以上の縮小画像と入力画像とは階層画像を構成する。特許文献１では、階層画像を構成する画像のそれぞれに対して、４方向別のエッジ特徴画像を生成し、各エッジ特徴画像と顔検出用の重みテーブルとを用いて顔検出処理を行う。重みテーブルは、学習に用いる教師サンプル（顔及び非顔のサンプル画像）から求められ、事前にメモリに格納されている。
【０００３】
また、特許文献１には、サイズが大きい上位の階層画像に対する顔検出を行う際に、前処理として、それより全体の画素数が少ない下位の階層画像を用いて粗検出を行うことが記載されている。例えば上位の階層画像として入力画像を考え、下位の階層画像として入力画像を半分のサイズに縮小した縮小画像を考える。入力画像における顔検出の前処理として、サイズが小さい縮小画像を用いて顔の粗検出を行い、この粗検出処理で顔が検出された場合のみ、入力画像に対して顔検出の処理を行う。特許文献１では、このようにすることで、粗検出において顔が検出されないときに、サイズが大きい上位の階層画像に対する検出処理を省略でき、処理の高速化を図ることができるとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６５３９０号公報（段落００２２、００２３、０１１９〜０１３５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、オブジェクトについて複数の種別の状態や属性を検出する場合に、それら複数の種別の状態や属性を全て粗密２段階で検出することも考えられる。しかし、粗検出において、検出対象の状態や属性が全て有意に検出できるとは限らない。検出器における検出の設計において、どの種別の状態や属性を粗検出で検出するかは、設計者が経験や勘を頼りに主観で判断している。このため、設計者に応じて設計された検出器の構成が異なる事態が生じ、必ずしも効率的に検出を行うことができなかった。これまでに、複数の種別の状態や属性を粗検出から高密な検出までの複数段階のどの段階で検出するかを客観的に決める方法は知られていなかった。
【０００６】
本発明は、上記に鑑み、解像度が異なる複数の段階で検出を行う検出器を構成する際に、各段階において検出すべき状態や属性の種別を客観的に決定できる検出器構成装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なる複数段階の検出処理で検出する検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求める変動量算出部と、前記変動量算出部が求めた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定する検出段決定部とを備えることを特徴とする検出器構成装置を提供する。
【０００８】
ここで、モダリティ種別とは、検出対象のオブジェクトの状態や属性などの種別を意味するものとする。また、教師データ間の変動とは、教師データ間のばらつきの度合いを表す値とする。変動の代表値とは、ばらつきの度合いを代表する値であるとする。変動の代表値は、ばらつきの度合いが大きいほど値が大きくなってもよく、逆にばらつきの度合いが大きいほど値が小さくなってもよい。
【０００９】
前記変動量算出部は、各モダリティ種別で検出すべき属性値のそれぞれに対し、各属性値に対応する複数の教師データ間の変動を求め、該求めた各属性値に対応する教師データ間の変動に基づいて各モダリティ種別に対する前記変動の代表値を求めることとすることができる。
【００１０】
前記変動量算出部が、各属性値に対応する複数の教師データ間の変動を求めるデータ間変動計算部と、前記データ間変動計算部が求めた各属性値に対応する教師データ間の変動に基づいて前記変動の代表値を決定する代表値決定部とを有する構成を採用することができる。
【００１１】
上記の場合、前記代表値決定部は、前記各属性値に対応する教師データ間の変動の平均値を求め、該求めた平均値を前記代表値として決定する構成とすることができる。
【００１２】
また、前記データ間変動計算部は、前記教師データをベクトルデータと見たとき、前記複数の教師データにおける同じ次元位置の要素のデータの分布を複数の次元位置に対して求め、該求めたデータの分布に基づいて前記次元位置ごとにデータの変動を求め、該次元位置ごとに求めたデータの変動に基づいて前記教師データ間の変動を求める構成とすることができる。
【００１３】
前記データ間変動計算部は、次元位置ごとに求めたデータの変動の変動を、前記属性値に対応する前記教師データ間の変動とするこができる。
【００１４】
前記データ間変動計算部は、前記複数の教師データを前記複数段階の検出処理のそれぞれに対応した解像度に変換し、前記検出処理の各段に対して、各段に対応する解像度に変換された教師データを表すベクトルデータの同じ次元位置のデータ分布を求めることとすることができる。
【００１５】
前記データ間変動計算部は、前記検出処理の各段に対して前記各属性値に対応する教師データ間の変動を求め、前記代表値決定部が、前記データ間変動計算部が求めた前記検出処理の各段に対する前記各属性値に対応する教師データ間の変動に基づいて、前記検出処理の各段に対して前記変動の代表値を決定する構成とすることができる。
【００１６】
上記の場合、前記検出段決定部は、前記検出処理の各段に対して設定されたしきい値と、前記代表値決定部が各モダリティ種別について前記検出処理の各段に対して決定した変動の代表値とを比較し、前記変動の代表値が前記しきい値以上となるモダリティ種別を当該段の検出処理で検出すると決定してもよい。なお、変動の代表値が、ばらつきの度合いが大きいほど値が小さくなるものである場合においては、変動量の代表値がしきい値以下のモダリティ種別を当該段の検出処理で検出すると決定すればよい。
【００１７】
前記データ間変動計算部は、前記複数の教師データを表すベクトルデータの次元数を所定の次元数にそろえた上で、前記同じ次元位置のデータ分布を求める構成としてもよい。
【００１８】
前記検出段決定部は、前記複数のモダリティ種別のうち、前記代表値決定部が決定した変動の代表値が、前記複数段の検出処理を解像度が低い順に並べたときの１段目に対して設定されたしきい値Ｔｈ（１）以上となるモダリティ種別を１段目以降の検出処理で検出すると決定し、複数のモダリティ種別のうち、前記求められた変動の代表値が、ｉ＋１段目（ｉは１から検出処理の段数−１までの間の整数）に対して設定されたしきい値Ｔｈ（ｉ＋１）以上で、かつｉ段目に対して設定されたしきい値よりも小さいモダリティ種別をｉ＋１段目以降の検出処理で検出すると決定してもよい。
【００１９】
前記検出段決定部は、ある段の検出処理で検出を行うと決定したモダリティ種別に対し、当該モダリティ種別に対応する教師データの変動の代表値と所定のしきい値とを比較し、前記教師データの変動の代表値が前記所定のしきい値以上のときは、当該モダリティ種別を、前記検出を行うと決定した段よりも解像度が高い段での検出対象から除外してもよい。
【００２０】
前記検出段決定部が、１つの検出段で複数のモダリティ種別の検出を行うと決定すると、前記１つの検出段で検出される複数のモダリティ種別に対応する教師データ間の相関を求め、該求めた相関がしきい値以上のとき前記１つの検出段で検出される複数のモダリティ種別を直列に検出すると決定する構成を採用することができる。
【００２１】
ここで、相関とはデータがどれだけ似通っているかを表す値とする。相関には、例えば相関係数や相互相関関数などを用いることができる。
【００２２】
上記の構成を採用する場合、前記検出段決定部は、前記１つの検出段で検出される複数のモダリティ種別のそれぞれについて、モダリティ種別ごとに、各属性値に対応した複数の教師データから教師データの代表値を求め、複数のモダリティ種別間で属性値を組み合わせ、該組み合わせた属性値に対応する教師データの代表値の間の相関を求め、該属性値の組み合わせごとに求めた相関の代表値を求め、該求めた相関の代表値を前記複数のモダリティ種別に対応する教師データ間の相関としてもよい。
【００２３】
本発明の検出器構成装置は、各モダリティ種別について、教師データに基づいて検出行列を生成する検出行列生成部を更に備える構成を採用できる。
【００２４】
本発明は、また、複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なる複数段階の検出処理で検出する検出器を構成する方法であって、前記検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求めるステップと、前記求められた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定するステップとを有することを特徴とする検出器構成方法を提供する。
【００２５】
さらに本発明は、複数のモダリティ種別のそれぞれに対して、入力データに含まれるオブジェクトの属性が複数の属性値の何れであるかを、解像度が相互に異なる複数段階の検出処理で検出する検出器を構成する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、前記検出器の学習に用いられる、各モダリティ種別に対応した複数の教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求めるステップと、前記求められた前記教師データ間の変動の代表値に基づいて、前記複数段階の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定するステップとを実行させることを特徴とするプログラムを提供する。
【発明の効果】
【００２６】
本発明の検出器構成装置、方法、及びプログラムは、モダリティ種別ごとに複数の教師データ間の変動の代表値を求め、求めた教師データ間の変動の代表値に基づいて、構成すべき検出器の複数段の検出処理のうち、各モダリティ種別をどの段の検出処理で検出するかを決定する。本発明では、教師データ間の変動に基づいて、どのモダリティ種別をどの段（どの解像度）の検出処理で検出するかを適切に決定できる。また、各段において検出すべきモダリティ種別を教師データ間の変動に基づいて客観的に決定することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施形態の検出器構成装置を示すブロック図。
【図２】検出器構成装置が構成する検出器を示す図。
【図３】教師データの基準サイズへの変換を示す図。
【図４】画素値の分布を示すグラフ。
【図５】動作手順を示すフローチャート。
【図６】教師データ間の相関の計算を示す図。
【図７】検出器の構成例を示すブロック図。
【発明を実施するための形態】
【００２８】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態の検出器構成装置を示す。検出器構成装置１０は、教師データ入力部１１、パラメータ設定部１２、変動量算出部１３、検出段決定部１４、及び検出行列生成部１５を備える。検出器構成装置１０は、入力データに含まれるオブジェクトについて、オブジェクトにおける検出対象の状態や属性（以下、検出対象のモダリティとも呼ぶ）を検出する検出器の構成を決定する。検出器構成装置１０内の各部の機能は、コンピュータが所定のプログラムに従って処理を実行することで実現できる。あるいは検出器構成装置１０内の各部の機能を、ＩＣ（Integrated Circuit）で実現してもよい。
【００２９】
図２は、検出器構成装置１０が構成する検出器を示す。検出器１００には、オブジェクトが含まれるオブジェクトデータ１０１が入力される。検出器１００には、オブジェクトデータ１０１として、例えば画像データから検出されたオブジェクトを表す画像データが入力される。検出器１００は、オブジェクトデータ１０１を入力データとし、複数のモダリティ種別のそれぞれに対して、オブジェクトデータ１０１に含まれるオブジェクトの属性が複数の属性値の何れであるかを検出する。
【００３０】
検出器１００は、第１段から第Ｎ段までのＮ段（Ｎは２以上の整数）の検出処理部１０３−１〜１０３−Ｎを有し、複数のモダリティ種別のそれぞれに対する属性値を、解像度が相互に異なる複数段階の検出処理で検出する。各段の検出処理部１０３には、解像度変換部１０２を介してオブジェクトデータ１０１が入力される。第１の検出処理部１０３−１が入力するオブジェクトデータ１０１の解像度が最も低く、次いで第２段、第３段の順に、第Ｎ段の検出処理部１０３−Ｎにおける解像度が最も高いものとする。解像度変換部１０２は、各段の検出処理部１０３における解像度に合わせて、例えばオブジェクトデータ１０１である画像のサイズを縮小又は拡大する。
【００３１】
図１に示す検出器構成装置１０は、検出器１００の各段の検出処理部１０３において、どのモダリティ種別を検出するかを決定する。また、各段において検出対象のモダリティ種別の属性検出に使用する検出用行列を生成する。
【００３２】
教師データ入力部１１は、検出器の学習に用いられる、検出対象のモダリティ種別に対応した複数の学習データ（教師データ）を入力する。変動量算出部１３は、教師データ入力部１１が入力した複数の教師データ間の変動（ばらつき）を求める。検出器１００において検出すべきモダリティの種別はＭ種類（Ｍは２以上の整数）であるとすると、検出器構成装置１０は、検出対象のモダリティ種別に対応したＭ個の教師データ入力部１１−１〜１１−Ｍを有する。また、検出器構成装置１０は、検出対象のモダリティの種類に対応したＭ個の変動量算出部１３−１〜１３−Ｍを有する。
【００３３】
各教師データ入力部１１は、対応するモダリティ種別で検出すべき属性値ごとに、複数の教師データを入力する。例えばオブジェクトが画像から検出された顔であり、モダリティ種別が顔の大きさである場合において、検出器１００にて、オブジェクトデータ１０１から大きさ１〜１７までの１７種の顔の大きさの何れであるかを検出したい場合を考える。その場合、モダリティ種別「顔の大きさ」に対応した教師データ入力部１１には、１７種の大きさのそれぞれに対して、例えば大きさ１種あたり１００個の教師データが入力される。
【００３４】
パラメータ設定部１２は、構成すべき検出器１００における検出の段数や、各段の検出処理におけるデータの解像度などを設定する。変動量算出部１３は、教師データに基づいて、モダリティ種別ごとに複数の教師データ間の変動の代表値を求める。例えばモダリティ種別「顔の大きさ」に対応した変動量算出部１３は、「顔の大きさ」に対応した教師データ入力部１１が入力する教師データに基づいて、「顔の大きさ」を学習するための複数の教師データ間のデータのばらつきを計算し、計算したばらつきに基づいて変動の代表値を求める。
【００３５】
変動量算出部１３は、まず、対応するモダリティ種別で検出すべき属性値のそれぞれに対し、各属性値に対応する複数の教師データ間の変動を求める。次いで変動量算出部１３は、求めた各属性値に対応する教師データ間の変動に基づいて変動の代表値を求める。例えば変動量算出部１３は、モダリティ種別「顔の大きさ」について、１７種類の顔の大きさのそれぞれに対して各顔の大きさに対応する複数の教師データ間の変動を求め、求めた１７個の教師データ間の変動の平均値を、モダリティ種別「顔の大きさ」に対応する変動の代表値とする。
【００３６】
検出段決定部１４は、変動量算出部１３−１〜１３−Ｍで求められた各モダリティ種別の教師データの変動の代表値に基づいて、検出器における複数段の検出処理のうち、各モダリティ種別をどの段階の検出処理で検出するかを決定する。すなわち、検出段決定部１４は、Ｍ種類のモダリティ種別のうち、どのモダリティ種別を第１段から第Ｎ段までの検出処理部１０３（図２）で検出するかを決定する。検出段決定部１４は、パラメータ設定部１２から検出段ごとのしきい値を受け取り、各モダリティ種別の変動の代表値としきい値とを比較し、どのモダリティ種別をどの段で検出すべきかを決定する。
【００３７】
検出行列生成部１５は、検出段決定部１４から、どのモダリティ種別をどの段で検出するかを示す情報を入力する。検出行列生成部１５は、各モダリティ種別について、対応する教師データに基づいて検出行列を生成する。この検出行列の生成が、教師データを用いた検出器の学習に相当する。一般に、検出行列生成部１５が行う処理は、画素実→特徴空間変換行列Ｕ１の生成、個人実→特徴空間変換行列Ｕ２の生成、及び画素→個人差特徴空間変換行列Σ１２の算出を含む。検出行列生成部１５は、教師データを検出の際の解像度に合わせた上で、行列の生成を行う。
【００３８】
変動量算出部１３は、データ間変動計算部３１及び代表値決定部３２を有する。図１では、変動量算出部１３−１にのみデータ間変動計算部３１及び代表値決定部３２を図示しているが、他の変動量算出部１３−２〜１３−Ｍも、変動量算出部１３−１と同様にデータ間変動計算部３１及び代表値決定部３２を有する。
【００３９】
データ間変動計算部３１は、複数の教師データ間のデータの変動を計算する。データ間変動計算部３１は、検出対象のモダリティ種別の属性値ごとに複数の教師データ間の変動を計算する。データ間の変動は、例えば分散や標準偏差でよい。例えばデータ間変動計算部３１は、モダリティ種別「顔の大きさ」に関し、「大きさ１」に対応して入力された１００個の教師データの間の変動を「大きさ１」に対応する教師データ間の変動として求める。データ間変動計算部３１は、残り１６種の大きさについても同様に教師データ間の変動を求める。
【００４０】
データ間変動計算部３１は、教師データをベクトルデータと見たとき、複数の教師データにおける同じ次元位置の要素のデータ分布を求める。例えば教師データが画素値が二次元に配列された画像データであるとき、データ間変動計算部３１は、複数の教師データの同じ座標の画素値の分布を求める。データ間変動計算部３１は、教師データを表すベクトルデータの複数の次元位置で要素値のデータ分布を求める。データ間変動計算部３１は、例えば教師データが１６×１６のサイズの画像データのとき、２５６の座標位置のそれぞれに対して、画素値のデータ分布を求める。
【００４１】
データ間変動計算部３１は、求めたデータの分布に基づいて、次元位置ごとにデータの変動を求める。データ間変動計算部３１は、例えば座標位置（０，０）に対して、複数の教師データにおけるその座標位置の画素値の分散を計算する。データ間変動計算部３１は、データ分布を求めた座標位置のそれぞれに対して、求めたデータ分布からデータの変動を求める。データ間変動計算部３１は、例えば２５６の座標位置のそれぞれに対して画素値のデータ分布を求めたときは、その２５６の座標位置のそれぞれに対して画素値の分散を計算する。
【００４２】
データ間変動計算部３１は、ある属性値に対応する教師データに対し、次元位置ごとに求めたデータの変動に基づいて、その属性値に対応する教師データ間の変動を求める。データ間変動計算部３１は、例えば複数の次元位置に対して求めたデータの変動の変動を教師データ間の変動として求める。例えばデータ間変動計算部３１は、モダリティ種別「顔の大きさ」の属性値「大きさ１」に対して教師データの２５６の座標位置で画素値の分散を計算した場合、その２５６の座標位置に対して計算した分散値の分散を、「大きさ１」に対応する教師データ間の変動として求める。これに代えて、座標位置に対して計算した分散値の平均や最頻値、中央値などを、「大きさ１」に対応する教師データ間の変動としてもよい。
【００４３】
代表値決定部３２は、データ間変動計算部３１で求められた属性値ごとのデータ間の変動に基づいて、教師データ間の変動の代表値を決定する。例えば代表値決定部３２は、データ間変動計算部３１で１７種の顔の大きさのそれぞれに対して求められた変動から、モダリティ種別「顔の大きさ」の変動の代表値を決定する。変動の代表値は、データ間変動計算部３１で属性値ごとに求められたデータ間の変動の平均値でよい。つまり代表値決定部３２で、各属性値に対応する教師データ間の変動の平均値を求め、求めた平均値を変動の代表値として決定してよい。これに代えて、何らかの統計的手法で求められた値を代表値としてもよい。
【００４４】
データ間変動計算部３１は、複数の教師データにおける同じ次元位置の要素のデータ分布を求める際に、教師データを検出器１００（図２）における複数段階の検出処理のそれぞれに対応した解像度に変換する。データ間変動計算部３１は、検出処理の各段に対して、各段に対応する解像度に変換された教師データを表すベクトルデータの同じ次元位置のデータ分布を求める。例えば検出器１００における検出段数が３段で、１段目が８×８のサイズ、２段目が１６×１６、３段目が３２×３２のサイズで検出を行う場合、データ間変動計算部３１は、教師データを８×８、１６×１６、３２×３２の３つのサイズに変換する。データ間変動計算部３１は、第１段から第３段までのそれぞれに対して、各段に対応するサイズ（解像度）に変換された教師データの同じ座標位置のデータ分布を求める。
【００４５】
データ間変動計算部３１は、検出処理の各段に対して、各段に対応する解像度に変換された教師データから求められた各座標位置のデータ分布に基づいて、各属性値に対応する教師データ間の変動を求める。データ間変動計算部３１は、例えば属性値「大きさ１」について、８×８のサイズに変換された教師データにおける各座標位置でのデータ分布から第１段に対する教師データ間の変動を求める。同様に、属性値「大きさ１」について、第２段に対する教師データ間の変動、及び第３段に対する教師データ間の変動を求める。データ間変動計算部３１は、モダリティ種別「顔の大きさ」の他の属性値についても、同様に第１段、第２段、及び第３段のそれぞれに対し、教師データ間の変動を求める。
【００４６】
代表値決定部３２は、データ間変動計算部３１が求めた検出処理の各段に対する属性値ごとの教師データの変動に基づいて、検出処理の各段に対して教師データの変動の代表値を決定する。例えば代表値決定部３２は、データ間変動計算部３１が、モダリティ種別「顔の大きさ」に対して属性値ごとに検出処理の第１段について求めた教師データ間の変動の平均値を求め、その平均値を「顔の大きさ」の第１段に対する教師データの変動の代表値として決定する。代表値決定部３２は、他の段についても同様に、各段について属性値ごとに求められた教師データ間の変動の平均値を求め、求めた平均値を「顔の大きさ」の各段に対する教師データの変動の代表値として決定する。
【００４７】
検出段決定部１４は、検出処理の各段に対して設定されたしきい値と、代表値決定部３２が各モダリティ種別について検出処理の各段に対して決定した変動の代表値とを比較する。検出段決定部１４は、例えばモダリティ種別「顔の大きさ」について、第１段に対して設定されたしきい値と、代表値決定部３２が第１段に対して決定した教師データ間の変動の代表値とを比較する。また、検出段決定部１４は、第２段に対して設定されたしきい値と第２段に対して決定された教師データ間の変動の代表値とを比較する。以降、検出段決定部１４は、順次段数を増加させつつ、しきい値と変動の代表値とを比較する。検出段決定部１４は、検出対象のモダリティ種別のうちで、各段に対して求められた変動の代表値が、各段に対して設定されたしきい値以上となるモダリティ種別を、少なくとも当該段の検出処理で検出すると決定する。
【００４８】
ここで、検出処理の各段に対して設定されるしきい値は、検出処理における解像度が高くなるほど値が大きい。つまり第１段に対して設定するしきい値を第２段に対して設定するしきい値よりも大きくし、第２に対して設定するしきい値を第３段に対して設定するしきい値よりも大きい。このようにしきい値を設定する場合、教師データ間の変動が大きいモダリティ種別ほど、低い解像度の検出処理で検出されることになる。なお、各段に対して設定されたしきい値は、必ずしも全てのモダリティ種別に対して同一でなくてもよい。例えばあるモダリティ種別に対するしきい値と、別のモダリティ種別に対するしきい値とは異なっていてもよい。
【００４９】
図３は、教師データの基準サイズへの変換を示す。ここでは、モダリティ種別として人物の顔の大きさを考える。顔の大きさの属性値は、大きさ１から大きさ１７までの１７種類あるとする。教師データ入力部１１には、各顔の大きさに対応して、大きさ１種あたり１００枚の教師データが入力されるものとする。データ間変動計算部３１は、各大きさ１００枚の教師データを、基準となるサイズに拡大又は縮小する。基準となるサイズは、検出器１００における検出処理の各段に対応したサイズである。例えば基準となるサイズは、第１段は８×８、第２段は１６×１６、第３段は３２×３２のように設定される。
【００５０】
教師データの基準サイズへの変換に際して、複数の教師データ間で基準位置となる位置を決めておき、その位置から所定の範囲をトリミングしてもよい。例えばデータ間変動計算部３１が、「大きさ１」の１００枚の教師データのそれぞれについて、各教師データの含まれる目の位置を特定し、目の位置から所定の範囲をトリミングしてもよい。「大きさ１」」以外の大きさについても、同様に目の位置から所定範囲をトリミングする。データ間変動計算部３１は、トリミングされた教師データを基準サイズに変換する。このようにトリミングすることで、変動を求める前に、複数の教師データ間で顔の位置を揃えることができる。
【００５１】
データ間変動計算部３１は、各教師データを基準サイズに拡大又は縮小した上で、大きさ１から大きさ１７までの各大きさに対して、教師データ間の変動を計算する。ここでは、基準となるサイズをｐ×ｑとする。データ間変動計算部３１は、大きさ１種類あたり、ｐ×ｑ個の座標位置で、１００枚の教師データの画素値の分散を求める。図４は、画素値の分布を示す。同図において、グラフの横軸は画素値を表し、縦軸は出現度数を表している。各画素値は０から２５５の何れかを取るものとする。１００枚の教師データにおいて、各座標位置での画素値の分布を求めると、図４に示すグラフが得られる。各座標位置での画素値の分布から、ｐ×ｑ個の分散値が求まる。
【００５２】
データ間変動計算部３１は、例えば「大きさ１」について、各座標位置に対して求められたｐ×ｑ個の分散値の分散を求め、求めた分散値を「大きさ１」に対する教師データ間の変動とする。データ間変動計算部３１は、残りの１６種の大きさについても、同様にｐ×ｑ個の分散値の分散を求め、各大きさに対する教師データ間の変動とする。代表値決定部３２は、データ間変動計算部３１で１７種の大きさのそれぞれに対して求められた分散値を平均し、その平均値をモダリティ種別「顔の大きさ」に対する変動の代表値とする。
【００５３】
データ間変動計算部３１は、基準サイズを変更しながら各属性値に対する教師データの変動を求め、代表値決定部３２は、検出器１００（図２）における検出処理の各段に対応して、「顔の大きさ」に対する教師データ間の変動の代表値を決定する。例えば検出器１００における検出の段数が３（Ｎ＝３）であるとき、代表値決定部３２は、第１段に対する「顔の大きさ」の教師データ間の変動の代表値と、第２段に対する「顔の大きさ」の教師データ間の変動の代表値と、第３段に対する「顔の大きさ」の教師データ間の変動の代表値とを決定する。
【００５４】
検出段決定部１４は、第１段に対する「顔の大きさ」の教師データ間の変動の代表値と、第１段に対して設定されたしきい値Ｔｈ（１）とを比較する。検出段決定部１４は、第１段に対する「顔の大きさ」の教師データ間の変動の代表値がしきい値Ｔｈ（１）以上のとき、モダリティ種別「顔の大きさ」を第１段の検出処理部１０３−１（図２）で検出すると決定する。また検出段決定部１４は、第２段に対する「顔の大きさ」の教師データ間の変動の代表値が、第２段に対して設定されたしきい値Ｔｈ（２）以上のとき、モダリティ種別「顔の大きさ」を第２段の検出処理部１０３−２で検出すると決定する。
【００５５】
検出段決定部１４は、段数が検出処理部１０３の最終段に到達するまで、しきい値と変動の代表値との比較を行い、「顔の大きさ」を検出器１００のどの検出処理部１０３で検出するかを決定する。なお、検出段決定部１４は、あるモダリティ種別について、ある段の検出処理部１０３で検出すると決定したときは、しきい値と変動の代表値を比較することなく、そのモダリティ種別を、その段よりも解像度が高い段で検出すると決定してもよい。例えば、検出段決定部１４は、「顔の大きさ」について、第２段の検出処理部１０３−２で検出すると決定したとき、「顔の大きさ」についてしきい値と変動の代表値との比較を行わずに、第３段以降の検出処理部１０３において「顔の大きさ」の検出を行うと決定してもよい。
【００５６】
図５は、動作手順を示す。パラメータ設定部１２は、構成すべき検出器における検出処理部の段数や、各段の検出処理における解像度などの情報を変動量算出部１３や検出段決定部１４に設定している。また、パラメータ設定部１２は、各段に対応したしきい値などの情報を検出段決定部１４に対して設定している。教師データ入力部１１は、教師データを入力する（ステップＳ１）。ステップＳ１では、複数のモダリティ種別に対応した教師データを並列に入力してもよいし、各モダリティ種別に対応した教師データを順次に入力してもよい。
【００５７】
変動量算出部１３は、段数を表す変数ｉをｉ＝１に初期化する（ステップＳ２）。変動量算出部１３は、検出対象のモダリティ種別のうちの１つを選択する（ステップＳ３）。次いで変動量算出部１３は、選択したモダリティ種別で検出すべき属性値のうちの１つを選択する（ステップＳ４）。選択されたモダリティ種別に対応する変動量算出部１３は、選択された属性値に対応する複数の教師データのそれぞれを、第ｉ段の検出処理部１０３−ｉ（図２）で検出処理を行う際の解像度に変換する（ステップＳ５）。このとき変動量算出部１３は、解像度の変換前に、複数の教師データを基準位置から所定範囲にトリミングしてもよい。
【００５８】
変動量算出部１３は、ステップＳ５で解像度が変換された教師データに基づいて、教師データ間の変動を求める（ステップＳ６）。ステップＳ６では、データ間変動計算部３１は、教師データをベクトルデータと見たとき、複数の教師データにおける同じ次元位置の要素のデータ分布を求め、求めたデータの分布に基づいて、次元位置ごとにデータの変動を求める。データ間変動計算部３１は、次元位置ごとに求めたデータの変動に基づいて、ステップＳ４で選択された属性値に対応する教師データ間の変動を求める。
【００５９】
変動量算出部１３は、ステップＳ３で選択されたモダリティ種別に未処理の属性値が存在するか否かを判断する（ステップＳ７）。変動量算出部１３は、未処理の属性値が存在するときはステップＳ４に戻り、未処理の属性値の中から１つを選択する。変動量算出部１３は、未処理の属性値がなくなるまで、ステップＳ４からステップＳ７までを繰り返し実行し、ステップＳ３で選択されたモダリティ種別の全ての属性値に対応する教師データ間の変動を求める。
【００６０】
変動量算出部１３は、ステップＳ７で未処理の属性値が存在しないと判断すると、ステップＳ３で選択されたモダリティ種別に対する教師データ間の変動の代表値を求める（ステップＳ８）。ステップＳ８では、代表値決定部３２は、ステップＳ４からステップＳ７までを繰り返し実行することで求められた、各属性値に対応する教師データ間の変動の分散を求める。代表値決定部３２は、求めた分散値を、ステップＳ３で選択されたモダリティ種別に対する教師データ間の変動の代表値として決定する。
【００６１】
変動量算出部１３は、未処理のモダリティ種別が存在するか否かを判断する（ステップＳ９）。変動量算出部１３は、未処理のモダリティ種別が存在するときはステップＳ３に戻り、未処理のモダリティ種別の中から１つを選択する。変動量算出部１３は、未処理のモダリティ種別がなくなるまでステップＳ３からステップＳ９までを繰り返し実行する。ここまでのステップで、検出対象のモダリティ種別の全てに対し、各モダリティ種別に対応する教師データ間の変動の代表値が得られる。
【００６２】
検出段決定部１４は、各モダリティ種別に対応する教師データ間の変動の代表値と、第ｉ段目に対して設定されたしきい値Ｔｈ（ｉ）とを比較する（ステップＳ１０）。検出段決定部１４は、教師データ間の変動の代表値がしきい値Ｔｈ（ｉ）以上であるか否かを判断し（ステップＳ１１）、検出対象のモダリティ種別のうち、教師データ間の変動の代表値がしきい値Ｔｈ（ｉ）以上のモダリティ種別を、第ｉ段目の検出処理部１０３−ｉで検出するモダリティ種別と決定する（ステップＳ１２）。検出段決定部１４は、第ｉ段の検出処理部１０３−ｉで検出するモダリティ種別が複数あるときは、それらモダリティ種別を並列に検出するように第ｉ段の検出処理部１０３−ｉを構成することができる。あるいは検出段決定部１４は、複数のモダリティ種別を直列に（カスケードに）検出するように第ｉ段の検出処理部１０３−ｉを構成してもよい。
【００６３】
検出行列生成部１５は、検出段決定部１４が第ｉ段目の検出処理部１０３−ｉで検出すると決定したモダリティ種別に対し、そのモダリティ種別に対応する教師データに基づいて検出行列を生成する（ステップＳ１３）。検出行列生成部１５は、第ｉ段目の検出処理部１０３−ｉでの各モダリティ種別の属性値の検出の仕方に合わせて検出用行列を生成する。検出行列生成部１５は、生成した検出用行列が検出器１００において利用可能となるように、検出用行列を出力する。あるいは検出用行列の生成・出力に代えて、又はこれに加えて、第ｉ段目の検出処理部１０３−ｉにて検出すべきモダリティ種別を特定する情報をディスプレイなどの出力装置に出力してもよい。
【００６４】
変動量算出部１３は、検出処理部１０３の最終段まで処理を終えたか否かを判断する（ステップＳ１４）。すなわち、変動量算出部１３は、変数ｉがＮまで到達したか否かを判断する。変動量算出部１３は、最終段まで処理を終えていないと判断すると、変数ｉの値を１つ増加させ（ステップＳ１５）、ステップＳ３に戻る。検出処理部１０３の最終段に到達するまでステップＳ３からステップＳ１５を繰り返し実行することで、検出処理部１０３の各段で、どのモダリティ種別を検出対象とするかを決定する。なお、検出対象のモダリティ種別は少なくとも１つの段の検出処理部１０３で検出される必要があるため、最終段の検出処理部１０３−Ｎまでの何れでも検出対象として選ばれなかったモダリティ種別があるとき、そのモダリティ種別は最終段の検出処理部１０３−Ｎで検出されることとすればよい。
【００６５】
ここで、教師データ間の変動が大きいとき、その教師データを学習することで得られる検出器は、ばらつきが大きい複数の入力データのそれぞれに対して属性値を正しく判別できると考えられる。その場合には、入力データの解像度がある程度低くても、検出器において属性値をある程度の分解能で検出可能であると考えられる。つまり、教師データ間の変動が大きいほど、その教師データを用いて学習される検出器は粗い検出（低い解像度での検出）でもある程度正しく属性値を検出可能であると考えられる。このように、教師データ間の変動と、検出において有意な検出が可能な解像度との間には、ある程度の相関関係があると考えられる。
【００６６】
本実施形態では、モダリティ種別ごとに複数の教師データ間の変動の代表値を求め、求めた教師データ間の変動の代表値に基づいて、構成すべき検出器の複数段の検出処理のうち、各モダリティ種別をどの段の検出処理で検出するかを決定する。上記のように、教師データ間の変動と、検出において有意な検出が可能な解像度との間には、ある程度の相関関係があるため、教師データ間の変動に基づいて、どのモダリティ種別をどの段（どの解像度）の検出処理で検出するかを適切に決定することができる。本実施形態では、構成される検出器において、複数段階の検出を組み合わせた効率的な検出が可能である。また、本実施形態では、各段において検出すべきモダリティ種別を教師データ間の変動に基づいて客観的に決定することができる。
【００６７】
本実施形態では、教師データの解像度を各段の検出処理における解像度に変換した上で変動の代表値を求めている。このようにすることで、検出器において入力データが変換される解像度の教師データ間の変動に基づいて検出段を決定することができ、より正確に各段の検出において各モダリティ種別が検出可能か否かを判断できる。また、本実施形態では、検出処理の各段に対して設定されるしきい値を、検出処理における解像度が高くなるほど値が大きくなるように設定する。このように設定する場合、教師データ間の変動が大きいモダリティ種別は粗い検出を許容するため、粗い検出を許容するモダリティ種別を解像度が低い検出で検出する検出器を構成することができる。
【００６８】
検出器構成装置１０は、超解像の分野における検出器を構成する用途に用いることができる。超解像の分野における検出器には、複数のモダリティ種別のそれぞれについて、入力データの属性が多数の属性値のうちのいずれであるかを正しく検出する能力が要求される。また、処理速度にも高速性が要求される。本実施形態では、従来設計者が経験的に手作業で行っていた各モダリティ種別をどの検出段で検出するかを教師データ間の変動に基づいて自動的に決定でき、効率的な検出を行う検出器を自動的に構成することができる。
【００６９】
なお、実際の検出器を構成する際には、いくつかのモダリティ種別について、要求される検出精度などに応じて、解像度が高い側の検出処理部１０３（図２）における検出を省略してもよい。例えば検出段数を３段とするとき、あるモダリティ種別について２段目までの検出処理で要求される分解能で属性値が検出可能であるときは、３段目の検出処理における検出は省略してもよい。また、ある段の検出処理部１０３は、その前段に位置する検出処理部１０３から検出結果を受け取り、検出範囲を狭めて検出を行ってもよい。前段に位置する検出処理部１０３における検出結果を利用して位置補正など補正処理を行い、補正後のデータを後段の検出処理部１０３に入力してもよい。さらに例えば顔検出を行ってから顔の複数のモダリティ種別の属性値を検出するような場合において、顔検出で得られた情報をモダリティ種別の属性値の検出に用いることも可能である。
【００７０】
ある段の検出処理において検出されるモダリティ種別が、その段の検出処理で検出精度を満足する場合は、そのモダリティ種別を、その段よりも解像度が高い段における検出対象から除外してもよい。例えば検出段決定部１４は、図５のステップＳ１２で第ｉ段目の検出処理で検出すると決定したモダリティ種別に対して、そのモダリティ種別に対応する教師データの変動の代表値と所定のしきい値とを比較する。検出段決定部１４は、教師データの変動の代表値が所定のしきい値以上のときは、そのモダリティ種別をステップＳ３でモダリティ種別を選択する際の選択対象から除外する。このようにすることで、ある段の検出処理で検出を行うと決定したモダリティ種別のうち、教師データの変動の代表値が所定のしきい値以上のモダリティ種別を、検出を行うと決定した段よりも解像度が高い段での検出対象から除外することができる。
【００７１】
続いて、本発明の第２実施形態を説明する。本実施形態の検出器構成装置の構成は、図１に示す第１実施形態の検出器構成装置１０に構成と同様である。本実施形態では、検出段決定部１４が、第ｉ段目の検出処理部１０３−ｉ（図２）において複数のモダリティ種別を検出対象とする旨を決定したとき、その複数のモダリティ種別を並列に検出するか、直列に検出するか、或いは並列と直列とを組み合わせて検出するかを決定する点が、第１実施形態と相違する。その他の点は第１実施形態と同様である。
【００７２】
検出段決定部１４は、図５のステップＳ１２で第ｉ段目の検出処理部１０３−ｉで検出するモダリティ種別と決定してモダリティ種別が複数あるときは、それらモダリティ種別に対応する教師データ間の相関（類似性）を求める。検出段決定部１４は、例えばモダリティ種別「顔の大きさ」と「顔の向き」とを同じ段で検出すると決定したときは、「顔の大きさ」に対応する教師データと、「顔の向き」に対応する教師データとの間で相関を求める。検出段決定部１４は、相関の値を所定のしきい値でしきい値処理し、複数のモダリティ種別に対応する教師データ間の類似度が高いときは複数のモダリティ種別を直列に検出すると決定する。検出段決定部１４は、教師データ間の類似度が低いときは、複数のモダリティ種別を並列に検出すると決定する。
【００７３】
検出段決定部１４は、同じ検出段で検出される複数のモダリティ種別のそれぞれについて、モダリティ種別ごとに、各属性値に対応した複数の教師データの代表値を求める。検出段決定部１４は、例えばモダリティ種別「顔の大きさ」について、１７種の顔の大きさのそれぞれに対応する複数の教師データの代表値を求める。検出段決定部１４は、例えば教師データの画素ごとの画素値の平均値や最頻値、中央値などを代表値として求める。また、検出段決定部１４は、モダリティ種別「顔の向き」について、４×９種の顔の向きのそれぞれに対応する複数の教師データの代表値を求める。
【００７４】
検出段決定部１４は、複数のモダリティ種別間で属性値を組み合わせ、組み合わせた属性値に対応する教師データの代表値間の相関を求める。検出段決定部１４は、例えば「顔の大きさ」の１７種の大きさと、「顔の向き」の４×９種の向きとを組み合わせ、それそれぞれに対応する教師データの代表値の間の相関を求める。検出段決定部１４は、属性値の組み合わせごとに求めた相関の代表値を求める。検出段決定部１４は、例えば属性値の組み合わせごとに求めた相関の平均値、最頻値、中央値、最小値、最大値、絶対値の最小値、又は絶対値の最大値を、代表値として求める。求められた代表値が、複数のモダリティ種別に対応する教師データ間の相関となる。
【００７５】
図６は、教師データ間の相関の計算を示す。ここでは、モダリティ種別として「顔の大きさ」と「顔の向き」とを考える。各教師データは、基準となるサイズに拡大又は縮小されているものとする。検出段決定部１４は、「顔の大きさ」に対して、大きさ１種あたり１００枚の教師データから代表値（代表画像）を求める。検出段決定部１４は、１７種の回の大きさの全てについて、代表画像を求める。検出段決定部１４は、「顔の向き」についても同様に、４×９種の顔の向きに対してそれぞれ代表画像を求める。
【００７６】
検出段決定部１４は、大きさ１の代表画像と、４×９種の顔の向きの代表画像との組み合わせを生成し、そのそれぞれの間で相関を求める。検出段決定部１４は、例えば大きさ１の代表画像と、４×９種の顔の向きの代表画像とのそれぞれの間で相関係数又は相互相関を計算する。検出段決定部１４は、残り１６種の大きさについても同様に、各大きさの代表画像と、４×９種の顔の向きの代表画像とのそれぞれの間で相関係数又は相互相関を計算する。検出段決定部１４は、例えば求めた１７×（４×９）の相関係数又は相互相加の平均値を代表値として求める。
【００７７】
検出段決定部１４は、求めた相関の代表値をしきい値判断する。検出段決定部１４は、相関の代表値がしきい値以上のとき、つまり、相関の代表値が１に近く２つのモダリティ種別に対応する教師データ間の類似度が高いとき、２つのモダリティ種別を直列に検出すると決定する。この場合、第ｉ段目の検出処理部１０３−ｉにおいて、例えば「顔の向き」が４×９種の顔の向きの何れであるかが検出された後に「顔の大きさ」が１７種の顔の大きさの何れであるかが検出されることになる。検出段決定部１４は、相関の代表値がしきい値よりも小さいとき、つまり、相関の代表値が１に遠く２つのモダリティ種別に対応する教師データ間の類似度が低いとき、２つのモダリティ種別を並列に検出すると決定する。この場合、第ｉ段目の検出処理部１０３−ｉにおいて、例えば「顔の大きさ」の１７種と「顔の向き」の４×９種との総当たりで１７×（４×９）通りの顔の大きさと顔の向きとの組み合わせが検出されることになる。
【００７８】
本実施形態では、同じ検出段で検出される複数のモダリティ種別に対応する教師データ間の相関を求め、求めた相関がしきい値以上のとき、その段で検出される複数のモダリティ種別を直列に検出すると決定する。モダリティ種別間で相関が高いということは、互いの教師データが似通っており、例えば顔の大きさと顔の向きとを同じ段で検出するとき、顔の大きさが特定できていなくても、顔の向きを検出可能である。本実施形態では、直列での検出が可能であるか否かをモダリティ種別間の教師データの相関に基づいて判断している。例えば顔の大きさと顔の向きとを並列で検出しようとすると、１７×（４×９）通りの検出が必要である。直列での検出が可能なモダリティ種別を直列で検出することで、検出する必要がある組み合わせを例えば１７＋（４×９）通りに減らすことができ、構成する検出器１００において、より効率的な検出が可能となる。
【００７９】
図７は、検出器の構成例を示す。例えばモダリティ種別として「顔の大きさ」、「顔の向き」、及び「顔の位置」の３つを考える。また、検出段数は、粗検出（第１段）、中密検出（第２段）、及び高密検出（第３段）の３段を考える。検出器構成装置１０は、粗検出において「顔の向き」と「顔の位置」とを検出し、中密検出において「顔の大きさ」と「顔の位置」とを検出し、高密検出において「顔の位置」を検出すると決定したとする。「顔の向き」は、粗検出で所期の検出精度が得られるとして中密検出以降の検出において検出対象から除外されているとする。「顔の大きさ」は、中密検出で所期の検出精度が得られるとして高密検出において検出対象から除外されているとする。
【００８０】
粗検出で検出する「顔の向き」と「顔の位置」とは教師データ間の相関が低く、それらは粗検出において並列に検出される。一方、中密検出で検出する「顔の大きさ」と「顔の位置」とは教師データの相関が高く、それらは中密検出において直列に検出される。ある段で複数のモダリティ種別を直列に検出する場合において、何れを先に検出するかは、モダリティ種別に対応した教師データの変動の代表値に基づいて決定することができる。例えば検出段決定部１４は、「顔の位置」に対応する教師データの変動の代表値が、「顔の大きさ」に対応する教師データの変動の代表値よりも大きとき、中密検出において先に「顔の位置」を検出し、その次に「顔の大きさ」を検出すると決定する。
【００８１】
検出器を図７に示すように構成する場合、中密検出において「顔の位置」と「顔の大きさ」とを直列に検出することで、それらを並列に検出する場合に比して、検出処理の処理負担を軽減できる。また、中密検出における「顔の位置」の検出に際しては、粗検出における「顔の位置」で検出された位置の検出結果を用いて検出の範囲を絞り込むことができる。高密検出おける「顔の位置」の検出についても、中密検出における「顔の位置」で検出された位置の検出結果を用いて検出の範囲を絞り込むことができる。複数の解像度の検出を組み合わせ、位置を検索する範囲を絞り込むことで、効率的な検出が可能である。
【００８２】
なお、上記各実施形態では、主にオブジェクトデータ１０１（図２）や教師データが画像データであるとして説明したが、これには限定されない。オブジェクトデータ１０１や教師データは、ベクトルデータとして表すことができる多次元のデータであればよい。また、オブジェクトは人物の顔には限定されない。
【００８３】
上記各実施形態では、教師データを各検出段における解像度に変換した上で教師データ間の変動を求めたが、これには限定されない。例えば教師データを表すベクトルデータの次元数を変換せずに教師データ間の変動を求めてもよく、また教師データを表すベクトルデータの次元数を所定の次元数にそろえた上で教師データ間の変動を求めてもよい。これらの場合、変動量算出部１３は、検出処理の各段に対して教師データの変動を求めるのに代えて、すなわち検出処理の段数分の教師データの変動を求めるのに代えて、教師データの変動を１つ求めればよい。
【００８４】
上記の場合、検出段決定部１４は、複数のモダリティ種別のうち、代表値決定部３２が決定した変動の代表値が、複数段の検出処理を解像度が低い順に並べたときの１段目に対して設定されたしきい値Ｔｈ（１）以上となるモダリティ種別を１段目以降の検出処理で検出すると決定すればよい。また、検出段決定部１４は、複数のモダリティ種別のうち、変動の代表値が、ｉ＋１段目（ｉは１から検出処理の段数−１までの間の整数）に対して設定されたしきい値Ｔｈ（ｉ＋１）以上で、かつｉ段目に対して設定されたしきい値Ｔｈ（ｉ）よりも小さいモダリティ種別をｉ＋１段目以降の検出処理で検出すると決定すればよい。ここで各段に対応したしきい値は、任意の段数ｉについてしきい値Ｔｈ（ｉ）＞Ｔｈ（ｉ＋１）が満たされるように設定されているとする。
【００８５】
第２実施形態においては、検出段は１段でもよい。その場合、検出器構成装置１０は、検出対象の複数もモダリティ種別のうち、教師データ間の相関が高いモダリティ種別は並列に検出し、相関が低いモダリティ種別は直列に検出するように検出器を構成する。直列に検出できるモダリティ種別を直列で検出することで、そのモダリティ種別を並列に検出する場合に比して処理時間を短縮できる。また、直列に検出できないモダリティ種別は並列に検出することで、誤検出の発生を抑制できる。すなわち、直列検出と並列検出とを適宜組み合わせることで、検出精度を落とさずに処理時間を短縮できる。第２実施形態において検出段数を１段とする場合、どのモダリティ種別の検出を並列で行い、どのモダリティ種別の検出を直列で行うかを、教師データに基づいて客観的な判断基準で決定できるという効果が得られる。
【００８６】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の検出器構成装置、方法、及びプログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【符号の説明】
【００８７】
１０：検出器構成装置
１１：教師データ入力部
１２：パラメータ設定部
１３：変動量算出部
１４：検出段決定部
１５：検出行列生成部
３１：データ間変動計算部
３２：代表値決定部
１００：検出器
１０１：オブジェクトデータ
１０２：解像度変換部
１０３：検出処理部
【図１】
0005570895.tif 000002
【図２】
0005570895.tif 000003
【図３】
0005570895.tif 000004
【図４】
0005570895.tif 000005
【図５】
0005570895.tif 000006
【図６】
0005570895.tif 000007
【図７】
0005570895.tif 000008