(58)【調査した分野】(Int.Cl.,DB名)
異なる方向から光を照射して得られた複数の輝度画像をフォトメトリックステレオ法により合成し、検査対象物の表面のx成分の傾き画像とy成分の傾き画像を求め、当該x成分とy成分の傾きに基づいて、前記検査対象物の表面形状が平坦である部分に対応する画素に基準レベルを割り当てるとともに、検査対象物表面の凹凸形状に応じた濃淡値を有する形状画像を検査画像として生成する画像生成手段と、
前記画像生成手段により生成された検査画像を表示部に表示させるとともに、前記基準レベルを調整するためのユーザインタフェースを前記表示部に表示させるUI管理手段と、
前記ユーザインタフェースに対する前記基準レベルの調整操作を受け付ける入力手段と
を備え、
前記画像生成手段は、前記入力手段を介して調整された基準レベルにしたがって前記形状画像を構成する各画素値を調整し、凸形状又は凹形状のいずれかのみを抽出することにより、検査対象物の輪郭画像を生成し、
前記UI管理手段は、前記輪郭画像を前記表示部に表示させることを特徴とする検査装置。
前記UI管理手段は、撮像工程を含む複数の検査工程を設定するためのユーザインタフェースを前記表示部に表示させ、前記撮像工程にて複数の異なる条件で生成された検査画像の中から出力すべき画像を選択するユーザインタフェースを前記表示部に表示させることを特徴とする請求項1または2に記載の検査装置。
前記UI管理手段は、前記検査画像に加えて、全方向からの照明により取得された全方向照明画像の選択が可能なユーザインタフェースを前記表示部に表示させることを特徴とする請求項3に記載の検査装置。
前記画像生成手段は、前記複数の輝度画像から法線ベクトルを求め、当該法線ベクトルから前記検査対象物の表面の傾きによる輝度値の変動分を除去し、当該表面の反射率を画像にした反射率画像を生成するように構成されており、
前記UI管理手段は、前反射率画像を前記表示部に表示させることを特徴とする請求項1ないし6のいずれか一項に記載の検査装置。
前記UI管理手段は、前記x成分の傾き画像と前記y成分の傾き画像のうちの少なくとも一方を前記表示部に表示させることを特徴とする請求項1ないし7のいずれか一項に記載の検査装置。
異なる方向から光を照射して得られた複数の輝度画像をフォトメトリックステレオ法により合成し、検査対象物の表面のx成分の傾き画像とy成分の傾き画像を求め、当該x成分とy成分の傾きに基づいて、前記検査対象物の表面形状が平坦である部分に対応する画素に基準レベルを割り当てるとともに、検査対象物表面の凹凸形状に応じた濃淡値を有する形状画像を検査画像として生成する画像生成工程と、
前記画像生成工程で生成された検査画像を表示部に表示させるとともに、前記基準レベルを調整するためのユーザインタフェースを前記表示部に表示させる表示工程と、
前記ユーザインタフェースに対する前記基準レベルの調整操作を受け付ける受け付け工程と、を有し、
前記画像生成工程は、前記受け付け工程で受け付けられた調整操作に基づき調整された基準レベルにしたがって前記形状画像を構成する各画素値を調整し、凸形状又は凹形状のいずれかのみ抽出することにより、検査対象物の輪郭画像を生成する工程を含み、
前記表示工程は、前記輪郭画像を前記表示部に表示させる工程を含む、ことを特徴とする検査装置の制御方法。
【発明を実施するための形態】
【0012】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0013】
図1は外観検査システムの一例を示す図である。ライン1は検査対象物であるワーク2を搬送する搬送ベルトなどである。照明装置3はフォトメトリックステレオ法にしたがって検査対象物を照明する照明手段の一例である。カメラ4はフォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例である。画像処理装置5は、カメラ4により取得された複数の輝度画像からワーク2の表面の法線ベクトルを算出し、複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルを用いて注目画素の画素値を積み上げ演算し、画素値を有する検査画像を生成し、検査画像を用いて検査対象物の良否を判定する外観検査装置である。傾き画像は法線ベクトル画像と呼ばれることもある。画像処理装置5は輝度画像から反射率画像(アルベド画像)を作成してもよい。表示部7は検査に関連する制御パラメータを設定するためのユーザインタフェースや傾き画像、反射率画像、検査画像などを表示する。入力部6は、コンソール、ポインティングデバイス、キーボードなどであり、制御パラメータを設定するために使用される。画像処理装置5と照明装置3は信号線8によって接続されている。画像処理装置5とカメラ4は信号線9によって接続されている。
【0014】
とりわけ、
図1によればカメラ4と照明装置3とが独立して移動可能なようにそれぞれ異なるフレームによって支持されている。このように照明装置3は、カメラ4から独立して移動可能となっているため、ワーク2から照明装置3までの距離を自在に調整できるようになっている。つまり、ワーク2の種類や置き方に応じて照明装置3をワーク2から遠ざけて配置させることで、カメラ4は正反射光を強く受光できるようになる。また、照明装置3をワーク2に近づけて配置することでカメラ4は拡散反射光を強く受光できるようになる。なお、同一のフレームによってカメラ4と照明装置3とが指示されていてもよい。この場合には、照明装置3の取り付け位置を調整するためのクランプ機構などで照明装置3をフレームに固定すればよい。
【0015】
<フォトメトリクスステレオの原理>
一般的なフォトメトリックステレオ法では、
図2に示すように、ワーク2に対して4方向から照明光L1〜L4を順番に切り替えながら照射し、4枚の輝度画像を生成する。各輝度画像を撮影する際に使用される照明光の方向は一方向だけである。なお、輝度画像は複数の画素により構成されており、4枚の輝度画像において座標が一致する4つの画素は同一のワーク表面に対応している。4つの画素の画素値(輝度値)I1、I2、I3、I4と、法線ベクトルnとの間には
図2示した式1が成り立つ。ここでρは反射率である。Lは各方向からの照明光の光量であり、既知である。ここでは4方向とも光量は同一である。Sは照明方向行列であり、既知である。この数式を解くことで各座標(ワーク表面)ごとの反射率ρと法線ベクトルnが求められる。その結果、反射率画像と傾き画像とが得られる。
【0016】
本実施形態では、さらに、傾き画像から高さ成分を抽出しワークの形状を示す形状画像を検査画像として作成する。検査画像は、
図2に示し式2である積み上げ演算式により求められる。ここで、znはn回目の積み上げ結果であり、ワーク表面の形状を示している。x、yは画素の座標を示している。nは何回目の繰り返し計算であるかを示している。pは水平方向の傾き成分を示し、qは垂直方向の傾き成分を示している。p、qは法線ベクトルnから求められる。wは重みである。また、1回目の積み上げ演算では1/1の傾き画像を用い、2回目の積み上げには1/2の縮小傾き画像を用い、3回目の積み上げには1/4の縮小傾き画像を用いる。縮小画像を作成する際にはガウシアン処理を施してから縮小処理が施されてもよい。
【0017】
本実施形態では積み上げ演算において特徴サイズというパラメータを採用する。特徴サイズは積み上げ演算において使用される縮小画像の成分に対する重みを与えるパラメータである。特徴サイズはワーク2の表面形状の大きさを示すパラメータである。たとえば、特徴サイズが1であればxy方向で注目画素に隣接した4つの画素についての重みが最も大きくされて積み上げ演算される。特徴サイズが2であればxy方向で注目画素に隣接した8つの画素についての重みが最も大きく設定されて積み上げ演算が実行される。ただし、8つの画素を用いて演算することは演算量の増大を招くため、上述した縮小画像を作成して演算に使用する。つまり、8つの隣接画素を用いる代わりに、傾き画像を1/2に縮小して演算を実行する。これにより、ある注目画素について縮小画像における4つの画素を演算に考慮すればよいことになる。これは特徴サイズが4、8、16、32と増加したときもそれに応じた縮小画像を作成し、特徴サイズに対応した縮小画像について重みを最大に設定することで、同様の演算負荷の軽減効果が得られる。
【0018】
図3は積み上げ演算の一例を示している。この例では法線ベクトルnから求められた2枚の傾き画像(水平方向の傾き成分pの画像と垂直方向の傾き成分qの画像)を入力としている。まず、縮小度の大きい傾き画像で全体の形状を積み上げ、それよりも縮小度の小さい画像で細部形状を積み上げる。これにより短時間で全体の形状を復元できるようになる。
図3によれば、たとえば、1/32の縮小画像について式2により注目画素についてワーク表面の形状zを算出する。重みwは特徴サイズに応じて決定される。縮小画像を構成する1つ1つの画素を注目画素として積み上げ演算をイタレーション(繰り返し処理)する。zの初期値はゼロである。次に式2にしたがって1/16の縮小画像についてzを算出する。ここでは、1/32の演算結果に対して1/16の縮小画像の傾き成分が積み上げられる。同様にして、1/8縮小画像から1/1画像まで積み上げ演算が実行される。
【0019】
図4は各特徴サイズごと重みの一例を示している。横軸は解像度レベル(縮小度)を示し、縦軸は重みを示している。
図4からわかるように、特徴サイズ1では縮小度が最も小さいレベル0(1/1画像)の重みが最大となる。これにより微細な形状を積み上げることが可能となる。特徴サイズ2ではレベル1(1/2画像)の重みが最大となる。これによりさらに大きなサイズの形状を積み上げることが可能となる。このように各重みは、特徴サイズに対応したレベルでピークが生じるように決定される。
【0020】
形状画像の復元方法としては、上記の積み上げ演算の他に公知のフーリエ変換積分法を採用することもできる(A Method for Enforcing Integrability in Shape from Shading Algorithms, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.10, No.4 July 1988)。当該方法においても計算プロセスにおいて縮小画像を生成し、重み付け成分を調整することにより抽出する特徴サイズを変更することが可能である。
【0021】
図5は特徴サイズの違いに応じた検査画像の一例を示している。特徴サイズ4では細部の形状が抽出されており、特徴サイズ64では全体の形状が抽出されており、特徴サイズ16ではこれらの中間的なサイズの形状が抽出されていることがわかる。このように小さな特徴サイズは細かい傷を検査するのに役立ち、大きな特徴サイズは物体の有無の判別に適しており、中間の特徴サイズは凹凸文字のOCRなどに適している。つまり検査ツールに応じて適切な特徴サイズを選択することで検査精度を向上させることが可能となる。
【0022】
図6はフォトメトリックステレオ法による検査画像の作成工程を示す図である。輝度画像601〜604はそれぞれ照明方向の異なる照明光によりワーク2を照明して取得された輝度画像である。なお、輝度画像600は4方向から同時に照明して得られた輝度画像である。それぞれ照明方向の異なる照明光によりワーク2を照明して取得された複数の輝度画像から演算によりワーク表面の法線ベクトルが求められる。傾き画像611は、輝度画像601〜604から求められた法線ベクトルのX方向の傾き成分を画素値とした傾き画像である。傾き画像612は、輝度画像601〜604から求められた法線ベクトルのY方向の傾き成分を画素値とした傾き画像である。反射率画像610は、輝度画像601〜604から求められた法線ベクトルから、ワーク表面の傾きによる輝度値の変動分を除去し、ワーク表面の反射率を画像にした反射率画像である。検査画像621〜623は傾き画像611、612から求められたそれぞれ特徴サイズの異なる画像(表面形状画像)である。なお、検査画像621〜623も傾き成分に基づく画素により構成されているため、傾き画像の一種である。このような手順でワーク2の検査画像が生成される。なお、検査ツールに依存して全方向照明画像である輝度画像600や反射率画像610が検査画像として採用されてもよい。全方向照明画像とは、照明装置3が備える複数の光源をすべて点灯させて取得された輝度画像のことである。
【0023】
<テクスチャ情報>
テクスチャ情報とはワーク2の表面の反射率ρに基づく情報である。式1によって反射率ρが求められる、つまり4枚の輝度画像から1枚の反射率画像が得られる。反射率画像はワーク表面の反射率ρに比例した画素値を有する画像である。
図7に示すように、4枚の輝度画像701〜704から法線ベクトルを算出し、算出された法線ベクトルと複数の輝度画像の各々対応する画素の輝度値に基づいて各画素の反射率に比例した画素値を算出することで反射率画像であるテクスチャ画像711、712が求められる。この合成方法としては4枚の輝度画像の画素平均によってテクスチャ画像を求める方法や、4枚の輝度画像からハレーションを除去してから画素平均によってテクスチャ画像を求める方法などがある。テクスチャ画像711は画像平均によって求められたものであり、テクスチャ画像712はハレーション除去によって求められたものの一例である。4枚の輝度画像において座標が一致する画素が4つ存在する。4つの画素のうち画素値が1番大きい画素を除外したり、画素値の大きい順に1番目からN番目(Nは3以下の自然数)までの画素を除外したりすることでハレーションを除去することが可能である。ハレーションは高い輝度として画像に表れるからである。テクスチャ画像711、712はともに反射率に基づく画素により構成されているため、反射率画像の一種である。
【0024】
<機能ブロック>
図8は検査装置のブロック図である。この例では照明装置3、カメラ4および画像処理装置5がそれぞれ個別の筐体に収容されているが、これは一例に過ぎず、適宜に一体化されてもよい。照明装置3は、フォトメトリックステレオ法にしたがって検査対象物を照明する照明手段の一例であり、光源群801とこれを制御する照明コントローラ802を備えている。複数の発光素子で1つのセグメントが構成され、さらに複数のセグメントによって光源群801が構成されていてもよい。セグメントの数は一般的には4つであるが、3つ以上であればよい。これは3方向以上の照明方向からワーク2を照明できれば、フォトメトリックステレオ法により検査画像を生成できるからである。
図1に示したように照明装置3の外形はリング状をしていてもよい。また、照明装置3は、それぞれ分離した複数の照明ユニットにより構成されていてもよい。たとえば、市場にはワーク2を撮影するために使用される照明ユニットが存在しているが、これらはフォトメトリックステレオ用に開発されたものではない。ただし、このような照明ユニットを複数個用意するとともに、これらを制御する照明コントローラを接続することで、照明装置3を構成してもよい。照明コントローラ802は、画像処理装置5からの制御コマンドに応じて光源群801の点灯タイミングや照明パターン(点灯パターン)を制御する。照明コントローラ802は照明装置3に内蔵されているものとして説明するが、カメラ4に内蔵されていてもよいし、画像処理装置5に内蔵されていてもよいし、これらからは独立した筐体に収容されていてもよい。
【0025】
カメラ4はフォトメトリックステレオ法にしたがって照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例であり、画像処理装置5からの制御コマンドに応じて撮像処理を実行する。カメラ4はワーク2の輝度画像を作成して画像処理装置5に転送してもよいし、撮像素子から得られる輝度信号を画像処理装置5に転送し、画像処理装置5が輝度画像を生成してもよい。輝度信号は輝度画像の元になる信号であるため、広義には輝度信号も輝度画像である。
【0026】
画像処理装置5は、コンピュータの一種であり、CPUやASICなどのプロセッサ810と、RAM、ROM、可搬記憶媒体などの記憶装置820と、ASICなどの画像処理部830と、ネットワークインタフェースなどの通信部850とを有している。プロセッサ810は検査ツールの設定や、制御パラメータの調整、検査画像の生成・再生成・更新を担当する。フォトメトリック処理部811は、カメラ4により取得された複数の輝度画像からワーク2の表面の法線ベクトルnを算出し、複数の輝度画像から算出された法線ベクトルnに基づく画素値を有する傾き画像と、傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルnを用いて当該注目画素の画素値を積み上げ演算し、当該画素値を有する検査画像を生成する演算手段(検査画像生成手段)として機能する。なお、具体的には上述した数式などを使用して検査画像が生成される。照明制御部812は、照明コントローラ802に対して制御コマンドを送信することで点灯パターンや照明切り替えタイミングなどを制御する。撮像制御部813は、カメラ4を制御する。UI管理部814は、検査ツールを設定するためのユーザインタフェース(UI)や検査画像を生成するために必要となるパラメータを設定するためのUIなどを表示部7に表示し、入力部6から入力された情報したがって検査ツールやパラメータを設定する。とりわけ、特徴サイズ設定部815は積み上げ演算において使用される縮小画像の成分に対する重みwを与えるパラメータである特徴サイズを設定する設定手段として機能する。画像選択部816は複数の輝度画像や複数の検査画像、複数の傾き画像、複数の反射率画像のうち表示すべき画像などを選択したりする。画像選択部816はカメラ4により取得された複数の輝度画像および検査画像のうち保存対象もしくは出力対象となる画像を選択してもよい。検査ツール設定部817は画像選択部816により選択された検査画像に対して検査ツールを設定する。検査ツール設定部817は、たとえば、基準画像に対して傷検査領域を設定したり、文字認識領域を設定したりする。基準画像設定部818は良品から取得された検査画像である基準画像を設定する。表示制御部851は輝度画像と検査画像を切り替えて表示部7に表示させたり、または、輝度画像と検査画像とを同時に表示させたりする。また表示制御部851は制御パラメータが調整されると表示部7に表示されている画像を当該制御パラメータが反映された画像に更新する。検査ツール設定部817は、表示制御部851、特徴サイズ設定部815、画像選択部816、基準画像設定部818および条件設定部819を内包していてもよい。画像処理部830は基準画像を用いて検査画像にパターンサーチを実行し、検査画像に検査領域(例:傷検査領域や文字認識領域など)を設定する検査領域設定手段として機能する。検査領域は、たとえば、文字認識領域である。条件設定部819は画像を表示部7や通信部850に接続された外部機器に出力する条件や、可搬記憶媒体などに保存する条件を設定する。判定部840は検査画像を用いてワーク2の良否を判定する判定手段として機能する。たとえば、判定部840は画像処理部830において検査画像を用いて実行された検査の結果を受け取って検査結果が良品条件(公差など)を満たしているかどうかを判定する。
【0027】
記憶装置820は、カメラ4によって取得された輝度画像のデータである輝度画像データ821、フォトメトリック処理部811により生成された傾き画像データ822や反射率画像データ823を記憶する。また、記憶装置820は各種の設定データやユーザインタフェースを生成するためのプログラムコードなども記憶している。記憶装置820は特徴サイズがそれぞれ異なる検査画像を記憶して保持していてもよい。また、記憶装置820は検査画像に加え、検査画像の元になった傾き画像データや反射率画像データを記憶してもよい。これらはワーク2の誤判定が見つかったときに、検査画像、傾き画像または反射率画像のいずれに問題があったのかを特定して、その制御パラメータを修正するのに役立つであろう。
【0028】
画像処理部830は、フォトメトリック処理部811によって生成された検査画像(傾き画像データ822や反射率画像データ823)を用いて外観検査を実行する。傷検査部831は、それぞれ異なる特徴サイズ用いて生成された複数の検査画像の傷検査領域において傷検査を実行する。OCR部832はそれぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して文字認識処理を実行する文字認識処理手段として機能する。傷検査部831やOCR部832は記憶装置820に記憶されている検査画像(傾き画像データ822や反射率画像データ823)を読み出し、文字認識領域において検査を実行し、検査結果を記憶装置820に書き込んだり、判定部840に渡したりしてもよい。判定部840はこの検査結果に基づきワーク2の良否を判定する。
【0029】
<設定モード>
検査システムには検査ツールを設定する設定モードと、設定された検査ツールにしたがってワーク2の外観検査を実行する検査モード(運転モード)とを有しいている。ここでは設定モードの一例について説明する。
【0030】
図9は設定モードに関するフローチャートである。入力部6を通じて設定モードの開始が指示されると、プロセッサ810のUI管理部814は検査ツールを設定するためのUIを表示部7に表示する。
【0031】
図10はUIの一例を示している。UI管理部814が表示部7に表示するUI1000には、検査結果の保存先を指定するプルダウンメニュー1001や検査ツールの名称を入力するテキストボックス1002が設けられている。UI管理部814は実行ボタンの押し下げを検出すると次のUIを表示する。
【0032】
図11に示すUI1100には、検査ツールを設定するためのガイダンス1101と、カメラ4に撮像を指示する計測実行ボタン1102と、カメラ4により撮像された画像を表示する表示領域1103と、カメラ設定の開始を指示するカメラ設定ボタン1104を有している。なお、画像選択部1105は、表示領域1103に表示する画像や検査に使用する画像を選択するためのボタンである。この例では画像選択部1105によって、形状1、形状2、テクスチャおよびノーマルのうちいずれか1つの画像が択一的に選択される。計測実行ボタン1102が操作されると、撮像制御部がカメラ4に撮像を指示する。UI管理部814はカメラ4により取得された輝度画像を表示領域1103にレンダリングする。なお、画像選択部1105によって別の画像が選択されると、UI管理部814は画像選択部1105によって選択された画像を表示領域1103にレンダリングする。このようにユーザは画像選択部1105を操作するか、入力部6を通じて画像の切り替えを指示することで表示領域1103に表示される画像を切り替えることができる。カメラ設定ボタン1104が操作されると、UI管理部814は次のUIに切り替える。
【0033】
S901でUI管理部814はカメラ4を設定するためUIを表示部7に表示し、カメラ設定を実行する。
図12はカメラ設定UI1200の一例を示している。カメラ設定タブ1201には、カメラの機種を設定するプルダウンメニュー1202、画像サイズを設定するプルダウンメニュー1203、シャッタースピードを設定するプルダウンメニュー1204、カメラの感度を設定するスライダー1205などを有している。なお、計測実行ボタン1102が操作されると、UI管理部814は、その時点で設定されている撮像パラメータにしたがってカメラ4によって取得された輝度画像を表示領域1103に表示する。これによりユーザは設定したパラメータが適切かどうかを判定できる。
【0034】
S902でUI管理部814はフォトメトリック処理を設定するためUIを表示部7に表示し、設定を実行する。たとえば、カメラ設定UI1200に設けられているフォトメトリックステレオ設定タブ1210が操作されたこと検知すると、UI管理部814は、
図13に示すように、フォトメトリックステレオ設定タブ1210を有効に切り替える。有効に切り替えるとは、ユーザ操作可能な状態にフォトメトリックステレオ設定タブ1210の表示状態を切り替えることをいう。フォトメトリックステレオ設定タブ1210には、画像を選択するためのプルダウンメニュー1301と、特徴サイズ設定部1302とが含まれている。この例では、それぞれ特徴サイズが異なる3つの検査画像(形状1、形状2、形状3)のいずれかを選択できるものとする。プルダウンメニュー1301によって選択された画像ごとに特徴サイズ設定部1302により特徴サイズが設定される。
【0035】
フォトメトリックステレオ設定タブ1210に点灯パターンを選択するための選択部が配置されてもよい。また、一回の照明あたりの発光量を指定する指定部が設けられてもよい。
【0036】
S903でUI管理部814は検査ツールを設定するためのUIを表示部7に表示し、設定を実行する。
図14は検査ツールを設定するUI1400の一例である。画像選択ボタン1401は、複数ある検査画像のうち検査に使用する検査画像を選択するためのボタンである。検査カテゴリー選択ボタン1402は、複数ある検査カテゴリーのうち検査ツールとして追加すべきツールのカテゴリーを選択するためのボタンである。認識対象設定ボタン1403は複数ある認識対象のうち1つを選択するためのボタンである。この例では、検査画像として「形状1」が選択され、カテゴリーとして「認識」が選択され、認識処理として「文字認識」が選択されている。追加ボタン1404が操作されると、UI管理部814は次のUIに切り替える。
図15は基準画像登録UI1500を示している。基準画像登録UI1500には、上述した計測実行ボタン1102、表示領域1103に加え、登録ボタン1501が配置されている。登録ボタン1501が操作されると、UI管理部814は計測実行ボタン1102によって取得され、表示領域1103に表示されている画像を基準画像として登録する。登録が完了すると、UI管理部814は次のUIに切り替える。
【0037】
図16は計測領域設定UI1600を示している。計測領域設定UI1600の表示領域1103には基準画像1601と、計測領域を示すフレーム1602が配置される。UI管理部814は入力部6からの指示に応じてフレーム1602の位置とサイズを変更する。ユーザは基準画像1601のうち計測対象としたい部分の位置とサイズに合わせてフレーム1602の位置とサイズを調整する。なお、さらに、UI管理部814は、文字の切り出し設定や、認識すべき文字の具体例(文字画像)と文字画像に対応する文字キャラクタを登録するための辞書設定などを実行してもよい。
【0038】
次に傷検査ツールについて説明する。
図17に示すように、検査カテゴリー選択ボタン1402によって傷検査が選択されると、UI管理部814は、検査内容選択ボタン1701を表示する。この例では、検査内容選択ボタン1701によって傷の総面積を計測するツールが選択されている。追加ボタン1404が操作されると、UI管理部814はUIを切り替える。
【0039】
図18は計測領域設定UI1800を示している。計測領域設定UI1800には、計測領域(傷検査領域)を示すフレーム1802が配置される。フレーム1802の形状は変更可能であり、たとえば、形状を選択するためのプルダウンメニュー1801によって複数の形状のうちいずれかの形状が選択される。UI管理部814はプルダウンメニュー1801によって選択された形状のフレーム1802を表示領域1103にレンダリングする。UI管理部814は入力部6からの指示に応じてフレーム1802の位置とサイズを変更する。
【0040】
図19は傷の検出条件を設定するための設定UI1900を示している。設定UI1900には、傷の検出方向を選択するためのプルダウンメニュー1901と、傷のセグメントサイズを指定するためのボックス1902と、傷のレベルを指定するためのスライダー1903が配置されている。設定UI1900により設定された傷検出条件に基づいて傷検査領域内(フレーム1802内)で傷検査部831が傷を検出したときは、UI管理部814が傷の位置に傷検出マーク1910を表示してもよい。これにより、ユーザは、傷検出条件が適切かどうかを判断できよう。
【0041】
<検査モード>
図20は検査モードを示すフローチャートである。入力部6を通じて検査モードの開始が指示されると、プロセッサ810が動作モードを検査モードに移行させる。
【0042】
S2001でプロセッサ810は設定された点灯パターンにしたがって照明方向を切り替えながらワーク2の画像を撮像して取得する。具体的には、照明制御部812が、記憶装置820に保持されている設定データを参照して点灯パターンを特定し、点灯パターンを指定するためのコマンドを照明コントローラ802に送出する。撮像制御部813は記憶装置820に保持されている設定データを参照してカメラ4に関する制御パラメータ(シャッタースピードや感度など)を特定し、これを指定するコマンドをカメラ4に送信する。フォトメトリック処理部811は照明の開始を指示するためのトリガー信号を照明コントローラ802に送信するとともに、これと連動して撮像の開始を指示するためのトリガー信号をカメラ4に送信する。照明コントローラ802はトリガー信号に同期して照明方向を切り替える。たとえば、照明コントローラ802はコマンドにより指定された点灯パターンにしたがって4つの照明方向について1つずつ順番に対応する発光素子を点灯させる。照明コントローラ802はコマンドと点灯パターンとの対応関係をメモリなどに保持していてもよい。トリガー信号は照明開始時に1つだけ発行されてもよいし、切り替えタイミングにおいても発行されてもよい。カメラ4は制御パラメータにしたがってワーク2を撮像し、輝度画像を画像処理装置5に転送する。このようにして、たとえば、1つの照明方向につき1枚の輝度画像が生成される。
【0043】
S2002でプロセッサ810は複数の輝度画像から法線ベクトルnと反射率ρとを求める。上述したようにフォトメトリック処理部811は複数の輝度画像の画素値について式1を適用し、法線ベクトルnと反射率ρとを求める。
【0044】
S2003でプロセッサ810は設定された特徴サイズにしたがって検査画像を生成する。上述したようにフォトメトリック処理部811は特徴サイズに対応する重みWを重みテーブルなどから決定し、式2を用いて積み上げ演算を実行して検査画像(傾き画像)を生成する。このように、フォトメトリック処理部811は複数の輝度画像からワーク2の表面の法線ベクトルnに基づく画素値を有する傾き画像を生成してもよい。なお、それぞれ値の異なる複数の特徴サイズを設定されている場合、フォトメトリック処理部811は設定された複数の特徴サイズのそれぞれについて検査画像を生成してもよい。また、フォトメトリック処理部811は上述した手法により反射率画像やテクスチャ画像を生成してもよい。たとえば、フォトメトリック処理部811は複数の輝度画像からワーク2の表面の法線ベクトルnとともにワーク2の表面の反射率ρを算出し、当該反射率ρに基づく画素値を有する反射率画像を生成してもよい。ここでは検査の対象とされる画像が生成され、検査の対象とさていない画像については生成が省略されてもよい。
【0045】
S2004でプロセッサ810は検査画像を表示部7に表示する。UI管理部814は検査画像とともに、輝度画像、傾き画像、反射率画像を表示部7に同時または選択的に表示してもよい。選択的に表示する場合、UI管理部814は入力部6からの切り替え指示にしたがって、たとえば、4つの輝度画像を順番に切り替え表示してもよい。たとえば、入力部6のうちコンソールに設けられた特定のキーが画像の切替ボタンとして割り当てられていてもよい。
【0046】
S2005でプロセッサ810は画像処理部830に検査の実行を指示する。画像処理部830は検査を指示されると、予め設定された検査ツールを起動して検査画像に対して検査を実行する。たとえば、傷検査部831は設定された計測領域や検出条件にしたがって傷のレベルを判別し、検査結果(傷のレベル)を判定部840に転送する。なお、傷検査部831は、上述した基準画像を用いてパターンサーチを実行して検査領域を設定し、検査領域において検査を実行してもよい。また、OCR部832は、予め設定された文字認識設定にしたがって検査画像に対して文字認識処理を実行し、文字認識結果を判定部840に転送する。OCR部832も上述した基準画像を用いてパターンサーチを実行して検査領域(文字認識領域)を設定し、検査領域において検査を実行してもよい。
【0047】
S2006でプロセッサ810の判定部840は検査結果と判定閾値とを比較して、ワーク2が良品であるかどうかを判定する。たとえば、傷検査とOCRの両方を実行するように設定されている場合、判定部840は傷検査部831の検査結果とOCR部832の文字認識結果との両方が合格レベルにあるときに、ワーク2を良品と判定する。
【0048】
<画像保存設定>
図21は検査フローを設定するUI2100の一例を示している。UI管理部814はUI2100を表示部7に表示させ、検査フローのスタートからエンドまでの間に実行される複数の工程を入力部6から入力される指示にしたがって設定して行く。この例では、撮像工程、パターンサーチ工程、位置補正工程および傷検査工程が検査フローに追加されている。たとえば、入力部6を通じて検査フローのエンドが指定されると、UI管理部814はエンドにおいて検査履歴を蓄積するように設定してもよい。検査履歴とは、検査結果や検査に使用された画像などである。
【0049】
なお、各工程を追加するときにUI管理部814は各工程で使用される画像の選択を、入力部6を通じて受け付けてもよい。たとえば、ユーザは入力部6を通じて撮像工程に対しては照明方向と異なる4つの輝度画像や傾き画像、反射率画像などを取得対象として指定し、パターンサーチ工程に対してはいずれかの輝度画像(全方向照明画像など)をサーチ対象として指定し、傷検査工程に対しては傾き画像から生成された検査画像などを検査対象として指定してもよい。
【0050】
図22は履歴を蓄積する条件を設定するUI2200の一例を示している。蓄積条件を識別するための識別情報を設定する設定部2201は複数ある識別情報から設定対象となる識別情報を選択するためのプルダウンメニューによって構成されている。この例では設定部2201において「0:」という識別情報の蓄積条件が選択されている。蓄積条件としては、たとえば、検査結果が良品ではないときにのみ画像を蓄積するといった条件や、検査結果に依存せずに各ワークごとに常に画像を蓄積するといった条件などがある。ここでは、プロセッサ810は詳細設定ボタンなどが押されたことを検知すると条件設定部819を起動する。条件設定部819は、たとえば、常に画像を保存または出力するモードと、判定部840により検査対象物が良品ではないと判定されたときに画像を保存または出力するモードとのうちいずれかを設定してもよい。画像選択部2202は蓄積条件が満たされたときに保存する画像を選択する。ここでは画像選択部2202によって「すべて」と「指定」とを選択することができる。保存先選択部2203は、画像の保存先(例:内蔵メモリ、メモリカードなどの可搬メディアやFTPサーバなどのネットワークストレージ)を選択するためのプルダウンメニューによって構成されている。
【0051】
図23は画像選択部2202で「指定」が選択されたときにUI管理部814が表示部7に表示させるUI2300の一例を示している。この例では、検査フローにおいて扱われるすべての種類の画像のうち実際に保存すべき画像を選択するためのチェックボックス2301が設けられている。形状1、2は特徴サイズが異なる検査画像(傾き画像)である。テクスチャは反射率画像である。ノーマルは全方向照明により取得された画像である。4つの矢印は照明方向を示すアイコンである。つまり矢印マークによって照明方向が異なる4つの輝度画像が区別されている。チェックボックスにチェックされた画像が保存対象として設定される。
【0052】
ところで、プロセッサ810は判定部840が判定を終了した後で画像を保存または出力する条件が満たされているかどうかを判断する判断手段を備えていてもよい。すなわち、検査フローのエンド部において、プロセッサ810は、条件設定部819により設定された蓄積条件や出力条件が満たされているかどうかを判断してもよい。
【0053】
図24は画像出力工程2401を検査フローに追加する例を示している。上述した実施例では検査フローの最後に画像を出力するように設定したが、この例では入力部6から入力されるユーザ指示にしたがってUI管理部814が検査フローの任意の位置に画像出力工程2401を設定する。このように、プロセッサ810は、判定部840が判定を終了する前に位置する画像出力工程2401で画像を保存または出力する条件が満たされているかどうかを判断してもよい。画像出力工程2401に関連する蓄積設定等は
図21ないし
図23を用いて説明したのと同様であってもよいし、異なってもよい。
【0054】
図25は蓄積設定(出力設定)に関するUIの別の例を示している。画像出力工程2401が入力部6により選択された状態で、さらに入力部6により設定を開始する指示が入力されると、UI管理部814はUI2501を表示する。画像変数2502は出力すべき画像を選択する画像選択部として機能し、この例では検査フローにおける各工程に付与されている画像変数によって出力すべき画像が指定される。つまり、各工程ごとに出力すべき画像を選択できる。UI2501において画像の出力枚数や画像形式なども設定されてもよい。出力先選択部2503は画像の出力先(例:内蔵メモリ、メモリカードなどの可搬記憶メディアやFTPサーバなどのネットワークストレージ)を選択するためのプルダウンメニューである。
【0055】
図26は画像を選択するUI2600の一例である。UI2501において詳細設定ボタンが押し下げられると、UI管理部814はUI2600を表示する。UI2600ではすべての画像を保存するか、個別指定するかを選択するためのラジオボタンや、画像を個別に選択するためのチェックボックスなどが配置されている。この例では、ラジオボタンにより個別指定が選択されているため、チェックボックスが有効となり、チェックボックスを通じていくつかの画像が選択されている。このように、複数の輝度画像、検査画像、全方向照明画像および複数の輝度画像を合成して得られた合成輝度画像から保存対象もしくは出力対象となる画像が選択されてもよい。また、それぞれ特徴サイズが異なる複数の検査画像から保存対象もしくは出力対象となる画像を選択できるようにUI2600が構成されてもよい。また、複数の輝度画像、検査画像および検査対象物の表面の反射率を画素値とした反射率画像から保存対象もしくは出力対象となる画像を選択できるようにUI2600が構成されてもよい。
【0056】
<輪郭強調画像の生成>
検査対象物の輪郭を精度良く抽出した輪郭画像を生成できれば、検査対象物の寸法検査や欠け検査、計測領域の動的設定に役立つであろう。
【0057】
図27(A)〜
図27(D)は形状画像における基準レベルを説明する図である。基準レベルとは、検査対象物の表面形状が平坦であることを示す画素値のことであり、平坦レベルと呼ばれてもよい。
図27(A)は一般的な基準レベルを説明する図である。ここでは一例として計上画像を8ビット画像とするが、16ビット画像など、ビット数は自由である。8ビット画像では各画素値が0ないし255の値をとり得る。そのため、基準レベルを128に設定することで、凸形状や凹形状をバランスよく表現できるようになる。つまり、0〜127の濃淡値によって凹形状が表現され、129〜255の濃淡値によって凸形状が表現される。このように、明るい画素は表面形状が凸となっていることを示し、暗い画素は表面形状が凹となっていることを示す。このように形状画像では濃淡によって表面の形状を示すことができる。
【0058】
図27(B)が示すように、本実施形態では基準レベルを自由にユーザが調整することで、効率よく輪郭画像を形成できるようにする。
図27(C)は濃淡表現範囲の最小値である0に基準レベルを設定した例である。基準レベルを0に設定することで凹形状を無視できるようになり(算出された形状値のうち平坦に対応した形状値や凹部の形状値が画素値(濃淡値)として0に割り当てられる)、凸形状のみを抽出できるようになる(凸部形状値が1〜255の濃淡値に割り当てられる)。
図27(D)は濃淡表現範囲の最大値である255に基準レベルを設定した例である。基準レベルを255に設定することで凸形状を無視できるようになり、凹形状のみを抽出できるようになる。
【0059】
フォトメトリックステレオ法では、それぞれ照明方向が異なる複数の輝度画像間での明るさの違いからワークの表面の法線ベクトルを求め、表面の傾き(X成分、Y成分)を推定し、X成分の傾きとY成分の傾きを重みづけ合成して形状値を算出するが、照明方向に依存してワークの影が輝度画像に映り込んでしまうことがある。このような影は傾きの推定誤差をもたらすため好ましくないと考えられてきたが、この影がワークの輪郭付近に生じることを輪郭の抽出に役立てられることが分かってきた。
【0060】
図28(A)はワークの右側から照明光を当てることで発生する影を示す側面図である。
図28(B)はワークの右側から照明光を当てることで発生する影を示す平面図である。
図28(C)はワークの左側から照明光を当てることで発生する影を示す側面図である。
図28(D)はワークの左側から照明光を当てることで発生する影を示す平面図である。
図28(E)は右側照明光により取得された輝度画像と左側照明光により取得された輝度画像に基づいて求められたX方向の傾きの推定結果を示している。
図28(E)によれば、影の部分で傾きが誤って推定されていることがわかる。
図28(F)は基準レベルを中間値である128に設定したときの形状画像を示している。なお、形状画像は、4つの照明方向に対応した4つの輝度画像から形成されている。ワークの表面のうちで表面形状が平坦となっている部分は濃淡値が128であるためグレーとなる。ワークの輪郭は凸形状であるため、その濃淡値は128よりも大きくなり、白色となっている。影の部分は凹形状であるため濃淡値が128よりも小さくなり、黒となっている。この形状画像をそのまま輪郭画像として用いてワークの寸法を計測すると、影の影響によって寸法誤差が発生してしまう。
図28(G)は本実施形態の基準レベル調整手段によって基準レベルを0に設定することで得られる輪郭画像としての形状画像である。基準レベルを0に設定することで凹形状を排除することができ、凸形状のみ、すなわち正しい輪郭のみを精度よく抽出できることがわかる。このように凸形状の輪郭が必要なときは基準レベルを中間値よりも低下させることで輪郭強調画像が得られる。一方で、凹形状の輪郭が必要なときは基準レベルを中間値よりも増加させることで輪郭強調画像が得られる。
【0061】
図29(A)はクレジットカードなどの表面に形成される凸形状の文字について基準レベルを128に設定することで得られる形状画像の一例である。この例が示すように文字の周囲には黒い影が映り込んでおり、これが文字認識の精度を低下させる。
図29(B)はクレジットカードなどの表面に形成される凸形状の文字について基準レベルを0に設定することで得られる形状画像の一例である。この例が示すように影の影響が緩和され、文字を明確に認識できるようになる。
【0062】
図29(C)はワークの表面に形成される凹形状の文字について基準レベルを128に設定することで得られる形状画像の一例である。この例が示すように文字は認識しにくい状態であることがわかる。
図29(D)はワークの表面に形成される凹形状の文字について基準レベルを255に設定することで得られる形状画像の一例である。この例が示すように基準レベルを調整すれば、凹形状の文字であっても明確に文字認識できるようになる。
【0063】
図30(A)は冷却ファンについての形状画像であって基準レベルを128に設定することで得られる画像の一例である。
図30(B)は冷却ファンについての形状画像であって基準レベルを0に設定することで得られる画像の一例である。基準レベルを低下させることで、ワークの輪郭だけを浮かび上がらせることが可能となり、輪郭画像を用いて寸法検査や欠け検査、パターンサーチによる計測領域の動的な設定などを効率よくかつ精度よく実行できるようになる。
【0064】
図31はフォトメトリック処理部811の機能を示すブロック図である。基準レベル調整部3101は、表面形状が平坦であることを示す画素値である基準レベルを調整する。UI管理部814は、基準レベルを調整するためのユーザインタフェースを表示部7に表示させ、ユーザインタフェースに対する操作を入力部6により受け付け、ユーザインタフェースを通じて入力または指定された数値もしくはレベルを基準レベル調整部3101に渡してもよい。ユーザインタフェースとしては、たとえば、基準レベルを最小値と最大値との間で調整可能なスライダーバーや数値入力部などである。基準レベル調整部3101は、ユーザインタフェースを通じて入力または指定された数値もしくはレベルに応じて基準レベルを調整する。調整された基準レベルは画像生成部3100に渡される。
【0065】
画像生成部3100は、カメラ4によりワーク2をフォトメトリックステレオ法により撮像し、ワーク2の表面の法線ベクトルを求め、法線ベクトルに基づき傾きを求め、傾きに応じて表面形状を示す形状値を求め、調整された基準レベルに応じて形状値を画素値に割り当てることで形状値を濃淡値に変換し、ワーク2の輪郭が強調された輪郭画像を生成する。画像生成部3100は、上述したように最小値から基準レベルまでの濃淡値によって凹形状を表現し、基準レベルの濃淡値によって平坦を表し、基準レベルから最大値までの濃淡値によって凸形状を表現する。画像生成部3100は、傾き画像生成部3110と輪郭画像生成部3120を備えていてもよい。傾き画像生成部3110は、ワーク2をフォトメトリックステレオ法により撮像して得られた複数の輝度画像からワーク2の表面の法線ベクトルを求め、さらに法線ベクトルから傾きを求める。つまり、傾き画像生成部3110は、各照明方向ごとの輝度画像において座標が一致している複数の画素の各画素値に基づきその画素についての法線ベクトルを求め、法線ベクトルから傾きを求めてもよい。これにより、各画素値が傾きを表す傾き画像を生成してもよい。ただし、ここでは傾きがわかればよいため、傾き画像を画像データとして生成することは必須ではない。つまり、傾き算出部3111が傾きを算出し、算出した傾きを輪郭画像生成部3120に渡せばよい。
【0066】
輪郭画像生成部3120は形状画像生成手段および輪郭画像生成手段として機能する。輪郭画像生成部3120の形状値算出部3121は、x成分の傾き画像とy成分の傾き画像とを用いて各表面の形状値を算出し、形状画像を生成してもよい。形状値の求め方は
図2や
図3などを用いて説明したとおりである。輪郭画像生成部3120の修正部3122は、基準レベルに応じて形状値を画素値(濃淡値)に変換することで、形状画像に含まれているワーク2の輪郭を強調してワーク2の輪郭画像を生成する。たとえば、修正部3122は、形状値算出部3121により求められた形状値のうち凸部を示す形状値ついては、平坦であることを示す基準レベルよりも大きな画素値を割り当てる。さらに、修正部部3122は、凹部を示す形状値ついては基準レベルよりも小さな画素値を割り当てる。このように輪郭画像生成部3120は傾きに基づき形状値を求め、基準レベルに応じて形状値を濃淡値に変換して輪郭画像データ3150を生成してもよいが、すでに完成している形状画像データを受け取って、調整された基準レベルを事後的に用いて、形状画像データを輪郭画像データ3150に変換してもよい。いずれにしても修正部3122は表面形状を示す形状値(画素値)を基準レベルにしたがって修正して濃淡値に変換する。
【0067】
コントラスト調整部3102は、オプションであり、基準レベル調整部3101が基準レベルを低下させたときに輪郭画像のコントラストを上昇させる。基準レベルを低下させると、画像のコントラストが低下することがある。そこで、画像処理によってコントラストを回復してもよい。
【0068】
輪郭画像データ3150は、記憶装置820に記憶され、画像処理部830がワークの寸法検査を実行したり、傷検査部831が傷検査(欠け検査)を実行したり、OCR部832が文字認識を実行したりするときに読み出されて使用される。画像処理部830は、良品の輪郭画像に対して検査領域を設定し、良品の輪郭画像を用いてサーチ処理を実行してワークの位置を判別し、ワークの位置に応じてワークの輪郭画像に対する検査領域(計測領域)の位置を補正してもよい。このように輪郭画像データ3150は計測領域を動的に設定する際にも役立つ。ワーク2はライン1によって搬送されるが、カメラ4から見て常に同じ位置を搬送されるわけではない。よって、外観検査の精度を向上するために、ワーク2の輝度画像や輝度画像から生成された画像については位置判別結果に用いた位置補正が必要になる。このような位置補正を行う際にも輪郭画像は有効である。判定部840は、画像処理部830において輪郭画像を用いて得られた各種の検査結果(例:寸法計測結果、傷検査結果、文字認識結果など)を参照し、検査結果と公差などを比較してワークの良否を判定してもよい。
【0069】
修正部3122は、ワーク2の輪郭のうち凸部の輪郭について強調して輪郭画像を生成してもよい。
図27(C)を用いて説明したように、修正部3122は、輪郭画像における画素値(濃淡値)のとり得る範囲において最小値(例:0)を基準レベルに設定することで凸部の輪郭について強調してもよい。修正部3122は、ワーク2の輪郭のうち凹部の輪郭について強調して輪郭画像を生成してもよい。たとえば、修正部3122は、輪郭画像における画素値のとり得る範囲において最大値(例:8ビット画像なら255、16ビット画像なら65,535)を基準レベルに設定することで凹部の輪郭について強調してもよい。
【0070】
<まとめ>
本実施形態によれば、基準レベル調整部3101を設けているため、検査対象物の表面形状を示す形状画像における平坦レベル(基準レベル)が調整可能となった。また、本実施形態によれば、フォトメトリックステレオ法を応用して輪郭画像を生成できるようになる。すなわち、ワークの表面における反射率の変化や鏡面反射の影響を受けにくく、かつ、演算負荷についても軽い、輪郭画像の生成方法を実現できる。また、本実施形態によれば効率よく精度の良い輪郭画像が得られるため、輪郭画像を用いた製品検査の精度も向上するであろう。このように、フォトメトリックステレオ法にしたがって求められたワーク表面の形状値を濃淡値に変換するための基準レベルをユーザによって調整可能とすることで、ダイナミックレンジを有効に活用することが可能となる。たとえば、基準レベルを中間値(例:128)に設定してしまうと、濃淡値の範囲のうち一部が使用されず、ダイナミックレンジが有効に活用されないことがある。たとえば、0〜87までの濃淡値が存在しないような形状画像ではその範囲が無駄となってしまう。このよう場合には、形状画像における最小値である88に基準レベルを設定することで、0〜87までの形状値は削除され(0〜87までの傾きはいずれも最小の濃淡値で表現される)、0〜255までの範囲を実際に存在する形状値に対応付けることが可能となる。よって、ダイナミックレンジが有効に活用される。
【0071】
基準レベルを調整するためのユーザインタフェースを表示部7に表示させてもよい。これによりユーザは容易に基準レベルを表示できるようになろう。なお、画像生成部3100は、基準レベルの調整に連動してリアルタイムで輪郭画像を生成し、表示部7にプレビュー表示させてもよい。これにより、ユーザは、基準レベルの調整量がどのように輪郭画像に反映されるかを視覚的に容易に把握できるようになる。よって、より正確に適切な基準レベルを発見しやすくなろう。
【0072】
図29(A)や
図29(B)を用いて説明したように、凸形状の文字については凸部の輪郭が強調されるように基準レベルを調整することで、凸形状の文字の文字認識率が向上するであろう。たとえば、輪郭画像における画素値のとり得る範囲において最小値を基準レベルに設定することで凸部の輪郭を容易に強調できる。
図29(C)や
図29(D)を用いて説明したように、凹形状の文字については凹部の輪郭が強調されるように基準レベルを調整することで、凹形状の文字の文字認識率が向上するであろう。たとえば、輪郭画像における画素値のとり得る範囲において最大値を基準レベルに設定することで凹部の輪郭を容易に強調できる。
【0073】
なお、修正部3122はすでに完成している形状画像データを入力し、その基準レベルを調整して出力してもよい。これにより、過去に保存したデータを有効に活用できるであろう。
【0074】
輪郭画像は、上述した文字認識検査だけでなく、検査領域の動的な設定や傷検査、寸法計測など様々な外観検査において利用可能である。とりわけ、本実施形態によれば効率よくかつ精度よく輪郭画像を生成できるため、検査の効率や精度も向上しよう。
【0075】
本実施形態ではワークの外観を検査する外観検査装置を一例として説明したが、カメラ4に接続された画像処理装置において本実施形態の基準レベル調整機能や輪郭画像生成機能を搭載してもよい。
【0076】
本実施形態ではフォトメトリックステレオ法を用いることを前提としたが、画像生成部3100は、非フォトメトリックステレオ法によって生成された画像データに対して事後的に基準レベルを調整して、輪郭画像を生成してもよい。フォトメトリックステレオ法による効果は得られなくなるものの、容易に基準レベルを調整して、輪郭画像を形成できるようになるであろう。