【文献】
青山 章一郎,非接触型掌紋認証のための掌紋領域抽出アルゴリズムの検討,2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD−ROM] 2011年 暗号と情報セキュリティシンポジウム (SCIS2011),2011年 1月28日,pp.1-7
【文献】
井上 快,Kinectを利用した指文字認識に関する検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2013年 1月18日,第112巻 第417号,pp.45-50
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0046】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、本発明は、
以下に説明する眼鏡表示装置に限定されるものではなく、他のウェアラブル機器、その他入出力装置、表示装置、テレビジョン、モニタ、プロジェクタ等にも適用することができる。
【0047】
(眼鏡表示装置の構成概略)
図1は、一実施の形態にかかる眼鏡表示装置100の基本構成の一例を示す模式的外観正面図であり、
図2は、眼鏡表示装置100の一例を示す模式的外観斜視図である。
【0048】
図1または
図2に示すように、眼鏡表示装置100は、眼鏡型の表示装置である。当該眼鏡表示装置100は、後述するように、ユーザの顔に装着して使用される。
【0049】
図1および
図2に示すように、眼鏡表示装置100は、主に、眼鏡ユニット200、通信システム300および操作システム400からなる。
【0050】
(眼鏡ユニット200)
図1および
図2に示すように、眼鏡ユニット200は、眼鏡フレーム210および一対の半透過ディスプレイ220からなる。眼鏡フレーム210は、主にリムユニット211、テンプルユニット212を含む。
眼鏡フレーム210のリムユニット211により一対の半透過ディスプレイ220が支持される。
【0051】
本実施の形態においては、眼鏡表示装置100には、リムユニット211に一対の半透過ディスプレイ220を設けることとしているが、これに限定されず、眼鏡表示装置100のリムユニット211に通常のサングラスレンズ、紫外線カットレンズ、または眼鏡レンズなどのレンズ類を設け、別に1個の半透過ディスプレイ220または一対の半透過ディスプレイ220を設けてもよい。
また、当該レンズ類の一部に、半透過ディスプレイ220を埋め込んで設けてもよい。
【0052】
さらに、本実施の形態は、眼鏡タイプに限定するものではなく、人体に装着し、装着者の視野に配設できるタイプであれば、帽子タイプその他任意のヘッドマウントディスプレイ装置に使用することができる。
【0053】
(通信システム300)
次に、通信システム300について説明を行なう。
通信システム300は、バッテリーユニット301、アンテナモジュール302、カメラユニット303、スピーカユニット304、GPS(Global Positioning System)ユニット307、マイクユニット308、SIM(Subscriber Identity Module Card)ユニット309およびメインユニット310を含む。
なお、カメラユニットにはCCDセンサが備えられてよい。スピーカユニット304は、ノーマルイヤホンであってもよいし、骨伝導イヤホンであってもよい。SIMユニット309には、NFC(Near Field Communication:近距離無線通信)ユニットおよび他の接触式ICカードユニット、ならびに非接触式ICカードユニットを含む。
【0054】
以上のように、本実施の形態にかかる通信システム300は、少なくとも携帯電話、スマートフォンおよびタブレット端末のいずれかの機能を含むものである。具体的には、電話機能、インターネット機能、ブラウザ機能、メール機能、および撮像機能等を含むものである。
したがって、ユーザは、眼鏡表示装置100を用いて、通信装置、スピーカおよびマイクにより、携帯電話と同様の通話機能を使用することができる。また、眼鏡型であるので、両手を利用せず、通話を行なうことができる。
【0055】
(操作システム400)
続いて、操作システム400は、赤外線検知ユニット410、ジャイロセンサユニット420、加速度検知ユニット430および制御ユニット450からなる。赤外線検知ユニット410は、主に赤外線照射素子411および赤外線検知カメラ412からなる。
【0056】
続いて、操作システム400の構成、処理の流れおよび概念について説明を行なう。
図3は、操作システム400の制御ユニット450の構成の一例を示す模式図である。
【0057】
図3に示すように、制御ユニット450は、イメージセンサ演算ユニット451、デプスマップ演算ユニット452、イメージ処理ユニット453、解剖学的認識ユニット454、ジェスチャデータ記録ユニット455、ジェスチャ識別ユニット456、キャリブレーションデータ記録ユニット457、合成演算ユニット458、アプリケーションソフトユニット459、イベントサービスユニット460、キャリブレーションサービスユニット461、表示サービスユニット462、グラフィック演算ユニット463、ディスプレイ演算ユニット464、および6軸駆動ドライバユニット465を含む。
【0058】
なお、制御ユニット450は、上記の全てを含む必要はなく、適宜必要な1または複数のユニットを含んでもよい。たとえば、ジェスチャデータ記録ユニット455およびキャリブレーションデータ記録ユニット457は、クラウド上に配置してもよく、合成演算ユニット458を特に設けなくてもよい。
【0059】
次に、
図4は、操作システム400における処理の流れを示すフローチャートであり、
図5は
図4のフローチャートに応じた概念を示す模式図である。
【0060】
まず、
図4に示すように、赤外線検知ユニット410から対象のデータを取得し、デプスマップ演算ユニット452により深さ演算を行なう(ステップS1。次に、イメージ処理ユニット453により外形イメージデータを処理する(ステップS2)。
【0061】
次いで、解剖学的認識ユニット454により、標準的な人体の構造に基づき、ステップS2において処理された外形イメージデータから、解剖学的特徴を識別する。これにより、外形が認識される(ステップS3)。
【0062】
さらに、ジェスチャ識別ユニット456により、ステップS3で得た解剖学的特徴に基づいてジェスチャを識別する(ステップS4)。
ジェスチャ識別ユニット456は、ジェスチャデータ記録ユニット455に記録されたジェスチャデータを参照し、解剖学的特徴が識別された外形からジェスチャの識別を行なう。なお、ジェスチャ識別ユニット456は、ジェスチャデータ記録ユニット455からのジェスチャデータを参照することとしているが、参照することに限定されず、他の任意のデータを参照してもよく、全く参照することなく処理してもよい。
以上により、
図5(a)に示すように、手のジェスチャを認識する。
【0063】
続いて、アプリケーションソフトユニット459およびイベントサービスユニット460は、ジェスチャ識別ユニット456により判定されたジェスチャに応じて所定のイベントを実施する(ステップS5)。
これによって、
図5(b)に示すように、たとえば写真アプリによる画像が表示される。この際、当該画面には、カメラユニット303からの撮像データが表示されてよい。
【0064】
最後に、表示サービスユニット462、キャリブレーションサービスユニット461、グラフィック演算ユニット463、ディスプレイ演算ユニット464および合成演算ユニット458により、半透過ディスプレイ220に、イメージの表示、またはイメージの仮想表示が行なわれる(ステップS6)これによって、
図5(c)に示すようにジェスチャを示す手のスケルトンの表示が行われ、
図5(d)に示すように、当該スケルトンの形状および大きさに写真の形状および大きさが合致するように合成されたイメージが表示される。
【0065】
なお、6軸駆動ドライバユニット465は、常にジャイロセンサユニット420、加速度検知ユニット430からの信号を検知し、ディスプレイ演算ユニット464に姿勢状況を伝達する。
【0066】
眼鏡表示装置100を装着したユーザが眼鏡表示装置100を傾斜させた場合には、6軸駆動ドライバユニット465は、常にジャイロセンサユニット420、加速度検知ユニット430からの信号を受信し、イメージの表示の制御を行なう。当該制御においては、イメージの表示を水平に維持させてもよいし、イメージの表示を傾斜にあわせて調整してもよい。
【0067】
(検知領域と仮想表示領域との一例)
次に、操作システム400の赤外線検知ユニット410の検知領域と、一対の半透過ディスプレイ220の仮想表示領域との関係について説明を行なう。
図6は、赤外線検知ユニット410の検知領域と、一対の半透過ディスプレイ220の仮想表示領域とを説明するための模式的斜視図であり、
図7は
図6の上面図であり、
図8は、
図6の側面図である。
【0068】
以下において、説明の便宜上、
図6に示すように、x軸、y軸およびz軸からなる三次元直交座標系が定義される。以下の図におけるx軸の矢印は、水平方向を指す。y軸の矢印は、鉛直方向またはユーザの体の長軸方向を指す。z軸の矢印は、深度方向を指す。z軸正方向は、より大きい深度の方向を指す。それぞれの矢印の向きは、他の図においても同じである。
【0069】
図6から
図8に示すように、操作システム400の赤外線検知ユニット410により検知可能な三次元空間検知領域(3Dスペース)4103Dを有する。
三次元空間検知領域4103Dは、赤外線検知ユニット410からの円錐状または角錐状の三次元空間からなる。
【0070】
すなわち、赤外線検知ユニット410は、赤外線照射素子411から、照射された赤外線を、赤外線検知カメラ412により検知できるので、三次元空間検知領域4103D内のジェスチャを認識することができる。
また、本実施の形態においては、赤外線検知ユニット410を1個設けることとしているが、これに限定されず、赤外線検知ユニット410を複数個設けてもよいし、赤外線照射素子411を1個、赤外線検知カメラ412を複数個設けてもよい。
【0071】
続いて、
図6から
図8に示すように一対の半透過ディスプレイ220は、ユーザに、実際に設けられた眼鏡表示装置100の部分ではなく、眼鏡表示装置100から離れた場所となる仮想イメージ表示領域2203Dに、奥行きを持って仮想表示されたものとして視認させる。当該奥行きは、仮想イメージ表示領域2203Dが有する仮想立体形状の深度方向(z軸方向)の厚みに対応する。したがって、当該仮想立体形状の深度方向(z軸方向)の厚みに応じて奥行きが設けられる。
すなわち、実際には眼鏡表示装置100の半透過ディスプレイ220に表示されるものの、ユーザは、右目のイメージは右目側の半透過ディスプレイ220を透過し三次元空間領域2203DRで認識し、左目のイメージは左目側の半透過ディスプレイ220を透過し三次元空間領域2203DLで認識する。その結果、認識された両イメージがユーザの脳内で合成されることにより、仮想イメージ表示領域2203Dで仮想イメージとして認識することができる。
【0072】
また、仮想イメージ表示領域2203Dは、フレーム・シーケンシャル方式、偏光方式、直線偏光方式、円偏光方式、トップ・アンド・ボトム方式、サイド・バイ・サイド方式、アナグリフ方式、レンチキュラ方式、パララックス・バリア方式、液晶パララックス・バリア方式、2視差方式および3視差以上を利用する多視差方式のいずれかを利用して表示されたものである。
【0073】
また、本実施の形態においては、仮想イメージ表示領域2203Dは、三次元空間検知領域4103Dと共有する空間領域を有する。特に、
図6および
図7に示すように、三次元空間検知領域4103Dの内部に、仮想イメージ表示領域2203Dが存在するため、仮想イメージ表示領域2203Dが共有領域となる。
【0074】
なお、仮想イメージ表示領域2203Dの形状およびサイズについては、一対の半透過ディスプレイ220への表示方法により任意に調整することができる。
また、
図8に示すように、一対の半透過ディスプレイ220よりも赤外線検知ユニット410が上方(y軸正方向)に配設されている場合について説明しているが、鉛直方向(y軸方向)に対して、赤外線検知ユニット410の配設位置が半透過ディスプレイ220よりも下方(y軸負方向)または半透過ディスプレイ220と同位置であっても、同様に、仮想イメージ表示領域2203Dは、三次元空間検知領域4103Dと共有する空間領域を有する。
【0075】
(検知領域と仮想表示領域との他の例)
続いて、
図9から
図11は、
図6から
図8において示した検知領域と仮想表示領域との他の例を示す模式図である。
【0076】
例えば、
図9から
図11に示すように、眼鏡表示装置100の半透過ディスプレイ220の代わりに、他の入出力装置、表示装置、テレビジョン、モニタ等を用いてもよい。以下、他の入出力装置、表示装置、テレビジョン、モニタ、プロジェクタを総称して入出力装置900と略記する。
【0077】
図9に示すように、入出力装置900からz軸負方向に仮想イメージ表示領域2203Dが出力され、入出力装置900にz軸方向で対向する位置に配設された赤外線検知ユニット410からz軸正方向に三次元空間検知領域4103Dが形成されてもよい。
この場合、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0078】
また、
図10に示すように、入出力装置900から仮想イメージ表示領域2203Dが出力され、入出力装置900と同方向(xy平面を基準としていずれもz軸正側の方向)に赤外線検知ユニット410の三次元空間検知領域4103Dが形成されてもよい。
この場合でも、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0079】
次に、
図11に示すように、入出力装置900から鉛直上方向(y軸正方向)に仮想イメージ表示領域2203Dが出力されてもよい。
図11においても、
図9、
図10と同様に、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0080】
また、図示していないが、入出力装置900を三次元空間検知領域4103Dより上方側(y軸正方向の側)に配置し、鉛直下方向(y軸負方向)に仮想イメージ表示領域2203Dが出力されてもよく、水平方向(x軸方向)から出力されてもよく、プロジェクタまたは映画館のように、後上方(z軸正方向かつy軸正方向)から出力されてもよい。
【0081】
(操作領域とジェスチャ領域)
続いて、検知領域における操作領域とジェスチャ領域とについて説明する。
図12および
図13は、検知領域における操作領域と、ジェスチャ領域との一例を示す模式図である。
【0082】
まず、
図12に示すように、一般的に、ユーザは、右肩関節RPおよび左肩関節LPの両肩関節を回転中心として両手を水平移動させるため、両手の移動できる領域は、点線で囲まれた移動領域Lおよび移動領域Rとなる。
【0083】
また、
図13に示すように、一般的に、ユーザは、右肩関節RPおよび左肩関節LPの両肩関節を回転中心として両手を鉛直移動させるため、両手の移動できる領域は、点線で囲まれた移動領域Lおよび移動領域Rとなる。
【0084】
すなわち、
図12および
図13に示すように、ユーザは、両手を右肩関節RPおよび左肩関節LPをそれぞれ回転中心とした欠球状(深度方向に凸のアーチ状曲面を有する)の立体空間内で移動させることができる。
【0085】
次に、赤外線検知ユニット410による三次元空間検知領域4103Dと、仮想イメージ表示領域が存在しうる領域(
図12では仮想イメージ表示領域2203Dを例示)と、腕の移動領域Lおよび移動領域Rを合わせた領域との全てが重なる空間領域を、操作領域410cとして設定する。
また、三次元空間検知領域4103D内における操作領域410c以外の部分で、かつ腕の移動領域Lおよび移動領域Rを合わせた領域と重なる部分をジェスチャ領域410gとして設定する。
【0086】
ここで、操作領域410cが、深度方向に最も遠い面が深度方向(z軸正方向)に凸のアーチ状に湾曲した曲面である立体形状を有することに対し、仮想イメージ表示領域2203Dは、深度方向に最も遠い面が平面である立体形状を有する。このように両領域の間で当該面の形状が異なることに起因し、ユーザは、当該操作において体感的に違和感を覚える。当該違和感を取り除くためにキャリブレーション処理で調整を行なう。また、キャリブレーション処理の詳細については、後述する。
【0087】
(キャリブレーションの説明)
次いで、キャリブレーション処理について説明を行なう。
図14は、キャリブレーション処理の説明を行なうためのフローチャートである。
【0088】
図12および
図13に示したように、ユーザが仮想イメージ表示領域2203Dに沿って手を動かそうとすると、補助のない平面に沿って動作させる必要がある。したがって、後述する認識処理により仮想イメージ表示領域2203Dにおいて、操作をし易くするためにキャリブレーション処理を行なう。
また、キャリブレーション処理には、ユーザの個々で異なる指の長さ、手の長さ、腕の長さの調整も行なう。
【0089】
以下、
図14を用いて説明を行なう。まず、ユーザが、眼鏡表示装置100を装着し、両腕を最大限に伸張する。その結果、赤外線検知ユニット410が、操作領域410cの最大領域を認識する(ステップS11)。
すなわち、ユーザによりユーザの個々で異なる指の長さ、手の長さ、腕の長さが異なるので、操作領域410cの調整を行なうものである。
【0090】
次に、眼鏡表示装置100においては、仮想イメージ表示領域2203Dの表示位置を決定する(ステップS12)。すなわち、仮想イメージ表示領域2203Dを操作領域410cの外側に配置するとユーザによる操作が不可能となるため、操作領域410cの内部に配置する。
【0091】
続いて、眼鏡表示装置100の赤外線検知ユニット410の三次元空間検知領域4103D内で、かつ仮想イメージ表示領域2203Dの表示位置と重ならない位置に、ジェスチャ領域410gの最大領域を設定する(ステップS13)。
なお、ジェスチャ領域410gは、仮想イメージ表示領域2203Dと重ならないように配置しかつ深さ方向(z軸正方向)に厚みを持たせることが好ましい。
【0092】
本実施の形態においては、以上の手法により、操作領域410c、仮想イメージ表示領域2203D、ジェスチャ領域410gが設定される。
【0093】
続いて、操作領域410c内における仮想イメージ表示領域2203Dのキャリブレーションについて説明する。
【0094】
操作領域410c内の仮想イメージ表示領域2203Dの外部周囲にユーザの指、手、または腕が存在すると判定された場合に、あたかも仮想イメージ表示領域2203Dの内部に存在するように、丸め込みを行なう(ステップS14)。
【0095】
図12および
図13に示すように、半透過ディスプレイ220により仮想表示されたイメージの中央部近辺では、両腕を最大限に伸ばした状態にすると、両手先が仮想イメージ表示領域2203D内に留まることなく深さ方向(z軸正方向)の外部へ外れてしまう。また、仮想表示されたイメージの端部においては、両腕を最大限に伸ばさない限り、両手先が仮想イメージ表示領域2203D内に存在すると判定されない。
そのため、赤外線検知ユニット410からの信号を無処理のまま使用すると、ユーザは、手先が仮想イメージ表示領域2203Dから外れたとしても、そのような状態であることを体感しにくい。
【0096】
したがって、本実施の形態におけるステップS14の処理においては、仮想イメージ表示領域2203Dから外部へ突き出た手先が、仮想イメージ表示領域2203D内にあるものとして補正すべく、赤外線検知ユニット410からの信号を処理する。
その結果、ユーザは、両腕を最大限に伸ばした状態、または少し曲げた状態で、奥行きのある平面状の仮想イメージ表示領域2203D内の中央部から端部まで操作することができる。
【0097】
なお、本実施の形態においては、仮想イメージ表示領域2203Dを、深度方向に最も遠い面が平面である三次元空間領域からなることとしているが、これに限定されず、深度方向に最も遠い面領域L,Rの深度方向に最も遠い面に沿った形状の曲面である三次元空間領域からなることとしてもよい。その結果、ユーザは、両腕を最大限に伸ばした状態、または少し曲げた状態で、奥行きのある平面状の仮想イメージ表示領域2203D内の中央部から端部まで操作することができる。
【0098】
さらに、半透過ディスプレイ220は、仮想イメージ表示領域2203Dに矩形状の像を表示させる。例えば、
図5(b)に示したように、矩形状の像を表示させる(ステップS15)。
続いて、半透過ディスプレイ220に、像の周囲を指で囲んでくださいと、表示を行なう(ステップS16)。ここで、像の近傍に指の形の像を薄く表示してもよいし、半透過ディスプレイ220に表示を行なう代わりにスピーカから音声により指示をユーザに伝えてもよい。
【0099】
ユーザは、指示に従い
図5(d)に示すように、指を像の見える部分にあわせる。そして、仮想イメージ表示領域2203Dの表示領域と、赤外線検知ユニット410との相関関係が自動調整される(ステップS17)。
なお、上記においては、指で矩形を形作り、そのように定められた矩形と、像の外縁の矩形にあわせる。このことによって、指により定められた矩形の視認サイズおよび位置と像の外縁の矩形の視認サイズ及び位置とを合わせることとした。しかしながら、指によって形状を定める手法はこれに限定されず、表示された像の外縁を指でなぞる手法、表示された像の外縁上の複数の点を指で指し示す手法等、他の任意の手法であってもよい。また、これらの手法を複数のサイズの像について行ってもよい。
【0100】
なお、上記のキャリブレーション処理の説明においては、眼鏡表示装置100の場合についてのみ説明を行ったが、入出力装置900の場合には、ステップS11の処理において、像を表示させ、ステップS17の処理の当該像と赤外線検知ユニット410との相関関係を調整してもよい。
【0101】
(形状認識)
次いで、指認識について説明を行い、その後掌認識、腕認識の順で説明を行なう。
図15は、指認識の一例を示す模式図である。
図15において、(A)は指の先端付近の拡大図であり、(B)は指の根元付近の拡大図である。
図16は、指認識の処理の一例を示すフローチャートである。
【0102】
図16に示すように、本実施の形態においては、デバイスの初期化を行なう(ステップS21)。次に、赤外線照射素子411から照射され、手に反射した赤外線が、赤外線検知カメラ412により検出される(ステップS22)。
次に、赤外線検知ユニット410により画像データをピクセル単位で距離に置き換える(ステップS23)。この場合、赤外線の明るさは、距離の三乗に反比例する。これを利用し、デプスマップを作成する(ステップS24)。
【0103】
次いで、作成したデプスマップに適切な閾値を設ける。そして、画像データを二値化する(ステップS25)すなわち、デプスマップのノイズを除去する。
続いて、二値化した画像データから約100個の頂点を持つポリゴンを作成する(ステップS26)。そして、頂点が滑らかになるようにローパスフィルタ(LPF)により、より多くの頂点p
nを有する新たな多角形を作成することによって、
図15に示す手の外形OFを抽出する(ステップS27)。
なお、本実施の形態においては、ステップS26において二値化したデータからポリゴンを作成するために抽出する頂点の数を約100個としているが、これに限定されず、1000個、その他の任意の個数であってもよい。
【0104】
(指認識)
ステップS27で作成した新たな多角形の頂点p
nの集合から、Convex Hullを用いて、凸包を抽出する(ステップS28)。
その後、ステップS27で作成された新たな多角形と、ステップS28で作成された凸包との共有の頂点p
0を抽出する(ステップS29)。このように抽出された共有の頂点p
0自体を指の先端点として用いることができる。
さらに、頂点p
0の位置に基づいて算出される他の点を指の先端点として用いてもよい。例えば、
図15(A)に示すように頂点p
0における外形OFの内接円の中心を先端点P0として算出することもできる。
【0105】
そして、
図15に示すように、頂点p
0に隣接する左右一対の頂点p
1を通る基準線分PP
1のベクトルを算出する。その後、頂点p
1と、隣接する頂点p
2とを結ぶ辺pp
2を選択し、そのベクトルを算出する。同様に、外形OFを構成する頂点p
nを用い、辺のベクトルを求める処理を外形OFの外周に沿って繰り返す。各辺の向きとステップS30の処理による基準線分PP
1の向きとを調べ、基準線分PP
1と平行に近くなる辺pp
kが指の股の位置に存在すると判定する。そして、辺pp
kの位置に基づき、指の根元点P1を算出する(ステップS30)。指の先端点P0と指の根元点P1とを直線で結ぶことで、指のスケルトンが得られる(ステップS31)。指のスケルトンを得ることで、指の延在方向を認識することができる。
全ての指について同様の処理を行なうことで、全ての指のスケルトンを得る。これにより、手のポーズを認識することができる。すなわち、親指、人差し指、中指、薬指、小指のいずれの指が広げられ、いずれの指が握られているかを認識することができる。
【0106】
続いて、直前に実施した数フレームの画像データと比較して、手のポーズの違いを検知する(ステップS32)。すなわち、直前の数フレームの画像データと比較することにより、手の動きを認識することができる。
【0107】
次いで、認識した手の形状を、ジェスチャデータとしてイベントサービスユニット460へイベント配送する(ステップS33)。
【0108】
次いで、アプリケーションソフトユニット459によりイベントに応じた振る舞いを実施する(ステップS34)。
【0109】
続いて、表示サービスユニット462により、三次元空間に描画を要求する(ステップS35)。
グラフィック演算ユニット463は、キャリブレーションサービスユニット461を用いてキャリブレーションデータ記録ユニット457を参照し、表示の補正を行なう(ステップS36)。
最後に、ディスプレイ演算ユニット464により半透過ディスプレイ220に表示を行なう(ステップS37)。
【0110】
なお、本実施の形態においては、ステップS30の処理およびステップS31の処理により指の根元点を検出したが、根元点の検出方法はこれに限定されない。例えば、まず、頂点p
0の一方の側と他方の側において隣接する一対の頂点p
1を結ぶ基準線分PP
1の長さを算出する。次に、当該一方の側と他方の側における一対の頂点p
2間を結ぶ線分の長さを算出する。同様に、当該一方の側と他方の側における一対の頂点間を結ぶ線分の長さを、頂点p
0により近い位置にある頂点からより遠い位置にある頂点への順で算出していく。このような線分は、外形OF内で交わることなく、互いにおおよそ平行となる。当該線分の両端の頂点が指の部分にある場合は、線分の長さは指の幅に相当するため、その変化量は小さい。一方、線分の両端の頂点の少なくともいずれかが指の股の部分に達した場合は、当該長さの変化量が大きくなる。したがって、当該長さの変化量が所定量を超えずかつ頂点p
0から最も遠い線分を検知し、検知された線分上の1点を抽出することによって、根元点を決定することができる。
【0111】
(指認識の他の例)
図17は、指認識の他の例を示す模式図であり、
図18は、
図17の処理の一例を示すグラフであり、
図19は、指認識のさらなる他の例を示す模式図である。
【0112】
図16で説明した形態と同様に、本実施の形態においては、赤外線検知カメラ412を用いて得られたデプスマップの処理による画像データから、約100個の頂点を持つポリゴンを作成する(
図16、ステップS26参照)。そして、本実施形態でも、頂点が滑らかになるようにローパスフィルタ(LPF)処理し、より多くの頂点a
nを有する新たな多角形を作成することによって、
図17に示す手の外形OFを抽出する(
図16、ステップS27参照)。
【0113】
図17に示すように、手の外形OFの最大内接円Cを抽出する。最大内接円Cは、後述の
図20で説明するように、掌(または甲)の部分の位置として認識できる。さらに、本実施形態では、最大内接円Cの中心C0を基準点(以下、基準点C0)として抽出する。
【0114】
次に、外形OFを構成する、所定の間隔で設定された頂点a
nそれぞれと、基準点C0との距離dを計測する。特に
図17に示すように伸びた指の場合、指の先端に近くなるほど、基準点C0と頂点a
nとの距離dが大きい傾向にあり、指間に近くなるほど、基準点C0と頂点a
nとの距離dが小さくなる傾向がある。このような傾向に基づいて、指の先端部と指間部を識別することができる。
【0115】
具体的には、頂点a
nを、外形OFに沿って尺側(小指側)から撓側(親指側)への一方向へ走査して縦軸を基準点C0と頂点a
nとの距離を計測し、走査点数nと距離dとの関係を調べる。その関係を示すグラフを、
図18(縦軸:距離d、横軸、走査点数n)に示す。なお、横軸には、走査点数nの代わりに走査距離を表してもよい。
図18に示すように、走査点数nに対する距離dは極値を持つ曲線を呈する。この場合、距離dが極値を示す場合の走査点数nに相当する頂点a
nの位置付近を、指の特徴部とすることができる。
【0116】
たとえば、
図18において距離dが極大値の1つLを示す場合の走査点数iに相当する頂点a
iの位置(
図17参照)を、指の先端部と判定することができる。他の極大値R、M、FおよびTについても、同様である。
【0117】
指の先端部の判定に用いられた頂点a
iは、
図16のステップS29で抽出される共有の頂点p
0(
図15中(A)参照)と同様に、指の先端点として取り扱われることもできる。また、
図15中(A)と同様に、頂点a
iを、頂点a
iにおける外形OFの内接円の中心に較正し、当該内接円の中心を先端点P0として取り扱われることもできる。
【0118】
また、
図18において距離dが極小値の1つLRを示す場合の走査点数kに相当する頂点a
kの位置(
図17参照)を指間部と判定することができる。他の極小値RM、MF、FTについても、同様である。
【0119】
指間部の判定に用いられた頂点a
kは、たとえば、親指と人差し指との間(
図18FT)の距離dが、他の指間より小さいことに基づいて、尺側と撓側との判定のために用いることができる。
また、指間部の判定に用いられた頂点a
kは、指の根元点を抽出するための
図16のステップS30で、頂点p
k(
図15中(B)参照)と同様の取扱がされてもよい。
指間部の判定に用いられた頂点a
kは、上記例示のように、指の根元点とは別の取扱がされてもよいし、適宜較正を行うことによって、指の根元点に準じる点として取り扱われてもよい。
【0120】
図17においては、全ての指を伸ばし広げた態様について例示したが、たとえば、人差し指と中指のみを伸ばし広げた場合には、
図18のグラフにおいて、FおよびMと同様の極大が表れるが、他については、同様の極大は表れない。また、MF、またはMFおよびRMと同様の極小が表れるが、他については、同様の極小は表れない。
【0121】
図17の例では、距離dの取得方法として、外形OFを構成する、所定の間隔で設定された頂点a
nそれぞれと、基準点C0との距離を計測する態様を示したが、距離dの取得方法は、この方法に限定されるものではない。
例えば
図19に示すように、基準点C0を中心として所定の角度毎に回転する半直線HLと外形OFとの交点として外形点b
nを得て、外形点b
nと、基準点C0との距離dを取得してもよい。
【0122】
この場合、
図17の場合と同様、指の先端に近くなるほど、基準点C0と外形点b
nとの距離dが大きい傾向にあり、指間に近くなるほど、基準点C0と外形点b
nとの距離dが小さくなる傾向がある。このような傾向に基づいて、指の先端部と指間部を識別することができる。外形点b
nを、外形OFに沿って尺側(小指側)から撓側(親指側)への一方向へ走査した場合の走査点数nと距離dとの関係も、
図18と特徴が共通する。このため、極大値を示す場合の外形点b
jに基づいて指の先端部を、極小値を示す場合の外形点b
kに基づいて指間部を判定することができる。
【0123】
(掌認識)
次いで、
図20は、掌認識の一例を示す模式図である。
【0124】
図20に示すように、指認識を実施した後、画像データの外形OFに内接する最大内接円Cを抽出する。当該最大内接円Cの位置が、掌の位置として認識できる。
【0125】
次いで、
図21は、親指認識の一例を示す模式図である。
【0126】
図21に示すように、親指は、人差し指、中指、薬指、および小指の他の4指とは異なる特徴を有する。例えば、掌の位置を示す最大内接円Cの中心と各指の根元点P1とを結ぶ直線が相互になす角度θ1,θ2,θ3,θ4のうち、親指が関与するθ1が最も大きい傾向にある。また、各指の先端点P0と各指の根元点P1とを結んだ直線が相互になす角度θ11,θ12,θ13,θ14のうち、親指が関与するθ11が最も大きい傾向にある。このような傾向に基づき親指の判定を行なう。その結果、右手か左手か、または掌の表か裏かを判定することができる。
【0127】
(腕認識)
次いで、腕認識について説明を行なう。本実施の形態において、腕認識は、指、掌および親指のいずれかを認識した後に実施する。なお、腕認識は、指、掌および親指のいずれかを認識する前、またはそれらの少なくともいずれかと同時に実施してもよい。
【0128】
本実施の形態においては、画像データの手の形のポリゴンよりも大きな領域でポリゴンを抽出する。例えば、長さ5cm以上100cm以下の範囲、より好ましくは、10cm以上40cm以下の範囲で、ステップS21からS27の処理を実施し、外形を抽出する。
その後、抽出した外形に外接する四角枠を選定する。本実施の形態においては、当該四角枠は、平行四辺形または長方形からなる。
この場合、平行四辺形または長方形は、対向する長辺を有するので、長辺の延在方向から腕の延在方向を認識することができ、長辺の向きから腕の向きを判定することが出来る。なお、ステップS32の処理と同様に、直前の数フレームの画像データと比較して、腕の動きを検知させてもよい。
【0129】
なお、上記の説明においては、2次元像から指、掌、親指、腕を検出することとしているが、上記に限定されず、赤外線検知ユニット410をさらに増設してもよく、赤外線検知カメラ412のみをさらに増設し、2次元像から、3次元像を認識させてもよい。その結果、さらに認識確度を高めることができる。
【0130】
(手の掌側および背側の認識)
図22(a)は、認識対象となる握りこぶしの形状の手(右手)を掌側から視認した場合(以下、手H1
P)の模式的外観図であり、
図22(b)は、当該手を背側から視認した場合(以下、手H1
D)の模式的外観図である。
【0131】
図16で説明した実施の形態と同様に、本実施の形態においては、赤外線検知カメラ412を用いて得られたデプスマップの処理による画像データから、約100個の頂点を持つポリゴンを作成する(
図16、ステップS26参照)。そして、本実施の形態でも、頂点が滑らかになるようにローパスフィルタ(LPF)処理し、より多くの頂点を有する新たな多角形を作成することによって、
図23(a)に示す掌側の握りこぶしの手の外形OF
Pと、
図23(b)に示す背側の握りこぶしの手の外形OF
Dとを抽出する(
図16、ステップS27参照)。
【0132】
図23(a)の外形OF
Pと及び
図23(b)の外形OF
Dとは、互いに似ており、判別が難しい。そこで、以下の処理を行うことによって、認識対象が掌側か背側かを判別できるようにする。
【0133】
外形OF
P,OF
D内の複数の点を抽出するために、まず、外形OF
P,OF
Dの最大内接円Cを抽出する。さらに、最大内接円Cの中心C0を基準点(以下、基準点C0)として抽出する。
【0134】
さらに、基準点C0を通る最大内接円Cの弦を設定する。例えば
図23(a)および
図23(b)に示すように、垂直方向(y軸方向)の弦C
vと、水平方向(x軸方向)の弦C
hとを定める。定められた弦C
v,C
hにおいて、所定の間隔で抽出点Eを設定する。この場合、基準点C0も抽出点Eとして設定されることが好ましい。
図23においては、弦1本につき、基準点C0を含めて5点の抽出点Eを設定する。
【0135】
さらに、手の外形OF
P,OF
Dを手H1
P,H1
Dに重ね合わせた場合に抽出点Eがz軸方向に投影される手H1
P,H1
D表面上の点を、対象点Sとして設定する。
図24(a)および
図24(b)は、
図23(a)の外形OF
Pと及び
図23(b)の外形OF
Dとをそれぞれ手H1
P,H1
Dに重ね合わせて表示した模式図を示す。
【0136】
設定した対象点Sそれぞれについて、赤外線検知ユニット410からの距離すなわち深度DPを測定する。測定された深度DPは、統計学的に集計される。具体的には、測定された深度のばらつきの尺度が求められる。ばらつきの尺度としては、たとえば、標準偏差、分散、範囲(すなわち最大値と最小値とをそれぞれ上限および下限に有する範囲)、四分位数範囲、平均差、および平均絶対偏差の少なくともいずれかが用いられてよい。
【0137】
ここで、
図25(a)は、
図24(a)において、弦C
vを含むy−z平面に平行な面による手H1
Pの断面図を示す模式図であり、
図25(b)は、
図24(b)において、弦C
vを含むy−z平面に平行な面による手H1
Dの断面図を示す模式図である。また、
図26(a)は、
図24(a)において、弦C
hを含むx−z平面に平行な面による手H1
Pの断面図を示す模式図であり、
図26(b)は、
図24(b)において、弦C
hを含むx−z平面に平行な面による手H1
Dの断面図を示す模式図である。
【0138】
図25(a)及び
図26(a)に示されるように、掌側を向いている手H1
Pの場合、掌側表面の凹凸が大きいため、対象点Sまでの深度DPのばらつきが大きい。一方、
図25(b)および
図26(b)に示されるように、背側を向いている手H1
Dの場合、背側表面は凹凸がほとんどないため、対象点Sまでの深度DPのばらつきが小さい。
このように、掌側の手H1
Pと背側の手H1
Dとは、当該深度DPのばらつきの尺度が相対的に異なることに基づいて識別することができる。
【0139】
たとえばばらつきの尺度として標準偏差を用いる場合、判断基準となる標準偏差の基準値を定め、当該基準値以上である場合には掌側、当該基準値を下回る場合には背側と判断することができる。
【0140】
(手の掌側および背側の認識の他の例)
図27は、
図22(a)および
図22(b)の掌側および背側の識別処理の他の例を示す、
図22(a)および
図22(b)の外形および抽出点設定の模式図である。
図27においては、基準点C0を通る弦として、手H1
P,H1
Dの近位および遠位を結ぶ方向の弦C
pdと、当該弦C
pdに垂直な弦C
urとを設定する。なお、弦C
pdの設定は、腕の延在方向と平行な弦として設定することができる。
【0141】
さらに、上述の例と同様、定められた弦C
pd,C
urにおいて、所定の間隔で複数の抽出点Eを設定し、手H1
P,H1
Dへz軸方向に投影した複数の対象点Sを設定し、複数の対象点Sについての深度DPのばらつきを調べ、掌側および背側を識別する。掌側および背側の識別においては、
図25および
図26と同様の、深度DPのばらつきの大小と手H1
P,H1
Dとの関係に基づくことができる。
【0142】
(手の掌側および背側の認識のさらに他の例)
図23および
図27の例では、基準点C0を通る弦として、弦C
vと弦C
hとの両方、および弦C
pdと弦C
urとの両方を定めたが、いずれか一方のみ(たとえば弦C
vのみ、または弦C
pdのみ)を定めてもよい。さらに、基準点C0を通ると通らないとを問わず、他の任意の弦を任意の数で定めてもよい。
【0143】
また、
図23および
図27の例では、抽出点Eを定めるために基準点C0を通る弦を設定したが、例えば、最大内接円Cの内部に、基準点C0を中心とする同心円を設定し、その上に抽出点Eを定めてもよいし、基準点C0を重心とする多角形、その他の任意の図形を設定し、その上に抽出点Eを定めてもよい。いずれにしても、複数の抽出点Eの1つとしては基準点C0を選択することが好ましい。
【0144】
さらに、
図23および
図27の例では、認識対象が、全ての指を屈曲させた握りこぶしの形状の手H1
P,H1
Dを例示したが、手の形状は、この態様に限られない。少なくともいずれかの指を内側(すなわち掌側)に屈曲させた形状であればよい。
【0145】
(手の左右の識別)
さらに、手の尺側と撓側とを結ぶ方向(以下、方向UR)における対象点Sの深度の傾向を調べることによって、手の左右の識別を行うことができる。
【0146】
手の尺側と撓側とを結ぶ方向URとしては、好ましくは、
図27における弦C
urの方向である。その他、手の尺側と撓側とを結ぶ方向URとしては、
図23における弦C
hに例示されるような、弦C
urの方向と−30°以上+30°以下の角度を有する任意の弦の方向も許容する。
【0147】
手の左右の識別においては、得られた対象点Sの深度DPのデータを、線形回帰分析する。具体的には、UR方向の各位置における深度DPの傾向を分析する。
図26(a)および
図26(b)に示した深度DPの、UR方向における位置との関係を、それぞれ、
図28(a)および
図28(b)のグラフに示す。
図28のグラフにおいて、横軸は、対象点Sの、UR方向における撓側からの相対距離(U)を表し、縦軸は、対象点Sの深度(DP)を表す。
【0148】
図28(a)に示すように、掌側を向いた握りこぶし形状の手H1
Pの場合、手の尺側に近くなるほど、深度DPが大きくなる傾向にある。この傾向に基づいて手の左右を識別してよい場合としては、たとえば、例示のような握りこぶし形状である場合を含め、少なくとも親指が掌側に屈曲させた形状である場合が挙げられる。
【0149】
また、
図28(b)に示すように、背側を向いた握りこぶし形状の手H1
Dの場合も、手の尺側に近くなるほど、深度DPが大きくなる傾向にある。この傾向に基づいて手の左右を識別してよい場合としては特に限定されない。
【0150】
なお、上述の全ての実施形態において、手の外形を検知するために赤外線検知ユニット410を用いる態様を例示しているが、外形の取得はこれに限定されるものではない。たとえば、深度情報を伴わないイメージセンサによる外形取得を行うこともできる。
【0151】
(ジェスチャの登録)
ジェスチャデータ記録ユニット455(
図3参照)にストックされるジェスチャデータは、ユーザによって登録される。また、ジェスチャデータは、ユーザによってジェスチャコマンドとして設定され、さらに必要に応じて書換えもされる。
【0152】
(ジェスチャデータ登録)
図29は、ジェスチャデータ記録ユニット455へジェスチャデータを登録する処理の一例を示すフローチャートである。
【0153】
本実施の形態においては、ユーザの操作に従い、アプリケーションソフトユニット459がジェスチャ設定アプリを起動する。
図29に示すように、アプリ画面に表示された機能から、ジェスチャデータ登録機能を選択する(ステップS41)。これによって、撮像準備を開始する。撮像準備においては、ユーザが、ジェスチャとして登録を所望する形態を手および腕を使って表す。ジェスチャを表す手の形態がユーザによって決定されるまでの間、撮像は待機される(ステップS42)。撮像待機の時間は、たとえば5秒に設定されることができる。
【0154】
その後、ジェスチャを表した手と腕の少なくとも一部とを含む部分を撮影する(ステップS43)。撮影により、検知された一連の外形として外形データを取得する。外形データの取得には、ジェスチャを示している手および腕を一定時間撮影することにより動画を取得する。撮影時間は、たとえば10秒に設定されることができる。
【0155】
撮影時間の間、動作を伴うジェスチャの場合は、当該ジェスチャの動作を反復した様子を撮影することができる。
動作の遷移が意図されないジェスチャの場合は、当該ジェスチャのサインを示したまま、ユーザ自身が当該ジェスチャとして意識する態様を逸脱しない程度に手および腕を様々に動かした様子を撮影することができる。
【0156】
なお、上述の動画撮影の他、静止画を複数回撮影することによって、検知された複数の外形として外形データを取得してもよい。この場合、動作を伴うジェスチャの場合は、ジェスチャを示している間連写を行なうことによって複数フレームを取得できる。動作を伴わないジェスチャの場合は、時および場所を変えて同じジェスチャを撮影することによって複数フレームを取得できる。
【0157】
撮影は、例えば赤外線検知ユニット410によって行なわれる。撮影において、赤外線検知ユニット410は、ジェスチャを示す手および腕の外形を検知する。外形検知は、
図16のステップS22からステップS25と同じ処理によって行なわれる。この外形検知の処理は、複数フレームそれぞれについて行われる。
【0158】
撮影結果に基づいて、ジェスチャを示す手および腕の特徴部を分析する(ステップS44)。特徴部の分析は、検知した複数の外形それぞれについて行われる。分析されるべき特徴部としては、所定の形態の指の数および位置等の解剖学的特徴を示す対象の部分が挙げられる。
さらに、特徴部の位置および/または角度の値を分析する(ステップS45)。特徴部の位置としては、指先および指の根元を表す点など、対象における解剖学的特徴点を座標情報の付加により表すことができる。また、特徴部の角度としては、指の延在方向および腕の延在方向などに基づいた角度情報の付加により表すことができる。
【0159】
ステップS44およびステップS45においては、上述の指認識、掌認識、および腕認識と同じ処理が行われる。
より具体的には、
図16のステップS26からS31と同じ処理が行われる。これによって、全ての指について同様の処理を行なうことで、全ての指のスケルトンを得る。これにより、指の延在方向、具体的には指の関節を中心とした指の角度を認識することができる。また、指先および指の根元等を示す特徴点の位置を、座標情報を付加することにより認識することができる。さらに、手の形態を認識することができる。たとえば、それぞれの指の形態(具体的には、親指、人差し指、中指、薬指、小指のいずれの指が曲げられ、いずれの指が伸びているか等)を認識することができる。
【0160】
また、
図20と同様に掌認識で掌の位置を認識し、
図21と同様に親指認識で、右手か左手か、または掌の表か裏かを判定することができる。これにより、所定の指の位置を認識することができる。
さらに、腕認識によって、腕の延在方向、具体的には肘の関節を中心とした腕の角度を判定することができる。
【0161】
ステップS45では、さらに、複数の外形について抽出された上述の特徴部の情報を総合することによって、ステップS43での撮影対象となったジェスチャを示していた手および腕の可動範囲も導出する。
【0162】
具体的には、上述の特徴部の抽出で得られた角度の最大値及び最小値を含む範囲を求めることによって、可動範囲を導出することができる。
上述のほか、指先等を示す特徴点の座標の軌跡を含む範囲を求めることによって、可動範囲を導出することができる。
【0163】
ジェスチャが動作を伴うものである場合、複数の外形について抽出されたそれぞれの特徴部の差異に基づいて、複数の外形を経時的に比較する。これによって、ジェスチャ動作に伴う外形の遷移の認識もできる。
【0164】
ユーザは、上記の分析結果を、ジェスチャデータとして記録するかどうかを決定する(ステップS46)。この場合、撮影した動画の再生および分析結果の表示によって撮影した手および腕の形態を確認できるようにしてよい。ジェスチャデータとして記録する場合(ステップS46のYes)、ジェスチャデータ記録ユニット455に記録する(ステップS47)。ジェスチャデータとして記録しない場合(ステップS46のNo)、ジェスチャデータ記録ユニット455に記録することなく、別の動画を撮影するために再び撮影待機(ステップS42)を行なうことができる。
【0165】
なお、上述の実施形態においては、一連の外形または複数の外形を取得する態様を挙げたが、この態様に限定されない。たとえば、1つの外形を取得し、当該取得した外形について、特徴点と、その位置およびまたは方向の値の分析を行い、ジェスチャデータ記録ユニット455に記録してよい。この場合、得られた当該値に、所定の幅を持たせて所定の範囲とし、当該所定の範囲を、ジェスチャとして許容する範囲としてジェスチャデータ記録ユニット455に記録することができる。
【0166】
(ジェスチャコマンド設定)
図30は、ジェスチャデータ記録ユニット455において、ジェスチャデータが、当該ジェスチャデータをコマンドとすべきアプリケーションの操作と関連付けられて記録される関連付け処理の一例を示すフローチャートである。
【0167】
本実施の形態においては、ユーザの操作に従い、ジェスチャ設定アプリの画面に表示された機能から、ジェスチャコマンド設定機能を選択する(ステップS51)。次に、アプリケーションソフトユニット459において、アプリケーション操作コマンドを呼び出し、参照する(ステップS52)。アプリケーション操作には、アプリケーションの起動および終了、アプリケーション内の各機能の選択および決定、ならびに画面の移動など、アプリケーションの利用に際し用いられるいかなる操作も含まれる。
【0168】
参照したコマンドデータから、ジェスチャによって発生させたいコマンドを選択する(ステップS53)。さらに、ジェスチャデータ記録ユニット455から、ジェスチャデータを呼び出し、参照する(ステップS54)。ステップS53で選択したコマンドに関連付けたいジェスチャを選択する(ステップS55)。ユーザは、選択されたジェスチャで設定するか否かを決定する(ステップS56)。選択されたジェスチャで設定する場合(ステップS56のYes)、ジェスチャデータと、当該ジェスチャデータをコマンドとして発生させるべきイベントとが関連付けられた状態でジェスチャデータ記録ユニット455に記録される(ステップS57)。選択されたジェスチャをキャンセルする場合(ステップS56のNo)、再びジェスチャデータを選択し(ステップS54)、別のジェスチャを選択することができる(ステップS55)。
【0169】
なお、上述の実施形態では、先にアプリケーション操作コマンドを呼び出し選択した後に、選択したアプリケーションコマンドに対してジェスチャデータを関連付けるものとしたが、この態様に限定されない。たとえば、先にジェスチャデータを呼び出し選択した後に、選択したジェスチャデータに対してアプリケーション操作コマンドを関連付けてもよい。
また、たとえば、アプリケーション操作コマンドを呼び出した後に、ジェスチャデータを直接記録させ、関連付ける態様としてもよい。
【0170】
(ジェスチャコマンド書換え)
図31は、ジェスチャデータ記録ユニット455において、ジェスチャコマンドが書換えられる処理の一例を示すフローチャートである。
【0171】
本実施の形態においては、ユーザの操作に従い、ジェスチャ設定アプリの画面に表示された機能から、ジェスチャコマンド書換え機能を選択する(ステップS61)。次に、ジェスチャデータ記録ユニット455から、ジェスチャデータを呼び出し、参照する(ステップS62)。書き換えたいジェスチャコマンドを選択し(ステップS63)、当該ジェスチャコマンドが関連付けられているアプリケーション操作との関連付けを解除するか否かを決定する(ステップS64)。関連付けを解除する場合(ステップS64のYes)、解除が実行され、当該ジェスチャコマンドを構成していたジェスチャデータとアプリケーション操作との間の関連性が無くなる(ステップS65)。関連付けを解除しない場合(ステップS64のNo)、この処理を終了する。
【0172】
ステップS65によってジェスチャデータとアプリケーション操作との間の関連性が解除された後、さらに、関連性が解除されたジェスチャデータ自体を削除するか否かを決定する(ステップS66)。ジェスチャデータ自体も削除する場合(ステップS66のYes)、当該ジェスチャデータはジェスチャデータ記録ユニット455から削除される(ステップS67)。
【0173】
ステップS67でジェスチャデータが削除された場合、
図29で説明したジェスチャデータ登録処理がなされる(ステップS68)。その後、
図30で説明したジェスチャコマンド設定処理がなされることにより、新たなジェスチャコマンドが設定される(ステップS69)。
【0174】
一方、ジェスチャデータを削除しない場合(ステップS66のNo)、
図30で説明したジェスチャコマンド設定処理が行われ、当該ジェスチャデータを他のアプリケーション操作と関連付けられることにより、新たなジェスチャコマンドが設定される(ステップS69)。
【0175】
(設定されたジェスチャコマンドの識別によるアプリケーションの操作)
上述のように記録されたジェスチャデータ記録ユニット455内のジェスチャデータを利用してジェスチャの識別を行なう方法は、
図4のステップS1からステップS4で説明した通りである。より具体的には、上述のジェスチャデータ登録時と同様に、ステップS2において、対象の外形イメージデータを複数フレーム取得し、それぞれ、ステップS3において、外形の特徴部およびその可動範囲の情報を取得する。さらに、ステップS4において、ジェスチャデータ記録ユニット455に記録されたジェスチャデータの外形の特徴部およびその可動範囲と、識別すべきジェスチャの外形の特徴部およびその可動範囲とを比較する。双方のデータの一致性を判断することによって、識別すべきジェスチャが、ジェスチャデータ記録ユニット455に記録されたジェスチャデータのうちどれに該当するかを判断する。
【0176】
引き続いて、ステップS5で説明したとおり、アプリケーションソフトユニット459が、ジェスチャ識別ユニット456により判定されたジェスチャをコマンドとして所定のアプリケーション操作を行なう。
【0177】
(半透過ディスプレイの表示例)
次に、
図32は、眼鏡表示装置100の半透過ディスプレイ220の表示の一例を示す模式図である。
【0178】
図32に示すように、眼鏡表示装置100の半透過ディスプレイ220には、一部には広告221が表示され、さらに一部には地
図222が表示され、その他には、眼鏡表示装置100の半透過ディスプレイ220を透過して風景223が視認され、その他に天気予報224および時刻225が表示される。
【0179】
(視野の説明)
次に、眼鏡表示装置100の半透過ディスプレイ220に表示される表示の一例について説明を行なう。
図33(a)は、半透過ディスプレイ220の視野の一例、
図33(b)は、半透明ディスプレイ220の表示の一例を説明する図である。
【0180】
図33に示すように、本実施の形態においては、眼鏡表示装置100が視認させることができる表示は、複数の表示701,〜,707から構成される。複数の表示は、それら全てが一体化した連続像の一部をなすセグメントである。連続像のうち視認部分を遷移させることにより、複数の表示を途切れさせることなくスムーズに遷移させる切換え表示を行なう。
図33に示すように、縦方向に表示703、702、701、704、705の表示が設けられており、表示701を中央として、左右に表示706,707が設けられる。なお、当然のことながら、当該表示701,〜,707は、ユーザによって自由に削除または変更することができ、さらに他の表示を追加することもできる。
なお、本実施の形態においては、表示701,〜,707はシームレスに連続した画像であるが、切換えされるべき表示は、それぞれが独立した非連続の像であってもよい。
【0181】
具体的には、眼鏡表示装置100の姿勢が水平方向である場合、すなわち、ユーザが眼鏡表示装置100を装着し、水平前方を向いた場合、表示701が表示される。
【0182】
続いて、ユーザが眼鏡表示装置100を装着し、水平面(すなわち水平方向に平行の面)を基準として30度程度斜め上方を向いた場合、表示702が表示される。すなわち、眼鏡表示装置100におけるジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号に基づいて、ユーザの向く方向を認識する。なお、表示702は、例えば顔認識アプリの画面が表示されてよい。
【0183】
さらに、水平面を基準として45度程度斜め上方を向いた場合、表示703が表示される。表示703には天気予報が示されてよい。また、表示703にはその他の天空情報が表示されてもよく、時間帯によっては、例えば星座の像を表示させてもよい。
【0184】
同様に、ユーザが眼鏡表示装置100を装着し、水平面を基準として30度程度斜め下方を向いた場合、表示704(例えば、メール画面)が表示され、水平面を基準として45度程度斜め下方を向いた場合、表示705(例えば、地図)が表示され、鉛直面を基準として30度程度右方を向いた場合、表示706(例えば、インターネットブラウザ)が表示され、鉛直面を基準として30度程度左方を向いた場合、表示707(例えば、通話画面)が表示される。
【0185】
また、表示701乃至表示707の切換えは、上記の説明においては、ジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号に基づいて行なうこととしているが、これに限定されず、上述した指、掌、腕認識により切換えを行なってもよい。
【0186】
さらに、ユーザが歩行する場合、表示701から表示702へ、表示701から表示704へ、表示701から表示707へ、および表示701から表示706への少なくともいずれかの切換えを行なう条件として、ジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号のレベルを高めに設定してもよい。それにより、歩行時に短時間で表示701から他の表示に切り替わることを防止できる。また、緊急に振り向く場合には、特に切換えない設定を設けてもよい。
一方、天空情報の表示703および地図情報の表示705はパノラマ表示であってよく、この場合、左右方向の動きに伴ってそれら表示703,705をスクロールさせてよい。
【0187】
(イベント発生の具体例)
続いて、指、掌、手、腕が操作領域410cに存在する場合と、ジェスチャ領域410gに存在する場合との違いをユーザが認識し易いように、所定のイベントを発生させる。以下、所定のイベントについて説明を行なう。
図34は、所定のイベント発生の一例を示す模式図であり、
図35は、
図34のイベント発生の他の例を示す模式図であり、
図36は、他のイベント発生の一例を示す模式図である。
【0188】
まず、
図34に示すように、仮想イメージには、赤外線検知ユニット410により検知された手H1の形状が表示される。さらに、ユーザの手が操作領域410cから離れている場合には、イベントの一例として、手H1の形状の陰影H2を表示する。
これにより、ユーザは、ジェスチャ領域410gに手が存在することを容易に認識できる。
【0189】
続いて、
図35に示すように、仮想イメージには、赤外線検知ユニット410により検知された手H1の形状が表示され、陰影H2よりも濃い陰影H3が、手H1の形状の周囲に小さな面積で表示される。したがって、ユーザは、
図34の場合よりも手が操作領域410cに近づいたことを容易に認識することができる。さらに、手が操作領域410c内にある場合には、陰影H2、H3は、表示されない。
【0190】
その結果、ユーザは、試行錯誤または手探りで操作領域410cを探す必要がなくなる。すなわち、操作領域410cまでの距離を陰影の濃度、手の形状と陰影とのずれ方により容易に認識することができる。
【0191】
また、
図36に示すように、手が操作領域410c内にある場合に、指先に円表示H4を行なってもよい。
【0192】
なお、上記の実施の形態においては、陰影H2、H3、円表示H4が表示されるイベント発生態様について説明したが、これに限定されず、操作領域410c内にある場合に、表示に波紋を発生させてもよく、眼鏡表示装置100に振動発生装置を設けて振動を発生させてもよく、音を発生させてもよく、表示の点滅態様および点灯照度の少なくともいずれかによって表示を変化させてもよい。例えば、操作領域410cまでの距離を点滅間隔により表してもよく、操作領域410cまでの距離を点灯照度により表してもよい。例えば、操作領域410cから離れるほど点滅間隔を長く、近づくほど点滅間隔を短くする、または、操作領域410cから離れるほど点灯照度を低く、近づくほど点灯照度を高くする、または、操作領域410cから離れるほどより濃い色による点灯(赤、黒、紫など)を行い、近づくほどより淡い色による点灯(青、黄、ピンクなど)を行なうなど、その他、人間の感覚(視覚、聴覚および触覚に代表される)に訴える任意のイベントを発生させてもよい。
【0193】
(眼鏡表示装置の操作)
以上の指、掌、腕認識およびイベント発生を伴う眼鏡表示装置100の使用態様について説明する。
【0194】
まず、ユーザが操作領域410c内に手を入れることにより、手の認識が行なわれ、仮想イメージ表示を操作することができる。例えば、仮想イメージ表示を拡大させたり、縮小させたり、表示をスクロールさせたり、ポイントを選択したりすることができる。
【0195】
例えば、
図37に示すように、広告221の表示をタッチすることで、追加表示を行なってもよい。
例えば、広告221には、店舗の、商品、サービス等の情報が表示されている。ユーザがその広告221をタッチした場合、当該店舗に関するさらに詳しい情報を追加表示させてもよい。たとえば、飲食店の場合には、当該飲食店の代表メニュ、ユーザからの評価、価格帯等を表示させてもよい。
なお、広告221は、店舗をカメラユニット303で撮影された像そのものであってもよいし、カメラユニット303による当該店舗の撮像データに基づいて店舗認識を自動で開始し、その結果、店舗認識アプリ画面に表示された認識結果情報であってもよい。
【0196】
(パロディモードによる表示)
また、
図38に示すように、半透過ディスプレイ220に一の企業(○○社)のロゴマークが表示されている際に、画面中のロゴマークにタッチ等行なうことで、競合又は非競合の他の企業(△△社)に関連する情報を表示させることができる。この場合、例えばパロディモードとして、当該他の企業のロゴを表示させてもよい。
【0197】
(ジェスチャコマンドによる表示)
また、ユーザがジェスチャ領域410g内で所定の手のポーズを作ることにより、予め設定された動作が実施される。
図39から
図46は、ジェスチャ認識の例を示す模式図である。
【0198】
例えば、
図39に示すように、ユーザが握った手H1の親指と人差し指を90度に開いて伸ばしたL字サインを作った場合、親指と人差し指との間に、メニュ画面V1が表示されてもよい。
【0199】
また、
図40に示すように、握った手H1の人差し指と中指とを延ばし広げた、いわゆるピースサインの場合には、人差し指と中指との間に、所定の画像V2を表示させてもよい。
【0200】
また、
図41に示すように、挨拶行為により、手H1を軽く開いて矢印方向に移動させた場合には、顔認識のアプリを自動的に起動させる。カメラユニット303で取得した相手の人物の顔データに基づいて顔認識を自動で開始し、顔認識アプリ画面V3に、氏名、企業名、役職、最後に会った日時および場所等の情報を表示させる。さらに顔認識アプリの認識による同一人物に会うたびにフラグを立て、フラグの数を顔認識アプリ画面V3に表示させてもよい。この場合、フラグの数によって、顔認識アプリ画面V3の背景および色等を異ならせてもよい。
【0201】
さらに、
図42に示すように、握った手H1の親指と小指を広げた、いわゆるアロハサインを作り、矢印方向にゆすった場合には、電話のアプリが自動的に起動し、連絡帳のデータV4が表示される。ユーザは、電話のアプリを操作して、所定の相手に電話をかけることができる。
【0202】
また、
図43に示すように、手H1の指でアルファベットのSの文字を描くことにより、SNS(SOCIAL NETWORKING SERVICE)アプリを自動的に起動させ、SNSアプリ画面V5を表示させることができる。
【0203】
さらに、
図44に示すように、漢字アプリを起動させ、手H1の人差し指を認識させることにより人差し指の位置に筆の画像をさらに追加表示させ、漢字の練習アプリ画面V6に漢字を書いて練習できる。
【0204】
また、
図45に示すように、手H1を手刀の形状にした場合、刀アプリを起動させ、手刀上の手の位置に刀の画像をさらに追加表示させ、仮想イメージ表示画面V7を切ることができる。
【0205】
また、
図46に示すように、両方の手H1の指で、四角を形成した場合、カメラアプリが自動起動され、カメラアプリ画面V8中で、形成した四角から抽出される撮像用フレーム内の風景等を撮像してもよい。
【0206】
以上のように、本実施の形態の形状認識装置によると、基準点C0と、外形OF上の複数の頂点a
nまたは外形点b
nとの距離dに基づいて、外形OFから指先部分の特徴点a
i,b
jおよび指間部分の特徴点a
k,b
kを判定し、指先部分L、R、M、F、Tおよび指間部分LR、RM、MF、FTを認識することができる。たとえば、計測された距離dが極大L、R、M、F、Tを示す場合の頂点(例えば極大Lの場合は頂点a
i、外形点b
j)が、手の外形OFにおける指先部分の特徴点であり、極小LR、RM、MF、FTを示す場合の頂点(例えば極小LRの場合は頂点a
k、外形点b
k)が、手の外形OFにおける指間部分の特徴点であると判断することができる。
したがって、仮にいずれかの指先が、手の外形の凸包より内側に位置する場合であっても、当該内側に位置する指も正確に判定することができる。
【0207】
また、本実施の形態の形状認識装置によると、赤外線検知ユニット410によって外形が検知されるため、手の外形OFを正確に検知することができる。
【0208】
さらに、本実施の形態の形状認識装置によると、半透過ディスプレイ220により生成された立体視像の立体視領域(仮想イメージ表示領域2203D)と赤外線検知ユニット410の深度検知領域(三次元空間検知領域4103D)とが共有する共有領域において手の外形を検知することができるため、立体視像を表示させつつ、手の形状認識を行なうことができる。
【0209】
さらに本実施の形態の形状認識装置によると、眼鏡表示装置100に備えられているため、眼鏡表示装置100をかけた状態で手の形状認識を行うことができる。また、検知される手の外形とユーザが視認できる手の外形とがほぼ同じとなり、表示オブジェクトの操作を行う場合およびジェスチャの登録などを行う場合に、形状認識装置に検知されやすい態様を意識しながら手を検知させることもできる。
【0210】
本発明においては、制御ユニット450が「形状認識装置」に相当し、外形OFが「検知された外形」に相当し、赤外線検知ユニット410が「外形検知部」および「深度センサ」に相当し、最大内接円Cが「最大内接円」に相当し、基準点C0が「基準点」に相当し、頂点a
n、a
i、a
kおよび外形点b
n、b
j、b
kが「外形点」に相当し、距離dが「距離」に相当し、半直線HLが「半直線」に相当し、半透過ディスプレイ220が「表示装置」に相当し、仮想イメージ表示領域2203Dが「立体視領域」に相当し、三次元空間検知領域4103Dが「深度検知領域」に相当し、共有領域(仮想イメージ表示領域2203Dと一致)が「共有領域」に相当し、眼鏡表示装置100が「ヘッドマウントディスプレイ装置」に相当する。
【0211】
本発明の好ましい一実施の形態は上記の通りであるが、本発明はそれだけに制限されない。本発明の精神と範囲から逸脱することのない様々な実施形態が他になされることは理解されよう。さらに、本実施形態において、本発明の構成による作用および効果を述べているが、これら作用および効果は、一例であり、本発明を限定するものではない。