(58)【調査した分野】(Int.Cl.,DB名)
ユーザの個人別に、前記撮像手段に付加される加速度と、前記所定の身体部分の位置の振動量及び振動タイミングとに基づく対応関係を解析し、記憶部に記憶させる学習手段を更に備え、
前記連成振動検出手段は、前記撮像手段が撮像したユーザに対して前記学習手段により記憶した前記対応関係に基づき、前記連成振動を検出する
ことを特徴とする請求項1乃至4のいずれか一項に記載の画像認識装置。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態のうちの一つを図面を参照しつつ説明する。
【0014】
図1は、本発明の画像認識装置の実施形態を含むナビゲーション装置を用いたジェスチャー操作入力の一例を示す斜視図である。この
図1において、ナビゲーション装置Sは、移動体である車両Vのハンドル101や計器類102の横にインターフェースデバイス1を固定的に設けている。この例のインターフェースデバイス1は全体が矩形の平板状で形成されており、その前面にはディスプレイ2とデバイスカメラ3が備えられている。
【0015】
図示する例では、当該ナビゲーション装置Sに対する各種操作に対応した3つの操作アイコンP1,P2,P3がディスプレイ上に横一列に並んで表示されている。運転席(又は助手席)にいるユーザはディスプレイ2上に直接触れずともその表示位置の手前側の空間を人差し指で指し示すだけで、ナビゲーション装置Sはデバイスカメラ3を介してその指先の位置をリアルタイムに画像認識し、ディスプレイ2上の対応する位置に指示点Mをポインティングマーカとして表示する。そして指示点Mが一定時間静止した際には、その時点で指示点Mが位置するいずれかの操作アイコン(図示する例では操作アイコンP2)が選択操作されたとして検知する。
【0016】
図2は、ナビゲーション装置Sのハードウェア構成例を示すブロック図である。この
図2において、ナビゲーション装置Sは、インターフェースデバイス1と、ナビゲーション装置本体5を有している。
【0017】
インターフェースデバイス1は、上述したディスプレイ2とデバイスカメラ3の他にX−Y加速度センサ4も内部に備えている。
【0018】
ディスプレイ2は、例えばLCDパネルなどで構成されて、ナビゲーション装置本体5のグラフィックコントローラ(後述)から入力された画像信号に基づき、各種の情報画面を表示する機能を有する。
【0019】
デバイスカメラ3は撮像手段に相当し、例えばCCD撮像素子などを利用し、上述した当該車両Vの室内で主に運転席側と助手席側の中間方向へ向けて(もしくはその周囲を回動可能に)画像を撮像し、対応する信号をナビゲーション装置本体5のCPU(後述)へ出力する機能を有する。なお、このデバイスカメラ3は十分に短い時間周期で時系列的に複数の画像フレームを撮像し続けることで、室内画像を動画の形式で撮像する。また、上記
図1に示したジェスチャー操作入力が可能なように、デバイスカメラ3はその撮像方向が上記ディスプレイ2の表示方向とほぼ同じ方向に向かうようインターフェースデバイス1に固定されている。
【0020】
X−Y加速度センサ4は、例えばピエゾ抵抗型のMEMS素子などを利用し、デバイスカメラ3の後述する撮像領域X−YのX方向とY方向にそれぞれ対応する2軸で、当該デバイスカメラ3に付加された加速度を検出する機能を有する。
【0021】
ナビゲーション装置本体5は、CPU11、記憶装置12、GPS13、グラフィックコントローラ14を有している。
【0022】
CPU11は、所定のプログラムの動作によって各種の演算を行うとともに、他の各部との間で情報の交換や各種の制御指示を出力することで、ナビゲーション装置S全体を制御する機能を有する。
【0023】
記憶装置12は、ROM12a、RAM12b、及び記憶媒体12cを有する。ROM12aは、各種の処理プログラムやその他必要な情報が予め書き込まれた情報記憶媒体である。RAM12bは、上記各種のプログラムを実行する上で必要な情報の書き込み及び読み出しが行われる情報記憶媒体である。記憶媒体12cは、例えばフラッシュメモリ、ハードディスクなどの不揮発性の情報記憶媒体であり、後述するような加速度と連成振動との間の対応関係を記憶する。この記憶媒体12cが各請求項記載の記憶部に相当する。
【0024】
GPS13は、車両Vの現在地の測位を行い現在位置情報を取得する。当該取得された情報を用いて、ナビゲーション装置Sは、予め記憶している地図情報に基づいて上記現在位置の周辺の地形、道路、及び施設等の情報を取得することができる。
【0025】
グラフィックコントローラ14は、CPU11の制御によってビデオRAM(図示せず)及び上記GPS13などから画像データを取得し、この画像データに基づく画像信号を上記ディスプレイ2に表示させる機能を有する。
【0026】
以上の構成のナビゲーション装置Sにおいては、当該車両Vに搭乗するユーザを含めた室内画像をデバイスカメラ3で動画形式で撮像し、各画像フレーム毎でユーザの手H(ユーザの所定の身体部分に相当)の形状と位置を画像認識する。例えば、
図3に示す例のように、デバイスカメラ3が撮像した室内画像の撮像座標X−Y上においてユーザの人差し指の指先の位置を画像認識で検出し、その位置をその時点でユーザにより指し示されている指示点Mとして検出する。ここで、当該車両Vの走行に伴って車両V全体が振動した際には、上記指示点Mもユーザが意図しない振れ方向と振れ幅で振動してしまう。しかし、この指示点Mの振れ方向と振れ幅については、上記X−Y加速度で検出したX方向とY方向それぞれの加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測される指示点Mを検出することが可能である。この位置補正の手法について以下に詳細に説明する。
【0027】
まず、
図4を参照して指示点Mの振動を構成する2種類の振動について説明する。なお以下の説明においては、ユーザは意図的にその手を動かさず静止させたままの状態を維持していることを前提とする。この
図4において、例えば車両Vが凹凸のある路面上を走行することで、車両V全体に1次的な直接振動Aが発生する。
【0028】
本実施形態の例では、デバイスカメラ3とX−Y加速度センサ4を備えたインターフェースデバイス1が車両Vに固定的に設置されているため、上記直接振動Aに含まれる低周波成分に対しては当該インターフェースデバイス1自体と車両Vとの間で相対的な振動はほとんど発生しない。しかし、エンジンの振動や上記直接振動Aに含まれる高周波成分などに対しては、当該インターフェースデバイス1自体と車両Vとの間で2次的な相対振動Bが生じてしまう。
【0029】
また一方、運転手や同乗者であるユーザの身体はシートベルトによる多少の拘束があるものの車両Vのシート上に着座しているだけであるため、上記直接振動Aによりユーザの身体自体が振動しやすく、またそのユーザの身体のうちでもインターフェースデバイス1の前方に掲げたユーザの手の部分は梁の先端部に相当して相対的に揺れやすい。つまり、上記直接振動Aの影響を受けてユーザの手の部分と車両Vとの間で2次的な相対振動Cが生じやすい。
【0030】
インターフェースデバイス1に備えられたX−Y加速度センサ4には、上記直接振動Aと相対振動Bとを合成した振動A+Bによる加速度が検出される。またユーザの手の部分は、上記直接振動Aと相対振動Cとを合成した振動A+Cが生じる。しかし、上記の直接振動A、相対振動A+B、A+Cはいずれも路面を基準とした対地振動であり、それに対して本実施形態で補正すべき振動はデバイスカメラ3の撮像座標X−Y中におけるユーザの手の振動、つまりデバイスカメラ3とユーザの手との間の相対振動B+Cである。このため、路面基準の対地振動ではなく、車両基準の対車振動で相対振動Bと相対振動Cを検出してそれぞれ補正できれば、共通の車両V上で受ける直接振動Aの影響は無視できる。以下においては、上記の相対振動Bを装置振動、相対振動Cを連成振動として区別する。
【0031】
図5は、上記装置振動と上記連成振動のそれぞれの特性を説明する図の一例である。図示する例では、車両Vに例えばY方向(上下方向)でインパルスモデル振動(瞬間的な単位振動量だけの振動:図示省略)を加振した後に生じる装置振動と連成振動のY方向成分の振り幅の時間変化を比較して示している。
【0032】
インパルスモデル振動の加振後にはまず先に装置振動(実線部参照)が発生し、その後所定の時間差で重複して連成振動(破線部参照)が発生する。いずれも山形の波形で振動するが、それぞれのピークタイミングにも発生時の時間差に対応したズレが生じている。これは、車両の構造部材で固定されているインターフェースデバイス1の方が早く装置振動を伝達し、柔軟なユーザの身体を介して伝達する連成振動の方が遅れて発生するためである。
【0033】
また装置振動の場合には、所定の加振条件に対して装置振動の振動量や振動の発生タイミング及びピークタイミングは常に同じ対応関係で発生する。このため本実施形態においては、X−Y加速度センサ4で検出した2軸の加速度と、その発生前後における画像フレーム間での車両Vの室内背景の移動偏差(動きベクトル)とに基づいて直接的に装置振動を推定できる。この移動偏差は、撮像座標X−Y上で画像認識により検出された車両Vの所定部分の認識位置の偏差で求めるといった公知の手法を用いればよく、ここでは詳しい説明を省略する。この場合、X−Y加速度センサ4で検出される2軸の加速度にはそれぞれ上記の直接振動Aも含まれるが、上記移動偏差の検出を開始するトリガーとして用いるため各加速度の大きさは問題としない。
【0034】
一方、連成振動の場合には加振条件が同じであっても、当該ユーザの身体各部(例えば腕など)の重量や関節の柔軟さなどといった多様な個人的条件によって、その振り幅(振動量に相当)や振動の発生タイミング、ピークタイミング(振動タイミングに相当)が異なってくる。これに対して本実施形態では、その時点で当該ナビゲーション装置Sを使用するユーザを予め設定しておき、X−Y加速度センサ4で検出される加速度と連成振動との対応関係を解析して記憶することでそのユーザに対応した連成振動の特性を学習する。そしてそのユーザに対する学習練度が十分である場合には、上記X−Y加速度センサで検出された加速度を学習結果に照合することで、ユーザに対応する連成振動を高い精度で検出できる。なお本実施形態の例では、連成振動の振り幅は、撮像座標X−Y上におけるそのときの指示点Mと操作アイコンP1、P2、P3の中心位置(撮像座標中の所定位置に相当)との間の離間距離(偏差に相当)で検出する。またこの場合も、X−Y加速度センサ4で検出される2軸の加速度にはそれぞれ上記の直接振動Aも含まれているが、直接振動Aと連成振動(相対振動C)は比例関係にあり、上記学習では加速度と連成振動との間の対応関係(例えば係数)を記憶するため問題はない。
【0035】
例えば
図6(a)に示すように 振動に対して何ら補正を行わない場合には、指示点Mは実線で示す装置振動と破線で示す連成振動を合成した振動で大きく振れる。これに対して、上記公知の手法により検出した装置振動に対応して撮像画像の位置補正を行った場合には、
図6(b)に示すように破線で示す連成振動だけで指示点Mが振動する。そして本実施形態では、さらに上記学習により検出したユーザ別の連成振動に対しても併せて撮像画像の位置補正を行うことで、
図6(c)に示すように指示点Mの振動を大幅に抑えることができる。以上のように、装置振動と連成振動の両方に対応して撮像画像の位置補正を行うことで、ユーザが本来意図している指示点Mを高い精度で推定できる。
【0036】
図7は、上述した位置補正の手法を利用した上記ジェスチャー操作入力に関係するソフトウェア構成例を示すブロック図である。この
図7において、ジェスチャー操作入力に関係するソフトウェアブロックとしては、撮像部21、フレームバッファ22、加速度検出部23、ブロック別動きベクトル検出部24、装置振動補正量算出部25、指示点ずれ量検出部26、連成振動補正量算出部27、画像補正処理部28、画像認識処理部29、ハンドジェスチャーインターフェース30、グラフィックユーザインターフェース31、差分量算出部32、ユーザ別特性学習部33を有している。
【0037】
撮像部21は、デバイスカメラ3の撮像方向に対応する撮像座標X−Yで画像フレーム単位の撮像をハードウェア的に行う。
【0038】
フレームバッファ22は、撮像部21で撮像された各画像フレームを時系列順に記憶する。
【0039】
加速度検出部23は、X−Y加速度センサ4でのX方向、Y方向それぞれにおける加速度の検出をハードウェア的に行う。
【0040】
ブロック別動きベクトル検出部24は、画像フレームをブロック分割したうちで明らかに車両Vの所定部分(例えばヘッドレストなど)であるとして画像認識されたブロック部分の位置について、所定量以上の振動に対応する加速度の検出前と検出後の画像フレーム間での移動偏差を動きベクトルとして検出する。この動きベクトルの検出処理は、公知の振動に対する画像位置補正の技術を用いて行えばよく、ここでは詳しい説明を省略する。
【0041】
装置振動補正量算出部25は、上記ブロック別動きベクトル検出部24で検出した動きベクトルの逆ベクトルに基づいて、撮像座標X−Yに対応する装置振動分の画像フレームの位置補正量を算出する。
【0042】
指示点ずれ量検出部26は、後に詳述するユーザ別特性学習部33で学習したユーザ別の連成振動の特性を参照し、上記加速度検出部23で検出した加速度に対応する連成振動を指示点Mの座標ずれ量として検出する。
【0043】
連成振動補正量算出部27は、上記指示点ずれ量検出部26で検出した指示点Mの座標ずれ量に基づいて、撮像座標X−Yに対応する装置振動分の画像フレームの位置補正量を算出する。
【0044】
画像補正処理部28は、上記装置振動補正量算出部25で算出した装置振動分の補正量と、上記連成振動補正量算出部27で算出した連成振動分の補正量とを加算して最終的な実効補正量を算出し、上記フレームバッファ22から読み出した対応するタイミングの画像フレームに対して撮像座標X−Yでの位置補正を行う。
【0045】
画像認識処理部29は、上記画像補正処理部28で位置補正した画像フレームにおいて、その撮像座標X−Yにおけるユーザの手及びヘッドレストなどの車両部分の形状と位置を画像認識する。
【0046】
ハンドジェスチャーインターフェース30は、上記画像認識処理部29の認識結果に基づいて指示点Mの位置を認識し、その時点でユーザが意図しているディスプレイ2上の指示位置を推定する。
【0047】
グラフィックユーザインターフェース31は、その時点でディスプレイ2に表示している操作アイコンP1、P2、P3の配置と、上記ハンドジェスチャーインターフェース30が推定した指示位置に基づいて、ユーザが選択しようとしている操作アイコンP1、P2、P3を判定する。
【0048】
差分量算出部32は、その時点の指示点Mの位置と、上記グラフィックユーザインターフェース31で選択対象として判定した操作アイコンP1、P2、P3の中心位置との間の離間距離を差分量として算出する。
【0049】
ユーザ別特性学習部33は、上記差分量算出部32で算出した差分量を連成振動の振り幅とみなし、これとX−Y加速度センサ4で検出される加速度との対応関係を解析して上記記憶媒体12cに記憶させることでその時点のユーザに対応した連成振動の特性を学習する。
【0050】
以上のソフトウェア構成によるジェスチャー操作入力では、フレームバッファ22に記憶される各画像フレームに対し、装置振動補正量算出部25が算出する装置振動分の補正量と、連成振動補正量算出部27が算出する連成振動分の補正量とを併せて各画像フレームの撮像タイミングに対応した撮像座標X−Yに対する位置補正が可能となる。この位置補正は、例えば上記
図3に対応する
図8に示すように、元の撮像座標X−Yに対して画像フレーム全体の位置を補正する。そして特に図示しないが、このように位置補正された画像フレームを撮像順に切り替えて見ると、指示点Mの位置が安定する。つまり、ユーザが意図的に指示点Mの静止状態を維持したつもりでありながら実際にはユーザの手が不可抗力的に連成振動している場合であっても、ナビゲーション装置S側でその連成振動に対応して指示点Mの位置を安定化できる。
【0051】
なお上記
図8のソフトウェアブロック図において、上記撮像部21が、各請求項記載の撮像工程に相当する。また、上記加速度検出部23が、各請求項記載の加速度検出手段及び加速度検出工程に相当する。また、上記指示点ずれ量検出部26と、上記連成振動補正量算出部27が、各請求項記載の連成振動検出手段及び連成振動検出工程に相当し、上記差分量算出部32と上記ユーザ別特性学習部33が各請求項記載の学習手段に相当する。また、上記画像補正処理部28が、各請求項記載の補正手段及び補正工程に相当する。また、上記画像認識処理部29が、各請求項記載の認識手段及び認識工程に相当する。また、上記ブロック別動きベクトル検出部24と上記装置振動補正量算出部25が、各請求項記載の装置振動検出手段に相当する。
【0052】
また本実施形態では、
図9に示すような指示点Mの操作アイコンP1、P2、P3への引き込み処理を行う。これは、ディスプレイ2上で隣接する操作アイコンP1、P2、P3どうしが離間して表示されている場合でも、アイコン間の中間位置まで各操作アイコンP1、P2、P3に対応する指示点Mの判定有効領域を広げて設定している。これにより、図示するように指示点Mが振動によって各操作アイコンP2の表示領域から一時的にずれ出てしまった場合でも、当該操作アイコンP2の選択状態を維持できる。この引き込み処理は、例えばユーザの任意の時間だけアイコンの選択状態を維持し続ける必要のある操作に対して有効である。また、操作アイコンP1、P2、P3の選択状態を長く維持できることから、連成振動の学習状態も長く維持できる点で有効である。
【0053】
図10は、以上説明した動作態様を実現するために、ナビゲーション装置本体5のCPU11が実行する制御内容を表すフローチャートの一例である。なお、このフローは、デバイスカメラ3が動画の形態で室内画像を撮像している間に、例えば上記グラフィックユーザインターフェースがジェスチャー操作入力を要求した際に呼び出されて実行する。また、このフローを実行する前には、予め登録したユーザのうちのいずれのユーザが今回ジェスチャー操作入力するかを設定しておく必要がある。
【0054】
図10において、まずステップS5において、デバイスカメラ3で室内画像を1画像フレームだけ撮像する。
【0055】
ステップS10へ移り、X−Y加速度センサ4でX方向とY方向の2軸で加速度を検出する。
【0056】
ステップS100へ移り、上記ステップS5で撮像した画像フレームに対し、上記ステップS10で検出した加速度に基づいて撮像座標X−Yにおける位置補正を行う画像位置補正処理を実行する。
【0057】
ステップS200へ移り、上記ステップS100で位置補正された画像フレームにおいてユーザの手を画像認識する画像認識処理を実行する。なお、上記ステップS100とこのステップS200の手順における処理内容については特にフローとして図示しない(上記
図7のソフトウェア構成を参照)。
【0058】
ステップS15へ移り、上記ステップS200の認識結果に基づいて、撮像座標X−Y上における指示点Mの位置を検出する。
【0059】
ステップS20へ移り、ディスプレイ2上にポインティングマーカとしての指示点Mを表示する。
【0060】
ステップS25へ移り、ユーザが意図して指示点Mを静止させた状態であると推定できるか否かを判定する。まだユーザが意図的に指示点Mを移動させている状態であると推定される場合には、判定は満たされず、ステップS45へ移る。
【0061】
一方、上記ステップS25の判定において、指示点Mの静止状態が確定したと推定される場合には、判定が満たされ、ステップS30へ移る。
【0062】
ステップS30では、操作アイコンP1、P2、P3の判定有効領域における指示点Mの引き込み処理を行う(上記
図9参照)。
【0063】
ステップS35へ移り、その時点での指示点Mの位置及び上記ステップS30での引き込み処理により、ユーザが選択決定した操作アイコンP1、P2、P3を判別する。
【0064】
ステップS300へ移り、上記ステップS35で判別した操作アイコンP1、P2、P3に対応する操作処理を実行する操作対応実行処理を行う。
【0065】
ステップS40へ移り、上記ステップS35で判別した操作アイコンP1、P2、P3の中心位置からの偏差で、指示点Mの連成振動の振り幅を検出する。
【0066】
ステップS45へ移り、上記ステップS10で検出した加速度と、上記ステップS40で検出した連成振動の振り幅との関係をX方向とY方向の2軸で比較解析する。
【0067】
ステップS50へ移り、上記ステップS45での解析結果をその時点で設定されているユーザに対応して上記記憶媒体12cに記憶させる。そして、ステップS5に戻り同様の手順を繰り返す。
【0068】
以上説明したように、上記実施形態のナビゲーション装置Sにおいては、車両V(移動体に相当)に搭乗するユーザの画像を撮像するデバイスカメラ3(撮像手段に相当)と、前記車両Vと前記ユーザとの間の相対的な連成振動を検出する指示点ずれ量検出部26、及び連成振動補正量算出部27(連成振動検出手段に相当)と、前記画像と、前記連成振動とに基づいて、前記ユーザの手(所定の身体部分に相当)の位置を認識する画像認識処理部29(認識手段に相当)と、を備える。
【0069】
また、上記実施形態のナビゲーション装置Sが実行する画像認識方法においては、車両V(移動体に相当)に搭乗するユーザの画像を撮像する撮像部21(撮像工程に相当)と、前記車両Vと前記ユーザとの間の相対的な連成振動を検出する指示点ずれ量検出部26、及び連成振動補正量算出部27(連成振動検出工程に相当)と、前記画像と、前記連成振動とに基づいて、前記ユーザの手(所定の身体部分に相当)の位置を認識する画像認識処理部29(認識工程に相当)と、を実行する。
【0070】
このようにすると、車両Vの直接振動Aの影響を受けて当該車両Vとユーザの手との間に相対的に生じる連成振動を検出でき、デバイスカメラ3の撮像画像中においてこの連成振動を考慮したユーザの手の位置の認識が可能となる。この結果、車両Vに搭載されたデバイスカメラ3の撮像画像により当該車両Vに搭乗するユーザの手を位置認識する際の認識精度を向上できる。
上述した構成に加えてさらに、前記デバイスカメラ3に付加される加速度を検出する加速度検出部23(加速度検出手段に相当)を更に備え、前記指示点ずれ量検出部26及び連成振動補正量算出部27は、前記加速度に基づいて前記連成振動を検出する。
このようにすると、ユーザの手の位置の振れ方向と振れ幅については、加速度検出部23で検出した加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測されるユーザの手の位置を検出することが可能である。
【0071】
上述した構成に加えてさらに、前記画像と、前記連成振動とに基づいて前記デバイスカメラ3の撮像座標X−Yに対する前記画像全体の位置を補正する画像補正処理部28(補正手段に相当)を更に備え、前記画像認識処理部29は、前記画像補正処理部28で補正された位置の前記画像から、前記ユーザの手の位置を認識する。
【0072】
このようにすると、連成振動によって撮像座標X−Y中に生じるユーザの手のブレ成分を打ち消すよう撮像画像自体を位置補正でき、ユーザの手を位置認識する際の認識精度を向上できる。
【0073】
上述した構成に加えてさらに、ユーザの個人別に、前記デバイスカメラ3に付加される加速度と、前記ユーザの手の位置の振動量及び振動タイミングとに基づく対応関係を解析し、記憶媒体12c(記憶部に相当)に記憶させる差分量算出部32及びユーザ別特性学習部33(学習手段に相当)を更に備え、指示点ずれ量検出部26、及び連成振動補正量算出部27は、前記デバイスカメラ3が撮像したユーザに対して前記差分量算出部32及びユーザ別特性学習部33により記憶した前記対応関係に基づき、前記連成振動を検出する。
【0074】
このようにすると、多様な個人的条件によって異なってくる振り幅や振動の発生タイミング、ピークタイミングなどの連成振動の特性をユーザ別に学習できる。そしてそのユーザに対する学習練度が十分である場合には、検出された加速度を学習結果に照合することで、ユーザに対応する連成振動を高い精度で検出できる。
【0075】
上述した構成に加えてさらに、前記差分量算出部32及びユーザ別特性学習部33は、前記撮像座標X−Y中の操作アイコンP1、P2、P3の中心位置(撮像座標中の所定位置に相当)と前記ユーザの手の位置との間の偏差に基づいて前記振動量を検出する。
【0076】
このようにすると、特にユーザが操作アイコンP1、P2、P3を選択決定している間にはユーザの手が静止しているため、その静止状態の間で選択されている当該操作アイコンP1、P2、P3の中心位置とユーザの手が指し示す指示点Mとの間の偏差がそのまま連成振動の振り幅として正確に検出できる。つまり、ユーザの意図的な手の移動による影響をできるだけ除いて当該ユーザの連成振動の特性を正確に学習できる。また特に選択決定された操作アイコンP1、P2、P3の中心位置と指示点Mとの間の偏差を振動量としていることで、当該ユーザのジェスチャー操作入力に対するクセなども学習できるためジェスチャー操作入力の判定精度も向上できる。
【0077】
上述した構成に加えてさらに、前記車両Vと前記デバイスカメラ3との間の相対的な装置振動を検出するブロック別動きベクトル検出部24及び装置振動補正量算出部25(装置振動検出手段に相当)を更に備え、前記画像補正処理部28は、前記連成振動と前記装置振動の両方に基づいて前記撮像座標X−Yに対する前記画像全体の位置を補正する。
【0078】
このようにすると、車両Vの直接振動Aの影響を受けて当該車両Vとデバイスカメラ3との間に相対的に生じる装置振動を検出でき、この装置振動によって撮像座標X−Y中に生じるユーザの手のブレ成分を打ち消すよう撮像画像自体を位置補正できる。なお、例えばインターフェースデバイス1が車両Vのインストゥルメントパネル中に強固に嵌め込まれていたり、もしくは装置振動分を吸振可能な適宜のダンパー構造を設けているなどによって装置振動(上記
図4における相対振動B)が無視できるほど小さい場合には、この装置振動の検出と対応する画像の位置補正は不要である。
上述した構成に加えてさらに、前記ブロック別動きベクトル検出部24及び装置振動補正量算出部25は、前記加速度に基づいて前記連成振動を検出する。
このようにすると、ユーザの手の位置の振れ方向と振れ幅については、加速度検出部23で検出した加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測されるユーザの手の位置を検出することが可能である。
【0079】
上述した構成に加えてさらに、前記デバイスカメラ3は、時系列的に撮像した複数の画像フレームからなる動画形式画像で前記ユーザの手を撮像し、前記画像認識処理部29は、前記画像フレームから前記車両Vの所定部分の位置も併せて認識し、前記ブロック別動きベクトル検出部24及び装置振動補正量算出部25は、前記加速度を検出する前の画像フレームと前記加速度を検出した後の画像フレームの間における前記所定部分の位置の偏差に基づいて前記装置振動を検出する。
【0080】
このようにすると、ユーザの手の連成振動とは無関係に装置振動だけを検出して対応する画像の位置補正が可能となる。なお本発明ではこの手法に限らず、他の手法によって装置振動の検出と画像の位置補正を行ってもよい。
【0081】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。