(57)【特許請求の範囲】
【請求項１】
検査対象物を撮像した撮像画像を検査用データに変換する検査用画像フィルタを更新する画像処理装置であって、
前記検査用画像フィルタにより前記撮像画像を前記検査用データに変換する変換部と、
前記検査用データに基づいて不良品と判断された前記検査対象物が、二次検査により良品と判断された場合に、当該検査対象物の前記撮像画像を良品と判断される検査用データに変換させるように前記検査用画像フィルタを更新する更新部と、
学習用入力画像を学習用出力データに変換するのに適応させた前記検査用画像フィルタを生成する生成部と、
を備え、
前記生成部は、入力画像を出力画像または出力データにそれぞれ変換する複数のフィルタ部品を組み合わせて、前記学習用入力画像を前記学習用出力データにより近いデータに変換する前記検査用画像フィルタを生成するとともに、
前記複数のフィルタ部品を組み合わせた少なくとも１つの画像フィルタを含むフィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第１フィルタ生成部と、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記学習用入力画像から前記学習用出力データへの変換に対する第１適合度がより高い画像フィルタを、前記検査用画像フィルタとして選択する第１フィルタ選択部と、
を有し、
前記更新部は、
前記検査用画像フィルタを含む前記フィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第２フィルタ生成部と、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記検査用データに基づいて不良品と判断され、かつ前記二次検査により良品と判断された前記検査対象物の前記撮像画像から良品と判断される検査用データへの変換に対する第２適合度がより高い画像フィルタを、前記検査用画像フィルタとして優先的に選択する第２フィルタ選択部と、
を有する画像処理装置。
【請求項２】
前記第２フィルタ選択部は、前記フィルタ群に含まれる前記複数の画像フィルタの中から、前記第１適合度および前記第２適合度に基づいて、前記検査用画像フィルタを選択する
請求項１に記載の画像処理装置。
【請求項３】
前記変換部は、前記検査用画像フィルタにより前記撮像画像を検査用画像に変換し、
前記更新部は、前記検査用画像に基づいて不良品と判断された前記検査対象物が、前記二次検査により良品と判断された場合に、当該検査対象物の前記撮像画像を良品と判断される検査用画像に変換させるように前記検査用画像フィルタを更新する
請求項１または２に記載の画像処理装置。
【請求項４】
前記更新部は、前記良品と判断される検査用画像として、不良と判断すべき箇所を含まない均一画像を用いる
請求項３に記載の画像処理装置。
【請求項５】
検査対象物を撮像した撮像画像を検査用データに変換する検査用画像フィルタを更新する画像処理方法であって、
前記検査用画像フィルタにより前記撮像画像を前記検査用データに変換する変換ステップと、
前記検査用データに基づいて不良品と判断された前記検査対象物が、二次検査により良品と判断された場合に、当該検査対象物の前記撮像画像を良品と判断される検査用データに変換させるように前記検査用画像フィルタを更新する更新ステップと、
学習用入力画像を学習用出力データに変換するのに適応させた前記検査用画像フィルタを生成する生成ステップと、
を備え、
前記生成ステップは、入力画像を出力画像または出力データにそれぞれ変換する複数のフィルタ部品を組み合わせて、前記学習用入力画像を前記学習用出力データにより近いデータに変換する前記検査用画像フィルタを生成するとともに、
前記複数のフィルタ部品を組み合わせた少なくとも１つの画像フィルタを含むフィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第１フィルタ生成ステップと、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記学習用入力画像から前記学習用出力データへの変換に対する第１適合度がより高い画像フィルタを、前記検査用画像フィルタとして選択する第１フィルタ選択ステップと、
を有し、
前記更新ステップは、
前記検査用画像フィルタを含む前記フィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第２フィルタ生成ステップと、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記検査用データに基づいて不良品と判断され、かつ前記二次検査により良品と判断された前記検査対象物の前記撮像画像から良品と判断される検査用データへの変換に対する第２適合度がより高い画像フィルタを、前記検査用画像フィルタとして優先的に選択する第２フィルタ選択ステップと、
を有する画像処理方法。
【請求項６】
検査対象物を撮像した撮像画像を検査用データに変換する検査用画像フィルタを更新する画像処理装置としてコンピュータを機能させる画像処理プログラムであって、
検査対象物を撮像した撮像画像を検査用データに変換する検査用画像フィルタを更新する画像処理装置であって、
前記検査用画像フィルタにより前記撮像画像を前記検査用データに変換する変換部と、
前記検査用データに基づいて不良品と判断された前記検査対象物が、二次検査により良品と判断された場合に、当該検査対象物の前記撮像画像を良品と判断される検査用データに変換させるように前記検査用画像フィルタを更新する更新部と、
学習用入力画像を学習用出力データに変換するのに適応させた前記検査用画像フィルタを生成する生成部と、
を備え、
前記生成部は、入力画像を出力画像または出力データにそれぞれ変換する複数のフィルタ部品を組み合わせて、前記学習用入力画像を前記学習用出力データにより近いデータに変換する前記検査用画像フィルタを生成するとともに、
前記複数のフィルタ部品を組み合わせた少なくとも１つの画像フィルタを含むフィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第１フィルタ生成部と、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記学習用入力画像から前記学習用出力データへの変換に対する第１適合度がより高い画像フィルタを、前記検査用画像フィルタとして選択する第１フィルタ選択部と、
を有し、
前記更新部は、
前記検査用画像フィルタを含む前記フィルタ群から、遺伝的処理により新たな画像フィルタを生成して前記フィルタ群に加える第２フィルタ生成部と、
前記フィルタ群に含まれる複数の画像フィルタのうち、前記検査用データに基づいて不良品と判断され、かつ前記二次検査により良品と判断された前記検査対象物の前記撮像画像から良品と判断される検査用データへの変換に対する第２適合度がより高い画像フィルタを、前記検査用画像フィルタとして優先的に選択する第２フィルタ選択部と、
を有する画像処理装置として機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている（非特許文献１参照）。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】前薗正宜  他２名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、［ｏｎｌｉｎｅ］、コンピュータ利用教育協議会、［２００８年３月２０日検索］、インターネット＜URL：http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像フィルタを製品等の検査に用いる場合、検査対象物が検査において適正に判断されるように、進化的計算を用いて画像フィルタを生成する。しかしながら、当該画像フィルタを用いた検査において不良品と判断された検査対象物が、二次検査等によって良品と認められることもありうる。
【０００５】
そこで本発明は、上記の課題を解決することのできる画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の態様においては、検査対象物を撮像した撮像画像を検査用データに変換する検査用画像フィルタを更新する画像処理装置であって、検査用画像フィルタにより撮像画像を検査用データに変換する変換部と、検査用データに基づいて不良品と判断された検査対象物が、二次検査により良品と判断された場合に、当該検査対象物の撮像画像を良品と判断される検査用データに変換させるように検査用画像フィルタを更新する更新部と、を備える画像処理装置、並びに当該画像処理装置に関する画像処理方法、および画像処理プログラムを提供する。
【０００７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る画像処理装置１０の構成を示す。
【図２】本実施形態に係るフィルタ部品２２を直列に組み合わせた画像フィルタ２０の一例を示す。
【図３】本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０の一例を示す。
【図４】本実施形態に係るフィルタ部品２２を直列に組み合わせた画像フィルタ２０に対して行われる遺伝的な操作の一例を示す。
【図５】本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０に対して行われる交叉操作の一例を示す。
【図６】本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【図７】本実施形態に係る画像フィルタ２０の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。
【図８】本実施形態に係る画像処理装置１０の動作フローの一例を示す。
【図９】図８のステップＳ１０１における検査用画像フィルタ２０を生成するまでの処理フローの一例を示す。
【図１０】図８のステップＳ１０５における検査用画像フィルタ２０を更新するまでの処理フローの一例を示す。
【図１１】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、本実施形態に係る画像処理装置１０の構成を示す。画像処理装置１０は、少なくとも１つの画像フィルタ２０を含む画像フィルタ群を進化的計算に基づいて複数世代にわたり進化させる。ここで、画像処理装置１０は、検査対象物の二次検査の結果に応じて、画像フィルタ２０を再学習させる。本実施形態において、各画像フィルタ２０は、入力画像を処理して処理結果を出力画像または出力データとして出力する複数のフィルタ部品を含み、より具体的には、これらの入出力間を組み合わせたものである。そして、画像処理装置１０は、撮像画像を検査用データに変換するのに適した検査用画像フィルタ２０を生成する。画像処理装置１０は、一例として、コンピュータにより実現される。
【００１１】
画像処理装置１０は、フィルタ格納部３４と、生成部５０と、撮像画像格納部３７と、変換部３９と、検査用データ格納部４７と、更新指示部５３と、更新部４８とを備える。フィルタ格納部３４は、互いに異なる構成の１又は複数の画像フィルタ２０を含む画像フィルタ群を格納する。
【００１２】
生成部５０は、学習用入力画像を学習用出力データに変換するのに適応させた検査用の画像フィルタ２０を生成する。生成部５０は、一例として、フィルタ格納部３４に格納されたフィルタ群から遺伝的処理により検査用画像フィルタ２０を生成する。生成部５０は、学習用入力画像格納部３６と、学習用変換部３８と、学習用出力データ格納部４０と、学習用目標データ格納部４２と、算出部４４と、第１フィルタ選択部５０１と、第１フィルタ生成部５０５とを有する。
【００１３】
学習用入力画像格納部３６は、画像フィルタ２０の変換対象である１又は複数の学習用入力画像を格納する。学習用入力画像は、一例として、ユーザによって予め生成された画像または準備された画像である。
【００１４】
学習用変換部３８は、フィルタ格納部３４に格納された１又は複数の画像フィルタ２０を順次に取得する。学習用変換部３８は、取得したそれぞれの画像フィルタ２０により、学習用入力画像格納部３６に格納された学習用入力画像を変換させて、学習用出力データのそれぞれを生成する。
【００１５】
学習用出力データ格納部４０は、学習用変換部３８によって生成された学習用出力データを格納する。学習用出力データ格納部４０は、一例として、学習用出力データのそれぞれを、変換した画像フィルタ２０に対応付けて格納する。
【００１６】
学習用目標データ格納部４２は、学習用入力画像を変換して生成される学習用出力データの目標となる学習用目標データを格納する。学習用目標データは、一例として、ユーザにより予め生成されたデータまたは準備されたデータであってよい。なお、学習用出力データおよび学習用目標データは、データに代えて画像であってよい。
【００１７】
算出部４４は、フィルタ格納部３４に格納された１又は複数の画像フィルタ２０のそれぞれについて、当該画像フィルタ２０の学習用出力データと学習用目標データとの差分を重み画像または重みデータにより重み付けして適合度（以下、第１適合度と示す）を算出する。ここで、適合度は、入力画像または入力データを目標画像または目標データへと変換するのに適しているかどうかを表す指標値であり、値が高いほど、入力画像または入力データを目標画像または目標データへと変換するのに適していることを表す。第１適合度は、進化的計算により検査用画像フィルタを生成する処理において算出され、学習用入力画像を学習用目標データへと変換するのに適しているかを表す。また、重み画像または重みデータは、学習用出力データと学習用目標データとの比較におけるデータ領域毎の重みを表わす画像またはデータを表わす。
【００１８】
第１フィルタ選択部５０１は、フィルタ群に含まれる複数の画像フィルタ２０のうち、学習用入力画像から学習用出力データへの変換に対する第１適合度がより高い画像フィルタ２０を、検査用画像フィルタ２０として選択する。この場合において、第１フィルタ選択部５０１は、算出部４４によって算出した第１適合度がより高い画像フィルタ２０を優先的に選択する。より具体的には、第１フィルタ選択部５０１は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも１つの画像フィルタ２０を選択する。第１フィルタ選択部５０１は、一例として、フィルタ格納部３４に格納された複数の画像フィルタ２０のそれぞれの第１適合度に基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも１つの画像フィルタ２０を選択する。また、第１フィルタ選択部５０１は、選択されなかった画像フィルタ２０を、例えばフィルタ格納部３４から削除することにより淘汰してもよい。
【００１９】
第１フィルタ生成部５０５は、複数のフィルタ部品を組み合わせた少なくとも１つの画像フィルタ２０を含むフィルタ群から、遺伝的処理により新たな画像フィルタ２０を生成してフィルタ群に加える。第１フィルタ生成部５０５は、一例として、第１フィルタ選択部５０１により選択されてフィルタ格納部３４から取得した少なくとも１つの画像フィルタ２０に対して、交叉および突然変異等の遺伝的な操作をして、新たな画像フィルタ２０を生成する。第１フィルタ生成部５０５により生成された新たな画像フィルタ２０を含むフィルタ群は、次の世代の処理において学習用変換部３８にフィードバックされる。これにより、生成部５０は、複数世代に渡って遺伝的処理を繰り返して、最終的に生成した検査用画像フィルタ２０をフィルタ格納部３４に格納する。
【００２０】
撮像画像格納部３７は、画像フィルタ２０の変換対象である１又は複数の撮像画像を格納する。撮像画像格納部３７は、一例として、順次製造される製品又は部品等の検査対象物を検査するために順次撮像した検査対象物の撮像画像を格納する。
【００２１】
変換部３９は、生成部５０によって生成された検査用画像フィルタ２０により撮像画像を検査用データに変換する。より具体的には、変換部３９は、生成部５０により生成されてフィルタ格納部３４に格納された検査用画像フィルタ２０を取得する。そして、変換部３９は、取得した検査用画像フィルタ２０により、撮像画像格納部３７に格納された撮像画像を変換させて、検査用データを生成する。検査用データ格納部４７は、変換部３９によって生成された検査用データを格納する。
【００２２】
更新指示部５３は、検査用データに基づいて不良品と判断された検査対象物が、二次検査により良品と判断された場合、検査対象物の撮像画像を良品と判断される検査用データに変換すべく検査用画像フィルタ２０の更新を更新部４８に指示する。
【００２３】
更新部４８は、更新指示部５３から指示を受けて当該検査対象物の撮像画像、即ち検査用データに基づいて不良品と判断され、かつ二次検査により良品と判断された検査対象物の撮像画像を良品と判断される検査用データに変換させるように検査用画像フィルタ２０を更新する。
【００２４】
更新部４８は、学習用変換部３８と、検査用データ格納部４１と、算出部４４と、良品画像格納部４５と、第２フィルタ選択部４８１と、第２フィルタ生成部４８５とを有する。本実施形態において、更新部４８は、生成部５０が有している学習用変換部３８および算出部４４を共有する。
【００２５】
学習用変換部３８は、検査用画像フィルタ２０を含むフィルタ群をフィルタ格納部３４から取得し、取得した１又は複数の画像フィルタ２０により撮像画像を変換させて検査用データのそれぞれを生成する。
【００２６】
更新部４８内の検査用データ格納部４１は、学習用変換部３８によって生成された検査用データのそれぞれを格納する。検査用データ格納部４１は、一例として、生成された検査用データのそれぞれを変換した画像フィルタ２０に対応付けて格納する。
【００２７】
良品画像格納部４５は、検査用データの目標となる良品画像を格納する。良品画像は、一例として、良品である検査対象物のサンプルを撮像して生成した画像などであってよく、検査用データ格納部４７内の検査用データから検出対象となる傷等の不良箇所を消し去った検査用データであってもよい。これに代えて、良品画像は、全面的に不良箇所がない旨を示す均一画像であってもよい。
【００２８】
算出部４４は、フィルタ格納部３４に格納された１又は複数の画像フィルタ２０のそれぞれについて、当該画像フィルタ２０の検査用データと良品画像との差分を重み画像または重みデータにより重み付けして適合度（以下、第２適合度と示す）を算出する。ここで、第２適合度は、更新部４８による検査用画像フィルタ２０の更新処理において算出され、撮像画像を良品画像へと変換するのに適しているかを表す。また、重み画像または重みデータは、検査用データと良品画像との比較におけるデータ領域毎の重みを表わす画像またはデータを表わす。
【００２９】
第２フィルタ選択部４８１は、フィルタ群に含まれる複数の画像フィルタ２０のうち、検査対象物の撮像画像から良品と判断される検査用データへの変換に対する第２適合度がより高い画像フィルタ２０を、検査用画像フィルタ２０として優先的に選択する。より具体的には、第２フィルタ選択部４８１は、生物の自然淘汰をモデル化した手法により、残存させる少なくとも１つの画像フィルタ２０を選択する。第２フィルタ選択部４８１は、一例として、フィルタ格納部３４に格納された複数の画像フィルタ２０のそれぞれの第２適合度に基づき、エリート選択およびルーレット選択といった遺伝的計算により少なくとも１つの画像フィルタ２０を選択する。また、第２フィルタ選択部４８１は、選択されなかった画像フィルタ２０を、例えばフィルタ格納部３４から削除することにより淘汰してもよい。
【００３０】
第２フィルタ生成部４８５は、検査用画像フィルタ２０を含むフィルタ群から、遺伝的処理により新たな画像フィルタ２０を生成してフィルタ群に加える。ここで、第２フィルタ生成部４８５は、第２フィルタ選択部４８１により選択された少なくとも１つの画像フィルタ２０に対して、交叉および突然変異等の遺伝的な操作をして、新たな画像フィルタ２０を生成する。第２フィルタ生成部４８５により生成された新たな画像フィルタ２０を含むフィルタ群は、次の世代の処理において学習用変換部３８にフィードバックされる。これにより、更新部４８は、二次検査にて良品と判断された検査対象物について、撮像画像から良品と判断される検査用データに変換する検査用画像フィルタ２０を、複数世代に渡って遺伝的処理を繰り返して生成できる。そして、更新部４８により更新された画像フィルタ２０は、変換部３９へと提供される。
【００３１】
このような画像処理装置１０は、学習用変換部３８による学習用の変換処理および算出部４４による適合度の算出処理を利用した、生成部５０による新たな画像フィルタ２０の生成処理および更新部４８による画像フィルタ２０の更新処理を、複数回（例えば複数世代）繰り返す。これにより、画像処理装置１０は、二次検査にて良品と判断された検査対象物の撮像画像から欠陥を検出しない検査データへ変換するのに適した検査用画像フィルタ２０を、進化的計算を用いて生成することができる。
【００３２】
図２は、本実施形態に係るフィルタ部品２２を直列に組み合わせた画像フィルタ２０の一例を示す。図３は、本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０の一例を示す。
【００３３】
画像フィルタ２０は、図２に示されるような、複数のフィルタ部品２２を直列に組み合わせた構成であってよい。また、画像フィルタ２０は、図３に示されるような、複数のフィルタ部品２２を木構造に組み合わせた構成であってもよい。また、画像フィルタ２０は、１つの入力端に対して、複数の出力端を有する構成であってもよい。また、画像フィルタ２０は、複数の入力端および複数の出力端を有する構成であってもよい。
【００３４】
画像フィルタ２０は、受け取った学習用入力画像に対してフィルタ演算処理を施して、出力画像を出力する。画像フィルタ２０は、一例として、画像データに対して演算を施すプログラムとする。また、画像フィルタ２０は、画像データに対して施すべき演算内容を表わす演算式であってもよい。
【００３５】
フィルタ部品２２が木構造に組み合わされた構成の画像フィルタ２０は、木構造の末端（最下位）のフィルタ部品２２のそれぞれに、同一の学習用入力画像が与えられ、木構造の最上位のフィルタ部品２２から出力画像を出力する。これに代えて、このような画像フィルタ２０は、複数の末端のフィルタ部品２２のそれぞれに互いに異なる学習用入力画像が与えられてもよい。
【００３６】
複数のフィルタ部品２２のそれぞれは、前段に配置されたフィルタ部品２２から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置されたフィルタ部品２２に与える。複数のフィルタ部品２２のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った画像データに対して２値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び／または周波数空間での演算（例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算）等の単項演算を施してもよい。
【００３７】
また、複数のフィルタ部品２２のそれぞれは、受け取った画像データに対して平均演算、差分演算及び／またはファジー演算（例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等）等の二項演算を施してもよい。
【００３８】
本実施形態において、生成部５０は、入力画像を出力画像または出力データにそれぞれ変換する複数のフィルタ部品２２を組み合わせて、学習用入力画像を学習用出力データにより近いデータに変換する図示したような検査用画像フィルタ２０を生成する。
【００３９】
図４は、本実施形態に係るフィルタ部品２２を直列に組み合わせた画像フィルタ２０に対して行われる遺伝的な操作の一例を示す。図５は、本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０に対して行われる交叉操作の一例を示す。図６は、本実施形態に係るフィルタ部品２２を木構造に組み合わせた画像フィルタ２０に対して行われる突然変異操作の一例を示す。
【００４０】
第１フィルタ生成部５０５および第２フィルタ生成部４８５は、一例として、２個またはそれ以上の画像フィルタ２０に対して、遺伝的な操作の一例である交叉操作を行って新たな２個またはそれ以上の画像フィルタ２０を生成する。第１フィルタ生成部５０５および第２フィルタ生成部４８５は、一例として、図４および図５に示されるように、既に生成された少なくとも１つの一の画像フィルタ２０Ａの一部のフィルタ部品群２４Ａを、既に生成された他の画像フィルタ２０Ｂの少なくとも一部のフィルタ部品群２４Ｂと置換して、新たな画像フィルタ２０Ｅおよび２０Ｆを生成する。なお、フィルタ部品群２４は、１又は複数のフィルタ部品２２を組み合わせた部材であってもよい。
【００４１】
また、第１フィルタ生成部５０５および第２フィルタ生成部４８５は、一例として、一の画像フィルタ２０に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の画像フィルタ２０を生成する。第１フィルタ生成部５０５および第２フィルタ生成部４８５は、一例として、図４および図６に示されるように、既に生成された一の画像フィルタ２０Ｃの一部のフィルタ部品群２４Ｃを、ランダムに選択された他のフィルタ部品群２４Ｇに置換して、新たな画像フィルタ２０Ｇを生成する。
【００４２】
また、第１フィルタ生成部５０５および第２フィルタ生成部４８５は、現世代の画像フィルタ２０をそのまま次世代の画像フィルタ２０として残してもよい。第１フィルタ生成部５０５および第２フィルタ生成部４８５は、一例として、図４に示されるように、画像フィルタ２０Ｄのフィルタ部品２２の構成をそのまま含む次世代の画像フィルタ２０Ｈを生成する。
【００４３】
第１フィルタ選択部５０１および第２フィルタ選択部４８１は、１又は複数の画像フィルタ２０に対して生物の自然淘汰をモデル化した手法により１又は複数の画像フィルタ２０を選択する。第１フィルタ選択部５０１は、複数の画像フィルタ２０の中の第１適合度がより高い画像フィルタ２０を優先的に選択してもよい。また第２フィルタ選択部４８１は、複数の画像フィルタ２０の中の第２適合度がより高い画像フィルタ２０を優先的に選択してもよい。
【００４４】
第１フィルタ選択部５０１および第２フィルタ選択部４８１は、一例として、複数の画像フィルタ２０のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、画像フィルタ２０を選択してよい。そして、第１フィルタ選択部５０１および第２フィルタ選択部４８１は、選択された画像フィルタ２０をフィルタ格納部３４内に保存し、選択されなかった画像フィルタ２０をフィルタ格納部３４内から削除する。
【００４５】
図７は、本実施形態に係る画像フィルタ２０の適合度を表わすパラメータの一例である類似度の算出方法の一例を示す。本実施形態において、算出部４４は、当該画像フィルタ２０により学習用入力画像または撮像画像を変換させることにより生成された学習用出力データまたは検査用データと、学習用目標データまたは良品画像がどれだけ類似しているかを表わす類似度を算出する。この類似度は、値がより大きいほど、当該出力画像を生成した画像フィルタ２０がより適切であることを示す評価値または指標として用いられる。
【００４６】
算出部４４は、学習用出力データまたは検査用データの各領域の値と、学習用目標データまたは良品画像の対応する各領域の値とを比較した比較値を算出し、領域毎の比較値に対して重みデータにより指定される重みを乗じる。そして、算出部４４は、重みが乗じられた領域毎の比較値を全領域について平均または合計した値を算出し、算出した値を学習用出力データまたは検査用データの類似度として出力する。
【００４７】
算出部４４は、一例として、出力画像のピクセル毎の輝度値と、目標画像の対応するピクセルの輝度値との差分または比率を算出する。そして、算出部４４は、一例として、算出したピクセル毎の差分または比率のそれぞれに、重みデータにより指定される対応する重みを乗じ、重みが乗じられたピクセル毎の差分または比率を合計または平均して、類似度を算出する。
【００４８】
例えば、重みデータが重み画像により表わされている場合、算出部４４は、下記式（１）に示される演算をして、類似度を算出する。なお、この場合において、出力画像、目標画像および重み画像のサイズは、同一とされる。
【００４９】
【数１】
0005471105.tif 000002
【００５０】
式（１）において、ｆは、類似度を表わす。Ｙｍａｘは、輝度の最大値を表わす。また、ｘは、画像の水平方向のピクセル位置を示す変数である。ｙは、画像の垂直方向のピクセル位置を示す変数である。ｘｍａｘは、画像の水平方向のピクセル数を示す定数である。ｙｍａｘは、画像の垂直方向のピクセル数を示す定数である。
【００５１】
Ｉｗｅｉｇｈｔ（ｘ，ｙ）は、重み画像における（ｘ，ｙ）位置のピクセルの輝度値を表わす。Ｉｔａｒｇｅｔ（ｘ，ｙ）は、検査用画像における（ｘ，ｙ）位置のピクセルの輝度値を表わす。Ｉｆｉｌｔｅｒ（ｘ，ｙ）は、出力画像における（ｘ，ｙ）位置のピクセルの輝度値を表わす。
【００５２】
すなわち、式（１）の中カッコ内の分子部分に示されるように、算出部４４は、目標画像の輝度値から出力画像の輝度値の差の絶対値に対して、重み画像の輝度値を乗じた重み付き差分値を、画面内の全てのピクセル毎に算出し、算出した重み付き差分値を全ピクセルについて合計した合計重み付け差分値を算出する。さらに、式（１）の中カッコ内の分母部分に示されるように、算出部４４は、重み画像の輝度値を全ピクセルについて合計した合計重みを算出する。
【００５３】
さらに、算出部４４は、合計重み付け差分値を合計重みで除算した除算値（式（１）の中カッコ内）に、輝度値の最大値の逆数（１／Ｙｍａｘ）を乗じて正規化値（式（１）の２番目の項）を算出する。そして、算出部４４は、１から、正規化値を減じた値を、類似度ｆとして算出する。このようにして、算出部４４は、出力画像と目標画像との差分を領域毎に重み付けして類似度を算出することができる。なお、算出部４４は、類似度に加え、処理部品の数の少なさ、処理負荷の低さ、および並列度の大きさ等に応じて、適合度の評価を高めてもよい。
【００５４】
図８は、本実施形態に係る画像処理装置１０の処理フローの一例を示す。画像処理装置１０は、ステップＳ１０１〜ステップＳ１０５の各処理を実行する。なお、画像処理装置１０は、一例として、与えられた学習用入力画像を学習用出力データに変換する画像フィルタ２０を生成するための初期の画像フィルタ２０として、ランダムに生成したまたは既に生成した画像フィルタ２０を、予めフィルタ格納部３４に格納しておく。
【００５５】
まず、生成部５０は、検査用画像フィルタ２０を生成する（Ｓ１０１）。ここで、生成部５０は、一例として、複数世代に渡って遺伝的処理を繰り返して、最終的に１の検査用画像フィルタ２０を生成する。
【００５６】
続いて、変換部３９は、生成部５０によって生成された検査用画像フィルタ２０により撮像画像を変換して検査用データを生成する（Ｓ１０３）。そして、変換部３９は、生成した検査用データを検査用データ格納部４７に格納する。外部の選別装置又は検査者等は、検査用データに基づいて、検査対象物の一次検査をする。一次検査において不良を検出した場合、外部の選別装置又は検査者は、検査対象物を詳細調査用して二次検査を実施する。ここで、一次、二次とは、検査の相対的な順番を示すものであり、最初の検査、２番目の検査に限定したものではない。
【００５７】
続いて、ステップＳ１０３において検査用画像フィルタ２０によって変換した検査用データから一次検査にて不良品（ＮＧ）と判断された検査対象物が、二次検査にて良品（ＯＫ）と判断された場合（Ｓ１０４：Ｙｅｓ）、更新部４８は、撮像画像を良品と判断される検査用データに変換するように検査用画像フィルタ２０を更新する（Ｓ１０５）。また、一次検査にて良品と判断され、または一次検査および二次検査とも不良品と判断された場合（Ｓ１０４：Ｎｏ）、画像処理装置１０は、検査に適した検査用画像フィルタ２０であると判断して、更新部４８によるステップＳ１０５の更新処理を実施しない。そして、次の検査対象物の検査をする場合（Ｓ１０６：Ｎｏ）、画像処理装置１０は、ステップＳ１０３の変換処理に戻る。また、検査を終了する場合（Ｓ１０６：Ｙｅｓ）、画像処理装置１０は、当該フローを終了する。
【００５８】
このようにして、画像処理装置１０は、撮像画像を適正な検査結果が得られる検査用データに変換する検査用画像フィルタ２０を、進化的計算を用いて生成することができる。
【００５９】
なお、変換部３９は、検査用画像フィルタ２０により撮像画像を検査用画像に変換してもよい。この場合、更新部４８は、一例として、検査対象物の撮像画像を良品と判断される検査用画像に変換させるように検査用画像フィルタ２０を更新する。ここで、更新部４８は、ステップＳ１０５の処理において、良品と判断される検査用画像として、不良と判断すべき箇所を含まない均一画像を用いてもよい。つまり、更新部４８は、良品と判断される検査用画像として、黒色等の全面同色の画像を用いてもよい。
【００６０】
図９は、図８のステップＳ１０１における検査用画像フィルタ２０を生成するまでの処理フローの一例を示す。画像処理装置１０は、図８に示されるステップＳ１０１において、ステップＳ２０３〜ステップＳ２１３の各処理を、複数回（例えば複数世代）繰返して実行する（Ｓ２０１、Ｓ２１５）。
【００６１】
まず、学習用変換部３８は、前世代から残存した少なくとも１つの画像フィルタ２０にそれぞれにより、学習用入力画像を変換して学習用出力データを生成する（Ｓ２０３）。なお、生成部５０は、一例として、学習用入力画像を学習用出力データに変換する画像フィルタ２０を生成するための初期の画像フィルタ２０として、ランダムに生成した画像フィルタ２０を、または既に生成した画像フィルタ２０を、予めフィルタ格納部３４に格納しておく。続いて、算出部４４は、フィルタ格納部３４に格納された複数の画像フィルタ２０のそれぞれにより生成された複数の学習用出力データのそれぞれ毎に、以下のステップＳ２０７の処理を実行する（Ｓ２０５、Ｓ２０９）。
【００６２】
算出部４４は、当該学習用出力データと学習用目標データとを比較をして、当該学習用出力データと学習用目標データとの類似度から第１適合度を算出する（Ｓ２０７）。算出部４４は、複数の学習用出力データのすべてについて処理を終えると、処理をステップＳ２１１に進める（Ｓ２０９）。
【００６３】
続いて、第１フィルタ選択部５０１は、ステップＳ２１１にて算出したそれぞれの第１適合度に基づき、複数の画像フィルタ２０のうち少なくとも１つを選択する（Ｓ２１１）。第１フィルタ選択部５０１は、一例として、複数の画像フィルタ２０のうち、第１適合度がより高い画像フィルタ２０を優先的に選択する。また、第１フィルタ選択部５０１は、第１適合度が基準適合度より高い画像フィルタ２０を選択してよい。また、第１フィルタ選択部５０１は、第１適合度が上位から予め定められた範囲の画像フィルタ２０を選択してもよい。そして、第１フィルタ選択部５０１は、選択されなかった画像フィルタ２０を、例えばフィルタ格納部３４から削除して淘汰する。
【００６４】
第１フィルタ生成部５０５は、一例として、少なくとも１つの画像フィルタ２０を含むフィルタ群をフィルタ格納部３４から取得して、前世代から残存した複数の画像フィルタ２０に対して交叉操作および突然変異操作等の遺伝的な操作を行って、少なくとも一部のフィルタ部品２２を他のフィルタ部品２２に置換した新たな複数の画像フィルタ２０を生成する（Ｓ２１３）。そして、第１フィルタ生成部５０５は、一例として、生成した新たな画像フィルタ２０をフィルタ格納部３４に格納する。ここで、第１フィルタ生成部５０５は、新たな画像フィルタ２０を含むフィルタ群を次世代の処理に向けて、学習用変換部３８にフィードバックする。
【００６５】
画像処理装置１０は、以上の処理を複数の世代（例えば数十世代または数百世代以上）繰り返して実行して、最後の世代（例えば第Ｎ世代、Ｎは２以上の自然数）、または第１適合度の増加が収束するまで処理を実行した後に、当該フローを抜ける（Ｓ２１５）。このようにして、画像処理装置１０は、学習用入力画像を学習用目標データへ変換するのに適した検査用画像フィルタ２０を、進化的計算を用いて生成することができる。
【００６６】
次に、検査用データに基づいて不良品と判断され、かつ二次検査にて良品と判断された検査対象物について、当該検査対象物の撮像画像を良品と判断される検査用データに変換する検査用画像フィルタ２０を、進化的計算を用いて生成するフローを図１０を用いて説明する。図１０は、図８のステップＳ１０５における検査用画像フィルタ２０を更新するまでの処理フローの一例を示す。画像処理装置１０は、図８に示されるステップＳ１０５において、以下の処理を実行する。まず、画像処理装置１０は、検査用データに基づいて不良品と判断された検査対象物が、二次検査の結果により良品と判断された場合、検査用画像フィルタ２０の更新を更新部４８へと指示する（Ｓ３００）。画像処理装置１０は、ステップＳ３０３〜ステップＳ３１３の各処理を、複数回（例えば複数世代）繰返して実行する（Ｓ３０１、Ｓ３１５）。
【００６７】
まず、学習用変換部３８は、検査用画像フィルタ２０を含むフィルタ群をフィルタ格納部３４から取得して、取得した画像フィルタ２０のそれぞれにより撮像画像を変換して検査用データを生成する（ステップＳ３０３）。続いて、算出部４４は、複数の画像フィルタ２０のそれぞれにより生成された複数の検査用データのそれぞれ毎に、以下のステップＳ３０７の処理を実行する（Ｓ３０５、Ｓ３０９）。
【００６８】
算出部４４は、検査用データと良品画像とを比較をして、検査用データと良品画像との類似度から第２適合度を算出する（Ｓ３０７）。算出部４４は、１又は複数の検査用データのすべてについて処理を終えると、処理をステップＳ３１１に進める（Ｓ３０９）。
【００６９】
続いて、第２フィルタ選択部４８１は、ステップＳ３１１にて算出したそれぞれの第２適合度に基づき、複数の画像フィルタ２０のうち少なくとも１つを選択する（Ｓ３１１）。第２フィルタ選択部４８１は、一例として、１又は複数の画像フィルタ２０のうち、第２適合度がより高い画像フィルタ２０を優先的に選択する。第２フィルタ選択部４８１は、一例として、第２適合度が基準適合度より高い画像フィルタ２０を選択する。また、第２フィルタ選択部４８１は、第２適合度が上位から予め定められた範囲の画像フィルタ２０を選択してもよい。
【００７０】
また、第２フィルタ選択部４８１は、フィルタ群に含まれる複数の画像フィルタ２０の中から、生成部５０による画像フィルタ２０の生成処理で算出した第１適合度、および第２適合度に基づいて、検査用画像フィルタ２０を選択してもよい。この場合、更新部４８は、ステップＳ３０３の処理において、学習用入力画像格納部３６に格納された学習用入力画像を学習用変換部３８により変換させて学習用出力データを出力させ、ステップＳ３０７の処理において、学習用出力データと学習用目標データとの類似度から第１適合度を算出部４４により算出してよい。
【００７１】
第２フィルタ選択部４８１は、一例として、第１適合度と第２適合度との合計値又は平均値がより高い画像フィルタ２０を優先的に選択する。これに代えて、第２フィルタ選択部４８１は、第１及び第２適合度を予め定められた比率により重み付けして加算した結果がより高い画像フィルタ２０を優先してもよい。そして、第２フィルタ選択部４８１は、一例として、選択されなかった画像フィルタ２０を、例えばフィルタ格納部３４から削除して淘汰する。
【００７２】
第２フィルタ生成部４８５は、一例として、第２フィルタ選択部４８１が選択した少なくとも１つの検査用画像フィルタ２０を含むフィルタ群をフィルタ格納部３４から取得して、前世代から残存した１又は複数の画像フィルタ２０に対して交叉操作および突然変異操作等の遺伝的な操作を行って、少なくとも一部のフィルタ部品２２を他のフィルタ部品２２に置換した新たな１又は複数の画像フィルタ２０を生成する（Ｓ３１３）。そして、第２フィルタ生成部４８５は、一例として、生成した新たな画像フィルタ２０をフィルタ格納部３４に格納する。ここで、第２フィルタ生成部４８５は、新たな画像フィルタ２０を含むフィルタ群を次世代の処理に向けて、学習用変換部３８にフィードバックする。
【００７３】
画像処理装置１０は、以上の処理を複数の世代（例えば数十世代または数百世代以上）繰り返して実行して、最後の世代（例えば第Ｎ世代、Ｎは２以上の自然数）、第２適合度の増加が収束する、または、第１及び第２適合度に基づいた値（例えば合計値）の増加が収束するまで処理を実行した後に、当該フローを抜ける（Ｓ３１５）。このようにして、画像処理装置１０は、検査データに基づいて不良品と判断され、かつ二次検査にて良品と判断された検査対象物について、当該検査対象物の撮像画像を良品と判断される検査用データに変換する検査用画像フィルタ２０を、進化的計算を用いて生成することができる。
【００７４】
図１１は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスク・ドライブ２０４０、及びＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００７５】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７６】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスク・ドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供する。
【００７７】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００７８】
ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスク・ドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００７９】
コンピュータ１９００にインストールされ、コンピュータ１９００を画像処理装置１０として機能させるプログラムは、生成モジュールと、変換モジュールと、更新指示モジュールと、更新モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、生成部５０と、変換部３９と、更新指示部５３と、更新部４８としてそれぞれ機能させる。
【００８０】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である生成部５０と、変換部３９と、更新指示部５３と、更新部４８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の画像処理装置１０が構築される。
【００８１】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスク・ドライブ２０４０、フレキシブルディスク２０９０、又はＤＶＤ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８２】
また、ＣＰＵ２０００は、ハードディスク・ドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００８３】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８４】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００８５】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８６】
なお、本実施形態において、画像処理装置１０は、２以上の複数の検査用画像フィルタ２０を生成して使用してもよい。この場合、画像処理装置１０は、検査対象物の角度を変えて撮像した複数の撮像画像を、それぞれに対応する検査用画像フィルタ２０によって変換して、検査用データのそれぞれを生成する。そして、画像処理装置１０は、生成した複数の検査用データのそれぞれについて、一次検査を実施してもよい。
【００８７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８８】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８９】
１０  画像処理装置、２０  画像フィルタ、２２  フィルタ部品、２４  フィルタ部品群、３４  フィルタ格納部、３６  学習用入力画像格納部、３７  撮像画像格納部、３８  学習用変換部、３９  変換部、４０  学習用出力データ格納部、４１  検査用データ格納部、４２  学習用目標データ格納部、４４  算出部、４５  良品画像格納部、４７  検査用データ格納部、４８  更新部、５０  生成部、５３  更新指示部、４８１  第２フィルタ選択部、４８５  第２フィルタ生成部、５０１  第１フィルタ選択部、５０５  第１フィルタ生成部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスク・ドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ
【図１】
0005471105.tif 000003
【図２】
0005471105.tif 000004
【図３】
0005471105.tif 000005
【図４】
0005471105.tif 000006
【図５】
0005471105.tif 000007
【図６】
0005471105.tif 000008
【図７】
0005471105.tif 000009
【図８】
0005471105.tif 000010
【図９】
0005471105.tif 000011
【図１０】
0005471105.tif 000012
【図１１】
0005471105.tif 000013