WO2021177324A1 - 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体 - Google Patents

画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体 Download PDF

Info

Publication number
WO2021177324A1
WO2021177324A1 PCT/JP2021/008019 JP2021008019W WO2021177324A1 WO 2021177324 A1 WO2021177324 A1 WO 2021177324A1 JP 2021008019 W JP2021008019 W JP 2021008019W WO 2021177324 A1 WO2021177324 A1 WO 2021177324A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
model
data
learning model
image data
Prior art date
Application number
PCT/JP2021/008019
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 CN202180017681.0A priority Critical patent/CN115226406A/zh
Priority to EP21764811.2A priority patent/EP4116938A4/en
Priority to US17/801,424 priority patent/US20230078763A1/en
Publication of WO2021177324A1 publication Critical patent/WO2021177324A1/ja

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Definitions

  • the present disclosure discloses an image generator, an image generation method, a recording medium generation method, a learning model generation device, a learning model generation method, a learning model, a data processing device, a data processing method, an inference method, an electronic device, a generation method, a program, and a non-existence.
  • temporary computer-readable media Regarding temporary computer-readable media.
  • this disclosure realizes the acquisition of training data using computer graphics.
  • the data generation method is a method of generating data by a processor, and is a data generation method of acquiring training data used for optimizing an estimation model in machine learning from a CG model.
  • An image based on the parameters of the camera to be photographed may be acquired from the CG model.
  • the camera parameters may include parameters related to the camera lens.
  • the parameters related to the camera lens may be parameters based on at least one of a fisheye lens, a wide-angle lens, a telephoto lens, a macro lens, and a standard lens.
  • the parameters related to the camera lens may be parameters related to at least one of blurring, distortion, shading, flare or ghost caused by the camera lens.
  • the camera parameters may include parameters related to the camera's light receiving sensor.
  • the parameters related to the sensor of the camera may be parameters related to at least one of white pixels, black pixels, or defects having random pixel values.
  • the parameters related to the sensor of the camera may be parameters related to at least one of the image plane phase difference acquisition pixel, the polarized light pixel, the IR acquisition pixel, the UV acquisition pixel, the distance measurement pixel, and the temperature pixel.
  • the parameters related to the camera sensor may be parameters related to at least one of color filter characteristics, spectral characteristics, color filter arrangement, temperature characteristics, conversion efficiency, sensitivity, or readout order.
  • the compressed image may be acquired based on the parameters related to data compression.
  • the parameters related to data compression may include parameters related to at least one of a compression algorithm, a compression ratio, a bit rate, a gradation, or a color space conversion.
  • a multi-spectral image or a hyper-spectral image may be acquired from the CG model.
  • the shooting conditions may be related to at least one of the type, position or direction of the light source.
  • the shooting conditions may be related to the saturation of pixel values.
  • the shooting conditions may be related to exposure.
  • a normal image that is an input image of the estimation model and an ideal image that is a desirable output image when the normal image is input may be acquired separately.
  • a normal image and an ideal image may be acquired from the CG model by using the method described in at least one of the above.
  • the ideal image may be acquired by annotating the CG model.
  • the annotation may be added for each region or pixel of the ideal image.
  • the annotation may be transformed and given by a geometric transformation in the same transformation as the transformation for generating the ideal image from the CG model.
  • the learning method optimizes the estimation model using the training data acquired using the data generation method described in any of the above.
  • the estimation method executes estimation using an optimized estimation model using the training data acquired by using the data generation method described in any of the above.
  • the image generation method acquires a CG model or an artificial image generated based on the CG model, and processes the CG model or the artificial image by a processor. It also includes generating a processed image or the artificial image metadata used for learning the AI used for the image acquired by the sensor.
  • the CG model or the artificial image is applied based on the selected parameters. And that may be further provided.
  • the at least one parameter may be a parameter related to the sensor.
  • the sensor may include at least a camera.
  • the AI used for the image acquired by the sensor may be used to correct the change in the image caused by the sensor or the camera.
  • the processed image or the metadata of the artificial image may be recorded in the storage medium in association with the artificial image.
  • the image generator comprises a processor, which acquires a CG model or an artificial image generated based on the CG model and processes the CG model or the artificial image. To generate the metadata of the processed image or the artificial image used for learning the AI used for the image acquired by the sensor.
  • the non-temporary computer-readable medium when run by a processor, acquires a CG model or an artificial image generated based on the CG model, and the CG model or the artificial image.
  • a program that executes an image generation method including processing and generating metadata of a processed image or the artificial image used for learning AI used for an image acquired by a sensor is stored. ..
  • the learning model generation method is an AI learning model generation method used for an image acquired by a sensor, and is different from acquiring the first image data and the first image data.
  • the first image data is input based on the acquisition of the second image data, the first image data, and the second image data, the image corresponding to the second image data is output.
  • the first image data is a CG model or an artificial image generated based on the CG model
  • the second image data is the CG model or the above by a processor. This is the data processed on the artificial image generated based on the CG model.
  • the second image data may be metadata of the second image.
  • the learning model generator is a learning model generator that includes a processor and generates an AI learning model used for an image acquired by a sensor, wherein the processor is the first image data.
  • the processor is the first image data.
  • the second image data different from the first image data is acquired and the first image data is input based on the first image data and the second image data
  • the second image is obtained.
  • the learning model that outputs an image corresponding to the data is generated, the first image data is a CG model or an artificial image generated based on the CG model, and the second image data is the same as the processor. This is data obtained by processing the CG model or an artificial image generated based on the CG model by the processor of the above or a processor different from the processor.
  • the non-temporary computer-readable medium when executed by a processor, it acquires the first image data, acquires the second image data different from the first image data, and the first.
  • a learning model including the generation of a learning model that outputs an image corresponding to the second image data when the first image data is input based on the one image data and the second image data.
  • a program that executes the generation method the first image data is a CG model or an artificial image generated based on the CG model, and the second image data is the same processor as the processor or the processor.
  • the inference method is an inference method that executes inference with an AI learning model used for an image acquired by a sensor, and acquires input image data by a processor, and the above-mentioned. Acquiring the processing result of the learning model from the learning model to which the input image data is input, the learning model acquires the first image data and the second image data different from the first image data.
  • This is a model generated by learning based on the first image data and the second image data, and the first image data is an artificially generated artificial image.
  • the second image data is data obtained by processing the first image.
  • the electronic device is an electronic device that executes inference with an AI learning model used for an image acquired by a sensor, and has a control device, wherein the control device is an input image.
  • the control device is an input image.
  • the input image data is input to the training model, the processing result of the training model to which the input image data is input is acquired, and the acquired processing result is output.
  • It is a model trained by an artificial image artificially generated and a processed image processed on the artificial image.
  • the program is a program that causes a processor to execute an inference method that executes inference in an AI learning model used for an image acquired by a sensor, and the inference method is input image data. And to acquire the processing result of the learning model from the learning model to which the input image data is input, the learning model includes the first image data and the first image data. It is a model generated by acquiring different second image data and learning based on the first image data and the second image data, and the first image data is artificial. The second image data is data obtained by processing the first image.
  • the generation method is a generation method for generating an AI learning model used for an image acquired by a sensor, for an artificially generated artificial image and the artificial image.
  • the learning model for outputting the image corresponding to the processed image is learned.
  • the electronic device generation method may include recording the learning model generated as described above on a non-temporary computer-readable medium.
  • the learning model is an AI learning model used for an image acquired by a sensor, has a plurality of layers composed of a plurality of nodes, and each of the plurality of layers. Has a function, and each of the plurality of nodes in each of the plurality of hierarchies is connected to one or more nodes in the other hierarchies of the plurality of hierarchies via an edge, and the edge is artificial. It has a weighting based on the artificial image generated in the above and the processed image processed on the artificial image.
  • the non-temporary computer-readable medium is a non-temporary computer-readable medium in which a learning model of AI used for an image acquired by a sensor is recorded, and the learning model is plural.
  • Each of the plurality of hierarchies has a function, and each of the plurality of nodes in each of the plurality of hierarchies has a plurality of hierarchies of the plurality of hierarchies. It is connected to one or more nodes via an edge, and the edge is weighted information obtained based on an artificially generated artificial image and a processed image processed on the artificial image. Is recorded in association with the edge.
  • the data processing method is a data processing method in which data is processed based on the result from the training model, based on the input of the result of the training model and the result of the training model.
  • the processing data is generated and the processing data is output.
  • the result from the training model is acquired by inputting the acquired image data into the training model learned in advance.
  • the pre-learned learning model is trained by an artificially generated artificial image and a processed image processed on the artificial image.
  • the data processing device is a data processing device that executes data processing based on the result from the training model, and the result of the training model is input and the result of the training model is input. Based on this, it is provided with a processor that generates processing data and outputs the processing data, and the result from the training model inputs the acquired image data into the training model learned in advance.
  • the pre-learned learning model is learned by an artificially generated artificial image and a processed image processed on the artificial image.
  • the program causes the processor to execute a data processing method for data processing based on the result from the training model, and the data processing method is input with the result of the training model. That, the processing data is generated based on the result of the training model, and the processing data is output.
  • the result from the training model learns the acquired image data in advance.
  • the pre-learned learning model which is acquired by being input to the created training model, is trained by an artificially generated artificial image and a processed image processed on the artificial image. ing.
  • the image generation method is an image generation method for generating an image used in AI learning, in which an artificially generated artificial image is input and the artificial image is processed. It includes generating a processed image that has been processed and outputting the processed image.
  • FIG. 1 is a diagram schematically showing an example of a data generation system according to the first embodiment.
  • the data generation system 1 includes a CG generator 2 and a simulator 3.
  • the data generation system 1 generates training data used for optimizing the estimation model in machine learning.
  • an input / output interface (not shown) may be provided.
  • the CG generator 2 generates computer graphics (hereinafter referred to as CG).
  • the CG generator 2 generates a CG model so as to include the training data required when performing machine learning.
  • the CG model refers to a model of a three-dimensional object, a surrounding environment, etc. formed in a virtual space.
  • this CG model is shown and cases where it is a CG image created from the CG model using ray tracing, etc., but these are appropriate depending on the context. It can be read separately.
  • Simulator 3 simulates the CG model output from CG generator 2 according to various situations used for learning, and outputs images that reproduce various situations.
  • the data generation system 1 can acquire images according to various situations by processing the CG model generated by the CG generator 2 by the simulator 3. By outputting a precise CG model by the CG generator 2, it is possible to acquire training data with less noise than the original image compared to the actually captured image, and it is trained by machine learning. It is possible to improve the accuracy of the model and reduce the cost of data collection.
  • the CG generator 2 generates a CG model that is close to reality and has no noise added.
  • This CG generator 2 is operated by an operator to create objects and the like. After the object is created by the operator and the texture of the object is set, the CG generator 2 uses physics-based rendering such as ray tracing to create a precise CG model based on the object and light source. To generate.
  • the data to be generated relates to various situations, but as an example, consider the case of learning training data used for automatic driving of an automobile by the data generation system 1.
  • learning training data used for automatic driving of an automobile by the data generation system 1.
  • These situations can be set appropriately based on the model to be trained in machine learning.
  • CG generator 2 generates models of various objects such as other automobiles, bicycles, motorcycles, humans, roadside trees, guardrails, puddles, frozen surfaces, and other obstacles on models of roads, sidewalks, and the like. This generation may be realized by the operator as described above, or may be automatically generated by the CG generator 2 when the operator specifies an object.
  • the CG generator 2 generates a CG model that visually senses the generated objects, roads, etc. from inside the automobile. CG model generation is performed with proper rendering. For example, the CG generator 2 simulates and renders a state in which a light beam corresponding to a situation to be acquired as data is applied to a state such as the surface and the inside of an object, and generates a precise CG according to the situation to be acquired.
  • the state of the surface and the inside of an object is, for example, a surface having a metallic texture in the case of an automobile, a surface having a soft skin texture in the case of a human being, and a surface of a plant in the case of a roadside tree.
  • the light beam is, for example, sunlight, tunnel lighting in a tunnel, or street or building light in a nighttime situation. It is also possible to specify the direction of the light beam.
  • the CG generator 2 calculates the normal of the light beam emitted to each region of each object by, for example, specifying the position of the light source.
  • the CG generator 2 appropriately renders the visual information reflected by the object and perceived by the human eye or the camera based on the information on the surface of such an object and the information on the light beam to create a precise CG model.
  • the generated CG model may be a three-dimensional CG model.
  • the three-dimensional CG model is represented in two dimensions, it may be an image in which layers are set and objects and radiation information are arranged for each appropriate layer based on the three-dimensional CG model.
  • the simulator 3 sets camera parameters, applies noise, distortion, etc. based on the influence of the lens to the model output by the CG generator 2, and calculates image data based on the device information to be acquired. To generate. For example, based on the number of lenses and the performance of the lenses, an image that can be acquired using parameters related to the lens optical system of the camera is acquired from the CG model. Further, the deterioration based on the influence of the camera sensor (for example, the light receiving sensor) may be acquired by simulation.
  • the camera sensor for example, the light receiving sensor
  • FIG. 2 is a diagram showing an example of the simulator 3.
  • the simulator 3 includes an input / output I / F 300, a storage unit 302, a normal model application unit 304, and an ideal model application unit 306.
  • the input / output I / F 300 is an interface for inputting data to the simulator 3 and outputting data from the simulator 3. Although it is shown as an input / output I / F 300, it may of course have an input I / F and an output I / F separately.
  • the CG generator 2 itself may be provided in the simulator 3. In this case, the input step can be omitted.
  • the storage unit 302 temporarily or non-temporarily stores the data required for the simulator 3.
  • the storage unit 302 includes, for example, a memory. Further, when at least one of the functions of the simulator 3 is executed by the software, the storage unit 302 may store a program for executing at least one of the functions of the simulator 3. For example, the storage unit 302 may store the data input via the input / output I / F 300, or may store the output data after applying the model. Further, in the calculation in the simulator 3, the progress and the like may be stored as appropriate.
  • the simulator 3 is, for example, visually based on the position and posture of the driver of the car or the camera used for automatic driving from the CG model generated by the CG generator 2 acquired via the input / output I / F 300. Generates sensitive information.
  • the normal model application unit 304 generates a deteriorated image by using a model corresponding to the target camera for the generated CG model, that is, a model close to the real world.
  • a model corresponding to the lens system of the camera and a model corresponding to a sensor such as a chip mounted on the camera may be provided. .. Further, the model may consider deterioration factors based on the distance between the lens system and the imaging surface in the sensor system. Information on this model may also be stored in the storage unit 302.
  • Parameters corresponding to a plurality of cameras may be set.
  • the user can select which camera to target via the input / output I / F, and the normal model application unit 304 selects.
  • Degraded images may be generated using the model.
  • the normal model application unit 304 may add deterioration in the lens system such as aberration, blur, and stray light in the lens to the CG model, and further add data such as noise in the sensor. good.
  • deterioration in the lens system such as aberration, blur, and stray light in the lens
  • data such as noise in the sensor. good.
  • Information necessary for deterioration such as lens system information of the target device and sensor information, may be obtained from specifications, etc., or the device may be actually disassembled, or some pattern may be used. It may be photographed by the device, and the deterioration element may be extracted and modeled from the photographed image.
  • the ideal model application unit 306 converts the CG model into an image that becomes the ideal type. Like the normal model application unit 304, the ideal model application unit 306 may include an ideal lens model and an ideal sensor model. The ideal model application unit 306 acquires ideal image data from the CG model so as to match the teacher data (label data and data showing the result) of machine learning, for example.
  • FIG. 3 is a diagram showing an example of conversion from a CG model to image data by the simulator 3.
  • FIG. 3 shows how the image is transformed and the steps similar to the flow chart.
  • the CG model listed in the upper left is input to Simulator 3. Based on this CG model, a normal image (deteriorated image) and an ideal image are generated.
  • the normal image in the present disclosure is an image acquired under the same conditions as the image input to the estimation model.
  • the estimation model for example, when a normal image is input, optimization in machine learning is performed so that an ideal image is estimated. That is, the ideal image corresponds to the desired estimated image relative to the normal image.
  • the normal model application unit 304 converts the input CG data into image data having the same deterioration as the data input to the estimation model to be trained (S100).
  • the objects, etc. existing in the CG model have information such as the position and orientation of the camera, and the lens system and / or sensor.
  • the simulator in which the system parameters are set outputs what kind of imaging result is acquired by the target camera or the like.
  • the ideal model application unit 306 converts the input CG model into an image that becomes the teacher data used for generating the estimation model to be trained (S102).
  • the processes of S100 and S102 may be executed serially or in parallel in any order.
  • the simulator 3 outputs the images acquired by S100 and S102 to the internal or external memory (S104).
  • S104 When outputting to an external memory, it is transmitted to the outside via the input / output I / F 300. Further, instead of outputting to the memory, it may be output to the machine learning device.
  • the simulator 3 may directly output the trained model in which the deteriorated image is the input image and the ideal image is the output image so as to be surrounded by the broken line.
  • the processing of the broken line portion may be executed by the training device.
  • the content of the present disclosure is not limited to generating a deteriorated image and an ideal image from the CG model as described above.
  • a process may be performed in which an ideal image is generated from the CG model (S102) and then a deteriorated image is generated from the generated ideal image (S100').
  • metadata may be generated together with these generated ideal images and deteriorated images.
  • the metadata may be, for example, annotation data indicating what is reflected in the image, or data indicating the situation, environment, etc. in which the image was taken. In this way, it is also possible to acquire metadata which is information including at least one of the image information, the target information in the image, and the information about the environment in which the image was taken.
  • the storage medium may be a non-volatile memory (non-temporary computer-readable medium) such as a magnetic disk, an optical disk, a photomagnetic disk, or a semiconductor memory, a SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or the like. It may be a volatile memory of.
  • training data for machine learning by the same method as the method for generating a CG model.
  • the CG model By using the CG model, it is possible to generate a large number of images of situations that are normally difficult to collect.
  • image data (training) that reproduces various situations by changing the position of the object in the CG model, changing the object, and changing the parameters related to the camera, the parameters of the light source, etc. and re-rendering. Data) can be generated.
  • generating teacher data which is the output data of the estimation model, from the actually captured data is due to various deterioration factors in the captured data, even if the specifications of the captured device are known. It is difficult because it is.
  • training data for estimation models for various devices in the same data generation system 1. For example, even if the original CG model is the same, it is possible to acquire training data corresponding to various devices by changing the deterioration model in the normal model application unit 304 and the ideal model application unit 306. .. As a result, by generating one CG model, it is possible to generate training data for various devices, and it is possible to reduce the cost of data collection. For example, training data can be generated from the same CG model for a plurality of devices under development with different camera and sensor parameters.
  • annotation information is added to the CG model acquired in the same manner as in the first embodiment described above.
  • Annotation information is information or meta information used in machine learning training, and is, for example, information indicating object identification, labeling in an image, and the like.
  • FIG. 4 is a diagram showing an example of the configuration of the simulator 3 according to the present embodiment.
  • the simulator 3 further includes an annotation unit 308.
  • the annotation unit 308 annotates the input CG model. This annotation may be given for each area in the CG data. When CG data is created for each layer, annotations may be added for each layer.
  • Simulator 3 annotates the CG model by the annotation unit 308. Then, the ideal model application unit 306 converts the CG model to which this annotation is added.
  • the CG generator 2 may create annotation data as well as the CG model.
  • This annotation data may be, for example, data indicating what the area indicates for each area in which the object of the CG model is drawn.
  • FIG. 5 is a diagram showing an example of the created CG model.
  • the CG model is acquired as, for example, three-dimensional model data.
  • Object O1 and object O2 are arranged in the CG model.
  • the CG generator 2 generates data including the object O1 and the object O2 as one image, for example. At the same time, the CG generator 2 assigns the annotation data assigned at the timing of generating the model of the object to the region where each of them exists in the image.
  • This grant may be granted for each pixel, for example.
  • a channel representing an object may be prepared and given as four-dimensional data.
  • the simulator 3 can embed annotation information in the image file.
  • image data may be deleted and label data in which only annotation information for pixels or regions exists may be generated.
  • an annotation file different from the CG model may be generated, and the annotation information of each object for a pixel or area may be retained in this annotation file. .. Then, this annotation information may be used as input for machine learning.
  • the CG generator 2 may generate data including the object O1 and the object O2 as one image having a plurality of layers. At the same time, the CG generator 2 assigns the annotation data assigned at the timing of generating the model of the object for each layer.
  • the layer provided with the object O1 is annotated with respect to the object O1
  • the layer provided with the object O2 is annotated with the object O2.
  • This annotation may also be given for each pixel or region of the layer as described above.
  • annotations may be added to the image data at the timing of overlaying the layer on the two-dimensional image data.
  • annotation method the same method as described above may be used.
  • FIG. 6 is a diagram showing an example of acquiring the created CG model from the position and posture of a certain camera.
  • the CG model is acquired as three-dimensional model data in the same manner as described above.
  • This CG model is equipped with an object O1 and an object O2 hidden behind the object O1 when viewed from the position and orientation of a certain camera.
  • FIG. 6 shows a case where all of the object O2 is hidden by the object O1, but the present invention is not limited to this, and the same processing is performed even when a part of the object O2 is hidden by the object O1. It can be performed.
  • the area where the object O1 and the object O2 overlap may be annotated only with the object O1, or both the object O1 and the object O2 may be annotated.
  • This grant can be used properly according to the model you want to learn in machine learning. For example, if you want to simply estimate what is captured by image processing, you can add annotations of objects closer to the overlapping area. On the other hand, if it is desired to estimate the area of something hidden behind, duplicate annotations may be added to the overlapping area.
  • FIG. 7 is a diagram showing a conversion example of the CG model by the simulator 3 according to the present embodiment.
  • FIG. 7 shows how the image is transformed and the same steps as the flow chart, as in FIG.
  • annotation information "track” for the track on the right side of the image in the CG model
  • annotation information "track” is added to the area occupied by the track of the ideal image.
  • Simulator 3 acquires two-dimensional image data to which annotation data is added based on the CG model and annotation data output from CG generator 2 (S106). For example, at the timing of acquiring a two-dimensional image based on the CG model, the annotation data output by the CG generator 2 is embedded for each region or pixel, and the image data to which the annotation information is added is acquired. This acquisition method may be implemented, for example, by increasing the number of channels or adding information on a pixel-by-pixel basis as another file, as described above.
  • the image to which this annotation information is added is converted using an ideal model (S102).
  • the annotation information is, for example, geometrically transformed in the ideal model and executed in the same manner as the transformation of the object. By executing the geometric transformation on the annotation information in this way, the annotation information is given to the region where each object exists in the ideal image.
  • the simulator 3 outputs a set of a deteriorated image and an ideal image to which the annotation information is added as training data for machine learning.
  • the boundaries of the annotation may be blurred.
  • Blurring annotation means that, for example, probability information may be added to annotation information at a boundary, and this probability information may also be used as training data in machine learning.
  • information on a human being hidden behind a block wall at an intersection can be added to an ideal image, or a pathology that is not visible due to an obstacle can be added. Areas can be added to the ideal image.
  • an output can be used for machine learning including a hidden Markov model, but it can be appropriately applied not only to a hidden Markov model but also to various models.
  • the present embodiment when the deteriorated image and the ideal image are used as training data as in the first embodiment described above, it is possible to add annotation information to the ideal image. From this, it is possible to more efficiently generate training data by machine learning.
  • FIG. 8 is a diagram showing a machine learning system 4 using the data generation system 1 according to the present embodiment.
  • the machine learning system 4 includes a data generation system 1 and a machine learning device 5.
  • the machine learning training data generation method, the generation device, and the generation system have been described, but the training data generated by these can be used to generate the estimation model. Therefore, the present disclosure extends to a machine learning method using the training data generated in this way, a machine learning device 5, or an estimation model, an estimation method, and an estimation device acquired by the machine learning system 4. Is.
  • the machine learning device 5 may be configured to include the simulator 3. In this case, when a CG model is input, training data may be generated and machine learning may be executed. Further, the machine learning device 5 may also include the CG generator 2. In this case, the CG generator 2 can generate a CG model and realize machine learning as it is.
  • the data generation method of the present embodiment is not limited to the following implementation, but is more broadly defined as a method having the above configuration. In addition, these examples may be implemented in appropriate combinations.
  • the normal model and / or the ideal model may be, for example, a model that appropriately adds blur, distortion, shading, flare, ghost, etc. due to the lens provided in the target device.
  • These parameters may be represented by the type of lens, the numerical aperture, the focal length, and the like in a plurality of lenses.
  • image conversion is caused by, for example, the point spread function (PSF), coefficients representing various aberrations, power, and the like. Therefore, by adjusting these parameters in the simulator 3, the CG data can be used. It becomes possible to acquire a deteriorated image.
  • information such as the transmittance of the lens may be used. This transmittance may be defined for each wavelength.
  • a lens type such as a fisheye lens, a wide-angle lens, a telephoto lens, a macro lens, and a standard lens may be set.
  • the normal model application unit 304 uses a fisheye lens model
  • the ideal model application unit uses a standard lens model to generate training data for a model that estimates an image taken by a standard lens from an image taken by a fisheye lens. You may.
  • a fisheye lens model is used to geometrically deform the annotation information in accordance with the fisheye lens to discriminate an object in an image taken by the fisheye lens. Training data may be generated.
  • training data of an estimation model that focuses on a desired object is generated so as to realize autofocus tracking. You may.
  • a camera setting conversion using a polarizing filter, an IR filter, an ND filter, or the like may be performed.
  • the normal model and the ideal model may be converted based on the position and orientation of the camera.
  • conversion based on the relative positions of the plurality of cameras may be performed.
  • the model that performs such conversion can be defined in the simulator 3 by setting the position and orientation of the camera.
  • the normal model and / or the ideal model may be subjected to a conversion that adds sensor noise.
  • the sensor noise is implemented by, for example, optical shot noise, dark current shot noise, random shot noise, pattern noise, and pixel value addition tower. Such noise can be obtained from the sensor specifications.
  • the normal model and / or the ideal model can be applied to a compressed image (data-compressed image) instead of the device specifications as described above.
  • a compressed image data-compressed image
  • an image having a compression algorithm, a change in the compression rate, a variable bit rate, a gradation thinning, or the like may be generated and used as a deterioration model.
  • These compressions may be applied, for example, from a CG model after being converted by the parameters of the camera to be captured. That is, the normal model application unit 304 acquires image data by compressing the data obtained by converting the data according to the parameters of the camera to be photographed.
  • an image with thinned frames may be generated.
  • the normal model may acquire an image set having a smaller FPS (Flame per Second) than the ideal model.
  • FPS Freme per Second
  • the normal model application unit 304 may generate an H264 moving image
  • the ideal model application unit 306 may generate a moving image using raw data.
  • the normal model application unit 304 may acquire a YUV image
  • the ideal model application unit 306 may acquire an RGB image to generate training data for a color space conversion model that executes conversion from YUV to RGB. ..
  • the normal model may be a model that deteriorates in consideration of defects in the imaging pixels in the sensor.
  • Pixel defects include white, black, or defects to random values, as well as image plane phase difference acquisition pixels, polarized pixels, IR acquisition pixels, UV acquisition pixels, distance measurement pixels, temperature pixels, etc. It may be at least one of the embedded pixels that are not used in the image.
  • the normal model may be a model of such a pixel defect.
  • the normal model may be a model that considers the characteristics of other sensors.
  • the normal model can acquire a deteriorated image considering the color filter characteristics, spectral characteristics, color filter arrangement, temperature characteristics, conversion efficiency, sensitivity (HDR composition, gain characteristics), reading order (rolling shutter distortion), etc. of the sensor. It may be a model.
  • the normal model and / or the ideal model may be a model capable of acquiring an image in consideration of a camera corresponding to a multispectral image, a hyperspectral image, or the like. This can be achieved by appropriately selecting the information of the light source and the information of the camera (parameter of the combination of the lens and the sensor).
  • the normal model and / or the ideal model may give a conversion depending on the shooting conditions.
  • the shooting conditions are, for example, conditions such as illumination, saturation, and exposure.
  • the lighting condition indicates, for example, the type of light source.
  • the setting in rendering may be changed on the CG generator 2 side by setting sunlight, tunnel lighting, or street light.
  • the simulator 3 may acquire images corresponding to various light sources based on the normal information acquired by the CG generator 2. Further, not only the type of the light source but also the position and the direction in which the light source is directed may be set together with the type of the light source.
  • Saturation is, for example, overexposure, and indicates deterioration exceeding the maximum value of the color of the pixel value due to reflection from surrounding pixels.
  • Exposure is taken under conditions based on shutter speed, aperture, etc., and is set to underexposure, overexposure, etc.
  • the saturation of the pixel values described above may also be covered by this exposure condition.
  • information regarding the focus of the lens may be set.
  • the normal model application unit 304 may convert to an affine-transformed image, and the ideal model application unit 306 may acquire an image that has not been affine-transformed.
  • a model may be realized in which the normal model application unit 304 is subjected to arbitrary conversion of the entire image, and the ideal model application unit 306 is used to extract the character area.
  • this training data it is also possible to train a model for extracting a character region from an image.
  • the data generation system 1 can generate data for estimation model training to perform demosaic.
  • the normal model application unit 304 generates an image in which pixels are thinned out from the CG data. This generation is implemented, for example, by thinning out each color with a color filter pattern. On the other hand, an image that is not thinned out is generated as an ideal image. By using the data generated in this way, it is possible to generate an estimation model that realizes an improvement in the resolution of the multicolor sensor.
  • an image to which a low-pass filter is applied after adding noise may be used as a deteriorated image, and may be used as training data of an estimation model for increasing the resolution so as to convert it into an ideal image.
  • the data generation system 1 may generate training data of an estimation model that more precisely realizes color reproduction such as linear matrix and gamma correction.
  • the data generation system 1 can generate data for estimation model training that corrects pixel defects.
  • the normal model application unit 304 generates an image with defective pixels. This generation is implemented, for example, by changing the defective pixel to an arbitrary value. On the other hand, an image without defective pixels is generated as an ideal image. By using the data generated in this way, it is possible to generate an estimation model that realizes estimation by interpolating pixel portions that are not used for image output.
  • the data generation system 1 can generate data for estimation model training that corrects an image acquired by using a polarization sensor.
  • the normal model application unit 304 generates a polarized image. This image may be generated by acquiring a polarized state when ray tracing is performed by the CG generator 2. Then, the ideal model application unit 306 generates an unpolarized image. By using these images as training data, it is possible to generate a model for estimating an image in which deterioration due to polarization is suppressed.
  • P-polarized light and S-polarized light images may be acquired in the normal model application unit 304, respectively.
  • training data of an estimation model that outputs an ideal image can be generated from two images, a P-polarized image and an S-polarized image.
  • the positions and orientations of the plurality of cameras that acquire the two polarized images may be set respectively.
  • the data generation system 1 can generate training data for an estimation model that realizes multi-camera fusion.
  • the normal model application unit 304 acquires images taken by cameras installed in various positions and postures in the CG model, and the ideal model application unit 306 acquires images taken by cameras installed in the desired positions and postures. This makes it possible to obtain training data for this estimation model.
  • the various parameters described above can be set separately. By using this training data, it is possible to generate training data of an estimation model that acquires a fused image from an image taken by a multi-camera according to various situations.
  • the data generation system 1 generates training data of a model that estimates various images including the time axis and images that suppress deterioration due to the compression format of the moving image, based on the image generation example given in the fourth example above. You may.
  • a model that generates an image that suppresses block noise due to JPEG and MPEG a model that generates a moving image with a converted frame rate, and other models that correct the deterioration of image quality due to compression and FHR. It is possible to generate a model that realizes interpolation.
  • the annotation unit 308 may simply annotate the information of the object shown in the two-dimensional image with text. This is given to the image. For example, the annotation unit 308 adds annotation information that the image showing the dog is a dog and the image showing a cat is a cat. It is added as annotation information for the image.
  • the annotation unit 308 may add annotations in a rectangular area in the two-dimensional image. As described above, this may be realized in pixel units or region units, and the boundaries are deformed by geometric transformation similar to the generation of an ideal image (for example, affine transformation and projection according to lens distortion). It may be converted). For example, the annotation unit 308 annotates a photograph in which a dog and a cat are shown as a dog in an area in which the dog is shown, and annotates the area in which the cat is shown as a cat.
  • the annotation unit 308 can add the annotation information as described above by using the object area of the CG model. By adding annotation information based on the CG model in this way, it is possible to express overlapping objects when information is dropped from 3D to 2D.
  • the annotation information in the overlapping areas can be appropriately processed into training data.
  • the teacher data the one in the foreground, that is, the one shown in the image may be added as annotation information.
  • both the front side and the back side may be added as annotation information.
  • annotation information that can distinguish between the front and the back may be added.
  • the overlap may be expressed in the same manner not only for two objects but also for three or more objects. The annotation information given in this way may be arbitrarily removed at the time of learning and used as training data.
  • the annotation unit 308 can accurately add annotation information to the moving image. This is because the annotation unit 308 can add annotations to the CG model object. This makes it possible to easily add annotations to moving images, which is generally very difficult.
  • annotation section 308 uses meta information such as lighting conditions, time, camera orientation, orientation, lens information, shooting conditions, and camera location (latitude, longitude, etc.) as annotations for an ideal model. It can also be added to the image generated by the application unit 306.
  • the annotation unit 308 may annotate the exact position of the object relative to the camera. By assigning an accurate position in this way, it is possible to annotate the training data of the position estimation model in the ToF (Time of Flight) sensor.
  • the relative position of the object with respect to the camera may be given as an absolute position in the CG model of the camera and an absolute position in the CG model of the object.
  • the annotation unit 308 may add motion information such as velocity, acceleration, and angular velocity of the object as annotations. By adding the speed of the object as an annotation, for example, it can be used as training data of an estimation model for recovering image deterioration due to motion blur or the like.
  • information such as the speed of the object may be used as training data of an estimation model for recovering the rolling shutter distortion.
  • it can be applied to a model that guides the surroundings by voice. This is because various objects can be estimated from the acquired images. Furthermore, it is also possible to estimate the position of the object, and in this case, it can be a model that guides what is present at what position.
  • it may be used for remote medical care. This is applied using a model that estimates the patient's complexion, facial expression, discrimination of executives, and the like.
  • a vehicle dispatch system can be applied by realizing the authentication of the user's face by using the face recognition model.
  • a model for ensuring the safety of automatic driving may be used.
  • face recognition or the like can be realized with images acquired by a device such as a general smartphone camera or a drive recorder camera without installing expensive equipment.
  • it can be applied as a voice assistant.
  • it can be used as a model for acquiring the content of a statement from the movement of the mouth (a model for realizing lip reading).
  • it can be applied as a model that reads feelings from images or a model that analyzes emotions. This can be realized by associating facial expressions, complexion, etc. with annotations indicating feelings and emotions.
  • the training data may be generated in consideration of not only the deterioration of the image captured by the camera but also the compression of the image when transferring the data.
  • training data may be generated in consideration of image compression during data transfer.
  • an ideal image the etiquette in a state where the wine bottle is not stretched may be acquired as a teacher image.
  • an ideal image can be obtained by separately acquiring model information of various etiquette before being placed on a wine bottle in the CG generator 2.
  • image compression during communication can be taken into account.
  • the lighting conditions are often special, but according to each of the above-described embodiments, it is possible to absorb these conditions by the lighting conditions applied to the painting model.
  • the image of the desired touch can be acquired from this object because the object can be acquired as a CG model.
  • a deteriorated image is generated for an artificially generated ideal image (hereinafter referred to as an artificial image), but for an artificial image, for example,
  • the image to be processed may not be a deteriorated image but an image to be inferred. That is, not only a deteriorated image but also a more ideal processed image may be generated for a CG or an actually captured image (artificial image).
  • the model is, for example, a neural network model, and includes a plurality of layers (layers) and a plurality of nodes provided in each of the plurality of layers.
  • the above-mentioned training may be, for example, a process of training the weighting between the nodes. Further, in the case of CNN or the like, the value of the node itself (including the kernel) in each layer may be used.
  • an image taken with a long wavelength it is possible to generate a model with improved object detection accuracy.
  • an image obtained by a thermal sensor can be inferred from an image having a wavelength invisible to the human eye.
  • a model that corrects the resolution can be generated by generating an image in which various PSFs (Point Spread Functions) such as optical system blur or motion blur and various filters are superimposed.
  • PSFs Point Spread Functions
  • HDR High Dynamic Range
  • HFR High Frame Rate
  • an all-sky image 360-degree all-sky image
  • an ideal RGB image may be generated from the raw data.
  • a model for estimating the light source can be generated.
  • a model with improved color reproducibility can be generated by generating an image acquired by a color filter characteristic or an element that has deteriorated over time.
  • an interlaced image By generating an interlaced image, it is possible to generate a model that infers a progressive image. For example, it is possible to generate a model in which information such as an old video is made progressive and the resolution is increased.
  • it may be an image displayed by a head-up display.
  • it is possible to generate a model that generates an image adjusted to distortion correction, easy-to-see colors, and brightness.
  • a model that restores colors For example, it may be a model that infers from a wavelength other than RGB.
  • a data generator that generates data for example, a data generator that realizes the above generation method
  • the characteristics (physical model) of an arbitrary camera are taken into consideration, and the target Generate high-quality, low-quality data sets.
  • High and low image quality combinations include, for example, high and low resolution images, bright (daytime, outdoor) and dark (nighttime, indoor) images, normal optics and wide angle, as shown above. It may be an image or the like in an optical system.
  • Model generation by machine learning By training a model by various machine learning methods, a model that detects an object using this low-quality image may be generated, or a high-quality image may be generated from a low-quality image. You may generate a model that infers the image of. Moreover, these can also be combined. As a non-limiting example, by using training to detect a face from an image taken at night and training to infer a face image taken during the day from a face image taken at night, at night. It is also possible to train an inference model that extracts and generates facial images taken during the day from the captured images.
  • an application that tracks an object can be configured by using a model that infers an image of a person.
  • a face is extracted from a low-quality image taken by an arbitrary camera, and the face is converted into a high-quality image to track an arbitrary person.
  • it can be applied not only to people but also to tracking traffic violation vehicles, stolen bicycles, pet hunting, animal ecosystem surveys, and so on. It can also be applied to things that do not move, such as searching for buildings and places.
  • Application distribution The above applications can also be distributed and deployed. For example, by distributing an application that extracts a face from an image taken by a camera together with a person's face, it is possible to make a user in a wide area use the application.
  • This application may be in the form of acquiring an image using a camera such as a user's smartphone and making an inference, or may be in the form of the user inputting an arbitrary image into this application.
  • a camera such as a user's smartphone and making an inference
  • By using the application in this way it becomes possible to easily track lost children and criminals.
  • You may also deploy such applications on surveillance cameras, arbitrary fixed or movable cameras, or peripherals connected to these cameras.
  • Models suitable for high-quality and low-quality shooting data such as daytime and nighttime may be generated, and these models may be deployed respectively.
  • the smartphone may analyze the shooting information from the shooting information, or the video acquired by the smartphone may be transferred to the server by communication. You may send it.
  • the application may output the location information together.
  • the position information may be acquired by, for example, GPS (Global Positioning System), Wi-Fi (registered trademark) information, base station information, or the like. These functions may be turned on by opt-in in order to ensure the security of the owner who owns the smartphone.
  • a form of adding on to an arbitrary application may be used to analyze a video, an image, or the like taken by the arbitrary application by opt-in of the smartphone owner in the same manner as described above.
  • a server or the like may be in a form that allows communication from a deployed application. By aggregating the information from the application deployed on the server in this way, it is possible to collect information such as the position information of the person and the detected time. With this information, it is possible to acquire position information and the like for each time, and it is possible to improve the tracking performance.
  • metadata if it is a person, the color, height, gender, facial expression, etc. of clothes may be communicated from the application side.
  • the metadata may be user-addable.
  • the server may regenerate the image based on this metadata, update the model, and apply (redeploy) it to the application. Further, for example, a user such as the police may be allowed to access this server, or information may be provided to the user who requested the tracking.
  • the application may transmit face image data acquired by a sensor such as a camera.
  • a sensor such as a camera
  • the video itself may be transmitted to the server. This transmission may be performed in real time, or may be transmitted once stored as a file and then transmitted at a timing when there is a margin in bandwidth. For example, it may be transmitted when a Wi-Fi connection is made.
  • (h) Output and display of target information Even if the server collects information from the deployed application, or outputs time, location information, etc. in an easy-to-understand format based on the inferred and re-inferred information from the collected information. good.
  • the server may display the target time and position information in an easy-to-understand format on the map and output it to the tracking requester.
  • the server may output information regarding the position of the tracking target to the requester in real time by push notification or the like.
  • the information about the position may be an address, or may indicate a predetermined area, a point, or the like on the map.
  • Model update As described above, the server may update the model at any time. For example, when information is aggregated from an application, the data to be trained is accumulated. By updating the model using this accumulated data, it is possible to improve the accuracy of inference by the model. Further, the accumulated data may be processed by the method shown in the above-described embodiment, for example, a low-resolution image may be generated from a high-resolution image, and this set of generated images may be used for updating the model. ..
  • the above-described embodiment not only deteriorates the model using CG to acquire a low-quality image, but also deteriorates the actually captured image and uses it for model training. You may.
  • the aspect of the present disclosure may be implemented programmatically.
  • the program may be stored in a storage unit, and information processing by software may be specifically realized by hardware.
  • Software processing is executed in processors such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit), as well as various analog or digital circuits such as FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated). It may be implemented by Circuit) or DSP (Digital Signal Processor).
  • processors such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit)
  • various analog or digital circuits such as FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated). It may be implemented by Circuit) or DSP (Digital Signal Processor).
  • FIG. 9 shows a configuration example of a system including a device that performs AI processing.
  • the electronic device 20001 is a mobile terminal such as a smartphone, a tablet terminal, or a mobile phone.
  • the electronic device 20001 has a sensor 20011 (for example, an optical sensor) to which the technique according to the present disclosure is applied.
  • An optical sensor is a sensor (image sensor) that converts light into an electrical signal.
  • the electronic device 20001 can be connected to a network 20040 such as the Internet via the core network 20030 by connecting to the base station 20020 installed at a predetermined location by wireless communication corresponding to a predetermined communication method.
  • An edge server 20002 for realizing mobile edge computing is provided at a position closer to the mobile terminal, such as between the base station 20020 and the core network 20030.
  • a cloud server 20003 is connected to the network 20040.
  • the edge server 20002 and the cloud server 20003 can perform various processes according to the intended use.
  • the edge server 20002 may be provided in the core network 20030.
  • AI processing is performed by the electronic device 20001, the edge server 20002, the cloud server 20003, or the sensor (for example, an optical sensor) 20011.
  • the AI process processes the technology according to the present disclosure by using AI such as machine learning.
  • AI processing includes learning processing and inference processing.
  • the learning process is a process of generating a learning model.
  • the learning process also includes a re-learning process described later.
  • the inference process is a process of making inferences using a learning model.
  • normal processing processing related to the technology according to the present disclosure without using AI is referred to as normal processing, and is distinguished from AI processing.
  • a processor such as a CPU (Central Processing Unit) executes a program, or dedicated hardware such as a processor specialized for a specific application.
  • AI processing is realized by using hardware.
  • a GPU Graphics Processing Unit
  • a processor specialized for a specific application can be used as a processor specialized for a specific application.
  • FIG. 10 shows a configuration example of the electronic device 20001.
  • the electronic device 20001 includes a CPU 20101 that controls the operation of each part and performs various processes, a GPU 20102 that specializes in image processing and parallel processing, a main memory 20103 such as a DRAM (Dynamic Random Access Memory), and an auxiliary such as a flash memory. It has memory 20104.
  • a CPU 20101 that controls the operation of each part and performs various processes
  • a GPU 20102 that specializes in image processing and parallel processing
  • main memory 20103 such as a DRAM (Dynamic Random Access Memory)
  • an auxiliary such as a flash memory. It has memory 20104.
  • Auxiliary memory 20104 records data such as programs for AI processing and various parameters.
  • the CPU 20101 expands the programs and parameters recorded in the auxiliary memory 20104 into the main memory 20103 and executes the program.
  • the CPU 20101 and the GPU 20102 expand the programs and parameters recorded in the auxiliary memory 20104 into the main memory 20103 and execute the program.
  • the GPU 20102 can be used as a GPGPU (General-Purpose computing on Graphics Processing Units).
  • the CPU 20101 and GPU 20102 may be configured as a SoC (System on a Chip).
  • SoC System on a Chip
  • the GPU 20102 may not be provided.
  • the electronic device 20011 also includes a sensor 2011 optical sensor 20111 to which the technology according to the present disclosure is applied, an operation unit 20105 such as a physical button or a touch panel, and a sensor microphone 20106 that collects sound including at least one sensor. It has a display 20107 that displays information such as images and texts, a speaker 20108 that outputs sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 that connects them.
  • a sensor 2011 optical sensor 20111 to which the technology according to the present disclosure is applied
  • an operation unit 20105 such as a physical button or a touch panel
  • a sensor microphone 20106 that collects sound including at least one sensor. It has a display 20107 that displays information such as images and texts, a speaker 20108 that outputs sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 that connects them.
  • the sensor 20106 has at least one or more various sensors such as an optical sensor (image sensor), a sound sensor (microphone), a vibration sensor, an acceleration sensor, an angular velocity sensor, a pressure sensor, an odor sensor, and a biological sensor.
  • the data acquired from at least one or more sensors of the sensor 20106 can be used together with the image data acquired from the optical sensor 20111. In this way, by using the data obtained from various types of sensors together with the image data, it is possible to realize AI processing suitable for various situations by the multimodal AI technology.
  • the data obtained by integrally processing the image data acquired from two or more optical sensors by the sensor fusion technology may be used in the AI processing.
  • the two or more optical sensors may be a combination of the optical sensor 2011 and the optical sensor in the sensor 20106, or a plurality of optical sensors may be included in the optical sensor 2011.
  • the optical sensor includes an RGB visible light sensor, a distance measuring sensor such as ToF (Time of Flight), a polarization sensor, an event-based sensor, a sensor for acquiring an IR image, a sensor capable of acquiring multiple wavelengths, and the like. ..
  • AI processing can be performed by a processor such as CPU 20101 or GPU 20102.
  • the processor of the electronic device 20011 performs the inference processing, the processing can be started in a short time after the image data is acquired by the sensor 2011 optical sensor 20111, so that the processing can be performed at high speed. Therefore, in the electronic device 20001, when the inference process is used for an application such as an application in which information is transmitted in a short delay time and real-time performance is required, the user can perform the operation without discomfort due to the delay. Further, when the processor of the electronic device 20001 performs AI processing, it is not necessary to use a communication line or a computer device for the server as compared with the case of using a server such as a cloud server 20003, and the processing is realized at low cost. can do.
  • FIG. 11 shows a configuration example of the edge server 20002.
  • the edge server 20002 includes a CPU 2021 that controls the operation of each part and performs various processes, and a GPU 2022 that is specialized in image processing and parallel processing.
  • the edge server 20002 further has a main memory 20203 such as a DRAM, an auxiliary memory 20204 such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), and a communication I / F 20205 such as a NIC (Network Interface Card). They are connected to bus 20206.
  • main memory 20203 such as a DRAM
  • an auxiliary memory 20204 such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive)
  • a communication I / F 20205 such as a NIC (Network Interface Card).
  • Auxiliary memory 20204 records data such as programs for AI processing and various parameters.
  • the CPU 20101 expands the programs and parameters recorded in the auxiliary memory 20204 into the main memory 20203 and executes the program.
  • the CPU 2021 and the GPU 2022 can use the GPU 2022 as a GPGPU by expanding the programs and parameters recorded in the auxiliary memory 20204 to the main memory 20203 and executing the program.
  • the GPU 2022 may not be provided.
  • AI processing can be performed by a processor such as CPU 2021 or GPU 2022.
  • the edge server 20002 When the processor of the edge server 20002 performs AI processing, the edge server 20002 is provided at a position closer to the electronic device 20001 than the cloud server 20003, so that the processing delay can be reduced. Further, since the edge server 20002 has a higher processing capacity such as calculation speed than the electronic device 20001 and the sensor 2011 optical sensor 20111, it can be configured for general purposes. Therefore, when the processor of the edge server 20002 performs AI processing, AI processing can be performed if data can be received regardless of the difference in specifications and performance of the electronic device 20011 and the sensor 2011 optical sensor 2011. When AI processing is performed by the edge server 20002, the processing load on the electronic device 20001 and the sensor 2011 optical sensor 20111 can be reduced.
  • AI processing can be performed by a processor such as CPU 20101 or GPU 2022. Since the cloud server 20003 has a higher processing capacity such as calculation speed than the electronic device 20011 and the sensor 2011 optical sensor 20111, it can be configured for general purposes. Therefore, when the processor of the cloud server 20003 performs the AI processing, the AI processing can be performed regardless of the difference in the specifications and performance of the electronic device 20011 and the sensor 2011 optical sensor 2011. If it is difficult for the processor of the electronic device 20011 or the sensor 2011 optical sensor 20111 to perform the high-load AI processing, the processor of the cloud server 20003 performs the high-load AI processing, and the processing result is electronically transmitted. It can be fed back to the processor of the device 20011 or the sensor 2011 optical sensor 20111.
  • FIG. 12 shows a configuration example of the sensor 2011 optical sensor 2011.
  • Sensor 20111 The optical sensor 20111 can be configured as, for example, a one-chip semiconductor device having a laminated structure in which a plurality of substrates are laminated.
  • Sensor 20111 The optical sensor 20111 is configured by laminating two substrates, a substrate 20301 and a substrate 20302.
  • the configuration of the optical sensor 2011 is not limited to the laminated structure, and for example, the substrate including the imaging unit may include a processor that performs AI processing such as a CPU and a DSP (Digital Signal Processor).
  • AI processing such as a CPU and a DSP (Digital Signal Processor).
  • the upper substrate 20301 is equipped with an imaging unit 20321 in which a plurality of pixels are arranged two-dimensionally.
  • an imaging processing unit 20322 that performs processing related to image imaging by the imaging unit 20321, an output I / F 20323 that outputs the captured image and signal processing results to the outside, and an image of the image captured by the imaging unit 20321.
  • An image pickup control unit 20324 that controls image pickup, and a CPU 20331 to a communication I / F 20334 are mounted.
  • the image pickup block 20311 is composed of the image pickup unit 20321, the image pickup processing unit 20322, the output I / F 20323, and the image pickup control unit 20324.
  • a CPU 20331 that controls each part and performs various processes, a DSP 20332 that performs signal processing using captured images and information from the outside, and a SRAM (Static Random Access Memory) and a DRAM (Dynamic).
  • a memory 20333 such as RandomAccessMemory
  • a communication I / F20334 that exchanges necessary information with the outside are installed.
  • the signal processing block 20312 is configured by the CPU 20331, the DSP 20332, the memory 20333, and the communication I / F 20334.
  • AI processing can be performed by at least one processor of CPU 20331 and DSP 20332.
  • the signal processing block 20312 for AI processing can be mounted on the lower substrate 20302 in the laminated structure in which a plurality of substrates are laminated.
  • the image data acquired by the imaging block 20311 for imaging mounted on the upper substrate 20301 is processed by the signal processing block 20312 for AI processing mounted on the lower substrate 20302, so that one chip can be used.
  • a series of processes can be performed in the semiconductor device.
  • AI processing can be performed by a processor such as CPU 20331.
  • Sensor 2011 When the processor of the optical sensor 2011 performs AI processing such as inference processing, a series of processing is performed in a semiconductor device of one chip, so that information does not leak to the outside of the sensor, so that the confidentiality of information can be improved. can. Further, since it is not necessary to transmit data such as image data to another device, the processor of the sensor 2011 optical sensor 20111 can perform AI processing such as inference processing using the image data at high speed. For example, when inference processing is used for an application that requires real-time performance, it is possible to sufficiently secure real-time performance. Here, ensuring real-time performance means that information can be transmitted with a short delay time. Further, when the processor of the sensor 2011 optical sensor 2011 performs AI processing, the processing can be reduced and the power consumption can be reduced by passing various metadata by the processor of the electronic device 20011.
  • FIG. 13 shows a configuration example of the processing unit 20401.
  • the processor of the electronic device 20001, the edge server 20002, the cloud server 20003, or the sensor 2011 optical sensor 20111 executes various processes according to the program to function as the processing unit 20401.
  • a plurality of processors of the same or different devices may function as the processing unit 20401.
  • the processing unit 20401 has an AI processing unit 20411.
  • the AI processing unit 20411 performs AI processing.
  • the AI processing unit 20411 has a learning unit 20421 and an inference unit 20422.
  • the learning unit 20421 performs a learning process to generate a learning model.
  • a machine-learned learning model in which machine learning for correcting the correction target pixel included in the image data is performed is generated.
  • the learning unit 20421 may perform a re-learning process for updating the generated learning model.
  • the generation and update of the learning model will be explained separately, but since it can be said that the learning model is generated by updating the learning model, the meaning of updating the learning model is used to generate the learning model. Shall be included.
  • the learning unit 20421 corresponds to the machine learning device 5 given in the embodiment of the present invention. Further, when learning by the learning unit 20421, the CG generator 2 and the simulator 3 of the present invention can be applied to use the training data (teacher image and deteriorated image) generated by the CG generator 2 and the simulator 3.
  • Each of the CG generator 2 and the simulator 3 may be possessed by the learning unit 20421, or may be possessed by the electronic device 20001, the edge server 20002, the cloud server 20003, or the sensor (for example, an optical sensor) 20111. ..
  • the generated learning model is recorded in a storage medium such as a main memory or an auxiliary memory of an electronic device 20001, an edge server 20002, a cloud server 20003, an optical sensor 2011, or the like, so that the inference unit 20422 performs the inference. It will be newly available in the process. As a result, it is possible to generate an electronic device 20001, an edge server 20002, a cloud server 20003, an optical sensor 20011 and the like that perform inference processing based on the learning model. Further, the generated learning model is recorded in a storage medium or electronic device independent of the electronic device 20001, edge server 20002, cloud server 20003, optical sensor 2011, etc., and is provided for use in other devices. May be good. The generation of these electronic devices 20001, edge server 20002, cloud server 20003, optical sensor 20011 and the like is not only recording a new learning model in those storage media at the time of manufacturing, but also already recording. It shall also include updating the generated learning model.
  • a storage medium such as a main memory or an auxiliary memory of an electronic device 20001, an edge server 20002, a
  • the inference unit 20422 performs inference processing using the learning model.
  • a process for correcting the correction target pixel included in the image data is performed using the learning model.
  • the correction target pixel is a pixel to be corrected that satisfies a predetermined condition among a plurality of pixels in the image according to the image data.
  • the inference processing will be described mainly as an example of processing for correcting the correction target pixel included in the image data, but the inference processing is not limited to the one for correcting the correction target pixel, and as described above, various methods are used. Inference processing may be used.
  • a neural network is a model that imitates a human brain neural circuit, and consists of three types of layers: an input layer, an intermediate layer (hidden layer), and an output layer.
  • Deep learning is a model that uses a multi-layered neural network, and it is possible to learn complex patterns hidden in a large amount of data by repeating characteristic learning in each layer.
  • Supervised learning can be used as a problem setting for machine learning. For example, supervised learning learns features based on given labeled teacher data. This makes it possible to derive labels for unknown data.
  • teacher data image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, a data set generated by the simulator, and the like can be used.
  • supervised learning a large amount of unlabeled learning data is analyzed to extract features, and clustering or the like is performed based on the extracted features. This makes it possible to analyze and predict trends based on a huge amount of unknown data.
  • Semi-supervised learning is a mixture of supervised learning and unsupervised learning. After learning features in supervised learning, a huge amount of teacher data is given in unsupervised learning, and the features are automatically learned. This is a method of repeating learning while calculating. Reinforcement learning deals with the problem of observing the current state of an agent in an environment and deciding what action to take.
  • AI processing is performed by one or more of these devices. It is said.
  • the AI processing unit 20411 may have at least one of the learning unit 20421 and the inference unit 20422. That is, the processor of each device may execute not only the learning process and the inference process but also one of the learning process and the inference process. For example, when the processor of the electronic device 20001 performs both inference processing and learning processing, it has a learning unit 20421 and an inference unit 20422, but when it performs only inference processing, it has only an inference unit 20422. Just do it.
  • each device may execute all the processes related to the learning process or the inference process, or after executing some processes on the processor of each device, the remaining processes are executed by the processors of other devices. May be good. Further, each device may have a common processor for executing each function of AI processing such as learning processing and inference processing, or may have a processor individually for each function.
  • the AI processing may be performed by a device other than the above-mentioned device.
  • the AI process can be performed by another electronic device to which the electronic device 20001 can be connected by wireless communication or the like.
  • the electronic device 20001 is a smartphone
  • other electronic devices that perform AI processing include other smartphones, tablet terminals, mobile phones, PCs (Personal Computers), game machines, and television receivers. It can be a device such as a wearable terminal, a digital still camera, or a digital video camera.
  • AI processing such as inference processing can be applied to configurations using sensors mounted on mobile objects such as automobiles and sensors used in telemedicine devices, but the delay time is short in those environments. Is required. In such an environment, AI processing is not performed by the processor of the cloud server 20003 via the network 20040, but by the processor of the local device (for example, electronic device 20001 as an in-vehicle device or medical device). Therefore, the delay time can be shortened. Further, even when there is no environment for connecting to the network 20040 such as the Internet, or when the device is used in an environment where high-speed connection cannot be performed, the processor of a local device such as an electronic device 20011 or an optical sensor 20111 is used. By performing the AI processing in, the AI processing can be performed in a more appropriate environment.
  • the electronic device 20001 is not limited to a mobile terminal such as a smartphone, but may be an electronic device such as a PC, a game machine, a television receiver, a wearable terminal, a digital still camera, or a digital video camera, an in-vehicle device, or a medical device. .. Further, the electronic device 20001 may be connected to the network 20040 by wireless communication or wired communication corresponding to a predetermined communication method such as a wireless LAN (Local Area Network) or a wired LAN.
  • the sensor 2011 is not limited to a configuration having a laminated structure in which a plurality of substrates are laminated, and other configurations may be adopted.
  • the AI processing is not limited to a processor such as a CPU or GPU of each device, and a quantum computer, a neuromorphic computer, or the like may be used.
  • step S2001 the processing unit 20401 acquires the image data from the sensor 2011 optical sensor 20111.
  • step S20002 the processing unit 20401 performs correction processing on the acquired image data.
  • inference processing using a learning model is performed on at least a part of the image data, and corrected data which is data after correcting the correction target pixels included in the image data is obtained.
  • step S20003 the processing unit 20401 outputs the corrected data obtained in the correction processing.
  • step S20021 the processing unit 20401 specifies the correction target pixel included in the image data.
  • the step of specifying the correction target pixel hereinafter, referred to as a specific step (Detection Step)
  • inference processing or normal processing is performed.
  • the inference unit 20422 inputs image data to the learning model, and information for specifying the correction target pixel included in the input image data (hereinafter, specific information (hereinafter, specific information)). Since it is called Detection Information), the correction target pixel can be specified.
  • specific information hereinafter, specific information (hereinafter, specific information)
  • specific information since it is called Detection Information
  • the correction target pixel can be specified.
  • a learning model is used in which the image data including the correction target pixel is input and the specific information of the correction target pixel included in the image data is output.
  • processing for specifying the correction target pixel included in the image data by the processor or signal processing circuit of the electronic device 20011 or the sensor 2011 optical sensor 20111 is performed without using AI. Will be done.
  • step S20022 the processing unit 20401 corrects the specified correction target pixel.
  • step S20022 the processing unit 20401 corrects the specified correction target pixel.
  • inference processing or normal processing is performed.
  • the inference unit 20422 When the inference process is performed as the correction step, the inference unit 20422 inputs the image data and the specific information of the correction target pixel into the learning model, so that the corrected image data or the correction target pixel specific information can be obtained. Since it is output, the pixel to be corrected can be corrected.
  • a learning model is used in which the image data including the correction target pixel and the specific information of the correction target pixel are input, and the corrected image data or the corrected specific information of the correction target pixel is output.
  • a normal process is performed as a correction step, a process of correcting the correction target pixel included in the image data by the processor or signal processing circuit of the electronic device 20011 or the sensor 2011 optical sensor 20111 without using AI is performed. Will be done.
  • the inference process or the normal process is performed in the specific step of specifying the correction target pixel, and the inference process or the normal process is performed in the correction step of correcting the specified correction target pixel.
  • Inference processing is performed in at least one of the correction steps. That is, in the correction process, inference processing using the learning model is performed on at least a part of the image data from the sensor 2011 optical sensor 20111.
  • the specific step may be performed integrally with the correction step by using the inference process.
  • the inference unit 20422 inputs the image data to the learning model, and the image data in which the correction target pixel is corrected is output. Therefore, the input image data It is possible to correct the correction target pixel included in.
  • a learning model is used in which the image data including the correction target pixel is input and the image data corrected by the correction target pixel is output.
  • the processing unit 20401 may generate metadata using the corrected data.
  • the flowchart of FIG. 16 shows the flow of processing when generating metadata.
  • steps S20051 and S200052 image data is acquired and correction processing is performed using the acquired image data, as in steps S20001 and S20002 described above.
  • the processing unit 20401 generates metadata using the corrected data obtained in the correction process.
  • inference processing or normal processing is performed.
  • the inference unit 20422 When the inference process is performed as a generation step, the inference unit 20422 outputs the metadata related to the input corrected data by inputting the corrected data to the training model, so that the metadata can be generated. can.
  • a learning model is used in which the corrected data is input and the metadata is output.
  • metadata includes three-dimensional data such as point clouds and data structures.
  • the processing of steps S20051 to S20054 may be performed by end-to-end machine learning.
  • a normal process is performed as a generation step, a process of generating metadata from the corrected data is performed by the processor or signal processing circuit of the electronic device 20011 or the sensor 2011 optical sensor 20111 without using AI. ..
  • the storage medium may be a storage medium such as an electronic device 20001, an edge server 20002, a cloud server 20003, or a main memory or an auxiliary memory provided in the optical sensor 20111, or a storage medium or an electronic device independent of them.
  • the inference process using the learning model can be performed in at least one of the specific step, the correction step, and the generation step. Specifically, after the inference processing or the normal processing is performed in the specific step, the inference processing or the normal processing is performed in the correction step, and the inference processing or the normal processing is further performed in the generation step, so that at least one step is performed. Inference processing is performed at.
  • the inference process can be performed in the correction step, and the inference process or the normal process can be performed in the generation step. Specifically, after the inference process is performed in the correction step, the inference process or the normal process is performed in the generation step, so that the inference process is performed in at least one step.
  • inference processing may be performed in all steps, or inference processing is performed in some steps, and normal processing is performed in the remaining steps. You may be inferred.
  • the processing when the inference processing is performed in each step will be described.
  • the inference unit 20422 uses an image including a pixel to be corrected.
  • a learning model is used in which data is input and specific information of the correction target pixel included in the image data is output. This learning model is generated by the learning process by the learning unit 20421, is provided to the inference unit 20422, and is used when performing the inference process.
  • the learning unit 20421 acquires image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, a data set generated by the simulator, and the like as teacher data (S20061).
  • a learning model is generated using the acquired teacher data (S20062).
  • a learning model is generated in which image data including the correction target pixel is input and specific information of the correction target pixel included in the image data is output, and is output to the inference unit 20422 (S20063).
  • the inference unit 20422 uses the image including the correction target pixel.
  • a learning model is used in which the data and the specific information of the correction target pixel are input and the corrected image data or the corrected specific information of the correction target pixel is output. This learning model is generated by the learning process by the learning unit 20421.
  • the learning unit 20421 acquires image data from the optical sensor, a data set generated by the simulator, and the like as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062). ..
  • a learning model is generated in which image data including the correction target pixel and specific information of the correction target pixel are input, and the corrected image data or the corrected specific information of the correction target pixel is output, and inference is made. It is output to unit 20422 (S20063).
  • the inference unit 20422 inputs image data including the correction target pixel.
  • a learning model is used in which the input is input and the image data corrected by the correction target pixel is output. This learning model is generated by the learning process by the learning unit 20421.
  • the learning unit 20421 acquires image data from the optical sensor, a data set generated by the simulator, and the like as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062). ..
  • a learning model is generated in which the image data including the correction target pixel is input and the image data corrected by the correction target pixel is output, and is output to the inference unit 20422 (S20063).
  • data such as a learning model, image data, and corrected data may be used not only in a single device but also exchanged between a plurality of devices and used in those devices.
  • FIG. 18 shows the flow of data between multiple devices.
  • Electronic devices 20001-1 to 20001-N are possessed by each user, and can be connected to a network 20040 such as the Internet via a base station (not shown) or the like.
  • the learning device 20501 is connected to the electronic device 20001-1, and the learning model provided by the learning device 20501 can be recorded in the auxiliary memory 20104.
  • the learning device 20501 uses the data set generated by the simulator 20502 as teacher data to generate a learning model and provides it to the electronic device 20001-1.
  • the teacher data is not limited to the data set provided by the simulator 20502, and may use image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, and the like.
  • the learning model can be recorded for the electronic devices 20001-2 to 20001-N at the manufacturing stage as in the electronic device 20001-1.
  • electronic devices 20001 when it is not necessary to distinguish between electronic devices 20001-1 to 20001-N, they are referred to as electronic devices 20001.
  • the learning model generation server 20503, the learning model providing server 20504, the data providing server 20505, and the application server 20506 are connected to the network 20040, and data can be exchanged with each other.
  • Each server can be provided as a cloud server.
  • the learning model generation server 20503 has the same configuration as the cloud server 20003, and can perform learning processing by a processor such as a CPU.
  • the learning model generation server 20503 generates a learning model using the teacher data.
  • the illustrated configuration illustrates the case where the electronic device 20001 records the learning model at the time of manufacturing, the learning model may be provided by the learning model generation server 20503.
  • the learning model generation server 20503 makes the generated learning model and transmits it to the electronic device 20001 via the network 20040.
  • the electronic device 20001 receives the learning model transmitted from the learning model generation server 20503 and records it in the auxiliary memory 20104. As a result, an electronic device 20001 having the learning model is generated.
  • the learning model from the learning model generation server 20503 is newly recorded, so that the electronic device 20001 records the new learning model. Is generated. Further, in the electronic device 20001 when the learning model is already recorded at the manufacturing stage, the updated learning model is updated by updating the recorded learning model to the learning model from the learning model generation server 20503. The recorded electronic device 20001 is generated. In the electronic device 20001, inference processing can be performed using a learning model that is updated as appropriate.
  • the learning model is not limited to being directly provided from the learning model generation server 20503 to the electronic device 20001, but may be provided by the learning model providing server 20504 that aggregates and manages various learning models via the network 20040.
  • the learning model providing server 20504 is not limited to the electronic device 20001.
  • another device having the learning model may be generated.
  • the learning model may be recorded and provided on a removable memory card such as a flash memory.
  • the learning model can be read and recorded from the memory card installed in the slot.
  • the electronic device 20001 learns even when it is used in a harsh environment, when it does not have a communication function, or when it has a communication function but the amount of information that can be transmitted is small. You can get the model.
  • the electronic device 20001 can provide data such as image data, corrected data, and metadata to other devices via the network 20040.
  • the electronic device 20001 transmits data such as image data and corrected data to the learning model generation server 20503 via the network 20040.
  • the learning model generation server 20503 can generate a learning model by using data such as image data and corrected data collected from one or a plurality of electronic devices 20001 as teacher data. By using more teacher data, the accuracy of the learning process can be improved.
  • Data such as image data and corrected data are not limited to being directly provided from the electronic device 20001 to the learning model generation server 20503, but may be provided by the data providing server 20505 that aggregates and manages various types of data.
  • the data providing server 20505 may collect data not only from the electronic device 20001 but also from other devices, and may provide data not only to the learning model generation server 20503 but also to other devices.
  • the learning model generation server 20503 performs a re-learning process in which data such as image data and corrected data provided by the electronic device 20001 or the data providing server 20505 is added to the teacher data to the already generated learning model to perform learning. You may update the model. The updated learning model can be provided to electronic device 20001.
  • the learning model generation server 20503 performs the learning process or the re-learning process, the process can be performed regardless of the difference in the specifications and performance of the electronic device 20001.
  • the feedback data related to the correction process is used for the re-learning process. It may be used. For example, by transmitting the feedback data from the electronic device 20001 to the learning model generation server 20503, the learning model generation server 20503 performs a re-learning process using the feedback data from the electronic device 20001 to update the learning model. Can be done.
  • the application provided by the application server 20506 may be used when the correction operation is performed by the user.
  • the re-learning process may be performed by the electronic device 20001.
  • the learning model when the learning model is updated by performing the re-learning process using the image data and the feedback data, the learning model can be improved in the device. As a result, an electronic device 20001 having the updated learning model is generated. Further, the electronic device 20001 may transmit the updated learning model obtained by the re-learning process to the learning model providing server 20504 so that it is provided to another electronic device 20001. As a result, the updated learning model can be shared among the plurality of electronic devices 20001.
  • the electronic device 20001 may transmit the difference information of the relearned learning model (difference information regarding the learning model before the update and the learning model after the update) to the learning model generation server 20503 as the update information.
  • the learning model generation server 20503 can generate an improved learning model based on the update information from the electronic device 20001 and provide it to another electronic device 20001. By exchanging such difference information, privacy can be protected and communication cost can be reduced as compared with the case where all information is exchanged.
  • the sensor 20011 optical sensor 2011 mounted on the electronic device 20001 may perform the re-learning process.
  • the application server 20506 is a server capable of providing various applications via the network 20040.
  • the application provides a predetermined function using data such as a learning model, corrected data, and metadata.
  • the electronic device 20001 can realize a predetermined function by executing the application downloaded from the application server 20506 via the network 20040.
  • the application server 20506 can realize a predetermined function by acquiring data from the electronic device 20001 via, for example, an API (Application Programming Interface) and executing the application on the application server 20506.
  • API Application Programming Interface
  • data such as learning model, image data, and corrected data are exchanged and distributed between each device, and various services using the data are provided.
  • data such as learning model, image data, and corrected data are exchanged and distributed between each device, and various services using the data are provided.
  • a service that provides a learning model via the learning model providing server 20504, and a service that provides data such as image data and corrected data via the data providing server 20505.
  • the image data acquired from the sensor 2011 optical sensor 2011 of the electronic device 20011 may be input to the learning model provided by the learning model providing server 20504, and the corrected data obtained as the output may be provided.
  • a device such as an electronic device on which the learning model provided by the learning model providing server 20504 may be manufactured, generated, and provided.
  • storage media on which those data are recorded and devices such as electronic devices equipped with the storage media. It may be generated and provided.
  • the storage medium may be a non-volatile memory (non-temporary computer-readable medium) such as a magnetic disk, an optical disk, a photomagnetic disk, or a semiconductor memory, a SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or the like. It may be a volatile memory of.
  • a method of generating data by a processor Acquire training data used for optimizing the estimation model in machine learning from the CG model. Data generation method.
  • the camera parameters include parameters relating to the camera lens.
  • the parameters relating to the lens of the camera are parameters based on at least one of a fisheye lens, a wide-angle lens, a telephoto lens, a macro lens, and a standard lens.
  • the parameters relating to the camera lens are parameters relating to at least one of blurring, distortion, shading, flare or ghost caused by the camera lens.
  • the camera parameters include parameters relating to the camera's light receiving sensor.
  • the data generation method according to any one of (2) to (5).
  • the parameters relating to the sensor of the camera are parameters relating to at least one of white pixels, black pixels or defects having random pixel values.
  • the parameters related to the sensor of the camera are parameters related to at least one of a pixel for image plane phase difference acquisition, a polarizing pixel, an IR acquisition pixel, a UV acquisition pixel, a distance measurement pixel, and a temperature pixel.
  • the parameters relating to the sensor of the camera are parameters relating to at least one of color filter characteristics, spectral characteristics, color filter arrangement, temperature characteristics, conversion efficiency, sensitivity or readout order.
  • the data generation method according to any one of (6) to (8).
  • the compressed image is acquired based on the parameters related to data compression.
  • the data generation method according to any one of (1) to (9).
  • the data compression parameters include parameters for at least one of a compression algorithm, compression ratio, bit rate, gradation or color space conversion.
  • the shooting conditions relate to at least one of the type, position or direction of the light source.
  • the shooting conditions relate to saturation of pixel values.
  • the shooting conditions relate to exposure.
  • the data generation method according to any one of (13) to (15).
  • a data generator, a learning device, or an estimation device comprising a processor for performing the method according to any one of (1) to (22).
  • the processor processes the CG model or the artificial image to generate the processed image or the metadata of the artificial image used for learning the AI used for the image acquired by the sensor.
  • An image generation method comprising.
  • storing the image generated by the image method in a recording medium A recording medium generation method comprising.
  • the at least one parameter is a parameter relating to the sensor.
  • the sensor comprises at least a camera.
  • the image generation method described in (3) is a simple process for generating images for generating images for generating images.
  • the AI used for the image acquired by the sensor is used to correct changes in the image caused by the sensor or the camera.
  • the image generation method described in (4) is used to correct changes in the image caused by the sensor or the camera.
  • the processed image or the metadata of the artificial image is associated with the artificial image and recorded in the storage medium.
  • the processor Acquire a CG model or an artificial image generated based on the CG model, The CG model or the artificial image is processed to generate a processed image or metadata of the artificial image used for learning AI used for the image acquired by the sensor.
  • Image generator Acquire a CG model or an artificial image generated based on the CG model, The CG model or the artificial image is processed to generate a processed image or metadata of the artificial image used for learning AI used for the image acquired by the sensor.
  • the first image data is a CG model or an artificial image generated based on the CG model.
  • the second image data is data that has been processed by a processor on the CG model or an artificial image generated based on the CG model. Learning model generation method.
  • the second image data is metadata of the second image.
  • the processor Get the first image data, Acquire the second image data different from the first image data, When the first image data is input based on the first image data and the second image data, the learning model that outputs an image corresponding to the second image data is generated.
  • the first image data is a CG model or an artificial image generated based on the CG model.
  • the second image data is data obtained by processing the CG model or an artificial image generated based on the CG model by the same processor as the processor or a processor different from the processor. Learning model generator.
  • the first image data is a CG model or an artificial image generated based on the CG model.
  • the second image data is data obtained by processing the CG model or an artificial image generated based on the CG model by the same processor as the processor or a processor different from the processor.
  • a non-temporary computer-readable medium that contains programs.
  • the control device is When the input image data is input, The input image data is input to the learning model, and the input image data is input to the learning model. Acquire the processing result of the learning model to which the input image data is input, Output the acquired processing result and output
  • the learning model is a model trained by an artificially generated artificial image and a processed image processed on the artificial image. Electronics.
  • the inference method is Acquiring input image data and Acquiring the processing result of the learning model from the learning model to which the input image data is input, With
  • the learning model is Acquiring the first image data and the second image data different from the first image data, Learning based on the first image data and the second image data, Is a model generated by The first image data is an artificially generated artificial image, and is The second image data is data obtained by processing the first image. program.
  • a learning model of AI used for the image acquired by the sensor.
  • the processed image is supported.
  • Learning a learning model that outputs the image A generation method that comprises.
  • It is an AI learning model used for images acquired by sensors. It has multiple hierarchies consisting of multiple nodes and has multiple hierarchies. Each of the plurality of hierarchies has a function, and each of the plurality of nodes in each of the plurality of hierarchies is connected to one or more nodes of the other hierarchies of the plurality of hierarchies via an edge. The edge has weighting based on an artificially generated artificial image and a processed image processed on the artificial image. Learning model.
  • the learning model is It has multiple hierarchies consisting of multiple nodes and has multiple hierarchies.
  • Each of the plurality of hierarchies has a function, and each of the plurality of nodes in each of the plurality of hierarchies is connected to one or more nodes of the other hierarchies of the plurality of hierarchies via an edge. In the edge, weighting information obtained based on an artificially generated artificial image and a processed image processed on the artificial image is recorded in association with the edge.
  • Non-temporary computer readable medium is
  • a data processing method that processes data based on the results from the learning model.
  • the result of the learning model is input and To generate processing data based on the result of the learning model, Outputting the processed data and With The result from the learning model is Acquired by inputting the acquired image data into a pre-trained learning model,
  • the pre-learned learning model It is learned by an artificially generated artificial image and a processed image processed on the artificial image. Data processing method.
  • a data processing device that executes data processing based on the results from a learning model.
  • the result of the learning model is input and To generate processing data based on the result of the learning model, Outputting the processed data and Equipped with a processor to run
  • the result from the learning model is Acquired by inputting the acquired image data into a pre-trained learning model,
  • the pre-learned learning model It is learned by an artificially generated artificial image and a processed image processed on the artificial image.
  • Data processing device is
  • a program that causes a processor to execute a data processing method that processes data based on the results from a learning model.
  • the data processing method is The result of the learning model is input and To generate processing data based on the result of the learning model, Outputting the processed data and With The result from the learning model is Acquired by inputting the acquired image data into a pre-trained learning model,
  • the pre-learned learning model It is learned by an artificially generated artificial image and a processed image processed on the artificial image. program.
  • An image generation method that generates images used in AI learning. Entering an artificially generated artificial image and To generate a processed image obtained by processing the artificial image, To output the processed image and An image generation method comprising.
  • the artificial image is an image generated by computer graphics. The image generation method described in (1).
  • the artificial image has metadata and The metadata is used to annotate, The image generation method described in (1).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

[課題]コンピュータグラフィックスを用いて訓練データを取得する。 [解決手段]画像生成方法は、CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、プロセッサにより、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、を備える。

Description

画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体
 本開示は、画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体に関する。
 今日、ディープラーニングをはじめとして、機械学習による推定モデル生成等が広く研究されている。機械学習を実行する場合には、生成するモデルに多くの訓練データを入力する必要がある。また、バリデーションを実行するためにも、多くの訓練データが必要となる。画像を入力とするモデル生成に用いる訓練データの収集には、実際の風景を写真として取得したり、絵画を描いたりする必要がある。これらの訓練データを収集した後には、訓練を実行する人間が個々の訓練データに対してアノテーションを付与する必要があることが多い。
 しかしながら、データの収集及びアノテーションの付与には手間が掛かり、ヒューマンエラー等が発生する蓋然性も高い。特殊な状況におけるデータ、例えば、夜間における自動運転に対応するモデル、所定のカメラで撮影された画像を補正するモデルといったモデルを訓練する場合には、当該状況におけるデータの収集をする必要があるが、このようなデータの収集は、一般的にはコストが高くなる。さらに、自動運転における事故発生のシーン、病理の画像、手術中の画像等、そもそも遭遇するのが困難である状況の画像も訓練データとして収集するのが望ましいが、これらの状況を意図的に発生させるのは倫理的な問題を含めて様々な問題があり、データを収集可能な状態において意図的ではなくこれらの状況に遭遇することも困難である。
特開平6-348840号公報
 そこで、本開示は、コンピュータグラフィックスを用いた訓練データの取得を実現する。
 一実施形態によれば、データ生成方法は、プロセッサによりデータを生成する方法であって、CGモデルから、機械学習において推定モデルの最適化に用いられる訓練データを取得する、データ生成方法である。
 CGモデルから、撮影するカメラのパラメータに基づいた画像を取得してもよい。
 カメラのパラメータは、カメラのレンズに関するパラメータを備えてもよい。
 カメラのレンズに関するパラメータは、魚眼レンズ、広角レンズ、望遠レンズ、マクロレンズ又は標準レンズのうち、少なくとも1つに基づいたパラメータであってもよい。
 カメラのレンズに関するパラメータは、カメラのレンズに起因する、ぼけ、歪み、シェーディング、フレア又はゴーストのうち少なくとも1つに関するパラメータであってもよい。
 カメラのパラメータは、カメラの受光センサに関するパラメータを備えていてもよい。
 カメラのセンサに関するパラメータは、白色画素、黒色画素又はランダムな画素値を有する欠陥のうち少なくとも1つに関するパラメータであってもよい。
 カメラのセンサに関するパラメータは、像面位相差取得用の画素、偏光画素、IR取得画素、UV取得画素、測距用の画素又は温度画素のうち少なくとも1つに関するパラメータであってもよい。
 カメラのセンサに関するパラメータは、カラーフィルタ特性、分光特性、カラーフィルタ配列、温度特性、変換効率、感度又は読み出し順のうち少なくとも1つに関するパラメータであってもよい。
 CGモデルから取得した撮影するカメラのパラメータにより変換された画像に対して、データ圧縮に関するパラメータに基づいて圧縮された画像を取得してもよい。
 データ圧縮に関するパラメータは、圧縮アルゴリズム、圧縮率、ビットレート、階調又は色空間変換のうち少なくとも1つに関するパラメータを備えていてもよい。
 CGモデルから、マルチスペクトル画像、ハイパースペクトル画像を取得してもよい。
 CGモデルから、撮影条件に基づいた画像を取得してもよい。
 撮影条件は、光源の種類、位置又は方向のうち少なくとも1つに関するものであってもよい。
 撮影条件は、画素値の飽和に関するものであってもよい。
 撮影条件は、露出に関するものであってもよい。
 CGモデルから、推定モデルの入力画像となる通常画像と、通常画像を入力した場合の望ましい出力画像である理想画像と、を別々に取得してもよい。
 CGモデルから、上記の少なくともいずれか1つに記載の方法を用いて通常画像及び理想画像を取得してもよい。
 前記CGモデルにアノテーションを付与して前記理想画像を取得してもよい。
 前記アノテーションは、前記理想画像の領域ごと又は画素ごとに付与されてもよい。
 前記アノテーションは、前記CGモデルから前記理想画像を生成する変換と同じ変換における幾何学的変換により変換されて付与されてもよい。
 一実施形態によれば、学習方法は、上記のいずれかに記載のデータ生成方法を用いて取得した訓練データを用いて推定モデルを最適化する。
 一実施形態によれば、推定方法は、上記のいずれかに記載のデータ生成方法を用いて取得した訓練データを用いて最適化された推定モデルを用いた推定を実行する。
 また、一実施形態によれば、画像生成方法は、CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、プロセッサにより、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、を備える。
 前記CGモデル又は前記人工画像を加工する少なくとも1つのパラメータを選択することと、前記CGモデル又は前記人工画像を生成するタイミングにおいて、前記選択されたパラメータに基づいて前記CGモデル又は前記人工画像に施すことと、をさらに備えてもよい。
 前記少なくとも1つのパラメータは、前記センサに関するパラメータであってもよい。
 前記センサは、少なくともカメラを備えてもよい。
 前記センサで取得した画像に対して使用される前記AIは、前記センサ又は前記カメラに起因した画像の変化を補正することに用いられてもよい。
 前記加工画像又は前記人工画像のメタデータを記録媒体に記録すること、をさらに備えてもよい。
 前記加工画像又は前記人工画像のメタデータを前記人工画像と関連付けて前記記憶媒体に記録してもよい。
 一実施形態によれば、画像生成装置は、プロセッサを備え、前記プロセッサは、CGモデル又は前記CGモデルに基づいて生成された人工画像を取得し、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成する。
 一実施形態によれば、非一時的コンピュータ可読媒体は、プロセッサに実行させると、CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、を備える画像生成方法を実行するプログラムを格納する。
 一実施形態によれば、学習モデル生成方法は、センサで取得した画像に対して用いられるAIの学習モデル生成方法であって、第1画像データを取得することと、前記第1画像データと異なる第2画像データを取得することと、前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、を備え、前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、前記第2画像データは、プロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである。
 前記第2画像データは、前記第2画像のメタデータであってもよい。
 一実施形態によれば、学習モデル生成装置は、プロセッサを備え、センサで取得した画像に対して用いられるAIの学習モデルを生成する学習モデル生成装置であって、前記プロセッサは、第1画像データを取得し、前記第1画像データと異なる第2画像データを取得し、前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成し、前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである。
 一実施形態によれば、非一時的コンピュータ可読媒体は、プロセッサに実行させると、第1画像データを取得することと、前記第1画像データと異なる第2画像データを取得することと、前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、を備える学習モデル生成方法を実行するプログラムであって、前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、プログラムを格納する。
 一実施形態によれば、推論方法は、センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法であって、プロセッサにより、入力画像データを取得することと、前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、を備え、前記学習モデルは、第1画像データと、前記第1画像データと異なる第2画像データを取得することと、前記第1画像データと、前記第2画像データと、に基づいて、学習することと、により生成されたモデルであり、前記第1画像データは、人工的に生成された人工画像であり、前記第2画像データは、前記第1画像に対して処理が施されたデータである。
 一実施形態によれば、電子機器は、センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する電子機器であって、制御装置を有し、前記制御装置は、入力画像データが入力されると、前記入力画像データを前記学習モデルに入力し、前記入力画像データが入力された学習モデルの処理結果を取得し、取得した前記処理結果を出力し、前記学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像とによって学習されたモデルである。
 一実施形態によれば、プログラムは、センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法をプロセッサに実行させるプログラムであって、前記推論方法は、入力画像データを取得することと、前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、を備え、前記学習モデルは、第1画像データと、前記第1画像データと異なる第2画像データを取得することと、前記第1画像データと、前記第2画像データと、に基づいて、学習することと、により生成されたモデルであり、前記第1画像データは、人工的に生成された人工画像であり、前記第2画像データは、前記第1画像に対して処理が施されたデータである。
 一実施形態によれば、生成方法は、センサで取得した画像に対して使用されるAIの学習モデルを生成する生成方法であって、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいて、センサで取得される前記人工画像に対応する画像を入力すると、前記加工画像に対応した画像を出力する学習モデルを学習すること、を備える。
 電子機器の生成方法は、上記により生成された前記学習モデルを非一時的コンピュータ可読媒体に記録すること、を備えてもよい。
 一実施形態によれば、学習モデルは、センサで取得した画像に対して使用されるAIの学習モデルであって、複数のノードで構成される複数の階層を有し、前記複数の階層のそれぞれは、関数を有するとともに、前記複数の階層のそれぞれにおける前記複数のノードのそれぞれは、前記複数の階層の他の階層の1又は複数のノードとエッジを介して接続され、前記エッジは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいた重み付けを有する。
 一実施形態によれば、非一時的コンピュータ可読媒体は、センサで取得した画像に対して使用されるAIの学習モデルが記録された非一時的コンピュータ可読媒体であって、前記学習モデルは、複数のノードで構成される複数の階層を有し、前記複数の階層のそれぞれは、関数を有するとともに、前記複数の階層のそれぞれにおける前記複数のノードのそれぞれは、前記複数の階層の他の階層の1又は複数のノードとエッジを介して接続され、前記エッジは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいて求められた重み付け情報が、前記エッジに関連付けられて記録されている。
 一実施形態によれば、データ処理方法は、学習モデルからの結果に基づいて、データ処理されるデータ処理方法であって、学習モデルの結果が入力されることと、前記学習モデルの結果に基づいて、処理データを生成することと、前記処理データを出力することと、を備え、前記学習モデルからの結果は、取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、前記あらかじめ学習された学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている。
 一実施形態によれば、データ処理装置は、学習モデルからの結果に基づいて、データ処理を実行するデータ処理装置であって、学習モデルの結果が入力されることと、前記学習モデルの結果に基づいて、処理データを生成することと、前記処理データを出力することと、を実行するプロセッサを備え、前記学習モデルからの結果は、取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、前記あらかじめ学習された学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている。
 一実施形態によれば、プログラムは、プロセッサに、学習モデルからの結果に基づいて、データ処理されるデータ処理方法を実行させるプログラムであって、前記データ処理方法は、学習モデルの結果が入力されることと、前記学習モデルの結果に基づいて、処理データを生成することと、前記処理データを出力することと、を備え、前記学習モデルからの結果は、取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、前記あらかじめ学習された学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている。
 一実施形態によれば、画像生成方法は、AIの学習において用いられる画像を生成する画像生成方法であって、人工的に生成された人工画像を入力することと、前記人工画像に対して加工処理を施した加工画像を生成することと、前記加工画像を出力することと、を備える。
一実施形態に係るデータ生成システムの一例を示す図。 一実施形態に係るシミュレータの一例を示す図。 一実施形態に係るシミュレータの出力例を示す図。 一実施形態に係るシミュレータの一例を示す図。 一実施形態に係るCGジェネレータ及びシミュレータの出力を示す図。 一実施形態に係るCGジェネレータ及びシミュレータの出力を示す図。 一実施形態に係るシミュレータの出力例を示す図。 一実施形態に係る機械学習システムの一例を示す図。 AI処理を行う装置を含むシステムの構成例を示す図である。 電子機器の構成例を示すブロック図である。 エッジサーバ又はクラウドサーバの構成例を示すブロック図である。 光センサの構成例を示すブロック図である。 処理部の構成例を示すブロック図である。 AIを利用した処理の流れを説明するフローチャートである。 補正処理の流れを説明するフローチャートである。 AIを利用した処理の流れを説明するフローチャートである。 学習処理の流れを説明するフローチャートである。 複数の装置間でのデータの流れを示す図である。
 以下、図面を用いて本開示における実施形態について説明する。
 (第1実施形態)
 図1は、第1実施形態に係るデータ生成システムの一例を概略的に示す図である。データ生成システム1は、CGジェネレータ2と、シミュレータ3と、を備える。データ生成システム1は、機械学習における推定モデルの最適化に用いられる訓練データを生成する。この他、図示しない入出力インタフェース等が備えられていてもよい。
 CGジェネレータ2は、コンピュータグラフィックス(Computer Graphics、以下CGと記載する。)を生成する。CGジェネレータ2は、機械学習を実行する際に必要となる訓練データを含むようにCGのモデルを生成する。ここで、CGモデルとは、仮想空間内に形成される3次元物体、周辺環境等のモデルを指す。また、以下において単にCG(またはCGモデル)と記載する場合、このCGモデルを示す場合と、CGモデルからレイトレーシング等を用いて作成されたCG画像である場合があるが、これらは文脈により適切に読み分けることができるものである。
 シミュレータ3は、CGジェネレータ2から出力されたCGモデルに対して、学習に用いられる様々な状況に合わせてシミュレーションをして種々の状況を再現した画像を出力する。
 データ生成システム1は、CGジェネレータ2が生成したCGモデルをシミュレータ3が加工することにより、種々の状況に応じた画像を取得することが可能となる。CGジェネレータ2が精密なCGモデルを出力することにより、実際に撮影された画像と比較して、元の画像に対するノイズ等が小さい状態で訓練データを取得することが可能となり、機械学習により訓練されたモデルの精度を向上するとともに、データ収集のコストを削減することが可能となる。
 以下、CGジェネレータ2及びシミュレータ3における処理について説明する。
 CGジェネレータ2は、上記に記載したように、ノイズ等が付加されていない、現実に近いCGモデルを生成する。このCGジェネレータ2は、オペレータにより操作され、オブジェクト等の作成を実行する。オペレータによりオブジェクトが作成され、オブジェクトの質感等が設定された後、CGジェネレータ2は、レイトレーシング等の物理ベースのレンダリングを用いることにより、オブジェクト、光源に基づいた、状況に応じた精緻なCGモデルを生成する。
 生成の対象となるデータは、種々の状況に関するが、一例として、データ生成システム1により自動車の自動運転の用いられる訓練データを学習する場合について考える。もちろん、他の環境、例えば、手術室の中の状況、水中、海中、航空写真、天体、宇宙、室内、微少物体等に基づいたCGモデルを下記と同様に生成することが可能である。これらの状況は、機械学習の訓練対象となるモデルに基づいて適切に設定することができる。
 CGジェネレータ2は、種々のオブジェクト、例えば、他の自動車、自転車、バイク、人間、街路樹、ガードレール、水たまり、凍結面、その他の障害物等のモデルを道路、歩道等のモデル上に生成する。この生成は、上述したようにオペレータにより実現されてもよいし、オペレータがオブジェクトを指定すると自動的にCGジェネレータ2が生成するものであってもよい。
 CGジェネレータ2は、この生成されたオブジェクト、道路等を自動車の中から視覚的に感知したCGモデルを生成する。CGモデルの生成は、適切なレンダリングを用いて実行される。CGジェネレータ2は、例えば、オブジェクトの表面及び内部等の状態にデータとして取得したい状況に対応する光線を当てた状態をシミュレートしてレンダリングし、取得したい状況に合わせた精緻なCGを生成する。
 オブジェクトの表面及び内部等の状態とは、例えば、自動車であれば金属的な質感を持った表面であり、人間であれば柔らかい皮膚の質感を持った表面であり、街路樹であれば植物の特性を有する表面、建物であればその建物に用いられている物質に対応する表面、その他の障害物の表面又は表層面における物質に対応する表面における、光の反射の状態を示す情報のことである。
 光線とは、例えば、太陽光であったり、トンネルの中であれば、トンネル照明であったり、夜間の状況であれば、街頭、ビルの灯りであったりする。また、光線は、方向を指定することも可能である。CGジェネレータ2は、例えば、光源の位置を指定することにより、各オブジェクトの各領域に対して照射される光線の法線を演算する。
 CGジェネレータ2は、このようなオブジェクトの表面の情報と、光線の情報に基づいて、オブジェクトに反射して人間の目又はカメラにより感知される視覚情報を適切にレンダリングして、精緻なCGモデルを生成する。生成されるCGモデルは、3次元のCGモデルであってもよい。3次元のCGモデルを2次元で表す場合、レイヤが設定され、適切なレイヤごとに3次元のCGモデルに基づいてオブジェクト及び放線情報が配置される画像であってもよい。
 シミュレータ3は、例えば、カメラのパラメータを設定し、レンズの影響等に基づいたノイズ、歪み等をCGジェネレータ2の出力したモデルに対して適用し、取得したいデバイスの情報に基づいた画像データを演算して生成する。例えば、レンズの枚数、レンズの性能に基づいて、カメラのレンズ光学系に関するパラメータを用いて取得できる画像をCGモデルから取得する。また、カメラのセンサ(例えば、受光センサ)の影響に基づいた劣化をシミュレーションにより取得してもよい。
 図2は、シミュレータ3の一例を示す図である。シミュレータ3は、入出力I/F 300と、記憶部302と、通常モデル適用部304と、理想モデル適用部306と、を備える。
 入出力I/F 300は、シミュレータ3へのデータの入力、及び、シミュレータ3からのデータの出力を行うためのインタフェースである。入出力I/F 300として示されているが、もちろん、入力I/Fと出力I/Fとを別々に備えていてもよい。なお、CGジェネレータ2自体がシミュレータ3に備えられるものであってもよい。この場合、入力のステップを省略することが可能である。
 記憶部302は、シミュレータ3において必要となるデータを一時的又は非一時的に格納する。記憶部302は、例えば、メモリを備える。また、シミュレータ3の機能のうち少なくとも1つがソフトウェアにより実行される場合には、記憶部302は、シミュレータ3の各機能のうち少なくとも1つを実行するためのプログラムを格納してもよい。例えば、記憶部302は、入出力I/F 300を介して入力されたデータを格納してもよいし、モデルを適用した後の出力データを格納してもよい。また、シミュレータ3における演算において、適宜途中経過等を格納してもよい。
 シミュレータ3は、例えば、入出力I/F 300を介して取得されたCGジェネレータ2の生成したCGモデルから、自動車の運転者の目線或いは自動運転に用いられるカメラの位置、姿勢に基づいた視覚的な感知情報を生成する。
 通常モデル適用部304は、生成されたCGモデル、すなわち、現実世界に近いモデルに対して、ターゲットとなるカメラに対応するモデルを用いることにより劣化画像を生成する。モデルを生成するターゲットとなるカメラが決まっている場合には、当該カメラのレンズ系に対応するモデルと、当該カメラに搭載されているチップ等のセンサに対応するモデルと、を備えていてもよい。さらに、レンズ系と、センサ系における撮像面までの距離と、に基づいた劣化因子を考慮するモデルであってもよい。このモデルの情報も記憶部302に格納されていてもよい。
 複数のカメラに対応するパラメータが設定されていてもよく、この場合、ユーザは、入出力I/Fを介していずれのカメラをターゲットとするか選択できる構成とし、通常モデル適用部304は、選択されたモデルを用いて劣化画像を生成してもよい。
 通常モデル適用部304は、カメラの位置、姿勢を設定した後、例えば、レンズにおける収差、ぼけ、迷光等のレンズ系における劣化をCGモデルに加え、センサにおけるノイズ等のデータをさらに付加してもよい。このように、モデルを用いることにより、ターゲットとなるデバイスに対応した劣化画像を生成する。ターゲットとなるデバイスのレンズ系の情報、センサの情報等、劣化に必要となる情報は、例えば、仕様書等から取得してもよいし、実際にデバイスを分解してもよいし、何らかのパターンを当該デバイスにより撮影し、撮影された画像から劣化要素を抽出してモデル化してもよい。
 理想モデル適用部306は、CGモデルを理想型となるような画像へと変換する。通常モデル適用部304と同様に、理想モデル適用部306は、理想レンズモデルと理想センサモデルとを備えていてもよい。理想モデル適用部306は、例えば、機械学習の教師データ(ラベルデータや結果を示すデータ)に適合するように、CGモデルから理想的な画像データを取得する。
 通常モデル及び理想モデルの例は、後述にてまとめて具体的な例を挙げて説明する。
 図3は、シミュレータ3によるCGモデルから画像データへの変換例を示す図である。この図3は、画像がどのように変換されるかとともに、フローチャートと同様のステップが示されている。
 左上に記載されているCGモデルが、シミュレータ3に入力される。このCGモデルを元に、通常画像(劣化画像)と理想画像とが生成される。ここで、本開示における通常画像とは、推定モデルに入力する画像と同様の条件で取得される画像である。推定モデルは、例えば、通常画像を入力すると、理想画像が推定されるように機械学習における最適化が実行される。すなわち、理想画像は、通常画像に対する望ましい推定画像に対応する。
 通常モデル適用部304は、入力されたCGデータを、訓練の対象となる推定モデルに入力するデータと同じ劣化等を有する画像データへと変換する(S100)。上述したように、通常モデル適用部304は、ターゲットのカメラ、センサ等のパラメータに基づいて、CGモデル内に存在するオブジェクト等が、カメラの位置、姿勢等の情報と、レンズ系及び/又はセンサ系のパラメータとが設定されているシミュレータにより、ターゲットのカメラ等によりどのような撮像結果が取得されるかを出力する。
 一方で、理想モデル適用部306は、入力されたCGモデルを、訓練の対象となる推定モデル生成に用いる教師データとなる画像へと変換する(S102)。S100とS102の処理は、順番を問わずにシリアルに実行されてもよいし、パラレルに実行されてもよい。
 そして、シミュレータ3は、S100及びS102で取得された画像を内部又は外部のメモリへと出力する(S104)。外部のメモリへと出力する場合には、入出力I/F 300を介して外部へと送信する。また、メモリへと出力するのでは無く、機械学習装置に出力してもよい。この場合、例えば、破線で囲まれるように、劣化画像が入力画像、理想画像が出力画像となるような訓練対象モデルに直接的にシミュレータ3から出力を実行してもよい。破線部の処理は、訓練装置により実行されてもよい。
 なお、本開示の内容は、上記のように、CGモデルから劣化画像及び理想画像を生成することに限定されるものではない。例えば、CGモデルから理想画像を生成した(S102)のちに、生成された理想画像から劣化画像を生成する(S100’)、という処理であってもよい。以下の実施形態においても同様である。また、これらの生成される理想画像及び劣化画像には、併せてメタデータが生成されるものであってもよい。メタデータは、例えば、画像に写っているものを示すアノテーションデータであってもよいし、画像が撮影された状況、環境等を示すデータであってもよい。このように、画像の情報、画像に写っている対象の情報、又は、画像が撮影された環境に関する情報のうち、少なくとも1つを含む情報であるメタデータを併せて取得することもできる。
 また、ここで生成された訓練データ(理想画像や劣化画像)、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を製造生成して提供してもよい。当該記憶媒体は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの不揮発性メモリ(非一時的コンピュータ可読媒体)でもよいし、SRAM(Static Random Access Memory)や、DRAM(Dynamic Random Access Memory)などの揮発性メモリでもよい。
 シミュレータ3により出力されたこれらのデータを用いて訓練対象モデルの機械学習を実行することにより、設定したカメラにより取得された画像を入力すると、理想的な画像を出力する推定モデルを生成することが可能となる。
 以上のように、本実施形態によれば、機械学習の訓練データを、CGモデルを生成する手法と同様の手法により生成することが可能となる。CGモデルを利用することにより、通常では収集が困難である状況の画像を多数生成することが可能となる。また、CGモデル内においてオブジェクトの位置を変更し、又は、オブジェクトを変更し、さらに、カメラに関するパラメータ、光源のパラメータ等を変更してレンダリングし直すことにより、種々の状況を再現する画像データ(訓練データ)を生成することが可能である。
 例えば、実際に撮影されたデータから、推定モデルの出力データとなる教師データを生成することは、たとえ撮影したデバイスの仕様が既知であったとしても、そもそも撮影データが種々の劣化要因に起因しているため、困難なことである。本実施形態によれば、生成したCGモデルから推定モデルの入力となる劣化画像と、推定モデルの出力となる理想画像とを取得することが可能となり、適切な訓練データのセットを取得することが可能となる。
 さらに、学習済みモデルを生成したいデバイスに適合したパラメータを任意に設定することが可能であるので、種々のデバイスに対する推定モデルについての訓練データを同じデータ生成システム1において生成することが可能となる。例えば、元のCGモデルが同じものであっても、通常モデル適用部304及び理想モデル適用部306における劣化モデルを変更することにより、様々なデバイスに対応する訓練データを取得することが可能となる。この結果、1つのCGモデルを生成することより、様々なデバイスに対する訓練データを生成することが可能となり、データ収集のコストを削減することが可能となる。例えば、カメラ、センサのパラメータが異なる複数の開発中のデバイスに対して、同じCGモデルから訓練データを生成することができる。
 (第2実施形態)
 本実施形態においては、上述の第1実施形態と同様に取得されるCGモデルにアノテーション情報を付与する。アノテーション情報は、機械学習の訓練において用いられる情報又はメタ情報であり、例えば、オブジェクトの識別、画像中におけるラベリング等を示す情報である。
 図4は、本実施形態に係るシミュレータ3の構成の一例を示す図である。上述のシミュレータ3の構成に加え、シミュレータ3はさらに、アノテーション付与部308を備える。
 アノテーション付与部308は、入力されたCGモデルに対してアノテーションを付与する。このアノテーションは、CGデータ内の領域ごとに付与されるものであってもよい。CGデータがレイヤごとに作成されている場合、レイヤごとにアノテーションが付与されていてもよい。
 シミュレータ3は、アノテーション付与部308により、CGモデルにアノテーションを付与する。そして、理想モデル適用部306が、このアノテーションが付与されたCGモデルを変換する。
 CGジェネレータ2が、CGモデルとともに、アノテーションデータをも作成してもよい。このアノテーションデータは、例えば、CGモデルのオブジェクトが描かれている領域ごとに、当該領域が何を示しているかを示すデータであってもよい。
 図5は、作成されたCGモデルの一例を示す図である。この図5の場合、CGモデルは、例えば、3次元のモデルデータとして取得される。CGモデルには、オブジェクトO1とオブジェクトO2が配置されている。
 CGジェネレータ2は、例えば、1枚の画像として、オブジェクトO1とオブジェクトO2とを含むデータを生成する。これとともに、CGジェネレータ2は、オブジェクトのモデルの生成するタイミングにおいて付与されていたアノテーションデータを画像中においてそれぞれが存在する領域に付与する。
 この付与は、例えば、画素ごとに付与されてもよい。画素ごとに付与される場合には、例えば、RGBチャネルの他、オブジェクトを表すチャネルを準備し、4次元のデータとして付与されてもよい。このように、シミュレータ3は、画像ファイルにアノテーション情報を埋め込むことができる。また、オブジェクトの認識のみを実現する推定モデルを生成する場合には、画像データが削除され、画素又は領域に対するアノテーション情報のみが存在するラベルデータを生成してもよい。
 別の例として、チャネルを増やすのでは無く、CGモデルとは別のアノテーション用のファイルを生成し、このアノテーション用のファイルに画素又は領域に対してそれぞれのオブジェクトのアノテーション情報を保持してもよい。そして、このアノテーション情報を機械学習の入力としてもよい。
 別の例として、CGジェネレータ2は、複数のレイヤを有する1枚の画像としてオブジェクトO1とオブジェクトO2とを含むデータを生成してもよい。これとともに、CGジェネレータ2は、オブジェクトのモデルを生成するタイミングにおいて付与されていたアノテーションデータをレイヤごとに付与する。
 例えば、オブジェクトO1 が備えられるレイヤには、オブジェクトO1 に対するアノテーションが付与され、オブジェクトO2が備えられるレイヤには、オブジェクトO2 に対するアノテーションが付与される。このアノテーションも、上記と同様に、レイヤの画素又は領域ごとに与えられてもよい。
 別の例として、2次元の画像データへとレイヤを重ねるタイミングにおいて、アノテーションが画像データに付与されてもよい。アノテーションの付与方法は、上記と同様の方法を用いてもよい。
 図6は、作成されたCGモデルをあるカメラの位置、姿勢から取得した一例を示す図である。この図6の場合、CGモデルは、上記と同様に3次元のモデルデータとして取得される。このCGモデルには、あるカメラの位置、姿勢から見ると、オブジェクトO1とオブジェクトO1の後ろに隠れているオブジェクトO2とが備えられる。
 CGジェネレータ2によりCGモデルを生成することにより、図6に示すようなカメラの位置、姿勢における隠れたオブジェクトに対してもアノテーションを付与することが可能となる。
 なお、図6においては、オブジェクトO2のすべてがオブジェクトO1に隠れている場合を示したが、これには限られず、例えば、オブジェクトO2の一部がオブジェクトO1に隠れている場合についても同様の処理を行うことができる。この場合、オブジェクトO1とオブジェクトO2が重なる領域は、オブジェクトO1のみのアノテーションを付与してもよいし、オブジェクトO1とオブジェクトO2の双方のアノテーションを付与してもよい。
 この付与は、機械学習において学習したいモデルによって適切に使い分けることができる。例えば、単純に画像処理で写っているものを推定したい場合には、重複領域にはより近いオブジェクトのアノテーションを付与すればよい。一方で、後ろに隠れているものの領域等をも推定したい場合には、重複した領域においては、重複したアノテーションを付与すればよい。
 図7は、本実施形態に係るシミュレータ3によるCGモデルの変換例を示す図である。この図7は、図3と同様に、画像がどのように変換されるかとともに、フローチャートと同様のステップが示されている。
 アノテーション付与以外は、図3と同様であるので詳細は省略する。例えば、CGモデルにおいて画像右側のトラックに対して「トラック」というアノテーション情報がある場合、本実施形態においては、理想画像のトラックが占める領域に「トラック」というアノテーション情報を付与する。
 シミュレータ3は、CGジェネレータ2から出力されたCGモデル及びアノテーションデータに基づいて、アノテーションデータが付与された2次元の画像データを取得する(S106)。例えば、CGモデルに基づいて2次元画像を取得するタイミングにおいて、領域ごと又は画素ごとにCGジェネレータ2が出力したアノテーションデータを埋め込み、アノテーション情報が付与された画像データを取得する。この取得方法は、例えば、上述したように、多チャンネルにしたり、他のファイルとして画素単位で情報を付与したりすることにより実装されてもよい。
 そして、このアノテーション情報が付与された画像を、理想モデルを用いて変換する(S102)。この処理において、アノテーション情報は、例えば、理想モデルにおける幾何学的な変形をしてオブジェクトの変換と同様に実行される。このようにアノテーション情報に対して幾何学的な変換を実行することにより、理想画像における各オブジェクトが存在する領域に対して、アノテーション情報が付与される。
 例えば、劣化画像がぼけ画像である場合には、ぼけ画像に対する理想画像の領域においてアノテーション情報が付与される。劣化画像がノイズ付加画像である場合には、このノイズ付加がされた画像に対する理想画像の領域においてアノテーション情報が付与される。このようにアノテーション情報が付与されることにより、シミュレータ3は、機械学習の訓練データとして、劣化画像とアノテーション情報が付与された理想画像のセットを出力する。理想画像がぼけを有する場合には、アノテーションの境界をぼかしてもよい。アノテーションをぼかすとは、例えば、境界におけるアノテーション情報に確率の情報を付加し、機械学習においてこの確率情報をも訓練データとして用いてもよいことをいう。
 なお、図6のように見えない箇所にアノテーション情報を付与することにより、例えば、交叉点においてブロック塀の裏に隠れている人間の情報を理想画像に付与したり、障害物により見えていない病理領域を理想画像に付与したりすることができる。このように付与することにより、自動運転における交差点の飛び出しを推定したり、内視鏡画像における病理領域を推定したりする、見えていない情報をも推定するモデルの訓練を実現することが可能となる。このような出力の用途は、一例として、隠れマルコフモデルを含む機械学習に用いることもできるが、隠れマルコフモデルに限られず種々のモデルに適切に応用することができる。
 以上のように、本実施形態によれば、前述の第1実施形態のように劣化画像と理想画像を訓練データとする場合に、理想画像についてアノテーション情報を付与することが可能となる。このことより、機械学習による訓練データの生成をより効率よく実現することができる。
 図8は、本実施形態に係るデータ生成システム1を用いた機械学習システム4を示す図である。機械学習システム4は、データ生成システム1と、機械学習装置5と、を備える。
 前述の全ての形態においては、機械学習の訓練データの生成方法、生成装置、生成システムについて説明したが、これらにより生成された訓練データは、推定モデルの生成に用いることができる。このため、本開示は、このように生成された訓練データを用いた機械学習方法、機械学習装置5、又は、この機械学習システム4により取得された推定モデル、推定方法、推定装置にも及ぶものである。
 また、機械学習装置5が、シミュレータ3を備える構成であってもよい。この場合、CGモデルを入力すると、訓練データを生成して機械学習を実行する構成としてもよい。さらには、CGジェネレータ2をも機械学習装置5が備えていてもよい。この場合、CGジェネレータ2がCGモデルを生成し、そのまま機械学習を実現することが可能となる。
 以下、理想画像と通常画像(劣化画像)の限定的ではない例をいくつかの具体的に例示する。すなわち、本実施形態のデータ生成方法は、以下の実装に限定されるものではなく、上記の構成を備える方法として、より広く定義されるものである。また、これらの例は、適切に組み合わせて実装されてもよい。
 (第1例)
 通常モデル及び/又は理想モデルは、例えば、対象となるデバイスに備えられるレンズに起因するぼけ、歪み、シェーディング、フレア、ゴースト等を適切に付加するモデルであってもよい。これらのパラメータは、複数のレンズにおけるレンズの種類、開口数、焦点距離等により表されるものであってもよい。このような画像の変換は、例えば、点像分布関数(Point Spread Function:PSF)、各種収差を表す係数、パワー等に起因するため、シミュレータ3においてこれらのパラメータを調整することにより、CGデータから劣化画像を取得することが可能となる。また、この他、レンズの透過率等の情報を用いてもよい。この透過率は、波長ごとに定義されるものであってもよい。
 また、別の例として、魚眼レンズ、広角レンズ、望遠レンズ、マクロレンズ、標準レンズ等、レンズの種類を設定できるものであってもよい。例えば、通常モデル適用部304は魚眼レンズモデルを用い、理想モデル適用部は標準レンズモデルを用いることにより、魚眼レンズにより撮影された画像から標準レンズにより撮影された画像を推定するモデルの訓練データを生成してもよい。
 これらのパラメータは、例えば、レンズのスペックから光学シミュレーション又は実験をすることにより取得することができる。また、このオブジェクトの形状の変化は、アノテーションの形状にも適用することができる。例えば、通常モデル適用部304及び理想モデル適用部306の双方において魚眼レンズモデルを使用してアノテーション情報を魚眼レンズに併せて幾何学的に変形し、魚眼レンズで撮影された画像における物体の判別をするモデルの訓練データを生成してもよい。
 また、別の応用例として、上記のようなレンズに起因するモデルを利用することにより、オートフォーカスの追従を実現するように、所望のオブジェクトにピントを合わせるような推定モデルの訓練データを生成してもよい。
 さらに、カメラの設定として、偏光フィルタ、IRフィルタ、NDフィルタ等を用いた変換を行ってもよい。
 (第2例)
 通常モデル及び理想モデルは、カメラの位置、姿勢に基づいた変換をしてもよい。複数のカメラが備えられる場合には、複数カメラの相対位置に基づいた変換をしてもよい。このような変換をするモデルは、シミュレータ3において、カメラの位置、姿勢の設定により定義することが可能である。
 (第3例)
 通常モデル及び/又は理想モデルは、センサノイズを付加する変換をしてもよい。センサノイズは、例えば、光学ショットノイズ、暗電流ショットノイズ、ランダムなショットノイズ、パターンノイズ、画素値の加算塔により実装される。このようなノイズは、センサの仕様から取得することが可能である。このような設定をすることにより、各被写体(オブジェクト)とカメラの相対位置、姿勢を設定したり、画像における被写体の位置を設定したり、複数カメラ同士の相対位置、姿勢を設定したりした画像データを取得することができる。
 (第4例)
 通常モデル及び/又は理想モデルは、上記のようなデバイスの仕様ではなく、圧縮された画像(データ圧縮された画像)にも応用することができる。例えば、圧縮アルゴリズム、圧縮率の変更、可変ビットレート、階調間引き等をした画像を生成し、これらを劣化モデルとして用いてもよい。これらの圧縮は、例えば、CGモデルから、撮影するカメラのパラメータにより変換された後に適用されてもよい。すなわち、通常モデル適用部304は、撮影するカメラのパラメータにより変換して取得されたデータを、圧縮することにより画像データを取得する。
 また、動画であれば、フレームを間引いた画像を生成してもよい。例えば、通常モデルは、理想モデルよりもFPS(Flame per Second)の小さい画像セットを取得してもよい。動画においては、圧縮のコーデックによる劣化を与えてもよい。例えば、通常モデル適用部304においてH264による動画を生成し、理想モデル適用部306において生データを用いた動画を生成してもよい。
 さらに、通常モデル適用部304においてYUV画像を取得し、理想モデル適用部306においてRGB画像を取得して、YUVからRGBへの変換を実行する色空間の変換モデルの訓練データを生成してもよい。
 (第5例)
 通常モデルは、センサにおける撮像画素の欠陥を考慮した劣化をするモデルであってもよい。画素の欠陥は、白色、黒色、又は、ランダムな値への欠陥に加え、像面位相差取得用の画素、偏光画素、IR取得画素、UV取得画素、測距用の画素、温度画素等の画像に使用されない埋め込まれた画素のうち少なくとも1つであってもよい。通常モデルは、このような画素欠陥をモデル化したものであってもよい。
 (第6例)
 通常モデルは、その他のセンサの特性を考慮したモデルであってもよい。例えば、通常モデルは、センサのカラーフィルタ特性、分光特性、カラーフィルタ配列、温度特性、変換効率、感度(HDR合成、ゲイン特性)、読み出し順(ローリングシャッタ歪み)等を考慮した劣化画像を取得できるモデルであってもよい。
 また、通常モデル及び/又は理想モデルは、マルチスペクトル画像、ハイパースペクトル画像に対応したカメラ等を考慮した画像を取得できるモデルであってもよい。これは、光源の情報と、カメラの情報(レンズとセンサの組み合わせのパラメータ)とを適切に選択することにより実現できる。
 (第7例)
 通常モデル及び/又は理想モデルは、撮影条件による変換を与えるものであってもよい。撮影条件とは、例えば、照明、飽和、露出等の条件である。
 照明条件は、例えば、光源の種類等を示すものである。例えば、上述したように、太陽光であるとか、トンネル照明であるとか、街灯であるとかを設定することにより、レンダリングにおける設定をCGジェネレータ2側で変更しておいてもよい。また、シミュレータ3が、CGジェネレータ2で取得されている法線の情報等に基づいて種々の光源に対応する画像を取得してもよい。また、光源の種類だけでは無く、光源の位置、向いている方向を光源の種類とともに設定してもよい。
 飽和は、例えば、白飛び等であり、周囲の画素からの映り込みによる画素値の色の最大値を超える劣化を示すものである。
 露出は、シャッタースピード、絞り等に基づく条件により撮影されるものであり、露出アンダー、露出オーバー等の設定である。なお、上述の画素値の飽和についても、この露出の条件でカバーしてもよい。
 この他、レンズのピント等に関する情報を設定するものであってもよい。
 (第8例)
 もちろん、単純な幾何学的変換を実行してもよい。例えば、アフィン変換、領域抽出等を実現するモデルの訓練データを取得してもよい。
 例えば、通常モデル適用部304がアフィン変換した画像に変換し、理想モデル適用部306は、アフィン変換されていない画像を取得してもよい。
 別の例として、通常モデル適用部304に任意の画像全体の変換を実行し、理想モデル適用部306において文字領域を抽出するモデルを実現してもよい。この訓練データを用いることにより、画像から文字領域を抽出するモデルを訓練することもできる。
 以下、上記の例により生成されたデータにより訓練される推定モデルの非限定的な具体例を示す。
 (第9例)
 データ生成システム1は、デモザイクを実行する推定モデル訓練用のデータを生成することができる。通常モデル適用部304は、CGデータから画素が間引きされた画像を生成する。この生成は、例えば、色ごとにカラーフィルタパターンによる間引きを行うことにより実装される。これに対して理想画像として間引きしていない画像を生成する。このように生成されたデータを用いることにより、多色センサの解像の改善を実現する推定モデルを生成することが可能となる。
 また、例えば、ノイズを付加した後にローパスフィルタを施した画像を劣化画像とし、理想画像へと変換するような高解像度化をする推定モデルの訓練データとしてもよい。
 この他、データ生成システム1は、リニアマトリクス、ガンマ補正等の色再現をより精巧に実現する推定モデルの訓練データを生成してもよい。
 (第10例)
 データ生成システム1は、画素の欠陥を補正する推定モデル訓練用のデータを生成することができる。通常モデル適用部304は、欠陥画素のある画像を生成する。この生成は、例えば、欠陥画素を任意の値に変えることにより実装される。これに対して理想画像として欠陥画素のない画像を生成する。このように生成されたデータを用いることにより、画像出力に使用されない画素部分を補間した推定を実現する推定モデルを生成することが可能となる。
 (第11例)
 データ生成システム1は、偏光センサを用いて取得された画像を補正する推定モデル訓練用のデータを生成することができる。通常モデル適用部304は、偏光画像を生成する。この画像は、CGジェネレータ2によりレイトレーシングを行う際に偏光状態を取得することにより、生成されてもよい。そして、理想モデル適用部306は、偏光していない画像を生成する。これらの画像を訓練データとして用いることにより、偏光による劣化を抑制した画像を推定するモデルを生成することが可能となる。
 別の例として、通常モデル適用部304において、P偏光、S偏光の画像をそれぞれ取得してもよい。この場合、P偏光画像、S偏光画像の2つの画像から、理想的な画像を出力する推定モデルの訓練データを生成することができる。さらにこの場合、2つの偏光画像を取得する複数のカメラの位置、姿勢をそれぞれ設定してもよい。
 (第12例)
 データ生成システム1は、マルチカメラのフュージョンを実現する推定モデルの訓練データを生成することができる。通常モデル適用部304において、CGモデル内に様々な位置、姿勢において設置されたカメラによる撮影画像を取得し、理想モデル適用部306において取得したい位置、姿勢に設置されたカメラによる撮影画像を取得することによりこの推定モデルの訓練データを取得することができる。それぞれのカメラは、上述した種々のパラメータ等をさらに別途設定することもできる。この訓練データを用いることにより、種々の状況に応じたマルチカメラにより撮影された画像からフュージョンした画像を取得する推定モデルの訓練データを生成することができる。
 (第13例)
 データ生成システム1は、上記の第4例に挙げた画像生成例に基づいて、時間軸を含む様々な画像、動画の圧縮フォーマット等による劣化を抑制する画像を推定するモデルの訓練データを生成してもよい。このような訓練データを用いることにより、例えば、JPEG、MPEGによるブロックノイズを抑制した画像を生成するモデル、フレームレートを変換した動画を生成するモデル等、圧縮による画質の劣化を補正するモデルやFHR補間を実現するモデルを生成することが可能となる。
 次に、アノテーション情報についていくつか非限定的な具体例を挙げる。
 (第14例)
 アノテーション付与部308は、単純に2次元画像において写っている物体の情報をテキストでアノテーションを付与してもよい。これは、画像に対して付与されるものであり、例えば、アノテーション付与部308は、犬が写っている画像には、犬、と、猫が写っている画像には、猫、というアノテーション情報を画像に対するアノテーション情報として付与する。
 このようにアノテーション情報を付与することにより、画像に写っているものの名称を抽出する推定モデルに対する訓練データを生成することができる。
 (第15例)
 アノテーション付与部308は、2次元画像において矩形領域でアノテーションを付与してもよい。上述したように、これは、画素単位、領域単位で実現してもよいし、その境界は、理想画像の生成と同様の幾何学的変換により変形(例えば、レンズ歪みにあわせてアフィン変換、射影変換等)されてもよい。例えば、アノテーション付与部308は、犬と猫が写っている写真に対して、犬が写っている領域に犬というアノテーションを付与し、猫が写っている領域に猫というアノテーションを付与する。
 このようにアノテーション情報を付与することにより、画像において、どの領域に何が移っているかを識別する推定モデルに対する訓練データを生成することができる。
 (第16例)
 アノテーション付与部308は、CGモデルのオブジェクトの領域を利用して上記のようなアノテーション情報を付与することができる。このようにCGモデルに基づいてアノテーション情報を付与することにより、3次元から2次元に情報を落とした場合に重なりのあるオブジェクト同士を表現することが可能となる。
 この場合、重なっている領域におけるアノテーション情報同士は、適切に処理して訓練データとすることができる。前述の実施形態でも説明したように、教師データとして、一番手前にあるもの、すなわち、画像に写っているものをアノテーション情報として付与してもよい。別の例として、複数の情報、例えば、オブジェクトが重なっている領域においては、手前にあるものと、奥にあるものと、の双方をアノテーション情報として付与してもよい。この場合、手前と奥の区別をできるアノテーション情報を付与してもよい。また、2つのオブジェクトに限られず、3つ以上のオブジェクトであっても同様に重なりを表現してもよい。このように付与されたアノテーション情報は、学習時において任意に外して訓練データとしてもよい。
 このように、写っていないもののアノテーション情報を付与することにより、写っていないもの、例えば、上述したようにブロック塀に隠れている人間に対する危険予知をする推定モデルを訓練することも可能となる。
 (第17例)
 前述の全ての形態において、アノテーション付与部308は、動画に対しても正確にアノテーション情報を付与することが可能である。これは、アノテーション付与部308がCGモデルのオブジェクトに対してアノテーションを付与することが可能なためである。このことから、一般的には非常に困難である、動画に対するアノテーションの付与を容易に実現することが可能となる。
 (第18例)
 アノテーション付与部308は、オブジェクトに対するアノテーションの他、照明条件、時刻、カメラの向き、姿勢、レンズ情報、撮影条件、カメラの存在する位置(緯度、経度等)等のメタ情報をアノテーションとして、理想モデル適用部306により生成される画像に付与することもできる。
 (第19例)
 アノテーション付与部308は、オブジェクトのカメラに対する相対的な正確な位置をアノテーションとして付与してもよい。このように正確な位置を付与することにより、ToF(Time of Flight)センサにおける位置推定モデルの訓練データのためのアノテーションを付与することが可能となる。オブジェクトのカメラに対する相対的な位置は、別の例として、カメラのCGモデル内の絶対位置及びオブジェクトのCGモデル内の絶対的な位置として付与されてもよい。
 (第20例)
 アノテーション付与部308は、オブジェクトの速度、加速度、角速度等の動きの情報をアノテーションとして付与してもよい。オブジェクトの速度等をアノテーションとして付与することにより、例えば、モーションブラー等による画像劣化を回復する推定モデルの訓練データとすることができる。
 また、オブジェクトの速度等の情報を、ローリングシャッタ歪みを回復する推定モデルの訓練データとして用いてもよい。
 以下、上記のように生成された訓練データを用いて学習された推定モデルがどのようなアプリケーションに適用できるかを非限定的な例として挙げる。
 例えば、周辺の様子を音声で案内するモデルに適用することができる。これは、種々のオブジェクトを取得した画像から推定することができるからである。さらに、オブジェクトの位置をも推定することも可能であり、この場合、どの程度の位置に何が存在するかを案内するモデルとすることもできる。
 例えば、周辺に存在する文字を読み上げるモデルに適用することができる。これも、上記と同じ理由による。これは、文字を抽出して翻訳して出力するモデルとして応用されてもよい。このようにすると、例えば、カメラで撮影された画像における文字を適切な言語に翻訳して音声又は文字情報として出力することも可能である。
 例えば、リモート診療に用いてもよい。これは、患者の顔色、顔の表情、幹部の判別等を推定するモデルを用いて応用される。
 例えば、配車システムに適用することができる。これは、顔認識をするモデルを用いることにより、ユーザの顔の認証を実現することにより応用できる。また、自動運転による配車システムであれば、自動運転の安全性を確保するモデルを用いてもよい。例えば、高価な機材を搭載すること無く、一般的なスマートフォンのカメラやドライブレコーダのカメラといったデバイスが取得した画像で顔認証等を実現することができる。
 例えば、音声アシスタントとして応用することができる。例えば、口の動きから発言の内容を取得するモデル(読唇術を実現するモデル)として利用することができる。
 例えば、英語等の言語の発音練習として応用することができる。上記のモデルと同様に、口の動きをから判別することが可能である。さらに、のどの動き、舌の動き等を取得してもよい。この場合、画像データのみならず、音声データをも入力するモデルとして生成されてもよい。
 例えば、画像から気持ちを読み込んでくれるモデル、又は感情を分析するモデルとして応用することができる。これは、顔の表情、顔色等と、気持ち、感情を示すアノテーションを紐付けることにより実現することができる。
 例えば、ベストショットを選択するカメラとして応用することができる。例えば、オブジェクトの認識、距離と、オブジェクトの動きの推定等を推定するモデルを学習するための訓練データを生成することにより実現される。また、マルチスペクトル化をAIにより実現し、照明条件を任意に変更できるモデルの訓練を実現してもよい。
 例えば、カメラ画像を用いた手相占いに応用することができる。手のひらのしわ等の微妙な形状も、前述のシステムにより生成してもよい。この場合、カメラによる撮影画像の劣化の他、データを転送する際の画像の圧縮も考慮に入れた訓練データを生成してもよい。
 例えば、撮影された写真から、図鑑等を参照できるように応用することができる。オブジェクトの認識の精度を向上することにより、実現することが可能である。上記と同様に、データ転送の際の画像圧縮も考慮に入れた訓練データを生成してもよい。
 例えば、ワインのエチケットから銘柄を取得するように応用することもできる。この場合、理想画像として、ワインの瓶に張られていない状態のエチケットを教師画像として取得してもよい。逆に言えば、CGジェネレータ2内において、ワインの瓶に張られる前の種々のエチケットのモデル情報を別途取得しておくことにより、理想画像を取得することもできる。さらに通信の際の画像圧縮を考慮に入れることもできる。
 例えば、絵画の詳細情報を取得するように応用することもできる。美術館等においては、照明条件が特殊であることが多いが、前述の各実施形態によれば、絵画のモデルに対して照射される照明条件で、この条件を吸収することが可能である。
 例えば、一般的なAIと同様に、画像からキャプションを生成すること、又は、人物の顔認識をすること、がより高い精度で実現することが可能となる。例えば、人物の顔認識においては、髪型の変更や眼鏡、アクセサリ、マスク等を着用した画像をも1つのCGモデルから簡単に生成することが可能である。このため、認識の精度をより高めることが可能となる。
 例えば、ToFセンサにも用いる応用をすることもできる。これは、CGモデル上で正確に距離を設定することが可能なためである。
 例えば、画像のレタッチをする応用もできる。これは、CGモデルとしてオブジェクトが取得できているためのこのオブジェクトから所望のタッチの画像を取得することができるためである。例えば、実際の画像をアニメタッチの絵に変換したり、絵画風の画像に変換したりすることも可能である。
 例えば、レンズ、センサ等の仕様が決定した開発中のデバイスにおける画像処理の実現に応用することもできる。これは、CGモデルから適切にパラメータに基づいた画像を取得することができるためである。この結果、例えば、デジタルカメラにおいて、当該デジタルカメラに搭載するためのAIモデルを、ファームウェアアップデート等をすること無く、製品販売初期の工場出荷時から搭載することが可能となる。このように、開発途中のデバイスにおいても、レンズ、センサ等の仕様から先んじて推定モデルの最適化を実現することが可能となる。
 前述の各形態において、例えば、図3等の例では、人工的に生成された理想画像(以下、人工画像と記載する)に対して劣化画像を生成するものとしたが、人工画像に対して加工が施される画像(加工画像)は、劣化画像ではなく、推論の目的となる画像であってもよい。すなわち、CG又は実際に撮影された画像(人工画像)に対して、劣化画像だけではなく、より理想的な加工画像を生成してもよい。この人工画像と加工画像の組み合わせによって訓練することで、劣化画像を生成する場合には、劣化画像を入力すると理想画像を出力するモデルを、より理想的な画像を生成する場合には、人工画像を入力するとより理想的な画像を出力するモデルを生成することができる。
 モデルは、例えば、ニューラルネットワークモデルであり、複数の階層(レイヤ)と、複数の階層にそれぞれ備えられる複数のノードとを備える。前述の訓練とは、例えば、このノード間の重み付けを訓練する処理のことであってもよい。また、CNN等の場合には、各階層におけるノードの値自体(カーネルを含む)であってもよい。
 以下、加工画像とCGによる人工画像との組み合わせ、及び、この組み合わせにより訓練されるモデルについて、限定されないいくつかの例を列挙する。各モデルは、例えば、アプリケーションに実装することができる。以下の例は、適切な組み合わせにおいて、複数を組み合わせることもできる。
 ローリングシャッタ歪み画像を生成することにより、ローリングシャッタ歪み画像を補正するモデルを生成することができる。
 長波長により撮影された画像を生成することにより、物体検出の精度を向上させたモデルを生成することができる。例えば、人間の目には見えない波長の画像から、サーマルセンサによる画像を推論することもできる。
 光学特性を反映した画像を生成することにより、ゴースト、フレアを抑止した画像を推論するモデルを生成することができる。
 対向車のヘッドライトのハレーションに関する画像を生成することにより、危険予知、ハレーション除去に関する推論をするモデルを生成することができる。
 残像を反映した画像を生成することにより、残像除去した画像を推論するモデルを生成することができる。
 レンズ歪みを有する画像を生成することにより、歪み補正した画像を推論するモデルを生成することができる。
 ノイズを付与した画像を生成することにより、ノイズリダクションの推論するモデルを生成することができる。
 雨、霧等を反映した画像を生成することにより、雨粒除去、霧除去等をした画像を推論するモデルを生成することができ、これは、例えば、危険予知に応用することができる。
 直射日光、例えば、朝方の東からの日光や夕方の西日等を反映した画像を生成することにより、まぶしさや反射等を抑制した推論するモデルを生成することができ、これは、危険予知に応用することができる。
 光学系のぼけ、又は、モーションブラー等の各種PSF(Point Spread Function)、各種フィルタを重畳した画像を生成することにより、解像度を補正するモデルを生成することができる。
 上記の限定されない一例として、デフォーカスした画像を生成することにより、任意の被写体にピントを合わせる推論をするモデルを生成することができる。
 HDR(High Dynamic Range)画像を生成することにより、任意の被写体が白飛び、黒つぶれしない画像を推論するモデルを生成することができる。
 HFR(High Frame Rate)画像を生成することにより、任意の被写体がぶれない画像を推論するモデルを生成することができる。
 全天画像(360度全天周画像)を生成することにより、任意の被写体をトリミングしたり、逆に、任意の被写体以外をトリミングしたりする推論をするモデルを生成することができる。
 視差画像を生成することにより、奥行き検出を推論したり、デプス画像を推論したりするモデルを生成することができる。
 ToF画像を生成することにより、距離ノイズを除去したり、距離誤差を除去したりするモデルを生成することができる。
 絞り値を指定して撮影された画像を生成することにより、指定した絞り値とボケ量が異なる画像を推論するモデルを生成することができる。
 イメージセンサの製造ムラ等のムラを有する画像を生成することにより、製造のばらつきによるムラを除去した画像を推論するモデルを生成することができる。
 昔のレンズで撮影した画像を生成することにより、最新型のレンズで撮影した画像を推論するモデルを生成することができる。
 逆に、最新型のレンズで撮影した画像を生成することにより、昔のレンズで撮影した画像を推論するモデルを生成することができる。
 生データを生成することにより、理想のRGB画像を推論するモデル(デモザイクするモデル)を生成することができる。この場合、生データから理想のRGB画像を生成してもよい。
 マルチスペクトルセンサ画像を生成することにより、種々の状態量を推論できるモデル、限定されない例としては、農業における収穫時期や生育度を推定するモデルを生成することができる。
 光源を変えた画像を生成することにより、光源推定をするモデルを生成することができる。
 トゥーンレンダリングされた画像を生成することにより、漫画やイラスト風の作画に変換するモデルを生成することができる。
 天候、時刻が変化した画像を生成することにより、条件に特化した推論を実現するモデルを生成することができる。
 飽和、黒つぶれ、超低照度の画像を生成することにより、HDR画像を推論したり、飽和、つぶれ部分の推論をしたりするモデルを生成することができる。
 低解像度画像を生成することにより、高解像度画像、超解像画像を推論するモデルを生成することができる。
 モアレが付与された画像を生成することにより、モアレ除去の推論をするモデルを生成することができる。
 偽色が発生している画像を生成することにより、偽色の補正をするモデルを生成することができる。
 マルチスペクトルを含む種々のCFA(Color Filter Array)パターンにより撮像された画像を生成することにより、適切なデモザイク処理を実現できるモデルを生成することができる。
 センサ内の信号処理による劣化、例えば、ノイズ除去やデモザイク処理の過程における劣化を含む画像を生成することにより、これらの劣化を補正する、例えば、欠陥補正やZAF補正を適用した画像を推論するモデルを生成することができる。
 カラーフィルタの特性や経年劣化をした素子によって取得された画像を生成することにより、色再現性を向上するモデルを生成することができる。
 JPEG、MPEG、AVC等の画像圧縮、動画圧縮技術による劣化をした画像を生成することにより、圧縮による劣化画像を復元するモデルやブロックノイズを除去するモデルを生成することができる。
 低フレームレートの映像情報を生成することにより、フレーム補間を実現するモデルを生成することができる。
 伝送時の劣化や低ビットレートの画像、映像を生成することにより、劣化画像を復元する画像を推論するモデルを生成することができる。
 インタレース画像を生成することにより、プログレッシブ画像を推論するモデルを生成することができる。例えば、昔の映像等の情報をプログレッシブ化するとともに、高解像度化するようなモデルを生成することもできる。
 距離画像を生成することにより、2次元を3次元に変換するモデル、VR(Virtual Reality)に用いる画像を生成するモデル、顔認証するモデル、背景除去又は背景合成するモデル、3次元データを合成するモデル等を生成することができる。
 各種モニタに映した画像を生成することにより、ディスプレイ等の表示系まで含めたキャリブレーションをするモデルを生成することができる。
 例えば、ヘッドアップディスプレイにより表示される画像であってもよく、この場合、歪み補正、見やすい色、明るさに調整された画像を生成するモデルを生成することができる。
 マルチカメラ(ホモ構成、ヘテロ構成含む)により撮影された画像を生成することにより、合成画像を生成するモデルを生成することができる。
 複数枚の画像からパノラマ画像を生成することにより、パノラマ合成をするモデルを生成することができる。
 手ぶれした画像を生成することにより、手ぶれ補正された推論をするモデルを生成することができる。
 露光アンダー、露光オーバーの画像を生成することにより、適正露光への補正をするモデルを生成することができる。
 動被写体のブラーを有する画像を生成することにより、ブラー補正した画像を推論するモデルを生成することができる。
 白黒画像、輝度画像、彩度画像、色相画像等の色空間における任意の特徴量を抽出した画像を生成することにより、これらの画像を適切にカラー画像に変換するモデルを生成することができる。これは、特定の条件下で撮影された画像等からオブジェクト等を抽出したり認識したりするモデルに応用することができる。
 色あせた画像、セピア系の画像を生成することにより、色の復元をするモデルを生成することができる。例えば、RGB以外の波長からの推論をするモデルであってもよい。
 3chの位相がそろった画像を生成することにより、ピクセルシフト等の合成、又は、アーティファクト除去するモデルを生成することができる。
 照明の方向を失敗した画像を生成することにより、適切な照明である画像を推論するモデルを生成することができる。
 色覚による色の見え方の違いを反映した画像を生成することにより、見やすい色へと変換された画像を推論するモデルを生成することができる。
 フリッカが発生している画像を生成することにより、フリッカを補正した画像を推論するモデルを生成することができる。
 視点が異なる画像を生成することにより、視点を変換した画像を推論するモデルを生成することができる。
 (包括)
 前述した各実施形態は、以下のような学習モデル生成のための画像生成、当該画像に関するメタデータ生成、学習モデル生成の一連の処理に用いることが可能である。さらには、このように生成された学習モデルを用いた推論についても本開示の範囲は及ぶものである。
(a)機械学習のためのデータ生成
 データを生成するデータジェネレータ(例えば、上記のような生成方法を実現するデータ生成装置)において、任意のカメラの特性(物理モデル)を加味して、対象の高画質、低画質のデータセットを生成する。高画質及び低画質の組み合わせは、上述に示したように、例えば、高解像度及び低解像度の画像、明るい状態(日中、屋外)及び暗い状態(夜間、屋内)の画像、通常光学系及び広角光学系における画像等であってもよい。
(b)機械学習によるモデル生成
 モデルを種々の機械学習の手法により訓練することにより、この低画質の画像を用いて対象を検出するモデルを生成してもよいし、低画質の画像から高画質の画像を推論するモデルを生成してもよい。また、これらを組み合わせることもできる。限定されない一例として、夜間に撮影された画像から顔検出をする訓練と、夜間に撮影された顔の画像から日中に撮影された顔の画像を推論する訓練と、を用いることにより、夜間に撮影された画像から、日中に撮影された顔の画像を抽出して生成する推論モデルを訓練することも可能である。
(c)モデルを用いたアプリケーション生成
 上記の高画質の対象画像を推論するモデルを用いて、対象をトラッキングするアプリケーションを構成することも可能である。例えば、人の画像を推論するモデルを用いることにより、特定の人をトラッキングするアプリケーションを構成することもできる。上記のように生成されたモデルによれば、任意のカメラで撮影された低画質な画像から顔を抽出し、この顔を高画質の画像へと変換することにより、任意の人物のトラッキングをすることができる。例えば、所定エリア内で迷子の子供を顔の画像から探し出したり、犯罪者の顔を読み込ませることにより犯罪者の居場所を監視カメラ等の情報から推定したり、動線調査をしたりすることも可能である。もちろん、人物だけではなく、交通違反車のトラッキング、盗難された自転車、ペット探し、動物の生態系調査等にも適用可能である。また、動かないもの、例えば、建物や場所の検索等にも適用することが可能である。
(d)アプリケーションの配布
 上記のアプリケーションは、配布、デプロイすることも可能である。例えば、人物の顔とともにカメラにより撮影される映像から顔を抽出するアプリケーションを配布することにより、広域にいるユーザにアプリケーションを使用させることが可能となる。このアプリケーションは、ユーザのスマートフォン等のカメラを用いて映像を取得して推論をする形態であってもよいし、ユーザがこのアプリケーションに任意の映像を入力する形態であってもよい。このようにアプリケーションを使用させることにより、迷子、犯罪者のトラッキングを容易に行うことが可能となる。他の用途についても同様であり、任意のユーザにより撮影される映像を用いて種々の推定を実現することができる。また、監視カメラや任意の固定若しくは可動のカメラ、又は、これらのカメラと接続される周辺機器にこのようなアプリケーションをデプロイしてもよい。
(e)アプリケーションの利用
 上記のように配布、デプロイされたアプリケーションを用いることにより、対象のトラッキング、推論等を高精度で行うことができる。デプロイされるアプリケーションを用いる環境に基づいた物理モデルによりモデルをカスタマイズすることができるので、精度を落とさずにトラッキング等が実現できる。例えば、あるスマートフォンに搭載されているカメラにおいて当該スマートフォンで用いられる画像処理された夜間の画像から、CGにより生成された日中の理想画像を推論できるモデルを生成し、このモデルを利用するアプリケーションを種々のカメラ等にデプロイすることができ、このカメラ等を用いてアプリケーションを利用することで、トラッキング等の領域を大きく広げ、さらには、高い精度での推論を担保することも可能である。なお、日中、夜間等の高画質、低画質のそれぞれの撮影データに適したモデルを生成してもよく、これらのモデルをそれぞれデプロイしてもよい。例えば、アプリケーションを使用する側のスマートフォンの持ち主がカメラ及び通信帯域を利用することを許可した場合に、撮影情報からスマートフォンにおいて解析をしてもよいし、スマートフォンで取得した映像を通信によりサーバへと送信してもよい。アプリケーションは、位置情報を合わせて出力してもよい。位置情報は、例えば、GPS(Global Positioning System)、Wi-Fi(登録商標)情報、又は、基地局情報等により取得さてもよい。これらの機能は、スマートフォンを所有している持ち主のセキュリティを担保するために、オプトインで機能がオンされる形態としてもよい。また、専用のアプリケーションではなく、例えば、任意のアプリケーションにアドオンする態様で、上記と同様にスマートフォンの所有者のオプトインにより、任意のアプリケーションにより撮影された映像、画像等を解析する形態としてもよい。
(f)アプリケーションとの通信
 例えば、サーバ等は、デプロイしたアプリケーションからの通信を許可する形態であってもよい。このようにサーバにデプロイしたアプリケーションからの情報を集約することにより、人物の位置情報や検出した時間等の情報をまとめることができる。これらの情報により、時間ごとの位置情報等を取得することも可能であり、トラッキングの性能を向上させることができる。また、メタデータとして、人物であれば、洋服の色、身長、性別、表情等をアプリケーション側から通信してもよい。メタデータは、ユーザが追加できるものであってもよい。サーバは、このメタデータに基づいて画像を再生成してモデルを更新し、アプリケーションに適用(再デプロイ)させてもよい。さらに、例えば、警察等のユーザが、このサーバにアクセスすることを許可したり、トラッキングを依頼したユーザに情報を提供したりしてもよい。
(g)対象画像の送信
 さらに、アプリケーションは、カメラ等のセンサで取得した顔画像データを送出してもよい。例えば、スマートフォンのカメラで夜間に撮影された映像は、そのデータ量からアプリケーションにより処理するのは処理能力が足りない場合がある。このような場合には、映像自体をサーバへと送信してもよい。この送信は、リアルタイムであってもよいし、いったんファイルとして格納した後に、帯域に余裕があるタイミングで送信するものであってもよい。例えば、Wi-Fi接続されている場合に送信するとしてもよい。
(h)対象情報の出力、表示
 サーバは、デプロイしたアプリケーションから情報を収集し、又は、収集した情報から推論、再推論した情報に基づいて、時間、位置情報等をわかりやすい形で出力してもよい。例えば、サーバは、地図上に、ターゲットの時間と位置の情報をわかりやすい形で表示して、トラッキングの依頼者に出力してもよい。また、リアルタイムの処理である場合には、サーバは、プッシュ通知等により、トラッキング対象の位置に関する情報をリアルタイムに依頼者に出力してもよい。位置に関する情報は、住所であってもよいし、地図の所定エリア、一点等を指し示してもよい。
(i)モデルの更新
 上記にも記載したが、任意のタイミングでサーバは、モデルを更新してもよい。例えば、アプリケーションから情報が集約されると、訓練の対象となるデータが蓄積される。この蓄積されたデータを用いてモデルを更新することにより、モデルによる推論の精度を向上させることも可能である。さらには、蓄積されたデータを前述の実施形態で示した手法により加工し、例えば、高解像度画像から低解像度画像を生成して、この生成された画像のセットをモデルの更新に用いてもよい。
 前述の実施形態は(i)に記載したように、CGを用いたモデルを劣化させて低画質な画像を取得することのみならず、実際に撮影された画像を劣化させてモデルの訓練に用いてもよい。
 本開示の態様は、プログラムにより実装されてもよい。プログラムは、記憶部に記憶され、ソフトウェアによる情報処理がハードウェアにより具体的に実現されるものであってもよい。ソフトウェアの処理は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサにおいて実行される他、種々のアナログ回路又はデジタル回路、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)により実装されてもよい。
<AIを利用した応用例>
 本開示に係る技術(本技術)を適用した構成では、機械学習等の人工知能(AI:Artificial Intelligence)を利用することができる。図9は、AI処理を行う装置を含むシステムの構成例を示している。
 電子機器20001は、スマートフォン、タブレット型端末、携帯電話機等のモバイル端末である。電子機器20001は、本開示に係る技術を適用したセンサ20011(例えば光センサ)を有する。光センサは、光を電気信号に変換するセンサ(画像センサ)である。電子機器20001は、所定の通信方式に対応した無線通信によって所定の場所に設置された基地局20020に接続することで、コアネットワーク20030を介して、インターネット等のネットワーク20040に接続することができる。
 基地局20020とコアネットワーク20030の間などのモバイル端末により近い位置には、モバイルエッジコンピューティング(MEC:Mobile Edge Computing)を実現するためのエッジサーバ20002が設けられる。ネットワーク20040には、クラウドサーバ20003が接続される。エッジサーバ20002とクラウドサーバ20003は、用途に応じた各種の処理を行うことができる。なお、エッジサーバ20002は、コアネットワーク20030内に設けられてもよい。
 電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ(例えば光センサ)20011により、AI処理が行われる。AI処理は、本開示に係る技術を、機械学習等のAIを利用して処理するものである。AI処理は、学習処理と推論処理を含む。学習処理は、学習モデルを生成する処理である。また、学習処理には、後述する再学習処理も含まれる。推論処理は、学習モデルを用いた推論を行う処理である。以下、本開示に係る技術に関する処理を、AIを利用せずに処理することを、通常処理と呼び、AI処理と区別する。
 電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ20011光センサ20011においては、CPU(Central Processing Unit)等のプロセッサがプログラムを実行したり、あるいは特定用途に特化したプロセッサ等の専用のハードウェアを用いたりすることで、AI処理が実現される。例えば、特定用途に特化したプロセッサとしては、GPU(Graphics Processing Unit)を用いることができる。
 図10は、電子機器20001の構成例を示している。電子機器20001は、各部の動作の制御や各種の処理を行うCPU20101と、画像処理や並列処理に特化したGPU20102と、DRAM(Dynamic Random Access Memory)等のメインメモリ20103と、フラッシュメモリ等の補助メモリ20104を有する。
 補助メモリ20104は、AI処理用のプログラムや各種パラメータ等のデータを記録している。CPU20101は、補助メモリ20104に記録されたプログラムやパラメータをメインメモリ20103に展開してプログラムを実行する。あるいは、CPU20101とGPU20102は、補助メモリ20104に記録されたプログラムやパラメータをメインメモリ20103に展開してプログラムを実行する。これにより、GPU20102を、GPGPU(General-Purpose computing on Graphics Processing Units)として用いることができる。
 なお、CPU20101やGPU20102は、SoC(System on a Chip)として構成されてもよい。CPU20101がAI処理用のプログラムを実行する場合には、GPU20102を設けなくてもよい。
 電子機器20001はまた、本開示に係る技術を適用したセンサ20011光センサ20011と、物理的なボタンやタッチパネル等の操作部20105と、少なくとも1以上のセンサを含む音を集音するセンサマイクロフォン20106と、画像やテキスト等の情報を表示するディスプレイ20107と、音を出力するスピーカ20108と、所定の通信方式に対応した通信モジュール等の通信I/F20109と、それらを接続するバス20110を有する。
 センサ20106は、光センサ(画像センサ)、音センサ(マイクロフォン)、振動センサ、加速度センサ、角速度センサ、圧力センサ、匂いセンサ、生体センサ等の各種のセンサを少なくとも1以上有している。AI処理では、光センサ20011から取得した画像データとともに、センサ20106の少なくとも1以上のセンサから取得したデータを用いることができる。このように、画像データとともに、様々な種類のセンサから得られるデータを用いることで、マルチモーダルAIの技術により、様々な場面に適合したAI処理を実現することができる。
 なお、センサフュージョンの技術によって2以上の光センサから取得した画像データを統合的に処理して得られるデータが、AI処理で用いられてもよい。2以上の光センサとしては、光センサ20011とセンサ20106内の光センサの組み合わせでもよいし、あるいは光センサ20011内に複数の光センサが含まれていてもよい。例えば、光センサには、RGBの可視光センサ、ToF(Time of Flight)等の測距センサ、偏光センサ、イベントベースのセンサ、IR像を取得するセンサ、多波長取得可能なセンサなどが含まれる。
 電子機器20001においては、CPU20101やGPU20102等のプロセッサによってAI処理を行うことができる。電子機器20001のプロセッサが推論処理を行う場合には、センサ20011光センサ20011で画像データを取得した後に時間を要さずに処理を開始することができるため、高速に処理を行うことができる。そのため、電子機器20001では、短い遅延時間で情報を伝達することリアルタイム性が求められるアプリケーションなどの用途に推論処理が用いられた際に、ユーザは遅延による違和感なく操作を行うことができる。また、電子機器20001のプロセッサがAI処理を行う場合、クラウドサーバ20003等のサーバを利用する場合と比べて、通信回線やサーバ用のコンピュータ機器などを利用する必要がなく、低コストで処理を実現することができる。
 図11は、エッジサーバ20002の構成例を示している。エッジサーバ20002は、各部の動作の制御や各種の処理を行うCPU20201と、画像処理や並列処理に特化したGPU20202を有する。エッジサーバ20002はさらに、DRAM等のメインメモリ20203と、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助メモリ20204と、NIC(Network Interface Card)等の通信I/F20205を有し、それらがバス20206に接続される。
 補助メモリ20204は、AI処理用のプログラムや各種パラメータ等のデータを記録している。CPU20201は、補助メモリ20204に記録されたプログラムやパラメータをメインメモリ20203に展開してプログラムを実行する。あるいは、CPU20201とGPU20202は、補助メモリ20204に記録されたプログラムやパラメータをメインメモリ20203に展開してプログラムを実行することで、GPU20202をGPGPUとして用いることができる。なお、CPU20201がAI処理用のプログラムを実行する場合には、GPU20202を設けなくてもよい。
 エッジサーバ20002においては、CPU20201やGPU20202等のプロセッサによってAI処理を行うことができる。エッジサーバ20002のプロセッサがAI処理を行う場合、エッジサーバ20002はクラウドサーバ20003と比べて、電子機器20001と近い位置に設けられるため、処理の低遅延化を実現することができる。また、エッジサーバ20002は、電子機器20001やセンサ20011光センサ20011に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、エッジサーバ20002のプロセッサがAI処理を行う場合、電子機器20001やセンサ20011光センサ20011の仕様や性能の違いに依らず、データを受信できればAI処理を行うことができる。エッジサーバ20002でAI処理を行う場合には、電子機器20001やセンサ20011光センサ20011における処理の負荷を軽減することができる。
 クラウドサーバ20003の構成は、エッジサーバ20002の構成と同様であるため、説明は省略する。
 クラウドサーバ20003においては、CPU20201やGPU20202等のプロセッサによってAI処理を行うことができる。クラウドサーバ20003は、電子機器20001やセンサ20011光センサ20011に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、クラウドサーバ20003のプロセッサがAI処理を行う場合、電子機器20001やセンサ20011光センサ20011の仕様や性能の違いに依らず、AI処理を行うことができる。また、電子機器20001又はセンサ20011光センサ20011のプロセッサで負荷の高いAI処理を行うことが困難である場合には、その負荷の高いAI処理をクラウドサーバ20003のプロセッサが行い、その処理結果を電子機器20001又はセンサ20011光センサ20011のプロセッサにフィードバックすることができる。
 図12は、センサ20011光センサ20011の構成例を示している。センサ20011光センサ20011は、例えば複数の基板が積層された積層構造を有する1チップの半導体装置として構成することができる。センサ20011光センサ20011は、基板20301と基板20302の2枚の基板が積層されて構成される。なお、光センサ20011の構成としては積層構造に限らず、例えば、撮像部を含む基板が、CPUやDSP(Digital Signal Processor)等のAI処理を行うプロセッサを含んでいてもよい。
 上層の基板20301には、複数の画素が2次元に並んで構成される撮像部20321が搭載されている、。下層の基板20302には、撮像部20321での画像の撮像に関する処理を行う撮像処理部20322と、撮像画像や信号処理結果を外部に出力する出力I/F20323と、乃至撮像部20321での画像の撮像を制御する撮像制御部20324、及びCPU20331乃至通信I/F20334が搭載されている。撮像部20321、及び撮像処理部20322、出力I/F20323、及び乃至撮像制御部20324により撮像ブロック20311が構成される。
 また、下層の基板20302には、各部の制御や各種の処理を行うCPU20331と、撮像画像や外部からの情報等を用いた信号処理を行うDSP20332と、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等のメモリ20333と、外部と必要な情報のやり取りを行う通信I/F20334が搭載されている。CPU20331、DSP20332、メモリ20333、及び乃至通信I/F20334により信号処理ブロック20312が構成される。CPU20331及びDSP20332の少なくとも1つのプロセッサによってAI処理を行うことができる。
 このように、複数の基板が積層された積層構造における下層の基板20302に、AI処理用の信号処理ブロック20312を搭載することができる。これにより、上層の基板20301に搭載される撮像用の撮像ブロック20311で取得される画像データが、下層の基板20302に搭載されたAI処理用の信号処理ブロック20312で処理されるため、1チップの半導体装置内で一連の処理を行うことができる。
 センサ20011光センサ20011においては、CPU20331等のプロセッサによってAI処理を行うことができる。センサ20011光センサ20011のプロセッサが推論処理等のAI処理を行う場合、1チップの半導体装置内で一連の処理が行われるため、センサ外部に情報が漏れないことから情報の秘匿性を高めることができる。また、画像データ等のデータを他の装置に送信する必要がないため、センサ20011光センサ20011のプロセッサでは、画像データを用いた推論処理等のAI処理を高速に行うことができる。例えば、リアルタイム性が求められるアプリケーションなどの用途に推論処理が用いられた際に、リアルタイム性を十分に確保することができる。ここで、リアルタイム性を確保するということは、短い遅延時間で情報を伝達できることを指す。さらに、センサ20011光センサ20011のプロセッサがAI処理を行うに際して、電子機器20001のプロセッサにより各種のメタデータを渡すことで、処理を削減して低消費電力化を図ることができる。
 図13は、処理部20401の構成例を示している。電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ20011光センサ20011のプロセッサがプログラムに従った各種の処理を実行することで、処理部20401として機能する。なお、同一の又は異なる装置が有する複数のプロセッサを処理部20401として機能させてもよい。
 処理部20401は、AI処理部20411を有する。AI処理部20411は、AI処理を行う。AI処理部20411は、学習部20421と推論部20422を有する。
 学習部20421は、学習モデルを生成する学習処理を行う。学習処理では、画像データに含まれる補正対象画素を補正するための機械学習を行った機械学習済みの学習モデルが生成される。また、学習部20421は、生成済みの学習モデルを更新する再学習処理を行ってもよい。以下の説明では、学習モデルの生成と更新を区別して説明するが、学習モデルを更新することで、学習モデルを生成しているとも言えるため、学習モデルの生成には、学習モデルの更新の意味が含まれるものとする。
 なお、本学習部20421は本発明の実施例であげた機械学習装置5に該当する。更に本学習部20421で学習する際に、本発明のCGジェネレータ2とシミュレータ3を適用して、CGジェネレータ2とシミュレータ3で生成される訓練データ(教師画像と劣化画像)を用いることができる。
 CGジェネレータ2とシミュレータ3の各々は、本学習部20421に有していても良いし、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ(例えば光センサ)20011に有していてもよい。
 また、生成された学習モデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などが有するメインメモリ又は補助メモリなどの記憶媒体に記録されることで、推論部20422が行う推論処理において新たに利用可能となる。これにより、当該学習モデルに基づく推論処理を行う電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などを生成することができる。さらに、生成された学習モデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などとは独立した記憶媒体又は電子機器に記録され、他の装置で使用するために提供されてもよい。なお、これらの電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などの生成とは、製造時において、それらの記憶媒体に新たに学習モデルを記録することだけでなく、既に記録されている生成済学習モデルを更新することも含まれるものとする。
 推論部20422は、学習モデルを用いた推論処理を行う。推論処理では、学習モデルを用いて、例えば、画像データに含まれる補正対象画素を補正するための処理が行われる。補正対象画素は、画像データに応じた画像内の複数個の画素のうち、所定の条件を満たした補正対象となる画素である。
 以下、推論処理にについて、主に画像データに含まれる補正対象画素を補正するための処理を例に説明するが、推論処理は補正対象画素を補正するものに限定されず、前述した通り、色々な推論処理であってよい。
 機械学習の手法としては、ニューラルネットワークやディープラーニングなどを用いることができる。ニューラルネットワークとは、人間の脳神経回路を模倣したモデルであって、入力層、中間層(隠れ層)、出力層の3種類の層からなる。ディープラーニングとは、多層構造のニューラルネットワークを用いたモデルであって、各層で特徴的な学習を繰り返し、大量データの中に潜んでいる複雑なパターンを学習することができる。
 機械学習の問題設定としては、教師あり学習を用いることができる。例えば、教師あり学習は、与えられたラベル付きの教師データに基づいて特徴量を学習する。これにより、未知のデータのラベルを導くことが可能となる。教師データは、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、シミュレータにより生成されたデータセットなどを用いることができる。
 なお、教師あり学習に限らず、教師なし学習、半教師あり学習、強化学習などを用いてもよい。教師なし学習は、ラベルが付いていない学習データを大量に分析して特徴量を抽出し、抽出した特徴量に基づいてクラスタリング等を行う。これにより、膨大な未知のデータに基づいて傾向の分析や予測を行うことが可能となる。半教師あり学習は、教師あり学習と教師なし学習を混在させたものであって、教師あり学習で特徴量を学ばせた後、教師なし学習で膨大な教師データを与え、自動的に特徴量を算出させながら繰り返し学習を行う方法である。強化学習は、ある環境内におけるエージェントが現在の状態を観測して取るべき行動を決定する問題を扱うものである。
 このように、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ20011光センサ20011のプロセッサがAI処理部20411として機能することで、それらの装置のいずれか又は複数の装置でAI処理が行われる。
 AI処理部20411は、学習部20421及び推論部20422のうち少なくとも一方を有していればよい。すなわち、各装置のプロセッサは、学習処理と推論処理の両方の処理を実行することは勿論、学習処理と推論処理のうちの一方の処理を実行するようにしてもよい。例えば、電子機器20001のプロセッサが推論処理と学習処理の両方を行う場合には、学習部20421と推論部20422を有するが、推論処理のみを行う場合には、推論部20422のみを有していればよい。
 各装置のプロセッサは、学習処理又は推論処理に関する全ての処理を実行してもよいし、一部の処理を各装置のプロセッサで実行した後に、残りの処理を他の装置のプロセッサで実行してもよい。また、各装置においては、学習処理や推論処理などのAI処理の各々の機能を実行するための共通のプロセッサを有してもよいし、機能ごとに個別にプロセッサを有してもよい。
 なお、上述した装置以外の他の装置によりAI処理が行われてもよい。例えば、電子機器20001が無線通信などにより接続可能な他の電子機器によって、AI処理を行うことができる。具体的には、電子機器20001がスマートフォンである場合に、AI処理を行う他の電子機器としては、他のスマートフォン、タブレット型端末、携帯電話機、PC(Personal Computer)、ゲーム機、テレビ受像機、ウェアラブル端末、デジタルスチルカメラ、デジタルビデオカメラなどの装置とすることができる。
 また、自動車等の移動体に搭載されるセンサや、遠隔医療機器に用いられるセンサなどを用いた構成においても、推論処理等のAI処理を適用可能であるが、それらの環境では遅延時間が短いことが求められる。このような環境においては、ネットワーク20040を介してクラウドサーバ20003のプロセッサでAI処理を行うのではなく、ローカル側の装置(例えば車載機器や医療機器としての電子機器20001)のプロセッサでAI処理を行うことで遅延時間を短くすることができる。さらに、インターネット等のネットワーク20040に接続する環境がない場合や、高速な接続を行うことができない環境で利用する装置の場合にも、例えば電子機器20001や光センサ20011等のローカル側の装置のプロセッサでAI処理を行うことで、より適切な環境でAI処理を行うことができる。
 なお、上述した構成は一例であって、他の構成を採用しても構わない。例えば、電子機器20001は、スマートフォン等のモバイル端末に限らず、PC、ゲーム機、テレビ受像機、ウェアラブル端末、デジタルスチルカメラ、デジタルビデオカメラなどの電子機器、車載機器、医療機器であってもよい。また、電子機器20001は、無線LAN(Local Area Network)や有線LANなどの所定の通信方式に対応した無線通信又は有線通信によってネットワーク20040に接続してもよい。センサ20011は、複数の基板が積層された積層構造を有した構成に限らず、他の構成を採用してもよい。AI処理は、各装置のCPUやGPU等のプロセッサに限らず、量子コンピュータやニューロモーフィック・コンピュータなどを利用しても構わない。
(処理の流れ)
 図14のフローチャートを参照して、AIを利用した処理の流れを説明する。
 ステップS20001では、処理部20401が、センサ20011光センサ20011からの画像データを取得する。ステップS20002では、処理部20401が、取得した画像データに対する補正処理を行う。この補正処理では、画像データの少なくとも一部に学習モデルを用いた推論処理が行われ、画像データに含まれる補正対象画素を補正した後のデータである補正済みデータが得られる。ステップS20003では、処理部20401が、補正処理で得られた補正済みデータを出力する。
 ここで、図15のフローチャートを参照して、上述したステップS20002における補正処理の詳細を説明する。
 ステップS20021では、処理部20401が、画像データに含まれる補正対象画素を特定する。この補正対象画素を特定するステップ(以下、特定ステップ(Detection Step)と呼ぶ)では、推論処理又は通常処理が行われる。
 特定ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、入力された画像データに含まれる補正対象画素を特定するための情報(以下、特定情報(Detection Information)と呼ぶ)が出力されるので、補正対象画素を特定することができる。ここでは、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、特定ステップとして通常処理が行われる場合、電子機器20001又はセンサ20011光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を特定する処理が行われる。
 ステップS20021で、画像データに含まれる補正対象画素が特定されると、処理は、ステップS20022に進められる。ステップS20022では、処理部20401が、特定された補正対象画素を補正する。この補正対象画素を補正するステップ(以下、補正ステップ(Correction Step)と呼ぶ)では、推論処理又は通常処理が行われる。
 補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データ及び補正対象画素の特定情報を入力することで、補正された画像データ又は補正された補正対象画素の特定情報が出力されるので、補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、補正ステップとして通常処理が行われる場合、電子機器20001又はセンサ20011光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を補正する処理が行われる。
 このように、補正処理では、補正対象画素を特定する特定ステップで推論処理又は通常処理が行われ、特定した補正対象画素を補正する補正ステップで推論処理又は通常処理が行われることで、特定ステップ及び補正ステップの少なくとも一方のステップで、推論処理が行われる。すなわち、補正処理では、センサ20011光センサ20011からの画像データの少なくとも一部に学習モデルを用いた推論処理が行われる。
 また、補正処理では、推論処理を用いることで、特定ステップが補正ステップと一体的に行われるようにしてもよい。このような補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、補正対象画素が補正された画像データが出力されるので、入力された画像データに含まれる補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。
 ところで、処理部20401では、補正済みデータを用いてメタデータを生成するようにしてもよい。図16のフローチャートには、メタデータを生成する場合の処理の流れを示している。
 ステップS20051,S20052においては、上述したステップS20001,S20002と同様に、画像データが取得され、取得された画像データを用いた補正処理が行われる。ステップS20053では、処理部20401が、補正処理で得られた補正済みデータを用いてメタデータを生成する。このメタデータを生成するステップ(以下、生成ステップ(Generation Step)と呼ぶ)では、推論処理又は通常処理が行われる。
 生成ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し補正済みデータを入力することで、入力された補正済みデータに関するメタデータが出力されるので、メタデータを生成することができる。ここでは、補正済みデータを入力とし、メタデータを出力とする学習モデルが用いられる。例えば、メタデータには、ポイントクラウドやデータ構造体等の3次元データが含まれる。なお、ステップS20051乃至S20054の処理は、エンドツーエンド(end-to-end)の機械学習で行われてもよい。一方で、生成ステップとして通常処理が行われる場合、電子機器20001又はセンサ20011光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、補正済みデータからメタデータを生成する処理が行われる。
 以上のように、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ20011光センサ20011においては、センサ20011光センサ20011からの画像データを用いた補正処理として、補正対象画素を特定する特定ステップと補正対象画素を補正する補正ステップ、又は画像データに含まれる補正対象画素を補正する補正ステップが行われる。さらに、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又はセンサ20011光センサ20011では、補正処理で得られる補正済みデータを用い、メタデータを生成する生成ステップを行うこともできる。
 さらに、これらの補正済みデータや、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を生成することもできる。当該記憶媒体は、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011に備わるメインメモリ又は補助メモリなどの記憶媒体でもよいし、それらとは独立した記憶媒体又は電子機器でもよい。
 補正処理で特定ステップと補正ステップが行われる場合、特定ステップ、補正ステップ、及び生成ステップのうち、少なくとも1つのステップで、学習モデルを用いた推論処理を行うことができる。具体的には、特定ステップにおいて推論処理又は通常処理が行われた後に、補正ステップにおいて推論処理又は通常処理が行われ、さらに生成ステップにおいて推論処理又は通常処理が行われることで、少なくとも1つのステップで推論処理が行われる。
 また、補正処理で補正ステップのみが行われる場合、補正ステップで推論処理を行い、生成ステップで推論処理又は通常処理を行うことができる。具体的には、補正ステップにおいて推論処理が行われた後に、生成ステップにおいて推論処理又は通常処理が行われることで、少なくとも1つのステップで推論処理が行われる。
 このように、特定ステップ、補正ステップ、及び生成ステップにおいては、全てのステップで推論処理が行われてもよいし、あるいは一部のステップで推論処理が行われ、残りのステップで通常処理が行われてもよい。以下、各ステップで推論処理が行われる場合の処理を説明する。
(A)特定ステップで推論処理が行われる場合の処理
 補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成され、推論部20422に提供されて推論処理を行う際に用いられる。
 図17のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、シミュレータにより生成されたデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
(B)補正ステップで推論処理が行われる場合の処理
 補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
 図17のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、光センサからの画像データや、シミュレータからのにより生成されたデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
(C)補正ステップで推論処理が行われる場合の処理
 補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
 図17のフローチャートを参照しながら、補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、光センサからの画像データや、シミュレータからのにより生成されたデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
 ところで、学習モデルや画像データ、補正済みデータ等のデータは、単一の装置内で用いられることは勿論、複数の装置の間でやり取りされ、それらの装置内で用いられてもよい。図18は、複数の装置間でのデータの流れを示している。
 電子機器20001-1乃至20001-N(Nは1以上の整数)は、ユーザごとに所持され、それぞれ基地局(不図示)等を介してインターネット等のネットワーク20040に接続可能である。製造時において、電子機器20001-1には、学習装置20501が接続され、学習装置20501により提供される学習モデルを補助メモリ20104に記録することができる。学習装置20501は、シミュレータ20502により生成されたデータセットを教師データとして用いて学習モデルを生成し、電子機器20001-1に提供する。なお、教師データは、シミュレータ20502から提供されるデータセットに限らず、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データなどを用いても構わない。
 図示は省略しているが、電子機器20001-2乃至20001-Nについても、電子機器20001-1と同様に、製造時の段階で学習モデルを記録することができる。以下、電子機器20001-1乃至20001-Nをそれぞれ区別する必要がない場合には、電子機器20001と呼ぶ。
 ネットワーク20040には、電子機器20001のほかに、学習モデル生成サーバ20503、学習モデル提供サーバ20504、データ提供サーバ20505、及びアプリサーバ20506が接続され、相互にデータをやり取りすることができる。各サーバは、クラウドサーバとして設けることができる。
 学習モデル生成サーバ20503は、クラウドサーバ20003と同様の構成を有し、CPU等のプロセッサによって学習処理を行うことができる。学習モデル生成サーバ20503は、教師データを用いて学習モデルを生成する。図示した構成では、製造時に電子機器20001が学習モデルを記録する場合を例示しているが、学習モデルは、学習モデル生成サーバ20503から提供されてもよい。学習モデル生成サーバ20503は、生成した学習モデルをし、ネットワーク20040を介して電子機器20001に送信する。電子機器20001は、学習モデル生成サーバ20503から送信されてくる学習モデルを受信し、補助メモリ20104に記録する。これにより、その学習モデルを備える電子機器20001が生成される。
 すなわち、電子機器20001では、製造時の段階で学習モデルを記録していない場合には、学習モデル生成サーバ20503からの学習モデルを新規で記録することで、新たな学習モデルを記録した電子機器20001が生成される。また、電子機器20001では、製造時の段階で学習モデルを既に記録している場合、記録済みの学習モデルを、学習モデル生成サーバ20503からの学習モデルに更新することで、更新済みの学習モデルを記録した電子機器20001が生成される。電子機器20001では、適宜更新される学習モデルを用いて推論処理を行うことができる。
 学習モデルは、学習モデル生成サーバ20503から電子機器20001に直接提供するに限らず、各種の学習モデルを集約して管理する学習モデル提供サーバ20504がネットワーク20040を介して提供してもよい。学習モデル提供サーバ20504は、電子機器20001に限らず、他の装置に学習モデルを提供することで、その学習モデルを備える他の装置を生成しても構わない。また、学習モデルは、フラッシュメモリ等の着脱可能なメモリカードに記録して提供しても構わない。電子機器20001では、スロットに装着されたメモリカードから学習モデルを読み出して記録することができる。これにより、電子機器20001では、過酷環境下で使用される場合や、通信機能を有していない場合、通信機能を有しているが伝送可能な情報量が少ない場合などであっても、学習モデルを取得することができる。
 電子機器20001は、画像データや補正済みデータ、メタデータなどのデータを、ネットワーク20040を介して他の装置に提供することができる。例えば、電子機器20001は、画像データや補正済みデータ等のデータを、ネットワーク20040を介して学習モデル生成サーバ20503に送信する。これにより、学習モデル生成サーバ20503では、1又は複数の電子機器20001から収集された画像データや補正済みデータ等のデータを教師データとして用い、学習モデルを生成することができる。より多くの教師データを用いることで、学習処理の精度を上げることができる。
 画像データや補正済みデータ等のデータは、電子機器20001から学習モデル生成サーバ20503に直接提供するに限らず、各種のデータを集約して管理するデータ提供サーバ20505が提供してもよい。データ提供サーバ20505は、電子機器20001に限らず他の装置からデータを収集してもよいし、学習モデル生成サーバ20503に限らず他の装置にデータを提供しても構わない。
 学習モデル生成サーバ20503は、既に生成された学習モデルに対し、電子機器20001又はデータ提供サーバ20505から提供された画像データや補正済みデータ等のデータを教師データに追加した再学習処理を行い、学習モデルを更新してもよい。更新された学習モデルは、電子機器20001に提供することができる。学習モデル生成サーバ20503において、学習処理又は再学習処理を行う場合、電子機器20001の仕様や性能の違いに依らず、処理を行うことができる。
 また、電子機器20001において、補正済みデータやメタデータに対してユーザが修正の操作を行った場合(例えばユーザが正しい情報を入力した場合)に、その修正処理に関するフィードバックデータが、再学習処理に用いられてもよい。例えば、電子機器20001からのフィードバックデータを学習モデル生成サーバ20503に送信することで、学習モデル生成サーバ20503では、電子機器20001からのフィードバックデータを用いた再学習処理を行い、学習モデルを更新することができる。なお、電子機器20001では、ユーザによる修正の操作が行われる際に、アプリサーバ20506により提供されるアプリケーションが利用されてもよい。
 再学習処理は、電子機器20001が行ってもよい。電子機器20001において、画像データやフィードバックデータを用いた再学習処理を行って学習モデルを更新する場合、装置内で学習モデルの改善を行うことができる。これにより、その更新された学習モデルを備える電子機器20001が生成される。また、電子機器20001は、再学習処理で得られる更新後の学習モデルを学習モデル提供サーバ20504に送信して、他の電子機器20001に提供されるようにしてもよい。これにより、複数の電子機器20001の間で、更新後の学習モデルを共有することができる。
 あるいは、電子機器20001は、再学習された学習モデルの差分情報(更新前の学習モデルと更新後の学習モデルに関する差分情報)を、アップデート情報として、学習モデル生成サーバ20503に送信してもよい。学習モデル生成サーバ20503では、電子機器20001からのアップデート情報に基づき改善された学習モデルを生成して、他の電子機器20001に提供することができる。このような差分情報をやり取りすることで、全ての情報をやり取りする場合と比べてプライバシを保護することができ、また通信コストを削減することができる。なお、電子機器20001と同様に、電子機器20001に搭載されたセンサ20011光センサ20011が再学習処理を行ってもよい。
 アプリサーバ20506は、ネットワーク20040を介して各種のアプリケーションを提供可能なサーバである。アプリケーションは、学習モデルや補正済みデータ、メタデータ等のデータを用いた所定の機能を提供する。電子機器20001は、ネットワーク20040を介してアプリサーバ20506からダウンロードしたアプリケーションを実行することで、所定の機能を実現することができる。あるいは、アプリサーバ20506は、例えばAPI(Application Programming Interface)などを介して電子機器20001からデータを取得し、アプリサーバ20506上でアプリケーションを実行することで、所定の機能を実現することもできる。
 このように、本技術を適用した装置を含むシステムでは、各装置の間で、学習モデル、画像データ、補正済みデータ等のデータがやり取りされて流通し、それらのデータを用いた様々なサービスを提供することが可能となる。例えば、学習モデル提供サーバ20504を介した学習モデルを提供するサービスや、データ提供サーバ20505を介した画像データや補正済みデータ等のデータを提供するサービスを提供することができる。また、アプリサーバ20506を介したアプリケーションを提供するサービスを提供することができる。
 あるいは、学習モデル提供サーバ20504により提供される学習モデルに、電子機器20001のセンサ20011光センサ20011から取得した画像データを入力して、その出力として得られる補正済みデータが提供されてもよい。また、学習モデル提供サーバ20504により提供される学習モデルを実装した電子機器などの装置を製造生成して提供してもよい。さらに、学習モデルや補正済みデータ、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を製造生成して提供してもよい。当該記憶媒体は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの不揮発性メモリ(非一時的コンピュータ可読媒体)でもよいし、SRAM(Static Random Access Memory)や、DRAM(Dynamic Random Access Memory)などの揮発性メモリでもよい。
 前述した実施形態は、以下のような形態としてもよい。
(1)
 プロセッサによりデータを生成する方法であって、
 CGモデルから、機械学習において推定モデルの最適化に用いられる訓練データを取得する、
 データ生成方法。
(2)
 前記CGモデルから、撮影するカメラのパラメータに基づいた画像を取得する、
 (1)に記載のデータ生成方法。
(3)
 前記カメラのパラメータは、前記カメラのレンズに関するパラメータを備える、
 (2)に記載のデータ生成方法。
(4)
 前記カメラのレンズに関するパラメータは、魚眼レンズ、広角レンズ、望遠レンズ、マクロレンズ又は標準レンズのうち、少なくとも1つに基づいたパラメータである、
 (3)に記載のデータ生成方法。
(5)
 前記カメラのレンズに関するパラメータは、前記カメラのレンズに起因する、ぼけ、歪み、シェーディング、フレア又はゴーストのうち少なくとも1つに関するパラメータである、
 (3)又は(4)に記載のデータ生成方法。
(6)
 前記カメラのパラメータは、前記カメラの受光センサに関するパラメータを備える、
 (2)から(5)のいずれかに記載のデータ生成方法。
(7)
 前記カメラのセンサに関するパラメータは、白色画素、黒色画素又はランダムな画素値を有する欠陥のうち少なくとも1つに関するパラメータである、
 (6)に記載のデータ生成方法。
(8)
 前記カメラのセンサに関するパラメータは、像面位相差取得用の画素、偏光画素、IR取得画素、UV取得画素、測距用の画素又は温度画素のうち少なくとも1つに関するパラメータである、
 (6)又は(7)に記載のデータ生成方法。
(9)
 前記カメラのセンサに関するパラメータは、カラーフィルタ特性、分光特性、カラーフィルタ配列、温度特性、変換効率、感度又は読み出し順のうち少なくとも1つに関するパラメータである、
 (6)から(8)のいずれかに記載のデータ生成方法。
(10)
 前記CGモデルから取得した撮影するカメラのパラメータにより変換された画像に対して、データ圧縮に関するパラメータに基づいて圧縮された画像を取得する、
 (1)から(9)のいずれかに記載のデータ生成方法。
(11)
 前記データ圧縮に関するパラメータは、圧縮アルゴリズム、圧縮率、ビットレート、階調又は色空間変換のうち少なくとも1つに関するパラメータを備える、
 (10)に記載のデータ生成方法。
(12)
 前記CGモデルから、マルチスペクトル画像、ハイパースペクトル画像を取得する、
 (1)から(11)のいずれかに記載のデータ生成方法。
(13)
 前記CGモデルから、撮影条件に基づいた画像を取得する、
 (1)から(12)のいずれかに記載のデータ生成方法。
(14)
 前記撮影条件は、光源の種類、位置又は方向のうち少なくとも1つに関する、
 (13)に記載のデータ生成方法。
(15)
 前記撮影条件は、画素値の飽和に関する、
 (13)又は(14)に記載のデータ生成方法。
(16)
 前記撮影条件は、露出に関する、
 (13)から(15)のいずれかに記載のデータ生成方法。
(17)
 前記CGモデルから、
  前記推定モデルの入力画像となる通常画像と、
  前記通常画像を入力した場合の望ましい出力画像である理想画像と、
 を別々に取得する、
 (1)から(16)のいずれかに記載のデータ生成方法。
(18)
 前記CGモデルから、(2)から(17)の少なくともいずれか1つに記載の方法を用いて前記通常画像及び前記理想画像を取得する、
 (17)に記載のデータ生成方法。
(19)
 前記CGモデルにアノテーションを付与して前記理想画像を取得する、
 (17)又は(18)に記載のデータ生成方法。
(20)
 前記アノテーションは、前記理想画像の領域ごと又は画素ごとに付与される、
 (19)に記載のデータ生成方法。
(21)
 前記アノテーションは、前記CGモデルから前記理想画像を生成する変換と同じ変換における幾何学的変換により変換されて付与される、
 (19)又は(20)に記載のデータ生成方法。
(22)
 (1)から(21)のいずれかに記載の前記データ生成方法を用いて取得した訓練データを用いて前記推定モデルを最適化する、学習方法。
(22)
 (1)から(21)のいずれかに記載の前記データ生成方法を用いて取得した訓練データを用いて最適化された前記推定モデルを用いた推定を実行する、推定方法。
(23)
 (1)から(22)のいずれかに記載の方法を実行するためのプロセッサを備える、データ生成装置、学習装置又は推定装置。
 さらに、以下のような態様とすることも可能である。
(1)
 CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、
 プロセッサにより、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、
 を備える、画像生成方法。
 また、当該画像方法により生成された画像を記録媒体に記憶すること、
 を備える記録媒体生成方法。
(2)
 前記CGモデル又は前記人工画像を加工する少なくとも1つのパラメータを選択することと、
 前記CGモデル又は前記人工画像を生成するタイミングにおいて、前記選択されたパラメータに基づいて前記CGモデル又は前記人工画像に施すことと、
 をさらに備える、(1)に記載に画像生成方法。
(3)
 前記少なくとも1つのパラメータは、前記センサに関するパラメータである、
 (2)に記載の画像生成方法。
(4)
 前記センサは、少なくともカメラを備える、
 (3)に記載の画像生成方法。
(5)
 前記センサで取得した画像に対して使用される前記AIは、前記センサ又は前記カメラに起因した画像の変化を補正することに用いられる、
 (4)に記載の画像生成方法。
(6)
 前記加工画像又は前記人工画像のメタデータを記録媒体に記録すること、
 をさらに備える、(1)に記載の画像生成方法。
(7)
 前記加工画像又は前記人工画像のメタデータを前記人工画像と関連付けて前記記憶媒体に記録する、
 (6)に記載の画像生成方法。
(8)
 プロセッサを備え、
 前記プロセッサは、
  CGモデル又は前記CGモデルに基づいて生成された人工画像を取得し、
  前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成する、
 画像生成装置。
(9)
 プロセッサに実行させると、
  CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、
  前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、
 を備える画像生成方法を実行するプログラムを格納した、非一時的コンピュータ可読媒体。
(10)
 センサで取得した画像に対して用いられるAIの学習モデル生成方法であって、
  第1画像データを取得することと、
  前記第1画像データと異なる第2画像データを取得することと、
  前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、
 を備え、
 前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
 前記第2画像データは、プロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
 学習モデル生成方法。
(11)
 前記第2画像データは、前記第2画像のメタデータである、
 (10)に記載の学習モデル生成方法。
(12)
 プロセッサを備え、センサで取得した画像に対して用いられるAIの学習モデルを生成する学習モデル生成装置であって、
 前記プロセッサは、
  第1画像データを取得し、
  前記第1画像データと異なる第2画像データを取得し、
  前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成し、
 前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
 前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
 学習モデル生成装置。
(13)
 プロセッサに実行させると、
  第1画像データを取得することと、
  前記第1画像データと異なる第2画像データを取得することと、
  前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、
 を備える学習モデル生成方法を実行するプログラムであって、
 前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
 前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
 プログラムを格納した、非一時的コンピュータ可読媒体。
(14)
 センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法であって、
 プロセッサにより、
  入力画像データを取得することと、
  前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、
 を備え、
 前記学習モデルは、
  第1画像データと、前記第1画像データと異なる第2画像データを取得することと、
  前記第1画像データと、前記第2画像データと、に基づいて、学習することと、
 により生成されたモデルであり、
 前記第1画像データは、人工的に生成された人工画像であり、
 前記第2画像データは、前記第1画像に対して処理が施されたデータである、
 推論方法。
(15)
 センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する電子機器であって、制御装置を有し、
 前記制御装置は、
  入力画像データが入力されると、
  前記入力画像データを前記学習モデルに入力し、
  前記入力画像データが入力された学習モデルの処理結果を取得し、
  取得した前記処理結果を出力し、
 前記学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像とによって学習されたモデルである、
 電子機器。
(16)
 センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法をプロセッサに実行させるプログラムであって、
 前記推論方法は、
  入力画像データを取得することと、
  前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、
 を備え、
 前記学習モデルは、
  第1画像データと、前記第1画像データと異なる第2画像データを取得することと、
  前記第1画像データと、前記第2画像データと、に基づいて、学習することと、
 により生成されたモデルであり、
 前記第1画像データは、人工的に生成された人工画像であり、
 前記第2画像データは、前記第1画像に対して処理が施されたデータである、
 プログラム。
(17)
 センサで取得した画像に対して使用されるAIの学習モデルを生成する生成方法であって、
 人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいて、センサで取得される前記人工画像に対応する画像を入力すると、前記加工画像に対応した画像を出力する学習モデルを学習すること、
 を備える生成方法。
(18)
 (17)で生成された前記学習モデルを電子機器が有する非一時的コンピュータ可読媒体に記録すること、
 を備える電子機器の生成方法。
(19)
 センサで取得した画像に対して使用されるAIの学習モデルであって、
  複数のノードで構成される複数の階層を有し、
  前記複数の階層のそれぞれは、関数を有するとともに、前記複数の階層のそれぞれにおける前記複数のノードのそれぞれは、前記複数の階層の他の階層の1又は複数のノードとエッジを介して接続され、
  前記エッジは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいた重み付けを有する、
 学習モデル。
(20)
 センサで取得した画像に対して使用されるAIの学習モデルが記録された非一時的コンピュータ可読媒体であって、
 前記学習モデルは、
  複数のノードで構成される複数の階層を有し、
  前記複数の階層のそれぞれは、関数を有するとともに、前記複数の階層のそれぞれにおける前記複数のノードのそれぞれは、前記複数の階層の他の階層の1又は複数のノードとエッジを介して接続され、
  前記エッジは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいて求められた重み付け情報が、前記エッジに関連付けられて記録されている、
 非一時的コンピュータ可読媒体。
(21)
 学習モデルからの結果に基づいて、データ処理されるデータ処理方法であって、
  学習モデルの結果が入力されることと、
  前記学習モデルの結果に基づいて、処理データを生成することと、
  前記処理データを出力することと、
 を備え、
 前記学習モデルからの結果は、
  取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
 前記あらかじめ学習された学習モデルは、
  人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
 データ処理方法。
(22)
 学習モデルからの結果に基づいて、データ処理を実行するデータ処理装置であって、
  学習モデルの結果が入力されることと、
  前記学習モデルの結果に基づいて、処理データを生成することと、
  前記処理データを出力することと、
 を実行するプロセッサを備え、
 前記学習モデルからの結果は、
  取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
 前記あらかじめ学習された学習モデルは、
  人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
 データ処理装置。
(23)
 プロセッサに、学習モデルからの結果に基づいて、データ処理されるデータ処理方法を実行させるプログラムであって、
 前記データ処理方法は、
  学習モデルの結果が入力されることと、
  前記学習モデルの結果に基づいて、処理データを生成することと、
  前記処理データを出力することと、
 を備え、
 前記学習モデルからの結果は、
  取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
 前記あらかじめ学習された学習モデルは、
  人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
 プログラム。
(24)
 AIの学習において用いられる画像を生成する画像生成方法であって、
  人工的に生成された人工画像を入力することと、
  前記人工画像に対して加工処理を施した加工画像を生成することと、
  前記加工画像を出力することと、
 を備える画像生成方法。
(25)
 (15)に記載の画像生成方法。
(26)
 前記人工画像は、コンピュータグラフィックスにより生成された画像である、
 (1)に記載の画像生成方法。
(27)
 前記人工画像は、メタデータを有し、
 前記メタデータは、アノテーションの付与に使用される、
 (1)に記載の画像生成方法。
(28)
 前記加工画像と、前記加工画像に対応する前記人工画像と、が対応づけられて記録される、
 (1)に記載の画像生成方法。
 本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
1:データ生成システム、
2:CGジェネレータ、
3:シミュレータ、
300:入出力I/F、302:記憶部、304:通常モデル適用部、306:理想モデル適用部、308:アノテーション付与部、
4:機械学習システム、
5:機械学習装置

Claims (24)

  1.  CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、
     プロセッサにより、前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、
     を備える、画像生成方法。
  2.  前記CGモデル又は前記人工画像を加工する少なくとも1つのパラメータを選択することと、
     前記CGモデル又は前記人工画像を生成するタイミングにおいて、前記選択されたパラメータに基づいて前記CGモデル又は前記人工画像に施すことと、
     をさらに備える、請求項1に記載に画像生成方法。
  3.  前記少なくとも1つのパラメータは、前記センサに関するパラメータである、
     請求項2に記載の画像生成方法。
  4.  前記センサは、少なくともカメラを備える、
     請求項3に記載の画像生成方法。
  5.  前記センサで取得した画像に対して使用される前記AIは、前記センサ又は前記カメラに起因した画像の変化を補正することに用いられる、
     請求項4に記載の画像生成方法。
  6.  前記加工画像又は前記人工画像のメタデータを記録媒体に記録すること、
     をさらに備える、請求項1に記載の画像生成方法。
  7.  前記加工画像又は前記人工画像のメタデータを前記人工画像と関連付けて前記記憶媒体に記録する、
     請求項6に記載の画像生成方法。
  8.  請求項1に記載の画像生成方法で生成した画像を記録媒体に記憶すること、
     を備える記録媒体生成方法。
  9.  プロセッサを備え、
     前記プロセッサは、
      CGモデル又は前記CGモデルに基づいて生成された人工画像を取得し、
      前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成する、
     画像生成装置。
  10.  プロセッサに実行させると、
      CGモデル又は前記CGモデルに基づいて生成された人工画像を取得することと、
      前記CGモデル又は前記人工画像に対して加工処理を施し、センサで取得した画像に対して使用されるAIの学習に用いられる加工画像又は前記人工画像のメタデータを生成することと、
     を備える画像生成方法を実行するプログラムを格納した、非一時的コンピュータ可読媒体。
  11.  センサで取得した画像に対して用いられるAIの学習モデル生成方法であって、
      第1画像データを取得することと、
      前記第1画像データと異なる第2画像データを取得することと、
      前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、
     を備え、
     前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
     前記第2画像データは、プロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
     学習モデル生成方法。
  12.  前記第2画像データは、前記第2画像のメタデータである、
     請求項11に記載の学習モデル生成方法。
  13.  プロセッサを備え、センサで取得した画像に対して用いられるAIの学習モデルを生成する学習モデル生成装置であって、
     前記プロセッサは、
      第1画像データを取得し、
      前記第1画像データと異なる第2画像データを取得し、
      前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成し、
     前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
     前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
     学習モデル生成装置。
  14.  プロセッサに実行させると、
      第1画像データを取得することと、
      前記第1画像データと異なる第2画像データを取得することと、
      前記第1画像データと、前記第2画像データと、に基づいて、前記第1画像データを入力すると、前記第2画像データに対応した画像を出力する前記学習モデルを生成することと、
     を備える学習モデル生成方法を実行するプログラムであって、
     前記第1画像データは、CGモデル又は前記CGモデルに基づいて生成された人工画像であり、
     前記第2画像データは、前記プロセッサと同一のプロセッサ又は前記プロセッサと異なるプロセッサにより、前記CGモデル又は前記CGモデルに基づいて生成された人工画像に対して処理が施されたデータである、
     プログラムを格納した、非一時的コンピュータ可読媒体。
  15.  センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法であって、
     プロセッサにより、
      入力画像データを取得することと、
      前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、
     を備え、
     前記学習モデルは、
      第1画像データと、前記第1画像データと異なる第2画像データを取得することと、
      前記第1画像データと、前記第2画像データと、に基づいて、学習することと、
     により生成されたモデルであり、
     前記第1画像データは、人工的に生成された人工画像であり、
     前記第2画像データは、前記第1画像に対して処理が施されたデータである、
     推論方法。
  16.  センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する電子機器であって、制御装置を有し、
     前記制御装置は、
      入力画像データが入力されると、
      前記入力画像データを前記学習モデルに入力し、
      前記入力画像データが入力された学習モデルの処理結果を取得し、
      取得した前記処理結果を出力し、
     前記学習モデルは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像とによって学習されたモデルである、
     電子機器。
  17.  センサで取得した画像に対して使用されるAIの学習モデルで推論を実行する推論方法をプロセッサに実行させるプログラムであって、
     前記推論方法は、
      入力画像データを取得することと、
      前記入力画像データが入力された前記学習モデルから、前記学習モデルの処理結果を取得すること、
     を備え、
     前記学習モデルは、
      第1画像データと、前記第1画像データと異なる第2画像データを取得することと、
      前記第1画像データと、前記第2画像データと、に基づいて、学習することと、
     により生成されたモデルであり、
     前記第1画像データは、人工的に生成された人工画像であり、
     前記第2画像データは、前記第1画像に対して処理が施されたデータである、
     プログラム。
  18.  センサで取得した画像に対して使用されるAIの学習モデルを生成する生成方法であって、
     人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいて、センサで取得される前記人工画像に対応する画像を入力すると、前記加工画像に対応した画像を出力する学習モデルを学習すること、
     を備える生成方法。
  19.  請求項18で生成された前記学習モデルを電子機器が有する非一時的コンピュータ可読媒体に記録すること、
     を備える電子機器の生成方法。
  20.  センサで取得した画像に対して使用されるAIの学習モデルであって、
      複数のノードで構成される複数の階層を有し、
      前記複数の階層のそれぞれは、関数を有するとともに、前記複数の階層のそれぞれにおける前記複数のノードのそれぞれは、前記複数の階層の他の階層の1又は複数のノードとエッジを介して接続され、
      前記エッジは、人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、に基づいた重み付けを有する、
     学習モデル。
  21.  学習モデルからの結果に基づいて、データ処理されるデータ処理方法であって、
      学習モデルの結果が入力されることと、
      前記学習モデルの結果に基づいて、処理データを生成することと、
      前記処理データを出力することと、
     を備え、
     前記学習モデルからの結果は、
      取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
     前記あらかじめ学習された学習モデルは、
      人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
     データ処理方法。
  22.  学習モデルからの結果に基づいて、データ処理を実行するデータ処理装置であって、
      学習モデルの結果が入力されることと、
      前記学習モデルの結果に基づいて、処理データを生成することと、
      前記処理データを出力することと、
     を実行するプロセッサを備え、
     前記学習モデルからの結果は、
      取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
     前記あらかじめ学習された学習モデルは、
      人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
     データ処理装置。
  23.  プロセッサに、学習モデルからの結果に基づいて、データ処理されるデータ処理方法を実行させるプログラムであって、
     前記データ処理方法は、
      学習モデルの結果が入力されることと、
      前記学習モデルの結果に基づいて、処理データを生成することと、
      前記処理データを出力することと、
     を備え、
     前記学習モデルからの結果は、
      取得された画像データを、あらかじめ学習された学習モデルに入力されることによって取得され、
     前記あらかじめ学習された学習モデルは、
      人工的に生成された人工画像と、前記人工画像に対して処理が施された加工画像と、によって学習されている、
     プログラム。
  24.  AIの学習において用いられる画像を生成する画像生成方法であって、
      人工的に生成された人工画像を入力することと、
      前記人工画像に対して加工処理を施した加工画像を生成することと、
      前記加工画像を出力することと、
     を備える画像生成方法。
PCT/JP2021/008019 2020-03-05 2021-03-02 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体 WO2021177324A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180017681.0A CN115226406A (zh) 2020-03-05 2021-03-02 图像生成装置、图像生成方法、记录介质生成方法、学习模型生成装置、学习模型生成方法、学习模型、数据处理装置、数据处理方法、推断方法、电子装置、生成方法、程序和非暂时性计算机可读介质
EP21764811.2A EP4116938A4 (en) 2020-03-05 2021-03-02 IMAGE GENERATING DEVICE, IMAGE GENERATING METHOD, RECORDING MEDIA GENERATING METHOD, LEARNING MODEL GENERATING DEVICE, LEARNING MODEL GENERATING METHOD, LEARNING MODEL, DEVICE FOR PROCESSING DATA, DATA PROCESSING METHOD, DEDUCTION METHOD, ELECTRONIC INSTRUMENT, GENERATION METHOD, PROGRAM AND NON-TRANSITORY COMPUTER READABLE MEDIA
US17/801,424 US20230078763A1 (en) 2020-03-05 2021-03-02 Image generation device, image generation method, recording medium generation method, learning model generation device, learning model generation method, learning model, data processing device, data processing method, inference method, electronic device, generation method, program and non-temporary computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-038061 2020-03-05
JP2020038061A JP2023056056A (ja) 2020-03-05 2020-03-05 データ生成方法、学習方法及び推定方法

Publications (1)

Publication Number Publication Date
WO2021177324A1 true WO2021177324A1 (ja) 2021-09-10

Family

ID=77613476

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/008019 WO2021177324A1 (ja) 2020-03-05 2021-03-02 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体

Country Status (6)

Country Link
US (1) US20230078763A1 (ja)
EP (1) EP4116938A4 (ja)
JP (1) JP2023056056A (ja)
CN (1) CN115226406A (ja)
TW (1) TW202143120A (ja)
WO (1) WO2021177324A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149411A1 (ja) * 2021-01-07 2022-07-14 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法、シミュレーションシステム
WO2023095564A1 (ja) * 2021-11-24 2023-06-01 ソニーグループ株式会社 情報処理装置及び情報処理方法
WO2023157622A1 (ja) * 2022-02-15 2023-08-24 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2023171755A1 (ja) * 2022-03-09 2023-09-14 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、記録媒体、情報処理システム
WO2023238719A1 (ja) * 2022-06-08 2023-12-14 ソニーグループ株式会社 情報処理装置、情報処理方法、および、コンピュータ読み取り可能な非一時的記憶媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220414234A1 (en) * 2021-06-23 2022-12-29 Palantir Technologies Inc. Approaches of performing data processing while maintaining security of encrypted data
JP7302107B1 (ja) * 2022-01-07 2023-07-03 楽天グループ株式会社 学習システム、学習方法、及びプログラム
US11803710B1 (en) * 2023-03-28 2023-10-31 SurgeTech, LLC Multi-modal machine learning architectures integrating language models and computer vision systems
CN116797494B (zh) * 2023-08-17 2023-11-21 中南大学湘雅医院 一种基于图像处理的产科手术监测方法、系统及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066351A1 (ja) * 2016-10-06 2018-04-12 株式会社アドバンスド・データ・コントロールズ シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
JP2020030569A (ja) * 2018-08-22 2020-02-27 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体
JP2020201540A (ja) * 2019-06-06 2020-12-17 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの製造方法、および、プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4254349A3 (en) * 2018-07-02 2023-12-06 MasterCard International Incorporated Methods for generating a dataset of corresponding images for machine vision learning
US11182877B2 (en) * 2018-08-07 2021-11-23 BlinkAI Technologies, Inc. Techniques for controlled generation of training data for machine learning enabled image enhancement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066351A1 (ja) * 2016-10-06 2018-04-12 株式会社アドバンスド・データ・コントロールズ シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
JP2020030569A (ja) * 2018-08-22 2020-02-27 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体
JP2020201540A (ja) * 2019-06-06 2020-12-17 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの製造方法、および、プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149411A1 (ja) * 2021-01-07 2022-07-14 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法、シミュレーションシステム
WO2023095564A1 (ja) * 2021-11-24 2023-06-01 ソニーグループ株式会社 情報処理装置及び情報処理方法
WO2023157622A1 (ja) * 2022-02-15 2023-08-24 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2023171755A1 (ja) * 2022-03-09 2023-09-14 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、記録媒体、情報処理システム
WO2023238719A1 (ja) * 2022-06-08 2023-12-14 ソニーグループ株式会社 情報処理装置、情報処理方法、および、コンピュータ読み取り可能な非一時的記憶媒体

Also Published As

Publication number Publication date
EP4116938A1 (en) 2023-01-11
JP2023056056A (ja) 2023-04-19
US20230078763A1 (en) 2023-03-16
CN115226406A (zh) 2022-10-21
EP4116938A4 (en) 2023-08-09
TW202143120A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
WO2021177324A1 (ja) 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体
KR102227583B1 (ko) 딥 러닝 기반의 카메라 캘리브레이션 방법 및 장치
WO2022165809A1 (zh) 一种训练深度学习模型的方法和装置
CN116018616A (zh) 保持帧中的目标对象的固定大小
US10748243B2 (en) Image distortion transformation method and apparatus
WO2021164234A1 (zh) 图像处理方法以及图像处理装置
WO2020152521A1 (en) Systems and methods for transforming raw sensor data captured in low-light conditions to well-exposed images using neural network architectures
KR20210089166A (ko) 신경망을 사용한 밝은 반점 제거
CN108875900B (zh) 视频图像处理方法和装置、神经网络训练方法、存储介质
JP6332037B2 (ja) 画像処理装置および方法、並びにプログラム
WO2023024697A1 (zh) 图像拼接方法和电子设备
US9299011B2 (en) Signal processing apparatus, signal processing method, output apparatus, output method, and program for learning and restoring signals with sparse coefficients
KR20090087670A (ko) 촬영 정보 자동 추출 시스템 및 방법
US20210319234A1 (en) Systems and methods for video surveillance
CN114125310B (zh) 拍照方法、终端设备及云端服务器
WO2021193391A1 (ja) データ生成方法、学習方法及び推定方法
CN112750092A (zh) 训练数据获取方法、像质增强模型与方法及电子设备
Li et al. Multiframe-based high dynamic range monocular vision system for advanced driver assistance systems
CN113454980A (zh) 全景拍摄方法、电子设备及存储介质
CN114298942A (zh) 图像去模糊方法及装置、计算机可读介质和电子设备
CN113610865B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN114358112A (zh) 视频融合方法、计算机程序产品、客户端及存储介质
CN113315925A (zh) 数据处理方法、设备、拍摄系统及计算机存储介质
WO2023086398A1 (en) 3d rendering networks based on refractive neural radiance fields
WO2022127576A1 (zh) 站点模型更新方法及系统

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

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

Country of ref document: EP

Effective date: 20221005

NENP Non-entry into the national phase

Ref country code: JP