WO2021100483A1 - モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム - Google Patents

モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム Download PDF

Info

Publication number
WO2021100483A1
WO2021100483A1 PCT/JP2020/041453 JP2020041453W WO2021100483A1 WO 2021100483 A1 WO2021100483 A1 WO 2021100483A1 JP 2020041453 W JP2020041453 W JP 2020041453W WO 2021100483 A1 WO2021100483 A1 WO 2021100483A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
background
estimator
training
difference
Prior art date
Application number
PCT/JP2020/041453
Other languages
English (en)
French (fr)
Inventor
竜 米谷
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to US17/772,182 priority Critical patent/US20220405586A1/en
Priority to EP20889952.6A priority patent/EP4064183A4/en
Priority to CN202080073252.0A priority patent/CN114556383A/zh
Publication of WO2021100483A1 publication Critical patent/WO2021100483A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Definitions

  • the present invention relates to a model generation device, an estimation device, a model generation method, and a model generation program.
  • Patent Document 1 it is determined whether the inspection target imaged in the image is normal or abnormal based on the learned first neural network, and when it is determined that the inspection target is abnormal, the case is determined.
  • An inspection device that classifies the type of the anomaly based on the learned second neural network has been proposed.
  • Japanese Unexamined Patent Publication No. 2012-026982 Japanese Unexamined Patent Publication No. 2017-111806
  • Japanese Unexamined Patent Publication No. 2014-049118 Japanese Unexamined Patent Publication No. 2019-071050 Japanese Patent No. 6264492
  • estimation (including prediction) tasks such as regression and classification are performed on unknown data of the same type as given training data. Can be executed. Therefore, according to the method using a machine learning model such as a neural network as in Patent Document 1, the appearance inspection of the product can be performed based on the output of the trained estimator.
  • a machine learning model such as a neural network as in Patent Document 1
  • the present inventor has found that the above-mentioned conventional method has the following problems.
  • an image of a product containing defects is collected as training data in advance. .. Detecting a defect may be to identify the type of defect. Basically, the more diverse the learning data collected, in other words, the more diverse the situation of defects appearing in the learning data, the more the accuracy of the visual inspection can be improved.
  • the number of types of defects and the types of background including the appearance of the product increases, the number of combinations of types of defects and background types increases, and the number of samples (and the number of samples desired to be collected as learning data) are increased. Type will also increase.
  • the background may also change when operating a trained estimator. In order to generate a trained estimator capable of performing visual inspection with high accuracy, it is desirable to collect samples for all combinations of defect types and background types, but collect samples for all combinations. It costs money. Therefore, for example, samples for all combinations have not been obtained, but for all types of defects to be detected, at the stage when some training data is collected, such as when samples are obtained, the machine of the machine learning model. It is conceivable to carry out learning.
  • the following problems may occur when there are combinations for which samples have not been obtained in the training data. That is, by machine learning, the machine learning model is trained to perform a desired estimation task by utilizing arbitrary information contained in the training data (sample). Therefore, when machine learning of the estimator is performed using the training data including defects and background, the generated trained estimator uses not only the information about the defects contained in the data but also the information about the background. And may have acquired the ability to perform estimation tasks related to defect detection. In such a case, the combination of the defect type and the background type for which the sample is not obtained cannot be reflected in the machine learning, so that the accuracy of estimation regarding the detection of the defect by the trained estimator for the combination is lowered. there is a possibility.
  • the estimator may acquire the ability to identify the type of background rather than the ability to detect defects according to the type.
  • the first product is likely to have a first defect and the second product is likely to have a second defect.
  • the obtained sample is biased to the image of the first product containing the first defect and the image of the second product containing the second defect. That is, it is assumed that the image of the first product including the second defect and the image of the second product including the first defect are not obtained as a sample of machine learning. It is assumed that the machine learning of the machine learning model was performed with the intention of learning the ability to detect defects according to the type using the samples obtained under this assumption.
  • the machine learning model acquires the ability to identify the background type, not the ability to detect and identify defects according to the type. There is a possibility that it will end up. That is, if the sample is biased, there is a possibility that the machine learning model will acquire an ability other than the intended ability. If you have mastered the ability to identify the type of background, when given an image of the first product containing the second defect, the trained estimator will have the first defect in the first product. It will be erroneously detected as occurring.
  • the trained estimator may be constructed to perform the estimation task related to defect detection, taking into account the background information contained in the image data.
  • the scene of estimating some feature included in the image data is, for example, a scene of estimating the foreground of the image data.
  • the estimation regarding the foreground may be, for example, estimating the attributes of the object reflected in the image data.
  • Patent Document 2 proposes to recognize a license plate by using a trained neural network.
  • Patent Document 3 proposes to identify characters by using a trained convolutional neural network.
  • Patent Document 4 proposes to estimate the density distribution and the movement vector distribution of a person appearing in a captured image by using a trained neural network.
  • Patent Document 5 proposes to estimate the degree of concentration of a driver on driving from a captured image by using a trained model.
  • the trained estimator is related to the background contained in the image data.
  • the information may be taken into account and constructed to perform the estimated task. Therefore, there is a problem that it is difficult to generate a robust trained estimator due to the difference in background.
  • the present invention has been made in view of such circumstances, the object of which is a trained estimator capable of performing an estimation task relating to the features of an object contained in image data, and the background. It is to provide a technique for producing a trained estimator that is robust against the difference between the two.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • the model generator acquires a plurality of training data sets each composed of a combination of training data which is image data and correct answer data showing features included in the training data.
  • the data acquisition unit the background acquisition unit that acquires the background data indicating the background of the training data for each training data set, and the difference between the acquired background data and the training data for each training data set.
  • the difference calculation unit that generates the difference data indicating the difference between the background data and the training data
  • the first training unit that performs the machine learning of the estimator, which is the machine learning of the estimator.
  • the practice of the above includes training the estimator so that the result of estimating the feature by the estimator from the generated difference data for each training data set matches the correct answer data. It is equipped with one training department.
  • the difference data for training with the background excluded is generated by differentiating the background data from the training data for each training data set.
  • the estimator is trained to estimate the features of the object from the training data excluding the background data information. This makes it possible to generate a trained estimator that has acquired the ability to perform an estimation task on a feature of interest without utilizing the background data information excluded in the difference calculation. That is, the information corresponding to the background data can be prevented from being considered when performing the estimation task related to the feature of the object by the trained estimator. Therefore, according to the model generator according to the configuration, it is a trained estimator capable of performing an estimation task related to the feature of the object included in the image data, and is a trained estimator robust against the difference in the background. Can be generated.
  • to acquire the background data is to generate the background data for the training data for each training data set by using a machine-learned generator.
  • a machine-learned generator May include. For example, when variations occur even in the same type of background such as when the shooting location is shifted, it is costly to prepare background data corresponding to each variation in advance. In addition, if the difference is calculated while ignoring the variation, most of the information about the background remains in the obtained difference data, and it may not be possible to properly generate a trained estimator that is robust against the difference in the background.
  • the machine-learned generator it is possible to generate the background data corresponding to the training data even if the background varies. Therefore, the cost of preparing the background data can be reduced. It is also possible to appropriately generate a trained estimator that is robust against different backgrounds.
  • the model generation device obtains the background data for the training data by performing machine learning using the second data acquisition unit for acquiring the training background data and the acquired learning background data. It may further include a second training unit that builds the machine-learned generator trained to generate. According to this configuration, a machine-learned generator capable of generating background data corresponding to the training data can be appropriately constructed. Then, by using the constructed machine-learned generator, it is possible to reduce the cost of preparing background data corresponding to the training data for each training data set. It is also possible to appropriately generate a trained estimator that is robust against different backgrounds. As the background data for learning, image data showing the same kind of background as the training data is used.
  • the difference calculation unit calculates the target area including each pixel of the training data and the pixels around each pixel and the corresponding pixels of the background data and the pixels around each pixel.
  • the difference data may be generated by taking the difference between each pixel of the training data and each corresponding pixel of the background data based on the correlation with the corresponding region including. Due to the influence of noise and the like, there is a possibility that the background data has an error with the background included in the training data. In particular, when the background data is generated by a machine-learned generator, the possibility is high.
  • this configuration by calculating the difference of the target pixel based on the correlation between the regions including the target pixel, the difference data is generated so that the error does not remain as compared with the simple difference calculation. can do. Therefore, according to this configuration, it is possible to appropriately generate a trained estimator that is robust against the difference in the background even if the background data may have an error.
  • model generator it may be related to the foreground of the training data. According to this configuration, it is possible to generate a trained estimator capable of robustly performing a foreground estimation task for different backgrounds.
  • the background and the foreground may be arbitrarily selected from the events that can be reflected in the image data.
  • the training data may be the image data in which the object is captured, and the feature may be an attribute of the object.
  • the object may be arbitrarily selected.
  • the object may be, for example, a product, a product packaging, a license plate, a moving body (for example, a vehicle, a person, etc.) that can move within the photographing range, a driver who drives the vehicle, or the like.
  • the object may be a product, and the attributes of the object may be related to defects in the product. According to this configuration, it is possible to generate a trained estimator capable of robustly performing a defect estimation task against a difference in background when performing a visual inspection.
  • the form of the present invention is not limited to the form of the model generator.
  • One aspect of the present invention may be an apparatus that utilizes a trained estimator generated by the model generator.
  • one aspect of the present invention is an estimator configured to perform an estimation task on a target feature on target image data using a trained generator generated by the model generator. There may be.
  • This estimation device may be read as an inspection device, an identification device, a monitoring device, a diagnostic device, a prediction device, or the like, depending on the type of estimation task in the application scene.
  • the estimation device includes a data acquisition unit that acquires target image data, a background acquisition unit that acquires target background data corresponding to the target image data, the target image data, and the target background.
  • the target generated by using a difference calculation unit that generates target difference data by taking a difference from the data and a machine-learned estimator generated by a model generator related to any of the above aspects. It includes an estimation unit that estimates features included in the difference data, and an output unit that outputs information about the result of estimating the features. According to this configuration, it is possible to robustly perform an estimation task regarding the characteristics of the object against the difference in background.
  • one aspect of the present invention may be an information processing method that realizes all or a part of each of the above configurations. 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 other device, machine, 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. Further, one aspect of the present invention may be an estimation system composed of a model generation device and an estimation device according to any one of the above forms.
  • a computer acquires a plurality of training data sets each composed of a combination of training data which is image data and correct answer data indicating features included in the training data.
  • the step of generating the difference data indicating the difference between the background data and the training data, and the step of performing the machine learning of the estimator, and the machine learning of the estimator is carried out in each of the above.
  • information processing that performs steps, including training the estimator so that the result of estimating the features by the estimator from the generated difference data matches the correct data. The method.
  • the model generation program acquires, to a computer, a plurality of training data sets each composed of a combination of training data which is image data and correct answer data indicating features included in the training data.
  • the step of generating the difference data indicating the difference between the background data and the training data, and the step of performing the machine learning of the estimator, and the machine learning of the estimator is carried out in each of the above.
  • For the training data set to execute a step, which includes training the estimator so that the result of estimating the feature by the estimator from the generated difference data matches the correct answer data. It is a program.
  • the present invention it is possible to generate a trained estimator capable of performing an estimation task related to a feature of an object included in image data and robust against a difference in background.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the model generator according to the embodiment.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the estimation device according to the embodiment.
  • FIG. 4A schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 4B schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 4C schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 5 schematically illustrates an example of the software configuration of the estimation device according to the embodiment.
  • FIG. 6A illustrates an example of a processing procedure for generating a trained generator by the model generator according to the embodiment.
  • FIG. 6A illustrates an example of a processing procedure for generating a trained generator by the model generator according to the embodiment.
  • FIG. 6B illustrates an example of the machine learning processing procedure of the generator according to the embodiment.
  • FIG. 7 illustrates an example of a processing procedure for generating a trained input estimator by the model generator according to the embodiment.
  • FIG. 8 illustrates an example of a processing procedure for generating a trained estimator by the model generator according to the embodiment.
  • FIG. 8 schematically illustrates an example of a method of calculating the difference between the training data and the background data.
  • FIG. 10 illustrates an example of the processing procedure of the estimation device according to the embodiment.
  • FIG. 11 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 12A schematically illustrates an example of the hardware configuration of the inspection device according to another form.
  • FIG. 12B schematically illustrates an example of the software configuration of the inspection device according to another form.
  • FIG. 13 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 14 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 15 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 16 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 17 schematically illustrates an example of the configuration of the generator according to another form.
  • the present embodiment 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.
  • 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, the data is specified in a pseudo language, commands, parameters, machine language, etc. that can be recognized by a computer.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • the estimation system 100 includes a model generation device 1 and an estimation device 2.
  • the model generator 1 is a computer configured to perform machine learning of the estimator 5. Specifically, the model generation device 1 according to the present embodiment acquires a plurality of learning data sets 30. Each learning data set 30 is composed of a combination of training data 31 and correct answer data 32 showing features included in the training data 31.
  • Training data 31 is a sample of image data.
  • the training data 31 may be referred to as a "training sample”, an "image sample”, or simply a “sample”.
  • the features may be arbitrarily selected.
  • the feature may relate to a component (element) that can appear directly or indirectly in the image data. Appearing directly corresponds to being reflected in image data. The indirect appearance corresponds to being derived from the event reflected in the image data.
  • the correct answer data 32 shows the correct answer of the estimation task regarding the feature of the target.
  • the correct answer data 32 may be referred to as a "teacher signal", a "label”, or the like.
  • “Estimation” may be read as "inference.”
  • To estimate is, for example, to derive a discrete value (for example, a class corresponding to a specific feature) by grouping (classification, identification), and to derive a continuous value (for example, the probability that a specific feature appears) by regression. ) May be derived.
  • the estimation may include making some kind of certification such as detection or determination based on the result of the grouping or regression.
  • the estimation may include the prediction.
  • the model generation device 1 acquires background data 35 indicating the background of the training data 31 for each learning data set 30.
  • the background may be appropriately selected from any component other than the feature that is the target of the estimation task included in the image data.
  • the background may be composed of all or part of the components other than the characteristics of interest.
  • the model generation device 1 according to the present embodiment generates the difference data 37 by taking the difference between the acquired background data 35 and the training data 31 for each learning data set 30.
  • the generated difference data 37 shows the difference between the background data 35 and the training data 31.
  • the model generation device 1 uses the generated difference data 37 to perform machine learning of the estimator 5.
  • the estimator 5 is configured to receive input of image data (sample), estimate the characteristics of the target included in the input image data, and output an output value corresponding to the estimation result.
  • the input and output formats of the estimator 5 may be arbitrarily determined according to the estimation task.
  • the estimator 5 is composed of a machine learning model (learner) which is a calculation parameter used for calculation and includes a calculation parameter adjusted by machine learning.
  • the type of machine learning model constituting the estimator 5 is not particularly limited and may be arbitrarily selected according to the embodiment. As will be described later, in this embodiment, a neural network is used for the estimator 5.
  • the estimator 5 is trained so that the result of estimating the characteristics from the generated difference data 37 by the estimator 5 matches the correct answer data 32. Including doing.
  • the model generator 1 can generate a trained estimator 5 that has acquired the ability to estimate features included in image data.
  • “trained” may be referred to as “machine-learned”, simply “learned”, or the like.
  • the model generation device 1 according to the present embodiment may be simply referred to as a "generation device", a “learning device”, or the like.
  • the estimation device 2 is configured to perform an estimation task related to a target feature on image data by using the machine-learned estimate device 5 generated by the model generation device 1. It is a computer. Specifically, the estimation device 2 according to the present embodiment acquires the target image data 41 to be executed by the estimation task.
  • the target image data 41 may be referred to as a “target sample”, an “image sample”, or simply a “sample”.
  • the estimation device 2 acquires the target background data 45 corresponding to the target image data 41.
  • the estimation device 2 generates the target difference data 47 by taking the difference between the target image data 41 and the target background data 45.
  • the estimation device 2 estimates the features included in the generated target difference data 47 by using the machine-learned estimator 5 generated by the model generation device 1. Then, the estimation device 2 outputs information regarding the result of estimating the feature.
  • the estimator 5 is targeted so as to match the correct answer data 32 from the training data 31 in which the information of the background data 35 is excluded. Trained to estimate the characteristics of.
  • the trained estimator 5 can acquire the ability to perform the estimation task related to the feature of the object without utilizing the information of the background data 35 excluded in the difference calculation. That is, the information corresponding to the background data 35 can be prevented from being taken into account when performing the estimation task related to the feature of the object by the trained estimator 5. Therefore, according to the model generator 1 according to the present embodiment, the trained estimator 5 capable of performing the estimation task related to the feature of the object included in the image data, and has been trained robustly against the difference in the background. Estimator 5 can be generated. In the estimation device 2 according to the present embodiment, by using the generated trained estimator 5, it is possible to robustly perform the estimation task regarding the feature of the target against the difference in the background.
  • the model generation device 1 and the estimation device 2 are connected to each other via a network.
  • the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
  • the method of exchanging data between the model generation device 1 and the estimation device 2 does not have to be limited to such an example, and may be appropriately selected depending on the embodiment.
  • data may be exchanged between the model generation device 1 and the estimation device 2 using a storage medium.
  • the model generation device 1 and the estimation device 2 are each configured by a separate computer.
  • the configuration of the estimation system 100 according to the present embodiment does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the model generation device 1 and the estimation device 2 may be an integrated computer.
  • at least one of the model generation device 1 and the estimation device 2 may be composed of a plurality of computers.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the model generation device 1 according to the present embodiment.
  • the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer that has been used.
  • the communication interface and the external interface are described as "communication I / F" and "external I / F".
  • the control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, which are hardware processors, and is configured to execute information processing based on a program and various data.
  • the storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the model generation program 81, the plurality of learning data sets 30, the plurality of learning background data 39, and the first to third learning result data 121 to 123.
  • the model generation program 81 is a program for causing the model generation device 1 to execute information processing (FIGS. 6A, 6B, 7 and 8) described later, which generates each trained model by performing machine learning. ..
  • the model generation program 81 includes a series of instructions for the information processing.
  • the model generation program 81 may be simply referred to as a "generation program", a "learning program”, or the like.
  • the training data set 30 is used for machine learning of the estimator 5.
  • the learning background data 39 is used for machine learning of the generator 60 described later.
  • the first to third learning result data 121 to 123 show information about each trained model constructed by machine learning, respectively. In the present embodiment, the first to third learning result data 121 to 123 are generated as a result of executing the model generation program 81, respectively.
  • the communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the model generation device 1 may execute data communication via a network with another information processing device by using the communication interface 13.
  • the external interface 14 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device.
  • the type and number of external interfaces 14 may be arbitrarily selected.
  • the model generator 1 may be connected to a camera for obtaining image samples such as training data 31 and learning background data 39 via at least one of a communication interface 13 and an external interface 14.
  • the input device 15 is, for example, a device for inputting a mouse, a keyboard, or the like.
  • the output device 16 is, for example, a device for outputting a display, a speaker, or the like. An operator such as a user can operate the model generation device 1 by using the input device 15 and the output device 16.
  • the drive 17 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading various information such as a program stored in the storage medium 91.
  • the storage medium 91 electrically, magnetically, optically, mechanically or chemically acts on the information of the program or the like so that the computer or other device, the machine or the like can read various information of the stored program or the like. It is a medium that accumulates by.
  • At least one of the model generation program 81, the plurality of learning data sets 30, and the plurality of learning background data 39 may be stored in the storage medium 91.
  • the model generation device 1 may acquire at least one of the model generation program 81, the plurality of learning data sets 30, and a plurality of learning background data 39 from the storage medium 91.
  • FIG. 2 illustrates a disc-type storage medium such as a CD or DVD as an example of the storage medium 91.
  • the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.
  • the type of the drive 17 may be arbitrarily selected according to the type of the storage medium 91.
  • the control unit 11 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like.
  • the storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 may be omitted.
  • the model generator 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the model generation device 1 may be a general-purpose server device, a PC (Personal Computer), or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the estimation device 2 according to the present embodiment.
  • the control unit 21, the storage unit 22, the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 are electrically connected. It is a computer.
  • the control units 21 to drive 27 and the storage medium 92 of the estimation device 2 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the model generation device 1, respectively.
  • the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data.
  • the storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage unit 22 stores various information such as the estimation program 82 and the first to third learning result data 121 to 123.
  • the estimation program 82 is a program for causing the estimation device 2 to execute information processing (FIG. 10) described later, which performs an estimation task related to a target feature on image data by using a trained estimator 5.
  • the estimation program 82 includes a series of instructions for this information processing. At least one of the estimation program 82 and the first to third learning result data 121 to 123 may be stored in the storage medium 92. Further, the estimation device 2 may acquire at least one of the estimation program 82 and the first to third learning result data 121 to 123 from the storage medium 92.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 21 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 22 may be composed of a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 may be omitted.
  • the estimation device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
  • the estimation device 2 may be a general-purpose server device, a general-purpose PC, a PLC (programmable logic controller), or the like, in addition to an information processing device designed exclusively for the provided service.
  • Model generator> 4A to 4C schematically illustrate an example of the software configuration of the model generator 1 according to the present embodiment.
  • the control unit 11 of the model generation device 1 expands the model generation program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 controls each component by interpreting and executing the instruction included in the model generation program 81 expanded in the RAM by the CPU.
  • the model generation device 1 has the first data acquisition unit 111, the background acquisition unit 112, the difference calculation unit 113, the first training unit 114, and the second data. It operates as a computer including an acquisition unit 115, a second training unit 116, a third data acquisition unit 117, a third training unit 118, and a storage processing unit 119 as software modules. That is, in the present embodiment, each software module of the model generation device 1 is realized by the control unit 11 (CPU).
  • the first data acquisition unit 111 acquires a plurality of training data sets 30 each composed of a combination of training data 31 which is image data and correct answer data 32 showing features included in the training data 31.
  • Each learning data set 30 is generated assuming a situation in which an estimation task related to a target feature is performed.
  • the background acquisition unit 112 acquires background data 35 indicating the background of the training data 31 for each learning data set 30.
  • the background data 35 corresponding to the training data 31 of each learning data set 30 may be appropriately generated.
  • acquiring the background data 35 may include generating the background data 35 for the training data 31 for each training data set 30 by using the machine-learned generator 60. ..
  • the difference calculation unit 113 generates difference data 37 indicating the difference between the background data 35 and the training data 31 by taking the difference between the acquired background data 35 and the training data 31 for each learning data set 30.
  • the first training unit 114 uses the generated difference data 37 to perform machine learning of the estimator 5. In this machine learning, the first training unit 114 trains the estimator 5 so that the result of estimating the features from the generated difference data 37 by the estimator 5 for each training data set 30 matches the correct answer data 32. ..
  • the second data acquisition unit 115 acquires a plurality of learning background data 39.
  • the learning background data 39 is generated so as to show the same kind of background as the training data 31 of each learning data set 30. It is preferable that the learning background data 39 is generated so that the information about the feature of the target is not captured and only the background is captured.
  • the second training unit 116 constructs a machine-learned generator 60 trained to generate background data 35 for training data 31 by performing machine learning using the acquired learning background data 39. To do. As with the estimator 5, any machine learning model may be used in the generator 60. The input and output formats of the generator 60 may be arbitrarily determined.
  • the configuration of the generator 60 and the machine learning method may be arbitrarily selected.
  • the classifier 61 is used for training the generator 60.
  • the generator 60 is configured to receive an input of noise 631 (latent variable), generate pseudo background data 633 from the input noise 631, and output an output value corresponding to the generated pseudo background data 633. ..
  • the classifier 61 is configured to receive input of background data (sample), identify the origin of the input background data (sample), and output an output value corresponding to the identified result. ..
  • any machine learning model may be used for the classifier 61.
  • the input and output formats of the classifier 61 may be arbitrarily determined.
  • the machine learning of the generator 60 includes a first training step for training the classifier 61 and a second training step for training the generator 60.
  • the first training step the second training unit 116 identifies whether the input background data is the training background data 39 or the pseudo background data 633 generated by the generator 60 (in other words, the origin of the background data is identified. Train the classifier 61 to improve performance.
  • the second training unit 116 trains the generator 60 so as to enhance the performance of generating the pseudo background data 633 that deteriorates the discrimination performance of the classifier 61.
  • the second training unit 116 alternately and repeatedly executes the first training step and the second training step. That is, the machine learning of the generator 60 according to the present embodiment is composed of hostile learning between the generator 60 and the discriminator 61.
  • the trained generator 60 acquires the ability to generate pseudo background data matching the learning background data 39 from the noise of the latent variable. That is, according to the trained generator 60 according to the present embodiment, the background given by the learning background data 39 has high reproducibility, and the other information has low reproducibility of pseudo image data as noise. Can be generated accordingly. Therefore, by using the trained generator 60, the background data 35 corresponding to the training data 31 can be generated for each training data set 30.
  • the trained generator 60 is configured to generate pseudo-background data according to noise. Therefore, in order to generate the background data 35 corresponding to the training data 31 by using the machine-learned generator 60, an appropriate input value (noise) to be given to the machine-learned generator 60 is determined. It will be.
  • the model generator 1 according to the present embodiment further generates a machine-learned input estimator 62 that can be used to determine the input value.
  • the input estimator 62 receives the input of image data and estimates the input value (noise) given to the machine-learned generator 60 in order to generate (pseudo) background data that matches the background reflected in the input image data. Then, it is configured to output an output value corresponding to the obtained estimated value. Similar to the estimator 5 and the like, any machine learning model may be used for the input estimator 62. The input and output formats of the input estimator 62 may be arbitrarily determined.
  • the third data acquisition unit 117 acquires a plurality of learning data sets 64.
  • Each training data set 64 is composed of a combination of noise 641 which is a sample of input values and pseudo background data 643 generated by giving noise 641 to a machine-learned generator 60.
  • a machine-learned generator 60 may be used to generate each training data set 64.
  • the third training unit 118 uses the acquired plurality of training data sets 64 to perform machine learning of the input estimator 62.
  • the third training unit 118 estimates the input value given to the machine-learned generator 60 from the pseudo background data 643 by the input estimator 62 for each training data set 64. Trains the input estimator 62 to fit the noise 641.
  • the input estimator 62 gives an input value (noise) to the machine-learned generator 60 in order to generate (pseudo) background data that matches the background reflected in the image data by the machine-learned generator 60. Can acquire the ability to estimate.
  • the storage processing unit 119 generates information about each of the trained estimators 5, the generator 60, and the input estimator 62 constructed by each machine learning as the first to third learning result data 121 to 123. Then, the storage processing unit 119 stores the generated first to third learning result data 123 in a predetermined storage area.
  • the predetermined storage area may be arbitrarily selected.
  • any model capable of performing machine learning may be used for each of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62.
  • the estimator 5, the generator 60, the discriminator 61, and the input estimator 62 are each composed of a multi-layered fully connected neural network.
  • the estimator 5, generator 60, classifier 61, and input estimator 62 are an input layer (51, 601, 611, 621), an intermediate (hidden) layer (52, 602, 612, 622), and an output layer, respectively. (53, 603, 613, 623).
  • the structures of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62 are not limited to such an example, and may be appropriately determined according to the embodiment.
  • the number of intermediate layers (52, 602, 612, 622) is not limited to one, and may be two or more. Alternatively, the intermediate layers (52, 602, 612, 622) may be omitted. The number of layers constituting each neural network may be arbitrarily selected.
  • the structures may or may not be at least partially matched.
  • Each layer (51-53, 601-603, 611-613, 621-623) has one or more neurons (nodes).
  • the number of neurons (nodes) contained in each layer (51 to 53, 601 to 603, 611 to 613, 621 to 623) is not particularly limited and may be appropriately selected depending on the embodiment.
  • Neurons in adjacent layers are appropriately connected. In the examples of FIGS. 4A-4C, each neuron is associated with all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • a weight (bonding load) is set for each coupling.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold.
  • the threshold value may be expressed by an activation function. In this case, the output of each neuron is determined by inputting the sum of the products of each input and each weight into the activation function and executing the operation of the activation function.
  • the type of activation function may be arbitrarily selected.
  • the weight of the connection between each neuron and the threshold value of each neuron contained in each layer are estimated by the estimator 5, the generator 60, the discriminator 61, and the input estimation.
  • the values of the arithmetic parameters of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62 are adjusted by the above machine learning so as to obtain an output suitable for the desired inference.
  • the first training unit 114 inputs the generated difference data 37 for each training data set 30 to the input layer 51 of the estimator 5, and outputs the output corresponding to the result of estimating the characteristics of the target. The value is obtained from the output layer 53.
  • the first training unit 114 adjusts the value of the calculation parameter of the estimator 5 so that the error between the acquired output value and the correct answer data 32 becomes small. As a result, for each training data set 30, it is possible to generate a trained estimator 5 that has acquired the ability to estimate the feature of the target from the difference data 37.
  • the storage processing unit 119 generates the first learning result data 121 for reproducing the trained estimator 5 generated by machine learning.
  • the configuration of the first learning result data 121 may be arbitrary as long as the trained estimator 5 can be reproduced.
  • the storage processing unit 119 generates information indicating the value of the calculated calculation parameter of the generated trained estimator 5 as the first learning result data 121.
  • the first learning result data 121 may further include information indicating the structure of the trained estimator 5.
  • the structure may be specified, for example, by the number of layers from the input layer to the output layer in the neural network, the type of each layer, the number of neurons included in each layer, the connection relationship between neurons in adjacent layers, and the like.
  • the storage processing unit 119 stores the generated first learning result data 121 in a predetermined storage area.
  • the machine learning of the generator 60 includes the first training step and the second training step.
  • the second training unit 116 inputs the noise 631 to the input layer 601 of the generator 60, and acquires the output value corresponding to the pseudo background data 633 generated from the noise 631 from the output layer 603.
  • the second training unit 116 inputs the generated pseudo background data 633 to the input layer 611 of the classifier 61, and acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613.
  • the second training unit 116 inputs the learning background data 39 into the input layer 611 of the classifier 61, and acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613.
  • the correct answer is that the classifier 61 identifies it as "false".
  • the second training unit 116 fixes the value of the calculation parameter of the generator 60, and then the error between the output value acquired from the output layer 613 and each correct answer becomes small in each scene. As described above, the value of the calculation parameter of the classifier 61 is adjusted. Thereby, the classifier 61 can be trained to enhance the ability to discriminate the origin of the input background data.
  • the second training unit 116 inputs the noise 631 to the input layer 601 of the generator 60, and acquires the output value corresponding to the pseudo background data 633 generated from the noise 631 from the output layer 603.
  • the process of generating the pseudo background data 633 may be executed in common in the first training step and the second training step. That is, the pseudo background data 633 generated in the first training step may also be used in the second training step.
  • the second training unit 116 inputs the generated pseudo background data 633 to the input layer 611 of the classifier 61, and acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613.
  • the correct answer is to reduce the discrimination performance of the classifier 61 (that is, the discrimination result is incorrect). That is, the correct answer is that the output value obtained from the output layer 613 corresponds to "true".
  • the second training unit 116 fixes the value of the calculation parameter of the classifier 61, and then the calculation parameter of the generator 60 so that the error between the output value acquired from the output layer 613 and the correct answer becomes small. Adjust the value of. Thereby, the generator 60 can be trained so as to enhance the performance of generating the pseudo background data 633 which deteriorates the discrimination performance of the classifier 61.
  • the second training unit 116 can alternately improve the performance of the classifier 61 and the generator 60 by alternately and repeatedly executing the first training step and the second training step.
  • the second training unit 116 can alternately improve the performance of the generator 60 that generates the pseudo background data 633 that matches the learning background data 39 in accordance with the improvement of the discrimination performance of the classifier 61. Therefore, by the above machine learning, the background that can appear in the image data obtained in the scene of performing the estimation task has high reproducibility, and the other information has low reproducibility. Pseudo-background data can be generated from noise.
  • Generator 60 can be constructed.
  • the processing order of the first training step and the second training step may be arbitrary.
  • the storage processing unit 119 generates the second learning result data 122 for reproducing the trained generator 60 generated by machine learning.
  • the configuration of the second learning result data 122 may be the same as that of the first learning result data 121.
  • the second learning result data 122 may include information indicating the values of the arithmetic parameters of the trained generator 60.
  • the second learning result data 122 may further include information indicating the structure of the trained generator 60.
  • the storage processing unit 119 stores the generated second learning result data 122 in a predetermined storage area.
  • the handling of the trained classifier 61 may be arbitrary.
  • the second learning result data 122 may or may not further include information for reproducing the trained classifier 61.
  • the third training unit 118 inputs the pseudo background data 643 to the input layer 621 of the input estimator 62 for each training data set 64, and acquires the output value from the output layer 623.
  • the output value obtained from the input estimator 62 is the result of estimating the input value (noise) given to the machine-learned generator 60 in order to generate the input pseudo-background data 643 by the machine-learned generator 60.
  • the third training unit 118 adjusts the value of the calculation parameter of the input estimator 62 so that the error between the acquired output value and the corresponding noise 641 becomes small.
  • the ability to estimate the input value (noise) given to the machine-learned generator 60 is acquired.
  • the trained input estimator 62 can be generated.
  • the storage processing unit 119 generates the third learning result data 123 for reproducing the trained input estimator 62 generated by machine learning.
  • the configuration of the third learning result data 123 may be the same as that of the first learning result data 121 and the like.
  • the third learning result data 123 may include information indicating the values of the arithmetic parameters of the trained input estimator 62.
  • the third learning result data 123 may further include information indicating the structure of the trained input estimator 62.
  • the storage processing unit 119 stores the generated third learning result data 123 in a predetermined storage area.
  • the background acquisition unit 112 uses the trained generator 60 and the input estimator 62 generated by the machine learning to provide training data for each training data set 30.
  • the background data 35 corresponding to 31 can be generated.
  • the background acquisition unit 112 inputs the training data 31 to the input layer 621 of the machine-learned input estimator 62 for each learning data set 30, and acquires the output value from the output layer 623.
  • the output value obtained from the machine-learned input estimator 62 corresponds to the noise estimate given to the machine-learned generator 60 in order to generate pseudo-background data that matches the background reflected in the training data 31.
  • the background acquisition unit 112 inputs the acquired noise estimate to the input layer 601 of the machine-learned generator 60, and outputs an output value corresponding to the pseudo background data generated from the noise estimate. Obtained from layer 603.
  • the background acquisition unit 112 can acquire the generated pseudo background data as the background data 35 for the training data 31.
  • FIG. 5 schematically illustrates an example of the software configuration of the estimation device 2 according to the present embodiment.
  • the control unit 21 of the estimation device 2 expands the estimation program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 controls each component by interpreting and executing the instruction included in the estimation program 82 expanded in the RAM by the CPU.
  • the estimation device 2 is a computer including a data acquisition unit 211, a background acquisition unit 212, a difference calculation unit 213, an estimation unit 214, and an output unit 215 as software modules. Operate. That is, in the present embodiment, each software module of the estimation device 2 is realized by the control unit 21 (CPU) in the same manner as the model generation device 1.
  • the data acquisition unit 211 acquires the target image data 41 to be executed by the estimation task.
  • the background acquisition unit 212 acquires the target background data 45 corresponding to the target image data 41.
  • the background acquisition unit 212 includes a machine-learned generator 60 and an input estimator 62 by holding the second learning result data 122 and the third learning result data 123.
  • the background acquisition unit 212 gives the target image data 41 to the machine-learned input estimator 62, thereby causing the machine-learned generator 60 to generate pseudo-background data that matches the background reflected in the target image data 41.
  • the noise to be given may be estimated.
  • the background acquisition unit 212 may generate pseudo background data by giving an estimated value of the acquired noise to the machine-learned generator 60.
  • the background acquisition unit 212 may acquire the generated pseudo background data as the target background data 45.
  • the difference calculation unit 213 generates the target difference data 47 by taking the difference between the target image data 41 and the target background data 45.
  • the estimation unit 214 includes a machine-learned estimator 5 by holding the first learning result data 121.
  • the estimation unit 214 estimates the features included in the generated target difference data 47 by using the machine-learned estimator 5.
  • the output unit 215 outputs information regarding the result of estimating the feature.
  • each software module of the model generation device 1 and the estimation device 2 will be described in detail in an operation example described later.
  • an example in which each software module of the model generation device 1 and the estimation device 2 is realized by a general-purpose CPU is described.
  • some or all of the above software modules may be implemented by one or more dedicated processors.
  • software modules may be omitted, replaced, or added as appropriate according to the embodiment.
  • FIG. 6A is a flowchart showing an example of a processing procedure related to machine learning of the generator 60 by the model generator 1 according to the present embodiment.
  • the processing procedure described below is merely an example, and each step may be modified 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.
  • Step S101 the control unit 11 operates as the second data acquisition unit 115 and acquires a plurality of learning background data 39.
  • the learning background data 39 may be generated as appropriate. For example, it is possible to generate learning background data 39 by photographing the background with a camera under various conditions, assuming a scene in which an estimation task is performed in a real space or a virtual space. At this time, it is preferable to generate the learning background data 39 so that the information about the feature of the target is not captured and only the background is captured. The background may be appropriately selected depending on the estimation task. It is preferable that the learning background data 39 is comprehensively collected for different types of backgrounds such as different backgrounds. On the other hand, the learning background data 39 does not have to be comprehensively collected with respect to variations such as the shooting location being shifted in the same type of background. The type of background to be photographed is the same as that of the training data 31.
  • the background data 39 for learning may be generated by appropriately removing the information about the feature of the target from the training data 31 by image processing.
  • the learning background data 39 may be acquired separately from the training data 31.
  • the learning background data 39 may be automatically generated by the operation of the computer, or may be manually generated by at least partially including the operation of the operator. Further, the background data 39 for learning may be generated by the model generation device 1 or by a computer other than the model generation device 1.
  • the control unit 11 automatically or manually executes the above generation process by the operation of the operator via the input device 15, so that the learning background data 39 is generated. Get 39.
  • the control unit 11 acquires the learning background data 39 generated by the other computer via, for example, a network or a storage medium 91.
  • Some learning background data 39 may be generated by the model generator 1, and other learning background data 39 may be generated by one or more other computers.
  • the number of learning background data 39 to be acquired may be arbitrarily selected.
  • the control unit 11 proceeds to the next step S102.
  • Step S102 the control unit 11 operates as the second training unit 116, and performs machine learning of the generator 60 using the acquired plurality of learning background data 39. As a result, the machine-learned generator 60 trained to generate the background data 35 for the training data 31 is constructed.
  • FIG. 6B is a flowchart showing an example of the processing procedure of the subroutine related to machine learning of the generator 60 according to the present embodiment.
  • the process of step S102 according to the present embodiment includes the following processes of steps S1021 to S1023.
  • 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.
  • the classifier 61 is used for training the generator 60. Neural networks constituting each of the generator 60 and the classifier 61 to be processed may be appropriately prepared.
  • the structure of each of the generator 60 and the classifier 61 (for example, the number of layers, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.), the initial value of the connection weight between each neuron, and each.
  • the initial value of the neuron threshold may be given by the template or by the input of the operator.
  • the control unit 11 may prepare the generator 60 and the classifier 61 based on the learning result data obtained by the past machine learning.
  • Step S1021 the control unit 11 trains the classifier 61 to identify the origin of the input background data using the learning background data 39 and the pseudo-background data 633 generated by the generator 60.
  • Step S1021 is an example of the first training step.
  • a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used for this machine learning training process. The same applies to the machine learning processing of other neural networks such as step S1022 described later.
  • the control unit 11 extracts noise 631 (latent variable) from a predetermined probability distribution.
  • the predetermined probability distribution may be arbitrarily selected.
  • the predetermined probability distribution may be a known probability distribution such as a Gaussian distribution.
  • the control unit 11 gives the extracted noise 631 to the generator 60, and executes the arithmetic processing of the generator 60. That is, the control unit 11 inputs the noise 631 to the input layer 601 of the generator 60, and determines the firing of each neuron included in each layer 601 to 603 in order from the input side (that is, performs a forward propagation calculation).
  • the control unit 11 acquires the output value corresponding to the pseudo background data 633 generated from the noise 631 from the output layer 603.
  • the number of pseudo background data 633 to be generated may be arbitrary. Note that this forward propagation arithmetic processing is also executed in the following other neural network arithmetic processing.
  • the control unit 11 inputs the generated pseudo background data 633 to the input layer 611 of the classifier 61, and executes the arithmetic processing of the classifier 61. As a result, the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613 of the classifier 61. In this scene, since the input background data is pseudo background data 633, the correct answer is that the classifier 61 identifies it as "false". The control unit 11 calculates an error between the output value obtained from the output layer 613 and the correct answer for each of the pseudo background data 633.
  • control unit 11 inputs the learning background data 39 of each case to the input layer 611 of the classifier 61, and executes the arithmetic processing of the classifier 61. As a result, the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613 of the classifier 61. In this scene, since the input background data is the learning background data 39, the correct answer is that the classifier 61 identifies it as “true”. The control unit 11 calculates an error between the output value obtained from the output layer 613 and the correct answer for each learning background data 39.
  • a loss function may be used to calculate each error (loss).
  • the loss function is a function that evaluates the difference (that is, the degree of difference) between the output of the machine learning model and the correct answer. The calculated error value becomes large.
  • the type of loss function used for calculating the error does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • the control unit 11 uses each calculation parameter of the classifier 61 (weight of connection between neurons, threshold value of each neuron, etc.) using the gradient of the error of the output value calculated by the back propagation method. Calculate the error of the value of.
  • the control unit 11 updates the value of each calculation parameter of the classifier 61 based on each calculated error.
  • the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the learning rate may be given by the operator's designation, or may be given as a set value in the program.
  • the control unit 11 fixes the value of each calculation parameter of the generator 60, and then adjusts the value of each calculation parameter of the classifier 61 so that the sum of the errors calculated by the series of update processes becomes small. To do. For example, the control unit 11 repeatedly adjusts the value of each calculation parameter of the classifier 61 by the above series of processes until a predetermined condition such as execution is performed a specified number of times or the sum of the calculated errors becomes equal to or less than the threshold value. You may. As a result, the control unit 11 can train the classifier 61 so as to enhance the performance of discriminating the origin of the input background data. When the training process of the classifier 61 is completed, the control unit 11 proceeds to the next step S1022.
  • Step S1022 the control unit 11 trains the generator 60 to generate pseudo-background data 633 that reduces the discrimination performance of the classifier 61.
  • the control unit 11 trains the generator 60 to generate pseudo-background data 633 such that the classifier 61 identifies as "true" (ie, from the training data).
  • Step S1022 is an example of the second training step.
  • the control unit 11 generates pseudo background data 633 by giving the noise 631 extracted from the predetermined probability distribution to the generator 60 in the same manner as in step S1021.
  • the control unit 11 may omit the process of generating the pseudo background data 633 in this step S1022.
  • the control unit 11 inputs the generated pseudo background data 633 to the input layer 611 of the classifier 61, and executes the arithmetic processing of the classifier 61. As a result, the control unit 11 acquires an output value corresponding to the result of identifying the origin of the input background data from the output layer 613 of the classifier 61. In this scene, the correct answer is that the classifier 61 erroneously discriminates that the input background data is "true" (that is, derived from the learning data). The control unit 11 calculates an error between the output value obtained from the output layer 613 and the correct answer for each of the pseudo background data 633. Similar to the above, any loss function may be used to calculate the error.
  • the control unit 11 back-propagates the gradient of the error of the output value calculated by the error back-propagation method to each calculation parameter of the generator 60 via the classifier 61, and sets the value of each calculation parameter of the generator 60. Calculate the error.
  • the control unit 11 updates the value of each calculation parameter of the generator 60 based on each calculated error. Similar to the above, the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the control unit 11 fixes the value of each calculation parameter of the classifier 61, and then adjusts the value of each calculation parameter of the generator 60 so that the sum of the errors calculated by the series of update processes becomes small. To do. Similar to the training of the classifier 61, the control unit 11 may repeat the adjustment of the value of each calculation parameter of the generator 60 by the series of processes until a predetermined condition is satisfied. As a result, the control unit 11 can train the generator 60 so as to enhance the performance of generating the pseudo background data 633 that deteriorates the discrimination performance of the classifier 61. When the training process of the generator 60 is completed, the control unit 11 proceeds to the next step S1023.
  • step S1023 the control unit 11 determines whether or not to repeat the processes of step S1021 and step S1022.
  • the criteria for repeating the process may be arbitrarily determined. For example, a specified number of times to repeat the process may be set. The specified number of times may be given, for example, by the designation of the operator, or may be given as a set value in the program. In this case, the control unit 11 determines whether or not the number of times the processes of step S1021 and step S1022 have been executed has reached the specified number of times. When it is determined that the number of executions has not reached the specified number of times, the control unit 11 returns the process to step S1021 and executes the processes of step S1021 and step S1022 again. On the other hand, when it is determined that the number of executions has reached the specified number of times, the control unit 11 completes the machine learning process of the generator 60 and proceeds to the next step S103.
  • control unit 11 alternately and repeatedly executes the training step of the classifier 61 and the training step of the generator 60.
  • the performance of the classifier 61 and the generator 60 can be alternately improved.
  • Step S103 the control unit 11 operates as the storage processing unit 119 and generates information about the trained generator 60 constructed by machine learning as the second learning result data 122. Then, the control unit 11 stores the generated second learning result data 122 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 11 may store the second learning result data 122 in the storage medium via the drive 17.
  • the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 11 may store the second learning result data 122 in the data server via the network by using the communication interface 13. Further, the external storage device may be, for example, an external storage device connected to the model generation device 1 via the external interface 14.
  • control unit 11 ends a series of processes related to machine learning of the generator 60.
  • the generated second learning result data 122 may be provided to the estimation device 2 at an arbitrary timing.
  • the control unit 11 may transfer the second learning result data 122 to the estimation device 2 as the process of step S103 or separately from the process of step S103.
  • the estimation device 2 may acquire the second learning result data 122 by receiving this transfer.
  • the estimation device 2 may acquire the second learning result data 122 by accessing the model generation device 1 or the data server via the network using the communication interface 23.
  • the estimation device 2 may acquire the second learning result data 122 via the storage medium 92.
  • the second learning result data 122 may be incorporated in the estimation device 2 in advance.
  • control unit 11 may update or newly generate the second learning result data 122 by repeating the processes of steps S101 to S103 periodically or irregularly. At the time of this repetition, at least a part of the learning background data 39 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 updates the second learning result data 122 held by the estimation device 2 by providing the updated or newly generated second learning result data 122 to the estimation device 2 by an arbitrary method. May be good.
  • FIG. 7 is a flowchart showing an example of a processing procedure related to machine learning of the input estimator 62 by the model generator 1 according to the present embodiment.
  • the processing procedure described below is merely an example, and each step may be modified 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.
  • Step S111 the control unit 11 operates as the third data acquisition unit 117 and acquires a plurality of learning data sets 64.
  • Each training data set 64 is composed of a combination of noise 641 which is a sample of input values and pseudo background data 643 generated by giving noise 641 to a machine-learned generator 60.
  • Each learning data set 64 may be appropriately generated by using the machine-learned generator 60.
  • noise 641 (latent variable) is extracted from a predetermined probability distribution (for example, Gaussian distribution).
  • the extracted noise 641 is input to the input layer 601 of the machine-learned generator 60, and the arithmetic processing of the machine-learned generator 60 is executed.
  • the output value corresponding to the pseudo background data 643 generated from the noise 641 can be acquired from the output layer 603 of the trained generator 60.
  • the input noise 641 is associated with the generated pseudo background data 643.
  • each training data set 64 can be generated.
  • the configuration of the learning data set 64 does not have to be limited to such an example.
  • the training data set 64 may include image data that further includes information other than the background (for example, features of the target) instead of the pseudo background data 643. In this case, the same noise 641 is associated with the image data in which the same background appears.
  • each learning data set 64 may be automatically generated by the operation of a computer, or may be manually generated by at least partially including an operator's operation. .. Further, each learning data set 64 may be generated by the model generation device 1 or by a computer other than the model generation device 1. Some training data sets 64 may be generated by the model generator 1 and other training data sets 64 may be generated by one or more other computers.
  • the number of learning data sets 64 to be acquired may be arbitrarily selected.
  • the control unit 11 proceeds to the next step S112.
  • Step S112 the control unit 11 operates as the third training unit 118, and uses the acquired plurality of training data sets 64 to perform machine learning of the input estimator 62.
  • the control unit 11 estimates the input value given to the machine-learned generator 60 from the pseudo background data 643 by the input estimator 62 for each learning data set 64, and the estimated value is noise. Train the input estimator 62 to fit 641.
  • the control unit 11 inputs the pseudo background data 643 to the input layer 621 of the input estimator 62 for each learning data set 64, and executes the arithmetic processing of the input estimator 62.
  • the control unit 11 acquires an output value corresponding to the result of estimating the input value (noise) given to the machine-learned generator 60 from the output layer 623 in order to generate the pseudo background data 643.
  • the control unit 11 calculates the error between the obtained estimated value and the corresponding noise 641. Similar to step S1021 and the like, any loss function may be used to calculate the error.
  • the control unit 11 calculates the error of the value of each calculation parameter of the input estimator 62 by using the gradient of the error calculated by the error back propagation method.
  • the control unit 11 updates the value of each calculation parameter of the input estimator 62 based on each calculated error. Similar to step S1021 and the like, the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the control unit 11 adjusts the value of each calculation parameter of the input estimator 62 so that the sum of the errors calculated by the above series of update processes becomes small. Similar to step S1021 and the like, the control unit 11 may repeat the adjustment of the value of each calculation parameter of the input estimator 62 by the above series of processes until a predetermined condition is satisfied.
  • the input estimator 62 is trained so that the noise 641 can be appropriately estimated from the pseudo background data 643 for each learning data set 64. That is, the input estimator 62 is trained to estimate the input from the output of the machine-learned generator 60.
  • the machine-learned generator 60 is trained to generate pseudo-image data with high reproducibility for the background and low reproducibility for other information. Therefore, the input estimator 62 is trained so that the same input value (noise) can be estimated as long as the image data shows the same background, even if other information is included.
  • the input estimator 62 can be trained in the same manner even if the pseudo background data 643 is replaced with the image data including other information.
  • the ability to estimate the input value (noise) given to the machine-learned generator 60 in order to generate the pseudo-background data in which the background is reflected from the background reflected in the given image data is acquired.
  • a trained input estimator 62 can be constructed. When the machine learning of the input estimator 62 is completed, the control unit 11 proceeds to the next step S113.
  • Step S113 the control unit 11 operates as the storage processing unit 119 and generates information about the trained input estimator 62 constructed by machine learning as the third learning result data 123. Then, the control unit 11 stores the generated third learning result data 123 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the control unit 11 ends a series of processes related to machine learning of the input estimator 62. Similar to the second learning result data 122, the generated third learning result data 123 may be provided to the estimation device 2 at an arbitrary timing. Further, the processes of steps S111 to S113 may be repeated periodically or irregularly. Then, the third learning result data 123 held by the estimation device 2 may be updated by providing the updated or newly generated third learning result data 123 to the estimation device 2 by an arbitrary method.
  • FIG. 8 is a flowchart showing an example of a processing procedure related to machine learning of the estimator 5 by the model generator 1 according to the present embodiment.
  • the processing procedure described below is an example of the "model generation method" of the present invention. However, the processing procedure described below is only an example, and each step 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.
  • Step S121 the control unit 11 operates as the first data acquisition unit 111 to acquire a plurality of learning data sets 30.
  • Each learning data set 30 is composed of a combination of training data 31 which is image data and correct answer data 32 showing features included in the training data 31.
  • Each learning data set 30 may be generated as appropriate.
  • the training data 31 may be obtained by taking a picture with a camera together with the background in a state where the feature of the object appears in the real space or the virtual space.
  • training data can be obtained by photographing the product with or without defects with a camera. Then, the information indicating the result (correct answer) of estimating the characteristics of the object included in the acquired training data 31 is associated with the acquired training data 31 as the correct answer data 32.
  • the method of estimating the characteristics of the object may be arbitrarily selected. For example, feature estimation may be done by the operator. As a result, each training data set 30 can be generated.
  • each learning data set 30 may be automatically generated by the operation of the computer, or may be manually generated by at least partially including the operation of the operator. Good. Further, each learning data set 30 may be generated by the model generation device 1 or by a computer other than the model generation device 1. Some training data sets 30 may be generated by the model generator 1 and other training data sets 30 may be generated by one or more other computers.
  • the number of learning data sets 30 to be acquired may be arbitrarily selected.
  • the control unit 11 proceeds to the next step S122.
  • step S122 the control unit 11 operates as the background acquisition unit 112 to acquire the background data 35 for the training data 31 for each learning data set 30.
  • Background data 35 may be generated as appropriate.
  • the control unit 11 can generate background data 35 for the training data 31 for each training data set 30 by using the machine-learned generator 60 and the input estimator 62. Specifically, the control unit 11 inputs the training data 31 to the input layer 621 of the machine-learned input estimator 62 for each learning data set 30, and executes the arithmetic processing of the input estimator 62. As a result, the control unit 11 generates an output value corresponding to the result of estimating the input value given to the machine-learned generator 60 in order to generate pseudo-background data matching the background reflected in the input training data 31. It can be obtained from the output layer 623 of the machine-learned input estimator 62.
  • control unit 11 inputs the estimated value acquired by the machine-learned input estimator 62 into the input layer 601 of the machine-learned generator 60, and executes the arithmetic processing of the machine-learned generator 60. To do.
  • the control unit 11 can acquire the output value corresponding to the pseudo background data generated from the estimated value from the output layer 603 of the machine-learned generator 60.
  • the control unit 11 may acquire the generated pseudo-background data for each learning data set 30 as the background data 35 for the training data 31. When the background data 35 is acquired, the control unit 11 proceeds to the next step S123.
  • Step S123 the control unit 11 operates as the difference calculation unit 113, and generates the difference data 37 by calculating the difference between the acquired background data 35 and the training data 31 for each learning data set 30.
  • the control unit 11 proceeds to the next step S124.
  • the difference calculation method may not be particularly limited as long as the background information included in the training data 31 can be reduced based on the background data 35, and may be appropriately determined according to the embodiment. ..
  • the control unit 11 compares the values of the pixels at the same position between the training data 31 and the background data 35, sets them to "0" when they are the same value, and sets the training data to "0" when they are different values.
  • the difference data 37 may be generated by adopting the pixel value of 31 as it is.
  • control unit 11 may simply differ the values of the pixels at the same position between the training data 31 and the background data 35. In this simple difference calculation, a slight background difference between the background data 35 and the training data 31 may remain in the difference data 37. In particular, there is a high possibility that the background data 35 is generated by the machine-learned generator 60. Therefore, in order to deal with this, the control unit 11 may binarize the obtained difference data 37. For example, when the pixel value of the difference data 37 is represented between 0 and 255, the control unit 11 compares the difference of the value of each pixel calculated between the training data 31 and the background data 35 with the threshold value. You may. The threshold may be determined arbitrarily. Then, the control unit 11 may generate the difference data 37 by setting the value of the pixel whose difference is smaller than the threshold value to "0" and the value of the pixel whose difference is larger than the threshold value to "255".
  • FIG. 9 schematically illustrates an example of still another method for calculating the difference between the training data 31 and the background data 35.
  • the control unit 11 calculates the correlation between the target area 315 of each pixel 311 of the training data 31 and the corresponding area 355 of each corresponding pixel 351 of the background data 35.
  • the target region 315 includes the target pixel 311 in the training data 31 and the pixel 312 existing around the target pixel 311.
  • the target area 315 is defined for each pixel 311.
  • the target region 315 has a size of 3 ⁇ 3 by including all the target pixels 311 and the eight pixels 312 existing around the target pixels 311.
  • the size and shape of the target region 315 do not have to be limited to such an example, and may be arbitrarily determined as long as it includes at least one pixel 312 existing around the target pixel 311. ..
  • the corresponding area 355 includes a pixel 351 corresponding to the target pixel 311 and a pixel 352 existing around the pixel 351.
  • the corresponding pixel 351 exists at the same position as the target pixel 311.
  • the corresponding area 355 is defined in the same position and range as the target area 315.
  • a known calculation method such as a method of calculating the correlation coefficient may be adopted.
  • the control unit 11 calculates the difference between each pixel 311 of the training data 31 and each corresponding pixel 351 of the background data 35 based on the correlation calculated between the target area 315 and the corresponding area 355. That is, the control unit 11 determines the difference result between the target pixel 311 and the corresponding pixel 351 according to the calculated correlation.
  • the higher the calculated correlation the more the target pixel 311 and the corresponding pixel 351 capture the same background image, and the lower the calculated correlation, the different the target pixel 311 from the corresponding pixel 351. Indicates that an image (that is, an image other than the background such as a feature of the object) is captured. Based on this point of view, the relationship between the calculated correlation and the difference result may be arbitrarily defined.
  • the control unit 11 compares the calculated correlation value with the threshold value, and when the correlation value is lower than the threshold value, adopts the value of each pixel 311 as it is, and the correlation value is less than the threshold value.
  • the difference data 37 may be generated by setting the value of the target pixel to “0”.
  • the threshold may be determined arbitrarily. According to this method, in addition to the case where the background is slightly different between the background data 35 and the training data 31, the background is shifted between the background data 35 and the training data 31 within the range for calculating the correlation. Even if the background information is present, it is possible to reduce the amount of background information remaining in the difference data 37.
  • Step S124 the control unit 11 operates as the first training unit 114, and uses the generated difference data 37 to perform machine learning of the estimator 5.
  • the control unit 11 trains the estimator 5 so that the result of estimating the features from the generated difference data 37 by the estimator 5 for each learning data set 30 matches the correct answer data 32.
  • the control unit 11 inputs the generated difference data 37 to the input layer 51 of the estimator 5 for each learning data set 30, and executes the arithmetic processing of the estimator 5. As a result, the control unit 11 acquires an output value corresponding to the result of estimating the feature of the target included in the difference data 37 from the output layer 53 of the estimator 5. The control unit 11 calculates an error between the output value obtained from the output layer 53 and the corresponding correct answer data 32. Similar to step S1021 and the like, any loss function may be used to calculate the error.
  • the control unit 11 calculates the error of the value of each calculation parameter of the estimator 5 by using the gradient of the error calculated by the error back propagation method.
  • the control unit 11 updates the value of each calculation parameter of the estimator 5 based on each calculated error. Similar to step S1021 and the like, the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the control unit 11 adjusts the value of each calculation parameter of the estimator 5 so that the sum of the errors calculated by the above series of update processes becomes small. Similar to step S1021 and the like, the control unit 11 may repeat the adjustment of the value of each calculation parameter of the estimator 5 by the above series of processes until a predetermined condition is satisfied.
  • the estimator 5 is trained so that the feature of the target can be appropriately estimated from the difference data 37 for each learning data set 30. Therefore, given the image data obtained by background subtraction as a result of the machine learning, it is possible to construct a trained estimator 5 that has acquired the ability to estimate the features of the object appearing in the given image data.
  • the control unit 11 proceeds to the next step S125.
  • Step S125 the control unit 11 operates as the storage processing unit 119 and generates information about the trained estimator 5 constructed by machine learning as the first learning result data 121. Then, the control unit 11 stores the generated first learning result data 121 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the control unit 11 ends a series of processes related to machine learning of the estimator 5.
  • the generated first learning result data 121 may be provided to the estimation device 2 at an arbitrary timing. Further, the processes of steps S121 to S125 may be repeated periodically or irregularly. Then, the first learning result data 121 held by the estimation device 2 may be updated by providing the estimation device 2 with the updated or newly generated first learning result data 121 by an arbitrary method.
  • FIG. 10 is a flowchart showing an example of the processing procedure of the estimation device 2 according to the present embodiment.
  • the processing procedure described below is an example of an estimation method. However, the processing procedure described below is only an example, and each step 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.
  • Step S201 the control unit 21 operates as the data acquisition unit 211 to acquire the target image data 41.
  • the target image data 41 is a sample of image data to be subjected to the estimation task.
  • the target image data 41 may be acquired by any method.
  • the target image data 41 can be acquired by taking a picture of the feature of the target with a camera.
  • the type of camera may be arbitrarily selected.
  • the target image data 41 may be either a still image or a moving image.
  • Step S202 the control unit 21 operates as the background acquisition unit 212 to acquire the target background data 45 corresponding to the target image data 41.
  • the target background data 45 may be generated as appropriate.
  • the target background data 45 may be generated in the same manner as the background data 35 in step S122.
  • the control unit 21 may set the machine-learned generator 60 and the input estimator 62 by referring to the second learning result data 122 and the third learning result data 123. Then, the control unit 21 replaces the training data 31 with the target image data 41 and executes the same arithmetic processing as in step S122, thereby using the machine-learned generator 60 and the input estimator 62.
  • the target background data 45 corresponding to the target image data 41 may be acquired. When the target background data 45 is acquired, the control unit 21 proceeds to the next step S203.
  • Step S203 the control unit 21 operates as the difference calculation unit 213 and generates the target difference data 47 by taking the difference between the target image data 41 and the target background data 45. If the information about the background included in the target image data 41 can be reduced based on the target background data 45, the method of difference calculation in this step S203 may be arbitrarily determined. The method of calculating the difference in step S203 may be the same as in step S123. When the target difference data 47 is generated, the control unit 21 proceeds to the next step S204.
  • Step S204 the control unit 21 operates as the estimation unit 214, and uses the machine-learned estimator 5 to estimate the features included in the generated target difference data 47.
  • the control unit 21 sets the machine-learned estimator 5 with reference to the first learning result data 121.
  • the control unit 21 inputs the generated target difference data 47 to the input layer 51 of the machine-learned estimator 5, and executes the arithmetic processing of the machine-learned estimator 5.
  • the control unit 21 can acquire an output value corresponding to the result of estimating the feature of the target included in the target difference data 47 from the output layer 53 of the machine-learned estimator 5.
  • the control unit 21 proceeds to the next step S205.
  • Step S205 the control unit 21 operates as the output unit 215 and outputs information regarding the result of estimating the feature of the target.
  • the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
  • the control unit 21 may output the estimation result of step S204 to the output device 26 as it is. Further, for example, the control unit 21 may execute some information processing based on the result of estimating the feature of the target. Then, the control unit 21 may output the result of executing the information processing as information regarding the estimation result.
  • the output of the result of executing this information processing may include outputting a specific message according to the estimation result, controlling the operation of the controlled device according to the estimation result, and the like.
  • the output destination may be, for example, an output device 26, an output device of another computer, a controlled device, or the like.
  • the control unit 21 ends the processing procedure related to this operation example.
  • the control unit 21 may continuously and repeatedly execute a series of information processing in steps S201 to S205.
  • the timing of repeating may be arbitrary.
  • the estimation device 2 may continuously perform an estimation task related to the feature of the target.
  • the estimator 5 has the characteristics of the target according to the correct answer data 32 from the training data 31 (difference data 37) in which the information of the background data 35 is excluded. Is trained to estimate. As a result, the machine-learned estimator 5 can acquire the ability to perform the estimation task related to the target feature without using the information of the background data 35 excluded by the difference calculation. That is, the information corresponding to the background data 35 can be prevented from being taken into account when performing the estimation task related to the feature of the object by the trained estimator 5.
  • the trained estimator 5 capable of performing the estimation task regarding the feature of the object included in the image data, and has been trained robustly against the difference in the background. Estimator 5 can be generated. Further, in the estimation device 2 according to the present embodiment, by using the trained estimator 5 generated in the above step S204, the estimation task regarding the feature of the target is robustly executed against the difference in the background. Can be done.
  • the machine-learned generator 60 for generating the background data can be constructed by the processes of steps S101 to S103.
  • Data 45 can be appropriately generated. Therefore, the cost of preparing each of the background data 35 and the target background data 45 can be reduced.
  • a trained estimator 5 that is robust against the difference in background can be appropriately generated.
  • the estimation task regarding the feature of the object can be robustly performed for the difference in background.
  • MNIST Modified National Institute of Standards and Technology
  • images 28 x 28, grayscale, handwritten characters from 0 to 9
  • 5 types of background textures were prepared.
  • training data used for machine learning and test data used for evaluation were created.
  • Four of the five background textures had a striped pattern, and the position of the pattern was randomly changed when compositing with the MNIST image.
  • the number of training data created was 60,000, and the number of test data was 10,000.
  • a learning data set was prepared by associating the created training data with correct answer data indicating the synthesized characters (0 to 9).
  • a machine-learned generator for generating a background texture was created by the same method as in the above embodiment.
  • the difference data was generated by calculating the difference between the background data and the training data generated by the machine-learned generator by the same method as in the above embodiment. Then, using the generated difference data, we constructed a machine-learned estimator trained to identify characters.
  • the target is calculated by calculating the difference between the background data and the test data generated by the machine-learned generator by the same method as that of the estimator 2 according to the above embodiment. Difference data was generated. Then, the machine-learned estimator performed the task of identifying characters with respect to the target difference data.
  • the training data was used as it was without removing the background, and a machine-learned estimator trained to identify characters was constructed.
  • a machine-learned estimator was used to perform the task of identifying characters in the test data.
  • three types of estimators were prepared: a linear discriminative model, a four-layer MLP (Multilayer perceptron), and a convolutional neural network.
  • Table 1 shows the correct answer rate of character identification for the test data in each of the examples and the comparative examples. As shown in Table 1, the performance of the examples was better than that of the comparative examples regardless of which model was used as the estimator. In particular, in the case of using a linear discriminative model and a simple model such as a 4-layer MLP, the performance of the machine-learned estimator could be dramatically improved. From this result, it was verified that according to the present invention, it is possible to construct a trained estimator that is robust against the difference in background.
  • the estimation system 100 according to the above embodiment may be applied to any situation in which an estimation task related to a feature of an object is performed on image data.
  • the estimation system 100 according to the above embodiment can be applied to a scene in which a feature included in the foreground of image data is estimated.
  • the foreground may be composed of any component that can be extracted from the image data to distinguish it from the background.
  • the feature may be some information that can be derived directly or indirectly from the foreground.
  • Estimating the features included in the foreground may be configured, for example, by estimating the attributes of the object appearing in the image data. In this case, the component involved in deriving the attributes of the object is an example of the foreground.
  • the range of the foreground may be appropriately determined so that the attributes of the object can be derived.
  • the foreground may be a range in which an object is captured.
  • the foreground may be a range that includes the object and the surroundings of the object.
  • the foreground may be a part of the object in which the attribute of the estimation target appears.
  • a modified example in which the application scene is limited will be illustrated.
  • FIG. 11 schematically illustrates an example of an application scene of the inspection system 100A according to the first modification.
  • This modification is an example in which the above-described embodiment is applied to a scene in which an appearance inspection of a product is performed using image data in which the product is captured.
  • the inspection system 100A according to this modification includes a model generation device 1 and an inspection device 2A. Similar to the above embodiment, the model generation device 1 and the inspection device 2A may be connected to each other via a network.
  • the image data P10 in which the product RA is captured is treated as training data and target image data.
  • the image data P10 may be obtained by photographing the product RA with the camera SA.
  • the feature targeted by the estimation task may relate to defect P12 of product RA.
  • the background P11 may be a part other than the product RA such as a conveyor seed.
  • the background P11 may include, for example, a portion of the product RA other than the defect P12, such as a portion of the exterior of the product RA having no abnormality.
  • the inspection system 100A according to the present modification may be configured in the same manner as the estimation system 100 according to the above embodiment.
  • the product RA 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 component may be, for example, a board, a chip capacitor, a liquid crystal, a winding of a relay, or the like.
  • the automobile parts may be, 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.
  • the product RA may be a final product produced after the completion of the manufacturing process, an intermediate product produced in the middle of the manufacturing process, or an initial product prepared before the manufacturing process is completed. There may be.
  • the defect P12 may be, for example, scratches, stains, cracks, dents, burrs, color unevenness, foreign matter contamination, or the like.
  • the estimation regarding the defect P12 is, for example, determining whether or not the product RA contains the defect P12, determining the probability that the product RA contains the defect P12, and identifying the type of the defect P12 contained in the product RA. It may be expressed by specifying the range of the defect P12 contained in the product RA or a combination thereof.
  • the model generation device 1 acquires the learning background data 39 in which the background P11 is captured in step S101. Then, the model generator 1 generates a machine-learned generator 60 that has acquired the ability to generate pseudo-background data in which the background P11 appears by executing the processes of steps S102 and S103, and the second learning result.
  • the data 122 is stored in a predetermined storage area.
  • the model generation device 1 generates the machine-learned input estimator 62 by executing the processes of steps S111 to S113, and stores the third learning result data 123 in a predetermined storage area.
  • the model generation device 1 is composed of a combination of training data 31 in which the product RA is captured and correct answer data 32 indicating information (correct answer) regarding the defect P12 of the product RA in the training data 31. Acquire the training data set 30 of.
  • the information regarding the defect P12 may include, for example, information such as the presence / absence of the defect P12, the type of the defect P12, and the range in which the defect P12 exists.
  • the model generator 1 By executing the processes of steps S122 to S125, the model generator 1 generates a machine-learned estimator 5 that has acquired the ability to perform an estimation regarding the defect P12, and determines the first learning result data 121. Save to the storage area of.
  • the generated first to third learning result data 121 to 123 may be provided to the inspection device 2A at an arbitrary timing.
  • FIG. 12A schematically illustrates an example of the hardware configuration of the inspection device 2A according to this modification.
  • the inspection device 2A according to the present modification has the same control unit 21, storage unit 22, communication interface 23, external interface 24, input device 25, output device 26, and the same as the estimation device 2.
  • the drive 27 may consist of an electrically connected computer.
  • the storage unit 22 stores various information such as the inspection program 82A and the first to third learning result data 121 to 123.
  • the inspection program 82A corresponds to the estimation program 82 according to the above embodiment. At least one of the inspection program 82A and the first to third learning result data 121 to 123 may be stored in the storage medium 92.
  • the inspection device 2A is connected to the camera SA via the external interface 24.
  • the camera SA may be, for example, a general RGB camera, a depth camera, an infrared camera, or the like.
  • the camera SA may be appropriately arranged at a place where the product RA can be photographed.
  • the camera SA may be placed in the vicinity of the conveyor device that conveys the product RA.
  • the hardware configuration of the inspection device 2A does not have to be limited to such an example. Regarding the specific hardware configuration of the inspection device 2A, components can be omitted, replaced, and added as appropriate according to the embodiment.
  • the inspection device 2A may be a general-purpose server device, a general-purpose PC, a PLC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 12B schematically illustrates an example of the software configuration of the inspection device 2A according to this modified example.
  • the software configuration of the inspection device 2A is realized by executing the inspection program 82A by the control unit 21.
  • the software configuration of the inspection device 2A is the same as that of the estimation device 2 except that the data to be handled is limited as described above.
  • the inspection unit 214A corresponds to the estimation unit 214.
  • the inspection device 2A can execute a series of information processing related to the visual inspection in the same manner as the estimation process of the estimation device 2.
  • step S201 the control unit 21 acquires the target image data 41A in which the product RA to be inspected is captured.
  • the control unit 21 acquires the target background data 45A corresponding to the target image data 41A.
  • the control unit 21 can acquire the target background data 45A that matches the background P11 reflected in the target image data 41A by using the machine-learned generator 60 and the input estimator 62.
  • step S203 the control unit 21 generates the target difference data 47A by taking the difference between the target image data 41A and the target background data 45A.
  • step S204 the control unit 21 operates as the inspection unit 214A, gives the generated target difference data 47A to the machine-learned estimator 5, and executes the arithmetic processing of the machine-learned estimator 5. As a result, the control unit 21 acquires an output value corresponding to the estimation result of the defect P12 of the product RA reflected in the target image data 41A from the machine-learned estimator 5.
  • step S205 the control unit 21 outputs information regarding the estimation result of the defect P12 of the product RA.
  • the control unit 21 may output the estimation result of the defect P12 of the product RA to the output device 26 as it is. Further, for example, when it is determined that the product RA contains the defect P12, the control unit 21 may output a warning to notify the fact to the output device 26. Further, for example, when the inspection device 2A is connected to the conveyor device that conveys the product RA, the control unit 21 sets the product RA with the defect P12 and the product RA without the defect P12 based on the estimation result for the defect P12. The conveyor device may be controlled so that it is conveyed on another line.
  • the machine learning of the model generator 1 can train the estimator 5 to perform the estimation task for the defect P12 without using the information about the background P11 excluded in the difference calculation. it can. Therefore, it is possible to generate a machine-learned estimator 5 capable of robustly performing an estimation task related to the defect P12 with respect to the difference in the background P11.
  • the estimation task that is, visual inspection
  • the product RA is an example of the object
  • the information about the defect P12 is an example of the attributes of the object.
  • the object and its attributes are not limited to the information regarding the product RA and the defect P12, and may be appropriately selected depending on the embodiment. That is, the estimation system 100 according to the above embodiment may be applied to various situations in which the attributes of an arbitrary object appearing in the image data are estimated. In this case, in the estimation system 100, the image data in which the object is captured may be treated as the training data 31 and the target image data 41. The characteristics of the object may relate to the attributes of the object. This makes it possible to generate a machine-learned estimator 5 capable of robustly performing an estimation task related to the attributes of an object with respect to a difference in background.
  • the part other than the product RA is regarded as the background P11
  • the part where the product RA is reflected is an example of the foreground.
  • the portion other than the defect P12 of the product RA is regarded as the background P11
  • the range in which the defect P12 appears is an example of the foreground.
  • the foreground and background are not limited to such an example, and may be appropriately selected depending on the embodiment. That is, the estimation system 100 according to the above embodiment may be applied to various situations in which estimation is performed on features included in an arbitrary foreground appearing in image data.
  • the predetermined type of data may be image data including a foreground and a background.
  • the image data showing the foreground and the background may be treated as the training data 31 and the target image data 41.
  • the feature of the object may be related to the foreground.
  • any element that can be extracted from the image data may be selected. This makes it possible to generate a machine-learned estimator 5 capable of robustly performing an estimation task related to the foreground against a difference in background.
  • FIG. 13 schematically illustrates an example of another scene for estimating the attributes of an object appearing in image data.
  • the identification system illustrated in FIG. 13 includes a model generator 1 and an identification device 2B.
  • the identification device 2B corresponds to the inspection device 2A.
  • the configuration of the identification device 2B may be the same as that of the inspection device 2A.
  • the image data in which the license plate RB appears may be treated as training data and target image data.
  • a camera SB may be used to acquire the image data, as in the inspection system 100A.
  • the feature targeted by the estimation task may be related to the symbol P20 assigned to the license plate RB.
  • the license plate RB is an example of an object.
  • the background may be an area other than the symbol P20.
  • the foreground may be the area where the symbol P20 appears.
  • the symbol P20 may be composed of, for example, numbers, letters, marks, figures, or a combination thereof.
  • the background of the license plate RB may be decorated with a pattern, a pattern or the like.
  • the estimation of the feature of the object may be to identify the symbol P20.
  • the model generator 1 can generate a machine-learned estimator 5 that can robustly identify the symbol P20 assigned to the license plate RB against a difference in background.
  • the identification device 2B can identify the symbol P20 of the license plate RB reflected in the target image data by the same procedure as the inspection device 2A.
  • the identification system according to this modification may be used in any situation for identifying the symbol P20 of the license plate RB.
  • the identification system according to the present modification may be used to identify a vehicle traveling on the road from image data obtained by a surveillance camera for monitoring the vehicle traveling on the road.
  • the identification device 2B may identify the license plate RB symbol P20 with respect to the target image data obtained in time series by the processes of steps S201 to S204. Good. Then, the identification device 2B may create historical information showing the result of identifying the vehicle traveling on the target road based on the symbol P20 in chronological order by the process of step S205.
  • FIG. 14 schematically illustrates an example of another scene for estimating the attribute of the object reflected in the image data.
  • the identification system illustrated in FIG. 14 includes a model generator 1 and an identification device 2C.
  • the identification device 2C corresponds to the inspection device 2A.
  • the configuration of the identification device 2C may be the same as that of the inspection device 2A.
  • the image data showing the packaging RC of the product may be treated as the training data and the target image data.
  • a camera SC may be used to acquire the image data, as in the inspection system 100A.
  • the feature targeted by the estimation task may be related to the symbol P30 given to the packaging RC.
  • the packaging RC is an example of an object.
  • the background may be an area other than the symbol P30.
  • the foreground may be the area where the symbol P30 appears.
  • the symbol P30 may be composed of, for example, numbers, letters, marks, figures, codes, or a combination thereof.
  • the code may be, for example, a one-dimensional code, a two-dimensional code, or the like.
  • the background of the packaging RC may be decorated with a pattern, a pattern, or the like.
  • the estimation of the feature of the object may be to identify the symbol P30.
  • the identification device 2C can identify the symbol P30 assigned to the package RC shown in the target image data by the same procedure as the inspection device 2A.
  • the identification system according to this modification may be used in any situation for identifying the symbol P30 assigned to the packaging RC.
  • the identification system according to this modification may be used to identify a product transported on a production line.
  • FIG. 15 schematically illustrates an example of another scene for estimating the attributes of an object reflected in image data.
  • the monitoring system illustrated in FIG. 15 includes a model generation device 1 and a monitoring device 2D.
  • the monitoring device 2D corresponds to the inspection device 2A.
  • the configuration of the monitoring device 2D may be the same as that of the inspection device 2A.
  • the image data obtained by photographing the range in which the moving body RD can exist may be treated as the training data and the target image data.
  • a camera SD arranged so as to capture a range to be monitored may be used for acquiring the image data.
  • the range to be monitored may be determined from any place such as a road or a building.
  • the monitoring device 2D may be appropriately connected to the camera SD via, for example, a network or the like. As a result, the monitoring device 2D can acquire image data in which the range to be monitored is captured.
  • the feature targeted by the estimation task may be related to the attribute of the mobile RD.
  • the mobile RD is an example of an object.
  • the attributes of the moving body RD may include, for example, a range (bounding box) in which the moving body RD is captured, identification information of the moving body RD, a state of the moving body RD, and the like.
  • the state of the moving body RD may include, for example, a position, a number, a degree of congestion (congestion degree, density), a speed, an acceleration, and the like.
  • the state of the mobile RD may include the possibility (risk degree) that the mobile RD encounters a danger such as an accident or a crime. The types of dangers that the mobile RD can encounter may be determined arbitrarily.
  • the identification information of the moving body RD may include, for example, the identifier, name, gender, age, physique, and the like of the person.
  • the state of the moving body RD may include, for example, the behavior of the person, the posture of the person, and the like.
  • the background may be, for example, an area in which an object other than the moving object RD, such as a road or a building, is captured.
  • the foreground may be an area in which the moving body RD is captured.
  • the foreground may be a moving body RD and a region including the periphery of the moving body RD. In this case, the background may be a region outside the periphery of the moving body RD.
  • the model generator 1 can generate a machine-learned estimator 5 capable of robustly estimating the attributes of the moving body RD with respect to the difference in the background.
  • the monitoring device 2D can estimate the attributes of the moving body RD in the imaging range of the camera SD by the same procedure as the inspection device 2A.
  • the monitoring system according to this modification may be used in any situation where the mobile RD is monitored.
  • the monitoring system according to this modified example monitors the degree of congestion of a moving body RD in a road or a building, monitors a sign that a person falls from the platform of a station, or a person walking on the road encounters a crime. It may be used in situations such as monitoring a sign of a sign.
  • the form of outputting the estimation result may be arbitrarily determined.
  • the monitoring device 2D may output a warning according to the estimated risk level in step S205.
  • FIG. 16 schematically illustrates an example of another scene for estimating the attribute of the object reflected in the image data.
  • the monitoring system illustrated in FIG. 16 includes a model generation device 1 and a monitoring device 2E.
  • the monitoring device 2E corresponds to the inspection device 2A.
  • the configuration of the monitoring device 2E may be the same as that of the inspection device 2A.
  • the image data in which the driver RE is captured may be treated as the training data and the target image data.
  • a camera SE may be used to acquire the image data, as in the inspection system 100A.
  • the camera SE may be appropriately arranged to photograph the driver RE that is assumed to be present in the driver's seat.
  • the feature targeted by the estimation task may be related to the state of the driver RE.
  • the driver RE is an example of an object.
  • the state of the driver RE may include, for example, a health state, a degree of drowsiness, a degree of fatigue, a degree of margin, and the like.
  • the health state may be expressed by, for example, the probability of developing a predetermined disease, the probability of a change in physical condition, or the like.
  • the drowsiness degree indicates the degree of drowsiness of the driver RE.
  • the degree of fatigue indicates the degree of fatigue of the driver RE.
  • the margin indicates the degree of margin for the driving of the driver RE.
  • the background may be an area other than the area related to the state of the driver RE, such as the scenery inside the vehicle.
  • the foreground may be an area involved in the state of the driver RE.
  • Areas related to the state of the driver RE are, for example, an area in which the driver RE is captured, a region further including the periphery of the driver RE, a region in which a part of the driver RE (for example, any body part) is captured, and driving. It may be an area or the like in which a tool (handle or the like) is reflected.
  • the model generator 1 can generate a machine-learned estimator 5 that can robustly estimate the state of the driver RE with respect to the difference in the background.
  • the monitoring device 2E can estimate the state of the driver RE reflected in the target image data by the same procedure as the inspection device 2A.
  • the monitoring system according to this modification may be used in any situation where the state of the driver RE is monitored. Further, the monitoring system according to this modification may be used by a target person other than the driver RE. As an example other than the driver RE, the target person may be, for example, a worker who works in an office, a factory, or the like.
  • step S205 the form of outputting the result of estimating the state of the driver RE may be arbitrarily determined.
  • the monitoring device 2E may determine whether or not at least one of the estimated drowsiness and fatigue exceeds the threshold value. Then, when at least one of the drowsiness and the fatigue exceeds the threshold value, the monitoring device 2E outputs a warning to the output device to urge the driver RE to stop the vehicle in a parking lot or the like and take a break. You may. In this way, the monitoring device 2E may output a specific message such as a warning to the output device according to the estimated state of the driver RE.
  • the monitoring device 2E when the vehicle is equipped with a control device (not shown) that controls the operation of automatic driving, the monitoring device 2E operates the automatic driving of the vehicle based on the result of estimating the state of the driver RE.
  • a command for instructing may be transmitted to the control device.
  • the control device is configured to be able to switch between an automatic driving mode for controlling the running of the vehicle and a manual driving mode for controlling the running of the vehicle by steering the driver RE.
  • the monitoring device 2E when the vehicle is traveling in the automatic driving mode and the switching from the automatic driving mode to the manual driving mode is received from the driver RE or the system, the monitoring device 2E has an estimated margin of the driver RE. It may be determined whether or not the degree exceeds the threshold.
  • the monitoring device 2E may transmit a command permitting the switching from the automatic operation mode to the manual operation mode to the control device.
  • the monitoring device 2E sends a notification to the control device not permitting the switching from the automatic driving mode to the manual driving mode, and runs in the automatic driving mode. You may try to maintain it.
  • the monitoring device 2E may determine whether or not at least one of the estimated drowsiness and fatigue exceeds the threshold value. Then, when at least one of the degree of drowsiness and the degree of fatigue exceeds the threshold value, the monitoring device 2E switches from the manual operation mode to the automatic operation mode and instructs the vehicle to stop at a safe place such as a parking lot. May be sent to the control device. On the other hand, if this is not the case, the monitoring device 2E may maintain the vehicle running in the manual driving mode.
  • the monitoring device 2E may determine whether or not the estimated margin is equal to or less than the threshold value. Then, when the margin is equal to or less than the threshold value, the monitoring device 2E may send a deceleration command to the control device. On the other hand, if this is not the case, the monitoring device 2E may maintain the running of the vehicle by the operation of the driver RE.
  • the vehicle control device and the monitoring device 2E may be configured by an integrated computer.
  • the background data 35 and the target background data 45 can be acquired by using the machine-learned generator 60 in steps S122 and S202.
  • the method of acquiring each background data (35, 45) does not have to be limited to such an example.
  • background data that can be used as each background data (35, 45) may be prepared in advance.
  • the background data may be stored in a storage unit (12, 22), a storage medium (91, 92), an external storage device, or the like.
  • background data (35, 45) in which the same type of background as the training data 31 and the target image data 41 is reflected may be appropriately selected from the background data prepared in advance.
  • the background data to be used may be selected by the operator.
  • the background data most similar to the training data 31 and the target image data 41 may be selected as the background data (35, 45).
  • the classifier 61 is used for training the generator 60.
  • the model generator 1 is a machine-learned generator that has acquired the ability to generate pseudo-background data 633 that matches the learning background data 39 by performing hostile learning between the generator 60 and the classifier 61. Build 60.
  • the method of generating the machine-learned generator 60 is limited to such an example as long as the generator 60 can be trained to generate pseudo-background data that reflects the background given by the learning background data 39. It does not have to be done.
  • FIG. 17 schematically illustrates an example of the configuration of the generator 60Z according to this modification.
  • the generator 60Z is trained with the encoder 67.
  • the encoder 67 is configured to convert image data into a feature amount.
  • the generator 60Z operates as a decoder configured to restore image data from features.
  • the feature amount obtained by the encoder 67 corresponds to the noise (latent variable) in the above embodiment.
  • the encoder 67 corresponds to the input estimator 62.
  • the form of the feature amount does not have to be particularly limited and may be arbitrarily determined.
  • the encoder 67 and the generator 60Z are each composed of a machine learning model.
  • the type of machine learning model that composes each may be arbitrarily selected. Similar to the above embodiment, a neural network may be used for the encoder 67 and the generator 60Z.
  • the model generator 1 can perform machine learning in step S102 as follows.
  • control unit 11 inputs the learning background data 39 to the encoder 67 and executes the arithmetic processing of the encoder 67. As a result, the control unit 11 acquires an output value corresponding to the result of converting the learning background data 39 into the feature amount from the encoder 67. Next, the control unit 11 inputs the feature amount obtained from the encoder 67 to the generator 60Z, and executes the arithmetic processing of the generator 60Z. As a result, the control unit 11 acquires the output value corresponding to the restored background data 633Z restored from the feature amount from the generator 60Z.
  • the control unit 11 calculates the error between the obtained restored background data 633Z and the learning background data 39.
  • the control unit 11 calculates the error of the value of each calculation parameter of the encoder 67 and the generator 60Z by using the gradient of the error calculated by the error back propagation method.
  • the control unit 11 updates the values of the calculation parameters of the encoder 67 and the generator 60Z based on the calculated errors.
  • the control unit 11 adjusts the values of the respective calculation parameters of the encoder 67 and the generator 60Z so that the sum of the errors calculated by the series of update processes becomes small.
  • the control unit 11 calculates an error between the feature amount obtained from the encoder 67 and the value obtained from a predetermined probability distribution (for example, Gaussian distribution), and the sum of the errors is small.
  • the value of each calculation parameter of the encoder 67 may be further adjusted so as to be. As a result, the control unit 11 may normalize the output value of the encoder 67.
  • step S122 the control unit 11 gives training data 31 to the machine-learned encoder 67, and executes arithmetic processing of the machine-learned encoder 67 and the generator 60Z. As a result, the control unit 11 can acquire the background data 35 generated in response to the training data 31 from the machine-learned generator 60Z.
  • step S202 the control unit 21 gives the target image data 41 to the machine-learned encoder 67, and executes arithmetic processing of the machine-learned encoder 67 and the generator 60Z. As a result, the control unit 21 can acquire the target background data 45 generated in response to the target image data 41 from the machine-learned generator 60Z.
  • the machine learning of the generator 60 may be configured by principal component analysis.
  • the machine-learned generator 60 may be composed of eigenvectors derived by principal component analysis.
  • machine learning already generator 60 may be configured by projection matrix using eigenvectors U "UU T".
  • Each component of the eigenvector is an example of the arithmetic parameters of the generator 60.
  • the corresponding background data 35 and the target background data 45 can be obtained by converting each of the training data 31 and the target image data 41 by the projection matrix.
  • a fully connected neural network is used for each of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62.
  • the types of neural networks that compose each of them need not be limited to such examples.
  • the generator 60, the discriminator 61, and the input estimator 62 for example, a convolutional neural network, a recurrent neural network, or the like may be used.
  • the type of the machine learning model that constitutes each of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62 does not have to be limited to the neural network.
  • the generator 60 may be configured by a projection matrix using the eigenvector U as described above.
  • the classifier 61, and the input estimator 62 for example, a support vector machine, a regression model, a decision tree model, or the like may be used in addition to the neural network.
  • the machine learning method may be appropriately selected according to the type of each machine learning model.
  • the input and output formats of the estimator 5, the generator 60, the discriminator 61, and the input estimator 62 are not particularly limited, and are appropriately determined according to the embodiment. Good.
  • the generator 60 and the classifier 61 may each be configured to further accept input of information indicating the type of background. As a result, it is possible to control the type of background reflected in the pseudo background data generated by the machine-learned generator 60 according to the input value (information indicating the background type) given to the machine-learned generator 60. it can.
  • the machine-learned generator 60 and the input estimator 62 may be generated by a computer other than the model generator 1.
  • the second data acquisition unit 115 and the second training unit 116 may be omitted from the software configuration of the model generation device 1. From the processing procedure of the model generation device 1, the processing of steps S101 to S103 may be omitted.
  • the model generation device 1 does not generate the machine-learned input estimator 62, the third data acquisition unit 117 and the third training unit 118 may be omitted from the software configuration of the model generation device 1. From the processing procedure of the model generation device 1, the processing of steps S111 to S113 may be omitted.
  • the storage processing unit 119 may be omitted from the software configuration of the model generation device 1. From the processing procedure of the model generation device 1, the processing of steps S103, S113, and S205 may be omitted.
  • Model generator 11 ... control unit, 12 ... storage unit, 13 ... communication interface, 14 ... external interface, 15 ... input device, 16 ... output device, 17 ... drive, 111 ... 1st data acquisition unit, 112 ... Background acquisition unit, 113 ... Difference calculation unit, 114 ... First training unit, 115 ... 2nd data acquisition department, 116 ... 2nd training department, 117 ... 3rd data acquisition department, 118 ... 3rd training department, 119 ... Preservation processing unit, 121 ... First learning result data, 122 ... Second learning result data, 123 ... Third learning result data, 81 ... model generation program, 91 ... storage medium, 2 ... Estimator, 21 ... Control unit, 22 ...
  • Storage unit 23 ... communication interface, 24 ... external interface, 25 ... Input device, 26 ... Output device, 27 ... Drive, 211 ... Data acquisition department, 212 ... Background acquisition department, 213 ... difference calculation unit, 214 ... estimation unit, 215 ... Output section, 82 ... estimation program, 92 ... storage medium, 30 ... Learning dataset, 31 ... Training data, 32 ... Correct answer data, 35 ... background data, 37 ... difference data, 39 ... Background data for learning, 41 ... Target image data, 45 ... Target background data, 47 ... Target difference data, 5 ... Estimator, 60 ... generator, 61 ... classifier, 62 ... Input estimator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Abstract

本発明の一側面に係るモデル生成装置は、各学習データセットについて、訓  練データに対する背景データを取得し、訓練データ及び背景データの差分を取ることで差分データを生成する。そして、モデル生成装置は、機械学習により、各学習データセットについて、生成された差分データから推定器による特徴を推定した結果が正解データに適合するように推定器を訓練する。

Description

モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
 本発明は、モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラムに関する。
 従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
特開2012-026982号公報 特開2017-111806号公報 特開2014-049118号公報 特開2019-071050号公報 特許第6264492号公報
 機械学習により構築された訓練済みの機械学習モデルで構成された推定器によれば、与えられた訓練データと同種の未知のデータに対して、回帰、分類等の推定(予測を含む)タスクを実行することができる。そのため、上記特許文献1のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、訓練済みの推定器の出力に基づいて製品の外観検査を実施することができる。しかしながら、本件発明者は、上記のような従来の方法には、次のような問題点があることを見出した。
 すなわち、従来の方法では、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させる機械学習を実施するために、事前に、欠陥を含む製品の写る画像が学習データとして収集される。欠陥を検出することは、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、換言すると、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
 ただし、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。また、訓練済みの推定器を運用する際に背景が変更されることもあり得る。高精度に外観検査を遂行可能な訓練済みの推定器を生成するためには、欠陥の種別及び背景の種別の全ての組み合わせについてサンプルを収集するのが望ましいが、全ての組み合わせについてサンプルを収集するのにはコストがかかる。そこで、例えば、全ての組み合わせについてのサンプルは得られていないが、検出対象の欠陥の全種別についてはサンプルが得られた時点等、ある程度の学習データが収集された段階で、機械学習モデルの機械学習を実施することが考えられる。
 しかしながら、学習データにおいてサンプルの得られていない組み合わせが存在する場合に、次のような問題が生じる可能性がある。すなわち、機械学習により、機械学習モデルは、訓練データ(サンプル)に含まれる任意の情報を利用して、所望の推定タスクを遂行するように訓練される。そのため、欠陥及び背景を含む訓練データを使用して、推定器の機械学習を実施した場合、生成される訓練済みの推定器は、データに含まれる欠陥に関する情報だけではなく、背景に関する情報も利用して、欠陥の検出に関する推定タスクを遂行する能力を獲得している場合がある。このような場合、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済みの推定器による欠陥の検出に関する推定の精度が低下してしまう可能性がある。
 加えて、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルの習得する能力に悪影響を及ぼす可能性がある。具体的には、組み合わせの偏ったサンプルを使用した機械学習により、推定器は、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。
 一例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの推定器は、第1製品に第1欠陥が生じていると誤検出してしまう。
 したがって、従来の方法では、機械学習により、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、欠陥検出に関する推定タスクを遂行するように構築される可能性がある。これにより、運用時の背景が学習時の背景と異なっていることで、訓練済みの推定器による欠陥検出に関する推定の精度が悪化してしまうという問題点があった。換言すると、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
 なお、このような問題点は、製品の外観検査に利用可能な訓練済みの推定器を生成する場面に特有のものではない。この問題点は、画像データに含まれる何らかの特徴を推定する様々な場面で生じ得る。画像データに含まれる何らかの特徴を推定する場面とは、例えば、画像データの前景に関する推定を行う場面である。前景に関する推定は、例えば、画像データに写る対象物の属性を推定することであってよい。
 具体例として、特許文献2では、訓練済みのニューラルネットワークを利用して、ナンバープレートを認識することが提案されている。特許文献3では、訓練済みの畳み込みニューラルネットワークを利用して、文字を識別することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を推定することが提案されている。特許文献5では、学習済みのモデルを利用して、撮影画像から運転者の運転に対する集中の程度を推定することが提案されている。
 これらの場面でも、従来の方法では、機械学習により、対象の特徴に関する推定タスクを遂行するための訓練済みの推定器を構築した場合に、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、当該推定タスクを遂行するように構築される可能性がある。そのため、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成するための技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係るモデル生成装置は、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得する第1データ取得部と、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得する背景取得部と、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成する差分算出部と、推定器の機械学習を実施する第1訓練部であって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、第1訓練部と、を備える。
 当該構成に係るモデル生成装置では、各学習データセットについて、訓練データから背景データを差分することで、背景の除外された訓練用の差分データが生成される。生成された訓練用の差分データを使用した機械学習により、推定器は、背景データの情報が除外された訓練データから対象の特徴を推定するように訓練される。これにより、差分計算で除外された背景データの情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得した訓練済みの推定器を生成することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器により遂行する際に、背景データに対応する情報が考慮されないようにすることができる。したがって、当該構成に係るモデル生成装置によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成することができる。
 上記一側面に係るモデル生成装置において、前記背景データを取得することは、機械学習済みの生成器を利用して、前記各学習データセットについて、前記訓練データに対して前記背景データを生成することを含んでもよい。例えば、撮影箇所がずれる等の同一種の背景であってもばらつきが生じる場合、そのばらつき毎に対応する背景データを予め用意するのにはコストがかかる。また、ばらつきを無視して差分を計算すると、得られる差分データに背景に関する情報の殆どが残ってしまい、背景の相違に対してロバストな訓練済みの推定器を適切に生成できない可能性がある。これに対して、当該構成によれば、機械学習済みの生成器を利用することで、背景にばらつきが生じる場合でも、訓練データに対応する背景データを生成することができる。そのため、背景データを用意するコストを低減することができる。また、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。
 上記一側面に係るモデル生成装置は、学習用背景データを取得する第2データ取得部と、取得された学習用背景データを使用した機械学習を実施することで、前記訓練データに対する前記背景データを生成するように訓練された前記機械学習済みの生成器を構築する第2訓練部と、を更に備えてもよい。当該構成によれば、訓練データに対応する背景データを生成可能な機械学習済みの生成器を適切に構築することができる。そして、構築された機械学習済みの生成器を利用することで、各学習データセットについて、訓練データに対応する背景データを用意するコストを低減することができる。また、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。なお、学習用背景データには、訓練データと同種の背景の写る画像データが用いられる。
 上記一側面に係るモデル生成装置において、前記差分算出部は、前記訓練データの各画素及び各画素の周囲の画素を含む対象領域と前記背景データの対応する各画素及び各画素の周囲の画素を含む対応領域との間の相関性に基づいて、前記訓練データの各画素と前記背景データの対応する各画素との差分を取ることで、前記差分データを生成してもよい。ノイズ等の影響により、背景データには、訓練データに含まれる背景との間に誤差が生じている可能性がある。特に、機械学習済みの生成器により背景データを生成した場合には、その可能性が高い。これに対して、当該構成では、対象の画素を含む領域間の相関性に基づいて対象の画素の差分を算出することで、単純な差分計算よりもその誤差が残らないように差分データを生成することができる。したがって、当該構成によれば、背景データに誤差が生じ得る場合でも、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。
 上記一側面に係るモデル生成装置において、前記訓練データの前景に関するものであってよい。当該構成によれば、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。なお、背景及び前景はそれぞれ、画像データに写り得る事象から任意に選択されてよい。
 上記一側面に係るモデル生成装置において、前記訓練データは、対象物の写る前記画像データであってよく、前記特徴は、前記対象物の属性であってよい。当該構成によれば、背景の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。なお、対象物は、任意に選択されてよい。対象物は、例えば、製品、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。
 上記一側面に係るモデル生成装置において、前記対象物は、製品であってよく、前記対象物の属性は、前記製品の欠陥に関するものであってよい。当該構成によれば、外観検査を実施する場面において、背景の相違に対してロバストに欠陥に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。
 また、本発明の形態は、上記モデル生成装置の形態に限られなくてもよい。本発明の一側面は、上記モデル生成装置により生成された訓練済みの推定器を利用する装置であってもよい。例えば、本発明の一側面は、上記モデル生成装置により生成された訓練済みの生成器を利用して、対象画像データに対して対象の特徴に関する推定タスクを実行するように構成された推定装置であってもよい。この推定装置は、適用場面における推定タスクの種類に応じて、検査装置、識別装置、監視装置、診断装置、予測装置等と読み替えられてよい。
 例えば、本発明の一側面に係る推定装置は、対象画像データを取得するデータ取得部と、前記対象画像データに対応する対象背景データを取得する背景取得部と、前記対象画像データと前記対象背景データとの差分を取ることで、対象差分データを生成する差分算出部と、上記いずれかの側面に係るモデル生成装置により生成された機械学習済みの推定器を利用して、生成された前記対象差分データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。当該構成によれば、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
 また、上記各形態に係るモデル生成装置及び推定装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置及び推定装置により構成される推定システムであってもよい。
 例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、を実行する、情報処理方法である。
 例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、を実行させるための、プログラムである。
 本発明によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成することができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。 図4Aは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図4Bは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図4Cは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図5は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。 図6Aは、実施の形態に係るモデル生成装置による訓練済みの生成器の生成に関する処理手順の一例を例示する。 図6Bは、実施の形態に係る生成器の機械学習の処理手順の一例を例示する。 図7は、実施の形態に係るモデル生成装置による訓練済みの入力推定器の生成に関する処理手順の一例を例示する。 図8は、実施の形態に係るモデル生成装置による訓練済みの推定器の生成に関する処理手順の一例を例示する。 図8は、訓練データ及び背景データの差分を算出する方法の一例を模式的に例示する。 図10は、実施の形態に係る推定装置の処理手順の一例を例示する。 図11は、本発明が適用される他の場面の一例を模式的に例示する。 図12Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。 図12Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。 図13は、本発明が適用される他の場面の一例を模式的に例示する。 図14は、本発明が適用される他の場面の一例を模式的に例示する。 図15は、本発明が適用される他の場面の一例を模式的に例示する。 図16は、本発明が適用される他の場面の一例を模式的に例示する。 図17は、他の形態に係る生成器の構成の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推定システム100は、モデル生成装置1及び推定装置2を備えている。
 本実施形態に係るモデル生成装置1は、推定器5の機械学習を実施するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置1は、複数の学習データセット30を取得する。各学習データセット30は、訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせにより構成される。
 訓練データ31は、画像データのサンプルである。訓練データ31は、「訓練サンプル」、「画像サンプル」、単に「サンプル」等と称されてもよい。特徴は、任意に選択されてよい。例えば、特徴は、画像データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れることは、画像データに写ることに相当する。間接的に表れることは、画像データに写る事象から導出されることに相当する。
 正解データ32は、対象の特徴に関する推定タスクの正解を示す。正解データ32は、「教師信号」、「ラベル」等と称されてもよい。「推定」は、「推論」と読み替えられてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。また、推定することには、予測することが含まれてもよい。
 本実施形態に係るモデル生成装置1は、各学習データセット30について、訓練データ31の背景を示す背景データ35を取得する。背景は、画像データに含まれる推定タスクの対象となる特徴以外の任意の成分から適宜選択されてよい。背景は、対象の特徴以外の全て又は一部の成分により構成されてよい。本実施形態に係るモデル生成装置1は、各学習データセット30について、取得された背景データ35と訓練データ31との差分を取ることで、差分データ37を生成する。生成された差分データ37は、背景データ35及び訓練データ31の間の差分を示す。
 本実施形態に係るモデル生成装置1は、生成された差分データ37を使用して、推定器5の機械学習を実施する。推定器5は、画像データ(サンプル)の入力を受け付け、入力された画像データに含まれる対象の特徴を推定し、推定の結果に対応する出力値を出力するように構成される。推定器5の入力及び出力の形式は、推定タスクに応じて任意に決定されてよい。推定器5は、演算に利用される演算パラメータであって、機械学習により調節される演算パラメータを備える機械学習モデル(学習器)により構成される。推定器5を構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて任意に選択されてよい。後述するとおり、本実施形態では、推定器5には、ニューラルネットワークが用いられる。
 本実施形態に係る機械学習を実施することは、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練することを含む。本実施形態に係るモデル生成装置1は、この機械学習を実施することで、画像データに含まれる特徴を推定する能力を獲得した訓練済みの推定器5を生成することができる。なお、「訓練済み」は、「機械学習済み」、単に「学習済み」等と称されてもよい。また、本実施形態に係るモデル生成装置1は、単に「生成装置」、「学習装置」等と称されてもよい。
 一方、本実施形態に係る推定装置2は、モデル生成装置1により生成された機械学習済みの推定器5を利用して、画像データに対して対象の特徴に関する推定タスクを遂行するように構成されたコンピュータである。具体的に、本実施形態に係る推定装置2は、推定タスクを遂行する対象となる対象画像データ41を取得する。対象画像データ41は、「対象サンプル」、「画像サンプル」、単に「サンプル」等と称されてもよい。推定装置2は、対象画像データ41に対応する対象背景データ45を取得する。推定装置2は、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。推定装置2は、モデル生成装置1により生成された機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。そして、推定装置2は、特徴を推定した結果に関する情報を出力する。
 以上のとおり、本実施形態では、訓練用の差分データ37を使用した機械学習により、推定器5は、背景データ35の情報が除外された訓練データ31から、正解データ32に適合するように対象の特徴を推定するように訓練される。その結果、訓練済みの推定器5は、差分計算で除外された背景データ35の情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器5により遂行する際に、背景データ35に対応する情報が考慮されないようにすることができる。したがって、本実施形態に係るモデル生成装置1によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器5であって、背景の相違に対してロバストな訓練済みの推定器5を生成することができる。本実施形態に係る推定装置2では、生成された訓練済みの推定器5を利用することで、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
 なお、図1の例では、モデル生成装置1及び推定装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び推定装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び推定装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
 また、図1の例では、モデル生成装置1及び推定装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る推定システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び推定装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び推定装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
 §2 構成例
 [ハードウェア構成]
 <モデル生成装置>
 図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の学習データセット30、複数件の学習用背景データ39、第1~第3学習結果データ121~123等の各種情報を記憶する。
 モデル生成プログラム81は、機械学習を実施することで各学習済みモデルを生成する後述の情報処理(図6A、図6B、図7及び図8)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。モデル生成プログラム81は、単に「生成プログラム」、「学習プログラム」等と称されてもよい。学習データセット30は、推定器5の機械学習に使用される。学習用背景データ39は、後述する生成器60の機械学習に使用される。第1~第3学習結果データ121~123はそれぞれ、機械学習により構築された各学習済みモデルに関する情報を示す。本実施形態では、第1~第3学習結果データ121~123はそれぞれ、モデル生成プログラム81を実行した結果として生成される。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行してもよい。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、訓練データ31、学習用背景データ39等の画像サンプルを得るためのカメラに接続されてよい。
 入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
 ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81、複数の学習データセット30、及び複数件の学習用背景データ39の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81、複数の学習データセット30、及び複数件の学習用背景データ39の少なくともいずれかを取得してもよい。なお、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
 なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
 <推定装置>
 図3は、本実施形態に係る推定装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
 推定装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、推定プログラム82、第1~第3学習結果データ121~123等の各種情報を記憶する。推定プログラム82は、訓練済みの推定器5を利用して、画像データに対して対象の特徴に関する推定タスクを遂行する後述の情報処理(図10)を推定装置2に実行させるためのプログラムである。推定プログラム82は、この情報処理の一連の命令を含む。推定プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、推定装置2は、記憶媒体92から、上記推定プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかを取得してもよい。
 なお、推定装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。推定装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
 [ソフトウェア構成]
 <モデル生成装置>
 図4A~図4Cは、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。
 モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、CPUにより、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4A~図4Cに示されるとおり、本実施形態に係るモデル生成装置1は、第1データ取得部111、背景取得部112、差分算出部113、第1訓練部114、第2データ取得部115、第2訓練部116、第3データ取得部117、第3訓練部118、及び保存処理部119をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 第1データ取得部111は、画像データである訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせによりそれぞれ構成される複数の学習データセット30を取得する。各学習データセット30は、対象の特徴に関する推定タスクを遂行する場面を想定して生成される。背景取得部112は、各学習データセット30について、訓練データ31の背景を示す背景データ35を取得する。各学習データセット30の訓練データ31に対応する背景データ35は適宜生成されてよい。本実施形態では、背景データ35を取得することは、機械学習済みの生成器60を利用して、各学習データセット30について、訓練データ31に対して背景データ35を生成することを含んでもよい。
 差分算出部113は、各学習データセット30について、取得された背景データ35及び訓練データ31の差分を取ることで、背景データ35及び訓練データ31の間の差分を示す差分データ37を生成する。第1訓練部114は、生成された差分データ37を使用して、推定器5の機械学習を実施する。この機械学習では、第1訓練部114は、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練する。
 第2データ取得部115は、複数件の学習用背景データ39を取得する。学習用背景データ39は、各学習データセット30の訓練データ31と同種の背景が写るように生成される。学習用背景データ39は、対象の特徴に関する情報が写らず、背景のみが写るように生成されるのが好ましい。第2訓練部116は、取得された学習用背景データ39を使用した機械学習を実施することにより、訓練データ31に対する背景データ35を生成するように訓練された機械学習済みの生成器60を構築する。推定器5と同様に、生成器60には、任意の機械学習モデルが利用されてよい。生成器60の入力及び出力の形式は任意に決定されてよい。
 訓練データ31に対応する背景データ35を生成可能であれば、生成器60の構成及び機械学習の方法は任意に選択されてよい。図4Bに示されるとおり、本実施形態では、生成器60の訓練に識別器61が利用される。生成器60は、ノイズ631(潜在変数)の入力を受け付け、入力されたノイズ631から疑似背景データ633を生成し、生成された疑似背景データ633に対応する出力値を出力するように構成される。これに対して、識別器61は、背景データ(サンプル)の入力を受け付け、入力された背景データ(サンプル)の由来を識別し、識別した結果に対応する出力値を出力するように構成される。生成器60等と同様に、識別器61には任意の機械学習モデルが利用されてよい。識別器61の入力及び出力の形式は任意に決定されてよい。
 本実施形態に係る生成器60の機械学習は、識別器61を訓練する第1訓練ステップ及び生成器60を訓練する第2訓練ステップを含む。第1訓練ステップでは、第2訓練部116は、入力された背景データが学習用背景データ39か生成器60により生成された疑似背景データ633かを識別する(換言すると、背景データの由来を識別する)性能を高めるように識別器61を訓練する。一方、第2訓練ステップでは、第2訓練部116は、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練する。第2訓練部116は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。すなわち、本実施形態に係る生成器60の機械学習は、生成器60及び識別器61の間の敵対的学習により構成される。
 上記機械学習により、本実施形態に係る訓練済みの生成器60は、学習用背景データ39に適合する疑似背景データを潜在変数のノイズから生成する能力を獲得する。つまり、本実施形態に係る訓練済みの生成器60によれば、学習用背景データ39により与えられた背景については再現性が高く、それ以外の情報については再現性の低い疑似画像データをノイズに応じて生成することができる。よって、この訓練済みの生成器60を利用することで、各学習データセット30について、訓練データ31に対応する背景データ35を生成することができる。
 ただし、上記のとおり、本実施形態では、訓練済みの生成器60は、疑似背景データをノイズに応じて生成するように構成される。そのため、この機械学習済みの生成器60を利用して、訓練データ31に対応する背景データ35を生成するためには、機械学習済みの生成器60に与える適当な入力値(ノイズ)を決定することになる。本実施形態に係るモデル生成装置1は、この入力値の決定に利用可能な機械学習済みの入力推定器62を更に生成する。
 入力推定器62は、画像データの入力を受け付け、入力された画像データに写る背景に適合する(疑似)背景データを生成するために機械学習済みの生成器60に与える入力値(ノイズ)を推定し、得られた推定値に対応する出力値を出力するように構成される。上記推定器5等と同様に、入力推定器62には任意の機械学習モデルが利用されてよい。入力推定器62の入力及び出力の形式は任意に決定されてよい。
 第3データ取得部117は、複数の学習データセット64を取得する。各学習データセット64は、入力値のサンプルであるノイズ641、及び機械学習済みの生成器60にノイズ641を与えることで生成される疑似背景データ643の組み合わせにより構成される。各学習データセット64の生成には、機械学習済みの生成器60が利用されてよい。
 第3訓練部118は、取得された複数の学習データセット64を使用して、入力推定器62の機械学習を実施する。この機械学習では、第3訓練部118は、各学習データセット64について、機械学習済みの生成器60に与えた入力値を疑似背景データ643から入力推定器62により推定することで得られる推定値がノイズ641に適合するように入力推定器62を訓練する。これにより、入力推定器62は、画像データに写る背景に適合する(疑似)背景データを機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得することができる。
 保存処理部119は、各機械学習により構築された訓練済みの推定器5、生成器60、及び入力推定器62それぞれに関する情報を第1~第3学習結果データ121~123として生成する。そして、保存処理部119は、生成された第1~第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は任意に選択されてよい。
 (機械学習モデルの構成)
 推定器5、生成器60、識別器61、及び入力推定器62それぞれには、機械学習を実施可能な任意のモデルが利用されてよい。図4A~図4Cに示されるとおり、本実施形態では、推定器5、生成器60、識別器61、及び入力推定器62はそれぞれ、多層構造の全結合型ニューラルネットワークにより構成される。推定器5、生成器60、識別器61、及び入力推定器62はそれぞれ、入力層(51、601、611、621)、中間(隠れ)層(52、602、612、622)、及び出力層(53、603、613、623)を備えている。
 ただし、推定器5、生成器60、識別器61、及び入力推定器62それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(52、602、612、622)の数は、1つに限定されなくてもよく、2つ以上であってもよい。或いは、中間層(52、602、612、622)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は任意に選択されてよい。推定器5、生成器60、識別器61、及び入力推定器62の少なくともいずれかの組み合わせについて、少なくとも部分的に構造が一致してもよいし、或いは一致していなくてもよい。
 各層(51~53、601~603、611~613、621~623)は1又は複数のニューロン(ノード)を備えている。各層(51~53、601~603、611~613、621~623)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合される。図4A~図4Cの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は任意に選択されてよい。各層(51~53、601~603、611~613、621~623)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、推定器5、生成器60、識別器61、及び入力推定器62それぞれの演算処理に利用される演算パラメータの一例である。推定器5、生成器60、識別器61、及び入力推定器62それぞれの演算パラメータの値は、上記機械学習により、所望の推論に適合した出力が得られるように調節される。
 (推定器の機械学習)
 図4Aに示されるとおり、第1訓練部114は、各学習データセット30について、生成された差分データ37を推定器5の入力層51に入力し、対象の特徴を推定した結果に対応する出力値を出力層53から取得する。推定器5の機械学習において、第1訓練部114は、取得される出力値と正解データ32との間の誤差が小さくなるように、推定器5の演算パラメータの値を調節する。これにより、各学習データセット30について、差分データ37から対象の特徴を推定する能力を獲得した訓練済みの推定器5を生成することができる。
 保存処理部119は、機械学習により生成された訓練済みの推定器5を再生するための第1学習結果データ121を生成する。訓練済みの推定器5を再生可能であれば、第1学習結果データ121の構成は任意であってよい。例えば、保存処理部119は、生成された訓練済みの推定器5の演算パラメータの値を示す情報を第1学習結果データ121として生成する。場合によって、第1学習結果データ121には、訓練済みの推定器5の構造を示す情報が更に含まれてもよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。保存処理部119は、生成された第1学習結果データ121を所定の記憶領域に保存する。
 (生成器の機械学習)
 図4Bに示されるとおり、本実施形態に係る生成器60の機械学習は、上記第1訓練ステップ及び第2訓練ステップを含む。第1訓練ステップでは、第2訓練部116は、生成器60の入力層601にノイズ631を入力し、ノイズ631から生成された疑似背景データ633に対応する出力値を出力層603から取得する。第2訓練部116は、生成された疑似背景データ633を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。また、第2訓練部116は、学習用背景データ39を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。
 図4Bの例では、学習データ由来であることを「真」と表現し、生成器60由来であることを「偽」と表現している。「真」は「1」に置き換えられてよく、「偽」は「0」に置き換えられてよい。ただし、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記背景データの由来を識別した結果を取得した2つの場面のうち、生成された疑似背景データ633を識別器61に入力した場面では、識別器61は「真」と識別するのが正解である。一方、学習用背景データ39を識別器61に入力した場面では、識別器61は「偽」と識別するのが正解である。第1訓練ステップにおいて、第2訓練部116は、生成器60の演算パラメータの値を固定した上で、各場面で出力層613から取得される出力値と各正解との間の誤差が小さくなるように、識別器61の演算パラメータの値を調節する。これにより、入力された背景データの由来を識別する性能を高めるように識別器61を訓練することができる。
 一方、第2訓練ステップでは、第2訓練部116は、生成器60の入力層601にノイズ631を入力し、ノイズ631から生成された疑似背景データ633に対応する出力値を出力層603から取得する。この疑似背景データ633を生成する処理は、第1訓練ステップ及び第2訓練ステップで共通に実行されてよい。すなわち、第1訓練ステップで生成された疑似背景データ633が第2訓練ステップでも利用されてよい。第2訓練部116は、生成された疑似背景データ633を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。
 第2訓練ステップでは、識別器61の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層613から得られる出力値が「真」に対応することが正解である。第2訓練部116は、識別器61の演算パラメータの値を固定した上で、出力層613から取得される出力値と当該正解との間の誤差が小さくなるように、生成器60の演算パラメータの値を調節する。これにより、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練することができる。
 第2訓練部116は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行することで、識別器61及び生成器60の性能を交互に高めていくことができる。これにより、識別器61の識別性能の向上に応じて、学習用背景データ39に適合する疑似背景データ633を生成する生成器60の性能の向上を図ることができる。したがって、上記機械学習により、推定タスクを遂行する場面で得られる画像データに表れ得る背景については再現性が高く、それ以外の情報については再現性の低い疑似背景データをノイズから生成可能な訓練済みの生成器60を構築することができる。なお、第1訓練ステップ及び第2訓練ステップの処理順序は任意であってよい。
 保存処理部119は、機械学習により生成された訓練済みの生成器60を再生するための第2学習結果データ122を生成する。第2学習結果データ122の構成は、上記第1学習結果データ121と同様であってよい。例えば、第2学習結果データ122には、訓練済みの生成器60の演算パラメータの値を示す情報が含まれてよい。場合によっては、第2学習結果データ122には、訓練済みの生成器60の構造を示す情報が更に含まれてもよい。保存処理部119は、生成された第2学習結果データ122を所定の記憶領域に保存する。なお、訓練済みの識別器61の取扱いについては任意であってよい。第2学習結果データ122には、訓練済みの識別器61を再生するための情報が更に含まれてもよいし、或いは含まれなくてもよい。
 (入力推定器の機械学習)
 図4Cに示されるとおり、第3訓練部118は、各学習データセット64について、疑似背景データ643を入力推定器62の入力層621に入力し、出力層623から出力値を取得する。入力推定器62から得られる出力値は、入力された疑似背景データ643を機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定した結果に対応する。第3訓練部118は、取得される出力値と対応するノイズ641との間の誤差が小さくなるように、入力推定器62の演算パラメータの値を調節する。これにより、画像データに写る背景に適合する(疑似)背景データを機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得した訓練済みの入力推定器62を生成することができる。
 保存処理部119は、機械学習により生成された訓練済みの入力推定器62を再生するための第3学習結果データ123を生成する。第3学習結果データ123の構成は、上記第1学習結果データ121等と同様であってよい。例えば、第3学習結果データ123には、訓練済みの入力推定器62の演算パラメータの値を示す情報が含まれてよい。場合によっては、第3学習結果データ123には、訓練済みの入力推定器62の構造を示す情報が更に含まれてもよい。保存処理部119は、生成された第3学習結果データ123を所定の記憶領域に保存する。
 (背景データの生成)
 図4Cに示されるとおり、本実施形態では、背景取得部112は、上記機械学習により生成された訓練済みの生成器60及び入力推定器62を利用することで、各学習データセット30の訓練データ31に対応する背景データ35を生成することができる。
 具体的に、背景取得部112は、各学習データセット30について、機械学習済みの入力推定器62の入力層621に訓練データ31を入力し、出力層623から出力値を取得する。機械学習済みの入力推定器62から得られる出力値は、訓練データ31に写る背景に適合する疑似背景データを生成するために、機械学習済みの生成器60に与えるノイズの推定値に対応する。
 次に、背景取得部112は、取得されたノイズの推定値を機械学習済みの生成器60の入力層601に入力し、ノイズの推定値から生成された疑似背景データに対応する出力値を出力層603から取得する。背景取得部112は、生成された疑似背景データを、訓練データ31に対する背景データ35として取得することができる。
 <推定装置>
 図5は、本実施形態に係る推定装置2のソフトウェア構成の一例を模式的に例示する。
 推定装置2の制御部21は、記憶部22に記憶された推定プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5に示されるとおり、本実施形態に係る推定装置2は、データ取得部211、背景取得部212、差分算出部213、推定部214、及び出力部215をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
 データ取得部211は、推定タスクの遂行対象となる対象画像データ41を取得する。背景取得部212は、対象画像データ41に対応する対象背景データ45を取得する。本実施形態では、背景取得部212は、第2学習結果データ122及び第3学習結果データ123を保持することで、機械学習済みの生成器60及び入力推定器62を備えている。背景取得部212は、機械学習済みの入力推定器62に対象画像データ41を与えることで、対象画像データ41に写る背景に適合する疑似背景データを生成するために機械学習済みの生成器60に与えるノイズを推定してもよい。そして、背景取得部212は、取得されたノイズの推定値を機械学習済みの生成器60に与えることで、疑似背景データを生成してもよい。背景取得部212は、生成された疑似背景データを対象背景データ45として取得してもよい。
 差分算出部213は、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。推定部214は、第1学習結果データ121を保持することで、機械学習済みの推定器5を備えている。推定部214は、機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。出力部215は、特徴を推定した結果に関する情報を出力する。
 <その他>
 モデル生成装置1及び推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置1及び推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [モデル生成装置]
 (A)生成器の機械学習
 図6Aは、本実施形態に係るモデル生成装置1による生成器60の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS101)
 ステップS101では、制御部11は、第2データ取得部115として動作し、複数件の学習用背景データ39を取得する。
 学習用背景データ39は適宜生成されてよい。例えば、実空間又は仮想空間において、推定タスクを遂行する場面を想定して、様々な条件で背景をカメラにより撮影することで、学習用背景データ39を生成することができる。このとき、対象の特徴に関する情報が写らず、背景のみが写るように学習用背景データ39を生成するのが好ましい。背景は、推定タスクに応じて適宜選択されてよい。下地が異なる等の異なる種類の背景について、学習用背景データ39は網羅的に収集されるのが好ましい。一方、同一種の背景で撮影箇所がずれる等のばらつきに関しては、学習用背景データ39は網羅的に収集されなくてよい。撮影する背景の種類は、訓練データ31と同じである。対象の特徴及び背景の写る訓練データ31が得られている場合、学習用背景データ39は、画像処理により対象の特徴に関する情報を訓練データ31から適宜除去することにより生成されてもよい。或いは、学習用背景データ39は、訓練データ31とは別途に取得されてよい。
 学習用背景データ39は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、学習用背景データ39の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。学習用背景データ39をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記生成処理を実行することで、学習用背景データ39を取得する。一方、学習用背景データ39を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された学習用背景データ39を取得する。一部の学習用背景データ39がモデル生成装置1により生成され、その他の学習用背景データ39が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習用背景データ39の件数は任意に選択されてよい。複数件の学習用背景データ39を取得すると、制御部11は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部11は、第2訓練部116として動作し、取得された複数件の学習用背景データ39を使用して、生成器60の機械学習を実施する。これにより、訓練データ31に対する背景データ35を生成するように訓練された機械学習済みの生成器60を構築する。
 図6Bは、本実施形態に係る生成器60の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS1021~ステップS1023の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 本実施形態では、生成器60の訓練に識別器61が利用される。処理対象となる生成器60及び識別器61それぞれを構成するニューラルネットワークは適宜用意されてよい。生成器60及び識別器61それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習により得られた学習結果データに基づいて、生成器60及び識別器61を用意してもよい。
 (ステップS1021)
 ステップS1021では、制御部11は、学習用背景データ39及び生成器60により生成された疑似背景データ633を使用して、入力された背景データの由来を識別するように識別器61を訓練する。ステップS1021は、上記第1訓練ステップの一例である。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS1022等の他のニューラルネットワークの機械学習の処理についても同様である。
 一例として、まず、制御部11は、所定の確率分布からノイズ631(潜在変数)を抽出する。所定の確率分布は任意に選択されてよい。所定の確率分布は、例えば、ガウス分布等の公知の確率分布であってよい。続いて、制御部11は、抽出されたノイズ631を生成器60に与えて、生成器60の演算処理を実行する。すなわち、制御部11は、ノイズ631を生成器60の入力層601に入力し、入力側から順に各層601~603に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、ノイズ631から生成した疑似背景データ633に対応する出力値を出力層603から取得する。生成する疑似背景データ633の件数は任意でよい。なお、この順伝播の演算処理は、以下の他のニューラルネットワークの演算処理においても同様に実行される。
 次に、制御部11は、生成された疑似背景データ633を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データは疑似背景データ633であるため、識別器61は「偽」と識別するのが正解である。制御部11は、各件の疑似背景データ633について、出力層613から得られる出力値と当該正解との誤差を算出する。
 また、制御部11は、各件の学習用背景データ39を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データは学習用背景データ39であるため、識別器61は「真」と識別するのが正解である。制御部11は、各件の学習用背景データ39について、出力層613から得られる出力値と当該正解との誤差を算出する。
 各誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層613から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
 制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、識別器61の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、識別器61の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
 制御部11は、生成器60の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、識別器61の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による識別器61の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、入力された背景データの由来を識別する性能を高めるように識別器61を訓練することができる。この識別器61の訓練処理が完了すると、制御部11は、次のステップS1022に処理を進める。
 (ステップS1022)
 ステップS1022では、制御部11は、識別器61の識別性能を低下させるような疑似背景データ633を生成するように生成器60を訓練する。換言すると、制御部11は、識別器61が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似背景データ633を生成するように生成器60を訓練する。ステップS1022は、上記第2訓練ステップの一例である。
 一例として、まず、制御部11は、上記ステップS1021と同様に、所定の確率分布から抽出されたノイズ631を生成器60に与えることで、疑似背景データ633を生成する。上記ステップS1021により生成された疑似背景データ633を本ステップS1022でも利用する場合、制御部11は、本ステップS1022において、疑似背景データ633を生成する処理を省略してよい。
 次に、制御部11は、生成された疑似背景データ633を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データが「真」である(すなわち、学習データ由来である)と識別器61が誤った識別をすることが正解である。制御部11は、各件の疑似背景データ633について、出力層613から得られる出力値と当該正解との誤差を算出する。上記と同様に、当該誤差の算出には、任意の損失関数が用いられてよい。
 制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、識別器61を介して生成器60の各演算パラメータに逆伝播して、生成器60の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、生成器60の各演算パラメータの値を更新する。上記と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、識別器61の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、生成器60の各演算パラメータの値を調節する。上記識別器61の訓練と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による生成器60の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練することができる。この生成器60の訓練処理が完了すると、制御部11は、次のステップS1023に処理を進める。
 (ステップS1023)
 ステップS1023では、制御部11は、ステップS1021及びステップS1022の処理を繰り返すか否かを判定する。処理を繰り返す基準は任意に決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS1021及びステップS1022の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS1021に処理を戻し、ステップS1021及びステップS1022の処理を再度実行する。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、生成器60の機械学習の処理を完了し、次のステップS103に処理を進める。
 以上により、制御部11は、識別器61の訓練ステップ及び生成器60の訓練ステップを交互に繰り返し実行する。これにより、識別器61及び生成器60の性能を交互に高めていくことができる。その結果、学習用背景データ39に適合する疑似背景データ633を生成する(これにより、訓練データ31に対する背景データ35を生成する)能力を獲得した訓練済みの生成器60を構築することができる。
 (ステップS103)
 図6Aに戻り、ステップS103では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの生成器60に関する情報を第2学習結果データ122として生成する。そして、制御部11は、生成された第2学習結果データ122を所定の記憶領域に保存する。
 所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに第2学習結果データ122を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに第2学習結果データ122を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。
 これにより、第2学習結果データ122の保存が完了すると、制御部11は、生成器60の機械学習に関する一連の処理を終了する。
 なお、生成された第2学習結果データ122は、任意のタイミングで推定装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、第2学習結果データ122を推定装置2に転送してもよい。推定装置2は、この転送を受信することで、第2学習結果データ122を取得してもよい。また、例えば、推定装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、第2学習結果データ122を取得してもよい。また、例えば、推定装置2は、記憶媒体92を介して、第2学習結果データ122を取得してもよい。また、例えば、第2学習結果データ122は、推定装置2に予め組み込まれてもよい。
 更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、第2学習結果データ122を更新又は新たに生成してもよい。この繰り返しの際には、学習用背景データ39の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した第2学習結果データ122を任意の方法で推定装置2に提供することで、推定装置2の保持する第2学習結果データ122を更新してもよい。
 (B)入力推定器の機械学習
 図7は、本実施形態に係るモデル生成装置1による入力推定器62の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS111)
 ステップS111では、制御部11は、第3データ取得部117として動作し、複数の学習データセット64を取得する。各学習データセット64は、入力値のサンプルであるノイズ641、及び機械学習済みの生成器60にノイズ641を与えることで生成される疑似背景データ643の組み合わせにより構成される。
 各学習データセット64は、機械学習済みの生成器60を利用することで適宜生成されてよい。一例として、所定の確率分布(例えば、ガウス分布等)からノイズ641(潜在変数)を抽出する。抽出されたノイズ641を機械学習済みの生成器60の入力層601に入力し、機械学習済みの生成器60の演算処理を実行する。この演算処理により、ノイズ641から生成した疑似背景データ643に対応する出力値を訓練済みの生成器60の出力層603から取得することができる。生成された疑似背景データ643に、入力したノイズ641を関連付ける。これにより、各学習データセット64を生成することができる。なお、学習データセット64の構成は、このような例に限定されなくてもよい。例えば、学習データセット64は、疑似背景データ643の代わりに、背景以外の他の情報(例えば、対象の特徴)を更に含む画像データを備えてもよい。この場合、同一の背景の写る画像データには同一のノイズ641が関連付けられる。
 上記学習用背景データ39と同様に、各学習データセット64は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各学習データセット64の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。一部の学習データセット64がモデル生成装置1により生成され、その他の学習データセット64が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習データセット64の件数は任意に選択されてよい。複数の学習データセット64を取得すると、制御部11は、次のステップS112に処理を進める。
 (ステップS112)
 ステップS112では、制御部11は、第3訓練部118として動作し、取得された複数の学習データセット64を使用して、入力推定器62の機械学習を実施する。当該機械学習では、制御部11は、各学習データセット64について、機械学習済みの生成器60に与えた入力値を疑似背景データ643から入力推定器62により推定することで得られる推定値がノイズ641に適合するように入力推定器62を訓練する。
 一例として、まず、制御部11は、各学習データセット64について、入力推定器62の入力層621に疑似背景データ643を入力し、入力推定器62の演算処理を実行する。これにより、制御部11は、疑似背景データ643を生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定した結果に対応する出力値を出力層623から取得する。制御部11は、得られる推定値と対応するノイズ641との誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、任意の損失関数が用いられてよい。
 制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、入力推定器62の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、入力推定器62の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、入力推定器62の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による入力推定器62の各演算パラメータの値の調節を繰り返してもよい。
 この機械学習により、入力推定器62は、各学習データセット64について、疑似背景データ643からノイズ641を適切に推定可能に訓練される。すなわち、入力推定器62は、機械学習済みの生成器60の出力から入力を推定するように訓練される。機械学習済みの生成器60は、背景については再現性が高く、それ以外の情報については再現性の低い疑似画像データを生成するように訓練されている。そのため、入力推定器62は、同一の背景の写る画像データであれば、その他の情報が含まれていても、同じ入力値(ノイズ)を推定可能に訓練される。同一の背景の写る画像データに同一のノイズ641が関連付けられている限り、疑似背景データ643が他の情報を更に含む画像データに置き換わっても同様に入力推定器62を訓練可能である。したがって、上記機械学習により、与えられた画像データに写る背景から、その背景の写る疑似背景データを生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得した訓練済みの入力推定器62を構築することができる。入力推定器62の機械学習が完了すると、制御部11は、次のステップS113に処理を進める。
 (ステップS113)
 ステップS113では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの入力推定器62に関する情報を第3学習結果データ123として生成する。そして、制御部11は、生成された第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 これにより、第3学習結果データ123の保存が完了すると、制御部11は、入力推定器62の機械学習に関する一連の処理を終了する。なお、上記第2学習結果データ122と同様に、生成された第3学習結果データ123は、任意のタイミングで推定装置2に提供されてよい。また、上記ステップS111~ステップS113の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第3学習結果データ123が任意の方法で推定装置2に提供されることで、推定装置2の保持する第3学習結果データ123が更新されてもよい。
 (C)推定器の機械学習
 図8は、本実施形態に係るモデル生成装置1による推定器5の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS121)
 ステップS121では、制御部11は、第1データ取得部111として動作し、複数の学習データセット30を取得する。各学習データセット30は、画像データである訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせにより構成される。
 各学習データセット30は適宜生成されてよい。例えば、実空間又は仮想空間において、対象の特徴が表れる状態で背景と共にカメラによる撮影を実施することで、訓練データ31が得られてよい。具体例として、製品の外観検査に利用可能な訓練済みの推定器を生成する場合、欠陥を含む又は含まない製品をカメラにより撮影することで、訓練データを得ることができる。そして、取得された訓練データ31に含まれる対象の特徴を推定した結果(正解)を示す情報を、正解データ32として、取得された訓練データ31に関連付ける。対象の特徴を推定する方法は任意に選択されてよい。例えば、特徴の推定はオペレータにより行われてもよい。これにより、各学習データセット30を生成することができる。
 上記学習用背景データ39等と同様に、各学習データセット30は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各学習データセット30の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。一部の学習データセット30がモデル生成装置1により生成され、その他の学習データセット30が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習データセット30の件数は任意に選択されてよい。複数の学習データセット30を取得すると、制御部11は、次のステップS122に処理を進める。
 (ステップS122)
 ステップS122では、制御部11は、背景取得部112として動作し、各学習データセット30について、訓練データ31に対する背景データ35を取得する。
 背景データ35は適宜生成されてよい。本実施形態では、制御部11は、機械学習済みの生成器60及び入力推定器62を利用して、各学習データセット30について、訓練データ31に対する背景データ35を生成することができる。具体的に、制御部11は、各学習データセット30について、機械学習済みの入力推定器62の入力層621に訓練データ31を入力し、入力推定器62の演算処理を実行する。これにより、制御部11は、入力された訓練データ31に写る背景に適合する疑似背景データを生成するために、機械学習済みの生成器60に与える入力値を推定した結果に対応する出力値を機械学習済みの入力推定器62の出力層623から取得することができる。続いて、制御部11は、機械学習済みの入力推定器62により取得された推定値を機械学習済みの生成器60の入力層601に入力し、機械学習済みの生成器60の演算処理を実行する。これにより、制御部11は、推定値から生成された疑似背景データに対応する出力値を機械学習済みの生成器60の出力層603から取得することができる。制御部11は、各学習データセット30について、生成された疑似背景データを、訓練データ31に対する背景データ35として取得してもよい。背景データ35を取得すると、制御部11は、次のステップS123に処理を進める。
 (ステップS123)
 ステップS123では、制御部11は、差分算出部113として動作し、各学習データセット30について、取得された背景データ35及び訓練データ31の差分を算出することで、差分データ37を生成する。差分データ37を生成すると、制御部11は、次のステップS124に処理を進める。
 なお、背景データ35に基づいて訓練データ31に含まれる背景に関する情報を低減可能であれば、差分計算の方法は、特に限定されなくてもよく、実施の形態に応じて適宜に決定されてよい。一例として、制御部11は、訓練データ31と背景データ35との間で同一の位置の各画素の値を比較し、同じ値である場合に「0」にし、異なる値である場合に訓練データ31の画素値をそのまま採用することで、差分データ37を生成してもよい。
 その他の例として、制御部11は、訓練データ31と背景データ35との間で同一の位置の各画素同士の値を単純に差分してもよい。この単純な差分計算では、背景データ35と訓練データ31とのわずかな背景の相違が差分データ37に残存する可能性がある。特に、上記機械学習済みの生成器60により背景データ35を生成した場合にはその可能性が高い。そこで、これに対応するために、制御部11は、得られた差分データ37を二値化してもよい。例えば、差分データ37の画素値が0~255の間で表現される場合には、制御部11は、訓練データ31及び背景データ35の間で算出された各画素の値の差分を閾値と比較してもよい。閾値は任意に決定されてよい。そして、制御部11は、差分が閾値より小さい画素の値を「0」にし、差分が閾値よりも大きい画素の値を「255」とすることで、差分データ37を生成してもよい。
 図9は、訓練データ31及び背景データ35の差分を算出する更にその他の方法の一例を模式的に例示する。この方法では、制御部11は、訓練データ31の各画素311の対象領域315と背景データ35の対応する各画素351の対応領域355との間の相関性を算出する。対象領域315は、訓練データ31における対象の画素311及び対象の画素311の周囲に存在する画素312を含む。対象領域315は、画素311毎に定義される。図9の例では、対象領域315は、対象の画素311及び対象の画素311の周囲に存在する8つの画素312を全て含むことで、3×3のサイズを有している。ただし、対象領域315のサイズ及び形状は、このような例に限定されなくてもよく、対象の画素311の周囲に存在する少なくとも1つの画素312を含むものであれば、任意に決定されてよい。対応領域355は、対象の画素311に対応する画素351及び画素351の周囲に存在する画素352を含む。対応する画素351は、対象の画素311と同一の位置に存在する。対応領域355は、対象領域315と同一の位置及び範囲に定義される。相関性の計算には、相関係数を計算する方法等の公知の計算方法が採用されてよい。
 そして、制御部11は、対象領域315及び対応領域355の間で算出された相関性に基づいて、訓練データ31の各画素311と背景データ35の対応する各画素351との差分を算出する。すなわち、制御部11は、算出された相関性に応じて、対象の画素311及び対応する画素351の間の差分結果を決定する。算出される相関性が高いほど、対象の画素311及び対応する画素351は互いに同じ背景の像を写しており、算出される相関性が低いほど、対象の画素311は、対応する画素351と異なる像(すなわち、対象の特徴等の背景以外の像)を写していることを示す。この観点に基づいて、算出される相関性と差分結果との間の関係は任意に規定されてよい。例えば、制御部11は、算出された相関性の値と閾値とを比較し、相関性の値が閾値よりも低い場合に、各画素311の値をそのまま採用し、相関性の値が閾値よりも高い場合に、対象の画素の値を「0」にすることで、差分データ37を生成してもよい。閾値は任意に決定されてよい。この方法によれば、背景データ35と訓練データ31との間で背景がわずかに相違する場合の他、背景データ35と訓練データ31との間で背景が、相関性を算出する範囲でずれている場合でも、背景に関する情報が差分データ37に残存するのを低減することができる。
 (ステップS124)
 ステップS124では、制御部11は、第1訓練部114として動作し、生成された差分データ37を使用して、推定器5の機械学習を実施する。当該機械学習では、制御部11は、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練する。
 一例として、まず、制御部11は、各学習データセット30について、生成された差分データ37を推定器5の入力層51に入力し、推定器5の演算処理を実行する。これにより、制御部11は、差分データ37に含まれる対象の特徴を推定した結果に対応する出力値を推定器5の出力層53から取得する。制御部11は、出力層53から得られる出力値と対応する正解データ32との誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、任意の損失関数が用いられてよい。
 制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推定器5の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、推定器5の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
 制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、推定器5の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による推定器5の各演算パラメータの値の調節を繰り返してもよい。
 この機械学習により、推定器5は、各学習データセット30について、差分データ37から対象の特徴を適切に推定可能に訓練される。そのため、当該機械学習の結果、背景差分により得られる画像データが与えられると、与えられた画像データに表れる対象の特徴を推定する能力を獲得した訓練済みの推定器5を構築することができる。推定器5の機械学習が完了すると、制御部11は、次のステップS125に処理を進める。
 (ステップS125)
 ステップS125では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの推定器5に関する情報を第1学習結果データ121として生成する。そして、制御部11は、生成された第1学習結果データ121を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 これにより、第1学習結果データ121の保存が完了すると、制御部11は、推定器5の機械学習に関する一連の処理を終了する。なお、上記第2学習結果データ122等と同様に、生成された第1学習結果データ121は、任意のタイミングで推定装置2に提供されてよい。また、上記ステップS121~ステップS125の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第1学習結果データ121が任意の方法で推定装置2に提供されることで、推定装置2の保持する第1学習結果データ121が更新されてもよい。
 [推定装置]
 図10は、本実施形態に係る推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS201)
 ステップS201では、制御部21は、データ取得部211として動作し、対象画像データ41を取得する。
 対象画像データ41は、推定タスクを遂行する対象となる画像データのサンプルである。対象画像データ41は任意の方法で取得されてよい。例えば、対象の特徴に関する撮影をカメラにより行うことで、対象画像データ41を取得することができる。カメラの種類は任意に選択されてよい。また、対象画像データ41は、静止画像及び動画像のいずれであってもよい。対象画像データ41を取得すると、制御部21は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部21は、背景取得部212として動作し、対象画像データ41に対応する対象背景データ45を取得する。
 対象背景データ45は適宜生成されてよい。対象背景データ45は、上記ステップS122の背景データ35と同様の方法で生成されてよい。本実施形態では、制御部21は、第2学習結果データ122及び第3学習結果データ123を参照することで、機械学習済みの生成器60及び入力推定器62の設定を行ってもよい。そして、制御部21は、訓練データ31を対象画像データ41に置き換えて、上記ステップS122と同様の演算処理を実行することにより、機械学習済みの生成器60及び入力推定器62を利用して、対象画像データ41に対応する対象背景データ45を取得してもよい。対象背景データ45を取得すると、制御部21は、次のステップS203に処理を進める。
 (ステップS203)
 ステップS203では、制御部21は、差分算出部213として動作し、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。対象背景データ45に基づいて対象画像データ41に含まれる背景に関する情報を低減可能であれば、本ステップS203の差分計算の方法は任意に決定されてよい。本ステップS203の差分計算の方法は、上記ステップS123と同様であってよい。対象差分データ47を生成すると、制御部21は、次のステップS204に処理を進める。
 (ステップS204)
 ステップS204では、制御部21は、推定部214として動作し、機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。本実施形態では、制御部21は、第1学習結果データ121を参照して、機械学習済みの推定器5の設定を行う。制御部21は、生成された対象差分データ47を機械学習済みの推定器5の入力層51に入力し、機械学習済みの推定器5の演算処理を実行する。これにより、制御部21は、対象差分データ47に含まれる対象の特徴を推定した結果に対応する出力値を機械学習済みの推定器5の出力層53から取得することができる。すなわち、本実施形態では、対象画像データ41に含まれる特徴を推定することは、対象差分データ47を機械学習済みの推定器5に与えて、機械学習済みの推定器5の演算結果を取得することにより達成される。対象の特徴に関する推定処理が完了すると、制御部21は、次のステップS205に処理を進める。
 (ステップS205)
 ステップS205では、制御部21は、出力部215として動作し、対象の特徴を推定した結果に関する情報を出力する。
 出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS204の推定結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、対象の特徴を推定した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
 推定結果に関する情報の出力が完了すると、制御部21は、本動作例に係る処理手順を終了する。なお、所定期間の間、制御部21は、ステップS201~ステップS205の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置2は、対象の特徴に関する推定タスクを継続的に実施してもよい。
 [特徴]
 以上のとおり、本実施形態では、上記ステップS123及ぶステップS124により、推定器5は、背景データ35の情報が除外された訓練データ31(差分データ37)から、正解データ32のとおりに対象の特徴を推定するように訓練される。その結果、機械学習済みの推定器5は、差分計算で除外された背景データ35の情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器5により遂行する際に、背景データ35に対応する情報が考慮されないようにすることができる。したがって、本実施形態に係るモデル生成装置1によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器5であって、背景の相違に対してロバストな訓練済みの推定器5を生成することができる。また、本実施形態に係る推定装置2では、上記ステップS204において、生成された訓練済みの推定器5を利用することで、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
 また、ステップS121及びステップS201で取得される訓練データ31及び対象画像データ41において、例えば、撮影箇所がずれる等に起因して、同一種の背景であってもばらつきが生じる可能性がある。これに対して、本実施形態では、ステップS101~ステップS103の処理により、背景データを生成するための機械学習済みの生成器60を構築することができる。この機械学習済みの生成器60を利用することで、同一種の背景にばらつきが生じる場合でも、ステップS122及びステップS202において、訓練データ31及び対象画像データ41それぞれに対応する背景データ35及び対象背景データ45を適切に生成することができる。そのため、背景データ35及び対象背景データ45それぞれを用意するコストを低減することができる。また、ステップS124において、背景の相違に対してロバストな訓練済みの推定器5を適切に生成することができる。ステップS204では、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
 [実施例]
 上記効果を検証するために、実施例及び比較例に係る機械学習済みの推定器を構築した。ただし、本発明は、以下の実施例に限定されるものではない。
 まず、MNIST(Modified National Institute of Standards and Technology)の画像(28×28、グレースケール、0~9の手書き文字)及び5種類の背景テクスチャを用意した。用意したMNISTの画像及び背景テクスチャを合成することで、機械学習に使用する訓練データ及び評価に使用するテストデータを作成した。5種類のうち4種類の背景テクスチャは縞模様のパターンを有し、MNISTの画像との合成の際に、ランダムにそのパターンの位置を変更した。作成した訓練データの件数は60000件であり、テストデータの件数は10000件であった。作成した訓練データには、合成した文字(0~9)を示す正解データを関連付けることで、学習データセットを用意した。また、上記実施形態と同様の方法により、背景テクスチャを生成するための機械学習済みの生成器を作成した。
 実施例では、上記実施形態と同様の方法により、機械学習済みの生成器により生成された背景データと訓練データとの差分を算出することで、差分データを生成した。そして、生成された差分データを使用して、文字を識別するように訓練された機械学習済みの推定器を構築した。この機械学習済みの推定器の評価時には、上記実施形態に係る推定装置2と同様の方法により、機械学習済みの生成器により生成された背景データとテストデータとの差分を算出することで、対象差分データを生成した。そして、機械学習済みの推定器により、対象差分データに対して文字を識別するタスクを遂行した。一方、比較例では、背景を除去せずに、訓練データをそのまま使用して、文字を識別するように訓練された機械学習済みの推定器を構築した。評価時には、機械学習済みの推定器により、テストデータに対して文字を識別するタスクを遂行した。なお、実施例及び比較例それぞれでは、線形識別モデル、4層のMLP(Multilayer perceptron)、及び畳み込みニューラルネットワークの3種類の推定器を用意した。
Figure JPOXMLDOC01-appb-T000001
 表1は、実施例及び比較例それぞれにおけるテストデータに対する文字識別の正答率を示す。表1に示されるとおり、いずれのモデルを推定器に用いた場合でも、比較例よりも実施例の性能の方が良かった。特に、線形識別モデル及び4層MLPのような単純なモデルを利用したケースで、機械学習済みの推定器の性能を飛躍的に向上させることができた。この結果から、本発明によれば、背景の相違に対してロバストな訓練済みの推定器を構築可能であることが検証することができた。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態に係る推定システム100は、画像データに対して対象の特徴に関する推定タスクの遂行するあらゆる場面に適用されてよい。例えば、上記実施形態に係る推定システム100は、画像データの前景に含まれる特徴を推定する場面に適用可能である。前景は、背景と区別して画像データから抽出可能な任意の成分により構成されてよい。特徴は、前景から直接的又は間接的に導出可能な何らかの情報であってよい。前景に含まれる特徴を推定することは、例えば、画像データに写る対象物の属性を推定することにより構成されてよい。この場合、対象物の属性の導出に関与する成分が、前景の一例である。前景の範囲は、対象物の属性を導出可能に適宜決定されてよい。例えば、前景は、対象物の写る範囲であってよい。或いは、前景は、対象物及び対象物の周囲を含む範囲であってよい。或いは、前景は、推定対象の属性の表れる対象物の一部の範囲であってもよい。以下、適用場面を限定した変形例を例示する。
 (A)外観検査の場面
 図11は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、モデル生成装置1及び検査装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び検査装置2Aは、ネットワークを介して互いに接続されてよい。
 本変形例では、製品RAの写る画像データP10が訓練データ及び対象画像データとして取り扱われる。画像データP10は、カメラSAにより製品RAを撮影することにより得られてよい。推定タスクの対象となる特徴は、製品RAの欠陥P12に関するものであってよい。背景P11は、コンベアのシード等の製品RA以外の部分であってよい。背景P11は、例えば、異常のない製品RAの外装の写る部分等の、欠陥P12以外の製品RAの写る部分を含んでもよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
 なお、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品RAは、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。欠陥P12に関する推定は、例えば、製品RAに欠陥P12が含まれるか否かを判定すること、製品RAに欠陥P12が含まれる確率を判定すること、製品RAに含まれる欠陥P12の種類を識別すること、製品RAに含まれる欠陥P12の範囲を特定すること又はこれらの組み合わせにより表現されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置1は、上記ステップS101において、背景P11の写る学習用背景データ39を取得する。そして、モデル生成装置1は、ステップS102及びステップS103の処理を実行することで、背景P11の写る疑似背景データを生成する能力を獲得した機械学習済みの生成器60を生成し、第2学習結果データ122を所定の記憶領域に保存する。モデル生成装置1は、上記ステップS111~ステップS113の処理を実行することで、機械学習済みの入力推定器62を生成し、第3学習結果データ123を所定の記憶領域に保存する。
 また、モデル生成装置1は、上記ステップS121において、製品RAの写る訓練データ31、及び訓練データ31に写る製品RAの欠陥P12に関する情報(正解)を示す正解データ32の組み合わせによりそれぞれ構成される複数の学習データセット30を取得する。欠陥P12に関する情報は、例えば、欠陥P12の有無、欠陥P12の種別、欠陥P12の存在する範囲等の情報を含んでよい。モデル生成装置1は、上記ステップS122~ステップS125の処理を実行することで、欠陥P12に関する推定を遂行する能力を獲得した機械学習済みの推定器5を生成し、第1学習結果データ121を所定の記憶領域に保存する。生成された第1~第3学習結果データ121~123は、任意のタイミングで検査装置2Aに提供されてよい。
 (検査装置)
 図12Aは、本変形例に係る検査装置2Aのハードウェア構成の一例を模式的に例示する。図12Aに示されるとおり、本変形例に係る検査装置2Aは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
 本変形例では、記憶部22は、検査プログラム82A、第1~第3学習結果データ121~123等の各種情報を記憶する。検査プログラム82Aは、上記実施形態に係る推定プログラム82に対応する。検査プログラム82A及び第1~第3学習結果データ121~123の少なくともいずれかは記憶媒体92に記憶されていてもよい。また、本変形例では、検査装置2Aは、外部インタフェース24を介して、カメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
 なお、検査装置2Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置2Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置2Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
 図12Bは、本変形例に係る検査装置2Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置2Aのソフトウェア構成は、制御部21による検査プログラム82Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置2Aのソフトウェア構成は、上記推定装置2と同様である。検査部214Aは、上記推定部214に対応する。これにより、検査装置2Aは、上記推定装置2の推定処理と同様に、外観検査に関する一連の情報処理を実行することができる。
 すなわち、ステップS201では、制御部21は、検査対象の製品RAの写る対象画像データ41Aを取得する。ステップS202では、制御部21は、対象画像データ41Aに対応する対象背景データ45Aを取得する。本変形例では、制御部21は、機械学習済みの生成器60及び入力推定器62を利用することで、対象画像データ41Aに写る背景P11に適合する対象背景データ45Aを取得することができる。ステップS203では、制御部21は、対象画像データ41Aと対象背景データ45Aとの差分を取ることで、対象差分データ47Aを生成する。ステップS204では、制御部21は、検査部214Aとして動作し、生成された対象差分データ47Aを機械学習済みの推定器5に与えて、機械学習済みの推定器5の演算処理を実行する。これにより、制御部21は、対象画像データ41Aに写る製品RAの欠陥P12について推定した結果に対応する出力値を機械学習済みの推定器5から取得する。
 ステップS205では、制御部21は、製品RAの欠陥P12について推定した結果に関する情報を出力する。例えば、制御部21は、製品RAの欠陥P12について推定した結果をそのまま出力装置26に出力してもよい。また、例えば、製品RAに欠陥P12が含まれると判定した場合、制御部21は、そのことを知らせるための警告を出力装置26に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置2Aが接続される場合、制御部21は、欠陥P12について推定した結果に基づいて、欠陥P12のある製品RAと欠陥P12のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
 (特徴)
 本変形例によれば、モデル生成装置1の機械学習により、差分計算で除外された背景P11に関する情報を利用せずに、欠陥P12に関する推定タスクを遂行するように推定器5を訓練することができる。よって、背景P11の相違に対してロバストに欠陥P12に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。本変形例に係る検査装置2Aでは、この機械学習済みの推定器5を利用することで、欠陥P12に関する推定タスク(すなわち、外観検査)が高精度に遂行されることを期待することができる。
 (その他)
 上記第1変形例において、製品RAは、対象物の一例であり、欠陥P12に関する情報は、対象物の属性の一例である。対象物及びその属性は、製品RA及び欠陥P12に関する情報に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに表れる任意の対象物の属性を推定する様々な場面に適用されてよい。この場合、推定システム100では、対象物の写る画像データが訓練データ31及び対象画像データ41として取り扱われてよい。対象の特徴は、対象物の属性に関するものであってよい。これにより、背景の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。
 また、製品RA以外の部分を背景P11と捉えた場合、製品RAの写る部分は、前景の一例である。或いは、製品RAの欠陥P12以外の部分を背景P11と捉えた場合、欠陥P12の写る範囲が、前景の一例である。前景及び背景は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに写る任意の前景に含まれる特徴に関する推定を行う様々な場面に適用されてよい。この場合、所定種類のデータは、前景及び背景を含む画像データであってよい。この場合、前景及び背景の写る画像データが訓練データ31及び対象画像データ41として取り扱われてよい。対象の特徴は、前景に関するものであってよい。前景には、画像データから抽出可能な任意の要素が選択されてよい。これにより、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。
 (B)ナンバープレートの記号を識別する場面
 図13は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図13に例示される識別システムは、モデル生成装置1及び識別装置2Bを備えている。識別装置2Bは、上記検査装置2Aに対応する。識別装置2Bの構成は、上記検査装置2Aと同様であってよい。図13の例では、ナンバープレートRBの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSBが用いられてよい。
 この場合、推定タスクの対象となる特徴は、ナンバープレートRBに付与された記号P20に関するものであってよい。ナンバープレートRBは、対象物の一例である。背景は、記号P20以外の領域であってよい。前景は、記号P20の写る領域であってよい。記号P20は、例えば、数字、文字、マーク、図形、又はこれらの組み合わせにより構成されてよい。ナンバープレートRBの背景には、模様、図柄等の装飾が施されていてもよい。対象の特徴に関する推定は、記号P20を識別することであってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストにナンバープレートRBに付与された記号P20を識別可能な機械学習済みの推定器5を生成することができる。識別装置2Bは、上記検査装置2Aと同様の手順により、対象画像データに写るナンバープレートRBの記号P20を識別することができる。本変形例に係る識別システムは、ナンバープレートRBの記号P20を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、道路を走行する車両を監視するための監視カメラにより得られる画像データから当該道路を走行する車両を識別するために利用されてよい。 
 なお、道路を走行する車両を監視する場面では、識別装置2Bは、上記ステップS201~ステップS204の処理により、時系列に得られる対象画像データに対してナンバープレートRBの記号P20を識別してもよい。そして、識別装置2Bは、上記ステップS205の処理により、記号P20に基づいて対象の道路を走行する車両を識別した結果を時系列に示す履歴情報を作成してもよい。
 (C)製品の包装に付与された記号を識別する場面
 図14は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図14に例示される識別システムは、モデル生成装置1及び識別装置2Cを備えている。識別装置2Cは、上記検査装置2Aに対応する。識別装置2Cの構成は、上記検査装置2Aと同様であってよい。図14の例では、製品の包装RCの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSCが用いられてよい。
 この場合、推定タスクの対象となる特徴は、包装RCに付与された記号P30に関するものであってよい。包装RCは、対象物の一例である。背景は、記号P30以外の領域であってよい。前景は、記号P30の写る領域であってよい。記号P30は、例えば、数字、文字、マーク、図形、コード、又はこれらの組み合わせにより構成されてよい。コードは、例えば、一次元コード、二次元コード等であってよい。包装RCの背景には、模様、図柄等の装飾が施されていてもよい。対象の特徴に関する推定は、記号P30を識別することであってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストに包装RCに付与された記号P30を識別可能な機械学習済みの推定器5を生成することができる。識別装置2Cは、上記検査装置2Aと同様の手順により、対象画像データに写る包装RCに付与された記号P30を識別することができる。本変形例に係る識別システムは、包装RCに付与された記号P30を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、製造ラインで搬送される製品を識別するために利用されてよい。
 (D)移動体の属性を推定する場面
 図15は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図15に例示される監視システムは、モデル生成装置1及び監視装置2Dを備えている。監視装置2Dは、上記検査装置2Aに対応する。監視装置2Dの構成は、上記検査装置2Aと同様であってよい。図15の例では、移動体RDの存在し得る範囲を撮影することで得られた画像データが訓練データ及び対象画像データとして取り扱われてよい。画像データの取得には、監視対象の範囲を撮影するように配置されたカメラSDが用いられてよい。監視対象の範囲は、例えば、道路、建物内等の任意の場所から決定されてよい。監視装置2Dは、例えば、ネットワーク等を介して、カメラSDに適宜接続されてよい。これにより、監視装置2Dは、監視対象の範囲の写る画像データを取得することができる。
 この場合、推定タスクの対象となる特徴は、移動体RDの属性に関するものであってよい。移動体RDは、対象物の一例である。移動体RDの属性は、例えば、移動体RDの写る範囲(バウンディングボックス)、移動体RDの識別情報、移動体RDの状態等を含んでもよい。移動体RDの状態は、例えば、位置、数、混み具合(混雑度、密度)、速度、加速度等を含んでもよい。その他、移動体RDの状態は、例えば、事故、犯罪等の危険に移動体RDが遭遇する可能性(危険度)を含んでもよい。移動体RDの遭遇し得る危険の種類は任意に決定されてよい。更にその他、移動体RDが人物である場合、移動体RDの識別情報は、例えば、人物の識別子、名前、性別、年齢、体格等を含んでもよい。また、移動体RDの状態は、例えば、人物の行動、人物の姿勢等を含んでもよい。背景は、例えば、道路、建物等の移動体RD以外の対象物が写る領域であってよい。前景は、移動体RDの写る領域であってよい。或いは、前景は、移動体RD及び移動体RDの周囲を含む領域であってよい。この場合、背景は、移動体RDの周囲より外側の領域であってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストに移動体RDの属性を推定可能な機械学習済みの推定器5を生成することができる。監視装置2Dは、上記検査装置2Aと同様の手順により、カメラSDの撮影範囲における移動体RDの属性を推定することができる。本変形例に係る監視システムは、移動体RDを監視するあらゆる場面に利用されてよい。例えば、本変形例に係る監視システムは、道路、建物内の移動体RDの混雑度を監視する場面、駅のホームから人物が転落する予兆を監視する場面、道路を歩行する人物が犯罪に遭遇する予兆を監視する場面等に利用されてよい。なお、推定結果を出力する形態は任意に決定されてよい。例えば、移動体RDの危険度を推定する場面では、監視装置2Dは、上記ステップS205において、推定される危険度に応じた警告を出力してもよい。
 (E)運転者の状態を監視する場面
 図16は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図16に例示される監視システムは、モデル生成装置1及び監視装置2Eを備えている。監視装置2Eは、上記検査装置2Aに対応する。監視装置2Eの構成は、上記検査装置2Aと同様であってよい。図16の例では、運転者REの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSEが用いられてよい。カメラSEは、運転席に存在すると仮定される運転者REを撮影するように適宜配置されてよい。
 この場合、推定タスクの対象となる特徴は、運転者REの状態に関するものであってよい。運転者REは、対象物の一例である。運転者REの状態は、例えば、健康状態、眠気度、疲労度、余裕度等を含んでよい。健康状態は、例えば、所定の疾患を発症する確率、体調変化が生じる確率等により表現されてよい。眠気度は、運転者REの眠気の度合いを示す。疲労度は、運転者REの疲労の度合いを示す。余裕度は、運転者REの運転に対する余裕の度合を示す。背景は、例えば、車内風景等の運転者REの状態に関与する領域以外の領域であってよい。前景は、運転者REの状態に関与する領域であってよい。運転者REの状態に関与する領域は、例えば、運転者REの写る領域、運転者REの周囲を更に含む領域、運転者REの一部(例えば、任意の身体部位)の写る領域、運転に関するツール(ハンドル等)の写る領域等であってよい。
 これにより、モデル生成装置1は、背景の相違に対してロバストに運転者REの状態を推定可能な機械学習済みの推定器5を生成することができる。監視装置2Eは、上記検査装置2Aと同様の手順により、対象画像データに写る運転者REの状態を推定することができる。本変形例に係る監視システムは、運転者REの状態を監視するあらゆる場面に利用されてよい。更に、本変形例に係る監視システムは、運転者RE以外の対象者にも利用されてよい。運転者RE以外の例として、対象者は、例えば、オフィス、工場等で作業を行う作業者であってよい。
 なお、上記ステップS205において、運転者REの状態を推定した結果を出力する形態は任意に決定されてよい。一例として、眠気度及び疲労度の少なくとも一方を推定した場合、監視装置2Eは、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2Eは、駐車場等に車両を停車し、休憩を取るように運転者REに促す警告を出力装置に出力してもよい。このように、監視装置2Eは、推定される運転者REの状態に応じて、警告等の特定のメッセージを出力装置に出力してもよい。
 その他の例として、自動運転の動作を制御する制御装置(不図示)を車両が備えている場合、監視装置2Eは、運転者REの状態を推定した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。具体例として、制御装置が、車両の走行を制御する自動運転モード及び運転者REの操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RE又はシステムから受け付けた際に、監視装置2Eは、推定された運転者REの余裕度が閾値を超えているか否かを判定してもよい。そして、運転者REの余裕度が閾値を超えている場合に、監視装置2Eは、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、運転者REの余裕度が閾値以下である場合には、監視装置2Eは、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、監視装置2Eは、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2Eは、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2Eは、手動運転モードによる車両の走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、監視装置2Eは、推定された余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、監視装置2Eは、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2Eは、運転者REの操作による車両の走行を維持してもよい。なお、車両の制御装置と監視装置2Eとは一体のコンピュータにより構成されてよい。
 <4.2>
 上記実施形態では、ステップS122及びステップS202において、機械学習済みの生成器60を利用して、背景データ35及び対象背景データ45を取得可能である。しかしながら、各背景データ(35、45)を取得する方法は、このような例に限定されなくてもよい。例えば、各背景データ(35、45)として利用可能な背景データが予め用意されてよい。この場合、背景データは、記憶部(12、22)、記憶媒体(91、92)、外部記憶装置等に記憶されていてよい。上記ステップS122及びステップS202では、予め用意された背景データから、訓練データ31及び対象画像データ41それぞれと同種の背景の写る背景データが各背景データ(35、45)として適宜選択されてよい。一例として、利用する背景データは、オペレータにより選択されてよい。或いは、訓練データ31及び対象画像データ41それぞれと最も類似する背景データが各背景データ(35、45)として選択されてよい。
 <4.3>
 上記実施形態では、生成器60の訓練に識別器61が利用されている。モデル生成装置1は、生成器60及び識別器61の間で敵対的学習を実施することで、学習用背景データ39に適合する疑似背景データ633を生成する能力を獲得した機械学習済みの生成器60を構築する。しかしながら、機械学習済みの生成器60を生成する方法は、学習用背景データ39により与えられる背景の写る疑似背景データを生成するように生成器60を訓練可能であれば、このような例に限定されなくてもよい。
 図17は、本変形例に係る生成器60Zの構成の一例を模式的に例示する。本変形例では、生成器60Zは、エンコーダ67と共に訓練される。エンコーダ67は、画像データを特徴量に変換するように構成される。生成器60Zは、特徴量から画像データを復元するよう構成されたデコーダとして動作する。エンコーダ67により得られる特徴量は、上記実施形態におけるノイズ(潜在変数)に対応する。エンコーダ67は、上記入力推定器62に対応する。特徴量の形式は、特に限定されなくてよく、任意に決定されてよい。
 エンコーダ67及び生成器60Zはそれぞれ、機械学習モデルにより構成される。それぞれを構成する機械学習モデルの種類は任意に選択されてよい。上記実施形態と同様に、エンコーダ67及び生成器60Zには、ニューラルネットワークが用いられてよい。エンコーダ67及び生成器60Zにニューラルネットワークが用いられる場合、モデル生成装置1は、上記ステップS102において、以下のとおり、機械学習を実施することができる。
 すなわち、制御部11は、学習用背景データ39をエンコーダ67に入力し、エンコーダ67の演算処理を実行する。これにより、制御部11は、学習用背景データ39を特徴量に変換した結果に対応する出力値をエンコーダ67から取得する。次に、制御部11は、エンコーダ67から得られた特徴量を生成器60Zに入力し、生成器60Zの演算処理を実行する。これにより、制御部11は、特徴量から復元された復元背景データ633Zに対応する出力値を生成器60Zから取得する。
 制御部11は、得られた復元背景データ633Zと学習用背景データ39との誤差を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、エンコーダ67及び生成器60Zの各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、エンコーダ67及び生成器60Zの各演算パラメータの値を更新する。制御部11は、当該一連の更新処理により、算出される誤差の和が小さくなるように、エンコーダ67及び生成器60Zの各演算パラメータの値を調節する。なお、上記更新処理の他に、制御部11は、エンコーダ67から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、当該誤差の和が小さくなるようにエンコーダ67の各演算パラメータの値を更に調節してもよい。これにより、制御部11は、エンコーダ67の出力値を正規化してもよい。
 以上の機械学習により、背景に応じて画像データを適切な特徴量に変換する能力を獲得した訓練済みのエンコーダ67を構築することができる。これと共に、対応する背景の写る疑似背景データを特徴量から生成する能力を獲得した訓練済みの生成器60Zを構築することができる。この場合、機械学習済みのエンコーダ67を上記機械学習済みの入力推定器62として利用可能である。そのため、本変形例では、上記ステップS111~ステップS113の処理は省略されてよい。
 上記ステップS122では、制御部11は、機械学習済みのエンコーダ67に訓練データ31を与えて、機械学習済みのエンコーダ67及び生成器60Zの演算処理を実行する。これにより、制御部11は、訓練データ31に対応して生成された背景データ35を機械学習済みの生成器60Zから取得することができる。同様に、上記ステップS202では、制御部21は、機械学習済みのエンコーダ67に対象画像データ41を与えて、機械学習済みのエンコーダ67及び生成器60Zの演算処理を実行する。これにより、制御部21は、対象画像データ41に対応して生成された対象背景データ45を機械学習済みの生成器60Zから取得することができる。
 その他の例として、生成器60の機械学習は、主成分分析により構成されてよい。この場合、機械学習済みの生成器60は、主成分分析により導出される固有ベクトルにより構成されてよい。詳細には、機械学習済みの生成器60は、固有ベクトルUを利用した射影行列「UUT」により構成されてよい。固有ベクトルの各成分が生成器60の演算パラメータの一例である。上記ステップS122及びステップS202では、訓練データ31及び対象画像データ41それぞれを上記射影行列により変換することで、対応する背景データ35及び対象背景データ45を得ることができる。
 <4.4>
 上記実施形態では、推定器5、生成器60、識別器61、及び入力推定器62それぞれには、全結合型のニューラルネットワークが用いられている。しかしながら、それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。推定器5、生成器60、識別器61、及び入力推定器62それぞれには、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
 また、推定器5、生成器60、識別器61、及び入力推定器62それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。例えば、生成器60は、上記のとおり、固有ベクトルUを利用した射影行列により構成されてよい。また、推定器5、識別器61、及び入力推定器62それぞれには、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
 また、上記実施形態において、推定器5、生成器60、識別器61、及び入力推定器62それぞれの入力及び出力の形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、生成器60及び識別器61はそれぞれ、背景の種別を示す情報の入力を更に受け付けるように構成されてよい。これにより、機械学習済みの生成器60に与える入力値(背景の種別を示す情報)に応じて、当該機械学習済みの生成器60により生成する疑似背景データに写る背景の種別を制御することができる。
 また、上記実施形態において、機械学習済みの生成器60及び入力推定器62は、モデル生成装置1以外の他のコンピュータにより生成されてもよい。モデル生成装置1により機械学習済みの生成器60を生成しない場合、モデル生成装置1のソフトウェア構成から第2データ取得部115及び第2訓練部116は省略されてよい。モデル生成装置1の処理手順から上記ステップS101~ステップS103の処理は省略されてよい。また、モデル生成装置1により機械学習済みの入力推定器62を生成しない場合、モデル生成装置1のソフトウェア構成から第3データ取得部117及び第3訓練部118は省略されてよい。モデル生成装置1の処理手順から上記ステップS111~ステップS113の処理は省略されてよい。また、機械学習済みの機械学習モデルに関する情報を保存しない場合には、モデル生成装置1のソフトウェア構成から保存処理部119は省略されてよい。モデル生成装置1の処理手順から上記ステップS103、ステップS113、及びステップS205の処理は省略されてよい。
 1…モデル生成装置、
 11…制御部、12…記憶部、
 13…通信インタフェース、14…外部インタフェース、
 15…入力装置、16…出力装置、17…ドライブ、
 111…第1データ取得部、112…背景取得部、
 113…差分算出部、114…第1訓練部、
 115…第2データ取得部、116…第2訓練部、
 117…第3データ取得部、118…第3訓練部、
 119…保存処理部、
 121…第1学習結果データ、
 122…第2学習結果データ、
 123…第3学習結果データ、
 81…モデル生成プログラム、91…記憶媒体、
 2…推定装置、
 21…制御部、22…記憶部、
 23…通信インタフェース、24…外部インタフェース、
 25…入力装置、26…出力装置、27…ドライブ、
 211…データ取得部、212……背景取得部、
 213…差分算出部、214…推定部、
 215…出力部、
 82…推定プログラム、92…記憶媒体、
 30…学習データセット、
 31…訓練データ、32…正解データ、
 35…背景データ、37…差分データ、
 39…学習用背景データ、
 41…対象画像データ、
 45…対象背景データ、47…対象差分データ、
 5…推定器、
 60…生成器、61…識別器、
 62…入力推定器

Claims (10)

  1.  画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得する第1データ取得部と、
     前記各学習データセットについて、前記訓練データの背景を示す背景データを取得する背景取得部と、
     前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成する差分算出部と、
     推定器の機械学習を実施する第1訓練部であって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、第1訓練部と、
    を備える、
    モデル生成装置。
  2.  前記背景データを取得することは、機械学習済みの生成器を利用して、前記各学習データセットについて、前記訓練データに対して前記背景データを生成することを含む、
    請求項1に記載のモデル生成装置。
  3.  学習用背景データを取得する第2データ取得部と、
     取得された学習用背景データを使用した機械学習を実施することで、前記訓練データに対する前記背景データを生成するように訓練された前記機械学習済みの生成器を構築する第2訓練部と、
    を更に備える、
    請求項2に記載のモデル生成装置。
  4.  前記差分算出部は、前記訓練データの各画素及び各画素の周囲の画素を含む対象領域と前記背景データの対応する各画素及び各画素の周囲の画素を含む対応領域との間の相関性に基づいて、前記訓練データの各画素と前記背景データの対応する各画素との差分を取ることで、前記差分データを生成する、
    請求項1から3のいずれか1項に記載のモデル生成装置。
  5.  前記特徴は、前記訓練データの前景に関する、
    請求項1から4のいずれか1項に記載のモデル生成装置。
  6.  前記訓練データは、対象物の写る前記画像データであり、
     前記特徴は、前記対象物の属性である、
    請求項1から4のいずれか1項に記載のモデル生成装置。
  7.  前記対象物は、製品であり、
     前記対象物の属性は、前記製品の欠陥に関する、
    請求項6に記載のモデル生成装置。
  8.  対象画像データを取得するデータ取得部と、
     前記対象画像データに対応する対象背景データを取得する背景取得部と、
     前記対象画像データと前記対象背景データとの差分を取ることで、対象差分データを生成する差分算出部と、
     請求項1から7のいずれか1項に記載のモデル生成装置により生成された機械学習済みの推定器を利用して、生成された前記対象差分データに含まれる特徴を推定する推定部と、
     前記特徴を推定した結果に関する情報を出力する出力部と、
    を備える、
    推定装置。
  9.  コンピュータが、
     画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、
     前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、
     推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、
    を実行する、
    モデル生成方法。
  10.  コンピュータに、
     画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、
     前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、
     推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、
    を実行させるための、
    モデル生成プログラム。
PCT/JP2020/041453 2019-11-21 2020-11-06 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム WO2021100483A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/772,182 US20220405586A1 (en) 2019-11-21 2020-11-06 Model generation apparatus, estimation apparatus, model generation method, and computer-readable storage medium storing a model generation program
EP20889952.6A EP4064183A4 (en) 2019-11-21 2020-11-06 MODEL GENERATION APPARATUS, ESTIMATION APPARATUS, MODEL GENERATION METHOD, AND MODEL GENERATION PROGRAM
CN202080073252.0A CN114556383A (zh) 2019-11-21 2020-11-06 模型生成装置、推定装置、模型生成方法以及模型生成程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019210874A JP7434829B2 (ja) 2019-11-21 2019-11-21 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
JP2019-210874 2019-11-21

Publications (1)

Publication Number Publication Date
WO2021100483A1 true WO2021100483A1 (ja) 2021-05-27

Family

ID=75965360

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/041453 WO2021100483A1 (ja) 2019-11-21 2020-11-06 モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム

Country Status (5)

Country Link
US (1) US20220405586A1 (ja)
EP (1) EP4064183A4 (ja)
JP (1) JP7434829B2 (ja)
CN (1) CN114556383A (ja)
WO (1) WO2021100483A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
JP2022096379A (ja) * 2020-12-17 2022-06-29 富士通株式会社 画像出力プログラム,画像出力方法および画像出力装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209966A (ja) * 2010-03-29 2011-10-20 Sony Corp 画像処理装置および方法、並びにプログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2014049118A (ja) 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途
JP2017111806A (ja) 2015-12-17 2017-06-22 ゼロックス コーポレイションXerox Corporation 畳み込みニューラルネットワークによるナンバープレート認識のための粗から細へのカスケードによる適応
JP6264492B1 (ja) 2017-03-14 2018-01-24 オムロン株式会社 運転者監視装置、運転者監視方法、学習装置及び学習方法
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2019153057A (ja) * 2018-03-02 2019-09-12 富士通株式会社 画像処理装置、学習装置、画像処理方法、学習方法、画像処理プログラムおよび学習プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10475174B2 (en) * 2017-04-06 2019-11-12 General Electric Company Visual anomaly detection system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209966A (ja) * 2010-03-29 2011-10-20 Sony Corp 画像処理装置および方法、並びにプログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置
JP2014049118A (ja) 2012-08-31 2014-03-17 Fujitsu Ltd 畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法および用途
JP2017111806A (ja) 2015-12-17 2017-06-22 ゼロックス コーポレイションXerox Corporation 畳み込みニューラルネットワークによるナンバープレート認識のための粗から細へのカスケードによる適応
JP6264492B1 (ja) 2017-03-14 2018-01-24 オムロン株式会社 運転者監視装置、運転者監視方法、学習装置及び学習方法
JP2019071050A (ja) 2017-10-06 2019-05-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2019153057A (ja) * 2018-03-02 2019-09-12 富士通株式会社 画像処理装置、学習装置、画像処理方法、学習方法、画像処理プログラムおよび学習プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4064183A4

Also Published As

Publication number Publication date
EP4064183A1 (en) 2022-09-28
US20220405586A1 (en) 2022-12-22
JP7434829B2 (ja) 2024-02-21
JP2021082155A (ja) 2021-05-27
EP4064183A4 (en) 2024-01-10
CN114556383A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
EP3796228A1 (en) Device and method for generating a counterfactual data sample for a neural network
WO2021059909A1 (ja) データ生成システム、学習装置、データ生成装置、データ生成方法及びデータ生成プログラム
CN108388834A (zh) 利用循环神经网络和级联特征映射的对象检测
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
US11531899B2 (en) Method for estimating a global uncertainty of a neural network
JP7164028B2 (ja) 学習システム、データ生成装置、データ生成方法、及びデータ生成プログラム
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
WO2021100483A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
JP6844563B2 (ja) 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム
JP7435303B2 (ja) 検査装置、ユニット選択装置、検査方法、及び検査プログラム
JP7374001B2 (ja) 学習モデルの生成方法、プログラム及び情報処理装置
EP3467712A1 (en) Methods and systems for processing image data
WO2022004773A1 (ja) モデル生成装置、回帰装置、モデル生成方法、及びモデル生成プログラム
CN111435457B (zh) 对传感器获取的采集进行分类的方法
JP7059889B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
Metzner et al. Automated optical inspection of soldering connections in power electronics production using convolutional neural networks
EP3767534A1 (en) Device and method for evaluating a saliency map determiner
US20220309771A1 (en) Method, device, and computer program for an uncertainty assessment of an image classification
CN115238904A (zh) 用于在车辆中创建训练数据的方法、设备和计算机程序
CN113557536B (zh) 学习系统、数据生成装置、数据生成方法及存储介质
US20230351741A1 (en) Method and device for training a neural network
US20220327332A1 (en) Method and device for ascertaining a classification and/or a regression result when missing sensor data
WO2022196433A1 (ja) モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム
WO2021100482A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
US20220012506A1 (en) System and method of segmenting free space based on electromagnetic waves

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20889952

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020889952

Country of ref document: EP

Effective date: 20220621