JP7059883B2 - Learning device, image generator, learning method, and learning program - Google Patents
Learning device, image generator, learning method, and learning program Download PDFInfo
- Publication number
- JP7059883B2 JP7059883B2 JP2018190514A JP2018190514A JP7059883B2 JP 7059883 B2 JP7059883 B2 JP 7059883B2 JP 2018190514 A JP2018190514 A JP 2018190514A JP 2018190514 A JP2018190514 A JP 2018190514A JP 7059883 B2 JP7059883 B2 JP 7059883B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- learning
- generator
- input
- 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
Links
Images
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
本件発明者らは、特許文献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 a classifier composed of a learning model such as a neural network as in
そこで、本件発明者らは、生成器(生成モデル)を利用して、用意した画像から異なる複数の画像を量産し、量産した複数の画像を機械学習の訓練データとして利用することを検討した。例えば、非特許文献1には、機械学習により、用意した学習画像及びクラスから生成器(生成モデル)を構築する方法が提案されている。この生成器は、機械学習により、指定されたクラスの学習画像に対応する画像を生成するように訓練される。したがって、製品を写した画像を学習画像として利用し、製品に含まれる欠陥をクラスにより指定すれば、生成器は、指定された欠陥を含む製品の写り得る画像を生成するように訓練される。この訓練された生成器を利用すれば、指定したクラスの欠陥を含む製品の写る画像を自動的に生成することができるようになる。つまり、製品に含まれる欠陥を識別する能力を学習モデルに習得させるための機械学習に利用可能なサンプル画像を自動的に生成することができるようになる。そのため、サンプル画像を用意するコストを低減することができる。そして、自動的に生成したサンプル画像を機械学習に利用することにより、機械学習に利用するサンプル画像の件数を増やすことができ、これによって、製品の良否を判定する能力の高い学習済みの学習モデルを構築することができるようになる。
Therefore, the inventors of the present invention considered using a generator (generation model) to mass-produce a plurality of images different from the prepared images, and to use the mass-produced images as training data for machine learning. For example, Non-Patent
しかしながら、本件発明者らは、この生成器を利用する場面において、次のような問題点が生じ得ることを見出した。すなわち、製品に含まれる欠陥を識別すると共に、その欠陥の範囲を検出するように学習モデルを訓練する場合、欠陥の種別を示すラベルの他に、サンプル画像内における欠陥の範囲を示す境界情報(例えば、バウンディングボックスのグラウンドトゥルース)が教師データとして用意される。従来、この欠陥の範囲は、サンプル画像内において手動で指定され、指定された範囲を示す情報が境界情報としてサンプル画像に付与されていた。そのため、サンプル画像内で欠陥の範囲を指定する工程及び境界情報に付与する工程の分だけ機械学習に利用する学習データを用意する作業に手間がかかっていた。加えて、欠陥を識別し、その欠陥の範囲を特定するための知識を有さない作業者には、境界情報をサンプル画像に付与するのは困難であった。そのため、その知識を作業者に十分に習得させるのにも手間がかかっていた。したがって、欠陥の範囲を検出する能力を学習モデルに習得させるための機械学習に利用する学習データを用意するのにはコストがかかってしまうという問題点が生じ得る。 However, the present inventors have found that the following problems may occur in the situation of using this generator. That is, when training a learning model to identify defects contained in a product and detect the extent of the defect, in addition to the label indicating the type of defect, boundary information indicating the extent of the defect in the sample image (that is, For example, the ground truth of the bounding box) is prepared as teacher data. Conventionally, the range of this defect is manually specified in the sample image, and information indicating the specified range is added to the sample image as boundary information. Therefore, it takes time and effort to prepare learning data to be used for machine learning for the process of designating the range of defects in the sample image and the process of adding to the boundary information. In addition, it has been difficult for workers who do not have the knowledge to identify defects and identify the extent of the defects to add boundary information to the sample image. Therefore, it took time and effort to make the worker fully acquire the knowledge. Therefore, there may be a problem that it is costly to prepare learning data to be used for machine learning to make a learning model acquire the ability to detect a range of defects.
なお、このような問題点は、製品の良否を判定する能力と共に欠陥の範囲を検出する能力を学習モデルに習得させる場面だけではなく、何らかの対象物の範囲を検出する能力を学習モデルに習得させるあらゆる場面で生じ得る。例えば、対象者の顔を写した顔画像に対して目等の器官の写る範囲を検出する能力を学習モデルに習得させるための機械学習を行う場面を想定する。この場面において、サンプル画像内で目の写る範囲を手動により指定し、指定した範囲を示す情報を境界情報として手動でサンプル画像に付与していたのでは、機械学習に利用する学習データを用意するのに大きなコストがかかってしまう。 In addition, such a problem is not only a situation where the learning model learns the ability to detect the range of defects as well as the ability to judge the quality of the product, but also the learning model learns the ability to detect the range of some object. It can happen in any situation. For example, assume a scene in which machine learning is performed to make a learning model acquire the ability to detect the range of an organ such as an eye in a face image of a subject's face. In this scene, if the range in which the eyes are visible in the sample image is manually specified and the information indicating the specified range is manually added to the sample image as boundary information, learning data to be used for machine learning is prepared. However, it costs a lot.
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、対象物の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減する技術を提供することである。 The present invention, on the one hand, has been made in view of such circumstances, and an object thereof is to prepare learning data used for machine learning to acquire the ability to detect a range of an object. It is to provide a technique for reducing such a cost.
本発明は、上述した課題を解決するために、以下の構成を採用する。 The present invention adopts the following configuration in order to solve the above-mentioned problems.
すなわち、本発明の一側面に係る学習装置は、外観検査の対象となる製品を写した学習画像、前記製品に含まれる欠陥の種別を示すラベル、及び前記欠陥の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するデータ取得部と、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築する第1学習処理部と、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築する第2学習処理部と、を備える。 That is, the learning device according to one aspect of the present invention is based on a combination of a learning image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and boundary information indicating the range of the defect. By performing the first machine learning and the data acquisition unit that acquires a plurality of learning data sets configured respectively, the input of the label is input to the input of the label included in each of the learning data sets. A first learning processing unit that constructs a generator trained to generate an image corresponding to the training image associated with the above, and a second machine learning are included in the training data set of each of the above cases. The type of defect contained in the product and reflected in the input learning image so as to match the label and the boundary information associated with the input learning image in response to the input of the learning image. It comprises a second learning processing unit that builds an estimator trained to estimate the range.
当該構成に係る学習装置によれば、指定されたラベルに関連付けられた学習画像に対応する画像を生成するように訓練された生成器を構築すると共に、学習画像に写る欠陥の種別及び範囲を推定するように訓練された推定器を構築することができる。これらのうち、生成器を利用することで、指定した欠陥を含む製品の写り得るサンプル画像を自動的に生成することができる。加えて、推定器を利用することで、生成されたサンプル画像に含まれる欠陥の範囲を推定し、推定した欠陥の範囲を示す情報を境界情報としてサンプル画像に自動的に付与することができる。したがって、当該構成によれば、学習データを用意する際に、サンプル画像内において欠陥の範囲を手動で指定する手間を省略することができる。そのため、対象物の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。 According to the learning device according to the configuration, a generator trained to generate an image corresponding to the training image associated with the specified label is constructed, and the type and range of defects appearing in the training image are estimated. You can build an estimator trained to do so. Of these, by using a generator, it is possible to automatically generate a sample image of a product containing a specified defect. In addition, by using an estimator, it is possible to estimate the range of defects contained in the generated sample image and automatically add information indicating the estimated range of defects to the sample image as boundary information. Therefore, according to the configuration, when preparing the training data, it is possible to omit the trouble of manually specifying the range of defects in the sample image. Therefore, it is possible to reduce the cost of preparing the learning data used for machine learning to acquire the ability to detect the range of the object.
なお、推定器及び生成器はそれぞれ、機械学習を実施可能な学習モデルにより構成される。学習モデルには、例えば、ニューラルネットワーク等が用いられてよい。第1の機械学習及び第2の機械学習を実行する順序は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第1の機械学習及び第2の機械学習は、同時に実行されてもよいし、別々に実行されてもよい。第1及び第2の機械学習を別々に実行する場合、第1の機械学習は、第2の機械学習よりも先に実行されてもよいし、第2の機械学習よりも後に実行されてもよい。 The estimator and the generator are each composed of a learning model capable of performing machine learning. For the learning model, for example, a neural network or the like may be used. The order in which the first machine learning and the second machine learning are executed may not be particularly limited and may be appropriately selected depending on the embodiment. The first machine learning and the second machine learning may be executed simultaneously or separately. When the first and second machine learning are executed separately, the first machine learning may be executed before the second machine learning or may be executed after the second machine learning. good.
また、製品は、外観検査の対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品は、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される物であってよい。電子機器は、例えば、携帯電話等である。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。また、欠陥は、製品の良否に関係し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等である。 Further, the type of the product is not particularly limited as long as it can be subject to visual inspection, and may be appropriately selected according to the embodiment. The product may be, for example, a product transported on a production line for electronic devices, electronic parts, automobile parts, chemicals, foods, and the like. The electronic device is, for example, a mobile phone or the like. 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. The chemical may be, for example, a packaged tablet, an unpackaged tablet, or the like. Further, the type of the defect may be not particularly limited as long as it may be related to the quality of the product, and may be appropriately selected according to the embodiment. Defects include, for example, scratches, stains, cracks, dents, burrs, color unevenness, foreign matter contamination, and the like.
上記一側面に係る学習装置において、前記生成器の入力は、エンコーダの出力に接続されてよく、前記生成器の出力は、前記推定器の入力及び判別器の入力に接続されてもよい。そして、前記第1の機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように前記判別器を訓練する第1訓練ステップと、前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、前記生成器により生成される前記画像が、前記推定器により前記画像に写る製品に含まれる欠陥の種別を推定した結果が前記ラベルと一致するようなものとなるように、前記生成器を訓練する第3訓練ステップと、前記ラベル及び潜在変数を前記生成器に入力することで前記生成器により生成された前記画像が、前記学習画像を復元したものとなるように、前記エンコーダ及び前記生成器を訓練する第4訓練ステップであって、前記潜在変数は、前記ラベル及び前記学習画像を前記エンコーダに入力することで前記エンコーダから得られる出力に基づいて導出される、第4訓練ステップと、前記エンコーダから得られる出力に基づいて導出される前記潜在変数の分布が所定の事前分布に従うように前記エンコーダを訓練する第5訓練ステップと、を含んでもよい。当該構成によれば、学習済みの生成器及び推定器を適切に構築することができ、これにより、対象物の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。なお、第1~第5訓練ステップを実行する順序は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。 In the learning apparatus according to the above aspect, the input of the generator may be connected to the output of the encoder, and the output of the generator may be connected to the input of the estimator and the input of the discriminator. Then, performing the first machine learning means that the input image input to the discriminator is the image generated by the generator or the training image obtained from the plurality of training data sets. The generator is provided so that the first training step of training the discriminator to discriminate is present and the image generated by the generator is such that the discriminator misleads the discriminator. The second training step to be trained and the image generated by the generator so that the result of estimating the type of defect contained in the product shown in the image by the estimator matches the label. In addition, the third training step for training the generator and the image generated by the generator by inputting the label and the latent variable into the generator are restored to the training image. In the fourth training step of training the encoder and the generator, the latent variables are derived based on the output obtained from the encoder by inputting the label and the training image into the encoder. It may include a fourth training step and a fifth training step in which the encoder is trained so that the distribution of the latent variables derived from the output obtained from the encoder follows a predetermined prior distribution. According to this configuration, a trained generator and estimator can be appropriately constructed, thereby preparing learning data to be used for machine learning to acquire the ability to detect a range of an object. It is possible to reduce the cost required for. The order in which the first to fifth training steps are executed may not be particularly limited, and may be appropriately selected depending on the embodiment.
上記一側面に係る学習装置において、前記生成器の出力は、判別器の入力に接続されてよい。そして、前記第1の機械学習を行うことは、前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように、前記判別器を訓練する第1訓練ステップと、前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、を交互に行うことを含んでもよい。当該構成によれば、学習済みの生成器を適切に構築することができ、これにより、対象物の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。 In the learning apparatus according to the above aspect, the output of the generator may be connected to the input of the discriminator. Then, performing the first machine learning means that the input image input to the discriminator is the image generated by the generator or the learning image obtained from the plurality of training data sets. The generator so that the first training step of training the discriminator and the image generated by the generator are such that the discriminator misleads the discriminator. It may include alternating with the second training step of training. According to this configuration, a trained generator can be properly constructed, and thus the cost of preparing training data to be used for machine learning to acquire the ability to detect a range of an object. Can be reduced.
上記一側面に係る学習装置において、前記欠陥の範囲は、バウンディングボックスにより表されてよい。当該構成によれば、対象物の範囲としてバウンディングボックスを検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。 In the learning device according to the above aspect, the range of the defect may be represented by a bounding box. According to this configuration, it is possible to reduce the cost of preparing learning data used for machine learning to acquire the ability to detect a bounding box as a range of an object.
また、本発明の一側面に係る画像生成装置は、上記いずれかの形態に係る学習装置により構築された前記生成器に、前記欠陥の種別を示す入力値を与えることで、前記欠陥を含む前記製品を写した生成画像を生成する生成部と、前記学習装置により構築された前記推定器に生成された前記生成画像を与えることで、前記生成画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定する推定部と、前記生成画像に写る前記製品に含まれる前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致するか否かを判定する判定部と、前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致すると前記判定部が判定した場合に、生成した前記生成画像と前記欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する画像保存部と、を備える。当該構成によれば、対象物の範囲を手動で指定する手間を省略した上で、対象物の範囲を検出する能力を習得させるための機械学習に利用可能な学習データを生成することができる。 Further, the image generator according to one aspect of the present invention includes the defect by giving an input value indicating the type of the defect to the generator constructed by the learning device according to any one of the above embodiments. By giving the generated image generated to the estimator constructed by the learning device and the generation unit that generates the generated image showing the product, the type of the defect contained in the product reflected in the generated image and the type of the defect and the defect. An estimation unit for estimating the range, a determination unit for determining whether or not the result of estimating the type of the defect included in the product shown in the generated image matches the type of the defect indicated by the input value, and a determination unit. When the determination unit determines that the result of estimating the type of the defect matches the type of the defect indicated by the input value, the generated image is associated with the result of estimating the range of the defect. It is provided with an image storage unit for storing in the storage area of. According to this configuration, it is possible to generate learning data that can be used for machine learning to acquire the ability to detect the range of an object without having to manually specify the range of the object.
また、上記各形態に係る学習装置及び画像生成装置は、製品の良否を判定する能力と共に欠陥の範囲を検出する能力を学習モデルに習得させる場面だけではなく、何らかの対象物の範囲を検出する能力を学習モデルに習得させるあらゆる場面に適用されてよい。例えば、上記各形態に係る学習装置及び画像生成装置は、対象者の顔を写した顔画像に対して目等の器官の写る範囲を検出する能力を学習モデルに習得させる場面に適用されてもよい。 Further, the learning device and the image generation device according to each of the above forms are not only capable of learning the learning model the ability to detect the range of defects as well as the ability to judge the quality of the product, but also the ability to detect the range of some object. May be applied to any situation that makes the learning model learn. For example, even if the learning device and the image generation device according to each of the above forms are applied to a scene in which the learning model learns the ability to detect the range of an organ such as an eye in a face image of a subject's face. good.
例えば、本発明の一側面に係る学習装置は、対象物を写した学習画像、前記対象物の種別を示すラベル、及び前記学習画像内における前記対象物の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するデータ取得部と、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築する第1学習処理部と、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記対象物の種別及び範囲を推定するように訓練された推定器を構築する第2学習処理部と、を備える。 For example, the learning device according to one aspect of the present invention is configured by a combination of a learning image showing an object, a label indicating the type of the object, and boundary information indicating the range of the object in the learning image. By performing the first machine learning with the data acquisition unit that acquires a plurality of learned data sets, the input of the label included in each of the learning data sets is associated with the input label. The first learning processing unit for constructing a generator trained to generate an image corresponding to the learned image and the second machine learning are included in each of the learning data sets. To estimate the type and range of the object appearing in the input learning image so as to match the label and the boundary information associated with the input learning image with respect to the input of the learning image. It includes a second learning processing unit that builds a trained estimator.
なお、「対象物」は、画像から検出する対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象物は、例えば、上記外観検査の対象となる製品、製品に含まれる欠陥、人物、人物の身体部位(例えば、顔等)、人物の器官等であってよい。また、道路交通の監視画像に本発明を利用する場合、対象物は、例えば、車、歩行者、標識等であってもよい。 The type of the "object" is not particularly limited as long as it can be an object to be detected from the image, and may be appropriately selected according to the embodiment. The object may be, for example, a product to be visually inspected, a defect contained in the product, a person, a body part of the person (for example, a face, etc.), an organ of the person, or the like. Further, when the present invention is used for a monitoring image of road traffic, the object may be, for example, a car, a pedestrian, a sign, or the like.
本発明の一側面に係る画像生成システムは、上記いずれかの形態に係る学習装置及び画像生成装置により構成されてもよい。また、本発明の一側面に係る推定システムは、上記いずれかの形態に係る学習装置、上記画像生成装置、生成された画像を利用して、画像に写る対象物の範囲を推定する推定器を構築する推定器生成装置、及び構築された推定器を利用して、画像に写る対象物の範囲を推定する推定装置により構成されてよい。更に、上記各形態に係る学習装置、画像生成装置、画像生成システム、及び推定システムそれぞれの別の形態として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。 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 uses the learning device according to any one of the above forms, the image generation device, and the generated image to estimate the range of the object to be captured in the image. It may be configured by an estimator generator to be constructed and an estimator to estimate the range of an object to be captured 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.
例えば、本発明の一側面に係る学習方法は、コンピュータが、外観検査の対象となる製品を写した学習画像、前記製品に含まれる欠陥の種別を示すラベル、及び前記欠陥の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築するステップと、を実行する、情報処理方法である。 For example, in the learning method according to one aspect of the present invention, the computer uses a learning image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and boundary information indicating the range of the defect. By performing the step of acquiring a plurality of learning data sets configured by the combination of the above and the first machine learning, the input of the label included in the learning data set of each of the above cases is input. The learning included in each of the training datasets by performing a step of building a generator trained to generate an image corresponding to the training image associated with the label and a second machine learning. For the input of the image, the type and range of the defect contained in the product reflected in the input learning image is estimated so as to match the label and the boundary information associated with the input learning image. It is an information processing method that performs, with the steps of building an estimator trained to do.
また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、外観検査の対象となる製品を写した学習画像、前記製品に含まれる欠陥の種別を示すラベル、及び前記欠陥の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築するステップと、を実行させるための、プログラムである。 Further, for example, the learning program according to one aspect of the present invention shows on a computer a learning image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and a range of the defect. By performing the step of acquiring a plurality of learning data sets configured by the combination of boundary information and the first machine learning, it is input to the input of the label included in each of the learning data sets. A step of constructing a generator trained to generate an image corresponding to the training image associated with the label and a second machine learning are included in each of the training data sets. The type and range of the defect contained in the product reflected in the input training image so as to match the label and the boundary information associated with the input training image with respect to the input of the training image. It is a program to build and execute an estimator trained to estimate.
また、例えば、本発明の一側面に係る学習方法は、コンピュータが、対象物を写した学習画像、前記対象物の種別を示すラベル、及び前記学習画像内における前記対象物の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記対象物の種別及び範囲を推定するように訓練された推定器を構築するステップと、を実行する、情報処理方法である。 Further, for example, in the learning method according to one aspect of the present invention, the computer uses a learning image showing an object, a label indicating the type of the object, and boundary information indicating the range of the object in the learning image. By performing the step of acquiring a plurality of learning data sets configured by the combination of the above and the first machine learning, the input of the label included in the learning data set of each of the above cases is input. The learning included in each of the training datasets by performing a step of building a generator trained to generate an image corresponding to the training image associated with the label and a second machine learning. Training to estimate the type and range of the object appearing in the input learning image so that the input of the image matches the label and the boundary information associated with the input learning image. It is an information processing method that executes the steps of constructing the estimator.
また、例えば、本発明の一側面に係る学習プログラムは、コンピュータに、対象物を写した学習画像、前記対象物の種別を示すラベル、及び前記学習画像内における前記対象物の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記対象物の種別及び範囲を推定するように訓練された推定器を構築するステップと、を実行させるための、プログラムである。 Further, for example, in the learning program according to one aspect of the present invention, a learning image showing an object, a label indicating the type of the object, and boundary information indicating the range of the object in the learning image are shown on a computer. By performing the step of acquiring a plurality of learning data sets configured by the combination of the above and the first machine learning, the input of the label included in the learning data set of each of the above cases is input. The learning included in each of the training datasets by performing a step of building a generator trained to generate an image corresponding to the training image associated with the label and a second machine learning. Training to estimate the type and range of the object appearing in the input learning image so that the input of the image matches the label and the boundary information associated with the input learning image. It is a program to execute the steps to build the estimator.
本発明によれば、対象物の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。 According to the present invention, it is possible to reduce the cost of preparing learning data used for machine learning to acquire the ability to detect a range of an object.
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。 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の外観検査に本発明を適用した場面の一例を模式的に例示する。製品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. The defect that may be contained in the product R is an example of the "object" of the present invention. 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 where the range of any object in an image is detected.
図1に例示されるとおり、本実施形態に係る検査システム100は、ネットワークを介して接続される学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4を備えている。これにより、検査システム100は、製品Rの良否を検査するように構成される。学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
As illustrated in FIG. 1, the
なお、図1の例では、学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4はそれぞれ別個のコンピュータである。しかしながら、検査システム100の構成は、このような例に限定されなくてもよい。学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4の少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習装置1、画像生成装置2、推定器生成装置3、及び検査装置4はそれぞれ複数台のコンピュータにより構成されてもよい。
In the example of FIG. 1, the
本実施形態に係る学習装置1は、外観検査の対象となる製品Rを写した画像を生成するための生成器50、及び生成器50により生成された画像に対して製品Rに含まれる欠陥の種別及び範囲を推定するための推定器52を構築するように構成されたコンピュータである。具体的には、学習装置1は、外観検査の対象となる製品Rを写した学習画像61、製品Rに含まれる欠陥の種別を示すラベル63、及び欠陥の範囲を示す境界情報65の組み合わせによりそれぞれ構成された複数の学習データセット60を取得する。
The
続いて、学習装置1は、第1の機械学習を実行することで、各学習データセット60に含まれるラベル63の入力に対して、入力されたラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50を構築する。学習画像61に対応する画像とは、学習画像61に類似し、製品Rの写り得る画像である。生成器50は、学習画像61の分布に従った(沿う)画像を生成するように訓練される。更に、学習装置1は、第2の機械学習を実行することで、各学習データセット60に含まれる学習画像61の入力に対して、入力された学習画像61に関連付けられたラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52を構築する。
Subsequently, the
ここで、図2を用いて、欠陥の範囲を指定する方法の一例について説明する。図2は、本実施形態に係る学習画像61内に指定された欠陥の範囲を示す境界情報65の一例を模式的に例示する。図2の例では、学習画像61には、楕円形状の欠陥612を含む製品Rが写っている。学習画像61の横幅がWピクセルであり、縦幅がHピクセルであるのに対して、欠陥612の横幅はwピクセルであり、縦幅はhピクセルである。この欠陥612の範囲は、学習画像61内で欠陥612の写る領域を含むように適宜指定されてよい。
Here, an example of a method of designating a defect range will be described with reference to FIG. FIG. 2 schematically illustrates an example of
欠陥612の範囲の表現方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。本実施形態では、欠陥612の範囲は、バウンディングボックスにより表される。図2に示されるとおり、欠陥612の中心座標(cx、cy)、横幅(wピクセル)、及び縦幅(hピクセル)により、バウンディングボックスを規定することができる。つまり、欠陥612の外周を囲む矩形状の範囲(図の点線で示される範囲)が、バウンディングボックスの一例である。ただし、バウンディングボックスを規定する形式は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、バウンディングボックスは、中心座標及び欠陥612を含むように指定された円(例えば、外接円)の半径により規定されてよい。この場合、欠陥612を含む円形状の範囲が、バウンディングボックスとなる。本実施形態に係る学習装置1によれば、学習画像61に対応する画像を生成するように訓練された生成器50を構築すると共に、このようなバウンディングボックスにより表される欠陥の範囲を学習画像61内で推定するように訓練された推定器52を構築することができる。
The method for expressing the range of the
図1に戻り、本実施形態に係る画像生成装置2は、学習装置1により構築された学習済みの生成器50及び推定器52を利用して、製品Rの写り得る画像を生成すると共に、生成した画像内で欠陥の範囲を推定するように構成されたコンピュータである。具体的には、画像生成装置2は、学習装置1により構築された生成器50に、欠陥の種別を示す入力値71を与えることで、欠陥を含む製品Rを写した生成画像73を生成する。生成された生成画像73は、上記学習画像61に対応する。
Returning to FIG. 1, the
次に、画像生成装置2は、学習装置1により構築された推定器52に生成された生成画像73を与えることで、生成画像73に写る製品Rに含まれる欠陥の種別及び範囲を推定する。続いて、画像生成装置2は、生成画像73に写る製品に含まれる欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致するか否かを判定する。そして、画像生成装置2は、欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致すると判定した場合に、生成した生成画像73と欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する。
Next, the
本実施形態に係る推定器生成装置3は、製品Rの良否を推定するための推定器を構築するように構成されたコンピュータである。具体的に、推定器生成装置3は、製品Rを写したサンプル画像及び正解データの組み合わせによりそれぞれ構成された複数の学習データセットを取得する。正解データは、サンプル画像に写る製品Rの良否を判定した結果(すなわち、正解)を示す。本実施形態では、正解データは、サンプル画像に写る製品Rに含まれる欠陥の範囲を示す境界情報を含む。そして、推定器生成装置3は、複数の学習データセットを利用した機械学習を実施することで、与えられた画像に写る製品Rの良否を判定すると共に、製品Rが欠陥を含む場合には、その欠陥の範囲を検出する能力を習得した学習済みの推定器を構築する。なお、推定器生成装置3は、画像生成装置2により生成された生成画像73をサンプル画像として利用し、かつ生成画像73に関連付けられた欠陥の範囲を推定した結果を示す情報を正解データとして利用することができる。
The
これに対して、本実施形態に係る検査装置4は、推定器生成装置3により構築された学習済みの推定器を利用して、製品Rの良否を判定するように構成されたコンピュータである。検査装置4は、画像に写る対象物の範囲を推定する推定装置の一例である。具体的に、検査装置4は、外観検査の対象となる製品Rの写る対象画像を取得する。本実施形態では、検査装置4には、カメラCAが接続されている。検査装置4は、このカメラCAにより製品Rを撮影することで対象画像を取得する。次に、検査装置4は、取得した対象画像を学習済みの推定器に入力し、学習済みの推定器の演算処理を実行する。これにより、検査装置4は、製品Rの良否を判定した結果、及び製品Rに含まれる欠陥の範囲を検出した結果に対応する出力値を学習済みの推定器から取得する。そして、検査装置4は、学習済みの推定器から得られた出力値に基づいて製品Rの良否を判定した結果に関する情報を出力する。
On the other hand, the
以上のとおり、本実施形態に係る学習装置1によれば、欠陥の種別を指定するラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50を構築すると共に、学習画像61に写る欠陥の種別及び範囲を推定するように訓練された推定器52を構築することができる。これらのうち、生成器50を利用することで、指定した欠陥を含む製品の写り得るサンプル画像を自動的に生成することができる。加えて、推定器52を利用することで、生成されたサンプル画像に写る製品Rに含まれる欠陥の範囲を推定し、推定した欠陥の範囲を示す情報を境界情報としてサンプル画像に自動的に付与することができる。したがって、本実施形態によれば、学習データを用意する際に、サンプル画像内において欠陥の範囲を手動で指定する手間を省略することができる。そのため、欠陥の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。
As described above, according to the
また、本実施形態に係る画像生成装置2では、学習装置1により構築された生成器50及び推定器52を利用することで、欠陥の範囲を手動で指定する手間を省略した上で、欠陥の範囲を検出する能力を習得させるための機械学習に利用可能な学習データを生成することができる。加えて、本実施形態では、画像生成装置2により生成された生成画像73をサンプル画像として利用し、かつ生成画像73に関連付けられた欠陥の範囲を推定した結果を示す情報を正解データとして利用することができる。これにより、推定器生成装置3において、学習データセットを収集するコストを低減することができる。更に、本実施形態では、画像生成装置2により生成された生成画像73をサンプル画像として利用し、かつ生成画像73に関連付けられた欠陥の範囲を推定した結果を示す情報を正解データとして利用することで、推定器の機械学習に利用する学習データセットの件数を増やすことができる。これにより、検査装置4において、製品Rに含まれ得る欠陥の範囲を推定する精度を高めることができる。
Further, in the
なお、外観検査の対象となる製品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 構成例
[ハードウェア構成]
<学習装置>
次に、図3を用いて、本実施形態に係る学習装置1のハードウェア構成の一例について説明する。図3は、本実施形態に係る学習装置1のハードウェア構成の一例を模式的に例示する。
§2 Configuration example [Hardware configuration]
<Learning device>
Next, an example of the hardware configuration of the
図3に示されるとおり、本実施形態に係る学習装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図3では、通信インタフェースを「通信I/F」と記載している。
As shown in FIG. 3, the
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、学習プログラム121、複数の学習データセット60、第1学習結果データ123、第2学習結果データ125等の各種情報を記憶する。
The
学習プログラム121は、製品Rの写り得る画像を生成するよう訓練された生成器50、及び画像に写る製品Rに含まれ得る欠陥の種別及び範囲を推定するよう訓練された推定器52を構築する後述の情報処理(図12)を学習装置1に実行させるためのプログラムである。学習プログラム121は、当該情報処理の一連の命令を含む。各学習データセット60は、外観検査の対象となる製品Rを写した学習画像61、製品Rに含まれる欠陥の種別を示すラベル63、及び欠陥の範囲を示す境界情報65の組み合わせにより構成される。各学習データセット60は、生成器50及び推定器52の機械学習に利用される。学習データセット60の件数は、実施の形態に応じて適宜決定されてよい。第1学習結果データ123は、機械学習により構築された学習済みの生成器50の設定を行うためのデータである。第2学習結果データ125は、機械学習により構築された学習済みの推定器52の設定を行うためのデータである。第1学習結果データ123及び第2学習結果データ125は、学習プログラム121の実行結果として生成される。詳細は後述する。
The
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置1は、この通信インタフェース13を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、画像生成装置2、推定器生成装置3)と行うことができる。
The
入力装置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
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記学習プログラム121及び複数の学習データセット60の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
The
記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置1は、この記憶媒体91から、上記学習プログラム121及び複数の学習データセット60の少なくともいずれかを取得してもよい。
The
ここで、図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
Here, in FIG. 3, as an example of the
なお、学習装置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
<画像生成装置>
次に、図4を用いて、本実施形態に係る画像生成装置2のハードウェア構成の一例について説明する。図4は、本実施形態に係る画像生成装置2のハードウェア構成の一例を模式的に例示する。
<Image generator>
Next, an example of the hardware configuration of the
図4に示されるとおり、本実施形態に係る画像生成装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。本実施形態に係る画像生成装置2の制御部21~ドライブ26それぞれは、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。
As shown in FIG. 4, the
すなわち、制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、画像生成プログラム221、第1学習結果データ123、第2学習結果データ125、1又は複数のデータセット等の各種情報を記憶する。
That is, the
画像生成プログラム221は、学習済みの生成器50を利用して生成画像73を生成すると共に、学習済みの推定器52を利用して生成画像73内で欠陥の範囲を推定する後述の情報処理(図13)を画像生成装置2に実行させるためのプログラムである。画像生成プログラム221は、当該情報処理の一連の命令を含む。各データセットは、生成画像73、ラベル75、及び境界情報77の組み合わせにより構成される。ラベル75は、生成画像73を生成する際に生成器50に与えた入力値71に対応する。境界情報77は、推定器52により欠陥の範囲を推定した結果を示す。各データセットは、画像生成プログラム221の実行結果として生成される。詳細は後述する。
The
通信インタフェース23は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。画像生成装置2は、この通信インタフェース23を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置1、推定器生成装置3)と行うことができる。
The
入力装置24は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置25は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置24及び出力装置25を利用することで、画像生成装置2を操作することができる。
The
ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。上記画像生成プログラム221、第1学習結果データ123及び第2学習結果データ125のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、画像生成装置2は、記憶媒体92から、上記画像生成プログラム221、第1学習結果データ123及び第2学習結果データ125のうちの少なくともいずれかを取得してもよい。
The
なお、画像生成装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、入力装置24、出力装置25及びドライブ26の少なくともいずれかは省略されてもよい。画像生成装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、画像生成装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
Regarding the specific hardware configuration of the
<推定器生成装置>
次に、図5を用いて、本実施形態に係る推定器生成装置3のハードウェア構成の一例について説明する。図5は、本実施形態に係る推定器生成装置3のハードウェア構成の一例を模式的に例示する。
<Estimator generator>
Next, an example of the hardware configuration of the
図5に示されるとおり、本実施形態に係る推定器生成装置3は、制御部31、記憶部32、通信インタフェース33、入力装置34、出力装置35、及びドライブ36が電気的に接続されたコンピュータである。本実施形態に係る推定器生成装置3の制御部31~ドライブ36それぞれは、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。
As shown in FIG. 5, the
すなわち、制御部31は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部32は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部32は、推定器生成プログラム321、学習データセット322、第3学習結果データ325等の各種情報を記憶する。
That is, the
推定器生成プログラム321は、製品Rの良否を判定するための推定器を構築する後述の情報処理(図14)を推定器生成装置3に実行させるためのプログラムである。推定器生成プログラム321は、当該情報処理の一連の命令を含む。学習データセット322は、この推定器の機械学習に利用される。第3学習結果データ325は、機械学習により構築された学習済みの推定器の設定を行うためのデータである。第3学習結果データ325は、推定器生成プログラム321の実行結果として生成される。詳細は後述する。
The
通信インタフェース33は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。推定器生成装置3は、この通信インタフェース33を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、学習装置1、画像生成装置2、検査装置4)と行うことができる。
The
入力装置34は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置35は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置34及び出力装置35を利用することで、推定器生成装置3を操作することができる。
The
ドライブ36は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体93に記憶されたプログラムを読み込むためのドライブ装置である。上記推定器生成プログラム321及び学習データセット322のうちの少なくともいずれかは、記憶媒体93に記憶されていてもよい。また、推定器生成装置3は、記憶媒体93から、上記推定器生成プログラム321及び学習データセット322のうちの少なくともいずれかを取得してもよい。
The
なお、推定器生成装置3の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部31は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部32は、制御部31に含まれるRAM及びROMにより構成されてもよい。通信インタフェース33、入力装置34、出力装置35及びドライブ36の少なくともいずれかは省略されてもよい。推定器生成装置3は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定器生成装置3は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
Regarding the specific hardware configuration of the
<検査装置>
次に、図6を用いて、本実施形態に係る検査装置4のハードウェア構成の一例について説明する。図6は、本実施形態に係る検査装置4のハードウェア構成の一例を模式的に例示する。
<Inspection equipment>
Next, an example of the hardware configuration of the
図6に示されるとおり、本実施形態に係る検査装置4は、制御部41、記憶部42、通信インタフェース43、入力装置44、出力装置45、ドライブ46、及び外部インタフェース47が電気的に接続されたコンピュータである。なお、図6では、外部インタフェースを「外部I/F」と記載している。検査装置4の制御部41~ドライブ46はそれぞれ、上記学習装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。
As shown in FIG. 6, in the
すなわち、制御部41は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部42は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部42は、検査プログラム421、第3学習結果データ325等の各種情報を記憶する。
That is, the
検査プログラム421は、推定器生成装置3により構築された学習済みの推定器を利用して、対象画像に写る製品Rの良否を判定する後述する情報処理(図15)を検査装置4に実行させるためのプログラムである。検査プログラム421は、当該情報処理の一連の命令を含む。詳細は後述する。
The
通信インタフェース43は、例えば、有線LANモジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置4は、この通信インタフェース43を利用することで、ネットワークを介したデータ通信を他の情報処理装置(例えば、推定器生成装置3)と行うことができる。
The
入力装置44は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置45は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置44及び出力装置45を利用することで、検査装置4を操作することができる。
The
ドライブ46は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体94に記憶されたプログラムを読み込むためのドライブ装置である。上記検査プログラム421及び第3学習結果データ325のうちの少なくともいずれかは、記憶媒体94に記憶されていてもよい。また、検査装置4は、記憶媒体94から、上記検査プログラム421及び第3学習結果データ325のうちの少なくともいずれかを取得してもよい。
The
外部インタフェース47は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース47の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置4は、外部インタフェース47を介して、カメラCAに接続される。
The
カメラ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
なお、検査装置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
[ソフトウェア構成]
<学習装置>
次に、図7を用いて、本実施形態に係る学習装置1のソフトウェア構成の一例について説明する。図7は、本実施形態に係る学習装置1のソフトウェア構成の一例を模式的に例示する。
[Software configuration]
<Learning device>
Next, an example of the software configuration of the
学習装置1の制御部11は、記憶部12に記憶された学習プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム121をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図7に示されるとおり、本実施形態に係る学習装置1は、データ取得部111、第1学習処理部112、第2学習処理部113、及び保存処理部114をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
The
データ取得部111は、外観検査の対象となる製品Rを写した学習画像61、製品Rに含まれる欠陥の種別を示すラベル63、及び欠陥の範囲を示す境界情報65の組み合わせによりそれぞれ構成された複数の学習データセット60を取得する。第1学習処理部112は、第1の機械学習を実行することで、各学習データセット60に含まれるラベル63の入力に対して、入力されたラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50を構築する。第2学習処理部113は、第2の機械学習を実行することで、各学習データセット60に含まれる学習画像61の入力に対して、入力された学習画像61に関連付けられたラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52を構築する。保存処理部114は、構築された学習済みの生成器50に関する情報、及び構築された学習済みの推定器52に関する情報を所定の記憶領域に保存する。
The data acquisition unit 111 is composed of a combination of a
(学習ネットワーク)
次に、図8A及び図8Bを更に用いて、本実施形態に係る生成器50及び推定器52を含む学習ネットワーク500の構成の一例について説明する。図8A及び図8Bは、生成器50を訓練する第1の機械学習及び推定器52を訓練する第2の機械学習の過程の一例を模式的に例示する。
(Learning network)
Next, an example of the configuration of the
各図に示されるとおり、本実施形態では、エンコーダ56、生成器50、判別器54、及び推定器52により学習ネットワーク500が構成されている。第1学習処理部112及び第2学習処理部113は、この機械学習を実施する対象となる学習ネットワーク500を保持している。学習ネットワーク500では、入力側から、エンコーダ56、生成器50、並びに判別器54及び推定器52の順に配置されている。判別器54及び推定器52は出力側で並列に配置されている。エンコーダ56は、学習画像61及びラベル63の入力を受け付け、事前分布に沿う潜在変数に対応する出力値を出力するように構成される。エンコーダ56の出力は、生成器50の入力に接続されている。生成器50の出力は、推定器52の入力及び判別器54の入力に接続されている。
As shown in each figure, in the present embodiment, the
本実施形態に係るエンコーダ56、生成器50、推定器52及び判別器54はそれぞれ、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されている。エンコーダ56は、入力層571、中間層(隠れ層)572、及び出力層573を備えている。生成器50は、入力層511、中間層(隠れ層)512、及び出力層513を備えている。推定器52は、入力層531、中間層(隠れ層)532、及び出力層533を備えている。判別器54は、入力層551、中間層(隠れ層)552、及び出力層553を備えている。ただし、エンコーダ56、生成器50、推定器52及び判別器54それぞれの構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、エンコーダ56、生成器50、推定器52及び判別器54はそれぞれ、2層以上の中間層を備えてもよい。エンコーダ56、生成器50、推定器52及び判別器54の構成はそれぞれ異なっていてよい。
The
それぞれの各層(571~573、511~513、531~533、551~553)に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜設定されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図8A及び図8Bの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。 The number of neurons (nodes) contained in each layer (571 to 573, 511 to 513, 513 to 533, 551 to 553) 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. 8A and 8B, 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.
エンコーダ56の各層571~573に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用されるエンコーダ56のパラメータの一例である。生成器50の各層511~513に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される生成器50のパラメータの一例である。推定器52の各層531~533に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される推定器52のパラメータの一例である。判別器54の各層551~553に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される判別器54のパラメータの一例である。
The weight of the connection between each neuron and the threshold value of each neuron included in each
第1学習処理部112及び第2学習処理部113は、この学習ネットワーク500の機械学習を実施する。第1学習処理部112は、これらのうち生成器50に関する第1の機械学習を実施する。一方、第2学習処理部113は、推定器52に関する第2の機械学習を実施する。
The first learning processing unit 112 and the second learning processing unit 113 carry out machine learning of the
本実施形態では、第1の機械学習を実施することは、次の第1~第5訓練ステップを含む。第1訓練ステップでは、第1学習処理部112は、判別器54に入力された入力画像が、生成器50により生成された画像69であるか複数の学習データセット60から得られた学習画像61であるかを判別するように判別器54を訓練する。つまり、判別器54は、与えられた入力画像が学習データ(学習画像61)由来か生成器50由来かを判別するように訓練される。第2訓練ステップでは、第1学習処理部112は、生成器50により生成される画像69が、判別器54による判別を誤らせるようなものとなるように、生成器50を訓練する。なお、図8A及び図8Bの例では、学習データ由来であることを「真」と表現し、生成器50由来であることを「偽」と表現している。ただし、各由来を表現する方法は、このような例に限定されなくてよく、実施の形態に応じて適宜選択されてよい。
In this embodiment, performing the first machine learning includes the following first to fifth training steps. In the first training step, in the first training processing unit 112, the input image input to the
第3訓練ステップでは、第1学習処理部112は、生成器50により生成される画像69が、推定器52により画像69に写る製品Rに含まれる欠陥の種別を推定した結果が対応するラベル63と一致するようなものとなるように、生成器50を訓練する。第4訓練ステップでは、第1学習処理部112は、ラベル63及び潜在変数を生成器50に入力することで生成器50により生成された画像69が、学習画像61を復元したもの(つまり、学習画像61に対応する画像)となるように、エンコーダ56及び生成器50を訓練する。潜在変数は、ラベル63及び学習画像61をエンコーダ56に入力することでエンコーダ56から得られる出力に基づいて導出される。第5訓練ステップでは、第1学習処理部112は、エンコーダ56から得られる出力に基づいて導出される潜在変数の分布が所定の事前分布に従うようにエンコーダ56を訓練する。事前分布の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。事前分布には、例えば、ガウス分布等の公知の分布が用いられてよい。なお、第1~第5訓練ステップを実行する順序は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
In the third training step, the first learning processing unit 112 uses the
具体的に、図8Aに示されるとおり、第2学習処理部113は、各学習データセット60について、学習画像61を推定器52の入力層531に入力し、推定器52の演算処理を実行する。これにより、第2学習処理部113は、学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定した結果に対応する出力値を出力層533から取得する。第2学習処理部113は、欠陥の種別を推定した結果に対応する出力値とラベル63の値との誤差(LC)を算出する。また、第2学習処理部113は、欠陥の範囲を推定した結果に対応する出力値と境界情報65の値との誤差(LBB)を算出する。誤差(LBB)の計算には、例えば、IoU(Intersection Over Union)等の公知の指標が用いられてよい。
Specifically, as shown in FIG. 8A, the second learning processing unit 113 inputs the learning
また、第1学習処理部112は、各学習データセット60について、学習画像61及びラベル63をエンコーダ56の入力層571に入力し、エンコーダ56の演算処理を実行する。これにより、第1学習処理部112は、何らかの特徴量を導出した結果に対応する出力値(潜在変数)をエンコーダ56の出力層573から取得する。この出力値は、事前分布の任意の確率変数(例えば、平均及び共分散)に対応するように設定されてよい。第1学習処理部112は、この出力値と事前分布から導出された値との誤差(LKL)を算出する。
Further, the first learning processing unit 112 inputs the learning
次に、第1学習処理部112は、エンコーダ56から得られた出力値及び対応するラベル63を生成器50の入力層511に入力し、生成器50の演算処理を実行する。これにより、第1学習処理部112は、各学習データセット60について、学習画像61に対応する画像をラベル63から生成した結果に対応する出力(画像69)を出力層513から取得する。
Next, the first learning processing unit 112 inputs the output value obtained from the
続いて、第1学習処理部112は、生成器50により生成された各画像69を判別器54の入力層551に入力し、判別器54の演算処理を実行する。これにより、第1学習処理部112は、入力画像が生成器50由来か学習データセット60由来(つまり、学習画像61そのもの)かを判別した結果に対応する出力値を出力層553から取得する。この場面では、生成器50により生成された各画像69が入力画像であるため、判別器54は、「偽」と判別するのが正解である。第1学習処理部112は、生成器50により生成された各画像69について、出力層553から得られる出力値とこの正解との誤差(LD)を算出する。
Subsequently, the first learning processing unit 112 inputs each
同様に、第1学習処理部112は、各学習データセット60について、学習画像61を判別器54の入力層551に入力し、判別器54の演算処理を実行する。これにより、第1学習処理部112は、入力画像が生成器50由来か学習データセット60由来かを判別した結果に対応する出力値を出力層553から取得する。この場面では、学習画像61そのものが入力画像であるため、判別器54は、「真」と判別するのが正解である。第1学習処理部112は、各学習データセット60について、出力層553から得られる出力値とこの正解との誤差(LD)を算出する。
Similarly, the first learning processing unit 112 inputs the learning
また、図8Bに示されるとおり、第1学習処理部112は、生成器50により生成された各画像69を判別器54に入力することで得られた出力値について、判別器54による判別を誤らせるような画像を生成するように生成器50を訓練するための誤差(LGD)を算出する。詳細には、この生成器50の訓練では、判別器54による判別の結果を誤らせることが正解である。つまり、出力層553から得られる出力値が「真」に対応することが正解である。第1学習処理部112は、各学習データセット60について、一連の処理により出力層553から得られる出力値とこの正解(つまり、「真」)との誤差(LGD)を算出する。
Further, as shown in FIG. 8B, the first learning processing unit 112 causes the
次に、第1学習処理部112は、生成器50により生成された各画像69を推定器52の入力層531に入力し、推定器52の演算処理を実行する。これにより、第1学習処理部112は、各画像69に写る製品Rに含まれる欠陥の種別を推定した結果に対応する出力値を推定器52の出力層533から取得する。第1学習処理部112は、欠陥の種別を推定した結果に対応する出力値と対応するラベル63の値との誤差(LGC)を算出する。
Next, the first learning processing unit 112 inputs each
次に、図8Aに示されるとおり、第1学習処理部112は、各学習データセット60について、エンコーダ56の出力から学習画像61を復元するデコーダとして機能ように生成器50を訓練するための誤差を算出する。詳細には、第1学習処理部112は、各学習データセット60について、生成器50により生成された画像69と対応する学習画像61との誤差(LG)を算出する。
Next, as shown in FIG. 8A, the first training processing unit 112 has an error for training the
そして、図8A及び図8Bに示されるとおり、第1学習処理部112及び第2学習処理部113は、算出される各誤差(LC、LBB、LKL、LD、LGD、LGC、LG)の和が小さくなるように、学習ネットワーク500の各パラメータの値を調節する。詳細には、第2学習処理部113は、算出される各誤差(LC、LBB)の和が小さくなるように、推定器52のパラメータの値を調節する。第1学習処理部112は、算出される誤差(LD)の和が小さくなるように、判別器54のパラメータの値を調節する。第1学習処理部112は、算出される各誤差(LG、LGD、LGC)の和が小さくなるように、生成器50のパラメータの値を調節する。第1学習処理部112は、算出される誤差(LKL、LG)の和が小さくなるように、エンコーダ56のパラメータの値を調節する。
Then, as shown in FIGS. 8A and 8B, the first learning processing unit 112 and the second learning processing unit 113 are calculated for each error (LC, L BB , L KL , LD, L GD , L GC ). , LG ) are adjusted so that the value of each parameter of the
第1学習処理部112及び第2学習処理部113は、算出される各誤差(LC、LBB、LKL、LD、LGD、LGC、LG)の和が閾値以下になるまで、上記一連の処理により、各パラメータの値の調節を繰り返す。これにより、第1学習処理部112は、判別器54、生成器50、及びエンコーダ56それぞれを訓練し、第2学習処理部113は、推定器52を訓練する。これらのうち、各誤差(LC、LBB)の和が小さくなるように推定器52のパラメータを調節する処理が、第2の機械学習の処理の一例である。誤差(LKL)の和が小さくなるように、エンコーダ56のパラメータの値を調節する処理が、第1の機械学習の第5訓練ステップの一例である。誤差(LD)の和が小さくなるように判別器54のパラメータの値を調節する処理が、第1訓練ステップの一例である。誤差(LGD)の和が小さくなるように生成器50のパラメータの値を調節する処理が、第2訓練ステップの一例である。誤差(LGC)の和が小さくなるように生成器50のパラメータの値を調節する処理が、第3訓練ステップの一例である。誤差(LG)の和が小さくなるように生成器50及びエンコーダ56のパラメータの値を調節する処理が、第4訓練ステップの一例である。なお、パラメータの調節を繰り返す基準は、このような閾値を用いる例に限定されなくてもよい。例えば、第1学習処理部112及び第2学習処理部113は、指定された回数分、上記一連の処理により、各パラメータの値の調節を繰り返すようにしてもよい。
In the first learning processing unit 112 and the second learning processing unit 113, until the sum of the calculated errors ( LC , L BB , L KL , L D , L GD , L GC , LG ) becomes equal to or less than the threshold value. , The adjustment of the value of each parameter is repeated by the above series of processes. As a result, the first learning processing unit 112 trains the
この機械学習が完了した後、保存処理部114は、構築された生成器50の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す第1学習結果データ123を生成する。また、保存処理部114は、構築された推定器52の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す第2学習結果データ125を生成する。そして、保存処理部114は、生成した第1学習結果データ123及び第2学習結果データ125を所定の記憶領域に保存する。
After this machine learning is completed, the conservation processing unit 114 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
<画像生成装置>
次に、図9を用いて、本実施形態に係る画像生成装置2のソフトウェア構成の一例について説明する。図9は、本実施形態に係る画像生成装置2のソフトウェア構成の一例を模式的に例示する。
<Image generator>
Next, an example of the software configuration of the
画像生成装置2の制御部21は、記憶部22に記憶された画像生成プログラム221をRAMに展開する。そして、制御部21は、RAMに展開された画像生成プログラム221をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図9に示されるとおり、本実施形態に係る画像生成装置2は、生成部211、推定部212、判定部213、及び画像保存部214をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、画像生成装置2の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部21(CPU)により実現される。
The
生成部211は、第1学習結果データ123を保持することで、学習装置1により構築された学習済みの生成器50を含んでいる。生成部211は、欠陥の種別を示す入力値71を生成器50に与えることで、欠陥を含む製品Rを写した生成画像73を生成する。本実施形態では、生成部211は、第1学習結果データ123を参照して、学習済みの生成器50の設定を行う。次に、生成部211は、所定の確率分布からノイズ(潜在変数)を取得する。所定の確率分布は、例えば、ガウス分布等であってよい。そして、生成部211は、取得したノイズ及び入力値71を生成器50の入力層511に入力し、生成器50の演算処理を実行する。これにより、生成部211は、生成器50の出力層513から生成画像73を取得する。
The generation unit 211 includes a trained
推定部212は、第2学習結果データ125を保持することで、学習装置1により構築された学習済みの推定器52を含んでいる。推定部212は、生成された生成画像73を推定器52に与えることで、生成画像73に写る製品Rに含まれる欠陥の種別及び範囲を推定する。本実施形態では、推定部212は、第2学習結果データ125を参照して、学習済みの推定器52の設定を行う。そして、推定部212は、生成器50により生成された生成画像73を推定器52の入力層531に入力し、推定器52の演算処理を実行する。これにより、推定部212は、生成画像73に写る製品Rに含まれる欠陥の種別及び範囲を推定した結果に対応する出力値を推定器52の出力層533から取得する。
The
判定部213は、生成画像73に写る製品Rに含まれる欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致するか否かを判定する。欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致すると判定部213が判定した場合に、画像保存部214は、生成した生成画像73と欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する。本実施形態では、画像保存部214は、欠陥の範囲を推定した結果を示す情報を境界情報77として生成する。更に、画像保存部214は、入力値71に対応して、欠陥の種別を示す情報をラベル75として生成する。そして、画像保存部214は、生成画像73、ラベル75、及び境界情報77を組み合わせることでデータセットを生成し、生成したデータセットを所定の記憶領域に格納する。なお、これらのうち、ラベル75は省略されてもよい。
The determination unit 213 determines whether or not the result of estimating the type of defect included in the product R shown in the generated
<推定器生成装置>
次に、図10を用いて、本実施形態に係る推定器生成装置3のソフトウェア構成の一例について説明する。図10は、本実施形態に係る推定器生成装置3のソフトウェア構成の一例を模式的に例示する。
<Estimator generator>
Next, an example of the software configuration of the
推定器生成装置3の制御部31は、記憶部32に記憶された推定器生成プログラム321をRAMに展開する。そして、制御部31は、RAMに展開された推定器生成プログラム321に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図10に示されるとおり、本実施形態に係る推定器生成装置3は、データ取得部311、学習処理部312、及び保存処理部313をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、推定器生成装置3の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部31(CPU)により実現される。
The
データ取得部311は、製品Rを写したサンプル画像3221、製品Rに含まれ得る欠陥の種別を示すラベル3222、及び製品Rに含まれ得る欠陥の範囲を示す境界情報3223の組み合わせによりそれぞれ構成された複数の学習データセット322を取得する。サンプル画像3221は、機械学習の入力データ(訓練データ)として利用される。一方、ラベル3222及び境界情報3223は、機械学習の正解データ(教師データ)として利用される。すなわち、ラベル3222及び境界情報3223は、対応するサンプル画像3221に写る製品Rの良否を判定した結果(すなわち、正解)を示す。サンプル画像3221に写る製品Rに欠陥が含まれない場合、ラベル3222及び境界情報3223の各値は、製品Rに欠陥が含まれないことを示すように適宜設定されてよい。
The
ここで、上記画像生成装置2により生成されたデータセットは、学習データセット322として利用されてよい。すなわち、少なくとも一部の学習データセット322のサンプル画像3221、ラベル3222、及び境界情報3223はそれぞれ、上記生成画像73、ラベル75、及び境界情報77であってよい。また、データ取得部311は、学習データセット322を学習装置1に送信し、学習データセット322を学習データセット60として利用させて、上記機械学習の処理を学習装置1に実行させてよい。つまり、データ取得部311は、サンプル画像3221を学習画像61として利用させ、ラベル3222をラベル63として利用させ、境界情報3223を境界情報65として利用させることで、サンプル画像3221に対応する画像を生成するための生成器50、並びに生成された画像に対して製品Rに含まれる欠陥の種別及び範囲を推定するための推定器52を学習装置1に構築させてもよい。そして、データ取得部311は、構築された生成器50及び推定器52を画像生成装置2に利用させて、学習データセット322に対応する複数のデータセットを画像生成装置2に生成させてもよい。データ取得部311は、生成された複数のデータセットを学習データセット322として受信することで、機械学習に利用する学習データセット322の件数を増やすことができる。
Here, the data set generated by the
学習処理部312は、機械学習の対象となる推定器80を保持している。学習処理部312は、取得した各学習データセット322を利用した機械学習を実施することで、与えられた画像に写る製品Rの良否を判定する能力を習得した学習済みの推定器80を構築する。換言すると、学習処理部312は、各学習データセット322について、サンプル画像3221を入力すると、ラベル3222及び境界情報3223と一致する出力値を出力するように訓練された推定器80を構築する。保存処理部313は、構築された学習済みの推定器80に関する情報を所定の記憶領域に保存する。
The
なお、学習装置2及び推定器生成装置3の間の関係において、学習処理部312は、第3学習処理部と称されてよい。上記データ取得部111及び保存処理部114はそれぞれ、第1データ取得部及び第1保存処理部と称されてよい。学習データセット60は、第1学習データセットと称されてよい。これに応じて、データ取得部311及び保存処理部313はそれぞれ、第2データ取得部及び第2保存処理部と称されてよい。学習データセット322は、第2学習データセットと称されてよい。
In the relationship between the
(推定器)
次に、本実施形態に係る推定器80の構成の一例について説明する。図10に示されるとおり、本実施形態に係る推定器80は、上記生成器50等と同様に、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されている。具体的に、推定器80は、入力層801、中間層(隠れ層)802、及び出力層803を備えている。ただし、推定器80の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。例えば、推定器80は、2層以上の中間層を備えてもよい。推定器80の構成は、上記生成器50等と異なっていてよい。
(Estimator)
Next, an example of the configuration of the
各層801~803に含まれるニューロン(ノード)の数は、実施の形態に応じて適宜設定されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図10の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層801~803に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される推定器80のパラメータの一例である。
The number of neurons (nodes) included in each
学習処理部312は、各学習データセット322について、サンプル画像3221を推定器80の入力層801に入力し、推定器80の演算処理を実行する。この演算処理の結果、学習処理部312は、サンプル画像3221に写る製品Rの良否を判定した結果、換言すると、製品Rに含まれ得る欠陥の種別及び範囲を推定した結果に対応する出力値を出力層803から取得する。
The
続いて、学習処理部312は、取得した出力値とラベル3222及び境界情報3223の各値との誤差を算出する。そして、学習処理部312は、各学習データセット322について、算出される誤差の和が小さくなるように、推定器80のパラメータの値を調節する。例えば、学習処理部312は、出力層803から得られる出力値とラベル3222及び境界情報3223の各値との誤差の和が閾値以下になるまで、上記一連の処理による推定器80のパラメータの値の調節を繰り返す。これにより、学習処理部312は、各学習データセット322について、サンプル画像3221を入力層801に入力すると、入力したサンプル画像3221に関連付けられたラベル3222及び境界情報3223と一致する出力値を出力層803から出力するように訓練された推定器80を構築することができる。なお、パラメータの調節を繰り返す基準は、このような閾値を用いる例に限定されなくてもよい。例えば、学習処理部312は、指定された回数分、上記一連の処理により、推定器80のパラメータの値の調節を繰り返すようにしてもよい。
Subsequently, the
この機械学習の処理が完了した後、保存処理部313は、構築された学習済みの推定器80の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す第3学習結果データ325を生成する。そして、保存処理部313は、生成した第3学習結果データ325を所定の記憶領域に保存する。
After the machine learning process is completed, the
<検査装置>
次に、図11を用いて、本実施形態に係る検査装置4のソフトウェア構成の一例について説明する。図11は、本実施形態に係る検査装置4のソフトウェア構成の一例を模式的に例示する。
<Inspection equipment>
Next, an example of the software configuration of the
検査装置4の制御部41は、記憶部42に記憶された検査プログラム421をRAMに展開する。そして、制御部41は、RAMに展開された検査プログラム421に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図11に示されるとおり、本実施形態に係る検査装置4は、対象データ取得部411、良否判定部412、及び出力部413をソフトウェアモジュールとして備えるコンピュータとして構成される。本実施形態では、検査装置4の各ソフトウェアモジュールも、上記学習装置1と同様に、制御部41(CPU)により実現される。
The
対象データ取得部411は、外観検査の対象となる製品Rの写る対象画像422を取得する。本実施形態では、対象データ取得部411は、カメラCAにより製品Rを撮影することで、対象画像422を取得する。良否判定部412は、第3学習結果データ325を保持することで、推定器生成装置3により構築されたが学習済みの推定器80を含んでいる。良否判定部412は、学習済みの推定器80を利用して、対象画像422に写る製品Rの良否を判定する。
The target data acquisition unit 411 acquires the
具体的には、良否判定部412は、第3学習結果データ325を参照して、学習済みの推定器80の設定を行う。次に、良否判定部412は、取得した対象画像422を推定器80の入力層801に入力し、推定器80の演算処理を実行する。これにより、良否判定部412は、対象画像422に写る製品Rの良否を判定した結果(詳細には、製品Rに含まれ得る欠陥の種別及び範囲を推定した結果)に対応する出力値を推定器80の出力層803から取得する。本実施形態では、この出力値を得ることが、製品Rの良否を判定することに対応する。出力部413は、製品Rの良否を判定した結果に関する情報を出力する。
Specifically, the pass / fail determination unit 412 sets the trained
<その他>
学習装置1、画像生成装置2、推定器生成装置3及び検査装置4の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置1、画像生成装置2、推定器生成装置3及び検査装置4の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、学習装置1、画像生成装置2、推定器生成装置3及び検査装置4それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
<Others>
Each software module of the
§3 動作例
[学習装置]
次に、図12を用いて、本実施形態に係る学習装置1の動作例について説明する。図12は、本実施形態に係る学習装置1の処理手順の一例を示す。以下で説明する処理手順は、本発明の「学習方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
§3 Operation example [Learning device]
Next, an operation example of the
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、外観検査の対象となる製品Rを写した学習画像61、製品Rに含まれる欠陥の種別を示すラベル63、及び欠陥の範囲を示す境界情報65の組み合わせによりそれぞれ構成された複数の学習データセット60を取得する。
(Step S101)
In step S101, the
学習データセット60を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラ及び欠陥のある製品Rを用意し、欠陥の部分が写るように製品Rをカメラにより撮影する。これにより、学習画像61を生成することができる。次に、学習画像61に写る製品Rに含まれる欠陥の種別を示すラベル63、及び欠陥の範囲を示す境界情報65を適宜生成する。例えば、ラベル63は、欠陥の種別の一覧から対象の学習画像61に写る欠陥を選択することで生成されてよい。また、境界情報65は、学習画像61上で欠陥の範囲を含むようにバウンディングボックスを指定することで生成されてよい。そして、生成したラベル63及び境界情報65を対応する学習画像61に関連付ける。これにより、各学習データセット60を生成することができる。
The method for acquiring the
この学習データセット60の生成は、コンピュータの動作により自動的に行われてもよいし、オペレータの操作により手動的に行われてもよい。また、この学習データセット60を生成する情報処理は、学習装置1において実行されてもよいし、学習装置1以外の他のコンピュータにおいて実行されてもよい。
The generation of the
学習データセット60を学習装置1が生成する場合、制御部11は、自動的又はオペレータの操作により手動的に上記情報処理を実行することで、複数の学習データセット60を取得する。一方、学習データセット60を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の学習データセット60を取得する。一部の学習データセット60を学習装置1が生成し、残りの学習データセット60を他のコンピュータが生成してもよい。
When the
取得する学習データセット60の件数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。複数の学習データセット60を取得すると、制御部11は、次のステップS102に処理を進める。
The number of learning
(ステップS102及びS103)
ステップS102では、制御部11は、第1学習処理部112として動作し、第1の機械学習を実行することで、各学習データセット60に含まれるラベル63の入力に対して、入力されたラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50を構築する。ステップS103では、制御部11は、第2学習処理部113として動作し、第2の機械学習を実行することで、各学習データセット60に含まれる学習画像61の入力に対して、入力された学習画像61に関連付けられたラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52を構築する。
(Steps S102 and S103)
In step S102, the
ステップS102及びS103を処理する順序は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。ステップS102及びS103の処理は、同時に実行されてもよいし、別々に実行されてもよい。本実施形態では、生成器50及び推定器52は、エンコーダ56及び判別器54と共に、学習ネットワーク500を構成している。そこで、本ステップS102及びS103では、制御部11は、学習ネットワーク500の機械学習を実施することで、生成器50及び推定器52を訓練する。
The order in which steps S102 and S103 are processed may not be particularly limited and may be appropriately determined according to the embodiment. The processes of steps S102 and S103 may be executed simultaneously or separately. In the present embodiment, the
詳細には、まず、制御部11は、処理対象となる学習ネットワーク500を用意する。用意する学習ネットワーク500の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、学習ネットワーク500を用意してもよい。
Specifically, first, the
次に、制御部11は、各学習データセット60の学習画像61を入力データとして利用し、対応するラベル63及び境界情報65を教師データとして利用して、推定器52の学習処理を実行する。制御部11は、各学習データセット60の学習画像61及びラベル63を入力データとして利用し、事前分布から導出された値を教師データとして利用して、エンコーダ56の学習処理を実行する。制御部11は、各学習データセット60について、エンコーダ56から得られた出力値及びラベル63を生成器50に入力し、生成器50の演算処理を実行する。これにより、制御部11は、生成器50から各画像69を取得する。制御部11は、各画像69及び各学習画像61を入力データとして利用し、各画像(61、69)の由来を教師データとして利用して、判別器54の学習処理を実行する。制御部11は、各学習データセット60について、エンコーダ56から得られた出力値及びラベル63を入力データとして利用し、判別器54に判別を誤らせることを教師データとして利用して、生成器50の学習処理を実行する。制御部11は、各学習データセット60について、エンコーダ56から得られた出力値及びラベル63を入力データとして利用し、推定器52が欠陥の種別を正しく推定することを教師データとして利用して、生成器50の学習処理を実行する。制御部11は、各学習データセット60について、学習画像61及びラベル63を入力データとして利用し、学習画像61を教師データとして利用して、エンコーダ56及び生成器50の学習処理を実行する。これらの学習処理には、確率的勾配降下法等が用いられてよい。
Next, the
例えば、制御部11は、各学習データセット60に含まれる学習画像61を推定器52の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定した結果に対応する出力値を出力層533から取得する。制御部11は、欠陥の種別を推定した結果に対応する出力値とラベル63の値との誤差(LC)を算出する。また、制御部11は、欠陥の範囲を推定した結果に対応する出力値と境界情報65の値との誤差(LBB)を算出する。
For example, the
次に、制御部11は、各学習データセット60に含まれる学習画像61及びラベル63をエンコーダ56の入力層571に入力し、入力側から順に各層571~573に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、何らかの特徴量を導出した結果に対応する出力値(潜在変数)をエンコーダ56の出力層573から取得する。制御部11は、この出力値と事前分布から導出された値との誤差(LKL)を算出する。事前分布には、例えば、ガウス分布等であってよい。
Next, the
次に、制御部11は、エンコーダ56から得られた出力値及び対応するラベル63を生成器50の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各学習画像61に対応する画像をラベル63から生成した結果として各画像69を出力層513から取得する。
Next, the
続いて、制御部11は、生成器50により生成された各画像69を判別器54の入力層551に入力し、入力側から順に各層551~553に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力画像が生成器50由来か学習データセット60由来(つまり、学習画像61そのもの)かを判別した結果に対応する出力値を出力層553から取得する。この場面では、生成器50により生成された各画像69が入力画像であるため、判別器54は、「偽」と判別するのが正解である。制御部11は、生成器50により生成された各画像69について、出力層553から得られる出力値とこの正解との誤差(LD)を算出する。
Subsequently, the
また、制御部11は、各学習データセット60に含まれる学習画像61を判別器54の入力層551に入力し、入力側から順に各層551~553に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、入力画像が生成器50由来か学習データセット60由来かを判別した結果に対応する出力値を出力層553から取得する。この場面では、学習画像61そのものが入力画像であるため、判別器54は、「真」と判別するのが正解である。制御部11は、各学習データセット60について、出力層553から得られる出力値とこの正解との誤差(LD)を算出する。
Further, the
次に、制御部11は、生成器50により生成された各画像69を判別器54に入力することで得られた出力値について、判別器54による判別を誤らせるような画像を生成するように生成器50を訓練するための誤差(LGD)を算出する。具体的には、生成器50により生成された各画像69を判別器54に入力したときに、判別器54から得られる出力値が「真」に対応することが正解である。制御部11は、各学習データセット60について、一連の処理により出力層553から得られる出力値とこの正解(つまり、「真」)との誤差(LGD)を算出する。
Next, the
次に、制御部11は、生成器50により生成された各画像69を推定器52の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、各画像69に写る製品Rに含まれる欠陥の種別を推定した結果に対応する出力値を推定器52の出力層533から取得する。制御部11は、各学習データセット60について、一連の処理により欠陥の種別を推定した結果に対応する出力値と対応するラベル63の値との誤差(LGC)を算出する。
Next, the
次に、制御部11は、各学習データセット60について、エンコーダ56の出力から学習画像61を復元するデコーダとして機能ように生成器50を訓練するための誤差を算出する。具体的には、制御部11は、各学習データセット60について、生成器50により生成された画像69と対応する学習画像61との誤差(LG)を算出する。
Next, the
そして、制御部11は、誤差逆伝播法(Back propagation)により、算出される各誤差(LC、LBB、LKL、LD、LGD、LGC、LG)を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。すなわち、制御部11は、算出される各誤差(LC、LBB)を用いて、推定器52の各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出される誤差(LD)を用いて、判別器54の各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出される各誤差(LG、LGD、LGC)を用いて、生成器50の各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出される各誤差(LKL、LG)を用いて、エンコーダ56の各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。制御部11は、算出した各誤差に基づいて、推定器52、判別器54、生成器50、及びエンコーダ56それぞれにおける各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
Then, the
制御部11は、算出される各誤差(LC、LBB、LKL、LD、LGD、LGC、LG)の和が閾値以下になるまで、上記一連の処理により、各パラメータの値の調節を繰り返す。各閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部11は、各学習データセット60について、学習画像61の入力に対して、対応するラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52を構築することができる。制御部11は、入力された入力画像が、生成器50由来か学習データセット60由来かを適切に判別可能に訓練された判別器54を構築することができる。制御部11は、判別器54が判別を誤り、対応するラベル63と一致するように推定器52が欠陥の種別を推定し、かつ学習画像61に対応し得る画像69を生成可能に訓練された生成器50を構築することができる。制御部11は、各学習データセット60について、学習画像61及びラベル63の入力に対して、事前分布に従う出力値であって、学習画像61に対応する画像を生成器50に生成させることが可能な出力値を出力するように訓練されたエンコーダ56を構築することができる。この機械学習の処理が完了すると、制御部11は、次のステップS104に処理を進める。なお、パラメータの調節を繰り返す基準は、このような閾値を用いる例に限定されなくてもよい。例えば、制御部11は、指定された回数分、上記一連の処理により、各パラメータの値の調節を繰り返すようにしてもよい。
The
(ステップS104)
ステップS104では、制御部11は、保存処理部114として動作し、構築された学習済みの生成器50に関する情報、及び構築された学習済みの推定器52に関する情報を所定の記憶領域に保存する。
(Step S104)
In step S104, the
本実施形態では、制御部11は、ステップS102により構築された学習済みの生成器50の構成及びパラメータを示す情報を第1学習結果データ123として生成する。また、制御部11は、ステップS103により構築された学習済みの推定器52の構成及びパラメータを示す情報を第2学習結果データ125として生成する。そして、制御部11は、生成した第1学習結果データ123及び第2学習結果データ125を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
In the present embodiment, the
記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ16を介して記憶メディアに第1学習結果データ123及び第2学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、ネットワークを介してデータサーバに第1学習結果データ123及び第2学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、学習装置1に接続された外付けの記憶装置であってもよい。
The storage medium may be, for example, a CD, a DVD, or the like, and the
なお、エンコーダ56及び判別器54の取り扱いについては、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、エンコーダ56及び判別器54についても、生成器50及び推定器52と同様に、それぞれの構成及びパラメータを示す情報を学習結果データとして生成し、生成した学習結果データを所定の記憶領域に保存してもよい。或いは、制御部11は、この学習結果データの生成及び保存の処理を省略してもよい。
The handling of the
第1学習結果データ123及び第2学習結果データ125を保存すると、制御部11は、本動作例に係る処理を終了する。学習済みの生成器50及び推定器52を構築した後、制御部11は、生成した第1学習結果データ123及び第2学習結果データ125を任意のタイミングで画像生成装置2に転送してもよい。画像生成装置2は、学習装置1から転送を受け付けることで、第1学習結果データ123及び第2学習結果データ125を取得してもよい。画像生成装置2は、学習装置1又はデータサーバにアクセスすることで、第1学習結果データ123及び第2学習結果データ125を取得してもよい。或いは、第1学習結果データ123及び第2学習結果データ125は、画像生成装置2に予め組み込まれてもよい。
When the first
また、制御部11は、上記ステップS101~S104の処理を定期的に繰り返すことで、第1学習結果データ123及び第2学習結果データ125の少なくともいずれかを定期的に更新してもよい。この繰り返す際に、学習データセット60の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した第1学習結果データ123及び第2学習結果データ125の少なくともいずれかを機械学習の実行毎に画像生成装置2に転送することで、画像生成装置2の保持する第1学習結果データ123及び第2学習結果データ125の少なくともいずれかを定期的に更新してもよい。
Further, the
[画像生成装置]
次に、図13を用いて、本実施形態に係る画像生成装置2の動作例について説明する。図13は、本実施形態に係る画像生成装置2の処理手順の一例を示す。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Image generator]
Next, an operation example of the
(ステップS201)
ステップS201では、制御部21は、生成部211として動作し、学習装置1により構築された学習済みの生成器50を利用して、指定された欠陥を含む製品Rの写り得る生成画像73を生成する。
(Step S201)
In step S201, the
本実施形態では、制御部21は、第1学習結果データ123を参照して、学習済みの生成器50の設定を行う。次に、制御部21は、所定の確率分布からノイズ(潜在変数)を取得する。所定の確率分布は、例えば、ガウス分布等であってよい。また、制御部21は、欠陥の種別を示す入力値71を適宜取得する。例えば、欠陥の種別の一覧を示す情報(不図示)が、画像生成プログラム221内、記憶部22、外部記憶装置、記憶メディア等に格納されていてよい。この場合、制御部21は、この欠陥の種別の一覧を示す情報を取得し、取得した情報を参照して、画像を生成する対象に指定する欠陥を一覧から選択することで、入力値71を取得してもよい。また、例えば、制御部21は、所定の数値範囲からランダムに入力値71を選択してもよい。そして、制御部21は、取得したノイズ及び入力値71を生成器50の入力層511に入力し、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、生成器50の出力層513から生成画像73を取得する。生成画像73の生成が完了すると、制御部21は、次のステップS202に処理を進める。
In the present embodiment, the
(ステップS202)
ステップS202では、制御部21は、推定部212として動作し、学習装置1により構築された学習済みの推定器52を利用して、生成画像73に写り得る製品Rに含まれる欠陥の種別及び範囲を推定する。
(Step S202)
In step S202, the
本実施形態では、制御部21は、第2学習結果データ125を参照して、学習済みの推定器52の設定を行う。そして、制御部21は、生成器50により生成された生成画像73を推定器52の入力層531に入力し、入力側から順に各層531~533に含まれる各ニューロンの発火判定を行う。これにより、制御部21は、生成画像73に写る製品Rに含まれる欠陥の種別及び範囲を推定した結果に対応する出力値を推定器52の出力層533から取得する。欠陥の種別及び範囲の推定が完了すると、制御部21は、次のステップS203に処理を進める。
In the present embodiment, the
(ステップS203及びS204)
ステップS203では、制御部21は、判定部213として動作し、生成画像73に写る製品Rに含まれる欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致するか否かを判定する。ステップS204では、制御部21は、ステップS203の判定結果に応じて、条件分岐を処理する。
(Steps S203 and S204)
In step S203, the
推定器52により欠陥の種別を推定した結果が入力値71と一致していることは、指定した欠陥を含む製品Rを写した画像(生成画像73)を生成器50により生成することができたことを示す。そのため、欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致すると判定した場合、制御部21は、この生成画像73を保存するための次のステップS205に処理を進める。
The fact that the result of estimating the defect type by the
一方、推定器52により欠陥の種別を推定した結果が入力値71と一致していないことは、指定した欠陥を含む製品Rを写した画像を生成器50により生成することができなかったことを示す。そのため、欠陥の種別を推定した結果が入力値71により示される欠陥の種別と一致しないと判定した場合、制御部21は、次のステップS205の処理を省略し、本動作例に係る処理を終了する。
On the other hand, the fact that the result of estimating the defect type by the
この場合、制御部21は、ステップS201により生成した生成画像73を破棄してもよい。或いは、制御部21は、生成した生成画像73に対して欠陥の種別及び範囲の少なくとも一方の指定を受け付けてもよい。そして、制御部21は、指定された欠陥の種別及び範囲の少なくとも一方を示す情報を生成画像73に関連付けることでデータセットを生成し、生成したデータセットを所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
In this case, the
(ステップS205)
ステップS205では、制御部21は、画像保存部214として動作し、生成した生成画像73と欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する。本実施形態では、制御部21は、欠陥の範囲を推定した結果を示す情報を境界情報77として生成する。また、制御部21は、入力値71に対応して、欠陥の種別を示す情報をラベル75として生成する。そして、制御部21は、生成画像73、ラベル75、及び境界情報77を組み合わせることでデータセットを生成し、生成したデータセットを所定の記憶領域に格納する。所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。なお、この一連の処理において、ラベル75は省略されてもよい。すなわち、制御部21は、ラベル75の生成を省略し、生成画像73及び境界情報77を組み合わせることでデータセットを生成し、生成したデータセットを所定の記憶領域に格納してもよい。
(Step S205)
In step S205, the
以上により、制御部21は、本動作例に係る処理を終了する。制御部21は、上記ステップS201~S205を繰り返し実行することで、複数のデータセットを生成してもよい。生成するデータセットの数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。また、制御部21は、生成したデータセットを学習データセット322として利用させるために、生成したデータセットを推定器生成装置3に転送してもよい。
As a result, the
[推定器生成装置]
次に、図14を用いて、本実施形態に係る推定器生成装置3の動作例について説明する。図14は、本実施形態に係る推定器生成装置3の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Estimator generator]
Next, an operation example of the
(ステップS301)
ステップS301では、制御部31は、データ取得部311として動作し、製品Rを写したサンプル画像3221、製品Rに含まれ得る欠陥の種別を示すラベル3222、及び製品Rに含まれ得る欠陥の範囲を示す境界情報3223の組み合わせによりそれぞれ構成された複数の学習データセット322を取得する。
(Step S301)
In step S301, the
学習データセット322を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラ及び製品Rを用意し、欠陥のある又は欠陥のない製品Rをカメラにより撮影する。これにより、サンプル画像3221を生成することができる。次に、サンプル画像3221に写る製品Rに含まれ得る欠陥の種別を示すラベル3222、及び欠陥の範囲を示す境界情報3223を適宜生成する。ラベル3222及び境界情報3223を生成する方法は、上記ラベル63及び境界情報65を生成する方法と同様であってよい。境界情報3223は、バウンディングボックスにより欠陥の範囲を示すように適宜生成されてよい。また、サンプル画像3221に写る製品Rに欠陥が含まれない場合、ラベル3222及び境界情報3223の各値は、製品Rに欠陥が含まれないことを示すように適宜設定されてよい。そして、生成したラベル3222及び境界情報3223を対応するサンプル画像3221に関連付ける。これにより、各学習データセット322を生成することができる。
The method for acquiring the
この学習データセット322の生成は、コンピュータの動作により自動的に行われてもよいし、オペレータの操作により手動的に行われてもよい。また、この学習データセット322を生成する情報処理は、推定器生成装置3において実行されてもよいし、推定器生成装置3以外の他のコンピュータにより行われてもよい。
The generation of the learning
学習データセット322を推定器生成装置3が生成する場合、制御部31は、自動的又はオペレータの操作により手動的に上記情報処理を実行することで、複数の学習データセット322を取得する。一方、学習データセット322を他のコンピュータが生成する場合、制御部31は、例えば、ネットワーク、記憶媒体93等を介して、他のコンピュータにより生成された複数の学習データセット322を取得する。一部の学習データセット322を推定器生成装置3が生成し、残りの学習データセット322を他のコンピュータが生成してもよい。
When the
ここで、取得される学習データセット322の少なくとも一部は、画像生成装置2により生成されたデータセットであってよい。すなわち、少なくとも一部の学習データセット322のサンプル画像3221、ラベル3222、及び境界情報3223はそれぞれ、上記生成画像73、ラベル75、及び境界情報77であってよい。制御部31は、ネットワーク、記憶媒体93等を介して、画像生成装置2により生成されたデータセットを学習データセット322として取得してもよい。
Here, at least a part of the learning
取得する学習データセット322の件数は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。複数の学習データセット322を取得すると、制御部31は、次のステップS302に処理を進める。
The number of
(ステップS302)
ステップS302では、制御部31は、学習処理部312として動作し、複数の学習データセット322を利用して、推定器80の機械学習を実施する。この機械学習では、制御部31は、各学習データセット322について、サンプル画像3221を入力層801に入力すると、対応するラベル3222及び境界情報3223と一致する出力値を出力層803から出力するように推定器80を訓練する。これにより、制御部31は、製品Rの良否を判定する能力を習得した学習済みの推定器80を構築する。
(Step S302)
In step S302, the
この機械学習の処理は、基本的には、上記学習装置1による機械学習の処理と同様に実行されてよい。すなわち、制御部31は、処理対象となる推定器80を用意する。用意する推定器80の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部31は、過去の機械学習を行うことで得られた学習結果データに基づいて、推定器80を用意してもよい。
This machine learning process may be basically executed in the same manner as the machine learning process by the
次に、制御部31は、ステップS301で取得した各学習データセット322に含まれるサンプル画像3221を入力データとして利用し、対応するラベル3222及び境界情報3223を教師データとして利用して、推定器80の学習処理を実行する。この学習処理には、確率的勾配降下法等が用いられてよい。
Next, the
例えば、制御部31は、各学習データセット322について、サンプル画像3221を入力層801に入力し、入力側から順に各層801~803に含まれる各ニューロンの発火判定を行う。これにより、制御部31は、サンプル画像3221に写る製品Rに含まれ得る欠陥の種別及び範囲を推定した結果に対応する出力値を出力層803から取得する。次に、制御部31は、各結果に対応する出力値とラベル3222及び境界情報3223の各値との誤差を算出する。続いて、制御部31は、誤差逆伝播法により、算出した出力値の誤差を用いて、推定器80における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部31は、算出した各誤差に基づいて、推定器80における各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
For example, the
制御部31は、上記一連の処理を繰り返すことで、各学習データセット322について、サンプル画像3221を入力すると、対応するラベル3222及び境界情報3223と一致する出力値を出力するように、推定器80のパラメータの値を調節する。例えば、制御部31は、各学習データセット322について、出力層803から得られる出力値とラベル3222及び境界情報3223の各値との誤差の和が閾値以下になるまで、上記一連の処理による推定器80のパラメータの値の調節を繰り返す。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部31は、各学習データセット322について、サンプル画像3221を入力層801に入力すると、対応するラベル3222及び境界情報3223と一致する出力値を出力層803から出力するように訓練された推定器80を構築することができる。この推定器80の機械学習の処理が完了すると、制御部31は、次のステップS303に処理を進める。なお、パラメータの調節を繰り返す基準は、このような閾値を用いる例に限定されなくてもよい。例えば、制御部31は、、指定された回数分、上記一連の処理により、推定器80のパラメータの値の調節を繰り返すようにしてもよい。
By repeating the above series of processes, the
(ステップS303)
ステップS303では、制御部31は、保存処理部313として動作し、構築された学習済みの推定器80に関する情報を所定の記憶領域に保存する。本実施形態では、制御部31は、ステップS302により構築された学習済みの推定器80の構成及びパラメータを示す情報を第3学習結果データ325として生成する。そして、制御部31は、生成した第3学習結果データ325を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部31内のRAM、記憶部32、外部記憶装置(例えば、NAS等のデータサーバ)、記憶メディア又はこれらの組み合わせであってよい。これにより、制御部31は、本動作例に係る処理を終了する。
(Step S303)
In step S303, the
なお、学習済みの推定器80を構築した後、制御部31は、生成した第3学習結果データ325を任意のタイミングで検査装置4に転送してもよい。検査装置4は、推定器生成装置3から転送を受け付けることで第3学習結果データ325を取得してもよいし、推定器生成装置3又はデータサーバにアクセスすることで第3学習結果データ325を取得してもよい。第3学習結果データ325は、検査装置4に予め組み込まれてもよい。
After constructing the trained
また、制御部31は、上記ステップS301~303の処理を定期的に繰り返すことで、第3学習結果データ325を定期的に更新してもよい。この繰り返す際には、学習データセット322の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部31は、更新した第3学習結果データ325を機械学習の実行毎に検査装置4に転送することで、検査装置4の保持する第3学習結果データ325を定期的に更新してもよい。
Further, the
更に、制御部31は、評価用データセットを利用して、構築した推定器80の判定性能を評価してもよい。評価用データセットは、上記各学習データセット322と同様に構成可能である。すなわち、評価用データセットは、製品Rを写したサンプル画像、製品Rに含まれ得る欠陥の種別を示すラベル、及び製品Rに含まれ得る欠陥の範囲を示す境界情報の組み合わせにより構成されてよい。制御部31は、後述するステップS402と同様に、推定器80を利用して、評価用データセットのサンプル画像に写る製品Rの良否を判定する。制御部31は、この判定結果とラベル及び境界情報により示される正解とを照合することで、推定器80の判定性能を評価することができる。
Further, the
この推定器80の判定性能が所定の基準以下である(例えば、正答率が閾値以下である)場合には、制御部31は、複数の学習データセット322から選択した1又は複数の学習データセット322を学習装置1に送信してもよい。次に、制御部31は、送信した学習データセット322を学習データセット60として利用させて、生成器50及び推定器52の機械学習の処理を学習装置1に実行させてよい。これにより、サンプル画像3221に対応する画像を生成するための生成器50、並びに生成された画像に対して製品Rに含まれる欠陥の種別及び範囲を推定するための推定器52を学習装置1に構築させることができる。制御部31は、学習装置1に学習済みの生成器50及び推定器52を画像生成装置2へ転送させてもよい。そして、制御部31は、学習済みの生成器50及び推定器52を利用して、生成画像73、ラベル75、及び境界情報77の組み合わせによりそれぞれ構成された1又は複数のデータセットを生成する処理を画像生成装置2に実行させてもよい。
When the determination performance of the
これに応じて、制御部31は、画像生成装置2により生成された1又は複数のデータセットを学習データセット322として取得してもよい。そして、制御部31は、取得した1又は複数の学習データセット322を元の学習データ群に追加してもよい。これにより、制御部31は、機械学習に利用する学習データセット322の件数を増やすことができる。制御部31は、この新たな学習データ群を利用して、推定器80の機械学習を再度実施してもよい。この一連の再学習の処理により、構築された学習済みの推定器80の判定性能を高めることができる。
In response to this, the
[検査装置]
次に、図15を用いて、本実施形態に係る検査装置4の動作例について説明する。図15は、本実施形態に係る検査装置4の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
[Inspection equipment]
Next, an operation example of the
(ステップS401)
ステップS401では、制御部41は、対象データ取得部411として動作し、外観検査の対象となる製品Rの写る対象画像422を取得する。本実施形態では、検査装置4は、外部インタフェース47を介してカメラCAに接続している。そのため、制御部41は、カメラCAから対象画像422を取得する。この対象画像422は、動画像データであってもよいし、静止画像データであってもよい。対象画像422を取得すると、制御部41は、次のステップS402に処理を進める。
(Step S401)
In step S401, the
ただし、対象画像422を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置4とは異なる他の情報処理装置が、カメラCAに接続されていてもよい。この場合、制御部41は、他の情報処理装置を介して対象画像422を取得してもよい。
However, the route for acquiring the
(ステップS402)
ステップS402では、制御部41は、良否判定部412として動作し、学習済みの推定器80を利用して、対象画像422に写る製品Rの良否を判定する。
(Step S402)
In step S402, the
具体的には、制御部41は、第3学習結果データ325を参照して、学習済みの推定器80の設定を行う。次に、良否判定部412は、取得した対象画像422を推定器80の入力層801に入力し、入力側から順に各層801~803に含まれる各ニューロンの発火判定を行う。これにより、制御部41は、対象画像422に写る製品Rに含まれ得る欠陥の種別及び範囲を推定した結果に対応する出力値を推定器80の出力層803から取得する。
Specifically, the
これにより、制御部41は、推定器80から取得した出力値に基づいて、対象画像422に写る製品Rの良否を判定する。推定器80から取得した出力値が製品Rに欠陥が含まれることを示す場合、制御部41は、この出力値から、製品Rは良品ではない(すなわち、欠陥を含む)と判定することができる。この場合、制御部41は、推定器80から取得した出力値から、その欠陥の種別及び範囲を特定することができる。欠陥の範囲は、バウンディングボックスにより示される。一方、推定器80から取得した出力値が製品Rに欠陥が含まれないことを示す場合、制御部41は、この出力値から、製品Rは良品である(すなわち、欠陥を含まない)と判定することができる。
As a result, the
なお、この良否の判定は、推定器80の出力形式に応じて適宜行われてもよい。例えば、推定器80は、欠陥の各種別に応じて、その欠陥の発生確率を出力するように構成されてもよい。この場合、制御部41は、推定器80の出力値と閾値とを比較することで、製品Rの良否を判定することができる。すなわち、閾値を超える(又は以上の)出力値が存在する場合に、制御部41は、製品Rは良品ではなく、その出力値に対応する種別の欠陥が製品Rに含まれていると判定することができる。他方、そうではない場合に、制御部41は、製品Rは良品であると判定することができる。
The quality of the determination may be appropriately determined according to the output format of the
また、例えば、推定器80は、欠陥の種別(欠陥を含まないことを含む)に対応するクラスを出力するように構成されてもよい。この場合、検査装置4は、推定器80から得られる出力値と欠陥の種別とを対応付けたテーブル形式等の参照情報(不図示)を記憶部42に保持していてもよい。これに応じて、制御部41は、参照情報を参照することにより、推定器80から得られた出力値に応じて、対象画像422に写る製品Rの良否を判定することができる。
Further, for example, the
以上により、制御部41は、推定器80を利用して、対象画像422に写る製品Rの良否を判定することができる。製品Rの良否の判定が完了すると、制御部41は、次のステップS403に処理を進める。
As described above, the
(ステップS403)
ステップS403では、制御部41は、出力部413として動作し、ステップS402により製品Rの良否を判定した結果を出力する。
(Step S403)
In step S403, the
製品Rの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部41は、製品Rの良否を判定した結果をそのまま出力装置45に出力してもよい。更に、ステップS402において、製品Rに欠陥があると判定した場合、制御部41は、欠陥を発見したことを知らせるための警告を本ステップS403の出力処理として行ってもよい。このとき、制御部41は、発見した欠陥の存在する範囲をバウンディングボックスにより示すことができる。
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
また、制御部41は、本ステップS403の出力処理として、製品Rの良否を判定した結果に応じた所定の制御処理を実行してもよい。具体例として、検査装置4は、製品の搬送を行う製造ラインに接続されていてもよい。この場合に、制御部41は、製品Rに欠陥があると判定したときに、欠陥のある製品Rを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップ403の出力処理として行ってもよい。
Further, the
製品Rの良否を判定した結果の出力処理が完了すると、制御部41は、本動作例に係る処理を終了する。なお、制御部41は、製造ライン上を搬送される製品RがカメラCAの撮影範囲に入る度に、ステップS401~S403の一連の処理を実行してもよい。これにより、検査装置4は、製造ライン上を搬送される製品Rの外観検査を行うことができる。
When the output processing as a result of determining the quality of the product R is completed, the
[特徴]
以上のとおり、本実施形態に係る学習装置1は、ステップS102及びS103の処理により、学習画像61に対応する画像を生成するように訓練された生成器50を構築すると共に、学習画像61に写る欠陥の種別及び範囲を推定するように訓練された推定器52を構築することができる。これらのうち、生成器50を利用することで、指定した欠陥を含む製品の写り得るサンプル画像を自動的に生成することができる。加えて、推定器52を利用することで、生成されたサンプル画像に写る製品Rに含まれる欠陥の範囲を推定し、推定した欠陥の範囲を示す情報を境界情報としてサンプル画像に自動的に付与することができる。したがって、本実施形態によれば、学習データを用意する際に、サンプル画像内において欠陥の範囲を手動で指定する手間を省略することができる。そのため、欠陥の範囲を検出する能力を習得させるための機械学習に利用する学習データを用意するのにかかるコストを低減することができる。
[feature]
As described above, the
また、本実施形態に係る画像生成装置2では、ステップS201~S205の一連の処理により、学習装置1により構築された生成器50及び推定器52を利用することで、欠陥の範囲を手動で指定する手間を省略した上で、欠陥の範囲を検出する能力を習得させるための機械学習に利用可能なデータセットを生成することができる。加えて、本実施形態では、画像生成装置2により生成されたデータセットを学習データセット322として利用することができる。これにより、本実施形態に係る推定器生成装置3では、上記ステップS301において、学習データセット322を収集するコストを低減することができる。更に、本実施形態では、画像生成装置2にデータセットを生成させることで、推定器80の機械学習に利用する学習データセット322の件数を増やすことができる。これにより、本実施形態に係る検査装置4では、製品Rの良否を判定する精度を高めることができる。
Further, in the
§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、推定器52、判別器54、エンコーダ56、及び推定器80それぞれには、いわゆる多層構造の全結合ニューラルネットワークが用いられている。しかしながら、生成器50、推定器52、判別器54、エンコーダ56、及び推定器80それぞれを構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、生成器50、推定器52、判別器54、エンコーダ56、及び推定器80それぞれには、畳み込みニューラルネットワークが利用されてもよい。
<4.1>
In the above embodiment, a so-called multi-layered fully connected neural network is used for each of the
また、上記実施形態では、生成器50、推定器52、及び推定器80を構成する学習モデルとしてニューラルネットワークが用いられている。しかしながら、生成器50、推定器52、及び推定器80それぞれを構成する学習モデルは、画像の機械学習を実施可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
Further, in the above embodiment, a neural network is used as a learning model constituting the
<4.2>
上記実施形態では、第1学習結果データ123は、生成器50の構成を示す情報を含んでいる。第2学習結果データ125は、推定器52の構成を示す情報を含んでいる。第3学習結果データ325は、推定器80の構成を示す情報を含んでいる。しかしながら、各学習結果データ(123、125、325)の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、それぞれに利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ(123、125、325)は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
<4.2>
In the above embodiment, the first
<4.3>
上記実施形態では、境界情報(65、77、3223)は、バウンディングボックスにより欠陥の範囲を示す。しかしながら、欠陥の範囲を示す方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。欠陥の範囲は、バウンディングボックス以外の形式で示されてもよい。
<4.3>
In the above embodiment, the boundary information (65, 77, 3223) indicates the range of defects by the bounding box. However, the method for indicating the range of defects does not have to be limited to such an example, and may be appropriately selected depending on the embodiment. The extent of the defect may be indicated in a format other than the bounding box.
<4.4>
上記実施形態では、推定器生成装置3は、ラベル3222及び境界情報3223を教師データとして利用することで、画像に写る製品Rに含まれ得る欠陥の種別及び範囲を推定するように訓練された推定器80を構築している。しかしながら、推定器80に習得される能力は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、この一連の処理から、ラベル3222は省略されてよい。これにより、推定器生成装置3は、欠陥の範囲のみを推定するように訓練された推定器80を構築することができる。
<4.4>
In the above embodiment, the
<4.5>
上記実施形態に係る学習ネットワーク500では、エンコーダ56の出力が生成器50の入力に接続されており、生成器50の出力が推定器52の入力及び判別器54の入力に接続されている。そして、機械学習の処理では、算出される各誤差(LC、LBB、LKL、LD、LGD、LGC、LG)の和が小さくなるように、学習ネットワーク500の各パラメータの値が調節される。しかしながら、学習ネットワーク500の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。各機械学習の処理は、生成器50及び推定器52の構成に応じて適宜選択されてよい。生成器50及び推定器52はそれぞれ単独で訓練されてもよい。
<4.5>
In the
図16は、本変形例に係る学習ネットワーク500Aを保持する学習装置1のソフトウェア構成の一例を模式的に例示する。上記実施形態に係る学習ネットワーク500が学習ネットワーク500Aに置き換わる点を除き、本変形例に係る学習装置1は、上記実施形態と同様に構成されている。
FIG. 16 schematically illustrates an example of the software configuration of the
本変形例に係る学習ネットワーク500Aは、生成器50A及び判別器54Aを含んでいる。生成器50Aの出力は、判別器54Aの入力に接続されている。一方、推定器52Aは、生成器50Aには接続されておらず、学習ネットワーク500Aから切り離されている。本変形例では、推定器52Aは、個別に訓練される。
The
次に、図17A~図17Cを更に用いて、生成器50A及び推定器52Aの機械学習の過程の一例について説明する。図17A及び図17Bは、生成器50Aを含む学習ネットワーク500Aの機械学習の過程の一例を模式的に例示する。図17Cは、推定器52Aの機械学習の過程の一例を模式的に例示する。
Next, an example of the machine learning process of the
本変形例では、第1学習処理部112は、学習ネットワーク500Aの機械学習を行う。この学習ネットワーク500Aの機械学習を行うことは、判別器54Aを訓練する第1訓練ステップ及び生成器50Aを訓練する第2訓練ステップを交互に行うことを含む。本変形例に係る生成器50A及び判別器54Aそれぞれの構成は、上記実施形態に係る生成器50及び判別器54それぞれと同様であってよい。本変形例に係る第1訓練ステップ及び第2訓練ステップはそれぞれ、上記実施形態に係る第1訓練ステップ及び第2訓練ステップとほぼ同様である。すなわち、第1訓練ステップでは、第1学習処理部112は、判別器54Aに入力された入力画像が、生成器50Aにより生成された画像69であるか複数の学習データセット60から得られた学習画像61であるかを判別するように、判別器54Aを訓練する。第2訓練ステップでは、第1学習処理部112は、生成器50Aにより生成される画像69が、判別器54Aによる判別を誤らせるようなものとなるように、生成器50Aを訓練する。
In this modification, the first learning processing unit 112 performs machine learning of the
具体的には、図17Aに示されるとおり、第1訓練ステップでは、第1学習処理部112は、所定の確率分布からノイズ(潜在変数)を抽出し、抽出したノイズと各ラベル63とを組み合わせて、複数の第1データセットを生成する。所定の確率分布は、例えば、ガウス分布、一様分布等であってよい。ノイズの抽出には、任意の確率分布が利用されてよい。続いて、第1学習処理部112は、各第1データセット(各ラベル63及びノイズ)を生成器50Aに入力し、生成器50Aの演算処理を実行する。これにより、第1学習処理部112は、各ラベル63から画像を生成した結果に対応する出力(画像69)を生成器50Aから取得する。第1学習処理部112は、生成された各画像69と各ラベル63とを組み合わせることで、複数の第2データセットを生成する。
Specifically, as shown in FIG. 17A, in the first training step, the first learning processing unit 112 extracts noise (latent variable) from a predetermined probability distribution, and combines the extracted noise with each
次に、第1学習処理部112は、各第2データセット(生成器50Aの生成した各画像69及び各ラベル63)を判別器54Aに入力し、判別器54Aの演算処理を実行する。これにより、第1学習処理部112は、入力画像が生成器50A由来か学習データセット60由来かを判別した結果に対応する出力値を判別器54Aから取得する。この場面では、生成器50Aにより生成された各画像69が入力画像であるため、判別器54Aは、「偽」と判別するのが正解である。第1学習処理部112は、各第2データセットについて、判別器54Aから得られる出力値とこの正解との誤差(LDA)を算出する。
Next, the first learning processing unit 112 inputs each second data set (each
同様に、第1学習処理部112は、各学習データセット60に含まれる学習画像61及びラベル63を判別器54Aに入力し、判別器54Aの演算処理を実行する。これにより、第1学習処理部112は、入力画像が生成器50A由来か学習データセット60由来かを判別した結果に対応する出力値を判別器54Aから取得する。この場面では、各学習画像61が入力画像であるため、判別器54Aは、「真」と判別するのが正解である。第1学習処理部112は、各学習データセット60について、判別器54Aから得られる出力値とこの正解との誤差(LDA)を算出する。
Similarly, the first learning processing unit 112 inputs the learning
そして、第1学習処理部112は、算出される誤差(LDA)の和が小さくなるように、判別器54Aのパラメータの値を調節する。例えば、判別器54から得られる出力値と真偽の正解との誤差の和が閾値以下になるまで、第1学習処理部112は、上記一連の処理により、判別器54Aのパラメータの値の調節を繰り返す。これにより、第1訓練ステップでは、第1学習処理部112は、判別器54Aに入力された入力画像が、生成器50Aにより生成された画像69であるか複数の学習データセット60から得られた学習画像61であるかを判別するように、判別器54Aを訓練する。
Then, the first learning processing unit 112 adjusts the value of the parameter of the
図17Bに示されるとおり、第2訓練ステップでは、第1学習処理部112は、所定の確率分布からノイズ(潜在変数)を抽出し、抽出したノイズと各ラベル63とを組み合わせて、複数のデータセットを生成する。各データセットは、上記第1データセットと同じでもよいし、異なっていてもよい。続いて、第1学習処理部112は、各データセット(各ラベル63及びノイズ)を生成器50Aに入力し、生成器50Aの演算処理を実行する。これにより、第1学習処理部112は、各ラベル63から画像を生成した結果に対応する出力(画像69)を生成器50Aから取得する。
As shown in FIG. 17B, in the second training step, the first learning processing unit 112 extracts noise (latent variable) from a predetermined probability distribution, combines the extracted noise with each
次に、第1学習処理部112は、生成された各画像69及び対応する各ラベル63の組み合わせを判別器54Aに入力し、判別器54Aの演算処理を実行する。これにより、第1学習処理部112は、入力画像が生成器50A由来か学習データセット60由来かを判別した結果に対応する出力値を判別器54Aから取得する。この生成器50Aの訓練では、判別器54Aによる判別の結果が誤ることが正解である。つまり、判別器54Aから得られる出力値が「真」に対応することが正解である。第1学習処理部112は、各データセットについて、一連の処理により判別器54Aから得られる出力値とこの正解(つまり、「真」)との誤差(LGDA)を算出する。
Next, the first learning processing unit 112 inputs the combination of each generated
そして、第1学習処理部112は、算出される誤差(LGDA)の和が小さくなるように、生成器50Aのパラメータの値を調節する。例えば、各データセットについて、判別器54Aから得られる出力値と「真」との誤差の和が閾値以下になるまで、第1学習処理部112は、上記一連の処理により、生成器50Aのパラメータの値の調節を繰り返す。これにより、第2訓練ステップでは、第1学習処理部112は、生成器50Aにより生成される画像69が、判別器54Aによる判別を誤らせるようなものとなるように、生成器50Aを訓練する。
Then, the first learning processing unit 112 adjusts the value of the parameter of the
本変形例では、第1学習処理部112は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返すことで、各学習データセット60に含まれるラベル63の入力に対して、入力されたラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50Aを構築する。保存処理部114は、構築された生成器50Aの構成及びパラメータを示す第1学習結果データ123Aを生成し、生成した第1学習結果データ123Aを所定の記憶領域に保存する。
In this modification, the first learning processing unit 112 alternately repeats the first training step and the second training step, so that the input of the
一方、図17Cに示されるとおり、本変形例に係る推定器52Aは、いわゆる畳み込みニューラルネットワークにより構成されている。具体的に、本変形例に係る推定器52Aは、1又は複数の畳み込み層524、領域提案ネットワーク(region proposal network, RPN)525、ROI(region of interest)プーリング層526、1又は複数の全結合層527、分類部528、及び回帰部529を備えている。
On the other hand, as shown in FIG. 17C, the
畳み込み層524は、画像の畳み込み演算を行う層である。画像の畳み込みとは、画像と所定のフィルタとの相関を算出する処理に相当する。推定器52Aが複数の畳み込み層524を含む場合、最も入力側に配置された畳み込み層524に入力画像が入力され、最も出力側に配置された畳み込み層524の出力が領域提案ネットワーク525及びROIプーリング層526に接続される。
The
領域提案ネットワーク525は、最も出力側に配置される畳み込み層524から出力される特徴マップの局所領域毎に、物体らしさを示すスコアの付与された複数のバウンディングボックスを提案するように構成される。領域提案ネットワーク525は、例えば、1又は複数の全結合層、バウンディングボックスのパラメータ(位置及びアスペクト比)を予測する回帰ネットワーク、及び物体の有無を予測する分類ネットワークにより構成される。1又は複数の全結合層は、入力側に配置される。最も出力側に配置される全結合層の出力が、回帰ネットワーク及び分類ネットワークに接続される。回帰ネットワーク及び分類ネットワークはそれぞれ、例えば、1又は複数の全結合層により構成される。
The
ROIプーリング層526は、畳み込み層524から出力された特徴マップにおいて、領域提案ネットワーク525の出力に基づいて提案された任意サイズの物体領域候補をプーリングすることで、一定の大きさのベクトルに変換するように構成される。ROIプーリング層526の出力は、(最も入力側に配置された)全結合層527に接続される。
The
全結合層527は、隣接する層の間のニューロン全てを結合した層である。推定器52Aが複数の全結合層527を含む場合、最も出力側に配置された全結合層527の出力が分類部528及び回帰部529に接続される。分類部528は、最も出力側に配置された全結合層527の出力から画像に写る製品Rに含まれる欠陥の種別を分類するように構成される。分類部528は、例えば、全結合層により構成される。回帰部529は、最も出力側に配置された全結合層527の出力から画像に写る製品Rに含まれる欠陥の範囲(例えば、バウンディングボックス)を回帰するように構成される。回帰部529は、例えば、全結合層により構成される。
Fully connected
第2の機械学習では、第2学習処理部113は、領域提案ネットワーク525を訓練する第1訓練ステップとそれ以外の部分を訓練する第2訓練ステップとを交互に実行する。第1訓練ステップでは、第2学習処理部113は、物体の有無の分類に関する誤差とバウンディングボックスの位置及びアスペクト比に関する誤差とが小さくなるように、領域提案ネットワーク525のパラメータの値を調節する。第2訓練ステップでは、第2学習処理部113は、学習済みの領域提案ネットワーク525を利用して、上記実施形態と同様に、各誤差(LC、LBB)が小さくなるように、各パラメータの値を調節する。
In the second machine learning, the second learning processing unit 113 alternately executes the first training step for training the
本変形例では、第2学習処理部113は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返すことで、各学習データセット60に含まれる学習画像61の入力に対して、入力された学習画像61に関連付けられたラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52Aを構築する。保存処理部114は、構築された推定器52Aの構成及びパラメータを示す第2学習結果データ125Aを生成し、生成した第2学習結果データ125Aを所定の記憶領域に保存する。ただし、推定器52Aの構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。推定器52Aの構成は、上記推定器52と同様であってもよい。
In this modification, the second learning processing unit 113 is input to the input of the learning
(動作例)
次に、本変形例に係る学習装置1の動作例について説明する。本変形例に係る学習装置1は、各機械学習の処理過程の一部が上記実施形態と異なる点を除き、上記実施形態と同様に動作することができる。すなわち、ステップS101では、制御部11は、複数の学習データセット60を取得する。次のステップS102では、制御部11は、第1学習処理部112として動作し、生成器50Aに関する第1の機械学習を実行する。
(Operation example)
Next, an operation example of the
図18を更に用いて、第1の機械学習の処理手順の一例について説明する。図18は、本変形例に係る第1の機械学習の処理手順の一例を例示する。本変形例に係る第1の機械学習を行うことは、以下のステップS601~S603を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。 An example of the processing procedure of the first machine learning will be described further with reference to FIG. FIG. 18 illustrates an example of the processing procedure of the first machine learning according to this modification. Performing the first machine learning according to this modification includes the following steps S601 to S603. 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.
ステップS601を実行する前に、制御部11は、上記実施形態と同様に、処理対象となる生成器50A及び判別器54Aを用意する。ステップS601では、制御部11は、上記のとおり、算出される誤差(LDA)の和が小さくなるように、判別器54Aのパラメータの値を調節する。これにより、制御部11は、判別器54Aに入力された入力画像が、生成器50Aにより生成された画像69であるか複数の学習データセット60から得られた学習画像61であるかを判別するように、判別器54Aを訓練する。
Before executing step S601, the
ステップS602では、制御部11は、上記のとおり、算出される誤差(LGDA)の和が小さくなるように、生成器50Aのパラメータの値を調節する。これにより、制御部11は、生成器50Aにより生成される画像69が、判別器54Aによる判別を誤らせるようなものとなるように、生成器50Aを訓練する。なお、各ステップS601及びS602におけるパラメータの値の調節は、上記実施形態と同様に処理されてよい。
In step S602, the
ステップS603では、制御部11は、ステップS602及びS603の訓練ステップの実行を繰り返すか否かを判定する。訓練ステップの実行を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップS602及びS603の訓練ステップを実行する回数が予め設定されていてもよい。この場合、制御部11は、ステップS602及びS603の訓練ステップを実行した回数が設定回数に到達したか否かを判定する。ステップS602及びS603の訓練ステップを実行した回数が設定回数に到達していないと判定した場合には、制御部11は、ステップS601に処理を戻す。一方、ステップS602及びS603の訓練ステップを実行した回数が設定回数に到達したと判定した場合には、制御部11は、本変形例に係る第1の機械学習の処理を完了し、次のステップS103に処理を進める。これにより、制御部11は、各学習データセット60に含まれるラベル63の入力に対して、入力されたラベル63に関連付けられた学習画像61に対応する画像を生成するように訓練された生成器50を構築する。
In step S603, the
ステップS103では、制御部11は、第2学習処理部113として動作し、推定器52Aに関する第2の機械学習を実行する。第2の機械学習では、制御部11は、上記のとおり、領域提案ネットワーク525を訓練する第1訓練ステップとそれ以外の部分を訓練する第2訓練ステップとを交互に実行する。第1訓練ステップでは、制御部11は、物体の有無の分類に関する誤差とバウンディングボックスの位置及びアスペクト比に関する誤差とが小さくなるように、領域提案ネットワーク525のパラメータの値を調節する。第2訓練ステップでは、制御部11は、学習済みの領域提案ネットワーク525を利用して、各誤差(LC、LBB)が小さくなるように、各パラメータの値を調節する。各ステップにおけるパラメータの値の調節は、上記実施形態と同様に処理されてよい。これにより、制御部11は、各学習データセット60について、学習画像61の入力に対して、対応するラベル63及び境界情報65と一致するように、入力された学習画像61に写る製品Rに含まれる欠陥の種別及び範囲を推定するように訓練された推定器52を構築する。
In step S103, the
次のステップS104では、制御部11は、上記実施形態と同様に、構築された学習済みの生成器50Aに関する情報、及び構築された学習済みの推定器52Aに関する情報を所定の記憶領域に保存する。以上により、本変形例では、学習装置1は、上記実施形態に係る生成器50及び推定器52と同様の機能を有する生成器50A及び推定器52Aを生成することができる。
In the next step S104, the
<4.6>
上記実施形態では、画像に写る製品Rの外観検査を実施する場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の例に限られる訳ではない。本発明は、与えられた画像内で何らかの対象物の写る範囲を推定するあらゆる場面に適用可能である。製品Rの写る画像から何らかの対象物の写る画像に検査システム100で取り扱う画像を変更することで、与えられた画像内で何らかの対象物の写る範囲を推定する推定システムを構成することができる。
<4.6>
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 the range of an object in a given image is estimated. By changing the image handled by the
図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
すなわち、本変形例に係る学習装置1Bは、対象物RBを写した学習画像61B、対象物RBの種別を示すラベル63B、及び学習画像61B内における対象物RBの範囲を示す境界情報65Bの組み合わせによりそれぞれ構成された複数の学習データセット60Bを取得する。次に、学習装置1Bは、第1の機械学習を行うことで、各学習データセット60Bに含まれるラベル63Bの入力に対して、入力されたラベル63Bに関連付けられた学習画像61Bに対応する画像を生成するように訓練された生成器50Bを構築する。また、学習装置1Bは、第2の機械学習を行うことで、各学習データセット60Bに含まれる学習画像61Bの入力に対して、入力された学習画像61Bに関連付けられたラベル63B及び境界情報65Bと一致するように、入力された学習画像61Bに写る対象物RBの種別及び範囲を推定するように訓練された推定器52Bを構築する。生成器50B及び推定器52Bの構成は、上記生成器50及び推定器52と同じであってよい。また、生成器50B及び推定器52Bの機械学習の処理は、上記生成器50及び推定器52の機械学習の処理と同様であってよい。
That is, the
これに対して、画像生成装置2Bは、学習装置1Bにより構築された生成器50Bに、対象物RBの種別を示す入力値71Bを与えることで、対象物RBを含み得る生成画像73Bを生成する。次に、画像生成装置2Bは、学習装置1Bにより構築された推定器52Bに生成された生成画像73Bを与えることで、生成画像73Bに写り得る対象物RBの種別及び範囲を推定する。続いて、画像生成装置2Bは、生成画像73Bに写る対象物RBの種別を推定した結果が入力値71Bにより示される対象物RBの種別と一致するか否かを判定する。そして、画像生成装置2Bは、対象物RBの種別を推定した結果が入力値71Bにより示される対象物RBの種別と一致すると判定した場合に、生成した生成画像73Bと対象物RBの範囲を推定した結果とを関連付けて所定の記憶領域に格納する。
On the other hand, the
また、推定器生成装置3Bは、対象物RBを含み得るサンプル画像3221B、対象物RBの種別を示すラベル3222B、及び対象物RBの範囲を示す境界情報3223Bの組み合わせによりそれぞれ構成された複数の学習データセット322Bを取得する。次に、推定器生成装置3Bは、複数の学習データセット322Bを利用して、推定器80Bの機械学習を実施する。推定器80Bの構成は、上記推定器80と同じであってよい。また、推定器80Bの機械学習の処理は、上記推定器80の機械学習の処理と同様であってよい。これにより、推定器生成装置3Bは、サンプル画像3221Bを入力すると、対応するラベル3222B及び境界情報3223Bと一致する出力値を出力するように訓練された推定器80Bを構築することができる。そして、推定器生成装置3Bは、学習済みの推定器80Bの構成及びパラメータを示す情報を学習結果データ325Bとして生成する。なお、推定器生成装置3Bは、画像生成装置2Bにより生成されたデータセットを学習データセット322Bとして利用することができる。
Further, the
図20は、本変形例に係る推定装置4Bのソフトウェア構成の一例を模式的に例示する。本変形例に係る推定装置4Bは、対象物RBの写り得る対象画像422Bを取得する。本変形例では、推定装置4BにはカメラCAが接続されている。推定装置4Bは、このカメラCAにより対象物RBの存在し得る範囲を撮影することで対象画像422Bを取得する。次に、推定装置4Bの制御部は、推定部412Bとして動作し、学習結果データ325Bを参照して、学習済みの推定器80Bの設定を行う。続いて、推定装置4Bは、取得した対象画像422Bを学習済みの推定器80Bに入力し、学習済みの推定器80Bの演算処理を実行する。これにより、推定装置4Bは、対象物RBの種別及び範囲を推定した結果(すなわち、対象物RBを検出した結果)に対応する出力値を推定器80Bから取得する。そして、推定装置4Bは、推定器80Bから得られた出力値に基づいて対象物RBを検出した結果に関する情報を出力する。これにより、本変形例に係る推定システム100Bは、与えられた画像内で対象物RBの写る範囲を推定するように構成される。
FIG. 20 schematically illustrates an example of the software configuration of the
なお、対象物RBは、画像から検出する対象となり得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。対象物RBは、例えば、上記外観検査の対象となる製品、人物、人物の身体部位(例えば、顔等)等であってよい。また、道路交通の監視に本変形例を利用する場合、対象物RBは、例えば、車、歩行者、標識等であってもよい。 The type of the object RB may not be particularly limited as long as it can be a target to be detected from the image, and may be appropriately selected according to the embodiment. The object RB may be, for example, a product, a person, a body part of the person (for example, a face, etc.) to be subject to the visual inspection. Further, when the present modification is used for monitoring road traffic, the object RB may be, for example, a car, a pedestrian, a sign, or the like.
100…検査システム、
1…学習装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
111…(第1)データ取得部、112…第1学習処理部、
113…第2学習処理部、114…(第1)保存処理部、
121…学習プログラム、123…第1学習結果データ、
125…第2学習結果データ、
2…画像生成装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…入力装置、25…出力装置、26…ドライブ、
211…生成部、212…推定部、213…判定部、
214…画像保存部、
221…画像生成プログラム、
50…生成器、52…推定器、54…判別器、
56…エンコーダ、
60…(第1)学習データセット、
61…学習画像、63…ラベル、65…境界情報、
71…入力値、73…生成画像、75…ラベル、
77…境界情報、
3…推定器生成装置、
31…制御部、32…記憶部、33…通信インタフェース、
34…入力装置、35…出力装置、36…ドライブ、
311…(第2)データ取得部、
312…(第3)学習処理部、
313…(第2)保存処理部、
321…推定器生成プログラム、
322…(第2)学習データセット、
3221…サンプル画像、3222…ラベル、
3223…境界情報、
325…第3学習結果データ、
4…検査装置(推定装置)、
41…制御部、42…記憶部、43…通信インタフェース、
44…入力装置、45…出力装置、46…ドライブ、
47…外部インタフェース、
411…対象データ取得部、412…良否判定部、
413…出力部、
421…検査プログラム、
80…推定器、
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 ... (1st) data acquisition unit, 112 ... 1st learning processing unit,
113 ... 2nd learning processing unit, 114 ... (1st) storage processing unit,
121 ... learning program, 123 ... first learning result data,
125 ... Second 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 ... Estimating unit, 213 ... Judgment unit,
214 ... Image storage unit,
221 ... Image generation program,
50 ... generator, 52 ... estimator, 54 ... discriminator,
56 ... Encoder,
60 ... (1st) training data set,
61 ... learning image, 63 ... label, 65 ... boundary information,
71 ... Input value, 73 ... Generated image, 75 ... Label,
77 ... Boundary information,
3 ... Estimator generator,
31 ... control unit, 32 ... storage unit, 33 ... communication interface,
34 ... Input device, 35 ... Output device, 36 ... Drive,
311 ... (2nd) Data acquisition unit,
312 ... (3rd) Learning Processing Department,
313 ... (2nd) Preservation processing unit,
321 ... Estimator generation program,
322 ... (2nd) training data set,
3221 ... sample image, 3222 ... label,
3223 ... Boundary information,
325 ... Third 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,
80 ... Estimator,
91/92/93/94 ... Storage medium
Claims (6)
判別器を用いた第1の機械学習であって、前記各件の学習データセットに含まれる前記学習画像の画素の情報および前記ラベルを用いた第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築する第1学習処理部と、
第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築する第2学習処理部と、
前記第1の機械学習により構築された前記生成器に、前記欠陥の種別を示す入力値を与えることで、前記欠陥を含む前記製品を写した生成画像を生成する生成部と、
前記第2の機械学習により構築された前記推定器に生成された前記生成画像を与えることで、前記生成画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定する推定部と、
前記生成画像に写る前記製品に含まれる前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致するか否かを判定する判定部と、
前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致すると前記判定部が判定した場合に、生成した前記生成画像と前記欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する画像保存部と、
を備え、
前記生成器の出力は、前記判別器の入力に接続され、
前記第1の機械学習を行うことは、
前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように、前記判別器を訓練する第1訓練ステップと、
前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、
を交互に行うことを含む、
検査システム。 Data for acquiring a plurality of training data sets each composed of a combination of a training image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and boundary information indicating the range of the defect. Acquisition department and
It is the first machine learning using a discriminator, and by performing the first machine learning using the information of the pixel of the training image included in the training data set of each case and the label , each of the above cases. With a first learning processing unit that constructs a generator trained to generate an image corresponding to the training image associated with the input label in response to the input of the label included in the training data set of. ,
By performing the second machine learning, the input of the training image included in each of the training data sets is made to match the label and the boundary information associated with the input training image. A second learning processing unit that constructs an estimator trained to estimate the type and range of the defect contained in the product reflected in the input learning image.
A generator that generates a generated image of the product including the defect by giving an input value indicating the type of the defect to the generator constructed by the first machine learning.
By giving the generated image generated to the estimator constructed by the second machine learning, an estimation unit for estimating the type and range of the defect contained in the product reflected in the generated image, and an estimation unit.
A determination unit for determining whether or not the result of estimating the type of the defect contained in the product shown in the generated image matches the type of the defect indicated by the input value.
When the determination unit determines that the result of estimating the type of the defect matches the type of the defect indicated by the input value, the generated image is associated with the result of estimating the range of the defect. Image storage unit stored in the storage area of
Equipped with
The output of the generator is connected to the input of the discriminator.
Performing the first machine learning is
The discriminator is trained to discriminate whether the input image input to the discriminator is the image generated by the generator or the training image obtained from the plurality of training data sets. The first training step to do and
A second training step in which the generator is trained so that the image generated by the generator is such that the discrimination by the discriminator is erroneous.
Including alternating
Inspection system .
前記生成器の出力は、さらに前記推定器の入力に接続され、
前記第1の機械学習を行うことは、
前記第1訓練ステップと、
前記第2訓練ステップと、
前記生成器により生成される前記画像が、前記推定器により前記画像に写る製品に含まれる欠陥の種別を推定した結果が前記ラベルと一致するようなものとなるように、前記生成器を訓練する第3訓練ステップと、
前記ラベル及び潜在変数を前記生成器に入力することで前記生成器により生成された前記画像が、前記学習画像を復元したものとなるように、前記エンコーダ及び前記生成器を訓練する第4訓練ステップであって、前記潜在変数は、前記ラベル及び前記学習画像を前記エンコーダに入力することで前記エンコーダから得られる出力に基づいて導出される、第4訓練ステップと、
前記エンコーダから得られる出力に基づいて導出される前記潜在変数の分布が所定の事前分布に従うように前記エンコーダを訓練する第5訓練ステップと、
を含む、
請求項1に記載の検査システム。 The input of the generator is connected to the output of the encoder.
The output of the generator is further connected to the input of the estimator.
Performing the first machine learning is
The first training step and
The second training step and
The generator is trained so that the image generated by the generator is such that the result of estimating the type of defect contained in the product shown in the image by the estimator matches the label. The third training step and
A fourth training step of training the encoder and the generator so that the image generated by the generator by inputting the label and the latent variable into the generator is a restored image of the learning image. The fourth training step, wherein the latent variable is derived based on the output obtained from the encoder by inputting the label and the learning image into the encoder.
A fifth training step in which the encoder is trained so that the distribution of the latent variables derived from the output obtained from the encoder follows a predetermined prior distribution.
including,
The inspection system according to claim 1.
請求項1または2に記載の検査システム。 The extent of the defect is represented by the bounding box.
The inspection system according to claim 1 or 2 .
外観検査の対象となる製品を写した学習画像、前記製品に含まれる欠陥の種別を示すラベル、及び前記欠陥の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、
判別器を用いた第1の機械学習であって、前記各件の学習データセットに含まれる前記学習画像の画素の情報および前記ラベルを用いた第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、
第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築するステップと、
前記第1の機械学習により構築された前記生成器に、前記欠陥の種別を示す入力値を与えることで、前記欠陥を含む前記製品を写した生成画像を生成する生成ステップと、
前記第2の機械学習により構築された前記推定器に生成された前記生成画像を与えることで、前記生成画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定する推定ステップと、
前記生成画像に写る前記製品に含まれる前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致するか否かを判定する判定ステップと、
前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致すると前記判定ステップにて判定された場合に、生成した前記生成画像と前記欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する画像保存ステップと、
を実行し、
前記生成器の出力は、前記判別器の入力に接続され、
前記第1の機械学習を行うことは、
前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように、前記判別器を訓練する第1訓練ステップと、
前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、
を交互に行うことを含む、
検査方法。 The computer
A step of acquiring a plurality of training data sets each composed of a combination of a training image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and boundary information indicating the range of the defect. When,
It is the first machine learning using a discriminator, and by performing the first machine learning using the information of the pixel of the training image included in the training data set of each case and the label , each of the above cases. For the input of the label contained in the training data set of, a step of constructing a generator trained to generate an image corresponding to the training image associated with the input label.
By performing the second machine learning, the input of the training image included in each of the training data sets is made to match the label and the boundary information associated with the input training image. , Steps to build an estimator trained to estimate the type and extent of the defect contained in the product in the input learning image.
A generation step of generating a generated image showing the product including the defect by giving an input value indicating the type of the defect to the generator constructed by the first machine learning.
By giving the generated image generated to the estimator constructed by the second machine learning, an estimation step for estimating the type and range of the defect contained in the product reflected in the generated image, and an estimation step.
A determination step for determining whether or not the result of estimating the type of the defect contained in the product shown in the generated image matches the type of the defect indicated by the input value.
When it is determined in the determination step that the result of estimating the type of the defect matches the type of the defect indicated by the input value, the generated image is associated with the result of estimating the range of the defect. Image storage step to store in a predetermined storage area,
And run
The output of the generator is connected to the input of the discriminator.
Performing the first machine learning is
The discriminator is trained to discriminate whether the input image input to the discriminator is the image generated by the generator or the training image obtained from the plurality of training data sets. The first training step to do and
A second training step in which the generator is trained so that the image generated by the generator is such that the discrimination by the discriminator is erroneous.
Including alternating
Inspection method.
外観検査の対象となる製品を写した学習画像、前記製品に含まれる欠陥の種別を示すラベル、及び前記欠陥の範囲を示す境界情報の組み合わせによりそれぞれ構成された複数の学習データセットを取得するステップと、
判別器を用いた第1の機械学習であって、前記各件の学習データセットに含まれる前記学習画像の画素の情報および前記ラベルを用いた第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築するステップと、
第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定するように訓練された推定器を構築するステップと、
前記第1の機械学習により構築された前記生成器に、前記欠陥の種別を示す入力値を与えることで、前記欠陥を含む前記製品を写した生成画像を生成する生成ステップと、
前記第2の機械学習により構築された前記推定器に生成された前記生成画像を与えることで、前記生成画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定する推定ステップと、
前記生成画像に写る前記製品に含まれる前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致するか否かを判定する判定ステップと、
前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致すると前記判定ステップにて判定された場合に、生成した前記生成画像と前記欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する画像保存ステップと、
を実行させ、
前記生成器の出力は、前記判別器の入力に接続され、
前記第1の機械学習を行うことは、
前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように、前記判別器を訓練する第1訓練ステップと、
前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、
を交互に行うことを含む、
検査プログラム。 On the computer
A step of acquiring a plurality of training data sets each composed of a combination of a training image showing a product to be visually inspected, a label indicating the type of defect contained in the product, and boundary information indicating the range of the defect. When,
It is the first machine learning using a discriminator, and by performing the first machine learning using the information of the pixel of the training image included in the training data set of each case and the label , each of the above cases. For the input of the label contained in the training data set of, a step of constructing a generator trained to generate an image corresponding to the training image associated with the input label.
By performing the second machine learning, the input of the training image included in each of the training data sets is made to match the label and the boundary information associated with the input training image. , Steps to build an estimator trained to estimate the type and extent of the defect contained in the product in the input learning image.
A generation step of generating a generated image showing the product including the defect by giving an input value indicating the type of the defect to the generator constructed by the first machine learning.
By giving the generated image generated to the estimator constructed by the second machine learning, an estimation step for estimating the type and range of the defect contained in the product reflected in the generated image, and an estimation step.
A determination step for determining whether or not the result of estimating the type of the defect contained in the product shown in the generated image matches the type of the defect indicated by the input value.
When it is determined in the determination step that the result of estimating the type of the defect matches the type of the defect indicated by the input value, the generated image is associated with the result of estimating the range of the defect. Image storage step to store in a predetermined storage area,
To execute ,
The output of the generator is connected to the input of the discriminator.
Performing the first machine learning is
The discriminator is trained to discriminate whether the input image input to the discriminator is the image generated by the generator or the training image obtained from the plurality of training data sets. The first training step to do and
A second training step in which the generator is trained so that the image generated by the generator is such that the discrimination by the discriminator is erroneous.
Including alternating
Inspection program.
判別器を用いた第1の機械学習であって、前記各件の学習データセットに含まれる前記学習画像の画素の情報および前記ラベルを用いた第1の機械学習を行うことで、前記各件の学習データセットに含まれる前記ラベルの入力に対して、入力された前記ラベルに関連付けられた前記学習画像に対応する画像を生成するように訓練された生成器を構築する第1学習処理部と、
第2の機械学習を行うことで、前記各件の学習データセットに含まれる前記学習画像の入力に対して、入力された前記学習画像に関連付けられた前記ラベル及び前記境界情報と一致するように、入力された前記学習画像に写る前記対象物の種別及び範囲を推定するように訓練された推定器を構築する第2学習処理部と、
前記第1の機械学習により構築された前記生成器に、前記欠陥の種別を示す入力値を与えることで、前記欠陥を含む前記製品を写した生成画像を生成する生成部と、
前記第2の機械学習により構築された前記推定器に生成された前記生成画像を与えることで、前記生成画像に写る前記製品に含まれる前記欠陥の種別及び範囲を推定する推定部と、
前記生成画像に写る前記製品に含まれる前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致するか否かを判定する判定部と、
前記欠陥の種別を推定した結果が前記入力値により示される前記欠陥の種別と一致すると前記判定部が判定した場合に、生成した前記生成画像と前記欠陥の範囲を推定した結果とを関連付けて所定の記憶領域に格納する画像保存部と、
を備え、
前記生成器の出力は、前記判別器の入力に接続され、
前記第1の機械学習を行うことは、
前記判別器に入力された入力画像が、前記生成器により生成された前記画像であるか前記複数の学習データセットから得られた前記学習画像であるかを判別するように、前記判別器を訓練する第1訓練ステップと、
前記生成器により生成される前記画像が、前記判別器による前記判別を誤らせるようなものとなるように、前記生成器を訓練する第2訓練ステップと、
を交互に行うことを含む、
検査システム。
A data acquisition unit that acquires a plurality of learning data sets each composed of a combination of a learning image showing an object, a label indicating the type of the object, and boundary information indicating the range of the object in the learning image. When,
It is the first machine learning using a discriminator, and by performing the first machine learning using the information of the pixel of the training image included in the training data set of each case and the label , each of the above cases. With a first learning processing unit that constructs a generator trained to generate an image corresponding to the training image associated with the input label in response to the input of the label included in the training data set of. ,
By performing the second machine learning, the input of the training image included in each of the training data sets is made to match the label and the boundary information associated with the input training image. , A second learning processing unit that constructs an estimator trained to estimate the type and range of the object reflected in the input learning image.
A generator that generates a generated image of the product including the defect by giving an input value indicating the type of the defect to the generator constructed by the first machine learning.
By giving the generated image generated to the estimator constructed by the second machine learning, an estimation unit for estimating the type and range of the defect contained in the product reflected in the generated image, and an estimation unit.
A determination unit for determining whether or not the result of estimating the type of the defect contained in the product shown in the generated image matches the type of the defect indicated by the input value.
When the determination unit determines that the result of estimating the type of the defect matches the type of the defect indicated by the input value, the generated image is associated with the result of estimating the range of the defect. Image storage unit stored in the storage area of
Equipped with
The output of the generator is connected to the input of the discriminator.
Performing the first machine learning is
The discriminator is trained to discriminate whether the input image input to the discriminator is the image generated by the generator or the training image obtained from the plurality of training data sets. The first training step to do and
A second training step in which the generator is trained so that the image generated by the generator is such that the discrimination by the discriminator is erroneous.
Including alternating
Inspection system .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018190514A JP7059883B2 (en) | 2018-10-05 | 2018-10-05 | Learning device, image generator, learning method, and learning program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018190514A JP7059883B2 (en) | 2018-10-05 | 2018-10-05 | Learning device, image generator, learning method, and learning program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020060879A JP2020060879A (en) | 2020-04-16 |
JP7059883B2 true JP7059883B2 (en) | 2022-04-26 |
Family
ID=70219891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018190514A Active JP7059883B2 (en) | 2018-10-05 | 2018-10-05 | Learning device, image generator, learning method, and learning program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7059883B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021210413A1 (en) * | 2020-04-17 | 2021-10-21 | 株式会社Roxy | Discrimination target classification method, program employed in same, and discriminating device |
JP7419178B2 (en) * | 2020-07-01 | 2024-01-22 | 株式会社東芝 | Learning devices, methods and programs |
JP7396497B2 (en) | 2020-07-27 | 2023-12-12 | 日本電気株式会社 | Learning system, object detection system, learning method, and computer program |
CN112489218B (en) * | 2020-11-30 | 2024-03-19 | 江苏科技大学 | Single-view three-dimensional reconstruction system and method based on semi-supervised learning |
JP7393321B2 (en) * | 2020-12-14 | 2023-12-06 | 株式会社神戸製鋼所 | Machine learning device and method, and film adhesion evaluation device and method |
CN115447853A (en) * | 2022-09-28 | 2022-12-09 | 厦门烟草工业有限责任公司 | Defective cigarette packet recognition device and recognition method, rejection device and cigarette processing system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006337152A (en) | 2005-06-01 | 2006-12-14 | Sharp Corp | Method and apparatus for forming teaching image, method and apparatus for forming image processing algorithm, image inspecting method, image inspecting device, program and recording medium |
-
2018
- 2018-10-05 JP JP2018190514A patent/JP7059883B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006337152A (en) | 2005-06-01 | 2006-12-14 | Sharp Corp | Method and apparatus for forming teaching image, method and apparatus for forming image processing algorithm, image inspecting method, image inspecting device, program and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2020060879A (en) | 2020-04-16 |
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 | |
US9235902B2 (en) | Image-based crack quantification | |
KR20190063839A (en) | Method and System for Machine Vision based Quality Inspection using Deep Learning in Manufacturing Process | |
JP6844563B2 (en) | Inspection equipment, image identification equipment, identification equipment, inspection method, and inspection program | |
CN111222395A (en) | Target detection method and device and electronic equipment | |
Liu et al. | A night pavement crack detection method based on image‐to‐image translation | |
CN111758117B (en) | Inspection system, recognition system, and learning data generation device | |
Garfo et al. | Defect detection on 3d print products and in concrete structures using image processing and convolution neural network | |
JP7435303B2 (en) | Inspection device, unit selection device, inspection method, and inspection program | |
CN115830004A (en) | Surface defect detection method, device, computer equipment and storage medium | |
JP7164028B2 (en) | LEARNING SYSTEM, DATA GENERATION DEVICE, DATA GENERATION METHOD, AND DATA GENERATION PROGRAM | |
JP7056259B2 (en) | Inspection system, identification system, and classifier evaluation device | |
CN113706496B (en) | Aircraft structure crack detection method based on deep learning model | |
JP7059889B2 (en) | Learning device, image generator, learning method, and learning program | |
US20220405586A1 (en) | Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program | |
US20230260259A1 (en) | Method and device for training a neural network | |
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 | |
KR102538012B1 (en) | Method and apparatus for updating 3D model of object in virtual space | |
US20230005120A1 (en) | Computer and Visual Inspection Method | |
CN117474915B (en) | Abnormality detection method, electronic equipment and storage medium | |
CN114529792A (en) | Target detection method and training method of image detection model | |
JP2022023320A (en) | Appearance inspection device, appearance inspection method and program used in the same | |
CN114626452A (en) | Model training method, model detection method, robot, and storage medium |
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: 20220124 |
|
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: 7059883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |