(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0017】
(評価装置)
図1は、評価装置100の構成を示した図である。
図1(a)は、評価装置100の概略的な構成を示した機能ブロック図である。
図1(b)は、データ記憶部116のデータ構成を示す図である。
図1(a)に示すように、評価装置100は、外部I/F(インターフェイス)部110、CPU(Central Processing Unit)112、メモリ部114、データ記憶部116を含む構成とされ、外部I/F部110を介して3次元計測装置102が接続される。
【0018】
CPU112は、評価装置100全体を統括制御する。メモリ部114は、プログラム等が格納されたROM(Read Only Memory)、および、ワークエリアとしてのRAM(Random Access Memory)からなる。データ記憶部116は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などで構成される。
【0019】
図1(b)に示すように、データ記憶部116は、マスタデータ140、複数の模擬計測装置パラメータ142(142a〜142n)、環境データ144、複数の模擬データ146(146a〜146n)、基準アルゴリズム148、複数の評価アルゴリズム150(150a〜150n)が記憶される。なお、各データの内容について、詳しくは後述する。
【0020】
図1(a)に戻って、3次元計測装置102は、例えば、垂直方向および水平方向にそれぞれ0.009度のピッチで全方位に対してレーザを発射する3次元のレーザスキャナが適応される。なお、3次元計測装置102の計測誤差は±2mmである。
【0021】
3次元計測装置102は、垂直方向あるいは水平方向にそれぞれ1ピッチずつ変化させた方向にレーザを順に発射し、各方向において計測対象の計測点で反射されたレーザを受信する。そして、3次元計測装置102は、レーザの発射から受信までの時間に基づいて、レーザを発射した方向での計測点までの距離を算出する。そして、3次元計測装置102は、レーザを発射した方向および算出された距離に基づいて、計測点の3次元位置(x座標、y座標、z座標)を算出するとともに、受信したレーザの強度に基づいて反射強度を算出する。
【0022】
その後、3次元計測装置102は、全ての方向での計測点の3次元位置および反射強度の算出が終了すると、全ての計測点についての行番号(垂直方向の番号)、列番号(水平方向の番号)、x座標、y座標、z座標および反射強度が示されたマスタデータ140を生成する。なお、行番号は、水平面を基準として、垂直方向に1ピッチずれる毎に1ずつ増加される番号であり、列番号は、所定の垂直面を基準として、水平方向に1ピッチずれる毎に1ずつ増加される番号である。また、マスタデータ140には、各計測点について、RGB等の色彩の情報が示されていてもよい。
【0023】
したがって、この3次元計測装置102は、約40000点(垂直方向)×約40000点(水平方向)の計測点の3次元位置および反射強度が計測された高精細なマスタデータ140を生成することができる。
【0024】
CPU112は、メモリ部114のROMに格納された評価プログラムをRAMに展開して評価処理を実行する際、マスタデータ取得部120、模擬データ生成部122、基準アルゴリズム実行部124、評価アルゴリズム実行部126、結果比較部128、結果出力部130として機能する。また、模擬データ生成部122は、模擬計測範囲決定部122a、環境処理部122b、測距値模擬部122cおよび模擬データ記憶部122dとして機能する。
【0025】
マスタデータ取得部120は、3次元計測装置102で生成されたマスタデータ140を取得し、当該マスタデータ140をデータ記憶部116に記憶する。
【0026】
図2は、マスタデータ140の計測点200により形成される3次元空間に対して、模擬計測装置パラメータ142に基づく模擬計測範囲210、および、環境データ144に基づく散乱体220を配置する過程を示す説明図である。
図2(a)は、マスタデータ140の各計測点200を示す図である。
図2(b)は、マスタデータ140の各計測点200により形成される3次元空間に対して、模擬計測装置パラメータ142に基づく模擬計測範囲210を配置した図である。
図2(c)は、マスタデータ140の計測点200により形成される3次元空間に対して、模擬計測装置パラメータ142に基づく模擬計測範囲210、および、環境データ144に基づく散乱体220を配置した図である。
【0027】
模擬計測範囲決定部122aは、データ記憶部116に記憶されたマスタデータ140および模擬計測装置パラメータ142を読み出す。ここで、模擬計測装置パラメータ142は、例えば下記表1および表2に示すように、模擬の対象となる3次元計測装置(以下、これを模擬計測装置とも呼ぶ)の仕様、すなわち、視界、計測点ピッチ、計測点数、計測誤差、スポット径等の装置パラメータが、模擬計測装置毎に複数設けられ、各装置パラメータが予め設定された範囲内において変更可能となっている。なお、以下では、表1に示す模擬計測装置の仕様を模擬計測装置パラメータ142aとし、表2に示す模擬計測装置の仕様を模擬計測装置パラメータ142bとして説明する。
【0029】
【表2】
なお、表2における計測点ピッチのΔθは、水平方向および垂直方向のピッチ角度である。また、表1および表2において、スポット径を円形としているが、楕円形状としてもよい。
【0030】
模擬計測範囲決定部122aは、マスタデータ140の計測点200により形成される3次元空間に対して、模擬計測装置で計測されるであろう模擬計測範囲210(210a、210b、・・・)の数および方向(範囲)を模擬計測装置パラメータ142aに基づいて決定する。
【0031】
そして、模擬計測範囲決定部122aは、
図2(a)に示すマスタデータ140の計測点200(200
11、200
12、・・・、200
21、・・・、200
ij、・・・)により形成される3次元空間に対して、
図2(b)に示すように、決定された数および方向に模擬計測範囲210(210a、210b、・・・)を配置する。なお、3次元計測装置102は、模擬計測装置よりもピッチが狭く、かつ、スポット径が小さい仕様であるため、計測点200が模擬計測範囲210のスポット内に複数含まれることになる。
【0032】
環境処理部122bは、空間中にある雨、雪、塵等の計測環境を再現するために、環境データ144に基づき、マスタデータ140に対して雨、雪、塵等の散乱体220を付加する。環境データ144には、雨、雪、塵等の散乱体220が配置される3次元位置、個数、大きさ、レーザの反射率等のパラメータが記憶される。
【0033】
具体的には、環境処理部122bは、データ記憶部116に予め記憶された環境データ144を読み出し、
図2(c)に示すように、マスタデータ140の計測点200により形成される3次元空間に対して、環境データ144に示された3次元位置に散乱体220(220a〜220f)を配置する(
図2(c)中、△で表す。)。
【0034】
これにより、例えば、模擬計測範囲210aのスポット内には、計測点200
23、200
32、200
33、200
34、200
43、および散乱体220aが配置されることになる。
【0035】
図3は、模擬計測範囲210aの模擬測距値を算出する過程を説明する図である。測距値模擬部122cは、模擬計測範囲210内に配置された計測点200および散乱体220に基づいて、模擬計測範囲210の基準となる位置(以下、基準位置とも呼ぶ)からの距離を算出する。
【0036】
例えば、模擬計測範囲210aのスポット内に配置された計測点200
23、200
32、200
33、200
34、200
43、および散乱体220aが
図3(a)に示すような基準位置からの距離(時間)分布であったとする。すなわち、基準位置に近い順に散乱体220a、計測点200
23、200
33、200
32、200
34、200
43が並んでおり、また、計測点200
23、200
33および200
32が近接しており、計測点200
34および200
43が近接していたとする。
【0037】
この場合、測距値模擬部122cは、
図3(b)に示すように、模擬計測範囲210aのスポット内に配置される計測点200
23、200
32、200
33、200
34、200
43、および散乱体220aの距離を模擬計測装置の計測誤差に基づいて前後に移動させ、反射強度に基づいた大きさに対して、ガウシアン分布に従った誤差が付加されたガウス分布250a〜250fを算出する。なお、計測点200
23、200
32、200
33、200
34、200
43、および散乱体220aの距離を移動させる量は、例えば、模擬計測装置の測距精度が1cmである場合、σ=1cmのガウス型擬似乱数を生成して決定するが、他の誤差モデルにより決定してもよい。
【0038】
次に、測距値模擬部122cは、
図3(c)に示すように、ガウス分布250a〜250fを合成し、その結果として、ガウス分布250b〜250dが合成された合成分布260a、ガウス分布250e〜250fが合成された合成分布260bを算出する。
【0039】
そして、測距値模擬部122cは、ガウス分布250a、合成分布260aおよび260bを、模擬計測装置が反射光としてレーザを受信できるとされる閾値αと比較する。測距値模擬部122cは、
図3(d)に示すように、合成分布260aおよび260bにおける閾値α以上である範囲をパルス状に抽出し、抽出したパルス状の範囲を、模擬計測装置で計測される模擬距離270aおよび270bとして算出する。
【0040】
なお、
図3(d)においては、模擬計測装置が、計測対象で反射されたレーザを複数回にわたって受信できるマルチエコー対応である場合を想定しており、2つの模擬距離270aおよび270bが算出された。しかしながら、模擬計測装置が、計測対象で反射されたレーザを一回のみ受信できるシングルエコーのみに対応する場合、閾値α以上である合成分布260aおよび260bのうちの最も距離が基準となる位置に近い合成分布260aのパルス状の範囲だけが模擬距離270aとして算出されるようにしてもよい。
【0041】
測距値模擬部122cは、全ての模擬計測範囲210について模擬距離270を算出する。模擬データ記憶部122dは、模擬計測範囲210の方向、および測距値模擬部122cにより算出された模擬距離270を関連付け、全ての模擬計測範囲210の方向および模擬距離270が関連付けられた模擬データ146を生成し、データ記憶部116に記憶する。
【0042】
模擬データ生成部122は、全ての模擬計測装置パラメータ142について模擬データ146を生成し、データ記憶部116に記憶する。
【0043】
このようにして、模擬データ生成部122は、3次元計測装置102から取得したマスタデータ140に基づいて、複数の模擬計測装置で計測されるであろう模擬データ146を同一環境下で容易に生成することができる。
【0044】
ここで、
図4(a)は、3次元計測装置102により3次元位置が計測される計測対象を示す図である。
図4(b)は、
図4(a)に示す計測対象が3次元計測装置102により計測されることで得られたマスタデータ140の計測点200を示す図である。
図5(a)は、
図4(b)に示すマスタデータ140から模擬計測装置パラメータ142aに基づいて生成された模擬データ146aの模擬計測範囲210を示す図である。
図5(b)は、
図4(b)に示すマスタデータ140から模擬計測装置パラメータ142bに基づいて生成された模擬データ146bの模擬計測範囲210を示す図である。
【0045】
図4(b)に示すように、3次元計測装置102では高精細なマスタデータ140が生成されていることがわかる。また、
図5(a)および
図5(b)に示すように、評価装置100により、マスタデータ140から模擬計測装置パラメータ142aおよび142bに基づいて生成された模擬データ146aおよび146bは、模擬計測装置の仕様に合った計測対象の3次元位置が精度よく模擬できていることがわかる。
【0046】
このように、模擬データ生成部122は、3次元計測装置102から取得したマスタデータ140に基づいて、複数の模擬計測装置で計測されるであろう模擬データ146を同一環境下で容易に、かつ精度よく生成することができる。
【0047】
基準アルゴリズム実行部124は、データ記憶部116からマスタデータ140、および、3次元計測装置で計測された3次元位置を示す複数の計測点を物体単位で切り出す(セグメンテーション)際に使用される既知の基準アルゴリズム148を読み出す。そして、基準アルゴリズム実行部124は、マスタデータ140に対して基準アルゴリズム148を実行し、マスタデータ140の各計測点200同士がその距離や色調等によってグループ化され、同一のグループに含まれる全ての計測点200に対して同一の値が関連付けされる。すなわち、マスタデータ140の各計測点200を同一の値が関連付けられたセグメントごとに分割することになり、セグメントそれぞれが物体として切り出されることになる。基準アルゴリズム実行部124は、このような演算結果を基準値としてメモリ部114に記憶する。演算結果として得られる基準値は、マスタデータ140が高解像度であるため、精度よく物体が切り出されており、後述する評価アルゴリズムの指標として使用される。なお、基準アルゴリズム148は、例えば、PCL(Point Cloud Library)により提供されているEuclidean Cluster Extractionや、Region growing segmentationのような、一般に広く使用されて性能が既知となったアルゴリズムが適応される。
【0048】
評価アルゴリズム実行部126は、複数の模擬データ146(146a〜146n)の中から例えば模擬データ146aをデータ記憶部116から読み出す。また、評価アルゴリズム実行部126は、複数の評価アルゴリズム150(150a〜150n)の中から例えば評価アルゴリズム150aをデータ記憶部116から読み出す。
【0049】
ここで、評価アルゴリズム150は、3次元計測装置で計測された3次元位置を示す複数の計測点を切り出すアルゴリズムである。また、評価アルゴリズム150は、評価対象となるアルゴリズムであり、ユーザが開発したアルゴリズム、任意の論文等を通じて発表されたアルゴリズム等が適応される。また、評価アルゴリズム150は、複数の演算パラメータが外部から読み込めるようになっている。
【0050】
評価アルゴリズム実行部126は、模擬データ146aに対して評価アルゴリズム150aを実行し、模擬データ146aの模擬計測範囲210同士がその距離や色調等によってグループ化され、同一のグループに含まれる全ての模擬計測範囲210に対して同一の値が関連付けられる。すなわち、模擬データ146aの各模擬計測範囲210を同一の値が関連付けられたセグメントごとに分割することになり、セグメントそれぞれが物体として切り出されることになる。評価アルゴリズム実行部126は、このような演算結果を評価値としてメモリ部114に記憶する。
【0051】
評価アルゴリズム実行部126は、模擬データ146aに対する評価アルゴリズム150aの評価値を算出すると、複数の評価アルゴリズム150(150a〜150n)の中から例えば評価アルゴリズム150bをデータ記憶部116から読み出す。そして、評価アルゴリズム実行部126は、模擬データ146aに対して評価アルゴリズム150bを実行して評価値を算出すると、算出した評価値をメモリ部114に記憶する。
【0052】
このように、評価アルゴリズム実行部126は、模擬データ146aに対して、複数の評価アルゴリズム150の全てを順に実行して評価値を算出し、算出した評価値をメモリ部114に記憶する。
【0053】
次に、評価アルゴリズム実行部126は、複数の模擬データ146の中から例えば模擬データ146bをデータ記憶部116から読み出す。そして、評価アルゴリズム実行部126は、模擬データ146bに対して、複数の評価アルゴリズム150の全てを順に実行して評価値を算出し、算出した評価値をメモリ部114に記憶する。
【0054】
その後、評価アルゴリズム実行部126は、複数の模擬データ146のうちの評価値が算出されていない1つの模擬データ146をデータ記憶部116から順に読み出していき、読み出した模擬データ146に対して、複数の評価アルゴリズム150の全てを順に実行して評価値を算出し、算出した評価値をメモリ部114に記憶する。
【0055】
このように、評価アルゴリズム実行部126は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせについて評価値を算出する。
【0056】
結果比較部128は、基準アルゴリズム実行部124により演算結果として得られる基準値をメモリ部114から読み出し、基準値により示される、物体毎に切り分けられたマスタデータ140の計測点200のうち、検査対象とされる所定の物体に対応する値が関連付けられた計測点200のみが含まれる検査領域300(
図4(b)を参照)を設定する。
【0057】
そして、結果比較部128は、マスタデータ140における検査領域300の3次元座標に基づき、模擬データ146における検査領域300に対応する比較領域310(
図5(a)においては比較領域310a、
図5(b)においては比較領域310bとして示す)を設定し、当該比較領域310内の模擬計測範囲210の評価値を抽出する。
【0058】
図6は、模擬データ146bにおける比較領域310b内の模擬計測範囲210の評価値の一例を示す図である。
図6においては、基準値と評価値とが同一の値、すなわち、比較領域310b内の模擬計測範囲210のうち、検査領域300内の計測点200と同一の物体が切り出されたとされる模擬計測範囲210、すなわち同一のセグメントに分類されたとされる模擬計測範囲210を白丸で示す。また、基準値と評価値が異なった値、すなわち、比較領域310b内の模擬計測範囲210のうち、検査領域300内の計測点200と異なった物体が切り出されたとされる模擬計測範囲210、すなわち異なったセグメントに分類されたとされる模擬計測範囲210を黒丸で示す。
【0059】
図6に示すように、比較領域310b内には13個の模擬計測範囲210が含まれており、そのうち9個の模擬計測範囲210の評価値が基準値と同一で、4個の模擬計測範囲210の評価値が基準値と異なったとする。
【0060】
この場合、結果比較部128は、評価値と基準値とが同一である模擬計測範囲210の数である9を、比較領域310b内に含まれる模擬計測範囲210の総数である13で除算し、その結果得られる値である9/13を正解率として算出する。
【0061】
結果比較部128は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせについて正解率を算出する。
【0062】
表3は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせによる正解率を示す表である。表3に示すように、結果出力部130は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせについて正解率を評価結果として表示部(図示せず)等に出力する。
【表3】
【0063】
また、結果出力部130は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせについての正解率のうち、最も正解率が高かった組み合わせを選択する。そして、結果出力部130は、選択した正解率がユーザの指定する値(例えば、0.9以上)を満たしている場合には、その正解率が得られた模擬データ146bおよび評価アルゴリズム150bの組み合わせを最適結果として出力する。
【0064】
なお、正解率は、評価値と基準値とが同一である模擬計測範囲210の数を、比較領域310b内に含まれる模擬計測範囲210の総数で除算することで算出した。しかしながら、例えば、評価値と基準値とが同一である模擬計測範囲210と同じセグメントに分類された模擬計測範囲210が比較領域310外にも存在する場合、同じセグメントが他の物体を侵食したとして正解率を減ずるようにしてもよい。また、複数物体を別のセグメントに分離できていることを確認し、一切分類せずに全部の模擬計測範囲210が同じセグメントとなり正解率が100%になるのを防止するため、比較領域310を複数用意して、それらを統合した正解率を定義してもよい。
【0065】
このように、評価装置100では、高精細のマスタデータ140に対して既知の基準アルゴリズム148を実行することにより基準値を算出する。また、評価装置100では、複数の模擬データ146のそれぞれに対して、複数の評価アルゴリズム150をそれぞれ実行することにより、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせについて評価値を算出する。その後、評価装置100では、基準値に基づいて評価値の正解率を算出することで、最も正解率の高い模擬データ146と評価アルゴリズム150との組み合わせを最適結果として検出することができる。
【0066】
一方で、選択した正解率がユーザの指定する値を満たしていない場合、模擬データ生成部122は、複数の模擬計測装置パラメータ142をそれぞれ調整する。すなわち、模擬データ生成部122は、データ記憶部116に記憶された模擬計測装置パラメータ142のうちの、例えば計測点数、計測ピッチ等を予め設定された範囲内で変更し、変更した複数の模擬計測装置パラメータ142を用いて、再度、複数の模擬データ146を生成する。
【0067】
また、評価アルゴリズム実行部126は、複数の評価アルゴリズム150の演算パラメータをそれぞれ調整する。すなわち、評価アルゴリズム実行部126は、データ記憶部116に記憶された評価アルゴリズム150の演算パラメータを、予め設定された範囲内で変更し、演算パラメータを変更した評価アルゴリズム150を用いて、再度生成された複数の模擬データ146の評価値を算出する。
【0068】
結果比較部128は、再度生成された複数の模擬データ146と、演算パラメータが変更された複数の評価アルゴリズム150との全ての組み合わせについて算出された評価値の正解率を算出する。また、結果出力部130は、算出された正解率を出力するとともに、最も正解率が高かった組み合わせの正解率がユーザの指定する値を満たすか判断する。そして、最も正解率が高かった組み合わせの正解率がユーザの指定する値を満たしていない場合には、最も正解率が高かった組み合わせの正解率がユーザの指定する値を満たすまで、予め設定された範囲内で、模擬計測装置パラメータ142が変更され、評価アルゴリズム150の演算パラメータが変更される。そして、模擬データ146の生成、評価値の算出、正解率の算出、結果の出力が繰り返し行われる。
【0069】
これにより、評価装置100は、ユーザの指定する値を満たす正解率が得られるまで、予め設定された範囲内において模擬計測装置パラメータ142と評価アルゴリズム150の演算パラメータを変更していくことで、ユーザの指定する値を満たす正解率が得られた模擬データ146と評価アルゴリズム150との組み合わせを容易に検出することができる。
【0070】
(評価処理)
続いて、上記評価装置100を利用した評価処理(評価方法)について説明する。
【0071】
図7は、評価処理の流れを説明したフローチャートである。
図8は、模擬データ生成処理の流れを説明したフローチャートである。
図9は、基準値算出処理の流れを説明したフローチャートである。
図10は、評価値算出処理の流れを説明したフローチャートである。なお、
図8に示す模擬データ生成処理、
図9に示す基準値算出処理、
図10に示す評価値算出処理は、
図7に示す評価処理のサブルーチンである。
【0072】
図7に示すように、CPU112は、模擬計測装置パラメータ142において変更可能な範囲を設定する(ステップS100)。
【0073】
次に、CPU112は、模擬データ146を生成する模擬データ生成処理を実行する(ステップS102)。なお、模擬データ生成処理の詳細については後述する。
【0074】
次に、CPU112は、マスタデータ140に対して基準アルゴリズム148を実行して基準値を算出する基準値算出処理を実行する(ステップS104)。なお、基準値算出処理の詳細については後述する。
【0075】
次に、CPU112は、模擬データ146に対して評価アルゴリズム150を実行して評価値を算出する評価値算出処理を実行する(ステップS106)。なお、評価値算出処理の詳細については後述する。
【0076】
次に、CPU112は、上記ステップS104の基準値算出処理で算出された基準値により示される、物体毎に切り分けられたマスタデータ140の計測点200に基づいて、検査対象とされる所定の物体に対応する計測点200が含まれる検査領域300を設定する。そして、CPU112は、模擬データ146に対して検査領域300に対応する比較領域310を設定し、当該比較領域310内の模擬計測範囲210の評価値を抽出する。CPU112は、評価値が基準値と同一である模擬計測範囲210の数を、比較領域310b内に含まれる模擬計測範囲210の総数で除算した正解率を算出する(ステップS108)。
【0077】
CPU112は、複数の模擬データ146と、複数の評価アルゴリズム150との全ての組み合わせの正解率のうちの最大の値をとる正解率がユーザの指定する値を満たす最適結果があるかを判断する(ステップS110)。その結果、最大の値をとる正解率がユーザの指定する値を満たす最適結果であると判断した場合(ステップS110においてYES)、CPU112は、当該評価処理を終了する。
【0078】
一方、最大の値をとる正解率がユーザの指定する値を満たす最適結果でないと判断した場合(ステップS110においてNO)、CPU112は、模擬計測装置パラメータ142を変更し(ステップS112)、また、評価アルゴリズム150の演算パラメータを変更し(ステップS114)、ステップS102の処理に戻る。
【0079】
(模擬データ生成処理)
図8に示すように、CPU112は、3次元計測装置102からマスタデータ140を取得し(ステップS200)、データ記憶部116から模擬計測装置パラメータ142を読み出す(ステップS202)。そして、CPU112は、マスタデータ140の計測点200により形成される3次元空間に対して、模擬計測装置で計測されるであろう模擬計測範囲210の数および方向(範囲)を決定する(ステップS204)。
【0080】
また、CPU112は、データ記憶部116から環境データ144を読み出し(ステップS206)、マスタデータ140の計測点200により形成される3次元空間に対して、散乱体220を配置する(ステップS208)。
【0081】
その後、CPU112は、模擬計測範囲210のスポット内に配置される計測点200および散乱体220の距離を基準とした、模擬計測装置パラメータ142の計測誤差に応じたガウス分布250を算出し、当該ガウス分布250を合成した合成分布260を算出する。そして、CPU112は、合成分布260と閾値αとを比較して模擬計測範囲210の模擬距離270を算出する(ステップS210)。そして、CPU112は、模擬計測範囲210の方向および模擬距離270が関連付けられた模擬データ146を生成し、データ記憶部116に記憶する(ステップS212)。
【0082】
CPU112は、まだ模擬データ146が生成されていない次の模擬計測装置パラメータ142があるか判断する(ステップS214)。その結果、次の模擬計測装置パラメータ142があると判断した場合(ステップS214においてYES)、CPU112は、ステップS202の処理に戻り、次の模擬計測装置パラメータ142がなくなるまでステップS202〜S214の処理を繰り返す。
【0083】
一方、CPU112は、次の模擬計測装置パラメータ142がないと判断した場合(ステップS214においてNO)、CPU112は、模擬データ生成処理を終了する。
【0084】
(基準値算出処理)
図9に示すように、CPU112は、データ記憶部116からマスタデータ140を読み出し(ステップS300)、また、データ記憶部116から基準アルゴリズム148を読み出す(ステップS302)。そして、CPU112は、マスタデータ140に対して基準アルゴリズム148を実行し(ステップS304)、その結果得られる基準値をメモリ部114に記憶し(ステップS306)、当該基準値算出処理を終了する。
【0085】
(評価値算出処理)
図10に示すように、CPU112は、データ記憶部116から模擬データ146を読み出し(ステップS400)、また、データ記憶部116から評価アルゴリズム150を読み出す(ステップS402)。そして、CPU112は、模擬データ146に対して評価アルゴリズム150を実行し(ステップS404)、その結果得られる評価値をメモリ部114に記憶する(ステップS406)。
【0086】
CPU112は、次の評価アルゴリズム150があるかを判断し(ステップS408)、次の評価アルゴリズム150があると判断した場合(ステップS408においてYES)、ステップS402の処理に戻る。一方、次の評価アルゴリズム150がないと判断した場合(ステップS408においてNO)、CPU112は、次の模擬データ146があるかを判断する(ステップS410)。CPU112は、次の模擬データ146があると判断した場合(ステップS410においてYES)、ステップS400の処理に戻り、次の模擬データ146がないと判断した場合(ステップS410においてNO)、当該評価値算出処理を終了する。
【0087】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0088】
なお、上述した実施形態においては、模擬計測範囲210のスポット内に配置される計測点200および散乱体220の距離を基準とした、反射強度に応じたガウス分布250を算出するようにした。しかしながら、模擬計測範囲210のスポット内に配置される計測点200および散乱体220のうち、当該スポットの中心に近いほどガウス分布250の大きさを大きくするようにしてもよい。これにより、スポット内での光量分布をより反映した模擬距離270を算出することができる。
【0089】
また、上述した実施形態においては、模擬計測範囲210のスポット内に配置される計測点200および散乱体220の距離を基準とした、反射強度に応じたガウス分布250を算出し、当該ガウス分布250を合成した合成分布260を算出し、合成分布260と閾値αとを比較して模擬計測範囲210の模擬距離270を算出するようにした。しかしながら、模擬計測範囲210のスポット内に配置される計測点200および散乱体220のうち、最も距離が短い計測点200または散乱体220までの距離を模擬距離270とするようにしてもよい。また、模擬計測範囲210のスポット内に配置される計測点200および散乱体220のうち、最もスポットの中心に近い計測点200または散乱体220までの距離を模擬距離270とするようにしてもよい。
【0090】
また、上述した実施形態においては、模擬計測範囲210のスポット内に配置される計測点200および散乱体220のガウス分布250を算出し、ガウス分布250を合成することで合成分布260を算出するようにした。しかしながら、模擬計測範囲210のスポット内に配置される計測点200および散乱体220を矩形状分布とし、または、模擬計測装置において想定される波形形状分布とし、当該矩形状分布または波形形状分布を合成することで合成分布を算出するようにしてもよい。
【0091】
また、上述した実施形態においては、3次元計測装置102が模擬計測装置より高解像度で計測対象の3次元位置を計測できるようにした。しかしながら、3次元計測装置102が高解像度の3次元位置を計測できない場合、計測対象を複数計測し、それらを合成することで高解像度のマスタデータを生成するようにしてもよい。
【0092】
また、上述した実施形態においては、3次元計測装置102が模擬計測装置より高解像度で計測対象の3次元位置を計測してマスタデータ140を生成するようにした。しかしながら、3次元コンピュータグラフィックスソフトを用いて、仮想空間を定義し、仮想空間内で仮想物体を配置し、レイトレージングなどのシミュレーションによりマスタデータを生成するようにしてもよい。
【0093】
また、上述した実施形態においては、マスタデータ140から模擬計測装置パラメータ142に基づいて模擬データ146を生成するようにした。しかしながら、3次元コンピュータグラフィックスソフトを用いて、仮想空間を定義し、仮想空間内で仮想物体を配置し、レイトレージングなどのシミュレーションによりマスタデータよりも低精度な模擬データを生成するようにしてもよい。
【0094】
また、上述した実施形態においては、最も正解率が高かった模擬データ146および評価アルゴリズム150の組み合わせの正解率がユーザの指定する値を満たしていない場合には、模擬計測装置パラメータ142、および、評価アルゴリズム150の演算パラメータを変更するようにした。しかしながら、最も正解率が高かった組み合わせの正解率がユーザの指定する値を満たしていない場合には、模擬計測装置パラメータ142、および、評価アルゴリズム150の演算パラメータの一方だけを変更するようにしてもよく、また、変更しないで最も正解率の高い模擬データ146および評価アルゴリズム150の組み合わせを最適結果として出力するようにしてもよい。
【0095】
また、上述した実施形態においては、検査領域300内の計測点200の基準値と同一の値となる模擬計測範囲210の数を、比較領域310内の模擬計測範囲210の総数で除算することで正解率を算出するようにした。しかしながら、比較領域310内の模擬計測範囲210が異なる複数の評価値に分割されており、複数の物体であると判断される場合において、当該複数の物体が、比較領域310外の他の物体として切り出されていないと判断される場合には正解率を減算せず、他の物体として切り出されたと判断される場合には正解率を減算するようにしてもよい。例えば、異なる2つの物体が隣接している場合において、一方の物体に対して比較領域310が設定され、当該比較領域310内において、模擬計測範囲210が複数の評価値(複数のセグメント)に分割されていても、その複数の評価値の全てが、比較領域310外の他方の物体とされる評価値と異なる場合には、正しく物体が検出されていると判断して正解率を減算しない。すなわち、異なる複数の評価値を、一方の物体とされる同一の値に置換して正解率を算出する。これに対して、複数の評価値のいずれかが、他方の物体とされる評価値と同じ値である場合には正解率を減算する。この場合には、他方の物体と検出された評価値以外の評価値を一方の物体とされる同一の値に置換してもよい。