JP4743818B2 - 画像処理装置、画像処理方法、コンピュータプログラム - Google Patents

画像処理装置、画像処理方法、コンピュータプログラム Download PDF

Info

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
Application number
JP2003102141A
Other languages
English (en)
Other versions
JP2003344018A (ja
Inventor
清秀 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003102141A priority Critical patent/JP4743818B2/ja
Publication of JP2003344018A publication Critical patent/JP2003344018A/ja
Application granted granted Critical
Publication of JP4743818B2 publication Critical patent/JP4743818B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、計測対象の姿勢または位置姿勢を出力する画像処理装置、画像処理方法、コンピュータプログラムに関するものである。
【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のモデルビュー行列M)を生成する視点位置姿勢演算モジュール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から入力した視点の姿勢に基づいて、後述する補正値演算処理によって補正値(補正行列ΔM)を算出し、視点位置姿勢演算モジュール312へと出力する。視点位置姿勢演算モジュール312は、センサ入力モジュール211から入力したカメラ202の視点の姿勢と他の方法により得たカメラ202の視点位置と補正値演算モジュール215から入力した補正値に基づいて、後述する姿勢補正処理を実行して、センサ出力に基づいて算出した位置姿勢情報(モデルビュー行列M)を補正して、補正後の視点位置姿勢情報(補正後のモデルビュー行列M$)を生成する。
【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は、後述する画像Iに基づいてテンプレート画像を生成するテンプレート画像生成モジュール403と、時刻tにおける画像Iとカメラ202の姿勢(roll)とに基づいてターゲット画像を生成するターゲット画像生成モジュール404、ターゲット画像とテンプレート画像とを用いて類似度を算出し、ランドマークの位置を検出する対応探索モジュール402、そして検出されたランドマークの位置に従って、これまでの補正値を最新の補正値(後述する補正行列ΔM)に更新しこれを出力する補正値更新モジュール401により構成されている。
【0032】
次に、本実施形態で用いる各変数について説明する。
【0033】
・i番目(i=1,2,3,,,)のランドマークをL
・ランドマークLの世界座標における位置(既知)をP=(X,Y,Z,1)
・カメラの既定の位置を(X,Y,Z
・テンプレート画像生成の際に用いるカメラの既定の姿勢を(roll,pitch,yaw
・カメラの既定の位置姿勢におけるモデルビュー行列(世界座標系からカメラ座標系への変換行列)をM
・カメラの焦点距離(既知)をf
・カメラの射影変換行列(カメラ座標系から画像座標系への変換行列)(既知)をS
・カメラの既定の位置姿勢における撮影画像をI
・ランドマークLの画像I上における撮影位置をp =(x ,y ,h
・ランドマークLを検索するためのテンプレート画像をT
・テンプレート画像のサイズ(既定)をN×N
・テンプレート画像の座標の範囲をxs,xe,ys,ye(但し、xs=ys=−N/2の小数部を切り捨てた値。xe=ye=xs+N−1)
・時刻tにおいて撮影された画像をI
・時刻tにおけるセンサによる姿勢計測値を(roll,pitch,yaw
・姿勢計測値(roll,pitch,yaw)から算出したモデルビュー行列(世界座標系からカメラ座標系への変換行列)をM
・画像I上におけるランドマークLの撮像予測位置をp =(x ,y ,h
・画像I上で実際に検出されるランドマークLの撮像位置をp$ =(x$ ,y$
・画像IからランドマークLを検出するための探索処理を行う対象となるターゲット画像をR
・ランドマークのx方向の探索範囲(既定)を±m
・ランドマークのy方向の探索範囲(既定)を±n
・ターゲット画像のサイズをN’×N”(但し、N’=N+2m,N”=N+2n)
・ターゲット画像の座標の範囲をxs,xe,ys,ye(但し、xs=xs−m,xe=xe+m,ys=ys−n,ye=ye+n)
・ターゲット画像上R におけるランドマークLの検出座標を(j ,k
・各ランドマークの検出座標(j ,k )の代表値を(j,k
・時刻tにおいて算出されるカメラの姿勢の補正更新値Δroll,Δpitch,Δyaw
・時刻tにおいて算出されるカメラの位置の補正更新値Δx,Δy,Δz
・時刻tにおいて算出されるモデルビュー行列Mを補正するための補正行列をΔM
・これまでの処理で既に算出されている(時刻t−1で算出されている)補正行列をΔMt−1
・補正行列ΔMt−1を補正行列ΔMに更新するための補正更新行列ΔM’
・Mを補正行列ΔMによって補正した補正後のモデルビュー行列をM$・Mを補正行列ΔMt−1によって補正した補正後のモデルビュー行列をM’
以上の設定に基づいて、本実施形態における姿勢計測誤差の補正処理について処理の流れに従って以下説明する。
【0034】
<テンプレート画像の作成>
まず、現実空間を撮影するカメラを既定の位置姿勢に設定し画像Iを撮影する。図1に画像Iの例を示す。同図におけるL〜Lがランドマークであり、T〜Tで示した枠の部分がそれぞれのランドマークに対応するテンプレート画像として抽出される領域である。
【0035】
次にモデルビュー行列Mを算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0036】
また、撮影された画像中のランドマーク毎(図1ではL〜L)にp を以下の式にて算出する。
【0037】
=SM
そして次に各ランドマーク毎にテンプレート画像T(図1ではT〜Tで示された部分の画像)を後述の方法により作成する。
【0038】
rollが0のときは、画像Iから(x ,y )を中心としたN×Nのサイズの矩形領域を抽出し、これをテンプレート画像Tとすればよい。テンプレート画像Tにおいては画像の中心を座標(0,0)と表わすこととすると、この処理は以下のように記述することができる。
【0039】
(j,k)=I(x +j,y +k)
但し、j=xs〜xe,k=ys〜ye
【0040】
一方、rollが0でないときは、(x ,y )を中心として、N×Nの矩形領域を−rollだけ回転させた矩形領域を抽出する。すなわち、j=xs〜xe,k=ys〜yeの各画素について、
(j,k)=I(x +jcos(−roll)−ksin(−roll),y +jsin(−roll)+kcos(−roll))
となるようなテンプレート画像Tを作成する。
【0041】
<各時刻におけるモデルビュー行列Mの算出>
時刻tにおけるセンサ出力(姿勢(roll,pitch,yaw))と、カメラの既定の位置(X,Y,Z)に基づいて、モデルビュー行列Mを算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0042】
<補正値演算処理:モデルビュー行列Mを補正する補正行列ΔMの算出>モデルビュー行列Mを補正する補正行列ΔMの算出方法について説明する。
【0043】
まずこれまでの処理で既に算出されている補正行列ΔMt−1を用いてモデルビュー行列Mを補正し、M’を求める。尚、この処理が最初の場合(t=0の場合)、補正行列ΔMt−1は単位行列とする。
【0044】
M’=ΔMt−1
次に各ランドマーク毎にp を以下の式に従って算出する。
【0045】
=SM’
尚、この方法は公知の方法であるため、詳細な説明は省略する。また、各ランドマークの座標を求めた結果、その座標が画像Iの座標の範囲外であるランドマークは、以後の処理対象から除外する。
【0046】
次に、各ランドマーク毎にターゲット画像R を作成する。具体的には、画像Iから同画像におけるローカル座標である(x 、y )を中心としたN’×N”の矩形領域を−rollだけ回転させた矩形を抽出する。すなわち、j=xs〜xe,k=ys〜yeの各画素について、以下の変換を行う。
【0047】
(j,k)=I(x +jcos(−roll)−ksin(−roll),y +jsin(−roll)+kcos(−roll))
次に各ランドマーク毎に、ターゲット画像R とテンプレート画像Tのマッチングを行い、ターゲット画像上におけるランドマークの位置(j ,k )を求める。求める方法の具体的な処理について以下説明する。
【0048】
まずターゲット画像R 上の座標(j,k)を中心としたN×Nの矩形領域とテンプレート画像Tとの類似度e(j,k)を算出する。類似度の算出は例えば相互相関やSSD(Sum of Squared Difference)などによって行うが、公知のいずれのテンプレートマッチング手法を用いてもよい。この類似度e(j,k)を全てのj及びk(ただし、j=−m〜m,k=−n〜n)について算出し、類似度e(j,k)を最大にするj及びkを(j ,k )とする。
【0049】
そして、各ランドマークで求めた(j ,k )から、代表値(j,k)を算出する。代表値の算出は、例えば、各ランドマーク毎に求めた(j ,k )の平均値やメディアン値を求めることで行う。なお、各ランドマーク毎に求めた(j ,k )のうち、その検出の際の類似度e(j ,k )が所定の閾値よりも大きいランドマークのみを代表値の算出に用いることで、信頼性の低い検出結果を除外することができる。この場合、類似度e(j ,k )が前記閾値以上となるランドマークの個数が所定数以下の場合には、時刻tにおける補正値演算処理を打ち切ってもよい。
【0050】
そして次に、ランドマークの検出結果に基づいて、補正行列ΔMの更新を行う。
【0051】
まず、カメラの姿勢の補正更新値Δroll,Δpitch,Δyawを以下のようにして求める。
【0052】
Δroll =0
Δpitch=arctan(k/f)
Δyaw =arctan(j/f)
又、カメラの位置は固定と仮定しているので、位置の補正更新値Δx,Δy,Δzは全て0となる。
【0053】
次に、以上の姿勢Δroll,Δpitch,Δyaw、及び位置Δx,Δy,Δzによって定められるモデルビュー行列として、補正更新行列ΔM’を算出する。カメラの位置と姿勢からモデルビュー行列を算出する算出方法は公知の方法であるので、ここでの説明は省略する。
【0054】
そして、これまでに得られた補正行列ΔMt−1と補正更新行列ΔM’から、更新後の補正行列ΔMを以下の式に従って算出する。
【0055】
ΔM=ΔM’ΔMt−1
<位置姿勢補正処理:補正後のモデルビュー行列M$の算出>
時刻tにおける補正後のモデルビュー行列M$は、以下の式に従って求めることができる。
【0056】
M$=ΔM
そして補正後のモデルビュー行列M$を用いてCGを描画、表示することで、ジャイロセンサを用いても時間経過に伴った方位方向の位置ずれを軽減することができる。
【0057】
以上、説明した本実施形態における補正処理のフローチャートを図5乃至7に示し、以下説明する。
【0058】
図5は上述の補正処理のメインの処理のフローチャートである。
【0059】
まずテンプレート画像を作成する(ステップS501)。テンプレート画像を作成する具体的な処理のフローチャートを図6に示す。
【0060】
まず、既定の位置姿勢に固定されたカメラから画像Iを入力する(ステップS601)。次にこのときのカメラの位置姿勢に基づいてモデルビュー行列Mを算出する(ステップS602)。次に全てのiについて(言い換えれば全てのランドマークについて)p を求める(ステップS603,S604)。次にテンプレート画像を作成する。作成する方法は上述の通りであって、各ランドマークについて上述した範囲内の全てのj、kに対して画素値を求め、テンプレート画像Tの座標(j,k)に格納する(ステップS606乃至S608)。
【0061】
以上の図6に示した処理に従ってテンプレート画像を生成すると、図5に戻って、画像Iの撮影を行う(ステップS502)。又、このときのセンサ出力の取得も行う(ステップS503)。尚ステップS502,S503の処理の順序はこれに限定されるものではなく、その順序が逆でも良いし、同期を取って、同時に行っても良い。
【0062】
次にセンサ出力に基づいてモデルビュー行列Mの算出を行う(ステップS504)。そして補正行列ΔMの算出を行う(ステップS505)。補正行列ΔMの算出における具体的な処理のフローチャートを図7に示し、以下説明する。
【0063】
まず、補正行列ΔMt−1でモデルビュー行列Mを補正し、モデルビュー行列M’を求める(ステップS701)。そして次に全てのiについて、言い換えれば全てのランドマークについてp を算出する(ステップS702,S703)。尚、算出したp が画像Iの範囲外に存在する場合には後述の処理の対象外とする。
【0064】
次に各ランドマーク毎にターゲット画像R を算出する(ステップS704乃至S706)。そしてターゲット画像R とテンプレート画像Tのマッチングを行い、各j、kごとに類似度e(j,k)を算出する(ステップS707,S708)。そして類似度e(j,k)が最大となる(j,k)を(j ,k )とする(ステップS709)。以上のステップS707からステップS709までの処理を全てのi、言い換えると全てのランドマークに対して求める(ステップS710)。
【0065】
そして求めた(j ,k )の平均値を計算し、(j,k)を算出する(ステップS711)。また、カメラの位置姿勢の補正値を求め(ステップS712)、補正更新行列ΔM’を求め(ステップS713)、最終的に補正行列ΔMを求める(ステップS714)。
【0066】
以上の図7に示した処理に従って補正行列ΔMを算出すると、図5に戻って、算出した補正行列ΔMを用いてモデルビュー行列Mを補正する(ステップS506)。
【0067】
そして補正後のモデルビュー行列M$を用いてCGを描画、表示する(ステップS507)。
【0068】
以上の説明により、本実施形態の画像処理装置及びその方法によって、姿勢センサによるカメラ視点の姿勢計測誤差を補正して位置ずれのないMRを実現することができる。
【0069】
[第2の実施形態]
第1の実施形態では、補正処理を単一ループ(描画ループ)の中で行っている。この場合、画像処理の計算負荷が原因となって描画のフレームレートを充分得ることができない。あるいは、描画のフレームレートを確保するために画像処理を簡単なもの(計算量の少ないもの)にすると、補正の充分な精度を得ることができない。
【0070】
そこで本実施形態では描画ループと補正演算ループとを分離し、独立の更新周期(例えば描画ループを60Hzで、補正演算ループを1ループ/秒)で動作させる。又、本実施形態の処理を実行する装置として、第1の実施形態で用いた画像処理装置を用いる。
【0071】
<描画ループ>
基本的には図5、6に示したフローチャートに従った処理を実行するが、ステップS505において、後述の補正演算ループより送信される最新の補正行列ΔMを得てこれをΔMとする処理を行う。
【0072】
<補正演算ループ>
図8に補正演算ループの処理のフローチャートを示す。まず、描画ループから時刻sにおける画像Iと、そのときのモデルビュー行列Mを入力する(ステップS801)。そして第1の実施形態で説明したステップS505における処理と同様にして補正行列ΔMを算出する(ステップS802)。そして算出した補正行列ΔMを描画ループに送信する(ステップS803)。そして以上の処理を終了許可があるまで実行する(ステップS804)。
【0073】
本実施形態では描画ループと補正演算ループを分け、一つの画像処理装置(例えば)の中で実行していたが、これに限定されるものではなく、夫々のループの処理を夫々個々のコンピュータで実行しても良い。そして、夫々のコンピュータ間で通信可能な状態にしておき、夫々のコンピュータ間で夫々の処理結果を送受信可能にする。このようにすることで、一つのコンピュータが受け持つ処理数は少なくなるので、より迅速な処理が可能となる。
【0074】
[第3の実施形態]
第2の実施形態ではモデルビュー行列の補正の処理において、得られた補正行列ΔMとセンサによるモデルビュー行列Mとの単純な積の演算により、補正後のモデルビュー行列M$を求めているが、補正行列の更新は描画の周期と比べて間隔が空いているので、補正行列が必ずしも現在のフレーム(時刻t)に適切な補正情報を表しているとは言えない。
【0075】
そこで本実施形態では、第2の実施形態におけるステップS505において、補正演算ループから得られる過去の補正行列を用いて、時刻tに適した補正行列ΔMを算出する。
【0076】
まず、時刻sにおいて得られる補正行列ΔMを展開して、カメラ姿勢の方位方向の補正値Δyaw及びピッチ方向の補正値Δpitchを算出する。モデルビュー行列から個々の回転成分を求める方法は公知であるので、ここでの説明は省略する。時刻s−1においても同様な処理をおこない、時刻tにおけるカメラ姿勢の補正値であるΔyaw及びΔpitchを以下のようにして求める。
【0077】
Δyaw=Δyaw+(Δyaw−Δyaws−1)×Δst/Δs
Δpitch=Δpitch+(Δpitch−Δpitchs−1)×Δst/Δs
ここで、Δstは時刻sから時刻tまでの経過時間、Δsは時刻s−1から時刻sまでの経過時間を表わすものとする。
【0078】
そして得られた補正値Δyaw及びΔpitchを用いて、補正行列ΔMを求める。その結果、本実施形態における補正行列の算出方法を適用することによって、現在のフレーム(時刻t)に適切な補正行列を算出することができる。
【0079】
尚、本実施形態では上記の式に示したように1次の線形予測によって補正値の外挿を行っているが、補正値の予測方法はこれに限るものではなく、2次の線形予測や他の予測方法を用いることも可能である。
【0080】
[第4の実施形態]
本実施形態では、第1の実施形態よりもより正確に補正を行う方法を示す。
【0081】
まず、本実施形態で用いる各変数のうち、上述の実施形態と異なるものについて説明する。
【0082】
・時刻tにおけるセンサ出力に基づいたモデルビュー行列の回転成分 R
・カメラの既定の位置に基づいたモデルビュー行列の平行移動成分 T
・画像I上におけるランドマークLの検出位置 p$ =(x$ ,y$
・ランドマークLの「画像I上への投影点」のカメラ座標系における位置pc
・ランドマークLから求められる、モデルビュー行列の補正更新行列(方位方向の回転成分) ΔR
・ランドマークLから求められる、yaw方向の補正更新値 Δyaw
・全てのランドマークから求められるyaw方向の補正更新値 Δyaw
・モデルビュー行列の補正行列(方位方向の回転成分) ΔR
・これまでの処理で既に算出されている補正行列ΔRt−1(はじめのループでは単位行列)
・補正行列ΔRt−1によって補正されたモデルビュー行列の回転成分 R’
・補正行列ΔRt−1によって補正されたモデルビュー行列 M’
・補正行列ΔRt−1を補正行列ΔRに更新する為の補正更新行列(方位方向の回転成分) ΔR’
以上の設定に基づいて、本実施形態における補正方法について同方法の処理のフローチャートを示す図9,10を用いて説明する。
【0083】
図9は本実施形態におけるメインの処理のフローチャートである。ステップS901からステップS903までの処理は第1の実施形態におけるステップS501からステップS503までの処理と同じであるため、説明を省略する。
【0084】
次に、モデルビュー行列の回転成分Rと、平行移動成分Tとを算出する(ステップS904)。具体的には回転成分Rは、センサ出力(センサから得たカメラの姿勢)(roll,pitch,yaw)に基づいて公知の方法で求める。一方、平行移動成分Tは、カメラの視点位置に基づいて公知の方法で求める。
【0085】
そして次に補正行列ΔRを求める(ステップS905)。補正行列ΔRを求める具体的な処理のフローチャートを図10に示し、以下説明する。
【0086】
まず、これまでの処理で既に算出されている補正行列ΔRt−1で行列Rを以下のようにして補正し、行列R’を求める。
【0087】
R’=RΔRt−1
次に、求めた行列R’を用いて行列M’を以下のようにして求める(ステップS1001)。
【0088】
M’=R’
ステップS1002からステップS1010までの処理はそれぞれステップS702からステップS710までの処理と同じであるために、ここでの説明は省略する。
【0089】
次に、求まった(j ,k )を用いて画像I上の各ランドマークの位置p$ =(x$ ,y$ )を算出する(ステップS1012)。算出は以下の式によって行う。
【0090】
x$ =x +j cos(−roll)−k sin(−roll
y$ =y +j sin(−roll)+k cos(−roll
そして次に各ランドマークの「画像I上への投影点」のカメラ座標系における位置pc を算出する(ステップS1013)。
【0091】
pc =(x$ 、y$ 、−f、1)
このとき、aをスケーリングパラメータとすると、pc ・a=R’ΔRが成立する。この式を解くことで、Δyaw を算出する。その方法を以下に示す。だたし、以下で、Inv(M)は行列Mの逆行列を示す。
【0092】
P$ =(X$ ,Y$ ,Z$ ,1)=Inv(R’)pc
P’=(X’,Y’,Z’,1)=T
とおくと、P$ =ΔRP’/aとなるので、
X$ ={cos(Δyaw )X’−sin(Δyaw )Z’}/a
Z$ ={sin(Δyaw )X’+cos(Δyaw )Z’}/a
となり、これを解くことで、
Δyaw =arctan{(Z$ ・X’−X$ ・Z’)/(X$ ・X’+Z$ ・Z’)}
となる(ステップS1014)。このステップS1014の処理をすべてのi、すなわち、すべてのランドマークに対して求める(ステップS1015)。そして求めたすべてのΔyaw の平均値Δyawを求める(ステップS1016)。
【0093】
そして、求めた補正更新値Δyawを用いて補正更新行列ΔR’を求める(ステップS1017)。座標系を任意の角度(ここではΔyaw)で方位方向に回転させるモデルビュー行列を算出する方法は公知であるので、説明は省略する。この補正更新行列ΔR’を用いて、求めるべき補正行列ΔRを以下のようにして求める(ステップS1018)。
【0094】
ΔR=ΔRt−1ΔR’
以上の図10に示した処理に従って補正行列ΔRを算出すると、図9に戻って、算出した補正行列ΔRを用いてモデルビュー行列M$を算出する(ステップS906)。算出は以下の式に従って行う。
【0095】
M$=RΔR
そして第1の実施形態と同様に、算出したモデルビュー行列を用いてCGを描画、表示する(ステップS907)。
【0096】
[第5の実施形態]
第1乃至4の実施形態では、視点の位置を既知とし、姿勢(方向、角度)のみの補正を行った。前述したように、観察対象物体までの距離が視点位置の移動量に対して相対的に大きい場合には視点位置を固定値とすること有効であるが、その仮定が成り立たない場合には視点の移動に伴う位置ずれが生じてしまう。よって本実施形態では視点位置の補正を行う方法を示す。ただし本実施形態ではカメラ座標系におけるZ軸方向(奥行き方向、撮像面に垂直な方向)の移動量ΔTzは常に0であるものと仮定する。また、回転成分については、センサにより正しい値が得られていると仮定する。なお、この仮定が成り立つ場合には、最低1点のランドマークの検出により位置の補正を行うことができる。
ここで本実施形態における設定を以下に示す。
【0097】
・時刻tにおけるセンサ出力に基づいたモデルビュー行列の回転成分 R
・時刻tにおけるカメラの既定の位置に基づいたモデルビュー行列の平行移動成分 T
・モデルビュー行列の補正行列(世界座標系における平行移動成分) ΔT
・ランドマークLから求められるモデルビュー行列の補正行列(世界座標系における平行移動成分) ΔT
・これまでの処理で既に算出されている補正行列 ΔTt−1(開始ループでは単位行列)
・補正行列ΔTt−1によって補正されたモデルビュー行列の平行移動成分 T’
・補正行列ΔTt−1によって補正されたモデルビュー行列 M’
・モデルビュー行列の補正更新行列(カメラ座標系における平行移動成分) ΔTc
・ランドマークLから求められる、x軸方向(カメラ座標系)の補正更新値ΔTx
・ランドマークLから求められる、y軸方向(カメラ座標系)の補正更新値ΔTy
・全てのランドマークから求められる、x軸方向(カメラ座標系)の補正更新値 ΔTx
・全てのランドマークから求められる、y軸方向(カメラ座標系)の補正更新値 ΔTy
以上の設定に基づいて本実施形態における補正方法について同方法の処理のフローチャートを示す図11,12を用いて説明する。
【0098】
図11は本実施形態におけるメインの処理のフローチャートである。ステップS1101からステップS1104までの処理は、第4の実施形態におけるステップS901からステップS904における各処理と同じなので、ここでは説明は省略する。
【0099】
次に、補正行列ΔTを求める(ステップS1105)。補正行列ΔTを求める具体的な処理のフローチャートを図12に示し、以下説明する。
【0100】
まず、これまでの処理で既に算出されている補正行列ΔTt−1で行列Tを補正し、行列T’と行列M’を以下のようにして求める(ステップS1201)。
【0101】
T’=ΔTt−1
M’=RT’
次のステップS1202からステップS1211までの各処理は、第4の実施形態におけるステップS1002からステップS1012までの各処理を同じであるために、ここのでは説明は省略する。
【0102】
次にステップS1212では、ランドマークLに関する補正更新値ΔTx 、ΔTy を算出する。
【0103】
ΔTx =f・Zc (x$ −x
ΔTy =f・Zc (y$ −y
ここでZc はカメラ座標系におけるランドマークのz座標で、M’の第3成分がその値となる。
【0104】
以上の補正更新値ΔTx 、ΔTy をすべてのi,つまり、すべてのランドマークに対して求め(ステップS1213)、次に求めたすべての補正更新値ΔTx 、ΔTy の平均値ΔTx、ΔTyを求める(ステップS1214)。そして、求めた補正更新値の平均値ΔTx、ΔTyを用いて、x方向にΔTx、y方向にΔTyの平行移動を座標系に施す補正更新行列ΔTcを算出する(ステップS1215)。座標系に任意の平行移動を施す座標変換行列を算出する方法は公知であるので、説明は省略する。そして補正行列ΔTを以下のようにして求める(ステップS1216)。
【0105】
ΔT=Inv(R)ΔTcΔTt−1
以上の図12に示した処理に従って補正行列ΔTを算出すると、図11に戻って、算出した補正行列ΔTを用いてモデルビュー行列M$を算出する(ステップS1106)。算出は以下の式に従って行う。
【0106】
M$=RΔT
そして第1の実施形態と同様に、算出したモデルビュー行列を用いてCGを描画し、表示する(ステップS1107)。
【0107】
[第6の実施形態]
第5の実施形態ではΔTzが常に0と仮定していた為に、視線方向に対して前後に視点位置が移動した場合に正確な位置合わせを行うことができなかった。本実施形態では、常に2点以上のランドマークを観察することで、ΔTzが0でない場合にも対応する。
【0108】
本実施形態における補正処理のフローチャートは基本的には第5の実施形態で示した図11,12と同じであるが、ステップS1214、S1215における処理の内容が異なる。以下、本実施形態における補正処理でステップS1214、S1215における各処理について説明する。
【0109】
x、y、z軸方向におけるカメラ座標系の補正更新値をΔTx、ΔTy、ΔTzとおくと、ランドマークの撮像予測位置p と検出位置p$ の間には、各ランドマーク毎に以下の式が成り立つ。
【0110】
ΔTx+x$ ・f・ΔTz=f・Zc (x$ −x
ΔTy+y$ ・f・ΔTz=f・Zc (y$ −y
よって、複数のランドマークに対して以下の連立方程式をたて、これを解くことで、未知の補正更新値ΔTx、ΔTy、ΔTzを算出する(ステップS1214)。
【0111】
【数1】
Figure 0004743818
【0112】
そして算出したΔTx、ΔTy、ΔTzを用いて、補正更新行列ΔTcを公知の方法で求める(ステップS1215)。そしてステップS1216では求めた更新行列ΔTcを用いて第5の実施形態と同様にして補正行列ΔTを求める。
【0113】
[第7の実施形態]
第1乃至6の実施形態では回転か平行移動のいずれかのみの補正しかできなかった。本実施形態ではその両方の補正を行う。基本的な方法としては、回転の補正を行った後に、平行移動の補正を行う。しかしこれに限定されるものではなく、その逆の順序で補正しても良いし、回転の補正の後に平行移動の補正(もしくはその逆の順序でも良い)を一定回数繰り返しても良いし、予め設定しておいた閾値よりも誤差が小さくなるまで、或いは補正による誤差の変動が閾値よりも小さくなるまで、繰り返し行っても良い。
【0114】
ここで本実施形態で以下用いる設定について示す。
【0115】
・ 処理の中間段階に得られた補正行列によって補正されたモデルビュー行列の回転成分 R”
・ 処理の中間段階に得られた補正行列によって補正されたモデルビュー行列M”
以上の設定に基づいて、本実施形態における補正処理について説明する。
【0116】
図13に本実施形態におけるメインの処理のフローチャートを示す。同図に示したフローチャートは、第4の実施形態の図9に示したフローチャートに補正行列ΔTを算出する処理(ステップS1306)を追加したフローチャートとなっており、また、補正行列ΔRを算出する処理(ステップS1305)における処理も異なる。以下では、本実施形態における補正行列ΔTを算出する処理(ステップS1306)、補正行列ΔRを算出する処理(ステップS1305)について説明する。又その他の部分については説明は省略する。
【0117】
ステップS1305における補正行列ΔRを算出する具体的な処理のフローチャートは基本的には第4の実施形態の図10とほぼ同一であるが、本実施形態では、ステップS1001において、行列R’及びM’の算出に加え行列T’の算出を行う。
【0118】
R’=RΔRt−1
T’=ΔTt−1
M’=R’T’
そして、以降の処理(例えばS1014)において、図10における固定値Tの代わりとして、導出したT’を使用する。
【0119】
一方、ステップS1306における補正行列ΔTを補正する具体的な処理のフローチャートは基本的には第5の実施形態の図12とほぼ同一であるが、本実施形態では、ステップS1201において、ステップS1305で求めた補正行列ΔRを用いて行列Rを補正し、行列R”とM”を以下の式に従って求める。
【0120】
R”=RΔR
M”=R”T’
又、本実施形態における処理は図12のフローチャートにおいて、ステップS1212でΔTx 、ΔTy を以下のようにして求める。
【0121】
ΔTx =f・Zc (x$ −x
ΔTy =f・Zc (y$ −y
ここでZc はカメラ座標系におけるランドマークのz座標で、M”の第3成分がその値となる。
【0122】
又、本実施形態における処理は図12のフローチャートにおいて、ステップS1216で補正行列ΔTを算出するが、以下の式に従って算出する。
【0123】
ΔT=Inv(R”)ΔTcR”ΔTt−1
そして以上の補正行列ΔTが終了すると、図13に示したフローチャートに戻り、ステップS1307においてモデルビュー行列M$を以下のようにして算出する。
【0124】
M$=RΔRΔT
また、上述の補正行列ΔR、ΔTを求める処理(ステップS1305,S1306)を上述の通り所定回数繰り返しても良い。
【0125】
[第8の実施形態]
第1乃至7の実施形態では世界座標系におけるランドマークの位置を既知としたが、それ以外の方法取ることもできる。すなわち、初期位置姿勢における画像I上でランドマークの位置を直接指定してもよいし、初期位置姿勢における画像I上から顕著な(追跡の容易な)画像特徴(例えばエッジ部分やテクスチャ性の強い部分)を持つ特徴点を抽出し、この位置をランドマークの位置としてもよい。
【0126】
ここで、手入力あるいは画像処理によって画像座標(x ,y )に撮像されている画像特徴を指定あるいは検出し、ランドマークLとして用いる場合を考える。このランドマークのカメラ座標をPc =(x ,y ,f,1)と仮定すると、世界座標は、初期位置姿勢におけるモデルビュー行列Mの逆行列を用いて,P=Inv(M)Pc と定義することができ、第1乃至3の実施形態で述べた手法をそのまま適応することができる。
【0127】
ただし、ランドマーク位置の奥行き方向の情報は得ることが出来ないので,ランドマーク位置の奥行き情報を用いた補正(第5の実施形態以降で述べた位置の補正)を行うことは出来ない。
【0128】
[変形例1]
上記実施形態においては、MRシステムにおけるカメラの視点の姿勢(又は位置姿勢)の計測を行ったが、本発明の適応範囲はこれに留まるものではなく、カメラの視点の姿勢(又は位置姿勢)を計測するいずれの用途に用いることも可能であることはいうまでもない。
【0129】
[変形例2]
上記実施形態においては、ビデオシースルー方式のMRシステムにおける視点の姿勢(又は位置姿勢)の計測を行ったが、光学シースルー方式のMRシステムであっても、本発明の画像処理装置による姿勢(又は位置姿勢)計測を行うことができる。この場合、HMDに姿勢センサを装着するとともに、計測対象であるところの観察者の視点位置との相対的な姿勢(又は位置姿勢)関係が既知であるような位置に固定されるように、HMDにカメラを装着する。そして、上記実施形態と同様な手法によってカメラの姿勢(又は位置姿勢)を算出し、さらにその値を変換することで、観察者視点の姿勢(又は位置姿勢)を算出する。また、本発明の適応範囲は計測対象物体に限定されるものではなく、いずれの計測対象物体であっても、同様にカメラ及び姿勢センサを装着することで、その姿勢(又は位置姿勢)を計測することができる。
【0130】
[変形例3]
上記実施形態においては、テンプレート画像生成モジュール430において、既定の位置姿勢で撮影した画像Iに基づいてテンプレート画像を生成したが、テンプレート画像は必ずしも画像Iに基づいて生成しなくてもよく、予め保存されているテンプレート画像を用いても良いし、例えば動的なテンプレートの更新手法といった周知のいずれの方法によって得られたテンプレート画像を用いてもよい。
【0131】
[変形例4]
上記実施形態においては、ターゲット画像生成モジュール404において、ランドマークの予測位置の近傍領域のみをターゲット画像として抽出したが、テンプレートマッチングの対象画像(すなわちターゲット画像)は、必ずしもランドマークの予測位置の近傍領域を抽出したものでなくても良い。例えば、図14(d)のように入力画像全体に回転処理を加えた画像I’を各ランドマークに共通のターゲット画像として設定し、画像I’内において各々のランドマークの予測位置を求めその近傍において対応探索を行っても良いし、画像I’の領域全体に対して対応探索を行っても良い。
【0132】
[変形例5]
上記実施形態においては、姿勢又は位置姿勢の計測を目的として、その手段としてテンプレートマッチングによるランドマーク検出を用いたが、本発明の画像処理装置におけるランドマーク検出手法は、テンプレートマッチングによって画像中からランドマークの位置を検出する用途であれば、姿勢又は位置姿勢の計測に限定されることなく適応することができる。
【0133】
[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0134】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0135】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図5乃至図13のうち少なくとも一つに示したフローチャート)に対応するプログラムコードが格納されることになる。
【0136】
【発明の効果】
以上の説明により、本発明によって、姿勢センサによるカメラ視点の計測誤差の補正、特に時間経過に伴って生じる方位方向の蓄積誤差の補正を行うことができ、位置ずれのないMRを実現することができる。
【図面の簡単な説明】
【図1】初期画像Iを示す図である。
【図2】従来の画像処理装置の構成を示す図である。
【図3】本発明の第1の実施形態における画像処理装置の構成を示す図である。
【図4】視点位置姿勢補正値演算モジュール215の具体的な構成を示す図である。
【図5】本発明の第1の実施形態におけるメインの処理のフローチャートである。
【図6】テンプレート画像を作成する際の具体的な処理のフローチャートである。
【図7】補正行列ΔMの算出における具体的な処理のフローチャートである。
【図8】本発明の第2の実施形態における補正演算ループの処理のフローチャートである。
【図9】本発明の第4の実施形態におけるメインの処理のフローチャートである。
【図10】補正行列ΔRを求める具体的な処理のフローチャートである。
【図11】本発明の第5の実施形態におけるメインの処理のフローチャートである。
【図12】補正行列ΔTを求める具体的な処理のフローチャートである。
【図13】本発明の第7の実施形態におけるメインの処理のフローチャートである。
【図14】本発明におけるテンプレートマッチングの基本原理を説明する図である。

Claims (5)

  1. 現実空間の画像を撮影する撮影装置と、
    前記撮影装置の撮影視点の姿勢を計測する姿勢センサと、
    前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出手段と、
    前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出手段と、
    前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出手段が算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列、を補正するための補正行列を推測する推測手段と、
    前記推測手段が推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記補正行列は、前記モデルビュー行列においてピッチ角とヨー角とを補正するための行列であることを特徴とする請求項1に記載の画像処理装置。
  3. 前記推測手段は、前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出手段が算出した補正行列を用いた線形予測により、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出手段が算出したモデルビュー行列、を補正するための補正行列を推測することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 現実空間の画像を撮影する撮影装置と、
    前記撮影装置の撮影視点の姿勢を計測する姿勢センサと
    を備える画像処理装置が行う画像処理方法であって、
    前記画像処理装置のモデルビュー行列算出手段が、前記姿勢センサによって計測された姿勢からモデルビュー行列を算出するモデルビュー行列算出工程と、
    前記画像処理装置の補正行列算出手段が、前記撮影装置が撮影した現実空間画像を取得し、該取得した現実空間画像中に映っている指標の画像座標を検出し、該検出された指標の画像座標を用いて、前記モデルビュー行列を補正するための補正行列を算出する補正行列算出工程と、
    前記画像処理装置の推測手段が、前記現実空間画像の撮影タイミングよりも過去の撮影タイミングで前記撮影装置が撮影した画像を用いて前記補正行列算出工程で算出した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列、を補正するための補正行列を推測する推測工程と、
    前記画像処理装置の合成手段が、前記推測工程で推測した補正行列を用いて、前記現実空間画像の撮影タイミングで前記姿勢センサによって計測された姿勢から前記モデルビュー行列算出工程で算出したモデルビュー行列を補正し、該補正されたモデルビュー行列を用いて仮想物体の画像を生成し、該生成した画像と前記現実空間画像とを合成する合成工程と
    を備えることを特徴とする画像処理方法。
  5. コンピュータを、請求項1乃至3の何れか1項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
JP2003102141A 2003-04-04 2003-04-04 画像処理装置、画像処理方法、コンピュータプログラム Expired - Fee Related JP4743818B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 キヤノン株式会社 画像処理装置およびその方法並びにプログラム、記憶媒体

Cited By (4)

* Cited by examiner, † Cited by third party
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