(57)【要約】【課題】計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る処理装置に設定されるパラメータをより迅速かつ容易に決定できるパラメータ決定支援装置およびパラメータ決定支援プログラムを提供する。【解決手段】試行された複数のパラメータ候補の各々について、その判定結果および統計的出力が一覧表示されることで、ユーザは、最適なパラメータセットを容易に選択することができる。たとえば、誤検出数がゼロである試行番号「２」，「４」，「５」が安定した処理を行なうことのできるといえ、その中でも、試行番号「２」が最も処理時間が短くて済むので、総合的には、試行番号「２」のパラメータセットが最適であると言える。【選択図】図１６
2010191939.tif 000002
【特許請求の範囲】
【請求項１】
計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置のためのパラメータ決定支援装置であって、
前記画像データおよび当該画像データに対応付けられた期待結果を受付ける入力手段と、
前記パラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた複数のパラメータ候補を生成する候補生成手段と、
前記画像データに対して、前記複数のパラメータ候補のそれぞれを用いた複数の処理結果を取得する取得手段と、
前記複数の処理結果の各々を対応する前記期待結果と比較することで、前記複数の処理結果の各々についての評価結果を生成する評価手段と、
前記複数のパラメータ候補の別に、前記評価結果を出力する出力手段とを備える、パラメータ決定支援装置。
【請求項２】
前記評価手段は、
前記評価結果が満たすべき条件を受付ける手段と、
前記複数のパラメータ候補のそれぞれを用いた前記複数の処理結果のうち、前記条件に最も適合している処理結果を決定する手段とを含み、
前記出力手段は、決定した処理結果を出力する、請求項１に記載のパラメータ決定支援装置。
【請求項３】
前記候補生成手段は、
パラメータ値の変動ステップおよび変動範囲の少なくとも一方の指定を受付ける手段と、
指定された前記パラメータ値の変動ステップおよび／または変動範囲に従って、前記複数のパラメータ候補を生成する手段とを含む、請求項１に記載のパラメータ決定支援装置。
【請求項４】
前記候補生成手段は、前記パラメータの組に含まれるパラメータの値のうち、予め定められた特定のパラメータのみについての指定を受付ける、請求項３に記載のパラメータ決定支援装置。
【請求項５】
前記画像処理装置は、前記画像データに対して行われる処理についてのパラメータの組の設定を受付けるユーザインターフェイスを提供し、前記ユーザインターフェイスでは、前記パラメータの組に含まれるパラメータが視覚的に区分して表示されており、
前記候補生成手段は、前記ユーザインターフェイスにおけるパラメータを表示している視覚的な区分に対応するように、前記パラメータの組に含まれる各パラメータを表示する、請求項３に記載のパラメータ決定支援装置。
【請求項６】
前記入力手段は、複数の計測対象物体からそれぞれ取得された複数の前記画像データと、当該複数の画像データのそれぞれに対応付けられた期待結果とを受付け、
前記取得手段は、前記複数のパラメータ候補の各々について、前記複数の画像データの各々についての評価結果からなる処理結果群を取得する、請求項１に記載のパラメータ決定支援装置。
【請求項７】
前記期待結果は、対応付けられた前記計測対象物体が良品および不良品のいずれであるかを示す期待クラスを含み、
前記取得手段は、前記処理結果として、良品および不良品のいずれであるかを示す値を出力し、
前記評価手段は、前記処理結果群の各々について、それに含まれる複数の処理結果のうち対応する前記期待クラスとの一致度合いを算出する手段を含み、
前記出力手段は、前記一致度合いを出力する、請求項６に記載のパラメータ決定支援装置。
【請求項８】
前記一致度合いは、前記処理結果群の各々について、それに含まれる複数の処理結果のうち対応する前記期待クラスと一致してない処理結果の数である、請求項７に記載のパラメータ決定支援装置。
【請求項９】
前記評価手段は、いずれかのパラメータ候補についての前記処理結果群の生成中に、対応する前記期待クラスと一致してない処理結果の数が予め定められた許容上限値を超えると、当該パラメータ候補についての残りの画像データに対する前記処理結果の生成を打ち切る、請求項８に記載のパラメータ決定支援装置。
【請求項１０】
前記評価手段は、前記複数のパラメータ候補の各々について、対応の前記処理結果群に含まれる処理結果についての統計量を算出する、請求項６に記載のパラメータ決定支援装置。
【請求項１１】
前記出力手段は、前記処理結果群に含まれる処理結果を、対応する前記画像データの別に出力する、請求項６に記載のパラメータ決定支援装置。
【請求項１２】
前記取得手段は、前記処理結果を生成するのに要した処理時間を計測する手段を含み、
前記出力手段は、前記評価結果とともに前記計測された処理時間を出力する、請求項６に記載のパラメータ決定支援装置。
【請求項１３】
前記取得手段は、いずれかのパラメータ候補について、前記複数の画像データに対する処理中に、予め与えられている許容時間を超える前記処理時間が計測されると、当該パラメータ候補についての残りの画像データに対する前記処理結果の取得を打ち切る、請求項１２に記載のパラメータ決定支援装置。
【請求項１４】
前記取得手段は、
前記画像データに対して処理を行うことで、当該画像データについての特徴量を算出する手段と、
前記特徴量を予め与えられたしきい値と比較することで前記処理結果を生成する手段とを含み、
前記出力手段は、前記処理結果群に含まれる処理結果に対応する前記特徴量の分布状態を出力する、請求項６に記載のパラメータ決定支援装置。
【請求項１５】
前記処理結果は、前記画像データ中の予め定められた画像パターンに一致する部分を示す情報を含み、
前記出力手段は、前記画像データに対応した二次元座標上に、画像パターンに一致する部分として抽出された位置を表示する、請求項１４に記載のパラメータ決定支援装置。
【請求項１６】
前記取得手段は、前記複数のパラメータ候補の各々について前記複数の画像データについてのそれぞれの処理結果を取得する処理を、前記複数のパラメータ候補の数だけ繰返す、請求項６に記載のパラメータ決定支援装置。
【請求項１７】
前記取得手段は、前記複数の画像データのうち各々についての前記複数のパラメータ候補についてのそれぞれの処理結果を取得する処理を、前記複数の画像データの数だけ繰返す、請求項６に記載のパラメータ決定支援装置。
【請求項１８】
前記候補生成手段は、複数のパラメータ候補からなる第１パラメータ候補群と、前記第１パラメータ候補群に含まれるパラメータ候補間の変動ステップより小さい変動ステップをもつ第２パラメータ候補群とを生成する手段を含み、
前記取得手段は、前記第１パラメータ候補群に含まれるパラメータ候補についての処理結果を取得した後に、当該取得された処理結果のうち変動対象にすべきパラメータ値を決定し、さらに、当該決定したパラメータ値に応じた前記第２パラメータ候補群に含まれるパラメータ候補についての処理結果を取得する、請求項１に記載のパラメータ決定支援装置。
【請求項１９】
前記入力手段は、第１の計測対象物体を撮像して得られる第１群の画像データおよび当該第１群の画像データに対応付けられた第１群の期待結果と、第２の計測対象物体を撮像して得られる第２群の画像データおよび当該第２群の画像データに対応付けられた第２群の期待結果とを受付け、
前記候補生成手段は、前記第１群の画像データに対して行なわれる処理に係る第１のパラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた第１群の複数のパラメータ候補を生成し、前記第２群の画像データに対して行なわれる処理に係る第２のパラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた第２群の複数のパラメータ候補を生成し、
前記取得手段および前記評価手段は、前記第１群の画像データに対して、前記第１群の複数のパラメータ候補のそれぞれを用いた第１群の複数の処理結果を取得するとともに、当該第１群の複数の処理結果の各々を前記第１群の期待結果のうち対応する期待結果と比較することで、前記第１群の複数の処理結果についての第１の評価結果を生成し、続いて、前記第２群の画像データに対して、前記第２群の複数のパラメータ候補のそれぞれを用いた第２群の複数の処理結果を取得するとともに、当該第２群の複数の処理結果の各々を前記第２群の期待結果のうち対応する期待結果と比較することで、前記第２群の複数の処理結果についての第２の評価結果を生成し、
前記出力手段は、前記取得手段および前記評価手段による処理完了後に、前記第１の評価結果および前記第２の評価結果の少なくとも一方を出力する、請求項１に記載のパラメータ決定支援装置。
【請求項２０】
計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置のためのパラメータ決定支援プログラムであって、前記パラメータ決定支援プログラムは、コンピュータを、
前記画像データおよび当該画像データに対応付けられた期待結果を受付ける入力手段、
前記パラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた複数のパラメータ候補を生成する候補生成手段、
前記画像データに対して、前記複数のパラメータ候補のそれぞれを用いた複数の処理結果を取得する取得手段、
当該生成された複数の処理結果の各々を前記期待結果と比較することで、当該生成された複数の処理結果の各々についての評価結果を生成する評価手段、および、
前記複数のパラメータ候補の別に、前記評価結果を出力する出力手段、として機能させる、パラメータ決定支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置に向けられたものである。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野などにおいては、製造過程の半製品や出荷前の製品といった計測対象物体から各種センサを用いて取得される各種データに対して信号処理などを行った上で、その信号処理されたデータに基づいて、計測対象物体についての検査・計測・判別などがなされることが多い。典型的には、計測対象物体を撮像装置などで撮像することで画像データを取得し、この取得した画像データに基づいて、計測対象物体に生じる欠陥を光学的に検査したり、計測対象物体の特定の部分の大きさを光学的に計測したり、計測対象物体に現われている文字列を検出したりする画像処理装置が普及している（たとえば、特許文献１参照）。
【０００３】
たとえば、特許文献２には、画像データを用いて、物品の外観の良否を判定する外観検査装置で使用される外観検査プログラムなどが開示されている。より具体的には、特許文献２は、正確で信頼性の高い外観検査を行うことことを目的としている。
【０００４】
また、特許文献３には、画像中の抽出対象部位と非抽出対象部位との分離能力が反映された評価値を用いた画像処理アルゴリズム評価方法が開示されている。より具体的には、抽出対象部と非抽出対象部の特徴量についての分離度を定量化することで、抽出対象部のみを抽出する画像処理アルゴリズムの性能評価を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−１０１１３９号公報
【特許文献２】特開２００２−８０１３号公報
【特許文献３】特開２００６−０８５６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上述のような画像処理装置を生産ラインなどに設置する場合には、画像処理および検査処理・計測処理・判別処理などに係るパラメータの組の最適化が非常に手間のかかる作業となっている。すなわち、上述のような画像画像処理装置では、入力された１枚の画像データに対して同様の処理を複数回行った上で、当該画像データに写っている計測対象物体に対する結果が総合的に判断される。また、上述のような画像処理装置における画像処理に係るパラメータの数は比較的多く、かつ１つのパラメータを変更するだけでその画像処理の結果が大きく変動することがある。さらに、パラメータは、計測対象物体に対する検査・計測・判別などを実際に行って、誤判定が生じない、安定した結果が得られるように最適化されなければならない。
【０００７】
そのため、実際のパラメータの組の設定手順としては、パラメータの組をある値の組に設定した後、計測対象物体に対する検査・計測・判別などを実際に行って、当該設定したパラメータの組が適切であるか否かが判断される。そして、不適切であると判断されると、パラメータの組を別の値の組に変更した上で、計測対象物体に対する検査・計測・判別などが再度行なわれる。このようなパラメータの組の設定および実際に取得された画像データに基づく処理結果の評価が、最適なパラメータの組に辿り着くまで反復的に繰返される。
【０００８】
このような反復的な手順を踏むため、パラメータ設定は、非常に人手および日数を要するという課題があった。また、上述したような画像データに限られず、他の各種データに対するパラメータ設定についても同様に手間を要するという場合があった。さらに、十分な経験を積んだ熟練者でなければ、最適なパラメータの組に迅速に辿り着くのは困難であった。
【０００９】
また、上述の特許文献２および３に記載の方法では、予め定められた評価ロジックに従って、必要なパラメータを含む画像処理に係る設定値を自動的に決定する技術が開示されているが、当該予め定められた評価ロジック自体が、すべての計測対象物体について最適であるとは限らない。すなわち、特許文献２および３に開示される技術は、予め定められた評価基準に従って、多数のパラメータを自動的に決定するものであるため、特定の用途に用いられる画像処理装置に適用することはできても、汎用的な（多機能な）画像処理装置に適用することはできなかった。
【００１０】
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置に設定されるパラメータの組をより迅速かつ容易に決定できるパラメータ決定支援装置およびパラメータ決定支援プログラムを提供することである。
【課題を解決するための手段】
【００１１】
この発明のある局面に従えば、計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置のためのパラメータ決定支援装置を提供する。本パラメータ決定支援装置は、画像データおよび当該画像データに対応付けられた期待結果を受付ける入力手段と、パラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた複数のパラメータ候補を生成する候補生成手段と、画像データに対して、複数のパラメータ候補のそれぞれを用いた複数の処理結果を取得する取得手段と、複数の処理結果の各々を対応する期待結果と比較することで、複数の処理結果の各々についての評価結果を生成する評価手段と、複数のパラメータ候補の別に、評価結果を出力する出力手段とを含む。
【００１２】
好ましくは、評価手段は、評価結果が満たすべき条件を受付ける手段と、複数のパラメータ候補のそれぞれを用いた複数の処理結果のうち、条件に最も適合している処理結果を決定する手段とを含み、出力手段は、決定した処理結果を出力する。
【００１３】
好ましくは、候補生成手段は、パラメータ値の変動ステップおよび変動範囲の少なくとも一方の指定を受付ける手段と、指定されたパラメータ値の変動ステップおよび／または変動範囲に従って、複数のパラメータ候補を生成する手段とを含む。
【００１４】
さらに好ましくは、候補生成手段は、パラメータの組に含まれるパラメータの値のうち、予め定められた特定のパラメータのみについての指定を受付ける。
【００１５】
あるいは、さらに好ましくは、画像処理装置は、画像データに対して行われる処理についてのパラメータの組の設定を受付けるユーザインターフェイスを提供し、ユーザインターフェイスでは、パラメータの組に含まれるパラメータが視覚的に区分して表示されており、候補生成手段は、ユーザインターフェイスにおけるパラメータを表示している視覚的な区分に対応するように、パラメータの組に含まれる各パラメータを表示する。
【００１６】
好ましくは、入力手段は、複数の計測対象物体からそれぞれ取得された複数の画像データと、当該複数の画像データのそれぞれに対応付けられた期待結果とを受付け、取得手段は、複数のパラメータ候補の各々について、複数の画像データの各々についての評価結果からなる処理結果群を取得する。
【００１７】
さらに好ましくは、期待結果は、対応付けられた計測対象物体が良品および不良品のいずれであるかを示す期待クラスを含み、取得手段は、処理結果として、良品および不良品のいずれであるかを示す値を出力し、評価手段は、処理結果群の各々について、それに含まれる複数の処理結果のうち対応する期待クラスとの一致度合いを算出する手段を含み、出力手段は、一致度合いを出力する。
【００１８】
さらに好ましくは、一致度合いは、処理結果群の各々について、それに含まれる複数の処理結果のうち対応する期待クラスと一致してない処理結果の数である。
【００１９】
さらに好ましくは、評価手段は、いずれかのパラメータ候補についての処理結果群の生成中に、対応する期待クラスと一致してない処理結果の数が予め定められた許容上限値を超えると、当該パラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。
【００２０】
あるいは、さらに好ましくは、評価手段は、複数のパラメータ候補の各々について、対応の処理結果群に含まれる処理結果についての統計量を算出する。
【００２１】
あるいは、さらに好ましくは、出力手段は、処理結果群に含まれる処理結果を、対応する画像データの別に出力する。
【００２２】
あるいは、さらに好ましくは、取得手段は、処理結果を生成するのに要した処理時間を計測する手段を含み、出力手段は、評価結果とともに計測された処理時間を出力する。
【００２３】
さらに好ましくは、取得手段は、いずれかのパラメータ候補について、複数の画像データに対する処理中に、予め与えられている許容時間を超える処理時間が計測されると、当該パラメータ候補についての残りの画像データに対する処理結果の取得を打ち切る。
【００２４】
あるいは、さらに好ましくは、取得手段は、画像データに対して処理を行うことで、当該画像データについての特徴量を算出する手段と、特徴量を予め与えられたしきい値と比較することで処理結果を生成する手段とを含み、出力手段は、処理結果群に含まれる処理結果に対応する特徴量の分布状態を出力する。
【００２５】
さらに好ましくは、処理結果は、画像データ中の予め定められた画像パターンに一致する部分を示す情報を含み、出力手段は、画像データに対応した二次元座標上に、画像パターンに一致する部分として抽出された位置を表示する。
【００２６】
あるいは、さらに好ましくは、取得手段は、複数のパラメータ候補の各々について複数の画像データについてのそれぞれの処理結果を取得する処理を、複数のパラメータ候補の数だけ繰返す。
【００２７】
あるいは、さらに好ましくは、取得手段は、複数の画像データのうち各々についての複数のパラメータ候補についてのそれぞれの処理結果を取得する処理を、複数の画像データの数だけ繰返す。
【００２８】
好ましくは、候補生成手段は、複数のパラメータ候補からなる第１パラメータ候補群と、第１パラメータ候補群に含まれるパラメータ候補間の変動ステップより小さい変動ステップをもつ第２パラメータ候補群とを生成する手段を含み、取得手段は、第１パラメータ候補群に含まれるパラメータ候補についての処理結果を取得した後に、当該取得された処理結果のうち変動対象にすべきパラメータ値を決定し、さらに、当該決定したパラメータ値に応じた第２パラメータ候補群に含まれるパラメータ候補についての処理結果を取得する。
【００２９】
好ましくは、入力手段は、第１の計測対象物体を撮像して得られる第１群の画像データおよび当該第１群の画像データに対応付けられた第１群の期待結果と、第２の計測対象物体を撮像して得られる第２群の画像データおよび当該第２群の画像データに対応付けられた第２群の期待結果とを受付け、候補生成手段は、第１群の画像データに対して行なわれる処理に係る第１のパラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた第１群の複数のパラメータ候補を生成し、第２群の画像データに対して行なわれる処理に係る第２のパラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた第２群の複数のパラメータ候補を生成し、取得手段および評価手段は、第１群の画像データに対して、第１群の複数のパラメータ候補のそれぞれを用いた第１群の複数の処理結果を取得するとともに、当該第１群の複数の処理結果の各々を第１群の期待結果のうち対応する期待結果と比較することで、第１群の複数の処理結果についての第１の評価結果を生成し、続いて、第２群の画像データに対して、第２群の複数のパラメータ候補のそれぞれを用いた第２群の複数の処理結果を取得するとともに、当該第２群の複数の処理結果の各々を第２群の期待結果のうち対応する期待結果と比較することで、第２群の複数の処理結果についての第２の評価結果を生成し、出力手段は、取得手段および評価手段による処理完了後に、第１の評価結果および第２の評価結果の少なくとも一方を出力する。
【００３０】
この発明の別の局面に従えば、計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置のためのパラメータ決定支援プログラムを提供する。本パラメータ決定支援プログラムは、コンピュータを、画像データおよび当該画像データに対応付けられた期待結果を受付ける入力手段、パラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた複数のパラメータ候補を生成する候補生成手段、画像データに対して、複数のパラメータ候補のそれぞれを用いた複数の処理結果を取得する取得手段、当該生成された複数の処理結果の各々を期待結果と比較することで、当該生成された複数の処理結果の各々についての評価結果を生成する評価手段、および、複数のパラメータ候補の別に、評価結果を出力する出力手段、として機能させる。
【発明の効果】
【００３１】
この発明のある局面に従うパラメータ決定支援装置によれば、計測対象物体を撮像して得られる画像データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置に設定されるパラメータの組をより迅速かつ容易に決定することができる。
【図面の簡単な説明】
【００３２】
【図１】この発明の実施の形態に従うシステム全体を示す図である。
【図２】視覚センサを生産ラインで運用する場合のワークフローの一例を示す図である。
【図３】この発明の実施の形態に従うパラメータの決定手順を示す概念図である。
【図４】この発明の実施の形態に従うパラメータ決定支援装置を実現するコンピュータの概略構成図である。
【図５】この発明の実施の形態に従う画像処理装置を実現するコンピュータの概略構成図である。
【図６】この発明の実施の形態に従う画像処理装置のモニタに表示される画面表示例（その１）を示す図である。
【図７】この発明の実施の形態に従う画像処理装置のモニタに表示される画面表示例（その２）を示す図である。
【図８】この発明の実施の形態に従う画像処理装置で扱われる画像データの一例である。
【図９】この発明の実施の形態に従うパラメータ決定支援装置における処理の概略を説明するための図である。
【図１０】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１１】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１２】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１３】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの別の一例を示す図である。
【図１４】図１３に示すユーザインターフェイス対応する設定画面の要部を示す図である。
【図１５】図１３に示すユーザインターフェイスの表示態様の変化を説明するための図である。
【図１６】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１７】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１８】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図１９】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図２０】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの内容を説明するための図である。
【図２１】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図２２】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図２３】この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの一例を示す図である。
【図２４】この発明の実施の形態に従うパラメータ決定支援装置の制御構造を示す機能ブロック図である。
【図２５】図２４に示すパラメータ決定支援装置において生成されるファイルの構造の示す図である。
【図２６】この発明の実施の形態に従うパラメータ決定支援装置における条件入力のインターフェイスの一例を示す図である。
【図２７】この発明の実施の形態に従うパラメータ決定支援装置における全体処理を示すフローチャート（その１）である。
【図２８】この発明の実施の形態に従うパラメータ決定支援装置における全体処理を示すフローチャート（その２）である。
【図２９】この発明の実施の形態の変形例１に従うパラメータ決定支援装置における全体処理を示すフローチャートである。
【図３０】この発明の実施の形態の変形例２に従うパラメータ決定支援装置における全体処理を示すフローチャートである。
【図３１】この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理の概略を説明するための図である。
【図３２】この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のユーザインターフェイスの一例を示す図である。
【図３３】図３３は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のフローチャートである。
【発明を実施するための形態】
【００３３】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３４】
＜Ａ．概要＞
この発明の実施の形態では、計測対象物体から取得され、当該計測対象物体のもつ物理量を反映した対象データに対して予め定められたパラメータの組を用いた処理を行うことで処理結果を得る画像処理装置について例示する。このような処理装置の典型例として、計測対象物体を撮像して得られる画像データに対して画像処理を行うＦＡ用の画像処理装置について例示する。
【００３５】
すなわち、本実施の形態において説明する画像処理装置は、いわゆる視覚センサと称されるものであり、典型的には、生産ラインなどを流れる計測対象物体（以下「ワーク」とも称す。）を撮像することで得られる画像データを受付け、この画像データに基づいて、ワークに対して欠陥検査、大きさ計測、文字列判別、パターンマッチングなどの各種処理を光学的に実行する。このように、本実施の形態に従う画像処理装置では、ワークから光学的に取得され、ワークの表面の物理的な状態を反映した画像データが用いられる。なお、このような画像処理装置において、本発明に係る「予め定められたパラメータの組を用いた処理」としては、入力された画像データに対する前処理、前処理後の画像データ中の特徴量の計測処理、計測された特徴量に対する判定処理などの一連の処理の全部もしくは一部を含む。
【００３６】
なお、ワークを撮像して得られる画像データを対象データとする場合の他に、計測対象物体（ワーク）のもつ物理量を取得し、その取得した物理量そのもの、その物理量の時間的変化、その物理量に対応した一次元配列もしくは多次元配列、ならびにそれらの配列の時間的変化などを、本発明に係るパラメータ決定支援装置の対象とすることが可能である。より具体的には、たとえば、ワークの物理的な大きさなどを変位センサで取得したデータ、複数の投光素子および受光素子を直線的に配置したセンサ群の各素子で検出されるＯＮ／ＯＦＦ信号の時間的変化を示すデータ、アレイ状に配置された複数の温度センサで検出される温度信号の分布を示すデータなどを、統計的な手法などを用いて処理した上で、ワークについての検査・計測・判別を行うような処理装置などに適用可能である。
【００３７】
この発明の実施の形態に従うパラメータ決定支援装置は、このような画像処理装置に入力される画像データと、当該画像データに対応付けられた期待結果とを受付ける。そして、後述する処理によって、画像処理装置における画像処理に係る最適なパラメータの組の決定を支援する。
【００３８】
ここで、「期待結果」とは、対応の画像データが画像処理装置（本発明に係る画像処理装置に対応）に入力された場合に、生成されるべき処理結果の内容を意味する。典型的には、「期待結果」としては、「期待値」および「期待クラス」を含み得る。
【００３９】
ここで、「期待値」とは、上述のようなパターンマッチングなどの場合における、検出されるべき本来の座標、すなわち、対応付けられた画像データに写っているワークがもつ（あるいは、もつとされる）特徴点の位置情報を含む。また、別の一例として、「期待値」は、上述のような大きさ計測などの場合における、検出されるべきワークの幅、すなわち、対応付けられた画像データに写っているワークがもつ（あるいは、もつとされる）特定位置の幅の大きさを含む。さらに、別の一例として、「期待値」は、上述のようなワークに現われている文字列判別における、判別される本来の文字列、すなわち、対応付けられた画像データに写っているワークに印字等されている文字列を構成する文字の値を含む。さらに、別の一例として、「期待値」は、上述のようなワークに現われている文字列の判別における、判別される本来の文字列、すなわち、対応付けられた画像データに写っているワークに印字等されている文字列を構成する文字の値を含む。さらに、別の一例としては、「期待値」は、たとえばＩＣ（Integrated Circuit）のピン数の検査における、ワークがもつ実際のピンの数を含む。
【００４０】
一方、「期待クラス」とは、上述のようなワークに対する欠陥検査における、検出すべき欠陥の有無、すなわち、対応付けられた画像データに写っているワークが「良品」および「不良品」のいずれであるかを示す属性を含む。また、別の一例として、「期待クラス」には、ワークに対する等級判別の場合における、いずれのランク（たとえば、ランクＡ，Ｂ，Ｃ，…）に該当するかという属性を含む。
【００４１】
なお、１つの画像データに対して、複数の画像処理が並列的に実行される場合も多いため、「期待結果」（「期待値」および／または「期待クラス」）が、特定の種類の値のみ（たとえば、「良品」または「不良品」など）を含むとは限らない。すなわち、１つの画像データに対して異なる領域に対してそれぞれ画像処理が独立に実行される場合などを考えると、第１番目の画像処理の結果が「良品」であったとしても、第２番目の画像処理の結果が「不良品」となる場合があり得る。
【００４２】
このような「期待結果」を受付けると、パラメータ決定支援装置は、上述の各種画像処理に用いられるパラメータ候補を決定する。そして、パラメータ決定支援装置は、各パラメータ候補について、当該パラメータの組に従って画像データに対して画像処理を行うことで得られる結果を、対応する「期待結果」に基づいて評価する。すなわち、パラメータ候補のうち、各画像データに対して画像処理を行った場合に得られる結果が、対応する各画像データに対応付けられた「期待結果」と可能な限り一致するものを選択して決定できるように、パラメータ候補の間で、互いに評価する。そして、パラメータ決定支援装置は、これらのパラメータ候補の別に、評価結果を出力する。
【００４３】
なお、本発明において「出力」とは、実際にパラメータの組を決定するユーザもしくは装置などにその内容を提供することを意味し、典型的には、ディスプレイなどの表示装置にその内容を表わすこと、プリンタ装置などによって紙媒体上などにその内容を表わすこと、外部装置にその内容を表わすデータを送信すること、記憶装置などにその内容を表わすデータを格納することなどを含む。
【００４４】
上述のような構成によって、取り得る範囲が広いパラメータであっても、適切な設定値を迅速かつ容易に決定することができる。
【００４５】
なお、以下の説明では、記載の簡略化のため、「期待値」および「期待クラス」を含む概念として「期待結果」と総称して記載するが、より具体的な説明においては、「期待値」または「期待クラス」との用語を用いて記述する場合もある。
【００４６】
＜Ｂ．全体装置構成＞
図１は、この発明の実施の形態に従うシステム全体を示す図である。
【００４７】
図１を参照して、本実施の形態に従うシステムとしては、パラメータ決定支援装置（以下、単に「支援装置」とも称す。）１００と、画像処理装置２００とを含む。
【００４８】
画像処理装置２００は、撮像部８および光電センサ４と電気的に接続される。撮像部８は、ベルトコンベヤなどの搬送ライン６上を搬送されるワーク２を撮像することで、ワーク２が写った画像データを生成する。画像処理装置２００は、撮像部８で取得された画像データを格納するとともに、各画像データに対して、予め設定されているパラメータの組に従って画像処理を行ない、その処理結果（たとえば、良品または不良品の判断）を出力する。
【００４９】
撮像部８によるワーク２の撮像タイミングは、搬送ライン６の両サイドに配置された光電センサ４（受光部および投光部）によって検出される。すなわち、光電センサ４は、同一の光軸上に配置された受光部と投光部とからなり、投光部から放射される光がワーク２で遮蔽されることを受光部が検出することによって、撮像タイミングを示すトリガ信号が
出力される。また、撮像部８は、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＩＳ（Complementary-metal-oxide-semiconductor Image Sensor）センサといった、撮像素子を含む。なお、撮像部８で生成される画像データは、白黒画像であってもよいし、カラー画像であってもよい。
【００５０】
一方、支援装置１００は、画像処理装置２００に格納されている画像データを受取り、最適なパラメータの組を決定するための処理を実行する。なお、支援装置１００と画像処理装置２００との間の画像データを遣り取りする方法としては、ＵＳＢ（Universal Serial Bus）やイーサネット（登録商標）などの通信手段を用いる方法や、ＳＤ（Secured Digital）カードなどの着脱可能な記憶媒体を用いる方法などを採用することができる。
【００５１】
なお、後述するように、支援装置１００の機能の全部または一部を画像処理装置２００に組入れてもよいが、支援装置１００と画像処理装置２００とを別体とすることで、現場から離れた事務所のデスク上などで、最適なパラメータの組を探索する処理を実行させることができる。
【００５２】
＜Ｃ．設置手順＞
まず、本実施の形態に従う支援装置１００を適用する視覚センサを生産ラインで運用する場合のワークフローについて説明する。
【００５３】
図２は、視覚センサを生産ラインで運用する場合のワークフローの一例を示す図である。図２に示すように、まず、視覚センサを生産ラインに設置するまでの手順として、目的確定フェイズＰＨ１および設置フェイズＰＨ２がある。視覚センサが生産ラインに設置された後の手順として、初期撮像フェイズＰＨ３、設置調整フェイズＰＨ４、本格撮像フェイズＰＨ５、初期設定フェイズＰＨ６、調整フェイズＰＨ７、および運用（改善）フェイズＰＨ８がある。なお、初期撮像フェイズＰＨ３と、設置調整フェイズＰＨ４とは並列的に進行し、本格撮像フェイズＰＨ５と、初期設定フェイズＰＨ６および調整フェイズＰＨ７とについても並列的に進行する。
【００５４】
目的確定フェイズＰＨ１では、作業者は、どのようなワークを検査対象とするか、およびどのような項目の検査をそのワークに行うかを決定する。また、作業者は、ワーク全体のうち、どの範囲を検査対象とするのかを決定する。
【００５５】
続く設置フェイズＰＨ２では、作業者は、設置環境に応じて、レンズおよびカメラの設置方法を検討し、撮像部等を駆動するための電源を確保した上で、必要な機材を設置する。
【００５６】
初期撮像フェイズＰＨ３、設置調整フェイズＰＨ４、本格撮像フェイズＰＨ５、初期設定フェイズＰＨ６では、作業者は、画像処理装置に対して、レンズおよびカメラの種類の選定、および画像処理装置で処理すべき項目を選択する。また、パターンマッチング処理などを実行する場合には、処理項目に応じたモデル登録を行う。さらに、作業者は、各処理項目のパラメータの初期値を設定する。このような各種設定が整った後、テスト的に撮像して得られた画像データに対して、一連のフロー動作を確認する。
【００５７】
以上の作業によって、ワークを撮像する一連の設定（撮像部や撮像環境などの選定）は完了することになる。そして、画像処理装置に設定されるパラメータが試行錯誤的に最適化される。それが、調整フェイズＰＨ７であり、このフェイズでは、作業者は、試験ラインなどで画像処理によって得られる結果を検証するとともに、この検証内容に基づいて、パラメータを最適化する。
【００５８】
調整フェイズＰＨ７でパラメータが調整された後に、運用（改善）フェイズＰＨ８に移り、視覚センサの運用が開始されるが、何らかの誤検出品が発生した場合などには、その要因を確認した上で、パラメータが改善される。なお、誤検出品とは、たとえば、良品であるはずのワークを不良品と誤って判定したものや、不良品であるはずのワークを良品と誤って判定したものを意味する。なお、本明細書において、「安定」という用語は、上述のような誤検出品の発生が少ない状態を意味する。
【００５９】
本実施の形態に従う支援装置１００は、これらのフェイズのうち、調整フェイズＰＨ７および運用（改善）フェイズＰＨ８における処理を効率化することを目的としている。また、一旦、パラメータの調整が完了した後、運用中にロット変動などが生じた場合には、再度パラメータを調整する必要があるが、このような場合にも、本実施の形態に従う支援装置１００を活用することができる。さらに、運用（改善）フェイズＰＨ８において、本実施の形態に従う支援装置１００をインラインで用いることにより、生産ラインにおける状態に応じて、パラメータを動的に変更することもできる。
【００６０】
次に、図３を参照して、本実施の形態に従う支援装置１００を用いて、上述したパラメータの組を決定する概略の手順について説明する。
【００６１】
図３は、この発明の実施の形態に従うパラメータの決定手順を示す概念図である。図３（ａ）には、１つの特定のワークについて、パラメータの組を決定する場合を示す。この場合には、まず、ユーザが調整対象パラメータを設定する（ステップＳ１）。このとき、評価対象の画像データと当該画像データに対応する期待結果とを支援装置１００に対して設定する。この処理については、図１１を参照して、後述する。
【００６２】
これらの設定値が入力されると、支援装置１００は、複数のパラメータ候補を生成し、各パラメータ候補について評価処理を行う（ステップＳ２）。この評価処理の内容については、図１６を参照して後述する。
【００６３】
最終的に、ユーザは、支援装置１００において出力される評価結果を参照しながら、目的の画像処理に最適なパラメータ（あるいは、パラメータの組）を決定する（ステップＳ３）。
【００６４】
ところで、同一の生産ライン上を複数種類のワークが流れる場合も多い。そのような場合には、図３（ｂ）に示すような手順に従って、各ワークについての、画像処理に適したパラメータ（あるいは、パラメータの組）を決定することになる。すなわち、図３（ｂ）に示すように、ワークＡおよびワークＢについてのパラメータを決定する場合には、ワークＡについて、調整対象パラメータ設定（ステップＳ１）、評価処理（ステップＳ２）、パラメータ決定（ステップＳ３）が行われた後、ワークＢについて、調整対象パラメータ設定（ステップＳ４）、評価処理（ステップＳ５）、パラメータ決定（ステップＳ６）が行われる。
【００６５】
しかしながら、上述したように、評価処理（ステップＳ２およびＳ５）は支援装置１００によって自動的に実行されるものの、その他の処理は、ユーザが操作する必要がある。そのため、図３（ｂ）に示すような手順に従って、多数のワークについてのパラメータ決定の処理を行うと、ユーザの作業効率が低下し得る。すなわち、支援装置１００によって実行される評価処理（ステップＳ２およびＳ５）の間は、ユーザが別の作業を行うことは可能であるが、後続する評価処理（ステップＳ３およびＳ６）を行うために、当該別の作業を頻繁に中断せざるを得ない。
【００６６】
そこで、本実施の形態に従う支援装置１００は、図３（ｃ）に示すような手順についてもサポートしている。すなわち、図３（ｃ）に示す手順においては、ユーザは、まず、対象の複数のワークのそれぞれについて、調整対象パラメータを設定する（ステップＳ１およびＳ４）。続いて、調整対象パラメータが設定されたワークの別に、支援装置１００が評価処理を順次実行する（ステップＳ２およびＳ５）。最終的に、ユーザは、支援装置１００において出力される各ワークについての評価結果を参照しながら、各ワークに対する画像処理に最適なパラメータ（あるいは、パラメータの組）を順次決定する（ステップＳ３およびＳ６）。
【００６７】
このように、支援装置１００による評価処理を連続実行することで、支援装置１００を操作するユーザからみれば、当該評価処理の実行時に、まとまった時間を確保することができ、これによって、別の作業を行うことができる。すなわち、ユーザは、各ワークについての調整対象のパラメータ設定を行って支援装置１００を動作させておけば、必要な評価処理のすべてが事後的に得られるので、対象となるワークが多いほど、効率を高めることができる。
【００６８】
以下の説明においては、まず、図３（ａ）に示す手順を実現するための処理や構成について詳述した後、図３（ｃ）に示す手順を実現するための処理や構成について詳述する（後述の＜Ｐ．連続実行処理＞の項）。
【００６９】
＜Ｄ．ハードウェア構成＞
（１  パラメータ決定支援装置）
本実施の形態に従う支援装置１００は、典型的に、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
【００７０】
図４は、この発明の実施の形態に従うパラメータ決定支援装置１００を実現するコンピュータの概略構成図である。
【００７１】
図４を参照して、支援装置１００を実現するコンピュータは、表示装置としてのモニタ１０２と、入力装置としてのキーボード１０３およびマウス１０４と、演算装置（プロセッサ）としてのＣＰＵ（Central Processing Unit）１０５と、記憶装置としてのメモリ１０６および固定ディスク１０７と、記録媒体からのデータ読出装置としてのＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
【００７２】
支援装置１００（コンピュータ）で実行されるプログラムは、典型的には、フレキシブルディスク（ＦＤ：Flexible Disk）１１２もしくはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）１１４に格納されて流通し、またはネットワーク接続された配信サーバ装置などからのダウンロードといった形で流通する。フレキシブルディスク１１２およびＣＤ−ＲＯＭ１１４に格納されたプログラムは、それぞれＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３から読出されて、固定ディスク１０７に一旦格納される。さらに、固定ディスク１０７からメモリ１０６に展開されて、ＣＰＵ１０５により実行される。
【００７３】
ＣＰＵ１０５は、プログラムされた命令を逐次実行することで、各種の演算を実施する。メモリ１０６は、ＣＰＵ１０５でのプログラム実行に応じて、各種の情報についても一時的に格納する。固定ディスク１０７は、ＣＰＵ１０５で実行されるプログラムの他に、処理対象の画像データや各種設定値などを格納する不揮発性の記憶装置である。
【００７４】
キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。このように、キーボード１０３およびマウス１０４で受付けられた指令は、ＣＰＵ１０５へ与えられる。
【００７５】
また、支援装置１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００７６】
（２  画像処理装置）
本実施の形態に従う画像処理装置２００は、支援装置１００と同様に、典型的には、コンピュータがインストールされたプログラムを実行することで具現化される。なお、代替的に、コンピュータがプログラムを実行することで提供される機能の一部もしくは全部を専用のハードウェア回路として具現化してもよい。
【００７７】
図５は、この発明の実施の形態に従う画像処理装置２００を実現するコンピュータの概略構成図である。
【００７８】
図５を参照して、画像処理装置２００を実現するコンピュータは、本体部２０１と、表示装置としてのモニタ２０２と、入力装置としてのキーボード２０３およびマウス２０４とを含む。本体部２０１は、演算装置（プロセッサ）としてのＣＰＵ２０５と、記憶装置としてのメモリ２０６および固定ディスク２０７と、記録媒体からのデータ読出装置としてのＦＤ駆動装置２１１およびＣＤ−ＲＯＭ駆動装置２１３とを含む。さらに、本体部２０１は、本体部２０１の外部との間で信号を遣り取りするためのインターフェイスとして、カメラインターフェイス部２０９と、制御情報インターフェイス部２１５と、センサインターフェイス部２１７とを含む。これらの各部は、バスを介して相互にデータ通信可能に接続されている。
【００７９】
画像処理装置２００（コンピュータ）で実行されるプログラムについても、典型的には、フレキシブルディスク（ＦＤ）２１２もしくはＣＤ−ＲＯＭ２１４に格納されて流通し、またはネットワーク接続された配信サーバ装置などからのダウンロードといった形で流通する。フレキシブルディスク２１２およびＣＤ−ＲＯＭ２１４に格納されたプログラムは、それぞれＦＤ駆動装置２１１およびＣＤ−ＲＯＭ駆動装置２１３から読出されて、固定ディスク２０７に一旦格納される。さらに、固定ディスク２０７からメモリ２０６に展開されて、ＣＰＵ２０５により実行される。
【００８０】
本体部２０１に含まれる構成のうち、ＣＰＵ２０５、メモリ２０６、固定ディスク２０７、ＦＤ駆動装置２１１、およびＣＤ−ＲＯＭ駆動装置２１３については、上述の支援装置１００と同様であるので、詳細な説明は繰返さない。
【００８１】
カメラインターフェイス部２０９は、ＣＰＵ２０５と撮像部８との間のデータ通信を仲介する。より具体的には、カメラインターフェイス部２０９は、画像バッファを含み、撮像部８で撮像されて連続的に伝送される画像データを一旦蓄積し、少なくとも１コマ分の画像データの転送が蓄積されると、その蓄積されたデータをメモリ２０６または固定ディスク２０７へ転送する。また、カメラインターフェイス部２０９は、ＣＰＵ２０５が発生した内部コマンドに従って、撮像部８に対して撮像指令を与える。
【００８２】
制御情報インターフェイス部２１５は、ＣＰＵ２０５と生産ラインを制御する図示しない制御装置（典型的には、ＰＬＣ（Programmable Logic Controller）など）との間のデータ通信を仲介する。制御情報インターフェイス部２１５は、外部の制御装置からライン情報などを受付けて、ＣＰＵ２０５へ出力する。センサインターフェイス部２１７は、上述した光電センサなどからのトリガ信号を受信して、ＣＰＵ２０５へ出力する。
【００８３】
その他の構成については、上述の支援装置１００と同様であるので、詳細な説明は繰返さない。
【００８４】
＜Ｅ．画像処理装置のユーザインターフェイスの例＞
まず、画像処理に係るパラメータについての理解を容易にするために、図２に示す初期設定フェイズＰＨ６における画像処理装置２００におけるユーザインターフェイスの一例について説明する。
【００８５】
図６および図７は、この発明の実施の形態に従う画像処理装置２００のモニタに表示される画面表示例を示す図である。なお、図６および図７には、画像処理の一例として、サーチ処理を処理項目とした場合の例を示す。なお、画像処理装置２００のＣＰＵ２０５および図示しないグラフィックボードなどが協働することで、図６および図７に示すような画面を表示させる。このような画面表示は、ＯＳ（Operating System）の一部として組込まれるＧＵＩ（Graphical User Interface）プログラムによって実現され、またＧＵＩは、ユーザがキーボード２０３やマウス２０４により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行うための環境も提供する。
【００８６】
なお、「サーチ処理」は、ワークの検出すべき特徴部分を画像パターン（モデル）として予め登録しておき、この登録されたモデルと最も似ている部分を画像データから探し出して、位置（画像データ上の座標値）を特定する処理である。この処理においては、特徴量として、どのくらい似ているかを示す類似度（相関値）、特定されたモデルの位置、特定されたモデルの傾きなどがあわせて出力される。このようなサーチ処理は、ある種類のワークに異なる種類のワークが混入したことを検出したり、正しく印字などがされていないワークを検出したりする処理に用いられる。
【００８７】
図６および図７に示すように、サーチ処理についての設定を行うモードでは、一例として、「モデル登録」、「領域設定」、「検出点」、「基準位置」、「計測パラメータ」、「出力パラメータ」の設定項目に対応する計６個のタブが選択可能な画面が表示される。これらの項目のうち、「モデル登録」、「領域設定」、「計測パラメータ」の少なくとも３つの項目についてはユーザによる設定が必要である。
【００８８】
図６を参照して、「モデル登録」のタブ３０１が選択されると、設定画面３００Ａが表示される。この設定画面３００Ａは、モデル登録エリア３０１＃と、画像表示エリア３０４と、全体表示エリア３０６と、表示制御アイコン群３０８とを含む。
【００８９】
画像表示エリア３０４には、撮像部８により取得された画像データが表示される。各種設定中においては、この画像表示エリア３０４に表示される合成画像は、リアルタイムで更新される。全体表示エリア３０６には、画像表示エリア３０４と同様に撮像部８で取得された画像データが表示される。但し、全体表示エリア３０６には、画像表示エリア３０４での表示範囲とは独立して、対象の画像データの全体が表示される。さらに、表示制御アイコン群３０８に対するユーザ操作（拡大もしくは縮小など）に応じて、画像表示エリア３０４に表示される画像データの表示範囲および表示精度が変更される。
【００９０】
一方、モデル登録エリア３０１＃には、モデル編集ボタン３３０と、登録図形表示ボックス３３２と、モデルパラメータ設定エリア３１０と、モデル登録画像エリア３４０とが表示される。
【００９１】
ユーザがサーチすべきモデルを登録する場合には、モデルを含む基準物を、撮像部８を用いて予め取得しておき、この取得された画像データを画像表示エリア３０４および全体表示エリア３０６に表示させた状態で操作を行う。
【００９２】
まず、ユーザは、マウス２０４などを操作してモデル編集ボタン３３０を押下すると、図示しない描画ツールダイアログが表示される。ユーザは、この描画ツールダイアログを操作して、画像表示エリア３０４に表示される画像データの上に重ねてモデルとして登録すべき範囲を指定する。図６には、画像表示エリア３０４上に文字列「８２７３」を含む長方形の範囲がモデルＭＤＬとして設定されている場合を示す。何らかのモデルが登録済である場合には、登録図形表示ボックス３３２に、登録済モデルの形状が表示される（図６の場合には、「長方形」）。なお、モデル登録する形状は、長方形に限られず、丸、扇形、任意の多角形などのいずれの形状であってもよい。
【００９３】
また、登録済のモデルの設定変更などを行う場合には、ユーザはモデル登録画像エリア３４０の必要なボタンを押下する。モデル登録に用いられた画像データが保存されており、後から登録済のモデルに関するパラメータだけを変更することができる。より具体的には、登録画面表示ボタン３４２が押下されると、モデル登録に用いられた画像データが表示される。この登録画面表示ボタン３４２が再度押下されると、現在入力されている画像データの表示に切り替わる。また、モデル再登録ボタン３４４が押下されると、登録済のモデル画像はそのままで、それ以外のパラメータが変更された状態でモデルとして再登録される。さらに、削除ボタン３４６が押下されると、登録済のモデルが削除される。
【００９４】
モデルパラメータ設定エリア３１０は、設定項目として、サーチモードの選択を受付ける。サーチモードは、モデルとどの程度似ているかを評価するアルゴリズムの選択である。このサーチモードについては、ラジオボタン３１２を操作することで、「相関」および「形状」のいずれかを選択できる。「相関」は、入力された画像データの明るさを正規化した上でモデルとの相関値を算出することで類似度を計測するアルゴリズムである。一方、「形状」は、モデルの輪郭形状との一致度に基づいて類似度を計測するアルゴリズムである。一般的には、「相関」モードの方が安定した計測が可能である。
【００９５】
このサーチモードにおいて「相関」が選択されると、「回転」、「安定度」、「精度」の設定が可能となる。一方、サーチモードにおいて「形状」が選択されると、「回転範囲」および「安定度」の設定が可能となる。
【００９６】
「回転」では、ワークが回転するような場合に、登録済のモデルを予め定められた角度ずつ回転させた複数のモデルを内部的に生成し、生成したそれぞれのモデルに基づいて類似度を計測する処理に係るパラメータが指定される。すなわち、回転のチェックボックス３１４がチェックされると、回転の処理が有効化される。そして、数値ボックス３１５に、回転範囲（回転角度上限値および回転角度下限値）および刻み角度がそれぞれ入力されると、回転範囲の範囲にわたって、刻み角度ずつ回転させたモデルを生成することが指定される。一般的には、刻み角度が小さいほど安定性は高くなるが、処理時間は長くなる。なお、高速に回転サーチを行うことが可能なスマートモードを設定することも可能である。
【００９７】
「安定度」では、計測の安定度と処理速度とのいずれを優先するのかが設定される。すなわち、スライドバー３１６は、所定幅（たとえば、１〜１５）の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど安定度が高められる。
【００９８】
「精度」では、計測の位置精度と処理速度とのどちらを優先するのかが設定される。すなわち、スライドバー３１８は、所定幅（たとえば、１〜３）の範囲でいずれかの値に設定され、この設定される値が小さいほど処理時間が短縮され、この値が大きいほど精度が高められる。
【００９９】
上述したような内容がユーザによって設定された後、ＯＫボタン３０７が押下されることで、画像処理装置２００の内部パラメータとして反映される。なお、キャンセルボタン３０９が押下された場合には、未反映のパラメータはリセットされる。このようなモデル登録に続いて、「領域設定」のタブ３０２が選択されると、モデルを探す範囲を指定するための設定画面が表示される（図示しない）。この設定画面では、ユーザは、画像表示エリア３０４上で任意の範囲をサーチ範囲として設定することができる。なお、入力画像データの全体をサーチ範囲とすることもできるが、処理時間を短縮する観点からは、特定の範囲にサーチ範囲を制限することが好ましい。
【０１００】
図７を参照して、領域設定の入力に続いて、「計測パラメータ」のタブ３０３が選択されると、設定画面３００Ｂが表示される。この設定画面３００Ｂは、計測パラメータ設定エリア３０３＃と、画像表示エリア３０４と、全体表示エリア３０６と、表示制御アイコン群３０８とを含む。計測パラメータ設定エリア３０３＃には、判定条件設定エリア３２０と、計測条件設定エリア３５０と、計測ボタン３５２とが表示される。
【０１０１】
計測条件設定エリア３５０は、設定項目として、サブピクセル処理の有効／無効を受付ける。サブピクセル処理は、処理時間が長くなるが、位置情報をサブピクセル単位で計測する。この計測条件設定エリア３５０の項目を設定・変更した場合には、ユーザは、計測ボタン３５２を押下して、正しくサーチ処理が実行可能であるか否かを判断させる。
【０１０２】
判定条件設定エリア３２０は、計測された各座標における類似度（相関値）のうち、登録済のモデルと一致する（「ＯＫ」である）と判定するための条件を受付ける。より具体的には、設定項目として、計測座標Ｘ、計測座標Ｙ、計測角度、相関値の４項目が設定可能である。計測座標Ｘおよび計測座標Ｙでは、それぞれ数値ボックス３２２および３２４にそれぞれ数値範囲が入力されることで、計測された座標値（Ｘ座標値およびＹ座標値）が含まれるべきそれぞれの座標範囲が設定される。計測角度では、数値ボックス３２６に数値範囲が入力されることで、計測されたモデルの回転角度が含まれるべき角度範囲が設定される。さらに、相関値では、数値ボックス３２８に数値範囲が入力されることで、計測されたモデルとの相関値が含まれるべき数値範囲が設定される。
【０１０３】
なお、上述のようなサーチ処理では、入力画像内において、登録されたモデルとの間の類似度を算出する領域を順次更新していくことで、入力画像のいずれの位置（座標）における類似度が高いのかを探索する。したがって、実際の内部処理としては、入力画像内の複数の座標におけるそれぞれの類似度が算出される。そのため、算出されたすべての類似度のうち、最も高い値をもつものに加えて、２番目、３番目に高い類似度をもつものについても検出結果として出力してもよい。
【０１０４】
上述したように、サーチ処理の一例をとってみても、比較的多くの設定項目が存在する。なお、一連の処理に必要なパラメータの組を、以下では「パラメータセット」とも称す。
【０１０５】
＜Ｆ．画像データの期待結果＞
視覚センサなどでは、登録済のモデルと実質的に同一の内容を含む画像データに対しては検出ＯＫを出力し、登録済のモデルと類似してはいるが本質的に異なる内容を含む画像データに対しては検出ＮＧを出力しなければならない。
【０１０６】
たとえば、上述の図６に示すように、文字列「８２７３」を含むモデルＭＤＬが登録されているものとする。このような場合に、図８に示す画像データが入力された場合について考える。図８（ａ）に示すように、登録済のモデルに含まれる文字列「８２７３」と実質的に同一の内容を含む画像データが入力された場合には、計測範囲５１４内のモデルに対応する領域ＤＴＣ１が最も高い類似度（相関値）をもつ領域として抽出される。このとき、領域ＤＴＣ１について計測された類似度（相関値）が必ず判定条件を満たすようにしなければならない。
【０１０７】
一方、図８（ｂ）に示すように、登録済のモデルに含まれる文字列「８２７３」とは１文字だけ異なる文字列「８２７１」を含む画像データが入力された場合には、当該画像データ内において、文字列「８２７１」を含む領域ＤＴＣ２が最も高い類似度（相関値）をもつ領域として抽出される。このとき、領域ＤＴＣ２について計測された類似度（相関値）が必ず判定条件を満たさないようにしなければならない。
【０１０８】
すなわち、文字列「８２７３」を含むモデルＭＤＬが登録されている場合において、図８（ａ）に示す画像データの期待結果（この場合には、期待クラス）は、「ＯＫ」あるいは「良品」であり、図８（ｂ）に示す画像データの期待結果は、「ＮＧ」あるいは「不良品」である。
【０１０９】
このように、本実施の形態に従う支援装置１００では、画像データのそれぞれについて、良品および不良品のいずれであるかといった期待結果が既知である状態を前提とする。
【０１１０】
画像処理装置２００のパラメータの調整フェイズにおいて、実際に画像データを取得する方法としては、生産ラインにテスト用のワークを流して連続的にそれを撮像する。このとき、取得された画像データのそれぞれについて、ユーザが内容を確認した上で、期待結果をそれぞれに対して入力するようにしてもよい。あるいは、より省力化を図る観点からは、予め、「良品」として検出されるべきワークと、「不良品」として検出されるべきワークとを区別しておき、「良品」のワークのみを連続的に撮影し、続いて「不良品」のワークのみを連続的に撮影するといった方法が効率的である。このような方法を用いた場合には、「良品」のワークを撮像して得られた画像データと、「不良品」のワークを撮像して得られた画像データとを、異なるフォルダにそれぞれ格納することで、容易に両者を区別することができる。
【０１１１】
＜Ｇ．概略処理＞
次に、図９を参照して、本実施の形態に従う支援装置１００における処理の概略について説明する。
【０１１２】
図９に示すように、支援装置１００では、主として、画像データに対する画像処理アプリケーション２０、および画像処理の結果（特徴量および判定結果）に対する評価処理アプリケーション３０が連係して処理を実行する。そして、評価処理アプリケーション３０によって出力される評価結果３２に基づいて、最適なパラメータセットが決定される。
【０１１３】
より具体的には、ユーザは、画像処理装置２００において取得された画像データ１２と、当該画像データに対応付けられた期待結果１４とを含むデータセット１０を入力する。また、ユーザは、後述するように、調整すべきパラメータの項目およびその変動ステップや変動範囲などを入力することで、評価対象となる複数のパラメータセットを含むパラメータ候補４０が生成される。画像処理アプリケーション２０は、画像処理装置２００における画像処理と同じ処理を実行するアプリケーション（シミュレータ）であり、生成されたパラメータ候補４０に含まれる各パラメータセットに従って、各画像データに対して、計測処理２２および判定処理２４を繰返し実行する。計測処理２２によって、それぞれの画像データについての、それぞれのパラメータ候補に従う処理を行った場合の特徴量２６が算出される。また、判定処理２４によって、計測処理２２によって算出されたそれぞれの特徴量に対して、判定条件に基づく判定処理を行った結果である判定結果２８が算出される。
【０１１４】
評価処理アプリケーション３０は、各画像データに対応付けられた期待結果１４に基づいて、それぞれの画像データを処理して得られた特徴量２６および／または判定結果２８を評価する。より具体的には、期待結果１４が「良品」および「不良品」のいずれであるかを示す値である場合には、「良品」の期待結果が付与された画像データから得られた判定結果２８が「良品」との結果と一致しているか否かが判断される。また、期待結果１４が画像データに写っている文字列などである場合には、特徴量として得られた文字列と一致しているか否かが判断される。そして、この評価処理アプリケーション３０によって評価された評価結果は、パラメータセットの別に比較可能に出力される。すなわち、支援装置１００は、複数のパラメータ候補をそれぞれ評価して、その中で最適なパラメータセットを選択することを支援する。
【０１１５】
なお、画像処理アプリケーション２０は、支援装置１００が画像処理装置２００と通信可能であれば、その中に必ずしも搭載されていなくともよい。すなわち、支援装置１００は、パラメータ候補の内容を画像処理装置２００に与えた上で、画像データに対して画像処理を実行させ、その画像処理の結果を画像処理装置２００から受取ることで、パラメータ候補を評価してもよい。このように支援装置１００と画像処理装置２００とを同期させることで、処理を進めることもできる。
【０１１６】
＜Ｈ．パラメータ決定支援装置のユーザインターフェイスの例＞
次に、図１０〜図２３を参照して、支援装置１００におけるユーザインターフェイスの一例について説明する。なお、支援装置１００のＣＰＵ１０５および図示しないグラフィックボードなどが協働することで、図１０〜図２３に示すような画面を表示させる。このような画面表示は、ＯＳ（Operating System）の一部として組込まれるＧＵＩ（Graphical User Interface）プログラムによって実現され、またＧＵＩは、ユーザがキーボード１０３やマウス１０４により操作される画面上のカーソルを用いて、さまざまなユーザ設定を行うための環境も提供する。
【０１１７】
（１  変動設定）
まず、支援装置１００において、評価処理アプリケーション３０（図９）の実行がユーザにより指示されると、図１０に示すような入力画面４００Ａが表示される。この入力画面４００Ａでは、画像処理装置２００または画像処理アプリケーション２０を設定するためのボタン４０２と、画像データおよび画像データに対応付けられた期待結果を入力するためのボタン４０４と、調整対象を指定するためのボタン４０６とが選択可能に表示される。
【０１１８】
ユーザがマウス１０４などを操作してボタン４０２を押下すると、図示しない設定ダイアログが表示される。ユーザは、この設定ダイアログ上で、パラメータを調整する対象の画像処理装置２００または画像処理アプリケーション２０を選択する。これにより、評価処理アプリケーション３０と画像処理装置２００または画像処理アプリケーション２０との間の同期が確立される。
【０１１９】
次に、図１１を参照して、ユーザがマウス１０４などを操作してボタン４０４を押下すると、対象となる画像データおよび画像データに対応付けられた期待結果を入力するためのダイアログ４１４などが表示される。ここでは、各画像データが１つのファイルとして存在し、かつそれぞれのファイルはその期待結果（この例では、「良品」（ＯＫ）あるいは「不良品」（ＮＧ）の２通り）に区別されたフォルダ４１６Ａおよび４１６Ｂにそれぞれ格納されているものとする。このとき、ユーザが対象の画像データが格納されているより上位のフォルダ４１６（図１１に示す例では、フォルダ名が「１１１」）を指定することで、「１１１」フォルダ４１６の下位にある「ＯＫ」フォルダ４１６Ａ内にある画像データが「良品」の期待結果に対応付けられており、一方、「ＮＧ」フォルダ４１６Ｂ内にある画像データが「不良品」の期待結果に対応付けられていることが指定される。以下の説明では、「良品」の期待結果に対応付けられた画像を良品画像とも称し、「不良品」の期待結果に対応付けられた画像を不良品画像とも称する。
【０１２０】
なお、画像データおよび画像データに対応付けられた期待結果の入力方法の別形態については後述する。
【０１２１】
さらに、ユーザがマウス１０４などを操作してボタン４０６を押下すると、図示しない設定ダイアログが表示される。ユーザは、この設定ダイアログ上で、パラメータを調整する画像処理の内容（処理項目）を選択する。これにより、調整可能なパラメータの一覧および現在の設定値が取得される。なお、支援装置１００が画像処理装置２００とデータ通信可能に接続されている場合には、画像処理装置２００で設定されている内容が、評価処理アプリケーション３０へ転送され、この転送された内容に基づいて、パラメータの現在値などが判断される。
【０１２２】
以上のような内容の設定が完了すると、パラメータ候補を設定するためのボタン４１０と、パラメータ調整の開始を指示するボタン４０８と、選択されたパラメータ候補を画像処理装置２００などに反映するためのボタン４１２とが選択可能に表示される。
【０１２３】
まず、図１２を参照して、ユーザがマウス１０４などを操作してボタン４１０を押下すると、パラメータの調整を行うためのパラメータ候補を生成するための条件を入力するダイアログ４２０が表示される。なお、先の選択操作によって、上述した図６および図７に示すサーチ処理についてのパラメータ調整が選択されているものとする。
【０１２４】
ダイアログ４２０では、番号フィールド４３２と、項目フィールド４３４と、現在値フィールド４３６と、調整対象フィールド４３８と、変動最小値フィールド４４０と、変動最大値フィールド４４２と、ステップフィールド４４４と、コメントフィールド４４６とを含むテーブルが表示される。このうち、調整対象フィールド４３８、変動最小値フィールド４４０、変動最大値フィールド４４２、ステップフィールド４４４、およびコメントフィールド４４６については、ユーザが任意に設定可能である。
【０１２５】
番号フィールド４３２および項目フィールド４３４には、対応する処理内容（この場合には、サーチ処理）のパラメータセットに含まれるそれぞれの内容が一覧表示される。なお、番号フィールド４３２に表示される番号（ＩＤ）は、内部処理においてパラメータの内容を特定する番号であり、パラメータ毎にユニークに定められている。項目フィールド４３４に表示される項目名は、図６および図７に示すユーザインターフェイスにおいて表示される内容と一致するように定められる。また、現在値フィールド４３６には、パラメータセットに含まれるパラメータ毎に、現在設定されている値が表示される。
【０１２６】
調整対象フィールド４３８は、パラメータセットに含まれるパラメータの各々について、調整対象であるか否かを示すチェックボックスを含む。すなわち、チェックボックスにチェックがなされたパラメータについては、その値を変動させることでパラメータ候補が生成される。
【０１２７】
変動最小値フィールド４４０および変動最大値フィールド４４２では、パラメータ候補を生成するためのパラメータの変動範囲が指定される。また、ステップフィールド４４４では、パラメータ候補を生成するためのパラメータの変動ステップが指定される。
【０１２８】
図１２に示す例では、「安定度（相関）」および「精度」の２つの項目について、調整対象フィールド４３８のチェックボックスがチェックされているので、現在のパラメータセットから、この２つの項目についての値を変更したパラメータ候補が生成されることになる。より具体的には、「安定度（相関）」については、変動最小値および変動最大値がそれぞれ「１０」および「１４」とされており、かつステップが「２」とされているので、「安定度（相関）」を「１０」，「１２」，「１４」の３通りに変動させたパラメータ候補が生成される。また、「精度」については、変動最小値および変動最大値がそれぞれ「２」および「３」とされており、かつステップが「１」とされているので、「安定度（相関）」を「２」および「３」の２通りに変動させたパラメータ候補が生成される。
【０１２９】
その結果、「安定度（相関）」および「精度」の組み合わせとして、合計６通りのパラメータ候補が生成されることになる。
【０１３０】
なお、１つのパラメータ候補についての、画像データに対する画像処理および画像処理結果の評価を含む一連の処理を「試行」とも称する。上記のような設定がなされた場合には、試行数は「６」となる。生成されるパラメータ候補の数を多くなるほど、より多くの処理時間が必要となるので、ユーザがどのようなパラメータをどの程度の範囲で変動させるべきかの目安となるように、設定された内容に応じて、追加される予定の試行数が表示される（試行数表示４２６）。そして、ユーザがマウス１０４などを操作して試行追加ボタン４２２を押下すると、変動設定の内容に従って、パラメータ候補が生成される。なお、生成されたパラメータ候補については、内部的に試行番号が割当てられる。そして、閉じるボタン４２４が押下されると、ダイアログ４２０が閉じられる。
【０１３１】
さらに、ユーザがマウス１０４などを操作して４０８を押下すると、ダイアログ４２０において入力された変動設定に従って、パラメータの評価処理が開始される。
【０１３２】
（２  変動設定の変形例）
上述した図１２に示すユーザインターフェイスに代えて、よりユーザフレンドリなユーザインターフェイスを採用することもできる。以下、図１３〜図１５を参照して、このようなユーザインターフェイスの変形例について説明する。
【０１３３】
図１３は、この発明の実施の形態に従うパラメータ決定支援装置におけるユーザインターフェイスの別の一例を示す図である。図１４は、図１３に示すユーザインターフェイス対応する設定画面の要部を示す図である。図１５は、図１３に示すユーザインターフェイスの表示態様の変化を説明するための図である。
【０１３４】
図１３に示すダイアログ４２０Ａは、基本的には、図１２に示すダイアログ４２０に比較して、項目フィールド４３４に含まれる項目について、各項目が属する分類と対応付けて表示している点（変更点１）と、表示モードを変更するためのラジオボタン４２７を追加した点（変更点２）と、調整対象のみを選択的に表示するためのチェックボックス４２９を追加した点（変更点３）において異なっている。以下、これらの変更点について詳述する。
【０１３５】
まず、変更点１については、ユーザが設定画面３００Ａおよび３００Ｂを用いて画像処理に係る設定を行う際の設定項目との対応付けを明瞭化して、ユーザが一見して各パラメータの内容を理解できるようにすることを目的としている。すなわち、ダイアログ４２０Ａでは、設定画面において「モデル登録」のタブ３０１が選択された場合に表示される設定画面３００Ａ（図６参照）に含まれる項目と、設定画面において「計測パラメータ」のタブ３０３が選択された場合に表示される設定画面３００Ｂ（図７参照）に含まれる項目とを区別できるように、分類フィールド４１７および項目フィールド４３４が表示されている。そのため、ユーザは、たとえば、分類フィールド４１７の「モデル登録」に対応する項目（「安定度（相関）」、「精度」、「安定度（形状）」）が図６に示す設定画面３００Ａにおいて設定可能な項目であることを一見して把握することができる。
【０１３６】
さらに、設定画面上部のユーザが選択可能なタブを視覚的に識別できるように表現するとともに、その視覚的な識別態様でダイアログ４２０Ａを表示してもよい。たとえば、図１４に示すように、設定画面上部の各タブを互いに異なる表示属性（「色」、「パターン」、「模様」など）で表現するとともに、この各タブに付された表示属性と同じ表示属性で、ダイアログ４２０Ａの分類フィールド４１７および項目フィールド４３４が表現されている。このような表示態様によって分類および各分類に属する項目を区分けすることで、ユーザは、その内容を直感的に把握でき、パラメータ候補をより短時間で生成することができる。
【０１３７】
なお、ダイアログ４２０Ａでは、調整対象フィールド４３８、現在値フィールド４３６、変動開始値フィールド４４１、変動終了値フィールド４４３、および、ステップフィールド４４４については、ユーザが任意に設定可能である一方、変動最小値フィールド４４０および変動最大値フィールド４４２については、予め定められた条件下で決定される固定値が設定される。そのため、ダイアログ４２０Ａでは、ユーザが任意に設定可能な項目については、それを示すように、さらに異なる表示態様で表現されている。すなわち、変動最小値フィールド４４０および変動最大値フィールド４４２については、対応する分類フィールド４１７および項目フィールド４３４と同じ表示態様で表現されている一方、調整対象フィールド４３８、現在値フィールド４３６、変動開始値フィールド４４１、変動終了値フィールド４４３、および、ステップフィールド４４４については、対応する分類フィールド４１７および項目フィールド４３４とは異なる表示態様で表現されている。
【０１３８】
次に、変更点２および３については、ユーザのニーズに応じて、必要な項目のみを選択的に表示することで、より効率的な設定を行うことを目的としている。
【０１３９】
すなわち、ラジオボタン４２７では、「標準」および「詳細」のいずれかが選択可能になっており、「標準」が選択されると、設定することが比較的多いと予め想定される項目のみが表示され、「詳細」が選択されると、設定可能なすべての項目が表示される。たとえば、通常の使用では、ユーザは「標準」を選択し、より使用頻度の高い項目についてパラメータを変動対象に設定する。そして、通常の設定では十分な結果を得られない場合や、熟練したユーザなどは、「詳細」を選択して、状況に応じて必要な項目についてパラメータを変動対象に設定する。
【０１４０】
たとえば、図１５（ａ）には、「標準」の表示モードが選択されている場合が示されており、図１５（ｂ）には、「詳細」の表示モードが選択されている場合が示されている。これらの図を比較するとわかるように、図１５（ｂ）に示すダイアログ４２０Ａでは、図１５（ａ）に示すダイアログ４２０Ａにおいて表示されていなかった項目が選択可能に表示されている。
【０１４１】
次に、チェックボックス４２９は、調整対象フィールド４３８がチェックされている項目のみを選択的に表示するか否かの選択を受付ける。すなわち、チェックボックス４２９が選択されると、調整対象フィールド４３８がチェックされている項目のみが表示される。
【０１４２】
たとえば、図１５（ａ）には、調整対象フィールド４３８がチェックされていない（無効になっている）場合が示されており、図１５（ｃ）には、調整対象フィールド４３８がチェックされている（有効になっている）場合が示されている。これらの図を比較するとわかるように、図１５（ｃ）に示すダイアログ４２０Ａでは、図１５（ａ）に示すダイアログ４２０Ａにおいて表示されていた項目のうち、調整対象フィールド４３８がチェックされている項目のみが選択可能に表示されている。
【０１４３】
なお、ラジオボタン４２７およびチェックボックス４２９は、互いに独立した一種のフィルタとして機能する。そのため、ラジオボタン４２７における選択に応じて選択される項目が決定された上で、チェックボックス４２９におけるチェックの有無に応じて、さらに、表示されるべき項目が抽出される。
【０１４４】
さらに、ダイアログ４２０Ａでは、ユーザが選択した項目についての説明表示４３５が表示されてもよい。このような説明表示４３５によって、ユーザは、選択した項目の技術的な意義などをより一層容易に把握できる。
【０１４５】
（３  評価結果）
図１６には、すべての試行が完了した場合に表示される評価結果画面４００Ｂを示す。なお、図１６には、すべての試行が完了した結果を示すが、この結果を試行の完了後に一斉に表示する形態だけでなく、開始とともに枠自体は表示させておき、試行の進行に伴って、対応する数値が順次表示されるようにしてもよい。
【０１４６】
評価結果画面４００Ｂでは、パラメータ候補の別に評価結果が出力される。より具体的には、評価結果画面４００Ｂには、試行番号フィールド４５２と、試行済フィールド４５４と、誤検出フィールド４５６と、良品画像誤検出フィールド４５８と、不良品画像誤検出フィールド４６０と、最大計測時間フィールド４６２と、良品画像相関値平均フィールド４６４と、不良品画像相関値平均フィールド４６６と、良品画像相関値３σフィールド４６８と、不良品画像相関値３σフィールド４７０とを含むテーブルが表示される。
【０１４７】
試行番号フィールド４５２には、先に生成されたパラメータ候補にそれぞれ割当てられた試行番号が昇順に表示される。試行済フィールド４５４には、対応するパラメータ候補についての試行が実行済であるか否かを示すチェックボックスが表示される。
【０１４８】
誤検出フィールド４５６、良品画像誤検出フィールド４５８、および不良品画像誤検出フィールド４６０には、対応するパラメータ候補についての評価結果のうち、誤検出されたものの総数が表示される。より具体的には、良品画像誤検出フィールド４５８には、良品画像を「不良品」と誤って判定した総数が表示され、不良品画像誤検出フィールド４６０には、不良品画像を「良品」と誤って判定した総数が表示される。そして、２つの誤検出数を合計した値が誤検出フィールド４５６に表示される。
【０１４９】
最大計測時間フィールド４６２には、各パラメータ候補についての試行の実行段階において計測された処理時間の最大値が表示される。この処理時間は、支援装置１００において計測された処理時間であり、画像処理装置２００において実際に計測された時間ではないが、画像処理装置２００において画像処理結果を生成するのに要すると見込まれる処理時間に相当する。この最大計測時間フィールド４６２に表示される時間は、パラメータ候補から最適なものを選択する場合に、実際の生産ラインのタクトタイムなどを考慮するための指標となる。
【０１５０】
良品画像相関値平均フィールド４６４、不良品画像相関値平均フィールド４６６、良品画像相関値３σフィールド４６８、および不良品画像相関値３σフィールド４７０には、それぞれの画像データに対して特徴量として計測された類似度（相関値）についての統計的出力値が表示される。すなわち、良品画像相関値平均フィールド４６４には、入力された複数の良品画像に対して計測された相関値全体の平均値が表示され、不良品画像相関値平均フィールド４６６には、入力された複数の不良品画像に対して計測された相関値全体の平均値が表示される。また、良品画像相関値３σフィールド４６８には、入力された複数の良品画像に対して計測された相関値全体のばらつき度合いを示す３σ値が表示され、不良品画像相関値３σフィールド４７０には、入力された複数の不良品画像に対して計測された相関値全体のばらつき度合いを示す３σ値が表示される。
【０１５１】
評価結果画面４００Ｂでは、パラメータ候補のうち、対応する処理結果群に含まれる特徴量が相対的に高いパラメータ候補を他のパラメータ候補とは異なる態様で出力する。図１６に示す例では、良品画像相関値平均が最も高い、試行番号「２」についてアスタリスクマーク４５３が表示される。
【０１５２】
なお、図１６に示す項目は、典型的なサーチ処理によって算出される特徴量などを反映したものであり、画像処理の内容によっては、表示される項目が増加減される。
【０１５３】
図１６に示すように、試行された複数のパラメータ候補の各々について、その判定結果および統計的出力が一覧表示されることで、ユーザは、最適なパラメータセットを容易に選択することができる。たとえば、図１６に示す例では、誤検出数がゼロである試行番号「２」，「４」，「５」が安定した処理を行うことのできるといえ、その中でも、試行番号「２」が最も処理時間が短くて済むので、総合的には、試行番号「２」のパラメータセットが最適であると言える。
【０１５４】
このように最適なパラメータセットが決定された後、ユーザがマウス１０４などを操作して、決定したパラメータ候補の試行番号を入力した後、ボタン４１２（図１１）を押下すると、選択されたパラメータセットの内容が画像処理装置２００に反映される。
【０１５５】
このような一連の手順によって、ユーザは、画像処理装置２００に対するパラメータをより迅速かつ容易に決定できる。
【０１５６】
なお、期待結果として、ロット番号や日付時間などを付加した場合には、ロットや時間単位で判定結果を統計的に分析することもできる。
【０１５７】
（４  詳細評価結果その１）
本実施の形態に従う支援装置１００は、パラメータ候補についての詳細な評価結果を表示することもできる。図１６に示す画面上で、ユーザがマウス１０４などを操作して、試行番号フィールド４５２のいずれかの値を選択すると、図１７〜図１９に示すような画面が表示される。
【０１５８】
図１７には、図１６に示す試行番号「２」の詳細な評価結果を表わす詳細結果画面４００Ｃを示す。図１７を参照して、詳細結果画面４００Ｃでは、選択されたパラメータ候補について算出された特徴量である類似度（相関値）の分布を示す散布図４７２が表示される。この散布図は、画像番号を横軸とし、相関値を縦軸とするグラフである。なお、画像番号は、入力された画像データを識別するために、これらに対して順に割当てられた番号である。図１７には、４３７枚の画像データが入力された場合の結果の一例を示す。
【０１５９】
また、この散布図４７２においては、各画像データの相関値に基づく処理結果（「良品」であるか「不良品」であるかの判定）と、対応付けられた期待結果との一致／不一致に応じて表示態様を異ならせている。
【０１６０】
より具体的には、良品画像についての処理結果が「良品」（ＯＫ）であるもの、すなわち処理結果と期待結果とが一致しているものについては、「■」マークで相関値がプロットされる。一方、良品画像についての処理結果が「不良品」（ＮＧ）であるもの、すなわち処理結果と期待結果とが不一致であるものについては、「×」マークで相関値がプロットされる。同様に、不良品画像についての処理結果が「不良品」（ＮＧ）であるもの、すなわち処理結果と期待結果とが一致しているものについては、「■」マークで相関値がプロットされる。一方、不良品画像についての処理結果が「良品」（ＯＫ）であるもの、すなわち処理結果と期待結果とが不一致であるものについては、「×」マークで相関値がプロットされる。
【０１６１】
なお、良品画像および不良品画像のいずれに基づく判定結果であるのかを明瞭化するために、同じ「■」マークあるいは「×」マークであっても、その色を異なるものにすることで、ユーザがいずれの誤検出であるのかを容易に判別できるようにすることが望ましい。
【０１６２】
さらに、この散布図４７２においては、良品画像および不良品画像のそれぞれに対して計測された相関値全体のばらつき度合いを表わすために、良品画像について計測された相関値の最小値と最大値との幅が着色された帯４７４として表示される。また、この帯４７４に併せて、良品画像について計測された相関値の代表値として、それらの平均値が指示線４７５として表示される。同様に、不良品画像について計測された相関値の代表値として、それらの最小値と最大値との幅が着色された帯４７６として表示され、不良品画像について計測された相関値の平均値が指示線４７７として表示される。
【０１６３】
このような統計的出力が相関値と同じグラフ内に表示されることで、良品画像についての計測された特徴量と、不良品画像についての計測された特徴量との間で、どの程度の識別尤度があるのかを一見して把握することができる。
【０１６４】
さらに、この散布図４７２では、各画像データから計測された相関値に対して、「良品」および「不良品」のいずれであるかを判定する条件としての、しきい値（しきい範囲）が表示される。具体的には、散布図４７２に対応付けて、「良品」と判定されるしきい値として、相関値の下限しきい値を示す指示線４７８Ａおよび相関値の上限しきい値を示す指示線４７８Ｂが表示される。
【０１６５】
ところで、図１７に示すように、特徴量（相関値）の軸上で、良品画像から計測された特徴量の変動範囲（帯４７４）と、不良品画像から計測された特徴量の変動範囲（帯４７６）とが、全く重複しなければ、特徴量を計測する処理に係るパラメータ自体は適切であると判断できる。それにも関わらず、誤検出が発生しているような場合には、しきい値の設定が不適切であると判断できる。たとえば、図１７では、相関値の下限しきい値が「７５％」に設定されているが、この相関値の下限しきい値が「６０％」に設定されていれば、不良品画像についても「良品」と判断してしまうことになる。
【０１６６】
このような場合には、「良品」および「不良品」のいずれであるかを判定する条件のみを変更すればよく、画像データから特徴量を再度計測する必要はない。そのため、図１７に示す散布図４７２では、しきい値（しきい範囲）がユーザによって任意に変更可能に構成される。すなわち、ユーザは、マウス１０４などを操作して、指示線４７８Ａおよび指示線４７８Ｂを相関値の軸に沿って変更することができる。
【０１６７】
このようにしきい値（しきい範囲）が変更されると、支援装置１００は、先に実行された試行によって計測されたそれぞれの特徴量を変更後のしきい値と比較することで、「良品」および「不良品」のいずれであるかの判定を再実行する。そして、その再実行によって得られた判定結果が散布図４７２に反映されて、散布図４７２の表示内容が更新される。
【０１６８】
これに対して、図１８は、図１６に示す試行番号「１」の詳細な評価結果を表わす詳細結果画面４００Ｃを示し、図１９は、図１６に示す試行番号「３」の詳細な評価結果を表わす詳細結果画面４００Ｃを示す。なお、試行番号「１」および「３」では、比較的多くの誤検出が発生している。図１８および図１９に示す散布図４７２では、良品画像から計測された相関値の変動範囲（帯４７４）と、不良品画像から計測された相関値の変動範囲（帯４７６）とが、相関値の軸上で部分的に重複している。そのため、この重複している部分に存在する相関値は、しきい値をどのように設定しても分離することができない。したがって、このような場合には、特徴量を計測する処理に係るパラメータ自体が不適切と判断できる。
【０１６９】
再度、図１７を参照して、詳細結果画面４００Ｃでは、散布図４７２の特徴量（相関値）の軸に対応付けて、特徴量（相関値）のヒストグラム４８０も表示される。このヒストグラム４８０は、相関値を所定範囲に区切った区間毎に、各区間に存在する計測された特徴量の頻度を表わしたものである。このヒストグラム４８０によって、別の観点から、計測された相関値全体のばらつき度合いを確認することができる。
【０１７０】
また、詳細結果画面４００Ｃには、散布図４７２やヒストグラム４８０の表示形態を変更するための制御領域が設けられている。より具体的には、表示されている結果に係る情報を表示するエリア４８２が設けられる。さらに、散布図４７２に表示するマークの表示および変更を行うエリア４８４も設けられる。このエリア４８４には、上述した、良品画像についての処理結果が「良品」（ＯＫ）である場合のマークや、不良品画像についての処理結果が「良品」（ＯＫ）である場合のマークといった、その内容と使用されるマークとの一覧が表示される。さらに、これらの使用されるマークの割当ては、ユーザが任意に変更可能である。
【０１７１】
また、誤検出画像を保存するためのボタン４８５が設けられており、このボタン４８５が押下されると、誤検出が発生している画像が保存され、誤検出の発生原因などの究明に用いられる。なお、詳細結果画面４００Ｃの下段４７１には、試行に用いられた画像データがプレビュー表示される。
【０１７２】
さらに、プルダウンメニュー４８６によって、散布図４７２以外のグラフを表示させることも可能である。後述する図２０〜図２３には、座標分布図を表示する例を示す。また、数値ボックス４８８によって、表示する対象の試行番号を設定することや、数値ボックス４９０によって、画像データの取り込み先を設定することも可能である。
【０１７３】
さらに、散布図４７２の描画設定を行うためのボタン４９２および表示設定を行うためのボタン４９４も設けられている。ボタン４９２が選択されると、計測された相関値の代表値を示す指示線４７５および４７７が、それぞれの画像データから計測された相関値の平均値ではなく、中間値などを示すように変更するためのダイアログ（図示しない）などが表示される。また、ボタン４９４が選択されると、帯４７４および４７６が、計測された相関値のばらつきではなく、それぞれの画像データから計測された分散幅（３σや５σ）などを示すように変更するためのダイアログ（図示しない）などが表示される。また、ヒストグラム４８０を非表示にすることもできる。
【０１７４】
さらに、散布図４７２の横軸の範囲の設定も可能である。より具体的には、ユーザが、散布図４７２として表示させる画像番号を入力することで、指定された画像番号に対応する画像データから計測された相関値のみが散布図４７２内に表示される。さらに、正しく検出された結果のみ、あるいは誤って検出された結果のみ、といった選択的な表示も可能である。
【０１７５】
また、上述の説明では、散布図４７２上に表示される指示線４７８Ａおよび／または４７８Ｂに対するマウス操作によって、しきい値（しきい範囲）が変更される構成について例示したが、数値ボックス４９８に直接的に数値を入力してもよい。
【０１７６】
詳細結果画面４００Ｃには、計測結果の各項目の値を数値表示するボックス４７３も表示される。
【０１７７】
（５  詳細評価結果その２）
上述の図６および図７に示すようなサーチ処理においては、登録済のモデルと一致している（「ＯＫ」である）と判定するための条件として、計測範囲を設定することができる（図７の判定条件設定エリア３２０参照）。このような場合には、このような計測範囲に対応付けて、処理結果を表示することで、ユーザは、判定条件である計測範囲を表示される処理結果に応じて適切に設定することができる。以下、このような場合における、詳細評価結果の表示例について説明する。
【０１７８】
図２０（ａ）には、上述の図６および図７に示す設定画面３００Ａ上で、サーチ処理に係る設定をした場合の稼動モードにおける画面表示例を示す。この図２０（ａ）に示す例では、文字列「８２７３」を含むモデルＭＤＬが予め登録されており、撮像部８により取得された画像データに対して、このモデルＭＤＬについてのサーチ処理が行われた結果が表示されている。この図２０（ａ）に示す例では、サーチ範囲５１２と判定条件である計測範囲５１４とが同一の範囲に設定されているものとする。このサーチ範囲５１２は、予め登録されたモデルＭＤＬとの一致を判断、すなわち、モデルＭＤＬとの間に最も高い類似度（相関値）をもつ領域であるか否かを判断するための対象領域である。また、計測範囲５１４は、モデルＭＤＬと最も高い類似度（相関値）をもつ領域として抽出された範囲が有効なものであるか否かを判断するためのしきい範囲である。
【０１７９】
すなわち、サーチ範囲５１２のいずれかの位置にモデルＭＤＬと最も高い類似度（相関値）をもつ領域が抽出された場合に、当該抽出された位置が計測範囲内であれば、登録済のモデルと一致する（「ＯＫ」である）と判定される。たとえば、具体的な適用例としては、対象の製品にラベルを貼付するような生産ラインなどにおいて、適切な内容のラベルが貼付されているか否かを、モデルＭＤＬと最も高い類似度（相関値）をもつ領域が抽出されるか否かに基づいて判断し、その上で、当該ラベルが適切な位置に貼付されているか否かを、当該抽出された位置が計測範囲内であるか否かに基づいて判断することができる。そのため、サーチ範囲５１２と計測範囲５１４とは、必ずしも一致させる必要はなく、少なくとも、計測範囲５１４よりサーチ範囲５１２を大きく設定すればよい。
【０１８０】
そのため、上述のようなサーチ処理においては、予め登録されたモデルＭＤＬとの間に最も高い類似度（相関値）をもつ領域が抽出された位置を２次元的に表示することが好ましい。そこで、本実施の形態に従う支援装置１００では、図２０（ｂ）に示すような座標分布図を表示することが可能に構成される。
【０１８１】
図２０（ｂ）に示す座標分布図では、撮像部８から入力される画像データに対応付けて、２次元座標５１０（この例では、計測座標Ｘおよび計測座標Ｙ）に関連付けて、対象のサーチ処理において設定されているサーチ範囲５１２が表示される。具体的には、設定されているサーチ範囲５１２に対応する枠が２次元座標５１０上に示される。さらに、対象のサーチ処理において設定されている計測範囲５１４も２次元座標５１０上に表示される。なお、図２０（ｂ）においては、サーチ範囲５１２と計測範囲５１４とが同一の範囲に設定されている場合を示す。
【０１８２】
この計測範囲５１４については、その紙面左右方向の範囲を定義するための指示線５２２および５２４と、その紙面上下方向の範囲を定義するための指示線５３２および５３４とが関連付けて表示されている。より具体的には、２次元座標５１０の紙面上側には、その左右方向の位置を示す目盛り５２０が表示されるとともに、指示線５２２および５２４をそれぞれ操作するためのハンドルが表示される。また、２次元座標５１０の紙面左側には、その上下方向の位置を示す目盛り５３０が表示されるとともに、指示線５３２および５３４をそれぞれ操作するためのハンドルが表示される。そして、ユーザが、いずれかのハンドルを操作すると、その操作に応じて計測範囲５１４が変更される。以下、図２１〜図２３に、詳細結果画面５００の一例を示す。
【０１８３】
図２１には、図２０（ａ）に示す座標分布図を含む詳細結果画面５００の一例を示す。この座標分布図においては、予め登録されたモデルＭＤＬと最も高い類似度（相関値）をもつとして抽出された領域の位置がプロットされるとともに、図１７に示す詳細結果画面４００Ｃと同様に、各画像データの相関値に基づく処理結果（「良品」であるか「不良品」であるかの判定）と対応付けられた期待結果との一致／不一致に応じて異なる態様で表示されている。すなわち、「■」マークまたは「×」マークを用いて、抽出された位置が２次元座標上にプロット表示されている。なお、良品画像および不良品画像のいずれに基づく判定結果であるのかを明瞭化するために、同じ「■」マークあるいは「×」マークであっても、その色を異なるものにすることで、ユーザがいずれの誤検出であるのかを容易に判別できるようにすることが望ましい。
【０１８４】
さらに、図２１に示す詳細結果画面５００においては、サーチ範囲５１２および計測範囲５１４の範囲も共通の２次元座標上に表示されている。そして、ユーザが指示線５２２，５２４，５３２，５３４のいずれかを操作すると、判定条件である計測範囲５１４の現在値が変更されるとともに、その変更後の計測範囲５１４の範囲が２次元座標上に表示される。
【０１８５】
たとえば、図２２には、ユーザが指示線５２２を操作して、計測範囲５１４の紙面左右方向の範囲を縮めた状態を示す。ユーザが指示線５２２をさらに操作して、計測範囲５１４の紙面左右方向の範囲をより縮めた状態を図２３に示す。
【０１８６】
図２２と図２３とを比較するとわかるように、サーチ範囲５１２の中心付近に位置している処理結果５０８についてみれば、計測範囲５１４が相対的に広い場合には「良品」（ＯＫ）と判断されるが、計測範囲５１４が相対的に狭くなると「不良品」（ＮＧ）と判断されることになる。それに伴って、表示も「■」マークから「×」マークへ変更される。
【０１８７】
ユーザは、２次元座標上に表示される処理結果を見ながら、判定条件である計測範囲５１４を適切な範囲に設定することになる。すなわち、ユーザは、誤検出数がゼロもしくはより少なくなるように、計測範囲５１４を調整する。
【０１８８】
なお、判定値条件表示エリア５９８内には、ユーザが調整した計測範囲５１４の範囲を示す値が表示される。
【０１８９】
上述したように、本実施の形態に従う詳細結果画面５００においては、予め登録されたモデルＭＤＬと最も高い類似度（相関値）をもつとして抽出された領域の位置と関連付けて、視覚的に、判定条件である計測範囲５１４を調整できるので、最適な計測範囲５１４を容易に決定することができる。また、本実施の形態においては、計測範囲５１４を調整できるようにしているが、同様の操作方法にてサーチ範囲５１２を調整できるようにしてもよい。
【０１９０】
なお、詳細結果画面５００には、表示されている結果に係る情報を表示するエリア５８２、座標分布図に表示するマークの表示および変更を行うエリア５８４、誤検出画像を保存するためのボタン５８５、プルダウンメニュー５８６、数値ボックス５８８、数値ボックス５９０、座標分布図の描画設定を行うためのボタン５９２、表示設定を行うためのボタン５９４、計測結果の各項目の値を数値表示するボックス５７３を含む。これらは、いずれも、図１７〜図１９に示す詳細結果画面４００Ｃに表示される対応する項目と同様であるので、詳細な説明は繰返さない。また、図１７〜図１９に示す詳細結果画面４００Ｃと同様に、詳細結果画面５００の下段５７１には、試行に用いられた画像データがプレビュー表示される。
【０１９１】
＜Ｉ．期待結果の入力方法＞
画像データに対応付けられた期待結果の入力方法として、それぞれの画像データが格納されたフォルダ名に期待結果の属性を付与する構成を例示したが、以下のような他の構成を採用することもできる。
【０１９２】
（１  画像データのファイル名を用いる構成）
画像データのファイル名の一部に期待結果を示す文字を埋込むことで、期待結果を付与することができる。たとえば、上述の良品画像であれば、「ＯＫ＿ｘｘｘ．ｊｐｇ」とのファイル名を与え、不良品画像であれば、「ＮＧ＿ｘｘｘ．ｊｐｇ」とのファイル名を与えることで、両者を識別することができる。このような方法を採用することで、画像データに対して、個別に期待結果を入力することができる。また、座標位置や幅といった計測値を期待結果とする場合にも、同様の手法で入力することができる。
【０１９３】
（２  画像ファイルのヘッダ部を用いる構成）
画像データのヘッダ部に期待結果を示す埋込むことで、期待結果を付与することができる。たとえば、ｊｐｅｇフォーマットであれば、Ｅｘｉｆ規格に従って、ヘッダ部が用意されているので、この部分に、期待結果の種別（ＯＫまたはＮＧ）、期待結果を示す数値、条件などを格納することができる。より具体的には、期待結果の種別について良品／不良品を示すフラグが格納すればよく、幅などの実寸値の場合は、数値と単位とを格納すればよい。
【０１９４】
（３  定義ファイルを用いる構成）
画像データとは別に、各画像データの期待結果を記述した定義ファイルを用意することで、期待結果を入力することができる。この定義ファイルには、各画像データのファイル名などの識別情報に対応付けて、期待結果の種別（ＯＫまたはＮＧ）、期待結果を示す数値、条件などが記述される。この定義ファイルを用いた場合には、１つの画像データに対して、複数の期待結果を定義することができる。たとえば、同一の画像データに対して、文字列「ＡＢＣ」のサーチ処理、および文字列「ＤＥＦ」のサーチ処理が連続的に実行される場合を考えると、文字列「ＡＢＣ」を含む画像データは、文字列「ＡＢＣ」のサーチ処理にとってみれば良品画像であるが、文字列「ＤＥＦ」のサーチ処理にとってみれば不良品画像となる。したがって、同一の画像データに対して、複数の計測処理や判定処理が実行されるような場合には、処理項目毎に区分して期待結果を付与する必要があり、このような場合に、定義ファイルを用いると効果的である。
【０１９５】
（４  ユーザが個別／一括で設定する構成）
特に、画像データに良品／不良品の期待結果を入力する場合には、支援装置１００上での画像データの選択時に入力するようにしてもよい。すなわち、ユーザは、対象の画像データの選択時に、選択したファイル／フォルダが良品および不良品のいずれであるかを選択する。ここで、ファイル単位で選択すれば期待結果の個別付与となり、フォルダ単位で選択すれば期待結果の一括付与となる。
【０１９６】
＜Ｊ．制御構造＞
図２４は、この発明の実施の形態に従う支援装置１００の制御構造を示す機能ブロック図である。図２４に示す制御構造は、典型的には、支援装置１００のＣＰＵ１０５がプログラムを実行することで提供される。図２５は、図２４に示す支援装置１００において生成されるファイルの構造の示す図である。
【０１９７】
図２４を参照して、本実施の形態に従う支援装置１００は、その制御構造として、入力部１０１０と、候補生成部１０２０と、処理部１０３０と、評価部１０４０と、出力部１０５０とを含む。
【０１９８】
入力部１０１０は、ユーザから対象の画像データの指定、およびそれぞれの画像データに対応付けられた期待結果を受付ける。なお、入力部１０１０は、指定された画像データを自身にコピーすることもできるが、指定された画像データへアクセス可能である場合には、必要に応じて対象の画像データを取得して、その実体データを処理部１０３０へ出力する。より具体的には、入力部１０１０は、画像データの指定に基づいて、対象の画像データと内部的に使用する画像番号とを対応付けた画像リスト１０１１を生成するとともに、画像番号と対応する画像データについての期待結果とを対応付けた期待結果リスト１０１２を生成する。図２５（ａ）に示すように、画像リスト１０１１には、画像番号に対応付けて、対象の画像データの存在する位置およびファイル名が記述される。また、図２５（ｂ）に示すように、期待結果リスト１０１２には、画像番号に対応付けて、期待結果（この例では、良品（ＯＫ）もしくは不良品（ＮＧ））が記述される。
【０１９９】
次に、候補生成部１０２０は、ユーザの指定に応答して、パラメータの組に含まれる少なくとも１つのパラメータ値を互いに異ならせた複数のパラメータセットを含むパラメータ候補４０を生成する。より具体的には、候補生成部１０２０は、入力インターフェイス部１０２１と、パラメータ変更部１０２２と、通信部１０２３とを含む。入力インターフェイス部１０２１は、ユーザ操作に応じて、図１２に示すような、パラメータの調整を行うためのパラメータ候補を生成するための条件を入力するダイアログ４２０を表示する。さらに、入力インターフェイス部１０２１は、ダイアログ４２０に対してユーザが指定した内容をパラメータ変更部１０２２へ出力する。すなわち、入力インターフェイス部１０２１は、パラメータの変動ステップおよび変動範囲の少なくとも一方の指定を受付ける。パラメータ変更部１０２２は、ユーザが指定した項目、およびパラメータの変動ステップおよび／または変動範囲に従って、複数のパラメータ候補を生成する。より具体的には、現在のパラメータセットの値に対して、指定された項目のパラメータ値を指定された変動ステップずつ順次変化させることで、パラメータ候補を順次生成する。これらのパラメータ候補は、処理部１０３０へ出力される。
【０２００】
通信部１０２３は、画像処理装置２００とデータ通信可能に構成され、ユーザ操作に応じて、画像処理装置２００で設定されている処理項目および各パラメータの値などを取得する。また、通信部１０２３は、支援装置１００において決定されたパラメータセットを画像処理装置２００へ転送することもできる。
【０２０１】
次に、処理部１０３０は、指定された画像データに対して、複数のパラメータ候補に従ってそれぞれ画像処理を行うことで複数の処理結果を生成する。より具体的には、処理部１０３０は、画像選択部１０３１と、パラメータ選択部１０３２と、特徴量算出部１０３３と、判定部１０３４と、再判定部１０３６と、時間計測部１０３７と、処理コントローラ１０３８とを含む。
【０２０２】
処理部１０３０における各部の処理は、処理コントローラ１０３８によって制御される。すなわち、入力部に複数の画像データおよびそれらにそれぞれ対応付けられた特徴量が入力された場合には、複数のパラメータ候補の各々について、複数の画像データのそれぞれについての処理結果を順次出力するように、処理コントローラ１０３８が画像選択部１０３１およびパラメータ選択部１０３２を適宜制御する。
【０２０３】
画像選択部１０３１は、処理コントローラ１０３８からの指令に従って、入力部１０１０から対象の画像データを順次選択して、特徴量算出部１０３３へ出力する。また、パラメータ選択部１０３２についても、処理コントローラ１０３８からの指令に従って、候補生成部１０２０から対象のパラメータ候補を順次選択して、特徴量算出部１０３３へ出力する。
【０２０４】
特徴量算出部１０３３は、画像選択部１０３１によって選択された画像データに対して、パラメータ選択部１０３２によって選択されたパラメータ候補に従う画像処理を行うことで、対象の画像データについての特徴量を算出する。特徴量算出部１０３３は、算出した特徴量を判定部１０３４へ出力する。
【０２０５】
判定部１０３４は、特徴量算出部１０３３において算出された特徴量を、予め定められたしきい値と比較することで、対象の画像データについての処理結果を生成する。典型的には、判定部１０３４は、画像データがモデル画像とどの程度似ているかを示す相間値がしきい値以上であれば、モデル画像と一致と判断する。判定部１０３４は、特徴量算出部１０３３で算出された特徴量とともに、判定結果を示す判定結果リスト１０３５を生成する。図２５（ｃ）に示すように、判定結果リスト１０３５には、画像番号に対応付けて、対象の画像データの特徴量および判定結果（この例では、ＯＫまたはＮＧ）が記述される。なお、判定結果リスト１０３５は、試行されたパラメータ候補毎に生成される。
【０２０６】
再判定部１０３６は、図１７〜図１９に示す詳細結果画面４００Ｃにおいて、しきい値（指示線４７８Ａおよび指示線４７８Ｂ）が変更された場合に、そのしきい値の変更を受付ける。そして、再判定部１０３６は、既に特徴量算出部１０３３によって算出されている画像データについての特徴量を変更後のしきい値と比較することで、判定結果を再生成する。この更新された判定結果は、判定結果リスト１０３５に反映される。そして、後述するように、この判定結果リスト１０３５の内容に基づいて、詳細結果画面４００Ｃの表示が更新される。
【０２０７】
時間計測部１０３７は、各パラメータ候補についての特徴量算出部１０３３での処理に要した時間を計測する。すなわち、時間計測部１０３７は、あるパラメータ候補において、１つの画像データの処理結果を生成するのに要した処理時間を計測する。この時間計測部１０３７で計測された処理時間は、図１６に示す評価結果画面４００Ｂの最大計測時間フィールド４６２などの表示される。また、時間計測部１０３７は、計測した処理時間を処理コントローラ１０３８へも出力する。
【０２０８】
処理コントローラ１０３８は、パラメータ候補についての試行の実行に応じて、画像選択部１０３１およびパラメータ選択部１０３２へ指令を与える。また、処理コントローラ１０３８は、ユーザによって指定される許容時間を受付けると、いずれかのパラメータ候補について、画像データに対する処理結果の生成中に当該許容時間を超える処理時間が時間計測部１０３７によって計測されると、当該パラメータ候補についての残りの画像データに対する処理結果の生成を打ち切ることもできる。この許容時間は、対象の画像処理装置が配置される生産ラインのタクトタイムなどに応じて設定される。すなわち、たとえ、安定した画像処理を行うことのできるパラメータ候補であったとしても、処理時間が長くなりすぎたものは、実際の生産ラインに適用できないので、それ以上の評価を行う必要がないからである。このように、適用先の要求に基づいて、明らかに不適格なパラメータ候補についての試行を打ち切ることで、試行全体に要する時間を短縮することができる。
【０２０９】
次に、評価部１０４０は、複数の処理結果の各々を対応する期待結果と比較することで、複数の処理結果の各々についての評価結果を生成する。より具体的には、評価部１０４０は、比較部１０４１と、一致／不一致カウンタ１０４３と、打ち切り処理部１０４４と、統計処理部１０４５と、ヒストグラム生成部１０４６と、決定部１０４７とを含む。
【０２１０】
比較部１０４１は、入力部１０１０から取得した各画像データについての期待結果と、判定部１０３４で生成された判定結果とを比較して、その内容が一致しているか否かを評価する。より具体的には、比較部１０４１は、画像番号に対応付けて、評価結果を示す評価結果リスト１０４２を生成する。図２５（ｄ）に示すように、評価結果リスト１０４２には、画像番号に対応付けて、対象の画像データの判定結果と期待結果との対応関係が記述される。この記述例としては、良品（ＯＫ）の期待結果を付与された画像データに対する評価結果が良品（ＯＫ）であったことを示す「ＯＫ−ＯＫ」や、良品（ＯＫ）の期待結果を付与された画像データに対する評価結果が良品（ＮＧ）であったことを示す「ＯＫ−ＮＧ」などである。なお、一致および不一致のいずれかのみを記述するようにしてもよいが、両者が不一致であった場合、すなわち誤判定が発生した場合に、その詳細を分析することができないので、その種別についても記録しておくことが好ましい。なお、評価結果リスト１０４２は、試行されたパラメータ候補毎に生成される。
【０２１１】
一致／不一致カウンタ１０４３は、比較部１０４１で生成された複数の評価結果リスト１０４２に含まれる評価結果についての対応する期待結果との一致度合いを算出する。より具体的には、一致／不一致カウンタ１０４３は、評価結果リスト１０４２に含まれる評価結果のうち、対応する期待結果と不一致となっているもの（誤検出されたもの）の数をカウントする。なお、「良品」（ＯＫ）の画像データを「不良品」（ＮＧ）と誤判定した数、および「不良品」（ＮＧ）の画像データを「良品」（ＯＫ）と誤判定した数をそれぞれ区別してカウントすることが好ましい。
【０２１２】
打ち切り処理部１０４４は、ユーザによって指定される許容上限値を受付け、いずれかのパラメータ候補について、画像データに対する処理結果の生成中に、対応する期待結果と不一致である処理結果の数が指定された許容上限値を超えると、当該パラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。この許容上限値は、対象の画像処理装置に要求される安定度などに応じて設定される。すなわち、誤検出の数が許容上限値を超えた時点で、安定した画像処理を行うことのできないパラメータ候補であると判断できるので、それ以上の評価を行う必要がないからである。このように、適用先の要求に基づいて、明らかに不適格なパラメータ候補についての試行を打ち切ることで、試行全体に要する時間を短縮することができる。なお、打ち切り処理部１０４４は、打ち切り指示を処理部１０３０の処理コントローラ１０３８へ与える。
【０２１３】
統計処理部１０４５は、処理部１０３０で算出された評価結果についての統計的出力を算出する。より具体的には、統計処理部１０４５は、特徴量算出部１０３３で算出された判定結果リスト１０３５に含まれる相関値の統計量（たとえば、平均値、中間値、最大値、最小値、分散値、標準偏差など）を、パラメータ候補毎に算出する。
【０２１４】
ヒストグラム生成部１０４６は、統計処理部１０４５により算出された統計量に基づいて、特徴量を予め定められた区間に区切ったヒストグラム（度数分布）のデータを、パラメータ候補毎に生成する。
【０２１５】
決定部１０４７は、ユーザによって指定された条件に従って、候補生成部１０２０で生成されたパラメータ候補のうち、最も適切なものを決定する。より具体的には、決定部１０４７は、評価結果が満たすべき条件を受付け、複数のパラメータ候補にそれぞれ従って処理を行うことで生成される処理結果のうち、指定された条件に最も適合している処理結果を決定する。この決定部１０４７における処理については、後述する。
【０２１６】
次に、出力部１０５０は、複数のパラメータ候補の別に、評価部１０４０で生成された評価結果を出力する。より具体的には、出力部１０５０は、各種の出力形態を用意しており、一例として上述した、テーブル出力機能（図１６）、ヒストグラム出力機能（図１７〜図１９）、散布図出力機能（図１７〜図１９）などである。これらの出力形態は、ユーザ操作に応じて適宜切換えられる。出力部１０５０は、テーブル出力機能として、一致／不一致カウンタ１０４３により算出された評価結果についての対応する期待結果との一致度合いや、対応する期待結果と不一致となっている処理結果の数を出力する。さらに、このテーブル出力機能として、出力部１０５０は、評価結果とともに計測された処理時間を出力する。
【０２１７】
また、出力部１０５０は、散布図出力機能として、処理結果群に含まれる処理結果を、対応する画像データの別に比較可能に出力する。すなわち、出力部１０５０は、あるパラメータ候補について、対象となった画像データを一方の軸として、処理結果についての特徴量（相関値）の分布を出力する。このとき、出力される散布図においては、出力部１０５０は、各特徴量に基づく処理結果を対応する期待結果との一致／不一致に応じて異なった表示態様で出力する。また、出力部１０５０は、判定部１０３４に与えられているしきい値（しきい範囲）をこの散布図に対応付けて出力する。なお、散布図において、ユーザがしきい値（しきい範囲）を変更することが可能であり、このしきい値の変更に応答して、再判定部１０３６により判定結果が再生成されると、この再生成された判定結果を散布図に反映する。
【０２１８】
さらに、出力部１０５０は、テーブル出力機能として、複数のパラメータ候補のうち、対応する処理結果群に含まれる特徴量（相関値）が相対的に高いパラメータ候補を、他のパラメータ候補とは異なる態様で出力してもよい。すなわち、最も相関値の平均値が高いパラメータ候補については、赤色表示や点滅表示などによって、目立つように出力することが好ましい。これは、特徴量（相関値）が高いということは、当該パラメータ候補に従う画像処理によって、画像データの特徴をうまく抽出できることを意味するので、このようなパラメータ候補を優先的にユーザに選択してもらうことを促すためである。
【０２１９】
＜Ｋ．条件指定＞
次に、図２６を参照して、評価部１０４０の決定部１０４７（図２４）がパラメータ候補のうち、最も適切なものを選択する条件の入力インターフェイスの一例について例示する。
【０２２０】
ユーザは、上述の図１２に示すダイアログ４２０上でのパラメータ候補についての設定後、図２６に示すようなダイアログ４９９で、いずれの項目を優先するかについて設定する。ダイアログ４９９では、図１６に示す評価結果画面４００Ｂに出力される項目の一覧が表示されており、ユーザは、プルダウンメニューを操作して、優先すべきかを示す優先順を必要な項目に対して設定する。図２６に示す例では、「誤検出数：少」が優先順位「１」に設定されており、「最大計測時間：短」が優先順位「２」に設定されている。
【０２２１】
図２６に示すような条件が設定されると、決定部１０４７は、生成されたパラメータ候補毎の評価結果を参照して、最も誤検出数の少ないパラメータ候補を検索する。この検索の結果、１つに絞ることができれば、そのパラメータ候補が最適なパラメータセットとして決定される。一方、誤検出数の条件だけでは、１つに絞りきることができなかった場合には、その中で、最大計測時間が最も短いパラメータ候補が最適なパラメータセットとして抽出される。
【０２２２】
なお、ユーザによる条件の設定方法としては、図２６に示すユーザインターフェイスによる方法以外にも、さまざまな方法を採用することができる。
【０２２３】
＜Ｌ．処理手順＞
図２７および図２８は、この発明の実施の形態に従う支援装置１００における全体処理を示すフローチャートである。図２７および図２８に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２２４】
図２７および図２８を参照して、ＣＰＵ１０５は、初期化処理の実行後、モニタ１０２にメニュー画面（図１０）を表示する（ステップＳ１００）。続いて、ＣＰＵ１０５は、メニュー画面上のボタン４０２が押下されたか否かを判断する（ステップＳ１０２）。ボタン４０２が押下された場合（ステップＳ１０２においてＹＥＳの場合）には、ＣＰＵ１０５は、接続先の画像処理装置２００（または、仮想的な画像処理装置として機能するシミュレータ）から現在の処理項目および各パラメータの値などを取得する（ステップＳ１０４）。その後、処理はステップＳ１０６に移る。一方、ボタン４０２が押下されていない場合（ステップＳ１０２においてＮＯの場合）には、ステップＳ１０２の処理が繰返される。
【０２２５】
続いて、ＣＰＵ１０５は、メニュー画面上のボタン４０４が押下されたか否かを判断する（ステップＳ１０６）。ボタン４０４が押下された場合（ステップＳ１０６においてＹＥＳの場合）には、ＣＰＵ１０５は、モニタ１０２にダイアログ４１４などを表示して、対象となる画像データおよび画像データに対応付けられた期待結果を受付ける（ステップＳ１０８）。続いて、ＣＰＵ１０５は、画像データの指定に基づいて、対象の画像データと内部的に使用する画像番号とを対応付けた画像リストを生成するとともに、画像番号と対応する画像データについての期待結果とを対応付けた期待結果リストを生成する（ステップＳ１１０）。そして、処理はステップＳ１１２に移る。一方、ボタン４０４が押下されていない場合（ステップＳ１０６においてＮＯの場合）には、ステップＳ１０６の処理が繰返される。
【０２２６】
続いて、ＣＰＵ１０５は、メニュー画面上のボタン４０６が押下されたか否かを判断する（ステップＳ１１２）。ボタン４０６が押下された場合（ステップＳ１１２においてＹＥＳの場合）には、ＣＰＵ１０５は、モニタ１０２にダイアログなどを表示して、パラメータを調整する画像処理の内容（処理項目）を受付ける（ステップＳ１１４）。そして、処理はステップＳ１１６に移る。一方、ボタン４０６が押下されていない場合（ステップＳ１１２においてＮＯの場合）には、ステップＳ１１２の処理が繰返される。
【０２２７】
続いて、ＣＰＵ１０５は、メニュー画面上のボタン４１０が押下されたか否かを判断する（ステップＳ１１６）。ボタン４１０が押下された場合（ステップＳ１１６においてＹＥＳの場合）には、ＣＰＵ１０５は、選択された画像処理の内容（処理項目）に基づいて、モニタ１０２に、パラメータの変動設定を入力するダイアログ４２０を表示する（ステップＳ１１８）。そして、ＣＰＵ１０５は、ダイアログ４２０上に対して入力される、調整すべきパラメータの項目およびその変動ステップや変動範囲などを受付ける（ステップＳ１２０）。その後、ＣＰＵ１０５は、ダイアログ上の試行追加ボタン４２２が押下されたか否かを判断する（ステップＳ１２２）。試行追加ボタン４２２が押下された場合（ステップＳ１２２においてＹＥＳの場合）には、ＣＰＵ１０５は、設定されたパラメータの変動設定に基づいて、パラメータ候補を生成する（ステップＳ１２４）。このとき、ＣＰＵ１０５は、生成したパラメータに試行番号を割当てる。そして、処理はステップＳ１２６に移る。一方、試行追加ボタン４２２が押下されていない場合（ステップＳ１２２においてＮＯの場合）には、ステップＳ１２２の処理が繰返される。なお、ＣＰＵ１０５は、ダイアログ４２０上の閉じるボタン４２４が押下されると、ダイアログ４２０を閉じる。
【０２２８】
続いて、ＣＰＵ１０５は、メニュー画面上のボタン４０８が押下されたか否かを判断する（ステップＳ１２６）。ボタン４０８が押下されていない場合（ステップＳ１２６においてＮＯの場合）には、ステップＳ１２６の処理が繰返される。
【０２２９】
一方、ボタン４０８が押下された場合（ステップＳ１２６においてＹＥＳの場合）には、ＣＰＵ１０５は、パラメータ候補の各々についての値の評価である試行を開始する。具体的には、ＣＰＵ１０５は、最も小さい試行番号（試行番号［０］）に対応するパラメータ候補をセットする（ステップＳ１２８）。そして、ＣＰＵ１０５は、最も小さい画像番号（試行番号［０］）に対応する画像データを取得する（ステップＳ１３０）。そして、ＣＰＵ１０５は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行って、特徴量を算出する（ステップＳ１３２）。その後、ＣＰＵ１０５は、算出した特徴量を試行番号および画像番号に対応付けてファイルに格納する（ステップＳ１３４）。さらに、ＣＰＵ１０５は、算出した特徴量と予め設定されているしきい値とを比較して、対象の画像データに対する判定結果を算出してファイルに格納し（ステップＳ１３６）、さらに、対象の画像データに対応付けられた期待結果に基づいて、算出された判定結果を評価した評価結果を算出してファイルに格納する（ステップＳ１３８）。
【０２３０】
その後、ＣＰＵ１０５は、現在選択中のパラメータ候補に基づく処理が、すべての画像データに対して完了したか否かを判断する（ステップＳ１４０）。すべての画像データに対して未だ完了していない場合（ステップＳ１４０においてＮＯの場合）には、ＣＰＵ１０５は、現在の画像番号の次の画像番号に対応する画像データを取得する（ステップＳ１４２）。そして、ステップＳ１３２以下の処理が繰返される。
【０２３１】
一方、すべての画像データに対して完了した場合（ステップＳ１４０においてＹＥＳの場合）には、ＣＰＵ１０５は、現在の試行番号において算出された特徴量および評価結果についての統計量を算出する（ステップＳ１４４）。その後、ＣＰＵ１０５は、生成されたパラメータ候補のすべてについての処理が完了したか否かを判断する（ステップＳ１４６）。生成されたパラメータ候補についての処理が未完了のものが存在する場合（ステップＳ１４６においてＮＯの場合）には、現在の試行番号の次の試行番号に対応するパラメータ候補をセットする（ステップＳ１４８）。そして、ステップＳ１３０以下の処理が繰返される。
【０２３２】
一方、生成されたパラメータ候補についての処理が完了した場合（ステップＳ１４６においてＹＥＳの場合）には、ＣＰＵ１０５は、先に算出したそれぞれの結果に基づいて、パラメータセットとして適したものを決定する（ステップＳ１５０）。そして、ＣＰＵ１０５は、モニタ１０２に、図１６に示すような評価結果画面を表示する（ステップＳ１５２）。
【０２３３】
その後、ＣＰＵ１０５は、メニュー画面上のボタン４１２が押下されたか否かを判断する（ステップＳ１５４）。ボタン４１２が押下された場合（ステップＳ１５４においてＹＥＳの場合）には、ＣＰＵ１０５は、選択されたパラメータ候補の内容を接続先の画像処理装置２００（または、仮想的な画像処理装置として機能するシミュレータ）へ転送する（ステップＳ１５６）。一方、ボタン４１２が押下されていない場合（ステップＳ１５４においてＮＯの場合）には、ＣＰＵ１０５は、本アプリケーションの終了が指示されたか否かを判断する（ステップＳ１５８）。終了が指示された場合（ステップＳ１５８においてＹＥＳの場合）には、ＣＰＵ１０５は、処理を終了する。一方、終了が指示されていない場合（ステップＳ１５８においてＮＯの場合）には、ステップＳ１５４の処理が繰返される。
【０２３４】
＜Ｍ．変形例１＞
上述の実施の形態に従う支援装置１００における全体処理を示すフローチャートでは、それぞれのパラメータ候補をセットした後、対象の画像データに対して順次処理を実行する手順について例示したが、先に対象の画像データを読出した後、パラメータ候補の各々について処理を実行するようにしてもよい。この方法は、画像データの読出しや転送などに時間を要する環境や、生産ラインを流れるワークを撮像して新たな画像データを生成しながら、並行してパラメータ候補の評価を行う場合に、有効である。
【０２３５】
変形例１に従う全体処理の前半は、図２７に示すフローチャートと同様であるが、後半が、図２９のフローチャートに示すような処理手順となる。なお、図２７に示す内容についての説明は繰返さない。
【０２３６】
図２９を参照して、メニュー画面上のボタン４０８が押下された場合（ステップＳ１２６においてＹＥＳの場合）には、ＣＰＵ１０５は、パラメータ候補の各々についての値の評価である試行を開始する。具体的には、ＣＰＵ１０５は、最も小さい画像番号（試行番号［０］）に対応する画像データを取得する（ステップＳ１６２）。そして、ＣＰＵ１０５は、最も小さい試行番号（試行番号［０］）に対応するパラメータ候補をセットする（ステップＳ１６４）。
【０２３７】
続いて、ＣＰＵ１０５は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行って、特徴量を算出する（ステップＳ１６６）。その後、ＣＰＵ１０５は、算出した特徴量を試行番号および画像番号に対応付けてファイルに格納する（ステップＳ１６８）。さらに、ＣＰＵ１０５は、算出した特徴量と予め設定されているしきい値とを比較して、対象の画像データに対する判定結果を算出して、試行番号に対応付けてファイルに格納し（ステップＳ１７０）、さらに、対象の画像データに対応付けられた期待結果に基づいて、算出された判定結果を評価した評価結果を算出して、試行番号に対応付けてファイルに格納する（ステップＳ１７２）。
【０２３８】
その後、ＣＰＵ１０５は、生成されたパラメータ候補のすべてについての処理が完了したか否かを判断する（ステップＳ１７４）。生成されたパラメータ候補についての処理が未完了のものが存在する場合（ステップＳ１７４においてＮＯの場合）には、現在の試行番号の次の試行番号に対応するパラメータ候補をセットする（ステップＳ１７６）。そして、ステップＳ１６６以下の処理が繰返される。
【０２３９】
一方、生成されたパラメータ候補についての処理が完了した場合（ステップＳ１７４においてＹＥＳの場合）には、ＣＰＵ１０５は、すべての画像データに対して一連の処理が完了したか否かを判断する（ステップＳ１７８）。すべての画像データに対して未だ一連の処理が完了していない場合（ステップＳ１７８においてＮＯの場合）には、ＣＰＵ１０５は、現在の画像番号の次の画像番号に対応する画像データを取得する（ステップＳ１８０）。そして、ステップＳ１６４以下の処理が繰返される。
【０２４０】
一方、すべての画像データに対して一連の処理が完了した場合（ステップＳ１７８においてＹＥＳの場合）には、ＣＰＵ１０５は、それぞれの試行番号において算出された特徴量および評価結果についての統計量をそれぞれ算出する（ステップＳ１８２）。その後、ＣＰＵ１０５は、先に算出したそれぞれの結果に基づいて、パラメータセットとして適したものを決定する（ステップＳ１８４）。そして、ＣＰＵ１０５は、モニタ１０２に、図１６に示すような評価結果画面を表示する（ステップＳ１８６）。
【０２４１】
その後、ＣＰＵ１０５は、メニュー画面上のボタン４１２が押下されたか否かを判断する（ステップＳ１５４）。ボタン４１２が押下された場合（ステップＳ１５４においてＹＥＳの場合）には、ＣＰＵ１０５は、選択されたパラメータ候補の内容を接続先の画像処理装置２００（または、仮想的な画像処理装置として機能するシミュレータ）へ転送する（ステップＳ１５６）。一方、ボタン４１２が押下されていない場合（ステップＳ１５４においてＮＯの場合）には、ＣＰＵ１０５は、本アプリケーションの終了が指示されたか否かを判断する（ステップＳ１５８）。終了が指示された場合（ステップＳ１５８においてＹＥＳの場合）には、ＣＰＵ１０５は、処理を終了する。一方、終了が指示されていない場合（ステップＳ１５８においてＮＯの場合）には、ステップＳ１５４の処理が繰返される。
【０２４２】
＜Ｎ．変形例２＞
上述した各処理における計測時間および／または誤検出数に応じて、不適切と考えられるパラメータ候補についての試行を打ち切る処理を追加した場合の処理手順としては、図３０に示すようなフローチャートとなる。なお、この場合においても、前半の処理手順は図２７に示すフローチャートと同様であるので、詳細な説明は繰返さない。
【０２４３】
図３０は、この発明の実施の形態の変形例２に従う支援装置１００における全体処理を示すフローチャート（後半）である。図３０に示すフローチャートは、図２８に示すフローチャートにおいて、ステップＳ１３３，Ｓ１３９，Ｓ１９２，Ｓ１９４の処理を追加したものである。
【０２４４】
ステップＳ１３２の実行後、ＣＰＵ１０５は、セットされたパラメータ候補に従って、取得した画像データに対して画像処理を行うことで特徴量を算出するのに要した処理時間を計測する（ステップＳ１３３）。
【０２４５】
また、ステップＳ１３８の実行後、ＣＰＵ１０５は、算出された判定結果が対象の画像データに対応付けられた期待結果と不一致である場合に、誤検出数をカウントする（ステップＳ１３９）。これに続いて、ＣＰＵ１０５は、ステップＳ１３４で計測した処理時間が指定されている許容時間を超えているか否かを判断する（ステップＳ１９２）。
【０２４６】
計測した処理時間が設定されている許容時間を超えている場合（ステップＳ１９２においてＹＥＳの場合）には、ＣＰＵ１０５は、現在セットされているパラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。より具体的には、ＣＰＵ１０５は、ステップＳ１４８の処理を実行する。
【０２４７】
計測した処理時間が設定されている許容時間を超えていない場合（ステップＳ１９２においてＮＯの場合）には、ＣＰＵ１０５は、ステップＳ１３９でカウントされた誤検出数が指定された許容上限値を超えているか否かを判断する（ステップＳ１９４）。
【０２４８】
カウントされた誤検出数が指定された許容上限値を超えている場合（ステップＳ１９４においてＹＥＳの場合）には、ＣＰＵ１０５は、現在セットされているパラメータ候補についての残りの画像データに対する処理結果の生成を打ち切る。より具体的には、ＣＰＵ１０５は、ステップＳ１４８の処理を実行する。
【０２４９】
一方、カウントされた誤検出数が指定された許容上限値を超えていない場合（ステップＳ１９４においてＮＯの場合）には、処理はステップＳ１４０に移る。
【０２５０】
図３０に示す処理のうち、その他のステップにおける処理については、図２７と同様であるので、詳細な説明は繰返さない。
【０２５１】
＜Ｏ．２段階調整＞
パラメータセットに含まれるパラメータの種類が多い場合には、いずれのパラメータを調整すべきかを容易には見出すことができない場合がある。そのような場合には、粗調整で調整すべきパラメータを判断した後、その最適値を微調整するような方法も有効である。
【０２５２】
このような場合、支援装置１００は、まず、複数のパラメータ候補からなる粗調整用の第１パラメータ候補群を生成する。そして、ユーザは、これらの第１パラメータ候補群についての評価結果に基づいて、いずれのパラメータ項目を調整すべきかを判断する。この判断内容を支援装置１００に入力することで、支援装置１００は、第１パラメータ候補群に含まれるパラメータ候補間の変動ステップより小さい変動ステップをもつ微調整用の第２パラメータ候補群とを生成する。これらの第２パラメータ候補群についての評価結果に基づいて、適切なパラメータセットを探索する。
【０２５３】
このような２段階もしくはより多くの段階を経ることで、膨大な数のパラメータに対しても、その方向を誤ることなく、最適化することができる。
【０２５４】
＜Ｐ．連続実行処理＞
次に、上述の図３（ｃ）に示す連続実行処理について説明する。
【０２５５】
図３１は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理の概略を説明するための図である。図３２は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のユーザインターフェイスの一例を示す図である。図３３は、この発明の実施の形態に従うパラメータ決定支援装置における連続実行処理時のフローチャートである。
【０２５６】
まず、図３１を参照して、本実施の形態に従う連続実行処理についての処理概略を説明する。図３１に示すように、連続実行処理時には、試行の対象となるワーク（もしくは、画像処理）の別に、評価される複数のパラメータセットを含むパラメータ候補４０−１，４０−２，…，４０−Ｎがそれぞれ設定される。
【０２５７】
より具体的には、ユーザは、上述の図１０〜図１３に示すユーザインターフェイスを用いて、各ワーク（もしくは、画像処理）についてのパラメータ候補を順次生成する。すなわち、ユーザは、図１０〜図１２に示す操作を、少なくとも対象のワークの数だけ繰返す。なお、ユーザが設定したパラメータ候補は、ファイルとして保存されるものとする。その後、ユーザは、図３２に示すような連続試行実行設定ダイアログ６００を用いて、連続実行処理の対象とすべきパラメータ候補（各々が試行対象となる複数のパラメータセットを含む）を選択する。
【０２５８】
この連続試行実行設定ダイアログ６００は、既に作成されているパラメータ候補が一覧表示されるボックス６０２と、連続実行処理の対象に選択されたパラメータ候補が一覧表示されるボックス６０６とを含む。図３２に示す例では、ボックス６０２に表示される、拡張子が「ｂａｋ」のデータの各々が複数のパラメータセットを含む１つのパラメータ候補に相当するとする。ユーザは、ボックス６０２上で、連続実行処理の対象とすべきパラメータ候補に対応するファイル名を選択した上で、追加ボタン６０４を押下する。すると、選択されているファイル（パラメータ候補）がボックス６０６内に追加される。
【０２５９】
上述のような操作によって、連続実行処理の対象となるパラメータ候補を決定した後、ユーザが実行ボタン６０８を押下することで、試行処理が開始される。なお、ユーザがキャンセルボタン６１０を押下すると、処理は中止される。
【０２６０】
また、ボックス６０６に関連付けて、実行順序を変更するためのボタン６１２および６１４が表示される。ボックス６０６内に表示されるファイル（パラメータ候補）を選択した上で、ユーザがボタン６１２または６１４を押下すると、当該選択されたファイルが他のファイルに相対して、上側または下側に移動する。このボックス６０６内に表示されるファイルの順序は、試行の実行順序に対応しており、より上位に表示されているものほど、先に実行される。
【０２６１】
再度、図３１を参照して、画像処理アプリケーション２０は、先に設定されているパラメータ候補４０−１，４０−２，…，４０−Ｎの各々について、計測処理２２および判定処理２４を繰返し実行する。並行して、評価処理アプリケーション３０は、各画像データに対応付けられた期待結果１４に基づいて、それぞれの画像データを処理して得られた特徴量２６および／または判定結果２８を評価する。
【０２６２】
このような処理によって、複数のパラメータ候補４０−１，４０−２，…，４０−Ｎに対応する複数の評価結果３２−１，３２−２，…，３２−Ｎがそれぞれ生成される。ユーザは、これらの複数の評価結果３２−１，３２−２，…，３２−Ｎの各々について、上述の図１６〜図１９および図２１〜図２３に示すような操作を行って、最適なパラメータセットを順次決定する。
【０２６３】
なお、図１０および図１１に示す入力画面４００Ａには、選択されたパラメータ候補を画像処理装置２００などに反映するためのボタン４１２が選択可能に表示される。入力画面４００Ａにおいては、試行対象のパラメータ候補と、当該パラメータ候補に対応する（画像処理装置２００内などの）画像処理設定とが関連付けられており、このボタン４１２が押下されることで、ユーザが調整したパラメータセットの各値が画像処理装置２００内の対応する特定の画像処理フローに反映される。そのため、同一の画像処理装置２００において複数のワーク別に複数の画像処理フローが設定されている場合であっても、ユーザがあるワークについて設定したパラメータセットの値を他のワークについてのパラメータセットの値として誤って反映させてしまうという不具合を回避できる。
【０２６４】
以下、図３３を参照して、本実施の形態に従う連続実行処理時の処理手順について説明する。なお、図３３に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２６５】
まず、ＣＰＵ１０５は、初期化処理の実行後、モニタ１０２にメニュー画面（図１０）を表示する（ステップＳ２００）。続いて、ＣＰＵ１０５は、対象の画像処理装置２００（または、仮想的な画像処理装置として機能するシミュレータ）に設定されている画像処理（ワーク別の画像処理フロー）の取得が要求されたか否かを判断する（ステップＳ２０２）。対象の画像処理装置２００（または、シミュレータ）に設定されている画像処理（ワーク別の画像処理フロー）の取得が要求された場合（ステップＳ２０２においてＹＥＳの場合）には、処理はステップＳ２０４に移る。一方、対象の画像処理装置２００（または、シミュレータ）に設定されている画像処理（ワーク別の画像処理フロー）の取得が要求されていない場合（ステップＳ２０２においてＮＯの場合）には、ステップＳ２０２の処理が繰返される。
【０２６６】
ステップＳ２０４において、ＣＰＵ１０５は、対象の画像処理装置２００（または、シミュレータ）に接続し、設定されている画像処理（ワーク別の画像処理フロー）を取得する。このとき、ユーザは、対象の画像処理装置２００（または、シミュレータ）において、調整対象にしたい画像処理（ワーク別の画像処理フロー）を設定しておく。この処理としては、対象の画像処理装置２００（または、シミュレータ）に予め登録されている１または複数の画像処理のうち、１つを選択して読出すことになる。
【０２６７】
続いて、ＣＰＵ１０５は、図２７に示すステップＳ１０２〜Ｓ１２４と同様の処理を実行する（ステップＳ２０６）。ここでは、これらの処理の詳細な説明は繰返さない。その後、処理はステップＳ２０８に移る。
【０２６８】
ステップＳ２０８において、ＣＰＵ１０５は、上述のステップＳ２０６の処理によって生成されたパラメータ候補（複数のパラメータセット）を定義するデータを保存する。すなわち、図３２に示す拡張子が「ｂａｋ」の複数のファイルのうち、１つのファイルが生成される。その後、処理はステップＳ２１２に移る。
【０２６９】
続いて、ＣＰＵ１０５は、新たなパラメータ候補の生成が要求されたか否かを判断する（ステップＳ２１２）。すなわち、ＣＰＵ１０５は、ユーザがさらに別のパラメータ候補の生成を指示したか否かを判断する。新たなパラメータ候補の生成が要求された場合（ステップＳ２１２においてＹＥＳの場合）には、ステップＳ２０４の処理が繰返される。このとき、ユーザは、対象の画像処理装置２００（または、シミュレータ）において、先に調整対象として設定した画像処理（ワーク別の画像処理フロー）と同一の連続実行処理に含ませることを希望する別の画像処理（ワーク別の画像処理フロー）を設定しておく。
【０２７０】
一方、新たなパラメータ候補の生成が要求されていない場合（ステップＳ２１２においてＮＯの場合）には、処理はステップＳ２１４に移る。
【０２７１】
その後、ＣＰＵ１０５は、モニタ１０２に連続実行処理の対象となるパラメータ候補を選択するための画面（図３２に示す連続試行実行設定ダイアログ６００）を表示する（ステップＳ２１４）。そして、ＣＰＵ１０５は、ユーザ操作に応じて、連続実行処理の対象となるパラメータ候補を選択する（ステップＳ２１６）。さらに、ＣＰＵ１０５は、連続試行実行設定ダイアログ６００上の実行ボタン６０８が押下されたか否かを判断する（ステップＳ２１８）。実行ボタン６０８が押下された場合（ステップＳ２１８においてＹＥＳの場合）には、処理はステップＳ２２０に移る。一方、実行ボタン６０８が押下されていない場合（ステップＳ２１８においてＮＯの場合）には、ステップＳ２１６の処理が繰返される。
【０２７２】
ステップＳ２２０において、ＣＰＵ１０５は、連続実行処理の対象に設定されているパラメータ候補のうち最初のパラメータ候補を選択し、続いて、図２８に示すステップＳ１２８〜Ｓ１５０と同様の処理を実行する（ステップＳ２２２）。ここでは、これらの処理の詳細な説明は繰返さない。その後、処理はステップＳ２２４に移る。
【０２７３】
ステップＳ２２４において、ＣＰＵ１０５は、連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了したか否かを判断する。連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了していない場合（ステップＳ２２４においてＮＯの場合）には、処理はステップＳ２２６に移る。一方、連続実行処理の対象に設定されているすべてのパラメータ候補についての試行が完了している場合（ステップＳ２２４においてＹＥＳの場合）には、処理はステップＳ２２８に移る。
【０２７４】
ステップＳ２２６において、ＣＰＵ１０５は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補を選択し、ステップＳ２２２の処理を繰返す。
【０２７５】
ステップＳ２２８において、ＣＰＵ１０５は、モニタ１０２に、連続実行処理の対象に設定されているパラメータ候補のうち最初のパラメータ候補についての評価結果画面（図１６参照）を表示する。
【０２７６】
その後、ＣＰＵ１０５は、メニュー画面上のボタン４１２が押下されたか否かを判断する（ステップＳ２３０）。ボタン４１２が押下された場合（ステップＳ２３０においてＹＥＳの場合）には、ＣＰＵ１０５は、選択されたパラメータ候補の内容を接続先の画像処理装置２００（または、仮想的な画像処理装置として機能するシミュレータ）へ転送する（ステップＳ２３２）。ステップＳ２３２の後、もしくは、ボタン４１２が押下されていない場合（ステップＳ２３０においてＮＯの場合）には、ＣＰＵ１０５は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示されたか否かを判断する（ステップＳ２３４）。連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示された場合（ステップＳ２３４においてＹＥＳの場合）には、ＣＰＵ１０５は、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果画面（図１６参照）を表示する（ステップＳ２３６）。その後、ステップＳ２３０の処理が繰返される。一方、連続実行処理の対象に設定されているパラメータ候補のうち次のパラメータ候補についての評価結果の表示が指示されていない場合（ステップＳ２３４においてＮＯの場合）には、処理はステップＳ２３８に移る。
【０２７７】
ステップＳ２３８において、ＣＰＵ１０５は、本アプリケーションの終了が指示されたか否かを判断する。終了が指示された場合（ステップＳ２３８においてＹＥＳの場合）には、ＣＰＵ１０５は、処理を終了する。一方、終了が指示されていない場合（ステップＳ２３８においてＮＯの場合）には、ステップＳ２３０の処理が繰返される。
【０２７８】
＜Ｑ．本実施形態の作用効果＞
この発明の実施の形態によれば、ユーザは、調整すべきパラメータの項目、パラメータの変動ステップ、およびパラメータの変動範囲を設定するだけで、それぞれのパラメータの値を組み合わせたパラメータ候補についての評価結果の一覧を得ることができる。そのため、ユーザは、一覧表示された評価結果に基づいて、容易に最適なパラメータ候補を選択することができる。
【０２７９】
すなわち、ユーザは、調整すべき内容を設定するだけで、それ以外はパラメータ決定支援装置が自動で処理を実行するので、ユーザが現場に張付いて長時間に亘って調整を行う必要がなくなる。そのため、数多くのパラメータを含むパラメータセットであっても、より迅速かつ容易にその最適な値を決定することができる。
【０２８０】
また、この発明の実施の形態によれば、パラメータ候補についての判定結果が出力された後、ユーザは、その内容の詳細を確認することもできる。さらに、結果を判定するためのしきい値を事後的に変更することもできるので、ユーザは、特徴量の算出処理に用いられるパラメータを最適化した後で、判定条件に含まれるしきい値をさらに調整するといった方法を採ることもできる。
【０２８１】
［その他の実施の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを予め定められた配列で予め定められたタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０２８２】
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
【０２８３】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【０２８４】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０２８５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２８６】
２  ワーク、４  光電センサ、６  搬送ライン、８  撮像部、１０  データセット、１２  画像データ、１４  期待結果、２０  画像処理アプリケーション、２２  計測処理、２４  判定処理、２６  特徴量、２８  判定結果、３０  評価処理アプリケーション、３２  評価結果、４０  パラメータセット、１００  パラメータ決定支援装置（支援装置）、１０２，２０２  モニタ、１０３，２０３  キーボード、１０４，２０４  マウス、１０６，２０６  メモリ、１０７，２０７  固定ディスク、１１１，２１１  ＦＤ駆動装置、１１２  フレキシブルディスク、１１３，２１３  ＣＤ−ＲＯＭ駆動装置、１１４，２１４  ＣＤ−ＲＯＭ、２００  画像処理装置、２０１  本体部、２０９  カメラインターフェイス部、２１５  制御情報インターフェイス部、２１７  センサインターフェイス部、１０１０  入力部、１０１１  画像リスト、１０１２  期待結果リスト、１０２０  候補生成部、１０２１  入力インターフェイス部、１０２２  パラメータ変更部、１０２３  通信部、１０３０  処理部、１０３１  画像選択部、１０３２  パラメータ選択部、１０３３  特徴量算出部、１０３４  判定部、１０３５  判定結果リスト、１０３６  再判定部、１０３７  時間計測部、１０３８  処理コントローラ、１０４０  評価部、１０４１  比較部、１０４２  評価結果リスト、１０４３  不一致カウンタ、１０４４  処理部、１０４５  統計処理部、１０４６  ヒストグラム生成部、１０４７  決定部、１０５０  出力部。
【図１】
2010191939.tif 000003
【図２】
2010191939.tif 000004
【図３】
2010191939.tif 000005
【図４】
2010191939.tif 000006
【図５】
2010191939.tif 000007
【図９】
2010191939.tif 000008
【図１０】
2010191939.tif 000009
【図１１】
2010191939.tif 000010
【図１２】
2010191939.tif 000011
【図１３】
2010191939.tif 000012
【図１４】
2010191939.tif 000013
【図１５】
2010191939.tif 000014
【図１６】
2010191939.tif 000015
【図２４】
2010191939.tif 000016
【図２５】
2010191939.tif 000017
【図２６】
2010191939.tif 000018
【図２７】
2010191939.tif 000019
【図２８】
2010191939.tif 000020
【図２９】
2010191939.tif 000021
【図３０】
2010191939.tif 000022
【図３１】
2010191939.tif 000023
【図３２】
2010191939.tif 000024
【図３３】
2010191939.tif 000025
【図６】
2010191939.tif 000026
【図７】
2010191939.tif 000027
【図８】
2010191939.tif 000028
【図１７】
2010191939.tif 000029
【図１８】
2010191939.tif 000030
【図１９】
2010191939.tif 000031
【図２０】
2010191939.tif 000032
【図２１】
2010191939.tif 000033
【図２２】
2010191939.tif 000034
【図２３】
2010191939.tif 000035