(57)【特許請求の範囲】
【請求項１】
対象物の一部または全部の位置およびサイズが既知の画像から、当該対象物の一部または全部を検出して複数の検出結果を出力する複数の検出手段と、
前記複数の検出結果の少なくとも１つに基づいて前記対象物の状態を推定する推定手段と、
前記対象物の状態に基づいて前記画像を複数のグループに分類する分類手段と、
前記分類されたグループごとに画像に含まれる複数の対象物それぞれの一部または全部を前記複数の検出手段が検出する際の前記複数の検出手段それぞれの誤検出率に基づいて、前記複数の検出手段それぞれに対する重み情報を前記グループごとに算出し、当該算出した重み情報を前記対象物の状態と関連付けて記憶手段に記憶させる重み算出手段と、
を備えることを特徴とする学習装置。
【請求項２】
前記記憶手段をさらに備えることを特徴とする請求項１に記載の学習装置。
【請求項３】
前記誤検出率は、前記複数の対象物に対して前記複数の検出手段で検出した際の、前記複数の検出手段による前記対象物の検出尤度が所定値未満の割合であることを特徴とする請求項１または２に記載の学習装置。
【請求項４】
前記重み算出手段は、前記複数の対象物に対する重み付きの前記誤検出率に基づいて、前記重み情報を算出することを特徴とする請求項１乃至３の何れか１項に記載の学習装置。
【請求項５】
請求項１乃至３の何れか１項に記載の学習装置による学習結果を用いて入力画像から対象物を検出する検出装置であって、
前記入力画像における前記対象物の状態に基づいて、当該対象物の状態に対応する前記グループの前記重み情報を参照する重み参照手段と、
前記複数の検出手段により出力された前記入力画像に対する複数の検出結果と、前記重み参照手段により参照された重み情報と、に基づいて前記対象物の最終検出結果を出力する結果出力手段と、
を備えることを特徴とする検出装置。
【請求項６】
対象物の一部または全部の位置およびサイズが既知の画像から、当該対象物の一部または全部を検出して複数の検出結果を出力する複数の検出手段と、
前記複数の検出結果の少なくとも１つに基づいて前記対象物の状態を推定する推定手段と、
前記対象物の状態に基づいて前記画像を複数のグループに分類する分類手段と、
前記分類されたグループごとに画像に含まれる複数の対象物それぞれの一部または全部を前記複数の検出手段が検出する際の前記複数の検出手段それぞれの誤検出率に基づいて、前記複数の検出手段それぞれに対する重み情報を前記グループごとに算出する重み算出手段と、
前記算出した重み情報を前記対象物の状態と関連付けて記憶する記憶手段と、
前記推定手段によって推定された入力画像における対象物の状態に基づいて、当該対象物の状態に対応する前記グループの前記重み情報を参照する重み参照手段と、
前記複数の検出手段により出力された前記入力画像に対する複数の検出結果と、前記重み参照手段により参照された重み情報と、に基づいて前記対象物の最終検出結果を出力する結果出力手段と、
を備えることを特徴とする検出装置。
【請求項７】
前記重み参照手段は、前記重み情報の値を連続値として補間することにより、前記入力画像における前記対象物の状態に応じた重み情報の値を取得することを特徴とする請求項５または６に記載の検出装置。
【請求項８】
前記画像は更に対象物の姿勢が既知であって、
前記複数の検出手段は、更に前記対象物の姿勢を検出することを特徴とする請求項１乃至４の何れか１項に記載の学習装置。
【請求項９】
前記対象物は、人物であり、
前記対象物の状態は、前記人物の大きさを示す情報、または前記人物の頭部の大きさを示す情報のうち少なくとも１つを含むことを特徴とする請求項１乃至４の何れか１項に記載の学習装置。
【請求項１０】
前記対象物の状態は、前記対象物の大きさを示す情報、前記対象物が画像に収まりきれていない程度を示す情報、前記対象物が遮蔽されている程度を示す情報、または前記対象物の姿勢を示す情報のうち少なくとも１つを含むことを特徴とする請求項１乃至４の何れか１項に記載の学習装置。
【請求項１１】
複数の検出手段と、推定手段と、分類手段と、重み算出手段とを備える学習装置の制御方法であって、
前記複数の検出手段が、対象物の一部または全部の位置およびサイズが既知の画像から、当該対象物の一部または全部を検出して複数の検出結果を出力する複数の検出工程と、
前記推定手段が、前記複数の検出結果の少なくとも１つに基づいて前記対象物の状態を推定する推定工程と、
前記分類手段が、前記対象物の状態に基づいて前記画像を複数のグループに分類する分類工程と、
前記重み算出手段が、前記分類されたグループごとに画像に含まれる複数の対象物それぞれの一部または全部を前記複数の検出手段が検出する際の前記複数の検出手段それぞれの誤検出率に基づいて、前記複数の検出手段それぞれに対する重み情報を前記グループごとに算出し、当該算出した重み情報を前記対象物の状態と関連付けて記憶手段に記憶させる重み算出工程と、
を有することを特徴とする学習装置の制御方法。
【請求項１２】
重み参照手段と、結果出力手段とを備え、請求項１１に記載の学習装置の制御方法による学習結果を用いて入力画像から対象物を検出する検出装置の制御方法であって、
前記重み参照手段が、前記推定工程により推定された前記入力画像における前記対象物の状態に基づいて、当該対象物の状態に対応する前記グループの前記重み情報を参照する重み参照工程と、
前記結果出力手段が、前記複数の検出手段により出力された前記入力画像に対する複数の検出結果と、前記重み参照手段により参照された重み情報と、に基づいて前記対象物の最終検出結果を出力する結果出力工程と、
を有することを特徴とする検出装置の制御方法。
【請求項１３】
複数の検出手段と、推定手段と、分類手段と、重み算出手段と、記憶手段と、重み参照手段と、結果出力手段とを備える検出装置の制御方法であって、
前記複数の検出手段が、対象物の一部または全部の位置およびサイズが既知の画像から、当該対象物の一部または全部を検出して複数の検出結果を出力する複数の検出工程と、
前記推定手段が、前記複数の検出結果の少なくとも１つに基づいて前記対象物の状態を推定する推定工程と、
前記分類手段が、前記対象物の状態に基づいて前記画像を複数のグループに分類する分類工程と、
前記重み算出手段が、前記分類されたグループごとに画像に含まれる複数の対象物それぞれの一部または全部を前記複数の検出手段が検出する際の前記複数の検出手段それぞれの誤検出率に基づいて、前記複数の検出手段それぞれに対する重み情報を前記グループごとに算出する重み算出工程と、
前記記憶手段が、前記算出した重み情報を前記対象物の状態と関連付けて記憶する記憶工程と、
前記重み参照手段が、前記推定手段によって推定された入力画像における対象物の状態に基づいて、前記対象物の状態に基づいて分類される複数のグループごとに前記複数の検出手段のそれぞれに対する重み情報を記憶する記憶手段から、当該対象物の状態に対応する前記グループの前記重み情報を参照する重み参照工程と、
前記結果出力手段が、前記複数の検出工程により出力された前記入力画像に対する複数の検出結果と、前記重み参照工程により参照された重み情報と、に基づいて前記対象物の最終検出結果を出力する結果出力工程と、
を備えることを特徴とする検出装置の制御方法。
【請求項１４】
請求項１１に記載の学習装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１５】
請求項１２または１３に記載の検出装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習装置の制御方法、検出装置、検出装置の制御方法、およびプログラムに関し、特に画像から対象物体を検出する際に、複数の既存の検出器を用い、対象物体の状態に応じて当該対象物体を検出するための学習装置、学習装置の制御方法、検出装置、検出装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
画像中から対象物体を検出する際、対象物体の全体もしくは対象物体の一部分を検出する検出器を用いて検出を行うのが一般的である。この際、複数の検出器を使用することで、単一の検出器のみでは検出できなかった対象物体を検出することが可能となるため、複数の検出器を用いることが一般的である。複数の検出器を使用した場合、各検出器の出力を統合し、最終的な検出結果を出力する必要がある。
【０００３】
特許文献１では、複数の検出結果の出力を統合する方法が開示されている。特許文献１では、電子部品に設けられた対象物の形状を判別する方法が記載されている。具体的には、まず対象物を撮像し、当該対象物の形状を判別するための２つの評価値を算出する。対象物の形状サイズと形状判別条件により、これら２つの評価値に対する重みを変動させ、重み付き和を求め、形状判別を行う。この手法では形状判別時に、対象物の形状サイズと予め設定された形状判別条件とによって、評価値に対する重みを決定する。この手法により、対象物の形状と形状判別条件とに合わせた判別が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５６６６８６号公報
【非特許文献】
【０００５】
【非特許文献１】C. P. Papageorgiou、M. Oren、and T. Poggio、A general framework for object detection、IEEE Computer Vision and Pattern Recognition、pp.511-562、1998
【非特許文献２】N. Dalal and B. Triggs、Histograms of Oriented Gradients for Human Detection、IEEE Computer Vision and Pattern Recognition、pp.886-893、2005
【非特許文献３】J. Friedman、T. Hastie、 and R. Tibshirani、Additive Logistic Regression: a Statistical View of Boosting、The Annals of Statistics 2000、Vol. 28、No. 2、pp.337-407
【発明の概要】
【発明が解決しようとする課題】
【０００６】
形状判別条件とその際の重みをどのように設定するかが重要であり、この重みの設定の仕方が形状判別の性能に大きく影響を与える。しかしながら、特許文献１は、重みの効率的な設定について言及していない。適切に重みの設定がなされない場合、対象物に合った重み付けが各評価値に対してできなくなり、最終的な形状判別結果も不正確なものとなってしまう。
【０００７】
すなわち、複数の出力を統合する際に、状況に合わせてそれぞれの出力に対する適切な重みを求めることができないと、出力を統合しても効果的な結果は得られにくい。そのため、状況に合わせて適切に重みを設定することが課題となる。
【０００８】
上記の課題に鑑み、本発明は、対象物の状態に適した重みの学習を行い、対象物の検出性能を向上することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成する本発明に係る学習装置は、
対象物の一部または全部の位置およびサイズが既知の画像から、当該対象物の一部または全部を検出して複数の検出結果を出力する複数の検出手段と、
前記複数の検出結果の少なくとも１つに基づいて前記対象物の状態を推定する推定手段と、
前記対象物の状態に基づいて前記画像を複数のグループに分類する分類手段と、
前記分類されたグループごとに画像に含まれる複数の対象物それぞれの一部または全部を前記複数の検出手段が検出する際の前記複数の検出手段それぞれの誤検出率に基づいて、前記複数の検出手段それぞれに対する重み情報を前記グループごとに算出し、当該算出した重み情報を前記対象物の状態と関連付けて記憶手段に記憶させる重み算出手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、対象物の状態に適した重みの学習を行い、対象物の検出性能を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】第１および第２実施形態に係る物体検出装置の構成を示す図。
【図２】第１および第２実施形態に係る物体検出装置の処理の手順を示すフローチャート。
【図３】第１実施形態における人物検出の例を示す図。
【図４】第１実施形態における対象状態推定部１１２０および分類部１１３０により、対象物の状態として対象物の頭部の大きさを推定し、推定値に基づいて学習画像を分類することを説明する図。
【図５】第１実施形態における対象状態推定部１１２０および対象状態推定部１３２０により、対象物の状態を対象物の頭部の大きさとする場合の推定方法を説明する図。
【図６】第１実施形態における対象状態推定部１１２０および対象状態推定部１３２０により、対象物の状態を画像からの対象物の見切れの程度とする場合の推定方法を説明する図。
【図７】第１実施形態における対象状態推定部１１２０および対象状態推定部１３２０により、対象物の状態を画像からの対象物の遮蔽の程度とする場合の推定方法を説明する図。
【図８】図２のＳ１１４およびＳ１２３において、複数の検出器による検出結果を組み合わせて検出対象候補とすることを説明する図。
【図９】第１実施形態における検出器重み算出部１１４０により分類ごとに算出される各検出器の重みの例を示す図。
【発明を実施するための形態】
【００１２】
（第１実施形態）
＜概要；検出器は顔・頭部・全身検出器、対象の状態は大きさ・見切れ・遮蔽＞
本実施形態に係る物体検出装置は、画像中の対象物を検出するための学習処理と、画像中の対象物の検出処理とを行う。以下の例では、検出対象物を人物として説明するが、検出対象物は人物のみに限定されるものではない。例えば、動物や植物、乗り物などの物体など、様々な対象物に対して本発明を適用できる。
【００１３】
図３は、入力された画像に人物が複数存在しており、画像中で各人物の大きさが大きく異なる場合の人物検出の一例である。以下で説明する本発明によれば、図３のようなケースで、それぞれの人物に対して適した検出器を組み合わせた検出が可能となる。例えば、既存の検出器である顔検出器と頭部検出器と全身検出器とを使用する場合に、画像中で、頭部検出器と全身検出器とにより対象人物３０１が検出され、顔検出器と頭部検出器とにより対象人物３０２が検出されたものとする。この場合、対象人物３０１に対しては画像上での人物の大きさが小さすぎて、顔検出器では検出が困難であり、たとえ顔検出器で検出できたとしてもその信頼性は低いと考えられる。他方、対象人物３０２に対しては、画像上での人物の大きさが大きすぎて、画像から見切れてしまっており全身が見えない状態であるため、全身検出器での検出が困難であり、たとえ全身検出器で検出できたとしても、その信頼性は低いと考えられる。このように、画像上での対象人物の大きさによって信頼性の高い検出器が変化するので、様々な状態をとりうる対象物を検出するためには、対象物の状態に合わせて使用する検出器の重みを変化させ、検出器の出力を統合する必要がある。つまり、図３の対象人物３０１に対しては頭部検出器と全身検出器との各重みを高くして統合し、対象人物３０２に対しては顔検出器と頭部検出器との各重みを高くして統合する。これにより、対象物の状態に適した検出が可能となる。
【００１４】
次に図４を参照して、学習画像の分類について説明する。ここで学習に使用する画像は、人物、当該人物のパーツの位置および大きさが既知であるものとする。学習時には、画像上での人物の大きさが様々である学習画像を複数枚使用して、入力された複数の学習画像に対して、顔検出器、頭部検出器、および全身検出器などの既存の複数の検出器を使用し、人物を検出する。そして、それら複数の検出器の検出結果である、顔検出器での検出結果４１１、頭部検出器での検出結果４１２、および全身検出器での検出結果４１３から、画像上の対象物の大きさなどの対象物の状態を推定する。図４では対象物の大きさを人物の頭部の大きさとし、真の頭部４０１の大きさを推定している。推定した対象物の大きさに基づいて、入力されたそれぞれの学習画像を、例えば学習画像集合４２１〜４２５までの５つの集合（グループ）に分類する。
【００１５】
この対象物の大きさに従って５つに分類された学習画像集合ごとに、使用した複数の検出器、つまり図４の例では顔検出器と頭部検出器と全身検出器との各重みを算出する。重みの算出方法については後述する。
【００１６】
図９（ａ）は、人物の大きさの分類ごとの各検出器に対する重みの例である。学習画像集合ごとに算出されたこれらの重みを不図示の記憶部に記憶しておく。検出時においては、新たに入力された画像に対し、学習時に用いた複数の検出器と同様の複数の検出器、つまり顔検出器と頭部検出器と全身検出器とを使用して検出を行う。そして、これらの検出器による１または複数の検出結果から、学習時の分類の基準となった検出対象物の状態、すなわち、人物の頭部の大きさを推定する。そして、推定した人物の頭部の大きさに対応した複数の検出器の重み、すなわち図９（ａ）のような重みを記憶部より取得する。これらの取得した重みで各検出器の検出結果を重み付けして足し合わせることにより最終的な検出結果を出力する。
【００１７】
＜物体検出装置の構成＞
図１を参照して、本実施形態に係る物体検出装置１０００の構成を説明する。物体検出装置１０００は、学習装置１１００と、検出器重み情報記憶部１２００と、検出装置１３００とを備える。学習装置１１００は、検出部１１１０と、対象状態推定部１１２０と、分類部１１３０と、検出器重み算出部１１４０とを備える。また、検出装置１３００は、検出部１３１０と、対象状態推定部１３２０と、重み参照部１３５０と、結果出力部１３６０とを備える。各構成要素は、ＲＯＭ、ＲＡＭ等に格納されたプログラムを読み出して事項する不図示のＣＰＵにより制御される。
【００１８】
まず、学習装置１１００について説明する。検出部１１１０は、学習画像が入力されると、学習画像中の人物および人物の一部を検出し、その検出情報を出力する。検出情報とは、例えば、検出した人物および人物の一部の位置と大きさ、人物および人物の一部である尤度である。人物の一部とは、例えば、顔、頭部、肩、胴体、手足などである。つまり、人物全体を検出する検出器とは全身検出器であり、人物の一部分を検出する検出器は、顔検出器、頭部検出器、肩検出器、胴体検出器、手足検出器などである。さらに、人物の一部は明示的なパーツである必要はない。例えば、人物の一部は上半身であってもよく、この場合の検出器は上半身検出器となる。また、ここで使用する検出器は必要とする検出情報を出力するのであれば、どのようなものを使用してもよく、ここでは、検出器で使用する手法は一般的に知られたものを使用する。例えば、Haar-like特徴量（非特許文献１）やHOG特徴量（非特許文献２）を使用した検出器などがある。なお、検出部１１１０で使用する検出器の数は図１では、検出器１１１１、検出器１１１２、検出器１１１３の３個として表現しているが、実際には使用する数は限定しない。
【００１９】
対象状態推定部１１２０は、検出部１１１０により検出された検出情報から、対象物の状態を推定する。対象物の状態とは、例えば、画像上における対象物の大きさである。ここでは、さらに対象物の大きさを対象物の頭部の大きさとして考える。対象物の頭部の大きさを推定するために、検出部１１１０で使用した１つの検出器の検出結果を利用してもよいし、複数の結果を利用してもよい。検出器の検出結果は、例えば、顔検出器の検出結果、頭部検出器の検出結果、全身検出器の検出結果などである。
【００２０】
ここで図５を参照して、対象状態推定部１１２０が対象物の頭部の大きさを推定する方法について説明する。真の頭部の位置および大きさが既知である学習用の人物画像を用意して、各検出器でその学習用画像に対して検出を行い、各検出器の検出結果と真の頭部の大きさとの相対的な関係を学習しておく。これにより、検出部１１１０は人物の全部もしくは一部分の大きさの情報を保持しているので、人物の頭部の大きさを推定することができる。具体的には、図５に示されるように、予め真の頭部の大きさＳが既知である学習画像に対して顔検出器で検出した顔の大きさＳｆと、真の頭部の大きさＳとの関係を学習する。同様に、真の頭部の大きさＳと頭部検出器で検出した頭部の大きさＳｈとの関係、真の頭部の大きさＳと全身検出器で検出した全身の大きさＳｗとの関係を学習する。これらの関係は、例えば、線形回帰手法により求めることができる。これにより、新たに画像が与えられたとき、各検出器の検出結果から人物の頭部の大きさを推定することができる。この推定を行う際、各検出器から人物の頭部の大きさをそれぞれ求めて平均値を算出したり、尤度を考慮した重み付き平均値を算出したりすればよい。また、ここでは複数の検出結果から人物の頭部の大きさを推定する方法を述べたが、１つの検出器の検出結果のみから推定してもよく、例えば、尤度の最も高い検出器の推定値を使用する方法などが考えられる。つまり、図５を参照して説明すると、単一の検出器のみの結果を利用する場合、顔検出器による対象物の顔の大きさＳｆ、頭部検出器による対象物の頭部の大きさＳｈ、全身検出器による対象物の全身の大きさＳｗの何れか１つから求めた対象物の頭部の大きさを推定値として使用する。なお、ここでは推定する対象物の状態を人物の頭部の大きさとして説明したが、特にこれに限定したものではない。
【００２１】
分類部１１３０は、対象状態推定部１１２０により推定された対象物の状態により、学習画像を分類する。概要説明で使用した図４を参照すると、具体的には、対象状態推定部１１２０により推定された対象物の頭部の大きさを５段階に分類し、該当する学習画像集合（学習画像集合４２１〜４２５）に振り分ける。図１および図４では説明のため分類数を５個としているが、実際には分類数は限定しない。また、学習画像と学習画像集合との関係は、必ずしも１対１である必要はなく、１枚の学習画像が１つの学習画像集合に属してもよいし、どの学習画像集合にも分類されずに分類から除外されてもよい。
【００２２】
検出器重み算出部１１４０は、分類部１１３０により分類された学習画像集合ごとに、検出部１１１０で使用した各検出器の重みを算出する。ここで、検出器重み算出部１１４０は、検出器重み算出部１１４１と、検出器重み算出部１１４２と、検出器重み算出部１１４３と、検出器重み算出部１１４４と、検出器重み算出部１１４５とを備える。これらはそれぞれ学習画像集合４２１〜４２５に対応している。学習画像集合が５つに分類されたため、検出器重み算出部も５つあるが、必ずしもこの場合に限定されない。
【００２３】
検出器重み算出部１１４０は、ここでは重みをboostingにより求める。具体的な算出方法は非特許文献３に記載の通りであるため、ここでは簡単に説明する。概要説明で使用した図１および図４を参照して説明すると、まず、分類部１１３０により分類された学習画像集合の１つ、例えば、図４における学習画像集合４２１に着目する。学習画像集合４２１に含まれる学習画像を使用して、学習画像集合４２１に対応する検出器重み算出部１１４１は、学習画像集合４２１に対応する対象物の頭部の大きさの状態における検出器の重みを各検出器の検出結果に基づいて算出する。学習画像集合４２１に含まれる学習画像中の人物について、当該人物の位置および大きさ、当該人物のパーツの位置および大きさが既知である。そのため、すべての学習画像の人物に対して、複数の検出器で検出した検出結果がそれぞれ正しいか否かを示す判定結果が得られる。Boostingにより各検出器の重みを算出する際に、各検出器を弱識別器として使用し、このとき検出器の出力する尤度が所定値以上であるか否かという２値を出力する。そして、先も述べた通り、この出力の正誤は学習画像において既知である。今、すべての学習画像の人物サンプルＮ個に対し、均等に重み１／Ｎを付ける。すべての弱識別器に対し、人物サンプルの重み付きの誤検出率を算出し、当該誤検出率が最小となる弱識別器を選択する。この時の誤検出率から、選択した弱識別器に対する重みを算出する。また、選択した弱識別器で検出できた人物サンプルに対する重みを小さく設定し、選択した弱識別器で検出できなかった人物サンプルに対する重みを大きく設定する。その後は選択した弱識別器を除外した残りの弱識別器の中で同様に、誤検出率を算出し、弱識別器を選び、識別器に対する重みを算出し、人物サンプルの重みを更新するという手順を検出器の数だけ繰り返す。この際、途中で算出される誤検出率の大きさにより処理を打ち切るなどしてもよい。この手順で得られた弱識別器の重みが、各検出器の重みである。
【００２４】
図９（ａ）は、各分類における、各検出器の重みの例を示したものである。図９（ａ）では、横軸は人物の大きさを示し、縦軸に各検出器の重みの値を示す。検出器重み算出部１１４０は、最終的に図９（ａ）に示されるような重み情報を得る。なお、重みの算出方法は、boostingに限定しない。例えば、線形回帰などその他の方法を使用することも可能である。
【００２５】
次に、検出器重み情報記憶部１２００について説明する。検出器重み情報記憶部１２００は、検出器重み算出部１１４０により算出された複数の学習画像集合における各検出器の重み情報を記憶する。このとき、学習画像集合の帰属する状態クラス情報として、状態クラスの番号だけでなく、状態の付随データとして、例えば、人物の頭部の大きさなどを一緒に記憶してもよい。なお、本実施形態では、学習装置の一部に含めていないが、検出器重み情報記憶部１２００を学習装置が含んでもよい。また、検出器重み情報記憶部１２００を後述の検出装置１３００が含んでもよい。さらに、検出器重み情報記憶部１２００は、物体検出装置１０００の外部のメモリとして設けられてもよい。
【００２６】
続いて、学習装置１１００の学習結果を使用して実際に人物を検出する検出装置１３００について説明する。新たな入力画像に対し、検出部１３１０は、学習時に使用した検出部１１１０で使用した検出器と同様の検出器を用いて、画像中の人物および人物の一部分を検出し、その検出情報を出力する。ここでは検出部１３１０は、検出器１３１１、検出器１３１２、検出器１３１３を備えており、これらは、検出器１１１１、検出器１１１２、検出器１１１３のそれぞれに対応している。
【００２７】
対象状態推定部１３２０は、検出部１３１０により検出された検出情報から、検出対象物の状態を推定する。対象状態推定部１３２０は学習時に使用した対象状態推定部１１２０と同じである必要はないが、推定する対象物の状態については同様の状態を推定する必要がある。また、検出部１３１０を構成する１つの検出器の結果を利用してもよいし、複数の検出器の結果を利用してもよい。これらの具体的な方法については既に学習装置１１００の説明で述べた方法と同様であるため、説明を省略する。さらに、検出部１３１０を構成する何れの検出器の結果も使用せずに、他の対象物に関する情報を取得する方法を用いて対象物情報を取得することにより対象物の状態を推定してもよい。例えば、対象物の大きさを推定するのであれば、対象物情報取得部として距離センサを用いて、対象物情報としての距離を得る。そしてこの距離に基づいて対象物の状態、すなわち、例えば、対象物の頭部の大きさを推定することも可能である。このときの推定に必要な距離と対象物の頭部の大きさとの関係はあらかじめ学習画像を用いて学習しておくことができる。
【００２８】
重み参照部１３５０は、対象状態推定部１３２０により推定された対象物の状態と、検出器重み情報記憶部１２００に記憶されている対象物の状態とを比較し、該当する状態の重み情報を取得する。このとき、検出器重み情報記憶部１２００が記憶している状態が学習画像集合の状態クラスの番号のみである場合は、離散値で重みを取得することになる。一方、検出器重み情報記憶部１２００が記憶している状態が学習画像集合の帰属する状態クラスの番号のみではなく、例えば人物の頭部の大きさを共に記憶している場合、各学習画像集合間の対象物の状態の重みの値を補間することができる。そのため、対象状態推定部１３２０により推定された状態に対して連続値で重みを取得することが可能である。図９（ａ）のように横軸が状態クラスの番号としての人物の大きさではなく、例えば、図９（ｂ）のように横軸が画像上での頭部の推定の画素数となる場合を考える。検出時に、頭部の推定画素数として図９（ｂ）の画素数９０１で示される大きさが対象状態推定部１３２０により求まった場合を考える。学習時に求めておいた各分類における各検出器の重み、つまり、それぞれの頭部の大きさに対する各検出器の重みから、図９（ｂ）の画素数９０１の箇所に対応する各検出器の重みを補間して算出することができる。このように連続値での頭部の大きさの値に対して、各検出器の重みが取得可能となる。
【００２９】
結果出力部１３６０は、検出部１３１０により検出された各検出器の検出情報と、重み参照部１３５０により参照された各検出器の重みとに基づいて最終的な検出結果を出力する。検出情報とは、例えば、人物および人物の一部分であるという尤度である。この各検出器の尤度に重み付けを行い、足し合わせた検出結果を算出する。出力の仕方は特に限定しないが、例えば、この算出した値をそのまま出力してもよい。また閾値との比較により、人物か否かを判断して２値で出力してもよい。
【００３０】
以上、対象物の状態を人物の大きさ、具体的には人物の頭部の大きさとして説明してきたが、実際には人物の大きさだけに限定せず、他の状態でもよい。例えば、対象物の状態を画像からの見切れ具合としてもよい。見切れ具合とは、画像における人物または人物の一部分が当該画像に収まりきれておらず、欠けている具合である。対象物の状態を画像からの見切れ具合とした場合、検出部１１１０および検出部１３１０で検出した検出対象の人物の全部もしくは一部分の位置と、さらに画像の幅と高さとから、人物のどの部分が画像からどのくらい見切れているかが推定できる。
【００３１】
図６を参照して、画像からの対象物の見切れ具合の求め方を説明する。頭部検出器により検出された頭部領域Ｒｈと、頭部領域Ｒｈのうちの画像枠から見切れている領域Ｒｈ＿ｏｕｔとの比をとることで、頭部の見切れ度ｔｈが求まる。同様に、顔検出器により検出された顔領域Ｒｆと、顔領域Ｒｆのうちの画像枠から見切れている領域Ｒｆ＿ｏｕｔとの比をとることで、顔の見切れ度ｔｆが求まる。この見切れ度により、対象物の各部位の見切れ具合を推定できる。なお、ここでは顔および頭部の見切れについてのみ例に挙げたが、上半身や全身についても同様に見切れ具合を求めることができる。図１の分類部１１３０は、例えば、人体全体としての見切れ度や、各パーツの見切れ度を状態クラスとしてＭ個の学習画像集合に分類し、検出器重み算出部１１４０は、その分類した学習画像集合ごとに、前述したboosting等の方法により検出器の重みを算出することができる。見切れ具合ごとに分類される学習画像集合とは、具体的には、全身の見切れのない画像集合、手足のみ見切れていて顔や頭部の見切れのない画像集合、顔のみ見切れのない画像集合などの分類が考えられる。
【００３２】
さらに対象物の状態を遮蔽の具合としてもよい。対象物の状態を遮蔽の具合とした場合、検出部１１１０および検出部１３１０により検出された、人物の全部もしくは一部分である尤度から、人物のどの部分が遮蔽されているかが推定できる。
【００３３】
図７を参照して、対象物の遮蔽具合の求め方を説明する。顔検出器により検出された顔の尤度ｌｆと、頭部検出器により検出された頭部の尤度ｌｈと、全身検出器により検出された全身の尤度ｌｗとが得られたものとする。全く遮蔽されていない環境下における各尤度と比較すると、図７における各尤度は、遮蔽の生じている頭部検出器の尤度が明らかに低くなり、同じく少し遮蔽されている全身の尤度が少し低くなる。遮蔽されていない環境下における尤度と、遮蔽されている環境下における尤度とを比較することにより、対象物の遮蔽の程度ｏを推定できる。ここでは、顔と頭部と全身との各遮蔽についての例を挙げたが、手足や上半身などについても同様に遮蔽具合を求めることができる。図１の分類部１１３０は、例えば、人体全体としての遮蔽具合や、各パーツの遮蔽具合を状態クラスとしてＭ個の学習画像集合に分類し、検出器重み算出部１１４０は、その分類した学習画像集合ごとに、前述の方法により検出器の重みを算出することができる。遮蔽具合ごとに分類される学習画像集合には、例えば以下のようなものがある。人物が後ろ向きである場合やサングラスをしている場合など、顔が遮蔽されている状態の画像集合や、机などにより足のみ遮蔽されている状態の画像集合、遮蔽のない状態の画像集合などである。
【００３４】
以上のように、推定した対象物の状態に従って、分類部１１３０により学習画像集合の分類を行い、検出器重み算出部１１４０で重みを算出する。対象物の状態が様々なケースに対して本発明は適用可能である。
【００３５】
＜処理手順＞
続いて、図２（ａ）−（ｃ）の各フローチャートを参照して、本実施形態に係る物体検出装置１０００の処理の手順を説明する。なお、各フローチャートに従ったプログラムは、物体検出装置１０００内の、不図示のＲＡＭやＲＯＭなどのメモリ内に格納され、不図示のＣＰＵにより読み出されて実行される。
【００３６】
ここでは学習処理と検出処理とを続けて説明するが、学習処理と検出処理とは連続して実行される必要はなく、一度学習処理を行っておけば、任意のタイミングで何度でも検出処理のみを行うことができる。
【００３７】
図２（ａ）では、まずＳ１１０において、学習装置１１００は、学習画像が準備されると学習処理を行う。次にＳ１２０において、検出装置１３００は、入力画像に対して対象物の検出処理を行う。
【００３８】
図２（ａ）のＳ１１０の学習処理の詳細について図２（ｂ）のフローチャートを参照して説明する。
【００３９】
Ｓ１１１において、学習装置１１００は、準備された全ての学習画像を処理したか否かを判定する。全ての学習画像を処理したと判定された場合（Ｓ１１１；ＹＥＳ）、Ｓ１１７へ進む。一方、全ての学習画像を処理していないと判定された場合（Ｓ１１１；ＮＯ）、Ｓ１１２へ進む。
【００４０】
Ｓ１１２において、学習装置１１００は、準備された学習画像のうちの１つを入力する。
【００４１】
Ｓ１１３において、検出部１１１０は、複数の検出器を使用して、Ｓ１１２で入力された学習画像に対して、画像中の人物および人物の一部を検出する。ここでは、複数の検出器を顔検出器、頭部検出器、全身検出器として、以下の説明を進める。ただし、使用する検出器はこれらに限定するものではない。
【００４２】
Ｓ１１４において、検出部１１１０は、複数の検出器による検出結果を関連付ける。ここでの検出結果の関連付けとは、各検出器間の検出位置の相互関係を結びつけることであり、対象物に対してすべての検出器により正しく検出が行われた場合における検出位置同士の関係を予め学習しておくことにより関連付けを行うことができる。例えば、複数の検出器を顔検出器、頭部検出器、全身検出器の３つであると仮定する。仮に、図８（ａ）のように、画像中で顔検出器の出力が２つ、頭部検出器の出力が２つ、全身検出器の出力が２つ、得られた場合を考える。顔検出器と頭部検出器と全身検出器との３つの出力を関連付けることで、対象人物候補８０１、対象人物候補８０２を得ることができる。それぞれの検出結果から対象人物候補を得ることで関連付けが完了し、画像中における関連付けされた対象人物候補の位置および各検出器の位置と尤度とが、対象状態推定部１１２０に送信される。
【００４３】
Ｓ１１５において、対象状態推定部１１２０は、対象物の状態、例えば頭部の大きさを推定する。なお、ここでは対象物の頭部の大きさを利用したが、頭部の大きさに限定しない。対象状態推定部１１２０により求められた頭部の大きさは分類部１１３０へ送信される。
【００４４】
Ｓ１１６において、分類部１１３０は、Ｓ１１５で推定された頭部の大きさに基づいて、学習画像を分類する。その後、Ｓ１１１へ戻る。
【００４５】
Ｓ１１７において、検出器重み算出部１１４０は、分類部１１３０により分類された全ての学習画像集合に対して、各検出器の重みを算出する処理が終了したか否かを判定する。全ての学習画像集合に対して処理が終了したと判定された場合（Ｓ１１７；ＹＥＳ）、処理を終了する。一方、全ての学習画像集合に対して処理が終了していないと判定された場合（Ｓ１１７；ＮＯ）、Ｓ１１８へ進む。
【００４６】
Ｓ１１８において、検出器重み算出部１１４０は、分類部１１３０により分類された学習画像集合のうちの１つにおいて、検出部１１１０で使用した複数の検出器のそれぞれに対する重みを算出する。重みを算出する処理には、前述したboosting学習や線形回帰などの手法を用いることができる。
【００４７】
Ｓ１１９において、検出器重み算出部１１４０は、算出された複数の検出器のそれぞれに対する重みと、当該重みに対応する学習画像集合のクラス情報とを、検出器重み情報記憶部１２００に記憶する。クラス情報とは、既に説明したように学習画像集合の状態クラスの番号や、分類された対象物の頭部の大きさの平均値などである。その後、Ｓ１１７に戻る。
【００４８】
以上で学習処理が終了する。
【００４９】
次に、図２（ｂ）におけるＳ１２０の検出処理の詳細について図２（ｃ）のフローチャートを参照して説明する。
【００５０】
Ｓ１２１において、検出装置１３００は、検出処理の対象となる画像を入力する。
【００５１】
Ｓ１２２において、検出部１３１０は、学習時と同じ複数の検出器を使用して、Ｓ１２１で入力された画像に対して、画像中の人物および人物の一部を検出する。
【００５２】
Ｓ１２３において、検出部１３１０は、学習時と同様に、複数の検出器の検出結果を関連付ける。それぞれの検出結果の関連付けが完了すると、関連付けされた検出結果は対象状態推定部１３２０へ送信される。
【００５３】
Ｓ１２４において、対象状態推定部１３２０は、対象物の状態を推定する。ここで対象物の状態クラス推定に必要なデータは、対象状態推定部１１２０で利用した状態の分類に用いたデータと同じものである必要がある。つまり先に挙げた例の場合、頭部の大きさを使用する必要がある。ただし、ここでの推定方法は対象状態推定部１１２０と異なっていてもよい。対象状態推定部１３２０により求められた頭部の大きさは、重み参照部１３５０へ送信される。
【００５４】
Ｓ１２５において、重み参照部１３５０は、対象状態推定部１３２０により求められた対象物の頭部の大きさに基づいて、検出器重み情報記憶部１２００から、対応する学習画像集合の状態クラス番号における各検出器の重みを取得する。もしくは学習画像集合に含まれる画像の平均値等の付随データ情報から、対象物の頭部の大きさに対する各検出器の重みを補間して取得する。重み参照部１３５０により取得された各検出器の重み情報は、結果出力部１３６０へ送信される。
【００５５】
Ｓ１２６において、結果出力部１３６０は、検出部１３１０により検出された各検出器の検出結果と、Ｓ１２５で取得された各検出器の重み情報とから、最終的な検出結果を算出する。各検出器の結果とは、人物あるいは人物の一部である尤度である。例えば、検出部１３１０において、顔検出器、頭部検出器、全身検出器を使用していたと仮定し、顔検出器の尤度をρ_f、頭部検出器の尤度をρ_h、全身検出器の尤度をρ_wとする。対象物の頭部の大きさに基づいて検出器重み情報記憶部１２００から取得された顔検出器の重みをw_f、頭部検出器の重みをw_h、全身検出器の重みをw_wとすると、最終的な検出結果fは、尤度と重みの積の和として、以下の式（１）によりで求めることができる。
【００５６】
f = ρ_f * w_f + ρ_h * w_h + ρ_w + w_w  …（１）
最終検出結果ｆの値が閾値以上であるか否かを判定することにより、例えば対象物が特定の人物であるか否かを判定することができる。
【００５７】
以上により、検出処理が終了する。以上説明したように、本実施形態によれば、対象物の状態に適した重みの学習を行うことで、対象物の検出性能を向上することができる。
【００５８】
（第２実施形態）
本実施形態に係る物体検出装置は、第１実施形態で説明した物体検出装置１０００の構成と同様のものを使用する。ただし、使用する検出器と、推定する状態とが異なる。つまり、使用する検出器は人物の一部を検出するものではなく、異なる姿勢の人物全体を検出するものである点と、推定する状態が人物の向きである点である。第１実施形態と異なり、各検出器が検出する対象物は、基本的には互いに十分異なる姿勢を有しており、検出器により異なる姿勢を有する対象物を検出し、そこから対象物の向きを推定し、各検出器に対して重み付き統合を行う。図９（ｃ）は、各向きにおける、各検出器の重みの例を示したものであり、図９（ｃ）のような重みにより、姿勢ごとの検出器の検出結果を統合する。
【００５９】
＜物体検出装置の構成＞
第１実施形態に係る物体検出装置１０００との差異は、学習装置１１００が備える検出部１１１０および対象状態推定部１１２０の各処理内容、および、検出装置１３００が備える検出部１３１０および対象状態推定部１３２０の各処理内容である。
【００６０】
まず学習装置１１００について説明する。検出部１１１０は、学習画像が入力されると、各検出器が学習画像中の各姿勢を有する人物を検出し、その検出情報を出力する。この検出情報とは、例えば、画像における位置および大きさ、人物の向き、ある特定の姿勢を持つ人物である尤度である。ここで、ある特定の姿勢とは、例えば、立位、座位、臥位といった姿勢クラスなどの他にも、正面、横向き、背面などの向きクラスに関する情報も含む。つまり、ここで用いる検出器は、例えば、立位正面検出器、座位正面検出器、立位横向き検出器、座位横向き検出器などである。また、ここで使用する検出器は必要とする検出情報を出力するのであれば、どのようなものを使用してもよい。ここでは、第１実施形態でも例に挙げたHaar-like特徴量やHOG特徴量などを使用したよく知られた検出器を用いる。さらに、検出部１３１０で使用する検出器の数は複数あるものとするが、具体的な数については限定しない。
【００６１】
対象状態推定部１１２０は、検出部１１１０により検出された検出情報から、検出対象物の状態を推定する。対象物の状態とは、例えば、人物の向きである。具体的には、対象物の状態は、正面、背面、側面を含み、斜め４５度の向きなどの中間的な向きをさらに含んでもよい。
【００６２】
対象物の向きの推定は、例えば以下のような方法で実現できる。真の対象物の向きが既知である学習用の人物画像を用意して、各検出器によりその画像に対して検出処理を行う。そして各検出器の検出結果、すなわち、どの検出器により検出されたかと、真の対象物の向きとの関係、を学習しておく。これにより、検出部１１１０において人物を検出した検出器がわかっているので、人物の向きを推定することができる。このとき、検出部１１１０で使用した１つの検出器の検出結果のみから推定してもよいし、複数の検出器の検出結果から推定してもよい。複数の検出器の検出結果から推定する場合は、複数の検出器で推定した人物の向きの平均値や、尤度を考慮した加重平均、尤度の最も高い検出器の推定値を使用する方法などが考えられる。
【００６３】
分類部１１３０、検出器重み算出部１１４０、および検出器重み情報記憶部１２００については、第１実施形態と同様であるため説明を省略する。
【００６４】
次に、検出装置１３００について説明する。検出部１３１０は、新たな入力画像に対して、学習時に検出部１１１０で使用した検出器と同様の検出器を使用し、画像においてある姿勢を持つ人物を検出し、その検出情報を出力する。
【００６５】
対象状態推定部１３２０は、検出部１３１０により検出された検出情報から、検出対象物の状態を推定する。対象状態推定部１３２０は、学習時に使用した対象状態推定部１１２０と同じである必要はないが、推定する対象物の状態が同じ、つまり先に挙げた例では、対象物の状態として対象物の向きを推定する必要がある。また、検出部１３１０が備える１つの検出器の検出結果を利用してもよいし、複数の検出器の複数の検出結果を利用してもよい。さらに、検出部１３１０のいずれの検出器の検出結果も使用せずに、対象物に対する情報を取得する他の方法を用いて、対象物の向きを推定してもよい。例えば、動画を利用する場合、動き検出器を用い、対象物の動きの向きから人物の向きを推定することが可能である。
【００６６】
重み参照部１３５０および結果出力部１３６０については、第１実施形態と差異がないため、説明を省略する。
【００６７】
＜処理手順＞
本実施形態に係る物体検出装置が行う処理について、第１実施形態で用いた図２（ａ）−（ｃ）の各フローチャートを参照して説明する。第１実施形態とはいくつかのステップが異なるのみで他は同様であるため、共通の処理については詳しい説明は省略する。
【００６８】
ここでは、学習処理と検出処理とを続けて説明するが、学習処理と検出処理とは連続して実行する必要はなく、一度学習処理を行っておけば、任意のタイミングで何度でも検出処理のみを行うことができる。
【００６９】
図２（ａ）のフローチャートについては第１実施形態と同様であるため、図２（ｂ）のフローチャートについて第１実施形態との差異を説明していく。
【００７０】
Ｓ１１１およびＳ１１２の各処理は、第１実施形態と同様である。Ｓ１１３において、検出部１１１０は、Ｓ１１２で入力された学習画像から、複数の姿勢検出器のそれぞれが画像中である姿勢を有する人物を検出する。
【００７１】
Ｓ１１４において、検出部１１１０は、複数の姿勢検出器による検出結果を関連付ける。ここでの検出結果の関連付けとは、各検出器間の検出位置の相互関係のことであり、これは、対象物に対してすべての検出器の検出結果が妥当であった場合における検出位置の関係をあらかじめ学習することにより求めることができる。例えば、複数の検出器を立位正面検出器、座位正面検出器であると仮定する。仮に、図８（ｂ）のように、画像中で立位正面検出器の出力が２つ、座位正面検出器の出力が２つ得られた場合、立位正面検出器と座位正面検出器との出力をそれぞれ関連付けることにより、対象人物候補８１１、対象人物候補８１２を得ることができる。ここで、使用している検出器は基本的には互いに異なる姿勢に対する検出器であるため、関連付けの方法はいくつか考えられる。例えば、図８（ｂ）で示したように、検出結果の位置と大きさのみに注目して、使用したすべての検出器の検出結果を関連付ける方法が考えられる。他にも、似た見かけを持つ姿勢の検出器の検出結果についてのみを関連付け、ある閾値以上に異なる見かけを持つ姿勢の検出器の検出結果については関連付けない、というように選択的に関連付ける方法もある。例えば、図８（ｃ）のように、画像中で立位正面検出器の出力が２つ、座位正面検出器の出力が２つ、座位横向き検出器の出力が１つ得られたと仮定する。
【００７２】
座位横向き検出器の検出結果は他の検出器の出力とは関連付けられず、対象人物候補８２１が得られる。そして、立位正面検出器の出力と座位正面検出器の出力とのみが関連付けられ、対象人物候補８２２、対象人物候補８２３が得られる。ここでは、関連付けるべき検出器を手動で一意に決めたが、なんらかの特徴量に基づいて自動で決めてもよい。このようにして各検出結果から対象人物候補を得ることにより関連付けが完了する。関連付けられた対象人物候補の位置および各検出器の位置および尤度が対象状態推定部１１２０に送信される。
【００７３】
Ｓ１１７において、検出器重み算出部１１４０は、分類部１１３０により分類された全ての学習画像集合に対して、各検出器の重みを算出する処理が終了したか否かを判定する。分類された学習画像集合とは、例えば、正面向き画像、正面から真横の斜め４５度向き画像、横向き画像、真横から背面の斜め４５度向き画像、背面向き画像などの画像集合である。全ての学習画像集合に対して処理が終了したと判定された場合（Ｓ１１７；ＹＥＳ）、処理を終了する。一方、全ての学習画像集合に対して処理が終了していないと判定された場合（Ｓ１１７；ＮＯ）、Ｓ１１８へ進む。
【００７４】
Ｓ１１８およびＳ１１９の各処理は、第１実施形態と同様である。以上で処理が終了する。
【００７５】
次に図２（ｃ）のフローチャートについて第１実施形態との差異を説明していく。Ｓ１２１の処理は、第１実施形態と同様である。Ｓ１２２において、検出部１３１０は、学習時と同じ複数の姿勢検出器を使用して、Ｓ１２１で入力された画像に対して、画像中で各姿勢を持つ人物を検出する。
【００７６】
Ｓ１２３において、検出部１３１０は、学習時と同様に、複数の姿勢検出器の検出結果を関連付ける。それぞれの検出結果の関連付けが完了すると、関連付けされた検出結果は対象状態推定部１３２０へ送信される。
【００７７】
Ｓ１２４およびＳ１２５の各処理は、第１実施形態と同様である。Ｓ１２６において、結果出力部１３６０は、検出部１３１０により検出された各検出器の検出結果と、Ｓ１２５で取得された各検出器の重みとから、最終的な検出結果を算出する。各検出器の結果とは、ある姿勢を持つ人物である尤度である。その後、処理が終了する。
【００７８】
以上により、検出処理が終了する。以上説明したように、本実施形態によれば、対象物の状態に適した重みの学習を行うことで、対象物の検出性能を向上することができる。
【００７９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005848551.tif 000002
【図２】
0005848551.tif 000003
【図３】
0005848551.tif 000004
【図４】
0005848551.tif 000005
【図５】
0005848551.tif 000006
【図６】
0005848551.tif 000007
【図７】
0005848551.tif 000008
【図８】
0005848551.tif 000009
【図９】
0005848551.tif 000010