画像処理装置、およびカメラ
【課題】画像内から人物の顔を検出すること。
【解決手段】制御装置104は、画像内から人物の肌の色の画素で構成される肌色領域を抽出し、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する。そして、制御装置104は、算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する。
【解決手段】制御装置104は、画像内から人物の肌の色の画素で構成される肌色領域を抽出し、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する。そして、制御装置104は、算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、およびカメラに関する。
【背景技術】
【0002】
次のような人物認識装置が知られている。この人物認識装置は、入力された画像内から人物の顔を検出し、検出した顔のサイズがあらかじめ設定された範囲内にある場合に、検出した顔の特徴量と、記録されている特徴量とを照合することにより、特定の人物の顔を認識する(例えば、特許文献1)。
【0003】
【特許文献1】特開2004−126812号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の人物認識装置では、画像内から人物の顔の特徴量として、目や鼻などの顔部品の位置を特定する必要があるため、画像内の顔が横を向いていたり、画像内での顔のサイズが小さい場合には、特徴量を抽出することができず、人物の顔を検出することができなかった。
【課題を解決するための手段】
【0005】
本発明による画像処理装置は、画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、算出手段で算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする。
本発明では、算出手段は、肌色領域の縦横比を指標として算出するようにしてもよい。
画像に対してモルフォロジー処理を施すモルフォロジー処理実行手段をさらに備え、算出手段は、モルフォロジー処理実行後の画像を対象として指標を算出するようにしてもよい。
判定手段が肌色領域を人物の顔に相当する顔領域であると判定した場合に、顔領域の下部に存在する人物の体を検出する体検出手段をさらに備えるようにしてもよい。
本発明によるカメラは、画像を取得する画像取得手段と、画像取得手段で取得した画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、算出手段で算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、画像内の顔が横を向いていたり、画像内での顔のサイズが小さい場合でも、人物の顔を検出することができる。
【発明を実施するための最良の形態】
【0007】
図1は、本実施の形態におけるカメラの一実施の形態の構成を示すブロック図である。カメラ100は、操作部材101と、受光センサー102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【0008】
受光センサー102は、複数の受光素子が2次元配列されており、各受光素子による受光画像を制御装置104へ出力する。図2に受光センサー102における受光素子の配置例を示す。例えば、図2(a)に示すようなポートレート写真を撮影する場合を撮影する場合について説明する。この場合、受光センサー102の各受光素子は、図2(b)に示すように配置されている。この図2(b)においては、格子状に配列された複数の枠のそれぞれが、1つの受光素子を示している。
【0009】
撮像素子103は、例えばCCDやCMOSなどのイメージセンサーであり、レンズ102により結像した被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置104へ出力する。
【0010】
制御装置104は、撮像素子103から入力された画像信号に基づいて所定の画像形式、例えばJPEG形式の画像データ(以下、「本画像データ」と呼ぶ)を生成する。また、制御装置104は、生成した画像データに基づいて、表示用画像データ、例えばサムネイル画像データを生成する。制御装置104は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成してメモリカードスロット105へ出力する。また、制御装置104は、後述する人物の検出処理を行う。
【0011】
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置104から出力された画像ファイルをメモリカードに書き込んで記録する。また、メモリカードスロット105は、制御装置104からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【0012】
モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像やカメラ100を設定するための設定メニューなどが表示される。また、制御装置104は、使用者によってカメラ100のモードが撮影モードに設定されると、撮像素子103から時系列で取得した画像の表示用画像データをモニタ106に出力する。これによってモニタ106にはスルー画が表示される。
【0013】
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、カメラ100を制御する。なお、制御装置104を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは、揮発性のメモリであって、CPUがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用される。また、フラッシュメモリは、不揮発性のメモリであって、制御装置104が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【0014】
本実施の形態では、制御装置104は、受光センサー102から出力される受光画像内に写っている人物を検出する。このために、制御装置104は、以下に説明する処理を実行する。なお、本実施の形態では、受光センサー102からの出力される受光画像は、RGB表色系で表されているものとする。すなわち、受光画像は、図2(b)に示した各枠内が1画素に相当し、各画素は、R、G、Bの各値を有している。
【0015】
本実施の形態では、受光センサー102からは、図2(b)に示した状況における受光画像が制御装置104に出力されるものとして、以下の説明を行う。制御装置104は、まず、受光画像の各画素ごとに、R、G、Bの各値を次式(1)を用いて色相(Hue)の角度に変換する。
【数1】
なお、色相は、図3に示す色相環により表され、色相(Hue)の角度とは、各画素の色相値の色相環上での角度をいう。
【0016】
そして、制御装置104は、受光画像内から、Hueの角度が人物の肌の色を表す範囲内、例えば180度から220度の範囲内にある画素を抽出する。これによって、受光画像内から人物の肌の色で構成される領域を抽出することができる。例えば、図4(a)に示すように、受光画像内から肌の色の領域4aと肌の色の領域4bとを抽出することができる。この図4(a)においては、受光画像内で肌の色の領域4aおよび4bを明確に示すために、領域4aおよび領域4b内を白色で表している。
【0017】
なお、肌色領域として抽出するHueの角度を上述した180度から220度の範囲とすることによって、人種を問わず人物の肌の色で構成される領域を抽出することができる。すなわち、被写体が肌の色がいわゆる肌色である黄色人種である場合に限らず、被写体が黒人や白人である場合にも、受光画像内から肌の色の領域を抽出することができる。このように、制御装置104が抽出する肌の色の領域は、いわゆる肌色の領域に限られないが、本実施の形態では、説明の簡略化のために、受光画像内から抽出される肌の色の領域を肌色領域と呼ぶこととする。
【0018】
制御装置104は、受光画像内から肌色領域4aおよび4bを抽出した後、図4(d)に示すように、受光画像の肌色領域4aおよび4bに含まれる画素を1、それ以外の画素を0とすることによって、受光画像を肌色領域とそれ以外の領域とに分離する。さらに制御装置104は、図4(d)では、いずれも1で表されている肌色領域4aと4bとを分離するためにラベリング処理を行う。例えば、制御装置104は、受光画像内から抽出したそれぞれの肌色領域に対して1、2、3・・・といったように連番でラベルを付与することによりラベリング処理を行う。
【0019】
ラベリング処理の結果を図5に示す。この図5に示すように、肌色領域4aにはラベルとして1が付与され、肌色領域4bにはラベルとして2が付与されている。すなわち、図4(d)では肌色領域4aおよび4bの各画素は1で表されていたため、この値に基づいてそれぞれの領域を区別することはできなかったが、図5では、肌色領域4aの画素は1で表され、肌色領域4bの画素は2で表されているため、この値に基づいてそれぞれの領域を区別することができる。これによって、受光画像全体を肌色領域4aと肌色領域4bとそれ以外の領域の3つの領域に分割することができる。
【0020】
なお、図2、図4、および図5を対比して見ると、肌色領域4aは人物の顔に相当するが、肌色領域4bは人物の手に相当する。このように、受光画像から肌色領域を抽出した場合には、被写体としての人物の肌が露出している部分が肌色領域として抽出される。あるいは、人物以外の被写体であっても、人物の肌と同様の色のものが存在する場合には、それらに相当する領域も肌色領域として抽出されることになる。
【0021】
本実施の形態では、制御装置104は、受光画像内から抽出した肌色領域のうち、人物の顔に相当する領域を特定することによって、受光画像内に含まれる人物の顔を検出する。さらに、制御装置104は、検出した人物の顔の位置を基準として、人物の体を検出する。このために制御装置104は以下のように処理する。
【0022】
制御装置104は、以下の(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔に相当する領域であるか否かを判断する。なお、制御装置104が(方法A)から(方法C)のいずれの方法によって判断を行うかは、あらかじめ設定されているものとする。
【0023】
(方法A)
方法Aでは、制御装置104は、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として充足率を算出し、算出した充足率があらかじめ設定された閾値以上である場合には、その肌色領域は、人物の顔に相当する領域であると判断する。充足率を用いた判断方法の具体的について、図6を用いて説明する。
【0024】
制御装置104は、図6に示すように、肌色領域4aと4bのそれぞれについて、肌色領域を構成する全ての画素を包絡する包絡枠6aおよび6bを設定する。そして、制御装置104は、包絡枠6aと6bのそれぞれについて、包絡枠に内接する楕円6cおよび6dを設定する。制御装置104は、それぞれの肌色領域について設定した楕円の面積と、各楕円内の肌色領域の面積とを算出し、次式(2)により充足率を算出する。
充足率=肌色領域の面積/楕円の面積 ・・・(2)
【0025】
図6に示す例では、制御装置104は、肌色領域4aの面積/楕円6cの面積を肌色領域4aについての充足率として算出し、肌色領域4bの面積/楕円6dの面積を肌色領域4bについての充足率として算出する。なお、この充足率は、肌色領域が楕円形状をしているかを判定するための指標であり、この充足率が1に近いほど肌色領域は楕円に近い形状をしていることを意味し、充足率が0に使いほど肌色領域は楕円に近い形状をしていないことを意味する。すなわち、人物の顔の形状は一般的に楕円形状に近いことを加味すると、充足率が1に近いほど肌色領域は人物の顔に相当する領域である可能性が高いことを意味しており、充足率が0に使いほど肌色領域は人物の顔に相当する領域ではない可能性が高いことを意味している。
【0026】
よって、制御装置104は、式(2)を用いて算出した充足率が、あらかじめ設定された所定の閾値、例えば0.8以上である場合には、対応する肌色領域は人物の顔に相当する領域であると判断する。一方、式(2)を用いて算出した充足率が、あらかじめ設定された所定の閾値、例えば0.8未満である場合には、対応する肌色領域は人物の顔に相当する領域ではないと判断する。
【0027】
例えば、肌色領域4aの面積が26であり、楕円6cの面積が31である場合には、肌色領域4aの充足率は、26/31=0.84となり、これは上記閾値0.8以上であるため、肌色領域4aは、人物の顔に相当する領域であると判断される。また、肌色領域4bの面積が13であり、楕円6dの面積が24である場合には、肌色領域4bの充足率は、13/24=0.54となり、これは上記閾値0.8未満であるため、肌色領域4bは、人物の顔に相当する領域ではないと判断される。
【0028】
(方法B)
方法Bでは、制御装置104は、受光画像内における各肌色領域の大きさ、すなわち縦サイズ(高さ)と横サイズ(幅)とに基づいて、肌色領域の実際の大きさ(実空間上における大きさ)を推定し、推定した肌色領域の大きさ(推定実寸)に基づいて、肌色領域が人物の顔に相当する領域であるか否かを判断する。具体的には、制御装置104は、次式(3)により、肌色領域の長辺の推定実寸を算出する。
【0029】
次式(3)において、Dは被写体距離、Pixelは肌色領域の長辺の画素数、fは焦点距離を表している。また、本実施の形態では、受光センサー102の画素ピッチが0.9mmであるため、分子に0.9をかけている。
推定実寸=0.9×D×Pixel/f ・・・(3)
【0030】
例えば、図7に示すように肌色領域の縦方向の辺が長辺となる場合には、Pixelには肌色領域の縦方向の画素数が代入され、式(3)によって肌色領域の縦方向(y方向)の推定実寸yが算出される。一方、肌色領域の横方向の辺が長辺となる場合には、Pixelには肌色領域の横方向の画素数が代入され、式(3)によって肌色領域の横方向(x方向)の推定実寸xが算出される。
【0031】
制御装置104は、算出した長辺の推定実寸が、人物の顔とみなすことができる所定の長さの範囲内、例えば120mmから300mmの範囲内にある場合に、肌色領域は人物の顔に相当する領域であると判断する。例えば、図7に示す例において、肌色領域4aの長辺である縦方向の辺の長さが6である場合、すなわち肌色領域4aの縦方向の画素数が6には、式(3)におけるPixelには6が代入される。この場合に、さらに被写体距離D=960mm、焦点距離f=28である場合には、式(3)により推定実寸y=0.9×960×6/28=185mmとなる。
【0032】
この肌色領域4aの推定実寸yの算出結果は、上記閾値(120mmから300mm)の範囲内であるため、制御装置104は、肌色領域4aは人物の顔に相当する領域であると判定する。
【0033】
(方法C)
方法Cでは、制御装置104は、図8に示すように、肌色領域の縦サイズ(Pixel_Y)と横サイズ(Pixel_X)を算出し、これらの比(Pixel_X/Pixel_Y)を肌色領域の縦横比として算出する。そして、制御装置104は、算出した縦横比が人物の顔とみなすことができる比率の範囲内、例えば1.5から2の範囲内である場合には、肌色領域は人物の顔に相当する領域であると判断する。
【0034】
例えば、図8に示す例において、肌色領域4aの縦横比が8/5=1.6であり、肌色領域4bの縦横比が6/5=1.2である場合には、制御装置104は、肌色領域4aは人物の顔に相当する領域であると判断し、肌色領域4bは人物の顔に相当する領域ではないと判断する。
【0035】
制御装置104は、上記(方法A)から(方法B)の方法のうち、あらかじめ設定されたいずれかの方法により、受光画像内に人物の顔に相当する肌色領域が含まれていると判断した場合には、その人物の顔に相当する肌色領域を人物の顔領域として特定する。そして、制御装置104は、特定した顔領域に基づいて、受光画像内における人物の体の検出を行う。具体的には、制御装置104は、図9(a)に示すように、受光画像内で特定した顔領域9aの下部に、人物の体を検出するための体検出領域9bを設定する。例えば、制御装置104は、顔領域9aの下部に、顔領域9aの所定倍の体検出領域9bを設定する。
【0036】
制御装置104は、図3に示した色相環を45度幅で8象限に区分する。これによって、色相環は、図9(b)に示すように、0度≦hue<45度の第1象限9c、45度≦hue<90度の第2象限9d、90度≦hue<135度の第3象限9e、135度≦hue<180度の第4象限9f、180度≦hue<225度の第5象限9g、225度 ≦hue<270度の第6象限9h、270度≦hue<315度の第7象限9i、315度≦hue<360度の第8象限9jに区分される。
【0037】
制御装置104は、体検出領域9b内の各画素を上記各象限ごとに2値化する。すなわち、制御装置104は、上記各象限ごとに、体検出領域9b内の各画素のうち、Hueの角度がその象限のHueの角度の範囲内にある画素を白画素とし、それ以外の画素を黒画素としたマスク画像を生成する。これによって、第1象限のマスク画像9kから第8象限のマスク画像9rが生成される。
【0038】
制御装置104は、生成した各象限のマスク画像のそれぞれについて、マスク画像内の白画素の重心位置に基づいて、白画素の重心周りの慣性モーメントを算出する。これによって、第1象限のマスク画像9kの白画素の重心周りの慣性モーメント〜第8象限のマスク画像9rの白画素の重心周りの慣性モーメントが算出される。なお、2値化して得たマスク画像における白画素の重心周りの慣性モーメントの算出方法については、公知のため詳細な説明を省略するが、例えば、白画素の重心からの画素距離の2乗×0または1の濃度値の和により算出することができる。
【0039】
そして、制御装置104は、次式(4)により、各マスク画像を体検出用のマスク画像として採用するか否かを判定するための評価値を算出する。
評価値=白画素面積/白画素の重心周りの慣性モーメント ・・・(4)
なお、白画素面積とは、各マスク画像内における白画素で構成される領域の面積をいう。
【0040】
制御装置104は、式(4)により算出した評価値が最も大きいマスク画像を体検出用のマスク画像として選択する。そして、選択した体検出用のマスク画像内の白画素で構成される領域を人物の体に相当する領域(体領域)として検出する。例えば、図9(b)においては、各マスク画像の横に記載されている数値はそれぞれのマスク画像の評価値を表している。よって、この図9(b)に示す例では、最も評価値が大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが体領域として検出されることになる。
【0041】
以上の処理によって、制御装置104は、受光センサー102から出力される受光画像に基づいて、被写体としての人物の顔と体とを検出して、受光画像内における人物を検知することができる。
【0042】
なお、制御装置104は、被写体としての人物が複数いる場合であっても、上記処理によって、受光画像内から各人物を検知することができる。例えば、図10(a)に示すように、被写体として2人の人物がいる場合には、図10(b)に示すように、上述した処理によって受光画像内から人物の顔に相当する肌色領域、すなわち人物の顔領域10aと10bとを検出する。
【0043】
制御装置104は、検出した顔領域10aと10bのそれぞれの下部に、体検出領域10cと10dとを設定する。そして、制御装置104は、体検出領域10cと10dとのそれぞれについて、上述した第1象限のマスク画像9kから第8象限のマスク画像9rを生成する。図10(c)は、体検出領域10cについて生成した第1象限のマスク画像9kから第8象限のマスク画像9rを示し、図10(d)は、体検出領域10dについて生成した第1象限のマスク画像9kから第8象限のマスク画像9rを示している。
【0044】
制御装置104は、図10(c)に示した各マスク画像について、式(4)により評価値を算出し、算出された評価値が最も高いマスク画像を顔領域10aに対応する体検出用のマスク画像として選択する。例えば、図10(c)に示す例では、評価値が最も大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが顔領域10aに対応する人物の体領域として検出される。
【0045】
また、制御装置104は、図10(d)に示した各マスク画像について、式(4)により評価値を算出し、算出された評価値が最も高いマスク画像を顔領域10bに対応する体検出用のマスク画像として選択する。例えば、図10(d)に示す例では、評価値が最も大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが顔領域10bに対応する人物の体領域として検出される。
【0046】
図11は、本実施の形態におけるカメラ100の処理を示すフローチャートである。図11に示す処理は、受光センサー102から受光画像が入力されると起動するプログラムとして、制御装置104によって実行される。
【0047】
ステップS10において、制御装置104は、式(1)を用いて、受光画像の各画素ごとに、R、G、Bの各値を色相(Hue)の角度に変換する。その後、ステップS20へ進み、制御装置104は、受光画像内から、Hueの角度が人物の肌の色を表す範囲内、例えば180度から220度の範囲内にある画素を抽出することによって、受光画像内から肌色領域を抽出する。その後、ステップS30へ進む。
【0048】
ステップS30では、制御装置104は、上述したラベリング処理を行うことによって、受光画像内の各肌色領域にラベルを付すことにより、各肌色領域を区別し、ステップS40へ進む。ステップS40では、制御装置104は、上述した(方法A)から(方法C)のいずれかの方法によって、各肌色領域が人物の顔に相当する領域であるか否かを判断する。ステップS40で否定判断した場合には、処理を終了する。これに対して、ステップS40で肯定判断した場合には、ステップS50へ進む。
【0049】
ステップS50では、制御装置104は、受光画像内に含まれる人物の顔に相当する肌色領域を人物の顔領域として特定して、ステップS60へ進む。ステップS60では、制御装置104は、図9(a)に示したように、受光画像内で特定した顔領域9aの下部に、人物の体を検出するための体検出領域9bを設定する。その後、ステップS70へ進み、制御装置104は、色相環を45度幅で8象限に区分し、各象限ごとに体検出領域9b内の画像のマスク画像を生成する。その後、ステップS80へ進む。
【0050】
ステップS80では、制御装置104は、各マスク画像ごとにマスク画像内の白画素の重心位置に基づいて、白画素の重心周りの慣性モーメントを算出し、式(4)により評価値を算出する。その後、ステップS90へ進み、制御装置104は、8つのマスク画像の中から式(4)により算出した評価値が最も大きいマスク画像を体検出用のマスク画像として選択し、当該体検出用のマスク画像内の白画素領域を体領域として検出してステップS100へ進む。
【0051】
ステップS100では、制御装置104は、ステップS50で検出した全ての顔領域を対象として、ステップS60からステップS90の処理を完了したか否かを判断する。ステップS100で否定判断した場合には、ステップS60へ戻って処理を繰り返す。これに対して、ステップS100で肯定判断した場合には、処理を終了する。
【0052】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)制御装置104は、受光画像内から人物の肌の色の画素で構成される肌色領域を抽出し、(方法A)から(方法C)のいずれかの方法により肌色領域が人物の顔に相当する領域であるか否かを判定するようにした。これによって、受光画像内で人物の顔が横を向いていたり、画像内での顔のサイズが小さい場合でも、人物の顔を検出することができる。
【0053】
(2)制御装置104は、肌色領域を人物の顔に相当する顔領域であると判定した場合に、顔領域の下部に体検出領域を設定し、色相環を45度幅で8象限に区分した各象限ごとに、体検出領域内の画像のマスク画像を生成した。そして、制御装置104は、各マスク画像ごとに式(4)を用いて評価値を算出し、算出した評価値が最も大きいマスク画像内の白画素領域を体領域として検出するようにした。これによって、人物の体は顔の下部にあることを加味して、マスク画像の生成範囲を限定することができ、処理を高速化することができる。また、式(4)によって算出される評価値は、白画素面積が大きく、かつ白画素の重心周りの慣性モーメントが小さいほど大きくなる。このため、評価値が最も大きいマスク画像を体検出用のマスク画像として選択することにより、白画素面積が大きく、さらに人物の体を示す白画素が他のマスク画像よりもまとまって存在しているマスク画像を体検出用のマスク画像として選択され、人物の体の検出精度を向上することができる。
【0054】
―変形例―
なお、上述した実施の形態のカメラは、以下のように変形することもできる。
(1)上述した実施の形態では、制御装置104は、(方法A)から(方法C)のうちあらかじめ設定されているいずれか1つの方法を用いて肌色領域が人物の顔に相当する領域であるか否かを判断する例について説明した。しかしながら、2つ以上の方法を組み合わせて判断を行うようにしてもよい。
【0055】
例えば、制御装置104は、(方法A)から(方法C)のうちの2つ、または3つの方法を用いて判断を行い、いずれか1つの方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。あるいは、全ての方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。
【0056】
また、制御装置104は、(方法A)から(方法C)の全ての方法を用いて判断を行いた場合には、そのうちの2つ以上の方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。
【0057】
(2)上述した実施の形態では、制御装置104は、受光画像内から肌色領域を抽出し、(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔領域であるか否かを判断する例について説明した。しかしながら、制御装置104は、肌色領域が顔領域であるか否かを判断する前に、受光画像に対して公知のモルフォロジー処理を実行することにより、あらかじめ顔領域である可能性が低い肌色領域を排除するようにしてもよい。
【0058】
例えば、図2、図4、および図5を用いて説明したように、図4(a)においては、肌色領域4aは人物の顔に相当するが、肌色領域4bは人物の手に相当する。この場合に、上述した実施の形態では、肌色領域4aと4bとのそれぞれを対処として、(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔領域であるか否かを判断した。しかしながら、あらかじめモルフォロジー処理によって人物の顔領域ではない肌色領域4bを(方法A)から(方法C)のいずれかの方法による判断対象から除外するようにすれば、処理の高速化を図ることができる。
【0059】
具体的には、制御装置104は、図12(a)に示すような構造要素(Structure Element)を用いたモルフォロジー処理を行うことにより、図12(b)に示す肌色領域12aと12bのうち、人物の手に相当する肌色領域12bを排除する。これによって、図12(c)に示すように、(方法A)から(方法C)のいずれかの方法による判断対象を肌色領域12aのみに絞り込むことができ、処理の高速化を図ることができる。
【0060】
また、肌色領域を対象としてモルフォロジー処理を施すことにより、肌色領域の内部に穴が開いていたり、肌色領域の輪郭に凹凸がある場合に、これらを整形して、肌色領域の形状を整えることができるという効果も得ることができる。
【0061】
(3)上述した実施の形態では、本発明をカメラに適用する場合について説明した。しかしながら、本発明は、画像を読み込んで処理することができる他の装置、例えばパソコンや携帯端末などに適用することも可能である。この場合、図11に示した処理をパソコン等のCPUが実行するようにすればよい。
【0062】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【図面の簡単な説明】
【0063】
【図1】カメラ100の一実施の形態の構成を示すブロック図である。
【図2】受光センサー102における受光素子の配置例を示す図である。
【図3】色相環の具体例を示す図である。
【図4】受光画像における肌色領域の具体例を示す図である。
【図5】ラベリング処理の結果を示す図である。
【図6】充足率を用いた判断方法の具体的を示す図である。
【図7】推定実寸の算出例を示す図である。
【図8】肌色領域の縦サイズと横サイズの具体例を示す図である。
【図9】体検出領域の設定例、およびマスク画像の具体例を示す図である。
【図10】複数の人物がいる場合の体検出の具体例を示す図である。
【図11】カメラ100の処理を示すフローチャート図である。
【図12】モルフォロジー処理の具体例を示す図である。
【符号の説明】
【0064】
100 カメラ、101 操作部材、102 受光センサー、103 撮像素子、104 制御装置、105 メモリカードスロット、106 モニタ
【技術分野】
【0001】
本発明は、画像処理装置、およびカメラに関する。
【背景技術】
【0002】
次のような人物認識装置が知られている。この人物認識装置は、入力された画像内から人物の顔を検出し、検出した顔のサイズがあらかじめ設定された範囲内にある場合に、検出した顔の特徴量と、記録されている特徴量とを照合することにより、特定の人物の顔を認識する(例えば、特許文献1)。
【0003】
【特許文献1】特開2004−126812号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の人物認識装置では、画像内から人物の顔の特徴量として、目や鼻などの顔部品の位置を特定する必要があるため、画像内の顔が横を向いていたり、画像内での顔のサイズが小さい場合には、特徴量を抽出することができず、人物の顔を検出することができなかった。
【課題を解決するための手段】
【0005】
本発明による画像処理装置は、画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、算出手段で算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする。
本発明では、算出手段は、肌色領域の縦横比を指標として算出するようにしてもよい。
画像に対してモルフォロジー処理を施すモルフォロジー処理実行手段をさらに備え、算出手段は、モルフォロジー処理実行後の画像を対象として指標を算出するようにしてもよい。
判定手段が肌色領域を人物の顔に相当する顔領域であると判定した場合に、顔領域の下部に存在する人物の体を検出する体検出手段をさらに備えるようにしてもよい。
本発明によるカメラは、画像を取得する画像取得手段と、画像取得手段で取得した画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、肌色領域が楕円形状をしているかを判定するための充足率と、肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、算出手段で算出した指標に基づいて、肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする。
【発明の効果】
【0006】
本発明によれば、画像内の顔が横を向いていたり、画像内での顔のサイズが小さい場合でも、人物の顔を検出することができる。
【発明を実施するための最良の形態】
【0007】
図1は、本実施の形態におけるカメラの一実施の形態の構成を示すブロック図である。カメラ100は、操作部材101と、受光センサー102と、撮像素子103と、制御装置104と、メモリカードスロット105と、モニタ106とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【0008】
受光センサー102は、複数の受光素子が2次元配列されており、各受光素子による受光画像を制御装置104へ出力する。図2に受光センサー102における受光素子の配置例を示す。例えば、図2(a)に示すようなポートレート写真を撮影する場合を撮影する場合について説明する。この場合、受光センサー102の各受光素子は、図2(b)に示すように配置されている。この図2(b)においては、格子状に配列された複数の枠のそれぞれが、1つの受光素子を示している。
【0009】
撮像素子103は、例えばCCDやCMOSなどのイメージセンサーであり、レンズ102により結像した被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置104へ出力する。
【0010】
制御装置104は、撮像素子103から入力された画像信号に基づいて所定の画像形式、例えばJPEG形式の画像データ(以下、「本画像データ」と呼ぶ)を生成する。また、制御装置104は、生成した画像データに基づいて、表示用画像データ、例えばサムネイル画像データを生成する。制御装置104は、生成した本画像データとサムネイル画像データとを含み、さらにヘッダ情報を付加した画像ファイルを生成してメモリカードスロット105へ出力する。また、制御装置104は、後述する人物の検出処理を行う。
【0011】
メモリカードスロット105は、記憶媒体としてのメモリカードを挿入するためのスロットであり、制御装置104から出力された画像ファイルをメモリカードに書き込んで記録する。また、メモリカードスロット105は、制御装置104からの指示に基づいて、メモリカード内に記憶されている画像ファイルを読み込む。
【0012】
モニタ106は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)であり、当該モニタ106には、メモリカードに記憶されている画像やカメラ100を設定するための設定メニューなどが表示される。また、制御装置104は、使用者によってカメラ100のモードが撮影モードに設定されると、撮像素子103から時系列で取得した画像の表示用画像データをモニタ106に出力する。これによってモニタ106にはスルー画が表示される。
【0013】
制御装置104は、CPU、メモリ、およびその他の周辺回路により構成され、カメラ100を制御する。なお、制御装置104を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは、揮発性のメモリであって、CPUがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用される。また、フラッシュメモリは、不揮発性のメモリであって、制御装置104が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【0014】
本実施の形態では、制御装置104は、受光センサー102から出力される受光画像内に写っている人物を検出する。このために、制御装置104は、以下に説明する処理を実行する。なお、本実施の形態では、受光センサー102からの出力される受光画像は、RGB表色系で表されているものとする。すなわち、受光画像は、図2(b)に示した各枠内が1画素に相当し、各画素は、R、G、Bの各値を有している。
【0015】
本実施の形態では、受光センサー102からは、図2(b)に示した状況における受光画像が制御装置104に出力されるものとして、以下の説明を行う。制御装置104は、まず、受光画像の各画素ごとに、R、G、Bの各値を次式(1)を用いて色相(Hue)の角度に変換する。
【数1】
なお、色相は、図3に示す色相環により表され、色相(Hue)の角度とは、各画素の色相値の色相環上での角度をいう。
【0016】
そして、制御装置104は、受光画像内から、Hueの角度が人物の肌の色を表す範囲内、例えば180度から220度の範囲内にある画素を抽出する。これによって、受光画像内から人物の肌の色で構成される領域を抽出することができる。例えば、図4(a)に示すように、受光画像内から肌の色の領域4aと肌の色の領域4bとを抽出することができる。この図4(a)においては、受光画像内で肌の色の領域4aおよび4bを明確に示すために、領域4aおよび領域4b内を白色で表している。
【0017】
なお、肌色領域として抽出するHueの角度を上述した180度から220度の範囲とすることによって、人種を問わず人物の肌の色で構成される領域を抽出することができる。すなわち、被写体が肌の色がいわゆる肌色である黄色人種である場合に限らず、被写体が黒人や白人である場合にも、受光画像内から肌の色の領域を抽出することができる。このように、制御装置104が抽出する肌の色の領域は、いわゆる肌色の領域に限られないが、本実施の形態では、説明の簡略化のために、受光画像内から抽出される肌の色の領域を肌色領域と呼ぶこととする。
【0018】
制御装置104は、受光画像内から肌色領域4aおよび4bを抽出した後、図4(d)に示すように、受光画像の肌色領域4aおよび4bに含まれる画素を1、それ以外の画素を0とすることによって、受光画像を肌色領域とそれ以外の領域とに分離する。さらに制御装置104は、図4(d)では、いずれも1で表されている肌色領域4aと4bとを分離するためにラベリング処理を行う。例えば、制御装置104は、受光画像内から抽出したそれぞれの肌色領域に対して1、2、3・・・といったように連番でラベルを付与することによりラベリング処理を行う。
【0019】
ラベリング処理の結果を図5に示す。この図5に示すように、肌色領域4aにはラベルとして1が付与され、肌色領域4bにはラベルとして2が付与されている。すなわち、図4(d)では肌色領域4aおよび4bの各画素は1で表されていたため、この値に基づいてそれぞれの領域を区別することはできなかったが、図5では、肌色領域4aの画素は1で表され、肌色領域4bの画素は2で表されているため、この値に基づいてそれぞれの領域を区別することができる。これによって、受光画像全体を肌色領域4aと肌色領域4bとそれ以外の領域の3つの領域に分割することができる。
【0020】
なお、図2、図4、および図5を対比して見ると、肌色領域4aは人物の顔に相当するが、肌色領域4bは人物の手に相当する。このように、受光画像から肌色領域を抽出した場合には、被写体としての人物の肌が露出している部分が肌色領域として抽出される。あるいは、人物以外の被写体であっても、人物の肌と同様の色のものが存在する場合には、それらに相当する領域も肌色領域として抽出されることになる。
【0021】
本実施の形態では、制御装置104は、受光画像内から抽出した肌色領域のうち、人物の顔に相当する領域を特定することによって、受光画像内に含まれる人物の顔を検出する。さらに、制御装置104は、検出した人物の顔の位置を基準として、人物の体を検出する。このために制御装置104は以下のように処理する。
【0022】
制御装置104は、以下の(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔に相当する領域であるか否かを判断する。なお、制御装置104が(方法A)から(方法C)のいずれの方法によって判断を行うかは、あらかじめ設定されているものとする。
【0023】
(方法A)
方法Aでは、制御装置104は、肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として充足率を算出し、算出した充足率があらかじめ設定された閾値以上である場合には、その肌色領域は、人物の顔に相当する領域であると判断する。充足率を用いた判断方法の具体的について、図6を用いて説明する。
【0024】
制御装置104は、図6に示すように、肌色領域4aと4bのそれぞれについて、肌色領域を構成する全ての画素を包絡する包絡枠6aおよび6bを設定する。そして、制御装置104は、包絡枠6aと6bのそれぞれについて、包絡枠に内接する楕円6cおよび6dを設定する。制御装置104は、それぞれの肌色領域について設定した楕円の面積と、各楕円内の肌色領域の面積とを算出し、次式(2)により充足率を算出する。
充足率=肌色領域の面積/楕円の面積 ・・・(2)
【0025】
図6に示す例では、制御装置104は、肌色領域4aの面積/楕円6cの面積を肌色領域4aについての充足率として算出し、肌色領域4bの面積/楕円6dの面積を肌色領域4bについての充足率として算出する。なお、この充足率は、肌色領域が楕円形状をしているかを判定するための指標であり、この充足率が1に近いほど肌色領域は楕円に近い形状をしていることを意味し、充足率が0に使いほど肌色領域は楕円に近い形状をしていないことを意味する。すなわち、人物の顔の形状は一般的に楕円形状に近いことを加味すると、充足率が1に近いほど肌色領域は人物の顔に相当する領域である可能性が高いことを意味しており、充足率が0に使いほど肌色領域は人物の顔に相当する領域ではない可能性が高いことを意味している。
【0026】
よって、制御装置104は、式(2)を用いて算出した充足率が、あらかじめ設定された所定の閾値、例えば0.8以上である場合には、対応する肌色領域は人物の顔に相当する領域であると判断する。一方、式(2)を用いて算出した充足率が、あらかじめ設定された所定の閾値、例えば0.8未満である場合には、対応する肌色領域は人物の顔に相当する領域ではないと判断する。
【0027】
例えば、肌色領域4aの面積が26であり、楕円6cの面積が31である場合には、肌色領域4aの充足率は、26/31=0.84となり、これは上記閾値0.8以上であるため、肌色領域4aは、人物の顔に相当する領域であると判断される。また、肌色領域4bの面積が13であり、楕円6dの面積が24である場合には、肌色領域4bの充足率は、13/24=0.54となり、これは上記閾値0.8未満であるため、肌色領域4bは、人物の顔に相当する領域ではないと判断される。
【0028】
(方法B)
方法Bでは、制御装置104は、受光画像内における各肌色領域の大きさ、すなわち縦サイズ(高さ)と横サイズ(幅)とに基づいて、肌色領域の実際の大きさ(実空間上における大きさ)を推定し、推定した肌色領域の大きさ(推定実寸)に基づいて、肌色領域が人物の顔に相当する領域であるか否かを判断する。具体的には、制御装置104は、次式(3)により、肌色領域の長辺の推定実寸を算出する。
【0029】
次式(3)において、Dは被写体距離、Pixelは肌色領域の長辺の画素数、fは焦点距離を表している。また、本実施の形態では、受光センサー102の画素ピッチが0.9mmであるため、分子に0.9をかけている。
推定実寸=0.9×D×Pixel/f ・・・(3)
【0030】
例えば、図7に示すように肌色領域の縦方向の辺が長辺となる場合には、Pixelには肌色領域の縦方向の画素数が代入され、式(3)によって肌色領域の縦方向(y方向)の推定実寸yが算出される。一方、肌色領域の横方向の辺が長辺となる場合には、Pixelには肌色領域の横方向の画素数が代入され、式(3)によって肌色領域の横方向(x方向)の推定実寸xが算出される。
【0031】
制御装置104は、算出した長辺の推定実寸が、人物の顔とみなすことができる所定の長さの範囲内、例えば120mmから300mmの範囲内にある場合に、肌色領域は人物の顔に相当する領域であると判断する。例えば、図7に示す例において、肌色領域4aの長辺である縦方向の辺の長さが6である場合、すなわち肌色領域4aの縦方向の画素数が6には、式(3)におけるPixelには6が代入される。この場合に、さらに被写体距離D=960mm、焦点距離f=28である場合には、式(3)により推定実寸y=0.9×960×6/28=185mmとなる。
【0032】
この肌色領域4aの推定実寸yの算出結果は、上記閾値(120mmから300mm)の範囲内であるため、制御装置104は、肌色領域4aは人物の顔に相当する領域であると判定する。
【0033】
(方法C)
方法Cでは、制御装置104は、図8に示すように、肌色領域の縦サイズ(Pixel_Y)と横サイズ(Pixel_X)を算出し、これらの比(Pixel_X/Pixel_Y)を肌色領域の縦横比として算出する。そして、制御装置104は、算出した縦横比が人物の顔とみなすことができる比率の範囲内、例えば1.5から2の範囲内である場合には、肌色領域は人物の顔に相当する領域であると判断する。
【0034】
例えば、図8に示す例において、肌色領域4aの縦横比が8/5=1.6であり、肌色領域4bの縦横比が6/5=1.2である場合には、制御装置104は、肌色領域4aは人物の顔に相当する領域であると判断し、肌色領域4bは人物の顔に相当する領域ではないと判断する。
【0035】
制御装置104は、上記(方法A)から(方法B)の方法のうち、あらかじめ設定されたいずれかの方法により、受光画像内に人物の顔に相当する肌色領域が含まれていると判断した場合には、その人物の顔に相当する肌色領域を人物の顔領域として特定する。そして、制御装置104は、特定した顔領域に基づいて、受光画像内における人物の体の検出を行う。具体的には、制御装置104は、図9(a)に示すように、受光画像内で特定した顔領域9aの下部に、人物の体を検出するための体検出領域9bを設定する。例えば、制御装置104は、顔領域9aの下部に、顔領域9aの所定倍の体検出領域9bを設定する。
【0036】
制御装置104は、図3に示した色相環を45度幅で8象限に区分する。これによって、色相環は、図9(b)に示すように、0度≦hue<45度の第1象限9c、45度≦hue<90度の第2象限9d、90度≦hue<135度の第3象限9e、135度≦hue<180度の第4象限9f、180度≦hue<225度の第5象限9g、225度 ≦hue<270度の第6象限9h、270度≦hue<315度の第7象限9i、315度≦hue<360度の第8象限9jに区分される。
【0037】
制御装置104は、体検出領域9b内の各画素を上記各象限ごとに2値化する。すなわち、制御装置104は、上記各象限ごとに、体検出領域9b内の各画素のうち、Hueの角度がその象限のHueの角度の範囲内にある画素を白画素とし、それ以外の画素を黒画素としたマスク画像を生成する。これによって、第1象限のマスク画像9kから第8象限のマスク画像9rが生成される。
【0038】
制御装置104は、生成した各象限のマスク画像のそれぞれについて、マスク画像内の白画素の重心位置に基づいて、白画素の重心周りの慣性モーメントを算出する。これによって、第1象限のマスク画像9kの白画素の重心周りの慣性モーメント〜第8象限のマスク画像9rの白画素の重心周りの慣性モーメントが算出される。なお、2値化して得たマスク画像における白画素の重心周りの慣性モーメントの算出方法については、公知のため詳細な説明を省略するが、例えば、白画素の重心からの画素距離の2乗×0または1の濃度値の和により算出することができる。
【0039】
そして、制御装置104は、次式(4)により、各マスク画像を体検出用のマスク画像として採用するか否かを判定するための評価値を算出する。
評価値=白画素面積/白画素の重心周りの慣性モーメント ・・・(4)
なお、白画素面積とは、各マスク画像内における白画素で構成される領域の面積をいう。
【0040】
制御装置104は、式(4)により算出した評価値が最も大きいマスク画像を体検出用のマスク画像として選択する。そして、選択した体検出用のマスク画像内の白画素で構成される領域を人物の体に相当する領域(体領域)として検出する。例えば、図9(b)においては、各マスク画像の横に記載されている数値はそれぞれのマスク画像の評価値を表している。よって、この図9(b)に示す例では、最も評価値が大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが体領域として検出されることになる。
【0041】
以上の処理によって、制御装置104は、受光センサー102から出力される受光画像に基づいて、被写体としての人物の顔と体とを検出して、受光画像内における人物を検知することができる。
【0042】
なお、制御装置104は、被写体としての人物が複数いる場合であっても、上記処理によって、受光画像内から各人物を検知することができる。例えば、図10(a)に示すように、被写体として2人の人物がいる場合には、図10(b)に示すように、上述した処理によって受光画像内から人物の顔に相当する肌色領域、すなわち人物の顔領域10aと10bとを検出する。
【0043】
制御装置104は、検出した顔領域10aと10bのそれぞれの下部に、体検出領域10cと10dとを設定する。そして、制御装置104は、体検出領域10cと10dとのそれぞれについて、上述した第1象限のマスク画像9kから第8象限のマスク画像9rを生成する。図10(c)は、体検出領域10cについて生成した第1象限のマスク画像9kから第8象限のマスク画像9rを示し、図10(d)は、体検出領域10dについて生成した第1象限のマスク画像9kから第8象限のマスク画像9rを示している。
【0044】
制御装置104は、図10(c)に示した各マスク画像について、式(4)により評価値を算出し、算出された評価値が最も高いマスク画像を顔領域10aに対応する体検出用のマスク画像として選択する。例えば、図10(c)に示す例では、評価値が最も大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが顔領域10aに対応する人物の体領域として検出される。
【0045】
また、制御装置104は、図10(d)に示した各マスク画像について、式(4)により評価値を算出し、算出された評価値が最も高いマスク画像を顔領域10bに対応する体検出用のマスク画像として選択する。例えば、図10(d)に示す例では、評価値が最も大きい第1象限のマスク画像9kが体検出用のマスク画像として選択され、当該マスク画像9k内の白画素領域9sが顔領域10bに対応する人物の体領域として検出される。
【0046】
図11は、本実施の形態におけるカメラ100の処理を示すフローチャートである。図11に示す処理は、受光センサー102から受光画像が入力されると起動するプログラムとして、制御装置104によって実行される。
【0047】
ステップS10において、制御装置104は、式(1)を用いて、受光画像の各画素ごとに、R、G、Bの各値を色相(Hue)の角度に変換する。その後、ステップS20へ進み、制御装置104は、受光画像内から、Hueの角度が人物の肌の色を表す範囲内、例えば180度から220度の範囲内にある画素を抽出することによって、受光画像内から肌色領域を抽出する。その後、ステップS30へ進む。
【0048】
ステップS30では、制御装置104は、上述したラベリング処理を行うことによって、受光画像内の各肌色領域にラベルを付すことにより、各肌色領域を区別し、ステップS40へ進む。ステップS40では、制御装置104は、上述した(方法A)から(方法C)のいずれかの方法によって、各肌色領域が人物の顔に相当する領域であるか否かを判断する。ステップS40で否定判断した場合には、処理を終了する。これに対して、ステップS40で肯定判断した場合には、ステップS50へ進む。
【0049】
ステップS50では、制御装置104は、受光画像内に含まれる人物の顔に相当する肌色領域を人物の顔領域として特定して、ステップS60へ進む。ステップS60では、制御装置104は、図9(a)に示したように、受光画像内で特定した顔領域9aの下部に、人物の体を検出するための体検出領域9bを設定する。その後、ステップS70へ進み、制御装置104は、色相環を45度幅で8象限に区分し、各象限ごとに体検出領域9b内の画像のマスク画像を生成する。その後、ステップS80へ進む。
【0050】
ステップS80では、制御装置104は、各マスク画像ごとにマスク画像内の白画素の重心位置に基づいて、白画素の重心周りの慣性モーメントを算出し、式(4)により評価値を算出する。その後、ステップS90へ進み、制御装置104は、8つのマスク画像の中から式(4)により算出した評価値が最も大きいマスク画像を体検出用のマスク画像として選択し、当該体検出用のマスク画像内の白画素領域を体領域として検出してステップS100へ進む。
【0051】
ステップS100では、制御装置104は、ステップS50で検出した全ての顔領域を対象として、ステップS60からステップS90の処理を完了したか否かを判断する。ステップS100で否定判断した場合には、ステップS60へ戻って処理を繰り返す。これに対して、ステップS100で肯定判断した場合には、処理を終了する。
【0052】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)制御装置104は、受光画像内から人物の肌の色の画素で構成される肌色領域を抽出し、(方法A)から(方法C)のいずれかの方法により肌色領域が人物の顔に相当する領域であるか否かを判定するようにした。これによって、受光画像内で人物の顔が横を向いていたり、画像内での顔のサイズが小さい場合でも、人物の顔を検出することができる。
【0053】
(2)制御装置104は、肌色領域を人物の顔に相当する顔領域であると判定した場合に、顔領域の下部に体検出領域を設定し、色相環を45度幅で8象限に区分した各象限ごとに、体検出領域内の画像のマスク画像を生成した。そして、制御装置104は、各マスク画像ごとに式(4)を用いて評価値を算出し、算出した評価値が最も大きいマスク画像内の白画素領域を体領域として検出するようにした。これによって、人物の体は顔の下部にあることを加味して、マスク画像の生成範囲を限定することができ、処理を高速化することができる。また、式(4)によって算出される評価値は、白画素面積が大きく、かつ白画素の重心周りの慣性モーメントが小さいほど大きくなる。このため、評価値が最も大きいマスク画像を体検出用のマスク画像として選択することにより、白画素面積が大きく、さらに人物の体を示す白画素が他のマスク画像よりもまとまって存在しているマスク画像を体検出用のマスク画像として選択され、人物の体の検出精度を向上することができる。
【0054】
―変形例―
なお、上述した実施の形態のカメラは、以下のように変形することもできる。
(1)上述した実施の形態では、制御装置104は、(方法A)から(方法C)のうちあらかじめ設定されているいずれか1つの方法を用いて肌色領域が人物の顔に相当する領域であるか否かを判断する例について説明した。しかしながら、2つ以上の方法を組み合わせて判断を行うようにしてもよい。
【0055】
例えば、制御装置104は、(方法A)から(方法C)のうちの2つ、または3つの方法を用いて判断を行い、いずれか1つの方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。あるいは、全ての方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。
【0056】
また、制御装置104は、(方法A)から(方法C)の全ての方法を用いて判断を行いた場合には、そのうちの2つ以上の方法において、肌色領域は人物の顔に相当する領域であるという判断結果を得られた場合に、最終的に肌色領域は人物の顔に相当する領域であると判断するようにしてもよい。
【0057】
(2)上述した実施の形態では、制御装置104は、受光画像内から肌色領域を抽出し、(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔領域であるか否かを判断する例について説明した。しかしながら、制御装置104は、肌色領域が顔領域であるか否かを判断する前に、受光画像に対して公知のモルフォロジー処理を実行することにより、あらかじめ顔領域である可能性が低い肌色領域を排除するようにしてもよい。
【0058】
例えば、図2、図4、および図5を用いて説明したように、図4(a)においては、肌色領域4aは人物の顔に相当するが、肌色領域4bは人物の手に相当する。この場合に、上述した実施の形態では、肌色領域4aと4bとのそれぞれを対処として、(方法A)から(方法C)のいずれかの方法によって、肌色領域が人物の顔領域であるか否かを判断した。しかしながら、あらかじめモルフォロジー処理によって人物の顔領域ではない肌色領域4bを(方法A)から(方法C)のいずれかの方法による判断対象から除外するようにすれば、処理の高速化を図ることができる。
【0059】
具体的には、制御装置104は、図12(a)に示すような構造要素(Structure Element)を用いたモルフォロジー処理を行うことにより、図12(b)に示す肌色領域12aと12bのうち、人物の手に相当する肌色領域12bを排除する。これによって、図12(c)に示すように、(方法A)から(方法C)のいずれかの方法による判断対象を肌色領域12aのみに絞り込むことができ、処理の高速化を図ることができる。
【0060】
また、肌色領域を対象としてモルフォロジー処理を施すことにより、肌色領域の内部に穴が開いていたり、肌色領域の輪郭に凹凸がある場合に、これらを整形して、肌色領域の形状を整えることができるという効果も得ることができる。
【0061】
(3)上述した実施の形態では、本発明をカメラに適用する場合について説明した。しかしながら、本発明は、画像を読み込んで処理することができる他の装置、例えばパソコンや携帯端末などに適用することも可能である。この場合、図11に示した処理をパソコン等のCPUが実行するようにすればよい。
【0062】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【図面の簡単な説明】
【0063】
【図1】カメラ100の一実施の形態の構成を示すブロック図である。
【図2】受光センサー102における受光素子の配置例を示す図である。
【図3】色相環の具体例を示す図である。
【図4】受光画像における肌色領域の具体例を示す図である。
【図5】ラベリング処理の結果を示す図である。
【図6】充足率を用いた判断方法の具体的を示す図である。
【図7】推定実寸の算出例を示す図である。
【図8】肌色領域の縦サイズと横サイズの具体例を示す図である。
【図9】体検出領域の設定例、およびマスク画像の具体例を示す図である。
【図10】複数の人物がいる場合の体検出の具体例を示す図である。
【図11】カメラ100の処理を示すフローチャート図である。
【図12】モルフォロジー処理の具体例を示す図である。
【符号の説明】
【0064】
100 カメラ、101 操作部材、102 受光センサー、103 撮像素子、104 制御装置、105 メモリカードスロット、106 モニタ
【特許請求の範囲】
【請求項1】
画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、
前記肌色領域が楕円形状をしているかを判定するための充足率と、前記肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、前記肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、
前記算出手段で算出した前記指標に基づいて、前記肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記算出手段は、前記肌色領域の縦横比を前記指標として算出することを特徴とする画像処理装置。
【請求項3】
請求項1または2に記載の画像処理装置において、
前記画像に対してモルフォロジー処理を施すモルフォロジー処理実行手段をさらに備え、
前記算出手段は、前記モルフォロジー処理実行後の画像を対象として前記指標を算出することを特徴とする画像処理装置。
【請求項4】
請求項1〜3のいずれか一項に記載の画像処理装置において、
前記判定手段が前記肌色領域を人物の顔に相当する顔領域であると判定した場合に、前記顔領域の下部に存在する人物の体を検出する体検出手段をさらに備えることを特徴とする画像処理装置。
【請求項5】
画像を取得する画像取得手段と、
前記画像取得手段で取得した画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、
前記肌色領域が楕円形状をしているかを判定するための充足率と、前記肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、前記肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、
前記算出手段で算出した前記指標に基づいて、前記肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とするカメラ。
【請求項1】
画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、
前記肌色領域が楕円形状をしているかを判定するための充足率と、前記肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、前記肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、
前記算出手段で算出した前記指標に基づいて、前記肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記算出手段は、前記肌色領域の縦横比を前記指標として算出することを特徴とする画像処理装置。
【請求項3】
請求項1または2に記載の画像処理装置において、
前記画像に対してモルフォロジー処理を施すモルフォロジー処理実行手段をさらに備え、
前記算出手段は、前記モルフォロジー処理実行後の画像を対象として前記指標を算出することを特徴とする画像処理装置。
【請求項4】
請求項1〜3のいずれか一項に記載の画像処理装置において、
前記判定手段が前記肌色領域を人物の顔に相当する顔領域であると判定した場合に、前記顔領域の下部に存在する人物の体を検出する体検出手段をさらに備えることを特徴とする画像処理装置。
【請求項5】
画像を取得する画像取得手段と、
前記画像取得手段で取得した画像内から人物の肌の色の画素で構成される肌色領域を抽出する抽出手段と、
前記肌色領域が楕円形状をしているかを判定するための充足率と、前記肌色領域の実空間上における大きさである推定実寸の少なくとも一方を、前記肌色領域が人物の顔に相当する領域であるか否かを判定するための指標として算出する算出手段と、
前記算出手段で算出した前記指標に基づいて、前記肌色領域が人物の顔に相当する顔領域であるか否かを判定する判定手段とを備えることを特徴とするカメラ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−55468(P2010−55468A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−221196(P2008−221196)
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]