JP7059889B2 - Learning device, image generator, learning method, and learning program - Google Patents

Learning device, image generator, learning method, and learning program Download PDF

Info

Publication number
JP7059889B2
JP7059889B2 JP2018194507A JP2018194507A JP7059889B2 JP 7059889 B2 JP7059889 B2 JP 7059889B2 JP 2018194507 A JP2018194507 A JP 2018194507A JP 2018194507 A JP2018194507 A JP 2018194507A JP 7059889 B2 JP7059889 B2 JP 7059889B2
Authority
JP
Japan
Prior art keywords
image
learning
patch
generator
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018194507A
Other languages
Japanese (ja)
Other versions
JP2020064364A (en
Inventor
瑩 王
真嗣 栗田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018194507A priority Critical patent/JP7059889B2/en
Publication of JP2020064364A publication Critical patent/JP2020064364A/en
Application granted granted Critical
Publication of JP7059889B2 publication Critical patent/JP7059889B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/12Improving ICE efficiencies

Landscapes

  • Image Analysis (AREA)

Description

本発明は、学習装置、画像生成装置、学習方法、及び学習プログラムに関する。 The present invention relates to a learning device, an image generation device, a learning method, and a learning program.

従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。 Conventionally, in the scene of manufacturing a product such as a production line, a technique of photographing the manufactured product with an imaging device and inspecting the quality of the product based on the obtained image data has been used. For example, in Patent Document 1, it is determined whether the inspection target imaged in the image is normal or abnormal based on the first learned neural network, and when it is determined that the inspection target is abnormal, it is determined. An inspection device that classifies the type of the anomaly based on the learned second neural network has been proposed.

特開2012-026982号公報Japanese Unexamined Patent Publication No. 2012-026892

Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, "Generative Adversarial Networks", Advances in neural information processing systems, 2672-2680, 2014Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, "Generative Adversarial Networks", Advances in neural information processing systems, 2672-2680, 2014

本件発明者らは、特許文献1のようなニューラルネットワーク等の学習モデルにより構成される推定器を利用して、画像データから製品の良否を判定する従来の技術には、次のような問題が生じ得ることを見出した。すなわち、製品の良否を判定する能力を学習モデルに習得させる機械学習を行う場合、訓練データとしてサンプル画像を用意することになる。このサンプル画像の件数が少ないと、学習済みの学習モデル(推定器)による良否の判定の精度が不十分になってしまう。一方で、推定器による判定の精度を高めるために、十分な件数のサンプル画像を用意するにはコストがかかってしまう。 The inventors of the present invention have the following problems in the conventional technique of determining the quality of a product from image data by using an estimator composed of a learning model such as a neural network as in Patent Document 1. I found that it could happen. That is, when performing machine learning to make a learning model acquire the ability to judge the quality of a product, a sample image is prepared as training data. If the number of sample images is small, the accuracy of the pass / fail judgment by the trained learning model (estimator) becomes insufficient. On the other hand, it is costly to prepare a sufficient number of sample images in order to improve the accuracy of the judgment by the estimator.

そこで、本件発明者らは、生成器(生成モデル)を利用して、用意した画像から複数件の異なる画像を量産し、量産した複数件の画像を機械学習の訓練データとして利用することを検討した。例えば、非特許文献1には、機械学習により、用意した学習画像から生成器(生成モデル)を構築する方法が提案されている。この生成器は、機械学習により、学習画像に対応する画像を生成するよう訓練される。つまり、製品を写した画像を学習画像として利用すれば、生成器は、製品の写り得る画像を生成するように訓練される。この訓練された生成器を利用すれば、製品の良否を判定する能力を習得させるための機械学習に利用可能なサンプル画像を自動的に生成することができるようになるため、サンプル画像を用意するコストを低減することができる。 Therefore, the inventors of the present invention consider using a generator (generative model) to mass-produce a plurality of different images from the prepared images, and to use the mass-produced multiple images as training data for machine learning. bottom. For example, Non-Patent Document 1 proposes a method of constructing a generator (generative model) from a prepared learning image by machine learning. This generator is trained by machine learning to generate an image corresponding to the trained image. That is, if the image of the product is used as the learning image, the generator is trained to produce a possible image of the product. Prepare sample images because this trained generator will be able to automatically generate sample images that can be used for machine learning to acquire the ability to judge the quality of a product. The cost can be reduced.

しかしながら、本件発明者らは、この生成器を利用する場面において、次のような問題点が生じ得ることを見出した。すなわち、学習画像のサイズが大きくなるほど、生成器の構造は複雑になってしまう。例えば、ニューラルネットワークにより生成器が構成される場合には、学習画像のサイズが大きくなるほど、中間層(隠れ層)等の層の数、及び各層におけるニューロンの数が多くなってしまう。これにより、機械学習により生成器を構築するのにかかる計算コストが大きくなってしまい、機械学習の計算処理の際にメモリの不足が生じてしまう、当該計算処理の時間が長くなってしまう、当該計算処理が所定時間内に完了しない等の不具合が生じてしまうという問題点が生じ得る。 However, the present inventors have found that the following problems may occur in the situation of using this generator. That is, the larger the size of the training image, the more complicated the structure of the generator. For example, when the generator is configured by a neural network, the larger the size of the training image, the larger the number of layers such as the intermediate layer (hidden layer) and the number of neurons in each layer. As a result, the calculation cost required to construct the generator by machine learning becomes large, a memory shortage occurs during the calculation process of machine learning, and the calculation process takes a long time. There may be a problem that a problem such as the calculation process not being completed within a predetermined time occurs.

なお、このような問題点は、製品を写した画像を生成するための生成器(生成モデル)を機械学習により構築する場面だけではなく、何らかの対象物を写した画像を生成するための生成器を構築するあらゆる場面で生じ得る。例えば、対象者の顔を写した顔画像を生成するための生成器を構築する場合に、高解像度の画像を学習画像として利用すると、当該生成器の構築にかかる計算コストが大きくなってしまう。これにより、上記不具合が生じてしまう可能性がある。 It should be noted that such a problem is not limited to the scene where a generator (generation model) for generating an image of a product is constructed by machine learning, but also a generator for generating an image of an object. Can occur in any situation that builds. For example, when constructing a generator for generating a face image showing a subject's face, if a high-resolution image is used as a learning image, the calculation cost for constructing the generator becomes large. As a result, the above-mentioned problem may occur.

本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、画像を生成するための生成器を構築するのにかかる計算コストを低減する技術を提供することである。 The present invention, on the one hand, has been made in view of such circumstances, and an object of the present invention is to provide a technique for reducing the computational cost required to construct a generator for generating an image. be.

本発明は、上述した課題を解決するために、以下の構成を採用する。 The present invention adopts the following configuration in order to solve the above-mentioned problems.

すなわち、本発明の一側面に係る学習装置は、外観検査の対象となる製品を写した学習画像を取得する画像取得部と、前記学習画像を複数のパッチ画像に分割する画像分割部と、前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるラベル付与部と、機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築する学習処理部と、を備える。 That is, the learning device according to one aspect of the present invention includes an image acquisition unit that acquires a learning image of a product to be visually inspected, an image division unit that divides the learning image into a plurality of patch images, and the above. Depending on the position of each patch image in the training image, it is associated with each patch image by performing machine learning with a labeling unit that associates one of a plurality of labels with each patch image. A learning processing unit for constructing a generator trained to generate an image corresponding to each patch image from the label is provided.

当該構成に係る学習装置は、外観検査の対象となる製品を写した学習画像を複数のパッチ画像に分割し、各パッチ画像及び対応する各ラベルを利用して、生成器の機械学習を実施する。この機械学習により、生成器は、各ラベルから対応する各パッチ画像に対応する画像を生成するように訓練される。訓練された生成器により生成された各画像を各ラベルに応じて結合することで、学習画像に対応するフルサイズの画像であって、外観検査の対象となる製品の写り得る画像を生成することができる。 The learning device according to the configuration divides the learning image showing the product to be visually inspected into a plurality of patch images, and performs machine learning of the generator using each patch image and each corresponding label. .. By this machine learning, the generator is trained to generate an image corresponding to each corresponding patch image from each label. Combining each image generated by a trained generator according to each label produces a full-size image corresponding to the training image that can capture the product subject to visual inspection. Can be done.

すなわち、当該構成に係る学習装置は、学習画像を分割することで得られた各パッチ画像に類似する画像の生成を生成器に学習させる。これにより、フルサイズの学習画像に類似する画像を直接的に生成する能力を生成器に習得させるのではなく、各パッチ画像に類似する画像の生成を介して学習画像に類似するフルサイズの画像を間接的に生成する能力を生成器に習得させる。そのため、当該構成では、生成器に学習させる画像のサイズを抑えることができるため、生成器の構成を単純化することができる。したがって、当該構成によれば、機械学習により生成器を構築するのにかかる計算コストを低減することができる。これによって、機械学習の計算処理の際に使用するメモリの量を抑えたり、当該計算処理にかかる時間を短くしたりすることができる。 That is, the learning device according to the configuration causes the generator to learn the generation of an image similar to each patch image obtained by dividing the learning image. This causes a full-size image that resembles the training image through the generation of an image that resembles each patch image, rather than letting the generator learn the ability to directly generate an image that resembles the full-size training image. To teach the generator the ability to indirectly generate. Therefore, in this configuration, the size of the image to be trained by the generator can be suppressed, so that the configuration of the generator can be simplified. Therefore, according to the configuration, it is possible to reduce the calculation cost required to construct the generator by machine learning. As a result, it is possible to reduce the amount of memory used in the calculation process of machine learning and shorten the time required for the calculation process.

上記一側面に係る学習装置において、前記画像分割部は、前記学習画像の複雑度を算出してもよく、算出した複雑度に応じて、パッチサイズを決定してもよく、決定した前記パッチサイズをそれぞれ有する前記複数のパッチ画像に前記学習画像を分割してもよい。当該構成によれば、学習画像に類似する画像を生成する能力を生成器に習得させるのに適切なパッチサイズで学習画像を分割することができる。したがって、機械学習により生成器を構築するのにかかる計算コストを低減しつつ、その機械学習によって、学習画像に対応(類似)する適切な画像を生成する能力を生成器に習得させることができる。 In the learning device according to the one aspect, the image dividing unit may calculate the complexity of the learning image, may determine the patch size according to the calculated complexity, and may determine the patch size. The learning image may be divided into the plurality of patch images each having the above. According to this configuration, the training image can be divided with a patch size appropriate for the generator to acquire the ability to generate an image similar to the training image. Therefore, while reducing the computational cost required to construct the generator by machine learning, the machine learning can make the generator acquire the ability to generate an appropriate image corresponding to (similar to) the trained image.

上記一側面に係る学習装置において、前記ラベル付与部は、前記各パッチ画像の複雑度を算出してもよく、算出した複雑度に基づいて、前記複数のパッチ画像のうちの互いに類似する2つ以上のパッチ画像を統合してもよく、統合した前記2つ以上のパッチ画像に同一のラベルを付与してもよい。当該構成によれば、類似する2つ以上のパッチ画像を統合することで、生成器に習得させるパッチ画像の種類を低減することができるため、生成器の構成を更に単純化することができる。そのため、機械学習により生成器を構築するのにかかる計算コストを更に低減することができる。 In the learning device according to the one aspect, the labeling unit may calculate the complexity of each patch image, and based on the calculated complexity, two of the plurality of patch images that are similar to each other. The above patch images may be integrated, or the two or more integrated patch images may be given the same label. According to this configuration, by integrating two or more similar patch images, the types of patch images to be learned by the generator can be reduced, so that the configuration of the generator can be further simplified. Therefore, the calculation cost required to construct the generator by machine learning can be further reduced.

上記一側面に係る学習装置は、構築された前記生成器に関する情報を所定の記憶領域に保存する保存処理部を更に備えてもよい。当該構成によれば、機械学習により構築された生成器を他のコンピュータで利用可能にすることができる。 The learning device according to the above aspect may further include a storage processing unit that stores information about the constructed generator in a predetermined storage area. According to this configuration, the generator built by machine learning can be made available to other computers.

上記一側面に係る学習装置において、前記生成器は、判別器に接続されてもよく、前記機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記学習画像から分割された前記各パッチ画像であるかを判別するよう前記判別器を訓練する第1訓練ステップ、及び前記各パッチ画像に関連付けられた前記ラベルから、前記判別器による前記判別が誤るような前記画像を生成するよう前記生成器を訓練する第2訓練ステップを交互に行うことを含んでもよい。当該構成によれば、各ラベルから対応する各パッチ画像に対応する画像を生成するように訓練された生成器を適切に構築することができる。 In the learning device according to the one aspect, the generator may be connected to the discriminator, and performing the machine learning means that the input image input to the discriminator is generated by the generator. From the first training step of training the discriminator to discriminate whether it is an image or the patch image divided from the learning image, and from the label associated with each patch image, the discriminator is used. It may include alternating second training steps to train the generator to generate the image such that the discrimination is erroneous. According to this configuration, a generator trained to generate an image corresponding to each corresponding patch image from each label can be appropriately constructed.

上記一側面に係る学習装置において、前記生成器は、エンコーダに接続されてよく、前記機械学習を行うことは、前記各パッチ画像を前記エンコーダに入力することで前記エンコーダから得られる出力値及び前記各パッチ画像に関連付けられた前記ラベルから、前記各パッチ画像に対応する画像を生成するよう前記生成器を訓練することを含んでもよい。当該構成によれば、各ラベルから対応する各パッチ画像に対応する画像を生成するように訓練された生成器を適切に構築することができる。 In the learning device according to the one aspect, the generator may be connected to an encoder, and performing the machine learning means an output value obtained from the encoder by inputting each patch image to the encoder and the above. It may include training the generator to generate an image corresponding to each patch image from the label associated with each patch image. According to this configuration, a generator trained to generate an image corresponding to each corresponding patch image from each label can be appropriately constructed.

また、本発明の一側面に係る画像生成装置は、上記いずれかの形態に係る学習装置により構築された前記生成器を利用して、前記複数のラベルそれぞれから複数の画像それぞれを生成する生成部と、生成された前記複数の画像それぞれを、前記複数のラベルそれぞれに応じた位置に配置した後に結合することで、結合画像を生成する結合部と、を備える。当該構成によれば、単純化された上記生成器を利用することにより、学習画像に対応する画像、すなわち、製品の写り得る画像(結合画像)を量産するのにかかる計算コストを抑えることができる。 Further, the image generation device according to one aspect of the present invention is a generation unit that generates a plurality of images from each of the plurality of labels by using the generator constructed by the learning device according to any one of the above modes. And a joining portion for generating a combined image by arranging each of the generated plurality of images at a position corresponding to each of the plurality of labels and then combining them. According to this configuration, by using the simplified generator, it is possible to reduce the calculation cost required for mass-producing an image corresponding to the learning image, that is, an image (combined image) in which the product can be captured. ..

また、上記各形態に係る学習装置及び画像生成装置は、外観検査の対象となる製品を写した画像を生成するための生成器を構築する場面だけではなく、例えば、対象者の顔を写した顔画像を生成するための生成器を構築する場面等、何らかの対象物を写した画像を生成するための生成器を構築するあらゆる場面に適用されてよい。 Further, the learning device and the image generation device according to each of the above modes are not only used for constructing a generator for generating an image of a product to be visually inspected, but also, for example, a face of a subject. It may be applied to any scene in which a generator for generating an image of an object is constructed, such as a scene in which a generator for generating a face image is constructed.

例えば、本発明の一側面に係る学習装置は、対象物を写した学習画像を取得する画像取得部と、前記学習画像を複数のパッチ画像に分割する画像分割部と、前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるラベル付与部と、機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築する学習処理部と、を備える。なお、対象物は、何らかの属性を識別する対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象物は、例えば、上記外観検査の対象となる製品、人物、人物の身体部位(例えば、顔等)、文字、車両における車外の状況等であってよい。推定する対象となる特徴は、特に限定されなくてもよく、対象物に応じて適宜選択されてよい。対象物が外観検査の対象となる製品である場合、推定する対象となる特徴は、例えば、シミ、汚れ、傷等の欠陥であってよい。対象物が人物の顔である場合、推定する対象となる特徴は、例えば、表情の種別、顔のパーツの状態、その顔の人物の属性等であってよい。対象物が文字である場合、推定する対象となる特徴は、印字の鮮明度、歪み、文字列のずれ等の属性であってよい。対象物が車外の状況である場合、推定する対象となる特徴は、例えば、車線の状態、渋滞具合等の道路状況の属性であってよい。 For example, the learning device according to one aspect of the present invention includes an image acquisition unit that acquires a learning image of an object, an image division unit that divides the learning image into a plurality of patch images, and the above-mentioned in the learning image. Depending on the position of each patch image, a label assigning unit that associates one of a plurality of labels with each patch image and machine learning are performed to obtain the label associated with each patch image. It comprises a learning processing unit that builds a generator trained to generate an image corresponding to each patch image. The type of the object is not particularly limited as long as it can be an object for identifying some attribute, and may be appropriately selected according to the embodiment. The object may be, for example, a product to be inspected for appearance, a person, a body part of the person (for example, a face, etc.), characters, a situation outside the vehicle in a vehicle, or the like. The feature to be estimated does not have to be particularly limited, and may be appropriately selected depending on the object. When the object is a product to be visually inspected, the feature to be estimated may be, for example, a defect such as a stain, a stain, or a scratch. When the object is a person's face, the features to be estimated may be, for example, the type of facial expression, the state of facial parts, the attributes of the person on the face, and the like. When the object is a character, the feature to be estimated may be attributes such as print sharpness, distortion, and character string deviation. When the object is a situation outside the vehicle, the feature to be estimated may be an attribute of the road condition such as a lane condition and a traffic condition.

本発明の一側面に係る画像生成システムは、上記いずれかの形態に係る学習装置及び画像生成装置により構成されてもよい。また、本発明の一側面に係る推定システムは、上記いずれかの形態に係る学習装置、上記画像生成装置、生成された画像を利用して、画像に写る対象物の何らかの特徴を推定する推定器を構築する推定器生成装置、及び構築された推定器を利用して、画像に写る対象物の特徴を推定する推定装置により構成されてよい。更に、上記各形態に係る学習装置、画像生成装置、画像生成システム、及び推定システムそれぞれの別の形態として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。 The image generation system according to one aspect of the present invention may be configured by the learning device and the image generation device according to any one of the above forms. Further, the estimation system according to one aspect of the present invention is an estimator that estimates some features of an object to be captured in an image by using the learning device, the image generation device, and the generated image according to any one of the above forms. It may be configured by an estimator generator for constructing an image and an estimator for estimating the characteristics of an object in an image by using the constructed estimator. Further, as another form of each of the learning device, the image generation device, the image generation system, and the estimation system according to each of the above forms, one aspect of the present invention may be an information processing method that realizes each of the above configurations. However, it may be a program, or it may be a storage medium that stores such a program and can be read by a computer or the like. Here, the storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.

例えば、本発明の一側面に係る学習方法は、コンピュータが、外観検査の対象となる製品を写した学習画像を取得するステップと、前記学習画像を複数のパッチ画像に分割するステップと、前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるステップと、機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築するステップと、を実行する、情報処理方法である。 For example, the learning method according to one aspect of the present invention includes a step in which a computer acquires a learning image showing a product to be visually inspected, a step of dividing the learning image into a plurality of patch images, and the learning. Depending on the position of each patch image in the image, the step of associating one of the plurality of labels with each patch image and the label associated with each patch image by performing machine learning. It is an information processing method that executes a step of constructing a generator trained to generate an image corresponding to each of the patch images.

また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、外観検査の対象となる製品を写した学習画像を取得するステップと、前記学習画像を複数のパッチ画像に分割するステップと、前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるステップと、機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築するステップと、を実行させるための、プログラムである。 Further, for example, the learning program according to one aspect of the present invention includes a step of acquiring a learning image of a product to be visually inspected on a computer, a step of dividing the learning image into a plurality of patch images, and a step of dividing the learning image into a plurality of patch images. Depending on the position of each patch image in the training image, one of a plurality of labels is associated with each patch image, and machine learning is performed to associate one of the plurality of labels with each patch image. A program for constructing a generator trained to generate an image corresponding to each of the patch images from the label.

本発明によれば、画像を生成するための生成器を構築するのにかかる計算コストを低減することができる。 According to the present invention, it is possible to reduce the computational cost required to construct a generator for generating an image.

図1は、本発明が適用される場面の一例を模式的に例示する。FIG. 1 schematically illustrates an example of a situation in which the present invention is applied. 図2は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。FIG. 2 schematically illustrates an example of the hardware configuration of the learning device according to the embodiment. 図3は、実施の形態に係る画像生成装置のハードウェア構成の一例を模式的に例示する。FIG. 3 schematically illustrates an example of the hardware configuration of the image generator according to the embodiment. 図4は、実施の形態に係る推定器生成装置のハードウェア構成の一例を模式的に例示する。FIG. 4 schematically illustrates an example of the hardware configuration of the estimator generator according to the embodiment. 図5は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。FIG. 5 schematically illustrates an example of the hardware configuration of the inspection device according to the embodiment. 図6は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。FIG. 6 schematically illustrates an example of the software configuration of the learning device according to the embodiment. 図7Aは、実施の形態に係るネットワークの機械学習の過程の一例を模式的に例示する。FIG. 7A schematically illustrates an example of the machine learning process of the network according to the embodiment. 図7Bは、実施の形態に係るネットワークの機械学習の過程の一例を模式的に例示する。FIG. 7B schematically illustrates an example of the machine learning process of the network according to the embodiment. 図8は、実施の形態に係る画像生成装置のソフトウェア構成の一例を模式的に例示する。FIG. 8 schematically illustrates an example of the software configuration of the image generator according to the embodiment. 図9は、実施の形態に係る推定器生成装置のソフトウェア構成の一例を模式的に例示する。FIG. 9 schematically illustrates an example of the software configuration of the estimator generator according to the embodiment. 図10は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。FIG. 10 schematically illustrates an example of the software configuration of the inspection device according to the embodiment. 図11は、実施の形態に係る学習装置の処理手順の一例を例示する。FIG. 11 illustrates an example of the processing procedure of the learning device according to the embodiment. 図12は、実施の形態に係るパッチ分割の処理手順の一例を例示する。FIG. 12 illustrates an example of the patch division processing procedure according to the embodiment. 図13は、実施の形態に係るラベリングの処理手順の一例を例示する。FIG. 13 illustrates an example of the labeling processing procedure according to the embodiment. 図14は、実施の形態に係る機械学習の処理手順の一例を例示する。FIG. 14 illustrates an example of the machine learning processing procedure according to the embodiment. 図15は、実施の形態に係る画像生成装置の処理手順の一例を例示する。FIG. 15 illustrates an example of the processing procedure of the image generator according to the embodiment. 図16は、実施の形態に係る推定器生成装置の処理手順の一例を例示する。FIG. 16 illustrates an example of the processing procedure of the estimator generator according to the embodiment. 図17は、実施の形態に係る検査装置の処理手順の一例を例示する。FIG. 17 illustrates an example of the processing procedure of the inspection device according to the embodiment. 図18は、変形例に係る学習装置のソフトウェア構成の一例を模式的に例示する。FIG. 18 schematically illustrates an example of the software configuration of the learning device according to the modified example. 図19は、本発明が適用される場面の変形例を模式的に例示する。FIG. 19 schematically illustrates a modified example of the scene to which the present invention is applied. 図20は、変形例に係る推定装置のソフトウェア構成の一例を模式的に例示する。FIG. 20 schematically illustrates an example of the software configuration of the estimation device according to the modified example.

以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。 Hereinafter, an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings. However, the embodiments described below are merely examples of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted. The data appearing in the present embodiment are described in natural language, but more specifically, they are specified in a pseudo language, a command, a parameter, a machine language, etc. that can be recognized by a computer.

§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、製品Rの外観検査に本発明を適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、画像に写る対象物の何らかの特徴を推定するあらゆる場面に適用可能である。
§1 Application example First, an example of a situation in which the present invention is applied will be described with reference to FIG. FIG. 1 schematically illustrates an example of a situation in which the present invention is applied to a visual inspection of a product R. However, the scope of application of the present invention is not limited to the examples of visual inspection illustrated below. The present invention is applicable to all situations in which some feature of an object in an image is estimated.

図1に例示されるとおり、本実施形態に係る検査システム100は、ネットワークを介して接続される学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4を備えている。これにより、検査システム100は、製品Rの良否を検査するように構成される。学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。 As illustrated in FIG. 1, the inspection system 100 according to the present embodiment includes a learning device 1, an image generation device 2, an estimator generation device 3, and an inspection device 4 connected via a network. As a result, the inspection system 100 is configured to inspect the quality of the product R. The type of network between the learning device 1, the image generator 2, the estimator generator 3, and the inspection device 4 may be not particularly limited, and may be, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, and the like. It may be appropriately selected from a dedicated network or the like.

なお、図1の例では、学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4はそれぞれ別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4の少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4はそれぞれ複数台のコンピュータにより構成されてもよい。 In the example of FIG. 1, the learning device 1, the image generation device 2, the estimator generation device 3, and the inspection device 4 are separate computers. However, the configuration of the inspection system 100 does not have to be limited to such an example. At least one pair of the learning device 1, the image generator 2, the estimator generator 3, and the inspection device 4 may be an integrated computer. Further, the learning device 1, the image generation device 2, the estimator generation device 3, and the inspection device 4 may each be composed of a plurality of computers.

本実施形態に係る学習装置1は、外観検査の対象となる製品Rを写した画像を生成するための生成器50を構築するように構成されたコンピュータである。具体的には、学習装置1は、外観検査の対象となる製品Rを写した学習画像60を取得し、取得した学習画像60を複数のパッチ画像61に分割する。次に、学習装置1は、学習画像60内に各パッチ画像61の位置に応じて、複数のラベル62のうちのいずれかのラベル62を各パッチ画像61に関連付ける(付与する)。各ラベル62は、学習画像60内における各パッチ画像61の位置を示す。 The learning device 1 according to the present embodiment is a computer configured to construct a generator 50 for generating an image of a product R to be visually inspected. Specifically, the learning device 1 acquires a learning image 60 showing the product R to be visually inspected, and divides the acquired learning image 60 into a plurality of patch images 61. Next, the learning device 1 associates (assigns) any label 62 of the plurality of labels 62 with each patch image 61 according to the position of each patch image 61 in the learning image 60. Each label 62 indicates the position of each patch image 61 in the training image 60.

そして、学習装置1は、各パッチ画像61及び各ラベル62を利用して、生成器50の機械学習を実施することで、生成器50のパラメータを調節する。これにより、学習装置1は、各パッチ画像61に関連付けられたラベル62から各パッチ画像61に対応する画像を生成するように訓練された生成器50を構築する。各パッチ画像61に対応する画像とは、各パッチ画像61に類似し、各パッチ画像61に写る対象が写り得る画像である。生成器50は、各パッチ画像61の分布に従った(沿う)画像を生成するように訓練される。 Then, the learning device 1 adjusts the parameters of the generator 50 by performing machine learning of the generator 50 using each patch image 61 and each label 62. As a result, the learning device 1 constructs a generator 50 trained to generate an image corresponding to each patch image 61 from the label 62 associated with each patch image 61. The image corresponding to each patch image 61 is an image similar to each patch image 61 and capable of showing an object to be reflected in each patch image 61. The generator 50 is trained to generate an image that follows (along with) the distribution of each patch image 61.

なお、図1の「P1」は、パッチ画像61の種別を示し、「C1」は、ラベル62の種別を示す。図1の例では、左上角のパッチ画像「P1」にラベル「C1」が付与されている。ただし、パッチ画像61の種別、ラベル62の種別、及びパッチ画像61とラベル62との対応関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。 Note that "P1" in FIG. 1 indicates the type of the patch image 61, and "C1" indicates the type of the label 62. In the example of FIG. 1, the label "C1" is attached to the patch image "P1" in the upper left corner. However, the type of the patch image 61, the type of the label 62, and the correspondence between the patch image 61 and the label 62 do not have to be limited to such an example, and may be appropriately determined according to the embodiment.

これに対して、本実施形態に係る画像生成装置2は、学習装置1により構築された学習済みの生成器50を利用して、製品Rの写り得る画像を生成するように構成されたコンピュータである。具体的には、画像生成装置2は、学習装置1により構築された生成器50を利用して、複数のラベル62それぞれから複数の画像67それぞれを生成する。生成される画像67は、上記各パッチ画像61に対応する画像である。 On the other hand, the image generation device 2 according to the present embodiment is a computer configured to generate a possible image of the product R by using the trained generator 50 constructed by the learning device 1. be. Specifically, the image generation device 2 uses the generator 50 constructed by the learning device 1 to generate each of the plurality of images 67 from each of the plurality of labels 62. The generated image 67 is an image corresponding to each of the patch images 61.

そして、画像生成装置2は、生成された複数の画像67それぞれを、複数のラベル62それぞれに応じた位置に配置した後に結合することで、結合画像69を生成する。生成される結合画像69は、製品Rを写した上記学習画像60に対応する画像である。なお、図1の「Q1」は、生成器50により生成された画像67の種別を示す。図1の例では、ラベル「C1」から生成された画像「Q1」が、左上角に配置された後、他のラベル62から生成された他の画像67と結合される。 Then, the image generation device 2 generates a combined image 69 by arranging each of the generated plurality of images 67 at a position corresponding to each of the plurality of labels 62 and then combining them. The generated combined image 69 is an image corresponding to the learning image 60 showing the product R. Note that "Q1" in FIG. 1 indicates the type of the image 67 generated by the generator 50. In the example of FIG. 1, the image "Q1" generated from the label "C1" is placed in the upper left corner and then combined with another image 67 generated from the other label 62.

本実施形態に係る推定器生成装置3は、製品Rの良否を推定するための推定器を構築するように構成されたコンピュータである。具体的に、推定器生成装置3は、製品Rを写したサンプル画像及び正解データの組み合わせによりそれぞれ構成された複数の学習データセットを取得する。正解データは、サンプル画像に写る製品Rの良否を判定した結果(すなわち、正解)を示す。そして、推定器生成装置3は、複数の学習データセットを利用した機械学習を実施することで、与えられた画像に写る製品Rの良否を判定する能力を習得した学習済みの推定器を構築する。なお、推定器生成装置3は、画像生成装置2により生成された結合画像69をサンプル画像に利用することができる。 The estimator generator 3 according to the present embodiment is a computer configured to construct an estimator for estimating the quality of the product R. Specifically, the estimator generator 3 acquires a plurality of learning data sets each composed of a combination of a sample image showing the product R and correct answer data. The correct answer data shows the result (that is, the correct answer) of determining the quality of the product R shown in the sample image. Then, the estimator generator 3 constructs a trained estimator that has acquired the ability to judge the quality of the product R reflected in a given image by performing machine learning using a plurality of learning data sets. .. The estimator generation device 3 can use the combined image 69 generated by the image generation device 2 as a sample image.

これに対して、本実施形態に係る検査装置4は、推定器生成装置3により構築された学習済みの推定器を利用して、製品Rの良否を判定するように構成されたコンピュータである。検査装置4は、画像に写る対象物の何らかの特徴を推定するための推定装置の一例である。具体的に、検査装置4は、外観検査の対象となる製品Rの写る対象画像を取得する。本実施形態では、検査装置4にはカメラCAが接続されている。検査装置4は、このカメラCAにより製品Rを撮影することで対象画像を取得する。次に、検査装置4は、取得した対象画像を学習済みの推定器に入力し、学習済みの推定器の演算処理を実行する。これにより、検査装置4は、製品Rの良否を判定した結果に対応する出力値を学習済みの推定器から取得する。そして、検査装置4は、学習済みの推定器から得られた出力値に基づいて製品Rの良否を判定した結果に関する情報を出力する。 On the other hand, the inspection device 4 according to the present embodiment is a computer configured to judge the quality of the product R by using the trained estimator constructed by the estimator generation device 3. The inspection device 4 is an example of an estimation device for estimating some feature of an object shown in an image. Specifically, the inspection device 4 acquires a target image of the product R to be visually inspected. In the present embodiment, the camera CA is connected to the inspection device 4. The inspection device 4 acquires a target image by photographing the product R with this camera CA. Next, the inspection device 4 inputs the acquired target image to the trained estimator, and executes the arithmetic processing of the trained estimator. As a result, the inspection device 4 acquires an output value corresponding to the result of determining the quality of the product R from the trained estimator. Then, the inspection device 4 outputs information regarding the result of determining the quality of the product R based on the output value obtained from the learned estimator.

以上のとおり、本実施形態に係る学習装置1は、学習画像60を分割することで得られた各パッチ画像61に対応する画像の生成を生成器50に学習させる。これにより、フルサイズの学習画像60に対応する画像を直接的に生成する能力を生成器50に習得させるのではなく、各パッチ画像61に対応する画像の生成を介して学習画像60に対応するフルサイズの画像を間接的に生成する能力を生成器50に習得させる。そのため、本実施形態では、生成器50に学習させる画像のサイズを抑えることができるため、生成器50の構成を単純化することができる。したがって、本実施形態によれば、機械学習により生成器50を構築するのにかかる計算コストを低減することができる。これによって、機械学習の計算処理の際に使用するメモリの量を抑えたり、当該計算処理にかかる時間を短くしたりすることができる。 As described above, the learning device 1 according to the present embodiment causes the generator 50 to learn the generation of the image corresponding to each patch image 61 obtained by dividing the learning image 60. As a result, the generator 50 does not acquire the ability to directly generate the image corresponding to the full-size learning image 60, but corresponds to the learning image 60 through the generation of the image corresponding to each patch image 61. The generator 50 is trained in the ability to indirectly generate a full-size image. Therefore, in the present embodiment, the size of the image to be learned by the generator 50 can be suppressed, so that the configuration of the generator 50 can be simplified. Therefore, according to the present embodiment, it is possible to reduce the calculation cost required to construct the generator 50 by machine learning. As a result, it is possible to reduce the amount of memory used in the calculation process of machine learning and shorten the time required for the calculation process.

また、本実施形態に係る画像生成装置2では、学習装置1により構築された生成器50を利用することで、製品Rの写り得る画像(結合画像69)を量産するのにかかる計算コストを抑えることができる。加えて、本実施形態では、画像生成装置2により量産された結合画像69をサンプル画像として利用することができる。これにより、推定器生成装置3において、学習データセットを収集するコストを低減することができる。更に、本実施形態では、画像生成装置2により量産された結合画像69をサンプル画像として利用することで、推定器の機械学習に利用するサンプル画像の件数を増やすことができる。これにより、検査装置4において、製品Rの良否を判定する精度を高めることができる。 Further, in the image generation device 2 according to the present embodiment, by using the generator 50 constructed by the learning device 1, the calculation cost required for mass-producing the image (combined image 69) in which the product R can be captured is suppressed. be able to. In addition, in the present embodiment, the combined image 69 mass-produced by the image generation device 2 can be used as a sample image. This makes it possible to reduce the cost of collecting the training data set in the estimator generator 3. Further, in the present embodiment, by using the combined image 69 mass-produced by the image generation device 2 as a sample image, the number of sample images used for machine learning of the estimator can be increased. This makes it possible to improve the accuracy of determining the quality of the product R in the inspection device 4.

なお、外観検査の対象となる製品Rは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Rは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Rに欠陥があるか否かを単に判定することであってもよいし、製品Rに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。 The product R to be inspected for appearance may not be particularly limited and may be appropriately selected according to the embodiment. The product R may be, for example, a product transported on a production line such as an electronic component or an automobile component. Electronic components are, for example, boards, chip capacitors, liquid crystals, relay windings, and the like. Automotive parts are, for example, connecting rods, shafts, engine blocks, power window switches, panels and the like. Further, the quality determination may be simply determining whether or not the product R has a defect, and in addition to determining whether or not the product R has a defect, the type of the defect is identified. May include doing. The defects are, for example, scratches, stains, cracks, dents, dust, burrs, color unevenness, and the like.

§2 構成例
[ハードウェア構成]
<学習装置>
次に、図2を用いて、本実施形態に係る学習装置1のハードウェア構成の一例について説明する。図2は、本実施形態に係る学習装置1のハードウェア構成の一例を模式的に例示する。
§2 Configuration example [Hardware configuration]
<Learning device>
Next, an example of the hardware configuration of the learning device 1 according to the present embodiment will be described with reference to FIG. FIG. 2 schematically illustrates an example of the hardware configuration of the learning device 1 according to the present embodiment.

図2に示されるとおり、本実施形態に係る学習装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図2では、通信インタフェースを「通信I/F」と記載している。 As shown in FIG. 2, the learning device 1 according to the present embodiment is a computer to which a control unit 11, a storage unit 12, a communication interface 13, an input device 14, an output device 15, and a drive 16 are electrically connected. .. In FIG. 2, the communication interface is described as "communication I / F".

制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、学習プログラム121、学習画像60、ラベル情報621、第1学習結果データ125等の各種情報を記憶する。 The control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, which are hardware processors, and is configured to execute information processing based on a program and various data. To. The storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the learning program 121, the learning image 60, the label information 621, and the first learning result data 125.

学習プログラム121は、製品Rの写り得る画像を生成するための生成器50を構築する後述の情報処理(図11~図14)を学習装置1に実行させるためのプログラムである。学習プログラム121は、当該情報処理の一連の命令を含む。学習画像60は、生成器50の機械学習に利用される。学習画像60の件数は、実施の形態に応じて適宜決定されてよい。ラベル情報621は、各パッチ画像61と各ラベル62との対応関係を示す。第1学習結果データ125は、機械学習により構築された学習済みの生成器50の設定を行うためのデータである。第1学習結果データ125は、学習プログラム121の実行結果として生成される。詳細は後述する。 The learning program 121 is a program for causing the learning device 1 to execute information processing (FIGS. 11 to 14) described later, which constructs a generator 50 for generating a possible image of the product R. The learning program 121 includes a series of instructions for the information processing. The learning image 60 is used for machine learning of the generator 50. The number of learning images 60 may be appropriately determined according to the embodiment. The label information 621 shows the correspondence between each patch image 61 and each label 62. The first learning result data 125 is data for setting the trained generator 50 constructed by machine learning. The first learning result data 125 is generated as an execution result of the learning program 121. Details will be described later.

通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、画像生成装置2、推定器生成装置3)と行うことができる。 The communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using this communication interface 13, the learning device 1 can perform data communication via a network with another information processing device (for example, an image generation device 2 and an estimator generation device 3).

入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、学習装置1を操作することができる。 The input device 14 is, for example, a device for inputting a mouse, a keyboard, or the like. Further, the output device 15 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the learning device 1 by using the input device 14 and the output device 15.

ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム121及び学習画像60の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。 The drive 16 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 91. The type of the drive 16 may be appropriately selected according to the type of the storage medium 91. At least one of the learning program 121 and the learning image 60 may be stored in the storage medium 91.

記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム121及び学習画像60の少なくともいずれかを取得してもよい。 The storage medium 91 transfers the information of the program or the like by electrical, magnetic, optical, mechanical or chemical action so that the computer or other device, the machine or the like can read the information of the recorded program or the like. It is a medium to accumulate. The learning device 1 may acquire at least one of the learning program 121 and the learning image 60 from the storage medium 91.

ここで、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。 Here, in FIG. 2, as an example of the storage medium 91, a disc-type storage medium such as a CD or a DVD is illustrated. However, the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.

なお、学習装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。学習装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。 Regarding the specific hardware configuration of the learning device 1, components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 11 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like. The storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the input device 14, the output device 15, and the drive 16 may be omitted. The learning device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the learning device 1 may be a general-purpose server device, a PC (Personal Computer), or the like, in addition to an information processing device designed exclusively for the provided service.

<画像生成装置>
次に、図3を用いて、本実施形態に係る画像生成装置2のハードウェア構成の一例について説明する。図3は、本実施形態に係る画像生成装置2のハードウェア構成の一例を模式的に例示する。
<Image generator>
Next, an example of the hardware configuration of the image generation device 2 according to the present embodiment will be described with reference to FIG. FIG. 3 schematically illustrates an example of the hardware configuration of the image generation device 2 according to the present embodiment.

図3に示されるとおり、本実施形態に係る画像生成装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。本実施形態に係る画像生成装置2の制御部21~ドライブ26それぞれは、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。 As shown in FIG. 3, the image generation device 2 according to the present embodiment is a computer to which a control unit 21, a storage unit 22, a communication interface 23, an input device 24, an output device 25, and a drive 26 are electrically connected. be. Each of the control unit 21 to the drive 26 of the image generation device 2 according to the present embodiment may be configured in the same manner as each of the control unit 11 to the drive 16 of the learning device 1.

すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、画像生成プログラム221、ラベル情報621、第1学習結果データ125、結合画像69等の各種情報を記憶する。 That is, the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data. The storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like. The storage unit 22 stores various information such as the image generation program 221, the label information 621, the first learning result data 125, and the combined image 69.

画像生成プログラム221は、学習済みの生成器50を利用して結合画像69を生成する後述の情報処理(図15)を画像生成装置2に実行させるためのプログラムである。画像生成プログラム221は、当該情報処理の一連の命令を含む。結合画像69は、画像生成プログラム221の実行結果として生成される。詳細は後述する。 The image generation program 221 is a program for causing the image generation device 2 to execute information processing (FIG. 15) described later to generate a combined image 69 by using the trained generator 50. The image generation program 221 includes a series of instructions for the information processing. The combined image 69 is generated as an execution result of the image generation program 221. Details will be described later.

通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。画像生成装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置1、推定器生成装置3)と行うことができる。 The communication interface 23 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using this communication interface 23, the image generation device 2 can perform data communication via a network with another information processing device (for example, a learning device 1 and an estimator generation device 3).

入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、画像生成装置2を操作することができる。 The input device 24 is, for example, a device for inputting a mouse, a keyboard, or the like. Further, the output device 25 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the image generation device 2 by using the input device 24 and the output device 25.

ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記画像生成プログラム221、ラベル情報621及び第1学習結果データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、画像生成装置2は、記憶媒体92から、上記画像生成プログラム221、ラベル情報621及び第1学習結果データ125のうちの少なくともいずれかを取得してもよい。 The drive 26 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 92. At least one of the image generation program 221 and the label information 621 and the first learning result data 125 may be stored in the storage medium 92. Further, the image generation device 2 may acquire at least one of the image generation program 221, the label information 621, and the first learning result data 125 from the storage medium 92.

なお、画像生成装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。画像生成装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、画像生成装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。 Regarding the specific hardware configuration of the image generation device 2, components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 21 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, FPGA, DSP and the like. The storage unit 22 may be composed of a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the input device 24, the output device 25, and the drive 26 may be omitted. The image generation device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the image generation device 2 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.

<推定器生成装置>
次に、図4を用いて、本実施形態に係る推定器生成装置3のハードウェア構成の一例について説明する。図4は、本実施形態に係る推定器生成装置3のハードウェア構成の一例を模式的に例示する。
<Estimator generator>
Next, an example of the hardware configuration of the estimator generator 3 according to the present embodiment will be described with reference to FIG. FIG. 4 schematically illustrates an example of the hardware configuration of the estimator generator 3 according to the present embodiment.

図4に示されるとおり、本実施形態に係る推定器生成装置3は、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。本実施形態に係る推定器生成装置3の制御部31~ドライブ36それぞれは、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。 As shown in FIG. 4, the estimator generator 3 according to the present embodiment is a computer to which a control unit 31, a storage unit 32, a communication interface 33, an input device 34, an output device 35, and a drive 36 are electrically connected. Is. Each of the control unit 31 to the drive 36 of the estimator generation device 3 according to the present embodiment may be configured in the same manner as each of the control unit 11 to the drive 16 of the learning device 1.

すなわち、制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、推定器生成プログラム321、学習データセット322、第2学習結果データ325等の各種情報を記憶する。 That is, the control unit 31 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data. The storage unit 32 is composed of, for example, a hard disk drive, a solid state drive, or the like. The storage unit 32 stores various information such as the estimator generation program 321, the learning data set 322, and the second learning result data 325.

推定器生成プログラム321は、製品Rの良否を判定するための推定器を構築する後述の情報処理(図16)を推定器生成装置3に実行させるためのプログラムである。推定器生成プログラム321は、当該情報処理の一連の命令を含む。学習データセット322は、この推定器の機械学習に利用される。第2学習結果データ325は、機械学習により構築された学習済みの推定器の設定を行うためのデータである。第2学習結果データ325は、推定器生成プログラム321の実行結果として生成される。詳細は後述する。 The estimator generation program 321 is a program for causing the estimator generation device 3 to execute information processing (FIG. 16) described later, which constructs an estimator for determining the quality of the product R. The estimator generation program 321 includes a series of instructions for the information processing. The training data set 322 is used for machine learning of this estimator. The second learning result data 325 is data for setting the trained estimator constructed by machine learning. The second learning result data 325 is generated as an execution result of the estimator generation program 321. Details will be described later.

通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推定器生成装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置1、画像生成装置2、検査装置4)と行うことができる。 The communication interface 33 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using this communication interface 33, the estimator generation device 3 can perform data communication via a network with other information processing devices (for example, a learning device 1, an image generation device 2, and an inspection device 4). ..

入力装置34は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置35は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置34及び出力装置35を利用することで、推定器生成装置3を操作することができる。 The input device 34 is, for example, a device for inputting a mouse, a keyboard, or the like. Further, the output device 35 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the estimator generator 3 by using the input device 34 and the output device 35.

ドライブ36は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。上記推定器生成プログラム321及び学習データセット322のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定器生成装置3は、記憶媒体93から、上記推定器生成プログラム321及び学習データセット322のうちの少なくともいずれかを取得してもよい。 The drive 36 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 93. At least one of the estimator generation program 321 and the learning data set 322 may be stored in the storage medium 93. Further, the estimator generation device 3 may acquire at least one of the estimator generation program 321 and the learning data set 322 from the storage medium 93.

なお、推定器生成装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、入力装置34、出力装置35及びドライブ36の少なくともいずれかは省略されてもよい。推定器生成装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定器生成装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。 Regarding the specific hardware configuration of the estimator generator 3, components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 31 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, FPGA, DSP and the like. The storage unit 32 may be composed of a RAM and a ROM included in the control unit 31. At least one of the communication interface 33, the input device 34, the output device 35, and the drive 36 may be omitted. The estimator generator 3 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the estimator generator 3 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.

<検査装置>
次に、図5を用いて、本実施形態に係る検査装置4のハードウェア構成の一例について説明する。図5は、本実施形態に係る検査装置4のハードウェア構成の一例を模式的に例示する。
<Inspection equipment>
Next, an example of the hardware configuration of the inspection device 4 according to the present embodiment will be described with reference to FIG. FIG. 5 schematically illustrates an example of the hardware configuration of the inspection device 4 according to the present embodiment.

図5に示されるとおり、本実施形態に係る検査装置4は、制御部41、記憶部42、通信インタフェース43、入力装置44、出力装置45、ドライブ46、及び外部インタフェース47が電気的に接続されたコンピュータである。なお、図5では、外部インタフェースを「外部I/F」と記載している。検査装置4の制御部41~ドライブ46はそれぞれ、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。 As shown in FIG. 5, in the inspection device 4 according to the present embodiment, the control unit 41, the storage unit 42, the communication interface 43, the input device 44, the output device 45, the drive 46, and the external interface 47 are electrically connected to each other. It is a computer. In FIG. 5, the external interface is described as "external I / F". The control units 41 to 46 of the inspection device 4 may be configured in the same manner as the control units 11 to 16 of the learning device 1, respectively.

すなわち、制御部41は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部42は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部42は、検査プログラム421、第2学習結果データ325等の各種情報を記憶する。 That is, the control unit 41 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data. The storage unit 42 is composed of, for example, a hard disk drive, a solid state drive, or the like. The storage unit 42 stores various information such as the inspection program 421 and the second learning result data 325.

検査プログラム421は、推定器生成装置3により構築された学習済みの推定器を利用して、対象画像に写る製品Rの良否を判定する後述する情報処理(図17)を検査装置4に実行させるためのプログラムである。検査プログラム421は、当該情報処理の一連の命令を含む。詳細は後述する。 The inspection program 421 uses the trained estimator constructed by the estimator generation device 3 to cause the inspection device 4 to execute information processing (FIG. 17) described later for determining the quality of the product R shown in the target image. It is a program for. The inspection program 421 includes a series of instructions for the information processing. Details will be described later.

通信インタフェース43は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置4は、この通信インタフェース43を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推定器生成装置3)と行うことができる。 The communication interface 43 is, for example, a wired LAN module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. By using this communication interface 43, the inspection device 4 can perform data communication via a network with another information processing device (for example, an estimator generation device 3).

入力装置44は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置45は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置44及び出力装置45を利用することで、検査装置4を操作することができる。 The input device 44 is, for example, a device for inputting a mouse, a keyboard, or the like. Further, the output device 45 is, for example, a device for outputting a display, a speaker, or the like. The operator can operate the inspection device 4 by using the input device 44 and the output device 45.

ドライブ46は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体94に記憶されたプログラムを読み込むためのドライブ装置である。上記検査プログラム421及び第2学習結果データ325のうちの少なくともいずれかは、記憶媒体94に記憶されていてもよい。また、検査装置4は、記憶媒体94から、上記検査プログラム421及び第2学習結果データ325のうちの少なくともいずれかを取得してもよい。 The drive 46 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 94. At least one of the inspection program 421 and the second learning result data 325 may be stored in the storage medium 94. Further, the inspection device 4 may acquire at least one of the inspection program 421 and the second learning result data 325 from the storage medium 94.

外部インタフェース47は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース47の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置4は、外部インタフェース47を介して、カメラCAに接続される。 The external interface 47 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device. The type and number of the external interfaces 47 may be appropriately selected according to the type and number of connected external devices. In this embodiment, the inspection device 4 is connected to the camera CA via the external interface 47.

カメラCAは、製品Rを写した対象画像を取得するのに利用される。カメラCAの種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラCAには、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラCAは、製品Rが搬送される製造ラインの近傍に配置されてよい。なお、カメラCAが通信インタフェースを備える場合、検査装置4は、外部インタフェース47ではなく、通信インタフェース43を介して、カメラCAに接続されてもよい。 The camera CA is used to acquire a target image of the product R. The type and location of the camera CA are not particularly limited and may be appropriately determined according to the embodiment. As the camera CA, for example, a known camera such as a digital camera or a video camera may be used. Further, the camera CA may be arranged in the vicinity of the production line on which the product R is conveyed. When the camera CA includes a communication interface, the inspection device 4 may be connected to the camera CA via the communication interface 43 instead of the external interface 47.

なお、検査装置4の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部41は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部42は、制御部41に含まれるRAM及びROMにより構成されてもよい。通信インタフェース43、入力装置44、出力装置45、ドライブ46及び外部インタフェース47の少なくともいずれかは省略されてもよい。検査装置4は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置4は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップPC、ノートPC、タブレットPC、スマートフォンを含む携帯電話等が用いられてよい。 Regarding the specific hardware configuration of the inspection device 4, the components can be omitted, replaced, or added as appropriate according to the embodiment. For example, the control unit 41 may include a plurality of hardware processors. The hardware processor may be composed of a microprocessor, FPGA, DSP and the like. The storage unit 42 may be composed of a RAM and a ROM included in the control unit 41. At least one of the communication interface 43, the input device 44, the output device 45, the drive 46, and the external interface 47 may be omitted. The inspection device 4 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, as the inspection device 4, in addition to an information processing device designed exclusively for the provided service, a general-purpose server device, a general-purpose desktop PC, a notebook PC, a tablet PC, a mobile phone including a smartphone, or the like may be used.

[ソフトウェア構成]
<学習装置>
次に、図6を用いて、本実施形態に係る学習装置1のソフトウェア構成の一例について説明する。図6は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。
[Software configuration]
<Learning device>
Next, an example of the software configuration of the learning device 1 according to the present embodiment will be described with reference to FIG. FIG. 6 schematically illustrates an example of the software configuration of the learning device 1 according to the present embodiment.

学習装置1の制御部11は、記憶部12に記憶された学習プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム121をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図6に示されるとおり、本実施形態に係る学習装置1は、画像取得部111、画像分割部112、ラベル付与部113、学習処理部114、及び保存処理部115をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。 The control unit 11 of the learning device 1 expands the learning program 121 stored in the storage unit 12 into the RAM. Then, the control unit 11 interprets and executes the learning program 121 expanded in the RAM by the CPU, and controls each component. As a result, as shown in FIG. 6, the learning device 1 according to the present embodiment includes an image acquisition unit 111, an image segmentation unit 112, a labeling unit 113, a learning processing unit 114, and a storage processing unit 115 as software modules. Works as a computer. That is, in the present embodiment, each software module of the learning device 1 is realized by the control unit 11 (CPU).

画像取得部111は、外観検査の対象となる製品Rを写した学習画像60を取得する。画像分割部112は、取得した学習画像60を複数のパッチ画像61に分割する。図6の例では、画像分割部112は、W×Hのサイズを有する学習画像60をw×hのパッチサイズを有するパッチ画像61に分割している。学習画像60のサイズ(W×H)に対する各パッチ画像61のパッチサイズ(w×h)は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。本実施形態では、後述する情報処理(図12)により、学習画像60の複雑度に基づいて、各パッチ画像61のパッチサイズを決定する。 The image acquisition unit 111 acquires a learning image 60 showing the product R to be visually inspected. The image segmentation unit 112 divides the acquired learning image 60 into a plurality of patch images 61. In the example of FIG. 6, the image segmentation unit 112 divides the learning image 60 having a size of W × H into a patch image 61 having a patch size of w × h. The patch size (w × h) of each patch image 61 with respect to the size (W × H) of the training image 60 is not particularly limited and may be appropriately determined according to the embodiment. In this embodiment, the patch size of each patch image 61 is determined based on the complexity of the learning image 60 by information processing (FIG. 12) described later.

ラベル付与部113は、学習画像60内における各パッチ画像61の位置に応じて、複数のラベル62のうちのいずれかのラベル62を各パッチ画像61に関連付ける。学習処理部114は、機械学習を行うことで、各パッチ画像61に関連付けられたラベル62から各パッチ画像61に対応する画像を生成するように訓練された生成器50を構築する。保存処理部115は、構築された学習済みの生成器50に関する情報を所定の記憶領域に保存する。 The labeling unit 113 associates the label 62 of the plurality of labels 62 with each patch image 61 according to the position of each patch image 61 in the learning image 60. The learning processing unit 114 constructs a generator 50 trained to generate an image corresponding to each patch image 61 from the label 62 associated with each patch image 61 by performing machine learning. The storage processing unit 115 stores information about the constructed trained generator 50 in a predetermined storage area.

(学習ネットワーク)
次に、図7A及び図7Bを更に用いて、本実施形態に係る生成器50を含む学習ネットワーク500の構成の一例について説明する。各図に示されるとおり、本実施形態では、生成器50は判別器52に接続されており、生成器50及び判別器52により学習ネットワーク500が構成されている。図7Aは、この学習ネットワーク500のうち判別器52を訓練する第1訓練ステップの過程の一例を模式的に例示する。一方、図7Bは、生成器50を訓練する第2訓練ステップの過程の一例を模式的に例示する。
(Learning network)
Next, an example of the configuration of the learning network 500 including the generator 50 according to the present embodiment will be described with reference to FIGS. 7A and 7B. As shown in each figure, in the present embodiment, the generator 50 is connected to the discriminator 52, and the learning network 500 is configured by the generator 50 and the discriminator 52. FIG. 7A schematically illustrates an example of the process of the first training step of training the discriminator 52 in the learning network 500. On the other hand, FIG. 7B schematically illustrates an example of the process of the second training step for training the generator 50.

本実施形態に係る生成器50は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されている。具体的に、生成器50は、入力層501、中間層(隠れ層)502、及び出力層503を備えている。ただし、生成器50の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、生成器50は、2層以上の中間層502を備えてもよい。 The generator 50 according to the present embodiment is configured by a multi-layered neural network used for so-called deep learning. Specifically, the generator 50 includes an input layer 501, an intermediate layer (hidden layer) 502, and an output layer 503. However, the configuration of the generator 50 does not have to be limited to such an example, and may be appropriately set according to the embodiment. For example, the generator 50 may include two or more intermediate layers 502.

各層501~503に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜設定されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図7A及び図7Bの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層501~503に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される生成器50のパラメータの一例である。 The number of neurons (nodes) included in each layer 501 to 503 may be appropriately set according to the embodiment. Neurons in adjacent layers are appropriately connected to each other, and a weight (bonding load) is set for each connection. In the examples of FIGS. 7A and 7B, each neuron is associated with all neurons in adjacent layers. However, the connection of neurons does not have to be limited to such an example, and may be appropriately set according to the embodiment. A threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold. The weight of the connection between each neuron and the threshold value of each neuron included in each layer 501 to 503 are examples of the parameters of the generator 50 used for arithmetic processing.

同様に、本実施形態に係る判別器52も、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されている。具体的に、判別器52は、入力層521、中間層(隠れ層)522、及び出力層523を備えている。ただし、判別器52の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、判別器52は、2層以上の中間層522を備えてもよい。判別器52の構成は、生成器50と異なっていてよい。 Similarly, the discriminator 52 according to the present embodiment is also configured by a multi-layered neural network used for so-called deep learning. Specifically, the discriminator 52 includes an input layer 521, an intermediate layer (hidden layer) 522, and an output layer 523. However, the configuration of the discriminator 52 does not have to be limited to such an example, and may be appropriately set according to the embodiment. For example, the discriminator 52 may include two or more intermediate layers 522. The configuration of the discriminator 52 may be different from that of the generator 50.

各層521~523に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜設定されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図7A及び図7Bの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層521~523に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される判別器52のパラメータの一例である。 The number of neurons (nodes) included in each layer 521 to 523 may be appropriately set according to the embodiment. Neurons in adjacent layers are appropriately connected to each other, and a weight (bonding load) is set for each connection. In the examples of FIGS. 7A and 7B, each neuron is associated with all neurons in adjacent layers. However, the connection of neurons does not have to be limited to such an example, and may be appropriately set according to the embodiment. A threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold. The weight of the connection between each neuron and the threshold value of each neuron included in each layer 521 to 523 are examples of the parameters of the discriminator 52 used for arithmetic processing.

学習処理部114は、この学習ネットワーク500の機械学習を実施する。この機械学習を実施することは、判別器52を訓練する第1訓練ステップ及び生成器50を訓練する第2訓練ステップを交互に行うことを含む。第1訓練ステップでは、学習処理部114は、判別器52に入力された入力画像が、生成器50により生成された画像であるか学習画像60から分割された各パッチ画像61であるかを判別するように判別器52を訓練する。つまり、判別器52は、与えられた入力画像が学習データ(学習画像60)由来か生成器50由来かを判別するように訓練される。第2訓練ステップでは、学習処理部114は、判別器52による判別が誤るような画像を生成するように生成器50を訓練する。なお、図7A及び図7Bの例では、学習データ由来であることを「真」と表現し、生成器50由来であることを「偽」と表現している。ただし、各由来を表現する方法は、このような例に限定されなくてよく、実施の形態に応じて適宜選択されてよい。 The learning processing unit 114 carries out machine learning of the learning network 500. Performing this machine learning includes alternating a first training step for training the discriminator 52 and a second training step for training the generator 50. In the first training step, the learning processing unit 114 determines whether the input image input to the discriminator 52 is an image generated by the generator 50 or each patch image 61 divided from the learning image 60. The discriminator 52 is trained to do so. That is, the discriminator 52 is trained to discriminate whether the given input image is derived from the learning data (learning image 60) or the generator 50. In the second training step, the learning processing unit 114 trains the generator 50 so as to generate an image in which discrimination by the discriminator 52 is erroneous. In the examples of FIGS. 7A and 7B, the fact that the data is derived from the training data is expressed as "true", and the fact that the data is derived from the generator 50 is expressed as "false". However, the method for expressing each origin is not limited to such an example, and may be appropriately selected depending on the embodiment.

具体的に、図7Aに示されるとおり、第1訓練ステップでは、学習処理部114は、所定の確率分布からノイズを抽出し、抽出したノイズと各ラベル62とを組み合わせて、複数の第1データセットを生成する。続いて、学習処理部114は、各第1データセット(各ラベル62及びノイズ)を生成器50の入力層501に入力し、生成器50の演算処理を実行する。これにより、学習処理部114は、各ラベル62から画像を生成した結果に対応する出力を出力層503から取得する。学習処理部114は、生成された各画像と各ラベル62とを組み合わせることで、複数の第2データセットを生成する。また、学習処理部114は、各パッチ画像61と対応する各ラベル62とを組み合わせることで、複数の第3データセットを生成する。 Specifically, as shown in FIG. 7A, in the first training step, the learning processing unit 114 extracts noise from a predetermined probability distribution, combines the extracted noise with each label 62, and a plurality of first data. Generate a set. Subsequently, the learning processing unit 114 inputs each first data set (each label 62 and noise) to the input layer 501 of the generator 50, and executes arithmetic processing of the generator 50. As a result, the learning processing unit 114 acquires the output corresponding to the result of generating the image from each label 62 from the output layer 503. The learning processing unit 114 generates a plurality of second data sets by combining each generated image with each label 62. Further, the learning processing unit 114 generates a plurality of third data sets by combining each patch image 61 with each corresponding label 62.

次に、学習処理部114は、各第2データセット(生成器50の生成した各画像及び各ラベル62)を判別器52の入力層521に入力し、判別器52の演算処理を実行する。これにより、学習処理部114は、入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この場面では、入力画像は生成器50の生成した各画像であるため、判別器52は、「偽」と判別するのが正解である。学習処理部114は、各第2データセットについて、出力層523から得られる出力値とこの正解との誤差を算出する。 Next, the learning processing unit 114 inputs each second data set (each image generated by the generator 50 and each label 62) to the input layer 521 of the discriminator 52, and executes arithmetic processing of the discriminator 52. As a result, the learning processing unit 114 acquires an output value corresponding to the result of determining whether the input image is derived from the generator 50 or the learning image 60 from the output layer 523. In this scene, since the input image is each image generated by the generator 50, the correct answer is that the discriminator 52 discriminates as "false". The learning processing unit 114 calculates an error between the output value obtained from the output layer 523 and this correct answer for each second data set.

同様に、学習処理部114は、各第3データセット(各パッチ画像61及び各ラベル62)を判別器52の入力層521に入力し、判別器52の演算処理を実行する。これにより、学習処理部114は、入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この場面では、入力画像は各パッチ画像61であるため、判別器52は、「真」と判別するのが正解である。学習処理部114は、各第3データセットについて、出力層523から得られる出力値とこの正解との誤差を算出する。 Similarly, the learning processing unit 114 inputs each third data set (each patch image 61 and each label 62) to the input layer 521 of the discriminator 52, and executes arithmetic processing of the discriminator 52. As a result, the learning processing unit 114 acquires an output value corresponding to the result of determining whether the input image is derived from the generator 50 or the learning image 60 from the output layer 523. In this scene, since the input image is each patch image 61, the correct answer is that the discriminator 52 determines that it is “true”. The learning processing unit 114 calculates an error between the output value obtained from the output layer 523 and this correct answer for each third data set.

そして、学習処理部114は、算出される誤差の和が小さくなるように、判別器52のパラメータの値を調節する。出力層523から得られる出力値と真偽の正解との誤差の和が閾値以下になるまで、学習処理部114は、上記一連の処理により、判別器52のパラメータの値の調節を繰り返す。これにより、第1訓練ステップでは、学習処理部114は、生成器50により生成された画像であるか学習画像60から分割された各パッチ画像61であるかを判別するように判別器52を訓練する。 Then, the learning processing unit 114 adjusts the value of the parameter of the discriminator 52 so that the sum of the calculated errors becomes small. The learning processing unit 114 repeats the adjustment of the parameter value of the discriminator 52 by the above series of processing until the sum of the error between the output value obtained from the output layer 523 and the true / false correct answer becomes equal to or less than the threshold value. As a result, in the first training step, the learning processing unit 114 trains the discriminator 52 so as to discriminate whether the image is an image generated by the generator 50 or each patch image 61 divided from the learning image 60. do.

一方、図7Bに示されるとおり、第2訓練ステップでは、学習処理部114は、所定の確率分布からノイズを抽出し、抽出したノイズと各ラベル62とを組み合わせて、複数のデータセットを生成する。各データセットは、上記第1データセットと同じでもよいし、異なっていてもよい。続いて、学習処理部114は、各データセット(各ラベル62及びノイズ)を生成器50の入力層501に入力し、生成器50の演算処理を実行する。これにより、学習処理部114は、各ラベル62から画像を生成した結果に対応する出力を出力層503から取得する。 On the other hand, as shown in FIG. 7B, in the second training step, the learning processing unit 114 extracts noise from a predetermined probability distribution and combines the extracted noise with each label 62 to generate a plurality of data sets. .. Each data set may be the same as or different from the first data set described above. Subsequently, the learning processing unit 114 inputs each data set (each label 62 and noise) to the input layer 501 of the generator 50, and executes arithmetic processing of the generator 50. As a result, the learning processing unit 114 acquires the output corresponding to the result of generating the image from each label 62 from the output layer 503.

次に、学習処理部114は、生成された各画像及び対応する各ラベル62の組み合わせを判別器52の入力層521に入力し、判別器52の演算処理を実行する。これにより、学習処理部114は、入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この生成器50の訓練では、判別器52による判別の結果が誤らせることが正解である。つまり、出力層523から得られる出力値が「真」に対応することが正解である。学習処理部114は、各データセットについて、一連の処理により出力層523から得られる出力値とこの正解(つまり、「真」)との誤差を算出する。 Next, the learning processing unit 114 inputs each generated image and a combination of the corresponding labels 62 to the input layer 521 of the discriminator 52, and executes the arithmetic processing of the discriminator 52. As a result, the learning processing unit 114 acquires an output value corresponding to the result of determining whether the input image is derived from the generator 50 or the learning image 60 from the output layer 523. In the training of the generator 50, the correct answer is that the result of the discrimination by the discriminator 52 is erroneous. That is, the correct answer is that the output value obtained from the output layer 523 corresponds to "true". The learning processing unit 114 calculates an error between the output value obtained from the output layer 523 by a series of processing and this correct answer (that is, “true”) for each data set.

そして、学習処理部114は、算出される誤差の和が小さくなるように、生成器50のパラメータの値を調節する。各データセットについて、一連の処理により出力層523から得られる出力値と「真」との誤差の和が閾値以下になるまで、学習処理部114は、上記一連の処理により、生成器50のパラメータの値の調節を繰り返す。これにより、第2訓練ステップでは、学習処理部114は、判別器52による判別が誤るような画像を各ラベル62から生成するように生成器50を訓練する。 Then, the learning processing unit 114 adjusts the value of the parameter of the generator 50 so that the sum of the calculated errors becomes small. For each data set, the learning processing unit 114 performs the parameter of the generator 50 by the above-mentioned series of processing until the sum of the errors between the output value obtained from the output layer 523 and the "true" by the series of processing becomes equal to or less than the threshold value. Repeat the adjustment of the value of. As a result, in the second training step, the learning processing unit 114 trains the generator 50 so as to generate an image from each label 62 that is erroneously discriminated by the discriminator 52.

学習処理部114は、上記第1訓練ステップ及び第2訓練ステップを交互に実施することで、判別器52及び生成器50の精度を交互に高めていく。これにより、生成器50は、学習画像60から分割された各パッチ画像61に対応する画像を適切に生成する能力を習得することができる。 The learning processing unit 114 alternately improves the accuracy of the discriminator 52 and the generator 50 by alternately performing the first training step and the second training step. As a result, the generator 50 can acquire the ability to appropriately generate an image corresponding to each patch image 61 divided from the training image 60.

この機械学習が完了した後、保存処理部115は、構築された生成器50の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す第1学習結果データ125を生成する。そして、保存処理部115は、生成した第1学習結果データ125を所定の記憶領域に保存する。 After this machine learning is completed, the conservation processing unit 115 determines the configuration of the constructed generator 50 (for example, the number of layers of the neural network, the number of neurons in each layer, the connection relationship between neurons, the transmission function of each neuron). And the first learning result data 125 showing the arithmetic parameters (eg, the weight of the connection between each neuron, the threshold of each neuron) is generated. Then, the storage processing unit 115 stores the generated first learning result data 125 in a predetermined storage area.

<画像生成装置>
次に、図8を用いて、本実施形態に係る画像生成装置2のソフトウェア構成の一例について説明する。図8は、本実施形態に係る画像生成装置2のソフトウェア構成の一例を模式的に例示する。
<Image generator>
Next, an example of the software configuration of the image generation device 2 according to the present embodiment will be described with reference to FIG. FIG. 8 schematically illustrates an example of the software configuration of the image generation device 2 according to the present embodiment.

画像生成装置2の制御部21は、記憶部22に記憶された画像生成プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された画像生成プログラム221をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図8に示されるとおり、本実施形態に係る画像生成装置2は、生成部211、結合部212、及び画像保存部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、画像生成装置2の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部21(CPU)により実現される。 The control unit 21 of the image generation device 2 expands the image generation program 221 stored in the storage unit 22 into the RAM. Then, the control unit 21 interprets and executes the image generation program 221 expanded in the RAM by the CPU to control each component. As a result, as shown in FIG. 8, the image generation device 2 according to the present embodiment operates as a computer including a generation unit 211, a coupling unit 212, and an image storage unit 213 as software modules. That is, in the present embodiment, each software module of the image generation device 2 is also realized by the control unit 21 (CPU) in the same manner as the learning device 1.

生成部211は、第1学習結果データ125を保持することで、学習装置1により構築された学習済みの生成器50を含んでいる。生成部211は、学習装置1により構築された学習済みの生成器50を利用して、複数のラベル62それぞれから複数の画像67それぞれを生成する。本実施形態では、生成部211は、第1学習結果データ125を参照して、学習済みの生成器50の設定を行う。そして、生成部211は、所定の確率分布からノイズを取得し、取得したノイズ及び各ラベル62を生成器50の入力層501に入力して、生成器50の演算処理を実行する。これにより、生成部211は、出力層503からの出力として、各ラベル62から生成された各画像67を取得する。結合部212は、生成された各画像67を、各ラベル62に応じた位置に配置した後に結合することで、結合画像69を生成する。画像保存部213は、生成された結合画像69を所定の記憶領域に保存する。 The generation unit 211 includes a trained generator 50 constructed by the learning device 1 by holding the first learning result data 125. The generation unit 211 uses the trained generator 50 constructed by the learning device 1 to generate each of the plurality of images 67 from each of the plurality of labels 62. In the present embodiment, the generation unit 211 sets the trained generator 50 with reference to the first learning result data 125. Then, the generation unit 211 acquires noise from a predetermined probability distribution, inputs the acquired noise and each label 62 to the input layer 501 of the generator 50, and executes arithmetic processing of the generator 50. As a result, the generation unit 211 acquires each image 67 generated from each label 62 as an output from the output layer 503. The joining portion 212 generates a bound image 69 by arranging each of the generated images 67 at a position corresponding to each label 62 and then joining them. The image storage unit 213 stores the generated combined image 69 in a predetermined storage area.

<推定器生成装置>
次に、図9を用いて、本実施形態に係る推定器生成装置3のソフトウェア構成の一例について説明する。図9は、本実施形態に係る推定器生成装置3のソフトウェア構成の一例を模式的に例示する。
<Estimator generator>
Next, an example of the software configuration of the estimator generator 3 according to the present embodiment will be described with reference to FIG. 9. FIG. 9 schematically illustrates an example of the software configuration of the estimator generator 3 according to the present embodiment.

推定器生成装置3の制御部31は、記憶部32に記憶された推定器生成プログラム321をRAMに展開する。そして、制御部31は、RAMに展開された推定器生成プログラム321に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図9に示されるとおり、本実施形態に係る推定器生成装置3は、学習データ取得部311、学習処理部312、及び保存処理部313をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、推定器生成装置3の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部31(CPU)により実現される。 The control unit 31 of the estimator generation device 3 expands the estimator generation program 321 stored in the storage unit 32 into the RAM. Then, the control unit 31 controls each component by interpreting and executing the instruction included in the estimator generation program 321 expanded in the RAM by the CPU. As a result, as shown in FIG. 9, the estimator generator 3 according to the present embodiment is configured as a computer including a learning data acquisition unit 311, a learning processing unit 312, and a storage processing unit 313 as software modules. That is, in the present embodiment, each software module of the estimator generation device 3 is also realized by the control unit 31 (CPU) in the same manner as the learning device 1.

学習データ取得部311は、製品を写したサンプル画像3221、及び正解データ3222の組み合わせによりそれぞれ構成された複数の学習データセット322を取得する。正解データ3222は、対応するサンプル画像3221に写る製品Rの良否を判定した結果(すなわち、正解)を示す。サンプル画像3221は、機械学習の入力データ(訓練データ)として利用され、正解データ3222は、教師データとして利用される。 The learning data acquisition unit 311 acquires a plurality of learning data sets 322 each composed of a combination of a sample image 3221 showing a product and correct answer data 3222. The correct answer data 3222 shows the result (that is, the correct answer) of determining the quality of the product R shown in the corresponding sample image 3221. The sample image 3221 is used as input data (training data) for machine learning, and the correct answer data 3222 is used as teacher data.

ここで、サンプル画像3221には、上記画像生成装置2により生成された結合画像69が利用されてよい。すなわち、少なくとも一部の学習データセット322のサンプル画像3221は、上記結合画像69であってよい。また、学習データ取得部311は、サンプル画像3221を学習画像60として学習装置1に送信し、サンプル画像3221に対応する画像を生成するための生成器50を構築させてよい。そして、学習データ取得部311は、構築された生成器50を画像生成装置2に利用させて、サンプル画像3221に対応する複数の結合画像69を生成させてよい。学習データ取得部311は、生成された複数の結合画像69をサンプル画像3221として受信することで、機械学習に利用する学習データセット322の件数を増やすことができる。 Here, as the sample image 3221, the combined image 69 generated by the image generation device 2 may be used. That is, the sample image 3221 of at least a part of the training data set 322 may be the combined image 69. Further, the learning data acquisition unit 311 may transmit the sample image 3221 as the learning image 60 to the learning device 1 to construct a generator 50 for generating an image corresponding to the sample image 3221. Then, the learning data acquisition unit 311 may use the constructed generator 50 in the image generator 2 to generate a plurality of combined images 69 corresponding to the sample image 3221. The learning data acquisition unit 311 can increase the number of learning data sets 322 used for machine learning by receiving the generated plurality of combined images 69 as sample images 3221.

学習処理部312は、取得した各学習データセット322を利用した機械学習を実施することで、与えられた画像に写る製品Rの良否を判定する能力を習得した学習済みの推定器70を構築する。換言すると、学習処理部312は、各学習データセット322について、サンプル画像3221を入力すると、正解データ3222と一致する出力値を出力するように訓練された推定器70を構築する。保存処理部313は、構築された学習済みの推定器70に関する情報を所定の記憶領域に保存する。 The learning processing unit 312 constructs a trained estimator 70 that has acquired the ability to judge the quality of the product R reflected in a given image by performing machine learning using each acquired learning data set 322. .. In other words, the learning processing unit 312 constructs an estimator 70 for each learning data set 322 that, when the sample image 3221 is input, outputs an output value that matches the correct answer data 3222. The storage processing unit 313 stores information about the constructed learned estimator 70 in a predetermined storage area.

なお、学習装置1及び推定器生成装置3の間の関係において、上記学習処理部114及び保存処理部115はそれぞれ、第1学習処理部及び第1保存処理部と称されてよい。これに応じて、学習処理部312及び保存処理部313はそれぞれ、第2学習処理部及び第2保存処理部と称されてよい。 In the relationship between the learning device 1 and the estimator generation device 3, the learning processing unit 114 and the storage processing unit 115 may be referred to as a first learning processing unit and a first storage processing unit, respectively. Accordingly, the learning processing unit 312 and the storage processing unit 313 may be referred to as a second learning processing unit and a second storage processing unit, respectively.

(推定器)
次に、本実施形態に係る推定器70の構成の一例について説明する。図9に示されるとおり、本実施形態に係る推定器70は、上記生成器50と同様に、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されている。具体的に、推定器70は、入力層701、中間層(隠れ層)702、及び出力層703を備えている。ただし、推定器70の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、推定器70は、2層以上の中間層702を備えてもよい。推定器70の構成は、生成器50及び判別器52と異なっていてよい。
(Estimator)
Next, an example of the configuration of the estimator 70 according to the present embodiment will be described. As shown in FIG. 9, the estimator 70 according to the present embodiment is configured by a multi-layered neural network used for so-called deep learning, like the generator 50. Specifically, the estimator 70 includes an input layer 701, an intermediate layer (hidden layer) 702, and an output layer 703. However, the configuration of the estimator 70 does not have to be limited to such an example, and may be appropriately set according to the embodiment. For example, the estimator 70 may include two or more intermediate layers 702. The configuration of the estimator 70 may be different from that of the generator 50 and the discriminator 52.

各層701~703に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜設定されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図9の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層701~703に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される推定器70のパラメータの一例である。 The number of neurons (nodes) included in each layer 701 to 703 may be appropriately set according to the embodiment. Neurons in adjacent layers are appropriately connected to each other, and a weight (bonding load) is set for each connection. In the example of FIG. 9, each neuron is connected to all neurons in adjacent layers. However, the connection of neurons does not have to be limited to such an example, and may be appropriately set according to the embodiment. A threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold. The weight of the connection between each neuron and the threshold value of each neuron included in each layer 701 to 703 are examples of the parameters of the estimator 70 used for arithmetic processing.

学習処理部312は、各学習データセット322について、サンプル画像3221を推定器70の入力層701に入力し、推定器70の演算処理を実行する。この演算処理の結果、学習処理部312は、サンプル画像3221に写る製品Rの良否を判定した結果に対応する出力値を出力層703から取得する。続いて、学習処理部312は、取得した出力値と正解データ3222との誤差を算出する。そして、学習処理部312は、各学習データセット322について、算出される誤差の和が小さくなるように、推定器70のパラメータの値を調節する。出力層703から得られる出力値と正解データ3222との誤差の和が閾値以下になるまで、学習処理部312は、上記一連の処理による推定器70のパラメータの値の調節を繰り返す。これにより、学習処理部312は、各学習データセット322について、サンプル画像3221を入力層701に入力すると、入力したサンプル画像3221に関連付けられた正解データ3222と一致する出力値を出力層703から出力するように訓練された推定器70を構築することができる。 The learning processing unit 312 inputs the sample image 3221 to the input layer 701 of the estimator 70 for each learning data set 322, and executes the arithmetic processing of the estimator 70. As a result of this arithmetic processing, the learning processing unit 312 acquires an output value corresponding to the result of determining the quality of the product R shown in the sample image 3221 from the output layer 703. Subsequently, the learning processing unit 312 calculates an error between the acquired output value and the correct answer data 3222. Then, the learning processing unit 312 adjusts the value of the parameter of the estimator 70 so that the sum of the calculated errors becomes small for each learning data set 322. The learning processing unit 312 repeats the adjustment of the parameter value of the estimator 70 by the above series of processing until the sum of the errors of the output value obtained from the output layer 703 and the correct answer data 3222 becomes equal to or less than the threshold value. As a result, when the sample image 3221 is input to the input layer 701 for each training data set 322, the learning processing unit 312 outputs an output value matching the correct answer data 3222 associated with the input sample image 3221 from the output layer 703. An estimator 70 trained to do so can be constructed.

この機械学習の処理が完了した後、保存処理部313は、構築された学習済みの推定器70の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す第2学習結果データ325を生成する。そして、保存処理部313は、生成した第2学習結果データ325を所定の記憶領域に保存する。 After the processing of this machine learning is completed, the preservation processing unit 313 configures the constructed trained estimator 70 (for example, the number of layers of the neural network, the number of neurons in each layer, the connection relationship between neurons, and each neuron. (Transmission function of Then, the storage processing unit 313 stores the generated second learning result data 325 in a predetermined storage area.

<検査装置>
次に、図10を用いて、本実施形態に係る検査装置4のソフトウェア構成の一例について説明する。図10は、本実施形態に係る検査装置4のソフトウェア構成の一例を模式的に例示する。
<Inspection equipment>
Next, an example of the software configuration of the inspection device 4 according to the present embodiment will be described with reference to FIG. FIG. 10 schematically illustrates an example of the software configuration of the inspection device 4 according to the present embodiment.

検査装置4の制御部41は、記憶部42に記憶された検査プログラム421をRAMに展開する。そして、制御部41は、RAMに展開された検査プログラム421に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図10に示されるとおり、本実施形態に係る検査装置4は、対象データ取得部411、良否判定部412、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして構成される。本実施形態では、検査装置4の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部41(CPU)により実現される。 The control unit 41 of the inspection device 4 expands the inspection program 421 stored in the storage unit 42 into the RAM. Then, the control unit 41 controls each component by interpreting and executing the instruction included in the inspection program 421 expanded in the RAM by the CPU. As a result, as shown in FIG. 10, the inspection device 4 according to the present embodiment is configured as a computer including the target data acquisition unit 411, the pass / fail determination unit 412, and the output unit 413 as software modules. In the present embodiment, each software module of the inspection device 4 is also realized by the control unit 41 (CPU) in the same manner as the learning device 1.

対象データ取得部411は、外観検査の対象となる製品Rの写る対象画像422を取得する。本実施形態では、対象データ取得部411は、カメラCAにより製品Rを撮影することで、対象画像422を取得する。良否判定部412は、第2学習結果データ325を保持することで、推定器生成装置3により構築されたが学習済みの推定器70を含んでいる。良否判定部412は、学習済みの推定器70を利用して、対象画像422に写る製品Rの良否を判定する。 The target data acquisition unit 411 acquires the target image 422 of the product R that is the target of the visual inspection. In the present embodiment, the target data acquisition unit 411 acquires the target image 422 by photographing the product R with the camera CA. The pass / fail determination unit 412 includes the estimator 70 which has been constructed by the estimator generator 3 but has been learned by holding the second learning result data 325. The quality determination unit 412 determines the quality of the product R shown in the target image 422 by using the trained estimator 70.

具体的には、良否判定部412は、第2学習結果データ325を参照して、学習済みの推定器70の設定を行う。次に、良否判定部412は、取得した対象画像422を推定器70の入力層701に入力し、推定器70の演算処理を実行する。これにより、良否判定部412は、対象画像422に写る製品Rの良否を判定した結果に対応する出力値を推定器70の出力層703から取得する。本実施形態では、この出力値を得ることが、製品Rの良否を判定することに対応する。出力部413は、製品Rの良否を判定した結果に関する情報を出力する。 Specifically, the pass / fail determination unit 412 sets the trained estimator 70 with reference to the second learning result data 325. Next, the pass / fail determination unit 412 inputs the acquired target image 422 to the input layer 701 of the estimator 70, and executes the arithmetic processing of the estimator 70. As a result, the quality determination unit 412 acquires an output value corresponding to the result of determining the quality of the product R shown in the target image 422 from the output layer 703 of the estimator 70. In the present embodiment, obtaining this output value corresponds to determining the quality of the product R. The output unit 413 outputs information regarding the result of determining the quality of the product R.

<その他>
学習装置1、画像生成装置2、推定器生成装置3及び検査装置4の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1、画像生成装置2、推定器生成装置3及び検査装置4の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1、画像生成装置2、推定器生成装置3及び検査装置4それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
<Others>
Each software module of the learning device 1, the image generation device 2, the estimator generation device 3, and the inspection device 4 will be described in detail in an operation example described later. In this embodiment, an example is described in which each software module of the learning device 1, the image generation device 2, the estimator generation device 3, and the inspection device 4 is realized by a general-purpose CPU. However, some or all of the above software modules may be implemented by one or more dedicated processors. Further, with respect to the software configurations of the learning device 1, the image generation device 2, the estimator generation device 3, and the inspection device 4, software modules may be omitted, replaced, or added as appropriate according to the embodiment.

§3 動作例
[学習装置]
次に、図11を用いて、本実施形態に係る学習装置1の動作例について説明する。図11は、本実施形態に係る学習装置1の処理手順の一例を示す。以下で説明する処理手順は、本発明の「学習方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
§3 Operation example [Learning device]
Next, an operation example of the learning device 1 according to the present embodiment will be described with reference to FIG. FIG. 11 shows an example of the processing procedure of the learning device 1 according to the present embodiment. The processing procedure described below is an example of the "learning method" of the present invention. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS101)
ステップS101では、制御部11は、画像取得部111として動作し、外観検査の対象となる製品Rを写した学習画像60を取得する。
(Step S101)
In step S101, the control unit 11 operates as an image acquisition unit 111 to acquire a learning image 60 showing the product R to be visually inspected.

学習画像60を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、カメラ及び製品Rを用意し、欠陥のある又は欠陥のない製品Rをカメラにより撮影する。これにより、学習画像60を生成することができる。この学習画像60の生成は、コンピュータの動作により自動的に行われてもよいし、オペレータの操作により手動的に行われてもよい。また、この学習画像60を生成する情報処理は、学習装置1において実行されてもよいし、学習装置1以外の他のコンピュータにより行われてもよい。 The method for acquiring the learning image 60 is not particularly limited, and may be appropriately selected depending on the embodiment. For example, a camera and a product R are prepared, and a defective or non-defective product R is photographed by the camera. As a result, the learning image 60 can be generated. The generation of the learning image 60 may be automatically performed by the operation of the computer, or may be manually performed by the operation of the operator. Further, the information processing for generating the learning image 60 may be executed in the learning device 1 or may be performed by a computer other than the learning device 1.

学習画像60を学習装置1が生成する場合、制御部11は、自動的又はオペレータの操作により手動的に上記情報処理を実行することで、1又は複数の学習画像60を取得する。一方、学習画像60を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された1又は複数の学習画像60を取得する。この場合、制御部11は、推定器生成装置3又は他のコンピュータからサンプル画像3221を学習画像60として取得してもよい。 When the learning device 1 generates the learning image 60, the control unit 11 acquires one or a plurality of learning images 60 by automatically or manually executing the information processing by the operation of the operator. On the other hand, when the learning image 60 is generated by another computer, the control unit 11 acquires one or a plurality of learning images 60 generated by the other computer via, for example, a network, a storage medium 91, or the like. In this case, the control unit 11 may acquire the sample image 3221 as the learning image 60 from the estimator generator 3 or another computer.

取得する学習画像60の件数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。1又は複数の学習画像60を取得すると、制御部11は、次のステップS102に処理を進める。 The number of learning images 60 to be acquired may not be particularly limited and may be appropriately determined according to the embodiment. When one or a plurality of learning images 60 are acquired, the control unit 11 proceeds to the next step S102.

(ステップS102)
ステップS102では、制御部11は、画像分割部112として動作し、取得した学習画像60を複数のパッチ画像61に分割する。具体的には、制御部11は、パッチサイズを適宜決定し、決定したパッチサイズで学習画像60を分割する。これにより、制御部11は、それぞれパッチサイズを有する複数のパッチ画像61を学習画像60から得ることができる。
(Step S102)
In step S102, the control unit 11 operates as an image segmentation unit 112 and divides the acquired learning image 60 into a plurality of patch images 61. Specifically, the control unit 11 appropriately determines the patch size, and divides the learning image 60 by the determined patch size. As a result, the control unit 11 can obtain a plurality of patch images 61 each having a patch size from the learning image 60.

パッチサイズを決定する方法は、特に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、パッチサイズは、指定値、設定値等により固定されていてもよい。ただし、パッチサイズが固定されていると、生成に適したパッチサイズの各パッチ画像61に学習画像60を分割することができない可能性がある。そこで、本実施形態では、パッチ分割の好ましい形態として、制御部11は、以下の図12に示す方法により、パッチサイズを決定し、決定したパッチサイズで学習画像60を分割する。 The method for determining the patch size is not particularly limited and may be appropriately set according to the embodiment. For example, the patch size may be fixed by a specified value, a set value, or the like. However, if the patch size is fixed, the learning image 60 may not be divided into patch images 61 having a patch size suitable for generation. Therefore, in the present embodiment, as a preferable mode of patch division, the control unit 11 determines the patch size by the method shown in FIG. 12 below, and divides the learning image 60 by the determined patch size.

図12は、本実施形態に係る学習装置1によるパッチ分割の処理手順の一例を例示する。本実施形態に係るステップS102は、以下のステップS201~S203を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。 FIG. 12 illustrates an example of the patch division processing procedure by the learning device 1 according to the present embodiment. Step S102 according to the present embodiment includes the following steps S201 to S203. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS201)
ステップS201では、制御部11は、学習画像60の複雑度を計算する。複雑度は、学習画像60の複雑さを示す指標である。複雑度は、適宜導出されてよい。本実施形態では、制御部11は、情報エントロピー(E)、境界率(R)、コントラスト(CT)、相関(CL)、及びエネルギー(EN)の5つの指標を用いて、学習画像60の複雑度を導出する。ただし、複雑度の指標は、これらの例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習画像60の複雑度の導出において、これら5つの指標のうちの少なくともいずれかは省略されてよい。
(Step S201)
In step S201, the control unit 11 calculates the complexity of the learning image 60. The complexity is an index showing the complexity of the training image 60. The complexity may be derived as appropriate. In the present embodiment, the control unit 11 uses five indexes of information entropy (E), boundary ratio (R), contrast (CT), correlation (CL), and energy (EN) to complicate the training image 60. Derive the degree. However, the index of complexity does not have to be limited to these examples, and may be appropriately selected depending on the embodiment. For example, in deriving the complexity of the training image 60, at least one of these five indicators may be omitted.

情報エントロピー(E)は、学習画像60の有する情報量の期待値を示す。制御部11は、以下の式1により、情報エントロピー(E)を算出することができる。境界率(R)は、学習画像60のピクセル総数に対する境界点の割合を示す。境界点は、異なる画像領域の境界に属する点である。例えば、ソーベル(Sobel)法、キャニー(Canny)法、プレウィット(Prewitt)法等により検出されたエッジを境界点として利用することができる。制御部11は、以下の式2により、境界率(R)を算出することができる。コントラスト(CTは、あるピクセルとその近傍のピクセルとの間の差分の程度を示す。コントラスト(CT)は、「分散」又は「慣性」とも称されてよい。制御部11は、以下の式3により、コントラスト(CT)を算出することができる。相関(CL)は、あるピクセルとその近傍のピクセルとの間に存在する関係の程度を示す。制御部11は、以下の式4により、相関(CL)を算出することができる。エネルギー(EN)は、グレーレベルの同時生起行列(Gray-level Co-occurrence Matrix:GLCM)の要素の二乗和を示す。エネルギー(EN)は、「均一性」又は「角度2次モーメント」と称されてもよい。制御部11は、以下の式5により、エネルギー(EN)を算出することができる。グレーレベルの同時生起行列は、グレーレベル(グレースケール強度)値iのピクセルが値jのピクセルに指定方向に隣接して出現する頻度を導出する。上記境界率(R)、コントラスト(CT)、相関(CL)、及びエネルギー(EN)の4つの指標は、このグレースケールの同時生起行列から導出される。制御部11は、以下の式6により、これら5つの指標から複雑度(CP)を算出する。 The information entropy (E) indicates an expected value of the amount of information possessed by the learning image 60. The control unit 11 can calculate the information entropy (E) by the following equation 1. The boundary ratio (R) indicates the ratio of the boundary points to the total number of pixels of the training image 60. Boundary points are points that belong to the boundaries of different image areas. For example, an edge detected by the Sobel method, the Canny method, the Prewitt method, or the like can be used as a boundary point. The control unit 11 can calculate the boundary ratio (R) by the following equation 2. Contrast (CT indicates the degree of difference between a pixel and nearby pixels. Contrast (CT) may also be referred to as "dispersion" or "inertia." Contrast (CT) can be calculated by (CL) can be calculated. Energy (EN) indicates the sum of squares of the elements of the Gray-level Co-occurrence Matrix (GLCM). Energy (EN) is "uniformity". The energy (EN) can be calculated by the control unit 11 by the following equation 5. The simultaneous occurrence matrix of the gray level is the gray level (gray scale). Intensity) Derives the frequency with which a pixel with a value i appears adjacent to a pixel with a value j in a specified direction. The four boundary ratios (R), contrast (CT), correlation (CL), and energy (EN). The index is derived from this gray scale simultaneous occurrence matrix. The control unit 11 calculates the complexity (CP) from these five indexes by the following equation 6.

Figure 0007059889000001
Figure 0007059889000002
Figure 0007059889000003
Figure 0007059889000004
Figure 0007059889000005
Figure 0007059889000006
ここで、kは、学習画像60内に存在する画素値の種類数を示す。niは、i番目の種類の画素数を示す。Nは、学習画像60内に存在する画素数を示す。Peは、境界点の数を示す。Wは、学習画像60の横方向の画素数を示す。Hは、学習画像60の縦方向の画素数を示す。WとHとの積によりNを算出することができる。p(i,j)は、同時生起行列の要素を示す。ui、uj、ai、及びajはそれぞれ、以下の式7~式10に示される。
Figure 0007059889000001
Figure 0007059889000002
Figure 0007059889000003
Figure 0007059889000004
Figure 0007059889000005
Figure 0007059889000006
Here, k indicates the number of types of pixel values existing in the learning image 60. n i indicates the number of pixels of the i-th type. N indicates the number of pixels existing in the learning image 60. Pe indicates the number of boundary points. W indicates the number of pixels in the horizontal direction of the learning image 60. H indicates the number of pixels in the vertical direction of the learning image 60. N can be calculated from the product of W and H. p (i, j) indicates an element of the simultaneous occurrence matrix. u i , u j , a i , and a j are represented by the following equations 7 to 10, respectively.

Figure 0007059889000007
Figure 0007059889000007
Figure 0007059889000008
Figure 0007059889000008
Figure 0007059889000009
Figure 0007059889000009
Figure 0007059889000010
Figure 0007059889000010

なお、複数の学習画像60に対して共通のパッチサイズを決定する場合、制御部11は、複数の学習画像60を平均化することで、平均化された学習画像(平均画像)60を取得する。そして、制御部11は、上記方法により、平均化された学習画像60の複雑度を算出する。学習画像60の複雑度を算出すると、制御部11は、次のステップS202に処理を進める。 When determining a patch size common to a plurality of learning images 60, the control unit 11 acquires the averaged learning image (average image) 60 by averaging the plurality of learning images 60. .. Then, the control unit 11 calculates the complexity of the averaged learning image 60 by the above method. After calculating the complexity of the learning image 60, the control unit 11 proceeds to the next step S202.

(ステップS202)
ステップS202では、制御部11は、算出した複雑度に応じて、パッチサイズを決定する。本実施形態では、制御部11は、複雑度が高いほどパッチサイズが小さくなり、複雑度が低いほどパッチサイズが大きくなるように、パッチサイズを決定する。例えば、32×32、64×64、128×128、256×256等のように複数の段階でパッチサイズが用意されていてもよい。これに応じて、パッチサイズの各段階に対応する数値範囲が複雑度に対して設定されていてもよい。各段階のパッチサイズは、学習画像60のサイズ及び生成するパッチ画像61の数に応じて適宜設定されてよい。例えば、以下の表1のとおり、パッチサイズの各段階に対して複雑度の数値範囲が設定されていてもよい。
(Step S202)
In step S202, the control unit 11 determines the patch size according to the calculated complexity. In the present embodiment, the control unit 11 determines the patch size so that the higher the complexity, the smaller the patch size, and the lower the complexity, the larger the patch size. For example, patch sizes may be prepared in a plurality of stages such as 32 × 32, 64 × 64, 128 × 128, 256 × 256, and the like. Accordingly, a numerical range corresponding to each stage of patch size may be set for complexity. The patch size of each stage may be appropriately set according to the size of the training image 60 and the number of patch images 61 to be generated. For example, as shown in Table 1 below, a numerical range of complexity may be set for each stage of patch size.

Figure 0007059889000011
この場合、制御部11は、算出した複雑度がいずれの数値範囲に属するかを判定してよい。そして、制御部11は、算出した複雑度の属する数値範囲に対応して、パッチサイズを決定してもよい。パッチサイズを決定すると、制御部11は、次のステップS203に処理を進める。
Figure 0007059889000011
In this case, the control unit 11 may determine which numerical range the calculated complexity belongs to. Then, the control unit 11 may determine the patch size according to the numerical range to which the calculated complexity belongs. After determining the patch size, the control unit 11 proceeds to the next step S203.

(ステップS203)
ステップS203では、制御部11は、決定したパッチサイズをそれぞれ有する複数のパッチ画像61に学習画像60を分割する。例えば、学習画像60のサイズが1280×1024であり、上記ステップS202においてパッチサイズを256×256に決定した場合、学習画像60は、20枚のパッチ画像61に分割される。ステップS101において、複数の学習画像60を取得している場合、制御部11は、決定したパッチサイズで各学習画像60を分割する。学習画像60の分割が完了すると、制御部11は、パッチ分割の処理を終了し、次のステップS103に処理を進める。
(Step S203)
In step S203, the control unit 11 divides the learning image 60 into a plurality of patch images 61 each having a determined patch size. For example, when the size of the training image 60 is 1280 × 1024 and the patch size is determined to be 256 × 256 in step S202, the training image 60 is divided into 20 patch images 61. When a plurality of learning images 60 are acquired in step S101, the control unit 11 divides each learning image 60 by a determined patch size. When the division of the learning image 60 is completed, the control unit 11 ends the patch division process and proceeds to the next step S103.

(ステップS103)
図11に戻り、ステップS103では、制御部11は、ラベル付与部113として動作し、学習画像60内における各パッチ画像61の位置に応じて、複数のラベル62のうちのいずれかのラベル62を各パッチ画像61に関連付ける。各ラベル62は、学習画像60内における各パッチ画像61の位置を示す。
(Step S103)
Returning to FIG. 11, in step S103, the control unit 11 operates as the label giving unit 113, and depending on the position of each patch image 61 in the learning image 60, one of the plurality of labels 62 is labeled 62. Associated with each patch image 61. Each label 62 indicates the position of each patch image 61 in the training image 60.

各パッチ画像61と各ラベル62との対応関係は、実施の形態に応じて適宜決定されてよい。制御部11は、各パッチ画像61に異なるラベル62を付与してもよい。ただし、この場合には、ラベル62の種類数が多くなってしまい、これに応じて、生成器50の構成が複雑化してしまう可能性がある。本実施形態では、学習画像60は、外観検査の対象となる製品Rを写した画像であり、その背景部分に対応する各パッチ画像61は一致している(すなわち、差が無い)可能性が高い。一致している各パッチ画像61は同じラベル62に統合すれば、ラベル62の種類数を低減することができ、これによって、生成器50の構成を更に単純化することが可能である。そこで、本実施形態では、ラベリングの好ましい形態として、制御部11は、以下の図13に示す方法により、各パッチ画像61と各ラベル62との対応関係を決定する。 The correspondence between each patch image 61 and each label 62 may be appropriately determined according to the embodiment. The control unit 11 may assign a different label 62 to each patch image 61. However, in this case, the number of types of the label 62 increases, and the configuration of the generator 50 may be complicated accordingly. In the present embodiment, the learning image 60 is an image showing the product R to be visually inspected, and each patch image 61 corresponding to the background portion thereof may be the same (that is, there is no difference). expensive. If each matching patch image 61 is integrated into the same label 62, the number of types of the label 62 can be reduced, which can further simplify the configuration of the generator 50. Therefore, in the present embodiment, as a preferred embodiment of labeling, the control unit 11 determines the correspondence between each patch image 61 and each label 62 by the method shown in FIG. 13 below.

図13は、本実施形態に係る学習装置1によるラベリングの処理手順の一例を例示する。本実施形態に係るステップS103は、以下のステップS301~305を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。 FIG. 13 illustrates an example of the labeling processing procedure by the learning device 1 according to the present embodiment. Step S103 according to this embodiment includes the following steps S301 to 305. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS301)
ステップS301では、制御部11は、各パッチ画像61の複雑度を算出する。各パッチ画像61の複雑度を算出する方法は、上記ステップS201と同様でよい。ただし、学習画像60の複雑度を算出する方法と各パッチ画像61の複雑度を算出する方法とは必ずしも一致していなくてもよい。制御部11は、例えば、学習画像60の複雑度を上記5つの指標から導出するのに対して、各パッチ画像61の複雑度の導出では上記5つの指標のうちの少なくともいずれかを省略してもよい。これにより、学習画像60の複雑度を算出する方法と各パッチ画像61の複雑度を算出する方法とは異なっていてもよい。各パッチ画像61の複雑度を算出すると、制御部11は、次のステップS302に処理を進める。
(Step S301)
In step S301, the control unit 11 calculates the complexity of each patch image 61. The method of calculating the complexity of each patch image 61 may be the same as in step S201. However, the method of calculating the complexity of the training image 60 and the method of calculating the complexity of each patch image 61 do not necessarily have to match. For example, the control unit 11 derives the complexity of the learning image 60 from the above five indexes, whereas the control unit 11 omits at least one of the above five indexes in deriving the complexity of each patch image 61. May be good. Thereby, the method of calculating the complexity of the training image 60 and the method of calculating the complexity of each patch image 61 may be different. After calculating the complexity of each patch image 61, the control unit 11 proceeds to the next step S302.

(ステップS302~S304)
ステップS302~S304では、制御部11は、算出した複雑度に基づいて、複数のパッチ画像61のうちの互いに類似する2つ以上のパッチ画像61を同じラベル62に統合する。
(Steps S302 to S304)
In steps S302 to S304, the control unit 11 integrates two or more patch images 61 similar to each other among the plurality of patch images 61 into the same label 62 based on the calculated complexity.

具体的に、ステップS302では、制御部11は、算出した複雑度に基づいて、互いに類似する2つ以上のパッチ画像61が存在するか否かを判定する。類似する2つのパッチ画像61の複雑度は互いに近似する。つまり、2つのパッチ画像61の内容がほぼ同一であれば、当該2つのパッチ画像61の複雑度はほぼ同一となる。そこで、制御部11は、2つのパッチ画像61の複雑度の差分を算出し、算出された差分が閾値以下であるか否かを判定する。閾値は、実施の形態に応じて適宜設定されてよい。そして、算出された差分が閾値以下である場合、制御部11は、対象の2つのパッチ画像61は互いに類似していると判定する。一方、算出された差分が閾値以下ではない場合、制御部11は、対象の2つのパッチ画像61は類似していないと判定する。制御部11は、全てのパッチ画像61に対してこの判定処理を実行する。これにより、算出した複雑度に基づいて、互いに類似する2つ以上のパッチ画像が存在するか否かを特定することができる。 Specifically, in step S302, the control unit 11 determines whether or not there are two or more patch images 61 that are similar to each other based on the calculated complexity. The complexity of two similar patch images 61 is close to each other. That is, if the contents of the two patch images 61 are substantially the same, the complexity of the two patch images 61 is substantially the same. Therefore, the control unit 11 calculates the difference in complexity between the two patch images 61, and determines whether or not the calculated difference is equal to or less than the threshold value. The threshold value may be appropriately set according to the embodiment. Then, when the calculated difference is equal to or less than the threshold value, the control unit 11 determines that the two target patch images 61 are similar to each other. On the other hand, when the calculated difference is not equal to or less than the threshold value, the control unit 11 determines that the two target patch images 61 are not similar. The control unit 11 executes this determination process for all the patch images 61. Thereby, based on the calculated complexity, it is possible to specify whether or not there are two or more patch images similar to each other.

なお、複雑度は、上記各指標に基づいて画像の内容を表すものである。そのため、複雑度の差は比較的に小さいにも関わらず、2つのパッチ画像61が互いに大きく相違してしまう可能性がある。そこで、ステップS302では、制御部11は、対象の2つのパッチ画像61が互いに類似するか否かを判定するための指標として、上記複雑度以外の他の指標を更に利用してもよい。上記複雑度に基づく判定及び他の指標に基づく判定の処理順序は実施の形態に応じて適宜決定されてよい。他の指標に基づく判定方法の一例として、例えば、モノクロヒストグラムに基づく判定方法が挙げられる。モノクロヒストグラムに基づく判定方法を採用する場合、制御部11は、各パッチ画像61のモノクロヒストグラムを生成する。モノクロヒストグラムは、画像内における各輝度の画素数、すなわち、画像の輝度の統計情報を示す。次に、制御部11は、2つのパッチ画像61のモノクロヒストグラムの差分を算出し、算出された差分が閾値以下であるか否かを判定する。閾値は、実施の形態に応じて適宜決定されてよい。複雑度の差分に対する閾値を第1閾値と称し、モノクロヒストグラムの差分に対する閾値を第2閾値と称してもよい。算出された複雑度の差分が第1閾値以下であり、かつ算出されたモノクロヒストグラムの差分が第2閾値以下である場合、制御部11は、対象の2つのパッチ画像61は互いに類似していると判定する。一方、そうではない場合、制御部11は、対象の2つのパッチ画像61は類似していないと判定する。制御部11は、全てのパッチ画像61に対してこれらの判定処理を実行する。このように、ステップS302では、制御部11は、上記複雑度に基づく判定処理に加えて、他の指標に基づく判定処理を実行してもよい。 The complexity level represents the content of the image based on each of the above indexes. Therefore, although the difference in complexity is relatively small, the two patch images 61 may differ greatly from each other. Therefore, in step S302, the control unit 11 may further use an index other than the above complexity as an index for determining whether or not the two target patch images 61 are similar to each other. The processing order of the determination based on the complexity and the determination based on other indicators may be appropriately determined according to the embodiment. As an example of the determination method based on other indexes, for example, a determination method based on a monochrome histogram can be mentioned. When the determination method based on the monochrome histogram is adopted, the control unit 11 generates the monochrome histogram of each patch image 61. The monochrome histogram shows the number of pixels of each luminance in the image, that is, the statistical information of the luminance of the image. Next, the control unit 11 calculates the difference between the monochrome histograms of the two patch images 61, and determines whether or not the calculated difference is equal to or less than the threshold value. The threshold value may be appropriately determined according to the embodiment. The threshold value for the difference in complexity may be referred to as a first threshold value, and the threshold value for the difference in monochrome histogram may be referred to as a second threshold value. When the difference in the calculated complexity is less than or equal to the first threshold value and the difference in the calculated monochrome histogram is less than or equal to the second threshold value, the control unit 11 determines that the two patch images 61 of the target are similar to each other. Is determined. On the other hand, if this is not the case, the control unit 11 determines that the two target patch images 61 are not similar. The control unit 11 executes these determination processes for all the patch images 61. As described above, in step S302, the control unit 11 may execute the determination process based on other indexes in addition to the determination process based on the complexity.

ステップS303では、制御部11は、ステップS302の判定結果に応じて、条件分岐を処理する。ステップS302において、互いに類似する2つ以上のパッチ画像61が存在すると判定した場合には、制御部11は、次のステップS304に処理を進める。一方、ステップS302において、互いに類似する2つ以上のパッチ画像61は存在しないと判定した場合には、制御部11は、ステップS304を省略し、次のステップS305に処理を進める。 In step S303, the control unit 11 processes the conditional branch according to the determination result of step S302. If it is determined in step S302 that two or more patch images 61 similar to each other exist, the control unit 11 proceeds to the next step S304. On the other hand, if it is determined in step S302 that two or more patch images 61 similar to each other do not exist, the control unit 11 omits step S304 and proceeds to the next step S305.

ステップS304では、制御部11は、互いに類似する2つ以上のパッチ画像61を統合する。つまり、制御部11は、互いに類似する2つ以上のパッチ画像61に同一のラベル62が付与されるように設定する。互いに類似する2つ以上のパッチ画像61の群は複数存在してもよい。この場合、制御部11は、同一の群内における各パッチ画像61には同一のラベル62を付与するように設定するが、異なる群のパッチ画像61同士には異なるラベル62を付与するように設定する。パッチ画像61の統合処理が完了すると、制御部11は、次のステップS305に処理を進める。 In step S304, the control unit 11 integrates two or more patch images 61 that are similar to each other. That is, the control unit 11 is set so that the same label 62 is given to two or more patch images 61 that are similar to each other. There may be a plurality of groups of two or more patch images 61 that are similar to each other. In this case, the control unit 11 is set to give the same label 62 to each patch image 61 in the same group, but is set to give different labels 62 to the patch images 61 of different groups. do. When the integration process of the patch image 61 is completed, the control unit 11 proceeds to the next step S305.

(ステップS305)
ステップS305では、制御部11は、各パッチ画像61にラベル62を関連付ける(付与する)。この処理において、制御部11は、ステップS304で統合した2つ以上のパッチ画像61には同一のラベル62を付与する。一方、制御部11は、統合されていない異なるパッチ画像61には異なるラベル62を付与する。
(Step S305)
In step S305, the control unit 11 associates (assigns) the label 62 with each patch image 61. In this process, the control unit 11 assigns the same label 62 to the two or more patch images 61 integrated in step S304. On the other hand, the control unit 11 assigns different labels 62 to different patch images 61 that are not integrated.

このラベリングの過程で、制御部11は、各パッチ画像61と各ラベル62との対応関係を示すラベル情報621を生成する。制御部11は、生成したラベル情報621を所定の記憶領域に保存する。ラベル情報621のデータ形式及び所定の記憶領域はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ16を介して記憶メディアにラベル情報621を格納してもよい。外部記憶装置は、例えば、学習装置1に接続された外付けの記憶装置であってよい。この場合、制御部11は、外付けの記憶装置にラベル情報621を格納してもよい。また、外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、ネットワークを介してデータサーバにラベル情報621を格納してもよい。 In the process of this labeling, the control unit 11 generates label information 621 indicating the correspondence between each patch image 61 and each label 62. The control unit 11 stores the generated label information 621 in a predetermined storage area. The data format of the label information 621 and the predetermined storage area may not be particularly limited, and may be appropriately selected depending on the embodiment. The predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof. The storage medium may be, for example, a CD, a DVD, or the like, and the control unit 11 may store the label information 621 in the storage medium via the drive 16. The external storage device may be, for example, an external storage device connected to the learning device 1. In this case, the control unit 11 may store the label information 621 in an external storage device. Further, the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 11 may store the label information 621 in the data server via the network.

全てのパッチ画像61にいずれかのラベル62を付与し終えると、制御部11は、本実施形態に係るラベリングの処理を終了し、次のステップS104に処理を進める。 When all the patch images 61 have been given any of the labels 62, the control unit 11 ends the labeling process according to the present embodiment, and proceeds to the next step S104.

(ステップS104)
図11に戻り、制御部11は、学習処理部114として動作し、各パッチ画像61及び各ラベル62を利用して、生成器50の機械学習を実施する。これにより、制御部11は、各パッチ画像61に関連付けられたラベル62から各パッチ画像61に対応する画像を生成するように訓練された生成器50を構築する。本実施形態では、生成器50の出力は判別器52の入力に接続されており、生成器50及び判別器52により学習ネットワーク500が構成されている。そこで、本実施形態では、制御部11は、以下の図14に示す方法により、学習ネットワーク500の機械学習を実施する。
(Step S104)
Returning to FIG. 11, the control unit 11 operates as a learning processing unit 114, and performs machine learning of the generator 50 by using each patch image 61 and each label 62. As a result, the control unit 11 constructs a generator 50 trained to generate an image corresponding to each patch image 61 from the label 62 associated with each patch image 61. In the present embodiment, the output of the generator 50 is connected to the input of the discriminator 52, and the learning network 500 is configured by the generator 50 and the discriminator 52. Therefore, in the present embodiment, the control unit 11 carries out machine learning of the learning network 500 by the method shown in FIG. 14 below.

図14は、本実施形態に係る学習装置1による機械学習の処理手順の一例を例示する。本実施形態に係るステップS104は、以下のステップS401~403を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。 FIG. 14 illustrates an example of a machine learning processing procedure by the learning device 1 according to the present embodiment. Step S104 according to the present embodiment includes the following steps S401 to 403. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

ステップS401を実行する前に、制御部11は、処理対象となる生成器50及び判別器52を用意する。用意する生成器50及び判別器52それぞれの構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、生成器50及び判別器52を用意してもよい。この前処理が完了すると、制御部11は、次のステップS401から機械学習の処理を実行する。 Before executing step S401, the control unit 11 prepares a generator 50 and a discriminator 52 to be processed. The configuration of each of the generator 50 and the discriminator 52 to be prepared, the initial value of the weight of the connection between each neuron, and the initial value of the threshold value of each neuron may be given by the template or given by the input of the operator. May be good. Further, in the case of re-learning, the control unit 11 may prepare the generator 50 and the discriminator 52 based on the learning result data obtained by performing the past machine learning. When this preprocessing is completed, the control unit 11 executes the machine learning process from the next step S401.

(ステップS401)
ステップS401では、制御部11は、判別器52の機械学習を実施することで、判別器52に入力された入力画像が、生成器50により生成された画像であるか学習画像60から分割された各パッチ画像61であるかを判別するように判別器52を訓練する。ステップS401は、本発明の「第1訓練ステップ」の一例である。
(Step S401)
In step S401, the control unit 11 performs machine learning of the discriminator 52, so that the input image input to the discriminator 52 is an image generated by the generator 50 or divided from the learning image 60. The discriminator 52 is trained to discriminate whether it is each patch image 61. Step S401 is an example of the "first training step" of the present invention.

具体的に、制御部11は、所定の確率分布からノイズ(潜在変数)を抽出し、抽出したノイズと各ラベル62とを組み合わせて、複数の第1データセットを生成する。所定の確率分布は、例えば、ガウス分布、一様分布等であってよい。続いて、制御部11は、各第1データセット(各ラベル62及びノイズ)を生成器50の入力層501に入力し、入力側から順に各層501~503に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各ラベル62から画像を生成した結果に対応する出力を出力層503から取得する。制御部11は、生成した各画像と各ラベル62とを組み合わせることで、複数の第2データセットを生成する。また、各パッチ画像61と対応する各ラベル62とを組み合わせることで、複数の第3データセットを生成する。 Specifically, the control unit 11 extracts noise (latent variable) from a predetermined probability distribution, combines the extracted noise with each label 62, and generates a plurality of first data sets. The predetermined probability distribution may be, for example, a Gaussian distribution, a uniform distribution, or the like. Subsequently, the control unit 11 inputs each first data set (each label 62 and noise) to the input layer 501 of the generator 50, and determines the firing of each neuron included in each layer 501 to 503 in order from the input side. .. As a result, the control unit 11 acquires the output corresponding to the result of generating the image from each label 62 from the output layer 503. The control unit 11 generates a plurality of second data sets by combining each generated image and each label 62. Further, by combining each patch image 61 and each corresponding label 62, a plurality of third data sets are generated.

次に、制御部11は、各第2データセット及び各第3データセットを入力データ(訓練データ)として利用し、各データセットに含まれる画像の由来を教師データ(正解データ)として利用して、判別器52の学習処理を実行する。この学習処理には、確率的勾配降下法等が用いられてよい。 Next, the control unit 11 uses each second data set and each third data set as input data (training data), and uses the origin of the image included in each data set as teacher data (correct answer data). , The learning process of the discriminator 52 is executed. A stochastic gradient descent method or the like may be used for this learning process.

例えば、制御部11は、各第2データセット(生成器50の生成した各画像及び各ラベル62)を判別器52の入力層521に入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、データセットに含まれる入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この場面では、入力画像は生成器50の生成した各画像であるため、判別器52は、「偽」と判別するのが正解である。学習処理部114は、各第2データセットについて、出力層523から得られる出力値とこの正解との誤差を算出する。 For example, the control unit 11 inputs each second data set (each image generated by the generator 50 and each label 62) to the input layer 521 of the discriminator 52, and is included in each of the layers 521 to 523 in order from the input side. Judge the firing of neurons. As a result, the control unit 11 acquires an output value corresponding to the result of determining whether the input image included in the data set is derived from the generator 50 or the learning image 60 from the output layer 523. In this scene, since the input image is each image generated by the generator 50, the correct answer is that the discriminator 52 discriminates as "false". The learning processing unit 114 calculates an error between the output value obtained from the output layer 523 and this correct answer for each second data set.

同様に、制御部11は、各第3データセット(各パッチ画像61及び各ラベル62)を判別器52の入力層521に入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、データセットに含まれる入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この場面では、入力画像は各パッチ画像61であるため、判別器52は、「真」と判別するのが正解である。学習処理部114は、各第3データセットについて、出力層523から得られる出力値とこの正解との誤差を算出する。 Similarly, the control unit 11 inputs each third data set (each patch image 61 and each label 62) to the input layer 521 of the discriminator 52, and fires each neuron included in each layer 521 to 523 in order from the input side. Make a judgment. As a result, the control unit 11 acquires an output value corresponding to the result of determining whether the input image included in the data set is derived from the generator 50 or the learning image 60 from the output layer 523. In this scene, since the input image is each patch image 61, the correct answer is that the discriminator 52 determines that it is “true”. The learning processing unit 114 calculates an error between the output value obtained from the output layer 523 and this correct answer for each third data set.

そして、制御部11は、誤差逆伝播法(Back propagation)により、算出した出力値の誤差を用いて、判別器52における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出した各誤差に基づいて、判別器52における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。制御部11は、各データセットについて、出力層523から得られる出力値と入力画像の由来の正解との誤差の和が閾値以下になるまで、この一連の処理によるパラメータの値の調節を繰り返す。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部11は、各データセットについて、入力された入力画像が、生成器50により生成された画像であるか学習画像60から分割された各パッチ画像61であるかを適切に判別可能に訓練された判別器52を構築することができる。この判別器52の機械学習が完了すると、制御部11は、次のステップS402に処理を進める。 Then, the control unit 11 calculates the weight of the connection between each neuron in the discriminator 52 and the error of each threshold value of each neuron by using the error of the output value calculated by the error back propagation method (Back propagation). The control unit 11 updates the weight of the connection between each neuron and the value of each threshold value of each neuron in the discriminator 52 based on each calculated error. For each data set, the control unit 11 repeats the adjustment of the parameter values by this series of processing until the sum of the errors between the output value obtained from the output layer 523 and the correct answer from which the input image is derived becomes equal to or less than the threshold value. The threshold value may be appropriately set according to the embodiment. Thereby, the control unit 11 can appropriately determine whether the input input image for each data set is an image generated by the generator 50 or each patch image 61 divided from the learning image 60. A trained discriminator 52 can be constructed. When the machine learning of the discriminator 52 is completed, the control unit 11 proceeds to the next step S402.

(ステップS402)
ステップS402では、制御部11は、生成器50の機械学習を実施することで、判別器52による判別が誤るような画像を生成するように生成器50を訓練する。ステップS402は、本発明の「第2訓練ステップ」の一例である。
(Step S402)
In step S402, the control unit 11 trains the generator 50 so as to generate an image in which the discriminator 52 makes a mistake in discrimination by performing machine learning of the generator 50. Step S402 is an example of the "second training step" of the present invention.

具体的に、制御部11は、所定の確率分布からノイズを抽出し、抽出したノイズと各ラベル62とを組み合わせて、複数のデータセットを生成する。各データセットは、上記第1データセットと同じでもよいし、異なっていてもよい。続いて、制御部11は、各データセット(各ラベル62及びノイズ)を生成器50の入力層501に入力し、入力側から順に各層501~503に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各ラベル62から画像を生成した結果に対応する出力を出力層503から取得する。 Specifically, the control unit 11 extracts noise from a predetermined probability distribution, combines the extracted noise with each label 62, and generates a plurality of data sets. Each data set may be the same as or different from the first data set described above. Subsequently, the control unit 11 inputs each data set (each label 62 and noise) to the input layer 501 of the generator 50, and determines the firing of each neuron included in each layer 501 to 503 in order from the input side. As a result, the control unit 11 acquires the output corresponding to the result of generating the image from each label 62 from the output layer 503.

次に、制御部11は、各データセットを入力データ(訓練データ)として利用し、判別器52に判別を誤らせることを教師データ(正解データ)として利用して、生成器50の学習処理を実行する。ステップS401と同様に、この学習処理には、確率的勾配降下法等が用いられてよい。 Next, the control unit 11 uses each data set as input data (training data), and uses the misjudgment of the discriminator 52 as teacher data (correct answer data) to execute the learning process of the generator 50. do. Similar to step S401, a stochastic gradient descent method or the like may be used for this learning process.

例えば、制御部11は、生成された各画像及び対応する各ラベル62の組み合わせを判別器52の入力層521に入力し、入力側から順に各層521~523に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力画像が生成器50由来か学習画像60由来かを判別した結果に対応する出力値を出力層523から取得する。この生成器50の訓練では、判別器52による判別の結果が誤らせることが正解である。つまり、出力層523から得られる出力値が「真」に対応することが正解である。制御部11は、各データセットについて、一連の処理により出力層523から得られる出力値とこの正解(つまり、「真」)との誤差を算出する。 For example, the control unit 11 inputs the generated image and the combination of the corresponding labels 62 into the input layer 521 of the discriminator 52, and determines the firing of each neuron included in each layer 521 to 523 in order from the input side. .. As a result, the control unit 11 acquires an output value corresponding to the result of determining whether the input image is derived from the generator 50 or the learning image 60 from the output layer 523. In the training of the generator 50, the correct answer is that the result of the discrimination by the discriminator 52 is erroneous. That is, the correct answer is that the output value obtained from the output layer 523 corresponds to "true". The control unit 11 calculates an error between the output value obtained from the output layer 523 by a series of processes and this correct answer (that is, “true”) for each data set.

そして、制御部11は、誤差逆伝播法により、算出した出力値の誤差を用いて、生成器50における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出した各誤差に基づいて、生成器50における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。制御部11は、各データセットについて、一連の処理により出力層523から得られる出力値と「真」との誤差の和が閾値以下になるまで、この一連の処理によるパラメータの値の調節を繰り返す。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部11は、各データセットについて、判別器52による判別が誤るような画像を各ラベル62から生成可能に訓練された生成器50を構築することができる。この生成器50の機械学習が完了すると、制御部11は、次のステップS403に処理を進める。 Then, the control unit 11 calculates the error of the connection weight between each neuron in the generator 50 and the error of each threshold value of each neuron by using the error of the output value calculated by the error back propagation method. The control unit 11 updates the weight of the connection between each neuron in the generator 50 and the value of each threshold value of each neuron based on each calculated error. For each data set, the control unit 11 repeats the adjustment of the parameter value by this series of processing until the sum of the error between the output value obtained from the output layer 523 and the “true” by the series of processing becomes equal to or less than the threshold value. .. The threshold value may be appropriately set according to the embodiment. As a result, the control unit 11 can construct a generator 50 trained so that an image that is erroneously discriminated by the discriminator 52 can be generated from each label 62 for each data set. When the machine learning of the generator 50 is completed, the control unit 11 proceeds to the next step S403.

(ステップS403)
ステップS403では、制御部11は、ステップS401及びS402の機械学習の処理を繰り返すか否かを判定する。機械学習の処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップS401及びS402の機械学習を実施する回数が設定されていてもよい。この場合、制御部11は、ステップS401及びS402の機械学習を実施した回数が設定回数に到達したか否かを判定する。ステップS401及びS402の実行回数が設定回数に到達していないと判定した場合には、制御部11は、ステップS401に処理を戻す。一方、ステップS401及びS402の実行回数が設定回数に到達したと判定した場合には、制御部11は、本実施形態に係る機械学習の処理を終了し、次のステップS105に処理を進める。
(Step S403)
In step S403, the control unit 11 determines whether or not to repeat the machine learning process of steps S401 and S402. The criteria for repeating the machine learning process may be appropriately determined according to the embodiment. For example, the number of times to perform machine learning in steps S401 and S402 may be set. In this case, the control unit 11 determines whether or not the number of times the machine learning of steps S401 and S402 is performed reaches the set number of times. If it is determined that the number of executions of steps S401 and S402 has not reached the set number of times, the control unit 11 returns the process to step S401. On the other hand, when it is determined that the number of executions of steps S401 and S402 has reached the set number of times, the control unit 11 ends the machine learning process according to the present embodiment and proceeds to the next step S105.

このように、制御部11は、ステップS401及びS401の処理を交互に実施することで、判別器52及び生成器50の精度を交互に高めていく。その結果、生成器50は、学習画像60から分割された各パッチ画像61に対応する画像を適切に生成する能力を習得することができる。 In this way, the control unit 11 alternately improves the accuracy of the discriminator 52 and the generator 50 by alternately performing the processes of steps S401 and S401. As a result, the generator 50 can acquire the ability to appropriately generate an image corresponding to each patch image 61 divided from the training image 60.

(ステップS105)
図11に戻り、ステップS105では、制御部11は、保存処理部115として動作し、構築された学習済みの生成器50に関する情報を所定の記憶領域に保存する。本実施形態では、制御部11は、ステップS104により構築された学習済みの生成器50の構成及びパラメータを示す情報を第1学習結果データ125として生成する。第1学習結果データ125は、判別器52の構成及びパラメータを示す情報を含んでもよいし、含んでいなくてもよい。そして、制御部11は、生成した第1学習結果データ125を所定の記憶領域に保存する。所定の記憶領域は、上記ラベル情報621の保存先と同様に、例えば、制御部11内のRAM、記憶部12、外部記憶装置(例えば、NAS等のデータサーバ)、記憶メディア又はこれらの組み合わせであってよい。これにより、制御部11は、本動作例に係る処理を終了する。
(Step S105)
Returning to FIG. 11, in step S105, the control unit 11 operates as the storage processing unit 115, and stores information about the constructed trained generator 50 in a predetermined storage area. In the present embodiment, the control unit 11 generates information indicating the configuration and parameters of the trained generator 50 constructed by step S104 as the first learning result data 125. The first learning result data 125 may or may not include information indicating the configuration and parameters of the discriminator 52. Then, the control unit 11 stores the generated first learning result data 125 in a predetermined storage area. The predetermined storage area is, for example, a RAM in the control unit 11, a storage unit 12, an external storage device (for example, a data server such as NAS), a storage medium, or a combination thereof, similarly to the storage destination of the label information 621. It may be there. As a result, the control unit 11 ends the process related to this operation example.

なお、学習済みの生成器50を構築した後、制御部11は、生成した第1学習結果データ125を任意のタイミングで画像生成装置2に転送してもよい。画像生成装置2は、学習装置1から転送を受け付けることで第1学習結果データ125を取得してもよいし、学習装置1又はデータサーバにアクセスすることで第1学習結果データ125を取得してもよい。第1学習結果データ125は、画像生成装置2に予め組み込まれてもよい。 After constructing the trained generator 50, the control unit 11 may transfer the generated first learning result data 125 to the image generator 2 at an arbitrary timing. The image generation device 2 may acquire the first learning result data 125 by accepting the transfer from the learning device 1, or may acquire the first learning result data 125 by accessing the learning device 1 or the data server. May be good. The first learning result data 125 may be incorporated in the image generation device 2 in advance.

また、制御部11は、上記ステップS101~S105の処理を定期的に繰り返すことで、第1学習結果データ125を定期的に更新してもよい。この繰り返す際には、学習画像60の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した第1学習結果データ125を機械学習の実行毎に画像生成装置2に転送することで、画像生成装置2の保持する第1学習結果データ125を定期的に更新してもよい。 Further, the control unit 11 may periodically update the first learning result data 125 by periodically repeating the processes of steps S101 to S105. When this is repeated, the learning image 60 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 periodically updates the first learning result data 125 held by the image generation device 2 by transferring the updated first learning result data 125 to the image generation device 2 every time the machine learning is executed. You may.

[画像生成装置]
次に、図15を用いて、本実施形態に係る画像生成装置2の動作例について説明する。図15は、本実施形態に係る画像生成装置2の処理手順の一例を示す。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Image generator]
Next, an operation example of the image generation device 2 according to the present embodiment will be described with reference to FIG. FIG. 15 shows an example of the processing procedure of the image generation device 2 according to the present embodiment. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS501)
ステップS501では、制御部21は、生成部211として動作し、学習装置1により構築された学習済みの生成器50を利用して、複数のラベル62それぞれから複数の画像67それぞれを生成する。
(Step S501)
In step S501, the control unit 21 operates as the generation unit 211, and uses the trained generator 50 constructed by the learning device 1 to generate each of the plurality of images 67 from each of the plurality of labels 62.

本実施形態では、制御部21は、第1学習結果データ125を参照して、学習済みの生成器50の設定を行う。制御部21は、ラベル情報621を参照して、各パッチ画像61に付与したラベル62を特定する。続いて、制御部21は、所定の確率分布からノイズ(潜在変数)を取得する。所定の確率分布は、上記と同様に、例えば、ガウス分布、一様分布等であってよい。制御部21は、取得ノイズ及び各ラベル62を生成器50の入力層501に入力して、入力側から順に各層501~503に含まれる各ニューロンの発火判定を行う。これにより、出力層503からの出力として、各ラベル62から生成された各画像67を取得する。各ラベル62に対して各画像67を生成すると、制御部21は、次のステップS502に処理を進める。 In the present embodiment, the control unit 21 sets the trained generator 50 with reference to the first learning result data 125. The control unit 21 identifies the label 62 assigned to each patch image 61 with reference to the label information 621. Subsequently, the control unit 21 acquires noise (latent variable) from a predetermined probability distribution. The predetermined probability distribution may be, for example, a Gaussian distribution, a uniform distribution, or the like, as described above. The control unit 21 inputs the acquired noise and each label 62 to the input layer 501 of the generator 50, and determines the firing of each neuron included in each layer 501 to 503 in order from the input side. As a result, each image 67 generated from each label 62 is acquired as an output from the output layer 503. When each image 67 is generated for each label 62, the control unit 21 proceeds to the next step S502.

(ステップS502)
ステップS502では、制御部21は、結合部212として動作し、ラベル情報621を参照して、生成された各画像67を、各ラベル62に応じた位置に配置する。その後、制御部21は、各ラベル62に応じた位置に配置した各画像67を結合する。これにより、制御部21は、結合画像69を生成する。結合画像69は、学習画像60に対応する。結合画像69の生成が完了すると、制御部21は、次のステップS503に処理を進める。
(Step S502)
In step S502, the control unit 21 operates as the coupling unit 212, and with reference to the label information 621, arranges each generated image 67 at a position corresponding to each label 62. After that, the control unit 21 combines the images 67 arranged at the positions corresponding to the labels 62. As a result, the control unit 21 generates the combined image 69. The combined image 69 corresponds to the learning image 60. When the generation of the combined image 69 is completed, the control unit 21 proceeds to the next step S503.

(ステップS503)
ステップS503では、制御部21は、画像保存部213として動作し、生成された結合画像69を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置(例えば、NAS等のデータサーバ)、記憶メディア又はこれらの組み合わせであってよい。これにより、制御部21は、本動作例に係る処理を終了する。
(Step S503)
In step S503, the control unit 21 operates as the image storage unit 213 and stores the generated combined image 69 in a predetermined storage area. The predetermined storage area may be, for example, a RAM in the control unit 21, a storage unit 22, an external storage device (for example, a data server such as NAS), a storage medium, or a combination thereof. As a result, the control unit 21 ends the process related to this operation example.

なお、制御部21は、上記ステップS502及びS502を繰り返し実行することで、複数の結合画像69を生成してもよい。生成する結合画像69の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、制御部21は、生成した結合画像69をサンプル画像3221として利用させるために、生成した結合画像69を推定器生成装置3に転送してもよい。 The control unit 21 may generate a plurality of combined images 69 by repeatedly executing the steps S502 and S502. The number of combined images 69 to be generated may not be particularly limited and may be appropriately selected depending on the embodiment. Further, the control unit 21 may transfer the generated combined image 69 to the estimator generation device 3 in order to use the generated combined image 69 as the sample image 3221.

[推定器生成装置]
次に、図16を用いて、本実施形態に係る推定器生成装置3の動作例について説明する。図16は、本実施形態に係る推定器生成装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Estimator generator]
Next, an operation example of the estimator generator 3 according to the present embodiment will be described with reference to FIG. FIG. 16 is a flowchart illustrating an example of the processing procedure of the estimator generator 3 according to the present embodiment. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS701)
ステップS701では、制御部31は、学習データ取得部311として動作し、製品を写したサンプル画像3221、及び正解データ3222の組み合わせによりそれぞれ構成された複数の学習データセット322を取得する。正解データ3222は、対応するサンプル画像3221に写る製品Rの良否を判定した結果(すなわち、正解)を示す。
(Step S701)
In step S701, the control unit 31 operates as a learning data acquisition unit 311 and acquires a plurality of learning data sets 322 each composed of a combination of a sample image 3221 showing a product and correct answer data 3222. The correct answer data 3222 shows the result (that is, the correct answer) of determining the quality of the product R shown in the corresponding sample image 3221.

学習データセット322を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラ及び製品Rを用意し、欠陥のある又は欠陥のない製品Rをカメラにより撮影する。これにより、サンプル画像3221を生成することができる。そして、サンプル画像3221に写る製品Rの良否を示す正解データ3222を適宜生成し、生成した正解データ3222を対応するサンプル画像3221に関連付ける。これにより、各学習データセット322を生成することができる。 The method for acquiring the training data set 322 does not have to be particularly limited, and may be appropriately determined according to the embodiment. For example, a camera and a product R are prepared, and a defective or non-defective product R is photographed by the camera. This makes it possible to generate a sample image 3221. Then, the correct answer data 3222 indicating the quality of the product R reflected in the sample image 3221 is appropriately generated, and the generated correct answer data 3222 is associated with the corresponding sample image 3221. As a result, each training data set 322 can be generated.

この学習データセット322の生成は、コンピュータの動作により自動的に行われてもよいし、オペレータの操作により手動的に行われてもよい。また、この学習データセット322を生成する情報処理は、推定器生成装置3において実行されてもよいし、推定器生成装置3以外の他のコンピュータにより行われてもよい。 The generation of the learning data set 322 may be automatically performed by the operation of the computer, or may be manually performed by the operation of the operator. Further, the information processing for generating the learning data set 322 may be executed by the estimator generator 3 or may be performed by a computer other than the estimator generator 3.

学習データセット322を推定器生成装置3が生成する場合、制御部31は、自動的又はオペレータの操作により手動的に上記情報処理を実行することで、複数の学習データセット322を取得する。一方、学習データセット322を他のコンピュータが生成する場合、制御部31は、例えば、ネットワーク、記憶媒体93等を介して、他のコンピュータにより生成された複数の学習データセット322を取得する。一部の学習データセット322を推定器生成装置3が生成し、残りの学習データセット322を他のコンピュータが生成してもよい。 When the estimator generator 3 generates the learning data set 322, the control unit 31 acquires a plurality of learning data sets 322 by automatically or manually executing the above information processing by the operation of the operator. On the other hand, when the learning data set 322 is generated by another computer, the control unit 31 acquires a plurality of learning data sets 322 generated by the other computer via, for example, a network, a storage medium 93, or the like. The estimator generator 3 may generate a part of the training data set 322, and another computer may generate the remaining training data set 322.

ここで、取得される学習データセット322の少なくとも一部に含まれるサンプル画像3221は、画像生成装置2により生成された結合画像69であってよい。制御部31は、ネットワーク、記憶媒体93等を介して、画像生成装置2により生成された結合画像69をサンプル画像3221として取得してもよい。この結合画像69(サンプル画像3221)を含む学習データセット322の生成は、画像生成装置2により行われてもよい。つまり、画像生成装置2は、上記他のコンピュータの一例である。 Here, the sample image 3221 included in at least a part of the acquired training data set 322 may be a combined image 69 generated by the image generation device 2. The control unit 31 may acquire the combined image 69 generated by the image generation device 2 as a sample image 3221 via a network, a storage medium 93, or the like. The generation of the training data set 322 including the combined image 69 (sample image 3221) may be performed by the image generation device 2. That is, the image generation device 2 is an example of the above-mentioned other computer.

なお、正解データ3222のデータ形式は、推定器70の出力形式に応じて適宜決定されてよい。例えば、正解データ3222は、製品Rの良否を2値で示すように設定されてよい。また、例えば、正解データ3222は、製品Rが良品である(すなわち、欠陥が無い)確率又は製品Rに欠陥が存在する確率を連続値で示すように設定されてもよい。また、例えば、正解データ3222は、製品Rの良否又は欠陥の種別のインデックス(クラス)を示すように設定されてもよい。また、例えば、正解データ3222は、欠陥のある箇所等を示すように設定されてもよい。 The data format of the correct answer data 3222 may be appropriately determined according to the output format of the estimator 70. For example, the correct answer data 3222 may be set so as to indicate the quality of the product R by two values. Further, for example, the correct answer data 3222 may be set so as to indicate the probability that the product R is a non-defective product (that is, there is no defect) or the probability that the product R has a defect as a continuous value. Further, for example, the correct answer data 3222 may be set to indicate the index (class) of the quality or defect type of the product R. Further, for example, the correct answer data 3222 may be set to indicate a defective portion or the like.

取得する学習データセット322の件数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。複数の学習データセット322を取得すると、制御部31は、次のステップS702に処理を進める。 The number of learning data sets 322 to be acquired may not be particularly limited and may be appropriately determined according to the embodiment. When the plurality of training data sets 322 are acquired, the control unit 31 proceeds to the next step S702.

(ステップS702)
ステップS702では、制御部31は、学習処理部312として動作し、複数の学習データセット322を利用して、推定器70の機械学習を実施する。この機械学習では、制御部31は、各学習データセット322について、サンプル画像3221を入力層701に入力すると、正解データ3222と一致する出力値を出力層703から出力するように推定器70を訓練する。これにより、制御部31は、製品Rの良否を判定する能力を習得した学習済みの推定器70を構築する。
(Step S702)
In step S702, the control unit 31 operates as the learning processing unit 312, and performs machine learning of the estimator 70 by using the plurality of learning data sets 322. In this machine learning, the control unit 31 trains the estimator 70 so that when the sample image 3221 is input to the input layer 701 for each training data set 322, an output value matching the correct answer data 3222 is output from the output layer 703. do. As a result, the control unit 31 constructs a trained estimator 70 that has acquired the ability to determine the quality of the product R.

この機械学習は、上記学習装置1による機械学習と同様に実行されてよい。すなわち、制御部31は、処理対象となる推定器70を用意する。用意する推定器70の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部31は、過去の機械学習を行うことで得られた学習結果データに基づいて、推定器70を用意してもよい。 This machine learning may be executed in the same manner as the machine learning by the learning device 1. That is, the control unit 31 prepares the estimator 70 to be processed. The configuration of the estimator 70 to be prepared, the initial value of the weight of the connection between each neuron, and the initial value of the threshold value of each neuron may be given by the template or by the input of the operator. Further, in the case of re-learning, the control unit 31 may prepare the estimator 70 based on the learning result data obtained by performing the past machine learning.

次に、制御部31は、ステップS701で取得した各学習データセット322に含まれるサンプル画像3221を入力データ(訓練データ)として利用し、対応する正解データ3222を教師データとして利用して、推定器70の学習処理を実行する。この学習処理には、確率的勾配降下法等が用いられてよい。 Next, the control unit 31 uses the sample image 3221 included in each learning data set 322 acquired in step S701 as input data (training data), and uses the corresponding correct answer data 3222 as teacher data to be an estimator. 70 learning processes are executed. A stochastic gradient descent method or the like may be used for this learning process.

例えば、第1のステップでは、制御部31は、各学習データセット322について、サンプル画像3221を入力層701に入力し、入力側から順に各層701~703に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、サンプル画像3221に写る製品Rの良否を判定した結果に対応する出力値を出力層703から取得する。第2のステップでは、制御部31は、取得した出力値と正解データ3222との誤差を算出する。第3のステップでは、制御部31は、誤差逆伝播法により、算出した出力値の誤差を用いて、推定器70における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第4のステップでは、制御部31は、算出した各誤差に基づいて、推定器70における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。 For example, in the first step, the control unit 31 inputs the sample image 3221 to the input layer 701 for each learning data set 322, and determines the firing of each neuron included in each layer 701 to 703 in order from the input side. As a result, the control unit 31 acquires an output value corresponding to the result of determining the quality of the product R shown in the sample image 3221 from the output layer 703. In the second step, the control unit 31 calculates an error between the acquired output value and the correct answer data 3222. In the third step, the control unit 31 calculates the error of the connection weight between each neuron in the estimator 70 and the error of each threshold value of each neuron by using the error of the calculated output value by the error back propagation method. In the fourth step, the control unit 31 updates the weight of the connection between each neuron and the value of each threshold value of each neuron in the estimator 70 based on each calculated error.

制御部31は、上記第1~第4のステップを繰り返すことで、各学習データセット322について、サンプル画像3221を入力すると、対応する正解データ3222と一致する出力値を出力するように、推定器70のパラメータの値を調節する。換言すると、制御部31は、各学習データセット322について、出力層703から得られる出力値と正解データ3222との誤差の和が閾値以下になるまで、上記第1~第4のステップによる推定器70のパラメータの値の調節を繰り返す。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部31は、各学習データセット322について、サンプル画像3221を入力層701に入力すると、正解データ3222と一致する出力値を出力層703から出力するように訓練された推定器70を構築することができる。この推定器70の機械学習が完了すると、制御部31は、次のステップS703に処理を進める。 By repeating the first to fourth steps, the control unit 31 outputs an output value that matches the corresponding correct answer data 3222 when the sample image 3221 is input for each training data set 322. Adjust the values of 70 parameters. In other words, for each learning data set 322, the control unit 31 is an estimator according to the first to fourth steps until the sum of the errors between the output value obtained from the output layer 703 and the correct answer data 3222 becomes equal to or less than the threshold value. Repeat the adjustment of the value of the parameter of 70. The threshold value may be appropriately set according to the embodiment. As a result, the control unit 31 trains the estimator 70 to output an output value matching the correct answer data 3222 from the output layer 703 when the sample image 3221 is input to the input layer 701 for each training data set 322. Can be built. When the machine learning of the estimator 70 is completed, the control unit 31 proceeds to the next step S703.

(ステップS703)
ステップS703では、制御部31は、保存処理部313として動作し、構築された学習済みの推定器70に関する情報を所定の記憶領域に保存する。本実施形態では、制御部31は、ステップS702により構築された学習済みの推定器70の構成及びパラメータを示す情報を第2学習結果データ325として生成する。そして、制御部31は、生成した第2学習結果データ325を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部31内のRAM、記憶部32、外部記憶装置(例えば、NAS等のデータサーバ)、記憶メディア又はこれらの組み合わせであってよい。これにより、制御部31は、本動作例に係る処理を終了する。
(Step S703)
In step S703, the control unit 31 operates as a storage processing unit 313 and stores information about the constructed learned estimator 70 in a predetermined storage area. In the present embodiment, the control unit 31 generates information indicating the configuration and parameters of the trained estimator 70 constructed by step S702 as the second learning result data 325. Then, the control unit 31 stores the generated second learning result data 325 in a predetermined storage area. The predetermined storage area may be, for example, a RAM in the control unit 31, a storage unit 32, an external storage device (for example, a data server such as NAS), a storage medium, or a combination thereof. As a result, the control unit 31 ends the process related to this operation example.

なお、学習済みの推定器70を構築した後、制御部31は、生成した第2学習結果データ325を任意のタイミングで検査装置4に転送してもよい。検査装置4は、推定器生成装置3から転送を受け付けることで第2学習結果データ325を取得してもよいし、推定器生成装置3又はデータサーバにアクセスすることで第2学習結果データ325を取得してもよい。第2学習結果データ325は、検査装置4に予め組み込まれてもよい。 After constructing the trained estimator 70, the control unit 31 may transfer the generated second learning result data 325 to the inspection device 4 at an arbitrary timing. The inspection device 4 may acquire the second learning result data 325 by accepting the transfer from the estimator generator 3, or may acquire the second learning result data 325 by accessing the estimator generator 3 or the data server. You may get it. The second learning result data 325 may be incorporated in the inspection device 4 in advance.

また、制御部31は、上記ステップS701~703の処理を定期的に繰り返すことで、第2学習結果データ325を定期的に更新してもよい。この繰り返す際には、学習データセット322の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部31は、更新した第2学習結果データ325を機械学習の実行毎に検査装置4に転送することで、検査装置4の保持する第2学習結果データ325を定期的に更新してもよい。 Further, the control unit 31 may periodically update the second learning result data 325 by periodically repeating the processes of steps S701 to 703. When this is repeated, the training data set 322 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 31 periodically updates the second learning result data 325 held by the inspection device 4 by transferring the updated second learning result data 325 to the inspection device 4 every time the machine learning is executed. May be good.

更に、制御部31は、評価用データセットを利用して、構築した推定器70の判定性能を評価してもよい。評価用データセットは、上記各学習データセット322と同様に構成可能である。すなわち、評価用データセットは、製品Rの写るサンプル画像、及びサンプル画像に写る製品Rの良否を示す正解データの組み合わせにより構成されてよい。制御部31は、後述するステップS902のとおり、推定器70を利用して、評価用データセットのサンプル画像に写る製品Rの良否を判定する。制御部31は、この判定結果と正解データにより示される正解とを照合することで、推定器70の判定性能を評価することができる。 Further, the control unit 31 may evaluate the determination performance of the constructed estimator 70 by using the evaluation data set. The evaluation data set can be configured in the same manner as each training data set 322 described above. That is, the evaluation data set may be composed of a combination of a sample image showing the product R and correct answer data indicating the quality of the product R shown in the sample image. As described in step S902 described later, the control unit 31 uses the estimator 70 to determine the quality of the product R shown in the sample image of the evaluation data set. The control unit 31 can evaluate the determination performance of the estimator 70 by collating the determination result with the correct answer indicated by the correct answer data.

この推定器70の判定性能が所定の基準以下である(例えば、正答率が閾値以下である)場合には、制御部31は、複数の学習データセット322から選択した1又は複数の学習データセット322に含まれる各サンプル画像3221を学習装置1に送信してもよい。次に、制御部31は、送信した各サンプル画像3221に対応する画像を生成するための生成器50を学習装置1に構築させてよい。更に、制御部31は、学習装置1に学習済みの生成器50を画像生成装置2に転送させ、学習済みの生成器50を利用して結合画像69を生成する処理を画像生成装置2に実行させてよい。 When the determination performance of the estimator 70 is equal to or less than a predetermined standard (for example, the correct answer rate is equal to or less than the threshold value), the control unit 31 may use one or a plurality of learning data sets selected from the plurality of learning data sets 322. Each sample image 3221 included in 322 may be transmitted to the learning device 1. Next, the control unit 31 may cause the learning device 1 to construct a generator 50 for generating an image corresponding to each transmitted sample image 3221. Further, the control unit 31 transfers the trained generator 50 to the image generator 2 by the learning device 1, and executes a process of generating the combined image 69 by using the trained generator 50 in the image generator 2. You may let me.

これに応じて、画像生成装置2により生成された1又は複数の結合画像69をサンプル画像3221として受信してもよい。そして、制御部31は、受信した結合画像69(サンプル画像3221)を含む学習データセット322を生成し、生成した学習データセット322を元の学習データ群に追加してもよい。これにより、制御部31は、機械学習に利用する学習データセット322の件数を増やすことができる。制御部31は、この新たな学習データ群を利用して、推定器70の機械学習を再度実施してもよい。この一連の再学習の処理により、構築された学習済みの推定器70の判定性能を高めることができる。 Accordingly, one or more combined images 69 generated by the image generator 2 may be received as the sample image 3221. Then, the control unit 31 may generate a learning data set 322 including the received combined image 69 (sample image 3221), and may add the generated learning data set 322 to the original learning data group. As a result, the control unit 31 can increase the number of learning data sets 322 used for machine learning. The control unit 31 may perform machine learning of the estimator 70 again by using this new learning data group. By this series of re-learning processes, the determination performance of the constructed trained estimator 70 can be improved.

[検査装置]
次に、図17を用いて、本実施形態に係る検査装置4の動作例について説明する。図17は、本実施形態に係る検査装置4の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Inspection equipment]
Next, an operation example of the inspection device 4 according to the present embodiment will be described with reference to FIG. FIG. 17 is a flowchart illustrating an example of the processing procedure of the inspection device 4 according to the present embodiment. However, the processing procedure described below is only an example, and each processing may be changed as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.

(ステップS901)
ステップS901では、制御部41は、対象データ取得部411として動作し、外観検査の対象となる製品Rの写る対象画像422を取得する。本実施形態では、検査装置4は、外部インタフェース47を介してカメラCAに接続している。そのため、制御部41は、カメラCAから対象画像422を取得する。この対象画像422は、動画像データであってもよいし、静止画像データであってもよい。対象画像422を取得すると、制御部41は、次のステップ902に処理を進める。
(Step S901)
In step S901, the control unit 41 operates as the target data acquisition unit 411 to acquire the target image 422 of the product R to be visually inspected. In the present embodiment, the inspection device 4 is connected to the camera CA via the external interface 47. Therefore, the control unit 41 acquires the target image 422 from the camera CA. The target image 422 may be moving image data or still image data. When the target image 422 is acquired, the control unit 41 proceeds to the next step 902.

ただし、対象画像422を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置4とは異なる他の情報処理装置が、カメラCAに接続されていてもよい。この場合、制御部41は、他の情報処理装置を介して対象画像422を取得してもよい。 However, the route for acquiring the target image 422 does not have to be limited to such an example, and may be appropriately selected according to the embodiment. For example, another information processing device different from the inspection device 4 may be connected to the camera CA. In this case, the control unit 41 may acquire the target image 422 via another information processing device.

(ステップS902)
ステップS902では、制御部41は、良否判定部412として動作し、学習済みの推定器70を利用して、対象画像422に写る製品Rの良否を判定する。
(Step S902)
In step S902, the control unit 41 operates as a quality determination unit 412, and uses the trained estimator 70 to determine the quality of the product R shown in the target image 422.

具体的には、制御部41は、第2学習結果データ325を参照して、学習済みの推定器70の設定を行う。次に、制御部41は、取得した対象画像422を推定器70の入力層701に入力し、入力側から順に各層701~703に含まれる各ニューロンの発火判定を行う。これにより、制御部41は、対象画像422に写る製品Rの良否を判定した結果に対応する出力値を推定器70の出力層703から取得する。 Specifically, the control unit 41 sets the trained estimator 70 with reference to the second learning result data 325. Next, the control unit 41 inputs the acquired target image 422 to the input layer 701 of the estimator 70, and determines the firing of each neuron included in each layer 701 to 703 in order from the input side. As a result, the control unit 41 acquires an output value corresponding to the result of determining the quality of the product R reflected in the target image 422 from the output layer 703 of the estimator 70.

これにより、制御部41は、推定器70の出力層703から取得した出力値に基づいて、対象画像422に写る製品Rの良否を判定する。なお、良否の判定は、推定器70の出力形式に応じて適宜行われてよい。例えば、推定器70から得られる出力値が製品Rの良否を2値で示す場合、制御部41は、推定器70から得られる出力値に応じて、製品Rの良否を特定することができる。また、例えば、推定器70から得られる出力値が、製品Rが良品である確率又は製品Rに欠陥がある確率を連続値で示す場合、制御部41は、推定器70から得られる出力値と閾値とを比較することで、製品Rの良否を判定することができる。また、例えば、推定器70から得られる出力値が欠陥のある箇所を示す場合、制御部41は、推定器70から得られる出力値に基づいて、対象画像422に写る製品Rの良否を判定することができると共に、欠陥が存在する場合にはその欠陥の箇所を特定することができる。 As a result, the control unit 41 determines the quality of the product R reflected in the target image 422 based on the output value acquired from the output layer 703 of the estimator 70. It should be noted that the quality determination may be appropriately performed according to the output format of the estimator 70. For example, when the output value obtained from the estimator 70 indicates the quality of the product R by two values, the control unit 41 can specify the quality of the product R according to the output value obtained from the estimator 70. Further, for example, when the output value obtained from the estimator 70 indicates the probability that the product R is a non-defective product or the probability that the product R has a defect as a continuous value, the control unit 41 has the output value obtained from the estimator 70. By comparing with the threshold value, the quality of the product R can be determined. Further, for example, when the output value obtained from the estimator 70 indicates a defective portion, the control unit 41 determines the quality of the product R reflected in the target image 422 based on the output value obtained from the estimator 70. At the same time, if a defect exists, the location of the defect can be identified.

また、例えば、推定器70から得られる出力値が、製品Rの良否又は欠陥の種別のインデックスを示す場合、検査装置4は、推定器70から得られる出力値と製品Rの良否又は欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部42に保持していてもよい。この場合、制御部41は、この参照情報を参照することにより、推定器70から得られた出力値に応じて、対象画像422に写る製品Rの良否を判定することができる。 Further, for example, when the output value obtained from the estimator 70 indicates the index of the quality or defect type of the product R, the inspection device 4 determines the output value obtained from the estimator 70 and the quality or defect type of the product R. Reference information (not shown) such as a table format associated with may be stored in the storage unit 42. In this case, the control unit 41 can determine the quality of the product R shown in the target image 422 according to the output value obtained from the estimator 70 by referring to this reference information.

以上により、制御部41は、推定器70を利用して、対象画像422に写る製品Rの良否を判定することができる。製品Rの良否の判定が完了すると、制御部41は、次のステップS903に処理を進める。 As described above, the control unit 41 can determine the quality of the product R shown in the target image 422 by using the estimator 70. When the quality determination of the product R is completed, the control unit 41 proceeds to the next step S903.

(ステップS903)
ステップS903では、制御部41は、出力部413として動作し、ステップS902により製品Rの良否を判定した結果を出力する。
(Step S903)
In step S903, the control unit 41 operates as an output unit 413 and outputs the result of determining the quality of the product R in step S902.

製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、製品Rの良否を判定した結果をそのまま出力装置45に出力してもよい。また、ステップS902において、製品Rに欠陥があると判定した場合、制御部41は、欠陥を発見したことを知らせるための警告を本ステップS903の出力処理として行ってもよい。また、制御部41は、本ステップS903の出力処理として、製品Rの良否を判定した結果に応じた所定の制御処理を実行してもよい。具体例として、製品の搬送を行う製造ラインに検査装置4が接続されている場合、製品Rに欠陥があると判定したときに、制御部41は、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップS903の出力処理として行ってもよい。 The output format as a result of determining the quality of the product R does not have to be particularly limited, and may be appropriately selected according to the embodiment. For example, the control unit 41 may output the result of determining the quality of the product R to the output device 45 as it is. Further, when it is determined in step S902 that the product R has a defect, the control unit 41 may issue a warning for notifying that the defect has been found as the output process of this step S903. Further, the control unit 41 may execute a predetermined control process according to the result of determining the quality of the product R as the output process of this step S903. As a specific example, when the inspection device 4 is connected to the production line for transporting the product, when the control unit 41 determines that the product R has a defect, the control unit 41 regards the defective product R as a defect-free product. May perform the process of transmitting a command to be conveyed by a different route to the production line as the output process of this step S903.

製品Rの良否を判定した結果の出力処理が完了すると、制御部41は、本動作例に係る処理を終了する。なお、制御部41は、製造ライン上を搬送される製品RがカメラCAの撮影範囲に入る度に、ステップS901~S903の一連の処理を実行してもよい。これにより、検査装置4は、製造ライン上を搬送される製品Rの外観検査を行うことができる。 When the output processing as a result of determining the quality of the product R is completed, the control unit 41 ends the processing related to this operation example. The control unit 41 may execute a series of processes of steps S901 to S903 each time the product R conveyed on the production line enters the shooting range of the camera CA. As a result, the inspection device 4 can inspect the appearance of the product R transported on the production line.

[特徴]
以上のとおり、本実施形態に係る学習装置1は、ステップS102により学習画像60を複数のパッチ画像61に分割し、ステップS104により各パッチ画像61に対応する画像を生成するように訓練された生成器50を構築する。これにより、フルサイズの学習画像60に対応する画像を直接的に生成する能力を生成器50に習得させるのではなく、各パッチ画像61に対応する画像の生成を介して学習画像60に対応するフルサイズの画像を間接的に生成する能力を生成器50に習得させる。そのため、本実施形態では、生成器50に学習させる画像のサイズを抑えることができるため、生成器50の構成を単純化することができる。したがって、本実施形態によれば、ステップS104において機械学習により生成器50を構築するのにかかる計算コストを低減することができる。これによって、ステップS104を処理するのにかかるメモリの量を抑えたり、ステップS104の計算時間を短くしたりすることができる。
[feature]
As described above, the learning device 1 according to the present embodiment is trained to divide the learning image 60 into a plurality of patch images 61 in step S102 and generate an image corresponding to each patch image 61 in step S104. Build the vessel 50. As a result, the generator 50 does not acquire the ability to directly generate the image corresponding to the full-size learning image 60, but corresponds to the learning image 60 through the generation of the image corresponding to each patch image 61. The generator 50 is trained in the ability to indirectly generate a full-size image. Therefore, in the present embodiment, the size of the image to be learned by the generator 50 can be suppressed, so that the configuration of the generator 50 can be simplified. Therefore, according to the present embodiment, it is possible to reduce the calculation cost required to construct the generator 50 by machine learning in step S104. As a result, the amount of memory required to process step S104 can be reduced, and the calculation time of step S104 can be shortened.

また、本実施形態に係る画像生成装置2は、学習装置1により構築された生成器50を利用することで、ステップS501及びS502により製品Rの写り得る画像(結合画像69)を量産するのにかかる計算コストを抑えることができる。加えて、本実施形態では、画像生成装置2により量産された結合画像69をサンプル画像として利用することができる。これにより、推定器生成装置3において、機械学習に利用する学習データセット322を収集するコストを低減することができる。更に、本実施形態では、画像生成装置2により量産された結合画像69をサンプル画像3221として利用することで、推定器70の機械学習に利用するサンプル画像3221の件数を増やすことができる。これにより、本実施形態に係る検査装置4において、ステップS902により製品Rの良否を判定する精度を高めることができる。 Further, the image generator 2 according to the present embodiment uses the generator 50 constructed by the learning device 1 to mass-produce images (combined images 69) in which the product R can be captured in steps S501 and S502. Such calculation cost can be suppressed. In addition, in the present embodiment, the combined image 69 mass-produced by the image generation device 2 can be used as a sample image. This makes it possible to reduce the cost of collecting the learning data set 322 used for machine learning in the estimator generator 3. Further, in the present embodiment, by using the combined image 69 mass-produced by the image generation device 2 as the sample image 3221, the number of sample images 3221 used for machine learning of the estimator 70 can be increased. As a result, in the inspection device 4 according to the present embodiment, the accuracy of determining the quality of the product R can be improved by step S902.

また、本実施形態に係る学習装置1は、ステップS201~S203の処理により、学習画像60の複雑度に応じてパッチサイズを決定する。学習画像60の複雑度が高いとは、学習画像60内の各画素値が変化に富んでいる状態である。この場合に、パッチ画像61のサイズを大きくすると、パッチ画像61に対応する画像を生成するために学習するパッチ画像61内の変化の量が多くなってしまうことから、生成器50の構成が複雑化し得る。一方、学習画像60の複雑度が低い場合に、パッチ画像61のサイズを小さくすると、無駄な処理が増えてしまう。そこで、本実施形態に係る学習装置1は、上記ステップS202において、学習画像60の複雑度が高い場合には、各パッチ画像61のパッチサイズを小さくなるように設定し、学習画像60の複雑度が低い場合には、各パッチ画像61のパッチサイズを大きくなるように設定する。これにより、生成に適したパッチサイズを有する各パッチ画像61に学習画像60を分割することができる。したがって、本実施形態によれば、機械学習により生成器50を構築するのにかかる計算コストを低減しつつ、その機械学習によって、学習画像60に対応する適切な画像を生成可能な学習済みの生成器50を構築することができる。 Further, the learning device 1 according to the present embodiment determines the patch size according to the complexity of the learning image 60 by the processing of steps S201 to S203. The high complexity of the training image 60 means that each pixel value in the training image 60 is rich in variation. In this case, if the size of the patch image 61 is increased, the amount of change in the patch image 61 to be learned in order to generate the image corresponding to the patch image 61 increases, so that the configuration of the generator 50 is complicated. Can be transformed into. On the other hand, when the complexity of the learning image 60 is low and the size of the patch image 61 is reduced, useless processing increases. Therefore, in step S202, the learning device 1 according to the present embodiment is set so that the patch size of each patch image 61 is reduced when the complexity of the learning image 60 is high, and the complexity of the learning image 60 is increased. If is low, the patch size of each patch image 61 is set to be large. Thereby, the learning image 60 can be divided into each patch image 61 having a patch size suitable for generation. Therefore, according to the present embodiment, the trained generation capable of generating an appropriate image corresponding to the learning image 60 by the machine learning while reducing the calculation cost required to construct the generator 50 by the machine learning. The vessel 50 can be constructed.

また、本実施形態に係る学習装置1は、ステップS301~S305の処理により、互いに類似する2つ以上のパッチ画像61を同一のラベル62を付与するように統合する。これにより、学習するラベル62の種類数を低減することができ、これによって、生成器50の構成を更に単純化することができる。したがって、本実施形態によれば、ステップS104において機械学習により生成器50を構築するのにかかる計算コストを更に低減することができる。 Further, the learning device 1 according to the present embodiment integrates two or more patch images 61 similar to each other so as to give the same label 62 by the processing of steps S301 to S305. This makes it possible to reduce the number of types of labels 62 to be learned, which further simplifies the configuration of the generator 50. Therefore, according to the present embodiment, the calculation cost required to construct the generator 50 by machine learning in step S104 can be further reduced.

§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
§4 Modifications Although the embodiments of the present invention have been described in detail above, the above description is merely an example of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. For example, the following changes can be made. In the following, the same reference numerals will be used for the same components as those in the above embodiment, and the same points as in the above embodiment will be omitted as appropriate. The following modifications can be combined as appropriate.

<4.1>
上記実施形態では、生成器50及び推定器70にはいわゆる多層構造の全結合ニューラルネットワークが用いられている。しかしながら、生成器50及び推定器70それぞれを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、生成器50及び推定器70それぞれには畳み込みニューラルネットワークが利用されてよい。
<4.1>
In the above embodiment, a so-called multi-layered fully connected neural network is used for the generator 50 and the estimator 70. However, the structure and type of the neural network constituting each of the generator 50 and the estimator 70 are not limited to such an example, and may be appropriately selected depending on the embodiment. For example, a convolutional neural network may be used for each of the generator 50 and the estimator 70.

また、上記実施形態では、生成器50及び推定器70を構成する学習モデルとしてニューラルネットワークが用いられている。しかしながら、生成器50及び推定器70それぞれを構成する学習モデルは、画像の機械学習を実施可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。 Further, in the above embodiment, a neural network is used as a learning model constituting the generator 50 and the estimator 70. However, the type of the learning model constituting each of the generator 50 and the estimator 70 may not be particularly limited as long as machine learning of the image can be performed, and the learning model is appropriately selected according to the embodiment. good.

<4.2>
上記実施形態では、第1学習結果データ125は、生成器50の構成を示す情報を含んでいる。同様に、第2学習結果データ325は、推定器70の構成を示す情報を含んでいる。しかしながら、各学習結果データ(125、325)の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合、各学習結果データ(125、325)は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
<4.2>
In the above embodiment, the first learning result data 125 includes information indicating the configuration of the generator 50. Similarly, the second learning result data 325 contains information indicating the configuration of the estimator 70. However, the configuration of each learning result data (125, 325) does not have to be limited to such an example, and may be appropriately determined according to the embodiment. For example, when the configuration of the neural network to be used is common to each device, each learning result data (125, 325) does not have to include information indicating the configuration of the neural network.

<4.3>
上記実施形態に係る各情報処理(図11~図17)について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。例えば、上記実施形態に係る学習装置1は、ステップS201~S203の処理に代えて、設定値で指定されたパッチサイズで学習画像60を分割してもよい。また、例えば、上記実施形態に係る学習装置1は、ステップS301~S305の処理に代えて、各パッチ画像61に異なるラベル62を付与してもよい。
<4.3>
For each information processing (FIGS. 11 to 17) according to the above embodiment, steps can be omitted, replaced, and added as appropriate according to the embodiment. For example, the learning device 1 according to the above embodiment may divide the learning image 60 by the patch size specified by the set value instead of the processing of steps S201 to S203. Further, for example, the learning device 1 according to the above embodiment may assign a different label 62 to each patch image 61 instead of the processing of steps S301 to S305.

<4.4>
上記実施形態に係る学習ネットワーク500では、生成器50は、判別器52に接続されている。これにより、上記実施形態に係る学習装置1は、判別器52の第1訓練ステップと生成器50の第2訓練ステップとを交互に実施することで、各パッチ画像61に対応する画像を適切に生成する能力を習得した生成器50を構築している。しかしながら、学習ネットワーク500の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。また、このような学習ネットワーク500を構成するのではなく、生成器50は、単独で訓練されてもよい。
<4.4>
In the learning network 500 according to the above embodiment, the generator 50 is connected to the discriminator 52. As a result, the learning device 1 according to the above embodiment appropriately performs the image corresponding to each patch image 61 by alternately performing the first training step of the discriminator 52 and the second training step of the generator 50. We are constructing a generator 50 that has acquired the ability to generate. However, the configuration of the learning network 500 does not have to be limited to such an example, and may be appropriately set according to the embodiment. Also, instead of constructing such a learning network 500, the generator 50 may be trained independently.

図18は、本変形例に係る学習装置1Aのソフトウェア構成の一例を模式的に例示する。上記実施形態に係る学習ネットワーク500が学習ネットワーク500Aに置き換わる点を除き、本変形例に係る学習装置1Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る学習装置1と同じであってよい。 FIG. 18 schematically illustrates an example of the software configuration of the learning device 1A according to this modification. The hardware configuration and software configuration of the learning device 1A according to the present modification may be the same as the learning device 1 according to the embodiment, except that the learning network 500 according to the above embodiment is replaced with the learning network 500A.

本変形例に係る学習ネットワーク500Aは、生成器50A及びエンコーダ54を含んでいる。生成器50Aは、エンコーダ54に接続されている。具体的には、エンコーダ54の出力が生成器50Aの入力に接続されている。エンコーダ54は、与えられた画像(パッチ画像61及びラベル62)から特徴量(潜在変数)を導出するように構成される。これに対して、生成器50Aは、デコーダとしての役割を果たす。つまり、生成器50Aは、導出された特徴量から画像を復元するように構成される。このような生成器50A及びエンコーダ54は、上記実施形態と同様に、いわゆる多層構造の全結合ニューラルネットワークにより構成されてよい。 The learning network 500A according to this modification includes a generator 50A and an encoder 54. The generator 50A is connected to the encoder 54. Specifically, the output of the encoder 54 is connected to the input of the generator 50A. The encoder 54 is configured to derive a feature amount (latent variable) from a given image (patch image 61 and label 62). On the other hand, the generator 50A serves as a decoder. That is, the generator 50A is configured to restore an image from the derived features. Such a generator 50A and an encoder 54 may be configured by a so-called multi-layered fully connected neural network as in the above embodiment.

本変形例に係る学習装置1Aは、上記実施形態に係る学習装置1と同様に動作してもよい。すなわち、ステップS101では、学習装置1Aの制御部は、学習画像60を取得する。ステップS102では、制御部は、学習画像60を複数のパッチ画像61に分割する。ステップS103では、制御部は、各パッチ画像61にラベル62を付与する。ステップS101~S103は、上記実施形態と同様に処理されてよい。そして、ステップS104では、制御部は、学習処理部114Aとして動作し、機械学習を行うことで、各パッチ画像61をエンコーダ54に入力することでエンコーダ54から得られる出力値及び各パッチ画像61に関連付けられたラベル62から、各パッチ画像61に対応する画像を生成するように生成器50Aを訓練する。 The learning device 1A according to the present modification may operate in the same manner as the learning device 1 according to the above embodiment. That is, in step S101, the control unit of the learning device 1A acquires the learning image 60. In step S102, the control unit divides the learning image 60 into a plurality of patch images 61. In step S103, the control unit assigns a label 62 to each patch image 61. Steps S101 to S103 may be processed in the same manner as in the above embodiment. Then, in step S104, the control unit operates as the learning processing unit 114A, and by performing machine learning, the output value obtained from the encoder 54 and each patch image 61 are obtained by inputting each patch image 61 to the encoder 54. The generator 50A is trained to generate an image corresponding to each patch image 61 from the associated label 62.

具体的に、制御部は、互いに対応するパッチ画像61及びラベル62の組み合わせで構成されたデータセットを入力データ(訓練データ)として利用し、事前分布を教師データ(正解データ)として利用して、エンコーダ54の学習処理を実行する。また、制御部は、互いに対応するパッチ画像61及びラベル62の組み合わせで構成されたデータセットを入力データ(訓練データ)として利用し、対応するパッチ画像61を教師データ(正解データ)として利用して、エンコーダ54及び生成器50Aの学習処理を実行する。 Specifically, the control unit uses a data set composed of a combination of patch images 61 and labels 62 corresponding to each other as input data (training data), and uses prior distribution as teacher data (correct answer data). The learning process of the encoder 54 is executed. Further, the control unit uses a data set composed of a combination of the patch image 61 and the label 62 corresponding to each other as input data (training data), and uses the corresponding patch image 61 as teacher data (correct answer data). , The learning process of the encoder 54 and the generator 50A is executed.

例えば、制御部は、互いに対応するパッチ画像61及びラベル62の組み合わせで構成されたデータセットをエンコーダ54に入力し、エンコーダ54の演算処理を実行する。これにより、制御部は、何らかの特徴量を導出した結果に対応する出力値をエンコーダ54から取得する。制御部は、この出力値と事前分布との第1誤差を算出する。事前分布は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。事前分布は、例えば、ガウス分布等であってよい。制御部は、この第1誤差の和が小さくなるように、エンコーダ54のパラメータの値を調節する。 For example, the control unit inputs a data set composed of a combination of patch images 61 and labels 62 corresponding to each other to the encoder 54, and executes arithmetic processing of the encoder 54. As a result, the control unit acquires an output value corresponding to the result of deriving some feature amount from the encoder 54. The control unit calculates the first error between this output value and the prior distribution. The prior distribution does not have to be particularly limited and may be appropriately selected depending on the embodiment. The prior distribution may be, for example, a Gaussian distribution. The control unit adjusts the value of the parameter of the encoder 54 so that the sum of the first errors becomes small.

また、制御部は、エンコーダ54から得られた出力値及び対応するラベル62を生成器50Aに入力し、生成器50Aの演算処理を実行する。これにより、制御部は、各ラベル62から画像を生成した結果に対応する出力を生成器50Aから取得する。制御部は、生成された各画像と対応するパッチ画像61との第2誤差を算出する。制御部は、この第2誤差の和が小さくなるように、生成器50A及びエンコーダ54のパラメータの値を調節する。 Further, the control unit inputs the output value obtained from the encoder 54 and the corresponding label 62 to the generator 50A, and executes the arithmetic processing of the generator 50A. As a result, the control unit acquires the output corresponding to the result of generating the image from each label 62 from the generator 50A. The control unit calculates a second error between each generated image and the corresponding patch image 61. The control unit adjusts the parameter values of the generator 50A and the encoder 54 so that the sum of the second errors becomes small.

上記実施形態と同様に、各パラメータの値の調節には、誤差逆伝播法が用いられてよい。各誤差の和が閾値以下になるまで、制御部は、上記一連の処理による各パラメータの値の調節を繰り返す。これにより、制御部は、各パッチ画像61をエンコーダ54に入力することでエンコーダ54から得られる出力値及び対応するラベル62から、各パッチ画像61に対応する画像を生成するように訓練された生成器50Aを構築することができる。 Similar to the above embodiment, an error backpropagation method may be used for adjusting the value of each parameter. The control unit repeats the adjustment of the value of each parameter by the above series of processes until the sum of each error becomes equal to or less than the threshold value. As a result, the control unit is trained to generate an image corresponding to each patch image 61 from the output value obtained from the encoder 54 and the corresponding label 62 by inputting each patch image 61 to the encoder 54. A vessel 50A can be constructed.

ステップS105では、制御部は、ステップS104により構築された学習済みの生成器50Aの構成及びパラメータを示す情報を第1学習結果データ125Aとして生成する。第1学習結果データ125Aは、エンコーダ54の構成及びパラメータを示す情報を含んでもよいし、含んでいなくてもよい。そして、制御部は、生成した第1学習結果データ125Aを所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部内のRAM、記憶部、外部記憶装置(例えば、NAS等のデータサーバ)、記憶メディア又はこれらの組み合わせであってよい。これにより、本変形例に係る学習装置1Aは、各パッチ画像61に対応する画像を生成するための生成器50Aを構築することができる。なお、構築された生成器50Aは、上記実施形態に係る生成器50と同様に利用可能である。上記実施形態に係る画像生成装置2は、この生成器50Aを利用して、結合画像69を生成してもよい。 In step S105, the control unit generates information indicating the configuration and parameters of the trained generator 50A constructed by step S104 as the first learning result data 125A. The first learning result data 125A may or may not include information indicating the configuration and parameters of the encoder 54. Then, the control unit stores the generated first learning result data 125A in a predetermined storage area. The predetermined storage area may be, for example, a RAM in a control unit, a storage unit, an external storage device (for example, a data server such as NAS), a storage medium, or a combination thereof. As a result, the learning device 1A according to the present modification can construct a generator 50A for generating an image corresponding to each patch image 61. The constructed generator 50A can be used in the same manner as the generator 50 according to the above embodiment. The image generator 2 according to the above embodiment may use the generator 50A to generate a combined image 69.

<4.5>
上記実施形態では、画像に写る製品Rの外観検査を実施する場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の例に限られる訳ではない。本発明は、画像に写る対象物の何らかの特徴を推定するあらゆる場面に適用可能である。製品Rの写る画像から対象物の写る画像に検査システム100で取り扱う画像を変更することで、対象物の写る画像から何らかの特徴を推定する推定システムを構成することができる。
<4.5>
In the above embodiment, an example in which the present invention is applied to a scene where an appearance inspection of a product R shown in an image is performed is shown. However, the scope of application of the present invention is not limited to such an example of visual inspection. The present invention is applicable to all situations in which some feature of an object in an image is estimated. By changing the image handled by the inspection system 100 from the image of the product R to the image of the object, it is possible to configure an estimation system that estimates some features from the image of the object.

図19は、本変形例に係る推定システム100Bの適用場面の一例を模式的に例示する。図19に示されるとおり、本変形例に係る推定システム100Bは、ネットワークを介して接続される学習装置1B、画像生成装置2B、推定器生成装置3B、及び推定装置4Bを備えている。製品Rの写る画像から対象物の写る画像に取り扱う画像を変更する点を除き、各装置1B~4Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る各装置1~4のハードウェア構成及びソフトウェア構成と同じであってよい。また、各装置1B~4Bは、上記実施形態に係る各装置1~4と同様に動作してよい。 FIG. 19 schematically illustrates an example of an application scene of the estimation system 100B according to this modification. As shown in FIG. 19, the estimation system 100B according to the present modification includes a learning device 1B, an image generation device 2B, an estimator generation device 3B, and an estimation device 4B connected via a network. Except for changing the image handled from the image of the product R to the image of the object, the hardware configuration and software configuration of each of the devices 1B to 4B are the hardware configuration of each of the devices 1 to 4 and the hardware configuration of each of the devices 1 to 4 according to the above embodiment. It may be the same as the software configuration. Further, the devices 1B to 4B may operate in the same manner as the devices 1 to 4 according to the above embodiment.

すなわち、本変形例に係る学習装置1Bは、対象物RBを写した学習画像60Bを取得し、取得した学習画像60Bを複数のパッチ画像61Bに分割する。次に、学習装置1Bは、学習画像60B内における各パッチ画像61Bの位置に応じて、複数のラベル62Bのうちのいずれかのラベル62Bを各パッチ画像61Bに関連付ける。そして、学習装置1Bは、機械学習を行うことで、各パッチ画像61Bに関連付けられたラベル62Bから各パッチ画像61Bに対応する画像を生成するように訓練された生成器50Bを構築する。 That is, the learning device 1B according to the present modification acquires the learning image 60B in which the object RB is copied, and divides the acquired learning image 60B into a plurality of patch images 61B. Next, the learning device 1B associates the label 62B of any of the plurality of labels 62B with each patch image 61B according to the position of each patch image 61B in the learning image 60B. Then, the learning device 1B constructs a generator 50B trained to generate an image corresponding to each patch image 61B from the label 62B associated with each patch image 61B by performing machine learning.

これに対して、画像生成装置2Bは、学習装置1Bにより構築された学習済みの生成器50Bを利用して、複数のラベル62Bそれぞれから複数の画像67Bそれぞれを生成する。そして、画像生成装置2Bは、生成された複数の画像67Bそれぞれを、複数のラベル62Bそれぞれに応じた位置に配置した後に結合することで、結合画像69Bを生成する。生成される結合画像69Bは、対象物RBの写り得る画像であって、上記学習画像60Bに対応する画像である。 On the other hand, the image generation device 2B uses the trained generator 50B constructed by the learning device 1B to generate each of the plurality of images 67B from each of the plurality of labels 62B. Then, the image generation device 2B generates the combined image 69B by arranging each of the generated plurality of images 67B at positions corresponding to each of the plurality of labels 62B and then combining them. The generated combined image 69B is an image in which the object RB can be captured, and is an image corresponding to the learning image 60B.

また、推定器生成装置3Bは、対象物RBを写したサンプル画像3221B及び正解データ3222Bの組み合わせによりそれぞれ構成された複数の学習データセット322Bを取得する。正解データ3222Bは、サンプル画像3221Bに写る対象物RBの特徴を特定した結果(すなわち、正解)を示す。そして、推定器生成装置3Bは、複数の学習データセット322Bを利用した機械学習を実施することで、与えられた画像に写る対象物RBの特徴を推定する能力を習得した学習済みの推定器70Bを構築する。これに応じて、推定器生成装置3Bは、学習済みの推定器70Bの構成及びパラメータを示す情報を学習結果データ325Bとして生成する。なお、推定器生成装置3Bは、画像生成装置2Bにより生成された結合画像69Bをサンプル画像3221Bとして利用することができる。 Further, the estimator generator 3B acquires a plurality of learning data sets 322B each composed of a combination of a sample image 3221B showing the object RB and correct answer data 3222B. The correct answer data 3222B shows the result (that is, the correct answer) of identifying the characteristics of the object RB reflected in the sample image 3221B. Then, the estimator generator 3B has acquired the ability to estimate the characteristics of the object RB appearing in a given image by performing machine learning using a plurality of learning data sets 322B. To build. In response to this, the estimator generator 3B generates information indicating the configuration and parameters of the estimator 70B that has been learned as the learning result data 325B. The estimator generation device 3B can use the combined image 69B generated by the image generation device 2B as the sample image 3221B.

図20は、本変形例に係る推定装置4Bのソフトウェア構成の一例を模式的に例示する。本変形例に係る推定装置4Bは、対象物RBの写る対象画像422Bを取得する。本変形例では、推定装置4BにはカメラCAが接続されている。推定装置4Bは、このカメラCAにより対象物RBを撮影することで対象画像422Bを取得する。次に、推定装置4Bの制御部は、推定部412Bとして動作し、学習結果データ325Bを参照して、学習済みの推定器70Bの設定を行う。続いて、推定装置4Bは、取得した対象画像422Bを学習済みの推定器70Bに入力し、学習済みの推定器70Bの演算処理を実行する。これにより、推定装置4Bは、対象物RBの特徴を推定した結果に対応する出力値を学習済みの推定器70Bから取得する。そして、推定装置4Bは、学習済みの推定器70Bから得られた出力値に基づいて対象物RBの特徴を推定した結果に関する情報を出力する。これにより、本変形例に係る推定システム100Bは、対象物RBの写る画像から何らかの特徴を推定するように構成される。 FIG. 20 schematically illustrates an example of the software configuration of the estimation device 4B according to this modification. The estimation device 4B according to this modification acquires the target image 422B in which the target object RB is captured. In this modification, the camera CA is connected to the estimation device 4B. The estimation device 4B acquires the target image 422B by photographing the target object RB with this camera CA. Next, the control unit of the estimation device 4B operates as the estimation unit 412B, and sets the trained estimator 70B with reference to the learning result data 325B. Subsequently, the estimation device 4B inputs the acquired target image 422B to the trained estimator 70B, and executes arithmetic processing of the trained estimator 70B. As a result, the estimation device 4B acquires an output value corresponding to the result of estimating the characteristics of the object RB from the trained estimator 70B. Then, the estimation device 4B outputs information regarding the result of estimating the characteristics of the object RB based on the output value obtained from the learned estimator 70B. As a result, the estimation system 100B according to the present modification is configured to estimate some features from the image of the object RB.

なお、対象物RBは、何らかの属性を識別する対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象物RBは、例えば、上記外観検査の対象となる製品、人物、人物の身体部位(例えば、顔等)、文字、車両における車外の状況等であってよい。推定する対象となる特徴は、特に限定されなくてもよく、対象物RBに応じて適宜選択されてよい。対象物RBが人物の顔である場合、推定する対象となる特徴は、例えば、表情の種別、顔のパーツの状態、その顔の人物の属性等であってよい。対象物RBが文字である場合、推定する対象となる特徴は、印字の鮮明度、歪み、文字列のずれ等の属性であってよい。対象物RBが車外の状況である場合、推定する対象となる特徴は、例えば、車線の状態、渋滞具合等の道路状況の属性であってよい。 The type of the object RB may not be particularly limited as long as it can be a target for identifying some attribute, and may be appropriately selected according to the embodiment. The object RB may be, for example, a product, a person, a person's body part (for example, a face, etc.), a character, a situation outside the vehicle in a vehicle, or the like, which is the subject of the visual inspection. The feature to be estimated does not have to be particularly limited, and may be appropriately selected according to the object RB. When the object RB is the face of a person, the features to be estimated may be, for example, the type of facial expression, the state of facial parts, the attributes of the person on the face, and the like. When the object RB is a character, the feature to be estimated may be attributes such as print sharpness, distortion, and character string deviation. When the object RB is a situation outside the vehicle, the feature to be estimated may be an attribute of the road condition such as a lane condition and a traffic condition.

100…検査システム、
1…学習装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…画像取得部、112…画像分割部、
113…ラベル付与部、114…(第1)学習処理部、
115…(第1)保存処理部、
121…学習プログラム、125…第1学習結果データ、
2…画像生成装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…生成部、212…結合部、213…画像保存部、
221…画像生成プログラム、
50…生成器、52…判別器、
60…学習画像、61…パッチ画像、
62…ラベル、621…ラベル情報、
67…(パッチ)画像、69…結合画像、
3…推定器生成装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
311…学習データ取得部、312…(第2)学習処理部、
313…(第2)保存処理部、
321…推定器生成プログラム、
322…学習データセット、
3221…サンプル画像、3222…正解データ、
325…第2学習結果データ、
4…検査装置(推定装置)、
41…制御部、42…記憶部、43…通信インタフェース、
44…入力装置、45…出力装置、46…ドライブ、
47…外部インタフェース、
411…対象データ取得部、412…良否判定部、
413…出力部、
421…検査プログラム、
70…推定器、
91・92・93・94…記憶媒体
100 ... Inspection system,
1 ... Learning device,
11 ... control unit, 12 ... storage unit, 13 ... communication interface,
14 ... input device, 15 ... output device, 16 ... drive,
111 ... image acquisition unit, 112 ... image segmentation unit,
113 ... Labeling unit, 114 ... (1st) Learning processing unit,
115 ... (1st) Preservation processing unit,
121 ... learning program, 125 ... first learning result data,
2 ... Image generator,
21 ... Control unit, 22 ... Storage unit, 23 ... Communication interface,
24 ... Input device, 25 ... Output device, 26 ... Drive,
211 ... Generation unit, 212 ... Coupling unit, 213 ... Image storage unit,
221 ... Image generation program,
50 ... generator, 52 ... discriminator,
60 ... learning image, 61 ... patch image,
62 ... Label, 621 ... Label information,
67 ... (patch) image, 69 ... combined image,
3 ... Estimator generator,
31 ... control unit, 32 ... storage unit, 33 ... communication interface,
34 ... Input device, 35 ... Output device, 36 ... Drive,
311 ... Learning data acquisition unit 312 ... (2nd) Learning processing unit,
313 ... (2nd) Preservation processing unit,
321 ... Estimator generation program,
322 ... Learning dataset,
3221 ... sample image, 3222 ... correct answer data,
325 ... Second learning result data,
4 ... Inspection device (estimation device),
41 ... Control unit, 42 ... Storage unit, 43 ... Communication interface,
44 ... Input device, 45 ... Output device, 46 ... Drive,
47 ... External interface,
411 ... Target data acquisition unit, 412 ... Good / bad judgment unit,
413 ... Output section,
421 ... Inspection program,
70 ... Estimator,
91/92/93/94 ... Storage medium

Claims (7)

外観検査の対象となる製品を写した学習画像を取得する画像取得部と、
前記学習画像を複数のパッチ画像に分割する画像分割部と、
前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるラベル付与部と、
判別器を用いた機械学習であって、前記判別器に入力される前記学習画像から分割された前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルを入力とする機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築する学習処理部と、
前記機械学習により構築された前記生成器を利用して、前記複数のラベルそれぞれから複数の画像それぞれを生成する生成部と、
生成された前記複数の画像それぞれを、前記複数のラベルそれぞれに応じた位置に配置した後に結合することで、結合画像を生成する結合部と、
を備え、
前記生成器は、前記判別器に接続され、
前記機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記学習画像から分割された前記各パッチ画像であるかを判別するよう前記判別器を訓練する第1訓練ステップと、前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルから、前記判別器による前記判別が誤るような前記画像を生成するよう前記生成器を訓練する第2訓練ステップと、を交互に行うことを含む、
検査システム
An image acquisition unit that acquires learning images of products subject to visual inspection,
An image segmentation unit that divides the learning image into a plurality of patch images,
A labeling unit that associates one of a plurality of labels with each patch image according to the position of each patch image in the training image.
Machine learning using a discriminator, in which the information of the pixels of each patch image divided from the learning image input to the discriminator and the label associated with each patch image are input. To build a generator trained to generate an image corresponding to each patch image from the label associated with each patch image.
A generator that generates a plurality of images from each of the plurality of labels by using the generator constructed by the machine learning.
A joining portion that generates a combined image by arranging each of the generated plurality of images at a position corresponding to each of the plurality of labels and then combining them.
Equipped with
The generator is connected to the discriminator and
The machine learning is such that it is determined whether the input image input to the discriminator is the image generated by the generator or each patch image divided from the training image. From the first training step for training the discriminator, the pixel information of each patch image, and the label associated with each patch image, the generation so as to generate the image such that the discrimination by the discriminator is erroneous. The second training step of training the vessel, including alternating.
Inspection system .
前記画像分割部は、
前記学習画像の複雑度を算出し、
算出した複雑度に応じて、パッチサイズを決定し、
決定した前記パッチサイズをそれぞれ有する前記複数のパッチ画像に前記学習画像を分割する、
請求項1に記載の検査システム
The image segmentation section
The complexity of the learning image is calculated and
Determine the patch size according to the calculated complexity,
The training image is divided into the plurality of patch images each having the determined patch size.
The inspection system according to claim 1.
前記ラベル付与部は、
前記各パッチ画像の複雑度を算出し、
算出した複雑度に基づいて、前記複数のパッチ画像のうちの互いに類似する2つ以上のパッチ画像を統合し、
統合した前記2つ以上のパッチ画像に同一のラベルを付与する、
請求項1又は2に記載の検査システム
The labeling section is
Calculate the complexity of each patch image and
Based on the calculated complexity, two or more patch images similar to each other among the plurality of patch images are integrated.
Give the same label to the two or more integrated patch images.
The inspection system according to claim 1 or 2.
構築された前記生成器に関する情報を所定の記憶領域に保存する保存処理部を更に備える、
請求項1から3のいずれか1項に記載の検査システム
Further provided with a storage processing unit that stores information about the constructed generator in a predetermined storage area.
The inspection system according to any one of claims 1 to 3.
コンピュータが、
外観検査の対象となる製品を写した学習画像を取得するステップと、
前記学習画像を複数のパッチ画像に分割するステップと、
前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるステップと、
判別器を用いた機械学習であって、前記判別器に入力される前記学習画像から分割された前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルを入力とする機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築するステップと、
前記機械学習により構築された前記生成器を利用して、前記複数のラベルそれぞれから複数の画像それぞれを生成する生成ステップと、
生成された前記複数の画像それぞれを、前記複数のラベルそれぞれに応じた位置に配置した後に結合することで、結合画像を生成する結合ステップと、
を実行
前記生成器は、前記判別器に接続され、
前記機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記学習画像から分割された前記各パッチ画像であるかを判別するよう前記判別器を訓練する第1訓練ステップと、前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルから、前記判別器による前記判別が誤るような前記画像を生成するよう前記生成器を訓練する第2訓練ステップと、を交互に行うことを含む、
検査方法。
The computer
Steps to acquire a learning image of the product subject to visual inspection,
The step of dividing the training image into a plurality of patch images,
A step of associating one of a plurality of labels with each patch image according to the position of each patch image in the training image.
Machine learning using a discriminator, in which the information of the pixels of each patch image divided from the learning image input to the discriminator and the label associated with each patch image are input. To build a generator trained to generate an image corresponding to each patch image from the label associated with each patch image.
Using the generator constructed by the machine learning, a generation step of generating each of a plurality of images from each of the plurality of labels, and a generation step.
A combination step of generating a combined image by arranging each of the generated plurality of images at a position corresponding to each of the plurality of labels and then combining them.
And run
The generator is connected to the discriminator and
The machine learning is such that it is determined whether the input image input to the discriminator is the image generated by the generator or each patch image divided from the training image. From the first training step for training the discriminator, the pixel information of each patch image, and the label associated with each patch image, the generation so as to generate the image such that the discrimination by the discriminator is erroneous. The second training step of training the vessel, including alternating.
Inspection method.
コンピュータに、
外観検査の対象となる製品を写した学習画像を取得するステップと、
前記学習画像を複数のパッチ画像に分割するステップと、
前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるステップと、
判別器を用いた機械学習であって、前記判別器に入力される前記学習画像から分割された前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルを入力とする機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築するステップと、
前記機械学習により構築された前記生成器を利用して、前記複数のラベルそれぞれから複数の画像それぞれを生成する生成ステップと、
生成された前記複数の画像それぞれを、前記複数のラベルそれぞれに応じた位置に配置した後に結合することで、結合画像を生成する結合ステップと、
を実行させ、
前記生成器は、前記判別器に接続され、
前記機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記学習画像から分割された前記各パッチ画像であるかを判別するよう前記判別器を訓練する第1訓練ステップと、前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルから、前記判別器による前記判別が誤るような前記画像を生成するよう前記生成器を訓練する第2訓練ステップと、を交互に行うことを含む、
検査プログラム。
On the computer
Steps to acquire a learning image of the product subject to visual inspection,
The step of dividing the training image into a plurality of patch images,
A step of associating one of a plurality of labels with each patch image according to the position of each patch image in the training image.
Machine learning using a discriminator, in which the information of the pixels of each patch image divided from the learning image input to the discriminator and the label associated with each patch image are input. To build a generator trained to generate an image corresponding to each patch image from the label associated with each patch image.
Using the generator constructed by the machine learning, a generation step of generating each of a plurality of images from each of the plurality of labels, and a generation step.
A combination step of generating a combined image by arranging each of the generated plurality of images at a position corresponding to each of the plurality of labels and then combining them.
To execute ,
The generator is connected to the discriminator and
The machine learning is such that it is determined whether the input image input to the discriminator is the image generated by the generator or each patch image divided from the training image. From the first training step for training the discriminator, the pixel information of each patch image, and the label associated with each patch image, the generation so as to generate the image such that the discrimination by the discriminator is erroneous. The second training step of training the vessel, including alternating.
Inspection program.
対象物を写した学習画像を取得する画像取得部と、
前記学習画像を複数のパッチ画像に分割する画像分割部と、
前記学習画像内における前記各パッチ画像の位置に応じて、複数のラベルのうちのいずれかのラベルを前記各パッチ画像に関連付けるラベル付与部と、
判別器を用いた機械学習であって、前記判別器に入力される前記学習画像から分割された前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルを入力とする機械学習を行うことで、前記各パッチ画像に関連付けられた前記ラベルから前記各パッチ画像に対応する画像を生成するように訓練された生成器を構築する学習処理部と、
前記機械学習により構築された前記生成器を利用して、前記複数のラベルそれぞれから複数の画像それぞれを生成する生成部と、
生成された前記複数の画像それぞれを、前記複数のラベルそれぞれに応じた位置に配置した後に結合することで、結合画像を生成する結合部と、
を備え、
前記生成器は、前記判別器に接続され、
前記機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記学習画像から分割された前記各パッチ画像であるかを判別するよう前記判別器を訓練する第1訓練ステップと、前記各パッチ画像の画素の情報および前記各パッチ画像に関連付けられた前記ラベルから、前記判別器による前記判別が誤るような前記画像を生成するよう前記生成器を訓練する第2訓練ステップと、を交互に行うことを含む、
検査システム
An image acquisition unit that acquires a learning image of an object,
An image segmentation unit that divides the learning image into a plurality of patch images,
A labeling unit that associates one of a plurality of labels with each patch image according to the position of each patch image in the training image.
Machine learning using a discriminator, in which the information of the pixels of each patch image divided from the learning image input to the discriminator and the label associated with each patch image are input. To build a generator trained to generate an image corresponding to each patch image from the label associated with each patch image.
A generator that generates a plurality of images from each of the plurality of labels by using the generator constructed by the machine learning.
A joining portion that generates a combined image by arranging each of the generated plurality of images at a position corresponding to each of the plurality of labels and then combining them.
Equipped with
The generator is connected to the discriminator and
The machine learning is such that it is determined whether the input image input to the discriminator is the image generated by the generator or each patch image divided from the training image. From the first training step for training the discriminator, the pixel information of each patch image, and the label associated with each patch image, the generation so as to generate the image such that the discrimination by the discriminator is erroneous. The second training step of training the vessel, including alternating.
Inspection system .
JP2018194507A 2018-10-15 2018-10-15 Learning device, image generator, learning method, and learning program Active JP7059889B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018194507A JP7059889B2 (en) 2018-10-15 2018-10-15 Learning device, image generator, learning method, and learning program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018194507A JP7059889B2 (en) 2018-10-15 2018-10-15 Learning device, image generator, learning method, and learning program

Publications (2)

Publication Number Publication Date
JP2020064364A JP2020064364A (en) 2020-04-23
JP7059889B2 true JP7059889B2 (en) 2022-04-26

Family

ID=70388279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018194507A Active JP7059889B2 (en) 2018-10-15 2018-10-15 Learning device, image generator, learning method, and learning program

Country Status (1)

Country Link
JP (1) JP7059889B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160997A (en) * 2019-03-27 2020-10-01 アイシン精機株式会社 Image processing device, image processing method, and program
JP7505256B2 (en) 2020-05-15 2024-06-25 オムロン株式会社 Image inspection device, image inspection method, and trained model generation device
CN115861739B (en) * 2023-02-08 2023-07-14 海纳云物联科技有限公司 Training method, device, equipment, storage medium and product of image segmentation model

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140524A1 (en) 2015-11-17 2017-05-18 Kla-Tencor Corporation Single image detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140524A1 (en) 2015-11-17 2017-05-18 Kla-Tencor Corporation Single image detection

Also Published As

Publication number Publication date
JP2020064364A (en) 2020-04-23

Similar Documents

Publication Publication Date Title
JP7059883B2 (en) Learning device, image generator, learning method, and learning program
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
Liu et al. A night pavement crack detection method based on image‐to‐image translation
CN111222395A (en) Target detection method and device and electronic equipment
CN108648194B (en) Three-dimensional target identification segmentation and pose measurement method and device based on CAD model
JP6844563B2 (en) Inspection equipment, image identification equipment, identification equipment, inspection method, and inspection program
JP7059889B2 (en) Learning device, image generator, learning method, and learning program
CN107273870A (en) The pedestrian position detection method of integrating context information under a kind of monitoring scene
CN111758117B (en) Inspection system, recognition system, and learning data generation device
CN110648310A (en) Weak supervision casting defect identification method based on attention mechanism
CN114862832A (en) Method, device and equipment for optimizing defect detection model and storage medium
US20220405586A1 (en) Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program
JP7056259B2 (en) Inspection system, identification system, and classifier evaluation device
CN115830004A (en) Surface defect detection method, device, computer equipment and storage medium
CN111597933A (en) Face recognition method and device
Midwinter et al. Unsupervised defect segmentation with pose priors
Hu et al. Hybrid Pixel‐Level Crack Segmentation for Ballastless Track Slab Using Digital Twin Model and Weakly Supervised Style Transfer
CN116563748A (en) Height measuring method and system for high-rise construction building
CN116977195A (en) Method, device, equipment and storage medium for adjusting restoration model
JP7070308B2 (en) Estimator generator, inspection device, estimator generator method, and estimator generator
JP7321452B2 (en) Program, information processing device, information processing method, and method for generating learned model
CN111950527A (en) Target detection method and device based on YOLO V2 neural network
CN113837173A (en) Target object detection method and device, computer equipment and storage medium
KR102538012B1 (en) Method and apparatus for updating 3D model of object in virtual space
CN117830646B (en) Method for rapidly extracting building top elevation based on stereoscopic image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

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: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7059889

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150