(57)【要約】      （修正有）【課題】被計測対象の撮像画像に被計測対象の設計データを重ね合わせて描画する際の重ね合わせの精度を向上する。【解決手段】計測装置２１は、撮像装置２３が撮像した被計測対象２０の撮像画像と、被計測対象の３次元設計データから生成した仮想画像とから、局所特徴量のマッチングを用いて複数の特徴点ペアを探索するペア生成部と、探索した特徴点ペアから被計測対象に対する撮像装置の位置及び姿勢に関する仮の外部パラメータを推定する計算部と、仮の外部パラメータの信頼度を診断すると共に、信頼度が所定値以上である信頼できる特徴点ペアを記録する診断部と、信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、それを使用して撮像画像と射影変換像を重ね合わせて表示する計算部と、を備える。【選択図】図２
2020017096.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索する第１の手段と、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定する第２の手段と、
初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録する第３の手段と、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する第４の手段と、
を備えたことを特徴とする、計測装置。
【請求項２】
前記第１の手段は、
前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び法線画像を含む仮想画像をシミュレーションにより生成する生成手段と、
前記撮像画像と各仮想画像とから、局所特徴量のマッチングを用いて、画像の局所特徴量が類似する複数の特徴点ペアを探索する手段とを有することを特徴とする、請求項１記載の計測装置。
【請求項３】
前記生成手段は、前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、照明及び前記デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び前記デフォーカス量を変化させた複数の法線画像を含む複数の仮想画像をシミュレーションにより生成することを特徴とする、請求項２記載の計測装置。
【請求項４】
前記第４の手段は、前記探索した前記複数の特徴点ペアからランダムに選択した特徴点ペアから求まる座標間距離に関する所定条件、及び視線方向と位置に関する所定条件のうち少なくとも一方の所定条件を満たす複数の特徴点ペアを用いて、前記撮像画像と前記射影変換像とを重ね合わせて前記表示画面上に表示することを特徴とする、請求項１乃至３のいずれか１項記載の計測装置。
【請求項５】
前記第２の手段は、探索した前記複数の特徴点ペアを用いて前記仮の外部パラメータを計算する前に、前記表示画面上に表示された前記撮像画像の特徴点と前記仮想画像の対応する特徴点との間の距離が所定の距離以上離れている場合には、当該特徴点を探索した前記複数の特徴点ペアから除外することを特徴とする、請求項１乃至４のいずれか１項記載の計測装置。
【請求項６】
前記第３の手段は、前記仮想画像の特徴点と撮像画像の特徴点とで推定される外部パラメータから求まる撮像装置の視線方向と位置と、前記初期外部パラメータから求まる前記撮像装置の視線方向と位置が一定量以上ずれていている場合には、当該特徴点を信頼できる特徴点ペアとして記録しないことを特徴とする、請求項１乃至５のいずれか１項記載の計測装置。
【請求項７】
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索し、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定し、初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録し、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する、
処理をコンピュータが実行することを特徴とする、計測方法。
【請求項８】
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示装置の表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索し、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定し、前記外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録し、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する、
処理をコンピュータに実行させるための計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測装置、計測方法及び計測プログラムに関する。
【背景技術】
【０００２】
例えば製造分野において、被計測対象の一例である製造物が設計図面通りに製造されているか否かを確認する作業が、品質管理等のために行われる。しかし、複雑な形状の立体物が設計図面通り製造されているか否かを確認する作業は、容易ではない。
【０００３】
例えば、３次元計測機を用いて製造物の３次元形状を計測することができる。しかし、３次元計測機は比較的大型であるため製造現場で使用することは難しく、測定できる製造物のサイズが制限されてしまう。また、３次元計測機による測定には時間がかかる。更に、３次元計測機は比較的高価である。これらの理由から、３次元計測機を用いて製造物の３次元形状を計測する方法は、あまり実用的ではない。
【０００４】
そこで、拡張現実感（ＡＲ：Augmented Reality）技術を応用し、製造物の撮像画像に、製造物の設計図面等の設計データを重ね合わせて描画する方法が提案されている（例えば、特許文献３）。この提案方法では、製造現場でカメラを用いて撮像した製造物の撮像画像に、３次元コンピュータ支援設計（３Ｄ−ＣＡＤ：3-Dimensional Computer-Aided Design）による製造物の設計データを重ね合わせて描画した画像を表示する。これにより、製造物と設計図面との差異を検出し易くなる。
【０００５】
製造物の撮像画像と、製造物の設計データを重ね合わせて描画するためには、製造物を撮像した際にカメラが製造物に対してどのような位置及び姿勢にあったかを知る必要がある。製造物に対するカメラの位置及び姿勢は、撮像画像中の製造物の複数の特徴（例えば、点や線）が設計データのどの部分に対応するかを示す情報を利用して推定することが可能である。
【０００６】
しかし、製造物の撮像画像と設計データの対応情報については、利用者がＧＵＩ（Graphical User Interface）上で撮像画像上の点（又は、線）等の特徴と、設計データ上の類似点（又は、類似線）等の特徴を手動で教示している。このような手動の教示作業には、手間と時間がかかる。また、製造物の撮像画像と設計データとの対応情報を教示する利用者のスキル（又は、熟練度）に応じて教示精度が異なるため、製造物の撮像画像に製造物の設計データを重ね合わせて描画する際の重ね合わせの精度が利用者のスキルに依存してしまう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２８３００４号公報
【特許文献２】特開２０１６−０３８７９０号公報
【特許文献３】特開２０１７−０９１０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の計測方法では、利用者が手動で対応情報を教示するため、被計測対象の撮像画像に被計測対象の設計データを重ね合わせて描画する際の重ね合わせの精度を向上することは難しい。
【０００９】
そこで、１つの側面では、被計測対象の撮像画像に被計測対象の設計データを重ね合わせて描画する際の重ね合わせの精度を向上できる計測装置、計測方法及び計測プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案によれば、撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索する第１の手段と、探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定する第２の手段と、前記初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録する第３の手段と、前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する第４の手段と、を備えた計測装置が提供される。
【発明の効果】
【００１１】
一態様によれば、被計測対象の撮像画像に被計測対象の設計データを重ね合わせて描画する際の重ね合わせの精度を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】計測装置を形成可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【図２】計測装置の機能構成の一例を示すブロック図である。
【図３】仮の外部パラメータの信頼度を診断する方法の一例を説明する図である。
【図４】第１実施例における計測処理の一例を説明するフローチャートである。
【図５】表示画面上の表示の一例を説明する図である。
【図６】ＣＧ画像の生成処理の一例を説明するフローチャートである。
【図７】ＣＧ画像の一例を示す図である。
【図８】法線画像の生成処理の一例を説明するフローチャートである。
【図９】法線画像の一例を示す図である。
【図１０】法線画像とカメラ画像の一例を示す図である。
【図１１】法線画像とカメラ画像の特徴点ペアの一例を示す図である。
【図１２】図４のステップＳ５の処理で除外する法線画像とカメラ画像の特徴点ペアの一例を説明する図である。
【図１３】図４のステップＳ６の処理で除外する法線画像とカメラ画像の特徴点ペアの一例を示す図である。
【図１４】図４のステップＳ５，Ｓ６の処理の結果の一例を示す図である。
【図１５】図４のステップＳ７の処理の結果の一例を示す図である。
【図１６】図４のステップＳ７の処理をより詳細に説明するフローチャートである。
【図１７】類似度を示すスコアの値が閾値以上であり、互いに距離の離れた特徴点ペアを探索する第１の例を示す図である。
【図１８】類似度を示すスコアの値が閾値以上であり、互いに距離の離れた特徴点ペアを探索する第２の例を示す図である。
【図１９】カメラ画像とＣＧ画像から検出したエッジを示す図である。
【図２０】カメラ画像とＣＧ画像の重ね合わせの状態を、エッジ間の距離から評価する一例を説明する図である。
【図２１】図１７と共に説明した第１の例の場合の重ね合わせの状態を示す図である。
【図２２】図１８と共に説明した第２の例の場合の重ね合わせの状態を示す図である。
【図２３】特徴点ペアに紐付けたアキュムレータの値の一例を説明する図である。
【図２４】処理のループ回数、選択した特徴点ペア、判定値fitness、及びアキュムレータの値の一例を説明する図である。
【図２５】最終的に選択したｎ＝５個の特徴点ペアを示す図である。
【発明を実施するための形態】
【００１３】
開示の計測装置、計測方法及び計測プログラムでは、被計測対象の撮像画像と、被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、撮像画像と、射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索する。探索した複数の特徴点ペアからランダムに選択した特徴点ペアから仮の外部パラメータを推定する。初期外部パラメータと仮の外部パラメータを比較することで、仮の外部パラメータの信頼度を診断し、信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録する。信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、最終的な外部パラメータを使用して撮像画像と射影変換像を重ね合わせて表示する。
【００１４】
以下に、開示の計測装置、計測方法及び計測プログラムの各実施例を図面と共に説明する。
【実施例】
【００１５】
図１は、計測装置を形成可能なコンピュータのハードウェア構成の一例を示すブロック図である。図１に示すコンピュータ１は、バス１８で互いに接続された、ＣＰＵ（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）等の通信ネットワーク（図示せず）に接続され、通信に伴うデータ変換等を行う通信インタフェースの一例である。コンピュータ１は、プログラム、データ等を、通信ネットワークに接続可能な外部装置から、ネットワーク接続装置１７を介して受け取り、メモリ１２にロードして使用することができる。
【００２５】
なお、コンピュータ１は、コンピュータの用途、使用条件等に応じて、図１に示す一部の構成要素を省略した構成を有しても良い。例えば、コンピュータ１が外部装置と通信しなくても良い場合には、ネットワーク接続装置１７を省略しても良く、可搬型記録媒体１９を利用しない場合には、媒体駆動装置１６を省略しても良い。
【００２６】
また、コンピュータ１は、入力装置１３及び出力装置１４がコンピュータ１に対して外部接続される構成を有しても良い。更に、コンピュータ１は、例えば媒体駆動装置１６がコンピュータ１に対して外部接続される構成を有しても良い。
【００２７】
例えば、コンピュータ１が通信機能を有する携帯端末装置である場合、入力装置１３は通信用の装置の一例であるマイクロホンを含み、出力装置１４は通信用の装置の一例であるスピーカを含む。また、入力装置１３は、カメラ等の撮像装置を含んでも良い。
【００２８】
図２は、計測装置の機能構成の一例を示すブロック図である。図２に示す計測装置２１は、少なくとも処理ユニット２２を有する。処理ユニット２２の各機能は、図１に示すコンピュータ１のＣＰＵ１１により実現可能である。
【００２９】
撮像装置の一例であるカメラ２３、記憶装置２４、入力装置１３、及び出力装置１４の一例である表示装置２６は、いずれも計測装置２１の一部を形成しても、計測装置２１に対して外部接続されても良い。カメラ２３は、この例では被計測対象の一例である製造物２０を撮像する。製造物２０は、製造物２０の設計データに基づき製造された、実際の部品、製品等である。記憶装置２４は、例えば図１に示すメモリ１２、補助記憶装置１５、及び可搬型記録媒体１９をロードされた媒体駆動装置１６のうち、少なくとも１つで形成されても良い。また、記憶装置２４は、計測装置２１に対して外部接続された記憶装置であっても良い。
【００３０】
処理ユニット２２は、撮像制御部３１、画像記憶部３２、ＣＡＤデータを読み込む読み込み部３３、初期外部パラメータを決定する決定部３４、及び照明条件生成部３５を有する。また、処理ユニット２２は、コンピュータグラフィックス（ＣＧ：Computer Graphics）画像生成部（以下、「ＣＧ画像生成部」と言う）３６、法線画像生成部３７、デフォーカス付加部３８、及び仮想画像記憶部３９を有する。処理ユニット２２は、ペア生成部４０、仮の外部パラメータを計算する計算部４１、仮の外部パラメータを診断する診断部４２、及び最終外部パラメータを計算する計算部４３を更に有する。
【００３１】
撮像制御部３１は、カメラ２３の撮像を制御する。この例では、撮像制御部３１は、製造物２０を撮像するようにカメラ２３の撮像動作を制御する。カメラ２３が例えばロボット（図示せず）に搭載されている場合、撮像制御部３１はロボットを制御することでカメラ２３に製造物２０を撮像させても良い。カメラ２３が例えば携帯端末装置に搭載されている場合、撮像制御部３１は携帯端末装置の表示装置に製造物２０を撮像する範囲、手順等を表示して、利用者にカメラ２３で製造物２０を撮像するよう促しても良い。
【００３２】
画像記憶部３２は、カメラ２３が撮像した撮像画像を例えばメモリ１２等の記憶装置２４に一時的に保存する。読み込み部３３は、例えばメモリ１２等の記憶装置２４から、製造物２０のＣＡＤデータの一例である設計データを読み込む。設計データの形式は、特に限定されない。この例では、設計データは、決定部３４が表示装置２６の表示画面に投影変換像である２次元画像を描画可能な形式の３次元設計データである。
【００３３】
決定部３４は、製造物２０を含む撮像画像（以下、「製造物２０の撮像画像」とも言う）と読み込んだ設計データを用いて、製造物２０の撮像画像を表示装置２６の表示画面に表示するのと同時に、製造物２０の設計データを表示装置２６の表示画面上で描画する。この例では、表示画面上に描画する製造物２０の設計データは、製造物２０の３次元設計データの射影変換像である。製造物２０の撮像画像と、描画した製造物２０の設計データとは、表示装置２６の表示画面上で重なる位置に表示しても、重ならない位置に表示しても良い。
【００３４】
利用者は、表示装置２６の表示画面上で、製造物２０の撮像画像と描画した製造物２０の設計データとが概ね重なるように、入力装置１３を操作する。具体的には、利用者は、表示装置２６の表示画面上で、製造物２０の撮像画像と描画した製造物２０の設計データのうち少なくとも一方の位置、姿勢、及びスケールを、周知のＧＵＩ（Graphical User Interface）上で入力装置１３を用いて周知の方法で調整する。調整は、例えば入力装置１３によるカーソルのドラッグ・アンド・ドロップ等の操作により行っても良い。これにより、表示装置２６の表示画面上で、製造物２０の撮像画像と、描画した製造物２０の設計データとが概ね重なる。
【００３５】
また、決定部３４は、初期外部パラメータＥ０を計算して、例えばメモリ１２等の記憶装置２４に保存する。具体的には、決定部３４は、表示装置２６の表示画面上で、製造物２０の撮像画像と、描画した製造物２０の設計データとが、概ね重なるように調整された時点で設計データを描画するのに使用している外部パラメータを初期外部パラメータＥ０として、例えばメモリ１２等の記憶装置２４に保存する。
【００３６】
製造物２０に対するカメラ２３の位置及び姿勢（例えば、ワールド座標系内のカメラ２３の位置及び姿勢）に関する情報のことを、一般的にはカメラ２３の外部パラメータとも言う。また、レンズ等の撮像系の焦点距離、光学的中心、撮像画像サイズ等のカメラ２３の撮像系に関する情報のことを、一般的にはカメラ２３の内部パラメータとも言う。カメラ２３の内部パラメータが既知であれば、カメラ２３の外部パラメータを推定することで、設計データ上の３次元座標が撮像画像のどこの座標に射影変換（即ち、マッピング）されるかを計算できる。
【００３７】
ＣＧ画像生成部３６は、保存した初期外部パラメータＥ０を用いて、周知の手法でＣＧ画像を生成する。ＣＧ画像は、例えばＯｐｅｎＧＬ（登録商標：Open Graphics Library）やＤｉｒｅｃｔＸ（登録商標）等の周知のＣＧライブラリを利用してレンダリングすることで生成しても、周知のレイトレーシングシミュレーション（Ray Tracing Simulation）によるレンダリングを行うことで生成しても良い。ＣＧ画像は、照明の位置によって生成される画像が大きく異なる。しかし、撮像時の照明条件をＣＧ画像生成の条件として正確に反映させることは難しい。そこで、この例では、照明条件生成部３５により複数の照明条件を生成しておき、ＣＧ画像生成部３６は、これらの複数の照明条件に従った複数のＣＧ画像を生成する。つまり、ＣＧ画像生成部３６は、各照明条件に従って１つのＣＧ画像を生成する。なお、ＣＧ画像生成部３６は、周知の方法でＣＧ画像を生成する際にカメラ２３から製造物２０までの距離を周知の方法で取得できるので、デプス画像生成部（図示せず）を含んでも良い。デプス画像は、カメラ２３から製造物２０を含む視野内の全対象物までの距離を示す画像である。
【００３８】
法線画像生成部３７は、保存した初期外部パラメータＥ０を用いて、周知の手法で法線画像を生成する。法線画像は、設計データを構成する面の法線方向（即ち、面の向き）に応じて、例えば色を変えて画像化したものである。法線画像は、照明条件には依存しないため、後述する対応点探索において照明に左右されない安定したコーナー等の特徴点の探索を行うのに適している。
【００３９】
本明細書では、ＣＧ画像、デプス画像、及び法線画像を総称して、仮想画像とも言う。ＣＧ画像生成部３６及び法線画像生成部３７が生成した仮想画像は、デフォーカス付加部３８に供給される。デフォーカス付加部３８は、夫々の仮想画像をもとにデフォーカス量を変えた仮想画像を新たに生成する。仮想画像にデフォーカスを付加するためには、ガウシアンフィルタ（Gaussian Filter）等の画像処理をもとの仮想画像に適用すれば良い。なお、撮像時のデフォーカス量が予めわかっている場合には、撮像時のデフォーカス量を付加した画像のみを生成しても良い。仮想画像記憶部３９は、デフォーカス付加部３８が生成した仮想画像を、例えばメモリ１２等の記憶装置２４に一時的に保存する。
【００４０】
ペア生成部４０は、画像記憶部３２が保存した撮像画像と前述の手順により生成した各仮想画像とから、画像の局所特徴量が類似する特徴点ペアを探索する。特徴点ペアを探索することで、特徴点ペアの座標、即ち、座標ペアを探索できる。特徴点ペアを探索する方法には、ＳＩＦＴ（Scale-Invariant Feature Transform）、ＳＵＲＦ（Speeded-Up Robust Features）、ＯＲＢ（Oriented FAST (Features from Accelerated Segment Test) and Rotated BRIEF (Binary Robust Independent Elementary Features)）等といった局所特徴量マッチングやテンプレートマッチング等の周知の手法を利用できる。デフォーカス量を変えた仮想画像を用いた場合には、カメラ２３により製造物２０を撮像した際に撮像画像に含まれるデフォーカス量を考慮したマッチングを行うことができる。
【００４１】
計算部４１は、探索した複数の特徴点ペアを用いて仮の外部パラメータＥ１を計算する。計算部４１は、探索した複数の特徴点ペアの中から例えばランダムにＮ個（例えば、Ｎ≧４）の特徴点ペアを選択し、ＰｎＰ(Perspective n-Point)問題を解くことで仮の外部パラメータＥ１を推定できる。例えば、ある選択した特徴点ペアでは、撮像画像側が（ｘｉｎ，ｙｉｎ）であり、仮想画像側が（ｘｊｎ，ｙｊｎ）であると仮定する。ここでｎ＝１，...，Ｎである。ＰｎＰ問題とは、内部パラメータが既知で、撮像画像における４点以上の設計座標値がわかっている場合に、外部パラメータを求める問題である。ＰｎＰ問題を解くためには、例えばＥＰｎＰ（Efficient PnP）法等を用いることができる。仮の外部パラメータＥ１を推定するためには、撮像画像の（ｘｉｎ，ｙｉｎ）に対応する設計データ座標が必要となる。仮想画像を計算するための初期外部パラメータＥ０と内部パラメータは既知であるため、設計モデルを描画している座標系（ｘｊｎ，ｙｊｎ）の設計データ座標は射影変換を逆変換することにより（Ｘｊｎ，Ｙｊｎ，Ｚｊｎ）と求めることができる。仮にＰｎＰ問題を解くのに使用した特徴点ペアにおける（ｘｉｎ，ｙｉｎ）と（Ｘｊｎ，Ｙｊｎ，Ｚｊｎ）の対応が全て正しければ、仮の外部パラメータＥ１は重ね合わせ（重畳とも言う）が正しく行える外部パラメータである。
【００４２】
仮想画像はシミュレーションにより生成した画像であるため、各特徴点ペアの対応が正しいという保証はない。そこで、診断部４２は、仮の外部パラメータの信頼度を診断する。診断部４２は、概ね正しいと考えられる初期外部パラメータＥ０と仮の外部パラメータＥ１を比較することで、仮の外部パラメータＥ１の信頼度を診断する。また、診断部４２は、の仮の外部パラメータＥ１の信頼度の診断結果に基づいて、信頼度が所定値以上である仮の外部パラメータＥ１を推定する際に使用した信頼できる特徴点ペアを、例えばメモリ１２等の記憶装置２４に保存する。
【００４３】
図３は、仮の外部パラメータの信頼度を診断する方法の一例を説明する図である。仮の外部パラメータＥ１の信頼度を診断する場合、外部パラメータをカメラ２３の位置ｐとカメラ２３の向きを表す視線ベクトルｖとの２つのパラメータで表す。例えば、初期外部パラメータＥ０は、ｐ０とｖ０で表せる。また、仮の外部パラメータＥ１は、ｐ１ｋとｖ１ｋで表せる。このとき、位置ｐが図３に示す例のようにｐ０から半径Ｒより離れているか、或いは、視線ベクトルｖの角度差がθより大きければ、特徴点ペアの対応が正しくないと判断し、逆に、それ以外の場合は、仮の外部パラメータＥ１を推定するのに使用した特徴点ペアの対応は信頼できると判断する。例えば、ｐ１ｍとｖ１ｍで表される仮の外部パラメータＥ１は棄却し、ｐ１ｎとｖ１ｎで表される仮の外部パラメータＥ１は採用する。特徴点ペアの対応が信頼できると判断する場合の判定条件は、例えば以下のように表すことができる。
【００４４】
【数１】
2020017096.tif 000003
【００４５】
例えば、探索した複数の特徴点ペアの中からランダムに特徴点ペアを選択することを何度か行い、信頼度が所定値以上である仮の外部パラメータを計算するのに用いた特徴点ペアを、記録に追加して行く。これにより、最後に記録された信頼度が所定値以上である、信頼できる仮の外部パラメータを計算するのに用いた特徴点ペアを選別することができる。
【００４６】
診断部４２が探索した複数の特徴点ペアを用いて仮の外部パラメータＥ１の信頼度を計算する前に、計算部４１は、次のような特徴点の除外処理を行うことが好ましい。つまり、撮像画像と仮想画像の対応する特徴点同士の画像内の距離が所定の距離以上離れている場合には、当該特徴点を対応の誤りとみなして、探索した特徴点ペアから除外することが好ましい。このような特徴点の除外処理により、撮像画像内の明らかに特徴点ペアではない対象を確実に除外して、計算部４１と診断部４２の計算量と計算時間を大きく低減することができる。
【００４７】
計算部４３は、信頼度が所定値以上である仮の外部パラメータを計算するのに用いた特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である指定数（例えばｋ個）の特徴点ペアを選択する。また、計算部４３は、カメラ画像と仮想画像の重ね合わせの状態を評価値で評価し、ｋ個の選択された特徴点ペアのうち、評価値が一定値以上である特徴点ペアを選択し、選択した特徴点ペアを用いて最終的な外部パラメータＥ２を計算する。更に、計算部４３は、最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示する。計算部４３は、最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示することで、利用者に提示する。これにより、利用者のスキルに依存することなく、製造物２０の撮像画像に製造物２０の設計データを重ね合わせて描画する際の重ね合わせの精度を向上することができる。
【００４８】
処理ユニット２２の撮像制御部３１からペア生成部４０までに相当する部分は、第１の手段の一例を形成可能である。第１の手段は、製造物２０の撮像画像と３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、撮像画像と、射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索する。処理ユニット２２の計算部４１に相当する部分は、第２の手段の一例を形成可能である。第２の手段は、探索した複数の特徴点ペアからランダムに選択した特徴点ペアから被計測対象に対する撮像装置の位置及び姿勢に関する仮の外部パラメータＥ１を推定する。
【００４９】
処理ユニット２２の診断部４２に相当する部分は、第３の手段の一例を形成可能である。第３の手段は、初期外部パラメータＥ０と仮の外部パラメータＥ１を比較することで、仮の外部パラメータＥ１の信頼度を診断すると共に、信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録する。処理ユニット２２の計算部４３は、第４の手段の一例を形成可能である。第４の手段は、信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数（ｋ個）だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータＥ２を推定し、最終的な外部パラメータＥ２を使用して撮像画像と射影変換像を重ね合わせて表示する。
【００５０】
処理ユニット２２の撮像制御部３１から仮想画像記憶部３９までに相当する部分は、生成手段の一例を形成可能である。生成手段は、撮像画像と射影変換像とが表示画面上で概ね重なる状態で、初期外部パラメータＥ０を用いて、デフォーカス量を変化させた複数のコンピュータグラフィックス（ＣＧ）画像及び法線画像を含む仮想画像をシミュレーションにより生成する。また、処理ユニット２２のペア生成部４０は、撮像画像と各仮想画像とから、局所特徴量のマッチングを用いて、画像の局所特徴量が類似する複数の特徴点ペアを探索する手段の一例を形成可能である。
【００５１】
処理ユニット２２の撮像制御部３１から仮想画像記憶部３９までに相当する部分は、生成手段の一例を形成可能である。この生成手段は、撮像画像と射影変換像とが表示画面上で概ね重なる状態で、初期外部パラメータＥ０を用いて、照明及びデフォーカス量を変化させた複数のＣＧ画像及びデフォーカス量を変化させた複数の法線画像を含む複数の仮想画像をシミュレーションにより生成する。
【００５２】
上記第２の手段は、探索した複数の特徴点ペアを用いて仮の外部パラメータＥ１を計算する前に、表示画面上に表示された撮像画像の特徴点と仮想画像の対応する特徴点との間の距離が所定の距離以上離れている場合には、当該特徴点を探索した複数の特徴点ペアから除外しても良い。
【００５３】
上記第３の手段は、仮想画像の特徴点と撮像画像の特徴点とで推定される外部パラメータから求まる撮像装置の視線方向と位置と、初期外部パラメータから求まる撮像装置の視線方向と位置が一定量以上ずれていている場合には、当該特徴点を信頼できる特徴点ペアとして記録しなくても良い。
【００５４】
上記第４の手段は、探索した複数の特徴点ペアからランダムに選択した特徴点ペアから求まる座標間距離に関する所定条件、及び視線方向と位置に関する所定条件のうち少なくとも一方の所定条件を満たす複数の特徴点ペアを用いて、撮像画像と射影変換像とを重ね合わせて表示画面上に表示しても良い。
【００５５】
前記第４の手段は、スコアの値が閾値以上である指定数（ｋ個）の特徴点ペアを、ランダムに、或いは、スコアの値が高い順に選択し、撮像画像と仮想画像の重ね合わせの状態を評価値で評価し、前記指定数（ｋ個）の選択された特徴点ペアのうち、評価値が一定値以上である特徴点ペアを用いて最終的な外部パラメータＥ２を計算しても良い。
【００５６】
図４は、第１実施例における計測処理の一例を説明するフローチャートである。図４に示す計測処理は、図１に示すＣＰＵ１１がメモリ１２に格納された計測プログラムを実行することで実行可能である。つまり、図４に示す計測処理は、図２に示す処理ユニット２２の各部により実行可能である。
【００５７】
図４に示す計測処理は、例えば利用者が入力装置１３から計測処理の開始を指示すると開始する。図４において、計測処理が開始すると、ステップＳ１では、ＣＰＵ１１が、カメラ２３が撮像した製造物２０の撮像画像を表示装置２６に表示するのと同時に、製造物２０の設計データを表示装置２６上で描画する。具体的には、撮像制御部３１が、製造物２０を撮像するようにカメラ２３を制御し、画像記憶部３２が、カメラ２３が撮像した撮像画像を例えばメモリ１２等の記憶装置２４に一時的に保存する。また、読み込み部３３が、例えばメモリ１２等の記憶装置２４から製造物２０のＣＡＤデータである設計データを読み込み、決定部３４が、製造物２０の撮像画像を表示装置２６に表示するのと同時に、製造物２０の設計データを表示装置２６上で描画する。この時、決定部３４が、利用者に設計データが描画される際の位置、姿勢、及びスケールの調整を促すメッセージ等を表示装置２６の表示画面に表示しても良い。
【００５８】
利用者は、マウスやキーボード等の入力装置１３を操作することで、表示装置２６の表示画面に表示された製造物２０の撮像画像と描画した製造物２０の設計データとが概ね重なるように、設計データが描画される際の位置、姿勢、及びスケールを周知のＧＵＩ上で周知の方法で調整する。
【００５９】
図５は、表示画面上の表示の一例を説明する図である。この例では、撮像画像の一例であるカメラ画像は、重ね合わせ対象の一例である、製造物２０の画像２０１と、非重ね合わせ対象の一例である、周辺部分の画像２１０を含む。図５に示すように、利用者によるＧＵＩ上の調整により、表示画面上では、カメラ画像中の製造物２０の画像２０１と、製造物２０の設計データ２０２とが概ね重なる。
【００６０】
ステップＳ２では、ＣＰＵ１１が、利用者によるＧＵＩ上の調整の終了に応答して、調整が終了した状態における設計データを描画するための外部パラメータを初期外部パラメータＥ０として保存する。具体的には、決定部３４が、初期外部パラメータＥ０を計算して、例えばメモリ１２等の記憶装置２４に保存する。ＣＰＵ１１は、利用者によるＧＵＩ上の調整の終了を、例えば利用者による入力装置１３の操作に応じてＣＰＵ１１が入力装置１３から受信する終了通知から認識しても良い。
【００６１】
ステップＳ３では、ＣＰＵ１１が、初期外部パラメータＥ０で、照明及びデフォーカス量（所謂、ピンボケ量）を変化させた仮想画像（ＣＧ画像及び法線画像）をＣＧシミュレーションにより生成する。具体的には、ＣＧ画像生成部３６が、保存した初期外部パラメータＥ０を用いてＣＧ画像を生成する。この例では、照明条件生成部３５により複数の照明条件を生成しておき、ＣＧ画像生成部３６がこれらの複数の照明条件に従った複数のＣＧ画像を生成する。また、法線画像生成部３７が、保存した初期外部パラメータＥ０を用いて法線画像を生成する。
【００６２】
図６は、ＣＧ画像の生成処理の一例を説明するフローチャートである。図６に示す処理は、図１に示すＣＰＵ１１がメモリ１２に格納されたプログラムを実行することで実行可能である。つまり、図６に示す処理は、図２に示す照明条件生成部３５、ＣＧ画像生成部３６、デフォーカス付加部３８及び仮想画像記憶部３９により実行可能である。
【００６３】
図６において、ステップＳ３１では、ＣＰＵ１１が、保存した初期外部パラメータＥ０を用いて、複数の照明条件に従った対応する複数のＣＧ画像を、シミュレーションにより生成する。具体的には、ＣＧ画像生成部３６が、初期外部パラメータＥ０を用いて、照明条件生成部３５が生成した複数の照明条件に従った対応する複数のＣＧ画像を、シミュレーションにより生成する。ステップＳ３２では、ＣＰＵ１１が、生成した夫々のＣＧ画像をもとにデフォーカス量を変えたＣＧ画像を生成し、処理は図４に示すステップＳ４へ進む。具体的には、仮想画像記憶部３９が、デフォーカス付加部３８が夫々のＣＧ画像のデフォーカス量を変えて生成したＣＧ画像を、例えばメモリ１２等の記憶装置２４に一時的に保存する。
【００６４】
図７は、ＣＧ画像の一例を示す図である。図７において、ＣＧ画像３１０Ａ〜３１２Ａは、ＣＧ画像３１０〜３１２に対してデフォーカス量を夫々変化させたものである。この例では、１つのＣＧ画像に対してデフォーカス量を変化させた１つのＣＧ画像を生成しているが、１つのＣＧ画像に対して異なるデフォーカス量だけ変化させた複数のＣＧ画像を生成しても良い。
【００６５】
図８は、法線画像の生成処理の一例を説明するフローチャートである。図８に示す処理は、図１に示すＣＰＵ１１がメモリ１２に格納されたプログラムを実行することで実行可能である。つまり、図８に示す処理は、図２に示す法線画像生成部３７、デフォーカス付加部３８及び仮想画像記憶部３９により実行可能である。
【００６６】
図８において、ステップＳ３５では、ＣＰＵ１１が、保存した初期外部パラメータＥ０を用いて、法線画像を、シミュレーションにより生成する。具体的には、法線画像生成部３７が、初期外部パラメータＥ０を用いて、法線画像を、シミュレーションにより生成する。ステップＳ３６では、ＣＰＵ１１が、生成した法線画像をもとにデフォーカス量を変えた法線画像を生成し、処理は図４に示すステップＳ４へ進む。具体的には、仮想画像記憶部３９が、デフォーカス付加部３８が法線画像のデフォーカス量を変えて生成した複数の法線画像を、例えばメモリ１２等の記憶装置２４に一時的に保存する。
【００６７】
図９は、法線画像の一例を示す図である。図９において、法線画像３５０Ａ，３５０Ｂは、法線画像３５０に対してデフォーカス量を夫々変化させたものであり、法線画像３５０Ｂのデフォーカス量は法線画像３５０Ａのデフォーカス量より多い。この例では、１つの法線画像に対して異なるデフォーカス量だけ変化させた複数の法線画像を生成しているが、１つの法線画像に対してデフォーカス量を変化させた１つの法線画像を生成しても良い。
【００６８】
図１０は、法線画像とカメラ画像の一例を示す図である。図１０は、同じ製造物２０に関する法線画像３５０とカメラ画像２００を、対応点等を見やすくするために便宜上分離して示すが、表示装置２６の表示画面上の実際の表示は、例えば図５に示す如くである。
【００６９】
図４の説明に戻るに、ステップＳ４〜Ｓ７の処理は、撮像画像とステップＳ３で生成した各仮想画像に対して実行し、最終的な外部パラメータＥ２がある仮想画像について推定された場合には、他の仮想画像についての処理は実行しない。つまり、いずれかの仮想画像を用いて推定した最終的な外部パラメータＥ２が良ければ、その時点で処理を終了する。推定した最終的な外部パラメータＥ２が良いと、カメラ画像と仮想画像の重ね合わせの状態が良く、評価値が高くなる。
【００７０】
ステップＳ４では、ＣＰＵ１１が、撮像画像と各仮想画像で局所特徴量が類似する特徴点ペアを探索する。具体的には、ＣＧ画像生成部３６及び法線画像生成部３７が生成した仮想画像をデフォーカス付加部３８に供給し、デフォーカス付加部３８が、夫々の仮想画像をもとにデフォーカス量を変えた仮想画像を新たに生成する。また、仮想画像記憶部３９が、デフォーカス付加部３８が生成した仮想画像を、例えばメモリ１２等の記憶装置２４に一時的に保存する。更に、ペア生成部４０が、画像記憶部３２が保存した撮像画像と前述の手順により生成した各仮想画像から、局所特徴量が類似する特徴点ペアを周知の手法を利用して探索する。例えば、ペア生成部４０は、類似度を示すスコアの一例であるマッチングスコアの値が閾値以上である特徴点ペアを探索する。
【００７１】
図１１は、法線画像とカメラ画像の特徴点ペアの一例を示す図である。図１１中、図１０と同一部分には同一符号を付し、その説明は省略する。図１１では、特徴点を○印で示し、類似度を示すスコアの値が閾値以上である特徴点ペアの特徴点同士は細い実線で繋いで示す。なお、図示は省略するが、ＣＧ画像とカメラ画像の特徴点ペアも、図１１の場合と同様に求めることができる。
【００７２】
図４の説明に戻るに、ステップＳ５では、ＣＰＵ１１が、特徴点ペアの特徴点同士の画像内の距離が所定の距離以上離れている場合には、当該特徴点を対応の誤りとして探索した特徴点ペアから除外する。具体的には、計算部４１が、探索した複数の特徴点ペアを用いて仮の外部パラメータＥ１を計算する前に、特徴点同士の画像内の距離が所定の距離以上離れている場合には、当該特徴点を探索した特徴点ペアから除外する。なお、特徴点同士の画像内の距離とは、同じ表示画面上に表示された、撮像画像の特徴点と仮想画像の対応する特徴点との間の距離である。
【００７３】
図１２は、図４のステップＳ５の処理で除外する法線画像とカメラ画像の特徴点ペアの一例を説明する図である。図１２中、図１１と同一部分には同一符号を付し、その説明は省略する。図１２では、画像内の距離が所定の距離以上離れており、明らかに異なる位置の特徴点同士を破線で繋いで示す。つまり、法線画像３５０の特徴点と特徴点ペアを形成する周辺部分の画像２１０の特徴点とでは、画像内の距離が所定の距離以上離れており、画像内の座標値も大きく異なるため、製造物の画像２０１の対応する特徴点である可能性は低い。そこで、法線画像３５０の特徴点と周辺部分の画像２１０の特徴点とが形成する、破線で繋がれた特徴点ペアは、ＣＰＵ１１がステップＳ５の処理を実行することで、探索した特徴点ペアから除外する。また、法線画像３５０の奥上のコーナーの特徴点と製造物の画像２０１の左手前のコーナーの特徴点とでは、画像内の距離が所定の距離以上離れており、画像内の座標値も大きく異なるため、製造物の画像２０１の対応する特徴点である可能性は低い。そこで、法線画像３５０の特徴点と製造物の画像２０１の特徴点とが形成する、破線で繋がれた特徴点ペアは、ＣＰＵ１１がステップＳ５の処理を実行することで、探索した特徴点ペアから除外する。なお、図示は省略するが、ＣＧ画像とカメラ画像の特徴点ペアも、図１２の場合と同様に除外することができる。
【００７４】
図４の説明に戻るに、ステップＳ６では、ＣＰＵ１１が、例えばランダムに選択した特徴点ペアを用いて仮の外部パラメータＥ１を推定する。具体的には、計算部４１が、探索した特徴点ペアの中から例えばランダムにＮ個の特徴点ペアを選択し、選択したＮ個の特徴点ペアを利用してＰｎＰ問題を解くことで仮の外部パラメータＥ１を推定する。また、ステップＳ６では、ＣＰＵ１１が、初期外部パラメータＥ０と推定した仮の外部パラメータＥ１との関係が予め設定した条件を満たした場合に、仮の外部パラメータＥ１を推定する際に使用した特徴点ペアを記録する。具体的には、計算部４１が、初期外部パラメータＥ０と推定した仮の外部パラメータＥ１との関係が予め設定した条件を満たした場合に、仮の外部パラメータＥ１を推定する際に使用した特徴点ペアを記録する。
【００７５】
図１３は、図４のステップＳ６の処理で除外する法線画像とカメラ画像の特徴点ペアの一例を示す図である。図１３中、図１２と同一部分には同一符号を付し、その説明は省略する。図１３では、製造物２０上の位置が明らかに異なる特徴点同士を破線で繋いで示す。つまり、破線で繋いで示す法線画像３５０の特徴点と製造物２０の画像２０１の特徴点とでは、対応する特徴点である可能性は低い。そこで、破線で繋いで示す法線画像３５０の特徴点と製造物２０の画像２０１の特徴点は、ＣＰＵ１１がステップＳ６の処理を実行することで、探索した特徴点ペアから除外する。なお、図示は省略するが、ＣＧ画像とカメラ画像の特徴点ペアも、図１３の場合と同様に除外することができる。
【００７６】
ランダムに選択した特徴点ペアに、図１３に破線で繋いで示す特徴点ペアが含まれていると、初期外部パラメータＥ０と仮の外部パラメータＥ１とが大きく異なり、上記数１で表される値が大きくなる。つまり、図１３に破線で繋いで示す特徴点ペアは、信頼度が高い特徴点ペアとして選択されることはなく、最終的に信頼できる特徴点ペアとして記録されることもない。
【００７７】
上記の如く、ＣＰＵ１１（計算部４１及び診断部４２）による特徴点ペアのランダムな選択、仮の外部パラメータＥ１の計算、仮の外部パラメータＥ１の信頼度の診断、及び信頼できる特徴点ペアの記録は、信頼できる特徴点ペアが求まるまで繰り返される。また、上記の如く、信頼できる特徴点ペアとは、信頼度が所定値以上である仮の外部パラメータＥ１を推定する際に使用した特徴点ペアである。
【００７８】
図１４は、図４のステップＳ５，Ｓ６の処理の結果の一例を示す図である。図１４中、図１２及び図１３と同一部分には同一符号を付し、その説明は省略する。図１４は、例えば図１２及び図１３において破線で繋がれた特徴点同士が除外され、信頼度が高いと判断した特徴点ペア番号「１」，「２」，「３」，...，「１１」の特徴点ペアを細い実線で繋いで示す。なお、図示は省略するが、ＣＧ画像とカメラ画像の特徴点ペアも、図１４の場合と同様に求めることができる。
【００７９】
図４の説明に戻るに、ステップＳ７では、ＣＰＵ１１が、記録した複数の特徴点ペアにおいて対応点の類似性を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータＥ２を推定する。具体的には、計算部４３が、仮の外部パラメータＥ１の信頼度が所定値以上の特徴点ペアの中で対応点の類似度を示すスコアの値が閾値以上であるｋ個の特徴点ペアを選択することで、最終的な外部パラメータＥ２を計算して、例えばメモリ１２等の記憶装置２４に保存する。なお、スコアの値が閾値以上であるｋ個の特徴点ペアは、ランダムに選択しても、スコアの値が高い順に選択しても良い。また、ステップＳ７では、ＣＰＵ１１が、カメラ画像と仮想画像の重ね合わせの状態を評価値で評価し、ｋ個の選択された特徴点ペアのうち、評価値が一定値以上である特徴点ペアを選択し、選択した特徴点ペアを用いて最終的な外部パラメータＥ２を推定する。具体的には、計算部４３が、ｋ個の選択された特徴点ペアのうち、評価値が一定値以上である特徴点ペアを選択し、選択した特徴点ペアを用いて最終的な外部パラメータＥ２を計算する。好ましくは、ｋ個の選択された特徴点ペアのうち、評価値が一定値以上である上位ｎ（≦ｋ）個の特徴点ペアを選択する。更に、ステップＳ７では、ＣＰＵ１１が、最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示し、処理は終了する。具体的には、計算部４３が、最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示することで、利用者に提示する。
【００８０】
図１５は、図４のステップＳ７の処理の結果の一例を示す図である。この例では、表示画面上では、カメラ画像中の製造物２０の画像２０１と、製造物２０の設計データ２０２Ａとが、精度良く重ね合わされており、製造物２０が設計図面通りに製造されているか否かを確認する作業を容易に行える。この確認作業は、利用者が目視で行っても、ＣＰＵ１１が周知のマッチング手法を用いて行っても良い。
【００８１】
図１６は、図４のステップＳ７の処理をより詳細に説明するフローチャートである。図１６に示す処理は、図１に示すＣＰＵ１１がメモリ１２に格納された計測プログラムを実行することで実行可能である。つまり、図１６に示す処理は、図２に示す診断部４２及び計算部４３により実行可能である。説明の便宜上、仮想画像の一例であるＣＧ画像を用いて図１６の処理を説明するが、仮想画像の一例である法線画像を用いて図１３の処理と同様の処理を実行可能であることは、言うまでもない。
【００８２】
図１６において、ステップＳ７０１では、ＣＰＵ１１が、図４のステップＳ６で記録した特徴点ペアの総数が所定数以下であるか否かを判定し、判定結果がＹＥＳであると、ＣＰＵ１１が製造物２０の撮像画像と製造物２０の設計データの重ね合わせは不可であると判断して処理は終了する。この例では、所定数は５である。具体的には、計算部４３が、探索した特徴点ペアの総数が５以下であるか否かを判定し、判定結果がＹＥＳであると、重ね合わせる製造物２０の撮像画像と製造物２０の設計データの局所特徴量が類似していないと判断して、処理を終了する。一方、ステップＳ７０１の判定結果がＮＯであると、処理はステップＳ７０２へ進む。
【００８３】
ステップＳ７０２では、ＣＰＵ１１が、図４のステップＳ６で記録した複数の特徴点ペアから、対応点の類似性を示すスコアの値が閾値以上である例えばｋ個の特徴点ペアを選択する。具体的には、計算部４３が、記録した複数の特徴点ペアの中からｋ個の特徴点ペアを選択する。スコアの値が閾値以上であるｋ個の特徴点ペアは、ランダムに選択しても、スコアの値が高い順に選択しても良い。
【００８４】
図１７は、類似度を示すスコアの値が閾値以上であり、互いに距離の離れた特徴点ペアを探索する第１の例を示す図である。図１７中、図１２と同一部分には同一符号を付し、その説明は省略する。図１７では、類似度を示すスコアの値が閾値以上であり、隣接する特徴点ペアの特徴点の画像内の距離が一定距離以上離れている。この例では、ＣＰＵ１１が、類似度を示すスコアの値が閾値以上であるｋ＝５個の特徴点ペアをランダムに選択するが、特徴点ペア番号「９」の特徴点ペアは正しい対応点ではない。特徴点ペア番号「９」の特徴点ペアの場合、法線画像３５０の特徴点の位置が、撮像画像の特徴点の位置Ｐと対応していない。
【００８５】
図１８は、類似度を示すスコアの値が閾値以上であり、互いに距離の離れた特徴点ペアを探索する第２の例を示す図である。図１８中、図１７と同一部分には同一符号を付し、その説明は省略する。図１８では、類似度を示すスコアの値が閾値以上であり、隣接する特徴点ペアの特徴点の画像内の距離が一定距離以上離れている。この例では、ＣＰＵ１１が、類似度を示すスコアの値が閾値以上である上位ｋ＝５個（即ち、スコアの値が高い順のｋ個）の特徴点ペアを選択するが、各特徴点ペアは正しい対応点である。
【００８６】
図１６の説明に戻るに、ステップＳ７０３では、ＣＰＵ１１が、外部パラメータＥ２を算出し、法線画像、或いは、デプス画像、或いは、法線画像及びＣＧ画像、或いは、デプス画像及びＣＧ画像を取得する。具体的には、計算部４３が、選択したｋ個の特徴点ペアを利用してＰｎＰ問題を解くことで外部パラメータＥ２を推定し、法線画像生成部３７が生成した法線画像、或いは、ＣＧ画像生成部３６が生成したデプス画像を取得する。計算部４３は、外部パラメータＥ２を推定し、法線画像生成部３７が生成した法線画像及びＣＧ画像生成部３６が生成したＣＧ画像を取得しても、ＣＧ画像生成部３６が生成したデプス画像及びＣＧ画像を取得しても良い。
【００８７】
ステップＳ７０４では、ＣＰＵ１１が、カメラ画像とステップＳ７０３で取得した画像からエッジを検出する。具体的には、計算部４３が、カメラ画像と、法線画像、或いは、デプス画像、或いは、法線画像及びＣＧ画像、或いは、デプス画像及びＣＧ画像とから周知の手法を用いてエッジを検出する。
【００８８】
図１９は、カメラ画像と、法線画像、或いは、デプス画像、或いは、法線画像及びＣＧ画像、或いは、デプス画像及びＣＧ画像とから検出したエッジを示す図である。この例では、製造物２０の画像のエッジと、周辺部分の画像２１０のエッジが検出される。なお、図示は省略するが、カメラ画像と法線画像のエッジも、図１９の場合と同様に検出することができる。
【００８９】
図１６の説明に戻るに、ステップＳ７０５では、ＣＰＵ１１が、カメラ画像とＣＧ画像の重ね合わせの状態を評価値で評価する。具体的には、計算部４３が、カメラ画像とＣＧ画像の重ね合わせの状態を、夫々のエッジの重ね合わせの状態から周知の手法で評価する。カメラ画像とＣＧ画像のエッジの重ね合わせの状態は、エッジ間の距離をもとに評価しても良い。この例では、カメラ画像とＣＧ画像のエッジの重ね合わせの状態を、エッジ間の距離をもとに、図２０と共に説明する重ね合わせ状態の良し悪しを判定するための判定値fitnessにより評価する。
【００９０】
図２０は、カメラ画像とＣＧ画像の重ね合わせの状態を、エッジ間の距離をもとに評価する一例を説明する図である。図２１において、●印は、ＣＧ画像のエッジ（即ち、設計データから求めたエッジ）上の点を示し、○印は、ＣＧ画像のエッジとカメラ画像のエッジとの間の、ＣＧ画像のエッジ上の点から距離ｒの位置にある評価位置（ｘ，ｙ）を示す。重ね合わせ状態の良し悪しを判定する判定値fitnessは、例えば次式に基づいて求めることができる。
【００９１】
【数２】
2020017096.tif 000004
【００９２】
ステップＳ７０６では、ＣＰＵ１１が、重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref1以上であるか否かを判定し、判定結果がＹＥＳであると、ＣＰＵ１１が製造物２０の撮像画像と製造物２０の設計データの重ね合わせは成功したと判断し、処理は終了する。ステップＳ７０６の判定結果がＮＯであると、処理はステップＳ７０７へ進む。
【００９３】
ステップＳ７０７では、ＣＰＵ１１が、重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref2（＜Ref1）以上であるか否かを判定し、判定結果がＹＥＳであると処理はステップＳ７０８へ進み、判定結果がＮＯであると処理はステップＳ７０９へ進む。ステップＳ７０８では、ＣＰＵ１１が、特徴点ペアに紐付けたアキュムレータ（又は、加算器）の値に１を加算してインクリメントし、処理はステップＳ７０９へ進む。アキュムレータの値は、重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref1未満、かつ、基準値Ref2以上（Ref2≦fitness＜Ref1の範囲内）であるとインクリメントされる、カメラ画像と仮想画像の重ね合わせの状態を評価する評価値の一例である。ステップＳ７０９では、ＣＰＵ１１が、ステップＳ７０２〜Ｓ７０９の処理を所定ループ回数行ったか否かを判定し、判定結果がＮＯであると処理はステップＳ７０２へ戻り、判定結果がＹＥＳであると処理はステップＳ７１０へ進む。
【００９４】
具体的には、計算部４３が、重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref1以上であると、カメラ画像とＣＧ画像の重ね合わせが成功したと判断する。また、計算部４３が、重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref2以上であると、特徴点ペアに紐付けた、計算部４３内のアキュムレータの値に１を加算してインクリメントし、基準値Ref2未満であるとアキュムレータの値を維持する。更に、計算部４３が、ステップＳ７０２〜Ｓ７０９の重ね合わせの状態の良し悪しの判定を所定ループ回数だけ繰り返すので、上記のｋ個の特徴点ペアを選択することが所定ループ回数行われる。所定ループ回数は、例えば８０回であり、このような重ね合わせの状態の良し悪しの判定の繰り返しの結果、カメラ画像とＣＧ画像の重ね合わせの状態の良し悪しを判定する判定値fitnessが求められる。なお、カメラ画像と法線画像の重ね合わせ状態の良し悪しを判定する判定値fitnessも、カメラ画像とＣＧ画像の重ね合わせの状態の良し悪しを判定する判定値fitnessと同様に求められる。
【００９５】
図２１は、図１７と共に説明した第１の例の場合の重ね合わせの状態を示す図である。この例では、図２１からもわかるように、カメラ画像とＣＧ画像とがずれており、カメラ画像とＣＧ画像の重ね合わせの精度が良くない。また、カメラ画像とＣＧ画像の重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref2未満であるため、ステップＳ７０８は実行されないので、重ね合わせ状態の良し悪しを判定する判定値fitnessがインクリメントされない。
【００９６】
図２２は、図１８と共に説明した第２の例の場合の重ね合わせの状態を示す図である。この例では、図２２からもわかるように、カメラ画像とＣＧ画像のずれが殆どなく、カメラ画像とＣＧ画像の重ね合わせの精度が良い。また、カメラ画像とＣＧ画像の重ね合わせの状態の良し悪しを判定する判定値fitnessが基準値Ref2以上であり、ステップＳ７０８が実行されるため、重ね合わせ状態の良し悪しを判定する判定値fitnessがインクリメントされる。
【００９７】
図１６の説明に戻るに、ステップＳ７１０では、ＣＰＵ１１が、重ね合わせ状態の良し悪しを判定する判定値fitnessをもとにカメラ画像とＣＧ画像の対応点を選択する。具体的には、計算部４３が、重ね合わせ状態の良し悪しを判定する判定値fitnessが一定値以上である特徴点ペアを対応点として選択する。好ましくは、ｋ個の選択された特徴点ペアのうち、アキュムレータの値が一定値以上である上位ｎ（≦ｋ）個の特徴点ペアを選択する。ステップＳ７１１では、ＣＰＵ１１が、選択した特徴点ペアを用いて前記最終的な外部パラメータＥ２を推定し、最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示し、処理は終了する。具体的には、計算部４３が、選択した特徴点ペア（対応点）を用いて最終的な外部パラメータＥ２を推定し、推定した最終的な外部パラメータＥ２を使用して製造物２０の撮像画像と製造物２０の設計データを重ね合わせて表示装置２６の表示画面に表示することで、利用者に提示する。
【００９８】
図２３は、特徴点ペアに紐付けたアキュムレータの値の一例を説明する図である。図２３中、縦軸は特徴点ペアに紐付けたアキュムレータの値を任意単位で示し、横軸は特徴点ペアに付けられた特徴点ペア番号を示す。図２３は、特徴点ペア番号が「２」，「９」である特徴点ペアに紐付けられたアキュムレータの値が、一定値の一例である３０未満である場合を示す。この場合、特徴点ペア番号が「２」，「９」である特徴点ペアは、選択されたｋ個の特徴点ペアから除外しても良い。また、ＣＰＵ１１が、除外されていない特徴点ペア番号「１」，「３」〜「８」，「１０」，「１１」の中から、アキュムレータの値が一定値（＝３０）以上である、特徴点ペア番号「１」，「４」，「５」，「７」，「１１」の上位ｎ＝５個の特徴点ペアを選択しても良い。
【００９９】
図２４は、ステップＳ７０２〜Ｓ７０９の処理のループ回数、ステップＳ７０２で選択した特徴点ペア、判定値fitness、及び特徴点ペア番号１〜１１について得られるアキュムレータの値の一例を説明する図である。図２４は、説明の便宜上、基準値Ref1=0.8、基準値Ref2=0.1の場合の例を示す。図２４において、最終的なアキュムレータの値は、図２３におけるアキュムレータの値に相当する。
【０１００】
図２５は、例えば特徴点ペア番号が「２」，「９」である特徴点ペアを、選択されたｋ個の特徴点ペアから除外して最終的に選択したｎ＝５個の特徴点ペアを示す図である。図２５中、図１８と同一部分には同一符号を付し、その説明は省略する。なお、図示は省略するが、ＣＧ画像とカメラ画像の特徴点ペアも、図２５の場合と同様に除外したり、選択したりすることができる。
【０１０１】
なお、上記第１実施例では、仮想画像はＣＧ画像と法線画像の両方を含む。しかし、第２実施例のように、仮想画像はＣＧ画像と法線画像のうち一方のみを含んでも良い。つまり、第２実施例では、仮想画像は、ＣＧ画像と法線画像のうち少なくとも一方を含めば良い。また、仮想画像はデプス画像を含んでも良い。
【０１０２】
上記の各実施例では、利用者によるＧＵＩ上の調整（製造物の設計データと製造物の撮像画像の概ねの位置関係の教示）の終了に応答して、計測装置は、自動的に正確な重ね合わせ画像を得ることができる。画像上の特徴（線や点）が設計図面上のどの部分に対応するかを精度良く手動で教示する作業は不要である。このため、教示時間を短縮し、利用者のスキルの違いによる教示のバラツキ等を抑えることが可能となる。
【０１０３】
上記の各実施例によれば、製造物の撮像画像に製造物の設計データを重ね合わせて描画する際の重ね合わせの精度を向上することができる。
【０１０４】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索する第１の手段と、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定する第２の手段と、
初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録する第３の手段と、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する第４の手段と、
を備えたことを特徴とする、計測装置。
（付記２）
前記第１の手段は、
前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び法線画像を含む仮想画像をシミュレーションにより生成する生成手段と、
前記撮像画像と各仮想画像とから、局所特徴量のマッチングを用いて、画像の局所特徴量が類似する複数の特徴点ペアを探索する手段とを有することを特徴とする、付記１記載の計測装置。
（付記３）
前記生成手段は、前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、照明及び前記デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び前記デフォーカス量を変化させた複数の法線画像を含む複数の仮想画像をシミュレーションにより生成することを特徴とする、付記２記載の計測装置。
（付記４）
前記第４の手段は、前記探索した前記複数の特徴点ペアからランダムに選択した特徴点ペアから求まる座標間距離に関する所定条件、及び視線方向と位置に関する所定条件のうち少なくとも一方の所定条件を満たす複数の特徴点ペアを用いて、前記撮像画像と前記射影変換像とを重ね合わせて前記表示画面上に表示することを特徴とする、付記１乃至３のいずれか１項記載の計測装置。
（付記５）
前記第２の手段は、探索した前記複数の特徴点ペアを用いて前記仮の外部パラメータを計算する前に、前記表示画面上に表示された前記撮像画像の特徴点と前記仮想画像の対応する特徴点との間の距離が所定の距離以上離れている場合には、当該特徴点を探索した前記複数の特徴点ペアから除外することを特徴とする、付記１乃至４のいずれか１項記載の計測装置。
（付記６）
前記第３の手段は、前記仮想画像の特徴点と撮像画像の特徴点とで推定される外部パラメータから求まる撮像装置の視線方向と位置と、前記初期外部パラメータから求まる前記撮像装置の視線方向と位置が一定量以上ずれていている場合には、当該特徴点を信頼できる特徴点ペアとして記録しないことを特徴とする、付記１乃至５のいずれか１項記載の計測装置。
（付記７）
前記第４の手段は、
前記スコアの値が閾値以上である前記指定数の特徴点ペアを、ランダムに、或いは、前記スコアの値が高い順に選択し、
前記撮像画像と前記仮想画像の重ね合わせの状態を、前記撮像画像と前記仮想画像のエッジの重ね合わせの状態から評価する評価値で評価し、前記指定数の選択された特徴点ペアのうち、前記評価値が一定値以上である特徴点ペアを用いて前記最終的な外部パラメータを計算する
ことを特徴とする、付記１乃至６のいずれか１項記載の計測装置。
（付記８）
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索し、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定し、初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録し、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する、
処理をコンピュータが実行することを特徴とする、計測方法。
（付記９）
前記複数の特徴点ペアを探索する処理は、
前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び法線画像を含む仮想画像をシミュレーションにより生成し、
前記撮像画像と各仮想画像とから、局所特徴量のマッチングを用いて、画像の局所特徴量が類似する複数の特徴点ペアを探索する処理を含むことを特徴とする、付記８記載の計測方法。
（付記１０）
前記仮想画像をシミュレーションにより生成する処理は、前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、照明及び前記デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び前記デフォーカス量を変化させた複数の法線画像を含む複数の仮想画像をシミュレーションにより生成することを特徴とする、付記９記載の計測方法。
（付記１１）
前記表示する処理は、前記探索した前記複数の特徴点ペアからランダムに選択した特徴点ペアから求まる座標間距離に関する所定条件、及び視線方向と位置に関する所定条件のうち少なくとも一方の所定条件を満たす複数の特徴点ペアを用いて、前記撮像画像と前記射影変換像とを重ね合わせて前記表示画面上に表示することを特徴とする、付記８乃至１０のいずれか１項記載の計測方法。
（付記１２）
探索した前記複数の特徴点ペアを用いて前記仮の外部パラメータを計算する前に、前記表示画面上に表示された前記撮像画像の特徴点と前記仮想画像の対応する特徴点との間の距離が所定の距離以上離れている場合には、当該特徴点を信頼できる特徴点ペアとして記録しない、
処理を前記コンピュータが更に実行することを特徴とする、付記８乃至１１のいずれか１項記載の計測方法。
（付記１３）
前記記録する処理は、前記仮想画像の特徴点と撮像画像の特徴点とで推定される外部パラメータから求まる撮像装置の視線方向と位置と、前記初期外部パラメータから求まる前記撮像装置の視線方向と位置が一定量以上ずれていている場合には、当該特徴点を探索した前記複数の特徴点ペアから除外することを特徴とする、付記８乃至１２のいずれか１項記載の計測方法。
（付記１４）
撮像装置が撮像した被計測対象の撮像画像と、前記被計測対象の３次元設計データの射影変換像とが表示装置の表示画面上で概ね重なる状態で、局所特徴量のマッチングを用いて、前記撮像画像と、前記射影変換像から生成した仮想画像とから画像の局所特徴量が類似する複数の特徴点ペアを探索し、
探索した複数の特徴点ペアからランダムに選択した特徴点ペアから前記被計測対象に対する前記撮像装置の位置及び姿勢に関する仮の外部パラメータを推定し、初期外部パラメータと前記仮の外部パラメータを比較することで、前記仮の外部パラメータの信頼度を診断すると共に、前記信頼度が所定値以上である仮の外部パラメータを計算するのに用いた信頼できる特徴点ペアを記録し、
前記信頼できる特徴点ペアの中で、各特徴点ペアを形成する２つの特徴点の類似度を示すスコアの値が閾値以上である特徴点ペアを指定数だけ選択し、選択した特徴点ペアを用いて最終的な外部パラメータを推定し、前記最終的な外部パラメータを使用して前記撮像画像と前記射影変換像を重ね合わせて表示する、
処理をコンピュータに実行させるための計測プログラム。
（付記１５）
前記複数の特徴点ペアを探索する処理は、
前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び法線画像を含む仮想画像をシミュレーションにより生成し、
前記撮像画像と各仮想画像とから、局所特徴量のマッチングを用いて、画像の局所特徴量が類似する複数の特徴点ペアを探索する処理を含むことを特徴とする、付記１４記載の計測プログラム。
（付記１６）
前記仮想画像をシミュレーションにより生成する処理は、前記撮像画像と前記射影変換像とが前記表示画面上で概ね重なる状態で、前記初期外部パラメータを用いて、照明及び前記デフォーカス量を変化させた複数のコンピュータグラフィックス画像及び前記デフォーカス量を変化させた複数の法線画像を含む複数の仮想画像をシミュレーションにより生成することを特徴とする、付記１５記載の計測プログラム。
（付記１７）
前記表示する処理は、前記探索した前記複数の特徴点ペアからランダムに選択した特徴点ペアから求まる座標間距離に関する所定条件、及び視線方向と位置に関する所定条件のうち少なくとも一方の所定条件を満たす複数の特徴点ペアを用いて、前記撮像画像と前記射影変換像とを重ね合わせて前記表示画面上に表示することを特徴とする、付記１４乃至１６のいずれか１項記載の計測プログラム。
（付記１８）
探索した前記複数の特徴点ペアを用いて前記仮の外部パラメータを計算する前に、前記表示画面上に表示された前記撮像画像の特徴点と前記仮想画像の対応する特徴点との間の距離が所定の距離以上離れている場合には、当該特徴点を探索した前記複数の特徴点ペアから除外する、
処理を前記コンピュータに更に実行させることを特徴とする、付記１４乃至１７のいずれか１項記載の計測プログラム。
（付記１９）
前記記録する処理は、前記仮想画像の特徴点と撮像画像の特徴点とで推定される外部パラメータから求まる撮像装置の視線方向と位置と、前記初期外部パラメータから求まる前記撮像装置の視線方向と位置が一定量以上ずれていている場合には、当該特徴点を信頼できる特徴点ペアとして記録しないことを特徴とする、付記１４乃至１８のいずれか１項記載の計測プログラム。
（付記２０）
前記表示する処理は、
前記スコアの値が閾値以上である前記指定数の特徴点ペアを、ランダムに、或いは、前記スコアの値が高い順に選択し、
前記撮像画像と前記仮想画像の重ね合わせの状態を、前記撮像画像と前記仮想画像のエッジの重ね合わせの状態から評価する評価値で評価し、前記指定数の選択された特徴点ペアのうち、前記評価値が一定値以上である特徴点ペアを用いて前記最終的な外部パラメータを計算する
ことを特徴とする、付記１７乃至１９のいずれか１項記載の計測プログラム。
【０１０５】
以上、開示の計測装置、計測方法及び計測プログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【０１０６】
１      コンピュータ
１１      ＣＰＵ
１２      メモリ
１３      入力装置
１４      出力装置
１５      補助記憶装置
１６      媒体駆動装置
１７      ネットワーク接続装置
１８      バス
１９      可搬型記録媒体
２０      製造物
２１      計測装置
２２      処理ユニット
２３      カメラ
２４      記憶装置
２６      表示装置
３１      撮像制御部
３２      画像記憶部
３３      読み込み部
３４      決定部
３５      照明条件生成部
３６      ＣＧ画像生成部
３７      法線画像生成部
３８      デフォーカス付加部
３９      仮想画像記憶部
４０      ペア生成部
４１      計算部
４２      診断部
４３      計算部
【図１】
2020017096.tif 000005
【図２】
2020017096.tif 000006
【図３】
2020017096.tif 000007
【図４】
2020017096.tif 000008
【図５】
2020017096.tif 000009
【図６】
2020017096.tif 000010
【図７】
2020017096.tif 000011
【図８】
2020017096.tif 000012
【図９】
2020017096.tif 000013
【図１０】
2020017096.tif 000014
【図１１】
2020017096.tif 000015
【図１２】
2020017096.tif 000016
【図１３】
2020017096.tif 000017
【図１４】
2020017096.tif 000018
【図１５】
2020017096.tif 000019
【図１６】
2020017096.tif 000020
【図１７】
2020017096.tif 000021
【図１８】
2020017096.tif 000022
【図１９】
2020017096.tif 000023
【図２０】
2020017096.tif 000024
【図２１】
2020017096.tif 000025
【図２２】
2020017096.tif 000026
【図２３】
2020017096.tif 000027
【図２４】
2020017096.tif 000028
【図２５】
2020017096.tif 000029