"入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査手段と、前記検出ウィンドウ内の画像が、検出対象の被写体全体か否かを判定し、被写体候補を出力する被写体全体判定手段と、前記被写体候補同士に所定の重なりがある場合に重なりのある前記被写体候補の組みを出力する被写体候補重複判定手段と、あらかじめ前記検出ウィンドウ上に1つまたは複数の部分領域を設定し、各々の領域が被写体の一部であるか否かを判定する被写体部分判定手段と、前記被写体候補重複判定手段が出力する前記被写体候補の組みについて、被写体部分判定手段の結果に基づき被写体か否かを総合的に判定する被写体判定手段とを有し、前記検出ウィンドウ走査手段は、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補の組みは、それぞれの組みにおいてサイズの異なる被写体候補を少なくとも1つ有することを特徴とする画像処理装置。前記被写体候補の各組について、最もサイズの大きな前記被写体候補を基準とし、同じ組の他の前記被写体候補との重複領域の位置関係に基づいて判定に必要な前記部分領域を選択する被写体部分判定選択手段を有することを特徴とする請求項1に記載の画像処理装置。前記所定の重なりとは、2つの前記被写体候補の外接矩形の重複した面積と前記被写体候補の面積に基づいて算出される第1の重複度が所定の範囲であることを特徴とする請求項1又は2に記載の画像処理装置。前記被写体部分判定選択手段が基づく位置関係は、それぞれの前記部分領域と前記重複領域との第2の重複度であることを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。前記被写体部分判定手段は、各々の領域において、被写体の一部であるか被写体全体であるかを評価して被写体の一部か否かを判定することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。前記被写体判定手段は、前記第2の重複度に応じて、前記被写体部分判定手段が出力する各部分ごとのスコアの重みを設定して被写体か否かを判定することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。前記検出対象の被写体とは直立または歩行する人物であることを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査工程と、前記検出ウィンドウ内の画像が、検出対象の被写体全体か否かを判定し、被写体候補を出力する被写体全体判定工程と、前記被写体候補同士に所定の重なりがある場合に重なりのある前記被写体候補の組みを出力する被写体候補重複判定工程と、あらかじめ前記検出ウィンドウ上に1つまたは複数の部分領域を設定し、各々の領域が被写体の一部であるか否かを判定する被写体部分判定工程と、前記被写体候補重複判定工程が出力する前記被写体候補の組みについて、被写体部分判定工程の結果に基づき被写体か否かを総合的に判定する被写体判定工程とを有し、前記検出ウィンドウ走査工程は、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補の組みは、それぞれの組みにおいてサイズの異なる被写体候補を少なくとも1つ有することを特徴とする画像処理方法。請求項8に記載の方法の各工程をコンピュータに実行させるためのプログラム。特許文献1、特許文献2及び非特許文献1に開示される技術では、人物の検出を高精度で行えないという課題があった。具体的には、検出しようとする被写体の一部を被写体として検出したり、検出結果と実際の被写体の位置が近いがサイズが異なったり、位置がずれるために誤った検出結果となってしまうという課題があった。特許文献3に開示される技術は、処理コストが高いという問題があった。その要因としては各部位ごとに複数の対象を検出しなければならないこと、被写体の候補について総合判定が必要であるので、検出対象が多数存在する場合に処理コストが高くなることが挙げられる。そこで、本発明の目的は、処理コストを抑えながら検出精度を高めることにある。本発明の画像処理装置は、入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査手段と、前記検出ウィンドウ内の画像が、検出対象の被写体全体か否かを判定し、被写体候補を出力する被写体全体判定手段と、前記被写体候補同士に所定の重なりがある場合に重なりのある前記被写体候補の組みを出力する被写体候補重複判定手段と、あらかじめ前記検出ウィンドウ上に1つまたは複数の部分領域を設定し、各々の領域が被写体の一部であるか否かを判定する被写体部分判定手段と、前記被写体候補重複判定手段が出力する前記被写体候補の組みについて、被写体部分判定手段の結果に基づき被写体か否かを総合的に判定する被写体判定手段とを有し、前記検出ウィンドウ走査手段は、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補の組みは、それぞれの組みにおいてサイズの異なる被写体候補を少なくとも1つ有することを特徴とする。本発明によれば、複数の検出対象の候補の位置関係によって、必要な場合にのみ検出対象の各部位の評価を行うので、精度と処理コストの高度な両立を図ることができる。以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。先ず、本発明の第1の実施形態について説明する。図2は、本発明の第1の実施形態における画像処理装置のハードウェア構成を示すブロック図である。図2において、CPU201は、ROM202やRAM203に格納されたプログラムに従って命令を実行する。ROM202は、不揮発性メモリであり、後述する処理を実行するためのプログラムやその他の制御に必要なプログラムやデータを格納する。RAM203は、揮発性メモリであり、フレーム画像データやパターン判別結果などの一時的なデータを記憶する。HDD204は、2次記憶装置であり、画像情報や画像処理プログラムや、被写体、非被写体のサンプルパターンなどを記憶する。これらの情報はRAM203に転送してCPU201がプログラムの実行およびデータを利用する。画像入力装置205は、デジタルビデオカメラやネットワークカメラなどであり、画像を入力する。入力装置206は、キーボードやマウスなどであり、オペレータからの入力を行う。表示装置207は、ブラウン管CRTや液晶ディスプレイなどである。ネットワークI/F208は、インターネットやイントラネットなどのネットワークと接続を行うモデムやLANなどである。ネットワークカメラなどの画像入力装置を接続して、ネットワークを介して画像を入力してもよい。バス209は、これらを接続して相互にデータの入出力を行う。本画像処理装置はオペレーティングとしてマイクロソフト社のWINDOWS登録商標XPがインストールされ、その上で動作するアプリケーションとして実装されている。図1は、第1の実施形態に係る画像処理装置の概略構成を示した図である。101は画像入力部であり、画像入力装置205が利用される。102は画像縮小部であり、所定の大きさの検出ウィンドウで様々なサイズの被写体を検出するため、入力画像を段階的に縮小する。103は検出ウィンドウ走査部であり、図8のごとく、縮小された画像上で検出ウィンドウをラスタスキャンする。104は被写体全体判定部であり、検出ウィンドウ上のパターンが被写体であるか否かを被写体の全体を評価することで判別し、被写体候補の位置を出力する。105は被写体候補重複判定部であり、被写体全体判定部が出力する前記候補から、候補同士に所定の重なりがある場合に重なりのある被写体候補の組みを出力する。106は被写体部分判定選択部であり、被写体候補重複判定部105が出力する被写体候補の各組について、基準となる候補に対する重複する他の被写体候補のサイズ比と位置関係に基づいて、評価する領域を選択する。107は被写体部分判定部であり、検出ウィンドウ上のパターンの所定の領域が被写体の一部であるか否かを判別する。108は被写体判定部であり、被写体候補重複判定部105が出力する被写体候補の各組について、被写体部分判定部107の結果に基づいて被写体か否かを総合的に判定する。図3は、本実施形態における画像から検出対象とする被写体301を示す図である。被写体は直立または歩行する人物である。302は検出ウィンドウであり、被写体の全身を含む所定の大きさの矩形である。303は被写体全体の領域の外接矩形である。本実施形態では被写体の平均的なサイズに基づくので、検出ウィンドウ302を基準としたときの外接矩形303の位置関係は一定であり、いつでも座標値を相互変換することができるが、これに限定されるものではない。304~308は被写体部分判定部107が判定する検出対象の部分領域の一例である。各部分領域は、頭部304、左上半身305、左下半身306、右上半身307、右下半身308、胴体309である。ここで左右は被写体が正面を向いていても背面を向いていても関係はなく、検出ウィンドウ302上での位置に基づいている。次に、本実施形態に係る画像処理装置の処理の流れについて図4のフローチャートを用いて説明する。本実施形態では、検出対象の被写体の一例として歩行者を検出する画像処理装置を挙げて説明する。まず、ステップS401にて、画像入力部101は、画像入力装置205から入力された各フレーム画像データをRAM203に読み込む。ここで読み込まれた画像データは、例えば8ビットの画素により構成される2次元配列のデータであり、R、G、B、3つの面により構成される。このとき、画像データがMPEG,MotionJPEG等の方式により圧縮されている場合は、画像データを所定の解凍方式にしたがって解凍し、RGB各画素により構成される画像データとする。さらに、本実施形態ではRGBデータを輝度データに変換し、輝度画像データを以後の処理に適用するものとし、RAM203に格納する。画像データとしてYCrCbのデータを入力する場合はY成分をそのまま輝度データとしてもよい。なお、RGBデータに限定されるものではなく。各画素におけるカメラと被写体との距離を示す距離画像や赤外線センサによる強度画像でもよい。また、明るさやコントラスト調整などの正規化、色変換処理を行い、ぼかし、先鋭化などの画像処理を行った1つまたは異なる画像処理を適用した複数の画像データであってもよい。次に、ステップS402において、画像縮小部102は、画像データを所定の倍率に順次段階的に縮小する。これは、本実施形態では、様々な大きさの被写体の検出に対応するため複数のサイズの画像データに対して順次検出を行うようにしたためである。図8における縮小画像801、縮小画像802および縮小画像803は、本処理によって出力された画像である。本実施形態では、1/1.2倍ずつ縮小し、縮小画像803が検出ウィンドウ302より小さくなるまで縮小を繰り返す。次に、ステップS403にて、検出ウィンドウ走査部103は、縮小された輝度画像上に検出ウィンドウ302を設定し、照合パターンを抽出する。図8に検出ウィンドウ走査手段103が検出ウィンドウ302を走査する様子を示す。本実施形態では縦横4画素おきにラスタスキャンするが、走査方法はこれに限定されるものではなく、前もって何らかの方法で走査領域を限定してもよい。例えば、オペレータが検出すべき領域を指定して限定したり、特定の色域や、時系列の入力画像で前の画像に比べて変化した領域や前の画像で検出した領域に限定したりしてもよい。また、走査の順序や飛び幅も本実施形態に限ったものではない。また、様々な大きさの被写体の検出に対応するには、検出ウィンドウ走査部103を画像の縮小をせずに検出ウィンドウ302の大きさを変更しながら走査してもよい。入力画像に対し検出ウィンドウ302を相対的に複数のサイズで設定するのであればどのように走査してもよい。次に、ステップS404にて、被写体全体判定部104は、検出ウィンドウ302の被写体全体領域を評価して、被写体か否かを判別する。具体的には、特許文献1と同様な手法を用いることができるが、これに限定されるものではない。顔画像ではなく、歩行者の画像をたくさん収集してAdaBoostによって機械学習することによって歩行者か否かを判断する判別器を獲得出来る。特許文献1によれば、t個の弱判別器をカスケード接続した判別器に検出ウィンドウ内の画像データxを入力した時、被写体であるか否かのスコアHxは、次の式で表すことができる。但し、hixは各弱判別器の出力である。Hxが所定の閾値を上回った場合に、被写体候補としてその時の検出ウィンドウ302の入力画像の座標系での頂点座標をRAM203に記憶する。次に、ステップS405、S406にて、被写体候補重複判定部105は、ステップS404で出力された被写体候補のうち、重複した候補についてグルーピングする。グルーピングには2つのステップがある。即ち、ステップS405の同一の被写体を表す被写体候補について1つにまとめる処理と、ステップS406の重複した被写体候補の位置関係に基づいて再評価するためのグルーピングである。ステップS405では、被写体候補重複判定部105は、同一の被写体を表す被写体候補について1つにまとめる処理を行う。全ての被写体候補から2つの被写体候補の組をつくり、全ての組について第1の重複度が所定の閾値TH1以上の場合には平均をとって1つにまとめる。まとめた候補と他の候補の重複度を求めなおし、閾値TH1以上の場合には1つにまとめることを、まとめることが出来なくなるまで繰り返す。ここで、被写体候補の第1の重複度の算出方法について説明する。図5に示すように、重複した2つの被写体候補を501および502とする。これらは、RAM203に記憶した検出ウィンドウ302から被写体全体の領域の外接矩形303の領域へ座標変換した矩形である。被写体候補501の面積をA1、被写体候補502の面積をA2、被写体候補501と被写体候補502の重複領域503の面積をA3とすると、被写体候補の重複度Dcは、Dc=A3A1A2-A3で表すことができる。第1の重複度の算出方法はこれに限るものではない。例えば、被写体候補501と被写体候補502の重心位置座標の距離を両候補の平均サイズで正規化した値としてもよい。被写体候補の組を1つにまとめるには、外接矩形の対応する頂点どうしの平均を求めればよい。なお、被写体全体判定手段のスコアによって重み付きの平均を求めてもよい。また、複数の候補をまとめた場合と、そうでない場合には、前者の複数の候補をまとめた方の信頼性が高いので、前者の重みが大きくなるような重みを設定し、重み付きの平均を求めてもよい。また、矩形の座標値とサイズを用いてmeanshiftなど公知のクラスタリング法によってクラスタリングを行ってもよい。次に、ステップS406では、被写体候補重複判定部105は、重複した被写体候補同士の位置関係に基づいて再評価するためのグルーピングを行う。被写体候補重複判定部105は、重複度の閾値としてTH1>TH2なる閾値TH2をあらかじめ設定しておく。被写体候補重複判定部105は、ステップS405の結果出力された全ての被写体候補について、重複度が所定の閾値TH2以上となる被写体候補で、かつ被写体サイズが着目した被写体候補未満の候補を重なりありと判定し、1つのグループと定義する。ここでは1つの候補が複数のグループに含まれていても何ら問題はない。説明の便宜上、他の候補と重なりのない各被写体候補についてもメンバが1つではあるがそれぞれをグループと呼ぶことにする。ステップS407では、ステップS412において、各グループの1つずつに着目して判定処理を行うループを構成する。先ずステップS407では、着目したグループのメンバが1つのみの場合は従来通りの処理をすればよいので、ステップS412へ進みそのまま被写体の検出結果として確定する。ステップS407において、着目したグループのメンバが複数の場合は重複がありとしてステップS408へ進む。ステップS408では、被写体部分判定選択部106は、ステップS406でグルーピングされた各グループについて、より詳細な被写体判定をする。そのために、複数の被写体部分判定部107から使用する判定手段を選択する。次に、被写体部分判定選択部106の処理の様子について図6を用いて具体的に説明する。図6は入力画像と被写体全体全体判定の結果出力される被写体候補を示した図である。601、602は被写体候補であり、RAM203に記憶した検出ウィンドウ302から被写体全体の領域の外接矩形303の領域へ座標変換した矩形である。被写体候補601は正しく被写体を検出した状態であるが、被写体候補602は被写体が抱えたバッグを頭部と間違えて候補としてしまった誤検出例である。被写体候補601と被写体候補602は、重なりがあるため同じグループとしてまとめられている。603は左下半身検出器の参照範囲である。図6において、グループの最も大きな被写体サイズの候補601を基準候補として、被写体部分判定部107の個々の部分領域について、グループ内の被写体候補602と第2の重複度Dpを求める。ここで、ある部分領域と被写体候補の第2の重複度Dpについて説明する。Dpは本実施形態では被写体候補の第1の重複度Dcとは異なり、被写体候補のサイズを考慮しないが、これに限定するものではない。図6に示すように、被写体候補601を基準とした左下半身領域603と被写体候補602とする。左下半身領域603の面積をA4、左下半身領域603と被写体候補602の重複領域604の面積をA5とすると、部分領域と被写体候補の第2の重複度Dpは、Dp=A5A4で表すことができる。Dpが所定の閾値以上の場合に、重なりありと判定する。図6においては、左上半身、右下半身、胴体の参照領域とは僅かに重なりがあるが、閾値以下のために選択されず、左下半身のみが閾値以上の重なりがあるため、選択される。次にステップS409にて、被写体の一部であるか否かの再評価を行う。すなわち、グループの最も大きな被写体サイズの候補に対し、ステップS408で選択された部分領域について被写体部分判定手段107によって評価を行う。図6においては、左下半身の領域を評価する。被写体部分判定部107は、被写体全体判定部104と同様な構成であるが、機械学習の際の学習データをそれぞれの部分の画像を用いる点が異なる。すなわち、学習データの正例としてそれぞれの領域における被写体の一部を用い、負例としてそれぞれの領域における被写体の一部でない画像を用いる。これによってそれぞれの領域において被写体の一部か否かを判断する判別器のパラメータを獲得することができる。また、別の方法として、被写体の一部であるか被写体の全体であるかの再評価を行って被写体の一部であるか否かを判定してもよい。これには、負例として被写体全体を用いて機械学習を行うことで、それぞれの領域において被写体の一部か被写体全体かを判断する判別器のパラメータを獲得することができる。被写体部分判定部107は、これに限ったものではなく、部分領域を評価してスコアを出力するのであればどのような手法を用いてもよい。次にステップS410にて、被写体判定部108は、各グループが被写体であるか否かの判定を行う。判定は次の式によって行う。ここで、jは各部分領域に付けられる番号である。wjはステップS408にて部分領域jを選択した場合は1、そうでない場合は0であるが、これに限るものではない。重複度に応じて0と1の間をとるようにしてもよい。また、Hjxが所定の閾値より低い場合には0にするようにしてもよい。これによって隠れがある被写体で参照した部分領域が人体の一部でない場合には無視することができ、隠れに対してロバストにすることができる。Hjxは各部分判別器が出力するスコアである。判別器として特許文献1を用いた場合は、各弱判別器の出力の累積値である。またthは所定の閾値である。Fxが1の場合は着目した被写体候補図6においては被写体候補602を被写体と確定し、0の場合は被写体でないと判定し候補から除外する。次に、ステップS411にて、全てのグループの判定が終了しているかを判定する。もしまだの場合はステップS407に戻り、次のグループについて同様な処理を行う。全て終了した場合は処理を終了し、被写体候補を検出結果として確定し処理を終了する。なお、グループ内で基準候補以外の被写体候補が複数ある場合には、ステップS408で個々に重複する部分領域を求め、ステップS409~ステップS410で評価することを繰り返せばよい。次に、第2の実施形態について説明する。図7は、本発明の第2の実施形態に係る画像処理装置の構成を示すブロック図である。第1の実施形態と共通する部分には同じ番号を付与している。ブロック構成としては、本実施形態の処理を実行するためのプログラムを記録したDVDまたはCDのような光ディスク212を追加し、ドライブI/F210にCD/DVDドライブなどの外部記憶入出力装置211が接続されているところが第1の実施形態と異なる。本実施形態の処理を実行するためのプログラムを記録した光ディスク212を外部記憶入出力装置211に挿入するとCPU201は記録媒体からプログラムを読み取って、RAM203に展開することで、第一実施例と同様の処理を実現することができる。次に、本発明の第3の実施形態について説明する。第1、第2の実施形態では、人物領域の検出を行うが、本実施形態は、人物以外の任意の物体に対して適用可能である。例えば、生物、顔、自動車などがある。工業、流通分野などでは生産物、部品、流通物品などの同定や検査などに適用できる。例えば顔を対象とした場合には、顔全体に対して鼻の穴を目と間違えて誤検出する場合が多く、このような誤検出の低減に本発明は特に有効である。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"