WO2020085600A1 - 전자 장치 및 이의 제어방법 - Google Patents

전자 장치 및 이의 제어방법 Download PDF

Info

Publication number
WO2020085600A1
WO2020085600A1 PCT/KR2019/006547 KR2019006547W WO2020085600A1 WO 2020085600 A1 WO2020085600 A1 WO 2020085600A1 KR 2019006547 W KR2019006547 W KR 2019006547W WO 2020085600 A1 WO2020085600 A1 WO 2020085600A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
value
input image
electronic device
processor
Prior art date
Application number
PCT/KR2019/006547
Other languages
English (en)
French (fr)
Inventor
김형래
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/278,122 priority Critical patent/US11798252B2/en
Publication of WO2020085600A1 publication Critical patent/WO2020085600A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method for recognizing an object of an input image using an artificial intelligence model.
  • the artificial intelligence system is a computer system that realizes human-level intelligence, and the machine learns and judges itself, and the recognition rate increases as it is used.
  • Machine learning technology consists of machine learning (deep learning) technology that uses an algorithm that classifies / learns the characteristics of input data by itself, and element technologies that simulate functions of human brain cognition, judgment, etc. by using a machine learning algorithm.
  • Elemental technologies include, for example, linguistic understanding technology for recognizing human language / characters, visual understanding technology for recognizing objects as human vision, reasoning / prediction technology for judging and logically reasoning and predicting information, and human experience information It may include at least one of a knowledge expression technology for processing as knowledge data, autonomous driving of a vehicle, and motion control technology for controlling the movement of a robot.
  • DNNs deep neural networks
  • a large amount of data may be required for a high recognition rate.
  • the recognition rate may vary depending on the degree of rotation, size, and magnification, the amount of data is increased to learn, so high-performance hardware is required to process the increased amount of learning, and the learning time is increased. there was.
  • an input image corresponding to a specific degree of rotation (a specific angle) of the target input image is omitted, there is a problem in that the recognition rate is lowered.
  • the present disclosure is designed to improve the above-described problems, and an object of the present disclosure is to provide an electronic device for recognizing an object by applying a transformation filter to a convolutional neural network (CNN) model, and a control method thereof.
  • CNN convolutional neural network
  • a memory in which a first filter for identifying an input image is stored and a plurality of elements included in the first filter are rotated, or among the plurality of elements
  • the filter region including at least a part is scaled to obtain at least one second filter, and the input image is obtained based on a result of convolution of the pixel values included in the input image with each of the first filter and the second filter. It includes a processor to identify.
  • the processor convokes the pixel value and the first filter included in the input image to obtain a first result value, and convolves the pixel value and the second filter included in the input image to obtain a second result value.
  • An input image identifying a texture type of the input image may be identified based on the acquired and the representative value obtained based on the first result value and the second result value.
  • the processor may obtain a probability that the preset texture type is included in the input image by applying a weight corresponding to a predetermined texture type to the representative value.
  • the processor may obtain the second filter by sequentially rotating the plurality of elements included in the first filter by a predetermined angle in a clockwise or counterclockwise direction.
  • the processor sequentially rotates the plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction to obtain a first deformed filter, and the plurality included in the first filter
  • the second deformed filter may be obtained by rotating the element of the clockwise or counterclockwise by a second angle.
  • the processor sequentially rotates the plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction to obtain a first deformation filter, and a plurality of elements included in the first deformation filter
  • the second deformed filter may be obtained by sequentially rotating the elements of the clockwise or counterclockwise by the first angle.
  • the processor may acquire the second filter by moving a position of at least some elements included in the filter area in a scaling direction.
  • the processor enlarges the filter area by moving the position of the first element included in the filter area to the outside of the filter area, and the second element included in the position where the first element is moved is the first.
  • the second filter may be obtained by replacing the element with a third element included in a position where the first element is not moved outside the filter area.
  • the memory corresponds to the first input channel and the second input channel, and stores a first basic filter and a second basic filter corresponding to a first filter for identifying the input image
  • the processor includes the first A first transform filter and a second transform filter are obtained by rotating a plurality of elements included in the basic filter and the second basic filter, or by scaling a filter area including at least a part of the plurality of elements, and in the input image, Convolution of the pixel value corresponding to the included first input channel and the first basic filter to obtain a first result value, and convolution of the pixel value corresponding to the first input channel and the first transform filter to produce a second result Obtaining a value, convolution of the pixel value corresponding to the second input channel included in the input image and the second basic filter to obtain a third result value, and obtaining the second input channel Convolution of the corresponding pixel value and the second transform filter to obtain a fourth result value, a first representative value obtained based on the first result value and the second result value, the third result value
  • the processor obtains a first probability value by applying a first weight corresponding to a first texture type to the first representative value, and applies a second weight corresponding to the first texture type to the second representative value.
  • a second probability value to apply the third weight value corresponding to the second texture type to the first representative value, to obtain a third probability value, and to the second representative value, the fourth value corresponding to the second texture type
  • a fourth probability value is obtained by applying a weight, and the first probability value and the second probability value are summed to obtain a probability that the first texture type is included in the input image, and the third probability value and the fourth probability value are summed.
  • a control method of an electronic device in which a first filter is stored for identifying an input image rotates a plurality of elements included in the first filter or includes at least a part of the plurality of elements Scaling the filter region to obtain at least one second filter, and identifying the input image based on a result of convolution of pixel values included in an input image with each of the first filter and the second filter.
  • the step of identifying the input image is to obtain a first result value by convolution of the pixel value and the first filter included in the input image, and convolution of the pixel value and the second filter included in the input image
  • a second result value may be obtained, and an input image identifying a texture type of the input image may be identified based on the first result value and the representative value obtained based on the second result value.
  • a weight corresponding to a preset texture type may be applied to the representative value to obtain a probability that the preset texture type is included in the input image.
  • the second filter may be obtained by sequentially rotating the plurality of elements included in the first filter by a predetermined angle in a clockwise or counterclockwise direction.
  • the step of acquiring the second filter sequentially rotates the plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction to obtain a first deformed filter
  • the first The second deformed filter may be obtained by rotating the plurality of elements included in the filter by a second angle in a clockwise or counterclockwise direction.
  • the step of obtaining the second filter may sequentially rotate the plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction to obtain a first deformed filter, and the first The second deformation filter may be obtained by sequentially rotating the plurality of elements included in the deformation filter in the clockwise or counterclockwise direction by the first angle.
  • the second filter may be obtained by moving a position of at least some elements included in the filter area in a scaling direction.
  • the step of acquiring the second filter moves the position of the first element included in the filter area to the outside of the filter area to enlarge the filter area, and includes the first element included in the moved position.
  • the second filter may be obtained by replacing the second element with the first element and replacing the third element included in a position where the first element is not moved outside the filter area with the first element.
  • a control method of an electronic device that stores a first basic filter and a second basic filter corresponding to a first input channel and a second input channel, and corresponding to a first filter for identifying the input image
  • the first The obtaining of the second filter may include rotating the plurality of elements included in the first basic filter and the second basic filter, or scaling a filter area including at least a portion of the plurality of elements to form the first deformable filter and the second filter.
  • the step of acquiring a transform filter and identifying the input image is to obtain a first result value by convolution of the pixel value corresponding to the first input channel included in the input image and the first basic filter, and the first input Convolution of the pixel value corresponding to the channel and the first transform filter to obtain a second result value, the pixel value corresponding to the second input channel included in the input image and the second group Convolution of the present filter to obtain a third result value, convolution of the pixel value corresponding to the second input channel and the second transform filter to obtain a fourth result value, and the first result value and the second result
  • a texture type of the input image may be identified based on a first representative value obtained based on a value, and a second representative value obtained based on the third result value and the fourth result value.
  • a first probability value is obtained by applying a first weight corresponding to a first texture type to the first representative value, and the second representative value corresponds to the first texture type.
  • a second probability value is obtained by applying a second weight, and a third weight value corresponding to a second texture type is applied to the first representative value to obtain a third probability value, and the second texture type is applied to the second representative value.
  • the fourth probability value is applied to obtain a fourth probability value, and the first probability value and the second probability value are summed to obtain a probability that the first texture type is included in the input image, and the third probability value and A fourth probability value may be summed to obtain a probability that the second texture type is included in the input image.
  • FIG. 1 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a specific configuration of the electronic device of FIG. 1.
  • FIG. 3 is a block diagram illustrating a specific configuration of an electronic device according to another embodiment of the present disclosure.
  • CNN convolutional neural network
  • 5 is a view for explaining the convergence operation of the CNN model.
  • FIG. 6 is a view for explaining a specific calculation of the convolution operation of the CNN model.
  • FIG. 7 is a diagram for explaining a basic filter and a transformation filter applied in a convolution operation of a CNN model.
  • FIG. 8 is a view for explaining an operation considering weight in a CNN model.
  • 9 is a view for explaining an operation of obtaining a strain filter by rotating the basic filter by a predetermined angle.
  • 10 is a view for explaining an operation of obtaining a new strain filter using the strain filter.
  • FIG. 11 is a view for explaining a convolution operation process according to an embodiment of the present disclosure.
  • FIG. 12 is a view for explaining a convolution operation process according to another embodiment of the present disclosure.
  • FIG. 13 is a diagram for describing an operation of obtaining a transform filter by scaling a basic filter.
  • FIG. 14 is a view for explaining various embodiments of obtaining a strain filter by scaling.
  • 15 is a diagram for explaining a convolution operation process according to another embodiment of the present disclosure.
  • 16 is a view for explaining an embodiment of applying an input image including three channels to a CNN model.
  • 17 is a view for explaining an embodiment in which a variation filter is generated differently by analyzing an input image.
  • ordinal numbers such as “first” and “second”, may be used to distinguish between components. This ordinal number is used to distinguish the same or similar components from each other, and the meaning of the term should not be interpreted due to the ordinal number. The terms are used only to distinguish one component from other components. For example, the components combined with the ordinal number should not be limited in the order of use or arrangement by the number. If necessary, each ordinal number may be used interchangeably.
  • modules are terms used to refer to a component that performs at least one function or operation, and the component is hardware or software. It can be implemented or can be implemented as a combination of hardware and software. In addition, a plurality of "modules”, “units”, “parts”, etc., are integrated into at least one module or chip, except that each needs to be implemented with individual specific hardware. Can be implemented as
  • a part when a part is connected to another part, this includes not only a direct connection, but also an indirect connection through another medium.
  • the meaning that a part includes a certain component means that other components may be further included instead of excluding other components unless otherwise specified.
  • the calculation process of the present disclosure may be performed by a machine learning-based recognition system, and in the present disclosure, a classification system based on a series of machine learning algorithms based on neural networks, as an example of a deep learning-based recognition system Explain.
  • the deep learning based recognition system may include at least one classifier, and the classifier may correspond to one or a plurality of processors.
  • the processor may be implemented as an array of multiple logic gates, or may be implemented as a combination of a general-purpose microprocessor and a memory in which programs executable on the microprocessor are stored.
  • the classifier may be implemented as a neural network-based classifier, a support vector machine (SVM), an adaboost classifier, a Bayesian classifier, and a perceptron classifier.
  • SVM support vector machine
  • CNN convolutional neural network
  • the neural network-based classifier is a computational model implemented to mimic the computational power of a biological system using a large number of artificial neurons connected by a connecting line, and it is possible to perform human cognitive or learning processes through a connecting line having a connection strength (weight). It will perform.
  • the classifier of the present disclosure is not limited thereto, and of course, the classifier may be implemented as the various classifiers described above.
  • a general neural network includes an input layer, a hidden layer, and an output layer, and the hidden layer may be composed of one or more layers as needed.
  • a back propagation algorithm may be used as an algorithm for training the neural network.
  • the classifier may train the neural network such that when any data is input to the input layer of the neural network, output data for the input learning data is output to the output layer of the neural network.
  • a pattern of feature information may be classified into any one of several classes using a neural network, and a classification result may be output.
  • the processor is a classification system based on a series of machine learning algorithms based on Neural Networks, and may use a deep learning based recognition system.
  • visual understanding is a technology for recognizing and processing objects as human vision, object recognition, object tracking, image search, person recognition, scene understanding, spatial understanding, And image enhancement.
  • inference prediction is a technique for logically inferring and predicting information by determining information, and may include knowledge / probability-based reasoning, optimization prediction, preference-based planning, and recommendation.
  • FIG. 1 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • an electronic device 100 may include a memory 110 and a processor 120.
  • the electronic device 100 may be a TV, desktop PC, laptop, smartphone, tablet PC, server, or the like.
  • the electronic device 100 may be implemented as a system in which a cloud computing environment is built, that is, as a cloud server.
  • the electronic device 100 may be a device including a deep learning based recognition system.
  • the memory 110 is implemented as an internal memory such as a ROM (eg, electrically erasable programmable read-only memory (EEPROM)) or RAM (RAM) included in the processor 120, or the processor 120 It may be implemented as a separate memory.
  • ROM electrically erasable programmable read-only memory
  • RAM RAM
  • the memory 110 may store a first filter for identifying an input image.
  • the first filter may be for identifying the texture of the input image.
  • the first filter will be referred to as a basic filter.
  • the basic filter may correspond to one of the convolution filters used in the convolutional neural network (CNN). Also, the number of basic filters applied to the CNN learning model may vary depending on the number of input channels. For example, if the number of channels included in the input image is three, the basic filter may be three. Also, the size of the basic filter may vary depending on the input image or the user's settings.
  • the memory 110 may store information about various basic filters in advance.
  • the memory 110 may be implemented in the form of a memory embedded in the electronic device 100 according to a data storage purpose, or may be implemented in a form of a memory that is detachable to the electronic device 100.
  • data for driving the electronic device 100 is stored in a memory embedded in the electronic device 100
  • data for an extension function of the electronic device 100 is detachable to the electronic device 100.
  • volatile memory for example, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)
  • non-volatile memory Examples: OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (e.g.
  • NAND flash or NOR flash, etc.) A hard disk drive (HDD) or a solid state drive (SSD), and implemented in at least one of the removable memory in the electronic device 100, a memory card (for example, CF (compact flash), SD (secure digital) ), Micro secure digital (micro-SD), mini secure digital (mini-SD), extreme digital (xD), multi-media card (MMC), etc., external memory connectable to a USB port (e.g. USB memory ) And the like.
  • CF compact flash
  • SD secure digital
  • micro-SD Micro secure digital
  • mini-SD mini secure digital
  • xD extreme digital
  • MMC multi-media card
  • USB port e.g. USB memory
  • the processor 120 may perform overall control operations of the electronic device. Specifically, the processor functions to control the overall operation of the electronic device.
  • the processor 120 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital image signals, but is not limited thereto, and the central processing unit (central processing unit (CPU)), microcontroller unit (MCU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM It may include one or more of the processors, or may be defined by the term.
  • the processor may be implemented by a system on chip (SoC), a large scale integration (LSI) with an embedded processing algorithm, or a field programmable (FPGA). gate array).
  • SoC system on chip
  • LSI large scale integration
  • FPGA field programmable
  • the processor 120 may acquire pixel information included in the input image.
  • the input image may include a pixel value indicating a color or illuminance value, and the processor 120 may identify a pixel value corresponding to at least one channel of the input image.
  • the processor 120 may perform a convolution operation used in the CNN training model by applying a convolution filter to pixel values included in the input image.
  • a detailed description of the convolution operation (composite product operation) will be described later with reference to FIGS. 5 and 6.
  • the convolution operation may correspond to a calculation process for performing a CNN learning model, and may be calculated by passing through several convolution layers until the object's texture is recognized.
  • the CNN structure can be set by the user, and many operations can be performed more than once depending on the CNN structure.
  • the convolution operation may be performed once, and repeated several times.
  • the number of times the convolution operation is performed may be changed according to the CNN learning model set by the user.
  • the processor 120 may obtain at least one second filter by rotating a first filter, that is, a plurality of elements included in the basic filter, or scaling a filter area including at least a part of the plurality of elements.
  • a first filter that is, a plurality of elements included in the basic filter
  • a filter area including at least a part of the plurality of elements.
  • the second filter will be referred to as a transformation filter.
  • the first result may be obtained by convolution of the pixel value and the basic filter included in the input image
  • the second result value may be obtained by convolution of the pixel value and transform filter included in the input image.
  • the processor 120 may obtain a representative value based on the first result value and the second result value, and identify a texture type of the input image based on the representative value.
  • the processor 120 and the processor 120 may obtain a representative value using the first result value and the second result value.
  • the processor 120 may obtain a maximum value among the first result value and the second result value, or an average value of the first result value and the second result value as a representative value.
  • the processor 120 may obtain a representative value according to a method preset by the user.
  • the basic filter may be one of convolution filters applied to the CNN training model stored in the memory 110.
  • the basic filter may correspond to a filter suitable for recognizing an input image. According to the implementation example, when the processor 120 determines that there is no suitable filter corresponding to the input image, the processor 120 may randomly generate the basic filter to have a random value.
  • the element may mean a pixel value of an input image or a value of a convolution filter.
  • a 3 * 3 size filter may include 9 elements.
  • the elements may correspond to values indicating information about the image.
  • elements of the input image may mean an RGB channel value or an illuminance value.
  • the convolution filter may mean a filter used in a CNN training model.
  • the convolution filter may include a basic filter and a transformation filter.
  • the texture may mean the texture, texture, etc. of the object surface that is the object of the input image.
  • the processor 120 may obtain a probability that a predetermined texture type is included in the input image by applying a weight corresponding to a predetermined texture type to the representative value. The specific method of applying the weight will be described later in FIG. 8.
  • the processor 120 may obtain a deformation filter by sequentially rotating a plurality of elements included in the basic filter in a clockwise or counterclockwise direction by a predetermined angle.
  • the preset angle may be 45 degrees, 90 degrees, 180 degrees, and the like.
  • the processor 120 may obtain a deformation filter by rotating by an angle other than the above-described angle.
  • textures may not have a specific directionality like ordinary objects.
  • the pixel information is different, but the same result must be output. Therefore, it is possible to increase the recognition rate by inputting a plurality of input images of an object to be analyzed.
  • similar effects can be obtained by generating a transform filter even when only one input image is input.
  • the processor 120 may apply a plurality of convolution filters even if there is only one input image.
  • the processor 120 may apply one basic filter and a plurality of transformation filters to the input image.
  • the processor 120 sequentially rotates a plurality of elements included in the basic filter by a first angle in a clockwise or counterclockwise direction to obtain a first deformed filter, and watches the plurality of elements included in the basic filter
  • the second deformable filter may be obtained by rotating the second angle in the counterclockwise or counterclockwise direction.
  • the processor 120 may obtain a first transformation filter that rotates the basic filter by 45 degrees, and may obtain a second transformation filter that rotates the basic filter by 90 degrees.
  • the processor 120 sequentially rotates a plurality of elements included in the basic filter by a first angle in a clockwise or counterclockwise direction to obtain a first modified filter, and a plurality of elements included in the first modified filter
  • the second deformation filter may be obtained by sequentially rotating the first angle in the clockwise or counterclockwise direction.
  • the processor 120 may rotate the basic filter by 45 degrees to obtain a first modified filter.
  • the processor 120 may rotate the first deformation filter again by 45 degrees to obtain a second deformation filter.
  • the processor 120 may obtain a transform filter by moving a position of at least some elements included in the filter area in a scaling direction.
  • the scaling method may be a method of changing the size of all elements included in the basic filter.
  • the filter area may include all elements of the basic filter.
  • the processor 120 may perform a scaling operation based on elements corresponding to a specific region among basic filters.
  • the processor 120 may expand and contract elements for a specific area.
  • the processor 120 enlarges the filter area by moving the position of the first element included in the filter area outside the filter area, and replaces the second element included in the position where the first element is moved with the first element.
  • a deformation filter may be obtained by replacing the third element included in a position where the first element is not moved outside the filter area with the first element.
  • the input image includes a plurality of channels.
  • the memory 110 stores first and second basic filters corresponding to the first and second input channels, and the processor 120 acquires first and second modified filters corresponding to the first and second basic filters. can do.
  • the processor 120 may obtain a basic filter corresponding to a channel included in an input image among a plurality of basic filters previously stored in the memory 110. For example, if the input image includes an R channel, a G channel, and a B channel, the processor 120 may include a first basic filter corresponding to the R channel, a second basic filter corresponding to the G channel, and a second basic filter corresponding to the B channel.
  • 3 Basic filters can be identified.
  • the processor 120 convolves the pixel value corresponding to the first input channel included in the input image and the first basic filter to obtain a first result value, and the pixel value and the first transformation corresponding to the first input channel
  • the filter can be convolved to obtain a second result value.
  • the processor 120 convolves the pixel value corresponding to the second input channel included in the input image and the second basic filter to obtain a third result value, and the pixel value and the second transformation corresponding to the second input channel
  • the fourth result can be obtained by convolution of the filter.
  • the processor 120 may obtain first and second result values with respect to the first input channel. Then, the processor 120 may obtain third and fourth result values with respect to the second input channel.
  • the processor 120 may obtain a first representative value based on the first result value and the second result value, and a second representative value based on the third result value and the fourth result value.
  • the processor 120 may obtain a first representative value with respect to the first input channel and a second representative value with respect to the second input channel.
  • the processor 120 obtains a first probability value by applying a first weight corresponding to the first texture type to the first representative value, and applies a second weight corresponding to the first texture type to the second representative value to remove the first probability value. 2 Probability value can be obtained.
  • the first representative value may be a value for the first input channel and the second representative value may mean a value for the second input channel.
  • the processor 120 may apply a weight for the first texture time according to the input channel and obtain a separate probability value according to the input channel.
  • the first representative value and the second representative value may be obtained through a plurality of convolution layers.
  • the processor 120 may apply a weight to a second texture type other than the first texture type.
  • the third probability value is obtained by applying the third weight value corresponding to the second texture type to the first representative value
  • the fourth probability is applied to the second representative value by applying the fourth weight corresponding to the second texture type. You can get the value.
  • the processor 120 obtains a probability that the first texture type is included in the input image by summing the first and second probability values, and sums the third and fourth probability values to include the second texture type in the input image. Can be obtained.
  • An embodiment of an input image including a plurality of input channels will be described later in FIG. 16.
  • the processor 120 may perform a convolution operation using both methods.
  • the processor 120 may perform a convolution operation using one basic filter, a first transformation filter obtained by a rotation method, and a second transformation filter obtained by a scaling method.
  • the processor 120 may store the basic filter in advance, and may store the deformation filter by the rotation or scaling method in advance.
  • the processor 120 may be implemented in a form of acquiring a modified filter after storing only the basic filter in advance and analyzing information about the input image.
  • the operation of analyzing the information on the input image may be a separate operation from the identification of the input image.
  • the operation of analyzing information on the input image may mean identifying a feature portion or a specific pattern based on pixel values included in the input image.
  • the processor 120 may compare whether the identified feature or pattern corresponds to predetermined data.
  • the memory 110 or the like may store a method for generating a strain filter corresponding to a feature or pattern.
  • the processor 120 may be configured to generate a transform filter in a manner that is rotated by 90 degrees with respect to an input image including the pattern A.
  • the processor 120 may identify a suitable deformation filter generation method according to a feature or pattern in advance, thereby increasing a recognition rate of texture recognition and shortening a processing speed.
  • the processor 120 may analyze information on the input image to determine whether to obtain a transform filter by a rotation method or a scaling method. In addition, the processor 120 may analyze information on the input image to determine how many transform filters are to be generated. In addition, the processor 120 may analyze information on the input image and determine whether to rotate at an angle of several degrees. Also, the processor 120 may analyze information on the input image to determine the size of scaling, the direction of scaling, and the like.
  • the processor 120 may determine whether to rotate the basic filter clockwise or counterclockwise according to the feature portion or pattern obtained from the input image. For example, if the processor 120 identifies that the pattern of the feature extracted from the input image is forming a clockwise direction, the processor 120 may rotate the basic filter clockwise to obtain a deformation filter. Conversely, if the processor 120 identifies that the pattern of the feature extracted from the input image forms a counterclockwise direction, the processor 120 may rotate the basic filter counterclockwise to obtain a modified filter.
  • the electronic device 100 may obtain a pixel information distribution of the target based on the pixel information obtained from the input image. Then, the electronic device 100 may acquire a repeated pattern of the object based on the obtained pixel information distribution of the object. Also, the electronic device 100 may identify the interval between repeated patterns. Then, the electronic device 100 may determine a method of obtaining a strain filter based on the interval of the repeated pattern. A specific embodiment will be described later in FIG. 17.
  • the electronic device 100 may perform a texture recognition operation with only one input image. Instead of analyzing a plurality of input images rotated at various angles or a plurality of input images in which an analysis object is enlarged or reduced, the electronic device 100 may have a similar effect using a basic filter and a transformation filter. The electronic device 100 may receive one fixed input image instead of using a plurality of input images.
  • elements included in the convolution filter may be modified in the learning process.
  • the electronic device 100 according to an embodiment of the present disclosure has been described as performing the convolution operation only once, in actual implementation, the convolution operation is repeatedly performed and the values included in the convolution filter (basic filter and transformation filter) continue. can be changed.
  • the basic filter and the modified filter according to an embodiment of the present disclosure can be regarded as one filter.
  • the deformed filter is merely a modification of the basic filter by a rotation method or a scaling method, and thus can be regarded as one filter.
  • the CNN learning model is applied, even if the elements of the basic filter and the transformation filter are modified in the learning process, it can be seen that the learning operation for one filter is finally performed. Therefore, since only a single filter is learned, the input image (input data) required for learning can be simplified and learning convergence can be facilitated.
  • the learning recognition rate can be increased because a CNN learning model can be used while maintaining a relatively simple structure.
  • the learned transform filter can be transformed again in the same manner to generate a convolution filter, the overall texture recognition rate can be increased.
  • FIG. 2 is a block diagram illustrating a specific configuration of the electronic device 100 of FIG. 1.
  • the electronic device 100 may include a memory 110, a processor 120, a communication interface 130, a user interface 140, and an input / output interface 150. .
  • the processor 120 controls overall operations of the electronic device 100 using various programs stored in the memory 110.
  • the processor 120 includes a RAM 121, a ROM 122, a main CPU 123, first to n interfaces 124-1 to 134-n, and a bus 125.
  • the RAM 121, the ROM 122, the main CPU 123, and the first to n interfaces 124-1 to 134-n may be connected to each other through the bus 125.
  • the ROM 122 stores a set of instructions for booting the system.
  • the main CPU 123 copies the O / S stored in the memory 110 to the RAM 121 according to the command stored in the ROM 122, and executes the O / S to operate the system. Boot it.
  • the main CPU 123 copies various application programs stored in the memory 110 to the RAM 121 and executes the application programs copied to the RAM 121 to perform various operations.
  • the first to n interfaces 124-1 to 134-n are connected to various components described above.
  • One of the interfaces may be a network interface connected to an external device through a network.
  • the processor 120 may perform a graphic processing function (video processing function). For example, the processor 120 may generate a screen including various objects, such as icons, images, and text, by using an operation unit (not shown) and a rendering unit (not shown).
  • the calculation unit (not shown) may calculate attribute values such as coordinate values, shapes, sizes, colors, etc. to be displayed according to the layout of the screen based on the received control command.
  • the rendering unit (not shown) may generate screens of various layouts including objects based on attribute values calculated by the calculation unit (not shown).
  • the processor 120 may perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, and resolution conversion for video data.
  • the processor 120 may process audio data. Specifically, the processor 120 may perform various processes such as decoding or amplifying audio data, noise filtering, and the like.
  • the communication interface 130 is a component that performs communication with various types of external devices according to various types of communication methods.
  • the communication interface 130 includes a Wi-Fi chip 131, a Bluetooth chip 132, an infrared communication chip 133, and a wireless communication chip 134.
  • the processor 120 may communicate with various external devices using the communication interface 130.
  • the communication interface 130 may communicate with other external devices or external servers.
  • the external device may be an electronic device capable of outputting video content.
  • the external device when the external device is a TV, the type of the external device is a video device, and the output data information of the TV is the model name of the TV, the audio characteristics of the TV's output content, and the frequency characteristics of the output audio of the TV's output content. It may include but is not limited to this.
  • the external device through which the communication interface 130 communicates may include a remote controller, a Bluetooth speaker, a lighting device, a smart cleaner, a smart refrigerator, and an IOT home manager in addition to a device capable of outputting video content.
  • the communication interface 130 may transmit video / audio data or various control data to an external device or an external server.
  • the Wi-Fi chip 131 and the Bluetooth chip 132 perform communication using a WiFi method and a Bluetooth method, respectively.
  • various connection information such as an SSID and a session key may be first transmitted and received, and communication information may be used to transmit and receive various information.
  • the infrared communication chip 133 performs communication according to an infrared data association (IrDA) technology that wirelessly transmits data in a short distance by using infrared light between the time beam and the millimeter wave.
  • IrDA infrared data association
  • the wireless communication chip 134 is a Zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), Long Term Evolution (LTE), LTE-A, in addition to the Wi-Fi chip 131 and the Bluetooth chip 132 described above. It means a chip that performs communication according to various communication standards such as (LTE Advanced), 4G (4th Generation), and 5G (5th Generation).
  • the communication interface 130 may include at least one of a LAN (Local Area Network) module, an Ethernet module, or a wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • LAN Local Area Network
  • Ethernet Ethernet
  • wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • the communication interface 130 may use the same communication module (eg, Wi-Fi module) to communicate with an external server and an external server, such as a remote control.
  • a communication module eg, Wi-Fi module
  • the communication interface 130 may use different communication modules (eg, Wi-Fi modules) to communicate with external devices and external servers, such as a remote control.
  • the communication interface 130 may use at least one of an Ethernet module or a WiFi module to communicate with an external server, or a BT module to communicate with an external device such as a remote control.
  • this is only an example, and the communication interface 130 may use at least one communication module among various communication modules when communicating with a plurality of external devices or external servers.
  • the communication interface 130 may additionally include a tuner and a demodulator according to an implementation example.
  • the demodulator may receive and demodulate the digital IF signal (DIF) converted by the tuner to perform channel decoding and the like.
  • DIF digital IF signal
  • the user interface 140 may be implemented as a device such as a button, a touch pad, a mouse and a keyboard, or a touch screen capable of performing the above-described display function and manipulation input function together.
  • the button may be various types of buttons, such as a mechanical button, a touch pad, a wheel, etc., formed in an arbitrary region such as a front portion, a side portion, or a rear portion of the body exterior of the electronic device 100.
  • the input / output interface 150 includes HDMI (High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP (Display Port), Thunderbolt, and VGA (Video Graphics Array) ports. It may be any one of RGB port, D-subminiature (D-SUB), and digital visual interface (DVI).
  • HDMI High Definition Multimedia Interface
  • MHL Mobile High-Definition Link
  • USB Universal Serial Bus
  • DP Display Port
  • Thunderbolt Thunderbolt
  • VGA Video Graphics Array
  • HDMI is an interface capable of transmitting high-performance data for AV devices that input and output audio and video signals.
  • DP is an interface capable of realizing 1920x1080 full HD, ultra-high resolution screens such as 2560x1600 or 3840x2160, and 3D stereoscopic images, and delivering digital voice.
  • Thunderbolt is an input / output interface for high-speed data transmission and connection, and PC, display, and storage devices can all be connected in parallel through a single port.
  • the input / output interface 150 may input / output at least one of audio and video signals.
  • the input / output interface 150 may include a port for inputting and outputting only an audio signal and a port for inputting and outputting only a video signal as separate ports, or may be implemented as a single port for inputting and outputting both audio and video signals.
  • the electronic device 100 is implemented as a device that does not include a display, and can transmit a video signal to a separate display device.
  • the electronic device 100 may transmit a corresponding voice signal to an external server for voice recognition of the voice signal received from the external device.
  • the communication module for communication with the external device and the external server may be implemented as one.
  • a communication module for communication with an external device and an external server may be the same as a Wi-Fi module.
  • the communication module for communication with the external device and the external server may be implemented separately.
  • an external device may communicate using a Bluetooth module
  • an external server may communicate using an Ethernet modem or Wi-Fi module.
  • FIG. 3 is a block diagram illustrating a specific configuration of an electronic device according to another embodiment of the present disclosure.
  • the display 160 and the speaker 170 may be further included.
  • the display 160 may include a display panel for outputting an image, as well as a bezel for housing the display panel.
  • the bezel may include a touch sensor (not shown) for detecting user interaction.
  • the speaker 170 may be a component that outputs not only various audio data processed by the input / output interface 150 but also various notification sounds or voice messages.
  • the electronic device 100 may additionally include a microphone (not shown).
  • the microphone is a component for receiving user voice or other sound and converting it into audio data.
  • the microphone may convert the received analog user voice signal into a digital signal and transmit it to the electronic device 100.
  • the input image is eight channels of 18 * 18 size, and the output is 32 channels of 7 * 7 size.
  • the convolution filter has a size of 5 * 5 and can be 32 for each input channel. Accordingly, 256 convolutional filters may exist.
  • the number of convolution filters present for each input channel may be the same as the number of output channels.
  • the time for the electronic device 100 to execute the CNN model may increase.
  • Increasing the number of filters may mean that the calculation process is complicated and the time for learning convergence is increased.
  • 5 is a view for explaining the convergence operation of the CNN model.
  • a convolution operation may be performed by applying a basic filter based on pixel information obtained from an input image.
  • the input image includes pixel information corresponding to at least one channel, and the electronic device 100 may apply a basic filter stored in the CNN model to the pixel information.
  • the electronic device 100 may obtain a result value.
  • the result value may mean the final result value.
  • the electronic device 100 may apply the convolution filter the same or differently.
  • the electronic device 100 may obtain a second result value that is a new result value by applying the f2 filter to the first result value obtained by applying the f1 filter.
  • FIG. 6 is a view for explaining a specific calculation of the convolution operation of the CNN model.
  • Pixel information obtained from the input image is i11 to i55, and each i11 to i55 corresponds to an element.
  • the element may correspond to a value corresponding to each pixel.
  • the element may mean a value capable of expressing an image such as color and illuminance.
  • the input image is 5 * 5 in size and may be composed of 25 elements.
  • each element can be expressed by i11 to i55.
  • the electronic device 100 may perform a convolution operation using an input image of 5 * 5 size and a convolution filter of 3 * 3 size. Specifically, when performing the convolution operation, a result value of 3 * 3 size may be obtained.
  • the calculation process of the convolution operation is as follows.
  • one convolution filter is applied to one input channel.
  • a plurality of convolution filters may be applied to one input channel.
  • FIG. 7 is a diagram for explaining a basic filter and a transformation filter applied in a convolution operation of a CNN model.
  • the electronic device 100 may acquire pixel information from an input image including one channel, and perform a convolution operation by applying a basic filter and a transformation filter to the obtained pixel information.
  • the electronic device 100 may perform a convolution operation by applying a basic filter to pixel information obtained from an input image. Then, the electronic device 100 may obtain a first result value through the calculation process disclosed in FIG. 7.
  • the concrete convolution operation process may use the formula of FIG. 6.
  • the electronic device 100 may perform a convolution operation using a modified filter that is a modified basic filter.
  • the electronic device 100 may use both basic filters and modified filters.
  • the electronic device 100 may obtain a second result value using the transformation filter.
  • the concrete convolution operation process may use the formula of FIG. 6.
  • the electronic device 100 may obtain a plurality of result values using a basic filter and a transformation filter. In this case, the electronic device 100 may use the average value to obtain one representative value. For example, the average value of the first result value and the second result value can be obtained as a representative value.
  • the electronic device 100 may include a first result value [6,17,3; 6,17,3; 6,17,3] and the second result [6,13,3; 6,13,3; The maximum value of 6,13,3] [6,17,3; 6,17,3; 6,17,3] as a representative value.
  • the deformed filter may correspond to a filter that rotates the basic filter clockwise by 90 degrees.
  • 90 degrees may correspond to a preset angle
  • the number of deformation filters may also be a preset number.
  • the preset angle and the number of preset filters may be changed by the user's setting. The method of obtaining the strain filter by rotating the basic filter will be described later in FIGS. 9 and 10.
  • FIG. 8 is a view for explaining an operation considering weight in a CNN model.
  • the electronic device 100 may apply a preset weight based on the representative value obtained in FIG. 7.
  • the number of preset weights may vary depending on the size of the representative value.
  • the representative value according to FIG. 8 is composed of 9 elements having a size of 3 * 3, and weights may also be composed of 9 elements having a size of 3 * 3.
  • the electronic device 100 may obtain an output value by applying an A weighting value to the representative value.
  • the A weighting value corresponds to A11 to A33 in FIG. 8, and may be composed of nine elements.
  • the output value obtained by applying the A weighting value to the representative value may mean the probability that the input image corresponds to A, and a specific calculation formula is disclosed in FIG. 8.
  • the electronic device 100 may obtain an output value by applying a B weight value in addition to the A weight value.
  • the output value obtained using the B weight value may mean the probability that the input image corresponds to B, and a specific calculation formula is disclosed in FIG. 8.
  • 9 is a view for explaining an operation of obtaining a strain filter by rotating the basic filter by a predetermined angle.
  • the electronic device 100 may obtain a deformation filter by rotating the element clockwise or counterclockwise by a predetermined angle from the basic filter.
  • the electronic device 100 rotates the basic filter clockwise by 45 degrees [1,5,1; 1,1,1; 1,1,1]. In addition, the electronic device 100 rotates the basic filter by 90 degrees clockwise [1,1,5; 1,1,1; 1,1,1]. In addition, the electronic device 100 rotates the basic filter clockwise by 180 degrees [1,1,1; 1,1,1; 1,1,5].
  • the deformation filter described in FIG. 9 may correspond to a convolution filter modified based on the basic filter.
  • the clockwise or counterclockwise direction can be changed by the user's settings.
  • a preset angle such as 45 degrees or 90 degrees, may also be changed by the user's setting.
  • the electronic device 100 may analyze the input image to determine a method of obtaining a strain filter.
  • the electronic device 100 may determine whether to rotate the basic filter clockwise or counterclockwise according to the feature portion obtained from the input image. For example, if the electronic device 100 identifies that the pattern of the feature extracted from the input image forms a clockwise direction, the electronic device 100 may rotate the basic filter clockwise to obtain a strain filter. . Conversely, if the electronic device 100 identifies that the pattern of the feature extracted from the input image forms a counterclockwise direction, the electronic device 100 may rotate the basic filter counterclockwise to obtain a strain filter. .
  • the electronic device 100 may determine an angle of rotation according to a feature portion obtained from the input image. A detailed description of this part will be provided later in FIG. 17.
  • 10 is a view for explaining an operation of obtaining a new strain filter using the strain filter.
  • the electronic device 100 may obtain a new deformation filter by rotating the deformation filter. For example, [5,1,1; 1,1,1; It is assumed that there is a basic filter of 1,1,1].
  • the electronic device 100 rotates the basic filter clockwise by 45 degrees [1,5,1; 1,1,1; 1,1,1].
  • the electronic device 100 includes [1,5,1; 1,1,1; 1,1,1] by rotating the strain filter by 45 degrees clockwise [1,1,5; 1,1,1; 1,1,1].
  • the electronic device 100 includes [1,1,5; 1,1,1; 1,1,1] by rotating the strain filter by 45 degrees clockwise [1,1,1; 1,1,5; 1,1,1].
  • the electronic device 100 rotates the basic filter counterclockwise by 45 degrees [1,1,1; 5,1,1; 1,1,1]. Then, the electronic device 100 includes [1,1,1; 5,1,1; 1,1,1] by rotating the strain filter counterclockwise by 45 degrees [1,1,1; 1,1,1; 5,1,1]. Also, the electronic device 100 may include [1,1,1; 1,1,1; 5,1,1] by rotating the strain filter counterclockwise by 45 degrees [1,1,1; 1,1,1; 1,5,1].
  • the electronic device 100 may repeatedly acquire a new deformation filter based on the obtained deformation filter.
  • the method calculated in FIG. 9 and the method calculated in FIG. 10 can obtain the same output value as a result.
  • the convolution calculation speed may vary depending on the type of algorithm applied to the CNN model, the size of the input image, and the number of convolution filters set by the user. Therefore, the electronic device 100 obtains a transform filter based on the basic filter based on the algorithm type applied to the CNN model, the size of the input image, the number of convolution filters set by the user, and the memory capacity (FIG. 9) ) And a transform filter to determine a method for obtaining a new transform filter (FIG. 10). For example, if the number of convolution filters for analyzing the input image is greater than or equal to a preset number, a new deformation filter may be obtained using the obtained deformation filter.
  • FIG. 11 is a view for explaining a convolution operation process according to an embodiment of the present disclosure.
  • the electronic device 100 may use four convolution filters to analyze an input image. For example, [5,1,1; 1,1,1; It is assumed that there is a basic filter of 1,1,1].
  • the electronic device 100 rotates the basic filter clockwise to form a first deformable filter [1,1,5; 1,1,1; 1,1,1], second modified filter [1,1,1; 1,1,1; 1,1,5], the third modified filter [1,1,1; 1,1,1; 5,1,1].
  • the first modified filter may be a filter that rotates the basic filter 90 degrees clockwise.
  • the second modified filter may be a filter in which the basic filter is rotated 180 degrees clockwise.
  • the third modified filter may be a filter in which the basic filter is rotated 270 degrees clockwise.
  • the second modified filter may be a filter that rotates the first modified filter 90 degrees clockwise.
  • the third modified filter may be a filter in which the second modified filter is rotated 90 degrees clockwise.
  • the electronic device 100 is the first result value [6,17,3; 6,17,3; 6,17,3]. In addition, the electronic device 100 has a second result value [6,13,3; 6,13,3; 6,13,3]. Similarly, the electronic device 100 may have a third result value [6,13,3; 6,13,3; 6,13,3] and the fourth result [6,17,3; 6,17,3; 6,17,3].
  • the electronic device 100 may obtain a representative value using the first result value, the second result value, the third result value, and the fourth result value.
  • the electronic device 100 may use an average value or a maximum value to obtain a representative value.
  • FIG. 12 is a view for explaining a convolution operation (composite product operation) process according to another embodiment of the present disclosure.
  • the electronic device 100 may acquire pixel information from an input image. Then, a basic filter [5,1,1; 1,1,1; 1,1,1], the first modified filter [1,1,5; 1,1,1; 1,1,1], second modified filter [1,1,1; 1,1,1; 1,1,5] to obtain the first result value, the second result value, and the third result value.
  • the first modified filter may be a filter in which the basic filter is rotated 90 degrees clockwise.
  • the second modified filter may be a filter in which the first modified filter is rotated 90 degrees clockwise again.
  • the electronic device 100 may obtain a representative value using the obtained first result value, second result value, and third result value.
  • the electronic device 100 may use a maximum value or an average value to obtain a representative value.
  • FIG. 13 is a diagram for describing an operation of obtaining a transform filter by scaling a basic filter.
  • the electronic device 100 may obtain a modified filter by attempting to scale the elements of the basic filter.
  • the electronic device 100 may collectively change values of all elements of the basic filter.
  • a basic filter [2,1,2; 1,3,1; 2,1,2].
  • the electronic device 100 includes a basic filter [2, 1, 2; 1,3,1; 2,1,2] by scaling [4,2,4; 2,6,2; 4,2,4].
  • the electronic device 100 may obtain a transform filter by selectively scaling elements of the basic filter.
  • a basic filter of 3 * 3 size is assumed.
  • element groups can be classified according to location.
  • the basic filter is [2,1,2; 1,3,1; 2,1,2], [second element, third element, second element; A third element, a first element, a third element; 2nd element, 3rd element, 2nd element].
  • the electronic device 100 may obtain a deformation filter through a scaling method that extends based on the central element of the basic filter.
  • the electronic device 100 may move the value of the central element to the outside. For example, based on the first element, the electronic device 100 may move the value of the central element in a diagonal direction among the outer directions.
  • the first element value 3 may be input to a location classified as the second element.
  • the deformation filter is [3,1,3; 1,3,1; 3,1,3].
  • the electronic device 100 may extend the central element (first element) in addition to the non-diagonal portion (third element portion) of the outer direction.
  • the first element value 3 may be input to the third element positioned above, below, left, and right of the first element.
  • the deformation filter is [3,3,3; 3,3,3; 3,3,3].
  • a strain filter that extends only in the diagonal direction may be obtained, and only a strain filter that extends in the up, down, left, and right directions may be obtained.
  • the first element, the second element, and the third element are described as corresponding to a plurality of positions, but when the actual electronic device 100 is implemented, the element may display one value corresponding to one pixel. Can mean
  • FIG. 14 is a view for explaining various embodiments of obtaining a strain filter by scaling.
  • the electronic device 100 may obtain a transform filter by performing scaling based on a specific portion of the basic filter.
  • the scaling may be divided into expansion and reduction, and may be divided into horizontal and vertical standards.
  • the electronic device 100 includes a central area of 3 * 3 size [2, 2, 2; 2,1,2; 2,2,2] can be extended in the outer direction to obtain a strain filter.
  • the scaling may correspond to a method of extending both diagonally, vertically and horizontally in the outer direction.
  • the electronic device 100 may perform scaling reduction based on the remaining areas except for the central element portion of the basic filter. For example, an element value of 2 in the inner region may be replaced with an element value of 3 in the outer region. And it can be replaced with a value of 0 in the position where the element value 3 of the outer region existed.
  • the scaling may correspond to a method of reducing in the direction of the central element.
  • the electronic device 100 may perform extended scaling in the left and right directions based on a specific column of the basic filter.
  • the strain filter may be obtained by using 2, 3, and 4 columns of the 5 * 5 basic filter as a reference and extending in the left and right directions.
  • the electronic device 100 may replace the value in column 1 with the value in column 2 and the value in column 5 with the value in column 4.
  • columns 2 and 4 can be replaced with zero values.
  • the electronic device 100 may obtain a modified filter while maintaining an existing value for columns 2 and 4 of the basic filter.
  • the electronic device 100 may perform extended scaling in the vertical direction based on a specific row of the basic filter.
  • the strain filter may be obtained by using 2, 3, and 4 rows of the 5 * 5 basic filter as a reference and extending in the vertical direction.
  • the electronic device 100 may replace the value in row 1 with the value in row 2 and the value in row 5 with the value in row 4.
  • rows 2 and 4 can be replaced with zero values.
  • the electronic device 100 according to another embodiment may obtain a modified filter while maintaining an existing value for 2nd and 4th rows of the basic filter.
  • the electronic device 100 may perform scaling reduction in the left and right directions based on a specific column of the basic filter.
  • a strain filter may be obtained by using 1, 3, and 5 columns of 5 * 5 sized basic filters as a reference and shrinking in the left and right directions.
  • the electronic device 100 may replace the value in column 2 with the value in column 1 and the value in column 4 with the value in column 5.
  • columns 1 and 5 can be replaced with zero values.
  • the electronic device 100 may obtain a modified filter while maintaining the existing values for columns 1 and 5 of the basic filter.
  • the electronic device 100 may perform scaling reduction in the left and right directions based on a specific row of the basic filter.
  • a strain filter can be obtained by using 1, 3, and 5 rows of 5 * 5 basic filters as a reference and reducing in the vertical direction.
  • the electronic device 100 may replace the value in row 2 with the value in row 1 and the value in row 4 with the value in row 5.
  • rows 1 and 5 can be replaced with zero values.
  • the electronic device 100 according to another embodiment may obtain a modified filter while maintaining the existing values for 1 and 5 rows of the basic filter.
  • 15 is a diagram for explaining a convolution operation process according to another embodiment of the present disclosure.
  • the electronic device 100 may acquire pixel information from an input image. Also, the electronic device 100 may apply a basic filter, a first transform filter, and a second transform filter using the obtained pixel information. The electronic device 100 may use a scaling method to obtain a strain filter. Specifically, the basic filter may perform reduction scaling based on a specific area of the basic filter. The electronic device 100 may obtain a first deformed filter by performing reduction scaling in the inner direction based on the central element with respect to the basic filter. Then, the second deformation filter may be obtained by performing reduction scaling in the inner direction with respect to the center element with respect to the first deformation filter again.
  • the electronic device 100 may obtain a first result value, a second result value, and a third result value using three convolution filters. And, one representative value can be obtained using three result values.
  • the electronic device 100 may use a maximum value or an average value to obtain a representative value.
  • 16 is a view for explaining an embodiment of applying an input image including three channels to a CNN model.
  • the electronic device 100 may analyze an input image including a plurality of channels.
  • the input image may include R, G, and B channels.
  • the electronic device 100 may acquire pixel information for each channel.
  • the electronic device 100 may store a basic filter for each channel. Therefore, the electronic device 100 includes a basic filter corresponding to the R channel [5,1,1; 1,1,1; 1,1,1], the basic filter corresponding to the G channel [3,3,1; 1,1,1; 1,1,1], basic filter corresponding to B channel [1,1,1; 2,1,1; 2,1,1].
  • the electronic device 100 may obtain transformation filters for each basic filter.
  • the electronic device 100 may obtain deformation filters by rotating 90 degrees clockwise.
  • the electronic device 100 includes a basic filter corresponding to an R channel [5, 1, 1; 1,1,1; 1,1,1] to rotate the strain filter [1,1,5; 1,1,1; 1,1,1].
  • the electronic device 100 includes a basic filter corresponding to the G channel [3, 3, 1; 1,1,1; 1,1,1] to rotate the strain filter [1,1,3; 1,1,3; 1,1,1].
  • the electronic device 100 includes a basic filter corresponding to the B channel [1,1,1; 2,1,1; 2,1,1] to rotate the strain filter [2,2,1; 1,1,1; 1,1,1].
  • the electronic device 100 may obtain a plurality of result values by applying each convolution filter. Referring to FIG. 16, the electronic device 100 may acquire a total of six result values for R, G, and B channels.
  • the electronic device 100 may obtain a representative value for each channel.
  • the electronic device 100 may obtain a first representative value for the R channel, a second representative value for the G channel, and a third representative value for the B channel.
  • the electronic device 100 may convert a plurality of representative values for each channel into a single value.
  • the electronic device 100 may individually apply weights for each channel without summing a plurality of representative values for each channel. Then, the electronic device 100 may sum the output values for each channel to which the weight is applied, as one output value.
  • 17 is a view for explaining an embodiment in which a variation filter is generated differently by analyzing an input image.
  • the electronic device 100 may analyze a input image to determine a method of obtaining a strain filter.
  • the electronic device 100 may acquire a characteristic portion of the input image.
  • the electronic device 100 may acquire pixel information on a characteristic portion of the input image. Patterns of the input image may be identified according to texture characteristics.
  • a vertical stripe texture is identified. It is assumed that the input image a corresponds to an object having a relatively wide vertical stripe, and the input image b corresponds to an object having a relatively narrow vertical stripe.
  • the electronic device 100 may obtain a pixel information distribution of the target based on the pixel information obtained from the input image. Then, the electronic device 100 may acquire a repeated pattern of the object based on the obtained pixel information distribution of the object. Also, the electronic device 100 may identify the interval between repeated patterns. Then, the electronic device 100 may determine a method of obtaining a strain filter based on the interval of the repeated pattern.
  • the electronic device 100 when the electronic device 100 identifies that the interval of the repeated pattern with respect to the input image a is greater than or equal to a preset threshold, the electronic device 100 sets the basic filter clockwise (or counterclockwise) to The deformation filter may be obtained by rotating at a rotation angle (180 degrees). Also, if the electronic device 100 rotates 180 degrees to obtain a strain filter, the electronic device 100 may be set to acquire only one strain filter. Since the rotation is based on 360 degrees, only two convolution filters are required, and the electronic device 100 may perform convolution operations with one basic filter and one transformation filter. If the angle of rotation is 120 degrees, the electronic device 100 needs a total of three convolution filters, and can obtain two deformation filters.
  • the electronic device 100 when the electronic device 100 identifies that the interval of the repeated pattern with respect to the input image b is equal to or less than a preset threshold, the electronic device 100 rotates the basic filter clockwise (or counterclockwise) with a small rotation angle. It is possible to obtain a strain filter by rotating at (90 degrees). Since rotation is based on 360 degrees, only four convolution filters are required, and the electronic device 100 can perform convolution operations with three basic filters and three transformation filters. If the angle of rotation is 45 degrees, the electronic device 100 needs a total of 8 convolution filters, and can acquire 7 deformation filters.
  • a control method of the electronic device 100 in which a first filter is stored for identifying an input image rotates a plurality of elements included in the first filter, or at least a part of the plurality of elements is included
  • At least one second filter may be obtained by scaling the filtered filter area (S1805).
  • the input image may be identified based on the result of convolution of the pixel values included in the input image with each of the first filter and the second filter (S1810).
  • the pixel value and the first filter included in the input image are convolved to obtain a first result value
  • the pixel value and the second filter included in the input image are convolved to obtain a second
  • An input image identifying a texture type of an input image may be identified based on a result obtained by obtaining a result value and a representative value obtained based on the first result value and the second result value.
  • a probability that a predetermined texture type is included in the input image may be obtained by applying a weight corresponding to a predetermined texture type to the representative value.
  • the second filter may be obtained by sequentially rotating a plurality of elements included in the first filter by a predetermined angle in a clockwise or counterclockwise direction.
  • the first deformation filter is obtained by sequentially rotating a plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction, and the first filter
  • the second deformation filter may be obtained by rotating the plurality of elements included in the clockwise or counterclockwise direction by a second angle.
  • the first deformation filter is obtained by sequentially rotating a plurality of elements included in the first filter by a first angle in a clockwise or counterclockwise direction
  • the first deformation The second modified filter may be obtained by sequentially rotating a plurality of elements included in the filter in a clockwise or counterclockwise direction by a first angle.
  • the second filter may be obtained by moving the position of at least some elements included in the filter area in the scaling direction.
  • the position of the first element included in the filter area is moved outside the filter area to enlarge the filter area, and the second element included in the position where the first element is moved May be replaced with a first element, and a second filter may be obtained by replacing a third element included in a position where the first element is not moved outside the filter area with a first element.
  • the obtaining of the second filter may include rotating the first basic filter and a plurality of elements included in the second basic filter, or scaling a filter area including at least a portion of the plurality of elements to transform the first deformation filter and the second deformation.
  • the step of acquiring the filter and identifying the input image includes convolution of the pixel value corresponding to the first input channel included in the input image and the first basic filter to obtain a first result value, and the pixel corresponding to the first input channel.
  • Convolution of the value and the first transform filter to obtain a second result value convolution of the pixel value corresponding to the second input channel included in the input image and the second basic filter to obtain a third result value, and second Convolution of the pixel value and the second transform filter corresponding to the output channel to obtain a fourth result value, the first representative value obtained based on the first result value and the second result value, the third result value and the fourth result value
  • the texture type of the input image may be identified based on the second representative value obtained based on the result value.
  • a first probability value is obtained by applying a first weight corresponding to the first texture type to the first representative value, and a second weight corresponding to the first texture type is applied to the second representative value.
  • the second probability value is obtained by applying the third weight value corresponding to the second texture type to the first representative value, and the fourth weight value corresponding to the second texture type is applied to the second representative value.
  • Apply to obtain a fourth probability value sum the first probability value and the second probability value to obtain a probability that the input image includes the first texture type, add the third probability value and the fourth probability value, and add the second probability value to the input image.
  • the probability that a texture type is included can be obtained.
  • control method of the electronic device 100 as shown in FIG. 18 may be executed on an electronic device having the configuration of FIGS. 1, 2, or 3, or may be performed on an electronic device having other configurations.
  • various embodiments of the present disclosure described above may be performed through an embedded server provided in the electronic device or an external server of the electronic device.
  • the electronic device control method according to the above-described embodiment may be implemented as a program and provided to the electronic device.
  • a program including an electronic device control method may be stored and provided in a non-transitory computer readable medium.
  • the non-transitory computer readable medium stores computer instructions for causing the electronic device to perform an operation.
  • the operation may obtain at least one second filter by rotating a plurality of elements included in the first filter or scaling a filter area including at least a part of the plurality of elements.
  • the input image may be identified based on a result of convolution of the pixel values included in the input image with each of the first filter and the second filter.
  • embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • embodiments described in the present disclosure include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs) ), Processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • Processors controllers, micro-controllers, microprocessors, and other electrical units for performing functions.
  • the embodiments described herein may be implemented by the processor 120 itself.
  • embodiments such as procedures and functions described herein may be implemented as separate software modules. Each of the software modules can perform one or more functions and operations described herein.
  • computer instructions for performing a processing operation in an electronic device may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in the non-transitory computer-readable medium allow the specific device to perform a processing operation in the electronic device according to various embodiments described above when executed by a processor of the specific device.
  • the non-transitory computer-readable medium means a medium that stores data semi-permanently and that can be read by a device, rather than a medium that stores data for a short time, such as registers, caches, and memory.
  • Specific examples of non-transitory computer-readable media may include CDs, DVDs, hard disks, Blu-ray disks, USBs, memory cards, and ROMs.

Abstract

본 개시는 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 전자 장치가 개시된다. 본 전자 장치는 입력 영상을 식별하기 위한 제1 필터가 저장된 메모리 및 제1 필터가 저장된 메모리 및 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별하는 프로세서를 포함한다.

Description

전자 장치 및 이의 제어방법
본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 더욱 상세하게는 인공 지능 모델을 이용하여 입력 영상의 대상을 인식하는 전자 장치 및 그 제어방법에 대한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
최근 인공 지능 기술을 이용하여 입력 영상의 특징부 추출 및 해당 추출부를 분석함으로써 텍스처를 인식할 수 있다. 텍스처를 인식하기 위해서 최근 DNN(Deep Neural Network)를 이용할 수 있으며 높은 인식률을 위해 많은 데이터가 필요할 수 있다. 특히, 텍스처의 경우 대상의 회전 정도, 크기 등 변화가 많으므로 DNN을 활용한 인식 방법에서 많은 데이터가 필요하다는 문제점이 있었다. 일반적으로 텍스처의 경우 회전 정도, 크기, 확대 정도에 따라 인식률이 다르게 나올 수 있어 데이터의 양을 증가시켜 학습하므로, 증가된 학습량을 처리하기 위해 고성능의 하드웨어가 필요하며, 학습 시간이 길어진다는 문제점이 있었다. 또한, 만약 대상 입력 영상의 특정 회전 정도(특정 각도)에 대응되는 입력 영상이 누락되는 경우, 인식률이 낮아지는 문제점이 있었다.
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 CNN(Convolutional Neural Network) 모델에 변형 필터를 적용하여 대상을 인식하는 전자 장치 및 그의 제어방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 실시 예에 따른 전자 장치에 있어서, 입력 영상을 식별하기 위한 제1 필터가 저장된 메모리 및 상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고, 입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 프로세서를 포함한다.
여기서, 상기 프로세서는 상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 상기 프로세서는 상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 상기 프로세서는 상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 프로세서는 상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득할 수 있다.
한편, 상기 메모리는 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하며, 상기 프로세서는 상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별할 수 있다.
여기서, 상기 프로세서는 상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치의 제어 방법은 상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하는 단계, 입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 단계를 포함한다.
여기서, 상기 입력 영상을 식별하는 단계는 상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 상기 입력 영상을 식별하는 단계는 상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 상기 제2필터를 획득하는 단계는 상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 제2필터를 획득하는 단계는 상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득할 수 있다.
한편, 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하는 전자 장치의 제어 방법에 있어서, 상기 제2필터를 획득하는 단계는 상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 상기 입력 영상을 식별하는 단계는 상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별할 수 있다.
또한, 상기 입력 영상을 식별하는 단계는 상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 2는 도1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 또 다른 실시 예에 따른 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 CNN(Convolutional Neural Network)의 구조를 설명하기 위한 도면이다.
도 5는 CNN 모델의 합성곱 연산을 설명하기 위한 도면이다.
도 6은 CNN 모델의 합성곱 연산의 구체적인 계산을 설명하기 위한 도면이다.
도 7은 CNN 모델의 합성곱 연산에서 적용되는 기본 필터 및 변형 필터를 설명하기 위한 도면이다.
도 8은 CNN 모델에서 가중치를 고려하는 연산을 설명하기 위한 도면이다.
도 9는 기본 필터를 기 설정된 각도만큼 회전시켜 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 10은 변형 필터를 이용하여 새로운 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 12는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 13은 기본 필터를 스케일링하여 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 14는 스케일링에 의하여 변형 필터를 획득하는 다양한 실시 예를 설명하기 위한 도면이다.
도 15는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 16은 CNN 모델에 3개의 채널을 포함하는 입력 영상을 적용하는 실시 예를 설명하기 위한 도면이다.
도 17은 입력 영상을 분석하여 변형 필터를 다르게 생성하는 실시 예를 설명하기 위한 도면이다.
도 18은 본 개시의 실시 예에 따른 전자 장치의 흐름도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시의 계산 과정은 머신 러닝 기반의 인식 시스템에 의해 수행될 수 있으며, 본 개시에서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 예로서 설명한다.
딥 러닝 기반의 인식 시스템은 적어도 하나의 분류기를 포함할 수 있으며, 분류기는 하나 또는 복수 개의 프로세서에 해당할 수 있다. 프로세서는 다수의 논리 게이트들의 어레이(Array)로 구현될 수 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
분류기는 뉴럴 네트워크(Neural Network) 기반 분류기, SVM(Support Vector Machine), 에이다부스트 분류기(Adaboost Classifier), 베이지안 분류기(Bayesian Classifier) 및, 퍼셉트론 분류기(Perceptron Classifier) 등으로 구현될 수 있다. 이하, 본 개시의 분류기는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN) 기반 분류기로 구현되는 실시 예에 대하여 설명한다. 뉴럴 네트워크 기반 분류기는, 연결선으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하도록 구현된 연산모델로서, 연결 강도(가중치)를 갖는 연결선을 통해 인간의 인지작용이나 학습과정을 수행하게 된다. 그러나, 본 개시의 분류기가 이에 한정되는 것은 아니며, 상술한 다양한 분류기로 구현될 수 있음은 물론이다.
일반적인 뉴럴 네트워크는 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함하며, 은닉층은 필요에 따라서 1 이상의 층으로 구성될 수 있다. 이러한, 뉴럴 네트워크를 학습시키기 위한 알고리즘으로 역전파(Bak Propagation) 알고리즘을 이용할 수 있다.
분류기는 어떠한 데이터가 뉴럴 네트워크의 입력층에 입력되면, 입력된 학습 데이터에 대한 출력 데이터가 뉴럴 네트워크의 출력층으로 출력되도록 뉴럴 네트워크를 학습시킬 수 있다. 촬영 이미지로부터 추출된 특징 정보가 입력되면, 뉴럴 네트워크를 이용하여 특징 정보의 패턴을 여러 클래스 중에서 어느 하나의 클래스로 분류하고, 분류 결과를 출력할 수 있다.
프로세서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 이용할 수 있다.
한편, 본 개시의 딥 러닝 기반의 인식 시스템을 설명함에 있어, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함할 수 있다. 또한, 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 1을 참조하면, 본 개시의 일 실시 예의 전자 장치(100)는 메모리(110) 및 프로세서(120)로 구성될 수 있다.
전자 장치(100)는 TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치(100)는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체 즉, 클라우드 서버로 구현될 수도 있다. 구체적으로, 전자 장치(100)는 딥 러닝 기반의 인식 시스템을 포함하는 장치일 수 있다.
메모리(110)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다.
메모리(110)는 입력 영상을 식별하기 위한 제1 필터를 저장하고 있을 수 있다. 일 실시 예에 따라, 제1 필터는 입력 영상의 텍스쳐를 식별하기 위한 것일 수 있다. 이하에서는, 설명의 편의를 위하여 제1 필터를 기본 필터라 명명하기로 한다.
기본 필터는 CNN(Convolutional Neural Network)에서 아용되는 컨벌루션 필터 중 하나에 해당할 수 있다. 그리고, CNN 학습 모델에 적용되는 기본 필터의 수는 입력 채널 개수에 따라 달라질 수 있다. 예를 들어, 입력 영상이 포함하는 채널의 수가 3개라면 기본 필터는 3개가 될 수 있다. 또한, 기본 필터의 크기는 입력 영상 또는 사용자의 설정에 따라 달라질 수 있다. 메모리(110)는 다양한 기본 필터에 대한 정보를 미리 저장하고 있을 수 있다.
이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
한편, 전자 장치(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 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(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 메모리) 등과 같은 형태로 구현될 수 있다.
프로세서(120)는 전자 장치의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 프로세서는 전자 장치의 전반적인 동작을 제어하는 기능을 한다.
프로세서(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)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 입력 영상이 포함하는 픽셀 정보를 획득할 수 있다. 입력 영상은 색상 또는 조도 값을 지시하는 픽셀 값을 포함할 수 있으며, 프로세서(120)는 입력 영상이 가지는 적어도 하나의 채널에 대응되는 픽셀 값을 식별할 수 있다.
프로세서(120)는 입력 영상이 포함하는 픽셀 값에 컨벌루션 필터를 적용하여 CNN 학습 모델에서 사용되는 컨벌루션 연산을 수행할 수 있다. 컨벌루션 연산(합성곱 연산)에 대한 구체적인 설명은 도 5 및 도6에서 후술한다.
컨벌루션 연산은 CNN 학습 모델을 수행하기 위한 계산 과정에 해당할 수 있으며, 객체의 텍츠처를 인식할 때까지 여러 개의 컨볼루션층을 통과하여 계산될 수 있다. 여기서, CNN구조는 사용자에 의해 설정 가능하며, 설정한 CNN 구조에 따라 1회 이상의 많은 연산이 수행될 수 있다.
그리고, 구현 예에 따라, 컨벌루션 연산은 1회 수행될 수 있으며, 수회 반복되어 수행될 수 있다. 컨벌루션 연산의 수행 횟수는 사용자가 설정한 CNN 학습 모델에 따라 변경될 수 있다.
프로세서(120)는 제1필터, 즉, 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2 필터를 획득할 수 있다. 이하에서는 설명의 편의를 위하여 제2 필터를 변형 필터라고 명명하기로 한다.
그리고, 입력 영상에 포함된 픽셀 값 및 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 입력 영상에 포함된 픽셀 값 및 변형 필터를 컨벌루션하여 제2 결과값을 획득할 수 있다. 그리고, 프로세서(120)는 제1 결과값 및 제2 결과값에 기초하여 대표값을 획득하고, 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다.
여기서, 프로세서(120)는 그리고, 프로세서(120)는 제1 결과값과 제2 결과값을 이용하여 대표값을 획득할 수 있다. 프로세서(120)는 제1 결과값 및 제2 결과값 중 최대 값, 또는 제1 결과값 및 제2 결과값의 평균 값을 대표값으로 획득할 수 있다. 최대값 또는 평균값 중 어느 방식을 이용할지 여부에 대해서 프로세서(120)는 사용자가 미리 설정한 방식에 따라 대표값을 획득할 수 있다.
기본 필터는 메모리(110)에 저장된 CNN 학습 모델에 적용되는 컨벌루션 필터 중 하나일 수 있다. 기본 필터는 입력 영상을 인식하기 위해 적합한 필터에 해당할 수 있다. 구현 예에 따라, 프로세서(120)가 입력 영상에 대응되는 적합한 필터가 없다고 판단하는 경우, 프로세서(120)는 기본 필터를 랜덤한 값을 갖도록 임의로 생성할 수 있다.
한편, 엘리먼트란 입력 영상의 픽셀 값 또는 컨벌루션 필터의 값을 의미할 수 있다. 예를 들어, 3*3 크기의 필터는 9개의 엘리먼트들을 포함할 수 있다. 입력 영상의 경우, 엘리먼트들은 이미지에 대한 정보를 지시하는 값에 해당할 수 있다. 예를 들어, 입력 영상의 엘리먼트들은 RGB 채널의 값 또는 조도값을 의미할 수 있다.
한편, 컨벌루션 필터란 CNN 학습 모델에 사용되는 필터를 의미할 수 있다. 본 개시의 전자 장치를 설명함에 있어 컨벌루션 필터는 기본 필터 및 변형 필터를 포함할 수 있다.
텍스처란 입력 영상의 대상이 되는 객체 표면의 감촉, 질감 등을 의미할 수 있다. 여기서, 프로세서(120)는 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다. 가중치를 적용하는 구체적인 방법에 대해선 도 8에서 후술한다.
또한, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 변형 필터를 획득할 수 있다.
기 설정된 각도는 45도, 90도, 180도 등이 될 수 있다. 하지만, 구현 예에 따라 프로세서(120)는 상술한 각도 이외에 다른 각도만큼 회전하여 변형 필터를 획득할 수 있다. 텍스처를 인식함에 있어, 텍스처는 일반 사물과 같이 특정한 방향성이 없을 수 있다. 예를 들어, 면직물의 정면을 촬상한 입력 영상과 면직물을 일정한 각도만큼 회전시킨 후 촬상한 입력 영상을 인식하는 경우, 픽셀 정보는 상이하지만 동일한 결과값이 출력되어야 한다. 따라서, 분석하고자 하는 대상의 입력 영상을 복수개 입력하여 인식률을 높일 수 있다. 하지만, 입력 영상 하나만이 입력되는 경우에도 변형 필터를 생성함으로써 유사한 효과를 얻을 수 있다.
한편, 기본필터를 회전하는 방식으로 변형 필터를 획득하는 방법 및 구체적인 실시 예에 대해서는 도 9 내지 도 12에서 후술한다.
프로세서(120)는 입력 영상이 하나여도 복수개의 컨벌루션 필터를 적용시킬 수 있다. 예를 들어, 프로세서(120)는 입력 영상에 하나의 기본 필터와 복수개의 변형 필터를 적용시킬 수 있다.
여기서, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다. 예를 들어, 프로세서(120)는 기본 필터를 45도만큼 회전 시킨 제1 변형 필터를 획득할 수 있고, 다시 기본 필터를 90도만큼 회전 시킨 제2 변형 필터를 획득할 수 있다. 기본 필터를 이용하여 복수개의 변형 필터를 획득하는 다양한 실시 예는 도 9에서 구체적으로 후술한다.
한편, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다. 예를 들어, 프로세서(120)는 기본 필터를 45도만큼 회전시켜 제1 변형 필터를 획득할 수 있다. 그리고, 프로세서(120)는 제1 변형필터를 다시 45도만큼 회전시켜 제2 변형 필터를 획득할 수 있다. 기본 필터를 이용하지 않고 변형 필터를 이용하는 방법 및 구체적인 실시 예에 대해서는 도 10에서 후술한다.
한편, 프로세서(120)는 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 변형 필터를 획득할 수 있다.
스케일링 방법은 기본 필터가 포함하는 모든 엘리먼트의 크기를 변화시키는 방법일 수 있다. 여기서, 필터 영역은 기본 필터의 모든 엘리먼트들을 포함할 수 있다.
한편, 프로세서(120)는 기본 필터 중 특정 영역에 해당하는 엘리먼트들을 기준으로 스케일링 동작을 수행할 수 있다. 프로세서(120)는 특정 영역에 대한 엘리먼트를 확장, 축소시킬 수 있다.
프로세서(120)는 입력 영상에서 획득된 필터 값을 이용하여 입력 영상의 특정 영역을 식별할 수 있다. 그리고, 프로세서(120)는 식별된 특정 영역의 엘리먼트들을 이용하여 필터의 다양한 스케일링 동작을 수행할 수 있다.
여기서, 프로세서(120)는 필터 영역에 포함된 제1 엘리먼트의 위치를 필터 영역의 외측으로 이동시켜 필터 영역을 확대하고, 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 제1 엘리먼트로 대체하고, 필터 영역의 외측에서 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 제1 엘리먼트로 대체하여 변형 필터를 획득할 수 있다. 기본 필터를 스케일링 방식으로 확장 또는 축소하여 변형 필터를 획득하는 방법 및 구체적인 실시 예에 대해서는 도 13 내지 도 15에서 후술한다.
한편, 입력 영상이 복수의 채널을 포함하는 경우를 가정한다.
메모리(110)는 제1 및 제2 입력 채널에 대응되는 제1 및 제2 기본 필터를 저장하며, 프로세서(120)는 제1 및 제2 기본 필터에 대응되는 제1 및 제2 변형 필터를 획득할 수 있다. 여기서, 프로세서(120)는 메모리(110)에 기 저장되어 있는 복수의 기본 필터 중 입력 영상에 포함된 채널에 대응되는 기본 필터를 획득할 수 있다. 예를 들어, 입력 영상이 R채널, G채널, B채널을 포함된다면, 프로세서(120)는 R채널에 대응되는 제1 기본 필터, G채널에 대응되는 제2 기본 필터, B채널에 대응되는 제3 기본 필터를 식별할 수 있다.
한편, 프로세서(120)는 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 제1 입력 채널에 대응되는 픽셀 값 및 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득할 수 있다.
그리고, 프로세서(120)는 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 제2 입력 채널에 대응되는 픽셀 값 및 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득할 수 있다.
즉, 프로세서(120)는 제1 입력 채널에 관하여 제1 및 제2 결과값을 획득할 수 있다. 그리고, 프로세서(120)는 제2 입력 채널에 관하여 제3 및 제4 결과값을 획득할 수 있다.
프로세서(120)는 제1 결과값 및 제2 결과값에 기초하여 제1 대표값을 획득하고, 제3 결과값 및 제4 결과값에 기초하여 제2대표값을 획득할 수 있다.
즉, 프로세서(120)는 제1 입력 채널에 관하여 제1 대표값을 획득할 수 있으며 제2 입력 채널에 관하여 제2 대표값을 획득할 수 있다.
그리고, 프로세서(120)는 제1 및 제2 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다. 프로세서(120)는 제1 입력 채널 및 제2 입력 채널에 대한 복수개의 대표값을 이용하여 하나의 대표값으로 변환할 수 있다. 이 경우, 프로세서(120)는 각 입력 채널에 대한 복수개의 대표값을 합산하여 하나의 대표값으로 변환할 수 있다. 그리고, 프로세서(120)는 합산된 대표값에 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
프로세서(120)는 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률 값을 획득하고, 제2 대표값에 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률 값을 획득할 수 있다.
여기서, 제1 대표값은 제1 입력 채널에 대한 값이며 제2 대표값은 제2 입력 채널에 대한 값을 의미할 수 있다. 프로세서(120)는 입력 채널에 따라 제1 텍스처 타임에 대한 가중치를 적용할 수 있고 입력 채널에 따라 별개의 확률값을 획득할 수 있다.
한편, 본 개시의 일 실시 예에서는, 간단한 구조를 설명하기 위하여 1회 연산에 의해 상기 제1대표값 및 제2 대표값을 구하는 것으로 설명하였다. 하지만, 실제 환경에서는 복수 개의 컨볼루션층을 거쳐 제1 대표값 및 제2대표값을 구할 수 있다.
한편, 프로세서(120)는 제1 텍스처 타입이 아닌 제2 텍스처 타입에 대한 가중치를 적용할 수 있다. 구체적으로, 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률 값을 획득하고, 제2 대표값에 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률 값을 획득할 수 있다.
프로세서(120)는 제1 및 제2 확률 값을 합산하여 입력 영상에 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 제3 및 제4 확률 값을 합산하여 입력 영상에 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다. 복수개의 입력 채널을 포함하는 입력 영상에 대한 실시 예는 도 16에서 후술한다.
한편, 지금까지 프로세서(120)가 변형 필터를 획득함에 있어 엘리먼트들을 회전하는 방식 또는 스케일링하여 확장 또는 축소시키는 방식에 대하여 설명하였다. 두 가지 방식 중 어느 하나를 설명하였다. 예를 들어, 컨벌루션 연산을 수행하기 위하여 기본 필터 1개와 변형 필터 2개를 이용하는 것으로 가정한다. 프로세서(120)는 변형 필터 2개를 모두 회전 방식으로 획득하거나, 변형 필터 2개를 모두 스케일링 방식으로 획득할 수 있다.
하지만, 실제 구현 시 프로세서(120)는 두 가지 방식을 모두 이용하여 컨벌루션 연산을 수행할 수 있다. 예를 들어, 프로세서(120)는 기본 필터 1개와 회전 방식에 의해 획득되는 제1 변형 필터 및 스케일링 방식에 의해 획득되는 제2 변형필터를 이용하여 컨벌루션 연산을 수행할 수 있다.
한편, 구현 예에 따라, 프로세서(120)는 기본 필터를 미리 저장하고 있으면서, 회전 또는 스케일링 방법에 의한 변형 필터를 미리 저장할 수 있다.
한편, 또 다른 구현 예에 따라, 프로세서(120)는 기본 필터만을 미리 저장하고 입력 영상에 대한 정보를 분석한 이후 변형 필터를 획득하는 형태로 구현할 수 있다. 여기서, 입력 영상에 대한 정보를 분석하는 동작은 입력 영상을 식별하는 것과 구분되는 동작일 수 있다. 구체적으로, 입력 영상에 대한 정보를 분석하는 동작은 입력 영상에 포함된 픽셀 값을 기초로 특징 부분 또는 특정 패턴을 식별하는 것을 의미할 수 있다. 그리고, 프로세서(120)는 식별된 특징 또는 패턴이 기 설정된 데이터에 대응되는지 비교할 수 있다. 메모리(110) 등에는 특징 또는 패턴에 대응되는 변형 필터 생성 방법을 저장할 수 있다. 예를 들어, 프로세서(120)는 A라는 패턴이 포함되는 입력 영상에 대해선 90도만큼 회전하는 방식으로 변형 필터를 생성하도록 설정할 수 있다. 프로세서(120)는 특징 또는 패턴에 따라 적합한 변형 필터 생성방법을 미리 식별하여, 텍스쳐 인식의 인식률을 높이고 처리 속도를 단축시킬 수 있다.
상술한 방식으로, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 변형 필터를 회전 방식에 의해 획득할 것인지 스케일링 방식에 의할 것인지 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 변형 필터를 몇 개 생성할 것인지 여부를 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 몇 도의 각도로 회전 할 것이지 여부를 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 스케일링의 크기, 스케일링의 방향 등을 결정할 수 있다.
프로세서(120)는 입력 영상에서 획득되는 특징 부분 또는 패턴에 따라 기본 필터를 시계 방향으로 회전시킬지 반시계 방향으로 회전시킬지 결정할 수 있다. 예를 들어, 프로세서(120)가 입력 영상에서 추출되는 특징부의 패턴이 시계 방향을 형성하는 것으로 식별하면, 프로세서(120)는 변형 필터를 획득하기 위하여 기본 필터를 시계 방향으로 회전시킬 수 있다. 반대로, 프로세서(120)가 입력 영상에서 추출되는 특징부의 패턴이 반시계 방향을 형성하는 것으로 식별하면, 프로세서(120)는 변형 필터를 획득하기 위하여 기본 필터를 반시계 방향으로 회전시킬 수 있다.
전자 장치(100)는 입력 영상으로부터 획득되는 픽셀 정보에 기초하여, 대상의 픽셀 정보 분포를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 대상의 픽셀 정보 분포에 기초하여, 대상의 반복되는 패턴을 획득할 수 있다. 또한, 전자 장치(100)는 반복되는 패턴의 간격을 식별할 수 있다. 그리고, 전자 장치(100)는 반복되는 패턴의 간격에 기초하여 변형 필터를 획득하는 방법을 결정할 수 있다. 구체적인 실시 예는 도 17에서 후술한다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 입력 영상 1개만으로 텍스처 인식 동작을 수행할 수 있다. 전자 장치(100)는 다양한 각도로 회전시킨 복수개의 입력 영상 또는 분석 대상을 확대 또는 축소한 복수개의 입력 영상을 분석하는 대신에, 기본 필터 및 변형 필터를 이용하여 유사한 효과를 가질 수 있다. 전자 장치(100)는 입력 영상을 복수개 이용하는 대신에 고정된 1개의 입력 영상을 수신할 수 있다.
한편, 컨벌루션 필터(기본 필터 및 변형 필터)에 포함된 엘리먼트는 학습 과정에서 수정될 수 있다. 본 개시의 일 실시 예에 따른 전자 장치(100)는 컨벌루션 연산이 한번만 수행되는 것으로 설명하였지만, 실제 구현 시 컨벌루션 연산이 반복적으로 수행되고 컨벌루션 필터(기본 필터 및 변형 필터)가 포함하는 값들이 계속하여 변경될 수 있다.
여기서, 본 개시의 일 실시 예에 따른 기본 필터 및 변형 필터는 모두 하나의 필터라고 볼 수 있다. 변형 필터는 기본 필터를 회전 방식 또는 스케일링 방식으로 변형시킨 것에 불과하므로, 모두 하나의 필터라고 볼 수 있다. CNN학습 모델이 적용되는 경우, 학습 과정에서 기본 필터 및 변형 필터의 엘리먼트가 수정된다 하여도, 결국 하나의 필터에 대한 학습 동작이 이루어진다고 볼 수 있다. 따라서, 단일 필터만 학습하는 결과가 되므로, 학습에 필요한 입력 영상(입력 데이터)이 간소화되고 학습 수렴이 용이해 질 수 있다. 또한, 비교적 간단한 구조를 유지하면서 CNN 학습 모델을 이용할 수 있어 학습 인식률이 높아질 수 있다. 또한, 학습된 변형 필터를 다시 동일한 방식으로 변형하여 컨벌루션 필터를 생성할 수 있으므로, 전체적인 텍스처 인식률이 증가할 수 있다.
도 2는 도 1의 전자 장치(100)의 구체적인 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 개시의 일 실시 예의 전자 장치(100)는 메모리(110), 프로세서(120), 통신 인터페이스(130), 사용자 인터페이스(140), 입출력 인터페이스(150)로 구성될 수 있다.
메모리(110) 및 프로세서(120)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
프로세서(120)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(123)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(110)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(124-1 내지 134-n)는 상술한 각종 구성 요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 프로세서(120)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(120)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 여기서, 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 또한, 프로세서(120)는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
통신 인터페이스(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 와이파이 칩(131), 블루투스 칩(132), 적외선 통신 칩(133), 및 무선 통신 칩(134) 등을 포함한다. 프로세서(120)는 통신 인터페이스(130)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다.
통신 인터페이스(130)는 기타 외부 장치 또는 외부 서버와 통신할 수 있다. 이때, 외부 장치는 영상 콘텐츠를 출력할 수 있는 전자 장치일 수 있다. 예를 들어, 외부 장치가 TV인 경우, 외부 장치의 종류는 영상 기기이고, TV의 출력 데이터 정보는 TV의 모델 명, TV의 출력 콘텐츠의 오디오 특성, TV의 출력 콘텐츠 중 출력 오디오의 주파수 특성 등을 포함할 수 있으나 이에 한정되지 않는다. 또한, 통신 인터페이스(130)가 통신하는 외부 장치는 영상 콘텐츠를 출력할 수 있는 장치 외에도 리모컨, 블루투스 스피커, 조명 장치, 스마트 청소기, 스마트 냉장고, IOT 홈 매니저 등을 포함할 수 있다. 예를 들어, 통신 인터페이스(130)는 비디오/오디오 데이터 또는 각종 제어 데이터를 외부 장치 또는 외부 서버에 전송할 수 있다.
와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 칩(133)은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 칩(134)은 상술한 와이파이 칩(131) 및 블루투스 칩(132) 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
그 밖에 통신 인터페이스(130)는LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
일 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 동일한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다.
다른 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 상이한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다. 예를 들어, 통신 인터페이스(130)는 외부 서버와 통신하기 위해 이더넷 모듈 또는 WiFi 모듈 중 적어도 하나를 이용할 수 있고, 리모컨과 같은 외부 장치와 통신하기 위해 BT 모듈을 이용할 수도 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(130)는 복수의 외부 장치 또는 외부 서버와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
한편, 통신 인터페이스(130)는 구현 예에 따라 튜너 및 복조부를 추가적으로 포함할 수 있다.
튜너(미도시)는 안테나를 통해 수신되는 RF(Radio Frequency) 방송 신호 중 사용자에 의해 선택된 채널 또는 기 저장된 모든 채널을 튜닝하여 RF 방송 신호를 수신할 수 있다.
복조부(미도시)는 튜너에서 변환된 디지털 IF 신호(DIF)를 수신하여 복조하고, 채널 복호화 등을 수행할 수도 있다.
사용자 인터페이스(140)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
입출력 인터페이스(150)는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
HDMI는 오디오 및 비디오 신호를 입출력하는 AV 기기용 고성능 데이터의 전송이 가능한 인터페이스이다. DP는 1920x1080의 풀HD급은 물론, 2560x1600이나 3840x2160과 같은 초고해상도의 화면, 그리고 3D 입체영상을 구현할 수 있고, 디지털 음성 또한 전달 가능한 인터페이스이다. 썬더볼트는 고속 데티어 전송 및 연결을 위한 입출력 인터페이스이며, PC, 디스플레이, 저장장치 등을 모두 하나의 포트로 병렬 연결할 수 있다.
입출력 인터페이스(150)는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스(150)는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
전자 장치(100)는 디스플레이를 포함하지 않는 장치로 구현되어, 별도의 디스플레이 장치로 영상 신호를 전송할 수 있다.
전자 장치(100)는 외부 장치로부터 수신된 음성 신호의 음성 인식을 위해, 외부 서버로 해당 음성 신호를 전송할 수 있다.
이 경우, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 하나로 구현될 수 있다. 예를 들어, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 Wi-Fi모듈로 동일할 수 있다.
외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 별개로 구현될 수 있다. 예를 들어, 외부 장치와는 Bluetooth 모듈을 이용하여 통신하고, 외부 서버와는 이더넷 모뎀 또는 Wi-Fi모듈을 이용하여 통신할 수 있다.
도 3은 본 개시의 또 다른 실시 예에 따른 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3을 참고하면, 도 2의 구성에서 디스플레이(160) 및 스피커(170)를 더 포함할 수 있다.
디스플레이(160)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(160) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(160)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
또한, 본 발명의 일 실시 예에 따른, 디스플레이(160)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 발명의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다.
스피커(170)는 입출력 인터페이스(150)에서 처리된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다.
한편, 전자 장치(100)는 추가적으로, 마이크(미도시)를 포함할 수 있다. 마이크는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환하기 위한 구성이다. 이 경우, 마이크는 수신된 아날로그 사용자 음성 신호를 디지털 신호로 변환하여 전자 장치(100)로 전송할 수 있다.
도 4는 CNN(Convolutional Neural Network)의 구조를 설명하기 위한 도면이다.
도 4를 참고하면, 입력 영상은 18*18크기의 8개의 채널이라고 가정하고, 출력은 7*7 크기의 32개의 채널이라고 가정한다. 여기서, 컨벌루션 필터는 5*5 크기이며 입력 채널 별로 32개씩 존재할 수 있다. 따라서, 전체 컨벌루션 필터는 256개가 존재할 수 있다.
본 개시의 일 실시 예에 따른 합성곱 연산에서 입력 채널별로 존재하는 컨벌루션 필터의 개수가 출력 채널의 개수와 동일할 수 있다.
필터의 개수가 증가할수록 전자 장치(100)는 CNN 모델을 실행하는 시간이 증가할 수 있다. 필터의 개수가 증가하는 것은 계산 과정이 복잡해지고 학습 수렴을 위한 시간이 길어진다는 점을 의미할 수 있다.
도 5는 CNN 모델의 합성곱 연산을 설명하기 위한 도면이다.
도 5를 참고하면, 입력 영상에서 획득된 픽셀 정보를 기초로 하여 기본 필터를 적용하여 컨벌루션 연산(합성곱 연산)을 수행할 수 있다. 입력 영상은 적어도 하나의 채널에 해당하는 픽셀 정보를 포함하고 있으며, 전자 장치(100) 는 해당 픽셀 정보에 CNN 모델이 기 저장하고 있는 기본 필터를 적용시킬 수 있다.
전자 장치(100)가 입력 영상에서 획득한 픽셀 정보에 기본 필터를 적용하면, 전자 장치(100)는 결과값을 획득할 수 있다. 여기서, 결과값이란 최종적인 결과값을 의미할 수 있다. 하지만, CNN 모델의 특성상 이는 한번의 컨벌루션 연산의 결과값을 의미하며, 유사한 컨벌루션 연산이 수회 반복될 수 있다. 여기서, 컨벌루션 연산이 수행될 때마다 전자 장치(100)는 컨벌루션 필터를 동일하게 또는 다르게 적용시킬 수 있다. 예를 들어, 전자 장치(100)가 최초의 컨벌루션 연산을 수행하는 경우 입력 영상의 픽셀 정보에 f1 필터를 적용시켜 제1 결과값을 얻는다고 가정한다. 여기서, 결과값은 최초 1회의 컨벌루션 연산을 수행함으로서 얻은 결과값이며, 이후 전자 장치(100)는 컨벌루션 연산을 반복하여 수행할 수 있다. 여기서, 전자 장치(100)는 f1필터를 적용해 획득한 제1 결과값에 f2필터를 적용하여 새로운 결과값인 제2 결과값을 획득할 수 있다.
도 6은 CNN 모델의 합성곱 연산의 구체적인 계산을 설명하기 위한 도면이다.
도 6을 참고하면, 전자 장치(100)는 5*5 크기의 입력 영상을 수신하고, 컨벌루션 필터는 3*3크기라고 가정한다. 입력 영상에서 획득되는 픽셀 정보가 i11~i55이며, 각각의 i11~i55는 엘리먼트에 해당한다. 엘리먼트는 각 픽셀에 대응되는 값에 해당할 수 있다. 예를 들어, 엘리먼트는 색상, 조도 등 이미지를 표현할 수 있는 값을 의미할 수 있다. 도 6을 참고하면, 입력 영상은 5*5 크기이며 25개의 엘리먼트로 이루어질 수 있다. 그리고, 각각의 엘리먼트는 i11~i55로 표현할 수 있다.
전자 장치(100)는 5*5 크기의 입력 영상과 3*3 크기의 컨벌루션 필터를 이용하여 컨벌루션 연산을 수행할 수 있다. 구체적으로, 컨번루션 연산을 수행하는 경우, 3*3 크기의 결과값이 획득될 수 있다. 컨벌루션 연산의 계산 과정은 다음과 같다.
[i11*f11+i12*f12+i13*f13+i21*f21+i22*f22+i23*f23+i31*f31+i32*f32+i33*f33, i12*f11+i13*f12+i14*f13+i22*f21+i23*f22+i24*f23+i32*f31+i33*f32+i34*f33, i13*f11+i14*f12+i15*f13+i23*f21+i24*f22+i25*f23+i33*f31+i34*f32+i35*f33; i21*f11+i22*f12+i23*f13+i31*f21+i32*f22+i33*f23+i41*f31+i42*f32+i43*f33, i22*f11+i23*f12+i24*f13+i32*f21+i33*f22+i34*f23+i42*f31+i43*f32+i44*f33, i23*f11+i24*f12+i25*f13+i33*f21+i34*f22+i35*f23+i43*f31+i44*f32+i45*f33; i31*f11+i32*f12+i33*f13+i41*f21+i42*f22+i43*f23+i51*f31+i52*f32+i53*f33, i32*f11+i33*f12+i34*f13+i42*f21+i43*f22+i44*f23+i52*f31+i53*f32+i54*f33, i33*f11+i34*f12+i35*f13+i43*f21+i44*f22+i45*f23+i53*f31+i54*f32+i55*f33]
한편, 도 6에서는 3*3 크기의 결과값이 출력되는 것으로 설명하였지만, 결과값의 크기는 입력 영상의 크기 또는 필터의 크기에 따라 달라질 수 있다.
또한, 도 5 및 도6을 설명함에 있어 하나의 입력 채널에 컨벌루션 필터 하나가 적용되는 것으로 설명하였다. 하지만, 하나의 입력 채널에 컨벌루션 필터가 복수개 적용될 수 있다.
도 7은 CNN 모델의 합성곱 연산에서 적용되는 기본 필터 및 변형 필터를 설명하기 위한 도면이다.
전자 장치(100)는 하나의 채널을 포함하는 입력 영상에서 픽셀 정보를 획득할 수 있으며, 획득된 픽셀 정보에 기본 필터 및 변형 필터를 적용하여 컨벌루션 연산을 수행할 수 있다.
도 7을 참고하면, 전자 장치(100)는 입력 영상으로부터 획득한 픽셀 정보에 기본 필터를 적용하여 컨벌루션 연산을 수행할 수 있다. 그리고, 전자 장치(100)는 도 7에서 개시하고 있는 계산 과정을 거쳐 제1 결과값을 획득할 수 있다. 구체적인 컨벌루션 연산 과정은 도 6의 공식을 이용할 수 있다.
한편, 전자 장치(100)는 기본 필터를 변형한 변형 필터를 이용하여 컨벌루션 연산을 수행할 수 있다. 여기서, 전자 장치(100)는 기본 필터 및 변형 필터를 모두 이용할 수 있다. 전자 장치(100)는 변형 필터를 이용하여 제2 결과값을 획득할 수 있다. 구체적인 컨벌루션 연산 과정은 도 6의 공식을 이용할 수 있다.
전자 장치(100)는 기본 필터 및 변형 필터를 이용하여 복수의 결과값을 획득할 수 있다. 이 경우, 전자 장치(100)는 하나의 대표값을 구하기 위해 평균값을 이용할 수 있다. 예를 들어, 제1 결과값 및 제2 결과값의 평균값을 대표값으로 획득할 수 있다.
도 7을 설명함에 있어, 대표값을 구하는 방법으로 평균을 이용하였다. 하지만 실제 구현시 평균값 이외에 최대값을 구하는 방식을 이용할 수 있다. 예를 들어, 전자 장치(100)는 제1결과값[6,17,3; 6,17,3; 6,17,3] 및 제2 결과값[6,13,3; 6,13,3; 6,13,3]의 최대값[6,17,3; 6,17,3; 6,17,3]을 대표값으로 획득할 수 있다.
여기서, 변형 필터는 기본 필터를 90도만큼 시계 방향으로 회전시킨 필터에 해당할 수 있다. 여기서, 90도는 기 설정된 각도에 해당할 수 있으며 변형 필터의 개수 역시 기 설정된 개수일 수 있다. 기 설정된 각도 및 기 설정된 필터의 개수는 사용자의 설정에 의해 변경될 수 있다. 기본 필터를 회전시켜 변형 필터를 획득하는 방법에 대해서는 도 9 및 도 10에서 후술한다.
도 8은 CNN 모델에서 가중치를 고려하는 연산을 설명하기 위한 도면이다.
전자 장치(100)는 도 7에서 획득한 대표값에 기초하여 기 설정된 가중치를 적용할 수 있다. 기 설정된 가중치의 개수는 대표값의 크기에 따라 달라질 수 있다. 예를 들어, 도 8에 따른 대표값은 3*3의 크기로 9개의 엘리먼트로 구성되었으며, 여기에 가중치 역시 3*3 크기의 9개의 엘리먼트로 구성될 수 있다.
전자 장치(100)는 대표값에 A가중치를 적용하여 출력값을 획득할 수 있다. 여기서, A가중치는 도 8에서 A11~A33에 해당하며, 9개의 엘리먼트로 구성될 수 있다. 대표값에 A가중치를 적용하여 획득되는 출력값은 입력 영상이 A에 해당할 확률을 의미할 수 있으며, 구체적인 계산식은 도 8에 개시하였다.
한편, 전자 장치(100)는 A가중치 이외에 B가중치를 적용하여 출력값을 획득할 수 있다. B가중치를 이용하여 획득되는 출력값은 입력 영상이 B에 해당할 확률을 의미할 수 있으며, 구체적인 계산식은 도 8에 개시하였다.
도 9는 기본 필터를 기 설정된 각도만큼 회전시켜 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 9를 참고하면, 전자 장치(100)는 기본 필터에서 기 설정된 각도만큼 시계 방향 또는 반시계 방향으로 엘리먼트를 회전시켜 변형 필터를 획득할 수 있다.
예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 45도만큼 회전 시켜 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 시계 방향으로 90도만큼 회전 시켜 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 시계 방향으로 180도만큼 회전 시켜 [1,1,1; 1,1,1; 1,1,5]인 변형 필터를 획득할 수 있다.
한편, 전자 장치(100)는 반시계 방향으로 기본 필터를 회전시켜 변형 필터를 획득할 수 있다. 전자 장치(100)는 기본 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 반시계 방향으로 90도만큼 회전 시켜 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 반시계 방향으로 180도만큼 회전 시켜 [1,1,1; 1,1,1; 1,1,5]인 변형 필터를 획득할 수 있다.
도 9에서 설명하는 변형 필터는 기본 필터를 기준으로 변형한 컨벌루션 필터에 해당할 수 있다. 시계 방향 또는 반시계 방향은 사용자의 설정에 의해 변경될 수 있다. 또한, 45도, 90도 등의 기 설정된 각도 역시 사용자의 설정에 의해 변경될 수 있다.
한편, 전자 장치(100)는 입력 영상을 분석하여 변형필터를 획득하는 방법을 결정할 수 있다. 전자 장치(100)는 입력 영상에서 획득되는 특징 부분에 따라 기본 필터를 시계 방향으로 회전시킬지 반시계 방향으로 회전시킬지 결정할 수 있다. 예를 들어, 전자 장치(100)가 입력 영상에서 추출되는 특징부의 패턴이 시계 방향을 형성하는 것으로 식별하면, 전자 장치(100)는 변형 필터를 획득하기 위하여 기본 필터를 시계 방향으로 회전시킬 수 있다. 반대로, 전자 장치(100)가 입력 영상에서 추출되는 특징부의 패턴이 반시계 방향을 형성하는 것으로 식별하면, 전자 장치(100)는 변형 필터를 획득하기 위하여 기본 필터를 반시계 방향으로 회전시킬 수 있다.
한편, 전자 장치(100)는 입력 영상에서 획득되는 특징 부분에 따라 회전하는 각도를 결정할 수 있다. 이 부분에 대한 구체적인 설명은 도 17에서 후술한다.
도 10은 변형 필터를 이용하여 새로운 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 10을 참고하면, 전자 장치(100)는 변형 필터를 회전시켜 새로운 변형 필터를 획득할 수 있다. 예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 45도만큼 회전 시켜 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 시계 방향으로 45도만큼 회전 시켜 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,5; 1,1,1]인 변형 필터를 획득할 수 있다.
반대로, 전자 장치(100)는 기본 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,1; 1,5,1]인 변형 필터를 획득할 수 있다.
도9와 달리 전자 장치(100)는 획득된 변형 필터를 기준으로 반복하여 새로운 변형 필터를 획득할 수 있다.
도 9에서 계산되는 방법과 도 10에서 계산되는 방법은 결과적으로 동일한 출력값을 획득할 수 있다. 하지만, 실제로 컨벌루션 연산을 수행하는 알고리즘에 적용하는 경우 다양한 이유에 의하여 계산 속도에서 차이가 있을 수 있다. CNN 모델에 적용되는 알고리즘 종류, 입력 영상의 크기, 사용자가 설정한 컨벌루션 필터의 개수 등에 따라 컨벌루션 연산 속도가 달라질 수 있다. 따라서, 전자 장치(100)는 CNN 모델에 적용되는 알고리즘 종류, 입력 영상의 크기, 사용자가 설정한 컨벌루션 필터의 개수, 메모리의 용량에 기초하여 기본 필터를 기준으로 변형 필터를 획득하는 방법(도 9)과 변형 필터를 이용하여 새로운 변형 필터를 획득하는 방법(도 10)을 결정할 수 있다. 예를 들어, 입력 영상을 분석하기 위한 컨벌루션 필터의 개수가 기 설정된 개수 이상이면 획득된 변형 필터를 이용하여 새로운 변형 필터를 획득할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 11을 참고하면, 전자 장치(100)는 입력 영상을 분석하기 위해 4개의 컨벌루션 필터를 이용할 수 있다. 예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 회전시켜 제1 변형필터[1,1,5; 1,1,1; 1,1,1], 제2 변형 필터[1,1,1; 1,1,1; 1,1,5], 제3 변형 필터[1,1,1; 1,1,1; 5,1,1]를 획득할 수 있다. 제1 변형 필터는 기본 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제2 변형 필터는 기본 필터를 시계 방향으로 180도 회전시킨 필터일 수 있다. 그리고, 제3 변형 필터는 기본 필터를 시계 방향으로 270도 회전시킨 필터일 수 있다.
한편, 제2 변형 필터는 제1 변형 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제3 변형 필터는 제2 변형 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다.
전자 장치(100)는 기본 필터를 적용한 컨벌루션 연산으로 제1결과값[6,17,3; 6,17,3; 6,17,3]을 획득할 수 있다. 또한, 전자 장치(100)는 제1 변형 필터를 적용한 컨벌루션 연산으로 제2 결과값[6,13,3; 6,13,3; 6,13,3]을 획득할 수 있다. 마찬가지로, 전자 장치(100)는 제3 결과값[6,13,3; 6,13,3; 6,13,3] 및 제4 결과값[6,17,3; 6,17,3; 6,17,3]을 획득할 수 있다.
전자 장치(100)는 제1 결과값, 제2 결과값, 제3 결과값 및 제4 결과값을 이용하여 대표값을 획득할 수 있다. 여기서, 전자 장치(100)는 대표값을 획득하기 위하여 평균값 또는 최대값을 이용할 수 있다.
도 12는 본 개시의 또 다른 실시 예에 따른 컨벌루션 연산(합성곱 연산 )과정을 설명하기 위한 도면이다.
도 12를 참고하면, 전자 장치(100)는 입력 영상으로부터 픽셀 정보를 획득할 수 있다. 그리고, 획득된 픽셀 정보에 기본 필터[5,1,1; 1,1,1; 1,1,1], 제1 변형 필터[1,1,5; 1,1,1; 1,1,1], 제2 변형 필터[1,1,1; 1,1,1; 1,1,5]를 적용하여 제1 결과값, 제2 결과값, 제3 결과값을 획득할 수 있다. 여기서, 제1 변형 필터는 기본 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제2 변형 필터는 제1 변형 필터를 다시 시계 방향으로 90도 회전시킨 필터일 수 있다.
전자 장치(100)는 획득된 제1 결과값, 제2 결과값, 제3 결과값을 이용하여 대표값을 획득할 수 있다. 전자 장치(100)는 대표값을 획득하기 위하여 최대값 또는 평균값을 이용할 수 있다.
도 13은 기본 필터를 스케일링하여 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
전자 장치(100)는 기본 필터의 엘리먼트에 대하여 스케일링을 시도하여 변형 필터를 획득할 수 있다. 전자 장치(100)는 기본 필터의 엘리먼트들 모두의 값을 일괄적으로 변경시킬 수 있다. 예를 들어, 기본 필터[2,1,2; 1,3,1; 2,1,2]가 있다고 가정한다. 전자 장치(100)는 기본 필터[2,1,2; 1,3,1; 2,1,2]를 스케일링 하여 [4,2,4; 2,6,2; 4,2,4]인 변형 필터를 획득할 수 있다.
또한, 전자 장치(100)는 기본 필터의 엘리먼트들을 선택적으로 스케일링하여 변형 필터를 획득할 수 있다. 도13을 참고하면, 3*3 크기의 기본 필터를 가정한다. 그리고 위치에 따라 엘리먼트 그룹을 구분할 수 있다. 예를 들어, 기본 필터는 [2,1,2; 1,3,1; 2,1,2]일 수 있으며, [제2엘리먼트, 제3엘리먼트, 제2 엘리먼트; 제3 엘리먼트, 제1 엘리먼트, 제3 엘리먼트; 제2엘리먼트, 제3엘리먼트, 제2 엘리먼트]로 표현할 수 있다.
여기서, 전자 장치(100)는 기본 필터의 중심 엘리먼트를 기준으로 확장하는 스케일링 방법을 통해 변형 필터를 획득할 수 있다. 전자 장치(100)는 중심 엘리먼트의 값을 외곽으로 이동시킬 수 있다. 예를 들어, 제1 엘리먼트를 기준으로 전자 장치(100)는 외곽 방향 중 대각선 방향으로 중심 엘리먼트의 값을 이동시킬 수 있다. 도 13을 참고하면 제2 엘리먼트로 분류된 위치에 제1 엘리먼트 값인 3을 입력할 수 있다. 여기서, 변형 필터는 [3,1,3; 1,3,1; 3,1,3]일 수 있다.
그리고, 전자 장치(100)는 외곽 방향 중 대각선 방향이 아닌 부분(제3 엘리먼트 부분)에 추가적으로 중심 엘리먼트(제1 엘리먼트)를 확장시킬 수 있다. 도 13을 참고하면, 제1 엘리먼트 상하좌우로 위치하는 제3 엘리먼트에 제1 엘리먼트 값인 3을 입력할 수 있다. 여기서, 변형 필터는 [3,3,3; 3,3,3; 3,3,3]일 수 있다. 전자 장치(100)의 설정에 따라 대각선 방향으로만 확장하는 변형 필터를 획득할 수 있고, 상하좌우 방향으로 확장하는 변형 필터만을 획득할 수도 있다. 또한, 대각선 방향과 상하좌우 방향 모두 확장하는 변형 필터를 획득할 수도 있다.
한편, 도 13을 설명함에 있어 제1 엘리먼트, 제2 엘리먼트, 제3 엘리먼트가 복수개의 위치에 대응되는 것으로 설명하였으나, 실제 전자 장치(100) 구현시 엘리먼트는 픽셀 1개에 대응되는 하나의 값을 의미할 수 있다.
도 14는 스케일링에 의하여 변형 필터를 획득하는 다양한 실시 예를 설명하기 위한 도면이다.
도 14를 참고하면, 전자 장치(100)는 기본 필터의 특정 부분을 기준으로 스케일링을 수행하여 변형 필터를 획득할 수 있다. 여기서, 스케일링은 확장, 축소로 구분될 수 있고 가로, 세로 기준으로 구분될 수 있다.
도 14(a)를 참고하면, 5*5 크기의 기본 필터 중 3*3 크기의 중심 영역[2,2,2; 2,1,2; 2,2,2]을 기준으로 스케일링을 수행할 수 있다. 전자 장치(100)는 기본 필터 중 3*3 크기의 중심 영역[2,2,2; 2,1,2; 2,2,2]를 외곽 방향으로 확장시켜 변형 필터를 획득할 수 있다. 여기서, 스케일링은 외곽 방향 중 대각선 및 상하좌우 모두 확장하는 방법에 해당할 수 있다.
도 14(b)를 참고하면, 전자 장치(100)는 기본 필터의 중심 엘리먼트 부분을 제외한 나머지 영역을 기준으로 축소 스케일링을 수행할 수 있다. 예를 들어, 내부 영역의 엘리먼트 값인 2를 외곽 영역의 엘리먼트 값인 3으로 대체할 수 있다. 그리고 기존에 외곽 영역의 엘리먼트 값인 3이 존재하였던 위치에 0값으로 대체할 수 있다. 여기서, 스케일링은 중심 엘리먼트 방향으로 축소하는 방법에 해당할 수 있다.
도 14 (c)를 참고하면, 전자 장치(100)는 기본 필터의 특정 열을 기준으로 좌우방향으로 확장 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 2,3,4열을 기준으로 하고 좌우 방향으로 확장시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 1열에 있는 값을 2열에 있는 값으로 대체하고 5열에 있는 값을 4열에 있는 값으로 대체할 수 있다. 여기서, 2열과 4열은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 2열과 4열에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (d)를 참고하면, 전자 장치(100)는 기본 필터의 특정 행을 기준으로 상하방향으로 확장 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 2,3,4행을 기준으로 하고 상하 방향으로 확장시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 1행에 있는 값을 2행에 있는 값으로 대체하고 5행에 있는 값을 4행에 있는 값으로 대체할 수 있다. 여기서, 2행과 4행은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 2행과 4행에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (e)를 참고하면, 전자 장치(100)는 기본 필터의 특정 열을 기준으로 좌우방향으로 축소 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 1,3,5열을 기준으로 하고 좌우 방향으로 축소시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 2열에 있는 값을 1열에 있는 값으로 대체하고 4열에 있는 값을 5열에 있는 값으로 대체할 수 있다. 여기서, 1열과 5열은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 1열과 5열에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (f)를 참고하면, 전자 장치(100)는 기본 필터의 특정 행을 기준으로 좌우방향으로 축소 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 1,3,5행을 기준으로 하고 상하 방향으로 축소시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 2행에 있는 값을 1행에 있는 값으로 대체하고 4행에 있는 값을 5행에 있는 값으로 대체할 수 있다. 여기서, 1행과 5행은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 1행과 5행에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 15는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 15를 참고하면, 전자 장치(100)는 입력 영상으로부터 픽셀 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 픽셀 정보를 이용하여 기본 필터, 제1 변형 필터 및 제2 변형 필터를 적용할 수 있다. 전자 장치(100)는 변형 필터를 획득하기 위하여 스케일링 방법을 이용할 수 있다. 구체적으로, 기본 필터는 기본 필터의 특정 영역을 기준으로 축소 스케일링을 수행할 수 있다. 전자 장치(100)는 기본 필터에 대하여 중심 엘리먼트를 기준으로 내부 방향으로 축소 스케일링을 수행하여 제1 변형 필터를 획득할 수 있다. 그리고, 다시 제1 변형 필터에 대하여 중심 엘리먼트를 기준으로 내부 방향으로 축소 스케일링을 수행하여 제2 변형 필터를 획득할 수 있다.
전자 장치(100)는 3가지 컨벌루션 필터를 이용하여 제1 결과값, 제2 결과값 및 제3 결과값을 획득할 수 있다. 그리고, 3개의 결과값을 이용하여 하나의 대표값을 획득할 수 있다. 전자 장치(100)는 대표값을 획득하기 위하여 최대값 또는 평균값을 이용할 수 있다.
도 16은 CNN 모델에 3개의 채널을 포함하는 입력 영상을 적용하는 실시 예를 설명하기 위한 도면이다.
도 16을 참고하면, 전자 장치(100)는 복수개의 채널을 포함하는 입력 영상을 분석할 수 있다. 예를 들어, 입력 영상은 R, G, B 채널들을 포함할 수 있다. 전자 장치(100)는 각 채널에 대한 픽셀 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 각 채널에 대한 기본 필터를 저장하고 있을 수 있다. 따라서, 전자 장치(100)는 R채널에 대응되는 기본 필터[5,1,1; 1,1,1; 1,1,1], G채널에 대응되는 기본 필터[3,3,1; 1,1,1; 1,1,1], B채널에 대응되는 기본 필터[1,1,1; 2,1,1; 2,1,1]를 저장하고 있을 수 있다.
그리고, 전자 장치(100)는 각 기본 필터에 대하여 변형 필터들을 획득할 수 있다. 예를 들어, 전자 장치(100)는 시계 방향으로 90도 회전하는 방법으로 변형 필터들을 획득할 수 있다. 전자 장치(100)는 R채널에 대응되는 기본 필터[5,1,1; 1,1,1; 1,1,1]를 회전하여 변형 필터[1,1,5; 1,1,1; 1,1,1]를 획득할 수 있다. 그리고, 전자 장치(100)는 G채널에 대응되는 기본 필터[3,3,1; 1,1,1; 1,1,1]를 회전하여 변형 필터[1,1,3; 1,1,3; 1,1,1]를 획득할 수 있다. 그리고, 전자 장치(100)는 B채널에 대응되는 기본 필터[1,1,1; 2,1,1; 2,1,1] 를 회전하여 변형 필터[2,2,1; 1,1,1; 1,1,1]를 획득할 수 있다.
그리고, 전자 장치(100)는 각 컨벌루션 필터를 적용하여 복수개의 결과값을 획득할 수 있다. 도 16을 참고하면, 전자 장치(100)는 R, G, B 채널에 대하여 총 6개의 결과값을 획득할 수 있다.
여기서, 전자 장치(100)는 각 채널별로 대표값을 획득할 수 있다. 예를 들어, 전자 장치(100)는 R채널에 대한 제1 대표값, G채널에 대한 제2 대표값, B채널에 대한 제3 대표값을 획득할 수 있다. 또한, 전자 장치(100)는 각 채널에 대한 복수개의 대표값을 합산하여 하나의 값으로 변환할 수 있다.
한편, 또 다른 실시 예에 따른 전자 장치(100)는 각 채널에 대한 복수개의 대표값을 합산하지 않고 각 채널에 따른 가중치를 개별적으로 적용할 수 있다. 그리고, 전자 장치(100)는 가중치가 적용된 각 채널에 대한 출력값을 하나의 출력값으로 합산할 수 있다.
도 17은 입력 영상을 분석하여 변형 필터를 다르게 생성하는 실시 예를 설명하기 위한 도면이다.
도 17을 참고하면, 전자 장치(100)는 입력 영상을 분석하여 변형 필터를 획득하는 방법을 결정할 수 있다. 전자 장치(100)는 입력 영상의 특징 부분을 획득할 수 있다. 그리고, 전자 장치(100)는 입력 영상의 특징 부분에 대한 픽셀 정보를 획득할 수 있다. 입력 영상의 픽셀 정보는 텍스처의 성질에 따라 패턴이 식별될 수 있다. 도 17에서는 세로 줄무늬 형식의 텍스처가 식별된다고 가정한다. 입력 영상a는 비교적 세로 줄무늬의 간격이 넓은 대상에 대응되며, 입력 영상b는 비교적 세로 줄무늬의 간격이 좁은 대상에 대응된다고 가정한다.
전자 장치(100)는 입력 영상으로부터 획득되는 픽셀 정보에 기초하여, 대상의 픽셀 정보 분포를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 대상의 픽셀 정보 분포에 기초하여, 대상의 반복되는 패턴을 획득할 수 있다. 또한, 전자 장치(100)는 반복되는 패턴의 간격을 식별할 수 있다. 그리고, 전자 장치(100)는 반복되는 패턴의 간격에 기초하여 변형 필터를 획득하는 방법을 결정할 수 있다.
예를 들어, 전자 장치(100)가 입력 영상a에 대하여 반복되는 패턴의 간격이 기 설정된 임계값 이상이라고 식별하는 경우, 전자 장치(100)는 기본 필터를 시계 방향(또는 반시계 방향)으로 큰 회전 각도(180도)로 회전하여 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 변형 필터를 획득하기 위해 180도를 회전한다면, 변형필터를 1개만 획득하도록 설정할 수 있다. 회전은 360도가 기준이므로 컨벌루션 필터가 2개 까지만 필요하며, 전자 장치(100)는 기본 필터 및 변형 필터 1개로 컨벌루션 연산을 수행할 수 있다. 만약, 회전의 각도가 120도라면 전자 장치(100)는 총 3개의 컨벌루션 필터가 필요하며, 2개의 변형 필터를 획득할 수 있다.
한편, 전자 장치(100)가 입력 영상b에 대하여 반복되는 패턴의 간격이 기 설정된 임계값 이하라고 식별하는 경우, 전자 장치(100)는 기본 필터를 시계 방향(또는 반시계 방향)으로 작은 회전 각도(90도)로 회전하여 변형 필터를 획득할 수 있다. 회전은 360도가 기준이므로 컨벌루션 필터가 4개 까지만 필요하며, 전자 장치(100)는 기본 필터 및 변형 필터 3개로 컨벌루션 연산을 수행할 수 있다. 만약, 회전의 각도가 45도라면 전자 장치(100)는 총 8개의 컨벌루션 필터가 필요하며, 7개의 변형 필터를 획득할 수 있다.
도 18은 본 개시의 실시 예에 따른 전자 장치의 흐름도이다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치(100)의 제어 방법은 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득할 수 있다 (S1805). 그리고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별할 수 있다 (S1810).
여기서, 입력 영상을 식별하는 단계(S1810)는 입력 영상에 포함된 픽셀 값 및 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 입력 영상에 포함된 픽셀 값 및 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 제1 결과값 및 제2 결과값에 기초하여 획득된 대표값에 기초하여 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 입력 영상을 식별하는 단계(S1810)는 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 제2 필터를 획득할 수 있다.
여기서, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 제2필터를 획득하는 단계(S1805)는 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 제2 필터를 획득할 수 있다.
여기서, 제2필터를 획득하는 단계(S1805)는 필터 영역에 포함된 제1 엘리먼트의 위치를 필터 영역의 외측으로 이동시켜 필터 영역을 확대하고, 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 제1 엘리먼트로 대체하고, 필터 영역의 외측에서 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 제1 엘리먼트로 대체하여 제2 필터를 획득할 수 있다.
한편, 제1 입력 채널 및 제2 입력 채널에 대응되며, 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하는 전자 장치(100)의 제어 방법에 있어서, 제2필터를 획득하는 단계는 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 입력 영상을 식별하는 단계는 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 제1 입력 채널에 대응되는 픽셀 값 및 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 제2 입력 채널에 대응되는 픽셀 값 및 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 제1 결과값 및 제2 결과값에 기초하여 획득된 제1 대표값과, 제3 결과값 및 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다.
또한, 입력 영상을 식별하는 단계는 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 제2 대표값에 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 제2 대표값에 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 제1 확률값 및 제2 확률값을 합산하여 입력 영상에 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 제3 확률값 및 제4 확률값을 합산하여 입력 영상에 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
한편, 도 18과 같은 전자 장치(100)의 제어 방법은 도 1, 도 2 또는 도 3의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치 에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치 에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 상술한 실시 예에 따른 전자 장치 제어 방법은 프로그램으로 구현되어 전자 장치에 제공될 수 있다. 특히, 전자 장치 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 기본 필터가 저장된 전자 장치의 프로세서(120)에 의해 실행되는 경우 전자 장치가 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 동작은 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득할 수 있다. 그리고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별할 수 있다.
또한, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치 에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치 에서의 처리 동작을 상기 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    입력 영상을 식별하기 위한 제1 필터가 저장된 메모리; 및
    상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고,
    입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고,
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득하는, 전자 장치.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득하는, 전자 장치.
  9. 제1항에 있어서,
    상기 메모리는, 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하며,
    상기 프로세서는,
    상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고,
    상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고,
    상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고,
    상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고,
    상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고,
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는, 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고,
    상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고,
    상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고,
    상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고,
    상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고,
    상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  11. 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치의 제어 방법에 있어서,
    상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하는 단계;
    입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 입력 영상을 식별하는 단계는,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고;
    상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고;
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별하는, 제어 방법.
  13. 제12항에 있어서,
    상기 입력 영상을 식별하는 단계는,
    상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  14. 제11항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득하는, 제어 방법.
  15. 제14항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득하는, 제어 방법.
PCT/KR2019/006547 2018-10-24 2019-05-31 전자 장치 및 이의 제어방법 WO2020085600A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/278,122 US11798252B2 (en) 2018-10-24 2019-05-31 Electronic device and control method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180127237A KR102604016B1 (ko) 2018-10-24 2018-10-24 전자 장치 및 이의 제어방법
KR10-2018-0127237 2018-10-24

Publications (1)

Publication Number Publication Date
WO2020085600A1 true WO2020085600A1 (ko) 2020-04-30

Family

ID=70331033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/006547 WO2020085600A1 (ko) 2018-10-24 2019-05-31 전자 장치 및 이의 제어방법

Country Status (3)

Country Link
US (1) US11798252B2 (ko)
KR (1) KR102604016B1 (ko)
WO (1) WO2020085600A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130102550A (ko) * 2010-08-06 2013-09-17 드미트리 바레리에비치 스뭉크 초고해상도 이미지 생성 방법 및 이를 구현하기 위한 비선형 디지털 필터
KR20170058277A (ko) * 2015-11-09 2017-05-26 톰슨 라이센싱 잡음 있는 이미지들을 업스케일링하기 위한 방법, 및 잡음 있는 이미지들을 업스케일링하기 위한 장치
KR20180062910A (ko) * 2016-12-01 2018-06-11 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 신경 메모리 및 신경 메모리로부터 수신된 데이터의 행의 멀티-워드 거리의 회전을 집단적으로 수행하는 신경 처리 유닛들의 어레이를 갖는 신경망 유닛
US20180182083A1 (en) * 2016-12-27 2018-06-28 Intel IP Corporation Convolutional neural network for wide-angle camera images
KR20180096164A (ko) * 2017-02-20 2018-08-29 연세대학교 산학협력단 객체 인식을 위한 영상 학습 방법 및 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216119B1 (en) 1997-11-19 2001-04-10 Netuitive, Inc. Multi-kernel neural network concurrent learning, monitoring, and forecasting system
KR20000023923A (ko) 1999-10-14 2000-05-06 이칠기 표정변화와 주변환경에 독립적인 지능형 얼굴검출방법.
US8369595B1 (en) 2012-08-10 2013-02-05 EyeVerify LLC Texture features for biometric authentication
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
KR20180004898A (ko) 2016-07-05 2018-01-15 주식회사 와플앱스 딥러닝 기반의 이미지 처리 기술 및 그 방법
KR101910158B1 (ko) * 2016-12-09 2018-12-19 동국대학교 산학협력단 회선 신경망 기반 눈 개폐 분류 장치 및 방법
KR20180073118A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
US10438322B2 (en) * 2017-05-26 2019-10-08 Microsoft Technology Licensing, Llc Image resolution enhancement
KR102476239B1 (ko) * 2018-07-17 2022-12-12 삼성전자주식회사 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
CN110866526A (zh) * 2018-08-28 2020-03-06 北京三星通信技术研究有限公司 图像分割方法、电子设备及计算机可读存储介质
KR102420104B1 (ko) * 2019-05-16 2022-07-12 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR102420039B1 (ko) * 2019-05-16 2022-07-13 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20220030084A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 영상 처리 방법 및 장치
CN115668273A (zh) * 2020-09-15 2023-01-31 三星电子株式会社 电子装置、其控制方法和电子系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130102550A (ko) * 2010-08-06 2013-09-17 드미트리 바레리에비치 스뭉크 초고해상도 이미지 생성 방법 및 이를 구현하기 위한 비선형 디지털 필터
KR20170058277A (ko) * 2015-11-09 2017-05-26 톰슨 라이센싱 잡음 있는 이미지들을 업스케일링하기 위한 방법, 및 잡음 있는 이미지들을 업스케일링하기 위한 장치
KR20180062910A (ko) * 2016-12-01 2018-06-11 비아 얼라이언스 세미컨덕터 씨오., 엘티디. 신경 메모리 및 신경 메모리로부터 수신된 데이터의 행의 멀티-워드 거리의 회전을 집단적으로 수행하는 신경 처리 유닛들의 어레이를 갖는 신경망 유닛
US20180182083A1 (en) * 2016-12-27 2018-06-28 Intel IP Corporation Convolutional neural network for wide-angle camera images
KR20180096164A (ko) * 2017-02-20 2018-08-29 연세대학교 산학협력단 객체 인식을 위한 영상 학습 방법 및 장치

Also Published As

Publication number Publication date
US11798252B2 (en) 2023-10-24
US20210350164A1 (en) 2021-11-11
KR102604016B1 (ko) 2023-11-22
KR20200052406A (ko) 2020-05-15

Similar Documents

Publication Publication Date Title
WO2020032661A1 (en) Electronic apparatus, method for controlling thereof, and method for controlling a server
WO2022025374A1 (en) Electronic device including display and method for compensating for display burn-in
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2018088806A1 (ko) 영상처리장치 및 영상처리방법
AU2018319215B2 (en) Electronic apparatus and control method thereof
WO2020101143A1 (en) Image processing apparatus and method of operating the same
WO2019172546A1 (en) Electronic apparatus and control method thereof
WO2020235860A1 (en) Image processing apparatus and image processing method thereof
WO2020105871A1 (ko) 전자 장치 및 그 제어 방법
WO2020091519A1 (en) Electronic apparatus and controlling method thereof
WO2021029505A1 (en) Electronic apparatus and control method thereof
WO2019182269A1 (ko) 전자 장치, 전자 장치의 이미지 처리 방법 및 컴퓨터 판독 가능 매체
WO2021261836A1 (en) Image detection apparatus and operation method thereof
WO2020197018A1 (en) Image processing apparatus and image processing method thereof
WO2020180105A1 (en) Electronic device and control method thereof
WO2020204277A1 (en) Image processing apparatus and image processing method thereof
WO2020153626A1 (en) Electronic apparatus and control method thereof
WO2020141788A1 (en) Home appliance and control method thereof
WO2020171584A1 (en) Electronic device for displaying execution screen of application and method of controlling the same
WO2020091268A1 (en) Electronic apparatus and method for controlling thereof
WO2019231068A1 (en) Electronic device and control method thereof
EP3738305A1 (en) Electronic device and control method thereof
WO2020130299A1 (en) Electronic apparatus and control method thereof
WO2020085600A1 (ko) 전자 장치 및 이의 제어방법
WO2020166796A1 (ko) 전자 장치 및 그 제어 방법

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19875069

Country of ref document: EP

Kind code of ref document: A1