以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
以下では、画像処理装置は、表示用の画面を一体的に有した表示設定部として説明するが、これに限定されず、表示用の画面と個別に設けられるとしてもよい。また、画像処理装置は、入力画像を得るための撮像部を有した視覚センサとは別体に設けられるとしているが、視覚センサに内蔵されるとしてもよい。
図1は、本実施の形態に係る画像処理装置を含む視覚センサシステムの全体構成を示す概略図である。図2には、本実施の形態に係る視覚センサと表示設定部の構成が示される。図3には、本実施の形態に係る視覚センサと表示設定部の間で授受されるデータが模式的に示される。
図1を参照して、本実施の形態に係る視覚センサシステム1においては、画像処理装置に対応する表示設定部201と視覚センサ200とが、伝送ケーブル202によって、所定のプロトコルに従った通信が可能なように接続される。IOケーブル203は、視覚センサ200とPLC(Programmable Logic Controller)400とを通信可能なように接続する。PLC400は、他の装置からの信号を受信したり、当該他の装置に信号を送信したりすることによって、視覚センサシステム1の全体を制御する。
表示設定部201には、伝送ケーブル202と図示しないハブとを介して、複数の視覚センサ200が接続されてもよい。ユーザは、表示設定部201を介して、視覚センサ200に対して画像処理・撮像処理のためのデータを送信することにより画像処理・撮像処理を制御することができる。表示設定部201は、視覚センサ200からの画像処理結果を受信し、表示することができる。
また、視覚センサ200には、IOケーブル203を介して、図示しない外部の電源から電力が供給される。
視覚センサシステム1は、たとえば、生産ラインなどに組み込まれる。視覚センサシステム1は、検査対象(後述の「ワーク2」)を撮像することによって得られる画像に基づいて、文字の認識やキズの検査といった処理(以下、「検査処理」とも称す。)を実行する。
視覚センサ200は、撮像部212とコントローラ部213を備え、撮像部212は、照明部211と撮像レンズ221を有する。コントローラ部213は、マイクロコンピュータを内蔵する。視覚センサ200の筐体には、視覚センサ200を図示しない支持部材に取り付けるための取付部214が配設される。
表示設定部201は、LCD(Liquid Crystal Display)と、指や専用ペンでLCD画面に触れることで操作の指示を入力するためのタッチパネルとが一体的に構成されたLCDタッチパネル204を有する。表示設定部201は、撮像部212によって撮像された画像データを受信してLCDタッチパネル204に表示するとともに、LCDタッチパネル204から入力したユーザの操作による指示を視覚センサ200のコントローラ部213に送信する。
図3を参照して、視覚センサ200と表示設定部201の間の通信データについて説明する。通信データには、視覚センサ200から表示設定部201に対して送信される、検査処理に係る各種パラメータの現在の値を示す現在値データ500と、検査結果のデータ502、および撮像部212がワーク2を撮像して出力する入力画像が含まれる。さらに、表示設定部201から視覚センサ200に対して送信される、検査処理に係る各種パラメータに対して設定された設定値データ501が含まれる。
視覚センサ200および表示設定部201の構成について、図2を参照して説明する。視覚センサ200は、照明部211、ワーク2を撮像するための撮像部212、およびコントローラ部213を含む。撮像部212は、撮像レンズ221およびカメラ222を有する。
照明部211は、照明用のレンズ224と光源であるLED(Light Emitting Diode)225を有する照明制御システム223を含む。
コントローラ部213は、図示されないランプなどの表示灯を制御する表示灯制御部227、視覚センサ200を制御するためのCPU226、各部に電力を供給するための電源システム228、伝送ケーブル202に接続される外部機器通信システム229、外部機器と入出力するための入出力システム230、画像・検査結果・画像処理の各種パラメータの現在値データ500などの各種データを格納するためのメモリ231含む。
表示設定部201は、各部に電力を供給するための電源部240、タッチパネルなど外部から指示を入力するために操作される操作部241、LCD242、LCD242を制御するLCD制御部243、LCD制御部243を介してLCD242における画像の表示を制御する表示画像制御部244、画像を格納するための画像保存部245、画像制御部246および伝送部247を含む。表示設定部201はLCD制御部243、表示画像制御部244および画像制御部246などの機能を実現するためにマイクロコンピュータを有する。
伝送部247は、伝送ケーブル202に接続されており、入力を切換えるためのスイッチ248を含む。本実施の形態では、表示設定部201には、伝送ケーブル202を介して、複数台の視覚センサ200が接続され得る。伝送部247は複数台の視覚センサ200と通信するための複数の入力ポートを有する。スイッチ248はマイクロコンピュータの指令に従って、複数の入力ポートのうちの1つを選択する。表示設定部201は、選択された入力ポートに接続された視覚センサ200との間で通信可能となる。
表示設定部201は、製造現場などでは製造ラインを巡回するユーザにより携帯可能なように小型化されているため、LCD242の画面サイズも小さくなっている。
LCD242は、LCD制御部243からの制御信号に基づいて、画像を表示する。LCD制御部243は、表示画像制御部244からの画像信号に基づいて、LCD242の表示処理を制御するための制御信号を生成し、LCD242に出力する。
操作部241は、表示設定部201の筐体の外側に設けられたスイッチや、LCD242の表面を覆う図示しないタブレットなどによって実現される。LCD242とタブレットは、タッチパネルを構成する。ユーザは、スイッチやタッチパネルを介して、表示設定部201に各種の指示(または命令)を入力する。
表示画像制御部244は、操作部241からの指示信号304、または画像制御部246から与えられる画像306、または伝送部247を介して視覚センサ200から与えられる入力画像300、または現在値データ500に基づいて、合成画像303を生成し、LCD制御部243に出力する。
また、表示画像制御部244は、操作部241からの指示信号304に基づく値を入力し、設定値データ501として伝送部247に出力する。設定値データ501は、伝送部247を経由して、視覚センサ200に送信される。
画像制御部246は、視覚センサ200からの入力画像を画像保存部245に格納する。また、画像制御部246は、画像保存部245に格納されている画像を読み出し、表示画像制御部244に出力する。
本実施の形態では、検査処理の各項目に関する現在値データ500を表示する、または設定値データ501をユーザに入力させるために、表示設定画面が表示設定部201のLCD242に表示される。この表示設定画面の生成方法について以下に詳述する。
図4には、本実施の形態に係る表示画像制御部244の構成の一例が示される。図4を参照して、表示画像制御部244は、メニュー画像信号発生部251、合成部252および記憶部253を含む。
本実施の形態では、表示設定画面は階層的に複数の設定画面からなると想定する。メニュー画像信号発生部251により、各設定画面に用いられるメニュー画像302が生成される。メニュー画像302は、検査処理のための画像処理に係る複数種類のパラメータ値等の情報を表示したり、ユーザによる入力操作を受け付けたりするための部分画像である複数のUI(User Interface)部品からなる。パラメータ値は画像処理の項目毎に調整可能であり、UI部品は、画像処理項目のうちパラメータ値を調整する処理項目を選択するためのアイコン、チェックボックス、パラメータ値を入力するためのテキストボックス、スライドバーなどを含む。各処理項目に対応のUI部品が指定操作されると、指定されたUI部品に対応する処理項目についてパラメータ値を設定するための、次位の階層のメニュー画像302が生成され、そのメニュー画像302を用いて生成された合成画像303が表示される。
メニュー画像信号発生部251は、記憶部253から読み出されるUI部品の種類や位置に関する情報301と、操作部241から出力される指示信号304と、視覚センサ200のメモリ231から読み出された現在値データ500に基づき、メニュー画像の信号を生成し、生成したメニュー画像302を合成部252に出力する。
合成部252は、フレーム単位で与えられる画像300,306と、メニュー画像信号発生部251から出力されるメニュー画像302とを入力する。合成部252は、メニュー画像302をフレーム単位で画像300,306に重畳させるように合成し、合成されたフレーム単位の合成画像303を出力する。合成部252に与えられるメニュー画像302は、視覚センサ200から受信したワーク2の撮像による入力画像または、画像制御部246が画像保存部245から読み出したワーク2の撮像画像に相当する。なお、合成部252は、メニュー画像302が与えられない場合には、画像300,306をそのまま出力する。したがって、この場合には、合成画像303は、画像300,306に相当する。
LCD制御部243は、表示画像制御部244から合成画像303を入力し、合成画像303を表示させるための制御信号を生成し、生成した制御信号を用いてLCD242を制御する。これにより、LCD242の画面には、合成画像303がフレーム単位で更新されながら表示される。
ここで、本実施の形態に係るメニュー画像信号発生部251および合成部252は、合成に際してメニュー画像302のピクセル(画素)毎に透明度を指すパラメータの値を可変に設定する。パラメータの値はたとえば、画像透過処理に係るα(アルファ)ブレンド処理のα値である。
パラメータの値を最大値に設定することでピクセルは不透明となり、0に設定することでピクセルは透明となり、その中間値を設定することによりピクセルは半透明となる。LCD242に表示されるメニュー画像302については、ピクセルを半透明に設定するので、メニュー画像302は半透過の状態で画像300上に重畳表示される。したがって、ユーザはメニュー画像302の下に表示される画像300を確認しながら、検査処理に係る各種パラメータの現在値を確認でき、また、各種パラメータについての値を設定することができる。
本実施の形態に係る視覚センサシステム1は、動作モードとして、検査処理に係る各種パラメータの値を調整することにより設定する調整モードと、製造ライン上のワーク2の検査処理を実行する運転モードとを含む。調整モードおよび運転モードのいずれにおいても表示設定部201には画像(合成画像を含む)が表示される。ここでは、調整モードにおける画像処理について説明するが、以下に説明するメニュー画像の切り替えは、運転モードにおいても同様に適用することができる。
図5には、本実施の形態に係る調整モードにおける表示設定部201の画像処理フローチャートが示される。図5を参照し、本実施の形態に係る画像処理の手順について説明する。なお以下の説明において、画像300は、画像306と置き換えてもよい。
調整モードの開始時において、最上位階層のメニュー画像302が画像300に重畳されることによって生成された合成画像303がLCD242に表示される(ステップS3)。
ユーザは、合成画像303が表示されると、操作部241を操作して、パラメータ値を設定する項目を選択する(ステップS7)。メニュー画像信号発生部251は、選択された項目に対応した指示信号304を入力し(ステップS9)、入力した指示信号304に従って次位のメニュー画像302を生成し、出力する(S11)。合成部252は、画像300に次位のメニュー画像302が重畳されることにより生成された合成画像303を出力する(ステップS12)。これにより、LCD242では、LCD制御部243によって生成される制御信号により合成画像303が表示される(ステップS13)。
ユーザは、合成画像303におけるUI部品を用いて、操作部241を操作し、各種パラメータの設定値を入力する。
設定値入力に関する指示信号304がメニュー画像信号発生部251に与えられると、メニュー画像信号発生部251は指示信号304に従ってメニュー画像302を生成し、出力する。これにより、LCD242の合成画像303は、指示信号304に基づいてUI部品に値・データなどが表示された合成画像303に更新されて表示される(ステップS15)。なお、入力されて確定された設定値は、メニュー画像信号発生部251に関連する図示しないメモリ領域に設定値データ501として格納される。
メニュー画像信号発生部251は、操作部241を介して、合成画像303におけるメニュー画像302が占める面積が広いものと狭いものとの切り替えを指示する指示信号304が与えられたか否かを判定する(ステップS17)。このメニュー画像302の切り替えについては、後述する。
メニュー画像302の切り替えのための指示信号304が与えられていないと判定すると(ステップS17でNO)、処理は後述するステップS21に移るが、指示信号304が与えられたと判定すると(ステップS17でYES)、表示切り替え処理がされる(ステップS19)。
メニュー画像信号発生部251は、切り替えのための指示信号304が与えられる毎に、指示信号304を記憶するように動作する。したがって、表示切換処理では、記憶された指示信号304に基づき、現時点で合成画像303に合成されているメニュー画像302の面積が広いものか狭いものかを判定できる。
ユーザは、表示されるメニュー画像302のUI部品を用いたパラメータ値の設定の終了を希望する場合には、操作部241によって、設定終了の操作、またはメニュー画像302の中の項目選択の操作をする。操作による指示信号304はメニュー画像信号発生部251に出力される。
メニュー画像信号発生部251は、指示信号304に基づき設定終了と判定すると(ステップS21でYES)、メモリ領域から設定値データ501を読み出し、出力する。これにより、設定値データ501は、伝送部247を経由して、視覚センサ200に送信される(ステップS25)。視覚センサ200のCPU226は、受信した設定値データ501をメモリ231に現在値データ500として格納する。その後、撮像部212の撮像画像を用いた検査処理では、メモリ231から読み出した現在値データ500を用いて処理が実行される。
メニュー画像信号発生部251は、指示信号304に基づき項目選択が指示されたと判定すると(ステップS21でNO、ステップS23でYES)、処理はステップS9に戻り、選択された項目について、以降の処理が同様に行われる。
メニュー画像信号発生部251は、指示信号304に基づき設定終了も指示されず、また項目選択も指示されていないと判定すると(ステップS21でNO、ステップS23でNO)、処理はステップS15に戻り、現在表示されているメニュー画像302における設定値の入力処理が継続する。
次に、上述した図5の処理手順に従うLCD242における表示画像の一例を図6〜図12を参照し説明する。これら図面では、ワーク2の表面(文字)を拡大して撮像した画像300にメニュー画像302を合成して表示するケースを想定している。
図6は、検査処理におけるNG判定のしきい値を設定するための設定画面である。LCD242の画面全体に画像300が表示され、検査範囲を指す検査領域枠402がデフォルトで画像300全体に設定される。また、画像300内に、操作部241を操作することによってユーザが入力したモデル領域枠401がグラフィック表示される。モデル領域枠401は、検査処理のための基準(モデル)となる部分画像の領域を指す。
図6(A)に表示されるメニュー画像302は、文字列情報表示部601および602、共通ボタン701〜703、確定ボタン704、キャンセルボタン705等のUI部品から成る。文字列情報表示部601は、常に画面の上部に配され、表示されている設定画面や設定項目の内容、設定値、ユーザに対するガイダンス等の情報を表示する。共通ボタン701〜703は、常に画面の下部に配され、各メニュー画像302での共通機能を提供するために表示される。メニュー画像302を構成する各UI部品は透過画像であるので、画像300を確認ながらメニューを操作することが可能となる。
共通ボタン701は、アイコンの一例であり、メニュー画像302の切り替えの指示を入力するために操作される。共通ボタン701は、切り替え表示される全ての画面において、所定位置(本実施の形態では画面左下位置)に固定的に表示されるので、ユーザは、画面が切り替わったとしても共通ボタン701を見失いにくい。
共通ボタン702は、画像300の表示の態様(拡大・縮小など)を変更するために操作される。共通ボタン703は、画面キャプチャを実行するために操作される。確定ボタン704およびキャンセルボタン705は、画面の下部において、メニュー画像302を介して入力した設定値データ501を確定/キャンセルするために操作される。確定操作がされた場合には、メニュー画像302を介して入力された設定値は確定されて、メニュー画像信号発生部251に関連するメモリ領域に設定値データ501として格納され、設定画面は上位層の画面に変更される。一方、キャンセル操作がされた場合には、メニュー画像302を介して入力した設定値はキャンセルされて、設定画面が上位層の画面に変更される。
図6(A)の表示状態において、共通ボタン701が操作されると、メニュー画像302のUI部品等は共通ボタン701を残して消去される(図6(B)を参照)。この際にモデル領域枠401、検査領域枠402は表示されたままである。図6(B)の共通ボタン701が操作されると、メニュー画像302の元のUI部品が再び、画像300上に重畳して表示される(図6(A)を参照)。
なお、図6(A)のUI部品602〜605は、モデル領域枠401内の部分画像(モデル)を用いた検査処理のための現在値データ500が指すしきい値(モデルと撮像画像との相関値、判定の種別)を表示する表示部、相関値を設定するために操作部241により操作されるスライドバーおよびしきい値を数値入力するためのテキストボックスを指す。
本実施の形態では、合成画像303において共通ボタン701が表示されており、共通ボタン701を操作することにより、いずれの合成画像303においても同様にして、メニュー画像302の切り替えをすることができる。
上述したように、メニュー画像302を切り替えることによって、画像300上に重畳されるメニュー画像302のUI部品数を異ならせることができる、すなわち画像300上に重畳されるメニュー画像302が占める面積を異ならせることができる。したがって、メニュー画像302を面積の小さなものに切り替えることにより、ユーザは、画像300の全ての領域の確認や指定がし易くなる。
また、共通ボタン701の操作により、表示されるメニュー画像302のUI部品を拡大/縮小することにより、表示されるUI部品数はそのままとしながら、画像300上に重畳されるメニュー画像302が占める領域のサイズを異ならせるようにしてもよい。
なお、メニュー画像302の切り替えを指示するための操作部は、表示される共通ボタン701に限定されない。共通ボタン701に代替して、表示設定部201の筐体などに備え付けられた操作スイッチであってもよい。その場合には、操作スイッチの操作に連動して、画像300に重畳されるメニュー画像302が表示される場合と表示されない場合とに切り替えられる。
また、メニュー画像302を面積の小さいものに切り替えた際に、共通ボタン701の透明度をより大きくしてもよく、また共通ボタン701の位置をいわゆるドラッグアンドドロップ操作によって変えられるようにしてもよい。また、共通ボタン701を表示せず、LCD242とタブレットからなるタッチパネルをいわゆるダブルクリックすることによってメニュー画像302表示画面に切り替えてもよい。これにより、ユーザは共通ボタン701に邪魔されることなく、合成画像303の全ての領域を確認し指定することができる。
図7を参照して、モデル領域枠401の編集について説明する。図7(A)においては、モデル領域編集のための各種の設定項目選択用ボタンを表示するために操作される共通ボタン706が表示されている。共通ボタン706を操作したときに表示される選択用ボタンの具体例については後述する。
モデル領域枠401のサイズ・位置を変更するなどして編集する場合、画像300の全画面を表示する方が、編集しやすい。そこで、共通ボタン701を操作して、メニュー画像302のUI部品を非表示にする(ただし、共通ボタン701は表示のまま残す)ことで(図7(B)参照)、モデル領域枠401の編集が容易となる。
このように、表示される画像300の全部または一部を検査処理のための領域(モデル領域など)として選択する場合には、共通ボタン701を操作してメニュー画像302のUI部品を消すことで画像300の全体が確認することができるので、領域の選択がし易くなる。
図8には、画像処理における色抽出に係るパラメータ値を設定するための画面の表示例が示される。色抽出の場合には、画像300に重畳表示されるメニュー画像302には、画像300から抽出するべき領域の色を選択するためのUI部品606〜611が含まれる。また、色抽出に係るパラメータ値の設定の完了を指示するために操作される共通ボタン707が表示される。
UI部品606は抽出すべき色を選択するためのチェックボックスを示す。UI部品608は、色選択カラーパレットを指す。色選択カラーパレットには、画面水平方向にスライド移動操作可能なUI部品610および画面垂直方向にスライド移動可能なUI部品611が設けられる。UI部品610をスライド操作することにより色相の度合いを、UI部品611をスライド操作することにより色彩の度合いをそれぞれ設定することができる。さらに、UI部品607(スライドバー)に設けられたUI部品609(スライダ)を操作することにより、明度を設定することができる。
画面上部に表示される文字列情報表示部601には、上述のUI部品のスライド操作で設定される値(H:色相、S:彩度、V:明度)が表示され、これらの値は、スライド操作に連動して変化する。
メニュー画像302のUI部品を介して色抽出のためのパラメータ値が設定されると、その設定値は、UI設定値305として、表示画像制御部244により読み取られる。表示画像制御部244は、UI設定値305が示す指定色の領域を、画像300から抽出し、抽出された色領域の部分のみを残した画像306を生成する。生成された画像306は、画像300に代替して合成部252へ与えられる。
これにより、UI部品を介して設定されるパラメータ値を用いた画像306に、メニュー画像302が重畳して表示されるので、ユーザは、パラメータ値を設定することができるとともに、設定するパラメータ値による画像処理結果を確認することができる。
このとき、共通ボタン701を操作して、メニュー画像302のUI部品を非表示にする(ただし、共通ボタン701は表示のまま残す)ことで(図8(B)参照)、画像処理結果の画像306の全体を確認することができる。
図9〜図12には、調整モードで表示される他の画面が示される。これらの画面でも、共通ボタン701が表示されることで、メニュー画像302を専有面積の大きいものと小さいものとに簡単に切り替えることができる。
図9(A)には、調整モードの上位層のメニュー画像302が示される。図9(A)では、メニュー画像302の左端のUI部品612は、表示設定部201の機能の項目メニューを示す。図9(A)において、運用項目メニューの“撮像”が選択された場合には、撮像のための設定項目である“カメラ調整”、“トリガ調整”および“位置ずれ修正”の選択ボタンが、画面右側に設定が必要な順番で表示される。
図9(B)は、UI部品612の運用項目メニューの“検査”が選択された場合の表示例であり、検査のために用いられる機能の一覧が、画面右側にメニュー形式で表示される。
図9(A)の画面右側に表示された設定項目のメニューから“カメラ調整”が選択された場合、図10(A)のメニュー画像302が表示される。図10(A)のUI部品614は、画像300におけるフォーカス値を表す数値(図10(A)では値85)と、それに対応する棒グラフを表示するものである。このフォーカス値は、撮像部212の焦点がワークなどの被写体に対してどの程度合致しているかの度合いを示し、視覚センサ200におけるピント調整の操作に連動して変化する。なおフォーカス値は入力画像内におけるエッジの発生量と相関関係にあるため、たとえば入力画像に含まれる色偏差に基づいて算出することができる。
図10(B)には、図9(A)の下位機能のメニューから“位置ずれ修正”が選択された場合に表示されるメニュー画像302の一例が示される。図10(B)では、文字列情報表示部601により、撮像部212の位置ずれを修正するための処理の選択の有無と、位置ずれ修正の設定である旨が表示される。
図10(B)において“位置ずれ修正設定”が選択された場合、図10(C)のメニュー画像302が表示される。図10(C)では、位置ずれ修正のための教示処理の実行を選択するためにUI部品709が表示される。教示処理においては、設定されたモデル領域枠401ならびに検査領域枠402の登録処理(表示設定部201の所定記憶領域への格納、または視覚センサ200に送信し所定記憶領域に格納する処理)が行われる。
図10(C)の共通ボタン706が操作されると、図11(A)に示すように、設定項目選択用ボタン7061が表示される。ここで“モデル領域編集”が選択された場合、図11(B)のメニュー画像302が表示され、位置ずれ修正処理に用いるモデル領域を設定することができる。図11(B)では、モデル領域枠401と405が設定されている。設定されたモデル領域の位置およびサイズが検出されて、文字列情報表示部601に表示される。また、UI部品613を操作することにより、画像300上のモデル領域枠401または405の位置とサイズを変更することができる。
図12には、図9(B)の機能メニューから“エッジ位置”が選択された場合に表示されるメニュー画像302の一例が示される。
図12の画面では、画像のエッジレベルが設定される。図12では、画像300から抽出すべきエッジレベルを設定するために、UI部品614および615、ならびにエッジグラフィック403が表示される。エッジグラフィック403は、検査領域枠402内のエッジレベルを検出して、グラフの横軸に画像300上の位置をとり、縦軸にエッジレベルをとったものである。
エッジグラフィック403は、画像300について画像制御部246によりピクセル毎の輝度成分のレベルに基づき、エッジ検出をすることにより生成される。生成されたエッジグラフィック403は画像300の上に重畳表示される。
エッジグラフィック403に関連してUI部品615(スライダ)が表示される。スライダを操作することにより、ユーザは所望するエッジレベルのしきい値を、エッジグラフィック403を参照しながら決定することができる。なお検出されたエッジ位置は十字マーク404で示される。
スライド操作中に、UI部品614の数値入力ボックスにおいては、スライド操作に連動して値が逐次更新されながら、設定されるしきい値が数値表示される。
上述の図9〜図12の画面においても、処理対象の画像300を全画面表示し、その上に半透過化されたUI部品を含むメニュー画像302が重畳表示され、そのような画面において、共通ボタン701の操作によりメニュー画像302のUI部品の切り替えをすることができる。
図13には、視覚センサ200の取付態様の一例が示される。図14には、複数の搬送機構6(図中の矢印は搬送方向を指す)であるベルトコンベヤなどの各搬送ラインに、視覚センサ200が取付けられた状態が、搬送ラインの上方向から見た状態で示される。図13では各ラインに対応の視覚センサ200は、カメラ222の撮像範囲が搬送ライン上に一致するように、取付部214を介して図示されない支持部材に取付けられる。撮像時には、照明光が搬送機構6の搬送ラインに向けて照射されることにより、撮像範囲における照明が確保される。各搬送ラインに設けられた視覚センサ200は、伝送ケーブル202を経由して、現在値データ500を含む検査処理のための情報および検査処理結果の情報などを相互に送受信する。
(他の実施の形態)
上述の実施の形態では、視覚センサ200において、撮像機能と検査処理のための画像処理機能とを一体的に備えるようにしたが、本実施の形態に示すように、両機能は個別・独立に備えるようにしてもよい。
図15を参照して、他の実施の形態に係る視覚センサシステム1はFAの生産・製造ラインなどに組み込まれ、被測定の対象物であるワーク2を検査処理するために、ワーク2はベルトコンベヤなどの搬送機構6によって図中の矢印方向に搬送され、撮像装置8によって順次撮像される。撮像装置8によって得られた画像データ(以下「入力画像」とも称す。)は、画像処理装置100へ伝送される。なお、撮像装置8で撮像されるワーク2に対して光を照射する照明機構をさらに設けてもよい。
ワーク2が撮像装置8の撮像範囲に到達したことは、搬送機構6の両端に配置された光電センサ4によって検出される。具体的には、光電センサ4は、同一の光軸上に配置された受光部4aと投光部4bとを含み、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aで検出することによって、ワーク2の到達を検出する。この光電センサ4の検出信号(以下「トリガ信号」とも称す。)は、PLC5へ出力される。
PLC5は、光電センサ4などからのトリガ信号を受信するとともに、搬送機構6の制御自体を司る。
図15の視覚センサシステム1は、さらに、画像処理装置100と、ディスプレイ102と、キーボード104とを含む。画像処理装置100は、PLC5と、撮像装置8と、ディスプレイ102と、キーボード104と接続される。
画像処理装置100は各種の動作モードを有し、動作モードには、ワーク2に対して検査処理を実行する運転モード、ならびに上述の調整モードが含まれる。運転モードにおいて、画像処理装置100は、PLC5を介して光電センサ4からのトリガ信号を受信すると、撮像装置8に対して撮像指令を与える。この撮像指令に応答して、撮像装置8がワーク2を撮像することで得られた入力画像は、画像処理装置100へ伝送される。代替の処理方法として、撮像装置8に対して連続的に撮像を行わせるとともに、トリガ信号の受信に応答して、必要な入力画像のみを画像処理装置100が取込むようにしてもよい。
撮像装置8は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged
Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。撮像装置8は、撮像範囲を決定する撮像装置8の設置位置を手動で変更可能な態様で取付けられていると想定する。
画像処理装置100は、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラムを実行することで、各種機能を提供する。
図16は、この発明の他の実施の形態に従う画像処理装置100の概略構成図である。図16を参照して、画像処理装置100は、演算処理部であるCPU110と、記憶部としてのメモリ112およびハードディスク114と、カメラインターフェイス116と、入力インターフェイス118と、表示コントローラ120と、PLCインターフェイス122と、通信インターフェイス124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して、互いにデータ通信可能に接続される。
CPU110は、ハードディスク114に格納されたプログラム(コード)をメモリ112に展開して、これらを所定順序で実行することで、運転モードおよび上述した調整モードの処理のための各種の演算を実施する。
カメラインターフェイス116は、CPU110と撮像装置8との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス116は、1つ以上の撮像装置8と接続が可能であり、各撮像装置8からの画像データを一時的に蓄積するための画像バッファ116aを含む。カメラインターフェイス116は、画像バッファ116aに少なくとも1コマ(または1フレーム)分の入力画像のデータが蓄積されると、その蓄積されたデータをメモリ112へ転送する。
メモリ112には、画像データは画像ファイルの単位で格納される。CPU110は、入力画像を処理する場合には、画像ファイルをメモリ112から読み出す。
カメラインターフェイス116は、CPU110が発生した内部コマンドに従って、撮像装置8に対して撮像指令を与える。
入力インターフェイス118は、CPU110とキーボード104、マウス103、タッチパネル(図示せず)などの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス118は、ユーザが入力装置を操作することで与えられる操作指令を受付ける。
表示コントローラ120は、表示装置の典型例であるディスプレイ102と接続され、CPU110における画像処理の結果などをユーザに通知する。
PLCインターフェイス122は、CPU110とPLC5との間のデータ伝送を仲介する。より具体的には、PLCインターフェイス122は、PLC5によって制御される生産ラインの状態に係る情報やワークに係る情報などをCPU110へ伝送する。
通信インターフェイス124は、CPU110と図示しない他のパーソナルコンピュータやサーバ装置などと間のデータ伝送を仲介する。通信インターフェイス124は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード106に格納されたプログラムを画像処理装置100にインストールする形態に代えて、通信インターフェイス124を介して、図示しない配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
データリーダ/ライタ126は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。
図15と図16に示す視覚センサシステム1では、ディスプレイ102が図2のLCD242に対応し、表示設定部201の調整モードにおける上述した機能が、画像処理装置100のCPU110の制御に基づき実行される。したがって、図15と図16に示す構成であっても、メニュー画像302を処理対象の画像300上に透過して重畳表示しながら、検査処理のためのパラメータ値の設定が可能であり、また、共通ボタン701の操作によりメニュー画像302の切り替えが可能であるから、画像300を確認しながらのパラメータ値の設定について良好な操作性を得ることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。