説明

画像処理装置、画像処理システム、画像処理方法、及びプログラム

【課題】利用者が顔を動かすことにより表示画面中の画像を移動させている際に、利用者が体勢等を変更しても、容易に表示画面の基準位置に該画像を配置させることができ、体勢変更後も画像の移動を容易に継続することができる。
【解決手段】利用者を撮像した撮像画像から利用者の顔の特徴部を検出すると共に、該利用者の顔の向きを検出し、該撮像画像から該利用者の予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに検出された特徴部の位置を基準点としてRAM24に記憶し、RAM24に記憶された最新の基準点を基準とした特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御し、上記予め定められた顔の向きが検出されたときに、表示画面の予め定められた基準位置に画像が配置されるように画像の表示を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、利用者の顔の特徴部の動きを認識する画像処理装置、画像処理システム、画像処理方法、及びプログラムに関するものである。
【背景技術】
【0002】
従来、例えば、図8に示すように、カメラ210等の撮像手段で、利用者の顔を撮像し、撮像した画像に基づいて、顔の中の鼻や口等の動きを認識し、その動き応じて表示画面216中に表示された画像(ポインタ等)218を移動させる手法が提案されている(例えば、特許文献1及び特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−93089号公報
【特許文献2】特開2009−31368号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の手法によれば、ポインタ218を動かしている際に、利用者が(画像218を動かす目的ではなく)体勢を変えた場合にも、ポインタ218が移動してしまうため、不便が生じることがあった。
【0005】
具体的には、例えば、利用者が姿勢を正した状態から、椅子に深く腰をかけて左下に沈んだ体勢をとった場合には、その体勢変更によって、認識対象の鼻等が動いてしまうため、その動きと共にポインタ218が表示画面216の左端に移動してしまい、利用者が、その体勢のままポインタ218を表示画面216の右上に移動させようとして通常通りの量だけ顔を動かしても、意図する位置まで届かない、或いは利用者がポインタ218を見失う等の問題が生じていた。
【0006】
本発明は、上述した課題を解決するために提案されたものであり、利用者が顔を動かすことにより表示画面中の画像を移動させている際に、利用者が体勢等を変更しても、容易に表示画面の基準位置に該画像を配置させることができ、体勢変更後も画像の移動を容易に継続することができる画像処理装置、画像処理システム、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の画像処理装置は、利用者を撮像した撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段と、前記撮像画像から前記利用者の顔の向きを検出する向き検出手段と、前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段と、前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段と、前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段と、を備えている。
【0008】
また、本発明の画像処理システムは、利用者を撮像する撮像手段と、前記撮像手段により撮像された撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段と、前記撮像画像から前記利用者の顔の向きを検出する向き検出手段と、前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段と、前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段と、前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段と、を備えている。
【0009】
また、本発明の画像処理方法は、利用者を撮像した撮像画像から利用者の顔の特徴部を検出すると共に、前記利用者の顔の向きを検出し、前記撮像画像から前記利用者の予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに検出された特徴部の位置を基準点として記憶手段に記憶し、前記記憶手段に記憶された最新の基準点を基準とした前記特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御し、前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御するものである。
【0010】
また、本発明のプログラムは、コンピュータを、利用者を撮像した撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段、前記撮像画像から前記利用者の顔の向きを検出する向き検出手段、前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段、前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段、及び前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段、として機能させるためのプログラムである。
【発明の効果】
【0011】
以上説明したように、本発明によれば、利用者が顔を動かすことにより表示画面中の画像を移動させている際に、利用者が体勢等を変更しても、容易に表示画面の基準位置に該画像を配置させることができ、体勢変更後も画像の移動を容易に継続することができる、という効果を奏する。
【図面の簡単な説明】
【0012】
【図1】実施の形態に係る画像処理システム、画像処理システムに接続された処理装置及びモニタを示す図である。
【図2】画像処理装置の構成の一例を示す図である。
【図3】画像処理装置で行われる顔検出処理の流れを示すフローチャートの一例である。
【図4】顔及び顔パーツ検出について説明する説明図である。
【図5】検出された利用者の顔パーツ領域及び顔領域を模式的に示すと共に、該検出結果に応じたポインタの表示位置を模式的に示す図である。
【図6】(A)は顔を傾けた状態で顔全体を移動させたときのポインタの表示制御例を示す図であり、(B)は、顔が正面を向いた状態で顔全体を移動させたときのポインタの表示制御例を示す図である。
【図7】モニタの表示画面を複数個の画面領域により構成し、基準位置が複数個の画面領域の各々に個別に設定されている様子を示す図である。
【図8】利用者が顔を動かすことによりポインタを動かす従来の技術を説明するための説明図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0014】
図1には、本実施の形態に係る画像処理システム1と、画像処理システム1に接続された処理装置14と、モニタ16とが示されている。
【0015】
画像処理システム1は、カメラ10及び画像処理装置12を備えている。画像処理システム1において、まず、カメラ10により利用者の顔を認識対象物30として撮像し(図1では、利用者の後頭部が図示されているが、本実施の形態では、カメラ10に向けられた利用者の顔が認識対象物30とされる)、画像処理装置12において撮像された画像から利用者の顔を検出し、検出結果を処理装置14に出力する。処理装置14は、出力された検出結果に基づいて、表示手段としてのモニタ16の表示画面16aに表示する画像(本実施の形態ではポインタ)18を移動する。処理装置14は、例えば、パーソナルコンピュータであってもよい。
【0016】
図2には、画像処理装置12の構成が示されている。
【0017】
画像処理装置12は、CPU(Central Processing Unit)20、ROM(Read Only Memory)22、及びRAM(Random Access Memory)24を備え、それらがバス(不図示)を介して相互に接続されて構成された一般的なコンピュータにより構成されている。更に又、画像処理装置12は、画像処理用メモリ26を備えている。
【0018】
ROM22に記憶されているプログラムはCPU20の起動時にRAM24にロードされ、CPU20がROM22に記憶されたプログラムを実行することで、画像処理装置12全体を制御すると共に後述する顔検出処理(図3も参照。)を実行するよう構成されている。ROM22はフラッシュメモリにより構成されていてもよい。なお、CPU20が実行するプログラム格納用の記憶媒体はROM22に限定されない。例えば、HDD(Hard Disk Drive)であってもよいし、着脱可能なUSBメモリであってもよいし、通信ネットワークに接続された記憶装置であってもよい。
【0019】
画像処理用メモリ26には、カメラ10で撮像された撮像画像を表わす画像データが一時的に記憶される。CPU20は、画像処理用メモリ26に記憶された画像データを対象として画像処理を行って、処理結果(検出結果)を処理装置14に出力する。
【0020】
なお、図示は省略するが、処理装置14は、CPU、RAM、ROM、及び各種設定を指定するための指定手段を備えて構成されている。システム管理者は、例えば、モニタ16の表示画面16aの大きさや、顔検出の精度等の各種設定を指定手段により指定し、指定された設定は、処理装置14から画像処理装置12に入力される。画像処理装置12は、入力された設定に従って動作する。例えば、入力された表示画面16aの大きさの情報に基づいて、処理装置14に対して出力する認識結果の座標値のスケールを調整するようにしてもよい。また、入力された顔検出の精度を示す精度情報が、例えば、精度優先であるか、速度優先であるかに応じて、顔検出の際の解像度を調整したり、或いは検出する顔サイズに制限を設けたりしてもよい。なお、こうした設定は一例であって、これらに限定されるものではない。
【0021】
なお、処理装置14に画像処理装置12からカメラ10で撮像された撮像画像の画像データが入力されるようにしてもよい。これにより、モニタ16において、カメラ10で撮像された撮像画像の表示も可能となる。なお、撮像画像は、モニタ16の表示画面16aに表示してもよいし、表示しなくてもよい。
【0022】
撮像画像を撮影するカメラ10は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を含んでおり、被写体を連続的に撮像可能に構成されている。撮像された撮像画像を表わす画像データは、逐次画像処理装置12に入力され、画像処理用メモリ26に一時的に格納される。
【0023】
図3は、画像処理装置12で行われる顔検出処理の流れを示すフローチャートの一例である。本処理は、顔検出処理の開始指令が処理装置14から入力された場合など、本システムの機能が開始されたときに起動される。なお、下記ステップ116が開始されて利用者が顔を動かすまでは、モニタ16の表示画面16aの予め定められた基準位置(本実施の形態ではモニタ16の表示画面16aの中心の座標位置)にポインタ18が表示された状態が継続するものとする。また、以下で、単に「位置」といった場合には、XY座標系における絶対位置を示し、「何らかの点を基準とした位置」といった場合、或いは、「相対位置」といった場合には、XY座標系において何らかの点を基準とする相対位置を示すものとする。
【0024】
ステップ100では、カメラ10から入力された画像データを画像処理用メモリ26から読み出し、該画像データに画像処理を施すことで、該画像データが表わす撮像画像から顔があると予測される予測顔検出領域40を求める(顔領域予測)。ここで処理した撮像画像を初期画像と呼称する。
【0025】
ここでは、Hue(色相)と、Sat(彩度)と、Lum(輝度)とを用いて、顔の位置と大きさを予測する。具体的には、色相、彩度及び輝度の各々について、撮像画像に含まれる人の顔(肌色)に相当する画素値(色相値、彩度値、輝度値)を有する画素の度数分布を示すヒストグラムをX軸及びY軸の各々の方向で生成し、色相、彩度及び輝度の各々のヒストグラムの論理和をとって、人の顔が存在すると予測される領域を求める。このような処理により、図4(A)に示すように、認識対象物30に対して予測顔検出領域40が定まる。
【0026】
続いて、ステップ102では、上記予測顔検出領域40から、目、鼻、口(以下、顔パーツと称する)があると予測される予測顔パーツ領域42を求める(顔パーツ領域予測)。これは、人の顔であれば、顔の上部の左右に目があり、中心付近に鼻があり、下部に口がある、といったように、顔に対する各顔パーツのおおよその相対位置は定まるため、この相対的な位置情報を予めROM22に記憶しておき、この位置情報と、上記予測顔検出領域40の顔の大きさとに応じて予測する。これにより、図4(B)に示すように、予測顔検出領域40に対して、目、鼻、口に対応した予測顔パーツ領域42が求められる。なお、ここでは、目、鼻、口を顔パーツの具体例として説明するが、これに限定されるものではなく、これ以外の顔パーツとして、例えば、眉が含まれていてもよい。
【0027】
ステップ104では、初期画像における上記予測顔パーツ領域42から、各顔パーツ(顔パーツ領域44)を検出する。例えば、ステップ100と同様に、目を検出する場合には、目があると予測される予測顔パーツ領域42において、色相、彩度及び輝度の各々について、撮像画像に含まれる目に相当する画素値(色相値、彩度値、輝度値)を有する画素の度数分布を示すヒストグラムをX軸及びY軸の各々の方向で生成し、色相、彩度及び輝度の各々のヒストグラムの論理和をとって、目が存在すると予測される領域を求める。或いは、パターンマッチング等の手法を用いてもよい。これにより、図4(C)に示すように、各顔パーツについて、顔パーツ領域44が検出される。
【0028】
ステップ106では、初期画像から全ての顔パーツが検出できたか否かを判断する。ここで否定判断した場合には、利用者の顔が、カメラ10に対して正面を向いていなかったと判断されるため、再度ステップ100に戻り、上記処理を繰り返す。
【0029】
ステップ106で肯定判断した場合には、利用者の顔がカメラ10に対して正面を向いた状態で顔パーツの各々が検出されたと判断されるため、ステップ108に進み、検出した顔パーツ領域44を示す領域情報をRAM24に記憶して設定する。領域情報には位置を示す情報や大きさを示す情報などが含まれる。この領域情報は、後述するトラッキング中、変化がある毎に逐次更新される。
【0030】
続いて、ステップ110では、設定された顔パーツ領域44の各々に基づいて、顔領域46を設定する。前述したように、人の顔であれば、顔の上部の左右に目があり、中心付近に鼻があり、下部に口がある、といった、各顔パーツの顔に対するおおよその相対位置は定まるため、該位置情報に従って、上記ステップ102とは逆に、顔パーツ領域44から正確な顔の領域を求める。そして、検出した顔領域46を示す領域情報をRAM24に記憶して設定する。なお、この領域情報も後述するトラッキング中、変化がある毎に更新される。
【0031】
ステップ112では、上記初期画像から検出された複数の顔パーツ領域44のうち、予め定められた顔パーツ領域44(本実施の形態では、鼻領域とする)の位置(本実施の形態では、重心位置)を基準点48とし、該基準点48の位置情報をRAM24に記憶して設定する。鼻領域は本願発明の顔の特徴部に対応する。
【0032】
なお、ここでは、顔の特徴部として鼻領域を例に挙げたが、特徴部は、口領域であってもよいし、左目領域、或いは右目領域であってもよい。また、左目領域と右目領域に挟まれた領域(例えば、左目領域の左端と、右目領域の右端の中間点を含む領域或いは中間点そのもの)であってもよい。
【0033】
また、鼻領域の位置を鼻領域の重心位置としたが、これに限定されず、例えば、鼻領域の左上端部の位置としてもよいし、右下端部の位置としてもよいし、鼻が有する2つの外鼻孔の中間点の位置としてもよい。
【0034】
ステップ114では、上記設定した基準点48の上記顔領域46に対する相対位置の情報(以下、基準点相対位置情報)をRAM24に記憶して保持する。初期画像から全ての顔パーツの顔パーツ領域44が検出された場合には、利用者はカメラ10に対して正面を向いていると考えられ、従って、以下では、この基準点48の相対位置を、利用者がカメラ10に対して正面を向いた状態における相対位置であるものとして取り扱う。
【0035】
これにより基準点更新領域50が定まる(図6も参照。)。本実施の形態では、基準点更新領域50は、検出された最新の顔領域46に対する基準点相対位置情報が示す相対位置から定まる位置を重心位置とする予め定められた大きさの正方形状の領域である。なお、基準点更新領域50は、顔がカメラ10に対して正面を向いているか否かを判断するために用いられる領域であるが、顔が正面を向いていることが検出されたときには後述するように基準点48が更新されるため、ここでは、該領域を基準点更新領域と呼称している。
【0036】
ステップ116では、顔パーツ及び顔のトラッキングを開始する。ここで、顔パーツ及び顔のトラッキングとは、カメラ10で連続的に或いは間欠的に撮影された撮影画像の各々から、上記検出した顔パーツ領域44及び顔領域46を検出して追跡することをいう。利用者の顔が動けば、それに従って、顔パーツ領域44及び顔領域46の位置も移動する。トラッキング方法は特に限定されず、例えば、顔パーツ領域44及び顔領域46について周知の輪郭追跡処理を行ってトラッキングしてもよいし、ステップ104及びステップ110の処理を繰り返し行ってトラッキングしてもよい。
【0037】
ステップ118で、トラッキング期間中に検出した顔パーツ領域44及び顔領域46に基づいて、顔が正面を向いているか否かを判断する。この判断方法の具体例については後述する。ここで、顔が正面を向いていないと判断した場合には、ステップ120に進み、顔パーツ領域44のいずれかが不検出になったか否かを判断する。ここで、上記顔パーツ(左目、右目、鼻、口)のいずれかの領域が検出されなくなったと判断した場合には、利用者の顔を見失ったとして、ステップ124でトラッキングを中止して、ステップ100に戻り、再度利用者の顔領域及び顔パーツの検出を行う。このとき、ポインタ18の表示位置が基準位置でない場合には、基準位置に戻るように制御される。
【0038】
本実施の形態では、顔パーツのうち鼻のみをトラッキングするだけでは、利用者とカメラ10との間を人が通った場合等においては鼻領域を誤検出する場合もあることから、本実施の形態では各顔パーツを検出するようにして、少なくとも1つが検出されなかった場合に、ステップ100に戻るようにしている。
【0039】
しかしながら、例えば、誤検出の可能性が低くなるような運用(例えば、利用者とカメラ10との間を人が通らない、等)においては、「少なくとも2つ」或いは「少なくとも3つ」が検出されなくなった場合に、ステップ100に戻るようにしてもよい。また、顔パーツのうち少なくともポインタ18を操作するために用いられる顔パーツ領域44(ここでは鼻領域)のみが検出されていればステップ100に戻らずに継続してポインタ18の操作が可能なように構成してもよい。
【0040】
一方、ステップ120で否定判断した場合には、ステップ124に進み、上記RAM24に記憶されている最新の基準点48を基準とした鼻領域の位置(基準点48に対する鼻領域の相対位置)を求め、該相対位置を示す情報(以下、相対位置情報)を、処理装置14に入力する。ここでは、鼻領域の位置を、鼻領域の重心位置としているが、前述したように重心位置に限定されないのはもちろんである。処理装置14は、表示画面16aの該入力された相対位置情報に応じた座標位置にポインタ18を移動させる。このように、画像処理装置12は、相対位置情報を処理装置14に入力することにより、モニタ16の表示画面16aに表示されたポインタ18が移動するように制御している。
【0041】
ここで、トラッキングによるポインタ18の表示制御について図5を参照して説明する。図5は、検出された利用者の顔パーツ領域44及び顔領域46を模式的に示すと共に、該検出結果に応じたポインタ18の表示結果を模式的に示す図である。
【0042】
利用者が正面を向いた状態にあり、まだ顔を動かしていない初期段階では、図5(A)に示すように、モニタ16の表示画面16aの基準位置にポインタ18が配置される。
【0043】
ここで、利用者が自分の顔を、カメラ10に対して向かって右側に回転させて顔の向きを変更したとする。これにより、図5(B)に示すように、鼻領域の位置48aが移動する。画像処理装置12は処理装置14に対して、この移動に応じた相対位置情報を入力し、処理装置14は、該相対位置情報に応じて、表示画面16aの基準位置から相対位置情報に応じた距離だけ右側の位置にポインタ18を移動させる。
【0044】
また、利用者が上側を向いた場合には、図5(C)に示すように、鼻領域の位置48bが移動する。画像処理装置12は処理装置14に対して、この移動に応じた相対位置情報を入力し、処理装置14は、該相対位置情報に応じて、表示画面16aの基準位置から相対位置情報に応じた距離だけ上側の位置にポインタ18を移動させる。
【0045】
なお、本実施の形態では、顔の向きを変えるだけでも、ポインタ18を移動させることができるが、顔を傾けた状態で顔全体を移動させることによっても、鼻領域を移動させることができる。後者の場合、顔全体の動きと顔の傾きの両方により鼻領域が移動することとなるため、各々の動きによる移動量が加算された移動量でポインタ18を移動させることができる。従って、利用者は、細かいポインタ操作或いは移動量の少ないポインタ操作を行う場合には、顔の向きを正面向きから異なる向きに傾けることでポインタ操作を行えばよいし、移動量の大きなポインタ操作を行う場合には、顔を該異なる向きに傾けた状態で、顔全体を移動させることでポインタ操作を行えばよい。
【0046】
ステップ124の後は、ステップ118に戻る。
【0047】
一方、ステップ118で、顔が正面を向いていると判断した場合には、ステップ126に進み、現在の鼻領域の重心位置の位置情報を基準点48として、RAM24に記憶して設定する。ここでは、RAM24の基準点48の位置情報を上書きして更新してもよいし、既に記憶されている位置情報とは別の記憶領域に記憶してもよい。ただし、後者の場合には、最新の基準点48の位置情報にフラグを立てる等して、最新の基準点48を識別可能に構成することが必要である。
【0048】
ステップ128では、ポインタ18の位置をリセットする。ここでは、ポインタ18が、モニタ16の表示画面16aの基準位置に配置されるように基準位置に相当する座標情報(或いはリセット命令)を処理装置14に入力して制御する。これにより、ポインタ18は、表示画面16aの基準位置に配置される。そして、ステップ118に戻る。
【0049】
すなわち、本実施の形態では、利用者が正面を向いている状態では、利用者がいくら顔を移動させて鼻領域の位置(ここでは重心位置)を移動させたとしても、基準点48がその移動と共に更新されるため、ポインタ18の表示位置は表示画面16aの基準位置から動かないのである。一方、利用者が正面方向とは異なる方向に顔を動かして顔の向きを変えた場合には、鼻領域の位置の移動に伴ってポインタ18の表示位置も移動することになる。
【0050】
なお、本実施の形態において、利用者の顔がカメラ10に対して正面を向いているか否かの判断は次のようにして行う。
【0051】
前述したように、RAM24に記憶されている基準点相対位置情報と顔領域46の位置から基準点更新領域50が定まるが、上記トラッキングにより検出される現在の鼻領域の重心位置が該基準点更新領域50外に存在する場合(図6(A)の上段の図も参照。)には、顔が正面を向いていないと判断し、鼻領域の重心位置が該基準点更新領域50以内に存在する場合(図6(B)の上段の図も参照。)には、顔が正面を向いていないと判断する。
【0052】
なお、図3に示すフローチャートに従えば、図6(A)に示すように、顔が正面を向いておらず且つ各顔パーツが検出されている状態で認識対象物30が移動して(図6(A)の30aも参照。)、鼻領域の位置が変化した場合には、ステップ118、120で否定判断されるため、最新の基準点48に対する変化後の鼻領域の位置48aの相対位置に応じてポインタ18の位置が移動する。
【0053】
また、図6(B)に示すように、顔が正面を向いた状態で、鼻領域の位置が変化した場合(顔全体がカメラ10に対して正面を向いたまま移動した場合。図6(B)の30bも参照。)には、ステップ118で肯定判断されるため、変化後の鼻領域の位置48bが最新の基準点48となるように更新されて、ポインタ18は、表示画面16aの基準位置に配置されて表示される。すなわち、ポインタ18を基準位置に静止させたままとすることができる。
【0054】
以上説明したように、本実施の形態によれば、予め定められた顔の向きが検出されたときに、基準点48を更新し、且つ表示画面16aの予め定められた基準位置にポインタ18が配置されるように制御するよう構成したため、利用者が体勢等を変更しても、利用者が手を使って何らかのリセットボタン等を押下することなく、容易に表示画面の基準位置に該画像を配置させることができ、体勢変更後も画像の移動を容易に継続することができる。
【0055】
なお、本実施の形態では、ポインタ18の基準位置を、表示画面16aの中心の位置としたが、これに限定されず、例えば、中心から若干ずれた位置であってもよいし、画像処理システム1が適用されるアプリケーションに応じて予め定めてもよいし、管理者が手動で指定してもよく、特に限定されない。
【0056】
また、本実施の形態では、画像処理用メモリ26を、カメラ10で撮像された撮像画像を表わす画像データを一時的に記憶するためのメモリとする例について説明したが、これに限定されるものではない。例えば、画像処理用メモリ26が、画像処理の過程で発生した情報を記憶する一時記憶領域として使用されるメモリであってもよい。より具体的には、例えば、撮像画像から顔があると予測される予測顔検出領域を求める際に取り出した、色相、彩度及び輝度の各々の情報を一時的に記憶するためのメモリとして使用する等である。
【0057】
また、撮像画像を表わす画像データ等は、例えば、CPUを構成するLSI内で保持することもできるため、顔パーツ検出処理等の処理過程で過去の画像データを参照しないアルゴリズムとする場合には、画像処理用メモリ26を設けない構成とすることもできる。
【0058】
また、本実施の形態では、利用者がカメラ10に対して正面を向いた状態を、「予め定められた向き」として説明したが、これに限定されるものではなく、正面向きとは異なる向きとしてもよい。
【0059】
また、ポインタ18を表示するモニタ16は、パーソナルコンピュータ等に接続されるモニタ16であってもよいし、広告等の用途で街頭に設置され、通行人等が閲覧可能な大型のモニタ16としてもよい。
【0060】
後者の場合において、例えば、図7に示すように、モニタ16の表示画面16aが複数個の画面領域17により構成され、上記基準位置が、該複数個の画面領域17の各々に個別に設定されているようにしてもよい。この場合、ポインタ18を基準位置に配置する際に、どの基準位置に配置するかは、例えば、以下のようにして定めても良い。
【0061】
予め、複数個の画面領域を示す複数の識別情報の各々に対応させて、基準位置の情報と顔領域の位置を示す位置情報とを登録したテーブルを予めROM22に記憶しておく。
【0062】
そして、上記複数個の画面領域のうち、カメラ10に対して正面方向を向いている顔の向きが検出されたときの該利用者の顔領域46の位置を示す位置情報に対応する画面領域を上記テーブルを参照して抽出し、該抽出した画面領域に対応して上記テーブルに記憶されている基準位置にポインタ18が配置されるように、該基準位置を示す情報を処理装置14に入力して、表示を制御するようにしてもよい。
【0063】
これにより、例えば、上記テーブルで、顔領域の位置と画面領域の位置とが略同じような位置となるように対応付けて登録しておけば、顔検出により、利用者の顔領域46が、カメラ10の撮像画像の右端に近い領域に存在することが検出された場合において、利用者が正面を向いたことが検出されたときには、上記複数個の画面領域のうち、右端に配置された画面領域の基準位置にポインタ18が配置されるように制御することができる。これにより、利用者の顔から遠い画面領域の基準位置にポインタ18が配置されることを抑制でき、利用者がポインタ18を見失うことを防止できる。
【0064】
なお、上記実施の形態では、ポインタ18を操作するときに用いられる顔パーツ領域44と、顔の向きを検出するために用いられる基準点更新領域50の元となる顔パーツ領域44とが共に鼻領域である場合について説明したが、これに限定されない。例えば、ポインタ18を操作するときに用いられる顔パーツ領域44と、顔の向きを検出するために用いられる基準点更新領域50の元となる顔パーツ領域44とが異なるものであってもよい。例えば、ポインタ18を操作するときに用いられる顔パーツ領域44は鼻領域とし、顔の向きを検出するために用いられる基準点更新領域50の元となる顔パーツ領域44は口領域とする、等である。この場合、例えば、ステップ114において、検出された口領域の重心位置の顔領域46に対する相対位置の情報(以下、顔パーツ相対位置情報)をRAM24に記憶して保持しておき、基準点更新領域50を、検出された最新の顔領域46に対する上記顔パーツ相対位置情報が示す相対位置から定まる位置を重心位置とする予め定められた大きさの正方形状の領域としてもよい。そして、ステップ118では、検出された最新の口領域の重心位置が該基準点更新領域50外か否かに応じて、利用者の顔が正面を向いているか否かを判断してもよい。一方、ポインタ18の移動に用いられる基準点48は鼻領域の重心位置として、上記実施の形態と同様に制御することができる。
【0065】
更にまた、顔の向きを検出するために用いられる基準点更新領域50を、異なる2つの顔パーツ領域44の各々の位置(例えば重心位置)の中間点を重心位置とする、予め定められた大きさの領域としてもよい。
【0066】
また、基準点更新領域50は正方形状でなくてもよく、長方形状であってもよいし、円形状であってもよい。
【0067】
更に又、顔の向きを検出するための手法は上記で説明した例に限定されない。例えば、特開2003−141551号公報に記載されている手法を用いてもよい。この手法を簡便に説明すると、カメラで人物の顔を撮影して得た画像データを入力して、この画像データと顔の向きに関する情報が予め記憶されている複数の顔向きテンプレートとを比較して、その画像データに撮影されている顔の向きを計算するか、又は、この画像データの特徴点を抽出してその特徴点の位置関係から顔の向きを計算する顔向き計算方法であって、3次元空間の回転における一つの回転軸を身体の中心軸とし、この中心軸回りの回転である回旋の回転角をψとし、他の2つの回転軸回りの回転角をθ,φとした場合の回転角ψ,θ,φで顔の向きを出力するものであり、上記入力された画像データの中から、最も頻度の高い顔の向きを正面向きと定義すると共に、該定義された正面向きの顔に対しては、3つの回転角ψ,θ,φの全てについて0を出力し、上記入力された画像データの中から、上記中心軸を中心にのみ回転した顔に対しては、その回転角ψを出力し、他の2つの回転角θ,φについて0に近い値を出力するものである。これにより、回転角が全て0となれば、利用者が正面を向いていると判断し、それ以外であれば、顔の向きは正面を向いていないと判断することができる。
【0068】
また、上記実施の形態では、カメラ10と画像処理装置12とを独立した装置として説明したが、カメラ10と画像処理装置12とを一体化したモジュールとして画像処理システム1を構成してもよい。更に、このモジュールが処理装置14と共通の接続インタフェースを備え、該接続インタフェースを介して処理装置14に対して着脱可能に構成されていてもよい。より具体的には、例えば、このモジュール及び処理装置14の各々が、例えばUSB(ユニバーサルシリアルバス)インタフェースを備え、USBインタフェースにより接続することで、利用者の顔を撮像してポインタの操作を行う機能の実行を可能とする構成してもよい。
【0069】
なお、本実施の形態に係る画像処理システム1は、様々なアプリケーションに適用可能であり、例えば、上述した街頭の大型モニタで広告や標識等を表示するアプリケーションに適用してもよい。その際、例えば、利用者がモニタに近づいたことを検知したときに、上記図3に示す顔検出処理のプログラムが起動して、表示画面16aにポインタ18が出現するように制御し、その後は、利用者が顔を上述したように動かすことでポインタ18を移動させる。更に、例えば、ポインタ18に移動により表示画面16aに表示されている広告の種別を指定し、表示させたい広告を切替える等のアプリケーション等にも適用できる。
【0070】
このような構成によれば、例えば、買い物等により手がふさがっている利用者も、顔を動かせば、ポインタ18を操作して表示の切り替えができるため、手を使って操作することなく所望の広告を閲覧することができ、操作性が格段に向上する。
【0071】
更に又、パーソナルコンピュータを手が不自由な人が操作する場合にも、本実施の形態の画像処理システム1は有用である。手が不自由な人であっても、顔さえ動かせば、ポインタ18を移動させることができるため、パソコン等を容易に操作することができる。
【0072】
また、ポインタ18を移動させて座標位置を指定する指定操作だけでなく、例えば、ジェスチャ操作等にも上記画像処理システム1を適用することも可能である。ジェスチャ操作は、例えば、ポインタ18で1回丸を描いた場合には、クリック、ポインタ18で2回丸を描いた場合には、ダブルクリック等のように、利用者が顔を動かして、ポインタ18を移動させて、予め定められた軌跡を描くことで、何らかの命令を入力する操作をいう。このように、上記画像処理システム1は様々なアプリケーションに適用することができる。
【符号の説明】
【0073】
1 画像処理システム
10 カメラ
12 画像処理装置
14 処理装置
16 モニタ
16a 表示画面
17 画面領域
18 ポインタ
20 CPU
22 ROM
24 RAM
26 画像処理用メモリ
30 認識対象物
40 予測顔検出領域
42 予測顔パーツ領域
44 顔パーツ領域
46 顔領域
48 基準点
50 基準点更新領域

【特許請求の範囲】
【請求項1】
利用者を撮像した撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段と、
前記撮像画像から前記利用者の顔の向きを検出する向き検出手段と、
前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段と、
前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段と、
前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段と、
を備えた画像処理装置。
【請求項2】
前記表示画面は予め定められた複数個の画面領域により構成されると共に、前記基準位置は、前記複数個の画面領域の各々に個別に設定されており、
前記第2制御手段は、前記複数個の画面領域のうち、前記向き検出手段により前記予め定められた顔の向きが検出されたときの前記利用者の顔の位置に対応する画面領域に対して設定されている基準位置に、前記画像が配置されるように前記画像の表示を制御する
請求項1に記載の画像処理装置。
【請求項3】
利用者を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段と、
前記撮像画像から前記利用者の顔の向きを検出する向き検出手段と、
前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段と、
前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段と、
前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段と、
を備えた画像処理システム。
【請求項4】
利用者を撮像した撮像画像から利用者の顔の特徴部を検出すると共に、前記利用者の顔の向きを検出し、
前記撮像画像から前記利用者の予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに検出された特徴部の位置を基準点として記憶手段に記憶し、
前記記憶手段に記憶された最新の基準点を基準とした前記特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御し、
前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する、
画像処理方法。
【請求項5】
コンピュータを、
利用者を撮像した撮像画像から該利用者の顔の特徴部を検出する特徴部検出手段、
前記撮像画像から前記利用者の顔の向きを検出する向き検出手段、
前記向き検出手段によって予め定められた顔の向きが検出される毎に、該予め定められた顔の向きが検出されたときに前記特徴部検出手段により検出された特徴部の位置を基準点として記憶手段に記憶する記憶処理手段、
前記記憶手段に記憶された最新の基準点を基準とした前記特徴部検出手段により検出された特徴部の位置に基づいて、表示画面に表示された予め定められた画像が移動するように該画像の表示を制御する第1制御手段、及び
前記向き検出手段により前記予め定められた顔の向きが検出されたときに、前記表示画面の予め定められた基準位置に前記画像が配置されるように前記画像の表示を制御する第2制御手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−109590(P2013−109590A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−254294(P2011−254294)
【出願日】平成23年11月21日(2011.11.21)
【出願人】(308033711)ラピスセミコンダクタ株式会社 (898)
【Fターム(参考)】