(58)【調査した分野】(Int.Cl.,DB名)
前記決定部は、前記点灯色数受付部により受け付けられた数以下の点灯色からなる複数の点灯色の組み合わせのうちで、最大の分離度が得られる組み合わせを前記推奨される点灯色の組み合わせとして決定することを特徴とする請求項4に記載の画像検査装置。
前記決定部は、前記複数の点灯色の組み合わせのうちで、前記閾値を超える分離度が得られた点灯色の組み合わせが存在しなければ、前記複数の点灯色の組み合わせのうちで分離度が最大となった点灯色の組み合わせを選択し、前記推奨される点灯色の組み合わせとして決定することを特徴とする請求項6に記載の画像検査装置。
前記制御部は、前記推奨される点灯色の組み合わせを構成する複数の点灯色の照明光を順番にかつ個別に検査対象物に照射することで取得された複数の分光画像から前景画像と背景画像とを生成し、前記表示部は、前記前景画像と前記背景画像との差分画像を検査画像として表示することを特徴とする請求項1ないし8の何れか一項に記載の画像検査装置。
前記推奨される点灯色の組み合わせに対して点灯色の追加または削除を受け付ける追加削除受付部をさらに有することを特徴とする請求項1ないし9のいずれか一項に記載の画像検査装置。
前記領域受付部は、前記表示部に表示された対象物の画像において前景領域と背景領域との両方について指定を受け付けることを特徴とする請求項1ないし10のいずれか一項に記載の画像検査装置。
前記分離度は、複数の前景領域から登録された複数の前景色からなる前景グループの色情報の分布と、複数の背景領域から登録された複数の背景色からなる背景グループの色情報の分布との間のグループ間距離であることを特徴とする請求項1ないし11のいずれか一項に記載の画像検査装置。
前記演算部は、複数の前景色の一つと複数の背景色の一つとから構成される複数のペアのそれぞれについて分離度を演算し、前記複数のペアについての分離度のうちで最小の分離度を各点灯色の組み合わせごとの分離度に決定することを特徴とする請求項3に記載の画像検査装置。
【発明を実施するための形態】
【0009】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0010】
図1は外観検査システム(画像検査装置8)の一例を示す図である。ライン1は検査対象物であるワーク2を搬送する搬送ベルトなどである。照明装置3は互いに異なる波長の検査光(照明光)を発生する複数の発光素子を有し、各波長の照明光を個別に対象物に照射する照明部の一例である。なお、複数の方向から同時または順番に照明光をワーク2に対して照射するために、複数の同一波長の発光素子が設けられてもよい。カメラ4は照明光により照明された検査対象物からの反射光を受光して輝度画像(分光画像)を生成する撮像手段の一例である。画像処理装置5は、各波長について設定された照明強度で発光素子を順番に点灯させることで画像検査の対象となる検査対象物を照明し、撮像部により取得された複数の検査画像を用いて画像検査を実行する検査部を有する。表示部7は検査に関連する制御パラメータを設定するためのユーザインタフェースや検査画像などを表示する表示装置である。入力部6は、コンソール、ポインティングデバイス、キーボードなどであり、制御パラメータを設定するために使用される。
【0011】
<照明装置の構成>
図2(A)は照明装置3の斜視図である。
図2(B)は照明装置3の上面図である。
図2(C)は照明装置3の底面図である。
図2(D)は照明装置3の側面図である。照明装置3の筐体は上ケース21と下ケース22を有している。下ケース22の下部には複数の光源(LEDなどの発光素子)のそれぞれが出力する光を拡散させる光拡散部材23が配置されている。
図2(A)や
図2(C)が示すように上ケース21や下ケース22と同様に光拡散部材23も円環状を成している。
図2(B)や
図2(D)が示すように上ケース21の上面にはコネクタ24が設けられている。コネクタ24には照明装置3に格納されている照明制御基板と画像処理装置5とが通信するためのケーブルが接続される。
【0012】
図3(A)は照明装置3に格納されている制御基板31とLED基板32とを示す側面図である。制御基板31は点灯制御部が実装された第二基板の一例である。LED基板32は複数の光源が実装された第一基板の一例である。
図3(B)はLED基板32の上面図である。
図3(C)は照明装置3のうちLED33の付近を拡大した断面図である。
図3(D)はLED基板32の底面図である。
図3(E)はLED基板32のうちLED33の付近を拡大した側面図である。
【0013】
制御基板31には照明制御基板やコネクタ24が配置されている。光源群を構成するLEDなどの発光素子はLED基板32に搭載されている。
図3(B)が示すように、本実施例では四方向から照明光を照射するために四つのLED基板32が設けられている。つまり、一つのLED基板32が一つの照明ブロックを形成している。四方向から照明光を照射可能とすることでフォトメトリックステレオ用の画像を取得できるようになる。つまり、照明装置3はマルチスペクトルイメージング(MSI)だけでなく、フォトメトリックステレオのために利用されてもよい。一つのLED基板32には四つのLED33が配置されている場合、光源群は16個の発光素子により構成される。ただし、より多数の発光素子が設けられてもよい。たとえば、一つのLED基板32には8つのLED33が配置されており、8つのLED33が発光する光の波長はいずれも異なっていてもよい。
図3(C)、
図3(D)および
図3(E)が示すように、複数のLED33のうち隣り合った二つのLED33の間には遮光部材35が配置されている。多数のLED33を密接に配置すると、隣り合った二つのLED33からそれぞれ照射される照明光が光拡散部材23の同一の領域を通過することがある。この場合、点灯パターンに応じて一方のLED33を非点灯とし、かつ、他方のLED33を点灯した場合と、他方のLED33を非点灯とし、かつ、一方のLED33を点灯した場合とで、ワーク2の表面には同一の照明方向から同一の光量で照明光が照射されてしまう。これでは高い精度で検査画像を生成することが難しくなる。そこで、隣り合った二つのLED33の間に遮光部材35を配置することで、隣り合った二つのLED33について光量の均一性と光源の独立性とのバランスを取っている。
図3(C)が示すようにLED33の光の射出方向A1と、主な照明方向A2とは一致していない。そこで、反射鏡34を配置することでLED33から射出される光を光拡散部材23の方向へ偏向している。これによりLED33が発光した光を効率よくワーク2へ照射できるようになろう。この例では射出方向A1と反射鏡34の反射方向とが概ね直交しているが、これは光拡散部材23の断面形状が円弧を成しており(
図3(C))、円弧に関する角度(中心角)が約90度になっているからである。このように中心角を大きくすることで、照明装置3をワーク2に対して遠ざけたり、近づけたりしてもワーク2の表面に対してほぼ均一な平行光を照射しやすくなる。
【0014】
図21は照明装置3の模式平面図である。照明装置3のLED基板32の上には互いに異なる波長の光を発する複数のLED33が環状に配置されている。制御基板31に設けられた照明制御基板(
図4)は同一波長の複数のLED33を同時に点灯させる。同一波長の複数のLED33はLED基板32上にそれぞれ等間隔に配置されている。各波長の複数のLED33が同時に点灯することで、ワーク2の斜め上方から略均一な照明光がワーク2に照射される。これにより、カメラ4は照射方向に依存しない各波長に対応したワーク2の全方向照明画像を撮影することができる。
【0015】
照明装置3はそれぞれ複数のLED33を有する4つの照明ブロックTB1〜TB4から構成されている。各照明ブロックには互いに異なる波長の光を発する複数のLED33が配置される。各照明ブロックには、照明装置3が有する全ての波長種別のLED33が含まれている。各照明ブロックには光量フィードバック制御用の受光素子PD1〜PD4が配置されている。照明制御基板は受光素子PD1〜PD4が受光した光の受光量に基づいて、各照明ブロックの光量が予め設定された光量に維持されるように、各LED33に流す電流値を制御する。
【0016】
各波長のLED33は各照明ブロック内において同数かつ等間隔に配置される。
図21が示す例では、各照明ブロックには8波長のLED33がそれぞれ1つずつ等間隔に配置されている。各照明ブロックが同一波長のLED33を2つ以上備えてもよい。この場合、波長数の倍数、例えば16個(8波長×2個)、24個(8波長×3個)、あるいは32個(8波長×4個)のLED33が各照明ブロックに設けられる。同一波長の複数のLED33は各照明ブロック内において等間隔に配置される。上述したLED33の配置は全ての照明ブロックで共通である。複数の照明ブロックを環状に配置することでリング型の照明が構成される。つまり、同一波長のLED33が環状に等間隔に配列される。
【0017】
照明制御基板は、照明装置3を波長単位で個別に点灯制御することができる。単一波長、例えば赤色のLED33が点灯される場合、照明制御基板は、全ての照明ブロックに含まれる赤色のLED33を同時に点灯させる。照明制御基板は各波長のLED33を順次に点灯させることにより、ワーク2に対して異なる波長の光を順次に照射することができる。また、照明制御基板は、各照明ブロックを個別に点灯制御することもできる。例えば、照明制御基板は照明ブロックTB1に含まれるLED33を点灯させ、照明ブロックTB2〜TB4に含まれるLED33を消灯させてもよい。また、照明制御基板は、照明ブロックTB1からTB4を順次に点灯させることもできる(TB1−>TB2−>TB3−>TB4)。照明制御基板が点灯させる照明ブロックを切り替えることにより、それぞれ異なる方向から照明されたワーク2についての複数の輝度画像が取得され、検査に用いられてもよい。更に、照明制御基板は、波長単位および照明ブロック単位でLED33を個別に点灯制御することもできる。照明制御基板は、例えば、照明ブロックTB1に含まれる赤色のLED33のみを点灯させることができる。
【0018】
このように、照明装置3は各波長単位でLED33を点灯制御することで、異なる波長の光をワーク2に照射する。また、各照明ブロック単位でLED33を点灯制御することで、異なる照射方向から光をワーク2に照射することができる。
【0019】
制御基板31には単色のLED33だけではなく、複数の波長の光が混じりあった白色光を出射する白色LED33を配置してもよい。照明制御基板は白色LED33のみを選択的に点灯させることで、通常の白色リング照明と同じように本実施の形態における照明装置3を機能させてもよい。更に、照明制御基板は全ての波長のLED33を同時に点灯させて、ワーク2に対して実質的に白色光を照射することもできる。
【0020】
本明細書において、照明制御基板が単色波長の照明光をワーク2に照射して得られた画像は分光画像と呼ばれる。また、全ての波長のLED33を点灯させるか、白色LED33を点灯させて得られた画像は分光画像とは区別され、白色画像と呼ばれる。分光画像と白色画像は輝度画像と総称されうる。輝度画像の各画素はカメラ4から得られた輝度値を示す。
【0021】
各照明ブロックにはそれぞれ照明制御基板が設けられている。各照明ブロックが同一波長の複数のLED33を含む場合、各照明制御基板には同一波長のLED33が直列に接続され、異なる波長のLED33が並列に接続されている。
【0022】
以上の図面によれば、複数のLED33が、ある円周上に並べられているが、半径の異なる別の円周上にも複数のLED33が配置されていてもよい。これにより、波長ごとのLED33の数が増えるため、照明光量を増加させることが可能となる。また、第一の円周上にはマルチスペクトルイメージング用のLED33が配置され、第二の円周上には白色LEDが配置されていてもよい。第一の円周の半径と第二の円周の半径とは異なっている。
【0023】
<照明装置の回路構成>
図4は照明装置3の回路構成の一例を示している。この例では光源群を構成する四つの照明ブロックのうち一つの照明ブロックを示しており、各照明ブロックは同一波長のLEDが4つ(LED33a〜LED33d)設けられている。四つのLED33a〜LED33dは直列に接続されている。異なる波長のLEDが同様に直列接続されたものが、
図4の回路構成と並列に接続されているが、
図4からは省略してある。電圧が可変の可変電源41は照明制御基板40によって指定される電圧値(例:2V〜20V)の電圧を生成して出力する。可変定電流源42は、照明制御基板40によって指定される電流値(例:0A〜1A)となるように照明ブロックに流れる電流を調整する。このような電流制御方式を採用することでリニアリティの高い調光を実現しやすくなる。また、可変定電流源42は、可変定電流源42に印加されている電圧の値を検出して照明制御基板40にフィードバックし、過電圧から可変定電流源42を保護している。LED33a〜LED33dのそれぞれには並列にスイッチ43a〜スイッチ43dが接続されている。照明制御基板40の点灯制御部45はこれらのスイッチ43a〜スイッチ43dを個別に開閉させることで、LED33a〜LED33dのそれぞれを個別に点灯と非点灯とを切り替えることができる。このように、LED33a〜LED33dのそれぞれに並列にスイッチ43a〜スイッチ43dを接続することで、LED33a〜LED33dのいずれか一つを点灯させたり、すべてを点灯させたりするといった個別点灯が可能となる。これは様々な点灯パターンを実現するのに役立っている。なお、点灯制御部45は可変定電流源42とグランドとの間に挿入されたメインスイッチ43eのオン/オフを切り替えることで一つの照明ブロック単位での点灯制御を実行する。通信部44は点灯パターンを指示する制御信号や点灯の開始を指示するトリガー信号を画像処理装置5の照明制御部から受信し、点灯制御部45に渡す。点灯制御部45は、制御信号に対応する点灯パターンデータ47を記憶部46から読み出し、点灯パターンデータ47に従ってスイッチ43a〜スイッチ43dを制御する。なお、一つの照明ブロックが8つのLED33により構成される場合、8個のスイッチ43が設けられ、8個のスイッチ43は点灯制御部45によって制御される。8つのLED33は、たとえば、UVからIR2までの8つの波長に対応している。UVは紫外線波長の照明光により取得された分光画像を示している。Bは青波長の照明光により取得された分光画像を示している。Gは緑波長の照明光により取得された分光画像を示している。AMはアンバー波長の照明光により取得された分光画像を示している。ORはオレンジ波長の照明光により取得された分光画像を示している。Rは赤波長の照明光により取得された分光画像を示している。IR1、IR2はそれぞれ赤外波長の照明光により取得された分光画像を示している。ただし、IR1の波長はIR2の波長よりも短い。
【0024】
<機能ブロック>
図5は検査装置のブロック図である。この例では照明装置3、カメラ4および画像処理装置5がそれぞれ個別の筐体に収容されているが、これは一例に過ぎず、適宜に一体化されてもよい。照明装置3は、マルチスペクトルイメージングを実現する照明装置であるが、フォトメトリックステレオ法に従って検査対象物を照明する照明手段として利用されてもよい。照明装置3は光源群501とこれを制御する照明制御基板40を備えている。すでに
図3に示したように、複数の発光素子で一つの照明ブロックが構成され、さらに複数の照明ブロックによって光源群501が構成されていてもよい。照明ブロックの数は一般的には四つであるが、三つ以上であればよい。これは3方向以上の照明方向からワーク2に照明光を照射できれば、フォトメトリックステレオ法により検査画像を生成できるからである。各照明ブロックにはそれぞれ点灯色が異なる照明光を出力する複数の発光素子(LED33)が設けられている。複数の発光素子には白色LEDが含まれていてもよい。白色LEDはマルチスペクトルイメージングには使用されず、他の検査画像を作成したり、ワーク2の移動補正用の画像を作成するために使用されたりする。
図1や
図3に示したように照明装置3の外形はリング状をしていてもよい。また、照明装置3は、それぞれ分離した複数の照明ユニットにより構成されていてもよい。照明制御基板40は、画像処理装置5から受信した制御コマンドに応じて光源群501の点灯タイミングや照明パターン(点灯パターン)を制御する。マルチスペクトルイメージングで分光画像を取得するには択一的に選択された点灯色の照明光をワーク2に照射するが、マルチスペクトルイメージング以外の手法が採用される場合は、複数の点灯色の照明光が同時に照射されてもよい。照明制御基板40は照明装置3に内蔵されているものとして説明するが、カメラ4に内蔵されていてもよいし、画像処理装置5に内蔵されていてもよいし、これらからは独立した筐体に収容されていてもよい。
【0025】
照明装置3には記憶装置502が内蔵されており、ユーザにより設定された光源群501の点灯タイミングや照明パターンが記憶されている。照明制御基板40は、画像処理装置5からトリガー信号を受け取り、記憶装置502に記憶されている内容に応じて、光源群501を制御することができる。このような構成により、画像処理装置5は、トリガー信号を送信するだけで照明装置3を制御することができるので、画像処理装置5と照明装置3を接続する信号線の数を少なくすることができ、ケーブルの取り回しがよくなる。
【0026】
より具体的には、記憶装置502は、各波長の光源群501の点灯タイミング情報(点灯時間、点灯間隔)、照明強度情報、照明パターン情報(点灯させる波長の識別情報)、照明ブロック情報(点灯させるブロックの識別情報)を含む照明設定データを記憶している。この照明設定データはいずれも、照明設定用のユーザインタフェースを表示部7に表示し、ユーザによる調整を照明設定手段が受け付ける。
【0027】
点灯タイミング情報とは、各波長に対応する光源群を周期的に点灯させる際の各波長の点灯タイミングを規定する情報であり、各波長の光源群を点灯させる点灯時間(パルス幅)と、点灯させる波長を切り替える際に、前の波長の光源群を消灯させてから次の波長の光源群を点灯させるまでの点灯間隔(インターバル)とからなる。例えば、ユーザが赤色と緑色の光を発する光源群を用いて検査を行う場合、赤色波長の光源群の点灯時間、緑色波長の光源群の点灯時間と、両点灯時間の間隔をユーザが設定できる。点灯時間の設定は、ユーザが各波長の点灯時間を個別に設定できるようにしてもよいし、全ての波長において共通としてもよい。点灯間隔の設定は、ユーザが直接点灯間隔を指定するようにしてもよいし、検査に用いる全ての波長の光源群を順次点灯させる1つの点灯サイクルの長さと、各波長の点灯時間とから、点灯間隔が自動的に算出されるようにしてもよい。
【0028】
照明強度情報とは、各波長の照明強度を示す情報である。本実施の形態では、各波長の照明強度を個別に設定することができるため、各波長で最適な照明強度でワークに光を照射することができる。
【0029】
照明パターン情報とは、点灯させる波長の種別を示す識別情報であり、各点灯タイミングにおいて、どの波長に対応した光源群を点灯させるべきかを決定する情報である。例えば、ユーザが赤色と緑色と紫色の3色を用いて検査を行う設定を行っている場合、記憶装置502は、これらの3波長を示す識別情報を各点灯タイミング(点灯パルス)の情報と関連付けて記憶する。記憶装置502は、例えば、最初の点灯パルスでは赤色の光源群を点灯させ、次の点灯パルスでは緑色の光源群を点灯させ、最後の点灯パルスでは紫色の光源群が点灯されるように、照明パターン情報を点灯タイミング情報と関連付けて記憶している。照明パターン情報には、点灯波長の順序を示す情報が含まれていてもよい。上記の例では、赤、緑、紫の順序がユーザにより設定されてもよいし、予め設定可能な波長の点灯順序は固定して決められていてもよい。画像処理装置5の記憶装置520は照明パターン情報を照明装置3と共有する。上記の例では、最初に取得した画像を赤色波長で得られた画像として処理し、次に取得した画像を緑色波長で得られた画像として処理し、最後に取得した画像を紫色波長で得られた画像として処理する。
【0030】
照明ブロック情報とは、点灯させる照明ブロックの識別情報である。本実施の形態では、波長単位での点灯を個別に制御できることに加えて、照明ブロック単位での点灯を個別に制御できる。ユーザは、点灯させる照明ブロックを任意に選択することにより、偏斜照明による検査が実行できる。また全ての照明ブロックを順次に点灯させて、異なる照明方向から光を照明して得られた複数の輝度画像に基づいて、フォトメトリックステレオの原理を用いた形状画像を生成することもできる。ユーザが点灯させる照明ブロックの順序を設定することもできる。各点灯タイミングにおいて点灯させる照明ブロックを任意に指定できるようにしてもよいし、点灯の回転方向(時計回り、または反時計回り)が固定されており、最初に点灯する照明ブロックをユーザが指定できるようにしてもよい。
【0031】
上記の照明設定手段による照明設定データは、照明装置3に接続されたPC(パーソナルコンピュータ)などの入力部から設定されてもよいし、照明装置3に接続された画像処理装置5から設定されてもよい。また、画像処理装置5とは別体に設けられた照明用のコントローラを介して照明装置3が設定を受け付けてもよい。また、カメラ4、照明装置3、画像処理装置5が一体に設けられた検査装置の場合は、入力部6を介して検査装置に直接照明の設定を行うことも可能である。
【0032】
上記の例では、記憶装置502は照明装置3に設けられているが、画像処理装置5に設けられていてもよい。また照明装置3とカメラ4が一体に設けられている場合は、カメラ4に設けられていてもよい。照明装置3、カメラ4、画像処理装置5が一つのハウジングに一体に設けられた検査装置の場合は、ハウジング内に記憶装置502が設けられる。
【0033】
カメラ4は照明装置3により照明された検査対象物からの反射光を受光して輝度画像を生成する撮像手段の一例であり、画像処理装置5からの制御コマンドに応じて撮像処理を実行する。カメラ4はワーク2の輝度画像を作成して画像処理装置5に転送してもよいし、カメラ4の撮像素子から得られる輝度信号を画像処理装置5に転送し、画像処理装置5が輝度画像を生成してもよい。輝度信号は輝度画像の元になる信号であるため、広義には輝度信号も輝度画像である。また、カメラ4は、照明装置3が出力する各点灯色の照明光ごとに対象物からの反射光を受光して対象物の画像(分光画像)を生成する撮像部として機能する。
【0034】
画像処理装置5は、コンピュータの一種であり、CPUやASICなどのプロセッサ510と、RAM、ROM、可搬記憶媒体などの記憶装置520と、ASICなどの画像処理部530と、ネットワークインタフェースなどの通信部550とを有している。プロセッサ510は検査ツールの設定や、制御パラメータの調整、検査画像の生成などを担当する。とりわけ、MSI処理部511は、マルチスペクトルイメージング(MSI)に従って、カメラ4により取得された複数の輝度画像(分光画像)からワーク2のグレー画像を作成したり、グレー画像から検査画像を作成したりする。グレー画像自体が検査画像であってもよい。照明制御部512は、照明制御基板40に対して制御コマンドを送信することで点灯パターンや照明切り替えタイミングなどを制御する。すなわち、照明制御部512は照明装置3に照明開始のトリガー信号を送信する。撮像制御部513は、照明制御部512から発せられるトリガー信号と同期した撮像開始のためのトリガー信号をカメラ4に送信し、カメラ4を制御する。
【0035】
UI管理部514は、検査ツールを設定するためのユーザインタフェース(UI)や検査画像を生成するために必要となるパラメータを設定するためのUIなどを表示部7に表示し、入力部6から入力された情報に従って検査ツールやパラメータを設定する。検査ツールには、ワーク2が備える特定の特徴(例:ピン)の長さを計測するツールや特徴の面積を計測するツールや、ある特徴から別の特徴までの距離(例:ピン間隔)を計測するツールや、特定の特徴の数を計測するツールや、特定の特徴に傷が有るか無いかを検査するツールなどが含まれてもよい。とりわけ、UI管理部514はマルチスペクトルイメージングに関する制御パラメータを設定するためのUIを表示部7に表示する。画像選択部515はUIを通じてユーザにより選択された画像の画像データを記憶装置520から読み出してUI内の画像表示領域に表示する。領域指定部516は表示された画像に対して検査ツールの検査領域IWなどの指定をユーザから受け付ける。また、領域指定部516は表示された画像に対して前景領域や背景領域の指定をユーザから受け付ける。前景領域とは前景色が抽出される領域である。背景領域とは背景色が抽出される領域である。前景色は画像検査の対象となる特徴の色であることが多い。背景色は前景色から区別される色である。前景領域や背景領域などはユーザによって指定されるため、指定領域と呼ばれてもよい。領域指定部516は、指定領域の形状(例:矩形、円、楕円、任意形状)の選択を受け付けて指定領域を示す枠線の形状をUIに反映させてもよい。点灯色指定部517は、ユーザによる照明光の点灯色の指定を受け付ける点灯色受付部である。また、点灯色指定部517は、ユーザによる照明光の点灯色の数の指定を受け付ける点灯色数受付部でもある。点灯色指定部517は、点灯色の組み合わせを構成する点灯色の削除や追加を受け付けてもよい。閾値受付部518は、判定部540において検査部531の検査ツールにより取得された測定結果と比較するための閾値や、複数の点灯色の組み合わせの各分離度と比較される閾値(公差)などをユーザから受け付ける。点灯色の組み合わせ(点灯パターン)とは、点灯すべき発光素子の組み合わせ、つまり、点灯色の組み合わせを示している。UI管理部514はユーザにより設定されたこれらの制御パラメータを設定情報523に保存する。UI管理部514は照明条件や撮像条件を設定する設定部として機能したり、検査ツールを設定する設定部として機能したりしてもよい。
【0036】
画像処理部530はマルチスペクトルイメージングにより取得された検査画像に対して検査ツールを適用して各種の計測を実行する検査部531などを有している。サーチ部532は画像検査の前に設定された特徴または画像検査中に動的に設定された特徴を、検査画像に配置されたサーチ領域SW内でサーチし、見つかった特徴の位置を求める。検査部531は、見つかった特徴の位置に応じて検査領域(計測領域)の位置を補正する。画像処理部530の機能はプロセッサ510に実装されてもよい。あるいは、プロセッサ510の機能が画像処理部530に実装されてもよい。また、プロセッサ510とプロセッサ510とが協働して単一または複数の機能を実現してもよい。
【0037】
判定部540は検査画像を用いてワーク2の良否を判定する判定手段として機能する。たとえば、判定部540は画像処理部530において検査画像を用いて実行された検査の結果を受け取って検査結果が良品条件(公差など)を満たしているかどうかを判定する。
【0038】
設定部560は、各点灯色の照明光を所定の順番で個別にワーク2に照射して取得された複数の分光画像に基づき、複数の点灯色のうちワーク2を照明するために推奨される点灯色の組み合わせを設定する。上述したように照明装置3はそれぞれ点灯色の異なる照明光を出力する少なくともN個のLED33を有している。しかし、そのN個のLED33のすべてが検査に必要となるわけではない。たとえば、8個の点灯色のうち4個の点灯色分のLED33を使用するだけでもユーザが必要と考える検査精度を達成できることもあろう。しかし、8個の点灯色のうちどの点灯色を削減可能かはユーザには容易に判断できないことが多い。これは直感的に必要となる点灯色と実際に必要となる点灯色とが一致しないことがあるからである。そこで、設定部560は、点灯すべきLED33(点灯色)の組み合わせである推奨点灯色の組み合わせを決定し、ユーザに提案する。演算部561は、複数の点灯色の組み合わせのそれぞれに対応した複数の分光画像に基づき、各組み合せについての分離度を演算する。分離度は、色空間において、抽出したい色と、その色とは区別したい他の色との間の距離である。たとえば、分離度は、ユーザによりあらかじめ登録されたある登録色の分布と他の登録色の分布との間の距離であってもよい。また、分離度は、前景領域における色の分布と背景領域における色の分布との間の距離であってもよい。これらの色情報が複数存在する場合、分離度は、複数の前景色の色情報からなる前景グループと複数の背景色の色情報からなる背景グループとの間のグループ間距離であってもよい。決定部562は、各組合せについての分離度に基づき推奨点灯色の組み合わせを決定する。たとえば、決定部562は、各組合せについての分離度を比較し、最大の分離度が得られた点灯色の組み合わせを推奨点灯色の組み合わせに決定する。また、使用可能な発光素子の数(最大数)がユーザによって制限または指定されることがある。これは、ライン1により搬送される一つのワーク2に対して割り当て可能な検査時間がライン1におけるワーク2の搬送速度などによって制限されるからである。たとえば、4個以下の点灯色を使用するのであれば検査時間の上限値内に検査を完了できるが、5個以上の点灯色を使用すると検査時間の上限値内に検査を完了できないケースがあるだろう。この場合、4個の点灯色が発光素子の上限数(最大点灯可能数M)となる。よって、設定部560は、N個の点灯色からM個以下の点灯色の組み合わせ(点灯パターン)を決定し、各組合せについて分離度を求め、分離度が最大となった組み合わせを推奨点灯色の組み合わせに決定する。上述した閾値受付部518または点灯色指定部517は、最大点灯可能数Mを受け付けるが、さらに分離度の下限値を受け付けてもよい。一般に、分離度が高いほど、検査精度が高くなる。しかし、ユーザやワーク2の特徴に依存して、必要とされる検査精度は異なる。よって、設定部560は、N個の点灯色の組み合わせのうちで、下限値以上となった分離度が得られた点灯パターンを推奨点灯色の組み合わせに決定してもよい。また、設定部560は、M個以下の点灯色の組み合わせのうちで、下限値以上となった分離度が得られた点灯パターンを推奨点灯色の組み合わせに決定してもよい。また、設定部560は、M個以下の点灯色の組み合わせのうちで、分離度が下限値以上となり、かつ、点灯色の数が最も少ない点灯パターンを推奨点灯色の組み合わせに決定してもよい。一般に点灯色の数と検査精度とはトレードオフの関係を有しているため、最大点灯可能数Mや分離度の下限値など、推奨点灯色の組み合わせを決定するために使用される閾値は、ユーザが決定することになろう。なお、検査部531が備える複数の検査ツールはそれぞれ異なる検査領域について検査(計測)を実行することがある。そのため、検査ツールごとに最大の分離度が得られる推奨点灯色の組み合わせが異なることも考えられる。この場合に、設定部560は、ユーザにより選択されたすべての検査ツールについて求められた各分離度がいずれも閾値を超えるように推奨点灯色の組み合わせを決定してもよい。また、ある検査ツールではR、G、Bの三個の点灯色からなる組み合わせの分離度が閾値を超えるが、他の検査ツールではR、IR1の二個の点灯色からなる組み合わせの分離度が閾値を超えることがある。この場合、推奨点灯色の組み合わせはこれらの論理和であるR、G、B、IR1の四個の点灯色からなる組み合わせに決定されてもよい。このように設定部560は、複数の検査ツールそれぞれについて分離度が閾値を超える最小の点灯色数(三個の点灯色、二個の点灯色)と点灯色の種類(R、G、B;R、IR1)とを求め、求められた点灯色の種類の論理和(R、G、B、IR1)を推奨点灯色の組み合わせとして決定してもよい。
【0039】
記憶装置520は、カメラ4によって取得された分光画像のデータである分光画像データ521、MSI処理部511により生成されたグレー画像のデータであるグレー画像データ522や各種の制御パラメータを保持する設定情報523を記憶する。また、記憶装置520は各種の設定データやユーザインタフェースを生成するためのプログラムコードなども記憶している。記憶装置520はグレー画像から生成された検査画像なども記憶して保持していてもよい。
【0040】
図16ないし
図18は、本発明の画像処理装置に係る他の構成例を示す図である。
図16は照明装置3とカメラ4が一体化され、カメラ4に照明装置3を制御するための照明制御基板40が設けられている例を示す図である。この構成では照明装置3とカメラ4が一体に設けられているため、照明装置3とカメラ4を設置する際に、位置合わせをする必要がない。また、照明装置3側には光源群501を制御するための照明制御基板40や記憶装置502は不要となり、これらを有さない汎用的な照明装置3も利用することができる。ユーザはカメラ4に接続されている照明装置3を取り外し、別の種類の照明装置に交換することができる。例えば、本発明におけるマルチスペクトルイメージングに用いる照明装置3に変えて、白色光のみを照射するリング照明など他の種類の照明装置を適宜に選択できる。カメラ4は接続された照明装置3の種類を認識し、設定ユーザインタフェースに反映することが好ましい。これにより、ユーザは接続されている照明装置3に設定が可能な項目に対応したユーザインタフェース上で、照明の設定を行うことができる。認識の方法としては、照明装置3が照明種別情報を記憶しており、カメラ4がその情報を参照する方法などが考えられる。また、画像処理装置5が有する照明制御部512と撮像制御部513を、カメラ4の内部に設ける構成とし、撮像・照明系の制御を画像処理装置5とは独立して実行させる構成としてもよい。
【0041】
図17は画像処理装置5の一部の機能を、カメラ4側に設けた構成例を示している。カメラ4は分光画像データ521、グレー画像データ522、設定情報523を記憶する記憶装置520を備え、カメラ4内部で分光画像データ521からグレー画像データ522を生成する処理をMSI処理部511が実行する。照明装置3はカメラ4の照明制御部512が制御する。検査設定時に、カメラ4は画像処理装置5に各波長で撮像された分光画像データ521と、MSI処理部511により生成されたグレー画像データ522を画像処理装置5に送信する。設定時には、各波長の照明強度や、各波長の分光画像データ521が検査に必要か否かをユーザが確認するために、画像処理装置5はカメラ4から分光画像データ521を取得し、表示部7に表示する。一方、検査運用時には、カメラ4から画像処理装置5への分光画像データ521の送信を行わず、検査対象であるグレー画像データ522のみを画像処理装置5に送信するようにしてもよい。このように、カメラ4に画像処理装置5の一部の機能を負担させることにより、カメラ4と画像処理装置5間の通信負荷が低減され、分散処理により処理が高速化する。
【0042】
図18は画像処理装置5の全ての機能をカメラ4に内蔵した構成例である。ユーザはカメラ4と照明装置3のみを設置するだけで良いため、設置時の手間がかからない。たとえば、カメラ4の大型化が許容され、高度な画像演算処理が不要な場合に、この構成は有利であろう。
【0043】
<マルチスペクトルイメージング>
マルチスペクトルイメージングでは波長(点灯色)の異なる照明光が一つずつ順番にワーク2に照射され、各点灯色ごとの画像が取得される。たとえば、8種類の点灯色の照明光が照射される場合、8個の画像(分光画像)が取得される。なお、四つの照明ブロックが存在する場合、四つの照明ブロックは同時に点灯する。つまり、同一の点灯色の四つのLED33が同時に点灯するため、四つの方向から同一点灯色の照明光がワーク2に照射される。8種類の点灯色は、たとえば、紫外点灯色から近赤外点灯色までの8種類の狭帯域波長の点灯色である。狭帯域波長とは、白色LEDが発光する光の波長(広帯域波長)の幅と比較して狭い波長をいう。たとえば、青色LEDが発光する光の波長幅は、白色LEDが発光する光の波長幅よりもずっと狭いため、青色LEDが発光する光の波長は狭帯域波長である。なお、画像検査の中には8個の分光画像のすべてを必要としない画像検査もありうる。この場合、必要な点灯色の照明光だけがワーク2に照射される。一般に、8個の画像がそのまま画像検査に利用されることは少なく、8個の画像から一個のグレー画像が作成され(カラー濃淡変換)、このグレー画像(カラー濃淡画像)が画像検査に利用される。カラー濃淡変換はカラーグレー変換と呼ばれることもある。たとえば、カラー濃淡画像に対して二値化処理が実行されたり、エッジ検出処理が実行されたり、ブロブ処理が実行されたりして、ワーク2における特徴(例:ピン)の位置や寸法(長さや面積)、色がそれぞれ公差の範囲内に収まっているかが検査される。
【0044】
図6を用いてカラー濃淡変換の一例を説明する。検査対象物であるワーク2のグレー画像を作成するには、良品(モデル)の登録色が必要となる。グレー画像は、登録色の色情報を基準に8個の分光画像を変換することで作成されるからである。
【0045】
まず、設定モードにおいて、良品から取得された8個の分光画像においてユーザが指定した画像領域(指定領域)から登録色の色情報が抽出される。たとえば、良品がインスタント食品(例:ラーメン)であり、ある具材(例:海老)の数を画像検査により計数する場合、ユーザは、良品の画像を表示し、良品の画像おいて当該具材が含まれる矩形の指定領域を指定し、指定領域に含まれる画素から登録色の色情報が抽出される。登録色の色情報は、平均画素行列、分散共分散行列および指定領域に含まれる画素の数を含む。なお、色情報は、いわゆるスポイトツールにより抽出されてもよい。スポイトツールのUIは領域指定部516に実装されてもよい。
【0046】
次に、検査モードにおいて、検査対象物であるワーク2について8個の分光画像が取得される。各分光画像に含まれるすべての画素について登録色に対する距離d(x)が求められる(xは8枚の分光画像の各画素値を要素とした8次元ベクトルである)。さらに、距離d(x)に予め定められたゲインgを乗算して積を求め、必要に応じてオフセットaを加え、各画素がとりうる最大階調Gmaxから積を減算することで得られる差Gが注目画素xのグレー階調となる。これは、G = Gmax − (g・d(x) + a)と表記される。
【0047】
なお、複数の登録色が存在する場合は、各登録色を基準として複数のグレー画像が作成されてもよいし、単一のグレー画像が作成されてもよい。
【0048】
<点灯色選択>
画像検査で必要となる波長(点灯色)はワーク2に依存する。より詳しくは、ワーク2の表面のうちどの特徴部分を検査するかに必要となる点灯色は依存する。したがって、ワーク2の画像において検査対象となる特徴部分がその周囲の部分から適切に分離されるように点灯色が選択されることが望ましい。また、点灯色の数が多ければ多いほど、特徴部分が周囲部分から分離可能な検査画像が得られやすいが、画像検査に割り当て可能な時間はユーザ次第である。また、点灯色の数が多ければ多いほど、画像の取得とその処理に時間がかかる。よって、画像検査時間が、割り当て可能な時間以下となるように、点灯色数の上限が定まることになる。よって、点灯色数の上限を超えないように、ワーク2の画像検査に適した波長の組み合わせが決定される。
【0049】
●ユーザインタフェース
図7、
図8、
図9はUI管理部514が表示部7に表示する、点灯色選択のためのユーザインタフェースを示している。UI700は、ワーク2を照明するために必要となる照明光の波長をユーザが選択することを補助するUIである。とりわけ、
図7ではUI700に推奨される点灯色の組み合わせと、これに対してユーザが点灯色を追加したり削除したりすることでカスタマイズされた設定点灯色とが表示されている。
【0050】
画像表示領域701にはワーク2を撮像して取得された複数の分光画像からMSI処理部511により作成された一つ以上のグレー画像が表示される。
図7によれば、上側にユーザにより点灯色がカスタマイズされたグレー画像が表示され、下側に推奨される点灯色の組み合わせにより生成されたグレー画像が表示されている。上側に表示される画像と下側に表示される画像は逆でもよい。ユーザが点灯色を追加または削除するたびにグレー画像が更新される。
図8によれば別のUI700が示されている。この例では、8つの点灯色のすべてが使用されて取得されたグレー画像と、指定された点灯色数以下の点灯色からなる組み合わせのうちで分離度が上位二位以内である二つのグレー画像が示されている。さらに、ユーザにより点灯色がカスタマイズされて取得されたグレー画像も表示されている。つまり、8枚の分光画像(波長画像)から作成されたグレー画像と、4枚の分光画像から作成されたグレー画像と、5枚の分光画像から作成されたグレー画像とが表示されている。なお、8つの点灯色は照明装置が備えるすべての点灯色である。また、5つの点灯色は設定点灯色を選択するための設定点灯色表示部714により選択された点灯色である。各グレー画像には、使用された点灯色を表示する点灯色表示部702と、演算部561により算出された分離度を表示する分離度表示部705とを有している。IW1はワーク2の一部に付与された検査領域を示している。検査領域704はユーザが抽出したい色(前景色や背景色などの登録色)を含む指定領域と兼用されてもよい。MSI処理部511は、グレー画像に疑似的に着色を施してフォルスカラー画像を作成し、グレー画像に代えてフォルスカラー画像を画像表示領域701に表示してもよい。これは単なる濃淡画像よりも疑似的に色が付いたフォルスカラー画像のほうが抽出したい色が他の色から分離されて抽出されていることをユーザが確認しやすいからである。なお、MSI処理部511は、指定数の点灯色の組み合わせに応じて、8つの分光画像群から直接的にフォルスカラー画像(RGB画像)を作成してもよい。全点灯色数Nが8であり、指定数Mが4であれば、フォルスカラー画像の数は8C4個(つまり、70個)である。
【0051】
図7や
図8に示したプルダウンメニュー711は、ワーク2に照射される照明光の点灯色数の上限値(最大点灯可能数M)のユーザによる選択を受け付けるための点灯色数選択部として機能する。
図9に示したテキストボックス712は、算出された分離度と比較される閾値のユーザによる入力を受け付ける分離度閾値入力部として機能する。推奨される点灯色のパターンを決定する手法としては、点灯色数を基準とする手法と、閾値を基準とする手法が考えられる。前者は、ユーザにより指定された点灯色数以下の点灯色の組み合わせについてそれぞれ評価値(分離度)を求め、最大となる分離度が得られた組み合わせを推奨組み合わせに決定する手法である。後者は、ユーザにより指定された閾値以上となる分離度が得られた点灯色の組み合わせのうちで、点灯色の数が最も少ない組み合わせを推奨組み合わせに決定する手法である。この二つの手法が画像処理装置に搭載されている場合、UI管理部514は、ユーザにいずれかの手法を選択するためのUIを提供してもよい。
【0052】
推奨点灯色表示部713は、分離度に基づき推奨される点灯色であると決定された点灯色の組み合わせを示すチェックボックスである。ただし、推奨点灯色表示部713についてはユーザにより操作不可能とされてもよい。これにより、推奨点灯色の組み合わせが明確になろう。設定部560は、たとえば、指定された点灯色数に基づく点灯色の組み合わせの中で最大の分離度が得られた点灯色の組み合わせを推奨点灯色表示部713に表示してもよい。指定された点灯色数に基づく点灯色の組み合わせの中で最大の分離度が得られた点灯色の組み合わせは決定部562により決定される。決定部562は、演算部561により求められた分離度が最大となった点灯色の組み合わせ(点灯パターン)を推奨点灯色の組み合わせに決定する。UI管理部514は、分離度が最大となった画像、点灯色の組み合わせ、分離度を画像表示領域701に表示する。決定部562は、分離度が最大となった点灯色の組み合わせをUI管理部514に通知することで、UI管理部514は推奨点灯色表示部713に分離度が最大となった点灯色の組み合わせを表示する。
【0053】
また、設定部560は、指定された点灯色数に基づく三つのグレー画像のうちポインタ706によりクリックされたグレー画像の取得に使用された点灯色の組み合わせを設定点灯色表示部714に表示してもよい。設定点灯色表示部714は、たとえば、チェックボックスである。確定ボタン716が操作されると、その時点で設定点灯色表示部714においてチェックを付与されている点灯色の組み合わせがMSI処理部511に設定される。設定点灯色表示部714により表示されている点灯色の組み合わせは、四つの画像のうち右下に表示されているグレー画像を取得するために使用された照明光の点灯色の組み合わせである。なお、設定点灯色表示部714において点灯色の追加や削除が実行されるたびに、設定点灯色表示部714においてチェックを付与されている点灯色により取得された分光画像に基づきグレー画像が更新される。
【0054】
図7では推奨点灯色に基づくグレー画像(カスタマイズ前)と設定点灯色に基づくグレー画像(カスタマイズ後)とが表示されているが、これらは切り替えながら単独で表示されてもよい。
図8ではすべての点灯色に基づくグレー画像に加え、推奨点灯色に基づくグレー画像と設定点灯色に基づくグレー画像が表示されている。なお、複数の設定点灯色表示部714を用意することで、複数の設定点灯色の組み合わせに基づく複数のグレー画像が表示されてもよい。また、複数の推奨点灯色の組み合わせに基づく複数のグレー画像と、複数の設定点灯色の組み合わせに基づく複数のグレー画像とが表示されてもよい。
【0055】
コピーボタン715は、推奨点灯色表示部713に表示されている点灯色の組み合わせを、設定点灯色表示部714に表示される点灯色の組み合わせにコピーするボタンである。確定ボタン716が操作されると、UI管理部514は、設定部560により設定された点灯色の組み合わせ(設定点灯色表示部714に表示される点灯色の組み合わせ)を設定情報523に書き込む。UI管理部514は、キャンセルボタン717が操作されると、点灯色の組み合わせ設定を取り消し、直前の設定に戻す。
【0056】
図10は、ユーザにより設定された分離度閾値を超える分離度を有する点灯色の組み合わせが一つも見つからなかったときにUI管理部514が表示部7に表示するUIを示している。この例で、UI管理部514は、分離度が閾値を超える点灯色の組み合わせが発見されなかったことを示すメッセージを表示部7に表示してもよい。また、UI管理部514は、分離度閾値を下げることを示唆するメッセージを表示部7に表示してもよい。これによりユーザは分離度閾値を低下させる。たとえば、検査精度に余裕があれば分離度閾値が減少される。
【0057】
なお、決定部562は、分離度閾値を超える分離度を有する点灯パターンがゼロである場合に、算出された複数の分離度のうちで分離度が最大となった点灯色の組み合わせを推奨点灯色の組み合わせに決定してもよい。UI管理部514は、分離度閾値を示すテキストボックス712と、算出された最大の分離度を示すテキストボックス(分離度表示部705)とを並べて表示してもよい。これによりユーザは算出された分離度が分離度閾値からどの程度離れていることを確認しやすくなろう。
【0058】
図11は前景領域と背景領域とを設定するためのユーザインタフェースを示している。上述したように、分離度は、前景領域1011の色情報(前景色)と、背景領域1012から抽出され、前景色とは区別されるべき色情報(背景色)との間の距離である。この距離は色空間における色情報間の距離である。一般に、前景領域は、ワーク2の画像のうち検査対象物の特徴を含む領域である。背景領域は、前景色と区別したい背景色を含む領域である。このように前景色と背景色はいずれもユーザによって登録される登録色である。ただし、背景色については、前景色の色情報を用いて画像処理装置が決定してもよい。
【0059】
一般に、色空間における前景色(抽出色)の分布と背景色(区別色)の分布との間の距離が大きくなればなるほど、画像検査精度を向上させる検査画像が得られる。前景領域と背景領域とはそれぞれ一つ以上であればよい。領域設定UI1000は、前景領域数を設定するためのプルダウンメニュー1001と背景領域数を設定するためのプルダウンメニュー1002とを有している。UI管理部514の領域指定部516は、プルダウンメニュー1001により指定された数の前景領域1011の枠と、プルダウンメニュー1002により指定された数の背景領域1012の枠とを画像表示領域701に表示されたワーク2の画像に重畳させて表示する。
【0060】
ここでは、複数の前景領域と複数の背景領域とが指定可能となっているが、いずれも一つずつ指定可能とされてもよい。また、領域指定部516は、いわゆるスポイトにより前景色と背景色の指定を受け付けてもよい。スポイトではある点が指定されるため、領域指定部516は、指定された点の色とその色に類似する色とによって登録色の色情報を決定してもよい。
【0061】
ワーク2の画像は8点灯色のすべてが使用された作成されたフォルスカラー画像(RGB画像)であってもよい。
【0062】
領域指定部516は、ポインタ706の操作に応じて、前景領域を指定する枠の位置とサイズを調整したり、背景領域を指定する枠の位置とサイズを調整したりしてもよい。
【0063】
上述したように領域指定部516は、前景色の色情報に基づき背景色を自動的に登録してもよい。たとえば、領域指定部516は、ワーク2の画像を複数の色クラスタにクラスタリングし、前景色と各色クラスタまでの距離を算出し、算出された距離が閾値以上となった色クラスタを背景色として登録してもよい。クラスタリングにより生成される色クラスタの数は事前にユーザによって指定されるものとする。これによりユーザは背景領域や背景色を指定する手間を省けるようになる。なお、背景領域もユーザに指定させたほうが、抽出色を精度よく取得可能な推奨点灯色の組み合わせが決定されるようになろう。
【0064】
●分離度の概念
図12は分離度の概念を説明する図である。この例ではR、Gの点灯色のうちどちらの点灯色を削減可能かが示されている。ワーク2の画像には、第一前景色F1、第二前景色F2、第一背景色B1、第二背景色B2が設定されている。なお、
図12における円は各登録色の分布(色情報)を示している。この例では説明を簡明化するために、各分布は円形でかつサイズも同じになっている。
【0065】
演算部561は、前景色と背景色とのすべての組み合わせ(この例では4つの組み合わせ)についてそれぞれ分離度を演算する。まず、演算部561は、Rの分光画像とGの分光画像とに基づき、第一前景色F1の色情報と第一背景色B1の色情報との分離度、第一前景色F1の色情報と第二背景色B2の色情報との分離度、第二前景色F2の色情報と第一背景色B1の色情報との分離度、第二前景色F2の色情報と第二背景色B2の色情報との分離度を求める。
図12が示すように、R、Gの点灯色を用いれば、これらの四つの分離度はいずれも十分な値となることが分かる。なお、双方向矢印は分離度の大きさを示している。
【0066】
一方で、Gの点灯色を使用せずにRの点灯色だけを使用すると、四つの分離度のうち三つの分離度は十分な値となるが、四つの分離度のうち最小の分離度が不十分な値となっている。つまり、第一前景色F1の色情報と第一背景色B1の色情報との分離度が小さくなりすぎ、第一前景色F1の色情報と第一背景色B1の色情報とを十分に分離できなくなる。
【0067】
一方で、Rの点灯色を使用せずにGの点灯色だけを使用すると、第一前景色F1の色情報と第一背景色B1の色情報との分離度は四つの分離度のうちで最小の分離度となるものの、第一前景色F1の色情報と第一背景色B1の色情報とが分離可能である。よって、決定部562は、Rの点灯色を使用せず、Gの点灯色を使用する点灯パターンを推奨点灯色の組み合わせに決定する。
【0068】
分離度は、前景色の分布内の平均色と背景色の分布内の平均色との間の距離(色空間内でのユークリッド距離)であってもよいし、フィッシャースコアであってもよい。
【0069】
なお、第一前景色F1の色情報と、第二前景色F2の色情報は第一グループの色情報としてグループ化されてもよい。また、第一背景色B1の色情報と、第二背景色B2の色情報は第二グループの色情報としてグループ化されてもよい。演算部561は第一グループの色情報の分布と第二グループの色情報の分布との間の距離をグループ間距離(グループ間分離度)として演算してもよい。また、第一グループは複数の登録色からなるグループであってもよいし、第二グループは別の複数の登録色からなるグループであってもよい。登録色は事前にワーク2のカラー画像からユーザによって選択されるものとする。
【0070】
●フローチャート
図13は推奨点灯色の組み合わせの決定処理を含む画像検査を示すフローチャートである。なお、S1301およびS1302は色情報の取得フェーズであり、S1303ないしS1307は推奨点灯色の組み合わせを決定するフェーズである。
【0071】
S1303でプロセッサ510(MSI処理部511)は、照明光を切り替えながら分光画像を取得する。ここでは全点灯色について分光画像が取得される。たとえば、MSI処理部511は、N個の点灯色の照明光を所定の順番で個別に設定対象物に照射するよう照明制御部512に指示する。照明制御部512はMSI処理部511からの指示に従って照明制御基板40にN個の点灯色の照明光を所定の順番で個別に設定対象物に照射するよう指示する。照明制御基板40は照明制御部512からの指示に従ってN個のスイッチ43のうち一つをONにすることでN個ある点灯色のうち一つの点灯色を選択し、選択された点灯色の照明光を発光可能なLED33を点灯する。MSI処理部511は、照明制御部512から一つ目の点灯色のLED33が点灯したことを示す信号を受信すると、撮像制御部513に設定対象物の撮像を指示する。撮像制御部513は、カメラ4を制御し、一つ目の点灯色についての分光画像を取得し、取得した分光画像を分光画像データ521として記憶装置520に書き込む。MSI処理部511は、一つ目の点灯色の分光画像の取得が完了したことを示す信号を撮像制御部513から受信すると、照明制御部512を介して照明制御基板40に一つ目の点灯色のLED33を消灯し、次の点灯色のLED33を点灯するよう指示する。照明制御基板40は一つ目の点灯色に対応するスイッチ43をオフに切替え、次の点灯色に対応するスイッチ43をオンに切替えることで、次の点灯色のLED33を点灯する。同様に撮像制御部513は次の点灯色の分光画像を取得する。このような点灯および撮像がN個の点灯色のすべてについて実行され、最終的にN個の分光画像が取得される。
【0072】
S1302でプロセッサ510(UI管理部514)は前景色と背景色との指定を受け付ける。なお、背景色についてはユーザの負担を軽減するために、UI管理部514が前景色に基づき背景色を決定してもよい。
【0073】
S1303でプロセッサ510(UI管理部514)は点灯色数または分離度閾値を受け付ける。たとえば、UI管理部514は
図7や
図8に示したようなUI700を表示部7に表示し、点灯色数を受け付け、点灯色数を設定情報523に保存する。UI管理部514は
図9などに示したようなUI700を表示部7に表示し、分離度閾値を受け付け、分離度閾値を設定情報523に保存する。
【0074】
S1304でプロセッサ510(設定部560)は、各点灯色の組み合わせについて分離度を演算する。設定部560は、全点灯色数とユーザにより指定された点灯色数とに基づき点灯色の組み合わせを決定する。全点灯色数がNであり、指定点灯色数がMであれば、点灯色の組み合わせの数CはN!/(M!(N−M)!)により算出される。"!"は階乗の演算記号である。上述したUVからIR2までの8点灯色から4点灯色が選択される場合、UV、R、IR1、IR2からなる組み合わせなど、合計で70個の組み合わせが設定部560により決定される。決定された組み合わせは設定情報523に保存される。なお、指定点灯色数が上限点灯色数として入力された場合、さらに、M−1個の点灯色の組み合わせから1個の点灯色の組み合わせまで決定されてもよい。M=4であれば、設定部560は、8個の点灯色から3個の点灯色の組み合わせを決定し、8個の点灯色から2個の点灯色の組み合わせを決定し、8個の点灯色から1個の点灯色の組み合わせを決定する。演算部561は、各点灯色の組み合わせに対応する分光画像に対して前景色と背景色との間の分離度を算出する。
【0075】
S1305でプロセッサ510(決定部562)は、算出された分離度に基づき推奨される点灯色の組み合わせを決定する。たとえば、決定部562は、指定点灯色数に基づき決定された組み合わせのうちで分離度が最大となった組み合わせを推奨点灯色の組み合わせとして決定してもよい。また、点灯色数に代えて分離度閾値が指定されることもある。この場合、決定部562は、全点灯色により形成されるすべての点灯色の組み合わせのうちで、分離度が分離度閾値以上でかつ点灯色の数が最も少ない点灯パターンを推奨点灯色の組み合わせに決定してもよい。なお、分離度の演算式はあらかじめ記憶装置520に記憶されているものとする。
【0076】
S1306はオプションである。S1306でUI管理部514は推奨点灯色の組み合わせを表示部に表示するとともに、推奨点灯色の組み合わせに対する点灯色の追加や削除(カスタマイズ)を受け付ける。この場合に、演算部561は、カスタマイズされた点灯色の組み合わせについて分離度を算出し、分離度を表示部に表示する。最終的にユーザによって確定された組み合わせが画像検査に使用される。
【0077】
ところで、ユーザが検査対象物(ライン1により搬送されるワーク2)に対して複数の検査ツールを適用して画像検査を実行するよう指示した場合、演算部561は、各検査ツールごとに分離度を求める。点灯色数が指定されている場合、決定部562は、各検査ツールごとに推奨点灯色の組み合わせを決定し、決定された複数の推奨点灯色の組み合わせの論理和を最終的な推奨点灯色の組み合わせとして決定してもよい。たとえば、傷検査ツールについてはUV、IR1、IR2が推奨点灯色の組み合わせとして決定され、エリア検査ツールについてはUV、B、Gが推奨点灯色の組み合わせとして決定された場合、決定部562は、最終的な推奨点灯色の組み合わせとしてUV、B、G、IR1、IR2を決定する。
【0078】
これにより5種類の分光画像が取得されることになるが、MSI処理部511は、各検査ツール用の検査画像をそれぞれの推奨点灯色の組み合わせに対応した3種類の分光画像から検査画像を作成する。たとえば、MSI処理部511は、傷検査ツールについてはUVの分光画像、IR1の分光画像、IR2の分光画像から傷検査用の検査画像を作成する。なお、検査ツールごとに分離度が異なるのは、分離度を求めるために使用される検査領域の位置や登録色が検査ツールごとに異なるからである。つまり、検査ツールごとに検査対象となる特徴(ワーク2の表面の一部分)が異なっているからである。もちろん、各検査ツールについて5種類の分光画像のすべてが使用されてもよい。
【0079】
一方で、分離度閾値が指定されている場合、決定部562は、いずれの検査ツールの分離度も分離度閾値以上となるような点灯色の組み合わせを推奨点灯色の組み合わせとして決定してもよい。この場合にも分離度が分離度閾値以上となり、かつ、最小の点灯色数となる組み合わせが推奨点灯色の組み合わせとして決定される。
【0080】
S1307でプロセッサ510(判定部540)は、MSI処理部511により作成された検査画像に対して検査部531に画像検査を実行させる。上述したように、MSI処理部511は照明装置3に推奨点灯色の組み合わせにしたがった照明光を検査対象物(ライン1を搬送されるワーク2)に照射させ、カメラ4にワーク2の分光画像を取得させる。さらに、MSI処理部511は推奨点灯色の組み合わせを使用して取得された分光画像を記憶装置520から読み出して検査画像(グレー画像やグレー画像から作成された二値化画像など)を作成し、記憶装置520に記憶させる。検査部531は、記憶装置520から検査画像を読み出し、ユーザにより指定された検査ツールを用いて画像検査を実行する。傷検査ツールであれば、傷の面積が算出される。判定部540は、傷の面積が公差(閾値)以内であれば、検査対象物を合格品と判定する。また、判定部540は、傷の面積が公差(閾値)を超えていれば、検査対象物を不合格品と判定する。
【0081】
<その他>
●検査ツールの設定UI
図14は検査ツールのパラメータを設定するための設定UI1900を示している。ユーザにより設定モードが選択されると、UI管理部514は表示部7に設定UI1900を表示する。設定タブ1920はエリア検査ツールに関するパラメータを設定するためのUIである。設定タブ1930は傷検査ツールに関するパラメータを設定するためのUIである。
図14においては設定タブ1920がポインタ706により選択されている。画像種類設定部1911は、画像表示領域701に表示される画像を選択するためのプルダウメニューである。プルダウメニューには、ワーク2を撮像することで生成されたグレー画像やRGB画像などが登録されている。
図14においてワーク2は文字や模様を印刷されたカード(会員カードなど)である。UI管理部514の画像選択部515は、画像種類設定部1911により選択された画像を記憶装置520から読み出し、画像表示領域701に表示する。編集ボタン1912はサーチ部532によるパターンサーチの対象となる特徴fを含む領域であるパターン領域PWのサイズと位置を編集するためのボタンである。パターン領域PWにより囲まれた特徴fは登録パターンとして記憶装置520に記憶される。編集ボタン1913は特徴fをサーチする範囲(サーチ領域SW)のサイズと位置を編集するためのボタンである。領域指定部516はユーザ操作に応じてパターン領域PWやサーチ領域SWのサイズと位置を調整し、調整結果を設定情報523に保存する。複数のワーク2について画像検査を実行する場合、カメラ4により取得された複数の画像においてそれぞれのワーク2の位置と角度は一定ではない。ただし、当該画像内のある一定の領域内に特徴fが収まっていることが多い。そのため、サーチ部532は、サーチ領域SW内で、登録パターン(特徴f)をサーチすることで、登録パターンの位置と角度を求める。この位置と角度は検査領域IWの位置と角度を補正(位置補正)するために利用される。編集ボタン1914は検査領域IWのサイズと位置を編集するためのボタンである。この例ではカードに印刷された模様を囲むように検査領域IWが設定されている。これにより模様の面積が公差の範囲内かどうかが検査される。領域指定部516はユーザ操作に応じて検査領域IWのサイズと位置を調整し、調整結果を設定情報523に保存する。検査部531は、検査領域IWにおける模様の面積を算出する。公差入力部1915は判定部540による模様の面積の判定基準となる公差(閾値)の入力を受け付けるテキストボックスである。確定ボタン716は、検査ツールに関する設定を確定するためのボタンである。キャンセルボタン717は今回の設定を取り消し、直前の設定やデフォルト設定に戻すためのボタンである。点灯色選択の編集ボタン1916は、点灯色の推奨点灯色の組み合わせを編集するためのボタンである。編集ボタン1917は、前景領域と背景領域の編集ボタンである。この例では、模様の一部に前景領域RF1が設定されている。また、背景領域RB1は、カードの下地の部分に設定されている。さらに、背景領域RB2がカードの文字に設定されている。領域指定部516はユーザ操作に応じて前景領域RF1のサイズと位置を調整するとともに、背景領域RB1,RB2のサイズと位置を調整し、調整結果を設定情報523に保存する。
【0082】
図15は推奨点灯色の組み合わせをカスタマイズするためのUI700の他の例を示している。チェックボックス1501は、カスタマイズ前の点灯色の組み合わせを示すオブジェクトである。カスタマイズ前の点灯色の組み合わせは、たとえば、決定部562が決定した推奨点灯色の組み合わせ、または、その時点で画像処理装置に設定されている点特色の組み合わせを示す。なお、チェックボックス1501のチェックは外すことができない。
【0083】
チェックボックス1502は、カスタマイズ後の点灯色の組み合わせを示すオブジェクトである。つまり、チェックボックス1502は、ユーザが最終的に指定する点灯色を示すオブジェクトである。なお、このUI700が表示された当初は、チェックボックス1502は推奨点灯色の組み合わせを示している。
【0084】
この例では、カスタマイズ前の点灯色の組み合わせである推奨点灯色の組み合わせはOR,R,IR1,IR2である。画像表示領域701には二つの画像が含まれており、上の画像はカスタマイズ前の点灯色の組み合わせに対応した分光画像から生成されたグレー画像が表示されている。
【0085】
図15が示すように、ユーザは、カスタマイズ後の点灯色の組み合わせを示すチェックボックス1502において、ORのチェックボックスのチェックを外すことで、ORの点灯色を削除する。
【0086】
再計算ボタン1503は、演算部561にカスタマイズ後の点灯色の組み合わせに対応した分光画像に基づき演算部561に分離度を再計算させるボタンである。つまり、再計算ボタン1503が押されると、UI管理部514は演算部561に指定点灯色(R,IR1,IR2)に対応した分光画像に基づき分離度を再計算するよう指示する。また、UI管理部514はMSI処理部511に指定点灯色(R,IR1,IR2)に対応した分光画像からグレー画像を作成させ、画像表示領域701の下側の領域にカスタマイズ後の点灯色の組み合わせに対応したグレー画像を表示する。
【0087】
ユーザは推奨点灯色の組み合わせに対して点灯色を追加してもよい。また、ユーザは推奨点灯色の組み合わせに含まれるいずれかの点灯色を他の点灯色に入れ替えてもよい。UI管理部514は点灯色が変更されて再計算ボタン1503が押されるたびに、MSI処理部511にグレー画像を更新させ、演算部561に分離度を更新させる。これによりユーザはグレー画像を確認しながら点灯色の種類と数を調整することができるようになる。
【0088】
なお、MSI処理部511は前景領域の色情報に基づき色抽出することで前景画像を作成し、背景領域の色情報に基づき色抽出することで背景画像を作成し、前景画像と背景画像との差分画像を検査画像として作成してもよい。
【0089】
<まとめ>
以上で説明したように、照明装置3は、互いに異なる点灯色の照明光を発生する複数の発光素子(光源)を有し、各点灯色の照明光を個別に対象物に照射する照明部の一例である。カメラ4は各点灯色の照明光ごとに対象物からの反射光を受光して対象物の画像(分光画像)を生成する撮像部の一例である。表示部7は対象物(設定対象物や検査対象物)の画像を表示する表示部の一例である。とりわけ、表示部7は設定対象物についての複数の分光画像に基づく設定対象物の画像を表示する表示部の一例である。プロセッサ510(MSI処理部511、照明制御部512および撮像制御部513)は照明部を制御することで各点灯色の照明光を所定の順番で個別に設定対象物に照射させるとともに、撮像部を制御することで設定対象物について複数の設定用画像を生成させる制御部の一例である。
【0090】
図11などに示したように、UI管理部514は、表示部に表示された設定対象物の画像において前景領域および背景領域のうち少なくとも一方の指定を受け付ける領域受付部の一例である。
【0091】
図11に示したように、プロセッサ510は、前景領域における複数の画素の色情報に基づいて前景色の色情報を特定し、背景領域における複数の画素の色情報に基づいて背景色の色情報を特定する特定部として機能する。
【0092】
プロセッサ510(設定部560)は、複数の点灯色のうち検査対象物を照明するために推奨される点灯色の組み合わせのそれぞれについて、前景色の色情報と背景色の色情報との間の分離度を算出し、当該分離度に基づいて推奨される点灯色の組み合わせを設定する設定部の一例である。
【0093】
検査部531は、設定部により設定された推奨点灯色の組み合わせにしたがった点灯色の照明光により照明された検査対象物について生成された複数の検査画像において検査領域内を検査する検査部の一例である。
【0094】
とりわけ、本実施形態によれば画像検査装置8が推奨される点灯色の組み合わせを決定してくれるため、マルチスペクトルイメージングによる画像検査で必要となる点灯色の選択に関するユーザの負担が軽減される。なお、設定対象物は推奨点灯色の組み合わせを決定するために使用されるワーク2であり、検査対象物は画像検査の対象となるワーク2である。設定対象物と検査対象物は同一であってもよいが、異なっていてもよい。設定対象物は検査合格品やリファレンス品などであってもよい。
【0095】
図5などに関連して説明したように、設定部560は、それぞれ点灯色の数が異なる複数の点灯色の組み合わせのそれぞれについて前景色の色情報と背景色の色情報との間の分離度を演算する演算部561と、演算部561により演算された各組み合わせの分離度に基づき推奨される点灯色の組み合わせを決定する決定部562とを有していてもよい。このように分離度という指標または評価値に基づいて推奨点灯色の組み合わせが決定されてもよい。
【0096】
点灯色指定部517やプルダウンメニュー711などは、推奨点灯色の組み合わせを構成する点灯色の数の指定を受け付ける点灯色数受付部の一例である。演算部561は、点灯色数受付部により受け付けられた点灯色の数に応じた複数の点灯色の組み合わせのそれぞれについて分離度を演算する。
【0097】
決定部562は、点灯色数受付部により受け付けられた数以下の点灯色からなる複数の点灯色の組み合わせのうちで、最大の分離度が得られる組み合わせを推奨される点灯色の組み合わせとして決定してもよい。これによりユーザが希望する点灯色の数に応じた組み合わせのうちで画像の検査精度が最高となりうる組み合わせが決定されよう。
【0098】
図9、
図10に示したように、テキストボックス712は分離度に関する閾値(例:分離度閾値)の指定を受け付ける閾値受付部の一例である。決定部562は、複数の点灯色の組み合わせのうちで、分離度閾値を超える分離度が得られ、かつ、点灯色の数が最も少ない点灯色の組み合わせを、推奨される点灯色の組み合わせとして決定してもよい。これにより、ユーザにより設定された分離度が得られ、かつ、点灯する発光素子の数が最も少ない点灯パターンが画像検査に使用されるため、画像検査時間を短くしつつ、ユーザが求める検査精度も達成することができるだろう。
【0099】
決定部562は、複数の点灯パターンのうちで、閾値を超える分離度が得られる点灯色の組み合わせが存在しなければ、複数の点灯色の組み合わせのうちで分離度が最大となった点灯色の組み合わせを選択し、これを推奨点灯色の組み合わせとして決定してもよい。これにより、ユーザにより指定された分離度に最も近い分離度を達成することができる点灯色の組み合わせが画像検査に使用されるようになる。
【0100】
表示部7やUI管理部514は、推奨点灯色の組み合わせに対応した分離度を表示してもよい。これによりユーザは推奨点灯色の組み合わせによりどの程度の分離度が達成されるかを確認しやすくなる。UI管理部514は、ユーザが比較しやすいように、全点灯色についての分離度や、他の点灯色の組み合わせについての分離度を表示部7に表示してもよい。
【0101】
図11に示したように、UI管理部514の領域指定部516は、表示部に表示された設定対象物の画像において前景領域と背景領域との両方について指定を受け付けてもよい。
【0102】
また、分離度は、複数の前景領域から登録された複数の前景色からなる前景グループの色情報の分布と、複数の背景領域から登録された複数の背景色からなる背景グループの色情報の分布との間のグループ間距離であってもよい。
【0103】
図15に関連して説明したように、UI管理部514は、設定対象物または検査対象物の画像が表示されているときに、推奨点灯色の組み合わせに対する点灯色の追加または削除を受け付ける追加削除受付部として機能してもよい。推奨点灯色の組み合わせに含まれる点灯色の種類が変更されると、UI管理部514およびMSI処理部511は、変更された推奨点灯色の組み合わせに対応した分光画像を記憶装置520から読み出して表示部に表示されている画像を更新してもよい。よって、表示部7は、対象物の画像を表示しているときに、推奨点灯色の組み合わせに対して点灯色が追加または削除されると、点灯色の追加と削除を反映した画像に更新して表示する。これによりユーザは対象物の画像を確認しながら、点灯色の追加や削除を実行できるようになろう。
【0104】
上述したように、分離度は、前景領域の色情報(前景色)と背景領域の色情報(背景色)との間の距離であってもよい。演算部561は、点灯色の組み合わせごとの分離度を算出する。たとえば、演算部561は、複数の前景色の一つと複数の背景色の一つとから構成される複数のペアのそれぞれについて分離度を演算し、演算により得られた複数のペアについての分離度のうちで最小の分離度を各点灯パターンごとの分離度に決定してもよい。ペアは、複数の前景色と複数の背景色とのすべての組み合わせについて形成される。8個の前景領域と8個の背景領域とからは64個のペアが形成される。
【0105】
図14などに関連して説明したように、検査部531は、それぞれ異なる画像検査を実行する複数の検査ツールを有していてもよい。なお、UI管理部514は、各検査ツールごとに登録色と背景色との登録を受け付ける。各検査ツールごとに登録色と背景色との組み合わせが異なるため、分離度も検査ツールごとに異なる。設定部560は、複数の検査ツールのすべてについて分離度を求め、各分離度のいずれもが閾値を超えるように推奨点灯色の組み合わせを決定してもよい。あるいは、設定部560は、複数の検査ツールそれぞれについて分離度が閾値を超える最小の点灯色数と点灯色の種類とを求め、求められた点灯色の種類の論理和を推奨点灯色の組み合わせとして決定してもよい。これによりすべての検査ツールについて検査精度を維持しつつ、点灯色の数を削減することが可能となろう。
【0106】
図19、
図20は点灯色を設定するためのユーザインタフェースを示している。すでに説明した要素には同一の参照符号が付与されている。この例では二つの色グループ(例:前景、背景)の分離度が大きくなるように、ユーザにより指定された点灯色数の範囲内で適切な点灯色の組み合わせが提示される。ユーザはポインタ706を操作し、複数あるグループのうち第一グループ1900aの追加ボタンを押すと、UI管理部514はスポイトなどの色抽出ツールを起動する。UI管理部514はポインタ706の操作により指定された第一領域1901aの色を、第一グループ1900aに所属させる。同様に、第一グループ1900bの追加ボタンが押されると、UI管理部514はポインタ706の操作により指定された第二領域1901bの色を、第一グループ1900bに所属させる。演算部561は、プルダウンメニュー711などの点灯色数選択部により選択された点灯色数(例:2)にしたがって分離度を求める。決定部562は、最大の分離度となった推奨される点灯色の組み合わせ(例:R、AM)を決定する。UI管理部514は推奨点灯色表示部713に推奨される点灯色の組み合わせを表示する。前景と背景に関して説明したように、MSI処理部511は、推奨点灯色にしたがって第一グループの画像と第二グループの画像を作成し、さらにこれらの差分画像を求め、色抽出結果を示す結果表示部1903に表示する。
図19が示す事例では、点灯色数が少なすぎるために、識別したい二つの色の領域が十分に分離されていない。
【0107】
図20では、ユーザが点灯色数を4に増加させた事例を示している。点灯色数が変更されると、演算部561は、点灯色数にしたがった点灯色の組み合わせについてそれぞれ分離度を求める。決定部562は、最大の分離度となった推奨される点灯色の組み合わせ(例:R、AM、B、FR)を決定する。さらに、UI管理部514は推奨点灯色表示部713に推奨される点灯色の組み合わせを表示する。MSI処理部511は、推奨点灯色にしたがって第一グループの画像と第二グループの画像を作成し、さらにこれらの差分画像を求め、色抽出結果を示す結果表示部1903に表示する。
図20が示す事例では、点灯色数が十分であるために、識別したい二つの色の領域が十分に分離されている。このようにユーザは色抽出結果を見ながら、点灯色数を決定できる。
【0108】
UI管理部514は演算部561などにより、一つの検査画像を作成するために必要となる処理時間である取込推定時間を算出して表示してもよい。一般に、一つのワークに割り当て可能な検査時間は有限である。したがって、ユーザは取込推定時間が検査時間内に収まるように点灯色数を決定することが可能となろう。