JP2008224641A - カメラ姿勢推定システム - Google Patents
カメラ姿勢推定システム Download PDFInfo
- Publication number
- JP2008224641A JP2008224641A JP2007101077A JP2007101077A JP2008224641A JP 2008224641 A JP2008224641 A JP 2008224641A JP 2007101077 A JP2007101077 A JP 2007101077A JP 2007101077 A JP2007101077 A JP 2007101077A JP 2008224641 A JP2008224641 A JP 2008224641A
- Authority
- JP
- Japan
- Prior art keywords
- camera posture
- camera
- score
- feature point
- translation amount
- 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
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
【課題】 2枚の画像を撮影したカメラ間の相対姿勢を該画像から安定して推定すること。
【解決手段】 特徴点追跡手段101は画像1と画像2の間で特徴点の対応をとる。カメラ姿勢スコア分布記憶手段103は、離散化したカメラ姿勢の尤もらしさを表すスコアを記憶する。カメラ姿勢スコア分布生成手段102は、離散化したカメラの回転角の各々に対して、特徴点追跡手段101で得た特徴点対応集合から2組の特徴点対応を取り出して特徴点対応ペアを作り、該特徴点対応ペアの各々に対して、エピポーラ幾何に基づいてカメラの並進量を計算し、該回転角と該並進量の組からなるカメラ姿勢のスコアをカメラ姿勢スコア分布記憶手段103を用いて集計して、カメラ姿勢のスコア分布を求める。カメラ姿勢仮説選択手段104は、該スコア分布に基づいて、スコアが所定の閾値を超えるか極大値をとるカメラ姿勢を仮説として選択する。
【選択図】図1
【解決手段】 特徴点追跡手段101は画像1と画像2の間で特徴点の対応をとる。カメラ姿勢スコア分布記憶手段103は、離散化したカメラ姿勢の尤もらしさを表すスコアを記憶する。カメラ姿勢スコア分布生成手段102は、離散化したカメラの回転角の各々に対して、特徴点追跡手段101で得た特徴点対応集合から2組の特徴点対応を取り出して特徴点対応ペアを作り、該特徴点対応ペアの各々に対して、エピポーラ幾何に基づいてカメラの並進量を計算し、該回転角と該並進量の組からなるカメラ姿勢のスコアをカメラ姿勢スコア分布記憶手段103を用いて集計して、カメラ姿勢のスコア分布を求める。カメラ姿勢仮説選択手段104は、該スコア分布に基づいて、スコアが所定の閾値を超えるか極大値をとるカメラ姿勢を仮説として選択する。
【選択図】図1
Description
本発明は、2枚の画像を撮影したカメラ間の相対姿勢を該画像から推定するシステムに関する。
本発明で対象とするカメラ姿勢推定は、2枚の画像を入力して、両画像を撮影したカメラ間の相対姿勢を出力するものである。これら2枚の画像を画像1および画像2と表す。カメラ姿勢は、後述するように、両画像から抽出された特徴点をもとに推定する。画像1と画像2は、1台のカメラを移動して撮影してもよいし、別々に配置した2台のカメラで撮影してもよい。ここでいうカメラ姿勢とは、前者の場合はカメラの移動量であり、後者の場合は画像1を撮影したカメラから見た画像2を撮影したカメラの相対姿勢である。
カメラ姿勢は、3次元空間での回転角と並進量の組で表される。回転角は3次元の回転が表せれば、オイラー角やロール・ピッチ・ヨーなど、どのような表現方法でもよい。並進量は3次元の平行移動ベクトルである。ただし、画像のみから並進量を推定する場合は、一般に実寸法を知ることができないため、通常、その長さを1に正規化する。このため、並進量の実質的な自由度は2となる。なお、カメラの内部パラメータは既知とする。
カメラ姿勢は、3次元空間での回転角と並進量の組で表される。回転角は3次元の回転が表せれば、オイラー角やロール・ピッチ・ヨーなど、どのような表現方法でもよい。並進量は3次元の平行移動ベクトルである。ただし、画像のみから並進量を推定する場合は、一般に実寸法を知ることができないため、通常、その長さを1に正規化する。このため、並進量の実質的な自由度は2となる。なお、カメラの内部パラメータは既知とする。
このような条件においてカメラで撮影した2枚の画像からカメラ姿勢を推定する手法として、エピポーラ幾何に基づく方法がある。これは、まず、画像から顕著な特徴点を抽出して、画像間で特徴点の対応をとり、次に、特徴点の画像上の位置とカメラ姿勢に関する幾何学的関係であるエピポーラ幾何を用いてカメラ姿勢を推定するものである。
特徴点の抽出と対応づけは、たとえば、非特許文献1で提案されている方法を用いる。まず、画像1から画像エッジのコーナ点や交点に相当する点を特徴点として抽出する。次に、その特徴点を中心とする一定範囲の領域を画像1から取り出して、その領域と最もよく一致する領域を画像2から探索し、得られた画像2上の領域の中心点を前記特徴点と対応づける。これを画像1で抽出された各特徴点に対して繰り返す。
エピポーラ幾何に基づくカメラ推定手法の代表例として8点法がある。8点法では、画像1および画像2上の特徴点の位置とカメラ姿勢との間に成り立つ関係式を8個以上の特徴点について並べた連立方程式を解いてカメラ姿勢を求める(非特許文献2、262〜265頁)。
J.Shi and C.Tomasi: "Good Features to Track,"Proceedings of International Conference on Computer Vision and Pattern Recognition,pp.593−600,1994.
R.Hartley and A.Zisserman:"Multiple View Geometry in Computer Vision,"Cambridge University Press,2000.
背景技術で述べた方法は、特徴点の誤対応(以後、アウトライアと呼ぶ)があると、カメラ姿勢の推定に誤りが生じる。この問題に対処するために、ランダムサンプリングに基づくロバスト推定の手法がよく用いられる。
たとえば、ランダムサンプリングに基づくロバスト推定手法の代表例であるRANSACを用いた方法では、非特許文献1、275頁にあるように、特徴点対応の全体集合の中から所定の個数の特徴点対応を乱数を用いてランダムに取り出し、その特徴点対応群を用いて、前記手法によりカメラ姿勢の仮説を求める。そして、特徴点対応の全体集合のなかで、その仮説に矛盾しないものの個数をカウントする。このカウント数を仮説のスコアとする。これを所定の回数だけ繰り返し、そこで生成された仮説のうちスコアが最大のものを解として採用する。
たとえば、ランダムサンプリングに基づくロバスト推定手法の代表例であるRANSACを用いた方法では、非特許文献1、275頁にあるように、特徴点対応の全体集合の中から所定の個数の特徴点対応を乱数を用いてランダムに取り出し、その特徴点対応群を用いて、前記手法によりカメラ姿勢の仮説を求める。そして、特徴点対応の全体集合のなかで、その仮説に矛盾しないものの個数をカウントする。このカウント数を仮説のスコアとする。これを所定の回数だけ繰り返し、そこで生成された仮説のうちスコアが最大のものを解として採用する。
このようなランダムサンプリングに基づく手法の問題の1つは、乱数を用いるため、良い解が確率的にしか得られず、再現性が悪いことである。すなわち、全く同じ条件であっても、ある確率で失敗する。また、良い解が得られる場合でも、試行のたびに値が異なる。
もう1つの問題は、ランダムサンプリングに基づく手法は、解探索の網羅性が不十分であるという点である。ランダムサンプリング手法では、特徴点対応の集合の中で解を探索するため、カメラ姿勢空間をすべて調べたかどうかの判定が難しい。すなわち、良い解を見逃していないかどうかを直接に判定できない。一般に、アウトライア比率が大きかったり、特徴点の抽出位置の誤差が大きい場合、失敗する確率は増える。この場合、ランダムサンプリングの回数を増やすしか対処法がないが、特徴点対応の集合で探索するとカメラ姿勢空間の同じ領域を何度も調べる可能性があり、網羅性が悪いうえに効率も悪い。
本発明は、これらの問題に対処してカメラ姿勢推定の再現性と網羅性を高め、安定した推定結果を得ることを目的とする。
もう1つの問題は、ランダムサンプリングに基づく手法は、解探索の網羅性が不十分であるという点である。ランダムサンプリング手法では、特徴点対応の集合の中で解を探索するため、カメラ姿勢空間をすべて調べたかどうかの判定が難しい。すなわち、良い解を見逃していないかどうかを直接に判定できない。一般に、アウトライア比率が大きかったり、特徴点の抽出位置の誤差が大きい場合、失敗する確率は増える。この場合、ランダムサンプリングの回数を増やすしか対処法がないが、特徴点対応の集合で探索するとカメラ姿勢空間の同じ領域を何度も調べる可能性があり、網羅性が悪いうえに効率も悪い。
本発明は、これらの問題に対処してカメラ姿勢推定の再現性と網羅性を高め、安定した推定結果を得ることを目的とする。
上述の目的を達成するために、本発明は、2枚の画像を撮影したカメラ間の相対姿勢を推定するシステムにおいて、画像1と画像2の間で特徴点の対応をとる特徴点追跡手段と、離散化したカメラ姿勢に対して、該カメラ姿勢の尤もらしさを表すスコアを記憶するカメラ姿勢スコア分布記憶手段と、離散化したカメラの回転角の各々に対して、前記特徴点追跡手段で得た特徴点対応集合から2組の特徴点対応を取り出して特徴点対応ペアを作り、該特徴点対応ペアの各々に対して、エピポーラ幾何に基づいてカメラの並進量を計算し、該回転角と該並進量の組からなるカメラ姿勢のスコアを前記カメラ姿勢スコア分布記憶手段を用いて集計して、カメラ姿勢のスコア分布を求めるカメラ姿勢スコア分布生成手段とを備えることを特徴とするカメラ姿勢推定システムである。
また、該カメラ姿勢推定システムは、前記カメラ姿勢スコア分布記憶手段に記憶されたカメラ姿勢スコア分布に基づいて、スコアが所定の閾値を超えるか極大値をとるカメラ姿勢を仮説として選択するカメラ姿勢仮説選択手段を備えてもよい。
また、該カメラ姿勢推定システムは、前記カメラ姿勢仮説選択手段を備えるともに、前記カメラ姿勢仮説選択手段が生成した各カメラ姿勢仮説に対して、前記特徴点追跡手段で得た各特徴点対応について、エピポーラ幾何に基づいて該カメラ姿勢仮説と整合がとれているかどうかを判定する特徴点誤対応検出手段を備えてもよい。
本発明によれば、乱数を用いずにカメラ姿勢の有力仮説を求めるため、同じ条件ではつねに同じ結果が得られるという再現性を保証できる効果がある。
また、本発明はカメラ姿勢空間で解探索を行うため、網羅性が高く、カメラ姿勢の有力仮説を取りこぼすことが少ないという効果がある。
また、本発明はカメラ姿勢空間で解探索を行うため、網羅性が高く、カメラ姿勢の有力仮説を取りこぼすことが少ないという効果がある。
以下に、図面を用いて、本発明を実施するための形態を説明する。
<概要>
本発明では、上述の課題に対処するため、カメラ姿勢空間を探索して、有力なカメラ姿勢仮説を網羅的に求める。上述のように、並進量の自由度は2であるため、カメラ姿勢空間は実質的には5次元であるが、これを全探索するには膨大な計算を要し、効率が悪い。この効率化のために、本発明のカメラ推定システムでは次のように対処する。
まず、エピポーラ幾何を利用して探索空間を実質的に3次元に減らす。エピポーラ幾何のもとでは、後述するように、カメラの回転角を与えると並進量は2組の特徴点対応から計算できる。これにより、並進量は回転角に依存して求まるので、探索は3次元の回転角空間だけで行えばよい。なお、以後、2組の特徴点対応を特徴点対応ペアと呼ぶ。
<概要>
本発明では、上述の課題に対処するため、カメラ姿勢空間を探索して、有力なカメラ姿勢仮説を網羅的に求める。上述のように、並進量の自由度は2であるため、カメラ姿勢空間は実質的には5次元であるが、これを全探索するには膨大な計算を要し、効率が悪い。この効率化のために、本発明のカメラ推定システムでは次のように対処する。
まず、エピポーラ幾何を利用して探索空間を実質的に3次元に減らす。エピポーラ幾何のもとでは、後述するように、カメラの回転角を与えると並進量は2組の特徴点対応から計算できる。これにより、並進量は回転角に依存して求まるので、探索は3次元の回転角空間だけで行えばよい。なお、以後、2組の特徴点対応を特徴点対応ペアと呼ぶ。
次に、探索を回転角空間に限定することで、探索範囲を狭めることができる。一般に、画像間で特徴点を追跡するには、画像撮影の際にカメラ回転角を小さくしなければならない。これは、カメラ回転角を大きくすると、画像1で抽出した特徴点の多くは画像2の外にはみ出てしまうからである。また、画像2に特徴点が写ったとしても、カメラ回転角が大きいと画像1に対する画像2の形状歪みや位置ずれが大きくなることが多く、特徴点の対応づけが困難になるからである。このため、回転角空間での探索は比較的小さい範囲に限定できる。多くの場合、3個の各回転角について、たとえば、±10°程度の範囲ですむ。
探索を網羅的に行うために、カメラ姿勢空間にカメラ姿勢の尤もらしさを示すスコア分布を作る。まず、回転角と並進量を離散化してスコア表を作る。次に、ある回転角について、特徴点対応の全体集合から取り出した各特徴点対応ペアに対してエピポーラ幾何により並進量を計算する。そして、その並進量のスコアをエピポーラ幾何に対する誤差で評価して、該スコア表に集計する。これにより、該回転角に対する並進量のスコア分布ができる。これを各回転角で繰り返して、カメラ姿勢空間のスコア分布を作る。このスコア分布の中で、スコアが高い回転角と並進量の組を有力なカメラ姿勢仮説として選択する。
<システム構成>
図1にしたがい、本発明におけるカメラ姿勢推定処理の一実施形態を説明する。
特徴点追跡手段101は、画像1および画像2の間で特徴点の対応づけを行う。カメラ姿勢スコア分布生成手段102は、カメラ回転角を所定の範囲で離散化し、その各離散値に対して、特徴点追跡手段101で得られた特徴点対応集合を用いて並進量を求め、該並進量のスコアを集計してカメラ姿勢のスコア分布を生成する。カメラ姿勢スコア分布記憶手段103は、カメラ姿勢スコア分布生成手段102が生成したカメラ姿勢スコア分布を記憶する。カメラ姿勢仮説選択手段104は、該カメラ姿勢スコア分布に基づいて、スコアの高いカメラ姿勢を仮説として選択して出力する。特徴点誤対応検出手段105は、特徴点対応がカメラ姿勢仮説に整合するかどうかを調べ、整合しない特徴点対応をアウトライアと判定する。
図1にしたがい、本発明におけるカメラ姿勢推定処理の一実施形態を説明する。
特徴点追跡手段101は、画像1および画像2の間で特徴点の対応づけを行う。カメラ姿勢スコア分布生成手段102は、カメラ回転角を所定の範囲で離散化し、その各離散値に対して、特徴点追跡手段101で得られた特徴点対応集合を用いて並進量を求め、該並進量のスコアを集計してカメラ姿勢のスコア分布を生成する。カメラ姿勢スコア分布記憶手段103は、カメラ姿勢スコア分布生成手段102が生成したカメラ姿勢スコア分布を記憶する。カメラ姿勢仮説選択手段104は、該カメラ姿勢スコア分布に基づいて、スコアの高いカメラ姿勢を仮説として選択して出力する。特徴点誤対応検出手段105は、特徴点対応がカメラ姿勢仮説に整合するかどうかを調べ、整合しない特徴点対応をアウトライアと判定する。
<特徴点追跡手段>
次に、特徴点追跡手段101の処理を詳しく述べる。
特徴点追跡手段101は、画像1の特徴点q1iに対応する特徴点q2jを画像2から見つける。デジタル画像では、画素の位置は一般に整数値をとるが、q1iおよびq2jの位置は実数値でもよい。一般に、実数値の方がカメラの推定姿勢の精度はよくなる。
画像間で特徴点の対応づけを行うには、背景技術で述べた方法と同様にして、q1iの近傍領域と一致度の高い領域を画像2から探索し、その中心をq2jとすればよい。領域の一致度は、従来からよく用いられている画素値の差の二乗和や画素値の正規化相関などの関数を用いて評価する。本発明では、評価関数の具体形は問わないが、一致度が大きいほど評価値が高くなる関数を用いる。たとえば、正規化相関はこの性質を満たす。
次に、特徴点追跡手段101の処理を詳しく述べる。
特徴点追跡手段101は、画像1の特徴点q1iに対応する特徴点q2jを画像2から見つける。デジタル画像では、画素の位置は一般に整数値をとるが、q1iおよびq2jの位置は実数値でもよい。一般に、実数値の方がカメラの推定姿勢の精度はよくなる。
画像間で特徴点の対応づけを行うには、背景技術で述べた方法と同様にして、q1iの近傍領域と一致度の高い領域を画像2から探索し、その中心をq2jとすればよい。領域の一致度は、従来からよく用いられている画素値の差の二乗和や画素値の正規化相関などの関数を用いて評価する。本発明では、評価関数の具体形は問わないが、一致度が大きいほど評価値が高くなる関数を用いる。たとえば、正規化相関はこの性質を満たす。
従来の特徴対応づけ方法の多くは1対1の特徴点対応を与えるが、本発明の特徴点追跡手段101では1対多の対応も許す。すなわち、q1iに対して、複数のq2jが対応してもよい。このためには、q1iの近傍領域と一致度の高い領域を画像2から探索する際に、最も一致度の高い領域だけでなく、ある条件Cを満たす領域を採用すればよい。
条件Cとしては、たとえば、「一致度が最大値をとる領域」を用いると、特徴点対応は1対1になる。あるいは、「一致度が極大値をとる領域」を用いると、特徴点対応は1対多になる。あるいは、また、「一致度が所定の閾値より大きい領域」を用いても、特徴点対応は1対多になる。ただし、この場合は、特徴点対応の個数が増えすぎる可能性がある。その場合は、「一致度が極大値をとり、かつ、所定の閾値より大きい領域」を用いれば、特徴点対応が増えすぎるのを防ぐことができる。
条件Cとしては、たとえば、「一致度が最大値をとる領域」を用いると、特徴点対応は1対1になる。あるいは、「一致度が極大値をとる領域」を用いると、特徴点対応は1対多になる。あるいは、また、「一致度が所定の閾値より大きい領域」を用いても、特徴点対応は1対多になる。ただし、この場合は、特徴点対応の個数が増えすぎる可能性がある。その場合は、「一致度が極大値をとり、かつ、所定の閾値より大きい領域」を用いれば、特徴点対応が増えすぎるのを防ぐことができる。
以上をふまえて、特徴点の対応関係を表す関数g(q1i,q2j)を数1のように定義する。υは、前記評価関数によるq1iとq2jの一致度である。このg(q1i,q2j)は、カメラ姿勢スコア分布生成手段102で用いられる。
<カメラ姿勢スコア分布生成手段>
次に、カメラ姿勢スコア分布生成手段102を詳しく説明する。
上述のように、カメラの回転角を離散化し、各離散値に対して並進量を求め、スコア分布を作る。画像1から抽出された特徴点集合をQ1とし、カメラ姿勢を(ψ,τ)とする。ψは3次元の回転角、τは並進量である。カメラ姿勢(ψ,τ)におけるスコアG(ψ,τ)を次のように定義する。ただし、Q2(q1i)はq1iに対応する画像2の特徴点の集合であり、数1でq1iに対して0でない値をとるq2jの集合として求められる。
F(ψ,τ,q1i,q2j,q1k,q2l)は、特徴点対応ペア(q1i,q2j),(q1k,q2l)に対するスコア関数であり、次のように定義される。
D(ψ,τ,q1i,q2j)は、カメラ姿勢(ψ,τ)のもとで、q1iとq2jがエピポーラ幾何を満たせば大きな値をとり、満たさなければ小さな値をとる関数である。その具体例は後で述べる。
次に、カメラ姿勢スコア分布生成手段102を詳しく説明する。
上述のように、カメラの回転角を離散化し、各離散値に対して並進量を求め、スコア分布を作る。画像1から抽出された特徴点集合をQ1とし、カメラ姿勢を(ψ,τ)とする。ψは3次元の回転角、τは並進量である。カメラ姿勢(ψ,τ)におけるスコアG(ψ,τ)を次のように定義する。ただし、Q2(q1i)はq1iに対応する画像2の特徴点の集合であり、数1でq1iに対して0でない値をとるq2jの集合として求められる。
数3によれば、Fは、特徴点対応の一致度が高く、かつ、特徴点対応ペアがエピポーラ幾何を満たす場合に大きな値をとる。また、数2によれば、GはFの集計になっているので、特徴点対応の一致度が高く、かつ、エピポーラ幾何を満たす特徴点対応ペアが多いカメラ姿勢(ψ,τ)ほどGが大きくなる。そこで、各(ψ,τ)についてGを計算してカメラ姿勢空間にスコア分布を生成し、その中でスコアの高いカメラ姿勢を解候補とみなせば、有力なカメラ姿勢仮説を網羅的に得ることができる。
次に、スコア分布Gの具体的な計算方法を説明する。まず、カメラ姿勢を離散化する。画像1と画像2の間のカメラ回転角ψが存在しうる範囲を決め、その範囲で離散化する。離散化した角度をψmと表す。カメラ並進量τは長さ1に正規化されるので、その範囲で離散化する。離散化した並進量をτnと表す。
このようにして得た離散化されたカメラ姿勢(ψm,τn)のそれぞれに対して、次の手順でG(ψm,τn)を求める。まず、回転ψmを与える。そして、ψmのもとで、特徴点対応ペア(q1i,q2j)と(q1k,q2l)に対して、並進量τを求める。これは、次のように、エピポーラ幾何に基づいて解くことができる。
図2は、エピポーラ幾何を示す説明図である。図2において、q1iとq2jは対応づけがとれているとする。C1は画像1を撮影したカメラの中心、C2は画像2を撮影したカメラの中心である。q1iおよびq2jは、それぞれ、3次元点Pが画像1および画像2に写った点なので、カメラ中心C1とq1i結ぶ線分、カメラ中心C2とq2jを結ぶ線分、および、C1とC2を結ぶ線分は1つの平面上にある。この平面をエピ極面と呼ぶ。C1とC2を結ぶ線分は、カメラの並進量τに相当する。以上のことから、次のエピポーラ幾何の関係式が成り立つ。
ただし、Rmは回転角ψmに対する回転行列である。また、Tはベクトルの転値を表す。q1i×Rmq2jはエピ極面の法線ベクトルである。数4は、τがエピ極面の法線ベクトルに垂直であることを意味している。
このようにして得た離散化されたカメラ姿勢(ψm,τn)のそれぞれに対して、次の手順でG(ψm,τn)を求める。まず、回転ψmを与える。そして、ψmのもとで、特徴点対応ペア(q1i,q2j)と(q1k,q2l)に対して、並進量τを求める。これは、次のように、エピポーラ幾何に基づいて解くことができる。
図2は、エピポーラ幾何を示す説明図である。図2において、q1iとq2jは対応づけがとれているとする。C1は画像1を撮影したカメラの中心、C2は画像2を撮影したカメラの中心である。q1iおよびq2jは、それぞれ、3次元点Pが画像1および画像2に写った点なので、カメラ中心C1とq1i結ぶ線分、カメラ中心C2とq2jを結ぶ線分、および、C1とC2を結ぶ線分は1つの平面上にある。この平面をエピ極面と呼ぶ。C1とC2を結ぶ線分は、カメラの並進量τに相当する。以上のことから、次のエピポーラ幾何の関係式が成り立つ。
回転角は与えられているので、数4はτに関する線形方程式になる。特徴点対応が2組あれば、それらによって決まる2枚のエピ極面の法線ベクトルそれぞれに垂直なベクトルとして、τを求めることができる。特徴点対応(q1k,q2l)および(q1k,q2l)によるエピ極面の法線ベクトルをそれぞれnij、nklとすると、τは次のように計算される。ただし、上述のように、画像だけから実寸法を知ることはできないので、τの大きさは1に正規化する。
このようにして得られたτを離散化してτnとする。そして、D(ψm,τ,q1i,q2j)を、たとえば、次のように定義する。
これは、エピポーラ幾何を満たすτnだけが有効なスコアをもち、それ以外はスコアが0であることを意味する。なお、これ以外にも、Dとして、ガウス関数のように、τnで最大値をとり、τnから離れるにつれて急激に減少する関数を採用してもよい。
以上により、回転角ψmと特徴点対応ペア(q1k,q2l)、(q1k,q2l)に対して数3のFがτの関数として計算できる。数2にしたがって、各特徴点対応ペアについてFを集計することで、ψmに対するGを計算できる。さらに、すべてのψmに対して同様の計算を行えば、Gを求めることができる。この計算を行うために、次に述べるように、カメラ姿勢スコア分布記憶手段103に記憶した表を用いる。
<カメラ姿勢スコア分布記憶手段>
次に、カメラ姿勢スコア分布記憶手段103の構成を説明する。カメラ姿勢スコア分布記憶手段103は、並進量スコア表と回転角スコア表を記憶する。
まず、並進量スコア表について説明する。カメラの並進量は3次元ベクトルであるが、長さを1に正規化するため、実際の自由度は2となり、2個の変数α,βで表される。そこで、並進量スコア表を2次元の表で構成する。図3に並進量スコア表の構成の一例を示す。並進量スコア表の各セルは、離散化したα,βに対応する。
α,βとしては、たとえば、極座標の2つ角度を用いればよい。並進量τ=(tx,ty,tz)からα,βへの変換は次のように計算される。
一般には、αの範囲は−180°から180°、βの範囲は−90°から90°である。所定の間隔でα,βを離散化し、並進量スコア表の各セルにα,βの離散値を対応させる。
次に、カメラ姿勢スコア分布記憶手段103の構成を説明する。カメラ姿勢スコア分布記憶手段103は、並進量スコア表と回転角スコア表を記憶する。
まず、並進量スコア表について説明する。カメラの並進量は3次元ベクトルであるが、長さを1に正規化するため、実際の自由度は2となり、2個の変数α,βで表される。そこで、並進量スコア表を2次元の表で構成する。図3に並進量スコア表の構成の一例を示す。並進量スコア表の各セルは、離散化したα,βに対応する。
α,βとしては、たとえば、極座標の2つ角度を用いればよい。並進量τ=(tx,ty,tz)からα,βへの変換は次のように計算される。
数2のGは、カメラ姿勢スコア分布生成手段102により、並進量スコア表を用いて次のように計算する。まず、回転角ψmにおいて、各特徴点対応ペアについて数5を用いてτを求める。その離散値τnについて数3および数6にしたがってFの値を計算し、その値を並進量スコア表のτnに対応するセルに加算する。本来は、この処理をτの全離散値に対して行うことでFが決まる。ところが、数6によりDはτn以外では0となるので、加算してもFは変わらない。このため、実際の処理はτn1個についてだけ行えばよい。全特徴点対応ペアについてこの処理を行って、ψmを与えたときのGを得る。そして、各ψmに対して上述の処理を繰り返してGを得る。
ここで重要なのは、τの全離散値ではなく、τnについてだけFを計算する点である。τの全離散値でFを逐一計算すると、回転角と並進量を合わせた5次元空間の全域をたどることになる。一方、τnについてだけFを計算すると、3次元の回転角空間だけをたどることになり、計算量は大幅に減る。なお、上述のように、Dとして数6の関数ではなく、τnを中心に急激に減衰する関数を用いる場合は、τnから遠い点でDを0と近似して、τn近傍の数個のτについてだけFを計算すれば、やはり計算量は少なくて済む。
ここで重要なのは、τの全離散値ではなく、τnについてだけFを計算する点である。τの全離散値でFを逐一計算すると、回転角と並進量を合わせた5次元空間の全域をたどることになる。一方、τnについてだけFを計算すると、3次元の回転角空間だけをたどることになり、計算量は大幅に減る。なお、上述のように、Dとして数6の関数ではなく、τnを中心に急激に減衰する関数を用いる場合は、τnから遠い点でDを0と近似して、τn近傍の数個のτについてだけFを計算すれば、やはり計算量は少なくて済む。
スコア分布Gを完全に得るには、各ψmに対して別々の並進量スコア表を用意する必要がある。しかし、このようにすると、大量の記憶領域を消費する。これに対処するために、次のようにGを簡略化してもよい。すなわち、並進量スコア表は1個だけ用意し、1つのψmについてGの計算を行ったあと、最大のスコアを与えるτとそのスコアだけを後述の回転角スコア表に記憶する。そして、並進量スコア表のセル値をすべて0にリセットし、他のψmに対して、同じ処理を繰り返す。
次に、回転角スコア表について説明する。図4に回転角スコア表の構成の一例を示す。回転角ψは3次元であるので、回転角スコア表は3次元の表として作る。計算機でのデータ構造としては、たとえば、3次元配列を用いればよい。回転角スコア表の3つの軸は、それぞれ、回転角の3つの角度に対応する。たとえば、回転角としてロール・ピッチ・ヨーを採用する場合は、各軸はロール角、ピッチ角、ヨー角を表す。ψは離散化されているので、回転角スコア表の各セルは各ψmに対応する。
各ψmに並進量スコア表を用意する場合は、回転角スコア表の各セルに並進量スコア表へのポインタを格納する。一方、上述のように並進量スコア表を1個だけ用意する場合は、回転角スコア表の各セルには最大のスコアを与えるτとそのスコアを格納する。
各ψmに並進量スコア表を用意する場合は、回転角スコア表の各セルに並進量スコア表へのポインタを格納する。一方、上述のように並進量スコア表を1個だけ用意する場合は、回転角スコア表の各セルには最大のスコアを与えるτとそのスコアを格納する。
<処理の流れ>
次に、図5にしたがって、本発明のカメラ姿勢推定の処理手順を説明する。このフローチャートは、特徴点追跡手段101で特徴点対応集合が得られたとして、カメラ姿勢スコア分布生成手段102の処理手順の一例を示したものである。
まず、ステップS11において、回転角の離散値を1つ決める。これは、回転角の探索範囲の中から離散値を1つずつ順に取り出せばよい。上述のように、並進量スコア表を1個しか用いない場合は、ここで並進量スコア表の各セルの値を0に初期化する。次に、ステップS12において、特徴点対応集合の中から、異なる2組の特徴点対応を取り出し、特徴点対応ペアを作る。次に、ステップS13において、その特徴点対応ペアに対して、数5を適用してカメラの並進量を計算する。次に、ステップS14において、ステップS13で求めた並進量のスコアを数6より計算して、並進量スコア表に加算する。次に、ステップS15において、すべての特徴点対応ペアを処理したかを調べる。すべて処理されていなければ、ステップS12に戻る。特徴点対応ペアがすべて処理されていれば、ステップS16に移る。ステップS16では、並進量スコア表の中から最大スコアを与える並進量を見つけ、そのスコアと並進量を回転角スコア表に記憶する。次に、ステップS17において、探索範囲内のすべての離散回転角について処理を行ったか調べる。すべての回転角について処理されていれば終了する。そうでなければ、ステップS11に戻る。
なお、各ψmに対して並進量スコア表を用意する場合は、ステップS16は行わなくてもよい。
次に、図5にしたがって、本発明のカメラ姿勢推定の処理手順を説明する。このフローチャートは、特徴点追跡手段101で特徴点対応集合が得られたとして、カメラ姿勢スコア分布生成手段102の処理手順の一例を示したものである。
まず、ステップS11において、回転角の離散値を1つ決める。これは、回転角の探索範囲の中から離散値を1つずつ順に取り出せばよい。上述のように、並進量スコア表を1個しか用いない場合は、ここで並進量スコア表の各セルの値を0に初期化する。次に、ステップS12において、特徴点対応集合の中から、異なる2組の特徴点対応を取り出し、特徴点対応ペアを作る。次に、ステップS13において、その特徴点対応ペアに対して、数5を適用してカメラの並進量を計算する。次に、ステップS14において、ステップS13で求めた並進量のスコアを数6より計算して、並進量スコア表に加算する。次に、ステップS15において、すべての特徴点対応ペアを処理したかを調べる。すべて処理されていなければ、ステップS12に戻る。特徴点対応ペアがすべて処理されていれば、ステップS16に移る。ステップS16では、並進量スコア表の中から最大スコアを与える並進量を見つけ、そのスコアと並進量を回転角スコア表に記憶する。次に、ステップS17において、探索範囲内のすべての離散回転角について処理を行ったか調べる。すべての回転角について処理されていれば終了する。そうでなければ、ステップS11に戻る。
なお、各ψmに対して並進量スコア表を用意する場合は、ステップS16は行わなくてもよい。
<カメラ姿勢仮説の選択>
次に、カメラ姿勢仮説選択手段104において、スコア分布G(ψ,τ)から有力なカメラ姿勢仮説を選択する方法を説明する。
まず、各ψm対して並進量スコア表を用意する場合は、全並進量スコア表から所定の条件を満たすカメラ姿勢を選べばよい。ここで、所定の条件とは、たとえば、スコアが閾値を超えた、スコアが極大である、などである。
次に、並進量スコア表を1個だけ用いる場合は、回転角スコア表の各セルに記憶した並進量とスコアを取り出して、上述の所定条件を満たすものを選べばよい。
次に、カメラ姿勢仮説選択手段104において、スコア分布G(ψ,τ)から有力なカメラ姿勢仮説を選択する方法を説明する。
まず、各ψm対して並進量スコア表を用意する場合は、全並進量スコア表から所定の条件を満たすカメラ姿勢を選べばよい。ここで、所定の条件とは、たとえば、スコアが閾値を超えた、スコアが極大である、などである。
次に、並進量スコア表を1個だけ用いる場合は、回転角スコア表の各セルに記憶した並進量とスコアを取り出して、上述の所定条件を満たすものを選べばよい。
なお、本発明のカメラ姿勢推定システムは、有力な仮説を求めるだけで、解を唯一に決めるわけではない。他の情報を用いて、仮説をさらに選別することは可能であるが、本発明の範囲ではない。
また、本発明のカメラ姿勢推定システムで得られるカメラ姿勢は離散化されているため、その精度は必ずしも十分ではない。適当な初期値から出発して精密な解を求める手法は従来から開発されており、それを併用すれば精密な解を得ることができる。本発明のカメラ姿勢推定システムは、そのための初期値を求めるものと解釈することもできる。
また、本発明のカメラ姿勢推定システムで得られるカメラ姿勢は離散化されているため、その精度は必ずしも十分ではない。適当な初期値から出発して精密な解を求める手法は従来から開発されており、それを併用すれば精密な解を得ることができる。本発明のカメラ姿勢推定システムは、そのための初期値を求めるものと解釈することもできる。
<アウトライアの判定>
次に、特徴点誤対応検出手段105によるアウトライアの判定方法について説明する。
まず、スコア分布はアウトライアに大きな影響をうけないことを説明する。正しい回転角と正しい特徴点対応を与えた場合、数5で求めた並進量は、誤差により多少ずれるが、真値に近くなる。そのため、数2において多数の正しい特徴点対応でFを集計すると、並進量スコア表は真値の付近で極大値をもつ。一方、アウトライアは多くの場合ランダムに発生するため、アウトライアから数5で計算した並進量もほぼランダムに分布する。したがって、その並進量は、並進量スコア表のランダムなセルに加算される。このため、アウトライア比率が極端に高くない限り、アウトライアから得られた並進量が特定のセルに集中して加算されることはなく、スコア分布に大きな影響は与えない。
次に、特徴点誤対応検出手段105によるアウトライアの判定方法について説明する。
まず、スコア分布はアウトライアに大きな影響をうけないことを説明する。正しい回転角と正しい特徴点対応を与えた場合、数5で求めた並進量は、誤差により多少ずれるが、真値に近くなる。そのため、数2において多数の正しい特徴点対応でFを集計すると、並進量スコア表は真値の付近で極大値をもつ。一方、アウトライアは多くの場合ランダムに発生するため、アウトライアから数5で計算した並進量もほぼランダムに分布する。したがって、その並進量は、並進量スコア表のランダムなセルに加算される。このため、アウトライア比率が極端に高くない限り、アウトライアから得られた並進量が特定のセルに集中して加算されることはなく、スコア分布に大きな影響は与えない。
次に、カメラ姿勢(ψ,τ)が得られた場合に、それに対するアウトライアを判定する方法を説明する。カメラ姿勢(ψ,τ)に対するアウトライアは、ほとんどの場合、エピポーラ幾何を満たさない。そのため、その(ψ,τ)と特徴点対応に対して数4の左辺を計算しても、その値は0にならない。そこで、数4の左辺の値が所定の閾値より大きい特徴点対応をアウトライアと判定すればよい。
本発明は、例えば、単眼カメラによる自律移動体の3次元姿勢推定に用いることができる。また、カメラ姿勢の推定により物体形状の3次元復元が可能になるので、移動ロボットによる3次元地図構築や3次元物体モデル生成などにも適用することができる。
Claims (3)
- 2枚の画像を撮影したカメラ間の相対姿勢を推定するシステムにおいて、画像1と画像2の間で特徴点の対応をとる特徴点追跡手段と、離散化したカメラ姿勢に対して、該カメラ姿勢の尤もらしさを表すスコアを記憶するカメラ姿勢スコア分布記憶手段と、離散化したカメラの回転角の各々に対して、前記特徴点追跡手段で得た特徴点対応集合から2組の特徴点対応を取り出して特徴点対応ペアを作り、該特徴点対応ペアの各々に対して、エピポーラ幾何に基づいてカメラの並進量を計算し、該回転角と該並進量の組からなるカメラ姿勢のスコアを前記カメラ姿勢スコア分布記憶手段を用いて集計して、カメラ姿勢のスコア分布を求めるカメラ姿勢スコア分布生成手段とを備えることを特徴とするカメラ姿勢推定システム。
- 前記カメラ姿勢スコア分布記憶手段に記憶されたカメラ姿勢スコア分布に基づいて、スコアが所定の閾値を超えるか極大値をとるカメラ姿勢を仮説として選択するカメラ姿勢仮説選択手段を備えることを特徴とする請求項1記載のカメラ姿勢推定システム。
- 前記カメラ姿勢仮説選択手段が生成した各カメラ姿勢仮説に対して、前記特徴点追跡手段で得た各特徴点対応について、エピポーラ幾何に基づいて該カメラ姿勢仮説と整合がとれているかどうかを判定する特徴点誤対応検出手段を備えることを特徴とする請求項2記載のカメラ姿勢推定システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007101077A JP2008224641A (ja) | 2007-03-12 | 2007-03-12 | カメラ姿勢推定システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007101077A JP2008224641A (ja) | 2007-03-12 | 2007-03-12 | カメラ姿勢推定システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008224641A true JP2008224641A (ja) | 2008-09-25 |
Family
ID=39843422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007101077A Pending JP2008224641A (ja) | 2007-03-12 | 2007-03-12 | カメラ姿勢推定システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008224641A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134237A2 (ko) * | 2011-04-01 | 2012-10-04 | 에스케이씨앤씨 주식회사 | 촬영화상의 카메라 자세 추정 시스템 및 방법 |
JP2017053724A (ja) * | 2015-09-09 | 2017-03-16 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
CN108038139A (zh) * | 2017-11-10 | 2018-05-15 | 未来机器人(深圳)有限公司 | 地图构建方法、装置和机器人定位方法、装置、计算机设备和存储介质 |
CN108447092A (zh) * | 2018-02-06 | 2018-08-24 | 中国科学院自动化研究所 | 视觉定位标识物的方法及装置 |
CN109829933A (zh) * | 2017-11-23 | 2019-05-31 | 财团法人资讯工业策进会 | 影像目标追踪方法及装置 |
CN111754449A (zh) * | 2019-03-27 | 2020-10-09 | 北京外号信息技术有限公司 | 基于光通信装置的场景重构方法和相应的电子设备 |
-
2007
- 2007-03-12 JP JP2007101077A patent/JP2008224641A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134237A2 (ko) * | 2011-04-01 | 2012-10-04 | 에스케이씨앤씨 주식회사 | 촬영화상의 카메라 자세 추정 시스템 및 방법 |
WO2012134237A3 (ko) * | 2011-04-01 | 2013-01-03 | 에스케이씨앤씨 주식회사 | 촬영화상의 카메라 자세 추정 시스템 및 방법 |
JP2017053724A (ja) * | 2015-09-09 | 2017-03-16 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
CN108038139A (zh) * | 2017-11-10 | 2018-05-15 | 未来机器人(深圳)有限公司 | 地图构建方法、装置和机器人定位方法、装置、计算机设备和存储介质 |
CN109829933A (zh) * | 2017-11-23 | 2019-05-31 | 财团法人资讯工业策进会 | 影像目标追踪方法及装置 |
CN108447092A (zh) * | 2018-02-06 | 2018-08-24 | 中国科学院自动化研究所 | 视觉定位标识物的方法及装置 |
CN111754449A (zh) * | 2019-03-27 | 2020-10-09 | 北京外号信息技术有限公司 | 基于光通信装置的场景重构方法和相应的电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392964B (zh) | 基于室内特征点和结构线结合的室内slam方法 | |
JP4079690B2 (ja) | 物体追跡装置及び方法 | |
JP4985516B2 (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP2018523881A (ja) | データを位置合わせする方法及びシステム | |
CN111145232A (zh) | 一种基于特征信息变化度的三维点云自动配准方法 | |
JP6912215B2 (ja) | 対象物の姿勢等を検出する検出方法、検出プログラム | |
Zhi et al. | Simultaneous hand-eye calibration and reconstruction | |
JP2010033447A (ja) | 画像処理装置および画像処理方法 | |
JP2008224641A (ja) | カメラ姿勢推定システム | |
CN110570474B (zh) | 一种深度相机的位姿估计方法及系统 | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
CN114088081A (zh) | 一种基于多段联合优化的用于精确定位的地图构建方法 | |
JP6037134B2 (ja) | 特徴点対応付けシステム、特徴点対応付け方法、およびプログラム | |
Jiang et al. | Learned local features for structure from motion of uav images: A comparative evaluation | |
Ma et al. | Visual homing via guided locality preserving matching | |
WO2008032375A1 (fr) | Dispositif et procédé de correction d'image, et programme informatique | |
KR100792172B1 (ko) | 강건한 대응점을 이용한 기본행렬 추정 장치 및 그 방법 | |
CN104156952B (zh) | 一种抵抗形变的图像匹配方法 | |
CN114399547B (zh) | 一种基于多帧的单目slam鲁棒初始化方法 | |
KR20200142392A (ko) | 동위의 3차원 마커 사이의 회전 및 이동 위치 추정 방법 | |
CN116071491A (zh) | 一种多视角三维点云重建方法及装置 | |
JP6946912B2 (ja) | 推定プログラム、推定装置、及び推定方法 | |
Li et al. | New environmental line feature-based vision navigation: Design and analysis | |
Wietrzykowski et al. | A probabilistic framework for global localization with segmented planes | |
Wang et al. | 3D landmarks extraction from a range imager data for SLAM |