(57)【特許請求の範囲】
【請求項１】
鏡面物体と拡散物体を含む計測対象物に対し所定の照明パタンの光を照射する面光源からなる照明手段と、
前記照明手段の照明パタンを制御する照明制御手段と、
前記計測対象物を撮像する撮像手段と、
前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の領域を認識する領域認識手段と、
を有し、
前記領域認識手段は、前記照明手段から第１照明パタンの光を照射した状態で前記計測対象物を撮像することにより得られた第１画像と、前記照明手段から第２照明パタンの光を照射した状態で前記計測対象物を撮像することにより得られた第２画像とを比較し、その比較結果に基づいて前記計測対象物上の鏡面物体の領域を認識するものであり、
前記第１画像と前記第２画像は同じ複数のチャンネルから構成される画像であり、
前記第１照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第１照明サブパタンから構成され、
前記複数の第１照明サブパタンのうちの１つの第１照明サブパタンは、発光強度が面内一様である発光強度分布を有し、他の第１照明サブパタンは、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
前記第２照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第２照明サブパタンから構成され、
前記複数の第２照明サブパタンは、いずれも、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンは、互いに異なる発光強度分布を有し、
前記領域認識手段は、前記第１の画像及び前記第２の画像の全てのチャンネルの値を、前記第１の画像における発光強度が面内一様である発光強度分布を有する第１照明サブパタンに対応するチャンネルの値で除した値を用いて、前記第１の画像と前記第２の画像の
間の差分を表す特徴量を求める
ことを特徴とする画像処理装置。
【請求項２】
前記第１照明パタンを構成する前記複数の第１照明サブパタンの間の面内の総光量の比が、前記第２照明パタンを構成する前記複数の第２照明サブパタンの間の面内の総光量の比と等しい
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンは、面内の総光量が互いに等しい
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記照明手段の面光源上の点をｑ、
チャンネルをｉ（ｉ＝１，…，ｎ；ｎは２以上の整数）、
チャンネルｉに対応する第１照明サブパタンの点ｑにおける発光強度をＬ１ｉ（ｑ）、
チャンネルｉに対応する第２照明サブパタンの点ｑにおける発光強度をＬ２ｉ（ｑ）、としたときに、
全ての点ｑに関して、
｛Ｌ１１（ｑ），…，Ｌ１ｎ（ｑ）｝≠｛Ｌ２１（ｑ），…，Ｌ２ｎ（ｑ）｝
を満たすように、各第１照明サブパタンの発光強度分布及び各第２照明サブパタンの発光強度分布が設定されている
ことを特徴とする請求項１〜３のうちいずれか１項に記載の画像処理装置。
【請求項５】
前記照明手段の面光源上の点をｑ、
チャンネルをｉ（ｉ＝１，…，ｎ；ｎは２以上の整数）、
チャンネルｉに対応する第１照明サブパタンの点ｑにおける発光強度をＬ１ｉ（ｑ）、
チャンネルｉに対応する第２照明サブパタンの点ｑにおける発光強度をＬ２ｉ（ｑ）、
チャンネルｉごとに予め定められた関数をｆｉ、
としたときに、
全ての点ｑに関して、
ｆ１（Ｌ１１（ｑ）−Ｌ２１（ｑ））＋…＋ｆｎ（Ｌ１ｎ（ｑ）−Ｌ２ｎ（ｑ））
が同じ値をとるように、各第１照明サブパタンの発光強度分布及び各第２照明サブパタンの発光強度分布が設定されている
ことを特徴とする請求項１〜４のうちいずれか１項に記載の画像処理装置。
【請求項６】
チャンネルｋ（１≦ｋ≦ｎ）に対応する第１照明サブパタンは、発光強度が面内一様であり、
前記計測対象物上の点をｐ、
第１画像における点ｐに対応する画素のチャンネルｉの値をＶ１ｉ（ｐ）、
第２画像における点ｐに対応する画素のチャンネルｉの値をＶ２ｉ（ｐ）、
としたときに、
前記領域認識手段は、
ｆ１（Ｖ１１（ｐ）−Ｖ２１（ｐ））＋…＋ｆｎ（Ｖ１ｎ（ｐ）−Ｖ２ｎ（ｐ））
により得られる値を、
Ｖ１ｋ（ｐ）
の値で除した値用いて、点ｐに関する第１画像と第２画像の差分を表す特徴量を求め、
前記特徴量が閾値より大きい場合に点ｐの部分が鏡面物体であると判定する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の表
面の法線の向きを算出し、その算出結果から前記鏡面物体の表面の３次元形状を算出する３次元計測処理手段をさらに有しており、
前記第１画像が、前記３次元計測処理手段による３次元形状の算出にも利用される
ことを特徴とする請求項１〜６のうちいずれか１項に記載の画像処理装置。
【請求項８】
鏡面物体と拡散物体を含む計測対象物に対し所定の照明パタンの光を照射する面光源からなる照明手段と、前記照明手段の照明パタンを制御する照明制御手段と、前記計測対象物を撮像する撮像手段と、前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の領域を認識する領域認識手段と、を有する画像処理装置の制御方法であって、
前記照明手段から第１照明パタンの光を照射した状態で、前記撮像手段により前記計測対象物を撮像することにより、第１画像を取得するステップと、
前記照明手段から第２照明パタンの光を照射した状態で、前記撮像手段により前記計測対象物を撮像することにより、第２画像を取得するステップと、
前記領域認識手段が前記第１画像と前記第２画像との比較結果に基づいて前記計測対象物上の鏡面物体の領域を認識するステップと、を含み、
前記第１画像と前記第２画像は同じ複数のチャンネルから構成される画像であり、
前記第１照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第１照明サブパタンから構成され、
前記複数の第１照明サブパタンのうちの１つの第１照明サブパタンは、発光強度が面内一様である発光強度分布を有し、他の第１照明サブパタンは、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
前記第２照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第２照明サブパタンから構成され、
前記複数の第２照明サブパタンは、いずれも、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンは、互いに異なる発光強度分布を有し、
前記領域認識手段は、前記第１の画像及び前記第２の画像の全てのチャンネルの値を、前記第１の画像における発光強度が面内一様である発光強度分布を有する第１照明サブパタンに対応するチャンネルの値で除した値を用いて、前記第１の画像と前記第２の画像の間の差分を表す特徴量を求める
ことを特徴とする画像処理装置の制御方法。
【請求項９】
請求項８に記載の画像処理装置の制御方法の各ステップを画像処理装置に実行させることを特徴とするプログラム。
【請求項１０】
鏡面物体と拡散物体を含む計測対象物に対し所定の照明パタンの光を照射する面光源からなる照明手段と、
前記照明手段の照明パタンを制御する照明制御手段と、
前記計測対象物を撮像する撮像手段と、
前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の領域を認識する領域認識手段と、
前記撮像手段で得られた画像から前記鏡面物体の領域の画像を抽出して検査を行う検査手段と、
を有し、
前記領域認識手段は、前記照明手段から第１照明パタンの光を照射した状態で前記計測対象物を撮像することにより得られた第１画像と、前記照明手段から第２照明パタンの光
を照射した状態で前記計測対象物を撮像することにより得られた第２画像とを比較し、その比較結果に基づいて前記計測対象物上の鏡面物体の領域を認識するものであり、
前記第１画像と前記第２画像は同じ複数のチャンネルから構成される画像であり、
前記第１照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第１照明サブパタンから構成され、
前記複数の第１照明サブパタンのうちの１つの第１照明サブパタンは、発光強度が面内一様である発光強度分布を有し、他の第１照明サブパタンは、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
前記第２照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第２照明サブパタンから構成され、
前記複数の第２照明サブパタンは、いずれも、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、
同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンは、互いに異なる発光強度分布を有し、
前記領域認識手段は、前記第１の画像及び前記第２の画像の全てのチャンネルの値を、前記第１の画像における発光強度が面内一様である発光強度分布を有する第１照明サブパタンに対応するチャンネルの値で除した値を用いて、前記第１の画像と前記第２の画像の間の差分を表す特徴量を求める
ことを特徴とする検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測対象物の画像を鏡面物体の領域と拡散物体の領域に分離するための技術に関する。
【背景技術】
【０００２】
計測対象物をカメラで撮影し、得られた画像を解析することによって、計測対象物の各種検査を行う外観検査装置が知られている。この種の検査装置では、計測対象物表面の反射特性が鏡面反射であるか拡散反射であるかで、処理のアルゴリズムを変える必要が生じる場合がある。鏡面反射の物体（鏡面物体と呼ぶ）では正反射方向からの光の反射光が主に観測されるのに対し、拡散反射の物体（拡散物体と呼ぶ）では様々な方向からの入射光が混じり合うため、鏡面物体と拡散物体とで、得られる画像情報が全く異なるものとなるからである。したがって、プリント基板のように拡散物体（基板表面、部品本体、レジストなど）と鏡面物体（はんだ、ランド、部品電極、プリント配線、金属部品など）が混在したものを計測対象物とする場合には、検査処理に先立ち、計測対象物の画像を鏡面物体の領域と拡散物体の領域に切り分けるための前処理が行われる。
【０００３】
画像から鏡面物体の領域を認識する手法としては、特許文献１のものが知られている。特許文献１の手法では、３つのリング状照明からＲ，Ｇ，Ｂの光を異なる入射角で基板に照射し物体表面の色を観測することで物体表面の勾配（法線の向き）を推定する、いわゆるカラーハイライト方式の基板外観検査装置において、Ｒ，Ｇ，Ｂの順で照明を配列した場合の画像と、Ｂ，Ｇ，Ｒの順で照明を配列した場合の画像を取得し、これらの画像間の色差が大きい領域を鏡面物体として認識している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２８３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１の手法は、完全鏡面に近い反射特性をもつ鏡面物体の場合は精度良く認識することができる。しかしながら、例えば鉛フリーはんだのように物体の表面が粗い場合には、認識の精度が低下してしまうという課題がある。その理由を図１２に示す。
【０００６】
図１２（Ａ）のように、完全鏡面の物体の場合は、入射光は正反射方向にのみ反射され、反射光は鋭く狭い光となる（これを鏡面スパイクと呼ぶ）。この場合にカメラで観測される光は、カメラの光軸の正反射方向から入射した光の反射光だけになるので、画像にはＲ，Ｇ，又はＢの純色が現れる。そのため、Ｒ，Ｇ，Ｂの配列を入れ替えると画像の色が大きく変化することとなり、鏡面物体を比較的容易に識別することができる。
【０００７】
これに対し、完全鏡面でない鏡面物体の場合は、図１２（Ｂ）のように、反射光が、鏡面スパイクと、正反射方向から若干ずれた方向へのぼんやりと広がった光（これを鏡面ローブと呼ぶ）とから構成されるようになる。鏡面ローブとは、物体表面の微小凹凸（マイクロファセット）によって引き起こされる反射光の広がりであり、表面が粗くなるほど（すなわちマイクロファセットの向きがばらつくほど）鏡面ローブは広がり、逆に表面が滑らかになるほど鏡面ローブが狭くなり完全鏡面の状態に近づく。この場合にカメラで観測される光は、カメラの光軸の正反射方向から入射した光の鏡面スパイク成分に、正反射方向から若干ずれた方向から入射した光の鏡面ローブ成分が混ざったものとなる。したがっ
て、表面の粗い鏡面物体はＲ，Ｇ，Ｂの混色（例えばグレー）の画像となる。それゆえ、Ｒ，Ｇ，Ｂの配列を入れ替えても色の変化があまり大きく出ず、鏡面物体かどうかの識別が難しいのである。
【０００８】
本発明は上記課題を解決するためになされたものであって、鏡面物体の反射特性によらず、計測対象物の画像を鏡面物体の領域と拡散物体の領域に精度良く分離することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、反射光に含まれる鏡面ローブ成分がキャンセルされるように発光強度分布を工夫した２種類の照明パタンで計測対象物を撮像し、得られた２枚の画像の比較結果に基づいて計測対象物上の鏡面物体の領域を認識することを要旨とする。
【００１０】
具体的には、本発明に係る画像処理装置は、鏡面物体と拡散物体を含む計測対象物に対し所定の照明パタンの光を照射する面光源からなる照明手段と、前記照明手段の照明パタンを制御する照明制御手段と、前記計測対象物を撮像する撮像手段と、前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の領域を認識する領域認識手段と、を有し、前記領域認識手段は、前記照明手段から第１照明パタンの光を照射した状態で前記計測対象物を撮像することにより得られた第１画像と、前記照明手段から第２照明パタンの光を照射した状態で前記計測対象物を撮像することにより得られた第２画像とを比較し、その比較結果に基づいて前記計測対象物上の鏡面物体の領域を認識するものである。前記第１画像と前記第２画像は同じ複数のチャンネルから構成される画像である。ここで、前記第１照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第１照明サブパタンから構成され、前記複数の第１照明サブパタンのうちの１つの第１照明サブパタンは、発光強度が面内一様である発光強度分布を有し、他の第１照明サブパタンは、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、前記第２照明パタンは、前記複数のチャンネルのそれぞれに対応し、且つ、互いに異なる発光強度分布を有する複数の第２照明サブパタンから構成され、前記複数の第２照明サブパタンは、いずれも、前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する発光強度分布を有するものであり、同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンは、互いに異なる発光強度分布を有し、前記領域認識手段は、前記第１の画像及び前記第２の画像の全てのチャンネルの値を、前記第１の画像における発光強度が面内一様である発光強度分布を有する第１照明サブパタンに対応するチャンネルの値で除した
値を用いて、前記第１の画像と前記第２の画像の間の差分を表す特徴量を求めることを特徴とする。
【００１１】
鏡面物体の場合は、基本的に、撮像手段からみて正反射方向に位置する光源上の点の発光強度に対応した輝度が観測される。つまり、鏡面物体の画像は、照明の発光強度分布に依存した画素値をとる。それゆえ、チャンネル毎に発光強度分布を異ならせた２種類のパタンを用いて撮像を行うことで、鏡面物体の領域の画素値が相違する２枚の画像を得ることができる。一方、拡散物体の場合は、様々な方向から入射した光の成分が混ざり合うため、発光強度分布を変えたとしても画素値はあまり変化しない。したがって、２枚の画像の画素値を比較することで、鏡面物体の領域と拡散物体の領域とを区別することが可能となる。
【００１２】
さらに、本発明では、照明サブパタンの発光強度分布を、「発光強度が面内一様である」か、または、「前記撮像手段の光軸を含むある断面で考えたときに前記計測対象物に対する光の入射角に応じて発光強度が線形に変化する」ように設定している。このような発光強度分布は、反射光に含まれる鏡面ローブ成分をキャンセルする効果がある（以下、「ローブキャンセル効果」と呼ぶ）。したがって、鏡面物体の表面が粗い場合であっても、完全鏡面の場合と同じように、撮像手段からみて正反射方向に位置する光源上の点の発光強度に対応した輝度（つまり鏡面スパイク成分）のみが観測されるようになる。よって、
本発明によれば、鏡面物体の反射特性によらず、計測対象物の画像を鏡面物体の領域と拡散物体の領域に精度良く分離することが可能となる。なお、照明サブパタンの発光強度分布を「発光強度が線形に変化する」ように設定するのが理想であるが、構造上もしくは設計上の理由などから厳密な線形性を実現することが困難な場合もある。そのような場合には実質的に線形性が実現されていればよい。これでも実用上十分なローブキャンセル効果が得られるからである。すなわち、本発明において「発光強度が線形に変化する」とは「発光強度が実質的に線形に変化する」を含む概念である。
【００１３】
前記第１照明パタンを構成する前記複数の第１照明サブパタンの間の面内の総光量の比が、前記第２照明パタンを構成する前記複数の第２照明サブパタンの間の面内の総光量の比と等しいことが好ましい。また、同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンとの間で、面内の総光量が等しくなるように設定するとなおよい。このように総光量の比もしくは総光量自体を合わせることで、第１画像と第２画像の間で拡散物体の部分の比較を精度良く行えるようになる。
【００１４】
前記照明手段の面光源上の点をｑ、チャンネルをｉ（ｉ＝１，…，ｎ；ｎは２以上の整数）、チャンネルｉに対応する第１照明サブパタンの点ｑにおける発光強度をＬ１ｉ（ｑ）、チャンネルｉに対応する第２照明サブパタンの点ｑにおける発光強度をＬ２ｉ（ｑ）、
としたときに、
全ての点ｑに関して、
｛Ｌ１１（ｑ），…，Ｌ１ｎ（ｑ）｝≠｛Ｌ２１（ｑ），…，Ｌ２ｎ（ｑ）｝
を満たすように、各第１照明サブパタンの発光強度分布及び各第２照明サブパタンの発光強度分布が設定されていることが好ましい。これにより、鏡面物体の法線の向きがいかなる方向であっても、第１画像と第２画像との間で画素値に相違が生じるので、鏡面物体の領域を精度良く認識することができるようになる。
【００１５】
また、前記照明手段の面光源上の点をｑ、チャンネルをｉ（ｉ＝１，…，ｎ；ｎは２以上の整数）、チャンネルｉに対応する第１照明サブパタンの点ｑにおける発光強度をＬ１ｉ（ｑ）、チャンネルｉに対応する第２照明サブパタンの点ｑにおける発光強度をＬ２ｉ（ｑ）、チャンネルｉごとに予め定められた関数をｆｉ、としたときに、
全ての点ｑに関して、
ｆ１（Ｌ１１（ｑ）−Ｌ２１（ｑ））＋…＋ｆｎ（Ｌ１ｎ（ｑ）−Ｌ２ｎ（ｑ））
が同じ値をとるように、各第１照明サブパタンの発光強度分布及び各第２照明サブパタンの発光強度分布が設定されていることが好ましい。これにより、鏡面物体の法線の向きがいかなる方向であっても、第１画像と第２画像との間の画素値の相違の程度が同じになるので、鏡面物体と拡散物体とを分離する際の閾値の設定が容易になる。
【００１６】
上記のような発光強度分布設定を用いた場合は、前記計測対象物上の点をｐ、第１画像における点ｐに対応する画素のチャンネルｉの値をＶ１ｉ（ｐ）、第２画像における点ｐに対応する画素のチャンネルｉの値をＶ２ｉ（ｐ）、としたときに、
前記領域認識手段は、
ｆ１（Ｖ１１（ｐ）−Ｖ２１（ｐ））＋…＋ｆｎ（Ｖ１ｎ（ｐ）−Ｖ２ｎ（ｐ））
により得られる値を用いて、点ｐに関する第１画像と第２画像の差分を表す特徴量を求め、前記特徴量が閾値より大きい場合に点ｐの部分が鏡面物体であると判定することが好ましい。このように特徴量を定義することで、鏡面物体の法線の向きがいかなる方向であっても、特徴量が同じ値をとるので、一つの閾値で鏡面物体か拡散物体かの判別をすることができ、処理が非常に簡単になる。
【００１７】
さらに、チャンネルｋ（１≦ｋ≦ｎ）に対応する第１照明サブパタンを面内一様な発光
強度分布に設定し、前記領域認識手段は、
ｆ１（Ｖ１１（ｐ）−Ｖ２１（ｐ））＋…＋ｆｎ（Ｖ１ｎ（ｐ）−Ｖ２ｎ（ｐ））
により得られる値を、
Ｖ１ｋ（ｐ）
の値で除したものを、前記特徴量とすることが好ましい。Ｖ１ｋ（ｐ）で正規化することで鏡面ローブの発生による輝度の低下をキャンセルできるので、表面の粗さに依存しない特徴量を得ることができ、鏡面物体の認識精度を向上することが可能となる。
【００１８】
前記撮像手段で得られた画像を解析することにより、前記計測対象物上の鏡面物体の表面の法線の向きを算出し、その算出結果から前記鏡面物体の表面の３次元形状を算出する３次元計測処理手段をさらに有しており、前記第１画像が、前記３次元計測処理手段による３次元形状の算出にも利用されることが好ましい。このように鏡面物体認識処理と３次元計測処理の両方で同じ画像を利用することで、撮像回数を減らすことができるので、外観検査のスループット向上を図ることができる。
【００１９】
なお、本発明は、上記手段の少なくとも一部を含む画像処理装置として特定することもできるし、この画像処理装置を備える検査システムとして特定することもできる。また、上記処理の少なくとも一部を含む画像処理装置もしくは検査システムの制御方法として特定することもできるし、その方法を画像処理装置もしくは検査システムに実行させるプログラムや、そのプログラムを記録したコンピュータ読取可能な記憶媒体として特定することもできる。上記処理や手段の各々は、技術的な矛盾が生じない限りにおいて、自由に組み合わせることが可能である。
【発明の効果】
【００２０】
本発明によれば、鏡面物体の反射特性によらず、計測対象物の画像を鏡面物体の領域と拡散物体の領域に精度良く分離することができる。
【図面の簡単な説明】
【００２１】
【図１】外観検査装置のハードウェア構成を模式的に示す図。
【図２】３次元計測処理用の照明パタンの例を示す図。
【図３】Ｒの発光強度分布における等色線（等発光強度線）を模式的に示す斜視図。
【図４】計測対象物の法線の向きと面光源上の発光領域の対応を説明する図。
【図５】入射光と反射光を説明するための図。
【図６】ローブキャンセル効果を説明するための図。
【図７】鏡面物体認識処理用の照明パタンの例を示す図。
【図８】鏡面物体認識処理のフローチャート。
【図９】計測対象物及びその画像の一例を模式的に示す図。
【図１０】平面形状の照明装置を備える外観検査装置の構成を示す図。
【図１１】平面形状の照明装置における照明パタンを説明するための図。
【図１２】鏡面物体の反射特性を説明するための図。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の好適な実施形態について説明する。本実施形態の画像処理装置は、計測対象物の画像を解析することで鏡面物体の領域を認識（鏡面物体の領域と拡散物体の領域とを分離）するものである。この装置は、各種の自動計測装置、自動検査装置、ロボットビジョンなどにおける物体認識やセグメンテーションに適用可能である。以下、はんだ付けの良否検査や基板上の部品やはんだの３次元形状計測などを行う外観検査装置（ＡＯＩシステム）を例に挙げて説明を行う。
【００２３】
＜外観検査装置の全体構成＞
図１を参照して、外観検査装置の全体構成について説明する。図１は外観検査装置のハードウェア構成を模式的に示す図である。
【００２４】
外観検査装置は、概略、計測ステージ５、検査ヘッドＨ、および、情報処理装置６を備えて構成される。検査ヘッドＨには、計測ステージ５上に配置されたプリント基板などの計測対象物４に測定光を照射するための照明装置３と、鉛直上方から計測対象物４を撮影するカメラ（イメージセンサ）１とが取り付けられている。情報処理装置６は、ＣＰＵ（中央演算処理装置）６０、メモリ６１、記憶装置６２、検査ヘッド制御部６３、画像入力部６４、照明装置制御部６６、ステージ制御部６７、ユーザＩ／Ｆ６８、表示部６９などを備えている。検査ヘッド制御部６３は検査ヘッドＨのＺ方向（計測ステージ５に垂直な方向）の移動を制御する機能であり、ステージ制御部６７は計測ステージ５のＸＹ方向の移動を制御する機能である。照明装置制御部６６は照明装置３の点灯および消灯（必要に応じて照明パタンの切り替え）を制御する機能である。画像入力部６４はカメラ１からデジタル画像を取り込む機能である。ユーザＩ／Ｆ６８はユーザにより操作される入力装置であり、例えばポインティングデバイス、タッチパネル、キーボードなどが該当する。表示部６９は計測結果などが画面表示される部分であり、例えば液晶ディスプレイなどで構成される。
【００２５】
照明装置３は、ドーム形状をした面光源であり、このドーム形状の全てが発光領域である。なお、照明装置３の天頂部分にはカメラ１のための開口が設けられている。このような照明装置３は、例えば、ドーム形状の拡散板と、拡散板の背面側に配列した複数のＬＥＤチップとから構成することができる。また、液晶ディスプレイや有機ＥＬディスプレイなどをドーム形状にして、照明装置３を構成することもできる。
【００２６】
照明装置３の発光領域の形状は、計測対象物４の全方位から光を照射できるように半球状のドーム形状であることが好ましい。こうすることにより、計測対象物の表面がいずれの方向を向いていても計測することが可能となる。ただし、計測対象物の表面の向きがある範囲に限定されているのであれば、面光源の形状はどのようなものであってもよい。例えば、表面の法線の向きがほぼ鉛直方向に限られるのであれば、水平方向（角度の浅い方向から）は光を照射する必要がない。
【００２７】
計測時には、検査ヘッドＨと計測ステージ５が相対的に移動し、計測対象物４が所定の計測位置（図１の例では、照明装置３の中央（カメラ１の光軸と計測ステージ５の交点））に位置決めされる。そして、照明装置３から所定の照明パタンの測定光を照射した状態で計測対象物４が撮影され、画像データが画像入力部６４を介して情報処理装置６に取り込まれる。このとき、照明パタンを切り替えて複数回撮影を行うことで、１つの計測対象物４につき複数の画像データが取得される。
【００２８】
本実施形態の外観検査装置は、基板上の部品配置の良否やはんだ付けの良否などの検査を高精度に行うために、画像解析によって基板上の鏡面物体（はんだ、部品電極、金属部品など）の３次元形状を計測する３次元計測処理機能を有している。この機能は、後述するように、鏡面物体の反射特性を利用したものであるため、拡散物体（例えば、基板表面、部品本体、レジストなど）の３次元形状の計測には適用できない。そのため本装置では、３次元形状を算出する処理を行うのに先立ち、計測対象物４の画像から鏡面物体の領域を認識・抽出するための前処理（鏡面物体認識処理）を行う。
【００２９】
以下、実際の処理の順番とは逆になるが、本装置の照明パタンとローブキャンセル効果についての理解のため最初に３次元計測処理の原理について説明し、その後で鏡面物体認識処理について説明を行う。
【００３０】
＜３次元計測処理＞
３次元計測処理では、予め決められた３次元計測用の照明パタンを用いて計測対象物４の撮影を行う。
【００３１】
図２に、３次元計測処理用の照明パタンの例を示す。図２は、面光源である照明装置３の２次元的な発光強度分布を模式的に表しており、横軸がＸ方向の経度（０からπ）、縦軸がＹ方向の経度（０からπ）を示す。ここでは、発光強度が０から２５５の値をとるものとし、発光強度０（最も暗い）を黒色、発光強度２５５（最も明るい）を白色、その間の発光強度をグレーで表している。
【００３２】
本実施形態の照明パタンは、図２に示すように、互いに発光強度分布の異なる３つの照明サブパタンから構成され、各照明サブパタンは画像のそれぞれのチャンネルに対応している。つまり、１番目の照明サブパタンを照射したときの反射光の観測値が画像の１番目のチャンネルのデータとなり、２番目の照明サブパタンの反射光の観測値が２番目のチャンネルのデータ、３番目の照明サブパタンの反射光の観測値が３番目のチャンネルのデータとなる。
【００３３】
各照明サブパタンの光の色（スペクトル分布）は互いに異なっていてもよいし、同じでもよい。Ｒ，Ｇ，Ｂのように異なる色の光を用いる場合には、それらの照明サブパタンを合成した光を照射し、カメラ側のカラーフィルタで各色に分解する構成により、１回の照明および撮像で３次元計測用の画像を取得できるという利点がある。一方、同じ色の光を用いる場合は、照明サブパタンを切り替えながら複数回撮像を行う必要があるため、処理時間は若干長くなるが、同じ光源を用いることで照明の光量が安定するので計測精度を向上できるという利点がある。本実施形態では、Ｒ，Ｇ，Ｂの３色の照明サブパタンを用いる例を説明する。この場合、３次元計測用の画像は、Ｒ，Ｇ，Ｂの３つのチャンネルから構成されるＲＧＢカラー画像となる。
【００３４】
図２に示すように、Ｒの照明サブパタンは、Ｘ方向の経度（０→π）に応じて発光強度が５０→２５０と線形に増加するように設定される。これに対し、Ｇの照明サブパタンは、発光強度が面内の全域で１５０となるように設定されている。また、Ｂの照明サブパタンは、Ｙ方向の経度（０→π）に応じて発光強度が２５０→５０と線形に減少するように設定されている。
【００３５】
図３を用いて、Ｒの照明サブパタンの発光強度分布を詳しく説明する。図３はＲの発光強度分布における等色線（等発光強度線）を模式的に示す斜視図である。ここで、Ｘ方向の経度は、計測ステージ５上の計測対象物４が配置される点Ｏを原点としたときに、Ｙ軸周りの角度θで表される。経度θの経線上の点は同じ発光強度Ｌ（θ）に設定される。図２の例では、Ｌ（θ）＝５０＋（２５０−５０）×（θ／π）となる。ここで、経度θは、カメラ１の光軸（Ｚ軸）とＸ軸を含む断面（ＸＺ断面）で考えたときに、計測対象物４に対する光の入射角に対応するものであるから、Ｒの発光強度分布は、ＸＺ断面において、光の入射角に応じて発光強度が線形に変化するように設定されている、ということができる。図示しないが、同じように考えれば、Ｂの発光強度分布は、ＹＺ断面において、光の入射角に応じて発光強度分布が線形に変化するように設定されているということができる。
【００３６】
このように設定された照明パタンを用いた場合、面光源上の位置ごとに異なる色（Ｒ，Ｇ，Ｂの発光強度の組み合わせ）の発光が行われることとなる。例えば、（Ｘ方向経度，Ｙ方向経度）＝（０，０）の位置では（Ｒ，Ｇ，Ｂ）＝（５０，１５０，２５０）と青味が強くなり、（Ｘ方向経度，Ｙ方向経度）＝（π／２，π／２）の位置（つまり天頂部分）では（Ｒ，Ｇ，Ｂ）＝（１５０，１５０，１５０）とグレーとなる。
【００３７】
このような照明パタンを利用することで、１枚の画像のみから計測対象物の表面形状（法線の向き）を計測することができる。このことを図４を参照して説明する。計測対象物４の表面上のある点における法線の向きが矢印Ｎの向きであり、天頂角がθ、方位角がφであるとする。計測対象物４が鏡面物体の場合、カメラ１によって撮影される物体上の点の色は、面光源（照明装置３）の位置Ｒで発光し計測対象物４へ入射する光の反射光となる。このように、表面の法線の向き（θ、φ）と、入射光の方向（面光源上の位置Ｒ）は１対１に対応する。そして、異なる方向から入射される光は異なる色をもつ（Ｒ，Ｇ，Ｂの発光強度の組み合わせが異なる）ことから、画素の色特徴（各チャンネルの値の組み合わせ）を調べることで、その点における法線の向きを天頂角および方位角の両方について、特定することができる。なお、画素の色特徴と法線の向きとの対応関係は予めテーブルとしてもっておけばよい。画像の各点（各画素）について法線の向きを算出できたら、各点の法線を勾配に変換し、それらをつなぎ合わせることで、鏡面物体の３次元形状を復元することができる。
【００３８】
（ローブキャンセル効果）
上記のように、本装置では、ＲとＢの発光強度分布は、入射角に応じて発光強度が線形に変化するように設定され、Ｇの発光強度分布は、面内一様な強度となるように設定されている。このような発光強度分布は、反射光に含まれる鏡面ローブ成分をキャンセルする効果（ローブキャンセル効果）があるので、鉛フリーはんだのように表面の粗い鏡面物体であっても、完全鏡面の場合と同じような色特徴を観測できるようになる。以下、このローブキャンセル効果について説明する。
【００３９】
図１２（Ｂ）に示したように、完全鏡面でない鏡面物体の場合は、正反射（鏡面スパイク）以外に鏡面ローブが発生する。そのため、カメラ１で観測される光は、カメラ１の光軸の正反射方向から入射した光の鏡面スパイク成分に、正反射方向から若干ずれた方向から入射した光の鏡面ローブ成分が混ざったものとなる。したがって、完全鏡面の場合に比べて色特徴が変化してしまう。
【００４０】
このとき、正反射方向以外から入射した光の成分がちょうどキャンセルして完全鏡面の場合と同様の色特徴が保たれるような照明を行うことができれば、表面が粗い物体や反射特性が均一でない物体でも、あたかも完全鏡面の物体と同じように計測することができる。これを実現するためには、理論的には、照明装置３の発光強度分布を次のように設定すればよい。
【００４１】
すなわち、図５に示すように、入射角（θｉ，φｉ）の方向から計測点ｐに入射する光源分布をＬｉ（ｐ，θｉ，φｉ）としたときに、点ｐにおける任意の法線ベクトルおよび発光領域上の任意の点対称領域Ωについて、以下の式が成り立てばよい。
【数１】
0005900037.tif 000002
ここで、ｐは物体表面上の計測点、（θｉ，φｉ）は光の入射方向（θは天頂角成分、φは方位角成分。以下同じ。）、（θｒ，φｒ）は光の反射方向（カメラ方向）、（θｉｓ，φｉｓ）は（θｒ，φｒ）に対する正反射方向、ｆは点ｐの反射特性、Ωは（θｉｓ，φｉｓ）を中心とする点対称領域、である。
【００４２】
本実施形態で用いた照明パタン（照明サブパタン）の発光強度分布は、いずれも上記式
の近似解の一つである。
【００４３】
このような照明パタンを利用することで鏡面ローブの影響を相殺できることを、図６を参照して別の観点から説明する。図６は、本実施形態における照明パタンのローブキャンセル効果を説明するために、理想に近い光が得られる輝度変化方向の１次元方向を示した図である。ここでは、図６に示すように、角度ａ（正反射方向）、角度ａ＋α、角度ａ−αの３点からの光についてのみ考える。角度ａ＋α、ａ−αの位置からの光のローブ係数は、互いに等しくσであるとする。また、照明装置３の発光強度は、角度に比例するものとして、角度ａ−α、ａ、ａ＋αのそれぞれの位置において、（ａ−α）Ｌ、ａＬ、（ａ＋α）Ｌであるとする。すると、この３点からの反射光の合成は、σ（ａ−α）Ｌ＋ａＬ＋σ（ａ＋α）Ｌ＝（１＋２σ）ａＬとなり、周囲からの光の鏡面ローブ成分による影響が相殺されることが分かる。なお、ここではａ±αの２点のみを考えているが、周囲からの光の鏡面ローブ成分の影響は全て相殺されることは容易に分かる。このことは、ＲＧＢそれぞれの光について成立し、したがって、ＲＧＢの各色の発光強度の比によって表される色特徴は、完全鏡面反射の場合と同一の値となる。よって、表面が粗い物体や反射特性が均一でない物体の場合であっても、完全鏡面反射の場合と同様の色特徴を得ることができる。
【００４４】
なお、上記の説明は最も理想的な効果が得られる方向についての説明である。その他の方向については、上記のような線形性が崩れてしまい厳密には鏡面ローブ成分の影響を相殺することはできないが、実用上問題ない範囲で鏡面ローブ成分の影響を除去することが可能である。
【００４５】
＜鏡面物体認識処理＞
上述した３次元計測処理は鏡面物体の反射特性を利用したものであるため、拡散物体の３次元計測には適用できない。それゆえ本装置では、画像の色特徴から３次元形状を復元する処理を実行する前に、画像中の鏡面物体の領域を特定する処理を行う。その基本的なアルゴリズムは、鏡面物体の色特徴のみが変わるように設定した２種類の照明パタンを使って計測対象物を撮影し、得られた２枚の画像を比較して、色特徴が大きく変化しているかどうかで鏡面物体か拡散物体かを識別する、というものである。
【００４６】
（照明パタンの設定条件）
以下、２種類の照明パタンの設定条件を説明する。なお、１つ目の照明パタンを「第１照明パタン」、第１照明パタンを構成するそれぞれの照明サブパタンを「第１照明サブパタン」と呼び、２つ目の照明パタンを「第２照明パタン」、第２照明パタンを構成するそれぞれの照明サブパタンを「第２照明サブパタン」と呼ぶ。また、第１照明パタンを用いて得られた画像を「第１画像」、第２照明パタンを用いて得られた画像を「第２画像」と呼ぶ。
【００４７】
（条件１）同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンが、互いに異なる発光強度分布を有する。
【００４８】
鏡面物体の場合は、基本的に、カメラ１からみて正反射方向に位置する光源上の点の発光強度に対応した輝度が観測される。つまり、鏡面物体の画像は、照明の発光強度分布に依存した画素値をとる。一方、拡散物体の場合は、様々な方向から入射した光の成分が混ざり合うため、発光強度分布を変えたとしても画素値はあまり変化しない。それゆえ、条件１を満たす２種類の照明パタンを用いて撮像を行うことで、鏡面物体の領域のみ画素値が相違する２枚の画像を得ることができる。
【００４９】
（条件２）第１照明パタン、第２照明パタンのそれぞれに、ローブキャンセル効果を有
する発光強度分布のパタンを用いる。すなわち、第１照明パタン（第１照明サブパタンのそれぞれ）と第２照明パタン（第２照明サブパタンのそれぞれ）がいずれも上記の式（数１）の解または近似解となるような発光強度分布をもつ。
【００５０】
ローブキャンセル効果により、鏡面物体の表面が粗い場合であっても、完全鏡面の場合と同じように、カメラ１からみて正反射方向に位置する光源上の点の発光強度に対応した輝度（つまり鏡面スパイク成分）のみが観測されるようになる。よって、条件２を満たす照明パタンを用いることにより、鏡面物体の反射特性によらず、鏡面物体の領域と拡散物体の領域の分離を精度良く行うことが可能となる。
【００５１】
必須の条件は上記の２つであるが、さらに以下の条件を満たすように設定することが好ましい。
【００５２】
（条件３）第１照明サブパタンの間の面内の総光量の比が、第２照明サブパタンの間の面内の総光量の比と等しい。
【００５３】
拡散物体での反射光には様々な方向から入射した光の成分が混ざり合うため、拡散物体の画像は、照明の総光量（発光強度の面内積分）に依存した画素値をとる。すなわち、複数の照明サブパタンの間の面内の総光量の比は、拡散物体の画像のカラーバランス（色相）を決定する。上記のように第１照明パタンの比と第２照明パタンの比を等しくすれば、第１画像と第２画像の間で拡散物体の部分のカラーバランスが同じになるので、画像の比較を精度良く行うことができる。なお、比が同じでも、第１照明パタンと第２照明パタンとで総光量の値が異なる（明るさが異なる）場合は画素の値自体は相違するので、その場合は画像の比較を行う前に両画像の値を合わせるようなレベル調整を行えばよい。
【００５４】
ところで、画像の各チャンネルがＲ，Ｇ，Ｂのようなカラーチャンネルである場合はその画像はカラー画像となるが、画像の各チャンネルが（色とは関係の無い）輝度を表すチャンネルである場合は、その画像は厳密にはカラー画像ではないので、「カラー」バランスや「色」相という用語は適切でないかもしれない。しかし、後者の場合でも、チャンネルが複数ある場合には画像処理上はカラー画像と同じに扱うことができる（あるいは、各チャンネルに疑似的に色を割り当てることで疑似カラー画像として扱うこともできる）ので、本明細書では両者を特に区別しない。
【００５５】
（条件４）同じチャンネルに対応する第１照明サブパタンと第２照明サブパタンとの間で、面内の総光量が等しい。
【００５６】
総光量自体を一致させれば、拡散物体の部分の画素値がほぼ一致する。したがって、同じチャンネル同士の値をそのまま（レベル調整等をすることなく）比較することができるので、例えば単純に値を引き算するだけで差分画像を計算することができる。
【００５７】
（条件５）照明装置３の面光源上の全ての点ｑに関して、
｛Ｌ１１（ｑ），…，Ｌ１ｎ（ｑ）｝≠｛Ｌ２１（ｑ），…，Ｌ２ｎ（ｑ）｝
が成立する。ここで、ｉはチャンネル（ｉ＝１，…，ｎ；ｎは２以上の整数）、Ｌ１ｉ（ｑ）はチャンネルｉに対応する第１照明サブパタンの点ｑにおける発光強度、Ｌ２ｉ（ｑ）はチャンネルｉに対応する第２照明サブパタンの点ｑにおける発光強度である。
【００５８】
この条件５は、第１照明パタンと第２照明パタンの間で面光源上の同じ点ｑに同じ色が出ないように各照明パタンの発光強度分布を設定する、というものである。条件５を満たすことで、鏡面物体の法線の向きがいかなる方向であっても、第１画像と第２画像との間で画素値に相違が生じるので、鏡面物体の領域を精度良く認識することができるようにな
る。
【００５９】
（条件６）照明装置３の面光源上の全ての点ｑに関して、
ｆ１（Ｌ１１（ｑ）−Ｌ２１（ｑ））＋…＋ｆｎ（Ｌ１ｎ（ｑ）−Ｌ２ｎ（ｑ））
が同じ値をとる。ここで、ｆｉは、チャンネルｉごとに予め定められた関数であり、各チャンネル間の発光強度の差分のバランスを調整するためのものである。例えば、絶対値を得る関数（ａｂｓ）、定数を乗じる関数、正規化する関数など、任意の関数を用いることができる。なお、関数ｆｉには、定数１を乗じる関数（つまり、何も操作しない関数）も含まれるものとする。
【００６０】
この条件６は、上記式を用いて第１照明パタンと第２照明パタンの発光強度の差分を評価した場合に、その評価値が面光源上のいずれの点ｑにおいても同じ値をとる、というものである。したがって条件６を満たすように照明パタンを設定することで、鏡面物体の法線の向きがいかなる方向であっても、第１画像と第２画像との間の画素値の相違の程度が同じになるので、鏡面物体と拡散物体とを分離する際の閾値の設定が容易になる。
【００６１】
（差分特徴量）
なお、条件６を満たすように照明パタンを設定した場合には、照明パタンの設定に用いたものと同じ関数ｆｉを用いて、第１画像と第２画像の間の差分を表す特徴量Ｆを、下記式のように求めるとよい。
Ｆ＝ｆ１（Ｖ１１（ｐ）−Ｖ２１（ｐ））＋…＋ｆｎ（Ｖ１ｎ（ｐ）−Ｖ２ｎ（ｐ））
ここで、ｐは計測対象物上の点であり、Ｖ１ｉ（ｐ）は第１画像における点ｐに対応する画素のチャンネルｉの値であり、をＶ２ｉ（ｐ）は第２画像における点ｐに対応する画素のチャンネルｉの値である。
【００６２】
このように特徴量を定義することで、鏡面物体の法線の向きがいかなる方向であっても、特徴量Ｆが同じ値をとるので、一つの閾値で鏡面物体か拡散物体かの判別をすることができ、処理が非常に簡単になる。
【００６３】
さらに、チャンネルｋ（１≦ｋ≦ｎ）に対応する第１照明サブパタンを面内一様な発光強度分布に設定した上で、上記式で得られる値Ｆを第１画像における点ｐに対応する画素のチャンネルｋの値（Ｖ１ｋ（ｐ））で除したもの（Ｆ／Ｖ１ｋ（ｐ））を特徴量として定義するとなおよい。
【００６４】
表面の粗い鏡面物体の場合、鏡面ローブの発生により反射光の強度が若干低下するが、その低下度合いは表面の粗さによって違ってくるので、予測することは難しい。面内一様な発光強度分布のパタンを用いて得られた値Ｖ１ｋ（ｐ）は、表面の粗さに依存した強度低下を含んだ値をとる。よって、この値Ｖ１ｋ（ｐ）で全てのチャンネルの値を除することは、表面の粗さに依存した強度低下をキャンセルすることと等価であり、これにより、表面の粗さに依存しない特徴量を得ることができ、鏡面物体の認識精度を向上することが可能となる。
【００６５】
（実施例）
上述した照明パタンの設定条件を満たすように作成した第１照明パタンと第２照明パタンの一例を図７に示す。図７の上段が第１照明パタンを構成する３つの第１照明サブパタンを示し、下段が第２照明パタンを構成する３つの第２照明サブパタンを示している。
【００６６】
本実施例では、第１照明パタンとして、３次元計測用の照明パタンと同じものを用いる。３次元計測用に取得した画像を鏡面物体認識処理にも流用できるからである。そして、
第１照明パタンと組み合わせたときに上記各設定条件を満たすように設計したものが図７の第２照明パタンである。
【００６７】
具体的には、Ｒチャンネルの第２照明サブパタンは、第１照明サブパタンをＸ方向に反転したものであり、Ｘ方向の経度（０→π）に応じて発光強度が２５０→５０と線形に減少するように設定される。またＢチャンネルの第２照明サブパタンは、第１照明サブパタンをＹ方向に反転したものであり、Ｙ方向の経度（０→π）に応じて発光強度が５０→２５０と線形に増加するように設定される。そして、Ｇチャンネルの第２照明サブパタンについては、上記の条件６を満足するように、下記式の値が面光源上の全ての点で同じ値cnstをとるように設定する。
abs（Ｒ２−Ｒ１）／２＋（Ｇ２−Ｇ１）＋abs（Ｂ２−Ｂ１）／２＝cnst
ここで、Ｒ１，Ｇ１，Ｂ１は第１照明サブパタンの発光強度であり、Ｒ２，Ｇ２，Ｂ２は第２照明サブパタンの発光強度である。すなわち本実施例では、条件６の式において、ｆ１，ｆ３として「差分の絶対値に１／２を乗じる」という関数を採用し、ｆ２として「１を乗じる（なにも操作しない）」という関数を採用している。
【００６８】
Ｇ１は全ての点で１５０であり、条件３と条件４が成立するのはcnstが１００のときであるから、結局、Ｇチャンネルの第２照明サブパタンの発光強度は下記式のとおり求まる。
Ｇ２＝２５０−abs（Ｒ２−Ｒ１）／２−abs（Ｂ２−Ｂ１）／２
【００６９】
このパタンは、（Ｘ方向経度，Ｙ方向経度）＝（π／２，π／２）のときに発光強度が最大値２５０をとり、（Ｘ方向経度，Ｙ方向経度）＝（０，０），（π，０），（０，π），（π，π）の点に向かって発光強度が線形に減少するような分布となる。発光強度の最小値は５０である。この発光強度分布も、カメラの光軸（Ｚ軸）を含みＸ軸と角度π／２（または−π／２）をなす断面で考えたときに、光の入射角に応じて発光強度が線形に変化する。よって、このパタンもローブキャンセル効果を有するものといえる。
【００７０】
以上のように設定された第１照明パタンと第２照明パタンは、条件１と条件２を満足している。さらに、第１照明サブパタンの総光量は、Ｒ：Ｇ：Ｂ＝（２５０＋５０）／２：１５０：（２５０＋５０）／２＝１：１：１であり、第２照明サブパタンの総光量も、Ｒ：Ｇ：Ｂ＝（２５０＋５０）／２：１５０：（２５０＋５０）＝１：１：１であるから、条件３と条件４も満足する。また、図７より条件５を満足することも明らかであり、上記のようにＧ２を決定したことから条件６も満足する。
【００７１】
次に、図１、図８、図９を参照しながら、鏡面物体認識処理のフローを説明する。図８は鏡面物体認識処理のフローチャートであり、図９は計測対象物及びその画像の一例を模式的に示す図である。ここでは図９（Ａ）に示すように、基板１００の上に部品１１０が実装されたものを計測対象物とする。基板１００の表面および部品１１０の本体１１１は樹脂の拡散物体であり、部品１１０の両端の電極１１２は金属の鏡面物体である。また電極１１２は鉛フリーはんだによってはんだ付けされており、このはんだ部分１１３は表面の粗い鏡面物体である。
【００７２】
ステップＳ１において、照明装置制御部６６が照明パタンを第１照明パタン（図７の上段）に切り替える。そして、ステップＳ２では、照明装置３から第１照明パタンの測定光を照射した状態で計測対象物４の撮影を行い、第１画像のデータを取得する。図示しないが、ここで得られた第１画像のデータは鏡面物体の３次元計測処理にも利用される。
【００７３】
次にステップＳ３において、照明装置制御部６６が照明パタンを第２照明パタン（図７の下段）に切り替える。そして、ステップＳ４では、照明装置３から第２照明パタンの測
定光を照射した状態で計測対象物４の撮影を行い、第２画像のデータを取得する。なお、照明サブパタン毎に撮影を行う場合には、ステップＳ１とＳ２の処理、およびステップＳ３とＳ４の処理がそれぞれ３回ずつ繰り返される。
【００７４】
図９（Ｂ）、（Ｃ）に示すように、第１画像及び第２画像においては、拡散物体である基板１００や部品本体１１１ではその物体自体の色が現れている。これに対し、鏡面物体である電極１１２やはんだ部分１１３では、物体自体の色（金属の色）ではなく、物体表面の法線の向きに応じた照明の色が現れており、また第１画像と第２画像の間でその色特徴が相違していることが分かる。
【００７５】
続いてステップＳ５では、ＣＰＵ６０が、第１画像と第２画像の各画素について、下記式により差分特徴量Ｆを計算する。
Ｆ＝｛abs（ｒ２−ｒ１）／２＋（ｇ２−ｇ１）＋abs（ｂ２−ｂ１）／２｝／ｇ１
ここで、ｒ１，ｇ１，ｂ１は第１画像の各チャンネルの値であり、ｒ２，ｇ２，ｂ２は第２画像の各チャンネルの値である。
【００７６】
鏡面物体の場合、ｒ１，ｇ１，ｂ１，ｒ２，ｇ２，ｂ２の値は照明の発光強度Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２に概ね比例すること、及び、
abs（Ｒ２−Ｒ１）／２＋（Ｇ２−Ｇ１）＋abs（Ｂ２−Ｂ１）／２＝１００
Ｇ１＝１５０
であることから、鏡面物体の領域での差分特徴量Ｆの値は、概ね０．６７（＝１００／１５０）となる。一方、拡散物体の場合、ｒ１，ｇ１，ｂ１，ｒ２，ｇ２，ｂ２の値は照明の総光量に概ね比例すること、及び、条件３と条件４を満たすように照明が設定されていることから、拡散物体の領域での差分特徴量Ｆの値は、概ね０となる。したがって、鏡面物体の領域と拡散物体の領域の間で、差分特徴量Ｆの値が有意に分離する。図９（Ｄ）は差分特徴量Ｆの画像（差分画像）を示している。
【００７７】
ステップＳ６では、ＣＰＵ６０が、差分画像を所定の閾値で二値化する。閾値については、予め決めた値（鏡面物体の差分特徴量Ｆは約０．６７、拡散物体の差分特徴量Ｆは約０となるから、閾値としてはその間の値、例えば０．５など）を用いてもよいし、大津の判別分析法などを利用して動的に閾値を求めてもよい。図９（Ｅ）は二値化した画像の例であり、白い部分が鏡面物体の領域、黒い部分が拡散物体の領域を示している。このように、鏡面物体の領域と拡散物体の領域を精度良く分離することができる。
【００７８】
＜実施形態の利点＞
本実施形態の外観検査装置によれば、計測対象物を撮影して得られた２枚の画像を比較するという簡単な処理で、計測対象物の画像を鏡面物体の領域と拡散物体の領域に分離することができる。また、反射光に含まれる鏡面ローブ成分がキャンセルされるように照明パタンの発光強度分布を工夫したので、表面の粗い鏡面物体や反射特性が不均一な鏡面物体であっても、その領域を精度良く認識することができる。さらに、鏡面物体認識処理と３次元計測処理の両方で同じ画像を利用するようにしたので、撮像回数を減らすことができ、外観検査のスループット向上を図ることができる。
【００７９】
なお上記実施形態は本発明の一具体例を示したものにすぎず、本発明の範囲をそれらの構成のみに限定するものではない。本発明はその技術思想の範囲内で種々の実施形態を取り得る。例えば、上記実施形態では鏡面物体認識処理と３次元計測処理で同じ画像を利用したが、これは必須ではなく、それぞれの処理に適した照明パタンを用いて別の画像を撮影してもよい。また鏡面物体認識処理用の照明パタンは、上記設定条件の条件１と条件２を少なくとも満たすものであればどのようなパタンを用いてもよい。また上記実施形態では３つの照明サブパタンにより３チャンネルの画像を生成したが、照明サブパタン及びチ
ャンネルの数は３でなくてもよい。
【００８０】
また照明装置３の形状はドーム状（半球状）に限られず、図１０に示すような平板形状でもよい。また平板を弧状に湾曲させた形状でもよい。このような形状の照明装置３においても、上記設定条件を満たすように照明パタンを設定すれば、鏡面物体の領域と拡散物体の領域との切り分けが可能となる。平面状の照明装置３を用いた場合、図１１に示すように、各パタンにおいて、発光強度を角度θに対して線形に変化させることで、鏡面ローブの影響をほぼ相殺することができる。ここで、θは、点Ｐ（計測対象物が配置される点）を通り計測ステージ５に平行な直線周りの角度である。あるいは、θは、照明装置３の発光領域上の等発光強度線（等色線）と点Ｐを通る平面と、計測ステージ５に平行な平面とのなす角と表現することもできる。
【符号の説明】
【００８１】
１：カメラ、３：照明装置、４：計測対象物、５：計測ステージ、６：情報処理装置、Ｈ：検査ヘッド
【図１】
0005900037.tif 000003
【図２】
0005900037.tif 000004
【図３】
0005900037.tif 000005
【図４】
0005900037.tif 000006
【図５】
0005900037.tif 000007
【図６】
0005900037.tif 000008
【図７】
0005900037.tif 000009
【図８】
0005900037.tif 000010
【図９】
0005900037.tif 000011
【図１０】
0005900037.tif 000012
【図１１】
0005900037.tif 000013
【図１２】
0005900037.tif 000014