JP6278842B2 - 検査装置、検査方法およびプログラム - Google Patents

検査装置、検査方法およびプログラム Download PDF

Info

Publication number
JP6278842B2
JP6278842B2 JP2014119104A JP2014119104A JP6278842B2 JP 6278842 B2 JP6278842 B2 JP 6278842B2 JP 2014119104 A JP2014119104 A JP 2014119104A JP 2014119104 A JP2014119104 A JP 2014119104A JP 6278842 B2 JP6278842 B2 JP 6278842B2
Authority
JP
Japan
Prior art keywords
image
shape
inspection
texture
reflectance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014119104A
Other languages
English (en)
Other versions
JP2015232481A (ja
Inventor
典正 眞弓
典正 眞弓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2014119104A priority Critical patent/JP6278842B2/ja
Publication of JP2015232481A publication Critical patent/JP2015232481A/ja
Application granted granted Critical
Publication of JP6278842B2 publication Critical patent/JP6278842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は検査装置、検査方法およびプログラムに関する。
フォトメトリックステレオの原理を使ってワーク(検査対象製品)について正確な三次元形状を計測するためには、ワークの各表面に対して均一な光量で照明光が入射するような照明光源が必要となる。また、照明光の入射角は既知である必要がある。さらに、ワークの部位に応じて光の入射角が変化してはならないため、検査したいワークのサイズに応じたサイズの照明光源が必要となる。また、カメラに映し出された画像のスケール情報(1画素あたりの実寸法)も必要となる。外観検査装置はユーザにより設置されることが多く、これらの厳格な設置条件をユーザに要求するのは困難である。そこで、特許文献1によれば、照明とカメラを一体化した専用装置を提案することで、ユーザの設置負担を軽減している。
特開2007−206797号公報
フォトメトリックステレオの原理によれば、それぞれ照明方向が異なる複数の輝度画像から表面の法線ベクトルを求め、この法線ベクトルに基づきワークの表面形状を示す形状画像を生成することができる。ところでワークには文字や模様などのテクスチャが印刷されていることがある。このようなテクスチャは平面的であって凹凸形状ではないが、輝度に影響する。よって、このようなテクスチャの存在するワークの形状画像を生成すると、テクスチャが形状として形状画像に表れてしまうことがある。たとえば、平面的なワークに印刷されている文字が形状画像では凸状の文字となってしまったり、彫りこまれたような窪んだ文字となってしまったりする。このように形状でないものが形状となって表れてしまうことを形状誤差と呼ぶことにする。同様にワークの表面に鏡面反射を起こすような部分が存在する場合も、鏡面反射光によって法線ベクトルに誤差が発生し、形状画像に偽の形状が発生してしまう。
そこで、本発明は、フォトメトリックステレオ法を用いて生成されるワークの表面形状を示す形状画像において形状誤差を削減することを目的とする。
本発明によれば、たとえば、
検査対象物をフォトメトリックステレオ法により撮像して複数の輝度画像を生成する輝度画像生成手段と、
前記複数の輝度画像においてそれぞれ座標が一致している複数の画素の画素値を用いて前記検査対象物の表面の法線ベクトルと反射率とを算出し、前記検査対象物の表面の法線ベクトルに基づき、当該表面の形状に応じた複数の画素値を有する形状画像を生成するとともに、前記検査対象物の表面の反射率に応じた複数の画素値を有する反射率画像を生成する生成手段と、
前記反射率画像に基づき前記形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を抽出する抽出手段と、
前記抽出手段により抽出された前記テクスチャ情報に基づき、テクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する軽減処理手段と、
前記軽減処理を施された形状画像を用いて前記検査対象物の良否を判定する判定手段と
を有することを特徴とする検査装置が提供される。
本発明によれば、フォトメトリックステレオ法を用いて生成されるワークの表面形状を示す形状画像において形状誤差を削減できるようになる。
検査装置の概要を示す図 フォトメトリックステレオの原理を説明するための図 積み上げ演算を説明するための図 特徴サイズに基づく重みの決定方法を示す図 特徴サイズの異なる検査画像の一例を示す図 表面形状画像の生成に関与する画像を説明する図 テクスチャ画像の生成方法を説明する図 検査装置の機能ブロック図 設定モードを示すフローチャート ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 検査モードを示すフローチャート ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 ユーザインタフェースの一例を示す図 テクスチャの映り込みによって発生した形状誤差(偽形状)の一例を示す図 フォトメトリック処理部に含まれる機能の一部を例示した図 軽減処理の一例を示す図 実施例の効果を示す図 画像の明るさの違いに応じてエッジ強度の一例を示す図
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
図1は外観検査システムの一例を示す図である。ライン1は検査対象物であるワーク2を搬送する搬送ベルトなどである。照明装置3はフォトメトリックステレオ法にしたがって検査対象物を照明する照明手段の一例である。カメラ4はフォトメトリックステレオ法にしたがって前記照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例である。画像処理装置5は、カメラ4により取得された複数の輝度画像からワーク2の表面の法線ベクトルを算出し、複数の輝度画像から算出された法線ベクトルに基づく画素値により構成された傾き画像と、当該傾き画像の縮小画像とについて、注目画素に隣接する隣接画素の法線ベクトルを用いて注目画素の画素値を積み上げ演算し、画素値を有する検査画像を生成し、検査画像を用いて検査対象物の良否を判定する外観検査装置である。傾き画像は法線ベクトル画像と呼ばれることもある。画像処理装置5は輝度画像から反射率画像(アルベド画像)を作成してもよい。表示部7は検査に関連する制御パラメータを設定するためのユーザインタフェースや傾き画像、反射率画像、検査画像などを表示する。入力部6は、コンソール、ポインティングデバイス、キーボードなどであり、制御パラメータを設定するために使用される。画像処理装置5と照明装置3は信号線8によって接続されている。画像処理装置5とカメラ4は信号線9によって接続されている。
とりわけ、図1によればカメラ4と照明装置3とが独立して移動可能なようにそれぞれ異なるフレームによって支持されている。このように照明装置3は、カメラ4から独立して移動可能となっているため、ワーク2から照明装置3までの距離を自在に調整できるようになっている。つまり、ワーク2の種類や置き方に応じて照明装置3をワーク2から遠ざけて配置させることで、カメラ4は正反射光を強く受光できるようになる。また、照明装置3をワーク2に近づけて配置することでカメラ4は拡散反射光を強く受光できるようになる。なお、同一のフレームによってカメラ4と照明装置3とが指示されていてもよい。この場合には、照明装置3の取り付け位置を調整するためのクランプ機構などで照明装置3をフレームに固定すればよい。
<フォトメトリクスステレオの原理>
一般的なフォトメトリックステレオ法では、図2に示すように、ワーク2に対して4方向から照明光L1〜L4を順番に切り替えながら照射し、4枚の輝度画像を生成する。各輝度画像を撮影する際に使用される照明光の方向は一方向だけである。なお、輝度画像は複数の画素により構成されており、4枚の輝度画像において座標が一致する4つの画素は同一のワーク表面に対応している。4つの画素の画素値(輝度値)I1、I2、I3、I4と、法線ベクトルnとの間には図2示した式1が成り立つ。ここでρは反射率である。Lは各方向からの照明光の光量であり、既知である。ここでは4方向とも光量は同一である。Sは照明方向行列であり、既知である。この数式を解くことで各座標(ワーク表面)ごとの反射率ρと法線ベクトルnが求められる。その結果、反射率画像と傾き画像とが得られる。
本実施形態では、さらに、傾き画像から高さ成分を抽出しワークの形状を示す形状画像を検査画像として作成する。検査画像は、図2に示し式2である積み上げ演算式により求められる。ここで、znはn回目の積み上げ結果であり、ワーク表面の形状を示している。x、yは画素の座標を示している。nは何回目の繰り返し計算であるかを示している。pは水平方向の傾き成分を示し、qは垂直方向の傾き成分を示している。p、qは法線ベクトルnから求められる。wは重みである。また、1回目の積み上げ演算では1/1の傾き画像を用い、2回目の積み上げには1/2の縮小傾き画像を用い、3回目の積み上げには1/4の縮小傾き画像を用いる。縮小画像を作成する際にはガウシアン処理を施してから縮小処理が施されてもよい。
本実施形態では積み上げ演算において特徴サイズというパラメータを採用する。特徴サイズは積み上げ演算において使用される縮小画像の成分に対する重みを与えるパラメータである。特徴サイズはワーク2の表面形状の大きさを示すパラメータである。たとえば、特徴サイズが1であればxy方向で注目画素に隣接した4つの画素についての重みが最も大きくされて積み上げ演算される。特徴サイズが2であればxy方向で注目画素に隣接した8つの画素についての重みが最も大きく設定されて積み上げ演算が実行される。ただし、8つの画素を用いて演算することは演算量の増大を招くため、上述した縮小画像を作成して演算に使用する。つまり、8つの隣接画素を用いる代わりに、傾き画像を1/2に縮小して演算を実行する。これにより、ある注目画素について縮小画像における4つの画素を演算に考慮すればよいことになる。これは特徴サイズが4、8、16、32と増加したときもそれに応じた縮小画像を作成し、特徴サイズに対応した縮小画像について重みを最大に設定することで、同様の演算負荷の軽減効果が得られる。
図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画像まで積み上げ演算が実行される。
図4は各特徴サイズごと重みの一例を示している。横軸は解像度レベル(縮小度)を示し、縦軸は重みを示している。図4からわかるように、特徴サイズ1では縮小度が最も小さいレベル0(1/1画像)の重みが最大となる。これにより微細な形状を積み上げることが可能となる。特徴サイズ2ではレベル1(1/2画像)の重みが最大となる。これによりさらに大きなサイズの形状を積み上げることが可能となる。このように各重みは、特徴サイズに対応したレベルでピークが生じるように決定される。
形状画像の復元方法としては、上記の積み上げ演算の他に公知のフーリエ変換積分法を採用することもできる(A Method for Enforcing Integrability in Shape from Shading Algorithms, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.10, No.4 July 1988)。当該方法においても計算プロセスにおいて縮小画像を生成し、重み付け成分を調整することにより抽出する特徴サイズを変更することが可能である。
図5は特徴サイズの違いに応じた検査画像の一例を示している。特徴サイズ4では細部の形状が抽出されており、特徴サイズ64では全体の形状が抽出されており、特徴サイズ16ではこれらの中間的なサイズの形状が抽出されていることがわかる。このように小さな特徴サイズは細かい傷を検査するのに役立ち、大きな特徴サイズは物体の有無の判別に適しており、中間の特徴サイズは凹凸文字のOCRなどに適している。つまり検査ツールに応じて適切な特徴サイズを選択することで検査精度を向上させることが可能となる。
図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が備える複数の光源をすべて点灯させて取得された輝度画像のことである。
<テクスチャ情報>
テクスチャ情報とはワーク2の表面の反射率ρに基づく情報である。式1によって反射率ρが求められる、つまり4枚の輝度画像から1枚の反射率画像が得られる。反射率画像はワーク表面の反射率ρに比例した画素値を有する画像である。図7に示すように、4枚の輝度画像701〜704から法線ベクトルを算出し、算出された法線ベクトルと複数の輝度画像の各々対応する画素の輝度値に基づいて各画素の反射率に比例した画素値を算出することで反射率画像であるテクスチャ画像711、712が求められる。この合成方法としては4枚の輝度画像の画素平均によってテクスチャ画像を求める方法や、4枚の輝度画像からハレーションを除去してから画素平均によってテクスチャ画像を求める方法などがある。テクスチャ画像711は画像平均によって求められたものであり、テクスチャ画像712はハレーション除去によって求められたものの一例である。4枚の輝度画像において座標が一致する画素が4つ存在する。4つの画素のうち画素値が1番大きい画素を除外したり、画素値の大きい順に1番目からN番目(Nは3以下の自然数)までの画素を除外したりすることでハレーションを除去することが可能である。ハレーションは高い輝度として画像に表れるからである。テクスチャ画像711、712はともに反射率に基づく画素により構成されているため、反射率画像の一種である。
<機能ブロック>
図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に内蔵されていてもよいし、これらからは独立した筐体に収容されていてもよい。
カメラ4はフォトメトリックステレオ法にしたがって照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例であり、画像処理装置5からの制御コマンドに応じて撮像処理を実行する。カメラ4はワーク2の輝度画像を作成して画像処理装置5に転送してもよいし、撮像素子から得られる輝度信号を画像処理装置5に転送し、画像処理装置5が輝度画像を生成してもよい。輝度信号は輝度画像の元になる信号であるため、広義には輝度信号も輝度画像である。
画像処理装置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において検査画像を用いて実行された検査の結果を受け取って検査結果が良品条件(公差など)を満たしているかどうかを判定する。
記憶装置820は、カメラ4によって取得された輝度画像のデータである輝度画像データ821、フォトメトリック処理部811により生成された傾き画像データ822や反射率画像データ823を記憶する。また、記憶装置820は各種の設定データやユーザインタフェースを生成するためのプログラムコードなども記憶している。記憶装置820は特徴サイズがそれぞれ異なる検査画像を記憶して保持していてもよい。また、記憶装置820は検査画像に加え、検査画像の元になった傾き画像データや反射率画像データを記憶してもよい。これらはワーク2の誤判定が見つかったときに、検査画像、傾き画像または反射率画像のいずれに問題があったのかを特定して、その制御パラメータを修正するのに役立つであろう。
画像処理部830は、フォトメトリック処理部811によって生成された検査画像(傾き画像データ822や反射率画像データ823)を用いて外観検査を実行する。傷検査部831は、それぞれ異なる特徴サイズ用いて生成された複数の検査画像の傷検査領域において傷検査を実行する。OCR部832はそれぞれ異なる特徴サイズ用いて生成された複数の検査画像に対して文字認識処理を実行する文字認識処理手段として機能する。傷検査部831やOCR部832は記憶装置820に記憶されている検査画像(傾き画像データ822や反射率画像データ823)を読み出し、文字認識領域において検査を実行し、検査結果を記憶装置820に書き込んだり、判定部840に渡したりしてもよい。判定部840はこの検査結果に基づきワーク2の良否を判定する。
<設定モード>
検査システムには検査ツールを設定する設定モードと、設定された検査ツールにしたがってワーク2の外観検査を実行する検査モード(運転モード)とを有しいている。ここでは設定モードの一例について説明する。
図9は設定モードに関するフローチャートである。入力部6を通じて設定モードの開始が指示されると、プロセッサ810のUI管理部814は検査ツールを設定するためのUIを表示部7に表示する。
図10はUIの一例を示している。UI管理部814が表示部7に表示するUI1000には、検査結果の保存先を指定するプルダウンメニュー1001や検査ツールの名称を入力するテキストボックス1002が設けられている。UI管理部814は実行ボタンの押し下げを検出すると次のUIを表示する。
図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に切り替える。
S901でUI管理部814はカメラ4を設定するためUIを表示部7に表示し、カメラ設定を実行する。図12はカメラ設定UI1200の一例を示している。カメラ設定タブ1201には、カメラの機種を設定するプルダウンメニュー1202、画像サイズを設定するプルダウンメニュー1203、シャッタースピードを設定するプルダウンメニュー1204、カメラの感度を設定するスライダー1205などを有している。なお、計測実行ボタン1102が操作されると、UI管理部814は、その時点で設定されている撮像パラメータにしたがってカメラ4によって取得された輝度画像を表示領域1103に表示する。これによりユーザは設定したパラメータが適切かどうかを判定できる。
S902でUI管理部814はフォトメトリック処理を設定するためUIを表示部7に表示し、設定を実行する。たとえば、カメラ設定UI1200に設けられているフォトメトリックステレオ設定タブ1210が操作されたこと検知すると、UI管理部814は、図13に示すように、フォトメトリックステレオ設定タブ1210を有効に切り替える。有効に切り替えるとは、ユーザ操作可能な状態にフォトメトリックステレオ設定タブ1210の表示状態を切り替えることをいう。フォトメトリックステレオ設定タブ1210には、画像を選択するためのプルダウンメニュー1301と、特徴サイズ設定部1302とが含まれている。この例では、それぞれ特徴サイズが異なる3つの検査画像(形状1、形状2、形状3)のいずれかを選択できるものとする。プルダウンメニュー1301によって選択された画像ごとに特徴サイズ設定部1302により特徴サイズが設定される。
フォトメトリックステレオ設定タブ1210に点灯パターンを選択するための選択部が配置されてもよい。また、一回の照明あたりの発光量を指定する指定部が設けられてもよい。
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に切り替える。
図16は計測領域設定UI1600を示している。計測領域設定UI1600の表示領域1103には基準画像1601と、計測領域を示すフレーム1602が配置される。UI管理部814は入力部6からの指示に応じてフレーム1602の位置とサイズを変更する。ユーザは基準画像1601のうち計測対象としたい部分の位置とサイズに合わせてフレーム1602の位置とサイズを調整する。なお、さらに、UI管理部814は、文字の切り出し設定や、認識すべき文字の具体例(文字画像)と文字画像に対応する文字キャラクタを登録するための辞書設定などを実行してもよい。
次に傷検査ツールについて説明する。図17に示すように、検査カテゴリー選択ボタン1402によって傷検査が選択されると、UI管理部814は、検査内容選択ボタン1701を表示する。この例では、検査内容選択ボタン1701によって傷の総面積を計測するツールが選択されている。追加ボタン1404が操作されると、UI管理部814はUIを切り替える。
図18は計測領域設定UI1800を示している。計測領域設定UI1800には、計測領域(傷検査領域)を示すフレーム1802が配置される。フレーム1802の形状は変更可能であり、たとえば、形状を選択するためのプルダウンメニュー1801によって複数の形状のうちいずれかの形状が選択される。UI管理部814はプルダウンメニュー1801によって選択された形状のフレーム1802を表示領域1103にレンダリングする。UI管理部814は入力部6からの指示に応じてフレーム1802の位置とサイズを変更する。
図19は傷の検出条件を設定するための設定UI1900を示している。設定UI1900には、傷の検出方向を選択するためのプルダウンメニュー1901と、傷のセグメントサイズを指定するためのボックス1902と、傷のレベルを指定するためのスライダー1903が配置されている。設定UI1900により設定された傷検出条件に基づいて傷検査領域内(フレーム1802内)で傷検査部831が傷を検出したときは、UI管理部814が傷の位置に傷検出マーク1910を表示してもよい。これにより、ユーザは、傷検出条件が適切かどうかを判断できよう。
<検査モード>
図20は検査モードを示すフローチャートである。入力部6を通じて検査モードの開始が指示されると、プロセッサ810が動作モードを検査モードに移行させる。
S2001でプロセッサ810は設定された点灯パターンにしたがって照明方向を切り替えながらワーク2の画像を撮像して取得する。具体的には、照明制御部812が、記憶装置820に保持されている設定データを参照して点灯パターンを特定し、点灯パターンを指定するためのコマンドを照明コントローラ802に送出する。撮像制御部813は記憶装置820に保持されている設定データを参照してカメラ4に関する制御パラメータ(シャッタースピードや感度など)を特定し、これを指定するコマンドをカメラ4に送信する。フォトメトリック処理部811は照明の開始を指示するためのトリガー信号を照明コントローラ802に送信するとともに、これと連動して撮像の開始を指示するためのトリガー信号をカメラ4に送信する。照明コントローラ802はトリガー信号に同期して照明方向を切り替える。たとえば、照明コントローラ802はコマンドにより指定された点灯パターンにしたがって4つの照明方向について1つずつ順番に対応する発光素子を点灯させる。照明コントローラ802はコマンドと点灯パターンとの対応関係をメモリなどに保持していてもよい。トリガー信号は照明開始時に1つだけ発行されてもよいし、切り替えタイミングにおいても発行されてもよい。カメラ4は制御パラメータにしたがってワーク2を撮像し、輝度画像を画像処理装置5に転送する。このようにして、たとえば、1つの照明方向につき1枚の輝度画像が生成される。
S2002でプロセッサ810は複数の輝度画像から法線ベクトルnと反射率ρとを求める。上述したようにフォトメトリック処理部811は複数の輝度画像の画素値について式1を適用し、法線ベクトルnと反射率ρとを求める。
S2003でプロセッサ810は設定された特徴サイズにしたがって検査画像を生成する。上述したようにフォトメトリック処理部811は特徴サイズに対応する重みWを重みテーブルなどから決定し、式2を用いて積み上げ演算を実行して検査画像(傾き画像)を生成する。このように、フォトメトリック処理部811は複数の輝度画像からワーク2の表面の法線ベクトルnに基づく画素値を有する傾き画像を生成してもよい。なお、それぞれ値の異なる複数の特徴サイズを設定されている場合、フォトメトリック処理部811は設定された複数の特徴サイズのそれぞれについて検査画像を生成してもよい。また、フォトメトリック処理部811は上述した手法により反射率画像やテクスチャ画像を生成してもよい。たとえば、フォトメトリック処理部811は複数の輝度画像からワーク2の表面の法線ベクトルnとともにワーク2の表面の反射率ρを算出し、当該反射率ρに基づく画素値を有する反射率画像を生成してもよい。ここでは検査の対象とされる画像が生成され、検査の対象とさていない画像については生成が省略されてもよい。
S2004でプロセッサ810は検査画像を表示部7に表示する。UI管理部814は検査画像とともに、輝度画像、傾き画像、反射率画像を表示部7に同時または選択的に表示してもよい。選択的に表示する場合、UI管理部814は入力部6からの切り替え指示にしたがって、たとえば、4つの輝度画像を順番に切り替え表示してもよい。たとえば、入力部6のうちコンソールに設けられた特定のキーが画像の切替ボタンとして割り当てられていてもよい。
S2005でプロセッサ810は画像処理部830に検査の実行を指示する。画像処理部830は検査を指示されると、予め設定された検査ツールを起動して検査画像に対して検査を実行する。たとえば、傷検査部831は設定された計測領域や検出条件にしたがって傷のレベルを判別し、検査結果(傷のレベル)を判定部840に転送する。なお、傷検査部831は、上述した基準画像を用いてパターンサーチを実行して検査領域を設定し、検査領域において検査を実行してもよい。また、OCR部832は、予め設定された文字認識設定にしたがって検査画像に対して文字認識処理を実行し、文字認識結果を判定部840に転送する。OCR部832も上述した基準画像を用いてパターンサーチを実行して検査領域(文字認識領域)を設定し、検査領域において検査を実行してもよい。
S2006でプロセッサ810の判定部840は検査結果と判定閾値とを比較して、ワーク2が良品であるかどうかを判定する。たとえば、傷検査とOCRの両方を実行するように設定されている場合、判定部840は傷検査部831の検査結果とOCR部832の文字認識結果との両方が合格レベルにあるときに、ワーク2を良品と判定する。
<画像保存設定>
図21は検査フローを設定するUI2100の一例を示している。UI管理部814はUI2100を表示部7に表示させ、検査フローのスタートからエンドまでの間に実行される複数の工程を入力部6から入力される指示にしたがって設定して行く。この例では、撮像工程、パターンサーチ工程、位置補正工程および傷検査工程が検査フローに追加されている。たとえば、入力部6を通じて検査フローのエンドが指定されると、UI管理部814はエンドにおいて検査履歴を蓄積するように設定してもよい。検査履歴とは、検査結果や検査に使用された画像などである。
なお、各工程を追加するときにUI管理部814は各工程で使用される画像の選択を、入力部6を通じて受け付けてもよい。たとえば、ユーザは入力部6を通じて撮像工程に対しては照明方向と異なる4つの輝度画像や傾き画像、反射率画像などを取得対象として指定し、パターンサーチ工程に対してはいずれかの輝度画像(全方向照明画像など)をサーチ対象として指定し、傷検査工程に対しては傾き画像から生成された検査画像などを検査対象として指定してもよい。
図22は履歴を蓄積する条件を設定するUI2200の一例を示している。蓄積条件を識別するための識別情報を設定する設定部2201は複数ある識別情報から設定対象となる識別情報を選択するためのプルダウンメニューによって構成されている。この例では設定部2201において「0:」という識別情報の蓄積条件が選択されている。蓄積条件としては、たとえば、検査結果が良品ではないときにのみ画像を蓄積するといった条件や、検査結果に依存せずに各ワークごとに常に画像を蓄積するといった条件などがある。ここでは、プロセッサ810は詳細設定ボタンなどが押されたことを検知すると条件設定部819を起動する。条件設定部819は、たとえば、常に画像を保存または出力するモードと、判定部840により検査対象物が良品ではないと判定されたときに画像を保存または出力するモードとのうちいずれかを設定してもよい。画像選択部2202は蓄積条件が満たされたときに保存する画像を選択する。ここでは画像選択部2202によって「すべて」と「指定」とを選択することができる。保存先選択部2203は、画像の保存先(例:内蔵メモリ、メモリカードなどの可搬メディアやFTPサーバなどのネットワークストレージ)を選択するためのプルダウンメニューによって構成されている。
図23は画像選択部2202で「指定」が選択されたときにUI管理部814が表示部7に表示させるUI2300の一例を示している。この例では、検査フローにおいて扱われるすべての種類の画像のうち実際に保存すべき画像を選択するためのチェックボックス2301が設けられている。形状1、2は特徴サイズが異なる検査画像(傾き画像)である。テクスチャは反射率画像である。ノーマルは全方向照明により取得された画像である。4つの矢印は照明方向を示すアイコンである。つまり矢印マークによって照明方向が異なる4つの輝度画像が区別されている。チェックボックスにチェックされた画像が保存対象として設定される。
ところで、プロセッサ810は判定部840が判定を終了した後で画像を保存または出力する条件が満たされているかどうかを判断する判断手段を備えていてもよい。すなわち、検査フローのエンド部において、プロセッサ810は、条件設定部819により設定された蓄積条件や出力条件が満たされているかどうかを判断してもよい。
図24は画像出力工程2401を検査フローに追加する例を示している。上述した実施例では検査フローの最後に画像を出力するように設定したが、この例では入力部6から入力されるユーザ指示にしたがってUI管理部814が検査フローの任意の位置に画像出力工程2401を設定する。このように、プロセッサ810は、判定部840が判定を終了する前に位置する画像出力工程2401で画像を保存または出力する条件が満たされているかどうかを判断してもよい。画像出力工程2401に関連する蓄積設定等は図21ないし図23を用いて説明したのと同様であってもよいし、異なってもよい。
図25は蓄積設定(出力設定)に関するUIの別の例を示している。画像出力工程2401が入力部6により選択された状態で、さらに入力部6により設定を開始する指示が入力されると、UI管理部814はUI2501を表示する。画像変数2502は出力すべき画像を選択する画像選択部として機能し、この例では検査フローにおける各工程に付与されている画像変数によって出力すべき画像が指定される。つまり、各工程ごとに出力すべき画像を選択できる。UI2501において画像の出力枚数や画像形式なども設定されてもよい。出力先選択部2503は画像の出力先(例:内蔵メモリ、メモリカードなどの可搬記憶メディアやFTPサーバなどのネットワークストレージ)を選択するためのプルダウンメニューである。
図26は画像を選択するUI2600の一例である。UI2501において詳細設定ボタンが押し下げられると、UI管理部814はUI2600を表示する。UI2600ではすべての画像を保存するか、個別指定するかを選択するためのラジオボタンや、画像を個別に選択するためのチェックボックスなどが配置されている。この例では、ラジオボタンにより個別指定が選択されているため、チェックボックスが有効となり、チェックボックスを通じていくつかの画像が選択されている。このように、複数の輝度画像、検査画像、全方向照明画像および複数の輝度画像を合成して得られた合成輝度画像から保存対象もしくは出力対象となる画像が選択されてもよい。また、それぞれ特徴サイズが異なる複数の検査画像から保存対象もしくは出力対象となる画像を選択できるようにUI2600が構成されてもよい。また、複数の輝度画像、検査画像および検査対象物の表面の反射率を画素値とした反射率画像から保存対象もしくは出力対象となる画像を選択できるようにUI2600が構成されてもよい。
<形状誤差の軽減処理>
図27はテクスチャの映り込みによって発生した形状誤差(偽形状)の一例を示す図である。上述したようにワークの表面に印刷された文字や模様などのテクスチャが形状画像に形状となって表れてしまうことがある。形状画像2703は8つの輝度画像2700から生成された形状画像である。8つの輝度画像2700にはそれぞれ短冊状のワーク2701とその表面に印刷された文字2702が写っている。このように印刷された文字2702は平面的であり、本来は3次元形状を構成しない。しかしながら、形状画像2703には文字2702が凹凸形状として表れてしまっている。また、形状画像2713は8つの輝度画像2710から生成された形状画像である。8つの輝度画像2710には円形の平面的なワーク2711とその表面に印刷された格子模様2712が写っている。このように印刷された格子模様2712は平面的であり、本来は凹凸形状を構成しない。しかしながら、形状画像2713には格子模様2712が凹凸形状として表れてしまっている。図27が示すように模様の縁部など反射率が大きく変化する場所がエッジとなって形状画像に表れやすい。
このような形状誤差は、撮像素子のオフセットや輝度の飽和、鏡面反射光の存在、照明光の角度ムラ、照明光の光量ムラ、環境光の存在、撮像素子の受光光量と輝度信号との線形性の崩れなどが原因となり、大きくなりやすい。つまり、これらによってテクスチャが映り込み易くなるため、算出された傾きに誤差が発生し、傾き画像に偽のエッジが発生し、最終的には形状画像に偽の凹凸が発生する。
そこで、フォトメトリック処理部811は、形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を反射率画像から抽出し、テクスチャ情報に基づきテクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する。
図28はフォトメトリック処理部811に含まれる機能の一部を例示した図である。本実施形態では、形状画像データを生成する際に反射率画像データからテクスチャによる偽形状を特定し、偽形状が軽減されるように重みづけ演算を行う。
カメラ4はワークをフォトメトリックステレオ法により撮像して複数の輝度画像データ821を生成する。上述したように、フォトメトリック処理部811は、複数の輝度画像データにおいてそれぞれ座標が一致している複数の画素の画素値を用いてワークの表面の法線ベクトルと反射率とを算出する。x成分傾き画像演算部2801は、法線ベクトルを算出し、そのうちx成分の傾きを求めてx成分の傾き画像データを生成する。同様に、成分傾き画像演算部2801は、法線ベクトルからx成分の傾きを求めてy成分の傾き画像データを生成する。縮小画像演算部2802は、x成分の傾き画像データを縮小して縮小画像データを生成する。ここでは複数レベルの縮小度の縮小画像データが生成されてもよい。同様に縮小画像演算部2812はy成分の傾き画像データを縮小して縮小画像データを生成する。ここでは複数レベルの縮小度の縮小画像データが生成されてもよい。微分部2803はx成分の縮小画像データに微分演算を施す。同様に微分部2813はy成分の縮小画像データに微分演算を施す。
一方、テクスチャ演算部2821は輝度画像データ821からテクスチャ(ここでは反射率)を算出し、反射率画像データ(テクスチャ画像データ)を生成する。縮小画像演算部2822は反射率画像データを縮小して縮小画像データを生成する。ここでは複数レベルの縮小度の縮小画像データが生成されてもよい。X方向形状重み演算部2823は、反射率画像データや縮小された少なくとも1つの反射率画像データのうち2つ以上の画像データを用いてX方向のエッジ強度を算出し、算出したエッジ強度に応じたX方向形状重みを算出する。同様に、Y方向形状重み演算部2824は、反射率画像データや縮小された少なくとも1つの反射率画像データのうち2つ以上の画像データを用いてY方向のエッジ強度を算出し、算出したエッジ強度に応じたY方向形状重みを算出する。重みは各画素ごとに決定される。重みはテクスチャ情報によって特定される偽形状を軽減するような値に決定される。たとえば、テクスチャのエッジ強度が所定値よりも高い領域を特定し、特定された領域に対応する形状画像の領域のコントラストを低下させるように重みが決定される。このように、文字や模様などの輪郭は偽形状となりやすいが、これらはテクスチャ画像においてエッジ検出を実行することでその画素の位置とエッジ強度と求まり、偽形状の軽減に有用である。
重みづけ合成部2804は、x成分について、縮小していない傾き画像データや少なくとも1つの縮小傾き画像データとのうち2つ以上の画像データに対して画素ごとにX方向形状重みを乗算する。たとえば、重みづけ合成部2804は、2つの画像の画素値(傾き)の微分に対して重みづけを行ってもよい。なお、形状画像の生成方法自体は公知の方法を採用できる。これは、本実施例では偽形状の軽減するための重みを用いて合成を行う点に特徴があるからである。同様に、重みづけ合成部2804は、y成分について、縮小していない傾き画像データや少なくとも1つの縮小傾き画像データとのうち2つ以上の画像データに対して画素ごとにY方向形状重みを乗算する。さらに、重みづけ合成部2804は画素ごとにx成分の積とy成分の積を加算して形状画像データ2890を生成する。つまり、重みづけ合成部2804はX方向形状重み演算部2823から取得した重みとY方向形状重み演算部2824から取得した重みを用いて上述した積み上げ演算を行っている。
一般に形状画像を生成するには、テクスチャ演算部2821などのテクスチャ画像を生成するための機能は不要である。しかし、本実施例では、テクスチャ画像から偽形状となり得る画素を特定し、その画素のコントラストが低下するように重み作成するために、テクスチャ画像の生成機能を利用している。
<エッジの方向ごとに重みを算出する利点>
図28では重みを計算する際に、エッジの方向に着目して、X方向のエッジとY方向のエッジとのそれぞれに分離してエッジの検出と重みの算出とを実行している。その理由について図29(A)ないし図29(C)を用いて説明する。
図29(A)はあるワークから得られた傾き画像とテクスチャ画像の一例を示している。図29(B)は傾き画像をx微分して得られる画像、y微分して得られる画像およびテクスチャ画像から求められた各画素の重みから形状画像が生成されることを示している。この重みはエッジの方向を考慮していないものとする。傾き画像にテクスチャが存在しなければx微分して得られる画像には偽形状が発生しない。しかし、この例ではワークにテクスチャが存在するため、x微分して得られる画像には偽形状が発生してしまう。とりわけ、この例では、傾き画像におけるエッジの方向とテクスチャのエッジの方向とが直交しており、偽形状によって形状誤差が発生してしまう。これはエッジの方向に応じて重みを算出することで緩和できる。
図29(C)が示すように、X方向形状重み演算部2823がエッジのX方向の成分について重みを求め、Y方向形状重み演算部2824がエッジのY方向の成分について重みを求め、重みづけ合成部2804に供給する。図29(C)が示すように、重みづけ合成部2804は、X成分の傾き画像にはX方向の重みを乗算して形状画像のX成分を算出し、Y成分の傾き画像にはY方向の重みを乗算して形状画像のY成分を算出し、これらを合成して形状画像を生成する。これにより、偽形状による形状誤差が目立ちにくくなる。
図30は本実施例の効果を示す図である。形状画像3001は、図27で説明した形状画像2703に対して本実施例の形状誤差の軽減処理を施したものである。印刷文字による偽形状が緩和されることを理解できよう。同様に形状画像3002は、図27で説明した形状画像2713に対して本実施例の形状誤差の軽減処理を施したものである。ワーク表面に印刷された格子模様による偽形状が緩和されることを理解できよう。
<縮小画像を用いることによる利点>
図28では傾き画像やテクスチャ画像から縮小画像を生成するものとして説明したが、これらは本発明にとって必須ではない。ただし、縮小画像を用いることで処理時間を大幅に削減できる。
たとえば、縮小されていない傾き画像のサイズを1024ピクセル×1024ピクセルと仮定する。この場合、各画素ごとに演算が必要となるため、トータルでは1048576画素について演算が必要となってしまう。これはテクスチャ画像についても同様である。また、1つの画素について形状を求めるために、±64画素で差分を求めると仮定する。この場合、1つの画素について形状を求めるためにはトータルで8129画素(64×64×2=8192)について積和が必要となる。つまり、トータル演算量は1048576×8129=8589934592となる。
一方で、画像サイズを1/64に縮小すると、傾き画像やテクスチャ画像のサイズは16画素×16画素となる。よって、算出対象となる画素の数は256画素となる。また、1画素について形状を求めるためには、2画素について演算すればよい(1×1×2=2)。ただし、縮小のために積和が必要な画素の数は1048576画素である。よって、トータル演算量は256×2+1048576=1049088となる。
このように元の画像をそのまま使用する場合のトータル演算量と、縮小画像を使用する場合のトータル演算量とでは8188倍も異なる。よって、縮小画像を採用することで、大幅に演算量を削減できるようになり、短時間で形状画像が得られるようになる。
<エッジの計算方法の工夫>
たとえば、x方向においてi番目の画素についてエッジを求めることを考える。単純な方法では、注目画素であるi番目の画素のエッジ強度は、注目画素の左隣に位置するi−1番目の画素値と注目画素の右隣に位置するi+1番目の画素値との差分である。つまり、X方向形状重み演算部2823は、注目画素の右隣りに位置する画素の画素値と左隣りに位置する画素の画素値との差分を当該注目画素のエッジ強度として算出するエッジ強度算出手段を有している。なお、Y方向形状重み演算部2824は、それぞれ注目画素の上隣りに位置する画素の画素値と下隣りに位置する画素の画素値との差分を当該注目画素のエッジ強度として算出するエッジ強度算出手段を有している。
図31(A)は比較的に明るい画像におけるエッジ強度の算出例を示している。図31(B)は比較的に暗い画像におけるエッジ強度の算出例を示している。画素値の最大値を256とする。このように明るい画像におけるエッジ強度は100であり、暗い画像におけるエッジ強度は10となってしまい、画像の明るさに依存して重みが変わってしまう。これは、形状誤差の軽減処理では、エッジ強度から重みを算出しているからである。
そこで、2つの画素値の対数を求めてその対数差分をエッジ強度として求めたり、2つの画素値の商(比率)をエッジ強度として求めたりしてもよい。これにより、明るさの影響を軽減できる。
図31(C)は、図31(A)に示した例について対数差分によりエッジ強度を求めた例を示している。図31(D)は、図31(B)に示した例について対数差分によりエッジ強度を求めた例を示している。図31(A)においてi−1番目の画素の画素値は100であるため、その常用対数はlog10(100)=2.0となる。図31(A)においてi+1番目の画素の画素値は200であるため、その常用対数はlog10(200)=2.3となる。よって対数差分は2.3−2.0=0.3となる。図31(B)においてi−1番目の画素の画素値は10であるためその常用対数はlog10(10)=1.0となる。図31(B)においてi+1番目の画素の画素値は20であるためその常用対数はlog10(20)=1.3となる。よって対数差分は1.3−1.0=0.3となる。よって、画像の明るさがエッジ強度に及ぼす影響が低減されることがわかる。
<その他>
軽減処理の効果についてはユーザが調整できるようにしてもよい。たとえば、UI管理部814は、軽減処理の効果を複数のレベルからユーザに選択させるためのUIを表示部7に表示させ、入力部6を通じてレベルの選択を受け付けてもよい。たとえば、スライダーバーによって効果のレベルを変更できるようにしてもよいし、テキストボックスにレベルを入力できるようにしてもよい。フォトメトリック処理部811は、ユーザにより指定されたレベルに応じて重みを調整する。たとえば、重みにレベルを乗算することが一例として考えられる。重みづけ合成部2804は、レベル調整された重みを用いて合成処理を実行することで、選択されたレベルにしたがって軽減処理の効果を制御できるようになる。このよう重みを調整することでユーザは軽減処理の効果を確認しつつ、形状誤差を削減できるようになろう。フォトメトリック処理部811は、調整された重みを用いて生成された形状画像を表示部7にプレビュー表示してもよい。
<まとめ>
本実施例によれば、カメラ4は輝度画像生成手段として機能し、検査対象物をフォトメトリックステレオ法により撮像して複数の輝度画像を生成する。フォトメトリック処理部811が複数の輝度画像においてそれぞれ座標が一致している複数の画素の画素値を用いて検査対象物の表面の法線ベクトルと反射率とを算出する算出手段として機能する。また、フォトメトリック処理部811が検査対象物の表面の法線ベクトルに基づき当該表面の形状に応じた複数の画素値を有する形状画像を生成する形状画像生成手段として機能するとともに、検査対象物の表面の反射率に応じた複数の画素値を有する反射率画像を生成する反射率画像生成手段として機能する。図28などを用いて説明したように、X方向形状重み演算部2823やY方向形状重み演算部2824は、形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を反射率画像から抽出する。たとえば、反射率画像からエッジを検出してそのエッジ強度が求められる。重みづけ合成部2804は抽出されたテクスチャ情報に基づき、テクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する。判定部840は軽減処理を施された形状画像を用いて検査対象物の良否を判定する。このようにテクスチャの映り込みまたは鏡面反射光に起因した偽形状が形状画像から軽減されるため、形状誤差が小さくなる。
図28や図29などを用いて説明したように、X方向形状重み演算部2823やY方向形状重み演算部2824は、反射率画像の各画素のエッジ強度に基づき反射率画像においてテクスチャのエッジ強度が高い領域を特定し、当該特定された領域に対応する形状画像の領域のコントラストを低下させることでテクスチャの映り込みを軽減している。これにより、テクスチャが偽形状となって表れそうな画素を特定することができ、またそのような画素については軽減処理の重みを大きく設定することで、効率よく形状誤差を削減できるようになろう。エッジ強度が高いかどうかは、たとえば、しきい値と比較することで判定されてもよい。また、X方向形状重み演算部2823やY方向形状重み演算部2824は、テクスチャ情報に基づき反射率画像における注目領域内のテクスチャのエッジ強度が高くなるに応じて、形状画像における対応する注目領域内のコントラストを低下させることでテクスチャの映り込みを軽減してもよい。反射率画像をいくつかの画素からなる領域に分割し、各領域を注目領域としてエッジ強度が求められる。同様に、形状画像もいくつかの画素からなる領域に分割し、各領域を注目領域としてコントラストが調整される。なお、反射率画像における領域と形状画像における領域とは一対一で対応している。そのため、反射率画像における領域のエッジ強度が高くなれば、対応する形状画像の領域のコントラスとを低下させることになる。
図28や図29などを用いて説明したように、x成分傾き画像演算部2801が法線ベクトルのX方向の傾き成分を画素値としたX方向傾き画像を生成し、y成分傾き画像演算部2811が法線ベクトルのY方向の傾き成分を画素値としたY方向傾き画像を生成してもよい。X方向形状重み演算部2823およびY方向形状重み演算部2824は、テクスチャ情報として、反射率画像からX方向におけるテクスチャのエッジ強度とY方向におけるテクスチャのエッジ強度を求める。重みづけ合成部2804は、X方向のエッジ強度に応じてX方向傾き画像のコントラストを低下させるとともに、Y方向のエッジ強度に応じてY方向傾き画像のコントラストを低下させ、軽減処理を施されたX方向傾き画像とY方向傾き画像とを合成して形状画像を生成してもよい。図29を用いて説明したように、X方向とY方向とに分離して軽減処理を実行することで、X方向のエッジとY方向のエッジとが直交する部分においても精度よく偽形状を軽減でき、形状誤差を削減できるようになろう。
具体的にx成分傾き画像演算部2801はX方向傾き画像の各画素に対する重みをX方向におけるテクスチャのエッジ強度に応じて決定する。y成分傾き画像演算部2811はY方向傾き画像の各画素に対する重みをY方向におけるテクスチャのエッジ強度に応じて決定する。そして、重みづけ合成部2804は、テクスチャ情報としてエッジ強度から求められた重みを取得し、X方向傾き画像の各画素に対応する重みを乗算するとともにY方向傾き画像の各画素に対応する重みを乗算して合成することで検査用の形状画像を生成してもよい。
図28を用いて説明したように、縮小画像演算部2802、2812はX方向傾き画像とY方向傾き画像とについて複数レベルの縮小画像を生成してもよい。この場合、重みづけ合成部2804は、複数レベルの縮小画像のそれぞれについて軽減処理を適用し、さらに上述した積み上げ計算を実行することで形状画像を生成してもよい。縮小画像を用いることで演算時間を大幅に短縮できるようになる。
エッジ強度の求め方は様々なものがありうる。たとえば、注目画素を挟んで注目画素の隣りに位置する2つの画素の画素値の差分を当該注目画素のエッジ強度として算出することが考えられる。2つの画素は、X方向に関しては右隣りと左隣の画素であり、Y方向に関しては上隣の画素と下隣の画素となる。また、3つ以上の隣接画素ないしは周辺画素を考慮してエッジ強度が求められてもよい。つまり、注目画素の近傍に位置する少なくとも2つの画素の階調値の差分または重み付き和を、当該注目画素のエッジ強度として算出してもよい。たとえば、エッジ検出フィルタとして知られているソーベルフィルタは3x3画素ごとにエッジ強度を算出できる。
図31を用いて説明したように、少なくとも2つの画素の画素値の商または対数を注目画素のエッジ強度として算出してもよい。これにより画像の明るさが異なっても適切に重みを決定できるようになる。たとえば、注目画素の近傍に位置する少なくとも2つの画素の階調値を除積算した値を注目画素のエッジ強度として算出してもよい。また、注目画素の近傍に位置する少なくとも2つの画素の階調値の対数変換後の値の差分または重み付き和を該注目画素のエッジ強度として算出してもよい。
UI管理部814、表示部7および入力部6は、軽減処理の効果を複数のレベルからユーザに選択させる選択手段として機能してもよい。X方向形状重み演算部2823やY方向形状重み演算部2824が選択されたレベルにしたがって重みを調整することで、ユーザは軽減処理の効果を制御することが可能となる。
上述したようにフォトメトリック処理部811は特徴サイズの異なる複数の形状画像を生成できる。そこで、フォトメトリック処理部811は特徴サイズの異なる複数の形状画像のそれぞれに軽減処理を実行してもよい。これにより、特徴サイズの異なる複数の形状画像のそれぞれの形状誤差を削減できるようになる。また、形状誤差の小さな形状画像を用いて外観検査を実行することにより、外観検査の精度も向上するであろう。

Claims (12)

  1. 検査対象物をフォトメトリックステレオ法により撮像して複数の輝度画像を生成する輝度画像生成手段と、
    前記複数の輝度画像においてそれぞれ座標が一致している複数の画素の画素値を用いて前記検査対象物の表面の法線ベクトルと反射率とを算出し、前記検査対象物の表面の法線ベクトルに基づき、当該表面の形状に応じた複数の画素値を有する形状画像を生成するとともに、前記検査対象物の表面の反射率に応じた複数の画素値を有する反射率画像を生成する生成手段と、
    前記反射率画像に基づき前記形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を抽出する抽出手段と、
    前記抽出手段により抽出された前記テクスチャ情報に基づき、テクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する軽減処理手段と、
    前記軽減処理を施された形状画像を用いて前記検査対象物の良否を判定する判定手段と
    を有することを特徴とする検査装置。
  2. 前記軽減処理手段は、前記テクスチャ情報に基づき前記反射率画像において注目領域内のテクスチャのエッジ強度が高くなるに応じて、前記形状画像の当該注目領域内のコントラストを低下させることでテクスチャの映り込みを軽減することを特徴とする請求項1に記載の検査装置。
  3. 前記生成手段は、前記法線ベクトルのX方向の傾き成分を画素値としたX方向傾き画像と前記法線ベクトルのY方向の傾き成分を画素値としたY方向傾き画像とを生成し、
    前記抽出手段は、前記テクスチャ情報として、前記反射率画像から前記X方向におけるテクスチャのエッジ強度と、前記反射率画像からY方向におけるテクスチャのエッジ強度を求め、
    前記軽減処理手段は、前記X方向におけるテクスチャのエッジ強度に応じて前記X方向傾き画像のコントラストを低下させるとともに、前記Y方向におけるテクスチャのエッジ強度に応じて前記Y方向傾き画像のコントラストを低下させ、
    前記生成手段は、前記軽減処理を施された前記X方向傾き画像と前記Y方向傾き画像とを合成して前記形状画像を生成することを特徴とする請求項2に記載の検査装置。
  4. 前記抽出手段は、前記X方向傾き画像の各画素に対する重みを前記X方向におけるテクスチャのエッジ強度に応じて決定するとともに、前記Y方向傾き画像の各画素に対する重みを前記Y方向におけるテクスチャのエッジ強度に応じて決定し、
    前記軽減処理手段は、前記テクスチャ情報として前記抽出手段から重みを取得し、前記X方向傾き画像の各画素にそれぞれ対応する重みを乗算するとともに前記Y方向傾き画像の各画素にそれぞれ対応する重みを乗算して合成することで検査用の形状画像を生成することを特徴とする請求項3に記載の検査装置。
  5. 前記生成手段は、前記X方向傾き画像と前記Y方向傾き画像とについて複数レベルの縮小画像を生成し、前記複数レベルの縮小画像のそれぞれについて前記軽減処理を適用し、さらに積み上げ計算を実行することで前記検査用の形状画像を生成することを請求項4に記載の検査装置。
  6. 前記抽出手段は、注目画素の近傍に位置する少なくとも2つの画素の階調値の差分または重み付き和を、当該注目画素のエッジ強度として算出するエッジ強度算出手段を有することを特徴とする請求項2ないし5のいずれか1項に記載の検査装置。
  7. 前記抽出手段は、注目画素の近傍に位置する少なくとも2つの画素の階調値を除積算した値を、当該注目画素のエッジ強度として算出するエッジ強度算出手段を有することを特徴とする請求項2ないし5のいずれか1項に記載の検査装置。
  8. 前記抽出手段は、注目画素の近傍に位置する少なくとも2つの画素の階調値の対数変換後の値の差分または重み付き和を、当該注目画素のエッジ強度として算出するエッジ強度算出手段を有することを特徴とする請求項2ないし5のいずれか1項に記載の検査装置。
  9. 前記軽減処理の効果を複数のレベルからユーザに選択させる選択手段をさらに有し、
    前記軽減処理手段は選択されたレベルにしたがって前記軽減処理の効果を制御することを特徴とする請求項1ないし8のいずれか1項に記載の検査装置。
  10. 前記生成手段は特徴サイズの異なる複数の形状画像を生成し、
    前記軽減処理手段は前記特徴サイズの異なる複数の形状画像のそれぞれに前記軽減処理を実行することを特徴とする請求項1ないし9のいずれか1項に記載の検査装置。
  11. 検査対象物をフォトメトリックステレオ法により撮像して複数の輝度画像を生成する輝度画像生成工程と、
    前記複数の輝度画像においてそれぞれ座標が一致している複数の画素の画素値を用いて前記検査対象物の表面の法線ベクトルと反射率とを算出し、前記検査対象物の表面の法線ベクトルに基づき、当該表面の形状に応じた複数の画素値を有する形状画像を生成するとともに、前記検査対象物の表面の反射率に応じた複数の画素値を有する反射率画像を生成する生成工程と、
    前記反射率画像に基づき前記形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を抽出する抽出工程と、
    前記抽出工程により抽出された前記テクスチャ情報に基づき、テクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する軽減処理工程と、
    前記軽減処理を施された形状画像を用いて前記検査対象物の良否を判定する判定工程と
    を有することを特徴とする検査方法。
  12. 検査対象物をフォトメトリックステレオ法により撮像して複数の輝度画像を生成する輝度画像生成手段と、
    前記複数の輝度画像においてそれぞれ座標が一致している複数の画素の画素値を用いて前記検査対象物の表面の法線ベクトルと反射率とを算出し、前記検査対象物の表面の法線ベクトルに基づき、当該表面の形状に応じた複数の画素値を有する形状画像を生成するとともに、前記検査対象物の表面の反射率に応じた複数の画素値を有する反射率画像を生成する生成手段と、
    前記反射率画像に基づき前記形状画像に含まれているテクスチャの映り込みまたは鏡面反射光を示すテクスチャ情報を抽出する抽出手段と、
    前記抽出手段により抽出された前記テクスチャ情報に基づき、テクスチャの映り込みまたは鏡面反射光に起因した偽形状の軽減処理を実行する軽減処理手段と、
    前記軽減処理を施された形状画像を用いて前記検査対象物の良否を判定する判定手段としてコンピュータを機能させることを特徴とするプログラム。
JP2014119104A 2014-06-09 2014-06-09 検査装置、検査方法およびプログラム Active JP6278842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014119104A JP6278842B2 (ja) 2014-06-09 2014-06-09 検査装置、検査方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014119104A JP6278842B2 (ja) 2014-06-09 2014-06-09 検査装置、検査方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015232481A JP2015232481A (ja) 2015-12-24
JP6278842B2 true JP6278842B2 (ja) 2018-02-14

Family

ID=54934012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014119104A Active JP6278842B2 (ja) 2014-06-09 2014-06-09 検査装置、検査方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6278842B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767234B (zh) * 2017-11-01 2024-03-29 杭州沃朴物联科技有限公司 一种基于纹理图像特征和随机金葱粉的防伪系统
JP7222796B2 (ja) 2019-04-05 2023-02-15 株式会社キーエンス 画像検査システム及び画像検査方法
JP7231461B2 (ja) * 2019-04-05 2023-03-01 株式会社キーエンス 画像検査システム及び画像検査方法
JP7231462B2 (ja) * 2019-04-05 2023-03-01 株式会社キーエンス 画像検査システム及び画像検査方法
JP7306858B2 (ja) * 2019-04-05 2023-07-11 株式会社キーエンス 画像検査システム及び画像検査方法
JP7222795B2 (ja) * 2019-04-05 2023-02-15 株式会社キーエンス 画像検査システム及び画像検査方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315257A (ja) * 1999-04-30 2000-11-14 Shiseido Co Ltd 皮膚状態の三次元画像生成方法
JP2002213931A (ja) * 2001-01-17 2002-07-31 Fuji Xerox Co Ltd 3次元形状計測装置および3次元形状計測方法
JP2004279187A (ja) * 2003-03-14 2004-10-07 Mitsubishi Electric Corp 形状計測方法
JP2006133055A (ja) * 2004-11-05 2006-05-25 Seiko Epson Corp ムラ欠陥検出方法及び装置、空間フィルタ、ムラ欠陥検査システム並びにムラ欠陥検出方法のプログラム
JP2007206797A (ja) * 2006-01-31 2007-08-16 Omron Corp 画像処理方法および画像処理装置
TW201017578A (en) * 2008-10-29 2010-05-01 Chunghwa Picture Tubes Ltd Method for rebuilding 3D surface model

Also Published As

Publication number Publication date
JP2015232481A (ja) 2015-12-24

Similar Documents

Publication Publication Date Title
JP6290720B2 (ja) 検査装置、検査方法およびプログラム
JP6470506B2 (ja) 検査装置
JP6403445B2 (ja) 検査装置、検査方法およびプログラム
JP6278842B2 (ja) 検査装置、検査方法およびプログラム
JP6405124B2 (ja) 検査装置、検査方法およびプログラム
JP6055228B2 (ja) 形状計測装置
JP6585793B2 (ja) 検査装置、検査方法およびプログラム
JP6280451B2 (ja) 検査装置
JP6620215B2 (ja) 検査装置
JP6395455B2 (ja) 検査装置、検査方法およびプログラム
JP6425406B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2020042053A (ja) 画像検査装置および画像検査方法
JP6825067B2 (ja) 検査装置およびその制御方法
JP6475875B2 (ja) 検査装置
JP6184339B2 (ja) 外観検査装置、外観検査方法およびプログラム
JP6864722B2 (ja) 検査装置、検査方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180116

R150 Certificate of patent or registration of utility model

Ref document number: 6278842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250