JP2008015824A - Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium - Google Patents

Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium Download PDF

Info

Publication number
JP2008015824A
JP2008015824A JP2006186920A JP2006186920A JP2008015824A JP 2008015824 A JP2008015824 A JP 2008015824A JP 2006186920 A JP2006186920 A JP 2006186920A JP 2006186920 A JP2006186920 A JP 2006186920A JP 2008015824 A JP2008015824 A JP 2008015824A
Authority
JP
Japan
Prior art keywords
filter
value
image processing
row
capability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006186920A
Other languages
Japanese (ja)
Inventor
Ryuji Takezumi
龍司 竹住
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006186920A priority Critical patent/JP2008015824A/en
Publication of JP2008015824A publication Critical patent/JP2008015824A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To generate a superior filter line with minimized load in a short time. <P>SOLUTION: The filter line generation device 300 includes an input part 310 receiving input of original image data; a storage part 320; an arithmetic part 330 executing filter line generation processing; and an output part 350 outputting a filter line. The arithmetic part 330 includes a condition input part 331 receiving input of a processing termination condition; a filter line capability value calculation part 332 calculating a capability value showing the capability of image processing by each filter line; a filter line load value calculation part 333 calculating a load value showing the load on image processing to which each filter line is applied; a filter line evaluation value calculation part 334 calculating an evaluation value based on the capability value and the load value; a master filter line extraction part 335 extracting a filter line satisfying an extraction condition; a next-generation creation part 336; and a superior filter line output part 337. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は画像処理に関し、特に、画像処理において使用されるフィルタ列の生成に関する。本発明は、より特定的には、フィルタの構成による重みを用いたフィルタ列を生成するフィルタ列生成装置およびフィルタ列生成方法、ならびに、コンピュータをフィルタ列生成装置として機能させるためのプログラム、およびそのプログラムを格納したコンピュータ読み取り可能な記録媒体に関する。   The present invention relates to image processing, and more particularly, to generation of a filter row used in image processing. More specifically, the present invention relates to a filter string generation device and a filter string generation method for generating a filter string using weights based on the filter configuration, a program for causing a computer to function as the filter string generation device, and The present invention relates to a computer-readable recording medium storing a program.

最初に、画像処理アルゴリズムの開発の実際について説明する。画像を用いた検査装置などにおいて、得られた画像中の特徴のあるパターンを抽出する要求があった場合、開発者は、そのパターンを抽出するための専用アルゴリズムを作成する。アルゴリズムの中身は、対象となるパターンの特徴量を増大させるフィルタの組み合わせ、パターンの切り出し、パターンの情報抽出となる。   First, the actual development of the image processing algorithm will be described. In an inspection apparatus using an image or the like, when there is a request to extract a characteristic pattern in the obtained image, the developer creates a dedicated algorithm for extracting the pattern. The contents of the algorithm are a combination of filters that increase the feature amount of the target pattern, pattern extraction, and pattern information extraction.

フィルタの組み合わせの開発では、開発者は、既存の画像処理フィルタの中から有効なフィルタを選択し、処理の順序などを決定し、所望のパターンの特徴量が増大する方向に画像が処理されるように調整を行なう。開発者は、このような画像処理アルゴリズムの開発を試行錯誤で行なっていく。   In developing a combination of filters, the developer selects an effective filter from existing image processing filters, determines the processing order, and the like, and the image is processed in a direction in which the feature amount of a desired pattern increases. Make adjustments as follows. Developers develop such image processing algorithms by trial and error.

画像による検査装置の場合においては、検査を行なう対象物が変化した場合、あるいは対象物が同じでも抽出したい新たなパターンが追加された場合には、担当者が、対象パターンの解析を逐次行ない、そのパターンを抽出するためのアルゴリズムを開発する必要がある。しかし、この方法では、上記のような対象物の変化や追加の度に画像処理の担当者がアルゴリズムを考案する必要があり、そのための開発期間を要するという問題があった。   In the case of an inspection apparatus based on an image, if the object to be inspected changes, or if a new pattern to be extracted is added even if the object is the same, the person in charge sequentially analyzes the target pattern, It is necessary to develop an algorithm for extracting the pattern. However, this method has a problem that it is necessary for the person in charge of image processing to devise an algorithm every time the object is changed or added as described above, which requires a development period.

[遺伝的アルゴリズムを用いた画像処理アルゴリズムの開発]
上記のように、画像処理アルゴリズムは、その開発・導入において非常に多くの工数を必要とするため、画像処理適用分野の拡大にともない、最適化手法を用いた画像処理アルゴリズムの生成方法がいくつか提案されている。上記最適化手法には、生物の進化の過程を模倣した進化的手法や、焼なまし法(シミュレーティッドアニーリング)などがある。
[Development of image processing algorithm using genetic algorithm]
As mentioned above, image processing algorithms require a great deal of man-hours for their development and introduction. As the image processing application field expands, there are several methods for generating image processing algorithms using optimization techniques. Proposed. The optimization method includes an evolutionary method that imitates the process of biological evolution, and an annealing method (simulated annealing).

画像処理アルゴリズムを生成する従来技術として、上記進化的手法の一手法である遺伝的アルゴリズム(GA)を用いた画像処理アルゴリズム生成方法がある。以下、まず遺伝的アルゴリズムについて説明する。   As a conventional technique for generating an image processing algorithm, there is an image processing algorithm generation method using a genetic algorithm (GA), which is one of the above evolutionary techniques. Hereinafter, the genetic algorithm will be described first.

遺伝的アルゴリズムでは、問題で最適化したいパラメータのある組み合せが1つの個体として表現される。当該パラメータの組み合せが異なる複数の個体で形成される個体集団は、1世代を形成する。各個体は、当該問題で設定された評価関数を用いて算出された評価値を持っている。一般的に、問題の解に近い個体ほど高い評価値を有する。   In the genetic algorithm, a certain combination of parameters to be optimized in a problem is expressed as one individual. An individual group formed by a plurality of individuals having different combinations of parameters forms one generation. Each individual has an evaluation value calculated using the evaluation function set in the problem. Generally, an individual closer to the solution to the problem has a higher evaluation value.

次に、ある第N世代の個体集団に対し淘汰、交叉、あるいは突然変異と呼ばれる遺伝的操作を施すことによって第N+1世代の個体集団を生成することを世代交代と呼ぶ。このような世代交代を繰り返すことによる進化の過程において、上記評価値が高い個体ほど次の世代に生き残る確率が高くなる。個体集団を十分に進化させることで、評価値が高い個体を生成することが可能となる。最終的に最も高い評価値を有する個体が示すパラメータの組み合せが、この問題における最適解となる。   Next, generating an N + 1th generation individual population by performing a genetic operation called wrinkle, crossover, or mutation on a certain Nth generation individual population is called generational change. In the process of evolution by repeating such generation changes, individuals with higher evaluation values have a higher probability of survival in the next generation. By sufficiently evolving an individual population, it is possible to generate an individual with a high evaluation value. The combination of parameters finally shown by the individual having the highest evaluation value is the optimal solution for this problem.

遺伝的アルゴリズムに関し、たとえば、特開平9−178500号公報(特許文献1)は、遺伝的アルゴリズムを用いて経路探索時間の短いカーナビゲーション装置を開示している。また、特開2004−258842号公報(特許文献2)は、遺伝的アルゴリズムを用いた並列処理装置を開示している。   Regarding a genetic algorithm, for example, Japanese Patent Laid-Open No. 9-178500 (Patent Document 1) discloses a car navigation device having a short route search time using a genetic algorithm. Japanese Patent Laying-Open No. 2004-258842 (Patent Document 2) discloses a parallel processing device using a genetic algorithm.

さらに、遺伝的アルゴリズムを用いた画像処理アルゴリズムの生成に関し、たとえば、特開2004−38744号公報(特許文献3)は、認識すべき対象画像の学習データが与えられた際に、特徴抽出方法の生成および評価を自動で行ない、対象画像を識別するアルゴリズムの開発または生成を支援する画像認識アルゴリズム生成装置を開示している。この装置は,画像処理プログラムモジュールデータベースと、画像処理プログラム検索部とを備える。画像処理プログラム検索部は,認識アルゴリズム評価部を含む。   Furthermore, regarding generation of an image processing algorithm using a genetic algorithm, for example, Japanese Patent Laid-Open No. 2004-38744 (Patent Document 3) describes a feature extraction method when learning data of a target image to be recognized is given. An image recognition algorithm generating apparatus that automatically generates and evaluates and supports development or generation of an algorithm for identifying a target image is disclosed. This apparatus includes an image processing program module database and an image processing program search unit. The image processing program search unit includes a recognition algorithm evaluation unit.

特開2004−38744号公報に開示された画像認識アルゴリズム生成装置によると、画像処理プログラムモジュールが蓄積され、検索条件に従って高い評価値を示す認識アルゴリズムが検索される。そのため、画像認識アルゴリズムの開発者が、特徴抽出処理の手順あるいは特徴抽出処理のパラメータによって異なる特徴抽出方法の性質を詳細に知らない場合であっても、高い識別率を実現する画像認識アルゴリズムを見つけることができる。
特開平9−178500号公報 特開2004−258842号公報 特開2004−38744号公報
According to the image recognition algorithm generation device disclosed in Japanese Patent Application Laid-Open No. 2004-38744, image processing program modules are accumulated, and a recognition algorithm showing a high evaluation value is searched according to a search condition. Therefore, even if the developer of the image recognition algorithm does not know in detail the nature of the feature extraction method that varies depending on the procedure of the feature extraction process or the parameters of the feature extraction process, find an image recognition algorithm that achieves a high identification rate be able to.
JP-A-9-178500 JP 2004-258842 A JP 2004-38744 A

上記のような技術では、求めるフィルタ列の評価は、フィルタ列を用いて出力した結果画像の内容により決定される。つまり、所望の処理結果を出力するフィルタ列として能力の高いものを探索することはできるが、フィルタ列を用いて出力した結果画像で評価しているため、能力は高いが処理負荷の重いフィルタ列が生成される可能性がある。   In the technique as described above, the evaluation of the filter sequence to be obtained is determined by the content of the result image output using the filter sequence. In other words, although it is possible to search for a high-capacity filter string that outputs a desired processing result, evaluation is performed using a result image that is output using the filter string. May be generated.

本発明は、上述の問題点を解決するためになされたものであって、その目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置を提供することである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a filter array generation apparatus that can generate an excellent filter array with a small load in a short time.

本発明の他の目的は、同様の品質を有する結果が短時間で導出される画像処理のためのフィルタ列を生成するフィルタ列生成装置を提供することである。   Another object of the present invention is to provide a filter sequence generation device that generates a filter sequence for image processing in which results having similar quality are derived in a short time.

本発明の他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成方法を提供することである。   Another object of the present invention is to provide a filter array generation method capable of generating an excellent filter array with a small load in a short time.

本発明の他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させるためのプログラムを提供することである。   Another object of the present invention is to provide a program for causing a computer to function as a filter array generation device that can generate an excellent filter array with a small load in a short time.

本発明のさらに他の目的は、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させるためのプログラムを格納した記録媒体を提供することである。   Still another object of the present invention is to provide a recording medium storing a program for causing a computer to function as a filter array generation apparatus that can generate an excellent filter array with a small load in a short time.

上記の課題を解決するために、この発明のある局面に従うフィルタ列生成装置は、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出する能力値算出手段を備える。各フィルタ列は、複数のフィルタを含む。フィルタ列生成装置は、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出する負荷値算出手段と、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出する評価値算出手段と、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出する抽出手段と、抽出手段によって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する生成手段とを備える。   In order to solve the above-described problem, a filter array generation device according to an aspect of the present invention includes an ability value calculation unit that calculates an ability value representing an image processing ability for each of a plurality of filter arrays used for image processing. Prepare. Each filter row includes a plurality of filters. The filter sequence generation device includes, for each of the plurality of filter sequences, a load value calculation unit that calculates a load value representing a load on the image processing using the filter sequence, and a capability value and a load value for each of the plurality of filter sequences. Based on the evaluation value calculating means for calculating an evaluation value for evaluating the filter column, and extracting the filter column from each filter column based on each evaluation value calculated for each of the plurality of filter columns Extraction means, and generation means for generating a filter string of the next generation according to a genetic algorithm, with the filter string extracted by the extraction means as a parent generation.

好ましくは、フィルタ列生成装置は、画像処理の対象となる原画像データと原画像データに対する画像処理を行なうことにより導出される画像として予め準備された目標画像データの入力を受け付ける入力手段をさらに備える。能力値算出手段は、画像処理手段による画像処理の結果として得られる結果画像データと原画像データとに基づいて能力値を算出する。   Preferably, the filter array generation device further includes an input unit that receives input of target image data prepared in advance as an image derived by performing image processing on the original image data and the original image data to be subjected to image processing. . The capability value calculating means calculates the capability value based on the result image data and the original image data obtained as a result of the image processing by the image processing means.

好ましくは、能力値算出手段は、結果画像データと原画像データとの差分を能力値として算出する。   Preferably, the capability value calculation means calculates a difference between the result image data and the original image data as the capability value.

好ましくは、フィルタ列生成装置は、結果画像データに基づく第1の特徴量と、原画像データに基づく第2の特徴量とを算出する特徴量算出手段をさらに備える。能力値算出手段は、第1の特徴量と第2の特徴量とに基づいて能力値を算出する。   Preferably, the filter array generation device further includes a feature amount calculation unit that calculates a first feature amount based on the result image data and a second feature amount based on the original image data. The ability value calculation means calculates the ability value based on the first feature quantity and the second feature quantity.

好ましくは、評価値算出手段は、予め定められた割合で能力値と負荷値とを加算することにより評価値を算出する演算手段を含む。   Preferably, the evaluation value calculation means includes calculation means for calculating the evaluation value by adding the capability value and the load value at a predetermined ratio.

好ましくは、演算手段は、能力値の次元と前記負荷値の次元とを同一の次元に変換する無次元化手段と、同一の次元に変換された能力値と負荷値との線形和を算出する線形和算出手段とを含む。   Preferably, the calculating means calculates a linear sum of the capacity value converted to the same dimension and the load value, a non-dimensionalizing means for converting the capacity value dimension and the load value dimension into the same dimension. Linear sum calculation means.

好ましくは、負荷値算出手段は、フィルタ列に含まれるフィルタの数に基づいて負荷値を算出する。   Preferably, the load value calculation unit calculates the load value based on the number of filters included in the filter row.

好ましくは、負荷値算出手段は、フィルタ列を用いた画像処理に要する処理時間に基づいて負荷値を算出する。   Preferably, the load value calculation unit calculates the load value based on a processing time required for image processing using the filter array.

好ましくは、フィルタ列生成装置は、予め設定された終了条件の入力を受け付ける入力手段と、終了条件が成立した場合に評価値が最大のフィルタ列を出力する出力手段とをさらに備える。   Preferably, the filter string generation device further includes an input unit that receives an input of a preset end condition, and an output unit that outputs a filter string having a maximum evaluation value when the end condition is satisfied.

この発明の他の局面に従うと、フィルタ列生成方法が提供される。フィルタ列生成方法は、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出するステップを備える。各フィルタ列は、複数のフィルタを含む。フィルタ列生成方法は、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出するステップと、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出するステップと、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出するステップと、抽出ステップによって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを備える。   When the other situation of this invention is followed, the filter row | line | column production | generation method is provided. The filter sequence generation method includes a step of calculating a capability value representing the capability of image processing for each of a plurality of filter sequences used for image processing. Each filter row includes a plurality of filters. The filter sequence generation method calculates a load value representing a load on image processing using the filter sequence for each of the plurality of filter sequences, and based on the capability value and the load value for each of the plurality of filter sequences. A step of calculating an evaluation value for evaluating the filter column, a step of extracting the filter column from each filter column based on each evaluation value calculated for each of the plurality of filter columns, and an extraction step Generating the next generation filter string according to a genetic algorithm, with the extracted filter string as a parent generation.

この発明の他の局面に従うと、コンピュータをフィルタ列生成装置として機能させるためのプログラムが提供される。このプログラムはコンピュータに、画像処理に用いられる複数のフィルタ列の各々について、画像処理の能力を表わす能力値を算出するステップを実行させる。各フィルタ列は、複数のフィルタを含む。プログラムはコンピュータに、さらに、複数のフィルタ列の各々について、フィルタ列を用いた画像処理に対する負荷を表わす負荷値を算出するステップと、複数のフィルタ列の各々について、能力値と負荷値とに基づいて、フィルタ列を評価するための評価値を算出するステップと、複数のフィルタ列の各々について算出された各評価値に基づいて、各フィルタ列の中からフィルタ列を抽出するステップと、抽出ステップによって抽出されたフィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを実行させる。   When the other situation of this invention is followed, the program for functioning a computer as a filter row | line | column production | generation apparatus is provided. This program causes a computer to execute a step of calculating a capability value representing the capability of image processing for each of a plurality of filter arrays used for image processing. Each filter row includes a plurality of filters. The program further includes: calculating a load value representing a load on image processing using the filter row for each of the plurality of filter rows; and a capability value and a load value for each of the plurality of filter rows. A step of calculating an evaluation value for evaluating the filter column, a step of extracting the filter column from each filter column based on each evaluation value calculated for each of the plurality of filter columns, and an extraction step And generating a next generation filter string according to a genetic algorithm, with the filter string extracted by the above as a parent generation.

この発明のさらに他の局面に従うと、上記のプログラムが格納された、コンピュータ読み取り可能な記録媒体が提供される。   According to still another aspect of the present invention, a computer-readable recording medium storing the above program is provided.

本発明に係るフィルタ列生成装置によると、負荷が小さく優秀なフィルタ列を短時間で生成することができる。また、本発明に係るフィルタ列生成装置によると、同様の品質を有する結果が短時間で導出される画像処理のためのフィルタ列を生成することができる。   According to the filter array generation device of the present invention, an excellent filter array with a small load can be generated in a short time. In addition, according to the filter array generation device of the present invention, it is possible to generate a filter array for image processing in which results having similar quality are derived in a short time.

本発明に係るフィルタ列生成方法によると、負荷が小さく優秀なフィルタ列を短時間で生成することができる。さらに、本発明に係るプログラムによると、負荷が小さく優秀なフィルタ列を短時間で生成できるフィルタ列生成装置としてコンピュータを機能させることができる。また、本発明に係る記録媒体がコンピュータに装着され、記録媒体に格納されたプログラムが実行されると、当該コンピュータは、負荷が小さく優秀なフィルタ列を短時間で生成する装置として作動する。   According to the filter array generation method of the present invention, an excellent filter array with a small load can be generated in a short time. Furthermore, according to the program according to the present invention, it is possible to cause the computer to function as a filter row generation apparatus that can generate an excellent filter row with a small load in a short time. Further, when the recording medium according to the present invention is mounted on a computer and a program stored in the recording medium is executed, the computer operates as a device that generates an excellent filter array with a small load in a short time.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

<第1の実施の形態>
まず、図1を参照して、画像処理装置における画像処理フィルタの組み合わせについて説明する。図1は、原画像100に対して予め準備された画像処理フィルタ110−1,110−2,…,110−nを用いて結果画像120を得るための処理を概念的に表わす図である。画像処理フィルタ110−1,110−2は、予め作成された画像処理フィルタ、たとえば、平滑化フィルタ、中間値フィルタ、最大化フィルタ、最小化フィルタ、ゾーベル(sobel)フィルタ、ラプラシアンフィルタなどである。
<First Embodiment>
First, a combination of image processing filters in the image processing apparatus will be described with reference to FIG. FIG. 1 is a diagram conceptually showing a process for obtaining a result image 120 using image processing filters 110-1, 110-2,..., 110-n prepared in advance for the original image 100. The image processing filters 110-1 and 110-2 are image processing filters created in advance, for example, a smoothing filter, an intermediate value filter, a maximizing filter, a minimizing filter, a sobel filter, a Laplacian filter, and the like.

フィルタ処理が実行される場合、原画像100が画像処理装置に対して最初に与えられる。原画像100に対応する目標画像も同様に与えられる。ここで、目標画像とは、原画像100を処理することにより得られる画像として期待される画像である。   When the filtering process is executed, the original image 100 is first given to the image processing apparatus. A target image corresponding to the original image 100 is also given in the same manner. Here, the target image is an image expected as an image obtained by processing the original image 100.

図1に示されるように、たとえばn段のフィルタの列が与えられた場合には、まず、第1のフィルタ110−1を用いたフィルタ処理が原画像100に対して行なわれる。その結果画像に対してフィルタ110−2を用いたフィルタ処理が実行される。同様に処理が繰り返され、第nのフィルタ110−nを用いた処理が実行される。最後の処理により得られる画像は、結果画像120として出力される。結果画像120から特徴量が抽出され、抽出された特徴量に基づいて個体が評価される。世代交代を繰り返して進化させることにより、最終的に認識率の高いフィルタ列が、画像処理アルゴリズムとして出力される。   As shown in FIG. 1, for example, when an n-th row of filters is given, first, filter processing using the first filter 110-1 is performed on the original image 100. As a result, filter processing using the filter 110-2 is performed on the image. Similarly, the process is repeated, and the process using the nth filter 110-n is executed. An image obtained by the last process is output as a result image 120. A feature amount is extracted from the result image 120, and an individual is evaluated based on the extracted feature amount. By repeatedly evolving generation changes, a filter row with a high recognition rate is finally output as an image processing algorithm.

この場合、結果画像120が予め設定された目標画像に近い場合、すなわち結果画像120と目標画像とをそれぞれ定量化し、各々の値の差が予め定められた基準値よりも小さい場合には、結果画像120を得るために使用された各フィルタの列は、画像処理を実現するためのアルゴリズムに近いものと判断される。   In this case, when the result image 120 is close to a preset target image, that is, when the result image 120 and the target image are quantified, and the difference between the values is smaller than a predetermined reference value, the result Each filter row used to obtain the image 120 is judged to be close to an algorithm for realizing image processing.

図2を参照して、本発明に係る画像処理装置において遺伝的アルゴリズム(GA)を用いた手法を適用した場合について説明する。図2は、複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。   With reference to FIG. 2, the case where the method using the genetic algorithm (GA) is applied to the image processing apparatus according to the present invention will be described. FIG. 2 is a diagram showing a mode of selecting a filter string to be used in the image processing apparatus by sequentially selecting a filter string composed of a plurality of filters according to a predetermined evaluation criterion.

図2(A)に示されるように、まず複数のフィルタ列からなる第1世代のフィルタ列群200−1,200−2等が生成される。各フィルタ列群は、予め準備されたフィルタをランダムに組み合わせることにより構成される。生成されたすべてのフィルタ列群のそれぞれのフィルタ列に対して予め準備された原画像100が、入力画像として与えられる。各フィルタ列群は、その原画像100に対して各フィルタを用いることにより、それぞれ対応する画像処理を実行し、結果画像210−1,210−2等を出力する。各結果画像は予め設定された目標画像と比較され、目標画像に近い結果画像を出力したフィルタ列(たとえばフィルタ列210−4)は、求めるフィルタ列に近いものとして高い評価値が与えられる。ここで評価値とは、後述するように、フィルタ列の評価の結果として、各フィルタ列の属性を定量的に表現するために表わされる値である。具体的には、評価値は、たとえば、輝度の差の絶対和、当該差の二乗和、あるいは平均値等を用いて定量的に表現可能なデータであり、結果画像と目標画像との差が小さいほど大きな値をとるものである。すなわち、当該評価値は、生成されたフィルタ列を原画像に対して適用して得られる複数の画像に対し、目標画像との比較を行なって得られるものである。また、「優秀な」とは、当該評価値が大きいものをいう。本実施の形態においては、評価値とフィルタ列との関係に関し、評価値が大きくなればフィルタ列の性能が向上し、評価値が小さくなればフィルタ列の性能が悪化する、ということになる。   As shown in FIG. 2A, first-generation filter row groups 200-1, 200-2, etc. composed of a plurality of filter rows are first generated. Each filter row group is configured by combining filters prepared in advance at random. An original image 100 prepared in advance for each filter row of all the generated filter row groups is given as an input image. Each filter row group executes corresponding image processing by using each filter for the original image 100, and outputs result images 210-1, 210-2, and the like. Each result image is compared with a preset target image, and a filter row (for example, filter row 210-4) that outputs a result image close to the target image is given a high evaluation value as being close to the desired filter row. Here, as will be described later, the evaluation value is a value expressed in order to quantitatively express the attribute of each filter row as a result of the evaluation of the filter row. Specifically, the evaluation value is data that can be expressed quantitatively using, for example, an absolute sum of luminance differences, a sum of squares of the differences, or an average value, and the difference between the result image and the target image is The smaller the value, the larger the value. That is, the evaluation value is obtained by comparing a plurality of images obtained by applying the generated filter row to the original image with the target image. Further, “excellent” means a material having a large evaluation value. In the present embodiment, regarding the relationship between the evaluation value and the filter row, the performance of the filter row is improved when the evaluation value is increased, and the performance of the filter row is deteriorated when the evaluation value is reduced.

第1の世代で高い評価値が与えられたフィルタ列は、その世代においていわゆる優秀なフィルタ列であるとされ、次の世代すなわち第2の世代を生成するための親として登録される(フィルタ列220)。   A filter string given a high evaluation value in the first generation is regarded as a so-called excellent filter string in that generation and is registered as a parent for generating the next generation, that is, the second generation (filter string). 220).

次に、図2(B)に示されるように、第1の世代における処理において優秀なフィルタ列とされたフィルタ220は、第2の世代において、各フィルタの親として登録される。第2の世代は、GAの交叉・突然変異などの手法によって親から生成される。すなわち、複数のフィルタ列220−1,220−2等が生成される。各フィルタ列は、第1世代における処理と同様に原画像に対するフィルタ処理を実行し、結果画像230−1,230−2等を出力する。それぞれ出力された結果画像から、予め設定された目標画像に最も近い結果画像を出力したフィルタ列が特定され(たとえばフィルタ列230−n)、次の世代における親として登録される(フィルタ列240)。   Next, as shown in FIG. 2B, the filter 220 that is an excellent filter row in the processing in the first generation is registered as the parent of each filter in the second generation. The second generation is generated from the parent by a technique such as crossover / mutation of GA. That is, a plurality of filter rows 220-1, 220-2, etc. are generated. Each filter row executes filter processing on the original image in the same manner as in the first generation, and outputs result images 230-1, 230-2, and the like. From each output result image, a filter row that outputs a result image closest to a preset target image is identified (for example, filter row 230-n) and registered as a parent in the next generation (filter row 240). .

図2(C)に示されるように、同様の処理を第N世代まで繰り返すことにより、画像処理装置を実現するためのフィルタ列を導出することができる。すなわち、フィルタ列240を構成する各フィルタに基づいて、次の世代のフィルタ列群が生成され、(N−1)世代のフィルタ列から、目標画像に最も近い結果画像を出力したフィルタ列を親として、第N世代のフィルタ列250−1,250−2等のフィルタ列群が生成され、それぞれのフィルタ列を用いたフィルタ処理が実行される。予め設定された目標画像に最も近い結果画像を出力したフィルタ列260−2は、画像処理装置を実現するためのフィルタ列270として導出される。   As shown in FIG. 2C, a filter sequence for realizing the image processing apparatus can be derived by repeating the same processing up to the Nth generation. In other words, the next generation filter row group is generated based on each filter constituting the filter row 240, and the filter row that outputs the result image closest to the target image is generated from the (N-1) generation filter row. As a result, filter row groups such as the Nth generation filter rows 250-1 and 250-2 are generated, and filter processing using the respective filter rows is executed. The filter row 260-2 that outputs the result image closest to the preset target image is derived as a filter row 270 for realizing the image processing apparatus.

図3を参照して、本発明の第1の実施の形態に係るフィルタ列生成装置について説明する。図3は、フィルタ列生成装置300の機能的構成を表わすブロック図である。フィルタ列生成装置300は、入力部310と、記憶部320と、演算部330と、出力部350とを備える。   With reference to FIG. 3, the filter row generation device according to the first exemplary embodiment of the present invention will be described. FIG. 3 is a block diagram showing a functional configuration of filter array generation device 300. The filter string generation device 300 includes an input unit 310, a storage unit 320, a calculation unit 330, and an output unit 350.

入力部310は、データの入力を受け付ける。データには、画像処理の対象となる原画像データが含まれる。記憶部320は、入力部310を介して入力されたデータと、演算部330による演算処理により生成されたデータと、予め準備されたデータとを格納している。予め準備されたデータには、フィルタ列生成装置300の動作を規定するために設定されるデータと、後述する各処理を実現するためのプログラムとが含まれる。記録部320は、さらに、画像処理のために予め準備された複数のフィルタを格納している。   The input unit 310 accepts data input. The data includes original image data to be subjected to image processing. The storage unit 320 stores data input via the input unit 310, data generated by the arithmetic processing by the arithmetic unit 330, and data prepared in advance. The data prepared in advance includes data set for defining the operation of the filter array generation device 300 and a program for realizing each process described later. The recording unit 320 further stores a plurality of filters prepared in advance for image processing.

演算部330は、条件入力部331と、フィルタ列能力値算出部332と、フィルタ列負荷値算出部333と、フィルタ列評価値算出部334と、親フィルタ列抽出部335と、次世代生成部336と、優秀フィルタ列出力部337とを備える。フィルタ列負荷値算出部333は、フィルタ数算出部340を含む。   The calculation unit 330 includes a condition input unit 331, a filter column capability value calculation unit 332, a filter column load value calculation unit 333, a filter column evaluation value calculation unit 334, a parent filter column extraction unit 335, and a next generation generation unit. 336 and an excellent filter row output unit 337. The filter string load value calculation unit 333 includes a filter number calculation unit 340.

条件入力部331は、入力部310を介して入力された処理条件を記憶部320において予め確保された領域に格納する。また、条件入力部331は、フィルタ列を生成する処理の終了条件の入力を受け、その条件を優秀フィルタ列出力部337に対して適用する。フィルタ列は、前述のフィルタを複数有する。フィルタ列は、組み合わせの対象となるフィルタを変更することにより、予め準備されたフィルタの範囲内で生成可能である。   The condition input unit 331 stores the processing conditions input via the input unit 310 in an area secured in advance in the storage unit 320. In addition, the condition input unit 331 receives an input of the end condition of the process for generating the filter string, and applies the condition to the excellent filter string output unit 337. The filter row has a plurality of the aforementioned filters. The filter row can be generated within the range of filters prepared in advance by changing the filter to be combined.

フィルタ列能力値算出部332は、各フィルタ列による画像処理の能力を表わす能力値を算出する。フィルタ列負荷値算出部333は、各フィルタ列を適用した画像処理に対する負荷を表わす負荷値を算出する。たとえば、フィルタ数算出部340は、記憶部320に格納されているフィルタ列に基づいて、当該フィルタ列を構成するフィルタの数を用いて、負荷値を算出する。具体的には、フィルタ数算出部340は、フィルタの数の逆数を計算する。あるいは、フィルタ数算出部340は、予め設定された定数からフィルタ数を減算して、負荷値を算出する。   The filter column capability value calculation unit 332 calculates a capability value that represents the image processing capability of each filter column. The filter column load value calculation unit 333 calculates a load value representing a load on image processing to which each filter column is applied. For example, the filter number calculation unit 340 calculates the load value using the number of filters constituting the filter row based on the filter row stored in the storage unit 320. Specifically, the filter number calculation unit 340 calculates the reciprocal of the number of filters. Alternatively, the filter number calculation unit 340 calculates the load value by subtracting the number of filters from a preset constant.

フィルタ列評価値算出部334は、フィルタ列能力値算出部333により算出された能力値とフィルタ列負荷値算出部333により算出された負荷値とに基づいてそのフィルタ列を評価するための評価値を算出する。好ましくは、ある局面において、フィルタ列評価値算出部334は、予め定められた割合で能力値と負荷値とを加算することにより評価値を算出する。評価値は、たとえば、算式「評価値=a×能力値+b×負荷値」(a,bは定数)として導出される。   The filter column evaluation value calculation unit 334 evaluates the filter column based on the capability value calculated by the filter column capability value calculation unit 333 and the load value calculated by the filter column load value calculation unit 333. Is calculated. Preferably, in one aspect, filter row evaluation value calculation unit 334 calculates an evaluation value by adding the capability value and the load value at a predetermined ratio. The evaluation value is derived, for example, as a formula “evaluation value = a × capability value + b × load value” (a and b are constants).

また、他の局面において、能力値および/または負荷値の大小関係と、評価値の大小関係とが逆比例の関係となる場合がある。この場合、フィルタ列評価値算出部334は、能力値の逆数および/または負荷値の逆数を加算することにより、評価値を算出する。このようにすると、能力値および/または負荷値の大小関係と、評価値の大小関係とが、逆比例する関係であっても、評価値は適正に算出される。   In another aspect, the magnitude relationship between the ability value and / or the load value and the magnitude relationship between the evaluation values may be inversely proportional. In this case, the filter string evaluation value calculation unit 334 calculates the evaluation value by adding the reciprocal of the capability value and / or the reciprocal of the load value. In this way, even if the magnitude relationship between the capability value and / or the load value and the magnitude relationship between the evaluation values are inversely proportional, the evaluation value is calculated appropriately.

具体的には、フィルタ列評価値算出部334は、いわゆる多目的最適化問題の観点から、同一の次元に変換することなく評価値を算出する。この場合、複数の目的関数によって定式化された最適化問題となり、一般に完全な最適解は得られないが、いわゆるパレート最適解として複数の解が得られる。なお、多目的最適化問題あるいはパレート最適解については、当業者にとって周知の事項である。したがって、ここではそれらについての詳細な説明は繰り返さない。   Specifically, the filter column evaluation value calculation unit 334 calculates the evaluation value without converting to the same dimension from the viewpoint of a so-called multi-objective optimization problem. In this case, it becomes an optimization problem formulated by a plurality of objective functions, and generally a perfect optimum solution cannot be obtained, but a plurality of solutions are obtained as so-called Pareto optimum solutions. The multi-objective optimization problem or the Pareto optimal solution is a well-known matter for those skilled in the art. Therefore, detailed description thereof will not be repeated here.

あるいは、フィルタ列評価値算出部334は、能力値の次元と負荷値の次元とを同一の次元に変換し、同一の次元に変換された能力値と負荷値との線形和を算出する。   Alternatively, the filter string evaluation value calculation unit 334 converts the dimension of the capability value and the dimension of the load value into the same dimension, and calculates a linear sum of the capability value converted into the same dimension and the load value.

親フィルタ列抽出部335は、フィルタ列評価値算出部334により算出された評価値に基づいて各フィルタ列の中から予め設定された抽出条件を満足するフィルタ列を抽出する。好ましくは、親フィルタ列抽出部335は、当該評価値が最大となるフィルタ列を抽出する。   Based on the evaluation value calculated by the filter column evaluation value calculation unit 334, the parent filter column extraction unit 335 extracts a filter column satisfying a preset extraction condition from each filter column. Preferably, the parent filter row extraction unit 335 extracts a filter row having the maximum evaluation value.

次世代生成部336は、親フィルタ列抽出部335によって抽出されたフィルタ列を親の世代として、周知の遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する。優秀フィルタ列出力部337は、次世代生成部336によって生成されたフィルタ列について算出された評価値が最大のフィルタ列を出力する。優秀フィルタ列出力部337は、好ましくは予め設定された終了条件が成立した場合に、上記の評価値が最大となるフィルタ列を出力する。   The next generation generation unit 336 generates the next generation filter sequence according to a known genetic algorithm, with the filter sequence extracted by the parent filter sequence extraction unit 335 as a parent generation. The excellent filter row output unit 337 outputs the filter row having the maximum evaluation value calculated for the filter row generated by the next generation generation unit 336. The excellent filter row output unit 337 preferably outputs a filter row having the maximum evaluation value when a preset end condition is satisfied.

図4を参照して、フィルタ列生成装置300のデータ構造について説明する。図4は、記憶部320におけるデータの格納の一態様を概念的に表わす図である。   With reference to FIG. 4, the data structure of the filter string generation device 300 will be described. FIG. 4 is a diagram conceptually showing one mode of data storage in storage unit 320.

記憶部320は、プログラムを格納する領域410と、データを格納する領域420とを含む。領域410は、さらに各プログラムを格納するための領域411から417を含む。条件入力プログラムは、領域411に格納されている。このプログラムは、外部から入力される条件データを予め確保された領域に格納する。またこのプログラムは、その条件データが参照される他のプログラムに対して関連付けを行なう。   Storage unit 320 includes an area 410 for storing a program and an area 420 for storing data. The area 410 further includes areas 411 to 417 for storing each program. The condition input program is stored in area 411. This program stores condition data input from the outside in an area secured in advance. This program associates with other programs whose condition data is referenced.

フィルタ列能力値算出プログラムは、領域412に格納されている。このプログラムが実行されると、図3に示される演算部330は、フィルタ列能力値算出部332として機能する。   The filter column capability value calculation program is stored in area 412. When this program is executed, the calculation unit 330 shown in FIG. 3 functions as the filter row capability value calculation unit 332.

フィルタ列負荷値算出プログラムは、領域413に格納されている。このプログラムが実行されると、演算部330は、フィルタ列負荷値算出部333として機能する。フィルタ列評価値算出プログラムは、領域414に格納されている。このプログラムが実行されると、演算部330は、フィルタ列評価値算出部334として機能する。親フィルタ列抽出プログラムは、領域415に格納されている。このプログラムが実行されると、演算部330は、親フィルタ列抽出部335として機能する。次世代生成プログラムは、領域416に格納されている。このプログラムが実行されると、演算部330は、次世代生成部336として機能する。優秀フィルタ列出力プログラムは、領域417に格納されている。このプログラムが実行されると、演算部330は、優秀フィルタ列出力部337として機能する。   The filter column load value calculation program is stored in area 413. When this program is executed, the calculation unit 330 functions as the filter row load value calculation unit 333. The filter column evaluation value calculation program is stored in area 414. When this program is executed, the calculation unit 330 functions as the filter row evaluation value calculation unit 334. The parent filter string extraction program is stored in area 415. When this program is executed, the calculation unit 330 functions as the parent filter string extraction unit 335. The next generation generation program is stored in area 416. When this program is executed, the calculation unit 330 functions as the next generation generation unit 336. The excellent filter column output program is stored in area 417. When this program is executed, the calculation unit 330 functions as the excellent filter row output unit 337.

図4を再び参照して、領域420は、画像処理に使用されるデータを格納する領域421から424を含む。フィルタ列を表わすデータは、領域421に格納されている。たとえば、フィルタ列421−1から421−NまでのN個のフィルタ列が領域421に格納されている。   Referring back to FIG. 4, the area 420 includes areas 421 to 424 that store data used for image processing. Data representing the filter column is stored in area 421. For example, N filter columns from filter columns 421-1 to 421-N are stored in the region 421.

画像処理のためのフィルタデータは、領域422に格納されている。たとえばn個のフィルタデータ422−1から422−nが領域422に格納されている。   Filter data for image processing is stored in area 422. For example, n pieces of filter data 422-1 to 422-n are stored in the area 422.

画像データは、領域423に格納されている。画像処理の対象となる原画像データは、領域423aに格納されている。原画像に対する画像処理を行なうことにより導出される画像として予め準備された目標画像のデータは、領域423bに格納されている。画像処理中の画像データは、領域423cに格納されている。このデータは、たとえばフィルタ列を適用した画像処理の実行中に、各フィルタについての処理が完了し次の処理が実行されるまで一時的に生成されるデータである。   Image data is stored in area 423. Original image data to be subjected to image processing is stored in the area 423a. Data of a target image prepared in advance as an image derived by performing image processing on the original image is stored in the area 423b. The image data being processed is stored in area 423c. This data is data that is temporarily generated during the execution of image processing to which a filter row is applied, for example, until the processing for each filter is completed and the next processing is executed.

その他のデータは、領域424に格納されている。その他のデータには、フィルタ列を抽出するために予め設定された抽出条件、画像処理の繰り返し回数を規定するために予め入力された終了条件などが含まれる。   Other data is stored in area 424. The other data includes an extraction condition set in advance for extracting a filter row, an end condition input in advance for defining the number of repetitions of image processing, and the like.

ここで、図5を参照して、フィルタ列生成装置300として作動するコンピュータシステム500について説明する。図5は、コンピュータシステム500のハードウェア構成を表わすブロック図である。   Here, with reference to FIG. 5, a computer system 500 that operates as the filter array generation device 300 will be described. FIG. 5 is a block diagram showing a hardware configuration of computer system 500.

コンピュータシステム500は、相互にデータバスにより接続されたCPU510と、外部から指示の入力を受けるためのマウス520およびキーボード530と、外部から入力されるデータあるいはCPU510によって一時的に生成されるデータを格納するRAM540と、データを不揮発的に格納するハードディスク550と、CD−ROM駆動装置570と、モニタ580と、通信IF(interface)590とを含む。CD−ROM駆動装置570には、CD−ROM572が装着される。コンピュータシステム500は、ネットワーク592に接続されているが、接続されていなくてもよい。   The computer system 500 stores a CPU 510 connected to each other via a data bus, a mouse 520 and a keyboard 530 for receiving an instruction input from the outside, and data input from the outside or data temporarily generated by the CPU 510. A RAM 540, a hard disk 550 for storing data in a nonvolatile manner, a CD-ROM drive 570, a monitor 580, and a communication IF (interface) 590. A CD-ROM 572 is mounted on the CD-ROM drive 570. The computer system 500 is connected to the network 592 but need not be connected.

コンピュータシステム500における処理は、各ハードウェアおよびCPU510により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク550に予め記憶されている場合がある。あるいは、ソフトウェアは、CD−ROM572その他の記録媒体に格納されて、プログラム製品として流通している場合もある。さらに、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。   The processing in the computer system 500 is realized by each hardware and software executed by the CPU 510. Such software may be stored in the hard disk 550 in advance. Alternatively, the software may be stored in a CD-ROM 572 or other recording medium and distributed as a program product. Furthermore, the software may be provided as a program product that can be downloaded by an information provider connected to the so-called Internet.

このようなソフトウェアは、CD−ROM駆動装置570その他の読取装置によりその記録媒体から読み取られた後、あるいは、通信IF590を介してダウンロードされた後、ハードディスク550に一旦格納される。そのソフトウェアは、CPU510によってハードディスク550から読み出され、RAM540に実行可能なプログラムの形式で格納される。CPU510は、RAM540からそのプログラムを読み出して、実行する。   Such software is temporarily stored in the hard disk 550 after being read from the recording medium by the CD-ROM drive 570 or other reading device or downloaded via the communication IF 590. The software is read from the hard disk 550 by the CPU 510 and stored in the RAM 540 in the form of an executable program. CPU 510 reads the program from RAM 540 and executes it.

図5に示されるコンピュータシステム500を構成する各ハードウェアは、一般的なものである。したがって、本発明に係るフィルタ列生成装置300の演算部330を実現する最も本質的な部分は、RAM540、ハードディスク550、CD−ROM572その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。   Each hardware constituting the computer system 500 shown in FIG. 5 is general. Therefore, the most essential part for realizing the calculation unit 330 of the filter array generation device 300 according to the present invention can be downloaded via the RAM 540, the hard disk 550, the software stored in the CD-ROM 572 or other recording medium, or the network. It can be said that it is a simple software.

なお、コンピュータシステム500の各ハードウェアの動作は周知であるので、その詳細な説明は述べない。   Since the operation of each hardware of the computer system 500 is well known, detailed description thereof will not be described.

図6および図7を参照して、フィルタ列生成装置の制御構造について説明する。図6は、フィルタ列生成装置300として機能するコンピュータシステム500のCPU510が実行する基本処理の手順を表わすフローチャートである。   With reference to FIG. 6 and FIG. 7, the control structure of the filter array generation device will be described. FIG. 6 is a flowchart showing a procedure of basic processing executed by CPU 510 of computer system 500 that functions as filter row generation apparatus 300.

ステップS610にて、CPU510は、外部から入力された条件データに基づいて、画像処理を規定する条件を設定する。具体的には、CPU510は、マウス520、キーボード530、FD駆動装置560、CD−ROM駆動装置570、あるいは通信IF590を介して入力されたデータを、ハードディスク550において予め確保された領域に格納する。   In step S610, CPU 510 sets a condition for defining image processing based on externally input condition data. Specifically, CPU 510 stores data input via mouse 520, keyboard 530, FD drive device 560, CD-ROM drive device 570, or communication IF 590 in an area secured in advance in hard disk 550.

ステップS620にて、CPU510は、ハードディスク550に格納されているデータに基づいてフィルタを組み合わせることにより初期世代の複数のフィルタ列を生成する。   In step S620, CPU 510 generates a plurality of filter rows of the initial generation by combining filters based on data stored in hard disk 550.

ステップS700にて、CPU510は、後述するフィルタ列群評価処理を実行する。この処理が実行されると、各フィルタ列の評価値が算出される。   In step S700, CPU 510 executes filter row group evaluation processing described later. When this process is executed, the evaluation value of each filter row is calculated.

ステップS630にて、CPU510は、予め設定された終了条件が成立しているか否かを判断する。終了条件が成立している場合には(ステップS630にてYES)、処理は終了する。そうでない場合には(ステップS630にてNO)、処理はステップS640に移される。   In step S630, CPU 510 determines whether or not a preset end condition is satisfied. If the end condition is satisfied (YES in step S630), the process ends. If not (NO in step S630), the process proceeds to step S640.

ステップS640にて、CPU510は、先に生成したフィルタ列群の評価値に基づいて親フィルタ列を選定する。この選定は、たとえば各フィルタ列の評価値の中から最大値となる評価値を有するフィルタ列を特定することにより行なわれる。   In step S640, CPU 510 selects a parent filter column based on the previously generated evaluation value of the filter column group. This selection is performed, for example, by specifying a filter row having an evaluation value that is the maximum value from among the evaluation values of each filter row.

ステップS650にて、CPU510は、遺伝的アルゴリズムを用いて親フィルタ列から次の世代のフィルタ列群を生成する。その後、処理はステップS700に戻される。   In step S650, CPU 510 generates a next generation filter string group from the parent filter string using a genetic algorithm. Thereafter, the process returns to step S700.

図7は、フィルタ列群を評価するためにCPU510が実行する処理の手順を表わすフローチャートである。   FIG. 7 is a flowchart showing a procedure of processing executed by CPU 510 for evaluating the filter column group.

ステップS710にて、CPU510は、生成されたフィルタ列群に含まれる各フィルタ列の能力値を算出する。CPU510は、具体的には、ハードディスク550に格納されている原画像データと画像処理の結果として得られる結果画像データとに基づいて能力値を算出する。たとえばCPU550は、結果画像データと原画像データとの差分を算出する。あるいは他の局面においては、CPU510は、結果画像データに基づく第1の特徴量と原画像データに基づく第2の特徴量とをそれぞれ算出する。CPU510は、これらの特徴量を用いて能力値を算出する。特徴量には、目標画像データから抽出された特徴領域の特徴量が含まれる。この特徴量には、たとえば画像データから検出の対象となる検出物の位置、検出物のコントラスト、大きさなどが含まれる。   In step S710, CPU 510 calculates a capability value of each filter row included in the generated filter row group. Specifically, CPU 510 calculates a capability value based on original image data stored in hard disk 550 and result image data obtained as a result of image processing. For example, the CPU 550 calculates the difference between the result image data and the original image data. Or in another situation, CPU510 calculates the 1st feature-value based on result image data, and the 2nd feature-value based on original image data, respectively. The CPU 510 calculates a capability value using these feature amounts. The feature amount includes the feature amount of the feature region extracted from the target image data. This feature amount includes, for example, the position of the detection object to be detected from the image data, the contrast and size of the detection object, and the like.

ステップS720にて、CPU510は、当該フィルタ列の負荷値を算出する。具体的には、CPU510は、処理の対象となっているフィルタ列に含まれるフィルタの数を特定し、その数をRAM540において予め確保された領域に格納する。   In step S720, CPU 510 calculates the load value of the filter row. Specifically, CPU 510 specifies the number of filters included in the filter row to be processed, and stores the number in an area reserved in advance in RAM 540.

ステップS730にて、CPU510は、当該フィルタ列の評価値を算出する。CPU510は、ステップS710において算出した能力値の次元がステップS720にて算出した負荷値の次元と異なる場合には、能力値の次元と負荷値の次元とを揃えるための演算を実行する。たとえば能力値がピクセルの数の逆数、あるいは、定数からピクセルの数を減算して得られた値として表わされ、また、負荷値がフィルタの数の逆数、あるいは、定数からフィルタの数を減算して得られた値として表わされる場合、CPU510は、予め同定された定数を用いてピクセルの数とフィルタの数との次元を規格化するための処理を実行する。   In step S730, CPU 510 calculates an evaluation value of the filter row. If the dimension of the ability value calculated in step S710 is different from the dimension of the load value calculated in step S720, CPU 510 performs an operation for aligning the dimension of the ability value and the dimension of the load value. For example, the ability value is expressed as the reciprocal of the number of pixels, or the value obtained by subtracting the number of pixels from the constant, and the load value is the reciprocal of the number of filters, or the number of filters is subtracted from the constant. When the value is expressed as a value obtained in this manner, the CPU 510 executes a process for normalizing the dimensions of the number of pixels and the number of filters using a constant identified in advance.

ステップS740にて、CPU510は、予め設定された終了条件が成立しているか否かを判断かを判断する。終了条件が成立している場合には(ステップS740にてYES)、処理はメイン処理に戻される。そうでない場合には(ステップS740にてNO)、処理はステップS710に戻される。   In step S740, CPU 510 determines whether it is determined whether a preset end condition is satisfied. If the end condition is satisfied (YES in step S740), the process returns to the main process. If not (NO in step S740), the process returns to step S710.

ここで、図8を参照して、画像データからフィルタ列の評価値を算出するまでの処理について説明する。図8は、各処理の流れを表わす図である。   Here, with reference to FIG. 8, a process until the evaluation value of the filter row is calculated from the image data will be described. FIG. 8 is a diagram showing the flow of each process.

まず、目標画像810と原画像820とがそれぞれ準備される。目標画像810は、原画像820から抽出したい領域が示されたものである。原画像820は、たとえばモノクロの8ビットで表現される画像であり、諧調を有するものである。   First, a target image 810 and an original image 820 are prepared. The target image 810 shows an area to be extracted from the original image 820. The original image 820 is an image expressed by, for example, monochrome 8 bits, and has a gradation.

原画像820に対してフィルタ列830が適用されると、結果画像850が導出される。フィルタ列830は、前述のように複数のフィルタからなり、フィルタの組み合わせを変更することにより、複数のフィルタ列830が生成される。原画像820には、各々のフィルタ列を用いた画像処理が適用される。   When the filter row 830 is applied to the original image 820, a result image 850 is derived. The filter row 830 includes a plurality of filters as described above, and a plurality of filter rows 830 are generated by changing the combination of the filters. Image processing using each filter row is applied to the original image 820.

目標画像810と結果画像850との差分が算出される。ここで差分860は、目標画像810のデータと結果画像850のデータとの絶対値としての差分である。差分860は、この場合差として算出されたピクセル数を含む。このピクセル数からフィルタ列能力値870が導出される。具体的には、ピクセル数の逆数が計算される。あるいは、予め設定された定数からピクセル数が減算され、能力値が算出される。あるいは、他の局面においては、ピクセル数そのものを能力値とする代わりに、差分ピクセル数/画像全体のピクセル数を能力値としてもよい。   The difference between the target image 810 and the result image 850 is calculated. Here, the difference 860 is a difference as an absolute value between the data of the target image 810 and the data of the result image 850. The difference 860 includes the number of pixels calculated as the difference in this case. A filter column capability value 870 is derived from this number of pixels. Specifically, the reciprocal of the number of pixels is calculated. Alternatively, the capacity value is calculated by subtracting the number of pixels from a preset constant. Alternatively, in another aspect, instead of using the number of pixels itself as the capability value, the difference pixel number / the number of pixels of the entire image may be used as the capability value.

なお、評価値の算出は、能力値及び/または負荷値の大小関係にあわせて、能力値および負荷値の線形和、あるいは能力値の逆数及び/または負荷値の逆数の線形和として算出される。   The evaluation value is calculated as a linear sum of the capacity value and the load value or a reciprocal of the capacity value and / or a reciprocal of the load value according to the magnitude relationship between the capacity value and / or the load value. .

その後、フィルタ列負荷値840とフィルタ列能力値870との積算処理880が行なわれ、フィルタ列評価値890が算出される。   Thereafter, the integration process 880 of the filter string load value 840 and the filter string capability value 870 is performed, and a filter string evaluation value 890 is calculated.

次に、図9および図10を参照して、フィルタ列生成装置300のデータ構造について説明する。図9は、フィルタ列生成装置300として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図である。RAM540は、テーブル900を含む。テーブル900は、データを格納する領域910〜950を含む。   Next, the data structure of the filter array generation device 300 will be described with reference to FIGS. 9 and 10. FIG. 9 is a diagram illustrating an aspect of data storage in RAM 540 of computer system 500 that functions as filter row generation apparatus 300. The RAM 540 includes a table 900. The table 900 includes areas 910 to 950 for storing data.

フィルタ列を識別するためのフィルタ列番号は、領域910に格納されている。たとえばN個のフィルタ列が生成されている場合には、「1」から「N」までの数値がそれぞれ領域910に格納されている。フィルタ列に含まれるフィルタの内容を表わすためのデータは、領域920に格納されている。たとえば各フィルタ列に含まれるフィルタを識別するデータが、フィルタの配列順に従って領域920に格納されている。   A filter column number for identifying the filter column is stored in area 910. For example, when N filter rows are generated, numerical values from “1” to “N” are stored in the area 910, respectively. Data for representing the contents of the filter included in the filter column is stored in area 920. For example, data for identifying a filter included in each filter column is stored in area 920 in accordance with the filter arrangement order.

画像処理の実行時に算出された能力値を表わすデータは、領域930に格納されている。当該フィルタ列に含まれるフィルタの数は、領域940に格納されている。前述の画像処理の結果算出された評価値は、領域950に格納されている。このようにフィルタ列群に含まれる各々のフィルタ列についての処理が完了すると各フィルタ列についてのデータがそれぞれの領域に格納され、テーブル900が生成される。各データは、領域910に格納されているフィルタ列番号に関連付けられている。したがって、フィルタ列番号を特定すると、領域910〜950に格納されているデータが特定されることになる。   Data representing the ability value calculated when the image processing is executed is stored in area 930. The number of filters included in the filter row is stored in area 940. The evaluation value calculated as a result of the image processing described above is stored in area 950. When the processing for each filter column included in the filter column group is completed in this way, the data for each filter column is stored in each area, and a table 900 is generated. Each data is associated with a filter column number stored in the area 910. Therefore, when the filter column number is specified, the data stored in the areas 910 to 950 are specified.

ここで、評価値の算出について説明する。評価値は、たとえば算式「評価値=能力値+(10−フィルタ数)/100」として算出される。フィルタ列番号が「2」のフィルタ列の場合、評価値=0.85+(10−2)/100より、評価値「0.87」が得られる。同様に、フィルタ列番号が「7」のフィルタ列の場合、評価値=0.82+(10−3)/100より、評価値「0.89」が得られる。   Here, calculation of the evaluation value will be described. The evaluation value is calculated as, for example, the formula “evaluation value = capability value + (10−number of filters) / 100”. In the case of the filter row having the filter row number “2”, the evaluation value “0.87” is obtained from the evaluation value = 0.85 + (10−2) / 100. Similarly, in the case of the filter row having the filter row number “7”, the evaluation value “0.89” is obtained from the evaluation value = 0.82 + (10−3) / 100.

なお、評価値を算出するための算式は、上記のものに限られず、評価値と能力値との関係について予め同定された関数が使用可能である。当該関数は、たとえば検査対象物の評価試験などにより同定され得る。   Note that the formula for calculating the evaluation value is not limited to the above, and a function identified in advance with respect to the relationship between the evaluation value and the ability value can be used. The function can be identified by, for example, an evaluation test of an inspection object.

図10は、画像処理の実行時にRAM540に格納されるデータの一態様を表わす図である。RAM540は、テーブル1000を含む。テーブル1000は、データを格納する領域1010から1050を含む。各々の領域は、それぞれ関連付けられている。   FIG. 10 is a diagram illustrating an aspect of data stored in RAM 540 when image processing is executed. The RAM 540 includes a table 1000. The table 1000 includes areas 1010 to 1050 for storing data. Each area is associated with each other.

フィルタ列を識別するためのデータは、領域1010に格納されている。当該フィルタ列に含まれるフィルタを特定するためのデータは、そのフィルタ列におけるフィルタの配列に従って領域1020に格納されている。当該フィルタ列の能力値は、領域1030に格納されている。当該フィルタ列に含まれているフィルタの数は、領域1040に格納されている。ここで、「能力値」は、原画像をフィルタ列で処理することにより得られた画像と、目標画像との差によって規定される。この差が小さいほど、フィルタ列の能力は、高いことになる。たとえば、この差が「0」である場合、そのフィルタ列は、最も優秀な(あるいは理想的な)フィルタ列である。   Data for identifying the filter column is stored in area 1010. Data for specifying a filter included in the filter column is stored in an area 1020 in accordance with the filter arrangement in the filter column. The capability value of the filter row is stored in area 1030. The number of filters included in the filter row is stored in area 1040. Here, the “ability value” is defined by a difference between an image obtained by processing an original image with a filter array and a target image. The smaller this difference, the higher the capacity of the filter array. For example, if the difference is “0”, the filter row is the best (or ideal) filter row.

フィルタ列生成装置300が画像処理を開始すると、ハードディスク550に格納されているデータは、CPU510によって読み出され、そのデータはRAM540に一時的に格納される。その後、各フィルタ列についての画像処理が実行され、各々の評価値が算出されると、評価値は、領域1050に順次格納される。   When the filter array generation device 300 starts image processing, data stored in the hard disk 550 is read by the CPU 510 and the data is temporarily stored in the RAM 540. Thereafter, image processing for each filter row is executed, and when the respective evaluation values are calculated, the evaluation values are sequentially stored in the area 1050.

すなわち、図10(B)に示されるように、当該フィルタ列を用いて行なった画像処理の評価値は、領域1050に格納される。したがって、この評価値を参照することにより、予め定められた評価条件を満足するフィルタ列が抽出される。   That is, as shown in FIG. 10B, the evaluation value of the image processing performed using the filter row is stored in the area 1050. Therefore, by referring to this evaluation value, a filter string that satisfies a predetermined evaluation condition is extracted.

このようにすると、一世代においてフィルタ列の評価値が最大となるフィルタ列の組み合わせを親として、遺伝的アルゴリズムによって次世代のフィルタ列を生成することができる。これにより、優秀なフィルタ列の探索が可能になる。この場合、能力値が同程度のフィルタ列の中から負荷の小さいフィルタ列を親として選択することにより、より効果の高いフィルタ列を生成することができる。   In this way, it is possible to generate a next-generation filter string by a genetic algorithm with a combination of filter strings that maximizes the evaluation value of the filter string in one generation as a parent. This makes it possible to search for an excellent filter row. In this case, a filter row having a higher effect can be generated by selecting, as a parent, a filter row having a small load from among filter rows having similar ability values.

そこで、図11を参照して、能力値が同程度のフィルタ列からより効果の高いフィルタ列を生成する手法について説明する。図11は、能力値が同程度の複数のフィルタ列からなる親から次世代のフィルタ列が生成されるまでの推移を概念的に表わす図である。   Therefore, with reference to FIG. 11, a method for generating a more effective filter row from filter rows having the same capability value will be described. FIG. 11 is a diagram conceptually showing a transition from a parent composed of a plurality of filter columns having the same capability value until a next generation filter column is generated.

図11(A)に示されるように、まず、フィルタ列群が生成される。このフィルタ列群の中から、遺伝的アルゴリズムの親となるフィルタ列が選択される。このフィルタ列は、前述のように、たとえば能力値が近いフィルタ列のうち負荷の小さなフィルタ列である。このようなフィルタ列を親として選択することにより、図11(B)に示されるように、より効果の高いフィルタ列が次世代の要素として生成され、優秀なフィルタ列が短時間で生成される。   As shown in FIG. 11A, first, a filter row group is generated. From this filter string group, a filter string that is the parent of the genetic algorithm is selected. As described above, this filter row is a filter row having a small load, for example, among filter rows having close ability values. By selecting such a filter row as a parent, as shown in FIG. 11B, a more effective filter row is generated as a next-generation element, and an excellent filter row is generated in a short time. .

以上のようにして、本実施の形態に係るフィルタ列生成装置300によれば、フィルタ列の能力値と負荷値とからフィルタ列の評価値が算出される。当該評価値が最大となるフィルタ列の組み合わせを親として遺伝的アルゴリズムによる次世代生成を行なうことにより、局所解に陥ることなく、かつ優秀なフィルタの組み合わせを継承し、優秀なフィルタ列を探索することが可能となる。   As described above, according to the filter string generation device 300 according to the present embodiment, the evaluation value of the filter string is calculated from the capability value and the load value of the filter string. By generating the next generation using a genetic algorithm with the combination of the filter sequence that maximizes the evaluation value as a parent, the superior filter sequence is searched without inheriting the excellent filter combination without falling into a local solution. It becomes possible.

また、能力値が近いフィルタ列のうち負荷の小さいフィルタ列を親として選択することにより、効果の高いフィルタが次の世代の要素として生成され、優秀なフィルタ列を短時間で生成することができる。さらに、従来と同じ品質の答えが短時間で導出され得る。   Also, by selecting a filter row with a low load from among filter rows with similar ability values as a parent, a highly effective filter is generated as an element of the next generation, and an excellent filter row can be generated in a short time. . Furthermore, the same quality answer as before can be derived in a short time.

<第2の実施の形態>
以下、本発明の第2の実施の形態について説明する。本実施の形態に係るフィルタ列生成装置は、フィルタの数に基づいて算出される値(フィルタの数の逆数、あるいは定数からフィルタの数を減算して得られた値)に代えて、処理時間の逆数、あるいは、定数からピクセルの数を減算して得られた値を負荷値として算出する機能を有する点で、前述の第1の実施の形態に係るフィルタ列生成装置300と異なる。なお、本実施の形態に係るフィルタ列生成装置のハードウェア構成は、前述のフィルタ列生成装置300のハードウェア構成と同じである。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
<Second Embodiment>
Hereinafter, a second embodiment of the present invention will be described. The filter sequence generation device according to the present embodiment replaces the value calculated based on the number of filters (the reciprocal of the number of filters, or the value obtained by subtracting the number of filters from a constant) with the processing time Is different from the filter array generation device 300 according to the first embodiment described above in that it has a function of calculating a load value that is a value obtained by subtracting the number of pixels from a constant. Note that the hardware configuration of the filter string generation device according to the present embodiment is the same as the hardware configuration of the filter string generation device 300 described above. Their functions are the same. Therefore, description thereof will not be repeated here.

図12を参照して、本実施の形態に係るフィルタ列生成装置1200の構成について説明する。図12は、フィルタ列生成装置1200の機能的構成を表わすブロック図である。   With reference to FIG. 12, the structure of the filter row | line | column production | generation apparatus 1200 which concerns on this Embodiment is demonstrated. FIG. 12 is a block diagram showing a functional configuration of filter array generation device 1200.

フィルタ列生成装置1200は、図3に示される構成に対して、フィルタ数算出部340を有さない。フィルタ列生成装置1200は、処理時間算出部1240を含む。処理時間算出部1240は、フィルタ列を用いた処理に要する時間を算出する。この算出は、後述するように、当該フィルタ列に含まれるフィルタごとに予め導出された処理時間を加算することにより行なわれる。   The filter string generation device 1200 does not have the filter number calculation unit 340 in the configuration shown in FIG. The filter string generation device 1200 includes a processing time calculation unit 1240. The processing time calculation unit 1240 calculates the time required for processing using the filter array. This calculation is performed by adding a processing time derived in advance for each filter included in the filter row, as will be described later.

図13および図14を参照して、本実施の形態に係るフィルタ列生成装置1200のデータ構造について説明する。図13は、フィルタ列生成装置1200として機能するコンピュータシステム500のハードディスク550におけるデータの格納の一態様を表わす図である。ハードディスク550は、データを格納する領域1310,1320を含む。これらの領域は相互に関連付けられている。   With reference to FIG. 13 and FIG. 14, the data structure of filter sequence generation apparatus 1200 according to the present embodiment will be described. FIG. 13 is a diagram illustrating an aspect of data storage in the hard disk 550 of the computer system 500 that functions as the filter row generation apparatus 1200. Hard disk 550 includes areas 1310 and 1320 for storing data. These areas are related to each other.

フィルタ番号は、フィルタを識別するデータとして、領域1310に格納されている。当該フィルタを画像データに適用して画像処理を実行した場合に要する処理時間は、領域1320に格納されている。したがって、フィルタ番号によりフィルタを特定することにより、当該フィルタの処理時間が検出される。この処理時間に基づいて算出される値は、フィルタ列の負荷値として使用される。   The filter number is stored in area 1310 as data for identifying the filter. The processing time required when image processing is executed by applying the filter to the image data is stored in area 1320. Therefore, the processing time of the filter is detected by specifying the filter by the filter number. The value calculated based on this processing time is used as the load value of the filter row.

図14および図15を参照して、本実施の形態に係るフィルタ列生成装置1200のデータ構造について説明する。図14および図15は、それぞれ、RAM540におけるデータの格納の一態様を表わす図である。RAM540は、データを格納する領域1410〜1450を含む。   With reference to FIG. 14 and FIG. 15, the data structure of filter sequence generation apparatus 1200 according to the present embodiment will be described. FIG. 14 and FIG. 15 are diagrams showing one mode of data storage in RAM 540, respectively. The RAM 540 includes areas 1410 to 1450 for storing data.

図14に示されるように、フィルタ列を識別するためのデータは、領域1410に格納されている。このデータは、たとえばフィルタ列の番号が用いられる。当該フィルタ列に含まれるフィルタの内容を特定するためのデータは、領域1420に格納されている。このデータは、たとえばフィルタ列に含まれるフィルタを識別するデータによって実現される。フィルタ列の能力値は、領域1430に格納される。フィルタ列を適用した画像処理に要する処理時間は、領域1440に格納されている。この処理時間は、すなわち当該フィルタ列に含まれる各フィルタの処理時間の和に相当する。当該フィルタ列についての評価値は、領域1450に格納される。図12に示されるような機能が実現されると、能力値が算出され、さらに評価値が算出される。その結果、領域1430および領域1450には、その値が格納されることになる。   As shown in FIG. 14, data for identifying the filter column is stored in an area 1410. For example, the filter column number is used as this data. Data for specifying the content of the filter included in the filter column is stored in area 1420. This data is realized by data for identifying a filter included in the filter row, for example. The capability value of the filter column is stored in area 1430. The processing time required for the image processing to which the filter row is applied is stored in the area 1440. This processing time corresponds to the sum of the processing times of the filters included in the filter row. The evaluation value for the filter column is stored in area 1450. When the function as shown in FIG. 12 is realized, the ability value is calculated, and further the evaluation value is calculated. As a result, the values are stored in area 1430 and area 1450.

すなわち、図15(A)に示されるように、各フィルタ列の能力値は、領域1430に順次書込まれる。さらに、領域1430における能力値と領域1440における処理時間とに基づいて、評価値が算出される。評価値は、たとえば算式「評価値=能力値+(100−処理時間)/1000」により算出される。図15(B)に示されるように、評価値は、領域1450にそれぞれ格納される。   That is, as shown in FIG. 15A, the capability value of each filter row is sequentially written in area 1430. Furthermore, an evaluation value is calculated based on the capability value in area 1430 and the processing time in area 1440. The evaluation value is calculated by, for example, the formula “evaluation value = ability value + (100−processing time) / 1000”. As shown in FIG. 15B, the evaluation values are stored in the area 1450, respectively.

たとえば、フィルタ列番号「2」のフィルタ列に関し、評価値=0.85+(100−81)/1000より、評価値「0.869」が得られる。また、フィルタ列番号「7」のフィルタ列に関し、評価値=0.82+(100−35)/1000より、評価値「0.885」が得られる。   For example, the evaluation value “0.869” is obtained from the evaluation value = 0.85 + (100−81) / 1000 for the filter row with the filter row number “2”. Further, with respect to the filter row with the filter row number “7”, the evaluation value “0.885” is obtained from the evaluation value = 0.82 + (100−35) / 1000.

以上のようにして、本実施の形態に係るフィルタ列生成装置によれば、1世代においてフィルタ列の評価値が最大となるようなフィルタ列が生成される。このフィルタ列の組み合わせを親として、遺伝的アルゴリズムにより次世代生成を行なうことが可能となり、優秀なフィルタ列探索が可能となる。さらに、能力値が近いフィルタ列のうち負荷の小さいフィルタ列を親として選択することによって、より効果の高いフィルタが次の世代の要素として生成され、優秀なフィルタ列を短時間で生成することができる。また従来と同じ品質の答えを短時間で導出することが可能になる。   As described above, according to the filter train generation device according to the present embodiment, a filter train that produces the maximum evaluation value of the filter train in one generation is generated. With this combination of filter rows as a parent, it is possible to generate the next generation by a genetic algorithm, and an excellent filter row search becomes possible. Furthermore, by selecting a filter row with a low load from among filter rows with similar ability values as a parent, a more effective filter can be generated as an element of the next generation, and an excellent filter row can be generated in a short time. it can. In addition, it is possible to derive an answer with the same quality as before in a short time.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

原画像に対して予め準備された画像処理を用いて結果画像を得るための処理を概念的に表わす図である。It is a figure which represents notionally the process for obtaining a result image using the image process prepared with respect to the original image previously. 複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。It is a figure showing the aspect which selects the filter row | line for using for an image processing apparatus by selecting sequentially the filter row | line | column which consists of a some filter by the predetermined evaluation criteria. フィルタ列生成装置300の機能的構成を表わすブロック図である。3 is a block diagram illustrating a functional configuration of a filter string generation device 300. FIG. 記憶部320におけるデータの格納の一態様を概念的に表わす図である。FIG. 3 is a diagram conceptually illustrating one aspect of data storage in a storage unit 320. コンピュータシステム500のハードウェア構成を表わすブロック図である。2 is a block diagram illustrating a hardware configuration of a computer system 500. FIG. フィルタ列生成装置300として機能するコンピュータシステム500のCPU510が実行する基本処理の手順を表わすフローチャートである。10 is a flowchart showing a procedure of basic processing executed by CPU 510 of computer system 500 functioning as filter row generation apparatus 300. フィルタ列群を評価するためにCPU510が実行する処理の手順を表わすフローチャートである。It is a flowchart showing the procedure of the process which CPU510 performs in order to evaluate a filter row group. 画像データからフィルタ列の評価値を算出するまでの処理について説明する。A process until the evaluation value of the filter row is calculated from the image data will be described. フィルタ列生成装置300として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図(その1)である。FIG. 10 is a diagram (part 1) showing one mode of data storage in RAM 540 of computer system 500 that functions as filter train generation device 300; フィルタ列生成装置300として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図(その2)である。FIG. 10 is a diagram (part 2) showing one mode of data storage in RAM 540 of computer system 500 functioning as filter train generation device 300; 能力値が同程度の複数のフィルタ列からなる親から次世代のフィルタ列が生成されるまでの推移を概念的に表わす図である。It is a figure which represents notionally the transition until the next generation filter row | line | column is produced | generated from the parent which consists of several filter row | line | columns with the same capability value. 本発明の第2の実施の形態に係るフィルタ列生成装置1200の機能的構成を表わすブロック図である。It is a block diagram showing the functional structure of the filter row | line | column production | generation apparatus 1200 which concerns on the 2nd Embodiment of this invention. フィルタ列生成装置1200として機能するコンピュータシステム500のハードディスク550におけるデータの格納の一態様を表わす図である。It is a figure showing the one aspect | mode of the storage of the data in the hard disk 550 of the computer system 500 which functions as the filter row | line | column production | generation apparatus 1200. フィルタ列生成装置1200として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図(その1)である。FIG. 11 is a diagram (part 1) showing one mode of data storage in RAM 540 of computer system 500 functioning as filter train generation device 1200; フィルタ列生成装置1200として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図(その2)である。FIG. 11 is a diagram (part 2) showing one mode of data storage in RAM 540 of computer system 500 functioning as filter train generation device 1200;

符号の説明Explanation of symbols

300,1200 フィルタ列生成装置、310 入力部、320 記憶部、330,1230 演算部、331 条件入力部、332 フィルタ列能力値算出部、333 フィルタ列負荷値算出部、334 フィルタ列評価値算出部、335 親フィルタ列抽出部、336 次世代生成部、337 優秀フィルタ列出力部、340 フィルタ数算出部、350 出力部、500 コンピュータシステム、510 CPU、520 マウス、530 キーボード、540 RAM、550 ハードディスク、570 CD−ROM駆動装置、572 CD−ROM、580 モニタ、590 通信IF、592 ネットワーク、1240 処理時間算出部。   300, 1200 Filter column generation device, 310 input unit, 320 storage unit, 330, 1230 calculation unit, 331 condition input unit, 332 filter column capability value calculation unit, 333 filter column load value calculation unit, 334 filter column evaluation value calculation unit 335 parent filter column extraction unit, 336 next generation generation unit, 337 excellent filter column output unit, 340 filter number calculation unit, 350 output unit, 500 computer system, 510 CPU, 520 mouse, 530 keyboard, 540 RAM, 550 hard disk, 570 CD-ROM drive, 572 CD-ROM, 580 monitor, 590 communication IF, 592 network, 1240 processing time calculation unit.

Claims (12)

画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出する能力値算出手段を備え、各前記フィルタ列は、複数のフィルタを含み、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出する負荷値算出手段と、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出する評価値算出手段と、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出する抽出手段と、
前記抽出手段によって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する生成手段とを備える、フィルタ列生成装置。
For each of a plurality of filter columns used for image processing, it comprises capability value calculation means for calculating a capability value representing the capability of the image processing, each filter column including a plurality of filters,
Load value calculating means for calculating a load value representing a load on the image processing using the filter row for each of the plurality of filter rows;
Evaluation value calculating means for calculating an evaluation value for evaluating the filter string based on the capability value and the load value for each of the plurality of filter strings;
Extracting means for extracting a filter row from each of the filter rows based on the evaluation values calculated for each of the plurality of filter rows;
A filter sequence generation device comprising: generation means for generating a filter sequence of the next generation according to a genetic algorithm, with the filter sequence extracted by the extraction means as a parent generation.
画像処理の対象となる原画像データと前記原画像データに対する画像処理を行なうことにより導出される画像として予め準備された目標画像データの入力を受け付ける入力手段をさらに備え、
前記能力値算出手段は、前記画像処理手段による画像処理の結果として得られる結果画像データと前記原画像データとに基づいて前記能力値を算出する、請求項1に記載のフィルタ列生成装置。
The image processing apparatus further includes input means for receiving input of target image data prepared in advance as original image data to be subjected to image processing and an image derived by performing image processing on the original image data,
The filter row generation device according to claim 1, wherein the capability value calculation unit calculates the capability value based on result image data obtained as a result of image processing by the image processing unit and the original image data.
前記能力値算出手段は、前記結果画像データと前記原画像データとの差分を前記能力値として算出する、請求項2に記載のフィルタ列生成装置。   The filter row generation device according to claim 2, wherein the capability value calculation means calculates a difference between the result image data and the original image data as the capability value. 前記結果画像データに基づく第1の特徴量と、前記原画像データに基づく第2の特徴量とを算出する特徴量算出手段をさらに備え、
前記能力値算出手段は、前記第1の特徴量と前記第2の特徴量とに基づいて前記能力値を算出する、請求項2に記載のフィルタ列生成装置。
A feature amount calculating means for calculating a first feature amount based on the result image data and a second feature amount based on the original image data;
The filter row generation device according to claim 2, wherein the capability value calculation unit calculates the capability value based on the first feature amount and the second feature amount.
前記評価値算出手段は、予め定められた割合で前記能力値と前記負荷値とを加算することにより前記評価値を算出する演算手段を含む、請求項1に記載のフィルタ列生成装置。   The filter string generation device according to claim 1, wherein the evaluation value calculation unit includes a calculation unit that calculates the evaluation value by adding the capability value and the load value at a predetermined ratio. 前記演算手段は、
前記能力値の次元と前記負荷値の次元とを同一の次元に変換する無次元化手段と、
前記同一の次元に変換された能力値と負荷値との線形和を算出する線形和算出手段とを含む、請求項5に記載のフィルタ列生成装置。
The computing means is
Dimensionless means for converting the dimension of the capability value and the dimension of the load value into the same dimension;
The filter row generation device according to claim 5, further comprising: a linear sum calculation unit that calculates a linear sum of the capability value converted into the same dimension and a load value.
前記負荷値算出手段は、前記フィルタ列に含まれるフィルタの数に基づいて前記負荷値を算出する、請求項1に記載のフィルタ列生成装置。   The filter sequence generation device according to claim 1, wherein the load value calculation unit calculates the load value based on the number of filters included in the filter sequence. 前記負荷値算出手段は、前記フィルタ列を用いた画像処理に要する処理時間に基づいて前記負荷値を算出する、請求項1に記載のフィルタ列生成装置。   The filter row generation device according to claim 1, wherein the load value calculation unit calculates the load value based on a processing time required for image processing using the filter row. 予め設定された終了条件の入力を受け付ける入力手段と、
前記終了条件が成立した場合に前記評価値が最大のフィルタ列を出力する出力手段とをさらに備える、請求項1に記載のフィルタ列生成装置。
An input means for receiving an input of a preset end condition;
The filter string generation device according to claim 1, further comprising: an output unit that outputs a filter string having the maximum evaluation value when the termination condition is satisfied.
画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出するステップを備え、各前記フィルタ列は、複数のフィルタを含み、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出するステップと、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出するステップと、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出するステップと、
前記抽出ステップによって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを備える、フィルタ列生成方法。
For each of a plurality of filter columns used for image processing, the method includes a step of calculating a capability value representing the capability of the image processing, each filter column including a plurality of filters,
For each of the plurality of filter rows, calculating a load value representing a load on the image processing using the filter row;
For each of the plurality of filter rows, calculating an evaluation value for evaluating the filter row based on the capability value and the load value;
Extracting a filter row from each of the filter rows based on the evaluation values calculated for each of the plurality of filter rows;
And generating a next generation filter sequence according to a genetic algorithm, with the filter sequence extracted in the extraction step as a parent generation.
コンピュータをフィルタ列生成装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
画像処理に用いられる複数のフィルタ列の各々について、前記画像処理の能力を表わす能力値を算出するステップを実行させ、各前記フィルタ列は、複数のフィルタを含み、
前記プログラムは前記コンピュータに、さらに、
前記複数のフィルタ列の各々について、前記フィルタ列を用いた前記画像処理に対する負荷を表わす負荷値を算出するステップと、
前記複数のフィルタ列の各々について、前記能力値と前記負荷値とに基づいて、前記フィルタ列を評価するための評価値を算出するステップと、
前記複数のフィルタ列の各々について算出された各前記評価値に基づいて、各前記フィルタ列の中からフィルタ列を抽出するステップと、
前記抽出ステップによって抽出された前記フィルタ列を親の世代として、遺伝的アルゴリズムに従って次の世代のフィルタ列を生成するステップとを実行させる、プログラム。
A program for causing a computer to function as a filter row generation device, wherein the program causes the computer to
For each of a plurality of filter columns used for image processing, the step of calculating a capability value representing the capability of the image processing is executed, each filter column including a plurality of filters,
The program is further stored on the computer,
For each of the plurality of filter rows, calculating a load value representing a load on the image processing using the filter row;
For each of the plurality of filter rows, calculating an evaluation value for evaluating the filter row based on the capability value and the load value;
Extracting a filter row from each of the filter rows based on the evaluation values calculated for each of the plurality of filter rows;
A program for executing the step of generating a filter string of the next generation according to a genetic algorithm, with the filter string extracted in the extraction step as a parent generation.
請求項11に記載のプログラムを格納した、コンピュータ読み取り可能な記録媒体。   A computer-readable recording medium storing the program according to claim 11.
JP2006186920A 2006-07-06 2006-07-06 Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium Withdrawn JP2008015824A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006186920A JP2008015824A (en) 2006-07-06 2006-07-06 Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006186920A JP2008015824A (en) 2006-07-06 2006-07-06 Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium

Publications (1)

Publication Number Publication Date
JP2008015824A true JP2008015824A (en) 2008-01-24

Family

ID=39072767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006186920A Withdrawn JP2008015824A (en) 2006-07-06 2006-07-06 Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium

Country Status (1)

Country Link
JP (1) JP2008015824A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026945A (en) * 2008-07-23 2010-02-04 Nikon Corp Device and method for image filter generation, and program
JP2010026944A (en) * 2008-07-23 2010-02-04 Nikon Corp Device and method for image filter generation, and program
JP2010244340A (en) * 2009-04-07 2010-10-28 Nikon Corp Hereditary processor, hereditary processing method, and program
JP2010244363A (en) * 2009-04-07 2010-10-28 Nikon Corp Hereditary processor, hereditary processing method, and program
JP2010244364A (en) * 2009-04-07 2010-10-28 Nikon Corp Genetic processing apparatus, genetic processing method and program
JP2010257257A (en) * 2009-04-24 2010-11-11 Nikon Corp Apparatus and method for processing hereditary, and program
JP2010257067A (en) * 2009-04-22 2010-11-11 Nikon Corp Apparatus and method for processing hereditary, and program
JP2010262407A (en) * 2009-04-30 2010-11-18 Nikon Corp Genetic processor, genetic processing method, and program
JP2011022797A (en) * 2009-07-15 2011-02-03 Nikon Corp Image processing apparatus, method and program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026945A (en) * 2008-07-23 2010-02-04 Nikon Corp Device and method for image filter generation, and program
JP2010026944A (en) * 2008-07-23 2010-02-04 Nikon Corp Device and method for image filter generation, and program
JP2010244340A (en) * 2009-04-07 2010-10-28 Nikon Corp Hereditary processor, hereditary processing method, and program
JP2010244363A (en) * 2009-04-07 2010-10-28 Nikon Corp Hereditary processor, hereditary processing method, and program
JP2010244364A (en) * 2009-04-07 2010-10-28 Nikon Corp Genetic processing apparatus, genetic processing method and program
JP2010257067A (en) * 2009-04-22 2010-11-11 Nikon Corp Apparatus and method for processing hereditary, and program
JP2010257257A (en) * 2009-04-24 2010-11-11 Nikon Corp Apparatus and method for processing hereditary, and program
JP2010262407A (en) * 2009-04-30 2010-11-18 Nikon Corp Genetic processor, genetic processing method, and program
JP2011022797A (en) * 2009-07-15 2011-02-03 Nikon Corp Image processing apparatus, method and program

Similar Documents

Publication Publication Date Title
EP3483767B1 (en) Device for detecting variant malicious code on basis of neural network learning, method therefor, and computer-readable recording medium in which program for executing same method is recorded
JP2008015824A (en) Filter line generation device, filter line generation method, program for making computer function as filter line generation device, and storage medium
JP6781415B2 (en) Neural network learning device, method, program, and pattern recognition device
CN111242071B (en) Attention remote sensing image target detection method based on anchor frame
US8331655B2 (en) Learning apparatus for pattern detector, learning method and computer-readable storage medium
KR102169242B1 (en) Machine Learning Method for Restoring Super-Resolution Image
CN107122327B (en) Method and training system for training model by using training data
CN109711401B (en) Text detection method in natural scene image based on Faster Rcnn
JP2018022473A (en) Learning device, identification device, learning identification system, and program
WO2020240809A1 (en) Learning device, classification device, learning method, classification method, learning program, and classification program
CN114529825A (en) Target detection model, method and application for fire fighting channel occupation target detection
JP4915341B2 (en) Learning apparatus and method, image processing apparatus and method, and program
CN111382758A (en) Training image classification model, image classification method, device, equipment and medium
US11562294B2 (en) Apparatus and method for analyzing time-series data based on machine learning
JP7172612B2 (en) Data expansion program, data expansion method and data expansion device
CN115661480A (en) Image anomaly detection method based on multi-level feature fusion network
JP5777390B2 (en) Information processing method and apparatus, pattern identification method and apparatus
US20180218487A1 (en) Model generation apparatus, evaluation apparatus, model generation method, evaluation method, and storage medium
KR102364865B1 (en) A method and apparatus for determining whether the product is defective or not
JPWO2019215904A1 (en) Predictive model creation device, predictive model creation method, and predictive model creation program
US20220366242A1 (en) Information processing apparatus, information processing method, and storage medium
JP4834693B2 (en) Pattern recognition parameter learning device, pattern recognition device, and pattern recognition parameter learning method
CN114202765A (en) Image text recognition method and storage medium
JP2007034719A (en) Image processor and image processing method
JP2007213441A (en) Multivariable decision tree construction system, multivariable decision tree construction method and program for constructing multivariable decision tree

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091006