WO2021187365A1 - データ生成方法、学習方法、推定方法、データ生成装置及びプログラム - Google Patents
データ生成方法、学習方法、推定方法、データ生成装置及びプログラム Download PDFInfo
- Publication number
- WO2021187365A1 WO2021187365A1 PCT/JP2021/010077 JP2021010077W WO2021187365A1 WO 2021187365 A1 WO2021187365 A1 WO 2021187365A1 JP 2021010077 W JP2021010077 W JP 2021010077W WO 2021187365 A1 WO2021187365 A1 WO 2021187365A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- data
- processing
- model
- generated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 238000012549 training Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 171
- 230000006866 deterioration Effects 0.000 claims description 31
- 230000015556 catabolic process Effects 0.000 claims description 4
- 238000006731 degradation reaction Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 description 106
- 230000008569 process Effects 0.000 description 102
- 230000003287 optical effect Effects 0.000 description 61
- 238000003860 storage Methods 0.000 description 21
- 238000010801 machine learning Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 239000000758 substrate Substances 0.000 description 12
- 238000003384 imaging method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004075 alteration Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000003702 image correction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 201000009310 astigmatism Diseases 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- This disclosure relates to a data generation method, a learning method, an estimation method, a data generation device and a program.
- the present disclosure generates an ideal image from an image actually taken, and generates training data based on this image.
- the data generation method is a method of generating training data used for learning a model by a processor, and an ideal image corresponding to the output data of the model is obtained from a captured image acquired by a predetermined device. It is generated, and a deteriorated image corresponding to the input data of the model is generated from the ideal image.
- the ideal image may be generated based on the deterioration of the lens of the predetermined device.
- the ideal image may be generated based on the deterioration of the sensor of the predetermined device.
- the photographed image may be reduced to generate the ideal image.
- the ideal image may be generated based on a plurality of still images in the same scene acquired by the predetermined device.
- the ideal image may be generated based on the statistics in the plurality of still images.
- the statistic may include at least one of a pixel-by-pixel average, mode, median or variance value.
- the ideal image may be generated by using a global offset with respect to the captured image.
- the captured image may be calibrated to generate the ideal image.
- the deteriorated image may be generated based on the information about the target device that captures the input image of the model.
- the deteriorated image may be generated based on the deterioration of the lens of the target device.
- the deteriorated image may be generated based on the deterioration of the sensor of the target device.
- the deteriorated image may be generated based on the signal processing executed in the target device.
- the model may be optimized using the training data generated by the data generation method described in any of the above.
- the estimation method may be estimated using a model optimized using the training data generated by the data generation method described in any of the above.
- the data generation device is a device that generates training data used for training a model, and may include a processor that executes any of the methods described in any of the above.
- the program may cause the computer to perform any of the methods described above.
- FIG. 1 is a diagram showing an example of a data generation device according to an embodiment.
- the data generation device 1 includes an input / output interface (hereinafter, referred to as an input / output I / F 100), a storage unit 102, an ideal image generation unit 104, and a deteriorated image generation unit 106.
- the input / output I / F 100 is an interface that executes data input to the data generation device 1 and data output from the data generation device 1.
- the data generation device 1 inputs data via the input / output I / F 100 and outputs the data to the outside via the input / output I / F 100.
- the data generation device 1 acquires image data actually taken by various devices via the input / output I / F 100.
- the input / output I / F 100 may be provided with an interface that receives a command from the user and outputs something to the user.
- the data generation device 1 is not limited to this, and the input I / F and the output I / F may be provided separately.
- the storage unit 102 temporarily or non-temporarily stores the data required by the data generation device 1.
- the storage unit 102 includes, for example, a memory. Further, when at least one of the functions of the data generation device 1 is executed by software, the storage unit 102 may store a program for executing at least one of the functions of the data generation device 1. good. For example, the storage unit 102 may store the data input via the input / output I / F 100, or may store the generated training data. Further, in the calculation in the data generation device 1, the progress and the like may be stored as appropriate.
- the ideal image generation unit 104 generates an ideal image from the image input from the input / output I / F 100.
- the ideal image generation unit 104 generates an ideal image, for example, by performing appropriate image processing on the input image.
- the deteriorated image generation unit 106 generates a deteriorated image from the ideal image generated by the ideal image generation unit 104.
- the degraded image generation unit 106 generates a degraded image based on parameters related to the camera, for example, a lens parameter, a sensor parameter, and the like.
- the data generation device 1 outputs the ideal image generated by the ideal image generation unit 104 and the deteriorated image generated by the deteriorated image generation unit 106 as training data via the input / output I / F 100. Further, the training data may be stored in the storage unit 102. In this way, the data generation device 1 performs appropriate image recovery processing on the input actually captured data to generate a high-quality ideal image, and performs arbitrary deterioration processing on this ideal image. To generate a deteriorated image.
- FIG. 2 is a flowchart showing the processing according to the present embodiment.
- the data generation device 1 acquires an image actually captured (hereinafter referred to as a captured image) via the input / output I / F 100 (S100).
- a captured image an image actually captured
- the input image may be a still image or a moving image. In the case of a moving image, an image for each frame may be acquired.
- the ideal image generation unit 104 generates an ideal image in which deterioration factors are suppressed from the captured image (S102). If the specifications of the device that captured the captured image are known, the ideal image generation unit 104 may correct the deterioration based on the specifications, for example, the specifications of the lens and the sensor. On the other hand, when the specifications of the device that captured the captured image are unknown, a general image correction method such as inverse filter processing or calibration may be used.
- the deteriorated image generation unit 106 performs image processing on the ideal image and generates a deteriorated image (S104).
- This image processing may be determined based on a model that is the target of machine learning optimization. For example, when optimizing a model so that an ideal image is output when a captured image of a predetermined device is input, the deteriorated image generation unit 106 outputs an image based on parameters such as a lens and a sensor of the predetermined device. It may be deteriorated. Further, the deteriorated image generation unit 106 may perform image processing on the ideal image to perform deterioration depending on the application, not depending on the device.
- the data generator 1 outputs a set of an ideal image and a deteriorated image as training data (S106).
- the term "output" is a concept including, for example, storing the data in the storage unit 102 of the data generation device 1 in accordance with the output to the external file server or machine learning device of the data generation device 1.
- the machine learning device executes model optimization. Further, the estimation device acquires an appropriate estimation image from the input image by using the model optimized by using the training data generated in this way.
- the processing in the ideal image generation unit 104 will be described with a non-limiting specific example.
- the ideal image generation unit 104 generates an ideal image from an image taken by a camera having known or unknown specifications.
- an ideal image can be obtained by performing image recovery based on deterioration factors of the lens system and the sensor system.
- PSF point spread function
- an image obtained by removing the blur in the captured image may be obtained by using a deconvolution filter based on the PSF.
- appropriate noise reduction or the like may be executed on the image.
- the ideal image generation unit 104 may generate an ideal image by executing appropriate image processing based on these parameters.
- the ideal image generation unit 104 can generate an ideal image as shown in the following example even when the camera that has taken the picture is unknown or the specifications of the camera that has taken the picture are unknown.
- the ideal image generation unit 104 may suppress noise such as shot noise and pattern noise by reducing the image.
- the reduction algorithm may be any algorithm. Before the reduction, a process such as applying a Gaussian filter may be performed to remove the noise first.
- the ideal image generation unit 104 when random noise is generated and shooting can be performed using a shooting device in which noise is generated, the ideal image generation unit 104 continuously acquires a plurality of images and obtains a plurality of images.
- the noise removal process may be performed using the image of.
- the ideal image generation unit 104 can suppress random noise by calculating the average of each pixel value in a plurality of images in the same scene. Further, not only the average value but also statistics other than the average value such as the mode, median, and dispersion value in each pixel may be used for the generation process of the ideal image.
- the ideal image generation unit 104 may suppress deterioration by using, for example, a global offset.
- captured images may be offset so that there are no truly black pixel values.
- the offset is calculated by shooting a black image with the device to shoot, and the deterioration of the image is suppressed by subtracting this offset value from the acquired image. You may.
- the ideal image generation unit 104 may perform image correction that suppresses various aberrations. For example, among the Seidel aberrations, spherical aberration, coma, astigmatism, and curvature of field can be suppressed by reducing the image. Further, the inverse filter processing using the shift variant PSF may be executed.
- the ideal image generation unit 104 may perform calibration for distortion. For calibration, for example, a checkerboard is photographed with a photographing device, and a matrix (distortion correction coefficient) for executing image correction is calculated from the distortion of the photographed image. Then, using this matrix, the ideal image generation unit 104 may calibrate the distortion of the captured image.
- a matrix disortion correction coefficient
- ideal image acquisition by the ideal image generation unit 104 may generate an ideal image from a captured image by using another image recovery method such as blind deconvolution. Furthermore, if there is a trained model that can modify this image to obtain an ideal image, the ideal image generation unit 104 may acquire the ideal image using this trained model. Further, the ideal image generation unit 104 may generate an ideal image by using a plurality of methods, instead of applying the specific example described above alone.
- the degraded image generation unit 106 generates a degraded image using, for example, parameters related to the camera of the target device for which the estimation model is used.
- the deteriorated image generation unit 106 when it is desired to mount an estimation model on a digital camera and automatically acquire an ideal image for a captured image, the deteriorated image generation unit 106 generates a deteriorated image for the ideal image according to the characteristics of the digital camera.
- the characteristics of the digital camera may be defined by parameters in each of the lens system and the sensor system, for example. Further, this deterioration factor may be based on the distance between the lens system and the sensor system to the imaging surface.
- the deteriorated image generation unit 106 acquires parameters related to the lens system such as the number of lenses, power, numerical aperture, focal length, etc. in the lens system of the camera that captures the image to be recovered by the estimation model, for example. Based on the acquired parameters, what kind of deterioration may occur when passing through the lens system may be analyzed, and the deterioration processing may be executed based on the analysis result. The same applies to the sensor system, and the deterioration process may be executed by grasping what kind of characteristics the sensor has and assuming deterioration of noise or the like generated by these characteristics.
- the photographing device to be estimated performs some kind of signal processing (may include image processing) on the raw data before the image output, after the above deterioration processing is performed.
- the image may be subjected to the same signal processing and output as a deteriorated image.
- the data generation device 1 links the images of the ideal image generation unit 104 and the deteriorated image generation unit 106 described above and outputs them as training data.
- the ideal image generated by the ideal image generation unit 104 may be stored separately. Then, using this ideal image, a deteriorated image for another target device may be generated.
- the image captured by a certain device is not used as an ideal image, but the captured image is converted into an ideal image, and the captured image becomes a target from there.
- the degraded image in the device it is possible to acquire training data for optimizing a model that can be estimated with high accuracy. This is because the captured image is an image that has already deteriorated, and even if this image is trained as an ideal image, the desired result cannot be estimated. Further, since it is possible to appropriately change what kind of image the ideal image should be, it is possible to arbitrarily determine what kind of image the estimation result of the estimation model will be.
- the ideal image generation unit 104 generates the ideal image, so that the deterioration image generation unit 106 can generate various deterioration images. This is because the deterioration processing can be performed on an ideal image in which the lens parameters and the like in the captured image are not a problem.
- CG data can be used as an ideal image, but according to the data generation device 1 according to the present embodiment, it is possible to reduce the cost of generating CG data.
- FIG. 3 shows the machine learning system 2 according to the present embodiment.
- the machine learning system 2 includes a data generation device 1 and a machine learning device 3.
- the machine learning device 3 optimizes the model by using the ideal image and the deteriorated image generated by the data generation device 1 as training data.
- the machine learning device 3 may be provided with the data generation device 1.
- An estimation device equipped with this model can estimate a desired image from an image taken by the target device.
- the ideal image can be generated by computer simulation from the actually photographed image, instead of using the actually photographed image as it is as the ideal image (teacher image). ..
- a deteriorated image for this ideal image can also be generated by computer simulation. In this way, it is possible to generate training data from a live-action image in a state where there is neither an ideal image nor a deteriorated image.
- the generation of this deteriorated image can also be applied to various devices by changing the parameters in the simulation. Therefore, according to the aspect of the present disclosure, it is possible to generate a deteriorated image in which different parameters are appropriately set depending on the product.
- this deteriorated image is generated from an ideal image
- machine learning can be used as the ideal image because an image in which deterioration depending on the captured device is recovered by simulation can be used instead of using a live image. It is possible to generate better quality data as teacher data in the training of.
- the aspect of the present disclosure may be implemented programmatically.
- the program may be stored in a storage unit, and information processing by software may be specifically realized by hardware.
- Software processing is executed in processors such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit), as well as various analog or digital circuits such as FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated). It may be implemented by Circuit) or DSP (Digital Signal Processor).
- processors such as CPU (Central Processing Unit) and GPU (Graphics Processing Unit)
- various analog or digital circuits such as FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated). It may be implemented by Circuit) or DSP (Digital Signal Processor).
- FIG. 4 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 20111.
- 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. 5 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 transmits sound with an optical sensor 20111, an operation unit 20105 such as a physical button or touch panel, a sensor 20106 including at least one sensor, a display 20107 displaying information such as an image or text, and a sound. It has a speaker 20108 for output, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 2110 for connecting them.
- an optical sensor 20111 an operation unit 20105 such as a physical button or touch panel
- a sensor 20106 including at least one sensor
- a display 20107 displaying information such as an image or text
- a sound It has a speaker 20108 for output, a communication I / F 20109 such as a communication module corresponding to a predetermined communication method, and a bus 2110 for 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.
- the data acquired from at least one or more sensors of the sensor 20106 can be used together with the image data acquired from the optical sensor 20111. In this way, by using the data obtained from various types of sensors together with the image data, it is possible to realize AI processing suitable for various situations by the multimodal AI technology.
- 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. ..
- 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. 6 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. 7 shows a configuration example of the optical sensor 2011.
- 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 RandomAccessMemory
- a communication I / F20334 that exchanges necessary information with the outside are installed.
- the signal processing block 20312 is configured by the CPU 20331, the DSP 20332, the memory 20333, and the communication I / F 20334.
- AI processing can be performed by at least one processor of CPU 20331 and DSP 20332.
- the signal processing block 20312 for AI processing can be mounted on the lower substrate 20302 in the laminated structure in which a plurality of substrates are laminated.
- the image data acquired by the imaging block 20311 for imaging mounted on the upper substrate 20301 is processed by the signal processing block 20312 for AI processing mounted on the lower substrate 20302, so that one chip can be used.
- a series of processes can be performed in the semiconductor device.
- AI processing can be performed by a processor such as CPU 20331.
- 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. 8 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.
- the correction process includes, but is not limited to, image deterioration correction, noise correction, aberration correction, and the like, as described in the above-described embodiment.
- 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.
- the teacher data image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, a data set generated by the simulator, and the like can be used.
- a data set for learning machine learning as described in the above-described embodiment, a teacher image (ideal) corresponding to the output data of the above-mentioned model from a photographed image acquired by a predetermined device such as an optical sensor. An image) may be generated, and a deteriorated image corresponding to the input data of the above-mentioned model may be generated from the teacher image (ideal image).
- 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 for example, the processing unit 20401 performs correction processing on the acquired image data.
- this correction process 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. ..
- 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. 11 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 teacher image corrected target pixel included in the image data
- a deteriorated image image data including correction target pixels
- each or one of the teacher image and the deteriorated image may be generated directly from the captured image.
- 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 image data from the optical sensor, a data set from the simulator, and the like as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062).
- a teacher image corrected image data or corrected
- a deteriorated image image data including the correction target pixel and specific information of the correction target pixel
- each or either of the teacher image and the deteriorated image may be generated directly from the captured image.
- 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).
- the inference unit 20422 receives image data including the correction target pixel.
- a learning model is used in which the input is input and the image data corrected by the correction target pixel is output. This learning model is generated by the learning process by the learning unit 20421.
- the learning unit 20421 acquires image data from the optical sensor, a data set from the simulator, and the like as teacher data (S20061), and generates a learning model using the acquired teacher data (S20062).
- the teacher (ideal) image image data in which the correction target pixel is corrected
- the teacher (ideal) image image data in which the correction target pixel is corrected
- the teacher (ideal) image image data in which the correction target pixel is corrected
- a deteriorated image image data including the correction target pixel
- the teacher (ideal) image may be generated from the teacher (ideal) image.
- each of the teacher image and the deteriorated image may be generated directly from the captured image.
- a learning model is generated in which image data including the correction target pixel is input and the image data in which the correction target pixel is corrected is output, and is output to the inference unit 20422 (S20063).
- data such as a learning model, image data, and corrected data may be used not only in a single device but also exchanged between a plurality of devices and used in those devices.
- FIG. 13 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 the data set generated by the simulator 20502 as teacher data to generate a learning model and provides it to the electronic device 20001-1.
- the teacher data is not limited to the data set provided by the simulator 20502, and may use image data actually acquired by the optical sensor, acquired image data that is aggregated and managed, and the like.
- a teacher image corresponding to the output data of the learning model is generated. Further, a deteriorated image corresponding to the input data of the learning model may be generated from the ideal image.
- each or either of the teacher image and the deteriorated image may be generated directly from the captured image.
- a teacher image (ideal image) corresponding to the output data of the above-mentioned model is generated from the captured image acquired by a predetermined device such as an optical sensor, and the teacher image (ideal image) is further generated.
- An ideal image) may be used to generate a degraded image corresponding to the input data of the model described above.
- each of the teacher image and the deteriorated image may be generated directly from the captured image.
- 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.
- 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.
- An ideal image corresponding to the output data of the model is generated from the captured image acquired by the predetermined device. From the ideal image, a degraded image corresponding to the input data of the model is generated. Data generation method.
- the ideal image is generated based on the deterioration of the sensor of the predetermined device.
- the captured image is reduced to generate the ideal image.
- the data generation method according to any one of (1) to (3).
- the ideal image is generated based on a plurality of still images in the same scene acquired by the predetermined device.
- the data generation method according to any one of (1) to (4).
- the statistic comprises at least one of a pixel-by-pixel mean, mode, median or variance value.
- the ideal image is generated by using a global offset with respect to the captured image.
- the data generation method according to any one of (1) to (7).
- the captured image is calibrated to generate the ideal image.
- the data generation method according to any one of (1) to (8).
- the model is optimized using the training data generated by the data generation method according to any one of (1) to (13). Learning method.
- An apparatus for generating training data used for training a model comprising a processor that executes any of the methods according to any one of (1) to (15).
- Data generator
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
[課題]実際に撮影された画像から生成した理想的な画像を介して訓練データを取得する。 [解決手段]データ生成方法は、プロセッサによりモデルの学習に用いるデータを生成する方法であって、所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する。
Description
本開示は、データ生成方法、学習方法、推定方法、データ生成装置及びプログラムに関する。
今日、ディープラーニングをはじめとして、機械学習による推定モデル生成等が広く研究されている。機械学習を実行する場合には、生成するモデルに多くの訓練データを入力する必要がある。また、バリデーションを実行するためにも、多くの訓練データが必要となる。画像を入力とするモデル生成に用いる訓練データの収集には、実際の風景を写真として取得したり、絵画を描いたりする必要がある。
しかしながら、データの収集には手間が掛かり、ヒューマンエラー等が発生する蓋然性も高い。また、実写画像の場合には、画像を用意するのは簡単ではあるが、劣化要素(レンズ特性、イメージセンサ特性、信号処理による特性)が既に付加されているため、劣化要素は、限定的、かつ、不正確にしか付加できない。さらに、教師データの収集という観点においても、実写画像は既に劣化要素を含んでいるため、実写画像が教師データとして用いる理想的な画像であるとは言えない。
そこで、本開示は、実際に撮影された画像から理想的な画像を生成し、この画像に基づいて訓練データを生成する。
一実施形態によれば、データ生成方法は、プロセッサによりモデルの学習に用いる訓練データを生成する方法であって、所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する。
前記所定デバイスのレンズに関する劣化に基づいて、前記理想画像を生成してもよい。
前記所定デバイスのセンサに関する劣化に基づいて、前記理想画像を生成してもよい。
前記撮影画像を縮小して前記理想画像を生成してもよい。
前記所定デバイスにより取得した同じシーンにおける複数の静止画に基づいて、前記理想画像を生成してもよい。
前記複数の静止画における統計量に基づいて、前記理想画像を生成してもよい。
前記統計量は、画素ごとの平均値、モード、メディアン又は分散値のうち少なくとも1つを含んでもよい。
前記撮影画像に対してグローバルオフセットを用いて前記理想画像を生成してもよい。
前記撮影画像をキャリブレーションして前記理想画像を生成してもよい。
前記モデルの入力画像を撮影するターゲットデバイスに関する情報に基づいて、前記劣化画像を生成してもよい。
前記ターゲットデバイスのレンズに関する劣化に基づいて、前記劣化画像を生成してもよい。
前記ターゲットデバイスのセンサに関する劣化に基づいて、前記劣化画像を生成してもよい。
前記ターゲットデバイスにおいて実行される信号処理に基づいて、前記劣化画像を生成してもよい。
学習方法は、上記のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて、モデルを最適化してもよい。
推定方法は、上記のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて最適化されたモデルを用いて推定してもよい。
一実施形態によれば、データ生成装置は、モデルの学習に用いる訓練データを生成する装置であって、上記のいずれかに記載のいずれかの方法を実行するプロセッサを備えてもよい。
一実施形態によれば、プログラムは、コンピュータに、上記のいずれかに記載の方法を実行させてもよい。
以下、図面を用いて本開示における実施形態について説明する。
図1は、一実施形態に係るデータ生成装置の一例を示す図である。データ生成装置1は、入出力インタフェース(以下、入出力I/F 100と記載する。)と、記憶部102と、理想画像生成部104と、劣化画像生成部106と、を備える。
入出力I/F 100は、データ生成装置1へのデータの入力及びデータ生成装置1からのデータの出力を実行するインタフェースである。データ生成装置1は、入出力I/F 100を介してデータが入力され、入出力I/F 100を介して外部へとデータを出力する。例えば、データ生成装置1は、入出力I/F 100を介して実際に様々なデバイスにより撮影された画像データを取得する。この他、入出力I/F 100は、ユーザからの指令を受け付け、ユーザへと何らかの出力をするインタフェースを備えていてもよい。また、これには限られず、データ生成装置1は、入力I/Fと出力I/Fを別々に備えていてもよい。
記憶部102は、データ生成装置1において必要となるデータを一時的又は非一時的に格納する。記憶部102は、例えば、メモリを備える。また、データ生成装置1の機能のうち少なくとも1つがソフトウェアにより実行される場合には、記憶部102は、データ生成装置1の各機能のうち少なくとも1つを実行するためのプログラムを格納してもよい。例えば、記憶部102は、入出力I/F 100を介して入力されたデータを格納してもよいし、生成した訓練データを格納してもよい。また、データ生成装置1における演算において、適宜途中経過等を格納してもよい。
理想画像生成部104は、入出力I/F 100から入力された画像から理想画像を生成する。理想画像生成部104は、例えば、入力された画像に適切な画像処理を施すことにより、理想画像を生成する。
劣化画像生成部106は、理想画像生成部104が生成した理想画像から、劣化画像を生成する。劣化画像生成部106は、カメラに関するパラメータ、例えば、レンズのパラメータ、センサのパラメータ等に基づいて、劣化画像を生成する。
データ生成装置1は、理想画像生成部104が生成した理想画像及び劣化画像生成部106が生成した劣化画像を訓練データとして入出力I/F 100を介して出力する。また、記憶部102に訓練データを格納してもよい。このように、データ生成装置1は、入力された実際に撮影されたデータに対して適切の画像回復処理を施して高画質な理想画像を生成し、この理想画像に対して任意の劣化処理を施して劣化画像を生成する。
図2は、本実施形態に係る処理を示すフローチャートである。
まず、データ生成装置1は、入出力I/F 100を介して実際に撮影された画像(以下、撮影画像と記載する。)を取得する(S100)。各々の画像は、例えば、デバイスのスペックが既知のものであってもよいし、未知のものであってもよい。入力される画像は、静止画であっても、動画であってもよい。動画である場合には、フレームごとの画像を取得してもよい。
次に、理想画像生成部104は、撮影画像から劣化要因を抑制した理想画像を生成する(S102)。理想画像生成部104は、撮影画像を撮影したデバイスのスペックが既知である場合には、当該スペック、例えば、レンズ、センサのスペックに基づいて劣化を補正してもよい。一方で、撮影画像を撮影したデバイスのスペックが未知である場合には、逆フィルタ処理、キャリブレーション等の一般的な画像補正方法を用いてもよい。
次に、劣化画像生成部106は、理想画像に対して画像処理を施し、劣化画像を生成する(S104)。この画像処理は、機械学習の最適化のターゲットとなるモデルに基づいて決定されてもよい。例えば、所定デバイスにおける撮影画像が入力されると理想画像を出力するようにモデルを最適化する場合には、劣化画像生成部106は、この所定デバイスのレンズ、センサ等のパラメータに基づいて画像を劣化させてもよい。また、劣化画像生成部106は、デバイス依存ではなく、用途に依存した劣化を実行する画像処理を理想画像に施してもよい。
次に、データ生成装置1は、理想画像と劣化画像のセットを訓練データとして出力する(S106)。ここで、出力するとは、例えば、データ生成装置1の外部のファイルサーバ、機械学習装置に出力することに合わせ、データ生成装置1の記憶部102に格納することをも含む概念である。
このように生成された訓練データを用いて、機械学習装置は、モデルの最適化を実行する。また、推定装置は、このように生成された訓練データを用いて最適化されたモデルを用いて、入力画像から適切な推定画像を取得する。
理想画像生成部104における処理について非限定的な具体例を挙げて説明する。理想画像生成部104は、既知、又は、未知のスペックを有するカメラにおいて撮影された画像から理想画像を生成する。
撮影したカメラが既知である場合、撮影画像のカメラによる劣化のいくつかの因子を決定することができる。このため、レンズ系、センサ系の劣化要因に基づいた画像回復を実行することにより、理想画像を取得することができる。例えば、レンズ系から点像分布関数(Point Spread Function:PSF)が取得できる場合には、当該PSFに基づいたデコンボリューションフィルタを用いて撮影画像におけるぼけを除去した画像を取得してもよい。この場合、さらに、適切なノイズリダクション等を当該画像に対して実行してもよい。センサ系におけるノイズ付加の要因が取得できる場合には、当該ノイズ付加の要因に基づいた補間等を実行した画像を取得してもよい。この他、劣化の因子に関するパラメータが取得できる場合には、理想画像生成部104は、このパラメータに基づいて適切な画像処理を実行することにより理想画像を生成してもよい。
理想画像生成部104は、撮影したカメラが未知、又は、撮影したカメラのスペックが未知である場合についても、以下の例のように理想画像を生成することが可能である。
理想画像生成部104は、例えば、ショットノイズ、パターンノイズ等のノイズについて、画像を縮小することで抑制してもよい。縮小のアルゴリズムは、任意のアルゴリズムであってよい。縮小の前に、ガウシアンフィルタを施す等の処理をして、ノイズ除去を先んじて実行してもよい。
理想画像生成部104は、例えば、ランダムノイズが発生している場合であって、ノイズが発生している撮影デバイスを用いて撮影が実行できる場合、連続して複数枚の画像を取得し、複数の画像を用いてノイズ除去の処理を実行してもよい。例えば、理想画像生成部104は、同じシーンにおける複数枚の画像における各画素値の平均を算出することにより、ランダムノイズを抑制することが可能となる。また、平均値のみならず、各画素におけるモード、メディアン、分散値等の平均値以外の統計量が理想画像の生成処理に用いられてもよい。
理想画像生成部104は、例えば、グローバルオフセットを用いることにより劣化を抑制してもよい。一般に、撮影された画像は、真に黒い画素値が存在しないようなオフセットがされる場合がある。この原因は、レンズ系、受光素子系等様々考えられるが、撮影するデバイスにおいて黒画像を撮影することにより、オフセットを算出し、このオフセット値を取得した画像から減算することにより画像の劣化を抑制してもよい。
理想画像生成部104は、各種収差を抑制する画像補正を実行してもよい。例えば、ザイデル収差のうち、球面収差、コマ収差、非点収差、像面湾曲の収差は、画像を縮小することにより抑制することができる。また、シフトバリアントなPSFを用いた逆フィルタ処理を実行してもよい。
理想画像生成部104は、歪曲収差に対して、キャリブレーションを実行してもよい。キャリブレーションは、例えば、チェッカーボードを撮影デバイスで撮影しておき、この撮影像の歪みから画像修正を実行するマトリクス(歪み補正係数)を算出しておく。そして、このマトリクスを用いて、理想画像生成部104は、撮影画像の歪曲を較正してもよい。
いくつかの理想画像生成部104による理想画像取得の例を挙げたが、上述したように、これらは非限定的な具体例であり、回復画像を取得するための例として記載したものである。理想画像生成部104は、例えば、ブラインドデコンボリューションといったように、この他の画像回復手法を用いて撮影画像から理想画像を生成してもよい。さらには、この画像を修正して理想画像が取得できる学習済みのモデルが存在する場合には、この学習済みモデルを用いて理想画像生成部104は、理想画像を取得してもよい。また、理想画像生成部104は、上記に挙げた具体例を単独で適用するのでは無く、複数の方法を用いて理想画像を生成してもよい。
次に劣化画像生成部106における処理について非限定的な具体例を挙げて説明する。劣化画像生成部106は、例えば、推定モデルを用いる対象となるデバイスのカメラに関するパラメータを用いて劣化画像を生成する。
例えば、推定モデルをデジタルカメラに搭載して自動的に撮影画像に対する理想画像を取得したい場合、劣化画像生成部106は、理想画像に対して当該デジタルカメラの特性に合わせた劣化画像を生成する。デジタルカメラの特性は、例えば、レンズ系、センサ系それぞれにおけるパラメータにより定義されるものであってもよい。また、この劣化因子は、レンズ系とセンサ系における撮像面までの距離に基づいていてもよい。
劣化画像生成部106は、例えば、推定モデルにより回復する対象となる画像を撮影するカメラのレンズ系における、レンズの枚数、パワー、開口数、焦点距離等といったレンズ系に関するパラメータを取得する。この取得したパラメータに基づいて、当該レンズ系を介した時にどのような劣化が発生するかを解析し、この解析結果により劣化処理を実行してもよい。センサ系についても同様であり、センサにおいてどのような特性があるかを把握し、この特性により発生するノイズ等の劣化を想定して劣化処理を実行してもよい。
また、推定の対象となる撮影デバイスが画像出力の前に生データに対して何らかの信号処理(画像処理を含んでもよい。)を実行している場合には、上記の劣化処理を行った後の画像に、同じ信号処理を施して劣化画像として出力してもよい。
データ生成装置1は、上記に説明した理想画像生成部104と、劣化画像生成部106との画像を紐付けて訓練データとして出力する。なお、理想画像生成部104により生成された理想画像は、別途格納しておいてもよい。そして、この理想画像を用いて、別のターゲットデバイスに対する劣化画像の生成を行ってもよい。
以上のように、本実施形態に係るデータ生成装置1によれば、あるデバイスにより撮影された画像を理想画像として用いるのでは無く、この撮影画像を理想画像へと変換し、そこからターゲットとなるデバイスにおける劣化画像を取得することにより、精度のよい推定できるモデルを最適化するための訓練データを取得することが可能となる。これは、撮影画像は、既に劣化している画像であるため、この画像を理想画像として訓練しても望ましい結果が推定できないためである。また、理想画像をどのような画像にするかも適宜変更することができるため、推定モデルにおいて推定した結果がどのような画像となるかも任意に決定することができる。
さらに、理想画像生成部104が理想画像を生成することにより、劣化画像生成部106は、種々の劣化画像を生成することができる。これは、撮影画像におけるレンズパラメータ等を問題としない理想画像に対して劣化処理を実行することができるためである。例えば、CGデータを理想画像として用いることもできるが、本実施形態に係るデータ生成装置1によれば、CGデータを生成するコストを削減することが可能となる。
図3は、本実施形態に係る機械学習システム2を示す。この図3に示されるように、機械学習システム2は、データ生成装置1と、機械学習装置3と、を備える。機械学習装置3は、データ生成装置1が生成した理想画像と劣化画像とを訓練データとして、モデルを最適化する。なお、機械学習装置3にデータ生成装置1が備えられる形態であってもよい。
このモデルを備える推定装置は、ターゲットとなるデバイスにより撮影された画像から、望ましい画像を推定することができる。
以上説明した全ての実施形態によれば、実際に撮影された画像をそのまま理想画像(教師画像)として用いるのでは無く、この実際に撮影された画像から理想画像をコンピュータシミュレーションにより生成することができる。また、この理想画像に対する劣化画像もコンピュータシミュレーションにより生成することができる。このように、理想画像も劣化画像もない状態において、実写画像から訓練データを生成することが可能となる。この劣化画像の生成は、シミュレーションにおけるパラメータを変更することにより種々のデバイスに適用させることも可能である。このため、本開示の態様によれば、製品により異なるパラメータを適切に設定した劣化画像を生成することが可能となる。また、この劣化画像は、理想画像から生成されるが、この理想画像として、実写画像を用いるのではなく、撮影したデバイスに依存する劣化をシミュレーションにより回復した画像を用いることができるため、機械学習の訓練における教師データとしてより品質の良いデータを生成することができる。
本開示の態様は、プログラムにより実装されてもよい。プログラムは、記憶部に記憶され、ソフトウェアによる情報処理がハードウェアにより具体的に実現されるものであってもよい。ソフトウェアの処理は、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)を利用することができる。図4は、AI処理を行う装置を含むシステムの構成例を示している。
電子機器20001は、スマートフォン、タブレット型端末、携帯電話機等のモバイル端末である。電子機器20001は、光センサ20011を有する。光センサは、光を電気信号に変換するセンサ(画像センサ)である。電子機器20001は、所定の通信方式に対応した無線通信によって所定の場所に設置された基地局20020に接続することで、コアネットワーク20030を介して、インターネット等のネットワーク20040に接続することができる。
基地局20020とコアネットワーク20030の間などのモバイル端末により近い位置には、モバイルエッジコンピューティング(MEC:Mobile Edge Computing)を実現するためのエッジサーバ20002が設けられる。ネットワーク20040には、クラウドサーバ20003が接続される。エッジサーバ20002とクラウドサーバ20003は、用途に応じた各種の処理を行うことができる。なお、エッジサーバ20002は、コアネットワーク20030内に設けられてもよい。
電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011により、AI処理が行われる。AI処理は、本開示に係る技術を、機械学習等のAIを利用して処理するものである。AI処理は、学習処理と推論処理を含む。学習処理は、学習モデルを生成する処理である。また、学習処理には、後述する再学習処理も含まれる。推論処理は、学習モデルを用いた推論を行う処理である。以下、本開示に係る技術に関する処理を、AIを利用せずに処理することを、通常処理と呼び、AI処理と区別する。
電子機器20001、エッジサーバ20002、クラウドサーバ20003、又は光センサ20011においては、CPU(Central Processing Unit)等のプロセッサがプログラムを実行したり、あるいは特定用途に特化したプロセッサ等の専用のハードウェアを用いたりすることで、AI処理が実現される。例えば、特定用途に特化したプロセッサとしては、GPU(Graphics Processing Unit)を用いることができる。
図5は、電子機器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像を取得するセンサ、多波長取得可能なセンサなどが含まれる。
電子機器20001においては、CPU20101やGPU20102等のプロセッサによってAI処理を行うことができる。電子機器20001のプロセッサが推論処理を行う場合には、光センサ20011で画像データを取得した後に時間を要さずに処理を開始することができるため、高速に処理を行うことができる。そのため、電子機器20001では、短い遅延時間で情報を伝達することが求められるアプリケーションなどの用途に推論処理が用いられた際に、ユーザは遅延による違和感なく操作を行うことができる。また、電子機器20001のプロセッサがAI処理を行う場合、クラウドサーバ20003等のサーバを利用する場合と比べて、通信回線やサーバ用のコンピュータ機器などを利用する必要がなく、低コストで処理を実現することができる。
図6は、エッジサーバ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のプロセッサにフィードバックすることができる。
図7は、光センサ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のプロセッサにより各種のメタデータを渡すことで、処理を削減して低消費電力化を図ることができる。
図8は、処理部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等のプロセッサに限らず、量子コンピュータやニューロモーフィック・コンピュータなどを利用しても構わない。
(処理の流れ)
図9のフローチャートを参照して、AIを利用した処理の流れを説明する。
図9のフローチャートを参照して、AIを利用した処理の流れを説明する。
ステップS20001では、処理部20401が、光センサ20011からの画像データを取得する。ステップS20002では、例えば、処理部20401が、取得した画像データに対する補正処理を行う。この補正処理では、画像データの少なくとも一部に学習モデルを用いた推論処理が行われ、画像データに含まれる補正対象画素を補正した後のデータである補正済みデータが得られる。ステップS20003では、処理部20401が、補正処理で得られた補正済みデータを出力する。
ここで、図10のフローチャートを参照して、上述したステップS20002における補正処理の詳細を説明する。
ステップS20021では、処理部20401が、画像データに含まれる補正対象画素を特定する。この補正対象画素を特定するステップ(以下、特定ステップ(Detection Step)と呼ぶ)では、推論処理又は通常処理が行われる。
特定ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、入力された画像データに含まれる補正対象画素を特定するための情報(以下、特定情報(Detection Information)と呼ぶ)が出力されるので、補正対象画素を特定することができる。ここでは、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、特定ステップとして通常処理が行われる場合、電子機器20001又は光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を特定する処理が行われる。
ステップS20021で、画像データに含まれる補正対象画素が特定されると、処理は、ステップS20022に進められる。ステップS20022では、処理部20401が、特定された補正対象画素を補正する。この補正対象画素を補正するステップ(以下、補正ステップ(Correction Step)と呼ぶ)では、推論処理又は通常処理が行われる。
補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データ及び補正対象画素の特定情報を入力することで、補正された画像データ又は補正された補正対象画素の特定情報が出力されるので、補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。一方で、補正ステップとして通常処理が行われる場合、電子機器20001又は光センサ20011のプロセッサや信号処理回路によって、AIを利用せずに、画像データに含まれる補正対象画素を補正する処理が行われる。
このように、補正処理では、補正対象画素を特定する特定ステップで推論処理又は通常処理が行われ、特定した補正対象画素を補正する補正ステップで推論処理又は通常処理が行われることで、特定ステップ及び補正ステップの少なくとも一方のステップで、推論処理が行われる。すなわち、補正処理では、光センサ20011からの画像データの少なくとも一部に学習モデルを用いた推論処理が行われる。
また、補正処理では、推論処理を用いることで、特定ステップが補正ステップと一体的に行われるようにしてもよい。このような補正ステップとして推論処理が行われる場合、推論部20422では、学習モデルに対し画像データを入力することで、補正対象画素が補正された画像データが出力されるので、入力された画像データに含まれる補正対象画素を補正することができる。ここでは、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。
ところで、処理部20401では、補正済みデータを用いてメタデータを生成するようにしてもよい。図11のフローチャートには、メタデータを生成する場合の処理の流れを示している。
ステップ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に提供されて推論処理を行う際に用いられる。
図12のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該特定ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、実際に光センサにより取得された画像データや、集約して管理されている取得済みの画像データ、シミュレータにより生成されたデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。
なお、前述の実施形態に基づいて、光センサなどの所定デバイスにより取得された撮影画像から理想画像を生成した後、学習モデルの出力データに対応する教師画像(画像データに含まれる補正対象画素の特定情報)を生成し、更に前記理想画像から、学習モデルの入力データに対応する劣化画像(補正対象画素を含む画像データ)を生成するようにしても良い。また、教師画像と劣化画像のそれぞれ若しくはどちらか一方を、撮像画像から直接生成するようにしてもよい。
この学習モデルとしては、補正対象画素を含む画像データを入力とし、画像データに含まれる補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
(B)補正ステップで推論処理が行われる場合の処理
補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
図12のフローチャートを参照しながら、補正処理で特定ステップと補正ステップが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、光センサからの画像データや、シミュレータからのデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。
なお、前述の実施形態に基づいて、光センサなどの所定デバイスにより取得された撮影画像から理想画像を生成した後、学習モデルの出力データに対応する教師画像(補正された画像データ又は補正された補正対象画素の特定情報)を生成し、更に前記理想画像から、学習モデルの入力データに対応する劣化画像(補正対象画素を含む画像データ及び補正対象画素の特定情報)を生成するようにしても良い。
また、教師画像と劣化画像のそれぞれ若しくはどちらか一方を、撮像画像から直接生成するようにしてもよい。この学習モデルとしては、補正対象画素を含む画像データ及び補正対象画素の特定情報を入力とし、補正された画像データ又は補正された補正対象画素の特定情報を出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
(C)補正ステップで推論処理が行われる場合の処理
補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理が行われるとき、推論部20422では、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが用いられる。この学習モデルは、学習部20421による学習処理で生成される。
図12のフローチャートを参照しながら、補正処理で補正ステップのみが行われる場合に、当該補正ステップで推論処理を行うに際して事前に行われる学習処理の流れを説明すれば、次のようになる。すなわち、学習部20421は、光センサからの画像データや、シミュレータからのデータセットなどを教師データとして取得し(S20061)、取得した教師データを用いて学習モデルを生成する(S20062)。
なお、前述の実施形態で記載したように、光センサなどの所定デバイスにより取得された撮影画像から学習モデルの出力データに対応する教師(理想)画像(補正対象画素が補正された画像データ)を生成し、更に前記教師(理想)画像から、学習モデルの入力データに対応する劣化画像(補正対象画素を含む画像データ)を生成するようにしても良い。
また、教師画像と劣化画像のそれぞれを、撮像画像から直接生成するようにしてもよい。
この学習モデルとしては、補正対象画素を含む画像データを入力とし、補正対象画素が補正された画像データを出力とする学習モデルが生成され、推論部20422に出力される(S20063)。
ところで、学習モデルや画像データ、補正済みデータ等のデータは、単一の装置内で用いられることは勿論、複数の装置の間でやり取りされ、それらの装置内で用いられてもよい。図13は、複数の装置間でのデータの流れを示している。
電子機器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)
プロセッサによりモデルの学習に用いる訓練データを生成する方法であって、
所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、
前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する、
データ生成方法。
プロセッサによりモデルの学習に用いる訓練データを生成する方法であって、
所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、
前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する、
データ生成方法。
(2)
前記所定デバイスのレンズに関する劣化に基づいて、前記理想画像を生成する、
(1)に記載のデータ生成方法。
前記所定デバイスのレンズに関する劣化に基づいて、前記理想画像を生成する、
(1)に記載のデータ生成方法。
(3)
前記所定デバイスのセンサに関する劣化に基づいて、前記理想画像を生成する、
(1)又は(2)に記載のデータ生成方法。
前記所定デバイスのセンサに関する劣化に基づいて、前記理想画像を生成する、
(1)又は(2)に記載のデータ生成方法。
(4)
前記撮影画像を縮小して前記理想画像を生成する、
(1)から(3)のいずれかに記載のデータ生成方法。
前記撮影画像を縮小して前記理想画像を生成する、
(1)から(3)のいずれかに記載のデータ生成方法。
(5)
前記所定デバイスにより取得した同じシーンにおける複数の静止画に基づいて、前記理想画像を生成する、
(1)から(4)のいずれかに記載のデータ生成方法。
前記所定デバイスにより取得した同じシーンにおける複数の静止画に基づいて、前記理想画像を生成する、
(1)から(4)のいずれかに記載のデータ生成方法。
(6)
前記複数の静止画における統計量に基づいて、前記理想画像を生成する、
(5)に記載のデータ生成方法。
前記複数の静止画における統計量に基づいて、前記理想画像を生成する、
(5)に記載のデータ生成方法。
(7)
前記統計量は、画素ごとの平均値、モード、メディアン又は分散値のうち少なくとも1つを含む、
(6)に記載のデータ生成方法。
前記統計量は、画素ごとの平均値、モード、メディアン又は分散値のうち少なくとも1つを含む、
(6)に記載のデータ生成方法。
(8)
前記撮影画像に対してグローバルオフセットを用いて前記理想画像を生成する、
(1)から(7)のいずれかに記載のデータ生成方法。
前記撮影画像に対してグローバルオフセットを用いて前記理想画像を生成する、
(1)から(7)のいずれかに記載のデータ生成方法。
(9)
前記撮影画像をキャリブレーションして前記理想画像を生成する、
(1)から(8)のいずれかに記載のデータ生成方法。
前記撮影画像をキャリブレーションして前記理想画像を生成する、
(1)から(8)のいずれかに記載のデータ生成方法。
(10)
前記モデルの入力画像を撮影するターゲットデバイスに関する情報に基づいて、前記劣化画像を生成する、
(1)から(9)のいずれかに記載のデータ生成方法。
前記モデルの入力画像を撮影するターゲットデバイスに関する情報に基づいて、前記劣化画像を生成する、
(1)から(9)のいずれかに記載のデータ生成方法。
(11)
前記ターゲットデバイスのレンズに関する劣化に基づいて、前記劣化画像を生成する、
(10)に記載のデータ生成方法。
前記ターゲットデバイスのレンズに関する劣化に基づいて、前記劣化画像を生成する、
(10)に記載のデータ生成方法。
(12)
前記ターゲットデバイスのセンサに関する劣化に基づいて、前記劣化画像を生成する、
(10)又は(11)に記載のデータ生成方法。
前記ターゲットデバイスのセンサに関する劣化に基づいて、前記劣化画像を生成する、
(10)又は(11)に記載のデータ生成方法。
(13)
前記ターゲットデバイスにおいて実行される信号処理に基づいて、前記劣化画像を生成する、
(10)から(12)のいずれかに記載のデータ生成方法。
前記ターゲットデバイスにおいて実行される信号処理に基づいて、前記劣化画像を生成する、
(10)から(12)のいずれかに記載のデータ生成方法。
(14)
(1)から(13)のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて、モデルを最適化する、
学習方法。
(1)から(13)のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて、モデルを最適化する、
学習方法。
(15)
(1)から(13)のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて最適化されたモデルを用いて推定する、
推定方法。
(1)から(13)のいずれかに記載のデータ生成方法により生成された前記訓練データを用いて最適化されたモデルを用いて推定する、
推定方法。
(16)
モデルの学習に用いる訓練データを生成する装置であって、(1)から(15)のいずれかに記載のいずれかの方法を実行するプロセッサを備える、
データ生成装置。
モデルの学習に用いる訓練データを生成する装置であって、(1)から(15)のいずれかに記載のいずれかの方法を実行するプロセッサを備える、
データ生成装置。
(17)
コンピュータに、
(1)から(15)のいずれかに記載の方法を実行させる、
プログラム。
コンピュータに、
(1)から(15)のいずれかに記載の方法を実行させる、
プログラム。
本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
1:データ生成装置、
100:入出力I/F、
102:記憶部、
104:理想画像生成部、
106:劣化画像生成部
100:入出力I/F、
102:記憶部、
104:理想画像生成部、
106:劣化画像生成部
Claims (17)
- プロセッサによりモデルの学習に用いる訓練データを生成する方法であって、
所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、
前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する、
データ生成方法。 - 前記所定デバイスのレンズに関する劣化に基づいて、前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記所定デバイスのセンサに関する劣化に基づいて、前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記撮影画像を縮小して前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記所定デバイスにより取得した同じシーンにおける複数の静止画に基づいて、前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記複数の静止画における統計量に基づいて、前記理想画像を生成する、
請求項5に記載のデータ生成方法。 - 前記統計量は、画素ごとの平均値、モード、メディアン又は分散値のうち少なくとも1つを含む、
請求項6に記載のデータ生成方法。 - 前記撮影画像に対してグローバルオフセットを用いて前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記撮影画像をキャリブレーションして前記理想画像を生成する、
請求項1に記載のデータ生成方法。 - 前記モデルの入力画像を撮影するターゲットデバイスに関する情報に基づいて、前記劣化画像を生成する、
請求項1に記載のデータ生成方法。 - 前記ターゲットデバイスのレンズに関する劣化に基づいて、前記劣化画像を生成する、
請求項10に記載のデータ生成方法。 - 前記ターゲットデバイスのセンサに関する劣化に基づいて、前記劣化画像を生成する、
請求項10に記載のデータ生成方法。 - 前記ターゲットデバイスにおいて実行される信号処理に基づいて、前記劣化画像を生成する、
請求項10に記載のデータ生成方法。 - 請求項1に記載のデータ生成方法により生成された前記訓練データを用いて、前記モデルを最適化する、
学習方法。 - 請求項1に記載のデータ生成方法により生成された前記訓練データを用いて最適化された前記モデルを用いて推定する、
推定方法。 - モデルの学習に用いる訓練データを生成する装置であって、
所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成し、
前記理想画像から、前記モデルの入力データに対応する劣化画像を生成する、
プロセッサを備える、
データ生成装置。 - コンピュータに、
プロセッサによりモデルの学習に用いる訓練データを生成する方法であって、
所定デバイスにより取得された撮影画像から、前記モデルの出力データに対応する理想画像を生成するステップ、
前記理想画像から、前記モデルの入力データに対応する劣化画像を生成するステップ、
を備える方法、
を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21771636.4A EP4124016A4 (en) | 2020-03-19 | 2021-03-12 | DATA GENERATION METHOD, LEARNING METHOD, ESTIMATION METHOD, DATA GENERATION APPARATUS AND PROGRAM |
CN202180019304.0A CN115280754A (zh) | 2020-03-19 | 2021-03-12 | 数据生成方法、学习方法、估计方法、数据生成装置和程序 |
US17/909,828 US20230267707A1 (en) | 2020-03-19 | 2021-03-12 | Data generating method, learning method, estimating method, data generating device, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020049978A JP2023058758A (ja) | 2020-03-19 | 2020-03-19 | データ生成方法、学習方法、推定方法、データ生成装置及びプログラム |
JP2020-049978 | 2020-03-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021187365A1 true WO2021187365A1 (ja) | 2021-09-23 |
Family
ID=77772084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/010077 WO2021187365A1 (ja) | 2020-03-19 | 2021-03-12 | データ生成方法、学習方法、推定方法、データ生成装置及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230267707A1 (ja) |
EP (1) | EP4124016A4 (ja) |
JP (1) | JP2023058758A (ja) |
CN (1) | CN115280754A (ja) |
TW (1) | TW202207693A (ja) |
WO (1) | WO2021187365A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018055516A (ja) * | 2016-09-30 | 2018-04-05 | キヤノン株式会社 | 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体 |
JP2019008383A (ja) * | 2017-06-21 | 2019-01-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、および、記憶媒体 |
-
2020
- 2020-03-19 JP JP2020049978A patent/JP2023058758A/ja active Pending
-
2021
- 2021-03-12 CN CN202180019304.0A patent/CN115280754A/zh active Pending
- 2021-03-12 WO PCT/JP2021/010077 patent/WO2021187365A1/ja unknown
- 2021-03-12 US US17/909,828 patent/US20230267707A1/en active Pending
- 2021-03-12 EP EP21771636.4A patent/EP4124016A4/en active Pending
- 2021-03-12 TW TW110109038A patent/TW202207693A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018055516A (ja) * | 2016-09-30 | 2018-04-05 | キヤノン株式会社 | 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体 |
JP2019008383A (ja) * | 2017-06-21 | 2019-01-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、および、記憶媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4124016A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP4124016A4 (en) | 2023-10-11 |
US20230267707A1 (en) | 2023-08-24 |
EP4124016A1 (en) | 2023-01-25 |
CN115280754A (zh) | 2022-11-01 |
TW202207693A (zh) | 2022-02-16 |
JP2023058758A (ja) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10755173B2 (en) | Video deblurring using neural networks | |
Claus et al. | Videnn: Deep blind video denoising | |
US20190228264A1 (en) | Method and apparatus for training neural network model used for image processing, and storage medium | |
WO2021164234A1 (zh) | 图像处理方法以及图像处理装置 | |
CN111445418A (zh) | 图像去雾处理方法、装置及计算机设备 | |
CN113222855B (zh) | 一种图像恢复方法、装置和设备 | |
Pang et al. | FAN: Frequency aggregation network for real image super-resolution | |
CN112449141A (zh) | 用于处理输入视频的***和方法 | |
Son et al. | Toward real-world super-resolution via adaptive downsampling models | |
WO2022100490A1 (en) | Methods and systems for deblurring blurry images | |
JP2017068608A (ja) | 演算装置、方法及びプログラム | |
CN115298693A (zh) | 数据生成方法、学习方法和估计方法 | |
CN114429191B (zh) | 基于深度学习的电子防抖方法、***及存储介质 | |
JP2022547594A (ja) | ジョイントローリングシャッター補正及び画像ぼけ除去 | |
CN116071279A (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN114298942A (zh) | 图像去模糊方法及装置、计算机可读介质和电子设备 | |
CN113658091A (zh) | 一种图像评价方法、存储介质及终端设备 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
Xin et al. | Video face super-resolution with motion-adaptive feedback cell | |
WO2021187365A1 (ja) | データ生成方法、学習方法、推定方法、データ生成装置及びプログラム | |
JP7443030B2 (ja) | 学習方法、プログラム、学習装置、および、学習済みウエイトの製造方法 | |
CN111079905A (zh) | 卷积神经网络处理方法、装置和电子*** | |
WO2022201804A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN113744164B (zh) | 一种快速夜间低照度图像增强方法、***及相关设备 | |
CN113658050A (zh) | 一种图像的去噪方法、去噪装置、移动终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21771636 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021771636 Country of ref document: EP Effective date: 20221019 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |