(57)【要約】【課題】画像中の特定物体の位置と大きさを検出するのに、距離と検出する領域のサイズとの関係だけでなく、より広範に距離情報を利用することにより、より精度よく、かつより効率的に画像中の特定物体とその大きさを検出する。【解決手段】距離に応じた適切な検出領域を設定するとともに、検出する領域のサイズとの関係だけでなく、検出領域での距離情報の空間分布を解析する、あるいは検出領域周辺部まで距離情報利用を拡張することにより、画像中の特定物体とその大きさを検出する。【選択図】図２
2007280088.tif 000002
【特許請求の範囲】
【請求項１】
視点の異なる複数の入力画像を取得する入力画像取得手段と、
前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段と、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段と、
前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段と、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段と、
前記検出領域設定手段により設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出手段と、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段と、
を有することを特徴とする特定物体検出装置。
【請求項２】
前記第１の特徴量算出手段は、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第２の特徴量算出手段は、
前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、
ことを特徴とする請求項１に記載の特定物体検出装置。
【請求項３】
前記特定物体検出判定手段は、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項１または２に記載の特定物体検出装置。
【請求項４】
視点の異なる複数の入力画像を取得する入力画像取得手段と、
前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段と、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段と、
前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段と、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段と、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出手段と、
前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段と、
を有することを特徴とする特定物体検出装置。
【請求項５】
前記第１の特徴量算出手段は、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第３の特徴量算出手段は、
前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、
または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、
を第３の特徴量として算出する、
ことを特徴とする請求項４に記載の特定物体検出装置。
【請求項６】
前記特定物体検出判定手段は、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項４または５に記載の特定物体検出装置。
【請求項７】
前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、
前記検出領域設定手段により前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定手段と、
前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定手段とを有し、
前記特定物体検出判定手段は、
前記入力画像判定手段による判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、
ことを特徴とする請求項１乃至６の何れか１項に記載の特定物体検出装置。
【請求項８】
前記特定物体検出判定手段によって検出判定される特定物体は顔である、
ことを特徴とする請求項１乃至７の何れか１項に記載の特定物体検出装置。
【請求項９】
視点の異なる複数の入力画像を取得する入力画像取得工程と、
前記入力画像取得工程において取得された複数の入力画像から距離画像を生成する距離画像生成工程と、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定工程と、
前記対応関係設定工程において設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定工程と、
前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出工程と、
前記検出領域設定工程において設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出工程と、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定工程と、
を有することを特徴とする特定物体検出方法。
【請求項１０】
前記第１の特徴量算出工程では、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第２の特徴量算出工程では、
前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、
ことを特徴とする請求項９に記載の特定物体検出方法。
【請求項１１】
前記特定物体検出判定工程では、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項９または１０に記載の特定物体検出方法。
【請求項１２】
視点の異なる複数の入力画像を取得する入力画像取得工程と、
前記入力画像取得工程において取得された複数の入力画像から距離画像を生成する距離画像生成工程と、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定工程と、
前記対応関係設定工程において設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定工程と、
前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出工程と、
前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出工程と、
前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定工程と、
を有することを特徴とする特定物体検出方法。
【請求項１３】
前記第１の特徴量算出工程では、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第３の特徴量算出工程では、
前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、
または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、
を第３の特徴量として算出する、
ことを特徴とする請求項１２に記載の特定物体検出方法。
【請求項１４】
前記特定物体検出判定工程では、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項１２または１３に記載の特定物体検出方法。
【請求項１５】
前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、
前記検出領域設定工程において前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定工程と、
前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定工程とを有し、
前記特定物体検出判定工程では、
前記入力画像判定工程における判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、
ことを特徴とする請求項９乃至１４の何れか１項に記載の特定物体検出方法。
【請求項１６】
前記特定物体検出判定工程において検出判定される特定物体は顔である、
ことを特徴とする請求項９乃至１５の何れか１項に記載の特定物体検出方法。
【請求項１７】
特定物体の検出処理を制御するコンピュータを、
視点の異なる複数の入力画像を取得する入力画像取得手段、
前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段、
前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段、
前記検出領域設定手段により設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出手段、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段、
として機能させることを特徴とする特定物体検出プログラム。
【請求項１８】
前記第１の特徴量算出手段は、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第２の特徴量算出手段は、
前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、
ことを特徴とする請求項１７に記載の特定物体検出プログラム。
【請求項１９】
前記特定物体検出判定手段は、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項１７または１８に記載の特定物体検出プログラム。
【請求項２０】
特定物体の検出処理を制御するコンピュータを、
視点の異なる複数の入力画像を取得する入力画像取得手段、
前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段、
検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段、
前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段、
前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出手段、
前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段、
として機能させることを特徴とする特定物体検出プログラム。
【請求項２１】
前記第１の特徴量算出手段は、
前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、
前記第３の特徴量算出手段は、
前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、
または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、
を第３の特徴量として算出する、
ことを特徴とする請求項２０に記載の特定物体検出プログラム。
【請求項２２】
前記特定物体検出判定手段は、
前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、
ことを特徴とする請求項２０または２１に記載の特定物体検出プログラム。
【請求項２３】
前記コンピュータを、
前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、
前記検出領域設定手段により前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定手段、
前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定手段、
として機能させ、
前記特定物体検出判定手段は、
前記入力画像判定手段による判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、
ことを特徴とする請求項１７乃至２２の何れか１項に記載の特定物体検出プログラム。
【請求項２４】
前記特定物体検出判定手段によって検出判定される特定物体は顔である、
ことを特徴とする請求項１７乃至２３の何れか１項に記載の特定物体検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された画像における被写体としての特定物体の存在とその位置を検出する特定物体検出装置、特定物体検出方法、及び特定物体検出プログラムに関する。
【背景技術】
【０００２】
従来より、撮影画像などから被写体として特定の物体を検知する技術が開発されてきた。特に近年は、セキュリティ等の分野で、画像による人物の検知、特に特定の個人の認証などの要求が高まってきている。
【０００３】
いわゆるバイオメトリクス認証への要求の高まりの中で、ユーザビリティの優れた顔認証のアルゴリズム提案などが増加しつつあるが、例えば顔の認証を行うにしても、その前段階として顔の存在する位置と大きさを特定する必要がある。
【０００４】
すなわち、特定物体（代表的には人物の顔）を検知し、画像中での位置と範囲を特定する技術が必須の技術ともいえる。
【０００５】
しかしながら、撮影された画像中に被写体として存在する顔領域の大きさは、被写体としての顔と撮影装置との距離によって大きさが変動するため、従来のテンプレートマッチングでは、テンプレートのサイズをさまざまに変えて、照合を行う必要があり、多大な時間と手間をかけることになっていた。
【０００６】
また、検出精度面でもテンプレートマッチングのように画像情報だけの利用では、誤検出も多く、まだまだ十分な精度を得られるものではなかった。
【０００７】
そういった点を解消するために、画像入力装置としてステレオカメラなどを用いて、撮影画像中の被写体に関する距離情報を手に入れ、距離と検知したい特定物体の大きさとの関係を利用することで、検出精度を上げたり、検出を効率化しようという技術が開発されてきた（例えば特許文献１、２及び３参照）。
【０００８】
特許文献１に記載の技術では、ステレオカメラを使用し、通常に画像から顔とその大きさを検出した後、検知した顔のサイズが適正であるかどうかを距離情報と照らし合わせて判定している。これにより通常の顔検出に対して精度面での向上を図ることができる。
【０００９】
特許文献２に記載の技術では、ステレオカメラを使用し、得られた距離情報から適切な顔領域のサイズを限定し、その顔領域サイズに基づいて、顔領域の検出を行っている。これにより、検出前に顔のサイズが限定されるため、検出の速度、効率向上が図れる。
【００１０】
また特許文献３に記載の技術では、やはりステレオカメラを使用し、得られた距離情報から顔領域のサイズを限定するとともに、それにより設定した検出領域内におけるその距離に該当する被写体の大きさがどの程度であるかによって、顔かどうかの判定を行っている。これにより、精度面と効率面での向上を図っている。
【特許文献１】特開２０００−２２２５７６号公報
【特許文献２】特開２００２−２１６１２９号公報
【特許文献３】特開２００５−３０１８３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記した特許文献１、２及び３に記載の技術は、何れもステレオカメラなどを用いた視点の異なる複数の入力画像から、画像中の被写体の距離情報を算出し、その距離情報を利用することで、主として人物の顔である特定の物体の大きさとの関係から、検出の速さと精度を向上しようとするものである。
【００１２】
しかしながら、これらの方法は距離情報を利用しているものの、距離と大きさとの関係だけから、従来の検出方法を補足的に支援するような利用方法であり、精度面でも、効率面でも十分に満足できるものではない。
【００１３】
本発明の目的は、上記の課題を解決し、画像中の特定物体の位置と大きさを検出するのに距離情報を利用するに当たり、検出する領域のサイズとの関係だけでなく、より広範に距離情報を利用することにより、より精度よく、かつより効率的に画像中の特定物体とその大きさを検出できる特定物体検出装置、特定物体検出方法、及び特定物体検出プログラムを提供することである。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明は以下の特徴を有するものである。
【００１５】
１．  視点の異なる複数の入力画像を取得する入力画像取得手段と、前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段と、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段と、前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段と、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段と、前記検出領域設定手段により設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出手段と、前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段と、を有することを特徴とする特定物体検出装置。
【００１６】
２．  前記第１の特徴量算出手段は、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第２の特徴量算出手段は、前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、ことを特徴とする１に記載の特定物体検出装置。
【００１７】
３．  前記特定物体検出判定手段は、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、ことを特徴とする１または２に記載の特定物体検出装置。
【００１８】
４．  視点の異なる複数の入力画像を取得する入力画像取得手段と、前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段と、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段と、前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段と、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段と、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出手段と、前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段と、を有することを特徴とする特定物体検出装置。
【００１９】
５．  前記第１の特徴量算出手段は、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第３の特徴量算出手段は、前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、を第３の特徴量として算出する、ことを特徴とする４に記載の特定物体検出装置。
【００２０】
６．  前記特定物体検出判定手段は、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、ことを特徴とする４または５に記載の特定物体検出装置。
【００２１】
７．  前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、前記検出領域設定手段により前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定手段と、前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定手段とを有し、前記特定物体検出判定手段は、前記入力画像判定手段による判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、ことを特徴とする１乃至６の何れか１項に記載の特定物体検出装置。
【００２２】
８．  前記特定物体検出判定手段によって検出判定される特定物体は顔である、ことを特徴とする１乃至７の何れか１項に記載の特定物体検出装置。
【００２３】
９．  視点の異なる複数の入力画像を取得する入力画像取得工程と、前記入力画像取得工程において取得された複数の入力画像から距離画像を生成する距離画像生成工程と、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定工程と、前記対応関係設定工程において設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定工程と、前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出工程と、前記検出領域設定工程において設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出工程と、前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定工程と、を有することを特徴とする特定物体検出方法。
【００２４】
１０．  前記第１の特徴量算出工程では、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第２の特徴量算出工程では、前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、ことを特徴とする９に記載の特定物体検出方法。
【００２５】
１１．  前記特定物体検出判定工程では、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、ことを特徴とする９または１０に記載の特定物体検出方法。
【００２６】
１２．  視点の異なる複数の入力画像を取得する入力画像取得工程と、前記入力画像取得工程において取得された複数の入力画像から距離画像を生成する距離画像生成工程と、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定工程と、前記対応関係設定工程において設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定工程と、前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出工程と、前記検出領域設定工程において設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出工程と、前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定工程と、を有することを特徴とする特定物体検出方法。
【００２７】
１３．  前記第１の特徴量算出工程では、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第３の特徴量算出工程では、前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、を第３の特徴量として算出する、ことを特徴とする１２に記載の特定物体検出方法。
【００２８】
１４．  前記特定物体検出判定工程では、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、ことを特徴とする１２または１３に記載の特定物体検出方法。
【００２９】
１５．  前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、前記検出領域設定工程において前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定工程と、前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定工程とを有し、前記特定物体検出判定工程では、前記入力画像判定工程における判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、ことを特徴とする９乃至１４の何れか１項に記載の特定物体検出方法。
【００３０】
１６．  前記特定物体検出判定工程において検出判定される特定物体は顔である、ことを特徴とする９乃至１５の何れか１項に記載の特定物体検出方法。
【００３１】
１７．  特定物体の検出処理を制御するコンピュータを、視点の異なる複数の入力画像を取得する入力画像取得手段、前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段、前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段、前記検出領域設定手段により設定された前記検出領域の周辺に補助領域を設定し、該補助領域と前記検出領域の距離値の関係から第２の特徴量を算出する第２の特徴量算出手段、前記第１の特徴量と前記第２の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段、として機能させることを特徴とする特定物体検出プログラム。
【００３２】
１８．  前記第１の特徴量算出手段は、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第２の特徴量算出手段は、前記検出領域の上部に前記補助領域を設定し、該補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を前記検出領域に対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する、ことを特徴とする１７に記載の特定物体検出プログラム。
【００３３】
１９．  前記特定物体検出判定手段は、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第２の特徴量が所定の第２の閾値より大きい場合に、前記特定物体を検出したと判定する、ことを特徴とする１７または１８に記載の特定物体検出プログラム。
【００３４】
２０．  特定物体の検出処理を制御するコンピュータを、視点の異なる複数の入力画像を取得する入力画像取得手段、前記入力画像取得手段により取得された複数の入力画像から距離画像を生成する距離画像生成手段、検出すべき所定の特定物体に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する対応関係設定手段、前記対応関係設定手段により設定された対応関係に基づき、前記距離画像において距離値に対応したサイズの検出領域を設定する検出領域設定手段、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の広さに基づき第１の特徴量を算出する第１の特徴量算出手段、前記検出領域設定手段により設定された前記検出領域に対して、そのサイズに対応する距離値を満たす領域の空間分布に基づき第３の特徴量を算出する第３の特徴量算出手段、前記第１の特徴量と前記第３の特徴量とに基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する特定物体検出判定手段、として機能させることを特徴とする特定物体検出プログラム。
【００３５】
２１．  前記第１の特徴量算出手段は、前記検出領域において、前記検出領域に対応する距離値と所定範囲内で同等の距離値を有する画素数の、全画素数に対する比率を第１の特徴量として算出し、前記第３の特徴量算出手段は、前記検出領域を水平方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、または前記検出領域を垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった垂直方向差分値、を第３の特徴量として算出する、ことを特徴とする２０に記載の特定物体検出プログラム。
【００３６】
２２．  前記特定物体検出判定手段は、前記第１の特徴量が所定の第１の閾値より大きく、かつ前記第３の特徴量が所定の第３の閾値より小さい場合に、前記特定物体を検出したと判定する、ことを特徴とする２０または２１に記載の特定物体検出プログラム。
【００３７】
２３．  前記コンピュータを、前記距離画像の生成に用いた複数の入力画像の一つである第１の画像に対して、前記検出領域設定手段により前記距離画像内に設定された前記検出領域の位置と対応する前記第１の入力画像内の位置に第２の検出領域を設定する第２の検出領域設定手段、前記第２の検出領域に対して、前記特定物体の検出を行い、検出したかどうかを判定する入力画像判定手段、として機能させ、前記特定物体検出判定手段は、前記入力画像判定手段による判定結果に基づいて、前記検出領域において前記所定の特定物体が検出されたかどうかを判定する、ことを特徴とする１７乃至２２の何れか１項に記載の特定物体検出プログラム。
【００３８】
２４．  前記特定物体検出判定手段によって検出判定される特定物体は顔である、ことを特徴とする１７乃至２３の何れか１項に記載の特定物体検出プログラム。
【発明の効果】
【００３９】
本発明によれば、画像中の特定物体の位置と大きさを検出するのに距離情報を利用するに当たり、距離に応じた適切な検出領域を設定するとともに、検出する領域のサイズとの関係だけでなく、検出領域での距離情報の空間分布を解析する、あるいは検出領域周辺部まで距離情報利用を拡張することにより、より精度よく、かつより効率的に画像中の特定物体とその大きさを検出できる特定物体検出装置、特定物体検出方法、及び特定物体検出プログラムを提供することができる。
【発明を実施するための最良の形態】
【００４０】
以下、図を参照して本発明の実施形態を説明する。
【００４１】
（特定物体検出装置の機能構成）
図１は、本発明に係る特定物体検出装置の一実施形態について、その機能構成を示すブロック図である。図１を用いて特定物体検出装置の一実施形態を説明する。
【００４２】
本発明に係る特定物体検出装置は、一般的にコンピュータなどによる画像情報処理機能を中心として機能構成される。
【００４３】
図１において、１０は特定物体検出処理部であり、特定物体を検出するためのさまざまな画像情報処理機能を有しており、具体的にはコンピュータが各処理プログラムを実行することにより、その機能が実現される。１０１の入力部、１０２の操作部、１０３の記憶部、１０４の表示部、そして１０５の出力部は、特定物体検出処理部１０の機能を動作させるための付帯装置、あるいはインタフェイス装置などである。
【００４４】
入力部１０１は、特定物体を検出する対象となる画像を特定物体検出処理部１０に入力する。撮影装置を内蔵、あるいは接続していてもよいし、外部から画像データを受信するような形態であってもよい。
【００４５】
操作部１０２は、特定物体検出処理部１０がその機能を実行するに際して、必要な指示やパラメータなどを入力するための装置である。一般的にはキーボードなどが用いられる。
【００４６】
記憶部１０３は、処理プログラムや画像データそのもの以外に、特定物体検出処理部１０が処理実行中に一時保存しておくべき各種データを記憶する。例えば、最終検出結果が出る前の途中段階での検出判定結果などを一時保存しておく。
【００４７】
表示部１０４は、特定物体検出処理部１０が処理実行中にその途中状況や、指示を出すために必要な結果などを知らせるための表示を行う。具体的には、液晶パネルなどの表示装置が一般に用いられる。
【００４８】
出力部１０５は、特定物体検出処理部１０による処理結果を出力する装置であり、具体的にはプリンタであったり、外部機器への送信装置であったり、あるいは、認証など再利用のために整理された状態で記憶部に送る装置であったりする。
【００４９】
特定物体検出処理部１０は、以下のような機能要素から構成される。
【００５０】
１１は入力画像取得部であり、入力部１０１から入力画像を取得する。すなわち、入力画像取得手段として機能する。
【００５１】
本実施形態では、入力画像は視点の異なる複数の入力画像からなる。一般にはステレオ画像を生成するための複数画像である。すなわち本発明は、画像における距離情報を利用することにより、より効率的な特定物体検出を行おうとするものである。
【００５２】
なお、特定物体としては、種々のものを想定することができるが、近年盛んに行われているのは、人物を特定するために画像、特に顔画像を用いることである。セキュリティ、その他の観点から個人に負担の少ない簡便な個人認証方法として開発が進められており、そのためにもまず画像中の顔の存在とその位置を簡単に精度よく特定することが求められている。本実施形態では、特定物体として顔を例にとり、以下の説明を進めることにする。
【００５３】
１２は距離画像生成部であり、入力画像取得部１１から受け取った複数の入力画像を用いて、各画素が距離情報を有する距離画像を生成する。すなわち、距離画像生成手段として機能する。距離画像生成の詳細については、後で図３を参照して詳細に説明する。
【００５４】
１３は対応関係設定部であり、検出すべき所定の特定物体（本実施形態では顔）に基づいて、前記距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する。すなわち、対応関係設定手段として機能する。
【００５５】
特定物体、つまり顔は、距離に応じて画像中でのサイズが変化する。しかし効率的に検出するには、顔のサイズに合わせた検出領域サイズ設定が望ましい。距離と画像中での顔サイズの関係を予め設定できれば、距離情報を利用して顔のサイズに合った検出領域のサイズ設定が可能になる。
【００５６】
撮影条件などから距離と一般的な顔サイズ、すなわち検出領域サイズの関係を求める。設定した対応関係は、特定物体検出処理中に頻繁に利用するので、データテーブルなどの形態で記憶部１０３に記憶しておくことが望ましい。
【００５７】
２０は検出領域処理部であり、対応関係設定部１３の対応関係に基づき検出領域を設定し、検出領域毎に特定物体検出処理を行う。検出領域処理部２０を構成する各機能要素については、後述する。
【００５８】
１４は特定物体検出処理制御部であり、特定物体検出処理部１０で行われる特定物体検出処理全体の制御を行う。動作フローの詳細は図２を参照して後述するが、上述した検出領域処理部２０で行われる処理、すなわち検出領域を設定して行う検出処理を、画像全体に渡って検出領域をスキャンさせながら反復し、検出判定を繰り返しながら、最終的に全体の結果を提出するという流れを制御する。
【００５９】
１５は特定物体検出処理出力部であり、検出領域処理部２０で繰り返し行われる検出領域処理、すなわち検出領域毎の検出結果をまとめ、特定物体検出処理部１０で行われる特定物体検出処理全体の最終検出結果として、出力部１０５へ送り出す機能を有する。
【００６０】
特定物体検出処理部１０を構成する機能要素は以上であるが、検出領域処理部２０については、以下のような機能要素から構成される。
【００６１】
２１は検出領域設定部であり、対応関係設定部１３の対応関係に基づき、距離画像生成部１２で生成された距離画像中の位置に応じて、その位置での距離値に対応するサイズの検出領域を設定する。すなわち、検出領域設定手段として機能する。詳細は図５を参照して、後述する。
【００６２】
２３は第１の特徴量算出部であり、検出領域設定部２１で設定された検出領域に対して、そのサイズに対応する距離値と同等の距離値を有する画素領域の、全領域に対する比率を第１の特徴量として算出する。すなわち、第１の特徴量算出手段として機能する。
【００６３】
第１の特徴量は、検出領域のサイズに対して、顔であるとすればその大きさが妥当であるかを判断する基準となる。詳細は、図８を参照して後述する。
【００６４】
２４は第２の特徴量算出部であり、検出領域設定部２１で設定された検出領域に対して、その上部に補助領域を設定し、補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を検出領域サイズに対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する。すなわち、第２の特徴量算出手段として機能する。
【００６５】
第２の特徴量は、検出領域の位置の上部に同等距離の物体があるかどうかを示し、検出領域の位置における被写体が顔であるかどうかを判断する基準となる。詳細は、図１０を参照して後述する。
【００６６】
２５は第３の特徴量算出部であり、検出領域設定部２１で設定された検出領域に対して、水平方向または垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、または垂直方向差分値を第３の特徴量として算出する。すなわち、第３の特徴量算出手段として機能する。
【００６７】
第３の特徴量は、もちろん水平方向差分値と垂直方向差分値の両方であってもよい。それらは検出領域の位置における被写体が上下、左右がほぼ均等な大きさを有する物体、例えば顔であるかどうかを判断する基準となる。詳細は、図１２を参照して後述する。
【００６８】
２７は特定物体検出判定部であり、第１の特徴量算出部２３による第１の特徴量、第２の特徴量算出部２４による第２の特徴量、そして第３の特徴量算出部２５による第３の特徴量などに基づいて、対象となる検出領域において特定物体、すなわち顔が検出されたかどうかの判定を行う。すなわち、特定物体検出判定手段として機能する。
【００６９】
判定に利用するのは、第１の特徴量と第２の特徴量だけであってもよいし、第１の特徴量と第３の特徴量だけであってもよい。また、それらの判定に加えて後述の入力画像判定部２６の判定結果を加えて、判定を下すようにしてもよい。
【００７０】
第１の特徴量は所定の第１の閾値より大きいことが検出判定の基準であり、第２の特徴量は所定の第２の閾値より大きいことが検出判定の基準であり、第３の特徴量は所定の第３の閾値より小さいことが検出判定の基準である。もちろんこれらの基準は、特徴量の定義によって変わる。すべての検出判定の基準を満たし、入力画像判定部２６の判定結果も加味する場合はそれも含めて、すべて検出判定である場合に、最終的にその検出領域で特定物体、すなわち顔が検出されたと判定される。以上の検出判定の詳細については、図１４を参照して後述する。
【００７１】
２２は第２の検出領域設定部であり、入力画像取得部１１で取得し、距離画像生成部１２での距離画像生成に利用した複数の入力画像の一つである第１の画像に対して、検出領域設定部２１で距離画像内に設定した検出領域の位置に対応する第１の入力画像内の位置に第２の検出領域を設定する。すなわち、第２の検出領域設定手段として機能する。
【００７２】
第２の検出領域を設定する意図は、距離画像に対して、顔の大きさと距離の関係、そして距離情報の分布だけから顔を判断するのでなく、通常の入力画像に対して行われる通常の顔判定と合わせることで判定の精度を上げることである。顔判定の速度と精度との兼ね合いで、これらを任意に組み合わせることもできる。
【００７３】
２６は入力画像判定部であり、第２の検出領域設定部２２で第１の入力画像に設定された第２の検出領域に対して、特定物体、すなわち顔の検出を行い、検出されたかどうかの判定を行う。すなわち、入力画像判定手段として機能する。
【００７４】
特定物体の検出判定は、テンプレートマッチングなどの公知の認証技術を用いて行えばよい。検出結果は、特定物体検出判定部２７に送られ、距離情報を用いての判定と合わせて、最終的な特定物体検出判定が行われる。
【００７５】
以下に上記特定物体検出装置を用いての特定物体検出処理の動作について説明する。
【００７６】
（特定物体検出処理の動作フロー）
図２は、本実施形態の特定物体検出装置による特定物体検出処理の全体動作フローを示すフローチャートである。図１を用いて特定物体検出装置を用いた特定物体検出処理方法を説明する。
【００７７】
特定物体検出処理は、一般的にコンピュータなどによる画像情報処理により実現され、以下に説明する各工程は、特定物体検出処理部１０において、具体的にはコンピュータが各処理手段に相当する処理プログラムを実行することにより、その機能が実現される。
【００７８】
まず入力画像取得工程であるステップＳ１１において、入力画像が取得されることから、特定物体検出処理は始まる。入力画像は、入力部１０１から提供され、入力画像取得部１１により取得される。
【００７９】
入力画像は視点の異なる複数の入力画像からなり、距離画像を生成するために用いられることは既に述べたとおりである。本実施形態の特定物体検出処理においては、通常の画像だけから、特定物体、つまり顔の検出を行うのではなく、距離画像の情報を用いて顔の検出精度を向上するものであり、かつその効率をも向上させる。
【００８０】
次に距離画像生成工程であるステップＳ１２では、距離画像生成部１２が、入力画像取得部１１から受け取った複数の入力画像を用いて、各画素が距離情報を有する距離画像を生成する。
【００８１】
通常は、観察者の右目と左目に相当する視点の、視差の異なった第１及び第２画像からステレオ画像を生成する。その段階で、例えば第１画像の画素毎に距離情報を算出することができ、例えばその距離値を０から２５５の輝度値で表現した距離画像を作成することができる。距離画像生成工程の詳細フローについては後述する。
【００８２】
次の対応関係設定工程として機能するステップＳ１３では、検出領域のスキャン処理に対する初期化を行う。特に距離画像における距離値と前記特定物体検出のための検出領域のサイズとの対応関係を設定する。
【００８３】
以下の特定物体検出処理において特定物体検出処理制御部１４は、検出領域処理部２０での検出領域の設定と検出判定とを距離画像全体に検出領域をスキャンさせ、反復することで、距離画像における特定物体検出処理を行う。そのための初期設定として、対応関係設定部１３が上記対応関係を設定し、記憶部１０３に記憶しておく。また特定物体検出処理制御部１４は距離画像における検出領域のスキャンの初期位置を設定しておく。
【００８４】
次にステップＳ１４では、スキャンを制御する特定物体検出処理制御部１４が、検出領域のスキャンが終了したかどうか、すなわち距離画像全体をスキャンし終えたかどうかを判定する。通常のスキャン方向としては、左上を初期位置とし、水平方向右へスキャンし、水平方向スキャンを終えると、順次垂直下方向へずれながら水平方向スキャンを反復し、右下の最終位置を通過し終えるとスキャン終了である。
【００８５】
ステップＳ１４で、スキャンが終了している場合（ステップＳ１４：ＹＥＳ）は、特定物体検出処理についての、検出領域処理部２０による検出判定は終了しており、ステップＳ３３が実行される。
【００８６】
ステップＳ３３では、特定物体検出処理出力部１５によって、記憶部１０３に一時保存されている検出結果が読み出され、特定物体検出結果としてまとめられ、出力部１０５へ出力する、あるいは指示を受けて出力可能な状態で待機する。これで特定物体検出処理は終了する。
【００８７】
一方ステップＳ１４で、スキャンが終了していない場合（ステップＳ１４：ＮＯ）は、検出領域処理部２０での処理を繰り返すため、次のステップＳ１５を実行する。
【００８８】
検出領域設定工程であるステップＳ１５では、検出領域設定部２１が、ステップＳ１３で設定した距離値と検出領域サイズの対応関係に応じて、スキャン位置での検出領域サイズを設定する。具体的には、スキャン位置の画素の距離値に対応する検出領域サイズを記憶部１０３から読みだし、距離画像のスキャン位置画素を中心として当該サイズの検出領域を設定する。検出領域設定工程の詳細フローは後述する。
【００８９】
ここからのステップは、ステップＳ１６、ステップＳ１７、そしてステップＳ１８の距離画像に対する処理と、ステップＳ２１及びステップＳ２２の入力画像に対する処理とに分かれる。図２のフローにおいては、ステップＳ２５で統合して判定処理されるまで、両者は互いに独立して処理してかまわないような手順としている。しかしながら、処理の効率を考慮するならば、何れかを優先処理するようなフローであってもかまわない。入力画像を優先処理する場合は図１５を参照して、距離画像を優先する場合は図１６を参照して、何れも後述する。
【００９０】
第１の特徴量算出工程であるステップＳ１６では、第１の特徴量算出部２３が、設定された検出領域に対して、そのサイズに対応する距離値と同等の距離値を有する画素領域の、全領域に対する比率を第１の特徴量として算出する。第１の特徴量算出工程の詳細フローは、後述する。
【００９１】
第２の特徴量算出工程であるステップＳ１７では、第２の特徴量算出部２４が、設定された検出領域に対して、その上部に補助領域を設定し、補助領域内の距離値の平均値、中央値、または同じ距離値を有する画素の最も多い距離値、を検出領域サイズに対応する距離値と比較し、その差分の絶対値を第２の特徴量として算出する。第２の特徴量算出工程の詳細フローは、後述する。
【００９２】
第３の特徴量算出工程であるステップＳ１８では、第３の特徴量算出部２５が、設定された検出領域に対して、水平方向または垂直方向に２分割した各領域内で距離値の総和を算出し、各総和の差分の絶対値をとった水平方向差分値、または垂直方向差分値を第３の特徴量として算出する。第３の特徴量算出工程の詳細フローは、後述する。
【００９３】
一方、第２の検出領域設定工程であるステップＳ２１では、第２の検出領域設定部２２が、距離画像生成に利用した複数の入力画像の一つである第１の画像に対して、第２の検出領域を設定する。第２の検出領域の設定位置は、検出領域設定部２１で距離画像内に設定した検出領域の位置に対応する第１の入力画像内の位置であり、その設定サイズは検出領域サイズと同じである。
【００９４】
次に入力画像判定工程であるステップＳ２２では、入力画像判定部２６が、入力画像に設定された第２の検出領域に対して、特定物体、すなわち顔の検出を行い、検出されたかどうかの判定を行う。検出判定は、既に述べたように、テンプレートマッチングなどの公知の認証技術を用いて行えばよい。
【００９５】
特定物体検出判定工程であるステップＳ２５では、特定物体検出判定部２７が、距離画像の検出領域に対して算出された第１、第２、及び第３の特徴量による判定と、そして入力画像の第２の検出領域に対して下された検出判定とを総合して、最終的な特定物体、つまり顔の検出判定を行う。
【００９６】
距離画像の検出領域に対して各特徴量がすべて検出判定の基準を満たし、入力画像の第２の検出領域に対する判定結果も含めて、すべて検出と判定された場合に、最終的にその検出領域で特定物体、すなわち顔が検出されたと判定されるのは、既に述べたとおりである。この特定物体検出判定工程の詳細フローについては、後述する。
【００９７】
ステップＳ２５での判定結果が「検出された」である場合（ステップＳ２５：ＹＥＳ）は、ステップＳ３１を実行する。判定結果が「検出されない」である場合（ステップＳ２５：ＮＯ）は、ステップＳ３１を省略し、ステップＳ３２を実行する。
【００９８】
ステップＳ３１では、検出結果、すなわち、検出されたという事実と検出領域の位置、サイズが記憶部１０３に一時記憶される。これらは後で検出領域のスキャン終了後に、特定物体検出処理出力部１５により、画像全体の結果がまとめられる。
【００９９】
ステップＳ３２では、特定物体検出処理制御部１４により、スキャン位置が更新される。スキャン位置の更新順は、既に述べたとおりである。スキャン位置を更新した後、ステップＳ１４に戻り、ステップＳ１４以後の検出領域に対する処理が、検出領域をスキャンしながら繰り返されることになる。
【０１００】
繰り返しは、スキャンが終了して、ステップＳ１４で終了判定がなされ、ステップＳ３３の実行に移るまで、特定物体検出処理制御部１４の制御により継続する。
【０１０１】
既述したようにステップＳ３３で、特定物体検出処理出力部１５によって、記憶部１０３に一時保存されているすべての検出結果が読み出され、特定物体検出結果としてまとめられ、出力部１０５へ出力される状態になると、特定物体検出処理部１０での特定物体検出処理は終了する。
【０１０２】
＜距離画像生成＞
図２のステップＳ１２、すなわち距離画像生成工程の詳細フローについて、図３を用いて説明する。図３は距離画像生成工程を示すフローチャートである。
【０１０３】
図３の距離画像生成は、入力画像取得部１１から受け取る複数の入力画像を用いて距離画像生成部１２で実行される。
【０１０４】
入力画像は、観察者の右目と左目に相当する視点の、視差の異なった第１及び第２画像からなるとする。図４に入力画像の例を示す。３１ａは第１の入力画像（右目相当視点）であり、３１ｂは第２の入力画像（左目相当視点）である。異なった距離に立っている３人の人物Ａ（手前）、Ｂ（中）、Ｃ（奥）を左右の異なった視点から撮影したものであり、この二つの画像には視差が生じている。
【０１０５】
３０は上記第１、第２の入力画像から生成される視差画像、すなわち距離画像を示す。第１の入力画像の各画素について視差を求め、距離に置き換えた上で、０から２５５の輝度値で表現したものである。手前にいる人物Ａが輝度が高く、奥にいる人物Ｃが輝度が低く表現されている。
【０１０６】
図３を用いて、入力画像３１ａ、３１ｂから距離画像３０を求めるフローを説明する。
【０１０７】
まずステップＳ４１で、距離検知スキャンのための初期化を行う。距離検知スキャン（あるいは距離スキャン）は、第１の入力画像を距離画像化するため、第１の入力画像をスキャンし、第１の入力画像の全画素について距離情報を求めていく動作である。スキャン位置の更新の順序は検出領域のスキャンの場合と同じでよい。従ってここでは左上の画素をスキャンの初期位置として設定する。
【０１０８】
次にステップＳ４２では、距離検知スキャンが終了したかどうかの判定を行う。第１の入力画像の全画素を距離検知スキャン位置として通過し終えたかどうかで判定する。
【０１０９】
距離検知スキャンが終了している場合（ステップＳ４２：ＹＥＳ）は、第１の入力画像の全画素が距離情報を有するような距離画像が生成終了していることになるので、これで距離画像の生成工程は終了である。
【０１１０】
一方、距離検知スキャンが終了していない場合（ステップＳ４２：ＮＯ）は、ステップＳ４３を実行する。
【０１１１】
ステップＳ４３では、そのスキャン位置での視差（距離）を求めるための距離検知ウィンドゥを設定する。距離検知ウィンドゥは視差を求めるための領域で、適宜設定すればよいが、ここではｗ×ｗのサイズを有するものとする。従ってスキャン位置の画素を中心としてｗ×ｗの領域を設定する。
【０１１２】
次にステップＳ４４では、視差スキャンのために視差設定を初期化する。視差スキャンとは、以下に述べるように視差を変更しながら、最も妥当な視差を探索するものであり、その視差変更の初期値を設定する。
【０１１３】
距離検知ウィンドゥでの視差を求めるためには、視差を順次変更（視差スキャン）していきながら、第１の入力画像と第２の入力画像の対応する距離検知ウィンドゥをその視差だけずらせて重ねる。そして、両者が最も合致するような視差をその距離検知ウィンドウにおける両者の視差とする。視差の変更は０からｍａｘ＿ｄｉｓｐ（その入力画像の撮影で生じ得る視差の上限）まで変更するので、ここでは初期値を０とする。
【０１１４】
また、合わせて後述するＳＡＤ最小値（合致したかどうかの判断基準）の記憶をクリアしておく。
【０１１５】
次にステップＳ４５から視差スキャンのループに入る。ステップＳ４５では、視差スキャンが終了したかどうかを判定する。設定した視差が上限値であるｍａｘ＿ｄｉｓｐを越えていれば終了であり、越えていなければ終了していない。
【０１１６】
視差スキャンが終了している場合（ステップＳ４５：ＹＥＳ）は、視差スキャンのループを抜け、ステップＳ５１に移り、実行する。終了していない場合（ステップＳ４５：ＮＯ）は、次のステップＳ４６を実行する。
【０１１７】
ステップＳ４６では、第１の入力画像と第２の入力画像間で設定視差だけずらした距離検知ウィンドウ間のＳＡＤ（差の絶対値の和：Ｓｕｍ＿ｏｆ＿Ａｂｓｏｌｕｔｅ＿Ｄｉｆｆｅｒｅｎｃｅ）を算出する。このＳＡＤは、次のような式で求められる。
【０１１８】
ＳＡＤ＝ΣΣ｜Ｉｍｇ１（ｉ，ｊ）−Ｉｍｇ２（ｉ，ｊ＋ｐ）｜
但し、（ｉ，ｊ）は距離検知ウィンドウ（ｗ×ｗ）内の画素位置であり、ΣΣはすべての（ｉ，ｊ）、すなわち距離検知ウィンドウ（ｗ×ｗ）内のすべての画素位置に関する総和を表す。Ｉｍｇ１及びＩｍｇ２は、それぞれ第１及び第２の入力画像の画素値であり、ｐは設定された視差である。
【０１１９】
このＳＡＤが最小となるような視差ｐを求め、その距離検知ウィンドウにおける最も妥当な視差と考える。
【０１２０】
次にステップＳ４７では、ステップＳ４６で算出したＳＡＤを記憶部１０３に一時記憶してあるＳＡＤ最小値と比較し、どちらが小さいかを判定する。算出したＳＡＤの方が小さい場合、あるいは一時記憶したＳＡＤ最小値がまだない場合（ステップＳ４７：ＹＥＳ）は、ステップＳ４８を実行する。
【０１２１】
ステップＳ４８では、算出したＳＡＤをＳＡＤ最小値として更新し、対応する視差ｐとともに更新記憶し、ステップＳ４９に進む。
【０１２２】
ステップＳ４７で、一時記憶してあるＳＡＤ最小値の方が小さい場合（ステップＳ４７：ＮＯ）は、ＳＡＤ最小値とそのときの視差ｐの更新記憶は行わない。ステップＳ４８は省略し、ステップＳ４９を実行する。
【０１２３】
ステップＳ４９では、視差スキャンの設定視差を更新し、ステップＳ４５へ戻る。設定視差は初期値０から開始しており、上限ｍａｘ＿ｄｉｓｐを越えるまで１画素ずつ増やしていき、ステップＳ４５以後の視差スキャンを反復する。
【０１２４】
上限ｍａｘ＿ｄｉｓｐを越えると、ステップＳ４５で視差スキャン終了の場合に相当し、ステップＳ５１へと進むことになる。
【０１２５】
ステップＳ５１では、ＳＡＤ最小値に対応する視差、すなわちその時点での距離検知ウィンドゥに対する妥当な視差が決定される。視差の大きさは対象物の距離に対応しているため、視差から距離値を求めることができる。この対応も予めデータテーブルとして記憶部１０３に記憶しておいてもよい。
【０１２６】
次にステップＳ５２では、距離画像のデータを順次書き込んで記憶していく。距離検知ウィンドウの位置、つまり距離画像内の画素位置と、算出した距離値を０から２５５の輝度値に変換した画素値とを、距離情報として記憶部１０３に記憶していく。これが全画素について終了すると、図４の３０に示したような距離画像のデータができあがることになる。
【０１２７】
次にステップＳ５３では、距離検知スキャン位置を更新し、次の画素位置へと進める。その後ステップＳ４２へ戻り、第１の入力画像の全画素をスキャン位置として通過し終えるまで、ステップＳ４２以後の距離検知スキャンを反復する。
【０１２８】
前述のように、ステップＳ４２での判定において、第１の入力画像の全画素をスキャンし終えた場合に、距離検知スキャンのループを抜け、距離画像の生成は終了する。
【０１２９】
＜検出領域設定＞
図２のステップＳ１５、すなわち検出領域設定工程の詳細フローについて、図５を用いて説明する。図５は検出領域設定工程を示すフローチャートである。
【０１３０】
図５の検出領域設定は、距離画像生成部１２から受け取った距離画像を対象として検出領域設定部２１で実行される。
【０１３１】
検出領域は、特定物体である顔を検出するための領域であり、距離画像全体に対して検出領域をスキャンさせることで、画像中の顔とその位置を検出する。従って検出領域での検出処理については、特定物体である顔のサイズに合わせて検出領域のサイズを決定することが望ましい。しかしながら画像中の顔のサイズは、その距離によって異なってくる。そのため通常は、検出領域のサイズを変えてスキャンを反復することが行われる。
【０１３２】
本実施形態において距離画像を用いる意図は、その距離情報を利用することにより、検出領域のサイズを効率的に設定することである。そのために、図２のステップＳ１３で、対応関係設定部１３が、距離値と顔のサイズ、すなわち顔の検出に適切な検出領域サイズとの対応関係を設定し、データテーブルなどの形態で記憶してある。
【０１３３】
図５を用いて、この対応関係を元にスキャン位置での検出領域を設定するフローを説明する。
【０１３４】
まずステップＳ６１で、スキャン位置での距離値を取得する。距離画像をスキャンするがそのスキャン位置は、図２のステップＳ１３もしくはステップＳ３２で、既に設定されている。距離画像中の当該画素位置に対して、その画素値を取得する。画素値は距離画像生成のフローで述べたように０から２５５の輝度値で表現されるが、これはその画素位置における被写体の距離値に対応している。
【０１３５】
次にステップＳ６２では、ステップＳ６１で取得した距離値に対応する検出領域サイズを設定する。これは、上述した距離値と顔のサイズ、すなわち顔の検出に適切な検出領域サイズとの対応関係を参照し、スキャン位置における距離値に対応する検出領域サイズを求めるものである。従って、スキャン位置がスキャンによって変化すれば、距離値が変化し、対応する顔のサイズ、すなわち顔検出に適切な検出領域サイズも変化することになる。
【０１３６】
図６には、視差、すなわち距離値と検出領域サイズとの対応関係を示す。視差は０から上限がｍａｘ＿ｄｉｓｐであり、ここでは０から２５５の範囲の輝度値で表現されているものとする。この視差の大きさは、被写体との距離値を表しており、視差が大きいほど距離は近くなる。すなわち０は無限遠、視差が上限値に相当する２５５は最近接撮影距離となる。
【０１３７】
図６に示すように、視差が小さい（距離が遠い）と顔サイズ、つまり検出領域サイズは小さく、視差が大きい（距離が近い）と検出領域サイズは大きくなる関係にある。図６の下部の４０は視差（距離値）により検出領域サイズが変化してくることを示したものである。その具体的な数値が対応関係として記憶されており、参照されることになる。
【０１３８】
次にステップＳ６３では、対応関係を参照して求めた検出領域サイズに応じて、距離画像中のスキャン位置に当該サイズの検出領域を設定する。スキャン位置の画素を中心に設定すればよい。
【０１３９】
以上でスキャン位置に対する検出領域の設定は終了である。
【０１４０】
前述したように、検出領域スキャンが進むにつれて、具体的な検出領域のサイズは変化することになる。図７（ａ）には距離画像３０をスキャン（図では左上から右上へ）していくにつれて、検出領域４０のサイズが変化する様子を示す。このように本実施形態では、距離画像内の各位置に応じた適切な検出領域を設定できるため、検出領域サイズを変化させながらスキャンを繰り返す必要もなく、良好な精度での検出を効率よく行うことができる。
【０１４１】
図７（ｂ）には検出領域のサイズを変化させながら、スキャンを繰り返す方法を示す。まず３０ａに示すように、画像を一定サイズの検出領域４０ａでスキャンする。それを反復し、例えば３０ｂに示すスキャンでは、画像を異なるサイズの検出領域４０ｂでスキャンしている。こうして、スキャンを何度も繰り返すため、検出の効率は悪くなる。
【０１４２】
しかしながら、この場合も、本実施形態と同様に対応関係を参照し、そのスキャン位置での距離値と検出領域サイズが対応していない場合は、以後の検出処理を省略するようにすれば、効率を上げることができる。
【０１４３】
＜第１の特徴量算出＞
図２のステップＳ１６、すなわち第１の特徴量算出工程の詳細フローについて、図８を用いて説明する。図８は第１の特徴量算出工程を示すフローチャートである。
【０１４４】
図８の第１の特徴量算出は、検出領域設定部２１で設定された検出領域を対象として第１の特徴量算出部２３で実行される。
【０１４５】
第１の特徴量は、検出領域内の被写体が距離に見合ったサイズの顔であるかどうかを判断するための、その距離にある被写体の検出領域内での大きさを示す特徴量である。
【０１４６】
まずステップＳ７１では、検出領域サイズに見合った距離値を取得する。これは距離値と検出領域サイズの対応関係から、元のスキャン位置での距離値を逆算して得ていることになる。後でこの距離値と同等の距離値を有する画素をカウントし、その被写体の大きさを求めるのである。
【０１４７】
次にステップＳ７２では、検出領域内の全画素をスキャンするに際しての初期設定を行う。ここでは検出領域左上の画素をスキャン開始の画素位置として設定する。スキャン方向は既述したスキャンと同様である。また全画素数Ｃ１及び対応画素数Ｃ２を初期値０に設定する。
【０１４８】
ステップＳ７３では、検出領域内の全画素をスキャンし終えたかどうかを判定する。スキャン位置が検出領域右下画素を通過していれば、スキャン終了と判定すればよい。スキャン終了している場合（ステップＳ７３：ＹＥＳ）は、ステップＳ７８に進む。スキャン終了していない場合（ステップＳ７３：ＮＯ）は、次のステップＳ７４を実行する。
【０１４９】
ステップＳ７４では、全画素数Ｃ１に１画素加える。スキャンした全画素の総和を求めるため、スキャンの度に１を加える。
【０１５０】
ステップＳ７５では、スキャン位置での画素値、すなわち距離値を取得し、ステップＳ７１で取得した対応距離値と同等であるかどうかを判定する。同等であるかどうかは、予め判定範囲を定めておき、両者の差分が判定範囲内である場合に同等と判定するようにすればよい。
【０１５１】
ステップＳ７５で、対応距離値と同等である場合は、次のステップＳ７６を実行する。対応距離値と同等でない場合は、ステップＳ７６を省略し、ステップＳ７７に進む。
【０１５２】
次のステップＳ７６では、対応画素数Ｃ２に１画素加える。スキャンした全画素のうち、上記した対応距離値と距離値が同等である画素の総和を求めるため、スキャンした画素が対応画素であると判定される度に１を加える。
【０１５３】
ステップＳ７７では、検出領域内のスキャン位置を更新する。次の画素位置に移動する。その後、ステップＳ７３に戻り、スキャン終了判定になるまで、ステップＳ７３以下の検出領域内の各画素に対する処理を繰り返す。
【０１５４】
前述したように、ステップＳ７３でスキャン終了判定になった場合に、検出領域内の各画素の処理ループを抜けて、ステップＳ７８を実行する。ステップＳ７８では、第１の特徴量Ｃ２／Ｃ１を算出する。
【０１５５】
この時点でＣ１は検出領域の全画素数であり、Ｃ２は検出領域の、対応距離と同等の距離値を有する全画素数である。従って第１の特徴量Ｃ２／Ｃ１は、検出領域内の被写体の大きさが検出領域のサイズと見合っているかどうか、すなわちその大きさによって、その検出領域内でのその対応距離における顔であると見なせるかどうか、を判断する基準として用いることができる。
【０１５６】
図９にその判断の実例を示す。図９（ａ）は、距離画像３０内の検出領域４０において、その対応距離値と同等の距離値を有する画素からなる被写体領域５０が、検出領域４０の大部分を占めている例である。検出領域にある被写体が顔であるとすればこのように、第１の特徴量は１に近い大きな値となる。
【０１５７】
図９（ｂ）は、距離画像３０内の検出領域４０において、その対応距離値と同等の距離値を有する画素からなる被写体領域５０が、検出領域４０の小さな部分を占めている例である。この例では実は被写体領域５０は顔であるのだが、検出領域４０と顔である被写体領域５０の位置がずれているため、この検出領域に対しては顔として検出判定するのは適当ではない。従って第１の特徴量が１よりもかなり小さい場合は、顔であるという判断は下すべきではない。
【０１５８】
判定方法については後述するが、第１の特徴量による判定としては、所定の第１の閾値より大きいかどうかで判定すればよい。
【０１５９】
以上で、第１の特徴量算出処理は終了する。
【０１６０】
＜第２の特徴量算出＞
図２のステップＳ１７、すなわち第２の特徴量算出工程の詳細フローについて、図１０を用いて説明する。図１０は第２の特徴量算出工程を示すフローチャートである。
【０１６１】
図１０の第２の特徴量算出は、検出領域設定部２１で設定された検出領域を対象として第２の特徴量算出部２４で実行される。
【０１６２】
第２の特徴量は、検出領域内の被写体が距離に見合ったサイズの顔であるかどうかを判断するための、その検出領域の周辺、特に上部に設定した補助領域において、検出領域の顔と見なせる被写体の距離と同等の距離にある被写体が存在するかどうかを示す特徴量である。
【０１６３】
まずステップＳ８１では、検出領域サイズに見合った距離値を取得する。これは距離値と検出領域サイズの対応関係から、元のスキャン位置での距離値を逆算して得ていることになる。後で別途設定した補助領域において、この距離値と同等の距離値を有する画素を調べ、補助領域での被写体の存否を参照するのである。
【０１６４】
次にステップＳ８２では、補助領域の設定を行う。具体的には、例えば、検出領域のスキャン位置を（ｉ，ｊ）、それを中心とした検出領域のサイズをｍ×ｍとした場合、補助領域の中心位置を（ｉ−１．５ｍ，ｊ）とし、補助領域のサイズをｍ×ｍとすればよい。図１１に検出領域４０に対して補助領域４１を設定した例を図示している。
【０１６５】
次にステップＳ８３では、補助領域内の全画素をスキャンするに際しての初期設定を行う。ここでは補助領域左上の画素をスキャン開始の画素位置として設定する。スキャン方向は既述した検出領域内スキャンと同様である。また後で距離値の平均値、中央値、または最頻出値などを算出するための初期値を設定しておく。
【０１６６】
ステップＳ８４では、補助領域内の全画素をスキャンし終えたかどうかを判定する。スキャン位置が補助領域右下画素を通過していれば、スキャン終了と判定すればよい。スキャン終了している場合（ステップＳ８４：ＹＥＳ）は、ステップＳ８８に進む。スキャン終了していない場合（ステップＳ８４：ＮＯ）は、次のステップＳ８５を実行する。
【０１６７】
ステップＳ８５では、補助領域内のスキャン位置の画素値から距離値を取得する。
【０１６８】
次にステップＳ８６では、ステップＳ８５で取得した各画素での距離値を、後での平均値、中央値、または最頻出値などの演算に備えて記憶保存しておく。あるいは可能であれば、順次演算処理を進めていってもよい。
【０１６９】
ステップＳ８７では、補助領域内のスキャン位置を更新する。次の画素位置に移動する。その後、ステップＳ８４に戻り、スキャン終了判定になるまで、ステップＳ８４以下の補助領域内の各画素に対する処理を繰り返す。前述したように、ステップＳ８４でスキャン終了判定になった場合に、補助領域内の各画素の処理ループを抜けて、ステップＳ８８を実行する。
【０１７０】
ステップＳ８８では、補助領域内のスキャン処理中にステップＳ８６で記憶保存した距離値、あるいは既に演算を進めているデータに基づいて、補助領域内の距離値の平均値、中央値、または最頻出値を、代表距離値として算出する。
【０１７１】
ステップＳ８９では、第２の特徴量として、ステップＳ８８で算出した補助領域の代表距離値と、ステップＳ８１で取得した検出領域対応距離値との差分の絶対値を算出する。これは次の式で表現できる。
【０１７２】
第２の特徴量＝｜代表距離値−対応距離値｜
この時点で、検出領域の被写体が顔として判断を行う対象であり、対応距離値はその被写体の距離を表している。その距離に顔があるとすれば、その上部、つまり補助領域の被写体は、それよりかなり遠方にあるのが通常である。一方検出領域の被写体が顔以外（例えば胴体など）であれば、その上部の被写体がほぼ同等の距離にあってもおかしくない。
【０１７３】
代表距離値は補助領域の被写体に対する代表距離値であり、検出領域の被写体の対応距離値との距離関係を、上述した考え方に従って判断の基準とすることができる。すなわち、第２の特徴量が大きい場合は、顔である可能性も大きく、第２の特徴量が小さい場合は、顔である可能性も小さい。
【０１７４】
図１１にその判断の実例を示す。図１１（ａ）は、距離画像３０内の検出領域４０における被写体が人物の顔５０である場合を示す。検出領域４０の上部に相当する補助領域４１においては、顔５０と同等の距離には被写体は存在せず、写っている被写体はかなり遠方の背景物になる。このような場合、補助領域４１の被写体は通常、検出領域４０の対応距離値と同等の距離値を有することはない。検出領域４０にある被写体が顔５０であるとすればこのように、第２の特徴量は比較的大きな値となる。
【０１７５】
図１１（ｂ）は、距離画像３０内の検出領域４０における被写体が、顔５０ではなく人物の胴体５１である場合を示す。この場合、検出領域４０の上部に相当する補助領域４１においては、胴体５１と同等の距離に顔５０などの被写体が存在することになる。従って、第２の特徴量が比較的小さな値のときは、検出領域４０の被写体は顔５０でない可能性が高い。
【０１７６】
判定方法については後述するが、第２の特徴量による判定としては、所定の第２の閾値より大きいかどうかで判定すればよい。
【０１７７】
以上で、第２の特徴量算出処理は終了する。
【０１７８】
＜第３の特徴量算出＞
図２のステップＳ１８、すなわち第３の特徴量算出工程の詳細フローについて、図１２を用いて説明する。図１２は第３の特徴量算出工程を示すフローチャートである。
【０１７９】
図１２の第３の特徴量算出は、検出領域設定部２１で設定された検出領域を対象として第３の特徴量算出部２５で実行される。
【０１８０】
第３の特徴量は、検出領域内の被写体が距離に見合ったサイズの顔であるかどうかを判断するための、検出領域内での被写体の距離の分布を示す特徴量である。被写体が顔であるならば、距離の分布は水平方向または垂直方向で偏りが小さいことを利用する。
【０１８１】
まずステップＳ９１では、検出領域を水平方向または垂直方向に二等分し、領域Ｓ１と領域Ｓ２に分割する。分割とこの後のスキャン、特徴量算出処理は、水平方向と垂直方向、その両方の分割について行うことが望ましい。
【０１８２】
ステップＳ９２では、スキャン領域としてまずＳ１を設定する。分割した領域Ｓ１とＳ２とをそれぞれスキャンするが、その順序について、ここではまず領域Ｓ１からスキャンを始める。
【０１８３】
次にステップＳ９３では、スキャンする分割領域（初期はＳ１）内の全画素をスキャンするに際しての初期設定を行う。ここでは分割領域左上の画素をスキャン開始の画素位置として設定する。スキャン方向は既述した検出領域内スキャンと同様である。また後で距離値の総和を算出するための初期値を設定しておく。
【０１８４】
ステップＳ９４では、分割領域内の全画素をスキャンし終えたかどうかを判定する。スキャン位置が分割領域右下画素を通過していれば、スキャン終了と判定すればよい。スキャン終了している場合（ステップＳ９４：ＹＥＳ）は、ステップＳ９７に進む。スキャン終了していない場合（ステップＳ９４：ＮＯ）は、次のステップＳ９５を実行する。
【０１８５】
ステップＳ９５では、分割領域内のスキャン位置の画素値から距離値を取得し、距離値の総和を求めるための加算処理を行っていく。
【０１８６】
次にステップＳ９６では、分割領域内のスキャン位置を更新する。次の画素位置に移動する。その後、ステップＳ９４に戻り、スキャン終了判定になるまで、ステップＳ９４以下の分割領域内の各画素に対する処理を繰り返す。前述したように、ステップＳ９４でスキャン終了判定になった場合に、分割領域内の各画素の処理ループを抜けて、ステップＳ９７を実行する。
【０１８７】
ステップＳ９７では、分割領域が初期設定したＳ１であるかどうかを判定する。分割領域がＳ１である場合（ステップＳ９７：ＹＥＳ）は、ステップＳ９８を実行する。分割領域がＳ１でない場合、つまりＳ２である場合（ステップＳ９７：ＮＯ）は、ステップＳ９９へ進む。
【０１８８】
ステップＳ９８では、分割領域Ｓ１のスキャンを終了したことから、次にスキャン領域としてＳ２を設定する。その後ステップＳ９３へ戻り、ステップＳ９４でスキャン終了判定するまで、領域Ｓ１と同様の処理を分割領域Ｓ２に対しても行う。
【０１８９】
ステップＳ９４でスキャン終了判定し、ステップＳ９７ヘ進み、さらにＳ２なのでステップＳ９９へ進むと、ステップＳ９９では、各分割領域内のスキャン処理中にステップＳ９５で総和演算した各分割領域に対応するそれぞれの総和距離値ｓ１及びｓ２に基づいて、その差分の絶対値を算出する。
【０１９０】
水平方向に分割した場合、水平差分値＝｜ｓ１−ｓ２｜
垂直方向に分割した場合、垂直差分値＝｜ｓ１−ｓ２｜
それぞれの場合に従って、水平差分値、または垂直差分値を第３の特徴量とする。もちろん、両方を算出し、両方を第３の特徴量としてもよい。その場合は、ステップＳ９１からステップＳ９９に至るすべてのステップを水平方向と垂直方向とで二回繰り返す処理を行えばよい。
【０１９１】
第３の特徴量である水平差分値、垂直差分値は、それぞれ、検出領域の被写体の距離が水平方向、垂直方向に均等に分布しているかどうかを示している。検出領域の被写体が顔であれば、上下、左右に距離はほぼ均等に分布し、逆にその差分が大きくなるような分布であれば、顔でない可能性が高い。すなわち、第３の特徴量が小さい場合は、検出領域の被写体は顔であり、大きい場合は顔でない可能性が高いと判断することができる。
【０１９２】
図１３にその判断の実例を示す。図１３（ａ）は、検出領域４０における被写体が人物の顔５０である場合を、図１３（ｂ）には顔５０が検出領域４０から外れている場合を示す。（ａ）の検出領域４０においては、顔５０が水平方向ほぼ均等であり、水平差分値はかなり小さくなり、顔検出と判定できるが、（ｂ）では、顔５０のずれのため水平差分値は大きくなる。従って顔を検出したと判定すべきではない。
【０１９３】
図１３（ｃ）と（ｄ）も同様である。検出領域４０における被写体が人物の顔５０である場合（ｃ）と、顔５０が検出領域４０から外れている場合（ｄ）とを示す。（ｃ）の検出領域４０においては、顔５０が垂直方向ほぼ均等であり、垂直差分値はかなり小さくなり、顔検出と判定できるが、（ｄ）では、顔５０のずれのため垂直差分値は大きくなる。
【０１９４】
判定方法については後述するが、第３の特徴量による判定としては、所定の第３の閾値より小さいかどうかで判定すればよい。第３の特徴量が水平差分値、垂直差分値両方であれば、所定の第３の閾値も水平方向と垂直方向、両者を定めておけばよい。
【０１９５】
以上で、第３の特徴量算出処理は終了する。
【０１９６】
＜検出判定＞
図２のステップＳ２５、すなわち特定物体検出判定工程の詳細フローについて、図１４を用いて説明する。図１４は特定物体検出判定工程を示すフローチャートである。
【０１９７】
図１４の特定物体検出判定は、検出領域設定部２１で設定された検出領域を対象として特定物体検出判定部２７で実行される。
【０１９８】
判定に用いるのは、先行するステップで算出されている第１、第２、第３の特徴量、及び入力画像判定結果である。この特定物体検出判定工程では、それぞれの判定がすべて検出を示したときに、検出したと判定するものである。
【０１９９】
まず、ステップＳ１０１では、検出領域に対する第１、第２、第３の特徴量を取得する。第１、第２、第３の特徴量は、それぞれ図２のステップＳ１６、ステップＳ１７、ステップＳ１８で算出されている。
【０２００】
次にステップＳ１０２では、第１の特徴量に基づく検出判定が行われる。判定は予め定められた第１の閾値ＴＨ１を用いて、次の式を満たすときに検出したと判定する。満たさないときは、検出しないと判定する。
【０２０１】
第１の特徴量＞ＴＨ１
検出したという判定の場合（ステップＳ１０２：ＹＥＳ）は、次のステップＳ１０３を実行する。検出しないという判定の場合（ステップＳ１０２：ＮＯ）は、ステップＳ１０８へ進み、実行する。ステップＳ１０８では、即、特定物体検出せずの検出結果を提出して、特定物体検出判定を終了する。
【０２０２】
ステップＳ１０３では、第２の特徴量に基づく検出判定が行われる。判定は予め定められた第２の閾値ＴＨ２を用いて、次の式を満たすときに検出したと判定する。満たさないときは、検出しないと判定する。
【０２０３】
第２の特徴量＞ＴＨ２
検出したという判定の場合（ステップＳ１０３：ＹＥＳ）は、次のステップＳ１０４を実行する。検出しないという判定の場合（ステップＳ１０３：ＮＯ）は、ステップＳ１０８へ進み、実行する。ステップＳ１０８では、即、特定物体検出せずの検出結果を提出して、特定物体検出判定を終了する。
【０２０４】
ステップＳ１０４では、第３の特徴量に基づく検出判定が行われる。判定は予め定められた第３の閾値ＴＨ３（水平、垂直いずれか、もしくは両方）を用いて、次の式を満たすときに検出したと判定する。満たさないときは、検出しないと判定する。
【０２０５】
第３の特徴量（水平差分値）＜ＴＨ３（水平）
第３の特徴量（垂直差分値）＜ＴＨ３（垂直）
検出したという判定の場合（ステップＳ１０４：ＹＥＳ）は、次のステップＳ１０５を実行する。検出しないという判定の場合（ステップＳ１０４：ＮＯ）は、ステップＳ１０８へ進み、実行する。ステップＳ１０８では、即、特定物体検出せずの検出結果を提出して、特定物体検出判定を終了する。
【０２０６】
ステップＳ１０５では、第２の検出領域に対する検出判定結果を取得する。第２の検出領域は、図２のステップＳ２１で設定され、ステップＳ２２で既に入力画像判定が行われている。そこで第２の検出領域に対する検出判定結果が出ている。
【０２０７】
次にステップＳ１０６では、入力画像判定結果に基づく判定が行われる。入力画像判定結果が検出したという判定の場合（ステップＳ１０６：ＹＥＳ）は、次のステップＳ１０７を実行する。検出しないという判定の場合（ステップＳ１０６：ＮＯ）は、ステップＳ１０８へ進み、実行する。ステップＳ１０８では、即、特定物体検出せずの検出結果を提出して、特定物体検出判定を終了する。
【０２０８】
ステップＳ１０７では、特定物体を検出したという検出結果を提出し、結果を記憶部１０３に記憶保存する。
【０２０９】
以上で、特定物体検出判定を終了する。処理途中で行われる各判定については、一部省略することも可能であるし、また追加することもできる。また各判定を行う順序を適当に入れ替えることも可能である。しかし、すべての判定で検出された場合のみ、最終的に特定物体検出と判定されることは変わらない。
【０２１０】
（特定物体検出処理の動作フロー：別例）
図２で特定物体検出処理の全体フロー説明の際に、ステップＳ１６以降は、距離画像に対する処理と、入力画像に対する処理とに分かれる、と述べた。図２のフローにおいては、ステップＳ２５で統合して判定処理されるまで、両者は互いに独立して処理してかまわないような手順としていたが、実際は処理の効率を考慮するならば、何れかを優先処理するようなフローであってもかまわない。入力画像を優先処理する場合（別例１）は図１５を参照して、距離画像を優先する場合（別例２）は図１６を参照して、そのフローを説明する。
【０２１１】
＜別例１＞
図２の特定物体検出処理のフロー別例１について、図１５を用いて説明する。図１５は、特定物体検出処理の動作フローの別例１を示すフローチャートである。このフローでは、入力画像に対する判定処理を優先して実行し、そこで検出された場合のみ、距離画像に対する判定処理を行う。
【０２１２】
ステップＳ１１からステップＳ１５までは、図２と同様であり、説明は略す。
【０２１３】
引き続いて、ステップＳ２１とステップＳ２２の入力画像に対する判定処理を行う。処理内容は既述したとおりである。その後ステップＳ２７で入力画像判定による検出判定を行う。ここでの検出判定は、図１４における（Ｓ２７）で示した各ステップに相当する。
【０２１４】
ここで検出しないと判定された場合（ステップＳ２７：ＮＯ）は、ステップＳ３２へ進む。すなわち、検出しないという判定が確定し、検出領域のスキャンが進行する。検出すると判定された場合（ステップＳ２７：ＹＥＳ）のみ、次のステップＳ１６へ進む。
【０２１５】
次には、ステップＳ１６からステップＳ１８の距離画像に対する特徴量算出処理を行う。処理内容は既述したとおりである。その後ステップＳ２６で第１から第３の特徴量による検出判定を行う。ここでの検出判定は、図１４における（Ｓ２６）で示した各ステップに相当する。
【０２１６】
ここで検出しないと判定された場合（ステップＳ２６：ＮＯ）は、ステップＳ３２へ進む。すなわち、検出しないという判定が確定し、検出領域のスキャンが進行する。検出すると判定された場合（ステップＳ２６：ＹＥＳ）のみ、次のステップＳ３１へ進む。
【０２１７】
ステップＳ３１では、特定物体検出判定結果を記憶部１０３に記憶保存する。
【０２１８】
次のステップＳ３２で検出領域のスキャン位置を更新し、ステップＳ１４へ戻り、スキャン継続するのは、図２で述べたと同様であり、説明は省略する。
【０２１９】
以上のようにして、特定物体検出処理のフロー別例１を終了するが、入力画像に対する判定処理を優先して実行し、そこで検出された場合のみ、距離画像に対する判定処理を行うので、入力画像に対する判定処理の方がより効率的、あるいは精度のよい場合などに適したフローである。
【０２２０】
＜別例２＞
図２の特定物体検出処理のフロー別例２について、図１６を用いて説明する。図１６は、特定物体検出処理の動作フローの別例２を示すフローチャートである。このフローでは、距離画像に対する判定処理を優先して実行し、そこで検出された場合のみ、入力画像に対する判定処理を行う。
【０２２１】
ステップＳ１１からステップＳ１５までは、図２と同様であり、説明は略す。
【０２２２】
引き続いて、ステップＳ１６からステップＳ１８の距離画像に対する特徴量算出処理を行う。処理内容は既述したとおりである。その後ステップＳ２６で第１から第３の特徴量による検出判定を行う。ここでの検出判定は、図１４における（Ｓ２６）で示した各ステップに相当する。
【０２２３】
ここで検出しないと判定された場合（ステップＳ２６：ＮＯ）は、ステップＳ３２へ進む。すなわち、検出しないという判定が確定し、検出領域のスキャンが進行する。検出すると判定された場合（ステップＳ２６：ＹＥＳ）のみ、次のステップＳ２１へ進む。
【０２２４】
次には、ステップＳ２１とステップＳ２２の入力画像に対する判定処理を行う。処理内容は既述したとおりである。その後ステップＳ２７で入力画像判定による検出判定を行う。ここでの検出判定は、図１４における（Ｓ２７）で示した各ステップに相当する。
【０２２５】
ここで検出しないと判定された場合（ステップＳ２７：ＮＯ）は、ステップＳ３２へ進む。すなわち、検出しないという判定が確定し、検出領域のスキャンが進行する。検出すると判定された場合（ステップＳ２７：ＹＥＳ）のみ、次のステップＳ３１へ進む。
【０２２６】
ステップＳ３１では、特定物体検出判定結果を記憶部１０３に記憶保存する。
【０２２７】
次のステップＳ３２で検出領域のスキャン位置を更新し、ステップＳ１４へ戻り、スキャン継続するのは、図２で述べたと同様であり、説明は省略する。
【０２２８】
以上のようにして、特定物体検出処理のフロー別例２を終了するが、距離画像に対する判定処理を優先して実行し、そこで検出された場合のみ、入力画像に対する判定処理を行うので、距離画像に対する判定処理の方がより効率的、あるいは精度のよい場合などに適したフローである。
【０２２９】
このように本実施形態によれば、画像中の特定物体の位置と大きさを検出するのに距離情報を利用するに当たり、距離に応じた適切な検出領域を設定するとともに、検出する領域のサイズとの関係だけでなく、検出領域での距離情報の空間分布を解析する、あるいは検出領域周辺部まで距離情報利用を拡張することにより、より精度よく、かつより効率的に画像中の特定物体とその大きさを検出できる特定物体検出装置、特定物体検出方法、及び特定物体検出プログラムを提供することができる。
【０２３０】
また本発明の範囲は、上記実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、それらの変更された形態もその範囲に含むものである。
【図面の簡単な説明】
【０２３１】
【図１】本発明に係る特定物体検出装置の一実施形態について、その機能構成を示すブロック図である。
【図２】特定物体検出装置による特定物体検出処理の全体動作フローを示すフローチャートである。
【図３】距離画像生成工程を示すフローチャートである。
【図４】入力画像とそれに基づき生成された距離画像の例を示す図である。
【図５】検出領域設定工程を示すフローチャートである。
【図６】視差、すなわち距離値と検出領域サイズとの対応関係を示す図である。
【図７】検出領域のスキャンによる検出領域サイズの変化（ａ）、及び検出領域サイズを変化させてのスキャン反復（ｂ）、を示す図である。
【図８】第１の特徴量算出工程を示すフローチャートである。
【図９】第１の特徴量による判定の具体例を示す図である。
【図１０】第２の特徴量算出工程を示すフローチャートである。
【図１１】第２の特徴量による判定の具体例を示す図である。
【図１２】第３の特徴量算出工程を示すフローチャートである。
【図１３】第３の特徴量による判定の具体例を示す図である。
【図１４】特定物体検出判定工程を示すフローチャートである。
【図１５】特定物体検出処理の全体フロー別例１を示すフローチャートである。
【図１６】特定物体検出処理の全体フロー別例２を示すフローチャートである。
【符号の説明】
【０２３２】
１０  特定物体検出処理部
１１  入力画像取得部
１２  距離画像生成部
１３  対応関係設定部
１４  特定物体検出処理制御部
１５  特定物体検出処理出力部
２０  検出領域処理部
２１  検出領域設定部
２２  第２の検出領域設定部
２３  第１の特徴量算出部
２４  第２の特徴量算出部
２５  第３の特徴量算出部
２６  入力画像判定部
２７  特定物体検出判定部
３０、３０ａ、３０ｂ  距離画像
３１ａ、３１ｂ  入力画像
４０、４０ａ、４０ｂ  検出領域
４１  補助領域
５０  被写体（顔）
５１  被写体（胴体）
１０１  入力部
１０２  操作部
１０３  記憶部
１０４  表示部
１０５  出力部
【図１】
2007280088.tif 000003
【図２】
2007280088.tif 000004
【図３】
2007280088.tif 000005
【図４】
2007280088.tif 000006
【図５】
2007280088.tif 000007
【図６】
2007280088.tif 000008
【図７】
2007280088.tif 000009
【図８】
2007280088.tif 000010
【図９】
2007280088.tif 000011
【図１０】
2007280088.tif 000012
【図１１】
2007280088.tif 000013
【図１２】
2007280088.tif 000014
【図１３】
2007280088.tif 000015
【図１４】
2007280088.tif 000016
【図１５】
2007280088.tif 000017
【図１６】
2007280088.tif 000018