JP4743818B2 - 画像処理装置、画像処理方法、コンピュータプログラム - Google Patents
画像処理装置、画像処理方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP4743818B2 JP4743818B2 JP2003102141A JP2003102141A JP4743818B2 JP 4743818 B2 JP4743818 B2 JP 4743818B2 JP 2003102141 A JP2003102141 A JP 2003102141A JP 2003102141 A JP2003102141 A JP 2003102141A JP 4743818 B2 JP4743818 B2 JP 4743818B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- matrix
- correction
- model view
- real space
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、計測対象の姿勢または位置姿勢を出力する画像処理装置、画像処理方法、コンピュータプログラムに関するものである。
【0002】
【従来の技術】
近年、複合現実感(以下、「MR」(Mixed Reality)と称す)に関する研究が盛んに行われている。
【0003】
MRには、ビデオカメラなどの撮影装置で撮影された現実空間の映像に仮想空間(たとえばコンピュータグラフィックス(以下、CGと称す)により描画された仮想物体や文字情報など)の映像を重畳表示するビデオシースルー方式と、ユーザが頭部に装着したHMD(Head−Mounted Display)に現実空間の像を光学的に透過させつつ、その表示画面に仮想空間の映像を重畳表示する光学シースルー方式がある。
【0004】
MRの応用としては、患者の体内の様子を透視しているかのように医師に提示する医療補助の用途や、工場において製品の組み立て手順を実物に重ねて表示する作業補助の用途など、今までのVRとは質的に全く異なった新たな分野が期待されている。
【0005】
これらの応用に対して共通に要求されるのは、現実空間と仮想空間の間の位置合わせをいかにして行うかという技術であり、従来から多くの取り組みが行われてきた。
【0006】
ビデオシースルー方式のMRにおける位置合わせの問題は、撮影装置の視点の位置姿勢を正確に求める問題に帰結される。また光学シースルー方式のMRにおける位置合わせの問題は、同様にユーザの視点の位置姿勢を求める問題といえる。
【0007】
従来のMRシステム(特に屋内におけるMRシステム)では、これらの問題を解決する方法として、磁気センサや超音波センサなどの位置姿勢センサを利用して、これらの視点の位置姿勢を導出することが一般的に行われている。
【0008】
一方、従来の屋外におけるMRシステムでは、これらの視点の姿勢の導出にジャイロセンサ(厳密には、3軸方向の角速度を計測するための複数のジャイロセンサと、3軸方向の加速度を計測するための複数の加速度センサの組み合わせによって構成される3軸姿勢センサであるが、本明細では便宜上これをジャイロセンサと呼ぶこととする)が利用されている。
【0009】
【発明が解決しようとする課題】
しかし、ジャイロセンサを用いて視点の姿勢を求める場合、高精度なジャイロセンサを用いた場合であっても、ジャイロセンサにはドリフト誤差があるため、時間経過に伴って徐々に方位方向の計測値に誤差が生じてしまう。また、ジャイロセンサは姿勢計測のみしか行えないため、視点の位置の変化に追従することが出来ない。つまり、時間経過や視点の位置の変化に伴って現実空間と仮想空間との間に位置ずれが生じてしまう。
【0010】
本発明は以上の問題に鑑みてなされたものであり、視点の姿勢または位置姿勢の計測を行うことを目的とし、特に、時間経過に伴って生じる方位方向成分の誤差補正を行うことを目的とする。
【0011】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0012】
すなわち、現実空間の画像を撮影する撮影装置と、
前記撮影装置の撮影視点の姿勢を計測する姿勢センサと、
前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出手段と、
前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出手段と、
前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出手段が算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列、を補正するための補正行列を推測する推測手段と、
前記推測手段が推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成手段と
を備えることを特徴とする。
【0013】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0014】
すなわち、現実空間の画像を撮影する撮影装置と、
前記撮影装置の撮影視点の姿勢を計測する姿勢センサと
を備える画像処理装置が行う画像処理方法であって、
前記画像処理装置のモデルビュー行列算出手段が、前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出工程と、
前記画像処理装置の補正行列算出手段が、前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出工程と、
前記画像処理装置の推測手段が、前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出工程で算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列、を補正するための補正行列を推測する推測工程と、
前記画像処理装置の合成手段が、前記推測工程で推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成工程と
を備えることを特徴とする。
【0015】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0016】
[第1の実施形態]
本実施形態では、姿勢センサによるカメラ視点の姿勢計測誤差を補正することで、位置ずれのないMR空間の提示を実現する画像処理装置について説明する。
【0017】
姿勢センサを備えたHMDの姿勢に応じて、現実物体の画像に仮想物体の画像を重畳描画する従来の画像処理装置の構成を図2に示す。
【0018】
同図のHMD200はビデオシースルー方式のものであって、画像を表示するディスプレイ201と、このHMD200を装着した観察者の視点位置から現実空間を撮像するカメラ202(観察者視点カメラ)を備え、またカメラ202の視点の姿勢を計測する姿勢センサ203(例えばここではジャイロセンサ)を備えている。又、画像処理装置210は、姿勢センサ203からセンサ出力を入力するセンサ入力モジュール211、カメラ202から現実物体の撮影画像を入力する画像入力モジュール213、センサ入力モジュール211から入力したカメラ202の視点の姿勢と他の方法により得たカメラ202の視点位置に基づいてカメラ202の視点の位置姿勢を表わす情報(例えば4×4のモデルビュー行列Mt)を生成する視点位置姿勢演算モジュール212、視点位置姿勢演算モジュール212により演算された視点の位置姿勢を表わす情報に基づいて現実物体の画像に仮想物体の画像を重畳描画した画像を生成する画像生成モジュール214から構成されており、ディスプレイ201に提示画像を提供する。この場合、時間経過に伴って、センサ出力の誤差の蓄積に応じて生じる位置ずれを含んだ画像がディスプレイ201に表示される。
【0019】
なお、本実施形態においては、視点位置は固定値として予め視点位置姿勢演算モジュール212に保持されているものとする。一般に、観察するMR空間中の観察対象物体(現実物体、仮想物体)までの距離が視点位置の実際の移動量に対して相対的に大きい場合には、視点位置に多少の誤差があっても画像上での位置ずれに大幅な影響を与えないという性質がある。特に屋外におけるMRシステムのように観察対象物体が遠方に存在する場合で、かつ、観察者が一箇所に立ち止まっているような用途においては、このように視点の位置を固定値とすることが有効である。もちろん、カメラ202の視点位置を計測する他の位置センサ(例えばGPS等)をHMD200にさらに装着し、その出力を視点位置として入力してもよい。
【0020】
尚、本実施形態では、上記の理由から、視点位置の誤差が相対値として十分に小さいものであり、視点位置の誤差に起因する画像上での位置ずれは十分無視できるほどのものであると仮定する。
【0021】
次に、HMD200を繋いだ本実施形態における画像処理装置の構成を図3に示す。図2と同じ部分には同じ番号を付けており、又、図2と同じ部分については説明は省略する。
【0022】
図3に示した画像処理装置310は、図2に示した画像処理装置210に補正値演算モジュール215を付加し、さらに、視点位置姿勢演算モジュール212を視点位置姿勢演算モジュール312に変更した装置の構成となっている。この補正値演算モジュール215は、画像入力モジュール213から入力した撮影画像とセンサ入力モジュール211から入力した視点の姿勢に基づいて、後述する補正値演算処理によって補正値(補正行列ΔMt)を算出し、視点位置姿勢演算モジュール312へと出力する。視点位置姿勢演算モジュール312は、センサ入力モジュール211から入力したカメラ202の視点の姿勢と他の方法により得たカメラ202の視点位置と補正値演算モジュール215から入力した補正値に基づいて、後述する姿勢補正処理を実行して、センサ出力に基づいて算出した位置姿勢情報(モデルビュー行列Mt)を補正して、補正後の視点位置姿勢情報(補正後のモデルビュー行列M$t)を生成する。
【0023】
次に、補正値演算モジュール215における補正値演算処理の基本的原理について説明する。
【0024】
補正値演算処理は、基本的には、画像上に撮像されるランドマーク(例えばビルの角や家の屋根など、その投影像の画像特徴を位置合わせの指標して利用可能な現実物体(の一部分))を用いて、センサ出力に基づいて予測した画像上におけるランドマークの観測予測位置と、画像処理によって実際に検出される当該ランドマークの画像上における観測位置に基づいて行われる。したがって、画像上から如何に正確かつ安定的にランドマークの観測位置を検出するかが、補正値演算処理の最大のポイントとなる。
【0025】
本実施形態では、ランドマークのテンプレート画像を用いたテンプレートマッチングによってランドマークの検出を行う。
【0026】
一般に、テンプレートマッチングによって画像中から画像特徴を抽出する場合には、画像面上における画像特徴の回転が問題となる。この画像特徴の回転は、カメラや撮影対象物体がカメラ座標系におけるロール方向に回転することで生じる。例えば、図14(a)に示したテンプレート画像Tを用いて、図14(b)に示した撮影画像I上からランドマークLを検出する場合、画像特徴の回転を考慮しない探索処理を行った場合には安定的にランドマークを検出することが出来ない。一方、図14(c)に示すように、画像特徴の回転を考慮した形でテンプレート画像Tに回転(図の例では45°毎の回転)を加えたテンプレート画像T’を複数用意し、各々のテンプレート画像毎に探索処理を行うことで、画像特徴の回転に対処したランドマークの検出を行うことができる。しかし、計算量はテンプレートの数に比例して増加するため、非常に計算負荷の高い処理となってしまう。
【0027】
本実施形態においては、姿勢センサ203によって、カメラ202の視点の姿勢が計測されている。この計測値のうちの方位方向の値については前述のとおり時間経過に伴う誤差の蓄積が存在するが、方位方向以外の2軸(すなわち、ロール方向とピッチ方向)については比較的正確な値が取得されている。したがって、図14(d)に示したように、姿勢センサ203によって計測されるカメラ202のロール方向の回転角に基づいて撮影画像Iに回転を加えた変換画像I’を生成し、この画像I’上においてテンプレート画像Tによる探索処理を行うことで、画像特徴の回転に依存しないランドマークの検出が可能となる。
【0028】
さらに、本実施形態においては、他の2軸の姿勢についても姿勢センサ203による計測値が得られており、かつ、前フレームまでの処理において姿勢補正値演算モジュール215にて前フレームにおける姿勢補正値が得られている。したがって、図14(e)に示したように、それらの値に基づいて撮影画像I上におけるランドマークの大まかな位置pを予測し、その予測位置の近傍領域(同図におけるターゲット画像抽出領域)に対してのみ上記の回転処理を行うことで、ランドマークの探索処理を行う対象であるターゲット画像Rを作成し(図14(f))、探索範囲を限定することができる。
【0029】
従って、テンプレートマッチングによるランドマークの検出を高速かつ安定的に行うことが可能となる。
【0030】
次に、補正値演算モジュール215の具体的な構成を図4に示す。
【0031】
補正値演算モジュール215は、後述する画像I0に基づいてテンプレート画像を生成するテンプレート画像生成モジュール403と、時刻tにおける画像Itとカメラ202の姿勢(rollt)とに基づいてターゲット画像を生成するターゲット画像生成モジュール404、ターゲット画像とテンプレート画像とを用いて類似度を算出し、ランドマークの位置を検出する対応探索モジュール402、そして検出されたランドマークの位置に従って、これまでの補正値を最新の補正値(後述する補正行列ΔMt)に更新しこれを出力する補正値更新モジュール401により構成されている。
【0032】
次に、本実施形態で用いる各変数について説明する。
【0033】
・i番目(i=1,2,3,,,)のランドマークをLi
・ランドマークLiの世界座標における位置(既知)をPi=(Xi,Yi,Zi,1)T
・カメラの既定の位置を(X0,Y0,Z0)
・テンプレート画像生成の際に用いるカメラの既定の姿勢を(roll0,pitch0,yaw0)
・カメラの既定の位置姿勢におけるモデルビュー行列(世界座標系からカメラ座標系への変換行列)をM0
・カメラの焦点距離(既知)をf
・カメラの射影変換行列(カメラ座標系から画像座標系への変換行列)(既知)をS
・カメラの既定の位置姿勢における撮影画像をI0
・ランドマークLiの画像I0上における撮影位置をpi 0=(xi 0hi 0,yi 0hi 0,hi 0)T
・ランドマークLiを検索するためのテンプレート画像をTi
・テンプレート画像のサイズ(既定)をN×N
・テンプレート画像の座標の範囲をxsT,xeT,ysT,yeT(但し、xsT=ysT=−N/2の小数部を切り捨てた値。xeT=yeT=xsT+N−1)
・時刻tにおいて撮影された画像をIt
・時刻tにおけるセンサによる姿勢計測値を(rollt,pitcht,yawt)
・姿勢計測値(rollt,pitcht,yawt)から算出したモデルビュー行列(世界座標系からカメラ座標系への変換行列)をMt
・画像It上におけるランドマークLiの撮像予測位置をpi t=(xi thi t,yi thi t,hi t)T
・画像It上で実際に検出されるランドマークLiの撮像位置をp$i t=(x$i t,y$i t)
・画像ItからランドマークLiを検出するための探索処理を行う対象となるターゲット画像をRi t
・ランドマークのx方向の探索範囲(既定)を±m
・ランドマークのy方向の探索範囲(既定)を±n
・ターゲット画像のサイズをN’×N”(但し、N’=N+2m,N”=N+2n)
・ターゲット画像の座標の範囲をxsR,xeR,ysR,yeR(但し、xsR=xsT−m,xeR=xeT+m,ysR=ysT−n,yeR=yeT+n)
・ターゲット画像上Ri tにおけるランドマークLiの検出座標を(ji t,ki t)
・各ランドマークの検出座標(ji t,ki t)の代表値を(jt,kt)
・時刻tにおいて算出されるカメラの姿勢の補正更新値Δroll,Δpitch,Δyaw
・時刻tにおいて算出されるカメラの位置の補正更新値Δx,Δy,Δz
・時刻tにおいて算出されるモデルビュー行列Mtを補正するための補正行列をΔMt
・これまでの処理で既に算出されている(時刻t−1で算出されている)補正行列をΔMt−1
・補正行列ΔMt−1を補正行列ΔMtに更新するための補正更新行列ΔM’t
・Mtを補正行列ΔMtによって補正した補正後のモデルビュー行列をM$t・Mtを補正行列ΔMt−1によって補正した補正後のモデルビュー行列をM’t
以上の設定に基づいて、本実施形態における姿勢計測誤差の補正処理について処理の流れに従って以下説明する。
【0034】
<テンプレート画像の作成>
まず、現実空間を撮影するカメラを既定の位置姿勢に設定し画像I0を撮影する。図1に画像I0の例を示す。同図におけるL1〜L4がランドマークであり、T1〜T4で示した枠の部分がそれぞれのランドマークに対応するテンプレート画像として抽出される領域である。
【0035】
次にモデルビュー行列M0を算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0036】
また、撮影された画像中のランドマーク毎(図1ではL1〜L4)にpi 0を以下の式にて算出する。
【0037】
pi 0=SM0Pi
そして次に各ランドマーク毎にテンプレート画像Ti(図1ではT1〜T4で示された部分の画像)を後述の方法により作成する。
【0038】
roll0が0のときは、画像I0から(xi 0,yi 0)を中心としたN×Nのサイズの矩形領域を抽出し、これをテンプレート画像Tiとすればよい。テンプレート画像Tiにおいては画像の中心を座標(0,0)と表わすこととすると、この処理は以下のように記述することができる。
【0039】
Ti(j,k)=I0(xi 0+j,yi 0+k)
但し、j=xsT〜xeT,k=ysT〜yeT。
【0040】
一方、roll0が0でないときは、(xi 0,yi 0)を中心として、N×Nの矩形領域を−roll0だけ回転させた矩形領域を抽出する。すなわち、j=xsT〜xeT,k=ysT〜yeTの各画素について、
Ti(j,k)=I0(xi 0+jcos(−roll0)−ksin(−roll0),yi 0+jsin(−roll0)+kcos(−roll0))
となるようなテンプレート画像Tiを作成する。
【0041】
<各時刻におけるモデルビュー行列Mtの算出>
時刻tにおけるセンサ出力(姿勢(rollt,pitcht,yawt))と、カメラの既定の位置(X0,Y0,Z0)に基づいて、モデルビュー行列Mtを算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0042】
<補正値演算処理:モデルビュー行列Mtを補正する補正行列ΔMtの算出>モデルビュー行列Mtを補正する補正行列ΔMtの算出方法について説明する。
【0043】
まずこれまでの処理で既に算出されている補正行列ΔMt−1を用いてモデルビュー行列Mtを補正し、M’tを求める。尚、この処理が最初の場合(t=0の場合)、補正行列ΔMt−1は単位行列とする。
【0044】
M’t=ΔMt−1Mt
次に各ランドマーク毎にpi tを以下の式に従って算出する。
【0045】
pi t=SM’tPi
尚、この方法は公知の方法であるため、詳細な説明は省略する。また、各ランドマークの座標を求めた結果、その座標が画像Itの座標の範囲外であるランドマークは、以後の処理対象から除外する。
【0046】
次に、各ランドマーク毎にターゲット画像Ri tを作成する。具体的には、画像Itから同画像におけるローカル座標である(xi t、yi t)を中心としたN’×N”の矩形領域を−rolltだけ回転させた矩形を抽出する。すなわち、j=xsT〜xeT,k=ysT〜yeTの各画素について、以下の変換を行う。
【0047】
Ri t(j,k)=It(xi t+jcos(−rollt)−ksin(−rollt),yi t+jsin(−rollt)+kcos(−rollt))
次に各ランドマーク毎に、ターゲット画像Ri tとテンプレート画像Tiのマッチングを行い、ターゲット画像上におけるランドマークの位置(ji t,ki t)を求める。求める方法の具体的な処理について以下説明する。
【0048】
まずターゲット画像Ri t上の座標(j,k)を中心としたN×Nの矩形領域とテンプレート画像Tiとの類似度e(j,k)を算出する。類似度の算出は例えば相互相関やSSD(Sum of Squared Difference)などによって行うが、公知のいずれのテンプレートマッチング手法を用いてもよい。この類似度e(j,k)を全てのj及びk(ただし、j=−m〜m,k=−n〜n)について算出し、類似度e(j,k)を最大にするj及びkを(ji t,ki t)とする。
【0049】
そして、各ランドマークで求めた(ji t,ki t)から、代表値(jt,kt)を算出する。代表値の算出は、例えば、各ランドマーク毎に求めた(ji t,ki t)の平均値やメディアン値を求めることで行う。なお、各ランドマーク毎に求めた(ji t,ki t)のうち、その検出の際の類似度e(ji t,ki t)が所定の閾値よりも大きいランドマークのみを代表値の算出に用いることで、信頼性の低い検出結果を除外することができる。この場合、類似度e(ji t,ki t)が前記閾値以上となるランドマークの個数が所定数以下の場合には、時刻tにおける補正値演算処理を打ち切ってもよい。
【0050】
そして次に、ランドマークの検出結果に基づいて、補正行列ΔMtの更新を行う。
【0051】
まず、カメラの姿勢の補正更新値Δroll,Δpitch,Δyawを以下のようにして求める。
【0052】
Δroll =0
Δpitch=arctan(kt/f)
Δyaw =arctan(jt/f)
又、カメラの位置は固定と仮定しているので、位置の補正更新値Δx,Δy,Δzは全て0となる。
【0053】
次に、以上の姿勢Δroll,Δpitch,Δyaw、及び位置Δx,Δy,Δzによって定められるモデルビュー行列として、補正更新行列ΔM’tを算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0054】
そして、これまでに得られた補正行列ΔMt−1と補正更新行列ΔM’tから、更新後の補正行列ΔMtを以下の式に従って算出する。
【0055】
ΔMt=ΔM’tΔMt−1
<位置姿勢補正処理:補正後のモデルビュー行列M$tの算出>
時刻tにおける補正後のモデルビュー行列M$tは、以下の式に従って求めることができる。
【0056】
M$t=ΔMtMt
そして補正後のモデルビュー行列M$tを用いてCGを描画、表示することで、ジャイロセンサを用いても時間経過に伴った方位方向の位置ずれを軽減することができる。
【0057】
以上、説明した本実施形態における補正処理のフローチャートを図5乃至7に示し、以下説明する。
【0058】
図5は上述の補正処理のメインの処理のフローチャートである。
【0059】
まずテンプレート画像を作成する(ステップS501)。テンプレート画像を作成する具体的な処理のフローチャートを図6に示す。
【0060】
まず、既定の位置姿勢に固定されたカメラから画像I0を入力する(ステップS601)。次にこのときのカメラの位置姿勢に基づいてモデルビュー行列M0を算出する(ステップS602)。次に全てのiについて(言い換えれば全てのランドマークについて)pi 0を求める(ステップS603,S604)。次にテンプレート画像を作成する。作成する方法は上述の通りであって、各ランドマークについて上述した範囲内の全てのj、kに対して画素値を求め、テンプレート画像Tiの座標(j,k)に格納する(ステップS606乃至S608)。
【0061】
以上の図6に示した処理に従ってテンプレート画像を生成すると、図5に戻って、画像Itの撮影を行う(ステップS502)。又、このときのセンサ出力の取得も行う(ステップS503)。尚ステップS502,S503の処理の順序はこれに限定されるものではなく、その順序が逆でも良いし、同期を取って、同時に行っても良い。
【0062】
次にセンサ出力に基づいてモデルビュー行列Mtの算出を行う(ステップS504)。そして補正行列ΔMtの算出を行う(ステップS505)。補正行列ΔMtの算出における具体的な処理のフローチャートを図7に示し、以下説明する。
【0063】
まず、補正行列ΔMt−1でモデルビュー行列Mtを補正し、モデルビュー行列M’tを求める(ステップS701)。そして次に全てのiについて、言い換えれば全てのランドマークについてpi tを算出する(ステップS702,S703)。尚、算出したpi tが画像Itの範囲外に存在する場合には後述の処理の対象外とする。
【0064】
次に各ランドマーク毎にターゲット画像Ri tを算出する(ステップS704乃至S706)。そしてターゲット画像Ri tとテンプレート画像Tiのマッチングを行い、各j、kごとに類似度e(j,k)を算出する(ステップS707,S708)。そして類似度e(j,k)が最大となる(j,k)を(ji t,ki t)とする(ステップS709)。以上のステップS707からステップS709までの処理を全てのi、言い換えると全てのランドマークに対して求める(ステップS710)。
【0065】
そして求めた(ji t,ki t)の平均値を計算し、(jt,kt)を算出する(ステップS711)。また、カメラの位置姿勢の補正値を求め(ステップS712)、補正更新行列ΔM’tを求め(ステップS713)、最終的に補正行列ΔMtを求める(ステップS714)。
【0066】
以上の図7に示した処理に従って補正行列ΔMtを算出すると、図5に戻って、算出した補正行列ΔMtを用いてモデルビュー行列Mtを補正する(ステップS506)。
【0067】
そして補正後のモデルビュー行列M$tを用いてCGを描画、表示する(ステップS507)。
【0068】
以上の説明により、本実施形態の画像処理装置及びその方法によって、姿勢センサによるカメラ視点の姿勢計測誤差を補正して位置ずれのないMRを実現することができる。
【0069】
[第2の実施形態]
第1の実施形態では、補正処理を単一ループ(描画ループ)の中で行っている。この場合、画像処理の計算負荷が原因となって描画のフレームレートを充分得ることができない。あるいは、描画のフレームレートを確保するために画像処理を簡単なもの(計算量の少ないもの)にすると、補正の充分な精度を得ることができない。
【0070】
そこで本実施形態では描画ループと補正演算ループとを分離し、独立の更新周期(例えば描画ループを60Hzで、補正演算ループを1ループ/秒)で動作させる。又、本実施形態の処理を実行する装置として、第1の実施形態で用いた画像処理装置を用いる。
【0071】
<描画ループ>
基本的には図5、6に示したフローチャートに従った処理を実行するが、ステップS505において、後述の補正演算ループより送信される最新の補正行列ΔMsを得てこれをΔMtとする処理を行う。
【0072】
<補正演算ループ>
図8に補正演算ループの処理のフローチャートを示す。まず、描画ループから時刻sにおける画像Isと、そのときのモデルビュー行列Msを入力する(ステップS801)。そして第1の実施形態で説明したステップS505における処理と同様にして補正行列ΔMsを算出する(ステップS802)。そして算出した補正行列ΔMsを描画ループに送信する(ステップS803)。そして以上の処理を終了許可があるまで実行する(ステップS804)。
【0073】
本実施形態では描画ループと補正演算ループを分け、一つの画像処理装置(例えば)の中で実行していたが、これに限定されるものではなく、夫々のループの処理を夫々個々のコンピュータで実行しても良い。そして、夫々のコンピュータ間で通信可能な状態にしておき、夫々のコンピュータ間で夫々の処理結果を送受信可能にする。このようにすることで、一つのコンピュータが受け持つ処理数は少なくなるので、より迅速な処理が可能となる。
【0074】
[第3の実施形態]
第2の実施形態ではモデルビュー行列の補正の処理において、得られた補正行列ΔMtとセンサによるモデルビュー行列Mtとの単純な積の演算により、補正後のモデルビュー行列M$tを求めているが、補正行列の更新は描画の周期と比べて間隔が空いているので、補正行列が必ずしも現在のフレーム(時刻t)に適切な補正情報を表しているとは言えない。
【0075】
そこで本実施形態では、第2の実施形態におけるステップS505において、補正演算ループから得られる過去の補正行列を用いて、時刻tに適した補正行列ΔMtを算出する。
【0076】
まず、時刻sにおいて得られる補正行列ΔMsを展開して、カメラ姿勢の方位方向の補正値Δyaws及びピッチ方向の補正値Δpitchtを算出する。モデルビュー行列から個々の回転成分を求める方法は公知であるので、ここでの説明は省略する。時刻s−1においても同様な処理をおこない、時刻tにおけるカメラ姿勢の補正値であるΔyawt及びΔpitchtを以下のようにして求める。
【0077】
Δyawt=Δyaws+(Δyaws−Δyaws−1)×Δst/Δs
Δpitcht=Δpitchs+(Δpitchs−Δpitchs−1)×Δst/Δs
ここで、Δstは時刻sから時刻tまでの経過時間、Δsは時刻s−1から時刻sまでの経過時間を表わすものとする。
【0078】
そして得られた補正値Δyawt及びΔpitchtを用いて、補正行列ΔMtを求める。その結果、本実施形態における補正行列の算出方法を適用することによって、現在のフレーム(時刻t)に適切な補正行列を算出することができる。
【0079】
尚、本実施形態では上記の式に示したように1次の線形予測によって補正値の外挿を行っているが、補正値の予測方法はこれに限るものではなく、2次の線形予測や他の予測方法を用いることも可能である。
【0080】
[第4の実施形態]
本実施形態では、第1の実施形態よりもより正確に補正を行う方法を示す。
【0081】
まず、本実施形態で用いる各変数のうち、上述の実施形態と異なるものについて説明する。
【0082】
・時刻tにおけるセンサ出力に基づいたモデルビュー行列の回転成分 Rt
・カメラの既定の位置に基づいたモデルビュー行列の平行移動成分 Tt
・画像It上におけるランドマークLiの検出位置 p$i t=(x$i t,y$i t)
・ランドマークLiの「画像It上への投影点」のカメラ座標系における位置pci t
・ランドマークLiから求められる、モデルビュー行列の補正更新行列(方位方向の回転成分) ΔRi’t
・ランドマークLiから求められる、yaw方向の補正更新値 Δyawi t
・全てのランドマークから求められるyaw方向の補正更新値 Δyawt
・モデルビュー行列の補正行列(方位方向の回転成分) ΔRt
・これまでの処理で既に算出されている補正行列ΔRt−1(はじめのループでは単位行列)
・補正行列ΔRt−1によって補正されたモデルビュー行列の回転成分 R’t
・補正行列ΔRt−1によって補正されたモデルビュー行列 M’t
・補正行列ΔRt−1を補正行列ΔRtに更新する為の補正更新行列(方位方向の回転成分) ΔR’t
以上の設定に基づいて、本実施形態における補正方法について同方法の処理のフローチャートを示す図9,10を用いて説明する。
【0083】
図9は本実施形態におけるメインの処理のフローチャートである。ステップS901からステップS903までの処理は第1の実施形態におけるステップS501からステップS503までの処理と同じであるため、説明を省略する。
【0084】
次に、モデルビュー行列の回転成分Rtと、平行移動成分Ttとを算出する(ステップS904)。具体的には回転成分Rtは、センサ出力(センサから得たカメラの姿勢)(rollt,pitcht,yawt)に基づいて公知の方法で求める。一方、平行移動成分Ttは、カメラの視点位置に基づいて公知の方法で求める。
【0085】
そして次に補正行列ΔRtを求める(ステップS905)。補正行列ΔRtを求める具体的な処理のフローチャートを図10に示し、以下説明する。
【0086】
まず、これまでの処理で既に算出されている補正行列ΔRt−1で行列Rtを以下のようにして補正し、行列R’tを求める。
【0087】
R’t=RtΔRt−1
次に、求めた行列R’tを用いて行列M’tを以下のようにして求める(ステップS1001)。
【0088】
M’t=R’tTt
ステップS1002からステップS1010までの処理はそれぞれステップS702からステップS710までの処理と同じであるために、ここでの説明は省略する。
【0089】
次に、求まった(ji t,ki t)を用いて画像It上の各ランドマークの位置p$i t=(x$i t,y$i t)を算出する(ステップS1012)。算出は以下の式によって行う。
【0090】
x$i t=xi t+ji tcos(−rollt)−ki tsin(−rollt)
y$i t=yi t+ji tsin(−rollt)+ki tcos(−rollt)
そして次に各ランドマークの「画像It上への投影点」のカメラ座標系における位置pci tを算出する(ステップS1013)。
【0091】
pci t=(x$i t、y$i t、−f、1)T
このとき、aをスケーリングパラメータとすると、pci t・a=R’tΔRi’tTtPiが成立する。この式を解くことで、Δyawi tを算出する。その方法を以下に示す。だたし、以下で、Inv(M)は行列Mの逆行列を示す。
【0092】
P$i t=(X$i t,Y$i t,Z$i t,1)T=Inv(R’t)pci t
P’i=(X’i,Y’i,Z’i,1)=TtPi
とおくと、P$i t=ΔRi’tP’i/aとなるので、
X$i t={cos(Δyawi t)X’i−sin(Δyawi t)Z’i}/a
Z$i t={sin(Δyawi t)X’i+cos(Δyawi t)Z’i}/a
となり、これを解くことで、
Δyawi t=arctan{(Z$i t・X’i−X$i t・Z’i)/(X$i t・X’i+Z$i t・Z’i)}
となる(ステップS1014)。このステップS1014の処理をすべてのi、すなわち、すべてのランドマークに対して求める(ステップS1015)。そして求めたすべてのΔyawi tの平均値Δyawtを求める(ステップS1016)。
【0093】
そして、求めた補正更新値Δyawtを用いて補正更新行列ΔR’tを求める(ステップS1017)。座標系を任意の角度(ここではΔyawt)で方位方向に回転させるモデルビュー行列を算出する方法は公知であるので、説明は省略する。この補正更新行列ΔR’tを用いて、求めるべき補正行列ΔRtを以下のようにして求める(ステップS1018)。
【0094】
ΔRt=ΔRt−1ΔR’t
以上の図10に示した処理に従って補正行列ΔRtを算出すると、図9に戻って、算出した補正行列ΔRtを用いてモデルビュー行列M$tを算出する(ステップS906)。算出は以下の式に従って行う。
【0095】
M$t=RtΔRtTt
そして第1の実施形態と同様に、算出したモデルビュー行列を用いてCGを描画、表示する(ステップS907)。
【0096】
[第5の実施形態]
第1乃至4の実施形態では、視点の位置を既知とし、姿勢(方向、角度)のみの補正を行った。前述したように、観察対象物体までの距離が視点位置の移動量に対して相対的に大きい場合には視点位置を固定値とすること有効であるが、その仮定が成り立たない場合には視点の移動に伴う位置ずれが生じてしまう。よって本実施形態では視点位置の補正を行う方法を示す。ただし本実施形態ではカメラ座標系におけるZ軸方向(奥行き方向、撮像面に垂直な方向)の移動量ΔTzは常に0であるものと仮定する。また、回転成分については、センサにより正しい値が得られていると仮定する。なお、この仮定が成り立つ場合には、最低1点のランドマークの検出により位置の補正を行うことができる。
ここで本実施形態における設定を以下に示す。
【0097】
・時刻tにおけるセンサ出力に基づいたモデルビュー行列の回転成分 Rt
・時刻tにおけるカメラの既定の位置に基づいたモデルビュー行列の平行移動成分 Tt
・モデルビュー行列の補正行列(世界座標系における平行移動成分) ΔTt
・ランドマークLiから求められるモデルビュー行列の補正行列(世界座標系における平行移動成分) ΔTi t
・これまでの処理で既に算出されている補正行列 ΔTt−1(開始ループでは単位行列)
・補正行列ΔTt−1によって補正されたモデルビュー行列の平行移動成分 T’t
・補正行列ΔTt−1によって補正されたモデルビュー行列 M’t
・モデルビュー行列の補正更新行列(カメラ座標系における平行移動成分) ΔTct
・ランドマークLiから求められる、x軸方向(カメラ座標系)の補正更新値ΔTxi t
・ランドマークLiから求められる、y軸方向(カメラ座標系)の補正更新値ΔTyi t
・全てのランドマークから求められる、x軸方向(カメラ座標系)の補正更新値 ΔTxt
・全てのランドマークから求められる、y軸方向(カメラ座標系)の補正更新値 ΔTyt
以上の設定に基づいて本実施形態における補正方法について同方法の処理のフローチャートを示す図11,12を用いて説明する。
【0098】
図11は本実施形態におけるメインの処理のフローチャートである。ステップS1101からステップS1104までの処理は、第4の実施形態におけるステップS901からステップS904における各処理と同じなので、ここでは説明は省略する。
【0099】
次に、補正行列ΔTtを求める(ステップS1105)。補正行列ΔTtを求める具体的な処理のフローチャートを図12に示し、以下説明する。
【0100】
まず、これまでの処理で既に算出されている補正行列ΔTt−1で行列Ttを補正し、行列T’tと行列M’tを以下のようにして求める(ステップS1201)。
【0101】
T’t=ΔTt−1Tt
M’t=RtT’t
次のステップS1202からステップS1211までの各処理は、第4の実施形態におけるステップS1002からステップS1012までの各処理を同じであるために、ここのでは説明は省略する。
【0102】
次にステップS1212では、ランドマークLiに関する補正更新値ΔTxi t、ΔTyi tを算出する。
【0103】
ΔTxi t=f・Zci t(x$i t−xi t)
ΔTyi t=f・Zci t(y$i t−yi t)
ここでZci tはカメラ座標系におけるランドマークのz座標で、M’tPiの第3成分がその値となる。
【0104】
以上の補正更新値ΔTxi t、ΔTyi tをすべてのi,つまり、すべてのランドマークに対して求め(ステップS1213)、次に求めたすべての補正更新値ΔTxi t、ΔTyi tの平均値ΔTxt、ΔTytを求める(ステップS1214)。そして、求めた補正更新値の平均値ΔTxt、ΔTytを用いて、x方向にΔTxt、y方向にΔTytの平行移動を座標系に施す補正更新行列ΔTctを算出する(ステップS1215)。座標系に任意の平行移動を施す座標変換行列を算出する方法は公知であるので、説明は省略する。そして補正行列ΔTtを以下のようにして求める(ステップS1216)。
【0105】
ΔTt=Inv(Rt)ΔTctRtΔTt−1
以上の図12に示した処理に従って補正行列ΔTtを算出すると、図11に戻って、算出した補正行列ΔTtを用いてモデルビュー行列M$tを算出する(ステップS1106)。算出は以下の式に従って行う。
【0106】
M$t=RtΔTtTt
そして第1の実施形態と同様に、算出したモデルビュー行列を用いてCGを描画し、表示する(ステップS1107)。
【0107】
[第6の実施形態]
第5の実施形態ではΔTzが常に0と仮定していた為に、視線方向に対して前後に視点位置が移動した場合に正確な位置合わせを行うことができなかった。本実施形態では、常に2点以上のランドマークを観察することで、ΔTzが0でない場合にも対応する。
【0108】
本実施形態における補正処理のフローチャートは基本的には第5の実施形態で示した図11,12と同じであるが、ステップS1214、S1215における処理の内容が異なる。以下、本実施形態における補正処理でステップS1214、S1215における各処理について説明する。
【0109】
x、y、z軸方向におけるカメラ座標系の補正更新値をΔTxt、ΔTyt、ΔTztとおくと、ランドマークの撮像予測位置pi tと検出位置p$i tの間には、各ランドマーク毎に以下の式が成り立つ。
【0110】
ΔTxt+x$i t・f・ΔTzt=f・Zci t(x$i t−xi t)
ΔTyt+y$i t・f・ΔTzt=f・Zci t(y$i t−yi t)
よって、複数のランドマークに対して以下の連立方程式をたて、これを解くことで、未知の補正更新値ΔTxt、ΔTyt、ΔTztを算出する(ステップS1214)。
【0111】
【数1】
【0112】
そして算出したΔTxt、ΔTyt、ΔTztを用いて、補正更新行列ΔTctを公知の方法で求める(ステップS1215)。そしてステップS1216では求めた更新行列ΔTctを用いて第5の実施形態と同様にして補正行列ΔTtを求める。
【0113】
[第7の実施形態]
第1乃至6の実施形態では回転か平行移動のいずれかのみの補正しかできなかった。本実施形態ではその両方の補正を行う。基本的な方法としては、回転の補正を行った後に、平行移動の補正を行う。しかしこれに限定されるものではなく、その逆の順序で補正しても良いし、回転の補正の後に平行移動の補正(もしくはその逆の順序でも良い)を一定回数繰り返しても良いし、予め設定しておいた閾値よりも誤差が小さくなるまで、或いは補正による誤差の変動が閾値よりも小さくなるまで、繰り返し行っても良い。
【0114】
ここで本実施形態で以下用いる設定について示す。
【0115】
・ 処理の中間段階に得られた補正行列によって補正されたモデルビュー行列の回転成分 R”t
・ 処理の中間段階に得られた補正行列によって補正されたモデルビュー行列M”t
以上の設定に基づいて、本実施形態における補正処理について説明する。
【0116】
図13に本実施形態におけるメインの処理のフローチャートを示す。同図に示したフローチャートは、第4の実施形態の図9に示したフローチャートに補正行列ΔTtを算出する処理(ステップS1306)を追加したフローチャートとなっており、また、補正行列ΔRtを算出する処理(ステップS1305)における処理も異なる。以下では、本実施形態における補正行列ΔTtを算出する処理(ステップS1306)、補正行列ΔRtを算出する処理(ステップS1305)について説明する。又その他の部分については説明は省略する。
【0117】
ステップS1305における補正行列ΔRtを算出する具体的な処理のフローチャートは基本的には第4の実施形態の図10とほぼ同一であるが、本実施形態では、ステップS1001において、行列R’t及びM’tの算出に加え行列T’tの算出を行う。
【0118】
R’t=RtΔRt−1
T’t=ΔTt−1Tt
M’t=R’tT’t
そして、以降の処理(例えばS1014)において、図10における固定値Ttの代わりとして、導出したT’tを使用する。
【0119】
一方、ステップS1306における補正行列ΔTtを補正する具体的な処理のフローチャートは基本的には第5の実施形態の図12とほぼ同一であるが、本実施形態では、ステップS1201において、ステップS1305で求めた補正行列ΔRtを用いて行列Rtを補正し、行列R”tとM”tを以下の式に従って求める。
【0120】
R”t=RtΔRt
M”t=R”tT’t
又、本実施形態における処理は図12のフローチャートにおいて、ステップS1212でΔTxi t、ΔTyi tを以下のようにして求める。
【0121】
ΔTxi t=f・Zci t(x$i t−xi t)
ΔTyi t=f・Zci t(y$i t−yi t)
ここでZci tはカメラ座標系におけるランドマークのz座標で、M”tPiの第3成分がその値となる。
【0122】
又、本実施形態における処理は図12のフローチャートにおいて、ステップS1216で補正行列ΔTtを算出するが、以下の式に従って算出する。
【0123】
ΔTt=Inv(R”t)ΔTctR”tΔTt−1
そして以上の補正行列ΔTtが終了すると、図13に示したフローチャートに戻り、ステップS1307においてモデルビュー行列M$tを以下のようにして算出する。
【0124】
M$t=RtΔRtΔTtTt
また、上述の補正行列ΔRt、ΔTtを求める処理(ステップS1305,S1306)を上述の通り所定回数繰り返しても良い。
【0125】
[第8の実施形態]
第1乃至7の実施形態では世界座標系におけるランドマークの位置を既知としたが、それ以外の方法取ることもできる。すなわち、初期位置姿勢における画像I0上でランドマークの位置を直接指定してもよいし、初期位置姿勢における画像I0上から顕著な(追跡の容易な)画像特徴(例えばエッジ部分やテクスチャ性の強い部分)を持つ特徴点を抽出し、この位置をランドマークの位置としてもよい。
【0126】
ここで、手入力あるいは画像処理によって画像座標(xi 0,yi 0)に撮像されている画像特徴を指定あるいは検出し、ランドマークLiとして用いる場合を考える。このランドマークのカメラ座標をPci 0=(xi 0,yi 0,f,1)と仮定すると、世界座標は、初期位置姿勢におけるモデルビュー行列M0の逆行列を用いて,Pi=Inv(M0)Pci 0と定義することができ、第1乃至3の実施形態で述べた手法をそのまま適応することができる。
【0127】
ただし、ランドマーク位置の奥行き方向の情報は得ることが出来ないので,ランドマーク位置の奥行き情報を用いた補正(第5の実施形態以降で述べた位置の補正)を行うことは出来ない。
【0128】
[変形例1]
上記実施形態においては、MRシステムにおけるカメラの視点の姿勢(又は位置姿勢)の計測を行ったが、本発明の適応範囲はこれに留まるものではなく、カメラの視点の姿勢(又は位置姿勢)を計測するいずれの用途に用いることも可能であることはいうまでもない。
【0129】
[変形例2]
上記実施形態においては、ビデオシースルー方式のMRシステムにおける視点の姿勢(又は位置姿勢)の計測を行ったが、光学シースルー方式のMRシステムであっても、本発明の画像処理装置による姿勢(又は位置姿勢)計測を行うことができる。この場合、HMDに姿勢センサを装着するとともに、計測対象であるところの観察者の視点位置との相対的な姿勢(又は位置姿勢)関係が既知であるような位置に固定されるように、HMDにカメラを装着する。そして、上記実施形態と同様な手法によってカメラの姿勢(又は位置姿勢)を算出し、さらにその値を変換することで、観察者視点の姿勢(又は位置姿勢)を算出する。また、本発明の適応範囲は計測対象物体に限定されるものではなく、いずれの計測対象物体であっても、同様にカメラ及び姿勢センサを装着することで、その姿勢(又は位置姿勢)を計測することができる。
【0130】
[変形例3]
上記実施形態においては、テンプレート画像生成モジュール430において、既定の位置姿勢で撮影した画像I0に基づいてテンプレート画像を生成したが、テンプレート画像は必ずしも画像I0に基づいて生成しなくてもよく、予め保存されているテンプレート画像を用いても良いし、例えば動的なテンプレートの更新手法といった周知のいずれの方法によって得られたテンプレート画像を用いてもよい。
【0131】
[変形例4]
上記実施形態においては、ターゲット画像生成モジュール404において、ランドマークの予測位置の近傍領域のみをターゲット画像として抽出したが、テンプレートマッチングの対象画像(すなわちターゲット画像)は、必ずしもランドマークの予測位置の近傍領域を抽出したものでなくても良い。例えば、図14(d)のように入力画像全体に回転処理を加えた画像I’を各ランドマークに共通のターゲット画像として設定し、画像I’内において各々のランドマークの予測位置を求めその近傍において対応探索を行っても良いし、画像I’の領域全体に対して対応探索を行っても良い。
【0132】
[変形例5]
上記実施形態においては、姿勢又は位置姿勢の計測を目的として、その手段としてテンプレートマッチングによるランドマーク検出を用いたが、本発明の画像処理装置におけるランドマーク検出手法は、テンプレートマッチングによって画像中からランドマークの位置を検出する用途であれば、姿勢又は位置姿勢の計測に限定されることなく適応することができる。
【0133】
[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0134】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0135】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図5乃至図13のうち少なくとも一つに示したフローチャート)に対応するプログラムコードが格納されることになる。
【0136】
【発明の効果】
以上の説明により、本発明によって、姿勢センサによるカメラ視点の計測誤差の補正、特に時間経過に伴って生じる方位方向の蓄積誤差の補正を行うことができ、位置ずれのないMRを実現することができる。
【図面の簡単な説明】
【図1】初期画像I0を示す図である。
【図2】従来の画像処理装置の構成を示す図である。
【図3】本発明の第1の実施形態における画像処理装置の構成を示す図である。
【図4】視点位置姿勢補正値演算モジュール215の具体的な構成を示す図である。
【図5】本発明の第1の実施形態におけるメインの処理のフローチャートである。
【図6】テンプレート画像を作成する際の具体的な処理のフローチャートである。
【図7】補正行列ΔMtの算出における具体的な処理のフローチャートである。
【図8】本発明の第2の実施形態における補正演算ループの処理のフローチャートである。
【図9】本発明の第4の実施形態におけるメインの処理のフローチャートである。
【図10】補正行列ΔRtを求める具体的な処理のフローチャートである。
【図11】本発明の第5の実施形態におけるメインの処理のフローチャートである。
【図12】補正行列ΔTtを求める具体的な処理のフローチャートである。
【図13】本発明の第7の実施形態におけるメインの処理のフローチャートである。
【図14】本発明におけるテンプレートマッチングの基本原理を説明する図である。
Claims (5)
- 現実空間の画像を撮影する撮影装置と、
前記撮影装置の撮影視点の姿勢を計測する姿勢センサと、
前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出手段と、
前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出手段と、
前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出手段が算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列、を補正するための補正行列を推測する推測手段と、
前記推測手段が推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成手段と
を備えることを特徴とする画像処理装置。 - 前記補正行列は、前記モデルビュー行列においてピッチ角とヨー角とを補正するための行列であることを特徴とする請求項1に記載の画像処理装置。
- 前記推測手段は、前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出手段が算出した補正行列を用いた線形予測により、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列、を補正するための補正行列を推測することを特徴とする請求項1又は2に記載の画像処理装置。
- 現実空間の画像を撮影する撮影装置と、
前記撮影装置の撮影視点の姿勢を計測する姿勢センサと
を備える画像処理装置が行う画像処理方法であって、
前記画像処理装置のモデルビュー行列算出手段が、前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出工程と、
前記画像処理装置の補正行列算出手段が、前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出工程と、
前記画像処理装置の推測手段が、前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出工程で算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列、を補正するための補正行列を推測する推測工程と、
前記画像処理装置の合成手段が、前記推測工程で推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成工程と
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1乃至3の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003102141A JP4743818B2 (ja) | 2003-04-04 | 2003-04-04 | 画像処理装置、画像処理方法、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003102141A JP4743818B2 (ja) | 2003-04-04 | 2003-04-04 | 画像処理装置、画像処理方法、コンピュータプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001062224A Division JP3486613B2 (ja) | 2001-03-06 | 2001-03-06 | 画像処理装置およびその方法並びにプログラム、記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003344018A JP2003344018A (ja) | 2003-12-03 |
JP4743818B2 true JP4743818B2 (ja) | 2011-08-10 |
Family
ID=29774746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003102141A Expired - Fee Related JP4743818B2 (ja) | 2003-04-04 | 2003-04-04 | 画像処理装置、画像処理方法、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4743818B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016505809A (ja) * | 2012-11-05 | 2016-02-25 | クアルコム,インコーポレイテッド | 適応型スケールおよび/または重力推定 |
US9658686B2 (en) | 2015-05-28 | 2017-05-23 | Microsoft Technology Licensing, Llc | Motion based view matrix tuning |
US9746675B2 (en) | 2015-05-28 | 2017-08-29 | Microsoft Technology Licensing, Llc | Alignment based view matrix tuning |
US11252399B2 (en) | 2015-05-28 | 2022-02-15 | Microsoft Technology Licensing, Llc | Determining inter-pupillary distance |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005326275A (ja) * | 2004-05-14 | 2005-11-24 | Canon Inc | 情報処理方法および装置 |
JP4593968B2 (ja) * | 2004-05-14 | 2010-12-08 | キヤノン株式会社 | 位置姿勢計測方法および装置 |
JP4859205B2 (ja) | 2005-02-04 | 2012-01-25 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP4914019B2 (ja) * | 2005-04-06 | 2012-04-11 | キヤノン株式会社 | 位置姿勢計測方法及び装置 |
JP5248806B2 (ja) * | 2007-04-25 | 2013-07-31 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP5051839B2 (ja) * | 2007-10-29 | 2012-10-17 | 国立大学法人東京工業大学 | 視標位置測定装置 |
JP2010207329A (ja) * | 2009-03-09 | 2010-09-24 | Nintendo Co Ltd | 座標算出装置および座標算出プログラム |
EP2140915B1 (en) | 2008-06-30 | 2019-03-06 | Nintendo Co., Ltd. | Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein |
JP5872135B2 (ja) * | 2009-03-09 | 2016-03-01 | 任天堂株式会社 | 姿勢算出装置、姿勢算出プログラム、ゲーム装置、ゲームプログラム、姿勢算出システム、および、姿勢算出方法 |
EP2140916B1 (en) | 2008-06-30 | 2018-10-31 | Nintendo Co., Ltd. | Coordinate calculation apparatus and storage medium having coordinate calculation program stored therein |
JP5669294B2 (ja) * | 2009-09-30 | 2015-02-12 | 任天堂株式会社 | 座標算出装置および座標算出プログラム |
EP2228109B1 (en) | 2009-03-09 | 2021-03-24 | Nintendo Co., Ltd. | Information processing apparatus, storage medium having information processing program stored therein, information processing system, and display range control method |
DE102009049849B4 (de) | 2009-10-19 | 2020-09-24 | Apple Inc. | Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells |
US8638986B2 (en) * | 2011-04-20 | 2014-01-28 | Qualcomm Incorporated | Online reference patch generation and pose estimation for augmented reality |
JP5729199B2 (ja) * | 2011-07-29 | 2015-06-03 | 富士通株式会社 | プログラム、情報処理装置、情報処理方法、及び通信システム |
JP5246355B2 (ja) * | 2012-01-23 | 2013-07-24 | 株式会社ニコン | 撮像装置 |
EP2858035B1 (en) * | 2013-10-01 | 2020-04-22 | Application Solutions (Electronics and Vision) Limited | System, vehicle and method for online calibration of a camera on a vehicle |
JP6529160B2 (ja) * | 2015-05-22 | 2019-06-12 | Kddi株式会社 | Ar情報表示装置 |
DE102016109153A1 (de) * | 2016-05-18 | 2017-11-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren zum einstellen einer blickrichtung in einer darstellung einer virtuellen umgebung |
US10739142B2 (en) | 2016-09-02 | 2020-08-11 | Apple Inc. | System for determining position both indoor and outdoor |
JP7334521B2 (ja) * | 2019-07-23 | 2023-08-29 | 株式会社島津製作所 | ヘッドモーショントラッカ装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61173161A (ja) * | 1985-01-28 | 1986-08-04 | Nissan Motor Co Ltd | 移動体の速度信号出力装置 |
JPH05343306A (ja) * | 1992-06-05 | 1993-12-24 | Hitachi Ltd | 電子線描画装置 |
JP3450704B2 (ja) * | 1997-09-01 | 2003-09-29 | キヤノン株式会社 | 位置姿勢検出装置及び情報処理方法 |
JP3463734B2 (ja) * | 1998-03-30 | 2003-11-05 | 三菱電機株式会社 | 気象観測レーダシステム |
JP2000097637A (ja) * | 1998-09-24 | 2000-04-07 | Olympus Optical Co Ltd | 姿勢位置検出装置 |
JP2000275013A (ja) * | 1999-03-24 | 2000-10-06 | Mr System Kenkyusho:Kk | 視点位置姿勢の決定方法、コンピュータ装置および記憶媒体 |
JP3372926B2 (ja) * | 1999-03-26 | 2003-02-04 | キヤノン株式会社 | ヘッドマウントディスプレイ装置およびヘッドマウントディスプレイシステム |
JP3486613B2 (ja) * | 2001-03-06 | 2004-01-13 | キヤノン株式会社 | 画像処理装置およびその方法並びにプログラム、記憶媒体 |
-
2003
- 2003-04-04 JP JP2003102141A patent/JP4743818B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016505809A (ja) * | 2012-11-05 | 2016-02-25 | クアルコム,インコーポレイテッド | 適応型スケールおよび/または重力推定 |
US9658686B2 (en) | 2015-05-28 | 2017-05-23 | Microsoft Technology Licensing, Llc | Motion based view matrix tuning |
US9746675B2 (en) | 2015-05-28 | 2017-08-29 | Microsoft Technology Licensing, Llc | Alignment based view matrix tuning |
US11252399B2 (en) | 2015-05-28 | 2022-02-15 | Microsoft Technology Licensing, Llc | Determining inter-pupillary distance |
Also Published As
Publication number | Publication date |
---|---|
JP2003344018A (ja) | 2003-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4743818B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP3486613B2 (ja) | 画像処理装置およびその方法並びにプログラム、記憶媒体 | |
JP6683127B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
Zollmann et al. | Augmented reality for construction site monitoring and documentation | |
US8320709B2 (en) | Information processing method and apparatus for calculating information regarding measurement target on the basis of captured images | |
Klein et al. | Parallel tracking and mapping on a camera phone | |
JP4708752B2 (ja) | 情報処理方法および装置 | |
WO2016017253A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
CN110617814A (zh) | 单目视觉和惯性传感器融合的远距离测距系统及方法 | |
US20160210761A1 (en) | 3d reconstruction | |
JP4242529B2 (ja) | 関連情報呈示装置及び関連情報呈示方法 | |
CN111899276A (zh) | 一种基于双目事件相机的slam方法及系统 | |
US10388069B2 (en) | Methods and systems for light field augmented reality/virtual reality on mobile devices | |
Huai et al. | Real-time large scale 3D reconstruction by fusing Kinect and IMU data | |
Aron et al. | Handling uncertain sensor data in vision-based camera tracking | |
JP5726024B2 (ja) | 情報処理方法および装置 | |
JP4926598B2 (ja) | 情報処理方法、情報処理装置 | |
Mohareri et al. | A vision-based location positioning system via augmented reality: An application in humanoid robot navigation | |
CN113160221B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
Gat et al. | Fusing image data with location and orientation sensor data streams for consumer video applications | |
Forsman et al. | Extended panorama tracking algorithm for augmenting virtual 3D objects in outdoor environments | |
JP3347087B2 (ja) | 2次元動画像からの3次元構造復元方法 | |
Etzold et al. | MIPos: towards mobile image positioning in mixed reality web applications based on mobile sensors | |
JP7479978B2 (ja) | 内視映像表示システム、内視映像表示装置及び内視映像表示方法 | |
CN116503540A (zh) | 基于稀疏传感器的人体动作捕捉、定位和环境建图方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100813 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110509 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |