以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
図1は、本発明の実施形態に係る産業用カメラ1を備えた画像検査システム2の使用状態を示す全体図である。図1に示す画像検査システム2は、2台の産業用カメラ1と、コントロール用パーソナルコンピュータ(以下、コントローラという)3とを備えている。産業用カメラ1の台数は、2台に限定されるものではなく、1台であってもよいし、3台以上であってもよい。産業用カメラ1は、詳細は後述するが、図2~図5等に示すような形状を有しており、図6に示すような内部構造を有している。この産業用カメラ1は、検査対象物であるワークWを撮像して得られた検査対象画像を生成する。このような検査対象画像を生成する産業用カメラ1を含む画像検査システム2を画像処理装置と呼ぶこともできる。
図示しないが、例えばプログラマブルロジックコントローラや、ワークWの到着を検出するセンサ等から出力されるトリガ信号を産業用カメラ1が受信可能になっている。トリガ信号を受信した産業用カメラ1は撮像処理を実行して検査対象画像を生成する。また、産業用カメラ1は、トリガ信号を外部から受信することなく、内部で繰り返し撮像処理を実行して検査対象画像を生成してもよい。図示しないが、画像検査システム2は、ワークWを照明する照明部を備えていてもよく、照明部は産業用カメラ1の撮像処理と同期してワークWを照明するように制御される。
本例では、図1に示すように、産業用カメラ1が使用される現場として、複数のワークWがベルトコンベアB等の搬送装置によって順次搬送される現場である場合について説明するが、静止したワークWを検査する現場であってもよい。産業用カメラ1は、カメラ取付部材4に取り付けられており、所定の位置に所定の姿勢で設置される。
コントローラ3は、産業用カメラ1の各種設定等を行うものであり、例えばデスクトップ型パーソナルコンピュータ、ノート型パーソナルコンピュータ等で構成できる他、画像検査専用の演算処理装置で構成することもでき、その形態は特に限定されない。コントローラ3は、本体部5と、記憶部6と、キーボード7と、マウス8と、モニタ9とを備えている。本体部5は、ケーブル10を介して産業用カメラ1と通信可能に接続されている。本体部5には、中央演算処理装置、ROM、RAM等で構成された制御部5aが設けられている。また、記憶部6は、ハードディスクドライブやソリッドステートドライブ等で構成されており、制御部5aを動作させるためのプログラムや、産業用カメラ1の設定情報、各種画像等が記憶される。記憶部6は、その一部が産業用カメラ1に設けられていてもよく、この場合、産業用カメラ1の設定情報、各種画像等を産業用カメラ1で保持することができる。
キーボード7及びマウス8は、コントローラ3を操作するための操作部であり、キーボード7及びマウス8の操作状態は制御部5aによって検出される。操作部は、キーボード7及びマウス8に限定されるものではなく、いわゆるタッチパネル式の操作部であってもよい。モニタ9は、例えば液晶ディスプレイ装置等で構成されており、制御部5aによって制御されて産業用カメラ1を設定するための各種ユーザインタフェース、各種画像等の表示が可能になっている。
(産業用カメラの構成)
図6に示すように、産業用カメラ1は、レンズユニット20と、センサ基板30と、メイン基板40と、筐体50と、記憶部39とを有している。記憶部39には、産業用カメラ1の設定情報、各種画像等が記憶される。
筐体50は、例えばアルミニウム合金等の高剛性な部材で構成されている。尚、説明の便宜上、図2~図5に示すように上下方向、左右方向及び前後方向を定義するが、これは使用時の姿勢を限定するものではなく、どのような姿勢であっても産業用カメラ1を使用できる。
図7に示すように、産業用カメラ1には加速度センサ32が取り付けられている。加速度センサ32は、産業用カメラ1の姿勢に関する情報を取得するためのセンサであり、例えば鉛直方向に対する傾きや水平方向に対する傾き等の計測が可能である。具体的には、加速度センサ32を用いることで、ピッチ、チルト、ロール等の各角度を基準からの差に基づいて算出し、その算出結果から産業用カメラ1の姿勢に関する情報が取得される。
筐体50は、上側部分51と、下側部分52とを有している。上側部分51は、下側部分52に比べて前後方向に長く形成されている。下側部分52は、上側部分51の後側から下方へ突出するように形成されている。図2や図3に示すように、上側部分51の前面部には受光窓51aが形成されている。また、図6に示すように、上側部分51には、レンズユニット20とセンサ基板30が収容され、下側部分52には、メイン基板40が収容されている。つまり、筐体50には、後述するイメージセンサ31、プロセッサ41、出力部42が内蔵されている。
レンズユニット20は、電動で光学ズームが可能なズーム光学系を備えたズームレンズであり、所定の範囲内であれば、光学ズーム倍率を任意の倍率に切り替えることができる。レンズユニット20は、筐体50に固定され、当該筐体50と一体化されている。
すなわち、レンズユニット20の光軸は筐体50の前後方向と一致している。レンズユニット20は、第1レンズ群21、第2レンズ群22、第3レンズ群23、第4レンズ群24、第5レンズ群25、及び、第1~第5レンズ群21~25を保持する鏡筒26を有している。第1~第5レンズ群21~25は、受光窓51aから入射した光を集光する集光レンズを構成している。また、第1~第5レンズ群21~25の各レンズ群を構成するレンズの枚数は特に限定されるものではなく、何枚であってもよいし、レンズ群の数についても4つ以下であってもよいし、6つ以上であってもよい。また、レンズユニット20は、手動で光学ズームが可能なズーム光学系であってもよい。
第1レンズ群21は、筐体50の前面部に配置された固定レンズ群であり、ワークWからの反射光を受光する。第1レンズ群21が受光窓51aから筐体50の外部に臨んでいる。第2レンズ群22は、第1レンズ群21の後方に配置されたズーム用可動レンズ群であり、第1レンズ群21から出射した光を受光する。第3レンズ群23は、第2レンズ群22の後方に配置された固定レンズ群であり、第2レンズ群22から出射した光を受光する。第4レンズ群24は、第3レンズ群23の後方に配置されたフォーカス用可動レンズ群であり、第3レンズ群23から出射した光を受光する。第5レンズ群25は、第4レンズ群24の後方に配置された固定レンズ群であり、第4レンズ群24から出射した光を受光する。
鏡筒26には、ズーム用ボールねじ56aと、ズーム用ガイドシャフト56bと、ズーム用ボールねじ56aを正逆方向に回転させるズーム用モータ56cとが設けられている。第2レンズ群22はズーム用ボールねじ56a及びズーム用ガイドシャフト56bに支持されており、ズーム用モータ56cによってズーム用ボールねじ56aが回転すると、第2レンズ群22が光軸方向に移動し、これにより、所望のズーム倍率が得られるようになっている。ズーム用ボールねじ56a、ズーム用ガイドシャフト56b及びズーム用モータ56cは、第2レンズ群22を光軸方向に駆動し、光学倍率を調整するズーム用レンズ駆動機構である。
また、鏡筒26には、フォーカス用ボールねじ56dと、フォーカス用ガイドシャフト56eと、フォーカス用ボールねじ56dを正逆方向に回転させるフォーカス用モータ56fとが設けられている。第4レンズ群24はフォーカス用ボールねじ56d及びフォーカス用ガイドシャフト56eに支持されており、フォーカス用モータ56fによってフォーカス用ボールねじ56dが回転すると、第4レンズ群24が光軸方向に移動し、これにより、フォーカス調整が行われるようになっている。フォーカス用ボールねじ56d、フォーカス用ガイドシャフト56e及びフォーカス用モータ56fは、第4レンズ群24を光軸方向に駆動し、焦点位置を調整するズーム用レンズ駆動機構である。
産業用カメラ1は、ワークWに向けて位置合わせ用の光を照射するエイマー29を備えている。エイマー29は、例えば発光ダイオード等の光源を備えており、プロセッサ41によって制御される。例えば産業用カメラ1を現場で設置する際に、画像検査システム2が設定モードにされ、かつ、エイマー29がONとなるように指示されると、プロセッサ41はエイマー29を点灯させ、エイマー29がワークWに位置合わせ用の光を照射する一方、運用時には、エイマー29を消灯させる。
エイマー29は、例えばポインタ等で構成することでき、この場合、点状の光を位置合わせ用の光として照射する。また、位置合わせ用の光は、点状以外の形状であってもよく、例えば線状の光、環状の光、これらを任意に組み合わせた形状の光であってもよい。位置合わせ用の光の色は、自然光以外の色、例えば赤、緑、青等を挙げることができるが、これらに限られるものではなく、自然光との差が肉眼で判別可能であればよい。
図7に示すように、メイン基板40には、ズーム制御部40a、AF制御部40b及びインタフェース部40cが設けられている。インタフェース部40cは、例えばズーム指示等を外部から受け付ける部分であり、インタフェース部40cが光学ズームのズーム指示を受け付けた場合、ズーム制御部40aは、ズーム用モータ56cを制御し、インタフェース部40cで受け付けたズーム倍率となるように、第2レンズ群22を光軸方向に移動させる。
AF制御部40bは、従来から周知のコントラスト方式や、位相差方式のオートフォーカス制御を実行する部分である。AF制御部40bがフォーカス用モータ56fを制御して焦点位置がワークWに合うように、第4レンズ群24を光軸方向に移動させる。
産業用カメラ1は、検査対象物までの距離である設置距離を測定する測距部43を備えている。設置距離とは、産業用カメラ1からワークWまでの距離である。測距部43は、例えばTOF(Time Of Flight)センサであってもよいし、産業用カメラ1が有するAF制御部40bで取得された合焦時の情報に基づいて設置距離を測定するように構成されていてもよいし、ユーザがキーボード7やマウス8により入力した値に基づいて設置距離を得るように構成されていてもよい。
また、産業用カメラ1は、本体表示部49を備えている。本体表示部49は、例えば液晶パネルや有機ELパネル等のように、数字や記号、図形等を表示可能な表示デバイスで構成されている。本体表示部49は、プロセッサ41により制御され、測距部43により測定された距離(設置距離)を表示する。本例では、図2に示すように、筐体50の上面に本体表示部49が設けられている。本体表示部49は側面、前面、背面、下面等に設けてもよい。
図6に示すように、センサ基板30は、第5レンズ群25の後方に配置されている。センサ基板30には、撮像部としてのイメージセンサ31が実装されている。図7に示すように、イメージセンサ31は、集光レンズにより集光された光を受光する光電変換部31aと、光電変換部31aにより取得された撮像画像から検査対象画像を生成するロジック部31bと、カラーフィルタ31c(図6に示す)を有しており、検査対象物を撮像して得られたカラー検査対象画像の生成が可能になっている。光電変換部31aとカラーフィルタ31cとにより、各色が所定の配列パターンで形成されたカラー撮像画像の生成が可能になる。また、光電変換部31aによりモノクロ撮像画像の生成も可能である。以下の説明は、モノクロ撮像画像とカラー撮像画像の両方に適用可能である。
光電変換部31aは、検査対象画像よりも画素数が大きな撮像画像を生成することが可能になっている。また、ロジック部31bは、光電変換部31aと同一チップに実装されており、画像生成部を構成する部分である。具体的には、光電変換部31aは、CMOS型撮像素子であり、複数のウエハの積み重ねで構成され、当該ウエハの一部によりロジック部31bが構成されている。ウエハの一部には、メモリ等が含まれていてもよい。
また、光電変換部31aは、グローバルシャッタ方式またはローリングシャッタ方式のCMOS型撮像素子である。グローバルシャッタ方式の場合は、移動体に対しても歪みの無い画像を撮像することができる。ローリングシャッタ方式の場合は、グローバルシャッタ方式の場合の半分程度の画素ピッチで高画素化を実現することができるため、レンズユニット20の各レンズサイズを小型化することができ、ひいては筐体50の小型化が可能になり、設置時の自由度が向上する。光電変換部31aの画素群により、イメージセンサ31の視野範囲が形成されている。イメージセンサ31の視野範囲を光電変換部31aの視野範囲ともいう。
ロジック部31bは、光電変換部31aの画素群(イメージセンサ31の視野範囲)の全部または一部の領域である出力領域に対応する撮像画像に対して、ダウンスケーリングを実行することによって、当該撮像画像よりも小さな画素数の検査対象画像を生成し、当該検査対象画像を出力する部分である。ここでダウンスケーリングとは、対象となる画像の画素分解能を下げる処理のことをいう。
ダウンスケーリングの概念について図8に基づいて説明する。図8は、ワークWを産業用カメラ1で撮像する場合を模式的に示している。例えば光電変換部31aの画素数が20MP(メガピクセル)であったとする(図面においては、単に20M等と表記する)。図8の左側に示すように、光学ズームすることで、通常視野よりも狭い視野になり、注目領域(ROI)は光学ズーム後の視野よりも更に狭い領域になる。図8の右側に示すように、画素数20MPで撮像した撮像画像A1から注目領域を切り出した場合、画素分解能はそのままで例えば画素数が5MPの注目領域A2となる。光学ズーム後の撮像画像A3から注目領域を切り出した場合も同様に画素分解能はそのままで画素数が5MPの注目領域A4となる。
撮像画像A1からダウンスケーリングする際、スケーリング倍率(ダウンスケーリング倍率ともいう)は任意に設定可能である。スケーリング倍率は、撮像画素数を出力画素数で除して求めることができ、例えば20MPで撮像した画像と同じ視野の画像を10MPで出力する場合には、スケーリング倍率が2倍となる。
ダウンスケーリングは、画像の縦横比が一定のままで行うこともできるし、画像の縦横比を変化させて行うこともできる。画像の縦横比が一定のままの場合、上述したように、例えば20MPで撮像した画像と同じ視野の画像を10MPで出力する場合には、スケーリング倍率が2倍となる。一方、画像の縦横比を変化させる場合、例えば5000×4000の20MPの画素数で撮像した画像を同じ視野のまま2500×2000の5MPの画素数で出力すると、スケーリング倍率は4倍となる。また、3200×4000の注目領域を2000×2500にダウンスケーリングする場合、スケーリング倍率は2.56倍となる。
画像の縦横比が一定のままでスケーリング倍率を例えば4倍とした場合には、画素数が5MPのワーク全体画像A5が得られることになる。画像A5に対して光学ズームとダウンスケーリングを併用することで、画像A5よりも画素分解能の高い注目領域A4が得られる。また、光学ズーム後の撮像画像A3からダウンスケーリングすることで、画像A3よりも画素分解能の低いワーク画像A6が得られる。
図9は、具体的なワークWを撮像した画像に基づいてダウンスケーリングを説明するための図である。光電変換部31aの画素群の全部、すなわち撮像部の視野範囲の全部の領域である出力領域に対応する撮像画像を第1撮像画像B1とする。ロジック部31bは、第1撮像画像B1に対し、任意の第1のスケーリング倍率でダウンスケーリングし、第1撮像画像B1の画素数(例:20MP)よりも小さな第1画素数(例:1.6MP)の検査対象画像B2を生成する。
インタフェース部40cは、光電変換部31a、すなわち撮像部の視野範囲において検査対象画像として出力する領域である出力領域の指定を受け付けることができる。この出力領域は、例えば図8を用いて説明した注目領域に対応する領域であってもよい。インタフェース部40cは、出力領域の位置、大きさ、及び形状の少なくとも1つを変更する指示を受け付けることもできる。
例えば、インタフェース部40cは、光電変換部31aの出力領域を相対的に小さな領域に変更する第1ズーム指示をユーザから受け付け可能に構成されている。具体的には、第1ズーム指示により、出力領域が、光電変換部31aの画素群の一部、すなわち撮像部の視野範囲の一部の領域へと変更される。第2撮像画像B1’は、第1ズーム指示により変更された後の出力領域に対応する撮像画像である。第2撮像画像B1’は、第1撮像画像B1と異なるタイミングで撮像されており、第1撮像画像B1とは独立している。ロジック部31bは、第2撮像画像B1’に対し、第2のスケーリング倍率でダウンスケーリングし、第2撮像画像B1’の画素数(例:5MP)よりも小さな第1画素数(例:1.6MP)の検査対象画像B3を生成する。また、第2撮像画像B1’は、第1撮像画像B1に基づいて生成されたものであってもよく、例えば、第1撮像画像B1の一部を切り取ることで生成してもよい。また、インタフェース部40cは、第1ズーム倍率を整数だけでなく、小数点以下の精度で調整する指示を受け付け可能に構成されている。
図7に示すように、メイン基板40には、各種演算を実行するとともに、イメージセンサ31を制御するプロセッサ41が設けられている。プロセッサ41は、演算部41aを有しており、演算部41aで演算された結果に基づいてプロセッサ41がイメージセンサ31のロジック部31bを制御し、所望の検査対象画像をロジック部31bに生成させる。
演算部41aは、光電変換部31aの視野範囲内における変更後の出力領域に対応する第2撮像画像B1’を、上記第1画素数とするのに必要な第2のスケーリング倍率を算出する。演算部41aは、算出した第2のスケーリング倍率をロジック部31bに出力する。ロジック部31bは、第2撮像画像B1’を演算部41aで算出された第2のスケーリング倍率でダウンスケーリングすることにより、第1画素数の検査対象画像B3を生成する。第1画素数の検査対象画像B3は、光電変換部31aの出力領域に対応する第1撮像画像B1よりも低分解能であるが、必要な検査精度を確保できるだけの分解能は有しており、検査精度の上で問題は生じない。
演算部41aは、インタフェース部40cにより受け付けた第1ズーム倍率が高ければ高いほど、第2のスケーリング倍率を小さくするように演算する。ロジック部31bは、演算部41aで演算された第2のスケーリング倍率が小さくなればなるほど、第2撮像画像B1’に対するダウンスケーリング量を少なくする。これにより、ロジック部31bは高い画素分解能の検査対象画像を生成する。
演算部41aは、インタフェース部40cにより受け付けた第1ズーム倍率に基づいて、第1画素数の検査対象画像B3の1画素が、第2撮像画像B1’の何画素に相当するかの比率を計算する。この比率を利用して、演算部41aは、第2のスケーリング倍率を算出する。
インタフェース部40cが第1ズーム倍率を小数点以下の精度で調整指示を受け付けた場合には、演算部41aは、小数点以下の精度で調整指示を受け付けたズーム倍率に基づいて、検査対象画像B3の1画素が、第2撮像画像B1’の何画素に相当するかの比率を小数点以下まで計算する。これにより、演算部41aは第2のスケーリング倍率を小数点以下の精度で算出する。ロジック部31bは、小数点以下の精度で算出された第2のスケーリング倍率に基づいて検査対象画像を生成する。
図10は、任意の位置のズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、光電変換部31aの出力領域を相対的に小さな領域に変更する第1ズーム指示を、検査対象画像の任意の位置のズーム指示として受け付け可能に構成されている。具体的には、図10の撮像画像B1の中の枠C1は、説明の便宜上、撮像部の視野範囲内においてズーム指示を受け付けた位置及び領域を示すものであり、ユーザは、図9の撮像画像B1全体がダウンスケーリングされた検査対象画像B2が表示されたモニタ9を確認しながら、マウス8等を介して枠C1を検査対象画像B2に対して指定してもよい。枠C1の位置は検査対象画像B2(すなわち撮像部の視野範囲)のどこに配置してもよく、配置された位置をインタフェース部40cが検出する。また、枠C1の大きさや形状もユーザが任意に設定することができる。
インタフェース部40cによって任意の位置として枠C1が指定されたズーム指示を受け付けると、ロジック部31bは、撮像部の視野範囲内において、上記任意の位置を含む出力領域に対応する領域(すなわち枠C1に対応する撮像画像であり、1.6MPより大きい画素数とする)を1.6MPとするのに必要なスケーリング倍率でダウンスケーリングする。これにより、ロジック部31bは任意の位置を含む検査対象画像B4を生成する。枠C1の位置は、撮像部の視野範囲の中心からX方向(画像の横方向)またはY方向(画像の縦方向)にずれていてもよく、撮像部の視野範囲の中心、すなわち光軸からずれた位置にある領域をダウンスケーリングできる。すなわち、一般の光学ズームでは光軸中心に沿ったズームとなるが、本例のダウンスケーリングでは、光軸中心だけなく、光軸中心からずれている領域もズーム可能であり、ダウンスケーリング可能な領域の位置設定の自由度が高い。
図11は、ズーム指示を受付可能な設定用のユーザインタフェース画面100を示している。このユーザインタフェース画面100は、コントローラ3の制御部5aが生成してモニタ9に表示させる。ユーザインタフェース画面100上では、キーボード7やマウス8による操作が可能になっており、どのような操作がなされたかは制御部5aが検出して記憶する。
ユーザインタフェース画面100には、画像表示領域101が設けられている。画像表示領域101には、光電変換部31aの視野範囲全体における出力領域の位置を示した俯瞰画像D1と、出力領域に対応する検査対象画像D2とが表示されるようになっている。すなわち、図7に示す産業用カメラ1のインタフェース部40cは、光電変換部31aの視野範囲全体における出力領域の位置を示した俯瞰画像D1と、出力領域に対応する検査対象画像D2とを外部に出力可能に構成されている。具体的には、メイン基板40には、出力部42が設けられている。出力部42は、イメージセンサ31から出力された俯瞰画像D1、検査対象画像D2を外部に出力する部分である。出力の際、例えば入出力端子60及びケーブル10を介して産業用カメラ1からコントローラ3へ画像データが送信される。
図11に示すユーザインタフェース画面100には、ユーザがズーム倍率を調整するためのズーム調整領域101Aが設けられている。ズーム調整領域101Aをマウス8で「T」側に操作することでテレ側にズームされて視野範囲が狭まる一方、「W」側に操作することで反対に視野範囲が拡大する。また、マウス8のホイールを操作することによっても、ズーム倍率を調整できる。調整されたズーム倍率はコントローラ3側で一旦記憶されて産業用カメラ1のインタフェース部40cに転送され、インタフェース部40cで受け付けられる。
ズーム倍率の調整は、数値によっても可能である。すなわち、ユーザインタフェース画面100には、数値入力領域102が設けられている。数値入力領域102は、ユーザがズーム倍率を数値で入力することによって調整するためのものであり、キーボード7やマウス8等によって任意に数値を入力できる。
図12は、マウス8を用いた領域選択によるズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。枠C10は、マウス8の操作によって形成されたものであり、例えば左上から右下(または右上から左下等)にドラッグ操作することで形成できる。ロジック部31bは、枠C10で囲んだ領域に対応する撮像画像をダウンスケーリングすることにより、5MPの検査対象画像を生成する。また、枠C11も同様にしてマウス8の操作によって形成することができ、枠C11内の領域が拡大される。このとき、撮像画像B1における枠C11内の領域が5MP未満であり、出力する検査対象画像のサイズが5MPである場合、最大分解能(撮像画像B1の分解能)を超えてしまうため、枠C11を含む5MPの領域が、スケーリング倍率が1倍でダウンスケーリングされて(つまり、実質的にはダウンスケーリングされずに)、検査対象画像として出力される。
図13は、任意の位置をパンチルトした後、ダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、任意の位置を、X方向及びY方向に調整する第1パンチルト指示を受け付け可能に構成されている。例えば、光電変換部31aの視野範囲の中央を注目領域として枠C1で指定した後、枠C1の位置をX方向及びY方向に移動させ、例えば符号C1’で示す位置に配置する。枠C1でダウンスケーリングした場合には検査対象画像B5が得られる。ロジック部31bは、X方向及びY方向に調整された後の任意の位置(枠C1’の位置)に対応する撮像画像をダウンスケーリングすることにより、X方向及びY方向の位置が調整された検査対象画像B5’を生成する。ロジック部31bは、枠C1’で囲まれた領域内の一部を更にダウンスケーリングすることにより、検査対象画像B6を生成する。
X方向及びY方向の調整は、図11に示すユーザインタフェース画面100を使用することで可能になる。ユーザインタフェース画面100には、視野位置調整領域103が設けられている。視野位置調整領域103は、上下左右それぞれの方向に向いた矢印等を組み合わせて構成されており、例えば上向きの矢印を操作するとで、枠C1の位置が上へ移動する。同様にして、枠C1の位置を下、左、右の任意の位置に調整できる。枠C1をマウス8によって直接ドラッグ操作してもよい。
図14は、画像の縦横比を変更した状態でダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、光電変換部31aの出力領域の縦横比の変更を受け付け可能に構成されている。例えば枠C1で示すように、撮像部の視野範囲内の任意の位置のズーム指示を受け付けると、ロジック部31bは、枠C1に対応する撮像画像をダウンスケーリングすることにより、検査対象画像B7を生成する。その後、枠C1で特定される領域の縦横比をユーザが自由に指定できる。縦横比を変更した後の領域を枠C2で示す。ロジック部31bは、縦横比が変更された出力領域(枠C2で囲まれた領域)に対応する領域をダウンスケーリングすることにより、検査対象画像B7’を生成する。そこから、枠C2で囲まれた領域内の一部を更にダウンスケーリングすることにより、検査対象画像B7’ ’を生成する。
図15は、固定箇所を中心にダウンスケーリングした後、パンチルトを行う場合を説明する図である。例えば光電変換部31aの視野中心を固定箇所とした場合、ロジック部31bが、撮像部の視野範囲の中心を含む枠C1をダウンスケーリングすることにより検査対象画像B5を生成した後、図13に示すようにパンチルトすることで、ロジック部31bが、パンチルト後の領域に対応する撮像画像をダウンスケーリングすることにより検査対象画像B8を生成する。
また、インタフェース部40cは、検査対象画像の画素数を、第1画素数から第2画素数に変更する画素数変更指示を受け付け可能に構成されている。第2画素数は、第1画素数よりも大きい画素数である。具体的には、図11に示すユーザインタフェース画面100には、画素数設定領域104が設けられている。画素数設定領域104では、検査対象画像の画素数を予め決められている選択肢の中からプルダウンメニューの形式で選択可能になっている。選択可能な画素数は、例えば1.6MP以上5MP以下の範囲とすることができるが、これに限られるものではない。
また、画素数設定領域104では、縦横比も選択できる。すなわち、画素数設定領域104のプルダウンメニューには、それぞれが検査対象画像の画素数と縦横比の組合せである、複数の選択肢が表示される。ユーザは、これら選択肢の内からいずれか一つの選択肢の選択が可能になっている。選択された画素数に関する情報は、インタフェース部40cで受け付けられ、画素数変更指示として産業用カメラ1のプロセッサ41に送信される。
画素数変更指示をプロセッサ41が受け取ると、演算部41aは、光電変換部31aの視野範囲内において、画素数変更指示の前と同じ出力領域に対応する撮像画像を、第2画素数とするのに必要なスケーリング倍率を算出する。演算部41aが算出したスケーリング倍率はロジック部31bに送られ、ロジック部31bは、撮像画像を、そのスケーリング倍率でダウンスケーリングすることにより、第2画素数の検査対象画像を生成する。縦横比が変更された場合、ロジック部31bは、光電変換部31aの視野範囲内において、縦横比が変更された出力領域に対応する領域をダウンスケーリングすることにより、縦横比が変更された検査対象画像を生成する。つまり、ロジック部31bは、画素数設定領域104で選択された検査対象画像の画素数と縦横比の組み合わせにしたがって、検査対象画像を生成する。
図16は、ズーム倍率がダウンスケーリングのみで対応可能な場合、即ち光学ズームが不要な場合を説明する図である。図16の上側は撮像画像E1、E2であり、下側は検査対象画像E3、E4である。左側の撮像画像E1と右側の撮像画像E2の視野を一定とし、右側の撮像画像E2ではワークWが存在しない黒い領域の信号は読み出さないようにしているので、左側の撮像画像E1の画素数は20MP、右側の撮像画像E2の画素数は10MPとなる。左側の撮像画像E1をスケーリング倍率4倍でダウンスケーリングすると左側の検査対象画像E3が得られる。左側の検査対象画像E3は、画素数20MP分の領域を画素数5MPで出力することで得られた画像である。また、右側の撮像画像E2は、黒い領域の信号は読み出さないので、スケーリング倍率2倍でダウンスケーリングすることが可能になり、右側の検査対象画像E4が得られる。右側の検査対象画像E4は、画素数10MP分の領域を画素数5MPで出力することで得られる画像である。また、左側の検査対象画像E3の中心をズームすることで、より細かく分解された右側の検査対象画像E4が得られる。
すなわち、光学ズームを使っていないにも関わらず、検査対象画像E3よりも画素分解能を高めつつ、ワークWを拡大して表示させた検査対象画像E4が得られる。本明細書では、このズーム処理のことを「センサズーム」と呼ぶことがある。
図17は、ズーム倍率がある倍率以上であり、ダウンスケーリングと光学ズームの両方で対応する必要がある場合を説明する図である。図17の上側は撮像画像F1、光学ズーム画像F2、撮像画像F3であり、下側は検査対象画像E4、E5、E6である。撮像画像F1が生成された範囲に対して光学ズームすることで、視野範囲の狭い光学ズーム画像F2が得られる。右側の撮像画像F3ではワークWが存在しない黒い領域の信号は読み出さないようにしている。右側の撮像画像F3の枠F7で囲まれた部分を注目領域とする。この注目領域の画素数は6MPである。
左側の撮像画像F1をスケーリング倍率4倍でダウンスケーリングすると左側の検査対象画像F4が得られる。中央の検査対象画像F5は、光学ズームによって取得された画像であることから光電変換部31aの視野中心に沿ってズームされる。よって、ワークWの中心が光電変換部31aの視野中心からずれていると、ズーム後の画像において、ワークWが画像中心からずれることになる。中央の検査対象画像F5は画素分解能が向上している。右側の検査対象画像F6は、右側の撮像画像F3の枠F7で囲まれた注目領域をスケーリング倍率1.2倍でダウンスケーリングした画像であり、画素数は5MPとなる。
図18は、光学ズームとダウンスケーリングを組み合わせる場合の例を説明する図であり、パターン1とパターン2とを示している。パターン1では、指定されたズーム倍率が低い領域からダウンスケーリング限界近傍倍率まで、光学ズームをオフにして当該光学ズームを行わずに、ダウンスケーリングによるズームを行う。ダウンスケーリングはダウンスケーリング限界近傍倍率で固定する。ダウンスケーリング限界近傍倍率を超えると、光学ズームをオンにして当該光学ズームの倍率上限までズームする。このとき、指定されたズーム倍率が大きくなるにつれて光学ズームの光学倍率も大きくなる。光学ズームの倍率上限を超えると、光学ズームは固定し、ダウンスケーリングによるセンサズームを行う。このパターン1によれば、光学ズーム後においても、ダウンスケーリングを実行可能(すなわちセンサズームの余力を残すことが可能)であるため、検査対象画像として最終的に出力する領域を定める際の微調整を光学ズームではなく、センサズームにより実行することができる。
パターン2では、ズーム倍率が低い領域からダウンスケーリング限界倍率(1倍)まで、光学ズームを行わずに、ダウンスケーリングによるズームを行う。ダウンスケーリング限界倍率までダウンスケーリングを行っているので、以降、ダウンスケーリングは行わない。ダウンスケーリング限界倍率を超えると、光学ズームを使用して光学ズームの倍率上限までズームする。
つまり、図16~図18を用いて説明したように、ロジック部31bは、インタフェース部40cを介してユーザにより指示されたズーム倍率が所定の倍率以下である場合は、当該指示されたズーム倍率に基づいて算出された第2のスケーリング倍率で第2撮像画像をダウンスケーリングすることにより検査対象画像を生成するように構成されている。一方、ロジック部31bは、インタフェース部40cを介してユーザにより指示されたズーム倍率が前記所定の倍率よりも大きい場合は、ズーム光学系による光学ズームにより、当該指示されたズーム倍率に相当する検査対象画像を生成するように構成されている。前記所定の倍率は、第2のスケーリング倍率が下限値の1倍近傍のスケーリング限界近傍倍率となるズーム倍率とすることができる。
また、インタフェース部40cを介してユーザにより指示されたズーム倍率が前記所定の倍率よりも大きい場合、演算部41aは、ズーム光学系による光学ズームを行う。また、ロジック部31bは、スケーリング限界近傍倍率でダウンスケーリングを行うことにより、指示されたズーム倍率の検査対象画像を生成する。
また、インタフェース部40cは、光学ズームの光学倍率が上限値に達した後も、より大きなズーム倍率を受け付け可能に構成されている。インタフェース部40cが受け付け可能なズーム倍率の上限値に達すると、演算部41aは、上限値の光学倍率で光学ズームの駆動を実行する。また、ロジック部31bは、インタフェース部40cが受け付け可能なズーム倍率の上限値の光学倍率で撮像された出力領域に対応する撮像画像をスケーリング倍率が1倍でダウンスケーリングして(実質的にはダウンスケーリングを行うことなく)、検査対象画像を生成する。つまり、演算部41aは、ユーザからズーム倍率の指定を受け付けると、受け付けたズーム倍率に基づいて、光学ズームの光学倍率、及びダウンスケーリングのスケーリング倍率を算出する。そして、算出した光学倍率に基づいてズーム光学系を駆動する。
また、演算部41aは、インタフェース部40cによりズーム倍率の変更を変更指示信号として受け付け可能になっている。変更指示信号に基づいて変更指示されたズーム倍率が前記所定の倍率以下である場合は、演算部41aにより算出されたスケーリング倍率で撮像画像のダウンスケーリングを実行するように、イメージセンサ31に制御信号を送信して、ダウンスケーリングを実行させる。一方、変更指示信号に基づいて変更指示されたズーム倍率が所定の倍率よりも大きい場合は、ズーム光学系、即ちズーム用モータ56cに光学ズームを行うように駆動信号を送信する。ズーム用モータ56cは駆動信号によって動作し、所望のズーム倍率が得られる。
図19に示すように、ダウンスケーリング時に画像の縦横比を変えることができる。FIG.19A、FIG.19Bでは、横長の注目領域を縦長に変更した場合を示しているが、反対に縦長の注目領域を横長に変更することもできる。この変更指示は、図11に示すユーザインタフェース画面100の画素数設定領域104を介してユーザが行える。尚、FIG.19Bに示すように、光電変換部31aの形状の制約上、変更指示を受けた縦横比では光電変換部31aで撮像可能な範囲外に注目領域が位置する場合が考えられる。この場合には、変更指示を受けた縦横比をできるだけ満たすように、演算部41aがダウンスケーリング時のスケーリング倍率を再計算し、ロジック部31bは、再計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。
図20に示すように、ユーザによる設定に基づいて、ダウンスケーリング時に画素数を増減させることができる。FIG.20A、20B、20Cは、空間分解能(スケーリング倍率)を変えずに画素数を変更する場合を示している。FIG.20A、20Bでは、光電変換部31aで撮像可能な範囲内で画素数を変更しているので、演算部41aは、ユーザによる設定を反映させたスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。一方、FIG.20Cは、ユーザによる設定を反映させると、光電変換部31aで撮像可能な範囲を超えてしまうので、演算部41aは、ユーザによる設定を用いずに、画素数の変更を制限するようにスケーリング倍率を計算する。計算時には、ユーザによる設定にできるだけ近いスケーリング倍率となるようにする。そして、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。
FIG.20D、20E、20Fは、撮像視野を変えずに画素数を変更する場合を示している。FIG.20D、20Eでは、最小分解能以上の画素数への変更であるため、演算部41aは、ユーザによる設定を反映させたスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。一方、FIG.20Fは、最小分解能未満の画素数への変更であるため、演算部41aは、ユーザによる設定を用いずに、画素数の変更を制限するようにスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。つまり、演算部41aは、ユーザによる設定に基づいて、第1画素数から第2画素数への変更を制限可能に構成されている。
また、インタフェース部40cは、ユーザによる画素数変更指示の後に、出力領域をさらに相対的に小さな領域に変更する第2ズーム指示、及び出力領域をX方向及びY方向にさらに調整する第2パンチルト指示を受け付け可能に構成されている。第2ズーム指示は、第2ズーム指示と同じように、ユーザの指示によって受け付けることができる。また、第2パンチルト指示は、第1パンチルト指示と同じように、ユーザの指示によって受け付けることができる。
インタフェース部40cが第2ズーム指示及び第2パンチルト指示を受け付けた場合、演算部41cは、光電変換部31aの視野範囲内において、第2ズーム指示および第2パンチルト指示の少なくとも一方により変更された出力領域に対応する撮像画像を、第2画素数とするのに必要なスケーリング倍率を算出する。ロジック部31bは、演算部41cが算出したスケーリング倍率で撮像画像をダウンスケーリングすることにより、第2画素数の検査対象画像を生成する。
図21は、回転後の検査対象画像を生成する場合の例を説明する図であり、回転設定用ユーザインタフェース画面110を示している。回転設定用ユーザインタフェース画面110には、光電変換部31aの出力領域に対応する検査対象画像が表示される画像表示領域111と、回転角度設定領域112とが設けられている。回転角度設定領域112では、画像の回転方向の設定と、回転角度の設定が可能になっており、これら設定項目はユーザによるキーボード7やマウス8の操作で設定可能になっている。
回転角度設定領域112で回転方向および回転角度が設定されると、演算部41aは、検査対象画像の画素数及び形状を固定した状態で、検査対象画像を設定された方向に設定された角度だけ回転させる。つまり、演算部41aが検査対象画像に対して任意の角度の回転変換処理を適用する。これにより、回転後の検査対象画像を生成して画像表示領域111に表示させることができるので、例えば産業用カメラ1の設置方向が傾いていたときに、その傾きをソフトウェア上で補正できる。
図22は、ダウンスケーリングをプロセッサ41で実現する場合の例を示す図である。この図に示すように、レンズユニットは光学ズームできない非ズームレンズとしている。イメージセンサ31は、光電変換部31aで撮像した画像をダウンスケーリングすることなく、プロセッサ41に出力する。プロセッサ41には、ダウンスケーリング部41Aが設けられており、ダウンスケーリング部41Aは上述したようなダウンスケーリングを実行して検査対象画像を生成する。その他の処理は、イメージセンサ31でダウンスケーリングを実行する場合と同じである。
(カラー撮像画像の処理)
イメージセンサ31でカラー撮像画像を生成できるので、インタフェース部40cでは、光電変換部31aの視野範囲においてカラー検査対象画像として出力する領域である出力領域の指定を受け付けることができる。
イメージセンサ31では、カラーフィルタ31cを有していることで、各色が所定の配列パターンで形成されたカラー撮像画像の生成が可能である。具体的には、光電変換部31aが出力するカラー撮像画像の配列パターンは、図23に示すようにベイヤ配列である。ベイヤ配列では、赤成分(R画素)および青成分(B画素)に加えて第1の緑成分(Gr画素)と第2の緑成分(Gb画素)とが所定の配列パターンで配列される。配列パターンはベイヤ配列に限られるものではなく、他の配列パターンであってもよい。
また、光電変換部31aは、画素数の異なるカラー検査対象画像を生成可能に構成されている。光電変換部31aでカラー撮像画像が生成された場合には、プロセッサ41は、カラーの検査対象画像に対して上述したような演算処理や画像処理を実行する。本例では、カラーフィルタ31cを有しているので、3板式のカメラを用いることなく、またRGBを時系列で点灯することなく、カラー撮像画像を生成できる。
ロジック部31bは、光電変換部31aの視野範囲の出力領域に対応するカラー撮像画像を取得した後、当該カラー撮像画像の各色を、上記配列パターンに基づいて個別にダウンスケーリングし、ダウンスケーリング後の各色の画素値を、各色の配列パターンがカラー撮像画像の配列パターンと一致するように配置する。これにより、カラー撮像画像の画素数よりも小さな画素数のカラー検査対象画像を生成することができる。
例えば図23に示すように、ロジック部31bは、カラー撮像画像のベイヤ配列に含まれる赤成分、当該赤成分と行方向に隣接する第1の緑成分、青成分、及び当該青成分と当該行方向に隣接する第2の緑成分を、それぞれ個別にダウンスケーリングする。そして、ロジック部31bは、ダウンスケーリング後の当該青成分、当該第1の緑成分、当該赤成分、及び当該第2の緑成分の各色の画素値を、各色の配列パターンが当該カラー撮像画像のベイヤ配列の配列パターンと一致するように配置することにより、カラー検査対象画像を生成する。
すなわち、ユーザがカラー検査対象画像として出力する領域を出力領域として指定すると、出力領域に対応するカラー撮像画像の各色が所定の配列パターンに基づいて個別にダウンスケーリングされる。ダウンスケーリング後の各色の画素値は、各色の配列パターンがカラー撮像画像の配列パターンと一致するように配置される。これにより、カラー撮像画像の画素数よりも小さな任意の画素数のカラー検査対象画像を生成することが可能になり、後段のプロセッサやFPGAによる画像処理において、配列パターンの不一致に起因する追加の処理が不要となる。
具体例について説明すると、ロジック部31bは、カラー撮像画像の各色に対して、X又はY方向の一方である第1方向にダウンスケーリングした後、当該第1方向のダウンスケーリングにより得られた画像に対して、X又はY方向の他方である第2方向にダウンスケーリングすることによって、カラー検査対象画像を生成するように構成されている。より具体的には、図24に示すように、ロジック部31bは、カラー撮像画像の各色に対して第1方向にダウンスケーリングした後、第1方向のダウンスケーリングにより得られた画像に対して第2方向にダウンスケーリングすることによって、カラー検査対象画像を生成する。図24では、Gr画素に対して、第1方向である水平方向(X方向)に画素補間するとともにダウンスケーリングし、その後、第2方向である垂直方向(Y方向)に画素補間するとともにダウンスケーリングする。また、R画素、B画素、Gb画素のそれぞれに対しても、Gr画素と同様に水平方向に画素補間するとともにダウンスケーリングした後、垂直方向に画素補間するとともにダウンスケーリングする。
図25に水平方向の場合を示すように、画素補間する際には、同色の隣接した2画素値の加算平均を演算する。また、ダウンスケーリングの際には、ダウンスケーリングにより得られる検査対象画像の一画素に含まれる、ダウンスケーリング前の撮像画像の各画素のサブピクセルレベルでのサイズに応じた加重平均を演算する。図25中、α、β、γは、入力画素の大きさを1とした場合のサブピクセルサイズを示している。また、αとγはそれぞれ1未満の値を設定することができるため、小数点以下の精度でスケーリング倍率を算出することもできる。また、画像中の他のR画素群に対しても同様の処理を実行する。図25ではR画素について示しているが、他の色の画素も同様である。
垂直方向についても、水平方向のダウンスケーリング後の画素を用いて、垂直方向に同様の処理を実行する。つまり、ロジック部31bは、ダウンスケーリング後の検査対象画像の各画素に対応する、ダウンスケーリング前のカラー撮像画像の位置の近傍範囲に存在する同一色の複数の画素に基づいて検査対象画像の各画素の画素値を算出する。そして、ロジック部31bは、カラー撮像画像の近傍範囲をダウンスケーリングのスケーリング倍率に基づいて決定する。
図26に示すように、カラー撮像画像を処理する際にはローパスフィルタを適用することもできる。この場合、指定したローパスフィルタ領域(LPF領域)分だけ、ダウンスケーリング後の検査対象画像の一画素が拡大されたものとみなしてダウンスケーリングする。ローパスフィルタ領域は当該ダウンスケーリング後の一画素の両側に均等に適用する。片側あたりのローパスフィルタ領域(サブピクセルサイズ)は、ダウンスケーリングによる縮小度にローパスフィルタ設定値を乗じて得た値を1/2することで算出する。また、ローパスフィルタ設定値は0以上の値であり、かつ、{3×(縮小度-1)}/縮小度で求められる値よりも小さな値とする。図26中、α、β、γ、δは、入力画素の大きさを1とした場合のサブピクセルサイズを示している。また、画像中の他のR画素群に対しても同様の処理を実行する。図26ではR画素について示しているが、他の色の画素も同様である。
また、プロセッサ41は、インタフェース部40cが画素数を変更する指示を受け付けると、画素数の変更前後でカラー検査対象画像の各色の配列パターンを一致させる。これにより、変更前のカラー検査対象画像の画像処理における各色の配列パターンに関する設定を変更することなく、変更後のカラー検査対象画像の画像処理を実行することができる。
インタフェース部40cが出力領域の位置、大きさ、及び形状の少なくとも1つを変更する指示を受け付けた場合、ロジック部31bは、出力領域の変更前に生成したカラー検査対象画像と各色の配列パターンが一致する、変更後の出力領域に対応するカラー検査対象画像を生成する。
また、ロジック部31bは、カラー撮像画像をプロセッサ41に転送する際の転送速度と比較して、カラーの検査対象画像をプロセッサ41に転送する転送速度が相対的に速くなるように、カラー撮像画像をダウンスケーリングする。すなわち、図22に示すように、イメージセンサ31の外部でダウンスケーリングすることも可能であるが、この場合、カラー撮像画像のデータ量が大きいので、プロセッサ41への転送速度が問題となることが考えられる。カラー撮像画像をダウンスケーリングして、カラー撮像画像をプロセッサ41に転送する際の転送速度よりも速い速度でカラーの検査対象画像をプロセッサ41に転送することで、処理速度を高速化でき、高速な移動体に対する画像検査が可能になる。また、イメージセンサ31から出力された検査対象画像の画素数に応じて、ロジック部31bからプロセッサ41までの転送速度を変化させることもできる。
(設定時のフロー)
以上のように、産業用カメラ1を備えた画像検査システム2では様々な処理を実行することができ、その処理の手順は矛盾が生じない範囲で任意に設定できる。以下では、処理手順の一例についてフローチャートに基づいて説明する。
図27は、ズーム倍率入力時の処理手順の一例を示すフローチャートである。スタート後のステップSA1では撮像設定を起動する。撮像設定の起動時は、第2レンズ群22を広角側に移動させる。ステップSA2では、ユーザによるズーム倍率の入力をインタフェース部40cが受け付ける。ズーム倍率の入力時には、図11に示すようなユーザインタフェース画面100が使用されるので、ズーム調整領域101Aを操作して入力できる。他の例として、ズーム倍率を数値で入力してもよい。
ステップSA3では、ステップSA2の入力値(ズーム倍率)が第1のズーム値(第1のズーム倍率)よりも大きいか否かを判定する。NOと判定される場合には、ステップSA4に進んでダウンスケーリング設定変更を行う。ステップSA5でトリガ信号が入力するとステップSA6に進んで検査対象画像を表示させる。
ステップSA3でYESと判定された場合にはステップSA7に進み、ステップSA2の入力値(ズーム倍率)が第2のズーム値(第2のズーム倍率)よりも大きいか否かを判定する。NOと判定される場合には、ステップSA8に進んでダウンスケーリングを既定のズーム倍率で固定し、それ以上のズームはステップSA9において光学ズームで対応する。その後、ステップSA5に進む。
ステップSA7でYESと判定された場合には、ステップSA10で光学ズームのズーム倍率を最大にするとともに、ダウンスケーリングのスケーリング倍率を1に設定し、ステップSA9に進む。
図28は、視野または分解能を指定する時の処理手順の一例を示すフローチャートである。スタート後のステップSB1では、ユーザインタフェース上のWD計測ボタン(図示せず)が押下される。ステップSB2ではWD計測を行う。ステップSB3では、産業用カメラ1に予め記憶されている内部データと現状の焦点位置情報とに基づいて視野及び分解能を計算する。ステップSB4では、ユーザがX視野、Y視野、空間分解能のいずれかを、ユーザインタフェースを介して入力する。ステップSB5では、ステップSB4で入力された値を用いてズーム倍率を計算する。ステップSB6では、ステップSB5で計算したズーム倍率が設定可能なズーム倍率であるか否かを判定する。ステップSB6でNOと判定された場合は、図19のFIG.19Bや図20のFIG.20C、20Fに示すようになるので、ステップSB7に進んで設定可能なズーム倍率にクリッピングする。ステップSB6でYESと判定された場合には、ステップSB8に進んで図27に示すフローと同様な手順を実行する。
図29は、パンチルトの処理手順の一例を示すフローチャートである。スタート後のステップSC1では、ユーザが図11に示すユーザインタフェース画面100上の視野位置調整領域103を操作して上下左右の位置調整を行う。ステップSC2では、ステップSC1で位置調整した領域がイメージセンサ31の最大視野範囲よりも狭いか否かを判定する。ステップSC2でNOと判定された場合には、ステップSC3で最大範囲をクリッピングする。その後、ステップSC4に進み、注目領域の位置を変更する。ステップSC2でYESと判定された場合もステップSC4に進む。
図30は、縦横比変更の処理手順の一例を示すフローチャートである。スタート後のステップSD1では、ユーザが図11に示すユーザインタフェース画面100の画素数設定領域104を操作して所望の縦横比に変更する。ステップSD2では、変更後の画素領域が同じスケーリング倍率でのイメージセンサ31の視野範囲内に収まっているか否かを判定する。NOと判定された場合にはステップSD3に進み、ステップSD1で変更された縦横比となるようにズーム倍率を変更する。ステップSD4では、図27に示すフローと同様な手順を実行する。その後、ステップSD5に進み、注目領域のサイズを変更する。ステップSD2でYESと判定された場合も、ステップSD5に進む。
(取付指示書の出力機能)
画像検査システム2は、現場で産業用カメラ1を設置する際に使用される取付指示書を生成して出力する取付指示書の出力機能を有している。図31は、取付指示書の出力機能の概略を説明するものである。上述したように産業用カメラ1とコントローラ3とはケーブル10によって接続されているので、産業用カメラ1で生成した画像と光学条件は、コントローラ3で取得することができる。机上テスト時には、コントローラ3内のアプリケーションAPを用いて取付指示書を生成し、出力する。机上テストは、専門知識を有する条件設定担当者が実施し、設置条件を決定する。また、机上テストを行う場所と、産業用カメラ1の設置を行う場所とは離れている。
産業用カメラ1を現場で設置する際には、条件設定担当者とは異なるカメラ設置担当者が担当する。このカメラ設置担当者は、条件設定担当者ほどの専門知識を持っていないケースが多い。そこで、本例では、現場設置時には、産業用カメラ1で生成した画像と光学条件をコントローラ3で取得してWebブラウザ上に表示させる。カメラ設置担当者は、産業用カメラ1の設置条件が、既に出力されている取付指示書と一致するようにWebブラウザ画面を見ながら、当該産業用カメラ1を設置することが可能になるので、光学条件の設定に関する専門知識が乏しい現場の担当者であっても、机上テスト時の光学条件となるように産業用カメラ1を設置できる。
以下、ユーザインタフェースを示しながら、取付指示書の出力機能の具体例について説明する。図32は、取付指示書の出力機能を開始する前にモニタ9に表示される設定用のユーザインタフェース画面100であり、このユーザインタフェース画面100には、設定ボタン107が設けられている。設定用ボタン107は、取付指示書の生成及び出力処理を開始する場合に操作されるボタンである。制御部5aは、設定用ボタン107が操作されたことを検出すると、取付指示書の生成及び出力処理を開始する。設定用ボタン107の操作は、取付指示書の作成指示に相当するので、制御部5aは、取付指示書の作成指示を受け付ける部分である。
取付指示書の作成指示を受け付けると、図33に示すユーティリティ画面110を生成してモニタ9に表示させる。ユーティリティ画面110には、取付指示書出力アイコン111をはじめとして、各種機能を示す複数のアイコンが表示される。取付指示書出力アイコン111が操作されたことを検出すると、図34に示すようなカメラ選択画面120を生成してモニタ9に表示させる。カメラ選択画面120には、カメラIDの選択領域121と、カメラ型式の表示領域122とが設けられている。選択領域121は、例えばプルダウン形式による選択が可能になっており、ユーザが選択領域121をマウス8でクリックすると、コントローラ3に接続されている産業用カメラ1が一覧形式で表示される。ユーザが、その中から、取付指示書の出力を行う産業用カメラ1を選択すると、選択された産業用カメラ1を特定するとともに、選択された産業用カメラ1の型式を表示領域122に表示する。カメラ選択画面120のOKボタン123が操作されると、選択された産業用カメラ1のズームがロックされているか否かを判定する。選択された産業用カメラ1のズームがロックされている場合には、ユーザに対して一時的にズームの変更の承認を求める確認ウインドウをモニタ9に表示させる。取付指示書の作成時に広角画像が必要になるためである。尚、広角画像が不要な場合には、確認ウインドウを表示させなくてもよい。
インタフェース部40cが取付指示書の作成指示を受け付け、かつ、ズームの変更が承認されれば、プロセッサ41は、レンズユニット20を制御してズームアウトした後、産業用カメラ1を制御して視野を拡大した参考画像を生成する。また、図35に示すように、選択された産業用カメラ1の取付情報を表示する取付情報表示画面130を生成してモニタ9に表示させる。取付情報表示画面130には、選択された産業用カメラ1で撮像された参考画像を表示する画像表示領域131が設けられている。画像表示領域131には、産業用カメラ1で現在撮像された参考画像が表示される。
取付情報表示画面130には、WD表示領域132と、カメラ角度表示領域133とが設けられている。WD表示領域132には、設置距離を示すWD(ワーキングディスタンス)が表示される。取付指示書の作成開始時には、WD表示領域132には何も表示されていない。後述するように、測距部43が測距を実行した後に、WD表示領域132に設置距離が表示される。カメラ角度表示領域133には、加速度センサ32で取得されたピッチ、チルト、ロール等の各角度を表示するカメラ角度(カメラ姿勢ともいう)が表示される。カメラ角度表示領域133に表示されているカメラ角度を書き換えることができないようになっている。
また、取付情報表示画面130には、取付指示書に出力する項目を選択するためのリスト表示領域134が設けられている。リスト表示領域134には、「取付情報」、「接続情報」及び「Webブラウザ説明」の3項目が示されている。チェックされている項目が取付指示書に出力される項目となる。初期設定は、全ての項目が取付指示書に出力される項目となっている。
取付情報表示画面130には、AEボタン135と測距ボタン136が設けられている。AEボタン135が操作されると、産業用カメラ1の露光時間が自動調整される。測距ボタン136が操作されると、測距部43が測距を実行して設置距離を取得する。
取付情報表示画面130には、Trgボタン137とLiveボタン138とが設けられている。Trgボタン137が1回操作されると、トリガ信号が1回入力されて産業用カメラ1が1回撮像してワークWの参考画像が生成される。Liveボタン138が操作されると、トリガ信号が連続入力されて産業用カメラ1が連続撮像してワークWの参考画像が生成される。参考画像は、画像表示領域131に表示される。
取付情報表示画面130には、「レーザポインタを含める」の選択領域139が設けられている。選択領域139は、エイマー29を点灯させた状態で産業用カメラ1により撮像させるか、エイマー29を消灯させた状態で産業用カメラ1により撮像させるかのいずれか一方の選択を行うためのものである。選択領域139にチェックがなされていると、エイマー29を点灯させた状態で産業用カメラ1により撮像させる方が選択され、一方、選択領域139にチェックがなされていないと、エイマー29を消灯させた状態で産業用カメラ1により撮像させる方が選択される。
選択領域139にチェックがなされた状態で、Trgボタン137またはLiveボタン138が操作されると、プロセッサ41がエイマー29を点灯させてから、トリガ信号が入力されるので、位置合わせ用の光が照射されたワークWが撮像される。これにより、ワークWに照射された位置合わせ用の光の位置情報が含まれた参考画像が生成される。図35における符号140で示す黒丸が位置合わせ用の光を示している。
尚、実際の位置合わせ用の光が参考画像上で見えにくい場合や見えない場合が想定される。このような場合には、位置合わせ用の光が照射されるべき位置情報を参考画像と関連付けた状態で保持することもできる。例えば、エイマー29による位置合わせ用の光の照射部位は参考画像上で既知であるため、参考画像上で位置合わせ用の光が照射されるべき位置を特定できる。つまり、位置合わせ用の光は、参考画像上において、エイマー29が発光した場合にワークWに照射されると想定される位置に疑似的に表示されるものであってもよい。「疑似的に表示」とは、実際の位置合わせ用の光の形状及び色に近似した光を表示することであり、カメラ設置担当者が見たときに位置合わせ用の光であることは認識可能な表示形態である。位置合わせ用の光が照射されるべき位置も符号140で示すように参考画像に重畳表示可能である。
取付情報表示画面130の印刷ボタン141を操作すると、出力部42は、図36に示す印刷用ウインドウ150を生成してモニタ9に表示させる。印刷用ウインドウ150には、印刷プレビューが表示される。印刷プレビューには、産業用カメラ1により撮像されたワークWの参考画像が含まれている。参考画像には、符号140で示すように、ワークWに照射された又は照射されるべき位置合わせ用の光の位置情報が含まれている。また、印刷プレビューには、加速度センサ32で取得されたピッチ、チルト、ロール等の産業用カメラ1の各角度も含まれている。
印刷用ウインドウ150の印刷設定ボタン151が操作されると、プリンタの選択や印刷部数等を設定するための画面をモニタ9に表示させる。この画面で、PDFファイルを選択することも可能になっている。印刷設定後、印刷を実行すると、プリンタが選択されている場合には印刷プレビューで表示されたものが出力部42を介してプリンタに出力され、プリンタが印刷処理を実行する。一方、PDFファイルが選択されている場合には印刷プレビューで表示されたものが出力部42を介してPDFファイルとして出力され、記憶部6等に保存される。
出力部42から出力された参考画像には、ワークWに照射された又は照射されるべき位置合わせ用の光の位置情報が含まれており、この参考画像を含む書類が取付指示書になる。取付指示書は、上述したように紙であってもよいし、電子データであってもよい。
取付指示書は、産業用カメラ1から出力させることもできる。例えば、上述した各情報を産業用カメラ1に保持させておき、選択された産業用カメラ1に対して、取付指示書を出力させる指示信号をコントローラ3から送る。これにより、選択された産業用カメラ1の出力部42から取付指示書を出力させることができる。図31の下側に示すように、接続された産業用カメラ1固有の情報を、Webブラウザを介して確認することもできる。産業用カメラ1固有の情報としては、例えば画素数、ズームレンズの倍率等を挙げることができる。
図36に示すように、取付指示書には、測距部43により測定された設置距離も含まれているので、カメラ設置担当者は設置距離も見ながら産業用カメラ1を設置できる。産業用カメラ1の設置時には、例えば測距部43によりワークWとの間の設置距離を取得し、本体表示部49に設置距離を表示する。これにより、カメラ設置担当者は本体表示部49に表示されている設置距離も見ながら、産業用カメラ1を適切な位置に設置できる。
図36に示すように、取付指示書には、加速度センサ32により取得された産業用カメラ1の姿勢情報も含まれているので、カメラ設置担当者は産業用カメラ1の姿勢情報も見ながら産業用カメラ1を設置できる。産業用カメラ1の設置時には、例えば加速度センサ32で取得された姿勢情報を本体表示部49に表示する。これにより、カメラ設置担当者は本体表示部49に表示されている姿勢情報も見ながら、産業用カメラ1を適切な姿勢で設置できる。
また、インタフェース部40cは、ユーザから要求仕様として視野サイズ又は画素分解能の入力を受け付ける。インタフェース部40cは、光学条件の一部として、図11に示すユーザインタフェース画面100でユーザにより指定されたズーム倍率も取得することが可能である。ズーム倍率を取得した場合、画素分解能は、ユーザにより指定されたズーム倍率を加味して計算するとともに、その指定されたズーム倍率と、設置距離と、カメラパラメータとに基づいて、視野サイズ又は画素分解能を取得する。インタフェース部40cが要求仕様を取得した場合、演算部41aは、所定の設置距離において、前記要求仕様を満たすズーム倍率を算出する。また、所定の設置距離で参考画像を取得しておく。その後、出力部42は、取付指示書に示す設置距離として、前記要求仕様を満たすズーム倍率の算出に用いた所定の設置距離を出力するとともに、取付指示書の参考画像として、所定の設置距離で撮像された参考画像を出力する。
産業用カメラ1が、複数の配線が束ねられたケーブル10を介して接続されている場合、取付指示書には、ケーブル10を構成する配線の情報(接続情報)が含まれていてもよい。図37は、接続情報を表示する場合の表示画面160を示している。表示画面160には、接続情報表示領域161が設けられている。接続情報表示領域161には、コントローラ3の型式と、産業用カメラ1の型式とが表示されるとともに、接続に使用されているケーブル10のコネクタのピン配置と、各ピンの役割とが表示される。コントローラ3や産業用カメラ1の情報として、型式以外の情報についても、接続情報表示領域161に表示できる。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。