WO2020116768A1 - 영상 처리 장치 및 그 동작방법 - Google Patents

영상 처리 장치 및 그 동작방법 Download PDF

Info

Publication number
WO2020116768A1
WO2020116768A1 PCT/KR2019/013588 KR2019013588W WO2020116768A1 WO 2020116768 A1 WO2020116768 A1 WO 2020116768A1 KR 2019013588 W KR2019013588 W KR 2019013588W WO 2020116768 A1 WO2020116768 A1 WO 2020116768A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
peripheral
region
feature
features
Prior art date
Application number
PCT/KR2019/013588
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/299,607 priority Critical patent/US11921822B2/en
Publication of WO2020116768A1 publication Critical patent/WO2020116768A1/ko

Links

Images

Classifications

    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/20084Artificial neural networks [ANN]

Definitions

  • Various embodiments relate to an image processing apparatus for performing convolution operations and an operation method thereof, and more particularly, to an image processing apparatus and an operation method capable of improving the detail of an image when performing convolution operations. It is about.
  • AI Integrated место ⁇ оло ⁇ оло ⁇ оло ⁇ оло ⁇ равнени ⁇ или ⁇ оло ⁇ ение
  • the neural network is a model of the characteristics of human biological neurons by mathematical expression, and uses an algorithm that mimics the ability of human learning. Through this algorithm, the neural network can generate a mapping between input data and output data, and the ability to generate such mapping can be expressed as a learning ability of the neural network. In addition, the neural network has a generalization ability to generate correct output data for input data that has not been used for learning based on the learned results.
  • an output image is generated through a convolution operation of an input image (input feature map) and a kernel, and at this time, a corresponding region of the input image (same location in the input image) With reference to the characteristics of the region), an output image is generated. Accordingly, when details about a specific region of the input image are lost, there is a problem in that it is difficult to generate details of a region corresponding to a specific region in the output image.
  • Various embodiments correspond to a target region in an output image by generating an output image by using a target feature for a target region included in an input image and a peripheral feature for a peripheral region positioned around the target region It is possible to provide an image processing apparatus and an operation method capable of improving the detail of an area.
  • the image processing apparatus may generate an output image with improved detail by generating detail on an area where detail is lost or deteriorated in the input image. Accordingly, the details of the entire image may be uniform, and the image quality of the image may be improved.
  • the image processing apparatus may improve image detail without significantly increasing hardware complexity.
  • FIG. 1 is a diagram illustrating a method in which an image processing apparatus according to an embodiment generates an image using a convolution operation.
  • FIGS. 2 and 3 are diagrams referenced to describe a process in which a convolution operation is performed in a general convolutional neural network.
  • FIG. 4 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment.
  • 5 to 7 are diagrams referred to for explaining a process in which an image processing apparatus processes an image using a convolutional neural network according to an embodiment.
  • FIG. 8 is a diagram referred to for describing a method of extracting a peripheral area by an image processing apparatus according to an embodiment.
  • FIG. 9 is a view referred to for explaining a method of applying a weight to an area around an image processing apparatus according to an embodiment.
  • FIG. 10 is a block diagram showing the configuration of an image processing apparatus according to an embodiment.
  • FIG. 11 is a block diagram of a processor according to an embodiment.
  • An image processing apparatus includes a memory that stores one or more instructions and a processor that executes the one or more instructions stored in the memory, wherein the processor uses a plurality of convolutional neural networks to input a plurality of inputs.
  • Performing convolution operation of the features of the regions and the second kernel set to extract peripheral features, and based on the target features and the peripheral features, in the output image, features of the regions corresponding to the target regions Can decide.
  • a plurality of input images includes a first input image and a second input image, and the target regions have a same position in each of the first input image and the second input image, the first target region And a second target region, wherein the peripheral regions are located in a periphery of the second target region in a first peripheral region and in the second input image located in the periphery of the first target region in the first input image. It may include a second peripheral area.
  • the processor extracts the first peripheral region from the first input image in a range in which a distance from the first target region is within a preset distance, and in the second input image, the first 2
  • the second peripheral region may be extracted in a range in which the distance from the target region is within the predetermined distance.
  • the processor determines a feature similarity with the first target region for each of the plurality of regions included in the first input image, and based on the feature similarity, the first A first peripheral region is determined, and feature similarity with the second target region is determined for each of a plurality of regions included in the second input image, and the second peripheral region is determined based on the feature similarity. Can be.
  • a first peripheral area is an area having a feature most similar to a feature of the first target area among a plurality of areas included in the first input image
  • the second peripheral area is the second It may be an area having a feature most similar to that of the second target region among a plurality of regions included in the input image.
  • the processor determines a first weight applied to the first peripheral region based on the distance between the first target region and the first peripheral region, and the second target region and the second
  • the second weight applied to the second peripheral area may be determined based on the distance from the peripheral area, and the peripheral characteristics may be extracted by applying the first weight and the second weight.
  • the processor determines the first weight to a larger value as the distance between the first target area and the first peripheral area is closer, and the second target area and the second peripheral area The closer the distance, the larger the second weight can be determined.
  • the processor determines a first weight applied to the first peripheral region based on a first similarity between the feature of the first target region and the feature of the first peripheral region, and the second A second weight applied to the second peripheral area is determined based on a second similarity between the feature of the target area and the feature of the second peripheral area, and the first and second weights are applied to the peripheral area.
  • Features can be extracted.
  • the processor may determine the larger the first similarity, the larger the first weight, and the larger the second similarity, the larger the second weight.
  • Each of the first kernel set and the second kernel set includes a plurality of kernels, and the number of the plurality of kernels may be the same as the number of the input images.
  • a first kernel set includes a first kernel and a second kernel, the second kernel set includes a third kernel and a fourth kernel, and the first target region and the first kernel convolve Performing a solution operation, extracting a first target feature, extracting a second target feature by performing a convolution operation of the second target region and the second kernel, and extracting a second target feature from the first peripheral region and the third kernel.
  • Convolution operation is performed to extract a first peripheral feature
  • convolution operation of the second peripheral region and the fourth kernel is performed to extract a second peripheral feature, and the first target feature, the second target feature, Based on the first peripheral feature and the second peripheral feature, in the output image, characteristics of the first target region and the region corresponding to the second target region may be determined.
  • the processor may determine a feature of a region corresponding to the target regions in the output image by performing a convolution operation between the target features and the peripheral features and a third kernel. .
  • the plurality of input images may include at least one of a plurality of frame images and a plurality of feature maps, which are input to any one of a plurality of convolutional layers included in the one or more convolutional neural networks. Can be.
  • An operation method of an image processing apparatus may include: extracting target features by performing convolution operations of features of target regions and a first kernel set having the same location in each of a plurality of input images, Extracting peripheral features by performing a convolution operation of the features of the peripheral regions and the second kernel set located around the target regions in the plurality of input images, and the target features and the peripheral features
  • the method may include determining a feature of an area corresponding to the target areas in the output image based on the fields.
  • a computer program product performs convolutional operations of features of target regions and a first kernel set having the same location in each of a plurality of input images, extracting target features, and the plurality of Extracting peripheral features by performing a convolution operation of the features of the peripheral regions and a second kernel set located around the target regions in the input images, and based on the target features and the peripheral features
  • it may include one or more computer-readable recording media storing a program for performing a step of determining a characteristic of an area corresponding to the target areas.
  • FIG. 1 is a diagram illustrating a method in which an image processing apparatus according to an embodiment generates an image using a convolution operation.
  • the image processing apparatus 100 receives a first image and inputs a first image using a convolutional neural network 200. By processing, it is possible to generate a second image (output).
  • the image processing apparatus 100 may extract feature information for the first image using the convolutional neural network 200 and generate a second image based on the extracted feature information. have.
  • the convolutional neural network 200 may include one or more deconvolution layers.
  • one or more images (or feature maps) input to the convolution layer and a kernel may be subjected to a deconvolution operation.
  • one or more images generated Fields (or feature maps) may be output.
  • one or more feature maps output from the current convolution layer may be input to the next convolution layer.
  • the image processing apparatus 100 may not only feature information of the target region 10 corresponding to the region 20 (first region) from which feature information is to be extracted, but also around the target region 10.
  • the image processing apparatus 100 may display the peripheral area 15 located around the target area 10.
  • a method of extracting feature information for the first region 20 using the target region 10 and the peripheral region 15 by the image processing apparatus according to an embodiment will be described in detail in the drawings described below. do.
  • FIGS. 2 and 3 are diagrams referenced to describe a process in which a convolution operation is performed in a general convolutional neural network.
  • the convolutional neural network 50 may include a plurality of convolutional layers.
  • the plurality of convolutional layers may include first to nth convolutional layers (Conv_1, Conv_2, Conv_3, ⁇ , Conv_n).
  • the input image 51 input to the convolutional neural network 50 of FIG. 2 is a low-resolution image
  • the output image 52 may be a high-resolution image.
  • the convolutional neural network 50 is an up-scaler. (Up-scaler) may be further included, but is not limited thereto.
  • values (for example, feature maps) output from the first convolution layer Conv_1 may be input to the second convolution layer Conv_2, and values output from the second convolution layer Conv_2 It may be input as the third convolution layer Conv_3.
  • the input image 51 may be an image including R, G, and B channels (RGB 3CH), and accordingly, three images f 1 , 1 , f 1,2 , and f 1 , 3 ) may be input as the first convolution layer Conv_1.
  • the first convolution layer Conv_1 may include a set of kernels.
  • the number of kernels included in one kernel set may be the same as the number of images input to the first convolution layer Conv_1.
  • the first convolution The number of kernels included in one kernel set of the layer Conv_1 may be three.
  • the convolution operation of the input images f 1,1 , f 1,2 , f 1,3 and a kernel set 61 ,..., 69 is performed.
  • a feature map (f 2,1 ,...,f 2,a ) can be extracted.
  • the convolution operation of the input images f 1,1 , f 1,2 , f 1,3 and the first kernel set 61 is performed, so that the first feature map f 2,1 is Can be extracted.
  • the convolution operation of the input images f 1,1 , f 1,2 , f 1, 3 and the a-th kernel set 69 is performed, so that the a-a feature map f 2,a is extracted. You can.
  • input images include first to third input images f 1,1 , f 1,2 , and f 1,3
  • the first kernel set includes first to third kernels ( k 1 1,1 , k 1 1,2 , k 1 1,3 ).
  • the first sub feature map 71 may be extracted, and at this time, the first sub feature map 71, the first target feature 91 corresponding to the first target region 81 of the first input image f 1 and 1 may be included.
  • the second sub feature map 72 may be extracted, at this time, the second sub The feature map 72 may include a second target feature 92 corresponding to the second target area 82 of the second input image f 1,2 .
  • the third sub feature map 73 may be extracted, at this time, the third sub The feature map 73 may include a third target feature 93 corresponding to the third target area 83 of the third input image f 1 and 3.
  • the first to third target areas 81, 82, and 83 are areas having the same position in each of the first to third input areas f 1,1 , f 1,2 , f 1,3 admit.
  • the first feature map f 2,1 may be extracted, and in the first feature map f 2,1 , the first The characteristics of the specific region 84 corresponding to the first to third target regions may be determined by summing the first to third target features 91, 92 and 93.
  • a feature for a specific region in an output image is based on a feature for a target region having a position corresponding to a specific region in an input image (or an input feature map). Is decided. Accordingly, when details about a target area in an input image are lost or deteriorated due to a compression artifact, motion blur, or the like, there is a problem that details for a specific region of an output image are also lost or deteriorated.
  • the image processing apparatus 100 may determine characteristics of a specific region by considering characteristics of a target region as well as characteristics of a target region in an input image, and determine characteristics of a specific region. You can create or enhance details for
  • FIG. 4 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 performs convolutional operations of characteristics of target regions and a first kernel set having the same location in each of a plurality of input images, and thus target characteristics It can be extracted (S410).
  • the image processing apparatus 100 may extract target regions having the same location from each of the plurality of input images.
  • the target regions may refer to regions corresponding to one region to obtain feature information from an output image (output feature map).
  • the image processing apparatus 100 may extract target features by performing a convolution operation of the extracted target regions and the first kernel set.
  • the number of kernels included in the first kernel set may be the same as the number of input images, and the image processing apparatus 100 includes a target region and a first kernel set included in each of the plurality of input images. Each of the included kernels can be convolved to calculate target features.
  • the image processing apparatus 100 may extract the peripheral features by performing the convolution operation of the second kernel set and the characteristics of the peripheral regions located around the target regions (S420 ).
  • the image processing apparatus 100 may extract, from each of the plurality of input images, an arbitrary region among the plurality of regions located around the target region as the surrounding region. Alternatively, the image processing apparatus 100 may extract the peripheral region based on the feature similarity between the plurality of regions and the target region, and the region having the greatest feature similarity with the target region among the plurality of regions may be the peripheral region. Can be extracted with This will be described later in detail in FIG. 8.
  • the image processing apparatus 100 may apply a weight to the extracted peripheral area.
  • the image processing apparatus 100 applies the weight determined based on the distance between the target area and the peripheral area to the peripheral area, or based on the feature similarity between the target area and the peripheral area, and assigns the determined weight to the peripheral area. Can be applied. This will be described later in detail in FIG. 9.
  • the image processing apparatus 100 may extract peripheral features by performing convolutional operations on the peripheral regions and the second kernel set.
  • the number of kernels included in the second kernel set may be the same as the number of input images, and the image processing apparatus 100 displays each of the peripheral regions and each of the kernels included in the second kernel set.
  • target features can be calculated.
  • the image processing apparatus 100 may determine a feature (output feature information) of the output image, corresponding to the target region, based on the extracted target features and surrounding features. For example, the image processing apparatus 100 may determine characteristic information for a region of the output image, corresponding to the target regions, by performing a convolution operation between the target features and surrounding features and the kernel.
  • 5 to 7 are diagrams referred to for explaining a process in which an image processing apparatus processes an image using a convolutional neural network according to an embodiment.
  • the image processing apparatus 100 may perform a convolution operation using the convolutional neural network 200.
  • the convolutional neural network 200 may include a plurality of convolutional layers.
  • the plurality of convolutional layers may include first to nth convolutional layers (Conv_1, Conv_2, Conv_3, ..., Conv_n).
  • the input image 510 may be an image including R, G, and B channels, and thus three images may be input to the first convolution layer Conv_1.
  • frame images having a plurality of viewpoints eg, a frame image at (t-1) view, a frame image at t view, a frame image at (t+1) view, etc.
  • the first convolution layer may include 2a kernel sets.
  • the number of kernels included in one kernel set may be the same as the number of images input to the first convolution layer Conv_1.
  • the number of kernels included in one kernel set of the first convolution layer Conv_1 may be three.
  • the feature maps may be extracted by performing convolution operations of the input images f 1,1 , f 1,2 , f 1,3 and the kernel sets. For example, the convolution operation of the input images f 1 , 1 , f 1,2 , f 1, 3 and the first kernel set 531 is performed to extract target features, and the input images f 1,1 , f 1,2 , f 1,3 ) and the convolution operation of the second kernel set 532 may be performed to extract surrounding features. Based on the extracted target features and surrounding features, a first feature map f 2,1 may be generated.
  • input images may include first to third input images f 1 , 1 , f 1,2 , and f 1,3 .
  • the first kernel set 531 included in the first convolution layer Conv_1 includes first to third kernels k 1 1 , 1 , k 1 1,2 , k 1 1,3 . number
  • the second set of kernel 532 may include fourth to sixth kernels (k 1 '1,1, k 1 ' 1,2, k 1 '1,3).
  • the image processing apparatus 100 extracts target regions 611, 612, and 613 having the same location in each of the first to third input images f 1 , 1 , f 1,2 , and f 1,3 You can.
  • the target regions 611, 612, and 613 may be regions corresponding to the region 614 to acquire feature information in the first feature map.
  • the area (614, hereinafter, referred to as the fourth area) to acquire feature information in the third target area 613 and the first feature map f 2,1 included in (f 1,3 ) is the first
  • Each of the third to third input images f 1 , 1 , f 1,2 , f 1,3 and the first feature map f 2,1 may be regions having the same location.
  • first to third target areas 611, 612, and 613 and the fourth area 614 for obtaining feature information may have the same size.
  • the image processing apparatus 100 may extract target features by performing a convolution operation of the first to third target regions 611, 612, and 613 and the first kernel set 531.
  • the image processing apparatus 100 extracts the first target feature 631 by performing a convolution operation of the first target region 611 and the first kernel k 1 1 , 1, and the second By performing the convolution operation of the target area 612 and the second kernel (k 1 1,2 ), the second target feature 632 is extracted, and the third target area 613 and the third kernel (k 1 1) By performing the convolution operation of , 3 ), the third target feature 633 can be extracted.
  • the image processing apparatus 100 is located around the target areas 611, 612, and 613 in the first to third input images f 1 , 1 , f 1,2 , and f 1,3 Regions can be extracted. A method of extracting surrounding areas will be described later in detail with reference to FIG. 8.
  • the image processing apparatus 100 extracts the first peripheral region 621 located around the first target region 611 from the first input image f 1 , 1, and the second input image ( f 1,2 ) extracts a second peripheral area 622 located around the second target area 612, and extracts a second peripheral area 622 located around the third target area 613 from the third input image f 1 , 3.
  • the positioned third peripheral region 623 may be extracted.
  • the image processing apparatus 100 may extract peripheral features by performing convolutional operations of the peripheral regions 621, 622, and 623 and the second kernel set 532.
  • the image processing apparatus 100 extracts the first peripheral feature 641 by performing a convolution operation of the first peripheral region 621 and the fourth kernel k 1 ′ 1 , 1 , and second peripheral region 622 and the fifth kernel by performing a convolution operation of the (k 1 '1, 2), and extract the second peripheral feature 642 and the third peripheral region 623 and the sixth kernel (k by performing a convolution operation of the 1 "1, 3), it is possible to extract the three feature around 643.
  • the image processing apparatus 100 based on the first to third target features 631, 632 and 633 and the first to third peripheral features 641, 642 and 643, the first feature map f 2, Characteristics of the fourth region 614 included in 1 ) may be determined.
  • the image processing apparatus 100 may include the first to third target features 631, 632, and 633 and the first to third peripheral features 641, 642, and 643 and the seventh kernel 650.
  • a characteristic for the fourth region 614 can be determined.
  • six features first to third target features and first to third peripheral features 631, 632, 633, 641, 642, and 643 and a convolution operation of the seventh kernel 650 are performed.
  • the feature for the fourth region 614 can be determined by reducing it to three features 655 and summing the three features 655.
  • the image processing apparatus 100 may also determine features for other areas of the first feature map f 2 , 1 in the same manner as described in FIG. 6, and accordingly, include feature information
  • the first feature maps f 2 and 1 may be generated.
  • the image processing apparatus 100 in the first convolution layer Conv_1, performs the convolution operation on the plurality of input images and the 3rd to 2a kernel sets in the same manner as described in FIG. 6. By doing so, it is possible to generate the second to a characteristic maps f 2, 2, ⁇ , and f 2, a .
  • a feature map f 2,1, f 2,2 , ..., f 2,a output from the first convolution layer Conv_1 is a second convolution layer Conv_2 Can be entered as
  • the second convolution layer Conv_2 may include 2b kernel sets.
  • the number of kernels included in one kernel set may be the same as the number of images input to the second convolution layer Conv_2.
  • the number of kernels included in one kernel set of the second convolution layer Conv_2 may be a number.
  • the image processing apparatus 100 in the second convolution layer Conv_2, a feature maps f 2, 1, f 2, 2 , ..., f 2, a and kernel sets 731, 732 , ... 738, 739), the feature maps f 3,1, f 3,2 , ..., f 3,b can be extracted.
  • the image processing apparatus, b feature maps (f 3,1, f 3,2 , ... , f 3,b ).
  • FIG. 8 is a diagram referred to for describing a method of extracting a peripheral area by an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 analyzes similarities between features for a plurality of regions included in an input image and features of a target region, and based on the analyzed similarities, The surrounding area can be extracted.
  • the image processing apparatus 100 may calculate the similarity between the features of the plurality of regions and the feature of the target region, and the first to third similarity maps of FIG. 8 may include first to third inputs.
  • the image processing apparatus 100 may calculate the similarity between the features of the plurality of regions and the feature of the target region, and the first to third similarity maps of FIG. 8 may include first to third inputs.
  • it may be maps indicating similarity between a target area and a plurality of areas located around the target area.
  • the image processing apparatus 100 may calculate the feature similarity (f(s)) based on a gram matrix function or an L2 norm function.
  • the image processing apparatus 100 may calculate the Gram matrix function using Equations 1 to 3 as follows, and determine that the smaller the value of the Gram matrix function, the greater the similarity.
  • G target is a gram matrix of the target region
  • G non -local represents a gram matrix of each of a plurality of regions located around the target region.
  • P target and ij represent pixel values at the (ij) position in the target region
  • P non -local and ij represent pixel values at the (i, j) location in each of the plurality of regions.
  • the image processing apparatus 100 may determine that the similarity is greater as the value of the Gram matrix function is smaller.
  • the image processing apparatus 100 may calculate the L2 norm function by using the following Equation 4 and Equation 5, and it may be determined that the smaller the value of the L2 norm function, the greater the similarity.
  • the image processing apparatus 100 is between a first target region 811 and a plurality of regions located around the first target region 811.
  • the feature similarity may be calculated, and the first peripheral region 821 having the largest feature similarity among the plurality of regions may be extracted.
  • the image processing apparatus 100 calculates the similarity between the second target region 812 and a plurality of regions located around the second target region 812 in the second input image, and the plurality of regions Among them, the second peripheral region 822 having the greatest similarity may be extracted.
  • the image processing apparatus 100 calculates the similarity between the third target region 813 and the plurality of regions located around the third target region 813 in the third input image, and the plurality of regions Among them, the third peripheral region 823 having the greatest similarity may be extracted.
  • the image processing apparatus 100 performs convolution operations of the extracted first to third peripheral regions 821, 822, and 823 and the second kernel set, thereby providing peripheral features (first to first 3 surrounding features).
  • FIG. 9 is a view referred to for explaining a method of applying a weight to an area around an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 may apply a weight to the extracted surrounding area.
  • the image processing apparatus 100 may apply a weight to a surrounding area using a weight map.
  • the image processing apparatus 100 may apply a weight to the first peripheral region 921 by performing a multiplication operation of the first input image f 1 and 1 and the first weight map 951.
  • the image processing apparatus 100 may apply a weight to the second peripheral region 922 by performing a multiplication operation of the second input image f 1,2 and the second weight map 952.
  • weights may be applied to the third peripheral region 923.
  • the image processing apparatus 100 may determine a weight for the peripheral area based on the distance between the extracted peripheral area and the target area.
  • the image processing apparatus 100 according to the distance between the first target region 911 and the extracted first peripheral region 921, the first peripheral region The weight for 921 may be determined, and the closer the distance, the larger the weight may be determined.
  • the image processing apparatus 100 in the same manner, according to the distance between the second target region 912 and the extracted second peripheral region 922 in the second input image f 1,2 , the second peripheral The weight for the region 922 can be determined.
  • the image processing apparatus 100 according to the distance between the third target region 913 and the extracted third peripheral region 923 in the third input image f 1 , 3, the third peripheral region 923 The weight for can be determined.
  • the image processing apparatus 100 determines a weight for the peripheral area based on the distance between the target area and the peripheral area
  • values included in the weight map according to an embodiment are located around the target area and the target area It can be determined according to the distance between the regions.
  • the weight map may be represented by Equation 6 below.
  • C represents a constant
  • f(d) is a function representing a distance between a target region and peripheral regions located around the target region, and may include a bilinear function, a Gaussian function, etc., but is not limited thereto. .
  • the first to third weight maps 951, 952, and 953 may include first to third regions 961, 962, corresponding to the first to third target regions 911, 912, and 913. 963), and may have a form in which the value becomes smaller as it moves away from the first to third regions 961, 962, and 963, but is not limited thereto.
  • the image processing apparatus 100 may determine a weight for the peripheral area based on the similarity between the extracted peripheral area and the target area.
  • the image processing apparatus 100 determines the characteristic similarity (f(s)) of the first target region 911 and the extracted first peripheral region 921.
  • the weight for the first peripheral region 921 may be determined, and the higher the feature similarity, the larger the weight may be determined.
  • the image processing apparatus 100 calculates the similarity between the second target region 912 and the extracted second peripheral region 922 in the second input image f 1,2 in the same manner, according to the calculated similarity.
  • Weights for the second peripheral region 922 may be determined.
  • the image processing apparatus 100 calculates feature similarity between the third target region 913 and the extracted third peripheral region 923 from the third input image f 1 and 3, and according to the calculated similarity, The weight for the third peripheral area 923 may be determined.
  • the image processing apparatus 100 may calculate the similarity between the peripheral region and the target region using the Gram matrix function or the L2 norm function described in FIG. 8.
  • the weight map may be expressed by Equation 7 as follows.
  • C1 and C2 denote constants
  • f(s) denotes feature similarity, and can be calculated using the Gram matrix function of Equations 1 to 3 or the L2 norm function of Equations 4 and 5, It is not limited to this.
  • the greater the similarity the closer f(s) is to 0.
  • the first to third weight maps 951, 952, and 953 illustrated in FIG. 9 represent a Gaussian function, but are shown as the same, but are not limited thereto, and the first to third weight maps 951, 952, and 953 are It can be different maps.
  • FIG. 10 is a block diagram showing the configuration of an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 may include a processor 120 and a memory 130.
  • the processor 120 may overall control the image processing apparatus 100.
  • the processor 120 may execute one or more programs stored in the memory 130.
  • the memory 130 may store various data, programs or applications for driving and controlling the image processing apparatus 100.
  • the program stored in the memory 130 may include one or more instructions.
  • the program (one or more instructions) or application stored in the memory 130 may be executed by the processor 120.
  • the processor 120 may generate a convolution operation of a plurality of input images and a plurality of kernels using a convolutional neural network, and generate an output image. For example, the processor 120 performs convolution operation of the target regions included in the input images (or input feature maps) and the first kernel set, extracts target features, and is located around the target regions By performing the convolution operation of the surrounding regions and the second kernel set, the surrounding features can be extracted. The processor 120 may determine an output feature for the target area based on the extracted target features and surrounding features. As this was described in detail in FIG. 6, the same description will be omitted.
  • the processor 120 may apply weights to the surrounding area. For example, the processor 120 may apply the determined weight to the peripheral area based on the distance between the target area and the peripheral area. Alternatively, the processor 120 may apply the determined weight to the peripheral area based on the feature similarity between the target area and the peripheral area. As this was described in detail in FIG. 9, the same description will be omitted.
  • FIG. 11 is a block diagram of a processor according to an embodiment.
  • the processor 120 includes a target area extracting unit 1210, a target feature extracting unit 1220, a peripheral area extracting unit 1230, a weight determining unit 1240, and a weight applying unit 1250, a peripheral feature extraction unit 1260 and an extraction feature synthesis unit 1270.
  • the target region extracting unit 1210 may extract target regions having the same location from each of the plurality of input images.
  • the target regions may be regions corresponding to a region to obtain feature information from an output image (output feature map).
  • the target feature extraction unit 1220 may extract target features by performing a convolution operation of the extracted target regions and the first kernel set.
  • the peripheral region extractor 1230 may receive information about a plurality of input images and target regions, and extract a peripheral region located around the target region from each of the plurality of input images.
  • the peripheral region extracting unit 1230 may extract an arbitrary region among a plurality of regions located around the target region as a peripheral region.
  • the peripheral region extracting unit 1230 may extract a peripheral region from regions located within a predetermined distance from the target region.
  • the peripheral region extracting unit 1230 may extract the peripheral region based on the feature similarity between the plurality of regions included in each of the plurality of input images and the target region. For example, the peripheral region extractor 1230 may calculate feature similarity between features for a plurality of regions and features of the target region, and extract the region having the greatest feature similarity into the peripheral region. At this time, the peripheral region extractor 1230 may calculate feature similarity using a Gram matrix function or an L2 norm function.
  • the weight determining unit 1240 may determine a weight for the extracted surrounding area. For example, the weight determining unit 1240 may determine a weight for the peripheral area based on the distance between the extracted peripheral area and the target area. In this case, the weight determining unit 1240 may generate a weight map whose value is determined based on the distance between the target area and areas located around the target area. For example, the weight determining unit 1240 may generate a weight map having a largest value in a first region corresponding to the target region, and a smaller value as it moves away from the first region, but is not limited thereto. Does not.
  • the weight determining unit 1240 may determine a weight for the peripheral area based on the feature similarity between the peripheral area and the target area. In this case, the weight determining unit 1240 may calculate a feature similarity between the peripheral region and the target region using the Gram matrix function or the L2 norm function. Also, the weight determining unit 1240 may generate a weight map whose value is determined based on the feature similarity.
  • the weight applying unit 1250 may apply the weight determined by the weight determining unit 1240 to the surrounding area.
  • the weight applying unit 1250 may apply a weight to the peripheral area by performing a multiplication operation on the peripheral area or the input image and the weight map generated by the weight determining unit 1240.
  • it is not limited thereto.
  • the peripheral feature extracting unit 1260 performs the convolution operation of the peripheral regions extracted by the peripheral region extracting unit 1260 or the weighted peripheral regions by the weighting unit 1250 and the second kernel set, thereby performing peripheral convolution. You can extract them.
  • the extraction feature synthesis unit 1270 based on the target features extracted by the target feature extraction unit 1220 and the peripheral features extracted by the peripheral feature extraction unit 1260, outputs (output feature map) feature information Can decide. For example, the extraction feature synthesis unit 1270 may determine the feature of the region corresponding to the target region by performing a convolution operation of the kernel with the target features and surrounding features.
  • at least one of the extraction feature synthesis unit 1270 may be manufactured in the form of a hardware chip and mounted on the image processing apparatus 100.
  • the target region extraction unit 1210, the target feature extraction unit 1220, the peripheral region extraction unit 1230, the weight determination unit 1240, the weight applying unit 1250, the peripheral feature extraction unit 1260 and At least one of the extraction feature synthesis unit 1270 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (eg, CPU or application processor) or graphics-only processor (eg : GPU) and may be mounted on the various image processing devices described above.
  • AI artificial intelligence
  • an existing general-purpose processor eg, CPU or application processor
  • graphics-only processor eg : GPU
  • the feature synthesizing unit 1270 may be mounted on one image processing apparatus, or may be mounted on separate image processing apparatuses, respectively.
  • the target region extraction unit 1210, the target feature extraction unit 1220, the peripheral region extraction unit 1230, the weight determining unit 1240, the weight applying unit 1250, the peripheral feature extraction unit 1260 and A part of the extraction feature synthesis unit 1270 may be included in the image processing apparatus, and the other part may be included in the server.
  • At least one of the synthesis unit 1270 may be implemented as a software module.
  • the software module is a computer-readable, non-transitory computer readable medium. media).
  • At least one software module may be provided by an operating system (OS) or may be provided by a predetermined application.
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application.
  • FIGS. 10 and 11 are block diagrams for one embodiment.
  • Each component of the block diagram may be integrated, added, or omitted depending on the specification of the image processing apparatus 100 that is actually implemented. That is, if necessary, two or more components may be combined into one component, or one component may be divided into two or more components.
  • the function performed in each block is for describing embodiments, and the specific operation or device does not limit the scope of the present invention.
  • the operation method of the image processing apparatus may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks.
  • -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.
  • an image processing apparatus and an operation method of the image processing apparatus according to the disclosed embodiments may be provided in a computer program product.
  • Computer program products are commodities that can be traded between sellers and buyers.
  • the computer program product may include an S/W program and a computer-readable storage medium on which the S/W program is stored.
  • the computer program product may include a product (eg, downloadable app) in the form of an S/W program that is distributed electronically through an electronic device manufacturer or an electronic market (eg, Google Play Store, App Store). have.
  • a product eg, downloadable app
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.
  • the computer program product in a system composed of a server and a client device, may include a storage medium of a server or a storage medium of a client device.
  • a third device eg, a smart phone
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include the S/W program itself transmitted from the server to the client device or the third device, or transmitted from the third device to the client device.
  • one of the server, the client device, and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the client device, and the third device may execute the computer program product and distribute the method according to the disclosed embodiments.
  • a server eg, a cloud server or an artificial intelligence server, etc.
  • a server may execute a computer program product stored in the server, and control the client device in communication with the server to perform the method according to the disclosed embodiments.

Abstract

영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용하여, 복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하고, 복수의 입력 영상들에서 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하며, 타겟 특징들 및 주변 특징들에 기초하여, 출력 영상에서, 타겟 영역들에 대응되는 영역의 특징을 결정하는 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작방법
다양한 실시예들은 컨볼루션 연산을 수행하는 영상 처리 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 컨볼루션 연산 수행 시, 영상의 디테일(detail)을 향상시킬 수 있는 영상 처리 장치 및 그 동작방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
컨볼루션 뉴럴 네트워크(CNN: Convolution Neural Network) 등에서, 입력 영상(입력 특징 맵)과 커널의 컨볼루션 연산을 통해, 출력 영상이 생성되며, 이때, 입력 영상의 대응되는 영역(입력 영상에서 동일한 위치를 가지는 영역)의 특징을 참조하여, 출력 영상이 생성된다. 이에 따라, 입력 영상의 특정 영역에 대한 디테일이 손실된 경우, 출력 영상에서, 특정 영역에 대응하는 영역의 디테일의 생성이 어렵다는 문제점이 있다.
다양한 실시예들은, 입력 영상에 포함되는, 타겟 영역에 대한 타겟 특징과, 타겟 영역의 주변에 위치하는 주변 영역에 대한 주변 특징을 이용하여, 출력 영상을 생성함으로써, 출력 영상에서, 타겟 영역에 대응하는 영역의 디테일을 향상시킬 수 있는, 영상 처리 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는, 입력 영상에서 디테일이 손실되거나 저하된 영역에 대한 디테일을 생성함으로써, 디테일이 향상된 출력 영상을 생성할 수 있다. 이에 따라, 영상 전체에 대한 디테일이 균일해질 수 있으며, 영상의 화질이 향상될 수 있다.
일 실시예에 따른 영상 처리 장치는, 하드웨어 복잡도를 크게 증가시키지 않고도, 영상의 디테일을 향상시킬 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 컨볼루션 연산을 이용하여 영상을 생성하는 방법을 나타내는 도면이다.
도 2 및 도 3은 일반적인 컨볼루션 뉴럴 네트워크에서 컨볼루션 연산이 수행되는 과정을 설명하기 위해 참조되는 도면들이다.
도 4는 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 5 내지 도 7은 일 실시예에 따른 영상 처리 장치가 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 과정을 설명하기 위해 참조되는 도면들이다.
도 8은 일 실시예에 따른 영상 처리 장치가 주변 영역을 추출하는 방법을 설명하기 위해 참조되는 도면이다.
도 9는 일 실시예에 따른 영상 처리 장치가 주변 영역에 대해 가중치를 적용하는 방법을 설명하기 위해 참조되는 도면이다.
도 10은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 11은 일 실시예에 따른 프로세서의 블록도이다.
일 실시예에 따른 영상 처리 장치는 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용하여, 복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하고, 상기 복수의 입력 영상들에서 상기 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하며, 상기 타겟 특징들 및 상기 주변 특징들에 기초하여, 출력 영상에서, 상기 타겟 영역들에 대응되는 영역의 특징을 결정할 수 있다.
일 실시예에 따른 복수의 입력 영상들은 제1 입력 영상 및 제2 입력 영상을 포함하며, 상기 타겟 영역들은, 상기 제1 입력 영상 및 상기 제2 입력 영상 각각에서 동일한 위치를 가지는, 제1 타겟 영역 및 제2 타겟 영역을 포함하고, 상기 주변 영역들은, 상기 제1 입력 영상에서 상기 제1 타겟 영역의 주변에 위치하는 제1 주변 영역 및 상기 제2 입력 영상에서, 상기 제2 타겟 영역의 주변에 위치하는 제2 주변 영역을 포함할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 입력 영상에서, 상기 제1 타겟 영역과의 거리가 기 설정된 거리 이내인 범위에서, 상기 제1 주변 영역을 추출하고, 상기 제2 입력 영상에서, 상기 제2 타겟 영역과의 거리가 상기 기 설정된 거리 이내인 범위에서, 상기 제2 주변 영역을 추출할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제1 타겟 영역과의 특징 유사성(feature similarity)을 결정하고, 상기 특징 유사성에 기초하여, 상기 제1 주변 영역을 결정하며, 상기 제2 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제2 타겟 영역과의 특징 유사성을 결정하고, 상기 특징 유사성에 기초하여, 상기 제2 주변 영역을 결정할 수 있다.
일 실시예에 따른 제1 주변 영역은, 상기 제1 입력 영상에 포함된 복수의 영역들 중 상기 제1 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역이고, 상기 제2 주변 영역은, 상기 제2 입력 영상에 포함된 복수의 영역들 중 상기 제2 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역일 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 타겟 영역과 상기 제1 주변 영역과의 거리에 기초하여, 상기 제1 주변 영역에 적용되는 제1 가중치를 결정하고, 상기 제2 타겟 영역과 상기 제2 주변 영역과의 거리에 기초하여, 상기 제2 주변 영역에 적용되는 제2 가중치를 결정하며, 상기 제1 가중치 및 제2 가중치를 적용하여, 상기 주변 특징들을 추출할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 타겟 영역과 상기 제1 주변 영역과의 거리가 가까울수록, 상기 제1 가중치를 큰 값으로 결정하고, 상기 제2 타겟 영역과 상기 제2 주변 영역과의 거리가 가까울수록 상기 제2 가중치를 큰 값으로 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 타겟 영역의 특징과 상기 제1 주변 영역의 특징 사이의 제1 유사도에 기초하여, 상기 제1 주변 영역에 적용되는 제1 가중치를 결정하고, 상기 제2 타겟 영역의 특징과 상기 제2 주변 영역의 특징 사이의 제2 유사도에 기초하여, 상기 제2 주변 영역에 적용되는 제2 가중치를 결정하며, 상기 제1 가중치 및 제2 가중치를 적용하여, 상기 주변 특징들을 추출할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 유사도가 클수록, 상기 제1 가중치를 큰 값으로 결정하고, 상기 제2 유사도가 클수록, 상기 제2 가중치를 큰 값으로 결정할 수 있다.
일 실시예에 따른 제1 커널 세트 및 제2 커널 세트 각각은 복수의 커널들을 포함하고, 상기 복수의 커널들의 개수는 상기 복수의 입력 영상들의 개수와 동일할 수 있다.
일 실시예에 따른 제1 커널 세트는 제1 커널 및 제2 커널을 포함하고, 상기 제2 커널 세트는 제3 커널 및 제4 커널을 포함하며, 상기 제1 타겟 영역과 상기 제1 커널의 컨볼루션 연산을 수행하여, 제1 타겟 특징을 추출하고, 상기 제2 타겟 영역과 상기 제2 커널의 컨볼루션 연산을 수행하여 제2 타겟 특징을 추출하며, 상기 제1 주변 영역과 상기 제3 커널의 컨볼루션 연산을 수행하여 제1 주변 특징을 추출하고, 상기 제2 주변 영역과 상기 제4 커널의 컨볼루션 연산을 수행하여 제2 주변 특징을 추출하며, 상기 제1 타겟 특징, 제2 타겟 특징, 제1 주변 특징 및 제2 주변 특징에 기초하여, 상기 출력 영상에서, 상기 제1 타겟 영역 및 상기 제2 타겟 영역에 대응하는 영역의 특징을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 타겟 특징들 및 상기 주변 특징들과, 제3 커널과의 컨볼루션 연산을 수행함으로써, 상기 출력 영상에서, 상기 타겟 영역들에 대응하는 영역의 특징을 결정할 수 있다.
일 실시예에 따른 복수의 입력 영상들은, 상기 하나 이상의 컨볼루션 뉴럴 네트워크에 포함되는 복수의 컨볼루션 레이어들 중 어느 하나에 입력되는, 복수의 프레임 영상들 및 복수의 특징 맵들 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치의 동작방법은, 복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하는 단계, 상기 복수의 입력 영상들에서 상기 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하는 단계, 및 상기 타겟 특징들 및 상기 주변 특징들에 기초하여, 출력 영상에서, 상기 타겟 영역들에 대응되는 영역의 특징을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터 프로그램 제품은, 복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하는 단계, 상기 복수의 입력 영상들에서 상기 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하는 단계, 및 상기 타겟 특징들 및 상기 주변 특징들에 기초하여, 출력 영상에서, 상기 타겟 영역들에 대응되는 영역의 특징을 결정하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 컨볼루션 연산을 이용하여 영상을 생성하는 방법을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(input)을 입력 받고, 컨볼루션 뉴럴 네트워크(Convolution Neural Network)(200)를 이용하여, 제1 영상(input)을 처리함으로써, 제2 영상(output)을 생성할 수 있다. 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크(200)를 이용하여, 제1 영상(input)에 대한 특징 정보를 추출하고, 추출된 특징 정보에 기초하여, 제2 영상(output)을 생성할 수 있다.
컨볼루션 뉴럴 네트워크(200)는 하나 이상의 컨볼루션(deconvolution) 레이어들을 포함할 수 있다. 컨볼루션 레이어들 각각에서는, 컨볼루션 레이어에 입력된 하나 이상의 영상들(또는 특징 맵들)과 커널(kernel)의 컨볼루션(deconvolution) 연산을 수행될 수 있으며, 컨볼루션 연산 결과, 생성된 하나 이상의 영상들(또는, 특징 맵들)이 출력될 수 있다. 또한, 현재 컨볼루션 레이어에서 출력된 하나 이상의 특징 맵들은 다음 컨볼루션 레이어로 입력될 수 있다.
일 실시예에 따른 영상 처리 장치(100)는, 특징 정보를 추출하고자 하는 영역(20, 제1 영역)에 대응되는, 타겟 영역(10)의 특징 정보뿐만 아니라, 타겟 영역(10)의 주변에 위치하는 주변 영역(15)의 특징 정보를 함께 이용하여, 제1 영역(20)에 대한 특징 정보를 추출함으로써, 제1 영역(20)의 디테일을 향상시킬 수 있다. 예를 들어, 제1 영상(input)에서, 타겟 영역(10)에 대한 디테일이 손실되거나 저하된 경우, 영상 처리 장치(100)는, 타겟 영역(10) 주변에 위치하는 주변 영역(15)의 디테일 정보를 함께 이용하여, 제2 영상(output)을 생성함으로써, 타겟 영역(10)에 대응하는 제1 영역(20)에 대한 디테일을 향상시킬 수 있다.
일 실시예에 따른 영상 처리 장치가 타겟 영역(10)과 주변 영역(15)을 이용하여, 제1 영역(20)에 대한 특징 정보를 추출하는 방법에 대해서는, 후술하는 도면들에서 자세히 설명하기로 한다.
도 2및 도 3은 일반적인 컨볼루션 뉴럴 네트워크에서 컨볼루션 연산이 수행되는 과정을 설명하기 위해 참조되는 도면들이다.
도 2를 참조하면, 컨볼루션 뉴럴 네트워크(50)는 복수의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 복수의 컨볼루션 레이어들은, 제1 내지 제n컨볼루션 레이어들(Conv_1, Conv_2, Conv_3, 쪋, Conv_n)을 포함할 수 있다. 또한, 도 2의 컨볼루션 뉴럴 네트워크(50)에 입력되는 입력 영상(51)은 저해상도 영상이며, 출력 영상(52)은 고해상도 영상일 수 있으며, 이에 따라, 컨볼루션 뉴럴 네트워크(50)는 업 스케일러(Up-scaler)를 더 포함할 수 있으나, 이에 한정되지 않는다.
한편, 제1 컨볼루션 레이어(Conv_1)에서 출력된 값들(예를 들어, 특징 맵들)은 제2 컨볼루션 레이어(Conv_2)로 입력될 수 있으며, 제2 컨볼루션 레이어(Conv_2)에서 출력된 값들은 제3 컨볼루션 레이어(Conv_3)로 입력될 수 있다.
도 2를 참조하면, 입력 영상(51)은 R, G, B 채널들(RGB 3CH)을 포함하는 영상일 수 있으며, 이에 따라, 3개의 영상들(f 1,1, f 1,2, f 1,3)이 제1 컨볼루션 레이어(Conv_1)로 입력될 수 있다. 제1 컨볼루션 레이어(Conv_1)는, a개의 커널 세트를 포함할 수 있다. 이때, 커널 세트 하나에 포함되는 커널들의 개수는, 제1 컨볼루션 레이어(Conv_1)에 입력되는 영상들의 개수와 동일할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 제1 컨볼루션 레이어(Conv_1)에 3개의 영상들(f 1,1, f 1,2, f 1,3)이 입력되는 경우, 제1 컨볼루션 레이어(Conv_1)의 커널 세트 하나에 포함되는 커널들의 개수는 3개일 수 있다.
제1 컨볼루션 레이어(Conv_1)에서는, 입력 영상들(f 1,1, f 1,2, f 1,3)과 a 개의 커널 세트들(61,..., 69)의 컨볼루션 연산이 수행되어, a개의 특징 맵들(f 2,1,...,f 2,a)이 추출될 수 있다. 예를 들어, 입력 영상들(f 1,1, f 1,2, f 1,3)과 제1 커널 세트(61)의 컨볼루션 연산이 수행되어, 제1 특징 맵(f 2,1)이 추출될 수 있다. 또한, 입력 영상들(f 1,1, f 1,2, f 1, 3)과 제a 커널 세트(69)의 컨볼루션 연산이 수행되어, 제a 특징 맵(f 2,a)이 추출될 수 있다.
제1 특징 맵(f 2,1)을 추출하는 방법에 대해서, 도 3을 참조하여, 자세히 설명하기로 한다.
도 3을 참조하면, 입력 영상들은 제1 내지 제3 입력 영상들(f 1,1, f 1,2, f 1,3)을 포함하고, 제1 커널 세트는 제1 내지 제3 커널들(k 1 1,1, k 1 1,2, k 1 1,3)을 포함할 수 있다. 제1 입력 영상(f 1,1)과 제1 커널(k 1 1,1)의 컨볼루션 연산을 수행함으로써, 제1 서브 특징 맵(71)이 추출될 수 있으며, 이때, 제1 서브 특징 맵(71)은, 제1 입력 영상(f 1,1)의 제1 타겟 영역(81)에 대응하는 제1 타겟 특징(91)을 포함할 수 있다. 또한, 제2 입력 영상(f 1,2)과 제2 커널(k 1 1,2)의 컨볼루션 연산을 수행함으로써, 제2 서브 특징 맵(72)이 추출될 수 있으며, 이때, 제2 서브 특징 맵(72)은, 제2 입력 영상(f 1,2)의 제2 타겟 영역(82)에 대응하는 제2 타겟 특징(92)을 포함할 수 있다. 또한, 제3 입력 영상(f 1,3)과 제3 커널(k 1 1,3)의 컨볼루션 연산을 수행함으로써, 제3 서브 특징 맵(73)이 추출될 수 있으며, 이때, 제3 서브 특징 맵(73)은, 제3 입력 영상(f 1,3)의 제3 타겟 영역(83)에 대응하는 제3 타겟 특징(93)을 포함할 수 있다. 이때, 제1 내지 제3 타겟 영역들(81, 82, 83)은, 제1 내지 제3 입력 영역들(f 1,1, f 1,2, f 1,3) 각각에서 동일한 위치를 가지는 영역들이다.
한편, 제1 내지 제3 서브 특징 맵들(71, 72, 73)을 합산함으로써, 제1 특징 맵(f 2,1)이 추출될 수 있으며, 제1 특징 맵(f 2,1)에서, 제1 내지 제3 타겟 영역들에 대응하는 특정 영역(84)에 대한 특징은, 제1 내지 제3 타겟 특징들(91, 92, 93)을 합산함으로써, 결정될 수 있다.
일반적인 컨볼루션 연산에 있어서, 출력 영상(또는, 출력 특징 맵)에서 특정 영역에 대한 특징은, 입력 영상(또는, 입력 특징 맵)에서, 특정 영역에 대응되는 위치를 가지는 타겟 영역에 대한 특징에 기초하여 결정되게 된다. 따라서, 압축 아티팩트나, 모션 블러 등의 원인으로 입력 영상에서 타겟 영역에 대한 디테일이 손실되거나 저하된 경우, 출력 영상의 특정 영역에 대한 디테일도 손실되거나 저하되는 문제점이 있다.
일 실시예에 따른 영상 처리 장치(100)는, 입력 영상에서 타겟 영역에 대한 특징뿐만 아니라 타겟 영역 주변에 위치한 주변 영역에 대한 특징을 함께 고려하여, 특정 영역에 대한 특징을 결정함으로써, 특정 영역에 대한 디테일을 생성하거나 향상시킬 수 있다.
도 4는 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출할 수 있다(S410).
영상 처리 장치(100)는 복수의 입력 영상들 각각에서 동일한 위치를 가지는 타겟 영역들을 추출할 수 있다. 타겟 영역들은 출력 영상(출력 특징 맵)에서 특징 정보를 획득하고자 하는 일 영역에 대응되는 영역들을 의미할 수 있다. 영상 처리 장치(100)는 추출된 타겟 영역들과 제1 커널 세트의 컨볼루션 연산을 수행함으로써, 타겟 특징들을 추출할 수 있다. 예를 들어, 제1 커널 세트에 포함되는 커널들의 개수는, 입력 영상들의 개수와 동일할 수 있으며, 영상 처리 장치(100)는 복수의 입력 영상들 각각에 포함되는 타겟 영역과 제1 커널 세트에 포함되는 커널들 각각을 컨볼루션하여, 타겟 특징들을 계산할 수 있다.
영상 처리 장치(100)는 타겟 영역들의 주변에 위치하는 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출할 수 있다(S420).
영상 처리 장치(100)는 복수의 입력 영상들 각각에서, 타겟 영역의 주변에 위치하는 복수의 영역들 중 임의의 영역을 주변 영역으로 추출할 수 있다. 또는, 영상 처리 장치(100)는 복수의 영역들과 타겟 영역 사이의 특징 유사도에 기초하여, 주변 영역을 추출할 수 있으며, 복수의 영역들 중 타겟 영역과의 특징 유사도가 가장 큰 영역을 주변 영역으로 추출할 수 있다. 이에 대해서는, 도 8에서 자세히 후술하기로 한다.
또한, 영상 처리 장치(100)는 추출된 주변 영역에 가중치를 적용할 수 있다. 예를 들어, 영상 처리 장치(100)는 타겟 영역과 주변 영역 사이의 거리에 기초하여 결정된 가중치를 주변 영역에 적용하거나, 타겟 영역과 주변 영역 사이의 특징 유사도에 기초하여, 결정된 가중치를 주변 영역에 적용할 수 있다. 이에 대해서는, 도 9에서 자세히 후술하기로 한다.
영상 처리 장치(100)는 주변 영역들과 제2 커널 세트의 컨볼루션 연산을 수행함으로써, 주변 특징들을 추출할 수 있다. 예를 들어, 제2 커널 세트에 포함되는 커널들의 개수는, 입력 영상들의 개수와 동일할 수 있으며, 영상 처리 장치(100)는 주변 영역들 각각과, 제2 커널 세트에 포함되는 커널들 각각을 컨볼루션하여, 타겟 특징들을 계산할 수 있다.
영상 처리 장치(100)는 추출된 타겟 특징들 및 주변 특징들에 기초하여, 타겟 영역에 대응하는, 출력 영상의 특징(출력 특징 정보)을 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 타겟 특징들 및 주변 특징들과 커널과의 컨볼루션 연산을 수행함으로써, 타겟 영역들에 대응하는, 출력 영상의 일 영역에 대한 특징 정보를 결정할 수 있다.
도 5 내지 도 7은 일 실시예에 따른 영상 처리 장치가 컨볼루션 뉴럴 네트워크를 이용하여, 영상을 처리하는 과정을 설명하기 위해 참조되는 도면들이다.
도 5를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크(200)를 이용하여, 컨볼루션 연산을 수행할 수 있다. 이때, 일 실시예에 따른 컨볼루션 뉴럴 네트워크(200)는 복수의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 복수의 컨볼루션 레이어들은, 제1 내지 제 n 컨볼루션 레이어들(Conv_1, Conv_2, Conv_3, ..., Conv_n)을 포함할 수 있다.
도 5를 참조하면, 입력 영상(510)은 R, G, B 채널들을 포함하는 영상일 수 있으며, 이에 따라 3개의 영상들이 제1 컨볼루션 레이어(Conv_1)로 입력될 수 있다. 또는, 복수의 시점을 가지는 프레임 영상들(예를 들어, (t-1) 시점의 프레임 영상, t시점의 프레임 영상, (t+1) 시점의 프레임 영상 등)이 제1 컨볼루션 레이어(Conv_1)로 입력될 수 있다.
제1 컨볼루션 레이어는, 2a개의 커널 세트를 포함할 수 있다. 이때, 커널 세트 하나에 포함되는 커널들의 개수는, 제1 컨볼루션 레이어(Conv_1)에 입력되는 영상들의 개수와 동일할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 제1 컨볼루션 레이어(Conv_1)의 커널 세트 하나에 포함되는 커널들의 개수는 3개일 수 있다.
제1 컨볼루션 레이어(Conv_1)에서는, 입력 영상들(f 1,1, f 1,2, f 1,3)과 커널 세트들의 컨볼루션 연산을 수행하여, 특징 맵들을 추출할 수 있다. 예를 들어, 입력 영상들(f 1,1, f 1,2, f 1, 3)과 제1 커널 세트(531)의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하고, 입력 영상들(f 1,1, f 1,2, f 1,3)과 제2 커널 세트(532)의 컨볼루션 연산을 수행하여, 주변 특징들을 추출할 수 있다. 추출된 타겟 특징들과 주변 특징들에 기초하여, 제1 특징 맵(f 2,1)을 생성할 수 있다.
제1 특징 맵(f 2,1)을 생성하는 방법에 대해서는, 도 6을 참조하여 자세히 설명하기로 한다.
도 6을 참조하면, 입력 영상들은 제1 내지 제3 입력 영상들(f 1,1, f 1,2, f 1,3)을 포함할 수 있다. 또한, 제1 컨볼루션 레이어(Conv_1)에 포함되는 제1 커널 세트(531)는 제1 내지 제3 커널들(k 1 1,1, k 1 1,2, k 1 1,3)을 포함할 수 있으며, 제2 커널 세트(532)는 제4 내지 제6 커널들(k 1' 1,1, k 1' 1,2, k 1' 1,3)을 포함할 수 있다.
영상 처리 장치(100)는 제1 내지 제3 입력 영상들(f 1,1, f 1,2, f 1,3) 각각에서 동일한 위치를 가지는 타겟 영역들(611, 612, 613)을 추출할 수 있다. 이때, 타겟 영역들(611, 612, 613)은, 제1 특징 맵에서, 특징 정보를 획득하고자 하는 영역(614)에 대응되는 영역들일 수 있다.
예를 들어, 제1 입력 영상(f 1,1)에 포함되는 제1 타겟 영역(611), 제2 입력 영상(f 1,2)에 포함되는 제2 타겟 영역(612), 제3 입력 영상(f 1,3)에 포함되는 제3 타겟 영역(613) 및 제1 특징 맵(f 2,1)에서 특징 정보를 획득하고자 하는 영역(614, 이하, 제4 영역이라 함)은, 제1 내지 제3 입력 영상들(f 1,1, f 1,2, f 1,3) 및 제1 특징 맵(f 2,1) 각각에서, 동일한 위치를 가지는 영역들일 수 있다.
또한, 제1 내지 제3 타겟 영역들(611, 612, 613) 및 특징 정보를 획득하고자 하는 제 4 영역(614)은 동일한 크기를 가질 수 있다.
영상 처리 장치(100)는 제1 내지 제3 타겟 영역들(611, 612, 613)과 제1 커널 세트(531)의 컨볼루션 연산을 수행함으로써, 타겟 특징들을 추출할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 타겟 영역(611)과 제1 커널(k 1 1,1)의 컨볼루션 연산을 수행함으로써, 제1 타겟 특징(631)을 추출하고, 제2 타겟 영역(612)과 제2 커널(k 1 1,2)의 컨볼루션 연산을 수행함으로써, 제2 타겟 특징(632)을 추출하며, 제3 타겟 영역(613)과 제3 커널(k 1 1,3)의 컨볼루션 연산을 수행함으로써, 제3 타겟 특징(633)을 추출할 수 있다.
한편, 영상 처리 장치(100)는 제1 내지 제3 입력 영상들(f 1,1, f 1,2, f 1,3)에서 타겟 영역들(611, 612, 613)의 주변에 위치하는 주변 영역들을 추출할 수 있다. 주변 영역들을 추출하는 방법에 대해서는 도 8을 참조하여, 자세히 후술하기로 한다.
예를 들어, 영상 처리 장치(100)는 제1 입력 영상(f 1,1)에서 제1 타겟 영역(611)의 주변에 위치하는 제1 주변 영역(621)을 추출하고, 제2 입력 영상(f 1,2)에서 제2 타겟 영역(612)의 주변에 위치하는 제2 주변 영역(622)을 추출하며, 제3 입력 영상(f 1,3)에서 제3 타겟 영역(613)의 주변에 위치하는 제3 주변 영역(623)을 추출할 수 있다.
영상 처리 장치(100)는 주변 영역들(621, 622, 623)과 제2 커널 세트(532)의 컨볼루션 연산을 수행함으로써, 주변 특징들을 추출할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 주변 영역(621)과 제4 커널(k 1' 1 , 1)의 컨볼루션 연산을 수행함으로써, 제1 주변 특징(641)을 추출하고, 제2 주변 영역(622)과 제5 커널(k 1' 1 , 2)의 컨볼루션 연산을 수행함으로써, 제2 주변 특징(642)을 추출하며, 제3 주변 영역(623)과 제6 커널(k 1' 1 , 3)의 컨볼루션 연산을 수행함으로써, 제3 주변 특징(643)을 추출할 수 있다.
영상 처리 장치(100)는 제1 내지 제3 타겟 특징들(631, 632, 633) 및 제1 내지 제3 주변 특징들(641, 642, 643)에 기초하여, 제1 특징 맵(f 2,1)에 포함되는 제4 영역(614)에 대한 특징을 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 내지 제3 타겟 특징들(631, 632, 633) 및 제1 내지 제3 주변 특징들(641, 642, 643)과 제7 커널(650)의 컨볼루션 연산을 수행하고, 컨볼루션된 결과를 합산함으로써, 제4 영역(614)에 대한 특징을 결정할 수 있다. 이때, 6개의 특징들(제1 내지 제3 타겟 특징들 및 제1 내지 제3 주변 특징들(631, 632, 633, 641, 642, 643))과 제7 커널(650)의 컨볼루션 연산을 수행함으로써, 3개의 특징들(655)로 감소시키고, 3개의 특징들(655)을 합산함으로써, 제4 영역(614)에 대한 특징을 결정할 수 있다. 다만, 이에 한정되지 않는다.
또한, 영상 처리 장치(100)는 도 6에서 설명한 방법과 동일한 방법으로, 제1 특징 맵(f 2,1)의 다른 영역들에 대한 특징들도 결정할 수 있으며, 이에 따라, 특징 정보를 포함하는 제1 특징 맵(f 2,1)을 생성할 수 있다.
또한, 영상 처리 장치(100)는, 제1 컨볼루션 레이어(Conv_1)에서, 도 6에서 설명한 방법과 동일한 방법으로, 복수의 입력 영상들과 제3 내지 제 2a 커널 세트에 대한 컨볼루션 연산을 수행함으로써, 제2 내지 제a 특징 맵들(f 2,2, 쪋, f 2,a)을 생성할 수 있다.
도 7을 참조하면, 제1 컨볼루션 레이어(Conv_1)에서 출력된 a개의 특징 맵들(f 2,1, f 2,2, ..., f 2,a)은 제2 컨볼루션 레이어(Conv_2)로 입력될 수 있다.
제2 컨볼루션 레이어(Conv_2)는, 2b개의 커널 세트들을 포함할 수 있다. 이때, 커널 세트 하나에 포함되는 커널들의 개수는 제2 컨볼루션 레이어(Conv_2)에 입력되는 영상들의 개수와 동일할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 제2 컨볼루션 레이어(Conv_2)의 커널 세트 하나에 포함되는 커널들의 개수는 a개일 수 있다.
영상 처리 장치(100)는, 제2 컨볼루션 레이어(Conv_2)에서, a개의 특징 맵들(f 2,1, f 2, 2, ..., f 2,a)과 커널 세트들(731, 732, ...738, 739)의 컨볼루션 연산을 수행하여, 특징 맵들(f 3,1, f 3,2, ..., f 3,b)을 추출할 수 있다. 이때, 영상 처리 장치는, 도 6에서 설명한 방법(제1 컨볼루션 레이어에서 a개의 특징 맵들을 생성하는 방법)과 동일한 방법으로 b개의 특징 맵들(f 3,1, f 3,2, ..., f 3,b)을 생성할 수 있다.
도 8은 일 실시예에 따른 영상 처리 장치가 주변 영역을 추출하는 방법을 설명하기 위해 참조되는 도면이다.
도 8을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 입력 영상에 포함되는 복수의 영역들에 대한 특징들과 타겟 영역의 특징 사이의 유사도를 분석하고, 분석된 유사도에 기초하여, 주변 영역을 추출할 수 있다.
예를 들어, 영상 처리 장치(100)는 복수의 영역들에 대한 특징들과 타겟 영역의 특징 사이의 유사도를 계산할 수 있으며, 도 8의 제1 내지 제3 유사도 맵은, 제1 내지 제3 입력 영상들 각각에서, 타겟 영역과 타겟 영역 주변에 위치하는 복수의 영역들 사이의 유사도를 나타내는 맵들일 수 있다.
이때, 영상 처리 장치(100)는 그람 행렬 함수(gram matrix function) 또는 L2 놈 함수(L2 norm function)에 기초하여, 특징 유사도(f(s))를 계산할 수 있다. 예를 들어, 영상 처리 장치(100)는 다음과 같은 수학식 1 내지 3을 이용하여, 그람 행렬 함수를 계산할 수 있으며, 그람 행렬 함수의 값이 작을수록 유사도가 큰 것으로 결정할 수 있다.
Figure PCTKR2019013588-appb-img-000001
Figure PCTKR2019013588-appb-img-000002
Figure PCTKR2019013588-appb-img-000003
이때, G target는 타겟 영역의 그람 행렬(gram matrix)이고, G non -local는 타겟 영역 주변에 위치하는 복수의 영역들 각각의 그람 행렬을 나타낸다. 또한, P target , ij는 타겟 영역에서 (i j) 위치의 픽셀 값을 나타내고, P non -local, ij는 복수의 영역들 각각에서 (i, j) 위치의 픽셀 값을 나타낸다.
일 실시예에 따른 영상 처리 장치(100)는 그람 행렬 함수의 값이 작을수록 유사도가 큰 것으로 결정할 수 있다.
또한, 영상 처리 장치(100)는 다음과 같은 수학식 4 및 수학식 5를 이용하여, L2 놈 함수를 계산할 수 있으며, L2 놈 함수의 값이 작을수록 유사도가 큰 것으로 결정할 수 있다.
Figure PCTKR2019013588-appb-img-000004
Figure PCTKR2019013588-appb-img-000005
도 8을 참조하면, 영상 처리 장치(100)는 제1 입력 영상(f 1,1)에서, 제1 타겟 영역(811)과 제1 타겟 영역(811)의 주변에 위치하는 복수의 영역들 사이의 특징 유사도를 계산하고, 복수의 영역들 중 특징 유사도가 가장 큰 제1 주변 영역(821)을 추출할 수 있다. 또한, 영상 처리 장치(100)는 제2 입력 영상에서, 제2 타겟 영역(812)과 제2 타겟 영역(812)의 주변에 위치하는 복수의 영역들 사이의 유사도를 계산하고, 복수의 영역들 중 유사도가 가장 큰 제2 주변 영역(822)을 추출할 수 있다. 또한, 영상 처리 장치(100)는 제3 입력 영상에서, 제3 타겟 영역(813)과 제3 타겟 영역(813)의 주변에 위치하는 복수의 영역들 사이의 유사도를 계산하고, 복수의 영역들 중 유사도가 가장 큰 제3 주변 영역(823)을 추출할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 추출된 제1 내지 제3 주변 영역들(821, 822, 823)과 제2 커널 세트의 컨볼루션 연산을 수행함으로써, 주변 특징들(제1 내지 제3 주변 특징들)을 추출할 수 있다.
도 9는 일 실시예에 따른 영상 처리 장치가 주변 영역에 대해 가중치를 적용하는 방법을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 영상 처리 장치(100)는 추출된 주변 영역에 대해 가중치를 적용할 수 있다.
도 9를 참조하면, 영상 처리 장치(100)는, 가중치 맵을 이용하여, 주변 영역에 가중치를 적용할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 입력 영상(f 1,1)과 제1 가중치 맵(951)의 곱셈 연산을 수행함으로써, 제1 주변 영역(921)에 가중치를 적용할 수 있다. 또한, 영상 처리 장치(100)는 제2 입력 영상(f 1,2)과 제2 가중치 맵(952)의 곱셈 연산을 수행함으로써, 제2 주변 영역(922)에 가중치를 적용할 수 있으며, 제3 입력 영상(f 1,3)과 제3 가중치 맵(953)의 곱셈 연산을 수행함으로써, 제3 주변 영역(923)에 가중치를 적용할 수 있다.
한편, 일 실시예에 따른 영상 처리 장치(100)는 추출된 주변 영역과 타겟 영역 사이의 거리에 기초하여, 주변 영역에 대한 가중치를 결정할 수 있다.
예를 들어, 영상 처리 장치(100)는 제1 입력 영상(f 1,1)에서, 제1 타겟 영역(911)과 추출된 제1 주변 영역(921) 사이의 거리에 따라, 제1 주변 영역(921)에 대한 가중치를 결정할 수 있으며, 거리가 가까울수록 가중치를 큰 값으로 결정할 수 있다. 또한, 영상 처리 장치(100)는 동일한 방식으로, 제2 입력 영상(f 1,2)에서 제2 타겟 영역(912)과 추출된 제2 주변 영역(922) 사이의 거리에 따라, 제2 주변 영역(922)에 대한 가중치를 결정할 수 있다. 또한, 영상 처리 장치(100)는 제3 입력 영상(f 1,3)에서 제3 타겟 영역(913)과 추출된 제3 주변 영역(923) 사이의 거리에 따라, 제3 주변 영역(923)에 대한 가중치를 결정할 수 있다.
영상 처리 장치(100)가 타겟 영역과 주변 영역의 거리에 기초하여, 주변 영역에 대한 가중치를 결정하는 경우, 일 실시예에 따른 가중치 맵에 포함되는 값들은, 타겟 영역과 타겟 영역의 주변에 위치하는 영역들 사이의 거리에 따라 결정될 수 있다. 예를 들어, 가중치 맵은 다음의 수학식 6으로 나타낼 수 있다.
Figure PCTKR2019013588-appb-img-000006
이때, C는 상수를 나타내고, f(d)는 타겟 영역과 타겟 영역 주변에 위치하는 주변 영역들 사이의 거리를 나타내는 함수로, 바이리니어 함수, 가우시안 함수 등을 포함할 수 있으나, 이에 한정되지 않는다.
예를 들어, 제1 내지 제3 가중치 맵들(951, 952, 953)은, 제1 내지 제3 타겟 영역들(911, 912, 913)에 대응하는 제1 내지 제3 영역들(961, 962, 963)에서 큰 값을 가지고, 제1 내지 제3 영역들(961, 962, 963)로부터 멀어질수록 값이 작아지는 형태일 수 있으나, 이에 한정되지 않는다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 추출된 주변 영역과 타겟 영역의 유사도에 기초하여, 주변 영역에 대한 가중치를 결정할 수 있다.
예를 들어, 영상 처리 장치(100)는 제1 입력 영상(f 1,1)에서, 제1 타겟 영역(911)과 추출된 제1 주변 영역(921)의 특징 유사도(f(s))에 기초하여, 제1 주변 영역(921)에 대한 가중치를 결정할 수 있으며, 특징 유사도가 높을수록 가중치를 큰 값으로 결정할 수 있다. 영상 처리 장치(100)는 동일한 방식으로, 제2 입력 영상(f 1,2)에서 제2 타겟 영역(912)과 추출된 제2 주변 영역(922)의 유사도를 계산하고, 계산된 유사도에 따라, 제2 주변 영역(922)에 대한 가중치를 결정할 수 있다. 또한, 영상 처리 장치(100)는 제3 입력 영상(f 1,3)에서 제3 타겟 영역(913)과 추출된 제3 주변 영역(923)의 특징 유사도를 계산하고, 계산된 유사도에 따라, 제3 주변 영역(923)에 대한 가중치를 결정할 수 있다.
이때, 영상 처리 장치(100)는 도 8에서 설명한 그람 행렬 함수나 L2 놈 함수를 이용하여, 주변 영역과 타겟 영역의 유사도를 계산할 수 있다.
영상 처리 장치(100)가 타겟 영역과 주변 영역의 특징 유사도(f(s))에 기초하여, 주변 영역에 대한 가중치를 결정하는 경우, 가중치 맵은 다음과 같은 수학식 7로 나타낼 수 있다.
Figure PCTKR2019013588-appb-img-000007
이때, C1 및 C2는 상수를 나타내고, f(s)는 특징 유사도를 나타내며, 수학식 1 내지 3의 그람 행렬 함수를 이용하여 계산하거나 수학식 4 및 5의 L2 놈 함수를 이용하여 계산할 수 있으나, 이에 한정되지 않는다. 이때, 유사도가 클수록 f(s)가 0 에 가까워진다.
도 9에 도시된 제1 내지 제3 가중치 맵들(951, 952, 953)은 가우시안 함수를 나타내며, 동일한 것으로 도시되었지만, 이에 한정되지 않으며, 제1 내지 제3 가중치 맵들(951, 952, 953)은 서로 다른 맵들일 수 있다.
도 10은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 컨볼루션 뉴럴 네트워크를 이용하여, 복수의 입력 영상들과 복수의 커널들의 컨볼루션 연산을 수행하여, 출력 영상을 생성할 수 있다. 예를 들어, 프로세서(120)는 입력 영상들(또는, 입력 특징 맵들)에 포함된 타겟 영역들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하고, 타겟 영역들 주변에 위치하는 주변 영역들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출할 수 있다. 프로세서(120)는 추출된 타겟 특징들과 주변 특징들에 기초하여, 타겟 영역에 대한 출력 특징을 결정할 수 있다. 이에 대해서는, 도 6에서 자세히 설명하였으므로 동일한 설명은 생략하기로 한다.
또한, 프로세서(120)는, 주변 영역에 대해 가중치를 적용할 수 있다. 예를 들어, 프로세서(120)는 타겟 영역과 주변 영역 사이의 거리에 기초하여, 결정된 가중치를 주변 영역에 적용할 수 있다. 또는, 프로세서(120)는 타겟 영역과 주변 영역 사이의 특징 유사도에 기초하여, 결정된 가중치를, 주변 영역에 적용할 수 있다. 이에 대해서는, 도 9에서 자세히 설명하였으므로 동일한 설명은 생략하기로 한다.
도 11은 일 실시예에 따른 프로세서의 블록도이다.
도 11을 참조하면, 일 실시예에 따른 프로세서(120)는 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270)를 포함할 수 있다.
타겟 영역 추출부(1210)는 복수의 입력 영상들 각각에서 동일한 위치를 가지는 타겟 영역들을 추출할 수 있다. 타겟 영역들은, 출력 영상(출력 특징 맵)에서 특징 정보를 획득하고자 하는 영역에 대응되는 영역들일 수 있다.
타겟 특징 추출부(1220)는 추출된 타겟 영역들과 제1 커널 세트의 컨볼루션 연산을 수행함으로써, 타겟 특징들을 추출할 수 있다.
주변 영역 추출부(1230)는 복수의 입력 영상들 및 타겟 영역들에 대한 정보를 입력 받아, 복수의 입력 영상들 각각에서 타겟 영역의 주변에 위치하는 주변 영역을 추출할 수 있다. 주변 영역 추출부(1230)는 타겟 영역의 주변에 위치하는 복수의 영역들 중 임의의 영역을 주변 영역으로 추출할 수 있다. 또는, 주변 영역 추출부(1230)는 타겟 영역으로부터 기 설정된 거리 이내에 위치하는 영역들 중에서 주변 영역을 추출할 수 있다.
또는, 주변 영역 추출부(1230)는 복수의 입력 영상들 각각에 포함되는 복수의 영역들과 타겟 영역 사이의 특징 유사도에 기초하여, 주변 영역을 추출할 수 있다. 예를 들어, 주변 영역 추출부(1230)는 복수의 영역들에 대한 특징들과 타겟 영역의 특징 사이의 특징 유사도를 계산하고, 특징 유사도가 가장 큰 영역을 주변 영역으로 추출할 수 있다. 이때, 주변 영역 추출부(1230)는 그람 행렬 함수 또는 L2 놈 함수를 이용하여, 특징 유사도를 계산할 수 있다.
가중치 결정부(1240)는 추출된 주변 영역에 대한 가중치를 결정할 수 있다. 예를 들어, 가중치 결정부(1240)는 추출된 주변 영역과 타겟 영역 사이의 거리에 기초하여, 주변 영역에 대한 가중치를 결정할 수 있다. 이때, 가중치 결정부(1240)는 타겟 영역과 타겟 영역의 주변에 위치하는 영역들 사이의 거리에 기초하여 값이 결정되는 가중치 맵을 생성할 수 있다. 예를 들어, 가중치 결정부(1240)는 타겟 영역에 대응하는 제1 영역에서 가장 큰 값을 가지고, 제1 영역으로부터 멀어질수록 값이 작아지는 형태의 가중치 맵을 생성할 수 있으나, 이에 한정되지 않는다.
또는, 가중치 결정부(1240)는 주변 영역과 타겟 영역 사이의 특징 유사도에 기초하여, 주변 영역에 대한 가중치를 결정할 수 있다. 이때, 가중치 결정부(1240)는 그람 행렬 함수나 L2 놈 함수를 이용하여, 주변 영역과 타겟 영역 사이의 특징 유사도를 계산할 수 있다. 또한, 가중치 결정부(1240)는 특징 유사도에 기초하여 값이 결정되는 가중치 맵을 생성할 수 있다.
가중치 적용부(1250)는 가중치 결정부(1240)에서 결정된 가중치를 주변 영역에 적용할 수 있다. 예를 들어, 가중치 적용부(1250)는 주변 영역 또는 입력 영상과 가중치 결정부(1240)에서 생성된 가중치 맵의 곱셈 연산을 수행함으로써, 주변 영역에 가중치를 적용할 수 있다. 다만, 이에 한정되지 않는다.
주변 특징 추출부(1260)는 주변 영역 추출부(1260)에서 추출된 주변 영역들 또는 가중치 적용부(1250)에서 가중치가 적용된 주변 영역들과 제2 커널 세트의 컨볼루션 연산을 수행함으로써, 주변 특징들을 추출할 수 있다.
추출 특징 합성부(1270)는, 타겟 특징 추출부(1220)에서 추출된 타겟 특징들 및 주변 특징 추출부(1260)에서 추출된 주변 특징들에 기초하여, 출력 영상(출력 특징 맵)의 특징 정보를 결정할 수 있다. 예를 들어, 추출 특징 합성부(1270)는 타겟 특징들 및 주변 특징들과 커널의 컨볼루션 연산을 수행함으로써, 타겟 영역에 대응하는 영역의 특징을 결정할 수 있다.
한편, 도 11의 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치(100)에 탑재될 수 있다. 예를 들어, 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270) 중 일부는 영상 처리 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 타겟 영역 추출부(1210), 타겟 특징 추출부(1220), 주변 영역 추출부(1230), 가중치 결정부(1240), 가중치 적용부(1250), 주변 특징 추출부(1260) 및 추출 특징 합성부(1270) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 도 10및 11에 도시된 영상 처리 장치(100) 및 프로세서(120)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 영상 처리 장치 및 영상 처리 장치의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (15)

  1. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 하나 이상의 컨볼루션 뉴럴 네트워크를 이용하여,
    복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하고,
    상기 복수의 입력 영상들에서 상기 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하며,
    상기 타겟 특징들 및 상기 주변 특징들에 기초하여, 출력 영상에서, 상기 타겟 영역들에 대응되는 영역의 특징을 결정하는, 영상 처리 장치.
  2. 제1항에 있어서,
    복수의 입력 영상들은 제1 입력 영상 및 제2 입력 영상을 포함하며,
    상기 타겟 영역들은,
    상기 제1 입력 영상 및 상기 제2 입력 영상 각각에서 동일한 위치를 가지는, 제1 타겟 영역 및 제2 타겟 영역을 포함하고,
    상기 주변 영역들은,
    상기 제1 입력 영상에서 상기 제1 타겟 영역의 주변에 위치하는 제1 주변 영역 및 상기 제2 입력 영상에서, 상기 제2 타겟 영역의 주변에 위치하는 제2 주변 영역을 포함하는, 영상 처리 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 입력 영상에서, 상기 제1 타겟 영역과의 거리가 기 설정된 거리 이내인 범위에서, 상기 제1 주변 영역을 추출하고,
    상기 제2 입력 영상에서, 상기 제2 타겟 영역과의 거리가 상기 기 설정된 거리 이내인 범위에서, 상기 제2 주변 영역을 추출하는, 영상 처리 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제1 타겟 영역과의 특징 유사성(feature similarity)을 결정하고, 상기 특징 유사성에 기초하여, 상기 제1 주변 영역을 결정하며,
    상기 제2 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제2 타겟 영역과의 특징 유사성을 결정하고, 상기 특징 유사성에 기초하여, 상기 제2 주변 영역을 결정하는, 영상 처리 장치.
  5. 제4항에 있어서,
    상기 제1 주변 영역은, 상기 제1 입력 영상에 포함된 복수의 영역들 중 상기 제1 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역이고,
    상기 제2 주변 영역은, 상기 제2 입력 영상에 포함된 복수의 영역들 중 상기 제2 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역인, 영상 처리 장치.
  6. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 타겟 영역과 상기 제1 주변 영역과의 거리에 기초하여, 상기 제1 주변 영역에 적용되는 제1 가중치를 결정하고,
    상기 제2 타겟 영역과 상기 제2 주변 영역과의 거리에 기초하여, 상기 제2 주변 영역에 적용되는 제2 가중치를 결정하며,
    상기 제1 가중치 및 제2 가중치를 적용하여, 상기 주변 특징들을 추출하는, 영상 처리 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 타겟 영역과 상기 제1 주변 영역과의 거리가 가까울수록, 상기 제1 가중치를 큰 값으로 결정하고, 상기 제2 타겟 영역과 상기 제2 주변 영역과의 거리가 가까울수록 상기 제2 가중치를 큰 값으로 결정하는, 영상 처리 장치.
  8. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 타겟 영역의 특징과 상기 제1 주변 영역의 특징 사이의 제1 유사도에 기초하여, 상기 제1 주변 영역에 적용되는 제1 가중치를 결정하고,
    상기 제2 타겟 영역의 특징과 상기 제2 주변 영역의 특징 사이의 제2 유사도에 기초하여, 상기 제2 주변 영역에 적용되는 제2 가중치를 결정하며,
    상기 제1 가중치 및 제2 가중치를 적용하여, 상기 주변 특징들을 추출하는, 영상 처리 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제1 유사도가 클수록, 상기 제1 가중치를 큰 값으로 결정하고, 상기 제2 유사도가 클수록, 상기 제2 가중치를 큰 값으로 결정하는, 영상 처리 장치.
  10. 영상 처리 장치의 동작방법은,
    복수의 입력 영상들 각각에서 동일한 위치를 가지는, 타겟 영역들의 특징들과 제1 커널 세트의 컨볼루션 연산을 수행하여, 타겟 특징들을 추출하는 단계;
    상기 복수의 입력 영상들에서 상기 타겟 영역들의 주변에 위치하는, 주변 영역들의 특징들과 제2 커널 세트의 컨볼루션 연산을 수행하여, 주변 특징들을 추출하는 단계; 및
    상기 타겟 특징들 및 상기 주변 특징들에 기초하여, 출력 영상에서, 상기 타겟 영역들에 대응되는 영역의 특징을 결정하는 단계를 포함하는 영상 처리 장치의 동작방법.
  11. 제10항에 있어서,
    복수의 입력 영상들은 제1 입력 영상 및 제2 입력 영상을 포함하며,
    상기 타겟 영역들은,
    상기 제1 입력 영상 및 상기 제2 입력 영상 각각에서 동일한 위치를 가지는, 제1 타겟 영역 및 제2 타겟 영역을 포함하고,
    상기 주변 영역들은,
    상기 제1 입력 영상에서 상기 제1 타겟 영역의 주변에 위치하는 제1 주변 영역 및 상기 제2 입력 영상에서, 상기 제2 타겟 영역의 주변에 위치하는 제2 주변 영역을 포함하는, 영상 처리 장치의 동작방법.
  12. 제11항에 있어서,
    상기 주변 특징들을 추출하는 단계는,
    상기 제1 입력 영상에서, 상기 제1 타겟 영역과의 거리가 기 설정된 거리 이내인 범위에서, 상기 제1 주변 영역을 추출하는 단계; 및
    상기 제2 입력 영상에서, 상기 제2 타겟 영역과의 거리가 상기 기 설정된 거리 이내인 범위에서, 상기 제2 주변 영역을 추출하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  13. 제11항에 있어서,
    상기 주변 특징들을 추출하는 단계는,
    상기 제1 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제1 타겟 영역과의 특징 유사성(feature similarity)을 결정하고, 상기 특징 유사성에 기초하여, 상기 제1 주변 영역을 결정하는 단계; 및
    상기 제2 입력 영상에 포함된 복수의 영역들 각각에 대하여, 상기 제2 타겟 영역과의 특징 유사성을 결정하고, 상기 특징 유사성에 기초하여, 상기 제2 주변 영역을 결정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  14. 제13항에 있어서,
    상기 제1 주변 영역을 결정하는 단계는,
    상기 제1 입력 영상에 포함된 복수의 영역들 중 상기 제1 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역을 상기 제1 주변 영역으로 결정하는 단계를 포함하고,
    상기 제2 주변 영역을 결정하는 단계는,
    상기 제2 입력 영상에 포함된 복수의 영역들 중 상기 제2 타겟 영역의 특징과 가장 유사한 특징을 가지는 영역을 상기 제2 주변 영역으로 결정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  15. 제11항에 있어서,
    상기 주변 특징들을 추출하는 단계는,
    상기 제1 타겟 영역과 상기 제1 주변 영역과의 거리에 기초하여, 상기 제1 주변 영역에 적용되는 제1 가중치를 결정하는 단계;
    상기 제2 타겟 영역과 상기 제2 주변 영역과의 거리에 기초하여, 상기 제2 주변 영역에 적용되는 제2 가중치를 결정하는 단계; 및,
    상기 제1 가중치 및 제2 가중치를 적용하여, 상기 주변 특징들을 추출하는 단계를 포함하는, 영상 처리 장치의 동작방법.
PCT/KR2019/013588 2018-12-04 2019-10-16 영상 처리 장치 및 그 동작방법 WO2020116768A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/299,607 US11921822B2 (en) 2018-12-04 2019-10-16 Image processing device for improving details of an image, and operation method of the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180154691A KR20200067631A (ko) 2018-12-04 2018-12-04 영상 처리 장치 및 그 동작방법
KR10-2018-0154691 2018-12-04

Publications (1)

Publication Number Publication Date
WO2020116768A1 true WO2020116768A1 (ko) 2020-06-11

Family

ID=70974354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013588 WO2020116768A1 (ko) 2018-12-04 2019-10-16 영상 처리 장치 및 그 동작방법

Country Status (3)

Country Link
US (1) US11921822B2 (ko)
KR (1) KR20200067631A (ko)
WO (1) WO2020116768A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102553146B1 (ko) * 2018-09-13 2023-07-07 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR20220037764A (ko) * 2020-09-18 2022-03-25 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR20220082547A (ko) * 2020-12-10 2022-06-17 에스케이하이닉스 주식회사 이미지 센싱 장치
KR102273377B1 (ko) * 2020-12-14 2021-07-06 국방기술품질원 영상 합성 방법
KR102562344B1 (ko) * 2020-12-30 2023-08-01 주식회사 쿠오핀 네트워크 프로세서와 컨볼루션 처리기를 갖는 디바이스용 신경망 처리기
WO2022186499A1 (ko) * 2021-03-04 2022-09-09 삼성전자 주식회사 영상 처리 장치 및 그 동작방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009289078A (ja) * 2008-05-29 2009-12-10 Dainippon Printing Co Ltd 目標物検出システム
KR20140090777A (ko) * 2013-01-10 2014-07-18 한국전자통신연구원 국부이진패턴을 이용한 객체 검출 인식 방법 및 장치
KR20150037369A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 영상의 노이즈를 저감하는 방법 및 이를 이용한 영상 처리 장치
JP2017156886A (ja) * 2016-02-29 2017-09-07 Kddi株式会社 画像間類似度を考慮して物体を追跡する装置、プログラム及び方法
KR20180097944A (ko) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 공유 특징맵을 이용한 다중 객체 추적 장치 및 그 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285068B2 (en) 2008-06-25 2012-10-09 Cisco Technology, Inc. Combined deblocking and denoising filter
CA2944831C (en) * 2014-05-30 2019-12-31 Ventana Medical Systems, Inc. An image processing method and system for analyzing a multi-channel image obtained from a biological tissue sample being stained by multiple stains
KR102367828B1 (ko) * 2015-06-05 2022-02-25 삼성전자주식회사 이미지 운용 방법 및 이를 지원하는 전자 장치
CN108304761A (zh) * 2017-09-25 2018-07-20 腾讯科技(深圳)有限公司 文本检测方法、装置、存储介质和计算机设备
US11354888B2 (en) * 2018-11-16 2022-06-07 GM Global Technology Operations LLC Method and apparatus for a neural network
US11048935B2 (en) * 2019-01-28 2021-06-29 Adobe Inc. Generating shift-invariant neural network outputs
WO2021098799A1 (en) * 2019-11-20 2021-05-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Face detection device, method and face unlock system
CN111814871B (zh) * 2020-06-13 2024-02-09 浙江大学 一种基于可靠权重最优传输的图像分类方法
KR20220058143A (ko) * 2020-10-30 2022-05-09 삼성전자주식회사 영상 복원 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009289078A (ja) * 2008-05-29 2009-12-10 Dainippon Printing Co Ltd 目標物検出システム
KR20140090777A (ko) * 2013-01-10 2014-07-18 한국전자통신연구원 국부이진패턴을 이용한 객체 검출 인식 방법 및 장치
KR20150037369A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 영상의 노이즈를 저감하는 방법 및 이를 이용한 영상 처리 장치
JP2017156886A (ja) * 2016-02-29 2017-09-07 Kddi株式会社 画像間類似度を考慮して物体を追跡する装置、プログラム及び方法
KR20180097944A (ko) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 공유 특징맵을 이용한 다중 객체 추적 장치 및 그 방법

Also Published As

Publication number Publication date
US20220019844A1 (en) 2022-01-20
KR20200067631A (ko) 2020-06-12
US11921822B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
WO2020116768A1 (ko) 영상 처리 장치 및 그 동작방법
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2018230832A1 (en) Image processing apparatus and method using multi-channel feature map
WO2021201422A1 (ko) Ar에 적용 가능한 의미적인 분할 방법 및 시스템
WO2021054706A1 (en) Teaching gan (generative adversarial networks) to generate per-pixel annotation
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2020017871A1 (ko) 영상 처리 장치 및 그 동작방법
WO2017164478A1 (ko) 미세 얼굴 다이나믹의 딥 러닝 분석을 통한 미세 표정 인식 방법 및 장치
WO2019098538A1 (en) Device and method for processing convolution operation using kernel
WO2019164237A1 (ko) 시스톨릭 배열을 이용하여 딥 러닝 연산을 수행하는 방법 및 장치
WO2020027519A1 (ko) 영상 처리 장치 및 그 동작방법
WO2019050297A1 (ko) 뉴럴 네트워크 학습 방법 및 장치
WO2020055181A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020231038A1 (en) Electronic device and method for controlling thereof
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020017875A1 (en) Electronic apparatus, method for processing image and computer-readable recording medium
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2020149601A1 (ko) 3d cnn을 이용한 고속 영상 인식 방법 및 장치
CN112149694A (zh) 一种基于卷积神经网络池化模块的图像处理方法、系统、存储介质及终端
WO2022197136A1 (en) System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training
WO2020231035A1 (en) Image processing apparatus and operating method of the same
WO2024014706A1 (ko) 화질 개선을 수행하는 신경망 모델을 학습시키는 전자 장치 및 그 제어 방법
WO2020101300A1 (ko) 영상 처리 장치 및 그 동작방법
WO2023096133A1 (ko) 경량화된 자세 추정 모델 제공 장치 및 방법
WO2021107592A1 (en) System and method for precise image inpainting to remove unwanted content from digital images

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19893329

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

Country of ref document: EP

Kind code of ref document: A1