Image super-resolution
AssigneePicsart, Inc.
InventorVictor Kulikov
Life of this patent
Estimating the term…
Abstract
Techniques are described for upscaling low-resolution image data. In an embodiment, input image data of a low-resolution image is received to generate output image data for a high-resolution image of the low-resolution image. The input image data is interpolated to match the output size, and, based on the original input image data, the residual image data is determined. The interpolated image data is combined with the residual image data to generate the output image data for the high-resolution image of the output size. The techniques further include training one or more learning models for determining the residual image data based on the original input image data.
Claims20
A computer-implemented method comprising:
- receiving input image data of a low-resolution image, having an input size, to generate output image data for a high-resolution image having an output size, the output size being greater than the input size;
- interpolating the input image data to match the output size, thereby generating interpolated image data for an interpolated image of the output size;
- determining residual image data based on the input image data, the determining the residual image data based on the input image data comprising:
- providing the input image data to a first convolutional neural network (CNN) trained to estimate probability density of high-resolution indexes for the input image data to generate estimated probability density of intermediate indexes;
- based on the estimated probability density of intermediate indexes, selecting a plurality of intermediate indexes;
- providing the plurality of intermediate indexes as input to a second convolutional neural network to generate the residual image data;
- combining the interpolated image data with the residual image data to generate the output image data for the high-resolution image of the output size.
A computer-implemented method comprising:
- selecting at least one image data pair from a training dataset, the at least one image data pair of the training dataset including low-resolution image data and high-resolution image data relating to a same particular image, the high-resolution image data having a desired output size;
- interpolating the low-resolution image data to the desired output size thereby generating interpolated low-resolution image data of the desired output size;
- based on the high-resolution image data and the interpolated low-resolution image data, generating high-frequency residual image data of the particular image;
- based on the high-frequency residual image data of the particular image, generating index data that is an intermediate representation of the high-frequency residual image data;
- based on the low-resolution image data and an untrained set of learning parameters, generating a set of probabilities for the intermediate representation of the high-frequency residual image data;
- based on comparing the index data for the intermediate representation of the high-frequency residual image data with the set of probabilities for the intermediate representation of the high-frequency residual image data, updating the untrained set of learning parameters thereby generating a trained set of learning parameters.
One or more non-transitory computer-readable media storing a set of instructions, wherein the set of instructions includes instructions, which, when executed by one or more hardware processors, cause:
- receiving input image data of a low-resolution image, having an input size, to generate output image data for a high-resolution image having an output size, the output size being greater than the input size;
- interpolating the input image data to match the output size, thereby generating interpolated image data for an interpolated image of the output size;
- determining residual image data based on the input image data, the determining the residual image data based on the input image data comprising:
- providing the input image data to a first convolutional neural network (CNN) trained to estimate probability density of high-resolution indexes for the input image data to generate estimated probability density of intermediate indexes;
- based on the estimated probability density of intermediate indexes, selecting a plurality of intermediate indexes;
- providing the plurality of intermediate indexes as input to a second convolutional neural network to generate the residual image data;
- combining the interpolated image data with the residual image data to generate the output image data for the high-resolution image of the output size.
A system comprising one or more processors and one or more storage media storing one or more computer programs for execution by the one or more processors, the one or more computer programs configured to perform a method comprising:
- receiving input image data of a low-resolution image, having an input size, to generate output image data for a high-resolution image having an output size, the output size being greater than the input size;
- interpolating the input image data to match the output size, thereby generating interpolated image data for an interpolated image of the output size;
- determining residual image data based on the input image data, the determining the residual image data based on the input image data comprising:
- providing the input image data to a first convolutional neural network (CNN) trained to estimate probability density of high-resolution indexes for the input image data to generate estimated probability density of intermediate indexes;
- based on the estimated probability density of intermediate indexes, selecting a plurality of intermediate indexes;
- providing the plurality of intermediate indexes as input to a second convolutional neural network to generate the residual image data;
- combining the interpolated image data with the residual image data to generate the output image data for the high-resolution image of the output size.
A system comprising one or more processors and one or more storage media storing one or more computer programs for execution by the one or more processors, the one or more computer programs configured to perform a method comprising:
- selecting at least one image data pair from a training dataset, the at least one image data pair of the training dataset including low-resolution image data and high-resolution image data relating to a same particular image, the high-resolution image data having a desired output size;
- interpolating the low-resolution image data to the desired output size, thereby generating interpolated low-resolution image data of the desired output size;
- based on the high-resolution image data and the interpolated low-resolution image data, generating high-frequency residual image data of the particular image;
- based on the high-frequency residual image data of the particular image, generating index data that is an intermediate representation of the high-frequency residual image data;
- based on the low-resolution image data and an untrained set of learning parameters, generating a set of probabilities for the intermediate representation of the high-frequency residual image data
- based on comparing the index data for the intermediate representation of the high-frequency residual image data with the set of probabilities for the intermediate representation of the high-frequency residual image data, updating the untrained set of learning parameters, thereby generating a trained set of learning parameters.
Dependencies are inferred from the claim text.