(57)【特許請求の範囲】
【請求項１】
移動体に搭乗するユーザの画像を撮像する撮像手段と、
前記移動体と前記撮像手段との間の相対的な装置振動を検出する装置振動検出手段と、
前記移動体と前記ユーザとの間の相対的な連成振動を検出する連成振動検出手段と、
前記画像と、前記装置振動と、前記連成振動とに基づいて、前記ユーザの所定の身体部分の位置を認識する認識手段と、
を備えることを特徴とする画像認識装置。
【請求項２】
前記撮像手段に付加される加速度を検出する加速度検出手段を更に備え、
前記連成振動検出手段は、前記加速度に基づいて前記連成振動を検出する
ことを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記画像と、前記連成振動とに基づいて前記撮像手段の撮像座標に対する前記画像全体の位置を補正する補正手段を更に備え、
前記認識手段は、前記補正手段で補正された位置の前記画像から、前記ユーザの所定の身体部分の位置を認識する
ことを特徴とする請求項１または２に記載の画像認識装置。
【請求項４】
前記装置振動検出手段は、前記撮像手段に付加される加速度に基づいて前記装置振動を検出する
ことを特徴とする請求項１乃至３のいずれか一項に記載の画像認識装置。
【請求項５】
ユーザの個人別に、前記撮像手段に付加される加速度と、前記所定の身体部分の位置の振動量及び振動タイミングとに基づく対応関係を解析し、記憶部に記憶させる学習手段を更に備え、
前記連成振動検出手段は、前記撮像手段が撮像したユーザに対して前記学習手段により記憶した前記対応関係に基づき、前記連成振動を検出する
ことを特徴とする請求項１乃至４のいずれか一項に記載の画像認識装置。
【請求項６】
前記学習手段は、前記撮像手段の撮像座標中の所定位置と前記所定の身体部分の位置との間の偏差に基づいて前記振動量を検出する
ことを特徴とする請求項５記載の画像認識装置。
【請求項７】
前記撮像手段は、時系列的に撮像した複数の画像フレームからなる動画形式画像で前記所定の身体部分を撮像し、
前記認識手段は、前記画像フレームから前記移動体の所定部分の位置も併せて認識し、
前記装置振動検出手段は、前記加速度を検出する前の画像フレームと前記加速度を検出した後の画像フレームの間における前記所定部分の位置の偏差に基づいて前記装置振動を検出する
ことを特徴とする請求項１乃至６のいずれか一項に記載の画像認識装置。
【請求項８】
移動体に搭乗するユーザの画像を撮像手段を用いて撮像する撮像工程と、
前記移動体と前記撮像手段との間の相対的な装置振動を検出する装置振動検出工程と、
前記移動体と前記ユーザとの間の相対的な連成振動を検出する連成振動検出工程と、
前記画像と、前記装置振動と、前記連成振動とに基づいて、前記ユーザの所定の身体部分の位置を認識する認識工程と、
を実行することを特徴とする画像認識方法。
【請求項９】
請求項８に記載の画像認識方法を、画像認識装置により実行させる
ことを特徴とする画像認識プログラム。
【請求項１０】
請求項９に記載の画像認識プログラムが、前記画像認識装置により読み取り可能に記憶されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラで撮像した画像中の認識対象物の位置を認識する画像認識装置、画像認識方法、画像認識プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年では、カメラで撮像した画像中の所定の認識対象物の位置を認識する画像認識技術が多く提案されている。この位置認識を高い精度で行うためには、カメラが受ける振動に対して撮像画像の補正などを行う十分な対策を講じる必要がある。
【０００３】
これに対して例えば特許文献１に記載の技術では、カメラで撮影した画像のうちの背景の移動ベクトルを検出し、この逆ベクトルで光軸シフトレンズを動かすことでユーザの手ぶれに対する補正を行い、被写体のぶれない流し撮りを可能にする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１７８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方近年では、車両等の移動体に搭載するインターフェースデバイスに対しての操作入力方法として、例えば当該インターフェースデバイスが備えるカメラの前でユーザが掲げた手の位置を画像認識し、その位置に対応する選択指示を入力するジェスチャー操作入力技術が提案されている。ここで当該移動体の走行に伴う振動の発生によって画像認識される手の位置にも振動（ぶれ）が生じるが、この場合の振動にはカメラを含むインターフェースデバイス自体と移動体との間の相対的な振動以外にも、ユーザの身体自体と移動体との間の相対的な振動も合成されて含まれている。
【０００６】
上記従来技術では、カメラ自体と移動体との間の相対的な振動に対する補正は可能であるが、ユーザの身体自体と移動体との間の相対的な振動に対しては何ら対処できない。このため、移動体に搭載されたカメラの撮像画像により当該移動体に搭乗するユーザの所定の身体部分を位置認識する際の認識精度を向上できる技術が要望されていた。
【０００７】
本発明が解決しようとする課題には、上記した問題が一例として挙げられる。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１記載の発明は、移動体に搭乗するユーザの画像を撮像する撮像手段と、前記移動体と前記撮像手段との間の相対的な装置振動を検出する装置振動検出手段と、前記移動体と前記ユーザとの間の相対的な連成振動を検出する連成振動検出手段と、前記画像と、前記装置振動と、前記連成振動とに基づいて、前記ユーザの所定の身体部分の位置を認識する認識手段と、を備える。
【０００９】
上記課題を解決するために、請求項８記載の発明は、画像認識方法であって、移動体に搭乗するユーザの画像を撮像手段を用いて撮像する撮像工程と、前記移動体と前記撮像手段との間の相対的な装置振動を検出する装置振動検出工程と、前記移動体と前記ユーザとの間の相対的な連成振動を検出する連成振動検出工程と、前記画像と、前記装置振動と、前記連成振動とに基づいて、前記ユーザの所定の身体部分の位置を認識する認識工程と、を実行する。
【００１０】
上記課題を解決するために、請求項９記載の発明は、画像認識プログラムであって、請求項８に記載の画像認識方法を、画像認識装置により実行させる。
【００１１】
上記課題を解決するために、請求項１０記載の発明は、記録媒体であって、請求項９に記載の画像認識プログラムが、前記画像認識装置により読み取り可能に記憶されている。
【図面の簡単な説明】
【００１２】
【図１】本発明の画像認識装置の実施形態を含むナビゲーション装置を用いたジェスチャー操作入力の一例を示す斜視図である。
【図２】ナビゲーション装置のハードウェア構成例を示すブロック図である。
【図３】デバイスカメラが撮像した車両の室内画像を示した図の一例である。
【図４】指示点の振動を構成する２種類の振動について説明する図の一例である。
【図５】装置振動と連成振動のそれぞれの特性を説明する図の一例である。
【図６】指示点の振動に対して装置振動と連成振動で補正した場合を説明する図の一例である。
【図７】ナビゲーション装置のジェスチャー操作入力に関係するソフトウェア構成例を示すブロック図である。
【図８】デバイスカメラが撮像した車両の室内画像を位置補正した場合を示した図の一例である。
【図９】指示点の操作アイコンへの引き込み処理を示す図の一例である。
【図１０】ナビゲーション装置本体のＣＰＵが実行する制御内容を表すフローチャートの一例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態のうちの一つを図面を参照しつつ説明する。
【００１４】
図１は、本発明の画像認識装置の実施形態を含むナビゲーション装置を用いたジェスチャー操作入力の一例を示す斜視図である。この図１において、ナビゲーション装置Ｓは、移動体である車両Ｖのハンドル１０１や計器類１０２の横にインターフェースデバイス１を固定的に設けている。この例のインターフェースデバイス１は全体が矩形の平板状で形成されており、その前面にはディスプレイ２とデバイスカメラ３が備えられている。
【００１５】
図示する例では、当該ナビゲーション装置Ｓに対する各種操作に対応した３つの操作アイコンＰ１，Ｐ２，Ｐ３がディスプレイ上に横一列に並んで表示されている。運転席（又は助手席）にいるユーザはディスプレイ２上に直接触れずともその表示位置の手前側の空間を人差し指で指し示すだけで、ナビゲーション装置Ｓはデバイスカメラ３を介してその指先の位置をリアルタイムに画像認識し、ディスプレイ２上の対応する位置に指示点Ｍをポインティングマーカとして表示する。そして指示点Ｍが一定時間静止した際には、その時点で指示点Ｍが位置するいずれかの操作アイコン（図示する例では操作アイコンＰ２）が選択操作されたとして検知する。
【００１６】
図２は、ナビゲーション装置Ｓのハードウェア構成例を示すブロック図である。この図２において、ナビゲーション装置Ｓは、インターフェースデバイス１と、ナビゲーション装置本体５を有している。
【００１７】
インターフェースデバイス１は、上述したディスプレイ２とデバイスカメラ３の他にＸ−Ｙ加速度センサ４も内部に備えている。
【００１８】
ディスプレイ２は、例えばＬＣＤパネルなどで構成されて、ナビゲーション装置本体５のグラフィックコントローラ（後述）から入力された画像信号に基づき、各種の情報画面を表示する機能を有する。
【００１９】
デバイスカメラ３は撮像手段に相当し、例えばＣＣＤ撮像素子などを利用し、上述した当該車両Ｖの室内で主に運転席側と助手席側の中間方向へ向けて（もしくはその周囲を回動可能に）画像を撮像し、対応する信号をナビゲーション装置本体５のＣＰＵ（後述）へ出力する機能を有する。なお、このデバイスカメラ３は十分に短い時間周期で時系列的に複数の画像フレームを撮像し続けることで、室内画像を動画の形式で撮像する。また、上記図１に示したジェスチャー操作入力が可能なように、デバイスカメラ３はその撮像方向が上記ディスプレイ２の表示方向とほぼ同じ方向に向かうようインターフェースデバイス１に固定されている。
【００２０】
Ｘ−Ｙ加速度センサ４は、例えばピエゾ抵抗型のＭＥＭＳ素子などを利用し、デバイスカメラ３の後述する撮像領域Ｘ−ＹのＸ方向とＹ方向にそれぞれ対応する２軸で、当該デバイスカメラ３に付加された加速度を検出する機能を有する。
【００２１】
ナビゲーション装置本体５は、ＣＰＵ１１、記憶装置１２、ＧＰＳ１３、グラフィックコントローラ１４を有している。
【００２２】
ＣＰＵ１１は、所定のプログラムの動作によって各種の演算を行うとともに、他の各部との間で情報の交換や各種の制御指示を出力することで、ナビゲーション装置Ｓ全体を制御する機能を有する。
【００２３】
記憶装置１２は、ＲＯＭ１２ａ、ＲＡＭ１２ｂ、及び記憶媒体１２ｃを有する。ＲＯＭ１２ａは、各種の処理プログラムやその他必要な情報が予め書き込まれた情報記憶媒体である。ＲＡＭ１２ｂは、上記各種のプログラムを実行する上で必要な情報の書き込み及び読み出しが行われる情報記憶媒体である。記憶媒体１２ｃは、例えばフラッシュメモリ、ハードディスクなどの不揮発性の情報記憶媒体であり、後述するような加速度と連成振動との間の対応関係を記憶する。この記憶媒体１２ｃが各請求項記載の記憶部に相当する。
【００２４】
ＧＰＳ１３は、車両Ｖの現在地の測位を行い現在位置情報を取得する。当該取得された情報を用いて、ナビゲーション装置Ｓは、予め記憶している地図情報に基づいて上記現在位置の周辺の地形、道路、及び施設等の情報を取得することができる。
【００２５】
グラフィックコントローラ１４は、ＣＰＵ１１の制御によってビデオＲＡＭ（図示せず）及び上記ＧＰＳ１３などから画像データを取得し、この画像データに基づく画像信号を上記ディスプレイ２に表示させる機能を有する。
【００２６】
以上の構成のナビゲーション装置Ｓにおいては、当該車両Ｖに搭乗するユーザを含めた室内画像をデバイスカメラ３で動画形式で撮像し、各画像フレーム毎でユーザの手Ｈ（ユーザの所定の身体部分に相当）の形状と位置を画像認識する。例えば、図３に示す例のように、デバイスカメラ３が撮像した室内画像の撮像座標Ｘ−Ｙ上においてユーザの人差し指の指先の位置を画像認識で検出し、その位置をその時点でユーザにより指し示されている指示点Ｍとして検出する。ここで、当該車両Ｖの走行に伴って車両Ｖ全体が振動した際には、上記指示点Ｍもユーザが意図しない振れ方向と振れ幅で振動してしまう。しかし、この指示点Ｍの振れ方向と振れ幅については、上記Ｘ−Ｙ加速度で検出したＸ方向とＹ方向それぞれの加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測される指示点Ｍを検出することが可能である。この位置補正の手法について以下に詳細に説明する。
【００２７】
まず、図４を参照して指示点Ｍの振動を構成する２種類の振動について説明する。なお以下の説明においては、ユーザは意図的にその手を動かさず静止させたままの状態を維持していることを前提とする。この図４において、例えば車両Ｖが凹凸のある路面上を走行することで、車両Ｖ全体に１次的な直接振動Ａが発生する。
【００２８】
本実施形態の例では、デバイスカメラ３とＸ−Ｙ加速度センサ４を備えたインターフェースデバイス１が車両Ｖに固定的に設置されているため、上記直接振動Ａに含まれる低周波成分に対しては当該インターフェースデバイス１自体と車両Ｖとの間で相対的な振動はほとんど発生しない。しかし、エンジンの振動や上記直接振動Ａに含まれる高周波成分などに対しては、当該インターフェースデバイス１自体と車両Ｖとの間で２次的な相対振動Ｂが生じてしまう。
【００２９】
また一方、運転手や同乗者であるユーザの身体はシートベルトによる多少の拘束があるものの車両Ｖのシート上に着座しているだけであるため、上記直接振動Ａによりユーザの身体自体が振動しやすく、またそのユーザの身体のうちでもインターフェースデバイス１の前方に掲げたユーザの手の部分は梁の先端部に相当して相対的に揺れやすい。つまり、上記直接振動Ａの影響を受けてユーザの手の部分と車両Ｖとの間で２次的な相対振動Ｃが生じやすい。
【００３０】
インターフェースデバイス１に備えられたＸ−Ｙ加速度センサ４には、上記直接振動Ａと相対振動Ｂとを合成した振動Ａ＋Ｂによる加速度が検出される。またユーザの手の部分は、上記直接振動Ａと相対振動Ｃとを合成した振動Ａ＋Ｃが生じる。しかし、上記の直接振動Ａ、相対振動Ａ＋Ｂ、Ａ＋Ｃはいずれも路面を基準とした対地振動であり、それに対して本実施形態で補正すべき振動はデバイスカメラ３の撮像座標Ｘ−Ｙ中におけるユーザの手の振動、つまりデバイスカメラ３とユーザの手との間の相対振動Ｂ＋Ｃである。このため、路面基準の対地振動ではなく、車両基準の対車振動で相対振動Ｂと相対振動Ｃを検出してそれぞれ補正できれば、共通の車両Ｖ上で受ける直接振動Ａの影響は無視できる。以下においては、上記の相対振動Ｂを装置振動、相対振動Ｃを連成振動として区別する。
【００３１】
図５は、上記装置振動と上記連成振動のそれぞれの特性を説明する図の一例である。図示する例では、車両Ｖに例えばＹ方向（上下方向）でインパルスモデル振動（瞬間的な単位振動量だけの振動：図示省略）を加振した後に生じる装置振動と連成振動のＹ方向成分の振り幅の時間変化を比較して示している。
【００３２】
インパルスモデル振動の加振後にはまず先に装置振動（実線部参照）が発生し、その後所定の時間差で重複して連成振動（破線部参照）が発生する。いずれも山形の波形で振動するが、それぞれのピークタイミングにも発生時の時間差に対応したズレが生じている。これは、車両の構造部材で固定されているインターフェースデバイス１の方が早く装置振動を伝達し、柔軟なユーザの身体を介して伝達する連成振動の方が遅れて発生するためである。
【００３３】
また装置振動の場合には、所定の加振条件に対して装置振動の振動量や振動の発生タイミング及びピークタイミングは常に同じ対応関係で発生する。このため本実施形態においては、Ｘ−Ｙ加速度センサ４で検出した２軸の加速度と、その発生前後における画像フレーム間での車両Ｖの室内背景の移動偏差（動きベクトル）とに基づいて直接的に装置振動を推定できる。この移動偏差は、撮像座標Ｘ−Ｙ上で画像認識により検出された車両Ｖの所定部分の認識位置の偏差で求めるといった公知の手法を用いればよく、ここでは詳しい説明を省略する。この場合、Ｘ−Ｙ加速度センサ４で検出される２軸の加速度にはそれぞれ上記の直接振動Ａも含まれるが、上記移動偏差の検出を開始するトリガーとして用いるため各加速度の大きさは問題としない。
【００３４】
一方、連成振動の場合には加振条件が同じであっても、当該ユーザの身体各部（例えば腕など）の重量や関節の柔軟さなどといった多様な個人的条件によって、その振り幅（振動量に相当）や振動の発生タイミング、ピークタイミング（振動タイミングに相当）が異なってくる。これに対して本実施形態では、その時点で当該ナビゲーション装置Ｓを使用するユーザを予め設定しておき、Ｘ−Ｙ加速度センサ４で検出される加速度と連成振動との対応関係を解析して記憶することでそのユーザに対応した連成振動の特性を学習する。そしてそのユーザに対する学習練度が十分である場合には、上記Ｘ−Ｙ加速度センサで検出された加速度を学習結果に照合することで、ユーザに対応する連成振動を高い精度で検出できる。なお本実施形態の例では、連成振動の振り幅は、撮像座標Ｘ−Ｙ上におけるそのときの指示点Ｍと操作アイコンＰ１、Ｐ２、Ｐ３の中心位置（撮像座標中の所定位置に相当）との間の離間距離（偏差に相当）で検出する。またこの場合も、Ｘ−Ｙ加速度センサ４で検出される２軸の加速度にはそれぞれ上記の直接振動Ａも含まれているが、直接振動Ａと連成振動（相対振動Ｃ）は比例関係にあり、上記学習では加速度と連成振動との間の対応関係（例えば係数）を記憶するため問題はない。
【００３５】
例えば図６（ａ）に示すように  振動に対して何ら補正を行わない場合には、指示点Ｍは実線で示す装置振動と破線で示す連成振動を合成した振動で大きく振れる。これに対して、上記公知の手法により検出した装置振動に対応して撮像画像の位置補正を行った場合には、図６（ｂ）に示すように破線で示す連成振動だけで指示点Ｍが振動する。そして本実施形態では、さらに上記学習により検出したユーザ別の連成振動に対しても併せて撮像画像の位置補正を行うことで、図６（ｃ）に示すように指示点Ｍの振動を大幅に抑えることができる。以上のように、装置振動と連成振動の両方に対応して撮像画像の位置補正を行うことで、ユーザが本来意図している指示点Ｍを高い精度で推定できる。
【００３６】
図７は、上述した位置補正の手法を利用した上記ジェスチャー操作入力に関係するソフトウェア構成例を示すブロック図である。この図７において、ジェスチャー操作入力に関係するソフトウェアブロックとしては、撮像部２１、フレームバッファ２２、加速度検出部２３、ブロック別動きベクトル検出部２４、装置振動補正量算出部２５、指示点ずれ量検出部２６、連成振動補正量算出部２７、画像補正処理部２８、画像認識処理部２９、ハンドジェスチャーインターフェース３０、グラフィックユーザインターフェース３１、差分量算出部３２、ユーザ別特性学習部３３を有している。
【００３７】
撮像部２１は、デバイスカメラ３の撮像方向に対応する撮像座標Ｘ−Ｙで画像フレーム単位の撮像をハードウェア的に行う。
【００３８】
フレームバッファ２２は、撮像部２１で撮像された各画像フレームを時系列順に記憶する。
【００３９】
加速度検出部２３は、Ｘ−Ｙ加速度センサ４でのＸ方向、Ｙ方向それぞれにおける加速度の検出をハードウェア的に行う。
【００４０】
ブロック別動きベクトル検出部２４は、画像フレームをブロック分割したうちで明らかに車両Ｖの所定部分（例えばヘッドレストなど）であるとして画像認識されたブロック部分の位置について、所定量以上の振動に対応する加速度の検出前と検出後の画像フレーム間での移動偏差を動きベクトルとして検出する。この動きベクトルの検出処理は、公知の振動に対する画像位置補正の技術を用いて行えばよく、ここでは詳しい説明を省略する。
【００４１】
装置振動補正量算出部２５は、上記ブロック別動きベクトル検出部２４で検出した動きベクトルの逆ベクトルに基づいて、撮像座標Ｘ−Ｙに対応する装置振動分の画像フレームの位置補正量を算出する。
【００４２】
指示点ずれ量検出部２６は、後に詳述するユーザ別特性学習部３３で学習したユーザ別の連成振動の特性を参照し、上記加速度検出部２３で検出した加速度に対応する連成振動を指示点Ｍの座標ずれ量として検出する。
【００４３】
連成振動補正量算出部２７は、上記指示点ずれ量検出部２６で検出した指示点Ｍの座標ずれ量に基づいて、撮像座標Ｘ−Ｙに対応する装置振動分の画像フレームの位置補正量を算出する。
【００４４】
画像補正処理部２８は、上記装置振動補正量算出部２５で算出した装置振動分の補正量と、上記連成振動補正量算出部２７で算出した連成振動分の補正量とを加算して最終的な実効補正量を算出し、上記フレームバッファ２２から読み出した対応するタイミングの画像フレームに対して撮像座標Ｘ−Ｙでの位置補正を行う。
【００４５】
画像認識処理部２９は、上記画像補正処理部２８で位置補正した画像フレームにおいて、その撮像座標Ｘ−Ｙにおけるユーザの手及びヘッドレストなどの車両部分の形状と位置を画像認識する。
【００４６】
ハンドジェスチャーインターフェース３０は、上記画像認識処理部２９の認識結果に基づいて指示点Ｍの位置を認識し、その時点でユーザが意図しているディスプレイ２上の指示位置を推定する。
【００４７】
グラフィックユーザインターフェース３１は、その時点でディスプレイ２に表示している操作アイコンＰ１、Ｐ２、Ｐ３の配置と、上記ハンドジェスチャーインターフェース３０が推定した指示位置に基づいて、ユーザが選択しようとしている操作アイコンＰ１、Ｐ２、Ｐ３を判定する。
【００４８】
差分量算出部３２は、その時点の指示点Ｍの位置と、上記グラフィックユーザインターフェース３１で選択対象として判定した操作アイコンＰ１、Ｐ２、Ｐ３の中心位置との間の離間距離を差分量として算出する。
【００４９】
ユーザ別特性学習部３３は、上記差分量算出部３２で算出した差分量を連成振動の振り幅とみなし、これとＸ−Ｙ加速度センサ４で検出される加速度との対応関係を解析して上記記憶媒体１２ｃに記憶させることでその時点のユーザに対応した連成振動の特性を学習する。
【００５０】
以上のソフトウェア構成によるジェスチャー操作入力では、フレームバッファ２２に記憶される各画像フレームに対し、装置振動補正量算出部２５が算出する装置振動分の補正量と、連成振動補正量算出部２７が算出する連成振動分の補正量とを併せて各画像フレームの撮像タイミングに対応した撮像座標Ｘ−Ｙに対する位置補正が可能となる。この位置補正は、例えば上記図３に対応する図８に示すように、元の撮像座標Ｘ−Ｙに対して画像フレーム全体の位置を補正する。そして特に図示しないが、このように位置補正された画像フレームを撮像順に切り替えて見ると、指示点Ｍの位置が安定する。つまり、ユーザが意図的に指示点Ｍの静止状態を維持したつもりでありながら実際にはユーザの手が不可抗力的に連成振動している場合であっても、ナビゲーション装置Ｓ側でその連成振動に対応して指示点Ｍの位置を安定化できる。
【００５１】
なお上記図８のソフトウェアブロック図において、上記撮像部２１が、各請求項記載の撮像工程に相当する。また、上記加速度検出部２３が、各請求項記載の加速度検出手段及び加速度検出工程に相当する。また、上記指示点ずれ量検出部２６と、上記連成振動補正量算出部２７が、各請求項記載の連成振動検出手段及び連成振動検出工程に相当し、上記差分量算出部３２と上記ユーザ別特性学習部３３が各請求項記載の学習手段に相当する。また、上記画像補正処理部２８が、各請求項記載の補正手段及び補正工程に相当する。また、上記画像認識処理部２９が、各請求項記載の認識手段及び認識工程に相当する。また、上記ブロック別動きベクトル検出部２４と上記装置振動補正量算出部２５が、各請求項記載の装置振動検出手段に相当する。
【００５２】
また本実施形態では、図９に示すような指示点Ｍの操作アイコンＰ１、Ｐ２、Ｐ３への引き込み処理を行う。これは、ディスプレイ２上で隣接する操作アイコンＰ１、Ｐ２、Ｐ３どうしが離間して表示されている場合でも、アイコン間の中間位置まで各操作アイコンＰ１、Ｐ２、Ｐ３に対応する指示点Ｍの判定有効領域を広げて設定している。これにより、図示するように指示点Ｍが振動によって各操作アイコンＰ２の表示領域から一時的にずれ出てしまった場合でも、当該操作アイコンＰ２の選択状態を維持できる。この引き込み処理は、例えばユーザの任意の時間だけアイコンの選択状態を維持し続ける必要のある操作に対して有効である。また、操作アイコンＰ１、Ｐ２、Ｐ３の選択状態を長く維持できることから、連成振動の学習状態も長く維持できる点で有効である。
【００５３】
図１０は、以上説明した動作態様を実現するために、ナビゲーション装置本体５のＣＰＵ１１が実行する制御内容を表すフローチャートの一例である。なお、このフローは、デバイスカメラ３が動画の形態で室内画像を撮像している間に、例えば上記グラフィックユーザインターフェースがジェスチャー操作入力を要求した際に呼び出されて実行する。また、このフローを実行する前には、予め登録したユーザのうちのいずれのユーザが今回ジェスチャー操作入力するかを設定しておく必要がある。
【００５４】
図１０において、まずステップＳ５において、デバイスカメラ３で室内画像を１画像フレームだけ撮像する。
【００５５】
ステップＳ１０へ移り、Ｘ−Ｙ加速度センサ４でＸ方向とＹ方向の２軸で加速度を検出する。
【００５６】
ステップＳ１００へ移り、上記ステップＳ５で撮像した画像フレームに対し、上記ステップＳ１０で検出した加速度に基づいて撮像座標Ｘ−Ｙにおける位置補正を行う画像位置補正処理を実行する。
【００５７】
ステップＳ２００へ移り、上記ステップＳ１００で位置補正された画像フレームにおいてユーザの手を画像認識する画像認識処理を実行する。なお、上記ステップＳ１００とこのステップＳ２００の手順における処理内容については特にフローとして図示しない（上記図７のソフトウェア構成を参照）。
【００５８】
ステップＳ１５へ移り、上記ステップＳ２００の認識結果に基づいて、撮像座標Ｘ−Ｙ上における指示点Ｍの位置を検出する。
【００５９】
ステップＳ２０へ移り、ディスプレイ２上にポインティングマーカとしての指示点Ｍを表示する。
【００６０】
ステップＳ２５へ移り、ユーザが意図して指示点Ｍを静止させた状態であると推定できるか否かを判定する。まだユーザが意図的に指示点Ｍを移動させている状態であると推定される場合には、判定は満たされず、ステップＳ４５へ移る。
【００６１】
一方、上記ステップＳ２５の判定において、指示点Ｍの静止状態が確定したと推定される場合には、判定が満たされ、ステップＳ３０へ移る。
【００６２】
ステップＳ３０では、操作アイコンＰ１、Ｐ２、Ｐ３の判定有効領域における指示点Ｍの引き込み処理を行う（上記図９参照）。
【００６３】
ステップＳ３５へ移り、その時点での指示点Ｍの位置及び上記ステップＳ３０での引き込み処理により、ユーザが選択決定した操作アイコンＰ１、Ｐ２、Ｐ３を判別する。
【００６４】
ステップＳ３００へ移り、上記ステップＳ３５で判別した操作アイコンＰ１、Ｐ２、Ｐ３に対応する操作処理を実行する操作対応実行処理を行う。
【００６５】
ステップＳ４０へ移り、上記ステップＳ３５で判別した操作アイコンＰ１、Ｐ２、Ｐ３の中心位置からの偏差で、指示点Ｍの連成振動の振り幅を検出する。
【００６６】
ステップＳ４５へ移り、上記ステップＳ１０で検出した加速度と、上記ステップＳ４０で検出した連成振動の振り幅との関係をＸ方向とＹ方向の２軸で比較解析する。
【００６７】
ステップＳ５０へ移り、上記ステップＳ４５での解析結果をその時点で設定されているユーザに対応して上記記憶媒体１２ｃに記憶させる。そして、ステップＳ５に戻り同様の手順を繰り返す。
【００６８】
以上説明したように、上記実施形態のナビゲーション装置Ｓにおいては、車両Ｖ（移動体に相当）に搭乗するユーザの画像を撮像するデバイスカメラ３（撮像手段に相当）と、前記車両Ｖと前記ユーザとの間の相対的な連成振動を検出する指示点ずれ量検出部２６、及び連成振動補正量算出部２７（連成振動検出手段に相当）と、前記画像と、前記連成振動とに基づいて、前記ユーザの手（所定の身体部分に相当）の位置を認識する画像認識処理部２９（認識手段に相当）と、を備える。
【００６９】
また、上記実施形態のナビゲーション装置Ｓが実行する画像認識方法においては、車両Ｖ（移動体に相当）に搭乗するユーザの画像を撮像する撮像部２１（撮像工程に相当）と、前記車両Ｖと前記ユーザとの間の相対的な連成振動を検出する指示点ずれ量検出部２６、及び連成振動補正量算出部２７（連成振動検出工程に相当）と、前記画像と、前記連成振動とに基づいて、前記ユーザの手（所定の身体部分に相当）の位置を認識する画像認識処理部２９（認識工程に相当）と、を実行する。
【００７０】
このようにすると、車両Ｖの直接振動Ａの影響を受けて当該車両Ｖとユーザの手との間に相対的に生じる連成振動を検出でき、デバイスカメラ３の撮像画像中においてこの連成振動を考慮したユーザの手の位置の認識が可能となる。この結果、車両Ｖに搭載されたデバイスカメラ３の撮像画像により当該車両Ｖに搭乗するユーザの手を位置認識する際の認識精度を向上できる。
上述した構成に加えてさらに、前記デバイスカメラ３に付加される加速度を検出する加速度検出部２３（加速度検出手段に相当）を更に備え、前記指示点ずれ量検出部２６及び連成振動補正量算出部２７は、前記加速度に基づいて前記連成振動を検出する。
このようにすると、ユーザの手の位置の振れ方向と振れ幅については、加速度検出部２３で検出した加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測されるユーザの手の位置を検出することが可能である。
【００７１】
上述した構成に加えてさらに、前記画像と、前記連成振動とに基づいて前記デバイスカメラ３の撮像座標Ｘ−Ｙに対する前記画像全体の位置を補正する画像補正処理部２８（補正手段に相当）を更に備え、前記画像認識処理部２９は、前記画像補正処理部２８で補正された位置の前記画像から、前記ユーザの手の位置を認識する。
【００７２】
このようにすると、連成振動によって撮像座標Ｘ−Ｙ中に生じるユーザの手のブレ成分を打ち消すよう撮像画像自体を位置補正でき、ユーザの手を位置認識する際の認識精度を向上できる。
【００７３】
上述した構成に加えてさらに、ユーザの個人別に、前記デバイスカメラ３に付加される加速度と、前記ユーザの手の位置の振動量及び振動タイミングとに基づく対応関係を解析し、記憶媒体１２ｃ（記憶部に相当）に記憶させる差分量算出部３２及びユーザ別特性学習部３３（学習手段に相当）を更に備え、指示点ずれ量検出部２６、及び連成振動補正量算出部２７は、前記デバイスカメラ３が撮像したユーザに対して前記差分量算出部３２及びユーザ別特性学習部３３により記憶した前記対応関係に基づき、前記連成振動を検出する。
【００７４】
このようにすると、多様な個人的条件によって異なってくる振り幅や振動の発生タイミング、ピークタイミングなどの連成振動の特性をユーザ別に学習できる。そしてそのユーザに対する学習練度が十分である場合には、検出された加速度を学習結果に照合することで、ユーザに対応する連成振動を高い精度で検出できる。
【００７５】
上述した構成に加えてさらに、前記差分量算出部３２及びユーザ別特性学習部３３は、前記撮像座標Ｘ−Ｙ中の操作アイコンＰ１、Ｐ２、Ｐ３の中心位置（撮像座標中の所定位置に相当）と前記ユーザの手の位置との間の偏差に基づいて前記振動量を検出する。
【００７６】
このようにすると、特にユーザが操作アイコンＰ１、Ｐ２、Ｐ３を選択決定している間にはユーザの手が静止しているため、その静止状態の間で選択されている当該操作アイコンＰ１、Ｐ２、Ｐ３の中心位置とユーザの手が指し示す指示点Ｍとの間の偏差がそのまま連成振動の振り幅として正確に検出できる。つまり、ユーザの意図的な手の移動による影響をできるだけ除いて当該ユーザの連成振動の特性を正確に学習できる。また特に選択決定された操作アイコンＰ１、Ｐ２、Ｐ３の中心位置と指示点Ｍとの間の偏差を振動量としていることで、当該ユーザのジェスチャー操作入力に対するクセなども学習できるためジェスチャー操作入力の判定精度も向上できる。
【００７７】
上述した構成に加えてさらに、前記車両Ｖと前記デバイスカメラ３との間の相対的な装置振動を検出するブロック別動きベクトル検出部２４及び装置振動補正量算出部２５（装置振動検出手段に相当）を更に備え、前記画像補正処理部２８は、前記連成振動と前記装置振動の両方に基づいて前記撮像座標Ｘ−Ｙに対する前記画像全体の位置を補正する。
【００７８】
このようにすると、車両Ｖの直接振動Ａの影響を受けて当該車両Ｖとデバイスカメラ３との間に相対的に生じる装置振動を検出でき、この装置振動によって撮像座標Ｘ−Ｙ中に生じるユーザの手のブレ成分を打ち消すよう撮像画像自体を位置補正できる。なお、例えばインターフェースデバイス１が車両Ｖのインストゥルメントパネル中に強固に嵌め込まれていたり、もしくは装置振動分を吸振可能な適宜のダンパー構造を設けているなどによって装置振動（上記図４における相対振動Ｂ）が無視できるほど小さい場合には、この装置振動の検出と対応する画像の位置補正は不要である。
上述した構成に加えてさらに、前記ブロック別動きベクトル検出部２４及び装置振動補正量算出部２５は、前記加速度に基づいて前記連成振動を検出する。
このようにすると、ユーザの手の位置の振れ方向と振れ幅については、加速度検出部２３で検出した加速度と一定の対応関係があることから、装置側で振動に対応した位置補正を行ってユーザが本来意図していると推測されるユーザの手の位置を検出することが可能である。
【００７９】
上述した構成に加えてさらに、前記デバイスカメラ３は、時系列的に撮像した複数の画像フレームからなる動画形式画像で前記ユーザの手を撮像し、前記画像認識処理部２９は、前記画像フレームから前記車両Ｖの所定部分の位置も併せて認識し、前記ブロック別動きベクトル検出部２４及び装置振動補正量算出部２５は、前記加速度を検出する前の画像フレームと前記加速度を検出した後の画像フレームの間における前記所定部分の位置の偏差に基づいて前記装置振動を検出する。
【００８０】
このようにすると、ユーザの手の連成振動とは無関係に装置振動だけを検出して対応する画像の位置補正が可能となる。なお本発明ではこの手法に限らず、他の手法によって装置振動の検出と画像の位置補正を行ってもよい。
【００８１】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【符号の説明】
【００８２】
１              インターフェースデバイス
２              ディスプレイ
３              デバイスカメラ（撮像手段に相当）
４              Ｘ−Ｙ加速度センサ
５              ナビゲーション装置本体
１１            ＣＰＵ
１２            記憶装置
１２ｃ          記憶媒体（記憶部に相当）
１３            ＧＰＳ
１４            グラフィックコントローラ
２１            撮像部（撮像工程に相当）
２２            フレームバッファ
２３            加速度検出部（加速度検出手段、加速度検出工程に相当）
２４            ブロック別動きベクトル検出部（装置振動検出手段に相当）
２５            装置振動補正量算出部（装置振動検出手段に相当）
２６            指示点ずれ量検出部（連成振動検出手段、連成振動検出工程に相当）
２７            連成振動補正量算出部（連成振動検出手段、連成振動検出工程に相当）
２８            画像補正処理部（補正手段、補正工程に相当）
２９            画像認識処理部（認識手段、認識工程に相当）
３０            ハンドジェスチャーインターフェース
３１            グラフィックユーザインターフェース
３２            差分量算出部（学習手段に相当）
３３            ユーザ別特性学習部（学習手段に相当）
Ｈ              ユーザの手（ユーザの所定の身体部分に相当）
Ｍ              指示点
Ｐ１、Ｐ２      操作アイコン
、Ｐ３
Ｓ              ナビゲーション装置
Ｖ              車両
【図１】
0006055899.tif 000002
【図２】
0006055899.tif 000003
【図３】
0006055899.tif 000004
【図４】
0006055899.tif 000005
【図５】
0006055899.tif 000006
【図６】
0006055899.tif 000007
【図７】
0006055899.tif 000008
【図８】
0006055899.tif 000009
【図９】
0006055899.tif 000010
【図１０】
0006055899.tif 000011