JP7844993B2 - Image processing method, image processing apparatus, and computer program - Google Patents
Image processing method, image processing apparatus, and computer programInfo
- Publication number
- JP7844993B2 JP7844993B2 JP2022058790A JP2022058790A JP7844993B2 JP 7844993 B2 JP7844993 B2 JP 7844993B2 JP 2022058790 A JP2022058790 A JP 2022058790A JP 2022058790 A JP2022058790 A JP 2022058790A JP 7844993 B2 JP7844993 B2 JP 7844993B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- image processing
- layer
- machine learning
- image
- 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
Links
Landscapes
- Image Analysis (AREA)
Description
本開示は、画像処理方法、画像処理装置、およびコンピュータープログラムの技術に関する。 This disclosure relates to image processing methods, image processing devices, and computer programs.
従来、複数の画像処理フィルターを組み合わせた画像処理シーケンスを複数生成し、複数の画像処理シーケンスのうちで、画像処理によって所望とする画像を取得できる画像処理シーケンスを決定する技術が知られている(特許文献1)。また従来、ニューラルネットワーク型の機械学習モデルを用いた対象の認識について、画像における特徴点を用いた位置合わせなどの前処理を行った後に、前処理後の画像を用いて機械学習モデルの学習を行う技術が知られている(特許文献2)。 Conventionally, a technique is known in which multiple image processing sequences are generated by combining multiple image processing filters, and then an image processing sequence is determined from among these multiple sequences to obtain the desired image (Patent Document 1). Furthermore, conventionally, a technique is known in which, for object recognition using a neural network type machine learning model, preprocessing such as alignment using feature points in the image is performed, and then the machine learning model is trained using the preprocessed image (Patent Document 2).
特許文献1の技術では、遺伝的プログラミングを用いることにより、複数の画像処理シーケンスを生成して評価を世代ごとに繰り返し行うことで、評価の高い画像処理シーケンスを取得している。しかしながら、特許文献1の技術では、複数の画像処理フィルターを組み合わせた画像処理シーケンスのみを対象に評価を行っているため、画像処理シーケンスによる画像処理と、画像処理とは異なる他の処理が組み合わさった複雑な処理において、所望とする処理結果を精度良く得ることが困難な場合が生じ得る。 The technology described in Patent Document 1 uses genetic programming to generate multiple image processing sequences and repeatedly evaluate them generation by generation to obtain a highly-rated image processing sequence. However, since the technology in Patent Document 1 only evaluates image processing sequences that combine multiple image processing filters, it may be difficult to obtain the desired processing results with high accuracy in complex processing that combines image processing sequences with other processes unrelated to image processing.
特許文献2の技術では、複数種類の前処理のそれぞれについて、対応した複数の機械学習モデルを学習して統合している。このように、特許文献2の技術では、複数種類の前処理に対応した複数の機械学習モデルを学習して統合する必要があるため、所望とする処理結果を得るための最適な前処理を得ることが困難となる場合が生じ得る。 The technology described in Patent Document 2 involves training and integrating multiple machine learning models corresponding to each of several types of preprocessing. Thus, because the technology in Patent Document 2 requires training and integrating multiple machine learning models corresponding to multiple types of preprocessing, it may become difficult to obtain the optimal preprocessing for achieving the desired processing results.
よって、従来より、画像処理シーケンスによる画像処理と画像処理後に行う機械学習モデルを用いた処理とを組み合わせた技術において、機械学習モデルの学習に最適な画像処理シーケンスを得ることができる技術が望まれている。 Therefore, there has been a long-standing need for a technology that can obtain an optimal image processing sequence for training a machine learning model, in a technique that combines image processing using image processing sequences with post-processing using machine learning models.
本開示の第1の形態によれば、画像処理方法が提供される。この画像処理方法は、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する工程と、(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する工程と、(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する工程と、(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する工程と、を備え、前記工程(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する工程を含み、前記工程(b)から前記工程(e)は、前記新たなシーケンスセットに対して再び実行される。 According to a first embodiment of this disclosure, an image processing method is provided. This image processing method comprises: (a) generating a sequence set consisting of a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing; (b) processing a plurality of training images with each of the plurality of image processing sequences, and generating an intermediate image group for each of the plurality of image processing sequences, which is a set of a plurality of intermediate images that are images after image processing; (c) inputting the intermediate image group for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which have an input layer, an intermediate layer, and an output layer, and performing training of the machine learning model so that the layer output, which is the output of the output layer, approaches a target output that is a predetermined target for each of the plurality of training images; and (d) the corresponding plurality For each machine learning model, the process includes: (a) a step of comparing the layer output with the target output to calculate an output evaluation value indicating the degree of similarity between the layer output and the target output; and (b) a step of identifying the machine learning model from which the maximum output evaluation value, which is the highest output evaluation value among the multiple output evaluation values calculated for each of the multiple machine learning models, was calculated, and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the maximum output evaluation value was calculated, if the maximum output evaluation value is less than the threshold, a step of generating a new sequence set by replacing one or more of the generated image processing sequences that have low performance evaluation values regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of the sequence elements; and steps (b) to (e) are executed again on the new sequence set.
本開示の第2形態によれば、画像処理装置が提供される。この画像処理装置は、シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する画像処理部と、前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する学習部と、対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する評価部と、を備え、前記評価部は、前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスとを特定し、前記シーケンス生成部は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する。 According to a second embodiment of this disclosure, an image processing apparatus is provided. This image processing apparatus includes: a sequence generation unit that generates a sequence set consisting of a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing; an image processing unit that processes a plurality of training images using each of the plurality of image processing sequences and generates an intermediate image group for each of the plurality of image processing sequences, which is a set of a plurality of intermediate images that are images after image processing; and inputs the intermediate image group for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which has an input layer, an intermediate layer, and an output layer, so that the layer output, which is the output of the output layer, approaches a target output that is predetermined for each of the plurality of training images. The system comprises a learning unit that performs learning of the model, and an evaluation unit that, for each of the multiple corresponding machine learning models, compares the layer output with the target output and calculates an output evaluation value indicating the degree of similarity between the layer output and the target output. The evaluation unit, if the maximum output evaluation value (the highest output evaluation value among the multiple output evaluation values calculated for each of the multiple machine learning models) is higher than a predetermined threshold, identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model. If the maximum output evaluation value is less than the threshold, the sequence generation unit generates a new sequence set by replacing one or more image processing sequences with low performance evaluation values regarding the prediction accuracy of the machine learning model with image processing sequences composed of new combinations of sequence elements.
本開示の第3形態によれば、コンピュータープログラムが提供される。このコンピュータープログラムは、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する機能と、(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する機能と、(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する機能と、(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する機能と、をコンピューターに実行させ、前記機能(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する機能を含み、前記機能(b)から前記機能(e)は、前記新たなシーケンスセットに対して再び実行される。 According to a third embodiment of this disclosure, a computer program is provided. This computer program has the following functions: (a) a function to generate a sequence set consisting of a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein the sequence elements are: (b) a function to process a plurality of training images using each of the plurality of image processing sequences, and to generate a group of intermediate images, which is a set of intermediate images, which are the images after image processing, for each of the plurality of image processing sequences; (c) a function to input the group of intermediate images for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which have an input layer, an intermediate layer, and an output layer, and to perform training of the machine learning model so that the layer output, which is the output of the output layer, approaches a target output that is a predetermined target for each of the plurality of training images; and (d) the corresponding plurality of machines For each machine learning model, the computer is instructed to perform the following functions: (a) a function that compares the layer output with the target output to calculate an output evaluation value indicating the degree of similarity between the layer output and the target output; (e) a function that identifies the machine learning model from which the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, and identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the maximum output evaluation value was calculated; and (a) a function that generates a new sequence set by replacing one or more of the generated image processing sequences that have low performance evaluation values regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of the sequence elements, and functions (b) to (e) are executed again on the new sequence set.
A.実施形態:
図1は、実施形態の生成システム10を説明するための図である。生成システム10は、画像処理装置としての生成装置20と、撮像装置200とを備える。生成装置20と撮像装置200とは、有線や無線によってデータを送受信可能である。撮像装置200は、カメラであり、対象物を撮像して撮像画像を取得する。撮像装置200によって取得された撮像画像は、生成装置20に送信される。
A. Embodiments:
Figure 1 is a diagram illustrating a generation system 10 of an embodiment. The generation system 10 comprises a generation device 20 as an image processing device and an imaging device 200. The generation device 20 and the imaging device 200 can transmit and receive data via wired or wireless means. The imaging device 200 is a camera that captures an image of an object and acquires an image. The image acquired by the imaging device 200 is transmitted to the generation device 20.
生成装置20は、前処理シーケンス生成機能と、機械学習モデル生成機能と、結果出力機能とを有する。前処理シーケンス機能は、機械学習モデルの予測精度を高めるために、機械学習モデルに入力される中間画像を画像から得るための特定画像処理シーケンスDSqを生成する機能である。機械学習モデル生成機能は、複数の中間画像を入力してニューラルネットワーク型の機械学習モデルを学習して、学習後の機械学習モデルを生成する機能である。結果出力機能は、特定画像処理シーケンスDSqによって画像を画像処理して中間画像を取得し、機械学習モデル生成機能によって生成された学習済の機械学習モデルに中間画像を入力して、出力層の出力を得る機能である。本実施形態の生成装置20は、学習画像LMを元に、所望の目的を達成するための機械学習モデルを自動で生成する。例えば、対象物の画像から対象物が良品であるか不良品であるかを判定するという検査を所望の目的としている場合、特定画像処理シーケンスDSqを用いて、対象物の画像を画像処理して中間画像を生成し、生成した中間画像を学習済の機械学習モデルに入力することで、対象物が良品であるか不良品であるかを判定する。また、本実施形態の生成装置20は、予測精度の高い機械学習モデルを生成するために、学習画像から学習のために入力される中間画像を生成するための最適な特定画像処理シーケンスDSqを自動で生成する。 The generation device 20 has a preprocessing sequence generation function, a machine learning model generation function, and a result output function. The preprocessing sequence function generates a specific image processing sequence DSq to obtain intermediate images from images to be input to the machine learning model in order to improve the prediction accuracy of the machine learning model. The machine learning model generation function trains a neural network type machine learning model by inputting multiple intermediate images and generates a trained machine learning model. The result output function obtains intermediate images by image processing the image using the specific image processing sequence DSq, inputs the intermediate images into the trained machine learning model generated by the machine learning model generation function, and obtains the output of the output layer. In this embodiment, the generation device 20 automatically generates a machine learning model to achieve a desired objective based on the trained image LM. For example, if the desired objective is to inspect whether an object is good or defective from an image of the object, the specific image processing sequence DSq is used to image process the image of the object to generate intermediate images, and the generated intermediate images are input into the trained machine learning model to determine whether the object is good or defective. Furthermore, the generation device 20 of this embodiment automatically generates an optimal specific image processing sequence DSq for generating intermediate images to be input for training from training images, in order to generate a machine learning model with high prediction accuracy.
前処理シーケンス生成機能は、複数の画像処理シーケンスSqを、遺伝的プログラミングを用いて生成し、生成した複数の画像処理シーケンスSqの中から学習に最適な画像処理後の中間画像を得るための特定画像処理シーケンスDSqを特定する。本実施形態では、前処理シーケンス生成機能と機械学習モデル生成機能と結果出力機能とは、一つの生成装置20に搭載されているが、これに限定されるものではない。他の実施形態では、前処理シーケンス生成機能と機械学習モデル生成機能と結果出力機能とは、別々の装置に搭載されていてもよいし、クラウド上に存在していてもよい。 The preprocessing sequence generation function generates multiple image processing sequences (Sq) using genetic programming, and identifies a specific image processing sequence (DSq) from among the generated sequences (Sq) to obtain the optimal intermediate image after image processing for training. In this embodiment, the preprocessing sequence generation function, machine learning model generation function, and result output function are all mounted on a single generation device (20), but this is not limited to that. In other embodiments, the preprocessing sequence generation function, machine learning model generation function, and result output function may be mounted on separate devices or reside in the cloud.
生成装置20は、パーソナルコンピューターなどの電子計算機である。生成装置20は、プロセッサー25と、記憶装置70と、入力部150と、表示部160とを備える。プロセッサー25は、記憶装置70に記憶された各種プログラムを実行することで、生成装置20の動作を制御する。プロセッサー25の詳細な機能は後述する。記憶装置70は、RAMやROMなどのメモリーにより構成されている。記憶装置70は、プロセッサー25の各機能を実現するための各種プログラムなどを記憶する。記憶装置70の詳細は後述する。入力部150は、外部からの情報を受け付けるインターフェースである。入力部150は、例えば、撮像装置200からの撮像画像の入力を受け付けたり、ユーザーが他の装置を用いて生成した画像の入力を受け付けたりする。表示部160は、各種情報を表示する。表示部160は、例えば、液晶モニターである。 The generation device 20 is an electronic computer, such as a personal computer. The generation device 20 comprises a processor 25, a storage device 70, an input unit 150, and a display unit 160. The processor 25 controls the operation of the generation device 20 by executing various programs stored in the storage device 70. The detailed functions of the processor 25 will be described later. The storage device 70 is composed of memory such as RAM or ROM. The storage device 70 stores various programs for realizing the functions of the processor 25. Details of the storage device 70 will be described later. The input unit 150 is an interface for receiving information from the outside. For example, the input unit 150 accepts input of captured images from the imaging device 200, or input of images generated by the user using other devices. The display unit 160 displays various information. The display unit 160 is, for example, a liquid crystal monitor.
プロセッサー25は、記憶装置70の各種プログラムを実行することで、シーケンス生成部30と、画像処理部40と、学習評価部50と、表示制御部60として機能する。なお、プロセッサー25によって実行される機能の一部は、ハードウェア回路によって実現されてもよい。ここで、本開示において、「プロセッサー」は、CPUやGPUを包含する用語である。 The processor 25 functions as a sequence generation unit 30, an image processing unit 40, a learning and evaluation unit 50, and a display control unit 60 by executing various programs in the storage device 70. Some of the functions performed by the processor 25 may be implemented by hardware circuits. Here, in this disclosure, "processor" is a term that encompasses CPUs and GPUs.
シーケンス生成部30は、個体IVによって示された遺伝子の配列を木構造のように構造的に表現することで、シーケンス要素の組み合わせが異なる複数の画像処理シーケンスSqによって構成されるシーケンスセットを生成する。画像処理シーケンスSqは、複数のシーケンス要素の組み合わせによって表されている。シーケンス要素としては、(i)画像を入力するノードである画像入力層と、(ii)画像入力層と画像出力層との間の中間のノードである、画像処理フィルターとしての画像処理層と、(iii)最終的な画像処理後の画像である中間画像MMを出力するノードである画像出力層とがある。 The sequence generation unit 30 structurally represents the gene sequence indicated by individual IV in a tree-like structure, thereby generating a sequence set composed of multiple image processing sequences Sq with different combinations of sequence elements. The image processing sequence Sq is represented by a combination of multiple sequence elements. These sequence elements include (i) an image input layer, which is a node for inputting an image; (ii) an image processing layer, which is an intermediate node between the image input layer and the image output layer, acting as an image processing filter; and (iii) an image output layer, which is a node for outputting an intermediate image MM, which is the final image after image processing.
シーケンス生成部30は、個体生成部32と、遺伝子翻訳部34とを備える。個体生成部32は、一次元または二次元に配列された複数の遺伝子によって構成される個体IVを生成する。個体IVを構成する各遺伝子は、画像入力層inと、画像処理層の種類、本実施形態では画像処理フィルターFtとをそれぞれ表す数値である。数値範囲ごとに、画像入力層inや異なる画像処理フィルターFtが割り当てられる。つまり、個体IVは、画像入力層inおよび画像処理層Ftのそれぞれに対応した遺伝子を配列することで生成される。個体生成部32は、一つの世代ごとに、予め定めた数の個体IVを生成する。本実施形態では、個体生成部32は、一次元に遺伝子を配列することで、予め定めた遺伝子長の個体IVを生成する。一つの世代ごとにおいて、複数の画像処理シーケンスSqのシーケンス要素の組み合わせは異なる。個体生成部32は、一番初めの1世代目については、個体IVの各遺伝子座に、0から1までの小数点第3位までの数値を遺伝子としてランダムに配置することで、複数の個体IVから構成される個体群84を生成する。個体生成部32は、二世代以降については、前回の親世代の個体IVから交叉と突然変異との少なくとも一つの手法を用いて個体IVを新たに生成することで、新たに生成した個体IVと、親世代で維持、すなわち親世代の個体IVを複製した個体IVとの集合である個体群84を生成する。 The sequence generation unit 30 comprises an individual generation unit 32 and a gene translation unit 34. The individual generation unit 32 generates individual IV, which is composed of multiple genes arranged in one or two dimensions. Each gene constituting individual IV is a numerical value representing an image input layer in, an image processing layer type, and in this embodiment, an image processing filter Ft. Different image input layers in and different image processing filters Ft are assigned to each numerical range. In other words, individual IV is generated by arranging genes corresponding to the image input layer in and the image processing layer Ft, respectively. The individual generation unit 32 generates a predetermined number of individual IV for each generation. In this embodiment, the individual generation unit 32 generates individual IV with a predetermined gene length by arranging genes in one dimension. In each generation, the combination of sequence elements of multiple image processing sequences Sq is different. For the very first generation, the individual generation unit 32 generates a population 84 consisting of multiple individual IVs by randomly assigning numerical values from 0 to 1 (up to three decimal places) as genes to each gene locus of individual IV. For subsequent generations, the individual generation unit 32 generates new individual IVs from the previous parent generation's individual IVs using at least one method, such as crossover and mutation, thereby generating a population 84 consisting of the newly generated individual IVs and individual IVs maintained in the parent generation, i.e., individuals IVs that have been replicated from the parent generation's individual IVs.
遺伝子翻訳部34は、記憶装置70に記憶された後述する遺伝子テーブル82を参照することで、個体IVの各遺伝子を翻訳して木構造で表された画像処理シーケンスSqを生成する。遺伝子テーブル82は、遺伝子である数値の数値範囲ごとに対応する画像処理フィルターと、各シーケンス要素の接続関係を規定したテーブルである。 The gene translation unit 34 translates each gene of individual IV by referring to the gene table 82, which is stored in the memory device 70 (described later), and generates an image processing sequence Sq represented as a tree structure. The gene table 82 is a table that defines the corresponding image processing filters for each numerical range of the numerical values that constitute the genes, and the connection relationships between each sequence element.
画像処理部40は、遺伝子翻訳部34が生成した画像処理シーケンスSqや、記憶装置70に記憶された特定画像処理シーケンスDSqを用いて、画像入力層に入力された画像を画像処理して画像出力層から画像処理後の中間画像を出力する。 The image processing unit 40 processes the image input to the image input layer using the image processing sequence Sq generated by the gene translation unit 34 and the specific image processing sequence DSq stored in the memory device 70, and outputs the processed intermediate image from the image output layer.
学習評価部50は、記憶装置70に記憶された後述するニューラルネットワーク型の機械学習モデル88を学習して評価する。学習評価部50は、学習部52と、評価部54とを有する。学習部52は、後述する学習データ74の学習画像LMを画像処理シーケンスSqによって画像処理して生成した中間画像MMを用いて機械学習モデル88の学習を実行する。評価部54は、学習した機械学習モデル88についての評価処理を実行する。評価部54は、機械学習モデル88の中間層から出力された中間出力を用いた第1種評価処理と、出力層から出力された層出力を用いた第2種評価処理とを実行可能である。また、評価部54は、画像を機械学習モデル88に入力することで出力された層出力を元に予測結果を生成する。評価部54が実行する評価処理の詳細は後述する。 The learning and evaluation unit 50 learns and evaluates the neural network type machine learning model 88, which will be described later, stored in the memory device 70. The learning and evaluation unit 50 comprises a learning unit 52 and an evaluation unit 54. The learning unit 52 performs learning of the machine learning model 88 using intermediate images MM generated by image processing the learning images LM of the learning data 74 (described later) using the image processing sequence Sq. The evaluation unit 54 performs evaluation processing on the learned machine learning model 88. The evaluation unit 54 can perform a first-type evaluation process using the intermediate output output from the intermediate layer of the machine learning model 88, and a second-type evaluation process using the layer output output from the output layer. Furthermore, the evaluation unit 54 generates prediction results based on the layer output output by inputting images into the machine learning model 88. Details of the evaluation processing performed by the evaluation unit 54 will be described later.
表示制御部60は、各種情報を表示部160に表示させる。表示制御部60は、例えば、特定画像処理シーケンスDSqや、個体IVによって表された画像処理シーケンスSqによって画像処理された処理後画像などを表示部160に表示させる。 The display control unit 60 displays various information on the display unit 160. For example, the display control unit 60 displays the processed image on the display unit 160, which is processed by a specific image processing sequence DSq or an image processing sequence Sq represented by individual IV.
図2は、記憶装置70を説明するための図である。記憶装置70は、学習データ74と、画像フィルター群80と、遺伝子テーブル82と、個体群84と、中間画像群86と、機械学習モデル88と、特定データ90と、各種プログラム95と、を記憶する。特定データ90は、特定画像処理シーケンスDSqと、モデルパラメーター94とを有する。モデルパラメーター94は、評価部54によって予め定めた基準条件を満たすと判定された学習済の機械学習モデル88のパラメーターである。モデルパラメーター94は、機械学習モデル88の学習によって更新されるパラメーターであり、例えば、学習によって決定される重みやバイアスである。このモデルパラメーター94を有する機械学習モデル88を学習済特定モデル88とも呼ぶ。特定画像処理シーケンスDSqは、学習済特定モデル88の学習に用いた学習データ74の生成に用いた画像処理シーケンスSqである。特定画像処理シーケンスDSqは、例えば、複数の画像処理層である複数の画像処理フィルターを識別する層識別子と、層識別子の順番、すなわち接続関係とによって表される。各種プログラム95は、プロセッサー25によって実行されるプログラムである。 Figure 2 is a diagram illustrating the storage device 70. The storage device 70 stores training data 74, image filter group 80, gene table 82, population 84, intermediate image group 86, machine learning model 88, specific data 90, and various programs 95. The specific data 90 has a specific image processing sequence DSq and model parameters 94. The model parameters 94 are parameters of a trained machine learning model 88 that has been determined by the evaluation unit 54 to satisfy predetermined criteria. The model parameters 94 are parameters that are updated by the training of the machine learning model 88, such as weights and biases determined by training. The machine learning model 88 having these model parameters 94 is also called a trained specific model 88. The specific image processing sequence DSq is the image processing sequence Sq used to generate the training data 74 used to train the trained specific model 88. The specific image processing sequence DSq is represented, for example, by layer identifiers that identify multiple image processing filters, which are multiple image processing layers, and by the order of these layer identifiers, i.e., their connection relationships. The various programs 95 are programs executed by the processor 25.
図3は、学習データ74の一例を示す図である。学習データ74は、学習画像LMと、学習画像に関連付けられた正解データである目標出力GTとを有する。目標出力GTは、複数の学習画像LMごとに予め定められた目標となる出力である。学習画像LMは、例えば、工業製品である回路基板の画像である。目標出力GTは、例えば、製造した工業製品の検査結果を示すデータである。本実施形態では、良品を示すラベルであるラベル0と、不良品を示すラベルであるラベル1とのいずれかである。つまり、本実施形態では、目標出力GTは、「0」か「1」のいずれかであり離散値である。ラベルはクラスとも呼ばれる。学習画像LMは複数準備されている。学習画像LM1は、良品の回路基板を撮像装置200で撮像した画像であり、良品を示すラベル0が関連付けられている。学習画像LM2は、欠陥部分DAが存在する回路基板を撮像装置200で撮像した画像であり、不良品を示すラベル1が関連付けられている。 Figure 3 shows an example of training data 74. Training data 74 consists of training images LM and target outputs GT, which are ground truth data associated with the training images. Target outputs GT are predetermined target outputs for each of the multiple training images LM. Training images LM are, for example, images of circuit boards, which are industrial products. Target outputs GT are, for example, data showing the inspection results of manufactured industrial products. In this embodiment, this is either label 0, which indicates a good product, or label 1, which indicates a defective product. That is, in this embodiment, target outputs GT are either "0" or "1" and are discrete values. Labels are also called classes. Multiple training images LM are prepared. Training image LM1 is an image of a good circuit board captured by the imaging device 200, and is associated with label 0, which indicates a good product. Training image LM2 is an image of a circuit board with a defect DA present, captured by the imaging device 200, and is associated with label 1, which indicates a defective product.
学習データ74の各学習画像LMは、シーケンス生成部30によって生成した個体IVが表す画像処理シーケンスSqによって画像処理される。これにより、学習画像LMから中間画像MMが生成される。例えば、学習画像LM1から中間画像MM1が生成され、学習画像LM2から中間画像MM2が生成される。中間画像MMと、中間画像MMに関連付けられたラベルとをセットとして、機械学習モデル88に入力されることで学習が行われる。機械学習モデル88の予測精度を高めるために、画像処理シーケンスSqによって画像処理した中間画像MMが機械学習モデル88の学習に用いられる。例えば、画像処理シーケンスSqによって、欠陥部分DAと欠陥部分DA以外の正常部分との違いがより強調された画像となるような画像処理が施されたりする。なお、他の実施形態では、目標出力GTは離散値でなくてもよい。例えば、目標出力GTは、画像であってもよい。例えば、目標出力GTは、欠陥部分DAが黒画像、欠陥部分DA以外が白画像の二値化画像であってもよい。 Each training image LM of the training data 74 is processed by an image processing sequence Sq represented by individual IV generated by the sequence generation unit 30. This generates intermediate images MM from the training images LM. For example, intermediate image MM1 is generated from training image LM1, and intermediate image MM2 is generated from training image LM2. The intermediate images MM and their associated labels are input as a set to the machine learning model 88 for training. To improve the prediction accuracy of the machine learning model 88, the intermediate images MM processed by the image processing sequence Sq are used for training the machine learning model 88. For example, the image processing sequence Sq may perform image processing such that the difference between the defective area DA and the normal area excluding the defective area DA is more emphasized. In other embodiments, the target output GT does not have to be a discrete value. For example, the target output GT may be an image. For example, the target output GT may be a binarized image where the defective area DA is a black image and the area excluding the defective area DA is a white image.
図2に示す画像フィルター群80は、画像処理シーケンスSqにおいてシーケンス要素の候補となる複数の画像フィルターの集合である。画像フィルターとしては、平均値フィルター、最大値フィルター、最小値フィルター、二値化フィルター、移動平均フィルター、ラプラシアンフィルター、ガウシアンフィルター、ソーベルフィルター、ガンマ補正フィルター、2つの画像を一つの画像に合成するフィルターなどが挙げられる。なお、画像処理フィルターは、同じ種類のフィルターであっても、カーネルサイズや係数が異なる場合には、異なる画像処理フィルターとして画像フィルター群80に記憶される。 The image filter group 80 shown in Figure 2 is a collection of multiple image filters that are candidates for sequence elements in the image processing sequence Sq. Examples of image filters include mean filters, maximum value filters, minimum value filters, binarization filters, moving average filters, Laplacian filters, Gaussian filters, Sobel filters, gamma correction filters, and filters that combine two images into one. Note that even if image processing filters are of the same type, if their kernel size or coefficients differ, they are stored in the image filter group 80 as different image processing filters.
遺伝子テーブル82は、画像処理シーケンスSqの候補となるシーケンス要素の接続関係と、遺伝子が示す数値に対応する画像処理フィルターの種別との対応関係とを示すテーブルである。 Gene Table 82 is a table showing the relationship between the connection of sequence elements that are candidates for the image processing sequence Sq, and the correspondence between the numerical values represented by the genes and the types of image processing filters that correspond to them.
図4は、遺伝子テーブル82を説明するための図である。以下では、理解の容易の為に、画像フィルター群80は、5つの画像処理フィルターFtA~FtEで構成されているとする。実際には、5つよりも多い数の画像処理フィルターが、画像処理フィルター群に記憶されている。遺伝子テーブル82は、画像処理フィルターの種別を示すフィルター種別ごとに、入力数と出力数と出現範囲とが規定されている。シーケンス要素種別としてのフィルター種別は、画像フィルター群80の各画像処理フィルターや、画像入力層を識別する識別子である。図4では、画像入力層は、フィルター種別が「in」で表されている。入力数は、画像処理フィルターや画像入力層の入力側に接続されるシーケンス要素の数を示す。入力数が「2」である場合には、2つのシーケンス要素から出力されたデータが、画像処理フィルターに入力される。出力数は、画像処理フィルターの出力側に接続されるシーケンス要素の数を示す。本実施形態では、出力数は全て「1」であり、画像処理層や画像入力層は、一つの出力側のシーケンス要素に接続される。 Figure 4 is a diagram illustrating the gene table 82. For ease of understanding, it is assumed that the image filter group 80 consists of five image processing filters FtA to FtE. In reality, more than five image processing filters are stored in the image processing filter group. The gene table 82 defines the number of inputs, outputs, and occurrence range for each filter type, which indicates the type of image processing filter. The filter type, as a sequence element type, is an identifier that identifies each image processing filter in the image filter group 80 and the image input layer. In Figure 4, the image input layer is represented by the filter type "in". The number of inputs indicates the number of sequence elements connected to the input side of the image processing filter or image input layer. When the number of inputs is "2", data output from two sequence elements is input to the image processing filter. The number of outputs indicates the number of sequence elements connected to the output side of the image processing filter. In this embodiment, the number of outputs is always "1", and the image processing layer and image input layer are connected to one output-side sequence element.
遺伝子テーブル82の出現範囲には、遺伝子の数値VGの範囲が規定されている。本実施形態では、各画像処理フィルターが均等な確率でランダムに画像処理シーケンスSq中に出現するように、0~1の数値を6等分している。例えば、遺伝子の数値VGが0以上0.167未満の値である場合には、この遺伝子には画像処理フィルターFtAが割り当てられる。 The appearance range of gene table 82 defines the range of the gene's numerical value VG. In this embodiment, the numerical value from 0 to 1 is divided into six equal parts so that each image processing filter appears randomly with equal probability in the image processing sequence Sq. For example, if the gene's numerical value VG is between 0 and 0.167, the image processing filter FtA is assigned to this gene.
図2に示す個体群84は、個体生成部32によって生成された1つの世代における複数の個体IVの集合である。図5は、一つの世代Gの個体群84を説明するための図である。本実施形態では、1つの世代Gで5つの個体IV1~IV5が生成される例を説明する。各個体IV1~IV5は、遺伝子を配置する複数の遺伝子座が一次元的に配列されている。各個体IV1~IV5の遺伝子長は同じである。各個体IV1~IV5は、No.1~No.10の遺伝子座に遺伝子を順に配列することで構成されている。個体生成部32は、各遺伝子座に、0から1までの小数点第3位までの数値で表された遺伝子を配置する。つまり、本実施形態では、各遺伝子座で遺伝子が取りうる値は、0以上1以下の小数点第3位までの数値である。 The population 84 shown in Figure 2 is a collection of multiple individuals IV in one generation generated by the individual generation unit 32. Figure 5 is a diagram illustrating the population 84 of one generation G. In this embodiment, an example is described in which five individuals IV1 to IV5 are generated in one generation G. Each individual IV1 to IV5 has multiple gene loci arranged one-dimensionally. The gene lengths of each individual IV1 to IV5 are the same. Each individual IV1 to IV5 is constructed by sequentially arranging genes in gene loci No. 1 to No. 10. The individual generation unit 32 places genes represented by numerical values from 0 to 1 to three decimal places in each gene locus. In other words, in this embodiment, the values that a gene can take at each gene locus are numerical values between 0 and 1 to three decimal places.
図2のさらなる説明を行う前に、図6を用いて、遺伝子翻訳部34による画像処理シーケンスSqの生成処理を説明する。図6は、遺伝子翻訳部34によって生成された木構造の画像処理シーケンスSqを示す図である。図6に示す画像処理シーケンスSqは、図5に示す個体IV1を元に生成された画像処理シーケンスSq1である。 Before further explaining Figure 2, we will use Figure 6 to explain the process of generating the image processing sequence Sq by the gene translation unit 34. Figure 6 shows the image processing sequence Sq of the tree structure generated by the gene translation unit 34. The image processing sequence Sq shown in Figure 6 is image processing sequence Sq1, which was generated based on individual IV1 shown in Figure 5.
遺伝子翻訳部34は、個体IVと、遺伝子テーブル82と、画像フィルター群80とを用いて、画像出力層out側から順に木構造の画像処理シーケンスSqを生成する。まず遺伝子翻訳部34は、画像出力層outを終端ノードに設定し、個体IVの遺伝子の配列順にシーケンス要素を接続していく。シーケンス要素の接続は、予め定めた接続ルールに従い実行される。本実施形態では、遺伝子の配列順に、終端ノード側から優先して配置すると共に、図6に示す左側の接続先を右側の接続先よりも優先して配置するというルールに従って、画像処理シーケンスSqが生成される。つまり、遺伝子の配列順に、画像出力層out側から画像処理層または画像入力層inを配置すると共に、入力側が複数に分かれている場合には、左側のシーケンスが画像入力層inとなるまで、左側を優先させる。なお、本実施形態では、画像出力層outの入力数は、「1」に予め設定されている。 The gene translation unit 34 generates a tree-structured image processing sequence Sq using individual IV, the gene table 82, and the image filter group 80, starting from the image output layer (out). First, the gene translation unit 34 sets the image output layer (out) as the terminal node and connects the sequence elements in the order of the genes in individual IV. The connection of the sequence elements is performed according to predetermined connection rules. In this embodiment, the image processing sequence Sq is generated according to the rules of prioritizing the placement from the terminal node side in the order of the gene sequence, and prioritizing the connection destination on the left side over the connection destination on the right side, as shown in Figure 6. In other words, the image processing layers or image input layers (in) are placed from the image output layer (out) side in the order of the gene sequence, and if the input side is divided into multiple parts, the left side is prioritized until the left sequence becomes the image input layer (in). In this embodiment, the number of inputs to the image output layer (out) is pre-set to "1".
遺伝子翻訳部34は、個体VI1のNo.1の遺伝子の数値VGである「0.534」と、遺伝子テーブル82とを参照して、「0.534」が画像処理フィルターFtDの出現範囲内にあることを特定する。これにより、画像出力層outの入力側に、画像処理フィルターFtDを接続する。次に、遺伝子翻訳部34は、遺伝子テーブル82を参照して画像処理フィルターFtDの入力数が「2」であることを特定することで、画像処理フィルターFtDの入力側に2つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、個体VI1のNo.2の遺伝子に対応するシーケンス要素を図6に示す左側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.2の遺伝子の数値VGである「0.292」と、遺伝子テーブル82とを参照して、「0.292」が画像処理フィルターFtBの出現範囲内であることを特定する。これにより、画像処理フィルターFtDの左側の入力側接続先に画像処理フィルターFtBを配置する。 The gene translation unit 34 refers to the numerical value VG of gene No. 1 of individual VI1, "0.534," and the gene table 82 to determine that "0.534" falls within the range of occurrence of image processing filter FtD. This connects image processing filter FtD to the input side of the image output layer 'out'. Next, the gene translation unit 34 refers to the gene table 82 to determine that the number of inputs to image processing filter FtD is "2," and places two sequence elements on the input side of image processing filter FtD. Specifically, the gene translation unit 34 places the sequence element corresponding to gene No. 2 of individual VI1 at the left input connection point shown in Figure 6. That is, the gene translation unit 34 refers to the numerical value VG of gene No. 2, "0.292," and the gene table 82 to determine that "0.292" falls within the range of occurrence of image processing filter FtB. This places image processing filter FtB at the left input connection point of image processing filter FtD.
次いで、遺伝子翻訳部34は、No.2の遺伝子が表す画像処理フィルターFtBと、遺伝子テーブル82とを参照して、画像処理フィルターFtBの入力数が「1」であることを特定することで、画像処理フィルターFtBの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.3の遺伝子の数値VGである「0.462」と、遺伝子テーブル82とを参照して、「0.462」が画像処理フィルターFtCの出現範囲内であることを特定する。これにより、No.3の遺伝子が示す画像処理フィルターFtBの入力側接続先に画像処理フィルターFtCを配置する。 Next, the gene translation unit 34 refers to the image processing filter FtB represented by gene No. 2 and the gene table 82, and identifies that the number of inputs to image processing filter FtB is "1," thereby placing one sequence element on the input side of image processing filter FtB. Specifically, the gene translation unit 34 refers to the numerical value VG of gene No. 3, "0.462," and the gene table 82, and identifies that "0.462" falls within the range of appearance of image processing filter FtC. This places image processing filter FtC at the input connection destination of image processing filter FtB indicated by gene No. 3.
次に、遺伝子翻訳部34は、No.3の遺伝子が表す画像処理フィルターFtCと、遺伝子テーブル82とを参照して、画像処理フィルターFtCの入力数が「1」であることを特定することで、画像処理フィルターFtCの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.4の遺伝子の数値VGである「0.856」と、遺伝子テーブル82とを参照して、「0.856」が画像入力層inの出現範囲内であることを特定する。これにより、No.3の遺伝子が示す画像処理フィルターFtCの入力側接続先に画像入力層inを配置する。これにより、図6の画像処理シーケンスSqの左側のシーケンスの生成は終了する。 Next, the gene translation unit 34 refers to the image processing filter FtC represented by gene No. 3 and the gene table 82, and identifies that the number of inputs to image processing filter FtC is "1". Therefore, it places one sequence element on the input side of image processing filter FtC. Specifically, the gene translation unit 34 refers to the numerical value VG of gene No. 4, "0.856", and the gene table 82, and identifies that "0.856" falls within the range of appearance of image input layer in. This places image input layer in at the input connection destination of image processing filter FtC indicated by gene No. 3. This completes the generation of the sequence on the left side of image processing sequence Sq in Figure 6.
ついで、遺伝子翻訳部34は、個体VI1のNo.5の遺伝子に対応するシーケンス要素を図6に示す右側の入力側接続先に配置する。つまり、遺伝子翻訳部34は、No.5の遺伝子の数値VGである「0.138」と、遺伝子テーブル82とを参照して、「0.138」が画像処理フィルターFtAの出現範囲内であることを特定する。これにより、画像処理フィルターFtDの右側の入力側接続先に画像処理フィルターFtAを配置する。 Next, the gene translation unit 34 places the sequence element corresponding to gene No. 5 of individual VI1 at the input connection destination on the right side, as shown in Figure 6. In other words, the gene translation unit 34 refers to the numerical value VG of gene No. 5, "0.138," and the gene table 82 to determine that "0.138" falls within the range of appearance of image processing filter FtA. This places image processing filter FtA at the input connection destination on the right side of image processing filter FtD.
また、遺伝子翻訳部34は、No.5の遺伝子が表す画像処理フィルターFtAと、遺伝子テーブル82とを参照して、画像処理フィルターFtAの入力数が「1」であることを特定することで、画像処理フィルターFtAの入力側に1つのシーケンス要素を配置する。具体的には、遺伝子翻訳部34は、No.6の遺伝子の数値VGである「0.932」と、遺伝子テーブル82とを参照して、「0.932」が画像入力層inの出現範囲内であることを特定する。これにより、No.5の遺伝子が示す画像処理フィルターFtAの入力側接続先に画像入力層inを配置する。これにより、図6の画像処理シーケンスSqの右側のシーケンスの生成は終了する。以上のように、遺伝子翻訳部34は、出力側シーケンス要素に接続される入力側接続先である入力側シーケンス要素が、全て画像入力層inになった場合には、個体IV1の全ての遺伝子を用いていない場合であっても、画像処理シーケンスSqの生成処理を終了する。なお、遺伝子翻訳部34は、個体IV1の全ての遺伝子を用いた場合において、入力側接続先である入力側シーケンス要素が全て画像入力層inになっていない場合には、残りの未接続の入力側シーケンス要素に画像入力層inを設定することで、画像処理シーケンスSqの生成処理を終了する。 Furthermore, the gene translation unit 34 refers to the image processing filter FtA represented by gene No. 5 and the gene table 82, and identifies that the number of inputs to the image processing filter FtA is "1," thereby placing one sequence element on the input side of the image processing filter FtA. Specifically, the gene translation unit 34 refers to the numerical value VG of gene No. 6, "0.932," and the gene table 82, and identifies that "0.932" is within the range of appearance of the image input layer in. As a result, the image input layer in is placed at the input connection destination of the image processing filter FtA indicated by gene No. 5. With this, the generation of the sequence on the right side of the image processing sequence Sq in Figure 6 is completed. As described above, if all input sequence elements, which are input connection destinations connected to output sequence elements, become image input layers in, the gene translation unit 34 terminates the generation process of the image processing sequence Sq, even if not all genes of individual IV1 are used. Furthermore, when using all the genes of individual IV1, if the gene translation unit 34 finds that not all input sequence elements, which are the input connection destinations, are image input layer in, it sets the remaining unconnected input sequence elements to image input layer in, thereby terminating the image processing sequence Sq generation process.
遺伝子翻訳部34は、入力側のシーケンス要素が全て画像入力層inになった場合には、個体IV1の全ての遺伝子を用いていない場合であっても、画像処理シーケンスSqの生成処理を終了する。 The gene translation unit 34 terminates the image processing sequence Sq generation process even if not all genes of individual IV1 are used, if all input sequence elements become image input layer in.
個体VI1で表される画像処理シーケンスSq1は、2つの画像入力層inを有する。一方の画像入力層inに入力された画像は、画像処理フィルターFtCによって画像処理された後に、次いで画像処理フィルターFtBによって画像処理され、第1処理画像が生成される。他方の画像入力層inに入力された画像は、画像処理フィルターFtAによって画像処理されて第2処理画像が生成される。第1処理画像と第2処理画像とは、画像処理フィルターFtDによって画像処理されて、画像出力層outによって一つの中間画像MMが出力される。 The image processing sequence Sq1, represented by individual VI1, has two image input layers in. An image input to one image input layer in is processed by image processing filter FtC, then by image processing filter FtB, generating a first processed image. An image input to the other image input layer in is processed by image processing filter FtA to generate a second processed image. The first and second processed images are then processed by image processing filter FtD, and an intermediate image MM is output by the image output layer out.
図2に示す、中間画像群86は、学習データ74の各学習画像LMを、各個体IVが表す複数の画像処理シーケンスSqで画像処理して生成した中間画像MMの集合である。各中間画像MMには、画像処理に用いた画像処理シーケンスSqと、生成元の学習画像LMのラベルとが関連付けられている。 As shown in Figure 2, the intermediate image group 86 is a collection of intermediate images MM generated by processing each training image LM of the training data 74 with multiple image processing sequences Sq represented by each individual IV. Each intermediate image MM is associated with the image processing sequence Sq used for image processing and the label of the original training image LM.
機械学習モデル88は、上述のごとくニューラルネットワーク型の機械学習モデルである。本実施形態では、機械学習モデル88は、例えば、畳み込みニューラルネットワーク型である。図7は、機械学習モデル88を説明するための図である。機械学習モデル88は、入力層L1と中間層L2と出力層L3とを備える。入力層L1は中間画像MMなどの予測対象となる画像を入力する層である。中間層L2は、少なくとも一つの層L22~L2Xを有する。中間層L2の各層L22~L2Xはそれぞれ、複数のノードNdによって構成され、入力層L1側の中間層L2を構成する各ノードNdから出力されたノード出力Cxである第1ノード出力は、次の中間層L2のノードNdに入力されてノード出力Cxである第2ノード出力が出力される。ノード出力Cxは、入力層L1に入力された画像から抽出された特徴量を示す値である。図7では、理解の容易のために、層L22の各ノードNdから出力されるノード出力Cxを、符号Cxa~Cxxを用いて示している。また、中間層L2の特定の層における複数のノードNdから出力されたノード出力Cxの集合や、中間層L2を構成する全ての層L22~L2Xの全ノードNdから出力されたノード出力Cxの集合を、中間出力Cとも呼ぶ。中間出力Cは、X個の各ノードNdから出力されたノード出力Cxを配列したX次元のベクトルであり、機械学習モデル88に入力される画像の特徴量を表す。 The machine learning model 88 is a neural network type machine learning model as described above. In this embodiment, the machine learning model 88 is, for example, a convolutional neural network type. Figure 7 is a diagram illustrating the machine learning model 88. The machine learning model 88 comprises an input layer L1, an intermediate layer L2, and an output layer L3. The input layer L1 is a layer into which an image to be predicted, such as an intermediate image MM, is input. The intermediate layer L2 has at least one layer L22 to L2X. Each layer L22 to L2X of the intermediate layer L2 is composed of multiple nodes Nd, and the first node output Cx, which is output from each node Nd constituting the intermediate layer L2 on the input layer L1 side, is input to the next node Nd of the intermediate layer L2 and outputs a second node output Cx. The node output Cx is a value that indicates the feature quantity extracted from the image input to the input layer L1. In Figure 7, for ease of understanding, the node outputs Cx from each node Nd in layer L22 are shown using the codes Cxa to Cxx. Furthermore, the set of node outputs Cx from multiple nodes Nd in a specific layer of the hidden layer L2, and the set of node outputs Cx from all nodes Nd in all layers L22 to L2X constituting the hidden layer L2, are also called the intermediate output C. The intermediate output C is an X-dimensional vector formed by the arrangement of node outputs Cx from X nodes Nd, and represents the image features input to the machine learning model 88.
出力層L3は、複数のノードFNdを有する。出力層L3は、中間層L2からの出力を用いて、予測結果を示す層出力FCを出力する。層出力FCは、各ノードFNdから出力された判定値FCa,FCbによって構成されたベクトルである。判定値FCa、FCbは、通常はソフトマックス関数によって正規化された値である。判定値FCa、FCbは確率を示しているとも言える。図1に示す評価部54は、例えば、出力層L3の各ノードFNd1,FNd2から出力された判定値FCa、FCbのうちで、最大の値を出力したノードFNd1,FNd2に対応したクラスを、予測結果として生成する。例えば、評価部54は、ノードFNd1から出力された判定値FCaが最大の値である場合には、予測結果として「良品」を示す結果情報を出力する。 The output layer L3 has multiple nodes FNd. The output layer L3 uses the output from the intermediate layer L2 to output a layer output FC indicating the prediction result. The layer output FC is a vector composed of the judgment values FCa and FCb output from each node FNd. The judgment values FCa and FCb are usually normalized values using the softmax function. It can also be said that the judgment values FCa and FCb represent probabilities. The evaluation unit 54 shown in Figure 1 generates a prediction result corresponding to the node FNd1 and FNd2 that output the maximum value among the judgment values FCa and FCb output from each node FNd1 and FNd2 of the output layer L3. For example, if the judgment value FCa output from node FNd1 is the maximum value, the evaluation unit 54 outputs result information indicating "good product" as the prediction result.
図8は、生成装置20が実行する処理を示すフローチャートである。この処理は、ステップS10の特定画像処理シーケンスDSqの生成処理および機械学習モデル88の学習処理を実行するステップと、ステップS10の後に実行されるステップS50の特定画像処理シーケンスDSqを利用した利用処理を実行するステップとを有する。ステップS10の工程は、生成装置20が有する前処理シーケンス生成機能と機械学習モデル生成機能とによって実行される。また、ステップS250の工程は、生成装置20が有する結果出力機能によって実行される。なお、ステップS10の工程を、事前処理工程とも呼ぶ。 Figure 8 is a flowchart showing the process executed by the generation device 20. This process includes the steps of: step S10, which involves generating a specific image processing sequence DSq and training the machine learning model 88; and step S50, which involves utilizing the specific image processing sequence DSq, executed after step S10. Step S10 is performed by the pre-processing sequence generation function and machine learning model generation function of the generation device 20. Step S250 is performed by the result output function of the generation device 20. Step S10 is also referred to as the pre-processing step.
図9は、ステップS10の事前処理工程を示す第1フローチャートである。図10は、ステップS10の事前処理工程を示す第2フローチャートである。図11は、事前処理工程を説明するための図である。 Figure 9 is a first flowchart showing the pre-treatment process in step S10. Figure 10 is a second flowchart showing the pre-treatment process in step S10. Figure 11 is a diagram illustrating the pre-treatment process.
図9に示すように、まず、記憶装置70は、ステップS101において、複数の画像処理フィルターを画像フィルター群80として記憶する。ステップS101は、ユーザーが、特定画像処理シーケンスDSqで用いる候補となる複数の画像処理フィルターを生成装置20に入力することで実行される。また、記憶装置70は、ステップS102において、正解データである目標出力GTが関連付けられた複数の学習画像LMによって構成された学習データ74を記憶する。ステップS102は、ユーザーが、目標出力GTを関連付けた複数の学習画像LMを生成装置20に入力することで実行される。なお、ステップS101とステップS102の順序はこれに限定されるものではない。 As shown in Figure 9, first, in step S101, the storage device 70 stores a plurality of image processing filters as an image filter group 80. Step S101 is executed when the user inputs a plurality of candidate image processing filters to be used in a specific image processing sequence DSq to the generation device 20. Then, in step S102, the storage device 70 stores training data 74, which consists of a plurality of training images LM associated with the target output GT, which is the correct answer data. Step S102 is executed when the user inputs a plurality of training images LM associated with the target output GT to the generation device 20. Note that the order of steps S101 and S102 is not limited to this.
次に、ステップS103において、個体生成部32は、現世代Gnについての複数の個体IVnから構成される個体群84を生成する。個体群84は、複数の個体IVn1~IVn5によって構成されている。生成された個体群84は、記憶装置70に記憶される。次に、ステップS104において、遺伝子翻訳部34は、各個体IVn1~IVn5のうちで一つを選択して、遺伝子テーブル82を参照することで選択した一つの個体IVnを翻訳して画像処理シーケンスSqを生成する。 Next, in step S103, the individual generation unit 32 generates a population 84 consisting of multiple individuals IVn for the current generation Gn . The population 84 is composed of multiple individuals IVn1 to IVn5 . The generated population 84 is stored in the storage device 70. Next, in step S104, the gene translation unit 34 selects one of the individuals IVn1 to IVn5 and translates the selected individual IVn by referring to the gene table 82 to generate an image processing sequence Sq.
次に、ステップS105において、画像処理部40はステップS104で生成された画像処理シーケンスSqを用いて学習画像LMを画像処理して中間画像MMを生成する。次に、画像処理部40は、ステップS106において、生成した中間画像MMを記憶装置70に出力する。これにより、記憶装置70は、中間画像MMを中間画像群86として記憶する。中間画像MMは、画像処理に用いた画像処理シーケンスSqを識別するためのシーケンス識別子と関連付けられている。 Next, in step S105, the image processing unit 40 processes the training image LM using the image processing sequence Sq generated in step S104 to generate an intermediate image MM. Then, in step S106, the image processing unit 40 outputs the generated intermediate image MM to the storage device 70. The storage device 70 then stores the intermediate image MM as an intermediate image group 86. The intermediate image MM is associated with a sequence identifier for identifying the image processing sequence Sq used in the image processing.
次に、ステップS107において、画像処理部40は現世代Gnの個体IV全てについてステップS104~ステップS106の処理を実行したか否かを判定する。ステップS107において「No」の判定が成された場合には、再びステップS104以降の処理が実行される。この場合、ステップS104において遺伝子翻訳部34は、ステップS104~ステップS106の処理が完了していない残りの個体IVnから一つを選択して画像処理シーケンスSqを生成する。一方で、ステップS107において「Yes」の判定が成された場合には、図10に示す処理フローが実行される。図11に示すように、現世代Gnの各個体IVn1~IVn5に応じた各画像処理シーケンスSqで学習画像LMが画像処理されて中間画像MMが生成される。図11では、個体IVn1~IVn5のそれぞれの画像処理シーケンスSqによって生成された中間画像MMを中間画像MM_1~MM_5として図示している。現世代Gnにおける各個体IVn1~IVn5について、ステップS104~ステップS107の処理が実行された場合、中間画像MM_1~MM_5が個体群84として記憶装置70に記憶される。中間画像MM_1~MM_5はそれぞれ、複数の学習画像LMに対応して複数生成されている。一つの画像処理シーケンスSqによって生成される複数の中間画像MMの集合を中間画像群GMMとも呼ぶ。以上のように、ステップS104~ステップS107の工程は、複数の画像処理シーケンスSqによって複数の学習画像LMを画像処理し、複数の画像処理シーケンスSqごとに、画像処理後の画像である複数の中間画像MMの集合である中間画像群GMMを生成する工程である。 Next, in step S107, the image processing unit 40 determines whether or not the processing in steps S104 to S106 has been performed for all individuals IV of the current generation G n . If the determination in step S107 is "No", the processing from step S104 onwards is executed again. In this case, in step S104, the gene translation unit 34 selects one of the remaining individuals IV n for which the processing in steps S104 to S106 has not been completed and generates an image processing sequence Sq. On the other hand, if the determination in step S107 is "Yes", the processing flow shown in Figure 10 is executed. As shown in Figure 11, the learning image LM is image processed with each image processing sequence Sq corresponding to each individual IV n 1 to IV n 5 of the current generation G n to generate an intermediate image MM. In Figure 11, the intermediate images MM generated by each image processing sequence Sq for individuals IV n 1 to IV n 5 are shown as intermediate images MM_1 to MM_5. For each individual IVn1 to IVn5 in the current generation Gn , when the processing in steps S104 to S107 is executed, intermediate images MM_1 to MM_5 are stored in the memory device 70 as the individual group 84. Multiple intermediate images MM_1 to MM_5 are generated, each corresponding to multiple training images LM. The set of multiple intermediate images MM generated by one image processing sequence Sq is also called the intermediate image group GMM. As described above, the process in steps S104 to S107 is a process of image processing multiple training images LM using multiple image processing sequences Sq, and generating an intermediate image group GMM, which is a set of multiple intermediate images MM that are the images after image processing, for each of the multiple image processing sequences Sq.
図10に示すように、ステップS108において、学習評価部50は、現世代Gnの個体IVn1~IVn5の中から選択された一つの個体IVn1が表す画像処理シーケンスSqを用いて生成された中間画像群GMMを、学習前の機械学習モデル88の入力層L1に入力する。またステップS108において、学習評価部50は、機械学習モデル88の中間層L2の各ノードNdから出力された中間出力Cを取り出す。取り出された各ノードNdの中間出力Cは、記憶装置70に記憶される。またステップS108において、学習評価部50は、機械学習モデル88の出力層L3の各ノードFNdから出力された層出力FCを取り出す。取り出された各ノードFNdの層出力FCは、記憶装置70に記憶される。学習前の機械学習モデル88の重みやバイアスなどのパラメーターは、予め定めた初期値と、ランダムな値と、過去に学習によって生成した値とのいずれかを用いることができる。 As shown in Figure 10, in step S108, the learning evaluation unit 50 inputs the intermediate image group GMM, generated using the image processing sequence Sq represented by one individual IVn1 selected from individuals IVn1 to IVn5 of the current generation Gn , into the input layer L1 of the machine learning model 88 before training. Also in step S108, the learning evaluation unit 50 extracts the intermediate output C output from each node Nd of the intermediate layer L2 of the machine learning model 88. The extracted intermediate output C of each node Nd is stored in the storage device 70. Also in step S108, the learning evaluation unit 50 extracts the layer output FC output from each node FNd of the output layer L3 of the machine learning model 88. The extracted layer output FC of each node FNd is stored in the storage device 70. The parameters such as weights and biases of the machine learning model 88 before training can use either predetermined initial values, random values, or values generated by training in the past.
ステップS109において、評価部54は、中間出力Cを用いた第1種評価処理を実行する。図12は、第1種評価処理を説明するための図である。評価部54は、一つの個体IVが表す画像処理シーケンスSqによって生成した複数の中間画像MMを、機械学習モデル88に入力することで取得した学習画像LMごとの中間出力Cを用いて第1種評価処理を実行する。各中間出力Cには、生成元の学習画像LMの目標出力GTが関連付けられている。評価部54は、ステップS108で取得した複数の中間出力Cを、対応する目標出力GTごとにグループ分けする。本実施形態では、評価部54は、図12に示すように、目標出力GTが「良品」を示すラベル0のグループG0と、目標出力GTが「不良品」を示すラベル1のグループG1とに、複数の中間出力Cをグループ分けする。なお、図12では、理解の容易のために中間出力Cが2つのノード出力Cxから構成された二次元のベクトルであると仮定して、グループ分けについて示しているが、実際には、中間出力Cは2よりも多いX次元のベクトルで表されている。評価部54は、グループG0,G1内における中間出力Cのばらつきの程度σa,σbと、グループG0,G1間のばらつきの程度βとによって表される中間評価値SFを算出する。各グループG0,G1の中間出力Cの代表値は代表値Gr0,Gr1である。本実施形態では、代表値は、平均値である。具体的には、評価部54は、以下の式(1)を用いて中間評価値SFを算出する。 In step S109, the evaluation unit 54 performs a first-type evaluation process using the intermediate output C. Figure 12 is a diagram illustrating the first-type evaluation process. The evaluation unit 54 performs the first-type evaluation process using the intermediate output C for each learning image LM obtained by inputting a plurality of intermediate images MM generated by an image processing sequence Sq represented by a single individual IV into the machine learning model 88. Each intermediate output C is associated with the target output GT of the original learning image LM. The evaluation unit 54 groups the plurality of intermediate outputs C obtained in step S108 according to the corresponding target output GT. In this embodiment, as shown in Figure 12, the evaluation unit 54 groups the plurality of intermediate outputs C into group G0 of label 0, where the target output GT indicates a "good product", and group G1 of label 1, where the target output GT indicates a "defective product". Note that in Figure 12, for ease of understanding, the grouping is shown assuming that the intermediate output C is a two-dimensional vector composed of two node outputs Cx, but in reality, the intermediate output C is represented by an X-dimensional vector, which is greater than 2. The evaluation unit 54 calculates an intermediate evaluation value S F , which is expressed by the degree of variation σa and σb of the intermediate output C within groups G0 and G1, and the degree of variation β between groups G0 and G1. The representative values of the intermediate output C for each group G0 and G1 are the representative values Gr0 and Gr1. In this embodiment, the representative values are the average values. Specifically, the evaluation unit 54 calculates the intermediate evaluation value S F using the following formula (1).
上記式(1)において、右辺の分子は、中間出力Cの各グループ内のばらつきの程度を表す分散の和である。また上記式(1)において、右辺の分母は、中間出力Cの各グループの平均値Gr0、Gr1間のばらつきの程度βを表す分散である。つまり、上記式(1)の右辺の分子は、図12におけるばらつきの程度σa,σbの合計であるとも言える。また上記式(1)の右辺の分子は、平均値Gr0,Gr1とのばらつきの程度であるとも言える。中間画像MMの特徴量である中間出力Cの目標出力GTごとのグループG0,G1が、互いに分離されており、またグループG0,G1内の分散が小さい方が、中間画像MMに応じた目標出力GTが精度良く出力される。つまり、上記式(1)の中間評価値SFは、小さい値をとるほど、機械学習モデル88は予測精度を向上するために学習に用いる好ましい中間画像MMであると言える。つまり、中間評価値SFは機械学習モデル88の予測精度に関する指標値であり、中間評価値SFが小さいほど予測精度は高くなる傾向にある。 In equation (1) above, the numerator on the right side is the sum of the variances representing the degree of variation within each group of intermediate output C. Also, in equation (1) above, the denominator on the right side is the variance representing the degree of variation β between the mean values Gr0 and Gr1 of each group of intermediate output C. In other words, the numerator on the right side of equation (1) above can also be said to be the sum of the degrees of variation σa and σb in Figure 12. It can also be said that the numerator on the right side of equation (1) above is the degree of variation from the mean values Gr0 and Gr1. The groups G0 and G1 for each target output GT of intermediate output C, which are features of the intermediate image MM, are separated from each other, and the smaller the variance within groups G0 and G1, the more accurately the target output GT corresponding to the intermediate image MM is output. In other words, the smaller the intermediate evaluation value S F in equation (1) above, the more preferable the intermediate image MM is for the machine learning model 88 to use for training to improve prediction accuracy. In other words, the interim evaluation value S₀F is an indicator of the prediction accuracy of the machine learning model 88, and the smaller the interim evaluation value S₀F , the higher the prediction accuracy tends to be.
図10に示すように、ステップS109の次に、評価部54は、層出力FCを用いた第2種評価処理を実行する。評価部54は、一つの個体IVが表す画像処理シーケンスSqによって生成した複数の中間画像MMを、機械学習モデル88に入力することで取得した学習画像LMごとの層出力FCを用いて第1種評価処理を実行する。評価部54は、ステップS108で出力した層出力FCと、層出力FCの元となった学習画像LMに関連付けられた目標出力GTとを比較して、層出力FCと目標出力GTとの類似の程度を示す出力評価値S0を算出する。出力評価値S0は、機械学習モデル88の予測精度に関する指標値であり、出力評価値S0が大きいほど予測精度は高くなる傾向にある。本実施形態では、層出力FCと目標出力GTとはそれぞれ2次元のベクトルによって表されている。具体的には、層出力FCと目標出力GTとはそれぞれ、良品を示すラベル0の確率を示す値と、不良品を示すラベル1の確率を示す値とによって構成された二次元のベクトルである。層出力FCは、図7に示す判定値FCa、FCbをベクトルの要素とする。目標出力GTは、目標出力GTが示すクラスの確率が「1」であり、それ以外のクラスの確率が「0」であるベクトルである。層出力FCと目標出力GTとは、クラスごとの確率を順に配列したベクトルである。 As shown in Figure 10, after step S109, the evaluation unit 54 performs a second type of evaluation process using the layer output FC. The evaluation unit 54 performs a first type of evaluation process using the layer output FC for each learning image LM obtained by inputting multiple intermediate images MM generated by the image processing sequence Sq represented by a single individual IV into the machine learning model 88. The evaluation unit 54 compares the layer output FC output in step S108 with the target output GT associated with the learning image LM from which the layer output FC was derived, and calculates an output evaluation value S0 that indicates the degree of similarity between the layer output FC and the target output GT. The output evaluation value S0 is an index value related to the prediction accuracy of the machine learning model 88, and the larger the output evaluation value S0 , the higher the prediction accuracy tends to be. In this embodiment, the layer output FC and the target output GT are each represented by two-dimensional vectors. Specifically, the layer output FC and target output GT are two-dimensional vectors composed of a value representing the probability of label 0, which indicates a good product, and a value representing the probability of label 1, which indicates a defective product. The layer output FC uses the judgment values FCa and FCb shown in Figure 7 as its elements. The target output GT is a vector where the probability of the class indicated by the target output GT is "1" and the probability of all other classes is "0". The layer output FC and target output GT are vectors arranged in order of the probabilities for each class.
評価部54は、以下の式(2)を用いて出力評価値S0を算出する。本実施形態の出力評価値S0は、ユーグリッド距離に関する値であり、具体的には各目標出力GTと対応する各層出力FCとのユーグリッド距離の平均値である。ユーグリッド距離に関する出力評価値S0によって、層出力FCと目標出力GTとの類似の程度を容易に評価できる。
出力評価値S0は、ユーグリッド距離や、ユーグリッド距離に関する値に限らず、類似度の程度を表す評価値であれば、他の指標値を用いることができる。出力評価値S0は、例えば、コサイン類似度であってもよい。 The output evaluation value S0 is not limited to Euclidean distance or values related to Euclidean distance; other index values that represent the degree of similarity can be used. For example, the output evaluation value S0 may be cosine similarity.
ステップS109で算出された中間評価値SFと、ステップS110で算出された出力評価値S0は、対応する個体IVに関連付けて記憶装置70に記憶される。なお、ステップS109とステップS110との処理の順番は上記に限定されるものではない。 The intermediate evaluation value S F calculated in step S109 and the output evaluation value S 0 calculated in step S110 are stored in the storage device 70 in association with the corresponding individual IV. Note that the order of processing between step S109 and step S110 is not limited to the above.
図10に示すように、ステップS109およびステップS110の次に、ステップS111において、評価部54は、現世代Gnにおける全個体IVについて、ステップS109とステップ110の評価処理を実行したか否かを判定する。ステップS111において「No」の判定が成された場合には、学習評価部50は、現世代Gnの個体IVのうちで、ステップS109およびステップS110の処理を実行していない残りの個体IVnから一つを選択し、選択した個体IVによって表された画像処理シーケンスSqによって生成された中間画像群GMMを記憶装置70から抽出する。そして、抽出した中間画像群GMMを対象に、ステップS108~ステップS110の処理を再び実行する。再び実行されるステップS108において中間画像群GMMが入力される機械学習モデル88は、学習前の機械学習モデル88である。機械学習モデル88は、複数の個体IVn1~IVn5に応じて複数準備されており、同じニューラルネットワーク型のアルゴリズムである。図11では、複数の個体IVn1~IVn5に応じた機械学習モデル88を区別するために符号「88_1」~「88_5」を用いている。 As shown in Figure 10, following steps S109 and S110, in step S111, the evaluation unit 54 determines whether or not the evaluation processes of steps S109 and S110 have been performed for all individual IVs in the current generation Gn. If the determination in step S111 is "No", the learning evaluation unit 50 selects one of the remaining individual IVs in the current generation Gn that have not undergone the processes of steps S109 and S110, and extracts the intermediate image group GMM generated by the image processing sequence Sq represented by the selected individual IV from the storage device 70. Then, the processes of steps S108 to S110 are executed again on the extracted intermediate image group GMM. The machine learning model 88 to which the intermediate image group GMM is input in step S108, which is executed again, is the machine learning model 88 before training. Multiple machine learning models 88 are prepared according to multiple individual IVs 1 to 5 , and they are all the same neural network type algorithm. In Figure 11, the codes "88_1" to "88_5" are used to distinguish between the machine learning models 88 corresponding to multiple individuals IVn1 to IVn5 .
一方で、ステップS111において「Yes」の判定が成された場合には、評価部54は、ステップS112において終了条件を満たしたか否かを判定する。終了条件は、複数の個体IV1~IV5に応じた複数の機械学習モデル88ごとに算出した複数の出力評価値S0のうちで、最も高い出力評価値S0である最大出力評価値S0maxが、予め定めた閾値よりも高いという条件である。出力評価値S0maxが閾値よりも高い場合には、学習評価部50は、ステップS115において、最大出力評価値S0maxの算出元の機械学習モデル88に入力した中間画像群GMMの生成に用いた画像処理シーケンスSqを特定画像処理シーケンスDSqとして特定する。特定された特定画像処理シーケンスDSqは、記憶装置70に記憶される。出力評価値S0maxが閾値よりも高い場合には、学習評価部50は、ステップS116において、最大出力評価値S0maxの算出元の機械学習モデル88を特定する。特定された機械学習モデル88は、記憶装置70に記憶される。具体的には、学習評価部50は、算出元の機械学習モデル88のパラメーターをモデルパラメーター94として記憶装置70に記憶する。 On the other hand, if a "Yes" determination is made in step S111, the evaluation unit 54 determines in step S112 whether the termination condition has been met. The termination condition is that the maximum output evaluation value S0 max, which is the highest output evaluation value S0 among the multiple output evaluation values S0 calculated for each of the multiple machine learning models 88 corresponding to the multiple individuals IV1 to IV5, is higher than a predetermined threshold. If the output evaluation value S0 max is higher than the threshold, the learning evaluation unit 50 identifies the image processing sequence Sq used to generate the intermediate image group GMM input to the machine learning model 88 from which the maximum output evaluation value S0 max was calculated, as a specific image processing sequence DSq in step S115. The identified specific image processing sequence DSq is stored in the storage device 70. If the output evaluation value S0 max is higher than the threshold, the learning evaluation unit 50 identifies the machine learning model 88 that was used to calculate the maximum output evaluation value S0 max in step S116. The identified machine learning model 88 is stored in the storage device 70. Specifically, the learning evaluation unit 50 stores the parameters of the machine learning model 88 that was used to calculate the value as model parameters 94 in the storage device 70.
ステップS112において終了条件を満たさないと判定された場合には、学習部52は、ステップS113において、複数の機械学習モデル88_1~88_5のパラメーターの更新、すなわち学習処理を実行する。ステップS113の学習処理は、複数の画像処理シーケンスSqごとの中間画像群GMMを、対応する複数の機械学習モデル88_1~88_5の入力層L1に入力して、出力層L3の層出力FCが、複数の学習画像LMごとに定められた目標出力GTに近づくように機械学習モデル88のパラメーターを更新することで実行される。学習部52は、例えば、誤差逆伝播法を用いて上記の学習を実行する。1回の学習処理で入力される中間画像MMは、中間画像群GMMの全部であってもよいし、中間画像群GMMの一部であってもよい。例えば、学習部52は、ミニバッチ学習によって学習処理を実行してもよい。 If it is determined in step S112 that the termination condition is not met, the learning unit 52 performs a learning process in step S113, which involves updating the parameters of the multiple machine learning models 88_1 to 88_5. The learning process in step S113 is performed by inputting the intermediate image group GMM for each of the multiple image processing sequences Sq into the input layer L1 of the corresponding multiple machine learning models 88_1 to 88_5, and updating the parameters of the machine learning model 88 so that the layer output FC of the output layer L3 approaches the target output GT defined for each of the multiple learning images LM. The learning unit 52 performs the above learning using, for example, backpropagation. The intermediate image MM input in a single learning process may be the entire intermediate image group GMM or a part of the intermediate image group GMM. For example, the learning unit 52 may perform the learning process using mini-batch learning.
次に、学習部52は、ステップS114において、ステップS113の学習処理が指定学習回数繰り返し実行されたか否かを判定する。ステップS114で「No」の判定が成された場合には、終了条件を満たさない限り、指定学習回数に達するまで繰り返しステップS108~ステップS113の処理が実行される。つまり、学習部52は、層出力FCが、目標出力GTに近づくように機械学習モデル88の学習を予め定めた指定学習回数繰り返すことで、機械学習モデル88の学習を実行、すなわち学習処理を完了する。指定学習回数はN回であり、「N」は2以上の整数である。本実施形態では、「N」は500に設定されている。これにより、同じ画像処理シーケンスSqによって生成された中間画像群GMMを用いて、機械学習モデルに対してN回繰り返し学習を実行することで、予測精度をより高めることができる。 Next, in step S114, the learning unit 52 determines whether the learning process in step S113 has been repeated the specified number of times. If the determination in step S114 is "No", the processes from step S108 to step S113 are repeatedly executed until the specified number of learning times is reached, unless the termination condition is met. In other words, the learning unit 52 completes the learning process by repeating the learning of the machine learning model 88 a predetermined number of times so that the layer output FC approaches the target output GT. The specified number of learning times is N, where "N" is an integer of 2 or more. In this embodiment, "N" is set to 500. This allows for further improvement of prediction accuracy by repeatedly performing learning on the machine learning model N times using the intermediate image group GMM generated by the same image processing sequence Sq.
一方で、ステップS114で「Yes」の判定が成された場合には、個体生成部32は、図9に示すステップS103を再び実行する。再び実行されるステップS103は、前回の処理ルーチンにおけるステップS103で生成された親世代Gmの個体IVm1~IMm5のうちで、性能評価値EVが下位J番目までの個体IVmを新たな個体IVnに入れ替えることで実行される。「J」は1以上の整数である。つまり、個体生成部32は、性能評価値EVが下位J番目までに該当しない個体IVについては複製し、また、下位J番目までに該当しない個体IVに対して交叉や突然変異との少なくとも一つを行うことで新たな個体IVを生成する。これにより、前回までのルーチンによって生成された画像処理シーケンスSqとはシーケンス要素の組み合わせが異なる新たな画像処理シーケンスSqを容易に生成できる。 On the other hand, if the determination is "Yes" in step S114, the individual generation unit 32 executes step S103 again, as shown in Figure 9. Step S103, which is executed again, replaces the individuals IV m from IV m 1 to IM m 5 of the parent generation G m generated in step S103 of the previous processing routine, whose performance evaluation value EV is up to the lowest J, with new individuals IV n . "J" is an integer of 1 or more. In other words, the individual generation unit 32 duplicates the individuals IV whose performance evaluation value EV does not fall within the lowest J, and generates new individuals IV by performing at least one of crossover or mutation on the individuals IV whose performance evaluation value EV does not fall within the lowest J. This makes it easy to generate a new image processing sequence Sq with a different combination of sequence elements from the image processing sequence Sq generated by the previous routine.
性能評価値EVは、機械学習モデル88の予測精度と正の相関を示す指標値である。本実施形態では、性能評価値EVは、出力評価値S0と中間評価値SFとを含む関数によって算出される。例えば、性能評価値EVは、以下の式(3)によって算出される。
EV=A×S0+B×SF+C (3)
ここで、Aは0以上の数であり、Bは0以下の数である。Cは定数項である。
The performance evaluation value EV is an index value that shows a positive correlation with the prediction accuracy of the machine learning model 88. In this embodiment, the performance evaluation value EV is calculated by a function that includes the output evaluation value S0 and the intermediate evaluation value SF . For example, the performance evaluation value EV is calculated by the following equation (3).
EV=A×S 0 +B×S F +C (3)
Here, A is a number greater than or equal to 0, B is a number less than or equal to 0, and C is the constant term.
上記式(3)において、「A」を0より大きい数に設定した場合には、性能評価値EVは、出力評価値S0と正の相関を示す。また、上記式(3)において、「A」と「B」との少なくとも一方を「0」ではない値に設定することで、性能評価値EVは、出力評価値S0と中間評価値SFとの少なくとも一方を用いて表される。また、上記式(3)において、「A」および「B」を共に「0」に設定した場合、定数項である「C」は、機械学習モデル88の予測精度と正の相関を示す値をとるように設定される。 In equation (3) above, if "A" is set to a number greater than 0, the performance evaluation value EV shows a positive correlation with the output evaluation value S 0. Also, in equation (3) above, by setting at least one of "A" and "B" to a value other than "0", the performance evaluation value EV is expressed using at least one of the output evaluation value S 0 and the intermediate evaluation value S F. Furthermore, in equation (3) above, if both "A" and "B" are set to "0", the constant term "C" is set to a value that shows a positive correlation with the prediction accuracy of the machine learning model 88.
なお、上記の式(3)において、「B」および「C」を「0」に設定することで、性能評価値EVは、出力評価値S0であってもよいし、出力評価値S0によって表されてもよい。 Furthermore, in the above equation (3), by setting "B" and "C" to "0", the performance evaluation value EV may be the output evaluation value S 0 , or may be represented by the output evaluation value S 0 .
図13は、ステップS103によって、個体生成部32が、親世代Gmの個体IVm1~IMm5から現世代Gnの個体IVn1~IMn5を生成する工程を模式的に示す図である。図13に示す現世代Gnの個体IVn1~IVn2は、前回のルーチンのステップS103で生成された親世代Gmの個体IVm1~IVm5のうちで、個体IVm1~IVm2を複製することで生成されている。また、図13に示す現世代Gnの個体IVn3は、親世代Gmの個体IVm1と個体IVm2とを交叉させて生成した個体である。また、図13に示す現世代Gnの個体IVn4は、親世代Gmの個体IVm2と個体IVm3とを交叉させて生成した個体である。また、図13に示す現世代Gnの個体IVn5は、親世代Gmの個体IVm2を突然変異させて生成した個体IVである。このように、個体生成部32は、交叉と突然変異との少なくとも一つを用いて個体IVを新たに生成することで、今までの世代Gとは異なるシーケンス要素の組み合わせから構成された画像処理シーケンスSqを生成する。このように、指定学習回数だけ学習を繰り返し実行した画像処理シーケンスSqにおける最大出力評価値S0maxが閾値未満である場合には、生成した複数の画像処理シーケンスSqのうちで、性能評価値EVが低い1つ以上の画像処理シーケンスSqをシーケンス要素の異なる新たな組み合わせによって構成される画像処理シーケンスに置き換える、これにより、次世代Gnの新たなシーケンスセットが生成される。次世代Gnの新たなシーケンスセットは、現世代のシーケンスセットとして、ステップS104以降の次のルーチンが実行される。 Figure 13 schematically shows the process in step S103 in which the individual generation unit 32 generates current generation G n individuals IV n 1 to IM n 5 from parent generation G m individuals IV m 1 to IM m 5. The current generation G n individuals IV n 1 to IV n 2 shown in Figure 13 are generated by duplicating individuals IV m 1 to IV m 2 from the parent generation G m individuals IV m 1 to IV m 5 generated in step S103 of the previous routine. Also, the current generation G n individual IV n 3 shown in Figure 13 is an individual generated by crossing parent generation G m individuals IV m 1 and IV m 2. Furthermore, individual IVn4 of the current generation G n shown in Figure 13 is an individual generated by crossing individual IVm2 and individual IVm3 of the parent generation G m . Also, individual IVn5 of the current generation G n shown in Figure 13 is individual IV generated by mutating individual IVm2 of the parent generation G m . In this way, the individual generation unit 32 generates a new individual IV using at least one of crossing and mutation, thereby generating an image processing sequence Sq composed of a different combination of sequence elements than the previous generation G. In this way, if the maximum output evaluation value S0 max of the image processing sequence Sq, which has been repeatedly trained for a specified number of training iterations, is less than the threshold, one or more image processing sequences Sq with a low performance evaluation value EV among the multiple generated image processing sequences Sq are replaced with an image processing sequence composed of a new combination of sequence elements, thereby generating a new sequence set for the next generation G n . The new sequence set for the next-generation G n is executed as the current-generation sequence set, and the following routines from step S104 onwards are executed.
新たなシーケンスセットを対象としたステップS104以降の処理において、前回までのルーチンで用いたシーケンスセットを構成する画像処理シーケンスSqと同じ画像処理シーケンスSqについては、以下のように処理してもよい。つまり、中間評価値SFや出力評価値S0は、算出するための以降の処理を実行することなく、前回までのシーケンスセットを構成する画像処理シーケンスSqを対象に算出された中間評価値SFや出力評価値S0や性能評価値EVを用いてもよい。これにより、中間評価値SFや出力評価値S0や性能評価値EVを再度計算する必要がないので、画像処理方法で実行される事前処理工程の処理効率を向上できる。 In the processing from step S104 onward for a new sequence set, the same image processing sequence Sq that constitutes the sequence set used in the previous routine may be processed as follows. That is, the intermediate evaluation value S F and output evaluation value S 0 may be calculated using the intermediate evaluation value S F , output evaluation value S 0 , and performance evaluation value EV calculated for the image processing sequence Sq that constitutes the previous sequence set, without performing any subsequent processing to calculate them. This eliminates the need to recalculate the intermediate evaluation value S F , output evaluation value S 0 , and performance evaluation value EV, thereby improving the processing efficiency of the pre-processing steps performed by the image processing method.
図14は、図8のステップS50の利用処理工程を示すフローチャートである。利用処理工程では、まず、ステップS501において、生成装置20は、入力部150によって受け付けた特定画像処理シーケンスDSqを記憶装置70に記憶する。特定画像処理シーケンスDSqは、シーケンス要素を構成する画像処理フィルターと、シーケンス要素の並び順とによって表される。利用処理工程が事前処理工程を実行した同じ生成装置20で実行される場合には、特定画像処理シーケンスDSqは既に記憶装置70に記憶されているので、ステップS501は省略できる。また、生成装置20は、ステップS502において、図10のステップS116によって特定された機械学習モデル88としての学習済特定モデル88を記憶装置70に記憶する。具体的には、ステップS502では、モデルパラメーター94を有する機械学習モデル88である学習済特定モデル88を記憶装置70に記憶する。なお、利用処理工程が事前処理工程を実行した同じ生成装置20で実行される場合には、モデルパラメーター94を有する機械学習モデル88が既に記憶装置70に記憶されているので、ステップS502は省略できる。 Figure 14 is a flowchart showing the utilization processing step of step S50 in Figure 8. In the utilization processing step, first, in step S501, the generation device 20 stores the specific image processing sequence DSq received by the input unit 150 in the storage device 70. The specific image processing sequence DSq is represented by the image processing filters that constitute the sequence elements and the order in which the sequence elements are arranged. If the utilization processing step is performed by the same generation device 20 that performed the pre-processing step, the specific image processing sequence DSq is already stored in the storage device 70, so step S501 can be omitted. Also, in step S502, the generation device 20 stores the trained specific model 88, which is the machine learning model 88 identified in step S116 of Figure 10, in the storage device 70. Specifically, in step S502, the trained specific model 88, which is a machine learning model 88 having model parameters 94, is stored in the storage device 70. Furthermore, if the utilization processing step is performed by the same generation device 20 that executed the pre-processing step, step S502 can be omitted because the machine learning model 88 with the model parameters 94 is already stored in the storage device 70.
次に、ステップS503において、画像処理部40は、入力部150を介して記憶装置70に記憶された画像であって利用処理工程の対象となる画像を読み出すことで取得する。ステップS503によって取得される画像は、例えば、学習画像LMと同種の対象物を撮像した画像である。なお、画像処理部40は、対象となる画像が複数ある場合には、記憶装置70に予め記憶された複数の画像のうちの一つを読み出すことで画像を取得してもよいし、後述する画像処理を実行するタイミングで対象となる画像を撮像装置200からその都度取得してもよい。 Next, in step S503, the image processing unit 40 acquires an image that is the target of the utilization processing step by reading it from the storage device 70 via the input unit 150. The image acquired in step S503 is, for example, an image of the same type of object as the training image LM. Note that if there are multiple target images, the image processing unit 40 may acquire an image by reading one of the multiple images pre-stored in the storage device 70, or it may acquire the target image from the imaging device 200 each time it is performed to execute the image processing described later.
次に、画像処理部40は、ステップS504において、ステップS503によって取得された画像に対して特定画像処理シーケンスDSqを用いた画像処理により中間画像MMを取得する。つまり、画像に対して、特定画像処理シーケンスDSqが示す順番に従って、記憶装置70の画像フィルター群80に記憶された画像処理フィルターを適用して画像処理を実行する。ステップS504が実行されることで中間画像MMが生成される。 Next, in step S504, the image processing unit 40 obtains an intermediate image MM from the image acquired in step S503 by performing image processing using a specific image processing sequence DSq. That is, it applies image processing filters stored in the image filter group 80 of the storage device 70 to the image in the order indicated by the specific image processing sequence DSq. The intermediate image MM is generated when step S504 is executed.
次に、評価部54は、ステップS505において、中間画像MMを学習済特定モデル88に入力する。また、ステップS506において、評価部54は、学習済特定モデル88の出力層L3より出力された層出力FCに基づいて、予測結果を出力する。本実施形態では、評価部54は、層出力FCが有する各ノードFNd1,FNd2から出力された判定値FCa、FCbのうちで、最大の値を出力したノードFNd1,FNd2に対応したクラスを、予測結果として出力する。 Next, in step S505, the evaluation unit 54 inputs the intermediate image MM to the trained specific model 88. Then, in step S506, the evaluation unit 54 outputs the prediction result based on the layer output FC output from the output layer L3 of the trained specific model 88. In this embodiment, the evaluation unit 54 outputs the class corresponding to the node FNd1 and FNd2 that output the maximum judgment value FCa and FCb from each node FNd1 and FNd2 of the layer output FC as the prediction result.
次に、評価部54は、ステップS507において、利用処理工程を継続するかどうかを判定する。例えば、評価部54は、ユーザーから利用処理工程の継続を示す情報が入力された場合や、利用処理工程の対象となる未処理の画像が記憶装置70にまだ残っている場合に、利用処理工程を継続すると判定する。利用処理工程を継続する場合には、再びステップS503以降の処理が実行される。一方で、評価部54は、ユーザーから利用処理工程の終了を示す情報が入力された場合や、利用処理工程の対象となる未処理の画像が記憶装置70に残っていない場合には、利用処理工程を終了する。 Next, in step S507, the evaluation unit 54 determines whether to continue the user processing process. For example, the evaluation unit 54 determines to continue the user processing process if information indicating the continuation of the user processing process is input from the user, or if there are still unprocessed images that are the target of the user processing process remaining in the storage device 70. If the user processing process is to be continued, the processing from step S503 onwards is executed again. On the other hand, the evaluation unit 54 terminates the user processing process if information indicating the termination of the user processing process is input from the user, or if there are no unprocessed images that are the target of the user processing process remaining in the storage device 70.
上記実施形態によれば、機械学習モデル88_1~88_5ごとに算出した複数の出力評価値S0のうちの最大出力評価値S0maxが閾値未満である場合には、図13に示すように、複数の画像処理シーケンスのうちで性能評価値EVが低い1つ以上の画像処理シーケンスを新たな画像処理シーケンスに置き換えて新たなシーケンスセットを生成している。これにより、機械学習モデル88の予測性能を高めるための最適な画像処理シーケンスSqを容易に特定できる。また上記実施形態によれば、画像処理シーケンスSqで画像処理した中間画像MMを、学習や画像の予測のために機械学習モデル88に入力している。つまり、画像に対して画像処理を行った後の中間画像MMを機械学習モデル88に入力するという複雑な処理においても、機械学習モデル88の予測精度を高めることができる。また、上記実施形態によれば、図9および図10に示すように、機械学習モデル88に入力するための最適な中間画像MMを得るため候補となる画像処理シーケンスSqの生成と、生成した画像処理シーケンスSqによって生成した中間画像MMを機械学習モデル88に入力することで得た出力評価値による評価と、が交互に実行される。よって、候補となる全ての画像処理シーケンスSqを生成した後に、全ての画像処理シーケンスSqに応じた機械学習モデル88の評価を行う場合に比べて、学習済特定モデル88と特定画像処理シーケンスDSqとを特定するための処理時間および計算量を低減できる。また、上記実施形態によれば、画像処理シーケンスSqに用いる画像処理層の種類を増やした場合でも、画像処理シーケンスSqの生成と機械学習モデル88の評価とが交互に実行される。これにより、機械学習モデル88の学習時間が増大することを抑制しつつ、予測精度を向上させるための最適な特定画像処理シーケンスDSqを生成できる。 According to the above embodiment, if the maximum output evaluation value S0 max among the multiple output evaluation values S0 calculated for each machine learning model 88_1 to 88_5 is less than a threshold, as shown in Figure 13, one or more image processing sequences with low performance evaluation values EV among the multiple image processing sequences are replaced with new image processing sequences to generate a new sequence set. This makes it easy to identify the optimal image processing sequence Sq for improving the prediction performance of the machine learning model 88. Furthermore, according to the above embodiment, the intermediate image MM processed by the image processing sequence Sq is input to the machine learning model 88 for learning and image prediction. In other words, even in the complex process of inputting the intermediate image MM after image processing of an image to the machine learning model 88, the prediction accuracy of the machine learning model 88 can be improved. Furthermore, according to the above embodiment, as shown in Figures 9 and 10, the generation of candidate image processing sequences Sq to obtain the optimal intermediate image MM for input to the machine learning model 88, and the evaluation using the output evaluation value obtained by inputting the intermediate image MM generated by the generated image processing sequence Sq to the machine learning model 88 are executed alternately. Therefore, compared to the case where all candidate image processing sequences Sq are generated and then the machine learning model 88 is evaluated according to all image processing sequences Sq, the processing time and computational cost required to identify the trained specific model 88 and the specific image processing sequence DSq can be reduced. Furthermore, according to the above embodiment, even if the number of image processing layers used in the image processing sequence Sq is increased, the generation of the image processing sequence Sq and the evaluation of the machine learning model 88 are performed alternately. This makes it possible to generate the optimal specific image processing sequence DSq for improving prediction accuracy while suppressing an increase in the training time of the machine learning model 88.
また、上記実施形態によれば、図13に示すように、個体生成部32は、性能評価値EVが下記J番目までの個体IVmを新たな個体IVnに置き換えることで新たな画像処理シーケンスSqを生成している。つまり、性能評価値EVを用いて、機械学習モデル88の予測性能を高めるために不向きな下位J番目までの画像処理シーケンスSqを特定できる。これにより、不向きな画像処理シーケンスSqについては新たな画像処理シーケンスSqに置き換えることができる。 Furthermore, according to the above embodiment, as shown in Figure 13, the individual generation unit 32 generates a new image processing sequence Sq by replacing individuals IV m up to the Jth individual, where the performance evaluation value EV is as follows, with a new individual IV n . In other words, the performance evaluation value EV can be used to identify image processing sequences Sq up to the Jth individual that are unsuitable for improving the prediction performance of the machine learning model 88. As a result, unsuitable image processing sequences Sq can be replaced with new image processing sequences Sq.
B.他の実施形態:
B-1.他の実施形態1:
上記実施形態では、一つの世代Gに属する複数の個体IVが示す複数の画像処理シーケンスSqによる学習画像LMの画像処理や、複数の機械学習モデル88の学習処理や中間評価値SFや出力評価値S0の算出処理はそれぞれ、一つの生成装置20で順次行っていたが、複数の生成装置20を用いて並列に行ってもよい。
B. Other embodiments:
B-1. Other Embodiment 1:
In the above embodiment, the image processing of the learning image LM by multiple image processing sequences Sq shown by multiple individuals IV belonging to one generation G, the learning process of multiple machine learning models 88, and the calculation of intermediate evaluation values S F and output evaluation values S O were each performed sequentially by a single generation device 20. However, these processes may be performed in parallel using multiple generation devices 20.
B-2.他の実施形態2:
上記実施形態では、画像処理シーケンスSqは、個体IVと遺伝子テーブル82とによって表されていていたが、これに限定されるものではない。例えば、画像処理シーケンスSqは、複数のシーケンス要素と、各シーケンス要素の接続関係を規定したテーブルによって表されていてもよい。また、上記実施形態では、シーケンス生成部30は、遺伝的アルゴリズムを用いて複数の画像処理シーケンスSqを生成していたが、生成方法はこれに限定されるものではない。複数のシーケンス要素を、ランダムに配置することで複数の画像処理シーケンスSqを生成してもよい。
B-2. Another Embodiment 2:
In the above embodiment, the image processing sequence Sq was represented by individual IV and gene table 82, but is not limited to this. For example, the image processing sequence Sq may be represented by a plurality of sequence elements and a table defining the connection relationships of each sequence element. Also, in the above embodiment, the sequence generation unit 30 generated a plurality of image processing sequences Sq using a genetic algorithm, but the generation method is not limited to this. A plurality of image processing sequences Sq may be generated by randomly arranging a plurality of sequence elements.
B-3.他の実施形態3:
上記実施形態では、ニューラルネットワーク型の機械学習モデル88としては種々のアルゴリズムを用いることができる。例えば、機械学習モデル88は、ベクトルニューロンを用いるベクトルニューラルネットワーク型のモデルとして、カプセルネットワークと呼ばれるモデルを用いてもよい。ベクトルニューロンとは、入出力がベクトルであるニューロンを意味する。カプセルネットワークは、カプセルと呼ばれるベクトルニューロンをネットワークのノードとする機械学習モデルである。
B-3. Other Embodiment 3:
In the above embodiment, various algorithms can be used as the neural network type machine learning model 88. For example, the machine learning model 88 may be a vector neural network type model that uses vector neurons, and may be a model called a capsule network. A vector neuron is a neuron whose input and output are vectors. A capsule network is a machine learning model in which vector neurons called capsules are used as nodes in the network.
C.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
C. Other forms:
This disclosure is not limited to the embodiments described above, and can be implemented in various forms without departing from its spirit. For example, this disclosure can also be implemented in the following forms (aspects). The technical features in the embodiments described above that correspond to the technical features in each of the forms described below can be replaced or combined as appropriate in order to solve some or all of the problems of this disclosure, or to achieve some or all of the effects of this disclosure. Furthermore, if such technical features are not described as essential in this specification, they can be deleted as appropriate.
(1)本開示の第1の形態によれば、画像処理方法が提供される。この画像処理方法は、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する工程と、(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する工程と、(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する工程と、(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する工程と、を備え、前記工程(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する工程を含み、前記工程(b)から前記工程(e)は、前記新たなシーケンスセットに対して再び実行される。この形態によれば、機械学習モデルごとに算出した複数の出力評価値のうちの最大出力評価値が閾値未満である場合には、複数の画像処理シーケンスのうちで性能評価値が低い1つ以上の画像処理シーケンスを新たな画像処理シーケンスに置き換えて新たなシーケンスセットを生成している。これにより、機械学習モデルの予測性能を高めるための最適な画像処理シーケンスを容易に特定できる。 (1) According to a first embodiment of the present disclosure, an image processing method is provided. This image processing method comprises: (a) generating a sequence set comprising a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing; (b) processing a plurality of training images with each of the plurality of image processing sequences, and generating a group of intermediate images, which is a set of intermediate images, for each of the plurality of image processing sequences; (c) inputting the group of intermediate images for each of the plurality of image processing sequences into the input layer of a corresponding plurality of neural network type machine learning models having an input layer, an intermediate layer, and an output layer, and performing training on the machine learning model so that the layer output, which is the output of the output layer, approaches a target output that is a predetermined target for each of the plurality of training images; and (d) the corresponding plurality The process includes: (a) For each of the machine learning models, a step of comparing the layer output with the target output to calculate an output evaluation value indicating the degree of similarity between the layer output and the target output; (e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, a step of identifying the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made; and if the maximum output evaluation value is less than the threshold, a step of generating a new sequence set by replacing one or more of the generated multiple image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of the sequence elements; and steps (b) to (e) are executed again on the new sequence set. In this configuration, if the maximum output evaluation value among the multiple output evaluation values calculated for each machine learning model falls below a threshold, one or more image processing sequences with low performance evaluation values are replaced with new image processing sequences to generate a new sequence set. This makes it easy to identify the optimal image processing sequence for improving the predictive performance of the machine learning model.
(2)上記形態において、前記工程(d)において、前記層出力と前記目標出力はそれぞれベクトルにより表され、前記工程(d)において算出する前記出力評価値は、ユークリッド距離に関する値であってもよい。この形態によれば、ユーグリッド距離に関する値によって層出力と目標出力との類似の程度を評価できる。 (2) In the above embodiment, in step (d), the layer output and the target output are each represented by vectors, and the output evaluation value calculated in step (d) may be a value relating to the Euclidean distance. According to this embodiment, the degree of similarity between the layer output and the target output can be evaluated using a value relating to the Euclidean distance.
(3)上記形態において、前記工程(c)は、前記中間画像群を前記入力層に入力して、前記層出力が、前記目標出力に近づくように前記機械学習モデルの学習を実行することを予め定めたN回(Nは2以上の整数)繰り返すことで実行されてもよい。この形態によれば、機械学習モデルに対してN回繰り返し学習を実行することで、予測精度をより高めることができる。 (3) In the above embodiment, step (c) may be performed by inputting the intermediate image group into the input layer and repeating the learning process of the machine learning model so that the layer output approaches the target output a predetermined N times (where N is an integer of 2 or more). According to this embodiment, the prediction accuracy can be further improved by performing N repeated learning processes on the machine learning model.
(4)上記形態において、前記目標出力は、離散値で表され、前記画像処理方法は、さらに、(f)前記工程(c)において、前記複数の学習画像のそれぞれに対応する、前記中間層から出力された特徴量を示す複数の中間出力を取得し、前記複数の中間出力を対応する前記目標出力ごとにグループ分けして、前記グループ内における前記中間出力のばらつきの程度と、前記グループ間のばらつきの程度と、によって表される中間評価値を算出する工程を備え、前記性能評価値は、前記出力評価値と前記中間評価値とを含む関数によって算出されてもよい。この形態によれば、出力評価値と中間評価値とを含む関数によって算出される性能評価値を用いて、機械学習モデルの予測性能を高めるために不向きな画像処理シーケンスを特定できる。これにより、不向きな画像処理シーケンスについては新たな画像処理シーケンスに置き換えることができる。 (4) In the above embodiment, the target output is represented by discrete values, and the image processing method further includes (f) a step in step (c) in which a plurality of intermediate outputs representing feature quantities output from the intermediate layer corresponding to each of the plurality of training images are obtained, the plurality of intermediate outputs are grouped according to the corresponding target output, and an intermediate evaluation value is calculated represented by the degree of variation of the intermediate outputs within the group and the degree of variation between the groups, wherein the performance evaluation value may be calculated by a function including the output evaluation value and the intermediate evaluation value. According to this embodiment, the performance evaluation value calculated by a function including the output evaluation value and the intermediate evaluation value can be used to identify image processing sequences unsuitable for improving the predictive performance of the machine learning model. As a result, unsuitable image processing sequences can be replaced with new image processing sequences.
(5)上記形態において、工程(a)において、前記画像処理シーケンスは、前記画像入力層および前記画像処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記画像処理シーケンスにおける前記シーケンス要素の接続関係を規定した遺伝子テーブルと、によって表され、前記工程(a)は、交叉と突然変異との少なくとも一つを用いて前記個体を新たに生成することで、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスを生成してもよい。この形態によれば、交叉と突然変異との少なくとも一つを用いてシーケンス要素の新たな組み合わせによって構成される画像処理シーケンスを容易に生成できる。 (5) In the above embodiment, in step (a), the image processing sequence is represented by an individual having a plurality of genes corresponding to the image input layer and the image processing layer, respectively, and a gene table defining the connection relationships of the sequence elements in the image processing sequence. Step (a) may generate the image processing sequence composed of a new combination of the sequence elements by newly generating the individual using at least one of crossover and mutation. According to this embodiment, an image processing sequence composed of a new combination of sequence elements using at least one of crossover and mutation can be easily generated.
(6)上記形態において、前記工程(a)または前記工程(e)において、前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスと同じ前記画像処理シーケンスについては、前記工程(b)から前記工程(d)を実行することなく、前記前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスに対する前記出力評価値または前記性能評価値を用いてもよい。この形態によれば、出力評価値や性能評価値を再度算出する必要がないので、画像処理方法の処理効率を向上できる。 (6) In the above configuration, in step (a) or step (e), for the same image processing sequence that constitutes the sequence set used in the previous routine, the output evaluation value or performance evaluation value for the image processing sequence that constitutes the sequence set used in the previous routine may be used without executing steps (b) through (d). This configuration eliminates the need to recalculate the output evaluation value or performance evaluation value, thereby improving the processing efficiency of the image processing method.
(7)本開示の第2形態によれば、画像処理装置が提供される。この画像処理装置は、シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する画像処理部と、前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する学習部と、対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する評価部と、を備え、前記評価部は、前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスとを特定し、前記シーケンス生成部は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する。この形態によれば、機械学習モデルごとに算出した複数の出力評価値のうちの最大出力評価値が閾値未満である場合には、複数の画像処理シーケンスのうちで性能評価値が低い1つ以上の画像処理シーケンスを新たな画像処理シーケンスに置き換えて新たなシーケンスセットを生成している。これにより、機械学習モデルの予測性能を高めるための最適な画像処理シーケンスを容易に特定できる。 (7) According to a second embodiment of the present disclosure, an image processing apparatus is provided. This image processing apparatus includes a sequence generation unit that generates a sequence set consisting of a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, as sequence elements; an image processing unit that processes a plurality of training images using each of the plurality of image processing sequences and generates an intermediate image group for each of the plurality of image processing sequences, which is a set of a plurality of intermediate images that are images after image processing; and inputs the intermediate image group for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type having an input layer, an intermediate layer and an output layer, so that the layer output, which is the output of the output layer, approaches a target output that is predetermined for each of the plurality of training images. The system comprises a learning unit that performs learning of the machine learning model, and an evaluation unit that, for each of the multiple machine learning models, compares the layer output with the target output and calculates an output evaluation value indicating the degree of similarity between the layer output and the target output. The evaluation unit, if the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model that calculated the maximum output evaluation value. The sequence generation unit, if the maximum output evaluation value is less than the threshold, generates a new sequence set by replacing one or more of the generated image processing sequences that have low performance evaluation values regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements. This makes it easy to identify the optimal image processing sequence for improving the predictive performance of machine learning models.
(8)本開示の第3形態によれば、コンピュータープログラムが提供される。このコンピュータープログラムは、(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する機能と、(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する機能と、(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する機能と、(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する機能と、をコンピューターに実行させ、前記機能(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する機能を含み、前記機能(b)から前記機能(e)は、前記新たなシーケンスセットに対して再び実行される。この形態によれば、機械学習モデルごとに算出した複数の出力評価値のうちの最大出力評価値が閾値未満である場合には、複数の画像処理シーケンスのうちで性能評価値が低い1つ以上の画像処理シーケンスを新たな画像処理シーケンスに置き換えて新たなシーケンスセットを生成している。これにより、機械学習モデルの予測性能を高めるための最適な画像処理シーケンスを容易に特定できる。 (8) According to a third embodiment of the present disclosure, a computer program is provided. The computer program has the function of generating a sequence set consisting of a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, as sequence elements; (b) a function to process a plurality of training images using each of the plurality of image processing sequences, and to generate a group of intermediate images, which is a set of intermediate images, which are images after image processing, for each of the plurality of image processing sequences; (c) a function to input the group of intermediate images for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which have an input layer, an intermediate layer, and an output layer, and to perform training of the machine learning model so that the layer output, which is the output of the output layer, approaches a target output that is a predetermined target for each of the plurality of training images; and (d) the corresponding plurality of machines Function (a) includes a function to calculate an output evaluation value indicating the degree of similarity between the layer output and the target output by comparing the layer output and the target output for each machine learning model, and a function to identify the machine learning model from which the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is calculated, and the computer is made to execute the following functions: (a) If the maximum output evaluation value is less than the threshold, the computer is made to execute the following functions: (b) If the maximum output evaluation value is less than the threshold, the computer is made to execute the following functions: (a) If the maximum output evaluation value is less than the threshold, the computer is made to execute the following functions: (b) If the computer is made to execute the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, the computer is made to execute the maximum output evaluation value and the computer is made to execute the image processing sequence used to generate the intermediate image group input to the machine learning model from which the maximum output evaluation value is calculated, and (b) If the computer is made to execute the maximum output evaluation value, it is made to execute the maximum output evaluation value. In this configuration, if the maximum output evaluation value among the multiple output evaluation values calculated for each machine learning model falls below a threshold, one or more image processing sequences with low performance evaluation values are replaced with new image processing sequences to generate a new sequence set. This makes it easy to identify the optimal image processing sequence for improving the predictive performance of the machine learning model.
なお、上記形態において、前記工程(a)は、出力側シーケンス要素に対して未接続の入力側シーケンス要素が無い場合には、前記個体を構成する前記複数の遺伝子の全てが前記画像処理シーケンスとして用いられていない場合でも、前記個体に対応する前記画像処理シーケンスの生成処理を終了してもよい。この形態によれば、複数の遺伝子全てが用いられていない場合でも画像処理シーケンスを生成できる。なお、上記形態において、前記工程(a)は、前記個体を構成する前記複数の遺伝子の全てを前記画像処理シーケンスとして用いた場合において、前記出力側シーケンス要素に対して未接続の前記入力側シーケンス要素がある場合には、前記未接続の前記入力側シーケンス要素に前記画像入力層を設定することで前記個体に対応する前記画像処理シーケンスの生成処理を終了してもよい。こうすることで、個体を用いて画像処理シーケンスを確実に生成できる。 Furthermore, in the above configuration, if there are no input-side sequence elements unconnected to the output-side sequence elements, step (a) may terminate the image processing sequence generation process corresponding to the individual even if not all of the multiple genes constituting the individual are used as the image processing sequence. This configuration allows for the generation of an image processing sequence even if not all of the multiple genes are used. Furthermore, in the above configuration, if all of the multiple genes constituting the individual are used as the image processing sequence, and there are input-side sequence elements unconnected to the output-side sequence elements, step (a) may terminate the image processing sequence generation process corresponding to the individual by setting the image input layer to the unconnected input-side sequence elements. This ensures reliable generation of an image processing sequence using the individual.
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。 This disclosure can also be implemented in various forms other than those described above. For example, it can be implemented in the form of a non-transitory storage medium on which a computer program is recorded.
10…生成システム、20…生成装置、25…プロセッサー、30…シーケンス生成部、32…個体生成部、34…遺伝子翻訳部、40…画像処理部、50…学習評価部、52…学習部、54…評価部、60…表示制御部、70…記憶装置、74…学習データ、80…画像フィルター群、82…遺伝子テーブル、84…個体群、86…中間画像群、88,88_1~88_5…機械学習モデル、90…特定データ、94…モデルパラメーター、95…各種プログラム、150…入力部、160…表示部、200…撮像装置、DA…欠陥部分、Ft…画像処理層、FtA~FtE…画像処理フィルター、G…世代、GT…目標出力、LM…学習画像、MM…中間画像、Sq,Sq1…画像処理シーケンス、VI1~VI5…個体、out…画像出力層、Cx…ノード出力、DSq…特定画像処理シーケンス、FC…層出力、FCa,FCb…判定値、FNd,FNd1,FNd2…ノード、Ft,FtA~FtE…画像処理フィルター、IV,IVm,IVm1~IVm5,IVn,IVn1~IVn5…個体、L1…入力層、L2…中間層、L22,L2X…層、L3…出力層、LM…学習画像、Nd…ノード、in…画像入力層 10...Generation system, 20...Generation device, 25...Processor, 30...Sequence generation unit, 32...Individual generation unit, 34...Gene translation unit, 40...Image processing unit, 50...Learning and evaluation unit, 52...Learning unit, 54...Evaluation unit, 60...Display control unit, 70...Storage device, 74...Learning data, 80...Image filter group, 82...Gene table, 84...Individual population, 86...Intermediate image group, 88, 88_1 to 88_5...Machine learning model, 90...Specific data, 94...Model parameters, 95...Various programs, 15 0...Input unit, 160...Display unit, 200...Imaging device, DA...Defective area, Ft...Image processing layer, FtA~FtE...Image processing filters, G...Generation, GT...Target output, LM...Training image, MM...Intermediate image, Sq, Sq1...Image processing sequence, VI1~VI5...Individual, out...Image output layer, Cx...Node output, DSq...Specific image processing sequence, FC...Layer output, FCa, FCb...Judgment value, FNd, FNd1, FNd2...Node, Ft, FtA~FtE...Image processing filters, IV, IV m , IV m 1 to IV m 5, IV n , IV n 1 to IV n 5...individual, L1...input layer, L2...hidden layer, L22, L2X...layer, L3...output layer, LM...training image, Nd...node, in...image input layer
Claims (10)
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する工程と、
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する工程と、
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する工程と、
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する工程と、を備え、
前記工程(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する工程を含み、
前記工程(b)から前記工程(e)は、前記新たなシーケンスセットに対して再び実行され、
前記工程(d)において、前記層出力と前記目標出力はそれぞれベクトルにより表され、
前記工程(d)において算出する前記出力評価値は、ユークリッド距離に関する値である、画像処理方法。 An image processing method,
(a) A step of generating a sequence set comprising a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein (a) the sequence elements include:
(b) A step of processing multiple training images by each of the multiple image processing sequences, and for each of the multiple image processing sequences, generating a set of intermediate images which is a collection of multiple intermediate images which are images after image processing,
(c) A step of inputting the group of intermediate images for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which has an input layer, an intermediate layer and an output layer, and training the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the plurality of training images,
(d) For each of the corresponding machine learning models, a step of comparing the layer output with the target output to calculate an output evaluation value that indicates the degree of similarity between the layer output and the target output,
(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the process includes identifying the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
Step (a) includes, if the maximum output evaluation value is less than the threshold, a step of generating a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
Steps (b) through (e) are performed again for the new sequence set ,
In step (d) above, the layer output and the target output are each represented by vectors,
An image processing method wherein the output evaluation value calculated in step (d) is a value relating to Euclidean distance .
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する工程と、
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する工程と、
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する工程と、
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する工程と、を備え、
前記工程(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する工程を含み、
前記工程(b)から前記工程(e)は、前記新たなシーケンスセットに対して再び実行され、
前記工程(c)は、前記中間画像群を前記入力層に入力して、前記層出力が、前記目標出力に近づくように前記機械学習モデルの学習を実行することを予め定めたN回(Nは2以上の整数)繰り返すことで実行され、
前記目標出力は、離散値で表され、
前記画像処理方法は、さらに、
(f)前記工程(c)において、前記複数の学習画像のそれぞれに対応する、前記中間層から出力された特徴量を示す複数の中間出力を取得し、前記複数の中間出力を対応する前記目標出力ごとにグループ分けして、前記グループ内における前記中間出力のばらつきの程度と、前記グループ間のばらつきの程度と、によって表される中間評価値を算出する工程を備え、
前記性能評価値は、前記出力評価値と前記中間評価値とを含む関数によって算出される、画像処理方法。 An image processing method,
(a) A step of generating a sequence set comprising a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein (a) the sequence elements include:
(b) A step of processing multiple training images by each of the multiple image processing sequences, and for each of the multiple image processing sequences, generating a set of intermediate images which is a collection of multiple intermediate images which are images after image processing,
(c) A step of inputting the group of intermediate images for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which has an input layer, an intermediate layer and an output layer, and training the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the plurality of training images,
(d) For each of the corresponding machine learning models, a step of comparing the layer output with the target output to calculate an output evaluation value that indicates the degree of similarity between the layer output and the target output,
(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the process includes identifying the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
Step (a) includes, if the maximum output evaluation value is less than the threshold, a step of generating a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
Steps (b) through (e) are performed again for the new sequence set,
Step (c) is performed by inputting the intermediate image group into the input layer and repeating the training of the machine learning model so that the layer output approaches the target output a predetermined N times (where N is an integer of 2 or more) .
The aforementioned target output is expressed as a discrete value,
The aforementioned image processing method further includes:
(f) The process includes a step in step (c) in which a plurality of intermediate outputs representing feature quantities output from the intermediate layer corresponding to each of the plurality of training images are obtained, the plurality of intermediate outputs are grouped according to the corresponding target output, and an intermediate evaluation value is calculated represented by the degree of variation of the intermediate outputs within the group and the degree of variation between the groups,
An image processing method wherein the performance evaluation value is calculated by a function that includes the output evaluation value and the intermediate evaluation value .
工程(a)において、前記画像処理シーケンスは、前記画像入力層および前記画像処理層のそれぞれに対応した複数の遺伝子を配列した個体と、前記画像処理シーケンスにおける前記シーケンス要素の接続関係を規定した遺伝子テーブルと、によって表され、
前記工程(a)は、交叉と突然変異との少なくとも一つを用いて前記個体を新たに生成することで、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスを生成する、画像処理方法。 An image processing method according to claim 1 or claim 2 ,
In step (a), the image processing sequence is represented by an individual having a plurality of genes corresponding to the image input layer and the image processing layer, respectively, and a gene table defining the connection relationships of the sequence elements in the image processing sequence.
The image processing method comprises step (a) generating the image processing sequence composed of a new combination of the sequence elements by generating a new individual using at least one of crossover and mutation.
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する工程と、
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する工程と、
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する工程と、
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する工程と、
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する工程と、を備え、
前記工程(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する工程を含み、
前記工程(b)から前記工程(e)は、前記新たなシーケンスセットに対して再び実行され、
前記工程(a)または前記工程(e)において、前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスと同じ前記画像処理シーケンスについては、前記工程(b)から前記工程(d)を実行することなく、前記前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスに対する前記出力評価値または前記性能評価値を用いる、画像処理方法。 An image processing method,
(a) A step of generating a sequence set comprising a plurality of image processing sequences, each having a different combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein (a) the sequence elements include:
(b) A step of processing multiple training images by each of the multiple image processing sequences, and for each of the multiple image processing sequences, generating a set of intermediate images which is a collection of multiple intermediate images which are images after image processing,
(c) A step of inputting the group of intermediate images for each of the plurality of image processing sequences into the input layer of a plurality of machine learning models of the neural network type, which has an input layer, an intermediate layer and an output layer, and training the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the plurality of training images,
(d) For each of the corresponding machine learning models, a step of comparing the layer output with the target output to calculate an output evaluation value that indicates the degree of similarity between the layer output and the target output,
(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the process includes identifying the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
Step (a) includes, if the maximum output evaluation value is less than the threshold, a step of generating a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
Steps (b) through (e) are performed again for the new sequence set,
An image processing method in which, in step (a) or step (e), for the same image processing sequence that constitutes the sequence set used in the routine up to the previous time, the output evaluation value or the performance evaluation value for the image processing sequence that constitutes the sequence set used in the routine up to the previous time is used without executing steps (b) to (d).
シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、
前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する画像処理部と、
前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する学習部と、
対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する評価部と、を備え、
前記評価部は、前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスとを特定し、
前記シーケンス生成部は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成し、
前記層出力と前記目標出力はそれぞれベクトルにより表され、
前記評価部が算出する前記出力評価値は、ユークリッド距離に関する値である、
画像処理装置。 An image processing device,
A sequence generation unit generates a sequence set comprising a plurality of image processing sequences, each having a different combination of the following sequence elements: (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing;
An image processing unit that processes multiple training images using each of the multiple image processing sequences and generates an intermediate image group, which is a collection of multiple intermediate images that are images after image processing, for each of the multiple image processing sequences,
A learning unit inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a group of corresponding neural network-type machine learning models having an input layer, an intermediate layer, and an output layer, and performs training on the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple learning images.
For each of the corresponding machine learning models, the system includes an evaluation unit that compares the layer output with the target output and calculates an output evaluation value indicating the degree of similarity between the layer output and the target output.
The evaluation unit, if the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
If the maximum output evaluation value is less than the threshold, the sequence generation unit generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements .
The layer output and the target output are each represented by vectors.
The output evaluation value calculated by the evaluation unit is a value relating to the Euclidean distance.
Image processing device.
シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、A sequence generation unit generates a sequence set comprising a plurality of image processing sequences, each having a different combination of the following sequence elements: (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing;
前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する画像処理部と、An image processing unit that processes multiple training images using each of the multiple image processing sequences and generates an intermediate image group, which is a collection of multiple intermediate images that are images after image processing, for each of the multiple image processing sequences,
前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する学習部と、A learning unit inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a group of corresponding neural network-type machine learning models having an input layer, an intermediate layer, and an output layer, and performs training on the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple learning images.
対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する評価部と、を備え、For each of the corresponding machine learning models, the system includes an evaluation unit that compares the layer output with the target output and calculates an output evaluation value indicating the degree of similarity between the layer output and the target output.
前記評価部は、前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスとを特定し、The evaluation unit, if the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
前記シーケンス生成部は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成し、If the maximum output evaluation value is less than the threshold, the sequence generation unit generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements.
前記学習部は、前記中間画像群を前記入力層に入力して、前記層出力が、前記目標出力に近づくように前記機械学習モデルの学習を実行することを予め定めたN回(Nは2以上の整数)繰り返し、The learning unit inputs the intermediate image group into the input layer and performs training of the machine learning model for a predetermined N times (where N is an integer of 2 or more) so that the layer output approaches the target output.
前記目標出力は、離散値で表され、The aforementioned target output is expressed as a discrete value,
前記評価部は、前記複数の学習画像のそれぞれに対応する、前記中間層から出力された特徴量を示す複数の中間出力を取得し、前記複数の中間出力を対応する前記目標出力ごとにグループ分けして、前記グループ内における前記中間出力のばらつきの程度と、前記グループ間のばらつきの程度と、によって表される中間評価値を算出し、The evaluation unit acquires a plurality of intermediate outputs representing the feature quantities output from the intermediate layer corresponding to each of the plurality of training images, groups the plurality of intermediate outputs according to the corresponding target output, and calculates an intermediate evaluation value represented by the degree of variation of the intermediate outputs within the group and the degree of variation between the groups.
前記性能評価値は、前記出力評価値と前記中間評価値とを含む関数によって算出される、画像処理装置。The image processing apparatus wherein the performance evaluation value is calculated by a function that includes the output evaluation value and the intermediate evaluation value.
シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成するシーケンス生成部と、A sequence generation unit generates a sequence set comprising a plurality of image processing sequences, each having a different combination of the following sequence elements: (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing;
前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する画像処理部と、An image processing unit that processes multiple training images using each of the multiple image processing sequences and generates an intermediate image group, which is a collection of multiple intermediate images that are images after image processing, for each of the multiple image processing sequences,
前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する学習部と、A learning unit inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a group of corresponding neural network-type machine learning models having an input layer, an intermediate layer, and an output layer, and performs training on the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple learning images.
対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する評価部と、を備え、For each of the corresponding machine learning models, the system includes an evaluation unit that compares the layer output with the target output and calculates an output evaluation value indicating the degree of similarity between the layer output and the target output.
前記評価部は、前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスとを特定し、The evaluation unit, if the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, identifies the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
前記シーケンス生成部は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成し、If the maximum output evaluation value is less than the threshold, the sequence generation unit generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements.
前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスと同じ前記画像処理シーケンスについては、前記前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスに対する前記出力評価値または前記性能評価値が用いられる、画像処理装置。An image processing apparatus in which, for the same image processing sequence that constitutes the sequence set used in the previous routine, the output evaluation value or the performance evaluation value for the image processing sequence that constitutes the sequence set used in the previous routine is used.
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する機能と、
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する機能と、
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する機能と、
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する機能と、をコンピューターに実行させ、
前記機能(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する機能を含み、
前記機能(b)から前記機能(e)は、前記新たなシーケンスセットに対して再び実行され、
前記機能(d)において、前記層出力と前記目標出力はそれぞれベクトルにより表され、
前記機能(d)において算出する前記出力評価値は、ユークリッド距離に関する値である、コンピュータープログラム。 It is a computer program,
(a) A function to generate a sequence set comprising multiple image processing sequences, each having a combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein the sequence elements are:
(b) A function that processes multiple training images using each of the multiple image processing sequences, and generates a set of intermediate images, which is a collection of multiple intermediate images, for each of the multiple image processing sequences,
(c) A function that inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a corresponding group of neural network-type machine learning models having an input layer, an intermediate layer and an output layer, and performs training of the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple training images,
(d) A function to compare the layer output with the target output for each of the corresponding machine learning models and calculate an output evaluation value indicating the degree of similarity between the layer output and the target output,
(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the computer is made to execute a function to identify the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
Function (a) includes, if the maximum output evaluation value is less than the threshold, a function that generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
Functions (b) through (e) are executed again for the new sequence set ,
In the function (d) described above, the layer output and the target output are each represented by vectors,
A computer program in which the output evaluation value calculated in the function (d) is a value relating to Euclidean distance .
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(a) A function to generate a sequence set comprising multiple image processing sequences, each having a combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein the sequence elements are:
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する機能と、(b) A function that processes multiple training images using each of the multiple image processing sequences, and generates a set of intermediate images, which is a collection of multiple intermediate images, for each of the multiple image processing sequences,
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する機能と、(c) A function that inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a corresponding group of neural network-type machine learning models having an input layer, an intermediate layer and an output layer, and performs training of the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple training images,
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する機能と、(d) A function to compare the layer output with the target output for each of the corresponding machine learning models and calculate an output evaluation value indicating the degree of similarity between the layer output and the target output,
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する機能と、をコンピューターに実行させ、(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the computer is made to execute a function to identify the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
前記機能(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する機能を含み、Function (a) includes, if the maximum output evaluation value is less than the threshold, a function that generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
前記機能(b)から前記機能(e)は、前記新たなシーケンスセットに対して再び実行され、Functions (b) through (e) are executed again for the new sequence set,
前記機能(c)は、前記中間画像群を前記入力層に入力して、前記層出力が、前記目標出力に近づくように前記機械学習モデルの学習を実行することを予め定めたN回(Nは2以上の整数)繰り返すことで実行され、The function (c) is performed by inputting the intermediate image group into the input layer and repeating the training of the machine learning model so that the layer output approaches the target output a predetermined N times (where N is an integer of 2 or more).
前記目標出力は、離散値で表され、The aforementioned target output is expressed as a discrete value,
前記コンピュータープログラムは、さらに、The aforementioned computer program, further,
(f)前記機能(c)において、前記複数の学習画像のそれぞれに対応する、前記中間層から出力された特徴量を示す複数の中間出力を取得し、前記複数の中間出力を対応する前記目標出力ごとにグループ分けして、前記グループ内における前記中間出力のばらつきの程度と、前記グループ間のばらつきの程度と、によって表される中間評価値を算出する機能を備え、(f) Function (c) includes a function that acquires a plurality of intermediate outputs representing feature quantities output from the intermediate layer corresponding to each of the plurality of training images, groups the plurality of intermediate outputs according to the corresponding target output, and calculates an intermediate evaluation value represented by the degree of variation of the intermediate outputs within the group and the degree of variation between the groups.
前記性能評価値は、前記出力評価値と前記中間評価値とを含む関数によって算出される、コンピュータープログラム。The performance evaluation value is calculated by a computer program using a function that includes the output evaluation value and the intermediate evaluation value.
(a)シーケンス要素としての、(i)画像を入力する画像入力層、(ii)複数の画像処理層の少なくとも一つ、および(iii)画像処理後の前記画像を出力する画像出力層の組み合わせを示す複数の画像処理シーケンスであって、前記組み合わせが異なる複数の画像処理シーケンスによって構成されるシーケンスセットを生成する機能と、(a) A function to generate a sequence set comprising multiple image processing sequences, each having a combination of (i) an image input layer for inputting an image, (ii) at least one of a plurality of image processing layers, and (iii) an image output layer for outputting the image after image processing, wherein the sequence elements are:
(b)前記複数の画像処理シーケンスのそれぞれによって複数の学習画像を画像処理し、前記複数の画像処理シーケンスごとに、画像処理後の画像である複数の中間画像の集合である中間画像群を生成する機能と、(b) A function that processes multiple training images using each of the multiple image processing sequences, and generates a set of intermediate images, which is a collection of multiple intermediate images, for each of the multiple image processing sequences,
(c)前記複数の画像処理シーケンスごとの前記中間画像群を、対応するニューラルネットネットワーク型の複数の機械学習モデルであって入力層と中間層と出力層とを有する前記機械学習モデルの入力層に入力して、前記出力層の出力である層出力が、前記複数の学習画像ごとに予め定められた目標となる目標出力に近づくように前記機械学習モデルの学習を実行する機能と、(c) A function that inputs the group of intermediate images for each of the multiple image processing sequences into the input layer of a corresponding group of neural network-type machine learning models having an input layer, an intermediate layer and an output layer, and performs training of the machine learning model so that the layer output, which is the output of the output layer, approaches a predetermined target output for each of the multiple training images,
(d)対応する前記複数の機械学習モデルごとに、前記層出力と、前記目標出力とを比較して、前記層出力と前記目標出力との類似の程度を示す出力評価値を算出する機能と、(d) A function to compare the layer output with the target output for each of the corresponding machine learning models and calculate an output evaluation value indicating the degree of similarity between the layer output and the target output,
(e)前記複数の機械学習モデルごとに算出した複数の前記出力評価値のうちで最も高い前記出力評価値である最大出力評価値が、予め定めた閾値よりも高い場合には、前記最大出力評価値の算出元の前記機械学習モデルと、前記算出元の前記機械学習モデルに入力した前記中間画像群の生成に用いた前記画像処理シーケンスと、を特定する機能と、をコンピューターに実行させ、(e) If the maximum output evaluation value, which is the highest of the multiple output evaluation values calculated for each of the multiple machine learning models, is higher than a predetermined threshold, the computer is made to execute a function to identify the machine learning model from which the maximum output evaluation value was calculated and the image processing sequence used to generate the intermediate image group input to the machine learning model from which the calculation was made.
前記機能(a)は、前記最大出力評価値が前記閾値未満である場合には、生成した前記複数の画像処理シーケンスのうちで前記機械学習モデルの予測精度に関する性能評価値が低い1つ以上の前記画像処理シーケンスを、前記シーケンス要素の新たな組み合わせによって構成される前記画像処理シーケンスに置き換えることで新たな前記シーケンスセットを生成する機能を含み、Function (a) includes, if the maximum output evaluation value is less than the threshold, a function that generates a new sequence set by replacing one or more of the generated image processing sequences that have a low performance evaluation value regarding the prediction accuracy of the machine learning model with an image processing sequence composed of a new combination of sequence elements,
前記機能(b)から前記機能(e)は、前記新たなシーケンスセットに対して再び実行され、Functions (b) through (e) are executed again for the new sequence set,
前記機能(a)または前記機能(e)において、前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスと同じ前記画像処理シーケンスについては、前記機能(b)から前記機能(d)を実行することなく、前記前回までのルーチンで用いた前記シーケンスセットを構成する前記画像処理シーケンスに対する前記出力評価値または前記性能評価値を用いる、コンピュータープログラム。A computer program that, in function (a) or function (e), uses the output evaluation value or performance evaluation value for the image processing sequence that constitutes the sequence set used in the previous routine, without executing function (b) to function (d).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022058790A JP7844993B2 (en) | 2022-03-31 | 2022-03-31 | Image processing method, image processing apparatus, and computer program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022058790A JP7844993B2 (en) | 2022-03-31 | 2022-03-31 | Image processing method, image processing apparatus, and computer program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023149953A JP2023149953A (en) | 2023-10-16 |
| JP7844993B2 true JP7844993B2 (en) | 2026-04-14 |
Family
ID=88326597
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022058790A Active JP7844993B2 (en) | 2022-03-31 | 2022-03-31 | Image processing method, image processing apparatus, and computer program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7844993B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007213480A (en) | 2006-02-13 | 2007-08-23 | Yokohama National Univ | Evolutionary image automatic classification apparatus, filter structure generation method, and program |
| US20190043181A1 (en) | 2017-08-04 | 2019-02-07 | Fujitsu Limited | Inspection device and inspection method |
| JP2020119159A (en) | 2019-01-22 | 2020-08-06 | ブラザー工業株式会社 | Image processing apparatus, learned model, computer program, and attribute information output method |
-
2022
- 2022-03-31 JP JP2022058790A patent/JP7844993B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007213480A (en) | 2006-02-13 | 2007-08-23 | Yokohama National Univ | Evolutionary image automatic classification apparatus, filter structure generation method, and program |
| US20190043181A1 (en) | 2017-08-04 | 2019-02-07 | Fujitsu Limited | Inspection device and inspection method |
| JP2019032605A (en) | 2017-08-04 | 2019-02-28 | 富士通株式会社 | Inspection device, inspection program, and inspection method |
| JP2020119159A (en) | 2019-01-22 | 2020-08-06 | ブラザー工業株式会社 | Image processing apparatus, learned model, computer program, and attribute information output method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023149953A (en) | 2023-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110490202B (en) | Detection model training method and device, computer equipment and storage medium | |
| CN111814902A (en) | Target detection model training method, target recognition method, device and medium | |
| CN112199536A (en) | A cross-modality-based fast multi-label image classification method and system | |
| CN115331732A (en) | Gene phenotype training and predicting method and device based on graph neural network | |
| KR20210127069A (en) | Method of controlling performance of fusion model neural network | |
| CN112364974B (en) | YOLOv3 algorithm based on activation function improvement | |
| CN118470002B (en) | Yarn coating detection method and system based on multi-stage convolutional neural network | |
| CN111145145B (en) | Image surface defect detection method based on MobileNet | |
| Gao et al. | Diabetic retinopathy classification using an efficient convolutional neural network | |
| JP6641195B2 (en) | Optimization method, optimization device, program, and image processing device | |
| Jun et al. | Tournament based ranking CNN for the cataract grading | |
| CN113673482A (en) | Method and system for fluorescent recognition of cell antinuclear antibodies based on dynamic label assignment | |
| Sharma et al. | Texture Features Retrieval using Convolutional Neural Networks for Multiclass Classification of Plant Diseases | |
| CN117355038A (en) | X-shaped hole processing method and system for flexible circuit board | |
| CN117668701B (en) | AI artificial intelligence machine learning system and method | |
| CN111753980B (en) | Method for transferring features of a first image to a second image | |
| Assuncao et al. | Automatic evolution of autoencoders for compressed representations | |
| JP7844993B2 (en) | Image processing method, image processing apparatus, and computer program | |
| CN114202035B (en) | Multi-feature fusion large-scale network community detection algorithm | |
| JP7655115B2 (en) | Method for determining quality of inspection data using machine learning model, information processing device, and computer program | |
| JP7468088B2 (en) | Image processing system and image processing program | |
| CN119005087B (en) | Automatic optimization method and system for PCB board splitting path based on machine learning | |
| Shobeiri et al. | Shapley value in convolutional neural networks (CNNs): A Comparative Study | |
| CN114332594A (en) | DDQN-based method for classifying unbalanced data of touch material | |
| CN111563874B (en) | Bone age evaluation method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250304 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251120 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251209 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20260205 |
|
| 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: 20260303 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260316 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7844993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |