(57)【要約】【課題】物体の製造工程において、その物体の形状情報を用いて作業の進捗状況を客観的に把握する。【解決手段】記憶部は、物体の形状を表す形状情報を記憶する。検出部は、物体の製造工程において撮像装置が撮影した物体の画像から、複数の特徴線を検出する。生成部は、形状情報に含まれる複数の線分それぞれと複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する。分類部は、それらの組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類する。進捗度計算部は、複数の組み合わせ各々の信頼度に基づいて、確定組み合わせと不確定組み合わせの分類結果を変更し、変更後の分類結果に含まれる確定組み合わせを用いて、製造工程の進捗度を求める。【選択図】図４
2020071566.tif 000002
【特許請求の範囲】
【請求項１】
物体の形状を表す形状情報を記憶する記憶部と、
前記物体の製造工程において撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
前記形状情報に含まれる複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する生成部と、
前記複数の組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類する分類部と、
前記複数の組み合わせ各々の信頼度に基づいて、前記確定組み合わせと前記不確定組み合わせの分類結果を変更し、変更後の分類結果に含まれる確定組み合わせを用いて、前記製造工程の進捗度を求める進捗度計算部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記分類部は、前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差を求め、前記複数の組み合わせのうち、閾値よりも小さな誤差を有する組み合わせを前記確定組み合わせに分類し、前記閾値よりも大きな誤差を有する組み合わせを抽出し、抽出された組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを前記確定組み合わせ又は前記不確定組み合わせのいずれかに分類することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記分類部は、前記抽出された組み合わせに含まれる線分と前記他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを、前記物体の形状の不良部分、誤って対応付けられた組み合わせ、又は前記不確定組み合わせのいずれかに分類し、前記物体の形状の不良部分に分類された組み合わせと前記誤って対応付けられた組み合わせとを、前記確定組み合わせに決定することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記分類部は、前記製造工程において、前記形状情報に含まれる複数の線分それぞれと前記物体の画像から検出された複数の特徴線それぞれとを対応付けた組み合わせを分類する分類処理を複数回繰り返し、
前記進捗度計算部は、前記複数の組み合わせ各々が前記確定組み合わせに分類された回数と、前記複数の組み合わせ各々が前記不確定組み合わせに分類された回数とに基づいて、前記信頼度を求めることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検出部は、前記画像が撮影された位置とは異なる位置から撮影された前記物体の別の画像から、複数の特徴線を検出し、
前記進捗度計算部は、前記別の画像内において、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が存在する存在範囲を求め、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が前記存在範囲から検出されたか否かに基づいて、前記信頼度を求めることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記物体は、複数の部品を含み、
前記進捗度計算部は、前記複数の部品のうち、前記複数の組み合わせ各々に含まれる線分が属する部品を特定し、特定された部品に属する線分を含む確定組み合わせの個数に基づいて、前記信頼度を求めることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項７】
前記物体は、組み立て順序に応じた順位を有する複数の部品を含み、
前記進捗度計算部は、変更前の分類結果に含まれる確定組み合わせを用いて仮の進捗度を求め、最初の順位を有する部品から前記仮の進捗度に対応する順位を有する部品までを含む部品群を特定し、前記複数の組み合わせ各々に含まれる線分が前記部品群に属するか否かに基づいて、前記信頼度を求めることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項８】
前記進捗度計算部は、前記複数の組み合わせに含まれている線分の長さの総和に対する、前記変更後の分類結果に含まれる確定組み合わせに含まれている線分の長さの総和の比率に基づいて、前記製造工程の進捗度を求めることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
コンピュータによって実行される画像処理方法であって、
前記コンピュータが、
物体の製造工程において撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成し、
前記複数の組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類し、
前記複数の組み合わせ各々の信頼度に基づいて、前記確定組み合わせと前記不確定組み合わせの分類結果を変更し、
変更後の分類結果に含まれる確定組み合わせを用いて、前記製造工程の進捗度を求める、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
工場又は建設現場等の作業現場では、製造物、構造物等を製造する作業が行われる。このような作業現場では、製造物又は構造物の観察結果等に基づいて製造工程の進捗管理が行われる。
【０００３】
製造工程の進捗管理に関連して、物品の組立て状況情報の表示装置が知られている（例えば、特許文献１を参照）。拡張現実感システムにおいて、対象物の画像と重ね合わされるように設計されたデータモデルを決定するための方法も知られている（例えば、特許文献２を参照）。設備解体作業の進捗状況を把握して管理するための設備解体作業管理支援システムも知られている（例えば、特許文献３を参照）。
【０００４】
線分検出、直線対応付けによる姿勢推定、カメラキャリブレーション、コンピュータ・ビジョンのためのロバスト回帰法、立体の機械知覚等の技術も知られている（例えば、非特許文献１〜非特許文献５を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−６８８４９号公報
【特許文献２】特開２００７−２０７２５１号公報
【特許文献３】特開２００９−２１０４０３号公報
【非特許文献】
【０００６】
【非特許文献１】R. G. Gioi et al.,“LSD: a Line Segment Detector”, Image Processing On Line, 2 (2012), pp.35-55, March 2012
【非特許文献２】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
【非特許文献３】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
【非特許文献４】P. Meer et al.,“Robust Regression Methods for Computer Vision: A Review”, International Journal of Computer Vision, Vol.6, Issue 1, pp.59-70, April 1991
【非特許文献５】L. G. Roberts,“Machine perception of three-dimensional solids”, MIT Lincoln Lab. Rep., TR3315, pp.1-82, May 1963
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術によれば、表示装置の画面上で、物品の３次元ＣＡＤ（Computer-Aided Design）データを、その物品の２次元デジタル画像に重ね合わせて表示することができる。しかしながら、ＣＡＤデータを物品の画像に重ね合わせて表示するだけでは、物品の組み立て作業の進捗状況を正確に把握することは困難である。
【０００８】
なお、かかる問題は、ＣＡＤデータを用いて物品の組み立て作業の進捗状況を管理する場合に限らず、他の形状情報を用いて物体の製造工程の進捗状況を管理する場合においても生ずるものである。
【０００９】
１つの側面において、本発明は、物体の製造工程において、その物体の形状情報を用いて作業の進捗状況を客観的に把握することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、画像処理装置は、記憶部、検出部、生成部、分類部、及び進捗度計算部を含む。記憶部は、物体の形状を表す形状情報を記憶する。検出部は、物体の製造工程において撮像装置が撮影した物体の画像から、複数の特徴線を検出する。生成部は、形状情報に含まれる複数の線分それぞれと複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する。
【００１１】
分類部は、それらの組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類する。進捗度計算部は、複数の組み合わせ各々の信頼度に基づいて、確定組み合わせと不確定組み合わせの分類結果を変更し、変更後の分類結果に含まれる確定組み合わせを用いて、製造工程の進捗度を求める。
【発明の効果】
【００１２】
実施形態によれば、物体の製造工程において、その物体の形状情報を用いて作業の進捗状況を客観的に把握することができる。
【図面の簡単な説明】
【００１３】
【図１】製造物を撮影した画像を示す図である。
【図２】画像処理装置の機能的構成図である。
【図３】画像処理のフローチャートである。
【図４】画像処理装置の具体例を示す機能的構成図である。
【図５】面積に基づく誤差の計算方法を示す図である。
【図６】距離に基づく誤差の計算方法を示す図である。
【図７】物体の形状の不良部分を表す対応ペアを示す図である。
【図８】誤った対応ペアを示す図である。
【図９】変更前の分類結果を示す図である。
【図１０】シグモイド関数を示す図である。
【図１１】分類結果から計算された信頼度を示す図である。
【図１２】画像処理の具体例を示すフローチャートである。
【図１３】進捗度推定処理のフローチャートである。
【図１４】進捗度更新処理のフローチャートである。
【図１５】エピポーラ幾何を示す図である。
【図１６】部品情報を用いて計算された信頼度を示す図である。
【図１７】部品の組み立て順序を示す図である。
【図１８】情報処理装置の構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、実施形態を詳細に説明する。
【００１５】
例えば、船舶、車両、電子機器等の製造工程において、作業者と管理者が物理的に離れた場所にいる場合、管理者にとって、作業の進捗状況を遠隔地から自動的に管理することができれば便利である。また、進捗状況を示す定量的なデータを自動的に取得できれば、作業者が作成した作業記録とは別に、客観的なエビデンスとして残すことができる。
【００１６】
作業の進捗状況を自動的に管理するために、例えば、先願である特願２０１８−４６２５１号に記載された技術を用いて、製造中の製造物を撮影した画像に、完成した製造物（完成品）のＣＡＤデータを重ね合わせる方法が考えられる。この方法では、ＣＡＤデータに含まれる３次元の線分（３Ｄ線分）と、画像から検出された２次元の特徴線との組み合わせ（対応ペア）に基づいて、進捗状況を把握することが可能である。
【００１７】
しかしながら、製造中の製造物には、完成品に含まれるすべての部品が存在するとは限らない。この場合、画像から検出された特徴線が、製造物に存在しない部品の３Ｄ線分に誤って対応付けられ、対応ペアから把握される進捗状況に誤差が発生する可能性がある。存在しない部品に対応付けられた対応ペアを除外して、作業の進捗状況を正確に把握することは困難である。
【００１８】
図１は、組み立て中の製造物を撮影した画像の例を示している。図１の製造物の完成品は、ベース部材１０１及び部品１１１〜部品１１５を含み、図１の状態では、ベース部材１０１に部品１１１〜部品１１３が取り付けられている。図１の画像に完成品のＣＡＤデータを重ね合わせることで、３Ｄ線分が画像中の特徴線に対応付けられる。
【００１９】
図１では、ベース部材１０１及び部品１１１〜部品１１３の３Ｄ線分は省略されており、ベース部材１０１に取り付けられていない部品１１４及び部品１１５の３Ｄ線分が、破線で示されている。この場合、ベース部材１０１及び部品１１１〜部品１１５のすべての３Ｄ線分のうち、画像中の特徴線に対応付けられた３Ｄ線分の長さの総和から、組み立て作業の進捗状況を推定することができる。
【００２０】
ここで、ベース部材１０１の画像から特徴線１２１が検出された場合、その特徴線１２１が部品１１５の３Ｄ線分１２２に近接しているため、特徴線１２１が３Ｄ線分１２２に誤って対応付けられる可能性がある。この場合、３Ｄ線分１２２の長さが組み立て済みの３Ｄ線分の長さとしてカウントされ、進捗状況の計算精度が低下する。
【００２１】
図２は、実施形態の画像処理装置の機能的構成例を示している。図２の画像処理装置２０１は、記憶部２１１、検出部２１２、生成部２１３、分類部２１４、及び進捗度計算部２１５を含む。記憶部２１１は、物体の形状を表す形状情報２２１を記憶する。
【００２２】
図３は、図２の画像処理装置２０１が行う画像処理の例を示すフローチャートである。まず、検出部２１２は、物体の製造工程において撮像装置が撮影した物体の画像から、複数の特徴線を検出する（ステップ３０１）。次に、生成部２１３は、形状情報２２１に含まれる複数の線分それぞれと複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する（ステップ３０２）。
【００２３】
次に、分類部２１４は、それらの組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類する（ステップ３０３）。そして、進捗度計算部２１５は、複数の組み合わせ各々の信頼度に基づいて、確定組み合わせと不確定組み合わせの分類結果を変更し（ステップ３０４）、変更後の分類結果に含まれる確定組み合わせを用いて、製造工程の進捗度を求める（ステップ３０５）。
【００２４】
図２の画像処理装置２０１によれば、物体の製造工程において、その物体の形状情報を用いて作業の進捗状況を客観的に把握することができる。
【００２５】
図４は、図２の画像処理装置２０１の具体例を示している。図４の画像処理装置４０１は、記憶部４１１、画像取得部４１２、特徴線検出部４１３、線分検出部４１４、パラメータ設定部４１５、生成部４１６、パラメータ計算部４１７、及び誤差計算部４１８を含む。さらに、画像処理装置４０１は、分類部４１９、進捗度計算部４２０、及び出力部４２１を含む。
【００２６】
記憶部４１１、特徴線検出部４１３、生成部４１６、分類部４１９、及び進捗度計算部４２０は、図２の記憶部２１１、検出部２１２、生成部２１３、分類部２１４、及び進捗度計算部２１５にそれぞれ対応する。
【００２７】
画像処理装置４０１は、工場又は建設現場等において製造物、構造物等の物体を製造する製造工程の進捗管理のために使用される。製造物は、船舶、車両、電子機器等であってもよく、構造物は、道路、橋梁、建築物等であってもよい。画像処理装置４０１は、タブレット、ノート型ＰＣ（Personal Computer）、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型ＰＣ等の情報処理装置であってもよい。
【００２８】
記憶部４１１は、ＣＡＤデータ４３１を記憶している。ＣＡＤデータ４３１は、図２の形状情報２２１に対応し、物体の３次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の３次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報、又は各線分の両端の頂点の３次元座標を含む。ＣＡＤデータ４３１は、ＯＢＪ形式のデータであってもよい。
【００２９】
撮像装置４０２は、例えば、ＣＣＤ（Charged-Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）等の撮像素子を有するカメラであり、ＣＡＤデータ４３１が表す物体の画像４３２を撮影する。画像取得部４１２は、撮像装置４０２から画像４３２を取得して、記憶部４１１に格納する。
【００３０】
特徴線検出部４１３、線分検出部４１４、パラメータ設定部４１５、生成部４１６、パラメータ計算部４１７、及び誤差計算部４１８は、例えば、上記先願に記載された画像処理を行う。
【００３１】
特徴線検出部４１３は、エッジ検出処理を行って、画像４３２から複数のエッジ線を検出し、検出したエッジ線を特徴線４３３として記憶部４１１に格納する。特徴線検出部４１３は、例えば、非特許文献１の技術を用いて、画像４３２からエッジ線を検出することができる。線分検出部４１４は、ＣＡＤデータ４３１に含まれる複数の線分を検出し、検出した複数の線分を複数の３Ｄ線分４３４として記憶部４１１に格納する。
【００３２】
パラメータ設定部４１５は、３次元空間内における撮像装置４０２の初期位置及び初期姿勢を表す初期パラメータ４３５を設定する。まず、パラメータ設定部４１５は、ＣＡＤデータ４３１が表す物体の形状を画像４３２上に投影して、画像４３２及び物体の形状を画面上に表示する。
【００３３】
作業者は、表示された物体の形状の位置及び姿勢が、画像４３２に写っている物体と近似するように、画面上で形状の位置及び姿勢を変更する操作を行う。画面上で形状の位置及び姿勢を変更することで、画面に対する視点の位置及び姿勢が変化する。そこで、パラメータ設定部４１５は、作業者が決定した形状の位置及び姿勢に対応する視点の位置及び姿勢を、撮像装置４０２の初期位置及び初期姿勢として用いる。そして、パラメータ設定部４１５は、その初期位置及び初期姿勢を表すパラメータを、初期パラメータ４３５として記憶部４１１に格納する。
【００３４】
初期パラメータ４３５が表す初期位置及び初期姿勢は、仮の位置及び姿勢であり、画像４３２を撮影したときの撮像装置４０２の位置及び姿勢と必ずしも一致しているとは限らない。
【００３５】
次に、作業者は、画面上に表示されている、３Ｄ線分４３４の投影線及び特徴線４３３の中から、投影線と特徴線の組み合わせをｋ個（ｋは４以上の所定の整数）指定する。生成部４１６は、指定された投影線が表す３Ｄ線分と指定された特徴線との組み合わせを、初期対応ペアとして用いる。この場合、ｋ個の初期対応ペアが生成される。
【００３６】
パラメータ計算部４１７は、ｋ個の初期対応ペアを用いて、画像４３２を撮影したときの撮像装置４０２の位置及び姿勢を計算する。パラメータ計算部４１７は、例えば、非特許文献２の技術を用いて、ｋ個の初期対応ペアから、位置及び姿勢を表す３行３列の回転行列Ｒと並進ベクトルＴとを計算することができる。
【００３７】
生成部４１６は、パラメータ計算部４１７が計算した撮像装置４０２の位置及び姿勢を用いて、３Ｄ線分４３４を画像４３２上に投影することで、投影線を生成する。例えば、生成部４１６は、次式により、３Ｄ線分４３４を画像４３２上に投影することができる。
【００３８】
【数１】
2020071566.tif 000003
【００３９】
式（１）の（Ｘ，Ｙ，Ｚ）、Ａ、Ｒ、Ｔ、及び（ｕ，ｖ）の定義は、以下の通りである。
（Ｘ，Ｙ，Ｚ）：３Ｄ線分の端点の３次元座標
Ａ：撮像装置４０２の内部パラメータ
Ｒ：３行３列の回転行列
Ｔ：並進ベクトル
（ｕ，ｖ）：画像４３２上における投影線の端点の２次元座標
【００４０】
撮像装置４０２の内部パラメータＡは、例えば、非特許文献３の技術を用いて、事前に計測しておくことができる。
【００４１】
次に、生成部４１６は、生成した投影線の中から、初期対応ペアに対して追加する追加３Ｄ線分の投影線を選択し、特徴線４３３の中から、追加３Ｄ線分に対応付ける追加特徴線を選択し、追加３Ｄ線分と追加特徴線とを対応付けた追加対応ペアを生成する。そして、生成部４１６は、初期対応ペア及び追加対応ペアの集合を、対応ペア集合４３６として記憶部４１１に格納する。したがって、対応ペア集合４３６に含まれる対応ペアの個数Ｎは、ｋ＋１以上になる。
【００４２】
例えば、生成部４１６は、投影線の長さが長い順に追加３Ｄ線分の投影線を選択し、選択した投影線に対して以下の条件を満たす特徴線を、追加特徴線として選択することができる。
（Ｃ１）投影線の中点と特徴線の中点との距離＜閾値
（Ｃ２）投影線と特徴線との成す角度＜閾値
【００４３】
追加特徴線の本数には上限を設けてもよい。また、物体の１つの辺から２本以上の特徴線が細切れで検出される可能性があるため、生成部４１６は、同一直線上に２本以上の特徴線が存在する場合、いずれか１本のみを追加特徴線として選択してもよい。さらに、生成部４１６は、所定値よりも短い特徴線を、追加特徴線の候補から除外してもよい。例えば、所定値としては、最も長い特徴線の長さの５％〜２０％の値を用いることができる。
【００４４】
次に、パラメータ計算部４１７は、対応ペア集合４３６に含まれるＮ個の対応ペアの中から、ｋ個の対応ペアを選択し、選択したｋ個の対応ペアを用いて、撮像装置４０２の位置及び姿勢を計算する。そして、パラメータ計算部４１７は、計算した位置及び姿勢を表すパラメータを、パラメータ４３７として記憶部４１１に格納する。例えば、パラメータ４３７としては、式（１）のＲ及びＴを用いることができる。
【００４５】
パラメータ計算部４１７は、ｋ個の対応ペアの選択を変更しながら、パラメータ４３７を計算する処理を複数回繰り返す。誤差計算部４１８は、パラメータ４３７が計算される度に、そのパラメータ４３７が表すＲ及びＴを用いて、対応ペア集合４３６内の残りのＮ−ｋ個の対応ペアに含まれる３Ｄ線分を、画像４３２上に投影することで、Ｎ−ｋ本の投影線を生成する。
【００４６】
次に、誤差計算部４１８は、生成した投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、Ｎ−ｋ個の対応ペアそれぞれの誤差の統計値を計算する。誤差の統計値としては、中央値、平均値、最小値等を用いることができる。
【００４７】
図５は、投影線と特徴線との間の領域の面積に基づく誤差の計算方法の例を示している。Ｎ−ｋ個の対応ペアのうちｉ番目（ｉ＝１〜Ｎ−ｋ）の対応ペアに含まれる３Ｄ線分の投影線が線分５０１であり、特徴線が線分５０２である場合、線分５０１の両端と線分５０２の両端とをそれぞれ結ぶ線分５０３及び線分５０４を定義することができる。この場合、線分５０１〜線分５０４によって囲まれた領域の面積Ａｉを、投影線の位置と特徴線の位置との間の誤差Ｅｉとして用いることができる。
【００４８】
Ｅｉ＝Ａｉ      （２）
【００４９】
面積Ａｉが小さいほど、誤差Ｅｉは小さくなり、線分５０１が線分５０２に重なっている場合、誤差Ｅｉは０になる。
【００５０】
図６は、投影線と特徴線との間の距離に基づく誤差の計算方法の例を示している。線分５０２の両端から線分５０１上へ下ろした垂線６０１及び垂線６０２の長さを、それぞれ、Ｌｉ１及びＬｉ２とする。この場合、Ｌｉ１及びＬｉ２の和を、誤差Ｅｉとして用いることができる。
【００５１】
Ｅｉ＝Ｌｉ１＋Ｌｉ２      （３）
【００５２】
Ｌｉ１及びＬｉ２が短いほど、誤差Ｅｉは小さくなり、線分５０１が線分５０２に重なっている場合、誤差Ｅｉは０になる。
【００５３】
誤差計算部４１８は、それぞれのパラメータ４３７を用いて計算した誤差の統計値の最小値を求め、求めた最小値を用いて、誤差に対する閾値ＴＨを計算する。例えば、統計値としてＮ−ｋ個の誤差の中央値ｍｅｄを用いた場合、誤差計算部４１８は、非特許文献４の技術を用いて、次式により標準偏差σから閾値ＴＨを計算することができる。
【００５４】
ＴＨ＝２．５＊σ      （４）
σ＝Ｃ＊｛１＋（５／（Ｎ−ｋ））｝＊（ｍｅｄ）１／２      （５）
Ｃ＝１．４８２６      （６）
【００５５】
次に、分類部４１９は、統計値の最小値を計算する際に用いられたパラメータ４３７を選択し、選択したパラメータ４３７を用いて、対応ペア集合４３６に含まれる３Ｄ線分を、画像４３２上に再度投影することで、投影線を生成する。そして、分類部４１９は、生成した投影線の位置とその対応ペアに含まれる特徴線の位置との間の誤差を計算し、閾値ＴＨよりも小さな誤差を有する対応ペアを、正しく対応付けられた対応ペア（正しい対応ペア）に分類する。
【００５６】
一方、閾値ＴＨよりも大きな誤差を有する対応ペアの中には、製造ミス等に起因する物体の形状の不良部分を表す対応ペアだけでなく、誤って対応付けられた対応ペア（誤った対応ペア）が含まれている可能性がある。この場合、閾値ＴＨよりも大きな誤差を有する対応ペアの中から誤った対応ペアを除外して、不良部分の対応ペアのみを抽出することが望ましい。
【００５７】
そこで、分類部４１９は、対応ペア集合４３６から、閾値ＴＨよりも大きな誤差を有する対応ペアを、判定対象の対応ペアとして抽出する。そして、分類部４１９は、判定対象の対応ペアに含まれる３Ｄ線分と、他の対応ペアに含まれる３Ｄ線分との間の連結状態に基づいて、判定対象の対応ペアを、物体の形状の不良部分、誤った対応ペア、又は不確定ペアのいずれかに分類する。
【００５８】
正しい対応ペア、不良部分、又は誤った対応ペアに分類された対応ペアは、確からしい対応付け結果を有する確定組み合わせを表す確定ペアである。一方、不確定ペアは、不確かな対応付け結果を有する不確定組み合わせを表す。
【００５９】
例えば、分類部４１９は、２本の特徴線の端点間の距離が所定値よりも小さい場合、それらの特徴線同士が連結していると判定し、端点間の距離が所定値よりも大きい場合、それらの特徴線同士が連結していないと判定する。同様に、分類部４１９は、２本の３Ｄ線分の端点間の距離が所定値よりも小さい場合、それらの３Ｄ線分同士が連結していると判定し、端点間の距離が所定値よりも大きい場合、それらの特徴線同士が連結していないと判定する。
【００６０】
判定対象の対応ペアに含まれる３Ｄ線分と、他の対応ペアに含まれる３Ｄ線分との間の連結状態に基づいて、判定対象の対応ペアを確定ペア又は不確定ペアのいずれかに分類することで、不確かな対応付け結果を有する対応ペアを特定することができる。さらに、確定ペアを不良部分又は誤った対応ペアのいずれかに分類することで、製造ミス等に起因する物体の形状の不良部分を表す対応ペアを特定して、作業者又は管理者に提示することが可能になる。
【００６１】
分類部４１９は、例えば、以下のような判定基準に基づいて、判定対象の対応ペアを分類することができる。
【００６２】
（Ｐ１）分類部４１９は、判定対象の対応ペアに含まれる特徴線と連結している特徴線を含む対応ペア、又は判定対象の対応ペアに含まれる３Ｄ線分と連結している３Ｄ線分を含む対応ペアを、他の対応ペアとして選択する。そのような対応ペアが対応ペア集合４３６内に存在しない場合、分類部４１９は、判定対象の対応ペアを不確定ペアに分類する。
【００６３】
（Ｐ２）分類部４１９は、判定対象の対応ペアに含まれる特徴線及び３Ｄ線分が、選択された他の対応ペアに含まれる特徴線及び３Ｄ線分とそれぞれ連結している場合、判定対象の対応ペアを不良部分に分類する。
【００６４】
（Ｐ３）分類部４１９は、判定対象の対応ペアに含まれる特徴線又は３Ｄ線分のいずれか一方が、選択された他の対応ペアに含まれる特徴線又は３Ｄ線分と連結していない場合、判定対象の対応ペアを誤った対応ペアに分類する。
【００６５】
図７は、物体の形状の不良部分を表す対応ペアの例を示している。図７において、判定対象の対応ペアは、投影線７０１が表す３Ｄ線分と特徴線７０２とを含む。投影線７１１〜投影線７１４は、投影線７０１が表す３Ｄ線分と連結している３Ｄ線分の投影線である。特徴線７２１は、投影線７１１が表す３Ｄ線分を含む対応ペアの特徴線であり、特徴線７２２は、投影線７１２が表す３Ｄ線分を含む対応ペアの特徴線である。
【００６６】
まず、分類部４１９は、判定対象の対応ペアに含まれる３Ｄ線分と連結している３Ｄ線分を含む対応ペアを、他の対応ペアとして選択する。したがって、特徴線７２１を含む対応ペアと、特徴線７２２を含む対応ペアとが、他の対応ペアとして選択される。そして、判定対象の対応ペアに含まれる特徴線７０２が、特徴線７２１及び特徴線７２２と連結しているため、判定対象の対応ペアは、不良部分に分類される。
【００６７】
図８は、誤った対応ペアの例を示している。図８において、判定対象の対応ペアは、投影線８０１が表す３Ｄ線分と特徴線８０２とを含む。特徴線８１１は、特徴線８０２と連結している特徴線であり、投影線８１２は、特徴線８１１を含む対応ペアの３Ｄ線分の投影線である。
【００６８】
まず、分類部４１９は、判定対象の対応ペアに含まれる特徴線８０２と連結している特徴線を含む対応ペアを、他の対応ペアとして選択する。したがって、特徴線８１１を含む対応ペアが、他の対応ペアとして選択される。そして、判定対象の対応ペアに含まれる３Ｄ線分が、他の対応ペアに含まれる３Ｄ線分と連結していないため、判定対象の対応ペアは、誤った対応ペアに分類される。
【００６９】
（Ｐ１）〜（Ｐ３）の判定基準を用いた場合、分類部４１９は、例えば、以下のような分類処理により、判定対象の対応ペアを分類することができる。
【００７０】
／／  判定対象の対応ペアの周りの連結状態の判定
ｆｏｒ  すべての判定対象の対応ペア
ＴＰ＝判定対象の対応ペア
ｆｌａｇＰａｉｒｉｎｇ＝Ｆａｌｓｅ
ｆｌａｇＤｅｆｅｃｔ＝Ｆａｌｓｅ
ｆｏｒ  ＴＰの３Ｄ線分に連結しているすべての３Ｄ線分
ｉｆ  ｛ＴＰの３Ｄ線分に連結している３Ｄ線分｝を含む対応ペアＯＰが存在
ｆｌａｇＰａｉｒｉｎｇ＝Ｔｒｕｅ
ｉｆ  ＯＰの特徴線とＴＰの特徴線とが連結している
ｆｌａｇＤｅｆｅｃｔ＝Ｔｒｕｅ
ｅｎｄ
ｅｎｄ
ｅｎｄ
ｆｏｒ  ＴＰの特徴線に連結しているすべての特徴線
ｉｆ  ｛ＴＰの特徴線に連結している特徴線｝を含む対応ペアＯＰが存在
ｆｌａｇＰａｉｒｉｎｇ＝Ｔｒｕｅ
ｉｆ  ＯＰの３Ｄ線分とＴＰの３Ｄ線分とが連結している
ｆｌａｇＤｅｆｅｃｔ＝Ｔｒｕｅ
ｅｎｄ
ｅｎｄ
ｅｎｄ
／／  不良部分、誤った対応ペア、又は不確定ペアの判定
ｉｆ  （（ｆｌａｇＰａｉｒｉｎｇ＝＝Ｔｒｕｅ）＆＆
（ｆｌａｇＤｅｆｅｃｔ＝＝Ｔｒｕｅ））
ＴＰ＝不良部分の対応ペア
ｅｌｓｅ  ｉｆ  （（ｆｌａｇＰａｉｒｉｎｇ＝＝Ｔｒｕｅ）＆＆
（ｆｌａｇＤｅｆｅｃｔ＝＝Ｆａｌｓｅ））
ＴＰ＝誤った対応ペア
ｅｌｓｅ  ｉｆ  （ｆｌａｇＰａｉｒｉｎｇ＝＝Ｆａｌｓｅ）
ＴＰ＝不確定ペア
ｅｎｄ
ｅｎｄ
【００７１】
上記分類処理において、ＯＰの特徴線の端点とＴＰの特徴線の端点との距離が閾値Ｄ以下である場合、ＯＰの特徴線とＴＰの特徴線とが連結していると判定される。一方、距離が閾値Ｄよりも大きい場合、ＯＰの特徴線とＴＰの特徴線とが連結していないと判定される。
【００７２】
また、ＯＰの３Ｄ線分を表す投影線の端点と、ＴＰの３Ｄ線分を表す投影線の端点との距離が、閾値Ｄ以下である場合、ＯＰの３Ｄ線分とＴＰの３Ｄ線分とが連結していると判定される。一方、距離が閾値Ｄよりも大きい場合、ＯＰの３Ｄ線分とＴＰの３Ｄ線分とが連結していないと判定される。例えば、閾値Ｄとしては、１画素〜１０画素の範囲の値を用いることができる。閾値Ｄは、数画素であってもよい。
【００７３】
分類部４１９は、対応ペア集合４３６内のＮ個の対応ペアに対する分類結果４３８を生成して、記憶部４１１に格納する。
【００７４】
進捗度計算部４２０は、対応ペア集合４３６内のＮ個の対応ペアに含まれている３Ｄ線分の長さの総和に対する、分類結果４３８に含まれる確定ペアに含まれている３Ｄ線分の長さの総和の比率に基づいて、製造工程の進捗度を求める。進捗度計算部４２０は、例えば、次式により、進捗度の確定部分ＰＸ［％］及び不確定部分ＰＹ［％］を計算することができる。
【００７５】
ＰＸ＝（ＬＬ１／ＬＬ０）＊１００      （１１）
ＰＹ＝（ＬＬ２／ＬＬ０）＊１００      （１２）
【００７６】
ＬＬ０は、Ｎ個の対応ペアに含まれる３Ｄ線分のうち、撮像装置４０２から観測されない隠線を除く、すべての３Ｄ線分の長さの総和を表す。ＬＬ１は、確定ペア（正しい対応ペア、不良部分の対応ペア、又は誤った対応ペア）に含まれる３Ｄ線分の長さの総和を表し、ＬＬ２は、不確定ペアに含まれる３Ｄ線分の長さの総和を表す。
【００７７】
確定部分ＰＸは、確からしい対応付け結果に基づいて計算された進捗度を表し、不確定部分ＰＹは、不確かな対応付け結果に基づいて計算された進捗度の増分を表す。確定部分ＰＸは、進捗度の下限値とみなすことができ、ＰＸ＋ＰＹは、進捗度の上限値とみなすことができる。
【００７８】
複数の対応ペアに含まれる３Ｄ線分の長さの総和に対する、確定ペア又は不確定ペアに含まれる３Ｄ線分の長さの総和の比率を用いることで、進捗度を定量的に把握することが可能になる。
【００７９】
次に、進捗度計算部４２０は、時系列情報、複数視点情報、部品情報、工程情報等の付加情報４３９を用いて、各対応ペアの信頼度を求める。信頼度は、確定ペアらしさを示す指標である。
【００８０】
時系列情報は、複数の時刻それぞれにおいて生成された対応ペア集合４３６に含まれる対応ペアを表す情報である。複数の時刻における対応ペア集合４３６に継続して含まれている対応ペアは、実際に存在する対応ペアである可能性が高い。そこで、進捗度計算部４２０は、特定の３Ｄ線分が同じ特徴線に対応付けられている時間が長いほど、その対応ペアの信頼度を高くする。
【００８１】
複数視点情報は、同じ時刻における複数の視点から観測される対応ペアを表す情報である。複数の視点において整合性が取れた対応付け結果を有する対応ペアは、実際に存在する対応ペアである可能性が高い。そこで、進捗度計算部４２０は、視点ＶＰ１から観測される対応ペアの特徴線が、別の視点ＶＰ２から観測したときに存在し得る存在範囲を求め、その存在範囲に特徴線が含まれていれば、その対応ペアの信頼度を高くする。
【００８２】
部品情報は、物体が複数の部品を含む場合に、各部品に属する対応ペアを表す情報である。特定の部品に属する対応ペアが多ければ、その部品が実際に存在する可能性が高い。そこで、進捗度計算部４２０は、各対応ペアに含まれる３Ｄ線分が属する部品を特定し、特定された部品に属する３Ｄ線分を含む確定ペアが多いほど、その対応ペアの信頼度を高くする。
【００８３】
工程情報は、物体が組み立て順序に応じた順位を有する複数の部品を含む場合に、組み立て済みの部品に属する対応ペアを表す情報である。組み立て済みの部品に属する対応ペアは、実際に存在する対応ペアである可能性が高く、未だ組み立てられていない部品に属する対応ペアは、実際に存在しない可能性が高い。そこで、進捗度計算部４２０は、計算された進捗度から組み立て済みの部品を特定し、特定された部品に属する３Ｄ線分を含む対応ペアの信頼度を高くする。
【００８４】
次に、進捗度計算部４２０は、各対応ペアの信頼度に基づいて分類結果４３８を変更し、変更後の分類結果４３８に基づいて、製造工程の進捗度を再計算する。そして、出力部４２１は、再計算された進捗度を出力する。出力部４２１は、進捗度の確定部分ＰＸ及び不確定部分ＰＹの両方を出力してもよく、確定部分ＰＸのみを出力してもよい。
【００８５】
画像４３２から生成された対応ペア集合４３６には、正しい対応ペア、不良部分の対応ペア、及び誤った対応ペアのように、対応付け結果が確からしい確定ペアだけでなく、対応付け結果が不確かな不確定ペアも含まれている。例えば、図１に示した３Ｄ線分１２２と特徴線１２１の対応ペアは、他の対応ペアのいずれとも連結していないため、不確定ペアに分類される。
【００８６】
しかし、付加情報４３９を用いて不確定ペアの信頼度を増加させることで、不確定ペアを正しい対応ペア又は不良部分の対応ペアに変更することができる。この場合、信頼度が増加した不確定ペアを確定ペアとして扱うことで、不確定ペアの個数を減少させ、より精度の高い進捗度を求めることが可能になる。
【００８７】
例えば、付加情報４３９として時系列情報を用いて信頼度を求める場合、生成部４１６は、製造工程において、対応ペア集合４３６を生成する処理を複数回繰り返し、分類部４１９は、対応ペア集合４３６の対応ペアを分類する処理を複数回繰り返す。進捗度計算部４２０は、各対応ペアが確定ペアに分類された回数と、その対応ペアが不確定ペアに分類された回数とに基づいて、対応ペアの信頼度を求める。
【００８８】
図９は、初回の分類処理において記憶部４１１に格納された変更前の分類結果４３８の例を示している。図９の分類結果４３８は、線分ＩＤ、線分座標、特徴線座標、対応付け結果、確定度、及び信頼度を含む。
【００８９】
線分ＩＤは、対応ペア集合４３６に含まれる３Ｄ線分の識別情報であり、線分座標は、３Ｄ線分の両端である始点及び終点の３次元座標を表す。各座標値は、３次元空間内における原点から始点又は終点までの距離［ｍｍ］を表す。特徴線座標は、３Ｄ線分に対応付けられた特徴線の両端である始点及び終点の２次元座標を表す。各座標値は、画像４３２上における原点から始点又は終点までの距離（画素数）を表す。
【００９０】
対応付け結果は、３Ｄ線分と特徴線の対応付け結果を表す。正対応は、正しい対応ペアを表し、製造ミスは、不良部分の対応ペアを表し、対応付けミスは、誤った対応ペアを表す。（隠線）は、物体の製造が完了した状態において撮像装置４０２の位置から観測されない、隠線に対応する対応ペアを表す。製造中の物体を撮影した画像４３２からは、このような隠線に対応する特徴線が検出されることがある。分類部４１９は、例えば、非特許文献５の技術を用いて、３Ｄ線分が隠線であるか否かを判定することができる。
【００９１】
確定度は、対応ペアが確定ペア又は不確定ペアのいずれであるかを示すフラグ情報である。確定成分は、確定ペアを示し、不確定成分は、不確定ペアを示す。隠線に対応する対応ペアは、確定ペア又は不確定ペアのいずれにも分類されない。
【００９２】
信頼度は、確定ペアらしさを表す０〜１の範囲の実数であり、例えば、次式のシグモイド関数σ（ｔ）によって表される。
【００９３】
σ（ｔ）＝１／（１＋ｅ＾（−ａｔ））      （１３）
【００９４】
ｅは自然対数の底を表し、ａはゲインを表し、ｔは変数を表す。
【００９５】
図１０は、ａ＝０．５の場合のシグモイド関数を示している。σ（ｔ）は単調増加関数であり、σ（０）＝０．５である。ｔ＜０のとき０＜σ（ｔ）＜０．５であり、ｔ＞０のとき０．５＜σ（ｔ）＜１である。
【００９６】
図９の例では、線分ＩＤ“１”、線分ＩＤ“２”、線分ＩＤ“５”〜線分ＩＤ“９”、及び線分ＩＤ“１１”の３Ｄ線分を含む対応ペアに対する信頼度が、初期値である０．５に設定されている。ただし、（隠線）に対応する対応ペアと、特徴線に対応付けられていない３Ｄ線分については、信頼度が設定されない。
【００９７】
図９の分類結果４３８における進捗度は、式（１１）及び式（１２）を用いて、次のように計算される。
【００９８】
ＰＸ＝（４２９．０９／６３３．６６）＊１００＝６７．７％      （１４）
ＰＹ＝（９０．５６／６３３．６６）＊１００＝１４．２％        （１５）
【００９９】
時系列情報を用いて信頼度を求める場合、式（１３）の変数ｔとして、次式のような値ｔ１を用いることができる。
【０１００】
ｔ１＝ｎｕｍ１−ｎｕｍ２      （１６）
【０１０１】
ｎｕｍ１は、分類処理の繰り返しにおいて、対応ペアに含まれる３Ｄ線分が確定成分と判定された累積回数を表し、ｎｕｍ２は、その３Ｄ線分が不確定成分と判定された累積回数を表す。ｔ１の初期値は０である。
【０１０２】
例えば、分類処理が３回繰り返され、１回目の分類処理で３Ｄ線分が不確定成分と判定され、２回目及び３回目の分類処理でその３Ｄ線分が確定成分と判定された場合、ｎｕｍ１＝２、ｎｕｍ２＝１である。したがって、ｔ１は、式（１６）を用いて、次のように計算される。
【０１０３】
ｔ１＝２−１＝１      （１７）
【０１０４】
１回目の分類処理の後では、式（１６）のｔ１は、１又は−１のいずれかの値を取り得る。２回目の分類処理の後では、ｔ１は２、０、又は−２のいずれかの値を取り得る。３回目の分類処理の後では、ｔ１は３、１、−１、又は−３のいずれかの値を取り得る。分類処理が４回以上繰り返される場合も、同様に、ｔ１が取り得る値の範囲は、離散的な整数になる。
【０１０５】
図１１は、図９の分類結果４３８から計算された信頼度の例を示している。線分ＩＤ“１”、線分ＩＤ“２”、線分ＩＤ“５”、線分ＩＤ“６”、線分ＩＤ“８”、及び線分ＩＤ“９”に対するｎｕｍ１及びｎｕｍ２は、それぞれ、１及び０であるため、ｔ１＝１となる。ここで、ａ＝０．５のシグモイド関数σ（ｔ）を用いた場合、信頼度σ（ｔ１）は０．６２となる。一方、線分ＩＤ“７”及び線分ＩＤ“１１”に対するｎｕｍ１及びｎｕｍ２は、それぞれ、０及び１であるため、ｔ１＝−１となり、信頼度σ（ｔ１）は０．３７となる。
【０１０６】
時系列情報を用いて信頼度を求めることで、複数の時刻における対応ペア集合４３６に継続して含まれている対応ペアの信頼度を高くすることが可能になる。
【０１０７】
進捗度計算部４２０は、各対応ペアの信頼度に基づいて確定度を変更する。例えば、進捗度計算部４２０は、確定成分の対応ペアの信頼度が０．５未満である場合、その対応ペアの確定度を、確定成分から不確定成分に変更する。
【０１０８】
一方、不確定成分の対応ペアの信頼度が０．５よりも大きい場合、進捗度計算部４２０は、その対応ペアの確定度を、不確定成分から確定成分に変更し、その対応ペアの誤差を閾値ＴＨＣと比較する。閾値ＴＨＣとしては、閾値ＴＨよりも大きな値が用いられる。
【０１０９】
そして、進捗度計算部４２０は、誤差が閾値ＴＨＣよりも大きい場合、その対応ペアの対応付け結果を不良部分に変更し、誤差が閾値ＴＨＣよりも小さい場合、その対応ペアの対応付け結果を正しい対応ペアに変更する。信頼度が高いことは、実際に存在する対応ペアである可能性が高いことを意味するため、対応付け結果が誤った対応ペアに変更されることはない。
【０１１０】
次に、進捗度計算部４２０は、変更後の分類結果４３８に含まれる確定成分の対応ペア（確定ペア）及び不確定成分の対応ペア（不確定ペア）を用いて、進捗度の確定部分ＰＸ及び不確定部分ＰＹを再計算する。図１１の例では、すべての確定成分の対応ペアの信頼度が０．５よりも大きく、すべての不確定成分の対応ペアの信頼度が０．５未満であるため、いずれの対応ペアの確定度も変更されない。したがって、確定部分ＰＸ及び不確定部分ＰＹの計算結果は、式（１４）及び式（１５）と同じである。
【０１１１】
図４の画像処理装置４０１によれば、物体の製造工程において、作業者と管理者が物理的に離れた場所にいる場合であっても、製造工程の進捗度を定量的に計測して、作業の進捗状況を客観的に把握することが可能になる。
【０１１２】
出力部４２１は、進捗度とともに、不良部分に分類された確定ペアの情報を出力することもできる。これにより、物体の製造が完了する前に、製造ミス等に起因する物体の形状の不良部分を、対応付け結果が確からしい確定ペアとして、作業者又は管理者に提示することが可能になる。したがって、製造ミスが早い段階で発見され、不良部分を修正する手戻りの作業コストが削減される。
【０１１３】
この場合、分類部４１９は、不良部分に分類された確定ペアの３次元空間内におけるずれ量Ｅｒｒを、次式により計算することができる。
【０１１４】
Ｅｒｒ＝（ＬＡ／ＬＢ）＊ｈ      （１８）
【０１１５】
ＬＡ［ｍｍ］は、確定ペアに含まれる３Ｄ線分の３次元空間内における長さを表し、ＬＢは、その３Ｄ線分の投影線の長さ（画素数）を表す。ｈは、画像４３２上で、確定ペアに含まれる特徴線の両端から投影線に対して下した垂線の長さ（画素数）の平均値を表す。出力部４２１は、ずれ量Ｅｒｒを、不良部分に分類された確定ペアの情報として出力する。
【０１１６】
図１２は、図４の画像処理装置４０１が行う画像処理の具体例を示すフローチャートである。図１２の画像処理は、物体の製造工程における複数の日時に繰り返し行われる。画像処理が行われる契機は、製造開始前に決定された日時であってもよく、製造開始後に作業者又は管理者が指示した日時であってもよい。
【０１１７】
まず、画像取得部４１２は、撮像装置４０２から画像４３２を取得し（ステップ１２０１）、特徴線検出部４１３は、画像４３２から複数の特徴線４３３を検出する（ステップ１２０２）。
【０１１８】
次に、線分検出部４１４は、ＣＡＤデータ４３１から複数の３Ｄ線分４３４を検出する（ステップ１２０３）。そして、生成部４１６は、それらの３Ｄ線分４３４を画像４３２上に投影することで、投影線を生成し（ステップ１２０４）、対応ペア集合４３６を生成する（ステップ１２０５）。
【０１１９】
次に、分類部４１９は、パラメータ計算部４１７によって計算されたパラメータ４３７を用いて、対応ペア集合４３６に含まれる３Ｄ線分を画像４３２上に投影することで、投影線を生成する（ステップ１２０６）。そして、分類部４１９は、投影線の位置と特徴線の位置との間の誤差を閾値ＴＨと比較することで、対応ペアを分類し、分類結果４３８を生成する（ステップ１２０７）。図９の分類結果４３８の場合、ステップ１２０７において、各対応ペアの線分ＩＤ、線分座標、特徴線座標、及び対応付け結果が記録される。
【０１２０】
次に、進捗度計算部４２０は、分類結果４３８に基づいて進捗度を推定し（ステップ１２０８）、付加情報４３９が存在するか否かをチェックする（ステップ１２０９）。付加情報４３９が存在する場合（ステップ１２０９，ＹＥＳ）、進捗度計算部４２０は、その付加情報４３９を用いて進捗度を更新する（ステップ１２１０）。一方、付加情報４３９が存在しない場合（ステップ１２０９，ＮＯ）、画像処理装置４０１は、処理を終了する。
【０１２１】
図１３は、図１２のステップ１２０８における進捗度推定処理の例を示すフローチャートである。まず、進捗度計算部４２０は、分類結果４３８から、（隠線）以外の対応付け結果を有する対応ペアを、処理対象の対応ペアとして選択し（ステップ１３０１）、処理対象の対応ペアの対応付け結果をチェックする（ステップ１３０２）。
【０１２２】
対応付け結果が不確定ペアである場合（ステップ１３０２，ＹＥＳ）、進捗度計算部４２０は、処理対象の対応ペアの確定度を不確定成分に設定する（ステップ１３０３）。一方、対応付け結果が正しい対応ペア、不良部分の対応ペア、又は誤った対応ペアである場合（ステップ１３０２，ＮＯ）、進捗度計算部４２０は、処理対象の対応ペアの確定度を確定成分に設定する（ステップ１３０４）。図９の分類結果４３８の場合、ステップ１３０３又はステップ１３０４において、処理対象の対応ペアの確定度が記録され、その信頼度が初期値に設定される。
【０１２３】
次に、進捗度計算部４２０は、確定度の設定を終了するか否かを判定する（ステップ１３０５）。進捗度計算部４２０は、（隠線）以外の対応付け結果を有するすべての対応ペアを選択した場合、確定度の設定を終了すると判定し、（隠線）以外の対応付け結果を有する未選択の対応ペアが残っている場合、確定度の設定を終了しないと判定する。
【０１２４】
確定度の設定を終了しない場合（ステップ１３０５，ＮＯ）、進捗度計算部４２０は、次の対応ペアについてステップ１３０１以降の処理を繰り返す。そして、確定度の設定を終了する場合（ステップ１３０５，ＹＥＳ）、進捗度計算部４２０は、式（１１）及び式（１２）を用いて、進捗度の確定部分ＰＸ及び不確定部分ＰＹを計算する（ステップ１３０６）。
【０１２５】
図１４は、図１２のステップ１２１０における進捗度更新処理の例を示すフローチャートである。まず、進捗度計算部４２０は、分類結果４３８から、（隠線）以外の対応付け結果を有する対応ペアを、処理対象の対応ペアとして選択し（ステップ１４０１）、処理対象の対応ペアの信頼度を計算する（ステップ１４０２）。
【０１２６】
そして、進捗度計算部４２０は、計算した信頼度に基づいて、処理対象の対応ペアの確定度を変更する（ステップ１４０３）。図９の分類結果４３８の場合、ステップ１４０２において、処理対象の対応ペアの信頼度が、計算された信頼度に変更され、ステップ１４０３において、処理対象の対応ペアの確定度が変更される。
【０１２７】
次に、進捗度計算部４２０は、確定度の変更を終了するか否かを判定する（ステップ１４０４）。進捗度計算部４２０は、（隠線）以外の対応付け結果を有するすべての対応ペアを選択した場合、確定度の変更を終了すると判定し、（隠線）以外の対応付け結果を有する未選択の対応ペアが残っている場合、確定度の変更を終了しないと判定する。
【０１２８】
確定度の変更を終了しない場合（ステップ１４０４，ＮＯ）、進捗度計算部４２０は、次の対応ペアについてステップ１４０１以降の処理を繰り返す。そして、確定度の変更を終了する場合（ステップ１４０４，ＹＥＳ）、進捗度計算部４２０は、式（１１）及び式（１２）を用いて、進捗度の確定部分ＰＸ及び不確定部分ＰＹを計算する（ステップ１４０５）。
【０１２９】
次に、付加情報４３９として複数視点情報、部品情報、又は工程情報を用いて信頼度を求める実施形態について説明する。
【０１３０】
複数視点情報を用いて信頼度を求める場合、画像取得部４１２は、複数の異なる位置から撮影された物体の画像を取得し、取得した画像を画像４３２として記憶部４１１に格納する。この場合、物体を取り囲む複数の位置に撮像装置４０２を配置して、複数の撮像装置４０２により物体を撮影してもよく、１台の撮像装置４０２を移動させて物体を撮影してもよい。各撮像装置４０２が配置されている位置がその撮像装置４０２の視点となり、各撮像装置４０２の内部パラメータＡは、事前に計測される。
【０１３１】
特徴線検出部４１３は、それぞれの視点から撮影された画像４３２から、複数の特徴線４３３を検出する。進捗度計算部４２０は、すべての視点の中から基準視点を順番に選択し、基準視点以外の視点を参照視点として選択する。
【０１３２】
例えば、視点Ｏ１、視点Ｏ２、及び視点Ｏ３に撮像装置４０２が配置されている場合、まず、視点Ｏ１が基準視点に設定され、視点Ｏ２及び視点Ｏ３が参照視点に設定される。次に、視点Ｏ２が基準視点に設定され、視点Ｏ１及び視点Ｏ３が参照視点に設定される。最後に、視点Ｏ３が基準視点に設定され、視点Ｏ１及び視点Ｏ２が参照視点に設定される。
【０１３３】
進捗度計算部４２０は、基準視点から撮影された画像４３２から生成された対応ペアに含まれる３Ｄ線分のうち、隠線ではない可視の３Ｄ線分について、参照視点においても可視であるか否かをチェックする。基準視点及び参照視点の双方において３Ｄ線分が可視である場合、進捗度計算部４２０は、参照視点から撮影された画像４３２内において、その３Ｄ線分に対応する特徴線が存在する存在範囲を求める。そして、進捗度計算部４２０は、その特徴線が存在範囲から検出されたか否かに基づいて、対応ペアの信頼度を求める。
【０１３４】
参照視点から撮影された画像４３２内において、３Ｄ線分に対応する特徴線が存在する存在範囲は、例えば、エピポーラ幾何に基づいて決定することができる。エピポーラ幾何は、２つの異なる視点の画像から３次元の奥行き情報を復元するための幾何である。
【０１３５】
図１５は、エピポーラ幾何の例を示している。基準カメラをＬカメラとし、参照カメラをＲカメラとすると、Ｌカメラの視点ＯＬが基準視点となり、Ｒカメラの視点ＯＲが参照視点となる。Ｒカメラの視点ＯＲをＬカメラの画像平面１５０１上に投影した点ｅＬと、Ｌカメラの視点ＯＬをＲカメラの画像平面１５０２上に投影した点ｅＲは、エピポールと呼ばれる。
【０１３６】
３次元空間内の物体１５０３の形状を表す輪郭線１５１３は、画像平面１５０１上の線分１５１１として写る。視点ＯＬと線分１５１１の端点１５２１とを通る直線を、画像平面１５０２上に投影することで、エピポーラ線１５３１が得られる。同様に、視点ＯＬと線分１５１１の端点１５２２とを通る直線を、画像平面１５０２上に投影することで、エピポーラ線１５３２が得られる。Ｌカメラ及びＲカメラのうち一方のカメラからは、他方のカメラを見ることができ、Ｒカメラの視点ＯＲはエピポールｅＬに投影され、Ｌカメラの視点ＯＬはエピポールｅＲに投影される。
【０１３７】
このとき、エピポーラ幾何の制約によって、画像平面１５０２上に写った輪郭線１５１３を示す線分１５１２は、エピポーラ線１５３１、エピポーラ線１５３２、及び画像平面１５０２の外縁１５３３によって囲まれた三角形の領域内に存在する。
【０１３８】
そこで、進捗度計算部４２０は、この三角形の領域を、３Ｄ線分に対応する特徴線が存在する存在範囲に決定する。そして、進捗度計算部４２０は、参照視点から撮影された画像４３２内の特徴線のうち、その３Ｄ線分と対応付けられた特徴線の両端がいずれも存在範囲内に含まれる場合、その３Ｄ線分が存在するとみなして、存在数ｎｕｍ３を１だけインクリメントする。一方、３Ｄ線分と対応付けられた特徴線の一方の端点又は両端が存在範囲内に含まれない場合、進捗度計算部４２０は、その３Ｄ線分が存在しないとみなして、非存在数ｎｕｍ４を１だけインクリメントする。
【０１３９】
進捗度計算部４２０は、基準視点を順番に選択しながら、基準視点と参照視点のすべての組み合わせについて、存在数ｎｕｍ３又は非存在数ｎｕｍ４の更新を繰り返す。この場合、式（１３）の変数ｔとして、次式のような値ｔ２を用いることができる。
【０１４０】
ｔ２＝ｎｕｍ３−ｎｕｍ４      （２１）
【０１４１】
ｔ２の初期値は０である。すべての視点において３Ｄ線分が可視であり、かつ、特徴線の両端が存在範囲内に含まれる場合、ｔ２は最大となる。また、すべての視点において３Ｄ線分が可視であり、かつ、特徴線の一方の端点又は両端が存在範囲内に含まれない場合、ｔ２は最小となる。例えば、視点の総数が３個である場合、ｔ２の最大値は６であり、最小値は−６である。実際には、物体の構造によって３Ｄ線分の可視／不可視が変化するため、ｔ２も物体の構造に応じて変動する。
【０１４２】
複数視点情報を用いて信頼度を求めることで、複数の視点において整合性が取れた対応付け結果を有する対応ペアの信頼度を高くすることが可能になる。
【０１４３】
物体が複数の部品を含んでおり、部品情報を用いて信頼度を求める場合、進捗度計算部４２０は、各対応ペアに含まれる３Ｄ線分が属する部品を特定する。そして、進捗度計算部４２０は、特定された部品に属する３Ｄ線分を含む確定ペアの個数に基づいて、対応ペアの信頼度を求める。
【０１４４】
この場合、物体に含まれる各部品に対して部品ＩＤが割り当てられ、式（１３）の変数ｔとして、次式のような値ｔ３を用いることができる。
【０１４５】
ｔ３＝ｎｕｍ５−ｎｕｍ６      （２２）
【０１４６】
ｎｕｍ５は、各対応ペアに含まれる３Ｄ線分が属する部品のいずれかの３Ｄ線分を含む確定ペアの個数を表し、ｎｕｍ６は、その部品の対応ペアに対して設定される共通のパラメータを表す。例えば、その部品に属する３Ｄ線分のうち、可視の３Ｄ線分の本数に基づいて、ｎｕｍ６を設定することができる。この場合、ｎｕｍ６は、同じ部品に属する可視の３Ｄ線分の本数の半分の値（少数点以下切り捨て）であってもよい。ｔ３の初期値は０である。
【０１４７】
図１６は、部品情報を用いて計算された信頼度の例を示している。図１６の分類結果４３８は、図９に示した項目に加えて、さらに部品ＩＤを含んでいる。部品ＩＤは、各３Ｄ線分が属する部品の識別情報であり、ＣＡＤデータ４３１から抽出されて、線分ＩＤ及び線分座標とともに分類結果４３８に記録される。例えば、線分ＩＤ“１”〜線分ＩＤ“６”の３Ｄ線分が属する部品の部品ＩＤは“Ｇ１”であり、線分ＩＤ“７”〜線分ＩＤ“１１”の３Ｄ線分が属する部品の部品ＩＤは“Ｇ２”である。
【０１４８】
部品ＩＤ“Ｇ１”の対応ペアのうち、確定度が確定成分に設定されている確定ペアは、線分ＩＤ“１”、線分ＩＤ“２”、線分ＩＤ“５”、及び線分ＩＤ“６”に対応する対応ペアである。したがって、これらの対応ペアのｎｕｍ５は４となる。また、部品ＩＤ“Ｇ１”の３Ｄ線分のうち、（隠線）以外の対応付け結果を有する可視の３Ｄ線分は、線分ＩＤ“１”、線分ＩＤ“２”、線分ＩＤ“５”、及び線分ＩＤ“６”の３Ｄ線分である。それらの３Ｄ線分の本数の半分の値をｎｕｍ６として用いた場合、ｎｕｍ６＝２となる。
【０１４９】
この場合、部品ＩＤ“Ｇ１”の確定ペアに対するｔ３は、式（２２）を用いて、次のように計算される。
【０１５０】
ｔ３＝４−２＝２      （２３）
【０１５１】
したがって、ａ＝０．５のシグモイド関数σ（ｔ）を用いた場合、信頼度σ（ｔ３）は０．７３となる。
【０１５２】
部品ＩＤ“Ｇ２”の対応ペアのうち、確定度が確定成分に設定されている確定ペアは、線分ＩＤ“８”及び線分ＩＤ“９”に対応する対応ペアである。したがって、これらの対応ペアのｎｕｍ５は２となる。また、部品ＩＤ“Ｇ２”の３Ｄ線分のうち、（隠線）以外の対応付け結果を有する可視の３Ｄ線分は、線分ＩＤ“７”〜線分ＩＤ“９”及び線分ＩＤ“１１”の３Ｄ線分である。それらの３Ｄ線分の本数の半分の値をｎｕｍ６として用いた場合、ｎｕｍ６＝２となる。
【０１５３】
この場合、部品ＩＤ“Ｇ２”の確定ペアに対するｔ３は、式（２２）を用いて、次のように計算される。
【０１５４】
ｔ３＝２−２＝０      （２４）
【０１５５】
したがって、ａ＝０．５のシグモイド関数σ（ｔ）を用いた場合、信頼度σ（ｔ３）は０．５となる。
【０１５６】
図１６の例では、すべての確定成分の対応ペアの信頼度が０．５以上であり、すべての不確定成分の対応ペアの信頼度が０．５であるため、いずれの対応ペアの確定度も変更されない。したがって、確定部分ＰＸ及び不確定部分ＰＹの計算結果は、式（１４）及び式（１５）と同じである。
【０１５７】
部品情報を用いて信頼度を求めることで、各部品に属する確定ペアが多いほど、その部品の対応ペアの信頼度を高くすることが可能になる。
【０１５８】
物体が組み立て順序に応じた順位を有する複数の部品を含んでおり、工程情報を用いて信頼度を求める場合、進捗度計算部４２０は、変更前の分類結果４３８に含まれる確定ペアを用いて仮の進捗度を求める。仮の進捗度としては、図１３のステップ１３０６で計算される進捗度を用いることができる。
【０１５９】
次に、進捗度計算部４２０は、最初の順位を有する部品から仮の進捗度に対応する順位を有する部品までを含む部品群を特定する。そして、進捗度計算部４２０は、各対応ペアに含まれる３Ｄ線分が、特定した部品群に属するか否かに基づいて、対応ペアの信頼度を求める。
【０１６０】
図１７は、図１に示した部品１１１〜部品１１５の組み立て順序の例を示している。この例では、部品１１１〜部品１１５に対して部品ＩＤ“Ｇ１”〜部品ＩＤ“Ｇ５”がそれぞれ割り当てられており、部品１１１、部品１１２、部品１１３、部品１１４、及び部品１１５の順番に、これらの部品がベース部材１０１に取り付けられる。したがって、最初の順位を有する部品は部品１１１であり、最後の順位を有する部品は部品１１５である。
【０１６１】
この場合、各部品がベース部材１０１に取り付けられた時点における進捗度が、登録進捗度として、事前に記憶部４１１に記録されている。部品１１１、部品１１２、部品１１３、部品１１４、及び部品１１５が取り付けられた時点における登録進捗度は、それぞれ、３０％、４０％、５８％、７５％、及び１００％である。
【０１６２】
進捗度計算部４２０は、図１３のステップ１３０６で計算された進捗度を用いて、０％〜（Ｘ＋Ｙ）％の範囲の登録進捗度に属する部品群を特定する。例えば、Ｘ＝４５、Ｙ＝１２である場合、Ｘ＋Ｙ＝５７であるため、０％〜５７％の範囲に属する部品１１１〜部品１１３が部品群として特定される。
【０１６３】
この場合、式（１３）の変数ｔとして、次式のような値ｔ４を用いることができる。
【０１６４】
ｔ４＝ｎｕｍ７      （２５）
【０１６５】
各対応ペアに含まれる３Ｄ線分が属する部品の部品ＩＤが、特定された部品群のいずれかの部品の部品ＩＤと一致している場合、ｎｕｍ７＝１となり、その部品ＩＤが部品群のいずれの部品の部品ＩＤとも一致していない場合、ｎｕｍ７＝−１となる。ｔ４の初期値は０である。進捗度計算部４２０は、進捗度の計算誤差を考慮して、０％〜（Ｘ＋Ｙ）％の範囲の次の順位を有する部品を、部品群に追加してもよい。
【０１６６】
工程情報を用いて信頼度を求めることで、組み立て済みの部品に属する対応ペアの信頼度を高くすることが可能になる。
【０１６７】
進捗度計算部４２０は、時系列情報、複数視点情報、部品情報、及び工程情報のうち、いずれか２つ以上の情報を組み合わせて、信頼度を求めることも可能である。この場合、進捗度計算部４２０は、ｔ１〜ｔ４のうち２つ以上の値の総和を、式（１３）の変数ｔとして用いることができる。例えば、時系列情報、部品情報、及び工程情報を組み合わせる場合、次式により変数ｔが計算される。
【０１６８】
ｔ＝ｔ１＋ｔ３＋ｔ４      （２６）
【０１６９】
図２及び図４の画像処理装置の構成は一例に過ぎず、画像処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図４の画像処理装置において、事前に画像４３２が記憶部４１１に格納されている場合は、画像取得部４１２を省略することができる。ＣＡＤデータ４３１の代わりに、物体の形状を表す他の形状情報を用いてもよい。物体の製造工程は、複数の部品を組み立てる製造工程には限られず、所定の材料から物体を切り出す作業のように、組立作業以外の作業を行う製造工程であってもよい。
【０１７０】
図３及び図１２〜図１４のフローチャートは一例に過ぎず、画像処理装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、事前に画像４３２が記憶部４１１に格納されている場合は、図１２のステップ１２０１の処理を省略することができる。
【０１７１】
図１の画像及び３Ｄ線分は一例に過ぎず、画像及び３Ｄ線分は、撮影対象の物体、画像処理装置の構成又は条件に応じて変化する。図５及び図６の誤差の計算方法は一例に過ぎず、画像処理装置の構成又は条件に応じて別の計算方法を用いてもよい。図７の不良部分を表す対応ペア及び図８の誤った対応ペアは一例に過ぎず、対応ペアは、撮影対象の物体、画像処理装置の構成又は条件に応じて変化する。
【０１７２】
図９、図１１、及び図１６の分類結果は一例に過ぎず、分類結果は、撮影対象の物体、画像処理装置の構成又は条件に応じて変化する。図１０のシグモイド関数は、一例に過ぎず、ａ＝０．５以外のシグモイド関数を用いてもよい。進捗度計算部４２０は、シグモイド関数以外の単調増加関数を用いて、信頼度を計算することもできる。
【０１７３】
図１５のエピポーラ線は一例に過ぎず、エピポーラ線は、撮影対象の物体及び撮像装置の位置に応じて変化する。図１７の組み立て順序及び登録進捗度は一例に過ぎず、組み立て順序及び登録進捗度は、物体に含まれる部品に応じて変化する。
【０１７４】
式（１）〜式（２６）の計算式は一例に過ぎず、画像処理装置の構成又は条件に応じて別の計算式を用いてもよい。
【０１７５】
図１８は、図２及び図４の画像処理装置として用いられる情報処理装置（コンピュータ）の構成例を示している。図１８の情報処理装置は、ＣＰＵ（Central Processing Unit）１８０１、メモリ１８０２、入力装置１８０３、出力装置１８０４、補助記憶装置１８０５、媒体駆動装置１８０６、及びネットワーク接続装置１８０７を含む。これらの構成要素はバス１８０８により互いに接続されている。図４の撮像装置４０２は、バス１８０８に接続されていてもよい。
【０１７６】
メモリ１８０２は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ１８０２は、図２の記憶部２１１又は図４の記憶部４１１として用いることができる。
【０１７７】
ＣＰＵ１８０１（プロセッサ）は、例えば、メモリ１８０２を利用してプログラムを実行することにより、図２の検出部２１２、生成部２１３、分類部２１４、及び進捗度計算部２１５として動作する。
【０１７８】
ＣＰＵ１８０１は、メモリ１８０２を利用してプログラムを実行することにより、図４の画像取得部４１２、特徴線検出部４１３、線分検出部４１４、及びパラメータ設定部４１５としても動作する。ＣＰＵ１８０１は、メモリ１８０２を利用してプログラムを実行することにより、生成部４１６、パラメータ計算部４１７、誤差計算部４１８、分類部４１９、及び進捗度計算部４２０としても動作する。
【０１７９】
入力装置１８０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置１８０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、進捗度の確定部分ＰＸ及び不確定部分ＰＹの両方であってもよく、確定部分ＰＸのみであってもよい。処理結果は、不良部分に分類された確定ペアの情報を含んでいてもよい。出力装置１８０４は、図４の出力部４２１として用いることができる。
【０１８０】
補助記憶装置１８０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１８０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置１８０５にプログラム及びデータを格納しておき、それらをメモリ１８０２にロードして使用することができる。補助記憶装置１８０５は、図２の記憶部２１１又は図４の記憶部４１１として用いることができる。
【０１８１】
媒体駆動装置１８０６は、可搬型記録媒体１８０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１８０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１８０９は、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＵＳＢ（Universal Serial Bus）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１８０９にプログラム及びデータを格納しておき、それらをメモリ１８０２にロードして使用することができる。
【０１８２】
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１８０２、補助記憶装置１８０５、又は可搬型記録媒体１８０９のような、物理的な（非一時的な）記録媒体である。
【０１８３】
ネットワーク接続装置１８０７は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１８０７を介して受信し、それらをメモリ１８０２にロードして使用することができる。
【０１８４】
なお、情報処理装置が図１８のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体１８０９又は通信ネットワークを使用しない場合は、媒体駆動装置１８０６又はネットワーク接続装置１８０７を省略してもよい。
【０１８５】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１８６】
図１乃至図１８を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
物体の形状を表す形状情報を記憶する記憶部と、
前記物体の製造工程において撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
前記形状情報に含まれる複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成する生成部と、
前記複数の組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類する分類部と、
前記複数の組み合わせ各々の信頼度に基づいて、前記確定組み合わせと前記不確定組み合わせの分類結果を変更し、変更後の分類結果に含まれる確定組み合わせを用いて、前記製造工程の進捗度を求める進捗度計算部と、
を備えることを特徴とする画像処理装置。
（付記２）
前記分類部は、前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差を求め、前記複数の組み合わせのうち、閾値よりも小さな誤差を有する組み合わせを前記確定組み合わせに分類し、前記閾値よりも大きな誤差を有する組み合わせを抽出し、抽出された組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを前記確定組み合わせ又は前記不確定組み合わせのいずれかに分類することを特徴とする付記１記載の画像処理装置。
（付記３）
前記分類部は、前記抽出された組み合わせに含まれる線分と前記他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを、前記物体の形状の不良部分、誤って対応付けられた組み合わせ、又は前記不確定組み合わせのいずれかに分類し、前記物体の形状の不良部分に分類された組み合わせと前記誤って対応付けられた組み合わせとを、前記確定組み合わせに決定することを特徴とする付記２記載の画像処理装置。
（付記４）
前記分類部は、前記製造工程において、前記形状情報に含まれる複数の線分それぞれと前記物体の画像から検出された複数の特徴線それぞれとを対応付けた組み合わせを分類する分類処理を複数回繰り返し、
前記進捗度計算部は、前記複数の組み合わせ各々が前記確定組み合わせに分類された回数と、前記複数の組み合わせ各々が前記不確定組み合わせに分類された回数とに基づいて、前記信頼度を求めることを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記５）
前記検出部は、前記画像が撮影された位置とは異なる位置から撮影された前記物体の別の画像から、複数の特徴線を検出し、
前記進捗度計算部は、前記別の画像内において、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が存在する存在範囲を求め、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が前記存在範囲から検出されたか否かに基づいて、前記信頼度を求めることを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記６）
前記物体は、複数の部品を含み、
前記進捗度計算部は、前記複数の部品のうち、前記複数の組み合わせ各々に含まれる線分が属する部品を特定し、特定された部品に属する線分を含む確定組み合わせの個数に基づいて、前記信頼度を求めることを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記７）
前記物体は、組み立て順序に応じた順位を有する複数の部品を含み、
前記進捗度計算部は、変更前の分類結果に含まれる確定組み合わせを用いて仮の進捗度を求め、最初の順位を有する部品から前記仮の進捗度に対応する順位を有する部品までを含む部品群を特定し、前記複数の組み合わせ各々に含まれる線分が前記部品群に属するか否かに基づいて、前記信頼度を求めることを特徴とする付記１乃至３のいずれか１項に記載の画像処理装置。
（付記８）
前記進捗度計算部は、前記複数の組み合わせに含まれている線分の長さの総和に対する、前記変更後の分類結果に含まれる確定組み合わせに含まれている線分の長さの総和の比率に基づいて、前記製造工程の進捗度を求めることを特徴とする付記１乃至７のいずれか１項に記載の画像処理装置。
（付記９）
コンピュータによって実行される画像処理方法であって、
前記コンピュータが、
物体の製造工程において撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分それぞれと前記複数の特徴線それぞれとを対応付けた複数の組み合わせを生成し、
前記複数の組み合わせを、確からしい対応付け結果を有する確定組み合わせと、不確かな対応付け結果を有する不確定組み合わせとに分類し、
前記複数の組み合わせ各々の信頼度に基づいて、前記確定組み合わせと前記不確定組み合わせの分類結果を変更し、
変更後の分類結果に含まれる確定組み合わせを用いて、前記製造工程の進捗度を求める、
ことを特徴とする画像処理方法。
（付記１０）
前記コンピュータは、前記複数の線分それぞれを前記画像上に投影することで、複数の投影線を生成し、前記複数の組み合わせ各々に含まれる線分の投影線の位置と特徴線の位置との間の誤差を求め、前記複数の組み合わせのうち、閾値よりも小さな誤差を有する組み合わせを前記確定組み合わせに分類し、前記閾値よりも大きな誤差を有する組み合わせを抽出し、抽出された組み合わせに含まれる線分と他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを前記確定組み合わせ又は前記不確定組み合わせのいずれかに分類することを特徴とする付記９記載の画像処理方法。
（付記１１）
前記コンピュータは、前記抽出された組み合わせに含まれる線分と前記他の組み合わせに含まれる線分との間の連結状態に基づいて、前記抽出された組み合わせを、前記物体の形状の不良部分、誤って対応付けられた組み合わせ、又は前記不確定組み合わせのいずれかに分類し、前記物体の形状の不良部分に分類された組み合わせと前記誤って対応付けられた組み合わせとを、前記確定組み合わせに決定することを特徴とする付記１０記載の画像処理方法。
（付記１２）
前記コンピュータは、前記製造工程において、前記形状情報に含まれる複数の線分それぞれと前記物体の画像から検出された複数の特徴線それぞれとを対応付けた組み合わせを分類する分類処理を複数回繰り返し、前記複数の組み合わせ各々が前記確定組み合わせに分類された回数と、前記複数の組み合わせ各々が前記不確定組み合わせに分類された回数とに基づいて、前記信頼度を求めることを特徴とする付記９乃至１１のいずれか１項に記載の画像処理方法。
（付記１３）
前記コンピュータは、前記画像が撮影された位置とは異なる位置から撮影された前記物体の別の画像から、複数の特徴線を検出し、前記別の画像内において、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が存在する存在範囲を求め、前記複数の組み合わせ各々に含まれる線分に対応する特徴線が前記存在範囲から検出されたか否かに基づいて、前記信頼度を求めることを特徴とする付記９乃至１１のいずれか１項に記載の画像処理方法。
（付記１４）
前記物体は、複数の部品を含み、
前記コンピュータは、前記複数の部品のうち、前記複数の組み合わせ各々に含まれる線分が属する部品を特定し、特定された部品に属する線分を含む確定組み合わせの個数に基づいて、前記信頼度を求めることを特徴とする付記９乃至１１のいずれか１項に記載の画像処理方法。
（付記１５）
前記物体は、組み立て順序に応じた順位を有する複数の部品を含み、
前記コンピュータは、変更前の分類結果に含まれる確定組み合わせを用いて仮の進捗度を求め、最初の順位を有する部品から前記仮の進捗度に対応する順位を有する部品までを含む部品群を特定し、前記複数の組み合わせ各々に含まれる線分が前記部品群に属するか否かに基づいて、前記信頼度を求めることを特徴とする付記９乃至１１のいずれか１項に記載の画像処理方法。
【符号の説明】
【０１８７】
１０１  ベース部材
１１１〜１１５  部品
１２１、４３３、７０２、８０２、７２１、７２２、８１１  特徴線
１２２、４３４  ３Ｄ線分
２０１、４０１  画像処理装置
２１１、４１１  記憶部
２１２  検出部
２１３、４１６  生成部
２１４、４１９  分類部
２１５、４２０  進捗度計算部
２２１  形状情報
４０２  撮像装置
４１２  画像取得部
４１３  特徴線検出部
４１４  線分検出部
４１５  パラメータ設定部
４１７  パラメータ計算部
４１８  誤差計算部
４２１  出力部
４３１  ＣＡＤデータ
４３２  画像
４３３  特徴線
４３５  初期パラメータ
４３６  対応ペア集合
４３７  パラメータ
４３８  分類結果
４３９  付加情報
５０１〜５０４、１５１１、１５１２  線分
６０１、６０２  垂線
７０１、７１１〜７１４、８０１、８１２  投影線
１５０１、１５０２  画像平面
１５０３  物体
１５１３  輪郭線
１５２１、１５２２  端点
１５３１、１５３２  エピポーラ線
１５３３  外縁
１８０１  ＣＰＵ
１８０２  メモリ
１８０３  入力装置
１８０４  出力装置
１８０５  補助記憶装置
１８０６  媒体駆動装置
１８０７  ネットワーク接続装置
１８０８  バス
１８０９  可搬型記録媒体
【図１】
2020071566.tif 000004
【図２】
2020071566.tif 000005
【図３】
2020071566.tif 000006
【図４】
2020071566.tif 000007
【図５】
2020071566.tif 000008
【図６】
2020071566.tif 000009
【図７】
2020071566.tif 000010
【図８】
2020071566.tif 000011
【図９】
2020071566.tif 000012
【図１０】
2020071566.tif 000013
【図１１】
2020071566.tif 000014
【図１２】
2020071566.tif 000015
【図１３】
2020071566.tif 000016
【図１４】
2020071566.tif 000017
【図１５】
2020071566.tif 000018
【図１６】
2020071566.tif 000019
【図１７】
2020071566.tif 000020
【図１８】
2020071566.tif 000021
【手続補正書】
【提出日】令和1年11月8日(2019.11.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
撮像装置４０２は、例えば、ＣＣＤ（Charge-Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）等の撮像素子を有するカメラであり、ＣＡＤデータ４３１が表す物体の画像４３２を撮影する。画像取得部４１２は、撮像装置４０２から画像４３２を取得して、記憶部４１１に格納する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
例えば、分類部４１９は、２本の特徴線の端点間の距離が所定値よりも小さい場合、それらの特徴線同士が連結していると判定し、端点間の距離が所定値よりも大きい場合、それらの特徴線同士が連結していないと判定する。同様に、分類部４１９は、２本の３Ｄ線分の端点間の距離が所定値よりも小さい場合、それらの３Ｄ線分同士が連結していると判定し、端点間の距離が所定値よりも大きい場合、それらの３Ｄ線分同士が連結していないと判定する。