(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6515039
(24)【登録日】2019年4月19日
(45)【発行日】2019年5月15日
(54)【発明の名称】連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20190425BHJP
【FI】
G06T7/60 150
【請求項の数】13
【全頁数】19
(21)【出願番号】特願2016-2279(P2016-2279)
(22)【出願日】2016年1月8日
(65)【公開番号】特開2017-123087(P2017-123087A)
(43)【公開日】2017年7月13日
【審査請求日】2018年3月6日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】小林 達也
(72)【発明者】
【氏名】加藤 晴久
【審査官】
片岡 利延
(56)【参考文献】
【文献】
特開2014−092984(JP,A)
【文献】
特開2014−059710(JP,A)
【文献】
特開2015−207280(JP,A)
【文献】
小林 達也,外2名,オンライン法線方向推定に基づく平面マーカレスAR,情報処理学会研究報告,日本,2016年 2月26日
【文献】
小林 達也,外2名,カメラの移動状態推定に基づく高速な姿勢追跡手法,ITE Winter Annual Convention 2013,2013年
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/60
(57)【特許請求の範囲】
【請求項1】
撮影画像に映り込む平面物体の法線ベクトルを算出するようにコンピュータを機能させることを特徴とするプログラムにおいて、
連続的な撮影画像のNc個のフレームiと、
前記Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点pj(=[uj,vj]T、j=1〜Np)の3次元座標Xj(=[xj,yj,zj]T)と、
各フレームに映るNp個の登録点pj毎の追跡座標mij(=[uij,vij]T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータRi(=[rix,riy,riz]T)及びti(=[tix,tiy,tiz]T)と、法線ベクトルnt(=[xn,yn,zn]T,xn2+yn2+zn2=1)との両方を算出する法線ベクトル算出手段と
して機能させ、
前記法線ベクトル算出手段は、登録画像の登録点pjの3次元座標Xjを、登録点pjと、物体平面の通る基準点X0(=[x0,y0,z0]T)と、法線ベクトルntとによって表現し、登録点pjの物体平面への逆投影によって算出する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項2】
前記法線ベクトル算出手段は、基準点X0を、登録点pjの重心p0(=[u0,v0]Tの逆投影(X0=1/w0[u0,v0,1]T)によって算出する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記法線ベクトル算出手段について、前記再投影誤差関数は、以下の式によって表される
Ri',ti',nt'=arg minRi,ti,ntΣi=1NcΣj=1Np(mij−proj(Ri,ti,Xj))2
Xj=(nt・X0/nt・pj')pj'
=(xnx0+yny0+znz0)/(xnuj+ynvj+zn)[uj,vj,1]T
xn2+yn2+zn2=1
zn=√(1−xn2−yn2)
pj'(=[uj,vj,1]T):登録点pjの同次座標表現
i:撮影画像のNc個のフレームの番数
mij:フレームiに映るNp個の登録点pj毎の追跡座標
Ri及びti:フレームiのカメラ姿勢パラメータ
nt:平面物体の法線ベクトル
X0:物体平面の通る基準点
proj(Ri,ti,Xj):3次元座標Xjの投影関数 [Ri|ti]Xj
Xj':Xjの同次座標表現
Ri'及びti':フレームiのカメラ姿勢パラメータRi及びtiの推定値
nt':平面物体の法線ベクトルntの推定値
ようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記法線ベクトル算出手段について、前記再投影誤差関数における未知パラメータの数は、Nc個のフレームi毎に生じるカメラ姿勢パラメータRi(=[rix,riy,riz]T)及びti(=[tix,tiy,tiz]T)の6個と、登録点に対する法線ベクトルnt(=[xn,yn,zn]T,xn2+yn2+zn2=1)の2個とを合計した、6Nc+2個となる
ようにコンピュータを機能させることを特徴とする請求項3に記載のプログラム。
【請求項5】
前記法線ベクトル算出手段は、撮影画像のカメラワークが微小であるとする前提条件の下、初期値として、カメラ姿勢パラメータのRiを単位行列とし、tiを零ベクトルとして、前記法線ベクトルを算出する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
前記法線ベクトル算出手段について、前記再投影誤差関数は、バンドル調整における法線ベクトルの初期値を、光軸と平行な方向(nt=[0,0,1]T)とする
ようにコンピュータを機能させることを特徴とする請求項1から5のいずれか1項に記載のプログラム。
【請求項7】
登録画像の登録点と撮影画像の追跡座標との間のホモグラフィ行列を用いて、誤追跡された追跡座標を除外する画像特徴追跡手段と
して更にコンピュータを機能させることを特徴とする請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
撮影画像の中から、ユーザ操作に応じて平面物体が映る対象領域を特定し、該対象領域を登録画像として記憶する登録画像記憶手段と
して更にコンピュータを機能させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項9】
前記登録画像記憶手段は、登録画像を、前記法線ベクトル算出手段によって算出された法線ベクトルによって正面化画像に幾何変換し、該正面化画像を登録画像として記憶する
ようにコンピュータを機能させることを特徴とする請求項8に記載のプログラム。
【請求項10】
前記画像特徴追跡手段は、追跡に成功した画像特徴の数が第1の所定閾値以下の場合に、画像処理を中断して、画像登録からやり直す
ようにコンピュータを機能させることを特徴とする請求項7に記載のプログラム。
【請求項11】
前記画像特徴追跡手段は、追跡に成功した画像特徴の数が第2の所定閾値(<第1の所定閾値)以下の場合に、画像処理を中断して、「対象物体が平面で無い」旨をユーザに明示する
ようにコンピュータを機能させることを特徴とする請求項10に記載のプログラム。
【請求項12】
撮影画像に映り込む平面物体の法線ベクトルを算出する画像処理装置において、
連続的な撮影画像のNc個のフレームiと、
前記Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点pj(=[uj,vj]T、j=1〜Np)の3次元座標Xj(=[xj,yj,zj]T)と、
各フレームに映るNp個の登録点pj毎の追跡座標mij(=[uij,vij]T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータRi(=[rix,riy,riz]T)及びti(=[tix,tiy,tiz]T)と、法線ベクトルnt(=[xn,yn,zn]T,xn2+yn2+zn2=1)との両方を算出する法線ベクトル算出手段
を有し、
法線ベクトル算出手段は、登録画像の登録点pjの3次元座標Xjを、登録点pjと、物体平面の通る基準点X0(=[x0,y0,z0]T)と、法線ベクトルntとによって表現し、登録点pjの物体平面への逆投影によって算出する
ことを特徴とする画像処理装置。
【請求項13】
撮影画像に映り込む平面物体の法線ベクトルを算出する装置の法線ベクトル算出方法において、
装置は、
連続的な撮影画像のNc個のフレームiと、
前記Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点pj(=[uj,vj]T、j=1〜Np)の3次元座標Xj(=[xj,yj,zj]T)と、
各フレームに映るNp個の登録点pj毎の追跡座標mij(=[uij,vij]T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータRi(=[rix,riy,riz]T)及びti(=[tix,tiy,tiz]T)と、法線ベクトルnt(=[xn,yn,zn]T,xn2+yn2+zn2=1)との両方を算出するステップ
を実行し、
前記ステップは、登録画像の登録点pjの3次元座標Xjを、登録点pjと、物体平面の通る基準点X0(=[x0,y0,z0]T)と、法線ベクトルntとによって表現し、登録点pjの物体平面への逆投影によって算出する
ことを特徴とする装置の法線ベクトル算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラによる撮影画像から平面物体の法線ベクトル(法線方向)を算出する技術に関する。
【背景技術】
【0002】
コンピュータビジョンやロボットビジョンの技術によれば、カメラによって撮影された映像を解析することによって、映像内に映り込む対象物体の位置姿勢を推定・追跡することができる。例えば、監視カメラの連続的な撮影画像に映る車両を追跡する技術がある(例えば特許文献1参照)。この技術によれば、フレーム毎に、画像中の対象物体をテンプレートマッチングによって追跡する。但し、画像に映る車両の位置を追跡するに過ぎず、向き(方向)を追跡することはできない。
【0003】
これに対し、対象物体に仮想情報を重畳表示する拡張現実感技術によれば、カメラに対する対象物体の6自由度の位置姿勢を推定・追跡し、現実感の高い拡張現実を表示することができる。例えば、画像中で指定された対象物体に仮想オブジェクトを配置し、その対象物体の位置姿勢を推定・追跡することによって、仮想オブジェクトがあたかも指定された領域に存在するかのように表示することができる(例えば特許文献2参照)。
また、対象物体の3次元構造を3Dセンサでリアルタイムに取得し、その位置姿勢を推定/追跡する技術もある(例えば特許文献3参照)。
更に、単眼カメラのみで、撮影画像の3次元構造を推定する技術もある(例えば特許文献4参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許3651745号公報
【特許文献2】特開2013−164697号公報
【特許文献3】特開2014−511591号公報
【特許文献4】特開2014−149582号公報
【特許文献5】特開2015−069354号公報
【非特許文献】
【0005】
【非特許文献1】A. Ruiz et al., "Practical planar metric rectification," In Proc. of British Machine Vision Conference, 2006.
【非特許文献2】A Mulloni et al., "User friendly SLAM initialization," in Proc. of IEEE International Symposium on Mixed and Augmented Reality, 2013.
【非特許文献3】F Yu et al., "3D Reconstruction from Accidental Motion," in Proc. of IEEE Conference on Computer Vision and Pattern Recognition, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、前述した従来技術によれば、単眼カメラの連続的な撮影画像を用いて、対象物体の位置姿勢を推定・追跡する際に、対象物体の3次元構造が未知である場合、撮影角度の変化による見た目の変化を予測することができない。そのために、ロバスト(頑健)性が著しく損なわれる。
【0007】
また、単眼カメラしか用いない場合、処理負荷や推定精度、カメラワーク(撮影中のカメラの動かし方)に対する制約が高い。例えば大きな視点変化を含む画像群を取得するようにカメラを動かす、ということが必要となる。
【0008】
これに対し、撮影画像に映る対象物体が平面物体(又は概ね平面で近似可能な物体)であるという前提条件の下では、計算量を削減し且つ推定精度を高めることができる。対象物体の3次元構造の平面を、「法線ベクトル」で表すことによって、計算量に影響する未知パラメータ数を大幅に減らすことができる。
対象物体が平面であれば、例えば画像間のホモグラフィ行列から、対象物体の方向を推定することもできる(例えば非特許文献1参照)。
また、対象物体に複数の平面が含まれる場合に推定精度を向上させる技術もある(例えば特許文献5参照)。
しかしながら、これら技術についても、カメラワークに対する制約が存在する。
【0009】
更に、既存技術のカメラワークの制約を解消する技術として、小さなカメラワークで撮影された連続画像から、バンドル調整を用いて撮影シーンの3次元構造を推定する技術がある(例えば非特許文献2、3参照)。これらの技術によれば、小さなカメラワークを前提とすることによって、推定するパラメータを制約し、初期パラメータの精度を向上させている。
しかしながら、この技術によれば、指定する対象物体の模様に制約があり、対象物体から万遍なく特徴点(画像特徴)が検出される場合にしか、実用的な精度を得ることができない。また、特徴点の追跡失敗に対するロバスト性に乏しい。
【0010】
そこで、本発明は、対象物体が平面物体(又は概ね平面で近似可能な物体)であるという前提条件の下で、カメラワークの大きな制約無しに、連続的な撮影画像に映り込む平面物体の法線ベクトルを、できる限り少ない計算量で算出することができるプログラム、装置及び方法を提供する。
【課題を解決するための手段】
【0011】
本発明によれば、撮影画像に映り込む平面物体の法線ベクトルを算出するようにコンピュータを機能させることを特徴とするプログラムにおいて、
連続的な撮影画像のNc個のフレームiと、
Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点p
j(=[u
j,v
j]
T、j=1〜Np)の3次元座標X
j(=[x
j,y
j,z
j]
T)と、
各フレームに映るNp個の登録点p
j毎の追跡座標m
ij(=[u
ij,v
ij]
T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)と、法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)と
の両方を算出する法線ベクトル算出手段と
して機能させ、
法線ベクトル算出手段は、登録画像の登録点p
jの3次元座標X
jを、登録点p
jと、物体平面の通る基準点X
0(=[x
0,y
0,z
0]
T)と、法線ベクトルn
tとによって表現し、登録点p
jの物体平面への逆投影によって算出する
ようにコンピュータを機能させることを特徴とする。
【0012】
本発明のプログラムにおける他の実施形態によれば、
法線ベクトル算出手段は、基準点X
0を、登録点p
jの重心p
0(=[u
0,v
0]
Tの逆投影(X
0=1/w
0[u
0,v
0,1]
T)によって算出する
ようにコンピュータを機能させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
法線ベクトル算出手段について、再投影誤差関数は、以下の式によって表される
R
i',t
i',n
t'=arg min
Ri,ti,ntΣ
i=1NcΣ
j=1Np(m
ij−proj(R
i,t
i,X
j))
2
X
j=(n
t・X
0/n
t・p
j')p
j'
=(x
nx
0+y
ny
0+z
nz
0)/(x
nu
j+y
nv
j+z
n)[u
j,v
j,1]
T
x
n2+y
n2+z
n2=1
z
n=√(1−x
n2−y
n2)
p
j'(=[u
j,v
j,1]
T):登録点p
jの同次座標表現
i:撮影画像のNc個のフレームの番数
m
ij:フレームiに映るNp個の登録点p
j毎の追跡座標
R
i及びt
i:フレームiのカメラ姿勢パラメータ
n
t:平面物体の法線ベクトル
X
0:物体平面の通る基準点
proj(R
i,t
i,X
j):3次元座標X
jの投影関数 [R
i|t
i]X
j'
X
j':X
jの同次座標表現
R
i'及びt
i':フレームiのカメラ姿勢パラメータR
i及びt
iの推定値
n
t':平面物体の法線ベクトルn
tの推定値
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
法線ベクトル算出手段について、再投影誤差関数における未知パラメータの数は、Nc個のフレームi毎に生じるカメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)の6個と、登録点に対する法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)の2個とを合計した、6Nc+2個となる
ようにコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
法線ベクトル算出手段は、撮影画像のカメラワークが微小であるとする前提条件の下、
初期値として、カメラ姿勢パラメータのRiを単位行列とし、t
iを零ベクトルとして、法線ベクトルを算出する
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
法線ベクトル算出手段について、再投影誤差関数は、バンドル調整における法線ベクトルの初期値を、光軸と平行な方向n
t=[0,0,1]
Tとする
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
登録画像の登録点と撮影画像の追跡座標との間のホモグラフィ行列を用いて、誤追跡された追跡座標を除外する画像特徴追跡手段と
して更にコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
撮影画像の中から、ユーザ操作に応じて平面物体が映る対象領域を特定し、該対象領域を登録画像として記憶する登録画像記憶手段と
して更にコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
登録画像記憶手段は、登録画像を、法線ベクトル算出手段によって算出された法線ベクトルによって正面化画像に幾何変換し、該正面化画像を登録画像として記憶する
ようにコンピュータを機能させることも好ましい。
【0020】
本発明によれば、撮影画像に映り込む平面物体の法線ベクトルを算出する画像処理装置において、
連続的な撮影画像のNc個のフレームiと、
Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点p
j(=[u
j,v
j]
T、j=1〜Np)の3次元座標X
j(=[x
j,y
j,z
j]
T)と、
各フレームに映るNp個の登録点p
j毎の追跡座標m
ij(=[u
ij,v
ij]
T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)と、法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)と
の両方を算出する法線ベクトル算出手
段
を有し、
法線ベクトル算出手段は、登録画像の登録点p
jの3次元座標X
jを、登録点p
jと、物体平面の通る基準点X
0(=[x
0,y
0,z
0]
T)と、法線ベクトルn
tとによって表現し、登録点p
jの物体平面への逆投影によって算出する
ことを特徴とする。
【0021】
本発明によれば、撮影画像に映り込む平面物体の法線ベクトルを算出する装置の法線ベクトル算出方法において、
装置は、
連続的な撮影画像のNc個のフレームiと、
Nc個のフレームiの内のいずれかのフレームである登録画像から検出されたNp個の登録点p
j(=[u
j,v
j]
T、j=1〜Np)の3次元座標X
j(=[x
j,y
j,z
j]
T)と、
各フレームに映るNp個の登録点p
j毎の追跡座標m
ij(=[u
ij,v
ij]
T、i=1〜Nc)とを用いて、
再投影誤差関数を最小化する、カメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)と、法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)と
の両方を算出するステップ
を実行し、
ステップは、登録画像の登録点p
jの3次元座標X
jを、登録点p
jと、物体平面の通る基準点X
0(=[x
0,y
0,z
0]
T)と、法線ベクトルn
tとによって表現し、登録点p
jの物体平面への逆投影によって算出する
ことを特徴とする。
【発明の効果】
【0022】
本発明のプログラム、装置及び方法によれば、対象物体が平面物体(又は概ね平面で近似可能な物体)であるという前提条件の下で、カメラワークの大きな制約無しに、連続的な撮影画像に映り込む平面物体の法線ベクトルを、大幅に少ない計算量で算出することができる。具体的には、法線ベクトルを算出するためのバンドル調整における未知パラメータの数を削減しているために、処理負荷を削減し、推定精度を高めることができる。また、ホモグラフィ行列を用いることによって、特徴点の追跡失敗に対するロバスト性も向上させることができる。
【図面の簡単な説明】
【0023】
【
図1】本発明における画像処理装置の機能構成図である。
【
図2】登録画像及び正面化画像の法線ベクトルを表す説明図である。
【
図3】法線ベクトルと正面化回転行列との関係を表す説明図である。
【
図4】登録画像の登録点と撮影画像の追跡座標との間の対応関係を表す説明図である
【
図5】登録点と追跡座標との対応を表す画像図である。
【
図6】異なる未知パラメータの数で表現した特徴点(追跡座標)を表す画像図である。
【
図7】登録点と基準点、法線ベクトル、対象物平面の幾何的関係を表す説明図である。
【
図8】光軸中心と、画像平面上の登録画像の登録点と、撮影画像の法線ベクトルとの幾何的関係を表すグラフである。
【
図9】バンドル調整に応じてフレーム数に対する法線ベクトルの収束及び処理時間を表すグラフである。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
図1は、本発明における画像処理装置の機能構成図である。
【0026】
図1の画像処理装置によれば、画像取得部10と、登録画像記憶部11と、画像特徴追跡部12と、法線ベクトル算出部13とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の法線ベクトル算出方法としても理解できる。
【0027】
本発明によれば、連続的な撮影画像に映り込む平面物体の法線ベクトルを算出する際に、以下の2つの条件を前提とすることによって、3次元構造の未知のパラメータ数を削減し、できる限り少ない計算量で実行する。
(前提条件1)対象物体が、平面物体(又は概ね平面で近似可能な物体)である
(前提条件2)撮影画像のカメラワークが、微小である
【0028】
撮影画像に映り込む「対象物体」とは、平面で且つ剛体の「平面物体」であり、時間経過に応じて変形するような物体を対象としていない。また、特徴点追跡によって法線ベクトルを推定するために、撮影画像に映る対象物体から、比較的多くの特徴点が検出されることを前提としている。但し、単一色の平面の場合は、特徴点が検出されにくい場合がある。対象物体としては、例えば雑誌やポスター、広告、トレーディングカード、建物の壁面が想定されている。
【0029】
「カメラワーク」とは、ユーザによるカメラの動かし方を意味する。「カメラワークが微小である」ということは、ユーザがカメラをできる限り動かさないように把持して、対象物体を撮影している状態をいう。これに対し、「カメラワークが大きい」とは、ユーザがカメラを大きく動かして、対象物体を様々な位置と方向から撮影している状態をいう。
【0030】
[画像取得部10]
画像取得部10は、カメラによる連続的な撮影画像を取得する。撮影画像は、予め録画されたものであってもよいし、インタフェースを介して外部から時系列に入力されるもの(例えばライブ映像)であってもよい。インタフェースは、ネットワークに接続する通信インタフェースであってもよいし、カメラからの入力インタフェースであってもよい。取得された撮影画像は、画像特徴追跡部12へ出力される。ここで、登録画像がユーザによって指定される場合、取得された撮影画像は、登録画像記憶部11へも出力される。
【0031】
[登録画像記憶部11]
ユーザは、撮影画像中の平面物体の姿勢推定を開始する際に、ユーザインタフェースを介して登録画像を設定し、姿勢推定の開始を指示する。登録画像記憶部11は、画像取得部10から入力された撮影画像の中から、対象領域となる登録画像を記憶する。
【0032】
登録画像記憶部11は、ユーザからユーザインタフェースを介して、平面物体が映る大まかな画像範囲の指示を受け付けることもできる。例えば、ユーザが、平面物体を包含する矩形領域や輪郭を、ポインティング操作に応じて指示する。ここで、登録画像には、その平面物体が、比較的大きく撮像されていることが好ましい。この登録画像が、連続して入力される撮影画像の中で追跡されていく。
【0033】
登録画像記憶部11は、登録画像の画像範囲のトリミングや、画像範囲の外側の背景を単一色で塗りつぶすように画像処理を加えることによって、背景に対する画像特徴の追跡のロバスト性を高めることができる。また、対象物体を表すマスク画像(登録画像と同じ範囲で、対象領域の輝度値を255、それ以外の輝度値を0とすることで表現した画像)を保持し、そのマスク画像を用いて画像特徴追跡部12が、画像特徴を検出する範囲を制限してもよい。
【0034】
図2は、登録画像及び正面化画像の法線ベクトルを表す説明図である。
【0035】
図2によれば、登録画像について、法線ベクトル算出部13によって算出された法線ベクトルn
t=[xn,yn,zn]
Tを用いて幾何変換している。これによって、平面物体が映る登録画像を、正面化画像(平面物体を正面から撮像した際の画像をシミュレートした変換画像)に変換することができる。平面物体が正面から撮影されている場合、法線ベクトルは、画像平面と垂直、光軸と並行の関係になる。逆に、平面物体が真横から撮影されている場合、法線ベクトルは、光軸と垂直、画像平面と並行の関係になる。
【0036】
登録画像記憶部11は、その正面化画像を記憶することができる。登録画像を正面化画像に変換することによって、画像認識や姿勢追跡の精度を向上させることができる。
【0037】
図3は、法線ベクトルと正面化回転行列との関係を表す説明図である。
【0038】
図3によれば、回転行列をRrecは、平面物体の法線ベクトルn
tが、光軸(Z軸)と並行なベクトルn
Zと一致するように変換するものである。
Rrec=R
Y(θ
Y)R
X(θ
X)
R
X:X軸周りの回転行列
R
Y:Y軸周りの回転行列
θ
X:n
tのX軸に沿った角度
θ
Y:n
tのY軸に沿った角度
【0039】
この回転行列Rrecを用いて、登録画像を正面化することができる。例えば以下のようなホモグラフィ行列Hrecによって、登録画像を正面化画像に変換することができる。
Hrec=[p
1,p
2,p
4]
Prec=[p
1,p
2,p
3,p
4]=A[Rrec|t]
t:登録画像中の平面物体の位置を調整する並進ベクトル
ここで、tは正面化画像中の平面物体が画像中央に来るように調整して設定することが望ましい。
【0040】
カメラの内部パラメータAは、画像の歪みを無視した場合、以下のように表すことができる。
【数1】
f
x、f
y:焦点距離、c
x、c
y:光軸のズレ
焦点距離f
x、f
y及び光軸のズレc
x、c
yは、事前のキャリブレーションによって算出しておくことができる。画像平面上の二次元ピクセル座標[u,v]
Tは、内部パラメータを用いて、以下の式で正規化座標[u',v']
Tに変換することができる。
u'=(u−c
x)/f
x , v'=(v−c
y)/f
y
このように、二次元座標を正規化座標で表現することにより、式を簡潔に記載することができる。そのために、本発明の登録点や特徴点の二次元座標は、正規化座標で記載していることに注意すべきである。
【0041】
[画像特徴追跡部12]
画像特徴追跡部12は、連続的な撮影画像の中で、登録画像の登録点(画像特徴)を追跡する。
【0042】
図4は、登録画像の登録点と撮影画像の追跡座標との間の対応関係を表す説明図である。
【0043】
画像間で画像特徴を追跡するために、一般的に以下の2つの技術がある。
<特徴点追跡ベース>
<局所特徴量のマッチングベース>
画像特徴追跡部12は、2つのいずれか一方又は両方を用いて、登録画像(法線ベクトルn
t)の登録点p
j(=[u
j,v
j]
T、j=1〜Np)に対応する撮影画像の追跡座標m
ij(=[u
ij,v
ij]
T、i=1〜Nc)を取得する。
【0044】
<特徴点追跡ベース>
特徴点追跡ベースの技術によれば、Harrisコーナー検出器や、FASTコーナー検出器によって、登録画像の登録点に対応する撮影画像の中の追跡座標を検出する。一般的に、KLT(Kanade-Lucas-Tomasi)アルゴリズムや、特徴点周囲局所領域を切り出したパッチのテンプレートマッチングの技術が用いられる。テンプレートマッチングの類似度算出方法としては、NCC(Normalized Cross Correlation)やSSD(Sum of Squared Difference)を用いることができる。
【0045】
<局所特徴量のマッチングベース>
局所特徴量のマッチングベースの技術によれば、SIFT(Scale-Invariant Feature Transform)やSURF(Speeded Up Robust Features)のような、位置や回転、歪みの変化に頑健な特徴量のマッチングによって画像間の点対応を取得する。SIFTは、1枚の画像からは128次元の特徴ベクトルの集合を抽出し、スケールスペースを用いて特徴的な局所領域を解析し、そのスケール変化及び回転に不変となる特徴ベクトルを記述する。SURFは、積分画像を利用することによってSIFTよりも高速処理が可能であって、1枚の画像から64次元の特徴ベクトルの集合を抽出する。また、バイナリ特徴ベクトル抽出アルゴリズムであるFAST(Features from Accelerated Segment Test)やFREAK(Fast Retina Keypoint)の場合、SIFTやSURFよりも高速且つコンパクトな特徴ベクトルを抽出することができる。
【0046】
ここで、登録点と追跡座標との間で、背景画像が写りこむ場合や、照明変化、パターン模様等に起因して、誤追跡(アウトライア)される場合がある。後段の法線ベクトル算出部13に入力される登録点及び追跡座標には、アウトライアの対応点が入力されないことが好ましい。ここで、画像特徴追跡部12は、登録画像の登録点と撮影画像の追跡座標との間のホモグラフィ行列を用いて、誤追跡された追跡座標を除外する。即ち、アウトライアの追跡座標が除外され、インライアの追跡座標のみが、法線ベクトル算出部13へ出力される。
【0047】
図5は、登録点と追跡座標との対応を表す画像図である。
【0048】
図5によれば、対象物体が平面であると仮定して、幾何的な検証によって誤追跡を除外することができる。平面物体上の登録点の位置の変化は、ホモグラフィ変換で表現することができる。そのために、画像特徴追跡部12は、登録画像と撮影画像との間のホモグラフィ行列H
RCを推定し、そのH
RCに該当しない追跡座標を除外することによって、追跡のロバスト性を向上させることができる。
【0049】
具体的には、各登録点p
jについて、H
RCを用いた変換位置と、実際の追跡座標m
ijの距離d
ijを、以下の式によって算出する。
d
ij=|m
ij−p'
ij|
P'
ij ̄=H
RCp
ij ̄
P
ij' ̄:p
ijの同次表現
d
ij:追跡座標m
ijのホモグラフィ行列H
RCからの乖離度
d
ijが一定の閾値以上の追跡座標m
ijを除外することによって、追跡のロバスト性を向上させることができる。
【0050】
一般に、ホモグラフィ行列の推定値は、登録点の投影誤差関数の最小化問題を解くことによって得られる。ここで、更に、RANSAC(RANdom SAmple Consensus)のようなロバスト推定を併用することによって、H
RCに該当する追跡座標のインライアとアウトライアとを、ロバストに分離することができる。
【0051】
登録画像の全面に平面物体が映る場合、画像間のホモグラフィ行列を高精度に推定することができる。一方で、登録画像の一部にしか平面物体が映らない場合(背景が写る場合)や、対象物体が一部立体的構造を含む場合、画像特徴の対応からホモグラフィ行列を一意に推定することができない。このとき、正しい追跡座標であっても、ホモグラフィ推定によってアウトライアとなることが起こりうる。これらの点は平面構造に合致しないため、追跡結果に含まれると法線ベクトルの推定精度の劣化要因となる。そのため、ロバスト推定で除外されることが好ましい。
【0052】
このような点が少数であれば、ロバスト推定で正しく除外することができる。尚、背景に対して平面物体の面積が相対的に小さい場合は、アウトライアの除外に失敗し、誤ったホモグラフィ行列を算出してしまうことに留意すべきである。
【0053】
<ホモグラフィ行列を用いた登録画像の画像範囲の推定>
ユーザの指示に応じて平面物体が映る登録画像から、ある程度、背景領域を除外することができる。しかしながら、ユーザが厳密に、平面物体を登録画像全体で指定することは難しく、登録画像の指定には誤差が含まれる。尚、本来、利便性の観点からは、対象領域をユーザに指定させる必要が無いことが好ましい。
【0054】
ここで、画像特徴追跡部12は、登録画像中の対象領域を推定し、ホモグラフィ行列の算出に用いる画像特徴を制限することで、ホモグラフィ推定のロバスト性を向上させる。また、対象領域外の画像特徴に対して、ホモグラフィ行列と合致するかを検証することによって、画像特徴追跡のロバスト性を向上させる。最終的には、インライアとなった登録点のみを用いて対象領域を更新することができる。
【0055】
<登録画像に映る平面物体の位置の推定>
平面物体は、登録画像の中央付近に写っていることが一般的に期待されており、対象領域の初期値として、登録画像の中央付近の領域を指定することが望ましい。ホモグラフィ行列に合致するインライアの取得後、インライアを包含する領域を対象領域として更新する。
【0056】
<大きすぎるカメラワークに対する処理の中断>
追跡に成功した追跡座標(画像特徴)の数が著しく少ない場合、複数の原因がある。例えば、カメラワークが大きすぎるか、光源変化やフォーカスの変化によって画像特徴の追跡が著しく困難な画像が入力されたか、登録画像にノイズが乗っている場合がある。これらの場合、法線ベクトルを正確に算出することができない。そのために、画像特徴追跡部12は、追跡に成功した画像特徴の数が第1の所定閾値τ
np以下の場合に、画像処理を中断して、画像登録からやり直す。
【0057】
<少なすぎる追跡座標に対する処理の中断>
十分な数の追跡座標(画像特徴)が追跡できたにもかかわらず、ホモグラフィ行列に合致する(インライアとなる)追跡座標の数が著しく少ない場合、対象領域が平面で無い場合が想定される。この場合、画像特徴追跡部12は、追跡に成功した画像特徴の数が第2の所定閾値(<第1の所定閾値)以下の場合に、画像処理を中断して、「対象物体が平面で無い」旨をユーザに明示する。
【0058】
<多面体の対象物体に対する繰り返し処理>
対象物体が複数平面で構成される場合は、第1の対象領域についてアウトライアとなった追跡座標のみから再度、RANSAC等のロバスト推定を用いて、第2の対象領域として、第1のH
RCとは異なる第2のホモグラフィ行列H
RCを算出し、そのインライアとなる追跡座標を抽出することも好ましい。3つ以上の対象領域についても、これを繰り返すことができる。
【0059】
第2の対象領域以降の法線ベクトルは、法線ベクトル算出部13の処理によって、第1の対象領域の法線ベクトルを推定した後で同様の処理を繰り返していくか、又は、各対象領域に対して法線ベクトル算出部13の処理を並列に実行することもできる。並列的に実行する方が、法線ベクトルを高速に推定することができるが、処理負荷が高くなる。処理リソースに応じて、処理手順を選択することが好ましい。
【0060】
[法線ベクトル算出部13]
法線ベクトル算出部13には、画像特徴追跡部12から、各撮影画像に対応する連続的な登録点pの群が入力される。法線ベクトル算出部13は、撮影画像に映り込む平面物体の法線ベクトルを算出するために、以下の要素を用いる。
i:連続的な撮影画像のNc個のフレームの番数
X
j(=[x
j,y
j,z
j]
T):平面物体の登録画像から検出されたNp個の登録点p
j(=[u
j,v
j]
T、j=1〜Np)の3次元座標
m
ij(=[u
ij,v
ij]
T、i=1〜Nc):各フレームに映るNp個の登録点p
j毎の追跡座標
そして、法線ベクトル算出部13は、再投影誤差関数(バンドル調整)を最小化する、カメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)と、法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)とを算出する。
このとき、本発明の法線ベクトル算出部13は、登録画像の登録点p
jの3次元座標X
jを、登録点p
jと、物体平面の通る基準点X
0(=[x
0,y
0,z
0]
T)と、法線ベクトルn
tとによって表現し、登録点p
jの物体平面への逆投影によって算出する。
これによって、X
j(=[x
j,y
j,z
j]
T)を未知パラメータとすることなく、これに代えて、法線ベクトルn
tの2パラメータを未知パラメータとすることができる。
【0061】
また、法線ベクトル算出部13は、基準点X
0を、登録点p
jの重心p
0(=[u
0,v
0]
Tの逆投影(X
0=1/w
0[u
0,v
0,1]
T)によって算出するものであってもよい。
物体平面の通る基準点X
0(=[x
0,y
0,z
0]
T)は、再投影誤差関数の最小化計算の安定性の観点から、対象物平面の中心付近に設定することが好ましい。また、推定されるカメラ姿勢はスケール不定のため、X
0の奥行きは任意の値に設定してもよい。例えば、X
0=[0,0,f]
T(fは焦点距離f
x、f
yに近い値)と設定してもよい。
但し、対象物が画像中央に映るとは限らないため、登録点p
jの重心p
0(=[u
0,v
0]
T)を算出して、p
0の逆投影点X
0(=1/w
0[u
0,v
0,1]
T)を算出してもよい。これにより、対象物が画面の端の方に映る場合における、法線ベクトル算出の安定性を向上することができる。この場合についても、奥行き1/w
0は任意の値(例えば焦点距離f
x、f
yに近い値)に設定してもよい。また、予め対象物平面までの距離が大まかに分かっている場合には、分かっている範囲に設定することも好ましい。
【0062】
法線ベクトル算出部13について、再投影誤差関数(バンドル調整)は、以下の式によって表される。
R
i',t
i',n
t'=arg min
Ri,ti,ntΣ
i=1NcΣ
j=1Np(m
ij−proj(R
i,t
i,X
j))
2
X
j=(n
t・X
0/n
t・p
j')p
j'
=(x
nx
0+y
ny
0+z
nz
0)/(x
nu
j+y
nv
j+z
n)[u
j,v
j,1]
T
x
n2+y
n2+z
n2=1
z
n=√(1−x
n2−y
n2)
p
j'(=[u
j,v
j,1]
T):登録点p
jの同次座標表現
i:撮影画像のNc個のフレームの番数
m
ij:フレームiに映るNp個の登録点p
j毎の追跡座標
R
i及びt
i:フレームiのカメラ姿勢パラメータ
n
t:平面物体の法線ベクトル
X
0:物体平面の通る基準点
proj(R
i,t
i,X
j):3次元座標X
jの投影関数 [R
i|t
i]X
j'
X
j':X
jの同次座標表現
R
i'及びt
i':フレームiのカメラ姿勢パラメータR
i及びt
iの推定値
n
t':平面物体の法線ベクトルn
tの推定値
【0063】
図6は、異なる未知パラメータの数で表現した特徴点(追跡座標)を表す画像図である。
【0064】
既存技術に基づく3次元復元で用いられるバンドル調整の場合、X
j(=[x
j,y
j,z
j]
T)を未知パラメータとしている。そのために、再投影誤差関数における未知パラメータの数は、Nc個のフレームi毎に生じるカメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)の6個と、Np個の3次元座標の登録点p
jとなり、未知パラメータの数は、6Nc+3Np個となる。
R
i',t
i',X
j'=arg min
Ri,ti,xjΣ
i=1NcΣ
j=1Np(m
ij−proj(R
i,t
i,X
j))
2
【0065】
これに対し、本発明によれば、X
j(=[x
j,y
j,z
j]
T)に代えて、法線ベクトルn
tの2パラメータを未知パラメータn
t’とする。そのために、再投影誤差関数における未知パラメータの数は、Nc個のフレームi毎に生じるカメラ姿勢パラメータR
i(=[r
ix,r
iy,r
iz]
T)及びt
i(=[t
ix,t
iy,t
iz]
T)の6個と、登録点p
jに対する法線ベクトルn
t(=[x
n,y
n,z
n]
T,x
n2+y
n2+z
n2=1)の2個とを合計した、6Nc+2個となる。
R
i',t
i',n
t'=arg min
Ri,ti,ntΣ
i=1NcΣ
j=1Np(m
ij−proj(R
i,t
i,X
j))
2
そのために、本発明によれば、パラメータ数を大幅に削減することができ、処理負荷の削減と、精度の向上との効果を得られる。
【0066】
図7は、登録点と基準点、法線ベクトル、対象物平面の幾何的関係を表す説明図である。
【0067】
法線ベクトルを算出できれば、平面物体の3次元構造を算出できる。ここで、法線ベクトルの推定対象となる平面物体は、事前に見た目やサイズに関する情報が全く与えられていないこととする。法線ベクトル算出部13の推定する平面物体の法線ベクトルとは、画像平面に対する平面物体の法線ベクトルの情報である。
【0068】
また、法線ベクトル算出部13について、再投影誤差関数は、バンドル調整における法線ベクトルの初期値を、光軸と平行な方向とすることが好ましい。
【0069】
再投影誤差関数の最小化は、ガウス・ニュートン法に代表される、非線形最小化問題の解法を用いることができる。
【0070】
法線ベクトル算出部13は、撮影画像のカメラワークが微小であるとする前提条件の下、初期値として、カメラ姿勢パラメータのR
iを単位行列とし、t
iを零ベクトルとし、n
t=[0,0,1]
Tとして、法線ベクトルを算出する。回転行列R
iは、以下の式で分解できるため、パラメータr
x,r
y,r
zをパラメータとして用いる。
【数2】
θ=||r||
L2
r=[r
x,r
y,r
z]
T
【0071】
特に、カメラワーク(視点変化)が小さいほど、回転行列Riは以下の式で近似できるため、θ
ix,θ
iy,θ
izをパラメータとして用いてもよい。
【数3】
最終的に、法線ベクトル算出部13は、推定した法線ベクトルn
tを、所定のアプリケーションへ出力することができる。また、法線ベクトルn
tは、登録画像記憶部11へ出力され、登録画像に対する正面化画像を記憶することもできる。
【0072】
図8は、光軸中心と、画像平面上の登録画像の登録点と、撮影画像の法線ベクトルとの幾何的関係を表すグラフである。
【0073】
図8によれば、400×400ピクセルの画像平面を、20ピクセル間隔でサンプリングし、441点の初期追跡点p
jを取得したものである(Np=441)。
対象平面の法線n
tを、z軸方向から角度45度以内でランダムに生成し、登録点p
jを逆投影して3次元座標X
jを取得する。焦点距離fは、500mmに設定している。
そして、初期のカメラ姿勢r
0=[0 0 0]
T、t
0=[0 0 0]
Tにガウシアンノイズを加え、カメラ姿勢R
i及びt
i(i=1〜100)を生成する。
カメラ姿勢R
i及びt
iによってX
jを投影し、ガウシアンノイズを加えて、追跡点m
ij(j=1〜441)を生成する。
m
ijを入力として、法線方向n
t'を推定する。
推定に使用するフレーム数を、2枚から100枚まで徐々に増やし、精度及び処理時間を評価する(Nc=2〜100)。
n
tを100セット用意し、精度及び処理時間の平均を算出する。
【0074】
図9は、バンドル調整に応じてフレーム数に対する法線ベクトルの精度及び処理時間を表すグラフである。
【0075】
図9によれば、異なるバンドル調整について比較している。
DE:従来のバンドル調整(パラメータ数6Nc+Np=453〜1041)で、3次元座標X
j'を主成分分析して、法線ベクトルn
t'を算出する。
OE:本発明のバンドル調整(パラメータ数6Nc+2=14〜602)で、法線ベクトルを算出する。
【0076】
図9(a)は、フレーム数に応じた法線ベクトルの推定精度を表すグラフである。ここでは、従来技術のバンドル調整DEと、本発明のバンドル調整OEとを比較して、法線ベクトルの精度は同じである。即ち、20フレーム程度で、法線ベクトルを高精度(角度誤差約2度)に算出できる。
【0077】
図9(b)は、フレーム数に応じた法線ベクトルの処理時間を表すグラフである。ここでは、従来技術のバンドル調整DEと、本発明のバンドル調整OEとを比較して、法線ベクトルの推定処理時間は大きく異なっている。即ち、本発明のバンドル調整OEの処理時間が、極めて高速(短時間)であることが理解できる。具体的には、Nc=2で60倍、Nc=20で約12倍、Nc=100で約3倍の高速化が確認できる。
【0078】
前述した実施形態によれば、1枚の平面で構成された平面物体について説明した。勿論、本発明によれば、複数の主要平面で構成された対象物体であっても、複数平面のそれぞれについて適用することもできる。即ち、本発明は、対象物体を構成する主要な平面数を1枚に限定するものではない。平面数を増やすことで、任意形状の対象物体に対して適用することができる。
【0079】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、対象物体が平面物体(又は概ね平面で近似可能な物体)であるという前提条件の下で、カメラワークの大きな制約無しに、連続的な撮影画像に映り込む平面物体の法線ベクトルを、大幅に少ない計算量で算出することができる。具体的には、法線ベクトルを算出するためのバンドル調整における未知パラメータの数を削減しているために、処理負荷を削減し、推定精度を高めることができる。また、ホモグラフィ行列を用いることによって、特徴点の追跡失敗に対するロバスト性も向上させることができる。
【0080】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0081】
1 画像処理装置
10 画像取得部
11 登録画像記憶部
12 画像特徴追跡部
13 法線ベクトル算出部