WO2025071024A1 - Electronic device and control method thereof - Google Patents
Electronic device and control method thereof Download PDFInfo
- Publication number
- WO2025071024A1 WO2025071024A1 PCT/KR2024/012455 KR2024012455W WO2025071024A1 WO 2025071024 A1 WO2025071024 A1 WO 2025071024A1 KR 2024012455 W KR2024012455 W KR 2024012455W WO 2025071024 A1 WO2025071024 A1 WO 2025071024A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gan
- patch
- neural network
- network model
- feature information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Definitions
- Embodiments of the present disclosure relate to an electronic device and a method for controlling the same, and more specifically, to an electronic device capable of performing image quality processing and a method for controlling the same.
- Electronic devices perform an operation of generating and displaying images, etc., or providing images to a display device that displays images. These electronic devices can display not only specific content selected by a user as described above, but also various pieces of information.
- Images used by electronic devices may have various resolutions, and electronic devices can display images with a lower resolution than the resolution they can display by performing upscaling technology or image quality improvement operations.
- an electronic device includes a memory storing at least one instruction and a neural network model for improving the image quality of an image, and at least one processor executing the at least one instruction stored in the memory to obtain a data set for training the neural network model, and training the neural network model using the data set, wherein the at least one processor extracts a patch having a preset size for each of the data sets, calculates feature information for the extracted patch, and determines whether to perform training for the patch in a generative adversarial network (GAN) manner or a non-GAN manner based on the calculated feature information, thereby training the neural network model.
- GAN generative adversarial network
- the at least one processor may train the neural network model for the patch in a GAN manner if the generated feature information satisfies a preset condition, and may train the neural network model for the patch in a non-GAN manner if the generated feature information does not satisfy the preset condition.
- the above GAN method performs a GAN comparison operation to improve a blur area in an image using GAN loss
- the non-GAN method may be a method in which GAN loss is not applied in the loss function of the GAN method.
- the above feature information is information for detecting at least one of complex parts, such as a human face and text, in an image, and the at least one processor may perform learning for the patch in a non-GAN manner if at least one of complex parts, such as a human face or text, is detected in the extracted patch, and may perform learning for the patch in a GAN manner if a complex part, such as a human face or text, is not detected in the extracted patch.
- the at least one processor can produce statistical values related to texture features for the extracted patch as feature information.
- the at least one processor can generate an entropy map indicating whether each pixel in the extracted patch is similar to surrounding pixels, and can calculate the feature information using the generated entropy map.
- the at least one processor can calculate a GLCM (Glay-level co-occurrence matrix) value for each pixel in the extracted patch, and calculate at least one feature information using the calculated GLCM value.
- GLCM display-level co-occurrence matrix
- the at least one processor may use the GLCM values to produce at least one of a contrast value indicating a contrast difference within a patch, a correlation value indicating a correlation state between pixels within a patch, a mean square value of GLCM values within a patch, and a homogeneous value indicating a similar state of GLCM values with respect to a diagonal direction within a patch as the feature information.
- the at least one processor may output a plurality of feature information, apply a weight corresponding to the feature information to the output feature information to output a feature value, and compare the output feature value with a preset reference value to determine whether to perform learning for the patch in a generative adversarial network (GAN) manner or a non-GAN manner, thereby training the neural network model.
- GAN generative adversarial network
- the above neural network model may be a neural network model that generates an output image of a second resolution that is higher quality than the first resolution from an input image of a first resolution.
- the at least one processor may, when an image is selected, input the selected image into a learned neural network model to obtain an output image.
- a method for controlling an electronic device includes a step of obtaining a data set for training a neural network model that improves image quality, and a step of training the neural network model using the data set, wherein the training step includes a step of extracting a patch having a preset size for each of the data sets, a step of calculating feature information for the extracted patch, and a step of determining whether to perform training for the patch using a generative adversarial network (GAN) method or a non-GAN method based on the calculated feature information, thereby training the neural network model.
- GAN generative adversarial network
- the step of calculating the above feature information can calculate statistical values related to texture features for the extracted patch as the feature information.
- the step of calculating the above feature information may include generating an entropy map that indicates whether each pixel in the extracted patch is similar to surrounding pixels, and calculating the feature information using the generated entropy map.
- the step of calculating the above feature information may calculate a GLCM (Glay-level co-occurrence matrix) value for each pixel in the extracted patch, and calculate at least one feature information using the calculated GLCM value.
- GLCM display-level co-occurrence matrix
- the step of calculating the above feature information may use the GLCM values to calculate at least one of a contrast value indicating a contrast difference within a patch, a correlation value indicating a correlation state between pixels within a patch, a mean square value of GLCM values within a patch, and a homogeneous value indicating a similar state of GLCM values with respect to a diagonal direction within a patch as the feature information.
- the step of calculating the above feature information calculates a plurality of feature information, and calculates a feature value by applying a weight corresponding to the feature information to the calculated feature information, and the step of training the neural network model compares the calculated feature value with a preset reference value to determine whether to proceed with training for the patch using a generative adversarial network (GAN) method or a non-GAN method, thereby allowing the neural network model to be trained.
- GAN generative adversarial network
- the above feature information is information for detecting at least one of complex parts such as a human face or text within an image
- the step of training the neural network model may perform training for the patch in a non-GAN manner if at least one of complex parts such as a human face or text is detected in the extracted patch, and may perform training for the patch in a GAN manner if complex parts such as a human face and text are not detected in the extracted patch.
- the present control method may further include a step of inputting the selected image into a learned neural network model to obtain an output image when an image is selected.
- a non-transitory computer-readable recording medium storing a program for executing a control method of an electronic device according to an embodiment of the present disclosure, wherein the control method includes a step of obtaining a data set for training a neural network model that improves image quality, and a step of training the neural network model using the data set, wherein the training step includes a step of extracting a patch having a preset size for each of the data sets, a step of calculating feature information for the extracted patches, and a step of determining whether to perform training for the patches in a GAN (generative adversarial network) manner or a non-GAN manner based on the calculated feature information, thereby training the neural network model.
- GAN generative adversarial network
- FIG. 1 is a diagram for explaining an image quality improvement system using a neural network model according to one embodiment of the present disclosure
- FIG. 2 is a diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure
- FIG. 3 is a diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure
- Figure 4 is a diagram showing an example of image quality degradation due to application of GAN.
- FIG. 5 is a diagram for explaining the selective GAN application operation of the present disclosure
- FIG. 6 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure.
- FIG. 7 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure.
- FIG. 8 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure.
- FIG. 9 is a flowchart for explaining a control method according to one embodiment of the present disclosure.
- FIG. 10 is a flowchart illustrating a selective learning method according to one embodiment of the present disclosure.
- expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a corresponding feature (e.g., a component such as a number, function, operation, or part), and do not exclude the presence of additional features.
- the expressions “A or B,” “at least one of A and/or B,” or “one or more of A or/and B” can include all possible combinations of the listed items.
- “A or B,” “at least one of A and B,” or “at least one of A or B” can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.
- a component e.g., a first component
- another component e.g., a second component
- said component can be directly coupled to said other component, or can be coupled through another component (e.g., a third component).
- a component e.g., a first component
- another component e.g., a second component
- no other component e.g., a third component
- the phrase “a device configured to” can mean that the device, in conjunction with other devices or components, is “capable of” doing.
- a processor configured (or set) to perform A, B, and C can mean a dedicated processor (e.g., an embedded processor) to perform the operations, or a generic-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device.
- a 'module' or 'part' performs at least one function or operation and may be implemented by hardware or software or a combination of hardware and software.
- a plurality of 'modules' or a plurality of 'parts' may be integrated into at least one module and implemented by at least one processor, except for a 'module' or 'part' that needs to be implemented by a specific hardware.
- operations performed by a module, program or other component may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.
- an electronic device may include, for example, at least one of a smart phone, a tablet PC, a desktop PC, a server, a laptop PC, or a wearable device.
- the wearable device may include at least one of an accessory-type (e.g., a watch, a ring, a bracelet, an anklet, a necklace, glasses, a contact lens, or a head-mounted device (HMD)), a fabric or clothing-integrated (e.g., an electronic garment), a body-attached (e.g., a skin pad or a tattoo), or a bio-implantable circuit.
- an accessory-type e.g., a watch, a ring, a bracelet, an anklet, a necklace, glasses, a contact lens, or a head-mounted device (HMD)
- a fabric or clothing-integrated e.g., an electronic garment
- a body-attached e.g., a skin pad or a tattoo
- the electronic device may include at least one of, for example, a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box, a home automation control panel, a security control panel, a media box (e.g., Samsung HomeSyncTM, AppleTVTM, or Google TVTM), a game console (e.g., XboxTM, PlayStationTM), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
- a device having a display among the above-described electronic devices may be referred to as a display device.
- the electronic device of the present disclosure may be a set-top box or a PC that provides an image to a display device even if it does not have a display.
- FIG. 1 is a diagram for explaining an image quality improvement system using a neural network model according to one embodiment of the present disclosure.
- the neural network model may be referred to as a neural network, a network model, or a deep learning model.
- the neural network model according to the present disclosure can input an image, perform image quality improvement processing on the input image, and generate an output image.
- the neural network model can input a low-resolution image, and output a high-resolution image.
- the neural network model can perform an image quality improvement operation that improves artifacts in the image, in addition to simply upscaling the image to high resolution.
- the neural network model can perform only an image quality improvement operation without an upscaling operation.
- image quality improvement and upscaling operations are performed using only a neural network model, but an upscaler (not illustrated) may be provided at the front/back end of the neural model (200) or within the model during implementation.
- Fig. 1 only describes the process of using the neural network model generated according to the method described later.
- an input image can be input to a neural network model (200).
- the neural network model according to the present disclosure is trained using a GAN learning method for improving a blurred area and a non-GAN learning method for a preset area, so that an output image is generated in such a way that blur processing is not applied to areas with high complexity, such as faces/texts, and blur processing is applied to other areas, thereby improving a blurred area, and generating an output image without occurrence of artifacts is possible even in areas that do not require blur processing, such as faces or text areas.
- the memory (110) may be implemented as an internal memory such as a ROM (for example, an electrically erasable programmable read-only memory (EEPROM)), a RAM, etc. included in at least one processor (120), or may be implemented as a separate memory from at least one processor (120).
- the memory (110) may be implemented as a memory embedded in the electronic device (100) or as a memory that can be detachably attached to the electronic device (100) depending on the purpose of data storage.
- data for driving the electronic device (100) may be stored in a memory embedded in the electronic device (100)
- data for expanding functions of the electronic device (100) may be stored in a memory that can be detachably attached to the electronic device (100).
- memory embedded in the electronic device (100) it may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), hard drive, or solid state drive (SSD)), and in the case of memory that can be detachably attached to the electronic device (100), it may be implemented in the form of a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory that can be connected to a USB port (e.g.,
- volatile memory
- the electronic device (100) is illustrated as consisting of one memory, but when referring to volatile memory and non-volatile memory separately, the electronic device (100) may be referred to as including multiple memories.
- At least one processor (120) can perform overall control operations of the electronic device (100). Specifically, at least one processor (120) has a function of controlling overall operations of the electronic device (100).
- At least one processor (120) may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals.
- DSP digital signal processor
- TCON time controller
- the present invention is not limited thereto, and may include one or more of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a graphics-processing unit (GPU), a communication processor (CP), or an ARM processor, or may be defined by the relevant terms.
- at least one processor (120) may be implemented as a system on chip (SoC), a large scale integration (LSI), or may be implemented in the form of a field programmable gate array (FPGA) with a built-in processing algorithm.
- SoC system on chip
- LSI large scale integration
- FPGA field programmable gate array
- At least one processor (120) can obtain a data set for training a neural network model by executing at least one instruction stored in the memory (110). Such a data set may be pre-stored in the memory (110).
- At least one processor (120) can train a neural network model using a data set. For example, at least one processor (120) can extract a patch having a preset size for each data set. For example, for one image, a plurality of patches having a preset size (e.g., w*h size in pixels) at various locations can be extracted.
- a preset size e.g., w*h size in pixels
- At least one processor (120) generates feature information for the extracted patch.
- at least one processor (120) may generate statistical values related to texture features, extract an entropy map, generate GLCM values, and generate feature information using the generated GLCM values. The operation of generating feature information is described later with reference to FIGS. 5 to 8.
- At least one processor (120) can train a neural network model by determining whether to proceed with learning for a patch in a GAN (Generative adversarial network) manner or a non-GAN manner based on the generated feature information. For example, at least one processor (120) can train a neural network model for a patch in a GAN manner if the generated feature information satisfies a preset condition, and can train a neural network model for a patch in a non-GAN manner if the generated feature information does not satisfy the preset condition.
- GAN Generic adversarial network
- the GAN method is a learning method that performs the GAN comparison operation to improve the block area within the image using the GAN loss.
- the non-GAN method is a learning method in which the GAN loss described above is not applied in the GAN method described above.
- the learning operation is performed in two ways, either selectively applying the GAN loss or not applying it.
- it may be applied by multiplying the GAN loss by a preset feature value.
- the context value or feature value
- the degree of application of the GAN loss may vary. If implemented in this way, the operation of the processor may be expressed as follows.
- the electronic device (100) selectively performs GAN learning or non-GAN learning according to feature values, or performs learning by varying the GAN loss applied according to feature values, thereby preventing excessive application of blur improvement to image areas with high complexity, such as faces or text, and enabling image quality improvement processing.
- the electronic device (100') may include a memory (110), at least one processor (120), a communication device (130), a display (140), and an operating device (150).
- the communication device (130) is a configuration that performs communication with various types of external devices according to various types of communication methods.
- the communication device (130) may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, etc.
- each communication module may be implemented in the form of at least one hardware chip.
- the communication device (110) may include at least one of wired communication modules that perform communication using a LAN (Local Area Network) module, an Ethernet module, a pair cable, a coaxial cable, an optical fiber cable, or a UWB (Ultra Wide-Band) module.
- LAN Local Area Network
- Ethernet Ethernet
- pair cable a coaxial cable
- optical fiber cable an optical fiber cable
- UWB Ultra Wide-Band
- the electronic device is a laptop, smartphone, tablet, or the like that displays a web page
- the communication device (130) can transmit and receive the learned neural network model.
- the communication device (130) can be controlled to transmit the neural network model on which the learning operation has been performed to another device so that the other device can utilize it.
- the electronic device (100) is a TV or the like, the manufacturer can receive a learned neural network model provided by the manufacturer through the communication device (130).
- the display (140) may be implemented as a variety of displays, such as an LCD (Liquid Crystal Display), an OLED (Organic Light Emitting Diodes) display, a PDP (Plasma Display Panel), a projector, etc.
- the display (140) may also include a driving circuit, a backlight unit, etc., which may be implemented as a form of an a-si TFT, an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc.
- the display (140) may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, etc.
- the display (140) can display various images.
- the display (140) can display a low-resolution image input through a communication device, or an image for which image quality improvement processing has been performed.
- the operating device (150) can receive various settings for the electronic device.
- Such an operating device (150) can be implemented as a single device (e.g., a touch screen) by being combined with the above-described display (140).
- the operating device (150) can set the image quality improvement processing method. For example, the operating device (150) can receive a selection from the user on whether to perform image quality improvement processing on an input image, or if so, the method of image quality improvement. For example, the user can receive input on whether to apply image quality improvement processing on an input image, whether to apply an upscaling method when applying image quality improvement processing, whether to apply blur improvement processing, and, if applying blur improvement processing, whether to not apply blur improvement processing to a feature region.
- the manipulation device (150) can receive inputs such as the method of the learning process of the neural network model. For example, a data set to be applied to the neural network model can be selected, or a learning method for the corresponding neural network model (for example, only the GAN method or a combination of the GAN method and the non-GAN method as in the present disclosure) can be received. In addition, the manipulation device (150) can receive inputs such as what combination of feature values to be described later will be set.
- At least one processor (120) can select a data set to be applied when a learning command for a neural network model (200) stored in a memory is input. When a data set is selected, at least one processor (120) can control a communication device (130) to obtain the data set.
- At least one processor (120) can perform a learning operation for a neural network model using the data set according to a preset learning method or a learning method selected by the user.
- image processing using the learned neural network model can also be performed.
- the electronic device (100) may receive an externally learned neural network model through a communication device (130) and perform image quality processing on an input image using the received neural network model.
- the electronic device (100) is illustrated in FIG. 3 as including a display, an operating device, etc., if the electronic device (100) is a device that only learns a neural network model, the display, the operating device, etc. may be omitted. In addition, if the electronic device (100) is a device that uses a learned neural network model, it may further include other components not illustrated, such as a speaker, a microphone, etc., in addition to the illustrated components.
- Figure 4 is a diagram illustrating an example of image quality degradation due to application of GAN.
- the text area within the output image is shown using a neural network model learned in the GAN method for improving the blur area.
- the GAN method according to the present disclosure is a learning method applied to improve the blur area during the learning process of a neural network model that performs image quality improvement processing.
- the GAN method trains two networks adversarially, one of which is a network that generates data similar to real data, and the other is a model that determines the generated result.
- the GAN method since the GAN method is applied to improve the blurred portion within the image, there is an effect of improving the blurred portion of the entire image.
- the blur improvement may be excessively applied, which may create artifacts.
- the boundary of the text may deteriorate as shown.
- blur enhancement can actually create an effect when applied to areas with high texture, such as a person's face or text.
- the present disclosure applies a method to prevent blur enhancement from being applied or from being applied excessively to areas with high texture complexity, such as text areas and face areas.
- FIG. 5 is a diagram for explaining the selective GAN application operation of the present disclosure.
- a neural network model (200) is disclosed.
- the neural network model may be referred to as a neural network, a network model, or a deep learning model.
- the neural network model (200) can output an image with improved image quality for the input image.
- the neural network model can output a high-resolution image with a higher resolution than the input resolution, in addition to improving the image quality.
- the neural network model performs an upscaling operation using the learned network values for the insufficient pixel information, there are some parts of the output image that are somewhat blurry.
- GAN was applied in the learning process of the neural network model in the past, and higher quality results were obtained than when only the neural network model was used.
- GAN should be applied to improve blurred areas, but the GAN method should not be applied to areas with complex textures, such as text areas and face areas, or the GAN method should be applied to a lower degree than other areas.
- the first part is solved by extracting feature information (S520) from an image and using the extracted extracted information.
- the feature information is a feature related to the texture in the image, and in the present disclosure, examples of calculating it through roughly three methods are described below. However, it is not limited to the methods, and if it is related to the feature of the texture of the image, a method not described in the present disclosure or a method of the present disclosure can be used by partially changing it.
- the feature information described above is numerically calculated and the calculated value is applied as the correction value (or weight) of the GAN loss.
- the calculated value is simply multiplied by the GAN loss and used, that is, it is explained assuming that the degree of application is varied depending on the degree of texture.
- it can also be implemented in a form where a value of 1 is output so that GAN is applied if the calculated feature value is less than a certain value, and a value of 0 is output so that GAN loss is not applied if the calculated feature value is greater than a certain value.
- the output context value i.e., feature value
- GAN is applied, and if the output context value is less than a certain value, GAN is not applied.
- the above-described operation can also be implemented in the opposite form depending on the property of the context value. That is, if the context value is proportional to the complexity, it is also possible to not apply GAN if the context value is greater than a preset value, and to apply GAN if the context value is less than a preset value.
- the illustrated example shows that one preset value and the calculated value are compared, two comparison values may be used during implementation. For example, if the calculated value is lower than the first value, GAN is applied, if it is between the first and second values, GAN is applied by adjusting the GAN loss in proportion to the calculated value, and if it is greater than the second value, GAN is applied.
- the GAN method is applied to improve the blur area of the output image of the neural network model, and optionally the GAN method is not applied.
- the application of the GAN method can also be implemented in a form in which the GAN method is applied to improve the sharpness area, and optionally the GAN method is not applied.
- blur/sharpness is mentioned as one factor of image quality improvement in the above, the above-described method can also be used for various image quality improvement processes such as smoothing and brightness correction in addition to the factor.
- Neural network models can be trained using multiple data sets. First, we explain the learning operation using the GAN method.
- the GAN method inputs a low-resolution image from a data set into a neural network model to generate an output high-resolution image, and a comparator (510) compares the generated high-resolution output image with an actual high-resolution image to determine whether they are the same or not.
- each neuron of the neural network model is trained so that the two images have the same shape, and the neural network model is trained by repeating the above-described process.
- the loss function of GAN in this case can be as shown in mathematical expression 1 below.
- Loss is the premise loss function
- L1 is the loss function of the neural network model.
- GAN loss is the GAN loss
- Context is a feature value of the present disclosure for optionally applying the GAN method.
- multiple patches are extracted, and learning operations are performed in units of multiple patches.
- the application of the GAN method or non-GAN method of the present disclosure can be performed in units of these patches.
- the electronic device of the present disclosure can extract a patch, generate a feature value from the extracted patch, and compare the generated feature value with a preset value to determine whether to perform learning on the patch in a GAN manner or apply it in a non-GAN manner.
- the feature value is a value indicating whether blur processing is not applied to text, faces, etc. within the patch, or a value numerically indicating the complexity of the texture, and can be referred to as a context value, texture value, etc.
- FIG. 6 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
- multiple patches (620, 630) within an image (610) can be extracted.
- a patch (620) with high complexity and a patch (530) with relatively low complexity are illustrated for explanation, but upon implementation, a large number of patches can be extracted according to a preset method or the operation of a neural network model.
- the first patch (620) may have a lot of texture
- the second patch (630) may have little texture.
- blur processing may improve the image quality of an image area (or patch) (630) with little texture.
- the GAN method needs to be applied according to the texture status of the patch. Therefore, in order to judge this texture status, it is necessary to quantify the texture status.
- entropy is a statistical value related to texture features.
- an area (620) with a complex texture produces a relatively high entropy value (e.g., 6.9749), and an area (630) with a non-complex texture produces a relatively low entropy value (e.g., 5.4652).
- the entropy value used in the present disclosure produces a relative value with respect to the complexity of the texture.
- values related to texture features can be utilized through image transformation.
- an entropy map indicating whether each pixel in the extracted patch is similar to surrounding pixels can be generated, and feature information can be derived using the generated entropy map.
- an entropy map can be derived using the brightness difference between each pixel and the nine surrounding pixels adjacent to each pixel in the patch, and the derived entropy map can be utilized.
- the entropy map (640) for the area (620) with a complex texture has a relatively white color
- the entropy map (650) for the area (630) with a non-complex texture has a dark color.
- the entropy map can be used as feature information as is, or the average brightness value of the entropy map can be calculated and used as a feature value.
- a GLCM matrix may be used in addition to the above-described method. This is described below with reference to Fig. 7.
- FIG. 7 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
- FIG. 7 is a diagram for explaining an embodiment of generating feature information using GLCM (Glay-level co-occurrence matrix) values.
- GLCM can be referred to as intensity co-occurrence matrix, spatial intensity dependence matrix, and is a statistical method for retrieving texture by considering the spatial relationship of pixels.
- the GLCM function calculates how often a pair of pixels with a specific value in an image occurs in a specific spatial relationship to generate a GLCM, and extracts statistical measures (e.g., contrast, correlation, energy, homogeneity) from this matrix to identify the texture characteristics of the image.
- the gray value is expressed in three steps from 0 to 3
- the first value of the GLCM matrix is the number of adjacent two pixels having the value 00
- the second value is the number of adjacent two pixels having the value 01.
- a GLCM matrix can be created in this way.
- the contrast value can measure the local change in the luminance co-occurrence matrix. For example, it represents the contrast difference within a patch and can be calculated through the following mathematical expression 4.
- i and j are the matrix coordinates of the GLCM matrix, and this contrast value has a high value when the texture is complex.
- the correlation value represents the joint probability of a given pair of pixels, for example, the correlation between pixels within a patch, and can be calculated using the following mathematical expression 5.
- the energy value represents the sum of the squares of the GLCM elements, and can be referred to as the mean square value, uniformity, and ASM value, and can be calculated through the following mathematical expression 6.
- the identity value is a value that measures how closely the GLCM elements are distributed along the GLCM diagonal, indicating the similarity of the GLCM values along the diagonal direction within the patch, and can be calculated using the following mathematical expression 7.
- a GLCM matrix for the extracted patches can be calculated, and the four feature values described above (e.g., contrast value, correlation value, energy value, and identity value) can be calculated using the calculated GLCM matrix.
- FIG. 8 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
- FIG. 8 it is a drawing showing an example of feature information calculated for two patches having different texture characteristics. Specifically, for each patch, an entropy value is calculated individually, a GLCM matrix is calculated for each patch, and four feature values as in Fig. 7 are calculated, and the calculated entropy value and four features related to the GLCM are combined to finally calculate the feature values.
- context value is a feature value
- entropy is an entropy value calculated in Fig. 5
- contrast is a contrast value calculated in Fig. 7
- correlation is a correlation value calculated in Fig. 7
- energy is a square root value calculated in Fig. 7
- homogeneity is a homogeneity value calculated in Fig. 7.
- the correlation value has been processed to change the sign in that the root mean value and the homogeneity value have lower values when the texture is complex, and the entropy value and contrast value have opposite values.
- a weight of 1/8 is applied only to entropy, but various types of weights not described can be applied during implementation.
- it can be implemented in a form where some of the above-described feature information is omitted.
- a relatively high feature value (0.7021) is produced for a patch with high texture (810), and a relatively low feature value (0.45) is produced for a patch with low texture (840).
- learning can be performed in a non-GAN manner by comparing the preset value (e.g., 0.5) with the calculated feature value, and if the calculated feature value is greater than 0.5, learning can be performed by not applying GAN, and if the calculated feature value is less than 0.5, learning can be performed by applying GAN.
- preset value e.g., 0.5
- FIG. 9 is a drawing for explaining a control method according to one embodiment of the present disclosure.
- a data set for training a neural network model that improves image quality is obtained (S910).
- the neural network model is trained using the data set (S920). Specifically, for each data set, a patch having a preset size is extracted, feature information for the extracted patch is calculated, and based on the calculated feature information, whether to proceed with learning for the patch using a GAN (Generative adversarial network) method or a non-GAN method is determined, thereby training the neural network model.
- GAN Geneative adversarial network
- statistical values related to texture features can be calculated as feature information, or an entropy map indicating the similarity between each pixel in the extracted patch and surrounding pixels can be generated, and feature information can be calculated using the generated entropy map, or a GLCM (Glay-level co-occurrence matrix) value can be calculated for each pixel in the extracted patch, and at least one feature information can be calculated using the calculated GLCM value.
- the above-described feature information can be used in combination.
- individual weights can be applied to each feature information to finally calculate the feature value.
- the feature values can be compared with preset reference values to determine whether to proceed with learning for the patch using the GAN (Generative adversarial network) method or the non-GAN method, thereby training the neural network model.
- GAN Generic adversarial network
- FIG. 10 is a flowchart illustrating a selective learning method according to one embodiment of the present disclosure.
- multiple patches can be extracted for each input data set (S1010).
- Each of the multiple patches can have a preset size, and the number and position of the generated patches can be based on a preset algorithm or design method of a neural network model.
- feature information can be calculated for each patch (S1020).
- an entropy value for a patch, an entropy map, or a GLCM matrix can be calculated, and contrast values, correlation values, energy values, and homogeneity values can be calculated using the calculated GLCM matrix.
- the feature values can be calculated by combining the above-described values.
- the feature value is compared with the preset value (S1030), and if the preset condition is satisfied, the neural network can be trained in a non-GAN manner (S1040). For example, if the feature value is greater than the preset value, the neural network can be trained in a non-GAN manner. Meanwhile, in this case, the case where the feature value is greater than the preset value is considered to satisfy the preset condition, because the calculated feature value is calculated to be proportional to the complexity of the texture. In other words, if the previously calculated feature value is inversely proportional to the complexity of the texture, the case where the feature value is less than the preset value can be considered to satisfy the preset condition.
- the neural network can be trained in the GAN manner (S1050).
- GAN loss is always applied, and the calculated feature value is applied as the weight value of the GAN loss, so that training progresses with a low GAN loss when the texture is complex, and training progresses with a high GAN loss when the texture is simple.
- the learning of the neural network model can proceed by repeatedly applying the process so that the overall loss value has a small value.
- the methods according to at least some of the various embodiments of the present disclosure described above may also be performed via an embedded server provided in the electronic device, or via an external server of at least one of the electronic devices.
- non-transitory storage medium only means that it is a tangible device and does not include a signal (e.g., electromagnetic wave), and this term does not distinguish between a case where data is stored semi-permanently and a case where it is stored temporarily in the storage medium.
- a 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
- a method according to various embodiments disclosed in the present document may be provided as included in a computer program product.
- the computer program product may be traded between a seller and a buyer as a commodity.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM) or directly between two user devices (e.g., smartphones).
- a portion of the computer program product e.g., a downloadable app
- the processor may perform a function corresponding to the instruction directly or by using other components under the control of the processor.
- the instruction may include code generated or executed by a compiler or an interpreter.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
본 개시의 실시 예들은 전자 장치 및 이의 제어 방법에 관한 것으로, 보다 구체적으로, 이미지의 화질 처리를 수행할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다. Embodiments of the present disclosure relate to an electronic device and a method for controlling the same, and more specifically, to an electronic device capable of performing image quality processing and a method for controlling the same.
전자 장치는 영상 등을 생성하여 표시하거나, 영상을 표시하는 디스플레이 장치에 영상을 제공하는 동작을 수행한다. 이러한 전자 장치는 상술한 바와 같이 사용자가 선택한 특정의 컨텐츠를 표시하는 것뿐만 아니라, 다양한 정보들을 표시하는 것도 가능하다. Electronic devices perform an operation of generating and displaying images, etc., or providing images to a display device that displays images. These electronic devices can display not only specific content selected by a user as described above, but also various pieces of information.
전자 장치가 이용하는 이미지는 다양한 해상도가 있을 수 있는데, 전자 장치는 자신이 표시할 수 있는 해상도보다 낮은 해상도의 이미지에 대해서 업스케일링 기술 또는 화질 개선 동작을 수행하여 표시할 수 있다. Images used by electronic devices may have various resolutions, and electronic devices can display images with a lower resolution than the resolution they can display by performing upscaling technology or image quality improvement operations.
본 개시의 일 실시 예에 따른 전자 장치는 적어도 하나의 인스트럭션 및 이미지의 화질을 개선하는 신경망 모델을 저장하는 메모리, 및 상기 메모리에 저장된 적어도 하나의 인스트럭션을 실행하여, 상기 신경망 모델을 학습시키기 위한 데이터 셋을 획득하고, 상기 데이터 셋을 이용하여 상기 신경망 모델을 학습시키는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 데이터 셋 각각에 대해서 기설정된 크기를 갖는 패치를 추출하고, 추출된 패치에 대한 특징 정보를 산출하고, 산출된 특징 정보에 기초하여 상기 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 상기 신경망 모델을 학습시킨다. According to one embodiment of the present disclosure, an electronic device includes a memory storing at least one instruction and a neural network model for improving the image quality of an image, and at least one processor executing the at least one instruction stored in the memory to obtain a data set for training the neural network model, and training the neural network model using the data set, wherein the at least one processor extracts a patch having a preset size for each of the data sets, calculates feature information for the extracted patch, and determines whether to perform training for the patch in a generative adversarial network (GAN) manner or a non-GAN manner based on the calculated feature information, thereby training the neural network model.
상기 적어도 하나의 프로세서는 상기 산출된 특징 정보가 기설정된 조건을 만족하면 상기 패치에 대해서 GAN 방식으로 상기 신경망 모델을 학습시키고, 상기 산출된 특징 정보가 기설정된 조건을 만족하지 않으면, 상기 패치에 대해서 비-GAN 방식으로 상기 신경망 모델을 학습시킬 수 있다. The at least one processor may train the neural network model for the patch in a GAN manner if the generated feature information satisfies a preset condition, and may train the neural network model for the patch in a non-GAN manner if the generated feature information does not satisfy the preset condition.
상기 GAN 방식은 이미지 내의 블러 영역을 개선하기 위한 GAN 비교 동작을 GAN 로스를 이용하여 수행하고, 상기 비-GAN 방식은, 상기 GAN 방식의 손실 함수에서 GAN 로스가 적용되지 않는 방식일 수 있다. The above GAN method performs a GAN comparison operation to improve a blur area in an image using GAN loss, and the non-GAN method may be a method in which GAN loss is not applied in the loss function of the GAN method.
상기 특징 정보는 이미지 내의 사람 얼굴 및 글씨 등 복잡한 부분 중 적어도 하나를 검출하기 위한 정보이고, 상기 적어도 하나의 프로세서는 추출된 패치에 사람 얼굴 또는 글씨 등 복잡한 부분 중 적어도 하나가 검출되면 상기 패치에 대한 학습을 비-GAN 방식으로 진행하고, 추출된 패치에 사람 얼굴 및 글씨 등 복잡한 부분이 검출되지 않으면 상기 패치에 대한 학습을 GAN 방식으로 진행할 수 있다. The above feature information is information for detecting at least one of complex parts, such as a human face and text, in an image, and the at least one processor may perform learning for the patch in a non-GAN manner if at least one of complex parts, such as a human face or text, is detected in the extracted patch, and may perform learning for the patch in a GAN manner if a complex part, such as a human face or text, is not detected in the extracted patch.
상기 적어도 하나의 프로세서는 상기 추출된 패치에 대해서 텍스처 특징과 관련된 통계 값을 상기 특징 정보로 산출할 수 있다. The at least one processor can produce statistical values related to texture features for the extracted patch as feature information.
상기 적어도 하나의 프로세서는 상기 추출된 패치 내의 각 화소별로 주변 화소들과의 유사 여부를 나타내는 엔트로피 맵을 생성하고, 상기 생성된 엔트로피 맵을 이용하여 상기 특징 정보를 산출할 수 있다. The at least one processor can generate an entropy map indicating whether each pixel in the extracted patch is similar to surrounding pixels, and can calculate the feature information using the generated entropy map.
상기 적어도 하나의 프로세서는 상기 추출된 패치 내의 각 화소별 GLCM(Glay-level co-occurrence matrix) 값을 산출하고, 상기 산출된 GLCM 값을 이용하여 적어도 하나의 특징 정보를 산출할 수 있다. The at least one processor can calculate a GLCM (Glay-level co-occurrence matrix) value for each pixel in the extracted patch, and calculate at least one feature information using the calculated GLCM value.
상기 적어도 하나의 프로세서는 상기 GLCM 값을 이용하여, 패치 내의 대비(contrast) 차이를 나타내는 대비 값, 패치 내의 픽셀들 간의 상관 상태를 나타내는 상관 값, 패치 내의 GLCM 값들의 제곱평균 값, 패치 내의 대각 방향에 대한 GLCM 값의 유사 상태를 나타내는 동질 값 중 적어도 하나를 상기 특징 정보로 산출할 수 있다. The at least one processor may use the GLCM values to produce at least one of a contrast value indicating a contrast difference within a patch, a correlation value indicating a correlation state between pixels within a patch, a mean square value of GLCM values within a patch, and a homogeneous value indicating a similar state of GLCM values with respect to a diagonal direction within a patch as the feature information.
상기 적어도 하나의 프로세서는 복수의 특징 정보를 산출하고, 상기 산출된 특징 정보에 특징 정보에 대응되는 가중치를 적용하여 특징 값을 산출하고, 상기 산출된 특징 값과 기설정된 기준 값을 비교하여, 상기 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 상기 신경망 모델을 학습시킬 수 있다. The at least one processor may output a plurality of feature information, apply a weight corresponding to the feature information to the output feature information to output a feature value, and compare the output feature value with a preset reference value to determine whether to perform learning for the patch in a generative adversarial network (GAN) manner or a non-GAN manner, thereby training the neural network model.
상기 신경망 모델은 제1 해상도의 입력 이미지를 상기 제1 해상도보다 고화질인 제2 해상도의 출력 이미지를 생성하는 신경망 모델일 수 있다. The above neural network model may be a neural network model that generates an output image of a second resolution that is higher quality than the first resolution from an input image of a first resolution.
상기 적어도 하나의 프로세서는 이미지가 선택되면 상기 선택된 이미지를 학습된 신경망 모델에 입력하여 출력 이미지를 획득할 수 있다. The at least one processor may, when an image is selected, input the selected image into a learned neural network model to obtain an output image.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 이미지의 화질을 개선하는 신경망 모델을 학습시키기 위한 데이터 셋을 획득하는 단계, 및 상기 데이터 셋을 이용하여 상기 신경망 모델을 학습시키는 단계를 포함하고, 상기 학습시키는 단계는, 상기 데이터 셋 각각에 대해서 기설정된 크기를 갖는 패치를 추출하는 단계, 추출된 패치에 대한 특징 정보를 산출하는 단계, 및 산출된 특징 정보에 기초하여 상기 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 상기 신경망 모델을 학습시키는 단계를 포함한다. Meanwhile, a method for controlling an electronic device according to an embodiment of the present disclosure includes a step of obtaining a data set for training a neural network model that improves image quality, and a step of training the neural network model using the data set, wherein the training step includes a step of extracting a patch having a preset size for each of the data sets, a step of calculating feature information for the extracted patch, and a step of determining whether to perform training for the patch using a generative adversarial network (GAN) method or a non-GAN method based on the calculated feature information, thereby training the neural network model.
상기 특징 정보를 산출하는 단계는 상기 추출된 패치에 대해서 텍스처 특징과 관련된 통계 값을 상기 특징 정보로 산출할 수 있다. The step of calculating the above feature information can calculate statistical values related to texture features for the extracted patch as the feature information.
상기 특징 정보를 산출하는 단계는 상기 추출된 패치 내의 각 화소별로 주변 화소들과의 유사 여부를 나타내는 엔트로피 맵을 생성하고, 상기 생성된 엔트로피 맵을 이용하여 상기 특징 정보를 산출할 수 있다. The step of calculating the above feature information may include generating an entropy map that indicates whether each pixel in the extracted patch is similar to surrounding pixels, and calculating the feature information using the generated entropy map.
상기 특징 정보를 산출하는 단계는 상기 추출된 패치 내의 각 화소별 GLCM(Glay-level co-occurrence matrix) 값을 산출하고, 산출된 GLCM 값을 이용하여 적어도 하나의 특징 정보를 산출할 수 있다. The step of calculating the above feature information may calculate a GLCM (Glay-level co-occurrence matrix) value for each pixel in the extracted patch, and calculate at least one feature information using the calculated GLCM value.
상기 특징 정보를 산출하는 단계는 상기 GLCM 값을 이용하여, 패치 내의 대비(contrast) 차이를 나타내는 대비 값, 패치 내의 픽셀들 간의 상관 상태를 나타내는 상관 값, 패치 내의 GLCM 값들의 제곱평균 값, 패치 내의 대각 방향에 대한 GLCM 값의 유사 상태를 나타내는 동질 값 중 적어도 하나를 상기 특징 정보로 산출할 수 있다. The step of calculating the above feature information may use the GLCM values to calculate at least one of a contrast value indicating a contrast difference within a patch, a correlation value indicating a correlation state between pixels within a patch, a mean square value of GLCM values within a patch, and a homogeneous value indicating a similar state of GLCM values with respect to a diagonal direction within a patch as the feature information.
상기 특징 정보를 산출하는 단계는 복수의 특징 정보를 산출하고, 상기 산출된 특징 정보에 특징 정보에 대응되는 가중치를 적용하여 특징 값을 산출하고, 상기 신경망 모델을 학습시키는 단계는, 상기 산출된 특징 값과 기설정된 기준 값을 비교하여, 상기 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 상기 신경망 모델을 학습시킬 수 있다. The step of calculating the above feature information calculates a plurality of feature information, and calculates a feature value by applying a weight corresponding to the feature information to the calculated feature information, and the step of training the neural network model compares the calculated feature value with a preset reference value to determine whether to proceed with training for the patch using a generative adversarial network (GAN) method or a non-GAN method, thereby allowing the neural network model to be trained.
상기 특징 정보는 이미지 내의 사람 얼굴 또는 글씨 등 복잡한 부분 중 적어도 하나를 검출하기 위한 정보이고, 상기 신경망 모델을 학습시키는 단계는 추출된 패치에 사람 얼굴 또는 글씨 등 복잡한 부분 중 적어도 하나가 검출되면 상기 패치에 대한 학습을 비-GAN 방식으로 진행하고, 추출된 패치에 사람 얼굴 및 글씨 등 복잡한 부분이 검출되지 않으면 상기 패치에 대한 학습을 GAN 방식으로 진행할 수 있다. The above feature information is information for detecting at least one of complex parts such as a human face or text within an image, and the step of training the neural network model may perform training for the patch in a non-GAN manner if at least one of complex parts such as a human face or text is detected in the extracted patch, and may perform training for the patch in a GAN manner if complex parts such as a human face and text are not detected in the extracted patch.
본 제어 방법은 이미지가 선택되면 상기 선택된 이미지를 학습된 신경망 모델에 입력하여 출력 이미지를 획득하는 단계를 더 포함할 수 있다. The present control method may further include a step of inputting the selected image into a learned neural network model to obtain an output image when an image is selected.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 실행하기 위한 프로그램이 저장된 비일시적 컴퓨터 판독가능 기록매체에 있어서, 상기 제어 방법은 이미지의 화질을 개선하는 신경망 모델을 학습시키기 위한 데이터 셋을 획득하는 단계, 및 상기 데이터 셋을 이용하여 상기 신경망 모델을 학습시키는 단계를 포함하고, 상기 학습시키는 단계는, 상기 데이터 셋 각각에 대해서 기설정된 크기를 갖는 패치를 추출하는 단계, 추출된 패치에 대한 특징 정보를 산출하는 단계, 및 산출된 특징 정보에 기초하여 상기 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 상기 신경망 모델을 학습시키는 단계를 포함한다. A non-transitory computer-readable recording medium storing a program for executing a control method of an electronic device according to an embodiment of the present disclosure, wherein the control method includes a step of obtaining a data set for training a neural network model that improves image quality, and a step of training the neural network model using the data set, wherein the training step includes a step of extracting a patch having a preset size for each of the data sets, a step of calculating feature information for the extracted patches, and a step of determining whether to perform training for the patches in a GAN (generative adversarial network) manner or a non-GAN manner based on the calculated feature information, thereby training the neural network model.
본 개시의 실시 예들의 상술하거나 다른 측면, 특징, 이익들은 첨부도면을 참조한 아래의 설명으로부터 더욱 명백해질 것이다. 첨부도면에서:The above and other aspects, features, and advantages of the embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings, in which:
도 1은 본 개시의 일 실시 예에 따른 신경망 모델을 이용하는 화질 개선 시스템을 설명하기 위한 도면, FIG. 1 is a diagram for explaining an image quality improvement system using a neural network model according to one embodiment of the present disclosure;
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 도면, FIG. 2 is a diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 도면, FIG. 3 is a diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 4는 GAN 적용에 따른 화질 저하 예를 도시한 도면, Figure 4 is a diagram showing an example of image quality degradation due to application of GAN.
도 5는 본 개시의 선택적 GAN 적용 동작을 설명하기 위한 도면, FIG. 5 is a diagram for explaining the selective GAN application operation of the present disclosure;
도 6은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면, FIG. 6 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure;
도 7은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면, FIG. 7 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure;
도 8은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면, FIG. 8 is a drawing for explaining an example of generating feature information according to one embodiment of the present disclosure;
도 9는 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도, 그리고,FIG. 9 is a flowchart for explaining a control method according to one embodiment of the present disclosure, and
도 10은 본 개시의 일 실시 예에 따른 선택적 학습 방법을 설명하기 위한 흐름도이다. FIG. 10 is a flowchart illustrating a selective learning method according to one embodiment of the present disclosure.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.The present embodiments may have various modifications and may have various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, but should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure. In connection with the description of the drawings, similar reference numerals may be used for similar components.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. In describing the present disclosure, if it is determined that a specific description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.In addition, the following embodiments may be modified in various other forms, and the scope of the technical idea of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided to make the present disclosure more faithful and complete, and to fully convey the technical idea of the present disclosure to those skilled in the art.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terminology used in this disclosure is only used to describe specific embodiments and is not intended to limit the scope of the rights. The singular expression includes the plural expression unless the context clearly indicates otherwise.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In this disclosure, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a corresponding feature (e.g., a component such as a number, function, operation, or part), and do not exclude the presence of additional features.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this disclosure, the expressions “A or B,” “at least one of A and/or B,” or “one or more of A or/and B” can include all possible combinations of the listed items. For example, “A or B,” “at least one of A and B,” or “at least one of A or B” can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. The expressions “first,” “second,” “first,” or “second,” etc., used in this disclosure can describe various components, regardless of order and/or importance, and are only used to distinguish one component from other components and do not limit the components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. When it is stated that a component (e.g., a first component) is "(operatively or communicatively) coupled with/to" or "connected to" another component (e.g., a second component), it should be understood that said component can be directly coupled to said other component, or can be coupled through another component (e.g., a third component).
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않은 것으로 이해될 수 있다.On the other hand, when it is said that a component (e.g., a first component) is "directly connected" or "directly connected" to another component (e.g., a second component), it can be understood that no other component (e.g., a third component) exists between said component and said other component.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. The expression "configured to" as used in this disclosure can be used interchangeably with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of." The term "configured to" does not necessarily mean only "specifically designed to" in terms of hardware.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.Instead, in some contexts, the phrase "a device configured to" can mean that the device, in conjunction with other devices or components, is "capable of" doing. For example, the phrase "a processor configured (or set) to perform A, B, and C" can mean a dedicated processor (e.g., an embedded processor) to perform the operations, or a generic-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In the embodiments, a 'module' or 'part' performs at least one function or operation and may be implemented by hardware or software or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'parts' may be integrated into at least one module and implemented by at least one processor, except for a 'module' or 'part' that needs to be implemented by a specific hardware.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.According to various embodiments, operations performed by a module, program or other component may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. Meanwhile, various elements and areas in the drawings are schematically drawn. Therefore, the technical idea of the present invention is not limited by the relative sizes or intervals drawn in the attached drawings.
한편, 본 개시의 다양한 실시 예에 따른 전자 장치는 예를 들면, 스마트 폰, 태블릿 PC, 데스크탑 PC, 서버, 랩탑 PC 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. Meanwhile, an electronic device according to various embodiments of the present disclosure may include, for example, at least one of a smart phone, a tablet PC, a desktop PC, a server, a laptop PC, or a wearable device. The wearable device may include at least one of an accessory-type (e.g., a watch, a ring, a bracelet, an anklet, a necklace, glasses, a contact lens, or a head-mounted device (HMD)), a fabric or clothing-integrated (e.g., an electronic garment), a body-attached (e.g., a skin pad or a tattoo), or a bio-implantable circuit.
어떤 실시 예들에서, 전자 장치는 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다. 한편, 상술한 전자 장치 중 디스플레이를 구비하는 장치에 대해서는 디스플레이 장치라고 지칭할 수 있다. 한편, 본 개시의 전자 장치는 디스플레이를 구비하지 않더라도, 디스플레이 장치에 영상을 제공하는 셋톱박스, PC일 수도 있다. In some embodiments, the electronic device may include at least one of, for example, a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box, a home automation control panel, a security control panel, a media box (e.g., Samsung HomeSyncTM, AppleTVTM, or Google TVTM), a game console (e.g., XboxTM, PlayStationTM), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame. Meanwhile, a device having a display among the above-described electronic devices may be referred to as a display device. Meanwhile, the electronic device of the present disclosure may be a set-top box or a PC that provides an image to a display device even if it does not have a display.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, with reference to the attached drawings, embodiments according to the present disclosure will be described in detail so that a person having ordinary knowledge in the technical field to which the present disclosure pertains can easily implement the present disclosure.
도 1은 본 개시의 일 실시 예에 따른 신경망 모델을 이용하는 화질 개선 시스템을 설명하기 위한 도면이다. FIG. 1 is a diagram for explaining an image quality improvement system using a neural network model according to one embodiment of the present disclosure.
도 1을 참조하면, 신경망 모델(200)이 개시된다. 신경망 모델은 뉴럴 네트워크(Neural Network), 네트워크 모델, 딥러닝 모델로 지칭될 수 있다. Referring to FIG. 1, a neural network model (200) is disclosed. The neural network model may be referred to as a neural network, a network model, or a deep learning model.
본 개시에 따른 신경망 모델은 이미지를 입력받고, 입력된 이미지에 대한 화질 개선 처리를 수행하여 출력 이미지를 생성할 수 있다. 예를 들어, 신경망 모델은 저해상도의 이미지를 입력받고, 고해상도 이미지를 출력할 수 있다. 이때, 신경망 모델은 단순히 이미지를 고해상도로 업스케일링 하는 것뿐만 아니라, 이미지 내의 아티팩트를 개선하는 화질 개선 동작을 수행할 수 있다. 또한, 신경망 모델은 업스케일의 동작 없이 화질 개선 동작만을 수행할 수도 있다. The neural network model according to the present disclosure can input an image, perform image quality improvement processing on the input image, and generate an output image. For example, the neural network model can input a low-resolution image, and output a high-resolution image. In this case, the neural network model can perform an image quality improvement operation that improves artifacts in the image, in addition to simply upscaling the image to high resolution. In addition, the neural network model can perform only an image quality improvement operation without an upscaling operation.
한편, 도시된 예에서는 설명을 용이하게 하기 위하여, 신경망 모델만을 이용하여 화질 개선 및 업스케일링 동작을 수행하는 것으로 도시하였지만, 구현시에 해당 신경 모델(200)의 전단/후단 또는 모델 내에 업스케일러(미도시)가 구비될 수 있다. Meanwhile, in the illustrated example, for the sake of ease of explanation, image quality improvement and upscaling operations are performed using only a neural network model, but an upscaler (not illustrated) may be provided at the front/back end of the neural model (200) or within the model during implementation.
해당 신경망 모델에 대한 학습 동작에 대해서는 도 5에서 후술한다. 도 1에서는 후술하는 방식에 따라 생성된 신경망 모델의 이용과정에 대해서만 설명한다. The learning operation for the neural network model is described later in Fig. 5. Fig. 1 only describes the process of using the neural network model generated according to the method described later.
도 1을 참조하면, 신경망 모델(200)에는 입력 영상이 입력될 수 있다. Referring to Figure 1, an input image can be input to a neural network model (200).
신경망 모델(200)은 복수의 컨볼루션 레이어(도시된 이미지에서 직사각형 형태), 공간 레이어(사다리꼴)가 포함할 수 있다. 복수의 컨볼루션 각각은 복수의 노드(또는 가중치 노드)를 포함할 수 있다. The neural network model (200) may include a plurality of convolution layers (rectangular in the illustrated image) and spatial layers (trapezoidal). Each of the plurality of convolutions may include a plurality of nodes (or weight nodes).
도시된 예에서는 하나의 채널만을 도시하였지만, 신경망 모델은 도시된 복수의 컨벌류션 레이어가 병렬로 배치된 복수의 채널로 구성될 수도 있다. Although the illustrated example only shows one channel, the neural network model may consist of multiple channels in which the illustrated multiple convolutional layers are arranged in parallel.
입력 영상이 입력되면, 신경망 모델(200)은 입력 영상을 복수의 패치로 분해하고, 분해된 복수의 패치 별로, 신경망 모델(200)을 통과하여 각 패치별 출력 이미지를 생성할 수 있다. 여기서 패치는 신경망 모델(200)에서의 처리 단위로 예를 들어, w*h 픽셀 크기(여기서 w는 가로 픽셀수, h 높이 픽셀수)를 가질 수 있다. When an input image is input, the neural network model (200) can decompose the input image into multiple patches, and generate an output image for each patch by passing each of the decomposed multiple patches through the neural network model (200). Here, a patch is a processing unit in the neural network model (200) and can have, for example, a w*h pixel size (where w is the number of horizontal pixels and h is the number of height pixels).
그리고 신경망 모델(200)은 패치별 출력 이미지를 병합하여 출력 이미지(20)를 생성할 수 있다. And the neural network model (200) can generate an output image (20) by merging output images for each patch.
본 개시에 따른 신경망 모델은 블러한 영역을 개선하기 위한 GAN 학습 방식과 기설정된 영역에 대해서는 비 GAN 학습 방식으로 학습되었다는 점에서, 얼굴/글씨와 같은 복잡도가 높은 영역은 블러 처리가 적용되지 않고, 이외에 영역은 블러 처리가 적용되는 방식으로 출력 이미지를 생성하는바, 블러한 부분을 개선할 수 있으며, 얼굴 또는 글씨 영역과 같이 블러 처리가 적용될 필요가 없는 부분도 아티팩트 발생 없는 출력 이미지의 생성이 가능하다. The neural network model according to the present disclosure is trained using a GAN learning method for improving a blurred area and a non-GAN learning method for a preset area, so that an output image is generated in such a way that blur processing is not applied to areas with high complexity, such as faces/texts, and blur processing is applied to other areas, thereby improving a blurred area, and generating an output image without occurrence of artifacts is possible even in areas that do not require blur processing, such as faces or text areas.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 도면이다. FIG. 2 is a diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
도 2를 참조하면, 전자 장치(100)는 메모리(110) 및 적어도 하나의 프로세서(120)를 포함할 수 있다. Referring to FIG. 2, the electronic device (100) may include a memory (110) and at least one processor (120).
메모리(110)는 적어도 하나의 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 적어도 하나의 프로세서(120)와 별도의 메모리로 구현될 수도 있다. 이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착할 수 있는 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.The memory (110) may be implemented as an internal memory such as a ROM (for example, an electrically erasable programmable read-only memory (EEPROM)), a RAM, etc. included in at least one processor (120), or may be implemented as a separate memory from at least one processor (120). In this case, the memory (110) may be implemented as a memory embedded in the electronic device (100) or as a memory that can be detachably attached to the electronic device (100) depending on the purpose of data storage. For example, data for driving the electronic device (100) may be stored in a memory embedded in the electronic device (100), and data for expanding functions of the electronic device (100) may be stored in a memory that can be detachably attached to the electronic device (100).
메모리(110)는 적어도 하나의 인스트럭션을 포함할 수 있다. 메모리(110)는 후술하는 신경망 모델을 이용하는 인스트럭션(즉, 이미지에 대한 화질 개선)을 포함하거나, 신경망 모델을 학습 시키는 인스트럭션을 포함할 수 있다. The memory (110) may include at least one instruction. The memory (110) may include an instruction for using a neural network model described below (i.e., improving image quality for an image) or an instruction for training a neural network model.
메모리(110)는 신경망 모델을 저장한다. 본 개시에 따른 신경망 모델은 복수의 컨볼루션 레이어를 포함하며, 각 컨볼루션 레이어 내의 각 노드들은 후술하는 GAN 방식 또는 비-GAN 방식이 패치별로 선택적으로 적용되어 학습된 모델일 수 있다. 신경망 모델의 학습 동작에 대해서는 도 5에서 자세히 설명한다. The memory (110) stores a neural network model. The neural network model according to the present disclosure includes a plurality of convolutional layers, and each node in each convolutional layer may be a model learned by selectively applying the GAN method or non-GAN method described below to each patch. The learning operation of the neural network model is described in detail in FIG. 5.
메모리(110)는 신경망 모델을 학습을 위한 데이터 셋을 저장할 수 있다. 그리고 메모리(110)는 화질 개선의 대상이 되는 이미지 또는 신경망 모델의 출력 이미지를 저장할 수 있다. The memory (110) can store a data set for learning a neural network model. And the memory (110) can store an image to be improved in image quality or an output image of a neural network model.
한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.Meanwhile, in the case of memory embedded in the electronic device (100), it may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), hard drive, or solid state drive (SSD)), and in the case of memory that can be detachably attached to the electronic device (100), it may be implemented in the form of a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multi-media card (MMC), etc.), external memory that can be connected to a USB port (e.g., USB memory), etc. there is.
한편, 도시된 예에서는 전자 장치(100)가 하나의 메모리로 구성되는 것으로 도시하였지만, 휘발성 메모리, 비휘발성 메모리를 구분하여 지칭하는 경우, 전자 장치(100)는 복수의 메모리를 포함한다고 지칭할 수도 있다. Meanwhile, in the illustrated example, the electronic device (100) is illustrated as consisting of one memory, but when referring to volatile memory and non-volatile memory separately, the electronic device (100) may be referred to as including multiple memories.
적어도 하나의 프로세서(120)는 전자 장치(100)의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 적어도 하나의 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어하는 기능을 한다.At least one processor (120) can perform overall control operations of the electronic device (100). Specifically, at least one processor (120) has a function of controlling overall operations of the electronic device (100).
적어도 하나의 프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), GPU(graphics-processing unit) 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 적어도 하나의 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 적어도 하나의 프로세서(120)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다. 한편, 도 2에서는 전자 장치(100)에 하나의 프로세서만 포함되는 것으로 도시하였지만, 구현시에는 복수의 프로세서(예를 들어, CPU + GPU, CPU + DSP)를 포함할 수도 있다. At least one processor (120) may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals. However, the present invention is not limited thereto, and may include one or more of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a graphics-processing unit (GPU), a communication processor (CP), or an ARM processor, or may be defined by the relevant terms. In addition, at least one processor (120) may be implemented as a system on chip (SoC), a large scale integration (LSI), or may be implemented in the form of a field programmable gate array (FPGA) with a built-in processing algorithm. In addition, at least one processor (120) may perform various functions by executing computer executable instructions stored in a memory. Meanwhile, in FIG. 2, only one processor is included in the electronic device (100). Although shown as such, the implementation may include multiple processors (e.g., CPU + GPU, CPU + DSP).
적어도 하나의 프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행하여 신경망 모델을 학습시키기 위한 데이터 셋을 획득할 수 있다. 이와 같은 데이터 셋은 메모리(110)에 기저장되어 있을 수 있다. At least one processor (120) can obtain a data set for training a neural network model by executing at least one instruction stored in the memory (110). Such a data set may be pre-stored in the memory (110).
적어도 하나의 프로세서(120)는 데이터 셋을 이용하여 신경망 모델을 학습시킬 수 있다. 예를 들어, 적어도 하나의 프로세서(120)는 데이터 셋 각각에 대해서 기설정된 크기를 갖는 패치를 추출할 수 있다. 예시로, 하나의 이미지에 대해서 다양한 위치에서의 기설정된 크기(예를 들어, 픽셀 단위로 w*h 크기)를 갖는 복수의 패치를 추출할 수 있다. At least one processor (120) can train a neural network model using a data set. For example, at least one processor (120) can extract a patch having a preset size for each data set. For example, for one image, a plurality of patches having a preset size (e.g., w*h size in pixels) at various locations can be extracted.
여기서 기설정된 크기는 신경망 모델의 각 컨볼루션 레이어가 처리하는 하나의 단위 크기에 대응될 수 있다. 그리고 패치가 추출된 위치는 랜덤할 수 있으며, 추출위치는 신경 망 모델의 학습 결과에 기초할 수도 있다. The preset size here can correspond to a unit size processed by each convolutional layer of the neural network model. And the location where the patch is extracted can be random, and the extraction location can also be based on the learning result of the neural network model.
적어도 하나의 프로세서(120)는 추출된 패치에 대한 특징 정보를 산출한다. 예를 들어, 적어도 하나의 프로세서(120)는 텍스처 특징과 관련된 통계 값을 산출하거나, 엔트로피 맵을 추출하거나, GLCM 값을 산출하고, 산출된 GLCM 값을 이용하여 특징 정보를 산출할 수 있다. 특징 정보의 산출 동작에 대해서는 도 5 내지 도 8에서 후술한다. At least one processor (120) generates feature information for the extracted patch. For example, at least one processor (120) may generate statistical values related to texture features, extract an entropy map, generate GLCM values, and generate feature information using the generated GLCM values. The operation of generating feature information is described later with reference to FIGS. 5 to 8.
적어도 하나의 프로세서(120)는 산출된 특징 정보에 기초하여 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 신경망 모델을 학습시킬 수 있다. 예를 들어, 적어도 하나의 프로세서(120)는 산출된 특징 정보가 기설정된 조건을 만족하면 패치에 대해서 GAN 방식으로 신경망 모델을 학습시키고, 산출된 특징 정보가 기설정된 조건을 만족시키지 않으면 패치에 대해서 비-GAN 방식으로 신경망 모델을 학습 시킬 수 있다. At least one processor (120) can train a neural network model by determining whether to proceed with learning for a patch in a GAN (Generative adversarial network) manner or a non-GAN manner based on the generated feature information. For example, at least one processor (120) can train a neural network model for a patch in a GAN manner if the generated feature information satisfies a preset condition, and can train a neural network model for a patch in a non-GAN manner if the generated feature information does not satisfy the preset condition.
상술한 동작을 다시 표현하면, 상술한 특징 정보의 추출은 해당 패치가 복잡도가 높은 영역(예를 들어, 얼굴 영역, 글씨 영역) 또는 블러 처리가 적용되지 않는 것이 바람직한 영역인지를 파악하기 위한 것이다. 따라서, 추출된 특징 정보가 복잡도가 높은 영역 또는 블러 처리가 적용되지 않는 것이 바람직한 영역으로 나타내면, 적어도 하나의 프로세서(120)는 비-GAN 방식으로 신경망 모델을 학습시킬 수 있다. 반대로, 현재 패치가 복잡도가 높이 않고, 블러 처리가 적용되는 것이 바람직한 영역이면, 적어도 하나의 프로세서(120)는 GAN 방식으로 신경망 모델을 학습시킬 수 있다. To rephrase the above-described operation, the above-described extraction of feature information is intended to determine whether the corresponding patch is a region with high complexity (e.g., a face region, a text region) or a region where blur processing is not preferably applied. Accordingly, if the extracted feature information indicates a region with high complexity or a region where blur processing is not preferably applied, at least one processor (120) can train the neural network model in a non-GAN manner. Conversely, if the current patch is a region where complexity is not high and where blur processing is preferably applied, at least one processor (120) can train the neural network model in a GAN manner.
여기서, GAN 방식은 이미지 내의 블록 영역을 개선하기 위한 GAN 비교 동작을 GAN 로스를 이용하여 수행하는 학습 방식이다. 그리고 비-GAN 방식은 상술한 GAN 방식에서 상술한 GAN 로스가 적용되지 않는 학습 방식이다. Here, the GAN method is a learning method that performs the GAN comparison operation to improve the block area within the image using the GAN loss. And the non-GAN method is a learning method in which the GAN loss described above is not applied in the GAN method described above.
한편, 이상에서는 선택적으로 GAN 로스가 적용되거나, 적용되지 않는 두 가지 방식으로 학습 동작이 수행되는 것으로 설명하였지만, 구현시에는 GAN 로스에 기설정된 특징 값이 곱하여 적용되는 형태일 수 있다. 예를 들어, GAN 로스에 컨텍스트 값(또는 특징 값)이 적용되어, GAN 로스의 적용 정도가 가변되는 형태일 수도 있다. 이와 같이 구현된다면, 프로세서의 동작은 다음과 같이 표현될 수 있다. Meanwhile, in the above, the learning operation is performed in two ways, either selectively applying the GAN loss or not applying it. However, when implemented, it may be applied by multiplying the GAN loss by a preset feature value. For example, the context value (or feature value) may be applied to the GAN loss, so that the degree of application of the GAN loss may vary. If implemented in this way, the operation of the processor may be expressed as follows.
적어도 하나의 프로세서(120)는 산출된 특징 값에 기초하여 GAN 로스의 비율을 변경하여 신경망 모델을 학습시킨다고 할 수 있다. At least one processor (120) may be said to train a neural network model by changing the ratio of GAN loss based on the produced feature values.
이상과 같이 본 실시 예에 따른 전자 장치(100)는 특징 값에 따라 선택적으로 GAN 학습 또는 비-GAN 학습을 진행하거나, 특징 값에 따라 적용되는 GAN 로스를 가변하여 학습을 수행하는바 얼굴 또는 글씨 등 복잡도가 높은 이미지 영역에 블러 개선이 과하게 적용되는 것을 방지하여 화질 개선 처리가 가능하다. As described above, the electronic device (100) according to the present embodiment selectively performs GAN learning or non-GAN learning according to feature values, or performs learning by varying the GAN loss applied according to feature values, thereby preventing excessive application of blur improvement to image areas with high complexity, such as faces or text, and enabling image quality improvement processing.
한편, 이상에서는 전자 장치(100)를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현 시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 3을 참조하여 이하에서 설명한다.Meanwhile, in the above, only a simple configuration constituting the electronic device (100) has been illustrated and described, but various additional configurations may be provided during implementation. This will be described below with reference to FIG. 3.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 도면이다. FIG. 3 is a diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
도 3을 참조하면, 전자 장치(100')는 메모리(110), 적어도 하나의 프로세서(120), 통신 장치(130), 디스플레이(140), 조작 장치(150)을 포함할 수 있다. Referring to FIG. 3, the electronic device (100') may include a memory (110), at least one processor (120), a communication device (130), a display (140), and an operating device (150).
메모리(110) 및 적어도 하나의 프로세서(120)의 구성에 대해서는 앞서 도 2에서 설명하였는바, 도 2와 다른 동작에 대해서만 이하에서 설명한다. The configuration of the memory (110) and at least one processor (120) has been described above in FIG. 2, and only operations different from those in FIG. 2 will be described below.
통신 장치(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 장치(130)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.The communication device (130) is a configuration that performs communication with various types of external devices according to various types of communication methods. The communication device (130) may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, etc. Here, each communication module may be implemented in the form of at least one hardware chip.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3r Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation) 등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.In addition to the above-described communication method, the wireless communication module may include at least one communication chip that performs communication according to various wireless communication standards, such as zigbee, 3G (3r Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), and 5G (5th Generation).
그 밖에 통신 장치(110)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 UWB(Ultra Wide-Band) 모듈 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.In addition, the communication device (110) may include at least one of wired communication modules that perform communication using a LAN (Local Area Network) module, an Ethernet module, a pair cable, a coaxial cable, an optical fiber cable, or a UWB (Ultra Wide-Band) module.
통신 장치(130)는 데이터 셋을 수신할 수 있다. 구체적으로, 통신 장치(130)는 데이터 셋을 제공하는 서버(미도시)로부터 신경망 모델을 학습시키기 위한 데이터 셋을 수신할 수 있다. The communication device (130) can receive a data set. Specifically, the communication device (130) can receive a data set for training a neural network model from a server (not shown) that provides the data set.
통신 장치(130)는 화질 개선 또는 업스케일을 수행할 이미지를 입력받을 수 있다. 또한, 통신 장치(130)는 화질 개선 또는 업스케일링이 적용된 이미지를 출력할 수 있다. 이러한 이미지는 하나의 스틸 이미지일 수 있으며, 복수의 이미지로 구성되는 동영상일 수 있다. 또한, 이미지는 이미지 자체로 수신되거나, 웹페이지 내의 이미지로 수신되거나, 방송 신호로부터 구성된 이미지일 수도 있다. 예를 들어, 본 개시에 따른 전자 장치가 TV라면 저해상도의 방송 신호를 수신하고, 수신된 방송 신호에 대응되는 이미지를 생성하고, 생성된 이미지를 상술한 방식(즉, 신경망 모델에 적용)으로 업스케일링된 이미지를 생성할 수도 있다. The communication device (130) can input an image to be subjected to image enhancement or upscaling. In addition, the communication device (130) can output an image to which image enhancement or upscaling is applied. This image can be a single still image, or a moving image composed of multiple images. In addition, the image can be received as an image itself, received as an image within a web page, or an image composed from a broadcast signal. For example, if the electronic device according to the present disclosure is a TV, it can receive a low-resolution broadcast signal, generate an image corresponding to the received broadcast signal, and generate an image in which the generated image is upscaled in the manner described above (i.e., applied to a neural network model).
또는 본 개시에 따른 전자 장치가 웹 페이지 등을 표시하는 노트북, 스마트폰, 태블릿 등이라면, 저해상도 이미지를 포함하는 웹페이지를 수신하고, 수신된 웹페이지를 표시하는 과정에서, 포함된 저해상도 이미지를 고해상도로 업스케일링하고, 고해상도로 업스케일링 이미지를 포함하는 웹페이지를 표시하는 것이 가능하다. Or, if the electronic device according to the present disclosure is a laptop, smartphone, tablet, or the like that displays a web page, it is possible to receive a web page including a low-resolution image, and, in the process of displaying the received web page, upscale the included low-resolution image to a high-resolution image, and display the web page including the upscaled high-resolution image.
통신 장치(130)는 학습된 신경망 모델을 송수신할 수 있다. 예를 들어, 전자 장치(100)가 신경망 모델을 학습시키는 서버라면, 학습 동작이 수행된 신경망 모델을 다른 장치가 활용할 수 있도록, 다른 장치에 전송하도록 통신 장치(130)를 제어할 수 있다. 한편, 전자 장치(100)가 TV 등과 같다면, 제조사에서 학습된 제공하는 신경망 모델을 통신 장치(130)를 통하여 수신할 수도 있다. The communication device (130) can transmit and receive the learned neural network model. For example, if the electronic device (100) is a server that learns a neural network model, the communication device (130) can be controlled to transmit the neural network model on which the learning operation has been performed to another device so that the other device can utilize it. Meanwhile, if the electronic device (100) is a TV or the like, the manufacturer can receive a learned neural network model provided by the manufacturer through the communication device (130).
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel), 프로젝터 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(140)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.The display (140) may be implemented as a variety of displays, such as an LCD (Liquid Crystal Display), an OLED (Organic Light Emitting Diodes) display, a PDP (Plasma Display Panel), a projector, etc. The display (140) may also include a driving circuit, a backlight unit, etc., which may be implemented as a form of an a-si TFT, an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc. Meanwhile, the display (140) may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, etc.
디스플레이(140)는 각종 영상을 표시할 수 있다. 예를 들어, 디스플레이(140)는 통신 장치를 통하여 입력된 저해상도의 이미지를 표시하거나, 해당 이미지에 대한 화질 개선 처리가 수행된 이미지를 표시할 수 있다. The display (140) can display various images. For example, the display (140) can display a low-resolution image input through a communication device, or an image for which image quality improvement processing has been performed.
조작 장치(150)는 전자 장치에 대한 각종 설정 등을 입력받을 수 있다. 이와 같은 조작 장치(150)는 상술한 디스플레이(140)와 결합되어 하나의 장치(예를 들어, 터치 스크린)로 구현될 수도 있다. The operating device (150) can receive various settings for the electronic device. Such an operating device (150) can be implemented as a single device (e.g., a touch screen) by being combined with the above-described display (140).
조작 장치(150)는 화질 개선 처리 방식을 설정받을 수 있다. 예를 들어, 조작 장치(150)는 사용자로부터 입력된 이미지에 대한 화질 개선 처리의 수행 여부, 또는 수행하는 경우, 화질 개선의 방식 등을 선택받을 수 있다. 예시로, 사용자로부터 입력된 이미지에 대한 화질 개선 처리를 적용할 것인지, 화질 개선 처리를 적용하는 경우, 업스케일링 방식을 적용할 것인지, 블러 개선 처리를 적용할 것인지, 또한, 블러 개선 처리를 적용하는 경우, 특징 영역은 블러 개선 처리를 적용하지 않을 것인지 등을 입력받을 수 있다. The operating device (150) can set the image quality improvement processing method. For example, the operating device (150) can receive a selection from the user on whether to perform image quality improvement processing on an input image, or if so, the method of image quality improvement. For example, the user can receive input on whether to apply image quality improvement processing on an input image, whether to apply an upscaling method when applying image quality improvement processing, whether to apply blur improvement processing, and, if applying blur improvement processing, whether to not apply blur improvement processing to a feature region.
또한, 조작 장치(150)는 신경망 모델의 학습 과정의 방식 등을 입력받을 수 있다. 예를 들어, 신경망 모델에 적용할 데이터 셋을 선택받거나, 해당 신경망 모델에 대한 학습 방식(예를 들어, GAN 방식만 적용 또는 본 개시와 같이 GAN 방식 및 비-GAN 방식의 조합)을 입력받을 수 있다. 또한, 조작 장치(150)는 후술하는 특징 값을 어떠한 조합으로 설정할 지 등에 대해서도 입력받을 수 있다. In addition, the manipulation device (150) can receive inputs such as the method of the learning process of the neural network model. For example, a data set to be applied to the neural network model can be selected, or a learning method for the corresponding neural network model (for example, only the GAN method or a combination of the GAN method and the non-GAN method as in the present disclosure) can be received. In addition, the manipulation device (150) can receive inputs such as what combination of feature values to be described later will be set.
적어도 하나의 프로세서(120)는 메모리에 저장된 신경망 모델(200)에 대한 학습 명령이 입력되면, 적용될 데이터 셋을 선택받을 수 있다. 데이터 셋이 선택되면, 적어도 하나의 프로세서(120)는 데이터 셋을 획득하도록 통신 장치(130)를 제어할 수 있다. At least one processor (120) can select a data set to be applied when a learning command for a neural network model (200) stored in a memory is input. When a data set is selected, at least one processor (120) can control a communication device (130) to obtain the data set.
데이터 셋이 획득되면, 적어도 하나의 프로세서(120)는 기설정된 학습 방식 또는 사용자가 선택한 학습 방식에 따라 데이터 셋을 이용한 신경망 모델에 대한 학습 동작을 수행할 수 있다. 신경망 모델에 대한 학습이 완료되면, 학습된 신경망 모델을 이용한 이미지 처리를 수행할 수도 있다. When a data set is acquired, at least one processor (120) can perform a learning operation for a neural network model using the data set according to a preset learning method or a learning method selected by the user. When learning for the neural network model is completed, image processing using the learned neural network model can also be performed.
한편, 전자 장치(100)는 외부에서 학습된 신경망 모델을 통신 장치(130)를 통하여 수신하고, 수신된 신경망 모델을 이용하여 입력된 이미지에 대한 화질 처리를 수행할 수도 있다. Meanwhile, the electronic device (100) may receive an externally learned neural network model through a communication device (130) and perform image quality processing on an input image using the received neural network model.
한편, 도 3에 전자 장치(100)가 디스플레이, 조작 장치 등을 포함하는 것으로 도시하였지만, 전자 장치(100)가 신경망 모델만을 학습시키는 장치라면, 디스플레이, 조작 장치 등은 생략될 수 있다. 또한, 전자 장치(100)가 학습된 신경망 모델을 이용하는 장치라면, 도시한 구성 이외에 스피커, 마이크 등과 같은 도시하지 않은 다른 구성을 더 포함할 수도 있다. Meanwhile, although the electronic device (100) is illustrated in FIG. 3 as including a display, an operating device, etc., if the electronic device (100) is a device that only learns a neural network model, the display, the operating device, etc. may be omitted. In addition, if the electronic device (100) is a device that uses a learned neural network model, it may further include other components not illustrated, such as a speaker, a microphone, etc., in addition to the illustrated components.
도 4는 GAN 적용에 따른 화질 저하 예를 도시한 도면이다. Figure 4 is a diagram illustrating an example of image quality degradation due to application of GAN.
도 4를 참조하면, 블러 영역의 개선을 위한 GAN 방식으로 학습된 신경망 모델을 이용하여 출력된 이미지 내의 글씨 영역을 도시한다. Referring to Figure 4, the text area within the output image is shown using a neural network model learned in the GAN method for improving the blur area.
구체적으로, 본 개시에 따른 GAN 방식은 이미지 화질 개선 처리를 수행하는 신경망 모델의 학습 과정에서, 블러 영역에 대한 개선을 위하여 적용된 학습 방식이다. 예를 들어, GAN 방식은 2개의 네트워크를 적대적으로 학습시키며, 하나의 실제 데이터와 비슷한 데이터를 생성하는 네트워크이고, 다른 하나는 생성한 결과를 판정하는 모델이다. Specifically, the GAN method according to the present disclosure is a learning method applied to improve the blur area during the learning process of a neural network model that performs image quality improvement processing. For example, the GAN method trains two networks adversarially, one of which is a network that generates data similar to real data, and the other is a model that determines the generated result.
본 개시에서는 이미지 내의 블러한 부분을 개선하기 위하여 GAN 방식이 적용되었다는 점에서, 이미지 전체적으로 블러한 부분이 개선되는 효과가 있다. 그러나 도 4에 도시된 바와 같이 글씨와 같은 이미지에 대해서 블러한 부분을 개선하기 위한 GAN 방식이 적용되면 블러 개선이 과하게 적용되어 오히려 아티팩트를 만들어내는 경우가 있다. 도시된 바와 같이 글씨의 경우, 블러 개선이 과하게 적용되면 글씨의 경계부분이 도시된 바와 같이 열화될 수 있다. In this disclosure, since the GAN method is applied to improve the blurred portion within the image, there is an effect of improving the blurred portion of the entire image. However, as shown in Fig. 4, when the GAN method is applied to improve the blurred portion of an image such as text, the blur improvement may be excessively applied, which may create artifacts. As shown, in the case of text, if the blur improvement is excessively applied, the boundary of the text may deteriorate as shown.
또한, 도시하지 않았지만, 글씨뿐만 아니라, 사람의 얼굴 또는 텍스처가 높은 영역 등에서는 블러 개선이 적용되면 오히려 이티팩트를 만들어낼 수 있다. Also, although not in the city, blur enhancement can actually create an effect when applied to areas with high texture, such as a person's face or text.
이러한 점을 개선하기 위하여, 본 개시에서는 글씨 영역, 얼굴 영역 등 텍스처의 복잡도가 높은 영역에 대해서는 블러 개선이 적용되지 않거나, 블러 개선이 과하게 적용되지 않도록 하는 방식을 적용하였다. To improve these points, the present disclosure applies a method to prevent blur enhancement from being applied or from being applied excessively to areas with high texture complexity, such as text areas and face areas.
한편, 상술한 동작을 위해서는 해당 영역이 글씨 영역, 얼굴 영역 등 텍스처의 복잡도가 높은 영역인지를 파악하는 방법이 필요하며, 텍스처의 복잡도가 높은 영역으로 파악되면 어떠한 방식으로 기존의 GAN 방식과 다르게 동작시킬 것인지가 고려되어야 한다. 이하에서는 도 5 내지 도 8을 참조하여 보다 상세하게 본 개시의 동작을 설명한다. Meanwhile, for the above-described operation, a method for determining whether the area in question is an area with high texture complexity, such as a text area or a face area, is required, and if it is determined to be an area with high texture complexity, a method for operating differently from the existing GAN method must be considered. Hereinafter, the operation of the present disclosure will be described in more detail with reference to FIGS. 5 to 8.
도 5는 본 개시의 선택적 GAN 적용 동작을 설명하기 위한 도면이다. FIG. 5 is a diagram for explaining the selective GAN application operation of the present disclosure.
도 5를 참조하면, 신경망 모델(200)이 개시된다. 신경망 모델은 뉴럴 네트워크(Neural Network), 네트워크 모델, 딥러닝 모델로 지칭될 수 있다. 이러한 신경망 모델(200)은 이미지를 입력받으면, 입력된 이미지에 대해서 화질이 개선된 이미지를 출력할 수 있다. 또한, 해당 신경망 모델은 화질 개선뿐만 아니라, 저해상도의 이미지가 입력되면, 입력된 해상도보다 높은 고해상도 이미지를 출력할 수 있다. Referring to FIG. 5, a neural network model (200) is disclosed. The neural network model may be referred to as a neural network, a network model, or a deep learning model. When an image is input, the neural network model (200) can output an image with improved image quality for the input image. In addition, when a low-resolution image is input, the neural network model can output a high-resolution image with a higher resolution than the input resolution, in addition to improving the image quality.
저화질의 이미지를 단순히 업스케일링하는 경우, 부족한 픽셀 정보에 의하여 아트팩트가 눈에 띄게 됨에 따라, 최근에는 신경망 모델(200)을 이용하여 업스케일링 동작을 수행한다. 신경망 모델을 이용하여 업스케일링 동작을 수행하면 학습된 정보에 따라 부족한 픽셀 정보를 메울 수 있는바 더욱 높은 품질의 결과를 얻을 수 있는 효과가 있다. When simply upscaling a low-quality image, the artwork becomes noticeable due to insufficient pixel information, so recently, upscaling is performed using a neural network model (200). When upscaling is performed using a neural network model, insufficient pixel information can be filled in according to learned information, which has the effect of obtaining a higher quality result.
다만, 신경망 모델은 부족한 픽셀 정보를 학습된 네트워크 값을 이용하여 업스케일링 동작을 수행한바, 출력 이미지가 다소 블러한 부분이 존재한다. 이러한 블러한 부분을 개선하기 위한 기존에는 신경망 모델의 학습 과정에서 GAN을 적용하여 신경망 모델만을 이용한 경우보다 고품질의 결과를 얻을 수 있었다. However, since the neural network model performs an upscaling operation using the learned network values for the insufficient pixel information, there are some parts of the output image that are somewhat blurry. In order to improve these blurry parts, GAN was applied in the learning process of the neural network model in the past, and higher quality results were obtained than when only the neural network model was used.
예를 들어, 도시된 바와 같이 판정 모델(S510)을 이용하여 신경망 모델의 출력 이미지(20)와 실제 입력 이미지(10)에 대한 고품질 이미지(30)를 비교하여, 출력 이미지(20)와 실제 고품질 이미지가 동일한 것인지 아닌지 비교하는 동작을 수행하고, 동일하지 않다고 판단되면 동일하다고 판정될 때까지 학습이 진행될 수 있다. For example, as illustrated, a judgment model (S510) is used to compare an output image (20) of a neural network model with a high-quality image (30) for an actual input image (10), and an operation is performed to compare whether the output image (20) and the actual high-quality image are the same or not. If it is determined that they are not the same, learning can proceed until they are determined to be the same.
다만, 이미지 전체적으로 고품질의 결과를 얻을 수 있는 것과는 별개로, 글씨 영역, 얼굴 영역과 같은 영역에 대해서는 GAN 적용에 따라 오히려 블러 개선 동작이 과하게 처리되어 아티팩트가 되는 문제점이 확인되었다. However, apart from being able to obtain high-quality results for the entire image, it was confirmed that there was a problem in which the blur improvement operation was excessively processed in areas such as text areas and face areas due to the application of GAN, resulting in artifacts.
즉, 블러한 영역을 개선하기 위한 GAN 적용은 적용하되, 글씨 영역, 얼굴 영역과 같이 텍스처가 복잡한 영역에 대해서는 GAN 방식을 적용하지 않거나, 다른 영역보다 낮은 정도로 GAN 방식이 적용될 필요가 있다. In other words, GAN should be applied to improve blurred areas, but the GAN method should not be applied to areas with complex textures, such as text areas and face areas, or the GAN method should be applied to a lower degree than other areas.
이러한 적용을 위해서는 두 가지 점이 해결되어야 한다. 즉, GAN 방식이 적용되지 않거나, 적용되더라도 낮은 정도로 적용할 영역을 어떠한 식으로 판정할 것인지와 적용되지 않거나 적용되지 않더라도 낮은 정도로 어떻게 적용하여 학습 시킬 것인지이다. For this application, two issues need to be resolved: how to determine the areas where the GAN method is not applicable or is applied to a low degree, and how to apply it to a low degree and train it even when it is not applicable or is not applied.
본 개시에서는 첫번째 부분에 대해서는 이미지에서 특징 정보(S520)를 추출하고, 추출된 추출 정보를 이용하는 것으로 해결하였다. 여기서 특징 정보는 이미지 내의 텍스처와 관련된 특징으로, 본 개시에서는 대략 3가지 방법을 통하여 산출하는 예시를 이하에서 설명한다. 하지만, 해당 방법들에 제한되지 않으며, 이미지의 텍스처의 특징과 관련된다면, 본 개시에서 설명하지 않은 방식 또는 본 개시의 방식을 일부 변경하여 이용할 수 있다. In the present disclosure, the first part is solved by extracting feature information (S520) from an image and using the extracted extracted information. Here, the feature information is a feature related to the texture in the image, and in the present disclosure, examples of calculating it through roughly three methods are described below. However, it is not limited to the methods, and if it is related to the feature of the texture of the image, a method not described in the present disclosure or a method of the present disclosure can be used by partially changing it.
두번째 부분에 대해서는 상술한 특징 정보를 수치적으로 산출하고, 산출된 값을 GAN 로스의 보정 값(또는 가중치)으로 적용하는 것으로 해결하였다. 이하에서는 산출된 값을 단순히 GAN 로스에 곱하여 이용하는 것으로 설명하였지만, 즉, 텍스처의 정도에 따라 적용 정도를 가변하여 적용하는 형태를 가정하여 설명하였지만, 구현시에는 산출된 특징 값이 일정 값보다 작으면 GAN이 적용되도록 1의 값을 출력하고, 산출된 특징 값이 일정 값보다 크면 GAN 로스가 적용되지 않도록 0의 값을 출력하는 형태로도 구현될 수 있다. For the second part, the feature information described above is numerically calculated and the calculated value is applied as the correction value (or weight) of the GAN loss. In the following, the calculated value is simply multiplied by the GAN loss and used, that is, it is explained assuming that the degree of application is varied depending on the degree of texture. However, when implementing, it can also be implemented in a form where a value of 1 is output so that GAN is applied if the calculated feature value is less than a certain value, and a value of 0 is output so that GAN loss is not applied if the calculated feature value is greater than a certain value.
즉, 도시된 530 단계와 같이 산출된 컨텍스트 값(즉, 특징 값)이 일정 값보다 크면 GAN을 적용하고, 산출된 컨텍스트 값이 일정값보다 작으면 GAN을 적용하지 않는 형태로 구현될 수 있다. 또한, 상술한 동작은 컨텍스트 값의 속성에 따라 반대되는 형태로도 구현될 수 있다. 즉, 컨텍스트 값이 복잡도와 비례하는 경우라면, 컨텍스트 값이 기설정된 값보다 크면 GAN을 적용하지 않고, 컨텍스트 값이 기설정된 값보다 작으면 GAN을 적용하는 형태도 가능하다. That is, as in the illustrated step 530, if the output context value (i.e., feature value) is greater than a certain value, GAN is applied, and if the output context value is less than a certain value, GAN is not applied. In addition, the above-described operation can also be implemented in the opposite form depending on the property of the context value. That is, if the context value is proportional to the complexity, it is also possible to not apply GAN if the context value is greater than a preset value, and to apply GAN if the context value is less than a preset value.
또한, 도시된 예에서는 하나의 기설정된 값과 산출된 값을 비교하는 것으로 도시하였지만, 구현시에는 두 개의 비교 값을 이용할 수도 있다. 예를 들어, 산출된 값이 제1 값보다 낮으면 GAN을 적용하고, 제1 값과 제2 값 사이면 산출된 값에 비례하여 GAN 로스를 조정하여 GAN을 적용하고, 제2 값보다 크면 GAN을 적용하는 방식도 가능하다. In addition, although the illustrated example shows that one preset value and the calculated value are compared, two comparison values may be used during implementation. For example, if the calculated value is lower than the first value, GAN is applied, if it is between the first and second values, GAN is applied by adjusting the GAN loss in proportion to the calculated value, and if it is greater than the second value, GAN is applied.
한편, 이상에서는 신경망 모델의 출력 이미지에 대한 블러 영역 개선을 위한 GAN 방식을 적용하고, 선택적으로 GAN 방식이 적용되지 않는 것으로 도시하고 설명하였다. 그러나 반대로, GAN 방식의 적용을 샤프니스 영역의 개선을 위하여 GAN 방식을 적용하고, 선택적으로 GAN 방식이 적용되지 않은 형태로도 구현될 수 있다. 또한, 이상에서는 화질 개선의 하나의 인자로써, 블러/샤프니스를 언급하였지만, 해당 인자 이외에 스무딩, 밝기 보정 등 다양한 화질 개선 처리도 상술한 방식이 이용될 수 있다. Meanwhile, in the above, the GAN method is applied to improve the blur area of the output image of the neural network model, and optionally the GAN method is not applied. However, conversely, the application of the GAN method can also be implemented in a form in which the GAN method is applied to improve the sharpness area, and optionally the GAN method is not applied. In addition, although blur/sharpness is mentioned as one factor of image quality improvement in the above, the above-described method can also be used for various image quality improvement processes such as smoothing and brightness correction in addition to the factor.
이하에서는 상술한 기본 적인 내용을 기초로, 본 개시에 따른 신경망 모델의 학습 동작을 설명한다. Below, the learning operation of the neural network model according to the present disclosure is explained based on the basic contents described above.
신경망 모델은 복수의 데이터 셋을 이용하여 학습될 수 있다. 우선은 GAN 방식으로 학습의 동작을 설명한다. Neural network models can be trained using multiple data sets. First, we explain the learning operation using the GAN method.
GAN 방식은 신경망 모델에 데이터 셋 중 저해상도 이미지를 입력하여 출력 고해상도 이미지를 생성하고, 생성된 고해상도 출력 이미지와 실제 고해상도 이미지를 비교기(510)가 비교하여, 동일한지 동일하지 않는지 판정하게 된다. The GAN method inputs a low-resolution image from a data set into a neural network model to generate an output high-resolution image, and a comparator (510) compares the generated high-resolution output image with an actual high-resolution image to determine whether they are the same or not.
동일하지 않은 경우, 두 이미지가 동일한 형태가 되도록 신경망 모델의 각 뉴런은 학습되고, 상술한 과정을 반복하게 됨에 따라 신경망 모델이 학습된다. If they are not identical, each neuron of the neural network model is trained so that the two images have the same shape, and the neural network model is trained by repeating the above-described process.
이러한 경우의 GAN의 손실 함수는 아래의 수학식 1과 같을 수 있다. The loss function of GAN in this case can be as shown in
[수학식 1][Mathematical formula 1]
앞서 설명한 바와 같이 상술한 손실함수만으로 신경망 모델이 학습되면, 복잡도가 높은 영역에 대해서는 오히려 아트팩트가 발생할 여지가 있는바, 복잡도가 높은 영역은 해당 GAN 로스가 적용되지 않거나, 낮은 GAN 로스로 적용되도록 본 개시에서는 다음과 같은 손실 함수를 이용한다. As explained above, if a neural network model is trained only with the above-described loss function, artifacts may occur in areas with high complexity. Therefore, in order to prevent the GAN loss from being applied to areas with high complexity or to apply a low GAN loss, the following loss function is used in this disclosure.
[수학식 2][Mathematical formula 2]
여기서 Loss 는 전제 손실 함수이고, L1은 신경망 모델의 손실 함수, 은 GAN 로스이고, Context는 선택적으로 GAN 방식의 적용을 위한 본 개시의 특징 값이다. Here, Loss is the premise loss function, and L1 is the loss function of the neural network model. is the GAN loss, and Context is a feature value of the present disclosure for optionally applying the GAN method.
구체적으로, 이미지의 학습 과정에서 복수의 패치를 추출하고, 복수의 패치 단위로 학습 동작이 수행되는데, 본 개시의 GAN 방식 또는 비-GAN 방식의 적용은 이러한 패치 단위로 수행될 수 있다. Specifically, in the learning process of an image, multiple patches are extracted, and learning operations are performed in units of multiple patches. The application of the GAN method or non-GAN method of the present disclosure can be performed in units of these patches.
이에 따라, 본 개시의 전자 장치는 패치를 추출하고, 추출된 패치에서 특징 값을 생성하고, 생성된 특징 값과 기설정된 값을 비교하여 해당 패치에 대해서 GAN 방식으로 학습을 수행할지 아니면, 비-GAN 방식으로 적용할지가 적용될 수 있다. Accordingly, the electronic device of the present disclosure can extract a patch, generate a feature value from the extracted patch, and compare the generated feature value with a preset value to determine whether to perform learning on the patch in a GAN manner or apply it in a non-GAN manner.
여기서 특징 값은 패치 내에 글씨, 얼굴 등 블러 처리의 적용이 적용되지 않는 지를 나타내는 값, 또는 텍스처의 복잡도를 수치적으로 나타내는 값으로, 컨텍스트 값, 텍스처 값 등으로 지칭될 수 있다. Here, the feature value is a value indicating whether blur processing is not applied to text, faces, etc. within the patch, or a value numerically indicating the complexity of the texture, and can be referred to as a context value, texture value, etc.
이하에서는 도 6 내지 도 8을 참조하여, 패치에서 특징 값을 산출하는 다양한 방식을 설명한다. Below, various methods for calculating feature values from a patch are described with reference to FIGS. 6 to 8.
도 6은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면이다. FIG. 6 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
도 6을 참조하여, 이미지(610) 내의 복수의 패치(620, 630)가 추출될 수 있다. 도시된 예에서는 설명을 위하여 복잡도가 높은 패치(620)와 복잡도가 상대적으로 낮은 패치(530)만을 도시하였지만, 구현시에는 기설정된 방식 또는 신경망 모델의 동작에 따라 수많은 패치가 추출될 수 있다. Referring to FIG. 6, multiple patches (620, 630) within an image (610) can be extracted. In the illustrated example, only a patch (620) with high complexity and a patch (530) with relatively low complexity are illustrated for explanation, but upon implementation, a large number of patches can be extracted according to a preset method or the operation of a neural network model.
추출된 패치 별로 다양한 특징이 있을 수 있는데, 예를 들어, 첫번째 패치(620)의 경우, 텍스처가 많을 수 있다. 그리고 두 번째 패치(630)는 텍스처가 적을 수 있다. There may be different features for each extracted patch, for example, the first patch (620) may have a lot of texture, and the second patch (630) may have little texture.
이와 같이 텍스처가 많은 이미지 영역(또는 패치)(620)은 상술한 바와 같이 블러 처리가 과하게 적용되면, 아티팩트가 오히려 만들어 질 수 있다. 반대로, 텍스처가 적은 이미지 영역(또는 패치)(630)은 블러 처리가 화질의 개선이 될 수 있다. As described above, if blur processing is excessively applied to an image area (or patch) (620) with a lot of texture, artifacts may be created. Conversely, blur processing may improve the image quality of an image area (or patch) (630) with little texture.
이와 같이 패치의 텍스처 상태에 따라 GAN 방식이 적용될 필요가 있다. 따라서, 이러한 텍스쳐 상태를 판단하기 위하여, 텍스처 상태를 수치화할 필요가 있다. In this way, the GAN method needs to be applied according to the texture status of the patch. Therefore, in order to judge this texture status, it is necessary to quantify the texture status.
첫번째로 텍스처 특징과 관련된 통계 값을 산출하여 이용할 수 있다. 이러한 통계값은 다음의 수학식 3과 같은 방식으로 산출될 수 있다. First, statistical values related to texture features can be calculated and utilized. These statistical values can be calculated in the following
[수학식 3][Mathematical Formula 3]
여기서 entropy는 텍스처 특징과 관련된 통계 값이다. Here, entropy is a statistical value related to texture features.
도시된 예에서는 텍스처가 복잡한 영역(620)은 상대적으로 높은 엔트로피 값(예를 들어, 6.9749)을 산출하고, 텍스처가 복잡하지 않은 영역(630)은 상대적으로 낮은 엔트로피 값(예를 들어, 5.4652)을 산출함을 확인할 수 있다. 이와 같이 본 개시에서 이용하는 엔트로피 값은 텍스처의 복잡도에 대해서 상대적인 값을 산출함을 확인할 수 있다. In the illustrated example, it can be confirmed that an area (620) with a complex texture produces a relatively high entropy value (e.g., 6.9749), and an area (630) with a non-complex texture produces a relatively low entropy value (e.g., 5.4652). In this way, it can be confirmed that the entropy value used in the present disclosure produces a relative value with respect to the complexity of the texture.
두번째로, 텍스처 특징과 관련된 값을 이미지 변환을 통하여 이용할 수 있다. 구체적으로, 추출된 패치 내의 각 화소별로 주변 화소들과의 유사 여부를 나타내는 엔트로피 맵을 생성하고, 생성한 엔트로피 맵을 이용하여 특징 정보를 산출할 수 있다. 예를 들어, 패치 내의 픽셀 별로, 각 픽셀과 인접한 9개의 주변 화소들 간의 밝기 차이를 이용하여 엔트로피 맵을 산출하고, 산출된 엔트로피 맵을 이용할 수 있다. Second, values related to texture features can be utilized through image transformation. Specifically, an entropy map indicating whether each pixel in the extracted patch is similar to surrounding pixels can be generated, and feature information can be derived using the generated entropy map. For example, an entropy map can be derived using the brightness difference between each pixel and the nine surrounding pixels adjacent to each pixel in the patch, and the derived entropy map can be utilized.
도시된 예에서는 텍스처가 복잡한 영역(620)에 대한 엔트로피 맵(640)은 비교적 흰색을 갖는데 반해, 텍스처가 복잡하지 않은 영역(630)에 대한 엔트로피 맵(650)은 어두운 색을 가짐을 알 수 있다. 구현시에는 해당 엔트로피 맵을 그대로 특징 정보로 이용할 수 있으며, 해당 엔트로피 맵의 평균 밝기 값을 특징 값으로 산출하여 이용할 수도 있다. In the illustrated example, it can be seen that the entropy map (640) for the area (620) with a complex texture has a relatively white color, while the entropy map (650) for the area (630) with a non-complex texture has a dark color. When implemented, the entropy map can be used as feature information as is, or the average brightness value of the entropy map can be calculated and used as a feature value.
또한, 구현시에는 상술한 방식 이외에 GLCM 행렬을 이용할 수도 있다. 이에 대해서는 도 7을 참조하여 이하에서 설명한다. In addition, in the implementation, a GLCM matrix may be used in addition to the above-described method. This is described below with reference to Fig. 7.
도 7은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면이다. FIG. 7 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
구체적으로, 도 7은 GLCM(Glay-level co-occurrence matrix) 값을 이용하여 특징 정보를 생성하는 실시예를 설명하기 위한 도면이다. Specifically, FIG. 7 is a diagram for explaining an embodiment of generating feature information using GLCM (Glay-level co-occurrence matrix) values.
GLCM은 명암도 동시발생 행렬, 공간 명암도 의존행렬로 지칭될 수 있으며, 픽셀의 공간 관계를 고려하여 텍스처를 검색하는 통계적 방법이다. GLCM 함수는 영상에서 특정 값을 가지는 픽셀 쌍이 특정 공간 관계에서 얼마나 자주 발생하는지 계산하여 GLCM을 생성하고, 이 행렬에서 통계적 측정값(예를 들어, 대비, 상관, 에너지, 동질성)을 추출하는 방법을 통해 영상의 텍스처 특성을 파악할 수 있다. GLCM can be referred to as intensity co-occurrence matrix, spatial intensity dependence matrix, and is a statistical method for retrieving texture by considering the spatial relationship of pixels. The GLCM function calculates how often a pair of pixels with a specific value in an image occurs in a specific spatial relationship to generate a GLCM, and extracts statistical measures (e.g., contrast, correlation, energy, homogeneity) from this matrix to identify the texture characteristics of the image.
예를 들어, 그레이 값을 0~3까지 3개의 단계로 나타낸다면, GLCM 행렬의 첫번째는 인접한 두 픽셀이 00 값을 갖는 개수이고, 두번째 값은 인접한 두 픽셀이 01 값을 갖는 개수이다. 이와 같은 방식으로 GLCM 행렬을 생성할 수 있다. For example, if the gray value is expressed in three steps from 0 to 3, the first value of the GLCM matrix is the number of adjacent two pixels having the
그리고 이와 같이 생성된 GLCM 행렬을 이용하여 다음과 같은 다양한 텍스처와 관련된 측정 값을 산출할 수 있다. And using the GLCM matrix generated in this way, the following various texture-related measurement values can be derived.
여기서 대비 값은 명암도 동시 발생 행렬의 국소적 변화를 측정할 수 있다. 예를 들어, 패치 내의 대비 차이를 나타내며 다음의 수학식 4를 통하여 산출될 수 있다. Here, the contrast value can measure the local change in the luminance co-occurrence matrix. For example, it represents the contrast difference within a patch and can be calculated through the following
[수학식 4][Mathematical formula 4]
여기서, i, j는 GLCM 행렬의 행렬좌표이고, 이러한 대비 값은 텍스처가 복잡하면 높은 값을 갖는다. Here, i and j are the matrix coordinates of the GLCM matrix, and this contrast value has a high value when the texture is complex.
상관 값은 지정된 픽셀 쌍의 결합 확률을 나타내며, 예를 들어, 패치 내의 픽셀 들 간의 상관 관계를 나타내며, 다음의 수학식 5를 통하여 산출될 수 있다.The correlation value represents the joint probability of a given pair of pixels, for example, the correlation between pixels within a patch, and can be calculated using the following
[수학식 5][Mathematical Formula 5]
이러한 상관 값은 텍스처가 복잡하면 낮은 값을 가질 수 있다. These correlation values can have low values if the texture is complex.
에너지 값은 GLCM 요소들의 제곱의 합을 나타내며, 제곱평균 값, 균등성, ASM 값으로 지칭될 수 있으며, 다음의 수학식 6을 통하여 산출될 수 있다. The energy value represents the sum of the squares of the GLCM elements, and can be referred to as the mean square value, uniformity, and ASM value, and can be calculated through the following mathematical expression 6.
[수학식 6][Mathematical Formula 6]
이러한 에너지 값은 텍스처가 복잡하면 낮은 값을 가질 수 있다. These energy values can have lower values if the texture is complex.
동일 값(또는 동질성)은 GLCM 요소가 GLCM 대각선에 얼마나 근접하게 분포해있는지를 측정하는 값으로, 패치 내의 대각 방향에 대한 GLCM 값의 유사 상태를 나타내며 다음의 수학식 7을 통하여 산출될 수 있다. The identity value (or homogeneity) is a value that measures how closely the GLCM elements are distributed along the GLCM diagonal, indicating the similarity of the GLCM values along the diagonal direction within the patch, and can be calculated using the following
[수학식 7][Mathematical formula 7]
이러한 동일 값은 텍스처가 복잡하면 낮은 값을 가질 수 있다. These identical values can have lower values if the texture is complex.
이와 같이 패치가 추출되면, 추출된 패치에 대한 GLCM 행렬을 산출하고, 산출된 GLCM 행렬을 이용하여 상술한 4가지 특징 값(예를 들어, 대비 값, 상관 값, 에너지 값, 동일 값)을 산출할 수 있다.Once the patches are extracted in this way, a GLCM matrix for the extracted patches can be calculated, and the four feature values described above (e.g., contrast value, correlation value, energy value, and identity value) can be calculated using the calculated GLCM matrix.
한편, 이상에서는 각 패치 별로 개별적인 특징 값을 산출하는 방식만을 설명하였지만, 구현시에는 상술한 방식들을 조합하여 특징 값을 산출할 수도 있다. 이에 대해서는 도 8을 참조하여 이하에서 설명한다. Meanwhile, in the above, only the method of calculating individual feature values for each patch was described, but during implementation, the feature values can be calculated by combining the above-described methods. This is described below with reference to Fig. 8.
도 8은 본 개시의 일 실시 예에 따른 특징 정보의 생성 예를 설명하기 위한 도면이다. FIG. 8 is a diagram for explaining an example of generating feature information according to one embodiment of the present disclosure.
도 8을 참조하면, 다른 텍스처 특징을 갖는 두 패치에 대해서 산출된 특징 정보의 예를 도시한 도면이다. 구체적으로, 각 패치별로, 엔트로피 값을 개별적으로 산출하고, 각 패치별 GLCM 행렬을 산출하여 도 7과 같은 4개의 특징 값을 산출하고, 산출된 엔트로피 값과 GLCM과 관련된 4개의 특징을 조합하여 특징 값을 최종적으로 산출할 수 있다. Referring to Fig. 8, it is a drawing showing an example of feature information calculated for two patches having different texture characteristics. Specifically, for each patch, an entropy value is calculated individually, a GLCM matrix is calculated for each patch, and four feature values as in Fig. 7 are calculated, and the calculated entropy value and four features related to the GLCM are combined to finally calculate the feature values.
[수학식 8][Mathematical formula 8]
여기서 Context value 는 특징 값이고, entropy는 도 5에서 산출된 엔트로피 값, contrast는 도 7에서 산출한 대비 값, correlation은 도 7에서 산출한 상관 값, energy는 도 7에서 산출한 제곱평균 값, homogeneity는 도 7에서 산출한 동질 값이다. Here, context value is a feature value, entropy is an entropy value calculated in Fig. 5, contrast is a contrast value calculated in Fig. 7, correlation is a correlation value calculated in Fig. 7, energy is a square root value calculated in Fig. 7, and homogeneity is a homogeneity value calculated in Fig. 7.
앞서 설명한 바와 같이 상관 값은, 제곱평균 값, 동질 값은 텍스처가 복잡하면 낮은 값을 갖는다는 점에서, 엔트로피 값과 대비 값과 반대의 값을 갖는다는 점에서, 부호를 변경하기 위한 처리가 되어 있음을 확인할 수 있다. As explained above, the correlation value has been processed to change the sign in that the root mean value and the homogeneity value have lower values when the texture is complex, and the entropy value and contrast value have opposite values.
한편, 도시된 예에서는 엔트로피에 대해서만 1/8의 가중치가 적용되었지만, 구현시에는 설명하지 않은 다양한 형태의 가중치가 적용될 수 있다. 또한, 상술한 특징 정보 중 일부가 생략된 형태로도 구현될 수 있다. Meanwhile, in the illustrated example, a weight of 1/8 is applied only to entropy, but various types of weights not described can be applied during implementation. In addition, it can be implemented in a form where some of the above-described feature information is omitted.
도 8을 참조하면, 텍스처가 높은 패치(810)에 대해서는 비교적 높은 특징 값(0.7021)이 산출되고, 텍스처가 높지 않은 패치(840)에 대해서는 비교적 낮은 특징 값(0.45)가 산출됨을 확인할 수 있다. Referring to Fig. 8, it can be confirmed that a relatively high feature value (0.7021) is produced for a patch with high texture (810), and a relatively low feature value (0.45) is produced for a patch with low texture (840).
이러한 경우, 기설정된 값(예를 들어, 0.5)과 산출된 특징 값을 비교하여, 산출된 특징 값이 0.5보다 크면 GAN을 적용하지 않는 형태로 비-GAN 방식으로 학습을 수행하고, 산출된 특징 값이 0.5보다 작으면 GAN을 적용하는 형태로 학습을 수행할 수 있다. In this case, learning can be performed in a non-GAN manner by comparing the preset value (e.g., 0.5) with the calculated feature value, and if the calculated feature value is greater than 0.5, learning can be performed by not applying GAN, and if the calculated feature value is less than 0.5, learning can be performed by applying GAN.
도 9는 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 도면이다. FIG. 9 is a drawing for explaining a control method according to one embodiment of the present disclosure.
도 9를 참조하면, 이미지의 화질을 개선하는 신경망 모델을 학습시키기 위한 데이터 셋을 획득한다(S910). Referring to Fig. 9, a data set for training a neural network model that improves image quality is obtained (S910).
그리고 데이터 셋을 이용하여 신경망 모델을 학습시킨다(S920). 구체적으로, 데이터 셋 각각에 대해서 기설정된 크기를 갖는 패치를 추출하고, 추출된 패치에 대한 특징 정보를 산출하고, 산출된 특징 정보에 기초하여 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 신경망 모델을 학습시킬 수 있다. And the neural network model is trained using the data set (S920). Specifically, for each data set, a patch having a preset size is extracted, feature information for the extracted patch is calculated, and based on the calculated feature information, whether to proceed with learning for the patch using a GAN (Generative adversarial network) method or a non-GAN method is determined, thereby training the neural network model.
예를 들어, 추출된 패치에 대해서 텍스처 특징과 관련된 통계 값을 특징 정보로 산출하거나, 추출된 패치 내의 각 화소별로 주변 화소들과의 유사 여부를 나타내는 엔트로피 맵을 생성하고, 생성된 엔트로피 맵을 이용하여 특징 정보를 산출하거나, 추출된 패치 내의 각 화소별 GLCM(Glay-level co-occurrence matrix) 값을 산출하고, 산출된 GLCM 값을 이용하여 적어도 하나의 특징 정보를 산출할 수 있다. For example, for the extracted patch, statistical values related to texture features can be calculated as feature information, or an entropy map indicating the similarity between each pixel in the extracted patch and surrounding pixels can be generated, and feature information can be calculated using the generated entropy map, or a GLCM (Glay-level co-occurrence matrix) value can be calculated for each pixel in the extracted patch, and at least one feature information can be calculated using the calculated GLCM value.
한편, 구현시에는 상술한 특징 정보들을 복합적으로 이용할 수 있다. 이때, 각 특징 정보에 대해서 개별적인 가중치를 적용하여 최종적으로 특징 값을 산출할 수 있다. Meanwhile, during implementation, the above-described feature information can be used in combination. At this time, individual weights can be applied to each feature information to finally calculate the feature value.
이와 같이 특징 값이 산출되면, 특징 값과 기설정된 기준 값을 비교하여, 패치에 대한 학습을 GAN(Generative adversarial network) 방식 또는 비-GAN 방식으로 진행할지를 결정하여 신경망 모델을 학습시킬 수 있다. Once the feature values are derived in this way, the feature values can be compared with preset reference values to determine whether to proceed with learning for the patch using the GAN (Generative adversarial network) method or the non-GAN method, thereby training the neural network model.
도 10은 본 개시의 일 실시 예에 따른 선택적 학습 방법을 설명하기 위한 흐름도이다. FIG. 10 is a flowchart illustrating a selective learning method according to one embodiment of the present disclosure.
도 10을 참조하면, 입력된 데이터 셋 각각에 대해서 복수의 패치를 추출할 수 있다(S1010). 복수의 패치 각각의 크기는 기설정된 크기를 가질 수 있으며, 생성되는 패치의 개수 및 위치는 기설정된 알고리즘 또는 신경망 모델의 설계 방식에 따를 수 있다. Referring to Fig. 10, multiple patches can be extracted for each input data set (S1010). Each of the multiple patches can have a preset size, and the number and position of the generated patches can be based on a preset algorithm or design method of a neural network model.
이와 같이 하나의 데이터 셋에 대한 복수의 패치가 추출되면, 각 패치 별로 특징 정보가 산출될 수 있다(S1020). 구체적으로, 앞서 설명한 바와 같이 패치에 대한 엔트로피 값을 산출하거나, 엔트로피 맵을 산출하거나, GLCM 행렬을 산출하고, 산출된 GLCM 행렬을 이용하여 대비 값, 상관 값, 에너지 값, 동질 값 등을 산출할 수 있다. 구현시에는 산출된 값 중 하나만을 이용할 수 있으며, 상술한 값을 조합하여 특징 값을 산출할 수 있다. In this way, when multiple patches are extracted for one data set, feature information can be calculated for each patch (S1020). Specifically, as described above, an entropy value for a patch, an entropy map, or a GLCM matrix can be calculated, and contrast values, correlation values, energy values, and homogeneity values can be calculated using the calculated GLCM matrix. During implementation, only one of the calculated values can be used, and the feature values can be calculated by combining the above-described values.
특징 값이 산출되면, 특징 값과 기설정된 값을 비교하여(S1030), 기설정된 조건이 만족되면 비-GAN 방식으로 신경망을 학습할 수 있다(S1040). 예를 들어, 특징 값이 기설정된 값보다 크면 비-GAN 방식으로 신경망을 학습할 수 있다. 한편, 여기서 특징 값이 기설정된 값보다 큰 경우를 기설정된 조건을 만족하는 것으로 봤는데, 이는 산출된 특징 값이 텍스처의 복잡도에 비례하도록 계산되었기 때문이다. 즉, 앞서 산출된 특징 값이 텍스처의 복잡도와 반비례된다면, 특징 값이 기설정된 값보다 작은 경우를 기설정된 조건을 만족하는 것으로 볼 수도 있다. When the feature value is calculated, the feature value is compared with the preset value (S1030), and if the preset condition is satisfied, the neural network can be trained in a non-GAN manner (S1040). For example, if the feature value is greater than the preset value, the neural network can be trained in a non-GAN manner. Meanwhile, in this case, the case where the feature value is greater than the preset value is considered to satisfy the preset condition, because the calculated feature value is calculated to be proportional to the complexity of the texture. In other words, if the previously calculated feature value is inversely proportional to the complexity of the texture, the case where the feature value is less than the preset value can be considered to satisfy the preset condition.
반대로, 기설정된 조건이 만족되지 않으면, GAN 방식으로 신경망을 학습할 수 있다(S1050). 한편, 이상에서는 조건의 만족 여부에 따라 선택적으로 GAN 방식으로 학습시키거나, 비-GAN 방식으로 학습을 수행하는 것으로 도시하고 설명하였지만, 구현시에는 GAN 로스는 항시 적용되고, 산출된 특징 값이 GAN 로스의 가중치 값으로 적용되어 텍스처가 복잡하면 GAN 로스가 낮게 학습이 진행되고, 텍스처가 단순하면 GAN 로스가 높게 학습이 진행되는 형태로도 구현될 수 있다. Conversely, if the preset condition is not satisfied, the neural network can be trained in the GAN manner (S1050). Meanwhile, in the above, it is illustrated and explained that training is performed selectively in the GAN manner or in the non-GAN manner depending on whether the condition is satisfied. However, when implemented, the GAN loss is always applied, and the calculated feature value is applied as the weight value of the GAN loss, so that training progresses with a low GAN loss when the texture is complex, and training progresses with a high GAN loss when the texture is simple.
또한, 상술한 과정은 모든 데이터 셋의 모든 패치에 대해서 반복적으로 수행되면, 전체 로스 값이 작은 값을 갖도록 반복적으로 적용되어 신경망 모델의 학습이 진행될 수 있다. In addition, if the above-described process is repeatedly performed for all patches of all data sets, the learning of the neural network model can proceed by repeatedly applying the process so that the overall loss value has a small value.
한편, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 기존 전자 장치에 설치 가능한 애플리케이션 형태로 구현될 수 있다. Meanwhile, methods according to at least some of the various embodiments of the present disclosure described above can be implemented in the form of applications that can be installed on existing electronic devices.
또한, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드만으로도 구현될 수 있다. Additionally, the methods according to at least some of the various embodiments of the present disclosure described above can be implemented only with a software upgrade or a hardware upgrade for an existing electronic device.
또한, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.Additionally, the methods according to at least some of the various embodiments of the present disclosure described above may also be performed via an embedded server provided in the electronic device, or via an external server of at least one of the electronic devices.
한편, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.Meanwhile, according to an embodiment of the present disclosure, the various embodiments described above can be implemented as software including instructions stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The device is a device that can call instructions stored from the storage medium and operate according to the called instructions, and may include an electronic device (e.g., the electronic device (A)) according to the disclosed embodiments. When the instruction is executed by the processor, the processor can perform a function corresponding to the instruction directly or by using other components under the control of the processor. The instruction can include code generated or executed by a compiler or an interpreter. The machine-readable storage medium can be provided in the form of a non-transitory storage medium. Here, the ‘non-transitory storage medium’ only means that it is a tangible device and does not include a signal (e.g., electromagnetic wave), and this term does not distinguish between a case where data is stored semi-permanently and a case where it is stored temporarily in the storage medium. For example, a 'non-transitory storage medium' may include a buffer in which data is temporarily stored. According to one embodiment, a method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded between a seller and a buyer as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be at least temporarily stored or temporarily generated in a machine-readable storage medium, such as a memory of a manufacturer's server, a server of an application store, or an intermediary server.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer). The device is a device that can call instructions stored from the storage media and operate according to the called instructions, and may include an electronic device (e.g., an electronic device (100)) according to the disclosed embodiments.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. When the above instruction is executed by the processor, the processor may perform a function corresponding to the instruction directly or by using other components under the control of the processor. The instruction may include code generated or executed by a compiler or an interpreter.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by those skilled in the art without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be individually understood from the technical idea or prospect of the present disclosure.
Claims (15)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230129448A KR20250045918A (en) | 2023-09-26 | 2023-09-26 | Electronic apparatus and method for contolling thereof |
| KR10-2023-0129448 | 2023-09-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025071024A1 true WO2025071024A1 (en) | 2025-04-03 |
Family
ID=95201797
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2024/012455 Pending WO2025071024A1 (en) | 2023-09-26 | 2024-08-21 | Electronic device and control method thereof |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20250045918A (en) |
| WO (1) | WO2025071024A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190332944A1 (en) * | 2016-11-29 | 2019-10-31 | Huawei Technologies Co., Ltd. | Training Method, Apparatus, and Chip for Neural Network Model |
| US20190356564A1 (en) * | 2017-01-10 | 2019-11-21 | Nec Corporation | Mode determining apparatus, method, network system, and program |
| US20210158096A1 (en) * | 2019-11-27 | 2021-05-27 | Pavel Sinha | Systems and methods for performing direct conversion of image sensor data to image analytics |
| KR102490461B1 (en) * | 2019-12-30 | 2023-01-18 | 서울여자대학교 산학협력단 | Target data prediction method using correlation information based on multi medical image |
| KR102572828B1 (en) * | 2022-02-10 | 2023-08-31 | 주식회사 노타 | Method for obtaining neural network model and electronic apparatus for performing the same |
-
2023
- 2023-09-26 KR KR1020230129448A patent/KR20250045918A/en active Pending
-
2024
- 2024-08-21 WO PCT/KR2024/012455 patent/WO2025071024A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190332944A1 (en) * | 2016-11-29 | 2019-10-31 | Huawei Technologies Co., Ltd. | Training Method, Apparatus, and Chip for Neural Network Model |
| US20190356564A1 (en) * | 2017-01-10 | 2019-11-21 | Nec Corporation | Mode determining apparatus, method, network system, and program |
| US20210158096A1 (en) * | 2019-11-27 | 2021-05-27 | Pavel Sinha | Systems and methods for performing direct conversion of image sensor data to image analytics |
| KR102490461B1 (en) * | 2019-12-30 | 2023-01-18 | 서울여자대학교 산학협력단 | Target data prediction method using correlation information based on multi medical image |
| KR102572828B1 (en) * | 2022-02-10 | 2023-08-31 | 주식회사 노타 | Method for obtaining neural network model and electronic apparatus for performing the same |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20250045918A (en) | 2025-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020197018A1 (en) | Image processing apparatus and image processing method thereof | |
| WO2021029505A1 (en) | Electronic apparatus and control method thereof | |
| WO2020235860A1 (en) | Image processing apparatus and image processing method thereof | |
| WO2016032292A1 (en) | Photographing method and electronic device | |
| WO2021251689A1 (en) | Electronic device and controlling method of electronic device | |
| WO2020204277A1 (en) | Image processing apparatus and image processing method thereof | |
| WO2022050558A1 (en) | Electronic apparatus and controlling method therefor | |
| WO2021054511A1 (en) | Electronic device and control method therefor | |
| WO2020231243A1 (en) | Electronic device and method of controlling thereof | |
| WO2023017977A1 (en) | Method to improve quality in under-display camera system with radially-increasing distortion | |
| WO2024019304A1 (en) | Display device for reducing power consumption, and method for controlling same | |
| WO2019231068A1 (en) | Electronic device and control method thereof | |
| WO2018093198A1 (en) | Image processing apparatus and control method thereof | |
| WO2020054927A1 (en) | Electronic device and control method thereof | |
| WO2019147028A1 (en) | Image processing apparatus, image processing method, and computer-readable recording medium | |
| WO2023085865A1 (en) | Display device and operation method thereof | |
| WO2020111387A1 (en) | Image processing device and image processing method of same | |
| WO2021075758A1 (en) | Electronic apparatus and controlling method thereof | |
| EP3738305A1 (en) | Electronic device and control method thereof | |
| WO2025071024A1 (en) | Electronic device and control method thereof | |
| WO2025127253A1 (en) | Beta distribution-based global tone mapping and sequential weight generation for tone fusion | |
| WO2024158126A1 (en) | Method and apparatus for processing image frames | |
| WO2020085600A1 (en) | Electronic device and control method therefor | |
| WO2025154985A1 (en) | Tone consistency for camera imaging | |
| WO2020166791A1 (en) | Electronic device for generating hdr image and operating method therefor |
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: 24872733 Country of ref document: EP Kind code of ref document: A1 |