JP6338021B2 - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP6338021B2
JP6338021B2 JP2017532266A JP2017532266A JP6338021B2 JP 6338021 B2 JP6338021 B2 JP 6338021B2 JP 2017532266 A JP2017532266 A JP 2017532266A JP 2017532266 A JP2017532266 A JP 2017532266A JP 6338021 B2 JP6338021 B2 JP 6338021B2
Authority
JP
Japan
Prior art keywords
map
point
key frame
camera
points
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
Application number
JP2017532266A
Other languages
English (en)
Other versions
JPWO2017022033A1 (ja
Inventor
山口 伸康
伸康 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2017022033A1 publication Critical patent/JPWO2017022033A1/ja
Application granted granted Critical
Publication of JP6338021B2 publication Critical patent/JP6338021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Description

本発明は、画像処理装置等に関する。
PC(Personal Computer)および携帯端末等に取り付けられたカメラの撮影画像を基にして、撮影画像に対するカメラの位置姿勢を求める技術がある。また、カメラの位置姿勢を用いて、PCおよび携帯端末等の画面に表示された撮影画像にコンピュータグラフィックス(CG)等の付加情報を重畳表示させ、ユーザの作業支援を実現するAR(Augmented Reality)技術がある。
図14は、AR技術の一例を示す図である。図14に示すように、例えば、利用者が携帯端末10に内蔵されたカメラを用いて、マーカ11および点検対象12を撮影すると、携帯端末10の表示画面10aに、マーカ11に対するオブジェクト情報13が表示される。
カメラの位置姿勢を求める方法として、例えば、撮影画像に含まれる特徴点を用いてカメラの位置姿勢を算出する従来技術1がある。従来技術1は、着目点の近くで濃淡変動が大きく、濃淡変動によって着目点の画像上の位置が一意に規定されることを基準にして特徴点を検出する。従来技術1は、予め生成しておいた特徴点の3次元座標の集合を用いる。以下では適宜、予め生成しておいた特徴点の3次元座標をマップ点と表記し、マップ点の集合を3次元マップと表記する。従来技術1は、現在の撮影画像中に存在する特徴点と撮影画像上の投影したマップ点を対応付けることにより、カメラの位置姿勢を算出する。
図15は、カメラの位置姿勢を求める従来技術1を説明するための図である。図15に示す例では、マップ点S〜Sが存在するものとする。あるマップ点Sは、世界座標系で、式(1)によって示される。撮影画像20上には、特徴点x〜xが存在するものとする。ある特徴点xは、カメラ座標系で、式(2)によって示される。撮影画像20上に投影したマップ点を、投影点x’〜x’とする。ある投影点x’は、カメラ座標系で、式(3)によって示される。
=(x,y,z)・・・(1)
=(u,v)・・・(2)
’=(u’,v’)・・・(3)
例えば、従来技術1では、式(4)によって算出される二乗和Eが最小となるようなカメラ位置姿勢行列RTを算出することで、カメラの位置姿勢を求める。一連の撮影画像毎に、カメラの位置姿勢を推定していくことを「トラッキング」と呼ぶ。
Figure 0006338021
続いて、3次元マップを生成する従来技術1について説明する。図16は、3次元マップを生成する従来技術1を説明するための図である。例えば、従来技術1では、ステレオ撮影の原理を用いる。従来技術1は、撮影位置を変えた2枚の撮影画像中の特徴点で同じものを対応付けしていく。従来技術1は、対応付けした複数の対応点の各撮影画像中の位置関係から対応点をマップ点とした3次元マップを生成する。
図16に示す例では、復元されるマップ点をSとし、初期のカメラの撮影位置Caおよびマップ点Sを結ぶ線分と、1枚目の撮影画像20aとが交差する点を、特徴点xaiとする。2番目のカメラの撮影位置Cbおよびマップ点Sを結ぶ線分と、2枚目の撮影画像20bとが交差する点を、特徴点xbiとする。そうすると対応点は、特徴点xaiおよび特徴点xbiとなる。
3次元マップの3次元座標の原点には、1枚目の撮影画像のカメラ位置・撮影方向を用いることが一般的である。図17は、カメラの撮影方向の定義の一例を示す図である。図17に示すように、例えば、カメラ50の位置(T、T、T)、撮影方向(R、R、R)を基準にして、3次元マップの3次元座標の原点を定義する。
従来技術1の応用として、トラッキングと3次元マップの生成を平行して行う従来技術2がある。従来技術2はSLAM(Simultaneous Localization and Mapping)と呼ばれる。
従来技術2では、撮影位置を変えた2枚のキーフレームから3次元マップを生成する処理を行った後に、トラッキングを行う。従来技術2は、トラッキングの間に、適切な位置姿勢にカメラが移動したと判定した場合に、その時の撮影画像と、それまでに3次元マップの生成に使用したキーフレームのうち1枚をペアとする。従来技術2は、ペアとした撮影画像とキーフレームとのペアについて、ステレオ撮影の原理で、3次元マップへのマップ点の追加を行う。これにより、最初に撮影した3次元マップの生成範囲からカメラの撮影範囲が離れていった場合にでもトラッキングを継続することが可能となり、広い範囲でのカメラの位置姿勢の推定を行うことが可能となる。
ここで、ステレオ撮影・計測による3次元マップの生成では、以下の条件1、2を示す2枚の撮影画像を取得する。
2枚の撮影画像の撮影画像の位置が異なり、十分な距離だけ離れている。・・・(条件1)
2枚の撮影画像の撮影範囲で重複する範囲が広い。・・・(条件2)
例えば、条件1、2を満たす撮影画像を取得するためには、ユーザは、トラッキングを始める前に、カメラを平行移動させるような操作を行うことになる。この操作は、カメラでの通常の撮影の際には行うことの少ない動作であり、ユーザの使い勝手を低下させてしまう。また、この操作にはそれ相応の時間を要し、ユーザの作業効率を低下させる。
上記の問題を解消する技術として従来技術3が存在する。従来技術3では、一枚の撮影画像の中の特徴点が、3次元空間中の「無限遠」の距離にあるものと仮定した無限遠マップを用意し、この無限遠マップを使用してトラッキングを行う。無限遠マップは、マップ点が半径無限遠の円筒面上に配置されていると仮定したマップである。
従来技術3は、ステレオ撮影による3次元マップが生成されるまで、無限遠マップを利用してトラッキングを行う。従来技術3は、トラッキング中にステレオ撮影に適した撮影画像が2枚取得されたタイミングで、3次元マップを生成し、撮影範囲に合わせて、無限遠マップと3次元マップとを適宜切り替えつつ、トラッキングを継続する。
国際公開第2014/179349号
University of Oulu, NVIDLA, etc."DT-SLAM:Deferred Triangulation for Robust SLAM" 2014 Second International Conference on 3D Vision
しかしながら、上述した従来技術では、カメラの位置姿勢の推定精度が低下するという問題がある。
例えば、従来技術3では、撮影範囲に合わせて、無限遠マップと3次元マップとを切り替えてカメラの位置姿勢を行うため、切り替え時にマップ点の位置ずれが生じ、カメラの位置姿勢の推定精度が低下してしまう。
1つの側面では、カメラの位置姿勢の推定精度が低下することを抑止できる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
第1の案では、画像処理装置は、キーフレーム判定部、初期3次元マップ生成部、位置姿勢推定部、調整部、3次元マップ更新部を有する。キーフレーム判定部は、カメラに撮影された複数の撮影画像からキーフレームを判定する。初期3次元マップ生成部は、キーフレーム判定部によって判定された第1のキーフレームに存在する特徴点の位置に基づいて、カメラから基準距離離れた平面上にマップ点を配置した初期の3次元マップを生成する。位置姿勢推定部は、3次元マップのマップ点を撮影画像に投影した点と、撮影画像の特徴点との関係を基にして、カメラの位置姿勢を推定する。調整部は、カメラの位置姿勢を基にして、3次元マップのマップ点の位置を微調整する。3次元マップ更新部は、第1のキーフレームの特徴点と、第1のキーフレームより後の第2のキーフレームの特徴点とを基にして、3次元マップのマップ点の位置を更新する。
カメラの位置姿勢の推定精度が低下することを抑止できる。
図1は、本実施例1に係る画像処理装置の構成を示す機能ブロック図である。 図2は、キーフレーム情報のデータ構造の一例を示す図である。 図3は、3次元マップ情報のデータ構造の一例を示す図である。 図4は、本実施例1に係る初期3次元マップ生成部の処理を説明するための図である。 図5は、本実施例1に係る画像処理装置の処理手順を示すフローチャートである。 図6は、マーカの一例を示す図(1)である。 図7は、マーカの一例を示す図(2)である。 図8は、調整部のその他の処理(1)を説明するための図である。 図9は、調整部のその他の処理(2)を説明するための図である。 図10は、3次元マップ更新部のその他の処理を説明するための図(1)である。 図11は、3次元マップ更新部のその他の処理を説明するための図(2)である。 図12は、位置姿勢推定部のその他の処理の処理手順を示すフローチャートである。 図13は、画像処理プログラムを実行するコンピュータの一例を示す図である。 図14は、AR技術の一例を示す図である。 図15は、カメラの位置姿勢を求める従来技術1を説明するための図である。 図16は、3次元マップを生成する従来技術1を説明するための図である。 図17は、カメラの撮影方向の定義の一例を示す図である。
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る画像処理装置の構成を示す機能ブロック図である。図1に示すように、この画像処理装置100は、カメラ50に接続される。また、画像処理装置100は、記憶部110と、画像取得部120と、を有する。
記憶部110は、キーフレーム情報110aと、3次元マップ情報110bと、位置姿勢情報110cとを有する。記憶部110は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。
キーフレーム情報110aは、キーフレームを撮影した時点のカメラ50の位置姿勢の情報と、キーフレームに含まれる特徴点の情報を有する。図2は、キーフレーム情報のデータ構造の一例を示す図である。図2に示すように、キーフレーム情報110aは、キーフレーム番号毎に、並進行列と、回転行列と、特徴点の情報とを有する。キーフレーム番号は、キーフレームを一意に識別する情報である。図2に示す例では、キーフレーム番号「1」に対応する並進行列、回転行列、特徴点の情報を示す。
並進行列は、カメラ50の位置を示す行列であり、例えば、(Tx、Ty、Tz)によって示される。回転行列は、カメラ50の位置を示す行列であり、例えば、(r0、r1、r2、r3、r4、r5、r6、r7、r8)によって示される。
特徴点の情報には、特徴点番号と、2次元座標と、マップ点インデックスと、マップ点3次元座標とを有する。特徴点番号は、キーフレームに含まれる特徴点を一意に識別する情報である。2次元座標は、キーフレーム上の特徴点の2次元座標である。マップ点インデックスは、特徴点に対応するマップ点を一意に識別する情報である。マップ点3次元座標は、世界座標系のマップ点の3次元座標である。
例えば、特徴点番号「1」の特徴点は、マップ点インデックス「1」のマップ点に対応付けられる。また、特徴点番号「1」の特徴点の2次元座標は「u1,v1」であり、マップ点インデックス「1」のマップ点の3次元座標は「x1,y1,z1」である。
3次元マップ情報110bは、マップ点に関する情報を保持する。図3は、3次元マップ情報のデータ構造の一例を示す図である。図3に示すように、この3次元マップ情報110bは、マップ点インデックス、3次元座標、種別、キーフレーム番号、特徴量、画像パターンテンプレート、エピポーラ拘束方向ベクトル、距離を対応付ける。
マップ点インデックスは、マップ点を一意に識別する情報である。3次元座標は、世界座標系のマップ点の3次元座標である。種別は、「未3次元化」または「3次元座標確定」のいずれかとなる。「未3次元化」は、該当するマップ点の3次元座標が、単一のキーフレームの特徴点の位置から推定され、(x、y、z)のうち、zの値が0となる3次元座標(2次元座標)であることを示す。「3次元座標確定」は、該当するマップ点の3次元座標が、2つのキーフレームによりステレオ撮影の原理に基づき求められた3次元座標であることを示す。
キーフレーム番号は、マップ点に対応する特徴点を有するキーフレームのキーフレーム番号である。特徴量は、マップ点に対応する撮影画像(キーフレーム)上の特徴点の周辺の画素値を所定の順番で並べたものである。画像パターンテンプレートは、マップ点に対応する撮影画像(キーフレーム)上の特徴点を含む所定範囲の画像である。
エピポーラ拘束方向ベクトルは、カメラの位置とマップ点の真値とを結んだベクトルに対応する。エピポーラ拘束方向ベクトルの詳細は後述する。距離は、世界座標系の原点と、マップ点との距離を示す。
位置姿勢情報110cは、現在のカメラ50の位置姿勢の情報である。例えば、位置姿勢情報は、世界座標系の原点に対する並進行列Tおよび回転行列Rに対応する。位置姿勢情報110cは、後述する位置姿勢推定部150により更新される。
図1の説明に戻る。画像取得部120は、カメラ50から撮影画像の情報を取得する処理部である。画像取得部120は、撮影画像の情報を、特徴点検出部130に出力する。
特徴点検出部130は、撮影画像から特徴点を検出する処理部である。特徴点検出部130は、着目点の近傍での濃淡変動が大きく、濃淡変動によって着目点の画像上の位置が一意に規定されることを基準として、特徴点を検出する。特徴点は、対象物の角に対応する場合が多い。
特徴点検出部130は、特徴点の情報を、マッチング部140に出力する。特徴点の情報は、例えば、特徴点番号と、特徴点の2次元座標と、特徴点周辺の画素の情報を対応付けた情報となる。
マッチング部140は、撮影画像の特徴点と、3次元マップ情報のマップ点を撮影画像上の投影した投影点とをマッチングする処理部である。撮影画像の特徴点、マップ点、投影点の関係は、図15で説明したものとなる。マッチング部140は、特徴点と投影点とを比較し、撮影画像上の距離が近くかつ、画像的な特徴が類似している特徴点と投影点とのペアに基づき、特徴点−マップ点ペア情報を生成する。
図15において、例えば、特徴点xと、投影点x’との距離が近く、画像的な特徴が類似しているとすると、マッチング部140は、特徴点xと、マップ点Sとをペアとする、特徴点−マップ点ペア情報を生成する。マッチング部140は、特徴点−マップ点ペア情報と、特徴点の撮影画像上の位置情報とを、位置姿勢推定部150に出力する。
ここで、カメラ50の位置姿勢は、世界座標系の原点に対する並進成分Tと、回転成分Rとで表すことができる。例えば、並進成分Tは式(5)によって定義され、回転成分Rは、式(6)によって定義される。
並進成分T=(T,T,T)・・・(5)
Figure 0006338021
世界座標系のマップ点S(X、Y、Z)を、撮影画像上に投影した投影点x’(u,v)との関係は、式(7)によって定義される。式(7)において、sはスケールパラメータであり、Mは、3×3の透視変換行列である。マッチング部140は、式(7)に基づいて、マップ点に対応する投影点の位置を算出する。マッチング部140は、並進成分T、回転成分Rを、位置姿勢情報110cから取得する。
Figure 0006338021
位置姿勢推定部150は、特徴点−マップ点ペア情報と、特徴点の撮影画像上の位置情報と、3次元マップ情報110bとを基にして、カメラ50の位置姿勢を推定する処理部である。位置姿勢推定部150は、推定したカメラ50の位置姿勢の情報によって、位置姿勢情報110cを更新する。
位置姿勢推定部150は、式(4)で説明したように、ペアとなった特徴点xと、マップ点の投影点x’との差分の和が最小となるようなカメラの並進成分T、回転成分Rを探索し、カメラの位置姿勢を算出する。位置姿勢推定部150は、特徴点xの位置を、特徴点の撮影画像上の位置情報を基に特定する。位置姿勢推定部150は、探索過程において、投影点xi’の位置を、並進成分T、回転成分Rの位置を変更しつつ、上記の式(7)によって算出する。
キーフレーム判定部160は、撮影画像が、3次元マップの生成に使用する条件を満たしているキーフレームであるか否かを判定する処理部である。キーフレーム判定部160は、後述する第1キーフレーム適正判定処理または第2キーフレーム適正判定処理を実行する。キーフレーム判定部160は、判定結果を位置姿勢推定部150、初期3次元マップ生成部170に出力する。
なお、キーフレーム判定部160は、撮影画像がキーフレームであると判定した場合には、キーフレームに関する情報を、キーフレーム情報110aに登録する。キーフレーム情報110aは、図2で説明した情報を含む。キーフレーム判定部160は、キーフレームに含まれる特徴点番号、2次元座標、マップ点インデックス、マップ点3次元座標の情報は、マッチング部140から取得する。キーフレーム判定部160は、キーフレームを撮影したカメラ50の位置姿勢の情報を、位置姿勢推定部150から取得する。
第1キーフレーム判定処理について説明する。キーフレーム判定部160は、位置姿勢推定部150がカメラ50の位置姿勢を推定する前の段階において、第1キーフレーム判定処理を行う。キーフレーム判定部160は、画像取得部120から、撮影画像を取得し、一つ前の撮影画像と現在の撮影画像を比較して、カメラ50の動きが少ないか否かを判定する。キーフレーム判定部160は、カメラ50の動きが少ない場合に、現在の撮影画像が、キーフレームであると判定する。
キーフレーム判定部160は、オプティカルフローによる移動追跡や、パターンマッチングによる位置合わせなどを実行して、カメラ50の動きが小さいか否かを判定する。例えば、キーフレーム判定部160は、一つ前の撮影画像に存在する対象物の位置と、現在の撮影画像に存在する対象物の位置との差が閾値未満である場合に、カメラ50の動きが少ないと判定する。
第2キーフレーム判定処理について説明する。キーフレーム判定部160は、位置姿勢推定部150がカメラ50の位置姿勢を推定した後の段階において、第2キーフレーム判定処理を行う。キーフレーム判定部160は、ある時刻tnにおける撮影画像を撮影したカメラ50の位置姿勢の情報(T,R)を、位置姿勢推定部150から取得し、前回のキーフレームを撮影したカメラ50の位置姿勢の情報(Tkf,Rkf)を、キーフレーム情報100aから取得する。また、キーフレーム判定部160は、ある時点tにおける撮影画像の特徴点x、マップ点Sの情報を取得し、前回のキーフレームの特徴点xkf、3次元マップSkfの情報を取得する。
キーフレーム判定部160は、位置姿勢の情報(T,R)、(Tkf,Rkf)、特徴点x、マップ点S、特徴点xkf、3次元マップSkfの情報を基にして、前回のキーフレームと、今回の撮影画像との組が、ステレオ撮影・計測の条件を満たすか否かを判定する。例えば、キーフレーム判定部160は、キーフレームと撮影画像との組が、上記の条件1,2を満たす場合に、ステレオ撮影・計測の条件を満たすと判定し、今回の撮影画像が、キーフレームであると判定する。
初期3次元マップ生成部170は、初期の3次元マップ情報110bを生成する処理部である。例えば、初期3次元マップ生成部170は、単一のキーフレームに存在する特徴点の位置に基づいて、カメラから基準距離離れた平面上にマップ点を配置することで、初期の3次元マップ情報110bを生成する。
図4は、初期3次元マップ生成部の処理を説明するための図である。図4は、世界座標のy軸方向から見た模式図である。初期3次元マップ生成部170は、撮影画像の中心を原点にし、撮影画像の水平方向をx軸、垂直方向をy軸、原点からカメラの撮影方向50bをz軸とする世界座標系を規定する。図4に示す例では、カメラ50の撮影方向50bと、x軸との交点が世界座標系の原点となる。
原点からカメラ50までのz軸の距離を、予め定めておいた基準距離L0に固定する。世界座標系におけるカメラ50の並進成分Tを(0,0,L0)とし、回転成分Rを単位行列とする。
図4では一例として、カメラ50の撮影面50a上に、特徴点x〜xが検出されたものとする。初期3次元マップ生成部170は、カメラ50と特徴点xとを通る直線を定義し、定義した直線とZ軸に垂直なXY平面60との交点に、マップ点が存在すると仮定して、マップ点の位置を特定する。例えば、初期3次元マップ生成部170は、カメラ50と特徴点xとを通る直線と、XY平面60との交点にマップ点Sが存在すると仮定する。
初期3次元マップ生成部170は、上記処理を実行することで、特徴点x〜xに対応するマップ点S〜Sを特定する。初期3次元マップ生成部170が特定した各マップ点のz座標の値は全て0となる。初期3次元マップ生成部170は、特徴点の情報と、マップ点の情報とを、3次元マップ情報110bに登録する。すなわち、初期3次元マップ生成部170は、マップ点インデックス、3次元座標、種別、キーフレーム番号、特徴量、画像パターンテンプレート、エピポーラ拘束ベクトル、距離の情報を、3次元マップ情報110bに登録する。初期3次元マップ生成部170が特定したマップ点に対応する種別は全て「未3次元化」となる。また、キーフレーム番号は、特徴点x〜xを抽出したキーフレームに対応するキーフレーム番号となる。
調整部180は、カメラ50の位置姿勢情報110cを基にして、種別が「未3次元化」となるマップ点の位置を微調整する処理部である。調整部180は、撮影画像の特徴点に対応する各マップ点に対して、個別に処理を実行する。
例えば、調整部180は、式(7)およびカメラの位置姿勢(T,R)に基づいて、マップ点S(X,Y,Z)を、撮影画像中に投影した投影点x’の2次元座標(u,v)を求める。調整部180は、投影点x’と、撮影画像中の特徴点xとのマッチングを行い、マッチングした投影点x’と特徴点xとの誤差Eが小さくなるように、マップ点Siの3次元座標を最小二乗法等の手法を用いて調整する。誤差Eは、式(8)によって定義される。調整部180は、調整した結果を、3次元マップ情報110bの3次元座標に反映させる。
=(x−u+(y−v・・・(8)
ところで、調整部180は、種別が「未3次元化」となるマップ点の数が所定以上となる場合には、各マップ点について誤差Eを算出し、算出した誤差Eが閾値以上となるマップ点に対して、3次元座標の調整を行っても良い。
3次元マップ更新部190は、複数のキーフレームを基にして、3次元マップ情報110bに登録されていないマップ点の3次元座標をステレオ計測により算出し、算出した結果を、3次元マップ情報110bに登録する処理部である。
更に、3次元マップ更新部190は、複数のキーフレームを基にしたステレオ計測により、種別が「未3次元化」となるマップ点の3次元座標を再計算する。3次元マップ更新部190は、再計算した3次元座標によって、3次元マップ情報110bを更新し、該当する種別を「未3次元化」から「3次元座標確定」に更新する。
例えば、3次元マップ更新部190は、撮影画像中の特徴点とマップ点との対応付けを行いつつ、キーフレーム情報110aにも、種別が「未3次元化」となるマップ点を生成した時の当該キーフレーム中の特徴点とマップ点との対応付けの情報を保存しておく。3次元マップ更新部190は、種別が「未3次元化」のマップ点に対応付けられたキーフレームと撮影画像の特徴点との特徴点ペアとしてステレオ計測することで、「未3次元化」のマップ点の3次元座標を再計算する。
次に、本実施例1に係る画像処理装置100の処理手順について説明する。図5は、本実施例1に係る画像処理装置の処理手順を示すフローチャートである。図5に示すように、画像処理装置100の画像取得部120は、撮影画像を取得する(ステップS101)。画像処理装置100のキーフレーム判定部160は、撮影画像がキーフレームとして適正である否かのキーフレーム適正判定を実行する(ステップS102)。
キーフレーム判定部160は、撮影画像がキーフレームとして適正でないと判定した場合には(ステップS103,No)、ステップS101に移行する。一方、キーフレーム判定部160により、撮影画像がキーフレームとして適正であると判定された場合には(ステップS103,Yes)、ステップS104に移行する。
画像処理装置100の初期3次元マップ生成部170は、単一のキーフレームを用いて、初期の3次元マップ情報110bを生成する(ステップS104)。画像取得部120は、撮影画像を取得する(ステップS105)。画像処理装置100の位置姿勢推定部150は、カメラ50の位置姿勢を推定する(ステップS106)。
位置姿勢推定部150による位置姿勢の推定が成功しない場合には(ステップS107,No)、ステップS105に移行する。一方、位置姿勢推定部150による位置姿勢の推定が成功した場合には(ステップS107,Yes)、ステップS108に移行する。
画像処理装置100の調整部180は、3次元マップ情報110bに含まれる種別「未3次元化」となるマップ点の3次元座標を微調整する(ステップS108)。キーフレーム判定部160は、撮影画像がキーフレームとして適正であるか否かのキーフレーム適正判定を実行する(ステップS109)。
キーフレーム判定部160は、撮影画像がキーフレームとして適正でないと判定した場合には(ステップS110,No)、ステップS113に移行する。一方、キーフレーム判定部160は、撮影画像がキーフレームとして適正であると判定した場合には(ステップS110,Yes)、ステップS111に移行する。
画像処理装置100の3次元マップ更新部190は、2つのキーフレームを用いて、マップ点の3次元座標を特定し、3次元マップ情報110bにデータを追加する(ステップS111)。3次元マップ更新部190は、種別が「未3次元化」となるマップ点について、3次元座標を再計算し、3次元マップ情報110bを更新する(ステップS112)。
画像処理装置100は、カメラの位置姿勢情報110cに基づいてコンテンツ表示を行う(ステップS113)。画像処理装置100は、処理を継続するか否かを判定する(ステップS114)。画像処理装置100は、処理を継続する場合には(ステップS114,Yes)、ステップS105に移行する。画像処理装置100は、処理を継続しない場合には(ステップS114,No)、処理を終了する。
次に、本実施例1に係る画像処理装置100の効果について説明する。画像処理装置100は、マップ点が平面上に存在すると仮定した3次元マップ情報110bに基づくトラッキングを実行する過程において、3次元マップ情報110bのマップ点の3次元座標を微調整しておく。そして、画像処理装置100は、2枚の適正なキーフレームを取得した場合に、ステレオ計測の原理に基づき、仮決めしたマップ点の3次元座標を再計算し、3次元マップ情報110bを更新する。このため、画像処理装置100によれば、カメラ50の位置姿勢の推定精度が低下することを抑止できる。
例えば、画像処理装置100は、2枚の適正なキーフレームを取得する前に、マップ点の3次元座標が真値に近づくように、マップ点の3次元座標を微調整しておき、2枚の適正なキーフレームを取得できた時点で、マップ点の適正な3次元位置を確定させ、マップ点の3次元座標を切り変える。このため、マップ点の3次元座標を切り替える場合に、3次元座標の位置ずれが少なくなり、カメラ50の位置姿勢の推定精度が低下することを抑止できる。
画像処理装置100によれば、1枚のキーフレームから初期の3次元マップ情報110bを生成し、トラッキングを開始する。このため、トラッキングを始める前に、ユーザがカメラ50の位置を平行移動させる動作を行わなくても、カメラの位置姿勢を推定でき、より使い勝手のよいAR技術の実現が可能となる。
画像処理装置100によれば、はじめにマップ点の3次元座標の仮決めを行い、トラッキングを実行する過程において、マップ点の3次元座標の微調整、再計算を実行する。このため、3次元マップ情報110bの3次元座標の精度を向上させることができ、スムーズかつ適切に、トラッキングを継続することができる。
画像処理装置100によれば、1種類の3次元マップを3次元マップ情報110bで一元管理する。このため、従来と同等のカメラの位置姿勢推定の計算法によってトラッキングを実行することができ、処理や管理が簡単なAR技術の実現が可能となる。
実施例1に示した画像処理装置100の処理は一例である。本実施例2では、画像処理装置100が実行するその他の処理について説明する。
初期3次元マップ生成部170のその他の処理について説明する。AR技術では、コンテンツの表示位置が撮影対象の特定の位置に決まっている場合が多いが、実施例1の方法では、撮影画像毎に限定位置が変わってしまい、コンテンツの表示位置を固定することができないという問題が発生する。
このため、画像処理装置100は、予め空間内の設置位置、物理サイズが決まっており、かつ撮影時に検出される特徴点の位置や特徴量が決まっている特定のパターンを持ったマーカを位置基準として設置し、利用する。
図6は、マーカの一例を示す図(1)である。図6に示すように、マーカ15は、4隅に基準点15a,15b,15c,15dを有する。また、座標系の原点16と、カメラ50の3次元座標の原点とが一致している。マーカ15は、その形状と物理サイズが既知であり、画像処理装置100は、基準点15a〜15dを特徴点として検出し、原点16を世界座標系の原点とする。
例えば、初期3次元マップ生成部170は、マーカ15を含む撮影画像を取得し、取得した撮影画像を基にして、初期の3次元マップ情報110bを生成しても良い。初期3次元マップ生成部170は、撮影画像に含まれるマーカ15の基準点15a〜15dを特徴点として検出する。初期3次元マップ生成部170は、検出した特徴点に対応するマーカ点の3次元座標を、実際のマーカ15の原点16と基準点15a〜15dとの位置関係を手がかりとして特定する。初期3次元マップ生成部170は、特徴点の情報およびマップ点の情報を、3次元マップ情報110bに登録する。このように、マーカ15を用いて、初期の3次元マップ情報110bを生成することで、マップ点の3次元座標を初期の段階でより正確に設定することができる。
ところで、マーカは、図6に限定されるものではなく、マーカの基準点の相互の配置と物理距離が既知であれば、図7に示すようなロゴマークであっても良い。図7は、マーカの一例を示す図(2)である。図7において、マーカに相当するロゴマーク17は基準点17a〜17dを有する。また、ロゴマーク17の原点は、原点18となり、カメラ50の3次元座標の原点と一致している。
続いて、調整部180のその他の処理(1)について説明する。カメラ50によるステレオ計測では、撮影画像中の特徴点のエピポーラ拘束の条件を用いて、調整先のマップ点の存在範囲を限定することができる。
図8は、調整部のその他の処理(1)を説明するための図である。ここでは、特徴点xa1、xb1に対応するマップ点を微調整する場合について説明する。図8において、位置Caは、キーフレーム20cを撮影した時点のカメラ50の位置を示し、位置Cbは、撮影画像20dを撮影した時点のカメラの位置を示す。Sは、微調整前のマップ点の位置を示し、Sirefは微調整後のマップ点の位置を示し、Stは、マップ点の真値(実際の位置)を示す。
特徴点xa1は、位置Caと真値Stとを結んだ直線と、キーフレーム20cとの交点に位置する。特徴点xb1は、位置Cbと真値Stとを結んだ直線と、撮影画像20dとの交点に位置する。特徴点xa1と特徴点xb1とは対応点となる。位置Caと位置Cbとを結ぶ直線において、キーフレーム20cと直線との交点を交点xa2とし、撮影画像20dと直線との交点を交点xb2とする。
世界座標系において、位置Caから真値Stに向かう方向ベクトルをNkf=(n,n,n)と定義する。調整部180が調整対象とする、マップ点Sの真値Stは、方向ベクトルNkfを通る直線21a上のいずれかの位置に存在していると推定できる。
ここで、直線21aを、微調整時の撮影画像20dから見ると、3次元直線21として表される。この3次元直線21を、エピポーラ直線21と定義する。マップ点の真値は、直線21a上にあるため、撮影画像20d中にマッチングする特徴点もエピポーラ直線21b上になる。
調整部180は、種別「未3次元化」のマップ点Siの3次元座標の微調整範囲を、エピポーラ線のもととなる、方向ベクトルNkfの直線21a上に限定する。この条件下において、調整部180は、微調整後のSirefは、式(9)、式(10)に示すように、ΔPだけの式で表すことができる。
Figure 0006338021
Figure 0006338021
ΔPは、微調整によるマップ点の3次元座標の移動距離となる。調整部180は、この関係を用いて表現したEiが小さくなるように、マップ点Sの3次元座標を最小二乗法等の手法を用いて調整し、Sirefを求める。
なお、微調整時において、キーフレーム20cと撮影画像20dとのカメラ50の位置姿勢の関係は、本来のステレオ計測を行う条件には適合しておらず、上記の調整の結果、誤差が大きくなることが考えられる。このため、調整部180は、ΔPの範囲を予め定めた範囲ΔPmaxthに限定して、微調整後のマップ点の3次元座標が、大きく変化しないようにしても良い。
上記のように、撮影画像中の特徴点のエピポーラ拘束の条件を用いて、調整先のマップ点の存在範囲を限定することで、種別「未3次元化」のマップ点の3次元座標をより適切な位置に微調整することができる。
調整部180のその他の処理(2)について説明する。種別「未3次元化」のマップ点の微調整は、原理的には全ての種別「未3次元化」のマップ点に適用できる、しかし、本来、世界座標系の原点または原点近傍に位置するマップ点に対しては誤差が少ないため、微調整を実行しなくても良い。なお、原点または原点付近に存在するマップ点に対して微調整を行うと、キーフレームと撮影画像を撮影した時点のカメラ50の位置姿勢によっては、マップ点の位置を間違った方向に微調整してしまう場合がある。世界座標系の原点がずれてしまった場合には、カメラ50の位置姿勢の推定精度も低下してしまう場合がある。
調整部180のその他の処理(2)について説明する。図9は、調整部のその他の処理(2)を説明するための図である。図9において原点Oから所定距離DISTth以下の領域を近傍領域Aと表記する。図9に示す例では、マップ点S〜Sのうち、マップ点S,Sが、近傍領域Aに含まれる。また、マップ点S〜Sの種別を「未3次元化」とする。このため、調整部180は、マップ点S〜S、S〜Sに対して3次元座標の微調整を実行し、マップ点S,Sについては、3次元座標の微調整をスキップする。
例えば、調整部180は、式(11)に基づいて、近傍領域Aに含まれないマップ点を特定し、特定したマップ点に対して微調整を実行する。式(11)において、DISTは、マップ点Sと、原点との距離を示すものである。DISTが、DISTthよりも大きい場合には、該当するマップ点Sは、微調整の対象となる。
Figure 0006338021
上記のように、近傍領域Aに含まれるマップ点に対して、微調整を行うことで、例えば、世界座標系の原点の位置が移動することが無くなり、より高精度なトラッキングを行うことが可能となる。
続いて、3次元マップ更新部190のその他の処理について説明する。3次元マップ更新部190は、種別「未3次元化」のマップ点の3次元座標を再計算する処理を実行し、マップ点の3次元座標の種別を「3次元座標確定」に更新していた。3次元マップ更新部190は、上記処理に加えて、種別が「未3次元化」となるマップ点を3次元マップ情報110bに追加する処理を行っても良い。
3次元マップ更新部190がマップ点の3次元座標を更新する場合に、撮影画像中の特徴点で、マップ点やキーフレームの特徴点とマッチングできなかったものは、これまでのトラッキング中には撮影されていない新たな空間範囲に存在している特徴点である可能性が高い。これらの特徴点をマップ点として保存するには、更にマップ点のない空間範囲をトラッキングしていく必要があるが、この場合にカメラ50の撮影範囲に含まれるマップ点の個数が少なくなってしまうため、カメラの位置姿勢の推定精度が低下し、場合によってはトラッキングに失敗してしまう。
そこで、3次元マップ更新部190は、マップ点やキーフレームの特徴点とマッチングできなかった撮影画像の中の特徴点を、「未3次元化」マップ点として3次元マップ情報110bに登録する。3次元マップ更新部190は、特徴点が平面上に分布していると仮定して3次元座標を規定する。
図10は、3次元マップ更新部のその他の処理を説明するための図(1)である。図10において、例えば、マップ点S〜Sは、種別が「3次元座標確定」となるマップ点とする。また、特徴点x〜xに対応するマップ点S〜Sに対応するが、特徴点x,xのマップ点が存在しないものとする。
3次元マップ更新部190は、マップ点S〜Sについて、重心位置Gを算出する。3次元マップ更新部190は、重心位置Gを通り、撮影方向50b(カメラ50の光軸)と垂直に交わる平面30aを定義する。
3次元マップ更新部190は、カメラ50の位置と特徴点xとを通る直線を特定し、特定した直線と平面30aとの交点位置を、特徴点xのマップ点Sの3次元座標として特定する。また、3次元マップ更新部190は、カメラ50の位置と特徴点xとを通る直線を特定し、特定した直線と平面30aとの交点位置を、特徴点xのマップ点Sの3次元座標として特定する。なお、マップ点S,Sの種別は「未3次元化」となる。3次元マップ更新部190は、マップ点S,Sの情報を、3次元マップ情報110bに追加登録する。
なお、3次元マップ更新部190は、平面30aを、図10に示すように設定していたが、図11に示すように、平面を設定して良い。図11は、3次元マップ更新部のその他の処理を説明するための図(2)である。図11において、例えば、マップ点S〜Sは、種別が「3次元座標確定」となるマップ点とする。また、特徴点x〜xに対応するマップ点S〜Sに対応するが、特徴点x,xのマップ点が存在しないものとする。
3次元マップ更新部190は、マップ点S〜Sの近似平面30bを設定する。3次元マップ更新部190は、カメラ50の位置と特徴点xとを通る直線を特定し、特定した直線と平面30bとの交点位置を、特徴点xのマップ点Sの3次元座標として特定する。また、3次元マップ更新部190は、カメラ50の位置と特徴点xとを通る直線を特定し、特定した直線と平面30bとの交点位置を、特徴点xのマップ点Sの3次元座標として特定する。なお、マップ点S,Sの種別は「未3次元化」となる。3次元マップ更新部190は、マップ点S,Sの情報を、3次元マップ情報110bに追加登録する。
3次元マップ更新部190は、上記処理を実行することで、種別「未3次元化」のマップ点を追加していくので、カメラ50の撮影範囲に含まれるマップ点の個数が少なくなることを抑止し、カメラの位置姿勢の推定精度を向上させることができる。
位置姿勢推定部150のその他の処理(1)について説明する。例えば、3次元マップ情報110bにおいて、種別が「未3次元化」、「3次元座標確定」が混在しており、特に「未3次元化」のマップ点が多い場合、位置姿勢推定部150により推定されるカメラ50の位置姿勢の誤差が大きくなる場合がある。カメラ50の位置姿勢には、並進成分、回転成分があるが、AR技術としてのコンテンツの表示に際しては、並進成分の誤差の影響が、回転成分の誤差の影響よりも大きくなる。また、世界座標の原点付近での誤差が大きいと、影響がより目立つ。一方、上記のように、「未3次元化」のマップ点のうち、世界座標系の原点に近いものは、原点の決め方の効果で誤差は小さくなる。
位置姿勢推定部150は、マップ点S=(X,Y,Z)と世界座標系の原点との距離DISTに応じて、評価値の重みWを変え、式(12)に基づいて、Eを算出する。位置姿勢推定部150は、Eの値が小さくなるように、カメラの位置姿勢を算出する。例えば、式(12)において、重みWは、DISTの値が、DISTthの値以上である場合に、「W=1」となる。一方、重みWは、DISTの値が、DISTthの値未満である場合に、「W=2」となる。
Figure 0006338021
上記の処理を実行することで、カメラの位置姿勢の推定結果のうち並進成分の誤差が小さくなり、より高精度なトラッキングを行うことが可能となる。
位置姿勢推定部150のその他の処理(2)について説明する。位置姿勢推定部150は、「3次元座標確定」のマップ点を優先して使用し、「3次元座標確定」のマップ点の数が不足する場合にのみ「未3次元化」のマップ点で補うことで、カメラの位置姿勢を推定する。
図12は、位置姿勢推定部のその他の処理の処理手順を示すフローチャートである。図12に示すように、位置姿勢推定部150は、撮影画像内のマップ点を選別し(ステップS201)、撮影画像内のマップ点の投影点を算出する(ステップS202)。
位置姿勢推定部150は、マップ点のうち種別が「3次元確定」となるマップ点を抽出する(ステップS203)。位置姿勢推定部150は、マップ点の種別が「3次元確定」となるマップ点の個数を特定する(ステップS204)。
位置姿勢推定部150は、マップ点の個数が所定数以上である場合には(ステップS205,Yes)、ステップS207に移行する。位置姿勢推定部150は、マップ点の個数が所定数未満である場合には(ステップS205,No)、種別が「未3次元化」となるマップ点を追加する(ステップS206)。位置姿勢推定部150は、カメラ50の位置姿勢を算出する(ステップS207)。
上記のように、マップ点の種別に「未3次元化」/「3次元座標確定」が混在している場合であっても、「3次元座標確定」のマップ点を優先して使用し、カメラの位置姿勢を推定するため、位置姿勢の推定精度を向上させることができる。
次に、上記実施例に示した画像処理装置100と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例について説明する。図13は、画像処理プログラムを実行するコンピュータの一例を示す図である。
図13に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置205と、カメラ206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。そして、各装置201〜208は、バス209に接続される。
ハードディスク装置208は、キーフレーム判定プログラム208a、位置姿勢推定プログラム208b、調整プログラム208c、3次元マップ更新プログラム208dを有する。CPU201は、キーフレーム判定プログラム208a、位置姿勢推定プログラム208b、調整プログラム208c、3次元マップ更新プログラム208dを読み出してRM207に展開する。
キーフレーム判定プログラム208aは、キーフレーム判定プロセス207aとして機能する。位置姿勢推定プログラム208bは、位置姿勢推定プロセス207bとして機能する。調整プログラム208cは、調整プロセス207cとして機能する。3次元マップ更新プログラム208dは、3次元マップ更新プロセス207dとして機能する。
キーフレーム判定プロセス207aの処理は、キーフレーム判定部160の処理に対応する。位置姿勢推定プロセス207bの処理は、位置姿勢推定部160の処理に対応する。調整プロセス207cの処理は、調整部180の処理に対応する。3次元マップ更新プロセス207dは、3次元マップ更新部190の処理に対応する。
なお、キーフレーム判定プログラム208a、位置姿勢推定プログラム208b、調整プログラム208c、3次元マップ更新プログラム208dについては、必ずしも最初からハードディスク装置208に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a〜208dを読み出して実行するようにしてもよい。
50 カメラ
100 画像処理装置
110 記憶部
110a キーフレーム情報
110b 3次元マップ情報
110c 位置姿勢情報
120 画像取得部
130 特徴点検出部
140 マッチング部
150 位置姿勢推定部
160 キーフレーム判定部
170 初期3次元マップ生成部
180 調整部
190 3次元マップ更新部

Claims (12)

  1. カメラに撮影された複数の撮影画像からキーフレームを判定するキーフレーム判定部と、
    前記キーフレーム判定部によって判定された第1のキーフレームに存在する特徴点の位置に基づいて、前記カメラから基準距離離れた平面上にマップ点を配置した初期の3次元マップを生成する初期3次元マップ生成部と、
    前記3次元マップのマップ点を撮影画像に投影した点と、前記撮影画像の特徴点との関係を基にして、前記カメラの位置姿勢を推定する位置姿勢推定部と、
    前記カメラの位置姿勢を基にして、前記3次元マップのマップ点の位置を微調整する調整部と、
    前記第1のキーフレームの特徴点と、前記第1のキーフレームより後の第2のキーフレームの特徴点とを基にして、前記3次元マップのマップ点の位置を更新する3次元マップ更新部と、
    を有することを特徴とする画像処理装置。
  2. 前記3次元マップは、マップ点と、該マップ点が前記第1のキーフレームに基づき生成された第1マップ点であるか、第1のキーフレームおよび第2のキーフレームに基づき生成された第2マップ点であるかを示す種別情報とを対応付けて保持することを特徴とする請求項1に記載の画像処理装置。
  3. 前記3次元マップ更新部は、前記3次元マップのマップ点のうち、種別情報が第1マップ点となるマップ点の位置を、前記第1のキーフレームおよび前記第2のキーフレームに基づいて再計算して更新し、再計算したマップ点の種別情報を、第2マップ点に更新することを特徴とする請求項2に記載の画像処理装置。
  4. 前記調整部は、前記位置姿勢推定部が前記カメラの位置推定に成功した場合に、前記3次元マップのマップ点のうち、種別情報が第1マップ点となるマップ点の位置を微調整することを特徴とする請求項2または3に記載の画像処理装置。
  5. 前記調整部は、前記第1のキーフレームの特徴点とマップ点とを結ぶ直線から得られるエピポーラの拘束条件に基づいて、前記マップ点の位置を微調整する範囲を特定することを特徴とする請求項4に記載の画像処理装置。
  6. 前記調整部は、前記3次元マップのマップ点のうち、前記マップ点と世界座標系の原点との距離が閾値以上となるマップ点に対して、前記マップ点の位置を微調整することを特徴とする請求項4に記載の画像処理装置。
  7. 前記3次元マップ更新部は、前記第2のキーフレームの特徴点のうち、前記第1のキーフレームの特徴点と対応しない特徴点を特定し、特定した特徴点の位置に基づいて、前記カメラから基準距離離れた平面上にマップ点を配置することで、種別情報が第1マップ点となる特徴点を、前記3次元マップに追加することを特徴とする請求項2に記載の画像処理装置。
  8. 前記位置姿勢推定部は、前記3次元マップに、前記種別情報が第1マップ点となるマップ点が存在する場合に、世界座標系の原点と、マップ点との距離に応じた重み付けを行って、前記カメラの位置姿勢を推定することを特徴とする請求項2に記載の画像処理装置。
  9. 前記位置姿勢推定部は、前記3次元マップのマップ点のうち、前記種別情報が第1マップ点となるマップ点よりも、第2マップ点となるマップ点を優先して選択し、選択したマップ点を基にして、前記カメラの位置姿勢を推定することを特徴とする請求項2に記載の画像処理装置。
  10. 前記初期3次元マップ生成部は、前記第1のキーフレームから所定の形状を有するマーカを検出し、前記マーカの形状を基にして、初期の3次元マップを生成することを特徴とする請求項1〜9のいずれか1つに記載の画像処理装置。
  11. コンピュータが実行する画像処理方法であって、
    カメラに撮影された複数の撮影画像からキーフレームを判定し、
    判定した第1のキーフレームに存在する特徴点の位置に基づいて、前記カメラから基準距離離れた平面上にマップ点を配置した初期の3次元マップを生成し、
    前記3次元マップのマップ点を撮影画像に投影した点と、前記撮影画像の特徴点との関係を基にして、前記カメラの位置姿勢を推定し、
    前記カメラの位置姿勢を基にして、前記3次元マップのマップ点の位置を微調整し、
    前記第1のキーフレームの特徴点と、前記第1のキーフレームより後の第2のキーフレームの特徴点とを基にして、前記3次元マップのマップ点の位置を更新する
    処理を実行することを特徴とする画像処理方法。
  12. コンピュータに、
    カメラに撮影された複数の撮影画像からキーフレームを判定し、
    判定した第1のキーフレームに存在する特徴点の位置に基づいて、前記カメラから基準距離離れた平面上にマップ点を配置した初期の3次元マップを生成し、
    前記3次元マップのマップ点を撮影画像に投影した点と、前記撮影画像の特徴点との関係を基にして、前記カメラの位置姿勢を推定し、
    前記カメラの位置姿勢を基にして、前記3次元マップのマップ点の位置を微調整し、
    前記第1のキーフレームの特徴点と、前記第1のキーフレームより後の第2のキーフレームの特徴点とを基にして、前記3次元マップのマップ点の位置を更新する
    処理を実行させることを特徴とする画像処理プログラム。
JP2017532266A 2015-07-31 2015-07-31 画像処理装置、画像処理方法および画像処理プログラム Active JP6338021B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071862 WO2017022033A1 (ja) 2015-07-31 2015-07-31 画像処理装置、画像処理方法および画像処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2017022033A1 JPWO2017022033A1 (ja) 2018-02-01
JP6338021B2 true JP6338021B2 (ja) 2018-06-06

Family

ID=57942698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017532266A Active JP6338021B2 (ja) 2015-07-31 2015-07-31 画像処理装置、画像処理方法および画像処理プログラム

Country Status (2)

Country Link
JP (1) JP6338021B2 (ja)
WO (1) WO2017022033A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6922348B2 (ja) * 2017-03-31 2021-08-18 富士通株式会社 情報処理装置、方法、及びプログラム
JP6922399B2 (ja) * 2017-05-15 2021-08-18 日本電気株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN110520694A (zh) * 2017-10-31 2019-11-29 深圳市大疆创新科技有限公司 一种视觉里程计及其实现方法
JP7325332B2 (ja) * 2017-11-20 2023-08-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元点群データ生成方法、および、三次元点群データ生成装置
CN110097045A (zh) * 2018-01-31 2019-08-06 株式会社理光 一种定位方法、定位装置及可读存储介质
CN109035334A (zh) * 2018-06-27 2018-12-18 腾讯科技(深圳)有限公司 位姿的确定方法和装置、存储介质及电子装置
CN111260779B (zh) * 2018-11-30 2022-12-27 华为技术有限公司 地图构建方法、装置及系统、存储介质
CN111383282B (zh) * 2018-12-29 2023-12-01 杭州海康威视数字技术股份有限公司 位姿信息确定方法及装置
CN111754388A (zh) * 2019-03-28 2020-10-09 北京初速度科技有限公司 一种建图方法及车载终端
CN111829532B (zh) * 2019-04-18 2022-05-17 丰翼科技(深圳)有限公司 一种飞行器重定位系统和重定位方法
JP7223449B2 (ja) * 2019-08-23 2023-02-16 上海亦我信息技術有限公司 撮影に基づく3dモデリングシステム
CN111105467B (zh) * 2019-12-16 2023-08-29 北京超图软件股份有限公司 一种图像标定方法、装置及电子设备
CN113239072A (zh) * 2021-04-27 2021-08-10 华为技术有限公司 一种终端设备定位方法及其相关设备
CN113506337B (zh) * 2021-05-17 2024-04-16 南京理工大学 一种基于EPnP的双目相机位姿估计方法
WO2024009377A1 (ja) * 2022-07-05 2024-01-11 日本電気株式会社 情報処理装置、自己位置推定方法、及び非一時的なコンピュータ可読媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101483660B1 (ko) * 2007-07-26 2015-01-16 코닌클리케 필립스 엔.브이. 깊이-관련 정보 전파를 위한 방법 및 장치
JP2009237846A (ja) * 2008-03-27 2009-10-15 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JPWO2017022033A1 (ja) 2018-02-01
WO2017022033A1 (ja) 2017-02-09

Similar Documents

Publication Publication Date Title
JP6338021B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6503906B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6464934B2 (ja) カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US10930008B2 (en) Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image
US11037325B2 (en) Information processing apparatus and method of controlling the same
US8487926B2 (en) Method and apparatus for generating 3D image using 2D photograph images
JP6701930B2 (ja) オーサリング装置、オーサリング方法およびオーサリングプログラム
WO2013111229A1 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6985897B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2008002980A (ja) 情報処理方法および装置
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
US11348323B2 (en) Information processing apparatus for correcting three-dimensional map, information processing method for correcting three-dimensional map, and non-transitory computer-readable storage medium for correcting three-dimensional map
JP6061770B2 (ja) カメラ姿勢推定装置及びそのプログラム
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
JP6109213B2 (ja) 情報処理装置および方法、プログラム
JP2021009557A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2012018684A (ja) 情報処理方法および装置
KR20150119770A (ko) 카메라를 사용한 3차원 좌표 측정 장치 및 방법
JP5464671B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR20210051002A (ko) 포즈 추정 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
JP2018032144A (ja) 画像処理装置、画像処理方法およびプログラム。
KR20210051001A (ko) 포즈 추정 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR20210051000A (ko) 포즈 추정 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170922

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: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6338021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150