(57)【特許請求の範囲】
【請求項１】
物体の形状情報に含まれる、前記物体の外形特徴を表す複数の候補線のうち、所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定し、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、
前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、
前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定し、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、
前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する、
処理をコンピュータに実行させる画像処理プログラム。
【請求項２】
前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第１姿勢をさらに推定し、前記第１位置と前記第１姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第１投影線を生成し、前記第１投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第２位置と前記空間内における前記撮像装置の第２姿勢とを推定し、前記第２位置と前記第２姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第２投影線を生成し、前記指標に基づいて、前記第３位置と前記空間内における前記撮像装置の第３姿勢とを決定することを特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記コンピュータは、前記複数の特徴線のうち、前記第１投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす１本以上の特徴線を、前記第１投影線に対応する前記特徴線として選択することを特徴とする請求項１又は２に記載の画像処理プログラム。
【請求項４】
前記コンピュータは、
前記第１位置を用いて前記複数の候補線を前記画像上に投影することで、前記第１投影線を含む複数の第１投影線を生成し、前記複数の第１投影線の中から、前記第１投影線を含む特定数の第１投影線を選択し、前記複数の特徴線の中から、前記特定数の第１投影線に対応する前記特定数の特徴線を選択し、前記特定数の第１投影線と選択した前記特定数の特徴線とを対応付けた前記特定数の組み合わせを用いて、前記第２位置を推定し、前記第２位置を用いて前記特定数の候補線を前記画像上に投影することで、前記第２投影線を含む前記特定数の第２投影線を生成し、前記特定数の第２投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれを表す指標を求め、
前記特定数の第１投影線の選択を変更して、前記特定数の特徴線を選択する処理から前記指標を求める処理までを複数回繰り返し、
前記特定数の第２投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれの総和が最小となる前記特定数の組み合わせに基づいて、前記第３位置を決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理プログラム。
【請求項５】
前記コンピュータは、前記第１位置を用いて前記所定数の候補線のうち少なくとも１本の候補線を前記画像上に投影した第１投影線を、前記特定数の第１投影線に含めることを特徴とする請求項４に記載の画像処理プログラム。
【請求項６】
前記コンピュータは、前記複数の第１投影線に含まれる２本の第１投影線のうち、一方の第１投影線よりも長い他方の第１投影線を、前記特定数の第１投影線として優先的に選択することを特徴とする請求項４又は５に記載の画像処理プログラム。
【請求項７】
前記コンピュータは、前記複数の第１投影線のうち、前記複数の第１投影線が表す図形の外周に対応する第１投影線を、前記特定数の第１投影線として優先的に選択することを特徴とする請求項４又は５に記載の画像処理プログラム。
【請求項８】
前記コンピュータは、前記特定数の組み合わせのうち、前記ずれが所定値よりも大きな組み合わせに含まれる第２投影線と特徴線とを、他の組み合わせに含まれる第２投影線と特徴線とは異なる表示形態で画面上に表示することを特徴とする請求項４乃至７のいずれか１項に記載の画像処理プログラム。
【請求項９】
物体の形状情報を記憶する記憶部と、
前記形状情報に含まれる、前記物体の外形特徴を表す複数の候補線のうち、所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定する第１推定部と、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定する第２推定部と、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する決定部と、
を備えることを特徴とする画像処理装置。
【請求項１０】
コンピュータが、
物体の形状情報に含まれる、前記物体の外形特徴を表す複数の候補線のうち、所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定し、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、
前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、
前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定し、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、
前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
近年、拡張現実（Augmented Reality, ＡＲ）技術を用いて画像を表示するシステムが普及してきている（例えば、特許文献１及び非特許文献１を参照）。ＡＲ技術の一例では、パーソナルコンピュータ（ＰＣ）、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から３次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
【０００３】
図１は、ユーザの点検作業を支援するＡＲ技術の例を示している。ユーザ１０１は、タブレット等の携帯端末装置１０２に搭載されたカメラを用いて、点検対象１０３及びマーカ１０４を撮影する。
【０００４】
携帯端末装置１０２は、撮影した画像を画面１０５上に表示するとともに、マーカ１０４が示す識別情報を読み取って、３次元空間内におけるカメラの位置及び姿勢を推定する。そして、携帯端末装置１０２は、推定したカメラの位置及び姿勢を基準にして、コンピュータグラフィックス（ＣＧ）等により、マーカ１０４に対応するコンテンツ情報１０６を重畳表示する。コンテンツ情報１０６は、点検対象１０３に対する点検作業の手順を示しており、ユーザ１０１は、コンテンツ情報１０６を参照することで、点検作業を効率よく行うことができる。
【０００５】
撮影対象の物体にマーカを設けることなく、撮影した画像に含まれる特徴的な点（特徴点）を用いてカメラの位置及び姿勢を求める方法も提案されている（例えば、特許文献２を参照）。例えば、画像内の着目点の近傍における濃淡変動が大きく、濃淡変動によって画像内における着目点の位置が一意に規定されることを基準として、画像から特徴点を検出することができる。
【０００６】
図２は、特徴点を用いてカメラの位置及び姿勢を求める方法の例を示している。この方法では、物体上におけるマップ点２１１の３次元座標の集合を表す３次元マップ２０１が、予め生成される。
【０００７】
次に、画像２０２が撮影されたとき、３次元座標系２０３をカメラ座標系２０４へ変換する変換行列Ｍを用いて、マップ点２１１を画像２０２上に投影することで、投影点２１２が求められる。そして、投影点２１２と画像２０２から検出された特徴点２１３とを対応付けることで、３次元座標系２０３におけるカメラの位置及び姿勢が推定される。例えば、カメラの位置は、３次元座標系２０３に対するカメラ座標系２０４の相対位置によって表され、カメラの姿勢は、３次元座標系２０３に対するカメラ座標系２０４の相対角度によって表される。
【０００８】
マップ点ｐの３次元座標Ｓｐ、マップ点ｐに対応する投影点の２次元座標ｘｐ’、及びマップ点ｐに対応する特徴点の２次元座標ｘｐは、次式のように記述することができる。
【０００９】
Ｓｐ＝（ｘ，ｙ，ｚ）        （１）
ｘｐ’＝（ｕ’，ｖ’）      （２）
ｘｐ＝（ｕ，ｖ）            （３）
【００１０】
この場合、画像上における投影点と特徴点との距離の二乗和Ｅは、次式により表される。
【００１１】
【数１】
0006716996.tif 000002
【００１２】
式（４）の二乗和Ｅが最小となるような変換行列Ｍを求めることで、カメラの位置及び姿勢が決定される。
【００１３】
図３は、３次元マップ２０１の生成方法の例を示している。この生成方法では、ステレオ撮影及びステレオ計測が用いられる。撮影位置３１１及び撮影位置３１２からそれぞれ撮影した画像３０１及び画像３０２がキーフレームとして用いられ、画像３０１内の特徴点３１３と画像３０２内の特徴点３１４とを対応付けることで、３次元空間内のマップ点３１５が復元される。２枚の画像内の複数の特徴点同士を対応付けることで、複数のマップ点が復元され、それらのマップ点の集合を表す３次元マップ２０１が生成される。
【００１４】
ＡＲ技術の応用として、物体の３次元形状を表すComputer-Aided Design（ＣＡＤ）データを画像に重畳表示する技術も知られている（例えば、特許文献３及び特許文献４を参照）。ＣＡＤデータに基づいて作製した作製物を撮影した画像中に、その作製物に重なるようにＣＡＤデータを重畳表示することで、作製物の加工精度又は不具合を確認することが可能になる。この場合、ＣＡＤデータが既に３次元マップの情報を含んでいるため、３次元マップの生成が不要になる。
【００１５】
コンピュータ・ビジョンのための多面体表現も知られている（例えば、非特許文献２を参照）。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１５−１１８６４１号公報
【特許文献２】国際公開第２０１４／１７９３４９号パンフレット
【特許文献３】国際公開第２０１２／１７３１４１号パンフレット
【特許文献４】特開２００８−２８６７５６号公報
【非特許文献】
【００１７】
【非特許文献１】石井ら，“拡張現実感を利用した原子力発電プラントの解体支援手法の提案と評価”，日本バーチャルリアリティ学会論文誌，１３（２），ｐｐ．２８９−３００，２００８年６月
【非特許文献２】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
【発明の概要】
【発明が解決しようとする課題】
【００１８】
カメラにより撮影した物体の画像内の特徴点と、その物体のＣＡＤデータが表すマップ点とを対応付けることで、カメラの位置及び姿勢を推定する場合、対応付け方法によって推定精度が低下することがある。
【００１９】
なお、かかる問題は、ＣＡＤデータから撮像装置の位置及び姿勢を推定する場合に限らず、物体の形状を表す他の形状情報から撮像装置の位置を推定する場合においても生ずるものである。
【００２０】
１つの側面において、本発明は、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することを目的とする。
【課題を解決するための手段】
【００２１】
１つの案では、画像処理プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、所定数の投影線それぞれと所定数の特徴線それぞれとを対応付けた所定数の組み合わせを用いて、空間内における撮像装置の第１位置を推定する。所定数の投影線は、物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した物体の画像上に投影した投影線である。所定数の特徴線は、画像から検出した複数の特徴線に含まれる特徴線である。
（２）コンピュータは、第１位置を用いて、上記複数の候補線のうち所定数の候補線とは異なる候補線を画像上に投影することで、第１投影線を生成する。
（３）コンピュータは、上記複数の特徴線の中から、第１投影線に対応する特徴線を選択する。
（４）コンピュータは、第１投影線と選択した特徴線とを対応付けた組み合わせを用いて、空間内における撮像装置の第２位置を推定する。
（５）コンピュータは、第２位置を用いて上記異なる候補線を画像上に投影することで、第２投影線を生成する。
（６）コンピュータは、第２投影線の位置と上記異なる特徴線の位置との間のずれを表す指標に基づいて、空間内における撮像装置の第３位置を決定する。
【発明の効果】
【００２２】
実施形態によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することができる。
【図面の簡単な説明】
【００２３】
【図１】ＡＲ技術を示す図である。
【図２】カメラの位置及び姿勢を求める方法を示す図である。
【図３】３次元マップの生成方法を示す図である。
【図４】物体の画像を示す図である。
【図５】ＣＡＤデータを示す図である。
【図６】エッジ線と輪郭線との対応付けを示す図である。
【図７】画像処理装置の機能的構成図である。
【図８】画像処理のフローチャートである。
【図９】画像処理装置の具体例を示す機能的構成図である。
【図１０】画像処理の第１の具体例を示すフローチャートである。
【図１１】特徴線を示す図である。
【図１２】初期対応ペアを示す図である。
【図１３】追加対応ペアを示す図である。
【図１４】初期対応ペア及び追加対応ペアを示す図である。
【図１５】領域の面積に基づく計算方法を示す図である。
【図１６】距離に基づく計算方法を示す図である。
【図１７】指標の計算結果を示す図である。
【図１８】投影線を示す図である。
【図１９】画像処理の第２の具体例を示すフローチャートである。
【図２０】情報処理装置の構成図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら、実施形態を詳細に説明する。
カメラの位置及び姿勢を求める際に、ＣＡＤデータを図２の３次元マップ２０１として使用する場合、ＣＡＤデータと物体との間で、模様又は色合いといった“見た目”の特徴が異なる場合が多い。この“見た目”の特徴が一致することを前提とした場合、画像内の特徴点とＣＡＤデータが表すマップ点との対応付けを、画像処理によって自動的に行うことが難しい。このため、ＰＣの画面上でのマウス操作によって、特徴点とマップ点との対応付けが手作業で行われることがある。この場合、以下のような問題が発生すると考えられる。
【００２５】
（Ａ）画像中から特徴点を精度よく検出することが難しい。
（Ｂ）マップ点を画像上に投影した投影点及び特徴点をマウス等で選択する操作が難しい。
（Ｃ）投影点及び特徴点を選択する操作が難しいことと、手作業の手間のため、選択する投影点と特徴点との組み合わせ（対応ペア）の個数が限られる。
（Ｄ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００２６】
そこで、特許文献１又は先願である特願２０１５−２１８３１８号に記載されているように、画像から検出されたエッジ線と、ＣＡＤデータが表す輪郭線とを対応付ける方法も考えられる。
【００２７】
図４は、物体の画像の例を示しており、図５は、図４の物体の形状を表すＣＡＤデータの例を示している。図６は、図４の画像から検出されたエッジ線と、図５のＣＡＤデータが表す輪郭線との対応付けの例を示している。
【００２８】
まず、携帯端末装置等の画像処理装置は、図６（ａ）に示すように、エッジ検出処理を行って、画像からエッジ線を検出する。次に、図６（ｂ）に示すように、画像処理装置は、ＣＡＤデータが表す輪郭線と検出したエッジ線とを画像中に表示し、ユーザは、エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。
【００２９】
次に、画像処理装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、カメラの位置及び姿勢を計算する。そして、図６（ｃ）に示すように、画像処理装置は、計算したカメラの位置及び姿勢に合わせて、ＣＡＤデータが表す輪郭線を物体の画像に重畳表示する。
【００３０】
このような対応付け方法によれば、エッジ線を精度よく検出することができ、エッジ線及び輪郭線を容易に選択することができるため、上記（Ａ）及び（Ｂ）の問題が解決されるが、以下のような問題が発生すると考えられる。
【００３１】
（Ｅ）手作業の手間のため、選択する輪郭線とエッジ線との組み合わせ（対応ペア）の個数が限られる。
（Ｆ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００３２】
カメラの位置及び姿勢を求めるためには、最低限４個の対応ペアを用いることが望ましく、対応ペアの個数が多いほど計算精度は向上する。
【００３３】
図７は、実施形態の画像処理装置の機能的構成例を示している。図７の画像処理装置７０１は、記憶部７１１、推定部７１２、推定部７１３、及び決定部７１４を含む。記憶部７１１は、物体の形状情報７２１を記憶する。
【００３４】
図８は、図７の画像処理装置７０１が行う画像処理の例を示すフローチャートである。まず、推定部７１２は、所定数の投影線それぞれと所定数の特徴線それぞれとを対応付けた所定数の組み合わせを用いて、空間内における撮像装置の第１位置を推定する（ステップ８０１）。所定数の投影線は、形状情報７２１に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した物体の画像上に投影した投影線である。所定数の特徴線は、画像から検出した複数の特徴線に含まれる特徴線である。
【００３５】
次に、推定部７１３は、第１位置を用いて、上記複数の候補線のうち所定数の候補線とは異なる候補線を画像上に投影することで、第１投影線を生成し（ステップ８０２）、上記複数の特徴線の中から、第１投影線に対応する特徴線を選択する（ステップ８０３）。そして、推定部７１３は、第１投影線と選択した特徴線とを対応付けた組み合わせを用いて、空間内における撮像装置の第２位置を推定する（ステップ８０４）。
【００３６】
次に、決定部７１４は、第２位置を用いて上記異なる候補線を画像上に投影することで、第２投影線を生成する（ステップ８０５）。そして、決定部７１４は、第２投影線の位置と上記異なる特徴線の位置との間のずれを表す指標に基づいて、空間内における撮像装置の第３位置を決定する（ステップ８０６）。
【００３７】
このような画像処理装置７０１によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、撮像装置の位置を精度よく推定することができる。
【００３８】
図９は、図７の画像処理装置７０１の具体例を示している。図９の画像処理装置７０１は、記憶部７１１、推定部７１２、推定部７１３、決定部７１４、画像取得部９１１、特徴検出部９１２、ＣＡＤデータ処理部９１４、コンテンツ生成部９１５、及び表示部９１３を含む。推定部７１２は、生成部９２１及び位置計算部９２２を含み、推定部７１３は、生成部９２３、選択部９２４、位置計算部９２５、及び誤差計算部９２６を含む。
【００３９】
画像処理装置７０１は、タブレット、ノート型ＰＣ、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型ＰＣ等の情報処理装置であってもよい。
【００４０】
撮像装置９０１は、例えば、カメラであり、物体の画像９３１を撮影し、画像取得部９１１は、撮像装置９０１から画像９３１を取得して、記憶部７１１に格納する。記憶部７１１は、画像９３１、パラメータ９３４〜パラメータ９３８、及びＣＡＤデータ９３９を記憶する。
【００４１】
パラメータ９３４は、推定部７１２が推定した撮像装置９０１の位置及び姿勢を表し、パラメータ９３６は、推定部７１３が推定した撮像装置９０１の位置及び姿勢を表し、パラメータ９３８は、決定部７１４が決定した撮像装置９０１の位置及び姿勢を表す。ＣＡＤデータ９３９は、図７の形状情報７２１に対応し、物体の３次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の３次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報を含む。
【００４２】
特徴検出部９１２は、エッジ検出処理を行って、画像９３１から複数のエッジ線を検出し、検出したエッジ線を特徴線９３２として記憶部７１１に格納する。表示部９１３は、画像９３１を画面上に表示するとともに、特徴線９３２を画像９３１内の対応する位置に重畳表示する。
【００４３】
ＣＡＤデータ処理部９１４は、ＣＡＤデータ９３９に含まれる複数の線分の中から不要な線分を削除して、物体の外形特徴を表す線分を抽出し、抽出した線分を候補線９４０として記憶部７１１に格納する。そして、ＣＡＤデータ処理部９１４は、撮像装置９０１の位置及び姿勢の初期値を用いて、候補線９４０を画像９３１上に投影することで、投影線を生成し、表示部９１３は、生成された投影線を画像９３１に重畳表示する。
【００４４】
ユーザは、画像９３１に重畳表示された複数の投影線の中からＮ本（Ｎは２以上の整数）の投影線を選択し、複数の特徴線９３２の中から、選択した各投影線に対応付ける特徴線を選択する。推定部７１２の生成部９２１は、ユーザが選択した投影線と特徴線とを対応付けたＮ個の組み合わせを生成し、生成したＮ個の組み合わせをＮ個の初期対応ペア９３３として記憶部７１１に格納する。位置計算部９２２は、Ｎ個の初期対応ペア９３３を用いて、３次元空間内における撮像装置９０１の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ９３４として記憶部７１１に格納する。
【００４５】
推定部７１３の生成部９２３は、パラメータ９３４が表す撮像装置９０１の位置及び姿勢を用いて、候補線９４０を画像９３１上に投影することで、投影線を生成し、生成した投影線の中から、初期対応ペア９３３に対して追加する投影線を選択する。次に、生成部９２３は、複数の特徴線９３２の中から、選択した投影線に対応付ける特徴線を選択し、選択した投影線と特徴線とを対応付けた組み合わせを生成する。そして、生成部９２３は、生成した組み合わせを追加対応ペア９３５として記憶部７１１に格納する。
【００４６】
選択部９２４は、初期対応ペア９３３及び追加対応ペア９３５の中から、Ｎ個の対応ペアを選択する。位置計算部９２５は、選択部９２４が選択したＮ個の対応ペアを用いて、３次元空間内における撮像装置９０１の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ９３６として記憶部７１１に格納する。
【００４７】
このとき、位置計算部９２５は、撮像装置９０１の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる投影線に対応する候補線９４０を投影することで、投影線を生成する。そして、位置計算部９２５は、生成した投影線と、その対応ペアに含まれる特徴線とを、誤差計算部９２６へ出力する。誤差計算部９２６は、投影線の位置と特徴線の位置との間のずれを表す誤差を計算し、計算した誤差を位置計算部９２５へ出力する。位置計算部９２５は、誤差計算部９２６が出力する誤差が最小となる変数の値を、パラメータ９３６として求める。
【００４８】
推定部７１３は、Ｎ個の対応ペアの選択を変更しながら、パラメータ９３６を計算する処理を複数回繰り返す。決定部７１４は、パラメータ９３６が計算される度に、そのパラメータ９３６が表す撮像装置９０１の位置及び姿勢を用いて、選択部９２４が選択したＮ個の対応ペアに含まれる各投影線に対応する候補線９４０を、画像９３１上に投影する。そして、決定部７１４は、誤差計算部９２６と同様にして、Ｎ本の投影線の位置とＮ本の特徴線の位置との間の誤差の総和を計算し、計算した誤差の総和を指標９３７として記憶部７１１に格納する。
【００４９】
次に、決定部７１４は、それぞれのパラメータ９３６を用いて計算した指標９３７に基づいて、誤差の総和が最小となるＮ個の対応ペアを決定する。そして、決定部７１４は、決定したＮ個の対応ペアを用いて、３次元空間内における撮像装置９０１の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ９３８として記憶部７１１に格納する。
【００５０】
コンテンツ生成部９１５は、パラメータ９３８が表す撮像装置９０１の位置及び姿勢を基準にして、物体に対応するコンテンツ情報を表すコンテンツ画像を生成し、表示部９１３は、画像９３１にコンテンツ画像を重畳表示する。
【００５１】
このような画像処理装置７０１によれば、ユーザが初期対応ペア９３３を選択するだけで、投影線と特徴線の追加対応ペア９３５が自動的に生成されるため、ユーザの作業負担が軽減される。また、対応ペアの個数が増加することで、撮像装置９０１の位置及び姿勢の推定精度が向上するため、コンテンツ画像の表示精度も向上し、高品質のＡＲが実現される。
【００５２】
図１０は、図９の画像処理装置７０１が行う画像処理の第１の具体例を示すフローチャートである。まず、画像取得部９１１は、撮像装置９０１から画像９３１を取得し、表示部９１３は、画像９３１を画面上に表示する（ステップ１００１）。次に、特徴検出部９１２は、画像９３１から複数の特徴線９３２を検出し、表示部９１３は、特徴線９３２を画像９３１に重畳表示する（ステップ１００２）。
【００５３】
また、ＣＡＤデータ処理部９１４は、ＣＡＤデータ９３９から候補線９４０を抽出し（ステップ１００３）。次に、ＣＡＤデータ処理部９１４は、候補線９４０を画像９３１上に投影し、表示部９１３は、投影線を画像９３１に重畳表示する（ステップ１００４）。
【００５４】
この時点では、画像９３１が撮影されたときの撮像装置９０１の位置及び姿勢が推定されていないため、予め決められた位置及び姿勢の初期値を用いて、候補線９４０が画像９３１上に投影される。このため、投影線の近傍に対応する特徴線９３２が存在する可能性は高くない。この状態で、何らかの選択アルゴリズムによって自動的に初期対応ペア９３３を選択しても、投影線に対して誤った特徴線９３２が対応付けられる可能性が高くなる。
【００５５】
そこで、ユーザの目視及び手動の操作によって、最小限の個数の初期対応ペア９３３が選択される。手動の操作としては、ＰＣのマウス、ペン、キーボード、スマートデバイス又はタブレットのタッチパネル等の入力装置を用いた操作が行われる。したがって、撮像装置９０１の位置及び姿勢の初期値は、ユーザの目視及び手動の操作が容易になるように調整されることが望ましい。ユーザが初期対応ペア９３３を選択することで、誤った初期対応ペア９３３が生成される可能性が低くなり、撮像装置９０１の位置及び姿勢の推定精度が向上する。
【００５６】
次に、生成部９２１は、ユーザが選択した投影線と特徴線９３２の初期対応ペア９３３の入力を受け付け（ステップ１００５）、ユーザがＮ個の初期対応ペア９３３を選択したか否かをチェックする（ステップ１００６）。Ｎ個の初期対応ペア９３３が選択されていない場合（ステップ１００６，Ｎｏ）、生成部９２１は、ステップ１００５の処理を繰り返す。そして、Ｎ個の初期対応ペア９３３が選択された場合（ステップ１００６，Ｙｅｓ）、位置計算部９２２は、それらの初期対応ペア９３３を用いてパラメータ９３４を計算する（ステップ１００７）。
【００５７】
図１１は、画像９３１から検出された特徴線９３２の例を示しており、図１２は、ユーザが選択したＮ個の初期対応ペア９３３の例を示している。この例では、Ｎ＝４であり、初期対応ペア１２０１〜初期対応ペア１２０４の４個の初期対応ペアが選択されている。
【００５８】
次に、生成部９２３は、パラメータ９３４を用いて候補線９４０を画像９３１上に投影することで、投影線を生成する（ステップ１００８）。そして、生成部９２３は、追加する投影線を選択し、選択した投影線に対応付ける特徴線９３２を選択して、投影線と特徴線の追加対応ペア９３５を生成する（ステップ１００９）。
【００５９】
パラメータ９３４の計算に用いた初期対応ペア９３３の個数が少ないため、パラメータ９３４の推定誤差が大きく、そのパラメータ９３４を用いて生成された投影線の位置も、本来対応しているはずの特徴線の位置からずれている可能性がある。また、エッジ検出処理において、本来１本のエッジ線が複数のエッジ線に分断されたり、影又は傷等を表すエッジ線が、物体の特徴を表すエッジ線として誤検出されたりすることもある。さらに、製造工程の不具合によって、ＣＡＤデータとは異なる形状の物体が作製される可能性もある。このような理由から、投影線に最も近い特徴線が本来対応する特徴線であるとは限らない。
【００６０】
そこで、生成部９２３は、複数の特徴線９３２のうち、例えば、投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす１本以上の特徴線を選択する。これにより、投影線の近傍に存在し、かつ、投影線の方向と類似する方向を有する特徴線を漏れなく選択して、その投影線に対応付けることができる。所定の条件としては、例えば、次式のような条件を用いることができる。
【００６１】
投影線と特徴線との距離＜閾値          （１１）
投影線と特徴線との成す角度＜閾値      （１２）
【００６２】
このような条件を用いることで、様々な要因に起因する対応ペアの取りこぼしを防ぐことができる。追加対応ペアに含まれる１本の投影線に対して、複数の特徴線が対応付けられることもある。
【００６３】
図１３は、生成された追加対応ペア９３５の例を示している。この例では、追加対応ペア１３０１〜追加対応ペア１３０３の３個の追加対応ペアが生成されている。このうち、追加対応ペア１３０１には、１本の投影線と、ほぼ平行に並んだ２本の特徴線とが含まれている。
【００６４】
図１４は、初期対応ペア９３３及び追加対応ペア９３５の例を示している。図１４では、図１２に示した初期対応ペア１２０１〜初期対応ペア１２０４と、図１３に示した追加対応ペア１３０１〜追加対応ペア１３０３とが示されている。
【００６５】
次に、選択部９２４は、初期対応ペア９３３及び追加対応ペア９３５の中から、Ｎ個の対応ペアを選択し（ステップ１０１０）、位置計算部９２５は、それらの対応ペアを用いてパラメータ９３６を計算する（ステップ１０１１）。
【００６６】
ユーザが選択したＮ個の初期対応ペア９３３には、投影線と特徴線の対応付けが誤っているものがほとんど含まれず、含まれていたとしても、人為ミスによる１個程度になると考えられる。また、目視での選択が行いやすい特徴線、すなわち、検出結果が良好な特徴線が優先して選択されやすい。
【００６７】
そこで、選択部９２４は、少なくとも１個以上の初期対応ペア９３３をＮ個の対応ペアに含めることが望ましい。これにより、撮像装置９０１の位置及び姿勢を表すパラメータ９３６の計算精度が向上する。
【００６８】
また、選択部９２４は、初期対応ペア９３３及び追加対応ペア９３５のうち、他の対応ペアよりも長い投影線を含む対応ペアを優先的に選択して、Ｎ個の対応ペアに含めることが望ましい。
【００６９】
投影線が長い場合、物体の形状を表す輪郭線自体が長いため、より長い特徴線が検出される可能性が高い。また、長い特徴線ほど、その信頼性も高いと考えられる。さらに、撮像装置９０１の位置及び姿勢の計算において、投影線と特徴線がともに長いほど、投影線と特徴線との間の誤差の計算精度が向上するため、パラメータ９３６の計算精度も向上する。
【００７０】
さらに、選択部９２４は、初期対応ペア９３３及び追加対応ペア９３５のうち、複数の投影線が表す図形の外周に対応する投影線を含む対応ペアを優先的に選択して、Ｎ個の対応ペアに含めることが望ましい。図形の外周に対応する投影線は、物体の輪郭線を表しており、対応する特徴線も輪郭線を表すと考えられる。
【００７１】
輪郭線の場合、物体と背景との境界線が特徴線として検出されるが、物体と背景は物理的に離れているため、太陽、照明等の光の当たり方が異なっていたり、材質又は色が異なっていたりすることが多い。このため、より明瞭な特徴線が検出されやすく、特徴線の位置の精度も高くなる。また、輪郭線を表す対応ペアを多数選択することで、画像９３１内における対応ペアの分布範囲が広くなり、パラメータ９３６の計算精度の向上に寄与すると考えられる。
【００７２】
ＣＡＤデータに含まれる輪郭線は、ＣＧにおける境界表現（Boundary Representations）の技術を用いることで、検出することが可能である。例えば、非特許文献２に開示されているように、境界表現の１つであるウィングドエッジ（Winged-Egde）構造のデータには、輪郭線とそれを形成する頂点及び面を表す情報と、他の輪郭線との接続関係を表す情報とが含まれている。これらの情報に基づいて、ＣＡＤデータから抽出された各候補線９４０が外周に対応するか否かを判定することができる。
【００７３】
ステップ１０１１において、位置計算部９２５は、例えば、最小二乗法を用いてパラメータ９３６を計算することができる。この場合、位置計算部９２５は、撮像装置９０１の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる投影線の位置と特徴線の位置との誤差Ｅｉ（ｉ＝１〜Ｎ）を評価し、Ｎ個の対応ペアに対する二乗誤差の総和Ｅが最小となる変数の値を、パラメータ９３６として求める。二乗誤差の総和Ｅは、次式により計算される。
【００７４】
【数２】
0006716996.tif 000003
【００７５】
誤差計算部９２６は、例えば、図１５又は図１６に示すような方法で、誤差Ｅｉを計算することができる。図１５は、投影線と特徴線との間の領域の面積に基づく計算方法の例を示している。ｉ番目の対応ペアに含まれる投影線が線分１５０１であり、特徴線が線分１５０２である場合、線分１５０１の両端と線分１５０２の両端をそれぞれ結ぶ線分１５０３及び線分１５０４を定義することができる。この場合、線分１５０１〜線分１５０４によって囲まれた領域１５１１の面積Ａｉを、誤差Ｅｉとして用いることができる。
【００７６】
Ｅｉ＝Ａｉ      （２２）
【００７７】
面積Ａｉが小さいほど、誤差Ｅｉは小さくなり、線分１５０１が線分１５０２に重なっている場合、誤差Ｅｉは０になる。
【００７８】
図１６は、投影線と特徴線との間の距離に基づく計算方法の例を示している。線分１５０２の両端から線分１５０１上へ下ろした垂線１６０１及び垂線１６０２の長さを、それぞれ、Ｌｉ１及びＬｉ２とする。この場合、Ｌｉ１及びＬｉ２の和を、誤差Ｅｉとして用いることができる。
【００７９】
Ｅｉ＝Ｌｉ１＋Ｌｉ２      （２３）
【００８０】
Ｌｉ１及びＬｉ２が短いほど、誤差Ｅｉは小さくなり、線分１５０１が線分１５０２に重なっている場合、誤差Ｅｉは０になる。
【００８１】
なお、図１３に示したように、追加対応ペアに含まれる１本の投影線に対して、複数の特徴線が対応付けられていることもある。例えば、ｉ番目の対応ペアにＫ本の特徴線が含まれている場合、位置計算部９２５は、各特徴線に対する誤差Ｅ（ｉ，ｊ）（ｊ＝１〜Ｋ）を評価し、Ｅ（ｉ，１）〜Ｅ（ｉ，Ｋ）の最小値をＥｉとして用いることができる。
【００８２】
Ｅｉ＝ｍｉｎ｛Ｅ（ｉ，１），Ｅ（ｉ，２），．．．，Ｅ（ｉ，Ｋ）｝      （２４）
【００８３】
この場合、位置計算部９２５は、最小値に対応する特徴線を、ｉ番目の対応ペアにおける代表特徴線として記憶部７１１に記録する。これにより、決定部７１４及びコンテンツ生成部９１５は、代表特徴線を用いて処理を行うことができる。
【００８４】
次に、決定部７１４は、パラメータ９３６を用いて、Ｎ個の対応ペアに対する誤差の総和を表す指標９３７を計算し（ステップ１０１２）、指標９３７の計算を所定回数行ったか否かをチェックする（ステップ１０１３）。指標９３７の計算を所定回数行っていない場合（ステップ１０１３，Ｎｏ）、選択部９２４は、Ｎ個の対応ペアの選択を変更し（ステップ１０１０）、画像処理装置７０１は、ステップ１０１１以降の処理を繰り返す。
【００８５】
図１７は、図１４に示した初期対応ペア１２０１〜初期対応ペア１２０４及び追加対応ペア１３０１〜追加対応ペア１３０３を用いて、指標９３７の計算をＲ回繰り返した計算結果の例を示している。
【００８６】
この例では、Ｎ＝４であり、Ｐ１〜Ｐ４は、初期対応ペア１２０１〜初期対応ペア１２０４を表し、Ｐ５〜Ｐ７は、追加対応ペア１３０１〜追加対応ペア１３０３を表す。特徴線Ｆ１及び特徴線Ｆ２は、追加対応ペア１３０１に含まれる、ほぼ平行に並んだ２本の特徴線を表し、特徴線Ｆ３及び特徴線Ｆ４は、追加対応ペア１３０２に含まれる、垂直方向に分断された２本の特徴線を表す。“○”は、選択された対応ペアを表す。
【００８７】
指標９３７の計算を所定回数行った場合（ステップ１０１３，Ｙｅｓ）、決定部７１４は、誤差の総和が最小となるＮ個の対応ペアを選択し（ステップ１０１４）、それらの対応ペアに基づいてパラメータ９３８を計算する（ステップ１０１５）。
【００８８】
例えば、図１７の計算結果では、８回目の二乗誤差の総和Ｅが１０であり、最小値に相当する。したがって、誤差の総和が最小となる４個の対応ペアは、Ｐ１、Ｐ３、Ｐ４、及びＰ６である。追加対応ペアＰ６に含まれる特徴線Ｆ３及び特徴線Ｆ４のうち、特徴線Ｆ３が選択された場合に、Ｅが最小となる。
【００８９】
ステップ１０１５において、決定部７１４は、ステップ１０１４で選択したＮ個の対応ペアを用いて、位置計算部９２５と同様にして、撮像装置９０１の位置及び姿勢を計算してもよい。
【００９０】
しかし、ステップ１０１４で選択したＮ個の対応ペアのみでは、計算誤差が小さくならない可能性がある。そこで、決定部７１４は、初期対応ペア９３３及び追加対応ペア９３５を合わせたすべての対応ペアを用いて、撮像装置９０１の位置及び姿勢を再計算してもよい。この場合、決定部７１４は、複数の特徴線が含まれている対応ペアについては、誤差の最小値に対応する代表特徴線を選択し、選択した代表特徴線を用いて撮像装置９０１の位置及び姿勢を計算する。
【００９１】
また、決定部７１４は、初期対応ペア９３３及び追加対応ペア９３５のうち、誤差計算部９２６が計算した誤差が所定値よりも大きい対応ペアを除外し、残りの対応ペアを用いて撮像装置９０１の位置及び姿勢を再計算してもよい。これにより、誤差の大きい対応ペアの影響が排除されるため、撮像装置９０１の位置及び姿勢の推定精度がさらに向上する。
【００９２】
さらに、決定部７１４は、選択部９２４と同様に、他の対応ペアよりも長い投影線を含む対応ペア、又は図形の外周に対応する投影線を含む対応ペアを優先的に選択して、撮像装置９０１の位置及び姿勢を計算してもよい。
【００９３】
この場合、例えば、式（２１）の総和Ｅを重み付き加算により計算し、優先的に選択する所定の対応ペアの重みを、他の対応ペアの重みよりも小さくする方法が考えられる。これにより、Ｎ個の対応ペアが所定の対応ペアを含む場合の総和Ｅが、その対応ペアを含まない場合の総和Ｅよりも小さくなるため、その対応ペアを含むＮ個の対応ペアが優先的に採用されるようになる。
【００９４】
図１８は、パラメータ９３８を用いて候補線９４０を画像９３１上に投影することで生成された投影線の例を示している。
【００９５】
次に、コンテンツ生成部９１５は、パラメータ９３８を用いてコンテンツ画像を生成し、表示部９１３は、画像９３１にコンテンツ画像を重畳表示する（ステップ１０１６）。
【００９６】
このとき、表示部９１３は、誤差Ｅｉが所定値よりも大きな対応ペアに含まれる投影線及び特徴線を、誤差Ｅｉが所定値以下の対応ペアに含まれる投影線及び特徴線とは異なる表示形態で画面上に表示してもよい。この場合、表示部９１３は、誤差Ｅｉが大きな対応ペアに含まれる投影線及び特徴線の色、線幅、書式等を変更して、それらの投影線及び特徴線を強調表示する。
【００９７】
誤差Ｅｉが大きな対応ペアは、製造工程の不具合によって作製された、ＣＡＤデータとは異なる物体の形状を反映している可能性がある。そこで、このような特徴線を強調表示することで、ユーザは不具合の発生箇所を容易に視認することができ、作製物の検査が容易になる。
【００９８】
図１０の画像処理によれば、Ｎ個の対応ペアの選択を変更しながら指標９３７の計算を繰り返すことで、誤差の総和が最小となるＮ個の対応ペアに基づいてパラメータ９３８を求めることができる。したがって、撮像装置９０１の位置及び姿勢の推定精度が向上し、高品質のＡＲが実現される。また、コンテンツ画像を重畳表示するだけではなく、作製物の検査等の用途にＡＲ技術を適用することも可能になる。
【００９９】
図１９は、図９の画像処理装置７０１が行う画像処理の第２の具体例を示すフローチャートである。ステップ１９０１〜ステップ１９１２、ステップ１９１６、及びステップ１９１７の処理は、図１０のステップ１００１〜ステップ１０１２、ステップ１０１５、及びステップ１０１６の処理と同様である。
【０１００】
決定部７１４は、指標９３７を計算した後、指標９３７が表す誤差を所定値と比較する（ステップ１９１３）。誤差が所定値以上である場合（ステップ１９１３，Ｎｏ）、決定部７１４は、指標９３７の計算を所定回数行ったか否かをチェックする（ステップ１９１４）。指標９３７の計算を所定回数行っていない場合（ステップ１９１４，Ｎｏ）、選択部９２４は、Ｎ個の対応ペアの選択を変更し（ステップ１９１０）、画像処理装置７０１は、ステップ１９１１以降の処理を繰り返す。
【０１０１】
一方、誤差が所定値よりも小さい場合（ステップ１９１３，Ｙｅｓ）、決定部７１４は、ステップ１９１６以降の処理を行う。また、指標９３７の計算を所定回数行った場合（ステップ１９１４，Ｙｅｓ）、決定部７１４は、画像９３１とＣＡＤデータ９３９との対応付けが失敗したと判定して（ステップ１９１５）、処理を終了する。
【０１０２】
図１９の画像処理によれば、誤差が所定値よりも小さくなった時点で繰り返し処理を打ち切ってパラメータ９３８を計算するため、迅速に撮像装置９０１の位置及び姿勢を決定することができる。
【０１０３】
図７及び図９の画像処理装置７０１の構成は一例に過ぎず、画像処理装置７０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、画像９３１から特徴線９３２を検出する処理が画像処理装置７０１の外部の装置によって行われる場合は、図９の特徴検出部９１２を省略することができる。
【０１０４】
ＣＡＤデータ９３９から候補線９４０を抽出する処理が外部の装置によって行われる場合は、ＣＡＤデータ処理部９１４を省略することができる。画像９３１にコンテンツ画像を重畳表示する処理が外部の装置によって行われる場合は、表示部９１３及びコンテンツ生成部９１５を省略することができる。ＣＡＤデータ９３９の代わりに、物体の形状を表す他の形状情報を用いてもよい。
【０１０５】
図８、図１０、及び図１９のフローチャートは一例に過ぎず、画像処理装置７０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、ＣＡＤデータ９３９から候補線９４０を抽出する処理が外部の装置によって行われる場合は、図１０のステップ１００３及び図１９のステップ１９０３の処理を省略することができる。画像９３１にコンテンツ画像を重畳表示する処理が外部の装置によって行われる場合は、図１０のステップ１０１６及び図１９のステップ１９１７の処理を省略することができる。
【０１０６】
図１０のステップ１００５で選択される初期対応ペア９３３の個数と、ステップ１０１０で選択される対応ペアの個数は、異なっていてもよい。同様に、図１９のステップ１９０５で選択される初期対応ペア９３３の個数と、ステップ１９１０で選択される対応ペアの個数は、異なっていてもよい。
【０１０７】
撮像装置９０１の姿勢が予め決められている場合、図１０のステップ１００７、ステップ１０１１、及びステップ１０１５において、撮像装置９０１の位置のみをパラメータとして求めてもよい。同様に、図１９のステップ１９０７、ステップ１９１１、及びステップ１９１６において、撮像装置９０１の位置のみをパラメータとして求めてもよい。
【０１０８】
図１のＡＲ技術は一例に過ぎず、表示される画像及びコンテンツ情報は、撮影対象の物体又は画像処理装置７０１の用途に応じて変化する。図２の３次元マップ及び画像は一例に過ぎず、３次元マップ及び画像は、撮影対象の物体に応じて変化する。図３の３次元マップの生成方法は一例に過ぎず、画像処理装置７０１の構成又は条件に応じて、別の方法により３次元マップを生成してもよい。
【０１０９】
図４の画像、図５のＣＡＤデータ、図６のエッジ線及び輪郭線は一例に過ぎず、画像、ＣＡＤデータ、エッジ線及び輪郭線は、撮影対象の物体、画像処理装置７０１の構成又は条件に応じて変化する。図１１の特徴線、図１２〜図１４の初期対応ペア及び追加対応ペア、図１７の計算結果、図１８の投影線は一例に過ぎず、特徴線、投影線、対応ペア、及び計算結果は、撮影対象の物体、画像処理装置７０１の構成又は条件に応じて変化する。
【０１１０】
図１５及び図１６の誤差の計算方法は一例に過ぎず、画像処理装置７０１の構成又は条件に応じて別の計算方法を用いてもよい。式（１）〜式（２４）の計算式は一例に過ぎず、画像処理装置７０１の構成又は条件に応じて別の計算式を用いてもよい。
【０１１１】
図７及び図９の画像処理装置７０１は、例えば、図２０に示すような情報処理装置（コンピュータ）を用いて実装することができる。図２０の情報処理装置は、Central Processing Unit（ＣＰＵ）２００１、メモリ２００２、入力装置２００３、出力装置２００４、補助記憶装置２００５、媒体駆動装置２００６、及びネットワーク接続装置２００７を含む。これらの構成要素はバス２００８により互いに接続されている。図９の撮像装置９０１は、バス２００８に接続されていてもよい。
【０１１２】
メモリ２００２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、画像処理に用いられるプログラム及びデータを格納する。メモリ２００２は、図７及び図９の記憶部７１１として用いることができる。
【０１１３】
ＣＰＵ２００１（プロセッサ）は、例えば、メモリ２００２を利用してプログラムを実行することにより、図７及び図９の推定部７１２、推定部７１３、及び決定部７１４として動作する。ＣＰＵ２００１は、図９の特徴検出部９１２、ＣＡＤデータ処理部９１４、コンテンツ生成部９１５、生成部９２１、位置計算部９２２、生成部９２３、選択部９２４、位置計算部９２５、及び誤差計算部９２６としても動作する。
【０１１４】
入力装置２００３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置２００４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、画像上に重畳されたコンテンツ画像であってもよく、誤差が大きな対応ペアに含まれる投影線及び特徴線であってもよい。出力装置２００４は、図９の表示部９１３として用いることができる。
【０１１５】
補助記憶装置２００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置２００５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置２００５にプログラム及びデータを格納しておき、それらをメモリ２００２にロードして使用することができる。補助記憶装置２００５は、図７及び図９の記憶部７１１として用いることができる。
【０１１６】
媒体駆動装置２００６は、可搬型記録媒体２００９を駆動し、その記録内容にアクセスする。可搬型記録媒体２００９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体２００９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体２００９にプログラム及びデータを格納しておき、それらをメモリ２００２にロードして使用することができる。
【０１１７】
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ２００２、補助記憶装置２００５、又は可搬型記録媒体２００９のような、物理的な（非一時的な）記録媒体である。
【０１１８】
ネットワーク接続装置２００７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２００７を介して受信し、それらをメモリ２００２にロードして使用することができる。
【０１１９】
なお、情報処理装置が図２０のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体２００９又は通信ネットワークを使用しない場合は、媒体駆動装置２００６又はネットワーク接続装置２００７を省略してもよい。
【０１２０】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１２１】
図４乃至図２０を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定し、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、
前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、
前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定し、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、
前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する、
処理をコンピュータに実行させる画像処理プログラム。
（付記２）
前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第１姿勢をさらに推定し、前記第１位置と前記第１姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第１投影線を生成し、前記第１投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第２位置と前記空間内における前記撮像装置の第２姿勢とを推定し、前記第２位置と前記第２姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第２投影線を生成し、前記指標に基づいて、前記第３位置と前記空間内における前記撮像装置の第３姿勢とを決定することを特徴とする付記１記載の画像処理プログラム。
（付記３）
前記コンピュータは、前記複数の特徴線のうち、前記第１投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす１本以上の特徴線を、前記第１投影線に対応する前記特徴線として選択することを特徴とする付記１又は２に記載の画像処理プログラム。
（付記４）
前記コンピュータは、
前記第１位置を用いて前記複数の候補線を前記画像上に投影することで、前記第１投影線を含む複数の第１投影線を生成し、前記複数の第１投影線の中から、前記第１投影線を含む特定数の第１投影線を選択し、前記複数の特徴線の中から、前記特定数の第１投影線に対応する前記特定数の特徴線を選択し、前記特定数の第１投影線と選択した前記特定数の特徴線とを対応付けた前記特定数の組み合わせを用いて、前記第２位置を推定し、前記第２位置を用いて前記特定数の候補線を前記画像上に投影することで、前記第２投影線を含む前記特定数の第２投影線を生成し、前記特定数の第２投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれを表す指標を求め、
前記特定数の第１投影線の選択を変更して、前記特定数の特徴線を選択する処理から前記指標を求める処理までを複数回繰り返し、
前記特定数の第２投影線それぞれの位置と前記特定数の特徴線それぞれの位置との間のずれの総和が最小となる前記特定数の組み合わせに基づいて、前記第３位置を決定することを特徴とする付記１乃至３のいずれか１項に記載の画像処理プログラム。
（付記５）
前記コンピュータは、前記第１位置を用いて前記所定数の候補線のうち少なくとも１本の候補線を前記画像上に投影した第１投影線を、前記特定数の第１投影線に含めることを特徴とする付記４に記載の画像処理プログラム。
（付記６）
前記コンピュータは、前記複数の第１投影線に含まれる２本の第１投影線のうち、一方の第１投影線よりも長い他方の第１投影線を、前記特定数の第１投影線として優先的に選択することを特徴とする付記４又は５に記載の画像処理プログラム。
（付記７）
前記コンピュータは、前記複数の第１投影線のうち、前記複数の第１投影線が表す図形の外周に対応する第１投影線を、前記特定数の第１投影線として優先的に選択することを特徴とする付記４又は５に記載の画像処理プログラム。
（付記８）
前記コンピュータは、前記特定数の組み合わせのうち、前記ずれが所定値よりも大きな組み合わせに含まれる第２投影線と特徴線とを、他の組み合わせに含まれる第２投影線と特徴線とは異なる表示形態で画面上に表示することを特徴とする付記４乃至７のいずれか１項に記載の画像処理プログラム。
（付記９）
物体の形状情報を記憶する記憶部と、
前記形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定する第１推定部と、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定する第２推定部と、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する決定部と、
を備えることを特徴とする画像処理装置。
（付記１０）
前記第１推定部は、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第１姿勢をさらに推定し、
前記第２推定部は、前記第１位置と前記第１姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第１投影線を生成し、前記第１投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第２位置と前記空間内における前記撮像装置の第２姿勢とを推定し、
前記決定部は、前記第２位置と前記第２姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第２投影線を生成し、前記指標に基づいて、前記第３位置と前記空間内における前記撮像装置の第３姿勢とを決定することを特徴とする付記９記載の画像処理装置。
（付記１１）
前記第２推定部は、前記複数の特徴線のうち、前記第１投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす１本以上の特徴線を、前記第１投影線に対応する前記特徴線として選択することを特徴とする付記９又は１０に記載の画像処理装置。
（付記１２）
コンピュータが、
物体の形状情報に含まれる複数の候補線のうち所定数の候補線それぞれを、撮像装置が撮影した前記物体の画像上に投影した前記所定数の投影線それぞれと、前記画像から検出した複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを用いて、空間内における前記撮像装置の第１位置を推定し、
前記第１位置を用いて、前記複数の候補線のうち前記所定数の候補線とは異なる候補線を前記画像上に投影することで、第１投影線を生成し、
前記複数の特徴線の中から、前記第１投影線に対応する特徴線を選択し、
前記第１投影線と選択した前記特徴線とを対応付けた組み合わせを用いて、前記空間内における前記撮像装置の第２位置を推定し、
前記第２位置を用いて前記異なる候補線を前記画像上に投影することで、第２投影線を生成し、
前記第２投影線の位置と前記異なる特徴線の位置との間のずれを表す指標に基づいて、前記空間内における前記撮像装置の第３位置を決定する、
ことを特徴とする画像処理方法。
（付記１３）
前記コンピュータは、前記所定数の組み合わせを用いて、前記空間内における前記撮像装置の第１姿勢をさらに推定し、前記第１位置と前記第１姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第１投影線を生成し、前記第１投影線と選択した前記特徴線とを対応付けた前記組み合わせを用いて、前記第２位置と前記空間内における前記撮像装置の第２姿勢とを推定し、前記第２位置と前記第２姿勢とを用いて前記異なる候補線を前記画像上に投影することで、前記第２投影線を生成し、前記指標に基づいて、前記第３位置と前記空間内における前記撮像装置の第３姿勢とを決定することを特徴とする付記１２記載の画像処理方法。
（付記１４）
前記コンピュータは、前記複数の特徴線のうち、前記第１投影線に対する相対距離又は相対角度の少なくとも一方が所定の条件を満たす１本以上の特徴線を、前記第１投影線に対応する前記特徴線として選択することを特徴とする付記１２又は１３に記載の画像処理方法。
【符号の説明】
【０１２２】
１０１  ユーザ
１０２  携帯端末装置
１０３  点検対象
１０４  マーカ
１０５  画面
１０６  コンテンツ情報
２０１  ３次元マップ
２０２、３０１、３０２、９３１  画像
２０３  ３次元座標系
２０４  カメラ座標系
２１１、３１５  マップ点
２１２  投影点
２１３、３１３、３１４  特徴点
３１１、３１２  撮影位置
７０１  画像処理装置
７１１  記憶部
７１２、７１３  推定部
７１４  決定部
７２１  形状情報
９０１  撮像装置
９１１  画像取得部
９１２  特徴検出部
９１３  表示部
９１４  ＣＡＤデータ処理部
９１５  コンテンツ生成部
９２１、９２３  生成部
９２２、９２５  位置計算部
９２４  選択部
９２６  誤差計算部
９３２  特徴線
９３３、１２０１〜１２０４  初期対応ペア
９３４、９３６、９３８  パラメータ
９３５、１３０１〜１３０３  追加対応ペア
９３７  指標
９３９  ＣＡＤデータ
９４０  候補線
１５０１〜１５０４  線分
１５１１  領域
１６０１、１６０２  垂線
２００１  ＣＰＵ
２００２  メモリ
２００３  入力装置
２００４  出力装置
２００５  補助記憶装置
２００６  媒体駆動装置
２００７  ネットワーク接続装置
２００８  バス
２００９  可搬型記録媒体
【図１】
0006716996.tif 000004
【図２】
0006716996.tif 000005
【図３】
0006716996.tif 000006
【図４】
0006716996.tif 000007
【図５】
0006716996.tif 000008
【図６】
0006716996.tif 000009
【図７】
0006716996.tif 000010
【図８】
0006716996.tif 000011
【図９】
0006716996.tif 000012
【図１０】
0006716996.tif 000013
【図１１】
0006716996.tif 000014
【図１２】
0006716996.tif 000015
【図１３】
0006716996.tif 000016
【図１４】
0006716996.tif 000017
【図１５】
0006716996.tif 000018
【図１６】
0006716996.tif 000019
【図１７】
0006716996.tif 000020
【図１８】
0006716996.tif 000021
【図１９】
0006716996.tif 000022
【図２０】
0006716996.tif 000023