(57)【要約】【課題】  照明環境や、背景環境にロバストで、カメラと人物の距離によらず、また比較的低解像度の画像から頭部の３次元位置検出を可能とする頭部検出装置を提供する。【解決手段】  基準カメラ１、参照カメラ２で同時に撮像されたカラー画像は距離画像算出部４のフレームメモリ３に蓄積される。距離画像算出部４は、基準カメラ１、参照カメラ２で得られた２枚の画像の対応を取り、その視差から距離画像を生成する。距離画像算出部４にて算出された距離画像は、頭部位置検出部５に供給される。頭部位置検出部５は、上記距離画像と、フレームメモリ３に蓄積されたカラー画像を用いて頭部の３次元検出、及び追跡を行う。【選択図】  図１
2005092451.tif 000002
【特許請求の範囲】
【請求項１】
２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出手段と、
上記距離画像算出手段で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出手段と
を備えることを特徴とする頭部検出装置。
【請求項２】
上記頭部位置検出手段は、上記円あてはめ処理の前に、上記距離画像を用いて距離の大きい画素からラベリングを行い、かつラベリング内のレンジの閾値を超えたか否かを判定することを特徴とする請求項１記載の頭部検出装置。
【請求項３】
上記頭部位置検出手段は、上記円あてはめ処理の後に、円あてはめ処理の結果から頭部であるか否かを判定し、頭部の候補を選択することを特徴とする請求項１記載の頭部検出装置。
【請求項４】
上記頭部位置検出手段は、上記頭部であるか否かの判定の後、選択された頭部の候補のXY平面上で求めた頭部位置をカラー画像に射影し、その点を中心とした領域内で頭部位置の修正を行なうことを特徴とする請求項３記載の頭部検出装置。
【請求項５】
上記頭部位置検出手段は、上記頭部位置の修正の後、修正結果を用いて初期モード、遷移モード、追跡モードを設定することを特徴とする請求項４記載の頭部検出装置。
【請求項６】
２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出工程と、
上記距離画像算出工程で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出工程と
を備えることを特徴とする頭部検出方法。
【請求項７】
上記頭部位置検出工程は、上記円あてはめ処理の前に、上記距離画像を用いて距離の大きい画素からラベリングを行い、かつラベリング内のレンジの閾値を超えたか否かを判定することを特徴とする請求項６記載の頭部検出方法。
【請求項８】
上記頭部位置検出工程は、上記円あてはめ処理の後に、円あてはめ処理の結果から頭部であるか否かを判定し、頭部の候補を選択することを特徴とする請求項６記載の頭部検出方法。
【請求項９】
上記頭部位置検出工程は、上記頭部であるか否かの判定の後、選択された頭部の候補のXY平面上で求めた頭部位置をカラー画像に射影し、その点を中心とした領域内で頭部位置の修正を行なうことを特徴とする請求項８記載の頭部検出方法。
【請求項１０】
上記頭部位置検出工程は、上記頭部位置の修正の後、修正結果を用いて初期モード、遷移モード、追跡モードを設定することを特徴とする請求項９記載の頭部検出方法。
【請求項１１】
２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出工程と、
上記距離画像算出工程で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出工程とを備え、コンピュータによって実行されることを特徴とする頭部検出プログラム。
【請求項１２】
上記頭部位置検出工程は、上記円あてはめ処理の前に、上記距離画像を用いて距離の大きい画素からラベリングを行い、かつラベリング内のレンジの閾値を超えたか否かを判定することを特徴とする請求項１１記載の頭部検出プログラム。
【請求項１３】
上記頭部位置検出工程は、上記円あてはめ処理の後に、円あてはめ処理の結果から頭部であるか否かを判定し、頭部の候補を選択することを特徴とする請求項１１記載の頭部検出プログラム。
【請求項１４】
上記頭部位置検出工程は、上記頭部であるか否かの判定の後、選択された頭部の候補のXY平面上で求めた頭部位置をカラー画像に射影し、その点を中心とした領域内で頭部位置の修正を行なうことを特徴とする請求項１３記載の頭部検出プログラム。
【請求項１５】
上記頭部位置検出工程は、上記頭部位置の修正の後、修正結果を用いて初期モード、遷移モード、追跡モードを設定することを特徴とする請求項１４記載の頭部検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、頭部検出装置及び頭部検出方法、並びに頭部検出プログラムに関し、特に人物の頭部を完全非接触で３次元位置検出する頭部検出装置及び頭部検出方法、並びに頭部検出プログラムに関する。
【背景技術】
【０００２】
人物頭部の位置検出は、自然なインターフェースとして非常に注目されている。例えば、ゲームなどの分野においても、頭部の３次元位置検出をすることでユーザに見せる映像を変化させ、より臨場感のある方法などが提案されている。
【０００３】
例えば、特開２０００−２６８１６１号公報においては、画像内の肌色領域を抽出し、その後目、口などといった特徴点を用いた頭部検出方法が提案されている。
【０００４】
また、特開２０００−２１０２７０号公報においては、画像からエッジ（急峻な輝度の変化部分）を抽出し、円検出を行ない頭部を検出する方法が提案されている。
【０００５】
また、特開２００３−１０５４１号公報においては、過去の画像と現在の画像との差分画像を取って、頭部を検出する方法が提案されている。コンピュータ内部のバッファに過去３フレーム分の画像を蓄積し、その平均画像と現在のフレーム画像との差分から頭部を検出するという方法である。
【０００６】
また、特開２００２−３５２２３１号公報においては、ステレオカメラから得られる距離情報からXYZの３次元情報を生成し、頭部検出を行なっている。頭部の検出をXYZ空間内での高さと幅を利用して行なう方法である。
【０００７】
また、特開平１１−６３９２７号公報においては、ユーザが自身の目、口などを指定して顔検出を行なう方法が提案されている。
【０００８】
【特許文献１】特開２０００−２６８１６１号公報
【特許文献２】特開２０００−２１０２７０号公報
【特許文献３】特開２００３−１０５４１号公報
【特許文献４】特開２００２−３５２２３１号公報
【特許文献５】特開平１１−６３９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ユーザに負担をしいることなく、つまり完全非接触で、人物の頭部位置をロバストに検出する技術は未だ確立されていないのが現状である。
【００１０】
上記特許文献１に記載された技術においては、肌色抽出は照明環境に敏感であり、また個人差も激しい。これを吸収するためには、抽出する色に幅をもたせる必要があるが、その場合、顔以外の領域の抽出が起こる問題が生じる。また、目、口といった特徴点を利用する方法では、ある程度の解像度が無いと特徴点の抽出は困難であり、低解像度でカメラと人物の距離が比較離れている場合には、適用が困難であるといった問題点がある。
【００１１】
また、上記特許文献２に記載された技術においては、複雑背景下でなくても、顔だけでなく、目、口などのエッジも抽出してしまうことがある。その中で円を当てはめるのは非常に難しい。また、複雑背景下では多数のエッジが存在するため、円検出は困難である。またカメラと人物の距離による画像内での頭部のサイズ変化を吸収する必要があり、円検出の処理速度に問題が生じる。画像の場合、カメラと人物との距離によって、顔の大きさが変わってしまう。すると、円を検出するためには、半径を変えて抽出しなければならなくなる。このため、処理自体も複雑となり、よって処理速度も遅くなるということである。
【００１２】
また、上記特許文献３に記載された技術においては、全くユーザが動かない場合とか、動きが微少な場合は、差分はないので、そういう場合の処理を付け加える必要がある。また、背景に動きがあるなかで、ユーザに動きがないとますます検出が困難になる。
【００１３】
また、上記特許文献４に記載された技術においては、複数人の場合や追跡に関しては行なっていない。
【００１４】
また、上記特許文献５に記載された技術においては、ユーザが事前に目、口を指定する必要があり、指定された領域の３次元位置計測により頭部傾き検出を行なっている。つまり、事前に追跡しやすいような点を指定してそれを追跡させているので、一度人の手が入ることになる。検出可能な空間から一旦人物がいなくなり、また新たに人物が空間に入ってくるたびに、初期の設定として点を指定するという処理を行わなければならない。
【００１５】
本発明は、上記実情に鑑みてなされたものであり、照明環境や、背景環境にロバストで、カメラと人物の距離によらず、また比較的低解像度の画像から頭部の３次元位置検出を可能とする頭部検出装置及び頭部検出方法、並びに頭部検出プログラムの提供を目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る頭部検出装置は、２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出手段と、上記距離画像算出手段で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出手段とを備えることによって上記課題を解決する。
【００１７】
取得した距離画像をXY平面へ射影することで、カメラと人物の距離に無関係に頭部を検出できる。また、頭部形状を円と仮定し、XY平面上で正規化された頭部形状に円当てはめを行なうため、低い計算コストでの処理が可能となる。
【００１８】
本発明に係る頭部検出方法は、２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出工程と、上記距離画像算出工程で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出工程とを備えることによって上記課題を解決する。
【００１９】
本発明に係る頭部検出プログラムは、２台以上の撮像装置により得られた画像から距離画像を算出する距離画像算出工程と、上記距離画像算出工程で算出された距離画像を３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出する頭部位置検出工程とを備えることによって上記課題を解決する。
【発明の効果】
【００２０】
本発明に係る頭部検出装置によれば、距離画像算出手段で算出された距離画像を、頭部位置検出手段が３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出するので、完全非接触でユーザの頭部の３次元位置を検出し、及び追跡可能な手段を提供できるので、より自然なインターフェースを実現でき、様々なアプリケーションに有効に活用できる。
【００２１】
また、本発明に係る頭部検出方法及び頭部検出プログラムによれば、完全非接触でユーザの頭部の３次元位置を検出し、及び追跡可能な手段を提供できるので、より自然なインターフェースを実現でき、様々なアプリケーションに有効に活用できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態について図面を参照しながら説明する。図１は、本発明の最良の形態である頭部検出装置のブロック図である。この頭部検出装置は、人物頭部の３次元位置検出、及び追跡を可能とするため、非接触に画像内の距離情報が計測可能なステレオカメラを用いる。ここで用いるステレオカメラは予めキャリブレーションが行なわれているものとする。カメラ台数は２台以上であればよいが、ここでは、基準カメラ１と参照カメラ２との２台のカメラを用いる。
【００２３】
基準カメラ１、参照カメラ２で同時に撮像された２枚のカラー画像は距離画像算出部４のフレームメモリ３に蓄積される。距離画像算出部４は、基準カメラ１、参照カメラ２で得られた２枚の画像の対応を取り、その視差から距離画像を生成する。距離画像算出部４にて算出された距離画像は、頭部位置検出部５に供給される。頭部位置検出部５は、上記距離画像と、フレームメモリ３に蓄積されたカラー画像を用いて頭部の３次元検出、及び追跡を行う。
【００２４】
図２には、頭部検出装置にて行われる処理手順を示す。先ず、基準カメラ１と参照カメラ２にて被写体（人物の頭部等）を同期して撮像する（ステップＳ１）。基準カメラ１による撮像で得られたカラー画像をIb(u,v)とし、参照カメラ２による撮像で得られたカラー画像をId(u,v)とする。これら２枚のカラー画像Ib(u,v)、Id(u,v)は、フレームメモリ３に格納される。
【００２５】
距離画像算出部４は、フレームメモリ３に格納された上記カラー画像Ib(u,v)とカラー画像Id(u,v)を基にしてグレー画像Ibg(u,v)とグレー画像Idg(u,v)を生成する（ステップＳ２）。このグレー画像は、次のステップＳ３にて距離画像を生成する際に用いられる。
【００２６】
ステップＳ３にて距離画像算出部４は、上記グレー画像を用いて距離画像D(u,v)を生成する。距離画像算出部４における距離画像の算出方法については周知の技術であるが以下に具体例を説明する。距離画像を生成する場合は、上述したようにカラー画像をグレー画像に変換して行なうのが一般的である。また、キャリブレーションされたカメラ間における対応点探索は、様々な方法があるが本形態では、基準カメラで撮像された各画素における距離情報を取得すれば良いため、対応付けの手法に関しては特に限定しないが以下に具体例を挙げておく。
【００２７】
まず、一般的なステレオ法の対応点の求め方を説明する。基準となるカメラの画像より所定領域を切り出し、その切り出した領域を他のカメラの画像上で順次変移させ（実際はカメラの内部パラメータや位置関係から求められるエピポーララインと呼ばれる直線上を変移させる）、その各変移位置においてこの所定領域の画像と、重な合う他のカメラの画像との間で一致度を求め、最も一致する変移位置における変移量を、切り出した領域の中心画素における対応点に設定する。この対応点の位置から、その画素の示す距離を求めることが可能となる。基準カメラの画像の各画素についてこれらの処理を繰り返すことにより、距離画像を得る。
【００２８】
例えば２台のカメラでステレオ法に基づいて対応点を求める場合について述べる。図３に基準カメラと検出カメラで３次元シーンを観察する状態を示す。３次元シーン中の点Ｐが基準カメラによってｎｂに観察され、検出カメラによってｎｄに観察されたことがわかれば、点Ｐの３次元位置を求めることができる。しかし、基準カメラの観察点ｎｂに対応する検出カメラの観察点がｎｄであることを判断するのは容易でなく、これをステレオ視における対応点問題と呼んでいる。
【００２９】
現在一般に行われている対応点検索の方法について述べる。図３を見ればわかるように、検出カメラの観察点ｎｄは両カメラのレンズ中心と基準カメラの観察点ｎｂで決まる平面と検出カメラの画像面が交わる直線上に存在する。この直線はエピポーララインと呼ばれる。基準カメラと検出カメラの位置関係が既知であれば、基準カメラの各観察点ごとに検出カメラの画像面上のエピポーララインを求めることができ、この線上で対応点探索を行えばよいことになる。
【００３０】
いま、基準カメラ画像上点のｎｂの対応点を検出画像上で見つけることを考えてみる。図４のように，ｎｂ周辺の小領域Ｗをテンプレートとして、検出画像のエピポーラライン上の数点（この例の場合、距離分解能はｎｄ１〜ｎｄ６の６点で、この距離番号１〜６がたとえばそれぞれカメラから1m, 2m, 3m, 4m, 5m, 6mの距離に対応しているとする）で相関値を求める。
【００３１】
画像相関値として、例えば以下の式 （１）のような評価値を用いる。ここで I(x)は基準画像の輝度値、I'(x')は検出画像の輝度値を表す。
【００３２】
【数１】
2005092451.tif 000003
【００３３】
図５に示したグラフのように、上記式（１）で求められる評価値がもっとも低いところを対応点とし（この場合距離番号３）、距離（この場合3m）を求める。あるいは、評価値が最小となるところの周辺の値から、サンプリングしたデータ間を補間して最小値を求める場合もある（図５の３．３の位置）。なお、エピポーラライン、及びエピポーラライン上の位置と物体の距離の関係は、あらかじめキャリブレーションによって求めておく。たとえば基準カメラ画像上のすべての画素に対して、各距離に応じた検出カメラ画像上の対応点の座標をテーブルにして持っておくことが考えられる。このテーブルさえ作れれば，キャリブレーションはどんな方法でもかまわない。
【００３４】
以上のような技術に基づいてステップＳ３にて生成された距離画像D(u,v)は、一般に視差が大きいものほど輝度を明るくしたり、視差が小さいものほど暗くすることによって表示する。あるいは、色の濃度に差を持たせて表示することもある。
【００３５】
次に、頭部検出装置では、頭部位置検出部５により距離画像をラベリングする（ステップＳ４）。このラベリングは、ノイズ除去、及び人物が複数人であった場合に複数人を分離するため、上記ステップＳ３で得られた距離画像D(u,v)を用いて行われる。
【００３６】
一般的なラベリング処理では、図６に示すように注目画素m0(i,j)の４近傍、または８近傍の連結を見てラベリングを行なっていく。具体的には、m0(i,j)に連結する画素m1(i,j+1)との輝度差が閾値Thresh_Connect以下であれば同一ラベルにするといった処理をラベルがついていない全ての画素について行う。しかしながらこの一般的なラベリング処理では、図７に示すような場合、つまり領域１と領域２が重なるＡの部分の輝度差が緩やかに変化している場合に関しては、領域１と領域２は同一ラベルとされ、分離することができない。異なる距離にいる場合でも人物が重なった場合は図７の状況が発生する可能性があるため、このような場合に対処する新たなラベリング方法が必要となる。
【００３７】
そこで本発明では、対象画像を一度距離情報の降順に並び替え、距離の大きい画素から順次ラベリングを行なっていき、先に記述した一般的なラベリング方法に加え、ラベリング内のレンジの閾値Thresh_Rangeを設ける。つまり、距離の大きい画素からラベリングを行なっていき、レンジの閾値Thresh_Rangeを超えた場合は終了する。この閾値Thresh_Rangeは、人物の頭部の奥行きを反映したものである。人物の頭部は、個人差はあるにしてもおおよそ奥行きの値を決めることができる。このおおよその奥行きの値に達したらラベリングを中止する。そして、まだラベル付けされていない最大の距離を持つ画素を注目画素として、ラベリングを行なう。これにより、領域１と領域２の平均輝度値がある程度離れている場合は領域１と領域２を分離することが可能となる。つまり、人物が重なっていても、人物頭部を分離することができる。
【００３８】
次に、この頭部検出装置は、頭部位置検出部５により、オブジェクトの判定処理を行う（ステップＳ５）。具体的には上記ステップＳ４にてラベリングされた各オブジェクトの面積により、観察領域内にオブジェクトが存在するか否かの判定を行なう。本発明では対象を人物と仮定しているため、ある程度の面積をもつオブジェクトのみを対象とする。これにより頭部より小さいようなオブジェクトの抽出を防ぐことができる。オブジェクトと判断されたものが複数ある場合には、各オブジェクトの平均距離を求め、距離が大きい順に人物候補として情報を保存しておく。
【００３９】
次に、この頭部検出装置は、頭部位置検出部５により、円フィッティングによる頭部検出処理を行う（ステップＳ６）。上記ステップＳ５のオブジェクト判定処理にて検出されたオブジェクト候補に対して円当てはめ処理を施して頭部検出を行なう。しかし、ここで問題となるのはカメラと人物の距離である。図８（ａ）に示すようにカメラに近い場合と、図８（ｂ）に示すようにカメラに遠い場合とでは撮像される人物の頭部は、大きさが大きく異なる。この範囲を吸収するための円検出アルゴリズムとしてハウ（Hough）変換が知られているが、大きさが大きく異なる頭部では未知数が円中心(x0,y0)、半径ｒの３つとなり、処理時間、及び、メモリ消費に問題がある。
【００４０】
そこで本発明では、ステップＳ３で得られた距離画像D(u,v)を、XYZ座標に変換する。キャリブレートされたステレオカメラであれば、この変換は容易に行なえる。これにより、距離画像D(u,v)の各画素のXYZ座標を算出する。そして、さらにZ=Z0座標に投影する。ここでZ0は任意の値でよい。これは、つまり距離画像D(u,v)を３次元空間内に展開し、XY平面に正射影することを意味し、実空間での大きさに変換されることを意味する。図９にXY平面に射影した結果を示す。図９の（ａ）のように人物とカメラが近い場合と、図９の（ｂ）のように人物とカメラが遠い場合でも、それぞれXY平面に射影することにより、（ａ）‘及び（ｂ）’に示すように、頭部の大きさは、カメラと人物の位置によらずほぼ一定となる。頭部の大きさが正規化されることになる。このため、円検出する際のパラメータの半径ｒは一意に決定することができ、未知のパラメータは円中心(x0,y0)のみとなる。
【００４１】
ハフ（Hough）変換を用いて行なう実際の円検出処理は、以下のとおりである。まず、XY平面に射影した画像に対し、輪郭線を抽出し、その輪郭線上の画素から未知パラメータである円中心(x0,y0)を算出し、Hough平面に投票していく。この際、ひとつのx,yのペアに対し、半径ｒは未知数とせずある図１０に示すように一定の幅を持たせた投票とする。図１０では、ｒ１、ｒ２及びｒ３の投票というように幅を持たせている。
【００４２】
Hough変換の基本的な方法については、“田村秀行  監修：コンピュータ画像処理入門（総研出版）”などに記載されている。以上の処理を上記ステップＳ５のオブジェクト判定で得られた人物候補全てに適用する。このように、円フィッティングによる頭部検出処理（ステップＳ６）では、頭部形状を円と仮定し、XY平面上で正規化された頭部形状に円当てはめを行なうため、低い計算コストでの処理が可能であり、また大局的な情報を利用するため、低解像度の画像に対しても利用可能である。
【００４３】
次に、頭部検出装置は、頭部位置検出部５により、上記ステップＳ６のHough変換による円当てはめの結果から、頭部であるか否かの判定を行なう（ステップＳ７）。Hough変換の結果、投票数が閾値Thresh_Vote以上の円中心を対象とする。Hough変換の結果、投票数が閾値Thresh_Vote以下の場合は、頭部は検出されなかったものとして、ステップＳ１の処理へ戻る。モードに関しては後述するが、この場合、モードは初期モードに設定される。
【００４４】
次に、頭部検出装置は、頭部位置検出部５により、色情報を用いた頭部位置検出を行う（ステップＳ８）。ここでは、色情報を利用して頭部位置を修正する。上記ステップＳ７までの処理では、距離画像Ｄ(u,v)をベースに行なってきたため、距離情報の精度によっては、図１１に示すように実際の頭部位置とのずれが生じる可能性がある。距離画像で顔の中心だと判断して求めた点でも、実際のカラー画像ではずれた感じになってしまい、精度が不安定になる。これは、ステレオカメラを用いて距離情報を求める際のオクルージョンの問題などで生じる。つまり、一方のカメラからは見えるが、他方のカメラからは見えない部分が生じてしまうことによる。また、例えば対応点探索をエリアマッチングで行なった場合、画像が低解像度の際はそのエリア（ウィンドウ）の大きさによって輪郭がボケたものとなる可能性もある。
【００４５】
そこで、本発明ではXY平面上で求めた頭部位置を基準カメラの入力カラー画像であるlb(u,v)に射影し、その点を中心とした領域内で再度頭部位置検出を行なう。ここで、XY平面からUV平面への射影は自由度８の射影変換行列により次式で表される。
【００４６】
【数２】
2005092451.tif 000004
【００４７】
ここでXY平面からUV平面へ射影する射影変換行列は、距離画像D(u,v)をXYZ変換した際に、各（u,v）に対応する(x,y)座標が既知であるため、簡単な線形解法により、上記（２）式として算出可能となる。また、図１２に示すように、同様にその点を中心とするXY平面の顔認識（ａ）、例えば３０×２０ｍｍを、UV平面上で（A×Bpixel）と変換することが可能となる（ｂ）。本発明では、投影により決定した領域Ｂ内の色を使用して頭部位置を修正する。実際には、領域Ｂ内のカラー画像をHSI（Hue（色相或いは色調） Saturation（彩度） Intensity（明度））空間へ変換し、そのHue値を使用する。RGBからHue値の算出は次の（３）式で記述できる。
【００４８】
【数３】
2005092451.tif 000005
ただし、if  B＞Ｇ  then  Hue＝２π−Hue
【００４９】
そして、領域Ｂ内の各画素に対してHue値を算出し、領域内で支配的なHue値を算出する。具体的にはHue値のヒストグラムを作成し、その最大値のHue値を代表値Hue_maxとする。その後、領域Ｂ内のHue_maxを持つ画素の重心を求めることで頭部位置を図１２の（ｂ）の破線のように修正する。このように色情報を用いた頭部位置検出処理（ステップＳ８）では、XY平面上で検出した頭部位置情報を再度UV平面に投影して、色情報を用いた処理を行うことで検出精度を向上させることができる。この処理は、ステップＳ７の処理で候補となった頭部位置全てについて行い、その位置UV値とHue値を頭部位置検出部５内に設けた図示しないメモリに記憶しておく。
【００５０】
ここでの処理では、肌色といった特定の色領域を使用していないため、照明環境、個人差に対してロバストであるといえる。また、目、口などといった特徴量を使用していないため、比較的低い解像度の画像に対しても適用可能である。
【００５１】
このようにステップＳ８の色情報を用いた頭部位置検出処理によれば、特定範囲の色情報を利用するのではなく、注目領域の支配的な色情報を補助的に用いることで、距離情報からの頭部検出精度を高めるとともに、照明環境にもロバストとすることが可能となる。
【００５２】
次に、頭部検出装置は、頭部位置検出部５により、モードの判定を行う（ステップＳ９）。ここでは、前フレームのUV値、及びHue値からモードを設定する。モードは初期モード、遷移モード、追跡モードの３種類とし、各モードでは以下のルールによって処理を行う。
【００５３】
先ず、初期モードによる処理について説明する。ここまで算出した頭部位置でカメラに最も近い距離値を持つ位置のUV値、及びHue値を参照データに格納し、図２のステップＳ１に戻る処理である。
【００５４】
遷移モードによる処理は図１３を参照すると以下のようになる。ステップＳ１１では頭部位置候補数と遷移モード回数を初期化し、UVの閾値Thresh_UVと、Hueの閾値Thersh_Hueを設定する。そして、ステップＳ１２とステップＳ１３を通して、上位の頭部位置候補（Upper_Num）の参照データUV値、及び参照データHue値と上記各閾値とを比較する。上位の頭部候補の参照データUV値、及び参照データHue値が上記閾値以下であるとステップＳ１４にて判定すると、ステップＳ１５に進み、遷移モード回数（count）をインクリメントする。ステップＳ１６にて参照データが各閾値（Thresh_UV、Tresh_Hue）よりも小さいと判定すれば、ステップＳ１７に進み、参照データを各閾値の最小値に更新する。一方ステップＳ１６にて参照データが各閾値よりも小さくないと判定したとき、及びステップＳ１７の更新が終了すると、ステップＳ１８にて遷移モード回数（count）が閾値（Tresh_Count）より多いか否かをチェックする。このステップＳ１８にて遷移モード回数が閾値より多いと判定すると、ステップＳ１９に進み、追跡モードに移行し、ステップＳ２１にて閾値を更新してから、図２のステップＳ１に戻る（ステップＳ２２）。上位の頭部位置候補全てが閾値外である場合（ステップＳ２０にてcount==０）は、頭部検出失敗として、モードを初期モードに移行し（ステップＳ２３）、図２のステップＳ１に戻る。
【００５５】
この遷移モードによれば、頭部らしきものを検出したとしてもすぐに追跡モードには移行せず、しばらく状態を見て、前回と同じような値が出てから追跡モードに移行するということができるので、処理の安定性を増すことができる。また、初期モードでの誤処理を吸収することができる。
【００５６】
追跡モードによる処理は図１４を参照すると以下のようになる。ステップＳ３１では頭部位置候補数と遷移モード回数を初期化し、UVの閾値Thresh_UVと、Hueの閾値Thersh_Hueを設定する。そして、ステップＳ３２とステップＳ３３を通して、全ての頭部位置候補（Data_Num）の参照データUV値、及び参照データHue値と、上記各閾値とを比較する。頭部候補の参照データUV値、及び参照データHue値が上記閾値以下であるとステップＳ３４にて判定すると、ステップＳ３５に進み、遷移モード回数（count）をインクリメントする。ステップＳ３６にて参照データが各閾値（Thresh_UV、Tresh_Hue）よりも小さければ、ステップＳ３７に進み、最小の頭部位置のXYZ値を出力する。これが上記図２の頭部３次元座標出力処理に相当する。この後、ステップＳ３９にて閾値を更新してから、図２のステップＳ１に戻る（ステップＳ４０）。全ての頭部位置候補全てが閾値外である場合（ステップＳ３８にてcount==０）は、頭部検出失敗として、モードを初期モードに移行し（ステップＳ４１）、図２のステップＳ１に戻る。
【００５７】
上記図２に示したステップＳ８の色情報を用いた頭部位置検出処理では、顔か否かをテクスチャ解析などで判定していないため、初期モード時点で誤検出を行なう可能性がある。しかし、上記図１３に示した遷移モードを導入することによって、誤検出した場合でも追跡モードに入らず、安定した検出が行なわれてから追跡モードに入るため、検出の安定化が図れる。
【００５８】
このように、本実施の形態によれば、完全な非接触で人物の頭部位置検出が可能である。また、複雑背景化や複数の人物がいる場合でも、特定の人物の頭部検出、追跡が可能（空間がつくれるので、空間に入ってきた人の頭部を検出、追跡できる。）できる。また、カメラと人物の距離に関係なく、ロバストな人物の頭部検出、追跡が可能である。
【００５９】
また、色情報を補助的に用いるため、色抽出をメインとした手法と比較して照明環境にロバストな人物検出が可能（従来は、肌色を抽出することが前提となっているが、本願発明はある程度当たりをつけてから色情報を用いる方法であり、かつ特定の色に限定しないので、照明環境にロバスト）である。また、目、口などの特徴点を利用しないため、比較的低解像度の画像に対しても、人物の頭部検出、追跡が可能である。
【００６０】
また、距離画像、距離ラベリング、追跡機能を合わせることで、複雑環境下、あるいは複数人が存在する場合でも、適用可能である。
【００６１】
なお、上記実施の形態は、図１に示したハードウェア構成を備えた頭部検出装置としたが、これに限定されるものではない。他の実施の形態としては、本発明の頭部検出方法にしたがった頭部検出プログラムをＨＤＤやＲＯＭなどに格納し、ＲＡＭをワークエリアとして実行するコンピュータを挙げることもできる。このコンピュータは、ＣＰＵとＨＤＤ、ＲＯＭ及びＲＡＭが内部バスを介して接続されている構成であり、上記図２、図１３及び図１４からなる頭部検出プログラムをＣＰＵにて実行することにより、上記図１の構成の機能をなし、距離画像算出手段で算出された距離画像を、頭部位置検出手段が３次元空間内に展開し、XY平面に射影して頭部の大きさを正規化してから円あてはめ処理を行って頭部を検出するので、完全非接触でユーザの頭部の３次元位置を検出し、及び追跡可能な手段を提供できるので、より自然なインターフェースを実現でき、様々なアプリケーションに有効に活用できる。
【００６２】
本発明を適用できるアプリケーションとしては、人間が空間のどこに居るかを把握し、その把握結果を活用できるものが対象となる。よって、ゲームや、映画の特殊効果、実映像とリンクさせた処理など様々なアプリケーションに適用できる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態の頭部検出装置のブロック図である。
【図２】頭部検出処理の手順を示すフローチャートである。
【図３】ステレオカメラで３次元シーンを観察する状態を示す図である。
【図４】ステレオカメラの基準カメラ画像と検出カメラ画像を示す図である。
【図５】距離番号に対する評価値の特性から得られる対応点を示す特性図である。
【図６】一般的なラベリング処理を説明するための図である。
【図７】二つの領域が重なる部分における境界のあいまいさを説明するための図である。
【図８】カメラと人物の位置関係による画像の大きさの違いを示す図である。
【図９】カメラと人物の位置関係により大きさが異なる画像をXY平面に射影した状態を示す図である。
【図１０】Hough空間への投票を説明するための図である。
【図１１】距離精度の問題点を説明するための図である。
【図１２】ＸＹ平面からＵＶ平面への投影を示す図である。
【図１３】遷移モードの処理の流れを示すフローチャートである。
【図１４】追跡モードの処理の流れを示すフローチャートである。
【符号の説明】
【００６４】
１  基準カメラ、２  参照カメラ、３  フレームメモリ、４  距離画像算出部、５  頭部位置検出部
【図１】
2005092451.tif 000006
【図２】
2005092451.tif 000007
【図３】
2005092451.tif 000008
【図４】
2005092451.tif 000009
【図５】
2005092451.tif 000010
【図６】
2005092451.tif 000011
【図７】
2005092451.tif 000012
【図８】
2005092451.tif 000013
【図９】
2005092451.tif 000014
【図１０】
2005092451.tif 000015
【図１１】
2005092451.tif 000016
【図１２】
2005092451.tif 000017
【図１３】
2005092451.tif 000018
【図１４】
2005092451.tif 000019