JP2009258884A - ユーザインタフェイス - Google Patents
ユーザインタフェイス Download PDFInfo
- Publication number
- JP2009258884A JP2009258884A JP2008105551A JP2008105551A JP2009258884A JP 2009258884 A JP2009258884 A JP 2009258884A JP 2008105551 A JP2008105551 A JP 2008105551A JP 2008105551 A JP2008105551 A JP 2008105551A JP 2009258884 A JP2009258884 A JP 2009258884A
- Authority
- JP
- Japan
- Prior art keywords
- user
- camera
- vector
- image
- index point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定するユーザインタフェイスを提供する。
を実現する。
【解決手段】ユーザインタフェイス10は、ユーザの頭部に装着されるカメラ12と、記憶装置18と、カメラの位置と姿勢を特定する3Dセンサと、画像処理装置16を備える。記憶装置18は、周囲の物体の3次元配置をモデル化した環境モデル22と、カメラからユーザの目までのベクトルVと、ユーザの手に予め定められている指標点とカメラの間の距離Lを記憶している。画像処理装置16は、画像上の指標点の位置を算出する指標点算出処理と、算出された位置とベクトルVと距離Lから、ユーザの目から指標点へ伸びる指示ベクトルを算出する指示ベクトル算出処理と、指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する対象物特定処理とを実行する。
【選択図】図1
を実現する。
【解決手段】ユーザインタフェイス10は、ユーザの頭部に装着されるカメラ12と、記憶装置18と、カメラの位置と姿勢を特定する3Dセンサと、画像処理装置16を備える。記憶装置18は、周囲の物体の3次元配置をモデル化した環境モデル22と、カメラからユーザの目までのベクトルVと、ユーザの手に予め定められている指標点とカメラの間の距離Lを記憶している。画像処理装置16は、画像上の指標点の位置を算出する指標点算出処理と、算出された位置とベクトルVと距離Lから、ユーザの目から指標点へ伸びる指示ベクトルを算出する指示ベクトル算出処理と、指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する対象物特定処理とを実行する。
【選択図】図1
Description
本発明は、ユーザの頭部に装着されたカメラと画像処理装置によって、ユーザが指し示す物体を特定するユーザインタフェイスに関する。
キーボードやマウスに代わるユーザインタフェイスが研究されている。そのひとつとして、カメラで撮影した画像からユーザが指し示した物体を特定する画像入力装置(ユーザインタフェイス)が特許文献1に開示されている。この装置は、ユーザの目へ入射する光を反射するハーフミラーをユーザの眼前に配置し、このハーフミラーによって反射された映像をカメラで撮影する。ハーフミラーで反射された映像を撮影することによって、カメラの光軸はユーザの目の光軸に一致する。即ち、撮影された画像はユーザの視点から見た画像となる。別言すれば、撮影された画像上では、ユーザの視線ベクトルは画像上の一点として現れる。特許文献1の装置は、この原理を利用する。即ち、この装置は、カメラで撮影した画像上でユーザの指先を特定し、画像上でユーザの指先に近い物体をユーザが指し示している物体として特定する。
特許文献1のユーザインタフェイスは、ユーザの眼前にハーフミラーを配置することで、ユーザの視線ベクトルが一点として現れる画像を取得する。これによって、ユーザが指し示している物体を画像上で特定し易くしている。しかしながらこの装置は、ユーザの眼前にハーフミラーが位置するために、ユーザにとって煩わしい。ハーフミラーを用いずに、ユーザの頭部に装着されたカメラでユーザの前方を直接撮影すると、カメラの光軸とユーザの目の光軸が一致しないため、画像からユーザの指し示す方向を特定することができない。
本発明は、上記課題に鑑みて創作された。本発明の目的は、ハーフミラーを用いることなく、ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定することのできるユーザインタフェイスを提供することにある。
本発明は、上記課題に鑑みて創作された。本発明の目的は、ハーフミラーを用いることなく、ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定することのできるユーザインタフェイスを提供することにある。
前述したように、ユーザの頭部に装着されたカメラでユーザの前方を直接撮影すると、カメラの光軸とユーザの目の光軸が一致しないため、画像からユーザの指し示す方向を特定することができない。そこで本発明は、カメラの光軸とユーザの目の光軸のずれを補正する補正用データを予め記憶しておく。さらに、本発明は、周囲の物体の3次元配置をモデル化した環境モデルを記憶しておく。前記の補正用データによって、画像からユーザが指し示す方向を特定し、環境モデルからその方向に存在する物体を特定する。本発明は、光軸のずれを補正するデータと環境モデルを予め記憶しておくことによって、ハーフミラーを用いることなく、ユーザが指し示す方向に存在する物体を特定することに成功した。
本発明のユーザインタフェイスは、ユーザの頭部に装着されてユーザの前方を撮影するカメラと、記憶装置と、センサと、画像処置装置を備える。記憶装置は、カメラの周囲の物体の3次元配置を記述した環境モデルと、頭部に装着されたカメラの焦点からユーザのいずれか一方の目の焦点までのベクトルVと、ユーザが手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Lを予め記憶している。ベクトルVと距離Lが、前述した補正用データに相当する。
環境モデルによって、カメラの周囲(即ちユーザの周囲)の空間をコンピュータ内に仮想的に構築することができる。環境モデルによってコンピュータ内に構築される空間は仮想空間と呼ばれている。
ベクトルVは、カメラ固定の座標系における、頭部に装着されたカメラの焦点からユーザのいずれか一方の目の焦点までのベクトルである。カメラの装着位置は予め定めることができるので、ベクトルVも予め定めることができる。ベクトルVは、頭部に装着されたカメラの焦点からユーザの利き目の焦点へのベクトルであることが好ましい。
ユーザの手に予め定められている指標点は、典型的には指先でよい。或いは、ユーザが手にする指示棒であってもよい。指標点は、画像処理によって認識しやすい点であればよい。手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Lは、ユーザが指し示す方向によらず概ね一定である。従って、距離Lは予め定めることができる。
ベクトルVは、カメラ固定の座標系における、頭部に装着されたカメラの焦点からユーザのいずれか一方の目の焦点までのベクトルである。カメラの装着位置は予め定めることができるので、ベクトルVも予め定めることができる。ベクトルVは、頭部に装着されたカメラの焦点からユーザの利き目の焦点へのベクトルであることが好ましい。
ユーザの手に予め定められている指標点は、典型的には指先でよい。或いは、ユーザが手にする指示棒であってもよい。指標点は、画像処理によって認識しやすい点であればよい。手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Lは、ユーザが指し示す方向によらず概ね一定である。従って、距離Lは予め定めることができる。
センサは、環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定する。環境モデルは現実の空間を模しているので、仮想空間におけるカメラの位置と姿勢は、現実の空間におけるカメラの位置と姿勢と等価である。センサは、ジャイロや磁気センサを組み合わせたいわゆるモーションセンサを採用してよい。あるいはセンサは、位置と姿勢が既知のマーカを現実の空間に配置するとともに環境モデルに定義しておき、カメラの画像で捉えたマーカの位置を仮想空間でマッチングする手法を採用してよい。後者の場合、頭部の装着するカメラと画像処理装置をセンサとして併用することができる。カメラの位置と姿勢を特定するセンサは、3次元センサ(略して3Dセンサ)と換言することができる。
画像処理装置は、指標点算出処理と指示ベクトル算出処理と対象物特定処理を実行する。指標点算出処理は、画像上での指標点の位置を算出する。指標点がユーザの指先に設定している場合、指標点算出処理は、既知の指の形状や色に基づいて、画像から指標点の位置を特定することができる。既知の指の形状や色に基づいて画像から指を特定する処理は、既知の画像処理技術を採用すればよい。指示ベクトル算出処理は、算出された指標点の位置とベクトルVと距離Lから、ユーザの目から指標点へ伸びる指示ベクトルを算出する。算出方法の概要は次の通りである。カメラの焦点と撮像面の距離はカメラの焦点距離で表される。従って、画像の中心を原点とする指標点の2次元座標をxとyで表すと、これにz座標として焦点距離を加えた3次元ベクトル(x、y、z)が、カメラの焦点から指標点に向かって伸びるベクトルを表す。このベクトルを、その大きさを前述の距離Lに変換したベクトルが、カメラの焦点から指標点までの3次元ベクトルを表す。この3次元ベクトルをカメラ原点の指示ベクトルと称する。カメラの焦点からユーザの目までの3次元ベクトルVとカメラ原点の指示ベクトルから、ユーザの目の焦点から指標点へ伸びる指示ベクトルを求めることができる。指示ベクトルは、カメラ座標系で表されている。指示ベクトルの具体的な算出方法については実施例で説明する。
3Dセンサによって仮想空間におけるカメラの位置と姿勢が特定されているので、カメラ座標系から仮想空間の座標系への座標変換行列を求めることができる。この座標変換行列を用いることによって、カメラ座標系で表された指示ベクトルを仮想空間に写像することができる。対象物特定処理は、カメラ座標系の指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する。対象物特定処理が特定した物体が、ユーザが指し示している物体である。
本発明のユーザインタフェイスによる物体の特定は、物体そのものの特定でもよく、或いは、物体における指し示された位置の特定でもよい。
本発明のユーザインタフェイスによる物体の特定は、物体そのものの特定でもよく、或いは、物体における指し示された位置の特定でもよい。
以上のとおり、本発明に係るユーザインタフェイスは、ハーフミラーを用いることなく、即ち、ユーザに煩わしさを感じさせることなく、ユーザが指し示している物体を特定することができる。
上記のユーザインタフェイスは、手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Lが、ユーザが指し示す方向によらず概ね一定であるという知見に基づいている。より正確に指示ベクトルを特定するために、記憶装置は、画像上の指標点の位置に応じて異なる距離Lを記憶していることが好ましい。例えば、距離Lは、画像を分割した各領域ごとにテーブル化されていてよい。あるいは所定の近似式によって、画像上の指標点の位置の関数として与えられてもよい。指示ベクトル算出手段は、画像上での指標点の位置に応じた距離Lを用いて指示ベクトルを算出するとよい。そうすることで、指示ベクトルを一層正確に求めることができる。即ち、ユーザが指し示している物体を正確に特定することができる。
本発明によれば、ユーザの眼前にハーフミラーを配置することなく、即ちユーザを煩わせることなく、ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定することのできるユーザインタフェイスを実現することができる。
図面を参照して、本発明に好適なユーザインタフェイスを説明する。本実施例のユーザインタフェイスは、ユーザが指し示した先に存在する物体を特定して出力することができる。図1に、実施例のユーザインタフェイス10の模式図を示す。ユーザインタフェイス10は、カメラ12とコントローラ14から構成される。カメラ12は、例えばヘアバンドなどを利用してユーザUの頭部に装着することができる。カメラ12は、眼鏡のフレームに固定されていてもよい。コントローラ14には、画像処理装置16と記憶装置18が組み込まれている。
図1の主な英字記号を説明する。Uは、カメラ12を装着したユーザを表す。UHは、ユーザの手を表す。Fは、ユーザの指先を表す。Sは、カメラ12の投影面を表す。Saは、撮影された画像を表す。UHaとFaは夫々、画像Sa上のユーザの手UHと指先Fを表している。後述するように、ユーザインタフェイス10は、カメラ画像Saにおけるユーザの指先Faを画像処理によって認識する。画像処理装置16には、指の形や色に基づいて、画像から指先を認識する画像処理が実装されている。即ち、ユーザUの指先が、予め定められた指標点に相当する。以下では、ユーザUの指先F(及び画像上での指先Fa)を指標点F(あるいは指標点Fa)と称する。
B1とB2は、カメラ12の周囲に存在する物体を表す。物体B1とB2の形状と位置は、後述する環境モデル22に記述されている。即ち、画像処理装置16は、環境モデルに22基づいて、現実の物体B1とB2の位置と形状を模した仮想空間を構築することができる。
図1の主な英字記号を説明する。Uは、カメラ12を装着したユーザを表す。UHは、ユーザの手を表す。Fは、ユーザの指先を表す。Sは、カメラ12の投影面を表す。Saは、撮影された画像を表す。UHaとFaは夫々、画像Sa上のユーザの手UHと指先Fを表している。後述するように、ユーザインタフェイス10は、カメラ画像Saにおけるユーザの指先Faを画像処理によって認識する。画像処理装置16には、指の形や色に基づいて、画像から指先を認識する画像処理が実装されている。即ち、ユーザUの指先が、予め定められた指標点に相当する。以下では、ユーザUの指先F(及び画像上での指先Fa)を指標点F(あるいは指標点Fa)と称する。
B1とB2は、カメラ12の周囲に存在する物体を表す。物体B1とB2の形状と位置は、後述する環境モデル22に記述されている。即ち、画像処理装置16は、環境モデルに22基づいて、現実の物体B1とB2の位置と形状を模した仮想空間を構築することができる。
OGは、絶対座標系の原点を表す。XG、ZGは、絶対座標系を表す。なお、図示を省略しているが、絶対座標系のY軸は、紙面上方に伸びている。XC、YC、ZCは、カメラ固定の座標系を表す。カメラ固定の座標系の原点は、カメラ12の焦点OCに設定されている。
英字Vは、ベクトルを表す。VEは、頭部に装着されたカメラ12の焦点OCからユーザUの利き目の焦点Eまでのベクトルを表す。ベクトルVEは、カメラ固定の座標系で表わされている。カメラ12の装着位置は既知であるので、ベクトルVEも既知である。
ベクトルVTは、ユーザUの利き目の焦点Eから指標点F(ユーザの指先)へのベクトルを表す。ベクトルVTは、ユーザUが意図する物体を指し示す方向を表しているので、「指示ベクトルVT」と換言する場合がある。
ベクトルVFは、カメラ12の焦点OCから指標点Fへのベクトルを表す。ベクトルVFaは、カメラの12の焦点OCから、ベクトルVFと投影面Sとの交点のまでのベクトルを表す。ベクトルVFと投影面Sとの交点は、画像Sa上での指標点Faに対応する。画像Sa上での指標点Faの座標を(xa、ya)で表し、カメラ12の焦点OC(カメラ座標系の原点)から投影面Sまでの距離(即ち、焦点距離)をzaで表すと、ベクトルVFa=(xa、ya、za)で表される。即ち、画像上での指標点Faの位置が特定できれば、ベクトルVFaを特定することができる。ベクトルVT、VF、及びVFaも、カメラ固定の座標系におけるベクトルである。
Rは、カメラ固定座標系から絶対座標系への座標変換行列である。行列Rは、2つの座標系間の原点の移動と回転を含んでいる。そのような座標変換行列は同次変換行列と呼ばれることがあり、ロボットの技術分野でよく使われている。カメラ座標系で表現された指示ベクトルVTの絶対座標系への変換は、VTG=R・VTで表すことができる。ここで添え字Gは、絶対座標系におけるベクトルであることを意味する。
その他の英字記号については後述する。
英字Vは、ベクトルを表す。VEは、頭部に装着されたカメラ12の焦点OCからユーザUの利き目の焦点Eまでのベクトルを表す。ベクトルVEは、カメラ固定の座標系で表わされている。カメラ12の装着位置は既知であるので、ベクトルVEも既知である。
ベクトルVTは、ユーザUの利き目の焦点Eから指標点F(ユーザの指先)へのベクトルを表す。ベクトルVTは、ユーザUが意図する物体を指し示す方向を表しているので、「指示ベクトルVT」と換言する場合がある。
ベクトルVFは、カメラ12の焦点OCから指標点Fへのベクトルを表す。ベクトルVFaは、カメラの12の焦点OCから、ベクトルVFと投影面Sとの交点のまでのベクトルを表す。ベクトルVFと投影面Sとの交点は、画像Sa上での指標点Faに対応する。画像Sa上での指標点Faの座標を(xa、ya)で表し、カメラ12の焦点OC(カメラ座標系の原点)から投影面Sまでの距離(即ち、焦点距離)をzaで表すと、ベクトルVFa=(xa、ya、za)で表される。即ち、画像上での指標点Faの位置が特定できれば、ベクトルVFaを特定することができる。ベクトルVT、VF、及びVFaも、カメラ固定の座標系におけるベクトルである。
Rは、カメラ固定座標系から絶対座標系への座標変換行列である。行列Rは、2つの座標系間の原点の移動と回転を含んでいる。そのような座標変換行列は同次変換行列と呼ばれることがあり、ロボットの技術分野でよく使われている。カメラ座標系で表現された指示ベクトルVTの絶対座標系への変換は、VTG=R・VTで表すことができる。ここで添え字Gは、絶対座標系におけるベクトルであることを意味する。
その他の英字記号については後述する。
記憶装置18が記憶しているデータについて説明する。記憶装置18は、補正用データ20と環境モデル22を記憶している。補正用データ20には、ベクトルVEと距離Lが含まれる。ベクトルVEは、前述したとおり、カメラ座標系におけるカメラ焦点OCからユーザUの利き目の焦点Eまでのベクトルである。距離Lは、ユーザが手を伸ばしたときのカメラ焦点OCと指標点F(ユーザの指先)の間の距離である。一般に、ユーザが自然に手を伸ばした状態では頭部から指先までの距離は概ね一定である。ベクトルVEと距離Lは、ユーザ毎に予め測定し、記憶装置18に記憶されている。
環境モデル22は、ユーザの周囲、即ち、カメラ12の使用領域に存在する物体の位置と形状を数値化したデータである。環境モデルは一般に、絶対座標系で物体の位置と形状を表現している。環境モデル22は、実空間に存在する物体の位置と形状を絶対座標系で記述した幾何学データと換言してよい。図1の例では、物体B1とB2の位置と形状のデータが環境モデルに記述されている。環境モデル22には、床や壁が含まれていてもよい。環境モデル22によってコンピュータ(画像処理装置16)内に仮想空間が構築される。
環境モデル22は、ユーザの周囲、即ち、カメラ12の使用領域に存在する物体の位置と形状を数値化したデータである。環境モデルは一般に、絶対座標系で物体の位置と形状を表現している。環境モデル22は、実空間に存在する物体の位置と形状を絶対座標系で記述した幾何学データと換言してよい。図1の例では、物体B1とB2の位置と形状のデータが環境モデルに記述されている。環境モデル22には、床や壁が含まれていてもよい。環境モデル22によってコンピュータ(画像処理装置16)内に仮想空間が構築される。
図1に示す記号Mは、実空間に置かれたマーカを示している。マーカMは、画像処理によって特定し易い形状あるいは模様を有している。マーカMの位置と形状のデータも予め環境モデル22に記述されている。図示を省略しているが、実空間に複数のマーカが設置されている。図1の記号Maは、カメラ12の画像Saに映し出されたマーカMを示している。
画像処理装置16は、画像Saから複数のマーカMaを抽出することによって、仮想空間におけるカメラ12の位置と姿勢を特定する。即ち、画像処理装置16は、仮想空間におけるカメラ12の位置と姿勢を検出する3Dセンサを兼ねている。カメラ12の位置と姿勢を特定する処理は具体的には次のとおりである。画像処理装置16は、画像SaからマーカMaを抽出する。画像Sa上のマーカMaの位置から、画像処理装置16は、カメラ固定の座標系におけるマーカMの位置と姿勢を算出する。次いで画像処理装置16は、カメラ固定の座標系におけるマーカMの位置と、仮想空間におけるマーカMの位置と姿勢を照合することによって、仮想空間(即ち絶対座標系)におけるカメラ12の位置と姿勢を特定する。画像処理装置16は、仮想空間におけるカメラ12の位置と姿勢から、前述した座標変換行列Rを求める。
画像処理装置16は、画像Saから複数のマーカMaを抽出することによって、仮想空間におけるカメラ12の位置と姿勢を特定する。即ち、画像処理装置16は、仮想空間におけるカメラ12の位置と姿勢を検出する3Dセンサを兼ねている。カメラ12の位置と姿勢を特定する処理は具体的には次のとおりである。画像処理装置16は、画像SaからマーカMaを抽出する。画像Sa上のマーカMaの位置から、画像処理装置16は、カメラ固定の座標系におけるマーカMの位置と姿勢を算出する。次いで画像処理装置16は、カメラ固定の座標系におけるマーカMの位置と、仮想空間におけるマーカMの位置と姿勢を照合することによって、仮想空間(即ち絶対座標系)におけるカメラ12の位置と姿勢を特定する。画像処理装置16は、仮想空間におけるカメラ12の位置と姿勢から、前述した座標変換行列Rを求める。
ユーザインタフェイス10は、画像処理装置16によって、ユーザUが指標点F(指先)で指し示した先に存在する物体を特定することができる。画像処理装置16が物体を特定する処理を、図1を参照して説明する。画像処理装置16が物体を認識するまでの処理は、指標点算出処理と、指示ベクトル算出処理と、対象物特定処理に分けることができる。
ユーザUは、頭部にカメラ12を装着して、希望する物体を指標点Fで指し示す。図1は、ユーザUが物体B1を指し示している状況を示している。このときユーザUは、利き目の焦点Eと物体B1を結ぶ線上に指標点F(指先)を移動している。
ユーザUは、頭部にカメラ12を装着して、希望する物体を指標点Fで指し示す。図1は、ユーザUが物体B1を指し示している状況を示している。このときユーザUは、利き目の焦点Eと物体B1を結ぶ線上に指標点F(指先)を移動している。
(指標点算出処理)
カメラ12が指標点Fを撮影する。図1の記号Faが、画像Saに映し出された指標点を表している。画像処理装置16は、画像Saにおける指標点Faを認識し、指標点Faの座標(xa、ya)を算出する。画像処理装置16は、ユーザUの指先の形状と色に基づいて、画像Saから指標点Faを抽出する。画像から特定の形状や色の物体を抽出する処理は、よく知られた画像処理方法を採用すればよい。前述したように、カメラ12の焦点距離zaは既知であるので、画像処理装置16は、カメラ12の焦点OCから投影面Sにおける指標点FaへのベクトルVFa=(xa、ya、za)を得る。
カメラ12が指標点Fを撮影する。図1の記号Faが、画像Saに映し出された指標点を表している。画像処理装置16は、画像Saにおける指標点Faを認識し、指標点Faの座標(xa、ya)を算出する。画像処理装置16は、ユーザUの指先の形状と色に基づいて、画像Saから指標点Faを抽出する。画像から特定の形状や色の物体を抽出する処理は、よく知られた画像処理方法を採用すればよい。前述したように、カメラ12の焦点距離zaは既知であるので、画像処理装置16は、カメラ12の焦点OCから投影面Sにおける指標点FaへのベクトルVFa=(xa、ya、za)を得る。
(指示ベクトル算出処理)
画像処理装置16は、記憶装置18から距離L(ユーザが手を伸ばしたときのカメラ12の焦点OCから指標点Fまでの距離)を読み出し、次の(数1)によってベクトルVFを得る。
(数1)の右辺の分数部分は、ベクトルVFaの大きさを距離Lに変換するスケールファクタを意味している。ベクトルVFは、前述したように、カメラ固定座標系におけるカメラ焦点OCから指標点Fまでのベクトルを表す。
次に画像処理装置16は、記憶装置18からベクトルVEを読み出し、VT=VF−VEの演算によって、ユーザUの利き目の焦点Eから指標点Fへの指示ベクトルVTを得る。指示ベクトルVTは、カメラ固定の座標系で表現されている。
画像処理装置16は、記憶装置18から距離L(ユーザが手を伸ばしたときのカメラ12の焦点OCから指標点Fまでの距離)を読み出し、次の(数1)によってベクトルVFを得る。
次に画像処理装置16は、記憶装置18からベクトルVEを読み出し、VT=VF−VEの演算によって、ユーザUの利き目の焦点Eから指標点Fへの指示ベクトルVTを得る。指示ベクトルVTは、カメラ固定の座標系で表現されている。
(対象物特定処理)
画像処理装置16は、VTG=R・VTの演算によって、仮想空間(絶対座標系)における指示ベクトルVTGを得る。ここで「R」は、前述した座標変換行列である。
最後に画像処理装置16は、環境モデル22を参照し、指示ベクトルVTGの延長線に交差する物体B1を特定する。画像処理装置16は、ユーザUの指し示す物体として物体B1のデータを出力する。
以上の処理により、ユーザインタフェイス10は、ハーフミラーを用いることなく、ユーザUの指し示す方向に存在する物体を特定することができる。
画像処理装置16は、VTG=R・VTの演算によって、仮想空間(絶対座標系)における指示ベクトルVTGを得る。ここで「R」は、前述した座標変換行列である。
最後に画像処理装置16は、環境モデル22を参照し、指示ベクトルVTGの延長線に交差する物体B1を特定する。画像処理装置16は、ユーザUの指し示す物体として物体B1のデータを出力する。
以上の処理により、ユーザインタフェイス10は、ハーフミラーを用いることなく、ユーザUの指し示す方向に存在する物体を特定することができる。
ユーザインタフェイス10の留意点を述べる。
カメラ12は、ユーザの利き目の近くに装着できることが好ましい。具体的には、利き目の上、利き目側のこめかみ、眉間が好ましい。
上記の実施例では、画像処理装置16が3Dセンサを兼ねていた。3Dセンサは画像処理装置16とは独立したセンサであってよい。3Dセンサは、例えば、ジャイロと磁気センサを組み合わせた、いわゆるモーションセンサであってよい。3Dセンサとして加速度センサを用いることも好適である。
上記の実施例では、記憶装置18が記憶している距離Lは一定の値であった。距離Lは、画像Sa上での指標点Faの位置に応じて異なる値であってもよい。たとえば、距離Lは、画像Sa上の指標点Faの座標(xa、ya)の関数であってよい。あるいは、距離Lは、画像Saを分割した領域毎に異なる値が設定されてよい。この場合、指示ベクトル算出処理は、指標点Faの座標(xa、ya)が属する領域に対応する距離Lを採用してベクトルVFを算出すればよい。
カメラ12は、ユーザの利き目の近くに装着できることが好ましい。具体的には、利き目の上、利き目側のこめかみ、眉間が好ましい。
上記の実施例では、画像処理装置16が3Dセンサを兼ねていた。3Dセンサは画像処理装置16とは独立したセンサであってよい。3Dセンサは、例えば、ジャイロと磁気センサを組み合わせた、いわゆるモーションセンサであってよい。3Dセンサとして加速度センサを用いることも好適である。
上記の実施例では、記憶装置18が記憶している距離Lは一定の値であった。距離Lは、画像Sa上での指標点Faの位置に応じて異なる値であってもよい。たとえば、距離Lは、画像Sa上の指標点Faの座標(xa、ya)の関数であってよい。あるいは、距離Lは、画像Saを分割した領域毎に異なる値が設定されてよい。この場合、指示ベクトル算出処理は、指標点Faの座標(xa、ya)が属する領域に対応する距離Lを採用してベクトルVFを算出すればよい。
ユーザインタフェイス10の適用例を説明する。
(第1の適用例)
図2と図3は、ユーザインタフェイス10を用いてユーザの指先F(指標点F)をあたかもマウスのように使うことのできる例を示す。ユーザがスクリーン100の所望の場所を指し示すと、ユーザインタフェイス10は、指し示した先にカーソル102を表示することができる。図2は、ユーザがユーザインタフェイス10を使用している様子を示す。図2(a)は平面図を示し、図2(b)は側面図を示す。図3は、スクリーンの表示例を示す。図3に示すとおり、スクリーン100の周囲に3つのマーカ(M1〜M3)が配置されている。
環境モデル22には、スクリーン100の位置と形状のデータが記述されている。本例では、スクリーンが鉛直方向に拡がる所定の領域を有する平面であることを示すデータが記述されている。環境モデル22には、マーカM1〜M3の位置と形状のデータも記述されている。
ユーザがカメラ12を装着してスクリーンの前に立つと、カメラ12はマーカM1〜M3を撮影する。コントローラ14の画像処理装置は、画像上のマーカM1〜M3の位置・姿勢を特定し、特定した位置・姿勢と環境モデル22に記述されたマーカM1〜M3を照合して仮想空間におけるカメラ12の位置と姿勢を特定する。即ち、カメラ12と画像処理装置は3Dセンサとして機能し、前述した座標変換行列Rを算出する。
(第1の適用例)
図2と図3は、ユーザインタフェイス10を用いてユーザの指先F(指標点F)をあたかもマウスのように使うことのできる例を示す。ユーザがスクリーン100の所望の場所を指し示すと、ユーザインタフェイス10は、指し示した先にカーソル102を表示することができる。図2は、ユーザがユーザインタフェイス10を使用している様子を示す。図2(a)は平面図を示し、図2(b)は側面図を示す。図3は、スクリーンの表示例を示す。図3に示すとおり、スクリーン100の周囲に3つのマーカ(M1〜M3)が配置されている。
環境モデル22には、スクリーン100の位置と形状のデータが記述されている。本例では、スクリーンが鉛直方向に拡がる所定の領域を有する平面であることを示すデータが記述されている。環境モデル22には、マーカM1〜M3の位置と形状のデータも記述されている。
ユーザがカメラ12を装着してスクリーンの前に立つと、カメラ12はマーカM1〜M3を撮影する。コントローラ14の画像処理装置は、画像上のマーカM1〜M3の位置・姿勢を特定し、特定した位置・姿勢と環境モデル22に記述されたマーカM1〜M3を照合して仮想空間におけるカメラ12の位置と姿勢を特定する。即ち、カメラ12と画像処理装置は3Dセンサとして機能し、前述した座標変換行列Rを算出する。
ユーザがスクリーン100上の所望の位置を指し示したとき、ユーザインタフェイス10は、ユーザの利き目の焦点Eから指先(指標点F)への指示ベクトルVTを算出する。次いでユーザインタフェイス10は、カメラ座標系で表現された指示ベクトルVTを仮想空間へ写像し、仮想空間(絶対座標系)における指示ベクトルVTGの延長線とスクリーン100の交点Pの座標を特定する。ユーザインタフェイス10は、特定した座標Pを図示しないコンピュータに送信する。コンピュータは、座標Pに、カーソル102を表示する。
(第2の適用例)
図4は、ユーザインタフェイス10を用いて、ユーザが指し示した位置へ移動ロボット200が移動する例を示す。図4(a)は平面図を示し、図4(b)は側面図を示す。移動ロボットは、現在200aの場所に位置していると仮定する。なお、本例では、ユーザインタフェイス10は、3次元姿勢センサ(不図示)を備えている。
移動ロボット200は、車輪で床上を移動することができる。移動ロボット200には、3つのマーカM1、M2、M3が配置されている。
環境モデル22には、絶対座標系における床平面のデータと、マーカを含む移動ロボット200の形状のデータが記述されている。
ユーザがカメラ12を装着して移動ロボット200の方向を向いたときに、カメラ12はマーカM1〜M3を撮影する。コントローラ14の画像処理装置は、画像上のマーカM1〜M3の位置を特定し、特定した位置と環境モデル22に記述されたマーカM1〜M3を照合する。そうすることでユーザインタフェイス10は、仮想空間におけるカメラ12と移動ロボット200の相対的な位置と姿勢を特定する。即ち、カメラ12と画像処理装置は3Dセンサとして機能し、前述した座標変換行列Rを算出する。このとき、ユーザインタフェイス10は、3次元姿勢センサ(不図示)の検出値に基づいて、仮想空間におけるカメラ12の姿勢も特定する。
図4は、ユーザインタフェイス10を用いて、ユーザが指し示した位置へ移動ロボット200が移動する例を示す。図4(a)は平面図を示し、図4(b)は側面図を示す。移動ロボットは、現在200aの場所に位置していると仮定する。なお、本例では、ユーザインタフェイス10は、3次元姿勢センサ(不図示)を備えている。
移動ロボット200は、車輪で床上を移動することができる。移動ロボット200には、3つのマーカM1、M2、M3が配置されている。
環境モデル22には、絶対座標系における床平面のデータと、マーカを含む移動ロボット200の形状のデータが記述されている。
ユーザがカメラ12を装着して移動ロボット200の方向を向いたときに、カメラ12はマーカM1〜M3を撮影する。コントローラ14の画像処理装置は、画像上のマーカM1〜M3の位置を特定し、特定した位置と環境モデル22に記述されたマーカM1〜M3を照合する。そうすることでユーザインタフェイス10は、仮想空間におけるカメラ12と移動ロボット200の相対的な位置と姿勢を特定する。即ち、カメラ12と画像処理装置は3Dセンサとして機能し、前述した座標変換行列Rを算出する。このとき、ユーザインタフェイス10は、3次元姿勢センサ(不図示)の検出値に基づいて、仮想空間におけるカメラ12の姿勢も特定する。
次にユーザは、床面を向き、所望の位置を指し示す。ユーザインタフェイス10は、3次元姿勢センサを備えているので、カメラ12の視野からマーカM1〜M3が外れても、仮想空間(即ち絶対座標系)におけるカメラ12の位置と姿勢をトレースすることができる。
ユーザインタフェイス10は、ユーザの利き目の焦点Eから指先(指標点F)への指示ベクトルVTを算出する。次いでユーザインタフェイス10は、カメラ座標系で表現された指示ベクトルVTを仮想空間へ写像し、仮想空間(絶対座標系)における指示ベクトルVTGの延長線と床面の交点Pの座標を特定する。ユーザインタフェイス10は、特定した座標Pを移動ロボット200へ送信する。移動ロボット200は、座標Pに移動する(図4の200b)。
ユーザインタフェイス10は、ユーザの利き目の焦点Eから指先(指標点F)への指示ベクトルVTを算出する。次いでユーザインタフェイス10は、カメラ座標系で表現された指示ベクトルVTを仮想空間へ写像し、仮想空間(絶対座標系)における指示ベクトルVTGの延長線と床面の交点Pの座標を特定する。ユーザインタフェイス10は、特定した座標Pを移動ロボット200へ送信する。移動ロボット200は、座標Pに移動する(図4の200b)。
(第3の適用例)
図5は、ユーザインタフェイス10を用いて、作業ロボット300に、ユーザが指し示した物体を把持させる例を示す。図5(a)は平面図を示し、図5(b)は側面図を示す。本例では、マーカの代わりに、環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定する3Dセンサとして、外部カメラ302を備えている。
環境モデル22には、絶対座標系における作業台304の位置と形状のデータと、物体Bの位置と形状のデータが記述されている。物体Bは、作業台304の上面に載置されている。
外部カメラ302は、ユーザが装着したカメラ12、物体B、作業台304、及び作業ロボット300を撮影する。外部カメラ302の位置は既知であるので、ユーザインタフェイス10は、外部カメラ302の映像と環境モデル22を照合することによって、仮想空間におけるカメラ12の位置と姿勢を特定することができる。即ち、ユーザインタフェイス10は、外部カメラ302と画像処理装置を3Dセンサとして用いて、前述した座標変換行列Rを算出する。
図5は、ユーザインタフェイス10を用いて、作業ロボット300に、ユーザが指し示した物体を把持させる例を示す。図5(a)は平面図を示し、図5(b)は側面図を示す。本例では、マーカの代わりに、環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定する3Dセンサとして、外部カメラ302を備えている。
環境モデル22には、絶対座標系における作業台304の位置と形状のデータと、物体Bの位置と形状のデータが記述されている。物体Bは、作業台304の上面に載置されている。
外部カメラ302は、ユーザが装着したカメラ12、物体B、作業台304、及び作業ロボット300を撮影する。外部カメラ302の位置は既知であるので、ユーザインタフェイス10は、外部カメラ302の映像と環境モデル22を照合することによって、仮想空間におけるカメラ12の位置と姿勢を特定することができる。即ち、ユーザインタフェイス10は、外部カメラ302と画像処理装置を3Dセンサとして用いて、前述した座標変換行列Rを算出する。
ユーザは、物体Bを指し示す。ユーザインタフェイス10は、ユーザの利き目の焦点Eから指先(指標点F)への指示ベクトルVTを算出する。次いでユーザインタフェイス10は、カメラ座標系で表現された指示ベクトルVTを仮想空間へ写像し、仮想空間(絶対座標系)における指示ベクトルVTGの延長線上に存在する物体Bを特定する。ユーザインタフェイス10は、特定した物体Bのデータを作業ロボット300へ出力する。作業ロボット300は、受信した物体Bのデータに基づいて、物体Bを把持する。
作業ロボット300に物体Bの移動先を指示する場合は、ユーザは、移動先を指し示せばよい。
作業ロボット300に物体Bの移動先を指示する場合は、ユーザは、移動先を指し示せばよい。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、仮想空間におけるカメラ12の位置と姿勢を特定するためのマーカは、赤外LED等でもよい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
例えば、仮想空間におけるカメラ12の位置と姿勢を特定するためのマーカは、赤外LED等でもよい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:ユーザインタフェイス
12:カメラ
14:コントローラ
16:画像処理装置
18:記憶装置
20:補正用データ
22:環境モデル
12:カメラ
14:コントローラ
16:画像処理装置
18:記憶装置
20:補正用データ
22:環境モデル
Claims (3)
- ユーザの頭部に装着されてユーザの前方を撮影するカメラと、
カメラの周囲の物体の3次元配置を記述した環境モデルと、頭部に装着されたカメラの焦点からユーザのいずれか一方の目までのベクトルVと、手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Lを記憶している記憶装置と、
環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定するセンサと、
前記カメラによって撮影された画像を処理する画像処理装置と、
を備えており、前記画像処理装置が、
画像上での前記指標点の位置を算出する指標点算出処理と、
算出された位置とベクトルVと距離Lから、ユーザの目から前記指標点へ伸びる指示ベクトルを算出する指示ベクトル算出処理と、
算出された指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する対象物特定処理と、
を実行することを特徴とするユーザインタフェイス。 - 記憶装置は、画像上の指標点の位置に応じて異なる距離Lを記憶しており、指示ベクトル算出手段は、画像上での指標点の位置に応じた距離Lを用いて指示ベクトルを算出することを特徴とする請求項1に記載のユーザインタフェイス。
- 前記ベクトルVは、頭部に装着されたカメラの焦点からユーザの利き目までのベクトルであることを特徴とする請求項1又は2に記載のユーザインタフェイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008105551A JP2009258884A (ja) | 2008-04-15 | 2008-04-15 | ユーザインタフェイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008105551A JP2009258884A (ja) | 2008-04-15 | 2008-04-15 | ユーザインタフェイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009258884A true JP2009258884A (ja) | 2009-11-05 |
Family
ID=41386237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008105551A Pending JP2009258884A (ja) | 2008-04-15 | 2008-04-15 | ユーザインタフェイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009258884A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130009861A1 (en) * | 2011-07-04 | 2013-01-10 | 3Divi | Methods and systems for controlling devices using gestures and related 3d sensor |
WO2013098827A1 (en) * | 2011-12-27 | 2013-07-04 | Hewlett-Packard Development Company, L.P. | User interface device |
CN103347437A (zh) * | 2011-02-09 | 2013-10-09 | 普莱姆森斯有限公司 | 3d映射环境中的凝视检测 |
US9207779B2 (en) | 2012-09-18 | 2015-12-08 | Samsung Electronics Co., Ltd. | Method of recognizing contactless user interface motion and system there-of |
JP2016100024A (ja) * | 2014-11-25 | 2016-05-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 3次元相互作用のためのコンピュータ装置及び方法 |
US9600714B2 (en) | 2011-11-25 | 2017-03-21 | Samsung Electronics Co., Ltd. | Apparatus and method for calculating three dimensional (3D) positions of feature points |
US20220066545A1 (en) * | 2019-05-14 | 2022-03-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Interactive control method and apparatus, electronic device and storage medium |
-
2008
- 2008-04-15 JP JP2008105551A patent/JP2009258884A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347437A (zh) * | 2011-02-09 | 2013-10-09 | 普莱姆森斯有限公司 | 3d映射环境中的凝视检测 |
US20130009861A1 (en) * | 2011-07-04 | 2013-01-10 | 3Divi | Methods and systems for controlling devices using gestures and related 3d sensor |
US8823642B2 (en) * | 2011-07-04 | 2014-09-02 | 3Divi Company | Methods and systems for controlling devices using gestures and related 3D sensor |
US9600714B2 (en) | 2011-11-25 | 2017-03-21 | Samsung Electronics Co., Ltd. | Apparatus and method for calculating three dimensional (3D) positions of feature points |
WO2013098827A1 (en) * | 2011-12-27 | 2013-07-04 | Hewlett-Packard Development Company, L.P. | User interface device |
GB2511973A (en) * | 2011-12-27 | 2014-09-17 | Hewlett Packard Development Co | User interface device |
US9207779B2 (en) | 2012-09-18 | 2015-12-08 | Samsung Electronics Co., Ltd. | Method of recognizing contactless user interface motion and system there-of |
JP2016100024A (ja) * | 2014-11-25 | 2016-05-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 3次元相互作用のためのコンピュータ装置及び方法 |
KR20160062499A (ko) * | 2014-11-25 | 2016-06-02 | 삼성전자주식회사 | 3차원 상호작용 컴퓨팅 장치 및 방법 |
KR102310994B1 (ko) * | 2014-11-25 | 2021-10-08 | 삼성전자주식회사 | 3차원 상호작용 컴퓨팅 장치 및 방법 |
US20220066545A1 (en) * | 2019-05-14 | 2022-03-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Interactive control method and apparatus, electronic device and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4136859B2 (ja) | 位置姿勢計測方法 | |
US10852847B2 (en) | Controller tracking for multiple degrees of freedom | |
JP5936155B2 (ja) | 3次元ユーザインタフェース装置及び3次元操作方法 | |
US8731276B2 (en) | Motion space presentation device and motion space presentation method | |
KR101546654B1 (ko) | 웨어러블 증강현실 환경에서 증강현실 서비스 제공 방법 및 장치 | |
JP5762892B2 (ja) | 情報表示システム、情報表示方法、及び情報表示用プログラム | |
EP3014581B1 (en) | Space carving based on human physical data | |
JP4608326B2 (ja) | 指示動作認識装置及び指示動作認識プログラム | |
CN110825234A (zh) | 一种面向工业场景的投影式增强现实跟踪显示方法和系统 | |
CN107004279A (zh) | 自然用户界面相机校准 | |
NO339941B1 (no) | System og fremgangsmåte for et gestbasert styringssystem | |
JP5656514B2 (ja) | 情報処理装置及び方法 | |
JP4926826B2 (ja) | 情報処理方法および情報処理装置 | |
CN102884492A (zh) | 增强现实的指向装置 | |
JP2011128220A (ja) | 情報提示装置、情報提示方法及びプログラム | |
JP2009258884A (ja) | ユーザインタフェイス | |
JP2007064684A (ja) | マーカ配置補助方法及び装置 | |
WO2017021902A1 (en) | System and method for gesture based measurement of virtual reality space | |
JP2018119833A (ja) | 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 | |
US20150339859A1 (en) | Apparatus and method for navigating through volume image | |
JP5526465B2 (ja) | 爪位置データ検出装置及び爪位置データ検出方法、並びに爪位置データ検出プログラム | |
KR101960929B1 (ko) | 기초 응급 구조 훈련 시뮬레이션 시스템 | |
JP5565331B2 (ja) | 表示システム、表示処理装置、表示方法、および表示プログラム | |
WO2019013204A1 (ja) | 情報を提示する情報処理装置、情報処理方法及びプログラム | |
KR102456872B1 (ko) | 영상센서와 관성센서의 강결합 융합을 이용한 손동작 추적시스템 및 방법 |