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 PDFInfo
- 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
Links
Images
Abstract
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号公報に開示された画像認識アルゴリズム生成装置によると、画像処理プログラムモジュールが蓄積され、検索条件に従って高い評価値を示す認識アルゴリズムが検索される。そのため、画像認識アルゴリズムの開発者が、特徴抽出処理の手順あるいは特徴抽出処理のパラメータによって異なる特徴抽出方法の性質を詳細に知らない場合であっても、高い識別率を実現する画像認識アルゴリズムを見つけることができる。
上記のような技術では、求めるフィルタ列の評価は、フィルタ列を用いて出力した結果画像の内容により決定される。つまり、所望の処理結果を出力するフィルタ列として能力の高いものを探索することはできるが、フィルタ列を用いて出力した結果画像で評価しているため、能力は高いが処理負荷の重いフィルタ列が生成される可能性がある。 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
フィルタ処理が実行される場合、原画像100が画像処理装置に対して最初に与えられる。原画像100に対応する目標画像も同様に与えられる。ここで、目標画像とは、原画像100を処理することにより得られる画像として期待される画像である。
When the filtering process is executed, the
図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
この場合、結果画像120が予め設定された目標画像に近い場合、すなわち結果画像120と目標画像とをそれぞれ定量化し、各々の値の差が予め定められた基準値よりも小さい場合には、結果画像120を得るために使用された各フィルタの列は、画像処理を実現するためのアルゴリズムに近いものと判断される。
In this case, when the
図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
第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
図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
図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
入力部310は、データの入力を受け付ける。データには、画像処理の対象となる原画像データが含まれる。記憶部320は、入力部310を介して入力されたデータと、演算部330による演算処理により生成されたデータと、予め準備されたデータとを格納している。予め準備されたデータには、フィルタ列生成装置300の動作を規定するために設定されるデータと、後述する各処理を実現するためのプログラムとが含まれる。記録部320は、さらに、画像処理のために予め準備された複数のフィルタを格納している。
The
演算部330は、条件入力部331と、フィルタ列能力値算出部332と、フィルタ列負荷値算出部333と、フィルタ列評価値算出部334と、親フィルタ列抽出部335と、次世代生成部336と、優秀フィルタ列出力部337とを備える。フィルタ列負荷値算出部333は、フィルタ数算出部340を含む。
The
条件入力部331は、入力部310を介して入力された処理条件を記憶部320において予め確保された領域に格納する。また、条件入力部331は、フィルタ列を生成する処理の終了条件の入力を受け、その条件を優秀フィルタ列出力部337に対して適用する。フィルタ列は、前述のフィルタを複数有する。フィルタ列は、組み合わせの対象となるフィルタを変更することにより、予め準備されたフィルタの範囲内で生成可能である。
The
フィルタ列能力値算出部332は、各フィルタ列による画像処理の能力を表わす能力値を算出する。フィルタ列負荷値算出部333は、各フィルタ列を適用した画像処理に対する負荷を表わす負荷値を算出する。たとえば、フィルタ数算出部340は、記憶部320に格納されているフィルタ列に基づいて、当該フィルタ列を構成するフィルタの数を用いて、負荷値を算出する。具体的には、フィルタ数算出部340は、フィルタの数の逆数を計算する。あるいは、フィルタ数算出部340は、予め設定された定数からフィルタ数を減算して、負荷値を算出する。
The filter column capability
フィルタ列評価値算出部334は、フィルタ列能力値算出部333により算出された能力値とフィルタ列負荷値算出部333により算出された負荷値とに基づいてそのフィルタ列を評価するための評価値を算出する。好ましくは、ある局面において、フィルタ列評価値算出部334は、予め定められた割合で能力値と負荷値とを加算することにより評価値を算出する。評価値は、たとえば、算式「評価値=a×能力値+b×負荷値」(a,bは定数)として導出される。
The filter column evaluation
また、他の局面において、能力値および/または負荷値の大小関係と、評価値の大小関係とが逆比例の関係となる場合がある。この場合、フィルタ列評価値算出部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
具体的には、フィルタ列評価値算出部334は、いわゆる多目的最適化問題の観点から、同一の次元に変換することなく評価値を算出する。この場合、複数の目的関数によって定式化された最適化問題となり、一般に完全な最適解は得られないが、いわゆるパレート最適解として複数の解が得られる。なお、多目的最適化問題あるいはパレート最適解については、当業者にとって周知の事項である。したがって、ここではそれらについての詳細な説明は繰り返さない。
Specifically, the filter column evaluation
あるいは、フィルタ列評価値算出部334は、能力値の次元と負荷値の次元とを同一の次元に変換し、同一の次元に変換された能力値と負荷値との線形和を算出する。
Alternatively, the filter string evaluation
親フィルタ列抽出部335は、フィルタ列評価値算出部334により算出された評価値に基づいて各フィルタ列の中から予め設定された抽出条件を満足するフィルタ列を抽出する。好ましくは、親フィルタ列抽出部335は、当該評価値が最大となるフィルタ列を抽出する。
Based on the evaluation value calculated by the filter column evaluation
次世代生成部336は、親フィルタ列抽出部335によって抽出されたフィルタ列を親の世代として、周知の遺伝的アルゴリズムに従って次の世代のフィルタ列を生成する。優秀フィルタ列出力部337は、次世代生成部336によって生成されたフィルタ列について算出された評価値が最大のフィルタ列を出力する。優秀フィルタ列出力部337は、好ましくは予め設定された終了条件が成立した場合に、上記の評価値が最大となるフィルタ列を出力する。
The next
図4を参照して、フィルタ列生成装置300のデータ構造について説明する。図4は、記憶部320におけるデータの格納の一態様を概念的に表わす図である。
With reference to FIG. 4, the data structure of the filter
記憶部320は、プログラムを格納する領域410と、データを格納する領域420とを含む。領域410は、さらに各プログラムを格納するための領域411から417を含む。条件入力プログラムは、領域411に格納されている。このプログラムは、外部から入力される条件データを予め確保された領域に格納する。またこのプログラムは、その条件データが参照される他のプログラムに対して関連付けを行なう。
フィルタ列能力値算出プログラムは、領域412に格納されている。このプログラムが実行されると、図3に示される演算部330は、フィルタ列能力値算出部332として機能する。
The filter column capability value calculation program is stored in
フィルタ列負荷値算出プログラムは、領域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
図4を再び参照して、領域420は、画像処理に使用されるデータを格納する領域421から424を含む。フィルタ列を表わすデータは、領域421に格納されている。たとえば、フィルタ列421−1から421−NまでのN個のフィルタ列が領域421に格納されている。
Referring back to FIG. 4, the
画像処理のためのフィルタデータは、領域422に格納されている。たとえばn個のフィルタデータ422−1から422−nが領域422に格納されている。
Filter data for image processing is stored in
画像データは、領域423に格納されている。画像処理の対象となる原画像データは、領域423aに格納されている。原画像に対する画像処理を行なうことにより導出される画像として予め準備された目標画像のデータは、領域423bに格納されている。画像処理中の画像データは、領域423cに格納されている。このデータは、たとえばフィルタ列を適用した画像処理の実行中に、各フィルタについての処理が完了し次の処理が実行されるまで一時的に生成されるデータである。
Image data is stored in
その他のデータは、領域424に格納されている。その他のデータには、フィルタ列を抽出するために予め設定された抽出条件、画像処理の繰り返し回数を規定するために予め入力された終了条件などが含まれる。
Other data is stored in
ここで、図5を参照して、フィルタ列生成装置300として作動するコンピュータシステム500について説明する。図5は、コンピュータシステム500のハードウェア構成を表わすブロック図である。
Here, with reference to FIG. 5, a
コンピュータシステム500は、相互にデータバスにより接続されたCPU510と、外部から指示の入力を受けるためのマウス520およびキーボード530と、外部から入力されるデータあるいはCPU510によって一時的に生成されるデータを格納するRAM540と、データを不揮発的に格納するハードディスク550と、CD−ROM駆動装置570と、モニタ580と、通信IF(interface)590とを含む。CD−ROM駆動装置570には、CD−ROM572が装着される。コンピュータシステム500は、ネットワーク592に接続されているが、接続されていなくてもよい。
The
コンピュータシステム500における処理は、各ハードウェアおよびCPU510により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク550に予め記憶されている場合がある。あるいは、ソフトウェアは、CD−ROM572その他の記録媒体に格納されて、プログラム製品として流通している場合もある。さらに、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。
The processing in the
このようなソフトウェアは、CD−ROM駆動装置570その他の読取装置によりその記録媒体から読み取られた後、あるいは、通信IF590を介してダウンロードされた後、ハードディスク550に一旦格納される。そのソフトウェアは、CPU510によってハードディスク550から読み出され、RAM540に実行可能なプログラムの形式で格納される。CPU510は、RAM540からそのプログラムを読み出して、実行する。
Such software is temporarily stored in the
図5に示されるコンピュータシステム500を構成する各ハードウェアは、一般的なものである。したがって、本発明に係るフィルタ列生成装置300の演算部330を実現する最も本質的な部分は、RAM540、ハードディスク550、CD−ROM572その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。
Each hardware constituting the
なお、コンピュータシステム500の各ハードウェアの動作は周知であるので、その詳細な説明は述べない。
Since the operation of each hardware of the
図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
ステップS610にて、CPU510は、外部から入力された条件データに基づいて、画像処理を規定する条件を設定する。具体的には、CPU510は、マウス520、キーボード530、FD駆動装置560、CD−ROM駆動装置570、あるいは通信IF590を介して入力されたデータを、ハードディスク550において予め確保された領域に格納する。
In step S610,
ステップS620にて、CPU510は、ハードディスク550に格納されているデータに基づいてフィルタを組み合わせることにより初期世代の複数のフィルタ列を生成する。
In step S620,
ステップS700にて、CPU510は、後述するフィルタ列群評価処理を実行する。この処理が実行されると、各フィルタ列の評価値が算出される。
In step S700,
ステップS630にて、CPU510は、予め設定された終了条件が成立しているか否かを判断する。終了条件が成立している場合には(ステップS630にてYES)、処理は終了する。そうでない場合には(ステップS630にてNO)、処理はステップS640に移される。
In step S630,
ステップS640にて、CPU510は、先に生成したフィルタ列群の評価値に基づいて親フィルタ列を選定する。この選定は、たとえば各フィルタ列の評価値の中から最大値となる評価値を有するフィルタ列を特定することにより行なわれる。
In step S640,
ステップS650にて、CPU510は、遺伝的アルゴリズムを用いて親フィルタ列から次の世代のフィルタ列群を生成する。その後、処理はステップS700に戻される。
In step S650,
図7は、フィルタ列群を評価するためにCPU510が実行する処理の手順を表わすフローチャートである。
FIG. 7 is a flowchart showing a procedure of processing executed by
ステップS710にて、CPU510は、生成されたフィルタ列群に含まれる各フィルタ列の能力値を算出する。CPU510は、具体的には、ハードディスク550に格納されている原画像データと画像処理の結果として得られる結果画像データとに基づいて能力値を算出する。たとえばCPU550は、結果画像データと原画像データとの差分を算出する。あるいは他の局面においては、CPU510は、結果画像データに基づく第1の特徴量と原画像データに基づく第2の特徴量とをそれぞれ算出する。CPU510は、これらの特徴量を用いて能力値を算出する。特徴量には、目標画像データから抽出された特徴領域の特徴量が含まれる。この特徴量には、たとえば画像データから検出の対象となる検出物の位置、検出物のコントラスト、大きさなどが含まれる。
In step S710,
ステップS720にて、CPU510は、当該フィルタ列の負荷値を算出する。具体的には、CPU510は、処理の対象となっているフィルタ列に含まれるフィルタの数を特定し、その数をRAM540において予め確保された領域に格納する。
In step S720,
ステップS730にて、CPU510は、当該フィルタ列の評価値を算出する。CPU510は、ステップS710において算出した能力値の次元がステップS720にて算出した負荷値の次元と異なる場合には、能力値の次元と負荷値の次元とを揃えるための演算を実行する。たとえば能力値がピクセルの数の逆数、あるいは、定数からピクセルの数を減算して得られた値として表わされ、また、負荷値がフィルタの数の逆数、あるいは、定数からフィルタの数を減算して得られた値として表わされる場合、CPU510は、予め同定された定数を用いてピクセルの数とフィルタの数との次元を規格化するための処理を実行する。
In step S730,
ステップS740にて、CPU510は、予め設定された終了条件が成立しているか否かを判断かを判断する。終了条件が成立している場合には(ステップS740にてYES)、処理はメイン処理に戻される。そうでない場合には(ステップS740にてNO)、処理はステップS710に戻される。
In step S740,
ここで、図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
原画像820に対してフィルタ列830が適用されると、結果画像850が導出される。フィルタ列830は、前述のように複数のフィルタからなり、フィルタの組み合わせを変更することにより、複数のフィルタ列830が生成される。原画像820には、各々のフィルタ列を用いた画像処理が適用される。
When the
目標画像810と結果画像850との差分が算出される。ここで差分860は、目標画像810のデータと結果画像850のデータとの絶対値としての差分である。差分860は、この場合差として算出されたピクセル数を含む。このピクセル数からフィルタ列能力値870が導出される。具体的には、ピクセル数の逆数が計算される。あるいは、予め設定された定数からピクセル数が減算され、能力値が算出される。あるいは、他の局面においては、ピクセル数そのものを能力値とする代わりに、差分ピクセル数/画像全体のピクセル数を能力値としてもよい。
The difference between the
なお、評価値の算出は、能力値及び/または負荷値の大小関係にあわせて、能力値および負荷値の線形和、あるいは能力値の逆数及び/または負荷値の逆数の線形和として算出される。 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
次に、図9および図10を参照して、フィルタ列生成装置300のデータ構造について説明する。図9は、フィルタ列生成装置300として機能するコンピュータシステム500のRAM540におけるデータの格納の一態様を表わす図である。RAM540は、テーブル900を含む。テーブル900は、データを格納する領域910〜950を含む。
Next, the data structure of the filter
フィルタ列を識別するためのフィルタ列番号は、領域910に格納されている。たとえばN個のフィルタ列が生成されている場合には、「1」から「N」までの数値がそれぞれ領域910に格納されている。フィルタ列に含まれるフィルタの内容を表わすためのデータは、領域920に格納されている。たとえば各フィルタ列に含まれるフィルタを識別するデータが、フィルタの配列順に従って領域920に格納されている。
A filter column number for identifying the filter column is stored in
画像処理の実行時に算出された能力値を表わすデータは、領域930に格納されている。当該フィルタ列に含まれるフィルタの数は、領域940に格納されている。前述の画像処理の結果算出された評価値は、領域950に格納されている。このようにフィルタ列群に含まれる各々のフィルタ列についての処理が完了すると各フィルタ列についてのデータがそれぞれの領域に格納され、テーブル900が生成される。各データは、領域910に格納されているフィルタ列番号に関連付けられている。したがって、フィルタ列番号を特定すると、領域910〜950に格納されているデータが特定されることになる。
Data representing the ability value calculated when the image processing is executed is stored in
ここで、評価値の算出について説明する。評価値は、たとえば算式「評価値=能力値+(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
フィルタ列を識別するためのデータは、領域1010に格納されている。当該フィルタ列に含まれるフィルタを特定するためのデータは、そのフィルタ列におけるフィルタの配列に従って領域1020に格納されている。当該フィルタ列の能力値は、領域1030に格納されている。当該フィルタ列に含まれているフィルタの数は、領域1040に格納されている。ここで、「能力値」は、原画像をフィルタ列で処理することにより得られた画像と、目標画像との差によって規定される。この差が小さいほど、フィルタ列の能力は、高いことになる。たとえば、この差が「0」である場合、そのフィルタ列は、最も優秀な(あるいは理想的な)フィルタ列である。
Data for identifying the filter column is stored in
フィルタ列生成装置300が画像処理を開始すると、ハードディスク550に格納されているデータは、CPU510によって読み出され、そのデータはRAM540に一時的に格納される。その後、各フィルタ列についての画像処理が実行され、各々の評価値が算出されると、評価値は、領域1050に順次格納される。
When the filter
すなわち、図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
このようにすると、一世代においてフィルタ列の評価値が最大となるフィルタ列の組み合わせを親として、遺伝的アルゴリズムによって次世代のフィルタ列を生成することができる。これにより、優秀なフィルタ列の探索が可能になる。この場合、能力値が同程度のフィルタ列の中から負荷の小さいフィルタ列を親として選択することにより、より効果の高いフィルタ列を生成することができる。 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
また、能力値が近いフィルタ列のうち負荷の小さいフィルタ列を親として選択することにより、効果の高いフィルタが次の世代の要素として生成され、優秀なフィルタ列を短時間で生成することができる。さらに、従来と同じ品質の答えが短時間で導出され得る。 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
図12を参照して、本実施の形態に係るフィルタ列生成装置1200の構成について説明する。図12は、フィルタ列生成装置1200の機能的構成を表わすブロック図である。
With reference to FIG. 12, the structure of the filter row | line | column production |
フィルタ列生成装置1200は、図3に示される構成に対して、フィルタ数算出部340を有さない。フィルタ列生成装置1200は、処理時間算出部1240を含む。処理時間算出部1240は、フィルタ列を用いた処理に要する時間を算出する。この算出は、後述するように、当該フィルタ列に含まれるフィルタごとに予め導出された処理時間を加算することにより行なわれる。
The filter
図13および図14を参照して、本実施の形態に係るフィルタ列生成装置1200のデータ構造について説明する。図13は、フィルタ列生成装置1200として機能するコンピュータシステム500のハードディスク550におけるデータの格納の一態様を表わす図である。ハードディスク550は、データを格納する領域1310,1320を含む。これらの領域は相互に関連付けられている。
With reference to FIG. 13 and FIG. 14, the data structure of filter
フィルタ番号は、フィルタを識別するデータとして、領域1310に格納されている。当該フィルタを画像データに適用して画像処理を実行した場合に要する処理時間は、領域1320に格納されている。したがって、フィルタ番号によりフィルタを特定することにより、当該フィルタの処理時間が検出される。この処理時間に基づいて算出される値は、フィルタ列の負荷値として使用される。
The filter number is stored in
図14および図15を参照して、本実施の形態に係るフィルタ列生成装置1200のデータ構造について説明する。図14および図15は、それぞれ、RAM540におけるデータの格納の一態様を表わす図である。RAM540は、データを格納する領域1410〜1450を含む。
With reference to FIG. 14 and FIG. 15, the data structure of filter
図14に示されるように、フィルタ列を識別するためのデータは、領域1410に格納されている。このデータは、たとえばフィルタ列の番号が用いられる。当該フィルタ列に含まれるフィルタの内容を特定するためのデータは、領域1420に格納されている。このデータは、たとえばフィルタ列に含まれるフィルタを識別するデータによって実現される。フィルタ列の能力値は、領域1430に格納される。フィルタ列を適用した画像処理に要する処理時間は、領域1440に格納されている。この処理時間は、すなわち当該フィルタ列に含まれる各フィルタの処理時間の和に相当する。当該フィルタ列についての評価値は、領域1450に格納される。図12に示されるような機能が実現されると、能力値が算出され、さらに評価値が算出される。その結果、領域1430および領域1450には、その値が格納されることになる。
As shown in FIG. 14, data for identifying the filter column is stored in an
すなわち、図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
たとえば、フィルタ列番号「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.
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
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.
前記能力値算出手段は、前記第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.
前記能力値の次元と前記負荷値の次元とを同一の次元に変換する無次元化手段と、
前記同一の次元に変換された能力値と負荷値との線形和を算出する線形和算出手段とを含む、請求項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に記載のフィルタ列生成装置。 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.
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)
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 |
-
2006
- 2006-07-06 JP JP2006186920A patent/JP2008015824A/en not_active Withdrawn
Cited By (9)
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 |