(58)【調査した分野】(Int.Cl.,DB名)
前記作成手段は、前記受信手段が前記通知信号を受信すると、前記2次元プロファイル測定器が実際に出力した2次元プロファイルデータをコピーして合成することで、前記3次元プロファイルデータの作成を継続することを特徴とする請求項1に記載の画像処理装置。
前記作成手段は、前記受信手段が前記通知信号を受信すると、前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータをコピーして合成することで、前記3次元プロファイルデータの作成を継続することを特徴とする請求項2に記載の画像処理装置。
前記受信手段が前記通知信号を受信すると、当該通知信号に基づき、前記3次元プロファイルデータにおける前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報を作成する位置特定手段をさらに有し、
前記検査手段は、前記位置情報に基づき、前記3次元プロファイルデータのうち前記2次元プロファイル測定器が実際に出力した2次元プロファイルデータの部分だけで検査を実行することを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
前記受信手段が前記通知信号を受信すると、当該通知信号に基づき、前記3次元プロファイルデータにおける前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報を作成する位置特定手段をさらに有し、
前記検査手段は、前記3次元プロファイルデータにおいて不良が検知された位置と、前記位置情報が示す位置とを比較し、前記3次元プロファイルデータにおいて不良が検知された位置が前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータよりも後の位置であれば、当該不良を検査結果から除外することを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
前記受信手段が前記通知信号を受信すると、当該通知信号に基づき、前記3次元プロファイルデータにおける前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報を作成する位置特定手段と、
前記3次元プロファイルデータにおいて前記検査手段が検査の対象とする領域である検査ウインドウを設定する設定手段とをさらに有し、
前記検査手段は、前記検査ウインドウが、前記3次元プロファイルデータにおいて前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータよりも後の位置を含むように設定されているときに、当該後の位置で検査を実行しないことを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
前記受信手段が前記通知信号を受信すると、当該通知信号に基づき、前記3次元プロファイルデータにおける前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報を作成する位置特定手段と、
前記3次元プロファイルデータにおいて前記検査手段が検査の対象とする領域である検査ウインドウを設定する設定手段とをさらに有し、
前記検査手段は、前記検査ウインドウが、前記3次元プロファイルデータにおいて前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータよりも後の位置を含むように設定されているときに、当該後の位置で検出された不良を検査結果から除外することを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
前記受信手段が前記通知信号を受信すると、当該通知信号に基づき、前記3次元プロファイルデータにおける前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報を作成する位置特定手段と、
前記3次元プロファイルデータにおいて前記検査手段が検査の対象とする領域である検査ウインドウを設定する設定手段とをさらに有し、
前記設定手段は、前記検査ウインドウが、前記3次元プロファイルデータにおいて前記2次元プロファイル測定器が最後に出力した2次元プロファイルデータよりも後の位置を含むように設定されているときに、当該後の位置を除外するように前記検査ウインドウを縮小することを特徴とする請求項1ないし3のいずれか1項に記載の画像処理装置。
複数の2次元プロファイルデータを合成して検査対象物の3次元形状を示す3次元プロファイルデータを作成し、前記3次元プロファイルデータに所定の画像処理を施して前記検査対象物の検査を実行する画像処理装置に対して、前記2次元プロファイルデータを出力する2次元プロファイル測定器であって、
検査対象物の2次元プロファイルを測定する測定手段と、
前記2次元プロファイルの測定結果に基づき2次元プロファイルデータを生成する生成手段と、
前記2次元プロファイル測定器を制御する制御装置から2次元プロファイルデータの出力を停止することを示す信号を受信する受信手段と
を有し、
前記生成手段は、前記制御装置から前記信号を受信すると前記測定手段を停止させ、前記測定手段を停止させる直前に得られた測定結果に基づき生成した2次元プロファイルデータをコピーして出力することで、前記測定手段を停止させても2次元プロファイルデータの出力を継続することを特徴とする2次元プロファイル測定器。
複数の2次元プロファイルデータを合成して検査対象物の3次元形状を示す3次元プロファイルデータを作成し、前記3次元プロファイルデータに所定の画像処理を施して前記検査対象物の検査を実行する画像処理装置に対して、前記2次元プロファイルデータを出力する2次元プロファイル測定器における測定方法であって、
測定手段が、検査対象物の2次元プロファイルを測定する測定工程と、
生成手段が、前記2次元プロファイルの測定結果に基づき2次元プロファイルデータを生成する生成工程と、
受信手段が、前記2次元プロファイル測定器を制御する制御装置から2次元プロファイルデータの出力を停止することを示す信号を受信する受信工程と
を有し、
前記生成工程は、前記生成手段が、前記制御装置から前記信号を受信すると前記測定を停止し、前記測定を停止する直前に得られた測定結果に基づき生成した2次元プロファイルデータをコピーして出力することで、前記測定を停止しても2次元プロファイルデータの出力を継続する工程を含むことを特徴とする測定方法。
【発明を実施するための形態】
【0011】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0012】
図1は、画像処理システム(外観検査装置)の概略を示す図である。ライン1は、プログラマブルロジックコントローラ(PLC)などの制御装置30によって制御されるコンベアなどの搬送装置である。外観検査装置は、ライン1を搬送される検査対象物(ワーク2)の外観を画像処理によって検査する装置である。この例の外観検査装置は2次元プロファイル測定器10と画像処理装置20を備えている。外観検査とは、ワーク2の画像処理結果を用いて実行される製品検査のことであり、ワーク2の寸法を測定する寸法検査やワーク2が製品として良品であるかどうかを判定する良品検査などが含まれる。
【0013】
2次元プロファイル測定器10は、検査対象物(ワーク)の2次元プロファイルを測定し、第1のビット数(例:20ビット)の2次元プロファイルデータを出力する2次元プロファイル測定器の一例である。2次元プロファイル測定器10は、レーザ変位計と呼ばれることもあり、x軸方向に搬送されるワーク2に対して幅広のレーザ光を照射し、その反射光を受光することで、ワーク2の2次元断面形状を示すデータ(2次元プロファイルデータ)を作成する。このときワーク2はzy平面に平行な切断面によって仮想的に切断され、切断面の外形(外縁)が2次元プロファイルとなる。2次元プロファイルデータは、たとえば、1つの測定点あたり20ビットで表現されるデータである。通常、2次元プロファイルデータは、ヘッドユニット11からワーク2の測定点までの距離(z軸方向の距離)であって、y軸方向に沿って並んだ複数の測定点についての距離の集合である。2次元プロファイル測定器10は、ヘッドユニット11とコントローラユニット12とを有している。ヘッドユニット11は、ワーク2の2次元プロファイルを測定する測定ユニットの一例であり、レーザなどの発光素子と受光素子(ラインセンサまたは2次元撮像素子)とを有している。
図1には、光切断方式のヘッドユニット11を示しているが、他の方式のヘッドユニットが採用されてもよい。また、ヘッドユニット11とコントローラユニット12が物理的に分離されているが、これらが一体化されていてもよい。
図1においてヘッドユニット11はケーブルを介してコントローラユニット12のヘッド用コネクタ13に接続されている。
【0014】
画像処理装置20は、ワーク2から取得された画像データに所定の画像処理を施してワーク2の外観検査を実行する。画像処理装置20は、2次元プロファイル測定器10が出力する2次元プロファイルデータを入力ないしは受信するための入力カード22を有している。画像処理装置20は、拡張スロットを有しており、そこに入力カード22が挿入されている。画像処理装置20と2次元プロファイル測定器10は、たとえば、512Mbpsあまりもの高速通信を実行するため、入力カード22は1000BASE-Tなどの高速通信規格に対応している。つまり、2次元プロファイル測定器10の通信コネクタ14と入力カード22の通信コネクタ23は高速通信規格に準拠し、ケーブル21によって接続されている。このように、入力カード22の通信コネクタ23は、第1のビット数(例:20ビット)の2次元プロファイルデータを出力する2次元プロファイル測定器10と接続する第1接続手段として機能している。
【0015】
制御装置30は、USBなどのシリアル通信プロトコルにしたがって2次元プロファイル測定器10と通信し、2次元プロファイル測定器10を制御するPLCである。制御装置30は、2次元プロファイル測定器10と接続するための通信コネクタ31を有している。通信コネクタ31に接続された通信ケーブルは、2次元プロファイル測定器10の通信コネクタ15に接続されている。制御装置30は、通信ケーブルを介して2次元プロファイルデータの出力開始信号や出力停止信号を2次元プロファイル測定器10に送信する。2次元プロファイル測定器10は、出力開始信号を受信すると2次元プロファイルデータの出力を開始し、出力停止信号を受信すると2次元プロファイルデータの出力を停止する。
【0016】
画像処理装置20は、20ビットよりも少ないビット数(ここでは説明の便宜のため15ビットとする)で画像処理を実行する。そのため、画像処理装置20は、20ビットの2次元プロファイルデータをそのまま扱うことができない。そこで、本実施形態では、入力カード22が、通信コネクタ23などを通じて受信した第1のビット数の2次元プロファイルデータを、第1のビット数よりも少ない第2のビット数の2次元プロファイルデータに変換するビット変換手段として機能する。つまり、入力カード22は、20ビットの2次元プロファイルデータを15ビット2次元プロファイルデータに変換し、画像処理装置20が画像処理を実行できるようにする。また、入力カード22は、ビット変換手段が出力する複数の2次元プロファイルデータを組み合わせて、検査対象物の3次元形状を示す3次元プロファイルデータを作成する作成手段としても機能する。2次元プロファイル測定器10は、時々刻々とライン1を搬送されるワーク2の2次元プロファイルデータを出力する。つまり、各2次元プロファイルデータは、ワーク2の異なる部分の断面形状を示すデータとなっている。そこで、入力カード22は、時系列に沿ってサンプルされた複数個(たとえば、800サンプル)の2次元プロファイルデータを順番に並べることで、ワーク2の3次元プロファイルデータを作成する。たとえば、ワーク2の進行方向でワーク2の先端から後端までの複数個の2次元プロファイルデータが順番に並べられる。その結果として得られる3次元プロファイルデータは、たとえば、15ビットのグレースケールによる画像データとなる。つまり、ヘッドユニット11からワーク2までの距離(高さ)が濃淡(階調値)となって表現されることになる。なお、1つの2次元プロファイルデータを1サンプルまたは1ラインと呼ぶことにする。つまり、3次元プロファイルデータは、予め規定された数のラインから作成される。
【0017】
図2(A)は、ワーク2の3次元形状の一例を示す図である。
図2(B)は、ワーク2の2次元断面形状(1ライン分の2次元プロファイルデータ)の一例を示す図である。
図2(B)に示される1サンプル分の断面形状は、
図2(C)上では1本のラインに相当する。そのため2次元プロファイルデータはラインと呼ばれることがある。
図2(C)は、ワーク2の3次元プロファイルデータ(グレースケール画像データ)の一例を示す図である。
図2(A)ないし
図2(C)を比較すると、ワーク2の表面のうち、z軸方向の高さが低い部分は淡い色となり、z軸方向の高さが高い部分は濃い色となることがわかる。濃度と高さの関係は逆であってもよい。このように、3次元プロファイルデータは、検査対象物の表面を構成する各位置の高さを示す高さ画像データである。
【0018】
画像処理装置20は、複数の計測モジュール(画像処理ツール)を3次元プロファイルデータに適用して外観検査を実行する。ここでは、外観検査を実行する計測モジュールを画像処理ツールと呼ぶことにする。画像処理ツールには様々なものがあり、主要な画像処理ツールとしては、エッジ位置計測ツール、エッジ角度計測ツール、エッジ幅計測ツール、エッジピッチ計測ツール、エリア計測ツール、ブロブ計測ツール、パターンサーチ計測ツール、傷計測ツールなどがある。
●高さ計測ツール:3次元プロファイルデータに基づき、ワーク2の各部の高さを計測する。たとえば、ワーク2の1つの測定点を基準点とし、この基準点の階調値と注目領域内の各測定点の階調値との差分のうち最大のものを最大高さとして算出する。あるいは、平面を基準面として設定し、基準面の階調値と注目領域内の各測定点の階調値との差分(距離)のうち最大のものを高さとして求めてもよい。なお、高さの測定精度を優先するために、15ビットの3次元プロファイルデータが使用される。
【0019】
以下で説明する画像処理ツールは、15ビットの3次元プロファイルデータをさらに少ない第3のビット数(例:8ビット)の3次元プロファイルデータに変換した後で、実行されてもよい。これは、以下の画像処理ツールでは精度よりも処理速度が優先されるからである。なお、15ビットの2次元プロファイルデータ(高さデータ)を8ビットの高さデータに変換する処理を高さ抽出と呼ぶ。高さ抽出では、任意の平面や曲面を基準面として設定し、基準面の階調値と各測定点の階調値との差分を8ビットのデータとして扱ってもよい。適切な基準面を用いることで、8ビットであっても画像処理に必要な差分の情報を十分に保持することが可能となる。
●エッジ位置計測ツール:ワーク2の画像が表示される画面上において、エッジ位置を検出したい検査領域に対してウインドウを設定することにより、設定された検査領域内で、任意の方向にスキャンして複数のエッジ(明から暗に切り替わる箇所または暗から明に切り替わる箇所)を検出する。検出した複数のエッジから、一のエッジの指定を受け付け、指定を受け付けたエッジの位置を計測する。
●エッジ角度計測ツール:設定を受け付けた検査領域内に2つのセグメントを設定し、それぞれのセグメントで検出したエッジからのワーク2の傾斜角度を計測する。傾斜角度は、たとえば時計回りを正とすることができる。
●エッジ幅計測ツール:設定を受け付けた検査領域内で、任意の方向にスキャンして複数のエッジを検出し、検出した複数のエッジ間の幅を計測する。
●エッジピッチ計測ツール:設定を受け付けた検査領域内で、任意の方向にスキャンして複数のエッジを検出する。検出した複数のエッジ間の距離(角度)の最大値/最小値や平均値を計測する。
●エリア計測ツール:ワーク2の画像を二値化処理して、白色領域または黒色領域の面積を計測する。たとえば、計測する対象として白色領域または黒色領域の指定をパラメータとして受け付けることにより、白色領域または黒色領域の面積を計測する。
●ブロブ計測ツール:ワーク2の画像を二値化処理して、同一の輝度値(255または0)の画素の集合(ブロブ)に対してパラメータとしての数、面積、重心位置等を計測する。
●パターンサーチ計測ツール:比較対象とする画像パターン(モデル画像)を事前に記憶装置に記憶しておき、撮像したワーク2の画像の中から記憶してある画像パターンに類似している部分を検出することで、画像パターンの位置、傾斜角度、相関値を計測する。
●傷計測ツール:設定を受け付けた検査領域内で、小領域(セグメント)を移動させて画素値の平均濃度値を算出し、閾値以上の濃度差となった位置を傷が存在すると判定する。
●その他にも、検査領域内の文字情報を切り出して辞書データ等と照合することで文字列を認識するOCR認識ツール、画像上に設定したウインドウ(領域)をシフトさせながら、各ウインドウの位置においてエッジの検出を繰り返す機能を有するトレンドエッジツール、設定したウインドウ内の濃淡の平均、偏差等を計測する機能を有する濃淡ツール、設定したウインドウ内の濃度の平均、偏差等を計測する機能を有する濃度ツールなどもあり、ユーザは検査内容に応じて必要な画像処理ツールを選択することができる。なお、これらの画像処理ツールは、典型的な機能およびその実現方法の代表例を示すものに過ぎない。あらゆる画像処理に対応する画像処理ツールが本願発明の対象になり得る。
【0020】
図3は、nライン分の2次元プロファイルデータを並べて作成した3次元プロファイルデータの一例を示している。ここでは、3次元プロファイルデータにおける各位置の高さが画像の輝度として表示されている。3次元プロファイルデータには、ワークの高さ画像300が含まれている。画像処理装置20は、2次元プロファイル測定器10が時系列にしたがって出力したnライン分の2次元プロファイルデータを合成して3次元プロファイルデータを作成する。
図3では、2次元プロファイル測定器10が第xラインの2次元プロファイルデータを出力した後で2次元プロファイルデータの出力を停止したときに作成される3次元プロファイルデータを示している。矢印301は2次元プロファイル測定器から最後に出力された第xラインを示している。画像処理装置20は、第1ラインから第nラインまでの2次元プロファイルデータを合成するように設計されている。そのため、2次元プロファイル測定器10が2次元プロファイルデータの出力を停止しても、画像処理装置20は、合成を継続する。つまり、2次元プロファイル測定器10が2次元プロファイルデータの出力を停止しているため、画像処理装置20は、オールゼロの2次元プロファイルデータが出力されているものと認識して合成を継続する。
【0021】
図4は、3次元プロファイルデータと検査ウインドウとの関係を示す図である。画像処理装置20は、3次元プロファイルデータに対して予め外観検査を実行する領域である検査ウインドウ400の位置を設定する。
図4では、検査ウインドウ400が、最終ラインを含むように設定されている。上述したように最終ラインよりも後の位置(第x+1ラインから第nラインまで)は、検査対象物とは無関係な部分である。矢印401が示す、最終ラインである第xライン付近では外観検査において誤検出が発生しやすい。そこで、誤検出を削減する何らかの対策が必要となる。
【0022】
図5は、ライン拡張処理を説明する図である。誤検出が発生する原因は、本来は濃度変化の存在しない第xライン付近において顕著な濃度変化が生じていることである。そこで、第xライン付近の2次元プロファイルデータをコピーして第x+1ラインから第nラインまでに貼り付けることで、顕著な濃度変化を軽減している。このような誤検出軽減処理をライン拡張処理、ライン補充処理または延展処理と呼ぶことにする。
【0023】
領域501は、第xライン付近の2次元プロファイルデータが貼り付けられた領域を示している。ここでは、第xライン付近の2次元プロファイルデータとして第xラインの2次元プロファイルデータをコピーしているが、第xラインの2次元プロファイルデータの濃度と類似した濃度のラインの2次元プロファイルデータであれば、コピーに利用されてもよい。通常、第xラインの近くのラインは、濃度変化が類似しているため、コピー対象となりうる。また、第xライン付近であって第xラインよりも手前に存在する複数のラインの2次元プロファイルデータを平均して、それがコピーに使用されてもよい。このように、第xラインの2次元プロファイルデータがコピーされることは必須ではない。
【0024】
なお、検査ウインドウ400の外側は検査対象外である。そこで、検査対象外に位置する第x’ラインから第nラインについてはライン拡張を実行しなくてもよい。
【0025】
図6は、外観検査装置の各機能を示す機能ブロック図である。2次元プロファイル測定器10については、とりわけコントローラユニット12の機能を示しているが、2次元プロファイルデータ生成部111などがヘッドユニット11に設けられてもよい。ヘッドユニット11は、検査対象物の2次元プロファイルを測定する測定手段として機能する。2次元プロファイル測定器10は、ヘッドユニット11から出力される測定信号(測定結果)に基づき2次元プロファイルデータを作成する2次元プロファイルデータ生成部111と、画像処理装置20や制御装置30と通信する通信部113とを有している。通信部113は、画像処理装置20と通信するための通信ユニットと、制御装置30と通信するための通信ユニットを物理的に独立した通信ユニットとして具備していてもよい。停止信号受信部114は、通信部113を介して制御装置30から入力される制御信号を受信して停止信号を抽出するユニットである。停止信号は、2次元プロファイルデータの出力を停止させるための信号である。停止信号受信部114は、停止信号を受信すると、停止信号を受信したことを通知部112に知らせる。停止信号受信部114が停止信号を受信すると、通知部112は、2次元プロファイル測定器10が2次元プロファイルデータの出力を停止すると画像処理装置20に通知するための通知信号を生成する。通知信号や2次元プロファイルデータは通信部113を介して画像処理装置20に送信される。通信部113は、シリアル通信インタフェース、パラレル通信インタフェース、USBインタフェースやネットワーク通信インタフェースなどを含む。図示は省略しているが、2次元プロファイル測定器10は、ヘッドユニット11を制御するヘッドユニット制御部をさらに有している。なおこれらの機能はDSPやCPU、ASICおよびプログラムなどによって実現される。
【0026】
画像処理装置20もやはりDSPやCPU、メモリ、プログラムなどによって実現される。入力カード22は、2次元プロファイル測定器10が出力する2次元プロファイルデータや通知信号を受信する通信部121を有している。通信部121は、2次元プロファイル測定器と接続して通信する接続手段の一例である。なお、通信部121は、出力停止信号を通知信号として制御装置30から受信してもよい。この場合、通信部121は、制御装置30と接続して通信する接続手段の一例である。2次元プロファイルデータはいったん画像メモリ130に格納されてもよい。第1ビット変換部122は、通信部121が受信した20ビットの2次元プロファイルデータを15ビットの2次元プロファイルデータに変換し、画像メモリ130に格納する。3次元プロファイルデータ作成部123は、複数の15ビットの2次元プロファイルデータを統合して3次元プロファイルデータ(ワークの高さを示す画像データ)を作成し、画像メモリ130に格納する。たとえば、3次元プロファイルデータ作成部123は、800ライン分の15ビットの2次元プロファイルデータを時系列に並べることで、ワーク2の全体の3次元形状を示す3次元プロファイルデータを作成する。3次元プロファイルデータは、一種の画像データであり、各画素は測定点に対応し、その階調値(輝度値)が高さを示すデータに対応している。3次元プロファイルデータは画像データであるため、表示処理部134を通じて表示部150に表示される。たとえば、ワーク2のうち基準面から低い部分は淡い階調となり、基準面から高い部分は濃い階調となる。
【0027】
3次元プロファイルデータ作成部123は、1ライン分の2次元プロファイルデータを3次元プロファイルデータに付加するごとに、付加信号をラインカウント部124に出力してもよい。ラインカウント部124は、付加信号を受信するためにカウント値を1つずつインクリメントする。このカウント値を参照すれば、どのラインまでが3次元プロファイルデータに付加されたかを認識できる。最終ライン判別部125は、通知信号を受信することで2次元プロファイルデータの出力を停止したことを認識し、そのときのラインカウント部124のカウント値を取得し、最終ラインを判別する。データ補充部126は、最終ライン判別部125が通知信号に基づき最終ライン(第xライン)を検出すると、第xラインの2次元プロファイルデータをコピーして第x+1ライン以降の2次元プロファイルデータとして貼り付ける。なお、このコピー処理は、第1ビット変換部122に入力される前に2次元プロファイルデータにおいて実行されてもよいし、第1ビット変換部122から出力された2次元プロファイルデータにおいて実行されてもよい。後者の方がビット数が少ないため、処理負荷を軽減する効果がある。3次元プロファイルデータ作成部123は、データ補充部126が挿入してきた2次元プロファイルデータを2次元プロファイル測定器10からの2次元プロファイルデータの代わりに合成して行く。
【0028】
上述したように画像処理部133は、高さ抽出ツールだけでなく、様々な外観検査ツールを有している。画像処理部133は、ワーク2の各部分の高さを抽出する際には、15ビット表現の3次元プロファイルデータを使用する。これにより、より高い精度を高さ情報が取得される。一方で、ブロブの計算などでは、高さ方向の情報はそれほど高い精度を要求されない。つまり、3次元プロファイルデータのビットをより少ないビット数に低減することで、画像処理部133の画像処理負担を軽減してもよい。そこで、第2ビット変換部131は、3次元プロファイルデータを、第2のビット数(例:15ビット)から、第2のビット数よりもさらに少ない第3のビット数(例:8ビット)の3次元プロファイルデータに変換する。画像処理部133は、8ビットの3次元プロファイルデータ(画像データ)に所定の画像処理を施して外観検査のためのデータ(演算結果)を取得する。所定の画像処理は画像処理ツールごとに異なり、2値化処理や白画素のカウント、面積の算出などである。ウインドウ設定部136は、入力部132から入力されたユーザからの指示に基づき、3次元プロファイルデータに対する上述した検査ウインドウ400の位置を設定する。検査ウインドウ400の設定は、外観検査を実行する前に予め実行される。ウインドウ設定部136は、検査ウインドウ400を設定するためのユーザインタフェースを、表示処理部134を通じて表示部150に表示させる。このユーザインタフェースを通じてユーザは検査ウインドウ400の位置を指定する。入力部132は、マウス、キーボード、コンソールなどである。
【0029】
外観検査部140は、画像処理部133により得られた演算結果に基づいてワーク2の良否判定などを実行する。たとえば、演算結果を閾値と比較することで、ワーク2の良否判定が実行される。閾値は、公差などに基づいて予め設定される。傷判別部142は、検査ウインドウ400についての演算結果を閾値と比較することで、ワークの表面に傷や打痕などがあるかないかを判別する。
【0030】
ところで、入力カード22の各機能はDSP等で実現可能である。また、第2ビット変換部131と画像処理部133を実現するDSPと、表示処理部134を実現するDSPとはそれぞれ別個に用意されてもよい。複数のDSPに処理を分散することで、より高速に外観検査処理を実行可能となろう。また、外観検査部140は、複数のDSPを統括的に制御するCPUによって実現されてもよい。表示部150は、液晶表示装置や自発光式の表示装置などである。入力部132は表示部150と一体化されてタッチパネル式ディスプレイとして実現されてもよい。
【0031】
図7は、画像処理装置20が実行する各工程を示すフローチャートである。S1で、画像処理装置20のCPUは通信部121を介して2次元プロファイルデータの取得指示を2次元プロファイル測定器10に送信する。2次元プロファイル測定器10のコントローラユニット12は通信部113を通じて取得指示を受信すると、制御装置30から出力開始信号の受信待ち状態に遷移する。制御装置30から出力開始信号を受信すると、コントローラユニット12はヘッドユニット11を起動する。コントローラユニット12の2次元プロファイルデータ生成部111は、ヘッドユニット11が出力する撮像信号に基づき2次元プロファイルデータを作成し、通信部113を介して画像処理装置20に送信する。
【0032】
S2で、画像処理装置20の通信部121は、2次元プロファイルデータを受信し、画像メモリ130にいったん格納する。この時点での2次元プロファイルデータのビット数は第1のビット数(例:20ビット)である。
【0033】
S3で、第1ビット変換部122は、20ビットの2次元プロファイルデータを画像メモリ130から読み出し、画像処理部133で処理可能な第2のビット数(例:15ビット)の2次元プロファイルデータに変換する。なお、上述した通知信号を受信したときは、データ補充部126が2次元プロファイルデータの補充を実行する。
【0034】
S4で、3次元プロファイルデータ作成部123は、nライン分の15ビットの2次元プロファイルデータを時系列に従って並べて、3次元プロファイルデータを作成する。つまり、第1ビット変換部122から出力される第1ラインの2次元プロファイルデータを先頭に、第nラインの2次元プロファイルデータを最後尾としてnライン分の2次元プロファイルデータが合成される。なお、必要に応じて、第2ビット変換部131は、15ビットの3次元プロファイルデータをさらにビット数の少ない8ビットの3次元プロファイルデータに変換してもよい。このようにして、3次元プロファイルデータとして、検査対象物の各測定点の高さを階調で示したグレースケールの画像データが作成される。なお、画像メモリ130には、15ビットの3次元プロファイルデータと8ビットの3次元プロファイルデータとの両方が記憶されていてもよい。
【0035】
S5で、画像処理部133は、3次元プロファイルデータに所定の画像処理を施す。所定の画像処理は、実行しようとする計測ツール(画像処理ツール)によって異なる。たとえば、高さ抽出を実行するときは、画像処理部133は、3次元プロファイルデータにおける基準点(x1,y1)または基準面の階調値z’(x,y)と各測定点(x,y)の階調値z(x,y)との差分に基づき各測定点の高さのデータを抽出する。基準面は、平面であってもよいし曲面であってもよい。z’(x,y)は、基準面の階調値を表す関数である。また、基準点の階調値(つまり基準値)は、高さの最低値、最高値、平均値など、いずれであってもよい。画像処理部133は、3次元プロファイルデータに基づき、エッジを計測したり、エリアを計測したりしてもよい。これらの画像処理方法のそれ自体はすでに公知であるため、詳細な説明を省略する。なお、これら画像処理は、検査ウインドウ400が設定された領域を単位として実行されてもよい。
【0036】
S6で、外観検査部140は、ワーク2の外観検査を実行する。たとえば、外観検査部140は、画像処理部133が出力する演算結果に基づきワーク2の良否判定を実行する。たとえば、外観検査部140は、高さ計測により抽出された高さの最大値が良品範囲内に収まっているかどうかを判定したりする。
【0037】
図8は、ライン拡張処理の一例を示す図である。S11で、ラインカウント部124は、3次元プロファイルデータに2次元プロファイルデータが加算されるたびにカウント値を1つずつ増分する。S12で、最終ライン判別部125は、2次元プロファイル測定器10から通知信号を受信したかどうかを判定する。通知信号を受信すると、そのときのラインカウント部124のカウント値を読み出して、最終ラインとなる2次元プロファイルデータを確定し、最終ラインのライン番号(例:x)をデータ補充部126に通知する。S14で、データ補充部126は、最終ラインのライン番号にしたがって最終ラインの2次元プロファイルデータを画像メモリ130から取得し、x+1番目のラインの2次元プロファイルデータとして3次元プロファイルデータ作成部123に渡す。このデータ補充は、x+1番目のラインからn番目のラインまで実行される。これにより、
図5に示したような高さ画像が作成される。
【0038】
本実施形態によれば、画像処理装置20は、2次元プロファイルデータの出力が停止したことを示す通知を2次元プロファイル測定器10から受信することで、2次元プロファイルデータの出力が停止されたことを認識できるようになる。さらに、画像処理装置20は、2次元プロファイルデータの出力が停止されたことを認識できるため、誤検出軽減処理を実行できるようになる。誤検出軽減処理としては、2次元プロファイル測定器10から最後に出力された最終ラインやその近辺のラインの2次元プロファイルデータを最終ラインよりも後のラインに補充することが考えられる。これにより、最終ライン付近の高さ画像における濃淡の極端な変化が抑制されるため、傷などの誤検出が削減される。
【0039】
<第2実施形態>
第1実施形態では、外観検査における誤検出の低減処理として、ライン拡張処理について説明した。ところで、通知信号を受信することで最終ラインが判明するため、最終ラインよりも後のラインで傷などの不良が見つかったときはその検査結果を除外することで、誤検出を低減してもよい。
【0040】
図9は、外観検査装置の各機能を示す機能ブロック図である。
図6と比較して異なる点を中心に説明する。最終ライン判別部125は、通知信号に基づき最終ラインを判別すると、最終ラインのライン番号を含むライン情報を作成し、外観検査部140に送信する。外観検査部140は、外観検査を実行して不良の検出されたラインの情報を保持し、最終ライン判別部125からのライン情報が示すライン番号と比較する。不良の検出されたラインが最終ラインよりも後のラインであれば、外観検査部140は、誤検出が発生したと判定し、そのラインの検査結果を最終的な外観検査結果から除外(削除または良好な検出結果に訂正)する。
【0041】
図10は、最終ライン通知処理の一例を示すフローチャートである。上述したS11およびS12を実行してS23に進む。S23で、最終ライン判別部125は、ラインカウント部124からカウント値を読み出し、これを最終ラインのライン番号としたライン情報を作成し、外観検査部140に通知する。
【0042】
図11は、外観検査部140が実行する傷の除外処理の一例を示す図である。S31で、外観検査部140の傷判別部142は、最終ライン判別部125からライン情報を受信する。これにより、傷判別部142は、どのラインが最終ラインであるかを認識する。S32で、傷判別部142は、外観検査を実行してワークにおける傷の位置を特定し、傷の位置(ライン)を示す検査結果を作成する。S33で、傷判別部142は、検出された傷の位置と、ライン情報に含まれている最終ラインの位置とを比較し、傷の位置が最終ラインよりも後のラインであるかどうかを判定する。傷の位置が最終ラインよりも後のラインでなければ、傷の除外処理を終了する。一方、傷の位置が最終ラインよりも後のラインであれば、S34に進む。S34で、傷判別部142は、傷の除外処理を実行する。たとえば、傷判別部142は、外観検査結果に含まれている傷の情報のうち、最終ラインよりも後のラインにおいて検出された傷の情報を削除する。
【0043】
本実施形態によれば、最終ラインよりも後のラインで傷などの不良が見つかったときはその検査結果を除外することで、誤検出を低減することができる。なお、傷とは、ワークの設計上想定されていないワークの状態を意味し、打痕、面積不足、高さ不足、形状の不完全、接点金属の未装着などをいう。
【0044】
<第3実施形態>
本実施形態では、最終ラインよりも後のラインでは外観検査を省略することで、誤検出を低減する。外観検査装置の各機能を示す機能ブロック図については
図9の示した通りである。また、最終ライン通知処理については
図10に示した通りである。
【0045】
図12は、外観検査省略処理の一例を示す図である。S31でライン情報を受信すると、S42に進む。S42で、傷判別部142は、外観検査を開始する。S43で、傷判別部142は、受信したライン情報が示す最終ラインのライン番号と、外観検査の対象となっているライン番号とを比較し、外観検査の対象が最終ラインよりも後のラインかどうかを判定する。なお、外観検査は、3次元プロファイルデータにおいて1ライン目からnライン目に向かって実行されるものとする。外観検査の対象ラインが最終ラインを超えていなければ、S42に戻り、外観検査を継続する。一方で、外観検査の対象ラインが最終ラインを超えていれば、S44に進む。S44で、傷判別部142は、最終ラインよりも後のラインについては無視をして外観検査を実行する。つまり、傷判別部142は、最終ラインよりも後のラインについては外観検査を省略する。本実施形態では、最終ラインよりも後のラインでは外観検査を省略することで、誤検出が低減される。
【0046】
<第4実施形態>
本実施形態では、検査ウインドウ400が最終ラインよりも後のラインを含む場合に、後のラインを含まないように検査ウインドウ400を縮小することで、後のラインについては検査対象から除外することを特徴とする。
【0047】
図13は、検査ウインドウ400の縮小を説明するための図である。
図4と
図13とを比較すると、
図13では、最終ラインよりも後のラインを含まないように検査ウインドウ400が縮小されている。
図14は、検査ウインドウの縮小処理の一例を示すフローチャートである。S51で、画像処理部133は、最終ライン判別部125からライン情報を受信する。最終ライン判別部125のライン情報の通知処理は
図10に示した通りである。S52で、ウインドウ設定部136は、最終ライン判別部125から受信したライン情報が示す最終ラインよりも後ろのラインを検査ウインドウ400が包含しているかどうかを判定する。検査ウインドウ400が最終ラインよりも後ろのラインを包含していなければ、S54に進み、外観検査部140が、縮小されていない検査ウインドウ400を用いて外観検査を実行する。一方、検査ウインドウ400が最終ラインよりも後ろのラインを包含していればS53に進む。S53で、ウインドウ設定部136は、最終ラインよりも後ろのラインを包含しないように、検査ウインドウ400のサイズを縮小する。なお、ウインドウ設定部136が検査ウインドウ400を縮小したときは、ウインドウ設定部136または外観検査部140が外観検査で対比する閾値を同様の縮小率で変更してもよい。これはブロブなどの面積計算を伴う外観検査では有効であろう。その後、S54で、外観検査部140は、縮小された検査ウインドウ400を用いて外観検査を実行する。本実施形態では、検査ウインドウ400が最終ラインよりも後のラインを含む場合に、後のラインを含まないように検査ウインドウ400を縮小することで、後のラインについては検査対象から除外する。これにより、誤検出が削減されよう。
【0048】
<第5実施形態>
本実施形態では、検査ウインドウ400が最終ラインよりも後のラインを含む場合に、後のラインについては検査の対象としないように検査除外指定を行うことを特徴とする。第5実施形態は第3実施形態の下位概念に相当する。
【0049】
図15は、検査除外処理の一例を示すフローチャートである。S51とS52はすでに説明したとおりである。S52で検査ウインドウ400が最終ラインよりも後ろのラインを包含していると判定されると、S63に進む。S63で、ウインドウ設定部136は、検査ウインドウ400のうち外観検査を除外される領域を示す検査除外指定情報を外観検査部140に送信する。S64で、外観検査部140は、検査除外指定情報に基づき外観検査を実行する。たとえば、傷判別部142は、検査ウインドウ400に含まれる領域のうち、検査除外指定情報により指定された領域については傷の判別処理を実行しない。これにより誤検出が削減される。
【0050】
<第6実施形態>
これまでの実施形態では2次元プロファイルデータの出力を停止することを示す通知信号は、2次元プロファイル測定器10から画像処理装置20へ伝達されるものとして説明した。しかし、通知信号のトリガとなる出力停止信号は制御装置30から送信されるため、制御装置30から通知信号が画像処理装置20へ伝達されてもよい。
【0051】
図16は、外観検査装置の他の例を示す図である。制御装置30は、画像処理装置20と通信するための通信用コネクタ32を有している。同様に、画像処理装置20は、制御装置30と通信するための通信用コネクタ24を有している。制御装置30の通信用コネクタ32に接続された通信ケーブルは、画像処理装置20の通信用コネクタ24に接続されている。これにより、画像処理装置20は、制御装置30が通知信号を受信できるようになる。なお、通知信号は出力停止信号がそのまま利用されてもよい。この場合、出力停止信号は、画像処理装置20と2次元プロファイル測定器10との双方の供給されることになる。画像処理装置20の最終ライン判別部125は、制御装置30からの通知信号に基づいて最終ラインを判別する。その余の点は、他の実施形態と同様である。
【0052】
<其の他>
第1実施形態はライン拡張処理を採用し、第2実施形態から第6実施形態ではライン拡張処理を採用していないものとして説明した。しかしながら、第2実施形態から第6実施形態でもライン拡張処理が併用されてもよい。上述した実施形態では最終ラインよりも後のラインを検査対象から除外したが、最終ラインやその付近のラインを含めて検査対象から除外してもよい。ところで、上述した画像処理装置20が備える各手段はプログラムをCPUが実行することで実現されてもよい。
【0053】
<まとめ>
従来の画像処理装置20は、CCDカメラなどによって取得した画像データに画像処理を施して検査などを実行するものであり、2次元プロファイル測定器10が接続されることを想定して設計されていなかった。これは、2次元プロファイル測定器10と画像処理装置20とがそれぞれ独自に進化して来たことや、両者を接続しようという用途が従来は存在しなかったことが理由である。そのため、画像処理装置20の画像処理ビット数は、2次元プロファイル測定器10が出力するデータのビット数と一致していなかった。そこで、本実施形態では、画像処理装置20に2次元プロファイル測定器10を接続するための入力カード22を用意している。入力カード22は、通信コネクタ23を通じて受信した第1のビット数の2次元プロファイルデータを、第1のビット数よりも少ない第2のビット数の2次元プロファイルデータに変換する第1ビット変換部122を有している。これにより、2次元プロファイル測定器10が出力するデータのビット数を画像処理装置20が扱えるビット数に一致させることができる。入力カード22は、第1ビット変換部122が出力する複数の2次元プロファイルデータを組み合わせて、ワーク2の3次元形状を示す3次元プロファイルデータを作成する3次元プロファイルデータ作成部123も有している。よって、ユーザは、広く普及した2次元プロファイル測定器10を利用して、3次元プロファイルデータを取得できるようになる。つまり、3次元プロファイル測定器が普及するまでの過渡期において、ユーザは、より少ない投資で、3次元プロファイルデータを得られるようになろう。また、3次元プロファイルデータに所定の画像処理を施してワーク2の検査を実行できるようになる。
【0054】
上述したように、PLCなどの制御装置30によって2次元プロファイル測定器10は制御されるため、画像処理装置20は、2次元プロファイルデータの出力停止を認識することができなかった。そこで、本実施形態では、2次元プロファイル測定器10が2次元プロファイルデータの出力を停止したことを画像処理装置20に通知する通知信号を、2次元プロファイル測定器10または制御装置30から送信する。画像処理装置20は、通知信号の受信手段として通信部121と最終ライン判別部125を有している。画像処理装置20は、通信信号を受信することで、2次元プロファイルデータの出力停止を認識できるようになる。その結果、画像処理装置20は、最終ラインを判別できるようになる。
【0055】
さらに、本実施形態では、画像処理装置20が通知信号に基づき検査における誤検出の低減処理を実行する。低減処理としては、たとえば、
図5ないし
図8を用いて説明したライン拡張処理(延展処理)や
図9ないし
図11を用いて説明した誤検出の除外処理、
図12を用いて説明した検査の省略処理、
図13および
図14を用いて説明した検査ウインドウ400の縮小処理、
図15を用いて説明した検査除外指定処理などがある。
【0056】
ライン拡張処理では、最終ライン判別部125が通知信号を受信すると、データ補充部126は、2次元プロファイル測定器10が実際に出力した2次元プロファイルデータをコピーする。また、3次元プロファイルデータ作成部123は、コピーされた2次元プロファイルデータを合成に用いて3次元プロファイルデータの作成を継続する。実際に出力した2次元プロファイルデータが補充されるため、最終ライン付近での濃度変化が小さくなり、検査の誤検出が削減される。コピーの対象となる2次元プロファイルデータは、たとえば、2次元プロファイル測定器10が最後に出力した2次元プロファイルデータ(最終ラインの2次元プロファイルデータ)である。これにより、最終ラインとそれ以降のラインとで濃度変化が小さくなる。
【0057】
最終ライン判別部125は、通知信号に基づき、3次元プロファイルデータにおける2次元プロファイル測定器10が最後に出力した2次元プロファイルデータの位置を特定し、当該位置を示す位置情報(最終ライン情報)を作成する位置特定手段として機能する。
図12を用いて説明したように、外観検査部140は、最終ライン情報に基づき、3次元プロファイルデータのうち2次元プロファイル測定器10が実際に出力した2次元プロファイルデータの部分だけで検査を実行する。つまり、2次元プロファイル測定器10が実際には出力していない2次元プロファイルデータに基づく3次元プロファイルデータの部分については検査が省略される。これにより、誤検出が削減される。
【0058】
図11を用いて説明したように、外観検査部140は、3次元プロファイルデータにおいて不良が検知された位置と、最終ライン情報が示す位置とを比較し、3次元プロファイルデータにおいて不良が検知された位置が最終ラインよりも後の位置であれば、当該不良を検査結果から除外してもよい。これにより、誤検出が削減される。
【0059】
ウインドウ設定部136は、3次元プロファイルデータにおいて外観検査部140が検査の対象とする領域である検査ウインドウを設定する設定手段として機能する。
図15を用いて説明したように、外観検査部140は、検査ウインドウ400が最終ラインよりも後の位置を含むように設定されているときに、当該後の位置で検査を実行しない。これにより、誤検出が削減される。
【0060】
図13および
図14を用いて説明したように、ウインドウ設定部136は、検査ウインドウ400が最終ラインよりも後の位置を含むように設定されているときに、当該後の位置を除外するように検査ウインドウを縮小してもよい。これにより、誤検出が削減される。
【0061】
上述した実施形態では通知信号を受信した画像処理装置が最終ラインをコピーするものとして説明した。しかし、最終ラインのコピー処理は2次元プロファイル測定器10や、2次元プロファイル測定器10と画像処理装置20との間に挿入される通信装置が実行してもよい。たとえば、2次元プロファイル測定器10が制御装置30から停止を指示されると、まず、コントローラユニット12はヘッドユニット11の測定動作を停止させる。さらに、コントローラユニット12は、2次元プロファイルデータのライン数が規定ライン数に達するまで、ヘッドユニット11により最後に取得された2次元プロファイルデータ(最終ライン)をコピーして画像処理装置20に出力してもよい。また、コントローラユニット12は、ライン数をカウントするカウンタを有し、カウンタを参照して最終ラインを特定し、最終ラインを示すライン番号を画像処理装置20に通知してもよい。このように、画像処理装置20が実行していた処理の一部を2次元プロファイル測定器10などで実行してもよい。最終ライン以降の各ラインの2次元プロファイルデータは最終ラインの2次元プロファイルデータのコピーであるため、最終ラインとそれ以降のラインとで濃度変化が小さくなり、誤検出が削減される。なお、上述したように、最終ラインの1つ前や2つ前などのラインがコピーに利用されてもよい。