本発明に係る鋳型文字種別認識装置における、鋳型文字種別認識処理の基本的原理を、図1を用いて説明する。なお、この例では、鋳型文字種別認識装置は、鋳型文字が形成されている鋳物部品の表面から得られた三次元位置データからその形状の評価を行う物体形状評価システムに組み込まれている。この鋳型文字種別認識装置によって認識された文字ないしは文字列によって、当該鋳物部品の使用鋳型が特定され、その物体形状評価における基準データの選択に利用される。
まず、三角測量に原理に基づいて三次元測定を行う光切断方式によって測定対象物である鋳物部品の表面の三次元位置データが得られる(#001)。なお、図1では、鋳物部品の表面に形成された鋳型文字(ここでは数字の2)が、説明目的のためにデフォルメして描かれている。この光切断方式では、スリット光を測定対象物に照射し、測定対象物の表面形状に応じて追従する帯状の光をカメラで撮影し、その撮影画像内の結像位置から、点列のX、Y、Z値が演算される。このスリット光によって走査される測定対象物の全表面の測定点の三次元位置データが光切断画素位置情報(画像データとして取り扱うことができる)として生成され、以下に述べる鋳型文字種別認識のための測定点データとしてワークメモリに展開される(#002)。
メモリに展開された測定点データを、予め分かっている鋳型文字の鋳物部品における位置関係から鋳型文字領域に絞り込み、さらに鋳肌面からの所定高さ以上の高さ位置をもつだけの測定点データを抽出する(#003)。抽出された測定点データによって規定される文字測定形状と文字参照データ格納部から読み出された文字基準データにより規定される文字基準形状とを位置合わせする(#004-1,-2・・・)。位置合わせされた文字測定形状と文字基準形状との間の重ね合わせ差分量が算定され、その差分量がしきい値と比較され、文字認識判定が行われる(#005-1,-2・・・)。この位置合わせ処理と判定処理は、予め認識対象として格納されている全ての文字に対して逐次行われる。しきい値条件が満たされると(#006)、その文字基準形状が示す文字が文字測定形状の文字であると判定され、この位置合わせ処理と判定処理は終了し、文字認識結果としての認識文字(文字列)が出力される(#007)。
次に、先に述べた鋳型文字種別認識処理及びこれから述べられる物体形状評価処理の両方の処理において共通的に利用される、測定点群と基準点群との位置合わせの原理を図2の模式図を用いて説明する。
ここでも、測定対象物の表面の三次元位置データを得るために、三角測量に原理に基づいて三次元測定を行う光切断方式が用いられている(#01)。測定対象物の全表面の測定点の三次元位置データが測定点データとしてメモリに展開される(#02)。
なお、表面凹凸形状評価のための前準備として、測定対象物の表面全体の基準となる三次元データである全基準データと、測定対象物の表面に形成されているエッジの基準データであるエッジ基準データ(全基準データにエッジ検出フィルタ処理を施すことによって作り出すことができる)とが、鋳型別に鋳型識別コードによって抽出可能に格納されている。この説明では、鋳型識別コードが、この図1で模式的に示された鋳型文字種別認識処理で認識された文字(文字列)とする。
ワークメモリに展開された測定点データである測定点群に対してソーベルフィルタのようなエッジ検出フィルタをかけてエッジ検出処理を行う(#03)。このエッジ検出処理によって測定対象物表面のエッジ測定点群が生成される。さらに、鋳型文字種別認識処理で認識された文字(文字列)である鋳型識別コード、この例では、数字の「2」を検索キーとしてエッジ基準データが抽出される(#04)。次に、生成されたエッジ測定点群と、抽出されたエッジ基準データから読み出したエッジ基準点群とを対応付けて、エッジ測定点群をエッジ基準点群に近づける位置合わせを行う(#05)。
この位置合わせには後で詳しく説明するICP(iterative closest point)法に基づいて方法が適している。この方法では、その位置合わせにおいて合同変換パラメータとしてE(R,t)、R:回転行列、t:並進移動ベクトルを最小化するものを求める演算が所定のしきい値に達するまで繰り返される(#06)。エッジ測定点群とエッジ基準点群との位置合わせが終了し、最終的にエッジ測定点群をエッジ基準点群に近づける合同変換パラメータが得られる。先ほど説明した鋳型識別コードを検索キーとして、今回は全基準データが抽出される(#07)。得られた合同変換パラメータを用いて、全測定点データからの全測定点群を、全基準データから読み出した全基準点群に近づける位置合わせを行う(#08)。測定条件が良好な場合、これにより、目標通りに仕上げられている箇所の測定点群と基準点群とがほぼ重なり合う。もし、測定点と基準点とが所定以上に離れている場合、欠陥の可能性があるとみなされ、その箇所を特定した欠陥情報が得られることになる(#09)。
上述したような、鋳型文字種別認識アルゴリズムによって鋳型番号としての鋳型文字を認識する技術、及びそこで得られた鋳型番号に基づいて抽出されるエッジ基準データおよび全基準データを用いた位置合わせアルゴリズムによって物体形状を評価する技術を組み込んだ物体形状評価装置の一例を説明する。図3は、そのような物体形状評価装置の構成を模式的に示す斜視図である。
この物体形状評価装置は、測定装置部1と、測定物台2と、この測定装置部1及び測定物台2に対する測定動作制御及びその測定結果に対する評価を行うコントローラ3を備えている。測定装置部1は、測定系の主な構成要素として、スリット光を発生させるレーザタイプのスリット光源ユニット11aと、測定対象物のスリット光が照射されている領域を撮像する撮像ユニット11bとを備えている。このスリット光源ユニット11aと撮像ユニット11bとは測定ヘッドとして一体的に組み付けられている。また測定物台2は、主な構成要素として、基台23と、基台23に立設された門形フレーム22とを備えている。測定対象物のポジショニング機構として、基台23に対してY方向移動可能なように基台23に取り付けられているYステージ24と、このYステージ24に対してX方向移動可能なようにYステージ24に取り付けられているXステージ25と、このXステージ25に対して回転可能にXステージ25に取り付けられている回転テーブル21とが装備されている。この回転テーブル21の上に載置された測定対象物の表面のX−Y平面走査がXステージ25によるX方向走査とYステージ24によるY方向走査とによって可能となる。なお、測定ヘッド内にはスリット光源ユニット11aと撮像ユニット11bとを昇降させる昇降機構が備えられている。
スリット光源ユニット11aは、レーザスリット平行光投光器でありレーザスリット投光器12とシリンドリカルレンズ13とを含む。レーザスリット投光器12から出た扇状に拡がっていくスリット光はシリンドリカルレンズ13によってスリット光軸に平行な平行光に変換され、測定対象物を照射する。
撮像ユニット11bは、テレセントリック系レンズ群15と、面状に配置された多数の受光素子(CCDやCMOS)からなる撮像部16と、テレセントリック系レンズ群15の被写体側に配置されたP偏光板14とを備えている。テレセントリック系レンズ群6の採用は、画角ゼロで測定対象物上の複数の凹凸表面を死角なく撮像するためである。スリット光光源ユニット2からのスリット光が測定対象物の表面に照射され、そこで反射した反射光が、撮像ユニット11bの撮像光軸に沿って、P偏光板14とテレセントリック系レンズ群15とを通過して撮像部16に達するように設定されている。
コントローラ3は、実質的にはコンピュータユニットとして形成されており、光源制御部31、画像メモリ32、画像処理部33、三次元測定データ演算部34、評価ユニット100、昇降機構制御部35、回転テーブル制御部36、Xステージ制御部37、Yステージ制御部38を備えている。回転テーブル制御部36、Xステージ制御部37、Yステージ制御部38はそれぞれ、回転テーブル21、Xステージ25、Yステージ24の動作を制御して、測定対象物を測定平面(X−Y平面)内の適正な測定位置に設定し、測定対象物の全面を走査する。昇降機構制御部35は、スリット光源ユニット11aと撮像ユニット11bとの測定対象物に対する高さを調整する。
撮像ユニット11bからコントローラ3に送られてきた撮像画像(画像データ)は、画像メモリ32に展開される。さらに、必要に応じて、画像処理部33によって座標変換やレベル補正、エッジ検出などの画像処理を施され、スリット光による光切断線が検出される。三次元測定データ演算部34は、スリット光の照射点や照射角度、スリット光軸と撮像光軸とのなす角度が既知なので、画像処理部33で検出された光切断線の座標値から三角測量法に基づいて演算することで、光切断線つまり複数の直線状深溝を形成している測定対象物の3次元断面形状に対応する多数の測定点データ(距離画像)を得ることができる。ここでいう距離画像とは、測定点としての画素にその三次元位置座標値を割り当てた測定データである。なお、三角測量法に基づく演算に代えて、その演算結果を格納したテーブルを用いる方法を採用してもよい。三次元測定データ演算部34によって生成された測定点データは評価ユニット100に転送される。
評価ユニット100は、図4に示すように、本発明の鋳型文字種別検出装置の中核要素として機能する鋳型文字評価モジュール4と、表面評価モジュール5と、欠陥評価モジュール6と、基準データ変更モジュール7と、データ格納部8を備えている。鋳型文字評価モジュール4と表面評価モジュール5とは、入力された測定点データに対してICPなどの位置合わせアルゴリズムを用いて測定点群の基準点群への位置合わせを行う共通の機能を有するので、実際には統合されたモジュールとして構築されると好都合であるが、ここでは説明をしやすくするため、2つの要素として分けられている。表面評価モジュール5は、転送されてきた測定点データに、位置合わせアルゴリズムを適用して測定点群の基準点群への位置合わせを行い測定対象物の表眼形状を評価する。これに対して、鋳型文字評価モジュール4は、測定点データから抽出した鋳型文字部分に属する測定点群(文字測定形状)と文字基準点群(文字基準形状)との間の位置合わせを行い、文字測定形状と文字基準形状との重なり具合を示す差分量に基づいて文字種別を認識判定する。認識された文字は鋳型番号とみなされるので、この鋳型番号に基づいてこの測定対象物の製造に用いられた鋳型の型番号に応じて基準データを適切に選択することができる。これによって、型番号ごとの形状違いが欠陥として誤判定されることが防止される。
欠陥評価モジュール6は、表面評価モジュール5から出力された測定点群の基準点群への位置合わせ結果に基づいて測定対象物の表面欠陥を評価する。基準データ変更モジュール7は、鋳型の部分修正といったような要因によって製品許容範囲内での形状変更が生じた際に、この形状測定を通じてその基準データを変更する機能を有する。そのような基準データの変更は所定数の測定対象物単位で判定される。
データ格納部8には、文字基準データ格納部80と基準データ格納部81と欠陥情報格納部82と型修正情報格納部83が設けられている。文字基準データ格納部80は、鋳型文字(ここでは0から9までの数字)の表面形状を示す文字基準点データを格納する。この基準データはエッジ基準点データと全基準点データとに区分けされている。全基準点データは、鋳型文字の全面に渡って予め区分けされた所定ブロック毎に測定点に対応するように設定された理想形状を示すデータである。エッジ基準点データは、その全基準点データから展開された基準点群から、その基準点群によって規定される外形形状におけるエッジに対応する基準点だけを取り出したものである。
文字基準データ格納部80と類似しているが、基準データ格納部81は、測定対象物の表面形状を示す基準点データを格納する。基準データはエッジ基準点データと全基準点データとに区分けされている。全基準点データは、測定対象物の測定対象全面に渡って予め区分けされた所定ブロック毎に測定点に対応するように設定された理想的な仕上がり形状を示すデータである。エッジ基準点データは、その全基準点データから展開された基準点群から、その基準点群によって規定される外形形状におけるエッジに対応する基準点だけを取り出したものである。欠陥情報格納部82は、位置合わせが終了した状態で、基準点から所定以上に離れている測定点のうち所定の条件を満たすことで欠陥と判定された測定点の集まりに関する情報である欠陥情報を格納する。型修正情報格納部83は、後で詳しく説明されるが、表面欠陥評価の処理を通じて鋳型が修正された可能性がある部分に関する情報である型修正情報を格納する。
図5に示すように、鋳型文字評価モジュール4は、測定点データ入力部51と、鋳型文字抽出部42と、差分面積比率算定前処理部43と、鋳型文字種別評価手段44とを含んでいる。
測定点データ入力部51は三次元測定データ演算部34から測定点データを受け取り、鋳型文字抽出部42に転送する。鋳型文字抽出部42は、受け取った測定点データから、鋳型文字が含まれている領域の測定点データだけを切り出す。鋳型文字が形成されている領域は、予め分かっているので、その領域の測定点データを鋳型文字領域測定点データとして切り出すことができる。さらに、ここでは、鋳型文字は鋳肌面から浮き上がった凸面として形成されているので、鋳型文字領域だけを分離する分離しきい値を用いて凸面に含まれている鋳型文字を作り出している測定点データだけに絞り込むことで、最終的な鋳型文字測定点データとして出力する。分離しきい値は、鋳型文字の形成バラツキと、測定誤差と、鋳型の数十パーセントまでの磨耗とを考慮して、経験的及び実験的に導出される値である。
差分面積比率算定前処理部43は、後で詳しく説明されるが、対応する鋳型文字測定点と鋳型文字基準点との間の距離を逐次収束させる逐次収束処理に基づいて測定点と基準点とを位置合わせすることで鋳型文字の測定形状と鋳型文字の基準形状との姿勢を一致させる機能を果たす。このため、差分面積比率算定前処理部43は、エッジ検出部52と、点群対応付け部53と、重み演算部54と、収束評価部55と、合同変換パラメータ生成部56と、位置合わせ実行部57とを有する。エッジ検出部52は、測定点データに基づいて測定点群をワーキングメモリに展開し、ソーベルフィルタなどのエッジ検出フィルタを用いて測定対象物の表面におけるエッジに対応するエッジ測定点を検出して、エッジ測定点群からなるエッジ測定点データを生成する。点群対応付け部53は、前記所定ブロック単位で、前述した位置合わせアルゴリズムに基づいて測定点と基準点とを対応させる。点群対応付け部53は、説明をわかり易くするために、位置合わせの処理対象をエッジ測定点群とエッジ基準点群とするエッジ点群対応付け部53aと、位置合わせの処理対象を全測定点群と全基準点群とする全点群対応付け部53aとに区分けしているが、その演算機能は同じである。重み演算部54は、位置合わせ処理に用いられる重み係数を求める。ここで用いられる重み係数:wは、隣接点間距離重み係数:γiと対応点間距離重み係数:ρiとを乗算した値である。合同変換パラメータ生成部56は、対応付けされた基準点群に測定点群を位置合わせするための合同変換パラメータを求める。収束評価部55は、合同変換パラメータを用いて測定点群が基準点群に収束移動させようとする際にその逐次収束評価値を演算し、測定点群の移動が基準点群に逐次収束していくかどうかを評価する。位置合わせ実行部57は、合同変換パラメータ生成部56によって生成されるとともに収束評価部55で収束すると評価された合同変換パラメータを用いて測定点群の位置座標を変換する。
この差分面積比率算定前処理部43の中核的な機能は、対応する測定点群と基準点群との間の距離を逐次収束させる逐次収束処理に基づいて測定点群と基準点群とを位置合わせすることである。この機能は、実質的には点群対応付け部53と重み演算部54と収束評価部55と合同変換パラメータ生成部56と位置合わせ実行部57とによって作り出されるので、これらの機能部を一体化したものを位置合わせ処理手段50と称する。
差分面積比率算定前処理部43の位置合わせ処理手段50から出力される全位置合わせデータ、つまり鋳型文字の測定形状と前もって登録されている所定鋳型文字の基準形状との文字姿勢を合わせる文字姿勢合わせ情報は、鋳型文字種別評価手段44に与えられる。文字姿勢合わせ情報に基づいて鋳型文字種別を評価する鋳型文字種別評価手段44は、位置合わせされた測定形状と基準形状との間の相違を示す差分量を算定する差分算定部45と、当該差分量から前記測定形状が示す鋳型文字の文字種を特定する文字種別判定部46とを有する。差分算定部45は、測定形状が基準形状から外れている面積量に相当する正差分量と、前記基準形状が測定形状から外れている面積量に相当する逆差分量とを算定し、両者の大きい方を差分量として選択する。さらに、この選択された差分量は、対応する基準形状の文字の外接正方形の面積量で正規化され、文字種別判定部46に転送される。
文字種別判定部46は、受け取った差分量を、予め設定されたしきい値と比較して、当該差分量がしきい値を下回った場合、その基準形状の文字が測定形状の文字であると認識し、その認識した文字(文字列を含む)を認識結果として出力する。この認識結果は鋳物部品の識別情報であるので、測定対象物としての鋳物部品及び当該鋳物部品の鋳型を特定するために表面評価モジュール5に送られる。
この文字種別判定部46に用いられている文字種別判定のしきい値を設定するしくみを図19及び図20を用いて説明する。図19は、0から9までの数字を全ての組み合わせで重ね合わせて得られた正規化された差分面積である差分面積比率の最小値を数字毎に示したグラフである。図20は、位置合わせされた測定形状と基準形状との間の相違を示す差分量を算定する差分算定部45の原理を模式的に示している。この例では、測定形状(数字「2」を示している)が上位(差分される側)に位置し、基準形状(数字「1」を示している)が下位(差分する側)に位置している。このケースでは、「2」を構成する文字領域のうち、「1」を構成する文字領域が重なっていない領域が差分面積として算定され、さらに特定文字の縦長と横長との大きい方を一片とした正方形の面積でその差分面積を除算することで差分面積比率(%)を得る。0から9までの数字をもつ測定形状に対して、同様に0から9までの数字をもつ基準形状を当てはめて得られた実験結果が図19に示されている。図19において、太実線は、測定バラツキを考慮しないで、0から9までの数字に対して異なる数字を合わせた場合での最小の差分面積比率を示す線である。太点線は、測定バラツキを考慮して、0から9までの数字に対して異なる数字を合わせた場合での最小の差分面積比率を示す線である。細実線は、測定バラツキを考慮しないで、0から9までの数字に対して同じ数字を合わせた場合での差分面積比率を示す線である。細点線は、測定バラツキを考慮して、0から9までの数字に対して同じ数字を合わせた場合での差分面積比率を示す線である。この図19から、文字種別判定のしきい値を一点鎖線で示すように、異なる数字をあわせて得られた太点線と同じ数字を合わせて得られた細点線との間に引かれた線から求めることで、確実に数字を認識できることが理解できる。つまり、測定形状に対して0から9までの数字に対応する基準形状を順次合わせて差分面積比率を算定し、その算定値がこのしきい値、ここでは1.9を下回れば、その基準形状の数字が測定形状が示している数字であると判定することができる。
なお、この実施形態では、差分面積比率の算定では、測定形状を上位に位置させた算定と、基準形状を上位に位置させた算定の2つの算定で行い、その大きい方の差分面積比率を選択するという手法を採用している。
図6に示すように、表面評価モジュール5は、処理対象となるデータが異なるだけで、舎利内容は、実質的には上述した鋳型文字評価モジュール4と同じであり、測定点データ入力部51と、エッジ検出部52と、点群対応付け部53と、重み演算部54と、収束評価部55と、合同変換パラメータ生成部56と、位置合わせ実行部57とを有する。表面評価モジュール5による処理内容を概略的に説明すれば、
(1)三次元測定データ演算部34から測定点データを受け取り、鋳型文字評価モジュール4から上述した認識結果を受け取る。
(2)エッジ点群対応付け部53aによって対応付けられたエッジ測定点群とエッジ基準点群との位置合わせ結果をエッジ位置合わせデータとして生成する、
(3)このエッジ位置合わせデータに基づいて、全点群対応付け部53bによって対応付けられた全測定点群と全基準点群との位置合わせ結果を全位置合わせデータとして生成する、
(4)全位置合わせデータを欠陥評価モジュール6に出力する、
となる。鋳型文字評価モジュール4から受け取った認識結果(鋳型番号)は、エッジ基準点群や全基準点群を基準データ格納部81から抽出するための検索キーとして利用される。
図7に示すように、表面欠陥評価手段として機能する表面欠陥評価モジュール6は、誤対応測定点群抽出部61と、欠陥判定部62と、型修正評価部63と、型修正箇所情報登録部64と、欠陥特徴量演算部65とを有する。誤対応測定点群抽出部61は、後で詳しく説明する表面欠陥判定条件に基づいて、対応する測定点と基準点との間の対応点間距離が第1しきい値より大きい測定点を誤対応測定点とみなしていくことで誤対応測定点群(誤対応領域)を抽出する。欠陥判定部62は、抽出された誤対応測定点群に含まれる誤対応測定点のうち隣接する測定点との距離が第2しきい値より小さい近傍測定点の数が第3しきい値より大きい時に当該近傍測定点を含む領域を表面欠陥の可能性があると判定し、その欠陥情報を記述した欠陥データを出力する。
欠陥特徴量演算部65は、欠陥判定部62によって判定された欠陥(表面欠陥:めくれ、へこみ、剥がれなど)の欠陥サイズや欠陥重心などといった欠陥特徴量を算定し、その欠陥の三次元位置ともに欠陥情報として欠陥情報格納部82に格納する。測定対象物が鋳型製作されるような製品の場合、ロット生産の途中で鋳型の一部を修正した場合、正常に製作された製品の形状と基準点データによる形状が一致しなくなり、その不一致を欠陥とみなすという問題が生じる。型修正評価部63は、この問題を解決すべく、欠陥判定部62によって判定された欠陥が使用された鋳型を部分的に修正したために生じたものであるかどうかを欠陥情報を参照してチェックする機能を有する。型修正評価部63が、受け取った欠陥データに対応する欠陥領域が型修正によるものではないと評価した場合、欠陥判定部62に型修正なしが通知されるので、欠陥判定部62はその欠陥領域を欠陥と確定する。型修正評価部63が、受け取った欠陥データに対応する欠陥領域が型修正によるものであると評価した場合、その欠陥領域が型修正によるという評価結果を型修正箇所情報登録部64も出力する。型修正箇所情報登録部64は、この評価結果を受けて生成された型修正箇所情報を型修正箇所情報格納部83に登録する。
この実施の形態ではさらに、欠陥判定部62によって判定された欠陥に対応している基準点群と測定点群との間の類似度を演算してこの類似度を欠陥情報として欠陥情報格納部82に格納する類似度演算部66が備えられている。従って、欠陥特徴量演算部65は、判定された欠陥が使用された鋳型を部分的に修正したために生じたものであるかどうかをチェックする際に、この類似度を参照することができる。類似度は、その欠陥に含まれる基準点群によって規定される表面形状とその欠陥に含まれる測定点群によって規定される表面形状との類似度を直接的にあるいは間接的に表せるものであればよい。直接的な類似度としては欠陥サイズに対応する等価楕円長軸長さ(長さが近似するほど類似度は大きいことになる)など、間接的な類似度としては基準点群と測定点群との平均対応距離(距離が短いほど類似度は大きいとみなすことができる)などが挙げられる。
測定対象物が鋳型製作されるような製品の場合、所定数の製品が製作されると磨耗等によって鋳型に寸法変動が生じる。このような寸法変動は、製品が正常に製作されているにもかかわらず、その測定点データと基準データとの間のずれが生じる。このずれを欠陥と判定することを避けるためには、そのようなずれが生じる領域の基準データを正常に製作された製品の測定点データによって修正することが好ましい。この目的のために設けられた基準データ変更モジュール7は、図8に示すように、データ入力部71と測定点データ形状評価部72と基準データ変更部73とを有する。データ入力部71は、表面評価モジュール5で生成された測定点データと製品設計データである形状データを受け取り、内部処理可能な形式に変換して測定点データ形状評価部72に転送する。測定点データ形状評価部72が測定点データと製品設計データとを比較して製品が設計寸法の許容範囲であると評価すると、基準データ変更部73が基準データ格納部81にアクセスして、この測定点データで基準データを変更する。なお、このような基準データの変更は、同様な手順で文字基準データに対して行われる。
上述したように構成された物体形状評価装置を用いた、鋳型文字の認識処理と、その認識結果も用いた測定対象物の形状評価処理の基本的な流れを図9から図17に示されたフローチャートを用いて以下に説明する。図9と図10には、測定対象物の基本的な検査手順を示すフローチャートが示されている。ここでの測定対象物は、長方形のプレート体に表面に多数の直線状の深溝が形成されたもので、その測定領域は400mm×300mm程度とする。この測定領域は100mm×15mmの測定ブロックに区分けされている。1回のX軸方向走査で4つの測定ブロックを走査して、走査ピッチと撮像解像度によって規定される測定単位での直線状深溝の3次元断面形状位置を表す測定点データを取得して、測定ブロック毎に区分けしてメモリに格納する。1回のX軸方向走査が完了する毎に所定ピッチ
でY軸方向移動を行い、次の測定ブロックに対するX軸方向走査を逆方向で行う。このような、X軸方向走査とY軸方向移動を繰り返すことで、全測定領域における直線状深溝の測定点データを取得する。さらに、測定死角の発生を考慮して、測定対象物を90度回転させた状態で、再度同じ測定領域における測定を行う。なお、取得した測定点データを用いた測定対象物の測定結果に対する評価は、つまり測定対象物に対する検査は、各ブロック単位で行われ、各ブロック単位での検査結果をまとめて、最終的な総合判定が行われる。
上述した検査を行うために、定対象物が回転テーブル21にセットされる(#1)。図示されていない測定開始ボタンが操作されると(#2Yes分岐)、測定が開始される。まず、光源制御部31によってレーザスリット投光器12がONされ、スリット光が照射される(#3)。測定開始ポイントである1番目の測定ブロックの左エッジがスリット光によって照射されるように、X方向走査機構及びY方向走査機構、回転テーブル21を動作させる(#4)。Xステージ25を正方向に定速移動させながらX軸方向走査を行う(#5)。それとともに、撮像ユニット11bからの画像データを画像メモリ32に転送する(#6)。スリット光が測定対象物の側端に達すると(#7Yes分岐)、X軸方向走査を停止する(#8)。X軸方向走査を停止すると、画像処理部33は、転送された画像データを処理し、その光切断線画素位置情報を生成する(#9)。この光切断線画素位置情報から、三次元測定データ演算部34は、画素位置とその画素位置から三角測量法に基づいて演算された三次元位置との関係を格納したテーブルを利用して、光切断線画素位置情報に基づき深溝の三次元座標値を読み出し、この値を測定点データとして各測定点に対応付けられたメモリアドレスに転送する(#10)。測定データから測定対象の鋳型文字を抽出する鋳型文字部分抽出ルーチンを実行する(#11)。
この鋳型文字部分抽出ルーチンは図11に示すように、測定データ全点が読み出され(#100)、あらかじめ文字付近に登録しておいた計測開始地点のX、Y座標を読み出し計測し(#101)、あらかじめ設定された大きさの面積を切り出し部分として登録し(#102)、切り出す(#103)。次に文字と鋳肌面を分離するため、鋳肌面を含む切り出し文字の平均高さとバラツキ係数を演算し(#104)、平均高さ+バラツキ係数以上の高さ部分を鋳型文字領域として登録する(#105)。このとき、切り出した文字を基準データの文字として登録したい場合は、文字の縦長・横長を測定し、大きい方を一辺とした正方形を基準データの文字の大きさとして登録する。
次に、切り出し文字の重心点を求めるために重心点算出ルーチンを行う、この重心点算出ルーチンは図12に示すように、測定点データから文字点群が読み出される(#200)。この全点群における隣接点の距離を調べ、一定距離内の点群を一つの点群とする(#201)。このとき、ノイズも一つの点群として、各々の点群の重心点を算出する(#202)。文字の重心点の数が2つ以上だった場合(#13No分岐)、複数ある重心点の重心座標図形を選択する重心座標図形選択ルーチンを実行する(#14)。この重心座標図形表示ルーチンは図13に示すように、重心点の数が設定数以下かを判断し、設定数以下ならば(#300Yes分岐)、重心の位置が予め設定した文字位置範囲内にある点群を仮文字点群として登録する(#301)。設定数より大きければ(#300No分岐)、選択された重心の点群数が設定最小範囲以下かを判断し、最小範囲以下ならば(#302Yes分岐)、選択点群のノイズとして文字候補から除外する(#303)。設定最小範囲以上ならば(#302No分岐)、残りの点群のうち、重心の位置が予め設定した文字位置範囲内にある点群を仮文字点群として登録する(#301)。選択した仮文字点群を仮選択状態にしてサブ画面に図形表示する(#304)。次に登録ボタンによって選択された点群を文字点群データとして登録する(#305)。ここで、文字認識は重心位置が設定範囲内にある文字を対象とし、サブ画面にて重心の範囲を設定可とする。
重心座標図形表示ルーチンが終了するか、あるいは文字の重心点の数が1つだった場合(#13Yes分岐)、測定データから測定対象の縁を抽出するエッジ抽出ルーチンを実行する(#15)。このエッジ抽出ルーチンは図14に示すように、測定データ全点が読み出され(#400)、あるしきい値以上の微分値をエッジとしてメモリに保存する(#401)。
図14に示された、全点測定点データ読み出し(#400)とエッジ基準点抽出・保存(#401)とからなるエッジ抽出ルーチンによって文字のエッジを抽出した後(#15)、鋳型文字評価モジュール4が上述した位置合わせアルゴリズムを用いて測定点のエッジデータと基準点のエッジデータの位置合わせを行う位置合わせルーチンを実行する(#16)。この位置合わせルーチンでは、図15に示すように、エッジの測定点データが読み出され(#500)、さらにその測定点群に対応するエッジの基準点データが読み出される(#501)。もっとも小さい対応点距離を有するように測定点を基準点を対応付ける(#502)。対応点間距離の基づいた重み係数と隣接点間距離にも続いた重み係数を算出し、これらを掛け合わせてトータル重み係数を求める(#503)。さらに、このトータル重み係数と対応点間距離を用いて、逐次収束評価値を算出する(#504)。算出された逐次収束評価値に基づいてこの対応付けられた対応点群が逐次収束しているかどうかチェックされる(#505)。収束しない場合(#505No分岐)、ステップ#502に戻り再度測定点と基準点との対応付けを行う。収束する場合(#505Yes分岐)、対
応点群が出来る限り一致するような合同変換パラメータを生成する(#506)。生成された合同変換パラメータを用いてエッジ測定点群の位置座標を変換し、エッジ測定点群(#507)および全点測定群を移動させる(#508)。エッジ測定点群の移動後とエッジ基準点群とから平均対応距離を算出し、(#509)。算出された平均対応距離をと予め設定されたしきい値を比較して、終了条件が満たされたかどうかチェックされる(#510)。尚、このチェックステップにおいて、上限の繰り返し回数を付加的に設定しておくと好都合である、終了条件が満たされていない場合(#510No分岐)、ステップ#502に戻り、移動後の測定点と基準点との対応付けを行う、終了条件が満たされた場合(#510Yes分岐)、この位置合わせルーチンを終了する。
次に全点による位置合わせルーチン(#17)を実施する。この位置合わせルーチンでは、図16に示すように、測定点データが読み出され(#600)、さらにその測定点群に対応する全基準点データが読み出される(#601)。もっとも小さい対応点距離を有するように測定点と基準点を対応付ける(#602)。対応点間距離の基づいた重み係数と隣接点間距離に基づいた重み係数を算出し、これらを掛け合わせてトータル重み係数を求める(#603)。さらに、このトータル重み係数と対応点間距離を用いて、逐次収束評価を算出する(#604)。算出された逐次収束評価に基づいてこの対応付けられた対応点群が逐次収束しているかどうかチェックされる(#605)。収束しない場合(#605No分岐)、ステップ#602に戻り再度測定点と基準点との対応付けを行う、収束する場合(#605Yes分岐)、対応点群ができる限り一致するような合同変換パラメータを生成する(#606)。生成された合同変換パラメータを用いて全測定点群の位置座標を変換し、全測定点群を移動させる(#607)。全測定点群の移動後と全基準点群とから平均対応距離を算出し、(#608)。算出された平均対応距離と予め設定されたしきい値を比較して、終了条件が満たされたかどうかチェックされる(#609)。なお、このチェックステップにおいて、上限の繰り返し回数を付加的に設定しておくと好都合である。収束条件が満たされていない場合(#609No分岐)、ステップ#602に戻り、移動後の測定点と基準点との対応付けを行う、終了条件が満たされた場合(#609Yes分岐)、この位置合わせルーチンを終了する。
位置合わせルーチンが終了すると、基準データの文字点群と測定データの文字点群との差分面積比率を計算する差分面積比率算出ルーチン(#18)を実行する。この差分面積比率算出ルーチンでは、図17に示すように、基準データから対応点間距離しきい値を用いて、対応点間距離がしきい値以上となる測定点の集合体(特定測定点群)を誤対応領域として抽出する処理を実行する(#700)。このとき、Z軸方向のずれを考慮せず、XY軸方向のずれのみを誤対応領域として考慮する。誤対応領域が抽出されなかった場合(#701No分岐)、ステップ#705へジャンプする。誤対応領域が抽出された場合(#701Yes分岐)、語対応領域に含まれている測定点間の隣接点間距離が予め設定されている隣接店間距離しきい値以下となる集合を一塊として、塊ごとに番号を付けるラベリングを行い(#702)、各ラベルの塊ごとに特徴量(重心)を算出する(#703)。全ラベリング番号の点群数の合計を差分面積として登録する(#704)。このとき差分面積を、測定点群と基準点群の入れ替え前(S1:基準データ)、入れ替え後(S2:測定データとして登録する、次に測定点群と基準点群の入れ替えを行っていなければ(#705No分岐)、測定点群と基準点軍を入れ替えて(#706)ステップ#700に戻り、誤対応領域抽出処理、ラベリング、差分面積登録を行う。測定点群と基準点群を入れ替え済ならば、(#705Yes分岐)、差分面積S1とS2の大きい方を抽出差分面積として登録し(#707)、差分面積比率を計算する(#708)。ここで差分面積比率とは、抽出差分面積を特定の文字の縦長・横長の大きい方を一辺とした正方形の大きさで割った面積とする。
算出した差分面積比率と判定しきい値を比較し、差分面積比率がしきい値未満ならば(#19Yes分岐)、測定データが同じ型番であることをサブ画面に表示する。差分面積比率がしきい値より大きければ(#19No分岐)、測定データが異なる型番であることをサブ画面に表示し、測定データを新規型番の基準データとして登録するかどうかを選択することができる(#20)。なお、差分面積比率の判定しきい値は設定変更可能である。新しい文字と判断した場合、全体をスキャンしてマスター登録を行うことができる(#21)。
文字認識により型番を判別した後、それと一致する専用のマスターを基準データとして設定し(#22)、測定物全体の欠陥判別照合を行う。まず、鋳型文字の読み取り走査と同様に、測定画像データを取得し(#23)、そこから測定点データを算出する(#24)。測定データから測定対象のエッジを抽出するエッジ抽出ルーチンを実行する(#25)。次に測定点のエッジデータと基準点のエッジデータの位置合わせを行う位置合わせルーチンを実行する(#26)。次に全点による位置合わせルーチンを実行する(#27)。位置合わせルーチンが終了すると、表面欠陥領域の検出を行う欠陥判定ルーチンを実行する(#28)。この欠陥判定ルーチンでは、対応点間距離しきい値を用いて、対応点間距離がしきい値以上となる測定点の集合体(特定測定点群)を誤対応領域として抽出する処理を実行する。欠陥判定ルーチンが終了すると、型修正による形状違い判定ルーチンを実行する(#29)。最後に走査対象個所が残っていないことを確認した後、全ての測定ブロックにおける欠陥評価結果に基づいてOK・NG判定を行う(#30)。
この実施形態で採用されている、測定点群と基準点群との位置合わせアルゴリズムを、図18の模式図を用いて説明する。この位置合わせアルゴリズムでは、基準点群と測定点群との位置合わせを行う逐次収束処理としてICPアルゴリズムに基づいた方法が採用されている。このICPアルゴリズムでは、図18で模式的に示されているように、基準点群(基準点データ)の各点について最も近い測定点群(測定点データ)の点を対応点とし、各対応点距離の2乗和を最小とする合同変換パラメータを推定して、逐次収束させていく。このようなICPアルゴリズムによる位置合わせでは、図18で示しているような等測定走査ピッチで測定点を決定していくような形状測定の場合、測定面の姿勢によっては僅かな走査ピッチのずれが大きな測定点のずれを導くことになる(図18では、測定点S4、S5、S6がこれに当てはまる)。従って、想定している位置座標と実際の位置座標と
の誤差が大きいことが予想される測定点とそれに対応する基準点とをそのまま逐次収束処理における逐次収束評価に用いることは好ましくない。このような問題を回避するため、本発明で適用されている改善されたICPアルゴリズムでは、以下に説明するような重み係数を取り入れている。
図18では、基準点群(基準点データ):Mに含まれる基準点はmで示されており、測定順序に対応させて添え字(自然数)が付与されている。測定点群(測定点データ):Sに含まれる測定点はsで示されており、基準点と同様に測定順序に対応させて添え字(自然数)が付与されている。測定点群を基準点群に重ねる位置決めのための従来のICPアルゴリズムを用いた逐次収束処理では、測定点群中の各測定点について基準点群の中で最も近い基準点を対応点とし、各対応点間の距離の2乗和が最小となる合同変換パラメータ(R、t)が求められる。ここで、Rは回転行列で、tは並進移動ベクトルである。その際、対応する基準点と測定点の組み合わせの中で、上述した大きい誤差が予想される測定点との組み合わせたものを他の組み合わせと同様に扱うと無視できない誤差の影響を受ける可能性がある。従って、測定点又は前記基準点の隣接点間距離に基づいて隣接点間距離重み係数を割り当て、その悪影響を抑制する。ここでは、基準点の間の隣接点間距離に基づいてその対応点間の距離に対する重み係数を算定することにするが、もちろん測定点の間の隣接点間距離に基づいてその対応点間の距離に対する重み係数を算定してもよい。
三次元座標(xi,yi,zi)を有する基準点:miの隣接点間距離:diは、三平方の定理で求められ、その二乗は、
di2=xi2+yi2+zi2となる。
隣接点間距離重み係数:γiは、重み関数をΓとすると、
γi=Γ(di2)で求められる。
例えば、重み関数:Γを次のようなしきい値関数とすると好都合である。
di2がしきい値:dth以上の時、γi=0.01
di2がしきい値:dth未満の時、γi=1
しきい値:dthは基準点群や測定点群の特性によって適切に決めることにより、想定している位置座標と実際の位置座標との誤差が大きいことが予想される測定点とそれに対応する基準点とが逐次収束評価に及ぼす悪影響を抑制することができる。
なお、このようなICPアルゴリズムに基づく位置合わせにおいて、上述した非特許文献に開示されているようなM推定を用いることが有用である。図18を用いて、M推定を導入したICPアルゴリズムを簡単に説明する。このM推定の導入は、対応する測定点と基準点との間の対応点間距離に基づいて決定された対応点間距離重み係数を逐次収束処理における逐次収束評価に用いることである。例えば、対応点間距離をeiとすると、対応点間距離重み係数:ρiは、重み関数をΡとすると、
ρi=Ρ(ei) で求められる。ここでも、重み関数:Ρを次のようなしきい値関数とすることができる;
|ei|が設定幅:Bi以下の時、
ρi=(Bi2/2 )(1−(1−(ei/Bi)2)
|ei|が設定幅:Biを越える時、
ρi=(Bi2/2 )。
隣接点間距離重み係数:γiに加えて対応点間距離重み係数:ρiも逐次収束評価に用いる場合には、トータル重み係数:wは、隣接点間距離重み係数:γiと対応点間距離重み係数:ρiとをパラメータとする関数から導くことができる。従って、逐次収束処理における逐次収束評価値:Jは、対応点の数をNとすれば、対応点間距離:eiと対応点間距離重み係数:ρiと隣接点間距離重み係数:γiとをパラメータとする評価関数:Hを用いて導出することができる。
J=(1/N)ΣH(ei,ρi,γi)
演算を簡単化するために、トータル重み係数:wiを各重み係数の乗算とすれば、
J=(1/N)ΣH(ei,wi)、wi=ρi×γi
となる。
次に、上述したアルゴリズムを用いて位置合わせされた基準点群(基準点データ)と測定点群(測定点データ)とから、効率的にめくり上がりなどの特定の表面欠陥を判定する基本的なアルゴリズムを図18の下側の模式図を用いて説明する。
まず、対応点間距離:eiが予め設定されている対応点間距離しきい値(第1しきい値):TA以上となる連続した測定点群を誤対応領域として抽出する。図2では、測定点S4、S5、S6が抽出されている。さらに、誤対応領域に属する測定点の分布密度が算定される。簡単に分布密度を算定するため、例えば、それらの測定点の隣接点間距離:diを用いることができる。つまり、隣接点間距離:diが予め設定されている隣接点間距離しきい値(第2しきい値):TL以上となる測定点を近傍測定点とみなす。これにより、所定以上の分布密度を有する対応点(近傍測定点)が抽出されたことになる。さらに、この近傍測定点の数が予め設定されている近傍点数しきい値(第3しきい値):TC以上となるかどうかチェックされる。近傍測定点の数が近傍点数しきい値より大きい場合この近傍測定点群によって規定される領域、つまりこの近傍測定点群を含む表面領域が表面欠陥として判定される。
以下、別実施形態を例示する。
(1)上記実施形態における鋳型文字種別評価では、一文字単位で文字認識が行われていたが、用いられている文字の種類が限られている場合、複数文字単位で文字認識を行ってもよい。
(2)エッジ基準点データは予め生成して基準データ格納部80、81に格納するのではなく、使用する時に、全基準点データからエッジ検出フィルタ処理などで生成してもよい。
(3)上記実施形態では、位置合わせアルゴリズムとして重み演算付きのICPアルゴリズムを採用していたが、一般的なICPアルゴリズムを採用してもよいし、その他の位置合わせアルゴリズムを採用してもよい。
(4)上記実施形態では、隣接点間距離重み係数は位置合わせルーチンにおいて算出していたが、この隣接点間距離重み係数を基準点群の隣接点間距離に基づいて求める場合、予め算定しておいてテーブル化しておくことで演算速度を高速化することができる。
(5)上記実施の形態では、判定条件として予め設定された多くのしきい値が用いられていたが、このしきい値を予め設定されたものではなく、測定対象の表面形状あるいは測定結果の統計学的な特性からしきい値が算定されるような構成を採用してもよい。