(57)【要約】【課題】  画像データに含まれる、対象物の一部を含む領域を検出する場合に、検出の精度を向上する。【解決手段】  画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、注目領域に含まれる度合いに関するスコア値の情報が対応づけられたスコア値のマップを取得し、仮領域配置部２４が仮領域を前記スコア値のマップ上に配置し、注目領域検出部２５が、前記仮領域のスコア値の分布に基づいて前記仮領域の位置を変更する処理と、前記仮領域に隣接する領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理と、を繰り返して、所定の条件を満たした際の前記仮領域を前記注目領域として出力する画像処理装置である。【選択図】        図２
2006350575.tif 000002
【特許請求の範囲】
【請求項１】
対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出する画像処理装置であって、
前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するマップ取得手段と、
所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置する仮領域配置手段と、
（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理、及び
（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、
（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力する注目領域検出手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記注目領域検出手段は、前記スコア値の分布に基づいて、前記仮領域を前記スコア値のマップ上で回転させる処理をさらに実行することを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記仮領域は矩形領域であり、
前記隣接領域は、前記仮領域の４辺のそれぞれに隣接する４つの矩形領域からなることを特徴とする画像処理装置。
【請求項４】
請求項１又は２に記載の画像処理装置において、
前記仮領域は矩形領域であり、
前記隣接領域は前記仮領域を内包又は外接する楕円又はひし形に含まれる領域であることを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の画像処理装置において、
前記仮領域配置手段は、前記仮領域を、前記スコア値のマップに含まれる単位領域の位置とスコア値に基づいて決定した位置に配置することを特徴とする画像処理装置。
【請求項６】
コンピュータを用いて、対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出する画像処理方法であって、
前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するステップと、
所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置するステップと、
（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理、及び
（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、
（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力するステップと、
を含むことを特徴とする画像処理方法。
【請求項７】
コンピュータに、対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出させる画像処理プログラムであって、
前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するステップ、及び
所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置するステップと、
（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理と、
（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、
（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力するステップと、
を前記コンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに含まれる、人物等の対象物の少なくとも一部を含む領域を検出する画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像データの中から、人物の顔や手などの部分を検出することは、当該人物の姿勢や状態を認識するために極めて重要な技術である。顔や手を検出する場合には、何らかの方法により検出すべき顔や手の肌色情報を色分布として取得し、当該色分布を用いて顔や手を含む画像領域を画定する手法がある。
【０００３】
上記の技術により例えば手領域を検出する場合、取得した肌色の色分布をもとに、画像データに含まれる各画素について手領域に含まれる度合いに関するスコア値を算出し、各画素の位置とスコア値とが対応づけられたスコア値のマップを生成する。そして、このスコア値のマップを用いて手領域を検出する。
【０００４】
スコア値のマップを用いて手領域などの注目領域を検出する手法の一つとして、カムシフト（Continuously Adaptive Mean Shift）アルゴリズムがある（非特許文献１参照）。この手法を用いる場合、まずスコア値のマップ上に仮領域を配置する。そして、仮領域のスコア値の分布に基づいて仮領域の位置を移動させるとともに、仮領域の大きさを変更する処理を繰り返すことで、仮領域が収束した位置及び大きさにより注目領域を決定する。
【非特許文献１】Gary R.Bradski. ”Computer Vision Face Tracking For Use in a Perceptual User Interface: Intel Technology Journal Q2,1998”. [online]. Intel Corporation, 1998. [retrieved on 2005-06-03]. Retrieved from the Internet: <URL: ftp://download.intel.com/technology/itj/q21998/pdf/camshift.pdf>.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来例の技術によれば、注目領域を検出する際に、仮領域のスコア値の分布に基づいて仮領域の位置及び大きさは変更するが、仮領域の形状については、仮領域と同じ形状で仮領域を包含する領域全体のスコア値の分布に基づいて変更するだけである。このため、仮領域に対して所定の方向の隣接領域の情報に基づいて、当該方向の大きさを変更することは行わない。その結果、画定しようとする注目領域の形状が予め予測できない場合、注目領域の検出に失敗したり、検出の精度が悪くなったりするという問題がある。例えば手領域を検出する場合、撮像された人物が長袖の上着を着用しており、掌の部分しか肌が露出していない場合には肌色情報を用いて手領域を比較的精度よく検出できるが、撮像された人物が半袖の上着を着用しており、腕の部分全体の肌が露出している場合、正しく手領域を検出できない場合がある。
【０００６】
本発明は、上記実情に鑑みてなされたものであって、その目的の一つは、画像データに含まれる、人物等の対象物の少なくとも一部を含む領域を検出する場合に、検出の精度を向上できる画像処理装置、画像処理方法及び画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明に係る画像処理装置は、対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出する画像処理装置であって、前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するマップ取得手段と、所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置する仮領域配置手段と、（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理、及び（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力する注目領域検出手段と、を含むことを特徴とする。
【０００８】
ここで、前記注目領域検出手段は、前記スコア値の分布に基づいて、前記仮領域を前記スコア値のマップ上で回転させる処理をさらに実行することとしてもよい。
【０００９】
さらに、前記仮領域は矩形領域であり、前記隣接領域は、前記仮領域の４辺のそれぞれに隣接する４つの矩形領域からなることとしてもよい。
【００１０】
あるいは、前記仮領域は矩形領域であり、前記隣接領域は前記仮領域を内包又は外接する楕円又はひし形に含まれる領域であることとしてもよい。
【００１１】
また、前記仮領域配置手段は、前記仮領域を、前記スコア値のマップに含まれる単位領域の位置とスコア値に基づいて決定した位置に配置することとしてもよい。
【００１２】
また、本発明に係る画像処理方法は、コンピュータを用いて、対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出する画像処理方法であって、前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するステップと、所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置するステップと、（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理、及び（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力するステップと、を含むことを特徴とする。
【００１３】
また、本発明に係る画像処理プログラムは、コンピュータに、対象物の少なくとも一部を撮像して生成された画像データについて、当該画像データの中から対象物の少なくとも一部を含む注目領域を検出させる画像処理プログラムであって、前記画像データに含まれる単位領域のそれぞれについて、当該単位領域の画像データ内における位置に、当該単位領域が前記注目領域に含まれる度合いに関するスコア値が対応づけられたスコア値のマップを取得するステップと、所定の形状を有する仮領域を、前記スコア値のマップ上の所定の条件に基づいて決定した位置に配置するステップと、（１）前記仮領域に含まれる単位領域のスコア値の分布に基づいて、前記仮領域の前記スコア値のマップ上の位置を変更する処理、及び（２）前記仮領域に隣接する所定の隣接領域に含まれる単位領域の位置及びスコア値に基づいて、前記仮領域の所定の方向と前記所定の方向に直交する方向の長さの比を変更する処理、について、（１）及び／又は（２）の処理を少なくとも一度実行し、所定の条件を満たした場合に、前記仮領域を前記注目領域として決定し、その結果を出力するステップと、を前記コンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像データに含まれる、人物等の対象物の少なくとも一部を含む領域を検出する際に、検出する領域の形状を予め知ることができないなどの場合においても、検出の精度を向上できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好適な実施の形態について、図面を参照しながら説明する。
【００１６】
本発明の実施の形態に係る画像処理装置１０は、図１に示すように、制御部１１、記憶部１２、操作部１３、表示部１４及び撮像部１５を含んで構成されている。
【００１７】
ここで、制御部１１は、例えばＣＰＵ等で構成されており、記憶部１２に格納されているプログラムに従って動作する。記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子及び／又はディスクデバイスなどを含んで構成されている。この記憶部１２には、制御部１１によって実行されるプログラムが格納されている。また、記憶部１２は、制御部１１のワークメモリとしても動作する。本実施の形態において制御部１１が実行する処理の内容については、後に詳しく述べる。
【００１８】
操作部１３は、キーボードやマウス等であり、利用者の指示操作を受け付けて、当該指示操作の内容を制御部１１に出力する。表示部１４は、ディスプレイ等であり、制御部１１からの指示に従って、情報の表示を行う。
【００１９】
撮像部１５は、デジタルスチルカメラやビデオカメラ等であり、画像を撮影して得られた画像データを制御部１１に対して出力する。なお、撮像部１５は、必ずしも必要ではない。この場合、本実施の形態による処理の対象となる画像データは、記憶部１２に予め保持されていてもよいし、図示しない通信部によりネットワーク経由で他の装置から受信することとしてもよい。
【００２０】
以下では、人物を撮像して生成された画像データに対して、当該人物の顔に係る部分を含む顔領域をまず抽出し、当該顔領域に含まれる画素の色の情報に基づいて当該人物の手に係る部分を含む手領域を検出する場合に、画像処理装置１０が実行する処理を例として説明する。なお、本発明の実施の形態は、上述の形態に限られず、任意の対象物について、当該対象物の性状情報に基づいて画像データから当該対象物の少なくとも一部を含む画像領域を検出する場合に適用可能である。例えば、人物だけでなく、動物やロボット等、その姿勢や状態を外観の性状情報を用いて検出可能な多様な対象物に対して適用することができる。この場合、対象物の外観や撮像する画像のデータ形式などによって、色の情報に代えて画素の濃度の情報など他の外観の性状に関する情報を用いてもよい。
【００２１】
画像処理装置１０は、機能的には、図２に示すように、サンプル領域抽出部２１、色ヒストグラム生成部２２、マップ生成部２３、仮領域配置部２４及び注目領域検出部２５を含んで構成されている。これらの機能は、プログラムとして画像処理装置１０の記憶部１２に記憶されており、制御部１１によって実行される。
【００２２】
サンプル領域抽出部２１は、撮像部１５などによって得られた画像データに対して、当該画像データの中からサンプルデータとして用いる画像領域を抽出する。撮像部１５がビデオカメラなどの場合、動画像のデータが得られるが、この場合、サンプル領域抽出部２１は、動画像データの中に含まれる各フレームの静止画像データに対して、処理を行う。
【００２３】
ここでは、サンプル領域抽出部２１は、人物の顔に係る部分を含む領域（顔領域）を抽出する。顔領域の抽出の方法は特に限定されず、任意の技術を用いることができる。例えば、サンプル領域抽出部２１は、予め学習によって獲得した顔の形状パターンに関する統計データを用いて、顔領域の抽出を行うこととしてもよい。また、サンプル領域抽出部２１は、顔の位置だけでなく、顔の向きや大きさを特定することとしてもよい。
【００２４】
色ヒストグラム生成部２２は、サンプル領域抽出部２１により抽出された画像領域に含まれる画素について、その色分布を表す色ヒストグラムを生成する。生成される色ヒストグラムは、対象となる画像データに表される人物の顔の色情報から得られた、その人物固有の肌の色情報を表すことになる。
【００２５】
具体的に、色ヒストグラム生成部２２は、まず顔領域に含まれる画素がそれぞれ持つ色の値を、必要に応じて適当な色空間上の値に変換する。例えば、元の画像データに含まれるそれぞれの画素が、赤、緑、青の３原色のそれぞれについて０から２５５までの２５６階調の値（以下、それぞれＲ，Ｇ，Ｂで表す）を持ち、これら３つの値の組み合わせによって画素の持つ色が表されるものとする。この場合、色ヒストグラム生成部２２は、他の色空間への変換を行わず、Ｒ，Ｇ，Ｂの値をそのまま用いて３次元のヒストグラムを生成してもよいし、３つの値のうち一部の値のみ用いて、より低次元のヒストグラムを生成することとしてもよい。また、特に人物の肌色の特徴を捉える場合には、前記Ｒ，Ｇ，Ｂの値によって表される色を正規化ｒｇ空間や、ＨＳＶ空間上の値に変換することが望ましい。ここでは、正規化ｒｇ空間上の値に変換するものとする。正規化ｒｇ空間上のｒ成分、ｇ成分のそれぞれの値は、以下の計算式により計算される。
ｒ＝Ｒ／（Ｒ＋Ｇ＋Ｂ）
ｇ＝Ｇ／（Ｒ＋Ｇ＋Ｂ）
この計算式により、色ヒストグラム生成部２２は、それぞれの画素について、（Ｒ，Ｇ，Ｂ）の値から、正規化ｒｇ空間上の値（ｒ，ｇ）を得る。ここで、ｒ，ｇはそれぞれ０から１までの値をとる。
【００２６】
さらに、色ヒストグラム生成部２２は、顔領域に含まれる画素のそれぞれについて、必要に応じて変換された色空間上の値が、色ヒストグラムのどのビンに含まれるか判定する。ここで、ヒストグラムのビン数としては、予め定められた適当な値を用いる。例えばビン数をｒ成分、ｇ成分のそれぞれについて５０とすると、生成される色ヒストグラムは、５０×５０のビン数を持つ２次元のヒストグラムになる。ｒ，ｇはそれぞれ０から１までの値をとるので、ビンの幅が一様である場合、それぞれのビン幅は１／５０となる。
【００２７】
このようにして、色ヒストグラム生成部２２は、サンプル領域抽出部２１が抽出した画像領域に含まれる画素について、所定の色空間における色分布を色ヒストグラムとして生成する。この色ヒストグラムは、それぞれのビンについて、そのビンに該当する成分の色を持つ画素の数を度数として持つ。また、そのビンに該当する成分の色を持つ画素の数を調査対象とした画素数で割った値を度数としてもよい。この場合、各ビンの度数は画像領域に含まれる全画素に対する割合で表され、全てのビンの度数を合計すると１になる。
【００２８】
マップ生成部２３は、色ヒストグラム生成部２２により生成された色ヒストグラムのデータを用いて、スコア値のマップ（活性化マップ）を生成する。ここで、スコア値のマップは、処理の対象となっている画像データに含まれる各画素について、当該画素の画像データ上の位置情報と、当該画素が検出しようとする手領域に含まれる度合いに関するスコア値とが対応づけられたデータである。スコア値は、画像データに含まれる各画素について、注目領域（本実施例においては、手領域）に含まれる度合いを所定の方法により算出した値である。例えば、当該画素が手領域に含まれる確率を表す尤度などに基づいてスコア値を算出できる。本実施の形態に置いては、スコア値は主として当該画素の色が画像データに撮像された人物の肌色である可能性がどの程度あるかに関する情報に基づいて算出される。
【００２９】
スコア値を算出する方法としては、バックプロジェクション方式や相関方式などの方法を用いることができる。具体的には、例えば以下のようにする。すなわち、まずスコア値を算出する対象となる画素の色の値を、必要に応じて色ヒストグラム生成部２２が用いた色空間上の値に変換する。そして、色ヒストグラム生成部２２により得られた色ヒストグラムにおいて、変換後の画素の色情報が該当するビンの度数の値を、当該画素の肌色のスコア値として設定する。
【００３０】
ここで、サンプル領域抽出部２１が抽出した画像領域（顔領域）については、注目領域検出部２５が注目領域を検出する対象からは除かれるため、スコア値の算出は行わなくともよい。この場合、当該画像領域に含まれる画素のスコア値を０とすることで、注目領域検出部２５が検出する対象から除かれるようにすることができる。
【００３１】
また、スコア値を算出する場合に、顔領域との位置関係を考慮してもよい。すなわち、顔領域の位置や大きさ、また顔の向きの情報から、手が存在する可能性が高いと考えられる位置にある画素については、同じ肌色の色情報を持っていたとしても、手が存在する可能性が低いと考えられる位置にある画素よりもスコア値が高くなるように、スコア値の算出を行う。このようにすれば、より精度よく手領域を検出することができる。
【００３２】
このようにして得られたスコア値のマップは、サンプル領域抽出部２１が抽出した顔領域の色情報に近い色を持つ画素が高いスコア値を持つため、検出対象となる人物の肌に係る部分を含む領域に高いスコア値を持つ画素が集まることになる。
【００３３】
仮領域配置部２４は、マップ生成部２３が生成したスコア値のマップ上に、仮領域を配置する。ここで仮領域は、手領域を検出する際にスコア値のマップ上に仮に設定される領域であり、所定の形状と大きさを与えられている。ここでは、初期の状態では、仮領域は１画素の大きさを単位として１辺が３の正方形の形状であるとする。
【００３４】
仮領域配置部２４は、仮領域を配置する位置を、所定の条件に基づいて決定する。この場合、仮領域を配置する位置を複数個所決定してもよい。仮領域を配置する位置の決定方法としては、スコア値のマップ上の各画素のスコア値に基づいて決定する方法などがある。例えば、全画素の中から、スコア値の高い順に所定の数の画素を、仮領域の中心として決定する。
【００３５】
また、例えば以下のような方法により仮領域を配置する位置を決定してもよい。すなわち、所定の方法でサイズを定めた正方形の領域を用意し、この正方形の領域によってスコア値のマップ全体を走査した場合に、正方形の領域の内部に含まれる画素のスコア値の平均値が最も高くなるような位置を決定する。そして、その位置における正方形の領域の中心が仮領域の中心となるように仮領域の位置を決定する。この場合、正方形の領域の大きさを、サンプル領域抽出部２１が抽出した顔領域の大きさに基づいて、例えば顔領域の大きさの０．４倍の大きさになるように設定するとよい。また、スコア値の平均値が最も高くなる位置ではなく、スコア値の平均値が高い順に所定の数だけ仮領域の位置を決定してもよい。これにより、単にスコア値の高い画素に基づいて仮領域の位置を決定する場合に比べて、手領域ではないのに高いスコア値を持つような画素によるノイズの影響を低減できる。
【００３６】
また、元の画像データが動画像に含まれるフレームの画像データである場合、当該フレームより時間的に前のフレームの画像データについて、既に手領域の検出を行っていれば、前のフレームで得られた手領域の位置に基づいて仮領域を配置する位置を決定してもよい。動画像の場合、前後のフレーム画像において手領域の位置が急激に変化する可能性は少ないため、この方法によれば、より手領域である可能性が高い位置に仮領域を配置することができる。
【００３７】
注目領域検出部２５は、マップ生成部２３が生成したスコア値のマップ上において、仮領域配置部２４が当該スコア値のマップ上に配置した仮領域を基点として、仮領域の位置、傾き、及び形状を変化させてスコア値に関する計算を繰り返すことにより、検出する目的となる画像領域（注目領域）の候補領域を検出する。仮領域配置部２４が仮領域を配置する位置を複数決定した場合は、注目領域検出部２５は複数の位置のそれぞれについて候補領域を検出する処理を行う。そして、最終的に得られた１又は２以上の候補領域のうち、所定の条件を満たす候補領域を、注目領域（本実施例においては、手領域）として決定する。この場合、所定の条件を満たす候補領域が１つもない場合には、元の画像データには手領域が含まれないと判定することとしてもよい。また、事前に画像データに含まれる手領域の数が分かっている場合には、候補領域に含まれる画素のスコア値に基づいて、所定の数の候補領域を手領域として決定する。
【００３８】
具体的に、注目領域検出部２５は、スコア値のマップの中から高いスコア値を持つ画素が集まった領域を特定することで、候補領域を検出する。以下では、注目領域検出部２５が候補領域を検出する手順について、図３のフロー図に基づいて説明する。なお、以下では、図４の例に示すように、スコア値のマップ上における１画素の大きさを単位とした仮領域の中心の位置の座標を（ｘ，ｙ）、仮領域の１辺に平行な所定の方向（ｗ方向）の長さをｗ、ｗ方向と直交する方向（ｈ方向）の長さをｈで表す。また、ｗ方向とスコア値のマップの縦方向とのなす角をθとする。注目領域検出部２５による処理の開始前においては、（ｘ，ｙ）は仮領域配置部２４が決定した位置である。また、仮領域は大きさ３の正方形の形状を持つので、ｗ及びｈはともに３であり、θは０であるとする。
【００３９】
注目領域検出部２５は、まずカウンタｓの値を０で初期化する（Ｓ１）。カウンタｓは、仮領域配置部２４が配置した１の仮領域について、仮領域の位置、傾き及び形状の全てが収束するまでＳ２からＳ１０までの処理を繰り返す際の繰り返し回数を管理するための変数である。次いで、注目領域検出部２５は、カウンタｔの値を０で初期化する（Ｓ２）。カウンタｔは、仮領域の傾き及び形状を固定した状態で、仮領域の位置が収束するまでＳ３からＳ６までの処理を繰り返す際の繰り返し回数を管理するための変数である。
【００４０】
次に、注目領域検出部２５は、現在の仮領域について、当該仮領域に含まれる画素のスコア値の分布に基づいて、モーメントを算出する（Ｓ３）。
【００４１】
Ｓ３で算出するモーメントは、０次モーメントｍ００、１次モーメントｍ１０及びｍ０１、２次モーメントｍ２０，ｍ０２及びｍ１１である。ここで、ｉは画素を単位としたスコア値のマップの横方向の座標、ｊは縦方向の座標を表し（図４参照）、ｈ（ｉ，ｊ）は座標（ｉ，ｊ）の画素に対応づけられたスコア値を表すとすると、モーメントの値は、以下の数式により計算される。
【数１】
2006350575.tif 000003
ここで、計算は仮領域に含まれる画素（ｉ，ｊ）について行う。すなわち、各モーメントは、仮領域に含まれる全ての画素についての、スコア値ｈ（ｉ，ｊ）とｉ，ｊとを含む関数値の和として算出される。
【００４２】
次に、注目領域検出部２５は、Ｓ３で算出した０次及び１次モーメントに基づいて、仮領域のスコア値の重心を算出し、算出された重心が中心となるように仮領域の位置を変更する（Ｓ４）。具体的には、ｔ番目の繰り返し処理における仮領域のスコア値の重心をＧｔとし、Ｇｔの座標を（ｘｔ，ｙｔ）とすると、計算式
ｘｔ＝ｍ１０／ｍ００
ｙｔ＝ｍ０１／ｍ００
により仮領域のスコア値の重心を算出する。そして、算出された重心の座標が新たな仮領域の中心となるように、仮領域の位置を変更する。
【００４３】
続いて、注目領域検出部２５は、カウンタｔの値に１を加算し（Ｓ５）、所定の収束条件を満たしたか否かの判定を行う（Ｓ６）。具体的には、まずｔ＜２であれば、まだ一度しか重心を求めて仮領域の位置を変更する処理を行っていないので、直ちにＳ３に戻り、新たに設定した仮領域の位置におけるモーメントの算出を行う。それ以外の場合、Ｓ４で算出した新たな仮領域の中心の位置が、Ｓ４における変更を行う前の仮領域の中心の位置に対してどれだけ離れているかにより、仮領域の位置が収束しているか否かの判定を行う。すなわち、Ｇｔ−１（Ｓ４で算出した仮領域のスコア値の重心）とＧｔ−２（一つ前の繰り返し処理により算出した仮領域のスコア値の重心であり、Ｓ４でスコア値の重心を算出した際の仮領域の中心）との距離が、所定の閾値を下回った場合に、仮領域の位置はＧｔ−１に収束したと判断し、繰り返し処理を終了して次のＳ７の処理に進む。また、カウンタｔの値が所定の値を超えた場合、すなわち繰り返し回数が一定の数に達した場合にも、繰り返し処理を終了して次のＳ７の処理に進む。これは、最終的に仮領域の位置が収束するまでに非常に時間がかかってしまったり、仮領域の位置が収束せずに繰り返し処理が終わらなくなってしまったりする状態を避けるためである。これらの条件を満たさない場合、すなわち繰り返し回数が所定の数に達しておらず、かつＧｔ−１とＧｔ−２との距離が所定の閾値を下回っていない場合には、Ｓ３に戻って繰り返し処理を続行する。なお、仮領域の中心の位置がスコア値の重心の位置に収束した場合、仮領域の中心と仮領域のスコア値の重心はほぼ一致すると考えられる。
【００４４】
続いて、注目領域検出部２５は、所定の関数によって得られた角度の値により、仮領域の傾きを変更することで、仮領域をスコア値のマップ上で回転させる（Ｓ７）。スコア値のマップに対する仮領域の傾きθは、Ｓ３で算出した０次及び２次モーメントに基づいて、以下の計算式により算出できる。
【数２】
2006350575.tif 000004
ここで、ｘ及びｙは現在の仮領域の中心であり、Ｓ３でモーメントを算出した際の仮領域について、Ｓ４で算出したスコア値の重心の座標に該当する。
【００４５】
さらに、注目領域検出部２５は、現在の仮領域及び仮領域の周囲の領域に含まれる画素のスコア値に基づいて、新たなｗ及びｈの値を算出し、これによって仮領域のｗ方向とｈ方向の長さの比を変更する（Ｓ８）。
【００４６】
この場合、仮領域の周囲の領域のうち、仮領域に対して設定された軸方向（本実施例の場合は、ｗ方向）上に位置する領域に含まれる画素のスコア値に基づいて、仮領域の当該軸方向の大きさを変更する。また、当該軸方向に直交する方向（本実施例の場合は、ｈ方向）上に位置する領域に含まれる画素のスコア値に基づいて、仮領域の当該直交する方向の大きさを変更する。このように、仮領域に固定された軸方向と軸方向に直交する方向について、それぞれの方向に沿った周囲の領域のスコア値の情報に基づいてそれぞれの方向の大きさを変更する処理を繰り返すことで、検出しようとする領域が細長い形状であったとしても、少ない繰り返し回数で仮領域の形状を望ましい形状に変更することができる。これにより、仮領域の形状は早く収束し、処理時間が短縮できる。
【００４７】
具体的には、仮領域を取り囲む所定の領域に含まれる複数の領域について、それぞれの領域に含まれる画素のスコア値の合計値（それぞれの領域の０次モーメント）を算出し、この０次モーメントに基づいてｗ及びｈの値を算出する。例えば、注目領域検出部２５は図５に示すように、仮領域と、＋ｗ方向、−ｗ方向、＋ｈ方向及び−ｈ方向のそれぞれの方向に仮領域を平行移動させた領域について、０次モーメントを算出する。ここで、図５において網がけ部分により示される長方形ＡＢＣＤが、Ｓ４で算出したスコア値の重心の位置を中心とした仮領域を表す。図５の例においては、注目領域検出部２５が０次モーメントを算出する対象となる領域は、以下のような同じ形状の５つの矩形領域である。すなわち、長方形ＡＢＣＤと、長方形ＡＢＣＤを＋ｗ方向にｗ／２だけ平行移動させた長方形ＨＧＩＪと、長方形ＡＢＣＤを−ｗ方向にｗ／２だけ平行移動させた長方形ＥＦＧＨと、長方形ＡＢＣＤを＋ｈ方向にｈ／２だけ平行移動させた長方形ＫＬＭＮと、長方形ＡＢＣＤを−ｈ方向にｈ／２だけ平行移動させた長方形ＬＰＱＭの、５つの長方形によって画定される領域である。
【００４８】
ここで、上記５つの矩形領域の０次モーメントをそれぞれＭ１、Ｍ２、Ｍ３、Ｍ４及びＭ５とすると、新たな仮領域のｗ方向の大きさを表す値ｗｓ及びｈ方向の大きさを表す値ｈｓは、これまでの仮領域のｗ方向の大きさｗｓ−１及びｈ方向の大きさｈｓ−１を用いて、以下の計算式により算出できる。
【数３】
2006350575.tif 000005
ここで、Δｗ及びΔｈは所定の係数であり、例えばΔｗ＝Δｈ＝２．０などに設定する。
【００４９】
この式により、仮領域の±ｗ方向の隣接領域の画素のスコア値により仮領域のｗ方向の大きさを変化させ、仮領域の±ｈ方向の隣接領域の画素のスコア値により仮領域のｈ方向の大きさを変化させることになる。つまり、ｗ方向及びｈ方向それぞれの方向の隣接領域のスコア値の情報により、ｗとｈの変化量はそれぞれ独立に計算される。
【００５０】
また、Ｓ８の処理は、上述の説明とは異なる領域を隣接領域として用いることができる。例えば、図６に示すような仮領域に外接する楕円の領域について、その中に含まれる画素のスコア値によりｗ及びｈを算出してもよい。この場合、外接する楕円の軸長を
【数４】
2006350575.tif 000006
とすれば、楕円と仮領域に挟まれた領域Ａ２′，Ａ３′，Ａ４′及びＡ５′の面積は（π―２）ｗｈ／８となり、全て等しくなる。これらの領域の０次モーメントをそれぞれＭ２′，Ｍ３′，Ｍ４′及びＭ５′とすると、上述の例におけるＭ２，Ｍ３，Ｍ４及びＭ５をＭ２′，Ｍ３′，Ｍ４′及びＭ５′に置き換えることで、楕円の領域を用いて新たなｗ及びｈの値を得ることができる。また、この領域Ａ２′，Ａ３′，Ａ４′及びＡ５′と仮領域の面積は異なるので、この影響を排除するために０次モーメントをそれぞれの面積、すなわちそれぞれの領域に含まれる画素数で割ったスコア値の平均値を０次モーメントの代わりに用いてもよい。
【００５１】
また、例えば、図７に示すように楕円の領域に代えて仮領域に外接するひし形の領域を用いてもよい。この場合、外接するひし形の対角線を２ｗ，２ｈとすれば、ひし形と仮領域に挟まれた領域Ａ２″，Ａ３″，Ａ４″及びＡ５″の面積はｗｈ／４となり、全て等しくなる。これらの領域の０次モーメントをそれぞれＭ２″，Ｍ３″，Ｍ４″及びＭ５″とすれば、上述の例におけるＭ２′，Ｍ３′，Ｍ４′及びＭ５′をＭ２″，Ｍ３″，Ｍ４″及びＭ５″に置き換えることで、ひし形の領域を用いて新たなｗ及びｈの値を得ることができる。
【００５２】
さらに、前述のように楕円やひし形の領域を用いる場合、仮領域に外接する楕円やひし形ではなく、仮領域を内包する楕円やひし形に含まれる領域に基づいてｗ及びｈの変更を行ってもよい。この場合、楕円やひし形に含まれる領域を、所定の方法により仮領域に対して±ｗ方向の領域と±ｈ方向の領域に分割し、分割された領域のそれぞれについて０次モーメントを算出する。なお、分割された領域は互いに面積が異なってもよい。その場合、それぞれの領域の０次モーメントを当該領域の面積、すなわち当該領域に含まれる画素数で割ってスコア値の平均値を算出し、当該スコア値の平均値を用いてｗ及びｈを算出する。
【００５３】
続いて、注目領域検出部２５は、カウンタｓの値に１を加算し（Ｓ９）、所定の収束条件を満たしたか否かの判定を行う（Ｓ１０）。具体的には、まずｓ＜２であれば、まだ一度しか仮領域の傾き、幅及び高さを変更する処理を行っていないので、直ちにＳ２に戻り、ｔを初期化し、新たに設定した仮領域の傾き、幅及び高さにおいて再度モーメントを算出して仮領域の位置を変更する処理を行う。それ以外の場合、Ｓ７で算出した新たな仮領域の傾きθ及びＳ８で算出した新たな仮領域の幅ｗ、高さｈが、変更を行う前の仮領域の傾き、幅及び高さと一致するか否かにより、仮領域の傾きと形状が収束しているか否かの判定を行う。θ、ｗ、ｈの全てがＳ７及びＳ８の処理により変化しないか、またはそれぞれの変化量が所定の閾値を下回っていれば、仮領域の傾き及び形状は現在のθ、ｗ及びｈに収束したと判断し、繰り返し処理を終了して次のＳ１１の処理に進む。また、カウンタｓの値が所定の値を超えた場合、すなわち繰り返し回数が一定の数に達した場合にも、繰り返し処理を終了して次のＳ１０の処理に進む。これは、最終的に仮領域の傾き及び形状が収束するまでに非常に時間がかかってしまったり、仮領域の位置が収束せずに繰り返し処理が終わらなくなってしまったりする状態を避けるためである。これらの条件を満たさない場合、すなわち繰り返し回数が所定の数に達しておらず、かつθ、ｗ及びｈのいずれかの変化量が所定の閾値を下回っていない場合には、Ｓ２に戻って繰り返し処理を続行する。
【００５４】
θ、ｗ及びｈの全てが収束した場合、現在の仮領域を注目領域の候補領域として決定する（Ｓ１１）。すなわち、現在の仮領域のスコア値のマップ上の位置を表すｘ，ｙと、スコア値のマップ上の傾きを表すθと、ｗ方向及びｈ方向の大きさを表すｗ，ｈを、候補領域のパラメタとして設定する。
【００５５】
以上の処理により候補領域が得られると、上述したように候補領域の中から所定の条件を満たす領域が注目領域（本実施例の場合は、手領域）として決定される。得られた手領域の情報は、人物の姿勢や状態に関する情報として記憶部１２に記録され、又は他の処理に用いられる。また、処理の対象とした画像データが動画像の一部であるフレーム画像のデータであった場合、動画像データの各フレームに対して手領域を検出し、各フレームについての手領域の差分情報を得ることで、人物の手の動きを把握することが可能となる。
【００５６】
また、本実施の形態によれば、例えば半袖の人物を撮像して得られた画像データからは、腕の部分の肌が露出しているので、注目領域として腕に係る部分を含む腕領域が得られる。この場合、所定の条件に基づいて、得られた腕領域の一部、又は腕領域に隣接する領域を手領域として決定することができる。例えば、腕を含む領域を長方形の領域として検出した場合、長方形の長辺方向の両端のいずれかが、手に係る部分を含む領域に近いと考えられる。そのため、腕領域の位置、形状及び傾きと、顔の位置との相対関係や、腕領域の周囲の領域の色情報を用いて、手領域を画定することができる。
【００５７】
以上説明した本発明の実施の形態によれば、ｗ及びｈを仮領域の隣接領域のスコア値に基づいて変化させることで、縦横比の異なる領域を注目領域として検出できる。これにより、腕を含む領域など、カメラに対する位置関係によって画像データ上の形状が大きく異なるような領域を検出する際であっても、検出の精度を向上することができる。
【００５８】
なお、以上の説明においては、画像データに含まれる各画素についてスコア値を設定し、スコア値のマップを生成する例について説明したが、マップ生成部２３が生成するスコア値のマップは、必ずしも単位領域として画素を用いなくてもよい。例えば、２×２の４画素など複数の画素の集合を単位領域として設定し、当該単位領域ごとにスコア値を設定することで、画素ごとにスコア値を設定した場合に比較してより粗い情報量を持つスコア値のマップが得られる。このスコア値のマップに対して、仮領域配置部２４及び注目領域検出部２５が手領域を検出することで、検出される手領域の精度は落ちるものの、より少ない計算量で手領域を検出することができる。
【００５９】
また、上記説明においては、まず顔領域をサンプル領域抽出部２１が抽出し、得られた顔領域に含まれる画素から色ヒストグラム生成部２２が色ヒストグラムを生成したが、本発明の実施の形態はこのような形態に限られない。すなわち、色ヒストグラムは予め所定の肌色の色分布として与えられていてもよいし、過去の手領域を検出する処理によって得られた学習データを用いてもよい。また、動画像に含まれる各フレームの画像データから手領域を検出する場合、以前のフレームの画像データに対して色ヒストグラム生成部２２が生成した色ヒストグラムを用いてスコア値のマップを生成することとしてもよい。
【００６０】
また、本発明を手領域の検出に用いる場合、着衣（例えば半袖・長袖）に関わらず手領域を抽出することができ、さらに検出された手領域の画像データに対し、ジェスチャ認識に有効な指の領域抽出を組合せることにより、本発明を更に有効に適用できるようになる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態に係る画像処理装置の構成を表すブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の機能を表す機能ブロック図である。
【図３】本発明の実施の形態に係る画像処理装置によって実行される処理の一例を示すフロー図である。
【図４】本発明の実施の形態に係る画像処理装置によって生成される、スコア値のマップの一例を表す図である。
【図５】注目領域検出部２５による処理の対象となる、仮領域の隣接領域の一例を表す図である。
【図６】注目領域検出部２５による処理の対象となる、仮領域の隣接領域の別の一例を表す図である。
【図７】注目領域検出部２５による処理の対象となる、仮領域の隣接領域の別の一例を表す図である。
【符号の説明】
【００６２】
１０  画像処理装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  撮像部、２１  サンプル領域抽出部、２２  色ヒストグラム生成部、２３  マップ生成部、２４  仮領域配置部、２５  注目領域検出部、３１  スコア値のマップ、３２  仮領域。
【図１】
2006350575.tif 000007
【図２】
2006350575.tif 000008
【図３】
2006350575.tif 000009
【図４】
2006350575.tif 000010
【図５】
2006350575.tif 000011
【図６】
2006350575.tif 000012
【図７】
2006350575.tif 000013