(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173421
(43)【公開日】2023-12-07
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
H04N 23/60 20230101AFI20231130BHJP
G03B 15/00 20210101ALI20231130BHJP
G03B 17/18 20210101ALI20231130BHJP
【FI】
H04N5/232
H04N5/232 300
G03B15/00 T
G03B17/18 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022085671
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】孫 卓力
(72)【発明者】
【氏名】嶋田 侑眞
【テーマコード(参考)】
2H102
5C122
【Fターム(参考)】
2H102AA71
5C122DA12
5C122EA42
5C122FA11
5C122FH09
5C122GA34
5C122HA01
5C122HA88
5C122HB01
(57)【要約】
【課題】運用時に光学条件が変化しても、設定時と同様な検査対象画像の生成を可能にする。
【解決手段】画像処理装置は、検査対象画像を生成するための撮像部と、検査対象物が事前に撮像された参照画像を記憶する記憶部と、運用時に生成された検査対象画像に含まれる検査対象物と参照画像に含まれる検査対象物との位置関係を特定し、運用時に撮像部で生成された検査対象画像に含まれる検査対象物が参照画像に含まれる検査対象物と実質的に同一の位置となるように、検査対象画像の生成条件を算出する演算部とを備えている。生成条件は、撮像部の視野範囲内において、検査対象物を参照画像と実質的に同一の位置で出力可能にする出力領域の位置情報を含んでいる。撮像部は、運用時に位置情報の出力領域に対応する検査対象画像を生成する。
【選択図】
図39
【特許請求の範囲】
【請求項1】
検査対象物を撮像して得られた検査対象画像を生成する画像処理装置であって、
検査対象物を撮像し、検査対象画像を生成するための撮像部と、
検査対象物が事前に撮像された参照画像を記憶する記憶部と、
運用時に前記撮像部で生成された検査対象画像に含まれる検査対象物と、前記参照画像に含まれる検査対象物との位置関係を特定し、運用時に前記撮像部で生成された検査対象画像に含まれる検査対象物が、当該参照画像に含まれる検査対象物と実質的に同一の位置となるように、運用時の検査対象画像の生成条件を算出する演算部と、を備え、
前記生成条件は、前記撮像部の視野範囲内において、検査対象物を前記参照画像と実質的に同一の位置で出力可能にする出力領域の位置情報を含み、
前記撮像部は、運用時に前記位置情報の出力領域に対応する検査対象画像を生成する、ことを特徴とする、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記記憶部に記憶された参照画像の選択を受け付けるインタフェース部を更に備え、
前記記憶部は、前記撮像部が生成した検査対象画像を参照画像として記憶可能に構成されるとともに、当該参照画像が生成されたときの光学条件が規定された光学条件ファイルを、当該参照画像と関連付けて記憶可能に構成されており、
前記撮像部の光学条件の初期条件は、前記選択された参照画像に関連する光学条件ファイルの光学条件に設定されることを特徴とする、画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記インタフェース部は、検査対象画像又は参照画像上で、検査対象画像に含まれる検査対象物と前記参照画像に含まれる検査対象物との位置関係を特定するための対応点サーチ用の特徴領域の指定を受け付け可能に構成されることを特徴とする、画像処理装置。
【請求項4】
請求項1に記載の画像処理装置において、
検査対象画像の生成条件には、前記出力領域の位置情報に加えて、前記参照画像に含まれる検査対象物と同じ姿勢となるように、検査対象画像を回転させる回転方向及び角度に関する情報が含まれることを特徴とする、画像処理装置。
【請求項5】
請求項1に記載の画像処理装置において、
検査対象画像の生成条件には、前記参照画像に含まれる検査対象物と、検査対象画像内の検査対象物が略同一の大きさとなるように計算されたズーム倍率が含まれ、
前記演算部は、前記計算されたズーム倍率にしたがって、ズームすることにより、前記参照画像と検査対象画像に含まれる検査対象物を略同一の大きさにすることを特徴とする、画像処理装置。
【請求項6】
請求項1に記載の画像処理装置において、
検査対象画像の生成条件には、画像の明るさに関する条件が含まれ、
前記画像の明るさに関する条件は、前記参照画像の明るさを分析し、当該分析結果に基づいて、検査対象画像の明るさが略同一な明るさになるような撮像条件として算出されることを特徴とする、画像処理装置。
【請求項7】
請求項1に記載の画像処理装置において、
前記参照画像の撮像時の前記撮像部の姿勢に関する情報を表示するとともに、現在の前記撮像部の姿勢と、前記参照画像の撮像時の前記撮像部の姿勢とを比較表示する表示部を備えることを特徴とする、画像処理装置。
【請求項8】
請求項1に記載の画像処理装置において、
前記インタフェース部を介して前記参照画像が指定された後、当該参照画像の撮像時の前記撮像部の姿勢と、現在の前記撮像部の姿勢とを比較表示し、
前記撮像部の姿勢を比較表示した後、前記演算部が前記検査対象画像の生成条件を算出するとともに、前記撮像部が前記位置情報の出力領域に対応する検査対象画像を生成することを特徴とする、画像処理装置。
【請求項9】
請求項3に記載の画像処理装置において、
前記演算部は、前記対応点サーチの前に、前記参照画像の輝度値に基づいて、前記撮像部の露光時間を調整することを特徴とする、画像処理装置。
【請求項10】
請求項4に記載の画像処理装置において、
前記演算部は、検査対象画像に対して前記角度の回転変換処理を適用することにより、回転後の検査対象画像を生成することを特徴とする、画像処理装置。
【請求項11】
請求項3に記載の画像処理装置において、
前記対応点サーチの前に、前記撮像部のフォーカス調整を実行することを特徴とする、画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、例えばワーク等の検査対象物を撮像して得られた検査対象画像を生成する画像処理装置に関する。
【背景技術】
【0002】
従来より、例えば特許文献1に開示されているように、検査対象物を撮像して得られた検査対象画像に基づいて、検査対象物の良否を判定するように構成された画像検査装置が知られている。特許文献1に開示された画像検査装置は、標準化規格に適合した撮像装置に対して多段階の処理を順序立てて行わせることができるようにし、撮像装置の機種選定の自由度向上と、画像検査の精度向上とを両立させている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、画像処理装置では、様々な光学条件やカメラの設置条件で、ユーザが検査したい検査対象物の検査が可能か否かを実験する机上テストを行うことがある。検査が可能と判断されれば、机上テストで算出された光学条件や設置条件と同じ条件となるように、工場ラインなどにカメラを設置し、運用フェーズに移行する。
【0005】
ところが、机上テスト環境と、実際の運用環境は厳密には異なるため、机上テスト時と同じ光学条件や設置条件を運用環境で再現しても、必ずしも机上テスト時に得られた画像と同じ検査対象画像が得られないことがある。また、設置時には同じ検査対象画像が得られたとしても、運用フェーズで何等かの理由で光学条件が変化してしまい、画質が変わってしまうことがある。このような場合、運用フェーズにおいて机上テスト時に得られた理想的な検査対象画像を生成するための設置条件、光学条件を再度、探索する必要があり、手間がかかる。
【0006】
本開示は、かかる点に鑑みたものであり、その目的とするところは、運用時に光学条件が変化しても、設定時と同様な検査対象画像の生成を可能にすることにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示の一態様では、検査対象物を撮像して得られた検査対象画像を生成する画像処理装置を前提とすることができる。画像処理装置は、検査対象物を撮像し、検査対象画像を生成するための撮像部と、検査対象物が事前に撮像された参照画像を記憶する記憶部と、運用時に前記撮像部で生成された検査対象画像に含まれる検査対象物と、前記参照画像に含まれる検査対象物との位置関係を特定し、運用時に前記撮像部で生成された検査対象画像に含まれる検査対象物が、当該参照画像に含まれる検査対象物と実質的に同一の位置となるように、運用時の検査対象画像の生成条件を算出する演算部とを備えている。前記生成条件は、前記撮像部の視野範囲内において、検査対象物を前記参照画像と実質的に同一の位置で出力可能にする出力領域の位置情報を含んでおり、前記撮像部は、運用時に前記位置情報の出力領域に対応する検査対象画像を生成することができる。
【0008】
この構成によれば、運用時に生成された検査対象画像に含まれる検査対象物と、参照画像に含まれる検査対象物の位置関係を特定することができる。特定した結果に基づいて、検査対象画像の検査対象物が、参照画像に含まれる検査対象物と実質的に同一の位置となるように、検査対象画像の生成条件が算出される。生成条件には、検査対象物を参照画像と実質的に同一の位置で出力することができる出力領域の位置情報が含まれているので、運用時に光学条件が変化したとしても、位置情報に基づく出力領域に対応させることで、参照画像と実質的に同一の位置に検査対象物を有する検査対象画像を生成することができる。
【0009】
また、記憶部に記憶された参照画像の選択を受け付けるインタフェース部を更に備えていてもよい。この場合、記憶部は、撮像部が生成した検査対象画像を参照画像として記憶するとともに、当該参照画像が生成されたときの光学条件が規定された光学条件ファイルを、当該参照画像と関連付けて記憶することができる。撮像部の光学条件の初期条件は、選択された参照画像に関連する光学条件ファイルの光学条件に設定できる。
【0010】
また、インタフェース部は、検査対象画像又は参照画像上で、検査対象画像に含まれる検査対象物と参照画像に含まれる検査対象物との位置関係を特定するための対応点サーチ用の特徴領域の指定を受け付けることができる。
【0011】
また、検査対象画像の生成条件には、出力領域の位置情報に加えて、参照画像に含まれる検査対象物と同じ姿勢となるように、検査対象画像を回転させる回転方向及び角度に関する情報が含まれていてもよい。
【0012】
また、検査対象画像の生成条件には、参照画像に含まれる検査対象物と、検査対象画像内の検査対象物が略同一の大きさとなるように計算されたズーム倍率が含まれていてもよい。この場合、演算部は、計算されたズーム倍率にしたがって、ズームすることにより、参照画像と検査対象画像に含まれる検査対象物を略同一の大きさにすることができる。
【0013】
また、検査対象画像の生成条件には、画像の明るさに関する条件が含まれていてもよい。この場合、画像の明るさに関する条件は、参照画像の明るさを分析し、当該分析結果に基づいて、検査対象画像の明るさが略同一な明るさになるような撮像条件として算出できる。
【0014】
また、参照画像の撮像時の撮像部の姿勢に関する情報を表示するとともに、現在の撮像部の姿勢と、参照画像の撮像時の撮像部の姿勢とを比較表示する表示部を備えていてもよい。インタフェース部を介して参照画像が指定された後、当該参照画像の撮像時の撮像部の姿勢と現在の撮像部の姿勢とを比較表示することもできる。撮像部の姿勢を比較表示した後、演算部が検査対象画像の生成条件を算出するとともに、撮像部が位置情報の出力領域に対応する検査対象画像を生成できる。
【0015】
また、演算部は、対応点サーチの前に、参照画像の輝度値に基づいて、撮像部の露光時間を調整することができる。また、対応点サーチの前に、撮像部のフォーカス調整を実行してもよい。これにより、対応点サーチの精度が向上する。
【0016】
また、演算部は、検査対象画像に対して回転変換処理を適用することにより、回転後の検査対象画像を生成できる。
【発明の効果】
【0017】
以上説明したように、運用時に生成された検査対象画像に含まれる検査対象物が、参照画像に含まれる検査対象物と実質的に同一の位置となるように、運用時の検査対象画像の生成条件を算出し、その生成条件には、撮像部の視野範囲内において検査対象物を参照画像と実質的に同一の位置で出力可能にする出力領域の位置情報が含まれているので、運用時に光学条件が変化しても、設定時と同様な検査対象画像を生成できる。
【図面の簡単な説明】
【0018】
【
図1】実施形態に係る産業用カメラを備えた画像検査システムの使用状態を示す全体図である。
【
図6】産業用カメラの内部構造を示す断面図である。
【
図8】ダウンスケーリングの概念を説明する図である。
【
図9】具体的なワークを撮像した画像に基づいてダウンスケーリングを行う場合を説明する図である。
【
図10】任意の位置のズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。
【
図11】ズーム指示等を受け付けるユーザインタフェース画面の一例を示す図である。
【
図12】マウスを用いた領域選択によるズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。
【
図13】任意の位置をパンチルトした後、ダウンスケーリングを行う場合を説明する図である。
【
図14】画像の縦横比を変更した状態でダウンスケーリングを行う場合を説明する図である。
【
図15】固定箇所を中心にダウンスケーリングした後、パンチルトを行う場合を説明する図である。
【
図16】ダウンスケーリングのみで対応可能なズーム倍率の場合を説明する図である。
【
図17】ダウンスケーリングと光学ズームで対応する場合を説明する図である。
【
図18】光学ズームとダウンスケーリングを組み合わせる場合の例を説明する図である。
【
図19】ダウンスケーリング時の縦横比のみを変更する場合の例を説明する図である。
【
図20】ダウンスケーリング時に画素数を増減させる場合の例を説明する図である。
【
図21】回転後の検査対象画像を生成する場合の例を説明する図である。
【
図22】ダウンスケーリングをプロセッサで実現する場合の例を示す図である。
【
図23】カラー撮像画像をダウンスケーリングした場合の概念図である。
【
図24】カラー撮像画像をダウンスケーリングする場合の手順を示す図である。
【
図25】カラー撮像画像を構成する各画素の補間処理及びダウンスケーリングの例を示す図である。
【
図26】ローパスフィルタが適用された場合を説明する図である。
【
図27】ズーム倍率入力時の処理手順の一例を示すフローチャートである。
【
図28】視野分解能指定時の処理手順の一例を示すフローチャートである。
【
図29】パンチルトの処理手順の一例を示すフローチャートである。
【
図30】縦横比変更の処理手順の一例を示すフローチャートである。
【
図31】検査対象画像の生成条件算出時における明るさの自動調整手順の一例を示すフローチャートである。
【
図32】検査対象画像の生成条件算出時におけるサーチ手順の一例を示すフローチャートである。
【
図33】検査対象画像の生成条件算出時における最終画像取得手順の一例を示すフローチャートである。
【
図34】検査対象画像の生成条件算出機能を開始する際に表示されるユーザインタフェース画面の一例を示す図である。
【
図35】検査対象画像を表示したユーザインタフェース画面の一例を示す図である。
【
図36】検査対象画像に加えて参照画像を表示したユーザインタフェース画面の一例を示す図である。
【
図37】カメラの姿勢を表示したユーザインタフェース画面の一例を示す図である。
【
図38】カメラの姿勢を詳細表示するためのウインドウの一例を示す図である。
【
図39】回転変換処理後のユーザインタフェース画面の一例を示す図である。
【
図40】対応点サーチ用の特徴領域とズームとの関係を説明する図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0020】
図1は、本発明の実施形態に係る産業用カメラ1を備えた画像検査システム2の使用状態を示す全体図である。
図1に示す画像検査システム2は、2台の産業用カメラ1と、コントロール用パーソナルコンピュータ(以下、コントローラという)3とを備えている。産業用カメラ1の台数は、2台に限定されるものではなく、1台であってもよいし、3台以上であってもよい。産業用カメラ1は、詳細は後述するが、
図2~
図5等に示すような形状を有しており、
図6に示すような内部構造を有している。この産業用カメラ1は、検査対象物であるワークWを撮像して得られた検査対象画像を生成する撮像部に相当する。このような検査対象画像を生成する産業用カメラ1を含む画像検査システム2を画像処理装置と呼ぶこともできる。
【0021】
図示しないが、例えばプログラマブルロジックコントローラや、ワークWの到着を検出するセンサ等から出力されるトリガ信号を産業用カメラ1が受信可能になっている。トリガ信号を受信した産業用カメラ1は撮像処理を実行して検査対象画像を生成する。また、産業用カメラ1は、トリガ信号を外部から受信することなく、内部で繰り返し撮像処理を実行して検査対象画像を生成してもよい。図示しないが、画像検査システム2は、ワークWを照明する照明部を備えていてもよく、照明部は産業用カメラ1の撮像処理と同期してワークWを照明するように制御される。
【0022】
本例では、
図1に示すように、産業用カメラ1が使用される現場として、複数のワークWがベルトコンベアB等の搬送装置によって順次搬送される現場である場合について説明するが、静止したワークWを検査する現場であってもよい。産業用カメラ1は、カメラ取付部材4に取り付けられており、所定の位置に所定の姿勢で設置される。
【0023】
コントローラ3は、産業用カメラ1の各種設定等を行うものであり、例えばデスクトップ型パーソナルコンピュータ、ノート型パーソナルコンピュータ等で構成できる他、画像検査専用の演算処理装置で構成することもでき、その形態は特に限定されない。コントローラ3は、本体部5と、記憶部6と、キーボード7と、マウス8と、モニタ9とを備えている。本体部5は、ケーブル10を介して産業用カメラ1と通信可能に接続されている。本体部5には、中央演算処理装置、ROM、RAM等で構成された制御部5aが設けられている。また、記憶部6は、ハードディスクドライブやソリッドステートドライブ等で構成されており、制御部5aを動作させるためのプログラムや、産業用カメラ1の設定情報、各種画像等が記憶される。記憶部6は、その一部が産業用カメラ1に設けられていてもよく、この場合、産業用カメラ1の設定情報、各種画像等を産業用カメラ1で保持することができる。
【0024】
キーボード7及びマウス8は、コントローラ3を操作するための操作部であり、キーボード7及びマウス8の操作状態は制御部5aによって検出される。操作部は、キーボード7及びマウス8に限定されるものではなく、いわゆるタッチパネル式の操作部であってもよい。モニタ9は、例えば液晶ディスプレイ装置等で構成されており、制御部5aによって制御されて産業用カメラ1を設定するための各種ユーザインタフェース、各種画像等の表示が可能になっている。
【0025】
(産業用カメラの構成)
図6に示すように、産業用カメラ1は、レンズユニット20と、センサ基板30と、メイン基板40と、筐体50と、記憶部39とを有している。記憶部39には、産業用カメラ1の設定情報、各種画像等が記憶される。
【0026】
筐体50は、例えばアルミニウム合金等の高剛性な部材で構成されている。尚、説明の便宜上、
図2~
図5に示すように上下方向、左右方向及び前後方向を定義するが、これは使用時の姿勢を限定するものではなく、どのような姿勢であっても産業用カメラ1を使用できる。
【0027】
図7に示すように、産業用カメラ1には加速度センサ32が取り付けられている。加速度センサ32は、産業用カメラ1の姿勢に関する情報を取得するためのセンサであり、例えば鉛直方向に対する傾きや水平方向に対する傾き等の計測が可能である。具体的には、加速度センサ32を用いることで、ピッチ、チルト、ロール等の各角度を基準からの差に基づいて算出し、その算出結果から産業用カメラ1の姿勢に関する情報が取得される。
【0028】
筐体50は、上側部分51と、下側部分52とを有している。上側部分51は、下側部分52に比べて前後方向に長く形成されている。下側部分52は、上側部分51の後側から下方へ突出するように形成されている。
図2や
図3に示すように、上側部分51の前面部には受光窓51aが形成されている。また、
図6に示すように、上側部分51には、レンズユニット20とセンサ基板30が収容され、下側部分52には、メイン基板40が収容されている。つまり、筐体50には、後述するイメージセンサ31、プロセッサ41、出力部42が内蔵されている。
【0029】
レンズユニット20は、電動で光学ズームが可能なズーム光学系を備えたズームレンズであり、所定の範囲内であれば、光学ズーム倍率を任意の倍率に切り替えることができる。レンズユニット20は、筐体50に固定され、当該筐体50と一体化されている。
【0030】
すなわち、レンズユニット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は、手動で光学ズームが可能なズーム光学系であってもよい。
【0031】
第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から出射した光を受光する。
【0032】
鏡筒26には、ズーム用ボールねじ56aと、ズーム用ガイドシャフト56bと、ズーム用ボールねじ56aを正逆方向に回転させるズーム用モータ56cとが設けられている。第2レンズ群22はズーム用ボールねじ56a及びズーム用ガイドシャフト56bに支持されており、ズーム用モータ56cによってズーム用ボールねじ56aが回転すると、第2レンズ群22が光軸方向に移動し、これにより、所望のズーム倍率が得られるようになっている。ズーム用ボールねじ56a、ズーム用ガイドシャフト56b及びズーム用モータ56cは、第2レンズ群22を光軸方向に駆動し、光学倍率を調整するズーム用レンズ駆動機構である。
【0033】
また、鏡筒26には、フォーカス用ボールねじ56dと、フォーカス用ガイドシャフト56eと、フォーカス用ボールねじ56dを正逆方向に回転させるフォーカス用モータ56fとが設けられている。第4レンズ群24はフォーカス用ボールねじ56d及びフォーカス用ガイドシャフト56eに支持されており、フォーカス用モータ56fによってフォーカス用ボールねじ56dが回転すると、第4レンズ群24が光軸方向に移動し、これにより、フォーカス調整が行われるようになっている。フォーカス用ボールねじ56d、フォーカス用ガイドシャフト56e及びフォーカス用モータ56fは、第4レンズ群24を光軸方向に駆動し、焦点位置を調整するズーム用レンズ駆動機構である。
【0034】
図7に示すように、メイン基板40には、ズーム制御部40a、AF制御部40b及びインタフェース部40cが設けられている。インタフェース部40cは、例えばズーム指示等を外部から受け付ける部分であり、インタフェース部40cが光学ズームのズーム指示を受け付けた場合、ズーム制御部40aは、ズーム用モータ56cを制御し、インタフェース部40cで受け付けたズーム倍率となるように、第2レンズ群22を光軸方向に移動させる。
【0035】
AF制御部40bは、従来から周知のコントラスト方式や、位相差方式のオートフォーカス制御を実行する部分である。AF制御部40bがフォーカス用モータ56fを制御して焦点位置がワークWに合うように、第4レンズ群24を光軸方向に移動させる。
【0036】
図6に示すように、センサ基板30は、第5レンズ群25の後方に配置されている。センサ基板30には、撮像部としてのイメージセンサ31が実装されている。
図7に示すように、イメージセンサ31は、集光レンズにより集光された光を受光する光電変換部31aと、光電変換部31aにより取得された撮像画像から検査対象画像を生成するロジック部31bと、カラーフィルタ31c(
図6に示す)を有しており、検査対象物を撮像して得られたカラー検査対象画像の生成が可能になっている。光電変換部31aとカラーフィルタ31cとにより、各色が所定の配列パターンで形成されたカラー撮像画像の生成が可能になる。また、光電変換部31aによりモノクロ撮像画像の生成も可能である。以下の説明は、モノクロ撮像画像とカラー撮像画像の両方に適用可能である。
【0037】
光電変換部31aは、検査対象画像よりも画素数が大きな撮像画像を生成することが可能になっている。また、ロジック部31bは、光電変換部31aと同一チップに実装されており、画像生成部を構成する部分である。具体的には、光電変換部31aは、CMOS型撮像素子であり、複数のウエハの積み重ねで構成され、当該ウエハの一部によりロジック部31bが構成されている。ウエハの一部には、メモリ等が含まれていてもよい。
【0038】
また、光電変換部31aは、グローバルシャッタ方式またはローリングシャッタ方式のCMOS型撮像素子である。グローバルシャッタ方式の場合は、移動体に対しても歪みの無い画像を撮像することができる。ローリングシャッタ方式の場合は、グローバルシャッタ方式の場合の半分程度の画素ピッチで高画素化を実現することができるため、レンズユニット20の各レンズサイズを小型化することができ、ひいては筐体50の小型化が可能になり、設置時の自由度が向上する。光電変換部31aの画素群により、イメージセンサ31の視野範囲が形成されている。イメージセンサ31の視野範囲を光電変換部31aの視野範囲ともいう。
【0039】
ロジック部31bは、光電変換部31aの画素群(イメージセンサ31の視野範囲)の全部または一部の領域である出力領域に対応する撮像画像に対して、ダウンスケーリングを実行することによって、当該撮像画像よりも小さな画素数の検査対象画像を生成し、当該検査対象画像を出力する部分である。ここでダウンスケーリングとは、対象となる画像の画素分解能を下げる処理のことをいう。
【0040】
ダウンスケーリングの概念について
図8に基づいて説明する。
図8は、ワークWを産業用カメラ1で撮像する場合を模式的に示している。例えば光電変換部31aの画素数が20MP(メガピクセル)であったとする(図面においては、単に20M等と表記する)。
図8の左側に示すように、光学ズームすることで、通常視野よりも狭い視野になり、注目領域(ROI)は光学ズーム後の視野よりも更に狭い領域になる。
図8の右側に示すように、画素数20MPで撮像した撮像画像A1から注目領域を切り出した場合、画素分解能はそのままで例えば画素数が5MPの注目領域A2となる。光学ズーム後の撮像画像A3から注目領域を切り出した場合も同様に画素分解能はそのままで画素数が5MPの注目領域A4となる。
【0041】
撮像画像A1からダウンスケーリングする際、スケーリング倍率(ダウンスケーリング倍率ともいう)は任意に設定可能である。スケーリング倍率は、撮像画素数を出力画素数で除して求めることができ、例えば20MPで撮像した画像と同じ視野の画像を10MPで出力する場合には、スケーリング倍率が2倍となる。
【0042】
ダウンスケーリングは、画像の縦横比が一定のままで行うこともできるし、画像の縦横比を変化させて行うこともできる。画像の縦横比が一定のままの場合、上述したように、例えば20MPで撮像した画像と同じ視野の画像を10MPで出力する場合には、スケーリング倍率が2倍となる。一方、画像の縦横比を変化させる場合、例えば5000×4000の20MPの画素数で撮像した画像を同じ視野のまま2500×2000の5MPの画素数で出力すると、スケーリング倍率は4倍となる。また、3200×4000の注目領域を2000×2500にダウンスケーリングする場合、スケーリング倍率は2.56倍となる。
【0043】
画像の縦横比が一定のままでスケーリング倍率を例えば4倍とした場合には、画素数が5MPのワーク全体画像A5が得られることになる。画像A5に対して光学ズームとダウンスケーリングを併用することで、画像A5よりも画素分解能の高い注目領域A4が得られる。また、光学ズーム後の撮像画像A3からダウンスケーリングすることで、画像A3よりも画素分解能の低いワーク画像A6が得られる。
【0044】
図9は、具体的なワークWを撮像した画像に基づいてダウンスケーリングを説明するための図である。光電変換部31aの画素群の全部、すなわち撮像部の視野範囲の全部の領域である出力領域に対応する撮像画像を第1撮像画像B1とする。ロジック部31bは、第1撮像画像B1に対し、任意の第1のスケーリング倍率でダウンスケーリングし、第1撮像画像B1の画素数(例:20MP)よりも小さな第1画素数(例:1.6MP)の検査対象画像B2を生成する。
【0045】
インタフェース部40cは、光電変換部31a、すなわち撮像部の視野範囲において検査対象画像として出力する領域である出力領域の指定を受け付けることができる。この出力領域は、例えば
図8を用いて説明した注目領域に対応する領域であってもよい。インタフェース部40cは、出力領域の位置、大きさ、及び形状の少なくとも1つを変更する指示を受け付けることもできる。
【0046】
例えば、インタフェース部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ズーム倍率を整数だけでなく、小数点以下の精度で調整する指示を受け付け可能に構成されている。
【0047】
図7に示すように、メイン基板40には、各種演算を実行するとともに、イメージセンサ31を制御するプロセッサ41が設けられている。プロセッサ41は、演算部41aを有しており、演算部41aで演算された結果に基づいてプロセッサ41がイメージセンサ31のロジック部31bを制御し、所望の検査対象画像をロジック部31bに生成させる。
【0048】
演算部41aは、光電変換部31aの視野範囲内における変更後の出力領域に対応する第2撮像画像B1’を、上記第1画素数とするのに必要な第2のスケーリング倍率を算出する。演算部41aは、算出した第2のスケーリング倍率をロジック部31bに出力する。ロジック部31bは、第2撮像画像B1’を演算部41aで算出された第2のスケーリング倍率でダウンスケーリングすることにより、第1画素数の検査対象画像B3を生成する。第1画素数の検査対象画像B3は、光電変換部31aの出力領域に対応する第1撮像画像B1よりも低分解能であるが、必要な検査精度を確保できるだけの分解能は有しており、検査精度の上で問題は生じない。
【0049】
演算部41aは、インタフェース部40cにより受け付けた第1ズーム倍率が高ければ高いほど、第2のスケーリング倍率を小さくするように演算する。ロジック部31bは、演算部41aで演算された第2のスケーリング倍率が小さくなればなるほど、第2撮像画像B1’に対するダウンスケーリング量を少なくする。これにより、ロジック部31bは高い画素分解能の検査対象画像を生成する。
【0050】
演算部41aは、インタフェース部40cにより受け付けた第1ズーム倍率に基づいて、第1画素数の検査対象画像B3の1画素が、第2撮像画像B1’の何画素に相当するかの比率を計算する。この比率を利用して、演算部41aは、第2のスケーリング倍率を算出する。
【0051】
インタフェース部40cが第1ズーム倍率を小数点以下の精度で調整指示を受け付けた場合には、演算部41aは、小数点以下の精度で調整指示を受け付けたズーム倍率に基づいて、検査対象画像B3の1画素が、第2撮像画像B1’の何画素に相当するかの比率を小数点以下まで計算する。これにより、演算部41aは第2のスケーリング倍率を小数点以下の精度で算出する。ロジック部31bは、小数点以下の精度で算出された第2のスケーリング倍率に基づいて検査対象画像を生成する。
【0052】
図10は、任意の位置のズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、光電変換部31aの出力領域を相対的に小さな領域に変更する第1ズーム指示を、検査対象画像の任意の位置のズーム指示として受け付け可能に構成されている。具体的には、
図10の撮像画像B1の中の枠C1は、説明の便宜上、撮像部の視野範囲内においてズーム指示を受け付けた位置及び領域を示すものであり、ユーザは、
図9の撮像画像B1全体がダウンスケーリングされた検査対象画像B2が表示されたモニタ9を確認しながら、マウス8等を介して枠C1を検査対象画像B2に対して指定してもよい。枠C1の位置は検査対象画像B2(すなわち撮像部の視野範囲)のどこに配置してもよく、配置された位置をインタフェース部40cが検出する。また、枠C1の大きさや形状もユーザが任意に設定することができる。
【0053】
インタフェース部40cによって任意の位置として枠C1が指定されたズーム指示を受け付けると、ロジック部31bは、撮像部の視野範囲内において、上記任意の位置を含む出力領域に対応する領域(すなわち枠C1に対応する撮像画像であり、1.6MPより大きい画素数とする)を1.6MPとするのに必要なスケーリング倍率でダウンスケーリングする。これにより、ロジック部31bは任意の位置を含む検査対象画像B4を生成する。枠C1の位置は、撮像部の視野範囲の中心からX方向(画像の横方向)またはY方向(画像の縦方向)にずれていてもよく、撮像部の視野範囲の中心、すなわち光軸からずれた位置にある領域をダウンスケーリングできる。すなわち、一般の光学ズームでは光軸中心に沿ったズームとなるが、本例のダウンスケーリングでは、光軸中心だけなく、光軸中心からずれている領域もズーム可能であり、ダウンスケーリング可能な領域の位置設定の自由度が高い。
【0054】
図11は、ズーム指示を受付可能な設定用のユーザインタフェース画面100を示している。このユーザインタフェース画面100は、コントローラ3の制御部5aが生成してモニタ9に表示させる。ユーザインタフェース画面100上では、キーボード7やマウス8による操作が可能になっており、どのような操作がなされたかは制御部5aが検出して記憶する。
【0055】
ユーザインタフェース画面100には、画像表示領域101が設けられている。画像表示領域101には、光電変換部31aの視野範囲全体における出力領域の位置を示した俯瞰画像D1と、出力領域に対応する検査対象画像D2とが表示されるようになっている。すなわち、
図7に示す産業用カメラ1のインタフェース部40cは、光電変換部31aの視野範囲全体における出力領域の位置を示した俯瞰画像D1と、出力領域に対応する検査対象画像D2とを外部に出力可能に構成されている。具体的には、メイン基板40には、出力部42が設けられている。出力部42は、イメージセンサ31から出力された俯瞰画像D1、検査対象画像D2を外部に出力する部分である。出力の際、例えば入出力端子60及びケーブル10を介して産業用カメラ1からコントローラ3へ画像データが送信される。
【0056】
図11に示すユーザインタフェース画面100には、ユーザがズーム倍率を調整するためのズーム調整領域101Aが設けられている。ズーム調整領域101Aをマウス8で「T」側に操作することでテレ側にズームされて視野範囲が狭まる一方、「W」側に操作することで反対に視野範囲が拡大する。また、マウス8のホイールを操作することによっても、ズーム倍率を調整できる。調整されたズーム倍率はコントローラ3側で一旦記憶されて産業用カメラ1のインタフェース部40cに転送され、インタフェース部40cで受け付けられる。
【0057】
ズーム倍率の調整は、数値によっても可能である。すなわち、ユーザインタフェース画面100には、数値入力領域102が設けられている。数値入力領域102は、ユーザがズーム倍率を数値で入力することによって調整するためのものであり、キーボード7やマウス8等によって任意に数値を入力できる。
【0058】
図12は、マウス8を用いた領域選択によるズーム指示に基づいてダウンスケーリングを行う場合を説明する図である。枠C10は、マウス8の操作によって形成されたものであり、例えば左上から右下(または右上から左下等)にドラッグ操作することで形成できる。ロジック部31bは、枠C10で囲んだ領域に対応する撮像画像をダウンスケーリングすることにより、5MPの検査対象画像を生成する。また、枠C11も同様にしてマウス8の操作によって形成することができ、枠C11内の領域が拡大される。このとき、撮像画像B1における枠C11内の領域が5MP未満であり、出力する検査対象画像のサイズが5MPである場合、最大分解能(撮像画像B1の分解能)を超えてしまうため、枠C11を含む5MPの領域が、スケーリング倍率が1倍でダウンスケーリングされて(つまり、実質的にはダウンスケーリングされずに)、検査対象画像として出力される。
【0059】
図13は、任意の位置をパンチルトした後、ダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、任意の位置を、X方向及びY方向に調整する第1パンチルト指示を受け付け可能に構成されている。例えば、光電変換部31aの視野範囲の中央を注目領域として枠C1で指定した後、枠C1の位置をX方向及びY方向に移動させ、例えば符号C1’で示す位置に配置する。枠C1でダウンスケーリングした場合には検査対象画像B5が得られる。ロジック部31bは、X方向及びY方向に調整された後の任意の位置(枠C1’の位置)に対応する撮像画像をダウンスケーリングすることにより、X方向及びY方向の位置が調整された検査対象画像B5’を生成する。ロジック部31bは、枠C1’で囲まれた領域内の一部を更にダウンスケーリングすることにより、検査対象画像B6を生成する。
【0060】
X方向及びY方向の調整は、
図11に示すユーザインタフェース画面100を使用することで可能になる。ユーザインタフェース画面100には、視野位置調整領域103が設けられている。視野位置調整領域103は、上下左右それぞれの方向に向いた矢印等を組み合わせて構成されており、例えば上向きの矢印を操作するとで、枠C1の位置が上へ移動する。同様にして、枠C1の位置を下、左、右の任意の位置に調整できる。枠C1をマウス8によって直接ドラッグ操作してもよい。
【0061】
図14は、画像の縦横比を変更した状態でダウンスケーリングを行う場合を説明する図である。インタフェース部40cは、光電変換部31aの出力領域の縦横比の変更を受け付け可能に構成されている。例えば枠C1で示すように、撮像部の視野範囲内の任意の位置のズーム指示を受け付けると、ロジック部31bは、枠C1に対応する撮像画像をダウンスケーリングすることにより、検査対象画像B7を生成する。その後、枠C1で特定される領域の縦横比をユーザが自由に指定できる。縦横比を変更した後の領域を枠C2で示す。ロジック部31bは、縦横比が変更された出力領域(枠C2で囲まれた領域)に対応する領域をダウンスケーリングすることにより、検査対象画像B7’を生成する。そこから、枠C2で囲まれた領域内の一部を更にダウンスケーリングすることにより、検査対象画像B7’ ’を生成する。
【0062】
図15は、固定箇所を中心にダウンスケーリングした後、パンチルトを行う場合を説明する図である。例えば光電変換部31aの視野中心を固定箇所とした場合、ロジック部31bが、撮像部の視野範囲の中心を含む枠C1をダウンスケーリングすることにより検査対象画像B5を生成した後、
図13に示すようにパンチルトすることで、ロジック部31bが、パンチルト後の領域に対応する撮像画像をダウンスケーリングすることにより検査対象画像B8を生成する。
【0063】
また、インタフェース部40cは、検査対象画像の画素数を、第1画素数から第2画素数に変更する画素数変更指示を受け付け可能に構成されている。第2画素数は、第1画素数よりも大きい画素数である。具体的には、
図11に示すユーザインタフェース画面100には、画素数設定領域104が設けられている。画素数設定領域104では、検査対象画像の画素数を予め決められている選択肢の中からプルダウンメニューの形式で選択可能になっている。選択可能な画素数は、例えば1.6MP以上5MP以下の範囲とすることができるが、これに限られるものではない。
【0064】
また、インタフェース部40cは、検査対象画像の画素数を、第1画素数から第2画素数に変更する画素数変更指示を受け付け可能に構成されている。第2画素数は、第1画素数よりも大きい画素数である。具体的には、
図11に示すユーザインタフェース画面100には、画素数設定領域104が設けられている。画素数設定領域104では、検査対象画像の画素数を予め決められている選択肢の中からプルダウンメニューの形式で選択可能になっている。選択可能な画素数は、例えば1.6M以上5M以下の範囲とすることができるが、これに限られるものではない。選択可能な画素数の上限は、ユーザとの契約によって設定することができ、例えばユーザとの契約が低額料金である場合には選択可能な画素数の上限を低くし、高額料金である場合には選択可能な画素数の上限を高くして高精度な検査を可能にする。
【0065】
また、画素数設定領域104では、縦横比も選択できる。すなわち、画素数設定領域104のプルダウンメニューには、それぞれが検査対象画像の画素数と縦横比の組合せである、複数の選択肢が表示される。ユーザは、これら選択肢の内からいずれか一つの選択肢の選択が可能になっている。選択された画素数に関する情報は、インタフェース部40cで受け付けられ、画素数変更指示として産業用カメラ1のプロセッサ41に送信される。
【0066】
画素数変更指示をプロセッサ41が受け取ると、演算部41aは、光電変換部31aの視野範囲内において、画素数変更指示の前と同じ出力領域に対応する撮像画像を、第2画素数とするのに必要なスケーリング倍率を算出する。演算部41aが算出したスケーリング倍率はロジック部31bに送られ、ロジック部31bは、撮像画像を、そのスケーリング倍率でダウンスケーリングすることにより、第2画素数の検査対象画像を生成する。縦横比が変更された場合、ロジック部31bは、光電変換部31aの視野範囲内において、縦横比が変更された出力領域に対応する領域をダウンスケーリングすることにより、縦横比が変更された検査対象画像を生成する。つまり、ロジック部31bは、画素数設定領域104で選択された検査対象画像の画素数と縦横比の組み合わせにしたがって、検査対象画像を生成する。
【0067】
図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が得られる。
【0068】
すなわち、光学ズームを使っていないにも関わらず、検査対象画像E3よりも画素分解能を高めつつ、ワークWを拡大して表示させた検査対象画像E4が得られる。本明細書では、このズーム処理のことを「センサズーム」と呼ぶことがある。
【0069】
図17は、ズーム倍率がある倍率以上であり、ダウンスケーリングと光学ズームの両方で対応する必要がある場合を説明する図である。
図17の上側は撮像画像F1、光学ズーム画像F2、撮像画像F3であり、下側は検査対象画像E4、E5、E6である。撮像画像F1が生成された範囲に対して光学ズームすることで、視野範囲の狭い光学ズーム画像F2が得られる。右側の撮像画像F3ではワークWが存在しない黒い領域の信号は読み出さないようにしている。右側の撮像画像F3の枠F7で囲まれた部分を注目領域とする。この注目領域の画素数は6MPである。
【0070】
左側の撮像画像F1をスケーリング倍率4倍でダウンスケーリングすると左側の検査対象画像F4が得られる。中央の検査対象画像F5は、光学ズームによって取得された画像であることから光電変換部31aの視野中心に沿ってズームされる。よって、ワークWの中心が光電変換部31aの視野中心からずれていると、ズーム後の画像において、ワークWが画像中心からずれることになる。中央の検査対象画像F5は画素分解能が向上している。右側の検査対象画像F6は、右側の撮像画像F3の枠F7で囲まれた注目領域をスケーリング倍率1.2倍でダウンスケーリングした画像であり、画素数は5MPとなる。
【0071】
図18は、光学ズームとダウンスケーリングを組み合わせる場合の例を説明する図であり、パターン1とパターン2とを示している。パターン1では、指定されたズーム倍率が低い領域からダウンスケーリング限界近傍倍率まで、光学ズームをオフにして当該光学ズームを行わずに、ダウンスケーリングによるズームを行う。ダウンスケーリングはダウンスケーリング限界近傍倍率で固定する。ダウンスケーリング限界近傍倍率を超えると、光学ズームをオンにして当該光学ズームの倍率上限までズームする。このとき、指定されたズーム倍率が大きくなるにつれて光学ズームの光学倍率も大きくなる。光学ズームの倍率上限を超えると、光学ズームは固定し、ダウンスケーリングによるセンサズームを行う。このパターン1によれば、光学ズーム後においても、ダウンスケーリングを実行可能(すなわちセンサズームの余力を残すことが可能)であるため、検査対象画像として最終的に出力する領域を定める際の微調整を光学ズームではなく、センサズームにより実行することができる。
【0072】
パターン2では、ズーム倍率が低い領域からダウンスケーリング限界倍率(1倍)まで、光学ズームを行わずに、ダウンスケーリングによるズームを行う。ダウンスケーリング限界倍率までダウンスケーリングを行っているので、以降、ダウンスケーリングは行わない。ダウンスケーリング限界倍率を超えると、光学ズームを使用して光学ズームの倍率上限までズームする。
【0073】
つまり、
図16~
図18を用いて説明したように、ロジック部31bは、インタフェース部40cを介してユーザにより指示されたズーム倍率が所定の倍率以下である場合は、当該指示されたズーム倍率に基づいて算出された第2のスケーリング倍率で第2撮像画像をダウンスケーリングすることにより検査対象画像を生成するように構成されている。一方、ロジック部31bは、インタフェース部40cを介してユーザにより指示されたズーム倍率が前記所定の倍率よりも大きい場合は、ズーム光学系による光学ズームにより、当該指示されたズーム倍率に相当する検査対象画像を生成するように構成されている。前記所定の倍率は、第2のスケーリング倍率が下限値の1倍近傍のスケーリング限界近傍倍率となるズーム倍率とすることができる。
【0074】
また、インタフェース部40cを介してユーザにより指示されたズーム倍率が前記所定の倍率よりも大きい場合、演算部41aは、ズーム光学系による光学ズームを行う。また、ロジック部31bは、スケーリング限界近傍倍率でダウンスケーリングを行うことにより、指示されたズーム倍率の検査対象画像を生成する。
【0075】
また、インタフェース部40cは、光学ズームの光学倍率が上限値に達した後も、より大きなズーム倍率を受け付け可能に構成されている。インタフェース部40cが受け付け可能なズーム倍率の上限値に達すると、演算部41aは、上限値の光学倍率で光学ズームの駆動を実行する。また、ロジック部31bは、インタフェース部40cが受け付け可能なズーム倍率の上限値の光学倍率で撮像された出力領域に対応する撮像画像をスケーリング倍率が1倍でダウンスケーリングして(実質的にはダウンスケーリングを行うことなく)、検査対象画像を生成する。つまり、演算部41aは、ユーザからズーム倍率の指定を受け付けると、受け付けたズーム倍率に基づいて、光学ズームの光学倍率、及びダウンスケーリングのスケーリング倍率を算出する。そして、算出した光学倍率に基づいてズーム光学系を駆動する。
【0076】
また、演算部41aは、インタフェース部40cによりズーム倍率の変更を変更指示信号として受け付け可能になっている。変更指示信号に基づいて変更指示されたズーム倍率が前記所定の倍率以下である場合は、演算部41aにより算出されたスケーリング倍率で撮像画像のダウンスケーリングを実行するように、イメージセンサ31に制御信号を送信して、ダウンスケーリングを実行させる。一方、変更指示信号に基づいて変更指示されたズーム倍率が所定の倍率よりも大きい場合は、ズーム光学系、即ちズーム用モータ56cに光学ズームを行うように駆動信号を送信する。ズーム用モータ56cは駆動信号によって動作し、所望のズーム倍率が得られる。
【0077】
図19に示すように、ダウンスケーリング時に画像の縦横比を変えることができる。FIG.19A、FIG.19Bでは、横長の注目領域を縦長に変更した場合を示しているが、反対に縦長の注目領域を横長に変更することもできる。この変更指示は、
図11に示すユーザインタフェース画面100の画素数設定領域104を介してユーザが行える。尚、FIG.19Bに示すように、光電変換部31aの形状の制約上、変更指示を受けた縦横比では光電変換部31aで撮像可能な範囲外に注目領域が位置する場合が考えられる。この場合には、変更指示を受けた縦横比をできるだけ満たすように、演算部41aがダウンスケーリング時のスケーリング倍率を再計算し、ロジック部31bは、再計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。
【0078】
図20に示すように、ユーザによる設定に基づいて、ダウンスケーリング時に画素数を増減させることができる。FIG.20A、20B、20Cは、空間分解能(スケーリング倍率)を変えずに画素数を変更する場合を示している。FIG.20A、20Bでは、光電変換部31aで撮像可能な範囲内で画素数を変更しているので、演算部41aは、ユーザによる設定を反映させたスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。一方、FIG.20Cは、ユーザによる設定を反映させると、光電変換部31aで撮像可能な範囲を超えてしまうので、演算部41aは、ユーザによる設定を用いずに、画素数の変更を制限するようにスケーリング倍率を計算する。計算時には、ユーザによる設定にできるだけ近いスケーリング倍率となるようにする。そして、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。
【0079】
FIG.20D、20E、20Fは、撮像視野を変えずに画素数を変更する場合を示している。FIG.20D、20Eでは、最小分解能以上の画素数への変更であるため、演算部41aは、ユーザによる設定を反映させたスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。一方、FIG.20Fは、最小分解能未満の画素数への変更であるため、演算部41aは、ユーザによる設定を用いずに、画素数の変更を制限するようにスケーリング倍率を計算し、ロジック部31bは、計算されたスケーリング倍率でダウンスケーリングを行って検査対象画像を生成する。つまり、演算部41aは、ユーザによる設定に基づいて、第1画素数から第2画素数への変更を制限可能に構成されている。
【0080】
また、インタフェース部40cは、ユーザによる画素数変更指示の後に、出力領域をさらに相対的に小さな領域に変更する第2ズーム指示、及び出力領域をX方向及びY方向にさらに調整する第2パンチルト指示を受け付け可能に構成されている。第2ズーム指示は、第2ズーム指示と同じように、ユーザの指示によって受け付けることができる。また、第2パンチルト指示は、第1パンチルト指示と同じように、ユーザの指示によって受け付けることができる。
【0081】
インタフェース部40cが第2ズーム指示及び第2パンチルト指示を受け付けた場合、演算部41cは、光電変換部31aの視野範囲内において、第2ズーム指示および第2パンチルト指示の少なくとも一方により変更された出力領域に対応する撮像画像を、第2画素数とするのに必要なスケーリング倍率を算出する。ロジック部31bは、演算部41cが算出したスケーリング倍率で撮像画像をダウンスケーリングすることにより、第2画素数の検査対象画像を生成する。
【0082】
図21は、回転後の検査対象画像を生成する場合の例を説明する図であり、回転設定用ユーザインタフェース画面110を示している。回転設定用ユーザインタフェース画面110には、光電変換部31aの出力領域に対応する検査対象画像が表示される画像表示領域111と、回転角度設定領域112とが設けられている。回転角度設定領域112では、画像の回転方向の設定と、回転角度の設定が可能になっており、これら設定項目はユーザによるキーボード7やマウス8の操作で設定可能になっている。
【0083】
回転角度設定領域112で回転方向および回転角度が設定されると、演算部41aは、検査対象画像の画素数及び形状を固定した状態で、検査対象画像を設定された方向に設定された角度だけ回転させる。つまり、演算部41aが検査対象画像に対して任意の角度の回転変換処理を適用する。これにより、回転後の検査対象画像を生成して画像表示領域111に表示させることができるので、例えば産業用カメラ1の設置方向が傾いていたときに、その傾きをソフトウェア上で補正できる。
【0084】
図22は、ダウンスケーリングをプロセッサ41で実現する場合の例を示す図である。この図に示すように、レンズユニットは光学ズームできない非ズームレンズとしている。イメージセンサ31は、光電変換部31aで撮像した画像をダウンスケーリングすることなく、プロセッサ41に出力する。プロセッサ41には、ダウンスケーリング部41Aが設けられており、ダウンスケーリング部41Aは上述したようなダウンスケーリングを実行して検査対象画像を生成する。その他の処理は、イメージセンサ31でダウンスケーリングを実行する場合と同じである。
【0085】
(カラー撮像画像の処理)
イメージセンサ31でカラー撮像画像を生成できるので、インタフェース部40cでは、光電変換部31aの視野範囲においてカラー検査対象画像として出力する領域である出力領域の指定を受け付けることができる。
【0086】
イメージセンサ31では、カラーフィルタ31cを有していることで、各色が所定の配列パターンで形成されたカラー撮像画像の生成が可能である。具体的には、光電変換部31aが出力するカラー撮像画像の配列パターンは、
図23に示すようにベイヤ配列である。ベイヤ配列では、赤成分(R画素)および青成分(B画素)に加えて第1の緑成分(Gr画素)と第2の緑成分(Gb画素)とが所定の配列パターンで配列される。配列パターンはベイヤ配列に限られるものではなく、他の配列パターンであってもよい。
【0087】
また、光電変換部31aは、画素数の異なるカラー検査対象画像を生成可能に構成されている。光電変換部31aでカラー撮像画像が生成された場合には、プロセッサ41は、カラーの検査対象画像に対して上述したような演算処理や画像処理を実行する。本例では、カラーフィルタ31cを有しているので、3板式のカメラを用いることなく、またRGBを時系列で点灯することなく、カラー撮像画像を生成できる。
【0088】
ロジック部31bは、光電変換部31aの視野範囲の出力領域に対応するカラー撮像画像を取得した後、当該カラー撮像画像の各色を、上記配列パターンに基づいて個別にダウンスケーリングし、ダウンスケーリング後の各色の画素値を、各色の配列パターンがカラー撮像画像の配列パターンと一致するように配置する。これにより、カラー撮像画像の画素数よりも小さな画素数のカラー検査対象画像を生成することができる。
【0089】
例えば
図23に示すように、ロジック部31bは、カラー撮像画像のベイヤ配列に含まれる赤成分、当該赤成分と行方向に隣接する第1の緑成分、青成分、及び当該青成分と当該行方向に隣接する第2の緑成分を、それぞれ個別にダウンスケーリングする。そして、ロジック部31bは、ダウンスケーリング後の当該青成分、当該第1の緑成分、当該赤成分、及び当該第2の緑成分の各色の画素値を、各色の配列パターンが当該カラー撮像画像のベイヤ配列の配列パターンと一致するように配置することにより、カラー検査対象画像を生成する。
【0090】
すなわち、ユーザがカラー検査対象画像として出力する領域を出力領域として指定すると、出力領域に対応するカラー撮像画像の各色が所定の配列パターンに基づいて個別にダウンスケーリングされる。ダウンスケーリング後の各色の画素値は、各色の配列パターンがカラー撮像画像の配列パターンと一致するように配置される。これにより、カラー撮像画像の画素数よりも小さな任意の画素数のカラー検査対象画像を生成することが可能になり、後段のプロセッサやFPGAによる画像処理において、配列パターンの不一致に起因する追加の処理が不要となる。
【0091】
具体例について説明すると、ロジック部31bは、カラー撮像画像の各色に対して、X又はY方向の一方である第1方向にダウンスケーリングした後、当該第1方向のダウンスケーリングにより得られた画像に対して、X又はY方向の他方である第2方向にダウンスケーリングすることによって、カラー検査対象画像を生成するように構成されている。より具体的には、
図24に示すように、ロジック部31bは、カラー撮像画像の各色に対して第1方向にダウンスケーリングした後、第1方向のダウンスケーリングにより得られた画像に対して第2方向にダウンスケーリングすることによって、カラー検査対象画像を生成する。
図24では、Gr画素に対して、第1方向である水平方向(X方向)に画素補間するとともにダウンスケーリングし、その後、第2方向である垂直方向(Y方向)に画素補間するとともにダウンスケーリングする。また、R画素、B画素、Gb画素のそれぞれに対しても、Gr画素と同様に水平方向に画素補間するとともにダウンスケーリングした後、垂直方向に画素補間するとともにダウンスケーリングする。
【0092】
図25に水平方向の場合を示すように、画素補間する際には、同色の隣接した2画素値の加算平均を演算する。また、ダウンスケーリングの際には、ダウンスケーリングにより得られる検査対象画像の一画素に含まれる、ダウンスケーリング前の撮像画像の各画素のサブピクセルレベルでのサイズに応じた加重平均を演算する。
図25中、α、β、γは、入力画素の大きさを1とした場合のサブピクセルサイズを示している。また、αとγはそれぞれ1未満の値を設定することができるため、小数点以下の精度でスケーリング倍率を算出することもできる。また、画像中の他のR画素群に対しても同様の処理を実行する。
図25ではR画素について示しているが、他の色の画素も同様である。
【0093】
垂直方向についても、水平方向のダウンスケーリング後の画素を用いて、垂直方向に同様の処理を実行する。つまり、ロジック部31bは、ダウンスケーリング後の検査対象画像の各画素に対応する、ダウンスケーリング前のカラー撮像画像の位置の近傍範囲に存在する同一色の複数の画素に基づいて検査対象画像の各画素の画素値を算出する。そして、ロジック部31bは、カラー撮像画像の近傍範囲をダウンスケーリングのスケーリング倍率に基づいて決定する。
【0094】
図26に示すように、カラー撮像画像を処理する際にはローパスフィルタを適用することもできる。この場合、指定したローパスフィルタ領域(LPF領域)分だけ、ダウンスケーリング後の検査対象画像の一画素が拡大されたものとみなしてダウンスケーリングする。ローパスフィルタ領域は当該ダウンスケーリング後の一画素の両側に均等に適用する。片側あたりのローパスフィルタ領域(サブピクセルサイズ)は、ダウンスケーリングによる縮小度にローパスフィルタ設定値を乗じて得た値を1/2することで算出する。また、ローパスフィルタ設定値は0以上の値であり、かつ、{3×(縮小度-1)}/縮小度で求められる値よりも小さな値とする。
図26中、α、β、γ、δは、入力画素の大きさを1とした場合のサブピクセルサイズを示している。また、画像中の他のR画素群に対しても同様の処理を実行する。
図26ではR画素について示しているが、他の色の画素も同様である。
【0095】
また、プロセッサ41は、インタフェース部40cが画素数を変更する指示を受け付けると、画素数の変更前後でカラー検査対象画像の各色の配列パターンを一致させる。これにより、変更前のカラー検査対象画像の画像処理における各色の配列パターンに関する設定を変更することなく、変更後のカラー検査対象画像の画像処理を実行することができる。
【0096】
インタフェース部40cが出力領域の位置、大きさ、及び形状の少なくとも1つを変更する指示を受け付けた場合、ロジック部31bは、出力領域の変更前に生成したカラー検査対象画像と各色の配列パターンが一致する、変更後の出力領域に対応するカラー検査対象画像を生成する。
【0097】
また、ロジック部31bは、カラー撮像画像をプロセッサ41に転送する際の転送速度と比較して、カラーの検査対象画像をプロセッサ41に転送する転送速度が相対的に速くなるように、カラー撮像画像をダウンスケーリングする。すなわち、
図22に示すように、イメージセンサ31の外部でダウンスケーリングすることも可能であるが、この場合、カラー撮像画像のデータ量が大きいので、プロセッサ41への転送速度が問題となることが考えられる。カラー撮像画像をダウンスケーリングして、カラー撮像画像をプロセッサ41に転送する際の転送速度よりも速い速度でカラーの検査対象画像をプロセッサ41に転送することで、処理速度を高速化でき、高速な移動体に対する画像検査が可能になる。また、イメージセンサ31から出力された検査対象画像の画素数に応じて、ロジック部31bからプロセッサ41までの転送速度を変化させることもできる。
【0098】
(設定時のフロー)
以上のように、産業用カメラ1を備えた画像検査システム2では様々な処理を実行することができ、その処理の手順は矛盾が生じない範囲で任意に設定できる。以下では、処理手順の一例についてフローチャートに基づいて説明する。
【0099】
図27は、ズーム倍率入力時の処理手順の一例を示すフローチャートである。スタート後のステップSA1では撮像設定を起動する。撮像設定の起動時は、第2レンズ群22を広角側に移動させる。ステップSA2では、ユーザによるズーム倍率の入力をインタフェース部40cが受け付ける。ズーム倍率の入力時には、
図11に示すようなユーザインタフェース画面100が使用されるので、ズーム調整領域101Aを操作して入力できる。他の例として、ズーム倍率を数値で入力してもよい。
【0100】
ステップSA3では、ステップSA2の入力値(ズーム倍率)が第1のズーム値(第1のズーム倍率)よりも大きいか否かを判定する。NOと判定される場合には、ステップSA4に進んでダウンスケーリング設定変更を行う。ステップSA5でトリガ信号が入力するとステップSA6に進んで検査対象画像を表示させる。
【0101】
ステップSA3でYESと判定された場合にはステップSA7に進み、ステップSA2の入力値(ズーム倍率)が第2のズーム値(第2のズーム倍率)よりも大きいか否かを判定する。NOと判定される場合には、ステップSA8に進んでダウンスケーリングを既定のズーム倍率で固定し、それ以上のズームはステップSA9において光学ズームで対応する。その後、ステップSA5に進む。
【0102】
ステップSA7でYESと判定された場合には、ステップSA10で光学ズームのズーム倍率を最大にするとともに、ダウンスケーリングのスケーリング倍率を1に設定し、ステップSA9に進む。
【0103】
図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に示すフローと同様な手順を実行する。
【0104】
図29は、パンチルトの処理手順の一例を示すフローチャートである。スタート後のステップSC1では、ユーザが
図11に示すユーザインタフェース画面100上の視野位置調整領域103を操作して上下左右の位置調整を行う。ステップSC2では、ステップSC1で位置調整した領域がイメージセンサ31の最大視野範囲よりも狭いか否かを判定する。ステップSC2でNOと判定された場合には、ステップSC3で最大範囲をクリッピングする。その後、ステップSC4に進み、注目領域の位置を変更する。ステップSC2でYESと判定された場合もステップSC4に進む。
【0105】
図30は、縦横比変更の処理手順の一例を示すフローチャートである。スタート後のステップSD1では、ユーザが
図11に示すユーザインタフェース画面100の画素数設定領域104を操作して所望の縦横比に変更する。ステップSD2では、変更後の画素領域が同じスケーリング倍率でのイメージセンサ31の視野範囲内に収まっているか否かを判定する。NOと判定された場合にはステップSD3に進み、ステップSD1で変更された縦横比となるようにズーム倍率を変更する。ステップSD4では、
図27に示すフローと同様な手順を実行する。その後、ステップSD5に進み、注目領域のサイズを変更する。ステップSD2でYESと判定された場合も、ステップSD5に進む。
【0106】
(検査対象画像の生成条件算出機能)
画像検査システム2は、事前に撮像された参照画像に基づいて運用時の検査対象画像の生成条件を算出する生成条件算出機能を有している。すなわち、
図7に示す記憶部39は、検査対象物が事前に撮像された参照画像を記憶可能に構成されている。参照画像は、産業用カメラ1で検査対象物を撮像した検査対象画像であり、検査対象物を含んでいる。記憶部39には、複数の参照画像を記憶することができる。記憶部39は、参照画像が生成されたときの光学条件が規定された光学条件ファイルを、参照画像と関連付けて記憶可能に構成されている。光学条件ファイルには、ズーム倍率が含まれており、ズーム倍率は、光学ズームのズーム倍率とダウンスケーリング倍率を含んでいる。また、記憶部39は、参照画像が生成された時を特定するための情報として年月日等も参照画像と関連付けて記憶可能に構成されている。
【0107】
演算部41aは、運用時に産業用カメラ1で生成された検査対象画像に含まれる検査対象物と、記憶部39に記憶されている参照画像に含まれる検査対象物との位置関係を特定する特定処理を実行する。特定処理の実行後、演算部41aは、運用時に産業用カメラ1で生成された検査対象画像に含まれる検査対象物が、参照画像に含まれる検査対象物と実質的に同一の位置となるように、運用時の検査対象画像の生成条件を算出する。この生成条件には、光電変換部31aの視野範囲内において、検査対象物を参照画像と実質的に同一の位置で出力可能にする出力領域の位置情報を含んでいる。産業用カメラ1は、運用時に上記生成条件に基づいて制御され、上記生成条件に含まれる位置情報の出力領域に対応する検査対象画像を生成する。
【0108】
検査対象画像の生成条件には、出力領域の位置情報に加えて、参照画像に含まれる検査対象物と同じ姿勢となるように、検査対象画像を回転させる回転方向及び角度に関する情報が含まれている。また、検査対象画像の生成条件には、参照画像に含まれる検査対象物と、検査対象画像内の検査対象物が略同一の大きさとなるように計算されたズーム倍率が含まれている。生成条件にズーム倍率が含まれている場合、演算部41aは、計算されたズーム倍率にしたがって、レンズユニット20をズームすることにより、参照画像と検査対象画像に含まれる検査対象物を略同一の大きさにする。
【0109】
検査対象画像の生成条件には、画像の明るさに関する条件が含まれている。画像の明るさに関する条件は、参照画像の明るさを分析し、当該分析結果に基づいて、検査対象画像の明るさが略同一な明るさになるような撮像条件として算出される。
【0110】
記憶部39に複数の参照画像が記憶されている場合、インタフェース部40cは、記憶部39に記憶された複数の参照画像の中からユーザによる所望の参照画像の選択を受け付ける。産業用カメラ1の光学条件の初期条件は、選択された参照画像に関連する光学条件ファイルの光学条件に設定される。
【0111】
以下、フローチャート及びユーザインタフェースの例を示しながら、検査対象画像の生成条件算出機能の具体例について説明する。
図31に示すフローチャートのスタート後のステップSE1では、産業用カメラ1が検査対象物を撮像して検査対象画像を生成する。例えば、
図34に示すように、設定用のユーザインタフェース画面100に「自動再現ツール」という名称のボタン105を設けておく。ボタン105は、検査対象画像の生成条件算出機能を開始する際に操作するボタンであり、演算部41aは、ボタン105が操作されたことを検出すると、
図31に示すフローチャートをスタートさせるとともに、
図35に示すように、ユーザインタフェース画面100に検査対象画像を表示する検査対象画像表示領域110と、参照画像を表示する参照画像表示領域111とを生成する。ユーザインタフェース画面100には、参照画像の選択領域112も設けられている。選択領域112には、事前に撮像された複数の参照画像がサムネイル形式で表示されており、撮像時の光学条件と撮像日時も参照画像に関連付けられた状態で表示される。選択領域112で参照画像が選択されると、
図36に示すように、選択された参照画像が参照画像表示領域111に表示される。
【0112】
図31に示すフローチャートのステップSE2では、産業用カメラ1が生成した検査対象画像の輝度値を演算部41aが取得する。ステップSE3では、演算部41aが、ステップSE2で取得した輝度値に基づいて平均濃淡値を算出し、算出した平均濃淡値が所定値(例えば64)よりも大きいか否かを判定する。64以下であれば、ステップSE4に進み、演算部41aが露光時間を計算し、露光時間を変更する。ステップSE5では、変更後の露光時間を用いて産業用カメラ1が検査対象物を撮像して検査対象画像を生成する。ステップSE6では、産業用カメラ1が生成した検査対象画像の輝度値を演算部41aが取得し、平均濃淡値が上記所定値よりも大きいか否かを判定する。64以下であれば、ステップSE7に進み、演算部41aが露光時間を計算し、露光時間を変更する。撮像~露光時間の変更処理は、平均濃淡値が64よりも大きくなるまで何度か繰り返す。つまり、演算部41aは、後述する対応点サーチが可能なレベルの明るさにとなるように、参照画像の輝度値に基づいて、産業用カメラ1の露光時間を調整する。上記「64」という値は一例であり、対応点サーチが可能なレベルの明るさに対応する値であればよい。
【0113】
その後、
図32に示すフローチャートのステップSE8に進み、平均濃淡値が64よりも大きくなった検査対象画像を準備する。また、ステップSE9では、対応点サーチ用の特徴領域の指定を受け付ける。対応点とは、検査対象画像又は参照画像上で、検査対象画像に含まれる検査対象物と参照画像に含まれる検査対象物との位置関係を特定するための点である。
【0114】
具体的には、
図36に示すように、ユーザがマウス8を例えばドラッグ操作等し、検査対象画像上で検査対象物が存在する領域を囲むようにして指定する。参照画像上でも、同様にして検査対象物が存在する領域を指定できる。このようにして指定された領域が対応点サーチ用の特徴領域であり、インタフェース部40cによって受け付けられる。また、ステップSE10では、表示画像を更新する。
【0115】
図36に示すユーザインタフェース画面100には、参照画像の撮像時の産業用カメラ1の姿勢に関する情報を表示させるための操作部113が設けられている。演算部41aは、操作部113が操作されたことを検出すると、参照画像の撮像時の産業用カメラ1の姿勢に関する情報を取得し、
図37に示すように姿勢表示領域115に表示させる。すなわち、加速度センサ32によって産業用カメラ1の姿勢に関する情報を取得することができるので、参照画像を取得する時に、産業用カメラ1の姿勢に関する情報も一緒に取得することで、参照画像と、産業用カメラ1の姿勢に関する情報とを関連付けて記憶部39に記憶させることができる。演算部41aは、選択された参照画像を記憶部39から読み込む際に、産業用カメラ1の姿勢に関する情報も読み込む。
【0116】
また、演算部41aは、検査対象画像を取得した時(現在)の産業用カメラ1の姿勢に関する情報も加速度センサ32から取得する。姿勢表示領域115には、参照画像の撮像時の産業用カメラ1の姿勢と、検査対象画像を取得した時の産業用カメラ1の姿勢とを表示する。姿勢表示領域115の白三角で示しているのが、参照画像の撮像時の産業用カメラ1の姿勢であり、また黒三角で示しているのが、検査対象画像を取得した時の産業用カメラ1の姿勢である。
【0117】
図37に示すユーザインタフェース画面100には、詳細表示ボタン116が設けられている。演算部41aは、詳細表示ボタン116が操作されたことを検出すると、
図38に示すような詳細表示ウインドウ120をモニタ9に表示させる。詳細表示ウインドウ120には、姿勢表示領域115と同様な模式図により、参照画像の撮像時の産業用カメラ1の姿勢と、検査対象画像を取得した時の産業用カメラ1の姿勢とを比較可能に表示する模式図表示領域121と、検査対象画像を取得した時の産業用カメラ1の姿勢を数値で表示する第1値表示領域122と、参照画像を取得した時の産業用カメラ1の姿勢を数値で表示する第2表示領域123とが設けられている。詳細表示ウインドウ120には、産業用カメラ1を背面から見たときの模式図及び傾きと、産業用カメラ1を側面から見たときの模式図及び傾きと、産業用カメラ1を上面から見たときの模式図及び傾きとが表示される。これにより、インタフェース部40cを介して参照画像が指定された後、参照画像の撮像時の産業用カメラ1の姿勢に関する情報を表示するとともに、現在の産業用カメラ1の姿勢と、参照画像の撮像時の産業用カメラ1の姿勢とをモニタ9に比較表示できる。
【0118】
演算部41aは、上述のように産業用カメラ1の姿勢を比較表示した後、検査対象画像の生成条件を算出するとともに、産業用カメラ1が位置情報の出力領域に対応する検査対象画像を生成する。具体的には、
図32に示すフローチャートのステップSE11では、オートフォーカスによって視野範囲の中央部にピントを合わせて撮像する。つまり、後述する対応点サーチを実行する前に、産業用カメラ1のフォーカス調整を実行する。ステップSE12では、ピントの合った画像が取得されたか否かを判定する。具体的には、隣接画素との画素値の差が大きいか否かを判定する。そして、ステップSE13に進んで表示画像を更新する。ステップSE14では、2倍画像を演算する。2倍画像を演算する際、ステップSE9で特徴領域の指定がなかった場合には、画像中央を基準とする一方、特徴領域の指定があった場合には、指定された特徴領域の中央を基準とする。
【0119】
ステップSE15では、2倍ズーム画像を取得する。ステップSE16では、2倍画像を演算し、ステップSE17では4倍ズーム画像を取得する。ステップSE18では、演算部41aが、参照画像を記憶部39から読み出して取得する。ステップSE19では、検査対象画像に含まれる検査対象物と参照画像に含まれる検査対象物との位置関係を特定するための対応点サーチを特徴領域内で実行する。
【0120】
また、ステップSE20では、2倍ズーム画像の特徴領域内で対応点サーチを実行する。また、ステップSE21では、ズーム前の画像の特徴領域内で対応点サーチを実行する。ステップSE22では、ステップSE19~21の各対応点サーチの結果を取得し、相関値が一番高いデータを特定し、取得する。
【0121】
その後、
図33のステップSE23、SE24、SE25に進み、それぞれ、位置座標(x,y)、角度、スケールを取得する。つまり、検査対象画像内から参照画像の領域を取得する。ステップSE26では、対応点サーチの結果を示す枠を表示する。
【0122】
ステップSE27では、検査対象画像と参照画像の検査対象物の大きさ及び向きが一致するように、検査対象画像をズームするとともに回転させる。このとき、ズーム光学系による光学ズームと上述した「センサズーム」の一方または両方を適用することできる。特にセンサズームは、撮像部の視野範囲内の任意の位置でズーム可能であるため、光学ズームのように光軸からワークがずれていくことが無いため、産業用カメラ1の取り付け位置の調整の手間を減らすことができる。具体的には、
図36及び
図37に示す実行ボタン114をユーザが操作する。演算部41aは、実行ボタン114が操作されたことを検出すると、ステップSE27を実行し、検査対象画像に対して、参照画像に含まれる検査対象物と同じ姿勢となる角度の回転変換処理及び拡大処理を適用することにより、回転及び拡大後の検査対象画像を生成する。回転変換処理及び拡大処理後のユーザインタフェース画面100を
図39に示す。尚、必要に応じて、拡大のみ実行してもよいし、回転のみ実行してもよい。これにより、ステップSE28では、検査対象画像の位置及びスケールを参照画像の検査対象物に合わせた画像を生成する。ステップSE29では、表示画像を更新して生成した検査対象画像をユーザに示す。
【0123】
図39に示すように、ユーザインタフェース画面100には、完了ボタン114aと、破棄ボタン114bと、再調整ボタン114cとが設けられている。回転変換処理後の検査対象画像で問題無ければ、ユーザが完了ボタン114aを操作することで、次のステップに進む一方、回転変換処理後の検査対象画像に何らかの問題があれば、ユーザが破棄ボタン114を操作することで、回転変換処理後の検査対象画像を破棄する。また、回転変換処理後の検査対象画像を再調整したい場合には、ユーザが再調整ボタン114cを操作することで各種条件の再調整が可能になる。
【0124】
図33に示すフローチャートのステップSE30では参照画像を取得し、ステップSE31で検査対象画像と参照画像の明るさが一致するように、明るさを調整する。明るさを調整する際、例えばオートフォーカス中、所定の短時間(例えば0.5秒間)に1回、画像を更新する。オートフォーカスが所定の短時間内で完了する場合には画像更新は不要である。
【0125】
ステップSE32では、明るさが参照画像に合った検査対象画像を取得する。ステップSE33では表示画像を更新する。ステップSE34では、検査対象画像と参照画像のピントが一致するようにオートフォーカスを実行する。ステップSE35ではピントの合った検査対象画像が取得される。ステップSE36では表示画像を更新する。ステップSE37では参照画像を取得し、ステップSE38では検査対象画像と参照画像の微調整を行うための対応点サーチを実行する。ステップSE39では角度を取得し、ステップSE40では、対応点サーチの結果を示す枠を表示する。
【0126】
ステップSE41では、検査対象画像と参照画像の検査対象物の大きさ及び向きが一致するように、検査対象画像をズームするとともに回転させる。その後、ステップSE42で最終画像を取得してステップSE43で表示画像を更新する。
【0127】
図40は、対応点サーチ用の特徴領域とズームとの関係を説明する図である。
図40中、符号200で示す枠は、産業用カメラ1の最大視野を示している。
図40の左最上部に示す例では、ダウンスケーリング時のスケーリング倍率が最大であり、光学ズームによる拡大はしていない状態である。枠201は、対応点サーチ用の特徴領域を示している。ここで、スケーリング倍率を算出する際には、対応点サーチ用の特徴領域/出力領域のサイズで算出することができ、例えば最大視野が画素数20M、出力領域が画素数5Mの場合、最大スケーリング倍率は20M/5M=4倍とすることができる。
【0128】
最小スケーリング倍率(=1.0)未満であれば、光学ズームによる拡大が必要になり、例えば符号202で示す範囲まで拡大することで、ダウンスケーリングが可能になる。一方、最小スケーリング倍率(=1.0)以上なら、スケーリング倍率は最大とし、光学ズームによる拡大は無しとする。また、産業用カメラ1の光軸中心から最も遠い点を起点とするとともに、最小スケーリング倍率以上とし、かつ、光軸中心に対称な領域を決定することができる(
図40の左最下部)。そして、光学ズーム倍率を算出し、算出した光学ズーム倍率でズームした後の座標系で、注目領域(符号203で示す枠)とスケーリング倍率を決定する(
図40における右最下部)。
【0129】
図41は、対応点サーチ用の特徴領域が小さすぎる場合を示している。光軸中心にズームすると、
図41の中央の図に示すように領域が決定される。枠202は、画素数が20Mになるように光学ズームした時の枠200に相当するサイズが最小スケーリング倍率未満のときを示している。例えば、出力領域の画素数が5Mで、特徴領域の画素数が1Mの場合を挙げることができる。
【0130】
図41の下に示すように、枠202まで光学ズームで拡大し、特徴領域201を含むように、5M相当の枠204を設定する。枠204内の領域をそのまま出力することができる。
【0131】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0132】
以上説明したように、本発明に係る産業用カメラは、各種検査対象物を検査するための検査対象画像を生成する場合に利用できる。
【符号の説明】
【0133】
1 産業用カメラ
20 レンズユニット
31 イメージセンサ
31a 光電変換部
31b ロジック部
31c カラーフィルタ
40c インタフェース部
41 プロセッサ
41a 演算部