(57)【特許請求の範囲】
【請求項１】
遺伝的アルゴリズムまたは遺伝的プログラミングを用いるとともに、コンピュータを利用した最適化方法であって、
ａ）最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する工程と、
ｂ）前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める工程と、
ｃ）前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する工程と、
ｄ）前記ｂ）およびｃ）工程を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する工程と、
を備え、
前記ｄ）工程が、
ｄ１）繰り返されるｃ）工程にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する工程と、
ｄ２）前記ｄ１）工程の後の各ｃ）工程にて生成される新たな複数の個体を前記分類器にて分類することにより、前記各ｃ）工程の次のｂ）工程において前記評価値が求められる個体を制限する工程と、
を備えることを特徴とする最適化方法。
【請求項２】
請求項１に記載の最適化方法であって、
前記複数の個体が、複数通りの画像処理シーケンスをそれぞれ表現し、
前記評価処理において、所定の対象画像に対して各個体が表現する画像処理シーケンスを実行することにより生成される処理済み画像と、前記対象画像から生成されるべき目標画像との一致度が求められることを特徴とする最適化方法。
【請求項３】
請求項２に記載の最適化方法であって、
前記各個体が、複数の要素が並ぶ要素配列であり、
前記複数の要素が、画像処理シーケンスに含まれる複数の画像処理における複数のパラメータの値を示し、
前記特徴ベクトルにおける複数の特徴量が、前記複数のパラメータの値であることを特徴とする最適化方法。
【請求項４】
請求項２または３に記載の最適化方法であって、
前記評価処理において、前記対象画像を含む複数の対象画像に対して前記各個体が表現する画像処理シーケンスを実行することにより生成される複数の処理済み画像と、前記複数の対象画像から生成されるべき複数の目標画像との一致度がそれぞれ求められ、
前記ｄ２）工程における前記分類器による分類結果が、前記次のｂ）工程において第１の個数の対象画像から前記評価値が求められるクラスと、前記第１の個数よりも少ない第２の個数の対象画像から前記評価値が求められるクラスと、前記評価値が求められないクラスと、を含むことを特徴とする最適化方法。
【請求項５】
請求項１ないし４のいずれかに記載の最適化方法であって、
前記ｄ２）工程および前記各ｃ）工程において、前記評価値が求められるクラスに前記分類器により分類される個体の個数が設定個体数になるまで、新たな個体の生成が繰り返されることを特徴とする最適化方法。
【請求項６】
請求項１ないし５のいずれかに記載の最適化方法であって、
前記ｄ）工程において、所定の条件が満たされる際に、前記ｄ１）工程における分類器の構築が再度行われることを特徴とする最適化方法。
【請求項７】
遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化装置であって、
最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する記憶部と、
前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める評価値算出部と、
前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する個体生成部と、
前記評価値算出部および前記個体生成部における処理を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する繰返制御部と、
を備え、
前記繰返制御部が、
前記個体生成部にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する分類器構築部と、
前記個体生成部にて生成される新たな複数の個体を前記分類器にて分類することにより、前記評価値算出部において前記評価値が求められる個体を制限する分類制御部と、
を備えることを特徴とする最適化装置。
【請求項８】
請求項７に記載の最適化装置であって、
前記複数の個体が、複数通りの画像処理シーケンスをそれぞれ表現し、
前記評価処理において、所定の対象画像に対して各個体が表現する画像処理シーケンスを実行することにより生成される処理済み画像と、前記対象画像から生成されるべき目標画像との一致度が求められることを特徴とする最適化装置。
【請求項９】
請求項８に記載の最適化装置であって、
前記各個体が、複数の要素が並ぶ要素配列であり、
前記複数の要素が、画像処理シーケンスに含まれる複数の画像処理における複数のパラメータの値を示し、
前記特徴ベクトルにおける複数の特徴量が、前記複数のパラメータの値であることを特徴とする最適化装置。
【請求項１０】
請求項８または９に記載の最適化装置であって、
前記評価処理において、前記対象画像を含む複数の対象画像に対して前記各個体が表現する画像処理シーケンスを実行することにより生成される複数の処理済み画像と、前記複数の対象画像から生成されるべき複数の目標画像との一致度がそれぞれ求められ、
前記分類器による分類結果が、前記評価値算出部において第１の個数の対象画像から前記評価値が求められるクラスと、前記第１の個数よりも少ない第２の個数の対象画像から前記評価値が求められるクラスと、前記評価値が求められないクラスと、を含むことを特徴とする最適化装置。
【請求項１１】
請求項７ないし１０のいずれかに記載の最適化装置であって、
前記分類器が構築された後、前記個体生成部が、前記評価値が求められるクラスに前記分類器により分類される個体の個数が設定個体数になるまで、新たな個体の生成を繰り返すことを特徴とする最適化装置。
【請求項１２】
請求項７ないし１１のいずれかに記載の最適化装置であって、
所定の条件が満たされる際に、前記繰返制御部が、前記分類器構築部に分類器の構築を再度行わせることを特徴とする最適化装置。
【請求項１３】
遺伝的アルゴリズムまたは遺伝的プログラミングを用いる最適化処理をコンピュータに行わせるプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、
ａ）最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する工程と、
ｂ）前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める工程と、
ｃ）前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する工程と、
ｄ）前記ｂ）およびｃ）工程を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する工程と、
を実行させ、
前記ｄ）工程が、
ｄ１）繰り返されるｃ）工程にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する工程と、
ｄ２）前記ｄ１）工程の後の各ｃ）工程にて生成される新たな複数の個体を前記分類器にて分類することにより、前記各ｃ）工程の次のｂ）工程において前記評価値が求められる個体を制限する工程と、
を備えることを特徴とするプログラム。
【請求項１４】
画像処理装置であって、
対象物を撮像した撮像画像を記憶する画像記憶部と、
画像処理シーケンスを取得する請求項７ないし１２のいずれかに記載の最適化装置と、
前記撮像画像に対して前記画像処理シーケンスを実行する画像処理部と、
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化処理に関する。
【背景技術】
【０００２】
デジタル画像を用いて外観検査等を行うシステムの構築は、画像処理に関する知識を有しない者にとっては非常に困難な作業となる。また、画像処理に関して高度な知識を有している者であっても、所望の検出結果を得るための画像処理を取得するには相当の工数が必要となる。そこで、特許文献１では、画像処理の結果として作成される結果画像が目標画像と一致するように、当該画像処理におけるパラメータの値を調整する際に、遺伝的アルゴリズムを用いる手法が開示されている。また、特許文献２では、所望の処理結果を得るための画像処理シーケンスを、遺伝的プログラミングを用いて生成する手法が開示されている。なお、非特許文献１ないし６では、高次元データに対する外れ値検出のアルゴリズムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−８９５７４号公報
【特許文献２】特開２００９−１５１３７１号公報
【非特許文献】
【０００４】
【非特許文献１】Hans-Peter Kriegel、外２名、"Angle-Based Outlier Detection in High-dimensional Data"、[online]、[平成２８年２月１９日検索]、インターネット<URL:http://www.dbs.ifi.lmu.de/Publikationen/Papers/KDD2008.pdf>
【非特許文献２】Charu C. Aggarwal、外１名、"Outlier Detection for High Dimensional Data"、[online]、[平成２８年２月１９日検索]、インターネット<URL:http://charuaggarwal.net/outl.pdf>
【非特許文献３】Hans-Peter Kriegel、外３名、"Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data"、[online]、[平成２８年２月１９日検索]、インターネット<URL:http://www.dbs.ifi.lmu.de/Publikationen/Papers/pakdd09_SOD.pdf>
【非特許文献４】Charles Sutton、外２名、"Feature Bagging: Preventing Weight Undertraining in Structured Discriminative Learning"、[online]、[平成２８年２月１９日検索]、インターネット<URL:https://people.cs.umass.edu/~mccallum/papers/ir402bags.pdf>
【非特許文献５】Fabian Keller、外２名、"HiCS: High Contrast Subspaces for Density-Based Outlier Ranking"、[online]、[平成２８年２月１９日検索]、インターネット<URL:http://www.ipd.uni-karlsruhe.de/~muellere/publications/ICDE2012.pdf>
【非特許文献６】Hans-Peter Kriegel、外２名、"Outlier Detection in Arbitrarily Oriented Subspaces"、[online]、[平成２８年２月１９日検索]、インターネット<URL:http://www.dbs.ifi.lmu.de/~zimek/publications/ICDM2012/COP.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化処理では、次世代の個体を生成する際における突然変異や交叉のランダム性により、探索範囲を広くすることが可能となるが、評価値である適応度が極めて低い不適合な個体も発生しやすい。実際には、各個体が不適合なものであるか否かは、評価値を算出しなければ判らないため、各世代の全ての個体の評価値が算出される。したがって、最適解として推定される個体を取得するまでに、非常に長い演算時間が必要となる。
【０００６】
本発明は上記課題に鑑みなされたものであり、遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化処理において、最適解に至るまでの演算時間を短縮することを目的としている。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、遺伝的アルゴリズムまたは遺伝的プログラミングを用いるとともに、コンピュータを利用した最適化方法であって、ａ）最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する工程と、ｂ）前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める工程と、ｃ）前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する工程と、ｄ）前記ｂ）およびｃ）工程を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する工程とを備え、前記ｄ）工程が、ｄ１）繰り返されるｃ）工程にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する工程と、ｄ２）前記ｄ１）工程の後の各ｃ）工程にて生成される新たな複数の個体を前記分類器にて分類することにより、前記各ｃ）工程の次のｂ）工程において前記評価値が求められる個体を制限する工程とを備える。
【０００８】
請求項２に記載の発明は、請求項１に記載の最適化方法であって、前記複数の個体が、複数通りの画像処理シーケンスをそれぞれ表現し、前記評価処理において、所定の対象画像に対して各個体が表現する画像処理シーケンスを実行することにより生成される処理済み画像と、前記対象画像から生成されるべき目標画像との一致度が求められる。
【０００９】
請求項３に記載の発明は、請求項２に記載の最適化方法であって、前記各個体が、複数の要素が並ぶ要素配列であり、前記複数の要素が、画像処理シーケンスに含まれる複数の画像処理における複数のパラメータの値を示し、前記特徴ベクトルにおける複数の特徴量が、前記複数のパラメータの値である。
【００１０】
請求項４に記載の発明は、請求項２または３に記載の最適化方法であって、前記評価処理において、前記対象画像を含む複数の対象画像に対して前記各個体が表現する画像処理シーケンスを実行することにより生成される複数の処理済み画像と、前記複数の対象画像から生成されるべき複数の目標画像との一致度がそれぞれ求められ、前記ｄ２）工程における前記分類器による分類結果が、前記次のｂ）工程において第１の個数の対象画像から前記評価値が求められるクラスと、前記第１の個数よりも少ない第２の個数の対象画像から前記評価値が求められるクラスと、前記評価値が求められないクラスとを含む。
【００１１】
請求項５に記載の発明は、請求項１ないし４のいずれかに記載の最適化方法であって、前記ｄ２）工程および前記各ｃ）工程において、前記評価値が求められるクラスに前記分類器により分類される個体の個数が設定個体数になるまで、新たな個体の生成が繰り返される。
【００１２】
請求項６に記載の発明は、請求項１ないし５のいずれかに記載の最適化方法であって、前記ｄ）工程において、所定の条件が満たされる際に、前記ｄ１）工程における分類器の構築が再度行われる。
【００１３】
請求項７に記載の発明は、遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化装置であって、最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する記憶部と、前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める評価値算出部と、前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する個体生成部と、前記評価値算出部および前記個体生成部における処理を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する繰返制御部とを備え、前記繰返制御部が、前記個体生成部にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する分類器構築部と、前記個体生成部にて生成される新たな複数の個体を前記分類器にて分類することにより、前記評価値算出部において前記評価値が求められる個体を制限する分類制御部とを備える。
【００１４】
請求項８に記載の発明は、請求項７に記載の最適化装置であって、前記複数の個体が、複数通りの画像処理シーケンスをそれぞれ表現し、前記評価処理において、所定の対象画像に対して各個体が表現する画像処理シーケンスを実行することにより生成される処理済み画像と、前記対象画像から生成されるべき目標画像との一致度が求められる。
【００１５】
請求項９に記載の発明は、請求項８に記載の最適化装置であって、前記各個体が、複数の要素が並ぶ要素配列であり、前記複数の要素が、画像処理シーケンスに含まれる複数の画像処理における複数のパラメータの値を示し、前記特徴ベクトルにおける複数の特徴量が、前記複数のパラメータの値である。
【００１６】
請求項１０に記載の発明は、請求項８または９に記載の最適化装置であって、前記評価処理において、前記対象画像を含む複数の対象画像に対して前記各個体が表現する画像処理シーケンスを実行することにより生成される複数の処理済み画像と、前記複数の対象画像から生成されるべき複数の目標画像との一致度がそれぞれ求められ、前記分類器による分類結果が、前記評価値算出部において第１の個数の対象画像から前記評価値が求められるクラスと、前記第１の個数よりも少ない第２の個数の対象画像から前記評価値が求められるクラスと、前記評価値が求められないクラスとを含む。
【００１７】
請求項１１に記載の発明は、請求項７ないし１０のいずれかに記載の最適化装置であって、前記分類器が構築された後、前記個体生成部が、前記評価値が求められるクラスに前記分類器により分類される個体の個数が設定個体数になるまで、新たな個体の生成を繰り返す。
【００１８】
請求項１２に記載の発明は、請求項７ないし１１のいずれかに記載の最適化装置であって、所定の条件が満たされる際に、前記繰返制御部が、前記分類器構築部に分類器の構築を再度行わせる。
【００１９】
請求項１３に記載の発明は、遺伝的アルゴリズムまたは遺伝的プログラミングを用いる最適化処理をコンピュータに行わせるプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、ａ）最適化対象の複数通りの条件をそれぞれ表現する複数の個体を記憶する工程と、ｂ）前記最適化対象に応じて定められた評価処理により、前記複数の個体のそれぞれにおける評価値を求める工程と、ｃ）前記複数の個体のうち前記評価値が高い個体が優先的に含まれる選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな複数の個体を生成する工程と、ｄ）前記ｂ）およびｃ）工程を、終了条件を満たすまで繰り返すことにより、最適解として推定される個体を取得する工程とを実行させ、前記ｄ）工程が、ｄ１）繰り返されるｃ）工程にて生成される個体を含む複数の教師個体のそれぞれから取得される特徴ベクトルと、前記複数の教師個体のそれぞれにおける前記評価値に基づくクラスとを用いて学習を行うことにより分類器を構築する工程と、ｄ２）前記ｄ１）工程の後の各ｃ）工程にて生成される新たな複数の個体を前記分類器にて分類することにより、前記各ｃ）工程の次のｂ）工程において前記評価値が求められる個体を制限する工程とを備える。
【００２０】
請求項１４に記載の発明は、画像処理装置であって、対象物を撮像した撮像画像を記憶する画像記憶部と、画像処理シーケンスを取得する請求項７ないし１２のいずれかに記載の最適化装置と、前記撮像画像に対して前記画像処理シーケンスを実行する画像処理部とを備える。
【発明の効果】
【００２１】
本発明によれば、遺伝的アルゴリズムまたは遺伝的プログラミングを用いた最適化処理において、最適解に至るまでの演算時間を短縮することができる。
【図面の簡単な説明】
【００２２】
【図１】検査装置の構成を示すブロック図である。
【図２】コンピュータの構成を示す図である。
【図３】画像処理取得装置の機能構成を示すブロック図である。
【図４】画像処理シーケンスを説明するための図である。
【図５】欠陥領域抽出用の画像処理シーケンスを取得する処理の流れを示す図である。
【図６】比較例の処理における一致度の変化を示す図である。
【図７】遺伝的プログラミングにおける個体を示す図である。
【発明を実施するための形態】
【００２３】
図１は、本発明の一の実施の形態に係る検査装置１の構成を示すブロック図である。検査装置１は、様々な対象物の外観を検査する装置である。検査装置１における検査の対象物として、半導体基板やガラス基板、プリント配線基板等の基板が例示される。
【００２４】
検査装置１は、撮像部１１と、欠陥検出部１２と、コンピュータ２とを備える。欠陥検出部１２は、画像記憶部１３と、画像処理部１４とを備える。撮像部１１は、対象物を撮像して当該対象物の外観を示す撮像画像を取得する。撮像画像は、欠陥検出部１２に入力され、画像記憶部１３にて記憶される。画像処理部１４では、コンピュータ２により取得された欠陥領域抽出用の画像処理シーケンスが設定されており、撮像画像に対して当該画像処理シーケンスが実行される。これにより、対象物が欠陥を含む場合に、撮像画像中の欠陥領域を示す画像が取得される。すなわち、対象物の欠陥が検出される。画像処理部１４による処理では、後述の参照画像が利用されてもよい。検査装置１では、画像処理シーケンスを取得するコンピュータ２と、画像処理シーケンスを実行する欠陥検出部１２とにより、画像処理装置が実現される。欠陥検出部１２は、コンピュータ２により実現されてもよい。
【００２５】
図２はコンピュータ２の構成を示す図である。コンピュータ２は各種演算処理を行うＣＰＵ２１、基本プログラムを記憶するＲＯＭ２２および各種情報を記憶するＲＡＭ２３を含む一般的なコンピュータシステムの構成となっている。コンピュータ２は、情報記憶を行う固定ディスク２４、画像等の各種情報の表示を行うディスプレイ２５、操作者からの入力を受け付けるキーボード２６ａおよびマウス２６ｂ（以下、「入力部２６」と総称する。）、光ディスク、磁気ディスク、光磁気ディスク等のコンピュータ読み取り可能な記録媒体９１から情報の読み取りを行ったり記録媒体９１に情報の書き込みを行う読取／書込装置２７、並びに、外部と通信を行う通信部２８をさらに含む。
【００２６】
コンピュータ２では、事前に読取／書込装置２７を介して記録媒体９１からプログラム９２が読み出されて固定ディスク２４に記憶されている。ＣＰＵ２１は、プログラム９２に従ってＲＡＭ２３や固定ディスク２４を利用しつつ演算処理を実行する。これにより、後述の画像処理取得装置の機能が実現される。
【００２７】
図３は、コンピュータ２が実現する画像処理取得装置２０の機能構成を示すブロック図である。画像処理取得装置２０は、演算部３１と、記憶部３２とを備える。演算部３１は、個体生成部３１１と、個体記憶部３１２と、評価値算出部３１３と、繰返制御部３１４とを備える。繰返制御部３１４は、分類制御部３１５と、分類器構築部３１６とを備える。演算部３１の処理の詳細については後述する。なお、演算部３１の機能は専用の電気回路により構築されてもよく、部分的に専用の電気回路が利用されてもよい。
【００２８】
記憶部３２は、複数の画像データセット４０を記憶する。各画像データセット４０は、対象画像データ４１と、参照画像データ４２と、目標画像データ４３とを含む。対象画像データ４１は対象画像を示し、参照画像データ４２は参照画像を示し、目標画像データ４３は目標画像を示す。
【００２９】
対象画像は、対象物上の欠陥、および、その周囲を示す画像であり、例えば、撮像部１１により取得される。参照画像は、欠陥が存在しない対象物を示す画像である。参照画像は、対象画像と同じ領域を示す。目標画像は、対象画像における欠陥領域のみを示す画像である。目標画像は、例えば、操作者が、対象画像における非欠陥領域を塗りつぶす作業を行うことにより、予め生成されて準備される。もちろん、目標画像は他の手法により生成されてよい。対象画像、参照画像および目標画像は、多階調画像または二値画像のいずれであってもよい（後述の処理済み画像において同様）。複数の画像データセット４０は、欠陥の種類や撮像条件等が互いに異なる対象画像を含む。
【００３０】
画像処理取得装置２０では、選択された複数の画像処理を決められた順序にて画像に対して実行する処理を画像処理シーケンスとして、各対象画像を同じ画像データセット４０に含まれる目標画像に近似させる画像処理シーケンスが取得される。すなわち、欠陥領域を抽出対象領域として、欠陥領域抽出用の画像処理シーケンスが取得される。また、当該画像処理シーケンスの取得では、遺伝的アルゴリズムを用いた後述の最適化処理が利用される。画像処理取得装置２０は、欠陥領域抽出用の画像処理シーケンスを最適化対象として最適化処理を行う最適化装置である。
【００３１】
図４は、画像処理シーケンス５を説明するための図である。画像処理取得装置２０では、例えば、図４の下段に示す要素配列６にて画像処理シーケンス５が表現されており、図４の上段は、当該要素配列６が示す画像処理シーケンス５の構造を抽象的に示している。
【００３２】
画像処理シーケンス５は、順次実行される複数の画像処理を含み、図４の上段では、当該複数の画像処理において最初に実行される第１画像処理５１ａと、２番目に実行される第２画像処理５１ｂとを示している。画像処理シーケンス５では、他の画像処理が含まれてよい。画像処理シーケンス５には、対象画像データ４１が入力され、対象画像に対して第１画像処理５１ａが施される。続いて、第１画像処理５１ａが施された画像に対して第２画像処理５１ｂが施される。このようにして、画像処理シーケンス５に含まれる複数の画像処理が順次実行され、最後の画像処理の処理結果が処理済み画像データ４４として出力される。処理済み画像データ４４は処理済み画像を示す。
【００３３】
画像処理シーケンス５を表現する要素配列６は、遺伝的アルゴリズムにおける個体である。図４の下段に示すように、要素配列６では、それぞれが値を収容する複数の要素６００が一列に並ぶ。複数の要素６００には、例えば昇順の要素番号が付されている。要素配列６は、第１画像処理部６１ａと、第２画像処理部６１ｂとを含む。第１および第２画像処理部６１ａ，６１ｂは、画像処理シーケンス５における第１および第２画像処理５１ａ，５１ｂにそれぞれ対応する。各画像処理部６１ａ，６１ｂは、少なくとも１つの要素６００の集合である。図４の下段では、各画像処理部６１ａ，６１ｂに含まれる要素６００を太い破線の矩形にて囲む。第１画像処理部６１ａの複数の要素６００は、第１画像処理５１ａにおける複数のパラメータの値をそれぞれ示す。第２画像処理部６１ｂの複数の要素６００は、第２画像処理５１ｂにおける複数のパラメータの値をそれぞれ示す。各画像処理５１ａ，５１ｂにおけるパラメータは、例えば、当該画像処理に用いられる各種フィルタ（ノイズ除去フィルタ等）のサイズや処理の強弱の度合い、あるいは、二値化処理における閾値等である。
【００３４】
対象画像に対する画像処理シーケンスの実行（処理済み画像の取得）では、対象画像のみならず、他の画像が利用されてよい。例えば、一の画像処理が、対象画像と参照画像との差分画像を取得して二値化する処理である場合には、対象画像および参照画像を用いて当該処理が行われる。また、一の画像処理が、一のフィルタ処理を施した対象画像と、他の一のフィルタ処理を施した参照画像との差分画像を取得して二値化する処理である場合には、当該画像処理は、対象画像および参照画像に対する並列した処理を含む。さらに、一の画像処理と他の画像処理とが並列して実行され、両画像処理にて取得される２つの画像を用いて、さらに他の画像処理が行われてもよい。
【００３５】
図５は、画像処理取得装置２０が、欠陥領域抽出用の画像処理シーケンスを取得する処理の流れを示す図である。画像処理シーケンスの取得では、まず、複数の画像データセット４０が準備され、画像処理取得装置２０に入力される。複数の画像データセット４０は、記憶部３２にて記憶される。また、入力部２６を介した操作者の入力に基づいて、複数通りの画像処理シーケンスをそれぞれ表現する複数の要素配列６が生成され、個体記憶部３１２に記憶される（ステップＳ１１）。複数の要素配列６は互いに相違しており、複数通りの条件の画像処理シーケンスを示す。既述のように、要素配列６は、遺伝的アルゴリズムにおける個体であり、以下、「個体６」と呼ぶ。
【００３６】
複数の個体６では、要素６００の個数は同じである。複数の個体６において、同じ要素番号の要素６００は、画像処理シーケンス５の同じ画像処理のパラメータに対応し、当該パラメータの値を示す要素６００の値は原則として相違する。当該複数の個体６は、遺伝的アルゴリズムにおける初期世代に属する。以下、ステップＳ１１にて準備される個体６の個数を「設定個体数」という。本処理例では、設定個体数は２以上である。ステップＳ１１では、画像処理シーケンス５の基本構造のみが操作者により決定され、個体生成部３１１が各要素６００の値をランダムに決定することにより、初期世代の複数の個体６が準備されてもよい。なお、各画像処理のパラメータが取り得る値の範囲は予め設定される。
【００３７】
続いて、評価値算出部３１３では、予め定められた評価処理により、複数の個体６のそれぞれにおける評価値が求められる（ステップＳ１２）。評価処理では、設定個体数の個体６が示す設定個体数の画像処理シーケンスのそれぞれを対象画像に対して実行することにより、当該対象画像に対して設定個体数の処理済み画像が取得される。そして、各処理済み画像と、当該対象画像から生成されるべき目標画像との一致度を示す値が求められる。一致度を示す値として、例えば、２値の処理済み画像と２値の目標画像との差分画像において、画素の値が０となる領域の面積率等が求められる。処理済み画像と目標画像との一致度を示す値は、様々な手法にて求められてよい。
【００３８】
既述のように、画像処理取得装置２０では、複数の画像データセット４０が準備されており、各個体６が示す画像処理シーケンスにより複数の処理済み画像が取得される。評価値算出部３１３では、各個体６を用いて取得される複数の処理済み画像における一致度を示す値の代表値が、当該個体６の評価値（適応度）として求められる。各個体６および評価値は、繰返制御部３１４に出力され、分類器構築部３１６にて記憶される。ここで、代表値は、複数の値の分布の中央近傍を示す値であり、典型的には平均値や中央値である。
【００３９】
複数の個体６のそれぞれの評価値が求められると、繰返制御部３１４では、終了条件が満たされたか否かが確認される（ステップＳ１３）。例えば、現世代（現時点では、初期世代）の複数の個体６における評価値のうち最大の評価値（以下、「世代評価値」という。）が、予め定められた設定値以上である場合や、世代評価値が所定数の世代の間変化しない場合、あるいは、現世代が、予め指定された世代番号である場合等に、終了条件を満たしたと判定される。現時点では、終了条件が満たされていないとものとする。
【００４０】
また、繰返制御部３１４では、分類器の構築条件が満たされたか否かが確認される（ステップＳ１４）。本処理例では、分類器を構築すべき世代（世代番号）が予め定められており、現世代が当該世代である場合に、分類器の構築条件を満たしたと判定される。現時点では、分類器の構築条件が満たされていないとものとする。
【００４１】
個体生成部３１１では、現世代と同数の（すなわち、設定個体数の）個体６が、新たな個体６として、現世代の複数の個体６から選択される（ステップＳ１５）。新たな設定個体数の個体６は、現世代の同じ個体６を重複して含んでよい。新たな個体６の選択は、現世代の個体６の評価値に基づいて行われる。例えば、現世代の各個体６の評価値を、現世代の全ての個体６の評価値の和で割った値が、当該個体６の選択確率として求められ、選択確率が高い個体６ほど高い確率にて新たな個体６に含められる（いわゆる、ルーレット選択）。このように、ステップＳ１５における個体６の選択では、現世代の複数の個体６のうち評価値が高い個体６が、新たな個体６に優先的に含められる。
【００４２】
続いて、新たな設定個体数の個体６に対して、遺伝的操作が行われる。具体的には、まず、新たな各個体６の要素６００の突然変異が行われる（ステップＳ１６）。例えば、各要素６００に対して、予め設定された突然変異確率に従って、実際に突然変異を行うか否かが決定される。既述のように、個体６の各要素６００では、当該要素６００が取り得る数値範囲が予め設定されており、突然変異を行うことが決定された要素６００の値が、その取り得る数値範囲内のいずれか１つの値にランダムに変更される。
【００４３】
各個体６の突然変異が完了すると、２つの個体６から新たな２つの個体６を生成する交叉が行われる（ステップＳ１７）。本処理例では、突然変異後の設定個体数の個体６において２つの個体６の複数の組合せ（ペア）が定められている。そして、２つの個体６の各組合せにおいて、交叉範囲がランダムに決定され、当該交叉範囲内の要素６００を両個体６間で入れ換える交叉（二点交叉）が行われる。交叉範囲の決定では、交叉範囲がない、すなわち、交叉を行わない場合を含んでよい。交叉では、一点交叉や、一様交叉等が行われてもよい。
【００４４】
以上のようにして、評価値に基づく選択、並びに、突然変異および交叉を含む遺伝的操作により、新たな世代（現時点では、２番目の世代）に含まれる設定個体数の個体６が生成され、個体記憶部３１２に記憶される。新たな世代の複数の個体６の生成では、直前のステップＳ１２の処理にて取得された評価値のうち最大の評価値の個体６が、そのまま新たな個体６に追加されるエリート保存等が行われてもよい。また、ステップＳ１７における交叉が、ステップＳ１６における突然変異よりも前に行われてもよい。
【００４５】
新たな世代の複数の個体６が生成されると、ステップＳ１２へと戻って、当該新たな世代の各個体６が示す画像処理シーケンスを複数の対象画像に対して実行することにより、複数の処理済み画像が取得される。そして、複数の処理済み画像と対応する複数の目標画像との一致度を示す値に基づいて、当該個体６の評価値が求められる。なお、分類器が構築されていない状態では、ステップＳ１８はスキップされる。
【００４６】
繰返制御部３１４では、終了条件が満たされたか否か、および、分類器の構築条件が満たされたか否かが確認される（ステップＳ１３，Ｓ１４）。終了条件および分類器の構築条件が満たされていない場合、上記と同様に、個体６の選択、突然変異、および、交叉が行われ、次の世代の新たな複数の個体６が生成される（ステップＳ１５〜Ｓ１７）。そして、当該複数の個体６に対する評価処理により、当該複数の個体６の評価値が算出される（ステップＳ１２）。このようにして、ステップＳ１５〜Ｓ１７，Ｓ１２の処理が、終了条件または分類器の構築条件が満たされるまで繰り返される（ステップＳ１３，Ｓ１４）。
【００４７】
現世代が分類器を構築すべき世代となり、ステップＳ１４にて分類器の構築条件が満たされたことが確認されると、分類器構築部３１６により分類器３１７が構築される（ステップＳ１９）。分類器３１７の構築では、例えば、現世代までの全ての世代における全ての個体６のそれぞれが、教師個体として扱われる。すなわち、複数の教師個体は、繰り返されるステップＳ１５〜Ｓ１７により生成される複数の個体６を含む。分類器を構築すべき世代は、分類器３１７の構築に適した個数の個体６が揃う世代と捉えることができる。分類器を構築すべき世代は、各世代の世代評価値における、直前の世代の世代評価値からの増加率が所定の値以下となる世代等であってもよい。
【００４８】
既述のように、各個体６の複数の要素６００は、当該個体６が表現する画像処理シーケンスに含まれる複数の画像処理における複数のパラメータの値を示す。当該複数のパラメータの値をそれぞれ複数の特徴量として捉えることにより、各教師個体に対して複数の特徴量により規定される特徴ベクトルが取得される。また、各教師個体の評価値が記憶されており、例えば、ある値を判定閾値として、判定閾値以上の評価値を有する教師個体に「採用」のクラス（のラベル）が付与され、判定閾値未満の評価値を有する教師個体に「不採用」のクラスが付与される。すなわち、各教師個体に対して、「採用」のクラスまたは「不採用」のクラスが教示される。判定閾値は、例えば、評価値の降順で並ぶ全教師個体を所定の割合にて「採用」のクラスと「不採用」のクラスに分ける値や、全教師個体における最大の評価値の所定割合に相当する値等として決定される。もちろん、操作者により判定閾値が入力されてもよい。複数の教師個体には、操作者により予め準備された個体が含まれてもよい。
【００４９】
分類器構築部３１６では、各教師個体の特徴ベクトルが、分類器３１７に入力される。そして、分類器３１７により分類されるクラスが、当該教師個体のクラスと同じになるように学習が行われる。このように、複数の教師個体の特徴ベクトルと、複数の教師個体の評価値に基づくクラスとが教師データとして使用され、分類器３１７が構築される。分類器の構築とは、分類器が含むパラメータに値を付与したり、構造を決定すること等により分類器を生成することを意味する。分類器３１７を構築する方法（学習アルゴリズム）または機構としては、例えば、線形判別分析、決定木法、ニューラルネットワーク、サポートベクターマシン（ＳＶＭ）、ロジスティック回帰等が採用可能である。
【００５０】
分類器３１７の構築後では、ステップＳ１５〜Ｓ１７において新たな世代の複数の個体６が生成されると、分類制御部３１５が、新たな世代の各個体６の特徴ベクトルを分類器３１７に入力することにより、当該個体６が「採用」のクラスまたは「不採用」のクラスのいずれかに分類される（ステップＳ１８）。そして、次のステップＳ１２では、「採用」のクラスに分類された個体６のみを用いて、複数の対象画像から複数の処理済み画像が取得され、当該個体６の評価値が算出される。「採用」のクラスに分類された個体６の評価値は、一定の値以上となることが予測される。「不採用」のクラスに分類された個体６については、処理済み画像は取得されず、評価値は算出されない。
【００５１】
「採用」のクラスに分類された個体６に対する評価値の算出では、一部の対象画像のみが用いられてもよい。例えば、全ての対象画像を複数の対象画像グループに分割し、１つの対象画像グループに含まれる対象画像から評価値が算出される。評価値の算出に用いられる対象画像グループは、順次変更される、または、ランダムに選択される。各世代において、評価値の算出に用いられる一部の対象画像が全ての対象画像からランダムに抽出されてもよい。
【００５２】
以上のように、ステップＳ１９が行われた後、ステップＳ１５〜Ｓ１７が行われる毎に、ステップＳ１８にて新たな世代の複数の個体６を分類器３１７にて分類することにより、次のステップＳ１２において評価値が求められる個体６が制限（スクリーニング）される。ステップＳ１５〜Ｓ１８，Ｓ１２の処理は、終了条件が満たされるまで繰り返される（ステップＳ１３）。このとき、現世代の個体６の評価値に基づいて新たな個体６を選択するステップＳ１５では、評価値が求められない「不採用」のクラスに分類された個体６に対して、例えば、判定閾値よりも十分に低い一定の評価値（評価値の最小値である０を含む。）が付与される。したがって、「不採用」のクラスに分類された個体６は、実質的に淘汰される。
【００５３】
分類器３１７は、更新されてもよい。例えば、分類器の構築条件が、一定世代数毎の分類器の更新を含む場合、分類器３１７が構築された世代から当該世代数だけ世代が変わる毎に（分類器の構築条件が満たされる毎に）、繰返制御部３１４の制御により、ステップＳ１９における分類器構築部３１６による分類器３１７の構築が再度行われる。分類器３１７の更新は、最初の分類器３１７が構築された後、各世代にて行われてもよい。
【００５４】
２回目以降の分類器３１７の構築（更新）に用いられる複数の教師個体は、例えば、現世代までの全ての世代における全ての個体６のうち評価値が実際に算出されたものであり、「不採用」のクラスに分類された個体６は含まれない。分類器３１７の構築では、直近の所定数の世代における個体６のみが教師個体として用いられてもよく、この場合、教師個体の個数が比較的少なくなり、分類器３１７の構築に要する時間が短縮される。「不採用」のクラスに分類された個体６に対して「不採用」のクラスを付与しつつ、当該個体６（評価値が算出されない個体６）が教師個体に含められてもよい。分類器の構築条件として、世代評価値が、直前の分類器３１７の構築の際における世代評価値から、所定の値だけ上昇した場合等が含まれてもよい。
【００５５】
このように、必要に応じて分類器３１７を更新しつつ（ステップＳ１４，Ｓ１９）、新たな世代の複数の個体６の生成（ステップＳ１５〜Ｓ１７）、当該複数の個体６の分類（ステップＳ１８）、および、評価値の算出（ステップＳ１２）が、終了条件が満たされるまで繰り返される（ステップＳ１３）。ステップＳ１３にて終了条件が満たされたことが確認されると、例えば直前のステップＳ１２にて評価値が求められた現世代の複数の個体６のうち、評価値が最大である個体６が、欠陥領域抽出用の画像処理シーケンスを示す個体６として決定される。すなわち、遺伝的アルゴリズムを用いた本最適化処理において最適解として推定される個体６が取得される（ステップＳ２０）。欠陥領域抽出用の画像処理シーケンスは、欠陥検出部１２の画像処理部１４に入力され、検査装置１における対象物の外観の検査に利用される。
【００５６】
次に、図５の処理において分類器の構築（ステップＳ１４，Ｓ１９）、および、個体の分類（ステップＳ１８）を省略した比較例の処理について説明する。比較例の処理では、新たな世代の複数の個体の生成（ステップＳ１５〜Ｓ１７）、および、当該複数の個体の全てに対する評価値の算出（ステップＳ１２）が、終了条件が満たされるまで繰り返される（ステップＳ１３）。
【００５７】
図６は、比較例の処理における一致度の変化を示す図である。比較例の処理では、１０個の対象画像（画像データセット４０）を用いており、図６では、代表的な３個の対象画像に対して求められる一致度（２０個の個体による一致度のうち最大の一致度である。図６を参照する説明において、以下同様である。）を符号Ｌ１，Ｌ２，Ｌ３を付す線にて示し、１０個の対象画像における一致度の平均を符号Ｌ０を付す線にて示す。図６から判るように、初期世代では一致度の向上が急激であるが、世代が上がるに従って一致度の向上は鈍くなる。実際には、数十世代に亘って一致度がほとんど変化しない場合もある。比較例の処理では、このような期間においても、全ての個体の評価値が算出され、対象画像に対して画像処理シーケンスを実行する回数が多くなる。
【００５８】
ここで、画像処理シーケンスに含まれる典型的な画像処理は、フィルタを用いた処理であり、当該処理では、対象画像の各画素に対して当該フィルタのサイズ分の積和演算が行われる。仮に、当該フィルタのサイズが３行３列であり、対象画像のサイズが１０００行１０００列である場合には、（３×３）個の積和演算が（１０００×１０００）回繰り返される。実際には、画像処理シーケンスには複数の画像処理が含まれるため、一の対象画像に対する一回の画像処理シーケンスの実行に、ある程度の演算時間を要してしまう。仮に、当該演算時間がおよそ１秒であり、一の対象画像に関して進化の停滞から抜け出すまでに３０世代を要した場合には、６００秒（２０［個体］×３０［世代］×１［秒］）の演算時間が費やされることとなる。複数の対象画像が準備される場合、演算時間はさらに増大する。
【００５９】
一方、図３の画像処理取得装置２０では、個体生成部３１１にて生成される個体６を含む複数の教師個体が準備されると、当該複数の教師個体のそれぞれから取得される特徴ベクトルと、当該複数の教師個体のそれぞれにおける評価値に基づくクラスとを用いて学習を行うことにより分類器３１７が構築される。そして、分類器３１７の構築後に、個体生成部３１１にて生成される新たな複数の個体６を当該分類器３１７にて分類することにより、評価値算出部３１３において評価値が求められる個体６が制限（限定）される。
【００６０】
例えば、分類器３１７において、クラスの分類に利用される値が、特徴ベクトルが示す数百個の特徴量と、これらの特徴量にそれぞれ対応する重み係数との積和演算にて求められる場合、一の個体６の分類では、数百個の積和演算が１回だけ行われる。したがって、分類器３１７による一の個体６の分類に要する演算時間は、当該個体６に対する評価値の算出（対象画像に対する画像処理シーケンスの実行）に比べて極めて短くなる。また、個体６の分類に要する演算時間は、評価値の算出に用いる対象画像のサイズや、対象画像の個数、あるいは、画像処理シーケンスの複雑さ等には依存しない。
【００６１】
よって、評価値が求められる個体６を、分類器３１７を用いた分類により制限する画像処理取得装置２０では、画像処理シーケンスの実行回数を少なくして、最適解に至るまでの演算時間を短縮することができる。その結果、好ましい（高精度な）欠陥領域抽出用の画像処理シーケンスを短時間にて効率よく取得することができる。当該画像処理シーケンスを用いる欠陥検出部１２では、撮像画像から欠陥領域を精度よく抽出することが可能となる。
【００６２】
また、各個体６が示す画像処理シーケンスにより複数の対象画像から複数の処理済み画像が取得され、当該複数の処理済み画像に基づいて当該個体６の評価値が求められる。これにより、様々な撮像画像に対して欠陥領域を精度よく抽出することが可能な画像処理シーケンスを安定して取得することが可能となる。なお、欠陥領域抽出用の画像処理シーケンスに求められる精度によっては、１つの対象画像のみが用いられてもよい。
【００６３】
画像処理取得装置２０では、個体生成部３１１により生成された設定個体数の個体６において、分類器３１７により「不採用」のクラスに分類された個体６が存在する場合に、「不採用」の個体６に替わる新たな個体６がさらに生成されてもよい。すなわち、個体生成部３１１による新たな個体６の生成（ステップＳ１５〜Ｓ１７）、および、分類器３１７による個体６の分類（ステップＳ１８）が、評価値が求められる「採用」のクラスに分類される個体６の個数が設定個体数になるまで繰り返される。そして、「採用」のクラスに分類される設定個体数の個体６の評価値が、評価値算出部３１３により算出される（ステップＳ１２）。この場合も、「不採用」のクラスに分類された個体６に対する評価処理が実質的に省略されるため、最適解に至るまでの演算時間を短縮することができる。また、最適化処理における進化の停滞も抑制される。
【００６４】
次に、分類器３１７が個体６を３個のクラスのいずれかに分類する他の処理例について説明する。当該他の処理例では、ステップＳ１９における分類器の構築において、第１判定閾値以上の評価値を有する教師個体に「良」のクラスが付与され、第１判定閾値未満、かつ、第１判定閾値よりも低い第２判定閾値以上の評価値を有する教師個体に「可」のクラスが付与される。また、第２判定閾値未満の評価値を有する教師個体に「不採用」のクラスが付与される。そして、分類器構築部３１６では、複数の教師個体の特徴ベクトルと、当該複数の教師個体の評価値に基づくクラスとを用いて学習を行うことにより、分類器３１７が構築される。
【００６５】
ステップＳ１８では、新たな世代の各個体６が、分類器３１７により「良」のクラス、「可」のクラス、または、「不採用」のクラスのいずれかに分類される。次のステップＳ１２では、「不採用」のクラスに分類された個体６については、処理済み画像は取得されず、評価値は算出されない。一方、「可」のクラスに分類された個体６については、記憶部３２に記憶される複数の対象画像のうち、予め定められた第１の個数の対象画像（例えば、全ての対象画像）を用いて第１の個数の処理済み画像が取得される。そして、これらの処理済み画像における一致度を示す値の代表値が、当該個体６の評価値として算出される。また、「良」のクラスに分類された個体６については、複数の対象画像のうち、第１の個数よりも少ない第２の個数の対象画像（例えば、半分の対象画像）を用いて第２の個数の処理済み画像が取得される。そして、これらの処理済み画像における一致度を示す値の代表値が、当該個体６の評価値として算出される。評価値に基づく新たな世代の個体６の生成（ステップＳ１５〜Ｓ１７）は、上記と同様である。
【００６６】
以上のように、上記処理例では、ステップＳ１８における分類器３１７による分類結果が、次のステップＳ１２において第１の個数の対象画像から評価値が求められる「可」のクラスと、第１の個数よりも少ない第２の個数の対象画像から評価値が求められる「良」のクラスと、評価値が求められない「不採用」のクラスとを含む。このように、高い評価値が見込まれる「良」のクラスの個体６において、評価値の算出に利用する対象画像を少なくすることにより、演算時間をさらに短縮することができる。もちろん、分類器３１７が、個体６を４以上のクラスのいずれかに分類するものであってもよい。
【００６７】
また、分類器構築部３１６では、外れ値検出を行う分類器３１７が構築されてもよい。このような分類器３１７の構築では、現世代までの全ての世代における全ての個体６のうち、例えば最大の評価値（当該全ての個体６の最大の評価値）の７０％以下の評価値を有する個体６のみが教師個体として扱われる。すなわち、教師個体は、評価値が比較的低い個体６である。そして、複数の教師個体から取得される複数の特徴ベクトルを用いて学習を行うことにより、比較的低い評価値の集合に対する外れ値を検出する分類器３１７が構築される。
【００６８】
高次元データである特徴ベクトルを用いる外れ値検出に利用可能なアルゴリズムとしては、１クラスサポートベクターマシンが例示される。また、Hans-Peter Kriegelらによる"Angle-Based Outlier Detection in High-dimensional Data"に記載の手法、Charu C. Aggarwalらによる"Outlier Detection for High Dimensional Data"に記載の手法、Hans-Peter Kriegelらによる"Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data"に記載の手法、Charles Suttonらによる"Feature Bagging: Preventing Weight Undertraining in Structured Discriminative Learning"に記載の手法、Fabian Kellerらによる"HiCS: High Contrast Subspaces for Density-Based Outlier Ranking"に記載の手法、並びに、Hans-Peter Kriegelらによる"Outlier Detection in Arbitrarily Oriented Subspaces"に記載の手法等も利用可能である（上記非特許文献１ないし６参照）。
【００６９】
分類制御部３１５では、個体生成部３１１により生成される各個体６の特徴ベクトルが分類器３１７に入力される。そして、分類器３１７により特徴ベクトルが外れ値として検出される個体６のみに対して、評価値算出部３１３による評価値の算出が行われる。既述のように、全ての教師個体の評価値は比較的低いため、分類器３１７により外れ値として検出される個体６では、高い評価値が得られることが期待される。本処理例では、全ての教師個体には、評価値に基づいて「不採用」のクラスが付与されており、分類器３１７により外れ値として検出される個体６は、実質的に「採用」のクラスに分類されていると捉えることができる。
【００７０】
外れ値検出を行う分類器３１７を用いる場合も、評価処理を行う個体６の個数を少なくすることができ、最適解に至るまでの演算時間を短縮することができる。また、外れ値検出を行う分類器３１７も、上記処理例と同様に更新されてよい。この場合、典型的には、分類器３１７を更新するに従って、更新に利用される教師個体の最大の評価値が大きくなり、より高い評価値となる個体６を外れ値として検出する分類器３１７が構築される。すなわち、分類器３１７を更新するに従って、分類器３１７の性能が向上する。
【００７１】
画像処理取得装置２０における最適化処理では、遺伝的プログラミングが利用されてもよい。遺伝的プログラミングでは、画像処理シーケンスを表現する個体は、木構造となる。例えば、図７に示す個体６ａは、１つの画像の入力を示す終端ノードＩ１〜Ｉ４と、１つまたは複数の画像が入力されるとともに１つの画像を出力する非終端ノードＦ１〜Ｆ７，Ｆ１０，Ｆ１００と、を含む。終端ノードＩ１〜Ｉ４には、一の画像データセット４０に含まれる対象画像または参照画像（のデータ）が入力される。
【００７２】
非終端ノードＦ１〜Ｆ７，Ｆ１０，Ｆ１００は、典型的には、画像処理フィルタを示す。１入力の非終端ノードＦ１〜Ｆ７では、入力される１つの画像に対して所定の画像処理（平均値フィルタ処理や、最大値フィルタ処理等）が実行され、処理後の１つの画像が次のノードに出力される。２入力の非終端ノードＦ１０では、２つの非終端ノードＦ３，Ｆ５から入力される２つの画像に対して所定の画像処理（論理和演算や、論理積演算等）が実行され、処理後の１つの画像が次のノードに出力される。３入力の非終端ノード（ルートのノード）Ｆ１００では、非終端ノードＦ６，Ｆ７および終端ノードＩ４から入力される３つの画像に対して所定の画像処理が実行され、処理後の１つの画像が処理済み画像として出力される。画像処理取得装置２０では、多数の種類の画像処理が準備されており、様々な木構造の各ノードとして任意の画像処理が割り当てられることにより、様々な画像処理シーケンスが表現される。
【００７３】
図５の最適化処理において、ステップＳ１６の突然変異では、各個体６ａの木構造においてノードや部分木の変更または削除がランダムに行われる。ステップＳ１７の交叉では、ペアとなる２つの個体６ａのそれぞれにおいて、１つのノードを交叉位置としてランダムに選択し、当該交叉位置よりも末端の部分である部分木を当該２つの木構造にて入れ替えることにより、新たな２つの個体６ａが生成される。なお、ステップＳ１５の個体６ａの選択およびステップＳ１２の評価値の算出は、遺伝的アルゴリズムの場合と同様である。
【００７４】
ステップＳ１９の分類器の構築では、各教師個体（木構造）において、３入力のノードの個数、２入力のノードの個数、１入力のノードの個数、各種類の画像処理を示すノードの個数等が特徴量として扱われ、教師個体から特徴ベクトルが取得される。そして、各教師個体の特徴ベクトルと、当該教師個体の評価値に基づくクラスとを用いて学習を行うことにより、分類器３１７が構築される。ステップＳ１８では、新たな世代の各個体６ａから取得される特徴ベクトルを分類器３１７に入力することにより、当該個体６ａがいずれかのクラスに分類される。
【００７５】
以上のように、評価値が求められる個体６ａを、分類器３１７を用いた分類により制限する手法は、遺伝的プログラミングを用いた最適化処理においても採用することが可能である。この場合も、評価処理の回数を少なくすることができ、最適解に至るまでの演算時間を短縮することができる。
【００７６】
上記検査装置１および画像処理取得装置２０では、様々な変形が可能である。
【００７７】
上記実施の形態では、複数の対象画像に対して共通の分類器３１７が構築されるが、画像処理取得装置２０の設計によっては、複数の対象画像に対して互いに異なる分類器が構築されてもよい。具体的には、各教師個体が表現する画像処理シーケンスを各対象画像に施すことにより取得される処理済み画像と、対応する目標画像との一致度を用いて、当該教師個体の当該対象画像に関するクラスが決定される。分類器構築部３１６では、各対象画像に対する分類器が、複数の教師個体の特徴ベクトルと、当該複数の教師個体の当該対象画像に関するクラスとを用いた学習により構築される。各個体を分類する際には、例えば、複数の分類器による分類結果の多数決により、当該個体が「採用」のクラスまたは「不採用」のクラスに分類される。
【００７８】
検査装置１では、太陽電池パネルのＥＬ（エレクトロ・ルミネッセンス）発光やＰＬ（フォト・ルミネッセンス）発光を撮像して得られる画像や、レーザーテラヘルツエミッション顕微鏡（ＬＴＥＭ）を用いて得られる太陽電池パネルの画像等を用いて、太陽電池パネルの欠陥が検出されてもよい。また、樹脂や金属等により形成される各種部品の画像を用いて、当該部品の欠陥が検出されてもよい。欠陥の検出に用いられる画像は、電子線やＸ線等により撮像される画像であってもよい。
【００７９】
画像処理取得装置２０では、欠陥領域抽出用の画像処理シーケンス以外の画像処理シーケンスが取得されてよい。例えば、血液や培養液等の所定の液中の細胞を撮像した細胞画像を対象画像とし、当該細胞の領域を抽出対象領域として、上記最適化処理により、細胞領域抽出用の画像処理シーケンスが取得されてもよい。また、領域の抽出以外の用途に用いられる画像処理シーケンスが取得されてもよい。
【００８０】
遺伝的アルゴリズムまたは遺伝的プログラミングを用いた上記最適化処理は、画像処理シーケンス以外に、各種製品の設計、プロセス条件、文章や音声の解析アルゴリズム等、様々な最適化対象における条件の最適化に利用することが可能である。例えば、レンズの設計を最適化対象とする場合には、個体生成部３１１により、レンズの曲率半径、厚さ、屈折率等の設計パラメータ群の複数通りの条件をそれぞれ表現する複数の個体が生成され、個体記憶部３１２にて記憶される。また、評価値算出部３１３では、各個体が表現するレンズにおける収差の算出等、最適化対象に応じて定められた評価処理により各個体の評価値が求められる。繰返制御部３１４では、分類器３１７を構築（または再構築）しつつ、個体生成部３１１による新たな世代の個体の生成、分類器３１７による個体の分類、および、評価値算出部３１３による評価値の算出が、終了条件が満たされるまで繰り返される。以上のように、個体生成部３１１、個体記憶部３１２、評価値算出部３１３および繰返制御部３１４を主たる構成として実現される最適化装置は、様々な最適化対象における条件の最適化に利用することが可能である。
【００８１】
上記実施の形態および各変形例における構成は、相互に矛盾しない限り適宜組み合わされてよい。
【符号の説明】
【００８２】
２    コンピュータ
５    画像処理シーケンス
６，６ａ    個体
１２    欠陥検出部
１３    画像記憶部
１４    画像処理部
２０    画像処理取得装置
４１    対象画像データ
４３    目標画像データ
４４    処理済み画像データ
５１ａ，５１ｂ    画像処理
９２    プログラム
３１１    個体生成部
３１２    個体記憶部
３１３    評価値算出部
３１４    繰返制御部
３１５    分類制御部
３１６    分類器構築部
３１７    分類器
６００    要素
Ｓ１１〜Ｓ２０    ステップ
【図１】
0006641195.tif 000002
【図２】
0006641195.tif 000003
【図３】
0006641195.tif 000004
【図４】
0006641195.tif 000005
【図５】
0006641195.tif 000006
【図６】
0006641195.tif 000007
【図７】
0006641195.tif 000008