説明

画像処理装置及び外観検査方法

【課題】 安定的に検査領域を特定することが可能な画像処理装置及び外観検査方法を提供する。
【解決手段】 濃淡画像を取得する濃淡画像取得手段110と、距離画像を生成する距離画像生成手段130と、濃淡画像と距離画像の一方の画像において、他方の画像上で検査範囲に相当する検査領域を特定するための特定パターンを検出する特定パターン検出手段150と、濃淡画像と距離画像の他方の画像において、特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、検査領域を特定する検査領域特定手段170と、特定された検査領域から特徴量を算出する特徴量算出手段180と、算出された特徴量に基づいて、ワークの良否を判定する判定手段190と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークをカメラで撮像して、得られた画像データを用いて計測処理を実行する画像処理装置及び外観検査方法に関する。
【背景技術】
【0002】
工場など数多くの生産現場では、人の目視に頼っていた検査を自動化・高速化するために、画像処理装置が導入されている。画像処理装置は、ベルトコンベア等の生産ラインを流れてくるワークをカメラによって撮像し、得られた画像データを用いて所定領域のエッジ検出や面積計算などの計測処理を実行する。そして、計測処理の処理結果に基づいて、ワークの欠けやバリの有無について検査を行い、ワークの良否を判定する。FA現場では、画像処理装置は、ワークの良否を判定するFAセンサの一つとして利用される。
【0003】
このような画像処理装置を用いて、例えば印字等によりワークに所定形状の図形が正しく形成されているか否かを検査する場合には、まず、所定形状と同一の基準図形を画像処理装置に予め記憶しておく。そして、ワークをカメラによって撮像し、得られた画像データ上にて基準図形を用いたパターンマッチング処理(例えば正規化相関演算など)を行い、処理結果に基づいてワークの良否を判定する。ただし、実際の運用場面では、大量のワークの良否判定を高速に行う必要があるため、得られた画像データの全領域でパターンマッチング処理を施すのではなく、得られた画像データのうち検査したい図形が含まれる領域(検査領域)を特定して、この検査領域内でのみパターンマッチング処理を施すようにしている。これにより、検査領域外に存在する図形に起因した誤検出を防ぎ、ワークの良否判定精度を高めることができる。また、パターンマッチング処理やエッジ抽出処理など、画像処理装置における各種計測処理や前処理の演算量を減らし、ひいてはワークの良否判定の高速化を図ることができる。
【0004】
ここで、生産ライン上を流れてくるワークが規則正しく整列している場合には、得られた画像データにおける検査領域は固定しておけばよい。そのため、この場合、検査領域の特定は容易である(例えば、得られた画像データの中央部分を対角線の交点とする矩形領域を検査領域とする等)。しかし、ワークが常に規則正しく整列しているとは限らず、本来あるべき位置からずれた状態、或いは、その基本姿勢から傾いた状態で流れてくることもある。このようなときには、検査したい図形も、本来あるべき位置からずれた状態、或いは、その基本姿勢から傾いた状態になってしまうことから、画像データにおける検査領域の位置や傾きを補正する必要がある。そこで、例えばワークに位置決め用のアライメントマークを予め形成しておき、このアライメントマークを利用することで、検査領域の位置や傾きを補正する技術が知られている(例えば特許文献1参照)。
【0005】
具体的には、まず、ワークに位置決め用のアライメントマーク(例えば十字マーク)を形成しておく。このアライメントマークは、検査したい図形がワークに形成されている位置と一定の位置関係・角度関係を有している。例えば得られた画像データにおいて、アライメントマークが検査したい図形の重心位置から上方に500ピクセル、左方に500ピクセルの位置に現れるように、アライメントマークを形成しておく。実際の運用場面では、カメラによって得られた画像データからアライメントマークの位置を検出するとともに、その基準姿勢からの傾きも検出する。そして、検出したアライメントマークの位置に基づいて、検査したい図形が含まれる検査領域(例えば矩形領域)の位置を補正し、かつ、検出したアライメントマークの傾きに基づいて、その検査領域の傾きを補正する。このような補正処理を経て確定した検査領域内で、基準図形を用いてパターンマッチング処理を行い、処理結果に基づいてワークの良否を判定する。
【0006】
このように、得られた画像データにおいて検査領域の位置や傾きを補正するためには、予めワークに形成したアライメントマークを得られた画像データから検出することが重要になる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平07−270331号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、ワークに形成されたアライメントマークを安定して検出できない場合がある。例えば、アライメントマークが周囲の色(例えば白)と異なる色(例えば黒)で描かれた十字マークの場合には、エッジ処理等によって検出可能である。しかし、アライメントマークがプレスによる僅かな凹凸で構成される十字マークの場合には、得られた画像データのうちアライメントマーク部分の各画素の濃淡が大きく変化しないため、エッジ処理等によっても検出困難になる虞がある。アライメントマークを検出できない場合には、上述したように検査領域の位置や傾きを補正することができず、結果として、ワークの良否判定を適切に行うことができない。
【0009】
この点、例えば検査時にワークを照らす照明の当て方を工夫して、凹凸に起因する陰影を検出してアライメントマークを検出することも考えられる。しかし、周囲の照明環境によって常に明瞭な陰影が検出されるとは限らないし、また、照明の当て方を工夫しなければならないとなると照明を設置する作業の手間が掛かる。
【0010】
本発明は、以上の点に鑑みてなされたものであり、その目的は、安定的に検査領域を特定することが可能な画像処理装置及び外観検査方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明に係る画像処理装置は、ワークを撮像するカメラを有し、当該カメラから取得した画像に基づいてワーク表面における所定の検査範囲を検査し、ワークの良否を判定する画像処理装置において、各画素が、カメラの受光量に応じた濃淡値を有する濃淡画像を取得する濃淡画像取得手段と、カメラから取得した画像を用いて、カメラからワーク表面までの距離を算出する距離算出手段と、各画素が、算出された距離に応じた濃淡値を有する距離画像を生成する距離画像生成手段と、濃淡画像と距離画像の一方の画像において、他方の画像上で検査範囲に相当する検査領域を特定するための特定パターンを検出する特定パターン検出手段と、濃淡画像と距離画像の他方の画像において、特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、検査領域を特定する検査領域特定手段と、特定された検査領域から特徴量を算出する特徴量算出手段と、算出された特徴量に基づいて、ワークの良否を判定する判定手段と、を備える。
【0012】
すなわち、一般的な濃淡画像と、カメラからワーク表面までの距離に応じた濃淡値を有する距離画像との一方の画像で特定パターンを検出し、他方の画像で検出した特定パターンの位置又は傾斜角度の少なくとも一方に基づいて検査領域を特定し、特定された検査領域から特徴量を算出してワークの良否を判定するようにしているので、例えば特定パターンとしてのアライメントマークが、プレスによる僅かな凹凸で構成されるような場合であっても、その凹凸の検出が可能な距離画像において、アライメントマークを検出することができる。これにより、検出されたアライメントマークの位置及び傾斜角度の少なくとも一方に基づいて濃淡画像上で検査領域を特定することができるので、安定的に検査領域を特定することができる。なお、ワークが流れてくる生産ラインの制約上、アライメントマークが傾かない場合には、アライメントマークの位置のみに基づいて検査領域を特定してもよい。逆に、アライメントマークの(重心)位置が定位置である場合には、アライメントマークの傾斜角度のみに基づいて検査領域を特定してもよい。
【0013】
また、本発明に係る画像処理装置は、検査領域特定手段により検査領域を特定するにあたって、他方の画像上で特定パターンと一定の相対位置関係にある基準検査領域の設定を受け付け、一方の画像上で検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、他方の画像上の基準検査領域を位置補正することによって検査領域を特定してもよい。これにより、ユーザは所望の基準検査領域を設定することができるので、画像処理装置の使い勝手を向上させることができる。
【0014】
また、本発明に係る画像処理装置は、検査領域特定手段により検査領域を特定するにあたって、一方の画像上で抽出されたエッジに基づくエッジパターンを特定パターンとし、この特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、他方の画像上でエッジパターンに対応する領域を生成することによって検査領域を特定してもよい。これにより、ユーザは上述した基準検査領域を設定しなくても、検出領域を適切に特定することができ、設定作業の手間を省くことができる。
【0015】
また、本発明に係る画像処理装置は、特定パターンを検出するための検出条件(例えば前処理に用いるフィルタの種類や、検出に用いるしきい値としてのエッジ強度の大きさ、或いは、正規化相関演算により特定パターンを検出するための基準画像など)の設定を受け付ける検出条件設定受付手段と、その検出条件を記憶する検出条件記憶手段とを備え、特定パターン検出出手段は、記憶された検出条件に基づいて、他方の画像上で検査範囲に相当する検査領域を特定するための特定パターンを検出するような構成にしてもよい。これにより、最適な検出条件を設定しておくことにより、特定パターンの検出精度を高めることができ、ひいては検出領域の特定精度を高めることができる。
【0016】
また、濃淡画像を取得するカメラと距離画像の生成に用いるカメラとは同一であるような構成にしてもよい。これにより、同一ワークの同一領域について濃淡画像と距離画像を得ることができるので、カメラ内部およびカメラ間の相対的なパラメータを求める為のキャリブレーションおよび、求められたパラメータに基づいた検出位置の補正をする必要がなく、計測処理の処理負荷を軽減することができる。
【0017】
また、検査領域特定手段は、濃淡画像と距離画像の一方の画像においても、特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、検査領域を特定し、特徴量算出手段は、濃淡画像及び距離画像において特定された検査領域から、それぞれ第一及び第二の特徴量を算出するとともに、判定手段は、第一及び第二の特徴量のうち少なくとも一方に基づいて、ワークの良否を判定するような構成にしてもよい。これにより、第一及び第二の特徴量のいずれか一方を用いた外観検査を行うこともできるし、第一及び第二の特徴量の両方を用いた外観検査を行うこともできるので、画像処理装置のユーザビリティを高めることができる。
【0018】
また、第一及び第二の特徴量の両方に基づいてワークの良否を判定するような構成にしてもよい。これにより、ユーザは、例えば濃淡画像上で検出可能な汚れと距離画像上で検出可能な凹みとのうち、いずれか一方は許容するが他方は許容しない(例えばワークの多少の凹みは許容するが、ワークの汚れは許容しない)、といったようなバリエーション豊富な外観検査を行うことができ、ひいては使い勝手を更に向上させることができる。
【発明の効果】
【0019】
以上説明したように、本発明によれば、安定的に検査領域を特定することができ、ひいては外観検査精度を高めることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施の形態に係る画像処理装置を含む画像システムのシステム構成例を示す図である。
【図2】距離画像について説明するための説明図である。
【図3】本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。
【図4】本実施形態に係る画像処理装置の機能構成例を示す図である。
【図5】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図6】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図7】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図8】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図9】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図10】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図11】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図12】本実施形態に係る画像処理装置において検査領域が特定される様子に関する説明図である。
【図13】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図14】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図15】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図16】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図17】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図18】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図19】本実施形態に係る画像処理装置においてモニタに表示されるユーザインターフェース画面の一例を示す図である。
【図20】、本実施形態に係る画像処理装置の処理動作を示すフローチャートである。
【図21】図4に示す機能構成において濃淡画像取得手段と距離算出手段及び距離画像生成手段とを入れ替えたときのアプリケーション具体例を示す図である。
【図22】アライメントマークを用いずに検査領域を特定するアプリケーション具体例を示す図である。
【図23】本実施形態に係る画像処理装置の別の機能構成例を示す図である。
【図24】検査領域が特定される(検査領域が生成される)様子を示すアプリケーション具体例(外観検査例)である。
【図25】距離画像又は濃淡画像からエッジパターンを生成する方法の一例について説明するための説明図である。
【図26】濃淡画像と距離画像の両方を用いた外観検査を行うアプリケーション例である。
【図27】特徴量算出手段によって第一及び第二の特徴量が算出され、これらのうち少なくとも一方を用いるための選択画面の一例を示す図である。
【図28】特徴量算出手段によって算出された第一及び第二の特徴量の両方を用いて、ワークの良否判定を行うアプリケーション具体例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態に係る画像処理装置について、図面に基づいて具体的に説明する。
【0022】
[システム構成]
図1は、本発明の実施の形態に係る画像処理装置10を含む画像システム1のシステム構成例を示す図である。
【0023】
図1に示す画像システム1は、エッジ検出や面積計算などの計測処理を実行する画像処理装置10と、ワーク(検査対象物)を撮像するカメラ30と、液晶パネル等のモニタ40と、ユーザがモニタ40上で各種操作するためのコンソール50と、ワークを照らす照明装置60と、を有している。カメラ30、モニタ40、コンソール50、及び照明装置60は、画像処理装置10と着脱可能に接続される。これらのうち照明装置60は、距離画像(詳細は後述する)を生成するためにワークを照らす照明手段として用いられ、例えば、ワークに対してライン状のレーザ光を投光する光投影器であってもよいし、ワークに正弦波縞模様パターンを投影するためのパターン投影器であってもよい。図1では省略するが、明視野照明や暗視野照明を行うための一般的な照明装置(例えばリング照明器など)が別途設けられてもよい(照明装置60に、一般的な照明装置としての機能をもたせることも可能である)。
【0024】
画像処理装置10は、カメラ30から得られた画像データを用いて画像処理を実行し、外部接続されたPLC(Programmable Logic Controller)70などの制御機器に対し、ワークの良否などの判定結果を示す信号として判定信号を出力する。
【0025】
カメラ30は、PLC70から入力される制御信号、例えばカメラ30から画像データを取り込むタイミングを規定する撮像トリガ信号に基づいて、検査対象物の撮像を行う。モニタ40は、検査対象物を撮像して得られた画像データや、その画像データを用いた計測処理の結果を表示するための表示装置である。コンソール50は、モニタ40上でフォーカス位置を移動させたり、メニュー項目を選択したりするための入力装置である。一般に、ユーザは、モニタ40を視認することによって、画像処理装置10の運転中の動作状態を確認することができる。また、後述するように、ユーザは、モニタ40を視認しつつ、コンソール50を操作することによって、必要に応じて各種設定や各種編集を行うことができる。
【0026】
また、画像処理装置10は、画像処理装置10の制御プログラムを生成するためのPC80を接続することもでき、このPC80上で動作するソフトウェアによって、画像処理の処理順序を規定する処理順序プログラムを生成することができる。画像処理装置10では、その処理順序に沿って各画像処理が順次実行される。PC80と画像処理装置10とは、通信ネットワークを介して接続されており、PC80上で生成された処理順序プログラムは、例えばモニタ40の表示態様を規定するレイアウト情報などとともに、画像処理装置10に転送される。また逆に、画像処理装置10から処理順序プログラムやレイアウト情報などを取り込んで、PC80上で編集することもできる。なお、この処理順序プログラムは、PC80だけでなく、画像処理装置10においても生成できるようにしてもよい。
【0027】
[距離画像の生成]
図1に示すカメラ30と照明装置60を利用することで得られる「距離画像」とは、ワークを撮像するカメラ30から、ワークまでの距離に応じて各画素の濃淡値が変化する画像をいう。換言すれば、カメラ30からワークまでの距離に基づいて濃淡値が決定される画像ともいえるし、ワークまでの距離に応じた濃淡値を有する多値画像ともいえるし、或いは、ワークの高さに応じた濃淡値を有する多値画像ともいえる。さらに、濃淡画像の画素ごとに、カメラ30からの距離を濃淡値に変換した多値画像ともいえる。例えば、図2(a)に示すように、半径の異なる円柱が2段重なったようなワークの距離画像を考える。ワークの最上面Sとカメラ30までの距離はlであり、ワークの中段面Sとカメラ30までの距離はlであり、ワークの載置面Sとカメラ30までの距離はlであり、ワークの高さはL(=l−l)である。このようなワークから、例えば図2(b)に示すような距離画像を得ることができる。図2(b)によれば、ワークの最上面Sが最も濃く(例えば黒色)、ワークの載置面Sが最も薄く(例えば白色)、ワークの中段面Sがこれらの中間色(例えば灰色)となっている。すなわち、ワークとカメラ30までの距離l,l,l(l<l<l)に応じて、最上面S,中段面S,載置面Sという順番で各画素の濃淡値が小さくなっている。このように、距離画像では、カメラ30からワークまでの距離に応じて各画素の濃淡値が変化する。
【0028】
距離画像を生成するための手法としては、大きく分けて2つの方式があり、一つは、通常の画像を得るための照明条件で撮像した画像を用いて距離画像を生成するパッシブ方式(受動計測方式)、もう一つは、高さ方向の計測をするために光を能動的に照射して距離画像を生成するアクティブ方式(能動計測方式)である。パッシブ方式の代表的な手法は、ステレオ計測法である。これは、カメラ30を2台用意し、これら2台のカメラを所定の位置関係で配置するだけで距離画像を生成できることから、濃淡画像を生成するための一般的な画像システムを利用して距離画像を生成でき、システム構築コストを抑制することができる。しかし、ステレオ計測法では、一方のカメラによって得られる画像中の一点が、他方のカメラによって得られる画像中のどの点に対応しているのかを決定しなければならず、いわゆる対応点の決定処理に時間が掛かるという問題がある。また、全画素において対応点を特定するのは困難であり、この点においても外観検査の高速化には向かない。一方で、アクティブ方式の代表的な手法は、光切断法とパターン投影法である。光切断法は、上述したステレオ計測法において、一方のカメラを光投影器に置き換えて、ワークに対してライン状のレーザ光を投光し、物体表面の形状に応じたライン光の像の歪み具合からワークの3次元形状を復元する。光切断法は、対応点の決定が容易であるため、ステレオ計測法と比べてある程度、計測処理の高速化が期待できる。しかし、それでも1回の計測で1ライン分しか計測できないため、全画素の計測値を得ようとすると、レーザ光の投光を複数回行う必要があり、且つ、対象物又はカメラを走査しなければならず、高速化に限界がある。パターン投影法は、ワークに投影された所定パターンの形状や位相などをずらして複数枚の画像を撮像し、撮像した複数枚の画像を解析することでワークの3次元形状を復元するものである。パターン投影法には幾つか種類があり、正弦波縞模様パターンの位相をずらして複数枚(最低3枚以上)の画像を撮像し、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用してワーク表面上の3次元座標を求める位相シフト法や、2つの規則的なパターンが合成されるときに生じる一種の空間周波数のうなり現象を利用して3次元形状を復元するモアレポトグラフィ法などが代表的である。
【0029】
本実施形態に係る画像処理装置10では、上述した位相シフト法によって距離画像を生成することとしている。これにより、外観検査の高速化に資することができる。なお、本発明は、位相シフト法によって距離画像を生成することに限られず、位相シフト法以外の上述した方法によって距離画像を生成しても構わない。また、上述した方法以外の方法、例えば光レーダ法(タイムオブフライト)、合焦点法、共焦点法、白色光干渉法など、距離画像を生成するために考え得る如何なる手法を採用しても構わない。
【0030】
[ハードウェア構成]
図3は、本実施形態に係る画像処理装置10のハードウェア構成例を示すブロック図である。図3に示すように、画像処理装置10は、各種プログラムに基づき数値計算や情報処理を行うとともに、ハードウェア各部の制御を行う主制御部11を有している。主制御部11は、例えば、中央演算処理装置としてのCPU11aと、主制御部11が各種プログラムを実行する際のワークエリアとして機能するRAMなどのワークメモリ11bと、起動プログラムや初期化プログラムなどが格納されたROM,フラッシュROM,又はEEPROMなどのプログラムメモリ11cとを有している。
【0031】
また、画像処理装置10は、上述した距離画像を生成するために、ワークに対して正弦波縞模様パターンを位相ずらして投影するための照明制御部12と、カメラ30での撮像により得られた画像データを取り込むASIC(Application Specific Integrated Circuit)などから構成される画像入力部13と、コンソール50からの操作信号が入力される操作入力部14と、液晶パネル等のモニタ40に対して画像を表示させる表示用DSPなどから構成される表示制御部15と、外部のPLC70やPC80などと通信可能に接続される通信部16と、エッジ検出や面積計算などの計測処理を実行する演算用DSPなどから構成される画像処理部17と、を有している。なお、画像入力部13には、画像データをバッファリングするためのフレームバッファが含まれていてもよく、画像処理部17には、計測処理用に画像データを記憶するメモリが含まれていてもよく、表示制御部15には、画像を表示させる際に画像データを一時記憶するVRAMなどのビデオメモリが含まれていてもよい。これらの各ハードウェアは、バスなどの電気的な通信路(配線)を介し、通信可能に接続されている。
【0032】
主制御部11内のプログラムメモリ11cには、照明制御部12、画像入力部13、操作入力部14、表示制御部15、通信部16、及び画像処理部17の各部を、CPU11aのコマンド等により制御するための制御プログラムが格納されている。また、上述した処理順序プログラム、すなわち、PC80において生成され、PC80から転送されてきた処理順序プログラムは、プログラムメモリ11cに格納される。
【0033】
通信部16は、外部のPLC70に接続されたセンサ(光電センサ等)でトリガ入力があったときに、PLC70から撮像トリガ信号を受信するインターフェース(I/F)として機能する。また、PC80から転送されてくる画像処理装置10の画像処理プログラムやモニタ40の表示態様を規定するレイアウト情報などを受信するインターフェース(I/F)としても機能する。
【0034】
主制御部11のCPU11aは、通信部16を介してPLC70から撮像トリガ信号を受信すると、画像入力部13に対して撮像指令(コマンド)を送る。また、処理順序プログラムに基づいて、画像処理部17に対して、実行すべき画像処理を指示するコマンドを送信する。なお、撮像トリガ信号を生成する装置として、PLC70ではなく、光電センサなどのトリガ入力用のセンサを、通信部16に直接接続することができるようにしてもよい。
【0035】
操作入力部14は、ユーザの操作に基づきコンソール50からの操作信号を受信するインターフェース(I/F)として機能する。モニタ40には、コンソール50を用いたユーザの操作内容が表示される。具体的に説明すると、コンソール50には、モニタ40上に表示されるカーソルを上下左右に移動させる十字キー、決定ボタン、又はキャンセルボタンなどの各部品が配置されており、これらの各部品を操作することによって、ユーザはモニタ40上で、画像処理の処理順序を規定するフローチャートを作成したり、各画像処理のパラメータ値を編集したり、或いは後述するように、基準検査領域の設定をしたり、特定パターンの検出条件の設定をしたりする。
【0036】
画像入力部13は、画像データの取り込みを行う。具体的には、例えばCPU11aからカメラ30の撮像指令を受信すると、カメラ30に対して画像データ取り込み信号を送信する。そして、カメラ30で撮像が行われた後、撮像して得られた画像データを取り込む。取り込んだ画像データは、一旦バッファリング(キャッシュ)され、予め用意しておいた画像変数に代入される。なお、「画像変数」とは、数値を扱う通常の変数と異なり、対応する画像処理ユニットの入力画像として割り付けることで、計測処理や画像表示の参照先となる変数をいう。
【0037】
画像処理部17は、画像データに対する計測処理を実行する。具体的には、まず画像入力部13が上述した画像変数を参照しつつ、フレームバッファから画像データを読み出して、画像処理部17内のメモリへ内部転送を行う。そして、画像処理部17は、そのメモリに記憶された画像データを読み出して、計測処理を実行する。
【0038】
表示制御部15は、CPU11aから送られてきた表示指令(表示コマンド)に基づいて、モニタ40に対して所定画像(映像)を表示させるための制御信号を送信する。例えば、計測処理前又は計測処理後の画像データを表示するために、モニタ40に対して制御信号を送信する。また、表示制御部15は、コンソール50を用いたユーザの操作内容をモニタ40に表示させるための制御信号も送信する。
【0039】
[機能構成]
図4は、本実施形態に係る画像処理装置10の機能構成例を示す図である。
【0040】
図4に示すように、画像処理装置10は、上述したCPU11aやプログラムメモリ11cに格納された各種プログラムなどによって、ソフトウェア的に、各手段を有する構成となっている。具体的には、画像処理装置10は、濃淡画像取得手段110と、距離算出手段120と、距離画像生成手段130と、検出条件設定受付手段140と、特定パターン検出手段150と、基準検査領域設定受付手段160と、検査領域特定手段170と、特徴量算出手段180と、判定手段190と、を有している。
【0041】
濃淡画像取得手段110は、各画素が、カメラ30の受光量に応じた濃淡値を有する濃淡画像を取得する手段である。例えば、図3に示す主制御部11及び画像入力部13等の機能によって具現化することができる。生成された濃淡画像は、上述した画像入力部13のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。距離算出手段120は、カメラ30から取得した画像を用いて、カメラ30からワーク表面までの距離を算出する手段であり、距離画像生成手段130は、各画素が、算出された距離に応じた濃淡値を有する距離画像を生成する手段である。例えば、図3に示す主制御部11並びに照明制御部12及び画像入力部13等によって具現化することができる。生成された距離画像は、上述した画像入力部13のフレームバッファに記憶してもよいし、他のメモリに記憶してもよい。また、位相シフト法を採用して距離画像を生成する本実施形態では、照明制御部12が、ワークに対して正弦波縞模様パターンを位相ずらして投影するように、照明60を制御し、画像入力部13が、それに応じて正弦波縞模様パターンの位相がずれた画像を複数枚撮像するように、カメラ30を制御する。そして、画像入力部13は、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用して距離画像を生成する。
【0042】
なお、本実施形態では画像入力部13が距離画像の生成処理を行うようにしているが、例えば図3に示す主制御部11や画像処理部17などが距離画像の生成処理を担うこともできる。また、本実施形態では、濃淡画像取得手段110により濃淡画像を取得するカメラと、距離算出手段120によりワーク表面までの距離を算出するカメラとは、同一のカメラ30で構成している。これにより、同一ワークの同一領域について濃淡画像と距離画像を得ることができるので、濃淡画像全体と距離画像全体とを別途位置補正する必要がなく、計測処理の処理負荷を軽減することができる。仮に、濃淡画像取得手段110により濃淡画像を取得するカメラと、距離算出手段120によりワーク表面までの距離を算出するカメラとを別々のカメラで構成する場合には、これらのカメラ間の位置関係から、ワークの任意の箇所について、一方のカメラ画像上の位置と他方のカメラ画像上の位置との対応関係を求めておき、その対応関係を用いて位置補正(キャリブレーション補正)すればよい。また、本実施形態では、濃淡画像取得手段110と距離画像生成手段130を分けた機能構成としているが、一の画像取得手段又は一の画像生成手段という形で纏めることも勿論可能である。
【0043】
検出条件設定受付手段140は、ワークの検査範囲に相当する検査領域を特定するための特定パターンを検出するための検出条件の設定を受け付ける手段である。例えば、図3に示すモニタ40及び表示制御部15、コンソール50及び操作入力部14、及び主制御部11等の機能によって具現化することができる。本実施形態では、特定パターンとして、ワークを位置決めするためのアライメントマーク(十字マークなど)を想定する。ただし、本発明はこれに限られず、ワークの検査範囲に相当する検査領域を特定するためのパターンは全て含むものとする。具体的には、第2実施形態で後述するように、距離画像から抽出されたエッジを含むエッジパターンを想定することも可能である。特定パターンを検出するための検出条件としては、種々の条件が考えられる。例えば、前処理に用いるフィルタの種類(2値化フィルタ、膨張フィルタ、収縮フィルタ、平均化フィルタ、メディアンフィルタ、エッジ強調フィルタ、ソーベルフィルタ、ラプラシアンフィルタ、ガウシアンフィルタ等)や、検出に用いるしきい値としてのエッジ強度(階調変化)の大きさ(エッジ強度の上限や下限など)などが考えられる。また、本実施形態における検出条件には、特定パターンの少なくとも一部を含むように、ユーザにより設定されるパターン領域が含まれる(パターン領域の設定については後述する)。本実施形態では、この設定されたパターン領域において、上述した前処理のうちユーザ所望の前処理を施し(前処理の省略も可能である)、上述したエッジ強度に関する情報(エッジ強度の大きさやエッジ角度など)を検出条件として予め記憶する。このとき、特定パターンを表す特徴量とみなせるエッジ強度の上限や下限の値なども併せて記憶しておくことが好ましい。このように、本実施形態に係る画像処理装置10では、特定パターンを検出するために必要なエッジ強度等の情報を、検出条件として記憶するようにしているため、一般に容量の大きな画像データを記憶しておく必要がない。これにより、メモリ資源の有効活用(効率的に利用)することができる。なお、検出条件記憶手段に記憶される検出条件として画像データを記憶することも可能である。例えば、特定パターンを検出するための基準画像(予め画像処理装置に保存されている基準画像でもよいし、設定作業中に入力された基準画像でもよい)のデータを記憶しておいてもよい。すなわち、正規化相関演算により特定パターンを検出する場合には、正規化相関演算に用いる基準画像が必要になるため、所定の基準画像を検出条件として設定し、記憶しておくこともできる。適宜基準画像を読み出すことができれば、一度設定したパターン領域を自由に編集することができる。
【0044】
図4に示すように、本実施形態に係る検出条件設定受付手段140は、距離画像生成手段130により生成された距離画像に対し、ユーザから検出条件の設定、すなわち上述した前処理の種類やエッジ強度の大きさなどを受け付けるようにしているが、もちろん、濃淡画像取得手段110により取得された濃淡画像に対して検出条件の設定を受け付けるようにすることもできる。また、例えば画像処理装置10において検出条件が固定されている場合には、ユーザから検出条件の設定を受け付けること、つまり検出条件設定受付手段140を省略することも可能である。
【0045】
特定パターン検出手段150は、検出条件設定受付手段140により設定された検出条件に基づいて、濃淡画像上で特定パターンを検出する手段である。例えば、図3に示す主制御部11及び画像入力部13等の機能によって具現化することができる。
【0046】
基準検査領域設定受付手段160は、濃淡画像取得手段110により取得された濃淡画像において、ワークの検査範囲に相当する検査領域を特定するための特定パターンと一定の相対位置関係にある基準検査領域の設定を受け付ける手段である。例えば、図3に示すモニタ40及び表示制御部15、コンソール50及び操作入力部14、及び主制御部11等の機能によって具現化することができる。基準検査領域が特定パターンと一定の相対位置関係にある、とは、例えば、濃淡画像上において左右にXピクセル、上下にYピクセルだけ離間しているとか、特定パターン(本実施形態では後述するようにパターン領域)に対して所定角度θ(一般には0度)だけ傾いている、といった相対位置関係である。つまり、本実施形態でいう相対位置関係には、X軸方向・Y軸方向の相対位置関係のみならず、相対角度関係も含まれている。
【0047】
検査領域特定手段170は、特定パターン検出手段150により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、ワークの検査範囲に相当する検査領域を特定する手段である。例えば、図3に示す主制御部11及び画像処理部17等の機能によって具現化することができる。本実施形態では、特定パターン検出手段150により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、基準検査領域設定受付手段160により設定された基準検査領域を位置補正することにより、検査領域を特定するようにしている。なお、この検査領域の特定については、図5以降で更に詳しく説明する。
【0048】
特徴量算出手段180は、特定された検査領域から特徴量を算出する手段であり、判定手段190は、算出された特徴量に基づいて、ワークの良否を判定する手段である。これらは、例えば、図3に示す主制御部11及び画像処理部17等の機能によって具現化することができる。特徴量算出手段180による特徴量の算出には、様々なものが考えられ、例えば、検査領域内から(2値化等により)検出された計測対象の面積を計測する「エリア」、特定のパターンを検出する「パターンサーチ」、エッジの位置や幅を計測する「エッジ位置」や「エッジ幅」、濃淡変化によって傷を検出する「傷」、2値画像内で同一の濃度をもった画素の集合であるブロブの数・面積・重心位置などを計測する「ブロブ」などである。判定手段190は、算出された特徴量をもとに、例えば所定面積以上のブロブが存在しなかったらOK判定、逆に、所定面積以上のブロブが存在したらNG判定、というように、OK・NGの判定を行う。また、パターンマッチングにより特定のパターンが存在したらOK判定、逆に存在しなかったらNG判定を行う。判定結果は、通信部16により判定信号として外部機器(PLC70等)に出力される。
【0049】
[検査領域の特定]
図5〜図12は、本実施形態に係る画像処理装置10において検査領域が特定される様子に関する説明図である。なお、図5〜図12は、モニタ40に表示される画面の一部である。
【0050】
まず、図5〜図7を用いて、従来の濃淡画像のみを用いた従来の外観検査における検査領域の特定について説明する。図5に示すように、カメラ30を介して取得される濃淡画像には、十字マークからなるアライメントマークM1と、検査対象となる文字「ABC」とが存在している。ここでいうアライメントマークM1は、上述したいわゆる特定パターンの一例である。ユーザは、コンソール50を用いてアライメントマークM1を囲むようにパターン領域R1を設定する。また、計測対象となる文字「ABC」を囲むように基準となる検査領域、すなわち基準検査領域R2を設定する。このとき、基準検査領域R2は、パターン領域R1内のアライメントマークM1と一定の相対位置関係にあり、この相対位置関係は画像処理装置10(例えば主制御部11又は画像処理部17)に記憶される。なお、基準検査領域R2とパターン領域R1との相対的位置関係を一定としてもよい。
【0051】
次に、実際に画像処理装置10の運転中において、ワークの位置や姿勢がずれて、結果的に、濃淡画像上で「ABC」が図5に示す位置からずれる場合がある。このような場合であっても、アライメントマークM1が検出されれば、位置補正が可能となり、検査領域の特定が可能になる。例えば図6に示すように、濃淡画像上でワークが図の右上の方に平行移動したとしても、これに伴い右上の方に平行移動したアライメントマークM1(パターン領域R1’)の位置を検出して、検出したアライメントマークM1の位置に基づいて、基準検査領域R2を位置補正した検査領域R2’を特定することができる。また、例えば図7に示すように、濃淡画像上でワークが図の右の方に平行移動し、上の方に少し平行移動し、左回りに約20度回転したとしても、これに伴い移動したアライメントマークM1(パターン領域R1’’)の位置を検出して、検出したアライメントマークM1の傾斜角度に基づいて、基準検査領域R2を位置補正した検査領域R2‘’を特定することができる。
【0052】
しかし、アライメントマークM1が検出不可能なときには、検査領域の特定は困難になる。例えば図8に示すように、アライメントマークM1が凹凸で形成されているような場合である(説明の便宜上、凹凸で形成されたアライメントマークM1の輪郭部分を太い点線で示すが、実際は、図8に示す濃淡画像上にはアライメントマークM1は殆ど現れない)。この場合、例えば図8に示すようなパターン領域R1と基準検査領域R2を設定したとしても、画像処理装置10の運転中に、様々な位置に移動するアライメントマークM1の位置の傾斜角度を検出することができない。その結果、例えば図9に示すようにアライメントマークM1の位置や傾斜角度を検出できず、基準検査領域R2の位置補正を行うことができない。
【0053】
そこで、本実施形態に係る画像処理装置10では、ユーザは、濃淡画像ではなく距離画像において、アライメントマークM1を囲むようにパターン領域R1を設定できるようになっている。図10〜図12を用いて、本実施形態に係る画像処理装置10において検査領域が特定される様子について説明する。
【0054】
図10に示すように、アライメントマークM1の輪郭部分が凹凸で形成されているような場合であっても、距離画像にはそれが明瞭に現れる。なぜなら、距離画像はワークとカメラ30との距離に応じた濃淡値を有するからである。図10では、アライメントマークM1の輪郭部分のうち凹みの箇所の色が薄くなっている。ユーザは、図10に示す距離画像において、コンソール50を用いてアライメントマークM1を囲むようにパターン領域R1を設定する。なお、計測対象となる文字「ABC」は、ワークに印字等されただけの平面形状からなる文字であり、凹凸形状の文字ではないため、距離画像には現れない。基準検査領域R2は、図8に示すように、文字「ABC」が明瞭に現れる濃淡画像において設定する。
【0055】
このような設定作業が完了した後、実際に画像処理装置10の運転を開始すると、図11に示すように、アライメントマークM1が明瞭に現れる距離画像を用いれば、このアライメントマークM1を検出することができる。そして、図10に示すアライメントマークM1と、図11に示す運転中に検出されたアライメントマークM1との位置および傾斜角度(の差)を計算することにより、画像処理装置10(画像処理部17)は、図8に示す基準検査領域R2をどれくらい位置補正すればよいか、また、どれくらい角度補正すればよいかを認識することができる。したがって、図12に示すように、今度は濃淡画像上で、位置補正された検査領域R2’’を特定することができる。なお、本実施形態では、図8において、図10に示すパターン領域R1の設定を行ったが、図8においてこれを行わなくてもよい。また逆に、図10において、図8に示す基準検査領域R2の設定を行っていないが、図10においてこれを行ってもよい。要は、少なくとも距離画像上でパターン領域の設定が行われ、少なくとも距離画像上で基準検査領域の設定が行われればよい。また、本実施形態では、パターン領域を設定する際にアライメントマークM1の全てを囲むように設定しているが、アライメントマークM1の一部を囲むように設定してもよい。
【0056】
図13〜図19は、本実施形態に係る画像処理装置10においてモニタ40に表示されるユーザインターフェース画面の一例を示す図である。
【0057】
図13に示すように、ウィンドウ名「設定0000」の内部には、設定の編集1001が表示されている。ユーザは、コンソール50を用いて「ウィンドウ」ボタンを選択すると、その右側に、「ウィンドウ追加」なる名称の更なるウィンドウが現れる。このウィンドウには、ウィンドウ番号1002と計測方法1003とが表示されている。ここでは、ウィンドウ番号1002として「000」、計測方法1003として「パターンサーチ」を選択し、その下方のOKボタンをクリックする。そうすると、図14に示すように、ウィンドウ番号「000」、ウィンドウ名「パターンサーチ」からなるウィンドウの詳細設定画面が現れる(この設定画面の上部バーには、「W000:パターンサーチ」と表示されている)。この詳細設定画面では、使用画像1006と、サーチ領域1007と、パターン領域1008と、前処理1009と、詳細設定1010のそれぞれについて、ユーザ所望の項目を選択できるようになっている。使用画像1006は、アライメントマークM1を検出するための検出条件を設定する際に使用する画像を意味しており、例えば、入力画像か登録画像かをチェックボックスにより選択可能となっている。なお、図14では登録画像にチェックが入っているが、これは、予め画像処理装置10に保存しておいた画像を使用する場合である。登録画像の保存は、設定の編集1001内の「画像登録」ボタンから行うことができる(設定方法の詳細は省略する)。使用画像として登録画像を用いれば、パターン領域やサーチ領域の設定だけでなく、一度設定したパターン領域やサーチ領域の編集を、後々に自由に行うことができる。一方、使用画像にチェックを入れた場合には、パターン領域やサーチ領域を設定しようとする度に、カメラ30から濃淡画像又は距離画像を取得しなければならないが、画像登録が不要になるため、メモリ資源を有効活用することができる。また、ユーザは、濃淡画像と登録画像をチェックボックスにより選択可能となっており、図14では、距離画像が選択されている。したがって、まずは、距離画像に関する設定を行うことになる。また、ユーザは、画像番号を選択することも可能となり、入力画像や登録画像が複数ある場合には、どの画像を使用画像1006とするかを選択できる。図14では、「000−2」が選択されているが、これは000番の登録画像を意味している。ハイフンより後の「2」は、登録画像が濃淡画像と距離画像のうちの距離画像であることを示している。サーチ領域1007とパターン領域1008については、後述する。前処理1009は、設定したパターン領域R1(図10参照)の中からアライメントマークM1の特徴量を抽出しやすくするための前処理である。例えば、上述した各種フィルタのうちどのフィルタを用いるか等である。ここでは「ガウシンフィルタ」を用いるように選択している。詳細設定1010は、その他の詳細な設定であり、例えば、上述したエッジ強度の大きさなどが挙げられる。
【0058】
次に、図14において、サーチ領域1007とパターン領域1008にチェックを入れた状態でOKボタンをクリックすると、画面は図15に示す画面に切り替わる。サーチ領域1007は、上述した000番の登録画像(距離画像)のうち、アライメントマークM1のサーチ対象となる領域を示すものである。パターン領域1008は、アライメントマークM1の少なくとも一部を囲むように設定され、アライメントマークM1を検出するために設定される領域である。図15では、既にサーチ領域S1が設定され、アライメントマークM1の全部を囲むようにパターン領域R1(本実施形態では、「ウィンドウW000」と別称する)が設定されている。このようにしてサーチ領域1007とパターン領域1008の設定が終わり、OKボタンをクリックすると、上述したようにアライメントマークM1の特徴量を抽出するための処理が行われる。具体的には、主制御部11は、000番の登録画像のうちウィンドウW000の領域内で、例えば、ガウシアンフィルタのフィルタ処理を施してノイズを削減し、エッジ処理を施し、設定したエッジ強度を用いてエッジとみなすべき箇所を認識し、必要に応じてX方向又はY方向に投影処理を行い、処理結果をアライメントマークM1の特徴量としてワークメモリ11b等に記憶する。このように、本実施形態ではウィンドウW000内の画像データを記憶しておくのではなく、ウィンドウW000内にあるアライメントマークM1の特徴量を記憶している。これにより、使用メモリ容量を削減することができる。なお、ウィンドウW000内の画像データをワークメモリ11b等に記憶しておいても構わない。
【0059】
次に、再び図14において、今度は濃淡画像を選択し、上述同様、サーチ領域とパターン領域の設定を行う。例えば図16に示すように、検査対象となる「ABC」を囲むようにパターン領域R1(本実施形態では、「ウィンドウW001」と別称する)を設定する。これにより、このウィンドウW001で囲まれる領域が、基準検査領域となる。つまり、ユーザは、パターン領域R1を設定し、画像上にウィンドウを設定する作業を繰り返すことによって(結果的に、濃淡画像又は距離画像に複数枚のウィンドウを設定することによって)、特定パターンとしてのアライメントマークM1の特徴量を検出するための領域設定を行うこともできるし(図15のW000)、検査対象となる文字等を検出するための領域設定を行うこともできるようになっている(図16のW0001)。
【0060】
次に、図17に示すように、設定の編集1001のうち位置補正を選択し、補正元1011と補正先1012のウィンドウを選択する。補正元1011は、位置補正をする際の基準となるウィンドウであり、補正先1012は、補正元1011のウィンドウを用いて位置補正の対象となるウィンドウである。図17では、補正元1011として、ウィンドウW000が選択され、補正先1012として、ウィンドウW0001が選択されている。また、ウィンドウW000とウィンドウW001の間には、X方向,Y方向,θ方向(回転方向)のいずれの方向に位置補正を施すかを選択するためのチェックボックスが表示されている。図17では、全てのチェックボックスにチェックが入っているため、水平方向の位置補正、傾斜角度の角度補正を行う設定となっている。
【0061】
最後に、設定の編集1001のうち出力設定を選択し、その右方に表示された判定ウィンドウ1013において、判定対象とするウィンドウを選択する。つまり、設定したウィンドウW000とW001のうち、基準検査領域として扱うウィンドウを選択する。図18では、(濃淡画像上で設定された)ウィンドウW001を基準検査領域として選択している。なお、仮に、(距離画像上で設定された)ウィンドウW000を基準検査領域として選択すると、計測対象であった文字「ABC」がアライメントマークになり、アライメントマークM1が計測対象(検査対象)になる。なお、図13〜図18の右上には「設定中」1004の表示がなされており、これは、画像処理装置10の運転を開始する前の設定作業をしている最中であることを示す。つまり、画像処理装置10は、ユーザ又はPLC70などから外観検査に必要な各種設定作業を受け付ける設定機能と、ワークの良否を判定する運転機能とを併有する装置であるといえる。
【0062】
図19は、本実施形態に係る画像処理装置10において、運転中にモニタ40に表示されるユーザインターフェース画面の一例を示す図である。図19の右上には、運転中1015の表示がなされている。この表示がなされているときは、画像処理装置10は、生産ラインを高速で流れてくるワークをカメラ30により撮像し、距離画像を生成し、検査領域を特定(位置補正)し、各種計測処理を行う、という一連の処理を、複数のワークに対して例えば数十ms間隔で高速に行っている。なお、例えばコンソール50の切り替えスイッチ(図示せず)を押すことによって、或いは、PLC70等から外部信号を受信することによって、設定中1004の表示がなされる設定モードから、運転中1015の表示がなされる運転モードに切り替えることができる。
【0063】
図19に示すように、左上には設定番号が表示され、その下方には、計測回数、NG回数、計測時間、トリガ間隔、判定ウィンドウ1013が表示されている。この判定ウィンドウ1013は、W001に設定されており、図18を用いて設定したウィンドウである。画面上の中央から右下にかけて、カメラ30から取得される濃淡画像が表示されている。一方、生成された距離画像は表示されていないが、裏でアライメントマークM1の検出が行われ、検出したアライメントマークM1の位置や傾斜角度に基づいて、基準検査領域R2の位置補正が行われ、検査領域R2’’が特定される。このようにして、本実施形態に係る画像処理装置10によれば、安定的に検査領域を特定することが可能になる。
【0064】
なお、図19では、濃淡画像のみを表示させる表示態様にしているが、表示切替1014のボタンを操作する等により、濃淡画像と距離画像とを一画面中に分割表示させる表示態様にしてもよい。或いは、表示切替1014のボタン操作により、濃淡画像と距離画像の表示が交互に切り替わるような構成にしてもよい。また、ここではW000もW001も検査方法はパターンサーチとしているが、例えばW000は傷検査にしてもよい。
【0065】
図20は、本実施形態に係る画像処理装置10の処理動作を示すフローチャートである。
【0066】
図20に示すように、濃淡画像取得手段110によって濃淡画像の取得処理(ステップS1)が行われる一方で、距離算出手段120及び距離画像生成手段130によって距離画像の生成処理(ステップS2)が行われる。本フローチャートでは同時平行して行うようにしているが、例えば濃淡画像の取得処理をした後に距離画像を生成するなど、シリアル処理にしても構わない。
【0067】
次いで、特定パターン検出手段150により特定パターンの検出が行われる(ステップS3)。本実施形態では、検出条件設定受付手段140により設定された検出条件(パターン領域やエッジ強度など)に従って(図14、図15参照)、特定パターンが検出される。
【0068】
次いで、検査領域特定手段170により検査領域の特定が行われる(ステップS4)。本実施形態では、基準検査領域設定受付手段160によって設定された基準検査領域とアライメントマークM1とに従って(図16参照)、検査領域が特定される。すなわち、本実施形態では、基準検査領域設定受付手段160によって設定された基準検査領域が、ステップS150で検出された特定パターン(アライメントマークM1)の位置や傾斜角度に基づいて位置補正・角度補正される。
【0069】
そして、特徴量算出手段180により特徴量の算出が行われ(ステップS5)、判定手段190によりワークの良否判定が行われ(ステップS6)、一連の処理が終了する。このような一連の処理を、生産ラインを流れてくるワークの一つ一つに対して行う。すなわち、図20に示す処理動作は、所定の間隔(例えば数十ms)で高速に繰り返し実行される。
【0070】
以上説明したように、例えば特定パターンとしてのアライメントマークM1がプレスによる僅かな凹凸で構成されるような場合であっても(図8参照)、その凹凸の検出が可能な距離画像において、アライメントマークM1を検出することができるので(図19参照)、検出されたアライメントマークM1の位置及び傾斜角度の少なくとも一方に基づいて、濃淡画像上で検査領域を特定することができ、ひいては安定的に検査領域を特定することができる。
【0071】
[変形例]
上述した実施形態では、アライメントマークM1がプレスによる僅かな凹凸で構成されることにより、アライメントマークM1を濃淡画像上で検出できない例について説明したが、例えば図21に示すように、アライメントマークM2を距離画像上で検出できないケースも考えられる。図21は、図4に示す機能構成において濃淡画像取得手段110と距離算出手段120及び距離画像生成手段130とを入れ替えたときのアプリケーション具体例を示す図である。具体的には、図21(a)に示すように、アライメントマークM2がワークの左端に(凹凸を無視できる程度で)印字されており、ワークの中央付近には、(正しい位置に形成されているか否かの)検査対象となる4個の凸部が形成されている。このようなワークの濃淡画像では、図21(b)に示すように、アライメントマークM2は明瞭に現れる一方、4個の凸部は明瞭に現れない。しかし、図21(c)に示すように、距離画像では、アライメントマークM2は全く現れないが、4個の凸部は明瞭に現れる。したがって、図21(b)に示す濃淡画像において、図15を用いて説明したようなパターン領域R1を設定し、図21(c)に示す距離画像において、図16を用いて説明したような基準検査領域R2−1〜R2−4を設定する。これにより、画像処理装置10の運転中に、ワークの位置がずれたとしても、濃淡画像からアライメントマークM2を検出し、検出したアライメントマークM2に基づいて、基準検査領域R2−1〜R2−4の位置を補正することができる。
【0072】
次に、上述した実施形態ではワークにアライメントマークが形成されていたが、本発明はこれに限られず、他の変形例として、ワークにアライメントマークが形成されていない場合も想定される。図22には、アライメントマークを用いずに検査領域を特定するアプリケーション具体例を示す図である。具体的には、図22(a)に示すように、上段と下段からなるワークにおいて、上段に検査対象となる文字「ABC」が(凹凸を無視できる程度で)印字されているものとする。このようなワークの濃淡画像では、図22(b)に示すように、文字「ABC」が明瞭に現れる一方、上段と下段の段差部分は現れない(段差に起因する影などの影響は無視するものとする。また、図22(b)中のR2は、濃淡画像に重ねて表示した基準検査領域を示すウィンドウであり、段差部分が画像として現れているわけではない)。一方で、距離画像では、図22(c)に示すように、上段と下段の段差部分が画像の濃淡として明瞭に現れる。したがって、図15を用いて説明したようなパターン領域R1を予め設定しておかなくても、図22(c)に示す距離画像においてエッジ抽出し、抽出されたエッジを含むパターンをエッジパターンR1とし、図22(b)に示す濃淡画像上で、このエッジパターンR1に対応する領域を生成することによって、検査領域R2を特定することも可能である。要は、上述した実施形態のように、予め設定した基準検査領域を位置補正するのではなく、抽出されたエッジパターンに基づいて対応領域を生成することによって、検査領域を特定することも可能である。
【0073】
図23は、本実施形態に係る画像処理装置10の別の機能構成例を示す図である。なお、図4と主に異なるところは、エッジ検出手段200が存在することである。
【0074】
エッジ検出手段200は、図23においては距離画像からエッジを抽出する手段である。この際、エッジ抽出条件としてエッジ強度等が挙げられるが、検出条件設定受付手段140により設定された検出条件を用いることが可能である。もちろん、予めエッジ抽出条件を画像処理装置10に記憶させておくことで、ユーザが検出条件設定受付手段140を通じて検出条件を設定する手間を省いてもよい。
【0075】
検査領域特定手段170は、エッジ検出手段により検出されたエッジを含むエッジパターンR1の位置と傾斜角度の少なくとも一方に基づいて、濃淡画像上でエッジパターンに対応する領域R2を生成する。これにより、検査領域R2を特定することが可能になる。このように、基準検査領域の設定を省いた上で、検査領域を安定的に特定することも可能である。
【0076】
図24は、図23に示す機能構成に基づいて、基準検査領域設定受付手段160により基準検査領域が設定されることなく、また、検出条件設定受付手段140により検出条件のうちパターン領域が設定されることなく、検査領域が特定される(検査領域が生成される)様子を示すアプリケーション具体例(外観検査例)である。
【0077】
図24(a)に示すように、ワークが上段面A1と下段面A2からなる二段の平面を有する場合において、上段面A1にも下段面A2にも汚れが付着しているが、上段面A1に汚れが付着しているか否かのみの外観検査を行いたいとする(すなわち、下段面A2に汚れが付着することは許容する外観検査を行いたいとする)。このような場合において、図24(b)に示すように、ワークの濃淡画像には、汚れが2箇所付着していることが明瞭に現れる一方、図24(c)に示すように、ワークの距離画像には、汚れが付着していることは全く現れない。その代わり、上段面A1と下段面A2とが濃淡の差により明瞭に現れる。仮に、図24(d)のように、ワークが位置ずれし、濃淡画像上において上段面A1の位置が右上の方に移動した場合には、当然のことながら、図24(e)に示すように、距離画像においても上段面A1の位置が右上に移動する。
【0078】
したがって、図22及び図23を用いて説明したように、距離画像からエッジを検出し、抽出されたエッジに基づくエッジパターンの位置及び傾斜角度に基づいて、濃淡画像上でエッジパターンに対応する領域を生成することにより、図24(f)に示すように、検査領域R3を安定的に特定することができる。検査領域R3を安定的に特定できれば、例えば上述したブロブ演算等、検査領域R3内で特徴量算出処理を行うことによって、上段面A1に汚れが付着しているか否かのみの外観検査を行うことができる。なお、ここでは、距離画像からエッジを検出するようにしたが、濃淡画像からエッジを検出するような構成であってもよいことは勿論である。
【0079】
ここで、距離画像又は濃淡画像からエッジパターンを生成する方法の一例について、図25を用いて説明する。図25は、距離画像又は濃淡画像からエッジパターンを生成する方法の一例について説明するための説明図である。
【0080】
図25(a)に示すように、画像上でエッジ検出領域E1〜E4の設定を行う。このエッジ検出領域は、検出条件設定受付手段140を通じて、ユーザがエッジを含むと思う領域にウィンドウを設定する。その結果、エッジ検出領域E1〜E4の位置情報などは、検出条件の中に含まれる。画像処理装置10の運転時において、図25(b)に示すように、エッジ検出領域E1〜E4においてエッジが検出され、検出されたエッジを基にして4本からなるエッジを含む直線が推定される(図25(c))。そして、これら4本の直線に基づく四角枠をエッジパターンにすることができる(図25(d))。このようにして、エッジパターンを生成することができる。なお、図24のアプリケーション例では、図24(e)に示す距離画像から生成されたエッジパターンの内部の画像領域を外観検査の検査対象としたが、例えば、図24(e)に示す距離画像から生成されたエッジパターンの外部の画像領域を外観検査の検査対象としてもよい。この場合、ワークの下段面に汚れが付着しているか否かを外観検査することができる。
【0081】
図26は、濃淡画像と距離画像の両方を用いた外観検査を行うアプリケーション例である。より具体的には、ボールグリッドアレイ(BGA)の外観検査を行う例である。図26(a)は、BGAの濃淡画像であり、図26(b)は、BGAの距離画像である。図26(a)に示すように、濃淡画像には、ワークの左上にアライメントマーク(十字)が明瞭に現れている一方で、図26(b)に示すように、距離画像には、アライメントマークが明瞭に現れていない。これはアライメントマークが平面形状の十字マークだからである。このような場合には、図26(c)に示すように、濃淡画像を用いてアライメントマークの座標(x,y)を検出する。そして、上述した各実施例で検査領域を特定したように、BGAの各凸部を検査領域と考えた場合、BGAの各凸部の座標位置を座標(x,y)に基づき補正することができる。そして、補正されたBGAの凸部の座標位置を(x,y)としたとき、(x,y)−(x,y)=(x,y)を算出するとともに、距離画像から、座標位置(x,y)における濃淡値に基づいて凸部の高さzを算出する。そして、算出された(x,y)と高さzが所定の範囲内に収まっていれば、ワーク良品と判定する。このように、濃淡画像と距離画像の双方を用いて、安定的に検査領域の位置補正を行うとともに、BGAの各凸部の位置が正しい位置にあり、かつ、正しい高さにあるか否か、といった特殊な外観検査を行うことが可能になる。
【0082】
このように、本実施形態に係る画像処理装置10によれば、濃淡画像と距離画像の双方を用いた外観検査も可能になる。なお、例えば濃淡画像と距離画像のいずれの特徴量を用いて外観検査を行うかの選択を行うことができるようにしてもよい。図27は、特徴量算出手段180によって第一及び第二の特徴量が算出され、これらのうち少なくとも一方を用いるための選択画面の一例を示す図である(例えばモニタ40でコンソール50を用いて選択可能としてもよい)。図27に示すように、ウィンドウW000から得られる特徴量に基づく判定がOKで、ウィンドウW001から得られる特徴量に基づく判定がOKのとき、OK判定を出すか(図27の上から2段目)、ウィンドウW000から得られる特徴量に基づく判定がOKで、ウィンドウW001から得られる特徴量に基づく判定がNGのとき、OK判定を出すか(図27の上から3段目)、ウィンドウW000から得られる特徴量に基づく判定がNGで、ウィンドウW001から得られる特徴量に基づく判定がOKのとき、OK判定を出すか(図27の上から4段目)、をユーザが選択できるようにしてもよい。
【0083】
つまり、検査領域特定手段170が、濃淡画像と距離画像の両方の画像において、特定パターン検出手段150により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、検査領域を特定し、特徴量算出手段180が、濃淡画像及び距離画像において特定された検査領域から、それぞれ第一及び第二の特徴量を算出し、判定手段190が、第一及び第二の特徴量のうち少なくとも一方に基づいて、ワークの良否を判定するようにしてもよい。
【0084】
特に、上述したように第一及び第二の特徴量に基づいてワークの良否を判定するようにすれば、特殊な外観検査が可能になる。図26とは別の例について説明する。
【0085】
例えば、ワークの多少の凹みは許容するが(OK判定にしたい)、ワークの汚れは許容しない(NG判定にしたい)、という特殊な外観検査を考えた場合に、濃淡画像のみを用いた外観検査では、凹み部分に生じる影の影響で、実際には凹み部分は汚れていなくても濃淡画像上でその凹み部分に汚れが付着しているように見えるときがある。このとき、濃淡画像上で特定された検査領域から算出した第一の特徴量(例えば暗い部分の面積など)だけでは、実際に汚れている部分のみならず、上述した凹み部分もNG判定となってしまい、ワークの多少の凹みを許容することができない。一方で、距離画像上で特定される検査領域から算出した第二の特徴量(例えば暗い部分の面積など)だけでは、そもそもワークの汚れをNG判定にすることができない。そこで、本実施形態に係る画像処理装置10によれば、濃淡画像上で特定された検査領域から算出した第一の特徴量に基づいて、NG判定の要因となる検査領域内の一又は複数の第一特定箇所(つまり汚れている箇所)を抽出するとともに、距離画像上で特定される検査領域から算出した第二の特徴量に基づいて、NG判定の要因となる検査領域内の位置又は複数の第二特定箇所(つまり凹んでいる箇所)を抽出することができる。したがって、第一特定箇所から第二特定箇所を差し引いてもなお第一特定箇所が残る場合には、その残った第一特定箇所は汚れてはいるが凹んではいない箇所となるため、このような第一特定箇所が存在する場合にNG判定とすることにより、ワークの多少の凹みは許容するが(OK判定にしたい)、ワークの汚れは許容しない(NG判定にしたい)、という外観検査を行うことができる。
【0086】
図28は、特徴量算出手段180によって算出された第一及び第二の特徴量の両方を用いて、ワークの良否判定を行うアプリケーション具体例を示す図である。
【0087】
図28(a)に示すように、ワークの上段面には汚れと凹みがある。このときの濃淡画像は、図28(b)に示すものとなり、このときの距離画像は図28(c)に示すものとなる。図28(b)に示す濃淡画像上では、凹みの部分が影によって汚れが付着しているように見えている。ワークが位置ずれした場合には、それぞれ図28(d)、図28(e)となる。ここで、距離画像のエッジパターンに基づいて濃淡画像上の検査領域R4を特定するとともに、距離画像上においても検査領域R5を特定する(図28(f),図28(g))。そして、検査領域R4及び検査領域R5においてブロブ処理等を行えば、図28(h)及び図28(i)に示すように、濃淡の変化を検出することができるが、上述したように、検査領域R5において検出された濃淡の変化は凹みによるものであるため、濃淡画像において、それに相当する汚れ部分を除く。その結果、図28(j)に示すように、それでも濃淡の変化(ブロブ)が残っていることから、このワークには汚れが付着していることがわかり、NG判定になる。このように、ワークの多少の凹みは許容するが(OK判定にしたい)、ワークの汚れは許容しない(NG判定にしたい)、といった外観検査を行うことができる。なお、画像処理装置10に、外観検査における画像処理の実行条件の設定をユーザから受け付けるための実行条件設定受付手段(コンソール50、操作入力部14、主制御部11等からなる)を設けて、あるウィンドウでの検査(画像処理)がOKだった場合に、別のウィンドウでの検査(画像処理)を行う、といった実行条件や、或いは、あるウィンドウでの検査(画像処理)がNGだった場合には、その後の検査は行わず検査終了にする、といった実行条件などをユーザが設定可能にしてもよい。図28の例でいえば、距離画像を用いた検査領域R5でNG判定がされたとき、NG判定の対象となった特定のブロブの位置に基づいて、検査領域R4で対応する位置にあるブロブは削除(無視)し、それ以外でもブロブが検出された場合には(図28(i)参照)、NG判定を行う、といった実行条件を設定してもよい。その他、実行条件の設定内容は、種々の内容が考えられる。
【0088】
また、他のアプリケーション例として、距離画像において、一定高さ以上の部分を計測領域とすることが考えられる。これにより、動的に変化したり変形したりする製品や、濃淡画像上不安定でノイズのある製品においても、輪郭ぎりぎりまで検査領域とすることができる。例えば、製品輪郭が垂直ではなくR面をもっているような製品について、凹凸検査や異物検査(濃淡変化)を画像処理によって行う場合、一定以上の高さを持つ領域を検査領域にすることによって、輪郭付近を含めてぎりぎりまで計測することができる。また、画面内の一定高さ以上を全て計測領域とする、という設定によれば、2次元空間上の位置ずれを気にすることなく、また、検査領域を2次元座標で指定することなく、目的のエリア内の検査を行うことが可能になる。設定手順としては、例えば、(1)コンソール50等によって距離画像上で一定の高さ以上(一定の階調以上)、というパラメータを設定する、(2)画面内で一定の高さ以上の部分が切り出される、(3)切り出された一定の高さ以上の部分を検査領域として、高さ情報による凹凸検査や濃淡情報による異物(濃淡変化)検査を行う、(4)切り出された領域は固定ではなく、検査ごとに一定高さ以上の部分を領域として切り出すため、動的な製品形状変化に対し、検査領域として追従させることができる。毎回追従する必要がない場合には、マスター画像(基準距離画像)より切り出した領域をテンプレートとしてもち、検査領域とすることができる。
【符号の説明】
【0089】
10 画像処理装置
11 主制御部
12 照明制御部
13 画像入力部
14 操作入力部
15 表示制御部
16 通信部
17 画像処理部
30 カメラ
40 モニタ
50 コンソール
60 照明
70 PLC
80 PC
110 濃淡画像取得手段
120 距離算出手段
130 距離画像生成手段
140 検出条件設定受付手段
150 特定パターン検出手段
160 基準検査領域設定受付手段
170 検査領域特定手段
180 特徴量算出手段
190 判定手段


【特許請求の範囲】
【請求項1】
ワークを撮像するカメラを有し、当該カメラから取得した画像に基づいてワーク表面における所定の検査範囲を検査し、ワークの良否を判定する画像処理装置において、
各画素が、前記カメラの受光量に応じた濃淡値を有する濃淡画像を取得する濃淡画像取得手段と、
前記カメラから取得した画像を用いて、前記カメラからワーク表面までの距離を算出する距離算出手段と、
各画素が、算出された距離に応じた濃淡値を有する距離画像を生成する距離画像生成手段と、
前記濃淡画像と前記距離画像の一方の画像において、他方の画像上で前記検査範囲に相当する検査領域を特定するための特定パターンを検出する特定パターン検出手段と、
前記濃淡画像と前記距離画像の他方の画像において、前記特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、前記検査領域を特定する検査領域特定手段と、
特定された前記検査領域から特徴量を算出する特徴量算出手段と、
算出された特徴量に基づいて、ワークの良否を判定する判定手段と、を備えることを特徴とする画像処理装置。
【請求項2】
前記濃淡画像と前記距離画像の他方の画像において、前記特定パターンと一定の相対位置関係にある基準検査領域の設定を受け付ける基準検査領域設定受付手段を備え、
前記検査領域特定手段は、前記特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、前記基準検査領域を位置補正することにより前記検査領域を特定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記濃淡画像と前記距離画像の一方の画像からエッジを抽出するエッジ抽出手段を備え、
前記検査領域特定手段は、前記エッジ抽出手段により抽出されたエッジに基づくエッジパターンの位置及び傾斜角度の少なくとも一方に基づいて、他方の画像上で当該エッジパターンに対応する領域を生成することにより、前記検査領域を特定することを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記特定パターンを検出するための検出条件の設定を受け付ける検出条件設定受付手段と、
受け付けた検出条件を記憶する検出条件記憶手段と、を備え、
前記特定パターン検出出手段は、前記検出条件記憶手段に記憶された検出条件に基づいて、他方の画像上で前記検査範囲に相当する検査領域を特定するための特定パターンを検出することを特徴とする請求項1から3のいずれか記載の画像処理装置。
【請求項5】
前記検出条件は、少なくとも前記特定パターンを検出するためのエッジ強度が含まれることを特徴とする請求項4記載の画像処理装置。
【請求項6】
前記濃淡画像取得手段により受光量に応じた濃淡値を有する濃淡画像を取得するカメラと、前記距離算出手段によりワーク表面までの距離を算出するカメラとは、同一のカメラであることを特徴とする請求項1から5のいずれか記載の画像処理装置。
【請求項7】
前記検査領域特定手段は、前記濃淡画像と前記距離画像の一方の画像においても、前記特定パターン検出手段により検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、前記検査領域を特定し、
前記特徴量算出手段は、前記濃淡画像及び前記距離画像において特定された検査領域から、それぞれ第一及び第二の特徴量を算出するとともに、
前記判定手段は、前記第一及び第二の特徴量のうち少なくとも一方に基づいて、ワークの良否を判定することを特徴とする請求項1から6のいずれか記載の画像処理装置。
【請求項8】
前記判定手段は、前記第一及び第二の特徴量に基づいて、ワークの良否を判定することを特徴とする請求項7記載の画像処理装置。
【請求項9】
ワークを撮像するカメラを有し、当該カメラから取得した画像に基づいてワーク表面における所定の検査範囲を検査し、ワークの良否を判定する画像処理装置を用いた外観検査方法において、
各画素が、前記カメラの受光量に応じた濃淡値を有する濃淡画像を取得するステップと、
前記カメラから取得した画像を用いて、前記カメラからワーク表面までの距離を算出するステップと、
各画素が、算出された距離に応じた濃淡値を有する距離画像を生成するステップと、
前記濃淡画像と前記距離画像の一方の画像において、他方の画像上で前記検査範囲に相当する検査領域を特定するための特定パターンを検出するステップと、
前記濃淡画像と前記距離画像の他方の画像において、検出された特定パターンの位置及び傾斜角度の少なくとも一方に基づいて、前記検査領域を特定するステップと、
特定された前記検査領域から特徴量を算出するステップと、
算出された特徴量に基づいて、ワークの良否を判定するステップと、を含むことを特徴とする画像処理装置を用いた外観検査方法。





【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2012−21914(P2012−21914A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−160994(P2010−160994)
【出願日】平成22年7月15日(2010.7.15)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】