JP2017182302A - 画像処理プログラム、画像処理装置、及び画像処理方法 - Google Patents

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

Info

Publication number
JP2017182302A
JP2017182302A JP2016066086A JP2016066086A JP2017182302A JP 2017182302 A JP2017182302 A JP 2017182302A JP 2016066086 A JP2016066086 A JP 2016066086A JP 2016066086 A JP2016066086 A JP 2016066086A JP 2017182302 A JP2017182302 A JP 2017182302A
Authority
JP
Japan
Prior art keywords
lines
line
projection
image
feature
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.)
Granted
Application number
JP2016066086A
Other languages
English (en)
Other versions
JP6716996B2 (ja
Inventor
山口 伸康
Nobuyasu Yamaguchi
伸康 山口
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
Priority to JP2016066086A priority Critical patent/JP6716996B2/ja
Priority to EP17161542.0A priority patent/EP3239931A1/en
Priority to US15/466,314 priority patent/US10354402B2/en
Publication of JP2017182302A publication Critical patent/JP2017182302A/ja
Application granted granted Critical
Publication of JP6716996B2 publication Critical patent/JP6716996B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】撮像装置が撮影した物体の画像と形状情報とを用いて、撮像装置の位置を精度よく推定する。
【解決手段】コンピュータは、物体の形状情報に含まれる候補線を画像上に投影した投影線と、画像から検出した特徴線とを対応付けた、所定数の組み合わせを用いて、撮像装置の第1位置を推定する(ステップ801)。次に、コンピュータは、第1位置を用いて別の候補線を画像上に投影することで、第1投影線を生成し(ステップ802)、それに対応する特徴線を選択する(ステップ803)。次に、コンピュータは、第1投影線と特徴線とを対応付けた組み合わせを用いて、撮像装置の第2位置を推定する(ステップ804)。そして、コンピュータは、第2位置を用いて上記別の候補線を画像上に投影することで、第2投影線を生成し(ステップ805)、第2投影線と上記別の特徴線との間のずれを表す指標に基づいて、撮像装置の第3位置を決定する(ステップ806)。
【選択図】図8

Description

本発明は、画像処理プログラム、画像処理装置、及び画像処理方法に関する。
近年、拡張現実(Augmented Reality, AR)技術を用いて画像を表示するシステムが普及してきている(例えば、特許文献1及び非特許文献1を参照)。AR技術の一例では、パーソナルコンピュータ(PC)、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から3次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
図1は、ユーザの点検作業を支援するAR技術の例を示している。ユーザ101は、タブレット等の携帯端末装置102に搭載されたカメラを用いて、点検対象103及びマーカ104を撮影する。
携帯端末装置102は、撮影した画像を画面105上に表示するとともに、マーカ104が示す識別情報を読み取って、3次元空間内におけるカメラの位置及び姿勢を推定する。そして、携帯端末装置102は、推定したカメラの位置及び姿勢を基準にして、コンピュータグラフィックス(CG)等により、マーカ104に対応するコンテンツ情報106を重畳表示する。コンテンツ情報106は、点検対象103に対する点検作業の手順を示しており、ユーザ101は、コンテンツ情報106を参照することで、点検作業を効率よく行うことができる。
撮影対象の物体にマーカを設けることなく、撮影した画像に含まれる特徴的な点(特徴点)を用いてカメラの位置及び姿勢を求める方法も提案されている(例えば、特許文献2を参照)。例えば、画像内の着目点の近傍における濃淡変動が大きく、濃淡変動によって画像内における着目点の位置が一意に規定されることを基準として、画像から特徴点を検出することができる。
図2は、特徴点を用いてカメラの位置及び姿勢を求める方法の例を示している。この方法では、物体上におけるマップ点211の3次元座標の集合を表す3次元マップ201が、予め生成される。
次に、画像202が撮影されたとき、3次元座標系203をカメラ座標系204へ変換する変換行列Mを用いて、マップ点211を画像202上に投影することで、投影点212が求められる。そして、投影点212と画像202から検出された特徴点213とを対応付けることで、3次元座標系203におけるカメラの位置及び姿勢が推定される。例えば、カメラの位置は、3次元座標系203に対するカメラ座標系204の相対位置によって表され、カメラの姿勢は、3次元座標系203に対するカメラ座標系204の相対角度によって表される。
マップ点pの3次元座標Sp、マップ点pに対応する投影点の2次元座標xp’、及びマップ点pに対応する特徴点の2次元座標xpは、次式のように記述することができる。
Sp=(x,y,z) (1)
xp’=(u’,v’) (2)
xp=(u,v) (3)
この場合、画像上における投影点と特徴点との距離の二乗和Eは、次式により表される。
式(4)の二乗和Eが最小となるような変換行列Mを求めることで、カメラの位置及び姿勢が決定される。
図3は、3次元マップ201の生成方法の例を示している。この生成方法では、ステレオ撮影及びステレオ計測が用いられる。撮影位置311及び撮影位置312からそれぞれ撮影した画像301及び画像302がキーフレームとして用いられ、画像301内の特徴点313と画像302内の特徴点314とを対応付けることで、3次元空間内のマップ点315が復元される。2枚の画像内の複数の特徴点同士を対応付けることで、複数のマップ点が復元され、それらのマップ点の集合を表す3次元マップ201が生成される。
AR技術の応用として、物体の3次元形状を表すComputer-Aided Design(CAD)データを画像に重畳表示する技術も知られている(例えば、特許文献3及び特許文献4を参照)。CADデータに基づいて作製した作製物を撮影した画像中に、その作製物に重なるようにCADデータを重畳表示することで、作製物の加工精度又は不具合を確認することが可能になる。この場合、CADデータが既に3次元マップの情報を含んでいるため、3次元マップの生成が不要になる。
コンピュータ・ビジョンのための多面体表現も知られている(例えば、非特許文献2を参照)。
特開2015−118641号公報 国際公開第2014/179349号パンフレット 国際公開第2012/173141号パンフレット 特開2008−286756号公報
石井ら,"拡張現実感を利用した原子力発電プラントの解体支援手法の提案と評価",日本バーチャルリアリティ学会論文誌,13(2),pp.289−300,2008年6月 Bruce G. Baumgart,"A polyhedron representation for computer vision", Proceedings of the May 19-22, 1975, national computer conference and exposition, pp.589-596, 1975
カメラにより撮影した物体の画像内の特徴点と、その物体のCADデータが表すマップ点とを対応付けることで、カメラの位置及び姿勢を推定する場合、対応付け方法によって推定精度が低下することがある。
なお、かかる問題は、CADデータから撮像装置の位置及び姿勢を推定する場合に限らず、物体の形状を表す他の形状情報から撮像装置の位置を推定する場合においても生ずるものである。
1つの側面において、本発明は、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することを目的とする。
1つの案では、画像処理プログラムは、以下の処理をコンピュータに実行させる。
(1)コンピュータは、所定数の投影線それぞれと所定数の特徴線それぞれとを対応付けた所定数の組み合わせを用いて、空間内における撮像装置の第1位置を推定する。所定数の投影線は、物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した物体の画像上に投影した投影線である。所定数の特徴線は、画像から検出した複数の特徴線に含まれる特徴線である。
(2)コンピュータは、第1位置を用いて、上記複数の候補線のうち所定数の候補線とは異なる候補線を画像上に投影することで、第1投影線を生成する。
(3)コンピュータは、上記複数の特徴線の中から、第1投影線に対応する特徴線を選択する。
(4)コンピュータは、第1投影線と選択した特徴線とを対応付けた組み合わせを用いて、空間内における撮像装置の第2位置を推定する。
(5)コンピュータは、第2位置を用いて上記異なる候補線を画像上に投影することで、第2投影線を生成する。
(6)コンピュータは、第2投影線の位置と上記異なる特徴線の位置との間のずれを表す指標に基づいて、空間内における撮像装置の第3位置を決定する。
実施形態によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することができる。
AR技術を示す図である。 カメラの位置及び姿勢を求める方法を示す図である。 3次元マップの生成方法を示す図である。 物体の画像を示す図である。 CADデータを示す図である。 エッジ線と輪郭線との対応付けを示す図である。 画像処理装置の機能的構成図である。 画像処理のフローチャートである。 画像処理装置の具体例を示す機能的構成図である。 画像処理の第1の具体例を示すフローチャートである。 特徴線を示す図である。 初期対応ペアを示す図である。 追加対応ペアを示す図である。 初期対応ペア及び追加対応ペアを示す図である。 領域の面積に基づく計算方法を示す図である。 距離に基づく計算方法を示す図である。 指標の計算結果を示す図である。 投影線を示す図である。 画像処理の第2の具体例を示すフローチャートである。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
カメラの位置及び姿勢を求める際に、CADデータを図2の3次元マップ201として使用する場合、CADデータと物体との間で、模様又は色合いといった“見た目”の特徴が異なる場合が多い。この“見た目”の特徴が一致することを前提とした場合、画像内の特徴点とCADデータが表すマップ点との対応付けを、画像処理によって自動的に行うことが難しい。このため、PCの画面上でのマウス操作によって、特徴点とマップ点との対応付けが手作業で行われることがある。この場合、以下のような問題が発生すると考えられる。
(A)画像中から特徴点を精度よく検出することが難しい。
(B)マップ点を画像上に投影した投影点及び特徴点をマウス等で選択する操作が難しい。
(C)投影点及び特徴点を選択する操作が難しいことと、手作業の手間のため、選択する投影点と特徴点との組み合わせ(対応ペア)の個数が限られる。
(D)対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
そこで、特許文献1又は先願である特願2015−218318号に記載されているように、画像から検出されたエッジ線と、CADデータが表す輪郭線とを対応付ける方法も考えられる。
図4は、物体の画像の例を示しており、図5は、図4の物体の形状を表すCADデータの例を示している。図6は、図4の画像から検出されたエッジ線と、図5のCADデータが表す輪郭線との対応付けの例を示している。
まず、携帯端末装置等の画像処理装置は、図6(a)に示すように、エッジ検出処理を行って、画像からエッジ線を検出する。次に、図6(b)に示すように、画像処理装置は、CADデータが表す輪郭線と検出したエッジ線とを画像中に表示し、ユーザは、エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。
次に、画像処理装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、カメラの位置及び姿勢を計算する。そして、図6(c)に示すように、画像処理装置は、計算したカメラの位置及び姿勢に合わせて、CADデータが表す輪郭線を物体の画像に重畳表示する。
このような対応付け方法によれば、エッジ線を精度よく検出することができ、エッジ線及び輪郭線を容易に選択することができるため、上記(A)及び(B)の問題が解決されるが、以下のような問題が発生すると考えられる。
(E)手作業の手間のため、選択する輪郭線とエッジ線との組み合わせ(対応ペア)の個数が限られる。
(F)対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
カメラの位置及び姿勢を求めるためには、最低限4個の対応ペアを用いることが望ましく、対応ペアの個数が多いほど計算精度は向上する。
図7は、実施形態の画像処理装置の機能的構成例を示している。図7の画像処理装置701は、記憶部711、推定部712、推定部713、及び決定部714を含む。記憶部711は、物体の形状情報721を記憶する。
図8は、図7の画像処理装置701が行う画像処理の例を示すフローチャートである。まず、推定部712は、所定数の投影線それぞれと所定数の特徴線それぞれとを対応付けた所定数の組み合わせを用いて、空間内における撮像装置の第1位置を推定する(ステップ801)。所定数の投影線は、形状情報721に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した物体の画像上に投影した投影線である。所定数の特徴線は、画像から検出した複数の特徴線に含まれる特徴線である。
次に、推定部713は、第1位置を用いて、上記複数の候補線のうち所定数の候補線とは異なる候補線を画像上に投影することで、第1投影線を生成し(ステップ802)、上記複数の特徴線の中から、第1投影線に対応する特徴線を選択する(ステップ803)。そして、推定部713は、第1投影線と選択した特徴線とを対応付けた組み合わせを用いて、空間内における撮像装置の第2位置を推定する(ステップ804)。
次に、決定部714は、第2位置を用いて上記異なる候補線を画像上に投影することで、第2投影線を生成する(ステップ805)。そして、決定部714は、第2投影線の位置と上記異なる特徴線の位置との間のずれを表す指標に基づいて、空間内における撮像装置の第3位置を決定する(ステップ806)。
このような画像処理装置701によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することができる。
図9は、図7の画像処理装置701の具体例を示している。図9の画像処理装置701は、記憶部711、推定部712、推定部713、決定部714、画像取得部911、特徴検出部912、CADデータ処理部914、コンテンツ生成部915、及び表示部913を含む。推定部712は、生成部921及び位置計算部922を含み、推定部713は、生成部923、選択部924、位置計算部925、及び誤差計算部926を含む。
画像処理装置701は、タブレット、ノート型PC、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型PC等の情報処理装置であってもよい。
撮像装置901は、例えば、カメラであり、物体の画像931を撮影し、画像取得部911は、撮像装置901から画像931を取得して、記憶部711に格納する。記憶部711は、画像931、パラメータ934〜パラメータ938、及びCADデータ939を記憶する。
パラメータ934は、推定部712が推定した撮像装置901の位置及び姿勢を表し、パラメータ936は、推定部713が推定した撮像装置901の位置及び姿勢を表し、パラメータ938は、決定部714が決定した撮像装置901の位置及び姿勢を表す。CADデータ939は、図7の形状情報721に対応し、物体の3次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の3次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報を含む。
特徴検出部912は、エッジ検出処理を行って、画像931から複数のエッジ線を検出し、検出したエッジ線を特徴線932として記憶部711に格納する。表示部913は、画像931を画面上に表示するとともに、特徴線932を画像931内の対応する位置に重畳表示する。
CADデータ処理部914は、CADデータ939に含まれる複数の線分の中から不要な線分を削除して、物体の外形特徴を表す線分を抽出し、抽出した線分を候補線940として記憶部711に格納する。そして、CADデータ処理部914は、撮像装置901の位置及び姿勢の初期値を用いて、候補線940を画像931上に投影することで、投影線を生成し、表示部913は、生成された投影線を画像931に重畳表示する。
ユーザは、画像931に重畳表示された複数の投影線の中からN本(Nは2以上の整数)の投影線を選択し、複数の特徴線932の中から、選択した各投影線に対応付ける特徴線を選択する。推定部712の生成部921は、ユーザが選択した投影線と特徴線とを対応付けたN個の組み合わせを生成し、生成したN個の組み合わせをN個の初期対応ペア933として記憶部711に格納する。位置計算部922は、N個の初期対応ペア933を用いて、3次元空間内における撮像装置901の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ934として記憶部711に格納する。
推定部713の生成部923は、パラメータ934が表す撮像装置901の位置及び姿勢を用いて、候補線940を画像931上に投影することで、投影線を生成し、生成した投影線の中から、初期対応ペア933に対して追加する投影線を選択する。次に、生成部923は、複数の特徴線932の中から、選択した投影線に対応付ける特徴線を選択し、選択した投影線と特徴線とを対応付けた組み合わせを生成する。そして、生成部923は、生成した組み合わせを追加対応ペア935として記憶部711に格納する。
選択部924は、初期対応ペア933及び追加対応ペア935の中から、N個の対応ペアを選択する。位置計算部925は、選択部924が選択したN個の対応ペアを用いて、3次元空間内における撮像装置901の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ936として記憶部711に格納する。
このとき、位置計算部925は、撮像装置901の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる投影線に対応する候補線940を投影することで、投影線を生成する。そして、位置計算部925は、生成した投影線と、その対応ペアに含まれる特徴線とを、誤差計算部926へ出力する。誤差計算部926は、投影線の位置と特徴線の位置との間のずれを表す誤差を計算し、計算した誤差を位置計算部925へ出力する。位置計算部925は、誤差計算部926が出力する誤差が最小となる変数の値を、パラメータ936として求める。
推定部713は、N個の対応ペアの選択を変更しながら、パラメータ936を計算する処理を複数回繰り返す。決定部714は、パラメータ936が計算される度に、そのパラメータ936が表す撮像装置901の位置及び姿勢を用いて、選択部924が選択したN個の対応ペアに含まれる各投影線に対応する候補線940を、画像931上に投影する。そして、決定部714は、誤差計算部926と同様にして、N本の投影線の位置とN本の特徴線の位置との間の誤差の総和を計算し、計算した誤差の総和を指標937として記憶部711に格納する。
次に、決定部714は、それぞれのパラメータ936を用いて計算した指標937に基づいて、誤差の総和が最小となるN個の対応ペアを決定する。そして、決定部714は、決定したN個の対応ペアを用いて、3次元空間内における撮像装置901の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ938として記憶部711に格納する。
コンテンツ生成部915は、パラメータ938が表す撮像装置901の位置及び姿勢を基準にして、物体に対応するコンテンツ情報を表すコンテンツ画像を生成し、表示部913は、画像931にコンテンツ画像を重畳表示する。
このような画像処理装置701によれば、ユーザが初期対応ペア933を選択するだけで、投影線と特徴線の追加対応ペア935が自動的に生成されるため、ユーザの作業負担が軽減される。また、対応ペアの個数が増加することで、撮像装置901の位置及び姿勢の推定精度が向上するため、コンテンツ画像の表示精度も向上し、高品質のARが実現される。
図10は、図9の画像処理装置701が行う画像処理の第1の具体例を示すフローチャートである。まず、画像取得部911は、撮像装置901から画像931を取得し、表示部913は、画像931を画面上に表示する(ステップ1001)。次に、特徴検出部912は、画像931から複数の特徴線932を検出し、表示部913は、特徴線932を画像931に重畳表示する(ステップ1002)。
また、CADデータ処理部914は、CADデータ939から候補線940を抽出し(ステップ1003)。次に、CADデータ処理部914は、候補線940を画像931上に投影し、表示部913は、投影線を画像931に重畳表示する(ステップ1004)。
この時点では、画像931が撮影されたときの撮像装置901の位置及び姿勢が推定されていないため、予め決められた位置及び姿勢の初期値を用いて、候補線940が画像931上に投影される。このため、投影線の近傍に対応する特徴線932が存在する可能性は高くない。この状態で、何らかの選択アルゴリズムによって自動的に初期対応ペア933を選択しても、投影線に対して誤った特徴線932が対応付けられる可能性が高くなる。
そこで、ユーザの目視及び手動の操作によって、最小限の個数の初期対応ペア933が選択される。手動の操作としては、PCのマウス、ペン、キーボード、スマートデバイス又はタブレットのタッチパネル等の入力装置を用いた操作が行われる。したがって、撮像装置901の位置及び姿勢の初期値は、ユーザの目視及び手動の操作が容易になるように調整されることが望ましい。ユーザが初期対応ペア933を選択することで、誤った初期対応ペア933が生成される可能性が低くなり、撮像装置901の位置及び姿勢の推定精度が向上する。
次に、生成部921は、ユーザが選択した投影線と特徴線932の初期対応ペア933の入力を受け付け(ステップ1005)、ユーザがN個の初期対応ペア933を選択したか否かをチェックする(ステップ1006)。N個の初期対応ペア933が選択されていない場合(ステップ1006,No)、生成部921は、ステップ1005の処理を繰り返す。そして、N個の初期対応ペア933が選択された場合(ステップ1006,Yes)、位置計算部922は、それらの初期対応ペア933を用いてパラメータ934を計算する(ステップ1007)。
図11は、画像931から検出された特徴線932の例を示しており、図12は、ユーザが選択したN個の初期対応ペア933の例を示している。この例では、N=4であり、初期対応ペア1201〜初期対応ペア1204の4個の初期対応ペアが選択されている。
次に、生成部923は、パラメータ934を用いて候補線940を画像931上に投影することで、投影線を生成する(ステップ1008)。そして、生成部923は、追加する投影線を選択し、選択した投影線に対応付ける特徴線932を選択して、投影線と特徴線の追加対応ペア935を生成する(ステップ1009)。
パラメータ934の計算に用いた初期対応ペア933の個数が少ないため、パラメータ934の推定誤差が大きく、そのパラメータ934を用いて生成された投影線の位置も、本来対応しているはずの特徴線の位置からずれている可能性がある。また、エッジ検出処理において、本来1本のエッジ線が複数のエッジ線に分断されたり、影又は傷等を表すエッジ線が、物体の特徴を表すエッジ線として誤検出されたりすることもある。さらに、製造工程の不具合によって、CADデータとは異なる形状の物体が作製される可能性もある。このような理由から、投影線に最も近い特徴線が本来対応する特徴線であるとは限らない。
そこで、生成部923は、複数の特徴線932のうち、例えば、投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす1本以上の特徴線を選択する。これにより、投影線の近傍に存在し、かつ、投影線の方向と類似する方向を有する特徴線を漏れなく選択して、その投影線に対応付けることができる。所定の条件としては、例えば、次式のような条件を用いることができる。
投影線と特徴線との距離<閾値 (11)
投影線と特徴線との成す角度<閾値 (12)
このような条件を用いることで、様々な要因に起因する対応ペアの取りこぼしを防ぐことができる。追加対応ペアに含まれる1本の投影線に対して、複数の特徴線が対応付けられることもある。
図13は、生成された追加対応ペア935の例を示している。この例では、追加対応ペア1301〜追加対応ペア1303の3個の追加対応ペアが生成されている。このうち、追加対応ペア1301には、1本の投影線と、ほぼ平行に並んだ2本の特徴線とが含まれている。
図14は、初期対応ペア933及び追加対応ペア935の例を示している。図14では、図12に示した初期対応ペア1201〜初期対応ペア1204と、図13に示した追加対応ペア1301〜追加対応ペア1303とが示されている。
次に、選択部924は、初期対応ペア933及び追加対応ペア935の中から、N個の対応ペアを選択し(ステップ1010)、位置計算部925は、それらの対応ペアを用いてパラメータ936を計算する(ステップ1011)。
ユーザが選択したN個の初期対応ペア933には、投影線と特徴線の対応付けが誤っているものがほとんど含まれず、含まれていたとしても、人為ミスによる1個程度になると考えられる。また、目視での選択が行いやすい特徴線、すなわち、検出結果が良好な特徴線が優先して選択されやすい。
そこで、選択部924は、少なくとも1個以上の初期対応ペア933をN個の対応ペアに含めることが望ましい。これにより、撮像装置901の位置及び姿勢を表すパラメータ936の計算精度が向上する。
また、選択部924は、初期対応ペア933及び追加対応ペア935のうち、他の対応ペアよりも長い投影線を含む対応ペアを優先的に選択して、N個の対応ペアに含めることが望ましい。
投影線が長い場合、物体の形状を表す輪郭線自体が長いため、より長い特徴線が検出される可能性が高い。また、長い特徴線ほど、その信頼性も高いと考えられる。さらに、撮像装置901の位置及び姿勢の計算において、投影線と特徴線がともに長いほど、投影線と特徴線との間の誤差の計算精度が向上するため、パラメータ936の計算精度も向上する。
さらに、選択部924は、初期対応ペア933及び追加対応ペア935のうち、複数の投影線が表す図形の外周に対応する投影線を含む対応ペアを優先的に選択して、N個の対応ペアに含めることが望ましい。図形の外周に対応する投影線は、物体の輪郭線を表しており、対応する特徴線も輪郭線を表すと考えられる。
輪郭線の場合、物体と背景との境界線が特徴線として検出されるが、物体と背景は物理的に離れているため、太陽、照明等の光の当たり方が異なっていたり、材質又は色が異なっていたりすることが多い。このため、より明瞭な特徴線が検出されやすく、特徴線の位置の精度も高くなる。また、輪郭線を表す対応ペアを多数選択することで、画像931内における対応ペアの分布範囲が広くなり、パラメータ936の計算精度の向上に寄与すると考えられる。
CADデータに含まれる輪郭線は、CGにおける境界表現(Boundary Representations)の技術を用いることで、検出することが可能である。例えば、非特許文献2に開示されているように、境界表現の1つであるウィングドエッジ(Winged-Egde)構造のデータには、輪郭線とそれを形成する頂点及び面を表す情報と、他の輪郭線との接続関係を表す情報とが含まれている。これらの情報に基づいて、CADデータから抽出された各候補線940が外周に対応するか否かを判定することができる。
ステップ1011において、位置計算部925は、例えば、最小二乗法を用いてパラメータ936を計算することができる。この場合、位置計算部925は、撮像装置901の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる投影線の位置と特徴線の位置との誤差Ei(i=1〜N)を評価し、N個の対応ペアに対する二乗誤差の総和Eが最小となる変数の値を、パラメータ936として求める。二乗誤差の総和Eは、次式により計算される。
誤差計算部926は、例えば、図15又は図16に示すような方法で、誤差Eiを計算することができる。図15は、投影線と特徴線との間の領域の面積に基づく計算方法の例を示している。i番目の対応ペアに含まれる投影線が線分1501であり、特徴線が線分1502である場合、線分1501の両端と線分1502の両端をそれぞれ結ぶ線分1503及び線分1504を定義することができる。この場合、線分1501〜線分1504によって囲まれた領域1511の面積Aiを、誤差Eiとして用いることができる。
Ei=Ai (22)
面積Aiが小さいほど、誤差Eiは小さくなり、線分1501が線分1502に重なっている場合、誤差Eiは0になる。
図16は、投影線と特徴線との間の距離に基づく計算方法の例を示している。線分1502の両端から線分1501上へ下ろした垂線1601及び垂線1602の長さを、それぞれ、Li1及びLi2とする。この場合、Li1及びLi2の和を、誤差Eiとして用いることができる。
Ei=Li1+Li2 (23)
Li1及びLi2が短いほど、誤差Eiは小さくなり、線分1501が線分1502に重なっている場合、誤差Eiは0になる。
なお、図13に示したように、追加対応ペアに含まれる1本の投影線に対して、複数の特徴線が対応付けられていることもある。例えば、i番目の対応ペアにK本の特徴線が含まれている場合、位置計算部925は、各特徴線に対する誤差E(i,j)(j=1〜K)を評価し、E(i,1)〜E(i,K)の最小値をEiとして用いることができる。
Ei=min{E(i,1),E(i,2),...,E(i,K)} (24)
この場合、位置計算部925は、最小値に対応する特徴線を、i番目の対応ペアにおける代表特徴線として記憶部711に記録する。これにより、決定部714及びコンテンツ生成部915は、代表特徴線を用いて処理を行うことができる。
次に、決定部714は、パラメータ936を用いて、N個の対応ペアに対する誤差の総和を表す指標937を計算し(ステップ1012)、指標937の計算を所定回数行ったか否かをチェックする(ステップ1013)。指標937の計算を所定回数行っていない場合(ステップ1013,No)、選択部924は、N個の対応ペアの選択を変更し(ステップ1010)、画像処理装置701は、ステップ1011以降の処理を繰り返す。
図17は、図14に示した初期対応ペア1201〜初期対応ペア1204及び追加対応ペア1301〜追加対応ペア1303を用いて、指標937の計算をR回繰り返した計算結果の例を示している。
この例では、N=4であり、P1〜P4は、初期対応ペア1201〜初期対応ペア1204を表し、P5〜P7は、追加対応ペア1301〜追加対応ペア1303を表す。特徴線F1及び特徴線F2は、追加対応ペア1301に含まれる、ほぼ平行に並んだ2本の特徴線を表し、特徴線F3及び特徴線F4は、追加対応ペア1302に含まれる、垂直方向に分断された2本の特徴線を表す。“○”は、選択された対応ペアを表す。
指標937の計算を所定回数行った場合(ステップ1013,Yes)、決定部714は、誤差の総和が最小となるN個の対応ペアを選択し(ステップ1014)、それらの対応ペアに基づいてパラメータ938を計算する(ステップ1015)。
例えば、図17の計算結果では、8回目の二乗誤差の総和Eが10であり、最小値に相当する。したがって、誤差の総和が最小となる4個の対応ペアは、P1、P3、P4、及びP6である。追加対応ペアP6に含まれる特徴線F3及び特徴線F4のうち、特徴線F3が選択された場合に、Eが最小となる。
ステップ1015において、決定部714は、ステップ1014で選択したN個の対応ペアを用いて、位置計算部925と同様にして、撮像装置901の位置及び姿勢を計算してもよい。
しかし、ステップ1014で選択したN個の対応ペアのみでは、計算誤差が小さくならない可能性がある。そこで、決定部714は、初期対応ペア933及び追加対応ペア935を合わせたすべての対応ペアを用いて、撮像装置901の位置及び姿勢を再計算してもよい。この場合、決定部714は、複数の特徴線が含まれている対応ペアについては、誤差の最小値に対応する代表特徴線を選択し、選択した代表特徴線を用いて撮像装置901の位置及び姿勢を計算する。
また、決定部714は、初期対応ペア933及び追加対応ペア935のうち、誤差計算部926が計算した誤差が所定値よりも大きい対応ペアを除外し、残りの対応ペアを用いて撮像装置901の位置及び姿勢を再計算してもよい。これにより、誤差の大きい対応ペアの影響が排除されるため、撮像装置901の位置及び姿勢の推定精度がさらに向上する。
さらに、決定部714は、選択部924と同様に、他の対応ペアよりも長い投影線を含む対応ペア、又は図形の外周に対応する投影線を含む対応ペアを優先的に選択して、撮像装置901の位置及び姿勢を計算してもよい。
この場合、例えば、式(21)の総和Eを重み付き加算により計算し、優先的に選択する所定の対応ペアの重みを、他の対応ペアの重みよりも小さくする方法が考えられる。これにより、N個の対応ペアが所定の対応ペアを含む場合の総和Eが、その対応ペアを含まない場合の総和Eよりも小さくなるため、その対応ペアを含むN個の対応ペアが優先的に採用されるようになる。
図18は、パラメータ938を用いて候補線940を画像931上に投影することで生成された投影線の例を示している。
次に、コンテンツ生成部915は、パラメータ938を用いてコンテンツ画像を生成し、表示部913は、画像931にコンテンツ画像を重畳表示する(ステップ1016)。
このとき、表示部913は、誤差Eiが所定値よりも大きな対応ペアに含まれる投影線及び特徴線を、誤差Eiが所定値以下の対応ペアに含まれる投影線及び特徴線とは異なる表示形態で画面上に表示してもよい。この場合、表示部913は、誤差Eiが大きな対応ペアに含まれる投影線及び特徴線の色、線幅、書式等を変更して、それらの投影線及び特徴線を強調表示する。
誤差Eiが大きな対応ペアは、製造工程の不具合によって作製された、CADデータとは異なる物体の形状を反映している可能性がある。そこで、このような特徴線を強調表示することで、ユーザは不具合の発生箇所を容易に視認することができ、作製物の検査が容易になる。
図10の画像処理によれば、N個の対応ペアの選択を変更しながら指標937の計算を繰り返すことで、誤差の総和が最小となるN個の対応ペアに基づいてパラメータ938を求めることができる。したがって、撮像装置901の位置及び姿勢の推定精度が向上し、高品質のARが実現される。また、コンテンツ画像を重畳表示するだけではなく、作製物の検査等の用途にAR技術を適用することも可能になる。
図19は、図9の画像処理装置701が行う画像処理の第2の具体例を示すフローチャートである。ステップ1901〜ステップ1912、ステップ1916、及びステップ1917の処理は、図10のステップ1001〜ステップ1012、ステップ1015、及びステップ1016の処理と同様である。
決定部714は、指標937を計算した後、指標937が表す誤差を所定値と比較する(ステップ1913)。誤差が所定値以上である場合(ステップ1913,No)、決定部714は、指標937の計算を所定回数行ったか否かをチェックする(ステップ1914)。指標937の計算を所定回数行っていない場合(ステップ1914,No)、選択部924は、N個の対応ペアの選択を変更し(ステップ1910)、画像処理装置701は、ステップ1911以降の処理を繰り返す。
一方、誤差が所定値よりも小さい場合(ステップ1913,Yes)、決定部714は、ステップ1916以降の処理を行う。また、指標937の計算を所定回数行った場合(ステップ1914,Yes)、決定部714は、画像931とCADデータ939との対応付けが失敗したと判定して(ステップ1915)、処理を終了する。
図19の画像処理によれば、誤差が所定値よりも小さくなった時点で繰り返し処理を打ち切ってパラメータ938を計算するため、迅速に撮像装置901の位置及び姿勢を決定することができる。
図7及び図9の画像処理装置701の構成は一例に過ぎず、画像処理装置701の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、画像931から特徴線932を検出する処理が画像処理装置701の外部の装置によって行われる場合は、図9の特徴検出部912を省略することができる。
CADデータ939から候補線940を抽出する処理が外部の装置によって行われる場合は、CADデータ処理部914を省略することができる。画像931にコンテンツ画像を重畳表示する処理が外部の装置によって行われる場合は、表示部913及びコンテンツ生成部915を省略することができる。CADデータ939の代わりに、物体の形状を表す他の形状情報を用いてもよい。
図8、図10、及び図19のフローチャートは一例に過ぎず、画像処理装置701の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、CADデータ939から候補線940を抽出する処理が外部の装置によって行われる場合は、図10のステップ1003及び図19のステップ1903の処理を省略することができる。画像931にコンテンツ画像を重畳表示する処理が外部の装置によって行われる場合は、図10のステップ1016及び図19のステップ1917の処理を省略することができる。
図10のステップ1005で選択される初期対応ペア933の個数と、ステップ1010で選択される対応ペアの個数は、異なっていてもよい。同様に、図19のステップ1905で選択される初期対応ペア933の個数と、ステップ1910で選択される対応ペアの個数は、異なっていてもよい。
撮像装置901の姿勢が予め決められている場合、図10のステップ1007、ステップ1011、及びステップ1015において、撮像装置901の位置のみをパラメータとして求めてもよい。同様に、図19のステップ1907、ステップ1911、及びステップ1916において、撮像装置901の位置のみをパラメータとして求めてもよい。
図1のAR技術は一例に過ぎず、表示される画像及びコンテンツ情報は、撮影対象の物体又は画像処理装置701の用途に応じて変化する。図2の3次元マップ及び画像は一例に過ぎず、3次元マップ及び画像は、撮影対象の物体に応じて変化する。図3の3次元マップの生成方法は一例に過ぎず、画像処理装置701の構成又は条件に応じて、別の方法により3次元マップを生成してもよい。
図4の画像、図5のCADデータ、図6のエッジ線及び輪郭線は一例に過ぎず、画像、CADデータ、エッジ線及び輪郭線は、撮影対象の物体、画像処理装置701の構成又は条件に応じて変化する。図11の特徴線、図12〜図14の初期対応ペア及び追加対応ペア、図17の計算結果、図18の投影線は一例に過ぎず、特徴線、投影線、対応ペア、及び計算結果は、撮影対象の物体、画像処理装置701の構成又は条件に応じて変化する。
図15及び図16の誤差の計算方法は一例に過ぎず、画像処理装置701の構成又は条件に応じて別の計算方法を用いてもよい。式(1)〜式(24)の計算式は一例に過ぎず、画像処理装置701の構成又は条件に応じて別の計算式を用いてもよい。
図7及び図9の画像処理装置701は、例えば、図20に示すような情報処理装置(コンピュータ)を用いて実装することができる。図20の情報処理装置は、Central Processing Unit(CPU)2001、メモリ2002、入力装置2003、出力装置2004、補助記憶装置2005、媒体駆動装置2006、及びネットワーク接続装置2007を含む。これらの構成要素はバス2008により互いに接続されている。図9の撮像装置901は、バス2008に接続されていてもよい。
メモリ2002は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、画像処理に用いられるプログラム及びデータを格納する。メモリ2002は、図7及び図9の記憶部711として用いることができる。
CPU2001(プロセッサ)は、例えば、メモリ2002を利用してプログラムを実行することにより、図7及び図9の推定部712、推定部713、及び決定部714として動作する。CPU2001は、図9の特徴検出部912、CADデータ処理部914、コンテンツ生成部915、生成部921、位置計算部922、生成部923、選択部924、位置計算部925、及び誤差計算部926としても動作する。
入力装置2003は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置2004は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、画像上に重畳されたコンテンツ画像であってもよく、誤差が大きな対応ペアに含まれる投影線及び特徴線であってもよい。出力装置2004は、図9の表示部913として用いることができる。
補助記憶装置2005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2005は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置2005にプログラム及びデータを格納しておき、それらをメモリ2002にロードして使用することができる。補助記憶装置2005は、図7及び図9の記憶部711として用いることができる。
媒体駆動装置2006は、可搬型記録媒体2009を駆動し、その記録内容にアクセスする。可搬型記録媒体2009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2009は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2009にプログラム及びデータを格納しておき、それらをメモリ2002にロードして使用することができる。
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2002、補助記憶装置2005、又は可搬型記録媒体2009のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置2007は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2007を介して受信し、それらをメモリ2002にロードして使用することができる。
なお、情報処理装置が図20のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体2009又は通信ネットワークを使用しない場合は、媒体駆動装置2006又はネットワーク接続装置2007を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図4乃至図20を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定し、
前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、
前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、
前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定し、
前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、
前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する、
処理をコンピュータに実行させる画像処理プログラム。
(付記2)
前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第1姿勢をさらに推定し、前記第1位置と前記第1姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第1投影線を生成し、前記第1投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第2位置と前記空間内における前記撮像装置の第2姿勢とを推定し、前記第2位置と前記第2姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第2投影線を生成し、前記指標に基づいて、前記第3位置と前記空間内における前記撮像装置の第3姿勢とを決定することを特徴とする付記1記載の画像処理プログラム。
(付記3)
前記コンピュータは、前記複数の特徴線のうち、前記第1投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす1本以上の特徴線を、前記第1投影線に対応する前記特徴線として選択することを特徴とする付記1又は2に記載の画像処理プログラム。
(付記4)
前記コンピュータは、
前記第1位置を用いて前記複数の候補線を前記画像上に投影することで、前記第1投影線を含む複数の第1投影線を生成し、前記複数の第1投影線の中から、前記第1投影線を含む特定数の第1投影線を選択し、前記複数の特徴線の中から、前記特定数の第1投影線に対応する前記特定数の特徴線を選択し、前記特定数の第1投影線と選択した前記特定数の特徴線とを対応付けた前記特定数の組み合わせを用いて、前記第2位置を推定し、前記第2位置を用いて前記特定数の候補線を前記画像上に投影することで、前記第2投影線を含む前記特定数の第2投影線を生成し、前記特定数の第2投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれを表す指標を求め、
前記特定数の第1投影線の選択を変更して、前記特定数の特徴線を選択する処理から前記指標を求める処理までを複数回繰り返し、
前記特定数の第2投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれの総和が最小となる前記特定数の組み合わせに基づいて、前記第3位置を決定することを特徴とする付記1乃至3のいずれか1項に記載の画像処理プログラム。
(付記5)
前記コンピュータは、前記第1位置を用いて前記所定数の候補線のうち少なくとも1本の候補線を前記画像上に投影した第1投影線を、前記特定数の第1投影線に含めることを特徴とする付記4に記載の画像処理プログラム。
(付記6)
前記コンピュータは、前記複数の第1投影線に含まれる2本の第1投影線のうち、一方の第1投影線よりも長い他方の第1投影線を、前記特定数の第1投影線として優先的に選択することを特徴とする付記4又は5に記載の画像処理プログラム。
(付記7)
前記コンピュータは、前記複数の第1投影線のうち、前記複数の第1投影線が表す図形の外周に対応する第1投影線を、前記特定数の第1投影線として優先的に選択することを特徴とする付記4又は5に記載の画像処理プログラム。
(付記8)
前記コンピュータは、前記特定数の組み合わせのうち、前記ずれが所定値よりも大きな組み合わせに含まれる第2投影線と特徴線とを、他の組み合わせに含まれる第2投影線と特徴線とは異なる表示形態で画面上に表示することを特徴とする付記4乃至7のいずれか1項に記載の画像処理プログラム。
(付記9)
物体の形状情報を記憶する記憶部と、
前記形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定する第1推定部と、
前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定する第2推定部と、
前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する決定部と、
を備えることを特徴とする画像処理装置。
(付記10)
前記第1推定部は、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第1姿勢をさらに推定し、
前記第2推定部は、前記第1位置と前記第1姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第1投影線を生成し、前記第1投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第2位置と前記空間内における前記撮像装置の第2姿勢とを推定し、
前記決定部は、前記第2位置と前記第2姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第2投影線を生成し、前記指標に基づいて、前記第3位置と前記空間内における前記撮像装置の第3姿勢とを決定することを特徴とする付記9記載の画像処理装置。
(付記11)
前記第2推定部は、前記複数の特徴線のうち、前記第1投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす1本以上の特徴線を、前記第1投影線に対応する前記特徴線として選択することを特徴とする付記9又は10に記載の画像処理装置。
(付記12)
コンピュータが、
物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定し、
前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、
前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、
前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定し、
前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、
前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する、
ことを特徴とする画像処理方法。
(付記13)
前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第1姿勢をさらに推定し、前記第1位置と前記第1姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第1投影線を生成し、前記第1投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第2位置と前記空間内における前記撮像装置の第2姿勢とを推定し、前記第2位置と前記第2姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第2投影線を生成し、前記指標に基づいて、前記第3位置と前記空間内における前記撮像装置の第3姿勢とを決定することを特徴とする付記12記載の画像処理方法。
(付記14)
前記コンピュータは、前記複数の特徴線のうち、前記第1投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす1本以上の特徴線を、前記第1投影線に対応する前記特徴線として選択することを特徴とする付記12又は13に記載の画像処理方法。
101 ユーザ
102 携帯端末装置
103 点検対象
104 マーカ
105 画面
106 コンテンツ情報
201 3次元マップ
202、301、302、931 画像
203 3次元座標系
204 カメラ座標系
211、315 マップ点
212 投影点
213、313、314 特徴点
311、312 撮影位置
701 画像処理装置
711 記憶部
712、713 推定部
714 決定部
721 形状情報
901 撮像装置
911 画像取得部
912 特徴検出部
913 表示部
914 CADデータ処理部
915 コンテンツ生成部
921、923 生成部
922、925 位置計算部
924 選択部
926 誤差計算部
932 特徴線
933、1201〜1204 初期対応ペア
934、936、938 パラメータ
935、1301〜1303 追加対応ペア
937 指標
939 CADデータ
940 候補線
1501〜1504 線分
1511 領域
1601、1602 垂線
2001 CPU
2002 メモリ
2003 入力装置
2004 出力装置
2005 補助記憶装置
2006 媒体駆動装置
2007 ネットワーク接続装置
2008 バス
2009 可搬型記録媒体

Claims (10)

  1. 物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定し、
    前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、
    前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、
    前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定し、
    前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、
    前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する、
    処理をコンピュータに実行させる画像処理プログラム。
  2. 前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第1姿勢をさらに推定し、前記第1位置と前記第1姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第1投影線を生成し、前記第1投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第2位置と前記空間内における前記撮像装置の第2姿勢とを推定し、前記第2位置と前記第2姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第2投影線を生成し、前記指標に基づいて、前記第3位置と前記空間内における前記撮像装置の第3姿勢とを決定することを特徴とする請求項1記載の画像処理プログラム。
  3. 前記コンピュータは、前記複数の特徴線のうち、前記第1投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす1本以上の特徴線を、前記第1投影線に対応する前記特徴線として選択することを特徴とする請求項1又は2に記載の画像処理プログラム。
  4. 前記コンピュータは、
    前記第1位置を用いて前記複数の候補線を前記画像上に投影することで、前記第1投影線を含む複数の第1投影線を生成し、前記複数の第1投影線の中から、前記第1投影線を含む特定数の第1投影線を選択し、前記複数の特徴線の中から、前記特定数の第1投影線に対応する前記特定数の特徴線を選択し、前記特定数の第1投影線と選択した前記特定数の特徴線とを対応付けた前記特定数の組み合わせを用いて、前記第2位置を推定し、前記第2位置を用いて前記特定数の候補線を前記画像上に投影することで、前記第2投影線を含む前記特定数の第2投影線を生成し、前記特定数の第2投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれを表す指標を求め、
    前記特定数の第1投影線の選択を変更して、前記特定数の特徴線を選択する処理から前記指標を求める処理までを複数回繰り返し、
    前記特定数の第2投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれの総和が最小となる前記特定数の組み合わせに基づいて、前記第3位置を決定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理プログラム。
  5. 前記コンピュータは、前記第1位置を用いて前記所定数の候補線のうち少なくとも1本の候補線を前記画像上に投影した第1投影線を、前記特定数の第1投影線に含めることを特徴とする請求項4に記載の画像処理プログラム。
  6. 前記コンピュータは、前記複数の第1投影線に含まれる2本の第1投影線のうち、一方の第1投影線よりも長い他方の第1投影線を、前記特定数の第1投影線として優先的に選択することを特徴とする請求項4又は5に記載の画像処理プログラム。
  7. 前記コンピュータは、前記複数の第1投影線のうち、前記複数の第1投影線が表す図形の外周に対応する第1投影線を、前記特定数の第1投影線として優先的に選択することを特徴とする請求項4又は5に記載の画像処理プログラム。
  8. 前記コンピュータは、前記特定数の組み合わせのうち、前記ずれが所定値よりも大きな組み合わせに含まれる第2投影線と特徴線とを、他の組み合わせに含まれる第2投影線と特徴線とは異なる表示形態で画面上に表示することを特徴とする請求項4乃至7のいずれか1項に記載の画像処理プログラム。
  9. 物体の形状情報を記憶する記憶部と、
    前記形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定する第1推定部と、
    前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定する第2推定部と、
    前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する決定部と、
    を備えることを特徴とする画像処理装置。
  10. コンピュータが、
    物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第1位置を推定し、
    前記第1位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第1投影線を生成し、
    前記複数の特徴線の中から、前記第1投影線に対応する特徴線を選択し、
    前記第1投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第2位置を推定し、
    前記第2位置を用いて前記異なる候補線を前記画像上に投影することで、第2投影線を生成し、
    前記第2投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第3位置を決定する、
    ことを特徴とする画像処理方法。
JP2016066086A 2016-03-29 2016-03-29 画像処理プログラム、画像処理装置、及び画像処理方法 Active JP6716996B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016066086A JP6716996B2 (ja) 2016-03-29 2016-03-29 画像処理プログラム、画像処理装置、及び画像処理方法
EP17161542.0A EP3239931A1 (en) 2016-03-29 2017-03-17 Image processing apparatus and image processing method
US15/466,314 US10354402B2 (en) 2016-03-29 2017-03-22 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016066086A JP6716996B2 (ja) 2016-03-29 2016-03-29 画像処理プログラム、画像処理装置、及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2017182302A true JP2017182302A (ja) 2017-10-05
JP6716996B2 JP6716996B2 (ja) 2020-07-01

Family

ID=58464154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016066086A Active JP6716996B2 (ja) 2016-03-29 2016-03-29 画像処理プログラム、画像処理装置、及び画像処理方法

Country Status (3)

Country Link
US (1) US10354402B2 (ja)
EP (1) EP3239931A1 (ja)
JP (1) JP6716996B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106008A (ja) * 2017-12-12 2019-06-27 富士通株式会社 推定装置、推定方法、及び推定プログラム
JP2019158628A (ja) * 2018-03-14 2019-09-19 富士通株式会社 検査装置、検査方法、及び検査プログラム
JP2019159470A (ja) * 2018-03-08 2019-09-19 富士通株式会社 推定装置、推定方法、及び推定プログラム
JP2020135446A (ja) * 2019-02-20 2020-08-31 富士通株式会社 画像処理装置及び画像処理方法
JP2020148625A (ja) * 2019-03-13 2020-09-17 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP2021021577A (ja) * 2019-07-24 2021-02-18 富士通株式会社 画像処理装置及び画像処理方法
JPWO2021054073A1 (ja) * 2019-09-19 2021-03-25
JP2023507498A (ja) * 2019-12-20 2023-02-22 ナイアンティック, インコーポレイテッド 3dライン接合部を用いた位置決定およびマッピング

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369731B (zh) * 2018-02-02 2023-07-21 达闼机器人股份有限公司 模板优化方法、装置、电子设备和计算机程序产品
JP7180283B2 (ja) * 2018-10-30 2022-11-30 富士通株式会社 画像処理装置及び画像処理方法
CN111435969B (zh) * 2019-01-11 2021-11-09 佳能株式会社 图像处理装置及其控制方法、记录介质和信息处理系统
CN111127547A (zh) * 2019-12-17 2020-05-08 北京迈格威科技有限公司 定位方法、装置、机器人及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997344A (ja) * 1995-09-29 1997-04-08 Fujitsu Ltd テクスチャ生成方法およびテクスチャ生成システム
JP2009252112A (ja) * 2008-04-09 2009-10-29 Canon Inc 画像処理装置、画像処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5013961B2 (ja) 2007-05-21 2012-08-29 キヤノン株式会社 位置姿勢計測装置及びその制御方法
JP5791976B2 (ja) 2011-06-16 2015-10-07 オリンパス株式会社 画像処理装置、画像処理方法、およびプログラム
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
JP6244886B2 (ja) 2013-12-19 2017-12-13 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2015218318A (ja) 2014-05-21 2015-12-07 テーザ・ソシエタス・ヨーロピア シンタクチックフォーム型のポリマー組成物、好ましくは感圧接着性組成物を製造する方法、その方法を実施するための装置、押出し物、および自己接着テープ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997344A (ja) * 1995-09-29 1997-04-08 Fujitsu Ltd テクスチャ生成方法およびテクスチャ生成システム
JP2009252112A (ja) * 2008-04-09 2009-10-29 Canon Inc 画像処理装置、画像処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廣瀬 亮 他: "3次元モデルのエッジ情報を利用したARのための位置合わせ手法", 電子情報通信学会技術研究報告, vol. 第105巻 第536号, JPN6019044683, 13 January 2006 (2006-01-13), JP, pages 123 - 128, ISSN: 0004156589 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003617B2 (ja) 2017-12-12 2022-01-20 富士通株式会社 推定装置、推定方法、及び推定プログラム
US10930068B2 (en) 2017-12-12 2021-02-23 Fujitsu Limited Estimation apparatus, estimation method, and non-transitory computer-readable storage medium for storing estimation program
JP2019106008A (ja) * 2017-12-12 2019-06-27 富士通株式会社 推定装置、推定方法、及び推定プログラム
JP2019159470A (ja) * 2018-03-08 2019-09-19 富士通株式会社 推定装置、推定方法、及び推定プログラム
JP7059701B2 (ja) 2018-03-08 2022-04-26 富士通株式会社 推定装置、推定方法、及び推定プログラム
US10997702B2 (en) 2018-03-14 2021-05-04 Fujitsu Patent Center Inspection apparatus, inspection method, and computer readable recording medium storing inspection program
JP2019158628A (ja) * 2018-03-14 2019-09-19 富士通株式会社 検査装置、検査方法、及び検査プログラム
JP7027978B2 (ja) 2018-03-14 2022-03-02 富士通株式会社 検査装置、検査方法、及び検査プログラム
JP2020135446A (ja) * 2019-02-20 2020-08-31 富士通株式会社 画像処理装置及び画像処理方法
JP7232663B2 (ja) 2019-02-20 2023-03-03 富士通株式会社 画像処理装置及び画像処理方法
US11132806B2 (en) 2019-03-13 2021-09-28 Fujitsu Limited Image processing apparatus and image processing method
JP7188201B2 (ja) 2019-03-13 2022-12-13 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP2020148625A (ja) * 2019-03-13 2020-09-17 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
US11145048B2 (en) 2019-07-24 2021-10-12 Fujitsu Limited Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for storing program
JP7230722B2 (ja) 2019-07-24 2023-03-01 富士通株式会社 画像処理装置及び画像処理方法
JP2021021577A (ja) * 2019-07-24 2021-02-18 富士通株式会社 画像処理装置及び画像処理方法
JPWO2021054073A1 (ja) * 2019-09-19 2021-03-25
JP7310902B2 (ja) 2019-09-19 2023-07-19 村田機械株式会社 保守システム、サーバ、保守方法、及び、プログラム
JP2023507498A (ja) * 2019-12-20 2023-02-22 ナイアンティック, インコーポレイテッド 3dライン接合部を用いた位置決定およびマッピング
US11847792B2 (en) 2019-12-20 2023-12-19 Niantic, Inc. Location determination and mapping with 3D line junctions
JP7453383B2 (ja) 2019-12-20 2024-03-19 ナイアンティック, インコーポレイテッド 3dライン接合部を用いた位置決定およびマッピング

Also Published As

Publication number Publication date
EP3239931A1 (en) 2017-11-01
US10354402B2 (en) 2019-07-16
JP6716996B2 (ja) 2020-07-01
US20170287154A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP5248806B2 (ja) 情報処理装置、情報処理方法
JP6880618B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP6256475B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US10249052B2 (en) Stereo correspondence model fitting
JP6008397B2 (ja) 光学式シースルー型hmdを用いたarシステム
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
TW201616451A (zh) 點雲套索選取系統及方法
JP7188201B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
TW201616450A (zh) 點雲畫筆選取系統及方法
EP3575947A2 (en) Systems and methods for interactive image caricaturing by an electronic device
US11189053B2 (en) Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
JP2020098575A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2013092888A (ja) データ処理装置
JP2019105992A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
JP2019159470A (ja) 推定装置、推定方法、及び推定プログラム
JP7188798B2 (ja) 座標算出装置、座標算出方法、及びプログラム
JP7063165B2 (ja) 計測装置、計測方法及び計測プログラム
JP2018032144A (ja) 画像処理装置、画像処理方法およびプログラム。
JP5620741B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019159375A (ja) 情報処理装置,重畳表示プログラム,重畳表示方法
JP7276978B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7443303B2 (ja) 計測装置、計測方法及びプログラム
JP5636966B2 (ja) 誤差検出装置及び誤差検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200115

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200115

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200525

R150 Certificate of patent or registration of utility model

Ref document number: 6716996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150