説明

モデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラム

【課題】被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に対して、最適なモデル画像をより迅速かつ容易に取得できるモデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラムを提供する。
【解決手段】モデルとなり得る被写体を撮像することで得られた参照画像からモデル画像の候補となる複数のモデル画像候補が抽出される。抽出された複数のモデル画像に従うマッチング処理を、上述の視覚センサが実際に取得した計測画像に対して実行することで、それぞれの試行結果を得る。それぞれのモデル画像に従うマッチング処理の試行結果をそれぞれ評価することで、評価結果が生成される。このような評価結果に基づいて、最適なモデル画像が決定される。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に向けられたものである。
【背景技術】
【0002】
FA(Factory Automation)分野などにおいては、ワークなどの被測定物に生じる欠陥などを光学的に検査したり、その表面に印字されている文字などを認識したりする装置として、いわゆる視覚センサが実用化されている。このような検査や認識を行なう手法の典型例として、予め設定されたモデル画像の基づくマッチング処理が一般的に用いられている(たとえば、特許文献1参照)。
【0003】
このマッチング処理では、製造過程の半製品や出荷前の製品といった被写体を撮像することで得られる計測画像(計測画像)のうち、予め設定されたモデル画像との間の類似度(典型的には、相関値)が最も高い領域を探し出すような探索処理が実行される。そのため、マッチング処理は、サーチ処理とも称される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−085907号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
実際の生産ラインでは、その上を流れるワークの撮像位置が微妙にずれたり、照明環境が変動したりする場合もある。このような外乱要因が生じた場合であっても、マッチング処理を安定して行なう必要がある。そのため、生産ラインに対して、上述のような視覚センサを実際に適用しようとする場合には、どのようなモデル画像を選定するのかが重要となる。
【0006】
現状、このようなモデル画像は、熟練した作業者が経験に基づいて設定している。具体的には、先に何らかのモデル画像を設定しておき、この設定したモデル画像に基づいて、実際に取得された計測画像に対してマッチング処理を行ない、その結果が芳しくなければ、他のモデル画像に変更するといった作業を繰返して、最終的に、最適と思われるモデル画像を選定する。そのため、安定したマッチング結果を得られるようになるまで、モデル画像を探す操作が反復的に繰返されることになる。そのため、モデル画像の選定に多大な時間および労力を要するという課題がある。また、このようなモデル画像の選定中には、視覚センサを実運用することができないという課題もある。
【0007】
また、現実的には、生産ラインを流れ得るすべてのワークに対して、選定したモデル画像が安定してマッチング処理を行なうことができるのかを完全に確認することは、時間的および費用的に不可能である場合が多い。したがって、限られた数の計測画像に対して、その安定性が確認されたに過ぎないモデル画像を採用せざるを得ない。そのため、実運用開始後に、選定したモデル画像では、安定したマッチング処理を行なうことができないことが判明する場合も有り得る。
【0008】
さらに、元の画像からどのようなモデル画像を切り出すか、あるいは、いずれのモデル画像を選定するかといった作業は、作業者の熟練度などに応じてバラツキを生じる。
【0009】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に対して、最適なモデル画像をより迅速かつ容易に取得できるモデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラムを提供することである。
【課題を解決するための手段】
【0010】
この発明のある局面に従えば、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援する装置を提供する。本モデル画像取得支援装置は、モデルとなり得る被写体を撮像することで得られる参照画像からモデル画像の候補となる複数のモデル画像候補を抽出する抽出手段と、計測画像を受付ける入力手段と、計測画像に対して、複数のモデル画像のそれぞれに基づくマッチング処理を行なうことで複数の試行結果を生成する処理手段と、複数の試行結果をそれぞれ評価することで評価結果を生成する評価手段と、評価結果を、複数のモデル画像候補の別に出力する出力手段とを含む。
【0011】
好ましくは、本モデル画像取得支援装置は、出力される評価結果に対するユーザ選択に応答して、選択された評価結果に対応するモデル画像候補を、画像形成装置のモデル画像として設定する手段をさらに含む。
【0012】
好ましくは、評価手段は、評価結果が満たすべき条件を受付ける手段と、複数の試行結果のうち、条件に最も適合しているモデル画像候補を決定する手段とを含む。
【0013】
好ましくは、抽出手段は、同一の参照画像から複数のモデル画像候補を抽出する。
好ましくは、抽出手段は、同一の参照画像から、抽出する領域のサイズ、位置、方向の少なくとも1つを異ならせた、複数のモデル画像候補をそれぞれ抽出する。
【0014】
好ましくは、抽出手段は、初期設定されているモデル画像に基づくマッチング処理を行なうことで、参照画像からモデル画像候補を抽出する。
【0015】
さらに好ましくは、抽出手段は、画像処理装置から、初期設定されているモデル画像を取得する。
【0016】
好ましくは、入力手段は、計測画像に加えて、当該計測画像に対応付けられた期待クラスおよび期待値の少なくとも一方を受付ける。評価手段は、各計測画像に対応付けられた期待値および/または期待クラスに基づいて、対応する試行結果を評価する。
【0017】
さらに好ましくは、期待クラスは、対応付けられた計測画像がモデル画像とマッチングすべき良品画像、および、対応付けられた計測画像がモデル画像とマッチングすべきではない不良品画像、のいずれであるかの区分を示す。
【0018】
さらに好ましくは、参照画像は、計測画像に含まれる良品画像からなる。
好ましくは、処理手段は、複数のモデル画像候補の各々について、複数の計測画像に対して処理を行なうことで得られる複数の試行結果からなる試行結果群を生成し、評価手段は、複数のモデル画像候補の各々について、対応の試行結果群についての統計的出力を算出する手段を含む。
【0019】
さらに好ましくは、統計的出力は、平均値、中間値、最大値、最小値、分散値の少なくとも1つを含む。
【0020】
好ましくは、入力手段は、複数の計測画像を受付け、モデル画像取得支援装置は、さらに、複数の計測画像の全体に対してのマッチング処理結果を最適化するための、複数のモデル画像候補に含まれる2つ以上のモデル画像候補の組合わせを探索する探索手段を含む。
【0021】
この発明の別の局面に従えば、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援する装置を提供する。本モデル画像取得装置は、モデルとなり得る被写体を撮像することで得られる参照画像からモデル画像の候補となる複数のモデル画像候補を抽出する抽出手段と、計測画像を受付ける入力手段と、計測画像に対して、複数のモデル画像のそれぞれに基づくマッチング処理を行なうことで複数の試行結果を生成する処理手段と、複数の試行結果をそれぞれ評価することで評価結果を生成する評価手段と、評価結果のうち所定の条件に最も適合しているモデル画像を決定する決定手段とを含む。
【0022】
この発明のさらに別の局面に従えば、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援する方法を提供する。本モデル画像取得支援方法は、モデルとなり得る被写体を撮像することで得られる参照画像からモデル画像の候補となる複数のモデル画像候補を抽出するステップと、計測画像を受付けるステップと、計測画像に対して、複数のモデル画像のそれぞれに基づくマッチング処理を行なうことで複数の試行結果を生成するステップと、複数の試行結果をそれぞれ評価することで評価結果を生成するステップと、評価結果を、複数のモデル画像候補の別に出力するステップとを有する。
【0023】
この発明のさらに別の局面に従えば、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援するプログラムを提供する。本プログラムは、プロセッサに、モデルとなり得る被写体を撮像することで得られる参照画像からモデル画像の候補となる複数のモデル画像候補を抽出するステップと、計測画像を受付けるステップと、計測画像に対して、複数のモデル画像のそれぞれに基づくマッチング処理を行なうことで複数の試行結果を生成するステップと、複数の試行結果をそれぞれ評価することで評価結果を生成するステップと、評価結果を、複数のモデル画像候補の別に出力するステップとを実行させる。
【発明の効果】
【0024】
この発明によれば、被写体を撮像して得られる計測画像に対して予め設定されたモデル画像に基づくマッチング処理を行なう画像処理装置に対して、最適なモデル画像をより迅速かつ容易に取得できる。
【図面の簡単な説明】
【0025】
【図1】この発明の実施の形態に従うシステム全体を示す図である。
【図2】この発明の実施の形態に従うモデル画像取得支援装置を実現するコンピュータの概略構成図である。
【図3】この発明の実施の形態に従う画像処理装置を実現するコンピュータの概略構成図である。
【図4】この発明の実施の形態に従う視覚センサを生産ラインで運用する場合のワークフローの一例である。
【図5】この発明の実施の形態に従うモデル画像取得支援装置におけるモデル画像取得処理の概要を説明するための図である。
【図6】この発明の実施の形態に従うモデル画像候補の抽出処理の一例を示す図である。
【図7】この発明の実施の形態に従う支援装置および画像処理装置の機能構成を示す概略図である。
【図8】この発明の実施の形態に従う画像処理アプリケーションによって提供される設定モードにおける画面表示例を示す図である。
【図9】この発明の実施の形態に従う画像処理装置のモニタに表示される稼動モードにおける画面表示例を示す図である。
【図10】この発明の実施の形態に従う支援装置の評価処理アプリケーションによって提供されるユーザインターフェイスの一例(その1)を示す図である。
【図11】この発明の実施の形態に従う支援装置の評価処理アプリケーションによって提供されるユーザインターフェイスの一例(その2)を示す図である。
【図12】この発明の実施の形態に従う支援装置の評価処理アプリケーションによって提供されるユーザインターフェイスの一例(その3)を示す図である。
【図13】この発明の実施の形態に従う支援装置の評価処理アプリケーションによって提供されるユーザインターフェイスの一例(その4)を示す図である。
【図14】この発明の実施の形態に従う支援装置の評価処理アプリケーションによって提供されるユーザインターフェイスの一例(その5)を示す図である。
【図15】この発明の実施の形態に従う支援装置の制御構造を示す機能ブロック図である。
【図16】図15に示す支援装置の制御構造において生成されるファイル構造を示す図である。
【図17】この発明の実施の形態に従う支援装置においてモデル画像候補のうち最も適切なものを選択する条件の入力インターフェイスの一例を示す図である。
【図18】この発明の実施の形態に従うシステムにおける全体処理を示すフローチャート(その1)である。
【図19】この発明の実施の形態に従うシステムにおける全体処理を示すフローチャート(その2)である。
【図20】この発明の実施の形態に従うシステムにおける全体処理を示すフローチャート(その3)である。
【図21】この発明の実施の形態に従うシステムにおける全体処理を示すフローチャート(その4)である。
【図22】この発明の実施の形態に従うシステムにおける全体処理を示すフローチャート(その5)である。
【図23】この発明の実施の形態の変形例1に従うシステムにおける全体処理の要部を示すフローチャートである。
【図24】この発明の実施の形態の変形例2に従うシステムにおける全体処理の要部を示すフローチャートである。
【図25】この発明の実施の形態の変形例3に従うマッチング処理の概要を説明するための図である。
【図26】この発明の実施の形態の変形例3に従うマッチング処理におけるモデル画像セット取得処理の概要を説明するための図である。
【図27】この発明の実施の形態の変形例3に従う手法1の概要を説明するための図である。
【図28】この発明の実施の形態の変形例3に従う手法1の手順を示すフローチャートである。
【図29】この発明の実施の形態の変形例3に従う手法2の手順を示すフローチャートである。
【図30】この発明の実施の形態の変形例3に従う手法3の概要を説明するための図である。
【図31】この発明の実施の形態の変形例3に従う手法3における試行結果の一例を示す図である。
【図32】この発明の実施の形態の変形例3に従う手法3の手順を示すフローチャートである。
【図33】この発明の実施の変形例4に従う試行作成処理の一例を示す図である。
【図34】この発明の実施の変形例5に従う処理項目の内容を説明するためのブロック図である。
【図35】この発明の実施の変形例5に従うモデル画像の最適化を説明するための図である。
【発明を実施するための形態】
【0026】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0027】
<概要>
この発明の実施の形態では、本実施の形態に従うモデル画像取得支援装置を、いわゆる視覚センサと称される画像処理装置に対して適用する場合の構成について例示する。この視覚センサは、典型的には、生産ラインなどを流れる被写体である計測対象物体(以下「ワーク」とも称す。)を撮像することで得られる計測画像を受付け、この計測画像に対して、予め設定されたモデル画像に基づくマッチング処理などを行なうことで、ワークの欠陥検査や文字列判別を提供する。
【0028】
この発明の実施の形態に従うモデル画像取得支援装置は、まず、モデルとなり得る被写体を撮像することで得られた参照画像から、モデル画像の候補となる複数のモデル画像候補を抽出する。そして、本実施の形態に従うモデル画像取得支援装置は、計測画像に対して、抽出した複数のモデル画像のそれぞれに基づくマッチング処理を行なうことで複数の試行結果を生成し、さらに、当該複数の試行結果をそれぞれ評価することで評価結果を生成する。最終的に、本実施の形態に従うモデル画像取得支援装置は、この生成した評価結果を、複数のモデル画像候補の別に出力する。たとえば、対象の計測画像がいずれもモデル画像とマッチングすべき画像であるとすれば、対象の計測画像と最もマッチング度合いが高いモデル画像が最適なものと判断することができる。
【0029】
また、本実施の形態に従うモデル画像取得支援装置は、計測画像に対応付けられた期待クラスおよび/または期待値を受付ける。本明細書において、「期待クラス」および「期待値」とは、対応の計測画像に対してマッチング処理が行なわれた場合に、生成されるべき処理結果の内容を意味する。
【0030】
典型的に、「期待クラス」は、対象の計測画像に写っているワークがモデル画像を含んでいる「良品」であるか、あるいは、対象の計測画像に写っているワークがモデル画像とは異なる「不良品」であるかの区分を含む。言い換えれば、対象の計測画像がモデル画像とマッチングすべき「良品画像」、および、対象の計測画像がモデル画像とマッチングすべきではない「不良品画像」、のいずれであるかの区分を示す。以下の説明では、「良品」の期待クラスに対応付けられた計測画像を「良品画像」とも称し、「不良品」の期待クラスに対応付けられた計測画像を「不良品画像」とも称する。
【0031】
また、典型的に、「期待値」は、対象の計測画像と設定されているモデル画像との間の類似度(典型的には、相関値)を示す値を含む。すなわち、対象の計測画像に写っているワークがモデル画像を含んでいる場合には、「期待値」は相対的に高い値を示し、対象の計測画像に写っているワークがモデル画像を含んでいない場合には、「期待値」は相対的に低い値を示す。
【0032】
上述のように、本明細書において、「良品」および「不良品」との用語は、設定されて
いるモデル画像との相対的な関係において、対象の計測画像が当該モデル画像とマッチング判定されるべきか否かの区分を含む。そのため、同一の計測画像に対して、異なるモデル画像に基づくマッチング処理が複数回実行される場合も多いため、「期待クラス」および/または「期待値」は、1つのクラスおよび/または値とは限らない。
【0033】
このような期待クラスおよび/または期待値を受付けると、本実施の形態に従うモデル画像取得支援装置は、生成された複数の試行結果と、入力された期待クラスおよび/または期待値に基づいて、当該複数の試行結果をそれぞれ評価することで評価結果を生成する。すなわち、良品画像に対してのマッチング度合いが高いものであって、かつ不良品画像に対してマッチング度合いが低いものが最適なモデル画像として評価される。そして、本実施の形態に従うモデル画像取得支援装置は、この生成した評価結果を、複数のモデル画像候補の別に出力する。
【0034】
なお、本発明において「出力」とは、実際にモデル画像を決定するユーザもしくは装置などにその内容を提供することを意味し、典型的には、ディスプレイなどの表示装置にその内容を表わすこと、プリンタ装置などによって紙媒体上などにその内容を表わすこと、外部装置にその内容を表わすデータを送信すること、記憶装置などにその内容を表わすデータを格納することなどを含む。
【0035】
上述のような処理によって、複数のモデル画像のうち、実際の計測画像に対するマッチング処理の結果が最適となるものを、迅速かつ容易に決定することができる。
【0036】
なお、以下の説明では、記載の簡略化のため、「期待クラス」および「期待値」を総称して、単に「期待クラス」とも記載する。しかしながら、この「期待クラス」との用語には、上述の意味における「期待クラス」および「期待値」が含まれる。
【0037】
<全体装置構成>
図1は、この発明の実施の形態に従うシステム全体を示す図である。
【0038】
図1を参照して、本実施の形態に従うシステムとしては、モデル画像取得支援装置(以下、単に「支援装置」とも称す。)100と、画像処理装置200とを含む。
【0039】
画像処理装置200は、撮像部8および光電センサ4と電気的に接続される。撮像部8は、ベルトコンベヤなどの搬送ライン6上を搬送される被写体であるワーク2を撮像することで、ワーク2が写った計測画像を取得する。画像処理装置200は、撮像部8で取得された計測画像を格納するとともに、各計測画像に対して、予め設定されているモデル画像に基づくマッチング処理を行ない、その処理結果(たとえば、マッチングOKまたはマッチングNGの判断)を出力する。
【0040】
撮像部8によるワーク2の撮像タイミングは、搬送ライン6の両サイドに配置された光電センサ4(受光部および投光部)によって検出される。すなわち、光電センサ4は、同一の光軸上に配置された受光部と投光部とからなり、投光部から放射される光がワーク2で遮蔽されることを受光部が検出することによって、撮像タイミングを示すトリガ信号が出力される。また、撮像部8は、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、
撮像素子を含む。なお、撮像部8で取得される計測画像は、白黒画像であってもよいし、カラー画像であってもよい。
【0041】
一方、支援装置100は、画像処理装置200に格納されている計測画像や設定パラメータ(初期設定モデル画像を含む)を受取り、最適なモデル画像を決定するためのモデル
画像取得処理を実行する。そして、支援装置100は、このモデル画像取得処理によって取得したモデル画像および設定パラメータなどを、画像処理装置200に設定することもできる。なお、支援装置100と画像処理装置200との間のデータを遣り取りする手段としては、USB(Universal Serial Bus)やイーサネット(登録商標)などの通信手段(有線または無線)を用いる方法や、SD(Secured Digital)カードなどの着脱可能な
記憶媒体を用いる方法などを採用することができる。
【0042】
なお、後述するように、支援装置100の機能の全部または一部を画像処理装置200に組入れてもよいが、支援装置100と画像処理装置200とを別体とすることで、現場から離れた事務所の机上で、最適なモデル画像を決定する処理を独立して実行させることができる。
【0043】
<ハードウェア構成>
(1 モデル画像取得支援装置)
本実施の形態に従う支援装置100は、典型的に、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
【0044】
図2は、この発明の実施の形態に従うモデル画像取得支援装置100を実現するコンピュータの概略構成図である。
【0045】
図2を参照して、支援装置100を実現するコンピュータは、表示装置としてのモニタ102と、入力装置としてのキーボード103およびマウス104と、演算装置(プロセッサ)としてのCPU(Central Processing Unit)105と、記憶装置としてのメモリ
106および固定ディスク107と、記録媒体からのデータ読出装置としてのFD駆動装置111およびCD−ROM駆動装置113とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
【0046】
支援装置100(コンピュータ)で実行されるプログラムは、典型的には、フレキシブルディスク(FD:Flexible Disk)112もしくはCD−ROM(Compact Disk Read Only Memory)114などに格納されて流通し、またはネットワーク接続された配信サーバ装置などからのダウンロードといった形で流通する。フレキシブルディスク112およびCD−ROM114に格納されたプログラムは、それぞれFD駆動装置111およびCD−ROM駆動装置113から読出されて、固定ディスク107に一旦格納される。さらに、固定ディスク107からメモリ106上に展開されて、CPU105により実行される。
【0047】
CPU105は、プログラムされた命令を逐次実行することで、各種の演算を実施する。メモリ106は、CPU105でのプログラム実行に応じて、各種の情報についても一時的に格納する。固定ディスク107は、CPU105で実行されるプログラムの他に、設定されるモデル画像、処理対象の計測画像、および各種設定値などを格納する不揮発性の記憶装置である。
【0048】
キーボード103は、入力されるキーに応じたユーザからの指令を受付ける。マウス104は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。このように、キーボード103およびマウス104で受付けられた指令は、CPU105へ与えられる。
【0049】
また、支援装置100には、必要に応じて、プリンタなどの他の出力装置が接続されて
もよい。
【0050】
(2 画像処理装置)
本実施の形態に従う画像処理装置200は、支援装置100と同様に、典型的には、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
【0051】
図3は、この発明の実施の形態に従う画像処理装置200を実現するコンピュータの概略構成図である。
【0052】
図3を参照して、画像処理装置200を実現するコンピュータは、本体部201と、表示装置としてのモニタ202と、入力装置としてのキーボード203およびマウス204とを含む。本体部201は、演算装置(プロセッサ)としてのCPU205と、記憶装置としてのメモリ206および固定ディスク207と、記録媒体からのデータ読出装置としてのFD駆動装置211およびCD−ROM駆動装置213とを含む。さらに、本体部201は、本体部201の外部との間で信号を遣り取りするためのインターフェイスとして、カメラインターフェイス部209と、制御情報インターフェイス部215と、センサインターフェイス部217とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
【0053】
画像処理装置200(コンピュータ)で実行されるプログラムについても、典型的には、フレキシブルディスク(FD)212もしくはCD−ROM214などに格納されて流通し、またはネットワーク接続された配信サーバ装置などからのダウンロードといった形で流通する。フレキシブルディスク212およびCD−ROM214に格納されたプログラムは、それぞれFD駆動装置211およびCD−ROM駆動装置213から読出されて、固定ディスク207に一旦格納される。さらに、固定ディスク207からメモリ206に展開されて、CPU205により実行される。
【0054】
本体部201に含まれる構成のうち、CPU205、メモリ206、固定ディスク207、FD駆動装置211、およびCD−ROM駆動装置213については、上述の支援装置100の対応する部分と同様であるので、詳細な説明は繰返さない。
【0055】
カメラインターフェイス部209は、CPU205と撮像部8との間のデータ通信を仲介する。より具体的には、カメラインターフェイス部209は、画像バッファを含み、撮像部8で撮像されて連続的に伝送される計測画像のデータを一旦蓄積し、少なくとも1コマ分の計測画像のデータが蓄積されると、その蓄積されたデータをメモリ206または固定ディスク207へ転送する。また、カメラインターフェイス部209は、CPU205が発生した内部コマンドに従って、撮像部8に対して撮像指令を与える。
【0056】
制御情報インターフェイス部215は、CPU205と生産ラインを制御する図示しない制御装置(典型的には、PLC(Programmable Logic Controller)など)との間のデ
ータ通信を仲介する。制御情報インターフェイス部215は、外部の制御装置からライン情報などを受付けて、CPU205へ出力する。センサインターフェイス部217は、上述した光電センサなどからのトリガ信号を受信して、CPU205へ出力する。
【0057】
その他の構成については、上述の支援装置100と同様であるので、詳細な説明は繰返さない。
【0058】
<設置手順>
まず、本実施の形態に従う支援装置100を適用する視覚センサを生産ラインで運用する場合のワークフローについて説明する。
【0059】
図4は、視覚センサを生産ラインで運用する場合のワークフローの一例である。図4に示すように、まず、視覚センサを生産ラインに設置するまでの手順として、目的確定フェイズPH1および設置フェイズPH2がある。視覚センサが生産ラインに設置された後の手順として、初期撮像フェイズPH3、設置調整フェイズPH4、本格撮像フェイズPH5、初期設定フェイズPH6、調整フェイズPH7、および運用(改善)フェイズPH8がある。なお、初期撮像フェイズPH3と、設置調整フェイズPH4とは並列的に進行し、本格撮像フェイズPH5と、初期設定フェイズPH6および調整フェイズPH7とについても並列的に進行する。
【0060】
目的確定フェイズPH1では、作業者は、どのようなワークを検査対象とするか、およびどのような項目の検査をそのワークに行なうかを決定する。また、作業者は、ワーク全体のうち、どの範囲を検査対象とするのかを決定する。
【0061】
続く設置フェイズPH2では、作業者は、設置環境に応じて、レンズおよびカメラの設置方法を検討し、撮像部等を駆動するための電源を確保した上で、必要な機材を設置する。
【0062】
初期撮像フェイズPH3、設置調整フェイズPH4、本格撮像フェイズPH5、初期設定フェイズPH6では、作業者は、画像処理装置に対して、レンズおよびカメラの種類の選定、および画像処理装置で処理すべき項目を選択する。また、マッチング処理に用いる、処理項目に応じたモデル画像を登録する。さらに、作業者は、各処理項目のパラメータの初期値を設定する。このような各種設定が整った後、テスト的に撮像して得られた計測画像に対して、一連のフロー動作を確認する。
【0063】
以上の作業によって、ワークを撮像する一連の設定(撮像部や撮像環境などの選定)は完了することになる。そして、画像処理装置に設定されるモデル画像およびパラメータが試行錯誤的に最適化される。それが、調整フェイズPH7であり、このフェイズでは、作業者は、試験ラインなどで画像処理によって得られる結果を検証するとともに、この検証内容に基づいて、モデル画像およびパラメータを最適化する。
【0064】
調整フェイズPH7でモデル画像およびパラメータが調整された後に、運用(改善)フェイズPH8に移り、視覚センサの運用が開始されるが、何らかの誤検出品が発生した場合などには、その要因を確認した上で、モデル画像および/またはパラメータが変更される。なお、誤検出品とは、たとえば、良品であるはずのワークを不良品と誤って判定したものや、不良品であるはずのワークを良品と誤って判定したものを意味する。なお、本明細書において、「安定」という用語は、上述のような誤検出品の発生が少ない状態を意味する。
【0065】
本実施の形態に従う支援装置100は、これらのフェイズのうち、調整フェイズPH7および運用(改善)フェイズPH8における処理を効率化することを目的としている。また、一旦、モデル画像および/またはパラメータの調整が完了した後、運用中にロット変動などが生じた場合には、モデル画像および/またはパラメータを再度調整する必要があるが、このような場合にも、本実施の形態に従う支援装置100を活用することができる。さらに、運用(改善)フェイズPH8において、本実施の形態に従う支援装置100をインラインで用いることにより、生産ラインにおける状態に応じて、モデル画像を動的に変更することもできる。
【0066】
<モデル画像取得手順の概要>
まず、本実施の形態に従う支援装置100におけるモデル画像取得処理の概要について説明する。
【0067】
図5は、この発明の実施の形態に従うモデル画像取得支援装置100におけるモデル画像取得処理の概要を説明するための図である。
【0068】
(1)マッチング
図5を参照して、まず、モデルとなり得る被写体を撮像することで得られた参照画像からモデル画像の候補となる複数のモデル画像候補が抽出される。この参照画像は、典型的には、良品画像OK_IMGから構成されている。この参照画像は、後述する試行対象の画像群に含まれる良品画像OK_IMGと共通であってもよい。このモデル画像候補は、画像処理装置200に初期設定されている初期設定モデル画像に基づいて、参照画像(良品画像)に対してマッチング処理を行なうことで抽出される。
【0069】
(2)モデル画像候補抽出
上述のマッチング処理は、一種のサーチ処理に相当し、初期設定モデル画像との類似度(相関値)が高い領域が、モデル画像として抽出される。なお、モデル画像は複数抽出されるが、この抽出方法としては、同一の参照画像から複数のモデル画像候補を抽出してもよいし、複数の参照画像の各々からモデル画像候補をそれぞれ抽出してもよいし、両者を適宜組み合わせてもよい。
【0070】
同一の参照画像から複数のモデル画像候補を抽出する場合には、図6に示すように、複数の異なる条件(たとえば、抽出サイズや、抽出位置、抽出方向(回転方向)など)に従って、同一の参照画像から複数のモデル画像を抽出してもよい。あるいは、同一の条件に従って、複数の参照画像からそれぞれモデル画像を抽出してもよい。
【0071】
図6は、この発明の実施の形態に従うモデル画像候補の抽出処理の一例を示す図である。図6(a)に示すように、同一の参照画像REFから、抽出サイズの異なる複数のモデル画像MDL1−1,MDL1−2,MDL1−3,・・・を抽出することができる。あるいは、図6(b)に示すように、同一の参照画像REFから、抽出方向の異なる複数のモデル画像MDL2−1,MDL2−2,・・・を抽出することもできる。
【0072】
本実施の形態に従う支援装置100は、複数のモデル画像候補の中から最適なモデル画像を決定することであるので、より多くのモデル画像を用意しておくことが好ましい。
【0073】
(3)試行
再度図5を参照して、このように抽出された複数のモデル画像に従うマッチング処理を、上述の視覚センサが実際に取得した計測画像に対して実行することで、それぞれの試行結果を得る。この試行結果としては、典型的には、計測画像のそれぞれと、抽出された複数のモデル画像のそれぞれとの間の類似度(相関値)を含む。さらに、試行結果は、この算出された類似度と予め設定されたしきい値とを比較することで、マッチングOKまたはマッチングNGの判断結果を含んでいてもよい。
【0074】
(4)試行結果評価
さらに、対象の計測画像に対応付けられている期待クラスに基づいて、それぞれのモデル画像に従うマッチング処理の試行結果をそれぞれ評価することで、評価結果が生成される。より具体的には、あるモデル画像に従うマッチング処理を良品画像OK_IMGに対して行なった場合に得られる試行結果が「マッチングOK」となる度合いが高いほど、そのモデル画像はより適切であると評価できる。同様に、あるモデル画像に従うマッチング
処理を不良品画像NG_IMGに対して行なった場合に得られる試行結果が「マッチングNG」となる度合いが高いほど、そのモデル画像はより適切であると評価できる。
【0075】
これに対して、あるモデル画像に従うマッチング処理を良品画像OK_IMGに対して行なった場合に得られる試行結果が「マッチングNG」と誤判断される度合いが高いほど、そのモデル画像は不適切であると評価できる。同様に、あるモデル画像に従うマッチング処理を不良品画像NG_IMGに対して行なった場合に得られる試行結果が「マッチングOK」と誤判断される度合いが高いほど、そのモデル画像は不適切であると評価できる。
【0076】
(5)最適モデル画像決定
本実施の形態に従う支援装置100は、このような試行結果と対象の計測画像の期待クラス(あるいは、期待値)との一致/不一致の度合いを統計的に評価する。そして、このような評価結果に基づいて、抽出されたモデル画像のうち最適なものを決定する。あるいは、最適なモデル画像を決定することを支援する。すなわち、本実施の形態に従う支援装置100が複数のモデル画像候補の別に評価結果を出力し、ユーザがこの評価結果に基づいて最適なモデル画像を任意に選択する構成、ならびに、本実施の形態に従う支援装置100が評価結果のうち所定の条件に最も適合しているモデル画像を自動的に決定する構成、のいずれをも採用することができる。
【0077】
なお、本明細書における「最適なモデル画像」とは、ユーザが期待する結果を得ることができるモデル画像を探し出すことを意味する。この探し出す対象は、予め取得された計測画像に対して評価を行なうことで、ユーザが期待する(設定した)条件に合致するモデル画像を決定される。そのため、新たに計測画像が取得された場合や、ユーザが条件を変更した場合などには、別のモデル画像が「最適な」ものとして決定される場合もある。
【0078】
さらに、このように取得されたモデル画像を、画像処理装置200へ転送して設定することもできる。
【0079】
なお、出力される評価結果としては、平均値、中間値、最大値、最小値、分散値などの統計的出力を含んでいてもよい。
【0080】
<機能構成>
図7は、この発明の実施の形態に従う支援装置100および画像処理装置200の機能構成を示す概略図である。
【0081】
図7(a)を参照して、本実施の形態に従う画像処理装置200は、計測画像取得アプリケーション10と、画像処理アプリケーション30Aとを含む。計測画像取得アプリケーション10は、撮像部8およびカメラインターフェイス部209(図3)に対して所定のコマンドを与えることで、ワークを撮像した計測画像を取得する。また、画像処理アプリケーション30Aは、計測画像取得アプリケーション10により取得される計測画像に対して、予め設定されているモデル画像およびパラメータに従う画像処理(本実施の形態では、主としてマッチング処理)を行なうことで、処理結果を出力する。
【0082】
一方、支援装置100は、評価処理アプリケーション20と、画像処理アプリケーション30Bとを含む。画像処理アプリケーション30Bの機能は、基本的には、画像処理アプリケーション30Aと同様である。すなわち、画像処理アプリケーション30Bは、画像処理装置200で実行されるマッチング処理と同じ処理を実現するための、一種の「シミュレータ」として機能する。評価処理アプリケーション20は、本実施の形態に従うモデル画像取得処理を提供する主たる部分であり、参照画像から複数のモデル画像を抽出す
るとともに、それぞれのモデル画像に基づくマッチング処理(試行)を画像処理アプリケーション30Bに実行させる。そして、評価処理アプリケーション20は、画像処理アプリケーション30Bによる試行結果を、対象の計測画像に対応付けられた期待クラスに基づいて評価することで、最適なモデル画像の取得を支援する。
【0083】
すなわち、図7(a)に示すシステム構成においては、画像処理装置200で取得された計測画像(および参照画像)に基づいて、支援装置100単体で最適なモデル画像の取得を支援することができる。
【0084】
一方、図7(b)には、本実施の形態の別形態に従うシステム構成を示す。このシステムにおいては、支援装置100#は、画像処理アプリケーション30Bを含んでおらず、評価処理アプリケーション20のみを含む。この構成においては、評価処理アプリケーション20は、画像処理装置200の画像処理アプリケーション30Aと協働することで、最適なモデル画像の取得を支援する。すなわち、支援装置100と画像処理装置200とをデータ通信可能な状態に接続しておき、支援装置100の評価処理アプリケーション20が画像処理装置200の画像処理アプリケーション30Aに各種指令を与えてマッチング処理を実行させ、その処理結果を画像処理装置200の画像処理アプリケーション30Aが支援装置100の評価処理アプリケーション20へ返送するようにしてもよい。このように支援装置100と画像処理装置200とを同期させることで、処理を進めることもできる。
【0085】
なお、以下の説明では、画像処理装置200に含まれる画像処理アプリケーション30Aと、支援装置100に含まれる画像処理アプリケーション30Bとを、その機能の共通性に着目して、単に「画像処理アプリケーション30」とも総称する。
【0086】
<画像処理アプリケーションのユーザインターフェイス>
まず、画像処理に係るマッチング処理についての理解を容易にするために、画像処理アプリケーション30(図7)によって提供されるユーザインターフェイスの一例について説明する。
【0087】
図8は、この発明の実施の形態に従う画像処理アプリケーション30によって提供される設定モードにおける画面表示例を示す図である。なお、この設定モードは、基本的には、上述の初期設定フェイズPH6において選択される。図8に示す表示画面は、画像処理装置200のCPU205(または、支援装置100のCPU105)および図示しないグラフィックボードなどが協働することで提供される。このような表示画面は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103(または、203)やマウス104(または、204)により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【0088】
図8に示すように、マッチング処理を用いてサーチを行なうモードでは、一例として、「モデル登録」、「領域設定」、「検出点」、「基準位置」、「計測パラメータ」、「出力パラメータ」の設定項目に対応する計6個のタブが選択可能な画面が表示される。
【0089】
図8を参照して、「モデル登録」のタブ301が選択されると、設定画面300が表示される。この設定画面300は、モデル登録エリア301#と、画像表示エリア304と、全体表示エリア306と、表示制御アイコン群308とを含む。
【0090】
画像表示エリア304には、撮像部8により取得された計測画像が表示される。全体表示エリア306には、画像表示エリア304と同様に撮像部8で取得された計測画像が表
示される。但し、全体表示エリア306には、画像表示エリア304での表示範囲とは独立して、対象の計測画像の全体が表示される。さらに、表示制御アイコン群308に対するユーザ操作(拡大もしくは縮小など)に応じて、画像表示エリア304に表示される計測画像の表示範囲および表示精度が変更される。
【0091】
一方、モデル登録エリア301#には、モデルパラメータ設定エリア310と、モデル編集ボタン330と、登録図形表示ボックス332と、モデルパラメータ設定エリア310と、モデル登録画像エリア340とが表示される。
【0092】
ユーザがモデル画像を設定する場合には、モデルとなり得る被写体を撮像することで得られた参照画像を画像表示エリア304および全体表示エリア306に表示させた状態で操作を行なう。
【0093】
まず、ユーザは、マウス204などを操作してモデル編集ボタン330を押下すると、図示しない描画ツールダイアログが表示される。ユーザは、この描画ツールダイアログを操作して、画像表示エリア304に表示される参照画像(計測画像)の上に重ねてモデル画像として設定すべき範囲を指定する。図8には、画像表示エリア304上に文字列「ABC」を含む長方形の範囲がモデル画像MDLとして設定されている場合を示す。何らかのモデル画像が設定済である場合には、登録図形表示ボックス332に、設定済のモデル画像の形状が表示される(図8の場合には、「長方形」)。なお、設定するモデル画像の形状は、長方形に限られず、丸、扇形、任意の多角形といった、いずれの形状であってもよい。
【0094】
また、設定済のモデル画像の設定変更などを行なう場合には、ユーザはモデル登録画像エリア340の必要なボタンを押下する。モデル画像の設定に用いられた参照画像(計測画像)が保存されており、後から設定済のモデル画像に関するパラメータだけを変更することもできる。より具体的には、登録画面表示ボタン342が押下されると、モデル画像の設定に用いられた参照画像(計測画像)が表示される。このボタン342が再度押下されると、現在入力されている計測画像の表示に切り替わる。また、モデル再登録ボタン344が押下されると、設定済のモデル画像はそのままで、それ以外のパラメータが変更された状態でモデル画像として再設定される。さらに、削除ボタン346が押下されると、設定済のモデル画像が削除される。
【0095】
モデルパラメータ設定エリア310は、設定項目として、サーチモードの選択を受付ける。サーチモードは、モデル画像との類似度を算出するためのアルゴリズムの選択である。このサーチモードについては、ラジオボタン312を操作することで、「相関」および「形状」のいずれかを選択できる。「相関」は、入力された計測画像の明るさを正規化した上でモデル画像との相関値を算出することで類似度を計測するアルゴリズムである。一方、「形状」は、モデル画像の輪郭形状との一致度に基づいて類似度を計測するアルゴリズムである。一般的には、「相関」モードの方が安定した計測が可能である。
【0096】
このサーチモードにおいて「相関」が選択されると、「回転」、「安定度」、「精度」の設定が可能となる。一方、サーチモードにおいて「形状」が選択されると、「回転範囲」および「安定度」の設定が可能となる。
【0097】
「回転」では、ワークが回転するような場合に、設定済のモデル画像を所定の角度ずつ回転させた複数のモデル画像を内部的に生成し、生成したそれぞれのモデル画像に基づいて類似度を計測する処理に係るパラメータが指定される。すなわち、回転のチェックボックス314がチェックされると、回転の処理が有効化される。そして、数値ボックス315に、回転範囲(回転角度上限値および回転角度下限値)および刻み角度がそれぞれ入力
されると、回転範囲の範囲にわたって、刻み角度ずつ回転させたモデル画像を生成することが指定される。一般的には、刻み角度が小さいほど安定性は高くなるが、処理時間は長くなる。なお、高速に回転サーチを行なうことが可能なスマートモードを設定することも可能である。
【0098】
「安定度」では、計測の安定度と処理速度とのいずれを優先するのかが設定される。すなわち、スライドバー316は、所定幅(たとえば、1〜15)の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど安定度が高められる。
【0099】
「精度」では、計測の位置精度と処理速度とのどちらを優先するのかが設定される。すなわち、スライドバー318は、所定幅(たとえば、1〜3)の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど精度が高められる。
【0100】
上述したような内容がユーザによって設定された後、OKボタン307が押下されることで、画像処理装置200の内部パラメータとして反映される。なお、キャンセルボタン309が押下された場合には、未反映のパラメータはリセットされる。このようなモデル画像の設定に続いて、「領域設定」のタブ302が選択されると、モデル画像と一致する部分を探す範囲を指定するための設定画面が表示される(図示しない)。この設定画面では、ユーザは、画像表示エリア304上で任意の範囲をサーチ領域として設定することができる。なお、入力計測画像の全体をサーチ領域とすることもできるが、処理時間を短縮する観点からは、特定の範囲にサーチ領域を制限することが好ましい。
【0101】
領域設定の入力に続いて、「計測パラメータ」のタブ303が選択されると、計測された各座標における類似度(相関値)のうち、モデル画像とマッチングする(「OK」である)と判定するための条件などを受付ける。
【0102】
<計測画像の期待クラス>
視覚センサなどでは、設定済のモデル画像と実質的に同一の内容を含む計測画像に対してはマッチングOKを出力し、登録済のモデル画像と類似してはいるが本質的に異なる内容を含む計測画像に対してはマッチングNGを出力しなければならない。
【0103】
たとえば、上述の図8に示すように、文字列「ABC」を含むモデル画像MDLが設定されているものとする。このような場合に、図9に示す計測画像が入力された場合について考える。
【0104】
図9は、この発明の実施の形態に従う画像処理装置200のモニタに表示される稼動モードにおける画面表示例を示す図である。図9(a)に示すように、設定済のモデル画像MDLに含まれる文字列「ABC」がプリントされたワークを撮像した計測画像が入力された場合には、対応する領域が最も高い類似度(相関値)をもつ領域として検出される。このとき、検出された領域について計測された類似度(相関値)に基づいて、必ず、マッチングOKと判定されなければならない。一方、図9(b)に示すように、設定済のモデル画像MDLに含まれる文字列「ABC」とは異なる文字列「BCD」がプリントされたワークを撮像した計測画像が入力された場合には、マッチングNGと判定されなければならない。
【0105】
したがって、文字列「ABC」を含むモデル画像MDLが設定されている場合において、図9(a)に示す計測画像の期待クラスは、「良品(良品画像)」あるいは「OK」であり、図9(b)に示す計測画像の期待クラスは、「不良品(不良品画像)」あるいは「
NG」である。
【0106】
このように、本実施の形態に従う支援装置100では、計測画像のそれぞれについて、良品および不良品のいずれであるかといった期待クラスが既知である状態を前提とする。
【0107】
なお、画像処理装置200のパラメータの調整フェイズにおいて、実際に計測画像を取得する方法としては、生産ラインにテスト用のワークを流して連続的にそれを撮像する。このとき、取得された計測画像のそれぞれについて、ユーザが内容を確認した上で、期待クラスをそれぞれに対して入力するようにしてもよい。あるいは、より省力化を図る観点からは、予め、「良品」として検出されるべきワークと、「不良品」として検出されるべきワークとを区別しておき、「良品」のワークのみを連続的に撮影し、続いて「不良品」のワークのみを連続的に撮影するといった方法が効率的である。このような方法を用いた場合には、「良品」のワークを撮像して得られた計測画像と、「不良品」のワークを撮像して得られた計測画像とを、異なるフォルダにそれぞれ格納することで、容易に両者を区別することができる。
【0108】
<評価処理アプリケーションのユーザインターフェイス>
次に、図10〜図14を参照して、支援装置100の評価処理アプリケーション20(図7)によって提供されるユーザインターフェイスの一例について説明する。図10〜図14に示す表示画面は、支援装置100のCPU105および図示しないグラフィックボードなどが協働することで提供される。このような表示画面は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103やマウス104により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行なうための環境も提供する。
【0109】
(1 変動設定)
まず、支援装置100において、評価処理アプリケーション20(図7)の実行がユーザにより指示されると、図10に示すような入力画面400Aが表示される。この入力画面400Aでは、評価処理アプリケーション20と画像処理アプリケーション30とを同期するためのボタン402と、計測画像および計測画像に対応付けられた期待クラスを入力するためのボタン404と、調整対象を指定するためのボタン406とが選択可能に表示される。
【0110】
ユーザがマウス104などを操作してボタン402を押下すると、図示しない設定ダイアログが表示される。ユーザは、この設定ダイアログ上で、試行を実行するための画像処理アプリケーション30を選択する。すなわち、ユーザは、試行を実行するために用いる画像処理アプリケーション30として、画像処理装置200に実装されている画像処理アプリケーション30Aおよび支援装置100に実装されている画像処理アプリケーション30Bのいずれかを選択する。この選択により、評価処理アプリケーション20と画像処理アプリケーション30Aまたは30Bとの間で同期が確立される。
【0111】
次に、図11を参照して、ユーザがマウス104などを操作してボタン404を押下すると、対象となる計測画像および計測画像に対応付けられた期待クラスを入力するためのダイアログ414などが表示される。ここでは、各計測画像が1つのファイルとして存在し、かつそれぞれのファイルはその期待クラス(この例では、「良品」(OK)あるいは「不良品」(NG)の2通り)に区別されたフォルダ416Aおよび416Bにそれぞれ格納されているものとする。このとき、ユーザが対象の計測画像が格納されているより上位のフォルダ416(図11に示す例では、フォルダ名が「111」)を指定することで、「111」フォルダ416の下位にある「OK」フォルダ416A内にある計測画像が「良品」の期待クラスに対応付けられており、一方、「NG」フォルダ416B内にある
計測画像が「不良品」の期待クラスに対応付けられていることが指定される。
【0112】
なお、計測画像および計測画像に対応付けられた期待クラスの入力方法の別形態については後述する。
【0113】
次に、図12を参照して、ユーザがマウス104などを操作してボタン406を押下すると、モデル画像取得処理の対象とする項目および最適なモデル画像を探索するためのパラメータを入力するためのダイアログ420が表示される。このダイアログ420には、調整対象ユニットを選択するためのプルダウンメニュー442と、参照対象ユニットを選択するためのプルダウンメニュー444と、調整モードを選択するためのプルダウンメニュー446とを含む。プルダウンメニュー442では、調整されるモデル画像が用いられる処理項目の指定を受付ける。プルダウンメニュー444では、他の画像処理の結果を用いて処理を行なう場合などに、参照対象の処理項目の指定を受付ける。プルダウンメニュー446では、調整モードの指定を受付ける。この調整モードは、典型的には、パラメータ変動モード、画像変動モード、領域変動モードの3つを含む。パラメータ変動モードが選択された場合には、画像処理に係るパラメータを最適化する場合に選択される。画像変動モードが選択された場合には、マッチング処理に用いられるモデル画像を最適化する場合に選択される。領域変動モードが選択された場合には、マッチング処理に用いられるモデル画像として抽出する領域を最適化する場合に選択される。
【0114】
これらの操作により、選択されたマッチング処理について既に設定されているモデル画像(初期設定モデル画像)および関連するパラメータの現在値が取得される。なお、支援装置100が画像処理装置200とデータ通信可能に接続されている場合には、画像処理装置200で設定されている内容が、支援装置100へ転送される。
【0115】
以上のような内容の設定が完了すると、初期設定されているモデル画像の設定/変更を行なうためのボタン409と、試行対象のモデル画像候補を設定するためのボタン410と、試行の開始を指示するボタン408と、選択されたモデル画像を画像処理装置200などに反映するためのボタン412とが選択可能に表示される。
【0116】
次に、ユーザがマウス104などを操作してボタン409を押下すると、初期設定モデル画像の選択を受付けるためのダイアログ(図示しない)が表示される。ユーザは、このダイアログに対して操作を行なうことで、初期設定モデル画像とするべきファイルを指定する。
【0117】
次に、ユーザがマウス104などを操作してボタン410を押下すると、参照画像の設定を受付けるためのダイアログ(図示しない)が表示される。ユーザは、このダイアログに対して操作を行なうことで、参照画像とするべきファイルを指定する。典型的には、参照画像として良品画像を用いる場合には、ユーザは、良品画像が格納されているフォルダを指定する。当然のことながら、良品画像とは独立して参照画像を用意している場合には、この参照画像のファイルを直接指定してもよい。このようにユーザによって参照画像が指定されると、図13に示すようなダイアログ430が表示される。このダイアログ430には、番号フィールド432と、画像ファイルパスフィールド434とを含むテーブルが表示される。番号フィールド432および画像ファイルパスフィールド434には、参照画像とすべき画像ファイル名がファイルパス名とともに一覧表示される。なお、番号フィールド432に表示される番号(ID)は、内部処理において参照画像を特定する識別情報であり、参照画像毎にユニークに定められている。
【0118】
そして、ユーザがマウス104などを操作して試行追加ボタン422を押下すると、その時点において設定されている参照画像に対して、モデル画像が抽出されるとともに、抽
出されたモデル画像に対して試行番号が内部的に割当てられる。この内部的に割当てられた試行番号に応じて、試行回数に相当する参照画像の枚数表示426が更新される。そして、閉じるボタン424が押下されると、ダイアログ430が閉じられる。
【0119】
さらに、ユーザがマウス104などを操作して、試行の開始を指示するボタン408を押下すると、ダイアログ430において入力された変動設定に従って、パラメータの評価処理が開始される。
【0120】
(2 評価結果)
図14には、すべての試行が完了した場合に表示される評価結果画面400Bを示す。なお、図14には、すべての試行が完了した結果を示すが、この結果を試行の完了後に一斉に表示する形態だけでなく、開始とともに枠自体は表示させておき、試行の進行に伴って、対応する数値が順次表示されるようにしてもよい。
【0121】
評価結果画面400Bでは、モデル画像候補の別に評価結果が出力される。より具体的には、評価結果画面400Bには、試行番号フィールド452と、試行済フィールド454と、誤検出フィールド456と、良品画像誤検出フィールド458と、不良品画像誤検出フィールド460と、最大計測時間フィールド462と、良品画像相関値平均フィールド464と、不良品画像相関値平均フィールド466と、良品画像相関値3σフィールド468と、不良品画像相関値3σフィールド470とを含むテーブルが表示される。
【0122】
試行番号フィールド452には、先に生成されたモデル画像候補にそれぞれ割当てられた試行番号が昇順に表示される。試行済フィールド454には、対応するモデル画像候補についての試行が実行済であるか否かを示すチェックボックスが表示される。
【0123】
誤検出フィールド456、良品画像誤検出フィールド458、および不良品画像誤検出フィールド460には、対応するモデル画像候補についての評価結果のうち、誤検出されたものの総数が表示される。より具体的には、良品画像誤検出フィールド458には、良品画像を「不良品」と誤って判定した総数が表示され、不良品画像誤検出フィールド460には、不良品画像を「良品」と誤って判定した総数が表示される。そして、2つの誤検出数を合計した値が誤検出フィールド456に表示される。
【0124】
最大計測時間フィールド462には、各モデル画像候補についての試行の実行段階において計測された処理時間の最大値が表示される。支援装置100の画像処理アプリケーション30Bで処理が実行された場合には、この処理時間は、画像処理装置200の画像処理アプリケーション30Aにおいて実際に計測された時間とは異なる場合があるが、画像処理装置200において画像処理結果を生成するのに要すると見込まれる処理時間に相当する。この最大計測時間フィールド462に表示される時間は、モデル画像候補から最適なものを選択する場合に、実際の生産ラインのタクトタイムなどを考慮するための指標となる。
【0125】
良品画像相関値平均フィールド464、不良品画像相関値平均フィールド466、良品画像相関値3σフィールド468、および不良品画像相関値3σフィールド470には、それぞれの計測画像に対して特徴量として計測された類似度(相関値)についての統計的出力値が表示される。すなわち、良品画像相関値平均フィールド464には、入力された複数の良品画像に対して計測された相関値全体の平均値が表示され、不良品画像相関値平均フィールド466には、入力された複数の不良品画像に対して計測された相関値全体の平均値が表示される。また、良品画像相関値3σフィールド468には、入力された複数の良品画像に対して計測された相関値全体のばらつき度合いを示す3σ値が表示され、不良品画像相関値3σフィールド470には、入力された複数の不良品画像に対して計測さ
れた相関値全体のばらつき度合いを示す3σ値が表示される。
【0126】
評価結果画面400Bでは、モデル画像候補のうち、対応する処理結果群に含まれる特徴量が相対的に高いモデル画像候補を他のモデル画像候補とは異なる態様で出力する。図14に示す例では、良品画像相関値平均が最も高い、試行番号「4」についてアスタリスクマーク453が表示される。
【0127】
図14に示すように、試行された複数のモデル画像候補の各々について、その判定結果および統計的出力が一覧表示されることで、ユーザは、最適なモデル画像を容易に選択することができる。一般的には、良品画像相関値が最も高く、かつ不良品画像相関値との差が最も大きいものが安定したマッチング処理が可能であり、図14に示す例では、試行番号「4」のモデル画像が最適であると言える。
【0128】
このように最適なモデル画像が決定された後、ユーザがマウス104などを操作して、決定したモデル画像候補の試行番号を入力した後、ボタン412(図13)を押下すると、選択されたモデル画像が画像処理装置200に反映される。
【0129】
このような一連の手順によって、ユーザは、画像処理装置200におけるマッチング処理に用いるモデル画像をより迅速かつ容易に決定できる。
【0130】
<期待クラスの入力方法>
計測画像に対応付けられた期待クラスの入力方法として、それぞれの計測画像が格納されたフォルダ名に期待クラスを付与する構成を例示したが、以下のような他の構成を採用することもできる。
【0131】
(1)計測画像のファイル名を用いる構成
計測画像のファイル名の一部に期待クラスを示す文字を埋込むことで、期待クラスを付与することができる。たとえば、上述の良品画像であれば、「OK_xxx.jpg」とのファイル名を与え、不良品画像であれば、「NG_xxx.jpg」とのファイル名を与えることで、両者を識別することができる。このような方法を採用することで、計測画像に対して、個別に期待クラスを入力することができる。また、相関値などを期待値として入力する場合にも、同様の手法で入力することができる。
【0132】
(2)画像ファイルのヘッダ部を用いる構成
計測画像のヘッダ部に期待クラスを示す埋込むことで、期待クラスを付与することができる。たとえば、jpegフォーマットであれば、Exif規格に従って、ヘッダ部が用意されているので、この部分に、期待クラスの区分(OKまたはNG)および/または期待値を格納することができる。
【0133】
(3)定義ファイルを用いる構成
計測画像とは別に、各計測画像の期待クラスおよび/または期待値を記述した定義ファイルを用意することで、期待クラスを入力することができる。この定義ファイルには、各計測画像のファイル名などの識別情報に対応付けて、期待クラスの区分(OKまたはNG)、期待クラスを示す数値、条件などが記述される。この定義ファイルを用いた場合には、1つの計測画像に対して、複数の期待クラスを定義することができる。たとえば、同一の計測画像に対して、文字列「ABC」のマッチング処理、および文字列「BCD」のマッチング処理が連続的に実行される場合を考えると、文字列「ABC」を含む計測画像は、文字列「ABC」のマッチング処理にとってみれば良品画像であるが、文字列「BCD」のマッチング処理にとってみれば不良品画像となる。したがって、同一の計測画像に対して、複数のマッチング処理が実行されるような場合には、処理項目毎に期待クラスを付
与する必要があり、このような場合に、定義ファイルを用いるとより効果的である。
【0134】
(4)ユーザが個別/一括で設定する構成
特に、計測画像に良品/不良品の期待クラスを入力する場合には、支援装置100上での計測画像の選択時に入力するようにしてもよい。すなわち、ユーザは、対象の計測画像の選択時に、選択したファイル/フォルダが良品および不良品のいずれであるかを選択する。ここで、ファイル単位で選択すれば期待クラスの個別付与となり、フォルダ単位で選択すれば期待クラスの一括付与となる。
【0135】
<制御構造>
図15は、この発明の実施の形態に従う支援装置100の制御構造を示す機能ブロック図である。なお、図15には、支援装置100に評価処理アプリケーション20および画像処理アプリケーション30Bが実装されている場合の構成(図7(a)参照)を示す。図15に示す制御構造は、典型的には、支援装置100のCPU105がプログラムを実行することで提供される。図16は、図15に示す支援装置100の制御構造において生成されるファイル構造を示す図である。
【0136】
図15を参照して、本実施の形態に従う支援装置100は、その制御構造として、入力部1010と、モデル画像候補生成部1020と、処理部1030と、評価部1040と、出力部1050とを含む。なお、入力部1010、評価部1040、および出力部1050の機能は、評価処理アプリケーション20によって提供され、処理部1030の機能は、画像処理アプリケーション30によって提供され、モデル画像候補生成部1020の機能は、評価処理アプリケーション20と画像処理アプリケーション30との共同によって提供される。
【0137】
入力部1010は、ユーザから対象の計測画像の指定、およびそれぞれの計測画像に対応付けられた期待クラスを受付ける。なお、入力部1010は、指定された計測画像を自身にコピーすることもできるが、指定された計測画像へアクセス可能である場合には、対象の計測画像を必要なタイミングで取得して、その実体データを処理部1030へ出力する。より具体的には、入力部1010は、計測画像の指定に基づいて、対象の計測画像と内部的に使用する画像番号とを対応付けた画像リスト1011を生成するとともに、画像番号と対応する計測画像についての期待クラスとを対応付けた期待クラスリスト1012を生成する。図16(a)に示すように、画像リスト1011には、画像番号に対応付けて、対象の計測画像の存在する位置およびファイル名が記述される。また、図16(b)に示すように、期待クラスリスト1012には、画像番号に対応付けて、期待クラス(この例では、良品(OK)もしくは不良品(NG))が記述される。
【0138】
次に、モデル画像候補生成部1020は、ユーザ設定に応答して、入力部1010から参照画像(良品画像)を取得して、複数のモデル画像候補40を抽出する。より具体的には、モデル画像候補生成部1020は、入力インターフェイス部1021と、モデル画像抽出部1022と、通信部1023とを含む。入力インターフェイス部1021は、ユーザ操作に応じて、図12に示すようなダイアログ420および図13に示すようなダイアログ430を表示する。さらに、入力インターフェイス部1021は、ダイアログ420および430に対してユーザが入力した変更設定をモデル画像抽出部1022へ出力する。すなわち、入力インターフェイス部1021は、モデル画像を抽出するサーチ範囲ARAなどを含む変動設定を受付ける。モデル画像抽出部1022は、このユーザが指定した変動設定に従って、複数のモデル画像候補を抽出する。これらのモデル画像候補は、処理部1030へ出力される。
【0139】
通信部1023は、画像処理装置200とデータ通信可能に構成され、ユーザ操作に応
じて、画像処理装置200で設定されている処理項目、初期設定モデル画像、およびパラメータ値などを取得する。また、通信部1023は、支援装置100において決定されたモデル画像およびパラメータ値などを画像処理装置200へ転送することもできる。
【0140】
次に、処理部1030は、指定された計測画像に対して、複数のモデル画像にそれぞれ従ってマッチング処理を行なうことで複数の処理結果を生成する。より具体的には、処理部1030は、計測画像選択部1031と、モデル画像候補選択部1032と、類似度算出部1033と、判定部1034と、処理コントローラ1036とを含む。
【0141】
処理部1030における各部の処理は、処理コントローラ1036によって制御される。すなわち、入力部1010に複数の計測画像およびそれらにそれぞれ対応付けられた期待クラスが入力されると、複数のモデル画像候補の各々について、複数の計測画像のそれぞれについてのマッチング処理の結果を順次出力するように、処理コントローラ1036が計測画像選択部1031およびモデル画像候補選択部1032を適宜制御する。
【0142】
計測画像選択部1031は、処理コントローラ1036からの指令に従って、入力部1010から対象の計測画像を順次選択して、類似度算出部1033へ出力する。また、モデル画像候補選択部1032についても、処理コントローラ1036からの指令に従って、モデル画像候補生成部1020から対象のモデル画像候補を順次選択して、類似度算出部1033へ出力する。
【0143】
類似度算出部1033は、計測画像選択部1031によって選択された計測画像に対して、モデル画像候補選択部1032によって選択されたモデル画像候補に基づくマッチング処理を行なうことで、対象の計測画像についての類似度(相関値)を算出する。類似度算出部1033は、算出した類似度(相関値)を判定部1034へ出力する。
【0144】
判定部1034は、類似度算出部1033において算出された類似度(相関値)を、予め定められたしきい値と比較することで、対象の計測画像についての処理結果を生成する。典型的には、判定部1034は、類似度(相関値)がしきい値以上であれば、マッチングOKと判断する。そうでなければ、判定部1034はマッチングNGと判断する。
【0145】
判定部1034は、類似度算出部1033で算出された類似度とともに、判定結果を示す判定結果リスト1035を生成する。図16(c)に示すように、判定結果リスト1035には、画像番号に対応付けて、対象の計測画像の類似度および判定結果(この例では、OKまたはNG)が記述される。なお、判定結果リスト1035は、試行されたモデル画像候補毎に生成される。
【0146】
処理コントローラ1036は、モデル画像候補についての試行の実行に応じて、計測画像選択部1031およびモデル画像候補選択部1032へ指令を与える。
【0147】
次に、評価部1040は、計測画像に対応付けられた期待クラスに基づいて、モデル画像候補の別にそれぞれ生成された複数の処理結果をそれぞれ評価して、その評価結果を生成する。より具体的には、評価部1040は、比較部1041と、一致/不一致カウンタ1043と、打ち切り処理部1044と、統計処理部1045と、ヒストグラム生成部1046と、決定部1047とを含む。
【0148】
比較部1041は、入力部1010から取得した各計測画像についての期待クラスと、判定部1034で生成された判定結果とを比較して、その内容が一致しているか否かを評価する。より具体的には、比較部1041は、画像番号に対応付けて、評価結果を示す評価結果リスト1042を生成する。図15(d)に示すように、評価結果リスト1042
には、画像番号に対応付けて、対象の計測画像の判定結果と期待クラスとの対応関係が記述される。この記述例としては、良品(OK)の期待クラスを付与された計測画像に対する評価結果が良品(OK)であったことを示す「OK−OK」や、良品(OK)の期待クラスを付与された計測画像に対する評価結果が良品(NG)であったことを示す「OK−NG」などである。なお、一致および不一致のいずれかのみを記述するようにしてもよいが、両者が不一致であった場合、すなわち誤判定が発生した場合に、その詳細を分析することができないので、その区分についても記録しておくことが好ましい。なお、評価結果リスト1042は、試行されたモデル画像候補毎に生成される。
【0149】
一致/不一致カウンタ1043は、比較部1041で生成された複数の評価結果リスト1042に含まれる評価結果についての対応する期待クラスとの一致度合いを算出する。より具体的には、一致/不一致カウンタ1043は、評価結果リスト1042に含まれる評価結果のうち、対応する期待クラスと不一致となっているもの(誤検出されたもの)の数をカウントする。なお、「良品」(OK)の計測画像を「不良品」(NG)と誤判定した数、および「不良品」(NG)の計測画像を「良品」(OK)と誤判定した数をそれぞれ区別してカウントすることが好ましい。
【0150】
打ち切り処理部1044は、ユーザによって指定される許容上限値を受付け、いずれかのモデル画像候補について、計測画像に対する処理結果の生成中に、対応する期待クラスと不一致である処理結果の数が指定された許容上限値を超えると、当該モデル画像候補についての残りの計測画像に対する処理結果の生成を打ち切る。この許容上限値は、対象の画像処理装置に要求される安定度などに応じて設定される。すなわち、誤検出の数が許容上限値を超えた時点で、安定した画像処理を行なうことのできないモデル画像候補であると判断できるので、それ以上の評価を行なう必要がないからである。このように、適用先の要求に基づいて、明らかに不適格なモデル画像候補についての試行を打ち切ることで、試行全体に要する時間を短縮することができる。なお、打ち切り処理部1044は、打ち切り指示を処理部1030の処理コントローラ1036へ与える。
【0151】
あるいは、ある試行において、所定数の計測画像に対し評価を行ない、その結果の平均値などが先に実行した試行の結果より悪い場合には、当該試行についての処理結果の生成を打ち切るようにしてもよい。
【0152】
統計処理部1045は、処理部1030で算出された評価結果についての統計的出力を算出する。より具体的には、統計処理部1045は、類似度算出部1033で算出された判定結果リスト1035に含まれる相関値の統計量(たとえば、平均値、中間値、最大値、最小値、分散値、標準偏差など)を、モデル画像候補毎に算出する。
【0153】
ヒストグラム生成部1046は、統計処理部1045により算出された統計量に基づいて、特徴量を所定の区間に区切ったヒストグラム(度数分布)のデータを、モデル画像候補毎に生成する。
【0154】
決定部1047は、ユーザによって指定された条件に従って、モデル画像候補生成部1020で生成されたモデル画像候補のうち、最も適切なものを決定する。より具体的には、決定部1047は、評価結果が満たすべき条件を受付け、複数のモデル画像候補にそれぞれ従って処理を行なうことで生成される処理結果のうち、指定された条件に最も適合しているモデル画像候補を決定する。この決定部1047における処理については、後述する。
【0155】
次に、出力部1050は、複数のモデル画像候補の別に、評価部1040で生成された評価結果を出力する。より具体的には、出力部1050は、各種の出力形態を用意してお
り、一例として上述した、テーブル出力機能、ヒストグラム出力機能、散布図出力機能などである。これらの出力形態は、ユーザ操作に応じて適宜切換えられる。出力部1050は、テーブル出力機能として、一致/不一致カウンタ1043により算出された評価結果についての対応する期待クラスとの一致度合いや、対応する期待クラスと不一致となっている処理結果の数を出力する。さらに、このテーブル出力機能として、出力部1050は、評価結果とともに計測された処理時間を出力する。
【0156】
さらに、出力部1050は、テーブル出力機能として、複数のモデル画像候補のうち、対応する処理結果群に含まれる特徴量(相関値)が相対的に高いモデル画像候補を、他のモデル画像候補とは異なる態様で出力してもよい。すなわち、最も相関値の平均値が高いモデル画像候補については、赤色表示や点滅表示などによって、目立つように出力することが好ましい。これは、特徴量(相関値)が高いということは、当該モデル画像候補に従う画像処理によって、計測画像の特徴をうまく抽出できることを意味するので、このようなモデル画像候補を優先的にユーザに選択してもらうことを促すためである。
【0157】
<条件指定>
次に、図17を参照して、評価部1040の決定部1047(図15)がモデル画像候補のうち、最も適切なものを選択する条件の入力インターフェイスの一例について例示する。
【0158】
ユーザは、上述の図13に示すダイアログ420上でのモデル画像候補についての設定後、図17に示すようなダイアログ499で、いずれの項目を優先するかについて設定する。ダイアログ499では、図14に示す評価結果画面400Bに出力される項目の一覧が表示されており、ユーザは、プルダウンメニューを操作して、優先すべきかを示す優先順を必要な項目に対して設定する。図17に示す例では、「誤検出数:少」が優先順位「1」に設定されており、「良品画像相関値平均:高」が優先順位「2」に設定されている。
【0159】
図17に示すような条件が設定されると、決定部1047は、生成されたモデル画像候補毎の評価結果を参照して、最も誤検出数の少ないモデル画像候補を検索する。この検索の結果、1つに絞ることができれば、そのモデル画像候補が最適なパラメータセットとして決定される。一方、誤検出数の条件だけでは、1つに絞りきることができなかった場合には、その中で、良品画像相関値平均が最も高いモデル画像候補が最適なモデル画像として決定される。
【0160】
なお、ユーザによる条件の設定方法としては、図17に示すユーザインターフェイスによる方法以外にも、さまざまな方法を採用することができる。
【0161】
<処理手順>
図18〜図22は、この発明の実施の形態に従うシステムにおける全体処理を示すフローチャートである。図18〜図22に示すフローチャートは、典型的には、支援装置100のCPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。なお、図18〜図22に示すフローチャートでは、各処理の実行主体を明瞭化するために、評価処理アプリケーション20および画像処理アプリケーション30を区分して表現するが、これらのアプリケーションを統合したプログラムを実行してもよい。あるいは、上述したように、支援装置100が画像処理装置200に実装されている画像処理アプリケーション30Aを利用することもできる。この場合には、本実施の形態に従う支援装置100および画像処理装置200を含めたシステムが本発明に係るモデル画像取得支援装置に相当する。なお、この場合には、画像処理装置200のCPU205についても、固定ディスク207などに予め格納されたプログ
ラムをメモリ206に読出して実行することで、画像処理アプリケーション30Aの機能を実現する。
【0162】
図18〜図22を参照して、まず、起動が指示されると、評価処理アプリケーション20(支援装置100のCPU105(図2);以下同様)は、初期化処理の実行後、図10に示す入力画面400Aをモニタ102に表示する(ステップS100)。続いて、評価処理アプリケーション20は、入力画面400A上のボタン402が押下されたか否かを判断する(ステップS102)。ボタン402が押下されていない場合(ステップS102においてNOの場合)には、ステップS102の処理が繰返される。
【0163】
ボタン402が押下された場合(ステップS102においてYESの場合)には、評価処理アプリケーション20は、試行を実行するための画像処理アプリケーション30の選択を受付ける(ステップS104)。画像処理アプリケーション30が選択されると、評価処理アプリケーション20は、選択先の画像処理アプリケーション30との間で同期確立処理を実行する。具体的には、評価処理アプリケーション20は、選択先の画像処理アプリケーション30に同期確立要求を送信する。選択先の画像処理アプリケーション30は、この同期確立要求に応答して、画像処理アプリケーション30(支援装置100のCPU105(図2)または画像処理装置200のCPU205(図3);以下同様)は、必要な情報を評価処理アプリケーション20へ返答する(ステップS106)。この画像処理アプリケーション30からのデータの返答によって、両者の同期が確立する。
【0164】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン404が押下されたか否かを判断する(ステップS108)。ボタン404が押下されていない場合(ステップS108においてNOの場合)には、ステップS108の処理が繰返される。
【0165】
ボタン404が押下された場合(ステップS108においてYESの場合)には、評価処理アプリケーション20は、図11に示すダイアログ414をモニタ102に表示する(ステップS110)。続いて、評価処理アプリケーション20は、対象となる計測画像および計測画像に対応付けられた期待クラスの指定を受付ける(ステップS112)。すなわち、ユーザは、「良品」の期待クラスに対応付けられている計測画像が格納されている「OK」フォルダを指定するとともに、必要に応じて、「不良品」の期待クラスに対応付けられている計測画像が格納されている「NG」フォルダを指定する。なお、本実施の形態に従うモデル画像取得支援装置では、少なくとも良品画像が存在すれば、モデル画像を決定することができるので、不良品画像を必ず指定する必要はない。
【0166】
計測画像が設定されると、評価処理アプリケーション20は、対象の計測画像と内部的に使用する画像番号とを対応付けた画像リスト1011(図16(a))を生成するとともに、画像番号と対応する計測画像についての期待クラスとを対応付けた期待クラスリスト1012(図16(b))を生成する(ステップS114)。そして、評価処理アプリケーション20は、ダイアログ414を閉じる。
【0167】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン406が押下されたか否かを判断する(ステップS116)。ボタン406が押下されていない場合(ステップS116においてNOの場合)には、ステップS116の処理が繰返される。
【0168】
ボタン406が押下された場合(ステップS116においてYESの場合)には、評価処理アプリケーション20は、モデル画像取得処理の対象とする項目および最適なモデル画像を探索するためのパラメータを入力するためのダイアログ420(図12)をモニタ102に表示する(ステップS118)。続いて、評価処理アプリケーション20は、ユーザがプルダウンメニュー442を用いて入力する、調整されるモデル画像が用いられる
処理項目の指定を受付ける(ステップS120)。さらに、評価処理アプリケーション20は、ユーザがプルダウンメニュー444を用いて入力する、他の画像処理の結果を用いて処理を行なう場合などにおける、参照対象の処理項目の指定を受付ける(ステップS122)。さらに、評価処理アプリケーション20は、ユーザがプルダウンメニュー446を用いて入力する、調整モードの指定を受付ける(ステップS124)。
【0169】
このモデル画像取得処理の対象とする項目および最適なモデル画像を探索するためのパラメータの入力後、評価処理アプリケーション20は、選択された画像処理アプリケーション30に対して、初期設定モデル画像およびパラメータ値を要求する(ステップS126)。この要求に応答して、画像処理アプリケーション30は、現在設定されているモデル画像(初期設定モデル画像)および関連するパラメータの現在値を評価処理アプリケーション20へ応答する(ステップS128)。
【0170】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン409が押下されたか否かを判断する(ステップS130)。ボタン409が押下されていない場合(ステップS130においてNOの場合)には、処理はステップS136へ進む。
【0171】
ボタン409が押下された場合(ステップS130においてYESの場合)には、評価処理アプリケーション20は、図12に示すダイアログ430をモニタ102に表示する(ステップS132)。続いて、評価処理アプリケーション20は、モデル画像の抽出対象となる参照画像の指定を受付ける(ステップS134)。すなわち、ユーザは、マウス104などを操作してモデル画像を抽出する参照画像のファイルを設定する。この設定が完了すると、評価処理アプリケーション20は、ダイアログ430を閉じる。
【0172】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン410が押下されたか否かを判断する(ステップS136)。ボタン410が押下されていない場合(ステップS136においてNOの場合)には、ステップS130の処理が繰返される。
【0173】
ボタン410が押下された場合(ステップS136においてYESの場合)には、評価処理アプリケーション20は、以下に示すように、参照画像から複数のモデル画像候補を抽出する。具体的には、評価処理アプリケーション20は、指定された参照画像のファイル名の一覧を取得した後、初期設定モデル画像に基づいてマッチング処理を行なわせるための指令を、画像処理アプリケーション30に対して与える(ステップS138)。このとき、参照画像からモデル画像を抽出する領域(サーチ範囲)などを指定する情報を付加してもよい。さらに、評価処理アプリケーション20は、参照画像の画像番号の1番目に対応する画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS140)。すなわち、評価処理アプリケーション20は、画像処理アプリケーション30に、初期設定モデル画像に基づいて、良品画像である参照画像から複数のモデル画像候補をサーチして抽出させる。
【0174】
画像処理アプリケーション30は、評価処理アプリケーション20からの通知に応答して、指定された計測画像をロードする(ステップS142)。続いて、画像処理アプリケーション30は、ロードされた計測画像に対して、現在設定されている初期設定モデル画像に基づくマッチング処理を実行することで、モデル画像候補を抽出する(ステップS144)。その後、画像処理アプリケーション30は、抽出したモデル画像候補を評価処理アプリケーション20へ返送する(ステップS146)。
【0175】
評価処理アプリケーション20は、画像処理アプリケーション30から受信したモデル画像候補を記憶装置(メモリ106および/または固定ディスク107)に格納する(ステップS148)。続いて、評価処理アプリケーション20は、すべての参照画像(典型
的には、「良品」である計測画像)についてのモデル画像候補の抽出が完了したか否かを判断する(ステップS150)。すべての参照画像についてのモデル画像候補の抽出が完了していない場合(ステップS150においてNOの場合)には、評価処理アプリケーション20は、画像リスト1011を参照して、現在の画像番号の次にある画像番号に対応する画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS152)。その後、ステップS142以下の処理が繰返される。
【0176】
すべての参照画像についてのモデル画像候補の抽出が完了している場合(ステップS150においてNOの場合)には、評価処理アプリケーション20は、図13に示すダイアログ430をモニタ102に表示する(ステップS154)。
【0177】
続いて、評価処理アプリケーション20は、ダイアログ430上のボタン422が押下されたか否かを判断する(ステップS158)。ボタン422が押下された場合(ステップS158においてYESの場合)には、評価処理アプリケーション20は、選択されたモデル画像候補に試行番号を割当てる(ステップS160)。すなわち、評価処理アプリケーション20は、記憶装置に格納したモデル画像候補のうち、選択されたモデル画像候補と試行番号との対応付けを行なう。続いて、評価処理アプリケーション20は、割当てた試行番号に応じて、ダイアログ430上の枚数表示426を更新する(ステップS162)。
【0178】
ボタン422が押下されていない場合(ステップS158においてNOの場合)、もしくはステップS162の処理後、評価処理アプリケーション20は、ダイアログ430上のボタン424が押下されたか否かを判断する(ステップS164)。ボタン424が押下されていない場合(ステップS164においてNOの場合)には、ステップS156以下の処理が繰返される。一方、ボタン424が押下された場合(ステップS164においてYESの場合)には、評価処理アプリケーション20は、ダイアログ430を閉じる(ステップS166)。
【0179】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン408が押下されたか否かを判断する(ステップS168)。ボタン408が押下されていない場合(ステップS168においてNOの場合)には、ステップS168の処理が繰返される。
【0180】
ボタン408が押下された場合(ステップS168においてYESの場合)には、評価処理アプリケーション20は、以下に示すように、複数のモデル画像候補に対する試行を開始する。具体的には、評価処理アプリケーション20は、最も小さい試行番号(試行番号[0])に対応するモデル画像候補を記憶装置からロードする(ステップS170)。続いて、評価処理アプリケーション20は、ロードしたモデル候補画像および当該モデル候補画像に基づいてマッチング処理を行なわせるための指令を、画像処理アプリケーション30に対して与える(ステップS172)。さらに、評価処理アプリケーション20は、画像リスト1011を参照して、1番目の画像番号に対応する画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS174)。すなわち、評価処理アプリケーション20は、画像処理アプリケーション30に、モデル画像候補に基づくマッチング処理を実行させる。
【0181】
画像処理アプリケーション30は、評価処理アプリケーション20からの通知に応答して、指定された計測画像をロードする(ステップS176)。続いて、画像処理アプリケーション30は、ロードされた計測画像に対して、評価処理アプリケーション20から受信したモデル画像候補に基づくマッチング処理を実行する(ステップS178)。その後、画像処理アプリケーション30は、マッチング処理により得られた類似度を評価処理アプリケーション20へ返送する(ステップS180)。
【0182】
評価処理アプリケーション20は、画像処理アプリケーション30から受信した類似度を、試行番号および画像番号に対応付けて、判定結果リスト1035として記憶装置に格納する(ステップS182)。評価処理アプリケーション20は、受信した類似度と予め設定されているしきい値とを比較して、対象の計測画像に対する判定結果を算出して、判定結果リスト1035に追記する(ステップS184)。さらに、評価処理アプリケーション20は、算出した判定結果と、対象の計測画像に対応付けられている期待クラスとを比較して、その評価結果を試行番号および画像番号に対応付けて、評価結果リスト1042として記憶装置に格納する(ステップS186)。
【0183】
続いて、評価処理アプリケーション20は、画像リスト1011を参照して、すべての計測画像についての現在のモデル画像候補についての試行が完了したか否かを判断する(ステップS188)。すべての計測画像についての試行が完了していない場合(ステップS188においてNOの場合)には、評価処理アプリケーション20は、画像リスト1011を参照して、現在の画像番号の次にある画像番号に対応する計測画像の画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS190)。その後、ステップS176以下の処理が繰返される。
【0184】
すべての計測画像についての試行が完了している場合(ステップS188においてYESの場合)には、評価処理アプリケーション20は、判定結果リスト1035および評価結果リスト1042を参照して、現在の試行番号において算出された類似度および評価結果についての統計量を算出する(ステップS192)。
【0185】
続いて、評価処理アプリケーション20は、試行対象のすべてのモデル画像候補についての試行が完了したか否かを判断する(ステップS194)。試行対象のすべてのモデル画像候補についての試行が完了していない場合(ステップS194においてNOの場合)には、評価処理アプリケーション20は、現在の試行番号の次にある試行番号に対応するモデル画像候補を記憶装置からロードする(ステップS196)。その後、ステップS174以下の処理が繰返される。
【0186】
試行対象のすべてのモデル画像候補についての試行が完了している場合(ステップS194においてYESの場合)には、評価処理アプリケーション20は、算出された類似度および/または評価結果に基づいて、最適なモデル画像を決定する(ステップS198)。続いて、評価処理アプリケーション20は、それぞれの試行番号について算出された類似度、評価結果、およびそれらの統計量に基づいて、図14に示すような評価結果画面をモニタ102に表示する(ステップS200)。
【0187】
続いて、評価処理アプリケーション20は、入力画面400A上のボタン412が押下されたか否かを判断する(ステップS202)。ボタン412が押下された場合(ステップS202においてYESの場合)には、評価処理アプリケーション20は、選択されているモデル画像候補を接続先の画像処理装置200の画像処理アプリケーション30Aへ転送する(ステップS204)。画像処理アプリケーション30は、受信したモデル画像候補を新たなモデル画像として設定する(ステップS206)。
【0188】
ボタン412が押下されていない場合(ステップS202においてNOの場合)、もしくはステップS206の処理後、評価処理アプリケーション20は、評価処理アプリケーション20の終了が指示されたか否かを判断する(ステップS208)。評価処理アプリケーション20の終了が指示されていない場合(ステップS208においてNOの場合)には、ステップS202以下の処理が繰返される。
【0189】
評価処理アプリケーション20の終了が指示された場合(ステップS208においてYESの場合)には、処理は終了する。
【0190】
<本実施形態の作用効果>
この発明の実施の形態によれば、ユーザがモデル画像を抽出すべき参照画像を指定するだけで、それぞれの参照画像からモデル画像候補が抽出されるとともに、それぞれ抽出されたモデル画像候補を用いて実際にマッチング処理を行なった結果を評価内容が一覧表示される。そのため、ユーザは、一覧表示された評価結果に基づいて、容易に最適なモデル画像を選択することができる。
【0191】
すなわち、ユーザは、モデル画像となり得る参照画像を指定するだけで、それ以外はモデル画像取得支援装置が自動的に処理を実行するので、ユーザが現場に張付いて長時間に亘って調整を行なう必要がなくなる。そのため、モデル画像として採用できる可能性のある参照画像が大量に存在する場合であっても、より迅速かつ容易に最適なモデル画像を決定することができる。
【0192】
また、モデル画像候補の間で、統計的な評価結果を比較可能に評価結果が一覧表示されるので、作業者の経験によらず、最適なモデル画像を客観的に決定することができる。そのため、ある程度の知識を有する作業者であれば、熟練した作業者による作業に遜色なく適切なモデル画像を決定することができる。
【0193】
<変形例1>
上述の実施の形態に従う支援装置100における全体処理を示すフローチャートでは、それぞれのモデル画像候補をセットした後、対象の計測画像に対してマッチング処理を順次実行する手順について例示したが、先に対象の計測画像をロードした後、モデル画像候補の各々についてマッチング処理を順次実行するようにしてもよい(変形例1)。この方法は、計測画像のロードや転送などに時間を要する環境や、生産ラインを流れるワークを撮像して新たな計測画像を取得しながら、並行してモデル画像候補の評価を行なう場合に、有効である。
【0194】
変形例1に従うシステムにおける全体処理は、本実施の形態に従うシステムにおける全体処理手順(図18〜図22)のうち、図21のフローチャートに示す処理手順を図23のフローチャートに示す処理のように変更したものに相当する。したがって、以下の説明では、本実施の形態と同様の処理手順については、説明を繰返さない。また、図23に示すフローチャートにおいて、図21に示すフローチャートに含まれる各ステップの処理と同様の処理を含むステップについては、同一のステップ番号を用いている。
【0195】
図23を参照して、まず、評価処理アプリケーション20は、画像リスト1011を参照して、1番目の画像番号に対応する画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS174)。続いて、評価処理アプリケーション20は、最も小さい試行番号(試行番号[0])に対応するモデル画像候補を記憶装置からロードする(ステップS170)。さらに、評価処理アプリケーション20は、ロードしたモデル候補画像および当該モデル候補画像に基づいてマッチング処理を行なわせるための指令を、画像処理アプリケーション30に対して与える(ステップS172)。
【0196】
画像処理アプリケーション30は、評価処理アプリケーション20からの通知に応答して、指定された計測画像をロードする(ステップS176)。続いて、画像処理アプリケーション30は、ロードされた計測画像に対して、評価処理アプリケーション20から受信したモデル画像候補に基づくマッチング処理を実行する(ステップS178)。その後、画像処理アプリケーション30は、マッチング処理により得られた類似度を評価処理ア
プリケーション20へ返送する(ステップS180)。
【0197】
評価処理アプリケーション20は、画像処理アプリケーション30から受信した類似度を、試行番号および画像番号に対応付けて、判定結果リスト1035として記憶装置に格納する(ステップS182)。評価処理アプリケーション20は、受信した類似度と予め設定されているしきい値とを比較して、対象の計測画像に対する判定結果を算出して、判定結果リスト1035に追記する(ステップS184)。さらに、評価処理アプリケーション20は、算出した判定結果と、対象の計測画像に対応付けられている期待クラスとを比較して、その評価結果を試行番号および画像番号に対応付けて、評価結果リスト1042として記憶装置に格納する(ステップS186)。
【0198】
続いて、評価処理アプリケーション20は、試行対象のすべてのモデル画像候補についての試行が完了したか否かを判断する(ステップS194)。試行対象のすべてのモデル画像候補についての試行が完了していない場合(ステップS194においてNOの場合)には、評価処理アプリケーション20は、現在の試行番号の次にある試行番号に対応するモデル画像候補を記憶装置からロードする(ステップS196)。その後、ステップS172以下の処理が繰返される。
【0199】
一方、試行対象のすべてのモデル画像候補についての試行が完了している場合(ステップS194においてYESの場合)には、評価処理アプリケーション20は、画像リスト1011を参照して、すべての計測画像についての試行が完了したか否かを判断する(ステップS188A)。すべての計測画像についての試行が完了していない場合(ステップS188AにおいてNOの場合)には、評価処理アプリケーション20は、画像リスト1011を参照して、現在の画像番号の次にある画像番号に対応する計測画像の画像ファイル名の指定を、画像処理アプリケーション30に対して与える(ステップS190)。その後、ステップS170以下の処理が繰返される。
【0200】
すべての計測画像についての試行が完了している場合(ステップS188AにおいてYESの場合)には、評価処理アプリケーション20は、判定結果リスト1035および評価結果リスト1042を参照して、それぞれの試行番号において算出された類似度および評価結果についての統計量をそれぞれ算出する(ステップS192A)。その後、処理はステップS198へ進む。
【0201】
<変形例2>
上述したマッチング処理における誤検出数に応じて、不適切と考えられるモデル画像候補についての試行を打ち切る処理を追加してもよい(変形例2)。変形例2に従うシステムにおける全体処理は、本実施の形態に従うシステムにおける全体処理手順(図18〜図22)のうち、図21のフローチャートに示す処理手順を図24のフローチャートに示す処理のように変更したものに相当する。したがって、以下の説明では、本実施の形態と同様の処理手順については、説明を繰返さない。また、図24に示すフローチャートは、図21に示すフローチャートにおいて、ステップS230,S232,S234を追加したものに相当する。
【0202】
ステップS186の実行後、評価処理アプリケーション20は、算出した判定結果が対象の計測画像に対応付けられている期待クラスと不一致である場合に、誤検出数をカウントする(ステップS230)。続いて、評価処理アプリケーション20は、ステップS230においてカウントされた誤検出数が指定された許容上限値を超えているか否かを判断する(ステップS232)。
【0203】
カウントされた誤検出数が指定された許容上限値を超えている場合(ステップS232
においてYESの場合)には、評価処理アプリケーション20は、現在のモデル画像候補についての残りの計測画像に対する試行を打ち切るための指令を画像処理アプリケーション30へ送信する(ステップS234)。そして、処理はステップS196へ進む。
【0204】
<変形例3>
上述の実施の形態においては、主として1つのモデル画像に基づくマッチング処理を行なう構成について例示した。ところで、取得される計測画像が様々な外乱によって安定しない(不安定な)場合などには、予め複数のモデル画像を用意しておき、これらのモデル画像に基づいてマッチング処理を行なうことでマッチング処理をより安定化することができる。より具体的には、計測画像に対して、複数のモデル画像に基づくマッチング処理をそれぞれ実行するとともに、少なくともいずれか1つのモデル画像に基づくマッチング処理が成功すれば、対象の計測画像に対して全体としてマッチングOKと判断するようなアプリケーションが想定される。なお、このようなマッチング処理は、フレキシブルサーチなどと称される。
【0205】
図25は、この発明の実施の形態の変形例3に従うマッチング処理の概要を説明するための図である。図25(a)は、全体としてマッチングOKの場合を示し、図25(b)は、全体としてマッチングNGの場合を示す。
【0206】
図25(a)を参照して、予め用意された複数のモデル画像MDL1〜MDL5(以下、これらのモデル画像を「(最適)モデル画像セット」とも称す。)と計測画像との間で、マッチング処理がそれぞれ行なわれる。すなわち、モデル画像MDL1〜MDL5の各々について、計測画像との間の類似度(相関値)が算出される。さらに、これらの算出された類似度(相関値)と予め設定されたしきい値とをそれぞれ比較することで、マッチングOKまたはマッチングNGがそれぞれ判断される。そして、少なくとも1つ(図25(a)に示す例では、モデル画像MDL2およびMDL4の2つ)のモデル画像について、マッチングOKと判断されると、当該計測画像の全体に対するマッチング処理としては「OK」と判断される。
【0207】
これに対して、図25(b)に示すように、モデル画像MDL1〜MDL5のすべてについてマッチングNGと判断されると、当該計測画像の全体に対するマッチング処理としては「NG」と判断される。
【0208】
このような複数のモデル画像を用いてマッチング処理を行なうようなアプリケーションに対しては、どのような組み合わせのモデル画像を設定するのかが重要である。そこで、本実施の形態の変形例3においては、より迅速かつ容易に最適なモデル画像セットを決定可能な構成について説明する。
【0209】
図26は、この発明の実施の形態の変形例3に従うマッチング処理におけるモデル画像セット取得処理の概要を説明するための図である。
【0210】
図26を参照して、本変形例に従う支援装置は、複数の参照画像から抽出されたモデル画像候補のうち、複数のモデル画像候補を「最適モデル画像セット」として決定する。このような最適モデル画像セットを用いることで、取得される計測画像が様々な外乱に影響を受けたとしても、マッチング処理を安定して行なうことができる。すなわち、本変形例に従う支援装置は、複数の計測画像の全体に対してのマッチング処理結果を最適化するための、複数のモデル画像候補に含まれる2つ以上のモデル画像候補の組合わせを探索する。なお、以下では、典型的な3つの手法について例示する。
【0211】
(手法1)
手法1は、図26に示すモデル画像候補から総当りでモデル画像セットの候補を試行対象として、この作成した試行対象のうち、最も安定したマッチング処理ができるものを選択するものである。
【0212】
図27は、この発明の実施の形態の変形例3に従う手法1の概要を説明するための図である。図27に示すように、本変形例の手法1においては、予め定められた数で構成されるモデル画像候補の組み合わせを総当りで決定し、各組み合わせを試行対象とする。すなわち、図27に示す例では、3つのモデル画像候補の組み合わせを順次作成していき、各組み合わせに試行番号を割り当てる。そして、各試行番号を割り当てたモデル画像候補を用いて、上述と同様の試行を繰り返し実行する。そして、その実行結果をユーザに表示する。試行結果を提供するユーザインターフェイスについては、上述の図14と同様であるので、詳細な説明は繰返さない。
【0213】
なお、図27に示す例では、予め定められた数のモデル画像候補の組み合わせを作成する構成について例示したが、組み合わせに用いるモデル画像候補の数も変動するようにしてもよい。
【0214】
上述のような手法1の手順は、図28に示すフローチャートに概略することができる。
図28は、この発明の実施の形態の変形例3に従う手法1の手順を示すフローチャートである。図28に示すフローチャートは、典型的には、支援装置100のCPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0215】
評価処理アプリケーション20(支援装置100のCPU105(図2);以下同様)は、モデル画像の抽出対象となる参照画像の指定を受付ける(ステップS400)。続いて、評価処理アプリケーション20は、指定された参照画像から複数のモデル画像候補を抽出する(ステップS402)。このステップS402の処理内容は、上述した図19のステップS138〜S152の処理内容と同様である。
【0216】
その後、評価処理アプリケーション20は、抽出された複数のモデル画像候補から予め定められた数で構成される組み合わせを総当りで決定する(ステップS404)。さらに、評価処理アプリケーション20は、決定した組み合わせの各々について、試行番号を割り当てる(ステップS406)。
【0217】
さらに、評価処理アプリケーション20は、各試行番号に対応するモデル画像候補セットに対して、試行を実行する(ステップS408)。このステップS408の処理内容は、上述した図21のステップS170〜S196の処理内容と同様である。
【0218】
試行の完了後、評価処理アプリケーション20は、それぞれの試行番号について算出された類似度、評価結果、およびそれらの統計量などを示す評価結果画面をモニタ102に表示する(ステップS410)。さらに、評価処理アプリケーション20は、ユーザがいずれかのモデル画像候補セットを選択したか否かを判断する(ステップS412)。
【0219】
ユーザがいずれかのモデル画像候補セットを選択した場合(ステップS412においてYESの場合)には、評価処理アプリケーション20は、選択されたモデル画像候補セットを接続先の画像処理装置200の画像処理アプリケーション30Aへ転送する(ステップS414)。画像処理アプリケーション30は、受信したモデル画像候補を、フレキシブルサーチ用のモデル画像セットとして登録する。
【0220】
本変形例に従う手法1によれば、モデル画像候補の組み合わせを総当りで評価できるの
で、最適モデル画像候補セットを確実に決定することができる。
【0221】
(手法2)
手法2は、まず、図26に示すモデル画像候補のうち最も安定してマッチング処理ができるモデル画像を決定し、続いて、当該決定したモデル画像に対してマッチングNGとなった計測画像を抽出して、この抽出した計測画像との間でマッチングOKとなる他のモデル画像を補完的に決定するものである。この手法2の手順を図29を用いて説明する。
【0222】
図29は、この発明の実施の形態の変形例3に従う手法2の手順を示すフローチャートである。図29に示すフローチャートは、典型的には、支援装置100のCPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0223】
評価処理アプリケーション20(支援装置100のCPU105(図2);以下同様)は、モデル画像の抽出対象となる参照画像の指定を受付ける(ステップS450)。続いて、評価処理アプリケーション20は、指定された参照画像から複数のモデル画像候補を抽出する(ステップS452)。このステップS452の処理内容は、上述した図19のステップS138〜S152の処理内容と同様である。
【0224】
その後、評価処理アプリケーション20は、抽出された複数のモデル画像候補の各々に対して試行番号を割り当てる(ステップS454)。そして、評価処理アプリケーション20は、各試行番号に対応するモデル画像候補に対して、試行を実行する(ステップS456)。このステップS456の処理内容は、上述した図21のステップS170〜S196の処理内容と同様である。試行の完了後、評価処理アプリケーション20は、算出された類似度および/または評価結果に基づいて、対象としたモデル画像候補のうち最適なモデル画像(第1モデル画像)を決定する(ステップS458)。続いて、評価処理アプリケーション20は、ステップS458において決定した第1モデル画像に対してマッチングNGとなった計測画像を抽出する(ステップS460)。
【0225】
さらに、評価処理アプリケーション20は、抽出された複数のモデル画像候補のうち、ステップS458において決定した第1モデル画像を除いた他のモデル画像候補に対して、ステップS460で抽出した計測画像についての試行を実行する(ステップS462)。このステップS462の処理内容についても、上述した図21のステップS170〜S196の処理内容と同様である。試行の完了後、評価処理アプリケーション20は、算出された類似度および/または評価結果に基づいて、対象としたモデル画像候補のうち最適なモデル画像(第2モデル画像)を決定する(ステップS464)。
【0226】
続いて、評価処理アプリケーション20は、ステップS464において決定した第2モデル画像に対してマッチングNGとなった計測画像が存在するか否かを判断する(ステップS466)。第2モデル画像に対してマッチングNGとなった計測画像が存在しない場合(ステップS466においてNOの場合)には、評価処理アプリケーション20は、ステップS458において決定した第1モデル画像およびステップS464において決定した第2モデル画像を、モデル画像候補セットとして決定する(ステップS468)。
【0227】
これに対して、第2モデル画像に対してマッチングNGとなった計測画像が存在する場合(ステップS466においてYESの場合)には、評価処理アプリケーション20は、ステップS460以下の処理を繰返す。すなわち、評価処理アプリケーション20は、マッチングNGとなった計測画像が存在しなくなるまで、第2モデル画像を追加する。
【0228】
本変形例に従う手法2によれば、最低限必要な数のモデル画像からなるモデル画像候補
セットを決定できるので、より効率的なマッチング処理が可能となる。
【0229】
(手法3)
手法3は、図26に示すモデル画像候補の各々について試行を実行し、それぞれの試行結果に基づいて、最適なモデル画像候補のモデル画像候補の組み合わせを決定するものである。
【0230】
図30は、この発明の実施の形態の変形例3に従う手法3の概要を説明するための図である。図31は、この発明の実施の形態の変形例3に従う手法3における試行結果の一例を示す図である。
【0231】
図30(a)に示すように、本変形例の手法3においては、まず、抽出された複数のモデル画像候補の各々について、計測画像に対する試行をそれぞれ実行する。すると、図31に示すような、対象の計測画像の各々に対する類似度(相関値)がモデル画像候補の別に算出される。図31に示すような試行結果に基づいて、すべての計測画像についての類似度(相関値)が所定値を維持できるような組み合わせを決定する。典型的な決定処理方法としては、それぞれの計測画像との間で最も類似度(相関値)が高いモデル画像候補を特定する(図31に示すハッチング部分に対応)とともに、これらの特定されたモデル画像候補の集合をモデル画像候補セットとして決定する。すなわち、図31に示す例では、計測画像1,2,5については、モデル画像候補1が最も類似度(相関値)が高く、計測画像3,4については、モデル画像候補2が最も類似度(相関値)が高い。その結果、図30(b)に示すように、モデル画像候補1およびモデル画像候補2がモデル画像候補セットとして決定される。
【0232】
上述のような手法3の手順は、図32に示すフローチャートに概略することができる。
図32は、この発明の実施の形態の変形例3に従う手法3の手順を示すフローチャートである。図32に示すフローチャートは、典型的には、支援装置100のCPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
【0233】
評価処理アプリケーション20(支援装置100のCPU105(図2);以下同様)は、モデル画像の抽出対象となる参照画像の指定を受付ける(ステップS500)。続いて、評価処理アプリケーション20は、指定された参照画像から複数のモデル画像候補を抽出する(ステップS502)。このステップS502の処理内容は、上述した図19のステップS138〜S152の処理内容と同様である。
【0234】
その後、評価処理アプリケーション20は、抽出された複数のモデル画像候補の各々に対して試行番号を割り当てる(ステップS504)。そして、評価処理アプリケーション20は、各試行番号に対応するモデル画像候補に対して、試行を実行する(ステップS506)。このステップS506の処理内容は、上述した図21のステップS170〜S196の処理内容と同様である。試行の完了後、評価処理アプリケーション20は、対象の計測画像の各々に対する類似度(相関値)をモデル画像候補の別に一時的に格納する(ステップS508)。すなわち、図31に示すようなテーブルを内部的に生成する。続いて、評価処理アプリケーション20は、ステップS508において生成したテーブルに基づいて、最適なモデル画像候補の組み合わせを決定する(ステップS510)。この組み合わせの決定は、モデル画像候補の数やマッチングNGとなった計測画像の数などのファクタを考慮して行なわれる。また、組み合わせの決定アルゴリズムとして、線形計画法などを採用することもできる。なお、ステップS510においては、複数のモデル画像候補の組み合わせが決定されてもよい。
【0235】
その後、評価処理アプリケーション20は、ステップS510において決定したモデル画像候補の組み合わせとともに、それぞれのモデル画像候補について算出された類似度、評価結果、およびそれらの統計量などを示す評価結果画面をモニタ102に表示する(ステップS512)。さらに、評価処理アプリケーション20は、ユーザがいずれかのモデル画像候補セットを選択したか否かを判断する(ステップS514)。
【0236】
ユーザがいずれかのモデル画像候補セットを選択した場合(ステップS514においてYESの場合)には、評価処理アプリケーション20は、選択されたモデル画像候補セットを接続先の画像処理装置200の画像処理アプリケーション30Aへ転送する(ステップS516)。画像処理アプリケーション30は、受信したモデル画像候補を、フレキシブルサーチ用のモデル画像セットとして登録する。
【0237】
本変形例に従う手法3によれば、モデル画像候補の各々についての類似度(相関値)に基づいて組み合わせを決定できるので、より最適モデル画像候補セットをより効率的に決定することができる。
【0238】
<変形例4>
上述の実施の形態においては、同一の参照画像から複数のモデル画像候補が抽出され得る構成について例示した。一方、対象の処理項目によっては、同一のモデル画像について、異なる画像処理パラメータを対応付けたものをそれぞれモデル画像候補とすることが好ましい場合がある。以下、このような例について例示する。
【0239】
上述のようなモデル画像との類似度(相関値)に基づくサーチ処理を行なう場合には、モデル画像に対応付けられるパラメータを最適化する必要性が低いため、複数のモデル画像候補を予め用意しておき、これらのうち最適なものを決定すれば十分である。しかしながら、処理項目によっては、モデル画像に対して設定するパラメータとの間に密接な関係が存在するものである。
【0240】
たとえば、エッジコードモデルサーチと称される、エッジコードに基づくサーチ処理においては、そのモデル登録時に、エッジマスクレベルやエッジレベルを最適化する必要がある。言い換えれば、登録するモデルごとに対応するパラメータを調整する必要がある。さらに、モデル登録されているエッジが多いとマッチングさせる量が増大するので、計測時間に大きく影響するため、タクトタイムなどを考慮してパラメータを調整する必要がある。
【0241】
このような処理項目においては、パラメータに起因する外乱が大きいため、複数のモデル画像候補のみを変動させて評価したとしても、エッジマスクレベルやエッジレベルなどのパラメータも連動させて変動させなければ、ユーザが求める条件に合う設定を取得することができない場合がある。
【0242】
そこで、このような場合には、複数のモデル画像候補と複数のパラメータとの組合わせに対して、試行を行なう。
【0243】
図33は、この発明の実施の変形例4に従う試行作成処理の一例を示す図である。
図33(a)に示すように、最適化を行なうための変動要因としては、複数のモデル画像候補と、複数のパラメータ候補とが存在することになる。そこで、図33(b)に示すように、モデル画像候補とパラメータ候補との組合わせを、順次、試行1−1,1−2,1−3,1−4,2−1,2−2,2−3,2−4,・・・といった具合に設定し、これらの設定した試行をそれぞれ実行することで、モデル画像と対応するパラメータとの最適な組合わせを抽出することができる。
【0244】
本変形例によれば、モデル画像とともに、対応するパラメータも最適化できるので、より複雑な処理項目であっても、短時間に適切な設定を行なうことができる。
【0245】
<変形例5>
上述の実施の形態においては、主として、撮像部8がワークなどを撮像して取得された計測画像そのものに対してマッチング処理を実行する構成について例示した。一方、対象の処理項目によっては、撮像部8において取得された計測画像に対してフィルタ(たとえば、カラーグレイフィルタ)などの前処理が適用される場合がある。この場合には、計測画像に適用される前処理に応じたモデル画像を登録しておく必要がある。以下、このような例について例示する。
【0246】
図34は、この発明の実施の変形例5に従う処理項目の内容を説明するためのブロック図である。図35は、この発明の実施の変形例5に従うモデル画像の最適化を説明するための図である。
【0247】
図34(a)を参照して、モデル画像抽出部520が所定の条件に従って参照画像からモデル画像を抽出して予め登録しておくとする。一方、撮像部によって取得された計測画像は、前処理部510においてユーザが所望するフィルタ処理を行なった上で、類似度算出部500へ出力される。類似度算出部500は、前処理部510から入力された計測画像に対して、予め登録されたモデル画像との類似度(相関値)を算出(サーチ)する。ここで、前処理部510に、モデル画像の登録時に用いられたときの設定とは異なる設定が与えられると、図35(a)に示すように、当該登録されているモデル画像は、前処理後の計測画像については適切なものとはならない場合がある。すなわち、図35(a)に示すように、モデル画像を前処理条件の変動に合わせて最適化しない場合には、両者の色濃度が異なるので、マッチング処理結果に大きなずれが生じ得る。
【0248】
そこで、図34(b)に示すように、前処理部510と同様のフィルタ処理を行なう前処理部522に対して参照画像を入力するとともに、この前処理部522から出力されるフィルタ処理後の参照画像に基づいて、モデル画像を登録する。このように、モデル画像が前処理条件の変動に合わせて最適化すると、図35(b)に示すように、適切なマッチング処理が実行される。
【0249】
本変形例によれば、マッチング処理の対象となる計測画像に対する前処理に応じて、モデル画像が登録されるので、前処理の影響を受けることなく、適切なマッチング処理を実行することができる。
【0250】
<変形例6>
上述の実施の形態においては、最適なモデル画像の探索処理を高速化するために、ある試行についての計測結果が所定条件を満たした場合には、その試行の計測を途中で打ち切る構成について例示したが、他の高速化手法を適用してもよい。
【0251】
たとえば、上述の実施の形態においては、初期設定モデル画像との間のマッチング処理を行なうことで、対象の良品画像のすべてからモデル画像候補を抽出する処理について例示(たとえば、図5参照)したが、さらに条件を加えて、一部のみをモデル画像候補として抽出してもよい。
【0252】
より具体的には、初期設定モデル画像との間の類似度(相関値)が相対的に高いものから所定数をモデル画像候補とすることができる。さらに、このモデル画像候補としては、初期設定モデル画像との間の類似度(相関値)が高い順に、所定数おきに抽出するように
してもよい。あるいは、初期設定モデル画像との間の類似度(相関値)が所定範囲内(典型的には、平均値近傍)であるものをモデル画像候補としてもよい。
【0253】
さらに、モデル画像候補によって抽出される平均的な画像は、初期設定モデル画像に影響を受ける場合が多いので、初期設定モデル画像に基づいてモデル画像候補を抽出した後に、それらのうち最も平均的なモデル画像を特定し、この特定したモデル画像に基づいて再度モデル画像候補を抽出するようにしてもよい。
【0254】
本変形例によれば、より高速に最適なモデル画像を決定することができる。
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【0255】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【0256】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【0257】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【0258】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0259】
2 ワーク、4 光電センサ、6 搬送ライン、8 撮像部、10 計測画像取得アプリケーション、20 評価処理アプリケーション、30,30A,30B 画像処理アプリケーション、40 モデル画像候補、100 モデル画像取得支援装置(支援装置)、102,202 モニタ、103,203 キーボード、104,204 マウス、106,206 メモリ、107,207 固定ディスク、111,211 FD駆動装置、112,212 フレキシブルディスク、113,213 CD−ROM駆動装置、200 画像処理装置、201 本体部、209 カメラインターフェイス部、215 制御情報インターフェイス部、217 センサインターフェイス部、1010 入力部、1011 画像リスト、1012 期待クラスリスト、1020 モデル画像候補生成部、1021 入力インターフェイス部、1022 モデル画像抽出部、1023 通信部、1030 処理部、1031 計測画像選択部、1032 モデル画像候補選択部、1033 類似度算出部、1034 判定部、1035 判定結果リスト、1036 処理コントローラ、1040 評価部、1041 比較部、1042 評価結果リスト、1043
一致/不一致カウンタ、1044 打ち切り処理部、1045 統計処理部、1046
ヒストグラム生成部、1047 決定部、1050 出力部。

【特許請求の範囲】
【請求項1】
被写体を撮像して得られる計測画像に対して予め設定されたモデル画像およびパラメータに基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援する装置であって、
モデルとなり得る被写体を撮像することで得られる参照画像から前記モデル画像の候補となる複数のモデル画像候補を抽出する抽出手段と、
前記複数のモデル画像候補の各々に対応する、前記パラメータの候補となる複数のパラメータ候補を設定する設定手段と、
計測画像を受付ける入力手段と、
前記計測画像に対して、前記複数のモデル画像候補および前記複数のパラメータ候補のそれぞれに基づく前記マッチング処理を行なうことで複数の試行結果を生成する処理手段と、を備え、
前記複数の試行結果をもとに前記モデル画像とそれに対応する前記パラメータとの最適な組み合わせを抽出する、モデル画像取得支援装置。
【請求項2】
前記マッチング処理はエッジコードに基づくサーチ処理を含み、
前記パラメータはエッジに関するパラメータを含む、請求項1に記載のモデル画像取得支援装置。
【請求項3】
被写体を撮像して得られる計測画像に対して予め設定されたモデル画像およびパラメータに基づくに基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援する方法であって、
モデルとなり得る被写体を撮像することで得られる参照画像から前記モデル画像の候補となる複数のモデル画像候補を抽出するステップと、
前記複数のモデル画像候補の各々に対応する、前記パラメータの候補となる複数のパラメータ候補を設定するステップと、
計測画像を受付けるステップと、
前記計測画像に対して、前記複数のモデル画像候補および前記複数のパラメータ候補のそれぞれに基づく前記マッチング処理を行なうことで複数の試行結果を生成するステップと、を備え、
前記複数の試行結果をもとに前記モデル画像とそれに対応する前記パラメータとの最適な組み合わせを抽出する、モデル画像取得支援方法。
【請求項4】
被写体を撮像して得られる計測画像に対して予め設定されたモデル画像およびパラメータに基づくマッチング処理を行なう画像処理装置に向けられた、モデル画像の取得を支援するプログラムであって、前記プログラムは、プロセッサに、
モデルとなり得る被写体を撮像することで得られる参照画像から前記モデル画像の候補となる複数のモデル画像候補を抽出するステップと、
前記複数のモデル画像候補の各々に対応する、前記パラメータの候補となる複数のパラメータ候補を設定するステップと、
計測画像を受付けるステップと、
前記計測画像に対して、前記複数のモデル画像候補および前記複数のパラメータ候補のそれぞれに基づく前記マッチング処理を行なうことで複数の試行結果を生成するステップと、を実行させ、
前記複数の試行結果をもとに前記モデル画像とそれに対応する前記パラメータとの最適な組み合わせを抽出する、モデル画像取得支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図31】
image rotate

【図32】
image rotate

【図34】
image rotate

【図5】
image rotate

【図9】
image rotate

【図25】
image rotate

【図26】
image rotate

【図30】
image rotate

【図33】
image rotate

【図35】
image rotate


【公開番号】特開2013−65354(P2013−65354A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−285625(P2012−285625)
【出願日】平成24年12月27日(2012.12.27)
【分割の表示】特願2009−50384(P2009−50384)の分割
【原出願日】平成21年3月4日(2009.3.4)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】