KR102485872B1 - Image quality improving method improving image quality using context vector and image quality improving module performing the same - Google Patents
Image quality improving method improving image quality using context vector and image quality improving module performing the same Download PDFInfo
- Publication number
- KR102485872B1 KR102485872B1 KR1020220113502A KR20220113502A KR102485872B1 KR 102485872 B1 KR102485872 B1 KR 102485872B1 KR 1020220113502 A KR1020220113502 A KR 1020220113502A KR 20220113502 A KR20220113502 A KR 20220113502A KR 102485872 B1 KR102485872 B1 KR 102485872B1
- Authority
- KR
- South Korea
- Prior art keywords
- feature map
- context vector
- image
- generating
- context
- Prior art date
Links
- 239000013598 vector Substances 0.000 title claims abstract description 210
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000005192 partition Methods 0.000 claims abstract description 78
- 238000007781 pre-processing Methods 0.000 claims abstract description 62
- 230000006872 improvement Effects 0.000 claims abstract description 40
- 238000013528 artificial neural network Methods 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 11
- 230000003362 replicative effect Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000011176 pooling Methods 0.000 description 7
- 101000779608 Homo sapiens Homeobox protein aristaless-like 4 Proteins 0.000 description 5
- 101001124906 Homo sapiens PR domain zinc finger protein 5 Proteins 0.000 description 5
- 102100029132 PR domain zinc finger protein 5 Human genes 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G06T5/001—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 뉴럴 네트워크에 관한 것으로, 더욱 상세하게는 분할 이미지에 대한 컨텍스트 벡터를 활용하여 이미지 화질을 개선시키는 이미지 화질 개선 방법 및 이를 수행하는 이미지 화질 개선 모듈에 관한 것이다.The present invention relates to a neural network, and more particularly, to an image quality improvement method for improving image quality by utilizing a context vector for a segmented image and an image quality improvement module performing the same.
최근 카메라를 포함하는 모바일 기기의 확장 및 카메라 기술의 발전에 따라 획득할 수 있는 영상의 화질이 크게 향상되고 있다. 한편, 기술의 발전에도 불구하고 어두운 저녁의 CCTV 영상이나, 화질이 떨어지는 이미지 내에 객체를 식별하지 못하는 경우도 흔하게 발생하고 있는 것이 현실이다.Recently, with the expansion of mobile devices including cameras and the development of camera technology, the quality of images that can be obtained is greatly improved. On the other hand, despite the development of technology, it is a reality that cases in which an object cannot be identified in a CCTV video of a dark evening or an image with poor quality often occur.
이에 더하여, 카메라 기반의 자율주행 기술이 개발 및 발전됨에 따라 컴퓨터 비전(computer vision) 분야의 성장이 매우 빠르다. 컴퓨터 비전은 사람의 시각과 관련한 시스템 구조를 모방하여 컴퓨터가 카메라와 동영상에서 딥 러닝 모델을 사용하여 디지털 이미지 내에서 객체를 정확하게 식별하고 분류하는 학습을 수행하고, 식별된 객체에 대한 데이터 처리를 수행하는 것이다. 컴퓨터 비전의 발전과 더불어, 딥 러닝에 기반한 디지털 이미지 또는 영상의 화질을 개선하기 위한 여러 논의가 대두되고 있다. In addition, as camera-based self-driving technology is developed and developed, the growth of the computer vision field is very rapid. Computer vision mimics the system structure related to human vision, so that a computer learns to accurately identify and classify objects within digital images using deep learning models from cameras and videos, and performs data processing on identified objects. is to do Along with the development of computer vision, various discussions for improving the quality of digital images or videos based on deep learning are emerging.
본 발명의 목적은, 쿼리 이미지가 다양한 크기로 분할된 파티션 이미지의 컨텍스트 벡터를 활용하여 이미지의 화질을 개선하는 이미지 화질 개선 방법 및 이를 수행하는 이미지 화질 개선 모듈을 제공하는 것이다.An object of the present invention is to provide an image quality improvement method and an image quality improvement module for improving image quality by utilizing context vectors of partition images in which a query image is divided into various sizes.
본 개시의 기술적 사상에 따른 이미지 화질 개선 방법은, 쿼리 이미지에 대응하는 전체 컨텍스트 벡터 및 상기 쿼리 이미지를 제1 크기를 갖도록 분할한 복수의 제1 파티션 이미지들에 대응하는 제1 컨텍스트 벡터 를 생성하는 단계, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터를 브로드 캐스트 함으로써 연관 피쳐맵을 생성하는 단계, 상기 연관 피쳐맵에 대한 전처리를 수행함으로써 전처리 피쳐맵을 생성하는 단계 및 상기 전처리 피처맵과 초고해상도 모델을 활용하여 상기 쿼리 이미지의 화질을 개선시키는 단계를 포함할 수 있다. An image quality improvement method according to the technical idea of the present disclosure includes generating an entire context vector corresponding to a query image and a first context vector corresponding to a plurality of first partition images obtained by dividing the query image to have a first size. generating an associated feature map by broadcasting the full context vector and the first context vector; generating a preprocessed feature map by performing preprocessing on the associated feature map; and generating a preprocessed feature map with the preprocessed feature map and the super resolution model It may include improving the quality of the query image by utilizing.
일 실시예에서, 상기 연관 피쳐맵을 생성하는 단계는, 상기 전체 컨텍스트 벡터를 대응하는 상기 쿼리 이미지에 대한 픽셀 사이즈만큼 복제하는 단계, 상기 제1 컨텍스트 벡터를 대응하는 상기 제1 파티션 이미지에 대한 픽셀 사이즈만큼 복제하는 단계 및 상기 쿼리 이미지에 포함되는 픽셀들 별로 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 픽셀들에 대응하는 컬러 채널을 연관시킴으로써 연관 피쳐맵을 생성하는 단계를 포함할 수 있다. In an embodiment, the generating of the associated feature map may include replicating the entire context vector by a pixel size of the query image corresponding to the entire context vector, and a pixel of the first partition image corresponding to the first context vector. The method may include duplicating by the size and generating an associated feature map by associating the entire context vector, the first context vector, and color channels corresponding to the pixels for each pixel included in the query image.
일 실시예에서, 상기 전처리 피쳐맵을 생성하는 단계는, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 단위별로 컨볼루션 연산을 통해 제1 전처리 피쳐맵을 생성하는 단계를 포함하고, 상기 제1 전처리 피쳐맵에 포함되는 채널 사이즈는 상기 컬러 채널의 사이즈에 대응되는 것을 특징으로 할 수 있다. In an embodiment, the generating of the preprocessing feature map may include performing a convolution operation on a pixel-by-pixel basis with respect to the associated feature map including the color channel, the full context vector, and the first context vector to perform a first preprocessing feature map. A size of a channel included in the first preprocessing feature map may correspond to a size of the color channel.
일 실시예에서, 상기 전처리 피쳐맵을 생성하는 단계는, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵을 압축함으로써 제2 전처리 피쳐맵을 생성하는 단계를 포함하고, 상기 제2 전처리 피쳐맵은 상기 초고해상도 모델에서 활용되는 피쳐맵 사이즈를 갖는 것을 특징으로 할 수 있다. In an embodiment, the generating of the preprocessing feature map includes generating a second preprocessing feature map by compressing the associated feature map composed of the color channel, the full context vector, and the first context vector; , The second preprocessing feature map may have a feature map size utilized in the ultra-high resolution model.
일 실시예에서, 상기 전처리 피쳐맵을 생성하는 단계는, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 별로 컨텍스트 유사도 손실율을 계산하는 단계 및 계산한 상기 컨텍스트 유사도 손실율를 활용하여 이미지 화질 개선 모듈을 학습시키는 단계를 포함할 수 있다. In an embodiment, the generating of the preprocessed feature map may include calculating a context similarity loss rate for each pixel for the associated feature map composed of the color channel, the full context vector, and the first context vector, and the calculated context similarity loss rate. and training an image quality improvement module by utilizing the context similarity loss rate.
일 실시예에서, 상기 제1 컨텍스트 벡터를 생성하는 단계는, 상기 쿼리 이미지를 상기 제1 크기보다 작은 제2 크기를 갖도록 분할한 복수의 제2 파티션 이미지들에 대응하는 제2 컨텍스트 벡터를 생성하는 단계를 포함하고, 상기 연관 피쳐맵을 생성하는 단계는, 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터를 브로드 캐스트 함으로써 상기 연관 피쳐맵을 생성하는 단계를 포함할 수 있다.In an embodiment, the generating of the first context vector may include generating second context vectors corresponding to a plurality of second partition images obtained by dividing the query image to have a second size smaller than the first size. and generating the associated feature map may include generating the associated feature map by broadcasting the entire context vector, the first context vector, and the second context vector.
일 실시예에서, 상기 전처리 피쳐맵을 생성하는 단계는, 상기 연관 피쳐맵에 포함된 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터 중 적어도 하나가 마스킹되어 있는지 확인하는 단계 및 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터 중 적어도 하나가 마스킹 되어 있는 경우, 마스킹된 벡터를 제외한 나머지 벡터를 활용하여 상기 전처리 피쳐맵을 생성하는 단계를 포함할 수 있다.In one embodiment, the generating of the preprocessing feature map includes checking whether at least one of the entire context vector, the first context vector, and the second context vector included in the associated feature map is masked; and When at least one of the full context vector, the first context vector, and the second context vector is masked, generating the pre-processed feature map using vectors other than the masked vector.
본 개시의 일 실시예에 따른 쿼리 이미지에 대한 화질을 개선하는 이미지 화질 개선 모듈은 쿼리 이미지에 대응하는 전체 컨텍스트 벡터 및 상기 쿼리 이미지를 제1 크기를 갖도록 분할한 복수의 제1 파티션 이미지들에 대응하는 제1 컨텍스트 벡터 를 생성하는 컨텍스트 벡터 추출 모듈, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터를 브로드 캐스트 함으로써 연관 피쳐맵을 생성하는 브로드 캐스팅 모듈, 상기 브로드 캐스트된 컨텍스트 벡터에 대한 전처리를 수행함으로써 전처리 피쳐맵을 생성하는 전처리 모듈 및 상기 전처리된 컨텍스트 벡터를 초고해상도 모델에 입력함으로써 상기 쿼리 이미지의 화질을 개선시키는 해상도 개선 모듈을 포함할 수 있다. An image quality improvement module for improving the quality of a query image according to an embodiment of the present disclosure corresponds to an entire context vector corresponding to the query image and a plurality of first partition images obtained by dividing the query image to have a first size. A context vector extraction module for generating a first context vector, a broadcasting module for generating an associated feature map by broadcasting the entire context vector and the first context vector, and preprocessing for the broadcasted context vector. It may include a preprocessing module that generates a feature map and a resolution enhancement module that improves the image quality of the query image by inputting the preprocessed context vector to an ultra-high resolution model.
일 실시예에서, 상기 브로드 캐스팅 모듈은, 상기 전체 컨텍스트 벡터를 대응하는 상기 쿼리 이미지에 대한 픽셀 사이즈만큼 복제하고, 상기 제1 컨텍스트 벡터를 대응하는 상기 제1 파티션 이미지에 대한 픽셀 사이즈만큼 복제하고, 상기 쿼리 이미지에 포함되는 픽셀들 별로 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 픽셀들에 대응하는 컬러 채널을 연관시킴으로써 연관 피쳐맵을 생성하는 것을 특징으로 할 수 있다. In one embodiment, the broadcasting module copies the full context vector by a pixel size of the corresponding query image, and copies the first context vector by a pixel size of the corresponding first partition image; An associated feature map may be generated by associating the entire context vector, the first context vector, and color channels corresponding to the pixels for each pixel included in the query image.
일 실시예에서, 상기 전처리 모듈은 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 단위별로 컨볼루션 연산을 통해 제1 전처리 피쳐맵을 생성하고, 상기 제1 전처리 피쳐맵에 포함되는 픽셀 사이즈는 상기 컬러 채널의 사이즈에 대응되는 것을 특징으로 할 수 있다.In an embodiment, the pre-processing module generates a first pre-processed feature map through a convolution operation per pixel for the associated feature map composed of the color channel, the entire context vector, and the first context vector, and 1 It may be characterized in that the pixel size included in the preprocessing feature map corresponds to the size of the color channel.
일 실시예에서, 상기 전처리 모듈은 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵을 압축함으로써 제2 전처리 피쳐맵을 생성하고, 상기 제2 전처리 피쳐맵은 상기 초고해상도 모델에서 활용되는 피쳐맵 사이즈를 갖는 것을 특징으로 할 수 있다. In an embodiment, the pre-processing module generates a second pre-processing feature map by compressing the associated feature map composed of the color channel, the full context vector, and the first context vector, and the second pre-processing feature map is configured in the second It may be characterized by having a feature map size utilized in a high-resolution model.
본 발명의 기술적 사상에 따르면, 이미지의 화질을 개선할 때 분할 이미지에 대한 컨텍스트 벡터를 활용함으로써 이미지에 대한 객체의 인식율이 증가할 수 있고, 결과적으로 이미지 화질 개선의 효율이 증대될 수 있다. According to the technical idea of the present invention, when improving the quality of an image, the recognition rate of an object in the image can be increased by using the context vector for the divided image, and as a result, the efficiency of improving the image quality can be increased.
도 1은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 장치의 블록도이다.
도 2는 뉴럴 네트워크의 연산 처리를 설명하기 위한 도면이다.
도 3은 본 개시의 예시적인 실시예들에 따른 이미지 화질 개선 모듈의 블록도이다.
도 4는 본 개시의 예시적인 실시예들에 따른 도 3의 컨텍스트 벡터 추출 모듈의 세부 블록도이다.
도 5는 본 개시의 예시적인 실시예들에 따른 분할 이미지 생성 모듈의 출력들을 도시한다.
도 6은 본 개시의 예시적인 실시예들에 따른 컨텍스트 벡터를 생성하는 예를 도시한다.
도 7은 본 개시의 예시적인 실시예들에 따른 연관 피쳐맵을 생성하는 예를 도시한다.
도 8은 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다.
도 9은 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다.
도 10은 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다. Fig. 1 is a block diagram of a neural network device according to an exemplary embodiment of the present disclosure.
2 is a diagram for explaining calculation processing of a neural network.
Fig. 3 is a block diagram of an image quality improvement module according to exemplary embodiments of the present disclosure.
Fig. 4 is a detailed block diagram of the context vector extraction module in Fig. 3 according to exemplary embodiments of the present disclosure.
5 shows outputs of a segmented image generation module according to exemplary embodiments of the present disclosure.
6 illustrates an example of generating a context vector according to exemplary embodiments of the present disclosure.
7 illustrates an example of generating an associative feature map according to exemplary embodiments of the present disclosure.
8 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
9 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
10 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure, and methods of achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments and can be implemented in various different forms, and only the following embodiments complete the technical idea of the present disclosure, and in the technical field to which the present disclosure belongs. It is provided to completely inform those skilled in the art of the scope of the present disclosure, and the technical spirit of the present disclosure is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present disclosure. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Also, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the present disclosure. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.
본 개시에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used in this disclosure, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is one or more other components, steps, operations, and/or elements. Existence or additions are not excluded.
어느 하나의 실시예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성 요소는, 다른 실시예에서 동일한 명칭을 사용하여 설명될 수 있다. 반대되는 기재가 없는 이상, 어느 하나의 실시예에 기재된 설명은 다른 실시예에도 적용될 수 있으며, 중복되는 범위 또는 당해 기술 분야에 속한 통상의 기술자가 자명하게 이해할 수 있는 범위 내에서 구체적인 설명은 생략될 수 있다.Components included in one embodiment and components including common functions may be described using the same names in other embodiments. Unless stated to the contrary, descriptions described in one embodiment may be applied to other embodiments, and detailed descriptions will be omitted to the extent of overlapping or to the extent that those skilled in the art can clearly understand. can
이하, 본 발명의 바람직한 실시예 및 첨부한 도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to preferred embodiments and accompanying drawings of the present invention.
도 1은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 장치(10)의 블록도이다.Fig. 1 is a block diagram of a
도 1을 참조하면, 뉴럴 네트워크 장치(10)는 프로세서(100), RAM(200), 및 스토리지(300) 및 카메라(미도시)를 포함할 수 있다.Referring to FIG. 1 , a
뉴럴 네트워크 장치(10)는 입력 데이터를 분석하여 유효한 정보를 추출하고, 추출된 정보를 기초로 출력 데이터를 생성할 수 있다. 상기 입력 데이터는, 다양한 객체들을 포함하는 쿼리 이미지일 수 있고, 상기 출력 데이터는 개선된 화질의 쿼리 이미지일 수 있다.The
뉴럴 네트워크 장치(10)는 PC(personal computer), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 휴대용 전자 기기는, 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블(wearable) 기기 등과 같은 다양한 장치에 구비될 수 있다.The
다양한 실시예들에 따라, 프로세서(100)는 학습 이미지에 기반하여 뉴럴 네트워크를 학습시키고, 학습된 뉴럴 네트워크를 이용하여 쿼리 이미지에 대한 화질 개선을 수행하는 등, 뉴럴 네트워크 장치(10)를 제어할 수 있다.According to various embodiments, the
다양한 실시예들에 따라, 프로세서(100)는 CPU(110), 및 NPU(120)를 포함할 수 있고, 도시되지 않았지만 GPU를 포함할 수 있다. CPU(110)는 뉴럴 네트워크 장치(10)의 전반적인 동작을 제어할 수 있다. CPU(110)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(110)는 스토리지(300)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예를 들어, CPU(110)는 스토리지(300)에 저장된 프로그램들 및/또는 모듈들을 실행함으로써, NPU(120)의 기능을 제어할 수 있다.According to various embodiments, the
다양한 실시예들에 따라, NPU(120)는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train) 또는 학습(learn)하거나, 훈련 데이터를 기초로 연산을 수행하고, 수행 결과를 기초로 정보 신호(information signal)를 생성하거나, 뉴럴 네트워크를 재훈련(retrain)할 수 있다. According to various embodiments, the
다양한 실시예들에 따라, 뉴럴 네트워크의 모델들은 GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등 다양한 종류의 모델들을 포함할 수 있으며, 전술한 모델들로 제한되는 것은 아니다.According to various embodiments, neural network models include a Convolution Neural Network (CNN) such as GoogleNet, AlexNet, and VGG Network, a Region with Convolution Neural Network (R-CNN), a Region Proposal Network (RPN), and a Recurrent Neural Network (RNN). ), S-DNN (Stacking-based deep neural network), S-SDNN (State-Space Dynamic Neural Network), Deconvolution Network, DBN (Deep Belief Network), RBM (Restricted Boltzman Machine), Fully Convolutional Network, LSTM (Long It may include various types of models such as Short-Term Memory) Network and Classification Network, and is not limited to the above models.
다양한 실시예들에 따라, NPU(120)는 뉴럴 네트워크의 모델들에 대응되는 프로그램들을 저장하기 위한 별도의 메모리를 포함할 수도 있다. NPU(120)는 뉴럴 네트워크를 구동하기 위하여 요구되는 많은 연산을 처리하기 위한 별도의 IP(intellectual property) 블록들을 더 포함할 수도 있다. 예를 들어, 별도의 IP 블록들은 GPU(graphical processing unit) 또는 특정 연산을 빠르게 수행하기 위한 가속기(accelerator)를 더 포함할 수도 있다.According to various embodiments, the
다양한 실시예들에 따라, RAM(200)은 프로그램들, 데이터, 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예를 들어, RAM(200)은 스토리지(300)에 저장된 프로그램들 및/또는 데이터를, CPU(110)의 제어 또는 부팅 코드에 따라 일시적으로 로드(load)할 수 있다. 예컨대, RAM(200)은 DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous DRAM)을 포함할 수 있다.According to various embodiments,
스토리지(300)는 데이터를 저장하기 위한 저장 장소로서, OS(Operating System), 각종 프로그램들, 및 각종 데이터를 저장할 수 있다. 예를 들어, 스토리지(300)는 비휘발성 메모리에 상응할 수 있다. 예를 들어, 스토리지(300)는 ROM(Read Only Memory), 플래시 메모리, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등을 포함할 수 있다. 일 실시예에 따라, 스토리지(300)는 HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다.The
도 2는 뉴럴 네트워크의 연산 처리를 설명하기 위한 도면이다. 2 is a diagram for explaining calculation processing of a neural network.
도 1의 프로세서(100)는 뉴럴 네트워크(NN)를 활용하여 본 명세서에서 설명하는 이미지 화질 개선 방법을 수행할 수 있다. 도 2를 참조하면, 뉴럴 네트워크(NN)는 복수의 레이어들(L1 내지 Ln)을 포함할 수 있다. 복수의 레이어들(L1 내지 Ln) 각각은 선형 레이어 또는 비선형 레이어일 수 있으며, 실시예에 따라, 적어도 하나의 선형 레이어 및 적어도 하나의 비선형 레이어가 결합되어 하나의 레이어로 지칭될 수도 있다. 예를 들어, 선형 레이어는 컨볼루션 레이어(convolution), 풀리 커넥티드(fully connected) 레이어를 포함할 수 있으며, 비선형 레이어는 샘플링(sampling) 레이어, 풀링(pooling) 레이어, 활성(activation) 레이어를 포함할 수 있다.The
일 실시예에 따라, 제1 레이어(L1)는 컨볼루션 레이어이고, 제2 레이어(L2)는 샘플링 레이어일 수 있다. 뉴럴 네트워크는 활성(activation) 레이어를 더 포함할 수 있으며, 다른 종류의 연산을 수행하는 적어도 하나의 레이어를 더 포함할 수 있다.According to an embodiment, the first layer L1 may be a convolution layer, and the second layer L2 may be a sampling layer. The neural network may further include an activation layer and may further include at least one layer that performs other types of calculations.
복수의 레이어들 각각은 입력되는 이미지 데이터 또는 이전 레이어에서 생성된 입력 피처맵(input feature map)을 수신하고, 입력 피처맵을 연산하여 출력 피처맵을 생성할 수 있다. 이때, 피처맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미할 수 있다. Each of the plurality of layers may receive input image data or an input feature map generated in a previous layer, and generate an output feature map by calculating the input feature map. In this case, the feature map may refer to data expressing various characteristics of the input data.
피처맵들(FM1, FM2, FM3)은 예컨대 2차원 매트릭스 또는 3차원 매트릭스 형태를 가질 수 있다. 피처맵들(FM1, FM2, FM3)은 너비(Width)(또는 칼럼이라고 함), 높이(Height)(또는 로우라고 함) 및 깊이(Depth)를 가지며, 이는 좌표 상의 x축, y축 및 z축에 각각 대응할 수 있다. 이때, 깊이(Depth)는 채널(Channel)의 개수로 지칭될 수 있다.The feature maps FM1 , FM2 , and FM3 may have a form of a 2D matrix or a 3D matrix, for example. The feature maps FM1, FM2, and FM3 have a width (or called a column), a height (or called a row), and a depth, which are the x-axis, y-axis, and z-axis on the coordinates. It can correspond to each axis. In this case, depth may be referred to as the number of channels.
제1 레이어(L1)는 제1 피처맵(FM1)을 웨이트맵(WM)과 컨볼루션하여 제2 피처맵(FM2)을 생성할 수 있다. 웨이트맵(WM)은 제1 피처맵(FM1)을 필터링할 수 있으며, 필터 또는 커널로 지칭될 수 있다. 예컨대, 웨이트맵(WM)의 깊이, 즉 채널 개수는 제1 피처맵(FM1)의 깊이, 즉 채널 개수와 동일하며, 웨이트맵(WM)과 제1 피처맵(FM1)의 동일한 채널끼리 컨볼루션될 수 있다. 웨이트맵(WM)은 제1 피처맵(FM1)을 슬라이딩 윈도우로 하여 횡단하는 방식으로 쉬프트된다. 쉬프트되는 양은 "스트라이드(stride) 길이" 또는 "스트라이드"로 지칭될 수 있다. 각 쉬프트 동안, 웨이트맵(WM)에 포함되는 웨이트들 각각이 제1 피처맵(FM1)과 중첩된 영역에서의 모든 피처 값과 곱해지고 더해질 수 있다. 제1 피처맵(FM1)과 웨이트맵(WM)이 컨볼루션 됨에 따라, 제2 피처맵(FM2)의 하나의 채널이 생성될 수 있다. The first layer L1 may generate a second feature map FM2 by convolving the first feature map FM1 with the weight map WM. The weight map WM may filter the first feature map FM1 and may be referred to as a filter or a kernel. For example, the depth of the weight map WM, that is, the number of channels, is equal to the depth of the first feature map FM1, that is, the number of channels, and convolution between the weight map WM and the same channels of the first feature map FM1 is performed. It can be. The weight map WM is shifted by traversing the first feature map FM1 as a sliding window. The amount shifted may be referred to as the “stride length” or “stride”. During each shift, each of the weights included in the weight map WM may be multiplied and added with all feature values in an area overlapping the first feature map FM1. As the first feature map FM1 and the weight map WM are convoluted, one channel of the second feature map FM2 may be generated.
도 2에는 하나의 웨이트맵(WM)이 표시되었으나, 실질적으로는 복수개의 웨이트맵이 제1 피처맵(FM1)과 컨볼루션 되어, 제2 피처맵(FM2)의 복수개의 채널이 생성될 수 있다. 다시 말해, 제2 피처맵(FM2)의 채널의 수는 웨이트맵의 개수에 대응할 수 있다.Although one weight map WM is shown in FIG. 2 , a plurality of weight maps are actually convolved with the first feature map FM1 to generate a plurality of channels of the second feature map FM2. . In other words, the number of channels of the second feature map FM2 may correspond to the number of weight maps.
제2 레이어(L2)는 제2 피처맵(FM2)의 공간적 크기(spatial size)를 변경함으로써, 제3 피처맵(FM3)을 생성할 수 있다. 일 예로, 제2 레이어(L2)는 샘플링 레이어일 수 있다. 제2 레이어(L2)는 업-샘플링 또는 다운-샘플링을 수행할 수 있으며, 제2 레이어(L2)는 제2 피처맵(FM2)에 포함된 데이터들 중 일부를 선별할 수 있다. 예컨대, 2 차원의 윈도우(WD)가 윈도우(WD)의 사이즈(예컨대, 4 * 4 행렬) 단위로 제2 피처맵(FM2) 상에서 쉬프트되고, 윈도우(WD)와 중첩되는 영역에서 특정 위치(예컨대, 1행 1열)의 값을 선택할 수 있다. 제2 레이어(L2)는 선택된 데이터를 제3 피처맵(FM3)의 데이터로서 출력할 수 있다. 다른 예로, 제2 레이어(L2)는 풀링 레이어일 수 있다. 이 경우, 제2 레이어(L2)는 제2 피처맵(FM2)에서 윈도우(WD)와 중첩되는 영역의 피처 값들의 최대 값(max pooling) 또는 피처 값들의 평균 값(average pooling)을 선택할 수 있다. 제2 레이어(L2)는 선택된 데이터를 제3 피처맵(FM3)의 데이터로서 출력할 수 있다. The second layer L2 may generate the third feature map FM3 by changing the spatial size of the second feature map FM2. For example, the second layer L2 may be a sampling layer. The second layer L2 may perform up-sampling or down-sampling, and the second layer L2 may select some of the data included in the second feature map FM2. For example, the 2-dimensional window WD is shifted on the second feature map FM2 in units of the size of the window WD (eg, a 4*4 matrix), and a specific position (eg, a 4x4 matrix) in an area overlapping the window WD. , 1 row, 1 column). The second layer L2 may output the selected data as data of the third feature map FM3. As another example, the second layer L2 may be a pooling layer. In this case, the second layer L2 may select max pooling or average pooling of feature values of an area overlapping the window WD in the second feature map FM2. . The second layer L2 may output the selected data as data of the third feature map FM3.
이에 따라, 제2 피처맵(FM2)으로부터 공간적 사이즈가 변경된 제3 피처맵(FM3)이 생성될 수 있다. 제3 피처맵(FM3)의 채널과 제2 피처맵(FM2)의 채널 개수는 동일할 수 있다. 한편, 본 개시의 예시적인 실시예에 따르면, 풀링 레이어보다 샘플링 레이어의 연산 속도가 빠를 수 있고, 샘플링 레이어는 출력 이미지의 퀄리티(예컨대, PSNR(Peak Signal to Noise Ratio) 측면에서)를 개선할 수 있다. 예컨대, 풀링 레이어에 의한 연산은, 최대 값 또는 평균 값을 산출하여야 하므로 샘플링 레이어에 의한 연산보다 연산 시간이 더 오래 걸릴 수 있다.Accordingly, a third feature map FM3 whose spatial size is changed may be generated from the second feature map FM2. The number of channels of the third feature map FM3 and the number of channels of the second feature map FM2 may be the same. Meanwhile, according to an exemplary embodiment of the present disclosure, the calculation speed of the sampling layer may be faster than that of the pooling layer, and the sampling layer may improve the quality of the output image (eg, in terms of Peak Signal to Noise Ratio (PSNR)). there is. For example, an operation by a pooling layer may take longer than an operation by a sampling layer because a maximum value or an average value must be calculated.
실시예에 따라, 제2 레이어(L2)는 샘플링 레이어 또는 풀링 레이어에 한정되지 않는다. 즉, 제2 레이어(L2)는 제1 레이어(L1)와 유사한 컨볼루션 레이어가 될 수 있다. 제2 레이어(L2)는 제2 피처맵(FM2)을 웨이트맵과 컨볼루션하여 제3 피처맵(FM3)을 생성할 수 있다. 이 경우, 제2 레이어(L2)에서 컨볼루션 연산을 수행한 웨이트맵은 제1 레이어(L1)에서 컨볼루션 연산을 수행한 웨이트맵(WM)과 다를 수 있다.According to embodiments, the second layer L2 is not limited to a sampling layer or a pooling layer. That is, the second layer L2 may be a convolutional layer similar to the first layer L1. The second layer L2 may generate a third feature map FM3 by convolving the second feature map FM2 with the weight map. In this case, the weight map on which the convolution operation is performed in the second layer L2 may be different from the weight map WM on which the convolution operation is performed on the first layer L1.
제1 레이어(L1) 및 제2 레이어(L2)를 포함한 복수의 레이어들을 거쳐 제N 레이어에서 제N 피처맵을 생성할 수 있다. 제N 피처맵은 출력 데이터가 출력되는 뉴럴 네트워크(NN)의 백 엔드(back end)에 위치한 복원 레이어(reconstruction layer)에 입력될 수 있다. 복원 레이어는 제N 피처맵을 기반으로 출력 이미지를 생성할 수 있다. 또한, 복원 레이어는 제N 피처맵 뿐만 아니라, 제1 피처맵(FM1) 및 제2 피처맵(FM2) 등 복수의 피처맵들을 수신하고, 복수의 피처맵들에 기초하여 출력 이미지를 생성할 수 있다.An Nth feature map may be generated in an Nth layer through a plurality of layers including the first layer L1 and the second layer L2. The Nth feature map may be input to a reconstruction layer located at a back end of a neural network (NN) to which output data is output. The reconstruction layer may generate an output image based on the Nth feature map. In addition, the reconstruction layer may receive not only the Nth feature map, but also a plurality of feature maps such as the first feature map FM1 and the second feature map FM2, and generate an output image based on the plurality of feature maps. there is.
제3 레이어(L3)는 제3 피처맵(FM3)의 피처들을 조합하여 피처 벡터(FV) 또는 컨텍스트 벡터를 생성할 수 있다. 예컨대, 입력 데이터는 이미지 또는 동영상 프레임의 데이터일 수 있다. 이 경우, 제3 레이어(L3)는 제2 레이어(L2)로부터 제공되는 제3 피처맵(FM3)을 기초로 피처 벡터(FV) 또는 컨텍스트 벡터를 추출할 수 있다.The third layer L3 may generate a feature vector FV or a context vector by combining features of the third feature map FM3. For example, the input data may be image or video frame data. In this case, the third layer L3 may extract the feature vector FV or the context vector based on the third feature map FM3 provided from the second layer L2.
도 3은 본 개시의 예시적인 실시예들에 따른 이미지 화질 개선 모듈(400) 의 블록도이다.3 is a block diagram of an image
도 3을 참조하면, 이미지 화질 개선 모듈(400)은 컨텍스트 벡터 추출 모듈(410), 브로드 캐스팅 모듈(420), 전처리 모듈(430) 및 해상도 개선 모듈(440)을 포함할 수 있다. 이미지 화질 개선 모듈(400)은 도 1의 CPU(110) 또는 NPU(120)의 적어도 일부 구성일 수 있으며, 이미지 화질 개선 모듈(400)의 각종 동작은 도 1의 CPU(110) 또는 NPU(120)가 RAM(200) 또는 스토리지(300)에 저장된 적어도 하나의 명령어를 포함하는 컴퓨터 프로그램을 활용하여 수행하는 동작일 수 있다. 또한, 이미지 화질 개선 모듈(300)에 포함되는 컨텍스트 벡터 추출 모듈(410), 브로드 캐스팅 모듈(420), 전처리 모듈(430) 및 해상도 개선 모듈(440)은 명령어/프로그램 모듈 별로 구분된 구성일 수 있고, 하나의 하드웨어 장치(예를 들면, CPU(110), NPU(120))에 의해 수행될 수 있다.Referring to FIG. 3 , the image
이미지 화질 개선 모듈(400)은 뉴럴 네트워크(NN) 중 피드포워드 신경망(feedforward neural network), 순환 신경망(recurrent neural network)에 기반할 수 있다. 예를 들어, 이미지 화질 개선 모듈(400)은 시퀀스-투-시퀀스(sequence-to-sequence) 모델을 포함할 수 있다. 이미지 화질 개선 모듈(400)는 사용자 입력에 상응하는 소스 시퀀스의 정보를 인코딩할 수 있다. 이미지 화질 개선 모듈(400)는 순환 신경망(recurrent neural network)에 기반할 수 있으며, 예를 들어, LSTM(long short-term memory) 또는 GRU(gated recurrent unit)을 포함할 수 있다. The image
컨텍스트 벡터 추출 모듈(410)은 쿼리 이미지(Img_Qr)에 대응하는 소스 시퀀스들을 순차적으로 입력 받고, 모든 소스 시퀀스들을 압축하여 컨텍스트 벡터(CV)를 생성할 수 있다. 일 실시예에서, 컨텍스트 벡터 추출 모듈(410)은 입력된 쿼리 이미지(Img_Qr)을 복수의 파티션 이미지들로 분할하고, 전체 쿼리 이미지에 대한 컨텍스트 벡터(CV) 뿐만 아니라 분할된 파티션 이미지들에 대한 컨텍스트 벡터(CV) 역시 생성할 수 있다. 즉, 컨텍스트 벡터 추출 모듈(410)에서 출력하는 컨텍스트 벡터(CV)는 쿼리 이미지(Img_Qr) 전체에 대한 전체 컨텍스트 벡터, 쿼리 이미지(Img_Qr)를 제1 크기로 분할한 제1 파티션 이미지들에 대한 제1 컨텍스트 벡터, 쿼리 이미지(Img_Qr)를 제2 크기로 분할한 제2 파티션 이미지들에 대한 제2 컨텍스트 벡터를 포함할 수 있다. The context
브로드 캐스팅 모듈(420)은 컨텍스트 벡터(CV)를 브로드 캐스팅함으로써 연관 피쳐맵(CFM)을 생성할 수 있다. 본 명세서에서 브로드 캐스팅은 쿼리 이미지(Img_Qr)에 포함되는 같은 픽셀에 대응하는 컨텍스트 벡터(CV)끼리 연관(Concatenate) 시키는 동작을 나타낼 수 있고, 일 예시에서, 브로드 캐스팅 모듈(420)은 전체 컨텍스트 벡터, 제1 컨텍스트 벡터, 제2 컨텍스트 벡터를 대응되는 이미지 사이즈에 맞게 복제하고, 쿼리 이미지(Img_Qr)에 포함되는 제1 픽셀에 대한 전체 컨텍스트 벡터 값, 제1 컨텍스트 벡터 값, 제2 컨텍스트 벡터 값을 같은 레벨에 배열함으로써 브로드 캐스팅할 수 있다. 이를 위해 브로드 캐스팅 모듈(420)은 연관 함수(Concat)를 활용하여 브로드 캐스팅을 수행할 수 있다. 본 개시의 일 실시예에 따르면, 브로드 캐스팅 모듈(420)이 복수의 컨텍스트 벡터(CV)를 브로드 캐스팅 함으로써 복수의 컨텍스트 벡터(CV)를 모두 화질 개선에 활용할 수 있다.The
전처리 모듈(430)은 연관 피쳐맵(CFM)에 대한 전처리를 통해 전처리 피쳐맵(PFM)을 생성할 수 있다. 연관 피쳐맵(CFM)은 브로드 캐스팅됨에 따라서 사이즈 등의 문제로 해상도 개선 모듈(440)에서 바로 활용할 수 없을 수 있다. 이에 따라서, 전처리 모듈(430)은 해상도 개선 모듈(440)에서 활용할 수 있도록 연관 피쳐맵(CFM)에 대한 사이즈 또는 데이터 형식에 대한 전처리를 수행함으로써 해상도 개선 모듈(440)에서 활용 가능한 전처리 피쳐맵(PFM)을 생성할 수 있다. The
일 실시예에서, 전처리 모듈(430)은 연관 피쳐맵(CFM)에 대한 1:1 컨볼루션을 수행함으로써 전처리 피쳐맵(PFM)을 생성할 수 있다. 일 실시예에서, 전처리 모듈(430)은 연관 피쳐맵(CFM)에 대한 압축을 통해 전처리 피쳐맵(PFM)을 생성할 수 있다. 일 실시예에서, 전처리 모듈(430)은 연관 피쳐맵(CFM)의 컨텍스트 벡터들 사이의 컨텍스트 유사도 손실율을 계산하고, 계산된 컨텍스트 유사도 손실율을 이용하여 해상도 개선 모듈(440)을 학습시킬 수 있다. 일 실시예에서, 전처리 모듈(430)은 연관 피쳐맵(CFM)에 포함된 컨텍스트 벡터들 중 마스킹되어 있는 벡터를 확인하고, 마스킹된 벡터가 있는 경우, 대응하는 픽셀에 대해서는 마스킹된 벡터를 제외한 나머지 벡터들만으로 전처리 피쳐맵(PFM)을 생성할 수 있다. In one embodiment, the
본 개시의 일 실시예에 따르면, 전처리 모듈(430)이 연관 피쳐맵(CFM)을 기초로 전처리 피쳐맵(PFM)을 생성함으로써 새로운 해상도 개선 모델에 대한 개발 없이 기존의 해상도 개선 모델을 활용해도 복수의 컨텍스트 벡터들이 화질 개선에 반영될 수 있다.According to an embodiment of the present disclosure, the
해상도 개선 모듈(440)은 전처리 피쳐맵(PFM)을 이용하여 쿼리 이미지(Img_Qr)에 대한 이미지를 개선함으로써 출력 이미지(Img_Out)를 생성할 수 있다. 일 실시예에서, 전처리 피쳐맵(PFM)은 픽셀별 오브젝트에 대한 상세 정보를 포함할 수 있고, 해상도 개선 모듈(440)은 픽셀별 오브젝트의 상세 정보에 따라서 객체별 해상도 개선 알고리즘을 적용하여 쿼리 이미지(Img_Qr)의 화질을 개선시킬 수 있다. 일 예시에서, 해상도 개선 모듈(440)은 초고해상도 모델(Super Resolution Model), 보간 기반 알고리즘(interpolation-based algorithm)을 활용하여 쿼리 이미지(Img_Qr)의 화질을 개선시킬 수 있다.The
도 4는 본 개시의 예시적인 실시예들에 따른 도 3의 컨텍스트 벡터 추출 모듈(410)의 세부 블록도이고, 도 5는 본 개시의 예시적인 실시예들에 따른 분할 이미지 생성 모듈의 출력들을 도시한다.4 is a detailed block diagram of the context
도 4를 참조하면, 컨텍스트 벡터 추출 모듈(410)은 분할 이미지 생성 모듈(411), 이미지 보간 모듈(412), 이미지 인코딩 모듈(413), 텍스트 인코딩 모듈(414), 및 컨텍스트 벡터 튜닝 모듈(415)을 포함할 수 있다. Referring to FIG. 4 , the context
분할 이미지 생성 모듈(411)은 입력된 쿼리 이미지에 기반하여 복수의 파티션 이미지들을 생성할 수 있다. 분할 이미지 생성 모듈(411)은 상기 쿼리 이미지를 미리 결정된 개수의 파티션 이미지들로 분할할 수도 있고, 바운딩 박스에 기반하여 파티션 이미지들을 분할할 수도 있다. 즉, 분할 이미지 생성 모듈(411)은 쿼리 이미지를 다양한 크기의 이미지 패치들로 분할할 수 있다.The partition
일 실시예에 따라, 도 5를 함께 참조하면, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 수신하고, 쿼리 이미지(510)를 미리 결정된 개수의 파티션 이미지들로 분할할 수 있다. 예를 들어, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 9개의 제1 파티션 이미지들로 분할할 수 있다. 이를 위하여, 분할 이미지 생성 모듈(4101은 쿼리 이미지(510)의 X축, Y축을 동일한 간격으로 3등분하여 제1 파티션 이미지들을 생성할 수 있다. 분할 이미지 생성 모듈(410)이 쿼리 이미지를 분할하여 미리 결정된 개수만큼 파티션 이미지들을 생성하는 경우, 상기 생성된 파티션 이미지들 각각은 동일한 크기일 수 있다.According to an embodiment, referring to FIG. 5 together, the segmented
일 실시예에 따라, 도 5를 함께 참조하면, 분할 이미지 생성 모듈(411)은 복수의 바운딩 박스들을 획득할 수 있다. 복수의 바운딩 박스들 각각은, 객체 인식 결과, 식별된 객체들 각각을 최소한 영역으로 포함하는 사각형(복수의 점선 사각형)을 지칭할 수 있다. 분할 이미지 생성 모듈(411)은 쿼리 이미지(510) 내에 복수의 바운딩 박스들 중 쿼리 이미지(510)를 분할함으로써 절단되는 바운딩 박스의 개수를 최소화하는 방향으로 제1 파티션 이미지들을 생성할 수 있다. 도 5를 함께 참조하면, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 4개의 제1 파티션 이미지들로 분할할 수 있다. 쿼리 이미지(510)를 동일한 크기의 제1 파티션 이미지들로 분할하는 경우, 오른쪽 하단(3,3)의 제1 파티션 이미지의 사람 객체는 중앙 하단(3,2)의 제1 파티션 이미지와 오른쪽 하단(3,3)의 제1 파티션 이미지에 나누어져 포함될 수 있다. 바운딩 박스에 기반하여 제1 파티션 이미지들을 생성하는 경우, 분할 이미지 생성 모듈(411)은 X축을 기준으로 바운딩 박스들이 집중되어 있는 왼쪽 영역((1,1), (2,1), (3,1))과 오른쪽 영역((1,2), (2,2), (3,2))으로 분할할 수 있다. 또한 분할 이미지 생성 모듈(410)은 Y축을 기준으로 바운딩 박스들이 집중되어 있는 상단 영역((1,1), (1,2))과 하단 영역((2,1), (2,2))으로 분할할 수 있다.According to an embodiment, referring to FIG. 5 together, the division
이미지 보간 모듈(412)은 파티션 이미지들에 대한 보간을 수행할 수 있다. 상기 보간은, 영상 신호를 변환할 때(예를 들어, 확대) 기존의 픽셀 정보를 이용하여 픽셀 홀의 값을 연산하는 것을 의미한다. 예를 들어, 이미지 보간 모듈(412)은 가장 가까운 픽셀 값을 이용하여 픽셀 홀을 계산하는 최근접 보간법(Nearest Neighbor Interpolation), 인접한 4개 픽셀 값과 거리비를 사용하는 양선형 보간법(First Order Interpolation), 인접한 16개의 픽셀 값과 거리에 따른 가중치의 곱을 사용하는 바이큐빅 보간법(Bicubic Interpolation) 등을 이용할 수 있다. 예를 들어, 도 5를 함께 참조하면, 9개로 분할된 제1 파티션 이미지들 각각의 크기는 쿼리 이미지(510)의 크기의 1/9일 수 있다. 이미지 보간 모듈(412)은 쿼리 이미지(510)와 동일한 크기로 복수의 제1 파티션 이미지들 각각을 확대할 수 있다. The
이미지 인코딩 모듈(413)은 입력 시퀀스에 상응하는 입력 이미지를 입력 받아 컨텍스트 벡터를 생성할 수 있다. 예를 들어, 이미지 인코딩 모듈(413)은 ResNet의 컨볼루션 신경망 또는 시퀀스-투-시퀀스 모델의 트랜스포머(예를 들어, 비전 트랜스포머(ViT))에 기반할 수 있다. 상기 컨텍스트 벡터는, 입력 이미지의 상황 정보와 입력 이미지에 포함되는 객체 정보를 반영하여 생성되는 벡터일 수 있다. 텍스트 인코딩 모듈(414)은 입력 시퀀스에 상응하는 입력 텍스트를 입력 받아, 컨텍스트 벡터를 생성할 수 있다. 예를 들어, 텍스트 인코딩 모듈(414)은 트랜스포머에 기반할 수 있다. The
컨텍스트 벡터 튜닝 모듈(415)은 여러 컨텍스트 벡터들 간에 유사도를 판단하여 임계 값 이하의 유사도를 갖는 임의의 컨텍스트 벡터를 마스킹할 수 있다. 상기 유사도는 코사인 유사도에 기반할 수 있다. 예를 들어, 쿼리 이미지(510)의 화질 개선에 불필요한 컨텍스트 벡터를 마스킹함으로써 화질 개선에 필요한 컨텍스트 벡터의 비중을 높게 설정할 수 있다. 또한, 일 실시예에서, 컨텍스트 벡터 튜닝 모듈(415)은 여러 컨텍스트 벡터들 간의 유사도를 기초로 컨텍스트 벡터 추출 모듈(410)로 하여금 컨텍스트 벡터들 간의 의미가 일관성이 있도록(예를 들면, 여러 컨텍스트 벡터들 간의 유사도가 높도록) 학습시킬 수 있다.The context
일 실시예에 따라, 컨텍스트 벡터 튜닝 모듈(415)은 파티션 이미지들에 기반하여 생성된 컨텍스트 벡터의 마스킹 여부를 판단할 수 있다. 도 5를 함께 참조하면, 컨텍스트 벡터 튜닝 모듈(415)은 9개로 분할된 제1 파티션 이미지들이 변환된 컨텍스트 벡터들에 대하여 마스킹 여부를 판단할 수 있다. 예를 들어, 컨텍스트 벡터 튜닝 모듈(415)은 왼쪽 상단 (1,1)의 컨텍스트 벡터에 대하여 마스킹 여부를 판단할 수 있다. 이 때, 컨텍스트 벡터 튜닝 모듈(415)은 상위 벡터인 쿼리 이미지(510)에 상응하는 전체 컨텍스트 벡터 및 인접한 컨텍스트 벡터들(예를 들어, (1,2)의 제1 파티션 이미지에 상응하는 컨텍스트 벡터, (2,1)의 제1 파티션 이미지에 상응하는 컨텍스트 벡터 등등)과의 유사도를 비교하여 마스킹 여부를 결정할 수 있다. According to an embodiment, the context
도 6은 본 개시의 예시적인 실시예들에 따른 컨텍스트 벡터를 생성하는 예를 도시한다. 6 illustrates an example of generating a context vector according to exemplary embodiments of the present disclosure.
도 6을 참조하면, 이미지 인코딩 모듈(413)은 복수의 이미지 인코더들을 포함할 수 있다. 이미지 인코더들의 개수는 쿼리 이미지(510)를 다양한 크기의 파티션 이미지들로 분할하는 것에 기반할 수 있다. 예를 들어, 도 6을 함께 참조하면, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 수신하고, 9개 크기의 제1 파티션 이미지들로 분할할 수 있다. 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 9개의 동일한 크기의 제1 파티션 이미지들로 분할할 수 있고, 36개의 동일한 크기의 제2 파티션 이미지들로 분할할 수 있다. 이 때, 이미지 인코딩 모듈(413)은 제1 이미지 인코더(413_1) 내지 제3 이미지 인코더(413_3)를 포함할 수 있다. 다만, 본 개시는 이에 제한되지 않으며, 쿼리 이미지(510)를 분할하는 다양한 크기에 따라 N개(여기서, N은 4 이상의 자연수)의 이미지 인코더들을 포함할 수 있다. Referring to FIG. 6 , the
제1 이미지 인코더(413_1)는 쿼리 이미지(510) 전체를 수신하여 전체 컨텍스트 벡터(whole image context vector)를 추출할 수 있다. 제2 이미지 인코더(413_2)는 쿼리 이미지(510)가 분할된 9개의 제1 파티션 이미지들 각각에 대하여 제1 컨텍스트 벡터(middle image context vector)들을 추출할 수 있다. 이 때, 분할된 9개의 파티션 이미지들의 크기는 쿼리 이미지(510)의 1/9이지만, 이미지 보간 모듈(412)에 의해 쿼리 이미지(510)와 동일한 크기로 확대된 이미지가 제2 이미지 인코더(413_2)로 입력될 수 있다. 따라서, 분할된 9개의 파티션 이미지들 각각에 대하여 추출된 복수의 제1 컨텍스트 벡터들 각각의 크기는 제1 이미지 인코더(413_1)의 출력인 전체 컨텍스트 벡터와 동일할 수 있다.The first image encoder 413_1 may receive the
제3 이미지 인코더(413_3)는 쿼리 이미지(510)가 분할된 36개의 제2 파티션 이미지들 각각에 대하여 제2 컨텍스트 벡터들(small image context vector)을 추출할 수 있다. 이 때, 분할된 36개의 파티션 이미지들의 크기는 쿼리 이미지(510)의 1/36이지만, 이미지 보간 모듈(412)에 의해 쿼리 이미지(510)와 동일한 크기로 확대된 이미지가 제3 이미지 인코더(413_3)로 입력될 수 있다. 따라서, 분할된 36개의 파티션 이미지들 각각에 대하여 추출된 복수의 제2 컨텍스트 벡터들의 크기는 제1 이미지 인코더(413_1)의 출력인 전체 컨텍스트 벡터의 크기와 동일할 수 있다. The third image encoder 413_3 may extract second context vectors (small image context vectors) for each of 36 second partition images from which the
전술한 실시예에서, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 동일한 크기의 9개, 36개의 파티션 이미지들로 분할하는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에 따라, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 동일한 크기의 N2개(여기서, N은 자연수)의 파티션 이미지들로 분할할 수 있다.In the above-described embodiment, the segmentation
또한 전술한 실시예에서, 분할 이미지 생성 모듈(411)은 쿼리 이미지(510)를 9개, 36개의 두 종류의 파티션 이미지로 분할하는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에 따라, 분할 이미지 생성 모듈(411)은 한 종류 이상의 파티션 이미지로 분할할 수 있다.Also, in the above-described embodiment, the division
일 실시예에서, 컨텍스트 벡터 튜닝 모듈(415)은 복수의 컨텍스트 벡터들을 수신할 수 있다. 예를 들어, 컨텍스트 벡터 튜닝 모듈(415)은 제1 이미지 인코더(413_1)로부터 쿼리 이미지(510)에 상응하는 전체 컨텍스트 벡터를 수신할 수 있다. 컨텍스트 벡터 튜닝 모듈(415)은 제2 이미지 인코더(413_2)로부터 복수의 제1 파티션 이미지들에 상응하는 복수의 제1 컨텍스트 벡터들을 수신할 수 있다. 컨텍스트 벡터 튜닝 모듈(415)은 제3 이미지 인코더(413)3)로부터 복수의 제2 파티션 이미지들에 상응하는 복수의 제2 컨텍스트 벡터들을 수신할 수 있다. In one embodiment, context
도 7은 본 개시의 예시적인 실시예들에 따른 연관 피쳐맵을 생성하는 예를 도시한다. 7 illustrates an example of generating an associative feature map according to exemplary embodiments of the present disclosure.
도 7을 참조하면, 브로드 캐스팅 모듈(420)은 쿼리 이미지(Img_Qr)에 대응하는 전체 컨텍스트 벡터(WV), 제1 파티션 이미지에 대응하는 제1 컨텍스트 벡터(MV), 제2 파티션 이미지에 대응하는 제2 컨텍스트 벡터(SV)를 수신하고, 수신한 전체 컨텍스트 벡터(WV), 제1 컨텍스트 벡터(MV), 제2 컨텍스트 벡터(SV)를 브로드 캐스팅함으로써 연관 피쳐맵(CFM)을 생성할 수 있다. Referring to FIG. 7 , the
상세하게, 브로드 캐스팅 모듈(420)는 쿼리 이미지(Img_Qr)에 대응하여 하나로 구성되는 전체 컨텍스트 벡터(WV)를 쿼리 이미지(Img_Qr)의 픽셀 사이즈인 폭(W)과 높이(H)의 개수만큼 복제하고, 복제된 전체 컨텍스트 벡터(WV)를 쿼리 이미지(Img_Qr)의 각 픽셀에 대응시킬 수 있다. In detail, the
또한, 브로드 캐스팅 모듈(420)은 제1 파티션 이미지에 대응하여 제1 컨텍스트 벡터(MV)를 제1 파티션 이미지의 픽셀 사이즈인 폭(W/3)과 높이(H/3)의 개수만큼 복제하고, 복제된 제1 컨텍스트 벡터(MV)를 제1 파티션 이미지에 포함되는 각 픽셀에 대응시킬 수 있다. 일 예시에서, (1,3)의 제1 파티션 이미지에 대응하는 제1 컨텍스트 벡터(MV)를 W/3*H/3개만큼 복제하여 (1,3)의 제1 파티션 이미지에 포함된 모든 픽셀에 각각 대응시킬 수 있다. 그 결과, 쿼리 이미지(Img_Qr)에 포함되는 픽셀들은 (1,1) 내지 (3,3)에 해당하는 9개의 제1 컨텍스트 벡터(MV) 중 픽셀의 위치에 대응한 벡터에 연관될 수 있다. In addition, the
또한, 브로드 캐스팅 모듈(420)은 제2 파티션 이미지에 대응하여 제2 컨텍스트 벡터(SV)를 제2 파티션 이미지의 픽셀 사이즈인 폭(W/6)과 높이(H/6)의 개수만큼 복제하고, 복제된 제2 컨텍스트 벡터(SV)를 제2 파티션 이미지에 포함되는 각 픽셀에 대응시킬 수 있다. 일 예시에서, (2,6)의 제2 파티션 이미지에 대응하는 제2 컨텍스트 벡터(SV)를 W/6*H/6개만큼 복제하여 (2,6)의 제2 파티션 이미지에 포함된 모든 픽셀에 각각 대응시킬 수 있다. 그 결과, 쿼리 이미지(Img_Qr)에 포함되는 픽셀들은 (1,1) 내지 (6,6)에 해당하는 36개의 제2 컨텍스트 벡터(SV) 중 픽셀의 위치에 대응한 벡터에 연관될 수 있다. In addition, the
결과적으로 각 픽셀들은 위치별로 포함되는 제1 파티션 이미지, 제2 파티션 이미지에 따라서 전체 컨텍스트 벡터(WV), 제1 컨텍스트 벡터(MV) 및 제2 컨텍스트 벡터(SV)의 세가지 벡터와 연관될 수 있다. 브로드 캐스팅 모듈(320)은 쿼리 이미지(Img_Qr)에 포함되는 모든 픽셀에 대해 연관된 픽셀들을 연결시킴으로써 연관 피쳐맵(CFM)을 생성할 수 있다. 일 예시에서, (2,6)의 제2 파티션 이미지에 포함된 픽셀들은 (1,3)의 제1 파티션 이미지, 쿼리 이미지(Img_Qr)에 역시 포함되므로, 도 7에 도시된 전체 컨텍스트 벡터(WV), 제1 컨텍스트 벡터(MV), 제2 컨텍스트 벡터(SV)와 연결됨으로써 연관 피쳐맵(CFM)이 생성될 수 있다. 또한, 브로드 캐스팅 모듈(420)은 컨텍스트 벡터들(WV, MV, SV)외에 각 픽셀의 컬러 정보를 갖는 컬러 채널(CC)을 더 연결시킴으로써 연관 피쳐맵(CFM)을 생성할 수 있다.As a result, each pixel may be associated with three vectors of a full context vector (WV), a first context vector (MV), and a second context vector (SV) according to the first partition image and the second partition image included for each position. . The broadcasting module 320 may generate a related feature map (CFM) by connecting related pixels to all pixels included in the query image Img_Qr. In one example, since the pixels included in the second partition image of (2,6) are also included in the first partition image, query image (Img_Qr) of (1,3), the entire context vector (WV) shown in FIG. ), the first context vector (MV), and the second context vector (SV), the associated feature map (CFM) can be created. In addition, the
즉, 연관 피쳐맵(CFM)에는 각 픽셀의 컬러 정보(CC), 가장 큰 레벨에서의 객체 정보(WV), 중간 레벨에서의 객체 정보(MV), 작은 레벨에서의 객체 정보(SV)가 포함될 수 있다. 쿼리 이미지(Img_Qr)는 확대 정도에 따라서 서로 다른 객체로 인식될 수 있다. 예를 들면, 도 5 상단의 쿼리 이미지(510)에 있어서, 전체 이미지는 "화창한 날씨", (3,1)에 해당하는 제1 파티션 이미지는 "사람들", (3,1)의 왼쪽 하단에 해당하는 제2 파티션 이미지는 "강아지"를 객체로서 인식할 수 있다. That is, the associated feature map (CFM) includes color information (CC) of each pixel, object information (WV) at the largest level, object information (MV) at the middle level, and object information (SV) at the small level. can The query image Img_Qr may be recognized as different objects according to the degree of magnification. For example, in the
본 개시의 일 실시예에 따르면, 같은 이미지에 대해서 큰 레벨, 중간 레벨, 작은 레벨 별로 서로 다른 컨텍스트 정보를 인식할 수 있고, 이에 따라서 화질 개선시에 더 상세한 정보를 활용함에 따라서 화질 개선율이 증대될 수 있다.According to an embodiment of the present disclosure, it is possible to recognize different context information for a large level, a medium level, and a small level for the same image, and accordingly, the picture quality improvement rate can be increased by using more detailed information when improving picture quality. can
도 7에서는 세개의 컨텍스트 벡터를 이용하여 연관 피쳐맵(CFM)을 생성하는 예시가 도시되어 있으나, 두개 또는 네개보다 많은 컨텍스트 벡터를 활용하여 연관 피쳐맵(CFM)을 생성할 수 있으며, 제1 파티션 이미지가 9분할 이미지이고, 제2 파티션 이미지가 36분할 이미지 인 것 역시 예시일 뿐 본 개시의 기술적 사상이 이에 한정되지 않는다. Although FIG. 7 shows an example of generating an associated feature map (CFM) using three context vectors, the associated feature map (CFM) can be generated using two or more than four context vectors, and the first partition It is also an example that the image is a 9-division image and the second partition image is a 36-division image, and the technical spirit of the present disclosure is not limited thereto.
도 8은 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다. 8 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
도 8을 참조하면, 전처리 모듈(430)은 연관 피쳐맵(CFM)을 활용하여 제1 전처리 피쳐맵(PFM1)을 생성할 수 있다. 일 예시에서, 전처리 모듈(430)은 1:1 컨볼루션 모듈을 포함할 수 있고, 연관 피쳐맵(CFM)에 대한 컨볼루션을 통해 제1 전처리 피쳐맵(PFM1)을 생성할 수 있다. 일 실시예에서, 제1 전처리 피쳐맵(PFM1)의 컬러 채널(CC')의 차원은 컬러 채널(CC)의 차원과 동일할 수 있고, 이에 따라서 기존의 해상도 개선 모듈(440)의 입력으로서 조건을 충족할 수 있다.Referring to FIG. 8 , the
일 실시예에서, 전처리 모듈(430)은 연관 피쳐맵(CFM)에 포함된 마스킹된 벡터가 있는 경우, 마스킹된 벡터를 제외한 나머지 벡터를 이용하여 제1 전처리 피쳐맵(PFM1)을 생성할 수 있다.In an embodiment, if there are masked vectors included in the associated feature map (CFM), the
해상도 개선 모듈(440)은 제1 전처리 피쳐맵(PFM1)을 이용하여 출력 이미지(Img_Out)을 생성할 수 있다. 본 개시의 일 실시예에 따르면, 제1 전처리 피쳐맵(PFM1)의 컬러 채널(CC')에는 각 픽셀의 전체 레벨, 중간 레벨, 작은 레벨 각각에 대한 컨텍스트 정보를 포함할 수 있고, 이러한 컨텍스트 정보들을 모두 활용하여 이미지의 화질을 개선함으로써 이미지 화질 개선율이 증대될 수 있다. The
도 9는 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다. 9 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
도 9를 참조하면, 전처리 모듈(430)은 연관 피쳐맵(CFM)을 활용하여 제2 전처리 피쳐맵(PFM2)을 생성할 수 있다. 일 예시에서, 전처리 모듈(430)은 해상도 개선 모듈(440)에서 활용되는 중간 피쳐맵의 사이즈에 적합하도록 연관 피쳐맵(CFM)을 압축함으로써 제2 전처리 피쳐맵(PFM2)을 생성할 수 있다. 일 예시에서, 중간 피쳐맵은 도 2의 제1 피쳐맵(FM1) 내지 제3 피쳐맵(FM3) 중 어느 하나일 수 있다. Referring to FIG. 9 , the
해상도 개선 모듈(440)은 쿼리 이미지(Img_Qr)를 입력 피쳐맵으로서 수신하고, 제2 전처리 피쳐맵(PFM2)을 중간 피쳐맵으로서 수신하고, 제2 전처리 피쳐맵(PFM2)을 이용하여 쿼리 이미지(Img_Qr)에 대한 화질 개선을 수행함으로써 출력 이미지(Img_Out)를 생성할 수 있다. 본 개시의 일 실시예에 따르면, 중간 피쳐맵으로서 제2 전처리 피쳐맵(PFM2)의 각 픽셀에 대한 복수의 컨텍스트 정보를 활용하여 이미지의 화질을 개선함으로써 이미지 화질 개선율이 증대될 수 있다. The
도 10은 본 개시의 예시적인 실시예들에 따른 출력 이미지를 생성하는 예를 도시한다. 10 illustrates an example of generating an output image according to exemplary embodiments of the present disclosure.
도 10을 참조하면, 전처리 모듈(430)은 연관 피쳐맵(CFM)을 활용하여 컨텍스트 유사도 손실율(CSL)을 계산할 수 있다. 컨텍스트 유사도 손실율(CSL)은 전체 컨텍스트 벡터(WV), 제1 컨텍스트 벡터(MV), 제2 컨텍스트 벡터(SV) 각각에 대한 주변 컨텍스트의 유사도를 비교하고, 그 유사도 차이값을 나타내는 정보일 수 있다. Referring to FIG. 10 , the
해상도 개선 모듈(440)은 컨텍스트 유사도 손실율(CSL)을 이용하여 이미지 화질 개선 모듈(400)을 학습시킬 수 있다. 본 개시의 일 실시예에 따르면, 이미지 화질 개선 모듈(400)이 컨텍스트 벡터를 추출하는 정확도가 높아질 수 있고, 이에 따라서 이미지 화질 개선율이 증대될 수 있다. The
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Embodiments have been described using specific terms in this specification, but they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of protection of the present disclosure should be determined by the technical spirit of the appended claims.
Claims (11)
상기 프로세서에 의해, 쿼리 이미지에 대응하는 전체 컨텍스트 벡터 및 상기 쿼리 이미지를 제1 크기를 갖도록 분할한 복수의 제1 파티션 이미지들에 대응하는 복수의 제1 컨텍스트 벡터들을 생성하는 단계;
상기 프로세서에 의해, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터를 브로드 캐스트 함으로써 연관 피쳐맵을 생성하는 단계;
상기 프로세서에 의해, 상기 연관 피쳐맵의 사이즈 또는 데이터 형식에 대한 전처리를 수행함으로써 전처리 피쳐맵을 생성하는 단계;및
상기 프로세서에 의해, 상기 전처리 피처맵과 초고해상도 모델을 활용하여 상기 쿼리 이미지의 화질을 개선시키는 단계;를 포함하는 이미지 화질 개선 방법.
A method for improving image quality performed by a neural network device including a processor, the method comprising:
generating, by the processor, a full context vector corresponding to a query image and a plurality of first context vectors corresponding to a plurality of first partition images obtained by dividing the query image to have a first size;
generating, by the processor, an associated feature map by broadcasting the entire context vector and the first context vector;
generating, by the processor, a preprocessed feature map by performing preprocessing on the size or data format of the associated feature map; and
and improving, by the processor, the quality of the query image by utilizing the preprocessed feature map and the ultra-high resolution model.
상기 연관 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 전체 컨텍스트 벡터를 대응하는 상기 쿼리 이미지에 대한 픽셀 사이즈만큼 복제하는 단계;
상기 프로세서에 의해, 상기 제1 컨텍스트 벡터를 대응하는 상기 제1 파티션 이미지에 대한 픽셀 사이즈만큼 복제하는 단계;및
상기 프로세서에 의해, 상기 쿼리 이미지에 포함되는 픽셀들 별로 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 픽셀들에 대응하는 컬러 채널을 연관시킴으로써 연관 피쳐맵을 생성하는 단계;를 포함하는 이미지 화질 개선 방법.
According to claim 1,
The step of generating the associated feature map,
replicating, by the processor, the entire context vector by a pixel size of the corresponding query image;
Replicating, by the processor, the first context vector by the pixel size of the corresponding first partition image; and
generating, by the processor, an associated feature map by associating the full context vector, the first context vector, and color channels corresponding to the pixels for each pixel included in the query image; generating an associated feature map; Way.
상기 전처리 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 단위별로 컨볼루션 연산을 통해 제1 전처리 피쳐맵을 생성하는 단계;를 포함하고,
상기 제1 전처리 피쳐맵에 포함되는 픽셀 사이즈는 상기 컬러 채널의 사이즈에 대응되는 것을 특징으로 하는 이미지 화질 개선 방법.
According to claim 2,
In the step of generating the preprocessing feature map,
Generating, by the processor, a first preprocessing feature map through a convolution operation per pixel for the associated feature map composed of the color channel, the entire context vector, and the first context vector;
The image quality improvement method of claim 1 , wherein a pixel size included in the first preprocessing feature map corresponds to a size of the color channel.
상기 전처리 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵을 압축함으로써 제2 전처리 피쳐맵을 생성하는 단계;를 포함하고,
상기 제2 전처리 피쳐맵은 상기 초고해상도 모델에서 활용되는 피쳐맵 사이즈를 갖는 것을 특징으로 하는 이미지 화질 개선 방법.
According to claim 2,
In the step of generating the preprocessing feature map,
Generating, by the processor, a second pre-processed feature map by compressing the associated feature map composed of the color channel, the full context vector, and the first context vector;
The second preprocessing feature map has a feature map size utilized in the ultra-high resolution model.
상기 전처리 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 별로 컨텍스트 유사도 손실율을 계산하는 단계;및
상기 프로세서에 의해, 계산한 상기 컨텍스트 유사도 손실율를 활용하여 이미지 화질 개선 모듈을 학습시키는 단계;를 포함하는 이미지 화질 개선 방법.
According to claim 2,
In the step of generating the preprocessing feature map,
Calculating, by the processor, a context similarity loss rate for each pixel for the associated feature map composed of the color channel, the full context vector, and the first context vector; and
and learning, by the processor, an image quality improvement module by utilizing the calculated context similarity loss rate.
상기 제1 컨텍스트 벡터를 생성하는 단계는,
상기 프로세서에 의해, 상기 쿼리 이미지를 상기 제1 크기보다 작은 제2 크기를 갖도록 분할한 복수의 제2 파티션 이미지들에 대응하는 제2 컨텍스트 벡터를 생성하는 단계;를 포함하고,
상기 연관 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터를 브로드 캐스트 함으로써 상기 연관 피쳐맵을 생성하는 단계;를 포함하는 이미지 화질 개선 방법.
According to claim 1,
Generating the first context vector comprises:
Generating, by the processor, second context vectors corresponding to a plurality of second partition images obtained by dividing the query image to have a second size smaller than the first size;
The step of generating the associated feature map,
and generating, by the processor, the associated feature map by broadcasting the entire context vector, the first context vector, and the second context vector.
상기 전처리 피쳐맵을 생성하는 단계는,
상기 프로세서에 의해, 상기 연관 피쳐맵에 포함된 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터 중 적어도 하나가 마스킹되어 있는지 확인하는 단계;및
상기 프로세서에 의해, 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터 중 적어도 하나가 마스킹 되어 있는 경우, 마스킹된 벡터를 제외한 나머지 벡터를 활용하여 상기 전처리 피쳐맵을 생성하는 단계;를 포함하는 이미지 화질 개선 방법.
According to claim 6,
In the step of generating the preprocessing feature map,
Checking, by the processor, whether at least one of the entire context vector, the first context vector, and the second context vector included in the associated feature map is masked; and
generating, by the processor, the preprocessed feature map by utilizing vectors other than the masked vector when at least one of the entire context vector, the first context vector, and the second context vector is masked; How to improve image quality, including.
쿼리 이미지에 대응하는 전체 컨텍스트 벡터 및 상기 쿼리 이미지를 제1 크기를 갖도록 분할한 복수의 제1 파티션 이미지들에 대응하는 복수의 제1 컨텍스트 벡터들을 생성하는 컨텍스트 벡터 추출 모듈;
상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터를 브로드 캐스트 함으로써 연관 피쳐맵을 생성하는 브로드 캐스팅 모듈;
상기 브로드 캐스트된 컨텍스트 벡터의 사이즈 또는 데이터 형식에 대한 전처리를 수행함으로써 전처리 피쳐맵을 생성하는 전처리 모듈; 및
상기 전처리된 컨텍스트 벡터를 초고해상도 모델에 입력함으로써 상기 쿼리 이미지의 화질을 개선시키는 해상도 개선 모듈;를 포함하는 이미지 화질 개선 모듈.
In the image quality improvement module for improving the quality of a query image,
a context vector extraction module configured to generate an entire context vector corresponding to a query image and a plurality of first context vectors corresponding to a plurality of first partition images obtained by dividing the query image to have a first size;
a broadcasting module generating an associated feature map by broadcasting the entire context vector and the first context vector;
a pre-processing module generating a pre-processed feature map by performing pre-processing on the size or data format of the broadcast context vector; and
and a resolution enhancement module configured to improve the image quality of the query image by inputting the preprocessed context vector to an ultra-high resolution model.
상기 브로드 캐스팅 모듈은,
상기 전체 컨텍스트 벡터를 대응하는 상기 쿼리 이미지에 대한 픽셀 사이즈만큼 복제하고, 상기 제1 컨텍스트 벡터를 대응하는 상기 제1 파티션 이미지에 대한 픽셀 사이즈만큼 복제하고, 상기 쿼리 이미지에 포함되는 픽셀들 별로 상기 전체 컨텍스트 벡터, 상기 제1 컨텍스트 벡터 및 상기 픽셀들에 대응하는 컬러 채널을 연관시킴으로써 연관 피쳐맵을 생성하는 것을 특징으로 하는 이미지 화질 개선 모듈.
According to claim 8,
The broadcasting module,
The entire context vector is duplicated by the pixel size of the corresponding query image, the first context vector is duplicated by the pixel size of the corresponding first partition image, and the entire context vector is duplicated for each pixel included in the query image. An image quality improvement module, characterized in that for generating an associated feature map by associating a context vector, the first context vector, and color channels corresponding to the pixels.
상기 전처리 모듈은 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵에 대해서 픽셀 단위별로 컨볼루션 연산을 통해 제1 전처리 피쳐맵을 생성하고,
상기 제1 전처리 피쳐맵에 포함되는 픽셀 사이즈는 상기 컬러 채널의 사이즈에 대응되는 것을 특징으로 하는 이미지 화질 개선 모듈.
According to claim 9,
The pre-processing module generates a first pre-processed feature map through a convolution operation per pixel for the associated feature map composed of the color channel, the entire context vector, and the first context vector;
The image quality improvement module of claim 1 , wherein a pixel size included in the first preprocessing feature map corresponds to a size of the color channel.
상기 전처리 모듈은 상기 컬러 채널, 상기 전체 컨텍스트 벡터 및 상기 제1 컨텍스트 벡터로 구성된 상기 연관 피쳐맵을 압축함으로써 제2 전처리 피쳐맵을 생성하고,
상기 제2 전처리 피쳐맵은 상기 초고해상도 모델에서 활용되는 피쳐맵 사이즈를 갖는 것을 특징으로 하는 이미지 화질 개선 모듈.
According to claim 9,
The pre-processing module generates a second pre-processed feature map by compressing the associated feature map composed of the color channel, the full context vector, and the first context vector;
The image quality improvement module, characterized in that the second pre-processing feature map has a feature map size utilized in the ultra-high resolution model.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220113502A KR102485872B1 (en) | 2022-09-07 | 2022-09-07 | Image quality improving method improving image quality using context vector and image quality improving module performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220113502A KR102485872B1 (en) | 2022-09-07 | 2022-09-07 | Image quality improving method improving image quality using context vector and image quality improving module performing the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102485872B1 true KR102485872B1 (en) | 2023-01-09 |
Family
ID=84892819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220113502A KR102485872B1 (en) | 2022-09-07 | 2022-09-07 | Image quality improving method improving image quality using context vector and image quality improving module performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102485872B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210026996A (en) * | 2019-08-30 | 2021-03-10 | 울산과학기술원 | Method and apparatus for extracting context information |
KR20210097931A (en) * | 2020-01-31 | 2021-08-10 | 중앙대학교 산학협력단 | Multiple object detection method and apparatus |
-
2022
- 2022-09-07 KR KR1020220113502A patent/KR102485872B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210026996A (en) * | 2019-08-30 | 2021-03-10 | 울산과학기술원 | Method and apparatus for extracting context information |
KR20210097931A (en) * | 2020-01-31 | 2021-08-10 | 중앙대학교 산학협력단 | Multiple object detection method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738207B (en) | Character detection method for fusing character area edge information in character image | |
WO2020238560A1 (en) | Video target tracking method and apparatus, computer device and storage medium | |
US20190180154A1 (en) | Text recognition using artificial intelligence | |
AU2019268184B2 (en) | Precise and robust camera calibration | |
US11157764B2 (en) | Semantic image segmentation using gated dense pyramid blocks | |
US20220157041A1 (en) | Image classification method and apparatus | |
US20230153965A1 (en) | Image processing method and related device | |
CN112232346A (en) | Semantic segmentation model training method and device and image semantic segmentation method and device | |
CN113498521A (en) | Text detection method and device and storage medium | |
CN110633706B (en) | Semantic segmentation method based on pyramid network | |
CN115147606A (en) | Medical image segmentation method and device, computer equipment and storage medium | |
US11704894B2 (en) | Semantic image segmentation using gated dense pyramid blocks | |
US20210390410A1 (en) | Local self-attention computer vision neural networks | |
Li et al. | Adaptive scaling for archival table structure recognition | |
Peter et al. | Deep spatial and tonal data optimisation for homogeneous diffusion inpainting | |
KR102485872B1 (en) | Image quality improving method improving image quality using context vector and image quality improving module performing the same | |
Li et al. | Pillar-based 3D object detection from point cloud with multiattention mechanism | |
US20230196093A1 (en) | Neural network processing | |
Yang et al. | Image scene analysis based on improved FCN model | |
KR102504007B1 (en) | Context vector extracting module generating context vector from partitioned image and operating method thereof | |
US20230072445A1 (en) | Self-supervised video representation learning by exploring spatiotemporal continuity | |
Burnel et al. | Less labels, more modalities: A self-training framework to reuse pretrained networks | |
CN117237623B (en) | Semantic segmentation method and system for remote sensing image of unmanned aerial vehicle | |
KR102647615B1 (en) | A video coloring method coloring gray scale video by using reference frame selected based on similarity and a video coloring system performing the same | |
Wang et al. | Image Semantic Segmentation Algorithm Based on Self-learning Super-Pixel Feature Extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |