(57)【要約】【課題】物体の形状情報と、その物体の画像から検出された特徴線とを用いて、物体の形状の誤差を特定する。【解決手段】記憶部２１１は、物体の形状を表す複数の線分を含む形状情報２２１を記憶する。検出部２１２は、物体の画像から複数の特徴線を検出し、投影部２１３は、形状情報２２１に含まれる複数の線分のうち、いずれかの線分を物体の画像上に投影することで、対象投影線を生成する。選択部２１４は、物体の画像上で対象投影線に基づく所定領域と重なる特徴線を、複数の特徴線の中から抽出して、特徴線の集合を生成し、物体の画像上における画素値の勾配を示す勾配情報に基づいて、特徴線の集合から対象特徴線を選択する。計算部２１５は、対象投影線に対応する線分と対象特徴線との間のずれ量を計算する。【選択図】図１６
2020148625.tif 000002
【特許請求の範囲】
【請求項１】
物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
前記物体の画像から複数の特徴線を検出する検出部と、
前記複数の線分のうちいずれかの線分を前記物体の画像上に投影することで、対象投影線を生成する投影部と、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択する選択部と、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する計算部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記選択部は、前記対象投影線を幅方向に拡張することで、前記所定領域を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記選択部は、前記対象投影線を長さ方向に短縮することで、前記所定領域を生成することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記選択部は、前記複数の特徴線のうち、前記所定領域に一部分又は全体が含まれている特徴線を、前記所定領域と重なる特徴線として抽出することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記選択部は、前記物体の画像上における画素値の勾配の大きさを各画素の画素値として含む勾配画像を生成し、前記特徴線の集合に含まれる特徴線を長さ方向に延長することで延長特徴線を生成し、前記特徴線の集合から生成された複数の延長特徴線それぞれが前記勾配画像上で通過する画素の画素値に基づいて、前記複数の延長特徴線それぞれの評価値を計算し、前記複数の延長特徴線それぞれの評価値に基づいて、特定の延長特徴線を選択し、前記特定の延長特徴線に対応する特徴線を、前記対象特徴線として選択することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記選択部は、前記対象投影線の位置及び傾きに応じたフィルタ係数を有するフィルタを用いて、前記物体の画像に対するエッジ検出処理を行うことで、前記勾配画像を生成することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記選択部は、複数のパラメータそれぞれを用いて前記物体の画像に対するエッジ検出処理を行うことで、複数のエッジ画像を生成し、前記複数のエッジ画像を用いて前記勾配画像を生成することを特徴とする請求項５記載の画像処理装置。
【請求項８】
前記投影部は、前記複数の線分それぞれを前記物体の画像上に投影することで、複数の対象投影線を生成し、
前記選択部は、前記物体の画像上で前記複数の対象投影線それぞれに基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出することで、特徴線の集合を複数個生成し、複数個の集合それぞれから延長特徴線を生成し、前記複数個の集合から生成された延長特徴線の評価値を計算し、前記複数個の集合から生成された延長特徴線の評価値を用いて、評価値に対する閾値を設定し、前記閾値を用いて前記複数の延長特徴線の中から複数の候補特徴線を抽出し、前記複数の候補特徴線の中から前記特定の延長特徴線を選択することを特徴とする請求項５記載の画像処理装置。
【請求項９】
前記選択部は、前記物体の画像の各画素について、前記物体の画像上における画素値の勾配の方向を求め、各画素の勾配の方向と垂直な法線方向を求め、前記対象投影線の方向と各画素の法線方向との間の類似度を求め、前記類似度に基づいて、前記勾配画像から評価値の計算に用いる画素を選択し、選択された画素の画素値を用いて、前記複数の延長特徴線それぞれの評価値を計算することを特徴とする請求項５記載の画像処理装置。
【請求項１０】
前記物体の画像、前記対象投影線に対応する線分、前記対象特徴線、及び前記ずれ量を画面上に表示する表示部をさらに備えることを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
コンピュータによって実行される画像処理方法であって、
前記コンピュータが、
物体の画像から複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、いずれかの線分を前記物体の画像上に投影することで、対象投影線を生成し、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、
前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択し、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する、
ことを特徴とする画像処理方法。
【請求項１２】
物体の画像から複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、いずれかの線分を前記物体の画像上に投影することで、対象投影線を生成し、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、
前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択し、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する、
処理をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
近年、拡張現実（Augmented Reality，ＡＲ）技術を用いて画像を表示するシステムが普及してきている。ＡＲ技術の一例では、パーソナルコンピュータ（Personal Computer，ＰＣ）、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から３次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
【０００３】
製品を製造する現場において、製品の検査は、熟練作業者によって、専用の治具を用いて時間をかけて実施されることが多い。しかし、熟練作業者以外の作業者でも容易に検査を実施することができるようになれば、検査コストを削減することが可能になる。
【０００４】
製品の検査に関連して、製品の製造不良を検出して可視化する技術が知られている（例えば、非特許文献１を参照）。ワーク画像のエッジ位置とそのエッジ位置に対応するマスター画像上の位置との変位量を示す誤差の統計情報を、エッジ位置に沿って表示する技術も知られている（例えば、特許文献１を参照）。
【０００５】
物体の形状情報に含まれる候補線を画像上に投影した投影線と、画像から検出した特徴線とを対応付けた、所定数の組み合わせを用いて、撮像装置の位置を推定する技術も知られている（例えば、特許文献２を参照）。物体の形状情報に含まれる候補線のうち撮像装置の位置から観察される候補線と、画像から検出した特徴線とを対応付けた、対応付け情報の誤差に基づいて、対応付け結果を決定する技術も知られている（例えば、特許文献３を参照）。
【０００６】
カメラキャリブレーション、線分検出、立体の機械知覚、直線対応付けによる姿勢推定、計算論的アプローチに基づくエッジ検出等の技術も知られている（例えば、非特許文献２〜非特許文献６を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−３２３４４号公報
【特許文献２】特開２０１７−１８２３０２号公報
【特許文献３】特開２０１８−０５５１９９号公報
【非特許文献】
【０００８】
【非特許文献１】A. Moteki et al.,“Manufacturing Defects Visualization via Robust Edge-Based Registration”, In Adjunct Proceedings of the IEEE International Symposium on Mixed and Augmented Reality (ISMAR-Adjunct), pp.172-173, 2018
【非特許文献２】Z. Zhang,“A Flexible New Technique for Camera Calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pp.1330-1334, November 2000
【非特許文献３】R. G. Gioi et al.,“LSD: a Line Segment Detector”, Image Processing On Line, 2 (2012), pp.35-55, March 2012
【非特許文献４】L. G. Roberts,“Machine perception of three-dimensional solids”, MIT Lincoln Lab. Rep., TR3315, pp.1-82, May 1963
【非特許文献５】C. Xu et al.,“Pose Estimation from Line Correspondences: A Complete Analysis and a Series of Solutions”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.39, No.6, pp.1209-1222, June 2017
【非特許文献６】J. Canny,“A Computational Approach to Edge Detection”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.8, No.6, pp.679-698, 1986
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１の技術によれば、製品のＣＡＤ（Computer-Aided Design）モデルに含まれる３Ｄ線分を画像上に投影することで、投影線が生成され、その製品の画像から特徴線（２次元線分）が検出される。そして、ＣＡＤモデルの大きさ、カメラの位置及び姿勢、及び特徴線と投影線との間の距離に基づいて、製品とＣＡＤモデルとのずれ量（誤差）が表示される。さらに、特徴線同士の接続関係と３Ｄ線分同士の接続関係とに基づいて、製品の製造不良箇所が強調表示される。
【００１０】
また、特許文献１の技術によれば、ワーク画像の輝度変化に基づいて検出されたエッジ上の複数の点に対して、最小二乗法等の統計的手法に基づき、直線、円弧等の幾何学的図形をフィッティングさせることで、物体と背景との境界線が求められる。
【００１１】
しかしながら、画像に写っている物体の面と面の境界線、又は物体と背景との境界線に対して、その境界線を表す特徴線が正しく検出されないことがある。境界線を表す特徴線が正しく検出されない場合、画像上で境界線と類似する位置及び傾きを有する、最適な特徴線を選択することが困難になる。最適な特徴線以外の特徴線を用いて、物体の形状とＣＡＤモデルとのずれ量を計算した場合、正しいずれ量が表示されない。
【００１２】
なお、かかる問題は、ＣＡＤモデルを用いて製品の製造不良箇所を表示する場合に限らず、他の形状情報を用いて物体の形状の誤差を特定する場合においても生ずるものである。
【００１３】
１つの側面において、本発明は、物体の形状情報と、その物体の画像から検出された特徴線とを用いて、物体の形状の誤差を特定することを目的とする。
【課題を解決するための手段】
【００１４】
１つの案では、画像処理装置は、記憶部、検出部、投影部、選択部、及び計算部を含む。記憶部は、物体の形状を表す複数の線分を含む形状情報を記憶する。検出部は、物体の画像から複数の特徴線を検出する。投影部は、形状情報に含まれる複数の線分のうち、いずれかの線分を物体の画像上に投影することで、対象投影線を生成する。
【００１５】
選択部は、物体の画像上で対象投影線に基づく所定領域と重なる特徴線を、複数の特徴線の中から抽出して、特徴線の集合を生成し、物体の画像上における画素値の勾配を示す勾配情報に基づいて、特徴線の集合から対象特徴線を選択する。計算部は、対象投影線に対応する線分と対象特徴線との間のずれ量を計算する。
【発明の効果】
【００１６】
１つの側面によれば、物体の形状情報と、その物体の画像から検出された特徴線とを用いて、物体の形状の誤差を特定することができる。
【図面の簡単な説明】
【００１７】
【図１】不十分な特徴線を示す図である。
【図２】画像処理装置の機能的構成図である。
【図３】画像処理のフローチャートである。
【図４】画像処理装置の具体例を示す機能的構成図である。
【図５】画像処理を示す図である。
【図６】投影線情報を示す図である。
【図７】調整領域を示す図である。
【図８】特徴線延長処理を示す図である。
【図９】投影線を幅方向に拡張した場合の効果を示す図である。
【図１０】投影線を長さ方向に短縮した場合の効果を示す図である。
【図１１】対象特徴線選択処理を示す図である。
【図１２】特徴線集合を示す図である。
【図１３】重畳スコア計算処理を示す図である。
【図１４】重畳スコアの計算結果を示す図である。
【図１５】画面上に表示されたずれ量を示す図である。
【図１６】画像処理の具体例を示すフローチャートである。
【図１７】対応ペアの増分を示す図である。
【図１８】エッジ検出フィルタを示す図である。
【図１９】フィルタ係数の計算方法を示す図である。
【図２０】再配分後のエッジ検出フィルタを示す図である。
【図２１】フィルタ係数の具体例を示す図である。
【図２２】複数回のエッジ検出処理を用いた重畳スコア計算処理を示す図である。
【図２３】画素値の勾配方向を用いた重畳スコア計算処理を示す図である。
【図２４】情報処理装置の構成図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、物体の画像から検出された不十分な特徴線の例を示している。図１（ａ）は、物体の画像の例を示しており、図１（ｂ）は、図１（ａ）の画像から検出された特徴線の例を示している。例えば、図１（ａ）に示された境界線１０１に対して、図１（ｂ）では、境界線１０１と同じ長さの１本の特徴線ではなく、境界線１０１よりも短い、細切れになった複数の特徴線が検出されている。細切れになった複数の特徴線の代わりに、境界線よりも短い１本の特徴線のみが検出されることもある。
【００１９】
非特許文献１の検出方法では、１本の境界線から複数の特徴線が検出されても、それらの特徴線が区別されていない。また、特許文献１の検出方法では、エッジ検出結果又は選択方法によって、利用するエッジ点が異なれば、幾何学的図形によるフィッティング結果が変化するが、フィッティングにより得られた線分の評価は行われていない。
【００２０】
このように、物体の画像から境界線を表す特徴線が正しく検出されない場合、画像上で境界線と類似する位置及び傾きを有する、最適な特徴線を選択することが困難になる。最適な特徴線以外の特徴線を用いて、物体の形状とＣＡＤモデルとのずれ量を計算した場合、正しいずれ量が表示されない。
【００２１】
そこで、特徴線の長さに対して閾値を設定し、閾値以上の長さを有する特徴線のみを抽出する方法が考えられるが、適切な閾値を設定することは困難である。閾値が大きすぎる場合、短い最適な特徴線が除外されてしまい、閾値が小さすぎる場合、抽出結果に多くのノイズが含まれ、最適な特徴線の選択が困難になる。
【００２２】
また、特徴線同士の距離及び傾きの類似度に対して閾値を設定し、閾値以上の類似度を有する特徴線同士を統合する方法も考えられるが、この場合も適切な閾値を設定することは困難である。閾値が大きすぎる場合、複数の特徴線のいずれも統合されず、閾値が小さすぎる場合、多くのノイズ同士が統合されて、画像に写っている境界線の傾きとは異なる傾きを有する特徴線が生成される。
【００２３】
図２は、実施形態の画像処理装置の機能的構成例を示している。図２の画像処理装置２０１は、記憶部２１１、検出部２１２、投影部２１３、選択部２１４、及び計算部２１５を含む。記憶部２１１は、物体の形状を表す複数の線分を含む形状情報２２１を記憶する。
【００２４】
図３は、図２の画像処理装置２０１が行う画像処理の例を示すフローチャートである。まず、検出部２１２は、物体の画像から複数の特徴線を検出する（ステップ３０１）。そして、投影部２１３は、形状情報２２１に含まれる複数の線分のうち、いずれかの線分を物体の画像上に投影することで、対象投影線を生成する（ステップ３０２）。
【００２５】
次に、選択部２１４は、物体の画像上で対象投影線に基づく所定領域と重なる特徴線を、複数の特徴線の中から抽出して、特徴線の集合を生成する（ステップ３０３）。次に、選択部２１４は、物体の画像上における画素値の勾配を示す勾配情報に基づいて、特徴線の集合から対象特徴線を選択する（ステップ３０４）。そして、計算部２１５は、対象投影線に対応する線分と対象特徴線との間のずれ量を計算する（ステップ３０５）。
【００２６】
図２の画像処理装置２０１によれば、物体の形状情報と、その物体の画像から検出された特徴線とを用いて、物体の形状の誤差を特定することができる。
【００２７】
図４は、図２の画像処理装置２０１の具体例を示している。図４の画像処理装置４０１は、記憶部４１１、画像取得部４１２、特徴線検出部４１３、線分検出部４１４、投影部４１５、パラメータ設定部４１６、生成部４１７、選択部４１８、パラメータ計算部４１９、計算部４２０、及び表示部４２１を含む。
【００２８】
記憶部４１１、特徴線検出部４１３、投影部４１５、選択部４１８、及び計算部４２０は、図２の記憶部２１１、検出部２１２、投影部２１３、選択部２１４、及び計算部２１５にそれぞれ対応する。
【００２９】
画像処理装置４０１は、物体の形状情報を用いてその物体の形状を検査する形状検査において使用される。画像処理装置４０１は、タブレット、ノート型ＰＣ（Personal Computer）、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型ＰＣ等の情報処理装置であってもよい。
【００３０】
記憶部４１１は、ＣＡＤデータ４３１を記憶している。ＣＡＤデータ４３１は、図２の形状情報２２１に対応し、物体の３次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の３次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報、又は各線分の両端の頂点の３次元座標を含む。ＣＡＤデータ４３１は、ＯＢＪ形式のデータであってもよい。
【００３１】
撮像装置４０２は、例えば、ＣＣＤ（Charged-Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）等の撮像素子を有するカメラであり、ＣＡＤデータ４３１が表す物体の画像４３２を撮影する。画像取得部４１２は、撮像装置４０２から画像４３２を取得して、記憶部４１１に格納する。
【００３２】
特徴線検出部４１３は、エッジ検出処理を行って、画像４３２から複数のエッジ線を検出し、検出したエッジ線を特徴線４３３として記憶部４１１に格納する。特徴線検出部４１３は、例えば、非特許文献３の技術を用いて、画像４３２からエッジ線を検出することができる。
【００３３】
線分検出部４１４は、ＣＡＤデータ４３１に含まれる複数の線分を検出し、検出した複数の線分を複数の３Ｄ線分４３４として記憶部４１１に格納する。投影部４１５は、ＣＡＤデータ４３１が表す物体を画像４３２上に投影して投影線を生成し、表示部４２１は、画像４３２を画面上に表示するとともに、投影線を用いて物体の形状を画面上に表示する。
【００３４】
パラメータ設定部４１６は、３次元空間内における撮像装置４０２の初期位置及び初期姿勢を表す初期パラメータ４３５を設定する。まず、ユーザは、表示された物体の形状の位置及び姿勢が、画像４３２に写っている物体と近似するように、画面上で物体の形状の位置及び姿勢を変更する操作を行う。画面上で物体の形状の位置及び姿勢を変更することで、画面に対する視点の位置及び姿勢が変化する。
【００３５】
そこで、パラメータ設定部４１６は、ユーザが決定した物体の形状の位置及び姿勢に対応する視点の位置及び姿勢を、撮像装置４０２の初期位置及び初期姿勢として用いる。そして、パラメータ設定部４１６は、その初期位置及び初期姿勢を表すパラメータを、初期パラメータ４３５として記憶部４１１に格納する。
【００３６】
生成部４１７は、物体の形状に含まれる３Ｄ線分のうち、視点から観察されない３Ｄ線分（隠線）を除去する。生成部４１７は、例えば、非特許文献４の技術を用いて、隠線を除去することができる。
【００３７】
パラメータ設定部４１６は、先願である特願２０１７−１９５７８７号に記載された技術を用いて、初期パラメータ４３５を自動的に決定することも可能である。この技術によれば、３次元空間内における複数の視点それぞれから観察される物体の位置及び姿勢を表す姿勢情報と、観察される物体の視点画像と、その視点画像から抽出された特徴量とが、関連付けて記憶部に格納される。そして、撮像装置によって撮影された画像の特徴量と各視点画像の特徴量との間の類似度が計算され、最大の類似度を有する視点画像の姿勢情報が、物体の初期位置及び初期姿勢を表す姿勢情報に決定される。
【００３８】
初期パラメータ４３５が表す初期位置及び初期姿勢は、仮の位置及び姿勢であり、画像４３２を撮影したときの撮像装置４０２の位置及び姿勢と必ずしも一致しているとは限らない。
【００３９】
次に、ユーザは、画面上に表示されている、３Ｄ線分４３４の投影線及び特徴線４３３の中から、投影線と特徴線の組み合わせをｋ個（ｋは４以上の所定の整数）指定する。生成部４１７は、指定された投影線が表す３Ｄ線分と指定された特徴線との組み合わせ（対応ペア）を、初期対応ペアとして用いる。この場合、ｋ個の初期対応ペアが生成される。
【００４０】
生成部４１７は、特許文献３に記載された技術を用いて、初期対応ペアを自動的に決定することも可能である。この技術によれば、画像から検出された複数の特徴線の中から、所定の条件を満たす複数の特徴線が抽出される。次に、抽出された特徴線と隠線を除去した残りの３Ｄ線分とから、ｋ個の対応ペアが生成され、各対応ペアに含まれる３Ｄ線分の投影線の位置と特徴線の位置との間の誤差の総和が計算される。そして、ｋ個の対応ペアに含まれる３Ｄ線分と特徴線の組み合わせを変更しながら、誤差の総和が繰り返し計算され、誤差の総和が最小となるｋ個の対応ペアが、ｋ個の初期対応ペアに決定される。
【００４１】
パラメータ計算部４１９は、ｋ個の初期対応ペアを用いて、画像４３２を撮影したときの撮像装置４０２の位置及び姿勢を計算する。パラメータ計算部４１９は、例えば、非特許文献５の技術を用いて、ｋ個の初期対応ペアから、位置及び姿勢を表す３行３列の回転行列Ｒと並進ベクトルＴとを計算することができる。
【００４２】
投影部４１５は、パラメータ計算部４１９が計算した撮像装置４０２の位置及び姿勢を用いて、３Ｄ線分４３４を画像４３２上に投影することで、投影線を生成し、３Ｄ線分４３４と投影線との対応関係を示す投影線情報４３８を、記憶部４１１に格納する。例えば、投影部４１５は、次式により、３Ｄ線分４３４を画像４３２上に投影することができる。
【００４３】
【数１】
2020148625.tif 000003
【００４４】
式（１）の（Ｘ，Ｙ，Ｚ）、Ａ、Ｒ、Ｔ、及び（ｕ，ｖ）の定義は、以下の通りである。
（Ｘ，Ｙ，Ｚ）：３Ｄ線分の端点の３次元座標
Ａ：撮像装置４０２の内部パラメータ
Ｒ：３行３列の回転行列
Ｔ：並進ベクトル
（ｕ，ｖ）：画像４３２上における投影線の端点の２次元座標
【００４５】
撮像装置４０２の内部パラメータＡは、例えば、非特許文献２の技術を用いて、事前に計測しておくことができる。
【００４６】
次に、生成部４１７は、投影線情報４３８に含まれる投影線の中から、初期対応ペアに対して追加する追加３Ｄ線分の投影線を選択し、特徴線４３３の中から、追加３Ｄ線分に対応付ける追加特徴線を選択し、追加３Ｄ線分と追加特徴線とを対応付けた追加対応ペアを生成する。そして、生成部４１７は、初期対応ペア及び追加対応ペアの集合を、対応ペア集合４３６として記憶部４１１に格納する。したがって、対応ペア集合４３６に含まれる対応ペアの個数Ｎは、ｋ＋１以上になる。
【００４７】
例えば、生成部４１７は、特許文献２の技術を用いて、投影線の長さが長い順に追加３Ｄ線分の投影線を選択し、選択した投影線に対して以下の条件を満たす特徴線を、追加特徴線として選択することができる。
（Ｃ１）投影線の中点と特徴線の中点との距離＜閾値
（Ｃ２）投影線と特徴線との成す角度＜閾値
【００４８】
追加特徴線の本数には上限を設けてもよい。また、物体の１つの辺（境界線）から２本以上の特徴線が細切れで検出される可能性があるため、生成部４１７は、同一直線上に２本以上の特徴線が存在する場合、いずれか１本のみを追加特徴線として選択してもよい。さらに、生成部４１７は、所定値よりも短い特徴線を、追加特徴線の候補から除外してもよい。例えば、所定値としては、最も長い特徴線の長さの５％〜２０％の値を用いることができる。
【００４９】
次に、選択部４１８は、追加特徴線の候補から除外された短い特徴線を用いて、対応ペアをさらに生成し、生成した対応ペアを対応ペア集合４３６に追加することで、対応ペア集合４３６を更新する。
【００５０】
まず、選択部４１８は、投影線情報４３８に含まれる各投影線を対象投影線として用いて、画像４３２上で特徴線を調整するための調整領域を生成する。調整領域は、対象投影線に基づく所定領域の一例である。例えば、選択部４１８は、対象投影線を幅方向に拡張するか、又は対象投影線を長さ方向に短縮することで、調整領域を生成することができる。
【００５１】
次に、選択部４１８は、調整領域と重なる１本以上の特徴線を、複数の特徴線４３３の中から抽出して、抽出された特徴線の集合を生成し、特徴線集合４３９として記憶部４１１に格納する。例えば、選択部４１８は、複数の特徴線４３３のうち、調整領域に一部分又は全体が含まれている特徴線を、調整領域と重なる特徴線として抽出する。
【００５２】
調整領域に全体が含まれている特徴線とともに、調整領域に一部分が含まれている特徴線も抽出することで、対象投影線と対応付けられる特徴線の候補を増加させることができる。
【００５３】
そして、選択部４１８は、画像４３２上における画素値の勾配を示す勾配情報に基づいて、特徴線集合４３９から対象特徴線を選択し、対象投影線に対応する３Ｄ線分と対象特徴線とを対応付けた対応ペアを生成して、対応ペア集合４３６に追加する。
【００５４】
例えば、選択部４１８は、非特許文献６の技術を用いて、画像４３２上における画素値の勾配強度を各画素の画素値として含む勾配画像を生成し、特徴線集合４３９に含まれる特徴線を長さ方向に延長することで延長特徴線を生成する。画素値の勾配は、画素値の変化を表し、勾配強度は、画素値の変化の大きさを表す。
【００５５】
次に、選択部４１８は、特徴線集合４３９から生成された複数の延長特徴線それぞれが勾配画像上で通過する画素の画素値に基づいて、複数の延長特徴線それぞれの評価値を計算する。そして、選択部４１８は、複数の延長特徴線それぞれの評価値に基づいて、特定の延長特徴線を選択し、その延長特徴線に対応する延長前の特徴線を、対象特徴線として選択する。
【００５６】
次に、パラメータ計算部４１９は、対応ペア集合４３６に含まれるＮ個の対応ペアの中から、ｋ個の対応ペアを選択し、選択したｋ個の対応ペアを用いて、撮像装置４０２の位置及び姿勢を計算する。そして、パラメータ計算部４１９は、計算した位置及び姿勢を表すパラメータを、パラメータ４３７として記憶部４１１に格納する。例えば、パラメータ４３７としては、式（１）のＲ及びＴを用いることができる。
【００５７】
パラメータ計算部４１９は、ｋ個の対応ペアの選択を変更しながら、パラメータ４３７を計算する処理を複数回繰り返す。投影部４１５は、パラメータ４３７が計算される度に、そのパラメータ４３７が表すＲ及びＴを用いて、対応ペア集合４３６内の残りのＮ−ｋ個の対応ペアに含まれる３Ｄ線分を、画像４３２上に投影することで、Ｎ−ｋ本の投影線を生成する。
【００５８】
次に、パラメータ計算部４１９は、生成した投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、Ｎ−ｋ個の対応ペアそれぞれの誤差の統計値を計算する。誤差の統計値としては、中央値、平均値、最小値等を用いることができる。そして、パラメータ計算部４１９は、それぞれのパラメータ４３７を用いて計算した統計値の最小値を求め、求めた最小値を計算する際に用いられたパラメータ４３７を選択する。
【００５９】
次に、投影部４１５は、選択されたパラメータ４３７が表すＲ及びＴを用いて、対応ペア集合４３６に含まれる３Ｄ線分を、画像４３２上に再度投影することで、投影線を生成する。これにより、ＣＡＤデータ４３１が表す物体の形状が、画像４３２に重畳される。そして、計算部４２０は、生成された投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、計算した誤差に基づいて、その投影線に対応する３Ｄ線分と特徴線との間のずれ量を計算する。
【００６０】
表示部４２１は、対応ペア集合４３６の一部又は全部を画面上に表示することで、物体の形状と画像４３２とを重畳表示する。さらに、表示部４２１は、表示された各対応ペアに対して計算されたずれ量を表示する。
【００６１】
図５は、図２の画像処理装置２０１が行う画像処理の例を示している。まず、特徴線検出部４１３は、立方体の形状を有する物体の画像から特徴線５０１を検出する（手順Ｐ１）。この例では、物体の１２本の稜線（境界線）のうち、９本の稜線が画像に写っており、それらの稜線を表す９本の特徴線５０１が検出されている。そのうち６本の特徴線５０１の長さが所定値以上であり、残りの３本の特徴線５０１の長さは所定値よりも短い。
【００６２】
次に、投影部４１５は、その物体のＣＡＤデータに含まれる３Ｄ線分の投影線５０２を生成し、表示部４２１は、画面上に投影線５０２と特徴線５０１とを重畳表示する（手順Ｐ２）。生成部４１７は、所定値よりも短い特徴線５０１を除外して対応ペア集合４３６を生成する。
【００６３】
手順Ｐ２において、選択部４１８により対応ペアが追加される前の対応ペア集合４３６を用いて、３Ｄ線分と特徴線との間のずれ量を表示する場合、所定値以上の長さを有する６本の特徴線５０１が、ずれ量の表示対象となる。
【００６４】
次に、選択部４１８は、所定値よりも短い３本の特徴線に対応する稜線が存在する可能性がある領域５０３内で、各投影線に基づく調整領域を生成する（手順Ｐ３）。領域５０３内には、９本の特徴線５０１以外にも、所定値よりも短い特徴線５０４が含まれていることがある。
【００６５】
そこで、選択部４１８は、各調整領域と重なる複数の短い特徴線を延長することで、複数の延長特徴線を生成し（手順Ｐ４）、各延長特徴線の評価値に基づいて、特定の延長特徴線を選択する（手順Ｐ５）。
【００６６】
手順Ｐ５において、選択部４１８が特定の延長特徴線に対応する延長前の特徴線を用いて、３個の対応ペアを対応ペア集合４３６に追加することで、９本の特徴線がずれ量の表示対象となる。したがって、手順Ｐ２においてずれ量を表示する場合よりも、ずれ量の表示対象が３本だけ増加する。
【００６７】
図４の画像処理装置４０１によれば、物体の境界線よりも短い、細切れになった複数の特徴線が画像から検出された場合であっても、最適な特徴線を選択して、物体の形状の誤差を特定することが可能になる。また、細切れになった複数の特徴線の中から最適な特徴線を選択することで、ずれ量の表示対象が増加するため、物体の形状をより詳細に検査することができる。例えば、製品の形状検査において製造不良を発見する機会が増加し、不良品の出荷を防止することができる。
【００６８】
図６は、投影線情報４３８の例を示している。図６の投影線情報４３８は、直線番号と、３Ｄ線分の端点１及び端点２と、投影線の端点１及び端点２とを含む。直線番号は、３Ｄ線分の識別情報であり、３Ｄ線分の端点１は、３Ｄ線分の一方の端点の３次元座標を表し、３Ｄ線分の端点２は、同じ３Ｄ線分の他方の端点の３次元座標を表す。投影線の端点１は、３Ｄ線分に対応する投影線の一方の端点の２次元座標を表し、投影線の端点２は、同じ投影線の他方の端点の２次元座標を表す。３次元座標の単位はｍｍであり、２次元座標の単位は画素数である。
【００６９】
図７は、選択部４１８によって生成される調整領域の例を示している。図７（ａ）は、図１（ａ）に示した物体の投影線の例を示しており、図７（ｂ）は、図７（ａ）の各投影線から生成された調整領域の例を示している。図７（ｂ）の各太線が、１つの調整領域を表す。
【００７０】
図７（ａ）の各投影線を幅方向に拡張し、かつ、長さ方向に短縮することで、図７（ｂ）の各調整領域が生成される。例えば、投影線の太さが１画素である場合、調整領域の太さは５画素〜１５画素であってもよい。また、調整領域の長さは、投影線の９０％〜９５％の長さであってもよい。
【００７１】
図８は、選択部４１８が行う特徴線延長処理の例を示している。選択部４１８は、図１（ａ）に示した物体の画像から検出された、延長前の領域８０１内の短い特徴線のうち、各調整領域８０２と重なる複数の特徴線を選択する。例えば、選択部４１８は、調整領域８０２に特徴線の中点が含まれる場合、その特徴線が調整領域８０２と重なっていると判定する。
【００７２】
次に、選択部４１８は、各調整領域８０２と選択された複数の特徴線に対して、同じグループを示すグループ識別情報を付与する。これにより、それらの特徴線と調整領域８０２とが関連付けられる。例えば、各調整領域８０２に対応する投影線の識別情報が、グループ識別情報として用いられる。
【００７３】
そして、選択部４１８は、延長後の領域８０１に示されるように、特徴線のグループ毎に、各特徴線を延長して延長特徴線を生成する。このとき、以下のような条件の下で延長特徴線が生成される。
（Ｃ１１）延長特徴線の長さは、投影線の長さに基づいて決められる最大長を超えない。
（Ｃ１２）特徴線の長さ方向に、その特徴線の２つの端点の両方又は片方から延長する。
（Ｃ１３）延長特徴線の端点は、調整領域に含まれる。
【００７４】
例えば、各グループの延長特徴線の最大長としては、そのグループのグループ識別情報を有する投影線の長さの４０％〜６０％の値を用いることができる。選択部４１８は、（Ｃ１１）〜（Ｃ１３）の条件に基づき、例えば、次式を用いて、グループ識別情報として識別子ｎが付与されたｍ番目（ｍ＝１，２，．．．）の特徴線の終点側を延長する。
【００７５】
【数２】
2020148625.tif 000004
【００７６】
式（２）のＰｓ（ｍ）、Ｐｅ（ｍ）、Ｐｅ´（ｍ，ｔ）、Ｅｓｅ（ｍ）、ｔ、Ｌ、及びＸｎの定義は、以下の通りである。
Ｐｓ（ｍ）：ｍ番目の特徴線の始点の２次元座標を示すベクトル
Ｐｅ（ｍ）：ｍ番目の特徴線の終点の２次元座標を示すベクトル
Ｐｅ´（ｍ，ｔ）：延長されたｍ番目の特徴線の終点の２次元座標を示すベクトル
Ｅｓｅ（ｍ）：ｍ番目の特徴線の始点から終点へ向かう方向の単位ベクトル
ｔ：２次元座標の変更量を示すパラメータ
Ｌ：識別子ｎを有する調整領域に対応する投影線の長さ
Ｘｎ：識別子ｎを有する調整領域に含まれる画素の２次元座標を示すベクトルの集合
【００７７】
また、選択部４１８は、次式を用いて、ｍ番目の特徴線の始点側を延長する。
【００７８】
【数３】
2020148625.tif 000005
【００７９】
式（３）のＰｓ´（ｍ，ｔ）及びＥｅｓ（ｍ）の定義は、以下の通りである。
Ｐｓ´（ｍ，ｔ）：延長されたｍ番目の特徴線の始点の２次元座標を示すベクトル
Ｅｅｓ（ｍ）：ｍ番目の特徴線の終点から始点へ向かう方向の単位ベクトル
【００８０】
このような特徴線延長処理を疑似コードを用いて記述すると、以下のようになる。
ｆｏｒ  すべての特徴線
ｉｆ  特徴線に識別子ｎが付与されている
ｉｆ  特徴線の長さがＬの５０％以上
ｅｎｄ
ｅｌｓｅ
ｗｈｉｌｅ  ｔｒｕｅ
Ｐｓ（ｍ）及びｔから式（３）によりＰｓ´（ｍ，ｔ）を計算
ｉｆ  Ｐｓ´（ｍ，ｔ）がＸｎに含まれる
かつ  Ｐｓ´（ｍ，ｔ）に更新した場合の特徴線の長さがＬの５０％未満
Ｐｓ（ｍ）をＰｓ´（ｍ，ｔ）に更新
ｅｎｄ
Ｐｅ（ｍ）及びｔから式（２）によりＰｅ´（ｍ，ｔ）を計算
ｉｆ  Ｐｅ´（ｍ，ｔ）がＸｎに含まれる
かつ  Ｐｅ´（ｍ，ｔ）に更新した場合の特徴線の長さがＬの５０％未満
Ｐｅ（ｍ）をＰｅ´（ｍ，ｔ）に更新
ｅｎｄ
ｉｆ  Ｐｓ（ｍ）又はＰｅ（ｍ）のいずれも更新されていない
ｗｈｉｌｅを抜ける
ｅｎｄ
ｔを１だけインクリメント
ｅｎｄ
ｅｎｄ
ｅｎｄ
ｅｎｄ
【００８１】
投影線を幅方向に拡張することで、ｋ個の初期対応ペアを用いて計算された撮像装置４０２の位置及び姿勢に誤差が含まれている場合であっても、投影線の周辺に存在する特徴線をその投影線のグループに含めることが可能になる。また、投影線を長さ方向に短縮することで、計算された撮像装置４０２の位置及び姿勢に誤差が含まれている場合であっても、物体の境界線が存在しない領域まで特徴線が延長されることを抑制できる。
【００８２】
図９は、投影線を幅方向に拡張した場合の効果の例を示している。図９（ａ）は、図１（ａ）に示した物体の画像から、投影線と同じ太さの調整領域を用いて生成された延長特徴線の例を示している。この場合、投影線と画像４３２との重畳結果が少しずれただけで、投影線の周辺に存在する短い特徴線が調整領域と重ならなくなり、その特徴線が選択対象から除外される。したがって、短い最適な特徴線が選択されない可能性が高くなる。図９（ａ）の５本の矢印は、選択対象から除外されて、ずれ量が表示されない特徴線の位置を示している。
【００８３】
一方、図９（ｂ）は、投影線を幅方向に拡張した調整領域を用いて生成された延長特徴線の例を示している。この場合、５本の矢印が示す位置に延長特徴線が生成され、ずれ量の表示対象が増加している。
【００８４】
図１０は、投影線を長さ方向に短縮した場合の効果の例を示している。図１０（ａ）は、図１（ａ）に示した物体の画像の一部の領域において、投影線と同じ長さの調整領域を用いて生成された延長特徴線の例を示している。この場合、重畳結果が少しずれただけで、物体の境界線が存在しない領域まで特徴線が延長される可能性が高くなる。
【００８５】
本来、物体の境界線が存在しない領域からは特徴線が検出されないため、そのような領域から検出された特徴線は、物体の境界線ではなく、影、傷等を表している。したがって、投影線の端点に対してその長さ方向にずれている端点を有する特徴線は、誤った特徴線である可能性が高い。生成された延長特徴線の端点が物体の境界線の端点を超えてしまうと、特定の延長特徴線を選択する際に、誤った特徴線と同様の効果を与えてしまうため、誤った延長特徴線が選択される可能性が高くなる。
【００８６】
図１０（ａ）の矢印１００１及び矢印１００２は、物体の境界線の端点を示しており、矢印１０１１及び矢印１０１２は、生成された延長特徴線の端点を示している。これらの延長特徴線の端点は、物体の境界線の端点を超えている。
【００８７】
一方、図１０（ｂ）は、投影線を長さ方向に短縮した調整領域を用いて生成された延長特徴線の例を示している。矢印１０２１及び矢印１０２２は、物体の境界線の端点を示しており、矢印１０３１及び矢印１０３２は、生成された延長特徴線の端点を示している。これらの延長特徴線の端点は、物体の境界線の端点を超えていない。したがって、最適な特徴線に対応する延長特徴線が、特定の延長特徴線として選択される可能性が高くなる。
【００８８】
図１１は、選択部４１８が行う対象特徴線選択処理の例を示している。選択部４１８は、画像４３２に対するエッジ検出処理を行って各画素の勾配強度を求め、勾配画像１１０１を生成する。この場合、勾配画像１１０１上で画素値が大きい画素ほど、エッジ線に該当する可能性が高くなる。
【００８９】
そして、選択部４１８は、選択前の領域８０１内において、延長特徴線のグループ毎に、複数の延長特徴線それぞれが勾配画像１１０１上で通過する画素の画素値（勾配強度）に基づいて、各延長特徴線の評価値を表す重畳スコアを計算する。例えば、重畳スコアとしては、延長特徴線が通過する画素の画素値の統計値を用いることができる。
【００９０】
画素値の統計値は、総和、平均値、中央値、最頻値等であってもよい。また、画素値の統計値は、所定値以上の画素値が出現する出現回数であってもよい。このような重畳スコアを用いた場合、重畳スコアが大きいほど、その延長特徴線がエッジ線と重なっている度合いが大きいと解釈できる。
【００９１】
そこで、選択部４１８は、延長特徴線のグループ毎に、最大の重畳スコアを有する延長特徴線を選択する。選択後の領域８０１内において、矢印１１１１が示す延長特徴線と、矢印１１１２が示す延長特徴線とが選択されている。そして、選択部４１８は、選択された延長特徴線に対応する延長前の特徴線を、対象特徴線として選択する。
【００９２】
図１２は、識別子０が付与されたグループの特徴線集合４３９の例を示している。図１２の特徴線集合４３９は、Ｉｎｄｅｘ、識別子、特徴線（延長前）の端点１及び端点２と、特徴線（延長後）の端点１及び端点２と、投影線の端点１及び端点２と、重畳スコアと、選択結果とを含む。
【００９３】
Ｉｎｄｅｘは、特徴線の識別情報である。識別子０は、グループ識別情報を表し、投影線の識別情報と同一である。特徴線（延長前）の端点１は、特徴線の始点の２次元座標を表し、特徴線（延長前）の端点２は、同じ特徴線の終点の２次元座標を表す。特徴線（延長後）の端点１は、延長特徴線の始点の２次元座標を表し、特徴線（延長後）の端点２は、同じ延長特徴線の終点の２次元座標を表す。投影線の端点１は、投影線の一方の端点の２次元座標を表し、投影線の端点２は、同じ投影線の他方の端点の２次元座標を表す。２次元座標の単位は画素数である。
【００９４】
重畳スコアは、延長特徴線の評価値を表し、選択結果は、評価値に基づいて選択された特徴線及び延長特徴線を示す。図１２では、まだ重畳スコアが計算されていないため、すべての延長特徴線の重畳スコアが、初期値−１に設定されており、選択結果は記録されていない。このような特徴線集合４３９によって、同じ識別子が付与された特徴線と投影線とが関連付けられる。
【００９５】
図１３は、重畳スコア計算処理の例を示している。勾配画像１３０１の各矩形は画素を表し、矩形内の数値は画素値を表す。この例では、各画素の画素値は０又は２５０である。画素値が２５０である画素は、画素値が０である画素よりも、エッジ線に該当する可能性が高い。
【００９６】
選択部４１８は、延長特徴線１３０２の始点１３１１から終点１３１６へ向かって、延長特徴線１３０２と同じ傾きを有する単位ベクトル（矢印）を整数倍することで、その単位ベクトルを始点１３１１から延長していく。そして、選択部４１８は、始点１３１１、点１３１２〜点１３１５、及び終点１３１６それぞれの位置を含む画素の画素値を取得し、取得した画素値の総和を重畳スコアとして求める。この場合、０、０、０、０、２５０、及び２５０の６個の画素値が取得され、重畳スコアは５００となる。
【００９７】
選択部４１８は、例えば、次式を用いて、グループ識別情報として識別子ｎが付与されたｍ番目の延長特徴線の重畳スコアＳ（ｍ）を計算する。
【００９８】
【数４】
2020148625.tif 000006
Ｓ（ｍ）＝ΣＶ（Ｑｅ´（ｍ，ｔ））      （５）
【００９９】
式（４）のＱｓ（ｍ）、Ｑｅ（ｍ）、Ｑｅ´（ｍ，ｔ）、Ｅｓｅ（ｍ）、ｔ、及びＸｎの定義は、以下の通りである。
Ｑｓ（ｍ）：ｍ番目の延長特徴線の始点の２次元座標を示すベクトル
Ｑｅ（ｍ）：ｍ番目の延長特徴線の終点の２次元座標を示すベクトル
Ｑｅ´（ｍ，ｔ）：ｍ番目の延長特徴線上における点の２次元座標を示すベクトル
Ｅｓｅ（ｍ）：ｍ番目の特徴線の始点から終点へ向かう方向の単位ベクトル
ｔ：２次元座標の変更量を示すパラメータ
Ｘｎ：識別子ｎを有する調整領域に含まれる画素の２次元座標を示すベクトルの集合
【０１００】
式（５）のＶ（Ｑｅ´（ｍ，ｔ））は、勾配画像上でＱｅ´（ｍ，ｔ）が示す点を含む画素の画素値を表し、Σは、パラメータｔに関する総和を表す。
【０１０１】
選択部４１８は、式（５）の代わりに、別の計算式を用いて重畳スコアを計算することもできる。例えば、延長特徴線が通過する画素の画素値の統計値に対して、所定の係数を乗算した値を、重畳スコアとして用いてもよい。所定の係数は、延長特徴線の長さであってもよく、同じ識別子を有する複数の延長特徴線に対する統計値の分布から、平均値及び分散を考慮した係数であってもよい。
【０１０２】
図１４は、図１２の特徴線集合４３９に対する重畳スコアの計算結果の例を示している。選定結果の“〇”は、選択された特徴線及び延長特徴線を示し、“×”は、選択されなかった特徴線及び延長特徴線を示している。この例では、識別子０が付与された特徴線のうち、Ｉｎｄｅｘ“２２２”の特徴線に対応する延長特徴線の重畳スコアが最大であるため、これらの特徴線及び延長特徴線が選択される。
【０１０３】
特徴線集合４３９に含まれる特徴線を調整領域内で延長することで、最適な特徴線が短い場合であっても、その特徴線を延長した延長特徴線の重畳スコアは大きな値になる。一方、ノイズを表す特徴線を延長しても、延長特徴線の重畳スコアはあまり増加しない。したがって、延長特徴線の重畳スコアを用いることで、特徴線集合４３９に含まれる各特徴線を正しく評価して、最適な特徴線を選択することが可能になる。
【０１０４】
図１５は、画面上に表示されたずれ量の例を示している。図１５（ａ）は、選択部４１８により対応ペアが追加される前の対応ペア集合４３６を用いて表示されたずれ量の例を示している。この例では、対応ペア集合４３６に含まれる各対応ペアが、図１（ａ）に示した物体の画像上に重畳表示されている。
【０１０５】
投影線及び特徴線の近くに表示された数値は、投影線の位置と特徴線の位置との間の誤差を、単位をｍｍとする３次元空間内の距離に変換したずれ量を表す。５本の矢印は、ずれ量が表示されていない投影線を示している。
【０１０６】
一方、図１５（ｂ）は、選択部４１８により対応ペアが追加された後の対応ペア集合４３６を用いて表示されたずれ量の例を示している。図１５（ｂ）では、５本の矢印が示す投影線のずれ量が表示されており、ずれ量の表示対象が増加している。
【０１０７】
計算部４２０は、３次元空間内におけるずれ量Ｅｒｒ［ｍｍ］を、次式により計算することができる。
【０１０８】
Ｅｒｒ＝（ＬＡ／ＬＢ）＊ｈ      （６）
【０１０９】
式（６）のＬＡは、対応ペアに含まれる３Ｄ線分の３次元空間内における長さ（ｍｍ）を表し、ＬＢは、その３Ｄ線分の投影線の長さ（画素数）を表す。ｈは、画像４３２上で、対応ペアに含まれる特徴線の両端から投影線に対して下した垂線の長さ（画素数）の平均値を表す。
【０１１０】
図１６は、図４の画像処理装置４０１が行う画像処理の具体例を示すフローチャートである。まず、特徴線検出部４１３は、画像４３２から複数の特徴線４３３を検出し（ステップ１６０１）、線分検出部４１４は、ＣＡＤデータ４３１から複数の３Ｄ線分４３４を検出する（ステップ１６０２）。
【０１１１】
次に、生成部４１７は、特徴線４３３及び３Ｄ線分４３４から、ｋ個の初期対応ペアを生成し（ステップ１６０３）、パラメータ計算部４１９は、ｋ個の初期対応ペアを用いて、撮像装置４０２の位置及び姿勢を計算する（ステップ１６０４）。
【０１１２】
投影部４１５は、撮像装置４０２の位置及び姿勢を用いて、３Ｄ線分４３４を画像４３２上に投影することで、投影線を生成し、表示部４２０は、投影線及び特徴線４３３を画像４３２上に重畳表示する（ステップ１６０５）。そして、生成部４１７は、ｋ個の初期対応ペアを対応ペア集合４３６に追加する。
【０１１３】
次に、選択部４１８は、画像４３２から勾配画像を生成し（ステップ１６０６）、各投影線に識別子を付与する（ステップ１６０７）。次に、選択部４１８は、各投影線と同じ識別子を有する調整領域を生成し、各調整領域と重なる特徴線４３３を抽出して、特徴線集合４３９を生成する（ステップ１６０８）。そして、選択部４１８は、特徴線集合４３９に含まれる各特徴線に対して、特徴線延長処理を行う（ステップ１６０９）。
【０１１４】
次に、選択部４１８は、各調整領域について、延長された特徴線が存在するか否かをチェックする（ステップ１６１０）。延長された特徴線が存在する場合（ステップ１６１０，ＹＥＳ）、選択部４１８は、生成された延長特徴線の重畳スコアに基づいて、特徴線集合４３９に含まれるいずれかの特徴線を選択する（ステップ１６１１）。そして、選択部４１８は、投影線が表す３Ｄ線分４３４と選択された特徴線とを含む対応ペアを、対応ペア集合４３６に追加する（ステップ１６１２）。
【０１１５】
一方、延長された特徴線が存在しない場合（ステップ１６１０，ＮＯ）、生成部４１７は、投影線が表す３Ｄ線分４３４と所定の条件を満たす特徴線とを含む対応ペアを、対応ペア集合４３６に追加する（ステップ１６１２）。
【０１１６】
次に、投影部４１５は、対応ペア集合４３６に含まれる対応ペアの３Ｄ線分を、画像４３２上に再度投影することで、投影線を生成し、計算部４２０は、生成された投影線を用いて、３Ｄ線分と特徴線との間のずれ量を計算する。そして、表示部４２１は、投影線と対応ペアの特徴線とを画像４３２上に重畳表示し、投影線と特徴線との組み合わせ毎にずれ量を表示する（ステップ１６１３）。
【０１１７】
図１７は、特徴線延長処理によって対応ペア集合４３６に対応ペアが追加された場合の対応ペアの増分の例を示している。図１７（ａ）は、物体Ａ１に対する実験結果を示しており、図１７（ｂ）は、物体Ａ２に対する実験結果を示している。この実験では、４個の対応ペアを用いて、撮像装置４０２の位置及び姿勢が計算されている。
【０１１８】
画像番号は、各物体を撮影した複数の画像を識別する識別情報である。図１７（ａ）では、画像番号“３”〜画像番号“７”の５枚の画像が用いられており、図１７（ｂ）では、画像番号“１”〜画像番号“６”の６枚の画像が用いられている。
【０１１９】
ｐａｔｔｅｒｎは、撮像装置４０２の位置及び姿勢の計算に用いられた４個の対応ペアの集合を識別する識別情報である。４個の対応ペアの組み合わせが変化すると、生成される投影線も変化するため、ｐａｔｔｅｒｎ毎に異なる実験結果が得られる。図１７（ａ）及び図１７（ｂ）では、ｐａｔｔｅｒｎ“１”〜ｐａｔｔｅｒｎ“３”の３通りの集合が用いられている。
【０１２０】
各ｐａｔｔｅｒｎが示す行と各画像番号が示す列とに対応するセル内の数値は、対応ペア集合４３６に含まれる投影線の本数に対する、特徴線延長処理によって選択された特徴線の本数の割合（％）を表す。この割合は、特徴線延長処理による対応ペアの増分に対応する。
【０１２１】
ａｖｅは、ｐａｔｔｅｒｎ“１”〜ｐａｔｔｅｒｎ“３”に対して得られた増分の平均値を表す。図１７（ａ）では、５枚の画像に対するａｖｅの平均値は約６％であり、図１７（ｂ）では、６枚の画像に対するａｖｅの平均値は約１１％である。対応ペアの増分に応じて、ずれ量の表示対象も増加する。
【０１２２】
図１６のステップ１６０６において、選択部４１８は、各投影線の位置及び傾きに応じたフィルタ係数を有するエッジ検出フィルタを用いて、画像４３２に対するエッジ検出処理を行うことで、勾配画像を生成することもできる。例えば、選択部４１８は、投影線の傾きに合わせてエッジ検出フィルタを回転させ、フィルタ係数を再配分することで、その投影線に適したエッジ検出フィルタを生成する。
【０１２３】
図１８は、エッジ検出フィルタの例を示している。図１８（ａ）は、３×３のエッジ検出フィルタの例を示している。図１８（ａ）のエッジ検出フィルタは、フィルタ係数Ｉ１〜フィルタ係数Ｉ９を含む。
【０１２４】
図１８（ｂ）は、図１８（ａ）のエッジ検出フィルタを回転させることで得られる、回転後のエッジ検出フィルタの例を示している。回転後のエッジ検出フィルタは、フィルタ係数Ｉ１´〜フィルタ係数Ｉ９´を含む。
【０１２５】
投影線が角度θだけ傾いている場合、選択部４１８は、エッジ検出フィルタを角度θだけ回転させる。例えば、エッジ検出フィルタを３×３の小さな画像とみなして、回転後の位置の画素と回転前の位置の画素とをバイリニア補間で対応付けることにより、回転後のエッジ検出フィルタのフィルタ係数を求めることができる。この場合、回転前のエッジ検出フィルタ上の位置は、座標（ｘ，ｙ）により表される。
【０１２６】
まず、選択部４１８は、回転後のエッジ検出フィルタにおけるｊ番目（ｊ＝１〜９）のフィルタ係数の座標（ｘｊ´，ｙｊ´）から、回転前のエッジ検出フィルタにおける座標（ｘｊ，ｙｊ）を、次式により計算する。
【０１２７】
【数５】
2020148625.tif 000007
【０１２８】
図１８（ａ）の点１８０１は、回転によって図１８（ｂ）の点１８０２に移動する。この場合、回転後のフィルタ係数Ｉ６´の座標は（ｘ６´，ｙ６´）であり、フィルタ係数Ｉ６´の回転前の座標は（ｘ６，ｙ６）である。
【０１２９】
図１９は、図１８（ｂ）の回転後のエッジ検出フィルタにおけるフィルタ係数の計算方法の例を示している。図１９（ａ）は、回転前の点１８０１に対する最近傍の４点の例を示している。この例では、点１９０１〜点１９０４が、点１８０１に対する最近傍の４点に相当する。
【０１３０】
図１９（ｂ）は、バイリニア補間による回転後のフィルタ係数の計算方法の例を示している。点１９０１の座標は（ｘ，ｙ）であり、点１９０２の座標は（ｘ＋１，ｙ）であり、点１９０３の座標は（ｘ，ｙ＋１）であり、点１９０４の座標は（ｘ＋１，ｙ＋１）である。
【０１３１】
パラメータａは、ｘ方向における点１９０１と点１９０２との距離に対する、点１９０１と点１８０１との距離の比率を表す。また、パラメータｂは、ｙ方向における点１９０１と点１９０３との距離に対する、点１９０１と点１８０１との距離の比率を表す。
【０１３２】
Ｉ（ｘ，ｙ）は、点１９０１のフィルタ係数であり、Ｉ（ｘ＋１，ｙ）は、点１９０２のフィルタ係数であり、Ｉ（ｘ，ｙ＋１）は、点１９０３のフィルタ係数であり、Ｉ（ｘ＋１，ｙ＋１）は、点１９０４のフィルタ係数である。
【０１３３】
選択部４１８は、点１９０１〜点１９０４のフィルタ係数、パラメータａ、及びパラメータｂを用いて、次式のバイリニア補間により、回転後の座標（ｘ´，ｙ´）におけるフィルタ係数Ｉ´（ｘ´，ｙ´）を計算する。
【０１３４】
Ｉ´（ｘ´，ｙ´）
＝（１−ａ）（１−ｂ）Ｉ（ｘ，ｙ）＋ａ（１−ｂ）Ｉ（ｘ＋１，ｙ）
＋（１−ａ）ｂＩ（ｘ，ｙ＋１）＋ａｂＩ（ｘ＋１，ｙ＋１）          （１２）
【０１３５】
図２０は、再配分後のエッジ検出フィルタの例を示している。選択部４１８は、式（１２）により、図１８（ｂ）のフィルタ係数Ｉ１´〜フィルタ係数Ｉ９´を求めた後、次式により、フィルタ係数Ｉ１´〜フィルタ係数Ｉ９´の絶対値の総和Ｓを計算する。
【０１３６】
Ｓ＝Σ｜Ｉｊ´｜      （１３）
【０１３７】
式（１３）のΣは、ｊ＝１〜９に関する総和を表す。次に、選択部４１８は、各フィルタ係数Ｉｊ´を総和Ｓで除算することで、フィルタ係数Ｉｊ´を正規化する。そして、選択部４１８は、正規化されたエッジ検出フィルタを、投影線と同じ識別子を有する調整領域及びその周辺領域に対して適用することで、エッジ検出処理を行う。例えば、調整領域の周辺領域としては、調整領域を数画素〜１０画素だけ膨張させた領域を用いることができる。
【０１３８】
図２１は、フィルタ係数の具体例を示している。図２１（ａ）は、回転前のエッジ検出フィルタに相当するソーベルフィルタの例を示している。図２１（ｂ）は、４５°だけ傾いた投影線２１０１に合わせて、４５°だけ回転させたソーベルフィルタの例を示しており、図２１（ｃ）は、再配分後のエッジ検出フィルタの例を示している。
【０１３９】
このようなエッジ検出フィルタを用いてエッジ検出処理を行うことで、画像４３２内の画素値の乱れ（ノイズ）を抑制しつつ、投影線と類似する傾きを有することが期待される、本来のエッジ線を高感度で検出できる。これにより、画像４３２に写っている物体の境界線に忠実な重畳スコアを求めることが可能になる。したがって、エッジ検出精度を重視する場合に有効な処理である。
【０１４０】
選択部４１８は、複数のパラメータそれぞれを用いて画像４３２に対するエッジ検出処理を行うことで、複数のエッジ画像を生成し、それらのエッジ画像を用いて勾配画像を生成することもできる。この場合、エッジ検出処理のパラメータとしては、処理対象画像のサイズ（縦横の長さ）、勾配強度に対する閾値等が用いられる。
【０１４１】
画像４３２のサイズに対する処理対象画像のサイズの比率として、複数の比率を用いることで、複数の処理対象画像が生成され、それらの処理対象画像に対するエッジ検出処理を行うことで、複数のエッジ画像が生成される。処理対象画像のサイズの比率は、５０％〜１００％の範囲の比率であってもよい。また、勾配強度に対する複数の閾値を用いることで、それらの閾値に基づく複数のエッジ画像を生成することもできる。
【０１４２】
選択部４１８は、例えば、次式により複数のエッジ画像を平均化することで、勾配画像を生成する。
【０１４３】
【数６】
2020148625.tif 000008
【０１４４】
式（１４）のＶ（ｉ，ｊ）は、勾配画像の２次元座標（ｉ，ｊ）における画素値を表し、Ｖｇ（ｉ，ｊ）は、ｇ番目（ｇ＝１〜Ｇ）のエッジ画像の２次元座標（ｉ，ｊ）における画素値を表し、Σは、ｇ＝１〜Ｇに関する総和を表す。Ｇ枚のエッジ画像のサイズが異なる場合、選択部４１８は、バイキュービック補間、バイリニア補間等を用いて、画素値を補間する。
【０１４５】
単一のサイズ又は単一の閾値に基づいて、画像４３２に対するエッジ検出処理を１回だけ行う場合、画像４３２内の多くのノイズが検出されたり、少量のエッジ線しか検出されなかったりすることがある。これに対して、パラメータを変更しながらエッジ検出処理を複数回繰り返すことで、様々な画像に対して勾配強度を考慮したエッジ画像を生成することができ、ノイズを抑制しつつ、より多くのエッジ線を検出することが可能になる。
【０１４６】
図２２は、複数回のエッジ検出処理を用いた重畳スコア計算処理の例を示している。図２２（ａ）は、図１３の勾配画像１３０１を用いた重畳スコア計算処理を示している。上述したように、勾配画像１３０１は１回のエッジ検出処理によって生成され、延長特徴線１３０２の重畳スコアは５００である。
【０１４７】
図２２（ｂ）は、複数回のエッジ検出処理を用いた重畳スコア計算処理の例を示している。勾配画像２２０１は複数回のエッジ検出処理によって生成され、各画素の画素値は０、１００、１５０、又は２５０である。このように、１回のエッジ検出処理では検出されなかったエッジ線が検出され、そのエッジ線が弱いエッジ線であることが画素値に反映されている。この場合、矢印が示す単位ベクトルを延長していくことで、０、１００、１５０、１５０、２５０、及び２５０の６個の画素値が取得され、延長特徴線１３０２の重畳スコアは９００となる。
【０１４８】
図２２（ｃ）は、勾配画像２２０１を用いた２本の延長特徴線に対する重畳スコア計算処理の例を示している。延長特徴線１３０２と部分的に重なる延長特徴線２２０２が存在する場合、延長特徴線２２０２と同じ傾きを有する単位ベクトル（矢印）を延長していくことで、０、０、０、０、２５０、及び２５０の６個の画素値が取得される。したがって、延長特徴線２２０２の重畳スコアは５００となる。
【０１４９】
この場合、延長特徴線２２０２よりも大きな重畳スコアを有する延長特徴線１３０２が、特定の延長特徴線として選択される。このように、勾配画像１３０１の代わりに、弱いエッジ線を示す画素を含む勾配画像２２０１を用いることで、より正確に延長特徴線を選択することが可能になる。
【０１５０】
図１６のステップ１６１１において、選択部４１８は、複数の投影線それぞれから生成された特徴線集合４３９に基づいて、重畳スコアに対する閾値を設定し、その閾値を用いて各調整領域から、特定の延長特徴線を選択することもできる。
【０１５１】
この場合、選択部４１８は、複数の特徴線集合４３９それぞれから生成された延長特徴線の重畳スコアを計算し、それらの延長特徴線の重畳スコアを用いて閾値を設定する。そして、選択部４１８は、その閾値を用いて、各特徴線集合４３９から生成された複数の延長特徴線の中から、複数の候補特徴線を抽出し、それらの候補特徴線の中から特定の延長特徴線を選択する。
【０１５２】
例えば、選択部４１８は、すべての調整領域におけるすべての延長特徴線の重畳スコアの統計値を計算し、各調整領域において、その統計値から標準偏差の定数倍以上離れた重畳スコアを有する延長特徴線を除外する。そして、選択部４１８は、残りの延長特徴線、すなわち、標準偏差の定数倍未満の範囲の重畳スコアを有する延長特徴線を、候補特徴線として抽出する。重畳スコアの統計値は、平均値、中央値等であってもよい。標準偏差の定数倍としては、２倍又は３倍を用いることができる。
【０１５３】
延長特徴線を絞り込んだ場合、ずれ量の表示対象が減少する可能性があるが、画像４３２全体から検出されたすべての特徴線に基づいて、延長特徴線の重畳スコアを比較することで、より厳しい基準で延長特徴線を評価することができる。したがって、より高精度に延長特徴線を選択したい場合に有効な処理である。
【０１５４】
図１６のステップ１６１１において、選択部４１８は、画像４３２上における画素値の勾配の方向（勾配方向）に基づいて、重畳スコアを計算することもできる。
【０１５５】
この場合、選択部４１８は、画像４３２の各画素について勾配方向を求め、各画素の勾配方向と垂直な法線方向を求め、投影線の方向と各画素の法線方向との間の類似度を求める。そして、選択部４１８は、求めた類似度に基づいて、勾配画像から重畳スコアの計算に用いる画素を選択し、選択された画素の画素値を用いて、各延長特徴線の重畳スコアを計算する。
【０１５６】
例えば、選択部４１８は、画像４３２の各画素の勾配方向と垂直な法線方向を示す単位ベクトルＥｏｒｉを、次式により計算する。
【０１５７】
【数７】
2020148625.tif 000009
【０１５８】
Ｅｏｒｉ
＝（ｓｉｎ（θ（Ｖ（ｘ，ｙ）），−ｃｏｓ（θ（Ｖ（ｘ，ｙ））））      （１６）
【０１５９】
式（１５）のＶ（ｘ，ｙ）は、画像４３２上の座標（ｘ，ｙ）における画素の画素値を表し、θ（Ｖ（ｘ，ｙ））は、その画素の勾配方向の角度を表し、Ｅｏｒｉは、その画素におけるエッジ線の方向を表す。
【０１６０】
次に、選択部４１８は、投影線の長さ方向を示す方向ベクトルと単位ベクトルＥｏｒｉとの間の類似度αを計算する。例えば、投影線の方向ベクトルとＥｏｒｉとの間のコサイン類似度の絶対値を、類似度αとして用いることができる。そして、選択部４１８は、所定値よりも大きな類似度αを有する画素を、重畳スコアの計算に用いる画素として選択する。
【０１６１】
図２３は、画素値の勾配方向を用いた重畳スコア計算処理の例を示している。図２３（ａ）は、勾配画像の例を示している。この例では、各画素の画素値は０又は２５０である。しかし、画素２３１１〜画素２３１４の画素値は、物体の境界線とは無関係なノイズを表しているため、重畳スコアを計算する際に処理対象から除外することが望ましい。
【０１６２】
図２３（ｂ）は、各画素の勾配方向を用いない重畳スコア計算処理の例を示している。延長特徴線２３０２と同じ傾きを有する単位ベクトル（矢印）を延長していくことで、０、２５０、２５０、２５０、２５０、及び２５０の６個の画素値が取得される。したがって、延長特徴線２３０２の重畳スコアは１２５０となる。
【０１６３】
一方、別の延長特徴線２３０３と同じ傾きを有する単位ベクトル（矢印）を延長していくことで、２５０、２５０、２５０、２５０、２５０、及び２５０の６個の画素値が取得される。したがって、延長特徴線２３０３の重畳スコアは１５００となる。
【０１６４】
この場合、延長特徴線２３０３は物体の境界線を表していないにもかかわらず、延長特徴線２３０２よりも大きな重畳スコアを有するため、延長特徴線２３０３が選択されてしまう。
【０１６５】
図２３（ｃ）は、各画素の法線方向を示す単位ベクトルＥｏｒｉの例を示している。画素２３２１〜画素２３２６の法線方向は、投影線の長さ方向と近似しており、これらの画素の類似度αは所定値よりも大きくなる。一方、画素２３１１〜画素２３１４の法線方向は、投影線の長さ方向と近似しておらず、これらの画素の類似度αは所定値よりも小さくなる。
【０１６６】
したがって、各画素の勾配方向を用いた重畳スコア計算処理では、画素２３１１〜画素２３１４が処理対象から除外されて、延長特徴線２３０３の重畳スコアは５００となる。この場合、延長特徴線２３０２の重畳スコアが延長特徴線２３０３の重畳スコアよりも大きくなるため、延長特徴線２３０２が選択される。
【０１６７】
このように、各画素の勾配方向を用いることで、勾配画像からノイズの影響を除去して、正確な重畳スコアを計算することができる。これにより、より厳しい基準で延長特徴線を評価することができるため、より高精度に延長特徴線を選択したい場合に有効な処理である。
【０１６８】
図２及び図４の画像処理装置の構成は一例に過ぎず、画像処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図４の画像処理装置４０１において、事前に画像４３２が記憶部４１１に格納されている場合は、画像取得部４１２を省略することができる。外部の装置が対応ペア集合４３６を表示する場合は、表示部４２１を省略することができる。ＣＡＤデータ４３１の代わりに、物体の形状を表す他の形状情報を用いてもよい。
【０１６９】
図３及び図１６のフローチャートは一例に過ぎず、画像処理装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、外部の装置が対応ペア集合４３６を表示する場合は、図１６のステップ１６１３の処理を省略することができる。
【０１７０】
図１の画像及び特徴線、図５の投影線及び特徴線、図６の３Ｄ線分及び投影線、図１２の投影線及び特徴線は一例に過ぎず、物体の画像、３Ｄ線分、投影線、及び特徴線は、撮影対象の物体と画像処理装置の構成又は条件に応じて変化する。
【０１７１】
図７の調整領域、図８〜図１０の延長特徴線、図１１、図１３、図２２、及び図２３の勾配画像は一例に過ぎず、調整領域、延長特徴線、及び勾配画像は、撮影対象の物体と画像処理装置の構成又は条件に応じて変化する。図１４の重畳スコアは一例に過ぎず、重畳スコアは、延長特徴線及び勾配画像に応じて変化する。
【０１７２】
図１５の対応ペア及びずれ量と図１７の対応ペアの増分は一例に過ぎず、対応ペア、ずれ量、及び対応ペアの増分は、撮影対象の物体と画像処理装置の構成又は条件に応じて変化する。
【０１７３】
図１８〜図２１のエッジ検出フィルタは一例に過ぎず、画像処理装置の構成又は条件に応じて別のエッジ検出フィルタを用いてもよい。
【０１７４】
式（１）〜式（１６）の計算式は一例に過ぎず、画像処理装置の構成又は条件に応じて別の計算式を用いてもよい。
【０１７５】
図２４は、図２及び図４の画像処理装置として用いられる情報処理装置（コンピュータ）の構成例を示している。図２４の情報処理装置は、ＣＰＵ（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）等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２４０７を介して受信し、それらをメモリ２４０２にロードして使用することができる。
【０１８４】
なお、情報処理装置が図２４のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体２４０９又は通信ネットワークを使用しない場合は、媒体駆動装置２４０６又はネットワーク接続装置２４０７を省略してもよい。
【０１８５】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１８６】
図１乃至図２４を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
前記物体の画像から複数の特徴線を検出する検出部と、
前記複数の線分のうちいずれかの線分を前記物体の画像上に投影することで、対象投影線を生成する投影部と、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択する選択部と、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する計算部と、
を備えることを特徴とする画像処理装置。
（付記２）
前記選択部は、前記対象投影線を幅方向に拡張することで、前記所定領域を生成することを特徴とする付記１記載の画像処理装置。
（付記３）
前記選択部は、前記対象投影線を長さ方向に短縮することで、前記所定領域を生成することを特徴とする付記２記載の画像処理装置。
（付記４）
前記選択部は、前記複数の特徴線のうち、前記所定領域に一部分又は全体が含まれている特徴線を、前記所定領域と重なる特徴線として抽出することを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記５）
前記選択部は、前記物体の画像上における画素値の勾配の大きさを各画素の画素値として含む勾配画像を生成し、前記特徴線の集合に含まれる特徴線を長さ方向に延長することで延長特徴線を生成し、前記特徴線の集合から生成された複数の延長特徴線それぞれが前記勾配画像上で通過する画素の画素値に基づいて、前記複数の延長特徴線それぞれの評価値を計算し、前記複数の延長特徴線それぞれの評価値に基づいて、特定の延長特徴線を選択し、前記特定の延長特徴線に対応する特徴線を、前記対象特徴線として選択することを特徴とする付記１乃至４のいずれか１項に記載の画像処理装置。
（付記６）
前記選択部は、前記対象投影線の位置及び傾きに応じたフィルタ係数を有するフィルタを用いて、前記物体の画像に対するエッジ検出処理を行うことで、前記勾配画像を生成することを特徴とする付記５記載の画像処理装置。
（付記７）
前記選択部は、複数のパラメータそれぞれを用いて前記物体の画像に対するエッジ検出処理を行うことで、複数のエッジ画像を生成し、前記複数のエッジ画像を用いて前記勾配画像を生成することを特徴とする付記５記載の画像処理装置。
（付記８）
前記投影部は、前記複数の線分それぞれを前記物体の画像上に投影することで、複数の対象投影線を生成し、
前記選択部は、前記物体の画像上で前記複数の対象投影線それぞれに基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出することで、特徴線の集合を複数個生成し、複数個の集合それぞれから延長特徴線を生成し、前記複数個の集合から生成された延長特徴線の評価値を計算し、前記複数個の集合から生成された延長特徴線の評価値を用いて、評価値に対する閾値を設定し、前記閾値を用いて前記複数の延長特徴線の中から複数の候補特徴線を抽出し、前記複数の候補特徴線の中から前記特定の延長特徴線を選択することを特徴とする付記５記載の画像処理装置。
（付記９）
前記選択部は、前記物体の画像の各画素について、前記物体の画像上における画素値の勾配の方向を求め、各画素の勾配の方向と垂直な法線方向を求め、前記対象投影線の方向と各画素の法線方向との間の類似度を求め、前記類似度に基づいて、前記勾配画像から評価値の計算に用いる画素を選択し、選択された画素の画素値を用いて、前記複数の延長特徴線それぞれの評価値を計算することを特徴とする付記５記載の画像処理装置。
（付記１０）
前記物体の画像、前記対象投影線に対応する線分、前記対象特徴線、及び前記ずれ量を画面上に表示する表示部をさらに備えることを特徴とする付記１乃至９のいずれか１項に記載の画像処理装置。
（付記１１）
コンピュータによって実行される画像処理方法であって、
前記コンピュータが、
物体の画像から複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、いずれかの線分を前記物体の画像上に投影することで、対象投影線を生成し、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、
前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択し、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する、
ことを特徴とする画像処理方法。
（付記１２）
前記コンピュータは、前記対象投影線を幅方向に拡張することで、前記所定領域を生成することを特徴とする付記１１記載の画像処理方法。
（付記１３）
前記コンピュータは、前記対象投影線を長さ方向に短縮することで、前記所定領域を生成することを特徴とする付記１２記載の画像処理方法。
（付記１４）
前記コンピュータは、前記複数の特徴線のうち、前記所定領域に一部分又は全体が含まれている特徴線を、前記所定領域と重なる特徴線として抽出することを特徴とする付記１１乃至１３のいずれか１項に記載の画像処理方法。
（付記１５）
前記コンピュータは、前記物体の画像上における画素値の勾配の大きさを各画素の画素値として含む勾配画像を生成し、前記特徴線の集合に含まれる特徴線を長さ方向に延長することで延長特徴線を生成し、前記特徴線の集合から生成された複数の延長特徴線それぞれが前記勾配画像上で通過する画素の画素値に基づいて、前記複数の延長特徴線それぞれの評価値を計算し、前記複数の延長特徴線それぞれの評価値に基づいて、特定の延長特徴線を選択し、前記特定の延長特徴線に対応する特徴線を、前記対象特徴線として選択することを特徴とする付記１１乃至１４のいずれか１項に記載の画像処理方法。
（付記１６）
物体の画像から複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、いずれかの線分を前記物体の画像上に投影することで、対象投影線を生成し、
前記物体の画像上で前記対象投影線に基づく所定領域と重なる特徴線を、前記複数の特徴線の中から抽出して、特徴線の集合を生成し、
前記物体の画像上における画素値の勾配を示す勾配情報に基づいて、前記特徴線の集合から対象特徴線を選択し、
前記対象投影線に対応する線分と前記対象特徴線との間のずれ量を計算する、
処理をコンピュータに実行させるための画像処理プログラム。
（付記１７）
前記コンピュータは、前記対象投影線を幅方向に拡張することで、前記所定領域を生成することを特徴とする付記１６記載の画像処理プログラム。
（付記１８）
前記コンピュータは、前記対象投影線を長さ方向に短縮することで、前記所定領域を生成することを特徴とする付記１７記載の画像処理プログラム。
（付記１９）
前記コンピュータは、前記複数の特徴線のうち、前記所定領域に一部分又は全体が含まれている特徴線を、前記所定領域と重なる特徴線として抽出することを特徴とする付記１６乃至１８のいずれか１項に記載の画像処理プログラム。
（付記２０）
前記コンピュータは、前記物体の画像上における画素値の勾配の大きさを各画素の画素値として含む勾配画像を生成し、前記特徴線の集合に含まれる特徴線を長さ方向に延長することで延長特徴線を生成し、前記特徴線の集合から生成された複数の延長特徴線それぞれが前記勾配画像上で通過する画素の画素値に基づいて、前記複数の延長特徴線それぞれの評価値を計算し、前記複数の延長特徴線それぞれの評価値に基づいて、特定の延長特徴線を選択し、前記特定の延長特徴線に対応する特徴線を、前記対象特徴線として選択することを特徴とする付記１６乃至１９のいずれか１項に記載の画像処理プログラム。
【符号の説明】
【０１８７】
２０１、４０１  画像処理装置
２１１、４１１  記憶部
２１２  検出部
２１３、４１５  投影部
２１４、４１８  選択部
２１５、４２０  計算部
２２１  形状情報
４０２  撮像装置
４１２  画像取得部
４１３  特徴線検出部
４１４  線分検出部
４１６  パラメータ設定部
４１７  生成部
４１９  パラメータ計算部
４２１  表示部
４３１  ＣＡＤデータ
４３２  画像
４３３、５０１、５０４  特徴線
４３４  ３Ｄ線分
４３５  初期パラメータ
４３６  対応ペア集合
４３７  パラメータ
４３８  投影線情報
４３９  特徴線集合
５０２、２１０１  投影線
５０３、８０１  領域
８０２  調整領域
１００１、１００２、１０１１、１０１２、１０２１、１０２２、１０３１、１０３２、１１１１、１１１２  矢印
１１０１、１３０１、２２０１、２３０１  勾配画像
１３０２、２２０２、２３０２、２３０３  延長特徴線
１３１１  始点
１３１６  終点
１３１２〜１３１５、１８０１、１８０２、１９０１〜１９０４  点
２３１１〜２３１４、２３２１〜２３２６  画素
２４０１  ＣＰＵ
２４０２  メモリ
２４０３  入力装置
２４０４  出力装置
２４０５  補助記憶装置
２４０６  媒体駆動装置
２４０７  ネットワーク接続装置
２４０８  バス
２４０９  可搬型記録媒体
【図１】
2020148625.tif 000010
【図２】
2020148625.tif 000011
【図３】
2020148625.tif 000012
【図４】
2020148625.tif 000013
【図５】
2020148625.tif 000014
【図６】
2020148625.tif 000015
【図７】
2020148625.tif 000016
【図８】
2020148625.tif 000017
【図９】
2020148625.tif 000018
【図１０】
2020148625.tif 000019
【図１１】
2020148625.tif 000020
【図１２】
2020148625.tif 000021
【図１３】
2020148625.tif 000022
【図１４】
2020148625.tif 000023
【図１５】
2020148625.tif 000024
【図１６】
2020148625.tif 000025
【図１７】
2020148625.tif 000026
【図１８】
2020148625.tif 000027
【図１９】
2020148625.tif 000028
【図２０】
2020148625.tif 000029
【図２１】
2020148625.tif 000030
【図２２】
2020148625.tif 000031
【図２３】
2020148625.tif 000032
【図２４】
2020148625.tif 000033