WO2019147020A1 - 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치 - Google Patents

이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치 Download PDF

Info

Publication number
WO2019147020A1
WO2019147020A1 PCT/KR2019/000978 KR2019000978W WO2019147020A1 WO 2019147020 A1 WO2019147020 A1 WO 2019147020A1 KR 2019000978 W KR2019000978 W KR 2019000978W WO 2019147020 A1 WO2019147020 A1 WO 2019147020A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
learning
image
class
frequency
Prior art date
Application number
PCT/KR2019/000978
Other languages
English (en)
French (fr)
Inventor
유재영
이상호
Original Assignee
주식회사 날비컴퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 날비컴퍼니 filed Critical 주식회사 날비컴퍼니
Priority claimed from KR1020190008645A external-priority patent/KR102174777B1/ko
Publication of WO2019147020A1 publication Critical patent/WO2019147020A1/ko
Priority to US16/936,749 priority Critical patent/US11798131B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • This disclosure relates to techniques for processing images to improve image quality.
  • JPEG is the most commonly used lossy compression format.
  • the JPEG format converts an image into DCT, converts it into a frequency domain, quantizes it, and compresses it.
  • the signal is concentrated in the low frequency region and the signal is weak in the high frequency region.
  • the low frequency region indicates that the color change in the image is weak
  • the high frequency region indicates that the color change in the image is strong.
  • the quantization is processed in such a way as to disregard the high frequency region as much as possible.
  • the human eye is sensitive to low frequency components, it is not sensitive to high frequency components, so that even if a high frequency region is omitted, a difference in image quality is hard to be felt. Therefore, the lossy compression effect is obtained by removing detailed information in the high frequency region in the JPEG format.
  • Lossy compression refers to the reduction of capacity through the process of removing some of the data. Therefore, in image restoration, the reverse process of compression is basically a problem of generating data that is not in the input image, and therefore involves a problem of poor results. Also, in the majority of cases, there is a problem that a plurality of outputable images corresponding to a given input image exist.
  • CNN convolutional neural networks
  • MSE mean squared error
  • MAE mean absolute error
  • a method for processing an image to improve image quality comprising: inputting an image as an input variable to a first artificial neural network to generate a feature map And inputting an image as an input variable to the second artificial neural network to generate an estimated class probability distribution map for each of the frequency channels.
  • the method also includes the steps of determining a class for each channel of the frequency based on the probability distribution included in the estimated class probability distribution map and generating an estimated class map including the determined class, To an estimated frequency map, combining the estimated frequency map with a feature map to generate a combined feature map, and inputting the combined feature map as an input variable to a third artificial neural network to generate an output image Step < / RTI >
  • a learning method of an artificial neural network which is used to generate a class map for improving image quality, is performed on a computing device, by applying a transform function to a reference image for learning, Generating a reference frequency map for each of the plurality of reference frequency maps, and converting the reference frequency map to a ground truth class map.
  • the learning method of the artificial neural network includes inputting a learning image corresponding to a reference image for learning as an input variable to an artificial neural network to generate an estimated class probability distribution map for learning for each frequency channel, Determining a class for each channel of the frequency based on the probability distribution, generating an estimated estimation class map including the determined class, and estimating an artificial neural network to minimize a loss between the estimated estimation class map and the reference class map. And a learning step.
  • the frequency processing module includes a classifier configured to input an image as an input variable to a second artificial neural network to generate an estimated class probability distribution map for each of the frequency channels, A class determination module configured to determine a class for each channel and to generate an estimated class map including the determined class, and a class-coefficient transform module configured to transform the estimated class map into an estimated frequency map .
  • a restored image or a high-resolution image having a clearer boundary and texture by transforming the reference image for learning and concentrating on the boundary and texture to learn and produce the result.
  • FIG. 1 is a schematic diagram illustrating a method of processing an image to improve image quality driven on a computing device in accordance with one embodiment of the present disclosure
  • FIG. 2 is a block diagram illustrating a configuration of a computing device that processes an image to improve image quality in accordance with one embodiment of the present disclosure
  • FIG. 3 is a flowchart illustrating a method of generating an estimated discrete class probability distribution map by inputting an image to an artificial neural network in which a frequency processing module according to an embodiment of the present disclosure is learned as an input variable, And a method of generating an estimation coefficient map.
  • FIG. 4 is a schematic diagram illustrating a method of learning an artificial neural network according to an embodiment of the present disclosure
  • FIG. 5 is a flow diagram illustrating a method for a classifier of a frequency processing module to generate an estimated class probability distribution map according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram illustrating a method for generating a reference coefficient map and a reference class map from a reference image, according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram illustrating a method for learning a second artificial neural network of a frequency processing module according to an embodiment of the present disclosure
  • FIG. 8 is a block diagram of an apparatus according to an embodiment of the present disclosure that combines an estimated frequency map for training generated by a frequency processing module module into a learning feature map generated by an encoder and generates an output image for training based on a combined feature map for learning And a loss of the learning reference image and learning is learned.
  • Figure 9 illustrates an apparatus according to an embodiment of the present disclosure that combines a reference frequency map into a learning feature map generated by an encoder and generates an output image for learning based on a combined feature map for learning, which is a schematic diagram showing how to obtain and learn.
  • FIG. 10 is a schematic diagram illustrating a method according to an embodiment of the present disclosure for transforming a reference image for learning and generating a reference coefficient map and a reference class map based on the transformed reference image for learning.
  • part or module refers to a software or hardware component, and the term “module” However, “part” or “module” is not meant to be limited to software or hardware.
  • a “module” or “module” may be configured to reside on an addressable storage medium and configured to play back one or more processors.
  • “a” or “module” is intended to encompass all types of elements, such as software components, object oriented software components, class components and task components, Microcode, circuitry, data, databases, data structures, tables, arrays, and variables, as used herein. &Quot; Components “ or “modules” may < / RTI > be combined with smaller numbers of components and " Can be further separated.
  • a “ or” module may be embodied in a processor and memory, according to one embodiment of the present disclosure.
  • the term “processor” should be broadly interpreted to include a general purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, In some circumstances, a “processor” may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA)
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • processor refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, It can also be called.
  • server or “client” may include a “server device” or a “client device”, respectively.
  • memory should be broadly interpreted to include any electronic component capable of storing electronic information.
  • the terminology memory may be any suitable memory such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erase- May refer to various types of processor-readable media such as erasable programmable read-only memory (PROM), flash memory, magnetic or optical data storage devices, registers, and the like.
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile random access memory
  • PROM programmable read-only memory
  • erase- May to various types of processor-readable media such as erasable programmable read-only memory (PROM), flash memory, magnetic or optical data storage devices, registers, and the like.
  • the memory is said to be in electronic communication with the processor if the processor is able to read information from and / or write information to the memory.
  • the memory integrated in the processor is in electronic communication with the processor.
  • image refers to an image containing one or more pixels, and may refer to one or more local patches that have been divided if the entire image is divided into a plurality of local patches.
  • map refers to a set of a plurality of numbers, for example, a map may represent a plurality of numbers in the form of a matrix or a vector.
  • XX map may refer to a set of values that represent or characterize "XX ".
  • a solution to the problem of reconstructing an image more particularly, a problem of restoring the boundary or texture of objects in a JPEG compressed image is provided.
  • the problem of image reconstruction is mainly dealt with in the frequency domain.
  • the probability distribution in the frequency domain is extracted through the learned neural network using cross entropy loss.
  • the problem of image restoration is treated as a problem of classification, and the determination of frequency domain coefficients is performed by obtaining a frequency interval, that is, a quantized class I will solve it.
  • the problem of restoring the lossy compressed image is that in most cases, since there are a plurality of images that can be output correspondingly from a given input image, It is the method to choose the suitable one. If so, the problem of image restoration can be understood as a problem of obtaining a probability distribution according to an input image. Therefore, it is possible to solve the image restoration problem by obtaining the probability distribution about the frequency data of the restored image through the artificial neural network. More specifically, a discrete probability distribution for a plurality of quantized classes may be used. In one embodiment of the present disclosure, a method is provided for generating an estimated class probability distribution map to reconstruct an image. The technical configuration used for restoring such a compressed image can also be applied to a configuration for increasing the resolution of an image.
  • the computing device may include an embedded device such as a smart phone or a television, a client device, a server device, a device equipped with a processor in which a method 100 for processing an image is implemented in hardware logic, and the like.
  • Image 110 may be a lossy compressed image or an image with a specific resolution (e.g., Full HD, etc.).
  • lossy compression transforms an image according to a transform function so that as the size of the image file decreases, a portion of data or information corresponding to the compressed image 110 becomes lossy, deformed, or the like.
  • the compressed image 110 may be an image compressed according to JPEG, MPEG, H.264, Bilinear, Inter_Area, and the like.
  • Applying the transform function in the present disclosure includes not only a method of transforming data according to an equation, but also a method of increasing the resolution of quantization, sampling, or image, and the like, and may include a combination thereof.
  • applying a transform function to an image may include transforming from a spatial domain to a frequency domain.
  • the transform function may include DCT (Discrete Cosine Transformation), DFT (Discrete Fourier Transformation), FFT (fast Fourier Transformation), and the like.
  • applying a transform function to an image may include improving the resolution of the image.
  • the transform function may include any function applied to improve the resolution of the image (e.g., interpolation, machine learning, function applied to an artificial neural network, etc.).
  • quantization may indicate that a range of values is divided into a plurality of intervals, and values corresponding to each interval are mapped to one value.
  • a quantization matrix or the like is calculated for data or numerical values And then associating the value with one value according to the interval. For example, the value corresponding to 0 to 255 may be quadrupled to correspond to 0 to 3, or it may be rounded up or rounded down to a fraction of a value or less in decimal point in JPEG.
  • the quantization may include computing a quantization matrix or the like on the data or numerical value, and then processing the value according to the interval.
  • the image 110 may represent a local patch, which is a part of the entire image or the entire image.
  • it is common to divide the image and input and output it in units of local patches.
  • the encoder 120 may receive the image 110 and generate the estimated feature map 130.
  • the encoder 120 is configured to include a learned artificial neural network (first artificial neural network) and to input an image 110 as an input variable to the learned artificial neural network to generate an estimated feature map 130 .
  • the feature map 130 may include a plurality of sets of values (e.g., matrix, vector) configured to characterize the image.
  • the frequency processing module 140 may receive the image 110, calculate classes representing the quantized values for the frequencies included in the image 110, and estimate the frequencies based on the calculated class values. For example, where frequencies may primarily include high frequencies in the image.
  • the frequency processing module 140 may receive the image 110 and generate an estimated frequency map 150.
  • the frequency processing module 140 includes a learned artificial neural network (a second artificial neural network) and inputs the image 110 as an input variable to the learned artificial neural network to generate an estimated frequency map 150 Lt; / RTI >
  • the frequency map 150 is a frequency domain representation of the characteristics of an image, and may be various types such as a matrix and a vector.
  • the frequency processing module 140 inputs the image 110 as an input variable to the second artificial neural network to generate an estimated discrete class probability distribution map).
  • the estimated class probability distribution map may include a probability distribution including a probability of having each of the classes for each of the frequency channels.
  • each of the frequency channels may represent each of a plurality of frequency ranges.
  • each frequency channel may have the same frequency range.
  • each frequency channel may have a range of different frequencies. Also, such a frequency range can be predetermined, and each frequency channel does not include overlapping frequencies.
  • the frequency processing module 140 can be configured to determine a class for each of the channels of frequency and to generate an estimated class map including the determined class.
  • the frequency processing module 140 may include a map indicating the relationship between the class and the coefficients, and the generated estimated class map may be input to such a map and, as a result, be converted to an estimated coefficient map .
  • the estimated coefficient map thus generated is converted into an estimated frequency map, and the transformed estimated frequency map is combined with the estimated feature map 130 generated from the encoder 120, (Not shown).
  • the decoder 160 may be configured to receive the combined estimated feature map combined with the estimated frequency map 150 and the estimated feature map 130 to generate an output image 170.
  • the decoder 160 is configured to include a learned artificial neural network (a third artificial neural network) and to input the combined feature map into the learned artificial neural network as input variables to generate an output image 170 .
  • At least two artificial neural networks of the first artificial neural network, the second artificial neural network and the third artificial neural network may be configured to include the same or similar internal components.
  • each of the first, second and third artificial neural networks may be configured to include different internal components.
  • the computing device 200 for processing an image may include an encoder 120, a frequency processing module 140, a combining module 250, a decoder 160 and a storage module 260.
  • the encoder 120 may be configured to generate the estimated feature map 130 from the image 110 and provide it to the combining module 250.
  • the configuration of the encoder 120 may include a convolution layer of an artificial neural network, such as CNN, such as a Feature Extractor, which is a component of the classifier 210.
  • the frequency processing module 140 may be configured to receive the image 110 and generate an estimated frequency map 150 based on the image 110. 2, the frequency processing module 140 may include a classifier 210, a class determining module 220, a class-coefficient transforming module 230, and a coefficient calculating module 240.
  • the classifier 210 may be configured to receive the image 110 to generate an estimated class probability distribution map, and may include a processing unit and the like. According to one embodiment, the classifier 210 may include an artificial neural network, and may further include artificial neural networks that are learned thereby. For example, the classifier 210 may include CNN or the like as an artificial neural network that processes images.
  • the class determination module 220 can determine one class from each probability distribution of the estimated class probability distribution map to generate an estimated class map. Further, the estimation class map can be provided to the class-coefficient conversion module. In the course of learning, the estimated class map may be provided to the classifier, or the loss between the estimated class map and the reference class map may be obtained and provided to the classifier. The class determination module 220 may be configured to combine the estimated class maps of each local patch if the image is a local patch to generate an estimated class map of the entire image.
  • the class-coefficient conversion module 230 may be configured to convert a class value to a coefficient value or to convert a coefficient value to a class value.
  • the estimation class map can be converted into the estimation coefficient map
  • the reference coefficient map can be converted into the reference class map.
  • the coefficient map may be various types of coefficients matrix, vector, etc., in which the characteristics of the image are expressed by coefficients in the frequency domain.
  • the estimated frequency map can be generated based on the generated estimated coefficient map. For example, an estimated frequency map in the form of a matrix can be generated based on an estimated coefficient map in the form of a vector. Alternatively, the generated estimated coefficient map can be used as the estimated frequency map.
  • converting a coefficient value into a class value is a kind of quantization, and the class value can be converted into a coefficient value that is a plurality of discontinuous values.
  • a coefficient of less than 3 is class 0
  • a coefficient of 3 to 6 is class 1
  • a coefficient of 6 to 9 is class 2
  • a coefficient of 9 to 12 is class 3
  • a coefficient of 12 to 15 is class 4
  • coefficients of 15 to 18 can be converted to class 5
  • coefficients exceeding 30 can be converted to class 6.
  • the number of classes in this example is expressed as seven, the number of classes can be appropriately adjusted (e.g., an odd number) to yield an optimal result.
  • the coefficient range is exemplarily described, and any number can be determined according to the range calculated in the class-coefficient conversion module.
  • the class value when a class value is converted into a coefficient value, the class value can be converted into a representative coefficient value or the like of an interval indicated by the class. For example, class 0 can be converted to coefficient 5, class 1 to coefficient 20, and class 2 to coefficient 35.
  • the learned neural network in determining the value of the transformed coefficients, the learned neural network may be used or statistics may be used.
  • the coefficient calculation module 240 may receive an image and generate a frequency map. According to one embodiment, this frequency map may include a coefficient map of the image. According to another embodiment, generating this frequency map may comprise generating a coefficient map of the image. For example, the coefficient calculation module 240 may transform and / or vectorize the received image to generate a frequency map, and then generate a coefficient map. Likewise, the coefficient calculation module 240 may convert DCT-transformed training reference images into reference frequency maps, and vectorize the reference frequency maps to generate reference coefficient maps.
  • the learning reference image may include an image corresponding to the learning image. According to one embodiment, if the training image is a compressed image, the training reference image may include a reconstructed image of the training image. According to another embodiment, if the training image is an image with a certain resolution (e.g., FHD), the training reference image may be an image with a higher resolution (e.g., 4K or 8K) than the training image.
  • a certain resolution e.g., FHD
  • the combining module 250 may combine the frequency map with the feature map to generate a combined feature map and provide it to the decoder.
  • the combination is to associate the feature map and the frequency map into one map.
  • a combination may include a concatenate, a sum, a matrix multiplication, and the like.
  • the combining module 250 may also be configured to input a coefficient map or a frequency map to a separate artificial neural network to generate a transformed frequency map to be combined into the feature map.
  • the decoder 160 may receive the feature map combined with the frequency map and generate an output image.
  • the output image may include an image obtained by restoring the compressed image.
  • the input image is an image with a particular resolution
  • the output image may include an image that enhances the resolution of the image.
  • the decoder 160 may include a learned artificial neural network.
  • the decoder 160 may be configured symmetrically with the encoder 120, except that there is no activation function after the output convolution layer.
  • the storage module 260 may store the program code.
  • the storage module 260 may be configured to provide the program code to an encoder, a decoder, and a classifier, or to receive and store the processed program code.
  • an HDD for example, an HDD, an SSD, and the like.
  • FIG. 3 is a flowchart illustrating a method of generating an estimated class probability distribution map by inputting an image as an input variable to an artificial neural network in which the frequency processing module 140 according to an embodiment of the present disclosure learns, Fig.
  • the frequency processing module 140 may receive the image 110 and generate an estimated coefficient map 345 or an estimated frequency map 150.
  • a local patch 310 that is part of the image is input, and the frequency processing module 140 may generate an estimated coefficient map or estimated frequency map of the local patch 310 (Local Patch).
  • the local patch 310 may be a segmented portion of an image consisting of 4x4, 8x8, or 16x16 pixels.
  • an estimated coefficient map 345 or an estimated frequency map 150 for the frequency domain 110 may be generated.
  • the classifier 210 may be configured to receive the image 110. According to one embodiment, the classifier 210 may generate an estimated class probability distribution map 325 as an output vector by inputting the image 110 as an input variable to the learned neural network. In one embodiment, an input of an image may be made for each of the image channels, in which case the classifier 210 may generate an estimated class probability distribution map 325 for each of the image channels.
  • the estimated class probability distribution map 325 may include a probability distribution that includes a probability of having each of the classes in the frequency domain. If an input of an image is made for each of the image channels, the estimated class probability distribution map 325 may include a probability distribution that includes the probability of having each of the classes for each of the frequency channels. For example, (0.10 ... 0.02) shown in FIG. 3 may represent the distribution of the probability that the data has for each class. This can indicate that the probability of being in the first class is 10% and the probability of being in the last class is 2%. In the embodiment of FIG. 3, the estimated class probability distribution map 325 may include distributions of probabilities including probabilities for each of the classes for each of the frequency channels.
  • the class determination module 220 may receive the estimated class probability distribution map 325 and may determine the class for each probability distribution based on the probability distribution included therein to generate the estimated class map 335.
  • the estimated class map 330 of the local patch can be generated.
  • the class determination module 220 can determine a class according to a certain function.
  • the class determination module 220 may include an argmax function that determines the class of the highest probability among the respective probability distributions. In FIG. 3, a class having the highest probability among the probability distributions for seven classes (0 to 6) is selected.
  • the estimation class map 330 of FIG. 3 determines Class 3 with the highest probability among the probability distributions of (0.10 ...
  • the estimated class probability distribution map 325 is processed by the class determination module so that an estimated class map 335 including the estimated class as data can be generated.
  • the estimated class maps 330 of the generated local patches when received in the classifier 210 on a per-local patch 310 basis may be combined to generate an estimated class map 335 of the entire image. If an estimated class probability distribution map 325 for each of the image channels is received in the class determination module 220, the class determination module 220 may generate an estimation class map 335 for each of the image channels .
  • the class-to-coefficient conversion module converts classes into coefficients.
  • the estimated class map 330 of the local patch is input to the class-coefficient conversion module 230 to generate the estimated coefficient map 340 of the local patch.
  • the coefficient is determined as 211.3 corresponding to the class 3
  • the coefficient is determined as 0.027 corresponding to the class 6, and the class values are converted into the coefficient values.
  • the class-coefficient conversion module 230 generates an estimation class map 345 for each of the image channels .
  • the artificial neural network 400 is a structure for executing a statistical learning algorithm or its algorithm implemented based on the structure of a biological neural network in Machine Learning technology and cognitive science. That is, the artificial neural network 400 repeatedly adjusts the weights of synapses, which are nodes of artificial neurons that form a network of synapses as in a biological neural network, so that the correct output corresponding to a specific input and the inferred output Learning by learning to reduce the error between the machine learning model and the machine learning model.
  • an artificial neural network is implemented as a multilayer perceptron (MLP) composed of multiple layers of nodes and connections between them.
  • the artificial neural network 400 according to the present embodiment can be implemented using one of various artificial neural network structures including the MLP.
  • the artificial neural network 400 includes an input layer 420 for receiving an input signal or data 410 from the outside, an output layer for outputting an output signal or data 450 corresponding to the input data
  • n hidden layers 430_1 to 430_n that are positioned between the input layer 420 and the output layer 440 and receive signals from the input layer 420 to extract the characteristics and transmit the extracted characteristics to the output layer 440.
  • the output layer 440 receives signals from the hidden layers 430_1 to 430_n and outputs the signals to the outside.
  • the learning method of the artificial neural network 400 includes a supervised learning method for learning to be optimized for solving a problem by inputting a teacher signal (correct answer), an unsupervised learning method in which a teacher signal is not required, There is a way.
  • the classifier 210 using the learned artificial neural network according to the present disclosure performs an analysis on an input image using supervised learning to provide information on an estimated class probability distribution map 325 of an image,
  • the artificial neural network 400 capable of extracting information on quality improvement (for example, information on restoration and information on improvement in resolution) is learned.
  • the artificial neural network 400 thus learned can provide a basis for generating an output image 170 by generating an estimated class probability distribution map 325 in response to the received image.
  • the input variable of the artificial neural network 400 that can extract the estimated class probability distribution map 325 may be the image 110.
  • an input variable that is input to the input layer 420 of the artificial neural network 400 may include an image vector 410, which comprises the image 110 as a vector data element.
  • the output variable output from the output layer 440 of the artificial neural network 400 may be a vector representing the estimated class probability distribution.
  • the output variable may comprise an estimated class probability distribution map vector 450.
  • the estimated class probability distribution map vector 450 may include a probability distribution for each class of each of the frequency channels of the image 110 as a data element.
  • the input layer 420 and the hidden layer 430_1 to 430_n and the output layer 440 are matched to the input layer 420 and the output layer 440 of the artificial neural network 400 by matching a plurality of output variables corresponding to a plurality of input variables, 440) by adjusting the synaptic values between the nodes included in the input signals (e.g., 440).
  • the characteristics hidden in the input parameters of the artificial neural network 400 can be grasped, and the error between the output variable calculated based on the input variable and the target output can be reduced, The synapse value (or weight) can be adjusted.
  • an estimated class probability distribution map 325 can be generated in response to the input image.
  • the input variable of the artificial neural network 400 may be a local patch that is part of the image.
  • the input variable input to the input layer 420 of the artificial neural network 400 may be a local patch vector.
  • the output variable output from the output layer 440 of the artificial neural network 400 may be a vector representing the estimated class probability distribution map of the local patch.
  • the input variable of the artificial neural network 400 generating the output image may be a feature map combined with the frequency map, and the output variable output from the output layer 440 of the artificial neural network 400 may be , An output image vector.
  • the classifier 210 may include a feature extractor 510 and a plurality of stage blocks 520.
  • each of the feature extractor 510 and the plurality of stage blocks 520 may be configured as a combination of components provided in the CNN, and in FIG. 5, the detailed configuration may be variously modified from the illustrated example.
  • the feature extractor 510 may receive the image 110 to generate a feature map and provide it to the multiple stage block 520.
  • the process of generating a feature map may include a plurality of convolutions, an activation function, a batch normalization, and a residual block, respectively.
  • the activation function may be a weak LeLy ReLU.
  • the multiple stage block 520 is a sequential arrangement of a plurality of stage blocks, which receives the feature map and generates an extraction class probability distribution map Can be generated.
  • the detailed configuration of the multiple stage block 520 in FIG. 5 is not limited to the illustrated example, and various modifications are possible.
  • the number of stage blocks may be variously determined in order to obtain an effective result.
  • the multiple stage block 520 may be composed of two stage blocks. Extraction Class Probability Distribution Map ( ) Is sent to the extraction class map ( Can be generated.
  • each stage block may receive a feature map from a feature extractor 510.
  • the stage block may be configured to generate a class probability distribution map for each of the frequency channels.
  • the stage block after stage 2 can combine the feature map into the class probability distribution map output from the previous stage block and use it as an input image.
  • the class probability distribution map may be the output of softmax for each of the frequency channels.
  • the class probability distribution can include a probability distribution that includes the probability of having each class.
  • cross entropy loss may be used in learning the artificial neural network of the classifier 210.
  • the class loss L c in each of the stages can be calculated as the average of the cross entropy losses in all spatial blocks and frequency channels.
  • the cross entropy loss can be calculated using the class probability distribution map and the reference class map.
  • the final loss L c can be calculated as the average of each of the class losses.
  • the cross entropy loss is closely related to the KL-divergence and can be very important in matching the estimated class probability distribution map to the reference class map.
  • FIG. 6 is a schematic diagram illustrating how the frequency processing module 140 in accordance with one embodiment of the present disclosure generates a reference coefficient map 625 and a reference class map 635 from a training reference image 600.
  • the learning reference image 600 can be used as a ground truth, i.e., a correct answer in map learning.
  • Learning reference image 600 may be used as a reference in various stages of learning. For example, a reference coefficient map 625 and a reference class map 635 generated from the learning reference image 600 can be used for learning.
  • the coefficient calculation module 240 may convert the training reference frequency map 610 for each of the frequency channels by applying a transform function to the training reference image 600.
  • a transformation may include any transformation in at least one of the lossy compressed image described above and an image with a particular resolution.
  • a DCT transform used for compression such as JPEG is shown as an example.
  • the coefficient calculation module 240 may generate the learning reference coefficient map 620 by vectorizing the learning reference frequency map 610.
  • the vectorization may be, for example, representing an nxn matrix as an nxn vector.
  • the matrix may be vectorized according to the ZIGZAG algorithm.
  • the learning reference image 600 received in the coefficient calculation module 240 may be the entire image or a local patch.
  • the coefficient calculation module 240 may generate a frequency map of the local patch and a reference coefficient map 620 of the local patch.
  • the reference coefficient maps 620 of the local patches may be combined to generate a reference coefficient map 625 for the entire training reference image.
  • the reference coefficient map 625 may be used as a reference in learning the first artificial neural network of the encoder 120 and / or the third artificial neural network of the decoder 160. The learning of the first artificial neural network and / or the third artificial neural network will be described in detail with reference to FIG. 9 below.
  • the class-to-coefficient conversion module 230 may receive the reference coefficient map 625 or the reference patch map 620 of the local patch to generate the reference class map 635 or the reference class map 630 of the local patch.
  • the class-to-coefficient conversion module 230 may combine the reference class maps 630 for each of the plurality of local patches 605 to generate a reference coefficient map 625 for the image 600.
  • the reference class map 635 may be used as a reference in learning the second artificial neural network of the frequency processing module 140.
  • FIG. 7 is a schematic diagram illustrating a method of learning a second artificial neural network of the frequency processing module 140 in accordance with one embodiment of the present disclosure.
  • the classifier 210 of the frequency processing module 140 may input the learning image 710 to the learned second artificial neural network and output the learning extraction class probability distribution map 725.
  • the learning image 710 may be a compressed image or an image having a specific resolution.
  • the class determination module 220 can be input into the output learning extraction class probability distribution map 725 to generate the extraction class map 735 for learning.
  • the reference class map 635 may be generated from the training reference image corresponding to the training image 710. [ The way in which the reference class map 635 is generated from the learning image 710 will be described in detail below with reference to FIG. Then, the second artificial neural network can be learned so that the loss L c between the learning extraction class map 735 and the reference class map 635 is calculated and this loss L c is minimized.
  • the approach of minimizing the loss between a reference image and an output image centered on a pixel loss may have a problem that the boundary is blurry.
  • one-to-many functional relationships can be problematic when generating possible output images from an input image.
  • the artificial neural network in one embodiment of the present disclosure deals with the problem of image restoration as a problem of estimating the coefficient in the frequency domain of the reference image.
  • the artificial neural network can be learned to estimate the probability distribution of the coefficients.
  • the KL-divergence technique can be applied. Using the KL-divergence method in the equation used for image restoration has a better effect compared with the case of using Mean Square Error (MSE).
  • MSE Mean Square Error
  • a plurality of different output images may be generated from an input image (e.g., a lossy compressed image or an image with a particular resolution)
  • an input image e.g., a lossy compressed image or an image with a particular resolution
  • a compressed image set as a learning sample and try to directly estimate the target image, the artificial neural network may become difficult to learn. Since the artificial neural network leaves one output, it may not be suitable to solve the problem of generating a plurality of output images from one input image. On the other hand, learning to estimate the probability distribution from the same learning sample can be learned to yield a bimodal distribution with two peaks.
  • the technical configuration used for restoring such a compressed image can also be applied to a configuration for increasing the resolution of an image.
  • the classifier 210 may be trained to generate a probability distribution map for each of the classes corresponding to the coefficients in the frequency domain of the transform function.
  • the class may be set appropriately to yield an effective result. For example, a class may be assigned an odd number so that the median value of the class includes a coefficient of 0, and the class may have seven classes of 0 to 6 so as to be superior in terms of the processing speed of the artificial neural network and the reliability result. Can be set.
  • a method for learning an artificial neural network included in at least one of the encoder 120 and the decoder 160 includes the steps of inputting a learning image 710 to the encoder 120, Can be generated. The learning image 710 may then be input as an input variable to the classifier 210 to generate a learning estimate class probability distribution map 725 for each of the frequency channels.
  • the class determination module 220 determines a class for each channel of the frequency based on the probability distribution included in the learning estimation class probability distribution map 725, 735 < / RTI >
  • the class-transform module 230 or M may be configured to receive the estimation class map 735 for learning and generate the estimation coefficient map 845 for learning.
  • This learning estimation coefficient map 845 can be converted into the learning estimation frequency map 850.
  • an estimation coefficient map 845 for learning may be used as the estimation frequency map 850 for learning.
  • the estimated frequency map for learning 850 can be combined with the learning feature map 830 to generate a combined feature map for learning.
  • the decoder 160 may be configured to generate a learning output image 870 by inputting the learning combined feature map as an input variable of the third artificial neural network.
  • the generated learning output image 870 is stored in at least one of the encoder 120 and the decoder 160 so that the loss between the learning output image 870 and the corresponding learning reference image 600 is minimized.
  • At least one artificial neural network among the first artificial neural network and the third artificial neural network can be learned.
  • the encoder 120 generates a feature map of the input image, but the frequency processing module 140 generates a frequency map having frequency domain data. Therefore, the artificial neural network included in the decoder 160 learns how to map from the frequency domain to the pixel domain.
  • the image 110 may remain at a low frequency without much loss of data. Therefore, using the estimated estimated frequency map 850 generated through the frequency processing module 140 to recover the lost high frequency data, the low frequency data can utilize a significant portion of the data of the received image 110 have.
  • the learning feature map 830 is set such that the data of the learning estimation frequency map 850 is data in the high- As shown in FIG.
  • Figure 9 illustrates an apparatus according to an embodiment of the present disclosure that combines a reference frequency map into a learning feature map generated by an encoder and generates an output image for learning based on a combined feature map for learning, which is a schematic diagram showing how to obtain and learn.
  • the learning image 710 is an image corresponding to the reference reference image 600 and may represent an input image (for example, a compressed image, an image having a specific resolution) of the reference image 600 for learning.
  • the encoder 120 may receive the learning image 710 and generate the learning feature map 830 using the first artificial neural network.
  • the coefficient calculation module 240 may also be configured to generate a reference frequency map 950 of the transform function for each of the frequency channels by applying a transform function to the reference image 600 for learning.
  • the reference frequency map 950 may be a coefficient map for each of the frequency channels, or a map of such a coefficient map.
  • the reference frequency map 950 generated from the coefficient calculation module 240 may then be combined with the learning feature map 830 and provided to the decoder 160.
  • the decoder 160 may be configured to receive the learning combining feature map and input the received learning combining feature map to the third artificial neural network to generate the learning output image 900. Is included in at least one of the first artificial neural network included in the encoder 120 and the second artificial neural network included in the decoder 160 so as to minimize the loss between the learning output image 900 and the learning reference image 600 Artificial neural networks can be learned.
  • the coefficients of the estimated frequency map for learning are values estimated through learning and are representative values corresponding to the classes, learning through the two-stage learning process may be somewhat lacking in precision. Therefore, in the process of learning the encoder-decoder, the learning output image is generated using the learning estimation frequency map 850 generated based on the learning estimation class probability distribution map 725 generated in the artificial neural network of the classifier 210 Instead, by using the reference frequency map 950 generated by transforming the learning reference image 600, it is possible to learn to generate an effective and accurate output image.
  • FIG. 10 is a schematic diagram illustrating a method according to an embodiment of the present disclosure for transforming a reference image for learning and generating a reference coefficient map and a reference class map based on the transformed reference image for learning.
  • the training reference image 600 may be transformed so that at least one of the boundary and texture of the object is highlighted.
  • transforming the reference image for training to highlight at least one of the boundaries and textures of the objects contained within the reference image for study 600 may include converting the color image to a grayscale. In this case, according to the color image, only one gray-scale channel can be processed so that each of the three RGB channels must be processed.
  • the training reference image 600 may be transformed so that the boundary or texture is highlighted through the Laplace transform.
  • the converted training image 1010 can be generated through the conversion of the learning reference image 600.
  • the high frequency data which is mainly lost in the lossy compression process, is used to represent the boundaries or textures of the objects in the image. Accordingly, if the processing is performed with emphasis on the boundary or texture data, learning can be performed based on the high-frequency data, and the high-frequency lost data can be effectively restored by using the high-frequency data.
  • Such a restoration method can be applied to a process of improving the resolution of an image.
  • the transformed learning image 1010 may be partitioned into a plurality of local patches 1020.
  • Each of the plurality of local patches 1020 can be applied with a transform function (e.g., a DCT transform function), so that the frequency map 1030 can be generated.
  • the generated reference frequency map 1030 may then be vectorized to generate a reference coefficient map 1040 for each of the frequency channels.
  • a reference coefficient map 1045 corresponding to the reference image for learning 600 can be generated based on the reference coefficient map 1040 corresponding to each of the plurality of local patches 1020.
  • the reference frequency map may include the reference coefficient maps 1040 and 1045.
  • a reference coefficient map 1040 corresponding to each of the plurality of local patches 1020 may be input to the class-coefficient conversion module 230 to generate a reference class map 1050.
  • a reference class map 1055 corresponding to the learning reference image 600 can be generated. This reference class map 1055 can be used to learn the second artificial neural network included in the frequency processing module 140.
  • a computing device that processes images for improved image quality as described herein may be a wireless telephone, a cellular telephone, a laptop computer, a wireless multimedia device, a wireless communication PC (personal computer) card, a PDA, an external modem or internal modem, Devices communicating over a wireless channel, and the like.
  • a device may be an access terminal (AT), an access unit, a subscriber unit, a mobile station, a mobile device, a mobile unit, a mobile telephone, a mobile, a remote station, a remote terminal, a remote unit, a user device, Handheld devices, and the like.
  • Any device described herein may have memory for storing instructions and data, as well as hardware, software, firmware, or combinations thereof.
  • processing units used to perform the techniques may be implemented within one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), Field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, A computer, or a combination thereof.
  • ASICs application specific integrated circuits
  • DSPs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs Field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, A computer, or a combination thereof.
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • the processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM) on a computer readable medium such as a programmable read-only memory (EPROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a compact disc May be implemented as stored instructions.
  • the instructions may be executable by one or more processors and may cause the processor (s) to perform certain aspects of the functions described herein.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates the transfer of a computer program from one place to another.
  • the storage media may be any available media that can be accessed by a computer.
  • such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, Or any other medium which can be accessed by a computer.
  • any connection is properly termed a computer readable medium.
  • Disks and discs as used herein include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disc, and Blu-ray disc, The discs reproduce data optically, while discs reproduce data optically using a laser. Combinations of the above should also be included within the scope of computer readable media.
  • the software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • An exemplary storage medium may be coupled to the processor such that the processor can read information from, or write information to, the storage medium.
  • the storage medium may be integrated into the processor.
  • the processor and the storage medium may reside in an ASIC.
  • the ASIC may be present in the user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.
  • aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices.
  • Such devices may include PCs, network servers, and handheld devices.
  • a computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like.
  • the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
  • functional programs, codes, and code segments for implementing embodiments can be easily inferred by programmers of the art to which the present invention pertains.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 개시는 컴퓨팅 장치 상에서 구동되며, 이미지 품질을 향상시키기 위하여 이미지를 처리하는 방법에 관한 것이다. 이러한 방법은, 이미지를 제1 인공신경망에 입력 변수로 입력하여 피쳐 맵을 생성하는 단계 및 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵을 생성하는 단계를 포함할 수 있다. 또한, 이러한 방법은, 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 추정 클래스 맵(class map)을 생성하는 단계, 추정 클래스 맵을 추정 주파수 맵(estimated frequency map)로 변환하는 단계, 추정 주파수 맵을 피쳐 맵에 결합하여 결합 피쳐 맵을 생성하는 단계 및 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 출력 이미지를 생성하는 단계를 더 포함할 수 있다.

Description

이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
본 개시는 이미지 품질을 향상시키기 위하여 이미지를 처리하는 기술에 관한 것이다.
최근 인터넷이 일상생활에 필수요소가 되면서, 압축된 이미지의 필요성이 증대되었다. 나아가, 고해상도의 이미지 또는 비디오에 대한 관심이 높아짐에 따라서 특정 해상도의 이미지를 입력받아서 이미지의 해상도를 향상시키는 기술에 많은 연구가 있다. 그 이유는 이미지의 품질과 데이터의 양은 밀접하기 때문이다. 이미지 압축 기술을 이용하거나 또는 비교적 낮은 해상도의 이미지를 수신하여 통신되는 데이터를 줄임으로써 네트워크 부하를 감소시키는 것은 널리 이용되고 있다.
그런데, 압축된 이미지는 경계가 흐릿한 문제가 있고, 압축 기술은 한 번 압축하게 되면 원래의 이미지로 복원하는 역변환 기술을 제공하지 않으므로 압축된 이미지가 유통되다가 선명한 이미지가 필요하더라도 이를 복원하는 것은 어려운 과제였다. 따라서 압축된 이미지로부터 고품질 이미지를 복원하는 것은 최근의 컴퓨터 비전 기술에서 중요한 분야가 되었다. 이러한 복원 문제는 이미지의 해상도를 높이는 기술에서도 중요한 문제로 인식되고 있다.
다양한 이미지 압축 기술 중에서 JPEG는 가장 일반적으로 쓰이는 손실압축 포맷이다. JPEG 포맷은 이미지를 DCT변환하여 주파수 영역으로 변환하고 양자화하여 압축한다. DCT 변환에 의하면 저주파수 영역에 신호가 몰려 있고 고주파수 영역에는 신호가 약하다. 저 주파수 영역은 이미지 내의 색의 변화가 약한 것이고, 고주파수 영역은 이미지 내의 색의 변화가 강한 것을 나타낸다. 양자화는 고주파수 영역을 최대한 무시하는 방법으로 처리된다. 사람의 눈은 저주파수 성분에는 민감하게 반응하지만, 고주파수 성분에는 민감하지 않기 때문에 고주파수 영역을 좀 생략하더라도 화질의 차이를 잘 느끼지 못하게 된다. 따라서 JPEG 포맷은 고주파수 영역의 세세한 정보를 제거함으로써 손실압축의 효과가 발생한다.
손실압축(lossy compression)이란 데이터의 일부를 제거하는 과정을 통해 용량을 감축하는 것을 말한다. 그러므로, 이미지 복원에서 압축의 역공정(reverse process)은 기본적으로 입력 이미지에 없는 데이터를 생성하는 문제이고, 따라서 불량한 결과가 나오는 문제를 수반한다. 또한 대다수의 경우, 주어진 입력 이미지로부터 그에 대응하여 출력 가능한 이미지가 복수개가 존재하는 문제도 있었다.
CNN(convolutional neural networks) 기술이 컴퓨터 비전기술 분야에 적극 적용되면서, CNN을 이용하여 손실압축으로 손실된 정보를 복구하기 위한 시도가 많았다. CNN을 이용한 종래 기술은 주로 CNN을 이용한 지도학습(supervised learning)을 통해 입력 이미지로부터 출력 이미지로 연결하는 매핑 함수(mapping function)을 개략적으로 구하는 것이었다. 대부분의 경우, 출력 이미지와 타겟 이미지 사이의 MSE(mean squared error) 또는 MAE(mean absolute error)를 최소화하는 방식이었다. 그러나 이러한 접근들에 의한 출력 이미지는 사람의 눈에는 흐릿하게 보이는 문제가 있다. 이것은 이미지의 고주파수 영역에 세세한 정보가 소멸되었기 때문이다. 반면, MSE나 MAE와 같은 손실 최소화 함수는 출력과 타겟 사이의 픽셀값 차이에 기초하기 때문에 손실된 고주파수 영역인 경계나 텍스쳐를 효과적으로 복원하기에 어려움이 있었다.
본 개시는, 학습된 인공신경망을 이용하여 압축되어 흐릿한 이미지를 더욱 선명한 이미지로 복원하거나 특정 해상도를 갖는 이미지의 해상도를 향상시키는 방법 및 그러한 인공신경망을 학습하는 방법을 제공하는 것을 그 목적으로 한다.
본 개시의 일 실시예에 따르면, 컴퓨팅 장치 상에서 구동되며, 이미지 품질을 향상시키기 위하여 이미지를 처리하는 방법은, 이미지를 제1 인공신경망에 입력 변수로 입력하여 피쳐 맵(feature map)을 생성하는 단계 및 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵(estimated class probability distribution map)을 생성하는 단계를 포함할 수 있다. 또한, 이러한 방법은, 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 추정 클래스 맵(class map)을 생성하는 단계, 추정 클래스 맵을 추정 주파수 맵(estimated frequency map)로 변환하는 단계, 추정 주파수 맵을 피쳐 맵에 결합하여 결합 피쳐 맵을 생성하는 단계 및 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 출력 이미지를 생성하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 따르면, 컴퓨팅 장치 상에서 구동되며, 이미지 품질을 향상시키기 위한 클래스 맵을 생성하는 데에 사용되는 인공신경망의 학습 방법은, 학습용 참조 이미지에 변환함수를 적용함으로써, 주파수 채널의 각각에 대한 참조 주파수 맵을 생성하는 단계 및 참조 주파수 맵을 참조 클래스 맵(ground truth class map)으로 변환하는 단계를 포함할 수 있다. 이러한 인공신경망의 학습 방법은 학습용 참조 이미지에 대응하는 학습용 이미지를 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 학습용 추정 클래스 확률 분포 맵을 생성하는 단계, 학습용 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 학습용 추정 클래스 맵을 생성하는 단계 및 학습용 추정 클래스 맵과 참조 클래스 맵 사이의 손실(Loss)을 최소화하도록 인공신경망을 학습하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 이미지 품질을 향상시키기 위하여 이미지를 처리하는 컴퓨팅 장치는, 이미지를 제1 인공신경망에 입력 변수로 입력하여 피쳐 맵을 생성하도록 구성된 인코더, 이미지를 수신하고, 이미지를 기초로 추정 주파수 맵을 생성하도록 구성된 주파수 처리 모듈, 추정 주파수 맵을 피쳐 맵에 결합하여 결합 피쳐 맵을 생성하도록 구성된 결합 모듈, 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 출력 이미지를 생성하도록 구성된 디코더를 포함할 수 있다. 주파수 처리 모듈은, 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵을 생성하도록 구성된 분류기, 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 추정 클래스 맵을 생성하도록 구성된 클래스 결정 모듈 및 추정 클래스 맵을 추정 주파수 맵(estimated frequency map)로 변환하도록 구성된 클래스-계수 변환 모듈을 포함할 수 있다.
본 개시의 일부 실시예에 따르면, 클래스 확률 분포 맵을 생성하고 이용함으로써 압축된 이미지를 복원하거나 이미지의 해상도를 높이는데 있어서 회귀(regression)가 아닌 분류하는 기술을 이용함으로써 컴퓨터의 부하를 최소화하면서도 복원된 이미지 또는 해상도가 높은 이미지를 얻을 수 있다.
본 개시의 일부 실시예에 따르면, 학습된 인공신경망을 통하여 손실된 데이터를 복원함에 있어 픽셀 영역을 주파수 영역으로 변환하여 취급함으로써, 손실된 고주파수 영역의 부분을 복원할 수 있거나, 해상도가 높은 이미지를 생성할 수 있는 효과가 있다.
본 개시의 일부 실시예에 따르면, 학습용 참조 이미지를 변환 처리하여 경계 및 텍스쳐에 집중하여 학습하고 결과물을 생성하도록 함으로써, 경계 및 텍스쳐가 더욱 선명한 복원 이미지나 해상도가 높은 이미지를 얻을 수 있다.
도 1은 본 개시의 일 실시예에 따라 컴퓨팅 장치 상에서 구동되는 이미지 품질을 향상시키기 위하여 이미지를 처리하는 방법을 나타내는 개략도이다.
도 2는 본 개시의 일 실시예에 따른 이미지 품질을 향상시키기 위하여 이미지를 처리하는 컴퓨팅 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 주파수 처리 모듈이 학습된 인공신경망에 이미지를 입력 변수로 입력하여 추정 클래스 확률 분포 맵(estimated discrete class probability distribution map)을 생성하고, 이를 기초로 추정 클래스 맵 및 추정 계수 맵을 생성하는 방법을 나타내는 개략도이다.
도 4는 본 개시의 일 실시예에 따른 인공신경망이 학습하는 방법을 나타내는 개략도이다.
도 5는 본 개시의 일 실시예에 따른 주파수 처리 모듈의 분류기가 추정 클래스 확률 분포 맵을 생성하는 방법을 나타내는 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 주파수 처리 모듈이 참조 이미지로부터 참조 계수 맵 및 참조 클래스 맵을 생성하는 방법을 나타내는 개략도이다.
도 7은 본 개시의 일 실시예에 따른 주파수 처리 모듈의 제2 인공신경망을 학습하는 방법을 나타내는 개략도이다.
도 8은 본 개시의 일 실시예에 따른 장치가, 인코더가 생성한 학습용 피쳐 맵에 주파수 처리 모듈 모듈이 생성한 학습용 추정 주파수 맵을 결합하고, 학습용 결합된 피쳐 맵을 기초로 학습용 출력 이미지를 생성하여 학습용 참조 이미지와의 손실을 구하여 학습하는 방법을 나타내는 개략도이다.
도 9는 본 개시의 일 실시예에 따른 장치가, 인코더가 생성한 학습용 피쳐 맵에 참조 주파수 맵을 결합하고, 학습용 결합된 피쳐 맵을 기초로 학습용 출력 이미지를 생성하여 학습용 참조 이미지와의 손실을 구하여 학습하는 방법을 나타내는 개략도이다.
도 10은 본 개시의 일 실시예에 따른 장치가 학습용 참조 이미지를 변환하여 변환된 학습용 참조 이미지를 기초로 참조 계수 맵 및 참조 클래스 맵을 생성하는 방법을 나타내는 개략도이다.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부" 또는 "모듈"이라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부" 또는 "모듈"은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 "모듈"은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 "모듈"은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 "모듈"은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 "모듈"들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 "모듈"들로 결합되거나 추가적인 구성요소들과 "부" 또는 "모듈"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부" 또는 "모듈"은 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서"는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서"는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서"는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
또한, 본 명세서에서, 용어 "서버" 또는 "클라이언트"는 "서버 장치" 또는 "클라이언트 장치"를 각각 포함할 수 있다.
또한, 용어 "메모리"는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
또한, 용어 "이미지"는, 하나 이상의 픽셀을 포함한 이미지를 가리키며, 전체 이미지를 복수 개의 로컬 패치로 분할한 경우, 분할된 하나 이상의 로컬 패치를 지칭할 수 있다.
또한, 용어 "맵(map)"은 복수의 숫자들의 집합을 지칭하는 것으로서, 예를 들어, 맵은 복수의 숫자를 행렬 또는 벡터의 형태로 나타낼 수 있다. 또한, "XX 맵"은 "XX"를 나타내거나 특징화하는 수치들의 집합을 지칭할 수 있다.
본 개시에서는 이미지를 복원하는 문제, 더 구체적으로는 주로 JPEG 압축된 이미지 내의 사물의 경계 또는 텍스쳐를 복원하는 문제의 해결방법이 제공된다. 이미지 압축과정에서 손실된 고주파수 영역을 명확하게 복원하기 위하여, 이미지 복원의 문제를 주파수 도메인에서 주로 다룬다. 이 과정에서 크로스 엔트로피 로스(cross entropy loss)를 이용하여 학습된 인공신경망을 통해 주파수 영역에서의 확률 분포가 추출된다. 본 개시에서는 적대적 학습(adversarial training)을 이용하는 종래 기술과 달리, 이미지 복원의 문제를 분류(classification)의 문제로 취급하여 주파수 영역의 계수의 결정을 주파수 구간, 즉 양자화된 클래스(class)를 구하는 것으로써 해결한다.
이미지 품질을 향상시키기 위하여 이미지를 처리하는 기술 중, 손실 압축된 이미지를 복원하는 문제는 대부분의 경우, 주어진 입력 이미지로부터 그에 대응하여 출력 가능한 이미지가 복수개가 존재하므로 그 문제해결은 가능한 출력 이미지 중 가장 적합한 것을 선택하는 방식이다. 그렇다면, 이미지 복원의 문제는 입력 이미지에 따른 확률 분포를 구하는 문제로 파악할 수 있다. 따라서 인공신경망을 통하여 복원 이미지의 주파수 데이터에 관한 확률 분포를 획득하는 방식으로 이미지 복원 문제를 해결할 수 있다. 더 구체적으로는, 복수 개의 양자화된 클래스에 대한 이산 확률 분포(discrete probability distribution)를 이용할 수 있다. 본 개시의 일 실시예에서는 추정(estimated) 클래스 확률 분포 맵을 생성하여 이미지를 복원하는 방법이 제공된다. 이러한 압축된 이미지를 복원하는 데에 사용하는 기술적 구성은 이미지의 해상도를 높이는 구성에도 적용될 수 있다.
도 1은 본 개시의 일 실시예에 따라 컴퓨팅 장치 상에서 구동되는 이미지 품질을 향상시키기 위하여 이미지를 처리하는 방법(100)을 나타내는 개략도이다. 여기서, 컴퓨팅 장치는, 스마트폰이나 텔레비전 등의 임베디드 장치, 클라이언트 장치, 서버 장치, 이미지를 처리하는 방법(100)이 하드웨어 로직으로 구현된 프로세서를 장착한 장치 등을 포함할 수 있다.
이미지(110)는 손실 압축된 이미지이거나 특정 해상도(예시: Full HD 등)가 가진 이미지일 수 있다. 일 실시예에서, 손실 압축(lossy compression)은 이미지를 변환함수에 따라 변환하여 이미지 파일의 크기가 작아지면서 압축된 이미지(110)에 해당되는 데이터 또는 정보의 일부가 손실, 변형 등이 되는 것이다. 예를 들면, 압축된 이미지(110)는 JPEG, MPEG, H.264, Bilinear, Inter_Area 등에 따라 압축된 이미지일 수 있다.
본 개시에서 변환함수를 적용한다고 함은 수식에 따라 데이터를 변환하는 방식뿐만 아니라, 양자화, 샘플링 또는 이미지의 해상도를 높이는 방식 등을 포함하고, 이들의 조합을 포함할 수 있다. 일 실시예에 따르면, 이미지에 변환함수를 적용한다는 것은, 공간 영역(spatial domain)에서 주파수 영역(frequency domain)으로 변환하는 것을 포함할 수 있다. 예를 들면, 변환함수는 DCT(Discrete Cosine Transformation), DFT(Discrete Fourier Transformation), FFT(fast Fourier Transformation) 등을 포함할 수 있다. 다른 실시예에 따르면, 이미지에 변환함수를 적용한다는 것은, 이미지의 해상도를 향상시키는 것을 포함할 수 있다. 예를 들어, 변환함수는 이미지의 해상도를 향상시키는데 적용되는 임의의 함수(예: 보간법, 기계학습, 인공신경망에 적용되는 함수 등)를 포함할 수 있다.
또한, 양자화(Quantization)는 수치의 범위를 복수개의 구간으로 분할하여 각 구간에 해당하는 값들을 하나의 값에 대응시키는 것을 나타낼 수 있는데, 데이터 또는 수치 값에 양자화 행렬(Quantization Matrix) 등을 연산한 후, 값을 구간에 따라 하나의 값에 대응시키는 방식을 포함하는 개념일 수 있다. 예를 들면, 0에서 255에 해당하는 값을 4등분하여 0 내지 3에 대응시키는 것일 수 있고, 또는 JPEG에서 값의 특정 자리 이하나 소수점 이하를 올림, 반올림 또는 버림하는 것일 수 있다. 나아가, 양자화는 데이터 또는 수치 값에 양자화 행렬(Quantization Matrix) 등을 연산한 후, 값을 구간에 따라 처리하는 것을 포함할 수 있다.
나아가, 이미지(110)는 이미지 전체 또는 이미지 전체가 분할된 일부인 로컬 패치(Local Patch)를 나타낼 수 있다. 인공신경망의 효과적인 이용을 위하여 이미지를 분할하여 로컬 패치 단위로 입력 및 출력하는 경우가 일반적이다.
인코더(120)는 이미지(110)를 수신하여 추정 피쳐 맵(130)을 생성할 수 있다. 일 실시예에 따르면 인코더(120)는 학습된 인공신경망(제1 인공신경망)을 포함하고, 이미지(110)를 학습된 인공신경망에 입력 변수로 입력하여 추정 피쳐 맵(130)을 생성하도록 구성될 수 있다. 피쳐 맵(130)은 이미지의 특성을 나타내도록 구성된 복수의 수치들의 집합(예시: 행렬, 벡터)을 포함할 수 있다.
주파수 처리 모듈(140)은 이미지(110)를 수신하여 이미지(110) 내에 포함된 주파수들에 대한 양자화된 값으로 나타낸 클래스들을 산출하고, 산출된 클래스 값들을 기초로 주파수들을 추정할 수 있다. 예를 들어, 여기서 주파수들은 이미지 내의 고주파들을 주로 포함할 수 있다.
주파수 처리 모듈(140)은 이미지(110)를 수신하여 추정 주파수 맵(150)을 생성할 수 있다. 일 실시예에 따르면 주파수 처리 모듈(140)은 학습된 인공신경망(제2 인공신경망)을 포함하고, 이미지(110)를 학습된 인공신경망에 입력 변수로 입력하여 추정 주파수 맵(150)을 생성하도록 구성될 수 있다. 여기서, 주파수 맵(150)은 이미지의 특성을 주파수 영역에서 표현한 것으로서 행렬, 벡터 등의 다양한 형태일 수 있다. 이러한 주파수 맵(150)을 생성하기 위하여, 주파수 처리 모듈(140)은 이미지(110)를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵(estimated discrete class probability distribution map)을 생성할 수 있다. 여기서, 추정 클래스 확률 분포 맵은, 주파수 채널의 각각에 대한 클래스 각각에 대해 가지는 확률을 포함한 확률 분포를 포함할 수 있다. 여기서, 주파수 채널의 각각은 복수의 주파수 범위의 각각을 나타낼 수 있다. 일 실시예에 따르면, 각 주파수 채널은 동일한 주파수의 범위를 가질 수 있다. 다른 실시예에 따르면, 각 주파수 채널은 상이한 주파수의 범위를 가질 수 있다. 또한, 이러한 주파수 범위는 미리 결정될 수 있으며, 각 주파수 채널은 서로 중복된 주파수를 포함하지 않는다.
추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 주파수 처리 모듈(140)은 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 추정 클래스 맵을 생성하도록 구성될 수 있다. 주파수 처리 모듈(140)은 클래스와 계수 사이의 관계를 나타내는 맵을 포함할 수 있으며, 생성된 추정 클래스 맵이 이러한 맵에 입력되고, 그 결과, 추정 계수 맵(estimated coefficient map)으로 변환될 수 있다. 또한, 이렇게 생성된 추정 계수 맵은 추정 주파수 맵(estimated frequency map)으로 변환되고, 변환된 추정 주파수 맵은 인코더(120)로부터 생성된 추정 피쳐 맵(130)과 결합되어, 결합 추정 피쳐맵이 디코더(160)에 제공될 수 있다.
디코더(160)는 추정 주파수 맵(150)과 추정 피쳐 맵(130)이 결합된 결합 추정 피쳐 맵을 수신하여 출력 이미지(170)를 생성하도록 구성될 수 있다. 일 실시예에 따르면, 디코더(160)는 학습된 인공신경망(제3 인공신경망)을 포함하고, 결합된 피쳐 맵을 학습된 인공신경망에 입력 변수로 입력하여 출력 이미지(170)를 생성하도록 구성될 수 있다.
일 실시예에 따르면, 제1 인공신경망, 제2 인공신경망 및 제3 인공신경 중 적어도 두 개의 인공신경망은 동일 또는 유사한 내부 구성요소를 포함하도록 구성될 수 있다. 이와 달리, 제1 인공신경망, 제2 인공신경 및 제3 인공신경망의 각각은 상이한 내부 구성요소를 포함하도록 구성될 수 있다.
도 2는 본 개시의 일 실시예에 따른 이미지를 처리하는 컴퓨팅 장치(200)의 구성을 나타내는 블록도이다. 일 실시예에 따른, 이미지를 처리하는 컴퓨팅 장치(200)는 인코더(120), 주파수 처리 모듈(140), 결합 모듈(250), 디코더(160) 및 저장 모듈(260)을 포함할 수 있다.
인코더(120)는 이미지(110)로부터 추정 피쳐 맵(130)을 생성하고 이를 결합 모듈(250)에 제공하도록 구성될 수 있다. 일 실시예에 따르면, 인코더(120)의 구성은 분류기(210)의 일 구성인 피쳐 추출기(Feature Extractor)와 같이 CNN 등의 인공신경망의 컨벌루션 레이어(convolution layer)를 포함할 수 있다.
주파수 처리 모듈(140)은 이미지(110)를 수신하여 이미지(110)를 기초로 추정 주파수 맵(150)을 생성하도록 구성될 수 있다. 도 2에 도시된 바와 같이, 주파수 처리 모듈(140)은 분류기(210), 클래스 결정 모듈(220), 클래스-계수 변환 모듈(230) 및 계수 산출 모듈(240)을 포함할 수 있다.
분류기(210)는 이미지(110)를 수신하여 추정 클래스 확률 분포 맵(estimated class probability distribution map)을 생성하도록 구성될 수 있으며, 처리장치 등을 포함할 수 있다. 일 실시예에 따르면, 분류기(210)는 인공신경망을 포함하여 학습될 수 있고, 나아가 이를 통해 학습된 인공신경망을 포함할 수 있다. 예를 들면, 분류기(210)는 이미지를 처리하는 인공신경망(Artificial Neural Network)으로서 CNN 등을 포함할 수 있다.
클래스 결정 모듈(220)은 추정 클래스 확률 분포 맵의 각 확률 분포에서 하나의 클래스를 결정하여 추정 클래스 맵을 생성할 수 있다. 나아가, 추정 클래스 맵을 클래스-계수 변환 모듈로 제공할 수 있다. 학습의 과정에서는 추정 클래스 맵을 분류기로 제공하거나, 추정 클래스 맵과 참조 클래스 맵 사이의 손실을 구하여 분류기로 제공하도록 구성될 수 있다. 클래스 결정 모듈(220)은, 이미지가 로컬 패치인 경우 각 로컬 패치의 추정 클래스 맵들을 결합하여 전체 이미지의 추정 클래스 맵을 생성하도록 구성될 수 있다.
클래스-계수 변환 모듈(230)은 클래스 값을 계수 값으로 변환하거나 계수 값을 클래스 값으로 변환하도록 구성될 수 있다. 일 실시예에 따르면, 추정 클래스 맵을 추정 계수 맵으로 변환할 수 있고, 참조 계수 맵을 참조 클래스 맵으로 변환할 수 있다. 여기서 계수 맵이라 함은, 이미지의 특성을 주파수 영역의 계수들로 표현한 것으로서 계수의 행렬, 벡터 등의 다양한 형태일 수 있다. 나아가, 생성된 추정 계수 맵을 기초로 추정 주파수 맵을 생성할 수 있다. 예를 들면, 벡터 형태의 추정 계수 맵을 기초로 행렬 형태의 추정 주파수 맵을 생성할 수 있다. 이와 달리, 생성된 추정 계수 맵은 추정 주파수 맵으로서 이용될 수 있다.
일 실시예에 따르면, 계수 값을 클래스 값으로 변환하는 것은 일종의 양자화로서, 클래스 값은 복수 개의 불연속적인 값인 계수 값으로 변환될 수 있다. 예를 들면, 3 미만의 계수는 클래스 0으로, 3 ~ 6의 계수는 클래스 1로, 6 ~ 9의 계수는 클래스 2로, 9 ~ 12의 계수는 클래스 3으로, 12 ~ 15의 계수는 클래스 4로, 15 ~ 18의 계수는 클래스 5로, 30 초과의 계수는 클래스 6으로 변환할 수 있다. 본 예에서 클래스의 개수가 일곱 개인 것으로 표현하였으나, 클래스의 개수는 최적의 결과를 도출하도록 적절히 조절될 수 있다(예를 들어 홀수 갯수). 또한, 계수 범위는 예시적으로 기재된 것으로서, 클래스-계수 변환 모듈에 산출된 범위에 따라 임의의 수가 정해질 수 있다.
일 실시예에 따르면, 클래스 값을 계수 값으로 변환될 때 클래스 값은 클래스가 나타내는 구간의 대표 계수 값 등으로 변환할 수 있다. 예를 들면, 클래스 0은 계수 5로, 클래스 1은 계수 20으로, 클래스 2는 계수 35로 변환할 수 있다. 일 실시예에 따르면, 변환되는 계수 값을 정함에 있어서, 학습된 인공신경망을 이용하거나, 통계를 이용할 수 있다.
계수 산출 모듈(240)은 이미지를 수신하여 주파수 맵을 생성할 수 있다. 일 실시예에 따르면, 이러한 주파수 맵은 이미지의 계수 맵을 포함할 수 있다. 다른 실시예에 따르면, 이러한 주파수 맵을 생성하는 단계는 이미지의 계수 맵을 생성하는 단계를 포함할 수 있다. 예를 들어, 계수 산출 모듈(240)은 수신한 이미지를 변환 및/또는 벡터화하여 주파수 맵을 생성하고, 나아가 계수 맵을 생성할 수 있다. 이와 마찬가지로, 계수 산출 모듈(240)은 학습용 참조 이미지를 DCT변환하여 참조 주파수 맵으로 변환하고, 이를 벡터화하여 참조 계수 맵을 생성할 수 있다. 여기서, 학습용 참조 이미지는 학습 이미지에 대응되는 이미지를 포함할 수 있다. 일 실시예에 따르면, 학습 이미지가 압축된 이미지인 경우 학습용 참조 이미지는 학습이미지의 복원된 이미지를 포함할 수 있다. 다른 실시예에 따르면, 학습 이미지가 특정 해상도(예시: FHD)를 가진 이미지인 경우, 학습용 참조 이미지는 학습이미지보다 더 높은 해상도(예시: 4K or 8K)를 가진 이미지일 수 있다.
결합 모듈(250)은 피쳐 맵에 주파수 맵을 결합하여 결합된 피쳐 맵을 생성하고 이를 디코더에 제공할 수 있다. 여기서 결합이라 함은, 피쳐 맵과 주파수 맵을 상호 연관시켜 하나의 맵으로 만드는 것이다. 예를 들면, 결합은 접합(concatenate)이나 합, 행렬곱 등을 포함할 수 있다. 또한, 결합 모듈(250)은 별도의 인공 신경망에 계수 맵 또는 주파수 맵을 입력시켜서 피쳐 맵에 결합될 변환된 주파수 맵을 생성하도록 구성될 수 있다.
디코더(160)는 주파수 맵이 결합된 피쳐맵을 수신하여 출력 이미지를 생성할 수 있다. 여기서, 압축된 이미지가 입력 이미지로 제공된 경우, 출력 이미지는 압축된 이미지를 복원한 이미지를 포함할 수 있다. 이와 달리, 입력 이미지가 특정 해상도를 가진 이미지인 경우, 출력 이미지는 이미지의 해상도를 향상시킨 이미지를 포함할 수 있다. 일 실시예에 따르면, 디코더(160)는 학습된 인공신경망을 포함할 수 있다. 일 실시예에서, 디코더(160)는 출력 컨벌루션 레이어 이후 활성 함수(activation function)가 없다는 점을 제외하고는 인코더(120)와 대칭적으로 구성될 수 있다.
저장 모듈(260)은 프로그램 코드를 저장할 수 있다. 저장 모듈(260)은 프로그램 코드를 인코더, 디코더 및 분류기에 제공하거나, 처리된 프로그램 코드를 수신하여 저장하도록 구성될 수 있다. 예를 들면, HDD, SSD 등을 포함할 수 있다.
도 3은 본 개시의 일 실시예에 따른 주파수 처리 모듈(140)이 학습된 인공신경망에 이미지를 입력 변수로 입력하여 추정 클래스 확률 분포 맵을 생성하고, 이를 기초로 추정 클래스 맵 및 추정 계수 맵을 생성하는 방법을 나타내는 개략도이다. 주파수 처리 모듈(140)은 이미지(110)를 입력 받아 추정 계수 맵(345) 또는 추정 주파수 맵(150)을 생성할 수 있다. 일 실시예에 따르면, 이미지의 일부인 로컬 패치(310)가 입력되고, 주파수 처리 모듈(140)은 로컬 패치(310, Local Patch)의 추정 계수 맵 또는 추정 주파수 맵을 생성할 수 있다. 예를 들면, 로컬 패치(310)는 4x4, 8x8또는 16x16 픽셀로 이루어진 이미지의 분할된 일부일 수 있다. 이 경우, 이미지(110)에 포함된 모든 로컬 패치(310)들의 각각에 대해 반복적으로 수행하여 추정 계수 맵 또는 추정 주파수 맵을 생성할 수 있고, 생성된 추정 계수 맵 또는 추정 주파수 맵을 기초로 이미지(110)에 대한 추정 계수 맵(345) 또는 추정 주파수 맵(150)이 생성될 수 있다.
분류기(210)는 이미지(110)를 수신하도록 구성될 수 있다. 일 실시예에 따르면, 분류기(210)는 학습된 인공신경망에 이미지(110)를 입력 변수로 입력하여 추정 클래스 확률 분포 맵(325)을 출력 벡터로서 생성할 수 있다. 일 실시예에서, 이미지의 입력은 이미지 채널의 각각에 대해 행해질 수 있고, 이 경우 분류기(210)는 이미지 채널의 각각에 대한 추정 클래스 확률 분포 맵(325)을 생성할 수 있다.
추정 클래스 확률 분포 맵(325)은 주파수 영역에서 클래스 각각에 대해 가지는 확률을 포함한 확률 분포를 포함할 수 있다. 이미지의 입력이 이미지 채널 각각에 대해 이루어 지는 경우, 추정 클래스 확률 분포 맵(325)은 주파수 채널의 각각에 대한 클래스 각각에 대해 가지는 확률을 포함한 확률 분포를 포함할 수 있다. 도3에 예를 들어 도시된 (0.10 ... 0.02)는 해당 데이터가 클래스 각각에 대해 가지는 확률의 분포를 나타낼 수 있다. 이 것은, 첫 번째 클래스에 해당될 확률이 10%이고, 마지막 클래스에 해당될 확률이 2%임을 나타낼 수 있다. 도3의 실시예에서 추정 클래스 확률 분포 맵(325)은 주파수 채널의 각각에 대한 클래스 각각에 대해 가지는 확률을 포함한 확률의 분포들을 포함할 수 있다.
클래스 결정 모듈(220)은 추정 클래스 확률 분포 맵(325)을 수신하고 이에 포함된 확률 분포를 기초로 확률 분포 각각마다 클래스를 결정하여 추정 클래스 맵(335)을 생성할 수 있다. 로컬 패치의 추정 클래스 확률 분포 맵(320)을 수신한 경우 로컬 패치의 추정 클래스 맵(330)을 생성할 수 있다. 일 실시예에 따르면, 클래스 결정 모듈(220)은 일정한 함수에 따라 클래스를 결정할 수 있다. 예를 들면, 클래스 결정 모듈(220)은 각각의 확률 분포 중에서 가장 높은 확률의 클래스로 결정하는 argmax 함수를 포함할 수 있다. 도3에서는 7개의 클래스(0 내지 6)에 대한 확률 분포 중에서 가장 높은 확률을 가진 클래스를 선택한 것을 도시하였다. 도3의 추정 클래스 맵(330)은 (0.10 ... 0.02)의 확률 분포 중에서 가장 높은 확률을 가진 클래스 3이 결정되고, (0.01 ... 0.91)의 확률 분포 중에서 가장 높은 확률을 가진 클래스 6이 결정된 것을 나타낸다. 추정 클래스 확률 분포 맵(325)은 클래스 결정 모듈에 의해 처리됨으로써 추정 클래스를 데이터로 포함하는 추정 클래스 맵(335)이 생성될 수 있다. 로컬 패치(310) 단위로 분류기(210)에 수신되는 경우 생성된 로컬 패치의 추정 클래스 맵(330)들을 결합하여 이미지 전체의 추정 클래스 맵(335)을 생성할 수 있다. 클래스 결정 모듈(220)에 이미지 채널의 각각에 대한 추정 클래스 확률 분포 맵(325)이 수신된 경우, 클래스 결정 모듈(220)은 이미지 채널의 각각에 대한 추정 클래스 맵(335)을 생성할 수 있다.
클래스-계수 변환 모듈은 클래스를 계수로 변환한다. 도3에서는 로컬 패치의 추정 클래스 맵(330)이 클래스-계수 변환 모듈(230)에 입력되어 로컬 패치의 추정 계수 맵(340)이 생성되는 것을 도시하였다. 도면에서 클래스 3에 대응하는 값인 211.3로 계수가 결정되고, 클래스 6에 대응하는 값인 0.027로 계수가 결정되어 클래스 값들은 계수 값으로 변환되었다. 클래스-계수 변환 모듈(230)에 이미지 채널의 각각에 대한 추정 클래스 맵(335)이 수신된 경우, 클래스-계수 변환 모듈(230)은 이미지 채널의 각각에 대한 추정 클래스 맵(345)을 생성할 수 있다.
도 4는 본 개시의 일 실시예에 따른 인공신경망이 학습하는 방법을 나타내는 개략도이다. 인공신경망(400)은, 머신러닝(Machine Learning) 기술과 인지과학에서, 생물학적 신경망의 구조에 기초하여 구현된 통계학적 학습 알고리즘 또는 그 알고리즘을 실행하는 구조이다. 즉, 인공신경망(400)은, 생물학적 신경망에서와 같이 시냅스의 결합으로 네트워크를 형성한 인공 뉴런인 노드(Node)들이 시냅스의 가중치를 반복적으로 조정하여, 특정 입력에 대응한 올바른 출력과 추론된 출력 사이의 오차가 감소되도록 학습함으로써, 문제 해결 능력을 가지는 머신러닝 모델을 나타낸다.
일반적으로 인공신경망은 다층의 노드들과 이들 사이의 연결로 구성된 다층 퍼셉트론(MLP: multilayer perceptron)으로 구현된다. 본 실시예에 따른 인공신경망(400)은 MLP를 포함하는 다양한 인공신경망 구조들 중의 하나를 이용하여 구현될 수 있다. 도 4에 도시된 바와 같이, 인공신경망(400)은, 외부로부터 입력 신호 또는 데이터(410)를 수신하는 입력층(420), 입력 데이터에 대응한 출력 신호 또는 데이터(450)를 출력하는 출력층(440), 입력층(420)과 출력층(440) 사이에 위치하며 입력층(420)으로부터 신호를 받아 특성을 추출하여 출력층(440)으로 전달하는 n개의 은닉층(430_1 내지 430_n)으로 구성된다. 여기서, 출력층(440)은, 은닉층(430_1 내지 430_n)으로부터 신호를 받아 외부로 출력한다.
인공신경망(400)의 학습 방법에는, 교사 신호(정답)의 입력에 의해서 문제의 해결에 최적화되도록 학습하는 지도 학습(Supervised Learning) 방법과, 교사 신호를 필요로 하지 않는 비지도 학습(Unsupervised Learning) 방법이 있다. 본 개시에 따른 학습된 인공신경망을 이용한 분류기(210)는 이미지의 추정 클래스 확률 분포 맵(325) 정보를 제공하기 위하여 지도 학습(Supervised Learning)을 이용하여, 입력 이미지에 대한 분석을 수행하고, 이미지 품질 향상에 관한 정보(예를 들어, 복원에 관한 정보, 해상도 향상에 관한 정보)를 추출할 수 있는 인공신경망(400)을 학습시킨다. 이렇게 학습된 인공신경망(400)은, 수신한 이미지에 응답하여 추정 클래스 확률 분포 맵(325)을 생성함으로써, 출력 이미지(170)를 생성할 기초를 제공할 수 있다.
일 실시예에 따르면, 도 4에 도시된 바와 같이, 추정 클래스 확률 분포 맵(325)을 추출할 수 있는 인공신경망(400)의 입력변수는, 이미지(110)가 될 수 있다. 예를 들어, 인공신경망(400)의 입력층(420)에 입력되는 입력변수는, 이미지(110)를 하나의 벡터 데이터요소로 구성한, 이미지 벡터(410)를 포함할 수 있다.
한편, 인공신경망(400)의 출력층(440)에서 출력되는 출력변수는, 추정 클래스 확률 분포를 나타내는 벡터가 될 수 있다. 일 실시예에 따르면, 출력변수는 추정 클래스 확률 분포 맵 벡터(450)로 구성될 수 있다. 예를 들어, 추정 클래스 확률 분포 맵 벡터(450)는 이미지(110)의 주파수 채널의 각각에 대한 클래스 각각에 대해 가지는 확률 분포를 데이터 요소로 포함할 수 있다.
이와 같이 인공신경망(400)의 입력층(420)과 출력층(440)에 복수의 입력변수와 대응되는 복수의 출력변수를 각각 매칭시켜, 입력층(420), 은닉층(430_1 내지 430_n) 및 출력층(440)에 포함된 노드들 사이의 시냅스 값을 조정함으로써, 특정 입력에 대응한 올바른 출력을 추출할 수 있도록 학습할 수 있다. 이러한 학습과정을 통해, 인공신경망(400)의 입력변수에 숨겨져 있는 특성을 파악할 수 있고, 입력변수에 기초하여 계산된 출력변수와 목표 출력 간의 오차가 줄어들도록 인공신경망(400)의 노드들 사이의 시냅스 값(또는 가중치)를 조정할 수 있다. 이렇게 학습된 인공신경망(400)을 이용하여, 입력된 이미지에 응답하여, 추정 클래스 확률 분포 맵(325)이 생성될 수 있다.
다른 실시예에 따르면, 인공신경망(400)의 입력변수는, 이미지의 분할된 일부인 로컬 패치가 될 수 있다. 인공신경망(400)의 입력층(420)에 입력되는 입력변수는, 로컬 패치 벡터가 될 수 있다. 이 때, 인공신경망(400)의 출력층(440)에서 출력되는 출력변수는, 로컬 패치의 추정 클래스 확률 분포 맵을 나타내는 벡터가 될 수 있다.
또 다른 실시예에 따르면, 출력 이미지를 생성하는 인공신경망(400)의 입력변수는, 주파수 맵이 결합된 피쳐 맵이 될 수 있고, 인공신경망(400)의 출력층(440)에서 출력되는 출력변수는, 출력 이미지 벡터가 될 수 있다.
도 5는 본 개시의 일 실시예에 따른 주파수 처리 모듈의 분류기(210)가 추정 클래스 확률 분포 맵을 생성하는 방법을 나타내는 흐름도이다. 일 실시예에 따르면, 분류기(210)는 피쳐 추출기(510, Feature Extractor) 및 복수 스테이지 블록(520, Stage Blocks)을 포함할 수 있다. 일 실시예에서, 피쳐 추출기(510) 및 복수의 스테이지 블록(520)의 각각은 CNN에서 제공되는 구성 요소들의 조합, 도 5에서 세부적 구성은 도시된 예와 달리 다양한 변형 예로 구성될 수 있다.
피쳐 추출기(510)는 이미지(110)를 수신하여 피쳐 맵을 생성하고 이를 복수 스테이지 블록(520)에 제공할 수 있다. 일 실시예에 따르면, 피쳐 맵을 생성하는 과정은 각각 복수개의 컨벌루션(convolution), 활성 함수, 배치 정규화(batch normalization) 및 레지듀얼 블록을 포함할 수 있다. 일 실시예에서, 활성 함수는 약한 렐루(Leaky ReLU)일 수 있다.
복수 스테이지 블록(520)은 복수 개의 스테이지 블록들의 연속된 구성으로서, 피쳐 맵을 수신하고, 추출 클래스 확률 분포 맵(
Figure PCTKR2019000978-appb-I000001
)을 생성할 수 있다. 도 5에서 복수 스테이지 블록(520)의 세부 구성은 도시된 예에 국한되지 않고 다양한 변형 예가 가능하다. 스테이지 블록의 개수는 효과적인 결과 도출을 위하여 다양하게 결정될 수 있는데 예를 들면, 복수 스테이지 블록(520)은 2개의 스테이지 블록으로 구성될 수 있다. 추출 클래스 확률 분포 맵(
Figure PCTKR2019000978-appb-I000002
)은 클래스 결정 모듈(220)을 통해 추출 클래스 맵(
Figure PCTKR2019000978-appb-I000003
)이 생성될 수 있다.
일 실시예에서, 각 스테이지 블록들은 피쳐 추출기(510)로부터 피쳐 맵을 수신할 수 있다. 스테이지 블록은 주파수 채널 각각에 대한 클래스 확률 분포 맵을 생성하도록 구성될 수 있다. 나아가 스테이지 2 이후의 스테이지 블록은 이전 스테이지 블록에서 출력된 클래스 확률 분포 맵에 피쳐 맵을 결합하여 이를 입력 이미지로 삼을 수 있다. 여기서 클래스 확률 분포 맵은 주파수 채널 각각에 대한 소프트맥스(softmax)의 출력일 수 있다. 클래스 확률 분포는 클래스 각각에 대해 가지는 확률을 포함한 확률 분포를 포함할 수 있다.
일 실시예에 따르면, 분류기(210)의 인공신경망을 학습하는 데에 있어 크로스 엔트로피 로스를 이용할 수 있다. 일 실시예에서, 스테이지 각각에서의 클래스 손실 L c는 모든 공간 블록과 주파수 채널에서의 크로스 엔트로피 로스의 평균으로써 계산될 수 있다. 크로스 엔트로피 로스는 클래스 확률 분포 맵과 참조 클래스 맵을 이용하여 산출될 수 있다. 그리고 최종 손실 L c는 클래스 손실 각각의 평균으로 계산될 수 있다. 크로스 엔트로피 로스는 쿨백-라이블러 발산(KL-divergence)과 밀접하고, 추정 클래스 확률 분포 맵을 참조 클래스 맵에 일치시키는 데에 있어 매우 중요할 수 있다.
도 6은 본 개시의 일 실시예에 따른 주파수 처리 모듈(140)이 학습용 참조 이미지(600)로부터 참조 계수 맵(625) 및 참조 클래스 맵(635)을 생성하는 방법을 나타내는 개략도이다. 학습용 참조 이미지(600)는 지도 학습에서 참조(ground truth), 즉 정답으로 이용될 수 있다. 학습용 참조 이미지(600)는 학습의 다양한 단계에서 참조로서 이용될 수 있다. 예를 들어, 학습용 참조 이미지(600)로부터 생성된 참조 계수 맵(625), 참조 클래스 맵(635)이 학습을 위해 사용될 수 있다.
계수 산출 모듈(240)은 학습용 참조 이미지(600)에 변환함수를 적용함으로써 주파수 채널의 각각에 대한 학습용 참조 주파수 맵(610)으로 변환할 수 있다. 이러한 변환은 전술된 손실 압축된 이미지 및 특정 해상도를 가진 이미지 중 적어도 하나에서의 임의의 변환을 포함할 수 있다. 도 6에서는 JPEG 등과 같은 압축에 사용되는 DCT 변환을 예시로서 도시하였다. 또한, 계수 산출 모듈(240)은 학습용 참조 주파수 맵(610)을 벡터화하여 학습용 참조 계수 맵(620)을 생성할 수 있다. 벡터화는 예를 들면, nxn 행렬을 nxn 벡터로 나타내는 것일 수 있다. 예를 들면, ZIGZAG 알고리즘에 따라 행렬이 벡터화될 수 있다.
계수 산출 모듈(240)에 수신되는 학습용 참조 이미지(600)는 이미지 전체일 수도 있고, 로컬 패치일 수 있다. 이 경우 계수 산출 모듈(240)은 로컬 패치의 주파수 맵 및 로컬 패치의 참조 계수 맵(620)을 생성할 수 있다. 이에 따라, 로컬 패치의 참조 계수 맵(620)들을 결합하여 전체 학습용 참조 이미지에 대한 참조 계수 맵(625)을 생성할 수 있다. 일 실시예에 따르면, 참조 계수 맵(625)은 인코더(120)의 제1 인공신경망 및/또는 디코더(160)의 제3 인공신경망을 학습하는 데에 있어서 참조로서 이용될 수 있다. 제1 인공신경망 및/또는 제3 인공신경망의 학습은 아래 도 9를 참조하여 상세히 설명된다.
클래스-계수 변환 모듈(230)은 참조 계수 맵(625) 또는 로컬 패치의 참조 계수 맵(620)을 수신하여 참조 클래스 맵(635) 또는 로컬 패치의 참조 클래스 맵(630)을 생성할 수 있다. 클래스-계수 변환 모듈(230)은 복수의 로컬 패치(605)의 각각에 대한 참조 클래스 맵(630)들을 결합하여 이미지(600)에 대한 참조 계수 맵(625)을 생성할 수 있다. 일 실시예에 따르면, 참조 클래스 맵(635)은 주파수 처리 모듈(140)의 제2 인공신경망을 학습하는 데에 있어서 참조로서 이용될 수 있다.
도 7은 본 개시의 일 실시예에 따른 주파수 처리 모듈(140)의 제2 인공신경망을 학습하는 방법을 나타내는 개략도이다.
일 실시예에 따르면, 주파수 처리 모듈(140)의 분류기(210)는 학습용 이미지(710)를 학습된 제2 인공신경망에 입력하여 학습용 추출 클래스 확률 분포 맵(725)을 출력할 수 있다. 여기서, 학습용 이미지(710)는 압축된 이미지이거나 특정 해상도를 가진 이미지를 포함할 수 있다. 그리고 나서, 클래스 결정 모듈(220)은 출력된 학습용 추출 클래스 확률 분포 맵(725)에 입력되어 학습용 추출 클래스 맵(735)을 생성할 수 있다.
일 실시예에 따르면, 참조 클래스 맵(635)은 학습용 이미지(710)에 대응되는 학습용 참조 이미지로부터 생성될 수 있다. 이러한 참조 클래스 맵(635)이 학습용 이미지(710)로부터 생성되는 방법은 아래 도 10을 참조하여 상세히 설명된다. 그리고 나서, 학습용 추출 클래스 맵(735)과 참조 클래스 맵(635) 사이의 손실(L c)이 산출되고 이러한 손실(L c)이 최소화되도록 제2 인공신경망이 학습될 수 있다.
인공신경망을 이용하여 이미지를 복원함에 있어 참조 이미지와 출력 이미지 사이의 픽셀 간 손실을 중심으로 이를 최소화하는 접근은 경계가 흐릿한 결과를 보이는 문제가 있을 수 있다. 또한, 입력 이미지로부터 가능한 출력 이미지를 생성할 때 일 대 다(one-to-many)의 함수관계가 문제될 수 있다. 이러한 문제점을 극복하기 위하여 본 개시의 일 실시예에서의 인공신경망은 이미지 복원의 문제를 참조 이미지의 주파수 영역에서의 계수(coefficient)를 추정하는 문제로 다루고 있다. 구체적으로는 계수의 확률 분포를 추정하도록 인공신경망을 학습할 수 있다. 이러한 학습을 위하여, KL-divergence 기법이 적용될 수 있다. 이미지 복원에 이용되는 방정식에 KL-divergence 방식을 이용하면 MSE(Mean Square Error)를 이용한 경우와 비교해볼 때 더 우수한 효과를 가진다. 입력 이미지(예를 들어, 손실 압축 이미지 또는 특정 해상도를 가진 이미지)로부터 복수 개의 서로 다른 출력 이미지(예시: 복원 이미지, 해상도가 향상된 이미지 등)가 생성될 수 있는데, 예를 들어, 두 쌍의 원본 및 압축 이미지 셋을 학습용 샘플로 삼고 직접 타겟 이미지를 추정하도록 시도한다면 인공신경망은 학습에 곤란함이 생길 수 있다. 인공신경망은 하나의 출력을 남기기 때문에, 하나의 입력 이미지로부터 복수 개의 출력 이미지가 생성되는 문제를 해결하기에 적합하지 않을 수 있다. 반면에, 동일한 학습용 샘플로부터 확률 분포를 추정하도록 학습하는 경우에는 두 개의 피크를 갖는 이산 확률 분포(bimodal distribution)가 도출하도록 학습될 수 있다. 이러한 압축된 이미지를 복원하는 데에 사용하는 기술적 구성은 이미지의 해상도를 높이는 구성에도 적용될 수 있다.
일 실시예에 따르면, 분류기(210)는 변환함수의 주파수 영역의 계수에 대응하는 클래스의 각각에 대해 가지는 확률 분포 맵을 생성하도록 학습될 수 있다. 일 실시예에서, 클래스는 효과적인 결과를 도출하기 위해 적절히 설정될 수 있다. 예를 들어, 클래스의 중간 값이 계수 0을 포함하도록 클래스는 홀수 개로 지정될 수 있고, 인공신경망의 처리 속도 및 신뢰성있는 결과의 양 측면에서 우수하도록 클래스는 0 내지 6의 7개의 클래스를 가지도록 설정될 수 있다.
도 8은 본 개시의 일 실시예에 따른 장치가, 인코더(120)가 생성한 학습용 피쳐 맵(830)에 주파수 처리 모듈이 생성한 학습용 추정 주파수 맵(850)을 결합하고, 학습용 결합된 피쳐 맵을 기초로 학습용 출력 이미지(870)를 생성하여 학습용 참조 이미지(600)와의 손실을 구하여 학습하는 방법을 나타내는 개략도이다. 일 실시예에 따르면, 인코더(120) 및 디코더(160) 중 적어도 하나에 포함된 인공신경망을 학습하는 방법은, 먼저, 학습용 이미지(710)를 인코더(120)에 입력하여 학습용 피쳐 맵(830)을 생성할 수 있다. 이어서, 학습용 이미지(710)는 분류기(210)에 입력 변수로 입력되어 주파수 채널의 각각에 대한 학습용 추정 클래스 확률 분포 맵(725)을 생성할 수 있다.
일 실시예에 따르면, 클래스 결정 모듈(220)은 학습용 추정 클래스 확률 분포 맵(725)에 포함된 확률 분포를 기초로 주파수의 채널 각각에 대한 클래스를 결정하고, 결정된 클래스를 포함한 학습용 추정 클래스 맵(735)을 생성하도록 구성될 수 있다. 클래스-변환 모듈(230 또는 M)는 학습용 추정 클래스 맵(735)을 입력받아 학습용 추정 계수 맵(845)을 생성하도록 구성될 수 있다. 이러한 학습용 추정 계수 맵(845)은 학습용 추정 주파수 맵(850)로 변환될 수 있다. 이와 달리, 이러한 학습용 추정 계수 맵(845)은 학습용 추정 주파수 맵(850)으로 이용될 수 있다. 학습용 추정 주파수 맵(850)은 학습용 피쳐 맵(830)과 결합되어 학습용 결합된 피쳐 맵이 생성될 수 있다. 디코더(160)는 학습용 결합된 피쳐 맵을 제3 인공신경망의 입력 변수로 입력하여 학습용 출력 이미지(870)를 생성하도록 구성될 수 있다. 이렇게 생성된 학습용 출력 이미지(870)는 학습용 출력 이미지(870)와 대응되는 학습용 참조 이미지(600) 사이의 손실(loss)이 최소화되도록, 인코더(120) 및 디코더(160) 중 적어도 하나에 포함된 제1 인공신경망 및 제3 인공신경망 중 적어도 하나의 인공신경망이 학습될 수 있다.
인코더(120)는 입력 이미지의 피쳐 맵을 생성하지만, 주파수 처리 모듈(140)은 주파수 영역 데이터를 가지는 주파수 맵을 생성한다. 따라서 디코더(160)에 포함된 인공신경망은 주파수 영역에서 픽셀 영역(pixel domain)으로 매핑(mapping)하는 방법에 대해 학습한다.
이미지(110)는 저주파수의 데이터는 상당부분 손실되지 않고 남아 있을 수 있다. 그러므로, 손실된 고주파수의 데이터를 복원하기 위해 주파수 처리 모듈(140)을 통해 생성된 학습용 추정 주파수 맵(850)을 이용하되, 저주파수의 데이터는 수신된 이미지(110)의 데이터의 상당한 부분을 이용할 수 있다. 일 실시예에 따르면, 학습용 피쳐 맵(830)에 학습용 추정 주파수 맵(850)을 결합(concatenate)함에 있어서, 학습 추정 주파수 맵(850)의 데이터가 고주파수 영역의 데이터가 되도록 학습용 피쳐 맵(830)에 접합(concatenate)할 수 있다.
도 9는 본 개시의 일 실시예에 따른 장치가, 인코더가 생성한 학습용 피쳐 맵에 참조 주파수 맵을 결합하고, 학습용 결합된 피쳐 맵을 기초로 학습용 출력 이미지를 생성하여 학습용 참조 이미지와의 손실을 구하여 학습하는 방법을 나타내는 개략도이다. 학습용 이미지(710)는 학습용 참조 이미지(600)에 대응되는 이미지로서, 학습용 참조 이미지(600)의 입력 이미지(예를 들어, 압축된 이미지, 특정 해상도를 가진 이미지)를 나타낼 수 있다.
인코더(120)는 학습용 이미지(710)를 입력 받아서 제1 인공신경망을 이용하여 학습용 피쳐 맵(830)을 생성할 수 있다. 또한, 계수 산출 모듈(240)은 학습용 참조 이미지(600)에 변환함수를 적용함으로써, 주파수 채널의 각각에 대한 변환함수의 참조 주파수 맵(950)을 생성하도록 구성될 수 있다. 여기서, 참조 주파수 맵(950)은 주파수 채널의 각각에 대한 계수 맵이거나 이러한 계수 맵이 가공된 형태의 맵을 포함할 수 있다. 이어서, 계수 산출 모듈(240)로부터 생성된 참조 주파수 맵(950)이 학습용 피쳐 맵(830)에 결합되어 디코더(160)에 제공될 수 있다.
디코더(160)는 학습용 결합 피쳐 맵을 수신하고, 수신된 학습용 결합 피쳐 맵을 제3 인공신경망에 입력하여 학습용 출력 이미지(900)를 생성하도록 구성될 수 있다. 그리고 나서, 학습용 출력 이미지(900)와 학습용 참조 이미지(600) 사이의 손실을 최소화하도록 인코더(120)에 포함된 제1 인공신경망 및 디코더(160)에 포함된 제2 인공신경망 중 적어도 하나에 포함된 인공신경망이 학습될 수 있다.
학습용 추정 주파수 맵의 계수들이 학습을 통해 추정된 값이고, 클래스에 대응하는 대표 값이므로 2 단의 학습과정을 통해 학습하는 것은 정밀함이 다소 부족할 수 있다. 따라서, 인코더-디코더를 학습하는 과정에서 분류기(210)의 인공신경망에서 생성된 학습용 추정 클래스 확률 분포 맵(725)을 기초로 생성된 학습용 추정 주파수 맵(850)을 이용하여 학습용 출력 이미지를 생성하는 대신, 학습용 참조 이미지(600)를 변환하여 생성한 참조 주파수 맵(950)을 사용함으로써, 효과적이고 정밀한 출력 이미지를 생성하도록 학습할 수 있다.
도 10은 본 개시의 일 실시예에 따른 장치가 학습용 참조 이미지를 변환하여 변환된 학습용 참조 이미지를 기초로 참조 계수 맵 및 참조 클래스 맵을 생성하는 방법을 나타내는 개략도이다. 학습용 참조 이미지(600)는 객체의 경계 및 텍스쳐 중 적어도 하나가 부각되도록 변환될 수 있다. 일 실시예에 따르면, 학습용 참조 이미지(600) 내에 포함된 객체의 경계 및 텍스쳐 중 적어도 하나를 부각시키도록 학습용 참조 이미지를 변환하는 것은 컬러 이미지를 회색조로 변환하는 것을 포함할 수 있다. 이 경우, 컬러 이미지에 의하면 RGB의 세 개 채널을 각기 처리해야할 것을 회색조 채널 하나만으로 처리할 수 있다. 다른 실시예에 따르면, 라플라스 변환을 통하여 경계나 텍스쳐가 부각되도록 학습용 참조 이미지(600)가 변환될 수 있다. 이러한 학습 참조 이미지(600)의 변환을 통해 변환된 학습용 이미지(1010)가 생성될 수 있다. 또한, 손실 압축과정에서 주로 손실되는 고주파수 데이터는, 이미지 내의 객체의 경계나 텍스쳐를 나타내는 데에 사용된다. 이에 따라, 경계나 텍스쳐의 데이터에 중점을 두고 처리하게 되면 고주파수 데이터 중심으로 학습할 수 있고, 이를 이용하여 고주파수의 손실된 데이터가 효과적으로 복원될 수 있다. 이러한 복원 방식은 이미지의 해상도를 향상시키는 과정에도 적용될 수 있다.
일 실시예에 따르면, 변환된 학습 이미지(1010)는 복수의 로컬 패치(1020)으로 분할될 수 있다. 복수의 로컬 패치(1020)의 각각은 변환함수(예를 들어 DCT 변환함수)가 적용되어, 주파수 맵(1030)이 생성될 수 있다. 그리고 나서, 생성된 참조 주파수 맵(1030)을 벡터화하여 주파수 채널의 각각에 대한 참조 계수 맵(1040)이 생성될 수 있다. 복수의 로컬 패치(1020)의 각각에 대응하는 참조 계수 맵(1040)을 기초로 학습용 참조 이미지(600)에 대응하는 참조 계수 맵(1045)이 생성될 수 있다. 본 개시에서는, 참조계수 맵(1040, 1045) 및 참조 주파수 맵(1030)을 서로 상이한 구성으로 기재했지만, 참조 주파수 맵은 참조 계수 맵(1040, 1045)를 포함할 수 있다.
일 실시예에 따르면, 복수의 로컬 패치(1020)의 각각에 대응하는 참조 계수 맵(1040)이 클래스-계수 변환 모듈(230)에 입력되어 참조 클래스 맵(1050)이 생성될 수 있다. 이러한 참조 클래스 맵(1050)들을 결합함으로써, 학습용 참조 이미지(600)에 대응하는 참조 클래스 맵(1055)이 생성될 수 있다. 이러한 참조 클래스 맵(1055)은 주파수 처리 모듈(140)에 포함된 제2 인공신경망을 학습하는 데에 사용될 수 있다.
일반적으로, 본원에 설명된 이미지 품질 향상을 위하여 이미지를 처리하는 컴퓨팅 장치는, 무선 전화기, 셀룰러 전화기, 랩탑 컴퓨터, 무선 멀티미디어 디바이스, 무선 통신 PC (personal computer) 카드, PDA, 외부 모뎀이나 내부 모뎀, 무선 채널을 통해 통신하는 디바이스 등과 같은 다양한 타입들의 디바이스들을 나타낼 수도 있다. 디바이스는, 액세스 단말기 (access terminal; AT), 액세스 유닛, 가입자 유닛, 이동국, 모바일 디바이스, 모바일 유닛, 모바일 전화기, 모바일, 원격국, 원격 단말, 원격 유닛, 유저 디바이스, 유저 장비 (user equipment), 핸드헬드 디바이스 등과 같은 다양한 이름들을 가질 수도 있다. 본원에 설명된 임의의 디바이스는 명령들 및 데이터를 저장하기 위한 메모리, 뿐만 아니라 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합들을 가질 수도 있다.
본원에 기술된 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 당업자들은 더 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능성의 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들 (digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들 (programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들 (field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.
따라서, 본원의 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성의 조합으로서 구현될 수도 있다.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리 (random access memory; RAM), 판독 전용 메모리 (read-only memory; ROM), 불휘발성 RAM (non-volatile random access memory; NVRAM), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable PROM), 플래시 메모리, 컴팩트 디스크 (compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행가능할 수도 있고, 프로세서(들)로 하여금 본원에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.
소프트웨어로 구현되면, 상기 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.
예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크 (disk) 와 디스크(disc)는, CD, 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들 (disks) 은 보통 자기적으로 데이터를 재생하고, 반면 디스크들 (discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 커플링될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 컴포넌트들로서 존재할 수도 있다.
본 개시의 앞선 설명은 당업자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 당업자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.
비록 본 주제가 구조적 특징들 및/또는 방법론적 작용들에 특정한 언어로 설명되었으나, 첨부된 청구항들에서 정의된 주제가 위에서 설명된 특정 특징들 또는 작용들로 반드시 제한되는 것은 아님이 이해될 것이다. 오히려, 위에서 설명된 특정 특징들 및 작용들은 청구항들을 구현하는 예시적인 형태로서 설명된다.
이 명세서에서 언급된 방법은 특정 실시예들을 통하여 설명되었지만, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.

Claims (10)

  1. 컴퓨팅 장치 상에서 구동되며, 이미지 품질을 향상시키기 위하여 이미지를 처리하는 방법에 있어서,
    상기 이미지를 제1 인공신경망에 입력 변수로 입력하여 피쳐 맵(feature map)을 생성하는 단계;
    상기 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵(estimated class probability distribution map)을 생성하는 단계;
    상기 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 상기 주파수의 채널 각각에 대한 클래스를 결정하고, 상기 결정된 클래스를 포함한 추정 클래스 맵(class map)을 생성하는 단계;
    상기 추정 클래스 맵을 추정 주파수 맵(estimated frequency map)로 변환하는 단계;
    상기 추정 주파수 맵을 상기 피쳐 맵에 결합하여 결합 피쳐 맵을 생성하는 단계; 및
    상기 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 출력 이미지를 생성하는 단계를 포함하는,
    이미지 처리 방법.
  2. 제1항에 있어서,
    상기 출력 이미지는 상기 이미지를 복원한 이미지 및 상기 이미지의 해상도를 향상시킨 이미지 중 적어도 하나의 이미지를 포함하는, 이미지 처리 방법.
  3. 제1항에 있어서,
    학습용 이미지를 제1 인공신경망에 입력 변수로 입력하여 학습용 피쳐 맵을 생성하는 단계;
    상기 학습용 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 학습용 추정 클래스 확률 분포 맵을 생성하는 단계;
    상기 학습용 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 상기 주파수의 채널 각각에 대한 클래스를 결정하고, 상기 결정된 클래스를 포함한 학습용 추정 클래스 맵을 생성하는 단계;
    상기 학습용 추정 클래스 맵을 학습용 추정 주파수 맵으로 변환하는 단계;
    상기 학습용 추정 주파수 맵을 상기 학습용 피쳐 맵에 결합하여 학습용 결합 피쳐 맵을 생성하는 단계;
    상기 학습용 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 학습용 출력 이미지를 생성하는 단계; 및
    상기 학습용 출력 이미지와 상기 학습용 이미지에 대응하는 학습용 참조 이미지(ground truth image) 사이의 손실을 최소화하도록 상기 제1 인공신경망 및 상기 제3 인공신경망 중 적어도 하나를 학습하는 단계를 포함하는,
    이미지 처리 방법.
  4. 제1항에 있어서,
    학습용 이미지를 상기 제1 인공신경망에 입력 변수로 입력하여 학습용 피쳐 맵을 생성하는 단계;
    상기 학습용 이미지에 대응하는 학습용 참조 이미지에 변환함수를 적용함으로써, 주파수 채널의 각각에 대한 학습용 참조 주파수 맵을 생성하는 단계;
    상기 학습용 참조 주파수 맵을 상기 학습용 피쳐 맵에 결합하여 학습용 결합 피쳐 맵을 생성하는 단계;
    상기 학습용 결합 피쳐 맵을 상기 제3 인공신경망에 입력 변수로 입력하여 학습용 출력 이미지를 생성하는 단계; 및
    상기 학습용 출력 이미지와 상기 학습용 참조 이미지 사이의 손실을 최소화하도록 상기 제1 인공신경망 및 상기 제3 인공신경망 중 적어도 하나를 학습하는 단계를 포함하는,
    이미지 처리 방법.
  5. 제4항에 있어서,
    상기 학습용 참조 주파수 맵을 생성하는 단계는,
    상기 학습용 참조 이미지 내에 포함된 객체의 경계(edge) 및 텍스쳐(texture) 중 적어도 하나를 부각시키도록 상기 학습용 참조 이미지를 변환하여, 학습용 변환 참조 이미지를 생성하는 단계; 및
    상기 학습용 변환 참조 이미지에 상기 변환함수를 적용함으로써, 상기 주파수 채널의 각각에 대한 상기 변환함수의 참조 계수 맵을 생성하는 단계를 포함하는,
    이미지 처리 방법.
  6. 컴퓨팅 장치 상에서 구동되며, 이미지 품질을 향상시키기 위한 클래스 맵을 생성하는 데에 사용되는 인공신경망의 학습 방법에 있어서,
    학습용 참조 이미지에 변환함수를 적용함으로써, 주파수 채널의 각각에 대한 참조 주파수 맵을 생성하는 단계;
    상기 참조 주파수 맵을 참조 클래스 맵(ground truth class map)으로 변환하는 단계;
    상기 학습용 참조 이미지에 대응하는 학습용 이미지를 상기 인공신경망에 입력 변수로 입력하여 상기 주파수 채널의 각각에 대한 학습용 추정 클래스 확률 분포 맵을 생성하는 단계;
    상기 학습용 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 상기 주파수의 채널 각각에 대한 클래스를 결정하고, 상기 결정된 클래스를 포함한 학습용 추정 클래스 맵을 생성하는 단계; 및
    상기 학습용 추정 클래스 맵과 상기 참조 클래스 맵 사이의 손실(Loss)을 최소화하도록 상기 인공신경망을 학습하는 단계를 포함하는, 인공신경망 학습 방법.
  7. 제6항에 있어서
    상기 참조 주파수 맵을 생성하는 단계는,
    상기 학습용 참조 이미지 내에 포함된 객체의 경계 및 텍스쳐 중 적어도 하나를 부각시키도록 상기 학습용 참조 이미지를 변환하여, 학습용 변환 참조 이미지를 생성하는 단계; 및
    상기 학습용 변환 참조 이미지에 상기 변환함수를 적용함으로써, 상기 주파수 채널의 각각에 대한 상기 변환함수의 참조 계수 맵을 생성하는 단계를 포함하는,
    인공신경망 학습 방법.
  8. 이미지 품질을 향상시키기 위하여 이미지를 처리하는 컴퓨팅 장치에 있어서,
    상기 이미지를 제1 인공신경망에 입력 변수로 입력하여 피쳐 맵을 생성하도록 구성된 인코더;
    상기 이미지를 수신하고, 상기 이미지를 기초로 추정 주파수 맵을 생성하도록 구성된 주파수 처리 모듈;
    상기 추정 주파수 맵을 상기 피쳐 맵에 결합하여 결합 피쳐 맵을 생성하도록 구성된 결합 모듈; 및
    상기 결합 피쳐 맵을 제3 인공신경망에 입력 변수로 입력하여 복원 이미지를 생성하도록 구성된 디코더를 포함하고,
    상기 주파수 처리 모듈은,
    상기 이미지를 제2 인공신경망에 입력 변수로 입력하여 주파수 채널의 각각에 대한 추정 클래스 확률 분포 맵을 생성하도록 구성된 분류기;
    상기 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 상기 주파수의 채널 각각에 대한 클래스를 결정하고, 상기 결정된 클래스를 포함한 추정 클래스 맵을 생성하도록 구성된 클래스 결정 모듈;
    상기 추정 클래스 맵을 상기 추정 주파수 맵으로 변환하도록 구성된 클래스-계수 변환 모듈을 포함하는, 컴퓨팅 장치.
  9. 제8항에 있어서,
    학습용 참조 이미지에 변환함수를 적용함으로써, 주파수 채널의 각각에 대한 참조 주파수 맵을 생성하도록 구성된 계수 산출 모듈을 더 포함하고,
    상기 클래스-계수 변환 모듈은, 상기 참조 주파수 맵을 참조 클래스 맵으로 변환하도록 더 구성되고,
    상기 분류기는 상기 학습용 참조 이미지에 대응하는 학습용 이미지를 상기 제2 인공신경망에 입력 변수로 입력하여 상기 주파수 채널의 각각에 대한 학습용 추정 클래스 확률 분포 맵을 생성하도록 더 구성되고,
    상기 클래스 결정 모듈은 상기 학습용 추정 클래스 확률 분포 맵에 포함된 확률 분포를 기초로, 상기 주파수의 채널 각각에 대한 클래스를 결정하고, 상기 결정된 클래스를 포함한 학습용 추정 클래스 맵을 생성하도록 더 구성되고,
    상기 제2 인공신경망은, 상기 학습용 추정 클래스 맵과 상기 참조 클래스 맵 사이의 손실이 최소화되도록 학습되는, 컴퓨팅 장치.
  10. 제9항에 있어서,
    상기 계수 산출 모듈은, 상기 학습용 참조 이미지 내에 포함된 객체의 경계 및 텍스쳐 중 적어도 하나를 부각시키도록 상기 학습용 참조 이미지를 변환하여, 학습용 변환 참조 이미지를 생성하고, 상기 학습용 변환 참조 이미지에 상기 변환함수를 적용함으로써, 상기 주파수 채널의 각각에 대한 상기 변환함수의 참조 계수 맵을 생성하도록 더 구성된, 컴퓨팅 장치.
PCT/KR2019/000978 2018-01-23 2019-01-23 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치 WO2019147020A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/936,749 US11798131B2 (en) 2018-01-23 2020-07-23 Method for processing image for improving the quality of the image and apparatus for performing the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180008506 2018-01-23
KR10-2018-0008506 2018-01-23
KR10-2019-0008645 2019-01-23
KR1020190008645A KR102174777B1 (ko) 2018-01-23 2019-01-23 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/936,749 Continuation US11798131B2 (en) 2018-01-23 2020-07-23 Method for processing image for improving the quality of the image and apparatus for performing the same

Publications (1)

Publication Number Publication Date
WO2019147020A1 true WO2019147020A1 (ko) 2019-08-01

Family

ID=67396078

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/000978 WO2019147020A1 (ko) 2018-01-23 2019-01-23 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2019147020A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288771B2 (en) * 2020-04-29 2022-03-29 Adobe Inc. Texture hallucination for large-scale image super-resolution
WO2023040745A1 (zh) * 2021-09-18 2023-03-23 华为技术有限公司 特征图编解码方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005033667A (ja) * 2003-07-10 2005-02-03 Fuji Xerox Co Ltd 画像処理システム、画像提供装置、画像出力装置、画像処理方法、および、そのプログラム
KR20110049570A (ko) * 2009-11-05 2011-05-12 홍익대학교 산학협력단 경계선 성분 분류 기반 신경회로망 모델을 이용한 영상 화질 개선방법
US20170061246A1 (en) * 2015-09-02 2017-03-02 Fujitsu Limited Training method and apparatus for neutral network for image recognition
KR101780057B1 (ko) * 2016-08-02 2017-09-19 한양대학교 에리카산학협력단 고해상도 영상 복원 방법 및 장치
KR101791573B1 (ko) * 2016-10-21 2017-10-31 서강대학교산학협력단 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005033667A (ja) * 2003-07-10 2005-02-03 Fuji Xerox Co Ltd 画像処理システム、画像提供装置、画像出力装置、画像処理方法、および、そのプログラム
KR20110049570A (ko) * 2009-11-05 2011-05-12 홍익대학교 산학협력단 경계선 성분 분류 기반 신경회로망 모델을 이용한 영상 화질 개선방법
US20170061246A1 (en) * 2015-09-02 2017-03-02 Fujitsu Limited Training method and apparatus for neutral network for image recognition
KR101780057B1 (ko) * 2016-08-02 2017-09-19 한양대학교 에리카산학협력단 고해상도 영상 복원 방법 및 장치
KR101791573B1 (ko) * 2016-10-21 2017-10-31 서강대학교산학협력단 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288771B2 (en) * 2020-04-29 2022-03-29 Adobe Inc. Texture hallucination for large-scale image super-resolution
WO2023040745A1 (zh) * 2021-09-18 2023-03-23 华为技术有限公司 特征图编解码方法和装置

Similar Documents

Publication Publication Date Title
KR102174777B1 (ko) 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
EP3568828A1 (en) Image processing apparatus and method using multi-channel feature map
Khashman et al. Image compression using neural networks and Haar wavelet
US20150093037A1 (en) Dynamic generation of a quantization matrix for compression of a digital object
Li Deep learning for image denoising
CN113313683B (zh) 基于元迁移学习的无参考视频质量评价方法
CN111079764A (zh) 一种基于深度学习的低照度车牌图像识别方法及装置
Ayoobkhan et al. Prediction-based lossless image compression
CN107463932B (zh) 一种使用二进制瓶颈神经网络来抽取图片特征的方法
CN110738235A (zh) 肺结核判定方法、装置、计算机设备及存储介质
Zhu et al. A novel visible-infrared image fusion framework for smart city
WO2019147020A1 (ko) 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
Otair et al. Improved near-lossless technique using the Huffman coding for enhancing the quality of image compression
TWI817896B (zh) 機器學習方法以及裝置
Zhu et al. Dictionary based surveillance image compression
CN113052768B (zh) 一种处理图像的方法、终端及计算机可读存储介质
CN113781318A (zh) 一种图像颜色映射方法、装置、终端设备及存储介质
Hua et al. Dynamic scene deblurring with continuous cross-layer attention transmission
CN115022637A (zh) 一种图像编码方法、图像解压方法以及装置
CN110378466B (zh) 基于神经网络差分的量化方法及系统
Chang et al. A fast VQ codebook search with initialization and search order
CN115083003B (zh) 聚类网络训练和目标聚类方法、装置、终端及存储介质
Dong et al. Residual contrastive learning for image reconstruction: Learning transferable representations from noisy images
Ahmed et al. Image quality assessment using a combination of hand-crafted and deep features
Sychandran et al. SCCRNet: a framework for source camera identification on digital images

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19744358

Country of ref document: EP

Kind code of ref document: A1