(58)【調査した分野】(Int.Cl.,DB名)
前記加工部では、前記光源環境の違いに起因するものとしての相違を、前記抽出画像と前記参照画像との領域全体に渡って一様な環境光の相違を含むものとして推定することを特徴とする請求項1に記載の情報処理装置。
前記加工部では、前記環境光の相違を、前記抽出画像と前記参照画像との両者において画素値が平坦であると判定される領域において推定することを特徴とする請求項2に記載の情報処理装置。
前記加工部では、前記光源環境の違いに起因するものとしての相違を、前記抽出画像には存在するが前記参照画像には存在しない近接光の影響分布を含むものとして推定することを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。
前記加工部では、前記光源環境の違いに起因するものとしての相違を、前記抽出画像には存在するが前記参照画像には存在しない近接光の影響分布を含むものとして推定し、前記環境光の相違を推定して前記抽出画像を当該環境光の相違を除去したものとして補正した後に、当該補正された抽出画像から前記参照画像を減算して得られる画素差分値マップにおける各位置の周辺領域から内挿することにより、当該補正された抽出画像の当該各位置における前記近接光の影響分布を推定することを特徴とする請求項2または3に記載の情報処理装置。
前記第二特徴情報と所与の参照用特徴情報とを照合することにより、前記撮像画像に撮像されている対象の、前記撮像画像を得たカメラに対する第二位置姿勢を推定する第二姿勢推定部をさらに備えることを特徴とする請求項1ないし8のいずれかに記載の情報処理装置。
【発明を実施するための形態】
【0015】
図1は、一実施形態に係る情報処理装置10の機能ブロック図である。図示するように、情報処理装置10は撮像部1、第一特徴算出部2、第一姿勢推定部3、外乱推定部41と外乱補正部42とを含む加工部4、第二特徴算出部5、第二姿勢推定部6及び記憶部7を備える。図示するように、情報処理装置10の各部の概略的な機能は次の通りである。
【0016】
撮像部1は、認識されるべき対象が存在するフィールド(屋内外空間など)の撮像を行うことで撮像画像を得て、当該撮像画像を第一特徴算出部2及び加工部4へと出力する。第一特徴算出部2は、撮像部1で得た撮像画像から第一特徴情報を算出して当該第一特徴情報を第一姿勢推定部3及び第二特徴算出部5へと出力する。第一姿勢推定部3は、第一特徴算出部2で得た第一特徴情報を記憶部7に記憶されている参照用特徴情報(リファレンス情報として認識対象候補ごとに記憶されている)に対して照合することで、撮像部1で得た撮像画像に撮像されている対象の認識結果を得ると共に、当該照合した特徴情報同士における座標の対応関係から認識された対象の第一位置姿勢情報を推定し、当該推定した第一位置姿勢情報を加工部4へと出力する。
【0017】
加工部4では、第一姿勢推定部3で得た第一位置姿勢情報と、記憶部7を参照して得られる参照画像(第一特徴算出部2で撮像画像より認識された対象に対応する参照画像)と、撮像部1で得た撮像画像と、を用いることにより、光による外乱の影響を除外ないし低減するように当該撮像画像を加工したものとしての加工画像を得て、当該加工画像を第二特徴算出部5へと出力する。ここで、加工画像を得る詳細は後述するが、外乱推定部41において撮像画像における光による外乱を推定し、外乱補正部42において当該推定した外乱を除外ないし低減するような補正を撮像画像に対して行うことにより、加工画像を得ることができる。
【0018】
第二特徴算出部5は、加工部4で得た加工画像より第二特徴情報を算出して第二姿勢推定部6へと出力する。ここで、第二特徴算出部5では第一特徴算出部2から得られる第一特徴情報を参照することにより、既に第一特徴情報において光の外乱の影響を受けずに適切に算出されている特徴情報に関しては再度の算出を省略して、第二特徴情報を算出するようにしてもよい。第二姿勢推定部6は、第二特徴算出部5で得た第二特徴情報と、記憶部7に記憶されている参照用特徴情報のうち第一特徴算出部3で得た認識結果に対応するものと、の座標の対応関係から第二位置姿勢情報を推定して出力する。
【0019】
ここで、第二特徴算出部5において得られる第二特徴情報は、第一特徴算出部2において得られた第一特徴情報における光の外乱の影響が除外ないし低減されたものとして得られることとなる。同様に、第二姿勢推定部6において得られる第二位置姿勢情報は、第一姿勢推定部3において得られた第一位置姿勢情報における光の外乱の影響が除外ないし低減されたものとして得られることとなる。
【0020】
記憶部7では、複数種類の認識対象ごとにその特徴情報及び参照画像を予め記憶しておき、特徴情報を第一姿勢推定部3及び第二姿勢推定部6へと参照に供すると共に、参照画像を加工部4へと参照に供する。
【0021】
以下では、以上において概略説明した情報処理装置10の各部の処理の詳細を説明する。
【0022】
<撮像部1>
撮像部1は、対象を撮像して撮像画像を得る。ここで、撮像画像には予め既知の対象、すなわち、後段側の第一姿勢推定部3において認識されその位置姿勢が推定されるべき対象(記憶部7にその情報を記憶しておくのと同様の対象)が含まれるように、ユーザ操作等によって撮像を行うようにすればよい。対象は具体的には例えば、特徴等が既知の模様を持つマーカーや印刷物、立体物等であってよい。撮像部1を実現するハードウェアとしては、携帯端末に標準装備されるデジタルカメラを用いることができる。
【0023】
なお、本発明によれば撮像画像内の対象における光の外乱の影響を除外ないし低減することが可能であるが、撮像部1による撮像においては撮像画像内の対象に白飛びや黒潰れが生じないように、あるいは白飛びや黒潰れが生じたとしても生じている領域が可能な限り小さくなるように、撮像することが望ましい。
【0024】
<第一特徴算出部2>
第一特徴算出部2は、まず撮像部1で撮像された撮像画像から対象の特徴点を検出する。当該検出する特徴点には、対象におけるコーナーなどの特徴的な点を利用できる。検出手法としては、SIFT (Scale-Invariant Feature Transform)やSURF (Speeded Up Robust Features)などの特徴的な点を検出する既存手法が利用できる。第一特徴算出部2では次に、検出された特徴点座標を中心として、撮像部1で撮像された撮像画像から特徴量を算出する。特徴量の算出手法としては、SIFT(Scale-Invariant Feature Transform)やSURF(Speeded Up Robust Features)などの特徴的な量を算出する既存手法が利用できる。その他、特徴点検出及び特徴量算出には任意の既存手法を用いてよく、例えばFASTで特徴点検出し、さらにORB(Oriented Fast and Rotated BRIEF)によって所定の2点間の画素値の大小をコード化したものとして特徴量算出してもよい。
【0025】
第一特徴算出部2では、以上のようにして得た複数の特徴点の情報(撮像画像上の座標(u,v)として特定される情報)と各特徴点の特徴量の情報(ベクトル値等として特定される情報)とを第一特徴情報として出力する。ここで、以下の説明における変数表記のため、第一特徴情報における各特徴点をインデクスi(i=1,2,…,N)(Nは得られた特徴点の総数)で識別し、特徴点iの座標を(u,v)
[i]、その特徴情報をf
[i]とする。すなわち、撮像画像から得た第一特徴情報F1は以下のような、特徴点とその特徴量とのペアの集合として表すことができる。
F1= {((u,v)
[i],f
[i])|i=1,2,…,N}
【0026】
<第一姿勢推定部3>
第一姿勢推定部3はまず、第一特徴算出部2で得た第一特徴情報F1に基づき、撮像画像に撮像されている対象が記憶部7において記憶されている複数M個の所定対象o(oはiと同様にインデクスであり、o=1,2,…,M)のうちのいずれに該当するものであるかを特定することで、撮像画像に撮像されている対象の認識結果を得る。当該特定においては、第一特徴情報F1と各々の所定対象oに関して記憶部7に記憶されている特徴情報F(o)とのマッチング度mat(F1,F[o])を求め、当該マッチング度を最大とするような所定対象oを認識結果o
[認識]とすればよい。なお、当該最大のマッチング度が所定閾値以下の場合は、撮像画像には所定対象が撮像されていないものと判断して以降の処理を省略するようにしてもよい。
【0027】
ここで、記憶部7においては各対象oの特徴情報F[o]を第一特徴情報F1と同様の形式のもの(特徴点座標(u,v)
[k,o]とその特徴量f
[k,o]のペアの集合)として以下のように記憶しておくことにより、第一姿勢推定部3では当該記憶されている特徴情報F[o]を参照して任意の既存手法を用いてマッチング度mat(F1,F[o])を計算することができる。以下にてkは特徴点のインデクスであり、N[o]は特徴情報F[o]を構成している特徴点の個数である。
F[o]= {((u,v)
[k,o],f
[k,o])|k=1,2,…,N[o]}
【0028】
例えば、記憶されている特徴情報F[o]における各特徴点kの特徴量f
[k,o]が第一特徴情報F1のいずれの特徴点iの特徴量f
[i]にマッチするかを、当該特徴量同士の距離が最小となり且つ当該最小値が所定閾値以下であるものとして判定することで特徴点k,i同士のマッチング結果を得て、特徴情報F[o]において特徴点kがマッチングした個数をマッチング度mat(F1,F[o])として求めてもよいし、当該個数を特徴点の数N[o]で規格化したものをマッチング度mat(F1,F[o])として求めてもよい。さらに、このような特徴量同士の距離等の比較のみでなく、特徴点座標同士の幾何的整合性も考慮してマッチング度を求めてもよいし、RANSAC(ランダムサンプルコンセンサス)によるロバスト推定を用いてマッチング度を求めてもよい。
【0029】
第一姿勢推定部3では次に、認識結果o
[認識]における各特徴点kと第一特徴情報F1の各特徴点iとのうち、上記マッチング度の計算の際にマッチングすると判定された特徴点同士の座標を変換する関係としての平面射影変換行列H'を計算し、当該行列H'を第一位置姿勢推定結果として出力する。すなわち、認識結果o
[認識]における特徴点kと第一特徴情報F1の特徴点iとがマッチングすると判定されたものとすると、対応する座標の斉次座標表現x[k]=(u,v,1)
[k,o[認識]]Tとx[i]=(u,v,1)
[i]Tと(ここで上付きTは転置演算であり、従ってx[k]及びx[i]は3次元の列ベクトルである)を以下のように変換するものとして行列H'(サイズ3×3の行列)を求める。当該行列H'の算出に関しては、互いに対応する一連の座標を変換した際の誤差の総和を最小化するものとして、任意の既存手法で算出するようにすればよい。
x[k]=H'x[i]
【0030】
ここで、3次元コンピュータグラフィックス等の分野において用いられる数学として周知のように、平面射影変換行列は並進成分と回転成分との積に分解することが可能であり、行列H'において当該分解される並進成分が対象の位置情報を、当該分解される回転成分が対象の姿勢情報を表現するものとなっていることから、行列H'は撮像部1を構成するカメラの位置姿勢を基準とした撮像画像における対象の第一位置姿勢情報を表現するものとなっている。より正確には、所定の位置姿勢(例えばカメラに対して所定距離離れた正面での位置姿勢)を表す平面射影変換行列H[o
[認識]]に対して行列H'による第一位置姿勢を合成したものとしての積H'H[o
[認識]]が、撮像部1のカメラを基準とした撮像画像における対象o
[認識]の位置姿勢を表すものとなる。(すなわち、行列H'は所定の位置姿勢を表す行列H[o
[認識]]からの変化分を表すものとなる。)ここで、行列H[o
[認識]]で表現される当該所定の位置姿勢とは、認識結果o
[認識]に関して記憶部7に記憶しておく特徴情報F[o
[認識]]を第一特徴算出部2と同様の手法で予め算出しておくために用いる所定画像R[o
[認識]]において対象o
[認識]が撮像されている、カメラ(撮像部1と同様のカメラ)を基準とした所定の位置姿勢である。そして、当該特徴情報F[o
[認識]]を算出するための当該所定画像R[o
[認識]]が、後述する加工部4において参照する参照画像であり、認識結果o
[認識]をも含む全ての対象oに関して記憶部7に予め記憶しておくものとなる。
【0031】
<加工部4>
加工部4では、外乱推定部41及び外乱補正部42による各処理によって、撮像部1で得た撮像画像Q、第一姿勢推定部3で得た第一位置姿勢情報H'及び記憶部7に記憶されている認識結果o
[認識]に対応する参照画像R[o
[認識]]を用いて、撮像画像Qにおける光の外乱の影響を除外ないし低減した加工画像を得る。なお、参照画像R[o
[認識]]に関して、認識結果としての対象o
[認識]は前段側の第一姿勢推定部3において既に確定済みであることから、以下では適宜、表記簡略化の観点からこれを省略して単に参照画像Rと表記する。
【0032】
図2は、一実施形態に係る加工部4及びその後段処理部(第二特徴算出部5及び第二姿勢推定部6)による情報処理の流れの主要部を、各情報を表した模式的な例示イラストと共に示すものである。
図2にて、各破線枠内のイラストは、当該破線枠内に表記される情報に対応したものである。以下では、一実施形態に係る外乱推定部41及び外乱補正部42の処理を、
図2を適宜参照しながら説明する。
【0033】
<外乱推定部41>
外乱推定部41では、
図2にて(4),(5),(6)で示される情報処理を行うが、まず前提となる前段側の(1),(2),(3)を説明する。(1)は撮像部1で得た撮像画像Qを示し、イラストでは対象が斜めの位置姿勢で撮像されることで本来の長方形の形状(正面で撮像した場合の長方形の形状)が歪んだ四角形に変化していると共に、その一頂点の近辺が光の外乱で画素値(輝度値)が局所的に大きくなっていることが、当該四角形の一頂点の近傍領域が白みがかったものとして表現されている。なお、正面で撮像した場合の本来の長方形の形状及び光の外乱の影響を受けていない状態は(5)に参照画像Rとして示されている。(2)は第一特徴算出部2で得た第一特徴情報F1を示し、イラストでは抽出された特徴点が「×」印として模式的に描かれている。(3)は第一姿勢推定部3で得た第一位置姿勢H'を示し、イラストでは(5)に示す正面で撮像した長方形(参照画像R)に対して(3)では歪んだ四角形(撮像画像Q)のように見えるものとして撮像されるものとして、第一位置姿勢H'が示されている。以上、
図2の(1),(2),(3)の模式例を前提として、外乱推定部41による(4),(5),(6)の処理を以下に説明する。
【0034】
まず、処理(4)では、撮像画像Qに対して第一位置姿勢の行列H'を乗じて座標変換することにより、抽出画像H'(Q)を得る。ここでは、撮像画像Qの全体を行列H'で画像H'(Q)
[全体]へと変換した後に、当該全体の画像H'(Q)
[全体]において参照画像Rと同一の領域部分を抽出したものとして、抽出画像H'(Q)を得る。すなわち、抽出画像H'(Q)と参照画像Rとは同一形状且つ同一サイズであり、さらに以下に説明するように同一の座標系で定義されているものであるため、抽出画像H'(Q)と参照画像Rとの間で同位置にある画素同士の対応付けが可能となっているものである。
【0035】
処理(4)を可能とすべく、前述した記憶部7において対象oごとに記憶しておく特徴情報F[o]における各特徴点kの座標(u,v)
[k,o]が定義されている座標系(u,v)
[o]においてさらに、参照画像R(=R[o])が占める領域A[o]の情報も当該特徴情報F[o]に紐づけて記憶しておくものとする。外乱推定部41では記憶部7から当該領域A[o]の情報を参照することにより、処理(4)において変換した全体の画像H'(Q)
[全体]から抽出画像H'(Q)を得ることができる。ここで、第一姿勢推定部3の説明において前述した通り、参照画像R(=R[o])より特徴情報F[o]が抽出されるという関係があるため、特徴情報F[o]に含まれる各特徴点kの座標(u,v)
[k,o]が定義される座標系(u,v)
[o]は当該参照画像の座標系と同一であり、領域A[o]を当該同一の座標系における当該参照画像の所定範囲として、記憶部7に予め記憶しておくことができる。
【0036】
なお、処理(4)の変形例として、参照画像Rに行列H'の逆行列H'
-1を乗じた領域H'
-1 (R)として撮像画像Qの部分領域を求めたうえで、当該部分領域に行列H'を乗じたものとして抽出画像H'(Q)を得るようにしてもよい。
【0037】
次に、処理(5)では、記憶部7を参照して認識結果o
[認識]に対応する参照画像R(=R[o
[認識]])を取得する。
【0038】
最後に、処理(6)では、処理(4)で抽出した抽出画像H'(Q)から処理(5)で取得した参照画像Rを「外乱推定減算」することにより、外乱推定画像L'=H'(Q)〜Rを求める。(本明細書では二項演算子としての外乱推定減算を波ダッシュ「〜」で表すものとする。)外乱推定減算の詳細は後述するが、外乱推定画像L'を外乱推定結果として得るための補正処理(後述する補正係数αを求めて乗ずる処理)及び補完処理(後述する内挿処理)を伴う減算である。ここで、処理(4)の説明において既に述べたように、抽出画像H'(Q)と参照画像Rとは同一座標系(u,v)において定義された同一形状、同一サイズのものとなっているので、同じ画素位置(u,v)にある抽出画像H'(Q)の画素値H'(Q)(u,v)から参照画像Rの画素値R(u,v)を外乱推定減算して当該位置(u,v)での外乱推定画像L'の画素値L'(u,v)を求めることにより、外乱推定画像L'を求めることができる。
【0039】
なお、外乱推定減算では詳細を後述する補正処理及び補完処理によって、減算の際には注目している各位置(u,v)の周辺にある画素値等も結果的に参照されたうえで、減算結果が得られることとなる。従って、外乱推定画像L'も抽出画像H'(Q)及び参照画像Rと同一形状、同一サイズを占めるものとして、参照画像Rと同一座標系において定義されて構成されるものとなる。
【0040】
また、上記のように部分的な領域に関して値が定義される外乱推定画像L'は、画素値同士を減算(外乱推定減算)して得られるものであるため、画像の通常の画素値範囲から逸脱する値を画素値として含んでいてもよい。例えば、抽出画像H'(Q)及び参照画像Rが共に8ビットで0以上255以下の画素値で与えられている場合に、外乱推定画像L'の画素値がマイナス値を含むものであってもよい。
【0041】
以上、(4),(5),(6)に関して
図2に示すイラストでは模式例として、(1)に示す歪んだ四角形としての対象を、(5)に参照画像として示す正面から見て撮像した長方形へと変換することを意図した行列H'による変換結果としての抽出画像が(4)に示されている。(4)では、光による外乱の結果として特徴量がテカリやボケ等の影響を受けることで本来の値とは異なる値として算出される等により、第一特徴情報にある程度の誤差を含み、記憶されている参照用特徴情報との間でマッチングされる特徴点の数が減る及び/又は特徴点の分布が偏ることになることから、行列H'も誤差を含む近似値として算出され、(1)よりも歪みは解消されているものの、(5)のような完全な長方形の形状とはなっていない状態としての抽出画像が模式的に示されている。(6)では当該抽出画像より求まる外乱推定画像の模式例が示されている。
【0042】
以下、外乱推定減算の詳細を説明する。
【0043】
外乱推定減算では、次のようなモデルを前提に計算を行う。すなわち、光の外乱の影響により誤差を伴う行列H'が仮に真値Hとして得られているものとし、従って真値Hによる抽出画像H(Q)は参照画像Rに対して位置ズレのない理想的な状態で得られている場合に、光の影響による画素値変化を、参照画像Rと抽出画像H(Q)との間の環境光源及び近接光源の相違に起因するものとして以下の式eq-0のようにモデル化する。
R(u,v)=αH(Q)(u,v)-L(u,v) …(eq-0)
ここで、係数αは位置(u,v)によらない環境光の相違を表現するものであり、L(u,v)は位置(u,v)に依存する近接光の相違(すなわち、抽出画像H(Q)=H(Q)(u,v)に照射されている近接光による輝度変化の分布)である。
【0044】
しかしながら、実際には真値Hは不明であり誤差を伴う行列H'が求まっており、従って抽出画像H'(Q)と参照画像Rとには位置ズレがあることが想定される。そこで、近接光の相違に関しても本来のL(u,v)は不明であるが、その行列H'による変換座標における近似値としてのL'(u,v)(外乱推定画像)を、上記と同じモデルによって求めるようにする。すなわち、
R(u,v)=αH'(Q)(u,v)-L'(u,v)
上記を移項して以下の式eq-1が得られる。
L'(u,v)=αH'(Q)(u,v)-R(u,v) …(eq-1)
【0045】
すなわち、外乱推定減算は概念的には上記の式eq-1で表されるものであり、環境光の相違を表す係数α(環境光の補正係数α)を予め求めておいたうえで、当該係数αを用いて近接光の影響を表現した外乱推定画像L'(前述した二項演算結果H'(Q)〜R)を得ることができる。係数αの求め方は後述する。
【0046】
ここで、仮に式eq-1でそのまま計算したとする、すなわち、右辺を位置(u,v)(のみ)に関して計算したものをそのまま左辺の同位置(u,v)での外乱推定画像L'(u,v)の値として採用すると、行列H'による位置ズレの影響が直接に外乱推定画像L'(u,v)の値として現れ、理想的なモデル式eq-0で本来は想定していた近接光の影響をモデル表現したL(u,v)とは乖離の大きな、近似値として不適切なものとなってしまう。(すなわち、近接光による輝度変化分布としてではなく、H'(Q)(u,v)とR(u,v)との画像上の模様等の位置のずれの影響が顕著に表れた不適切な外乱推定画像L'(u,v)の値が得られてしまう。なお、当該不適切な外乱推定画像に関しては、後述する
図3の[2]で「αH'(Q)-R'」として模式例を示す。)
【0047】
従って、実際の外乱推定減算の計算は、式eq-1の計算を直接行うのではなく、以下の2つの式eq-2で表されるように、各位置(u,v)に関しての左辺L'(u,v)を、当該位置(u,v)の周辺所定近傍領域NB(u,v)での右辺の分布値f(u,v)(画素差分値マップf(u,v))からの内挿値として求めるようにすればよい。なお、近傍領域NB(u,v)での分布値f(u,v)からその内部側にある位置(u,v)の値を内挿で求める際は、所定のフィッティングモデル、例えば平面フィッティングによる値として求めるようにすればよい。
L'(u,v)=「分布f(u,v)の領域NB(u,v)からの内挿値」
f(u,v)=αH'(Q)(u,v)-R(u,v) …(eq-2)
【0048】
なお、内挿に用いる領域NB(u,v)に関しては、位置(u,v)の所定近傍範囲であり、且つ、前述したH'(Q)(u,v)とR(u,v)との画像上の模様等の位置のずれの影響を受けることなく近接光の相違が対応位置において適切に反映される領域として、両画像(あるいは少なくとも抽出画像)において特徴点及びその近傍に該当せず、且つ/又は、両画像及び係数αから定まる分布f(u,v)が平坦であると判定される領域として定めればよい。なお、各位置(u,v)に応じた近傍領域NB(u,v)において内挿によるフィッティング値としてL'(u,v)を求めることから、外乱としての近接光によるグラデーション等が対象の範囲全体(参照画像Rと同じ範囲全体)内において不均一に発生している場合であっても、当該範囲全体で定義されたマップ値L'(u,v)において当該不均一な発生を表現することが可能となる。
【0049】
ここで、特徴点近傍を除外する場合は、少なくとも抽出画像H'(Q)における特徴点近傍を除外すればよい。参照画像Rにおける特徴点近傍は、抽出画像H'(Q)における特徴点近傍との重複も想定されることから、除外してもしなくてもよい。特徴点近傍を除外することの効果として次もある。すなわち、特徴点近傍は焦点ボケ等の外乱が生じていることがあるので、光(近接光)による外乱と混同することなく適切に領域NB(u,v)を定めることが可能となるという効果もある。
【0050】
ここで、参照画像R(u,v)においては記憶部7に予め記憶しておく際に、特徴点及びその近傍に該当しない領域の情報も紐づけたうえで記憶しておき、上記の領域NB(u,v)を決定する際に当該情報を利用してもよい。
【0051】
また、分布f(u,v)が平坦であるか否かの判定は、内挿で用いるのと同じフィッティングモデルのあてはめ誤差(平面フィッティングであれば最小二乗誤差)等によって判定すればよい。
【0052】
なお、当該着目している位置(u,v)自体が上記の近接光の相違が適切に反映されると判定される領域に属している場合、すなわち、特徴点及びその近傍に該当せず、且つ、分布f(u,v)が平坦であると判定される領域に属している場合は、式eq-2による内挿を用いることなく、式eq-1から直接にL'(u,v)の値を求めるようにしてもよい。
【0053】
さらに、外乱推定減算において用いる環境光の相違を表現する係数αは、抽出画像H'(Q)と参照画像R(Q)との両方を参照し、両画像(あるいは少なくとも抽出画像)において特徴点の近傍に該当せず、且つ、両画像において平坦領域と判定されるような領域FRにおける以下の係数βの関数としての差分絶対値和を最小化するような係数として求めればよい。なお、以下の式に限らず、差分二乗和やその他の任意のβH'(Q)(u,v)とR(u,v)との距離d(βH'(Q)(u,v), R(u,v))の和を最小化するような係数βの値として、係数αを求めてよい。
【0055】
以上、外乱推定部41の処理の詳細を説明したので、その模式例を説明する。
図3は、加工部4(外乱推定部41及び外乱補正部42)による加工処理の模式例を、ある1つの特徴点の近傍に関して示す図であり、以下では
図3を参照して特に、外乱推定部41の処理(6)における外乱推定減算の模式例を説明する。
図3では[1]〜[3]と分けて、加工部4で処理される情報としての2次元(u,v)分布の画像情報における画素値を、簡潔な説明のために一般性を失うことなくある1次元の線分(ここでは例としてu軸方向)上において切り出した模式例が示されている。当該模式例は画像上の局所的な領域として、エッジ交点としてのコーナー等のような1つの特徴点とその近傍とを1次元上において示し、当該局所的な領域における加工部4による各画像の加工処理の例を示すものとなっている。
【0056】
まず、
図3の[1]では抽出画像H'(Q)と参照画像Rとが実線で示され、参照画像Rで位置u
0にコーナー等の特徴点が求まるのに対し、同じ特徴点が行列H'における光の外乱の影響での真値Hからの誤差により、抽出画像H'(Q)においては別の位置u
1に位置ズレを生じて求まることが示されている。また、参照画像Rでは特徴点位置u
0の前後で画素値がほぼ水平となり変化しない分布を示すのに対し、抽出画像H'(Q)では対応する特徴点位置u
1の前後で近接光の影響により直線的に変化するという異なる分布を示している。さらに、参照画像Rと抽出画像H'(Q)とは環境光の違いにより全体的な明るさの相違も存在するものとなっているが、[1]に点線で示すように、当該相違を補正する係数αを抽出画像H'(Q)に乗じた画像αH'(Q)では当該環境光の違いが補正されている。
【0057】
さらに、
図3の[2]は当該局所的な領域での外乱推定減算の適用結果の模式例を示している。すなわち、[1]に示す係数αによる抽出画像H'(Q)の補正画像αH'(Q)から参照画像Rをそのまま減算した結果(前述の式eq-1を直接適用した結果)が[2]に実線によって「αH'(Q)-R」として示されているが、これは位置ズレとしての特徴点u
0及びu
1のズレによる画像の模様などの違いの影響が当該特徴点u
0及びu
1の近傍にパルス状に発生したものとなっており、その他の部分では近接光の分布を直線的な変化として概ね正しく捉えているが、当該パルス発生部分は近接光の分布を捉えるのに失敗している。
【0058】
従って、外乱推定減算においては前述の式eq-1を直接適用するのではなく、内挿による式eq-2を適用した結果として、
図3の[2]に破線として示すような、当該パルス発生部分が存在せず近接光の分布を直線的に変化するものとして正しく捉えた外乱推定画像L'を得ることができる。さらに
図3の[3]に示されるのは外乱推定部41の後段処理を担う外乱補正部42における[1],[2]に対応する模式例であるが、これに関しては以下に外乱補正部42の具体的な処理を説明した後に説明する。
【0059】
<外乱補正部42>
外乱補正部42は、
図2にて(7),(8)で示される情報処理を行うことにより、加工画像を得る。外乱補正部42はまず、処理(7)として示されるように、外乱推定部41で得た外乱推定画像L'に対して第一姿勢推定部3で得た第一位置姿勢を表す行列H'の逆行列H'
-1を乗じて座標変換することにより、外乱補正用画像H'
-1(L')を得る。第一位置姿勢を表現する行列H'の乗算が座標変換を表すものとして既に説明した通り、当該逆変換で得られる外乱補正用画像H'
-1(L')は、参照画像Rの座標系で定義されていた外乱推定画像L'を、撮像画像Qの座標系に戻したものである。すなわち、外乱補正用画像H'
-1(L')は撮像画像Qの座標系において、近接光の存在による画素値増分を推定したものとなっている。また一般に(特殊な場合を除き)、外乱補正用画像H'
-1(L')は撮像画像Qの全体ではなく一部の領域で定義されたものとなる。
【0060】
外乱補正部42は次いで、処理(8)として示されるように、処理(7)で求めた近接光の影響を表現した外乱補正用画像H'
-1(L')と、外乱推定部41において求めた環境光の影響を表現した係数αと、を用いて撮像画像Qから当該近接光及び環境光の影響を除去ないし低減したものとして、加工画像を得る。具体的には、既にモデル式eq-0等で説明した通りのモデルにより以下の式で表現されるものとして加工画像を得ることができる。
αQ(u,v)-H'
-1(L')(u,v)
【0061】
すなわち、撮像画像Qに係数αを乗じて環境光を参照画像Rにおけるものと同様の状態へと補正したもの「αQ」からさらに外乱補正用画像H'
-1(L')を減算して近接光の影響も除去ないし低減したものとして、加工画像αQ-H'
-1(L')を得ることができる。
【0062】
なお、処理(8)で得られる加工画像αQ-H'
-1(L')は処理(7)で得られる外乱補正用画像H'
-1(L')と同様に、撮像画像Qの座標系において定義され、一般に(撮像画像Qの全体を対象が占めているという特殊な場合を除き)、撮像画像Qの全体ではなく一部の領域で定義されたものとなる。そして、当該一部の領域は、撮像画像Qにおいて前述の第一姿勢推定部3が対象(o
[認識])を検出した領域となる。
【0063】
図3の[3]の例では、[1],[2]の例に対応するものとして、加工画像αQ-H'
-1(L')に対応するものが示されている。すなわち、加工画像αQ-H'
-1(L')は撮像画像Qの座標系で定義されるものであるが、
図3の[3]では当該加工画像に行列H'を乗じて参照画像Rの座標系に変換したものとしての画像αH'(Q)-L'が示されている。これを[1]に示す参照画像Rと対比することからその分布形状の類似として見て取れるように、画像αH'(Q)-L'は環境光と近接光との影響が除外ないし低減され、H'による位置ずれのみが残った状態となっている。従って、座標変換によって対応する加工画像αQ-H'
-1(L')も同様に、近接光と環境光との影響が除外ないし低減されたものとして得られることとなる。
【0064】
なお、
図4を参照して後述する
図2とは別の一実施形態は、
図3の[3]に示した画像αH'(Q)-L'の方を「加工画像」として利用する実施形態である。
図4の実施形態の
図2の実施形態に対する主要な相違は、既に
図3の[3]に関して説明した通り、加工画像を撮像画像Qの座標系においてαQ-H'
-1(L') として得る(
図2の場合)か、参照画像Rの座標系においてαH'(Q)-L'として得る(
図4の場合)か、であり、近接光と環境光との影響のモデル化の手法や当該影響を除外する計算は実質的には同様である。
【0065】
<第二特徴算出部5>
第二特徴算出部5では、以上のように加工部4で得られた加工画像を対象として、特徴点検出及び特徴量算出を行うことで、当該求まった特徴点及び特徴量のペア集合を加工画像の第二特徴情報F2として得る。第二特徴算出部5での特徴点検出及び特徴量算出は第一特徴算出部2におけるのと同様の処理によればよい。
【0066】
一実施形態では上記のように加工画像の全体を対象として第二特徴算出部5が第二特徴情報の算出を行うが、別の一実施形態では当該算出するための計算量を次のようにして削減するようにしてもよい。
【0067】
すなわち、第二特徴算出部5で得られる第二特徴情報F2は、第一特徴算出部2で得られる第一特徴情報F1のうち、第一姿勢推定部3において認識された対象(o
[認識])に関して記憶部7に記憶されている特徴情報F[o
[認識]]とマッチしたものF1
[マッチ]における光の外乱の影響を除外ないし低減したものとなっている。一方、当該マッチした第一特徴情報F1
[マッチ]内の特徴点及び特徴量ペアには、光による外乱の影響を受けておらず、第二特徴情報F2内の特徴点及び特徴量ペアと(実質的に)同じものが存在する場合もある。この場合、第二特徴算出部5による第二特徴情報F2の算出の際に、当該同じ特徴点及び特徴量ペアを再度算出することなく、既に得られているマッチした第一特徴情報F1
[マッチ]から当該同じ特徴点及び特徴量ペアを得るようにしてよい。
【0068】
具体的には、マッチした第一特徴情報F1
[マッチ]における各特徴点の近傍領域(特徴量を算出するための局所領域)を撮像画像と加工画像とにおいて対比し、撮像画像における近傍領域と加工画像における近傍領域とに相違がないと判定される場合、対応する特徴点に関する特徴量を再度算出することなく、従って、当該近傍領域は第二特徴情報F2を計算するために参照する領域からは除外したうえで、マッチした第一特徴情報F1
[マッチ]において得られている特徴量を取得するようにすればよい。ここで、近傍領域同士の相違有無の判定は、SAD(差分絶対値和)やSSD(差分二乗和)等により閾値判定で評価すればよい。
【0069】
一方、上記において近傍領域同士に相違があると判定された場合においては、対応する特徴点はマッチした第一特徴情報F1
[マッチ]において既に得られていることから、第二特徴情報F2を求める際には当該近傍領域において特徴点を再度検出することは省略し、当該近傍領域を対象として特徴量を求める処理のみを追加で行うようにしてもよい。そして、第一特徴情報において検出済みの特徴点と、当該相違すると判定された近傍領域において再度の算出で得られる特徴量とのペアを、第二特徴情報F2を構成するものとして採用するようにすればよい。
【0070】
さらに、加工画像のうちマッチした第一特徴情報F1
[マッチ]における各特徴点の近傍領域に該当しない領域に関しては、新たな特徴点及び特徴量ペアが求まる可能性があるため、新たな特徴点検出及び特徴量算出を試みるようにすればよい。以上のようにして、マッチした第一特徴情報F1
[マッチ]から計算を省略して得られたものと、新たな特徴点検出及び特徴量算出により得られたものとを、第二特徴情報F2として出力すればよい。
【0071】
<第二姿勢推定部6>
第二姿勢推定部6では、第二特徴算出部5で得た第二特徴情報F2と、第一姿勢推定部3において既に認識済みである対象(o
[認識])に関して記憶部7に記憶されている特徴情報F[o
[認識]]と、の間において特徴点同士を対応する特徴量に基づいてマッチングし、当該マッチングした特徴点同士を座標変換する関係としての平面射影変換行列Hを求め、行列Hを第二位置姿勢推定結果として出力する。平面射影変換行列Hの算出の仕方に関しては第一姿勢推定部3で説明したのと同様である。
【0072】
行列Hを算出するための第二特徴情報F2が第一特徴情報F1における光による外乱の影響を除外ないし低減して高精度化されたものとなっているため、行列Hで表現される第二位置姿勢推定結果も同様に、行列H'で表現される第一位置姿勢推定結果が高精度化されたものとなっている。なお、
図2では(9),(10)に第二特徴情報F2及び第二位置姿勢情報H(行列H)が示されている。
【0073】
<記憶部7>
第一姿勢推定部3や加工部4等の説明において既に述べた通り、記憶部7では各対象oの特徴情報F[o]や対応する参照画像R[o]等とを予め記憶しておくことにより、当該情報を必要とする各部に当該情報を提供する。なお、参照画像R[o]に関しては、対象oを近接光の影響(テカリなど)がない光源環境において撮像したものとして用意しておくことが望ましい。
【0074】
以上、本発明によれば、対象を撮像部1で撮像することで対象の相対的な位置関係を認識することができる。特に、光の外乱を除去した上で特徴量を算出するため、高精度な認識が可能となる。以下、本発明の変形例などに関して補足説明を行う。
【0075】
(1)
図4は、主として加工部4における処理に関して、
図2で説明した一実施形態とは別の一実施形態を説明するための図である。
図4で(1)〜(6)で示される情報は
図2における(1)〜(6)と同様であり、
図4の別の一実施形態においても加工部4の前段側にある撮像部1、第一特徴算出部2及び第一姿勢推定部3の処理は
図2で説明した一実施形態と同様である。
図3の[3]において既に言及した通り、
図4の実施形態は加工画像を得る座標系が異なるものである。なお、当該
図4の別の一実施形態では
図2の(7)に示した計算が不要となるという効果がある。
【0076】
図4の実施形態では、外乱補正部42は
図2の(7)に示した外乱補正用画像H'
-1(L)を得ることなく、
図4及び
図2で共通の(6)に示される通りの外乱推定部41で得た外乱推定画像L'を、参照画像Rの座標系における外乱補正用画像として採用する。そして、外乱補正部42では
図4の(8A)に示される通り、参照画像Rの座標系にある抽出画像H'(Q)において光による外乱の影響を除外ないし低減したものとして、加工画像αH'(Q)-L'を得る。
【0077】
さらに、加工部4の後段側の第二特徴算出部5及び第二指定推定部6の処理に関しては、加工画像αH'(Q)-L'を座標変換して
図2の実施形態と同じ画像αQ-H'
-1(L')を得たうえで、
図2の実施形態と同様の処理としてもよいし、
図4に示される処理を用いてもよい。
図4に示される処理(9A),(10A)は次の通りである。
【0078】
まず、第二特徴算出部5は、処理(9A)として、参照画像Rの座標系にある加工画像αH'(Q)-L'を対象として、第二特徴情報F2Aを算出する。この際、第一位置姿勢としての行列H'による座標変換で第一特徴情報F1を参照画像Rの座標系に変換したうえで第二特徴情報F2Aと対比し、
図2の実施形態で説明したのと同様の計算削減(検出済みの特徴点算出や算出済みの特徴量算出の省略)を適用してもよい。次いで、第二姿勢推定部6は、第二特徴情報F2Aと第一姿勢推定部3において既に認識済みである対象(o
[認識])に関して記憶部7に記憶されている特徴情報F[o
[認識]]との間の対応特徴点同士を座標変換する平面射影変換行列H
2Aを求める。ここで、行列H
2Aを、積H
2AH'が撮像画像Qの座標系から参照画像Rの座標系への変換(H'にあった誤差を低減した変換)を表すものとして求めるようにすることで、第二姿勢推定部6では最終的な第二位置姿勢推定結果としての行列Hを、「H=H
2AH'」のように積として求めることができる。
【0079】
(2)上記と同様の観点からの変形例として、
図2及び
図4では共通の(4),(5),(6)に示される抽出画像と参照画像とを用いた外乱推定減算による外乱推定画像の算出を、参照画像Rの座標系ではなく、撮像画像Qの座標系において行うようにしてもよい。すなわち、抽出画像Q
[抽出]は、参照画像Rの占める領域を座標変換H'
-1(R)によって撮像画像Qから切り出したものとして得ると共に、参照画像Rも同座標変換を施して座標変換された参照画像H'
-1(R)として得るようにし、抽出画像Q
[抽出]から座標変換された参照画像H'
-1(R)を外乱推定減算「Q
[抽出]〜H'
-1(R)」したものとして、外乱推定画像L'= Q
[抽出]〜H'
-1(R)を得てもよい。その他、全く同様に、撮像画像や参照画像の座標系に限らない任意の共通座標系において外乱推定画像L'を求め、さらに対応する加工画像を求めるようにしてもよい。
【0080】
(3)加工部4において加工画像は、撮像画像や参照画像を構成している所定の色空間の各チャネルごとに独立に得るようにしてもよい。この場合、画像L'や係数αにおいて光源の構成色の情報も取得することが可能となる。例えば撮像画像がRGB空間で構成されていれば、Rチャネルの加工画像と、Gチャネルの加工画像と、Bチャネルの加工画像と、をそれぞれ独立に得たうえで、これらを合成して得られるRGB空間の加工画像を第二特徴算出部5以降の処理対象としてよい。
【0081】
(4)情報処理装置10はさらに、推定した対象の第二位置姿勢に基づいて、撮像画像における対象の認識結果に応じた情報を提示する処理、例えば撮像画像内における対象に対する拡張現実表示を行うようにしてもよい。この場合、拡張現実表示等に用いる重畳表示コンテンツ等も、記憶部7に予め記憶しておけばよい。
【0082】
(5)情報処理装置10では、所定のフレームレートで各時刻tに関してリアルタイムに撮像画像Q(t)(映像の各時刻tのフレームQ(t))における対象の第二位置姿勢H(t)を求めるようにしてもよい。この場合、各時刻tにおいて情報処理装置10の各部が以上説明した処理を行うようにする実施形態の他にも、第一姿勢推定部3による処理を次のように簡略化する実施形態も可能である。すなわち、初期時刻t=1に関しては、情報処理装置10の各部が以上説明した処理を行うことで、第一姿勢推定部3でも時刻t=1における第一位置姿勢H'(1)を求めるようにする。一方、その後の時刻t≧2に関しては、第一姿勢推定部3では当該時刻tでの第一位置姿勢H'(t)の算出を行うことなく、直前の時刻t-1に関して第二姿勢推定部6で既に得られている第二位置姿勢H(t-1)の値を、当該時刻tでの第一位置姿勢H'(t)の値として採用するようにしてよい。既に説明した通り、第一位置姿勢は第二位置姿勢の近似値として求まればよいので、対象の位置姿勢が隣接時刻t-1,t間で極端に大きく変動しないことを前提とすると、直前時刻t-1の第二位置姿勢H(t-1)は現時刻tの第二位置姿勢H(t)の近似値であるため、現時刻tの第一位置姿勢H'(t)の値として採用することが可能である。同様に、直前時刻以外をも含む所定の過去時刻t-n(n≧1)の第二位置姿勢H(t-n)を現時刻tの第一位置姿勢H'(t)として採用してもよい。
【0083】
(6)第一姿勢推定部3では、撮像画像に撮像されている対象を記憶部7において記憶されている複数M個の所定対象oの中から特定することで対象の認識処理を行ったうえで、撮像画像における対象の第一位置姿勢を推定するものとして説明した。予め対象が1種類に定まっており、記憶部7では当該1個の所定対象に関する特徴情報のみを記憶している場合、対象を複数候補の中から認識する処理は省略して、撮像画像内から対象が検出されることを前述のマッチング度に対する閾値判定によって確認のうえで第一位置姿勢の推定のみを行うようにしてもよい。
【0084】
(7)情報処理装置10から第二姿勢推定部6を省略する構成を取るようにしてもよい。この場合、第二特徴算出部5から得られる第二特徴情報を情報処理装置10の出力とすることで、情報処理装置10は撮像画像における対象の第二特徴情報を、光による外乱の影響を除外ないし低減したものとして取得することが可能な装置として機能し、当該取得された第二特徴情報を位置姿勢推定以外の用途(例えば、対象の特徴情報のデータベースを構築する際の特徴情報の収集用途など)で利用することも可能である。
【0085】
(8)加工部4において環境光の相違を表現する係数αを求める別の一実施形態として、前述のように特徴点の近傍等を除外することなく、抽出画像H'(Q)のみから係数αを求めるようにしてもよい。例えば、参照画像Rは灰色仮説(Gray World Assumption)を満たし、その画素値の平均値が灰色となるものとして、(これを参照画像Rに関して既知の情報として与えておき、)抽出画像H'(Q)における画素値の平均値の当該灰色からの乖離を係数αとして求めてもよい。同様に例えば、max white仮説を用いて、すなわち、参照画像Rにおいて最大値は白色であるものとして、抽出画像H'(Q)における画素値の最大値の白色からの乖離を係数αとして求めてもよい。
【0086】
(9)情報処理装置10は、一般的な構成のコンピュータとして実現可能である。すなわち、CPU(中央演算装置)、当該CPUにワークエリアを提供する主記憶装置、ハードディスクやSSDその他で構成可能な補助記憶装置、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース、ネットワークに接続して通信を行うための通信インタフェース、表示を行うディスプレイ、カメラ及びこれらを接続するバスを備えるような、一般的なコンピュータによって情報処理装置10を構成することができる。さらに、情報処理装置10の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPUによって実現することができるが、任意の一部の処理を別途の専用回路等において実現するようにしてもよい。