(57)【要約】【課題】負荷が小さく優秀なフィルタ列を短時間で生成する。【解決手段】フィルタ列生成装置３００は、原画像データの入力を受ける入力部３１０と、記憶部３２０と、フィルタ列生成処理を実行する演算部３３０と、フィルタ列を出力する出力部３５０とを備える。演算部３３０は、処理の終了条件の入力を受ける条件入力部３３１と、各フィルタ列による画像処理の能力を表わす能力値を算出するフィルタ列能力値算出部３３２と、各フィルタ列を適用した画像処理に対する負荷を表わす負荷値を算出するフィルタ列負荷値算出部３３３と、能力値と負荷値とに基づいて評価値を算出するフィルタ列評価値算出部３３４と、抽出条件を満足するフィルタ列を抽出する親フィルタ列抽出部３３５と、次世代生成部３３６と、優秀フィルタ列出力部３３７とを含む。【選択図】図３
2008015824.tif 000002
【特許請求の範囲】
【請求項１】
画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出する能力値算出手段を備え、各前記フィルタ列は、複数のフィルタを含み、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出する負荷値算出手段と、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出する評価値算出手段と、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出する抽出手段と、
前記抽出手段によって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する生成手段とを備える、フィルタ列生成装置。
【請求項２】
画像処理の対象となる原画像データと前記原画像データに対する画像処理を行なうことにより導出される画像として予め準備された目標画像データの入力を受け付ける入力手段をさらに備え、
前記能力値算出手段は、前記画像処理手段による画像処理の結果として得られる結果画像データと前記原画像データとに基づいて前記能力値を算出する、請求項１に記載のフィルタ列生成装置。
【請求項３】
前記能力値算出手段は、前記結果画像データと前記原画像データとの差分を前記能力値として算出する、請求項２に記載のフィルタ列生成装置。
【請求項４】
前記結果画像データに基づく第１の特徴量と、前記原画像データに基づく第２の特徴量とを算出する特徴量算出手段をさらに備え、
前記能力値算出手段は、前記第１の特徴量と前記第２の特徴量とに基づいて前記能力値を算出する、請求項２に記載のフィルタ列生成装置。
【請求項５】
前記評価値算出手段は、予め定められた割合で前記能力値と前記負荷値とを加算することにより前記評価値を算出する演算手段を含む、請求項１に記載のフィルタ列生成装置。
【請求項６】
前記演算手段は、
前記能力値の次元と前記負荷値の次元とを同一の次元に変換する無次元化手段と、
前記同一の次元に変換された能力値と負荷値との線形和を算出する線形和算出手段とを含む、請求項５に記載のフィルタ列生成装置。
【請求項７】
前記負荷値算出手段は、前記フィルタ列に含まれるフィルタの数に基づいて前記負荷値を算出する、請求項１に記載のフィルタ列生成装置。
【請求項８】
前記負荷値算出手段は、前記フィルタ列を用いた画像処理に要する処理時間に基づいて前記負荷値を算出する、請求項１に記載のフィルタ列生成装置。
【請求項９】
予め設定された終了条件の入力を受け付ける入力手段と、
前記終了条件が成立した場合に前記評価値が最大のフィルタ列を出力する出力手段とをさらに備える、請求項１に記載のフィルタ列生成装置。
【請求項１０】
画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出するステップを備え、各前記フィルタ列は、複数のフィルタを含み、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出するステップと、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出するステップと、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出するステップと、
前記抽出ステップによって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを備える、フィルタ列生成方法。
【請求項１１】
コンピュータをフィルタ列生成装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出するステップを実行させ、各前記フィルタ列は、複数のフィルタを含み、
前記プログラムは前記コンピュータに、さらに、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出するステップと、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出するステップと、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出するステップと、
前記抽出ステップによって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを実行させる、プログラム。
【請求項１２】
請求項１１に記載のプログラムを格納した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理に関し、特に、画像処理において使用されるフィルタ列の生成に関する。本発明は、より特定的には、フィルタの構成による重みを用いたフィルタ列を生成するフィルタ列生成装置およびフィルタ列生成方法、ならびに、コンピュータをフィルタ列生成装置として機能させるためのプログラム、およびそのプログラムを格納したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
最初に、画像処理アルゴリズムの開発の実際について説明する。画像を用いた検査装置などにおいて、得られた画像中の特徴のあるパターンを抽出する要求があった場合、開発者は、そのパターンを抽出するための専用アルゴリズムを作成する。アルゴリズムの中身は、対象となるパターンの特徴量を増大させるフィルタの組み合わせ、パターンの切り出し、パターンの情報抽出となる。
【０００３】
フィルタの組み合わせの開発では、開発者は、既存の画像処理フィルタの中から有効なフィルタを選択し、処理の順序などを決定し、所望のパターンの特徴量が増大する方向に画像が処理されるように調整を行なう。開発者は、このような画像処理アルゴリズムの開発を試行錯誤で行なっていく。
【０００４】
画像による検査装置の場合においては、検査を行なう対象物が変化した場合、あるいは対象物が同じでも抽出したい新たなパターンが追加された場合には、担当者が、対象パターンの解析を逐次行ない、そのパターンを抽出するためのアルゴリズムを開発する必要がある。しかし、この方法では、上記のような対象物の変化や追加の度に画像処理の担当者がアルゴリズムを考案する必要があり、そのための開発期間を要するという問題があった。
【０００５】
［遺伝的アルゴリズムを用いた画像処理アルゴリズムの開発］
上記のように、画像処理アルゴリズムは、その開発・導入において非常に多くの工数を必要とするため、画像処理適用分野の拡大にともない、最適化手法を用いた画像処理アルゴリズムの生成方法がいくつか提案されている。上記最適化手法には、生物の進化の過程を模倣した進化的手法や、焼なまし法（シミュレーティッドアニーリング）などがある。
【０００６】
画像処理アルゴリズムを生成する従来技術として、上記進化的手法の一手法である遺伝的アルゴリズム（ＧＡ）を用いた画像処理アルゴリズム生成方法がある。以下、まず遺伝的アルゴリズムについて説明する。
【０００７】
遺伝的アルゴリズムでは、問題で最適化したいパラメータのある組み合せが１つの個体として表現される。当該パラメータの組み合せが異なる複数の個体で形成される個体集団は、１世代を形成する。各個体は、当該問題で設定された評価関数を用いて算出された評価値を持っている。一般的に、問題の解に近い個体ほど高い評価値を有する。
【０００８】
次に、ある第Ｎ世代の個体集団に対し淘汰、交叉、あるいは突然変異と呼ばれる遺伝的操作を施すことによって第Ｎ＋１世代の個体集団を生成することを世代交代と呼ぶ。このような世代交代を繰り返すことによる進化の過程において、上記評価値が高い個体ほど次の世代に生き残る確率が高くなる。個体集団を十分に進化させることで、評価値が高い個体を生成することが可能となる。最終的に最も高い評価値を有する個体が示すパラメータの組み合せが、この問題における最適解となる。
【０００９】
遺伝的アルゴリズムに関し、たとえば、特開平９−１７８５００号公報（特許文献１）は、遺伝的アルゴリズムを用いて経路探索時間の短いカーナビゲーション装置を開示している。また、特開２００４−２５８８４２号公報（特許文献２）は、遺伝的アルゴリズムを用いた並列処理装置を開示している。
【００１０】
さらに、遺伝的アルゴリズムを用いた画像処理アルゴリズムの生成に関し、たとえば、特開２００４−３８７４４号公報（特許文献３）は、認識すべき対象画像の学習データが与えられた際に、特徴抽出方法の生成および評価を自動で行ない、対象画像を識別するアルゴリズムの開発または生成を支援する画像認識アルゴリズム生成装置を開示している。この装置は，画像処理プログラムモジュールデータベースと、画像処理プログラム検索部とを備える。画像処理プログラム検索部は，認識アルゴリズム評価部を含む。
【００１１】
特開２００４−３８７４４号公報に開示された画像認識アルゴリズム生成装置によると、画像処理プログラムモジュールが蓄積され、検索条件に従って高い評価値を示す認識アルゴリズムが検索される。そのため、画像認識アルゴリズムの開発者が、特徴抽出処理の手順あるいは特徴抽出処理のパラメータによって異なる特徴抽出方法の性質を詳細に知らない場合であっても、高い識別率を実現する画像認識アルゴリズムを見つけることができる。
【特許文献１】特開平９−１７８５００号公報
【特許文献２】特開２００４−２５８８４２号公報
【特許文献３】特開２００４−３８７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記のような技術では、求めるフィルタ列の評価は、フィルタ列を用いて出力した結果画像の内容により決定される。つまり、所望の処理結果を出力するフィルタ列として能力の高いものを探索することはできるが、フィルタ列を用いて出力した結果画像で評価しているため、能力は高いが処理負荷の重いフィルタ列が生成される可能性がある。
【００１３】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置を提供することである。
【００１４】
本発明の他の目的は、同様の品質を有する結果が短時間で導出される画像処理のためのフィルタ列を生成するフィルタ列生成装置を提供することである。
【００１５】
本発明の他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成方法を提供することである。
【００１６】
本発明の他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させるためのプログラムを提供することである。
【００１７】
本発明のさらに他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させるためのプログラムを格納した記録媒体を提供することである。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、この発明のある局面に従うフィルタ列生成装置は、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出する能力値算出手段を備える。各フィルタ列は、複数のフィルタを含む。フィルタ列生成装置は、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出する負荷値算出手段と、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出する評価値算出手段と、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出する抽出手段と、抽出手段によって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する生成手段とを備える。
【００１９】
好ましくは、フィルタ列生成装置は、画像処理の対象となる原画像データと原画像データに対する画像処理を行なうことにより導出される画像として予め準備された目標画像データの入力を受け付ける入力手段をさらに備える。能力値算出手段は、画像処理手段による画像処理の結果として得られる結果画像データと原画像データとに基づいて能力値を算出する。
【００２０】
好ましくは、能力値算出手段は、結果画像データと原画像データとの差分を能力値として算出する。
【００２１】
好ましくは、フィルタ列生成装置は、結果画像データに基づく第１の特徴量と、原画像データに基づく第２の特徴量とを算出する特徴量算出手段をさらに備える。能力値算出手段は、第１の特徴量と第２の特徴量とに基づいて能力値を算出する。
【００２２】
好ましくは、評価値算出手段は、予め定められた割合で能力値と負荷値とを加算することにより評価値を算出する演算手段を含む。
【００２３】
好ましくは、演算手段は、能力値の次元と前記負荷値の次元とを同一の次元に変換する無次元化手段と、同一の次元に変換された能力値と負荷値との線形和を算出する線形和算出手段とを含む。
【００２４】
好ましくは、負荷値算出手段は、フィルタ列に含まれるフィルタの数に基づいて負荷値を算出する。
【００２５】
好ましくは、負荷値算出手段は、フィルタ列を用いた画像処理に要する処理時間に基づいて負荷値を算出する。
【００２６】
好ましくは、フィルタ列生成装置は、予め設定された終了条件の入力を受け付ける入力手段と、終了条件が成立した場合に評価値が最大のフィルタ列を出力する出力手段とをさらに備える。
【００２７】
この発明の他の局面に従うと、フィルタ列生成方法が提供される。フィルタ列生成方法は、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出するステップを備える。各フィルタ列は、複数のフィルタを含む。フィルタ列生成方法は、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出するステップと、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出するステップと、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出するステップと、抽出ステップによって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを備える。
【００２８】
この発明の他の局面に従うと、コンピュータをフィルタ列生成装置として機能させるためのプログラムが提供される。このプログラムはコンピュータに、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出するステップを実行させる。各フィルタ列は、複数のフィルタを含む。プログラムはコンピュータに、さらに、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出するステップと、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出するステップと、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出するステップと、抽出ステップによって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを実行させる。
【００２９】
この発明のさらに他の局面に従うと、上記のプログラムが格納された、コンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【００３０】
本発明に係るフィルタ列生成装置によると、負荷が小さく優秀なフィルタ列を短時間で生成することができる。また、本発明に係るフィルタ列生成装置によると、同様の品質を有する結果が短時間で導出される画像処理のためのフィルタ列を生成することができる。
【００３１】
本発明に係るフィルタ列生成方法によると、負荷が小さく優秀なフィルタ列を短時間で生成することができる。さらに、本発明に係るプログラムによると、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させることができる。また、本発明に係る記録媒体がコンピュータに装着され、記録媒体に格納されたプログラムが実行されると、当該コンピュータは、負荷が小さく優秀なフィルタ列を短時間で生成する装置として作動する。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３３】
＜第１の実施の形態＞
まず、図１を参照して、画像処理装置における画像処理フィルタの組み合わせについて説明する。図１は、原画像１００に対して予め準備された画像処理フィルタ１１０−１，１１０−２，…，１１０−ｎを用いて結果画像１２０を得るための処理を概念的に表わす図である。画像処理フィルタ１１０−１，１１０−２は、予め作成された画像処理フィルタ、たとえば、平滑化フィルタ、中間値フィルタ、最大化フィルタ、最小化フィルタ、ゾーベル（ｓｏｂｅｌ）フィルタ、ラプラシアンフィルタなどである。
【００３４】
フィルタ処理が実行される場合、原画像１００が画像処理装置に対して最初に与えられる。原画像１００に対応する目標画像も同様に与えられる。ここで、目標画像とは、原画像１００を処理することにより得られる画像として期待される画像である。
【００３５】
図１に示されるように、たとえばｎ段のフィルタの列が与えられた場合には、まず、第１のフィルタ１１０−１を用いたフィルタ処理が原画像１００に対して行なわれる。その結果画像に対してフィルタ１１０−２を用いたフィルタ処理が実行される。同様に処理が繰り返され、第ｎのフィルタ１１０−ｎを用いた処理が実行される。最後の処理により得られる画像は、結果画像１２０として出力される。結果画像１２０から特徴量が抽出され、抽出された特徴量に基づいて個体が評価される。世代交代を繰り返して進化させることにより、最終的に認識率の高いフィルタ列が、画像処理アルゴリズムとして出力される。
【００３６】
この場合、結果画像１２０が予め設定された目標画像に近い場合、すなわち結果画像１２０と目標画像とをそれぞれ定量化し、各々の値の差が予め定められた基準値よりも小さい場合には、結果画像１２０を得るために使用された各フィルタの列は、画像処理を実現するためのアルゴリズムに近いものと判断される。
【００３７】
図２を参照して、本発明に係る画像処理装置において遺伝的アルゴリズム（ＧＡ）を用いた手法を適用した場合について説明する。図２は、複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。
【００３８】
図２（Ａ）に示されるように、まず複数のフィルタ列からなる第１世代のフィルタ列群２００−１，２００−２等が生成される。各フィルタ列群は、予め準備されたフィルタをランダムに組み合わせることにより構成される。生成されたすべてのフィルタ列群のそれぞれのフィルタ列に対して予め準備された原画像１００が、入力画像として与えられる。各フィルタ列群は、その原画像１００に対して各フィルタを用いることにより、それぞれ対応する画像処理を実行し、結果画像２１０−１，２１０−２等を出力する。各結果画像は予め設定された目標画像と比較され、目標画像に近い結果画像を出力したフィルタ列（たとえばフィルタ列２１０−４）は、求めるフィルタ列に近いものとして高い評価値が与えられる。ここで評価値とは、後述するように、フィルタ列の評価の結果として、各フィルタ列の属性を定量的に表現するために表わされる値である。具体的には、評価値は、たとえば、輝度の差の絶対和、当該差の二乗和、あるいは平均値等を用いて定量的に表現可能なデータであり、結果画像と目標画像との差が小さいほど大きな値をとるものである。すなわち、当該評価値は、生成されたフィルタ列を原画像に対して適用して得られる複数の画像に対し、目標画像との比較を行なって得られるものである。また、「優秀な」とは、当該評価値が大きいものをいう。本実施の形態においては、評価値とフィルタ列との関係に関し、評価値が大きくなればフィルタ列の性能が向上し、評価値が小さくなればフィルタ列の性能が悪化する、ということになる。
【００３９】
第１の世代で高い評価値が与えられたフィルタ列は、その世代においていわゆる優秀なフィルタ列であるとされ、次の世代すなわち第２の世代を生成するための親として登録される（フィルタ列２２０）。
【００４０】
次に、図２（Ｂ）に示されるように、第１の世代における処理において優秀なフィルタ列とされたフィルタ２２０は、第２の世代において、各フィルタの親として登録される。第２の世代は、ＧＡの交叉・突然変異などの手法によって親から生成される。すなわち、複数のフィルタ列２２０−１，２２０−２等が生成される。各フィルタ列は、第１世代における処理と同様に原画像に対するフィルタ処理を実行し、結果画像２３０−１，２３０−２等を出力する。それぞれ出力された結果画像から、予め設定された目標画像に最も近い結果画像を出力したフィルタ列が特定され（たとえばフィルタ列２３０−ｎ）、次の世代における親として登録される（フィルタ列２４０）。
【００４１】
図２（Ｃ）に示されるように、同様の処理を第Ｎ世代まで繰り返すことにより、画像処理装置を実現するためのフィルタ列を導出することができる。すなわち、フィルタ列２４０を構成する各フィルタに基づいて、次の世代のフィルタ列群が生成され、（Ｎ−１）世代のフィルタ列から、目標画像に最も近い結果画像を出力したフィルタ列を親として、第Ｎ世代のフィルタ列２５０−１，２５０−２等のフィルタ列群が生成され、それぞれのフィルタ列を用いたフィルタ処理が実行される。予め設定された目標画像に最も近い結果画像を出力したフィルタ列２６０−２は、画像処理装置を実現するためのフィルタ列２７０として導出される。
【００４２】
図３を参照して、本発明の第１の実施の形態に係るフィルタ列生成装置について説明する。図３は、フィルタ列生成装置３００の機能的構成を表わすブロック図である。フィルタ列生成装置３００は、入力部３１０と、記憶部３２０と、演算部３３０と、出力部３５０とを備える。
【００４３】
入力部３１０は、データの入力を受け付ける。データには、画像処理の対象となる原画像データが含まれる。記憶部３２０は、入力部３１０を介して入力されたデータと、演算部３３０による演算処理により生成されたデータと、予め準備されたデータとを格納している。予め準備されたデータには、フィルタ列生成装置３００の動作を規定するために設定されるデータと、後述する各処理を実現するためのプログラムとが含まれる。記録部３２０は、さらに、画像処理のために予め準備された複数のフィルタを格納している。
【００４４】
演算部３３０は、条件入力部３３１と、フィルタ列能力値算出部３３２と、フィルタ列負荷値算出部３３３と、フィルタ列評価値算出部３３４と、親フィルタ列抽出部３３５と、次世代生成部３３６と、優秀フィルタ列出力部３３７とを備える。フィルタ列負荷値算出部３３３は、フィルタ数算出部３４０を含む。
【００４５】
条件入力部３３１は、入力部３１０を介して入力された処理条件を記憶部３２０において予め確保された領域に格納する。また、条件入力部３３１は、フィルタ列を生成する処理の終了条件の入力を受け、その条件を優秀フィルタ列出力部３３７に対して適用する。フィルタ列は、前述のフィルタを複数有する。フィルタ列は、組み合わせの対象となるフィルタを変更することにより、予め準備されたフィルタの範囲内で生成可能である。
【００４６】
フィルタ列能力値算出部３３２は、各フィルタ列による画像処理の能力を表わす能力値を算出する。フィルタ列負荷値算出部３３３は、各フィルタ列を適用した画像処理に対する負荷を表わす負荷値を算出する。たとえば、フィルタ数算出部３４０は、記憶部３２０に格納されているフィルタ列に基づいて、当該フィルタ列を構成するフィルタの数を用いて、負荷値を算出する。具体的には、フィルタ数算出部３４０は、フィルタの数の逆数を計算する。あるいは、フィルタ数算出部３４０は、予め設定された定数からフィルタ数を減算して、負荷値を算出する。
【００４７】
フィルタ列評価値算出部３３４は、フィルタ列能力値算出部３３３により算出された能力値とフィルタ列負荷値算出部３３３により算出された負荷値とに基づいてそのフィルタ列を評価するための評価値を算出する。好ましくは、ある局面において、フィルタ列評価値算出部３３４は、予め定められた割合で能力値と負荷値とを加算することにより評価値を算出する。評価値は、たとえば、算式「評価値＝ａ×能力値＋ｂ×負荷値」（ａ，ｂは定数）として導出される。
【００４８】
また、他の局面において、能力値および／または負荷値の大小関係と、評価値の大小関係とが逆比例の関係となる場合がある。この場合、フィルタ列評価値算出部３３４は、能力値の逆数および／または負荷値の逆数を加算することにより、評価値を算出する。このようにすると、能力値および／または負荷値の大小関係と、評価値の大小関係とが、逆比例する関係であっても、評価値は適正に算出される。
【００４９】
具体的には、フィルタ列評価値算出部３３４は、いわゆる多目的最適化問題の観点から、同一の次元に変換することなく評価値を算出する。この場合、複数の目的関数によって定式化された最適化問題となり、一般に完全な最適解は得られないが、いわゆるパレート最適解として複数の解が得られる。なお、多目的最適化問題あるいはパレート最適解については、当業者にとって周知の事項である。したがって、ここではそれらについての詳細な説明は繰り返さない。
【００５０】
あるいは、フィルタ列評価値算出部３３４は、能力値の次元と負荷値の次元とを同一の次元に変換し、同一の次元に変換された能力値と負荷値との線形和を算出する。
【００５１】
親フィルタ列抽出部３３５は、フィルタ列評価値算出部３３４により算出された評価値に基づいて各フィルタ列の中から予め設定された抽出条件を満足するフィルタ列を抽出する。好ましくは、親フィルタ列抽出部３３５は、当該評価値が最大となるフィルタ列を抽出する。
【００５２】
次世代生成部３３６は、親フィルタ列抽出部３３５によって抽出されたフィルタ列を親の世代として、周知の遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する。優秀フィルタ列出力部３３７は、次世代生成部３３６によって生成されたフィルタ列について算出された評価値が最大のフィルタ列を出力する。優秀フィルタ列出力部３３７は、好ましくは予め設定された終了条件が成立した場合に、上記の評価値が最大となるフィルタ列を出力する。
【００５３】
図４を参照して、フィルタ列生成装置３００のデータ構造について説明する。図４は、記憶部３２０におけるデータの格納の一態様を概念的に表わす図である。
【００５４】
記憶部３２０は、プログラムを格納する領域４１０と、データを格納する領域４２０とを含む。領域４１０は、さらに各プログラムを格納するための領域４１１から４１７を含む。条件入力プログラムは、領域４１１に格納されている。このプログラムは、外部から入力される条件データを予め確保された領域に格納する。またこのプログラムは、その条件データが参照される他のプログラムに対して関連付けを行なう。
【００５５】
フィルタ列能力値算出プログラムは、領域４１２に格納されている。このプログラムが実行されると、図３に示される演算部３３０は、フィルタ列能力値算出部３３２として機能する。
【００５６】
フィルタ列負荷値算出プログラムは、領域４１３に格納されている。このプログラムが実行されると、演算部３３０は、フィルタ列負荷値算出部３３３として機能する。フィルタ列評価値算出プログラムは、領域４１４に格納されている。このプログラムが実行されると、演算部３３０は、フィルタ列評価値算出部３３４として機能する。親フィルタ列抽出プログラムは、領域４１５に格納されている。このプログラムが実行されると、演算部３３０は、親フィルタ列抽出部３３５として機能する。次世代生成プログラムは、領域４１６に格納されている。このプログラムが実行されると、演算部３３０は、次世代生成部３３６として機能する。優秀フィルタ列出力プログラムは、領域４１７に格納されている。このプログラムが実行されると、演算部３３０は、優秀フィルタ列出力部３３７として機能する。
【００５７】
図４を再び参照して、領域４２０は、画像処理に使用されるデータを格納する領域４２１から４２４を含む。フィルタ列を表わすデータは、領域４２１に格納されている。たとえば、フィルタ列４２１−１から４２１−ＮまでのＮ個のフィルタ列が領域４２１に格納されている。
【００５８】
画像処理のためのフィルタデータは、領域４２２に格納されている。たとえばｎ個のフィルタデータ４２２−１から４２２−ｎが領域４２２に格納されている。
【００５９】
画像データは、領域４２３に格納されている。画像処理の対象となる原画像データは、領域４２３ａに格納されている。原画像に対する画像処理を行なうことにより導出される画像として予め準備された目標画像のデータは、領域４２３ｂに格納されている。画像処理中の画像データは、領域４２３ｃに格納されている。このデータは、たとえばフィルタ列を適用した画像処理の実行中に、各フィルタについての処理が完了し次の処理が実行されるまで一時的に生成されるデータである。
【００６０】
その他のデータは、領域４２４に格納されている。その他のデータには、フィルタ列を抽出するために予め設定された抽出条件、画像処理の繰り返し回数を規定するために予め入力された終了条件などが含まれる。
【００６１】
ここで、図５を参照して、フィルタ列生成装置３００として作動するコンピュータシステム５００について説明する。図５は、コンピュータシステム５００のハードウェア構成を表わすブロック図である。
【００６２】
コンピュータシステム５００は、相互にデータバスにより接続されたＣＰＵ５１０と、外部から指示の入力を受けるためのマウス５２０およびキーボード５３０と、外部から入力されるデータあるいはＣＰＵ５１０によって一時的に生成されるデータを格納するＲＡＭ５４０と、データを不揮発的に格納するハードディスク５５０と、ＣＤ−ＲＯＭ駆動装置５７０と、モニタ５８０と、通信ＩＦ（interface）５９０とを含む。ＣＤ−ＲＯＭ駆動装置５７０には、ＣＤ−ＲＯＭ５７２が装着される。コンピュータシステム５００は、ネットワーク５９２に接続されているが、接続されていなくてもよい。
【００６３】
コンピュータシステム５００における処理は、各ハードウェアおよびＣＰＵ５１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク５５０に予め記憶されている場合がある。あるいは、ソフトウェアは、ＣＤ−ＲＯＭ５７２その他の記録媒体に格納されて、プログラム製品として流通している場合もある。さらに、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
【００６４】
このようなソフトウェアは、ＣＤ−ＲＯＭ駆動装置５７０その他の読取装置によりその記録媒体から読み取られた後、あるいは、通信ＩＦ５９０を介してダウンロードされた後、ハードディスク５５０に一旦格納される。そのソフトウェアは、ＣＰＵ５１０によってハードディスク５５０から読み出され、ＲＡＭ５４０に実行可能なプログラムの形式で格納される。ＣＰＵ５１０は、ＲＡＭ５４０からそのプログラムを読み出して、実行する。
【００６５】
図５に示されるコンピュータシステム５００を構成する各ハードウェアは、一般的なものである。したがって、本発明に係るフィルタ列生成装置３００の演算部３３０を実現する最も本質的な部分は、ＲＡＭ５４０、ハードディスク５５０、ＣＤ−ＲＯＭ５７２その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。
【００６６】
なお、コンピュータシステム５００の各ハードウェアの動作は周知であるので、その詳細な説明は述べない。
【００６７】
図６および図７を参照して、フィルタ列生成装置の制御構造について説明する。図６は、フィルタ列生成装置３００として機能するコンピュータシステム５００のＣＰＵ５１０が実行する基本処理の手順を表わすフローチャートである。
【００６８】
ステップＳ６１０にて、ＣＰＵ５１０は、外部から入力された条件データに基づいて、画像処理を規定する条件を設定する。具体的には、ＣＰＵ５１０は、マウス５２０、キーボード５３０、ＦＤ駆動装置５６０、ＣＤ−ＲＯＭ駆動装置５７０、あるいは通信ＩＦ５９０を介して入力されたデータを、ハードディスク５５０において予め確保された領域に格納する。
【００６９】
ステップＳ６２０にて、ＣＰＵ５１０は、ハードディスク５５０に格納されているデータに基づいてフィルタを組み合わせることにより初期世代の複数のフィルタ列を生成する。
【００７０】
ステップＳ７００にて、ＣＰＵ５１０は、後述するフィルタ列群評価処理を実行する。この処理が実行されると、各フィルタ列の評価値が算出される。
【００７１】
ステップＳ６３０にて、ＣＰＵ５１０は、予め設定された終了条件が成立しているか否かを判断する。終了条件が成立している場合には（ステップＳ６３０にてＹＥＳ）、処理は終了する。そうでない場合には（ステップＳ６３０にてＮＯ）、処理はステップＳ６４０に移される。
【００７２】
ステップＳ６４０にて、ＣＰＵ５１０は、先に生成したフィルタ列群の評価値に基づいて親フィルタ列を選定する。この選定は、たとえば各フィルタ列の評価値の中から最大値となる評価値を有するフィルタ列を特定することにより行なわれる。
【００７３】
ステップＳ６５０にて、ＣＰＵ５１０は、遺伝的アルゴリズムを用いて親フィルタ列から次の世代のフィルタ列群を生成する。その後、処理はステップＳ７００に戻される。
【００７４】
図７は、フィルタ列群を評価するためにＣＰＵ５１０が実行する処理の手順を表わすフローチャートである。
【００７５】
ステップＳ７１０にて、ＣＰＵ５１０は、生成されたフィルタ列群に含まれる各フィルタ列の能力値を算出する。ＣＰＵ５１０は、具体的には、ハードディスク５５０に格納されている原画像データと画像処理の結果として得られる結果画像データとに基づいて能力値を算出する。たとえばＣＰＵ５５０は、結果画像データと原画像データとの差分を算出する。あるいは他の局面においては、ＣＰＵ５１０は、結果画像データに基づく第１の特徴量と原画像データに基づく第２の特徴量とをそれぞれ算出する。ＣＰＵ５１０は、これらの特徴量を用いて能力値を算出する。特徴量には、目標画像データから抽出された特徴領域の特徴量が含まれる。この特徴量には、たとえば画像データから検出の対象となる検出物の位置、検出物のコントラスト、大きさなどが含まれる。
【００７６】
ステップＳ７２０にて、ＣＰＵ５１０は、当該フィルタ列の負荷値を算出する。具体的には、ＣＰＵ５１０は、処理の対象となっているフィルタ列に含まれるフィルタの数を特定し、その数をＲＡＭ５４０において予め確保された領域に格納する。
【００７７】
ステップＳ７３０にて、ＣＰＵ５１０は、当該フィルタ列の評価値を算出する。ＣＰＵ５１０は、ステップＳ７１０において算出した能力値の次元がステップＳ７２０にて算出した負荷値の次元と異なる場合には、能力値の次元と負荷値の次元とを揃えるための演算を実行する。たとえば能力値がピクセルの数の逆数、あるいは、定数からピクセルの数を減算して得られた値として表わされ、また、負荷値がフィルタの数の逆数、あるいは、定数からフィルタの数を減算して得られた値として表わされる場合、ＣＰＵ５１０は、予め同定された定数を用いてピクセルの数とフィルタの数との次元を規格化するための処理を実行する。
【００７８】
ステップＳ７４０にて、ＣＰＵ５１０は、予め設定された終了条件が成立しているか否かを判断かを判断する。終了条件が成立している場合には（ステップＳ７４０にてＹＥＳ）、処理はメイン処理に戻される。そうでない場合には（ステップＳ７４０にてＮＯ）、処理はステップＳ７１０に戻される。
【００７９】
ここで、図８を参照して、画像データからフィルタ列の評価値を算出するまでの処理について説明する。図８は、各処理の流れを表わす図である。
【００８０】
まず、目標画像８１０と原画像８２０とがそれぞれ準備される。目標画像８１０は、原画像８２０から抽出したい領域が示されたものである。原画像８２０は、たとえばモノクロの８ビットで表現される画像であり、諧調を有するものである。
【００８１】
原画像８２０に対してフィルタ列８３０が適用されると、結果画像８５０が導出される。フィルタ列８３０は、前述のように複数のフィルタからなり、フィルタの組み合わせを変更することにより、複数のフィルタ列８３０が生成される。原画像８２０には、各々のフィルタ列を用いた画像処理が適用される。
【００８２】
目標画像８１０と結果画像８５０との差分が算出される。ここで差分８６０は、目標画像８１０のデータと結果画像８５０のデータとの絶対値としての差分である。差分８６０は、この場合差として算出されたピクセル数を含む。このピクセル数からフィルタ列能力値８７０が導出される。具体的には、ピクセル数の逆数が計算される。あるいは、予め設定された定数からピクセル数が減算され、能力値が算出される。あるいは、他の局面においては、ピクセル数そのものを能力値とする代わりに、差分ピクセル数／画像全体のピクセル数を能力値としてもよい。
【００８３】
なお、評価値の算出は、能力値及び／または負荷値の大小関係にあわせて、能力値および負荷値の線形和、あるいは能力値の逆数及び／または負荷値の逆数の線形和として算出される。
【００８４】
その後、フィルタ列負荷値８４０とフィルタ列能力値８７０との積算処理８８０が行なわれ、フィルタ列評価値８９０が算出される。
【００８５】
次に、図９および図１０を参照して、フィルタ列生成装置３００のデータ構造について説明する。図９は、フィルタ列生成装置３００として機能するコンピュータシステム５００のＲＡＭ５４０におけるデータの格納の一態様を表わす図である。ＲＡＭ５４０は、テーブル９００を含む。テーブル９００は、データを格納する領域９１０〜９５０を含む。
【００８６】
フィルタ列を識別するためのフィルタ列番号は、領域９１０に格納されている。たとえばＮ個のフィルタ列が生成されている場合には、「１」から「Ｎ」までの数値がそれぞれ領域９１０に格納されている。フィルタ列に含まれるフィルタの内容を表わすためのデータは、領域９２０に格納されている。たとえば各フィルタ列に含まれるフィルタを識別するデータが、フィルタの配列順に従って領域９２０に格納されている。
【００８７】
画像処理の実行時に算出された能力値を表わすデータは、領域９３０に格納されている。当該フィルタ列に含まれるフィルタの数は、領域９４０に格納されている。前述の画像処理の結果算出された評価値は、領域９５０に格納されている。このようにフィルタ列群に含まれる各々のフィルタ列についての処理が完了すると各フィルタ列についてのデータがそれぞれの領域に格納され、テーブル９００が生成される。各データは、領域９１０に格納されているフィルタ列番号に関連付けられている。したがって、フィルタ列番号を特定すると、領域９１０〜９５０に格納されているデータが特定されることになる。
【００８８】
ここで、評価値の算出について説明する。評価値は、たとえば算式「評価値＝能力値＋（１０−フィルタ数）／１００」として算出される。フィルタ列番号が「２」のフィルタ列の場合、評価値＝０．８５＋（１０−２）／１００より、評価値「０．８７」が得られる。同様に、フィルタ列番号が「７」のフィルタ列の場合、評価値＝０．８２＋（１０−３）／１００より、評価値「０．８９」が得られる。
【００８９】
なお、評価値を算出するための算式は、上記のものに限られず、評価値と能力値との関係について予め同定された関数が使用可能である。当該関数は、たとえば検査対象物の評価試験などにより同定され得る。
【００９０】
図１０は、画像処理の実行時にＲＡＭ５４０に格納されるデータの一態様を表わす図である。ＲＡＭ５４０は、テーブル１０００を含む。テーブル１０００は、データを格納する領域１０１０から１０５０を含む。各々の領域は、それぞれ関連付けられている。
【００９１】
フィルタ列を識別するためのデータは、領域１０１０に格納されている。当該フィルタ列に含まれるフィルタを特定するためのデータは、そのフィルタ列におけるフィルタの配列に従って領域１０２０に格納されている。当該フィルタ列の能力値は、領域１０３０に格納されている。当該フィルタ列に含まれているフィルタの数は、領域１０４０に格納されている。ここで、「能力値」は、原画像をフィルタ列で処理することにより得られた画像と、目標画像との差によって規定される。この差が小さいほど、フィルタ列の能力は、高いことになる。たとえば、この差が「０」である場合、そのフィルタ列は、最も優秀な（あるいは理想的な）フィルタ列である。
【００９２】
フィルタ列生成装置３００が画像処理を開始すると、ハードディスク５５０に格納されているデータは、ＣＰＵ５１０によって読み出され、そのデータはＲＡＭ５４０に一時的に格納される。その後、各フィルタ列についての画像処理が実行され、各々の評価値が算出されると、評価値は、領域１０５０に順次格納される。
【００９３】
すなわち、図１０（Ｂ）に示されるように、当該フィルタ列を用いて行なった画像処理の評価値は、領域１０５０に格納される。したがって、この評価値を参照することにより、予め定められた評価条件を満足するフィルタ列が抽出される。
【００９４】
このようにすると、一世代においてフィルタ列の評価値が最大となるフィルタ列の組み合わせを親として、遺伝的アルゴリズムによって次世代のフィルタ列を生成することができる。これにより、優秀なフィルタ列の探索が可能になる。この場合、能力値が同程度のフィルタ列の中から負荷の小さいフィルタ列を親として選択することにより、より効果の高いフィルタ列を生成することができる。
【００９５】
そこで、図１１を参照して、能力値が同程度のフィルタ列からより効果の高いフィルタ列を生成する手法について説明する。図１１は、能力値が同程度の複数のフィルタ列からなる親から次世代のフィルタ列が生成されるまでの推移を概念的に表わす図である。
【００９６】
図１１（Ａ)に示されるように、まず、フィルタ列群が生成される。このフィルタ列群の中から、遺伝的アルゴリズムの親となるフィルタ列が選択される。このフィルタ列は、前述のように、たとえば能力値が近いフィルタ列のうち負荷の小さなフィルタ列である。このようなフィルタ列を親として選択することにより、図１１（Ｂ）に示されるように、より効果の高いフィルタ列が次世代の要素として生成され、優秀なフィルタ列が短時間で生成される。
【００９７】
以上のようにして、本実施の形態に係るフィルタ列生成装置３００によれば、フィルタ列の能力値と負荷値とからフィルタ列の評価値が算出される。当該評価値が最大となるフィルタ列の組み合わせを親として遺伝的アルゴリズムによる次世代生成を行なうことにより、局所解に陥ることなく、かつ優秀なフィルタの組み合わせを継承し、優秀なフィルタ列を探索することが可能となる。
【００９８】
また、能力値が近いフィルタ列のうち負荷の小さいフィルタ列を親として選択することにより、効果の高いフィルタが次の世代の要素として生成され、優秀なフィルタ列を短時間で生成することができる。さらに、従来と同じ品質の答えが短時間で導出され得る。
【００９９】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態について説明する。本実施の形態に係るフィルタ列生成装置は、フィルタの数に基づいて算出される値（フィルタの数の逆数、あるいは定数からフィルタの数を減算して得られた値）に代えて、処理時間の逆数、あるいは、定数からピクセルの数を減算して得られた値を負荷値として算出する機能を有する点で、前述の第１の実施の形態に係るフィルタ列生成装置３００と異なる。なお、本実施の形態に係るフィルタ列生成装置のハードウェア構成は、前述のフィルタ列生成装置３００のハードウェア構成と同じである。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
【０１００】
図１２を参照して、本実施の形態に係るフィルタ列生成装置１２００の構成について説明する。図１２は、フィルタ列生成装置１２００の機能的構成を表わすブロック図である。
【０１０１】
フィルタ列生成装置１２００は、図３に示される構成に対して、フィルタ数算出部３４０を有さない。フィルタ列生成装置１２００は、処理時間算出部１２４０を含む。処理時間算出部１２４０は、フィルタ列を用いた処理に要する時間を算出する。この算出は、後述するように、当該フィルタ列に含まれるフィルタごとに予め導出された処理時間を加算することにより行なわれる。
【０１０２】
図１３および図１４を参照して、本実施の形態に係るフィルタ列生成装置１２００のデータ構造について説明する。図１３は、フィルタ列生成装置１２００として機能するコンピュータシステム５００のハードディスク５５０におけるデータの格納の一態様を表わす図である。ハードディスク５５０は、データを格納する領域１３１０，１３２０を含む。これらの領域は相互に関連付けられている。
【０１０３】
フィルタ番号は、フィルタを識別するデータとして、領域１３１０に格納されている。当該フィルタを画像データに適用して画像処理を実行した場合に要する処理時間は、領域１３２０に格納されている。したがって、フィルタ番号によりフィルタを特定することにより、当該フィルタの処理時間が検出される。この処理時間に基づいて算出される値は、フィルタ列の負荷値として使用される。
【０１０４】
図１４および図１５を参照して、本実施の形態に係るフィルタ列生成装置１２００のデータ構造について説明する。図１４および図１５は、それぞれ、ＲＡＭ５４０におけるデータの格納の一態様を表わす図である。ＲＡＭ５４０は、データを格納する領域１４１０〜１４５０を含む。
【０１０５】
図１４に示されるように、フィルタ列を識別するためのデータは、領域１４１０に格納されている。このデータは、たとえばフィルタ列の番号が用いられる。当該フィルタ列に含まれるフィルタの内容を特定するためのデータは、領域１４２０に格納されている。このデータは、たとえばフィルタ列に含まれるフィルタを識別するデータによって実現される。フィルタ列の能力値は、領域１４３０に格納される。フィルタ列を適用した画像処理に要する処理時間は、領域１４４０に格納されている。この処理時間は、すなわち当該フィルタ列に含まれる各フィルタの処理時間の和に相当する。当該フィルタ列についての評価値は、領域１４５０に格納される。図１２に示されるような機能が実現されると、能力値が算出され、さらに評価値が算出される。その結果、領域１４３０および領域１４５０には、その値が格納されることになる。
【０１０６】
すなわち、図１５（Ａ）に示されるように、各フィルタ列の能力値は、領域１４３０に順次書込まれる。さらに、領域１４３０における能力値と領域１４４０における処理時間とに基づいて、評価値が算出される。評価値は、たとえば算式「評価値＝能力値＋（１００−処理時間）／１０００」により算出される。図１５（Ｂ）に示されるように、評価値は、領域１４５０にそれぞれ格納される。
【０１０７】
たとえば、フィルタ列番号「２」のフィルタ列に関し、評価値＝０．８５＋（１００−８１）／１０００より、評価値「０．８６９」が得られる。また、フィルタ列番号「７」のフィルタ列に関し、評価値＝０．８２＋（１００−３５）／１０００より、評価値「０．８８５」が得られる。
【０１０８】
以上のようにして、本実施の形態に係るフィルタ列生成装置によれば、１世代においてフィルタ列の評価値が最大となるようなフィルタ列が生成される。このフィルタ列の組み合わせを親として、遺伝的アルゴリズムにより次世代生成を行なうことが可能となり、優秀なフィルタ列探索が可能となる。さらに、能力値が近いフィルタ列のうち負荷の小さいフィルタ列を親として選択することによって、より効果の高いフィルタが次の世代の要素として生成され、優秀なフィルタ列を短時間で生成することができる。また従来と同じ品質の答えを短時間で導出することが可能になる。
【０１０９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１０】
【図１】原画像に対して予め準備された画像処理を用いて結果画像を得るための処理を概念的に表わす図である。
【図２】複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。
【図３】フィルタ列生成装置３００の機能的構成を表わすブロック図である。
【図４】記憶部３２０におけるデータの格納の一態様を概念的に表わす図である。
【図５】コンピュータシステム５００のハードウェア構成を表わすブロック図である。
【図６】フィルタ列生成装置３００として機能するコンピュータシステム５００のＣＰＵ５１０が実行する基本処理の手順を表わすフローチャートである。
【図７】フィルタ列群を評価するためにＣＰＵ５１０が実行する処理の手順を表わすフローチャートである。
【図８】画像データからフィルタ列の評価値を算出するまでの処理について説明する。
【図９】フィルタ列生成装置３００として機能するコンピュータシステム５００のＲＡＭ５４０におけるデータの格納の一態様を表わす図（その１）である。
【図１０】フィルタ列生成装置３００として機能するコンピュータシステム５００のＲＡＭ５４０におけるデータの格納の一態様を表わす図（その２）である。
【図１１】能力値が同程度の複数のフィルタ列からなる親から次世代のフィルタ列が生成されるまでの推移を概念的に表わす図である。
【図１２】本発明の第２の実施の形態に係るフィルタ列生成装置１２００の機能的構成を表わすブロック図である。
【図１３】フィルタ列生成装置１２００として機能するコンピュータシステム５００のハードディスク５５０におけるデータの格納の一態様を表わす図である。
【図１４】フィルタ列生成装置１２００として機能するコンピュータシステム５００のＲＡＭ５４０におけるデータの格納の一態様を表わす図（その１）である。
【図１５】フィルタ列生成装置１２００として機能するコンピュータシステム５００のＲＡＭ５４０におけるデータの格納の一態様を表わす図（その２）である。
【符号の説明】
【０１１１】
３００，１２００  フィルタ列生成装置、３１０  入力部、３２０  記憶部、３３０，１２３０  演算部、３３１  条件入力部、３３２  フィルタ列能力値算出部、３３３  フィルタ列負荷値算出部、３３４  フィルタ列評価値算出部、３３５  親フィルタ列抽出部、３３６  次世代生成部、３３７  優秀フィルタ列出力部、３４０  フィルタ数算出部、３５０  出力部、５００  コンピュータシステム、５１０  ＣＰＵ、５２０  マウス、５３０  キーボード、５４０  ＲＡＭ、５５０  ハードディスク、５７０  ＣＤ−ＲＯＭ駆動装置、５７２  ＣＤ−ＲＯＭ、５８０  モニタ、５９０  通信ＩＦ、５９２  ネットワーク、１２４０  処理時間算出部。
【図１】
2008015824.tif 000003
【図２】
2008015824.tif 000004
【図３】
2008015824.tif 000005
【図４】
2008015824.tif 000006
【図５】
2008015824.tif 000007
【図６】
2008015824.tif 000008
【図７】
2008015824.tif 000009
【図８】
2008015824.tif 000010
【図９】
2008015824.tif 000011
【図１０】
2008015824.tif 000012
【図１１】
2008015824.tif 000013
【図１２】
2008015824.tif 000014
【図１３】
2008015824.tif 000015
【図１４】
2008015824.tif 000016
【図１５】
2008015824.tif 000017