(57)【要約】【課題】撮像装置の位置及び姿勢の推定に用いる撮影画像中の対象物の特徴線と、対応する物体の形状を表す形状情報の線分とのペアを決定するための計算量を削減する。【解決手段】  画像処理装置は、３次元形状情報から複数の３次元線分を抽出する３次元線分抽出部と、撮影画像から複数の特徴線を抽出する特徴線抽出部と、複数の特徴線の角度についての第１の分布と、複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての第２の分布との間の距離に基づいて、第１の特徴線と第１の３次元線分との１対のペアを推定すると共に、推定した１対のペアに基づいて特徴線と３次元線分とのペアを少なくとも３対推定するペア推定部と、推定された少なくとも４対のペアに基づいて、撮影画像から３次元空間内における対象物に対する撮像装置の位置及び方向を推定する視点推定部と、を含むにより上記課題の解決を図る。【選択図】図６
2019105992.tif 000002
【特許請求の範囲】
【請求項１】
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出する３次元線分抽出部と、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出する特徴線抽出部と、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定するペア推定部と、
推定された少なくとも４対のペアに基づいて、前記撮像画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する視点推定部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記ペア推定部は、抽出した前記複数の特徴線から前記第１の特徴線を選択し、抽出した前記複数の３次元線分から前記第１の３次元線分を選択し、
仮想空間において、前記３次元形状を回転させて前記第１の特徴線と前記第１の３次元線分とを一致させ、
前記第１の特徴線と前記第１の３次元線分とを一致させた前記３次元形状を、該第１の３次元線分と、該第１の特徴線と前記撮像装置の視点とがなす平面に対する法線と、をそれぞれ回転軸として、前記３次元形状を所定角度ずつ回転させ、
回転させる毎に前記複数の３次元線分を前記投影面に投影して得られる複数の投影線の角度についての前記第２の分布を生成し、生成した複数の該第２の分布のそれぞれと、前記第１の分布との間の距離に応じて、前記１対のペアを推定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ペア推定部は、前記１対のペアである第１のペアを推定した場合、該第１のペアを形成する前記第１の３次元線分の第１の投影線以外の前記複数の投影線から、該１対のペアを形成する前記第１の特徴線以外の第２の特徴線と角度が一致している第２の投影線を取得し、該第２の投影線に対応する第２の３次元線分と該第２の特徴線とを選択し、該第２の３次元線分と該第２の特徴線を第２のペアと推定し、
前記第１の投影線及び前記第２の投影線以外の前記複数の投影線から、前記第１の特徴線及び前記第２の特徴線以外の第３の特徴線と角度と位置が一致している第３の投影線を取得し、該第３の投影線に対応する第３の３次元線分と該第３の特徴線とを選択し、該第３の３次元線分と該第３の特徴線を第３のペアと推定し、
前記第１の投影線、前記第２の投影線及び前記第３の投影線以外の前記複数の投影線から、前記第１の特徴線、前記第２の特徴線及び前記第３の特徴線以外の第４の特徴線と角度と位置が一致している第４の投影線を取得し、該第４の投影線に対応する第４の３次元線分と該第４の特徴線を選択し、該第４の３次元線分と該第４の特徴線を第４のペアと推定する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記ペア推定部は、前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
それぞれの特徴線グループに含まれる前記特徴線の数、該それぞれの特徴線グループに含まれる前記特徴線の長さ、及びそれぞれの特徴線グループにおける特徴線の位置のうち少なくとも１つの条件に基づいて、前記第１の特徴線を選択し、
それぞれの３次元線分グループに含まれる３次元線分の数、及び該それぞれの３次元線分グループに含まれる前記３次元線分の長さのうち少なくとも１つの条件に基づいて、前記第１の３次元線分を選択する、
ことを特徴とする請求項１〜３のうちいずれか１項に記載の画像処理装置。
【請求項５】
前記ペア推定部は、前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
前記複数の特徴線グループから、最も多く特徴線を含む特徴線グループを選択し、
選択した前記特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には前記選択した特徴線グループにおいて外周線に対応する特徴線を前記第１の特徴線として選択し、選択した前記特徴線グループに含まれるいずれかの特徴線の長さが前記所定の範囲を超える場合には選択した前記特徴線グループから最も長い特徴線を前記第１の特徴線として選択し、
前記複数の３次元線分グループから、前記選択された特徴線グループに含まれる前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には該１つの３次元線分グループを選択し、前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択し、前記特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には前記選択された特徴線グループに含まれる前記特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択し、
選択した前記３次元線分グループから最も長い３次元線分を前記第１の３次元線分として選択する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の画像処理装置。
【請求項６】
コンピュータに、
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出し、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出し、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定し、
推定された少なくとも４対のペアに基づいて、前記撮像画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する
処理を実行させる画像処理プログラム。
【請求項７】
コンピュータが、
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出し、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出し、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定し、
推定された少なくとも４対のペアに基づいて、前記撮像画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム及び画像処理方法に関する。
【背景技術】
【０００２】
近年、拡張現実（Augmented Reality, ＡＲ）技術を用いて画像を表示するシステムが普及してきている（例えば、特許文献１〜３を参照）。ＡＲ技術の一例では、パーソナルコンピュータ（ＰＣ）、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から３次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
【０００３】
重畳表示するコンテンツ情報としては、例えば、物体の３次元形状を表すComputer-Aided Design（ＣＡＤ）データが使用される。カメラの位置・姿勢を決定するためには、ＣＡＤデータの３次元線分と、撮影された画像中の対象物において対応する線分とのペアが、少なくとも４ペア用いられる。
【０００４】
第１の技術として、立体構造物とモデル情報が表すモデルとを比較する技術がある（例えば、特許文献１）。第１の技術では、コンピュータは、撮像装置により立体構造物を撮像した撮像画像から抽出されたエッジ線と、その立体構造物のモデル情報が表すモデル画像に含まれる稜線とを、選択可能な状態で表示する。次に、コンピュータは、重ね合わせる対象のエッジ線と稜線とを示す選択指示を受け付ける。そして、コンピュータは、受け付けた選択指示に応じて、重ね合わせる対象のエッジ線と稜線とが重なるようにモデル画像を撮像画像に重畳した重畳画像を表示する。
【０００５】
第２の技術として、撮像装置が撮影した物体の画像と形状情報とを用いて、撮像装置の位置を推定する技術がある（例えば、特許文献２。）。第２の技術では、コンピュータは、物体の形状情報に含まれる候補線を画像上に投影した投影線と、画像から検出した特徴線とを対応付けた、所定数の組み合わせを用いて、撮像装置の第１位置を推定する。次に、コンピュータは、第１位置を用いて別の候補線を画像上に投影することで、第１投影線を生成し、それに対応する特徴線を選択する。次に、コンピュータは、第１投影線と特徴線とを対応付けた組み合わせを用いて、撮像装置の第２位置を推定する。そして、コンピュータは、第２位置を用いて上記別の候補線を画像上に投影することで、第２投影線を生成し、第２投影線と上記別の特徴線との間のずれを表す指標に基づいて、撮像装置の第３位置を決定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−９１０７８号公報
【特許文献２】特開２０１７−１８２３０２号公報
【特許文献３】特開２０１５−１１８６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
カメラにより撮影した物体の画像と、その物体のＣＡＤデータとを対応付けることでカメラの位置及び姿勢を推定する場合、対応付けのための計算量が大きくなる。
【０００８】
なお、かかる問題は、物体の画像とＣＡＤデータとを対応付ける場合に限らず、物体の画像と他の形状情報とを対応付ける場合においても生ずるものである。
【０００９】
１つの側面において、本発明は、撮像装置の位置及び姿勢の推定に用いる撮影画像中の対象物の特徴線と、対応する物体の形状を表す形状情報の線分とのペアを決定するための計算量を削減することを目的とする。
【課題を解決するための手段】
【００１０】
一態様によれば、画像処理装置は、物体の３次元形状を示す３次元形状情報から、３次元形状を形成する複数の３次元線分を抽出する３次元線分抽出部と、撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出する特徴線抽出部と、複数の特徴線の角度についての分布を示す第１の分布と、複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、複数の特徴線のうちの第１の特徴線と複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した１対のペアに基づいて特徴線と３次元線分とのペアを少なくとも３対推定するペア推定部と、推定された少なくとも４対のペアに基づいて、撮像画像から３次元空間内における対象物に対する前記撮像装置の位置及び方向を推定する視点推定部と、を含む。
【発明の効果】
【００１１】
実施形態によれば、撮像装置の位置及び姿勢の推定に用いる撮影画像中の対象物の特徴線と、対応する物体の形状を表す形状情報の線分とのペアを決定するための計算量を削減することができる。
【図面の簡単な説明】
【００１２】
【図１】撮影した画像に含まれる特徴点を用いてカメラの位置及び姿勢を求める方法を説明するための図である。
【図２】３次元マップの生成方法の例を示す図である。
【図３】物体の撮影画像の例を示す図である。
【図４】ＣＡＤデータの例を示す図である。
【図５】撮像画像から検出されたエッジ線と、ＣＡＤデータが表す輪郭線との対応付けの例を示す図である。
【図６】実施形態における画像処理装置の一例を示す図である。
【図７】本実施形態における画像処理の例を示すフローチャートである。
【図８】本実施形態における撮像画像からの特徴線の検出の例を示す図である。
【図９】本実施形態における３次元線分の検出の例を示す図である。
【図１０】本実施形態における線分Ｌmdlが投影面上で線分Ｌimgと平行になるように、３Ｄモデルを回転させることを説明するための図である。
【図１１】本実施形態における線分Ｌimgとカメラ視点とがなす平面の法線ｎを説明する図である。
【図１２】本実施形態における線分Ｌmdl、法線ｎそれぞれを軸として、３Ｄモデルを回転させた場合の状態遷移を説明するための図である。
【図１３】本実施形態における、撮影画像より抽出した特徴線と、仮対応線分ペアに基づいて回転させた３Ｄモデルの3次元線分との例を示す図である。
【図１４】本実施形態における撮影画像上の特徴線の方向（角度）と、各回転状態における３Ｄモデルの各投影線の方向（角度）の例を示す図である。
【図１５】本実施形態における撮影画像上の特徴線の角度についてのヒストグラムと、各回転状態における３Ｄモデルの各投影線の角度についてのヒストグラムの例を示す図である。
【図１６】本実施形態における撮影画像上の特徴線の角度についてのヒストグラムと、各回転状態における３Ｄモデルの各投影線の角度についてのヒストグラムとの間の距離の例を説明するための図である。
【図１７】本実施形態（実施例１）における画像処理装置の一例を示す図である。
【図１８】本実施形態（実施例１）におけるペア推定部の機能ブロック図である。
【図１９】本実施形態（実施例１）における画像処理の具体例を示すフローチャートである。
【図２０】本実施形態（実施例１）における対応線分ペアの推定処理（ステップ１９０６）の詳細処理のフローチャートである。
【図２１】本実施形態（実施例１）における他の３対の対応線分ペアを推定する処理（ステップ２００８）の詳細処理のフローチャートである。
【図２２】本実施形態（実施例１）における対応線分ペアの例を示す図である
【図２３】本実施形態（実施例１）における領域の面積に基づく計算方法を示す図である。
【図２４】本実施形態（実施例１）における距離に基づく計算方法を示す図である。
【図２５】本実施形態（実施例１）における１８０度回転した線分を示す図である。
【図２６】本実施形態（実施例１）における粗パラメータの計算に適していない３次元線分の例を示す図である。
【図２７】本実施形態（実施例２）におけるペア推定部の機能ブロック図である。
【図２８】本実施形態（実施例２）における画像処理の具体例を示すフローチャートである
【図２９】本実施形態（実施例２）における特徴線選択（ステップ２００１）の詳細フローチャートである。
【図３０】本実施形態（実施例２）における外側の特徴線から選択する方法について説明する図である。
【図３１】本実施形態（実施例２）における３次元線分選択（ステップ２００２）の詳細処理のフローチャートである。
【図３２】本実施形態（実施例２）における対応線分を選択する方法を説明するための図である。
【図３３】本実施形態（実施例１、実施例２）における画像処理装置として用いられる情報処理装置（コンピュータ）の構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、撮影した画像に含まれる特徴点を用いてカメラの位置及び姿勢を求める方法を説明するための図である。この方法では、物体上におけるマップ点（３次元における位置）１１１の３次元座標の集合を表す３次元マップ１０１が、予め生成される。
【００１４】
次に、カメラによって画像１０２が撮影されたとき、３次元座標系１０３をカメラ座標系１０４へ変換する変換行列Ｍを用いて、マップ点１１１を投影面としての画像１０２上に投影することで、投影点１１２が求められる。そして、投影点１１２と画像１０２から検出された特徴点１１３とを対応付けることで、３次元座標系１０３におけるカメラの位置及び姿勢が推定される。なお、カメラの姿勢とはカメラの視点の方向を意味する。
【００１５】
例えば、画像１０２を撮像したカメラの位置は、３次元座標系１０３に対するカメラ座標系１０４の相対位置によって表され、カメラの姿勢は、３次元座標系１０３に対するカメラ座標系１０４の相対角度によって表される。
【００１６】
マップ点ｐの３次元座標Ｓｐ、マップ点ｐに対応する投影点の２次元座標ｘｐ’、及びマップ点ｐに対応する特徴点の２次元座標ｘｐは、次式のように記述することができる。
【００１７】
Ｓｐ＝（ｘ，ｙ，ｚ）        （１）
ｘｐ’＝（ｕ’，ｖ’）      （２）
ｘｐ＝（ｕ，ｖ）            （３）
【００１８】
この場合、画像上における投影点と特徴点との距離の二乗和Ｅは、次式により表される。
【００１９】
【数１】
2019105992.tif 000003
【００２０】
式（４）の二乗和Ｅが最小となるような変換行列Ｍを求めることで、カメラの位置及び姿勢が決定される。
【００２１】
また、投影点１１２同士を結ぶ線分を投影線１１５と称し、そのベクトルを投影線の方向ベクトルと称する。
【００２２】
図２は、３次元マップ１０１の生成方法の例を示す図である。この生成方法では、ステレオ撮影及びステレオ計測が用いられる。撮影位置２１１及び撮影位置２１２からそれぞれ撮影した画像２０１及び画像２０２がキーフレームとして用いられ、画像２０１内の特徴点２１３と画像２０２内の特徴点２１４とを対応付けることで、３次元空間内のマップ点２１５が復元される。２枚の画像内の複数の特徴点同士を対応付けることで、複数のマップ点が復元され、それらのマップ点の集合を表す３次元マップ１０１が生成される。
【００２３】
カメラの位置及び姿勢を求める際に、物体のＣＡＤデータを図１の３次元マップ１０１として使用する場合、ＣＡＤデータと物体との間で、模様又は色合いといった“見た目”の特徴が異なる場合が多い。この“見た目”の特徴が一致することを前提とした場合、画像内の特徴点とＣＡＤデータが表すマップ点との対応付けを、画像処理によって自動的に行うことが難しい。このため、ＰＣの画面上でのマウス操作によって、特徴点とマップ点との対応付けが手作業で行われることがある。この場合、以下のような問題が発生すると考えられる。
【００２４】
（Ａ）画像中から特徴点を精度よく検出することが難しい。
（Ｂ）マップ点を画像上に投影した投影点及び特徴点をマウス等で選択する操作が難しい。
（Ｃ）投影点及び特徴点を選択する操作が難しいことと、手作業の手間のため、選択する投影点と特徴点との組み合わせ（対応ペア）の個数が限られる。
（Ｄ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００２５】
そこで、特許文献１に記載されているように、画像から検出されたエッジ線と、ＣＡＤデータが表す輪郭線とを対応付ける方法も考えられる。
【００２６】
図３は、物体の撮影画像の例を示す図である。図３の撮影画像は、ある物体を被写体（対象物）として撮影した画像である。図４は、ＣＡＤデータの例を示す図である。図４のＣＡＤデータは、図３の物体に対応するＣＡＤデータである。
【００２７】
図５は、撮像画像から検出されたエッジ線と、ＣＡＤデータが表す輪郭線との対応付けの例を示す図である。以下では、図３の撮影画像と図４のＣＡＤデータとを対応付けることについて説明する。
【００２８】
まず、携帯端末装置等の画像処理装置は、図５（ａ）に示すように、エッジ検出処理を行って、図３の撮影画像からエッジ線を検出する。次に、図５（ｂ）に示すように、画像処理装置は、ＣＡＤデータが表す輪郭線と検出したエッジ線とを撮影画像中に表示する。ユーザは、撮影画像エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。その撮影画像を撮影したカメラの位置及び姿勢（カメラ視点の方向）を求めるためには、最低限４個の対応ペアを用いることが望ましい。
【００２９】
次に、画像処理装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、その撮影画像を撮影したカメラの位置及び姿勢を計算する。そして、図５（ｃ）に示すように、画像処理装置は、計算したカメラの位置及び姿勢に合わせて、ＣＡＤデータが表す輪郭線を物体の画像に重畳表示する。
【００３０】
このような対応付け方法によれば、エッジ線を精度よく検出することができ、エッジ線及び輪郭線を容易に選択することができるため、上記（Ａ）及び（Ｂ）の問題が解決されるが、以下のような問題が発生すると考えられる。
【００３１】
（Ｅ）手作業の手間のため、選択する輪郭線とエッジ線との組み合わせ（対応ペア）の個数が限られる。
（Ｆ）対応ペアの個数が少ないため、カメラの位置及び姿勢の計算精度が低下する。
【００３２】
そこで、特許文献２に記載されているように、対応ペアを自動的に追加してカメラの位置及び姿勢を再計算する方法も考えられる。対応ペアの個数を増加させることで、計算精度が向上する。しかしながら、この方法においても、所定数の初期対応ペアがユーザによって選択されており、初期対応ペアを自動的に選択する具体的な方法は記載されていない。
【００３３】
熟練者ではないユーザが目視による手作業で対応ペアを選択する場合、作業に時間がかかるとともに、選択ミスが発生する可能性がある。
【００３４】
一方、画像から検出されたエッジ線とＣＡＤデータが表す輪郭線とのすべての組み合わせを用いて、総当たり計算を行う方法も考えられる。例えば、ｍ本のエッジ線から４本のエッジ線を選択し、ｎ本の輪郭線から４本の輪郭線を選択して、４個の対応ペアを生成する場合、組み合わせの総数はｍＣ４×ｎＣ４個になる。このため、エッジ線の数及び輪郭線の数が増加すると、組み合わせの総数が膨大になり、対応ペアを生成するための計算量が増加する。
【００３５】
本実施形態では、一例として、３ＤモデルもしくはＣＡＤデータ等の３次元形状情報が存在し、およその撮影距離が判明している場合、撮影画像への３Ｄモデルの重畳では、対応線分ペアの選択を自動化してカメラの位置及び姿勢を推定することを説明する。これにより、手作業の手間を低減し、処理時間の短縮及びミスの低減を図る。
【００３６】
図６は、実施形態における画像処理装置の一例を示す図である。画像処理装置６０１は、３次元線分抽出部６０２、特徴線抽出部６０３、ペア推定部６０４、視点推定部６０５を含む。
【００３７】
３次元線分抽出部６０２は、物体の３次元形状を示す３次元形状情報から、３次元形状を形成する複数の３次元線分を抽出する。３次元線分抽出部６０２の一例としては、後述する３次元線分抽出部１７０３が挙げられる。
【００３８】
特徴線抽出部６０３は、撮像装置により対象物を撮影した撮影画像から、対象物の形状の特徴を示す複数の特徴線を抽出する。特徴線抽出部６０３の一例としては、後述する特徴線検出部１７０５が挙げられる。
【００３９】
ペア推定部６０４は、第１の分布と、第２の分布との間の距離に基づいて、複数の特徴線のうちの第１の特徴線と複数の３次元線分のうちの第１の３次元線分との１対のペアを推定する。第１の分布は、複数の特徴線の角度についての分布を示す。第２の分布は、複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す。ペア推定部６０４は、推定した１対のペアに基づいて特徴線と３次元線分とのペアを少なくとも３対推定する。ペア推定部６０４の一例としては、後述する推定部１７０６が挙げられる。
【００４０】
視点推定部６０５は、推定された少なくとも４対のペアに基づいて、撮像画像から３次元空間内における対象物に対する撮像装置の位置及び方向を推定する。視点推定部６０５の一例としては、後述する位置計算部１７０７、誤差計算部１７０８、及び決定部１７０９が挙げられる。
【００４１】
このように構成することにより、撮像装置の位置及び姿勢の推定に用いる撮影画像中の対象物の特徴線と、対応する物体の形状を表す形状情報の線分とのペアを決定するための計算量を削減することができる。
【００４２】
ペア推定部６０４は、抽出した複数の特徴線から第１の特徴線を選択し、抽出した複数の３次元線分から第１の３次元線分を選択する。ペア推定部６０４は、仮想空間において、３次元形状を回転させて第１の特徴線と第１の３次元線分とを一致させる。ペア推定部６０４は、第１の特徴線と第１の３次元線分とを一致させた３次元形状を、第１の３次元線分と、第１の特徴線と撮像装置の視点とがなす平面に対する法線と、をそれぞれ回転軸として、３次元形状を所定角度ずつ回転させる。ペア推定部６０４は、回転させる毎に複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての第２の分布を生成する。ペア推定部６０４は、生成した複数の第２の分布のそれぞれと、第１の分布との間の距離に応じて、１対のペアを推定する。
【００４３】
このように構成することにより、撮影画像から選んだ特徴線と、３次元形状情報から選んだ３次元線分とが対応する線分同士であるか推定することができる。
【００４４】
ペア推定部６０４は、１対のペアである第１のペアを推定した場合、第１のペアを形成する第１の３次元線分の第１の投影線以外の複数の投影線から、１対のペアを形成する第１の特徴線以外の第２の特徴線と角度が一致している第２の投影線を取得する。ペア推定部６０４は、第２の投影線に対応する第２の３次元線分と第２の特徴線とを選択し、第２の３次元線分と第２の特徴線を第２のペアと推定する。
【００４５】
ペア推定部６０４は、第１の投影線及び第２の投影線以外の複数の投影線から、第１の特徴線及び第２の特徴線以外の第３の特徴線と角度と位置が一致している第３の投影線を取得する。ペア推定部６０４は、第３の投影線に対応する第３の３次元線分と第３の特徴線とを選択し、第３の３次元線分と第３の特徴線を第３のペアと推定する。
【００４６】
ペア推定部６０４は、第１の投影線、第２の投影線及び第３の投影線以外の複数の投影線から、第１の特徴線、第２の特徴線及び第３の特徴線以外の第４の特徴線と角度と位置が一致している第４の投影線を取得する。ペア推定部６０４は、第４の投影線に対応する第４の３次元線分と第４の特徴線を選択し、第４の３次元線分と第４の特徴線を第４のペアと推定する。
【００４７】
このように構成することにより、第１のペアが推定された場合に、第１のペアを仮に固定して他の特徴線と３次元線分との位置や角度の関係から、他のペアを推定することができる。
【００４８】
ペア推定部６０４は、撮影画像より抽出した複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成する。ペア推定部６０４は、複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成する。
【００４９】
ペア推定部６０４は、それぞれの特徴線グループに含まれる特徴線の数、それぞれの特徴線グループに含まれる特徴線の長さ、及びそれぞれの特徴線グループにおける特徴線の位置のうち少なくとも１つの条件に基づいて、第１の特徴線を選択する。
【００５０】
ペア推定部６０４は、それぞれの３次元線分グループに含まれる３次元線分の数、及びそれぞれの３次元線分グループに含まれる３次元線分の長さのうち少なくとも１つの条件に基づいて、第１の３次元線分を選択する。
【００５１】
このように構成することにより、３次元線分の選択時の正しい対応線分ペアが得られる期待値を上げ、かつ対応線分ペアの探索処理を高速化することができる。
【００５２】
ペア推定部６０４は、撮影画像より抽出した複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成する。ペア推定部６０４は、複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成する。
【００５３】
ペア推定部６０４は、複数の特徴線グループから、最も多く特徴線を含む特徴線グループを選択する。ペア推定部６０４は、選択した特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には選択した特徴線グループにおいて外周線に対応する特徴線を第１の特徴線として選択する。ペア推定部６０４は、選択した特徴線グループに含まれるいずれかの特徴線の長さが所定の範囲を超える場合には選択した特徴線グループから最も長い特徴線を第１の特徴線として選択する。
【００５４】
ペア推定部６０４は、複数の３次元線分グループから、選択された特徴線グループに含まれる特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には１つの３次元線分グループを選択する。ペア推定部６０４は、特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択する。ペア推定部６０４は、特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には選択された特徴線グループに含まれる特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択する。ペア推定部６０４は、選択した３次元線分グループから最も長い３次元線分を第１の３次元線分として選択する。
【００５５】
このように構成することにより、３次元線分の選択時の正しい対応線分ペアが得られる期待値を上げ、かつ対応線分ペアの探索処理を高速化することができる。
【００５６】
図７は、本実施形態における画像処理の例を示すフローチャートである。図８は、本実施形態における撮像画像からの特徴線の検出の例を示す図である。図９は、本実施形態における３次元線分の検出の例を示す図である。図１０は、本実施形態における線分Ｌmdlが投影面上で線分Ｌimgと平行になるように、すなわち仮対応線分ペアの角度が一致するように、３Ｄモデルを回転させることを説明するための図である。
【００５７】
図７では、画像処理装置６０１は、撮影画像上の線分と、３Ｄモデルから選んだ線分とが対応する線分同士（対応線分）か簡易的に推定し、対応する線分同士ではないと推定した場合には３Ｄモデルの線分を選び直す。画像処理装置６０１は、対応線分同士と推定した場合、他の対応線分の組を推定し、4ペア以上の組が見つかった場合、精密な計算を行う。
【００５８】
特徴線抽出部６０３は、図８（ａ）に示すように、カメラ等で撮影された撮影画像から特徴線（撮影画像から検出した線分）を検出する（ステップ７０１）。
【００５９】
３次元線分抽出部６０２は、図９（ａ）に示すように、３ＤモデルデータもしくはＣＡＤデータ等の３次元形状情報（以下、「３Ｄモデル」と称する。）から３次元線分を検出する（ステップ７０２）。３次元線分は、３次元の形状を形成する線分を示す情報である。
【００６０】
ペア推定部６０４は、図９（ｂ）に示すように、仮想的な空間において、適当な位置にカメラと、そのカメラの視線上のおよその撮影距離に３Ｄモデルとを仮想的に配置する（ステップ７０３）。
【００６１】
ペア推定部６０４は、撮像画像上の線分Ｌimg（図８（ｂ））と、３Ｄモデル上の線分Ｌmdl（図９（ｂ））とを選択する（ステップ７０４）。この選択した線分Ｌimgと線分Ｌmdlとのペアを、説明の便宜上、仮対応線分ペアと称する。
【００６２】
ペア推定部６０４は、図１０に示すように、線分Ｌmdlが投影面上で線分Ｌimgと平行になるように、すなわち仮対応線分ペアの角度が一致するように、３Ｄモデルを回転させる（ステップ７０５）。
【００６３】
ペア推定部６０４は、線分Ｌmdlを軸としておよび、線分Ｌimgとカメラ視点とがなす平面の法線ｎを軸として、３Ｄモデルを回転させて３Ｄモデルの投影線の方向ベクトルを求める（ステップ７０６）。３Ｄモデルの投影線の方向ベクトルとは、図１で説明したように、符号１１５で表したものである。
【００６４】
図１１は、本実施形態における線分Ｌimgとカメラ視点とがなす平面の法線ｎを説明する図である。画像平面１１０１は、カメラ視点（カメラ座標系原点）１１０４から撮像される平面である。画像平面１１０１上に線分Ｌimgが存在する。線分Ｌimgは、３Ｄモデル上のエッジ１１０２に相当する。このとき、線分Ｌimgとカメラ視点とがなす平面に対して垂直方向の線分は、法線ｎで示される。
【００６５】
図１２は、本実施形態における線分Ｌmdl、法線ｎそれぞれを軸として、３Ｄモデルを回転させた場合の状態遷移を説明するための図である。図１２において、横方向は、選択した３次元線分Ｌmdlを軸として３Ｄモデルを回転させた場合の３Ｄモデルの状態遷移を示す。縦方向は、線分Ｌimgとカメラ視点とがなす平面１１０５の法線ｎを軸として３Ｄモデルを回転させた場合の３Ｄモデルの状態遷移を示す。
【００６６】
図１２に示すように、線分Ｌmdl、法線ｎそれぞれを軸として３Ｄモデルを回転させ、その回転させた状態での３Ｄモデルを形成する３次元線分の投影線の方向ベクトルを求める。
【００６７】
図７の説明に戻る。ペア推定部６０４は、撮影画像上の特徴線の方向（角度）のヒストグラムＨ１と投影線の方向（角度）のヒストグラムＨ２との距離を指標として、仮対応線分ペアが対応線分の可能性があるか否かを判断する（ステップ７０７）。ステップ７０７について、図１３〜図１６を用いて説明する。
【００６８】
図１３は、本実施形態における、撮影画像より抽出した特徴線と、仮対応線分ペアに基づいて回転させた３Ｄモデルの3次元線分との例を示す図である。撮影画像より抽出した特徴線は、ステップ７０１で得られる。
【００６９】
ステップ７０７では、ペア推定部６０４は、撮影画像より抽出した特徴線１３０１と、各回転状態にて投影面に投影した３Ｄモデル１３０２，１３０３，１３０４とを比較して、仮対応線分ペアが対応線分の可能性があるか否かを判断する。この場合に、ペア推定部６０４は、撮影画像上の特徴線の方向（角度）のヒストグラムＨ１と投影線の方向（角度）のヒストグラムＨ２との距離を指標として、仮対応線分ペアが対応線分の可能性があるか否かを判断する。
【００７０】
まずは、撮影画像上の特徴線の方向（角度）と、各回転状態における３Ｄモデルの各投影線の方向（角度）とが算出される。撮影画像上の特徴線の角度は、撮影画像上における特徴線の傾きであって、例えば、図１のカメラ座標系１０４のＸ軸に対する角度で表される。投影線の角度は、投影面における投影線の傾きであって、例えば、図１のカメラ座標系１０４のＸ軸に対する角度で表される。
【００７１】
図１４は、本実施形態における撮影画像上の特徴線の方向（角度）と、各回転状態における３Ｄモデルの各投影線の方向（角度）の例を示す図である。
【００７２】
図１４（ａ）は、撮影画像１３０１上の１５本の特徴線の方向（角度）を示す。図１４（ｂ）は、１５本の３次元線分で形成される３Ｄモデル１３０２を撮像平面（図１の画像１０２に相当）に投影した場合に得られる１５本の投影線の方向（角度）を示す。図１４（ｃ）は、１５本の３次元線分で形成される３Ｄモデル１３０３を撮像平面（図１の画像１０２に相当）に投影した場合に得られる１５本の投影線の方向（角度）を示す。図１４（ｃ）は、１５本の３次元線分で形成される３Ｄモデル１３０４を撮像平面（図１の画像１０２に相当）に投影した場合に得られる１５本の投影線の方向（角度）を示す。
【００７３】
図１５は、本実施形態における撮影画像上の特徴線の角度についてのヒストグラムと、各回転状態における３Ｄモデルの各投影線の角度についてのヒストグラムの例を示す図である。各ヒストグラム１５０１，１５０２，１５０３，１５０４の横軸は角度（３度単位）、縦軸はその角度の範囲に含まれる角度の個数（頻度）を示す。
【００７４】
ヒストグラムＨ１（１５０１）は、撮影画像１３０１上の特徴線の角度についてのヒストグラムであり、図１４（ａ）を３度単位でヒストグラム化したものである。
【００７５】
ヒストグラムＨ２（１５０２）は、３Ｄモデル１３０２の各投影線の角度についてのヒストグラムであり、図１４（ｂ）を３度単位でヒストグラム化したものである。
【００７６】
ヒストグラムＨ２（１５０３）は、３Ｄモデル１３０３の各投影線の角度についてのヒストグラムであり、図１４（ｃ）を３度単位でヒストグラム化したものである。
【００７７】
ヒストグラムＨ２（１５０４）は、３Ｄモデル１３０４の各投影線の角度についてのヒストグラムであり、図１４（ｄ）を３度単位でヒストグラム化したものである。
【００７８】
なお、ヒストグラムにおいて、頻度の集計の単位をビン（ヒストグラムのグラフの柱のこと）といい、上述のように、ヒストグラムＨ１及びヒストグラムＨ２のビンの単位及びビンの数が同じになるようにする。
【００７９】
図１６は、本実施形態における撮影画像上の特徴線の角度についてのヒストグラムＨ１と、各回転状態における３Ｄモデルの各投影線の角度についてのヒストグラムＨ２との間の距離の例を説明するための図である。
【００８０】
ここで、比較するヒストグラム同士がどれほど類似しているかを、ヒストグラム間の距離といい、以下ではｄ（ｘ1，ｘ2）で表す。ｘ1は、ヒストグラムＨ１のｎ個のビンそれぞれの頻度を要素とするｎ次元ベクトルである。ｘ2は、ヒストグラムＨ２のｎ個のビンそれぞれの頻度を要素とするｎ次元ベクトルである。
【００８１】
ヒストグラム同士が類似しているほど、ヒストグラム間の距離の値は小さくなり、ヒストグラム同士が相違しているほど、ヒストグラム間の距離の値は大きくなる。ヒストグラム間の距離の計算には様々な方法を用いることができるが、その計算方法の一例を以下に示す。
【００８２】
ここで、ヒストグラムＨ１とヒストグラムＨ２とを、同一の2次元座標系に描画する。このとき、ヒストグラムＨ１の各ビンの頂上の座標をｘ1iで表し、ヒストグラムＨ２の各ビンの頂上の座標をｘ2iで表すものとする。ｘ1iは、ベクトルｘ1のｉ番目（ｉ＝１〜ｎ）の要素である。ｘ2iは、ベクトルｘ2のｉ番目（ｉ＝１〜ｎ）の要素である。
【００８３】
・マンハッタン（Ｍａｎｈａｔｔａｎ）距離（Ｌ１ノルムなどともいう）
マンハッタン距離ｄ（ｘ1，ｘ2）は、式（５）に示すように、ヒストグラムＨ１の座標ｘ1iとヒストグラムＨ２の座標ｘ2iそれぞれの差（の絶対値）の総和を2点間の距離で表すことができる。ここで、式（５）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。
【００８４】
【数２】
2019105992.tif 000004
【００８５】
・ユークリッド（Ｅｕｃｌｉｄｅａｎ）距離（Ｌ２ノルムなどともいう）
ユークリッド距離ｄ（ｘ1，ｘ2）は、式（６）に示すように、ヒストグラムＨ１の座標ｘ1iとヒストグラムＨ２の座標ｘ2iそれぞれの差の二乗和の平方根を２点間の距離として表すことができる。ここで、式（６）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。
【００８６】
【数３】
2019105992.tif 000005
【００８７】
・Ｈｅｌｌｉｎｇｅｒ距離
Ｈｅｌｌｉｎｇｅｒ距離ｄ（ｘ1，ｘ2）は、式（７）で表される。ここで、式（７）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。
【００８８】
【数４】
2019105992.tif 000006
【００８９】
・バタチャリア（Ｂｈａｔｔａｃｈａｒｙｙａ）距離
バタチャリア距離ｄ（ｘ1，ｘ2）は、式（８）で表される。ここで、式（８）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。
【００９０】
【数５】
2019105992.tif 000007
【００９１】
・ヒストグラム交差法（Ｈｉｓｔｏｇｒａｍ  Ｉｎｔｅｒｓｅｃｔｉｏｎ）
ヒストグラム交差法は、式（９）に示すように、比較するビン毎に小さい値を選択しその総和を総数で割る方法である。ここで、式（９）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。ｍｉｎ(ｘ1i，ｘ2i)は、ｘ1iとｘ2iとのうち小さい方を選択することを示す。ヒストグラム交差法において、比較するヒストグラムが一致した場合には最大値の１で表される。
【００９２】
【数６】
2019105992.tif 000008
【００９３】
・コサイン類似度
コサイン類似度は、式（１０）に示すように、比較するヒストグラムＨ１，Ｈ２のビンの頂上の各座標をベクトルとして扱い、そのベクトル間のＣＯＳ値を求めることにより得られる。ここで、式（１０）のΣは、ｉ＝１からｉ＝ｎまでの総和を表し、ｎはヒストグラムＨ１およびヒストグラムＨ２のビンの数である。
【００９４】
【数７】
2019105992.tif 000009
【００９５】
コサイン類似度が１に近ければ近いほど、比較するヒストグラムＨ１，Ｈ２の距離は近い。すなわち比較するヒストグラムＨ１，Ｈ２が一致した場合にはコサイン類似度は、最大値の１で表される。
【００９６】
ヒストグラム間の距離は、上述した方法の他、例えば、Ｅａｒｔｈ  Ｍｏｖｅｒ‘ｓ  Ｄｉｓｔａｎｃｅ（ＥＭＤ）等を用いてもよい。
【００９７】
図１６では、ヒストグラムＨ１（１５０１）と、ヒストグラム１５０２，１５０３，１５０４とのヒストグラム間の距離を、一例として、マンハッタン距離、ユークリッド距離、ヒストグラム交差法を用いて算出している。
【００９８】
マンハッタン距離とユークリッド距離については、その距離が短いほど比較するヒストグラム間は類似していると評価される。ヒストグラム交差法では、比較するヒストグラム間が類似しているほど、値が１に近づき、一致した場合、最大値１となる。
【００９９】
図１６の表より、ヒストグラムＨ１（１５０１）と、ヒストグラムＨ２（１５０２，１５０３，１５０４）との比較では、いずれの距離計算方法を採用しても、ヒストグラムＨ１（１５０１）と、ヒストグラムＨ２（１５０３）とが類似度が最も高い。
【０１００】
このように、撮影画像より抽出した特徴線と、仮対応線分ペアに基づいて回転させた３Ｄモデルの3次元線分との画像間の類似度を、撮影画像上の特徴線の角度のヒストグラムと投影線の角度のヒストグラムとの距離を指標として、算出することができる。
【０１０１】
このとき、ヒストグラム間の距離の値が閾値以上のとき、または閾値以下のとき、撮影画像より抽出した特徴線と、仮対応線分ペアに基づいて回転させた３Ｄモデルの3次元線分との対応関係が正しいと推定することができる。この場合、ペア推定部６０４は、仮対応線分ペアが対応線分の可能性があると判定する。
【０１０２】
図７の説明に戻る。ペア推定部６０４は、仮対応線分ペアが対応線分の可能性がある場合は、線分の位置関係から他の対応線分のペアを探す（ステップ７０８）。上述したように、カメラの位置・姿勢を決定するためには、３次元線分と、特徴線とのペアが少なくとも４ペア必要である。ここでは、ペア推定部６０４は、仮対応線分ペア（１ペア）の他に、３ペアの対応線分を探す。具体的には、ペア推定部６０４は、対応線分の可能性があると判定した仮対応線分ペアを固定した場合に他の対応する線分同士の角度や位置に基づいて、他の対応線分３ペアを探す。
【０１０３】
対応線分ペアが４ペア以上見つかった場合、視点推定部６０５は、その対応線分ペアの対応付け結果に基づいて、対象物の画像から３次元空間内における対象物に対するカメラ視点の位置及び方向（カメラ位置姿勢）を算出する（ステップ７０９）。それから、視点推定部６０５は、算出したカメラ位置姿勢に対して、特徴線と3次元線分を撮影画像に投影した投影線との誤差を算出する。それから、視点推定部６０５は、ステップ７０４〜ステップ７０９を繰り返し、誤差が最小となるカメラ位置姿勢を選択して出力する。
【０１０４】
このような画像処理装置６０１によれば、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することができる。以下では、本実施形態の実施例について詳述する。
【０１０５】
図１７は、本実施形態（実施例１）における画像処理装置の一例を示す図である。画像処理装置１７０１は、３Ｄモデル読込部１７０２、３次元線分抽出部１７０３、画像取得部１７０４、特徴線検出部１７０５、ペア推定部１７０６、位置計算部１７０７、誤差計算部１７０８、決定部１７０９、出力部１７１０を含む。
【０１０６】
画像処理装置１７０１は、タブレット、ノート型ＰＣ、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型ＰＣ等の情報処理装置であってもよい。
【０１０７】
撮像装置１７４０は、例えば、カメラであり、物体を撮影して撮像画像１７２２を生成する。画像取得部１７０４は、撮像装置１７４０よって撮像された撮影画像１７２２を取得して、記憶部１７２１に格納する。記憶部１７２１は、撮像画像１７２２、３Ｄモデル１７２３、特徴線１７２５、３次元線分１７２６、対応線分ペア１７２７、粗パラメータ１７２８、指標１７２９及びパラメータ１７３０を記憶する。
【０１０８】
３Ｄモデル読込部１７０２は、撮影対象物に対応する３Ｄモデル１７２３を読み込み、記憶部１７２１に格納する。３Ｄモデル１７２３は、上述の通り、３次元形状情報の一例であって、物体の３次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の３次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報を含む。
【０１０９】
３次元線分抽出部１７０３は、３Ｄモデル１７２３における物体の輪郭線（３次元線分）を抽出し、３次元線分１７２６として記憶部１７２１に格納する。３次元線分抽出部１７０３は、上述の３次元線分抽出部６０２に対応する。
【０１１０】
特徴線検出部１７０５は、エッジ検出処理を行って、撮影画像１７２２から複数のエッジ線を検出し、検出したエッジ線を特徴線１７２５として記憶部１７２１に格納する。特徴線検出部１７０５は、上述の特徴線抽出部６０３に対応する。
【０１１１】
ペア推定部１７０６は、検出した複数の特徴線から１つの特徴線と、抽出した複数の３次元線分から１つの３次元線分を選択して対応線分ペアを推定し、推定した対応線分ペアに基づいて他の対応線分ペアも推定する。本実施形態では、ペア推定部１７０６は、図７のステップ７０３〜ステップ７０８の処理を行って、Ｎ（ここで、Ｎ≧４）対の対応線分ペア１７２７を推定し、記憶部１７２１に記憶する。ペア推定部１７０６は、上述のペア推定部６０４に対応する。
【０１１２】
位置計算部１７０７は、選択された対応線分ペアを用いてカメラの位置・姿勢の推定値（ここでの推定値は、誤差修正前の値なので、以下、「粗推定値」と称する）を算出する。すなわち、位置計算部１７０７は、Ｎ対の対応線分ペア１７２７を用いて、撮影画像１７２２を撮影したときの撮像装置１７４０の位置及び姿勢の粗推定値を計算し、計算した粗推定値を粗パラメータ１７２８として記憶部１７２１に格納する。
【０１１３】
このとき、位置計算部１７０７は、撮像装置１７４０の位置及び姿勢を表す粗推定値の変数を所定値ずつ変更しながら、各対応線分ペアに含まれる３次元線分を撮影画像１７２２上に投影することで、投影線を生成する。
【０１１４】
誤差計算部１７０８は、算出したカメラ位置姿勢の粗推定値に対して、特徴線と3次元線分を撮影画像に投影した投影線との誤差を算出する。すなわち、誤差計算部１７０８は、位置計算部１７０７が生成した投影線の位置と、その対応線分ペアに含まれる特徴線の位置との間のずれを表す誤差を計算する。そして、位置計算部１７０７は、誤差計算部１７０８が計算した誤差の総和が最小となる変数の値を、粗パラメータ１７２８として求める。
【０１１５】
位置計算部１７０７は、Ｎ個の対応線分ペアの選択を変更しながら、粗パラメータ１７２８を計算する処理を複数回繰り返す。
【０１１６】
決定部１７０９は、ペア推定部１７０６、位置算出部１７０７、及び誤差計算部１７０８の処理を所定の回数もしくは所定の誤差未満になるまで繰り返し実行し、誤差が最小となるカメラ位置姿勢を推定値として決定する。
【０１１７】
すなわち、決定部１７０９は、粗パラメータ１７２８が計算される度に、その粗パラメータ１７２８が表す撮像装置１７４０の位置及び姿勢を用いて、位置計算部１７０７が選択したＮ個の対応線分ペアに含まれる３次元線分を撮影画像１７２２上に投影する。これにより、決定部１７０９は、Ｎ本の投影線を生成する。そして、決定部１７０９は、誤差計算部１７０８と同様にして、Ｎ本の投影線の位置とＮ本の特徴線の位置との間の誤差の総和を計算し、計算した誤差の総和を指標１７２９として記憶部１７２１に格納する。
【０１１８】
次に、決定部１７０９は、それぞれの粗パラメータ１７２８を用いて計算した指標１７２９に基づいて、誤差の総和が最小となるＮ個の対応線分ペアを決定する。これらのＮ個の対応線分ペアは、対応付け結果に対応する。そして、決定部１７０９は、決定したＮ個の対応線分ペアを用いて、３次元空間内における撮像装置１７４０の位置及び姿勢を計算し、計算した位置及び姿勢をパラメータ１７３０として記憶部１７２１に格納する。
【０１１９】
位置計算部１７０７、誤差計算部１７０８及び決定部１７０９は、上述の視点推定部６０５に対応する。出力部１７１０は、パラメータ１７３０を処理結果として出力する。
【０１２０】
このような画像処理装置１７０１によれば、ユーザが選択操作を行うことなく、３Ｄモデル１７２３から検出された３次元線分と撮影画像１７２２から検出された特徴線との対応線分ペアを自動的に生成することができる。このとき、生成部１７０７によって、対応線分ペアの生成に用いる３次元線分及び特徴線が絞り込まれるため、総当たり計算を行う場合と比較して、少なくとも４対の対応線分ペアを決定するための計算量が大幅に削減される。
【０１２１】
図１８は、本実施形態（実施例１）におけるペア推定部の機能ブロック図である。ペア推定部１７０６は、特徴線選択部１８０１、３次元線分選択部１８０２、初期設定部１８０３、回転制御部１８０４、特徴線角度ヒストグラム生成部１８０５、投影線角度ヒストグラム生成部１８０６として機能する。さらに、ペア推定部１７０６は、ヒストグラム距離算出部１８０７、及び仮ペア判定部１８０８として機能する。
【０１２２】
特徴線選択部１８０１は、特徴線抽出部１７０５により検出された複数の特徴線からいずれか１つの特徴線を選択する。３次元線分選択部１８０２は、３次元線分抽出部１７０３により抽出された複数の３次元線分からいずれか１つの３次元線分を選択する。
【０１２３】
初期設定部１８０３は、図９及び図１０で説明したように、選択した3次元線分が選択した特徴線と同じ方向に見えるように、３Ｄモデル１７２３を回転させる。
【０１２４】
回転制御部１８０４は、図１２で説明したように、選択した３次元線分の投影方向が変わらないように３Ｄモデル１７２３を回転させる。すなわち、回転制御部１８０４は、線分Ｌmdlを軸としておよび、線分Ｌimgとカメラ視点とがなす平面の法線ｎを軸として、３Ｄモデル１７２３を所定角度ずつ回転させる。
【０１２５】
特徴線角度ヒストグラム生成部１８０５は、図７のステップ７０７で説明したように、特徴線抽出部１７０５により検出された複数の特徴線の方向（角度）についてのヒストグラムＨ１を算出する。
【０１２６】
投影線角度ヒストグラム生成部１８０６は、図７のステップ７０７で説明したように、複数の３次元線分により形成される３Ｄモデル１７２３を投影面に投影した場合の３Ｄモデルの投影線の方向（角度）についてのヒストグラムＨ２を算出する。
【０１２７】
ヒストグラム距離算出部１８０７は、図７のステップ７０７で説明したように、徴線の角度についてのヒストグラムＨ１と３Ｄモデルの投影線の方向（角度）のヒストグラムＨ２との距離を算出する。
【０１２８】
仮ペア判定部１８０８は、ヒストグラム間の距離から選択した3次元線分と選択した特徴線との組み合わせが正しい対応関係の可能性があるかを判定する。正しい対応関係の可能性がある場合には、仮ペア判定部１８０８は、その選択した3次元線分とその選択した特徴線との組み合わせを基準として、他の３次元線分の投影線の位置関係と特徴線との位置関係性をチェックして、仮対応線分ペアの正当性を判定する。
【０１２９】
図１９は、本実施形態（実施例１）における画像処理の具体例を示すフローチャートである。まず、３Ｄモデル読込部１７０２は、３Ｄモデル１７２３を読み込み、記憶部１７２１に格納する（ステップ１９０１）。３次元線分抽出部１７０３は、読み込んだ３Ｄモデル１７２３から複数の３次元線分１７２６を抽出する（ステップ１９０２）。
【０１３０】
画像取得部１７０４は、撮像装置１７４０から撮影画像１７２２を取得する（ステップ１９０３）。特徴線検出部１７０５は、撮影画像１７２２から複数の特徴線１７２５を検出する（ステップ１９０４）。
【０１３１】
ペア推定部１７０６（特徴線角度ヒストグラム生成部１８０５）は、図７のステップ７０７で説明したように、検出した各特徴線の方向（角度）を算出し、ｄ（ｄ：整数）度単位で、角度についてのヒストグラムＨ１を生成する（ステップ１９０５）。
【０１３２】
ペア推定部１７０６は、対応線分ペアの推定処理を実行する（ステップ１９０６）。ステップ１９０６の詳細については、図２０を用いて説明する。
【０１３３】
図２０は、本実施形態（実施例１）における対応線分ペアの推定処理（ステップ１９０６）の詳細処理のフローチャートである。ペア推定部１７０６は、図９（ｂ）に示すように、仮想的な空間において、適当な位置にカメラと、その視線上のおよその撮影距離に３Ｄモデル１７２３とを仮想的に配置する。
【０１３４】
特徴線選択部１８０１は、ステップ１９０４で検出した特徴線の中から１本の特徴線Ｌimgを選択する（ステップ２００１）。３次元線分選択部１８０２は、ステップ１９０２で検出した３次元線分１７２６から１本の３次元線分Ｌmdlを選択する（ステップ２００２）。
【０１３５】
初期設定部１８０３は、この選択した線分Ｌimgと線分Ｌmdlとのペアを、仮対応線分ペアと設定する。初期設定部１８０３は、図７のステップ７０５で説明したように、線分Ｌmdlが投影面上で線分Ｌimgと平行になるように、すなわち仮対応線分ペアの角度が一致するように、３Ｄモデル１７２３を回転させる（ステップ２００３）。
【０１３６】
回転制御部１８０４は、図７のステップ７０６で説明したように、線分Ｌmdlを軸としておよび、線分Ｌimgとカメラ視点とがなす平面の法線ｎを軸として、３Ｄモデル１７２３を所定角度ずつ回転させる。回転制御部１８０４は、３Ｄモデル１７２３を所定角度ずつ回転させる毎に、３Ｄモデル１７２３を投影面に投影させ、投影面上の全ての投影線の方向ベクトル（角度）を求める（ステップ２００４）。
【０１３７】
投影線角度ヒストグラム生成部１８０６は、図７のステップ７０７で説明したように、ｄ（ｄ：整数）度単位で、検出した各投影線の角度についてのヒストグラムＨ２を生成する（ステップ２００５）。
【０１３８】
ヒストグラム距離算出部１８０７は、図７のステップ７０７で説明したように、特徴線の角度についてのヒストグラムＨ１と、投影線の角度についてのヒストグラムＨ２との間の距離を算出する（ステップ２００６）。
【０１３９】
仮ペア判定部１８０８は、採用した距離の算出方法に応じて、算出された距離を評価する。例えば、採用した距離の算出方法がマンハッタン距離算出法やユークリッド距離算出法であるとする。このとき、算出された距離が閾値以下である場合には、仮ペア判定部１８０８は、仮対応線分ペアは対応線分ペアの可能性があると判定する（ステップ２００７で「ＹＥＳ」）。算出された距離が閾値より大きい場合には、仮ペア判定部１８０８は、仮対応線分ペアは対応線分ペアの可能性がないと判定する（ステップ２００７で「ＮＯ」）。
【０１４０】
また、例えば、採用した距離の算出方法がヒストグラム交差法であるとする。このとき、算出された距離が閾値以上である場合には、仮ペア判定部１８０８は、仮対応線分ペアは対応線分ペアの可能性があると判定する（ステップ２００７で「ＹＥＳ」）。算出された距離が閾値未満の場合には、仮ペア判定部１８０８は、仮対応線分ペアは対応線分ペアの可能性がないと判定する（ステップ２００７で「ＮＯ」）。
【０１４１】
仮対応線分ペアは対応線分ペアの可能性があると判定された場合、仮ペア判定部１８０８は、他の３対の対応線分ペアを推定する（ステップ２００８）。ステップ２００８については、図２１で説明する。
【０１４２】
仮対応線分ペアは対応線分ペアの可能性がないと判定された場合（ステップ２００７で「ＮＯ」）、ステップ２００８の処理により計４対の対応線分ペアが見つからなかった場合（ステップ２００９で「ＮＯ」）、ステップ２０１０の処理が行われる。すなわち、仮ペア判定部１８０８は、３Ｄモデル１７２３を回転させた場合の全ての位置について、ステップ２００３以降の処理が済んだかを判定する。３Ｄモデル１７２３を回転させた場合の全ての位置とは、図１２で説明したように、３次元線分Ｌmdlを軸として、線分Ｌimgとカメラ視点とがなす平面の法線ｎを軸として、各軸について３Ｄモデル１７２３を、例えば１度ずつ回転させて場合の全ての位置を表す。
【０１４３】
３Ｄモデル１７２３を回転させた場合の全ての位置について処理が完了していない場合（ステップ２０１０で「ＮＯ」）、回転制御部１８０４は、処理が完了していない位置に３Ｄモデル１７２３を回転させる（ステップ２００３）。
【０１４４】
計４対の対応線分ペアが見つからない場合に、３Ｄモデル１７２３を回転させた場合の全ての位置について処理が完了するまで、仮ペア判定部１８０８は、ステップ２００３〜ステップ２０１０の処理を繰り返す。
【０１４５】
３Ｄモデル１７２３を回転させた場合の全ての位置について処理が完了した場合（ステップ２０１０で「ＹＥＳ」）、仮ペア判定部１８０８は、未選択の３次元線分があるかを判定する（ステップ２０１１）。未選択の３次元線分がある場合には（ステップ２０１１で「ＹＥＳ」）、３次元線分選択部１８０２は、その未選択の３次元線分の中から１本を選択して、ステップ２００２以降の処理を行う。
【０１４６】
計４対の対応線分ペアが見つからない場合に、全ての３次元線分について処理が完了するまで、仮ペア判定部１８０８は、ステップ２００２〜ステップ２０１１の処理を繰り返す。
【０１４７】
計４対の対応線分ペアが見つからない場合に、全ての３次元線分について処理が完了した場合（ステップ２０１１で「ＮＯ」）、特徴線選択部１８０１は、未選択の特徴線の中から１本を選択して、ステップ２００１以降の処理を行う。
【０１４８】
計４対の対応線分ペアが見つからない場合に、全ての特徴線について処理が完了するまで、仮ペア判定部１８０８は、ステップ２００１〜ステップ２０１１の処理を繰り返す。
【０１４９】
計４対の対応線分ペアが見つかった場合（ステップ２００９で「ＹＥＳ」）、ペア推定部１７０６は、本フローを終了する。
【０１５０】
図２１は、本実施形態（実施例１）における他の３対の対応線分ペアを推定する処理（ステップ２００８）の詳細処理のフローチャートである。ステップ２００２で設定した仮対応線分ペアは特徴線Ｌimgと３次元線分Ｌmdlで形成されている。ここで、図２１の説明の便宜上、特徴線Ｌimgを第１の特徴線といい、３次元線分Ｌmdlの投影線を第１の投影線という。また、特徴線Ｌimgと３次元線分Ｌmdlとのペア、すなわち対応線分ペアの可能性があると判定された仮対応線分ペアを、第１の対応線分ペアと称する。
【０１５１】
仮ペア判定部１８０８は、ステップ２００４で得られた３Ｄモデル１７２３の投影線の中から（但し、第１の投影線を除く）、エッジの角度が特徴線と一致している投影線を第２の投影線として選択する（ステップ２１０１）。
【０１５２】
仮ペア判定部１８０８は、ステップ１９０４で検出した特徴線の中から（但し、第１の特徴線を除く）、ステップ２１０１で選択した投影線と角度が一致する特徴線を第２の特徴線として選択する（ステップ２１０２）。このとき、仮ペア判定部１８０８は、第２の特徴線と、第２の投影線に対応する３次元線分とのペアを第２の対応線分ペアと推定する。
【０１５３】
仮ペア判定部１８０８は、スケーリング調整処理を行う（ステップ２１０３）。カメラのＺ方向は暫定値を用いてこれまで処理を行っていたので、ペア推定部１７０６は、３Ｄモデルの投影サイズを調整する。
【０１５４】
仮ペア判定部１８０８は、ステップ２００４で得られた３Ｄモデル１７２３の投影線の中から（但し、第１の投影線及び第２の投影線を除く）、エッジの角度が特徴線と一致している投影線を第３の投影線として選択する（ステップ２１０４）。
【０１５５】
仮ペア判定部１８０８は、ステップ１９０４で検出した特徴線の中から（但し、第１の特徴線及び第２の特徴線を除く）、第３の投影線と角度及び位置が適合する特徴線、すなわち第３の特徴線があるかを判定する（ステップ２１０５）。
【０１５６】
第３の特徴線がない場合（ステップ２１０５で「ＮＯ」）、仮ペア判定部１８０８は、未選択の投影線について、ステップ２１０１以降の処理を行う。すなわち、仮ペア判定部１８０８は、未選択の投影線の中から（但し、第１の投影線を除く）、エッジの角度が特徴線と一致している投影線を第２の投影線として選択し（ステップ２１０１）、上記と同様に処理を繰り返す。
【０１５７】
第３の特徴線がある場合（ステップ２１０５で「ＹＥＳ」）、仮ペア判定部１８０８は、第３の特徴線と、第３の投影線に対応する３次元線分とのペアを第３の対応線分ペアと推定する。
【０１５８】
それから、仮ペア判定部１８０８は、ステップ２００４で得られた３Ｄモデル１７２３の投影線の中から（但し、第１〜第３の投影線を除く）、エッジの角度及び位置が特徴線と適合している投影線を第４の投影線として選択する（ステップ２１０６）。
【０１５９】
仮ペア判定部１８０８は、ステップ１９０４で検出した特徴線の中から（但し、第１〜第３の特徴線を除く）、第４の投影線と角度及び位置が適合する特徴線、すなわち第４の特徴線があるかを判定する（ステップ２１０７）。
【０１６０】
第４の特徴線がある場合（ステップ２１０７で「ＹＥＳ」）、仮ペア判定部１８０８は、第４の特徴線と、第４の投影線に対応する３次元線分とのペアを第４の対応線分ペアと推定する。この場合、仮ペア判定部１８０８は、計４対の対応線分ペアが存在すると判定する（ステップ２１１０）。
【０１６１】
第４の特徴線がない場合（ステップ２１０７で「ＮＯ」）、仮ペア判定部１８０８は、未選択の投影線について、ステップ２１０１以降の処理を行う（ステップ２１０８で「ＮＯ」）。すなわち、仮ペア判定部１８０８は、未選択の投影線の中から（但し、第１の投影線を除く）、エッジの角度が特徴線と一致している投影線を第２の投影線として選択し（ステップ２１０１）、上記と同様に処理を繰り返す。全ての投影線（但し、第１の投影線を除く）について、ステップ２１０１〜ステップ２１０８の処理を行う。
【０１６２】
全ての投影線（但し、第１の投影線を除く）について、ステップ２１０１〜ステップ２１０８の処理が完了した場合（ステップ２１０８で「ＹＥＳ」）、仮ペア判定部１８０８は、計４対の対応線分ペアが存在しないと判定する（ステップ２１０９）。
【０１６３】
図１９の説明に戻る。対応線分ペアの推定処理（ステップ１９０６）後、位置計算部１７０７は、Ｎ（本実施例ではＮ＝４）対の対応線分ペア１７２７を用いて粗カメラ位置姿勢を示すパラメータ（以下、「粗パラメータ」と称する）を算出する（ステップ１９０７）。粗カメラ位置姿勢とは、誤差を含むカメラ位置姿勢を示す。
【０１６４】
図２２は、本実施形態（実施例１）における対応線分ペアの例を示す図である。この例では、３次元線分２２１１〜３次元線分２２１４が特徴線２２０１〜特徴線２２０４とそれぞれ対応付けられて、４個の対応線分ペアが形成されている。
【０１６５】
ステップ１９０７において、位置計算部１７０７は、例えば、最小二乗法を用いて粗パラメータ１７２８を計算することができる。この場合、位置計算部１７０７は、撮像装置１７４０の位置及び姿勢を表す変数を所定値ずつ変更しながら、各対応線分ペアに含まれる３次元線分を撮影画像１７２２上に投影することで、投影線を生成する。
【０１６６】
誤差計算部１７０８は、投影線の位置と、その対応線分ペアに含まれる特徴線の位置との誤差Ｅｉ（ｉ＝１〜Ｎ）を評価し、４個の対応線分ペアに対する二乗誤差の総和Ｅが最小となる変数の値を、粗パラメータ１７２８として求める。二乗誤差の総和Ｅは、次式（１１）により計算される。
【０１６７】
【数８】
2019105992.tif 000010
【０１６８】
誤差計算部１７０８は、例えば、図２３または図２４に示すような方法で、誤差Ｅｉを計算することができる。図２３は、投影線と特徴線との間の領域の面積に基づく計算方法の例を示している。ｉ番目の対応線分ペアに含まれる投影線が線分２３０１であり、特徴線が線分２３０２である場合、線分２３０１の両端と線分２３０２の両端とをそれぞれ結ぶ線分２３０３及び線分２３０４を定義することができる。この場合、線分２３０１〜線分２３０４によって囲まれた領域の面積Ａｉを、誤差Ｅｉとして用いることができる。
【０１６９】
Ｅｉ＝Ａｉ      （１２）
【０１７０】
面積Ａｉが小さいほど、誤差Ｅｉは小さくなり、線分２３０１が線分２３０２に重なっている場合、誤差Ｅｉは０になる。
【０１７１】
図２４は、投影線と特徴線との間の距離に基づく計算方法の例を示している。線分２３０２の両端から線分２３０１上へ下ろした垂線２４０１及び垂線２４０２の長さを、それぞれ、Ｌｉ１及びＬｉ２とする。この場合、Ｌｉ１及びＬｉ２の和を、誤差Ｅｉとして用いることができる。
【０１７２】
Ｅｉ＝Ｌｉ１＋Ｌｉ２      （１３）
【０１７３】
Ｌｉ１及びＬｉ２が短いほど、誤差Ｅｉは小さくなり、線分２３０１が線分２３０２に重なっている場合、誤差Ｅｉは０になる。
【０１７４】
次に、決定部１７０９は、粗パラメータ１７２８が表す撮像装置１７４０の位置及び姿勢を用いて、Ｎ個の対応線分ペアに含まれる３次元線分を撮影画像１７２２上に投影することで、Ｎ本の投影線を生成する（ステップ１９０８）。
【０１７５】
次に、決定部１７０９は、Ｎ本の投影線の位置とＮ本の特徴線の位置との間の誤差の総和を表す指標１７２９を計算し（ステップ１９０９）、指標１７２９の計算を所定回数行ったか否かをチェックする（ステップ１９１０）。指標１７２９の計算を所定回数行っていない場合（ステップ１９１０で「Ｎｏ」）、位置計算部１７０７は、Ｎ個の対応線分ペアの選択を変更し（ステップ１９０６）、画像処理装置１７０１は、ステップ１９０７以降の処理を繰り返す。
【０１７６】
指標１７２９の計算を所定回数行った場合（ステップ１９１０で「Ｙｅｓ」）、決定部１７０９は、誤差の総和が最小となるＮ個の対応線分ペアを選択する（ステップ１９１１）。そして、決定部１７０９は、それらの対応線分ペアに基づいてカメラ位置姿勢を示すパラメータ（以下、「パラメータ」と称する）１７３０を計算する（ステップ１９１２）。そして、出力部１７１０は、選択されたＮ個の対応線分ペア及びパラメータ１７３０を出力する（ステップ１９１３）。
【０１７７】
本実施形態の画像処理によれば、Ｎ個の対応線分ペアの選択を自動的に変更しながら指標１７２９の計算を繰り返すことで、誤差の総和が最小となるＮ個の対応線分ペアを求めることができる。これにより、ユーザによる選択操作の作業時間が削減され、処理時間が短縮されるとともに、撮像装置１７４０の位置及び姿勢の推定精度が向上する。
【０１７８】
また、ヒューマンエラーに起因する選択ミスがなくなるため、選択のやり直しによる処理時間の増加が発生しない。熟練者でなくても最適なＮ個の対応線分ペアを求めることができるため、対応付け結果を適用する作業の種類及び対象者を拡大することが可能になる。
【０１７９】
なお、図１９のステップ１９１０において、画像処理装置１７０１は、指標１７２９の計算を所定回数行った場合に繰り返し処理を打ち切る代わりに、指標１７２９が表す誤差が所定値よりも小さくなった場合に繰り返し処理を打ち切ってもよい。
【０１８０】
また、ステップ１９０７及びステップ１９０９において、画像処理装置１７０１は、投影線の位置と特徴線の位置との間の誤差の代わりに、投影線と特徴線との間の類似度を評価してもよい。投影線と特徴線との間の類似度としては、例えば、特許文献３に記載された２本の線分の類似度を用いることができる。この場合、ステップ１９０７において、類似度の総和が最大となる粗パラメータ１７２８が求められ、ステップ１９１１において、類似度の総和が最大となるＮ個の対応線分ペアが選択される。
【０１８１】
ところで、ステップ９１１において選択されたＮ個の対応線分ペアの誤差の総和が最小であったとしても、各投影線が各特徴線を１８０度回転させた線分を表していることがある。
【０１８２】
図２５は、１８０度回転した線分の例を示している。図２５の投影線及び特徴線のうち、投影線２５１２は、特徴線２５０２と重なっている。一方、投影線２５１１、投影線２５１３、及び投影線２５１４は、投影線２５１２を軸として、特徴線２５０２、特徴線２５０３、及び特徴線２５０４をそれぞれ１８０度回転させた線分に対応する。この場合、式（１２）の面積Ａｉはほぼ０になるため、誤差の総和が最小になる可能性がある。
【０１８３】
そこで、このような対応付けを禁止するために、決定部１７０９は、次のような条件を満たすＮ個の対応線分ペアの中から、誤差の総和が最小となるＮ個の対応線分ペアを選択してもよい。
【０１８４】
（Ｃ１１）Ｎ本の投影線のうち、所定の割合の投影線が撮像画像１７２２内に含まれている。
（Ｃ１２）Ｎ本の投影線のうち、所定の割合の投影線が撮像画像１７２２内の所定位置の近傍に存在する。
（Ｃ１３）撮像画像１７２２の面積に対するＮ本の投影線の分布範囲の割合が所定値以上である。
【０１８５】
図２６は、粗パラメータ１７２８の計算に適していない３次元線分の例を示す図である。図２６（ａ）は、互いに平行な４本の３次元線分を示している。４本の３次元線分が平行である場合、矢印２６０１の方向に３次元線分を並行移動させても誤差が変化せず、３次元線分の位置を固定することが困難になることがある。
【０１８６】
図２６（ｂ）は、同一直線上に存在する２本の３次元線分を示している。２本の３次元線分が同一直線上に存在する場合、矢印２６０２の方向に３次元線分を拡大又は縮小させても誤差が変化せず、スケールを固定することが困難になることがある。
【０１８７】
そこで、図９のステップ９０６において、ペア推定部１７０６は、次のような条件を満たすＮ本の３次元線分を選択して、Ｎ個の対応線分ペアを生成してもよい。
【０１８８】
（Ｃ２１）Ｎ本の３次元線分のうち少なくとも２本の３次元線分は平行ではない。
（Ｃ２２）Ｎ本の３次元線分のうちいずれの２本の３次元線分も同一直線上に存在しない。
【０１８９】
同様の理由から、ペア推定部１７０６は、次のような条件を満たすＮ本の特徴線を選択して、Ｎ個の対応線分ペアを生成してもよい。
【０１９０】
（Ｃ３１）Ｎ本の特徴線のうち少なくとも２本の特徴線は平行ではない。
（Ｃ３２）Ｎ本の特徴線のうちいずれの２本の特徴線も同一直線上に存在しない。
【０１９１】
次に、本実施形態（実施例２）について説明する。実施例１では、対応線分ペアの推定処理（ステップ１９０６）において、対応線分ペアを見つけるに際し、特徴線及び３次元線分を順次検索した。それに対して、実施例２では、より適切な対応線分ペアが得られる期待値を上げると共に、より早く対応線分ペアが得られるように、特徴線及び３次元線分を選択する。
【０１９２】
実施例２の画像処理装置は、図１７の画像処理装置のペア推定部１７０６の機能が一部相違し、それ以外の構成、機能及び処理は、特段の言及がない限り、実施例１と同じである。また、実施例２において、実施例１と同様の構成、機能及び処理については、同一の符号で示し、その説明を省略する。
【０１９３】
図２７は、本実施形態（実施例２）におけるペア推定部の機能ブロック図である。図２７は、図１８のペア推定部の機能ブロック図に、特徴線グループ作成部２７０３、３次元線分グループ作成部２７０４が追加され、特徴線選択部１８０１が特徴線選択部２７０１に置換され、３次元選択部１８０２が３次元選択部２７０２に置換されている。
【０１９４】
特徴線グループ作成部２７０１は、図１９のステップ１９０４において検出された特徴線を、同一方向（平行）のもの同士でグループ化する。このとき、同一方向の程度に関しては、一定の誤差は許容されるものとする。グループ化された特徴線を特徴線グループと称する。
【０１９５】
３次元線分グループ作成部２７０４は、図１９のステップ１９０２において検出された３次元線分を、同一方向（平行）のもの同士でグループ化する。グループ化された３次元線分を３次元線分グループと称する。
【０１９６】
特徴線選択部２７０１は、特徴線グループ内の特徴線の数が多い特徴線グループから選択する。特徴線選択部２７０１は、選択した特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には、選択した特徴線グループにおいて外側から特徴線を選択する。特徴線選択部２７０１は、選択した特徴線グループに含まれるいずれかの特徴線の長さが所定の範囲を超える場合には、選択した特徴線グループから最も長い特徴線を選択する。
【０１９７】
３次元選択部２７０２は、複数の３次元線分グループから、選択された特徴線グループに含まれる特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には、その１つの３次元線分グループを選択する。３次元選択部２７０２は、特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択する。３次元選択部２７０２は、特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には、選択された特徴線グループに含まれる特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択する。３次元選択部２７０２は、選択した３次元線分グループから最も長い３次元線分を選択する。
【０１９８】
なお、ヒストグラム距離で仮対応が否定された場合、仮ペア判定部１８０８は、他の３次元線分グループから次の仮対応線分ペアを選択する。仮ペア判定部１８０８は、他の対応線分ペアが見つからず仮対応が否定された場合、仮ペア判定部１８０８は、同一の３次元線分グループの３次元線分で近傍の回転角の方向ベクトル分布から対応線分ペアを探索する。
【０１９９】
図２８は、本実施形態（実施例２）における画像処理の具体例を示すフローチャートである。図２８のフローチャートは、図１９のフローチャートに、ステップ２８０１及びステップ２８０２を追加したものである。
【０２００】
ステップ１９０１〜ステップ１９０５の処理後、特徴線グループ作成部２７０１は、図１９のステップ１９０４において検出された特徴線を、同一方向（平行）のもの同士でグループ化する（ステップ２８０１）。このとき、同一方向の程度に関しては、一定の誤差は許容されるものとする。
【０２０１】
３次元線分グループ作成部２７０４は、図１９のステップ１９０２において検出された３次元線分を、同一方向（平行）のもの同士でグループ化する（ステップ２８０２）。
【０２０２】
その後、ステップ１９０６以降の処理を行う。但し、実施例２では、ステップ１９０６の処理内のステップ２００１及びステップ２００２について改良されているので、以下ではこれらについて説明する。
【０２０３】
図２９は、本実施形態（実施例２）における特徴線選択（ステップ２００１）の詳細フローチャートである。図２９は、図２０の特徴線選択（ステップ２００１）を詳細にしたフローチャートである。
【０２０４】
特徴線選択部２７０１は、未選択の特徴線グループのうち、特徴線を最も多く保有している特徴線グループを選択する（ステップ２９０１）。
【０２０５】
特徴線選択部２７０１は、選択した特徴線グループに含まれる特徴線同士の長さが同じ程度であるか否かを判定する（ステップ２９０２）。例えば、選択した特徴線グループに含まれる特徴線の長さの標準偏差を算出して、全ての特徴線の長さが所定の範囲以内に収まる場合には、特徴線選択部２７０１は、全ての特徴線の長さは同程度であると判定する。例えば、選択した特徴線グループに含まれる特徴線の長さの標準偏差を算出して、選択した特徴線グループに含まれる全ての特徴線の長さが所定の範囲以内に収まらない場合には、特徴線選択部２７０１は、全ての特徴線の長さは同程度でないと判定する。
【０２０６】
ステップ２９０２において、全ての特徴線の長さは同程度でないと判定した場合（ステップ２９０２で「ＮＯ」）、特徴線選択部２７０１は、選択した特徴線グループにおいて、未選択の特徴線のうち、最も長い特徴線を選択する（ステップ２９０３）。長い特徴線から選択するのは、長い線分ほどその線分の角度精度が高いためである。
【０２０７】
ステップ２９０２において、全ての特徴線の長さは同程度であると判定した場合（ステップ２９０２で「ＹＥＳ」）、特徴線選択部２７０１は、選択した特徴線グループにおいて、未選択の特徴線のうち、最も外側にある特徴線を第１の特徴線として選択する（ステップ２９０４）。外側の線分から選択するのは、他に選択する線分との相対距離が長くなることが期待でき、結果的に間違った対応の場合のズレが大きく出ることが期待できるためである。
【０２０８】
ここで外側の特徴線から選択する方法としては、例えば、外周線から先に選択する方法ある。ここで、外周線か否かは、例えば平行な複数の線分のグループにおいて、ある特徴線の一方の側に特徴線があって、他方の側には特徴線がないかで判断することができる。
【０２０９】
図３０は、本実施形態（実施例２）における外側の特徴線から選択する方法について説明する図である。図３０において、特徴線３００１，３００２，３００３は、およそ平行なもの同士なので、同一グループである。このとき、特徴線３００２は、その両側に特徴線３００１，３００３があるから、外周線に該当しない。一方、特徴線３００３の左側には特徴線３１０２があるが、特徴線３００３の左側には特徴線がないので、特徴線３１０３は、外周線に該当する。
【０２１０】
また、外側の特徴線から選択する他の方法としては、例えば、同じ長さの外周線が複数ある場合、もしくは、外周線ではない線分から選ぶ方法がある。例えば、特徴線選択部２７０１は、全線分の中点の重心との距離が遠い特徴線から選択してもよい。また、例えば、線分を延長した直線上の任意の点と他の線分上の任意の点との間の最大距離が長い特徴線から選択してもよい。
【０２１１】
図３１は、本実施形態（実施例２）における３次元線分選択（ステップ２００２）の詳細処理のフローチャートである。図３１は、図２０の特徴線選択（ステップ２００２）を詳細にしたフローチャートである。
【０２１２】
３次元線分選択部２７０２は、未選択の３次元線分グループのうち、選択した特徴線グループ内の特徴線の本数以上の本数を有する３次元線分グループがあるかを判定する（ステップ３１０１）。
【０２１３】
未選択の３次元線分グループのうち、選択した特徴線グループ内の特徴線の本数（Ｍ１）以上の本数を有する３次元線分グループがある場合（ステップ３１０１で「ＹＥＳ」）、３次元線分選択部２７０２は、次を行う。すなわち、３次元線分選択部２７０２は、Ｍ１以上Ｍ１に最も近い本数（Ｍ２）を有する３次元線分グループを選択する（ステップ３１０３）。選択の結果、Ｍ１以上でＭ１に最も近い本数（Ｍ２）を有する３次元線分グループが１グループ選択された場合（ステップ３１０４で「ＹＥＳ」）、３次元線分選択部２７０２は、ステップ３１０６の処理を行う。
【０２１４】
選択の結果、Ｍ１以上でＭ１に最も近い本数（Ｍ２）を有する３次元線分グループが複数グループ選択された場合（ステップ３１０４で「ＮＯ」）、３次元線分選択部２７０２は、より長い３次元線分を有する３次元線分グループを選択する（ステップ３１０５）。
【０２１５】
未選択の３次元線分グループのうち、選択した特徴線グループ内の特徴線の本数（Ｍ１）以上の本数を有する３次元線分グループがない場合（ステップ３１０１で「ＮＯ」）、３次元線分選択部２７０２は、次を行う。すなわち、３次元線分選択部２７０２は、未選択の３次元線分グループのうち、選択した特徴線グループ内の特徴線の本数（Ｍ１）未満で最も近い本数を有する３次元線分グループを選択する（ステップ３１０２）。
【０２１６】
ステップ３１０４で「ＹＥＳ」の場合、ステップ３１０２が終了した場合、またはステップ３１０５が終了した場合、３次元線分選択部２７０２は、選択した３次元線分グループ内の未選択の３次元線分のうち最も長い３次元線分を選択する（ステップ３１０６）。
【０２１７】
ステップ３１０３で、Ｍ１≦Ｍ２となる３次元線分グループを選択するのは、特徴線数は対応する３次元線分数以下の場合が多いからである。なお、誤グルーピングがある場合は反転する。
【０２１８】
ステップ３１０５で、長い３次元線分から選択するのは、特徴線を長いものから選んでいるため、３次元線分も長いことが期待されるためである。３次元線分グループが見つからない場合Ｍ１＞Ｍ２からも探すのは、誤グルーピングの可能性もあるためである。
【０２１９】
３次元線分グループから長いものから選択するのは、特徴線を長いものから選んでいるので、３次元線分も長いものから選んだ方が、正しい対応が早く見つかる期待値が高いためである。
【０２２０】
３次元線分について、ステップ３１０２，３１０３，３１０５で選択したグループの３次元線分が、方向ベクトルの分布で仮対応線分ペアが全ての角度で否定された場合（図２０のステップ２００７で「ＮＯ」）、仮ペア判定部１８０８は、次を行う。すなわち、仮ペア判定部１８０８は、他の３次元線分グループから次の対応線分ペアを選択する。他の３次元線分グループから次の対応線分ペアを選択するのは、その３次元線分グループの線分は平行なので、そのどれかを軸として回転した線分の傾きの分布は、同グループ内の他の線分を軸として回転させた線分の傾きとほぼ同じになる。そのため、選択した線分が分布で否決された場合は同グループ内の他の線分も否決される可能性が極めて高いためである。
【０２２１】
対応線分ペアが見つからず対応線分ペアが否定された場合（図２０のステップ２００９で「ＮＯ」）、仮ペア判定部１８０８は、同一の３次元線分グループ内の３次元線分で近傍の回転角の方向ベクトル分布から対応線分ペアを探索する。ここで、近傍の回転角とは、ステップ２００７で「ＹＥＳ」の場合の回転角度の近傍を示す。
同一３次元線分グループ内の３次元線分で近傍の回転角の方向ベクトル分布が探索される。ここで、その３次元線分グループの線分は平行なので、そのどれかを軸として回転した線分の傾きの分布は、同一３次元線分グループ内の他の線分を軸として回転させた線分の傾きとほぼ同じになる。そのため、対応線分ペアを見つけるためには、近傍の角度を探索すれば十分である。
【０２２２】
図３２は、本実施形態（実施例２）における対応線分を選択する方法を説明するための図である。図３２（ａ）は、撮影画像１７２２より検出された特徴線の例を示す。図３２（ｂ）は、３Ｄモデルにおいて検出された３次元線分を示す。
【０２２３】
（Ｓ１１）図３２（ａ）において、特徴線３２０１〜３２０３のグループと、特徴線３２０４〜３２０６のグループがそれぞれ３本の特徴線を有する。
【０２２４】
（Ｓ１２）特徴線選択部２７０１は、その２つのグループのうち、最も長い特徴線を有する特徴線３２０１〜３２０３のグループを選択するとする。
【０２２５】
（Ｓ１３）３次元線分選択部２７０２は、３次元線分の本数が３本のグループはないので、４本の３次元線分３２１１〜３２１４から、３次元線分を選択する。
【０２２６】
（Ｓ１４）最も長い３次元線分３２１１は、他対応線分ペア推定処理（ステップ２００８）において、他線分との位置関係で、選択することができない。
【０２２７】
（Ｓ１５）同一グループの３次元線分から２番目に長い３次元線分３２１２を選択することは、可能である。
【０２２８】
次に、特徴線選択部２７０１は、上記Ｓ１２で、グループ３２０４〜３２０６を選択するとする。
【０２２９】
（Ｓ１３’）３次元線分の本数が３本のグループはないので、３次元線分選択部２７０２は、４本の３次元線分３２１１〜３２１４から、３次元線分を選択する。
【０２３０】
（Ｓ１４’）選択した３次元線分のうち最も長い３次元線分３２１１は３Ｄモデルを回転させた全ての角度で、対応線分ペアの可能性がない（図２１のステップ１９０７で「ＮＯ」）。そこで、３次元線分選択部２７０２は、５本の３次元線分３２１５〜３２１９から選択するとする。この場合、図２０のステップ２００７で「ＹＥＳ」になるか、または対応線分ペアが見つからず対応線分ペアが否定される（ステップ２００９で「ＮＯ」）。
【０２３１】
（Ｓ１５’）この場合、仮ペア判定部１８０８は、同一３次元線分グループ内の３次元線分３２１５〜３２１９で近傍の回転角の方向ベクトル分布に基づいて、対応線分ペアを探索する。
【０２３２】
実施例２によれば、３次元線分の選択時の正しい対応線分ペアが得られる期待値を上げ、かつ対応線分ペアの探索処理を高速化することができる。
【０２３３】
図１７の画像処理装置１７０１の構成は一例に過ぎず、画像処理装置１７０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、撮影画像１７２２から特徴線１７２５を検出する処理が画像処理装置１７０１の外部の装置によって行われる場合は、図１７の特徴線検出部１７０５を省略することができる。
【０２３４】
３Ｄモデル１７２３から３次元線分１７２６を抽出する処理が外部の装置によって行われる場合は、３次元線分抽出部１７０３を省略することができる。
【０２３５】
図３３は、本実施形態（実施例１、実施例２）における画像処理装置１７０１として用いられる情報処理装置（コンピュータ）の構成例を示す図である。情報処理装置３３００は、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等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置３３０７を介して受信し、それらをメモリ３３０２にロードして使用することができる。ネットワーク接続装置３３０７は、図１７の出力部１７１０として用いることができる。
【０２４３】
なお、情報処理装置が図３３のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体３３０９又は通信ネットワークを使用しない場合は、媒体駆動装置３３０６又はネットワーク接続装置３３０７を省略してもよい。
【０２４４】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０２４５】
上述した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出する３次元線分抽出部と、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出する特徴線抽出部と、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定するペア推定部と、
推定された少なくとも４対のペアに基づいて、前記撮影画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する視点推定部と、
を備えることを特徴とする画像処理装置。
（付記２）
前記ペア推定部は、抽出した前記複数の特徴線から前記第１の特徴線を選択し、抽出した前記複数の３次元線分から前記第１の３次元線分を選択し、
仮想空間において、前記３次元形状を回転させて前記第１の特徴線と前記第１の３次元線分とを一致させ、
前記第１の特徴線と前記第１の３次元線分とを一致させた前記３次元形状を、該第１の３次元線分と、該第１の特徴線と前記撮像装置の視点とがなす平面に対する法線と、をそれぞれ回転軸として、前記３次元形状を所定角度ずつ回転させ、
回転させる毎に前記複数の３次元線分を前記投影面に投影して得られる複数の投影線の角度についての前記第２の分布を生成し、生成した複数の該第２の分布のそれぞれと、前記第１の分布との間の距離に応じて、前記１対のペアを推定する
ことを特徴とする付記１に記載の画像処理装置。
（付記３）
前記ペア推定部は、前記１対のペアである第１のペアを推定した場合、該第１のペアを形成する前記第１の３次元線分の第１の投影線以外の前記複数の投影線から、該１対のペアを形成する前記第１の特徴線以外の第２の特徴線と角度が一致している第２の投影線を取得し、該第２の投影線に対応する第２の３次元線分と該第２の特徴線とを選択し、該第２の３次元線分と該第２の特徴線を第２のペアと推定し、
前記第１の投影線及び前記第２の投影線以外の前記複数の投影線から、前記第１の特徴線及び前記第２の特徴線以外の第３の特徴線と角度と位置が一致している第３の投影線を取得し、該第３の投影線に対応する第３の３次元線分と該第３の特徴線とを選択し、該第３の３次元線分と該第３の特徴線を第３のペアと推定し、
前記第１の投影線、前記第２の投影線及び前記第３の投影線以外の前記複数の投影線から、前記第１の特徴線、前記第２の特徴線及び前記第３の特徴線以外の第４の特徴線と角度と位置が一致している第４の投影線を取得し、該第４の投影線に対応する第４の３次元線分と該第４の特徴線を選択し、該第４の３次元線分と該第４の特徴線を第４のペアと推定する
ことを特徴とする付記１又は２に記載の画像処理装置。
（付記４）
前記ペア推定部は、前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
それぞれの特徴線グループに含まれる前記特徴線の数、該それぞれの特徴線グループに含まれる前記特徴線の長さ、及びそれぞれの特徴線グループにおける特徴線の位置のうち少なくとも１つの条件に基づいて、前記第１の特徴線を選択し、
それぞれの３次元線分グループに含まれる３次元線分の数、及び該それぞれの３次元線分グループに含まれる前記３次元線分の長さのうち少なくとも１つの条件に基づいて、前記第１の３次元線分を選択する、
ことを特徴とする付記１〜３のうちいずれか１項に記載の画像処理装置。
（付記５）
前記ペア推定部は、前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
前記複数の特徴線グループから、最も多く特徴線を含む特徴線グループを選択し、
選択した前記特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には前記選択した特徴線グループにおいて外周線に対応する特徴線を前記第１の特徴線として選択し、選択した前記特徴線グループに含まれるいずれかの特徴線の長さが前記所定の範囲を超える場合には選択した前記特徴線グループから最も長い特徴線を前記第１の特徴線として選択し、
前記複数の３次元線分グループから、前記選択された特徴線グループに含まれる前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には該１つの３次元線分グループを選択し、前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択し、前記特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には前記選択された特徴線グループに含まれる前記特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択し、
選択した前記３次元線分グループから最も長い３次元線分を前記第１の３次元線分として選択する
ことを特徴とする付記１〜３のうちいずれか１項に記載の画像処理装置。
（付記６）
コンピュータに、
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出し、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出し、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定し、
推定された少なくとも４対のペアに基づいて、前記撮像画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する
処理を実行させる画像処理プログラム。
（付記７）
前記１対のペアを推定する場合、
抽出した前記複数の特徴線から前記第１の特徴線を選択し、抽出した前記複数の３次元線分から前記第１の３次元線分を選択し、
仮想空間において、前記３次元形状を回転させて前記第１の特徴線と前記第１の３次元線分とを一致させ、
前記第１の特徴線と前記第１の３次元線分とを一致させた前記３次元形状を、該第１の３次元線分と、該第１の特徴線と前記撮像装置の視点とがなす平面に対する法線と、をそれぞれ回転軸として、前記３次元形状を所定角度ずつ回転させ、
回転させる毎に前記複数の３次元線分を前記投影面に投影して得られる複数の投影線の角度についての前記第２の分布を生成し、生成した複数の該第２の分布のそれぞれと、前記第１の分布との間の距離に応じて、前記１対のペアを推定する
ことを特徴とする付記６に記載の画像処理プログラム。
（付記８）
前記１対のペアである第１のペアを推定した場合、該第１のペアを形成する前記第１の３次元線分の第１の投影線以外の前記複数の投影線から、該１対のペアを形成する前記第１の特徴線以外の第２の特徴線と角度が一致している第２の投影線を取得し、該第２の投影線に対応する第２の３次元線分と該第２の特徴線とを選択し、該第２の３次元線分と該第２の特徴線を第２のペアと推定し、
前記第１の投影線及び前記第２の投影線以外の前記複数の投影線から、前記第１の特徴線及び前記第２の特徴線以外の第３の特徴線と角度と位置が一致している第３の投影線を取得し、該第３の投影線に対応する第３の３次元線分と該第３の特徴線とを選択し、該第３の３次元線分と該第３の特徴線を第３のペアと推定し、
前記第１の投影線、前記第２の投影線及び前記第３の投影線以外の前記複数の投影線から、前記第１の特徴線、前記第２の特徴線及び前記第３の特徴線以外の第４の特徴線と角度と位置が一致している第４の投影線を取得し、該第４の投影線に対応する第４の３次元線分と該第４の特徴線を選択し、該第４の３次元線分と該第４の特徴線を第４のペアと推定する
ことを特徴とする付記６又は７に記載の画像処理プログラム。
（付記９）
前記１対のペアを推定する場合、
前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
それぞれの特徴線グループに含まれる前記特徴線の数、該それぞれの特徴線グループに含まれる前記特徴線の長さ、及びそれぞれの特徴線グループにおける特徴線の位置のうち少なくとも１つの条件に基づいて、前記第１の特徴線を選択し、
それぞれの３次元線分グループに含まれる３次元線分の数、及び該それぞれの３次元線分グループに含まれる前記３次元線分の長さのうち少なくとも１つの条件に基づいて、前記第１の３次元線分を選択する、
ことを特徴とする付記６〜８のうちいずれか１項に記載の画像処理プログラム。
（付記１０）
前記１対のペアを推定する場合、
前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
前記複数の特徴線グループから、最も多く特徴線を含む特徴線グループを選択し、
選択した前記特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には前記選択した特徴線グループにおいて外周線に対応する特徴線を前記第１の特徴線として選択し、選択した前記特徴線グループに含まれるいずれかの特徴線の長さが前記所定の範囲を超える場合には選択した前記特徴線グループから最も長い特徴線を前記第１の特徴線として選択し、
前記複数の３次元線分グループから、前記選択された特徴線グループに含まれる前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には該１つの３次元線分グループを選択し、前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択し、前記特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には前記選択された特徴線グループに含まれる前記特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択し、
選択した前記３次元線分グループから最も長い３次元線分を前記第１の３次元線分として選択する
ことを特徴とする付記６〜８のうちいずれか１項に記載の画像処理プログラム。
（付記１１）
コンピュータが、
物体の３次元形状を示す３次元形状情報から、該３次元形状を形成する複数の３次元線分を抽出し、
撮像装置により対象物を撮影した撮影画像から、該対象物の形状の特徴を示す複数の特徴線を抽出し、
前記複数の特徴線の角度についての分布を示す第１の分布と、前記複数の３次元線分を投影面に投影して得られる複数の投影線の角度についての分布を示す第２の分布との間の距離に基づいて、該複数の特徴線のうちの第１の特徴線と前記複数の３次元線分のうちの第１の３次元線分との１対のペアを推定すると共に、推定した該１対のペアに基づいて前記特徴線と前記３次元線分とのペアを少なくとも３対推定し、
推定された少なくとも４対のペアに基づいて、前記撮像画像から３次元空間内における該対象物に対する前記撮像装置の位置及び方向を推定する
ことを特徴とする画像処理方法。
（付記１２）
前記１対のペアを推定する場合、
抽出した前記複数の特徴線から前記第１の特徴線を選択し、抽出した前記複数の３次元線分から前記第１の３次元線分を選択し、
仮想空間において、前記３次元形状を回転させて前記第１の特徴線と前記第１の３次元線分とを一致させ、
前記第１の特徴線と前記第１の３次元線分とを一致させた前記３次元形状を、該第１の３次元線分と、該第１の特徴線と前記撮像装置の視点とがなす平面に対する法線と、をそれぞれ回転軸として、前記３次元形状を所定角度ずつ回転させ、
回転させる毎に前記複数の３次元線分を前記投影面に投影して得られる複数の投影線の角度についての前記第２の分布を生成し、生成した複数の該第２の分布のそれぞれと、前記第１の分布との間の距離に応じて、前記１対のペアを推定する
ことを特徴とする付記１１に記載の画像処理方法。
（付記１３）
前記１対のペアである第１のペアを推定した場合、該第１のペアを形成する前記第１の３次元線分の第１の投影線以外の前記複数の投影線から、該１対のペアを形成する前記第１の特徴線以外の第２の特徴線と角度が一致している第２の投影線を取得し、該第２の投影線に対応する第２の３次元線分と該第２の特徴線とを選択し、該第２の３次元線分と該第２の特徴線を第２のペアと推定し、
前記第１の投影線及び前記第２の投影線以外の前記複数の投影線から、前記第１の特徴線及び前記第２の特徴線以外の第３の特徴線と角度と位置が一致している第３の投影線を取得し、該第３の投影線に対応する第３の３次元線分と該第３の特徴線とを選択し、該第３の３次元線分と該第３の特徴線を第３のペアと推定し、
前記第１の投影線、前記第２の投影線及び前記第３の投影線以外の前記複数の投影線から、前記第１の特徴線、前記第２の特徴線及び前記第３の特徴線以外の第４の特徴線と角度と位置が一致している第４の投影線を取得し、該第４の投影線に対応する第４の３次元線分と該第４の特徴線を選択し、該第４の３次元線分と該第４の特徴線を第４のペアと推定する
ことを特徴とする付記１１又は１２に記載の画像処理方法。
（付記１４）
前記１対のペアを推定する場合、
前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
それぞれの特徴線グループに含まれる前記特徴線の数、該それぞれの特徴線グループに含まれる前記特徴線の長さ、及びそれぞれの特徴線グループにおける特徴線の位置のうち少なくとも１つの条件に基づいて、前記第１の特徴線を選択し、
それぞれの３次元線分グループに含まれる３次元線分の数、及び該それぞれの３次元線分グループに含まれる前記３次元線分の長さのうち少なくとも１つの条件に基づいて、前記第１の３次元線分を選択する、
ことを特徴とする付記１１〜１３のうちいずれか１項に記載の画像処理方法。
（付記１５）
前記１対のペアを推定する場合、
前記撮影画像より抽出した前記複数の特徴線を同一方向毎にグループ化して複数の特徴線グループを形成し、前記複数の３次元線分を同一方向毎にグループ化して複数の３次元線分グループを形成し、
前記複数の特徴線グループから、最も多く特徴線を含む特徴線グループを選択し、
選択した前記特徴線グループに含まれるすべての特徴線の長さが所定の範囲内である場合には前記選択した特徴線グループにおいて外周線に対応する特徴線を前記第１の特徴線として選択し、選択した前記特徴線グループに含まれるいずれかの特徴線の長さが前記所定の範囲を超える場合には選択した前記特徴線グループから最も長い特徴線を前記第１の特徴線として選択し、
前記複数の３次元線分グループから、前記選択された特徴線グループに含まれる前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが１つの場合には該１つの３次元線分グループを選択し、前記特徴線の数以上でより近い数の３次元線分を含む３次元線分グループが複数存在する場合には最も長い３次元線分を含む３次元線分グループを選択し、前記特徴線の数以上の３次元線分を含む３次元線分グループが存在しない場合には前記選択された特徴線グループに含まれる前記特徴線の数未満でより近い数の３次元線分を含む３次元線分グループを選択し、
選択した前記３次元線分グループから最も長い３次元線分を前記第１の３次元線分として選択する
ことを特徴とする付記１１〜１３のうちいずれか１項に記載の画像処理方法。
【符号の説明】
【０２４６】
６０１    画像処理装置
６０２    ３次元線分抽出部
６０３    特徴線抽出部
６０４    ペア推定部
６０５    視点推定部
１７０１  画像処理装置
１７０２  ３Ｄモデル読込部
１７０３  ３次元線分抽出部
１７０４  画像取得部
１７０５  特徴線検出部
１７０６  ペア推定部
１７０７  位置計算部
１７０８  誤差計算部
１７０９  決定部
１７１０  出力部
１７２１  記憶部
１７２２  撮像画像
１７２３  ３Ｄモデル
１７２５  特徴線
１７２６  ３次元線分
１７２７  対応線分ペア
１７２８  粗パラメータ
１７２９  指標
１７３０  パラメータ
１８０１  特徴線選択部
１８０２  ３次元線分選択部
１８０３  初期設定部
１８０４  回転制御部
１８０５  特徴線角度ヒストグラム生成部
１８０６  投影線角度ヒストグラム生成部
１８０７  ヒストグラム距離算出部
１８０８  仮ペア判定部
２７０１  特徴線選択部
２７０２  ３次元選択部
２７０３  特徴線グループ作成部
２７０４  ３次元線分グループ作成部
【図１】
2019105992.tif 000011
【図２】
2019105992.tif 000012
【図３】
2019105992.tif 000013
【図４】
2019105992.tif 000014
【図５】
2019105992.tif 000015
【図６】
2019105992.tif 000016
【図７】
2019105992.tif 000017
【図８】
2019105992.tif 000018
【図９】
2019105992.tif 000019
【図１０】
2019105992.tif 000020
【図１１】
2019105992.tif 000021
【図１２】
2019105992.tif 000022
【図１３】
2019105992.tif 000023
【図１４】
2019105992.tif 000024
【図１５】
2019105992.tif 000025
【図１６】
2019105992.tif 000026
【図１７】
2019105992.tif 000027
【図１８】
2019105992.tif 000028
【図１９】
2019105992.tif 000029
【図２０】
2019105992.tif 000030
【図２１】
2019105992.tif 000031
【図２２】
2019105992.tif 000032
【図２３】
2019105992.tif 000033
【図２４】
2019105992.tif 000034
【図２５】
2019105992.tif 000035
【図２６】
2019105992.tif 000036
【図２７】
2019105992.tif 000037
【図２８】
2019105992.tif 000038
【図２９】
2019105992.tif 000039
【図３０】
2019105992.tif 000040
【図３１】
2019105992.tif 000041
【図３２】
2019105992.tif 000042
【図３３】
2019105992.tif 000043