入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査手段と、前記検出ウィンドウ内の画像を評価して被写体か否かを判定し、被写体候補を出力する第1被写体判定手段と、前記被写体候補のうち、互いに重複する被写体候補について位置関係を算出する被写体候補関係算出手段と、前記位置関係に基づいて被写体か否かを再判定する第2被写体判定手段とを有し、前記検出ウィンドウ走査手段は、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補関係算出手段は、所定の位置の差と、サイズ比との関係にある被写体候補の組を選択し、前記第2被写体判定手段は、前記選択した被写体候補の各組について、それぞれの前記被写体候補間の位置関係に基づいて再判定することを特徴とする画像処理装置。前記第2被写体判定手段は、前記検出ウィンドウ内の一部の参照領域を複数参照してそれぞれ評価値を算出し、複数の評価値の総和によって被写体らしさを表すスコアを算出することを特徴とする請求項1に記載の画像処理装置。前記第2被写体判定手段は、前記選択した被写体候補の各組について、ある被写体候補を再判定する際、前記参照領域に対して、前記位置関係に基づいて前記評価値に対する重みを設定することを特徴とする請求項2に記載の画像処理装置。前記第2被写体判定手段は、前記選択した被写体候補の各組について、ある被写体候補を再判定する際、前記再判定する被写体候補が、被写体なのか、重複する他の前記被写体候補の一部なのかを評価することを特徴とする請求項2に記載の画像処理装置。前記被写体候補関係算出手段は、検出対象の被写体の全体または特定部位の位置の差とサイズ比とを算出することを特徴とする請求項1~4の何れか1項に記載の画像処理装置。前記被写体とは、直立または歩行する人物であることを特徴とする請求項1~5の何れか1項に記載の画像処理装置。前記被写体候補関係算出手段は、足と全身の関係にある被写体候補の組を選択し、前記第2被写体判定手段は、足に相当する前記被写体候補の上部の重みを大きく、下部の重みを小さくして被写体であるか否かを再判定することを特徴とする請求項1~6の何れか1項に記載の画像処理装置。入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査工程と、前記検出ウィンドウ内の画像を評価して被写体か否かを判定し、被写体候補を出力する第1被写体判定工程と、前記被写体候補のうち、互いに重複する被写体候補について位置関係を算出する被写体候補関係算出工程と、前記位置関係に基づいて被写体か否かを再判定する第2被写体判定工程とを有し、前記検出ウィンドウ走査工程においては、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補関係算出工程においては、所定の位置の差と、サイズ比との関係にある被写体候補の組を選択し、前記第2被写体判定工程においては、前記選択した被写体候補の各組について、それぞれの前記被写体候補間の位置関係に基づいて再判定することを特徴とする画像処理方法。請求項8に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。しかしながら特許文献1及び3、並びに非特許文献1に記載の技術では、検出しようとする被写体の一部を被写体として検出したり、検出結果と実際の被写体の位置が近いがサイズが異なったり、位置がずれたりしているために誤った検出結果となることがある。したがって、人物の検出を高精度で行うことができないという課題があった。また、特許文献2に記載の技術は、同一の被写体に対する複数の候補を統合するものであり、被写体付近の誤検出を低減する作用は小さい。本発明は前述の問題点に鑑み、検出対象の付近に発生する誤検出を低減して検出精度を高めることができるようにすることを目的としている。本発明の画像処理装置は、入力画像に対して検出ウィンドウを走査する検出ウィンドウ走査手段と、前記検出ウィンドウ内の画像を評価して被写体か否かを判定し、被写体候補を出力する第1被写体判定手段と、前記被写体候補のうち、互いに重複する被写体候補について位置関係を算出する被写体候補関係算出手段と、前記位置関係に基づいて被写体か否かを再判定する第2被写体判定手段とを有し、前記検出ウィンドウ走査手段は、前記入力画像に対する前記検出ウィンドウを相対的に複数のサイズで走査し、前記被写体候補関係算出手段は、所定の位置の差と、サイズ比との関係にある被写体候補の組を選択し、前記第2被写体判定手段は、前記選択した被写体候補の各組について、それぞれの前記被写体候補間の位置関係に基づいて再判定することを特徴とする。本発明によれば、複数の検出対象の候補の位置関係によって、より詳細な評価をしたうえで被写体判定を行うため、検出対象の付近に発生する誤検出を低減することで検出精度を高めることができる。以下、本発明の実施形態について図面を参照しながら説明する。図2は、本実施形態における画像処理装置のハードウェア構成例を示すブロック図である。CPU201は、ROM202やRAM203に格納されたプログラムに従って命令を実行する。ROM202は、不揮発性メモリであり、本実施形態における処理のプログラムやその他の制御に必要なプログラムやデータを格納する。RAM203は、揮発性メモリであり、フレーム画像データやパターン判別結果などの一時的なデータを記憶する。HDD204は、2次記憶装置であり、画像情報や画像処理プログラムや、被写体、非被写体のサンプルパターンなどを記憶する。これらの情報はRAM203に転送してCPU201がプログラムの実行およびデータを利用する。画像入力装置205は、デジタルビデオカメラやネットワークカメラなどであり、画像を入力する。入力装置206は、キーボードやマウスなどであり、オペレータからの入力を行う。表示装置207は、ブラウン管CRTや液晶ディスプレイなどである。ネットワークI/F208は、インターネットやイントラネットなどのネットワークと接続を行うモデムやLANなどである。ネットワークカメラなどの画像入力装置を接続して、ネットワークを介して画像を入力してもよい。バス209は、これらを接続して相互にデータの入出力を行う。概略構成図1は、本実施形態の画像処理装置の機能構成例を示すブロック図である。図1において、101は画像入力部であり、画像入力装置205を用いて画像を入力する。102は画像縮小部であり、所定の大きさの検出ウィンドウで様々なサイズの被写体を検出するために、入力画像を段階的に縮小する。103は検出ウィンドウ走査部であり、図9に示すように、縮小された画像上で検出ウィンドウをラスタスキャンする。104は第1被写体判定部であり、検出ウィンドウ上のパターンが被写体であるか否かを被写体の全体を評価することにより判別し、被写体候補の位置を出力する。105は被写体候補重複判定部であり、第1被写体判定部104が出力する候補から、候補同士に所定の重なりがある場合に重なりのある被写体候補の組みを出力する。106は被写体候補関係算出部であり、被写体候補重複判定部105が出力する被写体候補のうち、重複する候補について、相対的な位置やサイズ比の関係を算出し、関係に基づいて再評価を行うか否かを切り替える。107は第2被写体判定部であり、重複する候補の相対的な位置やサイズ比の関係に基づいて被写体候補を再評価する。検出対象及び検出ウィンドウ図3は、画像中における検出対象の被写体301を示す図である。図3において、被写体301は直立または歩行する人物である。302は検出ウィンドウであり、被写体の全身を含む所定の大きさの矩形である。303は被写体全体の領域の外接矩形である。本実施形態では被写体の平均的なサイズに基づくので、検出ウィンドウ302を基準としたときの外接矩形303の位置関係は一定であるが、これに限定されるものではない。処理フロー次に、本実施形態の処理の流れについて図4のフローチャートを用いて説明する。本実施形態では、検出対象の被写体の一例として歩行者を検出する例について説明する。まず、ステップS401にて、画像入力装置205から入力された各フレーム画像データをRAM203に書き込む。ここで書き込まれた画像データは、例えば8ビットの画素により構成される2次元配列のデータであり、R、G、B、3つの面により構成される。このとき、画像データがMPEG、MotionJPEG等の方式により圧縮されている場合は、画像データを所定の解凍方式にしたがって解凍し、RGB各画素により構成される画像データとする。さらに、本実施形態ではRGBデータを輝度データに変換し、輝度画像データを以後の処理に適用するものとし、RAM203に格納する。また、画像データとしてYCrCbのデータを入力する場合はY成分をそのまま輝度データとしてもよい。なお、RGBデータに限定されるものではなく。各画素におけるカメラと被写体との距離を示す距離画像や赤外線センサによる強度画像でもよい。また、明るさやコントラスト調整などの正規化、色変換処理を行い、ぼかし、先鋭化などの画像処理を行った1つまたは異なる画像処理を適用した複数の画像データであってもよい。次に、ステップS402にて、画像縮小部102によって画像データを所定の倍率に順次段階的に縮小する。本実施形態では、様々な大きさの被写体の検出に対応するため複数のサイズの画像データに対して順次検出を行うようにしている。図9に示す縮小画像901~903は、本処理によって出力された画像である。本実施形態では1/1.2倍ずつ縮小し、縮小画像が検出ウィンドウ302より小さくなるまで縮小を繰り返す。次に、ステップS403にて、検出ウィンドウ走査部103により、縮小された輝度画像データ上に検出ウィンドウを設定し、照合パターンを抽出する。図9には、検出ウィンドウ走査部103が検出ウィンドウ302を走査する様子を示している。本実施形態では、縦横4画素おきにラスタスキャンするが、走査方法はこれに限定されるものではなく、前もって何らかの方法で走査領域を限定してもよい。例えば、オペレータが検出すべき領域を指定して限定したり、特定の色域や、時系列の入力画像で前の画像に比べて変化した領域や前の画像で検出した領域に限定したりしてもよい。また、走査の順序や飛び幅も本実施形態に限ったものではなく、複数の場所に検出ウィンドウを設定するのであればどのように走査してもよい。また、入力画像に対する検出ウィンドウの相対的なサイズを変える場合は、検出ウィンドウ走査部103を画像の縮小をせずに検出ウィンドウの大きさを変更しながら走査してもよい。次に、ステップS404にて、第1被写体判定部104によって、検出ウィンドウ302の被写体全体領域を評価して、被写体か否かを判別する。具体的には特許文献1に記載の方法と同様な手法を用いることができるが、これに限定されるものではない。顔画像ではなく、歩行者の画像をたくさん収集してAdaBoostによって機械学習することによって、歩行者か否かを判断する判別器を獲得できる。特許文献1に記載の方法によれば、t個の弱判別器をカスケード接続した判別器に検出ウィンドウ内の画像データxを入力した時に、被写体であるか否かのスコアHxは、以下の式1により求められる。ここで、hixは各弱判別器の出力する評価値である。そして、スコアHxが所定の閾値を上回った場合に、被写体候補としてその時の検出ウィンドウ302の入力画像の座標系での頂点座標をRAM203に記憶する。次に、ステップS405では、被写体候補重複判定部105によって、同一の被写体を表す被写体候補について1つにまとめる処理を行う。全ての被写体候補から2つの被写体候補の組をつくり、全ての組について重複度が所定の閾値TH1以上の場合には平均をとって1つにまとめる。そして、まとめた候補と他の候補との重複度を求めなおし、閾値TH1以上の場合には1つにまとめることを、まとめることができなくなるまで繰り返す。ここで、被写体候補の重複度について説明する。図5に示すように、重複した2つの被写体候補501、502があるものとする。被写体候補501の面積をA1、被写体候補502の面積をA2、被写体候補501と被写体候補502との重複領域503の面積をA3とすると、被写体候補の重複度Dcは、以下の式2により求められる。なお、第1の重複度の算出方法はこれに限るものではない。例えば、被写体候補501と被写体候補502との重心位置座標の距離を両候補の平均サイズで正規化した値としてもよい。被写体候補の組を1つにまとめるには、外接矩形の対応する頂点どうしの平均を求めればよい。なお、被写体全体判定部のスコアによって重み付きの平均を求めてもよい。また、複数の候補をまとめた場合と、そうでない場合とでは、前者の複数の候補をまとめた方の信頼性が高いので、前者の重みが大きくなるような重みを設定し、重み付きの平均を求めてもよい。また、矩形の座標値とサイズを用いてmeanshiftなど公知のクラスタリング法によってクラスタリングを行ってもよい。次に、ステップS406からステップS411において、各被写体候補に着目して詳細な判定処理を行うループを構成する。このループで行われる処理について図7を参照しながら説明する。図7aは、正しい被写体候補701と足を全身と誤って誤検出している被写体候補702とを示す図である。ここで、被写体候補701に着目し、被写体の位置関係に基づいて再評価する。この場合、図7bに示すように、分割領域下704の領域重みを低く、分割領域上703の領域重みを高くするような重み設定を行う。下部は足があるとスコアが高くなるが、実際の被写体の足があるので、スコアが高くなる傾向がある。一方、上部は頭部であるはずが、実際には頭部ではないのでスコアが低くなる傾向がある。従って、上部に重きを置いて判断することで、誤検出であることがわかる。ステップS406からステップS408は、被写体候補関係算出部106において行われる処理である。まず、ステップS406において、着目した被写体候補と重複する他の被写体候補とがあるか否かを判定する。重複度の算出方法は前述した式2と同じであるが、TH1>TH2となる閾値TH2を予め設定しておき、TH2を上回った場合に重複していると判定する。重複がない場合には従来通りの処理をすればよいので、ステップS411へ進みそのまま被写体の検出結果として確定する。一方、重複がある場合にはステップS407へ進む。ステップS407においては、被写体候補関係算出部106によって注目した被写体候補と重複した他の被写体候補との位置関係を求める。本実施形態では、重複した他の被写体候補の重心位置とサイズ比を用いる。サイズ比は重複被写体候補の幅/基準被写体候補の幅×100で求められる。なお、位置関係はこれに限ったものではなく、例えば重心は検出対象の特徴に応じて判別しやすい頭部など特定部位を基準にしてもよい。サイズ比も検出対象全体ではなく、特定部位のサイズに基づいてもよい。次に、ステップS408において、再判定が必要か否かを判定する。この処理では、図6に示すような領域重み変換テーブル601を予め用意しておき、該当する位置関係に対応する行があるか否かによって判定する。位置関係に対応する行がある場合は、ステップS409へ進み、そうでない場合はステップS411へ進む。このように被写体候補を被写体と確定する。ここで、領域重み変換テーブル601について説明する。このテーブルは、被写体候補の位置関係から再評価が必要な場合に、評価方法に関する情報を取得するテーブルである。サイズ比602は前述したサイズ比である。重心位置603は、重複した他の被写体候補の重心位置に基づくラベルである。このラベルは注目した被写体候補を基準として、重複した他の被写体候補の重心位置から重心座標606を参照して得ることができる。分割パターン名604及び領域重み605は評価方法を示すものであるが、詳細な説明は後述する。次に、ステップS409にて、第2被写体判定部107において、ステップS407にて算出された重複のある被写体候補間の位置関係及びサイズに基づいて、注目した被写体候補が被写体であるか否かを再評価する。この処理は、重複のある被写体候補の位置関係及びサイズに基づいて検出ウィンドウ内の領域別に重みを変更することにより行う。ここで、図6の分割パターン名604及び領域重み605について説明する。分割パターン名604は、分割パターン607の中から選択された分割パターンの名前である。分割パターン607には、上下に分割するパターンや左右に分割するパターンなどがある。領域の境界は直線に限ったものではなく、分割数も限定するものではい。画素単位で定義してもよいが、実装メモリの制約を鑑みて設定する。領域重み605は、分割パターン607の各領域に対応する重みである。この領域重み変換テーブル601に格納する具体的な値はユースケースに応じた統計的な情報に基づいて決定する。次に、領域重み605をどのように利用するかについて説明する。第1被写体判定部104における各弱判別器は、検出ウィンドウの一部の矩形領域を複数参照してHaar特徴量と呼ばれる特徴量に基づいてそれぞれ評価値を算出している。第2被写体判定部107は、第1被写体判定部104とほぼ同じであるが、参照領域に応じた領域重み605に基づいて各弱判別器が出力する評価値に対する重みwiを設定する。参照領域が1つの分割領域に含まれる場合は領域重み605をそのまま適用すればよいが、参照領域が複数の分割領域にまたがる場合には、面積によって重みを比例配分してもよく、最も多く含まれる分割領域の領域重み605を適用してもよい。それぞれの弱判別器に適用し、被写体スコアHx′は、以下の式3により求められる。ここで、Hx′が所定の閾値を上回った場合に被写体であると判定し、そうでなければ被写体候補から除外する。また、別の方法として、被写体全体であるか重なりのある被写体候補の一部であるかの再評価を行って被写体であるか否かを判定してもよい。この方法では、正例として被写体全体を用い、負例として重なりのある被写体候補の一部に相当する画像を用いて機械学習を行うことで、それぞれの領域において被写体全体か被写体の一部かを評価する判別器のパラメータを獲得することができる。また、本実施形態では、AdaBoostに限らず適用することができる。例えば、非特許文献2に記載の方法でも適用することができる。ここで、非特許文献2に記載の方法の概要について説明する。この方法は、画像から歩行者を検出する手法であり、検出ウィンドウ上にブロックと呼ばれる重複のあるタイル状の複数の領域を定義する。次に、ブロックiからHistogramsoforientedgradientsと呼ばれる特徴量ベクトルviを算出する。そして、検出ウィンドウ内の全ブロックの特徴量のベクトルを線形SVMサポートベクターマシンに入力して被写体のスコアを得る。iを検出ウィンドウ内の各ブロックとすると、特徴量ベクトルviとSVMによって得られる係数φiとの内積によって得られる各ブロックの被写体スコアの総和Hxは、以下の式4によって求められる。従って、ブロックの位置に領域重み605をかけることで、被写体の再評価をすることができる。このように検出ウィンドウ内の一部を参照することによりスコアを算出し、それらの和や積によって総合的なスコアを算出するのであれば、どのような判別器であっても本実施形態で適用することができる。この参照領域は離散した複数の個所であってもよい。次に、ステップS410にて、全てのグループの判定が終了しているか否かを判定する。この判定の結果、判定していないグループが残っている場合はステップS406に戻り、次のグループについて同様な処理を行う。一方、全て終了した場合は、被写体候補を検出結果として確定し、処理を終了する。なお、注目した被写体候補に重複する被写体候補が複数ある場合には、ステップS407~ステップS408の処理を繰り返し、Hx′の平均値もしくは最大値を閾値と比較すればよい。なお、本実施形態では、図2に示すハードウェア構成によって行われる例について説明したが、異なるハードウェア構成でも実現可能である。図8は、本実施形態における画像処理装置の他のハードウェア構成例を示すブロック図である。なお、図2と共通する部分には同じ番号を付与している。図8において、本実施形態に係る処理を実行させるプログラムを記録したDVD、CDなどの光ディスク212があり、ドライブI/F210にCD/DVDドライブなどの外部記憶入出力装置211が接続されている。この光ディスク212を外部記憶入出力装置211に挿入されると、CPU201は光ディスク212からプログラムを読み取って、RAM203に展開することにより、前述した処理と同様の処理を実現することができる。また、前述した説明では、人物領域の検出を行ったが、人物以外の任意の物体に対して適用可能である。例えば、生物、顔、自動車などがある。特に、工業、流通分野などでは生産物、部品、流通物品などの同定や検査などに適用できる。例えば顔を対象とした場合には、顔全体に対して鼻の穴を目と間違えて誤検出する場合が多く、このような誤検出の低減に本実施形態の処理は特に有効である。その他の実施形態また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。