(57)【要約】【課題】物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減する。【解決手段】コンピュータは、物体の形状情報に含まれる複数の候補線のうち、物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出する（ステップ７０１）。次に、コンピュータは、観察される複数の候補線のうち所定数の候補線それぞれと、画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを表す対応付け情報を複数個生成する（ステップ７０２）。そして、コンピュータは、複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する（ステップ７０３）。【選択図】図７
2018055199.tif 000002
【特許請求の範囲】
【請求項１】
物体の形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、
前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成し、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する、
処理をコンピュータに実行させる画像処理プログラム。
【請求項２】
前記コンピュータは、空間内の所定位置を前記撮像装置の位置として用いて、前記形状情報に含まれる複数の候補線のうち隠れ線を除去し、残りの候補線を前記観察される複数の候補線として抽出することを特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記コンピュータは、前記残りの候補線のうち前記物体の外形エッジを表す候補線を、前記観察される複数の候補線として抽出することを特徴とする請求項２記載の画像処理プログラム。
【請求項４】
前記コンピュータは、前記外形エッジを表す候補線のうち前記物体の外周を表す候補線を、前記観察される複数の候補線として抽出することを特徴とする請求項３記載の画像処理プログラム。
【請求項５】
前記所定数の候補線のうち２本の候補線は平行ではないことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理プログラム。
【請求項６】
前記所定数の候補線のうちいずれの２本の候補線も同一直線上に存在しないことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理プログラム。
【請求項７】
前記コンピュータは、前記複数の特徴線のうち、前記画像内の指定領域に含まれる部分を有する複数の特徴線を抽出し、抽出した前記複数の特徴線から前記所定数の特徴線を選択することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理プログラム。
【請求項８】
前記コンピュータは、前記複数の特徴線のうち、前記画像内の基準位置から所定距離の範囲内に存在する複数の特徴線を抽出し、抽出した前記複数の特徴線から前記所定数の特徴線を選択することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理プログラム。
【請求項９】
前記所定数の特徴線のうち２本の特徴線は平行ではないことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理プログラム。
【請求項１０】
前記所定数の特徴線のうちいずれの２本の特徴線も同一直線上に存在しないことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理プログラム。
【請求項１１】
物体の形状情報を記憶する記憶部と、
前記形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成する生成部と、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する決定部と、
を備えることを特徴とする画像処理装置。
【請求項１２】
コンピュータが、
物体の形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、
前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成し、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
近年、拡張現実（Augmented Reality, ＡＲ）技術を用いて画像を表示するシステムが普及してきている（例えば、特許文献１を参照）。ＡＲ技術の一例では、パーソナルコンピュータ（ＰＣ）、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から３次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
【０００３】
図１は、撮影した画像に含まれる特徴点を用いてカメラの位置及び姿勢を求める方法の例を示している。この方法では、物体上におけるマップ点２１１の３次元座標の集合を表す３次元マップ２０１が、予め生成される。
【０００４】
次に、画像２０２が撮影されたとき、３次元座標系２０３をカメラ座標系２０４へ変換する変換行列Ｍを用いて、マップ点２１１を画像２０２上に投影することで、投影点２１２が求められる。そして、投影点２１２と画像２０２から検出された特徴点２１３とを対応付けることで、３次元座標系２０３におけるカメラの位置及び姿勢が推定される。例えば、カメラの位置は、３次元座標系２０３に対するカメラ座標系２０４の相対位置によって表され、カメラの姿勢は、３次元座標系２０３に対するカメラ座標系２０４の相対角度によって表される。
【０００５】
マップ点ｐの３次元座標Ｓｐ、マップ点ｐに対応する投影点の２次元座標ｘｐ’、及びマップ点ｐに対応する特徴点の２次元座標ｘｐは、次式のように記述することができる。
Ｓｐ＝（ｘ，ｙ，ｚ）        （１）
ｘｐ’＝（ｕ’，ｖ’）      （２）
ｘｐ＝（ｕ，ｖ）            （３）
【０００６】
この場合、画像上における投影点と特徴点との距離の二乗和Ｅは、次式により表される。
【０００７】
【数１】
2018055199.tif 000003
【０００８】
式（４）の二乗和Ｅが最小となるような変換行列Ｍを求めることで、カメラの位置及び姿勢が決定される。
【０００９】
図２は、３次元マップ２０１の生成方法の例を示している。この生成方法では、ステレオ撮影及びステレオ計測が用いられる。撮影位置３１１及び撮影位置３１２からそれぞれ撮影した画像３０１及び画像３０２がキーフレームとして用いられ、画像３０１内の特徴点３１３と画像３０２内の特徴点３１４とを対応付けることで、３次元空間内のマップ点３１５が復元される。２枚の画像内の複数の特徴点同士を対応付けることで、複数のマップ点が復元され、それらのマップ点の集合を表す３次元マップ２０１が生成される。
【００１０】
コンピュータ・ビジョンのための多面体表現、構造体の視覚追跡、立体の機械知覚等の技術も知られている（例えば、非特許文献１〜非特許文献３を参照）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１５−１１８６４１号公報
【非特許文献】
【００１２】
【非特許文献１】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
【非特許文献２】Tom Drummond, Roberto Cipolla,“Real-Time Visual Tracking of Complex Structures”, IEEE Trans. Pattern Analysis and Machine Intelligence, pp.932-946, 2002
【非特許文献３】L. G. Robert,“Machine perception of three-dimensional solids”, MIT Lincoln Lab. Rep., TR3315, pp.1-82, May 1963
【発明の概要】
【発明が解決しようとする課題】
【００１３】
カメラにより撮影した物体の画像と、その物体の３次元形状を表すComputer-Aided Design（ＣＡＤ）データとを対応付けることで、カメラの位置及び姿勢を推定する場合、対応付けのための計算量が大きくなる。
【００１４】
なお、かかる問題は、物体の画像とＣＡＤデータとを対応付ける場合に限らず、物体の画像と他の形状情報とを対応付ける場合においても生ずるものである。
【００１５】
１つの側面において、本発明は、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することを目的とする。
【課題を解決するための手段】
【００１６】
１つの案では、画像処理プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、物体の形状情報に含まれる複数の候補線のうち、物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出する。
（２）コンピュータは、観察される複数の候補線のうち所定数の候補線それぞれと、画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを表す対応付け情報を複数個生成する。
（３）コンピュータは、複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する。
【発明の効果】
【００１７】
実施形態によれば、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することができる。
【図面の簡単な説明】
【００１８】
【図１】カメラの位置及び姿勢を求める方法を示す図である。
【図２】３次元マップの生成方法を示す図である。
【図３】物体の画像を示す図である。
【図４】ＣＡＤデータを示す図である。
【図５】エッジ線と輪郭線との対応付けを示す図である。
【図６】画像処理装置の機能的構成図である。
【図７】画像処理のフローチャートである。
【図８】画像処理装置の具体例を示す機能的構成図である。
【図９】画像処理の具体例を示すフローチャートである。
【図１０】矩形の指定領域を示す図である。
【図１１】円形の指定領域を示す図である。
【図１２】基準線を示す図である。
【図１３】候補線を示す図である。
【図１４】残りの候補線を示す図である。
【図１５】物体の外形エッジを表す候補線を示す図である。
【図１６】物体の外周を表す候補線を示す図である。
【図１７】対応ペアを示す図である。
【図１８】領域の面積に基づく計算方法を示す図である。
【図１９】距離に基づく計算方法を示す図である。
【図２０】１８０度回転した線分を示す図である。
【図２１】パラメータの計算に適していない候補線を示す図である。
【図２２】情報処理装置の構成図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、実施形態を詳細に説明する。
カメラの位置及び姿勢を求める際に、物体のＣＡＤデータを図１の３次元マップ２０１として使用する場合、ＣＡＤデータと物体との間で、模様又は色合いといった“見た目”の特徴が異なる場合が多い。この“見た目”の特徴が一致することを前提とした場合、画像内の特徴点とＣＡＤデータが表すマップ点との対応付けを、画像処理によって自動的に行うことが難しい。このため、ＰＣの画面上でのマウス操作によって、特徴点とマップ点との対応付けが手作業で行われることがある。この場合、以下のような問題が発生すると考えられる。
（Ａ）画像中から特徴点を精度よく検出することが難しい。
（Ｂ）マップ点を画像上に投影した投影点及び特徴点をマウス等で選択する操作が難しい。
（Ｃ）投影点及び特徴点を選択する操作が難しいことと、手作業の手間のため、選択する投影点と特徴点との組み合わせ（対応ペア）の個数が限られる。
（Ｄ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００２０】
そこで、特許文献１又は先願である特願２０１５−２１８３１８号に記載されているように、画像から検出されたエッジ線と、ＣＡＤデータが表す輪郭線とを対応付ける方法も考えられる。
【００２１】
図３は、物体の画像の例を示しており、図４は、図３の物体の形状を表すＣＡＤデータの例を示している。図５は、図３の画像から検出されたエッジ線と、図４のＣＡＤデータが表す輪郭線との対応付けの例を示している。
【００２２】
まず、携帯端末装置等の画像処理装置は、図５（ａ）に示すように、エッジ検出処理を行って、画像からエッジ線を検出する。次に、図５（ｂ）に示すように、画像処理装置は、ＣＡＤデータが表す輪郭線と検出したエッジ線とを画像中に表示し、ユーザは、エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。カメラの位置及び姿勢を求めるためには、最低限４個の対応ペアを用いることが望ましい。
【００２３】
次に、画像処理装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、カメラの位置及び姿勢を計算する。そして、図５（ｃ）に示すように、画像処理装置は、計算したカメラの位置及び姿勢に合わせて、ＣＡＤデータが表す輪郭線を物体の画像に重畳表示する。
【００２４】
このような対応付け方法によれば、エッジ線を精度よく検出することができ、エッジ線及び輪郭線を容易に選択することができるため、上記（Ａ）及び（Ｂ）の問題が解決されるが、以下のような問題が発生すると考えられる。
（Ｅ）手作業の手間のため、選択する輪郭線とエッジ線との組み合わせ（対応ペア）の個数が限られる。
（Ｆ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００２５】
そこで、別の先願である特願２０１６−６６０８６号に記載されているように、対応ペアを自動的に追加してカメラの位置及び姿勢を再計算する方法も考えられる。対応ペアの個数を増加させることで、計算精度が向上する。しかしながら、この方法においても、所定数の初期対応ペアがユーザによって選択されており、初期対応ペアを自動的に選択する具体的な方法は記載されていない。
【００２６】
熟練者ではないユーザが目視による手作業で対応ペアを選択する場合、作業に時間がかかるとともに、選択ミスが発生する可能性がある。
【００２７】
一方、画像から検出されたエッジ線とＣＡＤデータが表す輪郭線とのすべての組み合わせを用いて、総当たり計算を行う方法も考えられる。例えば、ｍ本のエッジ線から４本のエッジ線を選択し、ｎ本の輪郭線から４本の輪郭線を選択して、４個の対応ペアを生成する場合、組み合わせの総数はｍＣ４×ｎＣ４個になる。このため、エッジ線の数及び輪郭線の数が増加すると、組み合わせの総数が膨大になり、対応ペアを生成するための計算量が増加する。
【００２８】
図６は、実施形態の画像処理装置の機能的構成例を示している。図６の画像処理装置６０１は、記憶部６１１、生成部６１２、及び決定部６１３を含む。記憶部６１１は、物体の形状情報６２１を記憶する。
【００２９】
図７は、図６の画像処理装置６０１が行う画像処理の例を示すフローチャートである。まず、生成部６１２は、物体の形状情報に含まれる複数の候補線のうち、物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出する（ステップ７０１）。次に、生成部６１２は、観察される複数の候補線のうち所定数の候補線それぞれと、画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを表す対応付け情報を複数個生成する（ステップ７０２）。そして、決定部６１３は、複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する（ステップ７０３）。
【００３０】
このような画像処理装置６０１によれば、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することができる。
【００３１】
図８は、図６の画像処理装置６０１の具体例を示している。図８の画像処理装置６０１は、記憶部６１１、生成部６１２、決定部６１３、画像取得部８１１、特徴検出部８１２、候補検出部８１３、位置計算部８１４、誤差計算部８１５、及び出力部８１６を含む。
【００３２】
画像処理装置６０１は、タブレット、ノート型ＰＣ、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型ＰＣ等の情報処理装置であってもよい。
【００３３】
撮像装置８０１は、例えば、カメラであり、物体の画像８２１を撮影し、画像取得部８１１は、撮像装置８０１から画像８２１を取得して、記憶部６１１に格納する。記憶部６１１は、画像８２１、ＣＡＤデータ８２２、及びパラメータ８２３を記憶する。
【００３４】
ＣＡＤデータ８２２は、図６の形状情報６２１に対応し、物体の３次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の３次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報を含む。
【００３５】
パラメータ８２３は、３次元空間内において予め指定された撮像装置８０１の位置及び姿勢を表す。パラメータ８２３が表す位置及び姿勢は、仮の位置及び姿勢であり、画像８２１を撮影したときの撮像装置８０１の位置及び姿勢と必ずしも一致しているとは限らない。
【００３６】
特徴検出部８１２は、エッジ検出処理を行って、画像８２１から複数のエッジ線を検出し、検出したエッジ線を特徴線８２４として記憶部６１１に格納する。候補検出部８１３は、ＣＡＤデータ８２２に含まれる複数の線分を検出し、検出した複数の線分を複数の候補線８２５として記憶部６１１に格納する。
【００３７】
生成部６１２は、画像８２１から検出された特徴線８２４のうち、所定の条件を満たす複数の特徴線を抽出する。所定の条件としては、例えば、特徴線の少なくとも一部分が画像８２１内の指定領域に含まれること、特徴線が画像８２１内の基準位置から所定距離の範囲内に存在すること等が用いられる。また、生成部６１２は、ＣＡＤデータ８２２から検出された候補線８２５のうち、パラメータ８２３が表す位置及び姿勢から観察される複数の候補線を抽出する。
【００３８】
次に、生成部６１２は、抽出した候補線のうちＮ本（Ｎは２以上の整数）の候補線それぞれと、抽出した特徴線のうちＮ本の特徴線それぞれとを対応付けた、Ｎ個の組み合わせを生成する。そして、生成部６１２は、生成したＮ個の組み合わせをＮ個の対応ペア８２６として記憶部６１１に格納する。対応ペア８２６は、対応付け情報に対応する。
【００３９】
位置計算部８１４は、Ｎ個の対応ペア８２６を用いて、画像８２１を撮影したときの撮像装置８０１の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ８２７として記憶部６１１に格納する。
【００４０】
このとき、位置計算部８１４は、撮像装置８０１の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる候補線を画像８２１上に投影することで、投影線を生成する。誤差計算部８１５は、位置計算部８１４が生成した投影線の位置と、その対応ペアに含まれる特徴線の位置との間のずれを表す誤差を計算する。そして、位置計算部８１４は、誤差計算部８１５が計算した誤差の総和が最小となる変数の値を、パラメータ８２７として求める。
【００４１】
位置計算部８１４は、Ｎ個の対応ペアの選択を変更しながら、パラメータ８２７を計算する処理を複数回繰り返す。決定部６１３は、パラメータ８２７が計算される度に、そのパラメータ８２７が表す撮像装置８０１の位置及び姿勢を用いて、位置計算部８１４が選択したＮ個の対応ペアに含まれる候補線を画像８２１上に投影することで、Ｎ本の投影線を生成する。そして、決定部６１３は、誤差計算部８１５と同様にして、Ｎ本の投影線の位置とＮ本の特徴線の位置との間の誤差の総和を計算し、計算した誤差の総和を指標８２８として記憶部６１１に格納する。
【００４２】
次に、決定部６１３は、それぞれのパラメータ８２７を用いて計算した指標８２８に基づいて、誤差の総和が最小となるＮ個の対応ペアを決定する。これらのＮ個の対応ペアは、対応付け結果に対応する。そして、決定部６１３は、決定したＮ個の対応ペアを用いて、３次元空間内における撮像装置８０１の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ８２９として記憶部６１１に格納する。出力部８１６は、パラメータ８２９を処理結果として出力する。
【００４３】
このような画像処理装置６０１によれば、ユーザが選択操作を行うことなく、ＣＡＤデータ８２２から検出された候補線と画像８２１から検出された特徴線との対応ペアを自動的に生成することができる。このとき、生成部６１２によって、対応ペアの生成に用いる候補線及び特徴線が絞り込まれるため、総当たり計算を行う場合と比較して、Ｎ個の対応ペアを決定するための計算量が大幅に削減される。
【００４４】
図９は、図８の画像処理装置６０１が行う画像処理の具体例を示すフローチャートである。まず、画像取得部８１１は、撮像装置８０１から画像８２１を取得し（ステップ９０１）、特徴検出部８１２は、画像８２１から複数の特徴線８２４を検出する（ステップ９０２）。また、候補検出部８１３は、ＣＡＤデータ８２２から複数の候補線８２５を検出する（ステップ９０３）。
【００４５】
次に、生成部６１２は、複数の特徴線８２４の中から、所定の条件を満たす複数の特徴線を抽出する（ステップ９０４）。所定の条件としては、例えば、以下のような条件が用いられる。
（Ｃ１）特徴線の少なくとも一部分が画像８２１内の指定領域に含まれる。
（Ｃ２）特徴線が画像８２１内の基準位置から所定距離の範囲内に存在する。
【００４６】
条件（Ｃ１）を用いた場合、ユーザは簡単な操作で物体が写っている領域を指定するだけで、対応ペアの生成に用いる特徴線を絞り込むことができる。一方、条件（Ｃ２）を用いた場合、ユーザが領域を指定することなく、予め設定された基準点、基準線等の基準位置に基づいて、対応ペアの生成に用いる特徴線を絞り込むことができる。ユーザが物体を撮影する場合、物体が画像８２１の中心位置近くに写っていることが多いため、画像８２１の中心位置を基準位置として用いることが効果的である。
【００４７】
図１０は、画像８２１内の矩形の指定領域の例を示している。画像８２１内においてユーザにより矩形領域１００１が指定された場合、生成部６１２は、矩形領域１００１内に一部分又は全体が含まれる特徴線を抽出する。この場合、画像８２１から検出された１８本の特徴線の中から９本の特徴線が抽出される。
【００４８】
図１１は、画像８２１内の円形の指定領域の例を示している。画像８２１内においてユーザにより円形領域１１０１が指定された場合、生成部６１２は、円形領域１１０１内に一部分又は全体が含まれる特徴線を抽出する。この場合も、画像８２１から検出された１８本の特徴線の中から９本の特徴線が抽出される。
【００４９】
図１２は、画像８２１内の基準線の例を示している。生成部６１２は、画像８２１の中心位置を通る直線１２０１から所定距離の範囲内に存在する特徴線を抽出する。直線１２０１から特徴線までの距離としては、特徴線のいずれかの端点から直線１２０１上へ下ろした垂線の長さを用いてもよく、特徴線の中点から直線１２０１上へ下ろした垂線の長さを用いてもよい。
【００５０】
次に、生成部６１２は、複数の候補線８２５の中から、パラメータ８２３が表す位置及び姿勢から観察される複数の候補線を抽出する（ステップ９０５）。例えば、生成部６１２は、パラメータ８２３が表す位置及び姿勢を撮像装置８０１の位置及び姿勢として用いて、非特許文献３に記載された方法により複数の候補線８２５から隠れ線を除去し、残りの候補線を抽出することができる。
【００５１】
隠れ線は撮像装置８０１からは観察されないため、隠れ線に対応する特徴線は画像８２１から検出されないことが多い。そこで、候補線８２５から隠れ線を除去することで、対応ペアの生成に用いる候補線を効果的に絞り込むことができる。
【００５２】
図１３は、図１０〜図１２に示した画像８２１に写っている物体のＣＡＤデータ８２２から検出された候補線８２５の例を示している。この例では、２５本の候補線８２５が検出されている。
【００５３】
図１４は、図１３に示した候補線８２５から隠れ線を除去した後の残りの候補線の例を示している。２５本の候補線８２５のうち１１本の隠れ線を除去することによって、１４本の候補線が抽出されている。
【００５４】
生成部６１２は、残りの候補線のうち物体の外形エッジを表す候補線を抽出してもよく、さらに、外形エッジを表す候補線のうち物体の外周を表す候補線を抽出してもよい。物体の外周を表す候補線は、物体の輪郭線を表しており、コンピュータグラフィックス（ＣＧ）における境界表現（Boundary Representations）の技術を用いることで、検出することが可能である。
【００５５】
例えば、非特許文献１に開示されているように、境界表現の１つであるウィングドエッジ（Winged-Egde）構造のデータには、輪郭線とそれを形成する頂点及び面を表す情報と、他の輪郭線との接続関係を表す情報とが含まれている。これらの情報に基づいて、ＣＡＤデータから検出された各候補線が外周に対応するか否かを判定することができる。
【００５６】
画像８２１から検出される特徴線８２４が輪郭線である場合、物体と背景との境界線が特徴線８２４として検出される。物体と背景は物理的に離れているため、太陽、照明等の光の当たり方が異なっていたり、材質又は色が異なっていたりすることが多い。このため、より明瞭な特徴線が検出されやすく、特徴線の位置の精度も高くなる。また、輪郭線を表す対応ペアを多数生成することで、画像８２１内における対応ペアの分布範囲が広くなり、パラメータ８２９の計算精度の向上に寄与すると考えられる。
【００５７】
図１５は、物体の外形エッジを表す候補線の例を示している。図１４に示した１４本の候補線のうち、太線で示す１１本の候補線が外形エッジを表す候補線として抽出される。
【００５８】
図１６は、物体の外周を表す候補線の例を示している。図１５に示した１１本の候補線のうち、太線で示す８本の候補線が外周を表す候補線として抽出される。
【００５９】
生成部６１２は、図１４〜図１６に示した候補線の中から、画像８２１上に投影した際に所定長よりも長いものを選択して使用してもよい。投影線が長い場合、物体の形状を表す輪郭線自体が長いため、より長い特徴線と対応付けられる可能性が高い。また、長い特徴線ほど、その信頼性も高いと考えられる。さらに、撮像装置８０１の位置及び姿勢の計算において、投影線と特徴線がともに長いほど、投影線と特徴線との間の誤差の計算精度が向上するため、パラメータ８２９の計算精度も向上する。
【００６０】
次に、生成部６１２は、Ｎ本の候補線とＮ本の特徴線とを対応付けたＮ個の対応ペア８２６を生成し（ステップ９０６）、位置計算部８１４は、それらの対応ペア８２６を用いてパラメータ８２７を計算する（ステップ９０７）。
【００６１】
図１７は、対応ペアの例を示している。この例では、候補線１７１１〜候補線１７１４が特徴線１７０１〜特徴線１７０４とそれぞれ対応付けられて、４個の対応ペアが生成されている。
【００６２】
ステップ９０７において、位置計算部８１４は、例えば、最小二乗法を用いてパラメータ８２７を計算することができる。この場合、位置計算部８１４は、撮像装置８０１の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応ペアに含まれる候補線を画像８２１上に投影することで、投影線を生成する。誤差計算部８１５は、投影線の位置と、その対応ペアに含まれる特徴線の位置との誤差Ｅｉ（ｉ＝１〜Ｎ）を評価し、Ｎ個の対応ペアに対する二乗誤差の総和Ｅが最小となる変数の値を、パラメータ８２７として求める。二乗誤差の総和Ｅは、次式により計算される。
【００６３】
【数２】
2018055199.tif 000004
【００６４】
誤差計算部８１５は、例えば、図１８又は図１９に示すような方法で、誤差Ｅｉを計算することができる。図１８は、投影線と特徴線との間の領域の面積に基づく計算方法の例を示している。ｉ番目の対応ペアに含まれる投影線が線分１８０１であり、特徴線が線分１８０２である場合、線分１８０１の両端と線分１８０２の両端とをそれぞれ結ぶ線分１８０３及び線分１８０４を定義することができる。この場合、線分１８０１〜線分１８０４によって囲まれた領域の面積Ａｉを、誤差Ｅｉとして用いることができる。
Ｅｉ＝Ａｉ      （１２）
【００６５】
面積Ａｉが小さいほど、誤差Ｅｉは小さくなり、線分１８０１が線分１８０２に重なっている場合、誤差Ｅｉは０になる。
【００６６】
図１９は、投影線と特徴線との間の距離に基づく計算方法の例を示している。線分１８０２の両端から線分１８０１上へ下ろした垂線１９０１及び垂線１９０２の長さを、それぞれ、Ｌｉ１及びＬｉ２とする。この場合、Ｌｉ１及びＬｉ２の和を、誤差Ｅｉとして用いることができる。
Ｅｉ＝Ｌｉ１＋Ｌｉ２      （１３）
【００６７】
Ｌｉ１及びＬｉ２が短いほど、誤差Ｅｉは小さくなり、線分１８０１が線分１８０２に重なっている場合、誤差Ｅｉは０になる。
【００６８】
次に、決定部６１３は、パラメータ８２７が表す撮像装置８０１の位置及び姿勢を用いて、Ｎ個の対応ペアに含まれる候補線を画像８２１上に投影することで、Ｎ本の投影線を生成する（ステップ９０８）。
【００６９】
次に、決定部６１３は、Ｎ本の投影線の位置とＮ本の特徴線の位置との間の誤差の総和を表す指標８２８を計算し（ステップ９０９）、指標８２８の計算を所定回数行ったか否かをチェックする（ステップ９１０）。指標８２８の計算を所定回数行っていない場合（ステップ９１０，Ｎｏ）、位置計算部８１４は、Ｎ個の対応ペアの選択を変更し（ステップ９０６）、画像処理装置６０１は、ステップ９０７以降の処理を繰り返す。
【００７０】
指標８２８の計算を所定回数行った場合（ステップ９１０，Ｙｅｓ）、決定部６１３は、誤差の総和が最小となるＮ個の対応ペアを選択し（ステップ９１１）、それらの対応ペアに基づいてパラメータ８２９を計算する（ステップ９１２）。そして、出力部８１６は、選択されたＮ個の対応ペア及びパラメータ８２９を出力する（ステップ９１３）。
【００７１】
図９の画像処理によれば、Ｎ個の対応ペアの選択を自動的に変更しながら指標８２８の計算を繰り返すことで、誤差の総和が最小となるＮ個の対応ペアを求めることができる。これにより、ユーザによる選択操作の作業時間が削減され、処理時間が短縮されるとともに、撮像装置８０１の位置及び姿勢の推定精度が向上する。
【００７２】
また、ヒューマンエラーに起因する選択ミスがなくなるため、選択のやり直しによる処理時間の増加が発生しない。熟練者でなくても最適なＮ個の対応ペアを求めることができるため、対応付け結果を適用する作業の種類及び対象者を拡大することが可能になる。
【００７３】
なお、図９のステップ９１０において、画像処理装置６０１は、指標８２８の計算を所定回数行った場合に繰り返し処理を打ち切る代わりに、指標８２８が表す誤差が所定値よりも小さくなった場合に繰り返し処理を打ち切ってもよい。
【００７４】
また、ステップ９０７及びステップ９０９において、画像処理装置６０１は、投影線の位置と特徴線の位置との間の誤差の代わりに、投影線と特徴線との間の類似度を評価してもよい。投影線と特徴線との間の類似度としては、例えば、特許文献１に記載された２本の線分の類似度を用いることができる。この場合、ステップ９０７において、類似度の総和が最大となるパラメータ８２７が求められ、ステップ９１１において、類似度の総和が最大となるＮ個の対応ペアが選択される。
【００７５】
ところで、ステップ９１１において選択されたＮ個の対応ペアの誤差の総和が最小であったとしても、各投影線が各特徴線を１８０度回転させた線分を表していることがある。
【００７６】
図２０は、１８０度回転した線分の例を示している。図２０の投影線及び特徴線のうち、投影線２０１２は、特徴線２００２と重なっている。一方、投影線２０１１、投影線２０１３、及び投影線２０１４は、投影線２０１２を軸として、特徴線２００２、特徴線２００３、及び特徴線２００４をそれぞれ１８０度回転させた線分に対応する。この場合、式（１２）の面積Ａｉはほぼ０になるため、誤差の総和が最小になる可能性がある。
【００７７】
そこで、このような対応付けを禁止するために、決定部６１３は、次のような条件を満たすＮ個の対応ペアの中から、誤差の総和が最小となるＮ個の対応ペアを選択してもよい。
（Ｃ１１）Ｎ本の投影線のうち、所定の割合の投影線が画像８２１内に含まれている。
（Ｃ１２）Ｎ本の投影線のうち、所定の割合の投影線が画像８２１内の所定位置の近傍に存在する。
（Ｃ１３）画像８２１の面積に対するＮ本の投影線の分布範囲の割合が所定値以上である。
【００７８】
図２１は、パラメータ８２７の計算に適していない候補線の例を示している。図２１（ａ）は、互いに平行な４本の候補線を示している。４本の候補線が平行である場合、矢印２１０１の方向に候補線を並行移動させても誤差が変化せず、候補線の位置を固定することが困難になることがある。
【００７９】
図２１（ｂ）は、同一直線上に存在する２本の候補線を示している。２本の候補線が同一直線上に存在する場合、矢印２１０２の方向に候補線を拡大又は縮小させても誤差が変化せず、スケールを固定することが困難になることがある。
【００８０】
そこで、図９のステップ９０６において、生成部６１２は、次のような条件を満たすＮ本の候補線を選択して、Ｎ個の対応ペアを生成してもよい。
（Ｃ２１）Ｎ本の候補線のうち少なくとも２本の候補線は平行ではない。
（Ｃ２２）Ｎ本の候補線のうちいずれの２本の候補線も同一直線上に存在しない。
【００８１】
同様の理由から、生成部６１２は、次のような条件を満たすＮ本の特徴線を選択して、Ｎ個の対応ペアを生成してもよい。
（Ｃ３１）Ｎ本の特徴線のうち少なくとも２本の特徴線は平行ではない。
（Ｃ３２）Ｎ本の特徴線のうちいずれの２本の特徴線も同一直線上に存在しない。
【００８２】
図６及び図８の画像処理装置６０１の構成は一例に過ぎず、画像処理装置６０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、画像８２１から特徴線８２４を検出する処理が画像処理装置６０１の外部の装置によって行われる場合は、図８の特徴検出部８１２を省略することができる。
【００８３】
ＣＡＤデータ８２２から候補線８２５を抽出する処理が外部の装置によって行われる場合は、候補検出部８１３を省略することができる。ＣＡＤデータ８２２の代わりに、物体の形状を表す他の形状情報を用いてもよい。
【００８４】
図７及び図９のフローチャートは一例に過ぎず、画像処理装置６０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、画像８２１から特徴線８２４を検出する処理が画像処理装置６０１の外部の装置によって行われる場合は、図９のステップ９０１及びステップ９０２の処理を省略することができる。ＣＡＤデータ８２２から候補線８２５を検出する処理が外部の装置によって行われる場合は、図９のステップ９０３の処理を省略することができる。
【００８５】
撮像装置８０１の姿勢が予め決められている場合、図９のステップ９０７及びステップ９１２において、撮像装置８０１の位置のみをパラメータとして求めてもよい。
【００８６】
図１の３次元マップ及び画像は一例に過ぎず、３次元マップ及び画像は、撮影対象の物体に応じて変化する。図２の３次元マップの生成方法は一例に過ぎず、画像処理装置６０１の構成又は条件に応じて、別の方法により３次元マップを生成してもよい。
【００８７】
図３の画像、図４のＣＡＤデータ、図５のエッジ線及び輪郭線は一例に過ぎず、画像、ＣＡＤデータ、エッジ線及び輪郭線は、撮影対象の物体、画像処理装置６０１の構成又は条件に応じて変化する。
【００８８】
図１０及び図１１の指定領域、図１２の基準線は一例に過ぎず、画像処理装置６０１の構成又は条件に応じて、別の形状の指定領域及び別の基準線を用いてもよい。
【００８９】
図１３〜図１６及び図２１の候補線、図１７の特徴線及び候補線、図２０の特徴線及び投影線は一例に過ぎず、候補線、特徴線、及び投影線は、撮影対象の物体、画像処理装置６０１の構成又は条件に応じて変化する。
【００９０】
図１８及び図１９の誤差の計算方法は一例に過ぎず、画像処理装置６０１の構成又は条件に応じて別の計算方法を用いてもよい。式（１）〜式（１３）の計算式は一例に過ぎず、画像処理装置６０１の構成又は条件に応じて別の計算式を用いてもよい。
【００９１】
図２２は、図６及び図８の画像処理装置６０１として用いられる情報処理装置（コンピュータ）の構成例を示している。図２２の情報処理装置は、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等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２２０７を介して受信し、それらをメモリ２２０２にロードして使用することができる。ネットワーク接続装置２２０７は、図８の出力部８１６として用いることができる。
【００９９】
なお、情報処理装置が図２２のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体２２０９又は通信ネットワークを使用しない場合は、媒体駆動装置２２０６又はネットワーク接続装置２２０７を省略してもよい。
【０１００】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１０１】
図３乃至図２２を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体の形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、
前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成し、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する、
処理をコンピュータに実行させる画像処理プログラム。
（付記２）
前記コンピュータは、空間内の所定位置を前記撮像装置の位置として用いて、前記形状情報に含まれる複数の候補線のうち隠れ線を除去し、残りの候補線を前記観察される複数の候補線として抽出することを特徴とする付記１記載の画像処理プログラム。
（付記３）
前記コンピュータは、前記残りの候補線のうち前記物体の外形エッジを表す候補線を、前記観察される複数の候補線として抽出することを特徴とする付記２記載の画像処理プログラム。
（付記４）
前記コンピュータは、前記外形エッジを表す候補線のうち前記物体の外周を表す候補線を、前記観察される複数の候補線として抽出することを特徴とする付記３記載の画像処理プログラム。
（付記５）
前記所定数の候補線のうち２本の候補線は平行ではないことを特徴とする付記１乃至４のいずれか１項に記載の画像処理プログラム。
（付記６）
前記所定数の候補線のうちいずれの２本の候補線も同一直線上に存在しないことを特徴とする付記１乃至５のいずれか１項に記載の画像処理プログラム。
（付記７）
前記コンピュータは、前記複数の特徴線のうち、前記画像内の指定領域に含まれる部分を有する複数の特徴線を抽出し、抽出した前記複数の特徴線から前記所定数の特徴線を選択することを特徴とする付記１乃至６のいずれか１項に記載の画像処理プログラム。
（付記８）
前記コンピュータは、前記複数の特徴線のうち、前記画像内の基準位置から所定距離の範囲内に存在する複数の特徴線を抽出し、抽出した前記複数の特徴線から前記所定数の特徴線を選択することを特徴とする付記１乃至６のいずれか１項に記載の画像処理プログラム。
（付記９）
前記所定数の特徴線のうち２本の特徴線は平行ではないことを特徴とする付記１乃至８のいずれか１項に記載の画像処理プログラム。
（付記１０）
前記所定数の特徴線のうちいずれの２本の特徴線も同一直線上に存在しないことを特徴とする付記１乃至９のいずれか１項に記載の画像処理プログラム。
（付記１１）
物体の形状情報を記憶する記憶部と、
前記形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成する生成部と、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する決定部と、
を備えることを特徴とする画像処理装置。
（付記１２）
前記生成部は、空間内の所定位置を前記撮像装置の位置として用いて、前記形状情報に含まれる複数の候補線のうち隠れ線を除去し、残りの候補線を前記観察される複数の候補線として抽出することを特徴とする付記１１記載の画像処理装置。
（付記１３）
コンピュータが、
物体の形状情報に含まれる複数の候補線のうち、前記物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出し、
前記観察される複数の候補線のうち所定数の候補線それぞれと、前記画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを表す対応付け情報を複数個生成し、
前記複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する、
ことを特徴とする画像処理方法。
（付記１４）
前記コンピュータは、空間内の所定位置を前記撮像装置の位置として用いて、前記形状情報に含まれる複数の候補線のうち隠れ線を除去し、残りの候補線を前記観察される複数の候補線として抽出することを特徴とする付記１３記載の画像処理方法。
【符号の説明】
【０１０２】
２０１  ３次元マップ
２０２、３０１、３０２、８２１  画像
２０３  ３次元座標系
２０４  カメラ座標系
２１１  マップ点
２１２  投影点
２１３、３１３、３１４  特徴点
３１１、３１２  撮影位置
６０１  画像処理装置
６１１  記憶部
６１２  生成部
６１３  決定部
６２１  形状情報
８０１  撮像装置
８１１  画像取得部
８１２  特徴検出部
８１３  候補検出部
８１４  位置計算部
８１５  誤差計算部
８１６  出力部
８２２  ＣＡＤデータ
８２３、８２７、８２９  パラメータ
８２４、１７０１〜１７０４、２００１〜２００４  特徴線
８２５、１７１１〜１７１４  候補線
８２６  対応ペア
８２８  指標
１００１  矩形領域
１１０１  円形領域
１２０１  直線
１８０１〜１８０４  線分
１９０１、１９０２  垂線
２０１１〜２０１４  投影線
２２０１  ＣＰＵ
２２０２  メモリ
２２０３  入力装置
２２０４  出力装置
２２０５  補助記憶装置
２２０６  媒体駆動装置
２２０７  ネットワーク接続装置
２２０８  バス
２２０９  可搬型記録媒体
【図１】
2018055199.tif 000005
【図２】
2018055199.tif 000006
【図３】
2018055199.tif 000007
【図４】
2018055199.tif 000008
【図５】
2018055199.tif 000009
【図６】
2018055199.tif 000010
【図７】
2018055199.tif 000011
【図８】
2018055199.tif 000012
【図９】
2018055199.tif 000013
【図１０】
2018055199.tif 000014
【図１１】
2018055199.tif 000015
【図１２】
2018055199.tif 000016
【図１３】
2018055199.tif 000017
【図１４】
2018055199.tif 000018
【図１５】
2018055199.tif 000019
【図１６】
2018055199.tif 000020
【図１７】
2018055199.tif 000021
【図１８】
2018055199.tif 000022
【図１９】
2018055199.tif 000023
【図２０】
2018055199.tif 000024
【図２１】
2018055199.tif 000025
【図２２】
2018055199.tif 000026
【手続補正書】
【提出日】平成29年8月21日(2017.8.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
図７は、図６の画像処理装置６０１が行う画像処理の例を示すフローチャートである。まず、生成部６１２は、物体の形状情報６２１に含まれる複数の候補線のうち、物体の画像を撮影した撮像装置の位置から観察される複数の候補線を抽出する（ステップ７０１）。次に、生成部６１２は、観察される複数の候補線のうち所定数の候補線それぞれと、画像から検出した複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを表す対応付け情報を複数個生成する（ステップ７０２）。そして、決定部６１３は、複数個の対応付け情報それぞれの誤差に基づいて対応付け結果を決定する（ステップ７０３）。