JP6331914B2 - Algorithm generating apparatus, algorithm generating method and algorithm generating computer program - Google Patents

Algorithm generating apparatus, algorithm generating method and algorithm generating computer program Download PDF

Info

Publication number
JP6331914B2
JP6331914B2 JP2014189374A JP2014189374A JP6331914B2 JP 6331914 B2 JP6331914 B2 JP 6331914B2 JP 2014189374 A JP2014189374 A JP 2014189374A JP 2014189374 A JP2014189374 A JP 2014189374A JP 6331914 B2 JP6331914 B2 JP 6331914B2
Authority
JP
Japan
Prior art keywords
image processing
image
function
algorithm
combination
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.)
Active
Application number
JP2014189374A
Other languages
Japanese (ja)
Other versions
JP2016062269A (en
Inventor
高橋 文之
文之 高橋
毅 長門
毅 長門
哲男 肥塚
哲男 肥塚
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014189374A priority Critical patent/JP6331914B2/en
Publication of JP2016062269A publication Critical patent/JP2016062269A/en
Application granted granted Critical
Publication of JP6331914B2 publication Critical patent/JP6331914B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)

Description

本発明は、例えば、所望の処理を実現できるアルゴリズムを生成するアルゴリズム生成装置、アルゴリズム生成方法及びアルゴリズム生成用コンピュータプログラムに関する。   The present invention relates to, for example, an algorithm generation device, an algorithm generation method, and an algorithm generation computer program that generate an algorithm that can realize a desired process.

従来より、画像といった、処理対象となるデータに対して所望の処理を実現するためのアルゴリズムを自動的に生成する技術が提案されている(例えば、特許文献1及び2を参照)。   Conventionally, a technique for automatically generating an algorithm for realizing a desired process on data to be processed, such as an image, has been proposed (see, for example, Patent Documents 1 and 2).

例えば、特許文献1に開示されたプログラム合成装置は、プログラム部品の分類に基づき所望のプログラムの概略処理手順を指定し、その概略処理手順に対応するプログラム部品を選択して結合することでプログラムを合成する。そしてプログラム合成装置は、合成されたプログラムの性能を評価する評価手段で得られた評価値を参照してプログラム部品を選択する。   For example, the program synthesizing apparatus disclosed in Patent Document 1 specifies an outline processing procedure of a desired program based on a classification of program parts, selects a program part corresponding to the outline processing procedure, and combines the programs. Synthesize. Then, the program synthesizing apparatus selects a program component with reference to the evaluation value obtained by the evaluation means for evaluating the performance of the synthesized program.

また、特許文献2に開示されたシステムは、コンポーネントライブラリ内の複数のコンポーネントのサブセットを選択し、そのサブセットを無作為に組み合わせて得られる組み合わせを複数の目標に対して評価する。そしてシステムは、組み合わせを新しいコンポーネントにカプセル化し、組み合わせが一つまたはそれ以上の基準に合致する場合にその組み合わせをコンポーネントライブラリに加える。   Further, the system disclosed in Patent Literature 2 selects a subset of a plurality of components in a component library, and evaluates a combination obtained by randomly combining the subsets with respect to a plurality of targets. The system then encapsulates the combination into a new component and adds the combination to the component library if the combination meets one or more criteria.

特開平10−149280号公報JP-A-10-149280 特開2007−128517号公報JP 2007-128517 A

一方、対象物の検査などの目的で利用されている、既存の画像処理ライブラリを用いて特定の画像処理を行うように構築された画像処理システムを、老朽化または処理能力の向上などの理由により、更新することがある。このような場合、その画像処理システムで実行されていた画像処理と同じ処理を更新後のシステムが実行できることが好ましい。しかし、画像処理ライブラリに含まれる個々の画像処理関数は、ブラックボックス化されていることがあり、このような場合、個々の画像処理関数により実行される処理の詳細は不明である。例えば、画像処理ライブラリにエッジ検出用の画像処理関数が含まれているとする。しかし、エッジ検出フィルタとして、SobelフィルタあるいはPrewittフィルタなど、複数のエッジ検出フィルタが知られている。そのため、画像処理関数がブラックボックス化されていると、エッジ検出用の画像処理関数が、どのエッジ検出フィルタを採用しているかが分からない。そのため、更新後のシステムは、既存の画像処理ライブラリとは異なる、そのシステムが利用可能な別の画像処理ライブラリに含まれる画像処理関数をそのまま利用しても、更新対象となる画像処理システムが実行する画像処理と全く同じ処理とならないおそれがある。   On the other hand, an image processing system that is used for the purpose of inspection of an object and constructed to perform specific image processing using an existing image processing library is used for reasons such as aging or improvement of processing capability. , May update. In such a case, it is preferable that the updated system can execute the same processing as the image processing that has been executed in the image processing system. However, individual image processing functions included in the image processing library may be black boxed. In such a case, details of processing executed by the individual image processing functions are unknown. For example, it is assumed that an image processing function for edge detection is included in the image processing library. However, a plurality of edge detection filters such as a Sobel filter or a Prewitt filter are known as edge detection filters. For this reason, when the image processing function is black-boxed, it is not known which edge detection filter is used for the image processing function for edge detection. For this reason, the updated system is different from the existing image processing library. Even if an image processing function included in another image processing library that can be used by the system is used as it is, the image processing system to be updated is executed. There is a possibility that the processing is not exactly the same as the image processing to be performed.

そこで本明細書は、既存の画像処理ライブラリに基づく画像処理アルゴリズムを他の画像処理ライブラリを用いて実現できるアルゴリズム生成装置を提供することを目的とする。   Therefore, an object of the present specification is to provide an algorithm generation apparatus that can implement an image processing algorithm based on an existing image processing library using another image processing library.

一つの実施形態によれば、アルゴリズム生成装置が提供される。このアルゴリズム生成装置は、複数の第1の画像処理関数を含む第1の画像処理ライブラリを記憶する記憶部と、第2の画像処理ライブラリに含まれる所定数の第2の画像処理関数のそれぞれについて、第1の画像処理ライブラリから選択した1以上の第1の画像処理関数の組み合わせを第1の画像に適用して得られた第1の処理済み画像と第2の画像処理関数を第1の画像に適用して得られた第2の処理済み画像との差が第1の許容範囲内となる、第1の画像処理関数の組み合わせを求め、その組み合わせを第3の画像処理関数として追加する追加関数生成部と、所定数の第3の画像処理関数の中から選択した1以上の第3の画像処理関数の組み合わせを第2の画像に適用して得られた第3の処理済み画像と、第2の画像に所定の画像処理を適用して得られた第4の処理済み画像との差が第2の許容範囲内となる、その第3の画像処理関数の組み合わせを、所定の画像処理を実現するアルゴリズムとして生成するアルゴリズム生成部とを有する。   According to one embodiment, an algorithm generator is provided. The algorithm generation device includes a storage unit that stores a first image processing library including a plurality of first image processing functions, and a predetermined number of second image processing functions included in the second image processing library. The first processed image and the second image processing function obtained by applying a combination of one or more first image processing functions selected from the first image processing library to the first image are the first A combination of the first image processing functions is obtained such that the difference from the second processed image obtained by applying to the image is within the first allowable range, and the combination is added as a third image processing function. A third processed image obtained by applying a combination of an additional function generation unit and one or more third image processing functions selected from a predetermined number of third image processing functions to the second image; , Predetermined image processing on the second image An algorithm generating unit that generates a combination of the third image processing functions whose difference from the fourth processed image obtained by application is within the second allowable range as an algorithm for realizing predetermined image processing And have.

本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It should be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention as claimed.

本明細書に開示されたアルゴリズム生成装置は、既存の画像処理ライブラリに基づく画像処理アルゴリズムを他の画像処理ライブラリを用いて実現できる。   The algorithm generation apparatus disclosed in this specification can realize an image processing algorithm based on an existing image processing library using another image processing library.

アルゴリズム生成装置の概略構成図である。It is a schematic block diagram of an algorithm production | generation apparatus. 画像処理ライブラリに含まれる画像処理関数のセットの一例を示す図である。It is a figure which shows an example of the set of the image processing function contained in an image processing library. アルゴリズム生成装置の制御部の機能ブロック図である。It is a functional block diagram of the control part of an algorithm production | generation apparatus. 追加関数生成処理の概要を説明する図である。It is a figure explaining the outline | summary of an additional function production | generation process. 遺伝的アルゴリズムを利用して追加画像処理関数となる画像処理関数の組み合わせを特定するための処理の概要を示す図である。It is a figure which shows the outline | summary of the process for specifying the combination of the image processing function used as an additional image processing function using a genetic algorithm. 追加関数情報の一例を示す図である。It is a figure which shows an example of additional function information. (a)はサンプル画像の一例を示す図であり、(b)はターゲット画像の一例を示す図である。(A) is a figure which shows an example of a sample image, (b) is a figure which shows an example of a target image. アルゴリズム生成処理の動作フローチャートである。It is an operation | movement flowchart of an algorithm production | generation process.

以下、図を参照しつつ、アルゴリズム生成装置について説明する。このアルゴリズム生成装置は、再現対象となる画像処理ライブラリに含まれる個々の画像処理関数ごとに、その画像処理関数による処理と同じ処理を実現する、別の画像処理ライブラリに含まれる1以上の画像処理関数の組み合わせを特定する。そしてアルゴリズム生成装置は、その組み合わせを追加画像処理関数とする。そしてこのアルゴリズム生成装置は、追加画像処理関数の中から適切なものを選択して組み合わせることで、再現対象となる画像処理ライブラリを用いて実現されていた画像処理と同じ処理を実現できるアルゴリズムを生成する。   Hereinafter, the algorithm generation device will be described with reference to the drawings. The algorithm generation device realizes, for each image processing function included in the image processing library to be reproduced, one or more image processing included in another image processing library that realizes the same processing as that performed by the image processing function. Identify function combinations. Then, the algorithm generation apparatus sets the combination as an additional image processing function. This algorithm generation device generates an algorithm that can realize the same processing as the image processing that was realized using the image processing library to be reproduced by selecting and combining appropriate ones from the additional image processing functions. To do.

図1は、一つの実施形態によるアルゴリズム生成装置の概略構成図である。アルゴリズム生成装置1は、インターフェース部2と、ユーザインターフェース部3と、記憶回路4と、ストレージ装置5と、記憶媒体アクセス装置6と、制御部7とを有する。制御部7と、アルゴリズム生成装置1のその他の各部とは、例えば、バスにより接続されている。   FIG. 1 is a schematic configuration diagram of an algorithm generation apparatus according to an embodiment. The algorithm generation device 1 includes an interface unit 2, a user interface unit 3, a storage circuit 4, a storage device 5, a storage medium access device 6, and a control unit 7. The control unit 7 and other units of the algorithm generation device 1 are connected by, for example, a bus.

インターフェース部2は、アルゴリズム生成装置1を、アルゴリズムの生成に利用する画像を生成または記憶する他の機器(図示せず)と接続するためのインターフェースである。例えば、インターフェース部2は、アルゴリズム生成装置1をカメラと接続するためのビデオインターフェース及びその制御回路を有する。あるいは、インターフェース部2は、イーサネット(登録商標)などの通信規格に従った通信ネットワークを介して他の機器から画像を受け取るために、その通信ネットワークに接続するための通信インターフェース及びその制御回路を有していてもよい。
インターフェース部2は、他の機器から画像を取得し、その画像を制御部7へ渡す。
The interface unit 2 is an interface for connecting the algorithm generation apparatus 1 to another device (not shown) that generates or stores an image used for generating an algorithm. For example, the interface unit 2 includes a video interface for connecting the algorithm generation device 1 to a camera and its control circuit. Alternatively, the interface unit 2 includes a communication interface and a control circuit for connecting to the communication network in order to receive an image from another device via the communication network according to a communication standard such as Ethernet (registered trademark). You may do it.
The interface unit 2 acquires an image from another device and passes the image to the control unit 7.

ユーザインターフェース部3は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部3は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部3は、例えば、ユーザの操作に応じて、アルゴリズム生成処理を開始させる操作信号を制御部7へ出力する。   The user interface unit 3 includes, for example, an input device such as a keyboard and a mouse, and a display device such as a liquid crystal display. Alternatively, the user interface unit 3 may include a device such as a touch panel display in which an input device and a display device are integrated. Then, for example, the user interface unit 3 outputs an operation signal for starting an algorithm generation process to the control unit 7 in accordance with a user operation.

またユーザインターフェース部3は、制御部7から受け取った、生成された画像処理アルゴリズムの詳細を表す情報などを表示する。   In addition, the user interface unit 3 displays information representing details of the generated image processing algorithm received from the control unit 7.

記憶回路4は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶回路4は、制御部7上で実行されるアルゴリズム生成処理を実行するためのコンピュータプログラム、及びそのアルゴリズム生成処理の途中で得られる中間計算結果またはサンプル画像などを記憶する。   The storage circuit 4 is an example of a storage unit, and includes, for example, a readable / writable semiconductor memory and a read-only semiconductor memory. The storage circuit 4 stores a computer program for executing an algorithm generation process executed on the control unit 7 and an intermediate calculation result or a sample image obtained during the algorithm generation process.

ストレージ装置5は、記憶部の他の一例であり、例えば、磁気ディスク及びそのアクセス装置を有する。そしてストレージ装置5は、サンプル画像など、インターフェース部2を介して受け取った、アルゴリズム生成に利用される各種の画像を記憶する。さらに、ストレージ装置5は、アルゴリズム生成装置1が利用する画像処理ライブラリを記憶する。画像処理ライブラリには、複数の画像処理関数が含まれる。さらに、ストレージ装置5は、画像処理ライブラリから選択された1以上の画像処理関数の組み合わせにより実現される、他の機器が使用する他の画像処理ライブラリに含まれる画像処理関数と同等の処理を実行する追加画像処理関数を記憶する。さらに、ストレージ装置5は、アルゴリズム生成処理により生成された画像処理アルゴリズムを実現するための、追加画像処理関数の組み合わせを表すアルゴリズム情報を記憶する。なお、以下では、説明の便宜上、他の機器が使用する他の画像処理ライブラリを参照画像処理ライブラリと呼ぶ。また、参照画像処理ライブラリに含まれる画像処理関数を、参照画像処理関数と呼ぶ。   The storage device 5 is another example of a storage unit, and includes, for example, a magnetic disk and its access device. The storage device 5 stores various images used for algorithm generation, such as sample images, received via the interface unit 2. Furthermore, the storage device 5 stores an image processing library used by the algorithm generation device 1. The image processing library includes a plurality of image processing functions. Further, the storage apparatus 5 executes processing equivalent to the image processing function included in another image processing library used by another device, realized by a combination of one or more image processing functions selected from the image processing library. The additional image processing function to be stored is stored. Further, the storage device 5 stores algorithm information representing a combination of additional image processing functions for realizing an image processing algorithm generated by the algorithm generation processing. Hereinafter, for convenience of explanation, another image processing library used by another device is referred to as a reference image processing library. An image processing function included in the reference image processing library is called a reference image processing function.

図2は、アルゴリズム生成装置1が利用する画像処理ライブラリに含まれる画像処理関数のセットの一例を示す図である。この例では、画像処理ライブラリ200には、全部で26通りの画像処理関数が含まれる。このうち、関数Smooth(d)は、2次元の平滑化を行う関数であり、例えば、ガウシアンフィルタである。またdは、その関数が参照する水平方向及び垂直方向の画素数を表す。   FIG. 2 is a diagram illustrating an example of a set of image processing functions included in the image processing library used by the algorithm generation apparatus 1. In this example, the image processing library 200 includes a total of 26 image processing functions. Among these, the function Smooth (d) is a function that performs two-dimensional smoothing, and is, for example, a Gaussian filter. D represents the number of pixels in the horizontal and vertical directions to which the function refers.

関数Sobel(x=n,y=m)は、x方向(水平方向)にn階微分し、y方向(垂直方向)にm階微分するソーベルフィルタであり、エッジ検出などに利用される。また、関数Laplace(d)は、2次微分を計算するラプラシアンフィルタであり、dは、ラプラシアンフィルタが参照する水平方向及び垂直方向の画素数を表す。   The function Sobel (x = n, y = m) is a Sobel filter that performs n-order differentiation in the x direction (horizontal direction) and m-order differentiation in the y direction (vertical direction), and is used for edge detection and the like. The function Laplace (d) is a Laplacian filter that calculates the second derivative, and d represents the number of pixels in the horizontal direction and the vertical direction that the Laplacian filter refers to.

関数Inverseは、各画素の輝度値を反転させる関数である。また関数Subは、2枚の画像の対応する画素間の画素値の差分値を出力する関数である。なお、差分値が負となる画素については、関数Subは、0を出力する。関数Addは、2枚の画像の対応する画素間の画素値の和を出力する関数である。また関数Diffは、2枚の画像の対応する画素間の画素値の差分絶対値を出力する関数である。   The function Inverse is a function that inverts the luminance value of each pixel. The function Sub is a function that outputs a difference value of pixel values between corresponding pixels of two images. Note that the function Sub outputs 0 for a pixel having a negative difference value. The function Add is a function that outputs the sum of pixel values between corresponding pixels of two images. The function Diff is a function that outputs an absolute value of a difference between pixel values between corresponding pixels of two images.

関数Thresh(t)は、2値化処理を行う関数であり、tは2値化閾値である。なお、関数Thresh(Auto)は、例えば、大津の2値化処理に従って、2値化閾値を自動的に決定する。また関数Cannyは、キャニーフィルタである。関数NoChangeは、入力された画像をそのまま出力する関数である。関数Erode及び関数Dilateは、それぞれ、モルフォロジーのエロージョン演算、ダイレーション演算を行う関数である。関数Mask(rangen)は、入力された画像にその関数が適用された以降の画像処理をrangen内のみで行うよう限定する関数である。そして関数And及び関数Orは、それぞれ、2枚の画像の対応する画素間の画素値の論理積、論理和を出力する関数である。   The function Thresh (t) is a function that performs binarization processing, and t is a binarization threshold value. The function Thresh (Auto) automatically determines the binarization threshold value, for example, according to the binarization process of Otsu. The function Canny is a canny filter. The function NoChange is a function that outputs an input image as it is. The function Erode and the function Dilate are functions for performing a morphological erosion operation and a dilation operation, respectively. The function Mask (rangen) is a function that limits the image processing after the function is applied to the input image to be performed only within the rangen. The function And and the function Or are functions that output a logical product and a logical sum of pixel values between corresponding pixels of two images, respectively.

アルゴリズム生成装置1は、これらの画像処理関数のうちの任意のものを一つ以上選択し、選択した画像処理関数を組み合わせることで、様々な画像処理アルゴリズムを実現できる。   The algorithm generation device 1 can realize various image processing algorithms by selecting one or more of these image processing functions and combining the selected image processing functions.

再度図1を参照すると、記憶媒体アクセス装置6は、例えば、半導体メモリカード及び光記憶媒体といった記憶媒体8にアクセスする装置である。記憶媒体アクセス装置6は、例えば、記憶媒体8に記憶された、制御部7上で実行される、アルゴリズム生成処理用のコンピュータプログラムを読み込み、制御部7に渡す。また記憶媒体アクセス装置6は、制御部7により生成された追加画像処理関数のセットまたはアルゴリズム生成処理により生成されたアルゴリズム情報を記憶媒体8に書き込んでもよい。   Referring to FIG. 1 again, the storage medium access device 6 is a device that accesses a storage medium 8 such as a semiconductor memory card and an optical storage medium. For example, the storage medium access device 6 reads a computer program for algorithm generation processing, which is executed on the control unit 7 and stored in the storage medium 8, and passes it to the control unit 7. Further, the storage medium access device 6 may write a set of additional image processing functions generated by the control unit 7 or algorithm information generated by the algorithm generation processing into the storage medium 8.

制御部7は、少なくとも一つのプロセッサ及びその周辺回路を有し、アルゴリズム生成装置1全体を制御する。また制御部7は、アルゴリズム生成処理を実行する。そして制御部7は、アルゴリズム生成処理の結果得られた追加画像処理関数のセット、あるいは、追加関数情報を、ストレージ装置5または記憶媒体アクセス装置6へ渡す。   The control unit 7 includes at least one processor and its peripheral circuits, and controls the entire algorithm generation apparatus 1. The control unit 7 executes algorithm generation processing. Then, the control unit 7 passes the set of additional image processing functions or additional function information obtained as a result of the algorithm generation processing to the storage device 5 or the storage medium access device 6.

図3は、アルゴリズム生成処理を実行するための制御部7の機能ブロック図である。制御部7は、追加関数生成部11と、アルゴリズム生成部12とを有する。
制御部7が有するこれらの各部は、例えば、制御部7が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、制御部7が有するこれらの各部は、その各部の処理を実現する回路が集積された一つの集積回路として、制御部7と別個にアルゴリズム生成装置1に実装されてもよい。
FIG. 3 is a functional block diagram of the control unit 7 for executing the algorithm generation process. The control unit 7 includes an additional function generation unit 11 and an algorithm generation unit 12.
Each of these units included in the control unit 7 is, for example, a functional module realized by a computer program executed on a processor included in the control unit 7. Alternatively, these units included in the control unit 7 may be mounted on the algorithm generation apparatus 1 separately from the control unit 7 as a single integrated circuit in which circuits for realizing the processes of the respective units are integrated.

追加関数生成部11は、画像処理ライブラリに含まれる1以上の画像処理関数を用いて、参照画像処理ライブラリに含まれる所定数の参照画像処理関数について、その参照画像処理関数と同等の処理を実現する追加画像処理関数を生成する。なお、追加関数生成部11は、参照画像処理ライブラリに含まれる全ての参照画像処理関数について追加画像処理関数を生成してもよい。あるいは、追加関数生成部11は、参照画像処理ライブラリに含まれる参照画像処理関数のうちの一部の参照画像処理関数について追加画像処理関数を生成してもよい。   The additional function generation unit 11 realizes processing equivalent to the reference image processing function for a predetermined number of reference image processing functions included in the reference image processing library using one or more image processing functions included in the image processing library. An additional image processing function is generated. Note that the additional function generation unit 11 may generate additional image processing functions for all reference image processing functions included in the reference image processing library. Alternatively, the additional function generation unit 11 may generate additional image processing functions for some reference image processing functions among the reference image processing functions included in the reference image processing library.

図4は、追加関数生成処理の概要を説明する図である。
追加関数生成部11は、他の機器(例えば、他の画像処理システム)400が利用する参照画像ライブラリ410に含まれる、複数の参照画像処理関数B1,B2,...,Bnのうちの任意の参照画像処理関数について追加画像処理関数を生成する。そのために、追加関数生成部11は、他の機器400から、サンプル画像401と、サンプル画像401に対して着目する参照画像処理関数(この例では、B1)を適用して得られた処理済みサンプル画像402とを、インターフェース部2を介して取得する。そして追加関数生成部11は、それらの画像を教師データとして利用する。なお、サンプル画像401及び処理済みサンプル画像402は複数でもよい。そして追加関数生成部11は、サンプル画像401に対して、画像処理ライブラリから選択した1以上の画像処理関数の組み合わせを適用して得られた処理済み画像と処理済みサンプル画像との差が所定の許容範囲内となる組み合わせ403を求める。そして追加関数生成部11は、その組み合わせ403を追加画像処理関数として、画像処理ライブラリに追加登録する。
FIG. 4 is a diagram for explaining the outline of the additional function generation process.
The additional function generation unit 11 is an arbitrary one of a plurality of reference image processing functions B1, B2,..., Bn included in a reference image library 410 used by another device (for example, another image processing system) 400. An additional image processing function is generated for the reference image processing function. Therefore, the additional function generation unit 11 processes the sample image 401 obtained by applying the sample image 401 and the reference image processing function (B1 in this example) of interest to the sample image 401 from the other device 400. The image 402 is acquired via the interface unit 2. The additional function generating unit 11 uses these images as teacher data. A plurality of sample images 401 and processed sample images 402 may be provided. Then, the additional function generation unit 11 determines that the difference between the processed image obtained by applying a combination of one or more image processing functions selected from the image processing library to the sample image 401 and the processed sample image is a predetermined value. A combination 403 that falls within the allowable range is obtained. Then, the additional function generation unit 11 additionally registers the combination 403 as an additional image processing function in the image processing library.

本実施形態では、追加関数生成部11は、そのような画像処理関数の組み合わせを特定するために、遺伝的アルゴリズムを利用する。   In the present embodiment, the additional function generation unit 11 uses a genetic algorithm in order to specify such a combination of image processing functions.

図5は、遺伝的アルゴリズムを利用して追加画像処理関数となる画像処理関数の組み合わせを特定するための処理の概要を示す図である。
(ステップ1)初期個体生成
追加関数生成部11は、まず、複数の初期個体501を生成する。そのために、追加関数生成部11は、画像処理ライブラリから1以上の画像処理関数及び画像処理関数の動作を指定するパラメータをランダムに選択する。そして追加関数生成部11は、ランダムに決定した処理の順序に従って選択した画像処理関数を組み合わせたものを一つの初期個体501とする。各初期個体は、それぞれ、全体として一つの画像処理関数となる。追加関数生成部11は、初期個体501ごとに上記の処理を行う。
FIG. 5 is a diagram showing an outline of processing for specifying a combination of image processing functions to be an additional image processing function using a genetic algorithm.
(Step 1) Initial Individual Generation The additional function generation unit 11 first generates a plurality of initial individuals 501. For this purpose, the additional function generation unit 11 randomly selects one or more image processing functions and parameters that specify the operation of the image processing function from the image processing library. The additional function generation unit 11 sets a combination of image processing functions selected in accordance with a randomly determined processing order as one initial individual 501. Each initial individual becomes one image processing function as a whole. The additional function generation unit 11 performs the above processing for each initial individual 501.

(ステップ2)進化過程
次に、追加関数生成部11は、複数の初期個体501から所定個数(例えば、2個)の個体を選択する。そして追加関数生成部11は、選択した個体を交叉させて新しい個体502を複数生成する。この例では、交叉によって、2個の個体に含まれる画像処理関数の一部が互いに交換されることで、新しい個体502が生成される。
さらに、追加関数生成部11は、ある一定の確率で、突然変異と呼ばれる処理により、さらに新しい個体502を生成する。本実施形態では、追加関数生成部11は、突然変異として、新しい個体502中に含まれる画像処理関数の何れかを、ランダムに他の画像処理関数に入れ替えることで、別の新しい個体502を生成する。なお、追加関数生成部11は、突然変異として、新しい個体502中に含まれる画像処理関数の何れかについて、その画像処理関数の動作を指定するパラメータを他のパラメータに変更してもよい。
(Step 2) Evolution Process Next, the additional function generation unit 11 selects a predetermined number (for example, two) of individuals from the plurality of initial individuals 501. Then, the additional function generation unit 11 generates a plurality of new individuals 502 by crossing the selected individuals. In this example, a part of image processing functions included in two individuals is exchanged with each other by crossover, and a new individual 502 is generated.
Furthermore, the additional function generation unit 11 generates a new individual 502 with a certain probability by a process called mutation. In the present embodiment, the additional function generation unit 11 generates another new individual 502 as a mutation by randomly replacing any of the image processing functions included in the new individual 502 with another image processing function. To do. Note that the additional function generation unit 11 may change, as a mutation, a parameter that specifies the operation of the image processing function for any of the image processing functions included in the new individual 502 to another parameter.

(ステップ3)生存選択
追加関数生成部11は、複数の新しい個体502のそれぞれについて適応度を算出する。本実施形態では、追加関数生成部11は、サンプル画像に、新しい個体502により表される画像処理関数の組み合わせを適用することで得られる処理済み画像と処理済みサンプル画像の対応画素間の画素値の差分絶対値和を適応度として算出する。なお、適応度は、評価値の一例である。そして追加関数生成部11は、複数の新しい個体502のうち、適応度が最も良好な値(この例では、最小値)となる個体502aと、ランダムに一つの個体502bとを選択する。
(ステップ4)個体入れ替え
追加関数生成部11は、複数の初期個体501から任意の二つの個体を選択し、選択された二つの個体をステップ3にて生成された二つの個体502a、502bと入れ替える。
(Step 3) Survival Selection The additional function generation unit 11 calculates fitness for each of a plurality of new individuals 502. In the present embodiment, the additional function generation unit 11 applies a pixel value between corresponding pixels of the processed image and the processed sample image obtained by applying a combination of image processing functions represented by the new individual 502 to the sample image. Is calculated as the fitness. The fitness is an example of an evaluation value. Then, the additional function generation unit 11 selects an individual 502a having the best fitness value (in this example, the minimum value) and a single individual 502b at random from among a plurality of new individuals 502.
(Step 4) Individual Replacement The additional function generation unit 11 selects any two individuals from the plurality of initial individuals 501 and replaces the two selected individuals with the two individuals 502a and 502b generated in Step 3. .

追加関数生成部11は、ステップ2〜ステップ4の処理を、適応度が所定の許容範囲内に含まれる個体ができるまで繰り返す。なお、所定の許容範囲は、例えば、1画素当たりの輝度値の許容誤差(例えば、1)に、ターゲット画像の総画素数を乗じた値とすることができる。そして追加関数生成部11は、適応度が所定の許容範囲内に含まれる個体で表される画像処理関数の組み合わせを、参照画像処理関数に対応する追加画像処理関数とする。追加関数生成部11は、その追加画像処理関数についての追加関数情報を生成し、その追加関数情報を、ストレージ装置5に保存する。   The additional function generation unit 11 repeats the processing from step 2 to step 4 until an individual whose fitness falls within a predetermined allowable range is created. The predetermined allowable range may be a value obtained by multiplying the allowable error (for example, 1) of the luminance value per pixel by the total number of pixels of the target image. The additional function generation unit 11 sets a combination of image processing functions represented by individuals whose fitness is within a predetermined allowable range as an additional image processing function corresponding to the reference image processing function. The additional function generation unit 11 generates additional function information for the additional image processing function, and stores the additional function information in the storage device 5.

図6は、追加関数情報の一例を示す図である。追加関数情報600は、パラメータ情報601と、追加画像処理関数に含まれる各画像処理関数を呼び出すためのタグ情報602と、各画像処理関数の入出力関係を表す入出力情報603とを含む。なお、パラメータ情報601は、追加画像処理関数に含まれる各画像処理関数の動作を指定するパラメータの値、例えば、関数Smooth(d)のパラメータdの値を含む。さらに、パラメータ情報601は、処理済みサンプル画像を作成した際の参照画像処理関数、および、参照画像処理関数の動作を指定するパラメータを含んでもよい。タグ情報602は、例えば、対応する画像処理関数のポインタである。この例では、画像処理ライブラリに格納されている2番目、4番目及び7番目の画像処理関数が使用されることが示されている。また図6では、入出力情報603は、矢印で表されている。この例では、入出力情報603は、一つの入力画像が2番目の画像処理関数に入力され、他の入力画像が4番目の画像処理関数に入力されることを示している。さらに、入出力情報603は、2番目の画像処理関数の出力と4番目の画像処理関数の出力が7番目の画像処理関数に入力されること、及び、7番目の画像処理関数の出力が、追加画像処理関数の出力となることを示している。   FIG. 6 is a diagram illustrating an example of the additional function information. The additional function information 600 includes parameter information 601, tag information 602 for calling each image processing function included in the additional image processing function, and input / output information 603 representing an input / output relationship of each image processing function. The parameter information 601 includes parameter values that specify the operation of each image processing function included in the additional image processing function, for example, the value of the parameter d of the function Smooth (d). Further, the parameter information 601 may include a reference image processing function when a processed sample image is created, and a parameter that specifies an operation of the reference image processing function. The tag information 602 is, for example, a corresponding image processing function pointer. In this example, it is shown that the second, fourth, and seventh image processing functions stored in the image processing library are used. In FIG. 6, the input / output information 603 is represented by arrows. In this example, the input / output information 603 indicates that one input image is input to the second image processing function and the other input image is input to the fourth image processing function. Further, the input / output information 603 includes that the output of the second image processing function and the output of the fourth image processing function are input to the seventh image processing function, and that the output of the seventh image processing function is It shows that it is an output of an additional image processing function.

なお、追加関数生成部11は、遺伝的アルゴリズム以外の最適化法、例えば、シミュレーティッドアニーリングなどを利用して、参照画像処理関数ごとに追加画像処理関数を求めてもよい。   Note that the additional function generation unit 11 may obtain an additional image processing function for each reference image processing function using an optimization method other than the genetic algorithm, for example, simulated annealing.

アルゴリズム生成部12は、追加画像処理関数のセットから、1以上の追加画像処理関数を選択し、選択した追加画像処理関数を組み合わせることで、所望の画像処理を実現するアルゴリズムを生成する。   The algorithm generation unit 12 selects one or more additional image processing functions from the set of additional image processing functions, and generates an algorithm that realizes desired image processing by combining the selected additional image processing functions.

そのために、アルゴリズム生成部12は、他の機器からインターフェース部2を介して取得した、サンプル画像と、サンプル画像に対して所望の画像処理を適用することで得られると想定されるターゲット画像とを教師データとして利用する。なお、サンプル画像は複数でもよい。また、ターゲット画像は、例えば、ユーザがサンプル画像を加工して生成してもよく、あるいは、ユーザが、ターゲット画像に様々な画像処理関数(画像処理ライブラリに含まれているものに限られない)を実際に適用することで生成してもよい。   For this purpose, the algorithm generation unit 12 obtains a sample image acquired from another device via the interface unit 2 and a target image assumed to be obtained by applying desired image processing to the sample image. Use as teacher data. There may be a plurality of sample images. In addition, the target image may be generated by, for example, processing a sample image by the user, or the user may use various image processing functions (not limited to those included in the image processing library). May be generated by actually applying.

図7(a)は、サンプル画像の一例を示す図であり、図7(b)は、ターゲット画像の一例を示す図である。この例では、サンプル画像700には、糸くず701が写っている。一方、ターゲット画像710は、糸くず701が写っている被写体領域に含まれる画素と被写体領域以外の背景領域に含まれる画素とが互いに異なる画素値を持つように2値化されている。   FIG. 7A is a diagram illustrating an example of a sample image, and FIG. 7B is a diagram illustrating an example of a target image. In this example, the waste thread 701 is shown in the sample image 700. On the other hand, the target image 710 is binarized so that the pixels included in the subject area where the lint 701 is reflected and the pixels included in the background area other than the subject area have different pixel values.

アルゴリズム生成部12は、サンプル画像に対して、追加画像処理関数のセットから選択した1以上の追加画像処理関数の組み合わせを適用して得られた処理済み画像とターゲット画像との差が所定の許容範囲内となる、追加画像処理関数の組み合わせを探索する。そしてアルゴリズム生成部12は、その追加画像処理関数の組み合わせを、所望の画像処理を実現するアルゴリズムとする。なお、処理済み画像とターゲット画像の差は、例えば、対応する画素間の輝度値の差の絶対値の総和とすることができる。また、所定の許容範囲は、例えば、1画素当たりの輝度値の許容誤差(例えば、1)に、ターゲット画像の総画素数を乗じた値とすることができる。   The algorithm generation unit 12 determines whether a difference between a processed image obtained by applying a combination of one or more additional image processing functions selected from the set of additional image processing functions to the sample image and the target image is a predetermined tolerance. Search for a combination of additional image processing functions within the range. Then, the algorithm generation unit 12 uses the combination of the additional image processing functions as an algorithm for realizing desired image processing. Note that the difference between the processed image and the target image can be, for example, the sum of absolute values of differences in luminance values between corresponding pixels. Further, the predetermined allowable range may be a value obtained by multiplying the allowable error (for example, 1) of the luminance value per pixel by the total number of pixels of the target image.

本実施形態では、アルゴリズム生成部12は、そのような追加画像処理関数の組み合わせを特定するために、追加関数生成部11と同様に、遺伝的アルゴリズムを利用する。あるいは、アルゴリズム生成部12は、シミュレーティッドアニーリングといった他の最適化法を利用して、所望の画像処理を実現する追加画像処理関数の組み合わせを求めてもよい。   In this embodiment, the algorithm generation unit 12 uses a genetic algorithm in the same manner as the additional function generation unit 11 in order to specify such a combination of additional image processing functions. Or the algorithm production | generation part 12 may calculate | require the combination of the additional image processing function which implement | achieves desired image processing using other optimization methods, such as simulated annealing.

アルゴリズム生成部12は、所望の画像処理アルゴリズムを実現する追加画像処理関数の組み合わせを表すアルゴリズム情報を生成する。なお、アルゴリズム情報の構造は、例えば、図6に示された追加関数情報の構造と同様の構造とすることができる。   The algorithm generation unit 12 generates algorithm information representing a combination of additional image processing functions that realize a desired image processing algorithm. The structure of the algorithm information can be the same as the structure of the additional function information shown in FIG. 6, for example.

図8は、本実施形態によるアルゴリズム生成処理の動作フローチャートである。
追加関数生成部11は、参照画像ライブラリに含まれる、追加画像処理関数の作成対象となる1以上の参照画像処理関数のうち、追加画像処理関数が作成されていない参照画像処理関数を選択する(ステップS101)。なお、この選択は、ユーザインターフェース部3を介してユーザが行ってもよい。
FIG. 8 is an operation flowchart of algorithm generation processing according to the present embodiment.
The additional function generation unit 11 selects a reference image processing function for which an additional image processing function has not been created among one or more reference image processing functions to be created for the additional image processing function included in the reference image library ( Step S101). This selection may be performed by the user via the user interface unit 3.

追加関数生成部11は、画像処理ライブラリから選択した1以上の画像処理関数の組み合わせの中から、選択した参照画像処理関数により行われる処理と同等の処理を実現できる組み合わせを探索する(ステップS102)。そして追加関数生成部11は、選択した参照画像処理関数により行われる処理と同等の処理を実現できる画像処理関数の組み合わせを、その参照画像処理関数に対応する追加画像処理関数として追加する(ステップS103)。   The additional function generation unit 11 searches for a combination that can realize processing equivalent to the processing performed by the selected reference image processing function from among one or more image processing function combinations selected from the image processing library (step S102). . Then, the additional function generation unit 11 adds a combination of image processing functions that can realize processing equivalent to the processing performed by the selected reference image processing function as an additional image processing function corresponding to the reference image processing function (step S103). ).

追加関数生成部11は、追加画像処理関数の作成対象となる参照画像処理関数のうち、追加画像処理関数が作成されていない参照画像処理関数が残っているか否か判定する(ステップS104)。追加画像処理関数が作成されていない参照画像処理関数が残っていれば(ステップS104−Yes)、追加関数生成部11は、ステップS101以降の処理を繰り返す。   The additional function generation unit 11 determines whether or not there remains a reference image processing function for which an additional image processing function has not been created among reference image processing functions to be created as additional image processing functions (step S104). If there remains a reference image processing function for which no additional image processing function has been created (step S104—Yes), the additional function generation unit 11 repeats the processing from step S101.

一方、追加画像処理関数が作成されていない参照画像処理関数が残っていなければ(ステップS104−No)、追加関数生成部11は、追加画像処理関数の作成を終了する。その後、アルゴリズム生成部12は、インターフェース部2を介してサンプル画像と、サンプル画像に所望の画像処理を適用して得られるターゲット画像を取得する(ステップS105)。
アルゴリズム生成部12は、追加画像処理関数の組み合わせのうち、その組み合わせをサンプル画像に適用して得られる処理済み画像とターゲット画像との差が許容範囲内となる組み合わせを特定する。そしてアルゴリズム生成部12は、その組み合わせを、所望の画像処理を実現するアルゴリズムとして生成する(ステップS106)。
そし制御部7は、アルゴリズム生成処理を終了する。
On the other hand, if there remains no reference image processing function for which no additional image processing function has been created (No in step S104), the additional function generation unit 11 ends the creation of the additional image processing function. Thereafter, the algorithm generation unit 12 acquires a sample image and a target image obtained by applying desired image processing to the sample image via the interface unit 2 (step S105).
The algorithm generation unit 12 specifies a combination in which the difference between the processed image obtained by applying the combination to the sample image and the target image is within an allowable range among the combinations of the additional image processing functions. Then, the algorithm generation unit 12 generates the combination as an algorithm that realizes desired image processing (step S106).
Then, the control unit 7 ends the algorithm generation process.

以上に説明してきたように、このアルゴリズム生成装置は、画像処理ライブラリに含まれる画像処理関数を組み合わせて、参照画像ライブラリに含まれる各参照画像処理関数と同等の処理を実現する追加画像処理関数を生成する。そしてこのアルゴリズム生成装置は、追加画像処理関数を組み合わせて所望の画像処理を実現するアルゴリズムを生成する。そのため、このアルゴリズム生成装置は、参照画像処理ライブラリを利用して実現された画像処理アルゴリズムと同じ処理を実行するアルゴリズムを他の画像処理ライブラリを用いて実現できる。   As described above, this algorithm generating apparatus combines the image processing functions included in the image processing library, and adds an additional image processing function that realizes processing equivalent to each reference image processing function included in the reference image library. Generate. And this algorithm production | generation apparatus produces | generates the algorithm which implement | achieves desired image processing combining an additional image processing function. Therefore, the algorithm generation apparatus can realize an algorithm that executes the same processing as the image processing algorithm realized using the reference image processing library, using another image processing library.

なお、変形例によれば、追加関数生成部11は、参照画像処理関数を二つ以上組み合わせたものに対して、一つの追加画像処理関数を作成してもよい。この場合にも、追加関数生成部11は、追加画像処理関数の生成対象となる参照画像処理関数の組み合わせをサンプル画像に適用することで得られた処理済みサンプル画像を評価値あるいは適応度の算出に利用することで、追加画像処理関数を作成できる。   Note that according to the modification, the additional function generation unit 11 may create one additional image processing function for a combination of two or more reference image processing functions. Also in this case, the additional function generation unit 11 calculates the evaluation value or the fitness of the processed sample image obtained by applying the combination of the reference image processing functions to be generated as the additional image processing function to the sample image. By using it, additional image processing functions can be created.

また、他の変形例によれば、アルゴリズム生成部12は、追加画像処理関数のセットに含まれる追加画像処理関数だけでなく、画像処理ライブラリに含まれる元の画像処理関数も利用して、所望の画像処理を実現するアルゴリズムを生成してもよい。   Further, according to another modification, the algorithm generation unit 12 uses the original image processing function included in the image processing library as well as the additional image processing function included in the set of additional image processing functions, and performs the desired processing. An algorithm that realizes the image processing may be generated.

さらに他の変形例によれば、アルゴリズム生成装置1は、互いに異なる複数の参照画像ライブラリのそれぞれについて、追加画像処理関数のセットを作成してもよい。この場合には、アルゴリズム生成装置1は、参照画像ライブラリを識別するための識別情報を、例えば、ユーザインターフェース部3から取得し、その識別情報を対応する追加画像処理関数に関連付けてもよい。またこの場合、アルゴリズム生成装置1は、例えば、ユーザインターフェース部3から、画像処理アルゴリズムの生成に利用する参照画像ライブラリの識別情報を取得する。そしてアルゴリズム生成部12は、画像処理アルゴリズムを生成する際に、取得した識別情報と関連付けられた追加画像処理関数のセットから、画像処理アルゴリズムの生成に利用する追加画像処理関数を選択すればよい。なお、アルゴリズム生成部12は、この変形例においても、画像処理アルゴリズムの生成に利用する追加画像処理関数を、全ての追加画像処理関数のセットの中から選択してもよい。   According to still another modification, the algorithm generation device 1 may create a set of additional image processing functions for each of a plurality of different reference image libraries. In this case, the algorithm generation apparatus 1 may acquire identification information for identifying the reference image library, for example, from the user interface unit 3, and associate the identification information with the corresponding additional image processing function. In this case, for example, the algorithm generation device 1 acquires identification information of a reference image library used for generating an image processing algorithm from the user interface unit 3. Then, when generating the image processing algorithm, the algorithm generation unit 12 may select an additional image processing function to be used for generating the image processing algorithm from the set of additional image processing functions associated with the acquired identification information. Note that, also in this modification, the algorithm generation unit 12 may select an additional image processing function used for generating an image processing algorithm from a set of all additional image processing functions.

ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。   All examples and specific terms listed herein are intended for instructional purposes to help the reader understand the concepts contributed by the inventor to the present invention and the promotion of the technology. It should be construed that it is not limited to the construction of any example herein, such specific examples and conditions, with respect to showing the superiority and inferiority of the present invention. Although embodiments of the present invention have been described in detail, it should be understood that various changes, substitutions and modifications can be made thereto without departing from the spirit and scope of the present invention.

1 アルゴリズム生成装置
2 インターフェース部
3 ユーザインターフェース部
4 記憶回路
5 ストレージ装置
6 記憶媒体アクセス装置
7 制御部
8 記憶媒体
11 追加関数生成部
12 アルゴリズム生成部
DESCRIPTION OF SYMBOLS 1 Algorithm production | generation apparatus 2 Interface part 3 User interface part 4 Storage circuit 5 Storage apparatus 6 Storage medium access apparatus 7 Control part 8 Storage medium 11 Additional function production | generation part 12 Algorithm production | generation part

Claims (4)

複数の第1の画像処理関数を含む第1の画像処理ライブラリを記憶する記憶部と、
第2の画像処理ライブラリに含まれる所定数の第2の画像処理関数のそれぞれについて、前記第1の画像処理ライブラリから選択した1以上の前記第1の画像処理関数の組み合わせを第1の画像に適用して得られた第1の処理済み画像と前記第2の画像処理関数を前記第1の画像に適用して得られた第2の処理済み画像との差が第1の許容範囲内となる、前記第1の画像処理関数の組み合わせを求め、当該組み合わせを第3の画像処理関数として追加する追加関数生成部と、
前記所定数の前記第3の画像処理関数の中から選択した1以上の前記第3の画像処理関数の組み合わせを第2の画像に適用して得られた第3の処理済み画像と、前記第2の画像に所定の画像処理を適用して得られた第4の処理済み画像との差が第2の許容範囲内となる、前記第3の画像処理関数の組み合わせを、前記所定の画像処理を実現するアルゴリズムとして生成するアルゴリズム生成部と、
を有するアルゴリズム生成装置。
A storage unit for storing a first image processing library including a plurality of first image processing functions;
For each of a predetermined number of second image processing functions included in the second image processing library, a combination of one or more first image processing functions selected from the first image processing library is used as the first image. The difference between the first processed image obtained by applying and the second processed image obtained by applying the second image processing function to the first image is within the first allowable range. An additional function generation unit that obtains a combination of the first image processing functions and adds the combination as a third image processing function;
A third processed image obtained by applying a combination of one or more third image processing functions selected from the predetermined number of the third image processing functions to a second image; A combination of the third image processing functions in which the difference from the fourth processed image obtained by applying the predetermined image processing to the second image is within the second allowable range. An algorithm generation unit that generates an algorithm for realizing
An algorithm generation device.
前記所定数の前記第3の画像処理関数のそれぞれは、当該第3の画像処理関数に対応する前記第1の画像処理関数の組み合わせに含まれる各第1の画像処理関数を表す情報と、当該各第1の画像処理関数間の入出力関係を表す情報と、当該各第1の画像処理関数の動作を指定するパラメータとを含む、請求項1に記載のアルゴリズム生成装置。   Each of the predetermined number of the third image processing functions includes information representing each first image processing function included in the combination of the first image processing functions corresponding to the third image processing function, The algorithm generation apparatus according to claim 1, comprising: information representing an input / output relationship between the first image processing functions; and a parameter designating an operation of each first image processing function. 第2の画像処理ライブラリに含まれる所定数の第2の画像処理関数のそれぞれについて、第1の画像処理ライブラリから選択した1以上の第1の画像処理関数の組み合わせを第1の画像に適用して得られた第1の処理済み画像と前記第2の画像処理関数を前記第1の画像に適用して得られた第2の処理済み画像との差が第1の許容範囲内となる、前記第1の画像処理関数の組み合わせを求め、当該組み合わせを第3の画像処理関数として追加し、
前記所定数の前記第3の画像処理関数の中から選択した1以上の前記第3の画像処理関数の組み合わせを第2の画像に適用して得られた第3の処理済み画像と、前記第2の画像に所定の画像処理を適用して得られた第4の処理済み画像との差が第2の許容範囲内となる、前記第3の画像処理関数の組み合わせを、前記所定の画像処理を実現するアルゴリズムとして生成する、
ことを含むアルゴリズム生成方法。
For each of a predetermined number of second image processing functions included in the second image processing library, a combination of one or more first image processing functions selected from the first image processing library is applied to the first image. The difference between the first processed image obtained in step S2 and the second processed image obtained by applying the second image processing function to the first image is within the first allowable range; Obtaining a combination of the first image processing functions, adding the combination as a third image processing function;
A third processed image obtained by applying a combination of one or more third image processing functions selected from the predetermined number of the third image processing functions to a second image; A combination of the third image processing functions in which the difference from the fourth processed image obtained by applying the predetermined image processing to the second image is within the second allowable range. Generate as an algorithm that realizes
An algorithm generation method including the above.
第2の画像処理ライブラリに含まれる所定数の第2の画像処理関数のそれぞれについて、第1の画像処理ライブラリから選択した1以上の第1の画像処理関数の組み合わせを第1の画像に適用して得られた第1の処理済み画像と前記第2の画像処理関数を前記第1の画像に適用して得られた第2の処理済み画像との差が第1の許容範囲内となる、前記第1の画像処理関数の組み合わせを求め、当該組み合わせを第3の画像処理関数として追加し、
前記所定数の前記第3の画像処理関数の中から選択した1以上の前記第3の画像処理関数の組み合わせを第2の画像に適用して得られた第3の処理済み画像と、前記第2の画像に所定の画像処理を適用して得られた第4の処理済み画像との差が第2の許容範囲内となる、前記第3の画像処理関数の組み合わせを、前記所定の画像処理を実現するアルゴリズムとして生成する、
ことをコンピュータに実行させるためのアルゴリズム生成用コンピュータプログラム。
For each of a predetermined number of second image processing functions included in the second image processing library, a combination of one or more first image processing functions selected from the first image processing library is applied to the first image. The difference between the first processed image obtained in step S2 and the second processed image obtained by applying the second image processing function to the first image is within the first allowable range; Obtaining a combination of the first image processing functions, adding the combination as a third image processing function;
A third processed image obtained by applying a combination of one or more third image processing functions selected from the predetermined number of the third image processing functions to a second image; A combination of the third image processing functions in which the difference from the fourth processed image obtained by applying the predetermined image processing to the second image is within the second allowable range. Generate as an algorithm that realizes
A computer program for generating an algorithm for causing a computer to execute this.
JP2014189374A 2014-09-17 2014-09-17 Algorithm generating apparatus, algorithm generating method and algorithm generating computer program Active JP6331914B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014189374A JP6331914B2 (en) 2014-09-17 2014-09-17 Algorithm generating apparatus, algorithm generating method and algorithm generating computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014189374A JP6331914B2 (en) 2014-09-17 2014-09-17 Algorithm generating apparatus, algorithm generating method and algorithm generating computer program

Publications (2)

Publication Number Publication Date
JP2016062269A JP2016062269A (en) 2016-04-25
JP6331914B2 true JP6331914B2 (en) 2018-05-30

Family

ID=55797867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014189374A Active JP6331914B2 (en) 2014-09-17 2014-09-17 Algorithm generating apparatus, algorithm generating method and algorithm generating computer program

Country Status (1)

Country Link
JP (1) JP6331914B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6663873B2 (en) * 2017-02-22 2020-03-13 株式会社日立製作所 Automatic program generation system and automatic program generation method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160843A (en) * 1993-12-02 1995-06-23 Toyota Motor Corp Image recognition program constructing device and method therefor
JPH11259282A (en) * 1998-03-12 1999-09-24 Toshiba Corp Device for synthesizing program and method therefor
JPH11282822A (en) * 1998-03-26 1999-10-15 Toshiba Corp Image processing program combination method and device and optimum solution searching method and device
JP2000056958A (en) * 1998-08-10 2000-02-25 Toshiba Corp Method and device for automatically generating image processing software
JP2007034489A (en) * 2005-07-25 2007-02-08 Ricoh Co Ltd Image processor, image processing method, program and storage medium
JP2009151371A (en) * 2007-12-18 2009-07-09 Dainippon Screen Mfg Co Ltd Image processing apparatus, image processing method, and program
JP5181825B2 (en) * 2008-05-19 2013-04-10 株式会社ニコン Image processing apparatus, image processing method, and program
JP5304401B2 (en) * 2009-04-07 2013-10-02 株式会社ニコン Genetic processing apparatus, genetic processing method and program

Also Published As

Publication number Publication date
JP2016062269A (en) 2016-04-25

Similar Documents

Publication Publication Date Title
JP6619732B2 (en) Method and system for classifying and identifying individual cells in a microscopic image
JP2017033529A (en) Image recognition method, image recognition device and program
JP6511986B2 (en) PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND GENERATION PROGRAM
US11468261B2 (en) Information processing apparatus, image processing method, and computer-readable recording medium recording image processing program
EP3316184B1 (en) Program generating device, program generating method, and generating program
JP2019003299A (en) Image recognition device and image recognition method
JP6179224B2 (en) Image processing filter creation apparatus and method
US20230237777A1 (en) Information processing apparatus, learning apparatus, image recognition apparatus, information processing method, learning method, image recognition method, and non-transitory-computer-readable storage medium
JP5849206B2 (en) Image processing apparatus, image processing method, and image processing program
JP6577397B2 (en) Image analysis apparatus, image analysis method, image analysis program, and image analysis system
JP6623851B2 (en) Learning method, information processing device and learning program
CN108345687A (en) A kind of 3D web page display method and apparatus
US11257212B2 (en) Image analysis device
JP2021051589A5 (en)
US10643096B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP6331914B2 (en) Algorithm generating apparatus, algorithm generating method and algorithm generating computer program
WO2019049365A1 (en) Information processing device, information processing method and information processing program
JP2021108022A5 (en)
US11182650B2 (en) Information processing apparatus to generate a next generation image processing program in genetic programming, control method, and non-transitory computer-readable storage medium for storage program
CN115619924A (en) Method and apparatus for light estimation
CN111310755B (en) Household type graph identification method and device based on target detection and computer equipment
KR101600183B1 (en) Method and apparatus for extracting depth information from image
WO2015093231A1 (en) Image processing device
US20220012551A1 (en) Machine learning apparatus, machine learning method, and computer-readable recording medium
JP2006260410A (en) Evaluation apparatus and method for image processing algorithm, producing system and method, program for making computer function as evaluation system, and program for making computer function as producing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6331914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150