(57)【要約】【目的】顔の向きの変化に基づく非接触での操作の判定を高速且つ低消費電力で行うことが可能な操作判定装置を提供する。【構成】ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置であって、ユーザの顔を撮影した撮影画像を取得する画像取得部と、撮影画像に対して画像処理を行い、ユーザの顔の向きを検出する画像処理部と、を有する。画像処理部は、撮影画像内でのユーザの顔の一部を検出する第１処理部と、検出された撮影画像内でのユーザの顔の一部に基づいて、表示画像を表示する表示面に対するユーザの顔の向きを判定する第２処理部と、を含む。第１処理部は特定の検出処理を実行するハードウェアにより構成され、第２処理部は第１処理部の出力に応じた処理を実行するソフトウェアにより構成されている。【選択図】図３
2019145011.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置であって、
前記ユーザの顔を撮影した撮影画像を取得する画像取得部と、
前記撮影画像に対して画像処理を行い、前記ユーザの顔の向きを検出する画像処理部と、
を有し、
前記画像処理部は、
前記撮影画像内での前記ユーザの顔の一部を検出する第１処理部と、
検出された前記撮影画像内での前記ユーザの顔の一部に基づいて、前記表示画像を表示する表示面に対する前記ユーザの顔の向きを判定する第２処理部と、
を含み、
前記第１処理部は特定の検出処理を実行するハードウェアにより構成され、前記第２処理部は前記第１処理部の出力に応じた処理を実行するソフトウェアにより構成されていることを特徴とする操作判定装置。
【請求項２】
前記第１処理部は、前記撮影画像に対して行列演算を順次実行する複数の論理回路を含み、
前記複数の論理回路による前記行列演算の演算結果に基づいて、前記撮影画像内での前記ユーザの顔の一部を検出することを特徴とする請求項１に記載の操作判定装置。
【請求項３】
前記第１処理部は、前記ユーザの眼の周辺の輪郭の位置及び形状を前記顔の一部として検出することを特徴とする請求項１又は２に記載の操作判定装置。
【請求項４】
前記第１処理部は、前記撮影画像内での前記ユーザの眼の周辺の輪郭の位置を２次元の座標平面における位置座標に変換し、
前記第２処理部は、前記位置座標に基づいて、前記表示面に対する前記ユーザの顔の向きを判定する、
ことを特徴とする請求項３に記載の操作判定装置。
【請求項５】
前記第１処理部は、前記複数の論理回路の前記行列演算の演算結果を夫々格納する複数のメモリを含み、
前記複数の論理回路の各々は、前記複数のメモリのうちの対応するメモリから読み出したデータに基づいて、前記行列演算を実行することを特徴とする請求項２に記載の操作判定装置。
【請求項６】
前記第１処理部は、前記ユーザの眼の縁、眉間、こめかみ及び顔の横端のうちの少なくとも１つを前記顔の一部として検出することを特徴とする請求項１乃至５のいずれか１に記載の操作判定装置。
【請求項７】
前記第２処理部により判定された前記ユーザの顔の向きに基づいて、前記表示画像に対する非接触での操作を行うための操作情報を生成する操作情報生成部を有し、
前記操作情報生成部は、前記ユーザの両目の間の距離に基づいて、前記ユーザの顔が前記表示面から所定距離の範囲に位置しているか否かを判定し、所定距離の範囲に位置していると判定した場合に前記操作情報を生成することを特徴とする請求項１乃至６のいずれか１に記載の操作判定装置。
【請求項８】
ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置における操作判定方法であって、
前記ユーザの顔を撮影した撮影画像を取得するステップと、
特定の検出処理を実行するハードウェアにより、前記撮影画像内での前記ユーザの顔の一部を検出するステップと、
検出された前記撮影画像内での前記ユーザの顔の一部に基づいて、前記表示画像を表示する表示面に対する前記ユーザの顔の向きをソフトウェアにより判定するステップと、
を含むことを特徴とする操作判定方法。
【請求項９】
前記撮影画像内での前記ユーザの顔の一部を検出するステップは、
前記ハードウェアに含まれる複数の論理回路により、前記撮影画像に対して行列演算を順次実行するステップと、
前記撮影画像内での前記ユーザの顔の一部の位置を２次元の座標平面における位置座標に変換するステップと、
を含むことを特徴とする請求項８に記載の操作判定方法。
【請求項１０】
前記ユーザの眼の周辺の輪郭の位置及び形状を前記顔の一部として検出することを特徴とする請求項８又は９に記載の操作判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作判定装置及び操作判定方法に関する。
【背景技術】
【０００２】
近年、ゲーム機等において、ユーザの視線を検出し、画面上にユーザの視線位置を示すポインタやカーソルを表示させる機能を備えた装置が開発されている。ユーザは、視線の動きによってゲーム機等の操作等を行うことができる。
【０００３】
しかし、ユーザの視線を操作に用いる場合、視線の動きと連動してカーソル等が動くため、ユーザは、操作中は操作対象以外のものを見ることができず、操作対象以外のものを見るためには対象の操作を中断しなければならない。そこで、ユーザの視線ではなく頭部の動きに連動させてカーソルを動かす装置が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３５２５８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
頭部の動きを検出するためには、例えばユーザの顔を撮影した画像に対して画像処理を行い、目標となる顔の部分の位置を検出し、検出した位置を２次元の位置座標に変換する処理を行う。これらの処理は処理工程が複雑であり、計算の実行数が多い。そのため、かかる処理をソフトウェアで行う場合、処理に時間がかかり、消費電力が大きいという問題があった。
【０００６】
本発明は上記問題点に鑑みてなされたものであり、顔の向きの変化に基づく非接触での操作の判定を高速且つ低消費電力で行うことが可能な操作判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る操作判定装置は、ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置であって、前記ユーザの顔を撮影した撮影画像を取得する画像取得部と、前記撮影画像に対して画像処理を行い、前記ユーザの顔の向きを検出する画像処理部と、を有し、前記画像処理部は、前記撮影画像内での前記ユーザの顔の一部を検出する第１処理部と、検出された前記撮影画像内での前記ユーザの顔の一部に基づいて、前記表示画像を表示する表示面に対する前記ユーザの顔の向きを判定する第２処理部と、を含み、前記第１処理部は特定の検出処理を実行するハードウェアにより構成され、前記第２処理部は前記第１処理部の出力に応じた処理を実行するソフトウェアにより構成されていることを特徴とする。
【０００８】
また、本発明に係る操作判定方法は、ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置における操作判定方法であって、前記ユーザの顔を撮影した撮影画像を取得するステップと、特定の検出処理を実行するハードウェアにより、前記撮影画像内での前記ユーザの顔の一部を検出するステップと、検出された前記撮影画像内での前記ユーザの顔の一部に基づいて、前記表示画像を表示する表示面に対する前記ユーザの顔の向きをソフトウェアにより判定するステップと、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明に係る操作判定装置によれば、顔の向きの変化に基づく非接触での操作の判定を高速且つ低消費電力で行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施例のモーション操作装置の構成を示すブロック図である。
【図２】本実施例におけるカメラの配置、ディスプレイの位置、及びユーザの顔の位置を模式的に示す図である。
【図３】本実施例のモーション操作装置の画像処理部における処理ブロック及び機能ブロックを示すブロック図である。
【図４】ハードウェア処理部の構成の一部を示すブロック図である。
【図５Ａ】２次元画像から顔候補の画像が抽出される様子を模式的に示す図である。
【図５Ｂ】２次元画像中の眼の画像を模式的に示す図である。
【図５Ｃ】２次元画像中の眼の周辺部分の位置を模式的に示す図である。
【図６】操作対象選択処理の処理ルーチンを示すフローチャートである。
【図７Ａ】ユーザの視線及び顔の向きとディスプレイとの関係を模式的に示す図である。
【図７Ｂ】ユーザの視線及び顔の向きとディスプレイとの関係を模式的に示す図である。
【図７Ｃ】ユーザの視線及び顔の向きとディスプレイとの関係を模式的に示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について、図面を参照して説明する。なお、以下の各実施例における説明及び添付図面においては、実質的に同一又は等価な部分には同一の参照符号を付している。
【実施例１】
【００１２】
本実施例のモーション操作装置１００は、ディスプレイに画像を表示するとともに当該画像を視認したユーザによる操作を受け付けるゲーム機等の装置に設けられている。モーション操作装置１００は、ユーザの顔の向きの変化を表示画像に対する非接触での操作として判定する操作判定装置である。具体的には、モーション操作装置１００は、ユーザの顔を撮影した画像に基づいてユーザの顔の向きを検出し、検出した顔の向きに応じた画面上の位置にカーソルやポインタ（以下、カーソル等と称する）を表示させるための画像処理及び判定処理を行う。
【００１３】
図１は、本実施例のモーション操作装置１００の構成を示すブロック図である。モーション操作装置１００は、イメージセンサ１０、画像処理部１１及び操作情報生成部１２を有する。操作情報生成部１２は、ディスプレイの表示制御を行う表示制御部４０に接続されている。
【００１４】
イメージセンサ１０は、例えばディスプレイの周囲に配置されたカメラに搭載され、ユーザの顔面を撮影した画像を生成する撮像素子である。イメージセンサ１０はカメラの撮影により取得した撮影画像である画像データＶＤを画像処理部１１に供給する。
【００１５】
図２は、イメージセンサ１０を搭載するカメラＣＡ、ディスプレイＤＰ及びユーザの位置関係を示す図である。イメージセンサ１０を搭載するカメラＣＡは、例えばユーザから見てディスプレイＤＰの手前且つ下側の位置に配置されている。
【００１６】
カメラＣＡは、ユーザの顔を撮影し、少なくとも眼の周囲の輪郭部分の領域を含むユーザの顔画像を取得する。本実施例のモーション操作装置１００は、カメラＣＡが取得した顔画像にふくまれる眼の周囲の輪郭部分の領域に基づいて、顔の向きの検出及び操作の判定を行う。このため、本実施例のモーション操作装置１００は、図２に示すようにユーザがマスクや帽子等を装着していた場合でも操作判定を行うことが可能に構成されている。
【００１７】
再び図１を参照すると、画像処理部１１は、ハードウェア処理部２０及びソフトウェア処理部３０から構成されている。ハードウェア処理部２０は、特定の処理（すなわち、非プログラマブルな処理）を行う専用ハードウェアから構成され、論理回路部２１及びメモリ部２２を含む。ソフトウェア処理部３０は、ＣＰＵ（Central Processing Unit）等から構成され、プログラムに従った処理を行う処理部である。
【００１８】
図３は、ハードウェア処理部２０が実行する処理の処理ブロック及び所定のプログラムの実行によりソフトウェア処理部３０に形成される機能ブロックを示すブロック図である。
【００１９】
ハードウェア処理部２０は、イメージセンサ１０から供給された画像データＶＤに基づいて、カメラＣＡにより撮影された撮影画像内でのユーザの顔の位置を検出する処理（以下、顔検出処理と称する）を行う。顔検出処理は、顔候補認識処理（Ｓ１１）、眼認識処理（Ｓ１２）、眼周辺部分の認識処理（Ｓ１３）、眼の周辺部分の２Ｄ座標化処理（Ｓ１４）及び眼の２Ｄ座標化処理（Ｓ１５）を含む。
【００２０】
ハードウェア処理部２０は、イメージセンサ１０から供給された画像データＶＤに基づいて、画像データＶＤを２次元座標上に展開した２次元画像の中からユーザの顔があると想定される領域（以下、顔候補と称する）を検出し、顔候補の画像を抽出する顔候補認識処理（Ｓ１１）を行う。顔候補認識処理では、例えば２次元画像中の肌色の領域を検出することによりユーザの顔候補を検出する。
【００２１】
また、ハードウェア処理部２０は、２次元画像の中からユーザの眼を検出してその画像を抽出する眼認識処理（Ｓ１２）を行う。眼認識処理では、例えば２次元画像中の肌色の領域の内部に存在する白い領域及び黒い領域（すなわち、白目及び黒目）を検出することによりユーザの眼を検出する。
【００２２】
ハードウェア処理部２０は、顔候補認識処理（Ｓ１１）で検出した顔候補及び眼検出処理（Ｓ１２）で検出した眼の瞳部分に基づいて、眼の周辺の輪郭を検出してその画像を抽出する眼周辺部分認識処理（Ｓ１３）を行う。眼周辺部分認識処理では、眼の周辺の輪郭として、例えば瞳や眼球部分を除いた眼の枠の部分（以下、眼の縁と称する）や、眉間、こめかみ、及び眼の横（眼と同じ高さ）の顔の両端部分（以下、顔の横端と称する）を検出する。また、ハードウェア処理部２０は、眼の周辺の輪郭を構成する顔の各部分（以下、眼の周辺部分と称する）を２次元の座標平面における位置として示す眼の周辺部分の２Ｄ座標化処理（Ｓ１４）、及び２次元の座標平面における眼の瞳部分の位置を示す眼の２Ｄ座標化処理（Ｓ１５）を行う。
【００２３】
図４は、論理回路部２１及びメモリ部２２の構成と、顔候補認識処理（Ｓ１１）、眼認識処理（Ｓ１２）、眼周辺部分認識処理（Ｓ１３）、眼の周辺部分の２Ｄ座標化処理（Ｓ１４）及び眼の２Ｄ座標化処理（Ｓ１５）からなる一連の処理を実行する際の処理動作の流れとを模式的に示すブロック図である。
【００２４】
論理回路部２１は、論理回路部Ａ（図４に２１Ａとして示す）及び論理回路部Ｂ（図４に２１Ｂとして示す）から構成される。メモリ部２２は、メモリ部Ａ（図４に２２Ａとして示す）及びメモリ部Ｂ（図４に２２Ｂとして示す）から構成される。
【００２５】
論理回路部Ａ（２１Ａ）は、第１論理回路２１−１、第２論理回路２１−２、・・・第ｎ論理回路２１−ｎ（ｎは２以上の整数）からなる論理回路群と、座標化論理回路２３と、を含む。メモリ部Ａ（２２Ａ）は、第１メモリ２２−１、第２メモリ２２−２、・・・第ｎメモリ２２−ｎからなるメモリ群と、参照メモリ２４と、を含む。第１メモリ２２−１〜第２２−ｎには、第１論理回路２１−１〜第ｎ論理回路２１−ｎによる演算結果のデータが書き込まれる。一方、参照メモリ２４は、例えば座標平面情報を格納するメモリであり、第１論理回路２１−１〜第ｎ論理回路２１−ｎによるデータの書き込みを受けない。
【００２６】
第１論理回路２１−１〜第ｋ論理回路２１−ｋ（ｋはｋ＜ｎの自然数）は、第１メモリ２２−１〜第ｋメモリ２２−ｋを用いて顔候補認識処理（Ｓ１１）を実行する。その際、第１論理回路２１−１〜第ｋ論理回路２１−ｋの各々は、例えば２次元画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、顔候補の領域の輪郭を検出する。
【００２７】
顔候補認識処理（Ｓ１１）において、第１論理回路２１−１は、画像データＶＤに対して行列演算を行い、演算結果のデータを第１メモリ２２−１に格納する。第２論理回路２１−２は、第１メモリ２２−１から読み出したデータに対して行列演算を行い、演算結果のデータを第２メモリ２２−２に格納する。以下、第ｋ論理回路２１−ｋまで同様の処理を行い、顔候補認識処理の最終的な演算結果を示す画像データを第ｋメモリ２２−ｋに格納する。これにより、図５Ａに示すように、２次元画像ＣＰから顔候補の画像ＦＰが抽出される。
【００２８】
論理回路部Ｂ（２１Ｂ）は、第１論理回路２１−１〜第ｋ論理回路２１−ｋと同様の複数の論理回路からなる論理回路群２１−Ｘと、座標化論理回路２５と、を含む。メモリ部Ｂ（２２Ｂ）は、第１メモリ２２−１〜第ｋメモリ２２−ｋと同様の複数のメモリからなるメモリ群２２−Ｘと、参照メモリ２６と、を含む。メモリ群２２−Ｘには、論理回路群２１−Ｘを構成する各論理回路による演算結果のデータが書き込まれる。一方、参照メモリ２６は、例えば座標平面情報を格納するメモリであり、論理回路によるデータの書き込みを受けない。
【００２９】
論理回路群２１−Ｘ及びメモリ群２２−Ｘは、眼認識処理（Ｓ１２）を実行する。具体的には、論理回路群２１−Ｘを構成する各論理回路は、顔候補認識処理（Ｓ１１）における第１論理回路２１−１〜第ｋ論理回路２１−ｋと同様、メモリ群２２−Ｘの対応するメモリへの演算結果の格納及び読み出しを繰り返しつつ、順次行列演算を行う。これにより、図５Ｂに示すような眼の画像ＥＰが２次元画像ＣＰから抽出される。
【００３０】
論理回路部Ａ（２１Ａ）の第（ｋ＋１）論理回路２１−（ｋ＋１）〜第ｎ論理回路２１−ｎは、第（ｋ＋１）メモリ２２−（ｋ＋１）〜第ｎメモリ２２−ｎを用いて眼周辺部分認識処理（Ｓ１３）を実行する。第（ｋ＋１）論理回路２１−（ｋ＋１）〜第ｎ論理回路２１−ｎの各々は、顔候補認識処理（Ｓ１１）で抽出された顔候補の画像ＦＰ及び眼認識処理（Ｓ１２）で抽出された眼の画像ＥＰに基づいて、画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、眼の周辺部分（眼の縁、眉間、こめかみ及び顔の横端）を検出する。
【００３１】
眼周辺部分認識処理（Ｓ１３）において、第（ｋ＋１）論理回路２１−（ｋ＋１）は、第ｋメモリ２２−ｋから顔候補の画像ＦＰの画像データを読み出すとともに、メモリ群２２−Ｘのメモリから眼の画像ＥＰの画像データを読み出して行列演算を行い、演算結果のデータを第（ｋ＋１）メモリ２２−（ｋ＋１）に格納する。第（ｋ＋２）論理回路２１−（ｋ＋２）は、第（ｋ＋１）メモリ２２−（ｋ＋１）から読み出したデータに対して行列演算を行い、演算結果のデータを第（ｋ＋２）メモリ２２−（ｋ＋２）に格納する。以下、第ｎ論理回路２１−ｎまで同様の処理を行い、最終的な演算結果を第ｎメモリ２２−ｎに格納する。
【００３２】
図５Ｃは、眼周辺部分認識処理（Ｓ１３）により検出される眼の周辺部分を模式的に示す図である。眼の縁の部分が眼の縁ＥＦとして検出され、両目の間の位置が眉間ＢＥとして検出される。また、両目の目尻の近傍がこめかみＴＥとして検出され、両目の脇の肌色部分と背景との境界部分が顔の横端ＥＧとして検出される。
【００３３】
再び図４を参照すると、座標化論理回路２３は、第ｎメモリ２２−ｎ及び参照メモリ２４を用いて、眼の周辺部分の２Ｄ座標化処理（Ｓ１４）を実行する。座標化論理回路２３は、第ｎメモリ２２−ｎから眼の周辺部分（眼の縁、眉間、こめかみ及び顔の横端）の画像データを読み出し、参照メモリ２４に格納されている座標平面情報に基づいて、２次元の座標平面における眼の周辺部分の各々の位置を示す座標位置情報ＣＤ１を生成する。
【００３４】
また、座標化論理回路２５は、メモリ群２２−Ｘのメモリ及び参照メモリ２６を用いて、眼の２Ｄ座標化処理（Ｓ１５）を実行する。座標化論理回路２５は、メモリ群２２−Ｘの最終段のメモリから眼の画像データＥＰを読み出し、参照メモリ２６に格納されている座標平面情報に基づいて、２次元の座標平面における眼の位置を示す座標位置情報ＣＤ２を生成する。
【００３５】
なお、カメラＣＡの撮影範囲内（すなわち、ディスプレイＤＰの前）には、複数人が存在している場合がある。その場合、ハードウェア処理部２０は、撮影画像内の複数人の画像に基づいて、当該複数人の各々について上記の各処理（顔候補認識処理（Ｓ１１）、眼認識処理（Ｓ１２）、眼周辺部分認識処理（Ｓ１３）、眼の周辺部分の２Ｄ座標化処理（Ｓ１４）及び眼の２Ｄ座標化処理（Ｓ１５））を実行し、当該複数人についての眼の周辺部分の座標位置情報ＣＤ１及び眼の座標位置情報ＣＤ２を生成する。
【００３６】
再び図３を参照すると、ソフトウェア処理部３０は、ハードウェア処理部２０から供給された座標位置情報ＣＤ１及びＣＤ２に基づいて、ディスプレイＤＰの画面上のどの位置にユーザの顔が向いているかを判定する顔の向き判定処理を実行する。
【００３７】
ソフトウェア処理部３０には、ＣＰＵが所定のプログラムを実行することにより、顔方向ベクトル生成部３１及び２Ｄ顔方向先位置変換部３２が機能ブロックとして形成される。
【００３８】
顔方向ベクトル生成部３１は、画像データＶＤに基づく眼の周辺部分の座標情報ＣＤ１及び眼の座標情報ＣＤ２に基づいて、ユーザの瞳部分を除いた眼の周辺の顔の向きを示す顔方向ベクトルＦＶを生成する。顔方向ベクトル生成部３１は、ハードウェア処理部２０から複数人分の座標位置情報ＣＤ１及びＣＤ２が供給された場合には、当該複数人についての顔方向ベクトルＦＶを生成する。
【００３９】
２Ｄ顔方向先位置変換部３２は、眼の周辺部分の座標情報ＣＤ１及び眼の座標情報ＣＤ２に基づいて、ディスプレイＤＰからユーザまでの距離を計測（推定）する。例えば、２Ｄ顔方向先位置変換部３２は、両目の瞳の間の距離又は眼の縁の間の距離に基づいて、ユーザの顔の大きさを推定する。そして、ユーザの顔の大きさに基づいて、カメラＣＡからユーザの顔までの距離を算出し、これをディスプレイＤＰからユーザの顔までの距離として推定する。
【００４０】
２Ｄ顔方向先位置変換部３２は、推定した距離及び顔方向ベクトル生成部３１により生成された顔方向ベクトルＦＶに基づいて、ユーザの顔が向いた先の位置をディスプレイＤＰの画面上の２次元の位置に変換し、顔が向いた先の表示面上の位置を示す顔方向先位置情報ＦＰを生成する。２Ｄ顔方向先位置変換部３２は、顔方向先位置情報ＦＰを操作情報生成部１２に供給する。なお、カメラＣＡの撮影範囲内に複数人が存在する場合には、２Ｄ顔方向先位置変換部３２は、当該複数人についての顔方向先位置情報ＦＰを生成し、操作情報生成部１２に供給する。
【００４１】
操作情報生成部１２は、顔方向先位置情報ＦＰに基づいて、ユーザの顔の向きに応じた画面上の位置にカーソル等を表示させるための操作情報ＯＩを生成し、ディスプレイＤＰの表示制御を行う表示制御装置（図示せず）に供給する。
【００４２】
操作情報ＯＩの生成及び供給に際し、操作情報生成部１２は、顔の向きを変化させることによりカーソル等を移動させる操作（以下、単に操作と称する）を行う人物を特定し、操作可能な範囲を限定するための操作対象選択処理を実行する。なお、本実施例のモーション操作装置１００では、操作可能な範囲を画定する基準として、例えばディスプレイＤＰから所定距離の範囲がディスプレイＤＰの画面の大きさやカメラＣＡの位置等に応じて予め設定されている。
【００４３】
図６は、操作情報生成部１２が実行する操作対象選択処理の処理ルーチンを示すフローチャートである。
【００４４】
操作情報生成部１２は、ソフトウェア処理部３０の２Ｄ顔方向先位置変換部３２によって計測（推定）されたユーザの顔からディスプレイＤＰまでの距離の計測結果を取得する（ステップＳ１０１）。
【００４５】
操作情報生成部１２は、取得した距離の計測結果に基づいて、ユーザの顔がディスプレイＤＰの画面から所定距離の範囲内にあるか否かを判定する（ステップＳ１０２）。
【００４６】
所定距離の範囲内にないと判定すると（ステップＳ１０２：Ｎｏ）、操作情報生成部１２は、表示制御部４０を制御して、所定距離の範囲内への移動を促すメッセージをディスプレイＤＰの画面に表示させ（ステップＳ１０３）、新たな距離の計測結果を取得するのを待つ。
【００４７】
画面から所定距離の範囲内に顔があると判定すると（ステップＳ１０２：Ｙｅｓ）、操作情報生成部１２は、所定距離の範囲内に複数人の顔が存在するか否かを判定する（ステップＳ１０４）。
【００４８】
所定距離の範囲内に複数人の顔がない、すなわち１人の顔しかないと判定すると（ステップＳ１０４：Ｎｏ）、操作情報判定部１２は、その人物を操作主体として特定する（ステップＳ１０７）。
【００４９】
一方、所定距離の範囲内に複数人の顔があると判定すると（ステップＳ１０４：Ｙｅｓ）、操作情報生成部１２は、表示制御部４０を制御して、本実施例のモーション操作装置１００を用いて操作を行おうとしている人物に対して所定動作（例えば、顔を左右に振る等）を促すメッセージをディスプレイＤＰの画面に表示させる（ステップＳ１０５）。
【００５０】
操作情報生成部１２は、ソフトウェア部３０から供給された顔方向先位置情報ＦＰに基づいて、所定動作を検出したか否かを判定する（ステップＳ１０６）。所定動作を検出していないと判定された場合（ステップＳ１０６：Ｎｏ）、操作情報生成部１２は、表示制御部４０を制御して、所定動作を促すメッセージの表示を継続させる。
【００５１】
所定動作を検出したと判定すると（ステップＳ１０６：Ｙｅｓ）、操作情報生成部１２は、当該所定動作を行った人物を操作主体として特定する（ステップＳ１０７）。
【００５２】
操作情報生成部１２は、画像処理部１１から供給された顔方向先位置情報ＦＰに基づいて、操作主体についての操作情報ＯＩを生成し、表示制御部４０に供給する（ステップＳ１０８）。
【００５３】
操作情報生成部１２は、２Ｄ顔方向先位置変換部３２によって計測（推定）されたユーザの顔からディスプレイＤＰまでの距離の計測結果に基づいて、操作主体の顔の位置が所定距離の範囲から外れたか否かを判定する（ステップＳ１０９）。外れていないと判定すると（ステップＳ１０９：Ｎｏ）、操作情報ＯＩの生成及び供給を継続する。
【００５４】
操作主体の顔の位置が所定距離の範囲から外れたと判定すると（ステップＳ１０９：Ｙｅｓ）、操作情報生成部１２は、操作主体についての操作情報ＯＩの生成及び表示制御部４０への供給を停止する（ステップＳ１１０）。これにより、所定距離の範囲を外れるような動作は、無効な操作として扱われる。
【００５５】
以上のようなハードウェア処理部２０、ソフトウェア処理部３０及び操作情報判定部１２の動作により、ユーザの顔の向きを示す操作情報ＯＩが表示制御部４０に供給され、ユーザの顔の向きの変化が表示画像に対する非接触での操作（例えば、カーソル等の移動）として判定される。
【００５６】
本実施例のモーション操作装置１００では、特定の検出処理のみを実行する専用ハードウェアからなるハードウェア処理部２０が、顔候補認識処理、眼認識処理、眼周辺部分認識処理及び２Ｄ座標化処理を含む顔検出処理を実行する。これらの処理は、２次元画像全体を走査するように各ピクセルについての行列演算を繰り返し行う処理等を含むため、それ以降の処理（顔方向ベクトルの生成及び顔方向先の２Ｄ位置変換）に比べて処理工程が多い。
【００５７】
本実施例とは異なり、仮に上記の顔検出処理をソフトウェアで行った場合、ＣＰＵが各処理において共通に用いるメモリにその都度アクセスしつつ処理を行うことになるため、処理に時間がかかってしまう。これに対し、本実施例のモーション操作装置１００では、ハードウェア処理部２０が、既定の行列演算処理を実行する論理回路及び当該行列演算処理についてのデータを格納するメモリによってこれらの処理を行うため、比較的短時間で（すなわち、高速に）処理を行うことができる。また、処理時間の短縮に伴い、消費電力が低減される。
【００５８】
従って、本実施例のモーション操作装置１００によれば、ユーザの顔の向きに応じた操作判定を高速且つ低消費電力で行うことが可能となる。
【００５９】
また、本実施例のモーション操作装置１００は、眼の縁、眉間、こめかみ、顔の横端等の眼の周辺の輪郭を構成する部分、すなわち眼の周辺の顔部分のうち瞳以外の部分に基づいて顔の向きを検出し、顔の向きに応じた表示画面上の位置にカーソル等を表示させる。従って、視線の方向とは別に顔の向きを変化させて操作を行うことができるため、ユーザは操作対象以外のものを視認しながら操作を行うことができる。
【００６０】
図７Ａ〜Ｃは、ユーザの顔の向きＦＤと視線ＬＳとの関係を模式的に示す図である。図７Ａに示すように、ユーザは例えばディスプレイＤＰの画面の中央部分に視線ＬＳを向けつつ、ディスプレイＤＰの画面の左側部分の領域に顔の向きＦＤを向けることができる。また、図７Ｂに示すように、ユーザは例えばディスプレイＤＰの画面の右側部分の領域に視線ＬＳを向けつつ、ディスプレイＤＰの画面の中央部分に顔の向きＦＤを向けることができる。また、これらとは異なり、図７Ｃに示すように、ユーザは顔の向きＦＤ及び視線ＬＳを同じ方向（例えば、ディスプレイＤＰの画面の中央部分の方向）としても良い。
【００６１】
また、本実施例のモーション操作装置１００では、眼の縁、眉間、こめかみ、顔の横端等の情報を用いて顔の向きを検出する。鼻先、口、顎等の情報を用いずに顔の向きを検出するため、モーション操作装置１００は、ユーザがマスクや帽子等を着用していた場合でも顔の向きを検出することができる。
【００６２】
なお、本発明は上記実施形態に限定されない。例えば、上記実施例では、複数人の顔の向きが検出された場合、操作主体を特定するために所定動作の実行を促すメッセージを表示させる例について説明した。しかし、モーション操作装置１００を搭載するゲーム機等に設けられた音声出力部（図示せず）により、所定動作の実行を促す音声メッセージを出力させても良い。
【００６３】
また、カメラＣＡにより撮影された撮影画像内に操作主体を限定するための枠を設け、その枠の中にいる人物の顔についてのみ操作情報ＯＩを生成し、操作出力として有効となるように設定することが可能に構成されていても良い。その際、例えば枠の中央付近の位置にユーザの顔が位置した状態をスタート位置として、顔の向きの変化に応じた操作を開始するようにしても良い。
【００６４】
また、上記実施例では、眼周辺部分認識処理（Ｓ１３）において眼の縁、眉間、こめかみ及び顔の横端を検出する場合を例として説明した。しかし、必ずしもこれらの全てを検出しなくても良く、眼の縁、眉間、こめかみ及び顔の横端のうちのいずれか１つ又は複数を検出するものであれば良い。また、検出対象はこれらの部分に限られず、眼の周辺の輪郭を構成する部分（眼の周辺の顔部分のうち瞳以外の部分）のいずれかを検出するものであれば良い。
【００６５】
また、顔候補認識処理及び眼認識処理の前に、キャリブレーションを行っても良い。キャリブレーションでは、例えば、ディスプレイＤＰの正面付近の位置で待機するように促すメッセージ等をディスプレイＤＰの画面上に表示させてユーザの顔画像を予め撮影し、顔の位置及び眼の位置等の基準情報を得る。この基準情報を参照して顔候補認識処理及び眼認識処理を実行することにより、ハードウェア処理部はより円滑に一連の処理を実行することが可能となる。
【００６６】
また、上記実施例では、論理回路部２１（２１Ａ及び２１Ｂ）を構成する論理回路の各々が、１つ前の論理回路によりメモリに格納されたデータ（すなわち、１つ前の論理回路による演算結果のデータ）をメモリから読み出して行列演算を行う場合を例として説明した。しかし、これに限られず、各論理回路が２つ以上前の論理回路によりメモリに格納されたデータ（すなわち、２つ以上前の論理回路による演算結果のデータ）をメモリから読み出して行列演算を行う構成であっても良い。また、複数のメモリから読み出したデータに基づいて行列演算を行う構成であっても良い。
【００６７】
また、上記実施例では、座標化論理回路（２３、２５）が参照メモリ（２４、２６）から読み出したデータ（座標平面情報）を用いて座標位置情報ＣＤ１及びＣＤ２を生成する一方、他の論理回路（例えば、第２論理回路２１−２〜第ｎ論理回路２１−ｎ）は参照メモリを用いず、前段の論理回路がメモリに格納したデータを読み出して行列演算を行う場合を例として説明した。しかし、座標化論理回路（２３、２５）以外の他の論理回路が、参照メモリ（２４、２６）と同様のメモリ（すなわち、論理回路による書き込みを伴わないメモリ）から読み出したデータを用いて行列演算を行う構成としても良い。
【００６８】
なお、参照メモリ２４及び２６は、論理回路による書き込みを受けない一方、外部からのアクセスにより書き換え可能に構成されていても良い。例えば、ハードウェア処理部２０は特定の処理のみを実行するが、その特定の処理に用いるパラメータ等の一部は外部からの参照メモリの書き換えに応じて変更することが可能である。
【００６９】
また、上記実施例では、顔方向ベクトルＦＶの生成及び顔方向先位置情報ＦＰの生成をソフトウェア処理部が実行する場合を例として説明した。しかし、これらの処理をハードウェアにより実行しても良い。すなわち、本発明のモーション操作装置は、少なくとも画像データに基づく顔検出処理（顔候補認識処理、眼認識処理、眼周辺部分の認識処理、眼の周辺部分の２Ｄ座標化処理及び眼の２Ｄ座標化処理）をハードウェア処理部が実行すれば良く、他の処理はソフトウェア又はハードウェアのいずれの手段により実行しても良い。
【符号の説明】
【００７０】
１０  イメージセンサ
１１  画像処理部
１２  操作情報生成部
２０  ハードウェア処理部
２１  論理回路部
２２  メモリ部
３０  ソフトウェア処理部
３１  顔方向ベクトル生成部
３２  ２Ｄ顔方向先位置変換部
４０  表示制御部
【図１】
2019145011.tif 000003
【図２】
2019145011.tif 000004
【図３】
2019145011.tif 000005
【図４】
2019145011.tif 000006
【図５Ａ】
2019145011.tif 000007
【図５Ｂ】
2019145011.tif 000008
【図５Ｃ】
2019145011.tif 000009
【図６】
2019145011.tif 000010
【図７Ａ】
2019145011.tif 000011
【図７Ｂ】
2019145011.tif 000012
【図７Ｃ】
2019145011.tif 000013