JP5215615B2 - 3次元位置情報復元装置およびその方法 - Google Patents
3次元位置情報復元装置およびその方法 Download PDFInfo
- Publication number
- JP5215615B2 JP5215615B2 JP2007220866A JP2007220866A JP5215615B2 JP 5215615 B2 JP5215615 B2 JP 5215615B2 JP 2007220866 A JP2007220866 A JP 2007220866A JP 2007220866 A JP2007220866 A JP 2007220866A JP 5215615 B2 JP5215615 B2 JP 5215615B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- matrix
- dimensional position
- camera
- projection
- 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
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
また、3次元復元処理は、カメラモデルを平行投影や弱透視投影(図10(b)に示す。)に限り、擬似的に3次元復元する手法である因子分解法あるいはこの改良型が主流である。このため復元精度が低い。
さらに、従来法は、画像数と特徴点数が増加した場合、因子分解法の処理に必要な画像中の特徴点列から作るモーメント行列の次数が急激に増加するので、処理メモリが急激に増加する手法である。
また、従来法においては、平行投影のカメラモデルでも画像数Mと特徴点をNとしたとき、このM×Nの値が増加することにより、速度低下および使用メモリの増加をきたしている。本発明が解決しようとする他の課題は、画像数や点数によらず一定のメモリで3次元復元問題が解けるような計算手法を実現する装置および方法を提供することにある。
すなわち、従来法は、カメラモデルを平行投影することによる計算法であるため3次元復元の精度が悪い。また、従来の因子分解法による計算処理法は、画像数Mと対象点Nに依存する。このため実用的なサイズでは計算が遅くなりメモリサイズの制限から実用的なサイズの点数の復元が行えなかった。このため、復元をビデオレートで行うためには処理装置の規模が大きくなり経済的な制約から実用的なものができていない。
因子分解法は、基本的に特異値分解を行うことに結びつくため、画像数Mと一画像当たりの特徴点数Nの積である2M×N行列の特異値問題を解く必要がある。点数が少ない場合は実用に耐えるが、10枚の画像と1000点の特徴点数を例に考えた場合、105要素数の行列を扱う必要がある。
また、復元データが疑似透視投影に基づくため、復元した3次元データの精度が悪い。特に、カメラモデルとして疑似透視投影を用いるため近距離での復元精度に問題がある。
従って、本発明は、カメラモデルとして平行投影を仮定して複数の連続する画像から3次元位置を得る従来の擬似的な3次元復元でなく、カメラモデルとして透視投影を仮定して正確な3次元復元を高速で行う装置および手法を提供することである。
Πκ=Kκ(Rκtκ) (8)
また、カメラパラメータKκは以下である。
このためには、まずこの式(7)を仮に満たすΠκ′とXα′を求める。これを射影復元と呼ぶ。これには複数の画像間で対応する点xκαを縦に積んで作成した特徴点ベクトルP=(x1α T,…,xMα T)Tがランク4の制約を持つことを利用して、実施例の射影復元に示す方法で射影復元する。
次に、これを正しいΠκとXαに変換する。自己構成と呼ぶ。両者の間にはΠκ′=ΠκH,Xα′=H−1Xαの関係があり、このHが射影復元の不定性である。これには、
Πκ=Kκ(Rκtκ) (10)
が
Πκdiag(1,1,1,0)Πκ T=KκKκ T (11)
となる性質を拘束条件に利用して、実施例の自己校正処理に示す方法でHおよびKκを得ることにより、正しい3次元復元を行う。
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u1κ u2κ u3κ u4κ)
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
ことを特徴とするものである。
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とするものである。
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(Xκα)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
自己校正部において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元部により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とするものである。
各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する過程が、時刻t+Δtと時刻tの画像I(x,t+Δt),I(x,t)を用いて所定数の段階の詳細度dを持つ画像I d (x d ,t),I d (x d ,t+Δt)を作成し、詳細度が粗い順に、特徴点の追跡の誤対応の可能性に重み係数を計算し、当該重み係数を用いて、所定の重み係数が所定数以下の場合に連続する所定数の二次元画像を各特徴点毎に分配することを特徴とするものである。
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
ことを特徴とするものである。
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とするものである。
画像番号κ(κ=1,…,M)、特徴点番号α(α=1,…,N)の画素点xκα、その単位ベクトルへの正規化をN[xκα]として
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
自己校正過程において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元過程により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とするものである。
射影復元過程の射影復元処理と、自己校正過程の自己校正処理と、補正過程の判定除去処理とを複数の並列度により構成することを特徴とするものである。
図1は、本発明の一実施例の構成を示したものである。連続するビデオ画像を入力として検出した特徴点の3次元復元およびカメラ位置の推定を行う実施例を示す。実施例では、特徴点を1000点、追跡画像数を10枚として、対応する画像中の特徴点(二次元)を3次元に復元処理する例を示す。処理対象の特徴点数は、並列処理する処理に応じて増加可能であり、画像数は要求精度が高い場合に対応して増加可能である。
図2は、図1の実施例における処理の詳細を示し、撮像データと特徴点列との対応を表したものである。I(x,t+Δt)に撮像した画像と一フレーム前の画像I(x,t)間で特徴点に対応がとれる可能性があるもので図示されている。Wκα=0が6個以上ある特徴点データ列は、無効として
とされることを示す。
図3は、図1の実施例における処理の詳細を示し、並列処理におけるフレーム数と特徴点の関係を示したものである。
図4は、図1の実施例における処理の詳細を示し、画像蓄積部における輝度計算と画像イメージを示したものである。
図5は、図1の実施例における処理詳細を示し、画像データから特徴点の検出法を示したものである。
図6は、図1の実施例における処理の詳細を示し、対応点の検出および判定を示したものであり、二枚の画像間の想定対応点を比較して誤対応か否かを判定する。
図7は、図1の実施例における処理の詳細を示し、画像分配部の処理を示したものであり、図の処理例では、10画像追跡した1000点の特徴点を100点ずつ並列処理部へ分配することを示す。
図8は、図1の実施例における処理の詳細を示し、並列処理した復元点およびカメラ位置姿勢をシーケンシャルに整理して出力する処理を示す。
図1において、101は撮像装置、102は画像蓄積部、103は特徴点追跡部、104は分配部、105は3次元復元部、106は統合部である。
特徴点追跡部103は、特徴点検出部1031、対応点計算/追跡部1032を備える。
また、3次元復元部105は、射影復元部1051i(i=1〜P)、自己校正部1052i(i=1〜P)、補正部1053i(i=1〜P)に細分され、並列処理の対象として一つの処理部となる。
取り扱う特徴点数が増加した場合、この同一の並列処理部(3次元復元部105)を増やすことにより復元性能の増加を図る。
処理の概要を図1に従い説明する。
撮像部101で連続したフレームの画像が取られ、画像蓄積部102においてグレースケールに変換される。
特徴点検出部1031において、例えば10フレーム間隔で、特徴点として最も良好な性質を持つ複数の画素を特徴点として選択する。以後この特徴点が10枚の画像にわたり追跡点として追跡される。
この複数の追跡ベクトルが、分配部104において並列処理の単位に分解され、3次元復元部105の入力となる特徴点の3次元位置Xα、フレームκにおけるカメラパラメータKκおよびカメラの位置姿勢(Rκtκ)を得る。
統合部106において複数の3次元復元部105からの出力を、一連の順序に従い再配置する。
以下に各機能ブロックの作用、動作の詳細な説明を行う。
カメラで得た画像を輝度値によるモノクロ画像に変換する。このときフレーム番号κを連番で割り当てる。
3次元復元を行うために必要な複数の画像間で特定の特徴点がどのように移動したかの対応付けを行う処理を行う。
この特徴点追跡部103は、追跡点を決める「特徴点の検出」処理を行う特徴点検出部1031と、この特徴点を開始点として二枚の連続する画像間の該当特徴点の追跡を行う「対応点計算および追跡」処理を行う対応点計算/追跡部1032からなる。
(1)特徴点検出:図5 追跡を開始する元となる追跡開始点(画素位置)は手動あるいは自動で発生する。図5の例では、この処理の実行される間隔は、画像枚数例えば10枚毎としている。自動で特徴点を検出する場合は、「特徴量計算」、「特徴量ソート」を経て、「対応点メモリ」に開始点が登録される。以後のフレームからは、この特徴点を追跡の開始点として連続した10枚の画像(例)を追跡する。
(1−1)特徴量計算: 全画素位置x=(x,y)Tに対して、輝度I(x,y)を用いて以下の処理(a)−(b)を行う。
(a)特徴量C(x,y)の計算
Ix=(I(x+1,y)−I(x,y)))/Δx
Iy=(I(x,y+1)−I(x,y)))/Δy
M(x,y)=Σ(Ix,Iy)T(Ix,Iy)
MW=ΣWM(x,y)
C(x,y)=Min(Eigen_value(MW)) (12)
ここにMin(*)は最小値を得ること、(Eigen_value(*))は固有地を得ることをそれぞれ示す。また、Wは対象画像xを中心とした3×3画素の領域を示す。
(b)推測画素が対応するかの判定
最小固有値が閾値λ以下か否かを判断し、閾値以上であれば、C(x,y)と、この値に対応する位置xを後段の処理に出力する。
(1−2)ソート: 送られて来る特徴量C(x,y)をパイプラインソート処理部に入れることによりC(x,y)の大きい順に対応する画像位置xαが「ソート済みメモリ」に格納される。
全画素の処理が終了したとき開始(ENB,xα)がソート順(実施例ではα=1,…,1000)に対応点メモリに格納される。これにより次の画像から、この位置xαを起点として対応点の候補が計算できる。
(2)対応点計算および追跡:図6 「対応点メモリ」にすでに登録されている時刻tの画像における特徴点位置xαを起点として、時刻t+Δtの画像を対象に以下に示す特徴点候補の位置を計算し、特徴量を用いて対応する点か否かを判定する。以下に詳細を示す。
(2−1)勾配計算: 時刻t+Δtと時刻tの画像I(x,t+Δt),I(x,t)を用いて4段階(実施例の場合)の詳細度を持つ画像Id(xd,t),Id(xd,t+Δt)を作成する。ここに添え字dは詳細度を示す。ここで詳細度は、描画の詳細度をいい、例えば、対象となるモデルを表示する場合、対象を詳細に表示する場合は細かくサンプリングして詳細度を高くして画素を細かくし、粗く表示する場合は粗くサンプリングして詳細度を低くして画素を粗くすることとなり、対象のサンプリング数に応じて詳細度が段階的に変化する。
詳細度dに対応した画像の画素位置xdにおける勾配Gxdは、計算式(13)に示す計算を行うことにより得られる。
Id(xd,t)+Id(xd,t+Δt))/Δx=Gxd
Id(xd,t)+Id(xd,t+Δt))/Δy=Gyd
(Gxd,Gyd)T=Gxd
Id(xd,t+Δt)−Id(xd,t))/Δt=ΔId (13)
これを全ての画素および全ての詳細度に対して行い、結果を「勾配メモリ」に格納する。
(2−2)追跡: κ、FT=0を処理ループのカウンタおよび「対応点メモリ」のアドレスとして以下の処理を、FT≦999,κ≦10まで繰り返す。
「対応点メモリ」に格納されているκおよびFTで指定されたメモリ内の特徴点のENB値が無効
であればFT=FT+1としてメモリ内の次の特徴点を処理の対象とする。
有効であれば、以下の(a)から(b)の処理を行う。
(a)移動ベクトル計算 d=1から4まで以下の計算を行い、各詳細度に対応する移動ベクトルddを求める。
(b)誤対応検出/重み計算 以下の処理を詳細度が粗い順番(d=4,…,1)に行う。
となる重みである。
計算結果Errdと予め指定されている誤対応判定の閾値Err_Lvdとの比較を行う。
Errd<Err_Lvd (16)
大きければ、ENB=0として詳細度の繰り返しを抜ける。
小さければ、以下の位置xκαdを計算する。
xκαd =xκαd+dd (17)
詳細度d=d−1として再度、式(15)計算を行う。このとき、d=0であれば、ENB=1として以下の重みを計算する。
Wκα =cos((Err1/2Err_LV1)*π/2*ENB (18)
特徴点番号FT,κを「対応点メモリ」のアドレスとして、特徴点データ(ENB,κ,Wκα,dκd,xκαd:d=1…4)を書き込む。
特徴点追跡部103の処理が終わった時点で作成される「対応点メモリ」に作成された特徴点追跡データ列から必要なデータを取り出し後段の処理に与える「追跡ベクトルメモリ」(図2,7)を作成する。このときWκα=1の個数が6以下の場合は、追跡ベクトルのENB=0とする。作成された「追跡ベクトルメモリ」の特徴ベクトルを100点単位に分割して、3次元復元部105へ送る。全てを送り終えるとともにトグルスイッチを切り替え、書き込みと読み出しのメモリを反転する。
以下に、本発明による射影復元の手順を示す。以下の説明では座標点は同次座標系を用いている。添え字κは画像番号1〜Mを示し、αは特徴点番号1〜Nを示す。また、表記N[・]は単位ベクトルへの正規化を表し、max[・]は最大値を選択することを示す。
入力:xκα,κ=1,…,M, α=1,…,N
収束判定の最投影誤差Emin
部分空間当てはめの収束判定定数ε
出力:Πκ,κ=1,…,M, Xα,α=1,…,N
[処理手順]
(1)射影的奥行をzκα=1と初期化する。
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして単位ベクトルに正規化する。
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)] (19)
(3)特徴点α=1〜Nに対してpαを求め、次の3M×N行列Pを作る。
P=(p1p2…pN) (20)
(4)行列Pを以下のように特異値分解する。
P=Udiag(σ1,σ2,…)VT (20)
行列Uの最初の4列u1,u2,u3,u4を求める。
(5)3×4の投影行列で表されるカメラの位置Πκを次のように計算する。
Πκ = (u1κ u2κ u3κ u4κ)
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算する。
Cki α=(N[xκα],uik) (23)
(b)次の4×4行列Dα=(Dij α)を計算する。
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα] (25)
このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記処理手順(3)の行列Pを再計算する。
(f)3次元位置Xα=(Xκα)を以下のように計算する。
Xκ α=(pα,uκ), k=1〜4 (28)
(7)次のように最投影誤差Eを計算する。
誤差の許容基準Eminを用いてE<Eminであれば手続を終了。
(8)次の3M次元ベクトル
を計算する。(κ=1〜4)。
にシュミットの直交化を施したものを
とする。
(10)
を判定する。
条件が成立の場合は、
として前記処理手順(5)
不成立の場合は、
として前記処理手順(8)
射影復元により得られる3次元形状は、元の3次元形状になんらかの射影変換が加わったものであり、真の形状とは異なる。以下の式は、任意のHについて恒等的に成立する。
ΠκXα=ΠκHH−1Xα (31)
従って、前記の射影復元では、カメラモデルΠκとΠκHの差異、およびXαとH−1Xαとの差異がなく任意の値が得られる。射影復元した座標を元に、以下の処理により、正しいカメラモデルΠκと3次元点Xαを得るための射影変換Hを求める。
以下に本発明が示す自己校正部1052の処理手順を示す。
入力:各フレームの光軸点と焦点距離の近似
(uκ0,vκ0),fκ,κ=1,…,M
投影行列Πκ,κ=1,…,M.
出力:射影変換行列H
内部パラメータ行列Kκ,κ=1,…,M.
[処理手順]
(1)次のように初期化する。
(6)行列Asymの固有値問題を解き、最小固有値に対応する10次元の単位固有ベクトルω=(ω1 ω2…ω10)Tを計算する。
(7)以下により仮のωを計算する。
(9)数値的不確かさを排除すればΩがランク3の半正定値である必要があるので以下の計算によりつじつまのあったΩを再計算する。
(10)射影変換Hを以下のように計算する。
(11)次の計算をκ=1,…,Mに渡って行う。
(a)以下からeκ(ij)を計算し、それを用いたFκを計算する。
さらにJκを次のように計算する。
そして、Kκ,γκを次のように更新する。
(c)条件が不成立であればJκ=∞
(12)メジアンを計算する。
(13)Jmed〜0であればH,Kκを返して終了。
(14)
ならば以下を返して終了。
(15)上記条件が成立しない場合は、次のように更新して処理手順(3)に戻る。
以下に、本発明が示す補正部1053による3次元点の補正を示す。
入力:射影復元座標Xα,α=1,…,N
投影行列Πκ,κ=1,…,M
射影変換行列H、内部パラメータ行列Kκ
出力:3次元座標(Xα,Yα,Zα)T,α=1,…,N.
カメラ相対回転Rκ、カメラ相対位置tκ
内部パラメータ行列Kκ
[処理手順]
(1)次の計算によりRκおよびtκを求める。
(a)(Rκ′tκ)の計算
(b)Rκ′の正規化R′の各列のベクトルを単位ベクトルとする。また、detR′>0となるように各ベクトルの符号をあわせる。
(c)Rκの計算
以下のように特異値分解を行う。
Rκ′=diag(λ1,λ2,λ3)VT
以下のように補正する。
R=UVT
(2)射影変換Hと射影復元座標Xα,α=1,…,Nを用いて3次元復元値
を次の計算で得る。
(a)3次元点の暫定計算
関係が不成立の場合は以下の計算を行う。
tκ←−tκ κ=1,…,M
Xα=−Xα,Yα=−Yα,Zα=−Zα.
並列処理されて前段の補正部1053から複数同時に出力される3次元復元点Xα、カメラパラメータKκ、姿勢(Rκtκ)の系列をカテゴリに分ける。またこのとき、3次元復元データに関しては特徴点の番号に従い一列に順序化する。カメラパラメータ、姿勢に関してはフレームの順に並べる。
(a)複数カメラから撮像した映像の単一映像への高速な連続合成。
(b)カメラ位置が得られることにより、複数の相対位置姿勢の検出(姿勢制御への応用)
Claims (16)
- カメラにより撮像した複数の連続する二次元画像を元にして、撮像対象となる情景中の3次元位置を復元する装置であって、
各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する手段と、
連続する所定数の二次元画像を各特徴点毎に分配する手段と、
各特徴点毎の連続する所定数の二次元画像について各特徴点毎の3次元位置Xα′とカメラの位置Πκ′を射影復元する射影復元部と、
前記射影復元部により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを求める自己校正部とを有する3次元位置情報復元装置において、
各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する手段が、時刻t+Δtと時刻tの画像I(x,t+Δt),I(x,t)を用いて所定数の段階の詳細度dを持つ画像I d (x d ,t),I d (x d ,t+Δt)を作成し、詳細度が粗い順に、特徴点の追跡の誤対応の可能性に重み係数を計算し、当該重み係数を用いて、所定の重み係数が所定数以下の場合に連続する所定数の二次元画像を各特徴点毎に分配することを特徴とする3次元位置情報復元装置。 - 射影復元部において3次元位置Xα′を計算するに際して、
画像番号κ(κ=1,…,M)、特徴点番号α(α=1,…,N)の画素点xκα、その単位ベクトルへの正規化をN[xκα]として
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u1κ u2κ u3κ u4κ)
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
ことを特徴とする請求項1に記載の3次元位置情報復元装置。 - 自己校正部において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元部により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とする請求項1に記載の3次元位置情報復元装置。 - 射影復元部において3次元位置Xα′を計算するに際して、
画像番号κ(κ=1,…,M)、特徴点番号α(α=1,…,N)の画素点xκα、その単位ベクトルへの正規化をN[xκα]として
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(Xκα)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
自己校正部において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元部により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とする請求項1に記載の3次元位置情報復元装置。 - 射影復元部により求めた3次元位置Xα′について自己校正部において求めた数学的に正しいが物理的に偽の3次元位置情報を判定して除去する補正部と
を有することを特徴とする請求項1〜請求項4のいずれかに記載の3次元位置情報復元装置。 - 各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する手段が、特徴点の追跡の誤対応の可能性に重み係数を用いて、所定の重み係数が所定数以下の場合に連続する所定数の二次元画像を各特徴点毎に分配することを特徴とする請求項1記載の3次元位置情報復元装置。
- 射影復元部の射影復元処理と、自己校正部の自己校正処理と、補正部の判定除去処理とをパイプライン化することを特徴とする請求項5に記載の3次元位置情報復元装置。
- 射影復元部の射影復元処理と、自己校正部の自己校正処理と、補正部の判定除去処理とを複数の並列度により構成したことを特徴とする請求項1〜請求項7のいずれかに記載の3次元位置情報復元装置。
- カメラにより撮像した複数の連続する二次元画像を元にして、撮像対象となる情景中の3次元位置を復元する方法であって、
各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する過程と、
連続する所定数の二次元画像を各特徴点毎に分配する過程と、
各特徴点毎の連続する所定数の二次元画像について各特徴点毎の3次元位置Xα′とカメラの位置Πκ′を射影復元する射影復元過程と、
前記射影復元過程により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを求める自己校正過程とを有する3次元位置情報復元方法において、
各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する過程が、時刻t+Δtと時刻tの画像I(x,t+Δt),I(x,t)を用いて所定数の段階の詳細度dを持つ画像I d (x d ,t),I d (x d ,t+Δt)を作成し、詳細度が粗い順に、特徴点の追跡の誤対応の可能性に重み係数を計算し、当該重み係数を用いて、所定の重み係数が所定数以下の場合に連続する所定数の二次元画像を各特徴点毎に分配することを特徴とする3次元位置情報復元方法。 - 射影復元過程において3次元位置Xα′を計算するに際して、
画像番号κ(κ=1,…,M)、特徴点番号α(α=1,…,N)の画素点xκα、その単位ベクトルへの正規化をN[xκα]として
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
ことを特徴とする請求項9に記載の3次元位置情報復元方法。 - 自己校正過程において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元過程により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とする請求項9に記載の3次元位置情報復元方法。 - 射影復元過程において3次元位置Xα′を計算するに際して、
画像番号κ(κ=1,…,M)、特徴点番号α(α=1,…,N)の画素点xκα、その単位ベクトルへの正規化をN[xκα]として
(1)射影的奥行をzκα=1と初期化し、
(2)z1αx1α,z2αx2α,…,zMαxMαを縦に並べて3M次元ベクトルpαとして以下の単位ベクトルに正規化し、
pα T=N[(z1αx1α T,z2αx2α T,…,zMαxMα T)]
(3)特徴点α=1〜Nに対してPαを求め、次の3M×N行列Pを作り、
P=(p1p2…pN)
(4)行列Pを以下のように特異値分解し、
P=Udiag(σ1,σ2,…)VT
行列Uの最初の4列u1,u2,u3,u4を求め、
(5)3×4の投影行列であるカメラの位置Π κ ′を次のように計算し、
Π κ ′ = (u 1κ u 2κ u 3κ u 4κ )
(ただし、u1κはuiの、3(κ−1)+1,3(κ−1)+2,3(κ−1)+3成分を第1,2,3成分とする3次元ベクトルである。)
(6)次の計算をα=1,…,Nに渡って計算し、3次元位置X α ′を計算する。
(a) 次のCki αを(κi)要素とするM×4行列Cαを計算し、
Cki α=(N[xκα],uik)
(b)次の4×4行列Dα=(Dij α)を計算し、
(c)行列Dαの固有値問題を解き、この最大固有値に対応する単位固有ベクトルμαを求め、これを用いて次の計算によりξαを計算し、
ξα=±N[Cαμα]
(このとき、固有値の符号は次のようにする。
zκα=ξκα/‖xκα‖
(e)得られたzκαを用いてベクトルPαを再計算し、さらに正規化し前記(3)の行列Pを再計算し、
(f)3次元位置X α ′=(X κα ′)を以下のように計算する
X κ α ′=(pα,uκ), k=1〜4
自己校正過程において正しい3次元位置Xαとカメラの位置Πκとを求めるに際して、
射影復元過程により射影復元した3次元位置Xα′とカメラの位置Πκ′とを射影変換行列Hおよびカメラパラメータ行列により正しい3次元位置Xαとカメラの位置Πκとを
Πκ′=ΠκH
Xα′=H−1Xα
より求めることを特徴とする請求項9に記載の3次元位置情報復元方法。 - 射影復元過程により求めた3次元位置Xα′について自己校正過程において求めた数学的に正しいが物理的に偽の3次元位置情報を判定して除去する補正過程とを有することを特徴とする請求項9〜請求項12のいずれかに記載の3次元位置情報復元方法。
- 各二次元画像から複数の特徴点を検出し各二次元画像について当該特徴点を追跡する過程が、特徴点の追跡の誤対応の可能性に重み係数を用いて、所定の重み係数が所定数以下の場合に連続する所定数の二次元画像を各特徴点毎に分配することを特徴とする請求項9記載の3次元位置情報復元方法。
- 射影復元過程の射影復元処理と、自己校正過程の自己校正処理と、補正過程の判定除去処理とをパイプライン化することを特徴とする請求項13に記載の3次元位置情報復元方法。
- 射影復元過程の射影復元処理と、自己校正過程の自己校正処理と、補正過程の判定除去処理とを複数の並列度により構成することを特徴とする請求項9〜請求項15のいずれかに記載の3次元位置情報復元方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007220866A JP5215615B2 (ja) | 2007-08-28 | 2007-08-28 | 3次元位置情報復元装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007220866A JP5215615B2 (ja) | 2007-08-28 | 2007-08-28 | 3次元位置情報復元装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009053080A JP2009053080A (ja) | 2009-03-12 |
JP5215615B2 true JP5215615B2 (ja) | 2013-06-19 |
Family
ID=40504278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007220866A Expired - Fee Related JP5215615B2 (ja) | 2007-08-28 | 2007-08-28 | 3次元位置情報復元装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5215615B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549332A (zh) * | 2016-01-14 | 2016-05-04 | 哈尔滨工业大学 | 一种工件台三自由度位移测量方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101183161B1 (ko) | 2010-10-14 | 2012-09-17 | 경북대학교 산학협력단 | 휴대용 3차원 스캐너 및 그것의 3차원 형상 복원 방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62254271A (ja) * | 1986-04-28 | 1987-11-06 | Hitachi Ltd | 複数視野の画像・図形生成支援方法及び装置 |
US6297799B1 (en) * | 1998-11-12 | 2001-10-02 | James Knittel | Three-dimensional cursor for a real-time volume rendering system |
JP2000268179A (ja) * | 1999-01-14 | 2000-09-29 | Oojisu Soken:Kk | 三次元形状情報取得方法及び装置,二次元画像取得方法及び装置並びに記録媒体 |
JP2001229341A (ja) * | 2000-02-14 | 2001-08-24 | Mitsubishi Electric Corp | 文字認識装置及び文字認識方法 |
JP4186561B2 (ja) * | 2002-04-25 | 2008-11-26 | ソニー株式会社 | 画像処理装置およびその方法 |
JP2005338901A (ja) * | 2004-05-24 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 撮像装置及び撮像方法 |
JP2006252275A (ja) * | 2005-03-11 | 2006-09-21 | Japan Science & Technology Agency | カメラ運動及び物体形状の復元システム |
JP4856534B2 (ja) * | 2005-12-27 | 2012-01-18 | 株式会社バンダイナムコゲームス | 画像生成装置、プログラム及び情報記憶媒体 |
JP4715597B2 (ja) * | 2006-03-31 | 2011-07-06 | Toto株式会社 | 洗面装置 |
-
2007
- 2007-08-28 JP JP2007220866A patent/JP5215615B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549332A (zh) * | 2016-01-14 | 2016-05-04 | 哈尔滨工业大学 | 一种工件台三自由度位移测量方法 |
CN105549332B (zh) * | 2016-01-14 | 2017-11-03 | 哈尔滨工业大学 | 一种工件台三自由度位移测量方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2009053080A (ja) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225473B2 (en) | Threshold determination in a RANSAC algorithm | |
Albl et al. | R6p-rolling shutter absolute camera pose | |
CN102750704B (zh) | 一种摄像机分步自标定方法 | |
EP3769265A1 (en) | Localisation, mapping and network training | |
JP7052788B2 (ja) | カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム | |
CN112184824A (zh) | 一种相机外参标定方法、装置 | |
Jaegle et al. | Fast, robust, continuous monocular egomotion computation | |
Eichhardt et al. | Affine correspondences between central cameras for rapid relative pose estimation | |
CN104615880B (zh) | 一种三维激光雷达点云匹配的快速icp方法 | |
EP3185212B1 (en) | Dynamic particle filter parameterization | |
CN108335328B (zh) | 摄像机姿态估计方法和摄像机姿态估计装置 | |
Kukelova et al. | Hand-eye calibration without hand orientation measurement using minimal solution | |
Sabzevari et al. | Monocular simultaneous multi-body motion segmentation and reconstruction from perspective views | |
US20200202563A1 (en) | 3d image reconstruction processing apparatus, 3d image reconstruction processing method and computer-readable storage medium storing 3d image reconstruction processing program | |
Guan et al. | Minimal solutions for the rotational alignment of IMU-camera systems using homography constraints | |
Harvard et al. | Spacecraft pose estimation from monocular images using neural network based keypoints and visibility maps | |
CN116363205A (zh) | 基于深度学习的空间目标位姿解算方法及计算机程序产品 | |
CN112712566B (zh) | 基于结构参数在线校正的双目立体视觉传感器测量方法 | |
JP5215615B2 (ja) | 3次元位置情報復元装置およびその方法 | |
JP2007034964A (ja) | カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定方法、装置、カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定プログラム | |
CN113048985B (zh) | 已知相对旋转角度条件下的像机相对运动估计方法 | |
Wang et al. | Facilitating PTZ camera auto-calibration to be noise resilient with two images | |
JP2000353244A (ja) | 基礎行列を求めるための方法、ユークリッド的な3次元情報の復元方法、および3次元情報復元装置。 | |
Wang et al. | Stratification approach for 3-d euclidean reconstruction of nonrigid objects from uncalibrated image sequences | |
Wang et al. | Structure and motion recovery based on spatial-and-temporal-weighted factorization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100526 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120705 |
|
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: 20130222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5215615 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |