(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
《発明の第1の実施の形態》
図1は第1の実施の形態の画像処理装置の構成を示すブロック図である。
図2は第1の実施の形態の画像処理プログラムを示すフローチャートである。また、
図3〜
図10は第1の実施の形態の画像処理例を示す図である。これらの図を参照して発明の第1の実施の形態を説明する。
【0009】
第1の実施の形態の画像処理装置100は、記憶装置10とCPU20を備えている。CPU(制御部,制御装置)20は、ソフトウエア形態による顔検出部21、人体候補領域生成部22、テンプレート作成部23、テンプレートマッチング部24、類似度算出部25、人体領域推定部26などを有し、記憶装置10に記憶されている画像に各種の処理を施して人体推定領域50を検出する。
【0010】
記憶装置10には、図示しない入力装置により入力された画像が記憶されている。これらの画像は、カメラなどの撮像装置から直接入力した画像の他に、インターネットを介して入力した画像などが含まれる。
【0011】
図2のステップS1において、CPU20の顔検出部21は顔認識アルゴリズムにより画像の中に写っている人体の顔を検出し、画像上に顔の大きさに応じた矩形のブロックを設定する。
図3に画像上に顔の大きさに応じた矩形ブロックを設定した例を示す。
図3において、顔検出部21は、画像に写っている2人の人物の顔を検出し、画像上の顔の大きさと顔の傾きに応じて矩形ブロック、ここでは正方形のブロックを設定する。なお、顔の大きさに応じた矩形ブロックは正方形に限定されず、長方形あるいは多角形であってもよい。
【0012】
なお、顔検出部21は、顔の傾きを顔認識アルゴリズムにより検出して、その顔の傾きに応じて矩形ブロックを傾けて設定する。
図3に示す例では、画像左側の人物の顔はほぼ垂直方向(画像の縦方向)に向いているため、顔の大きさに応じた矩形ブロックが垂直方向に設定されている。一方、画像右側の人物の顔は垂直方向に対して少し左に傾いているため、顔の大きさに応じた矩形ブロックが顔の傾きに応じて左に傾いて設定されている。
【0013】
次に、
図2のステップS2において、CPU20の人体候補領域生成部22は、ステップS1の顔検出結果を用いて人体候補領域を生成する。一般に、大凡の人体の大きさは顔の大きさに基づいて推定することができる。また顔に続く人体の向きや傾きは顔の傾きに基づいて推定することができる。そこで、この一実施の形態では、人体候補領域生成部22は、顔検出部21が顔の大きさに応じて設定した顔の矩形ブロック(
図3参照)と同一の矩形ブロックを人体が存在すると想定される画像上の領域に並べる。なお、人体候補領域生成部22が生成する矩形ブロックは、顔検出部21が設定した顔の矩形ブロックと実質的に同一であればよい。
【0014】
図4は、人体候補領域生成部22が
図3の画像に対して人体候補領域を生成(設定)した例を示す。
図4の画像上の2人の人物の内の左側の人物については、顔がほぼ垂直方向に向いているため、人体候補領域生成部22は顔の下に垂直方向に人体があると推定する。そこで、人体候補領域生成部22は、水平方向に5個、垂直方向に4個、計20個の矩形ブロックを左側の人物の顔の下に並べ、これらの20個の矩形ブロックで表す領域を人体候補領域とする。一方、
図4の画像上の右側の人物は顔が垂直方向に対して少し左に傾いているため、人体候補領域生成部22は顔に続く人体も垂直方向に対して少し左に傾いていると推定する。人体候補領域生成部22は、
図4に示すように顔の矩形ブロックの傾きと同じ傾きに、右上がり横方向に5個、左に傾斜した縦方向に4個、計19個の矩形ブロックを並べ(右端の矩形ブロックは画像からはみ出すので省略)、これらの19個の矩形ブロックで表す領域を人体候補領域とする。以下では、左側の人物に対する画像処理例を説明するが、右側の人物に対する画像処理も同様であり、図示と説明を省略する。
【0015】
なお、上述した例では人体候補領域生成部22が顔の矩形ブロックと同一の矩形ブロックを縦横に所定個数並べて人体候補領域を生成した。上述したように、人体の領域は顔の大きさと向きに応じた位置になる確率が高いので、上記の人体候補領域の生成方法によれば、人体の領域を正しく設定できる確率が高くなる。しかし、人体候補領域に並べる矩形ブロックの大きさと形状、および個数は上述した方法に限定されるものではない。
【0016】
図11は顔位置に設定された矩形ブロックと人体候補領域に並置された矩形ブロックを示す。
図11に示すように、人体候補領域Bの各矩形ブロックBsに対して、左上隅の矩形ブロックBs(0,0)から右下隅の矩形ブロックBs(3,4)までアドレスを設定すると、人体候補領域Bと各矩形ブロックBs(i,j)は(1)式に示すように行列で表現することができる。
【数1】
(1)式において、Bs(i,j)は人体候補領域B内の矩形ブロックBsのアドレス(行,列)を示し、pix(a,b)は各矩形ブロックBs内の画素のアドレス(行,列)を示す。
【0017】
次に、CPU20の人体候補領域生成部22は、人体候補領域Bを構成する各矩形ブロックBsを
図5に示すように4分割し、各矩形ブロックBsを4個のサブブロックに分ける。
【0018】
図2のステップS3において、CPU20のテンプレート作成部23は、各矩形ブロックBsの中央に上記サブブロックと同じ大きさのテンプレート領域を設定し、各矩形ブロックBsのテンプレート領域の画像データを用いてテンプレートを生成する。ここで、テンプレートとは、後述するテンプレートマッチング処理において参照される基準画像のことである。
図6は、テンプレート作成部23が各矩形ブロックBsごとに設定したテンプレート領域(各矩形ブロックBsの中央にハッチングで示す矩形領域)を示す。
【0019】
図12は、一例として矩形ブロックBs(0,0)(左上隅の矩形ブロック)を拡大してテンプレートTp(0,0)を示す。矩形ブロックBs(0,0)は4個の“サブブロック”BsDiv1(0,0)、BsDiv1(0,1)、BsDiv1(1,0)、BsDiv1(1,1)に分割され、さらに中央に4個のサブブロックと同じ大きさのテンプレート領域が設定され、このテンプレート領域の画像データを用いてテンプレートTp(0,0)が生成される。
【0020】
テンプレートは(2)式に示すように行列で表すことができる。
【数2】
(2)式において、Tは人体候補領域Bのすべてのテンプレートの行列であり、Tp(i,j)は各矩形ブロックBsごとのテンプレートの行列である。
【0021】
図2のステップS4において、CPU20のテンプレートマッチング部24は、テンプレート作成部23が作成した各テンプレートTp(i,j)を取得する。そして、テンプレートマッチング部24は、その各テンプレートTp(i,j)ごとに、すべての矩形ブロックBsのすべてのサブブロックBsDivに対してテンプレートマッチング処理を行う。テンプレートマッチング処理において、この実施の形態では、テンプレートマッチング部24はテンプレートTpとマッチング対象のサブブロックBsDivの画素ごとの輝度の差分を演算する。
【0022】
例えば、
図7に示すように、まずテンプレートマッチング部24は、左上隅の矩形ブロックBs(0,0)のテンプレートTp(0,0)を用いて、すべての矩形ブロックBsのすべてのサブブロックBsDivに対してテンプレートマッチング処理を行う。次に、テンプレートマッチング部24は、矩形ブロックBs(0,1)のテンプレートTp(0,1)を用いて、すべての矩形ブロックBsのすべてのサブブロックBsDivに対してテンプレートマッチング処理を行う。同様に、テンプレートマッチング部24は、テンプレートTpを変えてすべての矩形ブロックBsのすべてのサブブロックBsDivに対してテンプレートマッチング処理を行った後、
図8に示すように、最後に右下隅の矩形ブロックBs(3,4)のテンプレートTp(3,4)を用いて、すべての矩形ブロックBsのすべてのサブブロックBsDivに対してテンプレートマッチング処理を行う。
【0023】
図2のステップS5において、CPU20の類似度算出部25は、テンプレートマッチング処理結果の差分の絶対値を積算して類似度S(m,n)を算出するとともに、類似度の平均値Saveを算出する。
【数3】
(3)式において、Mは行方向の全体のサブブロック個数、Nは列方向の全体のサブブロック個数、Kはテンプレート個数である。
【0024】
ところで、人体候補領域Bを構成する複数の矩形ブロックBsの中で、人体候補領域Bを構成する矩形ブロックBsが顔の矩形ブロックに近いほど人体候補領域である確率が高い。そこで、類似度算出部25は、顔の矩形ブロックに近い矩形ブロックBsのテンプレートマッチング処理結果に、顔の矩形ブロックから遠い位置にある矩形ブロックBsよりも大きな重み付けを行う。これにより、CPU20は、より正確な人体候補領域を識別できる。具体的には、(4)式により類似度算出部25は、類似度S(m,n)と類似度の平均値Saveを算出する。
【数4】
(4)式において、W(i,j)は重み行列である。
【0025】
図9は、人体候補領域BのすべてのサブブロックBsDivに対する類似度S(m,n)の演算結果を示す。
図9において、濃くハッチングされたサブブロックBsDivは人体候補領域Bの全体に対する差異が少なく、類似度が高いことを示す。
【0026】
図2のステップS6において、CPU20の人体領域推定部26は、各サブブロックBsDivの類似度S(m,n)を平均値Saveと比較し、類似度S(m,n)が平均値Saveよりも低いサブブロックBsDivを人体領域と推定する。
【数5】
人体領域推定部26が類似度の平均値Saveをしきい値として人体領域を推定する場合、確率密度関数を用いてもよいし、SVM(Support Vector Machine)のような学習しきい値判別手法を用いてもよい。
図10は人体領域の推定結果の一例を示す。
図10において、ハッチングで示すサブブロックBsDivが人体領域と推定されたサブブロックである。
【0027】
《発明の第2の実施の形態》
上述した第1の実施の形態では、テンプレートとマッチング対象のサブブロックとの間で画素ごとの輝度を比較し、テンプレートマッチング処理を行う例を示した。第2の実施の形態では、輝度の比較以外に、テンプレートとマッチング対象のサブブロックとの間で周波数スペクトラム、輪郭(エッジ)、色差、色相などを比較したり、それらの組み合わせどうしを比較してテンプレートマッチング処理を行う。
【0028】
図13は第2の実施の形態の構成を示すブロック図である。
図13において、
図1に示す第1の実施の形態の構成要素と同様なものに対しては同一の符号を付して相違点を中心に説明する。第2の実施の形態の画像処理装置101は、記憶装置10とCPU121を備えている。CPU121は、コンピュータのソフトウエア形態による特徴量算出部31を有している。この特徴量算出部31は、テンプレートとマッチング対象のサブブロックとの間で輝度以外に周波数、輪郭(エッジ)、色差、色相などを比較し、あるいはそれらのパラメーターを複数組み合わせて比較する。そして、特徴量算出部31はテンプレートマッチング処理、すなわち上述したようにテンプレートとマッチング対象のサブブロックとの間の比較パラメーターの差分を演算する。なお、第2の実施の形態は特徴量算出部31によるテンプレートマッチング処理以外の構成および動作は上述した第1の実施の形態の構成および動作と同様であり、それらの説明を省略する。
【0029】
《発明の第3の実施の形態》
上述した第1の実施の形態では人体の領域を推定する例を示した。第3の実施の形態は、人体の領域に加え、人体の重心を推定する。
図14は第3の実施の形態の構成を示すブロック図である。
図14において、
図1に示す第1の実施の形態の構成要素と同様なものに対しては同一の符号を付して相違点を中心に説明する。第3の実施の形態の画像処理装置102は、記憶装置10とCPU122を備えている。CPU122はコンピュータのソフトウエア形態による人体推定重心算出部32を有しており、人体推定重心算出部32により推定結果の人体領域の重心を算出する。この人体推定重心51と顔の重心から人体の傾きを検出することができる。なお、第3の実施の形態は人体推定重心算出部32による人体重心算出動作以外の構成および動作については上述した第1の実施の形態の構成および動作と同様であり、それらの説明を省略する。
【0030】
《発明の第4の実施の形態》
上述した第1の実施の形態では各サブブロックの中央にテンプレート領域を設定してテンプレートを生成し、これを用いてテンプレートマッチング処理を行う例を示した。第4の実施の形態は、予め人体の領域を判別するためのテンプレートを教師データとして記憶しており、このような教師データを用いてテンプレートマッチング処理を行うようにしてもよい。
【0031】
図15は第4の実施の形態の構成を示すブロック図である。
図15において、
図1に示す第1の実施の形態の構成要素と同様なものに対しては同一の符号を付して相違点を中心に説明する。第4の実施の形態の画像処理装置103は、記憶装置10とCPU123を備えている。CPU123のテンプレートマッチング部27は、教師データ記憶装置33に予めテンプレートとして記憶されている教師データを取得する。そして、テンプレートマッチング部27は、その教師データと各サブブロックとの間でテンプレートマッチング処理を行う。なお、第4の実施の形態は、教師データ記憶装置33の教師データを用いたテンプレートマッチング処理以外の構成および動作については上述した第1の実施の形態の構成および動作と同様であり、それらの説明を省略する。
【0032】
上述した各実施の形態では画像の一部をテンプレートに採用したが、このようなテンプレートによる人体領域の推定においては、人体領域を推定するための情報として画像上に存在する情報のみに限定されるため、推定精度や推定内容に限界がある。しかし、第4の実施の形態の画像処理装置103は、教師データとして多くの情報を盛り込むことができ、人体領域の推定精度を向上させることができる上に、推定内容を拡大することができる。例えば、第4の実施の形態の画像処理装置103は種々の色や形の服を着た人体領域でも正確に推定することができる。
【0033】
あるいは、第4の実施の形態の画像処理装置103の適用範囲は、人体領域の推定だけに限定されず、例えば犬や猫などのペットを含む動物、自動車などの物体、ビルなどの建造物の物体領域の推定にも拡大することができる。その結果、第4の実施の形態の画像処理装置103は、あらゆる物体の領域を正確に推定することも可能になる。
【0034】
《発明の第5の実施の形態》
第5の実施の形態は、顔検出結果に基づいて人体の上半身の領域を推定し、推定結果の上半身推定領域に基づいて人体の下半身の領域を推定する。
図16は第5の実施の形態の構成を示すブロック図である。
図16において、
図1に示す第1の実施の形態の構成要素と同様なものに対しては同一の符号を付して相違点を中心に説明する。
【0035】
図16は第5の実施の形態の画像処理装置104の全体構成を示すブロック図である。第5の実施の形態の画像処理装置104は、記憶装置10とCPU124とを備えている。CPU124はコンピュータのソフトウエア形態による顔検出部21、上半身推定部41および下半身推定部42を有し、人体の領域を推定する。
【0036】
図17は上半身推定部41の構成を示すブロック図である。上半身推定部41は、コンピュータのソフトウエア形態による人体候補領域生成部22、テンプレート作成部23、テンプレートマッチング部24、類似度算出部25および人体領域推定部26を備え、顔検出部21により検出された顔領域情報52に基づいて人体の上半身の領域を推定し、上半身推定領域53を出力する。
【0037】
図18は下半身推定部42の構成を示すブロック図である。下半身推定部42は、コンピュータのソフトウエア形態による人体候補領域生成部22、テンプレート作成部23、テンプレートマッチング部24、類似度算出部25および人体領域推定部26を備え、上半身推定部42により推定された上半身推定領域53に基づいて人体の下半身の領域を推定し、下半身推定領域54を出力する。
【0038】
この第5の実施の形態は、人体の領域を推定する際に、上半身の領域の推定結果を下半身の領域の推定に用いて、人体全体の領域を正確に推定することができる。
【0039】
なお、上述した各実施の形態の画像処理プログラムにおいて、人体領域が検出できなかった場合には、CPUは人体候補領域を変更または拡大して上述した処理を行うようにしてもよい。
【0040】
上述した実施の形態では、顔領域検出部21が画像の中から人の顔を検出し、顔の検出結果に基づいて画像の中の人体の領域を推定する例を示したが、本発明の画像処理装置は人体領域の推定に限定されず、例えば犬や猫などのペットを含む動物、自動車などの物体、ビルなどの建造物の物体領域の推定にも適用することができる。特に、関節を持つ動物はその動きが複雑になるため、従来はそれらの体の領域や姿勢を検出することが難しいとされていた。しかし、本発明の画像処理装置によれば、画像の中から動物の顔を検出し、顔の検出結果に基づいて画像の中の動物の体の領域を正確に推定することができる。とりわけ、サル目(霊長類)ヒト科の動物である人は、手足の複雑な関節により複雑な動きをするが、本発明の画像処理装置により人体領域を正確に推定でき、その推定結果からさらに姿勢検出や重心検出なども可能になる。
【0041】
上述した実施の形態とその変形例では、画像処理装置として実現する一例を示したが、一般的なパーソナルコンピュータに本発明の画像処理プログラムをインストールして実行し、パソコン上で上述した画像処理を行ってもよい。なお、本発明の画像処理プログラムはCD−ROMなどの記録媒体に記録して提供してもよいし、インターネットを介してダウンロード可能にしてもよい。あるいは、本発明の画像処理装置または画像処理プログラムをデジタルカメラやビデオカメラに搭載し、撮像した画像に対して上述した画像処理を実行するものであってもよい。
図19はその様子を示す図である。パーソナルコンピュータ400は、CD−ROM404を介してプログラムの提供を受ける。また、パーソナルコンピュータ400は、通信回線401との接続機能を有する。コンピュータ402は、上記プログラムを提供するサーバコンピュータであり、ハードディスク403などの記録媒体にプログラムを格納する。通信回線401は、インターネット、パソコン通信などの通信回線、あるいは専用通信回線などである。コンピュータ402はハードディスク403を使用してプログラムを読み出し、通信回線401を介してプログラムをパーソナルコンピュータ400へ送信する。すなわち、プログラムをデータ通信(搬送波)などの種々の形態のコンピュータ読み込み可能なコンピュータプログラム製品として供給できる。
【0042】
なお、上述した実施の形態とそれらの変形例において、実施の形態どうし、または実施の形態と変形例とのあらゆる組み合わせが可能である。
【0043】
上述した実施の形態とその変形例によれば以下のような作用効果を奏することができる。まず、顔検出部21が画像の中から動物の顔を検出する。そして、その顔検出結果に基づいて人体候補領域生成部22が画像の中の動物(人)の体の候補領域(矩形ブロック)を設定する。テンプレートマッチング部24,27は、それぞれテンプレート作成部23または教師データ記憶装置33から基準画像(テンプレート)を取得する。そして、人体候補領域生成部22は、動物の体の候補領域を複数の小領域(サブブロック)に分割する。そして、テンプレートマッチング部24,27と類似度算出部25は、複数の小領域の画像のそれぞれについて基準画像との類似度をそれぞれ演算する。人体領域推定部26は、それら複数の小領域のそれぞれの類似度に基づいて、動物の体の候補領域の中から動物の体の領域を推定するようにした。したがって、画像処理装置は、動物の体の領域を容易かつ正確に検出することができる。
【0044】
また、上述した実施の形態とその変形例によれば、
図4に示すように、人体候補領域生成部22が動物の顔の大きさと傾きに応じて画像の中に動物の体の候補領域を設定するようにした。動物の体の領域は顔の大きさと傾きに応じた位置になる確率が高い。したがって、画像処理装置は、体の候補領域を真の体の領域に設定できる確率が高くなり、体の領域の推定精度を向上させることができる。
【0045】
上述した実施の形態とその変形例によれば、顔検出部21が画像の中の動物の顔の位置に動物の顔の大きさと傾きに応じた矩形ブロックを設定する。そして、
図4に示すように、人体候補領域生成部22がその矩形ブロックと同一の矩形ブロックを所定個数並べて動物の体の候補領域を設定するようにした。動物の体の領域は顔の大きさと傾きに応じた位置と大きさになる確率が高い。したがって、画像処理装置は、体の候補領域を真の体の領域に設定できる確率が高くなり、体の領域の推定精度を向上させることができる。
【0046】
上述した実施の形態とその変形例によれば、人体候補領域生成部22が動物の体の候補領域を構成する複数の矩形ブロックの中をそれぞれ複数の領域に分割して小領域(サブブロック)とした。したがって、画像処理装置は、体の領域を推定するための類似度を正確に求めることができる。
【0047】
上述した実施の形態とその変形例によれば、テンプレート作成部23がそれぞれの矩形ブロックの中央にサブブロックと同じ大きさのテンプレート領域を設定し、このテンプレート領域の画像をテンプレートとした。したがって、画像処理装置は、体の領域を推定するための類似度を正確に求めることができる。
【0048】
上述した実施の形態とその変形例によれば、類似度算出部25が候補領域内のサブブロックと動物の顔との距離が近いほど類似度に大きな重み付けを行うようにした。したがって、画像処理装置は、動物の体の領域を正確に推定することができる。
【0049】
上述した実施の形態とその変形例によれば、CPUがサブブロックの画像とテンプレートとの間で輝度、周波数、輪郭、色差、色相のいずれか1または複数を比較し、類似度を演算するようにした。したがって、画像処理装置は、体の領域を推定するための類似度を正確に求めることができる。
【0050】
上述した第4の実施の形態とその変形例によれば、テンプレートマッチングマッチング部27がサブブロックの画像の代わりに教師データ記憶装置33に予め記憶されている画像をテンプレートとして用いるようにした。そのため、画像処理装置は体の領域を推定するための情報として画像上に存在する情報のみに制約されず、多くの情報を盛り込むことができる。その結果、画像処理装置は人体領域の推定精度を向上させることができる上に、推定内容を拡大することができる。
【0051】
上述した第5の実施の形態とその変形例によれば、上半身推定部41が人の体の上半身の領域を推定する。そして、下半身推定部42が上半身の領域の推定結果を用いて人の体の下半身の領域を推定するようにした。したがって、画像処理装置は体全体の領域を正確に推定することができる。
【0052】
上述した実施の形態とその変形例によれば、テンプレートマッチング部24,27は、テンプレート領域の画像または教師データをテンプレートとした。しかし、画像処理装置は人体候補領域生成部22が設定したサブブロックの画像またはサブブロックと同じ大きさの矩形ブロックの一部の画像をテンプレートとして設定してもよい。
【0053】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0054】
次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
日本国特許出願2011年第047525号(2011年3月4日出願)