(57)【要約】      （修正有）【課題】画像内の物体のエッジを示す線分の検出精度を向上させること。【解決手段】入力画像に含まれる複数の画素の画素値の変動に基づいて、入力画像に含まれる物体のエッジを示す複数の線分を検出し、第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の特徴量を算出し、第２の線分に対して垂直な第３の方向に所定の距離ごとに位置する画素の画素値と第３の方向と反対の第４の方向に所定の距離ごとに位置する画素の画素値から、第２の線分から所定の距離ごとに位置する画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出し、第１の特徴量と第２の特徴量とに基づいて、第１の線分と第２の線分を統合すると判定する。【選択図】図１６
2019067004.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置が
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出し、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、
前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出し、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理を備える画像処理方法。
画像処理方法。
【請求項２】
前記判定する処理は、前記第１の特徴量と前記第２の特徴量から類似度を算出し、前記類似度としきい値との比較結果に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記第１の線分の端点のうち前記第２の線分側の端点と前記第２の線分の端点のうち前記第１の線分側の端点とを結ぶ第３の線分を生成し、
前記第３の線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の線分に対して前記第４の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の特徴量を算出し、
前記第１の特徴量と前記第３の特徴量との類似度および前記第２の特徴量と前記第３の特徴量との類似度に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに備えることを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記第１の線分を分割して第１の複数の部分線分を生成し、
前記第２の線分を分割して第２の複数の部分線分を生成し、
前記第１の線分の端点のうち前記第２の線分側の第１の端点と前記第２の線分の端点のうち前記第１の線分側の第２の端点とを結ぶ第３の線分を生成し、
前記第３の線分を分割して第３の複数の部分線分を生成し、
前記第１の複数の部分線分のうちの前記第１の端点を含む第１の部分線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の部分線分に対して前記第５の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の部分線分特徴量を算出し、
前記第２の複数の部分線分のうちの前記第２の端点を含む第２の部分線分に対して垂直な第７の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第２の部分線分に対して前記第７の方向と反対の第８の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第２の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第１の部分線分に隣接する第３の部分線分に対して垂直な第９の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第９の方向と反対の第１０の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第２の部分線分に隣接する第４の部分線分に対して垂直な第１１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第１１の方向と反対の第１２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第４の部分線分特徴量を算出し、
前記第１の部分線分特徴量、前記第２の部分線分特徴量、前記第３の部分線分特徴量、および前記第４の部分線分特徴量に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに備えることを特徴とする請求項１記載の画像処理方法。
【請求項５】
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出する検出部と、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出する特徴量算出部と、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する判定部と、
を備える画像処理装置。
【請求項６】
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出し、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、
前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出し、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
近年、拡張現実（Augmented Reality, ＡＲ）技術を用いて画像を表示するシステムが普及してきている。ＡＲ技術の一例では、パーソナルコンピュータ（ＰＣ）、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から３次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
【０００３】
ＡＲ技術の応用として、物体の３次元形状を表すComputer-Aided Design（ＣＡＤ）データを画像に重畳表示する技術がある。
【０００４】
立体構造物を撮像した撮影画像から抽出されたエッジ線と、その立体構造物のモデル情報が表すモデル画像に含まれる稜線とを対応付けて、エッジ線と稜線とが重なるようにモデル画像を撮影画像に重畳した画像を表示する技術が知られている（例えば、特許文献１参照）。
【０００５】
図１は、物体の画像の例を示しており、図２は、図１の物体の形状を表すＣＡＤデータの例を示している。図３は、図１の画像から検出されたエッジ線を示し、図４は、検出されたエッジ線と図２のＣＡＤデータが表す輪郭線（稜線）との対応付けの例を示している。
【０００６】
まず、画像処理装置は、図３に示すように、エッジ検出処理を行って、画像からエッジ線を検出する。次に、図４に示すように、画像処理装置は、ＣＡＤデータが表す輪郭線と検出したエッジ線とを画像中に表示し、ユーザは、エッジ線及び輪郭線をマウス等で選択することで、それらの線同士を対応付ける。
【０００７】
次に、画像処理装置は、対応付けられたエッジ線及び輪郭線の組み合わせを用いて、カメラの位置及び姿勢を計算する。そして、図５に示すように、画像処理装置は、計算したカメラの位置及び姿勢に合わせて、ＣＡＤデータが表す輪郭線を物体の画像に重畳表示する。
【０００８】
MappingとLocalizationを行う場合に、線分を精度良く対応付ける技術が知られている（例えば、特許文献２参照）。画像における複数の紙面領域の境界を示す線分を精度良く検出する技術が知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１７−９１０７８号公報
【特許文献２】特開２０１５−１１８６４１号公報
【特許文献３】特開２０１６−１２６４４７号公報
【特許文献４】特開２０１５−４０８２７号公報
【特許文献５】特開２０１２−５３６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
画像からエッジ線を検出する場合、従来のエッジ線の検出方法では、適切なエッジ線が検出されない場合がある。
【００１１】
例えば、特許文献１記載の方法において、画像から検出された適切でないエッジ線を用いて、ＣＡＤデータが表す輪郭線との対応付けを行うと、３次元空間内において推定されるカメラの位置および姿勢の精度が低下する。
【００１２】
１つの側面において、本発明は、画像内の物体のエッジを示す線分の検出精度を向上させることを目的とする。
【課題を解決するための手段】
【００１３】
実施の形態に係る画像処理方法は、画像処理装置が、入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出する。
【００１４】
前記画像処理装置が、前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出する。
【００１５】
前記画像処理装置が、前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出する。
【００１６】
前記画像処理装置が、前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する。
【発明の効果】
【００１７】
実施の形態によれば、画像内の物体のエッジを示す線分の検出精度を向上させることが出来る。
【図面の簡単な説明】
【００１８】
【図１】物体の画像を示す図である。
【図２】ＣＡＤデータを示す図である。
【図３】画像から検出されたエッジ線を示す図である。
【図４】エッジ線と輪郭線との対応付けを説明する図である。
【図５】重畳表示の例を示す図である。
【図６】比較例のエッジ線の検出統合処理を説明する図である。
【図７】比較例のエッジ線の検出統合処理を説明する図である。
【図８】比較例のエッジ線の検出統合処理を説明する図である。
【図９】比較例のエッジ線の検出統合処理を説明する図である。
【図１０】物体の画像を示す図である。
【図１１】画像から検出されたエッジ線を示す図である。
【図１２】統合エッジ線を示す図である。
【図１３】実施の形態に係る画像処理装置の構成図である。
【図１４】エッジ線情報の例である。
【図１５】実施の形態に係る画像処理方法のフローチャートである。
【図１６】第１のエッジ線の検出統合処理の詳細なフローチャートである。
【図１７】線分特徴量の算出を説明する図である。
【図１８】ＬＥＨＦの計算方式の例を説明するための図である。
【図１９】ＬＥＨＦを用いた線分特徴量の算出を説明する図である。
【図２０】各サンプル点の４５度ごとの８方向勾配ヒストグラムのラインごとの和を示す図である。
【図２１】第１のエッジ線の検出統合処理の例を示す図である。
【図２２】第１のエッジ線の検出統合処理の例を示す図である。
【図２３】複数のエッジ線の統合を一括して判定する例を説明する図である。
【図２４】線分特徴量Ｍ１を基準とした判定の例を示す図である。
【図２５】第１のエッジ線の検出統合処理の例を示す図である。
【図２６】第２のエッジ線の検出統合処理の例を示す図である。
【図２７】第２のエッジ線の検出統合処理の詳細なフローチャートである。
【図２８】第２のエッジ線の検出統合処理の例を示す図である
【図２９】第３のエッジ線の検出統合処理の例を示す図である
【図３０】第３のエッジ線の検出統合処理の詳細なフローチャートである。
【図３１】他の実施の形態に係る画像処理装置の構成図である。
【図３２】他の実施の形態に係る画像処理方法のフローチャートである。
【図３３】他の実施の形態に係る画像処理方法の例を示す図である。
【図３４】他の実施の形態に係る画像処理方法の例を示す図である。
【図３５】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら実施の形態について説明する。
最初に、比較例のエッジ線の検出統合処理について説明する。エッジ線は、物体のエッジを示す線分である。
【００２０】
図６〜９は、比較例のエッジ線の検出統合処理を説明する図である。
処理対象となる画像には、四角形の物体２０と三角形の物体３０が含まれているとする。画像処理装置は、以下のステップにより、エッジ線を検出する。
【００２１】
（ステップ（１））画像処理装置は、画像中の濃淡変動（画素値の変化）が所定しきい値より大きい箇所を候補として抽出する。
（ステップ（２））画像処理装置は、隣接しかつ濃淡変動の方向が類似した候補を統合して、線分として検出する。以下、ステップ２の処理で統合された候補をエッジ線と称する。この時点では、エッジ線は非常に細かく分離した線分となっている。図６において、物体２０のエッジ線として、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ２４，Ｌ２５，Ｌ２６−１，Ｌ２７−１が検出される。物体３０のエッジ線として、エッジ線Ｌ３１−１，Ｌ３１−２，ＬＬ３２，Ｌ３３が検出される。
（ステップ（３））画像処理装置は、以下の条件（i）〜（iii）を満たすエッジ線を同一のエッジ線として統合する（エッジ線の統合処理）。すなわち、同一のエッジ線として判定された複数のエッジ線を接続して一本のエッジ線を生成する。
（i）エッジ線の方向が所定しきい値の範囲内
エッジ線の方向は、例えば、画像のｘ軸方向に対するエッジ線の角度である。
（ii）画像上の特定の点からエッジ線までの距離が所定しきい値の範囲内
尚、特定の点からエッジ線までの距離は、特定の点からエッジ線を延長した直線への垂線の長さとする。
上記の条件（i）、（ii）を満たすエッジ線は、同一直線上に配置されていることになる。
（iii）エッジ線の端点間の距離が所定しきい値以下
【００２２】
以下、統合される前のエッジ線と統合されたエッジ線とを区別するために、統合されたエッジ線を統合エッジ線と称する。
【００２３】
ここで、図６のエッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３が統合されて、統合エッジ線Ｌ２１が生成される例を説明する。
【００２４】
先ず、画像処理装置は、条件（i）を満たすエッジ線を検出する。
図６において、エッジ線Ｌ２１−１、Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２７−２，Ｌ３１−１，Ｌ３１−２の方向は、図の横（ｘ軸）方向である。例えば、エッジ線Ｌ２１−１、Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２７−２，Ｌ３１−１，Ｌ３１−２の角度は０度である。また、エッジ線Ｌ２４、Ｌ２５、Ｌ３２、Ｌ３３の角度は、α度より大きいとする。画像処理装置は、エッジ線の角度が所定の閾値の範囲（例えば、±α°）内のエッジ線を検出する。図６では、エッジ線Ｌ２１−１、Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２７−２，Ｌ３１−１，Ｌ３１−２が検出される。
【００２５】
図７に示すように、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２６−２，Ｌ３１−１，Ｌ３１−２が条件（i）を満たす統合されるエッジ線の候補となる。図７〜９において、統合されるエッジ線の候補は実線、統合されるエッジ線の候補以外のエッジ線は１点鎖線で示す。図７において、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２６−２，Ｌ３１−１，Ｌ３１−２は、実線で示されており、エッジ線Ｌ２４、Ｌ２５、Ｌ３２、Ｌ３３は、１点鎖線で示されている。
【００２６】
次に、画像処理装置は、条件（i）を満たすエッジ線の中から条件（ii）を満たすエッジ線を検出する。
【００２７】
画像処理装置は、特定の点Ｐからエッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２６−２，Ｌ３１−１，Ｌ３１−２までのそれぞれの距離を求める。
【００２８】
図８において、エッジ線Ｌ２１−１、Ｌ２１−２，Ｌ２１−３、Ｌ２６−１，Ｌ２６−２を延長した直線は上側の点線で示している。エッジ線Ｌ３１−１，Ｌ３１−２を延長した直線は下側の点線で示している。
【００２９】
特定の点Ｐからエッジ線Ｌ２１−１、Ｌ２１−２，Ｌ２１−３、Ｌ３１−１，Ｌ３１−２までのそれぞれの距離が所定しきい値の範囲（例えば、ｄ１±β）内であるとする。また、特定の点Ｐからエッジ線Ｌ２６−１，Ｌ２６−２までのそれぞれの距離が所定しきい値の範囲（例えば、ｄ１±β）外であるとする。
【００３０】
よって、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ３１−１，Ｌ３１−２が条件（i）、（ii）を満たす統合されるエッジ線の候補となる。すなわち、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ３１−１，Ｌ３１−２は、同一直線上に配置されている。
【００３１】
尚、特定の点Ｐからエッジ線Ｌ２６−１，Ｌ２６−２までのそれぞれの距離は、他の所定しきい値の範囲（例えば、ｄ２±β）内であり、エッジ線Ｌ２６−１，Ｌ２６−２は条件（i）、（ii）を満たす統合されるエッジ線の候補となる。すなわち、エッジ線Ｌ２６−１，Ｌ２６−２は同一直線上に配置されている。ここでは、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３に着目しているため、エッジ線Ｌ２６−１，Ｌ２６−２の統合の処理の説明は省略する。
【００３２】
次に、画像処理装置は、条件（i）、（ii）を満たすエッジ線の中から条件（iii）を満たすエッジ線を検出する。
【００３３】
画像処理装置は、隣接するエッジ線の端点の距離を求める。図９において、画像処理装置は、エッジ線Ｌ２１−１のエッジ線Ｌ２１−２側の端点Ｐ１とエッジ線Ｌ２１−２のエッジ線Ｌ２１−１側の端点Ｐ２との距離Ｄ１を求める。画像処理装置は、エッジ線Ｌ２１−２のエッジ線Ｌ２１−３側の端点Ｐ３とエッジ線Ｌ２１−３のエッジ線Ｌ２１−２側の端点Ｐ４との距離Ｄ２を求める。画像処理装置は、エッジ線Ｌ２１−３のエッジ線Ｌ３１−１側の端点Ｐ５とエッジ線Ｌ３１−１のエッジ線Ｌ２１−３側の端点Ｐ６との距離Ｄ３を求める。
【００３４】
ここで、距離Ｄ１、Ｄ２は、所定の閾値以下であり、距離Ｄ３は、所定の閾値より大きいとする。よって、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３は、条件（i）、（ii）、（iii）を満たすので、画像処理装置は、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３を接続し、統合エッジ線Ｌ２１を生成する。
【００３５】
さらに、画像処理装置は、エッジ線Ｌ３１−１のエッジ線Ｌ３１−２側の端点Ｐ７とエッジ線Ｌ３１−２のエッジ線Ｌ３１−１側の端点Ｐ８との距離Ｄ４を求め、距離Ｄ４が所定の閾値以下であれば、エッジ線Ｌ３１−１とエッジ線Ｌ３１−２を統合する。
【００３６】
上述のステップ１〜３により、複数のエッジ線が統合された統合エッジ線が生成される。
【００３７】
次に、物体のエッジを示す統合エッジ線が適切に検出されない場合を示す。
ここでは、図１０に示す物体４０と物体５０を含む画像のエッジ線を検出して統合する場合を述べる。図１０の画像に対して、画像処理装置が比較例のエッジ線の検出統合処理のステップ（１）、（２）を行うと、図１１に示すようなエッジ線が得られる。図１１では、図１０に示す画像と検出したエッジ線とを重ねて表示しており、エッジ線は太線で示されている。
【００３８】
図１１に示すように、物体４０のエッジ４５上にエッジ線Ｌ４１とエッジ線Ｌ４２が検出されている。画像中の濃淡変動に基づいてエッジ線を検出すると、１つエッジ上に１つのエッジ線が検出されるとは限らず、図１１に示すように、分離したエッジ線Ｌ４１，Ｌ４２が得られる場合がある。
【００３９】
また、物体５０は３つの排気口５１〜５３を有し、排気口５１〜５３のエッジ線としてエッジ線Ｌ５１〜Ｌ５３がそれぞれ検出されている。
【００４０】
検出されたエッジ線に対して、画像処理装置が比較例のエッジ線の検出統合処理のステップ（３）を行うと、図１２に示すようなエッジ線（統合エッジ線を含む）が得られる。
【００４１】
図１１において、エッジ線Ｌ４１，Ｌ４２の端点間の距離が所定しきい値より大きいため、図１２において、エッジ線Ｌ４１，Ｌ４２は統合されずにそのままとなっている。しかしながら、エッジ線Ｌ４１，Ｌ４２は、エッジ４５を示すエッジ線であるので、統合されることが望ましい。
【００４２】
また、エッジ線Ｌ５１、Ｌ５２の端点間の距離が所定しきい以下であり、エッジ線Ｌ５２、Ｌ５３の端点間の距離が所定しきい以下であるため、図１２において、エッジ線Ｌ５１〜Ｌ５３が統合された統合エッジ線Ｌ５４が得られる。しかしながら、エッジ線Ｌ５１〜Ｌ５３は、それぞれ異なる排気口５１〜５３のエッジを示すため、エッジ線Ｌ５１〜Ｌ５３は、統合されるべきではない。
【００４３】
上述の比較例のエッジ線の検出統合処理におけるステップ３のエッジ線の統合処理では、使用するしきい値によって、異なる対象物のそれぞれのエッジ線が一本のエッジ線に統合されたり、同一の対象物の１つのエッジ上において検出された複数のエッジ線が一本のエッジ線に統合されない場合がある。このように、比較例のエッジ線の検出統合処理では、適切な統合エッジ線が得られない場合がある。
【００４４】
図１３は、実施の形態に係る画像処理装置の構成図である。
画像処理装置１０１は、カメラ１１１、画像取得部１２１、エッジ線検出部１２２、線分特徴量算出部１２３、エッジ線統合判定部１２４、ＣＡＤデータ読込部１２５、３次元直線検出部１２６、対応ペア線分選択部１２７、カメラ位置姿勢算出部１２８、コンテンツ生成部１２９、表示部１３１、および記憶部１４１を含む。画像処理装置１０１は、例えば、パーソナルコンピュータ、携帯電話、または携帯端末等である。エッジ線検出部１２２は、検出部の一例である。線分特徴量算出部１２３は、特徴量算出部の一例である。エッジ線統合判定部１２４は、判定部の一例である。
【００４５】
記憶部１４１は、ＣＡＤデータ１４２およびエッジ線情報１４３を記憶する。
ＣＡＤデータ１４２は、撮影画像に含まれる物体の３次元ＣＡＤモデルを表すモデル情報であり、３次元ＣＡＤモデルに含まれる複数の頂点の頂点情報と、複数の線分の線分情報とを含む。
【００４６】
図１４は、エッジ線情報の例である。
エッジ線情報１４３は、撮影画像から検出されたエッジ線の情報である。エッジ線情報１４３は、項目として、エッジ線Ｎｏ．、端点座標１、端点座標２、角度、特定点からの距離、および線分特徴量を含む。エッジ線情報１４３には、エッジ線Ｎｏ．、端点座標１、端点座標２、角度、特定点からの距離、および線分特徴量が対応付けられて記録されている。
【００４７】
エッジ線Ｎｏ．は、検出されたエッジ線に割り当てられた固有の番号であり、エッジ線を識別する番号である。
【００４８】
端点座標１は、エッジ線の一方の端点のｘ座標とｙ座標である。
端点座標２は、エッジ線の他方の端点のｘ座標とｙ座標である。
【００４９】
角度は、エッジ線のｘ軸に対する角度である。
特定点からの距離は、撮影画像内の特定点からエッジ線までの距離である。特定点からエッジ線までの距離は、特定点からエッジ線を延長した直線への垂線の長さとする。
【００５０】
線分特徴量は、エッジ線と当該エッジ線の周囲の画素から算出されるエッジ線の特徴を示す値である。線分特徴量の詳細は、後述する。
【００５１】
図１５は、実施の形態に係る画像処理方法のフローチャートである。
ステップＳ２０１において、画像取得部１２１は、カメラ１１１が撮影した撮影画像をカメラ１１１から取得する。
【００５２】
ステップＳ２０２において、エッジ検出部１２２、線分特徴量算出部１２３、およびエッジ線統合判定部１２４は、エッジ線の検出統合処理を行う。エッジ線の検出統合処理の詳細は後述する。エッジ線の検出統合処理により、撮影画像からエッジ線が検出され、検出されたエッジ線のうち、所定の条件を満たすエッジ線は統合され、統合エッジ線が生成される。
【００５３】
ステップＳ２０３において、ＣＡＤデータ読込部１２５は、記憶部１４１からＣＡＤデータ２０３を読み出す。
【００５４】
ステップＳ２０４において、３次元直線検出部１２６は、ＣＡＤデータ２０３から３Ｄ直線を検出する。３Ｄ直線は、ＣＡＤデータ２０３が表す物体の３次元モデルの輪郭線（稜線）である。例えば、３次元直線検出部１２６は、ＣＡＤデータ２０３に含まれる複数の線分の中から、３次元ＣＡＤモデルの外形特徴を表す線分のみを抽出し、抽出した線分を輪郭線として用いる。
【００５５】
上記のステップＳ２０１，Ｓ２０２とステップＳ２０３，２０４は、並列に実行される。尚、ステップＳ２０１，Ｓ２０２とステップＳ２０３，２０４は、直列に実行されてもよい。ステップＳ２０１〜Ｓ２０４の完了後、ステップ２０５が行われる。
【００５６】
ステップＳ２０５において、画像処理装置１０１は、ＣＡＤデータ１４２が示す輪郭線および統合処理されたエッジ線を表示部１３１に表示する。統合処理されたエッジ線は、所定の条件を満たすエッジ線が統合された統合エッジ線と所定の条件を満たさないために統合されなかったエッジ線を含む。ユーザは、表示された輪郭線とエッジ線をマウス等で選択する。対応ペア線分選択部１２７は、選択された輪郭線とエッジ線とを対応付ける。
【００５７】
ステップＳ２０６において、カメラ位置姿勢算出部１２８は、対応付けられたエッジ線および輪郭線の組合せを用いて、カメラ１１１の位置と姿勢を算出する。
【００５８】
ステップＳ２０７において、カメラ位置姿勢算出部１２８によりカメラ１１１の位置と姿勢が算出された場合、制御はステップＳ２０８に進む。カメラ位置姿勢算出部１２８によるカメラ１１１の位置と姿勢の算出が失敗した場合、処理は終了する。
【００５９】
ステップＳ２０８において、コンテンツ生成部１２９は、カメラ位置姿勢算出部１２８の算出結果に基づいて、コンテンツを生成し、生成したコンテンツを表示部１３１に表示する。例えば、コンテンツ生成部１２９は、カメラ位置姿勢算出部１２８の算出結果に基づいて、撮影画像にＣＡＤデータ１４２が表す輪郭線を重畳した画像を生成し、生成した画像を表示部１３１に表示する。
【００６０】
次にエッジ線の検出統合処理の詳細について説明する。実施の形態に係る画像処理方法において、エッジ線の検出統合処理は、下記の第１〜３のエッジ線の検出統合処理のいずれかまたはそれらの組合せを用いる。
【００６１】
（第１のエッジ線の検出統合処理）
図１６は、第１のエッジ線の検出統合処理の詳細なフローチャートである。図１６の処理は、図１５のステップＳ２０２に対応する。
【００６２】
ステップＳ３０１において、エッジ線検出部１２２は、撮影画像からエッジ線を検出する。詳細には、エッジ線検出部１２２は、撮影画像中の濃淡変動（画素値の変化）が所定しきい値より大きい箇所を候補として抽出する。エッジ線検出部１２２は、隣接しかつ濃淡変動の方向が類似した候補を統合して、線分（エッジ線）として検出する。すなわち、比較例のエッジ線の検出統合処理のステップ（１）、（２）と同じ処理が行われる。
【００６３】
ステップＳ３０２において、線分特徴量算出部１２３は、エッジ線の線分特徴量を算出する。線分特徴量算出部１２３は、エッジ線の情報（エッジ線Ｎｏ．、端点座標１、端点座標２、角度、特定点からの距離、および線分特徴量）をエッジ線情報１４３に記録する。ここで、線分特徴量について説明する。
【００６４】
図１７は、線分特徴量の算出を説明する図である。
線分特徴量は、エッジ線の画素の平均値と、エッジ線をエッジ線に対して両方の垂直方向に所定の距離ｎ（ｎは正数）ごとにｍ（ｍ＝１〜ｐ）回平行移動させた場所に位置する画素の画素値の平均値と、を含む。エッジ線に対する２つの垂直方向のうち、一方を正方向、他方を負方向とする。例えば、図１７において、エッジ線Ｌ１７は縦方向に位置し、エッジ線Ｌ１７に対する垂直方向のうち右方向を正の垂直方向、左方向を負の垂直方向とする。
【００６５】
エッジ線から正の垂直方向に距離ｎ＊ｐ離れた場所に位置する画素とエッジ線から負の垂直方向に距離ｎ＊ｐ離れた場所に位置する画素との間の矩形領域を線分特徴量算出範囲と称する。
【００６６】
線分特徴量算出部１２３は、エッジ線の画素の平均値と、エッジ線をエッジ線に対して両方の垂直方向に所定の距離ｎごとにｍ（１〜ｐ）回平行移動させた場所に位置する画素の画素値の平均値と、を算出する。線分特徴量算出部１２３は、算出した複数の平均値を、エッジ線から負の垂直方向に距離ｎ＊ｐ離れた場所に位置する画素の平均値、エッジ線から負の垂直方向に距離ｎ＊（ｐ−１）離れた場所に位置する画素の平均値、・・・、エッジ線から負の垂直方向に距離ｎ離れた場所に位置する画素の平均値、エッジ線の画素の平均値、エッジ線から正の垂直方向に距離ｎ離れた場所に位置する画素の平均値、エッジ線から正の垂直方向に距離２ｎ離れた場所に位置する画素の平均値、・・・、エッジ線から正の垂直方向に距離ｎ＊ｐ離れた場所に位置する画素の平均値の順に並べて線分特徴量Ｖを算出する。
【００６７】
図１７において、エッジ線Ｌ１７の線分特徴量を求める場合、エッジ線Ｌ１７の画素の平均値と、エッジ線Ｌ１７をエッジ線Ｌ１７に対して両方の垂直方向に所定の距離ｎ（ｎは正数）ごとにｍ（ｍ＝１〜５）回平行移動させた場所に位置する画素の画素値の平均値と、を算出する。
【００６８】
図１７において、エッジ線Ｌ１７から負の垂直方向に距離５ｎ離れた場所に位置する画素の平均値は１６０である。エッジ線Ｌ１７から負の垂直方向に距離４ｎ離れた場所に位置する画素の平均値は１８０である。エッジ線Ｌ１７から負の垂直方向に距離３ｎ離れた場所に位置する画素の平均値は２００である。エッジ線Ｌ１７から負の垂直方向に距離２ｎ離れた場所に位置する画素の平均値は２２０である。エッジ線Ｌ１７から負の垂直方向に距離２ｎ離れた場所に位置する画素の平均値は２４０である。エッジ線Ｌ１７の画素の平均値は２５５である。エッジ線Ｌ１７から正の垂直方向に距離ｎ離れた場所に位置する画素の平均値は１２０である。エッジ線Ｌ１７から正の垂直方向に距離２ｎ離れた場所に位置する画素の平均値は１３０である。エッジ線Ｌ１７から正の垂直方向に距離３ｎ離れた場所に位置する画素の平均値は１４０である。エッジ線Ｌ１７から正の垂直方向に距離４ｎ離れた場所に位置する画素の平均値は１５０である。エッジ線Ｌ１７から正の垂直方向に距離５ｎ離れた場所に位置する画素の平均値は１６０である。
【００６９】
よって、図１７のエッジ線の線分特徴量Ｖは、Ｖ＝（１６０，１８０，２００,２２０２４０，２５５，１２０，１３０，１４０，１５０，１６０）となる。線分特徴量Ｖをグラフにプロットすると図１７の下部に示すようになる。
【００７０】
また、線分特徴量として、特許文献２記載の線分記述子（Line-based Eight-directional Histogram Feature：ＬＥＨＦ）を用いることも出来る。ここで、特許文献２記載のＬＥＨＦについて説明する。
【００７１】
図１８は、特許文献２記載のＬＥＨＦの計算方式の例を説明するための図である。
次に、線分特徴量算出部１２３が、画像データから検出されたエッジ線である線分の特徴を検出する処理について説明する。線分特徴量算出部１２３は、線分の特徴を検出する場合に、LEHFを計算する。以下に、LEHFを算出する処理について説明する。 
【００７２】
線分特徴量算出部１２３は、線分の周辺で微分値を計算し、各微分値に基づいて勾配ベクトルを算出する。線分特徴量算出部１２３は、線方向に応じて勾配ベクトルを足し合わせることで勾配ヒストグラムを複数計算し、LEHFを得る。特に、線分特徴量算出部１２３は、線分方向に対応するように、勾配方向の定義と勾配ヒストグラムの配列順を決定することで、線分の特徴に方向依存性を持たせる。 
【００７３】
線分特徴量算出部１２３は、高速かつ安定的にLEHFを算出するために、線分の周囲で一定数のサンプル点を取り、そのサンプル点上で微分計算を行う。また、回転不変性を得るために、線分特徴量算出部１２３は、サンプル点上で計算された勾配ベクトルの勾配方向と線分とのなす角を改めて勾配方向として定義する。回転不変性を得るために、画像データそのものを回転計算しないので、処理時間を短縮することが可能となる。 
【００７４】
図１８では、画像データ上の線分Ｌ１８のLEHFを算出する場合について説明する。線分特徴量算出部１２３は、線分Ｌ１８の周辺に均一にサンプル点P11〜PSiSjをとる。図１８において、Sjはj方向に取るサンプル点の数であり、Siはi方向に取るサンプル点の数である。j方向は、線分Ｌ１８と平行な方向であり、i方向は、線分Ｌ１８と直交する方向である。 
【００７５】
ここで、各サンプル点をpij（pxij，pyij）とする。LEHFでは、勾配方向ヒストグラムを特徴量とするため、サンプル点毎に微分計算を行う。線分特徴量算出部１２３は、サンプル点pijにおけるｘ方向の画素の明度の微分値dxijは、式（１）によって計算する。線分特徴量算出部１２３は、サンプル点pijにおけるｙ方向の画素の明度の微分値dyijは、式（２）によって計算する。式（１）、（２）のI（pxij，pyij）は、画像データ上の座標（pxij，pyij）の画素の明度値を示す。 
【００７６】
線分特徴量算出部１２３は、微分値dxij，dyijに基づいて、勾配強度Ｌij、勾配方向θijをもつ勾配ベクトルを算出する。線分特徴量算出部１２３は、式（３）を基にして、勾配強度Ｌijを算出する。線分特徴量算出部１２３は、式（４）を基にして、勾配方向θijを算出する。 
【００７７】
dxij=I（pxij+1，pyij）-I（pxij-1，pyij）・・・（１） 
dyij=I（pxij，pyij+１）-I（pxij，pyij-１）・・・（２） 
Ｌij=√（dxij２+ dyij２）・・・（３） 
θij=arctan（dyij/dxij）・・・（４） 
【００７８】
線分特徴量算出部１２３は勾配ベクトルを算出した後に、勾配ベクトルを基にして、サンプル点毎に８方向勾配ヒストグラムを計算する。あるサンプル点の８方向勾配ヒストグラムhiを式（５）に示す。線分特徴量算出部１２３は、８方向勾配ヒストグラムを算出する線分が順方向であるか否かに応じて、勾配ベクトルθを補正した後に、下記の処理を行う。線分特徴量算出部１２３は、線分が逆方向である場合には、勾配ベクトルθからπを減算する補正を行う。線分特徴量算出部１２３が、線分が順方向であるか否かを判定する処理は後述する。 
【００７９】
hi=（hi,0、hi,1、hi,2、hi,3、hi,4、hi,5、hi,6、hi,7）・・・（５） 
【００８０】
線分特徴量算出部１２３は、勾配ベクトルの勾配方向が「０以上、π／４未満」の場合には、「hi,0」に勾配ベクトルの勾配強度を格納し、「hi,1、hi,2、hi,３、hi,4、hi,5、hi,6、hi,7」に０を格納する。線分特徴量算出部１２３は、勾配ベクトルの勾配方向が「π／４以上、π／２」未満の場合には、「hi,1」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,2、hi,3、hi,4、hi,5、hi,6、hi,7」に０を格納する。線分特徴量算出部１２３は、勾配ベクトルの勾配方向が「π／２以上、３π／４未満」の場合には、「hi,2」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,3、hi,4、hi,5、hi,6、hi,7」に０を格納する。 
【００８１】
線分特徴量算出部１２３は、勾配ベクトルの勾配方向が「３π／４以上、π未満」の場合には、「hi,3」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,2、hi,4、hi,5、hi,6、hi,7」に０を格納する。線分特徴量算出部１２３は、「π以上、５π／４未満」の場合には、「hi,4」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,2、hi,3、hi,5、hi,6、hi,7」に０を格納する。 
【００８２】
線分特徴量算出部１２３は、「５π／４以上、３π／２未満」の場合には、「hi,5」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,2、hi,3、hi,4、hi,6、hi,7」に０を格納する。線分特徴量算出部１２３は、「３π／２以上、７π／４未満」の場合には、「hi,6」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,2、hi,３、hi,4、hi,5、hi,7」に０を格納する。線分特徴量算出部１２３は、「７π／４以上、２π未満」の場合には、「hi,7」に勾配ベクトルの勾配強度を格納し、「hi,0、hi,1、hi,2、hi,3、hi,4、hi,5、hi,6」に０を格納する。 
【００８３】
ここで、線分特徴量算出部１２３は、式（５）に基づいて、サンプル点毎に８方向勾配ヒストグラムを算出した後に、それぞれのiに対して８方向勾配ヒストグラムを並べることで、LEHFを得る。
【００８４】
線分特徴量算出部１２３は、線分の方向が順方向である場合には、８方向配列ヒストグラムを、式（６）に従って並べる。また、線分の方向が逆方向である場合には、８方向配列ヒストグラムを、式（７）に従って並べる。 
【００８５】
LEHF=（h1、h2、h3、h4、・・・、hSi）・・・（６） 
LEHF=（hSi、hSi-１、・・・、h1）・・・（７）
【００８６】
LEHFの次元数は、例えば、サンプル点pi，jとpi+１，jとの間の距離を３画素とし、Sj=45、Si=13とした場合に１０４次元となる。なお、線分特徴検出部１３０は、各iについて式（８）に示すような重み付けwiを行っても良い。線分特徴検出部１３０は、式（８）に示す重み付けを行うことで、線分により近いLEFHに比重をかけることができる。式（８）に含まれるGは、分散σの正規分布に対応し、Gの引数は中央からの距離である。 
【００８７】
wi=G（（i-Si+1/2）/3））・・・（８）
【００８８】
次に、線分特徴量算出部１２３が線分の方向が順方向であるか否かを判定する処理について具体的に説明する。元々線分は、線分の両サイドに明暗差が特定の値より大きい画素を結んだ集合体として定義することができる。このため、線分の一方のサイドが他方のサイドよりも明度が高くなるという特徴を有している。そこで、線分特徴量算出部１２３は、線分の方向を定める場合に、線分を挟む両サイドの明度の強弱を基準に判定する。 
【００８９】
線分の方向を矢印で表した場合に、矢印の始点から終点を見て右サイドが明るくなるような方向を、矢印の方向として定義する。このように定義すると線分の方向は、線分を挟んで上サイドが暗く、下サイドが明るい場合に、左から右方向となる。例えば、線分特徴量算出部１２３は、線分の方向を特定し、線分の方向が左から右方向であれば、係る線分の方向を順方向とする。これに対して、線分特徴量算出部１２３は、線分の方向を特定し、方向が右から左方向であれば、係る線分の方向を逆方向とする。 
【００９０】
なお、線分特徴量算出部１２３は、線分の両サイドの明暗を判定する場合には、下記の処理を行う。線分特徴量算出部１２３は、線分から予め定めた特定距離の画素の明度を各サイドから取得し、各サイドの画素の明度の平均値を算出する。線分特徴量算出部１２３は、一方のサイドの明度の平均値と、他方のサイドの明度の平均値とを比較して、両サイドの明暗を判定する。
【００９１】
上記で説明したＬＥＨＦを用いた線分特徴量の算出について説明する。
図１９は、ＬＥＨＦを用いた線分特徴量の算出を説明する図である。図１９において、エッジ線Ｌ１９の線分特徴量の算出を説明する。
【００９２】
線分特徴量算出部１２３は、エッジ線Ｌ１９の周辺に均一に２０個のサンプル点をとる。図１９において、サンプル点は黒丸で示されている。線分特徴量算出部１２３は、各サンプル点の８方向勾配ヒストグラムを求める。黒丸から伸びる矢印は、サンプル点の勾配ベクトルを示す。
【００９３】
ここで、エッジ線Ｌ１９と平行な直線であるライン１〜５を設定する。ライン３はエッジ線Ｌ１９と同一直線上の直線である。ライン２は、ライン３をエッジ線Ｌ１９に対して垂直方向（図１９の上方向）に平行に４つのサンプル点を通るように所定の距離ｎ移動させた直線である。ライン１は、ライン３をエッジ線Ｌ１９に対して垂直方向（図１９の上方向）に平行に４つのサンプル点を通るように所定の距離２ｎ移動させた直線である。ライン４は、ライン３をエッジ線Ｌ１９に対して垂直方向（図１９の下方向）に平行に４つのサンプル点を通るように所定の距離ｎ移動させた直線である。ライン５は、ライン３をエッジ線Ｌ１９に対して垂直方向（図１９の下方向）に平行に４つのサンプル点を通るように所定の距離２ｎ移動させた直線である。
【００９４】
線分特徴量算出部１２３は、各サンプル点の４５度ごとの８方向勾配ヒストグラムのラインごとの和を求める。詳細には、線分特徴量算出部１２３は、ライン１上の４つのサンプル点の８方向勾配ヒストグラムの和を求める。同様に、線分特徴量算出部１２３は、ライン２上の４つのサンプル点の８方向勾配ヒストグラムの和、ライン３上の４つのサンプル点の８方向勾配ヒストグラムの和、ライン４上の４つのサンプル点の８方向勾配ヒストグラムの和、およびライン５上の４つのサンプル点の８方向勾配ヒストグラムの和を求める。
【００９５】
各サンプル点の４５度ごとの８方向勾配ヒストグラムのラインごとの和を示すと図２０のようになる。線分特徴量算出部１２３は、求めた和を順に並べたベクトルを生成し、線分特徴量Ｖとする。
【００９６】
図２０のライン１〜５に対応する要素は、式（６）のh1〜h5にそれぞれ対応する。よって、線分特徴量Ｖ＝LEHF＝（０，０，８，０，０，０，０，０、０，０，８，０，０，０，０，０，０，２，０，４，６，０，８，０，０，４，０，０，０，０，０，０，０，４，０，０，０，０，０，０）となる。
【００９７】
線分特徴量を対象物のエッジ線の両側の画素の画素値を用いて算出している。それにより、エッジ線の周囲の対象物の画素の画素値と背景の画素の画素値の情報が線分特徴量に含まれることになる。
【００９８】
図１６に戻り説明を続ける。
ステップＳ３０３において、エッジ線統合判定部１２４は、エッジ線を同一の直線上に位置するエッジ線ごとにグループ化する。詳細には、エッジ線統合判定部１２４は、下記条件（i）、（ii）に基づいて、エッジ線をグループ化する。
（i）エッジ線の方向が所定しきい値の範囲内
（ii）画像上の特定の点からエッジ線までの距離が所定しきい値の範囲内
上記の条件（i）、（ii）を満たすエッジ線は、同一直線上に配置されていることになる。
【００９９】
例えば、図６において、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ３１−１，Ｌ３１−２は、１つのグループとなる。エッジ線Ｌ２６−１，Ｌ２６−２は、１つのグループとなる。エッジ線Ｌ２４，Ｌ２５，Ｌ３２，Ｌ３３は、それぞれ異なるグループとなる。以下、エッジ線のグループはエッジ線群と称する。
【０１００】
ステップＳ３０４において、エッジ線統合判定部１２４は、同じエッジ線群内から隣接する２つのエッジ線の組を選択する。ここでは、あるエッジ線郡内の未選択の隣接する２つのエッジ線の組が選択される。あるエッジ線郡内の未選択の隣接する２つのエッジ線の組がすべて選択済みの場合は、他のエッジ線郡内の未選択の隣接する２つのエッジ線の組が選択される。
【０１０１】
ステップＳ３０５において、エッジ線統合判定部１２４は、選択した２つのエッジ線（第１のエッジ線、第２のエッジ線）の近接する端点間の距離を算出する。詳細には、エッジ線統合判定部１２４は、第１のエッジ線の２つの端点のうちの第２のエッジ線側の端点（すなわち、第２のエッジ線に近い方の端点）と選択した２つのエッジ線のうちの第２のエッジ線の２つの端点のうちの第１のエッジ線側の端点（すなわち、第１のエッジ線に近い方の端点）との距離を算出する。
【０１０２】
ステップＳ３０６において、エッジ線統合判定部１２４は、算出した端点間の距離が０より大きいか判定する。すなわち、エッジ線統合判定部１２４は、端点間に隙間があるか判定する。算出した端点間の距離が０より大きい場合、制御はステップＳ３０９に進み、算出した端点間の距離が０の場合、制御はステップＳ３１２に進む。
【０１０３】
ステップＳ３０９において、エッジ線統合判定部１２４は、選択した２つのエッジ線のそれぞれの線分特徴量を比較する。詳細には、エッジ線統合判定部１２４は、選択した２つのエッジ線のそれぞれの線分特徴量から類似度を算出する。
【０１０４】
ここで、類似度の算出について説明する。２つのエッジ線のそれぞれの線分特徴量をＭ１＝（ｍ１１、ｍ１２、・・・、ｍ１ｎ）、Ｍ２＝（ｍ２１、ｍ２２、・・・、ｍ２ｎ）とする。類似度ｄ（Ｍ１，Ｍ２）は、類似度ｄ（Ｍ１，Ｍ２）＝（（ｍ１１−ｍ２１）２＋（ｍ１２−ｍ２２）２＋・・・＋（ｍ１ｎ−ｍ２ｎ）２）１／２で算出される。
【０１０５】
ステップＳ３１０において、エッジ線統合判定部１２４は、選択した２つのエッジ線の線分特徴量が類似しているか判定する。エッジ線統合判定部１２４は、例えば、類似度がしきい値より小さい場合、類似していると判定し、類似度がしきい値以上の場合、類似していないと判定する。類似していると判定された場合、制御はステップＳ３１２に進み、類似していないと判定された場合、制御はステップＳ３１１に進む。
【０１０６】
ステップＳ３１１において、エッジ線統合判定部１２４は、選択した２つのエッジ線は個別のエッジ線であり、統合しないと判定する。
【０１０７】
ステップＳ３１２において、エッジ線統合判定部１２４は、選択した２つのエッジ線を統合すると判定する。エッジ線統合判定部１２４は、選択した２つのエッジ線を接続して統合エッジ線を生成し、統合エッジ線の情報をエッジ線情報１４３に記録する。尚、線分特徴量算出部１２３は、統合エッジ線の線分特徴量を算出する。
【０１０８】
ステップＳ３１３において、複数のエッジ線を含む全てのエッジ線群の全ての隣接２エッジ線に対する処理が終了の場合（すなわち、複数のエッジ線を含む全てのエッジ線群の全ての隣接２エッジ線が選択済みの場合）、第１のエッジ線の検出統合処理は終了し、複数のエッジ線を含む全てのエッジ線群の全ての隣接２エッジ線に対する処理が終了していない場合、制御はステップＳ３０４に戻る。
【０１０９】
第１のエッジ線の検出統合処理によれば、隣接する２つのエッジ線のそれぞれの線分特徴量に基づいて、２つのエッジ線を統合するか判定するので、統合検出線の精度が向上する。
【０１１０】
第１のエッジ線の検出統合処理によれば、隣接する２つのエッジ線の端点間の距離が近い（しきい値以下）の場合でも、線分特徴量が類似していなければ２つのエッジ線は統合されない。例えば、図２１に示すように、物体２１−１のエッジ線Ｌ２１−１と物体２１−２のエッジ線Ｌ２１−２が検出されている場合、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２は統合されないことが望ましい。尚、物体２１−１の色（画素値）と物体２１−２の色（画素値）は、異なるとする。
【０１１１】
エッジ線Ｌ２１−１の端点とエッジ線Ｌ２１−２の端点間の距離がしきい値未満の場合、上述の比較例のエッジ線の検出統合処理を用いると、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２は統合されてしまう。一方、実施の形態の第１のエッジ線の検出統合処理を用いると、エッジ線Ｌ２１−１の線分特徴量Ｖ２１−１とエッジ線Ｌ２１−２の線分特徴量Ｖ２１−２は類似していないため、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２は統合されない。このように、第１のエッジ線の検出統合処理によれば、異なるエッジを示すエッジ線が統合されるのを防止できる。
【０１１２】
第１のエッジ線の検出統合処理によれば、隣接する２つのエッジ線の端点間の距離が遠い（しきい値より大きい）の場合でも、線分特徴量が類似していれば２つのエッジ線は統合される。例えば、図２２に示すように、物体２２の同一のエッジ上にエッジ線Ｌ２１−１、Ｌ２１−２が検出されている場合、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２は統合されることが望ましい。
【０１１３】
エッジ線Ｌ２２−１の端点とエッジ線Ｌ２２−２の端点間の距離がしきい値以上の場合、上述の比較例のエッジ線の検出統合処理を用いると、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２は統合されない。一方、実施の形態の第１のエッジ線の検出統合処理を用いると、エッジ線Ｌ２２−１の線分特徴量Ｖ２２−１とエッジ線Ｌ２２−２の線分特徴量Ｖ２２−２は類似しているため、エッジ線Ｌ２２−１とエッジ線Ｌ２２−２は統合される。このように、第１のエッジ線の検出統合処理によれば、同じエッジ上に離れて位置するエッジ線を統合することができる。
【０１１４】
尚、上述の説明では、２つのエッジ線のそれぞれの線分特徴量に基づいて、２つのエッジ線を統合するかを判定していたが、以下に述べるように、クラスター分類を用いてエッジ線郡内の複数のエッジ線を一括して判定してもよい。
【０１１５】
図２３に示すような同じエッジ線群に含まれるエッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ３１−１，３１−２に対する判定を行う場合を説明する。エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３，Ｌ３１−１，３１−２のそれぞれの線分特徴量をＭ１〜Ｍ５とする。
【０１１６】
エッジ線統合判定部１２４は、エッジ線Ｌ２１−１とエッジ線Ｌ２１−１、エッジ線Ｌ２１−１とエッジ線Ｌ２１−２，エッジ線Ｌ２１−１とエッジ線Ｌ２１−３，エッジ線Ｌ２１−１とエッジ線Ｌ３１−１，エッジ線Ｌ２１−１とエッジ線３１−２のそれぞれの類似度ｄ（Ｍ１，Ｍ１）、ｄ（Ｍ１，Ｍ２）、ｄ（Ｍ１，Ｍ３）、ｄ（Ｍ１、Ｍ４）、ｄ（Ｍ１、Ｍ５）を算出する。また、エッジ線統合判定部１２４は、線分特徴量Ｍ１〜Ｍ５の平均値Ａｖと標準偏差σを算出する。
【０１１７】
エッジ線郡内の複数のエッジ線を一括して判定する場合、複数のエッジ線の線分特徴量の標準偏差σが以下の場合、当該複数のエッジ線の線分特徴量は類似しており当該複数のエッジ線は統合されると判定される。複数のエッジ線の線分特徴量の標準偏差σがより大きい場合、あるエッジ線の線分特徴量と複数のエッジ線の線分特徴量とのそれぞれの類似度のうち、平均値Ａｖより小さい類似度の算出に用いられた線分特徴量に対応するエッジ線を統合すると判定する。
【０１１８】
図２４は、線分特徴量Ｍ１を基準とした判定の例を示す図である。算出した類似度をグラフにプロットすると図２４に示すようになる。
【０１１９】
図２４において、線分特徴量Ｍ１〜Ｍ５の標準偏差σは、しきい値より大きいとする。図２４に示すように、類似度ｄ（Ｍ１，Ｍ１）、ｄ（Ｍ１，Ｍ２）、ｄ（Ｍ１，Ｍ３）は平均値Ａｖより小さく、類似度ｄ（Ｍ１，Ｍ４）、ｄ（Ｍ１，Ｍ５）は平均値Ａｖ以上である。したがって、エッジ線Ｌ２１−１，Ｌ２１−２，Ｌ２１−３は統合されると判定される。
【０１２０】
（第２のエッジ線の検出統合処理）
図２５に示すように、上下対称の凹型の物体２５があり、物体２５のエッジ線Ｌ２５−１、Ｌ２５−２が検出されているとする。物体２５において、エッジ線Ｌ２５−１が示すエッジとエッジ線Ｌ２５−２が示すエッジとの間は空間があるため、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は統合されないことが望ましい。しかしながら、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は、上下対称の物体２５の対称部分のエッジ線であるため、エッジ線Ｌ２５−１の線分特徴量Ｖ２５−１とエッジ線Ｌ２５−２の線分特徴量Ｖ２５−２は類似してしまう。そのため、上述の第１のエッジ線の検出統合処理を用いると、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は統合されてしまうという問題がある。
【０１２１】
第２のエッジ線の検出統合処理では、このような問題を解決する。図２６に示すように、線分特徴量算出部１２３は、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２との間にエッジ線Ｌ２５−１とエッジ線Ｌ２５−２とを結ぶ仮想エッジ線Ｌ２５−３を設定し、仮想エッジ線Ｌ２５−３の線分特徴量Ｖ２５−３を算出する。例えば、図２６において、仮想エッジ線Ｌ２５−３の点線の矩形で示される線分特徴量算出範囲には、エッジ線Ｌ２５−１、Ｌ２５−２のそれぞれの線分特徴量算出範囲に比べて、物体２５の背景が多く含まれる。そのため、線分特徴量Ｖ２５−３は線分特徴量Ｖ２５−１と類似せず、また線分特徴量Ｖ２５−３は線分特徴量Ｖ２５−２と類似しない。
【０１２２】
第２のエッジ線の検出統合処理では、エッジ線の線分特徴量と仮想エッジ線の線分特徴量の類似度に基づいて、エッジ線と統合するか判定する。上記のように、線分特徴量Ｖ２５−３は線分特徴量Ｖ２５−１と類似せず、また線分特徴量Ｖ２５−３は線分特徴量Ｖ２５−２と類似しない。よって、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は、個別のエッジ線と判定され、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は統合されない。
【０１２３】
図２７は、第２のエッジ線の検出統合処理の詳細なフローチャートである。図２７の処理は、図１５のステップＳ２０２に対応する。
【０１２４】
図２７のステップＳ３２１〜Ｓ３２５の各処理は、図１６のステップＳ３０１〜Ｓ３０５の各処理と同様なため、説明は省略する。
【０１２５】
ステップＳ３２６において、エッジ線統合判定部１２４は、算出した端点間の距離が０より大きいか判定する。すなわち、エッジ線統合判定部１２４は、端点間に隙間があるか判定する。算出した端点間の距離が０より大きい場合、制御はステップＳ３２７に進み、算出した端点間の距離が０の場合、制御はステップＳ３３２に進む。
【０１２６】
ステップＳ３２７において、エッジ線統合判定部１２４は、選択した２つのエッジ線のうち第１のエッジ線の２つの端点のうちの第２のエッジ線側の端点（すなわち、第２のエッジ線に近い方の端点）と選択した２つのエッジ線のうちの第２のエッジ線の２つの端点のうちの第１のエッジ線側の端点（すなわち、第１のエッジ線に近い方の端点）とを接続する仮想エッジ線を生成する。例えば、図２６において、エッジ線統合判定部１２４は、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２を接続する仮想エッジ線Ｌ２５−３を生成する。
【０１２７】
ステップＳ３２８において、線分特徴量算出１２３は、仮想エッジ線の線分特徴量を算出する。仮想エッジ線の線分特徴量の算出方法は、エッジ線の線分特徴量と同様である。例えば、図２６において、線分特徴量算出１２３は、仮想エッジ線Ｌ２５−３の線分特徴量Ｖ２５−３を算出する。
【０１２８】
ステップＳ３２９において、エッジ線統合判定部１２４は、選択した２つのエッジ線のうちの第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量とを比較する。エッジ線統合判定部１２４は、選択した２つのエッジ線のうちの第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量とを比較する。詳細には、エッジ線統合判定部１２４は、選択した２つのエッジ線のうちの第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量から第１の類似度を算出する。エッジ線統合判定部１２４は、選択した２つのエッジ線のうちの第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量から第２の類似度を算出する。
【０１２９】
ステップＳ３３０において、エッジ線統合判定部１２４は、算出した第１の類似度に基づいて、第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似しているか判定する。エッジ線統合判定部１２４は、算出した第２の類似度に基づいて、第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似しているか判定する。
【０１３０】
エッジ線統合判定部１２４は、例えば、第１の類似度がしきい値より小さい場合、第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していると判定し、第１の類似度がしきい値以上の場合、第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していないと判定する。エッジ線統合判定部１２４は、例えば、第２の類似度がしきい値より小さい場合、第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していると判定し、第２の類似度がしきい値以上の場合、第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していないと判定する。
【０１３１】
第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似しており且つ第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していると類似していると判定された場合、制御はステップＳ３３２に進む。第１のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していないまたは第２のエッジ線の線分特徴量と仮想エッジ線の線分特徴量が類似していないと判定された場合、制御はステップＳ３３１に進む。
【０１３２】
図２７のステップＳ３３１〜Ｓ３３３の各処理は、図１６のステップＳ３１１〜Ｓ３１３の各処理と同様なため、説明は省略する。
【０１３３】
例えば、図２６において、エッジ線Ｌ２５−１の線分特徴量Ｖ２５−１と仮想エッジ線Ｌ２５−３の線分特徴量Ｖ２５−３は類似しておらず、またエッジ線Ｌ２５−２の線分特徴量Ｖ２５−２と仮想エッジ線Ｌ２５−３の線分特徴量Ｖ２５−３は類似していないため、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は個別のエッジ線であると判定され、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は統合されない。
【０１３４】
第２のエッジ線の検出統合処理によれば、２つのエッジ線のエッジ線の線分特徴量が類似していることにより、異なるエッジを示す２つのエッジ線が統合されることを防止でき、統合エッジ線の検出精度が向上する。
【０１３５】
（第３のエッジ線の検出統合処理）
図２８に示すように、物体２８があり、物体２８のあるエッジ上にエッジ線Ｌ２８−１、Ｌ２８−２が検出されているとする。物体２８において、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２は同じエッジ上あるため、エッジ線Ｌ２５−１とエッジ線Ｌ２５−２は統合されることが望ましい。ここで、物体２８の背景は、エッジ線Ｌ２８−１、Ｌ２８−２の周囲は暗く（画素値が小さい）、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間の周囲は明るい（画素値が大きい）とする。尚、背景の明るさ（画素値）は、エッジ線Ｌ２８−１の周囲からエッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間の周囲にかけて緩やかに変化しているとする。背景の明るさ（画素値）は、エッジ線Ｌ２８−２の周囲からエッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間の周囲にかけて緩やかに変化しているとする。
【０１３６】
図２８において、上述の第２のエッジ線の検出統合処理を用いて、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２を統合するか判定する。線分特徴量算出部１２３は、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間に仮想エッジ線Ｌ２８−３を生成し、仮想エッジ線Ｌ２８−３の線分特徴量Ｖ２８−３を算出する。
【０１３７】
上述のように、図２８では、物体２８の背景は、エッジ線Ｌ２８−１、Ｌ２８−２の周囲は暗く、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間の周囲（すなわち、仮想エッジ線Ｌ２８−３の周囲）は明るい。そのため、エッジ線Ｌ２８−１の線分特徴量Ｖ２８−１と仮想エッジ線Ｌ２８−３の線分特徴量Ｖ２８−３は類似しておらず、またエッジ線Ｌ２８−２の線分特徴量Ｖ２８−２と仮想エッジ線Ｌ２８−３の線分特徴量Ｖ２８−３は類似していない。
【０１３８】
そのため、上述の第２のエッジ線の検出統合処理を用いると、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２は統合されないという問題がある。
【０１３９】
第３のエッジ線の検出統合処理では、このような問題を解決する。線分特徴量算出部１２３は、エッジ線Ｌ２８−１を所定の長さで分割し、図２９に示すように部分エッジ線Ｌ２８−１−１〜２８−１−３を生成する。線分特徴量算出部１２３は、エッジ線Ｌ２８−２を所定の長さで分割し、図２９に示すように部分エッジ線Ｌ２８−２−１〜２８−２−７を生成する。線分特徴量算出部１２３は、仮想エッジ線Ｌ２８−３を所定の長さで分割し、図２９に示すように部分エッジ線Ｌ２８−３−１〜２８−３−３を生成する。
【０１４０】
線分特徴量算出部１２３は、部分エッジ線Ｌ２８−１−１〜Ｌ２８−１−３、Ｌ２８−２−１〜Ｌ２８−２−７、Ｌ２８−３−１〜Ｌ２８−３−３それぞれの線分特徴量を算出する。
【０１４１】
エッジ線統合判定部１２４は、仮想エッジ線Ｌ２８−３と接続する端点を含む部分エッジ線Ｌ２８−１−３の線分特徴量Ｖ２８−１−３とエッジ線２８−１と接続する端点を含む部分エッジ線Ｌ２８−３−１の線分特徴量Ｖ２８−３−１が類似しているか判定する。部分エッジ線Ｌ２８−１−３の周囲の明るさと部分エッジ線Ｌ２８−３−１の周囲の背景の明るさは、ほとんど同じである
そのため、部分エッジ線Ｌ２８−１−３の線分特徴量Ｖ２８−１−３と部分エッジ線Ｌ２８−３−１の線分特徴量Ｖ２８−３−１は類似しており、部分エッジ線Ｌ２８−１−３と部分エッジ線Ｌ２８−３−１は統合されると判定される。
【０１４２】
エッジ線統合判定部１２４は、仮想エッジ線Ｌ２８−３と接続する端点を含む部分エッジ線Ｌ２８−２−１の線分特徴量Ｖ２８−２−１とエッジ線２８−２と接続する端点を含む部分エッジ線Ｌ２８−３−３の線分特徴量Ｖ２８−３−３が類似しているか判定する。部分エッジ線Ｌ２８−２−１の周囲の明るさと部分エッジ線Ｌ２８−３−３の周囲の背景の明るさは、ほとんど同じである
そのため、部分エッジ線Ｌ２８−２−１の線分特徴量Ｖ２８−２−１と部分エッジ線Ｌ２８−３−３の線分特徴量Ｖ２８−３−３は類似しており、部分エッジ線Ｌ２８−２−１と部分エッジ線Ｌ２８−３−３は統合されると判定される。
【０１４３】
また、部分エッジ線Ｌ２８−１−１〜Ｌ２８−１−３のうち隣接する部分エッジ線同士は、接続しているため、部分エッジ線Ｌ２８−１−１〜Ｌ２８−１−３は統合されると判定される。また、部分エッジ線Ｌ２８−２−１〜Ｌ２８−１−７のうち隣接する部分エッジ線同士は、接続しているため、部分エッジ線Ｌ２８−２−１〜Ｌ２８−２−７は統合されると判定される、部分エッジ線Ｌ２８−３−１〜Ｌ２８−３−３のうち隣接する部分エッジ線同士は、接続しているため、部分エッジ線Ｌ２８−２−１〜Ｌ２８−２−３は統合されると判定される。
【０１４４】
最終的に部分エッジ線Ｌ２８−１−１〜Ｌ２８−１−３、Ｌ２８−２−１〜Ｌ２８−２−７、Ｌ２８−３−１〜Ｌ２８−３−３が統合されると判定される。すなわち、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２が統合される。
【０１４５】
上述のように物体２８の背景は、エッジ線Ｌ２８−１、Ｌ２８−２の周囲は暗く、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２の間の周囲は明るいとする。尚、背景の明るさ（画素値）は、部分エッジ線Ｌ２８−１−１の周囲から部分エッジ線Ｌ２８−３−２にかけて徐々に明るくなってゆき、部分エッジ線Ｌ２８−２−７の周囲から部分エッジ線Ｌ２８−３−２にかけて徐々に明るくなっている。
【０１４６】
部分エッジ線に比べてエッジ線Ｌ２８−１、Ｌ２８−２および仮想エッジ線２８−３は長いため、線分特徴量算出範囲が広くなり、エッジ線Ｌ２８−１の線分特徴量Ｖ２８−１、エッジ線Ｌ２８−２の線分特徴量Ｖ２８−１、および仮想エッジ線２８−３の線分特徴量Ｖ２８−３は、背景の明るさの変化の影響が大きくなる。よって、第２のエッジ線の検出統合処理では、線分特徴量Ｖ２８−１と線分特徴量Ｖ２８−３は類似せず、また線分特徴量Ｖ２８−２と線分特徴量Ｖ２８−３は類似していないと判定され、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２は統合されない。
【０１４７】
部分エッジ線は、エッジ線および仮想エッジ線に比べて短いため、線分特徴量算出範囲は小さくなり、部分エッジ線の線分特徴量は、背景の明るさの変化の影響が少なくなる。そのため、部分エッジ線Ｌ２８−１−３の線分特徴量Ｖ２８−１−３と部分エッジ線Ｌ２８−３−１の線分特徴量Ｖ２８−３−１は、同じような値が得られるため、線分特徴量Ｖ２８−１−３と線分特徴量Ｖ２８−３−１は、類似していると判定される。
【０１４８】
図３０は、第３のエッジ線の検出統合処理の詳細なフローチャートである。図３０の処理は、図１５のステップＳ２０２に対応する。
【０１４９】
ステップＳ３４１において、エッジ線検出部１２２は、撮影画像からエッジ線を検出する。詳細には、エッジ線検出部１２２は、撮影画像中の濃淡変動（画素値の変化）が所定しきい値より大きい箇所を候補として抽出する。エッジ線検出部１２２は、隣接しかつ濃淡変動の方向が類似した候補を統合して、線分（エッジ線）として検出する。すなわち、比較例のエッジ線の検出統合処理のステップ（１）、（２）と同じ処理が行われる。
【０１５０】
ステップＳ３４２において、エッジ線検出部１２２は、エッジ線を所定の長さごとに分割し、部分エッジ線を生成する。
【０１５１】
ステップＳ３４３において、線分特徴量算出部１２３は、部分エッジ線の線分特徴量を算出する。
【０１５２】
ステップＳ３４４において、エッジ線統合判定部１２４は、部分エッジ線を同一の直線上に位置する部分エッジ線ごとにグループ化する。詳細には、エッジ線統合判定部１２４は、下記条件（i）、（ii）に基づいて、部分エッジ線をグループ化する。
（i）部分エッジ線の方向が所定しきい値の範囲内
（ii）画像上の特定の点から部分エッジ線までの距離が所定しきい値の範囲内
【０１５３】
上記の条件（i）、（ii）を満たす部分エッジ線は、同一直線上に配置されていることになる。以下、部分エッジ線のグループは部分エッジ線群と称する。
【０１５４】
ステップＳ３４５において、エッジ線統合判定部１２４は、同じ部分エッジ線群内から隣接する２つの部分エッジ線の組を選択する。ここでは、ある部分エッジ線郡内の未選択の隣接する２つの部分エッジ線の組が選択される。ある部分エッジ線郡内の未選択の隣接する２つの部分エッジ線の組がすべて選択済みの場合は、他の部分エッジ線郡内の未選択の隣接する２つの部分エッジ線の組が選択される。
【０１５５】
ステップＳ３４６において、エッジ線統合判定部１２４は、選択した２つの部分エッジ線（第１の部分エッジ線、第２の部分エッジ線）の近接する端点間の距離を算出する。詳細には、エッジ線統合判定部１２４は、第１の部分エッジ線の２つの端点のうちの第２の部分エッジ線側の端点（すなわち、第２の部分エッジ線に近い方の端点）と選択した２つの部分エッジ線のうちの第２の部分エッジ線の２つの端点のうちの第１の部分エッジ線側の端点（すなわち、第１の部分エッジ線に近い方の端点）との距離を算出する。
【０１５６】
ステップＳ３４７において、エッジ線統合判定部１２４は、算出した端点間の距離が０より大きいか判定する。すなわち、エッジ線統合判定部１２４は、端点間に隙間があるか判定する。算出した端点間の距離が０より大きい場合、制御はステップＳ３４８に進み、算出した端点間の距離が０の場合、制御はステップＳ３５４に進む。
【０１５７】
ステップＳ３４８において、エッジ線統合判定部１２４は、選択した２つの部分エッジ線のうち第１の部分エッジ線の２つの端点のうちの第２の部分エッジ線側の端点（すなわち、第２の部分エッジ線に近い方の端点）と選択した２つのエッジ線のうちの第２の部分エッジ線の２つの端点のうちの第１の部分エッジ線側の端点（すなわち、第１の部分エッジ線に近い方の端点）とを接続する仮想エッジ線を生成する。例えば、図２８において、エッジ線統合判定部１２４は、エッジ線Ｌ２８−１とエッジ線Ｌ２８−２を接続する仮想エッジ線Ｌ２８−３を生成する。
【０１５８】
ステップＳ３４９において、エッジ線統合判定部１２４は、仮想エッジ線を所定の長さごとに分割し、仮想エッジ線の部分エッジ線（仮想部分エッジ線）を生成する。例えば、エッジ線統合判定部１２４は、仮想エッジ線Ｌ２８−３を分割して、部分エッジ線Ｌ２８−３−１〜Ｌ２８−３−３を生成する。
【０１５９】
ステップＳ３５０において、線分特徴量算出部１２３は、仮想エッジ線を分割した部分エッジ線の線分特徴量を算出する。
【０１６０】
ステップＳ３５１において、エッジ線統合判定部１２４は、第１の部分エッジ線の線分特徴量と第１の部分エッジ線と隣接する第１の仮想部分エッジ線の線分特徴量とを比較する。エッジ線統合判定部１２４は、第２の部分エッジ線の線分特徴量と第２の部分エッジ線と隣接する第２の仮想部分エッジ線の線分特徴量とを比較する。
【０１６１】
詳細には、エッジ線統合判定部１２４は、第１の部分エッジ線の線分特徴量と第１の部分エッジ線と隣接する仮想部分エッジ線の線分特徴量から第１の類似度を算出する。エッジ線統合判定部１２４は、第２の部分エッジ線の線分特徴量と第２の部分エッジ線と隣接する仮想部分エッジ線の線分特徴量から第２の類似度を算出する。
【０１６２】
例えば、図２９において、エッジ線統合判定部１２４は、部分エッジ線Ｌ２８−１−３の線分特徴量Ｖ２８−１−３と部分エッジ線Ｌ２８−１−３と隣接する仮想部分エッジ線Ｌ２８−３−１の線分特徴量Ｖ２８−３−１から第１の類似度を算出する。また、エッジ線統合判定部１２４は、部分エッジ線Ｌ２８−２−１の線分特徴量Ｖ２８−２−１と部分エッジ線Ｌ２８−２−１と隣接する仮想部分エッジ線Ｌ２８−３−３の線分特徴量Ｖ２８−３−３から第２の類似度を算出する。
【０１６３】
ステップＳ３５２において、エッジ線統合判定部１２４は、算出した第１の類似度に基づいて、第１の部分エッジ線の線分特徴量と第１の仮想部分エッジ線の線分特徴量とが類似しているか判定する。エッジ線統合判定部１２４は、算出した第２の類似度に基づいて、第２の部分エッジ線の線分特徴量と第２の仮想部分エッジ線の線分特徴量が類似しているか判定する。例えば、第１の類似度がしきい値より小さい場合、第１の部分エッジ線の線分特徴量と第１の仮想部分エッジ線の線分特徴量とが類似していると判定し、第１の類似度がしきい値以上の場合、第１の部分エッジ線の線分特徴量と第１の仮想部分エッジ線の線分特徴量とが類似していないと判定する。エッジ線統合判定部１２４は、例えば、第２の類似度がしきい値より小さい場合、第２の部分エッジ線の線分特徴量と第２の仮想部分エッジ線の線分特徴量とが類似していると判定し、第２の類似度がしきい値以上の場合、第２の部分エッジ線の線分特徴量と第２の仮想部分エッジ線の線分特徴量が類似していないと判定する。
【０１６４】
第１の部分エッジ線の線分特徴量と第１の仮想部分エッジ線の線分特徴量が類似しており且つ第２の部分エッジ線の線分特徴量と第２の仮想部分エッジ線の線分特徴量が類似していると類似していると判定された場合、制御はステップＳ３５４に進む第１の部分エッジ線の線分特徴量と第１の仮想部分エッジ線の線分特徴量が類似していないまたは第２の部分エッジ線の線分特徴量と第２の仮想部分エッジ線の線分特徴量が類似していないと判定された場合、制御はステップＳ３５３に進む。
【０１６５】
ステップＳ３５３において、選択した２つの部分エッジ線（第１の部分エッジ線、第２の部分エッジ線）は個別のエッジ線であり、統合しないと判定する。
【０１６６】
ステップＳ３５４において、エッジ線統合判定部１２４は、選択した２つのエッジ線（第１の部分エッジ線、第２の部分エッジ線）を統合すると判定する。エッジ線統合判定部１２４は、選択した２つのエッジ線を接続して統合エッジ線を生成し、統合エッジ線の情報をエッジ線情報１４３に記録する。また、線分特徴量算出部１２３は、統合エッジ線の線分特徴量を算出する。
【０１６７】
ステップＳ３５５において、複数の部分エッジ線を含む全ての部分エッジ線群の全ての隣接２部分エッジ線に対する処理が終了の場合（すなわち、複数の部分エッジ線を含む全ての部分エッジ線群の全ての隣接２部分エッジ線が選択済みの場合）、第３のエッジ線の検出統合処理は終了し、複数の部分エッジ線を含む全ての部分エッジ線群の全ての隣接２部分エッジ線に対する処理が終了していない場合、制御はステップＳ３４５に戻る。
【０１６８】
第３のエッジ線の検出統合処理によれば、線分特徴量に対する、エッジ線および仮想エッジ線の長さ、および背景の変化の影響を低減でき、統合エッジ線の検出精度が向上する。
【０１６９】
図３１は、他の実施の形態に係る画像処理装置の構成図である。
画像処理装置１１０１は、カメラ１１１、画像取得部１２１、エッジ線検出部１２２、線分特徴量算出部１２３、エッジ線統合判定部１２４、ＣＡＤデータ読込部１２５、３次元直線検出部１２６、対応ペア線分選択部１２７、カメラ位置姿勢算出部１２８、コンテンツ生成部１２９、表示部１３１、および記憶部１４１を含む。画像処理装置１１０１は、例えば、パーソナルコンピュータ、携帯電話、または携帯端末等である。
【０１７０】
記憶部１４１は、ＣＡＤデータ１４２、エッジ線情報１４３、およびペア線分情報１４４を記憶する。
【０１７１】
ＣＡＤデータ１４２は、撮影画像に含まれる物体の３次元ＣＡＤモデルを表すモデル情報であり、３次元ＣＡＤモデルに含まれる複数の頂点の頂点情報と、複数の線分の線分情報とを含む。
【０１７２】
エッジ線情報１４３は、撮影画像から検出されたエッジ線（統合されたエッジ線を含む）の情報である。
【０１７３】
ペア線分情報１４４は、撮影画像から検出されたエッジ線（統合されたエッジ線を含む）とＣＡＤデータ２０３が表す物体の３次元モデルの輪郭線との対応付けを示す情報である。
【０１７４】
図３２は、他の実施の形態に係る画像処理方法のフローチャートである。
ステップＳ４０１において、画像取得部１２１は、現フレームとしてカメラ１１１が撮影したｉフレーム目の撮影画像をカメラ１１１から取得する。尚、iの初期値は１であり、ステップＳ４０１が実行されるごとにｉは１インクリメントされる。
【０１７５】
ステップＳ４０２において、エッジ検出部１２２、線分特徴量算出部１２３、およびエッジ線統合判定部１２４は、エッジ線の検出統合処理を行う。ステップＳ４０２では、上述の第１〜３のエッジ線の検出統合処理のいずれかまたはそれらの組合せが実行される。
【０１７６】
ステップＳ４０３において、ステップＳ４０１で取得された撮影画像が１フレーム目（最初）の撮影画像である場合、制御はステップＳ４０４に進み、１フレーム目の撮影画像でない場合、制御はステップＳ４０７に進む。
【０１７７】
ステップＳ４０４において、ＣＡＤデータ読込部１２５は、記憶部１４１からＣＡＤデータ２０３を読み出す。
【０１７８】
ステップＳ４０５において、３次元直線検出部１２６は、ＣＡＤデータ２０３から３Ｄ直線を検出する。３Ｄ直線は、ＣＡＤデータ２０３が表す物体の３次元モデルの輪郭線（稜線）である。例えば、３次元直線検出部１２６は、ＣＡＤデータ２０３に含まれる複数の線分の中から、３次元ＣＡＤモデルの外形特徴を表す線分のみを抽出し、抽出した線分を輪郭線として用いる。
【０１７９】
ステップＳ４０６において、画像処理装置１０１は、ＣＡＤデータ１４２が示す輪郭線および統合処理されたエッジ線を表示部１３１に表示する。統合処理されたエッジ線は、所定の条件を満たすエッジ線が統合された統合エッジ線と所定の条件を満たさないために統合されなかったエッジ線を含む。ユーザは、表示された輪郭線とエッジ線をマウス等で選択する。対応ペア線分選択部１２７は、選択された輪郭線とエッジ線とを対応付ける。
【０１８０】
対応ペア線分選択部１２７は、対応付けた輪郭線とエッジ線をペア直線情報１４４−１に記録する。
【０１８１】
図３３では、撮影画像において、エッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１が検出されている。そして、ＣＡＤデータ１４２が示す輪郭線Ｌ７１〜Ｌ７４とエッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１がそれぞれ対応付けられる。
【０１８２】
ステップＳ４０７において、対応ペア線分選択部１２７は、現フレームの直前のフレームのペア直線情報１４４−（ｉ−１）を読み出す。
【０１８３】
ステップＳ４０８において、対応ペア線分選択部１２７は、現フレームの直前のフレームのエッジ線情報１４３−（ｉ−１）を読み出す。
【０１８４】
ステップＳ４０９において、対応ペア線分選択部１２７は、現フレームのエッジ線情報１４３−ｉと直前のフレームのエッジ線情報１４３−（ｉ−１）にそれぞれ含まれる線分特徴量を比較する。例えば、対応ペア線分選択部１２７は、エッジ線情報１４３−ｉに含まれる各エッジ線の線分特徴量とエッジ線情報１４３−（ｉ−１）に各エッジ線の線分特徴量との類似度を算出する。類似度の算出には、エッジ線の位置を示す端点座標を用いてもよい。
【０１８５】
ステップＳ４１０において、対応ペア線分選択部１２７は、算出した類似度に基づいて、直前のフレームのエッジ線に対応する現フレームのエッジ線を検出する。
【０１８６】
ステップＳ４１１において、対応ペア線分選択部１２７は、対応付けられた現フレームのエッジ線と直前のフレームのエッジ線に基づいて、現フレームのエッジ線をＣＡＤデータ１４２が示す輪郭線と対応付ける。対応ペア線分選択部１２７は、対応付けた現フレームのエッジ線をＣＡＤデータ１４２が示す輪郭線を示す情報を生成する。
【０１８７】
上記ステップＳ４０９〜Ｓ４１１の例を図３４を用いて説明する。
図３４において、現フレームは２フレーム目の撮影画像であるとする。現フレームにおいて、エッジ線Ｌ６１−２，Ｌ６２−２，Ｌ６３−２，Ｌ６４−２が検出されている。直前のフレームにおいて、エッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１が検出されている。対応ペア線分選択部１２７は、現フレームのエッジ線Ｌ６１−２，Ｌ６２−２，Ｌ６３−２，Ｌ６４−２の線分特徴量と直前のフレームのエッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１の線分特徴量との類似度を算出し、類似度に基づいて、直前のフレームのエッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１にそれぞれ対応する現フレームのエッジ線を検出する。
【０１８８】
図３４に示すように、エッジ線Ｌ６１−１には現フレームのエッジ線Ｌ６１−２が対応し、エッジ線Ｌ６２−１には現フレームのエッジ線Ｌ６２−２が対応し、エッジ線Ｌ６３−１には現フレームのエッジ線Ｌ６３−２が対応し、エッジ線Ｌ６４−１には現フレームのエッジ線Ｌ６４−２が対応する。
【０１８９】
図３３で述べたように、ＣＡＤデータ１４２が示す輪郭線Ｌ７１〜Ｌ７４とエッジ線Ｌ６１−１，Ｌ６２−１，Ｌ６３−１，Ｌ６４−１がそれぞれ対応付けられている。
【０１９０】
輪郭線Ｌ７１はエッジ線Ｌ６１−１と対応付けられおり、エッジ線Ｌ６１−１はエッジ線Ｌ６１−２と対応付けられているため、図３４に示すように、現フレームのエッジ線Ｌ６１−２は、輪郭線Ｌ７１と対応付けられる。同様に、現フレームのエッジ線Ｌ６２−２、Ｌ６３−２，Ｌ４−２は、輪郭線Ｌ７２〜Ｌ７４とそれぞれ対応付けられる。そして、現フレームのエッジ線と輪郭線との対応付けを示す情報が生成される。
【０１９１】
図３２に戻り説明を続ける。
ステップＳ４１２において、対応ペア線分選択部１２７は、対応付けた現フレームのエッジ線をＣＡＤデータ１４２が示す輪郭線を示す情報をペア線分情報１４４−ｉに記録する。
【０１９２】
ステップＳ４１３において、対応ペア線分選択部１２７は、現フレームのエッジ線の情報をエッジ線情報１４３に記録する。
【０１９３】
ステップＳ４１４において、カメラ位置姿勢算出部１２８は、対応付けられたエッジ線および輪郭線の組合せを用いて、カメラ１１１の位置と姿勢を算出する。
【０１９４】
ステップＳ４１５において、カメラ位置姿勢算出部１２８の算出結果に基づいて、コンテンツを生成し、生成したコンテンツを表示部１３１に表示する。例えば、コンテンツ生成部１２９は、カメラ位置姿勢算出部１２８の算出結果に基づいて、撮影画像にＣＡＤデータ１４２が表す輪郭線を重畳した画像を生成し、生成した画像を表示部１３１に表示する。
【０１９５】
ステップＳ４１６において、画像処理装置１１０１に終了指示が入力された場合、処理は終了し、終了指示が入力されない場合、制御はステップＳ４０１にもどる。
【０１９６】
他の実施の形態に係る画像処理装置によれば、画像内の物体のエッジを示す線分の検出精度を向上させることが出来る。
【０１９７】
他の実施の形態に係る画像処理装置によれば、ＡＲ技術として追跡を行うときに、ＣＡＤデータが示す輪郭線とエッジ線の対応付けの確度が向上する。
【０１９８】
図３５は、情報処理装置（コンピュータ）の構成図である。
実施の形態の画像処理装置１０１，１１０１は、例えば、図３５に示すような情報処理装置（コンピュータ）１によって実現可能である。
【０１９９】
情報処理装置１は、Central Processing Unit（ＣＰＵ）２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【０２００】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。ＣＰＵ２は、画像取得部１２１、エッジ線検出部１２２、線分特徴量算出部１２３、エッジ線統合判定部１２４、ＣＡＤデータ読込部１２５、３次元直線検出部１２６、対応ペア線分選択部１２７、カメラ位置姿勢算出部１２８、コンテンツ生成部１２９として動作する。
【０２０１】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０２０２】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【０２０３】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。入力装置４は、カメラ１１１に対応する。
【０２０４】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。出力装置５は、表示部１３１に対応する。
【０２０５】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、記憶部１４１に対応する。
【０２０６】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０２０７】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０２０８】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
画像処理装置が
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出し、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、
前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出し、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理を備える画像処理方法。
画像処理方法。
（付記２）
前記判定する処理は、前記第１の特徴量と前記第２の特徴量から類似度を算出し、前記類似度としきい値との比較結果に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする付記１記載の画像処理方法。
（付記３）
前記第１の線分の端点のうち前記第２の線分側の端点と前記第２の線分の端点のうち前記第１の線分側の端点とを結ぶ第３の線分を生成し、
前記第３の線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の線分に対して前記第４の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の特徴量を算出し、
前記第１の特徴量と前記第３の特徴量との類似度および前記第２の特徴量と前記第３の特徴量との類似度に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに備えることを特徴とする付記１記載の画像処理方法。
（付記４）
前記第１の線分を分割して第１の複数の部分線分を生成し、
前記第２の線分を分割して第２の複数の部分線分を生成し、
前記第１の線分の端点のうち前記第２の線分側の第１の端点と前記第２の線分の端点のうち前記第１の線分側の第２の端点とを結ぶ第３の線分を生成し、
前記第３の線分を分割して第３の複数の部分線分を生成し、
前記第１の複数の部分線分のうちの前記第１の端点を含む第１の部分線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の部分線分に対して前記第５の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の部分線分特徴量を算出し、
前記第２の複数の部分線分のうちの前記第２の端点を含む第２の部分線分に対して垂直な第７の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第２の部分線分に対して前記第７の方向と反対の第８の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第２の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第１の部分線分に隣接する第３の部分線分に対して垂直な第９の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第９の方向と反対の第１０の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第２の部分線分に隣接する第４の部分線分に対して垂直な第１１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第１１の方向と反対の第１２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第４の部分線分特徴量を算出し、
前記第１の部分線分特徴量、前記第２の部分線分特徴量、前記第３の部分線分特徴量、および前記第４の部分線分特徴量に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに備えることを特徴とする付記１記載の画像処理方法。
（付記５）
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出する検出部と、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出する特徴量算出部と、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する判定部と、
を備える画像処理装置。
（付記６）
前記判定部は、前記第１の特徴量と前記第２の特徴量から類似度を算出し、前記類似度としきい値との比較結果に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする付記４記載の画像処理装置。
（付記７）
前記判定部は、前記第１の線分の端点のうち前記第２の線分側の端点と前記第２の線分の端点のうち前記第１の線分側の端点とを結ぶ第３の線分を生成し、
特徴量算出部は、前記第３の線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の線分に対して前記第４の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の特徴量を算出し、
前記判定部は、前記第１の特徴量と前記第３の特徴量との類似度および前記第２の特徴量と前記第３の特徴量との類似度に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする付記５記載の画像処理装置。
（付記８）
前記検出部は、前記第１の線分を分割して第１の複数の部分線分を生成し、前記第２の線分を分割して第２の複数の部分線分を生成し、
前記判定部は、前記第１の線分の端点のうち前記第２の線分側の第１の端点と前記第２の線分の端点のうち前記第１の線分側の第２の端点とを結ぶ第３の線分を生成し、前記第３の線分を分割して第３の複数の部分線分を生成し、
前記特徴量算出部は、
前記第１の複数の部分線分のうちの前記第１の端点を含む第１の部分線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の部分線分に対して前記第５の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の部分線分特徴量を算出し、
前記第２の複数の部分線分のうちの前記第２の端点を含む第２の部分線分に対して垂直な第７の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第２の部分線分に対して前記第７の方向と反対の第８の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第２の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第１の部分線分に隣接する第３の部分線分に対して垂直な第９の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第９の方向と反対の第１０の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第２の部分線分に隣接する第４の部分線分に対して垂直な第１１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第１１の方向と反対の第１２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第４の部分線分特徴量を算出し、
前記判定部は、前記第１の部分線分特徴量、前記第２の部分線分特徴量、前記第３の部分線分特徴量、および前記第４の部分線分特徴量に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする付記５記載の画像処理装置。
（付記９）
入力画像に含まれる複数の画素の画素値の変動に基づいて、前記入力画像に含まれる物体のエッジを示す複数の線分を検出し、
前記複数の線分のうちの第１の線分に対して垂直な第１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の線分に対して前記第１の方向と反対の第２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の線分特徴量を算出し、
前記複数の線分のうちの第２の線分に対して垂直な第３の方向に前記所定の距離ごとに位置する画素の画素値と前記第２の線分に対して前記第３の方向と反対の第４の方向に前記所定の距離ごとに位置する画素の画素値から、前記第２の線分から前記所定の距離ごとに位置する前記画素のそれぞれの特徴を示す複数の特徴量を含む第２の特徴量を算出し、
前記第１の特徴量と前記第２の特徴量とに基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をコンピュータに実行させる画像処理プログラム。
（付記１０）
前記判定する処理は、前記第１の特徴量と前記第２の特徴量から類似度を算出し、前記類似度としきい値との比較結果に基づいて、前記第１の線分と前記第２の線分を統合すると判定することを特徴とする付記９記載の画像処理プログラム。
（付記１１）
前記第１の線分の端点のうち前記第２の線分側の端点と前記第２の線分の端点のうち前記第１の線分側の端点とを結ぶ第３の線分を生成し、
前記第３の線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の線分に対して前記第４の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の特徴量を算出し、
前記第１の特徴量と前記第３の特徴量との類似度および前記第２の特徴量と前記第３の特徴量との類似度に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに前記コンピュータに実行させることを特徴とする付記９記載の画像処理プログラム。
（付記１２）
前記第１の線分を分割して第１の複数の部分線分を生成し、
前記第２の線分を分割して第２の複数の部分線分を生成し、
前記第１の線分の端点のうち前記第２の線分側の第１の端点と前記第２の線分の端点のうち前記第１の線分側の第２の端点とを結ぶ第３の線分を生成し、
前記第３の線分を分割して第３の複数の部分線分を生成し、
前記第１の複数の部分線分のうちの前記第１の端点を含む第１の部分線分に対して垂直な第５の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第１の部分線分に対して前記第５の方向と反対の第６の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第１の部分線分特徴量を算出し、
前記第２の複数の部分線分のうちの前記第２の端点を含む第２の部分線分に対して垂直な第７の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第２の部分線分に対して前記第７の方向と反対の第８の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第２の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第１の部分線分に隣接する第３の部分線分に対して垂直な第９の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第９の方向と反対の第１０の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第３の部分線分特徴量を算出し、
前記第３の複数の部分線分のうちの前記第２の部分線分に隣接する第４の部分線分に対して垂直な第１１の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量と、前記第３の部分線分に対して前記第１１の方向と反対の第１２の方向に位置する複数の画素それぞれの画素値の特徴を示す複数の特徴量とを含む第４の部分線分特徴量を算出し、
前記第１の部分線分特徴量、前記第２の部分線分特徴量、前記第３の部分線分特徴量、および前記第４の部分線分特徴量に基づいて、前記第１の線分と前記第２の線分を統合すると判定する
処理をさらに前記コンピュータに実行させることを特徴とする付記９記載の画像処理プログラム。
【符号の説明】
【０２０９】
１０１，１１０１    画像処理装置
１１１    カメラ
１２１    画像取得部
１２２    エッジ線検出部
１２３    線分特徴量算出部
１２４    エッジ線統合判定部
１２５    ＣＡＤデータ読込部
１２６    ３次元直線検出部
１２７    対応ペア線分選択部
１２８    カメラ位置姿勢算出部
１２９    コンテンツ生成部
１３１    表示部
１４１    記憶部
１４２    ＣＡＤデータ
１４３    エッジ線情報
【図１】
2019067004.tif 000003
【図２】
2019067004.tif 000004
【図３】
2019067004.tif 000005
【図４】
2019067004.tif 000006
【図５】
2019067004.tif 000007
【図６】
2019067004.tif 000008
【図７】
2019067004.tif 000009
【図８】
2019067004.tif 000010
【図９】
2019067004.tif 000011
【図１０】
2019067004.tif 000012
【図１１】
2019067004.tif 000013
【図１２】
2019067004.tif 000014
【図１３】
2019067004.tif 000015
【図１４】
2019067004.tif 000016
【図１５】
2019067004.tif 000017
【図１６】
2019067004.tif 000018
【図１７】
2019067004.tif 000019
【図１８】
2019067004.tif 000020
【図１９】
2019067004.tif 000021
【図２０】
2019067004.tif 000022
【図２１】
2019067004.tif 000023
【図２２】
2019067004.tif 000024
【図２３】
2019067004.tif 000025
【図２４】
2019067004.tif 000026
【図２５】
2019067004.tif 000027
【図２６】
2019067004.tif 000028
【図２７】
2019067004.tif 000029
【図２８】
2019067004.tif 000030
【図２９】
2019067004.tif 000031
【図３０】
2019067004.tif 000032
【図３１】
2019067004.tif 000033
【図３２】
2019067004.tif 000034
【図３３】
2019067004.tif 000035
【図３４】
2019067004.tif 000036
【図３５】
2019067004.tif 000037