(57)【要約】【課題】  短時間で、優良な（認識率の高い）画像処理アルゴリズムを生成することが可能な画像処理アルゴリズム生成方法、画像処理アルゴリズム生成装置、画像処理アルゴリズム生成プログラムおよび記録媒体を提供する。【解決手段】  Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出された画像処理アルゴリズムを選択し、選択された画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、高確率に設定する。高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する。【選択図】        図４
2006244031.tif 000002
【特許請求の範囲】
【請求項１】
予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する画像処理アルゴリズム生成方法であって、
複数の画像処理アルゴリズムを生成する工程を、所定の終了条件を満たすまで世代を変えながら繰り返す工程を含み、
前記所定の終了条件が満たされた世代で生成された画像処理アルゴリズムは、前記少なくとも１つの最終画像処理アルゴリズムであり、
前記複数の画像処理アルゴリズムの各々は、前記複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、
Ｎ（自然数）＋１世代の前記複数の画像処理アルゴリズムを生成する工程は、
前記処理対象画像に、Ｎ世代の前記複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成する工程と、
前記Ｎ世代の複数の画像処理アルゴリズムの各々に対し、前記目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出する工程と、
前記Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程と、
前記Ｎ世代の複数の画像処理アルゴリズムの少なくとも１つを変化させる世代交代処理を行なう工程とを含み、
前記世代交代処理を行なう工程は、
Ｎ世代の前記選択された少なくとも１つの画像処理アルゴリズムにおいて、前記複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、前記複数種類の画像処理フィルタの中から選択する選択確率を、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する工程と、
前記高確率に設定された前記選択確率に基づいて、前記選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する工程とを含む、画像処理アルゴリズム生成方法。
【請求項２】
前記所定の終了条件は、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムのいずれかの前記評価値が、所定値以上となる条件である、請求項１に記載の画像処理アルゴリズム生成方法。
【請求項３】
前記世代交代処理を行なう工程は前記Ｎ世代の複数の画像処理アルゴリズムの少なくとも２つを変化させ、
前記世代交代処理を行なう工程は、
前記複数の画像処理アルゴリズムのうち、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズム以外の少なくとも１つの画像処理アルゴリズムを、進化的手法を用いてＮ＋１世代の少なくとも１つの画像処理アルゴリズムとして生成する工程をさらに含む、請求項１または請求項２に記載の画像処理アルゴリズム生成方法。
【請求項４】
前記進化的手法は、遺伝的アルゴリズムである、請求項３に記載の画像処理アルゴリズム生成方法。
【請求項５】
Ｎ＋１世代の前記選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数は、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数と異なる、請求項１〜請求項４のいずれかに記載の画像処理アルゴリズム生成方法。
【請求項６】
前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程では、前記Ｎ世代の複数の画像処理アルゴリズムのうち、算出された前記評価値が最も大きい最良画像処理アルゴリズムが１つ選択される、請求項１〜５のいずれかに記載の画像処理アルゴリズム生成方法。
【請求項７】
前記最良画像処理アルゴリズムにおいて、前記ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして前記複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ（自然数））番目の前記フィルタ選択確率とは異なる、請求項６に記載の画像処理アルゴリズム生成方法。
【請求項８】
前記処理対象画像に対し、前記最良画像処理アルゴリズムで使用するｓ（ｐより大きい自然数）番目である最後の前記フィルタ選択確率は、（ｓ−ｐ）番目の前記フィルタ選択確率より大きい、請求項７に記載の画像処理アルゴリズム生成方法。
【請求項９】
前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程では、前記複数の画像処理アルゴリズムのうち、２つ以上の画像処理アルゴリズムを選択し、
前記高確率に設定する工程は、
前記選択された２つ以上の画像処理アルゴリズムの各々の順番において、対応する順番で使用される最も多い選択画像処理フィルタが１つの場合、前記最も多い選択画像処理フィルタを前記対応する順番で使用される選択画像処理フィルタとし、前記最も多い選択画像処理フィルタが複数ある場合、複数の前記最も多い選択画像処理フィルタのうち、算出された前記評価値が最も大きい画像処理アルゴリズムに対応する前記最も多い選択画像処理フィルタを前記対応する順番で使用される選択画像処理フィルタとした多数決画像処理アルゴリズムを生成する工程を含み、
前記高確率に設定する工程は、生成した前記多数決画像処理アルゴリズムにおいて、前記複数の選択画像処理フィルタのうち、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、前記複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の前記多数決画像処理アルゴリズムが生成されるときよりも、高確率に設定する、請求項１〜５のいずれかに記載の画像処理アルゴリズム生成方法。
【請求項１０】
前記多数決画像処理アルゴリズムにおいて、前記ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして前記複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ）番目の前記フィルタ選択確率とは異なる、請求項９に記載の画像処理アルゴリズム生成方法。
【請求項１１】
前記処理対象画像に対し、前記多数決画像処理アルゴリズムで使用するｓ番目である最後の前記フィルタ選択確率は、（ｓ−ｐ）番目の前記フィルタ選択確率より大きい、請求項１０に記載の画像処理アルゴリズム生成方法。
【請求項１２】
予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する画像処理アルゴリズム生成装置であって、
複数の画像処理アルゴリズムを生成するための画像処理アルゴリズム生成部を備え、
前記画像処理アルゴリズム生成部は、前記複数の画像処理アルゴリズムを生成する処理を、所定の終了条件を満たすまで世代を変えながら繰り返し、
前記所定の終了条件が満たされた世代で前記画像処理アルゴリズム生成部により生成された画像処理アルゴリズムは、前記少なくとも１つの最終画像処理アルゴリズムであり、
前記複数の画像処理アルゴリズムの各々は、前記複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、
前記処理対象画像に、Ｎ世代の前記複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成する画像データ変換部と、
前記Ｎ世代の複数の画像処理アルゴリズムの各々に対し、前記目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出する画像処理アルゴリズム性能評価部とをさらに備え、
前記画像処理アルゴリズム性能評価部は、前記Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択し、
前記画像処理アルゴリズム生成部は、
Ｎ世代の前記選択された少なくとも１つの画像処理アルゴリズムにおいて、前記複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、前記複数種類の画像処理フィルタの中から選択する選択確率を、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する確率設定部と、
前記高確率に設定された前記選択確率に基づいて、前記選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成するための次世代画像処理アルゴリズム生成部とを含む、画像処理アルゴリズム生成装置。
【請求項１３】
予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する処理をコンピュータに実行させるための画像処理アルゴリズム生成プログラムであって、
複数の画像処理アルゴリズムを生成するステップと、
前記複数の画像処理アルゴリズムを生成するステップを、所定の終了条件を満たすまで世代を変えながら繰り返すステップとをコンピュータに実行させ、
前記所定の終了条件が満たされた世代で生成された画像処理アルゴリズムは、前記少なくとも１つの最終画像処理アルゴリズムであり、
前記複数の画像処理アルゴリズムの各々は、前記複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、
Ｎ（自然数）＋１世代の前記複数の画像処理アルゴリズムを生成するステップは、
前記処理対象画像に、Ｎ世代の前記複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成するステップと、
前記Ｎ世代の複数の画像処理アルゴリズムの各々に対し、前記目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出するステップと、
前記Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップと、
前記Ｎ世代の複数の画像処理アルゴリズムの少なくとも１つを変化させる世代交代処理を行なうステップとをコンピュータに実行させ、
前記世代交代処理を行なうステップは、
Ｎ世代の前記選択された少なくとも１つの画像処理アルゴリズムにおいて、前記複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、前記複数種類の画像処理フィルタの中から選択する選択確率を、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定するステップと、
前記高確率に設定された前記選択確率に基づいて、前記選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成するステップとをコンピュータに実行させる、画像処理アルゴリズム生成プログラム。
【請求項１４】
前記所定の終了条件は、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムのいずれかの前記評価値が、所定値以上となる条件である、請求項１３に記載の画像処理アルゴリズム生成プログラム。
【請求項１５】
前記世代交代処理を行なうステップは前記Ｎ世代の複数の画像処理アルゴリズムの少なくとも２つを変化させ、
前記世代交代処理を行なうステップは、
前記複数の画像処理アルゴリズムのうち、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズム以外の少なくとも１つの画像処理アルゴリズムを、進化的手法を用いてＮ＋１世代の少なくとも１つの画像処理アルゴリズムとして生成するステップをさらにコンピュータに実行させる、請求項１３または請求項１４に記載の画像処理アルゴリズム生成プログラム。
【請求項１６】
前記進化的手法は、遺伝的アルゴリズムである、請求項１５に記載の画像処理アルゴリズム生成プログラム。
【請求項１７】
Ｎ＋１世代の前記選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数は、前記Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数と異なる、請求項１３〜請求項１６のいずれかに記載の画像処理アルゴリズム生成プログラム。
【請求項１８】
前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップでは、前記Ｎ世代の複数の画像処理アルゴリズムのうち、算出された前記評価値が最も大きい最良画像処理アルゴリズムが１つ選択される、請求項１３〜１７のいずれかに記載の画像処理アルゴリズム生成プログラム。
【請求項１９】
前記最良画像処理アルゴリズムにおいて、前記ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして前記複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ（自然数））番目の前記フィルタ選択確率とは異なる、請求項１８に記載の画像処理アルゴリズム生成プログラム。
【請求項２０】
前記評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップでは、前記複数の画像処理アルゴリズムのうち、２つ以上の画像処理アルゴリズムを選択し、
前記高確率に設定するステップは、
前記選択された２つ以上の画像処理アルゴリズムの各々の順番において、対応する順番で使用される最も多い選択画像処理フィルタが１つの場合、前記最も多い選択画像処理フィルタを前記対応する順番で使用される選択画像処理フィルタとし、前記最も多い選択画像処理フィルタが複数ある場合、複数の前記最も多い選択画像処理フィルタのうち、算出された前記評価値が最も大きい画像処理アルゴリズムに対応する前記最も多い選択画像処理フィルタを前記対応する順番で使用される選択画像処理フィルタとした多数決画像処理アルゴリズムを生成するステップをコンピュータに実行させ、
前記高確率に設定するステップは、生成した前記多数決画像処理アルゴリズムにおいて、前記複数の選択画像処理フィルタのうち、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、前記複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の前記多数決画像処理アルゴリズムが生成されるときよりも、高確率に設定する、請求項１３〜１７のいずれかに記載の画像処理アルゴリズム生成プログラム。
【請求項２１】
前記多数決画像処理アルゴリズムにおいて、前記ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして前記複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ）番目の前記フィルタ選択確率とは異なる、請求項２０に記載の画像処理アルゴリズム生成プログラム。
【請求項２２】
請求項１３〜請求項２１のいずれかに記載の画像処理アルゴリズム生成プログラムを記録した、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理アルゴリズム生成方法、画像処理アルゴリズム生成装置、コンピュータに画像処理アルゴリズムを生成させるための画像処理アルゴリズム生成プログラムおよび記録媒体に関し、特に、画像データから所望の領域を抽出するための画像処理アルゴリズム生成方法、画像処理アルゴリズム生成装置、コンピュータに画像処理アルゴリズムを生成させるための画像処理アルゴリズム生成プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、ＣＣＤ等の画像撮像デバイスやパーソナルコンピュータ等の画像処理機器の低価格化により、画像処理の適用分野が広がりつつある。とりわけ、産業分野における欠陥検査への画像処理の適用は広範に渡り、製品やデバイスの歩留まり、品質の向上や目視検査員削減によるコストダウンのためにますますその必要性を高めている。
【０００３】
したがって、現状では欠陥検査のために、対象とする製品やデバイスに合わせて多種多様な画像処理アルゴリズムが開発されている。これは、欠陥検査向けの画像処理アルゴリズムは欠陥対象毎に専用設計することが一般的であり、一度設計した画像処理アルゴリズムを他の欠陥検査に適用できない場合が多いためである。つまり一度開発した画像処理アルゴリズムの再利用性はほとんど無く、適用分野および検査対象の拡大に比例して開発工数は増加してゆく。
【０００４】
このように、画像処理アルゴリズムは、その開発・導入において非常に多くの工数を必要とするため、画像処理適用分野の拡大にともない、最適化手法を用いた画像処理アルゴリズムの生成方法がいくつか提案されている。最適化手法には生物の進化の過程を模倣した進化的手法や、焼なまし法（シミュレーティッドアニーリング）などがある。
【０００５】
画像処理アルゴリズムを生成する従来技術には、進化的手法の一手法である遺伝的アルゴリズムを用いた画像処理アルゴリズム生成方法がある。ここでまず遺伝的アルゴリズムについて説明する。
【０００６】
遺伝的アルゴリズムでは、問題で最適化したいパラメータのある組合せを１つの個体として表現し、パラメータの組合せが異なる複数の個体で形成される個体集団で１世代を形成する。また、各個体は問題で設定された評価関数を用いて算出された評価値を持っており、一般的に問題の解に近い個体ほど評価値が高くなる。すなわち、個体の評価値が高いほど、その個体は優良なものであるといえる。ある第Ｎ世代の個体集団に対し淘汰・交叉・突然変異と呼ばれる遺伝的操作を施すことによって第Ｎ＋１世代の個体集団を生成することを世代交代と呼ぶ。
【０００７】
このような世代交代を繰り返すことによる進化の過程において、評価値が高い個体ほど次の世代に生き残る確率が高くなる。個体集団を十分に進化させることで、評価が高い個体を生成することが可能となる。最終的に最も評価が高い個体が示すパラメータの組合せがこの問題における最適解となる。
【０００８】
この遺伝的アルゴリズムを用いた画像処理アルゴリズム生成方法の技術が、特開２００４−３８７４４号公報（特許文献１）（以下においては、従来技術Ａとも称する）に開示されている。従来技術Ａの画像処理アルゴリズム生成方法は、画像処理の対象となる処理対象画像から画像特徴を認識するための方法である。従来技術Ａでは、所望の画像特徴量を抽出する画像処理アルゴリズムを遺伝的アルゴリズムを用いて探索している。
【０００９】
従来技術Ａでは、予め準備された画像処理フィルタの組合せである画像処理アルゴリズムを１つの個体で表現する。予め準備された画像処理フィルタには、平滑化フィルタ、中間値フィルタ、ラプラシアンフィルタ等でなどがある。ここで、１つの個体で表現された画像処理アルゴリズムの５つの具体例を説明する。
【００１０】
図１７は、従来技術による１つの個体で表現された画像処理アルゴリズムを示す図である。
【００１１】
図１７（Ａ）は、フィルタテーブルＴ６００を示す。フィルタテーブルＴ６００は、フィルタの種類を特定するためのフィルタＩＤとフィルタの対応付けを示す。フィルタＩＤ“１”、“２”および“３”には、それぞれ、平滑化フィルタ、中間値フィルタおよびラプラシアンフィルタが対応付けられている。
【００１２】
図１７（Ｂ）は、５つの個体（画像処理アルゴリズム）を示す。
【００１３】
図１７（Ｂ）を参照して、個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿５で示される５つの個体の各々は、フィルタＩＤに対応するフィルタの組合せに基づく画像処理アルゴリズムを有する。個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿５の各々の画像処理アルゴリズムで使用されるフィルタの種類の数は、たとえば、３つであるとする。
【００１４】
個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿５の各々の画像処理アルゴリズムでは、処理対象画像に対して、対応する３つのフィルタに基づく画像処理が行なわれる。
【００１５】
具体的には、たとえば、個体Ｉ（Ｎ）＿１では、処理対象画像に対して、フィルタＩＤ“２”，“１”，“３”，“２”，“１”にそれぞれ対応するフィルタによる処理が順に行なわれる。すなわち、個体Ｉ（Ｎ）＿１の一番左側に対応するフィルタＩＤが、処理対象画像に対して、一番最初に使用されるフィルタである。個体Ｉ（Ｎ）＿１の一番右側に対応するフィルタＩＤが、処理対象画像に対して、一番最後に使用されるフィルタである。
【００１６】
したがって、個体Ｉ（Ｎ）＿１では、最初に、処理対象画像に対して、フィルタＩＤ“２”に対応する中間値フィルタを施した画像Ｇ１を生成する。次に、画像Ｇ１に対して、フィルタＩＤ“１”に対応する平滑化フィルタを施した画像Ｇ２を生成する。次に、画像Ｇ２に対して、フィルタＩＤ“３”に対応するラプラシアンフィルタを施した画像Ｇ３を生成する。
【００１７】
このように、順次、フィルタＩＤに対応するフィルタ処理を行ない、最後のフィルタＩＤ“１”に対応する平滑化フィルタを施した画像が、個体Ｉ（Ｎ）＿１の出力画像となる。この出力画像から特徴量を抽出し、特徴量抽出結果に基づいて個体が評価され、世代交代を繰り返して進化させることにより最終的に、優良な、すなわち、認識率の高い画像処理アルゴリズムを出力している。
【特許文献１】特開２００４−３８７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従来技術Ａでは、第Ｎ世代から第Ｎ＋１世代を生成する世代交代における遺伝的操作として、交叉、突然変異、ランダム生成の３つの手法が挙げられている。ここで、これらの遺伝的操作について説明する。
【００１９】
図１８は、交叉、突然変異を説明するための図である。
【００２０】
図１８（Ａ）および図１８（Ｂ）は、交叉を説明するための図である。
【００２１】
図１８（Ａ）および図１８（Ｂ）を参照して、交叉とは、互いに隣り合う２つの構成要素を任意の位置（以下においては、交叉点）で切断し、切断された一方を互いに交換することで、第Ｎ＋１世代の２つの新しい個体を生成するものである。
【００２２】
図１８（Ｃ）は、突然変異を説明するための図である。
【００２３】
図１８（Ｃ）を参照して、突然変異とは、第Ｎ世代の１つの個体の任意の位置（突然変異部）を選択し、突然変異部に対応する個体（画像処理フィルタ）の種類をランダムに任意の個体（画像処理フィルタ）に変更することで第Ｎ＋１世代の新しい個体を生成するものである。なお、突然変異部は、複数であってもよい。
【００２４】
ランダム生成とは第Ｎ世代の個体情報を利用せずに、全くランダムに画像処理フィルタを選択して新しい画像処理アルゴリズムを生成して第Ｎ＋１世代の個体とするものである。
【００２５】
ここに挙げた遺伝的操作は遺伝的アルゴリズムにとっては一般的なものである。しかしながら個体が画像処理アルゴリズムで表現されている場合、第Ｎ世代の優良な個体の性質を第Ｎ＋１世代の個体に引継ぐことは一般的に困難である。
【００２６】
たとえば、交叉を行った場合に優良な個体の性質を引継ぐことが困難な理由について、図１８（Ａ）および図１８（Ｂ）を用いて説明する。第Ｎ世代の優良な個体をＩ（Ｎ）＿１とし、個体Ｉ（Ｎ）＿１よりも評価値が低い個体をＩ（Ｎ）＿２とする。個体Ｉ（Ｎ）＿１と個体Ｉ（Ｎ）＿２との交叉により生成された第Ｎ＋１世代の２つの個体を、個体Ｉ（Ｎ＋１）＿１と個体Ｉ（Ｎ＋１）＿２とする。
【００２７】
まず、個体Ｉ（Ｎ＋１）＿１の場合、図１８（Ｂ）中の交叉点までは第Ｎ世代の優良個体である個体Ｉ（Ｎ）＿１の性質を引継いでいる。しかし、個体Ｉ（Ｎ＋１）＿１の交叉点以降のフィルタの組合せが個体Ｉ（Ｎ）＿１と異なるため、最終的な出力画像も異なることは明確である。出力画像から特徴量を抽出して個体を評価しているため、個体Ｉ（Ｎ＋１）＿１の評価も優良であるとは言えない。
【００２８】
また、個体Ｉ（Ｎ＋１）＿２の場合、交叉点までに使用される画像処理フィルタが第Ｎ世代の優良個体である個体Ｉ（Ｎ）＿１と異なる。そのため、個体Ｉ（Ｎ＋１）＿２の２番目の画像処理フィルタである中間値フィルタを施された画像、つまり個体Ｉ（Ｎ＋１）＿２の２番目の画像処理フィルタを施された出力画像が異なる。結果として個体Ｉ（Ｎ＋１）＿２の出力画像が個体Ｉ（Ｎ）＿１と異なるため個体Ｉ（Ｎ＋１）＿２の評価も優良であるとは言えない。
【００２９】
また、図１８（ｃ）を参照して、遺伝的操作が交叉ではなく突然変異の場合も、個体Ｉ（Ｎ）＿１の突然変異部の画像処理フィルタが個体Ｉ（Ｎ＋１）＿１の画像処理フィルタと異なる。その結果、最終的な出力画像が異なるため個体Ｉ（Ｎ＋１）＿１の評価も優良であるとは言えなくなる。
【００３０】
これらの理由により、従来技術Ａの手法では、評価の高い画像処理アルゴリズムの探索効率が悪くなり、優良な、すなわち、認識率の高い画像処理アルゴリズムの生成に長時間を要するという問題がある。
【００３１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、短時間で、優良な（認識率の高い）画像処理アルゴリズムを生成することが可能な画像処理アルゴリズム生成方法を提供することである。
【００３２】
本発明の他の目的は、短時間で、優良な（認識率の高い）画像処理アルゴリズムを生成することが可能な画像処理アルゴリズム生成装置を提供することである。
【００３３】
本発明のさらに他の目的は、短時間で、優良な（認識率の高い）画像処理アルゴリズムを生成することが可能な画像処理アルゴリズム生成プログラムを提供することである。
【００３４】
本発明のさらに他の目的は、短時間で、優良な（認識率の高い）画像処理アルゴリズムを生成することが可能な画像処理アルゴリズム生成プログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００３５】
上述の課題を解決するために、この発明のある局面に従うと、予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する画像処理アルゴリズム生成方法であって、画像処理アルゴリズム生成方法は、複数の画像処理アルゴリズムを生成する工程を、所定の終了条件を満たすまで世代を変えながら繰り返す工程を含み、所定の終了条件が満たされた世代で生成された画像処理アルゴリズムは、少なくとも１つの最終画像処理アルゴリズムであり、複数の画像処理アルゴリズムの各々は、複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、Ｎ（自然数）＋１世代の複数の画像処理アルゴリズムを生成する工程は、処理対象画像に、Ｎ世代の複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成する工程と、Ｎ世代の複数の画像処理アルゴリズムの各々に対し、目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出する工程と、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程と、Ｎ世代の複数の画像処理アルゴリズムの少なくとも１つを変化させる世代交代処理を行なう工程とを含み、世代交代処理を行なう工程は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する工程と、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する工程とを含む。
【００３６】
好ましくは、所定の終了条件は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムのいずれかの評価値が、所定値以上となる条件である。
【００３７】
好ましくは、世代交代処理を行なう工程はＮ世代の複数の画像処理アルゴリズムの少なくとも２つを変化させ、世代交代処理を行なう工程は、複数の画像処理アルゴリズムのうち、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズム以外の少なくとも１つの画像処理アルゴリズムを、進化的手法を用いてＮ＋１世代の少なくとも１つの画像処理アルゴリズムとして生成する工程をさらに含む。
【００３８】
好ましくは、進化的手法は、遺伝的アルゴリズムである。
【００３９】
好ましくは、Ｎ＋１世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数と異なる。
【００４０】
好ましくは、評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程では、Ｎ世代の複数の画像処理アルゴリズムのうち、算出された評価値が最も大きい最良画像処理アルゴリズムが１つ選択される。
【００４１】
好ましくは、評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程では、Ｎ世代の複数の画像処理アルゴリズムのうち、算出された評価値が最も大きい最良画像処理アルゴリズムが１つ選択される。
【００４２】
好ましくは、処理対象画像に対し、最良画像処理アルゴリズムで使用するｓ（ｐより大きい自然数）番目である最後のフィルタ選択確率は、（ｓ−ｐ）番目のフィルタ選択確率より大きい。
【００４３】
好ましくは、評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する工程では、複数の画像処理アルゴリズムのうち、２つ以上の画像処理アルゴリズムを選択し、高確率に設定する工程は、選択された２つ以上の画像処理アルゴリズムの各々の順番において、対応する順番で使用される最も多い選択画像処理フィルタが１つの場合、最も多い選択画像処理フィルタを対応する順番で使用される選択画像処理フィルタとし、最も多い選択画像処理フィルタが複数ある場合、複数の最も多い選択画像処理フィルタのうち、算出された評価値が最も大きい画像処理アルゴリズムに対応する最も多い選択画像処理フィルタを対応する順番で使用される選択画像処理フィルタとした多数決画像処理アルゴリズムを生成する工程を含み、高確率に設定する工程は、生成した多数決画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の多数決画像処理アルゴリズムが生成されるときよりも、高確率に設定する。
【００４４】
好ましくは、多数決画像処理アルゴリズムにおいて、ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ）番目のフィルタ選択確率とは異なる。
【００４５】
好ましくは、処理対象画像に対し、多数決画像処理アルゴリズムで使用するｓ番目である最後のフィルタ選択確率は、（ｓ−ｐ）番目のフィルタ選択確率より大きい。
【００４６】
この発明の他の局面に従うと、予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する画像処理アルゴリズム生成装置であって、画像処理アルゴリズム生成装置は、複数の画像処理アルゴリズムを生成するための画像処理アルゴリズム生成部を備え、画像処理アルゴリズム生成部は、複数の画像処理アルゴリズムを生成する処理を、所定の終了条件を満たすまで世代を変えながら繰り返し、所定の終了条件が満たされた世代で画像処理アルゴリズム生成部により生成された画像処理アルゴリズムは、少なくとも１つの最終画像処理アルゴリズムであり、複数の画像処理アルゴリズムの各々は、複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、処理対象画像に、Ｎ世代の複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成する画像データ変換部と、Ｎ世代の複数の画像処理アルゴリズムの各々に対し、目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出する画像処理アルゴリズム性能評価部とをさらに備え、画像処理アルゴリズム性能評価部は、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択し、画像処理アルゴリズム生成部は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する確率設定部と、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成するための次世代画像処理アルゴリズム生成部とを含む。
【００４７】
この発明のさらに他の局面に従うと、予め準備された複数種類の画像処理フィルタを用いて、処理対象画像に対して予め準備された目標画像に相当する画像を生成するような少なくとも１つの最終画像処理アルゴリズムを生成する処理をコンピュータに実行させるための画像処理アルゴリズム生成プログラムであって、画像処理アルゴリズム生成プログラムは、複数の画像処理アルゴリズムを生成するステップと、複数の画像処理アルゴリズムを生成するステップを、所定の終了条件を満たすまで世代を変えながら繰り返すステップとをコンピュータに実行させ、所定の終了条件が満たされた世代で生成された画像処理アルゴリズムは、少なくとも１つの最終画像処理アルゴリズムであり、複数の画像処理アルゴリズムの各々は、複数種類の画像処理フィルタから重複を妨げないで選択した複数の選択画像処理フィルタを、ランダムな順序で使用するアルゴリズムであり、Ｎ（自然数）＋１世代の複数の画像処理アルゴリズムを生成するステップは、処理対象画像に、Ｎ世代の複数の画像処理アルゴリズムの処理をそれぞれ施したＮ世代の複数の処理後画像を生成するステップと、Ｎ世代の複数の画像処理アルゴリズムの各々に対し、目標画像と、対応するＮ世代の処理後画像とに基づいて、評価の基準となる評価値を算出するステップと、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップと、Ｎ世代の複数の画像処理アルゴリズムの少なくとも１つを変化させる世代交代処理を行なうステップとをコンピュータに実行させ、世代交代処理を行なうステップは、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定するステップと、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成するステップとをコンピュータに実行させる。
【００４８】
好ましくは、所定の終了条件は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムのいずれかの評価値が、所定値以上となる条件である。
【００４９】
好ましくは、世代交代処理を行なうステップはＮ世代の複数の画像処理アルゴリズムの少なくとも２つを変化させ、世代交代処理を行なうステップは、複数の画像処理アルゴリズムのうち、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズム以外の少なくとも１つの画像処理アルゴリズムを、進化的手法を用いてＮ＋１世代の少なくとも１つの画像処理アルゴリズムとして生成するステップをさらにコンピュータに実行させる。
【００５０】
好ましくは、進化的手法は、遺伝的アルゴリズムである。
【００５１】
好ましくは、Ｎ＋１世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数は、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムで使用される選択画像処理フィルタの個数と異なる。
【００５２】
好ましくは、評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップでは、Ｎ世代の複数の画像処理アルゴリズムのうち、算出された評価値が最も大きい最良画像処理アルゴリズムが１つ選択される。
【００５３】
好ましくは、最良画像処理アルゴリズムにおいて、ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ（自然数））番目のフィルタ選択確率とは異なる。
【００５４】
好ましくは、評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択するステップでは、複数の画像処理アルゴリズムのうち、２つ以上の画像処理アルゴリズムを選択し、高確率に設定するステップは、選択された２つ以上の画像処理アルゴリズムの各々の順番において、対応する順番で使用される最も多い選択画像処理フィルタが１つの場合、最も多い選択画像処理フィルタを対応する順番で使用される選択画像処理フィルタとし、最も多い選択画像処理フィルタが複数ある場合、複数の最も多い選択画像処理フィルタのうち、算出された評価値が最も大きい画像処理アルゴリズムに対応する最も多い選択画像処理フィルタを対応する順番で使用される選択画像処理フィルタとした多数決画像処理アルゴリズムを生成するステップをコンピュータに実行させ、高確率に設定するステップは、生成した多数決画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の多数決画像処理アルゴリズムが生成されるときよりも、高確率に設定する。
【００５５】
好ましくは、多数決画像処理アルゴリズムにおいて、ｎ番目の画像処理フィルタを、再度、ｎ番目の画像処理フィルタとして複数種類の画像処理フィルタの中から選択するｎ番目のフィルタ選択確率と、（ｎ±ｐ）番目のフィルタ選択確率とは異なる。
【００５６】
この発明のさらに他の局面に従うと、記録媒体は、画像処理アルゴリズム生成プログラムを記録した媒体である。
【発明の効果】
【００５７】
本発明に係る画像処理アルゴリズム生成方法は、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する。そして、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する。そして、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する。
【００５８】
したがって、所定値以上の評価値が算出された優良なＮ世代の画像処理アルゴリズムに基づいて設定された選択確率により、Ｎ＋１世代の画像処理アルゴリズムが生成されるので、優良な（認識率の高い）画像処理アルゴリズムの生成時間を短縮できるという効果を奏する。
【００５９】
本発明に係る画像処理アルゴリズム生成装置は、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する。そして、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する。そして、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する。
【００６０】
したがって、所定値以上の評価値が算出された優良なＮ世代の画像処理アルゴリズムに基づいて設定された選択確率により、Ｎ＋１世代の画像処理アルゴリズムが生成されるので、優良な（認識率の高い）画像処理アルゴリズムの生成時間を短縮できるという効果を奏する。
【００６１】
本発明に係る画像処理アルゴリズム生成プログラムは、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する。そして、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する。そして、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する。
【００６２】
したがって、所定値以上の評価値が算出された優良なＮ世代の画像処理アルゴリズムに基づいて設定された選択確率により、Ｎ＋１世代の画像処理アルゴリズムが生成されるので、優良な（認識率の高い）画像処理アルゴリズムの生成時間を短縮できるという効果を奏する。
【００６３】
本発明に係る記録媒体は、画像処理アルゴリズム生成プログラムを記録する。画像処理アルゴリズム生成プログラムは、Ｎ世代の複数の画像処理アルゴリズムのうち、所定値以上の評価値が算出されたＮ世代の画像処理アルゴリズムを少なくとも１つ選択する。そして、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムにおいて、複数の選択画像処理フィルタのうち、ｎ（自然数）〜（ｎ＋（ｍ（自然数）−１））番目の選択画像処理フィルタの各々を、再度、ｎ〜（ｎ＋（ｍ−１））番目の選択画像処理フィルタとして、複数種類の画像処理フィルタの中から選択する選択確率を、Ｎ世代の選択された少なくとも１つの画像処理アルゴリズムが生成されるときよりも、高確率に設定する。そして、高確率に設定された選択確率に基づいて、選択確率に対応する画像処理アルゴリズムをＮ＋１世代の画像処理アルゴリズムとして生成する。
【００６４】
したがって、所定値以上の評価値が算出された優良なＮ世代の画像処理アルゴリズムに基づいて設定された選択確率により、Ｎ＋１世代の画像処理アルゴリズムが生成されるので、優良な（認識率の高い）画像処理アルゴリズムの生成時間を短縮できるという効果を奏する。
【発明を実施するための最良の形態】
【００６５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００６６】
＜第１の実施の形態＞
図１は、本実施の形態における画像処理アルゴリズム生成装置５００の内部の構成を示すブロック図である。画像処理アルゴリズム生成装置５００は、ＰＣ（Personal Computer）やワークステーション等のコンピュータである。なお、図１には、説明のために、記録媒体５５５、画像データ入力部６００も示している。記録媒体５５５には、後述する画像処理アルゴリズム生成プログラム１８０が記録されている。すなわち、画像処理アルゴリズム生成プログラム１８０は、媒体等に記録されてプログラム製品として流通される。
【００６７】
画像データ入力部６００は、詳細は後述するが、画像処理アルゴリズム生成装置５００に画像データを送信する機能を有する。
【００６８】
図１を参照して、画像処理アルゴリズム生成装置５００には、表示部５３０と、マウス５４２と、キーボード５４４とが接続される。
【００６９】
表示部５３０は、ユーザに各種情報を、文字や画像等で表示する機能を有する。表示部５３０は、画像処理アルゴリズム生成装置５００から出力された画像データに基づいた画像を表示する。表示部５３０は、液晶ディスプレイ（ＬＣＤ（Liquid Crystal Display））、ＣＲＴ（Cathode Ray Tube）、ＦＥＤ（Field Emission Display）、ＰＤＰ（Plasma Display Panel）、有機ＥＬディスプレイ（Organic Electro luminescence Display）、ドットマトリクス等その他の画像表示方式の表示機器のいずれであってもよい。
【００７０】
マウス５４２は、ユーザが画像処理アルゴリズム生成装置５００を操作するためのインターフェースである。キーボード５４４は、ユーザが画像処理アルゴリズム生成装置５００を操作するためのインターフェースである。なお、表示部５３０およびキーボード５４４は、画像処理アルゴリズム生成装置５００の内部に設けられる構成であってもよい。また、マウス５４２は、たとえば、タッチパッド等として、画像処理アルゴリズム生成装置５００の内部に設けられる構成であってもよい。また、画像処理アルゴリズム生成装置５００には、ペンタブレットが入力機器として接続されていてもよい。
【００７１】
画像処理アルゴリズム生成装置５００は、制御部５１０と、データ一時記憶部５２２と、記憶部５２０と、通信部５６０と、通信部５６２と、ＶＤＰ（Video Display Processor）５３２と、ＣＧＲＯＭ（Character Graphic Read Only Memory）５３４と、ＶＲＡＭ（Video Random Access Memory）５３６と、入力部５４０と、記録媒体アクセス部５５０とを含む。
【００７２】
ＣＧＲＯＭ５３４には、フォントデータ、図形データなど、ＶＤＰ５３２が、表示部５３０で表示される画像を生成するための画像データが記憶されている。
【００７３】
記憶部５２０には、制御部５１０に後述する処理を行なわせるための画像処理アルゴリズム生成プログラム１８０、画像処理アルゴリズムに学習させるための学習用画像データベース１８２、その他各種プログラムおよびデータ等が記憶されている。記憶部５２０は、制御部５１０によってデータアクセスされる。なお、
記憶部５２０は、大容量のデータを記憶可能なハードディスクである。なお、記憶部５２０は、ハードディスクに限定されることなく、電源を供給されなくてもデータを保持可能な媒体（たとえば、フラッシュメモリ）であればよい。
【００７４】
すなわち、記憶部５２０は、記憶の消去・書き込みを何度でも行なえるＥＰＲＯＭ（Erasable Programmable Read Only Memory）、電気的に内容を書き換えることができるＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）、紫外線を使って記憶内容の消去・再書き込みを何度でも行なえるＵＶ−ＥＰＲＯＭ（Ultra-Violet Erasable Programmable Read Only Memory）、その他、不揮発的にデータを記憶保持可能な構成を有する回路のいずれであってもよい。
【００７５】
制御部５１０は、記憶部５２０に記憶された画像処理アルゴリズム生成プログラム１８０に従って、画像処理アルゴリズム生成装置５００の内部の各機器に対する各種処理や、演算処理等を行なう機能を有する。制御部５１０は、マイクロプロセッサ（Microprocessor）、プログラミングすることができるＬＳＩ（Large Scale Integration）であるＦＰＧＡ（Field Programmable Gate Array）、特定の用途のために設計、製造される集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）、その他の演算機能を有する回路のいずれであってもよい。
【００７６】
また、制御部５１０は、記憶部５２０に記憶された画像処理アルゴリズム生成プログラム１８０に従って、ＶＤＰ５３２に対し、画像を生成させ、当該画像を表示部５３０に表示させる指示（以下においては、「描画指示」とも称する）を出す。
【００７７】
ＶＤＰ５３２は表示部５３０と接続されている。ＶＤＰ５３２は、制御部５１０からの描画指示に応じて、ＣＧＲＯＭ５３４から必要な画像データを読出し、ＶＲＡＭ５３６を利用して画像を生成する。そして、ＶＤＰ５３２は、ＶＲＡＭ５３６に記憶された画像データを読出し、表示部５３０に、当該画像データに基づく画像を表示させる。
【００７８】
ＶＲＡＭ５３６は、ＶＤＰ５３２が生成した画像を一時的に記憶する機能を有する。
【００７９】
データ一時記憶部５２２は、制御部５１０によってデータアクセスされ、一時的にデータを記憶するワークメモリとして使用される。
【００８０】
データ一時記憶部５２２は、データを一時的に記憶可能なＲＡＭ（Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＤＲＡＭ（Synchronous DRAM）、ダブルデータレートモードという高速なデータ転送機能を持ったＳＤＲＡＭであるＤＤＲ−ＳＤＲＡＭ（Double Data Rate SDRAM）、Rambus社が開発した高速インターフェース技術を採用したＤＲＡＭであるＲＤＲＡＭ（Rambus Dynamic Random Access Memory）、Ｄｉｒｅｃｔ−ＲＤＲＡＭ（Direct Rambus Dynamic Random Access Memory）、その他、データを揮発的に記憶保持可能な構成を有する回路のいずれであってもよい。
【００８１】
入力部５４０には、マウス５４２と、キーボード５４４とが接続されている。ユーザは、マウス５４２またはキーボード５４４を利用して、画像処理アルゴリズム生成装置５００に指示を与える。マウス５４２またはキーボード５４４からの入力指示は、入力部５４０を介して制御部５１０に伝達される。制御部５１０は、入力部５４０からの入力指示に基づいて所定の処理を行なう。
【００８２】
記録媒体アクセス部５５０は、画像処理アルゴリズム生成プログラム１８０が記録された記録媒体５５５から、画像処理アルゴリズム生成プログラム１８０を読出す機能を有する。記録媒体５５５に記憶されている画像処理アルゴリズム生成プログラム１８０は、制御部５１０の動作（インストール処理）により、記録媒体アクセス部５５０から読み出され、記憶部５２０に記憶される。
【００８３】
このインストール処理用プログラムは、予め、記憶部５２０に格納されており、インストール処理は、制御部５１０が、インストール処理用プログラムに基づいて行なう。
【００８４】
なお、記憶部５２０には、画像処理アルゴリズム生成プログラム１８０がインストールされていなくてもよい。この場合、制御部５１０は、記録媒体アクセス部５５０を介して、記録媒体５５５に記憶された画像処理アルゴリズム生成プログラム１８０を読み出して、画像処理アルゴリズム生成プログラム１８０に基づいた所定の処理を行なう。
【００８５】
記録媒体５５５は、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＭＯ（Magneto Optical Disk）、フロッピー（登録商標）ディスク、ＣＦ(Compact Flash) カード、ＳＭ（Smart Media（登録商標））、ＭＭＣ（Multi Media Card）、ＳＤ（Secure Digital）メモリーカード、メモリースティック（登録商標）、ｘＤピクチャーカードおよびＵＳＢメモリ、磁気テープ、その他不揮発性メモリのいずれであってもよい。
【００８６】
通信部５６０は、制御部５１０とデータの授受を行なう。また、通信部５６０は、画像データ入力部６００と有線または無線で、データの授受を行なう。
【００８７】
制御部５１０は、通信部５６０を介して、画像データ入力部６００を制御するための制御データを送信する。また、制御部５１０は、画像データ入力部６００から、通信部５６０を介して、送信した制御データに応じたデータを受信する。
【００８８】
通信部５６０は、ＵＳＢ（Universal Serial Bus）１．１、ＵＳＢ２．０、その他シリアル転送を行なう通信用インターフェースのいずれであってもよい。また、通信部５６０は、イーサネット（登録商標）を利用した通信用インターフェースであってもよい。また、通信部５６０は、セントロニクス仕様、ＩＥＥＥ１２８４（Institute of Electrical and Electronic Engineers 1284）、その他パラレル転送を行なう通信用インターフェースのいずれであってもよい。また、通信部５６０は、ＩＥＥＥ１３９４、その他ＳＣＳＩ規格を利用した通信用インターフェースのいずれであってもよい。
【００８９】
また、通信部５６０は、無線ＬＡＮの規格であるＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、その他無線技術を利用してデータ通信を行なう通信用インターフェースのいずれであってもよい。
【００９０】
通信部５６２は、制御部５１０と、データの授受を行なう。通信部５６２は、通信部５６０と同様なので詳細な説明は繰り返さない。
【００９１】
通信部６１０は、通信部５６２およびネットワーク６２０とデータの授受を行なう。ネットワーク１５０は、インターネットなどの外部のネットワークである。通信部６１０は、イーサネット（登録商標）を利用した通信用インターフェース（たとえば、ルータ）である。また、通信部６１０と、ネットワーク１５０とは、無線または有線でデータの授受を行なう。当該有線は、たとえば、電話線、光ファイバケーブル等である。
【００９２】
したがって、本実施の形態における画像処理アルゴリズム生成装置５００は、ネットワーク１５０から、通信部６１０および通信部５６２を介して、プログラムをダウンロード処理を行ない、記憶部５２０に格納することもできる。この場合、当該ダウンロードしたプログラムは、画像処理アルゴリズム生成プログラム１８０である。
【００９３】
制御部５１０は、ネットワーク１５０からダウンロードしたプログラム（画像処理アルゴリズム生成プログラム１８０）に従って、所定の処理を行なう。このダウンロード用プログラムは、予め、記憶部５２０に格納されており、ダウンロード処理は、制御部５１０が、ダウンロード用プログラムに基づいて行なう。
【００９４】
以上の構成の画像処理アルゴリズム生成装置５００により、画像処理アルゴリズムが生成される。
【００９５】
図２は、画像データ入力部６００の内部構成を示すブロック図である。なお、図２には、説明のために、画像処理アルゴリズム生成装置５００内の通信部５６０も示している。
【００９６】
図２を参照して、画像データ入力部６００は、ステージ６４０に設置された検査対象となる検査対象物６５０に光を当てて、検査対象物６５０の反射光をデータに変換する機能を有する。検査対象物６５０は、液晶パネル、半導体、電子部品、プラスチック、金属、木材、紙、布等のいずれであってもよい。
【００９７】
画像データ入力部６００は、制御部６１０と、光源６２０と、カメラ６３０とを含む。制御部６１０は、画像処理アルゴリズム生成装置５００内の通信部５６０とデータの授受を行なう。制御部６１０は、前述の制御部５１０と同様な構成および機能を有する。制御部６１０は、通信部５６０を介して、制御部５１０から受信した制御データに基づいて、光源６２０と、カメラ６３０とを制御する。
【００９８】
光源６２０は、制御部６１０の制御により、光を検査対象物６５０に当てる。
【００９９】
カメラ６３０は、制御部６１０の制御により、検査対象物６５０からの反射光を撮像する機能を有する。カメラ６３０は、（Charge Coupled Devices）ＣＣＤ方式、（Complementary Metal Oxide Semiconductor）ＣＭＯＳ方式、または他の方式のカメラのいずれであってもよい。
【０１００】
また、カメラ６３０は、撮像したデータを画像データとして、制御部６１０へ送信する。制御部６１０は、受信した画像データを、通信部５６０を介して、制御部５１０へ送信する。制御部５１０は、受信した画像データを学習用画像データの処理対象画像として記憶部５２０に記憶させる。
【０１０１】
図３は、本実施の形態における画像処理アルゴリズム生成装置５００の機能ブロック図である。
【０１０２】
図３を参照して、画像処理アルゴリズム生成装置５００は、画像処理アルゴリズム管理部として動作する。画像処理アルゴリズム生成装置５００には、画像データ入力部６００および表示部５３０が接続されている。
【０１０３】
画像処理アルゴリズム生成装置５００は、制御部５１０を含む。
【０１０４】
制御部５１０は、初期パラメータ設定部５１１、目標画像設定部５１２、画像処理アルゴリズム生成部５１３、画像データ変換部５１４、画像処理アルゴリズム性能評価部５１５、画像処理アルゴリズム生成完了判断部５１６として動作する。学習用画像データベース１８２は、記憶部５２０に記憶されている。学習用画像データベース１８２は、画像データ入力部６００から入力された処理対象画像を含む。
【０１０５】
初期パラメータ設定部５１１は、ユーザがあらかじめ設定されている初期パラメータを変更したい際に、マウス５２４またはキーボード５４４等の入力機器を用いたユーザからの指示に基づいて、初期パラメータを変更する機能を有する。初期パラメータ設定部５１１は、後述のステップＳ１００の処理を行なう機能を有する。
【０１０６】
目標画像設定部５１２は、ユーザが、学習用画像データベース１８２を構成する学習用画像データの処理対象画像を表示部５３０で参照して、マウス５２４またはキーボード５４４等の入力機器を用いたユーザからの指示の基づいて、所望の抽出領域を配置した目標画像を生成する機能を有する。なお、処理対象画像と、処理対象画像に対応する目標画像とは、対応づけられて記憶部５２０に記憶される。
【０１０７】
画像処理アルゴリズム生成部５１３は、後述のステップＳ１０１、Ｓ１１０の処理を行なう機能を有する。
【０１０８】
画像データ変換部５１４は、後述のステップＳ１０４の処理を行なう機能を有する。
【０１０９】
画像処理アルゴリズム性能評価部５１５は、後述のステップＳ１０５，Ｓ１０８の処理を行なう機能を有する。
【０１１０】
画像処理アルゴリズム生成完了判断部５１６は、後述のステップＳ１０９の処理を行なう機能を有する。
【０１１１】
記憶部５２０は、画像処理アルゴリズム生成完了判断部５１６で優良な個体（画像処理アルゴリズムの）生成が完了と判断された時、当該優良な個体（画像処理アルゴリズム）を記憶する画像処理アルゴリズム記憶部として動作する。
【０１１２】
次に、画像処理アルゴリズム生成装置５００により画像処理アルゴリズムを生成するための処理について説明する。本発明においては、画像処理フィルタの組合せを探索する組合せ最適化問題としてとらえ、進化的手法の一つである遺伝的アルゴリズムを用いて画像処理フィルタの組合せの最適化を行なう。すなわち、最適な画像処理フィルタの組合せ（局所解）を探索する。これらの画像処理フィルタの組合せである画像処理アルゴリズムを遺伝的アルゴリズムの１つの個体で表現する。以下においては、画像処理アルゴリズムを個体とも称する。
【０１１３】
図４は、画像処理アルゴリズム生成処理のフローチャートである。図４を参照して、ステップＳ１００では、制御部５１０が、初期パラメータの設定を行なう。詳細は後述するが、初期パラメータには、Ｎ世代の個体数ｍ、交叉確率Ｐｃ、突然変異確率Ｐｍ、終了条件、Ｎ＋１世代に追加する優良個体数ｇ１、Ｎ＋１世代に追加するランダム生成個体数ｇ２、Ｎ＋１世代に追加するＮ世代の最良の個体を考慮した確率的生成個体数ｇ３、Ｎ＋１世代に追加するＮ世代の最良の個体を考慮した確率的生成時の確率変動割合Ｐｆ、確率変動割合Ｐｆの変化率ｄＰｆ、１つの個体の画像処理フィルタ長の最大値Ｌ等がある。
【０１１４】
なお、上記パラメータでは、ｇ１＋ｇ２＋ｇ３≦ｍが成立する。優良個体数ｇ１、ランダム生成個体数ｇ２、確率的生成個体数ｇ３は、個体数ｍに対し、５％以下の個数であることが望ましい。
【０１１５】
本実施例における終了条件は、最良の個体の評価値が、所定値（たとえば、１０００）以上となる条件、または、後述する世代交代処理を繰り返す回数が所定回数（たとえば、１００回）となる条件である。その後、ステップＳ１０１の処理が行なわれる。
【０１１６】
ステップＳ１０１では、制御部５１０が、最初（１世代）の画像処理アルゴリズムをランダムにｍ個生成する。本実施の形態では、画像処理アルゴリズムは、予め準備された複数種類の画像処理フィルタの組合せによるものである。
【０１１７】
図５は、フィルタテーブルＴ１００を示す。フィルタテーブルＴ１００は、画像処理フィルタの種類を特定するためのフィルタＩＤと画像処理フィルタの対応付けを示す。フィルタＩＤ“１”，“２”，“３” ，“４” ，“５” ，“６”には、それぞれ、平滑化フィルタ、中間値フィルタ、最大値フィルタ、最小値フィルタ、Ｓｏｂｅｌ（ゾーベル）フィルタおよびラプラシアンフィルタが対応付けられている。
【０１１８】
たとえば、平滑化フィルタは、注目画素とその近傍領域の画素の有する濃度値の平均値で注目画素の濃度値を置き換える処理を行なうフィルタである。また、平滑化フィルタの持つパラメータとしては、たとえば近傍領域を規定するパラメータ等がある。当該パラメータの値が、たとえば、“３”の場合は、フィルタサイズは３画素×３画素と規定される。この場合は注目画素とその近傍の８画素がフィルタ処理の対象となる。なお、平滑化フィルタ、中間値フィルタ、最大値フィルタが使用するフィルタサイズは、３画素×３画素に限定されることはなく任意のサイズ（たとえば、５画素×５画素）であってもよい。
【０１１９】
なお、本実施の形態で使用されるフィルタは、上記フィルタに限定されることなく、他のフィルタ（たとえば、ガウシアンフィルタ）であってもよい。また、本実施の形態においては、画素の有する濃度値は、“０”〜“２５５”の範囲の値である。また、濃度値が“０”の場合、対応する画素は黒であるとする。また、濃度値が“２５５”の場合、対応する画素は白であるとする。また、画像処理アルゴリズムは種々の画像処理モジュール（フィルタ）の組合せと、各画像処理モジュールの持つパラメータ値によって表現される。
【０１２０】
再び、図４を参照して、ステップＳ１０１では、制御部５１０が、１つの個体の画像処理フィルタ長の最大値Ｌに基づいて、上記フィルタを組み合わせた個体を生成する。ここで、最大値Ｌとは、フィルタを組み合わせる最大の数を示す。本実施の形態では、最大値Ｌは、たとえば、“８”であるとする。なお、最大値Ｌは“８”に限定されることなく任意の値（たとえば、“１０”）であってもよい。最大値Ｌは、ユーザが経験的に決める値であり、個体の処理する難易度が高いほど、最大値Ｌを大きく設定することが望ましい。
【０１２１】
制御部５１０は、生成する個体毎に、フィルタの個数を、“１”〜“８”の範囲でランダムに決定する。そして、制御部５１０は、生成する個体毎に決定されたフィルタの個数に基づいて、複数種類（図５の６種類）のフィルタの中から使用する画像処理フィルタを重複を妨げないでランダムに選択する。
【０１２２】
図６は、本実施の形態において生成された個体を示す図である。
【０１２３】
図６（Ａ）は、ステップＳ１０１により、ランダムに生成されたｍ個の個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿ｍを示す。ステップＳ１０１により、ｍ個の個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿ｍの各々が使用するフィルタの個数はランダムとなる。各個体を構成する番号は、フィルタＩＤを示す。たとえば、個体Ｉ（Ｎ）＿１では、処理対象画像に対して、フィルタＩＤ“１”，“３”，“１”，“６”，“５”にそれぞれ対応するフィルタによる処理が順に行なわれる。すなわち、個体Ｉ（Ｎ）＿１の一番左側に対応するフィルタＩＤが、処理対象画像に対して、一番最初に使用されるフィルタである。個体Ｉ（Ｎ）＿１の一番右側に対応するフィルタＩＤが、処理対象画像に対して、一番最後に使用されるフィルタである。以下においては、処理対象画像に対して、個体Ｉ（Ｎ）＿ｋ（自然数）の画像処理が行なわれた画像を処理後画像とも称する。
【０１２４】
再び、図４を参照して、ステップＳ１０１の処理が終了するとステップＳ１０２に進む。
【０１２５】
ステップＳ１０２では、制御部５１０が、記憶部５２０に記憶された学習用画像データベース１８２の中から学習用画像データを選択し、記憶部５２０から学習用画像データを読み出す。ここで、学習用画像データとは、あらかじめ欠陥等の抽出対象物の画像内における位置データがユーザによって付与されている画像データおよび欠陥等の抽出対象物の画像内における位置データがない画像データのことである。当該位置データがない画像データとは、欠陥のない画像データのことである。学習用画像データベース１８２は、各々が異なる複数種類の学習用画像データを含むデータベースである。
【０１２６】
本実施の形態における学習用画像データは、前述の処理対象画像と目標画像とのデータを含む。ここで、目標画像とは、処理対象画像に対して画像処理アルゴリズムによる画像処理を行なった画像が一致または近似することが望まれる画像である。処理対象画像に対して画像処理アルゴリズムによる画像処理を行なった画像が、目標画像に近い程、当該画像処理アルゴリズムの画像の認識率が高いといえる。
【０１２７】
本実施の形態における目標画像は、所定サイズの白（濃度値“２５５”）、黒（濃度値“０”）の２値画像であるとする。当該所定サイズは、たとえば、横６４０画素、縦４８０画素であるとする。なお、本実施の形態における、所定サイズは、横６４０画素、縦４８０画素に限定されることはなく、任意のサイズ（たとえば、横３２０画素、縦２４０画素）であってもよい。また、目標画像は、２値画像に限定されることなく、たとえば、濃度値が“０”、“１２８”、“２５５”からなる３値画像であってもよい。この場合、濃度値が、たとえば、“１２８”付近の画素のみを抽出することになる。
【０１２８】
目標画像は、たとえば、所望の抽出領域が配置された画像である。
【０１２９】
図７は、本実施の形態における処理対象画像９００および目標画像９００Ａを示す図である。
【０１３０】
図７（Ａ）は、処理対象画像９００を示す図である。処理対象画像９００には、真欠陥９１０と、擬似欠陥９２０とが含まれる。ここで、真欠陥とは、検査員（ユーザ）が、真欠陥を含む検査対象物６５０を不良品であると判定する要因となる欠陥である。擬似欠陥とは、検査工程で抽出される欠陥ではあるものの、検査員が、擬似欠陥を含む検査対象物６５０を不良品と判定するには至らず、良品であると判定可能な欠陥である。
【０１３１】
また、検査対象物６５０を撮像した画像のうち、画像中に上記擬似欠陥の有無に係わらず上記真欠陥が一つも存在しない画像を良品画像とし、画像中に上記擬似欠陥の有無に係わらず上記真欠陥が一つでも存在する画像を欠陥画像とする。良品画像および欠陥画像の各々は、学習用画像となり得るものとする。
【０１３２】
図７（Ｂ）は、目標画像９００Ａを示す図である。目標画像９００Ａは、所望の抽出領域９１０Ａを有する。目標画像９００Ａは、抽出領域９１０Ａの画素のみが白く、抽出領域９１０Ａ以外の画素が黒い画像とする。
【０１３３】
再び、図４を参照して、ステップＳ１０２の処理が終了するとステップＳ１０３Ａに進む。
【０１３４】
ステップＳ１０３Ａでは、制御部５１０が、個体Ｉ（Ｎ）＿ｍにおいて、世代を表す世代番号Ｎを“１”に設定する。世代番号Ｎは、後述する世代交代処理が行なわれる毎に“１”インクリメントされる。その後、ステップＳ１０３Ｂに進む。
【０１３５】
ステップＳ１０３Ｂでは、制御部５１０が、ｍ個の個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿ｍの各々に対し後述の処理を実行するために使用するカウンタｋを“１”に設定する。その後、ステップＳ１０４に進む。
【０１３６】
ステップＳ１０４では、制御部５１０が、ステップＳ１０１において生成されたｍ個の個体Ｉ（Ｎ）＿１〜Ｉ（Ｎ）＿ｍのうち、ｋ番目の個体Ｉ（Ｎ）＿ｋによる画像処理を、処理対象画像に対して行ない、処理後画像を生成する。
【０１３７】
たとえば、ｋ＝１のときは、個体Ｉ（Ｎ）＿１による画像処理を、処理対象画像に対して行なうことになる。この場合、処理対象画像には、フィルタＩＤ“１”，“３”，“１”，“６”，“５”にそれぞれ対応するフィルタによる処理が順に行なわれる。処理対象画像に個体Ｉ（Ｎ）＿１による画像処理が行なわれた画像が、個体Ｉ（Ｎ）＿１の処理後画像となる。ステップＳ１０４の処理が終了すると、ステップＳ１０５に進む。
【０１３８】
ステップＳ１０５では、制御部５１０が、処理後画像から個体（画像処理アルゴリズム）の評価値を算出する。本実施の形態では、ステップＳ１０２において選択した学習用画像データに含まれるデータに基づく、目標画像と、処理後画像との、各画素間の濃度値の差の絶対値を全ての画素分求める。そして、各画素に対して求めた絶対値を全ての画素分加算した値（以下においては、画像差分値とも称する）を求め、所定値（たとえば、２０００）から減算する。本実施の形態では、当該減算することにより求められた値を、画像処理アルゴリズムの評価値とする。
【０１３９】
したがって、画像差分値が小さいほど、すなわち、評価値が大きいほど、対応する個体（画像処理アルゴリズム）によって生成された処理後画像は目標画像に近いものとなる。すなわち、当該個体（画像処理アルゴリズム）は、処理対象画像を、目標画像と認識する認識率が高いといえる。すなわち、個体（画像処理アルゴリズム）の評価値が大きいほど、優良な（認識率の高い）画像処理アルゴリズムであるといえる。ステップＳ１０５の処理が終了すると、ステップＳ１０６に進む。
【０１４０】
ステップＳ１０６では、制御部５１０が、カウンタｋを１インクリメントする。その後、ステップＳ１０７に進む。
【０１４１】
ステップＳ１０７では、制御部５１０が、カウンタｋが個体の数ｍより大きいか否かを判定する。ステップＳ１０７において、ＹＥＳならば、ステップＳ１０８に進む。一方、ステップＳ１０７において、ＮＯならば、再度、ステップＳ１０４の処理が行なわれる。すなわち、ｍ個全ての個体の評価値の算出が完了した場合、ステップＳ１０８に進む。
【０１４２】
ステップＳ１０８では、制御部５１０が、ｍ個全ての個体の中から最良の個体（画像処理アルゴリズム）を決定する。この場合、算出された評価値が最も大きい個体（画像処理アルゴリズム）が最良の個体となる。その後、ステップＳ１０９に進む。
【０１４３】
ステップＳ１０９では、制御部５１０が、前述の終了条件を満たしているか否かを判定する。ステップＳ１０９において、ＹＥＳならば、この画像処理アルゴリズム生成処理は終了する。画像処理アルゴリズム生成処理が終了するのは、たとえば、ある世代の最良の個体（画像処理アルゴリズム）の評価値が１０００以上の場合である。または、世代番号Ｎが、１００以上の値となった場合である。すなわち、後述する世代交代処理が、１００回行なわれた場合である。世代交代処理が１００回行なわれると、その世代の最良の個体（画像処理アルゴリズム）の評価値が１０００未満であっても、画像処理アルゴリズム生成処理が終了する。
【０１４４】
この画像処理アルゴリズム生成処理が終了したときの世代（以下においては、最終世代とも称する）における、ｍ個全ての個体（画像処理アルゴリズム）またはステップＳ１０８で決定された最終世代の最良の個体（画像処理アルゴリズム）が、最終的な個体（画像処理アルゴリズム）、すなわち、最終画像処理アルゴリズムである。
【０１４５】
一方、ステップＳ１０９において、ＮＯならば、ステップＳ１１０の処理が行なわれる。
【０１４６】
ステップＳ１１０では、進化的手法による次世代画像処理アルゴリズム生成処理が行なわれる。なお、以下に説明する次世代画像処理アルゴリズム生成処理は、進化的手法では、世代交代処理または遺伝的操作と呼ばれる。なお、遺伝的アルゴリズムにおいても、以下に説明する次世代画像処理アルゴリズム生成処理は世代交代処理または遺伝的操作と呼ばれる。
【０１４７】
図８は、次世代画像処理アルゴリズム生成処理のフローチャートである。
【０１４８】
図８を参照して、ステップＳ２１０では、制御部５１０が、世代番号Ｎ、すなわち、Ｎ世代のｍ個の個体（画像処理アルゴリズム）に対し、対応する評価値に基づいて順位付けを行なう。本実施の形態では、評価値が最も大きい個体を最良（１番目）の個体とし、評価値が最も小さい個体がｍ番目の個体となる。なお、評価値が全く同じ個体が複数存在する場合には、その複数の個体間の順位の前後は任意とする。その後、ステップＳ２２０に進む。
【０１４９】
ステップＳ２２０では、ステップＳ２１０において順位付けられたｍ個の個体のうち、前述のステップＳ１００で設定した優良個体数ｇ１に基づいて、１番目からｇ１番目の個体を、変化させることなくＮ＋１世代に追加する。
【０１５０】
ここで、優良個体数ｇ１とは、Ｎ世代のｍ個の個体のうち、変化させることなくＮ＋１世代に追加させる個体の数である。本実施の形態では、優良個体数ｇ１は“１”であるとする。すなわち、本実施の形態では、１番目の個体のみをＮ＋１世代に追加する。具体的には、制御部５１０が、当該１番目の個体（画像処理アルゴリズム）を記憶部５２０に記憶させる。なお、Ｎ＋１世代には、最初、個体はないものとする。なお、優良個体数ｇ１は“１”に限定されることなく任意の値（たとえば、“２”）であってもよい。
【０１５１】
再び、図６を参照して、図６（Ｂ）は、Ｎ＋１世代の個体を示す図である。なお、本実施の形態では、Ｎ＋１世代の個体を生成する場合、個体数ｍは変化しないものとする。ステップＳ２２０の処理により、Ｎ世代の個体Ｉ（Ｎ）＿１は、変化せず、すなわち、フィルタの組合せが変化することなく、Ｎ＋１世代に追加され、個体Ｉ（Ｎ＋１）＿１となる。
【０１５２】
再び、図８を参照して、ステップＳ２２０の処理が終了すると、ステップＳ２３０に進む。
【０１５３】
ステップＳ２３０では、Ｎ世代の最良な画像処理アルゴリズムを考慮した確率的生成処理が行なわれる。確率的生成処理では、制御部５１０が、ステップＳ２１０において行なわれたｍ個の個体の順位付け、前述のステップＳ１００で設定した確率的生成個体数ｇ３、確率変動割合Ｐｆおよび確率変動割合Ｐｆの変化率ｄＰｆに基づいて、ｇ３個の個体を生成し、Ｎ＋１世代に追加する。
【０１５４】
確率的生成処理における個体の生成方法では、Ｎ＋１世代の個体において、複数種類のフィルタの中からフィルタを選択する選択確率を、Ｎ世代の最良の個体で使用されるフィルタに基づいて変化させる。
【０１５５】
ここで、確率的生成個体数ｇ３とは、Ｎ＋１世代に追加するＮ世代の最良の個体を考慮した個体の数である。確率変動割合Ｐｆは、Ｎ＋１世代に追加するＮ世代の最良の個体を考慮した確率的生成時の確率である。確率的生成個体数ｇ３、確率変動割合Ｐｆおよび変化率ｄＰｆは、ユーザが経験的に決める値である。確率変動割合Ｐｆおよび変化率ｄＰｆは、Ｐｆ≧ｄＰｆを満たし、それぞれ“０．０”〜“１．０”の範囲の実数である。
【０１５６】
本実施の形態では、確率的生成個体数ｇ３、確率変動割合Ｐｆおよび変化率ｄＰｆは、それぞれ、“２”、“０．１”、“０．０２”であるとする。なお、確率的生成個体数ｇ３、確率変動割合Ｐｆおよび変化率ｄＰｆは、それぞれ、“２”、“０．１”、“０．０２”に限定されることなく任意の値であってもよい。
【０１５７】
次に、確率的生成処理における、Ｎ世代からＮ＋１世代に追加するｇ３個の個体の生成方法の詳細について説明する。
【０１５８】
図９は、Ｎ世代のフィルタの選択確率を示すデータテーブルＴ２００である。
【０１５９】
図９を参照して、データテーブルＴ２００では、個体のフィルタの数が、一例として、５個である場合のデータを示す。データテーブルＴ２００において、“ＩＤ”は、フィルタＩＤを示す。１〜５段目とは、個体が処理対象画像に対し使用するフィルタの順番（１番目（最初）〜５番目（最後））を示す。以下においては、ｎ段目を、ｎ番目とも称する。データテーブルＴ２００内のＰｆ＿ｎｎは、フィルタの選択確率である。以下においては、フィルタの選択確率を確率変動割合とも称する。データテーブルＴ２００において、たとえば、Ｐｆ＿３２とは、個体が、処理対象画像に対し、２番目に使用するフィルタを、フィルタＩＤ“３”に対応する最大値フィルタ（図５参照）とする確率の値である。
【０１６０】
なお、Ｎ＝１のとき、すなわち、１世代の個体（画像処理アルゴリズム）におけるフィルタの選択確率は、すべて同じであるとする。すなわち、１／（フィルタの種類の数）とする。本実施の形態では、１／６（０．１６７）である。
【０１６１】
図１０は、Ｎ＋１世代に追加する個体の生成方法において使用するテーブルを示す図である。図１０（Ａ）は、Ｎ世代の最良の個体が使用するフィルタを示すデータテーブルＴ３００である。
【０１６２】
図１０（Ａ）を参照して、データテーブルＴ３００では、Ｎ世代の最良の個体が、処理対象画像に対し、１、２、３、４、５番目にそれぞれ使用する５つのフィルタのフィルタＩＤが、それぞれ、“１”、“３”，“１”，“６”，“５”であることを示す。
【０１６３】
次に、確率的生成処理における、Ｎ＋１世代の個体の生成方法を説明する。
【０１６４】
図１０（Ｂ）は、Ｎ＋１世代のフィルタの選択確率を示すデータテーブルＴ３２０である。確率的生成処理における、Ｎ＋１世代の個体は、データテーブルＴ３２０のデータ（計算式）に基づいて生成される。
【０１６５】
図１１は、確率的生成処理のフローチャートである。なお、以下に説明する確率的生成処理では、Ｎ世代の最良個体のフィルタ数と、Ｎ＋１世代に追加する個体のフィルタ数とが同じである。
【０１６６】
図１１を参照して、ステップＳ２３２では、制御部５１０が、Ｎ＋１世代の個体を生成するための１〜５段目（番目）のそれぞれで使用するフィルタの選択確率を決定する。
【０１６７】
まず、Ｎ＋１世代の個体の５段目のフィルタの選択確率を決定する。当該選択確率は、図１０（Ａ）のデータテーブルＴ３００に示されるＮ世代の最良個体の５段目のフィルタＩＤに基づいて決定される。データテーブルＴ３００に示されるＮ世代の最良個体の５段目のフィルタＩＤは、“５”である。
【０１６８】
したがって、制御部５１０は、データテーブルＴ３２０内の５段目のフィルタＩＤ“５”に対応するフィルタをＮ＋１世代の個体で選択する確率を増加させる。以下においては、選択確率を増加させるフィルタを選択確率増加フィルタともいう。また、選択確率増加フィルタをＮ＋１世代の個体で選択する確率を優先フィルタ選択確率とも称する。
【０１６９】
一方で、制御部５１０は、データテーブルＴ３２０内の５段目のフィルタＩＤ“５”以外に対応するフィルタをＮ＋１世代の個体で選択する確率を減少させる。以下においては、選択確率を減少させるフィルタを選択確率減少フィルタともいう。また、以下においては、選択確率減少フィルタをＮ＋１世代の個体で選択する確率を非優先フィルタ選択確率とも称する。
【０１７０】
ここで、５段目のフィルタの確率変動割合Ｐｆ＿５は、確率変動割合Ｐｆ（０．１）と等しくする。また、５段目の５つの選択確率減少フィルタの非優先フィルタ選択確率の減少率は等しくする。たとえば、当該減少率を求める式は、Ｐｆ＿５／（フィルタの種類−１）とする。したがって、減少率は、Ｐｆ＿５／５とする。
【０１７１】
また、５段目におけるフィルタＩＤ“１”に対応する非優先フィルタ選択確率Ｐｆ＿１５（Ｎ＋１）は、以下の式（１）で求める。
Ｐｆ＿１５（Ｎ＋１）＝Ｐｆ＿１５（Ｎ）×（１．０−Ｐｆ＿５／５）・・・（１）
式（１）で、Ｐｆ＿１５（Ｎ）は、データテーブルＴ２００内のＰｆ＿１５の示す値となる。Ｎ＝１のとき、（１）式にＰｆ＿１５＝１／６、Ｐｆ＿５＝０．１を代入すると、Ｐｆ＿１５（Ｎ＋１）、すなわち、
Ｐｆ＿１５（２）＝１／６×（１．０−０．１／５）＝０．１６３となる。またＰｆ＿２５（２），Ｐｆ＿３５（２），Ｐｆ＿４５（２），Ｐｆ＿６５（２）もＰｆ＿１５（２）と同様、“０．１６３”となる。なお、５段目におけるフィルタＩＤ“５”に対応する選択確率増加フィルタの優先フィルタ選択確率Ｐｆ＿５５（Ｎ＋１）は、以下の式（２）で求める。
【０１７２】
【数１】
2006244031.tif 000003
【０１７３】
すなわち、式（２）は、Ｐｆ＿５５（Ｎ＋１）＝１．０−（Ｐｆ＿１５（Ｎ＋１）＋Ｐｆ＿２５（Ｎ＋１）＋Ｐｆ＿３５（Ｎ＋１）＋Ｐｆ＿４５（Ｎ＋１）＋Ｐｆ＿６５（Ｎ＋１））となる。
【０１７４】
Ｎ＝１のとき、式（２）にＰｆ＿１５（２），Ｐｆ＿２５（２），Ｐｆ＿３５（２），Ｐｆ＿４５（２），Ｐｆ＿６５（２）＝０．１６３を代入すると、Ｐｆ＿５５（２）＝０．１８５となる。すなわち、優先フィルタ選択確率Ｐｆ＿５５（２）は、１８．５％となる。したがって、優先フィルタ選択確率（０．１８５）は、非優先フィルタ選択確率（０．１６３）より高い値となる。その結果、Ｎ＋１世代において、５段目のフィルタＩＤ“５”に対応する選択確率増加フィルタが選択される確率は、５段目の選択確率減少フィルタが選択される確率より高くなる。
【０１７５】
制御部５１０は、以上の式（１）および式（２）により５段目の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。
【０１７６】
次に、Ｎ＋１世代の個体の４段目のフィルタの選択確率を決定する。当該選択確率は、図１０（Ａ）のデータテーブルＴ３００に示されるＮ世代の最良個体の４段目のフィルタＩＤに基づいて決定される。データテーブルＴ３００に示されるＮ世代の最良個体の４段目のフィルタＩＤは、“６”である。
【０１７７】
したがって、制御部５１０は、データテーブルＴ３２０内の４段目のフィルタＩＤ“６”に対応する選択確率増加フィルタの優先フィルタ選択確率を増加させる。一方で、制御部５１０は、データテーブルＴ３２０内の４段目のフィルタＩＤ“６”以外に対応する選択確率減少フィルタの非優先フィルタ選択確率を減少させる。
【０１７８】
ここで、４段目のフィルタの確率変動割合Ｐｆ＿４は、以下の式（３）で求める。
Ｐｆ＿４＝Ｐｆ−ｄＰｆ                                        ・・・（３）
もしＰｆ＿４が“０．０”より小さい、すなわち、Ｐｆ＿４が負の場合にはＰｆ＿４は“０．０”とする。本実施の形態では、第Ｎ世代の最良個体のフィルタの個数をＬｂとすると、最終段以外のｋ段目の確率変動割合Ｐｆ＿ｋは、以下の式（４）で求める。
Ｐｆ＿ｋ＝Ｐｆ−ｄＰｆ×（Ｌｂ−ｋ）                          ・・・（４）
ただし、Ｐｆ＿ｋ＜０．０ならばＰｆ＿ｋ＝０．０とする。
したがって、ｋ＝４、すなわち４段目の確率変動割合Ｐｆ＿４は、式（４）に、ｋ＝４、Ｐｆ＝０．１、ｄＰｆ＝０．０２、Ｌｂ＝５を代入すると、Ｐｆ＿ｋ、すなわち、Ｐｆ＿４＝０．１−０．０２×（５−４）＝０．０８となる。
【０１７９】
また、５つの選択確率減少フィルタの非優先フィルタ選択確率の減少率は等しくする。たとえば、当該減少率を求める式は、Ｐｆ＿４／（フィルタの種類−１）とする。したがって、減少率は、Ｐｆ＿４／５とする。
【０１８０】
また、４段目におけるフィルタＩＤ“１”に対応する非優先フィルタ選択確率Ｐｆ＿１４（Ｎ＋１）は、以下の式（５）で求める。
Ｐｆ＿１４（Ｎ＋１）＝Ｐｆ＿１４（Ｎ）×（１．０−Ｐｆ＿４／５）・・・（５）
式（５）で、Ｐｆ＿１４（Ｎ）は、データテーブルＴ２００内のＰｆ＿１４の示す値となる。Ｎ＝１のとき、（５）式にＰｆ＿１４＝１／６、Ｐｆ＿４＝０．０８を代入すると、Ｐｆ＿１４（Ｎ＋１）、すなわち、
Ｐｆ＿１４（２）＝１／６×（１．０−０．０８／５）＝０．１６４となる。またＰｆ＿２４（２），Ｐｆ＿３４（２），Ｐｆ＿４４（２），Ｐｆ＿５４（２）もＰｆ＿１４（２）と同様、“０．１６４”となる。
【０１８１】
なお、４段目におけるフィルタＩＤ“６”に対応する選択確率増加フィルタの優先フィルタ選択確率Ｐｆ＿６４（Ｎ＋１）は、以下の式（６）で求める。
【０１８２】
【数２】
2006244031.tif 000004
【０１８３】
すなわち、式（６）は、Ｐｆ＿６４（Ｎ＋１）＝１．０−（Ｐｆ＿１４（Ｎ＋１）＋Ｐｆ＿２４（Ｎ＋１）＋Ｐｆ＿３４（Ｎ＋１）＋Ｐｆ＿４４（Ｎ＋１）＋Ｐｆ＿５４（Ｎ＋１））となる。
【０１８４】
Ｎ＝１のとき、式（６）にＰｆ＿１４（２），Ｐｆ＿２４（２），Ｐｆ＿３４（２），Ｐｆ＿４４（２），Ｐｆ＿５４（２）＝０．１６４を代入すると、Ｐｆ＿６４（２）＝０．１８となる。すなわち、優先フィルタ選択確率Ｐｆ＿６４（２）は、１８％となる。したがって、優先フィルタ選択確率（０．１８）は、非優先フィルタ選択確率（０．１６４）より高い値となる。その結果、Ｎ＋１世代において、４段目のフィルタＩＤ“６”に対応する選択確率増加フィルタが選択される確率は、４段目の選択確率減少フィルタが選択される確率より高くなる。
【０１８５】
制御部５１０は、以上の式（５）および式（６）により４段目の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。
【０１８６】
次に、Ｎ＋１世代の個体の３段目のフィルタの選択確率を決定する。当該選択確率は、図１０（Ａ）のデータテーブルＴ３００に示されるＮ世代の最良個体の３段目のフィルタＩＤに基づいて決定される。データテーブルＴ３００に示されるＮ世代の最良個体の３段目のフィルタＩＤは、“１”である。
【０１８７】
したがって、制御部５１０は、データテーブルＴ３２０内の３段目のフィルタＩＤ“１”に対応する選択確率増加フィルタの優先フィルタ選択確率を増加させる。一方で、制御部５１０は、データテーブルＴ３２０内の３段目のフィルタＩＤ“１”以外に対応する選択確率減少フィルタの非優先フィルタ選択確率を減少させる。
【０１８８】
ここで、３段目のフィルタの確率変動割合Ｐｆ＿３は、前述の式（４）にｋ＝３、Ｐｆ＝０．１、ｄＰｆ＝０．０２、Ｌｂ＝５を代入することで求められる。したがって、Ｐｆ＿ｋ、すなわち、Ｐｆ＿３＝０．１−０．０２×（５−３）＝０．０６となる。
【０１８９】
また、３段目におけるフィルタＩＤ“２”に対応する非優先フィルタ選択確率Ｐｆ＿２３（Ｎ＋１）は、以下の式（７）で求める。
Ｐｆ＿２３（Ｎ＋１）＝Ｐｆ＿２３（Ｎ）×（１．０−Ｐｆ＿３／５）・・・（７）
式（７）で、Ｐｆ＿２３（Ｎ）は、データテーブルＴ２００内のＰｆ＿２３の示す値となる。Ｎ＝１のとき、（７）式にＰｆ＿２３＝１／６、Ｐｆ＿３＝０．０６を代入すると、Ｐｆ＿２３（Ｎ＋１）、すなわち、
Ｐｆ＿２３（２）＝１／６×（１．０−０．０６／５）＝０．１６４７となる。またＰｆ＿３３（２），Ｐｆ＿４３（２），Ｐｆ＿５３（２），Ｐｆ＿６３（２）もＰｆ＿２３（２）と同様、“０．１６４７”となる。
【０１９０】
なお、３段目におけるフィルタＩＤ“１”に対応する選択確率増加フィルタの優先フィルタ選択確率Ｐｆ＿１３（Ｎ＋１）は、以下の式（８）で求める。
【０１９１】
【数３】
2006244031.tif 000005
【０１９２】
すなわち、式（８）は、Ｐｆ＿１３（Ｎ＋１）＝１．０−（Ｐｆ＿２３（Ｎ＋１）＋Ｐｆ＿３３（Ｎ＋１）＋Ｐｆ＿４３（Ｎ＋１）＋Ｐｆ＿５３（Ｎ＋１）＋Ｐｆ＿６３（Ｎ＋１））となる。
【０１９３】
Ｎ＝１のとき、式（８）にＰｆ＿２３（２），Ｐｆ＿３３（２），Ｐｆ＿４３（２），Ｐｆ＿５３（２），Ｐｆ＿６３（２）＝０．１６４７を代入すると、Ｐｆ＿１３（２）＝０．１７６５となる。すなわち、優先フィルタ選択確率Ｐｆ＿１３（２）は、１７．６５％となる。したがって、優先フィルタ選択確率（０．１７６５）は、非優先フィルタ選択確率（０．１６４７）より高い値となる。その結果、Ｎ＋１世代において、３段目のフィルタＩＤ“１”に対応する選択確率増加フィルタが選択される確率は、３段目の選択確率減少フィルタが選択される確率より高くなる。
【０１９４】
制御部５１０は、以上の式（７）および式（８）により３段目の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。
【０１９５】
次に、Ｎ＋１世代の個体の２段目のフィルタの選択確率を決定する。当該選択確率は、図１０（Ａ）のデータテーブルＴ３００に示されるＮ世代の最良個体の２段目のフィルタＩＤに基づいて決定される。データテーブルＴ３００に示されるＮ世代の最良個体の２段目のフィルタＩＤは、“３”である。
【０１９６】
したがって、制御部５１０は、データテーブルＴ３２０内の２段目のフィルタＩＤ“３”に対応する選択確率増加フィルタの優先フィルタ選択確率を増加させる。一方で、制御部５１０は、データテーブルＴ３２０内の２段目のフィルタＩＤ“３”以外に対応する選択確率減少フィルタの非優先フィルタ選択確率を減少させる。
【０１９７】
ここで、２段目のフィルタの確率変動割合Ｐｆ＿２は、前述の式（４）にｋ＝２、Ｐｆ＝０．１、ｄＰｆ＝０．０２、Ｌｂ＝５を代入することで求められる。したがって、Ｐｆ＿ｋ、すなわち、Ｐｆ＿２＝０．１−０．０２×（５−２）＝０．０４となる。
【０１９８】
また、２段目におけるフィルタＩＤ“１”に対応する非優先フィルタ選択確率Ｐｆ＿１２（Ｎ＋１）は、以下の式（９）で求める。
Ｐｆ＿１２（Ｎ＋１）＝Ｐｆ＿１２（Ｎ）×（１．０−Ｐｆ＿２／５）・・・（９）
式（９）で、Ｐｆ＿１２（Ｎ）は、データテーブルＴ２００内のＰｆ＿１２の示す値となる。Ｎ＝１のとき、（９）式にＰｆ＿１２＝１／６、Ｐｆ＿２＝０．０４を代入すると、Ｐｆ＿１２（Ｎ＋１）、すなわち、
Ｐｆ＿１２（２）＝１／６×（１．０−０．０４／５）＝０．１６５３となる。またＰｆ＿２２（２），Ｐｆ＿４２（２），Ｐｆ＿５２（２），Ｐｆ＿６２（２）もＰｆ＿１２（２）と同様、“０．１６５３”となる。
【０１９９】
なお、２段目におけるフィルタＩＤ“３”に対応する選択確率増加フィルタの優先フィルタ選択確率Ｐｆ＿３２（Ｎ＋１）は、以下の式（１０）で求める。
【０２００】
【数４】
2006244031.tif 000006
【０２０１】
すなわち、式（１０）は、Ｐｆ＿３２（Ｎ＋１）＝１．０−（Ｐｆ＿１２（Ｎ＋１）＋Ｐｆ＿２２（Ｎ＋１）＋Ｐｆ＿４２（Ｎ＋１）＋Ｐｆ＿５２（Ｎ＋１）＋Ｐｆ＿６２（Ｎ＋１））となる。
【０２０２】
Ｎ＝１のとき、式（１０）にＰｆ＿１２（２），Ｐｆ＿２２（２），Ｐｆ＿４２（２），Ｐｆ＿５２（２），Ｐｆ＿６２（２）＝０．１６５３を代入すると、Ｐｆ＿３２（２）＝０．１７３５となる。すなわち、優先フィルタ選択確率Ｐｆ＿３２（２）は、１７．３５％となる。したがって、優先フィルタ選択確率（０．１７３５）は、非優先フィルタ選択確率（０．１６５３）より高い値となる。その結果、Ｎ＋１世代において、２段目のフィルタＩＤ“３”に対応する選択確率増加フィルタが選択される確率は、２段目の選択確率減少フィルタが選択される確率より高くなる。
【０２０３】
制御部５１０は、以上の式（９）および式（１０）により２段目の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。
【０２０４】
次に、Ｎ＋１世代の個体の１段目のフィルタの選択確率を決定する。当該選択確率は、図１０（Ａ）のデータテーブルＴ３００に示されるＮ世代の最良個体の１段目のフィルタＩＤに基づいて決定される。データテーブルＴ３００に示されるＮ世代の最良個体の１段目のフィルタＩＤは、“１”である。
【０２０５】
したがって、制御部５１０は、データテーブルＴ３２０内の１段目のフィルタＩＤ“１”に対応する選択確率増加フィルタの優先フィルタ選択確率を増加させる。一方で、制御部５１０は、データテーブルＴ３２０内の１段目のフィルタＩＤ“１”以外に対応する選択確率減少フィルタの非優先フィルタ選択確率を減少させる。
【０２０６】
ここで、１段目のフィルタの確率変動割合Ｐｆ＿１は、前述の式（４）にｋ＝１、Ｐｆ＝０．１、ｄＰｆ＝０．０２、Ｌｂ＝５を代入することで求められる。したがって、Ｐｆ＿ｋ、すなわち、Ｐｆ＿２＝０．１−０．０２×（５−１）＝０．０２となる。
【０２０７】
また、１段目におけるフィルタＩＤ“２”に対応する非優先フィルタ選択確率Ｐｆ＿２１（Ｎ＋１）は、以下の式（１１）で求める。
Ｐｆ＿２１（Ｎ＋１）＝Ｐｆ＿２１（Ｎ）×（１．０−Ｐｆ＿１／５）・・・（１１）
式（１１）で、Ｐｆ＿２１（Ｎ）は、データテーブルＴ２００内のＰｆ＿２１の示す値となる。Ｎ＝１のとき、（７）式にＰｆ＿２１＝１／６、Ｐｆ＿２＝０．０２を代入すると、Ｐｆ＿２１（Ｎ＋１）、すなわち、
Ｐｆ＿２１（２）＝１／６×（１．０−０．０２／５）＝０．１６６となる。またＰｆ＿３１（２），Ｐｆ＿４１（２），Ｐｆ＿５１（２），Ｐｆ＿６１（２）もＰｆ＿２１（２）と同様、“０．１６６”となる。
【０２０８】
なお、１段目におけるフィルタＩＤ“１”に対応する選択確率増加フィルタの優先フィルタ選択確率Ｐｆ＿１１（Ｎ＋１）は、以下の式（１２）で求める。
【０２０９】
【数５】
2006244031.tif 000007
【０２１０】
すなわち、式（１２）は、Ｐｆ＿１１（Ｎ＋１）＝１．０−（Ｐｆ＿２１（Ｎ＋１）＋Ｐｆ＿３１（Ｎ＋１）＋Ｐｆ＿４１（Ｎ＋１）＋Ｐｆ＿５１（Ｎ＋１）＋Ｐｆ＿６１（Ｎ＋１））となる。
【０２１１】
Ｎ＝１のとき、式（１２）にＰｆ＿２１（２），Ｐｆ＿３１（２），Ｐｆ＿４１（２），Ｐｆ＿５１（２），Ｐｆ＿６１（２）＝０．１６６を代入すると、Ｐｆ＿１１（２）＝０．１７となる。すなわち、優先フィルタ選択確率Ｐｆ＿１１（２）は、１７％となる。したがって、優先フィルタ選択確率（０．１７）は、非優先フィルタ選択確率（０．１６６）より高い値となる。その結果、Ｎ＋１世代において、１段目のフィルタＩＤ“１”に対応する選択確率増加フィルタが選択される確率は、１段目の選択確率減少フィルタが選択される確率より高くなる。
【０２１２】
制御部５１０は、以上の式（１１）および式（１２）により１段目の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。
【０２１３】
以上計算した、Ｎ＝１のときの５，４，３，２，１段目の優先フィルタ選択確率は、それぞれ、“０．１８５”、“０．１８”、“０．１７６５”、“０．１７３５”、“０．１７”となる。すなわち、Ｎ＋１世代の個体において、Ｎ世代の最良の個体が使用するフィルタと同じフィルタを各段で選択する確率は、５段目が最も大きく、１段目が最も小さくなる。
【０２１４】
また、Ｎ＝１のとき、２世代の５，４，３，２，１段目の優先フィルタ選択確率は、“０．１８５”、“０．１８”、“０．１７６５”、“０．１７３５”、“０．１７”であり、１世代の選択確率１／６（０．１６７）よりもすべて大きくなっている。したがって、世代が交代するにつれて、各段の優先フィルタ選択確率は大きくなる。すなわち、世代が交代するにつれて、Ｎ世代の最良の個体に最も近い個体がＮ＋１世代に追加される確率が高くなる。
【０２１５】
また、Ｎ＝１のときの５，４，３，２，１段目の非優先フィルタ選択確率は、それぞれ、“０．１６３”、“０．１６４”、“０．１６４７”、“０．１６５３”、“０．１６６”となる。すなわち、Ｎ＋１世代の個体において、Ｎ世代の最良の個体が使用しないフィルタを各段で選択する確率は、５段目が最も小さく、１段目が最も大きくなる。
【０２１６】
また、２世代の５，４，３，２，１段目の非優先フィルタ選択確率は、０．１６３”、“０．１６４”、“０．１６４７”、“０．１６５３”、“０．１６６”であり、１世代の選択確率１／６（０．１６７）よりもすべて小さくなっている。したがって、世代が交代するにつれて、各段の非優先フィルタ選択確率は小さくなる。
【０２１７】
なお、本実施の形態における、各段の優先フィルタ選択確率および非優先フィルタ選択確率を求める計算式は、一例であって、前述したのと同様な特徴を持つ各段の優先フィルタ選択確率および非優先フィルタ選択確率を求める計算式であればよい。
【０２１８】
また、優先フィルタ選択確率および非優先フィルタ選択確率を、１段目〜最終段目まで段階的に変化させることは、一例であって、各段の優先フィルタ選択確率および非優先フィルタ選択確率は、同じであってもよい。
【０２１９】
また、ある段以降の優先フィルタ選択確率を１００％にしてもよい。そうすることで、個体の最適解の近傍をより重点的に探索することも可能である。
【０２２０】
再び、図１１を参照して、ステップＳ２３２の処理が終了すると、ステップＳ２３４に進む。
【０２２１】
ステップＳ２３４では、制御部５１０は、ステップＳ２３２で求めた各段の優先フィルタ選択確率および非優先フィルタ選択確率に基づいて、Ｎ＋１世代に追加するｇ３個の個体を生成する。すなわち、Ｎ世代の最良個体に基づいて、Ｎ＋１世代の個体を生成する。つまり、Ｎ＋１世代は、近傍であるＮ世代の最良個体に基づいて生成される。
【０２２２】
したがって、本実施の形態では、Ｎ世代の最良個体に近いものをＮ＋１世代で生成することができ、優良な個体（画像処理アルゴリズム）の生成時間を短縮できるという効果を奏する。
【０２２３】
本実施の形態では、確率的生成個体数ｇ３は“２”であるので、制御部５１０は、Ｎ＋１世代に追加する２個の個体を生成する。制御部５１０は、生成した２つの個体（画像処理アルゴリズム）を記憶部５２０に記憶させる。
【０２２４】
再び、図６（Ｂ）を参照して、ステップＳ２３４により、個体Ｉ（Ｎ＋１）＿２および個体Ｉ（Ｎ＋１）＿３がＮ＋１世代に追加される。
【０２２５】
本実施の形態では、前述した処理により、Ｎ＋１世代の最後段（５段目）のフィルタがＮ世代と同じものが選択される確率である優先フィルタ選択確率が高く設定される。
【０２２６】
すなわち、本発明に係る画像処理アルゴリズム生成方法においては、処理対象画像に対して、使用するフィルタの順番に応じて、フィルタの選択率を変更する。さらに、処理対象画像に対して、Ｎ世代およびＮ＋１世代の最後段でそれぞれ使用される２つのフィルタが同じとなる確率が、Ｎ世代およびＮ＋１世代の最後段以外でそれぞれ使用される２つのフィルタが同じとなる確率よりも高く設定される。
【０２２７】
したがって、Ｎ世代での最良の画像処理アルゴリズムで処理対象画像を処理した処理後画像と類似した処理後画像を出力する画像処理アルゴリズム、すなわち、認識率が高い画像処理アルゴリズムをＮ＋１世代に追加できる可能性が高くなるという効果と、より効率的に第Ｎ世代での最良の画像処理アルゴリズムに近いもの（近傍）を探索可能であるという効果とを奏する。
【０２２８】
以上の効果により、画像処理アルゴリズム生成時間を短縮できるとともに、認識率が高い画像処理アルゴリズムを生成することができるという効果を奏する。
【０２２９】
また、本実施の形態では、Ｎ＋１世代の最前段（１段目）のフィルタが、Ｎ世代と同じものが選択される優先フィルタ選択確率が高く設定されているものの、最後段（５段目）の優先フィルタ選択確率よりは低い。したがって、Ｎ＋１世代の個体では、最前段に近いもの程、Ｎ世代で使用されるフィルタと異なるフィルタが選択される可能性が高くなる。
【０２３０】
再び、図１１を参照して、ステップＳ２３４の処理が終了すると、この確率的生成処理は終了し、図８の次世代画像処理アルゴリズム生成処理の処理に戻り、ステップＳ２４０に進む。
【０２３１】
以上、Ｎ世代の最良個体のフィルタ数と、Ｎ＋１世代に追加する個体のフィルタ数とが同じである場合の確率的生成処理について説明した。
【０２３２】
次に、Ｎ世代の最良個体のフィルタ数と、Ｎ＋１世代に追加する個体のフィルタ数とが異なる場合の確率的生成処理について説明する。
【０２３３】
まず、確率的生成処理により第Ｎ＋１世代に追加される個体（以下においては、新規個体ともいう）のフィルタ数が第Ｎ世代の最良個体のフィルタ数よりも少ない場合について説明する。新規個体のフィルタ数が、たとえば、“３”であるとする。
【０２３４】
再び、図１０（Ｂ）を参照して、この場合、新規個体の最後段（３段目）の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の５段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して、前述した処理と同様にＮ＋１世代の新規個体を生成する。
【０２３５】
また、新規個体の２段目の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の４段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。また、新規個体の１段目の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の３段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。
【０２３６】
次に、確率的生成処理により第Ｎ＋１世代に追加される個体のフィルタ数が第Ｎ世代の最良個体のフィルタ数よりも多い場合について説明する。Ｎ＋１世代の新規個体のフィルタ数が、たとえば、“７”であるとする。
【０２３７】
この場合、新規個体の最後段（７段目）の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の５段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。
【０２３８】
また、新規個体の６段目の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の４段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。
【０２３９】
同様にして、新規個体のＬ（５以下の自然数）段目の優先フィルタ選択確率および非優先フィルタ選択確率に、データテーブルＴ３２０の（Ｌ−（新規個体のフィルタ数−５））段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。ここで、“新規個体のフィルタ数−５”は、７−５より２となる。
【０２４０】
したがって、Ｌ＝３のとき、新規個体の３段目の優先フィルタ選択確率および非優先フィルタ選択確率には、データテーブルＴ３２０の１段目の優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成することになる。
【０２４１】
なお、新規個体の２，１段目の優先フィルタ選択確率および非優先フィルタ選択確率には、全て１／６（すなわち、全て等確率）を使用して前述した処理と同様にＮ＋１世代の新規個体を生成する。
【０２４２】
また、Ｎ世代の新規個体の２，１段目の優先フィルタ選択確率および非優先フィルタ選択確率には、第Ｎ−１世代〜第１世代の範囲で遡った最も近い世代で使用された優先フィルタ選択確率および非優先フィルタ選択確率をそれぞれ使用して前述した処理と同様にＮ＋１世代の新規個体を生成してもよい。
【０２４３】
以上説明したように、本発明に係る画像処理アルゴリズム生成処理において、Ｎ世代での最良の画像処理アルゴリズム（個体）のフィルタ数と、Ｎ＋１世代に追加する画像処理アルゴリズムのフィルタ数とが異なるようにする場合、上記処理を行なう。
【０２４４】
したがって、Ｎ世代およびＮ＋１世代の画像処理アルゴリズムのフィルタ数が同じである場合（以下においては、条件Ａとも称する）と比較すると、Ｎ世代での最良の画像処理アルゴリズム中に無駄な画像処理フィルタが含まれている場合や、画像処理フィルタが不足している場合等に効率的に認識率が高い画像処理アルゴリズムを探索可能である。
【０２４５】
そのため、結果として、認識率が高い画像処理アルゴリズムの生成時間をさらに短縮できるとともに、より最適な（認識率が高い）画像処理アルゴリズムを生成する可能性が高くなるという効果を奏する。
【０２４６】
再び、図８を参照して、ステップＳ２４０では、前述のステップＳ１００で設定したランダム生成個体数ｇ２に基づいて、ステップＳ１０１と同様の方法により、ランダムにｇ２個の個体を生成し、Ｎ＋１世代に追加する。ここで、ランダム生成個体数ｇ２とは、ランダムに生成し、Ｎ＋１世代に追加する個体の数である。本実施の形態では、ランダム生成個体数ｇ２は“１”であるとする。なお、ランダム生成個体数ｇ２は“１”に限定されることなく任意の値（たとえば、“２”）であってもよい。
【０２４７】
再び、図６（Ｂ）を参照して、ステップＳ２４０により、個体Ｉ（Ｎ＋１）＿４がＮ＋１世代に追加される。なお、個体Ｉ（Ｎ＋１）＿４は、個体Ｉ（Ｎ）＿４と同じになる場合もある。
【０２４８】
再び、図８を参照して、ステップＳ２４０の処理が終了すると、ステップＳ２５０に進む。
【０２４９】
ステップＳ２５０では、Ｎ世代のｍ（１００）個の個体から、遺伝的操作の一つである交叉によりｍ−（ｇ１＋ｇ２＋ｇ３）個の個体を生成する。すなわち、Ｎ世代のｍ（１００）個の個体から、交叉により１００−（１＋１＋２）＝９６個の個体を生成する。
【０２５０】
図１２は、本実施の形態における交叉の手法の一例を示す図である。
【０２５１】
図１２を参照して、まず、制御部５１０が、１００個の１０％である１０個を、１００個の個体の中からランダムに選択する（図１２（Ｂ））。そして、制御部５１０は、ランダム選択した１０個の個体のうち、最も評価値の高い個体を最優良個体として選択する（図１２（Ｃ））。制御部５１０は、以上の処理を２回繰り返すことにより、１００個の個体の中から２個の個体（以下においては、交叉対象２個体とも称する）をランダムに選択する。
【０２５２】
そして、制御部５１０は、前述の交叉確率Ｐｃに基づいて、交叉対象２個体を交叉させ、２つの個体を生成する。ここで、交叉確率Ｐｃとは、交叉対象２個体を交叉させる確率である。本実施の形態では、交叉確率Ｐｃは、０．９（９０％）であるとする。なお、交叉確率Ｐｃは、０．９に限定されることはない。交叉は、前述の図１８（Ａ）および図１８（Ｂ）において説明した手法により行なわれる。以上の処理を繰り返すことにより、Ｎ世代のｍ（１００）個の個体から、９６個の個体を生成する。
【０２５３】
再び、図８を参照して、ステップＳ２５０の処理が終了すると、ステップＳ２６０に進む。
【０２５４】
ステップＳ２６０では、ステップＳ２５０で生成した９６個の個体（以下においては、突然変異対象個体とも称する）に対して、前述の突然変異確率Ｐｍに基づいて遺伝的操作の一つである突然変異を施す（以下においては、突然変異処理とも称する）。ここで、突然変異確率Ｐｍとは、９６個の突然変異対象個体に対して、突然変異を行なう確率である。本実施の形態では、突然変異確率Ｐｍは、０．０５（５％）であるとする。なお、突然変異確率Ｐｍは、０．０５に限定されることはない。本実施の形態では、突然変異は、制御部５１０が、前述の図１８（Ｃ）において説明した手法を、９６個の突然変異対象個体の各々に対し５％の確率で行なう。そして、制御部５１０は、突然変異処理が行なわれた９６個の個体をＮ＋１世代に追加する。具体的には、制御部５１０が、生成した９６個の個体（画像処理アルゴリズム）を記憶部５２０に記憶させる。以上の処理により、Ｎ＋１世代の個体の数は、Ｎ世代と同じ個体の数となる。すなわち、記憶部５２０に記憶された個体（画像処理アルゴリズム）の数は１００個となる。そして、この次世代画像処理アルゴリズム生成処理は終了し、図４の画像処理アルゴリズム生成処理の処理に戻り、ステップＳ１１２に進む。
【０２５５】
なお、本実施の形態における次世代画像処理アルゴリズム生成処理内のステップＳ２２０，Ｓ２３０，Ｓ２４０，Ｓ２５０，Ｓ２６０の処理の順序は、前述の順番に限定されることはなく、任意である。たとえば、ステップＳ２３０処理が、ステップＳ２２０の処理よりも先に行なわれてもよい。
【０２５６】
ステップＳ１１２では、制御部５１０が、世代番号Ｎを１インクリメントする。その後、再度、ステップＳ１０３Ｂの処理が行なわれる。
【０２５７】
そして、ステップＳ１０９で、終了条件が満たされたと判定されるまで、ステップＳ１０３Ｂ，Ｓ１０４，Ｓ１０５，Ｓ１０６，Ｓ１０７，Ｓ１０８，Ｓ１１０，Ｓ１１２の処理が繰り返される。以上の処理により、世代が交代するにつれてｍ個の個体（画像処理アルゴリズム）が、優秀な（認識率の高い）ｍ個の個体（画像処理アルゴリズム）に変化していく。
【０２５８】
以上説明したように、本実施の形態における画像処理アルゴリズム生成処理では、進化的手法としての遺伝的アルゴリズムを使用する。したがって、遺伝的アルゴリズムの個体表現が１次元の画像処理フィルタ列として直接適用可能であるため、他の進化的手法である遺伝的プログラミングのように木構造で個体を表現する手法と比較して最適化にかかる時間、すなわち、認識率の高い画像処理アルゴリズム生成時間を短縮できるという効果を奏する。
【０２５９】
また、本実施の形態においては、世代が交代するにつれてｍ個の個体（画像処理アルゴリズム）から、優秀な（認識率の高い）ｍ個の個体（画像処理アルゴリズム）を短時間で得ることができるという効果を奏する。
【０２６０】
以上、本実施の形態においては、最適化手法として遺伝的アルゴリズムを使用したが、遺伝的プログラミングや進化的アルゴリズムなど他の進化的手法を用いてもよいものとする。
【０２６１】
＜第２の実施の形態＞
第１の実施の形態では、確率的生成処理におけるＮ＋１世代のフィルタの選択確率は、Ｎ世代の最良の１つの個体に基づいて決定されていた。本実施の形態では、Ｎ世代の優良な複数の個体に基づいて、Ｎ＋１世代のフィルタの選択確率を決定する。
【０２６２】
本実施の形態における画像処理アルゴリズム生成装置の構成および機能は、第１の実施の形態の画像処理アルゴリズム生成装置５００と同様なので詳細な説明は繰り返さない。
【０２６３】
図１３は、第２の実施の形態における画像処理アルゴリズム生成処理のフローチャートである。第２の実施の形態における画像処理アルゴリズム生成処理は、第１の実施の形態における画像処理アルゴリズム生成処理とほぼ同様な処理が行なわれる。以下においては、異なる部分の処理についてのみ説明する。なお、以下に説明する図面で実施の形態１と同じステップの番号が付されている処理は、実施の形態１と同じ処理が行なわれるので詳細な説明は繰り返さない。
【０２６４】
また、以下においては、第２の実施の形態における画像処理アルゴリズム生成処理を第２画像処理アルゴリズム生成処理とも称する。また、第１の実施の形態における画像処理アルゴリズム生成処理を第１画像処理アルゴリズム生成処理とも称する。
【０２６５】
図１３を参照して、第２画像処理アルゴリズム生成処理では、第１画像処理アルゴリズム生成処理と比較して、ステップＳ１００の代わりにステップＳ１００Ａの処理が行なわれる点と、ステップＳ１１０の代わりにステップＳ１１０Ａの処理が行なわれる点とが異なる。
【０２６６】
ステップＳ１００Ａでは、第１の実施の形態のステップＳ１００で行なわれる処理に加えて、制御部５１０が、後述する処理で使用する優良個体数ｖを設定する。本実施の形態では、優良個体数ｖは、“３”であるとする。なお、優良個体数ｖは、“３”に限定されることなく、２以上の値であればよい。
【０２６７】
ステップＳ１１０Ａでは、次世代画像処理アルゴリズム生成処理が行なわれる。
【０２６８】
図１４は、第２の実施の形態における次世代画像処理アルゴリズム生成処理のフローチャートである。以下においては、第２の実施の形態における次世代画像処理アルゴリズム生成処理を第２次世代画像処理アルゴリズム生成処理とも称する。また、第１の実施の形態における次世代画像処理アルゴリズム生成処理を第１次世代画像処理アルゴリズム生成処理とも称する。
【０２６９】
図１４を参照して、第２次世代画像処理アルゴリズム生成処理では、第１次世代画像処理アルゴリズム生成処理と比較して、ステップＳ２３０の処理の代わりにステップＳ２３０Ａの処理が行なわれる点が異なる。
【０２７０】
ステップＳ２３０Ａでは、確率的生成処理が行なわれる。本実施の形態における確率的生成処理では、制御部５１０が、ステップＳ２１０において行なわれたｍ個の個体の順位付け、前述のステップＳ１００Ａで設定した確率的生成個体数ｇ３、確率変動割合Ｐｆ、確率変動割合Ｐｆの変化率ｄＰｆおよび優良個体数ｖに基づいて、ｇ３個の個体生成し、Ｎ＋１世代に追加する。
【０２７１】
図１５は、第２の実施の形態における確率的生成処理のフローチャートである。
【０２７２】
図１５を参照して、ステップＳ２３２Ａでは、制御部５１０が、Ｎ＋１世代の個体を生成するための１〜５段目（番目）のそれぞれで使用するフィルタの選択確率をＮ世代の優良な複数の個体に基づいて決定する。
【０２７３】
図１６は、第２の実施の形態におけるＮ＋１世代に追加する個体の生成方法において使用するテーブルを示す図である。図１６（Ａ）は、Ｎ世代の優良な複数の個体が使用するフィルタを示すデータテーブルＴ３００Ａである。Ｎ世代の優良な個体の個数は、優良個体数ｖ（３）である。以下においては、Ｎ世代の優良な個体を確率的生成対象個体とも称する。
【０２７４】
本実施の形態では、ステップＳ２１０により順位付けられた上位３つの個体、すなわち、１，２、３番目の個体の各々が使用するフィルタに基づいて、以下のステップＳ２３２Ａの処理が行なわれる。
【０２７５】
図１６（Ａ）を参照して、データテーブルＴ３００Ａでは、３つの確率的生成対象個体の各々が、処理対象画像に対し、１、２、３、４、５番目にそれぞれ使用する５つのフィルタのフィルタＩＤが示される。
【０２７６】
再び、図１５を参照して、ステップＳ２３２Ａでは、制御部５１０が、データテーブルＴ３００Ａに基づいて、Ｎ＋１世代の個体における各段のフィルタの選択確率を決定する。具体的には、制御部５１０が、ｖ個の個体の各段において、最も多いフィルタＩＤを選択する。なお、最も多いフィルタＩＤが複数ある場合は、制御部５１０は、ステップＳ２１０により決定された順位が上位の個体が有するフィルタＩＤを選択する。
【０２７７】
以上の選択基準により、制御部５１０は、データテーブルＴ３００Ａに基づいて、５，４，３，２，１段目のフィルタＩＤを、それぞれ、“５”，“６”，“１”，“３”，“１”と設定する。制御部５１０は、当該設定情報に基づき、Ｎ＋１世代の個体を生成するための１〜５段目（番目）のそれぞれで使用するフィルタの選択確率を決定する処理を行なう。なお、当該処理は、実施の形態１のステップＳ２３２で説明した処理と同様なので詳細な説明は繰り返さない。
【０２７８】
ステップＳ２３２Ａの処理の結果、図１６（Ｂ）のデータテーブルＴ３２０に示される計算式で、制御部５１０は、各段の優先フィルタ選択確率および非優先フィルタ選択確率をすべて求める。その後、実施の形態１と同様にステップＳ２３４の処理が行なわれる。
【０２７９】
以上説明したように、本実施の形態では、Ｎ＋１世代の個体において、１〜５段目（番目）のそれぞれで使用するフィルタの選択確率をＮ世代の優良な複数の個体に基づいて決定する。
【０２８０】
したがって、本実施の形態では、第１の実施の形態と同様な効果を奏するのに加え、Ｎ世代の最良な１つの個体に基づいてフィルタの選択確率を決定する場合と比較して、最良の（認識率の高い）画像処理アルゴリズムが局所解の近傍である場合においても、第Ｎ＋１世代において局所解から脱出することが可能となる。その結果、より最適な（認識率の高い）画像処理アルゴリズムを生成する可能性が高くなるという効果を奏する。
【０２８１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２８２】
本発明は、画像検査装置、画像変換装置、画像認識装置、パターンマッチング装置、画像を用いた位置決め装置、画像認識機能付自律ロボット、画像認識機能付産業用ロボットなどに利用される。
【図面の簡単な説明】
【０２８３】
【図１】本実施の形態における画像処理アルゴリズム生成装置の内部の構成を示すブロック図である。
【図２】画像データ入力部の内部構成を示すブロック図である。
【図３】本実施の形態における画像処理アルゴリズム生成装置の機能ブロック図である。
【図４】画像処理アルゴリズム生成処理のフローチャートである。
【図５】フィルタテーブルを示す。
【図６】本実施の形態において生成された個体を示す図である。
【図７】本実施の形態における処理対象画像および目標画像を示す図である。
【図８】次世代画像処理アルゴリズム生成処理のフローチャートである。
【図９】Ｎ世代のフィルタの選択確率を示すデータテーブルである。
【図１０】Ｎ＋１世代に追加する個体の生成方法において使用するテーブルを示す図である。
【図１１】確率的生成処理のフローチャートである。
【図１２】本実施の形態における交叉の手法の一例を示す図である。
【図１３】第２の実施の形態における画像処理アルゴリズム生成処理のフローチャートである。
【図１４】第２の実施の形態における次世代画像処理アルゴリズム生成処理のフローチャートである。
【図１５】第２の実施の形態における確率的生成処理のフローチャートである。
【図１６】第２の実施の形態におけるＮ＋１世代に追加する個体の生成方法において使用するテーブルを示す図である。
【図１７】従来技術による１つの個体で表現された画像処理アルゴリズムを示す図である。
【図１８】交叉、突然変異を説明するための図である。
【符号の説明】
【０２８４】
１８０  画像処理アルゴリズム生成プログラム、５００  画像処理アルゴリズム生成装置、５１０  制御部、５２０  記憶部、５３０  表示部、５５５  記録媒体、６００  画像データ入力部。
【図１】
2006244031.tif 000008
【図２】
2006244031.tif 000009
【図３】
2006244031.tif 000010
【図４】
2006244031.tif 000011
【図５】
2006244031.tif 000012
【図６】
2006244031.tif 000013
【図７】
2006244031.tif 000014
【図８】
2006244031.tif 000015
【図９】
2006244031.tif 000016
【図１０】
2006244031.tif 000017
【図１１】
2006244031.tif 000018
【図１２】
2006244031.tif 000019
【図１３】
2006244031.tif 000020
【図１４】
2006244031.tif 000021
【図１５】
2006244031.tif 000022
【図１６】
2006244031.tif 000023
【図１７】
2006244031.tif 000024
【図１８】
2006244031.tif 000025