WO2021193391A1 - データ生成方法、学習方法及び推定方法 - Google Patents
データ生成方法、学習方法及び推定方法 Download PDFInfo
- Publication number
- WO2021193391A1 WO2021193391A1 PCT/JP2021/011271 JP2021011271W WO2021193391A1 WO 2021193391 A1 WO2021193391 A1 WO 2021193391A1 JP 2021011271 W JP2021011271 W JP 2021011271W WO 2021193391 A1 WO2021193391 A1 WO 2021193391A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- image
- shooting
- condition
- model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Definitions
- This disclosure relates to a data generation method, a learning method, and an estimation method.
- the present disclosure realizes the generation of training data arbitrarily photographed in various sensor states.
- the data generation method is a method of generating training data used for machine learning from a CG model by a processor, and in the CG model, a first image acquired under the first shooting condition and a first image.
- a second image acquired under a second imaging condition different from the imaging condition is generated by simulation, and at least the first image and the second image are acquired as input image data in the training data.
- the shooting position included in the first shooting condition may be a position different from the shooting position included in the second shooting condition.
- the third shooting condition including the condition of shooting from the same position as either the first shooting condition and the second shooting condition in the CG model, or from a different position in both the first shooting condition and the second shooting condition.
- the third image to be generated may be generated by simulation, or at least the third image may be acquired as output image data in the training data.
- the first shooting condition and the second shooting condition may include optical systems having different angles of view.
- a third image shot may be acquired by changing the angle of view of the third shooting condition to a plurality of angles.
- the first shooting condition and the second shooting condition may include optical systems having different dynamic ranges.
- the first shooting condition may be less saturated with pixel values than the second shooting condition, and the second shooting condition may be less noisy than the first shooting condition.
- the first shooting condition may be a sensor that acquires the sensed information by logarithmically converting it
- the second shooting condition may be a sensor that acquires the sensed information without logarithmically converting it.
- the exposure time may be different between the first shooting condition and the second shooting condition.
- the first imaging condition and the second imaging condition may differ in the charge accumulation time in the sensor.
- the third image may be an image having a high dynamic range.
- the first shooting condition and the second shooting condition may include conditions in which the information sensed by the sensor is different.
- the first shooting condition may be shooting for acquiring color information
- the second shooting condition may be shooting for acquiring temperature information
- the second shooting condition may be shooting with a sensor that senses infrared rays.
- the first shooting condition may be shooting for acquiring grayscale information
- the second shooting condition may be shooting for acquiring color information
- the first shooting condition may be shooting for acquiring grayscale information
- the second shooting condition may be shooting for acquiring information using plasmon resonance.
- the pixel size of the sensor under the first shooting condition and the pixel size of the sensor under the second shooting condition may be different sizes.
- the first shooting condition may be shooting for acquiring color information
- the second shooting condition may be shooting for acquiring distance information
- the third shooting condition may be shooting that acquires distance information in the same position and direction as the first shooting condition.
- the second shooting condition and the third shooting condition may be shooting for acquiring a TOF image.
- the first imaging condition and the second imaging condition may be imaging by an optical system including an ultra-wide-angle lens and facing in the opposite direction having optical systems that do not mechanically interfere with each other.
- a fourth image acquired under the fourth shooting condition which is shot by an optical system that faces a different direction from the third shooting condition and has the same principal point as the optical system under the third shooting condition, may be generated by simulation.
- the fourth image may be acquired as the output data of the training data.
- the deviation of the position of the second imaging condition from the predetermined position and the deviation of the direction of the optical axis of the second imaging condition from the predetermined direction may be acquired as teacher data of the training data.
- the first predetermined position, the second predetermined position, the first optical axis direction and the second optical axis direction may be set, and the first shooting condition is the first optical axis direction from a position randomly deviated from the first predetermined position.
- a direction randomly deviated from the second optical axis may be photographed, and the second photographing condition may be a direction randomly deviated from the second optical axis direction from a position randomly deviated from the second predetermined position.
- a third image acquired under the third imaging condition, which captures the first optical axis direction from the first predetermined position, may be generated by simulation, and the second optical axis direction is captured from the second predetermined position, the fourth.
- the fourth image acquired according to the shooting conditions may be generated by simulation, or the third image and the fourth image may be acquired as teacher data of training data.
- the shooting conditions may include a condition for generating a set of input image data in 3 or more training data.
- the shooting conditions may include a condition for generating a set of output image data in two or more training data.
- the learning method performs optimization of the estimation model using the training data generated by the above data generation method.
- the estimation model may be a neural network model.
- the estimation method acquires estimation data for input data which is live-action data by using an estimation model optimized using the training data generated by the above data generation method.
- the estimation model may be a neural network model.
- the data generation device includes a memory and a processor, and the processor executes the above data generation method.
- the learning device includes a memory and a processor, and the processor executes the above learning method.
- the estimation device includes a memory and a processor, and the processor executes the above estimation method.
- the program causes the processor to execute the above data generation method, learning method or estimation method.
- the non-temporary computer-readable medium stores a program for executing any of the above.
- the training model generation method is a method of generating a training model using training data used for machine learning generated from the CG model by a processor, and in the CG model, according to the first imaging condition.
- the acquired first image and the second image acquired under the second imaging condition different from the first imaging condition are generated by simulation, and at least the first image and the second image are input image data in the training data. Get as.
- the acquisition of the input image data may be generated by any of the data generation methods described above.
- the storage medium generation method includes storing the learning model generated by the learning model generation method described above in the storage medium.
- the method of generating an electronic device includes storing the learning model generated by the method of generating the learning model described above in the storage medium of the electronic device.
- the figure which shows an example of the camera arrangement in the CG model which concerns on one Embodiment The figure which shows an example of the camera arrangement in the real world which concerns on one Embodiment.
- the figure which shows an example of the camera arrangement in the CG model which concerns on one Embodiment The figure which shows an example of the camera arrangement in the CG model which concerns on one Embodiment.
- the figure which shows an example of the camera arrangement in the CG model which concerns on one Embodiment The figure which shows an example of the camera arrangement in the CG model which concerns on one Embodiment.
- images taken in various states are generated and acquired by simulation using a CG model, and are used as training data in machine learning.
- Images taken in different states are, for example, images taken in different directions or situations by multiple cameras with the same or different performance.
- FIG. 1 is a diagram showing an example of a data generation system according to an embodiment.
- the data generation system 1 is composed of separate devices, it may be configured as a data generation device having a function including all of them.
- the data generation system 1 includes a CG generator 2 and a simulator 3.
- CG generator 2 is a device that generates a CG model.
- the CG generator 2 arranges one or more objects in the CG model of the landscape, for example.
- the generation of this CG may be realized by the instruction of the user.
- the simulator 3 includes an input / output interface (hereinafter referred to as an input / output I / F 300), a storage unit 302, a condition setting unit 304, and an image generation unit 306.
- This simulator 3 executes a simulation using the CG model generated by the CG generator 2 and generates training data for machine learning.
- the simulator 3 generates images under various shooting conditions by executing a simulation in consideration of the light ray conditions, the camera position, the optical system, and the sensor system conditions in the CG model.
- the simulator 3 generates an image by executing rendering such as ray tracing, for example.
- the input / output I / F 300 executes data transmission and reception between the simulator 3 and the outside.
- the input / output I / F 300 receives the CG model generated by the CG generator 2 as an input and stores it in the storage unit 302.
- the input / output I / F 300 outputs the image generated by the simulator 3 to the outside.
- the input / output I / F 300 may accept a request from the user.
- the storage unit 302 stores at least the data required for the simulator 3. For example, data or the like input via the input / output I / F 300 may be stored. For example, the information set by the condition setting unit 304 may be stored. Further, for example, the image generated by the image generation unit 306 may be stored.
- the condition setting unit 304 sets the shooting conditions in the CG model.
- the shooting conditions are, for example, the conditions of a camera that acquires an image in a CG model, or external conditions such as a light source.
- the conditions of the camera include, for example, the conditions of the lens system of the camera and the conditions of the sensor that receives light through the lens system.
- the conditions of the light source are, for example, conditions for determining the type of the light source, the direction of the light source, and the like.
- the image generation unit 306 generates an image acquired in the CG model by simulation based on the conditions set by the condition setting unit 304.
- the simulation is performed by numerical calculation. This generation is performed using a rendering technique such as ray tracing.
- the image generation unit 306 irradiates the environment and object information in the CG model with light from the light source set in the condition setting unit 304 to generate a rendered model.
- This rendered model simulates what kind of image can be acquired based on the shooting conditions related to the camera, and the image of the CG model for the shooting conditions is acquired.
- the condition setting unit 304 can also set a plurality of shooting conditions.
- the image generation unit 306 generates an image that can be acquired under a plurality of shooting conditions for the same CG model. For example, when the condition setting unit 304 sets three shooting conditions of the first shooting condition, the second shooting condition, and the third shooting condition, the image generation unit 306 sets the first image and the second shooting condition based on the first shooting condition. The second image is simulated and generated based on the shooting conditions, and the third image is simulated and generated based on the third shooting conditions. The first image, the second image, and the third image are output from the data generation system 1 as training data.
- the shooting conditions are three, but the shooting conditions are not limited to three, and may be two or four or more.
- FIG. 2 is a diagram showing an example of a training device (learning device) that executes machine learning according to one embodiment.
- the training device 4 includes an input / output I / F 400, a storage unit 402, a training unit 404, and further includes a model 406 to be trained.
- the training device 4 executes training of the model 406 that estimates some result from the image using the training data output by the data generation system 1.
- the input / output I / F 400 executes input / output of data etc. between the training device 4 and the outside.
- the storage unit 402 stores at least the necessary data in the training device 4. For example, training data or the like input via the input / output I / F 400 may be stored.
- the training unit 404 may store the data necessary for executing the training. Further, for example, at least one of the hyperparameters, the parameters in the process of optimization, or the optimized parameters constituting the model 406 may be stored.
- the training unit 404 trains the model 406 using the machine learning method using the training data input via the input / output I / F 400. This machine learning may be performed in a commonly known manner.
- the model whose optimization has been completed by training may be output via the input / output I / F 400 or may be stored in the storage unit 402.
- Model 406 is a model that, when some data is input, estimates and outputs another data related to that data.
- Model 406 may be a neural network model. Further, the model may be based on various statistical models. When optimized, model 406 is output as a trained model.
- This training device 4 executes optimization of the model 406 based on a plurality of sets of training data output from the data generation system 1.
- the data generation system 1 generates a set of training data required for optimization in the training device 4.
- This training data may be converted into a larger number of data by the augmentation method, and in the data generation system 1, various shooting conditions constrained by the conditions necessary for the estimation model optimization are set. After that, the data may be acquired a plurality of times.
- FIG. 3 is a diagram showing an example of an estimation device that executes estimation according to an embodiment.
- the estimation device 5 includes an input / output I / F 500, a storage unit 502, an estimation unit 504, and further includes a trained model 506 used for estimation.
- the estimation device 5 outputs the estimation result by inputting data into the trained model 506.
- the input / output I / F 500 executes input / output of data etc. between the estimation device 5 and the outside.
- the storage unit 502 stores at least the data required for the estimation device 5. For example, data or the like input via the input / output I / F 500 may be stored.
- the estimation unit 504 may store the data necessary for executing the estimation. Further, for example, at least one of the hyperparameters or the optimized parameters constituting the trained model 506 may be stored.
- the estimation unit 504 acquires estimation data from the data input via the input / output I / F 500 by using the trained model 506, outputs the data via the input / output I / F 500, or stores the storage unit 502. Store in.
- the trained model 506 is a model optimized by the training data generated by the data generation system 1 by the training device 4. When appropriate data is input, the trained model 506 outputs data in which a predetermined estimation is performed on the data.
- the components of the training device 4 and the estimation device 5 may be provided in the same device. That is, the training device 4 and the estimation device 5 may be configured as the device of 1. With this configuration, it is possible to realize estimation while realizing retraining of the trained model 506 that has been optimized once.
- the training device 4 optimizes the estimation model using the training data generated by the data generation system 1, and the estimation device 5 can be formed using this estimation model.
- FIG. 4 is a flowchart showing an example of processing of the data generation system 1.
- the data generation system 1 acquires the CG model by the CG generator 2 (S100).
- the CG model is not limited to the one generated by the CG generator 2, and a CG model generated in advance may be used. In this case, the CG generator 2 is not an indispensable configuration in the data generation system 1.
- the camera setting is, for example, an optical system such as a lens based on a shooting condition and a light receiving system such as a sensor are installed based on the position of the camera set according to the shooting condition.
- the simulator 3 simulates the state in which the inside of the CG model is shot based on the shooting conditions, and acquires an image according to the shooting conditions (S104).
- the simulator 3 renders, for example, based on the camera set in the CG model by the above S102, and generates an image acquired by the camera.
- the image generated by Simulator 3 is output (S106).
- the output image is input to the training device 4, for example, and the estimation model is optimized by a method based on machine learning.
- a plurality of shooting conditions may be set in S102, a plurality of images may be acquired in S104, and a plurality of images may be output in S106.
- S102 to S106 may be repeated for each of a plurality of shooting conditions.
- three types of images may be acquired by repeating the processes S102 to S106 three times while changing the shooting conditions.
- the simulator 3 generates images that will be acquired under a plurality of shooting conditions, and the data generation system 1 acquires at least one of these generated images as training data. do.
- At least two images taken from different positions in the CG model and at least one image taken from the same position as one of the two images or from different positions are acquired.
- FIG. 5A is a diagram showing a simulation camera as an example of the shooting conditions according to the present embodiment. These cameras are placed in the CG model and capture the environment and / or objects in the CG model.
- the shooting is not limited to a still image, but may be a moving image.
- the object M1 is photographed, but this is not limited to the object, and may be a landscape or the like. Further, it is not limited to photographing what a human sees without a tool, and may acquire an image of, for example, a microscope, an endoscope, a telescope, or the like.
- Each camera shoots the object M1 in the CG model.
- the shooting conditions correspond to each camera.
- the shooting conditions include the position of the camera as shown in the figure, and may further include information about the state of the light source (light irradiation state) in the CG model and the lens sensor of each camera.
- Camera C0 is a camera that acquires an ideal image, and is a camera that acquires an image corresponding to the output image of the model to be trained in machine learning.
- Cameras C1 and C2 are cameras that acquire images to be input to this model.
- the CG model as shown in FIG. 5A, it is possible to simultaneously take pictures by using the cameras C1 and C2 and the cameras C0 arranged so as to overlap these cameras.
- the above-mentioned simulator 3 generates images taken by each camera by simulation after installing each camera in the CG model.
- the data generation system 1 outputs this generated image as a set of training data.
- a camera having such a separate housing, and for example, a plurality of imaging systems (lenses, sensors, etc.) may be provided in the same housing, such as a portable terminal. It may be provided. In such a case, for example, since the positions between the lenses are fixed, two or more cameras can be arranged in the CG model with the fixed positions as relative positions.
- FIGS. 5B to 5D are diagrams showing the shooting state of the object M1 by each camera. As shown in FIGS. 5B to 5D, each camera simultaneously captures the inside of the CG model from different positions. For example, cameras C0, C1 and C2 are models that are photographed with lenses having the same angle of view.
- HDR synthesis For example, in such an arrangement, training data used for optimizing an estimation model for HDR synthesis (High Dynamic Range synthesis) can be generated. An example of shooting conditions for HDR composition is given.
- Camera C1 sets the shooting condition as a camera in which pixel value saturation is unlikely to occur, but noise is likely to occur (noise is large).
- Camera C2 sets the shooting conditions of a camera in which pixel values are likely to be saturated, but noise is less likely to occur (noise is small).
- the camera C0 sets the shooting conditions as a camera in which the pixel values are hard to be saturated and the noise is small. Further, the camera C0 may be a camera capable of appropriately acquiring pixel values for each region in the CG model and performing gamma correction or the like.
- the camera C1 may include a circuit in the sensor that stores photoelectrons exceeding the permissible amount when the pixel receives photoelectrons exceeding the permissible amount.
- the noise becomes larger than that of the camera C2, but it is possible to make the device less likely to cause electron saturation.
- the camera C2 is configured not to have such a circuit, saturation of pixel values is more likely to occur than that of the camera C1, but the device can be made into a device with less noise.
- the camera C0 may be a device that is less likely to be saturated and less likely to generate noise.
- the simulator 3 uses these cameras C0, C1 and C2, the simulator 3 generates images taken by each camera by simulation.
- the data generation system 1 outputs these three images as a set of training data.
- a plurality of sets of training data may be acquired by variously changing the shooting conditions, for example, the amount of light of the light source, the direction of light irradiation, the position of the camera, the posture, and the like.
- FIG. 6 is a diagram showing two cameras C1 and C2 that shoot the target T1 in the real world.
- the training device 4 optimizes the estimation model using the image generated by the above data generation system 1.
- the estimation device 5 is configured to include this optimized estimation model, and uses images acquired under the shooting conditions of the cameras C1 and C2 shown in FIG. 5A as input images. Then, the image acquired according to the shooting conditions of the camera C0 is output as an estimated image.
- FIG. 6 shows the actual shooting conditions of the cameras C1 and C2 in FIG. 5A. On the contrary, based on the shooting conditions of FIG. 6 which have the limitation of the device in reality, the cameras having the shooting conditions as shown in FIG. 5A in the CG model are arranged.
- FIG. 7 is a diagram showing a situation in which a camera C0 that acquires an ideal HDR image is virtually photographed in the real world.
- the camera C1 is, for example, a camera in which pixel value saturation is unlikely to occur but noise is likely to occur
- the camera C2 is a camera in which pixel value saturation is likely to occur but noise is unlikely to occur. Is.
- the camera C0 may be a camera that cannot be arranged due to physical restrictions such as the size of the housing and the physical overlap of the lens positions with the cameras C1 and C2.
- the data generation system 1 of the present embodiment can acquire an image of ideal teacher data by using the CG model.
- the three cameras are arranged at different positions, but the camera C0 may be arranged at the same position as any of the cameras C1 and C2.
- the camera C0 may be arranged at the same position as the camera C1.
- the position of camera C0 may be the same as the position of camera C1.
- the same means, for example, that the principal points of the lenses of the cameras C0 and C1 and the positions of the sensor surfaces are the same.
- the high dynamic range image of the camera C1 can be estimated by the estimation device 5.
- the camera used as the input image is not limited to two, and may be composed of three or more cameras.
- a device such as a smartphone having a three-lens camera
- an image taken by each lens and an image to be teacher data are acquired by the simulator 3
- 3 or more input data and teacher data are 1 It may be used as training data for a group.
- the input image for estimating the HDR image is not limited to the one acquired by devices with different pixel value saturation and noise, as described above.
- the camera C1 is provided with a sensor for logarithmically converting and acquiring the sensor's sensing information
- the camera C2 is equipped with a sensor for linearly converting and acquiring the sensor's sensing information. May be good.
- the shooting conditions may be different in the exposure time lengths of the cameras C1 and C2 instead of the performance of the lens and the sensor.
- the exposure time of camera C1 is sufficiently shorter than the exposure time of camera C1 suitable for acquiring an image of a bright object
- the exposure time of camera C2 is sufficiently longer than the exposure time of camera C1 suitable for acquiring an image of a dark object. It may be set as a long exposure time and these may be set as shooting conditions.
- the shooting conditions of the cameras C1 and C2 may be devices that acquire different types of sensing information. Some devices that acquire different types of sensing information will be described.
- the camera C1 may be a camera that acquires visible light
- the camera C2 may be a camera that acquires a TOF (Time of Flight) image.
- the camera C0 may generate an image obtained by acquiring the TOF information from the position of the camera C1.
- the device that acquires the RGB image and the device that acquires the TOF image can be arranged at close positions, but even if they are arranged at close positions, parallax always occurs.
- this method it is possible to generate an image excluding such parallax by simulation, so that the data in which the device for acquiring the RGB image and the device for acquiring the TOF image are arranged at exactly the same position can be obtained. Can be obtained.
- the acquisition of distance information is not limited to the TOF method, but may be realized by other methods.
- the position of the camera C0 shown in FIG. 5A may be used, for example.
- the camera C0 has two shooting conditions, for example, an RGB image and a TOF image at the position of the camera C0, and the simulator 3 obtains the RGB image and the TOF image from the position of the camera C0. It may be acquired by simulation.
- the camera C1 may be a device that acquires a high-resolution RGB image or a device that acquires a high-resolution grayscale image
- the camera C2 may be a device that acquires a thermal image.
- the thermal image may be acquired by thermography using a sensor that acquires temperature, for example, infrared rays, far infrared rays, or the like.
- the camera C0 may acquire the temperature information in the CG model by simulation, acquire the temperature information, and convert it into an image.
- it may be a device that acquires information on infrared rays only, or it may be a device that acquires infrared rays together with RGB information.
- High resolution image Generally, when an RGB image is acquired, the intensities of light of different colors are acquired and combined through a filter, an organic photoelectric film, etc., so that the resolution is lower than when acquiring a grayscale image. .. For example, for every 4 pixels in a grayscale image, 1 pixel in a color image is defined. By using the method of the present embodiment, it is possible to realize high resolution in a color image.
- the camera C1 may be a device for acquiring a high-resolution grayscale image
- the camera C2 may be a device equipped with a Bayer-arranged color filter.
- the camera C0 may be set as a device for acquiring a high-resolution color image.
- the camera C0 may acquire an image filtered with the same color in all pixels for each color type, for example, three RGB colors.
- the CG model it is also possible to set a device that senses different information acquired at the same moment and at the same position in this way. In this way, since images of each high-resolution color can be acquired from the camera C0, it is possible to acquire high-resolution color images.
- training data for estimating the high-resolution color image acquired by camera C0 from the high-resolution grayscale image acquired by camera C1 and the lower-resolution color image acquired by camera C2 can be obtained. Can be generated.
- a high-resolution image theoretically has a resolution of 2 ⁇ 2 times that of a low-resolution image.
- the Bayer array was used, but it is not limited to this.
- RGB is used for synthesizing the camera C0
- a complementary color system (CMY) may be used, or another color may be used. That is, it can be applied to high-resolution and color imaging of an infrared camera, or image synthesis of multispectral or hyperspectral.
- black (K) may be used, and in this case, it can be applied to improve the performance of a printing machine such as a copier or a scanner.
- an image may be acquired by a sensor equipped with a filter by plasmon resonance. In this case, it can also be applied to various personal authentication devices and the like.
- the camera C1 may set shooting conditions assuming that a sensor having a pixel size smaller than that of the camera C2 is used. By setting in this way, the camera C1 can acquire an image having a higher resolution than the camera C2, and the camera C2 can acquire an image having a higher sensitivity than the camera C1. Then, the camera C0 has the resolution of the camera C1 and sets the shooting conditions in which the sensitivity is the pixels of the camera C2.
- the data generation system 1 may generate training data using these high-resolution images and high-sensitivity images as input data and high-resolution and high-sensitivity images as output data.
- the estimation model optimized using the training data generated in this way can estimate high-resolution and high-sensitivity images from images with different resolutions and sensitivities acquired by cameras with pixels of different sizes. It will be possible.
- the present embodiment it is possible to freely generate training data which is input / output data in the optimization of the estimation model in the CG model.
- the data generation system 1 is a model that estimates an image acquired by a device having a predetermined angle of view from an image acquired by a plurality of devices having various angles of view that are displaced from each other. Generate training data.
- FIG. 8 is a diagram showing an example of a camera arrangement in a simulation for acquiring data to be input to an estimation model in the CG model according to the present embodiment.
- the cameras C1, C2, and C3 are set with shooting conditions as cameras having optical systems having different angles of view at different positions.
- camera C1 is equipped with a standard angle of view
- camera C2 is equipped with a telephoto angle of view
- camera C3 is equipped with a lens having a wide angle of view to perform shooting. Then, each camera is arranged at a position where it does not physically interfere so that it can be arranged in the actual space. Then, under those shooting conditions, the image is acquired by simulation.
- FIGS. 9A to 9E are diagrams showing shooting conditions for acquiring teacher data with respect to the input data acquired in FIG. 8.
- the camera C0 may be a shooting condition for a device having an ultra-wide-angle lens.
- the training device 4 may optimize an estimation model based on each teacher data. For example, an estimation model that inputs images from cameras C1, C2, and C3 shown in FIG. 8 as input images and acquires an ultra-wide-angle image shown in FIG. 9A, and an estimation model that acquires a wide-angle image shown in FIG. 9B. ..., You may train each estimation model to estimate.
- the training device 4 may optimize one model for estimating the image of each teacher data by training.
- the training device 4 has, for example, five images output from the output layer for one estimation model, and these five images are the images generated in the states of FIGS. 9A, 9B, ..., 9E.
- the estimation model may be trained so that
- FIG. 10 is a diagram showing a camera that acquires a real-world image in the estimation model generated in this way.
- the estimation device 5 inputs the images captured by the cameras C1, C2, and C3 of FIG. 10 into the estimation model generated based on the images generated under the imaging conditions of FIGS. 8 and 9A to 9E.
- FIG. 11 is a diagram showing an example of the angle of view of the image output from the estimation model.
- the estimation device 5 inputs the above image into the estimation model and acquires an image having an angle of view as shown in FIG.
- the estimation model may be different based on the angle of view of the estimated image, or may be one in which one estimation model can output a plurality of angles of view.
- training data for generating an estimation model that converts an image taken by a compound eye camera having a different angle of view into an image taken at an arbitrary angle of view. Can be obtained.
- the image estimated by the estimation device 5 may be, for example, an image having an arbitrary angle of view focused on a certain target T1.
- the image acquired in this way is, for example, an image to which an appropriate effect such as blurring is applied to an object other than the in-focus object based on the depth of field generated as teacher data.
- teacher data for estimating a model that estimates an image that is in focus at all positions is generated. It is also possible to do and learn this model.
- the camera that acquires the image to be the input of the estimation model has its optical axis oriented in the same direction, but the present invention is not limited to this.
- FIG. 12 is a diagram showing an example of camera arrangement in simulation in the CG model according to the present embodiment.
- the present embodiment relates to, for example, the acquisition of an image by a set of cameras capable of acquiring 360-degree information. More specifically, for example, it is assumed that the image is taken by an omnidirectional camera.
- Cameras C1 and C2 are equipped with, for example, a fisheye lens with an angle of view facing in the opposite direction larger than 180 degrees.
- the cameras C1 and C2 are arranged so that they do not physically or mechanically interfere with each other. It is difficult for cameras arranged in this way to match the positions of their principal points. Therefore, it is not possible to completely remove the seams of the stitched images. Therefore, two cameras whose principal points match in the CG model are arranged, and the simulator 3 generates an image taken under the shooting conditions of these cameras.
- FIG. 13A is a diagram showing an example of a simulated camera in which the principal points placed in the CG model match.
- the cameras C0a and C0b are arranged in the CG model so that the principal points of the lenses coincide with each other.
- 13B and 13C are diagrams showing the cameras C0a and C0b separately so that the overlapping portion can be easily understood.
- the cameras C0a and C0b are arranged in the CG model so that the principal points coincide with each other and the shooting directions are opposite to each other.
- the optical axis of the camera C0a may coincide with the optical axis of the camera C1
- the optical axis of the camera C0b may be a shooting condition in which the cameras C0a and C0b are arranged so as to coincide with the optical axis of the camera C2.
- the cameras C0a and C0b By arranging the cameras C0a and C0b in the CG model, it is possible to control so that the cameras do not appear in each other. For example, it is assumed that the camera C0b is not arranged when the image taken by the camera C0a is generated, and conversely, the camera C0a is not arranged when the image taken by the camera C0b is generated. It may be a thing. By doing so, it is possible to realize shooting in a state where the housings of the cameras do not interfere with the captured image.
- the data generation system 1 outputs a set of image data generated under the shooting conditions of FIG. 12 and image data generated under the shooting conditions of FIG. 13 as training data.
- the training device 4 uses this training data to optimize the model so as to estimate the image acquired under the condition of FIG. 13 from the image acquired under the condition of FIG. That is, the estimation model is optimized so that when the images taken by the cameras C1 and C2 are input, the images taken by the cameras C0a and C0b are output.
- the estimation device 5 captures an image including the target T1 captured by the cameras C1 and C2 as shown in FIG. 14 by the cameras C0a and C0b as shown in FIG. Estimate the image containing the target T1.
- the image estimated in this way is an image in which the positions of the principal points of the lenses are the same, and the overlapping area in each image is wider than the images taken by the original cameras C1 and C2. .. Therefore, rather than stitching the images taken by the cameras C1 and C2, by using the images taken by the cameras C0a and C0b acquired through the estimation model, the correction of the joints and the like can be realized more accurately. It is possible to acquire a possible image.
- the principal points are set in the CG model.
- FIGS. 13A to 13C are shown as an example, and the shooting conditions of the camera C0 are not limited to this.
- FIG. 16 is a diagram showing another shooting condition of the camera C0. Instead of aligning the camera with the optical axis as in the cameras C0a and C0b shown in FIG. 16, cameras C0c and C0d that shoot in the opposite direction in which the optical axis is oriented in another direction may be used. Further, in addition to the situation of FIG. 13A, the camera of FIG. 16 may be added so that the estimation can be performed.
- 17A and 17B are diagrams showing an example in which the lens is not an ultra-wide-angle lens.
- the simulator 3 may generate images taken by four cameras C0a, C0b, C0c, and C0d having the same principal points as teacher data.
- distortion of teacher data can be suppressed by setting shooting conditions having a standard angle of view.
- the teacher data may be a stitched image instead of the image taken by the camera C0.
- the simulator 3 is an image taken so that an accurate stitching image can be acquired by an arbitrary number of cameras C0 that share the central point of the principal points of the cameras C1 and C2 as the principal points. May be generated. From the plurality of images generated in this way, the simulator 3 acquires the stitching image by calculation, and outputs the stitching image as training data as training data in combination with the data taken by the cameras C1 and C2 as teacher data. do.
- the training device 4 optimizes the estimation model that outputs the stitching image, which is the teacher data, when the images taken by the cameras C1 and C2 are input. Then, the estimation device 5 may estimate the stitching image from the input image by using the estimation model for which the optimization has been completed.
- the relative position of the compound-eye camera and the direction of the optical axis may deviate depending on the usage pattern or the usage environment. For example, when carrying it, if it is put in a pocket, it may deviate from the distortion of the housing, and the housing may be distorted depending on the temperature at which it is used.
- the data generation system 1 generates training data for acquiring information for correcting such a deviation in the relative position and a deviation in the direction of the optical axis.
- FIG. 18 is a diagram showing an example of a camera arrangement on a simulation in a CG model according to an embodiment.
- cameras C1 and C2' are placed in the CG model.
- the dotted line shows the correct camera C2 position and orientation.
- the camera C2' is arranged with its position and direction deviated.
- the position indicates, for example, the relative position of the camera C2 with respect to the camera C1.
- the teacher data may be, for example, a deviation from this relative position and a deviation of the optical axis. That is, the relative position of the camera C2 with respect to the camera C1 and the deviation of the optical axis of the camera C2 with respect to the optical axis of the camera C1 may be used as teacher data.
- the cameras C1 and C2 are arranged so that the relative positions and the relative angles of the optical axes are correct, and these are arranged in the first predetermined position, the second predetermined position, the first optical axis direction, and the first. 2 may be set in the optical axis direction.
- at least one of the position of the camera C1 and the direction of the optical axis is randomly shifted from the first predetermined position and the direction of the first optical axis
- at least one of the position of the camera C2 and the direction of the optical axis is set to the second predetermined position. And, it may be randomly shifted from the second optical axis direction, and this deviation may be converted into a relative deviation and used as teacher data.
- the random shift is a slight shift.
- the slight deviation is defined as, for example, a deviation in a position or direction to the extent that the housing provided with the cameras C1 and C2 is not destroyed.
- the cameras in such a shifted state may be arranged in the CG model, and the simulator 3 may generate an image taken by each camera. This generated image and the deviation of the position and direction, which are teacher data, are combined to form training data.
- Training data may be generated by setting shooting conditions having various deviations that satisfy the above-mentioned constraint conditions.
- the training device 4 optimizes the estimation model that outputs the relative position shift and the shift in the direction of the optical axis.
- the estimation device 5 estimates and outputs the relative position deviation and the optical axis deviation from the two images as shown in FIG. 19 using the estimation model optimized by the training device 4.
- Such a configuration can be realized even with a normal sensor, but it can be realized more accurately by using a device that can acquire parallax with a single eye.
- a camera having such a sensor may be set as a shooting condition.
- a sensor for acquiring a monocular parallax image for example, a 2 ⁇ 2 OCL (On-Chip Lens) element having a 2 ⁇ 2 light receiving element in a pixel corresponding to one on-chip lens may be used.
- OCL On-Chip Lens
- FIG. 20 is a diagram showing an example of camera arrangement on a simulation showing another example of the present embodiment.
- the teacher data is not numerical data such as position shift and optical axis shift as described above, but cameras C0a and C0b are arranged as ideal positions and directions of cameras C1 and C2 as in the above-described embodiment. May be good.
- the simulator 3 may generate data captured by these cameras C0a and C0b, and these may be used as teacher data.
- the above-mentioned first predetermined position, second predetermined position, first optical axis direction, and second optical axis direction may be used. That is, it may be realized by arranging the cameras C0a and C0b according to these positions and directions in the CG model with respect to the positions of the cameras C1 and C2.
- FIG. 21 is a diagram showing the relative arrangement of the ideal cameras C1 and C2 in the real world.
- the data generation system 1 can generate training data for optimizing the estimation model.
- an estimation model that estimates the relative position deviation between the cameras and the optical axis deviation, or estimates the image corrected for the relative position deviation and the optical axis deviation. It becomes possible to acquire training data for generation. In either case, in the real world, in a state where it is difficult to obtain correct answer data, accurate data can be obtained by using shooting conditions such as placement in the CG model, and estimation of the estimation model can be performed. It is possible to improve the accuracy.
- the aspect of the present disclosure may be partially or wholly implemented programmatically.
- the program may be stored in the storage units 302, 402, and 502, and information processing by software may be specifically realized by hardware.
- a processor such as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit), and various analog circuits or digital circuits such as FPGA (Field Programmable Gate Array), It may be implemented in hardware by an ASIC (Application Specific Integrated Circuit) or DSP (Digital Signal Processor).
- ASIC Application Specific Integrated Circuit
- DSP Digital Signal Processor
- FIG. 22 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 an optical sensor 20011 to which the technique according to the present disclosure is applied.
- the optical sensor 20111 can configure the function of a camera, for example, in the electronic device 20011, and may have one or more optical sensors (not shown).
- 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 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 is installed. AI processing is realized by using it.
- a GPU Graphics Processing Unit
- a processor specialized for a specific application can be used as a processor specialized for a specific application.
- FIG. 23 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 comprises an 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 20106 including at least one sensor, and information such as an image or text. It has a display 20107 for displaying, a speaker 20108 for outputting sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 connecting them.
- an 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 20106 including at least one sensor
- information such as an image or text.
- It has a display 20107 for displaying, a speaker 20108 for outputting sound, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 20110 connecting 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.
- 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 an odor sensor
- a biological sensor 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 2011. 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.
- 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.
- optical sensors include RGB visible light sensors, ranging sensors such as ToF (Time of Flight), polarization sensors, event-based sensors, sensors that acquire IR images, sensors that can acquire multiple wavelengths, and the like. .. That is, in the above-described embodiment, at least one data may be used as a polarization sensor or an event-based sensor as a non-limiting example.
- 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 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 or the like in which information is required to be transmitted with a short delay time, 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. 24 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 optical sensor 20011, 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 20001 and the optical sensor 20111. When AI processing is performed by the edge server 20002, the processing load on the electronic device 20001 and the 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 20001 and the optical sensor 20111, it can be configured for general purposes. Therefore, when the processor of the cloud server 20003 performs AI processing, AI processing can be performed regardless of the difference in specifications and performance of the electronic device 20001 and the optical sensor 20111. If it is difficult for the processor of the electronic device 20011 or the optical sensor 20011 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 the electronic device 20001. Alternatively, it can be fed back to the processor of the optical sensor 2011.
- FIG. 25 shows a configuration example of the optical 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.
- 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 imaging by the imaging unit 20321.
- the image pickup control unit 20324 for controlling the above is 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 Random Access Memory
- a communication I / F 20334 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.
- the processor of the optical sensor 2011 performs AI processing such as inference processing
- AI processing such as inference processing
- the processor of the optical sensor 2011 can perform AI processing such as inference processing using image data at high speed.
- inference processing is used for an application that requires real-time performance, it is possible to sufficiently secure real-time performance.
- ensuring real-time performance means that information can be transmitted with a short delay time.
- various metadata can be passed by the processor of the electronic device 20001 to reduce the processing and reduce the power consumption.
- FIG. 26 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 optical sensor 20011 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 is performed to correct the correction target pixel included in the image data 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 to generate the learning model. Shall be included.
- 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.
- this correction process for example, as an example of not being limited, as described in the above-described embodiment, an image from a camera existing at a physically overlapping position can be acquired, or an image existing at a position not physically present can be acquired. It is possible to acquire an image from a sensor, or to acquire an image assuming a sensor that is difficult to physically arrange.
- 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 an optical sensor or acquired image data that is aggregated and managed, for example, a data set generated by a simulator as described in the above-described embodiment is used. be able to.
- 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. It is a method of performing iterative 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.
- 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 TV 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 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 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 is performed by the processor or signal processing circuit of the electronic device 20011 or the optical sensor 20111 without using AI. .. If it is known that the pixels to be corrected are all the pixels of the image data, the specific step can be skipped.
- 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.
- processing for correcting the correction target pixel included in the image data is performed by the processor or signal processing circuit of the electronic device 20011 or the optical sensor 20111 without using AI. ..
- 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 optical sensor 2011.
- 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. 29 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 optical sensor 20111 without using AI.
- the edge server 20002, the cloud server 20003, or the optical sensor 20111 the specific step for specifying the correction target pixel and the correction target pixel are performed as the correction process using the image data from the optical sensor 20111.
- a correction step for correcting the above, or a correction step for correcting the correction target pixel included in the image data is performed.
- the edge server 20002, the cloud server 20003, or the optical sensor 20011 the corrected data obtained by the correction process can be used to perform a generation step of generating metadata.
- 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 has an image including the correction target pixel.
- 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 has an 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, for example, a data set from the simulator as described in the above-described embodiment as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062).
- a learning model is generated and inferred by inputting image data including the correction target pixel and specific information of the correction target pixel and outputting the corrected image data or the corrected specific information of the correction target pixel. It is output to unit 20422 (S20063).
- teacher data is not limited to the data set provided by the simulator, and image data actually acquired by the optical sensor or acquired image data that is aggregated and managed may be further used.
- 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, for example, a data set from the simulator as described in the above-described embodiment as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062).
- teacher data S20061
- S20062 teacher data
- 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).
- teacher data is not limited to the data set provided by the simulator, and image data actually acquired by the optical sensor or acquired image data that is aggregated and managed may be further used.
- 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. 31 shows the flow of data between a plurality of 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, for example, a data set generated by the simulator 20502 by the method described in the above-described embodiment 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 image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, and the like may be further used. ..
- 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 transmits the generated learning model 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. Twice
- 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 optical sensor 20011 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 optical sensor 20111 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 generated and provided may be generated and provided.
- recording data such as a learning model, corrected data, and metadata on a readable storage medium
- a storage medium on which the data is recorded and a device such as an electronic device equipped with the storage medium are generated. May be provided.
- the storage medium may be a non-volatile memory such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or a volatile memory such as SRAM or DRAM.
- a first image acquired under the first imaging condition and a second image acquired under a second imaging condition different from the first imaging condition are generated by simulation. At least the first image and the second image are acquired as input image data in the training data.
- Data generation method is a method of generating training data used for machine learning from a CG model by a processor.
- the shooting position included in the first shooting condition is a position different from the shooting position included in the second shooting condition.
- the first imaging condition and the second imaging condition include optical systems having different angles of view.
- the first imaging condition and the second imaging condition include optical systems having different dynamic ranges.
- the pixel value is less likely to be saturated than in the second shooting condition.
- the second shooting condition has less noise than the first shooting condition.
- the first shooting condition is a sensor that acquires sensory information by logarithmically converting it.
- the second imaging condition is a sensor that acquires sensing information without logarithmic transformation.
- the exposure time is different between the first shooting condition and the second shooting condition.
- the data generation method according to any one of (6) to (8).
- the first imaging condition and the second imaging condition differ in the charge accumulation time in the sensor.
- the data generation method according to any one of (6) to (9).
- the third image is an image having a high dynamic range.
- the data generation method according to any one of (6) to (10).
- the first shooting condition and the second shooting condition include a condition in which the information sensed by the sensor is different.
- the first shooting condition is shooting for acquiring color information.
- the second shooting condition is shooting for acquiring temperature information.
- the second shooting condition is shooting with a sensor that senses infrared rays.
- the first shooting condition is shooting for acquiring grayscale information.
- the second shooting condition is shooting for acquiring color information.
- the first shooting condition is shooting for acquiring grayscale information.
- the second imaging condition is imaging in which information is acquired using plasmon resonance.
- the pixel size of the sensor under the first imaging condition and the pixel size of the sensor under the second imaging condition are different sizes.
- the first shooting condition is shooting for acquiring color information.
- the second shooting condition is shooting for acquiring distance information.
- the third shooting condition is shooting for acquiring distance information in the same position and direction as the first shooting condition.
- the second shooting condition and the third shooting condition are shooting for acquiring a TOF image.
- the first imaging condition and the second imaging condition are imaging by an optical system including an ultra-wide-angle lens and having the optical systems that do not mechanically interfere with each other and facing in opposite directions.
- the data generation method according to (3) is the first imaging condition and the second imaging condition.
- a fourth image acquired under the fourth shooting condition which is shot by an optical system that faces a direction different from the third shooting condition and has the same principal point as the optical system under the third shooting condition, is generated by simulation.
- the fourth image is acquired as the output data of the training data.
- the first shooting condition is to shoot a direction randomly deviated from the first optical axis direction from a position randomly deviated from the first predetermined position.
- the second shooting condition is to shoot a direction randomly deviated from the second optical axis direction from a position randomly deviated from the second predetermined position.
- the third image and the fourth image are acquired as teacher data of the training data.
- the imaging condition includes a condition for generating a set of input image data in the training data of 3 or more.
- the data generation method according to any one of (1) to (23).
- the imaging conditions include conditions that generate a set of output image data in the training data of two or more.
- the data generation method according to any one of (1) to (27).
- the estimation model is a neural network model.
- the estimation model is a neural network model.
- the processor executes the data generation method according to any one of (1) to (28). Data generator.
- the processor executes the learning method according to (29) or (30). Learning device.
- the processor performs the estimation method according to (31) or (32). Estimator.
- (40) It is a method of generating a learning model using training data used for machine learning generated from a CG model by a processor.
- a first image acquired under the first imaging condition and a second image acquired under a second imaging condition different from the first imaging condition are generated by simulation. At least the first image and the second image are acquired as input image data in the training data. How to generate a learning model.
- the acquisition of the input image data is performed by the method according to any one of (1) to (27).
- (42) (40) or (41) includes storing the learning model generated by the method for generating the learning model in the storage medium. How to generate a storage medium.
- (43) (40) or (41) includes storing the learning model generated by the method for generating the learning model in the storage medium of the electronic device. How to generate electronic devices.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
[課題]センサ状態を様々に設定した訓練データを生成する [解決手段]データ生成方法は、プロセッサによってCGモデルから機械学習に用いる訓練データを生成する方法である。このデータ生成方法は、前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する。
Description
本開示は、データ生成方法、学習方法及び推定方法に関する。
今日、ディープラーニングをはじめとして、機械学習による推定モデル生成等が広く研究されている。機械学習を実行する場合には、生成するモデルに多くの訓練データを入力する必要がある。また、バリデーションを実行するためにも、多くの訓練データが必要となる。画像を入力とするモデル生成に用いる訓練データの収集には、実際の風景を写真として取得したり、絵画を描いたりする必要がある。これらの訓練データを収集した後には、訓練を実行する人間が個々の訓練データに対してアノテーションを付与する必要があることが多い。
このデータの収集には手間が掛かり、収集したデータを用いたとしても望ましい推定結果が得られるモデルを訓練するのが困難であることがある。例えば、ステレオカメラで撮影されたステレオ画像から、当該カメラの中心位置から撮影した画像を推定する場合、教師データとして当該中心位置から撮影した画像が必要となるが、この画像を取得することは、カメラの大きさ等の問題から物理的に困難である。
また、事実上、複数の同種又は異種のセンサにより、同じ時刻に、同じ方向を向いたカメラで、同じ景色を撮影することはできない。例えば、RGB画像を取得するカメラの画像からターゲットまでの距離を取得する場合、このカメラの隣りにTOF画像を取得するカメラを並べて撮影し、TOF画像から求められた距離を教師データとしてターゲットまでの距離を推定するモデルを生成することができる。しかしながら、どのように推定モデルを訓練したとしても、RGB画像を取得したセンサの面からの距離をTOF画像により正確に取得することは困難であり、このため、このように訓練されたモデルは、決して小さくない誤差を有することが多い。
そこで、本開示は、様々なセンサ状態において任意に撮影した訓練データを生成することを実現する。
一実施形態によれば、データ生成方法は、プロセッサによってCGモデルから機械学習に用いる訓練データを生成する方法であって、CGモデルにおいて、第1撮影条件により取得される第1画像と、第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、少なくとも第1画像及び第2画像を訓練データにおける入力画像データとして取得する。
第1撮影条件に含まれる撮影位置は、第2撮影条件に含まれる撮影位置とは異なる位置であってもよい。
CGモデル内において、第1撮影条件及び第2撮影条件のいずれか一方と同じ位置、又は、第1撮影条件及び第2撮影条件の双方とも異なる位置から撮影する条件を含む第3撮影条件により取得される第3画像をシミュレーションにより生成してもよく、少なくとも第3画像を訓練データにおける出力画像データとして取得してもよい。
撮影条件としてさらに、第1撮影条件と第2撮影条件は、異なる画角を有する光学系を備えてもよい。
撮影条件としてさらに、第3撮影条件の画角を複数に変化させて撮影された第3画像を取得してもよい。
撮影条件としてさらに、第1撮影条件と第2撮影条件は、異なるダイナミックレンジを有する光学系を備えてもよい。
第1撮影条件は、第2撮影条件より画素値が飽和しにくくてもよく、第2撮影条件は、第1撮影条件よりノイズが小さくてもよい。
第1撮影条件は、感知情報を対数変換して取得するセンサであってもよく、第2撮影条件は、感知情報を対数変換せずに取得するセンサであってもよい。
第1撮影条件と第2撮影条件は、露光時間が異なってもよい。
第1撮影条件と第2撮影条件は、センサにおける電荷の蓄積時間が異なってもよい。
第3画像は、ハイダイナミックレンジを有する画像であってもよい。
撮影条件としてさらに、第1撮影条件と第2撮影条件は、センサが感知する情報が異なる条件を含んでもよい。
第1撮影条件は、カラー情報を取得する撮影であってもよく、第2撮影条件は、温度情報を取得する撮影であってもよい。
第2撮影条件は、赤外線を感知するセンサによる撮影であってもよい。
第1撮影条件は、グレースケール情報を取得する撮影であってもよく、第2撮影条件は、カラー情報を取得する撮影であってもよい。
第1撮影条件は、グレースケール情報を取得する撮影であってもよく、第2撮影条件は、プラズモン共鳴を用いて情報を取得する撮影であってもよい。
第1撮影条件におけるセンサの画素サイズと、第2撮影条件におけるセンサの画素サイズが異なるサイズであってもよい。
第1撮影条件は、カラー情報を取得する撮影であってもよく、第2撮影条件は、距離情報を取得する撮影であってもよい。
第3撮影条件は、第1撮影条件と同じ位置、同じ方向における距離情報を取得する撮影であってもよい。
第2撮影条件及び第3撮影条件は、TOF画像を取得する撮影であってもよい。
第1撮影条件と、第2撮影条件は、超広角レンズを含む光学系であって、互いに機械的に干渉しない光学系を有する逆方向を向いた撮像系による撮影であってもよい。
第3撮影条件と異なる方向を向き、第3撮影条件の光学系と同一の主点を有する光学系による撮影である、第4撮影条件により取得された第4画像をシミュレーションにより生成してもよく、第4画像を訓練データの出力データとして取得してもよい。
第2撮影条件は、第1撮影条件に対する相対的な所定位置からランダムにずれた位置から、第1撮影条件の光軸と平行な所定方向からランダムにずれた光軸の方向を撮影してもよい。
所定位置からの第2撮影条件の位置のずれと、所定方向からの第2撮影条件の光軸の方向のずれと、を訓練データの教師データとして取得してもよい。
第1所定位置、第2所定位置、第1光軸方向及び第2光軸方向を設定してもよく、第1撮影条件は、第1所定位置からランダムにずれた位置から第1光軸方向からランダムにずれた方向を撮影してもよく、第2撮影条件は、第2所定位置からランダムにずれた位置から第2光軸方向からランダムにずれた方向を撮影してもよい。
第1所定位置から第1光軸方向を撮影する、第3撮影条件により取得された第3画像をシミュレーションにより生成してもよく、第2所定位置から第2光軸方向を撮影する、第4撮影条件により取得された第4画像をシミュレーションにより生成してもよく、第3画像及び第4画像を訓練データの教師データとして取得してもよい。
撮影条件は、3以上の訓練データにおける入力画像データのセットを生成する条件を含んでもよい。
撮影条件は、2以上の訓練データにおける出力画像データのセットを生成する条件を含んでもよい。
一実施形態によれば、学習方法は、上記のデータ生成方法により生成された訓練データを用いて、推定モデルの最適化を実行する。
推定モデルは、ニューラルネットワークモデルであってもよい。
一実施形態によれば、推定方法は、上記のデータ生成方法により生成された訓練データを用いて最適化された推定モデルを用いて、実写データである入力データに対する推定データを取得する。
推定モデルは、ニューラルネットワークモデルであってもよい。
一実施形態によれば、データ生成装置は、メモリと、プロセッサと、を備え、プロセッサにより、上記のデータ生成方法を実行する
一実施形態によれば、学習装置は、メモリと、プロセッサと、を備え、プロセッサにより、上記の学習方法を実行する。
一実施形態によれば、推定装置は、メモリと、プロセッサと、を備え、プロセッサにより、上記の推定方法を実行する。
一実施形態によれば、プログラムは、プロセッサに、上記のデータ生成方法、学習方法又は推定方法を実行させる。
一実施形態によれば、非一時的コンピュータ可読媒体は、上記のいずれかを実行するためのプログラムを格納する。
一実施形態によれば、学習モデルの生成方法は、プロセッサによってCGモデルから生成した機械学習に用いる訓練データを用いて学習モデルを生成する方法であって、前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する。
前記学習モデルの生成方法において、前記入力画像データの取得は、上記に記載のいずれかのデータ生成方法により生成されてもよい。
一実施形態によれば、記憶媒体の生成方法は、上記の学習モデルの生成方法で生成された学習モデルを記憶媒体に記憶することを含む。
一実施形態によれば、電子機器の生成方法は、上記の学習モデルの生成方法で生成された学習モデルを電子機器の記憶媒体に記憶することを含む。
以下、図面を用いて本開示における実施形態について説明する。本開示においては、様々な状態で撮影された画像を、CGモデルを用いたシミュレーションにより生成して取得し、機械学習における訓練データとする。様々な状態で撮影された画像とは、例えば、複数の同じ性能又は異なる性能を有するカメラにより撮影された、様々な方向又は状況における画像である。
図1は、一実施形態に係るデータ生成システムの一例を示す図である。このデータ生成システム1は、別々の装置により構成されているが、これらの全てを包含する機能を有するデータ生成装置として構成されてもよい。データ生成システム1は、CGジェネレータ2と、シミュレータ3とを備える。
CGジェネレータ2は、CGモデルを生成する装置である。CGジェネレータ2は、例えば、風景のCGモデル内に、1以上のオブジェクトを配置する。このCGの生成は、ユーザの指示により実現されてもよい。
シミュレータ3は、入出力インタフェース(以下、入出力I/F 300と記載する。)と、記憶部302と、条件設定部304と、画像生成部306と、を備える。このシミュレータ3は、CGジェネレータ2が生成したCGモデルを用いたシミュレーションを実行し、機械学習用の訓練データを生成する。シミュレータ3は、CGモデルにおいて光線の条件、及び、カメラの位置、光学系、センサ系の条件を考慮したシミュレーションを実行することにより、様々な撮影条件下における画像を生成する。シミュレータ3は、例えば、レイトレーシング等のレンダリングを実行して画像を生成する。
入出力I/F 300は、シミュレータ3と外部とのデータの送信、受信を実行する。例えば、入出力I/F 300は、CGジェネレータ2が生成したCGモデルを入力として受け付け、記憶部302に記憶する。また、入出力I/F 300は、シミュレータ3が生成した画像を外部へと出力する。さらに、ユーザからのリクエストをこの入出力I/F 300が受け付けてもよい。
記憶部302は、少なくともシミュレータ3に必要なデータを格納する。例えば、入出力I/F 300を介して入力されたデータ等を格納してもよい。例えば、条件設定部304が設定した情報を格納してもよい。また、例えば、画像生成部306が生成した画像を格納してもよい。
条件設定部304は、CGモデル内における撮影条件を設定する。撮影条件は、例えば、CGモデル内において画像を取得するカメラの条件、又は、光源等の外部の条件である。カメラの条件は、例えば、カメラのレンズ系の条件と、当該レンズ系を介して受光するセンサの条件とを含む。光源の条件は、例えば、光源の種類、光源の方向等を決定する条件である。
画像生成部306は、条件設定部304が設定した条件に基づいて、CGモデルにおいて取得される画像をシミュレーションにより生成する。シミュレーションは、数値計算により実行される。この生成は、レイトレーシング等のレンダリング手法を用いて実行される。画像生成部306は、例えば、CGモデル内の環境、オブジェクトの情報に対して、条件設定部304において設定された光源からの光を照射し、レンダリングされたモデルを生成する。このレンダリングされたモデルを、カメラに関する撮影条件に基づいて、どのような画像が取得できるかをシミュレートし、撮影条件に対するCGモデルの画像を取得する。
条件設定部304は、複数の撮影条件を設定することも可能であり、この場合、画像生成部306は、同じCGモデルに対して複数の撮影条件において取得できる画像を生成する。例えば、条件設定部304が第1撮影条件、第2撮影条件、第3撮影条件の3つの撮影条件を設定した場合、画像生成部306は、第1撮影条件に基づいて第1画像、第2撮影条件に基づいて第2画像、第3撮影条件に基づいて第3画像をそれぞれシミュレートして生成する。この第1画像、第2画像、第3画像が訓練データとしてデータ生成システム1から出力される。なお、上記では撮影条件は、3つであるとしたが、これには限られず、2つであってもよいし、4つ以上であってもよい。
図2は、一実施形態に係る機械学習を実行する訓練装置(学習装置)の一例を示す図である。訓練装置4は、入出力I/F 400と、記憶部402と、訓練部404と、を備え、さらに、訓練の対象となるモデル406を備える。訓練装置4は、例えば、データ生成システム1が出力した訓練データを用いて画像からなんらかの結果を推定するモデル406の訓練を実行する。
入出力I/F 400は、訓練装置4と外部との間でデータ等の入出力を実行する。
記憶部402は、少なくとも訓練装置4に必要なデータを格納する。例えば、入出力I/F 400を介して入力された訓練データ等が格納されてもよい。例えば、訓練部404が訓練の実行に必要なデータを格納してもよい。また、例えば、モデル406を構成するハイパーパラメータ、最適化途中のパラメータ又は最適化されたパラメータのうち少なくとも1つを格納してもよい。
訓練部404は、入出力I/F 400を介して入力された訓練データを用いてモデル406を機械学習の手法を用いて訓練する。この機械学習は、一般的に知られている方法で実行されてもよい。訓練により最適化が終了したモデルは、入出力I/F 400を介して出力されてもよいし、記憶部402に記憶されてもよい。
モデル406は、何らかのデータが入力されると、そのデータに関する別のデータを推定して出力するモデルである。モデル406は、ニューラルネットワークモデルであってもよい。また、種々の統計モデルに基づいたモデルであってもよい。最適化されると、モデル406は、学習済モデルとして出力される。
この訓練装置4は、データ生成システム1から出力された複数組の訓練データに基づいて、モデル406の最適化を実行する。データ生成システム1は、訓練装置4における最適化に必要となる訓練データの組を生成する。この訓練データは、オーグメンテーションの手法により、さらに多数のデータへと変換されてもよいし、データ生成システム1において、推定モデル最適化のために必要な条件に拘束された撮影条件を種々設定した上で複数回のデータの取得を実行してもよい。
図3は、一実施形態に係る推定を実行する推定装置の一例を示す図である。推定装置5は、入出力I/F 500と、記憶部502と、推定部504と、を備え、さらに、推定に用いる学習済モデル506を備える。推定装置5は、学習済モデル506にデータを入力することにより、推定結果を出力する。
入出力I/F 500は、推定装置5と外部との間でデータ等の入出力を実行する。
記憶部502は、少なくとも推定装置5に必要なデータを格納する。例えば、入出力I/F 500を介して入力されたデータ等が格納されてもよい。例えば、推定部504が推定の実行に必要なデータを格納してもよい。また、例えば、学習済モデル506を構成するハイパーパラメータ又は最適化済みのパラメータのうち少なくとも1つを格納してもよい。
推定部504は、入出力I/F 500を介して入力されたデータから、学習済モデル506を用いることにより推定データを取得し、入出力I/F 500を介して出力、又は、記憶部502へと格納する。
学習済モデル506は、訓練装置4により、データ生成システム1により生成された訓練データにより最適化されたモデルである。学習済モデル506は、適切なデータが入力されると、当該データに対して所定の推定を実行したデータを出力する。
なお、訓練装置4と推定装置5の構成要素は、同じ装置内に備えられていてもよい。すなわち、訓練装置4と推定装置5は、1の装置として構成されてもよい。このように構成することにより、一度最適化が終了した学習済モデル506の再訓練を実現しながら推定をも実現することが可能となる。
このように、データ生成システム1により生成された訓練データを用いて訓練装置4により推定モデルが最適化され、この推定モデルを用いて推定装置5を形成することができる。
図4は、データ生成システム1の処理の一例を示すフローチャートである。
まず、データ生成システム1は、CGジェネレータ2によりCGモデルを取得する(S100)。CGモデルは、CGジェネレータ2により生成されたものには限られず、予め生成されていたCGモデルを用いてもよい。この場合、データ生成システム1においてCGジェネレータ2は、必須の構成では無い。
次に、CGモデル内に撮影条件に基づいてシミュレータ上のカメラを設定する(S102)。カメラを設定するとともに、撮影条件に基づいた光源等の情報を設定してもよい。カメラの設定とは、例えば、撮影条件に基づいたレンズ等の光学系、及び、センサ等の受光系を、撮影条件により設定されているカメラの位置に基づいて設置する。
次に、シミュレータ3は、撮影条件に基づいてCGモデル内を撮影した状態をシミュレートし、撮影条件にしたがった画像を取得する(S104)。シミュレータ3は、例えば、上記のS102 によりCGモデル内に設定されたカメラに基づいてレンダリングをして、当該カメラにより取得される画像を生成する。
次に、シミュレータ3により生成された画像を出力する(S106)。出力した画像は、例えば、訓練装置4に入力され、機械学習に基づいた手法により推定モデルの最適化が実行される。
撮影条件が複数ある場合には、S102において複数の撮影条件を設定し、S104において複数の画像を取得し、S106において複数の画像を出力してもよい。別の例として、S102からS106を複数ある撮影条件ごとに繰り返してもよい。例えば、3つの撮影条件が設定される場合には、撮影条件を変更しつつS102からS106の処理を3回繰り返すことにより3種類の画像を取得してもよい。
本開示においては、このように、CGモデルから機械学習に用いる訓練データを生成する方法について説明する。この方法は、例えば、コンピュータのプロセッサにより実現されるものである。
具体的には、CGモデルにおいて、複数の撮影条件により取得されるであろう画像をシミュレータ3により生成して、データ生成システム1は、これらの生成された画像の少なくとも1つを訓練データとして取得する。
以下、撮影条件及び当該撮影条件に対する推定について、本開示における非限定的な例である実施形態としていくつか説明する。
(第1実施形態)
第1実施形態では、CGモデル内において異なる位置から撮影した少なくとも2つの画像と、当該2つの画像のうち一方と同じ位置、又は、双方と異なる位置から撮影した少なくとも1つの画像とを取得する。
第1実施形態では、CGモデル内において異なる位置から撮影した少なくとも2つの画像と、当該2つの画像のうち一方と同じ位置、又は、双方と異なる位置から撮影した少なくとも1つの画像とを取得する。
図5Aは、本実施形態に係る撮影条件についてシミュレーション上のカメラを例に示した図である。これらのカメラは、CGモデル内に配置され、CGモデル内の環境及び/又は物体を撮影する。撮影は、静止画には限られず、動画であってもよい。以下の説明においては、一例として、物体M1を撮影するものとするが、これは、物体に限られず、景色等であってもよい。また、人間が道具なしに見るものを撮影するには限られず、例えば、顕微鏡、内視鏡、望遠鏡等の画像を取得するものであってもよい。
それぞれのカメラは、CGモデル内の物体M1を撮影する。
カメラは、例えば、カメラC0、C1、C2の3つを用いるが、カメラの個数は、これに限られずさらに多くてもよい。それぞれのカメラに、撮影条件が対応する。撮影条件は、図に示されるようにカメラの位置を含み、さらに、CGモデル内の光源の状態(光の照射状態)、それぞれのカメラのレンズ・センサに関する情報を含んでも良い。
カメラC0は、理想的な画像を取得するカメラであり、機械学習における訓練対象となるモデルの出力画像に対応する画像を取得するカメラである。カメラC1、C2は、このモデルに入力する画像を取得するカメラである。CGモデル内においては、この図5Aに示すように、カメラC1、C2と、これらのカメラに重なるように配置されるカメラC0を用いて同時に撮影を行うことが可能である。
上述のシミュレータ3は、CGモデル内に各カメラを設置した後、シミュレーションにより、各カメラが撮影した画像を生成する。データ生成システム1は、この生成された画像を1組の訓練データとして出力する。
なお、カメラの図で示しているが、このような筐体が分かれているカメラには限られず、例えば、携帯型端末のように、同じ筐体内に複数の撮像系(レンズ及びセンサ等)が備えられているものとしてもよい。このような場合、例えば、レンズ間の位置は固定されているため、この固定されている位置を相対位置としてCGモデル内において2つ以上のカメラを配置することができる。
図5Bから図5Dは、それぞれのカメラにおける物体M1の撮影の状態を示す図である。図5Bから図5Dに示すようにそれぞれのカメラは、異なる位置から同時にCGモデル内を撮影する。例えば、カメラC0、C1、C2は、同じ画角を有するレンズにおいて撮影されるモデルである。
(HDR合成)
例えば、このような配置では、HDR合成(High Dynamic Range合成)する推定モデルの最適化に用いる訓練データを生成することができる。HDR合成を行う撮影条件の一例を挙げる。
例えば、このような配置では、HDR合成(High Dynamic Range合成)する推定モデルの最適化に用いる訓練データを生成することができる。HDR合成を行う撮影条件の一例を挙げる。
カメラC1は、撮影条件として、画素値の飽和が発生しづらいが、ノイズが発生しやすい(ノイズが大きい)カメラという撮影条件を設定する。カメラC2は、画素値の飽和が発生しやすいが、ノイズが発生しづらい(ノイズが小さい)カメラという撮影条件を設定する。カメラC0は、画素値が飽和しづらく、かつ、ノイズが小さいカメラとして撮影条件を設定する。さらにカメラC0は、CGモデル内における領域ごとに画素値を適切に取得し、ガンマ補正等を実行できるカメラとしてもよい。
上記の場合、例えば、カメラC1は、センサにおいて、画素において許容量を超える光電子を受光した場合に、この許容量を超える光電子を蓄える回路を備えていてもよい。このような回路を備えることにより、ノイズはカメラC2よりは大きくなるが、電子の飽和を起こしにくいデバイスとすることが可能である。一方で、カメラC2は、このような回路を備えない構成とすることにより、画素値の飽和がカメラC1より発生しやすいが、ノイズが小さいデバイスとすることができる。そして、カメラC0は、飽和しづらく、かつ、ノイズが発生しづらいデバイスとしてもよい。
これらのカメラC0、C1、C2を用いて、シミュレータ3は、シミュレーションにより各カメラにより撮影された画像を生成する。データ生成システム1は、これらの3枚の画像を1組の訓練データとして出力する。同じCGモデル内において同時に撮影した画像を取得することにより、カメラC1、C2の画像を用いて、カメラC0のダイナミックレンジを有する画像を推定する、推定モデルの最適化における訓練データとすることができる。なお、同じCGモデル内において、撮影条件、例えば、光源の光量、光の照射方向、カメラの位置、姿勢等を様々に変化させることにより、複数組の訓練データを取得してもよい。
図6は、現実世界におけるターゲットT1を撮影する、2つのカメラC1、C2を示す図である。訓練装置4は、上記のデータ生成システム1により生成された画像を用いて推定モデルを最適化する。推定装置5は、この最適化された推定モデルを備えて構成され、図5Aに示すカメラC1、C2の撮影条件により取得された画像を入力画像とする。そして、カメラC0の撮影条件により取得された画像を推定画像として出力する。図6は、図5AにおけるカメラC1、C2の撮影条件を現実において配置したものである。逆に、現実におけるデバイスの制限を有する図6の撮影条件に基づいて、CGモデル内における図5Aに示すような撮影条件を有するカメラを配置する。
一方、図7は、理想的なHDR画像を取得するカメラC0により、現実世界において仮想的に撮影される状況を示す図である。
上述したように、カメラC1は、例えば、画素値の飽和が発生しづらいが、ノイズが発生しやすいカメラであり、カメラC2は、画素値の飽和が発生しやすいが、ノイズが発生しづらいカメラである。これら2つのカメラにより取得された画像を、図5Aに示す訓練データを用いて最適化した推定モデルに入力することにより、図7の仮想的なカメラC0において撮影されたダイナミックレンジが最適化された推定画像を取得することができる。
カメラC0は、現実においては、カメラC1、C2と物理的な制限、例えば、筐体の大きさ、レンズの位置の物理的な重なりにより、配置することが不可能なカメラであってもよい。この場合、現実世界においては、カメラC1、C2の撮影と同時に、カメラC0で撮影することは不可能であり、教師データを取得することができない。このような場合であっても、本実施形態のデータ生成システム1は、CGモデルを用いることにより、理想的な教師データの画像を取得することが可能である。
図5Aにおいては、3つのカメラが異なる位置に配置されているが、カメラC0は、カメラC1、C2のいずれかと同一の位置に配置されてもよい。例えば、カメラC0は、カメラC1と同一の位置に配置されてもよい。
例えば、カメラC0の位置をカメラC1の位置と同一にしてもよい。この場合同一であるとは、例えば、カメラC0、C1のレンズの主点、センサ面の位置が同一であることである。このような撮影条件とすると、例えば、デバイスにおいてカメラC1から撮影されている画像をユーザが見ることができる場合に、このカメラC1におけるハイダイナミックレンジの画像を推定装置5において推定することが可能となる。
また、入力画像として用いるカメラは、2つには限られず、3つ以上のカメラにより構成されてもよい。例えば、3眼のカメラを有するスマートフォン等のデバイスにおいて、各レンズを用いて撮影される画像と、教師データとなる画像とをシミュレータ3により取得し、3以上の入力データと、教師データとを1組の訓練データとしてもよい。
なお、HDR画像を推定するための入力画像は、上述のように、画素値の飽和、ノイズの違うデバイスにより取得するものには限られない。例えば、カメラC1は、センサの感知情報を対数変換して取得するセンサを備え、カメラC2は、センサの感知情報をリニアに変換して取得するセンサを備えているような撮影条件を設定してもよい。
別の例として、レンズ、センサの性能では無く、カメラC1、C2の露光時間の長さが異なる撮影条件としてもよい。例えば、カメラC1の露光時間を明るい物体の画像を取得するのに適した短い露光時間に、カメラC2の露光時間を暗い物体の画像を取得するのに適したカメラC1の露光時間よりも十分に長い露光時間として設定し、これらを撮影条件としてもよい。
この例によれば、異なる撮影条件を有する2以上のカメラにより取得された画像を用いてHDR合成を行う推定モデルの最適化に用いる訓練データを適切に取得することが可能となる。
(TOF画像合成)
上記のものは、可視光を取得するカメラのレンズ、センサ等の違いであったが、これには限られない。カメラC1、C2の撮影条件は、異なる種類の感知情報を取得するデバイスであってもよい。異なる種類の感知情報を取得するデバイスについて、いくつか説明する。例えば、カメラC1は、可視光を取得するカメラであり、カメラC2は、TOF(Time of Flight)画像を取得するカメラであってよい。そして、カメラC0は、カメラC1の位置から、TOF情報を取得した画像を生成してもよい。
上記のものは、可視光を取得するカメラのレンズ、センサ等の違いであったが、これには限られない。カメラC1、C2の撮影条件は、異なる種類の感知情報を取得するデバイスであってもよい。異なる種類の感知情報を取得するデバイスについて、いくつか説明する。例えば、カメラC1は、可視光を取得するカメラであり、カメラC2は、TOF(Time of Flight)画像を取得するカメラであってよい。そして、カメラC0は、カメラC1の位置から、TOF情報を取得した画像を生成してもよい。
カメラC0を仮定することにより、実際には、視差が発生するカメラC1、C2において、カメラC2が取得したTOF情報を、カメラC1が取得したRGB情報に重ねて表示することが可能な画像を推定することが可能となる。例えば、カメラC2の位置において取得されたTOF情報から、カメラC1の位置におけるTOF情報を、カメラC1、C2それぞれが取得した情報から推定するモデルを最適化する訓練データを生成することが可能となる。現実においては、カメラC1と同じ位置にカメラC0としてTOF画像を取得するデバイスを配置することは不可能であるが、CGモデル内においてカメラを配置することにより、カメラC1の位置におけるTOF画像を取得するデバイスを仮想することが可能となる。
この例によれば、RGB画像を取得するデバイスと同じ位置においてTOF画像を推定するための訓練データを生成することが可能となる。RGB画像を取得するデバイスとTOF画像を取得するデバイスは、近い位置に配置することが可能であるが、近い位置に配置したとしても、視差は必ず発生する。本手法によれば、このような視差を排除した画像をシミュレーションにより生成することが可能となるため、RGB画像を取得するデバイスとTOF画像を取得するデバイスとを正確に同じ位置に配置したデータを取得することができる。このように生成された訓練データを用いて推定モデルを最適化することにより、視差を有するRGB画像とTOF画像の組み合わせから、視差を有しないRGB画像とTOF画像の組み合わせを推定することが可能となる。この結果、物体の位置の把握をより正確に実現することができる。
なお、距離情報の取得は、TOFによる手法に限られるものではなく、他の手法により実現されるものであってもよい。また、カメラC0をカメラC1と同じ位置にするのでは無く、例えば、図5Aに示すカメラC0の位置としてもよい。この場合、カメラC0は、2つの撮影条件、例えば、カメラC0の位置におけるRGB画像と、TOF画像と、を取得する条件を有し、シミュレータ3は、カメラC0の位置からRGB画像及びTOF画像をシミュレーションにより取得してもよい。
(高解像度サーマル画像)
異なる種類の感知情報を取得するデバイスとして、別の例を挙げる。例えば、カメラC1は、高解像度のRGB画像を取得するデバイス、又は、高解像度のグレースケール画像を取得するデバイスであってもよく、カメラC2は、サーマル画像を取得するデバイスであってもよい。サーマル画像は、温度を取得するセンサ、例えば、赤外線、遠赤外線等を用いたサーモグラフィにより取得されるものとしてもよい。カメラC0は、CGモデルにおける温度情報をシミュレーションにより取得し、この温度情報を取得して、画像へと変換したものであってもよい。赤外線に関する情報を取得する場合、例えば、赤外線のみの情報を取得するデバイスであってもよいし、RGBの情報とともに赤外線を取得するデバイスとしてもよい。
異なる種類の感知情報を取得するデバイスとして、別の例を挙げる。例えば、カメラC1は、高解像度のRGB画像を取得するデバイス、又は、高解像度のグレースケール画像を取得するデバイスであってもよく、カメラC2は、サーマル画像を取得するデバイスであってもよい。サーマル画像は、温度を取得するセンサ、例えば、赤外線、遠赤外線等を用いたサーモグラフィにより取得されるものとしてもよい。カメラC0は、CGモデルにおける温度情報をシミュレーションにより取得し、この温度情報を取得して、画像へと変換したものであってもよい。赤外線に関する情報を取得する場合、例えば、赤外線のみの情報を取得するデバイスであってもよいし、RGBの情報とともに赤外線を取得するデバイスとしてもよい。
これらの画像を訓練データとすることにより、RGB画像及びグレースケール画像と、サーマル画像とを視差の無い状態でオーバーレイする推定モデルを最適化することができる。上記と同様に、視差が無い状態で、可視画像とサーマル画像とを取得することは困難であり、現実世界では、訓練データをうまく取得することができないが、CGモデルを用いることにより、より精度の高い(視差が存在しない)訓練データを取得することが可能となる。このように最適化された推定モデルを用いることにより、視差を有する可視画像とサーマル画像とから、視差の無い可視画像とサーマル画像を取得することができる。
(高解像度画像)
一般的に、RGB画像を取得する場合には、フィルタ、有機光電膜等を介した異なる色の光の強度を取得して合成するため、グレースケール画像を取得する場合に比較して解像度が落ちる。例えば、グレースケール画像の4ピクセルに対して、カラー画像の1ピクセルが定義される。本実施形態の手法を用いることにより、カラー画像における高解像度化を実現することもできる。
一般的に、RGB画像を取得する場合には、フィルタ、有機光電膜等を介した異なる色の光の強度を取得して合成するため、グレースケール画像を取得する場合に比較して解像度が落ちる。例えば、グレースケール画像の4ピクセルに対して、カラー画像の1ピクセルが定義される。本実施形態の手法を用いることにより、カラー画像における高解像度化を実現することもできる。
例えば、カメラC1を高解像度のグレースケール画像を取得するデバイス、カメラC2をベイヤ-配列のカラーフィルタが備えられるデバイスとしてもよい。そして、カメラC0は、高解像度のカラー画像を取得するデバイスと設定してもよい。
カメラC0は、同じ瞬間において、全ての画素において同色のフィルタを掛けた画像を、色の種類分、例えば、RGBの3色分を取得してもよい。CGモデルにおいては、このように同じ瞬間、同じ位置において取得される、異なる情報を感知するデバイスを設定することも可能である。このように、カメラC0からは、高解像度の各色の画像が取得できるため、高解像度のカラー画像を取得することが可能となる。
このことから、カメラC1で取得した高解像度のグレースケール画像、カメラC2で取得した、それよりは低解像度のカラー画像から、カメラC0で取得した高解像度のカラー画像を推定するための訓練データを生成することができる。これらの訓練データを用いることにより、視差を有する高解像度のグレースケール画像及び低解像度のカラー画像から、高解像度のカラー画像を推定するモデルを生成することが可能となる。なお、ベイヤ配列を用いる例であれば、高解像度の画像は、低解像度の画像と比較して2 × 2倍の解像度を理論的には有する。
上記では、ベイヤ配列としたが、これには限られない。また、カメラC0の合成にはRGBを用いるとしたが、さらに、補色系(CMY)を用いてもよいし、他の色を用いてもよい。すなわち、赤外線カメラの高解像度及びカラー画像化、又は、マルチスペクトルやハイパースペクトルの画像合成に適用することも可能である。さらには、黒(K)を用いてもよく、この場合、コピー機等の印刷機やスキャナの性能の向上にも応用することが可能となる。別の例として、プラズモン共鳴によるフィルタを備えるセンサによる画像を取得してもよい。この場合、種々の個人認証デバイス等に応用することもできる。
(高感度かつ高解像度画像)
上記では、高解像度画像を各種センサにより取得された画像から生成することについて記載したが、高感度の画像も同様に訓練データとして生成し、推定モデルの出力として推定することも可能である。
上記では、高解像度画像を各種センサにより取得された画像から生成することについて記載したが、高感度の画像も同様に訓練データとして生成し、推定モデルの出力として推定することも可能である。
例えば、カメラC1は、カメラC2よりも画素サイズが小さいセンサを用いるとした撮影条件を設定してもよい。このように設定することにより、カメラC1は、カメラC2よりも高解像度の画像を取得し、カメラC2は、カメラC1よりも高感度の画像を取得することが可能となる。そして、カメラC0は、カメラC1の解像度を有し、感度がカメラC2の画素となる撮影条件を設定する。
データ生成システム1は、これらの高解像度画像と、高感度画像とを入力データとし、高解像度かつ高感度画像を出力データとした訓練データを生成してもよい。このように生成された訓練データを用いて最適化された推定モデルは、サイズが異なる画素を備えるカメラにより取得された解像度、感度が異なる画像から、高解像度、高感度の画像を推定することが可能となる。
以上のように、本実施形態によれば、推定モデルの最適化において入出力データとなる訓練データをCGモデル内において自由に生成することが可能となる。現実世界においては、それぞれのカメラの筐体の大きさに基づいて物理的な干渉等から、このようにカメラC1、C2と重なるようにカメラC0を配置することはできない。また、同じ瞬間ではなくとも、カメラC1、C2に対して、カメラC0を理想的な位置に配置することも困難である。このような場合においても、データ生成システム1によれば、自由に画像を取得することができる。
(第2実施形態)
第1実施形態では、撮影条件として、教師データが物理的に筐体等の影響により干渉を受ける場合に、同じ位置から種々の撮影条件を設定することにより推定データを取得したが、さらにこの撮影条件を拡げることも可能である。本実施形態においては、データ生成システム1は、一例として、位置がずれた様々な画角を有する複数のデバイスが取得した画像から、所定の画角を有するデバイスが取得した画像を推定するモデルの訓練データを生成する。
第1実施形態では、撮影条件として、教師データが物理的に筐体等の影響により干渉を受ける場合に、同じ位置から種々の撮影条件を設定することにより推定データを取得したが、さらにこの撮影条件を拡げることも可能である。本実施形態においては、データ生成システム1は、一例として、位置がずれた様々な画角を有する複数のデバイスが取得した画像から、所定の画角を有するデバイスが取得した画像を推定するモデルの訓練データを生成する。
図8は、本実施形態に係るCGモデル内における推定モデルに入力するデータを取得するシミュレーション上のカメラ配置の一例を示す図である。この図8に示すように、CGモデル内において、カメラC1、C2、C3は、異なる位置に、異なる画角を有する光学系を有するカメラとして、撮影条件が設定されている。
例えば、カメラC1は、標準の画角、カメラC2は、望遠の画角、カメラC3は、広角の画角を有したレンズを備えて撮影を実行する。そして、それぞれのカメラは、現実の空間内で配置が可能であるように、物理的に干渉しない位置に配置される。そして、それらの撮影条件において、画像がシミュレーションにより取得される。
図9Aから図9Eは、図8で取得された入力データに対する、教師データを取得するための撮影条件をそれぞれ示す図である。例えば、図9Aのように、カメラC0は、超広角なレンズを有するデバイスとする撮影条件であってもよい。
この場合、図8に示すカメラC1、C2、C3により取得した画像を用いて、超広角レンズを用いて取得した画像を推定するモデルの訓練を実現する。これは、図9Bから図9Eにおいても同様であり、それぞれの画角に応じた教師データを生成して出力する。
訓練装置4は、それぞれの教師データに基づいた推定モデルを最適化してもよい。例えば、入力画像として、図8に示すカメラC1、C2、C3からの画像を入力し、図9Aに示す超広角の画像を取得する推定モデル、図9Bに示す広角の画像を取得する推定モデル、・・・、を推定する推定モデルをそれぞれ訓練してもよい。
別の例としては、訓練装置4は、それぞれの教師データの画像を推定する1つのモデルを訓練により最適化してもよい。訓練装置4は、例えば、1つの推定モデルに対して、出力層から出力される画像を5画像とし、この5画像が図9A、図9B、・・・、図9Eの状態において生成された画像となるように推定モデルの訓練を実行してもよい。
図10は、このように生成された推定モデルにおける現実世界の画像を取得するカメラを示す図である。推定装置5は、図8及び図9Aから図9Eの撮影条件により生成された画像に基づいて生成された推定モデルに、図10のカメラC1、C2、C3により撮影された画像を入力する。
図11は、推定モデルから出力される画像の画角の一例を示す図である。推定装置5は、推定モデルに上記の画像を入力し、図11のような画角の画像を取得する。上述したように、推定する画像の画角に基づいて推定モデルが異なるものであってもよいし、複数の画角を1つの推定モデルが出力できるものであってもよい。
以上のように、本実施形態によれば、異なる画角を有する複眼のカメラにおいて撮影された画像を、任意の画角で撮影された画像へと変換する、推定モデルを生成するための訓練データを取得することが可能となる。
なお、上記においては、画角にしか言及していないが、もちろん、被写界深度がシミュレータ3により考慮され、被写界深度をも異なる画像が取得されてもよい。この場合、推定装置5により推定された画像は、例えば、あるターゲットT1にピントが合わせられた任意の画角の画像であってもよい。このように取得された画像は、例えば、教師データとして生成した被写界深度に基づいて、ピントが合っている物体以外に適切なボケ等の効果が適用された画像となる。逆に、所定の距離又は位置にピントが合っており、他の距離又は位置においてボケている画像に対して、全ての位置でピントが合っている画像を推定するモデルを推定する教師データを生成すること及びこのモデルを学習することも可能である。
(第3実施形態)
前述の各実施形態においては、推定モデルの入力となる画像を取得するカメラは、その光軸が同じ方向を向いているものであったが、これには限られない。
前述の各実施形態においては、推定モデルの入力となる画像を取得するカメラは、その光軸が同じ方向を向いているものであったが、これには限られない。
図12は、本実施形態に係るCGモデル内におけるシミュレーション上のカメラ配置の一例を示す図である。本実施形態では、例えば、360度の情報が取得できるカメラのセットによる画像の取得に関するものである。より具体的には、例えば、全天球カメラによる撮影を想定したものである。
カメラC1、C2は、例えば、逆の方向を向いた画角が180度よりも大きい魚眼レンズを備える。カメラC1、C2は、互いが物理的、機械的に干渉しないように配置される。このように配置されたカメラは、その主点の位置を一致させることが困難である。このため、スティッチングした画像のつなぎ目を完全に除去することはできない。そこで、CGモデル内において主点が一致するような2つのカメラを配置して、これらのカメラの撮影条件により撮影された画像を、シミュレータ3が生成する。
図13Aは、CGモデル内におかれた主点が一致するシミュレーション上のカメラの一例を示す図である。この図13Aに示すように、カメラC0a、C0bは、レンズの主点が一致するようにCGモデル内に配置される。図13B、図13Cは、重なりの部分がわかりやすくなるように、カメラC0a、C0bを別々に示す図である。カメラC0a、C0bは、これらの図に示されるように、主点が一致し、撮影方向が逆方向となるようにCGモデル内に配置される。例えば、カメラC0aの光軸は、カメラC1の光軸と一致し、カメラC0bの光軸は、カメラC2の光軸と一致するように、カメラC0a、C0bが配置される撮影条件としてもよい。
なお、CGモデル内にカメラC0a、C0bを配置することにより、互いのカメラが写らないように制御することも可能である。例えば、カメラC0aにより撮影された画像を生成する際には、カメラC0bが配置されていないものとし、逆に、カメラC0bにより撮影された画像を生成する際には、カメラC0aが配置されていないものとしてもよい。このようにすることで、互いのカメラの筐体が撮影画像の邪魔をしない状態で撮影を実現することができる。
データ生成システム1は、図12の撮影条件において生成された画像データ及び図13の撮影条件において生成された画像データの組を訓練データとして出力する。訓練装置4は、この訓練データを用いて、図12の条件において取得された画像から、図13の条件において取得された画像を推定するようにモデルを最適化する。すなわち、推定モデルは、カメラC1、C2により撮影された画像が入力されると、カメラC0a、C0bにより撮影された画像が出力されるように最適化が実行される。
このように最適化されたモデルを用いて、推定装置5は、図14に示すようなカメラC1、C2により撮影されたターゲットT1を含む画像から、図15に示すようなカメラC0a、C0bにより撮影されたターゲットT1を含む画像を推定する。このように推定された画像は、レンズの主点の位置が一致している画像であり、それぞれの画像中にオーバーラップする領域が元のカメラC1、C2で撮影された画像と比較して広い。このため、カメラC1、C2により撮影された画像をスティッチングするよりも、推定モデルを介して取得されたカメラC0a、C0bで撮影された画像を用いることにより、つなぎ目等の補正がより精度よく実現できる画像を取得することが可能となる。
以上のように、本実施形態によれば、現実世界においては、物理的な問題から主点を一致させて同時に撮影することが困難である全天球カメラにおいても、CGモデル内で主点を一致させたシミュレーション上のカメラにより同時に撮影することにより、主点が一致した逆方向を撮影するカメラにより取得される画像を推定するモデルを最適化する訓練データを取得することが可能となる。
なお、図13Aから図13Cは、一例として示したものであり、カメラC0の撮影条件は、これに限られるものではない。
図16は、カメラC0の別の撮影条件を示す図である。図16に示すカメラC0a、C0bのように、カメラを光軸と一致させるのでは無く、別の方向に光軸が向いている反対方向を撮影するカメラC0c、C0dを用いてもよい。また、図13Aの状況に加えて、さらに、図16のカメラを追加して推定を実行できるようにしてもよい。
このように3以上のカメラを用いることが可能であるということは、レンズを超広角以外にすることも考えられる。図17A、図17Bは、レンズが超広角ではない一例を示す図である。例えば、図12のカメラC1、C2に対して、標準的な画角を有する3以上のカメラを、教師データを取得するカメラとして配置してもよい。図17A、図17Bは、この一例であり、主点が一致する4つのカメラC0a、C0b、C0c、C0dが撮影する画像をシミュレータ3は、教師データとして生成してもよい。例えば、標準的な画角を有する撮影条件とすることにより、教師データの歪みを抑制することもできる。
さらに、教師データは、カメラC0が撮影した画像ではなく、スティッチングされた画像としてもよい。この場合、例えば、シミュレータ3は、カメラC1、C2の主点の位置の中央の点を主点として共有する任意台数の複数のカメラC0により正確なスティッチング画像を取得できるように撮影された画像を生成してもよい。このように生成された複数の画像から、シミュレータ3は、スティッチング画像を演算により取得し、このスティッチング画像を教師データとして、カメラC1、C2により撮影されたデータと組にして訓練データとして出力する。
訓練装置4は、カメラC1、C2により撮影された画像が入力されると、教師データであるスティッチング画像が出力される推定モデルの最適化を実行する。そして、最適化が完了した推定モデルを用いて、推定装置5は、入力画像からスティッチング画像を推定してもよい。
(第4実施形態)
携帯端末においては、その使用形態、又は、使用環境により複眼のカメラの相対位置及び光軸の方向がずれてしまう可能性がある。例えば、携帯する場合に、ポケットに入れると、筐体の歪みからずれが生じることがあるし、使用する温度により筐体に歪みが発生する可能性がある。本実施形態に係るデータ生成システム1は、このような相対位置のずれ及び光軸の方向のずれを補正する情報を取得する訓練データを生成する。
携帯端末においては、その使用形態、又は、使用環境により複眼のカメラの相対位置及び光軸の方向がずれてしまう可能性がある。例えば、携帯する場合に、ポケットに入れると、筐体の歪みからずれが生じることがあるし、使用する温度により筐体に歪みが発生する可能性がある。本実施形態に係るデータ生成システム1は、このような相対位置のずれ及び光軸の方向のずれを補正する情報を取得する訓練データを生成する。
図18は、一実施形態に係るCGモデル内におけるシミュレーション上のカメラ配置の一例を示す図である。この図に示すようにカメラC1、C2'がCGモデル内に配置される。点線で示されるのは、正しいカメラC2の位置及び方向である。これに対して、カメラC2'は、その位置及び方向がずれて配置される。ここで、位置とは、例えば、カメラC1に対するカメラC2の相対位置のことを示す。この場合、教師データは、例えば、この相対位置からのズレと光軸のズレであってもよい。すなわち、カメラC1に対するカメラC2の相対位置と、カメラC1の光軸に対するカメラC2の光軸のズレを教師データとしてもよい。
また、別の例として、カメラC1、C2を相対位置及び光軸の相対的な角度が正しくなるように配置して、これを第1所定位置、第2所定位置、第1光軸方向、第2光軸方向とおいてもよい。この場合、カメラC1の位置及び光軸の方向の少なくとも一方を、第1所定位置及び第1光軸方向からランダムにずらし、カメラC2の位置及び光軸の方向の少なくとも一方を、第2所定位置及び第2光軸方向からランダムにずらして、このズレを相対的なズレに変換して教師データとしてもよい。
ここで、ランダムにずらすとは、微少なズレであるとする。微少なズレとは、例えば、カメラC1、C2が備えられる筐体が破壊しない程度にずれる位置又は方向のズレであるとする。
このようにずらした状態におけるカメラをCGモデル内に配置し、それぞれのカメラにより撮影される画像をシミュレータ3が生成してもよい。この生成された画像と、教師データである位置、方向のズレとを組にして訓練データとする。上記の拘束条件を満たす様々なズレを有する撮影条件を設定し、訓練データを生成してもよい。
訓練装置4は、2枚の画像が入力されると、相対的な位置のずれ、及び、光軸の方向のズレを出力する推定モデルの最適化を実行する。推定装置5は、訓練装置4により最適化された推定モデルを用いて、図19に示すような2枚の画像から、相対位置のずれ、及び、光軸のズレを推定して出力する。
このような構成は、通常のセンサにおいても実現できるが、単眼において視差が取得できるデバイスを用いることにより、さらに精度よく実現することができる。シミュレータ3において、このようなセンサを有するカメラを撮影条件として設定してもよい。単眼視差画像を取得するセンサとしては、例えば、1つのオンチップレンズに対応する画素内に2 × 2の受光素子を有する、2 × 2 OCL(On-Chip Lens)素子を用いてもよい。
図20は、本実施形態の別の例を示すシミュレーション上のカメラの配置の一例を示す図である。例えば、教師データは、上記のように位置ズレ、光軸ズレといった数値データではなく、前述した実施形態と同様に、カメラC0a、C0bを理想的なカメラC1、C2の位置、方向として配置してもよい。そして、これらのカメラC0a、C0bにより撮影されるデータをシミュレータ3が生成し、これらを教師データとしてもよい。このようなデータを取得する場合にも、上記の第1所定位置、第2所定位置、第1光軸方向、第2光軸方向を用いてもよい。すなわち、カメラC1、C2の位置に対して、これらの位置、方向にしたがったカメラC0a、C0bをCGモデル内に配置することで実現してもよい。
図21は、現実世界における理想的なカメラC1、C2の相対的な配置を示す図である。図20に示す状態において、訓練データを取得することにより、図19のような相対位置ズレ及び光軸のズレを有する画像同士を、図21に示すようなカメラで撮影された画像へと補正する推定モデルを最適化する訓練データを、データ生成システム1が生成することが可能となる。
以上のように、本実施形態によれば、カメラ同士の相対位置のずれや、光軸のずれを推定し、又は、相対位置のずれや光軸のズレを補正した画像を推定する推定モデルを生成するための訓練データを取得することが可能となる。いずれの場合においても、現実世界では、正解データを得ることが困難である状態において、CGモデル内における配置等の撮影条件を用いることにより、正確なデータを取得することができ、推定モデルの推定精度を向上することが可能となる。
前述の各実施形態は、適切に適用できる範囲において、重複して適用されてもよい。
本開示の態様は、その一部又は全部がプログラムにより実装されてもよい。プログラムは、記憶部302、402、502に記憶され、ソフトウェアによる情報処理がハードウェアにより具体的に実現されるものであってもよい。また、一部又は全部の処理は、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)を利用することができる。図22は、AI処理を行う装置を含むシステムの構成例を示している。
電子機器20001は、スマートフォン、タブレット型端末、携帯電話機等のモバイル端末である。電子機器20001は、本開示に係る技術を適用した光センサ20011を有する。なお、光センサ20011は、電子機器20001において、例えば、カメラの機能を構成することができ、また、図示していないが、一以上有していても良い。光センサは、光を電気信号に変換するセンサ(画像センサ)である。電子機器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においては、CPU(Central Processing Unit)等のプロセッサがプログラムを実行したり、あるいは特定用途に特化したプロセッサ等の専用のハードウェアを用いたりすることで、AI処理が実現される。例えば、特定用途に特化したプロセッサとしては、GPU(Graphics Processing Unit)を用いることができる。
図23は、電子機器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と、物理的なボタンやタッチパネル等の操作部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像を取得するセンサ、多波長取得可能なセンサなどが含まれる。すなわち、前述の実施形態において、少なくとも1つのデータを、さらに限定されない例として、偏光センサ、イベントベースのセンサとしてもよい。
電子機器20001においては、CPU20101やGPU20102等のプロセッサによってAI処理を行うことができる。電子機器20001のプロセッサが推論処理を行う場合には、光センサ20011で画像データを取得した後に時間を要さずに処理を開始することができるため、高速に処理を行うことができる。そのため、電子機器20001では、短い遅延時間で情報を伝達することが求められるアプリケーションなどの用途に推論処理が用いられた際に、ユーザは遅延による違和感なく操作を行うことができる。また、電子機器20001のプロセッサがAI処理を行う場合、クラウドサーバ20003等のサーバを利用する場合と比べて、通信回線やサーバ用のコンピュータ機器などを利用する必要がなく、低コストで処理を実現することができる。
図24は、エッジサーバ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に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、エッジサーバ20002のプロセッサがAI処理を行う場合、電子機器20001や光センサ20011の仕様や性能の違いに依らず、データを受信できればAI処理を行うことができる。エッジサーバ20002でAI処理を行う場合には、電子機器20001や光センサ20011における処理の負荷を軽減することができる。
クラウドサーバ20003の構成は、エッジサーバ20002の構成と同様であるため、説明は省略する。
クラウドサーバ20003においては、CPU20201やGPU20202等のプロセッサによってAI処理を行うことができる。クラウドサーバ20003は、電子機器20001や光センサ20011に比べて、演算速度などの処理能力が高いため、汎用的に構成することができる。そのため、クラウドサーバ20003のプロセッサがAI処理を行う場合、電子機器20001や光センサ20011の仕様や性能の違いに依らず、AI処理を行うことができる。また、電子機器20001又は光センサ20011のプロセッサで負荷の高いAI処理を行うことが困難である場合には、その負荷の高いAI処理をクラウドサーバ20003のプロセッサが行い、その処理結果を電子機器20001又は光センサ20011のプロセッサにフィードバックすることができる。
図25は、光センサ20011の構成例を示している。光センサ20011は、例えば複数の基板が積層された積層構造を有する1チップの半導体装置として構成することができる。光センサ20011は、基板20301と基板20302の2枚の基板が積層されて構成される。なお、光センサ20011の構成としては積層構造に限らず、例えば、撮像部を含む基板が、CPUやDSP(Digital Signal Processor)等のAI処理を行うプロセッサを含んでいてもよい。
上層の基板20301には、複数の画素が2次元に並んで構成される撮像部20321が搭載されている。下層の基板20302には、撮像部20321での画像の撮像に関する処理を行う撮像処理部20322と、撮像画像や信号処理結果を外部に出力する出力I/F20323と、撮像部20321での画像の撮像を制御する撮像制御部20324が搭載されている。撮像部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においては、CPU20331等のプロセッサによってAI処理を行うことができる。光センサ20011のプロセッサが推論処理等のAI処理を行う場合、1チップの半導体装置内で一連の処理が行われるため、センサ外部に情報が漏れないことから情報の秘匿性を高めることができる。また、画像データ等のデータを他の装置に送信する必要がないため、光センサ20011のプロセッサでは、画像データを用いた推論処理等のAI処理を高速に行うことができる。例えば、リアルタイム性が求められるアプリケーションなどの用途に推論処理が用いられた際に、リアルタイム性を十分に確保することができる。ここで、リアルタイム性を確保するということは、短い遅延時間で情報を伝達できることを指す。さらに、光センサ20011のプロセッサがAI処理を行うに際して、電子機器20001のプロセッサにより各種のメタデータを渡すことで、処理を削減して低消費電力化を図ることができる。
図26は、処理部20401の構成例を示している。電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011のプロセッサがプログラムに従った各種の処理を実行することで、処理部20401として機能する。なお、同一の又は異なる装置が有する複数のプロセッサを処理部20401として機能させてもよい。
処理部20401は、AI処理部20411を有する。AI処理部20411は、AI処理を行う。AI処理部20411は、学習部20421と推論部20422を有する。
学習部20421は、学習モデルを生成する学習処理を行う。学習処理では、画像データに含まれる補正対象画素を補正するための機械学習を行った機械学習済みの学習モデルが生成される。また、学習部20421は、生成済みの学習モデルを更新する再学習処理を行ってもよい。以下の説明では、学習モデルの生成と更新を区別して説明するが、学習モデルを更新することで、学習モデルを生成しているとも言えるため、学習モデルの生成には、学習モデルの更新の意味が含まれるものとする。
また、生成された学習モデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などが有するメインメモリ又は補助メモリなどの記憶媒体に記録されることで、推論部20422が行う推論処理において新たに利用可能となる。これにより、当該学習モデルに基づく推論処理を行う電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などを生成することができる。さらに、生成された学習モデルは、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などとは独立した記憶媒体又は電子機器に記録され、他の装置で使用するために提供されてもよい。なお、これらの電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011などの生成とは、製造時において、それらの記憶媒体に新たに学習モデルを記録することだけでなく、既に記録されている生成済学習モデルを更新することも含まれるものとする。
推論部20422は、学習モデルを用いた推論処理を行う。推論処理では、学習モデルを用いて、画像データに含まれる補正対象画素を補正するための処理が行われる。補正対象画素は、画像データに応じた画像内の複数個の画素のうち、所定の条件を満たした補正対象となる画素である。この補正処理により、例えば、限定されない例として、前述の実施形態に記載したように、物理的に重なる位置に存在するカメラからの画像を取得したり、物理的には存在しない位置に存在するカメラからの画像を取得したり、物理的に配置することが困難であるセンサを仮定した画像を取得したりすることができる。
機械学習の手法としては、ニューラルネットワークやディープラーニングなどを用いることができる。ニューラルネットワークとは、人間の脳神経回路を模倣したモデルであって、入力層、中間層(隠れ層)、出力層の3種類の層からなる。ディープラーニングとは、多層構造のニューラルネットワークを用いたモデルであって、各層で特徴的な学習を繰り返し、大量データの中に潜んでいる複雑なパターンを学習することができる。
機械学習の問題設定としては、教師あり学習を用いることができる。例えば、教師あり学習は、与えられたラベル付きの教師データに基づいて特徴量を学習する。これにより、未知のデータのラベルを導くことが可能となる。教師データは、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、例えば、前述の実施形態に記載したようなシミュレータにより生成されたデータセットなどを用いることができる。
なお、教師あり学習に限らず、教師なし学習、半教師あり学習、強化学習などを用いてもよい。教師なし学習は、ラベルが付いていない学習データを大量に分析して特徴量を抽出し、抽出した特徴量に基づいてクラスタリング等を行う。これにより、膨大な未知のデータに基づいて傾向の分析や予測を行うことが可能となる。半教師あり学習は、教師あり学習と教師なし学習を混在させたものであって、教師あり学習で特徴量を学ばせた後、教師なし学習で膨大な教師データを与え、自動的に特徴量を算出させながら繰り返し学習を行う方法である。強化学習は、ある環境内におけるエージェントが現在の状態を観測して取るべき行動を決定する問題を扱うものである。
このように、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ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に接続してもよい。AI処理は、各装置のCPUやGPU等のプロセッサに限らず、量子コンピュータやニューロモーフィック・コンピュータなどを利用しても構わない。
(処理の流れ)
図27のフローチャートを参照して、AIを利用した処理の流れを説明する。
図27のフローチャートを参照して、AIを利用した処理の流れを説明する。
ステップS20001では、処理部20401が、光センサ20011からの画像データを取得する。ステップS20002では、処理部20401が、取得した画像データに対する補正処理を行う。この補正処理では、画像データの少なくとも一部に学習モデルを用いた推論処理が行われ、画像データに含まれる補正対象画素を補正した後のデータである補正済みデータが得られる。ステップS20003では、処理部20401が、補正処理で得られた補正済みデータを出力する。
ここで、図28のフローチャートを参照して、上述したステップS20002における補正処理の詳細を説明する。
ステップS20021では、処理部20401が、画像データに含まれる補正対象画素を特定する。この補正対象画素を特定するステップ(以下、特定ステップ(Detection Step)と呼ぶ)では、推論処理又は通常処理が行われる。
特定ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、入力された画像データに含まれる補正対象画素を特定するための情報(以下、特定情報(Detection Information)と呼ぶ)が出力されるので、補正対象画素を特定することができる。ここでは、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、特定ステップとして通常処理が行われる場合、電子機器20001又は光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を特定する処理が行われる。
なお、補正対象画素が画像データの全ての画素であるなど分かっている場合には、特定ステップをスキップすることもできる。
なお、補正対象画素が画像データの全ての画素であるなど分かっている場合には、特定ステップをスキップすることもできる。
ステップS20021で、画像データに含まれる補正対象画素が特定されると、処理は、ステップS20022に進められる。ステップS20022では、処理部20401が、特定された補正対象画素を補正する。この補正対象画素を補正するステップ(以下、補正ステップ(Correction Step)と呼ぶ)では、推論処理又は通常処理が行われる。
補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データ及び補正対象画素の特定情報を入力することで、補正された画像データ又は補正された補正対象画素の特定情報が出力されるので、補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、補正ステップとして通常処理が行われる場合、電子機器20001又は光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を補正する処理が行われる。
このように、補正処理では、補正対象画素を特定する特定ステップで推論処理又は通常処理が行われ、特定した補正対象画素を補正する補正ステップで推論処理又は通常処理が行われることで、特定ステップ及び補正ステップの少なくとも一方のステップで、推論処理が行われる。すなわち、補正処理では、光センサ20011からの画像データの少なくとも一部に学習モデルを用いた推論処理が行われる。
また、補正処理では、推論処理を用いることで、特定ステップが補正ステップと一体的に行われるようにしてもよい。このような補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、補正対象画素が補正された画像データが出力されるので、入力された画像データに含まれる補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。
ところで、処理部20401では、補正済みデータを用いてメタデータを生成するようにしてもよい。図29のフローチャートには、メタデータを生成する場合の処理の流れを示している。
ステップS20051,S20052においては、上述したステップS20001,S20002と同様に、画像データが取得され、取得された画像データを用いた補正処理が行われる。ステップS20053では、処理部20401が、補正処理で得られた補正済みデータを用いてメタデータを生成する。このメタデータを生成するステップ(以下、生成ステップ(Generation Step)と呼ぶ)では、推論処理又は通常処理が行われる。
生成ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し補正済みデータを入力することで、入力された補正済みデータに関するメタデータが出力されるので、メタデータを生成することができる。ここでは、補正済みデータを入力とし、メタデータを出力とする学習モデルが用いられる。例えば、メタデータには、ポイントクラウドやデータ構造体等の3次元データが含まれる。なお、ステップS20051乃至S20054の処理は、エンドツーエンド(end-to-end)の機械学習で行われてもよい。一方で、生成ステップとして通常処理が行われる場合、電子機器20001又は光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、補正済みデータからメタデータを生成する処理が行われる。
以上のように、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011においては、光センサ20011からの画像データを用いた補正処理として、補正対象画素を特定する特定ステップと補正対象画素を補正する補正ステップ、又は画像データに含まれる補正対象画素を補正する補正ステップが行われる。さらに、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011では、補正処理で得られる補正済みデータを用い、メタデータを生成する生成ステップを行うこともできる。
さらに、これらの補正済みデータや、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を生成することもできる。当該記憶媒体は、電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011に備わるメインメモリ又は補助メモリなどの記憶媒体でもよいし、それらとは独立した記憶媒体又は電子機器でもよい。
補正処理で特定ステップと補正ステップが行われる場合、特定ステップ、補正ステップ、及び生成ステップのうち、少なくとも1つのステップで、学習モデルを用いた推論処理を行うことができる。具体的には、特定ステップにおいて推論処理又は通常処理が行われた後に、補正ステップにおいて推論処理又は通常処理が行われ、さらに生成ステップにおいて推論処理又は通常処理が行われることで、少なくとも1つのステップで推論処理が行われる。
また、補正処理で補正ステップのみが行われる場合、補正ステップで推論処理を行い、生成ステップで推論処理又は通常処理を行うことができる。具体的には、補正ステップにおいて推論処理が行われた後に、生成ステップにおいて推論処理又は通常処理が行われることで、少なくとも1つのステップで推論処理が行われる。
このように、特定ステップ、補正ステップ、及び生成ステップにおいては、全てのステップで推論処理が行われてもよいし、あるいは一部のステップで推論処理が行われ、残りのステップで通常処理が行われてもよい。以下、各ステップで推論処理が行われる場合の処理を説明する。
(A)特定ステップで推論処理が行われる場合の処理
補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成され、推論部20422に提供されて推論処理を行う際に用いられる。
補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成され、推論部20422に提供されて推論処理を行う際に用いられる。
図30のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、シミュレータにより生成されたデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
(B)補正ステップで推論処理が行われる場合の処理
補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
図30のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、例えば、前述の実施形態に記載したようなシミュレータからのデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
なお、教師データは、シミュレータから提供されるデータセットに限らず、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データなどを更に用いても構わない。
(C)補正ステップで推論処理が行われる場合の処理
補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
図30のフローチャートを参照しながら、補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、例えば、前述の実施形態に記載したようなシミュレータからのデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。この学習モデルとしては、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
なお、教師データは、シミュレータから提供されるデータセットに限らず、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データなどを更に用いても構わない。
ところで、学習モデルや画像データ、補正済みデータ等のデータは、単一の装置内で用いられることは勿論、複数の装置の間でやり取りされ、それらの装置内で用いられてもよい。図31は、複数の装置間でのデータの流れを示している。
電子機器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が再学習処理を行ってもよい。
アプリサーバ20506は、ネットワーク20040を介して各種のアプリケーションを提供可能なサーバである。アプリケーションは、学習モデルや補正済みデータ、メタデータ等のデータを用いた所定の機能を提供する。電子機器20001は、ネットワーク20040を介してアプリサーバ20506からダウンロードしたアプリケーションを実行することで、所定の機能を実現することができる。あるいは、アプリサーバ20506は、例えばAPI(Application Programming Interface)などを介して電子機器20001からデータを取得し、アプリサーバ20506上でアプリケーションを実行することで、所定の機能を実現することもできる。
このように、本技術を適用した装置を含むシステムでは、各装置の間で、学習モデル、画像データ、補正済みデータ等のデータがやり取りされて流通し、それらのデータを用いた様々なサービスを提供することが可能となる。例えば、学習モデル提供サーバ20504を介した学習モデルを提供するサービスや、データ提供サーバ20505を介した画像データや補正済みデータ等のデータを提供するサービスを提供することができる。また、アプリサーバ20506を介したアプリケーションを提供するサービスを提供することができる。
あるいは、学習モデル提供サーバ20504により提供される学習モデルに、電子機器20001の光センサ20011から取得した画像データを入力して、その出力として得られる補正済みデータが提供されてもよい。また、学習モデル提供サーバ20504により提供される学習モデルを実装した電子機器などの装置を生成して提供してもよい。さらに、学習モデルや補正済みデータ、メタデータ等のデータを読み出し可能な記憶媒体に記録することで、それらのデータが記録された記憶媒体や、当該記憶媒体を搭載した電子機器などの装置を生成して提供してもよい。当該記憶媒体は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの不揮発性メモリでもよいし、SRAMやDRAMなどの揮発性メモリでもよい。
前述した実施形態は、以下のような形態としてもよい。
(1)
プロセッサによってCGモデルから機械学習に用いる訓練データを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
データ生成方法。
プロセッサによってCGモデルから機械学習に用いる訓練データを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
データ生成方法。
(2)
前記第1撮影条件に含まれる撮影位置は、前記第2撮影条件に含まれる撮影位置とは異なる位置である、
(1)に記載のデータ生成方法。
前記第1撮影条件に含まれる撮影位置は、前記第2撮影条件に含まれる撮影位置とは異なる位置である、
(1)に記載のデータ生成方法。
(3)
前記CGモデル内において、前記第1撮影条件及び前記第2撮影条件のいずれか一方と同じ位置、又は、前記第1撮影条件及び前記第2撮影条件の双方とも異なる位置から撮影する条件を含む第3撮影条件により取得される第3画像をシミュレーションにより生成し、
少なくとも前記第3画像を前記訓練データにおける出力画像データとして取得する、
(2)に記載のデータ生成方法。
前記CGモデル内において、前記第1撮影条件及び前記第2撮影条件のいずれか一方と同じ位置、又は、前記第1撮影条件及び前記第2撮影条件の双方とも異なる位置から撮影する条件を含む第3撮影条件により取得される第3画像をシミュレーションにより生成し、
少なくとも前記第3画像を前記訓練データにおける出力画像データとして取得する、
(2)に記載のデータ生成方法。
(4)
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なる画角を有する光学系を備える、
(3)に記載のデータ生成方法。
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なる画角を有する光学系を備える、
(3)に記載のデータ生成方法。
(5)
前記撮影条件としてさらに、
前記第3撮影条件の画角を複数に変化させて撮影された前記第3画像を取得する、
(4)に記載のデータ生成方法。
前記撮影条件としてさらに、
前記第3撮影条件の画角を複数に変化させて撮影された前記第3画像を取得する、
(4)に記載のデータ生成方法。
(6)
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なるダイナミックレンジを有する光学系を備える、
(3)に記載のデータ生成方法。
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なるダイナミックレンジを有する光学系を備える、
(3)に記載のデータ生成方法。
(7)
前記第1撮影条件は、前記第2撮影条件より画素値が飽和しにくく、
前記第2撮影条件は、前記第1撮影条件よりノイズが小さい、
(6)に記載のデータ生成方法。
前記第1撮影条件は、前記第2撮影条件より画素値が飽和しにくく、
前記第2撮影条件は、前記第1撮影条件よりノイズが小さい、
(6)に記載のデータ生成方法。
(8)
前記第1撮影条件は、感知情報を対数変換して取得するセンサであり、
前記第2撮影条件は、感知情報を対数変換せずに取得するセンサである、
(6)又は(7)に記載のデータ生成方法。
前記第1撮影条件は、感知情報を対数変換して取得するセンサであり、
前記第2撮影条件は、感知情報を対数変換せずに取得するセンサである、
(6)又は(7)に記載のデータ生成方法。
(9)
前記第1撮影条件と前記第2撮影条件は、露光時間が異なる、
(6)から(8)のいずれかに記載のデータ生成方法。
前記第1撮影条件と前記第2撮影条件は、露光時間が異なる、
(6)から(8)のいずれかに記載のデータ生成方法。
(10)
前記第1撮影条件と前記第2撮影条件は、センサにおける電荷の蓄積時間が異なる、
(6)から(9)のいずれかに記載のデータ生成方法。
前記第1撮影条件と前記第2撮影条件は、センサにおける電荷の蓄積時間が異なる、
(6)から(9)のいずれかに記載のデータ生成方法。
(11)
前記第3画像は、ハイダイナミックレンジを有する画像である、
(6)から(10)のいずれかに記載のデータ生成方法。
前記第3画像は、ハイダイナミックレンジを有する画像である、
(6)から(10)のいずれかに記載のデータ生成方法。
(12)
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、センサが感知する情報が異なる条件を含む、
(3)に記載のデータ生成方法。
前記撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、センサが感知する情報が異なる条件を含む、
(3)に記載のデータ生成方法。
(13)
前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、温度情報を取得する撮影である、
(12)に記載のデータ生成方法。
前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、温度情報を取得する撮影である、
(12)に記載のデータ生成方法。
(14)
前記第2撮影条件は、赤外線を感知するセンサによる撮影である、
(13)に記載のデータ生成方法。
前記第2撮影条件は、赤外線を感知するセンサによる撮影である、
(13)に記載のデータ生成方法。
(15)
前記第1撮影条件は、グレースケール情報を取得する撮影であり、
前記第2撮影条件は、カラー情報を取得する撮影である、
(13)に記載のデータ生成方法。
前記第1撮影条件は、グレースケール情報を取得する撮影であり、
前記第2撮影条件は、カラー情報を取得する撮影である、
(13)に記載のデータ生成方法。
(16)
前記第1撮影条件は、グレースケール情報を取得する撮影であり、
前記第2撮影条件は、プラズモン共鳴を用いて情報を取得する撮影である、
(13)に記載のデータ生成方法。
前記第1撮影条件は、グレースケール情報を取得する撮影であり、
前記第2撮影条件は、プラズモン共鳴を用いて情報を取得する撮影である、
(13)に記載のデータ生成方法。
(17)
前記第1撮影条件におけるセンサの画素サイズと、前記第2撮影条件におけるセンサの画素サイズが異なるサイズである、
(13)に記載のデータ生成方法。
前記第1撮影条件におけるセンサの画素サイズと、前記第2撮影条件におけるセンサの画素サイズが異なるサイズである、
(13)に記載のデータ生成方法。
(18)
前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、距離情報を取得する撮影である、
(12)に記載のデータ生成方法。
前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、距離情報を取得する撮影である、
(12)に記載のデータ生成方法。
(19)
前記第3撮影条件は、第1撮影条件と同じ位置、同じ方向における距離情報を取得する撮影である、
(18)に記載のデータ生成方法。
前記第3撮影条件は、第1撮影条件と同じ位置、同じ方向における距離情報を取得する撮影である、
(18)に記載のデータ生成方法。
(20)
前記第2撮影条件及び前記第3撮影条件は、TOF画像を取得する撮影である、
(18)又は(19)に記載のデータ生成方法。
前記第2撮影条件及び前記第3撮影条件は、TOF画像を取得する撮影である、
(18)又は(19)に記載のデータ生成方法。
(21)
前記第1撮影条件と、前記第2撮影条件は、超広角レンズを含む光学系であって、互いに機械的に干渉しない前記光学系を有する逆方向を向いた撮像系による撮影である、
(3)に記載のデータ生成方法。
前記第1撮影条件と、前記第2撮影条件は、超広角レンズを含む光学系であって、互いに機械的に干渉しない前記光学系を有する逆方向を向いた撮像系による撮影である、
(3)に記載のデータ生成方法。
(22)
前記第3撮影条件と異なる方向を向き、前記第3撮影条件の光学系と同一の主点を有する光学系による撮影である、第4撮影条件により取得された第4画像をシミュレーションにより生成し、
前記第4画像を前記訓練データの出力データとして取得する、
(21)に記載のデータ生成方法。
前記第3撮影条件と異なる方向を向き、前記第3撮影条件の光学系と同一の主点を有する光学系による撮影である、第4撮影条件により取得された第4画像をシミュレーションにより生成し、
前記第4画像を前記訓練データの出力データとして取得する、
(21)に記載のデータ生成方法。
(23)
前記第2撮影条件は、前記第1撮影条件に対する相対的な所定位置からランダムにずれた位置から、前記第1撮影条件の光軸と平行な所定方向からランダムにずれた光軸の方向を撮影する、
(2)に記載のデータ生成方法。
前記第2撮影条件は、前記第1撮影条件に対する相対的な所定位置からランダムにずれた位置から、前記第1撮影条件の光軸と平行な所定方向からランダムにずれた光軸の方向を撮影する、
(2)に記載のデータ生成方法。
(24)
前記所定位置からの前記第2撮影条件の位置のずれと、
前記所定方向からの前記第2撮影条件の光軸の方向のずれと、
を前記訓練データの教師データとして取得する、
(23)に記載のデータ生成方法。
前記所定位置からの前記第2撮影条件の位置のずれと、
前記所定方向からの前記第2撮影条件の光軸の方向のずれと、
を前記訓練データの教師データとして取得する、
(23)に記載のデータ生成方法。
(25)
第1所定位置、第2所定位置、第1光軸方向及び第2光軸方向を設定し、
前記第1撮影条件は、前記第1所定位置からランダムにずれた位置から前記第1光軸方向からランダムにずれた方向を撮影し、
前記第2撮影条件は、前記第2所定位置からランダムにずれた位置から前記第2光軸方向からランダムにずれた方向を撮影する、
(2)に記載のデータ生成方法。
第1所定位置、第2所定位置、第1光軸方向及び第2光軸方向を設定し、
前記第1撮影条件は、前記第1所定位置からランダムにずれた位置から前記第1光軸方向からランダムにずれた方向を撮影し、
前記第2撮影条件は、前記第2所定位置からランダムにずれた位置から前記第2光軸方向からランダムにずれた方向を撮影する、
(2)に記載のデータ生成方法。
(26)
前記第1所定位置から前記第1光軸方向を撮影する、第3撮影条件により取得された第3画像をシミュレーションにより生成し、
前記第2所定位置から前記第2光軸方向を撮影する、第4撮影条件により取得された第4画像をシミュレーションにより生成し、
前記第3画像及び前記第4画像を前記訓練データの教師データとして取得する、
請求項25に記載のデータ生成方法。
前記第1所定位置から前記第1光軸方向を撮影する、第3撮影条件により取得された第3画像をシミュレーションにより生成し、
前記第2所定位置から前記第2光軸方向を撮影する、第4撮影条件により取得された第4画像をシミュレーションにより生成し、
前記第3画像及び前記第4画像を前記訓練データの教師データとして取得する、
請求項25に記載のデータ生成方法。
(27)
前記撮影条件は、3以上の前記訓練データにおける入力画像データのセットを生成する条件を含む、
(1)から(23)のいずれかに記載のデータ生成方法。
前記撮影条件は、3以上の前記訓練データにおける入力画像データのセットを生成する条件を含む、
(1)から(23)のいずれかに記載のデータ生成方法。
(28)
前記撮影条件は、2以上の前記訓練データにおける出力画像データのセットを生成する条件を含む、
(1)から(27)のいずれかに記載のデータ生成方法。
前記撮影条件は、2以上の前記訓練データにおける出力画像データのセットを生成する条件を含む、
(1)から(27)のいずれかに記載のデータ生成方法。
(29)
(1)から(28)のいずれかに記載のデータ生成方法により生成された訓練データを用いて、推定モデルの最適化を実行する、
学習方法。
(1)から(28)のいずれかに記載のデータ生成方法により生成された訓練データを用いて、推定モデルの最適化を実行する、
学習方法。
(30)
前記推定モデルは、ニューラルネットワークモデルである、
(29)に記載の学習方法。
前記推定モデルは、ニューラルネットワークモデルである、
(29)に記載の学習方法。
(31)
(1)から(28)のいずれかに記載するデータ生成方法により生成された訓練データを用いて最適化された推定モデルを用いて、実写データである入力データに対する推定データを取得する、
推定方法。
(1)から(28)のいずれかに記載するデータ生成方法により生成された訓練データを用いて最適化された推定モデルを用いて、実写データである入力データに対する推定データを取得する、
推定方法。
(32)
前記推定モデルは、ニューラルネットワークモデルである、
(31)に記載の推定方法。
前記推定モデルは、ニューラルネットワークモデルである、
(31)に記載の推定方法。
(33)
メモリと、プロセッサと、を備え、
前記プロセッサにより、(1)から(28)のいずれかに記載のデータ生成方法を実行する、
データ生成装置。
メモリと、プロセッサと、を備え、
前記プロセッサにより、(1)から(28)のいずれかに記載のデータ生成方法を実行する、
データ生成装置。
(34)
メモリと、プロセッサと、を備え、
前記プロセッサにより、(29)又は(30)に記載の学習方法を実行する、
学習装置。
メモリと、プロセッサと、を備え、
前記プロセッサにより、(29)又は(30)に記載の学習方法を実行する、
学習装置。
(35)
メモリと、プロセッサと、を備え、
前記プロセッサにより、(31)又は(32)に記載の推定方法を実行する、
推定装置。
メモリと、プロセッサと、を備え、
前記プロセッサにより、(31)又は(32)に記載の推定方法を実行する、
推定装置。
(36)
プロセッサに、
(1)から(28)のいずれかに記載のデータ生成方法を実行させる、
プログラム。
プロセッサに、
(1)から(28)のいずれかに記載のデータ生成方法を実行させる、
プログラム。
(37)
プロセッサに、
(29)又は(30)に記載の学習方法を実行させる、
プログラム。
プロセッサに、
(29)又は(30)に記載の学習方法を実行させる、
プログラム。
(38)
プロセッサに、
(31)又は(32)に記載の推定方法を実行させる、
プログラム。
プロセッサに、
(31)又は(32)に記載の推定方法を実行させる、
プログラム。
(39)
(36)から(38)のいずれかに記載のプログラムを格納する、
非一時的コンピュータ可読媒体。
(36)から(38)のいずれかに記載のプログラムを格納する、
非一時的コンピュータ可読媒体。
(40)
プロセッサによってCGモデルから生成した機械学習に用いる訓練データを用いて学習モデルを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
学習モデルの生成方法。
プロセッサによってCGモデルから生成した機械学習に用いる訓練データを用いて学習モデルを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
学習モデルの生成方法。
(41)
前記入力画像データの取得は、(1)から(27)のいずれかに記載された方法により実行される、
(40)に記載の学習モデルの生成方法。
前記入力画像データの取得は、(1)から(27)のいずれかに記載された方法により実行される、
(40)に記載の学習モデルの生成方法。
(42)
(40)又は(41)に記載の学習モデルの生成方法で生成された学習モデルを記憶媒体に記憶することを含む、
記憶媒体の生成方法。
(40)又は(41)に記載の学習モデルの生成方法で生成された学習モデルを記憶媒体に記憶することを含む、
記憶媒体の生成方法。
(43)
(40)又は(41)に記載の学習モデルの生成方法で生成された学習モデルを電子機器の記憶媒体に記憶することを含む、
電子機器の生成方法。
(40)又は(41)に記載の学習モデルの生成方法で生成された学習モデルを電子機器の記憶媒体に記憶することを含む、
電子機器の生成方法。
本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
1:データ生成システム、
2:CGジェネレータ、
3:シミュレータ、
300:入出力I/F、302:記憶部、304:条件設定部、306:画像生成部、
4:訓練装置、
400:入出力I/F、402:記憶部、404:訓練部、406:モデル、
5:推定装置、
500:入出力I/F、502:記憶部、504:推定部、506:学習済モデル
2:CGジェネレータ、
3:シミュレータ、
300:入出力I/F、302:記憶部、304:条件設定部、306:画像生成部、
4:訓練装置、
400:入出力I/F、402:記憶部、404:訓練部、406:モデル、
5:推定装置、
500:入出力I/F、502:記憶部、504:推定部、506:学習済モデル
Claims (23)
- プロセッサによってCGモデルから機械学習に用いる訓練データを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
データ生成方法。 - 前記第1撮影条件に含まれる撮影位置は、前記第2撮影条件に含まれる撮影位置とは異なる位置である、
請求項1に記載のデータ生成方法。 - 前記CGモデル内において、前記第1撮影条件及び前記第2撮影条件のいずれか一方と同じ位置、又は、前記第1撮影条件及び前記第2撮影条件の双方とも異なる位置から撮影する条件を含む第3撮影条件により取得される第3画像をシミュレーションにより生成し、
少なくとも前記第3画像を前記訓練データにおける出力画像データとして取得する、
請求項2に記載のデータ生成方法。 - 撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なる画角を有する光学系を備える、
請求項3に記載のデータ生成方法。 - 撮影条件としてさらに、
前記第3撮影条件の画角を複数に変化させて撮影された前記第3画像を取得する、
請求項4に記載のデータ生成方法。 - 撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、異なるダイナミックレンジを有する光学系を備える、
請求項3に記載のデータ生成方法。 - 撮影条件としてさらに、
前記第1撮影条件と前記第2撮影条件は、センサが感知する情報が異なる条件を含む、
請求項3に記載のデータ生成方法。 - 前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、温度情報を取得する撮影である、
請求項7に記載のデータ生成方法。 - 前記第1撮影条件は、グレースケール情報を取得する撮影であり、
前記第2撮影条件は、プラズモン共鳴を用いて情報を取得する撮影である、
請求項7に記載のデータ生成方法。 - 前記第1撮影条件におけるセンサの画素サイズと、前記第2撮影条件におけるセンサの画素サイズが異なるサイズである、
請求項7に記載のデータ生成方法。 - 前記第1撮影条件は、カラー情報を取得する撮影であり、
前記第2撮影条件は、距離情報を取得する撮影である、
請求項7に記載のデータ生成方法。 - 前記第3撮影条件は、前記第1撮影条件と同じ位置、同じ方向における距離情報を取得する撮影である、
請求項11に記載のデータ生成方法。 - 前記第1撮影条件と、前記第2撮影条件は、超広角レンズを含む光学系であって、互いに機械的に干渉しない前記光学系を有する逆方向を向いた撮像系による撮影である、
請求項3に記載のデータ生成方法。 - 前記第3撮影条件と異なる方向を向き、前記第3撮影条件の光学系と同一の主点を有する光学系による撮影である、第4撮影条件により取得された第4画像をシミュレーションにより生成し、
前記第4画像を前記訓練データの出力データとして取得する、
請求項13に記載のデータ生成方法。 - 前記第2撮影条件は、前記第1撮影条件に対する相対的な所定位置からランダムにずれた位置から、前記第1撮影条件の光軸と平行な所定方向からランダムにずれた光軸の方向を撮影する、
請求項2に記載のデータ生成方法。 - 前記所定位置からの前記第2撮影条件の位置のずれと、
前記所定方向からの前記第2撮影条件の光軸の方向のずれと、
を前記訓練データの教師データとして取得する、
請求項15に記載のデータ生成方法。 - 撮影条件は、3以上の前記訓練データにおける入力画像データのセットを生成する条件を含む、
請求項1に記載のデータ生成方法。 - 撮影条件は、2以上の前記訓練データにおける出力画像データのセットを生成する条件を含む、
請求項1に記載のデータ生成方法。 - 請求項1に記載のデータ生成方法により生成された前記訓練データを用いて、推定モデルの最適化を実行する、
学習方法。 - 請求項1に記載するデータ生成方法により生成された前記訓練データを用いて最適化された推定モデルを用いて、実写データである入力データに対する推定データを取得する、
推定方法。 - プロセッサによってCGモデルから生成した機械学習に用いる訓練データを用いて学習モデルを生成する方法であって、
前記CGモデルにおいて、第1撮影条件により取得される第1画像と、前記第1撮影条件と異なる第2撮影条件により取得される第2画像をシミュレーションにより生成し、
少なくとも前記第1画像及び前記第2画像を前記訓練データにおける入力画像データとして取得する、
学習モデルの生成方法。 - 請求項21に記載の学習モデルの生成方法で生成された学習モデルを記憶媒体に記憶することを含む、
記憶媒体の生成方法。 - 請求項21に記載の学習モデルの生成方法で生成された学習モデルを電子機器の記憶媒体に記憶することを含む、
電子機器の生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180022282.3A CN115298693A (zh) | 2020-03-26 | 2021-03-18 | 数据生成方法、学习方法和估计方法 |
US17/802,063 US20230147960A1 (en) | 2020-03-26 | 2021-03-18 | Data generation method, learning method, and estimation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020056430A JP2023062217A (ja) | 2020-03-26 | 2020-03-26 | データ生成方法、学習方法及び推定方法 |
JP2020-056430 | 2020-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021193391A1 true WO2021193391A1 (ja) | 2021-09-30 |
Family
ID=77891705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/011271 WO2021193391A1 (ja) | 2020-03-26 | 2021-03-18 | データ生成方法、学習方法及び推定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230147960A1 (ja) |
JP (1) | JP2023062217A (ja) |
CN (1) | CN115298693A (ja) |
WO (1) | WO2021193391A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023228558A1 (ja) * | 2022-05-23 | 2023-11-30 | 株式会社日立製作所 | 物体検知モデル学習装置、物体検知装置及び物体検知モデル学習方法 |
JP7510559B1 (ja) | 2023-11-27 | 2024-07-03 | ソフトバンク株式会社 | 情報処理システム、プログラム、及び情報処理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112020630B (zh) * | 2018-04-27 | 2024-06-28 | 北京嘀嘀无限科技发展有限公司 | 用于更新建筑物的3d模型的系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272358A (ja) * | 2003-03-05 | 2004-09-30 | Seiko Epson Corp | データ検索装置及びデータ検索方法並びにデータ検索プログラム |
JP2006268825A (ja) * | 2005-02-28 | 2006-10-05 | Toshiba Corp | オブジェクト検出装置、学習装置、オブジェクト検出システム、方法、およびプログラム |
JP2011501875A (ja) * | 2007-09-20 | 2011-01-13 | ケーエルエー−テンカー・コーポレーション | ウエハ用永続的データの作成と、永続的データを検査関連機能に使用するためのシステムと方法 |
JP2019023858A (ja) * | 2017-07-21 | 2019-02-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 学習データ生成装置、学習データ生成方法、機械学習方法及びプログラム |
WO2019111501A1 (ja) * | 2017-12-04 | 2019-06-13 | 日本電気株式会社 | 画像処理装置 |
JP2019124986A (ja) * | 2018-01-12 | 2019-07-25 | 株式会社日立国際電気 | 障害検知システム |
-
2020
- 2020-03-26 JP JP2020056430A patent/JP2023062217A/ja active Pending
-
2021
- 2021-03-18 CN CN202180022282.3A patent/CN115298693A/zh active Pending
- 2021-03-18 US US17/802,063 patent/US20230147960A1/en active Pending
- 2021-03-18 WO PCT/JP2021/011271 patent/WO2021193391A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272358A (ja) * | 2003-03-05 | 2004-09-30 | Seiko Epson Corp | データ検索装置及びデータ検索方法並びにデータ検索プログラム |
JP2006268825A (ja) * | 2005-02-28 | 2006-10-05 | Toshiba Corp | オブジェクト検出装置、学習装置、オブジェクト検出システム、方法、およびプログラム |
JP2011501875A (ja) * | 2007-09-20 | 2011-01-13 | ケーエルエー−テンカー・コーポレーション | ウエハ用永続的データの作成と、永続的データを検査関連機能に使用するためのシステムと方法 |
JP2019023858A (ja) * | 2017-07-21 | 2019-02-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 学習データ生成装置、学習データ生成方法、機械学習方法及びプログラム |
WO2019111501A1 (ja) * | 2017-12-04 | 2019-06-13 | 日本電気株式会社 | 画像処理装置 |
JP2019124986A (ja) * | 2018-01-12 | 2019-07-25 | 株式会社日立国際電気 | 障害検知システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023228558A1 (ja) * | 2022-05-23 | 2023-11-30 | 株式会社日立製作所 | 物体検知モデル学習装置、物体検知装置及び物体検知モデル学習方法 |
JP7510559B1 (ja) | 2023-11-27 | 2024-07-03 | ソフトバンク株式会社 | 情報処理システム、プログラム、及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2023062217A (ja) | 2023-05-08 |
CN115298693A (zh) | 2022-11-04 |
US20230147960A1 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021193391A1 (ja) | データ生成方法、学習方法及び推定方法 | |
US9686539B1 (en) | Camera pair calibration using non-standard calibration objects | |
KR102227583B1 (ko) | 딥 러닝 기반의 카메라 캘리브레이션 방법 및 장치 | |
US11663691B2 (en) | Method and apparatus for restoring image | |
CN109314752A (zh) | 图像之间的光流的有效确定 | |
JP2018084982A (ja) | 画像処理装置、情報処理方法及びプログラム | |
CN105075239B (zh) | 复原滤波器生成装置以及方法、图像处理装置以及方法、摄像装置以及记录介质 | |
CN104641625B (zh) | 图像处理装置、摄像装置及图像处理方法 | |
CN112330795B (zh) | 基于单张rgbd图像的人体三维重建方法及系统 | |
CN107407554A (zh) | 对多相机成像系统进行仿真 | |
WO2019188536A1 (ja) | 情報処理装置、情報処理方法、プログラム、及び、情報処理システム | |
JP2020144488A (ja) | 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法 | |
CN104412298B (zh) | 用于变换图像的方法和设备 | |
JP7170224B2 (ja) | 三次元生成方法および三次元生成装置 | |
Liao et al. | Deep learning for camera calibration and beyond: A survey | |
EP3225024A1 (en) | Method and system for determining parameters of an image processing pipeline of a digital camera | |
KR20220121533A (ko) | 어레이 카메라를 통해 획득된 영상을 복원하는 영상 복원 방법 및 영상 복원 장치 | |
TW202207693A (zh) | 資料產生方法、學習方法、推定方法、資料產生裝置及程式 | |
KR101788005B1 (ko) | 복수의 모바일 단말들을 이용한 다시점 영상 생성 방법 | |
CN113971629A (zh) | 图像恢复方法和装置 | |
Hajisharif | Computational Photography: High Dynamic Range and Light Fields | |
CN109214983B (zh) | 图像获取装置及其图像拼接方法 | |
WO2022201973A1 (ja) | 情報処理システム及び学習モデルの生成方法 | |
WO2023106252A1 (ja) | 情報処理方法、情報処理システム、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体 | |
WO2022201804A1 (ja) | 情報処理装置、情報処理方法、及びプログラム |
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: 21775769 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21775769 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |