JP5915130B2 - 三次元座標測定装置、三次元座標測定方法、及びプログラム - Google Patents
三次元座標測定装置、三次元座標測定方法、及びプログラム Download PDFInfo
- Publication number
- JP5915130B2 JP5915130B2 JP2011268434A JP2011268434A JP5915130B2 JP 5915130 B2 JP5915130 B2 JP 5915130B2 JP 2011268434 A JP2011268434 A JP 2011268434A JP 2011268434 A JP2011268434 A JP 2011268434A JP 5915130 B2 JP5915130 B2 JP 5915130B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- feature point
- frame
- unit
- 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.)
- Active
Links
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Description
図3は、移動体上に取り付けたカメラによって撮影して得られた映像に特徴点Pが含まれる場合を図解したものである。
x1=f×X1/Z1
x2=f×(X1−b)/Z1
が成立する。
d=x1−x2=f×b/Z1
となる。よって、特徴点PのZ軸方向の位置(すなわち、カメラから見た特徴点Pまでの奥行き)Z1は、
Z1=f×b/d
で表される。
今、投影点での観測ずれによって視差dが1だけずれた値として観測された特徴点Pまでの奥行きをZ2とする。このとき、距離のずれdZは、
dZ=Z1−Z2
=f×b/d−f×b/(d+1)
=f×b/(d×(d+1))
=Z1/(f×b/Z1+1)
=(Z1)2 /(f×b+Z1)
となる。
この三次元座標測定装置10は、撮影部11、抽出部12、追跡部13、検出部14、登録部15、及び算出部16を備えている。
抽出部12は、撮影部11により撮影された時系列映像の各フレームに含まれている特徴点を抽出する。
登録部15は、検出部14により検出された移動量が所定量を超える度に、キーフレームに含まれている特徴点についての当該キーフレーム上での位置情報と、当該特徴点についての追跡部13による追跡結果を表している追跡情報との登録を行う。なお、キーフレームとは、検出部14により検出された移動量が所定量を超えた直後に撮影部11により撮影された時系列映像のフレームである。
以上のように、対応関係を有している特徴点に対する追跡部13による追跡の重複が抑制される。
このようにすることで、登録部15での情報の登録を行うために確保しておく必要がある記憶領域の容量を、所定量に制限することができるようになる。
図6において、カメラ21、映像入力部22、及び映像保存部23、並びに時系列映像DB(データベース)31は、図4においては撮影部11が備えている。また、特徴点抽出部24及び特徴点登録部25並びに時系列特徴点DB(データベース)32は、図4においては抽出部12が備えている。更に、時系列照合部26は、図4においては追跡部13が備えている。また、移動量センサ27及び移動量算出部28は、図4においては検出部14が備えている。更に、キーフレーム更新部29及びキーフレームDB(データベース)33は、図4においては登録部15が備えている。そして、三次元位置算出部30は、図4においては算出部16が備えている。
特徴点抽出部24は、時系列映像の各フレームから特徴点を抽出し、特徴点のフレーム上の位置を表す情報((x、y)の直交二次元座標データ)を特徴点登録部25へ出力する。
移動量算出部28は、移動量センサ27により検出された移動体の移動量より、時系列映像における撮影時刻が1時刻前であるフレームの撮影時刻から現時刻のフレームの撮影時刻までの期間における移動体の回転量と並進量を算出し、その算出結果を出力する。
なお、この算出には、移動量算出部28による算出結果と、キーフレームDB33に格納されている、直近キーフレームの撮影時刻から1時刻前のフレームの撮影時刻までの移動体の回転量及び並進量とが用いられる。ここで、直近キーフレームの撮影時刻から現時刻までの期間の並進量が所定量を超えていた場合には、時系列特徴点DB32に記録されている撮影時刻が現時刻のフレームについての情報を、新たなキーフレームの情報として、キーフレームDB33に追加する。なお、新たなキーフレームの情報を追加する余裕がキーフレームDB33にない場合には、キーフレーム更新部29は、キーフレームDB33において撮影時刻が最古であるキーフレームについての情報を削除して、新たなキーフレームの情報を追加する。
配列FTP()は、F_ID、F_USE、F_PX、F_PY、及びF_KCNTの各要素を有している。
F_USEは、この配列の要素のデータが有効なものであるか否かを表すフラグである。このフラグの初期値は「0」とされて、配列の要素のデータは無効であることが表される。
F_KCNTは、この配列により表されている特徴点についての追跡結果であって、この配列により表されている特徴点の対応関係を追って遡ることのできるキーフレームの数を表すものであり、初期値は「0」とされる。
配列KEYF()は、K_FPTSET、K_R、及びK_Tの各要素を有している。
図9において、三次元座標測定装置10は、MPU41、ROM42、RAM43、インタフェース装置44、出力装置45を備えている。なお、これらの構成要素は、システムバス46を介して接続されており、MPU41の管理の下で各種のデータを相互に授受することができる。更に、三次元座標測定装置10は、前述したカメラ21及び移動量センサ27を備えており、これらはインタフェース装置44に接続されている。
ROM(Read Only Memory)42は、所定の制御プログラムや各種の定数値が予め記録されている読み出し専用半導体メモリである。MPU41は、この制御プログラムを三次元座標測定装置10の起動時に読み出して実行することにより、この三次元座標測定装置10の各構成要素の動作制御が可能となり、更に、後述する制御処理を行えるようにもなる。
出力装置45は、MPU41から送付されるデータの出力を行う装置であり、例えば、MPU41から送付される表示データに応じて各種のテキストや画像を表示する液晶ディスプレイ装置である。
図10の処理が開始されると、まず、S101において、INIT_F、P_CUR、P_LAST、及びDBK_Pの各々に初期値を設定する処理が行われる。
q1=(0,0,0,1)
q2=(wx,wy,wz,0)
と表すと、回転変換の四元数表現は、
qq=(1/2)×q1×q2×dt
で表される。なお、ここで、dtは、時系列画像の撮影時間間隔を表しており、例えば一般的なビデオレートでの処理ならば、1/30秒である。
qq=(x,y,z,w)
と表すこととすると、Rsは下記の[数1]式のように表現される。
以上までの処理が、三次元座標測定処理である。
なお、以降で説明する各関数の処理手順において使用されている変数i、j、ii、及びij、は、その関数の処理において局所的に使用される変数であって、大域的に使用されるものではないものとする。
図11において、まず、S201では、変数iに初期値「0」を代入する処理を特徴点登録部25が行う。
次に、S203において、この処理時点での変数iの値が、図10のS104の処理において特徴点抽出部24により抽出された特徴点(コーナー点)の個数NC以下であるか否かを判定する処理を特徴点登録部25が行う。ここで、特徴点登録部25は、変数iの値がNC以下であると判定したとき(判定結果がYesのとき)にはS204に処理を進める。一方、特徴点登録部25は、変数iの値がNCを超えたと判定したとき(判定結果がNoのとき)には、この特徴点登録処理を終了して図10に処理を戻す。
次に、S206において、この処理時点での変数jの値に「1」を加算した結果の値を改めて変数jに代入する処理を特徴点登録部25が行う。
まず、特徴点登録部25は、バッファメモリDBF(P_CUR)における配列FTP(j)を参照し、要素F_PX及びF_PYの値を取得して変数xp及びypにそれぞれ代入する処理を行う。そして、次に、特徴点登録部25は、下記の式の計算を実行してLの値を算出する処理を行う。
L={(xp−xc)2 +(yp−yc)2 }1/2
特徴点登録部25は、S209において、以上の処理を行う。
以上までの処理が特徴点登録処理である。
次に、S222において、この処理時点での変数iの値に「1」を加算した結果の値を改めて変数iに代入する処理を特徴点登録部25が行う。
次に、図10の処理におけるS106の処理である、時系列照合処理の具体的な処理内容について、図13A及び図13Bに図解したフローチャートを参照しながら説明する。
次に、S302において、この処理時点での変数iの値に「1」を加算した結果の値を改めて変数iに代入する処理を時系列照合部26が行う。
まず、時系列照合部26は、バッファメモリDBF(P_LAST)における配列FTP(i)を参照し、要素F_PX及びF_PYの値を取得して変数px1及びpy1にそれぞれ代入する処理を行う。そして、次に、時系列照合部26は、関数MATCH(px1,py1)の戻り値を取得して変数px2、py2、及びRESに代入する処理を行う。
次に、S307では、S306の処理により得られた関数MATCHの戻り値のうちのRESの値が「1」であったか否かを判定する処理を時系列照合部26が行う。時系列照合部26は、ここで、RESの値が「1」であったと判定したとき(判定結果がYesのとき)にはS308に処理を進め、RESの値が「1」ではなかったと判定したとき(判定結果がNoのとき)にはS309に処理を進める。
次に、S311において、この処理時点での変数iの値に「1」を加算した結果の値を改めて変数iに代入する処理を時系列照合部26が行う。
次に、S316において、この処理時点での変数jの値に「1」を加算した結果の値を改めて変数jに代入する処理を時系列照合部26が行う。
まず、時系列照合部26は、バッファメモリDBF(P_CUR)における配列FTP(j)を参照し、要素F_PX及びF_PYの値を取得して変数px2及びpy2にそれぞれ代入する処理を行う。そして、次に、時系列照合部26は、下記の式の計算を実行してLの値を算出する処理を行う。
L={(px2−px1)2 +(py2−py1)2 }1/2
時系列照合部26は、S319において、以上の処理を行う。
次に、上述した時系列照合処理におけるS306(図13A)の処理において用いられているMATCH関数の具体的な処理手順について、図14に図解したフローチャートを参照しながら説明する。
SRCHx及びSRCHyは、現時刻フレームの映像上における前述した比較対象の部分映像の探索範囲に関する定数である。本実施例では、座標(px1、py1)の位置を中心とし、x方向に(SRCHx×2+1)画素、y方向に(SRCHy×2+1)画素の矩形を、この探索範囲とする。これらの具体的な値は予め定めておくものとし、例えば、SRCHxを20画素とし、SRCHyを5画素とする。
i=py1−SRCHy−1
なお、上記の式におけるpy1は、MATCH関数が呼ばれたときの引数のひとつである。
次に、S333では、この処理時点での変数iの値が、py1とSRCHyとの和の値以下であるか否かを判定する処理を時系列照合部26が行う。時系列照合部26は、ここで、iがpy1とSRCHyとの和以下であると判定したとき(判定結果がYesのとき)にはS334に処理を進め、iがpy1とSRCHyとの和よりも大きいと判定したとき(判定結果がNoのとき)にはS346に処理を進める。
j=px1−SRCHx−1
なお、上記の式におけるpx1は、MATCH関数が呼ばれたときの引数のひとつである。
次に、S336では、この処理時点での変数jの値が、px1とSRCHxとの和の値以下であるか否かを判定する処理を時系列照合部26が行う。時系列照合部26は、ここで、jがpx1とSRCHxとの和以下であると判定したとき(判定結果がYesのとき)にはS337に処理を進める。一方、時系列照合部26は、ここで、jがpx1とSRCHxとの和よりも大きいと判定したとき(判定結果がNoのとき)には、S332へと処理を戻して前述した処理を繰り返す。
ii=−REGy−1
次に、S338では、この処理時点での変数iiの値に「1」を加算した結果の値を改めて変数iiに代入する処理を時系列照合部26が行う。
jj=−REGx−1
次に、S341では、この処理時点での変数jjの値に「1」を加算した結果の値を改めて変数jjに代入する処理を時系列照合部26が行う。
まず、時系列照合部26は、前時刻フレームの映像データDBP(P_LAST)における座標(px+jj,py+ii)の位置の画素値を取得して変数v1に代入する。
その後、時系列照合部26は、この変数v1と変数v2との値の差の絶対値を算出し、この算出結果と、この処理時点での変数Sの値とを加算した結果の値を改めて変数Sに代入する。
次に、S348では、変数RESに値「0」を代入する処理を時系列照合部26が行う。
MATCH関数は以上のように処理される。
キーフレームDB33で保持されている直近キーフレームについての情報である配列KEYF(DBK_P)のうちの要素K_R及びK_Tには、当該キーフレームの撮影時刻から、前時刻フレームの撮影時刻までの移動体の移動量が格納されている。また、図10のS107の処理において移動量算出部28により取得された回転量Rs及び並進量Tsは、前時刻フレームの撮影時刻から現時刻フレームの撮影時刻までの移動体の移動量を表している。ここで、直近キーフレームの撮影時の座標系をX1とし、前時刻フレームの撮影時の座標系をX2とし、現時刻フレームの撮影時の座標系をX3とする。このとき、以下の関係が成り立つ。
X2=K_R×X1+K_T
X3=Rs×X2+Ts
X3=Rs×(K_R×X1+K_T)+Ts
=Rs×K_R×X1+Rs×K_T+Ts
となる。
X3=Rc×X1+Tc
と置くと、
Rc=Rs×K_R
Tc=Rs×K_T+Ts
が成立する。
S404では、この処理時点におけるバッファメモリDBKの配列KEYF(DBK_P)における要素K_R及びK_Tの値を、回転量変数Ru及び並進量変数Tuに代入する処理をキーフレーム更新部29が行う。
Rc=Rs×Ru
Tc=Rs×Tu+Ts
次に、S410では、この処理時点での変数DBK_Pの値が、前述した個数NKよりも大きくなったか否かを判定する処理をキーフレーム更新部29が行う。キーフレーム更新部29は、ここで、DBK_PがNKよりも大きくなったと判定したとき(判定結果がYesのとき)にはS411に処理を進める。一方、キーフレーム更新部29は、ここで、DBK_PがNK以下であると判定したとき(判定結果がNoのとき)には、このキーフレーム更新処理を終了して図10に処理を戻す。
以上までの処理がキーフレーム更新処理である。
上述したS421及びS422の処理によって、新たなキーフレームの情報を追加する余裕がキーフレームDB33にない場合に、キーフレームDB33において撮影時刻が最古であるキーフレームの情報に、新たなキーフレームの情報が上書きされるようになる。従って、当該撮影時刻が最古であるキーフレームについての情報がキーフレームDB33から削除されて、新たなキーフレームの情報が追加される。
次に、S424では、この処理時点での変数iの値に「1」を加算した結果の値を改めて変数iに代入する処理をキーフレーム更新部29が行う。
REGIST_DBK関数は以上のように処理される。
まず、S501では、変数iに初期値「0」を代入する処理を三次元位置算出部30が行う。
次に、S502では、この処理時点での変数iの値に「1」を加算した結果の値を改めて変数iに代入する処理を三次元位置算出部30が行う。
まず、三次元位置算出部30は、配列変数F1における要素F_PX及びF_PYの値を取得して変数px1及びpy1にそれぞれ代入する処理を行う。そして、次に、三次元位置算出部30は、関数SEARCH_KEYF(F1)の戻り値を取得して変数Kに代入する処理を行う。
まず、三次元位置算出部30は、関数CALC_RT(K,DBK_P)の戻り値を取得して変数Rm及びTmに代入する処理を行う。
そして、次に、三次元位置算出部30は、関数CALC_3D(px1,py1,px2,py2,Rm,Tm)の戻り値を取得して変数X、Y、及びZに代入する処理を行う。
CALC_RT関数は、キーフレームについての情報が保持されている配列KEYF()を特定する2つの番号を引数とする。この関数は、引数で特定される2つのキーフレームのうちの撮影時刻の前のものを撮影してから、当該2つのキーフレームのうちの撮影時刻の後のものを撮影するまでの移動体の移動量を算出して、その移動量(回転量及び並進量)を戻り値として返す関数である。従って、S508の処理では、変数Kで特定されるキーフレームを撮影してから直近キーフレームを撮影するまでの移動体の回転量及び並進量が、それぞれ変数Rm及びTmに代入される。このCALC_RT関数の具体的な処理手順については後述する。
以上までの処理が三次元位置算出処理である。
まず、S511において、変数iに初期値「0」を代入すると共に、この処理時点での変数DBK_Pの値に「1」を加算した結果の値を変数Pに代入する処理を三次元位置算出部30が行う。
次に、S515では、この処理時点での変数iの値が個数NK以下であるか否かを判定する処理を三次元位置算出部30が行う。三次元位置算出部30は、ここで、iの値がNK以下であると判定したとき(判定結果がYesのとき)にはS516に処理を進め、iの値がNKよりも大きくなったと判定したとき(判定結果がNoのとき)にはS517に処理を進める。
次に、S518では、この処理時点での変数Kの値が、個数NKの値よりも大きくなったか否かを判定する処理を三次元位置算出部30が行う。三次元位置算出部30は、ここで、Kの値がNKの値よりも大きくなったと判定したとき(判定結果がYesのとき)にはS519に処理を進め、Kの値がNKの値以下であると判定したとき(判定結果がNoのとき)にはS520に処理を進める。
次に、S520では、SEARCH_KEYF関数の戻り値として、この処理時点での変数Kの値を返す処理を三次元位置算出部30が行い、その後はこの図18の処理が終了する。
SEARCH_KEYF関数は以上のように処理される。
次に、S533では、この処理時点での変数Kの値が前述した個数NKの値よりも大きくなったか否かを判定する処理を三次元位置算出部30が行う。三次元位置算出部30は、ここで、Kの値がNKの値よりも大きくなったと判定したとき(判定結果がYesのとき)にはS534に処理を進め、Kの値がNKの値以下であると判定したとき(判定結果がNoのとき)にはS535に処理を進める。
次に、S535では、配列KEYF(K)における要素K_R及びK_Tの値を、変数Ru及びTuにそれぞれ代入する処理を三次元位置算出部30が行う。
Rm=Ru×Rm
Tm=Ru×Tm+Tu
なお、上記の式は、前述したキーフレーム更新処理におけるS406(図15)と同様の式である。
次に、上述した三次元位置算出処理におけるS508の処理において用いられているCALC_3D関数による特徴点の三次元位置座標の算出の手法について、図20及び図21を用いて説明する。
xh=Rw×(Xw−Tw)
このとき、時刻t1においてのXw1とxh1との関係は、
xh1=Rw×(Xw1−Tw)
と表され、時刻t2においてのXw2とxh2との関係は、
xh2=Rw×(Xw2−Tw)
と表される。
Xw2=Rm×Xw1+Tm
と表されるとすると、
Rw.t×xh2+Tw=Rm×(Rw.t×xh1+Tw)+Tm
=Rm×Rw.t×xh1+Rm×Tw+Tm
が成り立つ。なお、Rw.tは、Rwの転置行列を表している。この式を整理すると、
xh2=Rw×Rm×Rw.t×xh1+Rw×(Rm×Tw+Tm−Tw)
=(Rw×Rm×Rw.t)×xh1+Rw×((Rm−I)×Tw+Tm)
となる。ここで、
Rv=Rw×Rm×Rw.t
Tv=Rw×((Rm−I)×Tw+Tm)
と置けば、
xh2=Rv×xh1+Tv
と表される。
次に、図21に図解するように、特徴点Pが、移動体座標系における三次元位置(X,Y,Z)に位置しているものとする。また、このときに、時刻t1でカメラ座標系の原点から見た特徴点Pの撮像面上の投影位置n1を(px1、py1)とし、時刻t2でカメラ座標系の原点から見た特徴点P撮像面上の投影位置n2を(px2、py2)とする。
n1=(px1、py1、f)
n2=(px2、py2、f)
となる。
P1=l1×n1
P2=l2×n2
と表される。
P2=Rv×P1+Tv
の関係がある。従って、
l2×n2=Rv×l1×n1+Tv
が成立する。ここで、N1=Rv×n1と置くと、
l2×n2=l1×N1+Tv
となる。
N1=(NX1,NY1,NZ1)
n2=(nx2,ny2,nz2)
Tv=(Tvx,Tvy,Tvz)
と表現する。すると、上記の式は、以下のように成分表示される。
l2×nx2=l1×NX1+Tvx
l2×ny2=l1×NY1+Tvy
l2×nz2=l1×NZ1+Tvz
上記の連立方程式の未知数はl1とl2との2つであり、過拘束の関係にあり、一意に解が求まらないので、最小二乗法を適用して未知数の最適な解を求めるようにする。
これにより、l1及びl2が求まる。
P2=n2×l2
で与えられる。カメラ座標系xhと移動体座標系Xwとの関係は
xh=Rw×(Xw−Tw)
であるので、
11 撮影部
12 抽出部
13 追跡部
14 検出部
15 登録部
16 算出部
21 カメラ
22 映像入力部
23 映像保存部
24 特徴点抽出部
25 特徴点登録部
26 時系列照合部
27 移動量センサ
28 移動量算出部
29 キーフレーム更新部
30 三次元位置算出部
31 時系列映像DB
32 時系列特徴点DB
33 キーフレームDB
41 MPU
42 ROM
43 RAM
44 インタフェース装置
45 出力装置
46 システムバス
47 記録媒体駆動装置
48 可搬型記録媒体
Claims (7)
- 時系列映像を撮影する撮影部、
前記時系列映像の各フレームのうちで撮影順の早いものから順に、各フレームに含まれている特徴点を抽出する一方で、同一フレーム内で先に抽出されていた特徴点からの該同一フレーム上での距離が所定距離に満たない点については該抽出の対象から除外する抽出部、
前記時系列映像のうちの時系列で連続している2フレームにおいての前のフレームから前記抽出部によって前記抽出の対象から除外されずに抽出された特徴点と該2フレームにおいての後のフレームにおける該特徴点についての対応点との対応関係を前記時系列映像の各フレームについて順次求めることによって、該特徴点を前記時系列映像上で追跡する追跡部、
前記撮影部の移動量を検出する検出部、
前記移動量が所定量を超える度に、該所定量を超えた直後に撮影された前記時系列映像のフレームであるキーフレームに含まれている特徴点についての該キーフレーム上での位置情報と、該特徴点についての前記追跡部による追跡結果を表している追跡情報との登録を行う登録部、及び
前記移動量と、前記登録部により登録された、前記特徴点についての複数の前記キーフレームの各々での前記位置情報及び該特徴点についての前記追跡情報とを用いて、該特徴点の三次元位置の座標を算出する算出部、
を備え、
前記追跡部は、前記前のフレームから前記抽出部によって抽出された特徴点についての前記後のフレームにおける対応点についての、該後のフレームから前記抽出部によって抽出されていた特徴点からのフレーム上での距離が所定距離に満たなかった場合には、該後のフレームから抽出されていた特徴点を前記抽出部による抽出結果から除外し、除外しなかった特徴点について前記追跡を行う、
ことを特徴とする三次元座標測定装置。 - 前記撮影部は移動体に固定されており、
前記検出部は、前記移動体の回転量と並進量とを検出するセンサからの検出出力を用いて、前記移動量として、前記撮影部の回転量と並進量との検出を行い、
前記登録部は、前記撮影部の並進量が所定量を超える度に前記キーフレームについての前記登録を行う、
ことを特徴とする請求項1に記載の三次元座標測定装置。 - 前記登録部は、所定数のキーフレームについての情報の登録が可能であり、
前記算出部は、前記登録部に登録されている、前記所定数のキーフレームの各々についての情報を用いて、前記特徴点の三次元位置の座標を算出し、
前記登録部は、前記所定数のキーフレームについての情報の登録が既に行われた後に前記移動量が所定量を超えた場合には、最古に登録されたキーフレームについての情報の登録を削除して、該所定量を超えた直後に撮影されたキーフレームについての情報を代わりに登録する、
ことを特徴とする請求項1又は2に記載の三次元座標測定装置。 - 撮影部により撮影された時系列映像の各フレームのうちで撮影順の早いものから順に、各フレームに含まれている特徴点を抽出する一方で、同一フレーム内で先に抽出されていた特徴点からの該同一フレーム上での距離が所定距離に満たない点については該抽出の対象から除外し、
前記時系列映像のうちの時系列で連続している2フレームにおいての前のフレームから前記抽出の対象から除外されずに抽出された特徴点と該2フレームにおいての後のフレームにおける該特徴点についての対応点との対応関係を前記時系列映像の各フレームについて順次求めることによって、該特徴点を前記時系列映像上で追跡し、
前記撮影部の移動量を検出し、
前記移動量が所定量を超える度に、該所定量を超えた直後に撮影された前記時系列映像のフレームであるキーフレームに含まれている特徴点についての該キーフレーム上での位置情報と、該特徴点についての前記追跡の結果を表している追跡情報との登録を行い、
前記移動量と、登録されている、前記特徴点についての複数の前記キーフレームの各々での前記位置情報及び該特徴点についての前記追跡情報とを用いて、該特徴点の三次元位置の座標を算出し、
前記特徴点の追跡では、前記前のフレームから前記特徴点の抽出により抽出された特徴点についての前記後のフレームにおける対応点についての、該後のフレームから前記特徴点の抽出により抽出されていた特徴点からのフレーム上での距離が所定距離に満たなかった場合には、該後のフレームから抽出されていた特徴点を前記特徴点の抽出による抽出結果から除外し、除外しなかった特徴点について前記追跡を行う、
ことを特徴とする三次元座標測定方法。 - 前記移動量の検出では、前記撮影部が固定されている移動体の回転量と並進量とを検出するセンサからの検出出力を用いて、前記移動量として、前記撮影部の回転量と並進量との検出を行い、
前記位置情報と前記追跡情報との登録では、前記撮影部の並進量が所定量を超える度に前記キーフレームについての前記登録を行う、
ことを特徴とする請求項4に記載の三次元座標測定方法。 - 前記位置情報と前記追跡情報との登録では、所定数のキーフレームについての情報の登録が可能であり、
前記三次元位置の座標の算出では、前記位置情報と前記追跡情報との登録によって登録されている、前記所定数のキーフレームの各々についての情報を用いて、前記特徴点の三次元位置の座標を算出し、
前記位置情報と前記追跡情報との登録において、前記所定数のキーフレームについての情報の登録が既に行われた後に前記移動量が所定量を超えた場合には、最古に登録されたキーフレームについての情報の登録を削除して、該所定量を超えた直後に撮影されたキーフレームについての情報を代わりに登録する、
ことを特徴とする請求項4又は5に記載の三次元座標測定方法。 - 撮影部により撮影された時系列映像の各フレームのうちで撮影順の早いものから順に、各フレームに含まれている特徴点を抽出する一方で、同一フレーム内で先に抽出されていた特徴点からの該同一フレーム上での距離が所定距離に満たない点については該抽出の対象から除外し、
前記時系列映像のうちの時系列で連続している2フレームにおいての前のフレームから前記抽出の対象から除外されずに抽出された特徴点と該2フレームにおいての後のフレームにおける該特徴点についての対応点との対応関係を前記時系列映像の各フレームについて順次求めることによって、該特徴点を前記時系列映像上で追跡し、
前記撮影部の移動量を検出し、
前記移動量が所定量を超える度に、該所定量を超えた直後に撮影された前記時系列映像のフレームであるキーフレームに含まれている特徴点についての該キーフレーム上での位置情報と、該特徴点についての前記追跡の結果を表している追跡情報との登録を行い、
前記移動量と、登録されている、前記特徴点についての複数の前記キーフレームの各々での前記位置情報及び該特徴点についての前記追跡情報とを用いて、該特徴点の三次元位置の座標を算出する、
処理を演算処理装置に実行させ、
前記特徴点の追跡では、前記前のフレームから前記特徴点の抽出により抽出された特徴点についての前記後のフレームにおける対応点についての、該後のフレームから前記特徴点の抽出により抽出されていた特徴点からのフレーム上での距離が所定距離に満たなかった場合には、該後のフレームから抽出されていた特徴点を前記特徴点の抽出による抽出結果から除外し、除外しなかった特徴点について前記追跡を行う、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011268434A JP5915130B2 (ja) | 2011-12-07 | 2011-12-07 | 三次元座標測定装置、三次元座標測定方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011268434A JP5915130B2 (ja) | 2011-12-07 | 2011-12-07 | 三次元座標測定装置、三次元座標測定方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013120133A JP2013120133A (ja) | 2013-06-17 |
JP5915130B2 true JP5915130B2 (ja) | 2016-05-11 |
Family
ID=48772823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011268434A Active JP5915130B2 (ja) | 2011-12-07 | 2011-12-07 | 三次元座標測定装置、三次元座標測定方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5915130B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015025497A1 (ja) * | 2013-08-23 | 2015-02-26 | パナソニックIpマネジメント株式会社 | 測距システム及び信号発生装置 |
JP6287399B2 (ja) * | 2014-03-18 | 2018-03-07 | セイコーエプソン株式会社 | 頭部装着型表示装置および頭部装着型表示装置の制御方法 |
US9715113B2 (en) | 2014-03-18 | 2017-07-25 | Seiko Epson Corporation | Head-mounted display device, control method for head-mounted display device, and computer program |
JP6424787B2 (ja) * | 2015-09-29 | 2018-11-21 | コニカミノルタ株式会社 | 移動量検出器、およびそれを備えた画像形成装置 |
JP6782192B2 (ja) | 2017-05-17 | 2020-11-11 | 株式会社デンソーアイティーラボラトリ | 物体検出装置、物体検出方法、及びプログラム |
CN111105467B (zh) * | 2019-12-16 | 2023-08-29 | 北京超图软件股份有限公司 | 一种图像标定方法、装置及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5087264B2 (ja) * | 2005-12-08 | 2012-12-05 | 株式会社トプコン | 画像処理装置及びその方法 |
JP4800163B2 (ja) * | 2006-09-29 | 2011-10-26 | 株式会社トプコン | 位置測定装置及びその方法 |
JP4983558B2 (ja) * | 2007-11-13 | 2012-07-25 | マツダ株式会社 | 車両用運転支援装置 |
JP4985516B2 (ja) * | 2008-03-27 | 2012-07-25 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
-
2011
- 2011-12-07 JP JP2011268434A patent/JP5915130B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013120133A (ja) | 2013-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5915130B2 (ja) | 三次元座標測定装置、三次元座標測定方法、及びプログラム | |
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
KR101776622B1 (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
US20200011668A1 (en) | Simultaneous location and mapping (slam) using dual event cameras | |
US10068344B2 (en) | Method and system for 3D capture based on structure from motion with simplified pose detection | |
KR101776620B1 (ko) | 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
JP4809291B2 (ja) | 計測装置及びプログラム | |
JP2002024807A (ja) | 物体運動追跡手法及び記録媒体 | |
WO2011005783A2 (en) | Image-based surface tracking | |
KR20150008056A (ko) | 단일-카메라 거리 추정 | |
WO2011115143A1 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
WO2015068470A1 (ja) | 3次元形状計測装置、3次元形状計測方法及び3次元形状計測プログラム | |
JP6411188B2 (ja) | ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法 | |
CN113768419B (zh) | 确定扫地机清扫方向的方法、装置及扫地机 | |
JP2008275366A (ja) | ステレオ3次元計測システム | |
JP2007025863A (ja) | 撮影システム、撮影方法及び画像処理プログラム | |
US11244465B2 (en) | Point cloud data processing device | |
JPH1144533A (ja) | 先行車両検出装置 | |
CN104132628A (zh) | 用相位计算实现线结构光三维测量的方法 | |
JP3253328B2 (ja) | 距離動画像入力処理方法 | |
CN113269857A (zh) | 坐标系关系获取方法及装置 | |
JP4449808B2 (ja) | 人物検出装置 | |
JP3525712B2 (ja) | 三次元画像撮像方法及び三次元画像撮像装置 | |
CN115147475B (zh) | 目标位置定位方法、装置、设备及存储介质 | |
JP4674316B2 (ja) | 位置検出装置、位置検出方法及び位置検出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151001 |
|
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: 20160308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160321 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5915130 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |