この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.概要>
この発明の実施の形態では、計測対象物体から取得され、当該計測対象物体のもつ物理量を反映した対象データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置について例示する。このような処理装置の典型例として、計測対象物体を撮像して得られる画像データに対して画像処理を行うFA用の画像処理装置について例示する。
すなわち、本実施の形態において説明する画像処理装置は、いわゆる視覚センサと称されるものであり、典型的には、生産ラインなどを流れる計測対象物体(以下「ワーク」とも称す。)を撮像することで得られる画像データを受付け、この画像データに基づいて、ワークに対して欠陥検査、大きさ計測、文字列判別、パターンマッチングなどの各種処理を光学的に実行する。このように、本実施の形態に従う画像処理装置では、ワークから光学的に取得され、ワークの表面の物理的な状態を反映した画像データが用いられる。なお、このような画像処理装置において、本発明に係る「予め定められたパラメータの組を用いた処理」としては、入力された画像データに対する前処理、前処理後の画像データ中の特徴量の計測処理、計測された特徴量に対する判定処理などの一連の処理の全部もしくは一部を含む。
なお、ワークを撮像して得られる画像データを対象データとする場合の他に、計測対象物体(ワーク)のもつ物理量を取得し、その取得した物理量そのもの、その物理量の時間的変化、その物理量に対応した一次元配列もしくは多次元配列、ならびにそれらの配列の時間的変化などを、本発明に係るパラメータ決定支援装置の対象とすることが可能である。より具体的には、たとえば、ワークの物理的な大きさなどを変位センサで取得したデータ、複数の投光素子および受光素子を直線的に配置したセンサ群の各素子で検出されるON/OFF信号の時間的変化を示すデータ、アレイ状に配置された複数の温度センサで検出される温度信号の分布を示すデータなどを、統計的な手法などを用いて処理した上で、ワークについての検査・計測・判別を行うような処理装置などに適用可能である。
この発明の実施の形態に従うパラメータ決定支援装置は、このような画像処理装置に入力される画像データと、当該画像データに対応付けられた期待結果とを受付ける。そして、後述する処理によって、画像処理装置における画像処理に係る最適なパラメータの組の決定を支援する。
ここで、「期待結果」とは、対応の画像データが画像処理装置(本発明に係る画像処理装置に対応)に入力された場合に、生成されるべき処理結果の内容を意味する。典型的には、「期待結果」としては、「期待値」および「期待クラス」を含み得る。
ここで、「期待値」とは、上述のようなパターンマッチングなどの場合における、検出されるべき本来の座標、すなわち、対応付けられた画像データに写っているワークがもつ(あるいは、もつとされる)特徴点の位置情報を含む。また、別の一例として、「期待値」は、上述のような大きさ計測などの場合における、検出されるべきワークの幅、すなわち、対応付けられた画像データに写っているワークがもつ(あるいは、もつとされる)特定位置の幅の大きさを含む。さらに、別の一例として、「期待値」は、上述のようなワークに現われている文字列判別における、判別される本来の文字列、すなわち、対応付けられた画像データに写っているワークに印字等されている文字列を構成する文字の値を含む。さらに、別の一例として、「期待値」は、上述のようなワークに現われている文字列の判別における、判別される本来の文字列、すなわち、対応付けられた画像データに写っているワークに印字等されている文字列を構成する文字の値を含む。さらに、別の一例としては、「期待値」は、たとえばIC(Integrated Circuit)のピン数の検査における、ワークがもつ実際のピンの数を含む。
一方、「期待クラス」とは、上述のようなワークに対する欠陥検査における、検出すべき欠陥の有無、すなわち、対応付けられた画像データに写っているワークが「良品」および「不良品」のいずれであるかを示す属性を含む。また、別の一例として、「期待クラス」には、ワークに対する等級判別の場合における、いずれのランク(たとえば、ランクA,B,C,…)に該当するかという属性を含む。
なお、1つの画像データに対して、複数の画像処理が並列的に実行される場合も多いため、「期待結果」(「期待値」および/または「期待クラス」)が、特定の種類の値のみ(たとえば、「良品」または「不良品」など)を含むとは限らない。すなわち、1つの画像データに対して異なる領域に対してそれぞれ画像処理が独立に実行される場合などを考えると、第1番目の画像処理の結果が「良品」であったとしても、第2番目の画像処理の結果が「不良品」となる場合があり得る。
このような「期待結果」を受付けると、パラメータ決定支援装置は、上述の各種画像処理に用いられるパラメータ候補を決定する。そして、パラメータ決定支援装置は、各パラメータ候補について、当該パラメータの組に従って画像データに対して画像処理を行うことで得られる結果を、対応する「期待結果」に基づいて評価する。すなわち、パラメータ候補のうち、各画像データに対して画像処理を行った場合に得られる結果が、対応する各画像データに対応付けられた「期待結果」と可能な限り一致するものを選択して決定できるように、パラメータ候補の間で、互いに評価する。そして、パラメータ決定支援装置は、これらのパラメータ候補の別に、評価結果を出力する。
なお、本発明において「出力」とは、実際にパラメータの組を決定するユーザもしくは装置などにその内容を提供することを意味し、典型的には、ディスプレイなどの表示装置にその内容を表わすこと、プリンタ装置などによって紙媒体上などにその内容を表わすこと、外部装置にその内容を表わすデータを送信すること、記憶装置などにその内容を表わすデータを格納することなどを含む。
上述のような構成によって、取り得る範囲が広いパラメータであっても、適切な設定値を迅速かつ容易に決定することができる。
なお、以下の説明では、記載の簡略化のため、「期待値」および「期待クラス」を含む概念として「期待結果」と総称して記載するが、より具体的な説明においては、「期待値」または「期待クラス」との用語を用いて記述する場合もある。
<B.全体装置構成>
図1は、この発明の実施の形態に従うシステム全体を示す図である。
図1を参照して、本実施の形態に従うシステムとしては、パラメータ決定支援装置(以下、単に「支援装置」とも称す。)100と、画像処理装置200とを含む。
画像処理装置200は、撮像部8および光電センサ4と電気的に接続される。撮像部8は、ベルトコンベヤなどの搬送ライン6上を搬送されるワーク2を撮像することで、ワーク2が写った画像データを生成する。画像処理装置200は、撮像部8で取得された画像データを格納するとともに、各画像データに対して、予め設定されているパラメータの組に従って画像処理を行ない、その処理結果(たとえば、良品または不良品の判断)を出力する。
撮像部8によるワーク2の撮像タイミングは、搬送ライン6の両サイドに配置された光電センサ4(受光部および投光部)によって検出される。すなわち、光電センサ4は、同一の光軸上に配置された受光部と投光部とからなり、投光部から放射される光がワーク2で遮蔽されることを受光部が検出することによって、撮像タイミングを示すトリガ信号が
出力される。また、撮像部8は、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCIS(Complementary-metal-oxide-semiconductor Image Sensor)センサといった、撮像素子を含む。なお、撮像部8で生成される画像データは、白黒画像であってもよいし、カラー画像であってもよい。
一方、支援装置100は、画像処理装置200に格納されている画像データを受取り、最適なパラメータの組を決定するための処理を実行する。なお、支援装置100と画像処理装置200との間の画像データを遣り取りする方法としては、USB(Universal Serial Bus)やイーサネット(登録商標)などの通信手段を用いる方法や、SD(Secured Digital)カードなどの着脱可能な記憶媒体を用いる方法などを採用することができる。
なお、後述するように、支援装置100の機能の全部または一部を画像処理装置200に組入れてもよいが、支援装置100と画像処理装置200とを別体とすることで、現場から離れた事務所のデスク上などで、最適なパラメータの組を探索する処理を実行させることができる。
<C.設置手順>
まず、本実施の形態に従う支援装置100を適用する視覚センサを生産ラインで運用する場合のワークフローについて説明する。
図2は、視覚センサを生産ラインで運用する場合のワークフローの一例を示す図である。図2に示すように、まず、視覚センサを生産ラインに設置するまでの手順として、目的確定フェイズPH1および設置フェイズPH2がある。視覚センサが生産ラインに設置された後の手順として、初期撮像フェイズPH3、設置調整フェイズPH4、本格撮像フェイズPH5、初期設定フェイズPH6、調整フェイズPH7、および運用(改善)フェイズPH8がある。なお、初期撮像フェイズPH3と、設置調整フェイズPH4とは並列的に進行し、本格撮像フェイズPH5と、初期設定フェイズPH6および調整フェイズPH7とについても並列的に進行する。
目的確定フェイズPH1では、作業者は、どのようなワークを検査対象とするか、およびどのような項目の検査をそのワークに行うかを決定する。また、作業者は、ワーク全体のうち、どの範囲を検査対象とするのかを決定する。
続く設置フェイズPH2では、作業者は、設置環境に応じて、レンズおよびカメラの設置方法を検討し、撮像部等を駆動するための電源を確保した上で、必要な機材を設置する。
初期撮像フェイズPH3、設置調整フェイズPH4、本格撮像フェイズPH5、初期設定フェイズPH6では、作業者は、画像処理装置に対して、レンズおよびカメラの種類の選定、および画像処理装置で処理すべき項目を選択する。また、パターンマッチング処理などを実行する場合には、処理項目に応じたモデル登録を行う。さらに、作業者は、各処理項目のパラメータの初期値を設定する。このような各種設定が整った後、テスト的に撮像して得られた画像データに対して、一連のフロー動作を確認する。
以上の作業によって、ワークを撮像する一連の設定(撮像部や撮像環境などの選定)は完了することになる。そして、画像処理装置に設定されるパラメータが試行錯誤的に最適化される。それが、調整フェイズPH7であり、このフェイズでは、作業者は、試験ラインなどで画像処理によって得られる結果を検証するとともに、この検証内容に基づいて、パラメータを最適化する。
調整フェイズPH7でパラメータが調整された後に、運用(改善)フェイズPH8に移り、視覚センサの運用が開始されるが、何らかの誤検出品が発生した場合などには、その要因を確認した上で、パラメータが改善される。なお、誤検出品とは、たとえば、良品であるはずのワークを不良品と誤って判定したものや、不良品であるはずのワークを良品と誤って判定したものを意味する。なお、本明細書において、「安定」という用語は、上述のような誤検出品の発生が少ない状態を意味する。
本実施の形態に従う支援装置100は、これらのフェイズのうち、調整フェイズPH7および運用(改善)フェイズPH8における処理を効率化することを目的としている。また、一旦、パラメータの調整が完了した後、運用中にロット変動などが生じた場合には、再度パラメータを調整する必要があるが、このような場合にも、本実施の形態に従う支援装置100を活用することができる。さらに、運用(改善)フェイズPH8において、本実施の形態に従う支援装置100をインラインで用いることにより、生産ラインにおける状態に応じて、パラメータを動的に変更することもできる。
次に、図3を参照して、本実施の形態に従う支援装置100を用いて、上述したパラメータの組を決定する概略の手順について説明する。
図3は、この発明の実施の形態に従うパラメータの決定手順を示す概念図である。図3(a)には、1つの特定のワークについて、パラメータの組を決定する場合を示す。この場合には、まず、ユーザが調整対象パラメータを設定する(ステップS1)。このとき、評価対象の画像データと当該画像データに対応する期待結果とを支援装置100に対して設定する。この処理については、図11を参照して、後述する。
これらの設定値が入力されると、支援装置100は、複数のパラメータ候補を生成し、各パラメータ候補について評価処理を行う(ステップS2)。この評価処理の内容については、図16を参照して後述する。
最終的に、ユーザは、支援装置100において出力される評価結果を参照しながら、目的の画像処理に最適なパラメータ(あるいは、パラメータの組)を決定する(ステップS3)。
ところで、同一の生産ライン上を複数種類のワークが流れる場合も多い。そのような場合には、図3(b)に示すような手順に従って、各ワークについての、画像処理に適したパラメータ(あるいは、パラメータの組)を決定することになる。すなわち、図3(b)に示すように、ワークAおよびワークBについてのパラメータを決定する場合には、ワークAについて、調整対象パラメータ設定(ステップS1)、評価処理(ステップS2)、パラメータ決定(ステップS3)が行われた後、ワークBについて、調整対象パラメータ設定(ステップS4)、評価処理(ステップS5)、パラメータ決定(ステップS6)が行われる。
しかしながら、上述したように、評価処理(ステップS2およびS5)は支援装置100によって自動的に実行されるものの、その他の処理は、ユーザが操作する必要がある。そのため、図3(b)に示すような手順に従って、多数のワークについてのパラメータ決定の処理を行うと、ユーザの作業効率が低下し得る。すなわち、支援装置100によって実行される評価処理(ステップS2およびS5)の間は、ユーザが別の作業を行うことは可能であるが、後続する評価処理(ステップS3およびS6)を行うために、当該別の作業を頻繁に中断せざるを得ない。
そこで、本実施の形態に従う支援装置100は、図3(c)に示すような手順についてもサポートしている。すなわち、図3(c)に示す手順においては、ユーザは、まず、対象の複数のワークのそれぞれについて、調整対象パラメータを設定する(ステップS1およびS4)。続いて、調整対象パラメータが設定されたワークの別に、支援装置100が評価処理を順次実行する(ステップS2およびS5)。最終的に、ユーザは、支援装置100において出力される各ワークについての評価結果を参照しながら、各ワークに対する画像処理に最適なパラメータ(あるいは、パラメータの組)を順次決定する(ステップS3およびS6)。
このように、支援装置100による評価処理を連続実行することで、支援装置100を操作するユーザからみれば、当該評価処理の実行時に、まとまった時間を確保することができ、これによって、別の作業を行うことができる。すなわち、ユーザは、各ワークについての調整対象のパラメータ設定を行って支援装置100を動作させておけば、必要な評価処理のすべてが事後的に得られるので、対象となるワークが多いほど、効率を高めることができる。
以下の説明においては、まず、図3(a)に示す手順を実現するための処理や構成について詳述した後、図3(c)に示す手順を実現するための処理や構成について詳述する(後述の<P.連続実行処理>の項)。
<D.ハードウェア構成>
(1 パラメータ決定支援装置)
本実施の形態に従う支援装置100は、典型的に、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
図4は、この発明の実施の形態に従うパラメータ決定支援装置100を実現するコンピュータの概略構成図である。
図4を参照して、支援装置100を実現するコンピュータは、表示装置としてのモニタ102と、入力装置としてのキーボード103およびマウス104と、演算装置(プロセッサ)としてのCPU(Central Processing Unit)105と、記憶装置としてのメモリ106および固定ディスク107と、記録媒体からのデータ読出装置としてのFD駆動装置111およびCD−ROM駆動装置113とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
支援装置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により実行される。
CPU105は、プログラムされた命令を逐次実行することで、各種の演算を実施する。メモリ106は、CPU105でのプログラム実行に応じて、各種の情報についても一時的に格納する。固定ディスク107は、CPU105で実行されるプログラムの他に、処理対象の画像データや各種設定値などを格納する不揮発性の記憶装置である。
キーボード103は、入力されるキーに応じたユーザからの指令を受付ける。マウス104は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。このように、キーボード103およびマウス104で受付けられた指令は、CPU105へ与えられる。
また、支援装置100には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
(2 画像処理装置)
本実施の形態に従う画像処理装置200は、支援装置100と同様に、典型的には、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
図5は、この発明の実施の形態に従う画像処理装置200を実現するコンピュータの概略構成図である。
図5を参照して、画像処理装置200を実現するコンピュータは、本体部201と、表示装置としてのモニタ202と、入力装置としてのキーボード203およびマウス204とを含む。本体部201は、演算装置(プロセッサ)としてのCPU205と、記憶装置としてのメモリ206および固定ディスク207と、記録媒体からのデータ読出装置としてのFD駆動装置211およびCD−ROM駆動装置213とを含む。さらに、本体部201は、本体部201の外部との間で信号を遣り取りするためのインターフェイスとして、カメラインターフェイス部209と、制御情報インターフェイス部215と、センサインターフェイス部217とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
画像処理装置200(コンピュータ)で実行されるプログラムについても、典型的には、フレキシブルディスク(FD)212もしくはCD−ROM214に格納されて流通し、またはネットワーク接続された配信サーバ装置などからのダウンロードといった形で流通する。フレキシブルディスク212およびCD−ROM214に格納されたプログラムは、それぞれFD駆動装置211およびCD−ROM駆動装置213から読出されて、固定ディスク207に一旦格納される。さらに、固定ディスク207からメモリ206に展開されて、CPU205により実行される。
本体部201に含まれる構成のうち、CPU205、メモリ206、固定ディスク207、FD駆動装置211、およびCD−ROM駆動装置213については、上述の支援装置100と同様であるので、詳細な説明は繰返さない。
カメラインターフェイス部209は、CPU205と撮像部8との間のデータ通信を仲介する。より具体的には、カメラインターフェイス部209は、画像バッファを含み、撮像部8で撮像されて連続的に伝送される画像データを一旦蓄積し、少なくとも1コマ分の画像データの転送が蓄積されると、その蓄積されたデータをメモリ206または固定ディスク207へ転送する。また、カメラインターフェイス部209は、CPU205が発生した内部コマンドに従って、撮像部8に対して撮像指令を与える。
制御情報インターフェイス部215は、CPU205と生産ラインを制御する図示しない制御装置(典型的には、PLC(Programmable Logic Controller)など)との間のデータ通信を仲介する。制御情報インターフェイス部215は、外部の制御装置からライン情報などを受付けて、CPU205へ出力する。センサインターフェイス部217は、上述した光電センサなどからのトリガ信号を受信して、CPU205へ出力する。
その他の構成については、上述の支援装置100と同様であるので、詳細な説明は繰返さない。
<E.画像処理装置のユーザインターフェイスの例>
まず、画像処理に係るパラメータについての理解を容易にするために、図2に示す初期設定フェイズPH6における画像処理装置200におけるユーザインターフェイスの一例について説明する。
図6および図7は、この発明の実施の形態に従う画像処理装置200のモニタに表示される画面表示例を示す図である。なお、図6および図7には、画像処理の一例として、サーチ処理を処理項目とした場合の例を示す。なお、画像処理装置200のCPU205および図示しないグラフィックボードなどが協働することで、図6および図7に示すような画面を表示させる。このような画面表示は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード203やマウス204により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行うための環境も提供する。
なお、「サーチ処理」は、ワークの検出すべき特徴部分を画像パターン(モデル)として予め登録しておき、この登録されたモデルと最も似ている部分を画像データから探し出して、位置(画像データ上の座標値)を特定する処理である。この処理においては、特徴量として、どのくらい似ているかを示す類似度(相関値)、特定されたモデルの位置、特定されたモデルの傾きなどがあわせて出力される。このようなサーチ処理は、ある種類のワークに異なる種類のワークが混入したことを検出したり、正しく印字などがされていないワークを検出したりする処理に用いられる。
図6および図7に示すように、サーチ処理についての設定を行うモードでは、一例として、「モデル登録」、「領域設定」、「検出点」、「基準位置」、「計測パラメータ」、「出力パラメータ」の設定項目に対応する計6個のタブが選択可能な画面が表示される。これらの項目のうち、「モデル登録」、「領域設定」、「計測パラメータ」の少なくとも3つの項目についてはユーザによる設定が必要である。
図6を参照して、「モデル登録」のタブ301が選択されると、設定画面300Aが表示される。この設定画面300Aは、モデル登録エリア301#と、画像表示エリア304と、全体表示エリア306と、表示制御アイコン群308とを含む。
画像表示エリア304には、撮像部8により取得された画像データが表示される。各種設定中においては、この画像表示エリア304に表示される合成画像は、リアルタイムで更新される。全体表示エリア306には、画像表示エリア304と同様に撮像部8で取得された画像データが表示される。但し、全体表示エリア306には、画像表示エリア304での表示範囲とは独立して、対象の画像データの全体が表示される。さらに、表示制御アイコン群308に対するユーザ操作(拡大もしくは縮小など)に応じて、画像表示エリア304に表示される画像データの表示範囲および表示精度が変更される。
一方、モデル登録エリア301#には、モデル編集ボタン330と、登録図形表示ボックス332と、モデルパラメータ設定エリア310と、モデル登録画像エリア340とが表示される。
ユーザがサーチすべきモデルを登録する場合には、モデルを含む基準物を、撮像部8を用いて予め取得しておき、この取得された画像データを画像表示エリア304および全体表示エリア306に表示させた状態で操作を行う。
まず、ユーザは、マウス204などを操作してモデル編集ボタン330を押下すると、図示しない描画ツールダイアログが表示される。ユーザは、この描画ツールダイアログを操作して、画像表示エリア304に表示される画像データの上に重ねてモデルとして登録すべき範囲を指定する。図6には、画像表示エリア304上に文字列「8273」を含む長方形の範囲がモデルMDLとして設定されている場合を示す。何らかのモデルが登録済である場合には、登録図形表示ボックス332に、登録済モデルの形状が表示される(図6の場合には、「長方形」)。なお、モデル登録する形状は、長方形に限られず、丸、扇形、任意の多角形などのいずれの形状であってもよい。
また、登録済のモデルの設定変更などを行う場合には、ユーザはモデル登録画像エリア340の必要なボタンを押下する。モデル登録に用いられた画像データが保存されており、後から登録済のモデルに関するパラメータだけを変更することができる。より具体的には、登録画面表示ボタン342が押下されると、モデル登録に用いられた画像データが表示される。この登録画面表示ボタン342が再度押下されると、現在入力されている画像データの表示に切り替わる。また、モデル再登録ボタン344が押下されると、登録済のモデル画像はそのままで、それ以外のパラメータが変更された状態でモデルとして再登録される。さらに、削除ボタン346が押下されると、登録済のモデルが削除される。
モデルパラメータ設定エリア310は、設定項目として、サーチモードの選択を受付ける。サーチモードは、モデルとどの程度似ているかを評価するアルゴリズムの選択である。このサーチモードについては、ラジオボタン312を操作することで、「相関」および「形状」のいずれかを選択できる。「相関」は、入力された画像データの明るさを正規化した上でモデルとの相関値を算出することで類似度を計測するアルゴリズムである。一方、「形状」は、モデルの輪郭形状との一致度に基づいて類似度を計測するアルゴリズムである。一般的には、「相関」モードの方が安定した計測が可能である。
このサーチモードにおいて「相関」が選択されると、「回転」、「安定度」、「精度」の設定が可能となる。一方、サーチモードにおいて「形状」が選択されると、「回転範囲」および「安定度」の設定が可能となる。
「回転」では、ワークが回転するような場合に、登録済のモデルを予め定められた角度ずつ回転させた複数のモデルを内部的に生成し、生成したそれぞれのモデルに基づいて類似度を計測する処理に係るパラメータが指定される。すなわち、回転のチェックボックス314がチェックされると、回転の処理が有効化される。そして、数値ボックス315に、回転範囲(回転角度上限値および回転角度下限値)および刻み角度がそれぞれ入力されると、回転範囲の範囲にわたって、刻み角度ずつ回転させたモデルを生成することが指定される。一般的には、刻み角度が小さいほど安定性は高くなるが、処理時間は長くなる。なお、高速に回転サーチを行うことが可能なスマートモードを設定することも可能である。
「安定度」では、計測の安定度と処理速度とのいずれを優先するのかが設定される。すなわち、スライドバー316は、所定幅(たとえば、1〜15)の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど安定度が高められる。
「精度」では、計測の位置精度と処理速度とのどちらを優先するのかが設定される。すなわち、スライドバー318は、所定幅(たとえば、1〜3)の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど精度が高められる。
上述したような内容がユーザによって設定された後、OKボタン307が押下されることで、画像処理装置200の内部パラメータとして反映される。なお、キャンセルボタン309が押下された場合には、未反映のパラメータはリセットされる。このようなモデル登録に続いて、「領域設定」のタブ302が選択されると、モデルを探す範囲を指定するための設定画面が表示される(図示しない)。この設定画面では、ユーザは、画像表示エリア304上で任意の範囲をサーチ範囲として設定することができる。なお、入力画像データの全体をサーチ範囲とすることもできるが、処理時間を短縮する観点からは、特定の範囲にサーチ範囲を制限することが好ましい。
図7を参照して、領域設定の入力に続いて、「計測パラメータ」のタブ303が選択されると、設定画面300Bが表示される。この設定画面300Bは、計測パラメータ設定エリア303#と、画像表示エリア304と、全体表示エリア306と、表示制御アイコン群308とを含む。計測パラメータ設定エリア303#には、判定条件設定エリア320と、計測条件設定エリア350と、計測ボタン352とが表示される。
計測条件設定エリア350は、設定項目として、サブピクセル処理の有効/無効を受付ける。サブピクセル処理は、処理時間が長くなるが、位置情報をサブピクセル単位で計測する。この計測条件設定エリア350の項目を設定・変更した場合には、ユーザは、計測ボタン352を押下して、正しくサーチ処理が実行可能であるか否かを判断させる。
判定条件設定エリア320は、計測された各座標における類似度(相関値)のうち、登録済のモデルと一致する(「OK」である)と判定するための条件を受付ける。より具体的には、設定項目として、計測座標X、計測座標Y、計測角度、相関値の4項目が設定可能である。計測座標Xおよび計測座標Yでは、それぞれ数値ボックス322および324にそれぞれ数値範囲が入力されることで、計測された座標値(X座標値およびY座標値)が含まれるべきそれぞれの座標範囲が設定される。計測角度では、数値ボックス326に数値範囲が入力されることで、計測されたモデルの回転角度が含まれるべき角度範囲が設定される。さらに、相関値では、数値ボックス328に数値範囲が入力されることで、計測されたモデルとの相関値が含まれるべき数値範囲が設定される。
なお、上述のようなサーチ処理では、入力画像内において、登録されたモデルとの間の類似度を算出する領域を順次更新していくことで、入力画像のいずれの位置(座標)における類似度が高いのかを探索する。したがって、実際の内部処理としては、入力画像内の複数の座標におけるそれぞれの類似度が算出される。そのため、算出されたすべての類似度のうち、最も高い値をもつものに加えて、2番目、3番目に高い類似度をもつものについても検出結果として出力してもよい。
上述したように、サーチ処理の一例をとってみても、比較的多くの設定項目が存在する。なお、一連の処理に必要なパラメータの組を、以下では「パラメータセット」とも称す。
<F.画像データの期待結果>
視覚センサなどでは、登録済のモデルと実質的に同一の内容を含む画像データに対しては検出OKを出力し、登録済のモデルと類似してはいるが本質的に異なる内容を含む画像データに対しては検出NGを出力しなければならない。
たとえば、上述の図6に示すように、文字列「8273」を含むモデルMDLが登録されているものとする。このような場合に、図8に示す画像データが入力された場合について考える。図8(a)に示すように、登録済のモデルに含まれる文字列「8273」と実質的に同一の内容を含む画像データが入力された場合には、計測範囲514内のモデルに対応する領域DTC1が最も高い類似度(相関値)をもつ領域として抽出される。このとき、領域DTC1について計測された類似度(相関値)が必ず判定条件を満たすようにしなければならない。
一方、図8(b)に示すように、登録済のモデルに含まれる文字列「8273」とは1文字だけ異なる文字列「8271」を含む画像データが入力された場合には、当該画像データ内において、文字列「8271」を含む領域DTC2が最も高い類似度(相関値)をもつ領域として抽出される。このとき、領域DTC2について計測された類似度(相関値)が必ず判定条件を満たさないようにしなければならない。
すなわち、文字列「8273」を含むモデルMDLが登録されている場合において、図8(a)に示す画像データの期待結果(この場合には、期待クラス)は、「OK」あるいは「良品」であり、図8(b)に示す画像データの期待結果は、「NG」あるいは「不良品」である。
このように、本実施の形態に従う支援装置100では、画像データのそれぞれについて、良品および不良品のいずれであるかといった期待結果が既知である状態を前提とする。
画像処理装置200のパラメータの調整フェイズにおいて、実際に画像データを取得する方法としては、生産ラインにテスト用のワークを流して連続的にそれを撮像する。このとき、取得された画像データのそれぞれについて、ユーザが内容を確認した上で、期待結果をそれぞれに対して入力するようにしてもよい。あるいは、より省力化を図る観点からは、予め、「良品」として検出されるべきワークと、「不良品」として検出されるべきワークとを区別しておき、「良品」のワークのみを連続的に撮影し、続いて「不良品」のワークのみを連続的に撮影するといった方法が効率的である。このような方法を用いた場合には、「良品」のワークを撮像して得られた画像データと、「不良品」のワークを撮像して得られた画像データとを、異なるフォルダにそれぞれ格納することで、容易に両者を区別することができる。
<G.概略処理>
次に、図9を参照して、本実施の形態に従う支援装置100における処理の概略について説明する。
図9に示すように、支援装置100では、主として、画像データに対する画像処理アプリケーション20、および画像処理の結果(特徴量および判定結果)に対する評価処理アプリケーション30が連係して処理を実行する。そして、評価処理アプリケーション30によって出力される評価結果32に基づいて、最適なパラメータセットが決定される。
より具体的には、ユーザは、画像処理装置200において取得された画像データ12と、当該画像データに対応付けられた期待結果14とを含むデータセット10を入力する。また、ユーザは、後述するように、調整すべきパラメータの項目およびその変動ステップや変動範囲などを入力することで、評価対象となる複数のパラメータセットを含むパラメータ候補40が生成される。画像処理アプリケーション20は、画像処理装置200における画像処理と同じ処理を実行するアプリケーション(シミュレータ)であり、生成されたパラメータ候補40に含まれる各パラメータセットに従って、各画像データに対して、計測処理22および判定処理24を繰返し実行する。計測処理22によって、それぞれの画像データについての、それぞれのパラメータ候補に従う処理を行った場合の特徴量26が算出される。また、判定処理24によって、計測処理22によって算出されたそれぞれの特徴量に対して、判定条件に基づく判定処理を行った結果である判定結果28が算出される。
評価処理アプリケーション30は、各画像データに対応付けられた期待結果14に基づいて、それぞれの画像データを処理して得られた特徴量26および/または判定結果28を評価する。より具体的には、期待結果14が「良品」および「不良品」のいずれであるかを示す値である場合には、「良品」の期待結果が付与された画像データから得られた判定結果28が「良品」との結果と一致しているか否かが判断される。また、期待結果14が画像データに写っている文字列などである場合には、特徴量として得られた文字列と一致しているか否かが判断される。そして、この評価処理アプリケーション30によって評価された評価結果は、パラメータセットの別に比較可能に出力される。すなわち、支援装置100は、複数のパラメータ候補をそれぞれ評価して、その中で最適なパラメータセットを選択することを支援する。
なお、画像処理アプリケーション20は、支援装置100が画像処理装置200と通信可能であれば、その中に必ずしも搭載されていなくともよい。すなわち、支援装置100は、パラメータ候補の内容を画像処理装置200に与えた上で、画像データに対して画像処理を実行させ、その画像処理の結果を画像処理装置200から受取ることで、パラメータ候補を評価してもよい。このように支援装置100と画像処理装置200とを同期させることで、処理を進めることもできる。
<H.パラメータ決定支援装置のユーザインターフェイスの例>
次に、図10〜図23を参照して、支援装置100におけるユーザインターフェイスの一例について説明する。なお、支援装置100のCPU105および図示しないグラフィックボードなどが協働することで、図10〜図23に示すような画面を表示させる。このような画面表示は、OS(Operating System)の一部として組込まれるGUI(Graphical User Interface)プログラムによって実現され、またGUIは、ユーザがキーボード103やマウス104により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行うための環境も提供する。
(1 変動設定)
まず、支援装置100において、評価処理アプリケーション30(図9)の実行がユーザにより指示されると、図10に示すような入力画面400Aが表示される。この入力画面400Aでは、画像処理装置200または画像処理アプリケーション20を設定するためのボタン402と、画像データおよび画像データに対応付けられた期待結果を入力するためのボタン404と、調整対象を指定するためのボタン406とが選択可能に表示される。
ユーザがマウス104などを操作してボタン402を押下すると、図示しない設定ダイアログが表示される。ユーザは、この設定ダイアログ上で、パラメータを調整する対象の画像処理装置200または画像処理アプリケーション20を選択する。これにより、評価処理アプリケーション30と画像処理装置200または画像処理アプリケーション20との間の同期が確立される。
次に、図11を参照して、ユーザがマウス104などを操作してボタン404を押下すると、対象となる画像データおよび画像データに対応付けられた期待結果を入力するためのダイアログ414などが表示される。ここでは、各画像データが1つのファイルとして存在し、かつそれぞれのファイルはその期待結果(この例では、「良品」(OK)あるいは「不良品」(NG)の2通り)に区別されたフォルダ416Aおよび416Bにそれぞれ格納されているものとする。このとき、ユーザが対象の画像データが格納されているより上位のフォルダ416(図11に示す例では、フォルダ名が「111」)を指定することで、「111」フォルダ416の下位にある「OK」フォルダ416A内にある画像データが「良品」の期待結果に対応付けられており、一方、「NG」フォルダ416B内にある画像データが「不良品」の期待結果に対応付けられていることが指定される。以下の説明では、「良品」の期待結果に対応付けられた画像を良品画像とも称し、「不良品」の期待結果に対応付けられた画像を不良品画像とも称する。
なお、画像データおよび画像データに対応付けられた期待結果の入力方法の別形態については後述する。
さらに、ユーザがマウス104などを操作してボタン406を押下すると、図示しない設定ダイアログが表示される。ユーザは、この設定ダイアログ上で、パラメータを調整する画像処理の内容(処理項目)を選択する。これにより、調整可能なパラメータの一覧および現在の設定値が取得される。なお、支援装置100が画像処理装置200とデータ通信可能に接続されている場合には、画像処理装置200で設定されている内容が、評価処理アプリケーション30へ転送され、この転送された内容に基づいて、パラメータの現在値などが判断される。
以上のような内容の設定が完了すると、パラメータ候補を設定するためのボタン410と、パラメータ調整の開始を指示するボタン408と、選択されたパラメータ候補を画像処理装置200などに反映するためのボタン412とが選択可能に表示される。
まず、図12を参照して、ユーザがマウス104などを操作してボタン410を押下すると、パラメータの調整を行うためのパラメータ候補を生成するための条件を入力するダイアログ420が表示される。なお、先の選択操作によって、上述した図6および図7に示すサーチ処理についてのパラメータ調整が選択されているものとする。
ダイアログ420では、番号フィールド432と、項目フィールド434と、現在値フィールド436と、調整対象フィールド438と、変動最小値フィールド440と、変動最大値フィールド442と、ステップフィールド444と、コメントフィールド446とを含むテーブルが表示される。このうち、調整対象フィールド438、変動最小値フィールド440、変動最大値フィールド442、ステップフィールド444、およびコメントフィールド446については、ユーザが任意に設定可能である。
番号フィールド432および項目フィールド434には、対応する処理内容(この場合には、サーチ処理)のパラメータセットに含まれるそれぞれの内容が一覧表示される。なお、番号フィールド432に表示される番号(ID)は、内部処理においてパラメータの内容を特定する番号であり、パラメータ毎にユニークに定められている。項目フィールド434に表示される項目名は、図6および図7に示すユーザインターフェイスにおいて表示される内容と一致するように定められる。また、現在値フィールド436には、パラメータセットに含まれるパラメータ毎に、現在設定されている値が表示される。
調整対象フィールド438は、パラメータセットに含まれるパラメータの各々について、調整対象であるか否かを示すチェックボックスを含む。すなわち、チェックボックスにチェックがなされたパラメータについては、その値を変動させることでパラメータ候補が生成される。
変動最小値フィールド440および変動最大値フィールド442では、パラメータ候補を生成するためのパラメータの変動範囲が指定される。また、ステップフィールド444では、パラメータ候補を生成するためのパラメータの変動ステップが指定される。
図12に示す例では、「安定度(相関)」および「精度」の2つの項目について、調整対象フィールド438のチェックボックスがチェックされているので、現在のパラメータセットから、この2つの項目についての値を変更したパラメータ候補が生成されることになる。より具体的には、「安定度(相関)」については、変動最小値および変動最大値がそれぞれ「10」および「14」とされており、かつステップが「2」とされているので、「安定度(相関)」を「10」,「12」,「14」の3通りに変動させたパラメータ候補が生成される。また、「精度」については、変動最小値および変動最大値がそれぞれ「2」および「3」とされており、かつステップが「1」とされているので、「安定度(相関)」を「2」および「3」の2通りに変動させたパラメータ候補が生成される。
その結果、「安定度(相関)」および「精度」の組み合わせとして、合計6通りのパラメータ候補が生成されることになる。
なお、1つのパラメータ候補についての、画像データに対する画像処理および画像処理結果の評価を含む一連の処理を「試行」とも称する。上記のような設定がなされた場合には、試行数は「6」となる。生成されるパラメータ候補の数を多くなるほど、より多くの処理時間が必要となるので、ユーザがどのようなパラメータをどの程度の範囲で変動させるべきかの目安となるように、設定された内容に応じて、追加される予定の試行数が表示される(試行数表示426)。そして、ユーザがマウス104などを操作して試行追加ボタン422を押下すると、変動設定の内容に従って、パラメータ候補が生成される。なお、生成されたパラメータ候補については、内部的に試行番号が割当てられる。そして、閉じるボタン424が押下されると、ダイアログ420が閉じられる。
さらに、ユーザがマウス104などを操作して408を押下すると、ダイアログ420において入力された変動設定に従って、パラメータの評価処理が開始される。
(2 変動設定の変形例)
上述した図12に示すユーザインターフェイスに代えて、よりユーザフレンドリなユーザインターフェイスを採用することもできる。以下、図13〜図15を参照して、このようなユーザインターフェイスの変形例について説明する。
図13は、この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの別の一例を示す図である。図14は、図13に示すユーザインターフェイス対応する設定画面の要部を示す図である。図15は、図13に示すユーザインターフェイスの表示態様の変化を説明するための図である。
図13に示すダイアログ420Aは、基本的には、図12に示すダイアログ420に比較して、項目フィールド434に含まれる項目について、各項目が属する分類と対応付けて表示している点(変更点1)と、表示モードを変更するためのラジオボタン427を追加した点(変更点2)と、調整対象のみを選択的に表示するためのチェックボックス429を追加した点(変更点3)において異なっている。以下、これらの変更点について詳述する。
まず、変更点1については、ユーザが設定画面300Aおよび300Bを用いて画像処理に係る設定を行う際の設定項目との対応付けを明瞭化して、ユーザが一見して各パラメータの内容を理解できるようにすることを目的としている。すなわち、ダイアログ420Aでは、設定画面において「モデル登録」のタブ301が選択された場合に表示される設定画面300A(図6参照)に含まれる項目と、設定画面において「計測パラメータ」のタブ303が選択された場合に表示される設定画面300B(図7参照)に含まれる項目とを区別できるように、分類フィールド417および項目フィールド434が表示されている。そのため、ユーザは、たとえば、分類フィールド417の「モデル登録」に対応する項目(「安定度(相関)」、「精度」、「安定度(形状)」)が図6に示す設定画面300Aにおいて設定可能な項目であることを一見して把握することができる。
さらに、設定画面上部のユーザが選択可能なタブを視覚的に識別できるように表現するとともに、その視覚的な識別態様でダイアログ420Aを表示してもよい。たとえば、図14に示すように、設定画面上部の各タブを互いに異なる表示属性(「色」、「パターン」、「模様」など)で表現するとともに、この各タブに付された表示属性と同じ表示属性で、ダイアログ420Aの分類フィールド417および項目フィールド434が表現されている。このような表示態様によって分類および各分類に属する項目を区分けすることで、ユーザは、その内容を直感的に把握でき、パラメータ候補をより短時間で生成することができる。
なお、ダイアログ420Aでは、調整対象フィールド438、現在値フィールド436、変動開始値フィールド441、変動終了値フィールド443、および、ステップフィールド444については、ユーザが任意に設定可能である一方、変動最小値フィールド440および変動最大値フィールド442については、予め定められた条件下で決定される固定値が設定される。そのため、ダイアログ420Aでは、ユーザが任意に設定可能な項目については、それを示すように、さらに異なる表示態様で表現されている。すなわち、変動最小値フィールド440および変動最大値フィールド442については、対応する分類フィールド417および項目フィールド434と同じ表示態様で表現されている一方、調整対象フィールド438、現在値フィールド436、変動開始値フィールド441、変動終了値フィールド443、および、ステップフィールド444については、対応する分類フィールド417および項目フィールド434とは異なる表示態様で表現されている。
次に、変更点2および3については、ユーザのニーズに応じて、必要な項目のみを選択的に表示することで、より効率的な設定を行うことを目的としている。
すなわち、ラジオボタン427では、「標準」および「詳細」のいずれかが選択可能になっており、「標準」が選択されると、設定することが比較的多いと予め想定される項目のみが表示され、「詳細」が選択されると、設定可能なすべての項目が表示される。たとえば、通常の使用では、ユーザは「標準」を選択し、より使用頻度の高い項目についてパラメータを変動対象に設定する。そして、通常の設定では十分な結果を得られない場合や、熟練したユーザなどは、「詳細」を選択して、状況に応じて必要な項目についてパラメータを変動対象に設定する。
たとえば、図15(a)には、「標準」の表示モードが選択されている場合が示されており、図15(b)には、「詳細」の表示モードが選択されている場合が示されている。これらの図を比較するとわかるように、図15(b)に示すダイアログ420Aでは、図15(a)に示すダイアログ420Aにおいて表示されていなかった項目が選択可能に表示されている。
次に、チェックボックス429は、調整対象フィールド438がチェックされている項目のみを選択的に表示するか否かの選択を受付ける。すなわち、チェックボックス429が選択されると、調整対象フィールド438がチェックされている項目のみが表示される。
たとえば、図15(a)には、調整対象フィールド438がチェックされていない(無効になっている)場合が示されており、図15(c)には、調整対象フィールド438がチェックされている(有効になっている)場合が示されている。これらの図を比較するとわかるように、図15(c)に示すダイアログ420Aでは、図15(a)に示すダイアログ420Aにおいて表示されていた項目のうち、調整対象フィールド438がチェックされている項目のみが選択可能に表示されている。
なお、ラジオボタン427およびチェックボックス429は、互いに独立した一種のフィルタとして機能する。そのため、ラジオボタン427における選択に応じて選択される項目が決定された上で、チェックボックス429におけるチェックの有無に応じて、さらに、表示されるべき項目が抽出される。
さらに、ダイアログ420Aでは、ユーザが選択した項目についての説明表示435が表示されてもよい。このような説明表示435によって、ユーザは、選択した項目の技術的な意義などをより一層容易に把握できる。
(3 評価結果)
図16には、すべての試行が完了した場合に表示される評価結果画面400Bを示す。なお、図16には、すべての試行が完了した結果を示すが、この結果を試行の完了後に一斉に表示する形態だけでなく、開始とともに枠自体は表示させておき、試行の進行に伴って、対応する数値が順次表示されるようにしてもよい。
評価結果画面400Bでは、パラメータ候補の別に評価結果が出力される。より具体的には、評価結果画面400Bには、試行番号フィールド452と、試行済フィールド454と、誤検出フィールド456と、良品画像誤検出フィールド458と、不良品画像誤検出フィールド460と、最大計測時間フィールド462と、良品画像相関値平均フィールド464と、不良品画像相関値平均フィールド466と、良品画像相関値3σフィールド468と、不良品画像相関値3σフィールド470とを含むテーブルが表示される。
試行番号フィールド452には、先に生成されたパラメータ候補にそれぞれ割当てられた試行番号が昇順に表示される。試行済フィールド454には、対応するパラメータ候補についての試行が実行済であるか否かを示すチェックボックスが表示される。
誤検出フィールド456、良品画像誤検出フィールド458、および不良品画像誤検出フィールド460には、対応するパラメータ候補についての評価結果のうち、誤検出されたものの総数が表示される。より具体的には、良品画像誤検出フィールド458には、良品画像を「不良品」と誤って判定した総数が表示され、不良品画像誤検出フィールド460には、不良品画像を「良品」と誤って判定した総数が表示される。そして、2つの誤検出数を合計した値が誤検出フィールド456に表示される。
最大計測時間フィールド462には、各パラメータ候補についての試行の実行段階において計測された処理時間の最大値が表示される。この処理時間は、支援装置100において計測された処理時間であり、画像処理装置200において実際に計測された時間ではないが、画像処理装置200において画像処理結果を生成するのに要すると見込まれる処理時間に相当する。この最大計測時間フィールド462に表示される時間は、パラメータ候補から最適なものを選択する場合に、実際の生産ラインのタクトタイムなどを考慮するための指標となる。
良品画像相関値平均フィールド464、不良品画像相関値平均フィールド466、良品画像相関値3σフィールド468、および不良品画像相関値3σフィールド470には、それぞれの画像データに対して特徴量として計測された類似度(相関値)についての統計的出力値が表示される。すなわち、良品画像相関値平均フィールド464には、入力された複数の良品画像に対して計測された相関値全体の平均値が表示され、不良品画像相関値平均フィールド466には、入力された複数の不良品画像に対して計測された相関値全体の平均値が表示される。また、良品画像相関値3σフィールド468には、入力された複数の良品画像に対して計測された相関値全体のばらつき度合いを示す3σ値が表示され、不良品画像相関値3σフィールド470には、入力された複数の不良品画像に対して計測された相関値全体のばらつき度合いを示す3σ値が表示される。
評価結果画面400Bでは、パラメータ候補のうち、対応する処理結果群に含まれる特徴量が相対的に高いパラメータ候補を他のパラメータ候補とは異なる態様で出力する。図16に示す例では、良品画像相関値平均が最も高い、試行番号「2」についてアスタリスクマーク453が表示される。
なお、図16に示す項目は、典型的なサーチ処理によって算出される特徴量などを反映したものであり、画像処理の内容によっては、表示される項目が増加減される。
図16に示すように、試行された複数のパラメータ候補の各々について、その判定結果および統計的出力が一覧表示されることで、ユーザは、最適なパラメータセットを容易に選択することができる。たとえば、図16に示す例では、誤検出数がゼロである試行番号「2」,「4」,「5」が安定した処理を行うことのできるといえ、その中でも、試行番号「2」が最も処理時間が短くて済むので、総合的には、試行番号「2」のパラメータセットが最適であると言える。
このように最適なパラメータセットが決定された後、ユーザがマウス104などを操作して、決定したパラメータ候補の試行番号を入力した後、ボタン412(図11)を押下すると、選択されたパラメータセットの内容が画像処理装置200に反映される。
このような一連の手順によって、ユーザは、画像処理装置200に対するパラメータをより迅速かつ容易に決定できる。
なお、期待結果として、ロット番号や日付時間などを付加した場合には、ロットや時間単位で判定結果を統計的に分析することもできる。
(4 詳細評価結果その1)
本実施の形態に従う支援装置100は、パラメータ候補についての詳細な評価結果を表示することもできる。図16に示す画面上で、ユーザがマウス104などを操作して、試行番号フィールド452のいずれかの値を選択すると、図17〜図19に示すような画面が表示される。
図17には、図16に示す試行番号「2」の詳細な評価結果を表わす詳細結果画面400Cを示す。図17を参照して、詳細結果画面400Cでは、選択されたパラメータ候補について算出された特徴量である類似度(相関値)の分布を示す散布図472が表示される。この散布図は、画像番号を横軸とし、相関値を縦軸とするグラフである。なお、画像番号は、入力された画像データを識別するために、これらに対して順に割当てられた番号である。図17には、437枚の画像データが入力された場合の結果の一例を示す。
また、この散布図472においては、各画像データの相関値に基づく処理結果(「良品」であるか「不良品」であるかの判定)と、対応付けられた期待結果との一致/不一致に応じて表示態様を異ならせている。
より具体的には、良品画像についての処理結果が「良品」(OK)であるもの、すなわち処理結果と期待結果とが一致しているものについては、「■」マークで相関値がプロットされる。一方、良品画像についての処理結果が「不良品」(NG)であるもの、すなわち処理結果と期待結果とが不一致であるものについては、「×」マークで相関値がプロットされる。同様に、不良品画像についての処理結果が「不良品」(NG)であるもの、すなわち処理結果と期待結果とが一致しているものについては、「■」マークで相関値がプロットされる。一方、不良品画像についての処理結果が「良品」(OK)であるもの、すなわち処理結果と期待結果とが不一致であるものについては、「×」マークで相関値がプロットされる。
なお、良品画像および不良品画像のいずれに基づく判定結果であるのかを明瞭化するために、同じ「■」マークあるいは「×」マークであっても、その色を異なるものにすることで、ユーザがいずれの誤検出であるのかを容易に判別できるようにすることが望ましい。
さらに、この散布図472においては、良品画像および不良品画像のそれぞれに対して計測された相関値全体のばらつき度合いを表わすために、良品画像について計測された相関値の最小値と最大値との幅が着色された帯474として表示される。また、この帯474に併せて、良品画像について計測された相関値の代表値として、それらの平均値が指示線475として表示される。同様に、不良品画像について計測された相関値の代表値として、それらの最小値と最大値との幅が着色された帯476として表示され、不良品画像について計測された相関値の平均値が指示線477として表示される。
このような統計的出力が相関値と同じグラフ内に表示されることで、良品画像についての計測された特徴量と、不良品画像についての計測された特徴量との間で、どの程度の識別尤度があるのかを一見して把握することができる。
さらに、この散布図472では、各画像データから計測された相関値に対して、「良品」および「不良品」のいずれであるかを判定する条件としての、しきい値(しきい範囲)が表示される。具体的には、散布図472に対応付けて、「良品」と判定されるしきい値として、相関値の下限しきい値を示す指示線478Aおよび相関値の上限しきい値を示す指示線478Bが表示される。
ところで、図17に示すように、特徴量(相関値)の軸上で、良品画像から計測された特徴量の変動範囲(帯474)と、不良品画像から計測された特徴量の変動範囲(帯476)とが、全く重複しなければ、特徴量を計測する処理に係るパラメータ自体は適切であると判断できる。それにも関わらず、誤検出が発生しているような場合には、しきい値の設定が不適切であると判断できる。たとえば、図17では、相関値の下限しきい値が「75%」に設定されているが、この相関値の下限しきい値が「60%」に設定されていれば、不良品画像についても「良品」と判断してしまうことになる。
このような場合には、「良品」および「不良品」のいずれであるかを判定する条件のみを変更すればよく、画像データから特徴量を再度計測する必要はない。そのため、図17に示す散布図472では、しきい値(しきい範囲)がユーザによって任意に変更可能に構成される。すなわち、ユーザは、マウス104などを操作して、指示線478Aおよび指示線478Bを相関値の軸に沿って変更することができる。
このようにしきい値(しきい範囲)が変更されると、支援装置100は、先に実行された試行によって計測されたそれぞれの特徴量を変更後のしきい値と比較することで、「良品」および「不良品」のいずれであるかの判定を再実行する。そして、その再実行によって得られた判定結果が散布図472に反映されて、散布図472の表示内容が更新される。
これに対して、図18は、図16に示す試行番号「1」の詳細な評価結果を表わす詳細結果画面400Cを示し、図19は、図16に示す試行番号「3」の詳細な評価結果を表わす詳細結果画面400Cを示す。なお、試行番号「1」および「3」では、比較的多くの誤検出が発生している。図18および図19に示す散布図472では、良品画像から計測された相関値の変動範囲(帯474)と、不良品画像から計測された相関値の変動範囲(帯476)とが、相関値の軸上で部分的に重複している。そのため、この重複している部分に存在する相関値は、しきい値をどのように設定しても分離することができない。したがって、このような場合には、特徴量を計測する処理に係るパラメータ自体が不適切と判断できる。
再度、図17を参照して、詳細結果画面400Cでは、散布図472の特徴量(相関値)の軸に対応付けて、特徴量(相関値)のヒストグラム480も表示される。このヒストグラム480は、相関値を所定範囲に区切った区間毎に、各区間に存在する計測された特徴量の頻度を表わしたものである。このヒストグラム480によって、別の観点から、計測された相関値全体のばらつき度合いを確認することができる。
また、詳細結果画面400Cには、散布図472やヒストグラム480の表示形態を変更するための制御領域が設けられている。より具体的には、表示されている結果に係る情報を表示するエリア482が設けられる。さらに、散布図472に表示するマークの表示および変更を行うエリア484も設けられる。このエリア484には、上述した、良品画像についての処理結果が「良品」(OK)である場合のマークや、不良品画像についての処理結果が「良品」(OK)である場合のマークといった、その内容と使用されるマークとの一覧が表示される。さらに、これらの使用されるマークの割当ては、ユーザが任意に変更可能である。
また、誤検出画像を保存するためのボタン485が設けられており、このボタン485が押下されると、誤検出が発生している画像が保存され、誤検出の発生原因などの究明に用いられる。なお、詳細結果画面400Cの下段471には、試行に用いられた画像データがプレビュー表示される。
さらに、プルダウンメニュー486によって、散布図472以外のグラフを表示させることも可能である。後述する図20〜図23には、座標分布図を表示する例を示す。また、数値ボックス488によって、表示する対象の試行番号を設定することや、数値ボックス490によって、画像データの取り込み先を設定することも可能である。
さらに、散布図472の描画設定を行うためのボタン492および表示設定を行うためのボタン494も設けられている。ボタン492が選択されると、計測された相関値の代表値を示す指示線475および477が、それぞれの画像データから計測された相関値の平均値ではなく、中間値などを示すように変更するためのダイアログ(図示しない)などが表示される。また、ボタン494が選択されると、帯474および476が、計測された相関値のばらつきではなく、それぞれの画像データから計測された分散幅(3σや5σ)などを示すように変更するためのダイアログ(図示しない)などが表示される。また、ヒストグラム480を非表示にすることもできる。
さらに、散布図472の横軸の範囲の設定も可能である。より具体的には、ユーザが、散布図472として表示させる画像番号を入力することで、指定された画像番号に対応する画像データから計測された相関値のみが散布図472内に表示される。さらに、正しく検出された結果のみ、あるいは誤って検出された結果のみ、といった選択的な表示も可能である。
また、上述の説明では、散布図472上に表示される指示線478Aおよび/または478Bに対するマウス操作によって、しきい値(しきい範囲)が変更される構成について例示したが、数値ボックス498に直接的に数値を入力してもよい。
詳細結果画面400Cには、計測結果の各項目の値を数値表示するボックス473も表示される。
(5 詳細評価結果その2)
上述の図6および図7に示すようなサーチ処理においては、登録済のモデルと一致している(「OK」である)と判定するための条件として、計測範囲を設定することができる(図7の判定条件設定エリア320参照)。このような場合には、このような計測範囲に対応付けて、処理結果を表示することで、ユーザは、判定条件である計測範囲を表示される処理結果に応じて適切に設定することができる。以下、このような場合における、詳細評価結果の表示例について説明する。
図20(a)には、上述の図6および図7に示す設定画面300A上で、サーチ処理に係る設定をした場合の稼動モードにおける画面表示例を示す。この図20(a)に示す例では、文字列「8273」を含むモデルMDLが予め登録されており、撮像部8により取得された画像データに対して、このモデルMDLについてのサーチ処理が行われた結果が表示されている。この図20(a)に示す例では、サーチ範囲512と判定条件である計測範囲514とが同一の範囲に設定されているものとする。このサーチ範囲512は、予め登録されたモデルMDLとの一致を判断、すなわち、モデルMDLとの間に最も高い類似度(相関値)をもつ領域であるか否かを判断するための対象領域である。また、計測範囲514は、モデルMDLと最も高い類似度(相関値)をもつ領域として抽出された範囲が有効なものであるか否かを判断するためのしきい範囲である。
すなわち、サーチ範囲512のいずれかの位置にモデルMDLと最も高い類似度(相関値)をもつ領域が抽出された場合に、当該抽出された位置が計測範囲内であれば、登録済のモデルと一致する(「OK」である)と判定される。たとえば、具体的な適用例としては、対象の製品にラベルを貼付するような生産ラインなどにおいて、適切な内容のラベルが貼付されているか否かを、モデルMDLと最も高い類似度(相関値)をもつ領域が抽出されるか否かに基づいて判断し、その上で、当該ラベルが適切な位置に貼付されているか否かを、当該抽出された位置が計測範囲内であるか否かに基づいて判断することができる。そのため、サーチ範囲512と計測範囲514とは、必ずしも一致させる必要はなく、少なくとも、計測範囲514よりサーチ範囲512を大きく設定すればよい。
そのため、上述のようなサーチ処理においては、予め登録されたモデルMDLとの間に最も高い類似度(相関値)をもつ領域が抽出された位置を2次元的に表示することが好ましい。そこで、本実施の形態に従う支援装置100では、図20(b)に示すような座標分布図を表示することが可能に構成される。
図20(b)に示す座標分布図では、撮像部8から入力される画像データに対応付けて、2次元座標510(この例では、計測座標Xおよび計測座標Y)に関連付けて、対象のサーチ処理において設定されているサーチ範囲512が表示される。具体的には、設定されているサーチ範囲512に対応する枠が2次元座標510上に示される。さらに、対象のサーチ処理において設定されている計測範囲514も2次元座標510上に表示される。なお、図20(b)においては、サーチ範囲512と計測範囲514とが同一の範囲に設定されている場合を示す。
この計測範囲514については、その紙面左右方向の範囲を定義するための指示線522および524と、その紙面上下方向の範囲を定義するための指示線532および534とが関連付けて表示されている。より具体的には、2次元座標510の紙面上側には、その左右方向の位置を示す目盛り520が表示されるとともに、指示線522および524をそれぞれ操作するためのハンドルが表示される。また、2次元座標510の紙面左側には、その上下方向の位置を示す目盛り530が表示されるとともに、指示線532および534をそれぞれ操作するためのハンドルが表示される。そして、ユーザが、いずれかのハンドルを操作すると、その操作に応じて計測範囲514が変更される。以下、図21〜図23に、詳細結果画面500の一例を示す。
図21には、図20(a)に示す座標分布図を含む詳細結果画面500の一例を示す。この座標分布図においては、予め登録されたモデルMDLと最も高い類似度(相関値)をもつとして抽出された領域の位置がプロットされるとともに、図17に示す詳細結果画面400Cと同様に、各画像データの相関値に基づく処理結果(「良品」であるか「不良品」であるかの判定)と対応付けられた期待結果との一致/不一致に応じて異なる態様で表示されている。すなわち、「■」マークまたは「×」マークを用いて、抽出された位置が2次元座標上にプロット表示されている。なお、良品画像および不良品画像のいずれに基づく判定結果であるのかを明瞭化するために、同じ「■」マークあるいは「×」マークであっても、その色を異なるものにすることで、ユーザがいずれの誤検出であるのかを容易に判別できるようにすることが望ましい。
さらに、図21に示す詳細結果画面500においては、サーチ範囲512および計測範囲514の範囲も共通の2次元座標上に表示されている。そして、ユーザが指示線522,524,532,534のいずれかを操作すると、判定条件である計測範囲514の現在値が変更されるとともに、その変更後の計測範囲514の範囲が2次元座標上に表示される。
たとえば、図22には、ユーザが指示線522を操作して、計測範囲514の紙面左右方向の範囲を縮めた状態を示す。ユーザが指示線522をさらに操作して、計測範囲514の紙面左右方向の範囲をより縮めた状態を図23に示す。
図22と図23とを比較するとわかるように、サーチ範囲512の中心付近に位置している処理結果508についてみれば、計測範囲514が相対的に広い場合には「良品」(OK)と判断されるが、計測範囲514が相対的に狭くなると「不良品」(NG)と判断されることになる。それに伴って、表示も「■」マークから「×」マークへ変更される。
ユーザは、2次元座標上に表示される処理結果を見ながら、判定条件である計測範囲514を適切な範囲に設定することになる。すなわち、ユーザは、誤検出数がゼロもしくはより少なくなるように、計測範囲514を調整する。
なお、判定値条件表示エリア598内には、ユーザが調整した計測範囲514の範囲を示す値が表示される。
上述したように、本実施の形態に従う詳細結果画面500においては、予め登録されたモデルMDLと最も高い類似度(相関値)をもつとして抽出された領域の位置と関連付けて、視覚的に、判定条件である計測範囲514を調整できるので、最適な計測範囲514を容易に決定することができる。また、本実施の形態においては、計測範囲514を調整できるようにしているが、同様の操作方法にてサーチ範囲512を調整できるようにしてもよい。
なお、詳細結果画面500には、表示されている結果に係る情報を表示するエリア582、座標分布図に表示するマークの表示および変更を行うエリア584、誤検出画像を保存するためのボタン585、プルダウンメニュー586、数値ボックス588、数値ボックス590、座標分布図の描画設定を行うためのボタン592、表示設定を行うためのボタン594、計測結果の各項目の値を数値表示するボックス573を含む。これらは、いずれも、図17〜図19に示す詳細結果画面400Cに表示される対応する項目と同様であるので、詳細な説明は繰返さない。また、図17〜図19に示す詳細結果画面400Cと同様に、詳細結果画面500の下段571には、試行に用いられた画像データがプレビュー表示される。
<I.期待結果の入力方法>
画像データに対応付けられた期待結果の入力方法として、それぞれの画像データが格納されたフォルダ名に期待結果の属性を付与する構成を例示したが、以下のような他の構成を採用することもできる。
(1 画像データのファイル名を用いる構成)
画像データのファイル名の一部に期待結果を示す文字を埋込むことで、期待結果を付与することができる。たとえば、上述の良品画像であれば、「OK_xxx.jpg」とのファイル名を与え、不良品画像であれば、「NG_xxx.jpg」とのファイル名を与えることで、両者を識別することができる。このような方法を採用することで、画像データに対して、個別に期待結果を入力することができる。また、座標位置や幅といった計測値を期待結果とする場合にも、同様の手法で入力することができる。
(2 画像ファイルのヘッダ部を用いる構成)
画像データのヘッダ部に期待結果を示す埋込むことで、期待結果を付与することができる。たとえば、jpegフォーマットであれば、Exif規格に従って、ヘッダ部が用意されているので、この部分に、期待結果の種別(OKまたはNG)、期待結果を示す数値、条件などを格納することができる。より具体的には、期待結果の種別について良品/不良品を示すフラグが格納すればよく、幅などの実寸値の場合は、数値と単位とを格納すればよい。
(3 定義ファイルを用いる構成)
画像データとは別に、各画像データの期待結果を記述した定義ファイルを用意することで、期待結果を入力することができる。この定義ファイルには、各画像データのファイル名などの識別情報に対応付けて、期待結果の種別(OKまたはNG)、期待結果を示す数値、条件などが記述される。この定義ファイルを用いた場合には、1つの画像データに対して、複数の期待結果を定義することができる。たとえば、同一の画像データに対して、文字列「ABC」のサーチ処理、および文字列「DEF」のサーチ処理が連続的に実行される場合を考えると、文字列「ABC」を含む画像データは、文字列「ABC」のサーチ処理にとってみれば良品画像であるが、文字列「DEF」のサーチ処理にとってみれば不良品画像となる。したがって、同一の画像データに対して、複数の計測処理や判定処理が実行されるような場合には、処理項目毎に区分して期待結果を付与する必要があり、このような場合に、定義ファイルを用いると効果的である。
(4 ユーザが個別/一括で設定する構成)
特に、画像データに良品/不良品の期待結果を入力する場合には、支援装置100上での画像データの選択時に入力するようにしてもよい。すなわち、ユーザは、対象の画像データの選択時に、選択したファイル/フォルダが良品および不良品のいずれであるかを選択する。ここで、ファイル単位で選択すれば期待結果の個別付与となり、フォルダ単位で選択すれば期待結果の一括付与となる。
<J.制御構造>
図24は、この発明の実施の形態に従う支援装置100の制御構造を示す機能ブロック図である。図24に示す制御構造は、典型的には、支援装置100のCPU105がプログラムを実行することで提供される。図25は、図24に示す支援装置100において生成されるファイルの構造の示す図である。
図24を参照して、本実施の形態に従う支援装置100は、その制御構造として、入力部1010と、候補生成部1020と、処理部1030と、評価部1040と、出力部1050とを含む。
入力部1010は、ユーザから対象の画像データの指定、およびそれぞれの画像データに対応付けられた期待結果を受付ける。なお、入力部1010は、指定された画像データを自身にコピーすることもできるが、指定された画像データへアクセス可能である場合には、必要に応じて対象の画像データを取得して、その実体データを処理部1030へ出力する。より具体的には、入力部1010は、画像データの指定に基づいて、対象の画像データと内部的に使用する画像番号とを対応付けた画像リスト1011を生成するとともに、画像番号と対応する画像データについての期待結果とを対応付けた期待結果リスト1012を生成する。図25(a)に示すように、画像リスト1011には、画像番号に対応付けて、対象の画像データの存在する位置およびファイル名が記述される。また、図25(b)に示すように、期待結果リスト1012には、画像番号に対応付けて、期待結果(この例では、良品(OK)もしくは不良品(NG))が記述される。
次に、候補生成部1020は、ユーザの指定に応答して、パラメータの組に含まれる少なくとも1つのパラメータ値を互いに異ならせた複数のパラメータセットを含むパラメータ候補40を生成する。より具体的には、候補生成部1020は、入力インターフェイス部1021と、パラメータ変更部1022と、通信部1023とを含む。入力インターフェイス部1021は、ユーザ操作に応じて、図12に示すような、パラメータの調整を行うためのパラメータ候補を生成するための条件を入力するダイアログ420を表示する。さらに、入力インターフェイス部1021は、ダイアログ420に対してユーザが指定した内容をパラメータ変更部1022へ出力する。すなわち、入力インターフェイス部1021は、パラメータの変動ステップおよび変動範囲の少なくとも一方の指定を受付ける。パラメータ変更部1022は、ユーザが指定した項目、およびパラメータの変動ステップおよび/または変動範囲に従って、複数のパラメータ候補を生成する。より具体的には、現在のパラメータセットの値に対して、指定された項目のパラメータ値を指定された変動ステップずつ順次変化させることで、パラメータ候補を順次生成する。これらのパラメータ候補は、処理部1030へ出力される。
通信部1023は、画像処理装置200とデータ通信可能に構成され、ユーザ操作に応じて、画像処理装置200で設定されている処理項目および各パラメータの値などを取得する。また、通信部1023は、支援装置100において決定されたパラメータセットを画像処理装置200へ転送することもできる。
次に、処理部1030は、指定された画像データに対して、複数のパラメータ候補に従ってそれぞれ画像処理を行うことで複数の処理結果を生成する。より具体的には、処理部1030は、画像選択部1031と、パラメータ選択部1032と、特徴量算出部1033と、判定部1034と、再判定部1036と、時間計測部1037と、処理コントローラ1038とを含む。
処理部1030における各部の処理は、処理コントローラ1038によって制御される。すなわち、入力部に複数の画像データおよびそれらにそれぞれ対応付けられた特徴量が入力された場合には、複数のパラメータ候補の各々について、複数の画像データのそれぞれについての処理結果を順次出力するように、処理コントローラ1038が画像選択部1031およびパラメータ選択部1032を適宜制御する。
画像選択部1031は、処理コントローラ1038からの指令に従って、入力部1010から対象の画像データを順次選択して、特徴量算出部1033へ出力する。また、パラメータ選択部1032についても、処理コントローラ1038からの指令に従って、候補生成部1020から対象のパラメータ候補を順次選択して、特徴量算出部1033へ出力する。
特徴量算出部1033は、画像選択部1031によって選択された画像データに対して、パラメータ選択部1032によって選択されたパラメータ候補に従う画像処理を行うことで、対象の画像データについての特徴量を算出する。特徴量算出部1033は、算出した特徴量を判定部1034へ出力する。
判定部1034は、特徴量算出部1033において算出された特徴量を、予め定められたしきい値と比較することで、対象の画像データについての処理結果を生成する。典型的には、判定部1034は、画像データがモデル画像とどの程度似ているかを示す相間値がしきい値以上であれば、モデル画像と一致と判断する。判定部1034は、特徴量算出部1033で算出された特徴量とともに、判定結果を示す判定結果リスト1035を生成する。図25(c)に示すように、判定結果リスト1035には、画像番号に対応付けて、対象の画像データの特徴量および判定結果(この例では、OKまたはNG)が記述される。なお、判定結果リスト1035は、試行されたパラメータ候補毎に生成される。
再判定部1036は、図17〜図19に示す詳細結果画面400Cにおいて、しきい値(指示線478Aおよび指示線478B)が変更された場合に、そのしきい値の変更を受付ける。そして、再判定部1036は、既に特徴量算出部1033によって算出されている画像データについての特徴量を変更後のしきい値と比較することで、判定結果を再生成する。この更新された判定結果は、判定結果リスト1035に反映される。そして、後述するように、この判定結果リスト1035の内容に基づいて、詳細結果画面400Cの表示が更新される。
時間計測部1037は、各パラメータ候補についての特徴量算出部1033での処理に要した時間を計測する。すなわち、時間計測部1037は、あるパラメータ候補において、1つの画像データの処理結果を生成するのに要した処理時間を計測する。この時間計測部1037で計測された処理時間は、図16に示す評価結果画面400Bの最大計測時間フィールド462などの表示される。また、時間計測部1037は、計測した処理時間を処理コントローラ1038へも出力する。
処理コントローラ1038は、パラメータ候補についての試行の実行に応じて、画像選択部1031およびパラメータ選択部1032へ指令を与える。また、処理コントローラ1038は、ユーザによって指定される許容時間を受付けると、いずれかのパラメータ候補について、画像データに対する処理結果の生成中に当該許容時間を超える処理時間が時間計測部1037によって計測されると、当該パラメータ候補についての残りの画像データに対する処理結果の生成を打ち切ることもできる。この許容時間は、対象の画像処理装置が配置される生産ラインのタクトタイムなどに応じて設定される。すなわち、たとえ、安定した画像処理を行うことのできるパラメータ候補であったとしても、処理時間が長くなりすぎたものは、実際の生産ラインに適用できないので、それ以上の評価を行う必要がないからである。このように、適用先の要求に基づいて、明らかに不適格なパラメータ候補についての試行を打ち切ることで、試行全体に要する時間を短縮することができる。
次に、評価部1040は、複数の処理結果の各々を対応する期待結果と比較することで、複数の処理結果の各々についての評価結果を生成する。より具体的には、評価部1040は、比較部1041と、一致/不一致カウンタ1043と、打ち切り処理部1044と、統計処理部1045と、ヒストグラム生成部1046と、決定部1047とを含む。
比較部1041は、入力部1010から取得した各画像データについての期待結果と、判定部1034で生成された判定結果とを比較して、その内容が一致しているか否かを評価する。より具体的には、比較部1041は、画像番号に対応付けて、評価結果を示す評価結果リスト1042を生成する。図25(d)に示すように、評価結果リスト1042には、画像番号に対応付けて、対象の画像データの判定結果と期待結果との対応関係が記述される。この記述例としては、良品(OK)の期待結果を付与された画像データに対する評価結果が良品(OK)であったことを示す「OK−OK」や、良品(OK)の期待結果を付与された画像データに対する評価結果が良品(NG)であったことを示す「OK−NG」などである。なお、一致および不一致のいずれかのみを記述するようにしてもよいが、両者が不一致であった場合、すなわち誤判定が発生した場合に、その詳細を分析することができないので、その種別についても記録しておくことが好ましい。なお、評価結果リスト1042は、試行されたパラメータ候補毎に生成される。
一致/不一致カウンタ1043は、比較部1041で生成された複数の評価結果リスト1042に含まれる評価結果についての対応する期待結果との一致度合いを算出する。より具体的には、一致/不一致カウンタ1043は、評価結果リスト1042に含まれる評価結果のうち、対応する期待結果と不一致となっているもの(誤検出されたもの)の数をカウントする。なお、「良品」(OK)の画像データを「不良品」(NG)と誤判定した数、および「不良品」(NG)の画像データを「良品」(OK)と誤判定した数をそれぞれ区別してカウントすることが好ましい。
打ち切り処理部1044は、ユーザによって指定される許容上限値を受付け、いずれかのパラメータ候補について、画像データに対する処理結果の生成中に、対応する期待結果と不一致である処理結果の数が指定された許容上限値を超えると、当該パラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。この許容上限値は、対象の画像処理装置に要求される安定度などに応じて設定される。すなわち、誤検出の数が許容上限値を超えた時点で、安定した画像処理を行うことのできないパラメータ候補であると判断できるので、それ以上の評価を行う必要がないからである。このように、適用先の要求に基づいて、明らかに不適格なパラメータ候補についての試行を打ち切ることで、試行全体に要する時間を短縮することができる。なお、打ち切り処理部1044は、打ち切り指示を処理部1030の処理コントローラ1038へ与える。
統計処理部1045は、処理部1030で算出された評価結果についての統計的出力を算出する。より具体的には、統計処理部1045は、特徴量算出部1033で算出された判定結果リスト1035に含まれる相関値の統計量(たとえば、平均値、中間値、最大値、最小値、分散値、標準偏差など)を、パラメータ候補毎に算出する。
ヒストグラム生成部1046は、統計処理部1045により算出された統計量に基づいて、特徴量を予め定められた区間に区切ったヒストグラム(度数分布)のデータを、パラメータ候補毎に生成する。
決定部1047は、ユーザによって指定された条件に従って、候補生成部1020で生成されたパラメータ候補のうち、最も適切なものを決定する。より具体的には、決定部1047は、評価結果が満たすべき条件を受付け、複数のパラメータ候補にそれぞれ従って処理を行うことで生成される処理結果のうち、指定された条件に最も適合している処理結果を決定する。この決定部1047における処理については、後述する。
次に、出力部1050は、複数のパラメータ候補の別に、評価部1040で生成された評価結果を出力する。より具体的には、出力部1050は、各種の出力形態を用意しており、一例として上述した、テーブル出力機能(図16)、ヒストグラム出力機能(図17〜図19)、散布図出力機能(図17〜図19)などである。これらの出力形態は、ユーザ操作に応じて適宜切換えられる。出力部1050は、テーブル出力機能として、一致/不一致カウンタ1043により算出された評価結果についての対応する期待結果との一致度合いや、対応する期待結果と不一致となっている処理結果の数を出力する。さらに、このテーブル出力機能として、出力部1050は、評価結果とともに計測された処理時間を出力する。
また、出力部1050は、散布図出力機能として、処理結果群に含まれる処理結果を、対応する画像データの別に比較可能に出力する。すなわち、出力部1050は、あるパラメータ候補について、対象となった画像データを一方の軸として、処理結果についての特徴量(相関値)の分布を出力する。このとき、出力される散布図においては、出力部1050は、各特徴量に基づく処理結果を対応する期待結果との一致/不一致に応じて異なった表示態様で出力する。また、出力部1050は、判定部1034に与えられているしきい値(しきい範囲)をこの散布図に対応付けて出力する。なお、散布図において、ユーザがしきい値(しきい範囲)を変更することが可能であり、このしきい値の変更に応答して、再判定部1036により判定結果が再生成されると、この再生成された判定結果を散布図に反映する。
さらに、出力部1050は、テーブル出力機能として、複数のパラメータ候補のうち、対応する処理結果群に含まれる特徴量(相関値)が相対的に高いパラメータ候補を、他のパラメータ候補とは異なる態様で出力してもよい。すなわち、最も相関値の平均値が高いパラメータ候補については、赤色表示や点滅表示などによって、目立つように出力することが好ましい。これは、特徴量(相関値)が高いということは、当該パラメータ候補に従う画像処理によって、画像データの特徴をうまく抽出できることを意味するので、このようなパラメータ候補を優先的にユーザに選択してもらうことを促すためである。
<K.条件指定>
次に、図26を参照して、評価部1040の決定部1047(図24)がパラメータ候補のうち、最も適切なものを選択する条件の入力インターフェイスの一例について例示する。
ユーザは、上述の図12に示すダイアログ420上でのパラメータ候補についての設定後、図26に示すようなダイアログ499で、いずれの項目を優先するかについて設定する。ダイアログ499では、図16に示す評価結果画面400Bに出力される項目の一覧が表示されており、ユーザは、プルダウンメニューを操作して、優先すべきかを示す優先順を必要な項目に対して設定する。図26に示す例では、「誤検出数:少」が優先順位「1」に設定されており、「最大計測時間:短」が優先順位「2」に設定されている。
図26に示すような条件が設定されると、決定部1047は、生成されたパラメータ候補毎の評価結果を参照して、最も誤検出数の少ないパラメータ候補を検索する。この検索の結果、1つに絞ることができれば、そのパラメータ候補が最適なパラメータセットとして決定される。一方、誤検出数の条件だけでは、1つに絞りきることができなかった場合には、その中で、最大計測時間が最も短いパラメータ候補が最適なパラメータセットとして抽出される。
なお、ユーザによる条件の設定方法としては、図26に示すユーザインターフェイスによる方法以外にも、さまざまな方法を採用することができる。
<L.処理手順>
図27および図28は、この発明の実施の形態に従う支援装置100における全体処理を示すフローチャートである。図27および図28に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
図27および図28を参照して、CPU105は、初期化処理の実行後、モニタ102にメニュー画面(図10)を表示する(ステップS100)。続いて、CPU105は、メニュー画面上のボタン402が押下されたか否かを判断する(ステップS102)。ボタン402が押下された場合(ステップS102においてYESの場合)には、CPU105は、接続先の画像処理装置200(または、仮想的な画像処理装置として機能するシミュレータ)から現在の処理項目および各パラメータの値などを取得する(ステップS104)。その後、処理はステップS106に移る。一方、ボタン402が押下されていない場合(ステップS102においてNOの場合)には、ステップS102の処理が繰返される。
続いて、CPU105は、メニュー画面上のボタン404が押下されたか否かを判断する(ステップS106)。ボタン404が押下された場合(ステップS106においてYESの場合)には、CPU105は、モニタ102にダイアログ414などを表示して、対象となる画像データおよび画像データに対応付けられた期待結果を受付ける(ステップS108)。続いて、CPU105は、画像データの指定に基づいて、対象の画像データと内部的に使用する画像番号とを対応付けた画像リストを生成するとともに、画像番号と対応する画像データについての期待結果とを対応付けた期待結果リストを生成する(ステップS110)。そして、処理はステップS112に移る。一方、ボタン404が押下されていない場合(ステップS106においてNOの場合)には、ステップS106の処理が繰返される。
続いて、CPU105は、メニュー画面上のボタン406が押下されたか否かを判断する(ステップS112)。ボタン406が押下された場合(ステップS112においてYESの場合)には、CPU105は、モニタ102にダイアログなどを表示して、パラメータを調整する画像処理の内容(処理項目)を受付ける(ステップS114)。そして、処理はステップS116に移る。一方、ボタン406が押下されていない場合(ステップS112においてNOの場合)には、ステップS112の処理が繰返される。
続いて、CPU105は、メニュー画面上のボタン410が押下されたか否かを判断する(ステップS116)。ボタン410が押下された場合(ステップS116においてYESの場合)には、CPU105は、選択された画像処理の内容(処理項目)に基づいて、モニタ102に、パラメータの変動設定を入力するダイアログ420を表示する(ステップS118)。そして、CPU105は、ダイアログ420上に対して入力される、調整すべきパラメータの項目およびその変動ステップや変動範囲などを受付ける(ステップS120)。その後、CPU105は、ダイアログ上の試行追加ボタン422が押下されたか否かを判断する(ステップS122)。試行追加ボタン422が押下された場合(ステップS122においてYESの場合)には、CPU105は、設定されたパラメータの変動設定に基づいて、パラメータ候補を生成する(ステップS124)。このとき、CPU105は、生成したパラメータに試行番号を割当てる。そして、処理はステップS126に移る。一方、試行追加ボタン422が押下されていない場合(ステップS122においてNOの場合)には、ステップS122の処理が繰返される。なお、CPU105は、ダイアログ420上の閉じるボタン424が押下されると、ダイアログ420を閉じる。
続いて、CPU105は、メニュー画面上のボタン408が押下されたか否かを判断する(ステップS126)。ボタン408が押下されていない場合(ステップS126においてNOの場合)には、ステップS126の処理が繰返される。
一方、ボタン408が押下された場合(ステップS126においてYESの場合)には、CPU105は、パラメータ候補の各々についての値の評価である試行を開始する。具体的には、CPU105は、最も小さい試行番号(試行番号[0])に対応するパラメータ候補をセットする(ステップS128)。そして、CPU105は、最も小さい画像番号(試行番号[0])に対応する画像データを取得する(ステップS130)。そして、CPU105は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行って、特徴量を算出する(ステップS132)。その後、CPU105は、算出した特徴量を試行番号および画像番号に対応付けてファイルに格納する(ステップS134)。さらに、CPU105は、算出した特徴量と予め設定されているしきい値とを比較して、対象の画像データに対する判定結果を算出してファイルに格納し(ステップS136)、さらに、対象の画像データに対応付けられた期待結果に基づいて、算出された判定結果を評価した評価結果を算出してファイルに格納する(ステップS138)。
その後、CPU105は、現在選択中のパラメータ候補に基づく処理が、すべての画像データに対して完了したか否かを判断する(ステップS140)。すべての画像データに対して未だ完了していない場合(ステップS140においてNOの場合)には、CPU105は、現在の画像番号の次の画像番号に対応する画像データを取得する(ステップS142)。そして、ステップS132以下の処理が繰返される。
一方、すべての画像データに対して完了した場合(ステップS140においてYESの場合)には、CPU105は、現在の試行番号において算出された特徴量および評価結果についての統計量を算出する(ステップS144)。その後、CPU105は、生成されたパラメータ候補のすべてについての処理が完了したか否かを判断する(ステップS146)。生成されたパラメータ候補についての処理が未完了のものが存在する場合(ステップS146においてNOの場合)には、現在の試行番号の次の試行番号に対応するパラメータ候補をセットする(ステップS148)。そして、ステップS130以下の処理が繰返される。
一方、生成されたパラメータ候補についての処理が完了した場合(ステップS146においてYESの場合)には、CPU105は、先に算出したそれぞれの結果に基づいて、パラメータセットとして適したものを決定する(ステップS150)。そして、CPU105は、モニタ102に、図16に示すような評価結果画面を表示する(ステップS152)。
その後、CPU105は、メニュー画面上のボタン412が押下されたか否かを判断する(ステップS154)。ボタン412が押下された場合(ステップS154においてYESの場合)には、CPU105は、選択されたパラメータ候補の内容を接続先の画像処理装置200(または、仮想的な画像処理装置として機能するシミュレータ)へ転送する(ステップS156)。一方、ボタン412が押下されていない場合(ステップS154においてNOの場合)には、CPU105は、本アプリケーションの終了が指示されたか否かを判断する(ステップS158)。終了が指示された場合(ステップS158においてYESの場合)には、CPU105は、処理を終了する。一方、終了が指示されていない場合(ステップS158においてNOの場合)には、ステップS154の処理が繰返される。
<M.変形例1>
上述の実施の形態に従う支援装置100における全体処理を示すフローチャートでは、それぞれのパラメータ候補をセットした後、対象の画像データに対して順次処理を実行する手順について例示したが、先に対象の画像データを読出した後、パラメータ候補の各々について処理を実行するようにしてもよい。この方法は、画像データの読出しや転送などに時間を要する環境や、生産ラインを流れるワークを撮像して新たな画像データを生成しながら、並行してパラメータ候補の評価を行う場合に、有効である。
変形例1に従う全体処理の前半は、図27に示すフローチャートと同様であるが、後半が、図29のフローチャートに示すような処理手順となる。なお、図27に示す内容についての説明は繰返さない。
図29を参照して、メニュー画面上のボタン408が押下された場合(ステップS126においてYESの場合)には、CPU105は、パラメータ候補の各々についての値の評価である試行を開始する。具体的には、CPU105は、最も小さい画像番号(試行番号[0])に対応する画像データを取得する(ステップS162)。そして、CPU105は、最も小さい試行番号(試行番号[0])に対応するパラメータ候補をセットする(ステップS164)。
続いて、CPU105は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行って、特徴量を算出する(ステップS166)。その後、CPU105は、算出した特徴量を試行番号および画像番号に対応付けてファイルに格納する(ステップS168)。さらに、CPU105は、算出した特徴量と予め設定されているしきい値とを比較して、対象の画像データに対する判定結果を算出して、試行番号に対応付けてファイルに格納し(ステップS170)、さらに、対象の画像データに対応付けられた期待結果に基づいて、算出された判定結果を評価した評価結果を算出して、試行番号に対応付けてファイルに格納する(ステップS172)。
その後、CPU105は、生成されたパラメータ候補のすべてについての処理が完了したか否かを判断する(ステップS174)。生成されたパラメータ候補についての処理が未完了のものが存在する場合(ステップS174においてNOの場合)には、現在の試行番号の次の試行番号に対応するパラメータ候補をセットする(ステップS176)。そして、ステップS166以下の処理が繰返される。
一方、生成されたパラメータ候補についての処理が完了した場合(ステップS174においてYESの場合)には、CPU105は、すべての画像データに対して一連の処理が完了したか否かを判断する(ステップS178)。すべての画像データに対して未だ一連の処理が完了していない場合(ステップS178においてNOの場合)には、CPU105は、現在の画像番号の次の画像番号に対応する画像データを取得する(ステップS180)。そして、ステップS164以下の処理が繰返される。
一方、すべての画像データに対して一連の処理が完了した場合(ステップS178においてYESの場合)には、CPU105は、それぞれの試行番号において算出された特徴量および評価結果についての統計量をそれぞれ算出する(ステップS182)。その後、CPU105は、先に算出したそれぞれの結果に基づいて、パラメータセットとして適したものを決定する(ステップS184)。そして、CPU105は、モニタ102に、図16に示すような評価結果画面を表示する(ステップS186)。
その後、CPU105は、メニュー画面上のボタン412が押下されたか否かを判断する(ステップS154)。ボタン412が押下された場合(ステップS154においてYESの場合)には、CPU105は、選択されたパラメータ候補の内容を接続先の画像処理装置200(または、仮想的な画像処理装置として機能するシミュレータ)へ転送する(ステップS156)。一方、ボタン412が押下されていない場合(ステップS154においてNOの場合)には、CPU105は、本アプリケーションの終了が指示されたか否かを判断する(ステップS158)。終了が指示された場合(ステップS158においてYESの場合)には、CPU105は、処理を終了する。一方、終了が指示されていない場合(ステップS158においてNOの場合)には、ステップS154の処理が繰返される。
<N.変形例2>
上述した各処理における計測時間および/または誤検出数に応じて、不適切と考えられるパラメータ候補についての試行を打ち切る処理を追加した場合の処理手順としては、図30に示すようなフローチャートとなる。なお、この場合においても、前半の処理手順は図27に示すフローチャートと同様であるので、詳細な説明は繰返さない。
図30は、この発明の実施の形態の変形例2に従う支援装置100における全体処理を示すフローチャート(後半)である。図30に示すフローチャートは、図28に示すフローチャートにおいて、ステップS133,S139,S192,S194の処理を追加したものである。
ステップS132の実行後、CPU105は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行うことで特徴量を算出するのに要した処理時間を計測する(ステップS133)。
また、ステップS138の実行後、CPU105は、算出された判定結果が対象の画像データに対応付けられた期待結果と不一致である場合に、誤検出数をカウントする(ステップS139)。これに続いて、CPU105は、ステップS134で計測した処理時間が指定されている許容時間を超えているか否かを判断する(ステップS192)。
計測した処理時間が設定されている許容時間を超えている場合(ステップS192においてYESの場合)には、CPU105は、現在セットされているパラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。より具体的には、CPU105は、ステップS148の処理を実行する。
計測した処理時間が設定されている許容時間を超えていない場合(ステップS192においてNOの場合)には、CPU105は、ステップS139でカウントされた誤検出数が指定された許容上限値を超えているか否かを判断する(ステップS194)。
カウントされた誤検出数が指定された許容上限値を超えている場合(ステップS194においてYESの場合)には、CPU105は、現在セットされているパラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。より具体的には、CPU105は、ステップS148の処理を実行する。
一方、カウントされた誤検出数が指定された許容上限値を超えていない場合(ステップS194においてNOの場合)には、処理はステップS140に移る。
図30に示す処理のうち、その他のステップにおける処理については、図27と同様であるので、詳細な説明は繰返さない。
<O.2段階調整>
パラメータセットに含まれるパラメータの種類が多い場合には、いずれのパラメータを調整すべきかを容易には見出すことができない場合がある。そのような場合には、粗調整で調整すべきパラメータを判断した後、その最適値を微調整するような方法も有効である。
このような場合、支援装置100は、まず、複数のパラメータ候補からなる粗調整用の第1パラメータ候補群を生成する。そして、ユーザは、これらの第1パラメータ候補群についての評価結果に基づいて、いずれのパラメータ項目を調整すべきかを判断する。この判断内容を支援装置100に入力することで、支援装置100は、第1パラメータ候補群に含まれるパラメータ候補間の変動ステップより小さい変動ステップをもつ微調整用の第2パラメータ候補群とを生成する。これらの第2パラメータ候補群についての評価結果に基づいて、適切なパラメータセットを探索する。
このような2段階もしくはより多くの段階を経ることで、膨大な数のパラメータに対しても、その方向を誤ることなく、最適化することができる。
<P.連続実行処理>
次に、上述の図3(c)に示す連続実行処理について説明する。
図31は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理の概略を説明するための図である。図32は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のユーザインターフェイスの一例を示す図である。図33は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のフローチャートである。
まず、図31を参照して、本実施の形態に従う連続実行処理についての処理概略を説明する。図31に示すように、連続実行処理時には、試行の対象となるワーク(もしくは、画像処理)の別に、評価される複数のパラメータセットを含むパラメータ候補40−1,40−2,…,40−Nがそれぞれ設定される。
より具体的には、ユーザは、上述の図10〜図13に示すユーザインターフェイスを用いて、各ワーク(もしくは、画像処理)についてのパラメータ候補を順次生成する。すなわち、ユーザは、図10〜図12に示す操作を、少なくとも対象のワークの数だけ繰返す。なお、ユーザが設定したパラメータ候補は、ファイルとして保存されるものとする。その後、ユーザは、図32に示すような連続試行実行設定ダイアログ600を用いて、連続実行処理の対象とすべきパラメータ候補(各々が試行対象となる複数のパラメータセットを含む)を選択する。
この連続試行実行設定ダイアログ600は、既に作成されているパラメータ候補が一覧表示されるボックス602と、連続実行処理の対象に選択されたパラメータ候補が一覧表示されるボックス606とを含む。図32に示す例では、ボックス602に表示される、拡張子が「bak」のデータの各々が複数のパラメータセットを含む1つのパラメータ候補に相当するとする。ユーザは、ボックス602上で、連続実行処理の対象とすべきパラメータ候補に対応するファイル名を選択した上で、追加ボタン604を押下する。すると、選択されているファイル(パラメータ候補)がボックス606内に追加される。
上述のような操作によって、連続実行処理の対象となるパラメータ候補を決定した後、ユーザが実行ボタン608を押下することで、試行処理が開始される。なお、ユーザがキャンセルボタン610を押下すると、処理は中止される。
また、ボックス606に関連付けて、実行順序を変更するためのボタン612および614が表示される。ボックス606内に表示されるファイル(パラメータ候補)を選択した上で、ユーザがボタン612または614を押下すると、当該選択されたファイルが他のファイルに相対して、上側または下側に移動する。このボックス606内に表示されるファイルの順序は、試行の実行順序に対応しており、より上位に表示されているものほど、先に実行される。
再度、図31を参照して、画像処理アプリケーション20は、先に設定されているパラメータ候補40−1,40−2,…,40−Nの各々について、計測処理22および判定処理24を繰返し実行する。並行して、評価処理アプリケーション30は、各画像データに対応付けられた期待結果14に基づいて、それぞれの画像データを処理して得られた特徴量26および/または判定結果28を評価する。
このような処理によって、複数のパラメータ候補40−1,40−2,…,40−Nに対応する複数の評価結果32−1,32−2,…,32−Nがそれぞれ生成される。ユーザは、これらの複数の評価結果32−1,32−2,…,32−Nの各々について、上述の図16〜図19および図21〜図23に示すような操作を行って、最適なパラメータセットを順次決定する。
なお、図10および図11に示す入力画面400Aには、選択されたパラメータ候補を画像処理装置200などに反映するためのボタン412が選択可能に表示される。入力画面400Aにおいては、試行対象のパラメータ候補と、当該パラメータ候補に対応する(画像処理装置200内などの)画像処理設定とが関連付けられており、このボタン412が押下されることで、ユーザが調整したパラメータセットの各値が画像処理装置200内の対応する特定の画像処理フローに反映される。そのため、同一の画像処理装置200において複数のワーク別に複数の画像処理フローが設定されている場合であっても、ユーザがあるワークについて設定したパラメータセットの値を他のワークについてのパラメータセットの値として誤って反映させてしまうという不具合を回避できる。
以下、図33を参照して、本実施の形態に従う連続実行処理時の処理手順について説明する。なお、図33に示すフローチャートは、CPU105が固定ディスク107などに予め格納されたプログラムをメモリ106に読出して実行することにより実現される。
まず、CPU105は、初期化処理の実行後、モニタ102にメニュー画面(図10)を表示する(ステップS200)。続いて、CPU105は、対象の画像処理装置200(または、仮想的な画像処理装置として機能するシミュレータ)に設定されている画像処理(ワーク別の画像処理フロー)の取得が要求されたか否かを判断する(ステップS202)。対象の画像処理装置200(または、シミュレータ)に設定されている画像処理(ワーク別の画像処理フロー)の取得が要求された場合(ステップS202においてYESの場合)には、処理はステップS204に移る。一方、対象の画像処理装置200(または、シミュレータ)に設定されている画像処理(ワーク別の画像処理フロー)の取得が要求されていない場合(ステップS202においてNOの場合)には、ステップS202の処理が繰返される。
ステップS204において、CPU105は、対象の画像処理装置200(または、シミュレータ)に接続し、設定されている画像処理(ワーク別の画像処理フロー)を取得する。このとき、ユーザは、対象の画像処理装置200(または、シミュレータ)において、調整対象にしたい画像処理(ワーク別の画像処理フロー)を設定しておく。この処理としては、対象の画像処理装置200(または、シミュレータ)に予め登録されている1または複数の画像処理のうち、1つを選択して読出すことになる。
続いて、CPU105は、図27に示すステップS102〜S124と同様の処理を実行する(ステップS206)。ここでは、これらの処理の詳細な説明は繰返さない。その後、処理はステップS208に移る。
ステップS208において、CPU105は、上述のステップS206の処理によって生成されたパラメータ候補(複数のパラメータセット)を定義するデータを保存する。すなわち、図32に示す拡張子が「bak」の複数のファイルのうち、1つのファイルが生成される。その後、処理はステップS212に移る。
続いて、CPU105は、新たなパラメータ候補の生成が要求されたか否かを判断する(ステップS212)。すなわち、CPU105は、ユーザがさらに別のパラメータ候補の生成を指示したか否かを判断する。新たなパラメータ候補の生成が要求された場合(ステップS212においてYESの場合)には、ステップS204の処理が繰返される。このとき、ユーザは、対象の画像処理装置200(または、シミュレータ)において、先に調整対象として設定した画像処理(ワーク別の画像処理フロー)と同一の連続実行処理に含ませることを希望する別の画像処理(ワーク別の画像処理フロー)を設定しておく。
一方、新たなパラメータ候補の生成が要求されていない場合(ステップS212においてNOの場合)には、処理はステップS214に移る。
その後、CPU105は、モニタ102に連続実行処理の対象となるパラメータ候補を選択するための画面(図32に示す連続試行実行設定ダイアログ600)を表示する(ステップS214)。そして、CPU105は、ユーザ操作に応じて、連続実行処理の対象となるパラメータ候補を選択する(ステップS216)。さらに、CPU105は、連続試行実行設定ダイアログ600上の実行ボタン608が押下されたか否かを判断する(ステップS218)。実行ボタン608が押下された場合(ステップS218においてYESの場合)には、処理はステップS220に移る。一方、実行ボタン608が押下されていない場合(ステップS218においてNOの場合)には、ステップS216の処理が繰返される。
ステップS220において、CPU105は、連続実行処理の対象に設定されているパラメータ候補のうち最初のパラメータ候補を選択し、続いて、図28に示すステップS128〜S150と同様の処理を実行する(ステップS222)。ここでは、これらの処理の詳細な説明は繰返さない。その後、処理はステップS224に移る。
ステップS224において、CPU105は、連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了したか否かを判断する。連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了していない場合(ステップS224においてNOの場合)には、処理はステップS226に移る。一方、連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了している場合(ステップS224においてYESの場合)には、処理はステップS228に移る。
ステップS226において、CPU105は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補を選択し、ステップS222の処理を繰返す。
ステップS228において、CPU105は、モニタ102に、連続実行処理の対象に設定されているパラメータ候補のうち最初のパラメータ候補についての評価結果画面(図16参照)を表示する。
その後、CPU105は、メニュー画面上のボタン412が押下されたか否かを判断する(ステップS230)。ボタン412が押下された場合(ステップS230においてYESの場合)には、CPU105は、選択されたパラメータ候補の内容を接続先の画像処理装置200(または、仮想的な画像処理装置として機能するシミュレータ)へ転送する(ステップS232)。ステップS232の後、もしくは、ボタン412が押下されていない場合(ステップS230においてNOの場合)には、CPU105は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示されたか否かを判断する(ステップS234)。連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示された場合(ステップS234においてYESの場合)には、CPU105は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果画面(図16参照)を表示する(ステップS236)。その後、ステップS230の処理が繰返される。一方、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示されていない場合(ステップS234においてNOの場合)には、処理はステップS238に移る。
ステップS238において、CPU105は、本アプリケーションの終了が指示されたか否かを判断する。終了が指示された場合(ステップS238においてYESの場合)には、CPU105は、処理を終了する。一方、終了が指示されていない場合(ステップS238においてNOの場合)には、ステップS230の処理が繰返される。
<Q.本実施形態の作用効果>
この発明の実施の形態によれば、ユーザは、調整すべきパラメータの項目、パラメータの変動ステップ、およびパラメータの変動範囲を設定するだけで、それぞれのパラメータの値を組み合わせたパラメータ候補についての評価結果の一覧を得ることができる。そのため、ユーザは、一覧表示された評価結果に基づいて、容易に最適なパラメータ候補を選択することができる。
すなわち、ユーザは、調整すべき内容を設定するだけで、それ以外はパラメータ決定支援装置が自動で処理を実行するので、ユーザが現場に張付いて長時間に亘って調整を行う必要がなくなる。そのため、数多くのパラメータを含むパラメータセットであっても、より迅速かつ容易にその最適な値を決定することができる。
また、この発明の実施の形態によれば、パラメータ候補についての判定結果が出力された後、ユーザは、その内容の詳細を確認することもできる。さらに、結果を判定するためのしきい値を事後的に変更することもできるので、ユーザは、特徴量の算出処理に用いられるパラメータを最適化した後で、判定条件に含まれるしきい値をさらに調整するといった方法を採ることもできる。
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを予め定められた配列で予め定められたタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。