(57)【要約】      （修正有）【課題】表示画像に対する非接触の操作を高速且つ低消費電力で判定することが可能な操作判定装置を提供する。【解決手段】ユーザを撮影した撮影画像を取得する画像取得部と、撮影画像に対して画像処理を行い、ユーザの視線の位置、指先の位置、及び表示画像に対する指先の動作を判定する画像処理部と、を有する。画像処理部は、撮影画像内でのユーザの眼及び指先の位置を検出する第１処理部と、検出された撮影画像内でのユーザの眼及び指先の位置に基づいて、表示面に対するユーザの視線及び指先の位置を算出し、ユーザの指先の動作を判定する第２処理部と、を含む。第１処理部は、特定の検出処理を実行するハードウェアから構成されている。第２処理部は、第１処理部の出力に応じた処理を実行するソフトウェアから構成されている。【選択図】図３
2019121191.tif 000002
【特許請求の範囲】
【請求項１】
表示画像に対してユーザが非接触で行った操作を判定する操作判定装置であって、
前記ユーザを撮影した撮影画像を取得する画像取得部と、
前記撮影画像に対して画像処理を行い、前記ユーザの視線の位置、前記ユーザの指先の位置、及び前記表示画像に対する前記ユーザの指先の動作を判定する画像処理部と、
を有し、
前記画像処理部は、
前記撮影画像内での前記ユーザの眼及び指先の位置を検出する第１処理部と、
検出された前記撮影画像内での前記ユーザの眼及び指先の位置に基づいて、前記表示画像を表示する表示面に対する前記ユーザの視線及び指先の位置を算出し、前記ユーザの指先の動作を判定する第２処理部と、
を含み、
前記第１処理部は特定の検出処理を実行するハードウェアにより構成され、前記第２処理部は前記第１処理部の出力に応じた処理を実行するソフトウェアにより構成されていることを特徴とする操作判定装置。
【請求項２】
前記第１処理部は、前記撮影画像内での前記ユーザの眼の位置及び指先の位置を２次元の座標平面における位置座標に変換し、
前記第２処理部は、前記位置座標に基づいて、前記表示面に対する前記ユーザの視線及び指先の位置を算出する、
ことを特徴とする請求項１に記載の操作判定装置。
【請求項３】
前記第１処理部は、前記撮影画像に対して行列演算を順次実行する複数の論理回路を含み、
前記複数の論理回路による前記行列演算の演算結果に基づいて、前記撮影画像内での前記ユーザの眼及び指先の位置を検出することを特徴とする請求項１又は２に記載の操作判定装置。
【請求項４】
前記第１処理部は、前記複数の論理回路の前記行列演算の演算結果を夫々格納する複数のメモリを含み、
前記複数の論理回路の各々は、前記複数のメモリのうちの対応するメモリから読み出したデータに基づいて、前記行列演算を実行することを特徴とする請求項３に記載の操作判定装置。
【請求項５】
前記画像取得部は、前記ユーザを１の方向から撮影した第１の撮影画像と、前記ユーザを他の方向から撮影した第２の撮影画像と、を取得し、
前記第１処理部は、前記第１の撮影画像内での前記ユーザの眼及び指先の位置と、前記第２の撮影画像内での前記ユーザの眼及び指先の位置と、を夫々検出し、
前記第２処理部は、前記第１の撮影画像内での前記ユーザの眼の位置及び前記第２の撮影画像内での前記ユーザの眼の位置に基づいて前記表示面に対する前記ユーザの視線を算出し、前記第１の撮影画像内での前記ユーザの指先の位置及び前記第２の撮影画像内での前記ユーザの指先の位置に基づいて前記表示面に対する前記ユーザの指先の位置を算出する、
ことを特徴とする請求項１乃至４のいずれか１に記載の操作判定装置。
【請求項６】
前記画像取得部は、前記ユーザの眼を撮影した第１の撮影画像と、前記ユーザの手を撮影した第２の撮影画像と、を取得し、
前記第１処理部は、前記第１の撮影画像内での前記ユーザの眼の位置と、前記第２の撮影画像内での前記ユーザの指先の位置と、を夫々検出し、
前記第２処理部は、前記第１の撮影画像内での前記ユーザの眼の位置に基づいて前記表示面に対する前記ユーザの視線を算出し、前記第２の撮影画像内での前記ユーザの指先の位置に基づいて前記表示面に対する前記ユーザの指先の位置を算出する、
ことを特徴とする請求項１乃至４のいずれか１に記載の操作判定装置。
【請求項７】
表示画像に対するユーザの非接触での操作を受けるモーション操作装置における操作判定方法であって、
前記ユーザを撮影した撮影画像を取得するステップと、
特定の検出処理を実行するハードウェアにより、前記撮影画像内での前記ユーザの視線及び指先の位置を検出するステップと、
前記表示画像を表示する表示面に対する前記ユーザの視線及び指先の位置をソフトウェアにより算出するステップと、
前記表示画像に対する前記ユーザの指先の動作をソフトウェアにより判定するステップと、
を含むことを特徴とする操作判定方法。
【請求項８】
前記撮影画像内での前記ユーザの視線及び指先の位置を検出するステップは、
前記ハードウェアに含まれる複数の論理回路により、前記撮影画像に対して行列演算を順次実行するステップと、
前記撮影画像内での前記ユーザの眼及び指先の位置を２次元の座標平面における位置座標に変換するステップと、
を含むことを特徴とする請求項７に記載の操作判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作判定装置及び操作判定方法に関する。
【背景技術】
【０００２】
近年、自動車等の車両にヘッドアップディスプレイ（以下、ＨＵＤと称する）が搭載され始めている。ＨＵＤは、例えば運転席前方のフロントウィンドウに映像を重畳して表示させる。このため、ＨＵＤによる表示には、運転者の視線移動を抑えつつ情報伝達ができるメリットがある。
【０００３】
しかし、ＨＵＤの表示を見て何らかの操作を行う場合、運転者はコンソール上のスイッチを用いて操作を行うため、視線を大きく外さなければならない。そこで、ユーザの手の動き等を撮影した画像に基づいてユーザの動作を判定し、何の操作がなされたのかを判定することにより、ディスプレイに表示されたスイッチ等の操作部に実際には触れていないにも関わらず、触れたような感覚で操作することが可能な装置が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１８４６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１に開示されている装置では、手の画像の画像処理、画像処理の結果に基づく操作の判定、操作に対応する表示等の処理を、装置に搭載されたコンピュータが行う。すなわち、画像処理を含む一連の処理は、ソフトウェアにより行われる。
【０００６】
しかし、手の動きを撮影した画像から操作の判定に用いる情報を生成する画像処理は、処理が複雑であり、計算の実行数が多い。そのため、かかる画像処理をソフトウェアで行う場合、処理速度に時間がかかり、消費電力が大きいという問題があった。
【０００７】
本発明は上記問題点に鑑みてなされたものであり、表示画像に対する非接触での操作を高速且つ低消費電力で判定することが可能な操作判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る操作判定装置は、表示画像に対してユーザが非接触で行った操作を判定する操作判定装置であって、前記ユーザを撮影した撮影画像を取得する画像取得部と、前記撮影画像に対して画像処理を行い、前記ユーザの視線の位置、前記ユーザの指先の位置、及び前記表示画像に対する前記ユーザの指先の動作を判定する画像処理部と、を有し、前記画像処理部は、前記撮影画像内での前記ユーザの眼及び指先の位置を検出する第１処理部と、検出された前記撮影画像内での前記ユーザの眼及び指先の位置に基づいて、前記表示画像を表示する表示面に対する前記ユーザの視線及び指先の位置を算出し、前記ユーザの指先の動作を判定する第２処理部と、を含み、前記第１処理部は特定の検出処理を実行するハードウェアにより構成され、前記第２処理部は前記第１処理部の出力に応じた処理を実行するソフトウェアにより構成されていることを特徴とする。
【０００９】
また、本発明に係る操作判定方法は、表示画像に対するユーザの非接触での操作を受けるモーション操作装置における操作判定方法であって、前記ユーザを撮影した撮影画像を取得するステップと、特定の検出処理を実行するハードウェアにより、前記撮影画像内での前記ユーザの視線及び指先の位置を検出するステップと、前記表示画像を表示する表示面に対する前記ユーザの視線及び指先の位置をソフトウェアにより算出するステップと、前記表示画像に対する前記ユーザの指先の動作をソフトウェアにより判定するステップと、を含むことを特徴とする。
【発明の効果】
【００１０】
本発明に係る操作判定装置によれば、表示画像に対する非接触での操作を高速且つ低消費電力で判定することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施例１のモーション操作装置の構成を示すブロック図である。
【図２Ａ】実施例１におけるカメラ及びフロントガラスとユーザとの位置関係を模式的に示す図である。
【図２Ｂ】実施例１におけるユーザの手及び指と表示画像との位置関係を模式的に示す図である。
【図３】実施例1の画像処理部における処理ブロック及び機能ブロックを示すブロック図である。
【図４】ハードウェア処理部の構成の一部を示すブロック図である。
【図５Ａ】顔認識処理を模式的に示す図である。
【図５Ｂ】目認識処理を模式的に示す図である。
【図５Ｃ】目認識処理を模式的に示す図である。
【図５Ｄ】目の２次元座標化処理を模式的に示す図である。
【図６Ａ】実施例２におけるカメラ及びディスプレイとユーザの目との位置関係を模式的に示す図である。
【図６Ｂ】実施例２におけるユーザと表示画像との位置関係を模式的に示す図である。
【図７】実施例２の画像処理部における処理ブロック及び機能ブロックを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について、図面を参照して説明する。なお、以下の各実施例における説明及び添付図面においては、実質的に同一又は等価な部分には同一の参照符号を付している。
【実施例１】
【００１３】
本実施例のモーション操作装置１００は、例えばヘッドアップディスプレイ（以下、ＨＵＤと称する）等の画像表示装置を有する自動車等の車両に搭載されている。モーション操作装置１００は、運転手等のユーザ（以下、単にユーザと称する）を撮影した画像に基づいて、ＨＵＤによりフロントガラスに重畳して表示された操作ボタン等の表示画像に対しユーザが非接触で行った操作を判定する操作判定装置である。
【００１４】
図１は、本実施例のモーション操作装置１００の構成を示すブロック図である。モーション操作装置１００は、センサ部１０、画像処理部１１及び操作情報判定部１２を有する。
【００１５】
センサ部１０は、イメージセンサ１０Ｌ及びイメージセンサ１０Ｒから構成されている。イメージセンサ１０Ｌ及び１０Ｒは、車両内部に設置されたカメラに搭載され、ユーザの手及び顔面を含む上半身を撮影した画像を生成する撮像素子である。
【００１６】
図２Ａは、イメージセンサ１０Ｌ及び１０Ｒを搭載するカメラ及びフロントガラスとユーザとの位置関係を示す図である。イメージセンサ１０Ｌを搭載するカメラＣＡ１は、フロントガラスＦＧの手前且つユーザから見て左斜め前方に配置されている。イメージセンサ１０Ｒを搭載するカメラＣＡ２は、フロントガラスＦＧの手前且つユーザから見て右斜め前方に配置されている。
【００１７】
ＨＵＤにより、操作ボタン等を表す表示画像ＤＩがフロントガラスＦＧに重畳して表示される。ユーザは、図２Ｂに示すように、あたかも表示画像ＤＩに触れて操作するように手及び指を動かす。カメラＣＡ１及びＣＡ２は、表示画像ＤＩを視認するユーザの顔及び表示画像ＤＩを操作するように動くユーザの手を含む画像をそれぞれ撮影する。
【００１８】
再び図１を参照すると、イメージセンサ１０ＬはカメラＣＡ１の撮影により取得した撮影画像である画像データＶＤ１を画像処理部１１に供給する。同様に、イメージセンサ１０ＲはカメラＣＡ２の撮影により取得した撮影画像である画像データＶＤ２を画像処理部１１に供給する。
【００１９】
画像処理部１１は、ハードウェア処理部２０及びソフトウェア処理部３０から構成されている。ハードウェア処理部２０は、特定の処理（すなわち、非プログラマブルな処理）を行う専用ハードウェアから構成され、論理回路部２１及びメモリ部２２を含む。ソフトウェア処理部３０は、ＣＰＵ（Central Processing Unit）等から構成され、プログラムに従った処理を行う処理部である。
【００２０】
図３は、ハードウェア処理部２０が実行する処理の処理ブロック及び所定のプログラムの実行によりソフトウェア処理部３０に形成される機能ブロックを示すブロック図である。
【００２１】
ハードウェア処理部２０は、イメージセンサ１０Ｌから供給された画像データＶＤ１に基づいて、カメラＣＡ１により撮影された撮影画像内でのユーザの顔、眼、手及び指先の位置を検出する検出処理を行う。ユーザの顔及び眼の位置を検出する検出処理は、顔認識処理（Ｓ１１）、眼認識処理（Ｓ１２）、眼の２Ｄ座標化処理（Ｓ１３）、及び顔の２Ｄ座標化処理（Ｓ１４）を含む。
【００２２】
まず、ハードウェア処理部２０は、イメージセンサ１０Ｌから供給された画像データＶＤ１に基づいて、画像データＶＤ１を２次元座標上に展開した２次元画像の中からユーザの顔を検出（すなわち、顔の画像を抽出）する顔認識処理（Ｓ１１）を行う。顔認識処理では、例えば運転席とカメラＣＡ１との位置関係等に基づいてユーザの顔面があると想定される位置や範囲を画定し、２次元画像中の対応する位置（例えば、中央部）に存在する肌色領域を検出することによりユーザの顔を認識する。
【００２３】
次に、ハードウェア処理部２０は、検出した顔の画像からユーザの眼を検出（すなわち、眼の画像を抽出）する眼認識処理（Ｓ１２）を行う。眼認識処理では、例えば顔画像中のユーザの眼があると想定される位置に存在する白い領域及び黒い領域（すなわち、白目及び黒目）を検出することによりユーザの眼を検出する。
【００２４】
眼認識処理（Ｓ１２）の実行後、ハードウェア処理部２０は、検出した眼の画像に基づいて、２次元画像上の眼の位置を表す座標位置情報を生成する２Ｄ座標化処理（Ｓ１３）を実行する。
【００２５】
図４は、論理回路部２１及びメモリ部２２の構成と、顔認識処理、眼認識処理及び２Ｄ座標化処理からなる一連の処理を実行する際の処理動作の流れとを模式的に示すブロック図である。
【００２６】
論理回路部２１は、第１論理回路２１−１、第２論理回路２１−２、・・・第ｎ論理回路２１−ｎ（ｎは２以上の整数）からなる論理回路群と、座標化論理回路２３と、を含む。メモリ部２２は、第１メモリ２２−１、第２メモリ２２−２、・・・第ｎメモリ２２−ｎからなるメモリ群と、参照メモリ２４と、を含む。第１メモリ２２−１〜第２２−ｎには、第１論理回路２１−１〜第ｎ論理回路２１−ｎによる演算結果のデータが書き込まれる。一方、参照メモリ２４は、例えば座標平面情報を格納するメモリであり、第１論理回路２１−１〜第ｎ論理回路２１−ｎによるデータの書き込みを受けない。
【００２７】
論理回路群のうちの第１論理回路２１−１〜第ｋ論理回路２１−ｋ（ｋはｋ＜ｎの自然数）は、第１メモリ２２−１〜第ｋメモリ２２−ｋを用いて顔認識処理（Ｓ１１）を実行する。その際、第１論理回路２１−１〜第ｋ論理回路２１−ｋの各々は、例えば２次元画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、顔の輪郭を検出する。
【００２８】
第１論理回路２１−１は、画像データＶＤ１に対して行列演算を行い、演算結果のデータを第１メモリ２２−１に格納する。第２論理回路２１−２は、第１メモリ２２−１から読み出したデータに対して行列演算を行い、演算結果のデータを第２メモリ２２−２に格納する。以下、第ｋ論理回路２１−ｋまで同様の処理を行い、顔認識処理の最終的な演算結果を示す顔画像データを第ｋメモリ２２−ｋに格納する。これにより、図５Ａに示すように、２次元画像ＣＰから顔画像ＦＰが抽出される。
【００２９】
論理回路群のうちの第（ｋ＋１）論理回路２１−（ｋ＋１）〜第ｎ論理回路２１−ｎは、第（ｋ＋１）メモリ２２−（ｋ＋１）〜第ｎメモリ２２−ｎを用いて眼認識処理（Ｓ１２）を実行する。その際、第（ｋ＋１）論理回路２１−（ｋ＋１）〜第ｎ論理回路２１−ｎの各々は、例えば顔画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、眼を検出する。
【００３０】
第（ｋ＋１）論理回路２１−（ｋ＋１）は、第ｋメモリ２２−ｋから顔画像ＦＰの画像データを読み出して行列演算を行い、演算結果のデータを第（ｋ＋１）メモリ２２−（ｋ＋１）に格納する。第（ｋ＋２）論理回路２１−（ｋ＋２）は、第（ｋ＋１）メモリ２２−（ｋ＋１）から読み出したデータに対して行列演算を行い、演算結果のデータを第（ｋ＋２）メモリ２２−（ｋ＋２）に格納する。以下、第ｎ論理回路２１−ｎまで同様の処理を行い、眼認識処理の最終的な演算結果を示す眼の画像データを第ｎメモリ２２−ｎに格納する。これにより、図５Ｂ及び図５Ｃに示すように、顔画像ＦＰから眼の画像ＥＰが抽出される。
【００３１】
座標化論理回路２３は、第ｎメモリ２２−ｎ及び参照メモリ２４を用いて、眼の２Ｄ座標化処理（Ｓ１３）を実行する。座標化論理回路２３は、第ｎメモリ２２−ｎから眼の画像ＥＰの画像データを読み出し、参照メモリ２４に格納されている座標平面情報に基づいて、２次元の座標平面における眼の位置を示す座標位置情報ＣＤ１を生成する。これにより、図５Ｄに示すように、眼の位置を示す座標（例えば、（Ｘ１，Ｙ１））が得られる。
【００３２】
再び図３を参照すると、ハードウェア処理部２０は、顔認識処理（Ｓ１１）により検出された顔の画像データに基づいて２Ｄ座標化処理（Ｓ１４）を実行し、２次元画像上におけるユーザの顔の位置を表す座標位置情報を生成する。例えば、座標化論理回路２３は、第ｋメモリ２２−ｋから顔画像ＥＰの画像データを読み出し、参照メモリ２４に格納されている座標平面情報に基づいて、２次元の座標平面における顔の位置を示す座標位置情報ＣＤ２を生成する。
【００３３】
以上の処理により、カメラＣＡ１により撮影された撮影画像内でのユーザの顔及び眼の位置が検出される。
【００３４】
また、ハードウェア処理部２０は、これと並行して、カメラＣＡ１により撮影された撮影画像内でのユーザの手及び指先の位置を検出する検出処理を実行する。手及び指先の位置を検出する検出処理は、手認識処理（Ｓ１５）、指先認識処理（Ｓ１６）、指先の２Ｄ座標化処理（Ｓ１７）、及び手の２Ｄ座標化処理（Ｓ１８）を含む。
【００３５】
手認識処理（Ｓ１５）では、ハードウェア処理部２０は、イメージセンサ１０Ｌから供給された画像データＶＤ１に基づいて、画像データＶＤ１を２次元座標上に展開した２次元画像の中からユーザの手を検出する。
【００３６】
図２Ａに示すように、フロントガラスＦＧに重畳して表示された表示画像ＤＩをユーザが操作しようとする場合、ユーザの手は目の位置よりも低い下方から上方に向けて伸びている。そこで、ハードウェア処理部２０は、２次元画像の下方から伸びる肌色領域を検出することにより、ユーザの手を検出する。
【００３７】
ハードウェア処理部２０の論理回路部２１を構成する前段部分の論理回路（例えば、第１論理回路２１−１〜第ｋ論理回路２１−ｋ）の各々は、顔認識処理の場合と同様、２次元画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、手の輪郭を検出する。第１論理回路２１−１は、画像データＶＤ１に対して行列演算を行い、演算結果のデータを第１メモリ２２−１に格納する。第２論理回路２１−２〜第ｋ論理回路２１〜ｋは、メモリから読み出したデータに対する行列演算及び演算結果のメモリへの格納を順次行い、手認識処理の最終的な演算結果を示す手の画像データを第ｋメモリ２２−ｋに格納する。
【００３８】
指先認識処理（Ｓ１６）では、ハードウェア処理部２０は、手の先端部を検出することにより、ユーザの指先を検出する。その際、ハードウェア処理部２０の論理回路部２１を構成する後段部分の論理回路（例えば、第（ｋ＋１）論理回路２１−（ｋ＋１）〜第ｎ論理回路２１−ｎ）の各々は、例えば手の画像全体を走査するように各ドット（ピクセル）について所定の行列演算を行い、指先を検出する。第（ｋ＋１）論理回路２１−（ｋ＋１）は、第ｋメモリ２２−ｋから手の画像データを読み出して行列演算を行い、演算結果のデータを第（ｋ＋１）メモリ２２−（ｋ＋１）に格納する。第（ｋ＋２）論理回路２１−（ｋ＋２）〜第ｎ論理回路２１〜ｎは、メモリから読み出したデータに対する行列演算及び演算結果のメモリへの格納を順次行い、指先認識処理の最終的な演算結果を示す指先位置の画像データを第ｎメモリ２２−ｎに格納する。
【００３９】
座標化論理回路２３は、第ｎメモリ２２−ｎ及び参照メモリ２４を用いて、指先の２Ｄ座標化処理（Ｓ１７）を実行する。座標化論理回路２３は、第ｎメモリ２２−ｎから指先の画像データを読み出し、参照メモリ２４に格納されている座標平面情報に基づいて、２次元の座標平面における指先の位置を示す座標情報ＣＤ３を生成する。
【００４０】
ハードウェア処理部２０は、手認識処理（Ｓ１５）により検出された手の画像データに基づいて２Ｄ座標化処理（Ｓ１８）を実行し、２次元画像上におけるユーザの手の位置を表す座標位置情報を生成する。例えば、座標化論理回路２３は、第ｋメモリ２２−ｋから手の画像データを読み出し、参照メモリ２４に格納されている座標平面情報に基づいて、２次元の座標平面における手の位置を示す座標位置情報ＣＤ４を生成する。
【００４１】
以上の処理により、カメラＣＡ１により撮影された撮影画像内でのユーザの手及び指先の位置が検出される。
【００４２】
ハードウェア処理部２０は、イメージセンサ１０Ｒから供給された画像データＶＤ２に対しても同様の処理を行う。すなわち、ハードウェア処理部２０は、イメージセンサ１０Ｒから供給された画像データＶＤ２に基づいて、カメラＣＡ２により撮影された撮影画像内におけるユーザの顔、眼、手及び指先の位置を検出する検出処理を行う。
【００４３】
ユーザの顔及び眼の位置を検出する検出処理は、顔認識処理（Ｓ２１）、眼認識処理（Ｓ２２）、眼の２Ｄ座標化処理（Ｓ２３）、及び顔の２Ｄ座標化処理（Ｓ２４）を含む。ユーザの手及び指先の位置を検出する検出処理は、手認識処理（Ｓ２５）、指先認識処理（Ｓ２６）、指先の２Ｄ座標化処理（Ｓ２７）、及び手の２Ｄ座標化処理（Ｓ２８）を含む。ハードウェア処理部２０は、論理回路部２１を構成する各論理回路による行列演算、演算結果のメモリへの格納及び読出しを順次行うことにより、これらの処理を実行する。
【００４４】
ハードウェア処理部２０は、画像データＶＤ１に基づく眼の座標情報ＣＤ１、顔の座標情報ＣＤ２、指先の座標情報ＣＤ３及び手の座標情報ＣＤ４と、画像データＶＤ２に基づく眼の座標情報ＣＤ５、顔の座標情報ＣＤ６、指先の座標情報ＣＤ７及び手の座標情報ＣＤ８と、をソフトウェア処理部３０に出力する。
【００４５】
ソフトウェア処理部３０は、ハードウェア処理部２０から供給された各座標情報に基づいて、表示画像ＤＩを表示する表示面（本実施例では、ディスプレイＤＳ）に対するユーザの視線及びユーザの指先の位置を算出し、ユーザの指先の動作を判定する。
【００４６】
ソフトウェア処理部３０には、ＣＰＵが所定のプログラムを実行することにより、視線ベクトル生成部３１、指先位置生成部３２、視線ベクトル生成部３３、指先位置生成部３４、視線ベクトル合成部３５、指先位置合成部３６、２Ｄ視線位置変換部３７、２Ｄ指先位置変換部３８及び操作判定部３９が機能ブロックとして形成される。
【００４７】
視線ベクトル生成部３１は、画像データＶＤ１に基づく眼の座標情報ＣＤ１及び顔の座標情報ＣＤ２に基づいて、ユーザの視線方向を示す視線ベクトルＳＶ１を生成する。指先位置生成部３２は、画像データＶＤ１に基づく指先の座標情報ＣＤ３及び手の座標情報ＣＤ４に基づいて、ユーザの指先の位置及びその変化を示す指先位置ベクトルＦＶ１を生成する。
【００４８】
視線ベクトル生成部３３は、画像データＶＤ２に基づく眼の座標情報ＣＤ５及び顔の座標情報ＣＤ６に基づいて、ユーザの視線方向を示す視線ベクトルＳＶ２を生成する。指先位置生成部３４は、画像データＶＤ２に基づく指先の座標情報ＣＤ７及び手の座標情報ＣＤ８に基づいて、ユーザの指先の位置及びその変化を示す指先位置ベクトルＦＶ２を生成する。
【００４９】
視線ベクトル合成部３５は、画像データＶＤ１に基づく視線ベクトルＳＶ１及び画像データＶＤ２に基づく視線ベクトルＳＶ２を合成する。これにより、ユーザの左斜め前方から撮影した画像に基づいて算出されたユーザの視線とユーザの右斜め前方から撮影した画像に基づいて算出されたユーザの視線とを合成した視線ベクトルＳＶが生成される。
【００５０】
指先位置合成部３６は、画像データＶＤ１に基づく指先位置ベクトルＦＶ１及び画像データＶＤ２に基づく指先位置ベクトルＦＶ２を合成する。これにより、ユーザの左斜め前方から撮影した画像に基づいて算出されたユーザの指先位置とユーザの右斜め前方から撮影した画像に基づいて算出されたユーザの指先位置とを合成した指先位置ベクトルＦＶが生成される。
【００５１】
２Ｄ視線位置変換部３７は、視線ベクトル合成部３５により生成された視線ベクトルＳＶに基づいて、ユーザの視線位置を表示画像ＤＩの表示面（すなわち、フロントガラスＦＧ）に対する２次元の視線位置に変換し、表示面上の視線位置を示す視線位置情報ＳＰを生成する。２Ｄ視線位置変換部３７は、視線位置情報ＳＰを操作情報判定部１２に供給する。
【００５２】
２Ｄ指先位置変換部３８は、視線ベクトルＳＶと指先位置合成部３６により生成された指先位置ベクトルＦＶとに基づいて、ユーザの指先位置を表示画像ＤＩの表示面（すなわち、フロントガラスＦＧ）を基準とした２次元の指先位置に変換し、表示面上の仮想の指先位置を示す指先位置情報ＦＰを生成する。２Ｄ指先位置変換部３８は、指先位置情報ＦＰを操作情報判定部１２に供給する。
【００５３】
操作判定部３９は、指先位置ベクトルＦＶに基づいて、ユーザの指先の動作（例えば、上下に移動している、円を描くように移動している等）を判定し、判定結果を示す判定情報ＯＤを生成する。操作判定部３９は、判定情報ＯＤを操作情報判定部１２に供給する。
【００５４】
操作情報判定部１２は、表示画像ＤＩに対するユーザの操作（例えば、ボタンを押下した、フリックした等）を判定する判定部である。操作情報判定部１２には、ＨＵＤにより表示されている表示画像ＤＩについての表示情報ＨＤＩ（何の操作ボタンをどの位置に表示しているか等）が供給される。操作情報判定部１２は、表示情報ＨＤＩと、画像処理部１１から供給された視線位置情報ＳＰ、指先位置情報ＦＰ及び判定情報ＯＤと、に基づいて表示画像ＤＩに対するユーザの操作を判定する。操作情報判定部１２は、判定結果を示す操作情報ＯＩをナビゲーション装置等の他の装置（図示せず）に供給する。
【００５５】
以上のようなハードウェア処理部２０、ソフトウェア処理部３０及び操作情報判定部１２の動作により、フロントガラスに重畳して表示された表示画像を視認しつつ行ったユーザの動作が、操作ボタン等の表示画像に対する非接触での操作として判定される。
【００５６】
本実施例のモーション操作装置１００では、特定の検出処理のみを実行する専用ハードウェアからなるハードウェア処理部２０が、撮影画像内でのユーザの顔、眼、手及び指先の位置を検出する検出処理（すなわち、顔、眼、手及び指先の認識処理及び２次元座標化の処理）を実行する。かかる処理は、２次元画像全体を走査するように各ピクセルについての行列演算を繰り返し行う処理等を含むため、それ以降の処理（視線ベクトルや指先位置ベクトルの生成及び合成、位置変換、操作判定）に比べて処理工程が多い。
【００５７】
本実施例とは異なり、仮に上記の検出処理をソフトウェアで行った場合、ＣＰＵが各処理において共通に用いるメモリにその都度アクセスしつつ処理を行うことになるため、処理に時間がかかってしまう。これに対し、本実施例のモーション操作装置１００では、ハードウェア処理部２０が、既定の行列演算処理を実行する論理回路及び当該行列演算処理についてのデータを格納するメモリによってこれらの処理を行うため、比較的短時間で（すなわち、高速に）処理を行うことができる。また、処理時間の短縮に伴い、消費電力が低減される。
【００５８】
従って、本実施例のモーション操作装置１００によれば、ユーザの動作に基づく操作判定を高速且つ低消費電力で行うことが可能となる。
【実施例２】
【００５９】
本実施例のモーション操作装置２００は、例えばＡＲ（Augmented Reality：拡張現実）の表示を行うＨＭＤ（Head Mounted Display）に搭載されている。モーション操作装置２００は、ゴーグル型のＨＭＤを装着したユーザの眼及び手を撮影した画像に基づいてユーザの動作を検出することにより、ディスプレイに表示された操作ボタン等の表示画像に対し、ユーザが非接触で行った操作を判定する装置である。
【００６０】
図６Ａ及び図６Ｂは、本実施例におけるＨＭＤに搭載されたカメラの配置、ディスプレイに表示される表示画像、ＨＵＤを装着したユーザの目及び手の位置を模式的に示す図である。
【００６１】
図６Ａに示すように、ＨＭＤには、ユーザの眼の近辺を撮影するカメラＣＡ３が設けられている。カメラＣＡ３は、例えばゴーグルの鼻あて部分（図示せず）に配置されている。ディスプレイＤＳには、操作ボタン等の表示画像ＤＩが表示される。
【００６２】
図６Ｂに示すように、ＨＭＤには、ユーザの眼の前方を撮影するカメラＣＡ４が設けられている。カメラＣＡ４は、例えばゴーグルのテンプル（つるの部分）ＴＲに配置されている。表示画像ＤＩは、ユーザの眼から見た場合、ディスプレイＤＳのさらに前方に虚像として表示される。このため、虚像として表示された操作ボタン等の表示画像ＤＩに触れるかのようにユーザが手を動かした場合、カメラＣＡ４の撮影範囲内にユーザの手が位置することになる。従って、ユーザの手がカメラＣＡ４により撮影される。
【００６３】
図７は、本実施例のモーション走査装置２００の構成及び画像処理部における処理ブロック及び機能ブロックを示すブロック図である。モーション操作装置２００は、センサ部１０、画像処理部１１及び操作情報判定部１２を有する。
【００６４】
センサ部１０は、眼用イメージセンサ１０Ｅ及びモーション用イメージセンサ１０Ｍから構成されている。
【００６５】
眼用イメージセンサ１０Ｅは、ユーザの眼の近辺を撮影するカメラＣＡ３に搭載されている。眼用イメージセンサ１０Ｅは、カメラＣＡ３の撮影により取得した画像データＶＤ３を画像処理部１１に供給する。
【００６６】
モーション用イメージセンサ１０Ｍは、ユーザの手を撮影するカメラＣＡ４に搭載されている。モーション用イメージセンサ１０Ｍは、カメラＣＡ４の撮影により取得した画像データＶＤ４を画像処理部１１に供給する。
【００６７】
画像処理部１１は、特定の処理（すなわち、非プログラマブルな処理）を行う専用ハードウェアからなるハードウェア処理部４０及びＣＰＵ等からなるソフトウェア処理部５０から構成されている。
【００６８】
ハードウェア処理部４０は、図４に示した実施例１のハードウェア処理部２０と同様、複数の論理回路からなる論理回路部及びメモリ部を含む。
【００６９】
ハードウェア処理部４０は、眼用イメージセンサ１０Ｅから供給された画像データＶＤ３に基づいて、カメラＣＡ３により撮影された撮影画像内でのユーザの眼の位置を検出する検出処理を行う。ユーザの眼の位置を検出する検出処理は、眼認識処理（Ｓ４１）及び眼の２Ｄ座標化処理（Ｓ４２）を含む。
【００７０】
ハードウェア処理部４０は、眼用イメージセンサ１０Ｅから供給された画像データＶＤ３に基づいて、画像データＶＤ３を２次元座標上に展開した２次元画像の中からユーザの眼を検出（すなわち、眼の画像を抽出）する眼認識処理（Ｓ４１）を行う。また、ハードウェア処理部４０は、検出した眼の画像に基づいて、２次元画像上の眼の位置を表す座標位置情報を生成する２Ｄ座標化処理（Ｓ４２）を実行する。
【００７１】
ハードウェア処理部４０は、実施例１のハードウェア処理部２０と同様、複数の論理回路による行列演算、演算結果のメモリへの格納及び読出しを順次行うことにより、これらの処理を実行する。
【００７２】
また、ハードウェア処理部４０は、これと並行して、モーション用イメージセンサ１０Ｍから供給された画像ＶＤ４に基づいて、カメラＣＡ４により撮影された撮影画像内でのユーザの手及び指先の位置を検出する検出処理を実行する。手及び指先の位置を検出する検出処理は、手認識処理（Ｓ４３）、指先認識処理（Ｓ４４）、指先の２Ｄ座標化処理（Ｓ４５）、及び手の２Ｄ座標化処理（Ｓ４６）を含む。
【００７３】
ハードウェア処理部４０は、実施例１のハードウェア処理部２０と同様、複数の論理回路による行列演算、演算結果のメモリへの格納及び読出しを順次行うことにより、これらの処理を実行する。
【００７４】
ハードウェア処理部４０は、眼の座標情報ＣＤａ、指先の座標情報ＣＤｂ及び手の座標情報ＣＤｃをソフトウェア処理部３０に出力する。
【００７５】
ソフトウェア処理部５０には、ＣＰＵが所定のプログラムを実行することにより、視線ベクトル生成部５１、指先位置生成部５２、視線位置変換部５３、指先位置変換部５４及び操作判定部５５が機能ブロックとして形成される。
【００７６】
視線ベクトル生成部５１は、眼の座標情報ＣＤａに基づいて、ユーザの視線方向を示す視線ベクトルＳＶを生成する。指先位置生成部５２は、指先の座標情報ＣＤｂ及び手の座標情報ＣＤｃに基づいて、ユーザの指先の位置及びその変化を示す指先位置ベクトルＦＶを生成する。
【００７７】
視線位置変換部５３は、視線ベクトルＳＶに基づいて、ユーザの視線位置をディスプレイＤＳに対する２次元の視線位置に変換し、表示面上の視線位置を示す視線位置情報ＳＰを生成する。視線位置変換部５３は、視線位置情報ＳＰを操作情報判定部１２に供給する。
【００７８】
指先位置変換部５４は、視線ベクトルＳＶ及び指先位置ベクトルＦＶに基づいて、ディスプレイＤＳ上の仮想の指先位置を示す指先位置情報ＦＰを生成する。指先位置変換部５４は、指先位置情報ＦＰを操作情報判定部１２に供給する。
【００７９】
操作判定部５５は、指先位置ベクトルＦＶに基づいて、ユーザの指先の動作を判定し、判定結果を示す判定情報ＯＤを生成する。操作判定部５５は、判定情報ＯＤを操作情報判定部１２に供給する。
【００８０】
操作情報判定部１２は、表示画像ＤＩに対するユーザの操作を判定する判定部である。操作情報判定部１２には、ＨＭＤにより表示されている表示画像ＤＩについての表示情報ＨＤＩが供給される。操作情報判定部１２は、表示情報ＨＤＩと、視線位置情報ＳＰ、指先位置情報ＦＰ及び判定情報ＯＤに基づいて、表示画像ＤＩに対するユーザの操作を判定する。操作情報判定部１２は、判定結果を示す操作情報ＯＩをナビゲーション装置等の他の装置（図示せず）に供給する。
【００８１】
以上のような以上のようなハードウェア処理部４０、ソフトウェア処理部５０及び操作情報判定部１２の動作により、ゴーグル型のＨＭＤに表示された表示画像を視認しつつ行ったユーザの動作が、操作ボタン等に対する非接触での操作として判定される。
【００８２】
本実施例のモーション操作装置２００では、特定の検出処理のみを実行する専用ハードウェアからなるハードウェア処理部４０が、撮影画像内でのユーザの眼、手及び指先の位置を検出する検出処理（すなわち、ユーザの眼、指先及び手の認識処理と２次元座標化の処理）を実行する。かかる処理は、２次元画像全体を走査するように各ピクセルについての行列演算を繰り返し行う処理等を含むため、それ以降の処理（視線ベクトルや指先位置ベクトルの生成、位置変換、操作判定）に比べて処理工程が多い。
【００８３】
本実施例のモーション操作装置２００では、既定の行列演算処理を実行する論理回路及び当該行列演算処理についてのデータを格納するメモリによってこれらの処理を実行するため、比較的短時間で（すなわち、高速に）処理を行うことができる。また、処理時間の短縮に伴い、消費電力が低減される。
【００８４】
従って、本実施例のモーション操作装置２００によれば、ユーザの動作に基づく操作判定を高速且つ低消費電力で行うことが可能となる。
【００８５】
なお、本発明は上記実施形態に限定されない。例えば、上記実施例１では、ハードウェア処理部２０がまずは顔認識処理（Ｓ１１）を実行し、その後に眼認識処理（Ｓ１２）を実行する場合を例として説明した。しかし、これとは異なり、顔認識処理の実行を前提とせずに眼認識処理を実行するようにハードウェア処理部２０の各論理回路を構成しても良い。
【００８６】
また、上記実施例１の顔認識処理の前及び上記実施例２の眼認識処理の前に、キャリブレーションを行っても良い。例えば、これらの処理に先立って、運転席に座っている状態（実施例１）やゴーグルを装着した状態（実施例２）におけるユーザの顔画像を撮影し、顔の位置及び眼の位置等の基準情報を得る。この基準情報を参照して顔認識処理及び眼認識処理を実行することにより、ハードウェア処理部はより円滑に一連の処理を実行することが可能となる。
【００８７】
また、キャリブレーションの情報を利用して手認識処理を行うことができる。例えば、キャリブレーション時には２次元画像内に存在せず、実動作時に２次元画像内にフレームインしてきた肌色の物体を手として検出することができる。
【００８８】
また、上記実施例では、論理回路部２１を構成する論理回路の各々が、１つ前の論理回路によりメモリに格納されたデータ（すなわち、１つ前の論理回路による演算結果のデータ）をメモリから読み出して行列演算を行う場合を例として説明した。しかし、これに限られず、各論理回路が２つ以上前の論理回路によりメモリに格納されたデータ（すなわち、２つ以上前の論理回路による演算結果のデータ）をメモリから読み出して行列演算を行う構成であっても良い。また、複数のメモリから読み出したデータに基づいて行列演算を行う構成であっても良い。
【００８９】
また、上記実施例では、座標化論理回路２３が第ｎメモリ２２−ｎから読み出したデータ（眼の画像ＥＰの画像データ）と参照メモリ２４から読み出したデータ（座標平面情報）とに基づいて座標位置情報ＣＤを生成する一方、第２論理回路２１−２〜第ｎ論理回路２１−ｎまでの他の論理回路は第１メモリ２２−１〜第（ｎ−１）メモリ２２−（ｎ−１）から読み出したデータに基づいて行列演算を行う（すなわち、参照メモリを用いない）場合を例として説明した。しかし、第１論理回路２１−１〜第ｎ論理回路２１−ｎが、他の参照メモリ（すなわち、論理回路による書き込みを伴わないメモリ）から読み出したデータを用いて行列演算を行う構成としても良い。
【００９０】
また、上記実施例では、参照メモリ２４が第１論理回路２１−１〜第ｎ論理回路２１−ｎによる書き込みを受けないメモリであるとして説明した。しかし、ハードウェア処理部２０のメモリ部２２の参照メモリ２４は外部からのアクセスにより書き換え可能に構成されていても良い。従って、ハードウェア処理部２０は特定の処理のみを実行するが、その特定の処理に用いるパラメータ等の一部は外部からの参照メモリの書き換えに応じて変更することが可能である。
【００９１】
また、上記実施例では、視線ベクトル及び指先位置の生成、視線ベクトル及び指先位置の合成、視線位置及び指先位置の変換、操作判定の各処理をソフトウェア処理部が実行する場合を例として説明した。しかし、これらの処理をハードウェアにより実行する構成であっても良い。すなわち、本発明のモーション操作装置は、少なくとも画像データに基づくユーザの顔、眼、手及び指先の認識処理と、２次元座標化の処理と、をハードウェア処理部が実行すれば良く、他の処理はソフトウェア又はハードウェアのいずれの手段により実行しても良い。
【符号の説明】
【００９２】
１０  センサ部
１０Ｌ，１０Ｒ  イメージセンサ
１０Ｅ  眼用イメージセンサ
１０Ｍ  モーション用イメージセンサ
１１  画像処理部
１２  操作情報判定部
２０，４０  ハードウェア処理部
２１  論理回路部
２２  メモリ部
２３  座標化論理回路
２４  参照メモリ
３０，５０  ソフトウェア処理部
３１，３３  視線ベクトル生成部
３２，３４  指先位置生成部
３５  視線ベクトル合成部
３６  指先位置合成部
３７  ２Ｄ視線位置変換部
３８  ２Ｄ指先位置変換部
３９  操作判定部
５１  視線ベクトル生成部
５２  指先位置生成部
５３  視線位置変換部
５４  指先位置変換部
５５  操作判定部
【図１】
2019121191.tif 000003
【図２Ａ】
2019121191.tif 000004
【図２Ｂ】
2019121191.tif 000005
【図３】
2019121191.tif 000006
【図４】
2019121191.tif 000007
【図５Ａ】
2019121191.tif 000008
【図５Ｂ】
2019121191.tif 000009
【図５Ｃ】
2019121191.tif 000010
【図５Ｄ】
2019121191.tif 000011
【図６Ａ】
2019121191.tif 000012
【図６Ｂ】
2019121191.tif 000013
【図７】
2019121191.tif 000014