(57)【要約】【課題】フォトメトリックステレオの原理を用いて取得された画像から検査用画像を生成する際のパラメータを容易に設定できるようにすること。【解決手段】フォトメトリック処理部８１１は、フォトメトリックステレオ法にしたがってカメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルを算出し、複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の少なくとも１つの縮小画像とのうち、少なくとも２つの画像の合成処理を実行することにより、検査対象物の表面形状を示す検査画像を生成する。とりわけ、特徴サイズ設定部８１５は前記合成処理を実行する際の縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する。フォトメトリック処理部８１１は設定された特徴サイズに応じた異なる検査画像を生成可能である。【選択図】図８
2015232476.tif 000002
【特許請求の範囲】
【請求項１】
フォトメトリックステレオ法にしたがって検査対象物を照明する照明手段と、
フォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段と、
前記撮像手段により取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルを算出し、前記複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の少なくとも１つの縮小画像を生成し、前記傾き画像と前記少なくとも１つの縮小画像とのうち、少なくとも２つの画像の合成処理を実行することにより、検査対象物の表面形状を示す検査画像を生成する演算手段と、
前記検査画像を用いて前記検査対象物の良否を判定する判定手段と、
前記合成処理を実行する際の前記縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する設定手段とを有し、
前記演算手段は、前記設定手段により設定された特徴サイズに応じた異なる検査画像を生成することを特徴とする検査装置。
【請求項２】
前記演算手段は、異なる縮小率を用いた複数の縮小画像を生成することを特徴とする請求項１に記載の検査装置。
【請求項３】
前記演算手段は、前記設定手段により特徴サイズが変更された際に、前記撮像手段による再度の撮像を行わずに取得済みの傾き画像に対する特徴サイズを変更することにより、検査画像を更新することを特徴とする請求項１または２に記載の検査装置。
【請求項４】
前記設定手段は、検査アプリケーションに対応した異なる特徴サイズを段階的に設定することを特徴とする請求項１ないし３のいずれか１項に記載の検査装置。
【請求項５】
前記設定手段は、それぞれ値の異なる複数の特徴サイズを設定し、
前記演算手段は、前記設定手段により設定された前記複数の特徴サイズのそれぞれについて前記検査画像を生成することを特徴とする請求項１ないし４のいずれか１項に記載の検査装置。
【請求項６】
それぞれ異なる特徴サイズを用いて生成された複数の検査画像に対して傷検査を実行する傷検査手段をさらに有し、
前記判定手段は、前記傷検査手段の検査結果を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし５のいずれか１項に記載の検査装置。
【請求項７】
それぞれ異なる特徴サイズを用いて生成された複数の検査画像に対して文字認識処理を実行する文字認識手段をさらに有し、
前記判定手段は、前記文字認識手段の文字認識結果を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし６のいずれか１項に記載の検査装置。
【請求項８】
前記演算手段は、前記撮像手段により取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルとともに前記検査対象物の表面の反射率を算出し、当該反射率を画素値とする反射率画像を生成し、
前記判定手段は、前記反射率画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし７のいずれか１項に記載の検査装置。
【請求項９】
前記演算手段は、前記撮像手段により取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルに基づく画素値により構成された傾き画像を生成し、
前記判定手段は、前記傾き画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし８のいずれか１項に記載の検査装置。
【請求項１０】
前記判定手段は、前記輝度画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし９のいずれか１項に記載の検査装置。
【請求項１１】
前記判定手段は、それぞれ照明方向が異なる複数の輝度画像のうち少なくとも１つの輝度画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１０に記載の検査装置。
【請求項１２】
前記判定手段は、前記照明手段のすべて光源を同時に点灯して前記撮像手段により取得された輝度画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１０に記載の検査装置。
【請求項１３】
前記判定手段は、それぞれ照明方向が異なる複数の輝度画像を合成して生成された輝度画像を用いて前記検査対象物の良否を判定することを特徴とする請求項１０に記載の検査装置。
【請求項１４】
前記検査画像を記憶する記憶手段をさらに有し、
前記判定手段は前記記憶手段から前記検査画像を読み出して検査を実行し、検査結果に基づいて前記検査対象物の良否を判定することを特徴とする請求項１ないし１３のいずれか１項に記載の検査装置。
【請求項１５】
前記記憶手段は、それぞれ値の異なる特徴サイズを適用して生成された複数の検査画像を記憶することを特徴とする請求項１４に記載の検査装置。
【請求項１６】
前記記憶手段は、前記検査画像に加え、傾き画像および反射率画像のうち少なくとも一方を記憶することを特徴とする請求項１４または１５に記載の検査装置。
【請求項１７】
複数の検査画像から１つの検査画像を選択する選択手段と、
前記選択手段により選択された検査画像に対して検査ツールを設定する検査ツール設定手段をさらに有することを特徴とする請求項１ないし１６のいずれか１項に記載の検査装置。
【請求項１８】
良品から取得された基準画像を用いてパターンサーチを実行して検査領域を設定する検査領域設定手段をさらに有し、
前記判定手段は前記検査領域において実行された検査の結果を用いて前記検査対象物の良否を判定することを特徴とする請求項１ないし１７のいずれか１項に記載の検査装置。
【請求項１９】
前記検査領域は文字認識領域であることを特徴とする請求項１８に記載の検査装置。
【請求項２０】
前記撮像手段により取得された複数の輝度画像および前記検査画像のうち保存対象もしくは出力対象となる画像を選択する画像選択手段をさらに有することを特徴とする請求項１ないし１９のいずれか１項に記載の検査装置。
【請求項２１】
前記画像選択手段は、前記複数の輝度画像、前記検査画像、前記照明手段が備える複数の光源をすべて点灯させて取得された輝度画像および前記複数の輝度画像を合成して得られた合成輝度画像から保存対象もしくは出力対象となる画像を選択することを特徴とする請求項２０に記載の検査装置。
【請求項２２】
前記画像選択手段は、それぞれ特徴サイズが異なる前記複数の検査画像から保存対象もしくは出力対象となる画像を選択することを特徴とする請求項２０に記載の検査装置。
【請求項２３】
前記画像選択手段は、前記複数の輝度画像、前記検査画像および前記検査対象物の表面の反射率を画素値とした反射率画像から保存対象もしくは出力対象となる画像を選択することを特徴とする請求項２０に記載の検査装置。
【請求項２４】
画像を保存または出力する条件を設定する条件設定手段をさらに有することを特徴とする請求項２０に記載の検査装置。
【請求項２５】
前記条件設定手段は、常に画像を保存または出力するモードと、前記判定手段により前記検査対象物が良品ではないと判定されたときに画像を保存または出力するモードとのうちいずれかを設定することを特徴とする請求項２４に記載の検査装置。
【請求項２６】
前記判定手段が判定を終了した後で画像を保存または出力する条件が満たされているかどうかを判断する判断手段をさらに有することを特徴とする請求項２４または２５に記載の検査装置。
【請求項２７】
前記判定手段が判定を終了する前に画像を保存または出力する条件が満たされているかどうかを判断する判断手段をさらに有することを特徴とする請求項２４または２５に記載の検査装置。
【請求項２８】
フォトメトリックステレオ法にしたがって検査対象物を照明する照明手段と、
フォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段と、
前記撮像手段により取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルを算出し、前記複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の少なくとも１つの縮小画像とのうち、少なくとも２つの画像の合成処理を実行することにより、検査対象物の表面形状を示す検査画像を生成する演算手段と、
前記検査画像を用いて前記検査対象物の良否を判定する判定手段と、
前記合成処理を実行する際の前記縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する設定手段としてコンピュータを機能させ、
前記演算手段は、前記設定手段により設定された特徴サイズに応じた異なる検査画像を生成するものであることを特徴とするプログラム。
【請求項２９】
フォトメトリックステレオ法にしたがって検査対象物を照明する照明工程と、
フォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像工程と、
前記撮像工程において取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルを算出し、前記複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の少なくとも１つの縮小画像とのうち、少なくとも２つの画像の合成処理を実行することにより、検査対象物の表面形状を示す検査画像を生成する演算工程と、
前記検査画像を用いて前記検査対象物の良否を判定する判定工程と
を有する検査方法であって、
前記合成処理を実行する際の前記縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する設定工程をさらに有し、前記演算工程では、前記設定工程において設定された特徴サイズに応じた異なる検査画像が生成されることを特徴とする検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検査装置、検査方法およびプログラムに関する。
【背景技術】
【０００２】
フォトメトリックステレオの原理を使ってワーク（検査対象製品）について正確な三次元形状を計測するためには、ワークの各表面に対して均一な光量で照明光が入射するような照明光源が必要となる。また、照明光の入射角は既知である必要がある。さらに、ワークの部位に応じて光の入射角が変化してはならないため、検査したいワークのサイズに応じたサイズの照明光源が必要となる。また、カメラに映し出された画像のスケール情報（１画素あたりの実寸法）も必要となる。外観検査装置はユーザにより設置されることが多く、これらの厳格な設置条件をユーザに要求するのは困難である。そこで、特許文献１によれば、照明とカメラを一体化した専用装置を提案することで、ユーザの設置負担を軽減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】、特開２００７−２０６７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明によればは照明とカメラが一体化されるため、ユーザの設置負担が軽減される利点がある。それにもかかわらず、フォトメトリックステレオの原理を用いた外観検査装置は市場に普及していない。これにはいくつかの理由がある。特許文献１によれば、フォトメトリックステレオの原理を用いて得られる法線ベクトル画像（各画素がワーク表面の法線ベクトルを示した画像）や反射率画像（各画素がワーク表面の反射率を示した画像）を画像検査に応用している。そのため、特許文献１の発明は適用可能なアプリケーションが限定される。たとえば、反射率画像はワーク表面に輝度が飽和するぎらつき部分が多数あるワークの検査等には有用だが、ワーク表面の細かな凹凸傷の検査や刻印された文字のＯＣＲ（光学文字認識）には不向きである。一方で、ワーク表面の凹凸傷の検査や刻印された文字のＯＣＲなどの検査アプリケーションでは、厳格な設置条件は要求されない。しかし、このような検査アプリケーションでは、法線ベクトル画像や反射率画像から検査用の画像を生成する際にいくつかの画像処理パラメータをユーザが調整する必要がある。よって、この調整作業についてもユーザの負担を軽減することが望まれる。
【０００５】
そこで、本発明は、フォトメトリックステレオの原理を用いて取得された画像から検査用画像を生成する際のパラメータを容易に設定できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明によれば、たとえば、
フォトメトリックステレオ法にしたがって検査対象物を照明する照明手段と、
フォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段と、
前記撮像手段により取得された複数の輝度画像から前記検査対象物の表面の法線ベクトルを算出し、前記複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルを用いて当該注目画素の画素値を積み上げ演算し、当該画素値を有する検査画像を生成する演算手段と、
前記検査画像を用いて前記検査対象物の良否を判定する判定手段と
を有する検査装置であって、
前記積み上げ演算において使用される前記縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する設定手段をさらに有することを特徴とする検査装置が提供される。
【発明の効果】
【０００７】
本発明によれば、特徴サイズという概念を導入することで、フォトメトリックステレオの原理を用いて取得された画像から検査用画像を生成する際のパラメータを容易に設定できるようになる。
【図面の簡単な説明】
【０００８】
【図１】検査装置の概要を示す図
【図２】フォトメトリックステレオの原理を説明するための図
【図３】積み上げ演算を説明するための図
【図４】特徴サイズに基づく重みの決定方法を示す図
【図５】特徴サイズの異なる検査画像の一例を示す図
【図６】形状画像の生成に関与する画像を説明する図
【図７】テクスチャ画像の生成方法を説明する図
【図８】検査装置の機能ブロック図
【図９】設定モードを示すフローチャート
【図１０】ユーザインタフェースの一例を示す図
【図１１】ユーザインタフェースの一例を示す図
【図１２】ユーザインタフェースの一例を示す図
【図１３】ユーザインタフェースの一例を示す図
【図１４】ユーザインタフェースの一例を示す図
【図１５】ユーザインタフェースの一例を示す図
【図１６】ユーザインタフェースの一例を示す図
【図１７】ユーザインタフェースの一例を示す図
【図１８】ユーザインタフェースの一例を示す図
【図１９】ユーザインタフェースの一例を示す図
【図２０】検査モードを示すフローチャート
【図２１】ユーザインタフェースの一例を示す図
【図２２】ユーザインタフェースの一例を示す図
【図２３】ユーザインタフェースの一例を示す図
【図２４】ユーザインタフェースの一例を示す図
【図２５】ユーザインタフェースの一例を示す図
【図２６】ユーザインタフェースの一例を示す図
【発明を実施するための形態】
【０００９】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１０】
図１は外観検査システムの一例を示す図である。ライン１は検査対象物であるワーク２を搬送する搬送ベルトなどである。照明装置３はフォトメトリックステレオ法にしたがって検査対象物を照明する照明手段の一例である。カメラ４はフォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例である。画像処理装置５は、カメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルを算出し、複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルを用いて注目画素の画素値を積み上げ演算し、画素値を有する検査画像を生成し、検査画像を用いて検査対象物の良否を判定する外観検査装置である。傾き画像は法線ベクトル画像と呼ばれることもある。画像処理装置５は輝度画像から反射率画像（アルベド画像）を作成してもよい。表示部７は検査に関連する制御パラメータを設定するためのユーザインタフェースや傾き画像、反射率画像、検査画像などを表示する。入力部６は、コンソール、ポインティングデバイス、キーボードなどであり、制御パラメータを設定するために使用される。
【００１１】
＜フォトメトリクスステレオの原理＞
一般的なフォトメトリックステレオ法では、図２に示すように、ワーク２に対して４方向から照明光Ｌ１〜Ｌ４を切り替えながら照射し、４枚の輝度画像を生成する。各輝度画像を撮影する際に使用される照明光の方向は一方向だけである。なお、輝度画像は複数の画素により構成されており、４枚の輝度画像において座標が一致する４つの画素は同一のワーク表面に対応している。４つの画素の画素値（輝度値）Ｉ１、Ｉ２、Ｉ３、Ｉ４と、法線ベクトルｎとの間には図２示した式１が成り立つ。ここでρは反射率である。Ｌは各方向からの照明光の光量であり、既知である。ここでは４方向とも光量は同一である。Ｓは照明方向行列であり、既知である。この数式を解くことで各座標（ワーク表面）ごとの反射率ρと法線ベクトルｎが求められる。その結果、反射率画像と傾き画像とが得られる。
【００１２】
本実施形態では、さらに、傾き画像から高さ成分を抽出しワークの形状を示す形状画像を検査画像として作成する。検査画像は、図２に示し式２である積み上げ演算式により求められる。ここで、ｚｎはｎ回目の積み上げ結果であり、ワーク表面の形状を示している。ｘ、ｙは画素の座標を示している。ｎは何回目の繰り返し計算であるかを示している。ｐは水平方向の傾き成分を示し、ｑは垂直方向の傾き成分を示している。ｐ、ｑは法線ベクトルｎから求められる。ｗは重みである。また、１回目の積み上げ演算では１／１の傾き画像を用い、２回目の積み上げには１／２の縮小傾き画像を用い、３回目の積み上げには１／４の縮小傾き画像を用いる。縮小画像を作成する際にはガウシアン処理を施してから縮小処理が施されてもよい。
【００１３】
本実施形態では積み上げ演算において特徴サイズというパラメータを採用する。特徴サイズは積み上げ演算において使用される縮小画像の成分に対する重みを与えるパラメータである。特徴サイズはワーク２の表面形状の大きさを示すパラメータである。たとえば、特徴サイズが１であればｘｙ方向で注目画素に隣接した４つの画素についての重みが最も大きくされて積み上げ演算される。特徴サイズが２であればｘｙ方向で注目画素に隣接した８つの画素についての重みが最も大きく設定されて積み上げ演算が実行される。ただし、８つの画素を用いて演算することは演算量の増大を招くため、上述した縮小画像を作成して演算に使用する。つまり、８つの隣接画素を用いる代わりに、傾き画像を１／２に縮小して演算を実行する。これにより、ある注目画素について縮小画像における４つの画素を演算に考慮すればよいことになる。これは特徴サイズが４、８、１６、３２と増加したときもそれに応じた縮小画像を作成し、特徴サイズに対応した縮小画像について重みを最大に設定することで、同様の演算負荷の軽減効果が得られる。
【００１４】
図３は積み上げ演算の一例を示している。この例では法線ベクトルｎから求められた２枚の傾き画像（水平方向の傾き成分ｐの画像と垂直方向の傾き成分ｑの画像）を入力としている。まず、縮小度の大きい傾き画像で全体の形状を積み上げ、それよりも縮小度の小さい画像で細部形状を積み上げる。これにより短時間で全体の形状を復元できるようになる。図３によれば、たとえば、１／３２の縮小画像について式２により注目画素についてワーク表面の形状を示すパラメータであるｚを算出する。重みｗは特徴サイズに応じて決定される。縮小画像を構成する１つ１つの画素を注目画素として積み上げ演算をイタレーション（繰り返し処理）する。ｚの初期値はゼロである。次に式２にしたがって１／１６の縮小画像についてｚを算出する。ここでは、１／３２の演算結果に対して１／１６の縮小画像の傾き成分が積み上げられる。同様にして、１／８縮小画像から１／１画像まで積み上げ演算が実行される。
【００１５】
図４は各特徴サイズごと重みの一例を示している。横軸は解像度レベル（縮小度）を示し、縦軸は重みを示している。図４からわかるように、特徴サイズ１では縮小度が最も小さいレベル０（１／１画像）の重みが最大となる。これにより微細な形状を積み上げることが可能となる。特徴サイズ２ではレベル１（１／２画像）の重みが最大となる。これによりさらに大きなサイズの形状を積み上げることが可能となる。このように各重みは、特徴サイズに対応したレベルでピークが生じるように決定される。
【００１６】
形状画像の復元方法としては、上記の積み上げ演算の他に公知のフーリエ変換積分法を採用することもできる（A Method for Enforcing Integrability in Shape from Shading Algorithms, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.10, No.4 July 1988）。当該方法においても計算プロセスにおいて縮小画像を生成し、重み付け成分を調整することにより抽出する特徴サイズを変更することが可能である。
【００１７】
図５は特徴サイズの違いに応じた検査画像の一例を示している。特徴サイズ４では細部の形状が抽出されており、特徴サイズ６４では全体の形状が抽出されており、特徴サイズ１６ではこれらの中間的なサイズの形状が抽出されていることがわかる。このように小さな特徴サイズは細かい傷を検査するのに役立ち、大きな特徴サイズは物体の有無の判別に適しており、中間の特徴サイズは凹凸文字のＯＣＲなどに適している。つまり検査ツールに応じて適切な特徴サイズを選択することで検査精度を向上させることが可能となる。
【００１８】
図６はフォトメトリックステレオ法による検査画像の作成工程を示す図である。輝度画像６０１〜６０４はそれぞれ照明方向の異なる照明光によりワーク２を照明して取得された輝度画像である。なお、輝度画像６００は４方向から同時に照明して得られた輝度画像である。それぞれ照明方向の異なる照明光によりワーク２を照明して取得された複数の輝度画像から演算によりワーク表面の法線ベクトルが求められる。傾き画像６１１は、輝度画像６０１〜６０４から求められた法線ベクトルのＸ方向の傾き成分を画素値とした傾き画像である。傾き画像６１２は、輝度画像６０１〜６０４から求められた法線ベクトルのＹ方向の傾き成分を画素値とした傾き画像である。反射率画像６１０は、輝度画像６０１〜６０４から求められた法線ベクトルから、ワーク表面の傾きによる輝度値の変動分を除去し、ワーク表面の反射率を画像にした反射率画像である。検査画像６２１〜６２３は傾き画像６１１、６１２から求められたそれぞれ特徴サイズの異なる画像である。なお、検査画像６２１〜６２３も傾き成分に基づく画素により構成されているため、傾き画像の一種である。このような手順でワーク２の検査画像が生成される。なお、検査ツールに依存して全方向照明画像である輝度画像６００や反射率画像６１０が検査画像として採用されてもよい。全方向照明画像とは、照明装置３が備える複数の光源をすべて点灯させて取得された輝度画像のことである。
【００１９】
＜テクスチャ情報＞
テクスチャ情報とはワーク２の表面の反射率ρに基づく情報である。式１によって反射率ρが求められる、つまり４枚の輝度画像から１枚の反射率画像が得られる。反射率画像はワーク表面の反射率ρに比例した画素値を有する画像である。図７に示すように、４枚の輝度画像７０１〜７０４から法線ベクトルを算出し、算出された法線ベクトルと複数の輝度画像の各々対応する画素の輝度値に基づいて各画素の反射率に比例した画素値を算出することで反射率画像であるテクスチャ画像７１１、７１２が求められる。この合成方法としては４枚の輝度画像の画素平均によってテクスチャ画像を求める方法や、４枚の輝度画像からハレーションを除去してから画素平均によってテクスチャ画像を求める方法などがある。テクスチャ画像７１１は画像平均によって求められたものであり、テクスチャ画像７１２はハレーション除去によって求められたものの一例である。４枚の輝度画像において座標が一致する画素が４つ存在する。４つの画素のうち画素値が１番大きい画素を除外したり、画素値の大きい順に１番目からＮ番目（Ｎは３以下の自然数）までの画素を除外したりすることでハレーションを除去することが可能である。ハレーションは高い輝度として画像に現れるからである。テクスチャ画像７１１、７１２はともに反射率に基づく画素により構成されているため、反射率画像の一種である。
【００２０】
＜機能ブロック＞
図８は検査装置のブロック図である。この例では照明装置３、カメラ４および画像処理装置５がそれぞれ個別の筐体に収容されているが、これは一例に過ぎず、適宜に一体化されてもよい。照明装置３は、フォトメトリックステレオ法にしたがって検査対象物を照明する照明手段の一例であり、光源群８０１とこれを制御する照明コントローラ８０２を備えている。複数の発光素子で１つのセグメントが構成され、さらに複数のセグメントによって光源群８０１が構成されていてもよい。セグメントの数は一般的には４つであるが、３つ以上であればよい。これは３方向以上の照明方向からワーク２を照明できれば、フォトメトリックステレオ法により検査画像を生成できるからである。図１に示したように照明装置３の外形はリング状をしていてもよい。また、照明装置３は、それぞれ分離した複数の照明ユニットにより構成されていてもよい。たとえば、市場にはワーク２を撮影するために使用される照明ユニットが存在しているが、これらはフォトメトリックステレオ用に開発されたものではない。ただし、このような照明ユニットを複数個用意するとともに、これらを制御する照明コントローラを接続することで、照明装置３を構成してもよい。照明コントローラ８０２は、画像処理装置５からの制御コマンドに応じて光源群８０１の点灯タイミングや点灯パターンを制御する。照明コントローラ８０２は照明装置３に内蔵されているものとして説明するが、カメラ４に内蔵されていてもよいし、画像処理装置５に内蔵されていてもよいし、これらからは独立した筐体に収容されていてもよい。
【００２１】
カメラ４はフォトメトリックステレオ法にしたがって照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例であり、画像処理装置５からの制御コマンドに応じて撮像処理を実行する。カメラ４はワーク２の輝度画像を作成して画像処理装置５に転送してもよいし、撮像素子から得られる輝度信号を画像処理装置５に転送し、画像処理装置５が輝度画像を生成してもよい。輝度信号は輝度画像の元になる信号であるため、広義には輝度信号も輝度画像である。
【００２２】
画像処理装置５は、ＣＰＵやＡＳＩＣなどのプロセッサ８１０と、ＲＡＭ、ＲＯＭ、可搬記憶媒体などの記憶装置８２０と、ＡＳＩＣなどの画像処理部８３０と、ネットワークインタフェースなどの通信部８５０とを有している。プロセッサ８１０は検査ツールの設定や、検査画像の生成を担当する。フォトメトリック処理部８１１は、カメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルｎを算出し、複数の輝度画像から算出された法線ベクトルｎに基づく画素値を有する傾き画像と、傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルｎを用いて当該注目画素の画素値を積み上げ演算し、当該画素値を有する検査画像を生成する演算手段として機能する。なお、具体的には上述した数式などを使用して検査画像が生成される。照明制御部８１２は、照明コントローラ８０２に対して制御コマンドを送信することで照明パターンや照明切り替えタイミングなどを制御する。撮像制御部８１３は、カメラ４を制御する。ＵＩ管理部８１４は、検査ツールを設定するためのユーザインタフェース（ＵＩ）や検査画像を生成するために必要となるパラメータを設定するためのＵＩなどを表示部７に表示し、入力部６から入力された情報したがって検査ツールやパラメータを設定する。とりわけ、特徴サイズ設定部８１５は積み上げ演算において使用される縮小画像の成分に対する重みｗを与えるパラメータである特徴サイズを設定する設定手段として機能する。画像選択部８１６は複数の輝度画像や複数の検査画像、複数の傾き画像、複数の反射率画像のうち表示すべき画像などを選択したりする。画像選択部８１６はカメラ４により取得された複数の輝度画像および検査画像のうち保存対象もしくは出力対象となる画像を選択してもよい。検査ツール設定部８１７は画像選択部８１６により選択された検査画像に対して検査ツールを設定する。基準画像設定部８１８は良品から取得された基準画像を設定する。検査ツール設定部８１７は、特徴サイズ設定部８１５、画像選択部８１６、基準画像設定部８１８および条件設定部８１９を内包していてもよい。画像処理部８３０は基準画像を用いて検査画像にパターンサーチを実行し、検査画像に検査領域を設定する検査領域設定手段として機能する。検査領域は、たとえば、文字認識領域である。条件設定部８１９は画像を表示部７や通信部８５０に接続された外部機器に出力する条件や、可搬記憶媒体などに保存する条件を設定する。判定部８４０は検査画像を用いてワーク２の良否を判定する判定手段として機能する。たとえば、判定部８４０は画像処理部８３０において検査画像を用いて実行された検査の結果を受け取って検査結果が良品条件（公差など）を満たしているかどうかを判定する。
【００２３】
記憶装置８２０は、カメラ４によって取得された輝度画像のデータである輝度画像データ８２１、フォトメトリック処理部８１１により生成された傾き画像データ８２２や反射率画像データ８２３を記憶する。また、記憶装置８２０は各種の設定データやユーザインタフェースを生成するためのプログラムコードなども記憶している。記憶装置８２０は特徴サイズがそれぞれ異なる検査画像を記憶して保持していてもよい。また、記憶装置８２０は検査画像に加え、検査画像の元になった傾き画像データや反射率画像データを記憶してもよい。これらはワーク２の誤判定が見つかったときに、検査画像、傾き画像または反射率画像のいずれに問題があったのかを特定して、その制御パラメータを修正するのに役立つであろう。
【００２４】
画像処理部８３０は、フォトメトリック処理部８１１によって生成された検査画像（傾き画像データ８２２や反射率画像データ８２３）を用いて外観検査を実行する。傷検査部８３１は、それぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して傷検査を実行する。ＯＣＲ部８３２はそれぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して文字認識処理を実行する文字認識処理手段として機能する。傷検査部８３１やＯＣＲ部８３２は記憶装置８２０に記憶されている検査画像（傾き画像データ８２２や反射率画像データ８２３）を読み出して検査を実行し、検査結果を記憶装置８２０に書き込んだり、判定部８４０に渡したりしてもよい。判定部８４０はこの検査結果に基づきワーク２の良否を判定する。
【００２５】
＜設定モード＞
検査システムには検査ツールを設定する設定モードと、設定された検査ツールにしたがってワーク２の外観検査を実行する検査モード（運転モード）とを有しいている。ここでは設定モードの一例について説明する。
【００２６】
図９は設定モードに関するフローチャートである。入力部６を通じて設定モードの開始が指示されると、プロセッサ８１０のＵＩ管理部８１４は検査ツールを設定するためのＵＩを表示部７に表示する。
【００２７】
図１０はＵＩの一例を示している。ＵＩ管理部８１４が表示部７に表示するＵＩ１０００には、検査結果の保存先を指定するプルダウンメニュー１００１や検査ツールの名称を入力するテキストボックス１００２が設けられている。ＵＩ管理部８１４は実行ボタンの押し下げを検出すると次のＵＩを表示する。
【００２８】
図１１に示すＵＩ１１００には、検査ツールを設定するためのガイダンス１１０１と、カメラ４に撮像を指示する計測実行ボタン１１０２と、カメラ４により撮像された画像を表示する表示領域１１０３と、カメラ設定の開始を指示するカメラ設定ボタン１１０４を有している。なお、画像選択部１１０５は、表示領域１１０３に表示する画像や検査に使用する画像を選択するためのボタンである。この例では画像選択部１１０５によって、形状１、形状２、テクスチャおよびノーマルのうちいずれか１つの画像が択一的に選択される。計測実行ボタン１１０２が操作されると、撮像制御部がカメラ４に撮像を指示する。ＵＩ管理部８１４はカメラ４により取得された輝度画像を表示領域１１０３にレンダリングする。なお、画像選択部１１０５によって別の画像が選択されると、ＵＩ管理部８１４は画像選択部１１０５によって選択された画像を表示領域１１０３にレンダリングする。このようにユーザは画像選択部１１０５を操作するか、入力部６を通じて画像の切り替えを指示することで表示領域１１０３に表示される画像を切り替えることができる。カメラ設定ボタン１１０４が操作されると、ＵＩ管理部８１４は次のＵＩに切り替える。
【００２９】
Ｓ９０１でＵＩ管理部８１４はカメラ４を設定するためＵＩを表示部７に表示し、カメラ設定を実行する。図１２はカメラ設定ＵＩ１２００の一例を示している。カメラ設定タブ１２０１には、カメラの機種を設定するプルダウンメニュー１２０２、画像サイズを設定するプルダウンメニュー１２０３、シャッタースピードを設定するプルダウンメニュー１２０４、カメラの感度を設定するスライダー１２０５などを有している。なお、計測実行ボタン１１０２が操作されると、ＵＩ管理部８１４は、その時点で設定されている撮像パラメータにしたがってカメラ４によって取得された輝度画像を表示領域１１０３に表示する。これによりユーザは設定したパラメータが適切かどうかを判定できる。
【００３０】
Ｓ９０２でＵＩ管理部８１４はフォトメトリック処理を設定するためＵＩを表示部７に表示し、設定を実行する。たとえば、カメラ設定ＵＩ１２００に設けられているフォトメトリックステレオ設定タブ１２１０が操作されたこと検知すると、ＵＩ管理部８１４は、図１３に示すように、フォトメトリックステレオ設定タブ１２１０を有効に切り替える。有効に切り替えるとは、ユーザ操作可能な状態にフォトメトリックステレオ設定タブ１２１０の表示状態を切り替えることをいう。フォトメトリックステレオ設定タブ１２１０には、画像を選択するためのプルダウンメニュー１３０１と、特徴サイズ設定部１３０２とが含まれている。この例では、それぞれ特徴サイズが異なる３つの検査画像（形状１、形状２、形状３）のいずれかを選択できるものとする。プルダウンメニュー１３０１によって選択された画像ごとに特徴サイズ設定部１３０２により特徴サイズが設定される。
【００３１】
フォトメトリックステレオ設定タブ１２１０に照明パターンを選択するための選択部が配置されてもよい。また、一回の照明あたりの発光量を指定する指定部が設けられてもよい。
【００３２】
Ｓ９０３でＵＩ管理部８１４は検査ツールを設定するためのＵＩを表示部７に表示し、設定を実行する。図１４は検査ツールを設定するＵＩ１４００の一例である。画像選択ボタン１４０１は、複数ある検査画像のうち検査に使用する検査画像を選択するためのボタンである。検査カテゴリー選択ボタン１４０２は、複数ある検査カテゴリーのうち検査ツールとして追加すべきツールのカテゴリーを選択するためのボタンである。認識対象設定ボタン１４０３は複数ある認識対象のうち１つを選択するためのボタンである。この例では、検査画像として「形状１」が選択され、カテゴリーとして「認識」が選択され、認識処理として「文字認識」が選択されている。追加ボタン１４０４が操作されると、ＵＩ管理部８１４は次のＵＩに切り替える。図１５は基準画像登録ＵＩ１５００を示している。基準画像登録ＵＩ１５００には、上述した計測実行ボタン１１０２、表示領域１１０３に加え、登録ボタン１５０１が配置されている。登録ボタン１５０１が操作されると、ＵＩ管理部８１４は計測実行ボタン１１０２によって取得され、表示領域１１０３に表示されている画像を基準画像として登録する。登録が完了すると、ＵＩ管理部８１４は次のＵＩに切り替える。
【００３３】
図１６は計測領域設定ＵＩ１６００を示している。計測領域設定ＵＩ１６００の表示領域１１０３には基準画像１６０１と、計測領域を示すフレーム１６０２が配置される。ＵＩ管理部８１４は入力部６からの指示に応じてフレーム１６０２の位置とサイズを変更する。ユーザは基準画像１６０１のうち計測対象としたい部分の位置とサイズに合わせてフレーム１６０２の位置とサイズを調整する。なお、さらに、ＵＩ管理部８１４は、文字の切り出し設定や、認識すべき文字の具体例（文字画像）と文字画像に対応する文字キャラクタを登録するための辞書設定などを実行してもよい。
【００３４】
次に傷検査ツールについて説明する。図１７に示すように、検査カテゴリー選択ボタン１４０２によって傷検査が選択されると、ＵＩ管理部８１４は、検査内容選択ボタン１７０１を表示する。この例では、検査内容選択ボタン１７０１によって傷の総面積を計測するツールが選択されている。追加ボタン１４０４が操作されると、ＵＩ管理部８１４はＵＩを切り替える。
【００３５】
図１８は計測領域設定ＵＩ１８００を示している。計測領域設定ＵＩ１８００には、計測領域を示すフレーム１８０２が配置される。フレーム１８０２の形状は変更可能であり、たとえば、形状を選択するためのプルダウンメニュー１８０１によって複数の形状のうちいずれかの形状が選択される。ＵＩ管理部８１４はプルダウンメニュー１８０１によって選択された形状のフレーム１８０２を表示領域１１０３にレンダリングする。ＵＩ管理部８１４は入力部６からの指示に応じてフレーム１８０２の位置とサイズを変更する。
【００３６】
図１９は傷の検出条件を設定するための設定ＵＩ１９００を示している。設定ＵＩ１９００には、傷の検出方向を選択するためのプルダウンメニュー１９０１と、傷のセグメントサイズを指定するためのボックス１９０２と、傷のレベルを指定するためのスライダー１９０３が配置されている。設定ＵＩ１９００により設定された傷検出条件に基づいて傷検査部８３１が傷を検出したときは、ＵＩ管理部８１４が傷の位置に傷検出マーク１９１０を表示してもよい。これにより、ユーザは、傷検出条件が適切かどうかを判断できよう。
【００３７】
＜検査モード＞
図２０は検査モードを示すフローチャートである。入力部６を通じて検査モードの開始が指示されると、プロセッサ８１０が動作モードを検査モードに移行させる。
【００３８】
Ｓ２００１でプロセッサ８１０は設定された照明パターンにしたがって照明方向を切り替えながらワーク２の画像を撮像して取得する。具体的には、照明制御部８１２が、記憶装置８２０に保持されている設定データを参照して照明パターンを特定し、照明パターンを指定するためのコマンドを照明コントローラ８０２に送出する。撮像制御部８１３は記憶装置８２０に保持されている設定データを参照してカメラ４に関する制御パラメータ（シャッタースピードや感度など）を特定し、これを指定するコマンドをカメラ４に送信する。フォトメトリック処理部８１１は照明の開始を指示するためのトリガー信号を照明コントローラ８０２に送信するとともに、これと連動して撮像の開始を指示するためのトリガー信号をカメラ４に送信する。照明コントローラ８０２はトリガー信号に同期して照明方向を切り替える。たとえば、照明コントローラ８０２はコマンドにより指定された照明パターンにしたがって４つの照明方向について１つずつ順番に対応する発光素子を点灯させる。照明コントローラ８０２はコマンドと照明パターンとの対応関係をメモリなどに保持していてもよい。トリガー信号は照明開始時に１つだけ発行されてもよいし、切り替えタイミングにおいても発行されてもよい。カメラ４は制御パラメータにしたがってワーク２を撮像し、輝度画像を画像処理装置５に転送する。このようにして、たとえば、１つの照明方向につき１枚の輝度画像が生成される。
【００３９】
Ｓ２００２でプロセッサ８１０は複数の輝度画像から法線ベクトルｎと反射率ρとを求める。上述したようにフォトメトリック処理部８１１は複数の輝度画像の画素値について式１を適用し、法線ベクトルｎと反射率ρとを求める。
【００４０】
Ｓ２００３でプロセッサ８１０は設定された特徴サイズにしたがって検査画像を生成する。上述したようにフォトメトリック処理部８１１は特徴サイズに対応する重みＷを重みテーブルなどから決定し、式２を用いて積み上げ演算を実行して検査画像（傾き画像）を生成する。このように、フォトメトリック処理部８１１は複数の輝度画像からワーク２の表面の法線ベクトルｎに基づく画素値を有する傾き画像を生成してもよい。なお、それぞれ値の異なる複数の特徴サイズを設定されている場合、フォトメトリック処理部８１１は設定された複数の特徴サイズのそれぞれについて検査画像を生成してもよい。また、フォトメトリック処理部８１１は上述した手法により反射率画像やテクスチャ画像を生成してもよい。たとえば、フォトメトリック処理部８１１は複数の輝度画像からワーク２の表面の法線ベクトルｎとともにワーク２の表面の反射率ρを算出し、当該反射率ρに基づく画素値を有する反射率画像を生成してもよい。ここでは検査の対象とされる画像が生成され、検査の対象とさていない画像については生成が省略されてもよい。
【００４１】
Ｓ２００４でプロセッサ８１０は検査画像を表示部７に表示する。ＵＩ管理部８１４は検査画像とともに、輝度画像、傾き画像、反射率画像を表示部７に同時または選択的に表示してもよい。選択的に表示する場合、ＵＩ管理部８１４は入力部６からの切り替え指示にしたがって、たとえば、４つの輝度画像を順番に切り替え表示してもよい。たとえば、入力部６のうちコンソールに設けられた特定のキーが画像の切替ボタンとして割り当てられていてもよい。
【００４２】
Ｓ２００５でプロセッサ８１０は画像処理部８３０に検査の実行を指示する。画像処理部８３０は検査を指示されると、予め設定された検査ツールを起動して検査画像に対して検査を実行する。たとえば、傷検査部８３１は設定された計測領域や検出条件にしたがって傷のレベルを判別し、検査結果（傷のレベル）を判定部８４０に転送する。なお、傷検査部８３１は、上述した基準画像を用いてパターンサーチを実行して検査領域を設定し、検査領域において検査を実行してもよい。また、ＯＣＲ部８３２は、予め設定された文字認識設定にしたがって検査画像に対して文字認識処理を実行し、文字認識結果を判定部８４０に転送する。ＯＣＲ部８３２も上述した基準画像を用いてパターンサーチを実行して検査領域（文字認識領域）を設定し、検査領域において検査を実行してもよい。
【００４３】
Ｓ２００６でプロセッサ８１０の判定部８４０は検査結果と判定閾値とを比較して、ワーク２が良品であるかどうかを判定する。たとえば、傷検査とＯＣＲの両方を実行するように設定されている場合、判定部８４０は傷検査部８３１の検査結果とＯＣＲ部８３２の文字認識結果との両方が合格レベルにあるときに、ワーク２を良品と判定する。
【００４４】
＜画像保存設定＞
図２１は検査フローを設定するＵＩ２１００の一例を示している。ＵＩ管理部８１４はＵＩ２１００を表示部７に表示させ、検査フローのスタートからエンドまでの間に実行される複数の工程を入力部６から入力される指示にしたがって設定して行く。この例では、撮像工程、パターンサーチ工程、位置補正工程および傷検査工程が検査フローに追加されている。たとえば、入力部６を通じて検査フローのエンドが指定されると、ＵＩ管理部８１４はエンドにおいて検査履歴を蓄積するように設定してもよい。検査履歴とは、検査結果や検査に使用された画像などである。
【００４５】
なお、各工程を追加するときにＵＩ管理部８１４は各工程で使用される画像の選択を、入力部６を通じて受け付けてもよい。たとえば、ユーザは入力部６を通じて撮像工程に対しては照明方向と異なる４つの輝度画像や傾き画像、反射率画像などを取得対象として指定し、パターンサーチ工程に対してはいずれかの輝度画像（全方向照明画像など）をサーチ対象として指定し、傷検査工程に対しては傾き画像から生成された検査画像などを検査対象として指定してもよい。本実施例では撮像工程にて撮像された複数の輝度画像から生成された複数の形状画像や反射率画像を後段の検査工程に出力することができるため、ユーザは、共通の撮像工程から生成された複数の検査画像を各画像の特性に応じた様々な検査に応用することができる。
【００４６】
図２２は履歴を蓄積する条件を設定するＵＩ２２００の一例を示している。蓄積条件を識別するための識別情報を設定する設定部２２０１は複数ある識別情報から設定対象となる識別情報を選択するためのプルダウンメニューによって構成されている。この例では設定部２２０１において「０：」という識別情報の蓄積条件が選択されている。蓄積条件としては、たとえば、検査結果が良品ではないときにのみ画像を蓄積するといった条件や、検査結果に依存せずに各ワークごとに常に画像を蓄積するといった条件などがある。ここでは、プロセッサ８１０は詳細設定ボタンなどが押されたことを検知すると条件設定部８１９を起動する。条件設定部８１９は、たとえば、常に画像を保存または出力するモードと、判定部８４０により検査対象物が良品ではないと判定されたときに画像を保存または出力するモードとのうちいずれかを設定してもよい。画像選択部２２０２は蓄積条件が満たされたときに保存する画像を選択する。ここでは画像選択部２２０２によって「すべて」と「指定」とを選択することができる。保存先選択部２２０３は、画像の保存先（例：内蔵メモリ、メモリカードなどの可搬メディアやＦＴＰサーバなどのネットワークストレージ）を選択するためのプルダウンメニューによって構成されている。
【００４７】
図２３は画像選択部２２０２で「指定」が選択されたときにＵＩ管理部８１４が表示部７に表示させるＵＩ２３００の一例を示している。この例では、検査フローにおいて扱われるすべての種類の画像のうち実際に保存すべき画像を選択するためのチェックボックス２３０１が設けられている。形状１、２は特徴サイズが異なる検査画像（傾き画像）である。テクスチャは反射率画像である。ノーマルは全方向照明により取得された画像である。４方向の矢印は照明方向ごとの画像を示している。チェックボックスにチェックされた画像が保存対象として設定される。
【００４８】
ところで、プロセッサ８１０は判定部８４０が判定を終了した後で画像を保存または出力する条件が満たされているかどうかを判断する判断手段を備えていてもよい。すなわち、検査フローのエンド部において、プロセッサ８１０は、条件設定部８１９により設定された蓄積条件や出力条件が満たされているかどうかを判断してもよい。
【００４９】
図２４は画像出力工程２４０１を検査フローに追加する例を示している。上述した実施例では検査フローの最後に画像を出力するように設定したが、この例では入力部６から入力されるユーザ指示にしたがってＵＩ管理部８１４が検査フローの任意の位置に画像出力工程２４０１を設定する。このように、プロセッサ８１０は、判定部８４０が判定を終了する前に位置する画像出力工程２４０１で画像を保存または出力する条件が満たされているかどうかを判断してもよい。画像出力工程２４０１に関連する蓄積設定等は図２１ないし図２３を用いて説明したのと同様であってもよいし、異なってもよい。
【００５０】
図２５は蓄積設定（出力設定）に関するＵＩの別の例を示している。画像出力工程２４０１が入力部６により選択された状態で、さらに入力部６により設定を開始する指示が入力されると、ＵＩ管理部８１４はＵＩ２５０１を表示する。画像変数２５０２は出力すべき画像を選択する画像選択部として機能し、この例では検査フローにおける各工程に付与されている画像変数によって出力すべき画像が指定される。つまり、各工程ごとに出力すべき画像を選択できる。ＵＩ２５０１において画像の出力枚数や画像形式なども設定されてもよい。出力先選択部２５０３は画像の出力先（例：内蔵メモリ、メモリカードなどの可搬記憶メディアやＦＴＰサーバなどのネットワークストレージ）を選択するためのプルダウンメニューである。
【００５１】
図２６は画像を選択するＵＩ２６００の一例である。ＵＩ２５０１において詳細設定ボタンが押し下げられると、ＵＩ管理部８１４はＵＩ２６００を表示する。ＵＩ２６００ではすべての画像を保存するか、個別指定するかを選択するためのラジオボタンや、画像を個別に選択するためのチェックボックスなどが配置されている。この例では、ラジオボタンにより個別指定が選択されているため、チェックボックスが有効となり、チェックボックスを通じていくつかの画像が選択されている。このように、複数の輝度画像、検査画像、全方向照明画像および複数の輝度画像を合成して得られた合成輝度画像から保存対象もしくは出力対象となる画像が選択されてもよい。また、それぞれ特徴サイズが異なる複数の検査画像から保存対象もしくは出力対象となる画像を選択できるようにＵＩ２６００が構成されてもよい。また、複数の輝度画像、検査画像および検査対象物の表面の反射率を画素値とした反射率画像から保存対象もしくは出力対象となる画像を選択できるようにＵＩ２６００が構成されてもよい。
【００５２】
＜まとめ＞
本実施例によれば、フォトメトリック処理部８１１は、フォトメトリックステレオ法にしたがってカメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルを算出し、複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルを用いて当該注目画素の画素値を積み上げ演算し、当該画素値を有する検査画像を生成する。また、フォトメトリック処理部８１１は、傾き画像と当該傾き画像の少なくとも１つの縮小画像を生成し、前記傾き画像と前記少なくとも１つの縮小画像とのうち、少なくとも２つの画像の合成処理を実行することにより、検査対象物の表面形状を示す検査画像を生成してもよい。とりわけ、本実施例によれば、合成処理（たとえば、積み上げ演算）において使用される縮小画像の成分に対する重みを与えるパラメータである特徴サイズを設定する特徴サイズ設定部８１５を設けている。このように特徴サイズという概念を導入することで、フォトメトリックステレオの原理を用いて取得された画像から検査用画像を生成する際のパラメータを容易に設定できるようになる。なお、フォトメトリック処理部８１１は特徴サイズ設定部８１５により設定された特徴サイズに応じた異なる検査画像を生成可能である。フォトメトリック処理部８１１は、それぞれ異なる縮小率を用いた複数の縮小画像を生成してもよい。また、フォトメトリック処理部８１１は特徴サイズ設定部８１５により特徴サイズが変更された際に、再度の撮像を行わずに取得済みの傾き画像に対する特徴サイズを変更することにより、検査画像を更新してもよい。これにより、画像の撮り直しが不要となるため、設定時に撮像環境を再現する必要がなく、撮りためた画像に対して特徴サイズの設定を変更しながら最適な設定を行うことが可能となるだろう。特徴サイズ設定部８１５は、検査アプリケーションに対応した異なる特徴サイズを段階的に設定してもよい。例えば、傷検査モードは特徴サイズが小さめ、ＯＣＲ認識モードは特徴サイズが大きめなど、アプリケーションに対応して特徴サイズを段階的に設定できるものなどが考えられます。たとえば、傷検査モードは特徴サイズが小さめ、ＯＣＲ認識モードは特徴サイズが大きめなど、アプリケーションに対応して特徴サイズを段階的に設定してもよい。これは予め適切な特徴サイズが不明であるときに有用であろう。
【００５３】
特徴サイズ設定部８１５はそれぞれ値の異なる複数の特徴サイズを設定してもよい。この場合、フォトメトリック処理部８１１は、特徴サイズ設定部８１５により設定された複数の特徴サイズのそれぞれについて検査画像を生成してもよい。検査ツールの種類に応じて適切な特徴サイズが異なることが考えられる。よって、それぞれ値の異なる複数の特徴サイズに応じて検査画像を生成することは、検査に対応したより適切な検査画像を選択する上で有利であろう。
【００５４】
傷検査部８３１はそれぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して傷検査を実行し、判定部８４０は、傷検査部８３１の検査結果を用いてワーク２の良否を判定してもよい。複数の検査画像に対して傷検査を実行することで、予め１つの検査画像を選択する必要がなくなり、ユーザにとっては便利であろう。ＯＣＲ部８３２はそれぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して文字認識処理を実行し、判定部８４０はＯＣＲ部８３２の文字認識結果を用いてワーク２の良否を判定してもよい。複数の検査画像に対して文字認識処理を実行することで、予め１つの検査画像を選択する必要がなくなり、ユーザにとっては便利であろう。
【００５５】
本来はフォトメトリックステレオ法によりワーク２の高さを示す高さ画像を生成することができる。しかし、ワーク２の表面の高さを計測するためには、かなり厳密にカメラ４と照明装置３の位置関係を設定する必要がある。一方で、フォトメトリックステレオ法により得られた画像のうち高さの情報を取得せずに形状の情報やテクスチャ（模様）の情報を使用することも可能である。たとえば、傷検査やＯＣＲを行うのであれば、カメラ４と照明装置３の厳密な設定は不要である。このように正確な高さデータの不要な検査ツールであれば、カメラ４と照明装置３の配置条件を緩和することができる。なお、照明方向は３方向以上であればよい。
【００５６】
フォトメトリック処理部８１１はカメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルとともにワーク２の表面の反射率を算出し、当該反射率に基づく画素値により構成された反射率画像を生成し、判定部８４０は反射率画像を用いてワーク２の良否を判定してもよい。これは反射率画像が検査に適している検査ツールも存在するからである。フォトメトリック処理部８１１はカメラ４により取得された複数の輝度画像からワーク２の表面の法線ベクトルに基づく画素値により構成された傾き画像を生成し、判定部８４０は傾き画像を用いてワーク２の良否を判定してもよい。これは傾き画像が検査に適している検査ツールも存在するからである。判定部８４０は輝度画像を用いてワーク２の良否を判定してもよい。傾き画像や反射率画像に加工する前の輝度画像が検査に適している検査ツールも存在するからである。判定部８４０は、それぞれ照明方向が異なる複数の輝度画像のうち少なくとも１つの輝度画像を用いてワーク２の良否を判定してもよい。照明方向の違いによって明確になるような傷なども存在するため、そのような傷の検出にはある方向からワーク２を照明することで得られた輝度画像が好適であろう。
【００５７】
判定部８４０は照明装置３のすべて光源を同時に点灯してカメラ４により取得された輝度画像を用いてワーク２の良否を判定してもよい。いわゆる全方向照明画像を用いることでワーク２の良否が判定されてもよい。たとえば、ワーク２のある部分の面積計算や端子の長さの測定などは、全方向照明画像が好適なことがある。
【００５８】
判定部８４０はそれぞれ照明方向が異なる複数の輝度画像を合成して生成された合成輝度画像を用いてワーク２の良否を判定してもよい。合成輝度画像は全方向照明画像に類似した画像となる。よって、全方向照明画像に代えて合成輝度画像を用いることで、全方向照明画像を取得することなく、検査を実行することが可能となろう。全方向照明画像が必要な場合、それぞれ照明方向が異なる４枚の輝度画像と、同時に４方向から照明して得られた１枚の全方向照明画像とを取得しなければならない。つまり、５回の照明と５回の撮像とが必要となる。一方で、合成輝度画像を使用すれば、４回の照明と４回の撮像とを実行すればよい。このように合成輝度画像を採用することで、短時間で複数の検査画像を処理する必要があるときにはプロセッサ８１０の処理負荷を軽減できる。また、画像の取得枚数が多くなればなるほどライン１の搬送速度を低下させる必要が生じるが、本実施例では、画像の取得枚数を削減できるため、ライン１の搬送速度の高速化も可能である。
【００５９】
記憶装置８２０は検査画像を記憶して保持してもよい。判定部８４０または画像処理部８３０は記憶装置８２０から検査画像を読み出して検査を実行し、検査結果に基づいてワーク２の良否を判定してもよい。なお、記憶装置８２０は内蔵メモリや可搬型記憶メディア、ネットワークストレージのいずれであってもよい。たとえば、可搬型記憶メディア、ネットワークストレージに検査画像を記憶すれば、検査画像を生成した装置とは異なる装置において検査処理を実行することも可能となろう。
【００６０】
記憶装置８２０はそれぞれ値の異なる特徴サイズを適用して生成された複数の検査画像を記憶してもよい。記憶装置８２０は、検査画像に加え、傾き画像および反射率画像のうち少なくとも一方を記憶してもよい。画像選択部８１６は複数の検査画像から１つの検査画像を選択してもよい。また、検査ツール設定部８１７は画像選択部８１６により選択された検査画像に対して検査ツールを設定してもよい。それぞれ値の異なる特徴サイズを適用して生成された複数の検査画像のうち検査に不要なものも存在しうる。よって、ユーザは検査ツールに応じて検査画像を設定してもよい。
【００６１】
図１５などを用いて説明したように、画像処理部８３０は良品から取得された基準画像を用いてパターンサーチを実行して検査領域を設定してもよい。判定部８４０は検査領域において実行された検査の結果を用いてワーク２の良否を判定してもよい。検査領域は、たとえば、文字認識領域である。
【００６２】
図１１、図２１ないし図２６を用いて説明したように、画像選択部８１６はカメラ４により取得された複数の輝度画像および検査画像のうち保存対象もしくは出力対象となる画像を選択してもよい。また、画像選択部８１６は複数の輝度画像、検査画像、照明装置３が備える複数の光源をすべて点灯させて取得された輝度画像および複数の輝度画像を合成して得られた合成輝度画像から保存対象もしくは出力対象となる画像を選択してもよい。さらに、画像選択部８１６はそれぞれ特徴サイズが異なる複数の検査画像から保存対象もしくは出力対象となる画像を選択してもよい。さらに、画像選択部８１６は複数の輝度画像、検査画像およびワーク２の表面の反射率を画素値とした反射率画像から保存対象もしくは出力対象となる画像を選択してもよい。このように検査に関連する画像を適宜選択できるようにすることで、所望の画像を保存または出力することが容易となろう。
【００６３】
画像を保存または出力する条件を設定する条件設定部８１９がさらに設けられてもよい。たとえば、図２２や図２６を用いて説明したように、条件設定部８１９は常に画像を保存または出力するモードと判定部８４０によりワーク２が良品ではないと判定されたときに画像を保存または出力するモードとのうちいずれかを設定してもよい。図２１ないし図２６を用いて説明したように、プロセッサ８１０は、判定部８４０が判定を終了した後でまたは前に画像を保存または出力する条件が満たされているかどうかを判断してもよい。たとえば、検査フローにおいて検査が終了した時点で画像を保存するかどうかが判断されてもよいし、検査フローのいずれかの工程で画像を保存するかどうかが判断されてもよい。とりわけ、後者の場合は検査フローの途中で生じる中間画像についても保存することが可能となろう。このような中間画像は検査に失敗した原因を探り、制御パラメータを調整する際に役立つであろう。
【符号の説明】
【００６４】
１…ライン、２…ワーク、３…照明装置、４…カメラ、５…画像処理装置、６…入力部、７…表示部
【図１】
2015232476.tif 000003
【図２】
2015232476.tif 000004
【図３】
2015232476.tif 000005
【図４】
2015232476.tif 000006
【図５】
2015232476.tif 000007
【図６】
2015232476.tif 000008
【図７】
2015232476.tif 000009
【図８】
2015232476.tif 000010
【図９】
2015232476.tif 000011
【図１０】
2015232476.tif 000012
【図１１】
2015232476.tif 000013
【図１２】
2015232476.tif 000014
【図１３】
2015232476.tif 000015
【図１４】
2015232476.tif 000016
【図１５】
2015232476.tif 000017
【図１６】
2015232476.tif 000018
【図１７】
2015232476.tif 000019
【図１８】
2015232476.tif 000020
【図１９】
2015232476.tif 000021
【図２０】
2015232476.tif 000022
【図２１】
2015232476.tif 000023
【図２２】
2015232476.tif 000024
【図２３】
2015232476.tif 000025
【図２４】
2015232476.tif 000026
【図２５】
2015232476.tif 000027
【図２６】
2015232476.tif 000028