KR102448147B1 - 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치 - Google Patents

디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치 Download PDF

Info

Publication number
KR102448147B1
KR102448147B1 KR1020210031715A KR20210031715A KR102448147B1 KR 102448147 B1 KR102448147 B1 KR 102448147B1 KR 1020210031715 A KR1020210031715 A KR 1020210031715A KR 20210031715 A KR20210031715 A KR 20210031715A KR 102448147 B1 KR102448147 B1 KR 102448147B1
Authority
KR
South Korea
Prior art keywords
deconvolution operation
generating
filter
size
grid pattern
Prior art date
Application number
KR1020210031715A
Other languages
English (en)
Other versions
KR20220127438A (ko
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 KR1020210031715A priority Critical patent/KR102448147B1/ko
Publication of KR20220127438A publication Critical patent/KR20220127438A/ko
Application granted granted Critical
Publication of KR102448147B1 publication Critical patent/KR102448147B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • G06T3/4076Super resolution, i.e. output image resolution higher than sensor resolution by iteratively correcting the provisional high resolution image using the original low-resolution image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Holo Graphy (AREA)
  • Radio Relay Systems (AREA)
  • Magnetic Record Carriers (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하되, 상기 디컨볼루션 연산이 수행되는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는, 단계, 및 상기 디컨볼루션 연산을 통해 상기 격자무늬가 제거된 상기 제2 다차원 정보를 출력하는 단계를 포함한다.

Description

디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치{MUTIDIMENSIONAL INFORMATION GENERATION METHOD BASED ON DECONVOLUTION OPERATION AND APPARATUS IMPLEMENTING THE SAME METHOD}
본 발명은 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 저해상도의 압축된 다차원 정보로부터 고해상도의 다차원 정보를 복원하기 위한 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다.
컨볼루션 신경망 모델(CNN: Convolutional Neural Network)은 시각적 영상을 분석하는 데 사용되는 인공 신경망으로서, 영상 혹은 동영상의 분석, 추천 시스템, 영상 분류, 의료 영상 분석 및 자연어 처리에 주로 사용된다.
컨볼루션 신경망 모델을 이용하여 다차원 영상 데이터로부터 정보를 분석 및 예측하는 과정에 있어, 원본 데이터를 모두 사용하는 것이 아니라 필요한 정보만을 선별적으로 사용하기 위해 부호화(encoding)와 같은 정보 압축 과정을 수행하고, 이를 통해 차원이 축소된 추상화된 핵심자질로서 잠재 벡터(latent vector)를 추출하는 것이 일반적이다.
상기와 같은 정보 압축 과정과는 반대로, 핵심자질로부터 다시 원본 다차원 영상 데이터를 추정하기 위해서는 보간(interpolation), 디컨볼루션(deconvolution)과 같이 차원이 축소된 추상화 정보를 확대 또는 복호화(decoding)와 같은 복원 과정이 필요하며, 주로 디컨볼루션 방식으로 정보 복원이 이루어진다.
이 때, 저해상도의 압축된 다차원 정보를 고해상도의 다차원 정보로 복원하기 위해 디컨볼루션 복호화(deconvolutional decoding)가 수행된다. 디컨볼루션 복호화는 저해상도의 압축된 다차원 정보로부터 가중치 행렬의 곱의 결과로 얻어지는 가중합 자료를 반복적으로 배치하여 다차원 정보의 해상도를 확장하고, 최종적으로 원본 데이터와 가장 근접한 정보를 복원 및 생성하는 과정이다.
일반적으로 디컨볼루션 연산을 수행하게 되면 최종적으로 출력되는 복원 정보의 해상도를 증가시키기 위해, 디컨볼루션 연산이 이루어지는 간격(stride)을 조절하게 된다. 이 때, 이 간격이 어떠한 값을 가지더라도 출력 공간에 정보가 과도하게 쏠리거나 흩어지게 되어 격자 무늬 형태의 정보 특이값(checkerboard artifact)이 발생하게 된다.
이러한 격자 무늬 현상은 다계층의 디컨볼루션 복호화가 이루어지는 과정에서 다양한 분포의 구조적 정보를 표현하지 못하고, 격자 무늬 형태의 정보만을 산출하게 되는 문제점이 있다. 이에 따라, 최종적인 정보의 복원 단계에서 격자 무늬 현상으로 인해 원본 정보와 상이한 복원 정보를 생성하게 되고, 이로 인해 정보 분석, 예측, 및 보관 과정에서 왜곡된 정보를 취급할 가능성을 배제하기 어렵다.
이러한 문제점으로 인해, 디컨볼루션 복호화 과정에서 발생되는 격자 무늬 현상을 해소하기 위한 다양한 방법으로서, 근접한 픽셀 값들을 활용하여 역합성곱을 수행하는 NNr(nearest-neighbor resize deconvolution) 방법이나, 여러 단계의 합성곱 연산 후 격자무늬 형태로 재조합을 수행하는 PixelTCL(pixel transposed convolutional networks) 방법 등이 사용되었다. 그러나, 이러한 방법들은 기상 관측을 위성 영상과 같이 세부적인 묘사가 필요한 영상 정보에 있어 부족한 복원 성능을 보이는 문제점이 있다.
공개특허공보 제10-2020-0030988호(2020.03.23. 공개)
본 발명이 해결하고자 하는 기술적 과제는, 다차원 정보를 복원하는 복호화(decoding) 과정에서, 디컨볼루션 연산으로 인해 발생되는 격자무늬 현상을 해소할 수 있는 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 다차원 정보를 복원하는 복호화(decoding) 과정에서 발생되는 격자무늬 현상으로 인한 정보의 왜곡을 최소화하여 원본과 유사한 복원 정보를 생성할 수 있는 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 세부 묘사가 필요한 다차원 영상 정보를 복원하는데 있어 다른 역합성곱 방식에 비해 우수한 성능을 나타낼 수 있는 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하되, 상기 디컨볼루션 연산이 수행되는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는, 단계, 및 상기 디컨볼루션 연산을 통해 상기 격자무늬가 제거된 상기 제2 다차원 정보를 출력하는 단계를 포함한다.
일 실시예로서, 상기 디컨볼루션 연산을 수행하는 단계는, 하나 이상의 가중치를 포함하는 커널(kernel)의 크기와 상기 간격의 크기를 설정하여 제1 디컨볼루션 연산을 수행함에 의해 해상도가 확장된 제1 필터맵(filter map)을 생성하는 단계, 상기 제1 필터맵에 대해 상기 설정된 간격의 크기에 따라 발생되는 격자무늬에 따른 제2 디컨벌루션 연산을 수행함에 의해 복수의 제2 필터맵을 생성하는 단계, 상기 복수의 제2 필터맵 각각으로부터 상기 격자무늬에 대응하는 복수의 방향으로 픽셀을 평행 이동한 복수의 서브 필터맵을 생성하는 단계, 및 상기 복수의 서브 필터맵과 상기 제1 필터맵을 합성하여 제3 필터맵을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 간격의 크기가 상기 커널의 크기보다 작은 경우, 상기 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵 상의 픽셀에 양각 격자무늬가 생성되고, 상기 간격의 크기가 상기 커널의 크기보다 큰 경우, 상기 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵 상의 픽셀에 음각 격자무늬가 생성될 수 있다.
일 실시예로서, 상기 복수의 제2 필터맵을 생성하는 단계는, 상기 제1 디컨볼루션 연산이 수행되는 간격의 크기 및 상기 격자무늬의 형태에 따라 상기 제2 디컨볼루션 연산의 수행 횟수를 결정하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 서브 필터맵을 생성하는 단계는, 상기 각각의 제2 필터맵에 대해 상기 제1 디컨볼루션 연산이 수행된 간격에 대응하는 픽셀의 개수만큼 상기 제2 필터맵의 픽셀을 평행 이동하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 서브 필터맵을 생성하는 단계는, 상기 각각의 제2 필터맵에 대해 상기 픽셀의 각 경계부를 초과하여 평행 이동해야 하는 경우, 상기 픽셀을 평행 이동하는 방향과 반대 방향으로 이동(warp)시켜 정보 손실을 보상하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 서브 필터맵을 생성하는 단계는, 상기 간격의 크기가 2인 경우, 우향, 하향, 및 우하향 각각에 대응하는 방향으로 상기 픽셀을 평행 이동할 수 있다.
일 실시예로서, 상기 디컨볼루션 연산을 수행하는 단계는, 상기 제3 필터맵에 생성되는 격자 무늬를 상쇄하기 위해 상기 간격의 크기를 1로 고정하여 제3 디컨벌루션 연산을 수행함에 의해 제4 필터맵을 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 제2 다차원 정보를 출력하는 단계는, 상기 제4 필터맵에 활성화 함수를 적용함에 의해 상기 제2 다차원 정보를 출력 데이터로서 획득하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 컴퓨터로 하여금 상기 방법을 수행하도록 하는 컴퓨터 프로그램을 저장한다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 디컨볼루션 연산에 기반한 다차원 정보 생성 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하되, 상기 디컨볼루션 연산이 수행되는 간격의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는, 동작, 및 상기 디컨볼루션 연산을 통해 상기 격자무늬가 제거된 제2 다차원 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함한다.
일 실시예로서, 상기 디컨볼루션 연산을 수행하는 동작은, 하나 이상의 가중치를 포함하는 커널의 크기와 상기 간격의 크기를 설정하여 제1 디컨볼루션 연산을 수행함에 의해 해상도가 확장된 제1 필터맵을 생성하는 동작을 포함할 수 있다.
일 실시예로서, 상기 디컨볼루션 연산을 수행하는 동작은, 상기 제1 필터맵에 대해 상기 설정된 간격의 크기에 따라 발생되는 격자무늬에 따른 제2 디컨벌루션 연산을 수행함에 의해 복수의 제2 필터맵을 생성하는 동작, 상기 복수의 제2 필터맵 각각으로부터 상기 격자무늬에 대응하는 복수의 방향으로 픽셀을 평행 이동한 복수의 서브 필터맵을 생성하는 동작, 및 상기 복수의 서브 필터맵과 상기 제1 필터맵을 합성하여 제3 필터맵을 생성하는 동작을 더 포함할 수 있다.
도 1은 본 발명의 실시예에 따른 개념도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 디컨볼루션 연산에 기반한 다차원 정보 생성 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산이 이루어지는 간격의 크기에 따른 격자무늬 패턴을 도시한 것이다.
도 5는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산을 통해 차원이 확대된 출력 영상에서 발생되는 다양한 형태의 격자무늬 패턴을 도시한 것이다.
도 6 및 도 7은 본 발명의 몇몇 실시예에 따른 복수의 디컨볼루션 연산 각각에 의해 생성되는 복수의 필터맵을 통해 다차원 정보가 출력되는 전 과정을 도시한 것이다.
도 8은 본 발명의 몇몇 실시예에 따른 격자무늬가 발생한 복수의 방향 각각으로 픽셀을 평행 이동하는 예를 도시한 것이다.
도 9는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산을 통해 격자무늬가 상쇄된 다차원 정보를 복원하는 방법과 기존 방법의 성능을 비교한 예이다.
도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 개념도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 다차원 정보 생성 장치(1)는 최종 출력이 최초 입력을 재현하도록 하는 다층 신경망 모델인 자동부호(autoencoder) 모델에 있어, 부호화(encoding)를 통해 압축된 정보를 복원하기 위한 복호화(decoding)를 수행하는 디코더(decoder)로 구현될 수 있다.
도시된 예에서, 다차원 정보 생성 장치(1)는 디컨볼루션(deconvolution) 연산을 통해 복수의 필터맵(filter map)(12 내지 16)을 생성하고, 이러한 과정을 수행함에 의해 입력 데이터(2)로부터 출력 데이터(3)를 얻을 수 있다. 여기서, 입력 데이터(2) 및 출력 데이터(3)는 다차원의 영상 정보 또는 수치 정보일 수 있다. 일 실시예로서, 입력 데이터(2)는 제1 해상도를 가지는 압축된 제1 다차원 영상 정보이고, 출력 데이터(3)는 압축된 제1 다차원 영상 정보로부터 복원된 제1 해상도보다 높은 제2 해상도를 가지는 제2 다차원 영상 정보일 수 있다.
즉, 입력 데이터(2)로서 제1 해상도를 가지는 제1 다차원 영상 정보가 입력되면, 다차원 정보 생성 장치(1)는 입력된 제1 다차원 영상 정보에 대해 복수의 디컨볼루션 연산을 수행한 후 출력되는 출력 데이터(3)로서 제2 해상도를 가지는 제2 다차원 영상 정보를 얻게 된다.
다차원 정보 생성 장치(1)는 디컨볼루션 연산의 수행 시, 제1 다차원 영상 정보에 대해 디컨볼루션 연산이 이루어지는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 디컨볼루션 연산의 결과값을 평행 이동시킨다. 예로서, 디컨볼루션 연산을 통해 생성되는 필터맵 상의 픽셀이 오버랩되거나 픽셀에 빈 공간이 발생하여 격자무늬 패턴이 나타나는 경우, 격자무늬 패턴을 상쇄하기 위해 격자무늬가 발생한 복수의 방향 각각으로 픽셀을 평행 이동시킬 수 있다.
상기와 같은 본 발명의 실시예에 따라, 다차원 정보를 복원하는 복호화 과정에서 디컨볼루션 연산으로 인해 발생되는 격자무늬 현상을 해소할 수 있다. 또한, 격자무늬 현상으로 인한 정보의 왜곡을 최소화하여 원본과 유사한 복원 정보를 생성할 수 있다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 디컨볼루션 연산에 기반한 다차원 정보 생성 방법을 설명하기 위한 순서도이다.
본 실시예에 따른 디컨볼루션 연산에 기반한 다차원 정보 생성 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 다차원 정보 생성 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 2를 참조하면, 먼저, 동작 S21에서, 제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산이 수행된다.
일 실시예로서, 동작 S21은, 제1 다차원 정보를 입력 데이터(2)로 하고, 입력 데이터(2)에 대해 디컨볼루션 연산이 수행되는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는 동작을 포함할 수 있다.
구체적으로, 도 3을 참조하면, 동작 S21은, 복수의 디컨볼루션 연산을 통해 제1 필터맵(도 1의 부호 '12' 참조), 제2 필터맵(도 1의 부호 '13' 참조), 복수의 서브 필터맵(도 1의 부호 '14' 참조), 및 제3 필터맵(도 1의 부호 '15' 참조)을 생성하는 복수의 동작을 포함할 수 있다.
일 실시예로서, 동작 S21은, 입력 데이터(2)에 대해 하나 이상의 가중치를 포함하는 커널(kernel)의 크기와 간격(stride)의 크기를 설정하여 제1 디컨볼루션 연산을 수행함에 의해 해상도가 확장된 제1 필터맵(12)을 생성하는 동작 S211, 제1 필터맵(12)에 대해 상기 설정된 간격의 크기에 따라 발생되는 격자무늬에 따른 제2 디컨벌루션 연산을 수행함에 의해 복수의 제2 필터맵(13)을 생성하는 동작 S212, 복수의 제2 필터맵(13) 각각을 분할하고, 상기 분할된 각각의 제2 필터맵(13)으로부터 상기 격자무늬에 대응하는 복수의 방향으로 픽셀을 평행 이동한 복수의 서브 필터맵(14)을 생성하는 동작 S213, 및 복수의 서브 필터맵(14)과 상기 제1 필터맵(12)을 합성하여 제3 필터맵(15)을 생성하는 동작 S214를 포함할 수 있다.
일 실시예로서, 동작 S211은, 입력 데이터(2)인 제1 다차원 정보에 하나 이상의 가중치를 포함하는 가중치 행렬인 커널(kernel)을 곱하여 얻어지는 가중합 데이터를 일정 크기의 간격(stride)으로 반복적으로 배치하는 방식으로 제1 다차원 정보의 해상도를 확장시키는 동작을 포함할 수 있다.
일 실시예로서, 동작 S212는, 제1 디컨볼루션 연산이 수행되는 간격(stride)의 크기 및 상기 간격의 크기에 따라 제1 필터맵(12)에 발생되는 격자무늬의 형태에 따라 제2 디컨볼루션 연산의 수행 횟수를 결정하는 동작을 포함할 수 있다.
이 때, 간격(stride)의 크기가 커널(kernel)의 크기보다 작은 경우, 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵(12) 상의 픽셀이 오버랩되어 격자무늬가 생성될 수 있다. 또한, 간격(stride)의 크기가 커널(kernel)의 크기보다 큰 경우, 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵(12) 상의 픽셀에 빈 공간이 발생되어 격자무늬가 생성될 수 있다.
예로서, 제1 디컨볼루션 연산이 수행된 간격의 크기가 2인 경우, 제1 디컨볼루션에 의해 생성되는 제1 필터맵(12) 상에 격자의 간격이 1이고 상하 좌우로 건너뛰는 형태의 격자무늬가 생성될 수 있다. 이 경우, 격자무늬의 형태에 대응하는 방향, 예컨대, 하향, 우향, 및 우하향의 세 가지 방향으로 격자무늬를 상쇄하기 위해, 제1 필터맵(12)의 3배수에 해당하는 제2 필터맵(13)을 생성할 수 있다. 이를 위해, 제2 디컨볼루션 연산을 3회 수행하여 3배수의 제2 필터맵(13)을 생성할 수 있다.
일 실시예로서, 동작 S213은, 복수의 제2 필터맵(13) 각각을 분할하고, 분할된 각각의 제2 필터맵(13)에 대해 상기 제1 디컨볼루션 연산이 수행된 간격(stride)에 대응하는 격자의 간격 만큼 상기 픽셀을 평행 이동하여 복수의 서브 필터맵(14)을 생성하는 동작을 포함할 수 있다. 이 때, 각각의 서브 필터맵(14)은 제2 필터맵(13) 각각에 대해 격자무늬에 대응하는 서로 다른 방향으로 픽셀을 평행 이동하여 생성될 수 있다. 예로서, 간격의 크기가 2인 경우, 우향, 하향, 우하향 각각에 대응하는 방향으로 픽셀을 평행 이동하여 3개의 서브 필터맵을 생성할 수 있다.
또한, 동작 S213은, 분할된 각각의 제2 필터맵(13)에 대해 픽셀의 각 경계부를 초과하는 정보는 상기 픽셀을 평행 이동하는 방향과 반대 방향으로 이동(warp)시켜 정보 손실을 보상하는 동작을 포함할 수 있다.
일 실시예로서, 동작 S214는, 복수의 서브 필터맵(14)과 제1 필터맵(12)을 격자 단위로 합성하여 제1 필터맵(12)의 정보와 동일한 해상도를 가지면서 격자 무늬를 상쇄시킬 수 있는 정보를 새롭게 합성하는 동작을 포함할 수 있다. 이에 따라, 격자 무늬가 상쇄된 제3 필터맵(15)이 생성될 수 있다.
일 실시예로서, 동작 S21은, 제3 필터맵(15)에 생성되는 격자 무늬를 상쇄하기 위해 간격의 크기를 1로 고정하여 제3 디컨볼루션 연산을 수행함에 의해 제4 필터맵(16)을 생성하는 동작을 더 포함할 수 있다. 여기서, 제3 필터맵(15)에 생성되는 격자 무늬는, 복수의 서브 필터맵(14)과 제1 필터맵(12)을 합성하는 과정에서 서로 상이한 정보가 합성됨으로 인해 예기치 못한 특이값(artifact)이 발생한 것일 수 있다. 이 경우, 다시 발생된 격자무늬를 상쇄하기 위해 추가적인 합성곱 연산으로서 제3 디컨볼루션 연산을 수행할 수 있다. 이 때, 추가적인 합성곱 연산으로 발생될 수 있는 격자무늬 현상을 최소화하기 위해, 제3 디컨볼루션 연산의 간격을 1로 고정할 수 있다. 이에 따라, 정돈되지 않은 합성된 정보를 고르게 펴주는 평탄화(smoothing) 과정이 이루어질 수 있다.
마지막으로, 동작 S22에서, 디컨볼루션 연산을 통해 제1 다차원 정보보다 높은 해상도를 가지는 제2 다차원 정보가 출력된다. 일 실시예로서, 동작 S22는, 제4 필터맵(16)에 활성화 함수를 적용함에 의해 제2 다차원 정보를 출력 데이터로서 획득하는 동작을 포함할 수 있다.
상기와 같이, 본 발명의 실시예에 따른 디컨볼루션 연산에 기반한 다차원 정보 생성 방법에 의하면, 다차원 정보를 복원하는 복호화 과정에서, 디컨볼루션 연산으로 인해 발생되는 격자무늬 현상을 해소하고, 원본과 유사한 복원 정보를 생성할 수 있다. 또한, 세부 묘사가 필요한 다차원 영상 정보를 복원하는데 있어 다른 역합성곱 방식에 비해 우수한 성능을 나타낼 수 있다.
도 4는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산이 이루어지는 간격의 크기에 따른 격자무늬 패턴을 도시한 것이다. 도 4를 참조하면, 디컨볼루션 연산을 통해 다차원 정보를 복원하는 복호화 과정에서, 디컨볼루션 연산이 이루어지는 간격(stride)의 크기에 따라 서로 다른 격자 간격을 가지는 격자무늬 패턴이 생성될 수 있다.
도시된 예에서, 디컨볼루션 연산의 수행 시, 커널(kernel)의 크기가 3*3이고, 간격(stride)의 크기가 2 내지 6인 경우에 있어, 각각의 간격의 크기에 따라 서로 다른 형태의 격자무늬 패턴이 생성될 수 있다. 예로서, 간격의 크기가 2인 경우(42), 간격의 크기가 커널의 크기보다 작으므로 디컨볼루션 연산을 통해 생성되는 출력 정보 상에 픽셀이 오버랩되고, 이에 따라 양각 격자무늬(421)가 생성될 수 있다.
또한, 간격의 크기가 각각 4, 5, 6인 경우(44, 45, 46), 간격의 크기가 커널의 크기보다 크므로 디컨볼루션 연산을 통해 생성되는 출력 정보의 픽셀에 빈 공간이 발생되고, 이에 따라 픽셀 내 값이 존재하지 않는 음각 격자무늬(441, 442, 443)가 생성될 수 있다. 또한, 간격의 크기가 3인 경우(43)에는 출력 정보 상에 픽셀의 오버랩 또는 빈 공간이 발생되지는 않으나, 입력 정보에 대한 디컨볼루션 연산량을 최소화하기 위해 연산 대상을 건너뜀으로 인해 정보의 파편화가 발생할 수 있다. 한편, 간격의 크기가 1인 경우(41)에는 격자무늬 현상이 발생하지는 않으나, 연산이 비효율적으로 이루어지는 문제가 있다.
따라서, 효율적인 디컨볼루션 연산이 수행될 수 있도록 커널의 크기와 그에 맞는 간격의 크기를 설정하는 것이 필요하다. 예로서, 커널의 크기보다 간격의 크기가 현저히 큰 경우 디컨볼루션 연산이 이루어질 수는 있으나, 의미가 없는 형태의 연산 방식이 될 수 있다.
도 5는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산을 통해 차원이 확대된 출력 영상에서 발생되는 다양한 형태의 격자무늬 패턴을 도시한 것이다. 도 5를 참조하면, 디컨볼루션 연산을 통해 다차원 정보를 복원하는 복호화 과정에서, 서로 다른 입력 영상로부터 디컨볼루션 연산을 통해 차원이 확대된 출력 영상에서 간격(stride)의 크기에 따라 서로 다른 형태의 격자무늬 패턴이 생성되는 예를 보여준다.
도시된 예에서, 3*3 해상도를 가지는 제1 입력 영상(51) 및 제2 입력 영상(52) 각각에 대한 디컨볼루션 연산을 수행함에 있어, 커널의 크기를 3*3으로 설정하고 간격의 크기를 각각 1, 2, 3, 4, 5, 6으로 설정하는 경우, 각각의 차원이 5*5, 7*7, 9*9, 12*12, 15*15, 18*18으로 확대된 출력 영상을 얻을 수 있다. 이 때, 간격의 크기에 따라 서로 다른 형태의 격자무늬가 출력 영상에 생성될 수 있다. 예로서, 간격의 크기가 커널의 크기보다 작은 경우 픽셀 오버랩에 의한 양각 격자무늬 패턴이 생성되고, 간격의 크기가 커널의 크기보다 큰 경우 픽셀에 빈 공간이 형성되어 음각 격자무늬 패턴이 생성될 수 있다.
이 때, 간격의 크기가 커널의 크기보다 크면 클수록 출력 영상 내에 값이 존재하는 픽셀의 영역보다 값이 존재하지 않는 픽셀의 영역이 늘어나게 된다. 따라서, 디컨볼루션 연산을 통해 차원은 확대되었으나 비어 있는 영역이 늘어나는 무의미가 연산이 되지 않도록 커널 및 간격의 크기를 적절하게 설정하는 것이 필요하다.
도 6 및 도 7은 본 발명의 몇몇 실시예에 따른 복수의 디컨볼루션 연산 각각에 의해 생성되는 복수의 필터맵을 통해 다차원 정보가 출력되는 전 과정을 도시한 것이다. 도 6을 참조하면, 본 발명의 실시예에 따른 다차원 정보 생성 장치(1)는 입력 데이터(11)에 대해 순차적으로 이루어지는 복수의 디컨볼루션 연산을 적용하여 차원이 확대된 출력 데이터(17)를 출력할 수 있다.
도시된 예에서, 다차원 정보 생성 장치(1)는 소정 크기의 높이(H)*폭(W)*채널(C)을 가지는 입력 데이터(11)에 대한 제1 디컨볼루션 연산을 통해 제1 필터맵(12)을 생성할 수 있다. 예로서, 제1 디컨볼루션 연산(110)을 수행함에 있어, 커널의 크기는 3*3로 설정되고, 간격의 크기는 2로 설정될 수 있다. 이 때, 다차원 정보 생성 장치(1)는 입력 데이터(11)의 첫번째 픽셀값과 커널에 포함된 가중치들 각각을 곱한 값들을 제1 필터맵(12)의 제1 영역에 포함되는 픽셀들 각각에 매핑시키고, 입력 데이터(11)의 두번째 픽셀값과 커널에 포함된 가중치들 각각을 곱한 값들을 제1 필터맵(12)의 제1 영역에서 우측으로 두 픽셀만큼 이동시킨 제2 영역에 포함되는 픽셀들 각각에 매핑시킬 수 있다. 이와 같은 방식으로 입력 데이터(11)의 전체 픽셀들을 제1 디컨볼루션 연산(110)을 통해 차원이 확대된 제1 필터맵(12)의 픽셀에 매핑시킬 수 있다.
상기와 같은 제1 디컨볼루션 연산(110)을 통해 입력 데이터(11)로부터 차원이 확대된 제1 필터맵(12)을 얻을 수 있으나, 설정된 커널과 간격의 크기에 따라 제1 필터맵(12) 상에 픽셀이 오버랩되거나 빈 공간이 발생됨으로 인해 격자무늬 패턴이 생성될 수 있다. 이러한 격자무늬 패턴으로 인해 제1 필터맵(12) 상의 정보는 입력 데이터(11)와 상이한 왜곡된 정보를 포함하게 될 수 있다.
일 실시예로서, 다차원 정보 생성 장치(1)는 제1 필터맵(12)에 생성되는 격자무늬 패턴을 상쇄하기 위해 복수의 제2 디컨볼루션 연산(120)을 수행할 수 있다. 이 때, 제2 디컨볼루션 연산(120)의 출력 크기는 제1 디컨볼루션 연산(110)이 이루어진 간격의 크기에 따라 발생되는 격자무늬의 형태에 따라 격자무늬가 발생한 방향에 대응하는 N배수 크기로 결정될 수 있고, 이에 따라 N배수의 제2 필터맵(13)이 생성될 수 있다.
예로서, 제1 디컨볼루션 연산(110)을 수행 시 커널의 크기가 3*3이고, 간격의 크기가 2로 설정된 경우, 출력된 제1 필터맵(12) 상에 격자 간격이 1이고, 상하좌우로 건너뛰는 형태의 격자무늬가 생성될 수 있다. 즉, 격자무늬가 하나의 좌측 최상단 픽셀을 기준으로 우향, 하향, 우하향의 세 방향으로 생성되므로, 세 방향에 대응하는 3배수 만큼의 제2 디컨볼루션 연산(120)이 수행되도록 한다. 이에 따라, 세 번의 제2 디컨볼루션 연산(120)을 수행함에 의해 세 개의 제2 필터맵(13)이 생성될 수 있다.
일 실시예로서, 다차원 정보 생성 장치(1)는 N배수 크기의 제2 디컨볼루션 연산(120)을 통해 생성된 N배수의 제2 필터맵(13) 각각을 N등분하고, 각각의 제2 필터맵(13) 상의 정보의 개수를 제1 필터맵(12) 상의 정보의 개수와 일치시킬 수 있다. 그 다음으로, 다차원 정보 생성 장치(1)는 제2 필터맵(13) 상에 제1 디컨볼루션 연산(110)이 수행되지 않은 영역, 즉 격자무늬가 생성된 영역의 방향으로 각각의 정보를 평행 이동시킴에 의해 복수의 서브 필터맵(14)을 생성할 수 있다.
예로서, 도 8을 참조하면, 다차원 정보 생성 장치(1)는 제1 필터맵(12)에 대한 제2 디컨볼루션 연산(120)을 통해 생성된 3개의 제2 필터맵(13) 각각을 분할하고, 각각의 제2 필터맵(13)의 픽셀을 격자무늬가 생성된 우향, 하향, 우하향의 세 방향으로 평행 이동함에 의해 3개의 서브 필터맵(141, 142, 143)을 생성할 수 있다. 즉, 제1 서브 필터맵(141), 제2 서브 필터맵(142), 제3 서브 필터맵(143) 각각은 제2 필터맵(13) 상의 픽셀 값을 각각 우향, 하향, 우하향으로 평행 이동하여 생성될 수 있다. 이 때, 픽셀 값을 각 방향으로 평행 이동 시, 해당 방향의 종단 경계부를 초과하여 이동해야 하는 경우, 픽셀 값을 해당 방향과 반대 방향의 종단에 위치하는 픽셀로 평행 이동시킴에 의해 정보 손실을 방지할 수 있다.
일 실시예로서, 다차원 정보 생성 장치(1)는 격자무늬에 대응하는 각각의 방향으로 픽셀 값을 평행 이동함에 의해 생성된 복수의 서브 필터맵(14)과 제1 필터맵(12)을 격자 단위로 합성하여 제3 필터맵(15)을 생성할 수 있다. 제3 필터맵(15)은 제1 필터맵(12)과, 제1 필터맵(12) 상에 생성된 격자무늬를 상쇄시킬 수 있는 각각의 서브 필터맵(14)을 합성하여 생성된 것이므로, 대부분의 격자무늬가 상쇄된 출력 정보를 얻을 수 있다.
그러나, 복수의 서브 필터맵(14)과 제1 필터맵(12)의 합성 과정에서 서로 상이한 정보가 합성되었기 때문에 예기치 못한 특이값(artifact)이 생성될 수 있다. 따라서, 다차원 정보 생성 장치(1)는 이러한 특이값을 상쇄하기 위해 추가적인 제3 디컨볼루션 연산(150)을 수행할 수 있다.
즉, 다차원 정보 생성 장치(1)는 제3 필터맵(15) 상에 생성되는 격자무늬를 상쇄하기 위해 간격의 크기를 1로 고정하여 제3 디컨볼루션 연산(150)을 수행함에 의해 제4 필터맵(16)을 생성할 수 있다. 이를 통해 제3 필터맵(15) 상에 존재하는 정돈되지 않은 합성된 정보를 고르게 펴주는 평탄화(smoothing) 과정이 이루어질 수 있다.
일 실시예로서, 다차원 정보 생성 장치(1)는 제4 필터맵(16)에 활성화 함수(160)를 적용함에 의해 최종적인 출력 데이터(17)를 획득할 수 있다. 최종적인 출력 데이터(17)는 입력 데이터(11)로부터 차원이 확대된 복원 정보를 포함하고 격자무늬가 상쇄된 정보를 포함할 수 있다.
상기와 같은 본 발명의 실시예에 따른 다차원 정보 생성 장치(1)는 다차원 정보를 복원하는 복호화 과정에서, 디컨볼루션 연산으로 인해 발생되는 격자무늬 현상을 해소하여 원본과 유사한 복원 정보를 생성할 수 있다.
도 9는 본 발명의 몇몇 실시예에 따른 디컨볼루션 연산을 통해 격자무늬가 상쇄된 다차원 정보를 복원하는 방법과 기존 방법의 성능을 비교한 예이다. 도 9를 참조하면, 본 발명의 실시예에 따른 다차원 정보 생성 방법과 기존 방법의 성능을 비교하기 위한 메트릭(metric)으로서 MSE(Mean Squared Error), MAE(Mean Absolute Error), PSNR(peak signal-to-noise ratio), 및 SSIM(structural similarity) 등이 사용될 수 있다.
MSE(Mean Squared Error)와 MAE(Mean Absolute Error)는 모델에 의한 오차를 측정하는 지표로서, 그 값이 작을수록 모델의 성능이 우수한 것으로 평가할 수 있다. PSNR(peak signal-to-noise ratio)와 SSIM(structural similarity)는 영상의 품질을 특정하는 지표로서, 그 값이 클수록 영상이 품질이 좋은 것으로 평가할 수 있다.
도시된 예에서, 합성곱 오토인코더(Convolutional Autoencoders) 모델과 대립적 오토인코더(adversarial Autoencoders) 모델 각각에 대해, 본 발명의 실시예에 따른 다차원 정보 생성 방법(91, 92)과 기존의 디컨볼루션 연산 방법인 Plain, NNr, PixelTCL 방법의 성능을 비교한 결과를 보여준다.
Plain 방법은 기본적인 역합성곱만을 수행하는 것이고, NNr(nearest-neighbor resize deconvolution) 방법은 근접한 픽셀 값들을 활용하여 역합성곱을 수행하는 것이다 또한, PixelTCL(pixel transposed convolutional networks) 방법은 여러 단계의 합성곱 연산 후 격자무늬 형태로 재조합을 수행하는 것이다.
도시된 표에서, 합성곱 오토인코더 모델과 대립적 오토인코더 모델 모두에 있어, 본 발명의 실시예에 따른 다차원 정보 생성 방법(91, 92)과 기존 방법들에 의한 성능을 비교하면, 다차원 정보 생성 방법(91, 92)의 MSE와 MAE가 가장 작고, PSNR과 SSIM이 가장 크므로, 기존 방법들에 비해 우수한 성능을 보여줌을 알 수 있다.
상기와 같이, 본 발명의 실시예에 따른 다차원 정보 생성 방법에 의하면, 기존의 디컨볼루션 연산에 비해 성능이 우수하면서도 정보를 왜곡시키는 격자무늬 패턴이 제거된 복원 정보를 얻을 수 있다.
도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 10에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(105)은 제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하는 동작, 및 상기 디컨볼루션 연산을 통해 격자무늬 특이값(checkerboard artifact)이 상쇄된 제2 다차원 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고, 상기 디컨볼루션 연산을 수행하는 동작은, 상기 제1 다차원 정보를 입력 데이터로 하고, 상기 입력 데이터에 대해 디컨볼루션 연산이 수행되는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는 동작을 포함할 수 있다.
지금까지 도 1 내지 도 10을 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하되, 상기 디컨볼루션 연산이 수행되는 간격(stride)의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는, 단계; 및
    상기 디컨볼루션 연산을 통해 상기 격자무늬가 제거된 상기 제2 다차원 정보를 출력하는 단계를 포함하고,
    상기 디컨볼루션 연산을 수행하는 단계는,
    하나 이상의 가중치를 포함하는 커널(kernel)의 크기와 상기 간격의 크기를 설정하여 제1 디컨볼루션 연산을 수행함에 의해 해상도가 확장된 제1 필터맵(filter map)을 생성하는 단계;
    상기 제1 필터맵에 대해 상기 설정된 간격의 크기에 따라 발생되는 격자무늬에 따른 제2 디컨벌루션 연산을 수행함에 의해 복수의 제2 필터맵을 생성하는 단계;
    상기 복수의 제2 필터맵 각각으로부터 상기 격자무늬에 대응하는 복수의 방향으로 픽셀을 평행 이동한 복수의 서브 필터맵을 생성하는 단계; 및
    상기 복수의 서브 필터맵과 상기 제1 필터맵을 합성하여 제3 필터맵을 생성하는 단계를 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 간격의 크기가 상기 커널의 크기보다 작은 경우, 상기 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵 상의 픽셀에 양각 격자무늬가 생성되고,
    상기 간격의 크기가 상기 커널의 크기보다 큰 경우, 상기 제1 디컨볼루션 연산을 통해 생성되는 제1 필터맵 상의 픽셀에 음각 격자무늬가 생성되는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  4. 제1 항에 있어서,
    상기 복수의 제2 필터맵을 생성하는 단계는,
    상기 제1 디컨볼루션 연산이 수행되는 간격의 크기 및 상기 격자무늬의 형태에 따라 상기 제2 디컨볼루션 연산의 수행 횟수를 결정하는 단계를 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  5. 제1 항에 있어서,
    상기 복수의 서브 필터맵을 생성하는 단계는,
    상기 각각의 제2 필터맵에 대해 상기 제1 디컨볼루션 연산이 수행된 간격에 대응하는 픽셀의 개수만큼 상기 제2 필터맵의 픽셀을 평행 이동하는 단계를 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  6. 제1 항에 있어서,
    상기 복수의 서브 필터맵을 생성하는 단계는,
    상기 각각의 제2 필터맵에 대해 상기 픽셀의 각 경계부를 초과하여 평행 이동해야 하는 경우, 상기 픽셀을 평행 이동하는 방향과 반대 방향으로 이동(warp)시켜 정보 손실을 보상하는 단계를 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  7. 제1 항에 있어서,
    상기 복수의 서브 필터맵을 생성하는 단계는,
    상기 간격의 크기가 2인 경우, 우향, 하향, 및 우하향 각각에 대응하는 방향으로 상기 픽셀을 평행 이동하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  8. 제1 항에 있어서,
    상기 디컨볼루션 연산을 수행하는 단계는,
    상기 제3 필터맵에 생성되는 격자 무늬를 상쇄하기 위해 상기 간격의 크기를 1로 고정하여 제3 디컨벌루션 연산을 수행함에 의해 제4 필터맵을 생성하는 단계를 더 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  9. 제8 항에 있어서,
    상기 제2 다차원 정보를 출력하는 단계는,
    상기 제4 필터맵에 활성화 함수를 적용함에 의해 상기 제2 다차원 정보를 출력 데이터로서 획득하는 단계를 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 방법.
  10. 컴퓨터로 하여금 제1 항, 제3 항 내지 제9 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된,
    컴퓨터 판독 가능한 비일시적 기록 매체.
  11. 하나 이상의 프로세서;
    외부장치와 통신하는 통신 인터페이스;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    제1 다차원 정보로부터 제2 다차원 정보를 복원하기 위한 디컨볼루션(deconvolution) 연산을 수행하되, 상기 디컨볼루션 연산이 수행되는 간격의 크기에 따라 발생되는 격자무늬에 대응하는 방향으로 상기 디컨볼루션 연산의 결과값을 평행 이동시키는, 동작, 및
    상기 디컨볼루션 연산을 통해 상기 격자무늬가 제거된 제2 다차원 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고,
    상기 디컨볼루션 연산을 수행하는 동작은,
    하나 이상의 가중치를 포함하는 커널의 크기와 상기 간격의 크기를 설정하여 제1 디컨볼루션 연산을 수행함에 의해 해상도가 확장된 제1 필터맵을 생성하는 동작,
    상기 제1 필터맵에 대해 상기 설정된 간격의 크기에 따라 발생되는 격자무늬에 따른 제2 디컨벌루션 연산을 수행함에 의해 복수의 제2 필터맵을 생성하는 동작,
    상기 복수의 제2 필터맵 각각으로부터 상기 격자무늬에 대응하는 복수의 방향으로 픽셀을 평행 이동한 복수의 서브 필터맵을 생성하는 동작, 및
    상기 복수의 서브 필터맵과 상기 제1 필터맵을 합성하여 제3 필터맵을 생성하는 동작을 포함하는,
    디컨볼루션 연산에 기반한 다차원 정보 생성 장치.
  12. 삭제
  13. 삭제
KR1020210031715A 2021-03-11 2021-03-11 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치 KR102448147B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210031715A KR102448147B1 (ko) 2021-03-11 2021-03-11 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210031715A KR102448147B1 (ko) 2021-03-11 2021-03-11 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치

Publications (2)

Publication Number Publication Date
KR20220127438A KR20220127438A (ko) 2022-09-20
KR102448147B1 true KR102448147B1 (ko) 2022-09-28

Family

ID=83446732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210031715A KR102448147B1 (ko) 2021-03-11 2021-03-11 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치

Country Status (1)

Country Link
KR (1) KR102448147B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102553146B1 (ko) 2018-09-13 2023-07-07 삼성전자주식회사 영상 처리 장치 및 그 동작방법

Also Published As

Publication number Publication date
KR20220127438A (ko) 2022-09-20

Similar Documents

Publication Publication Date Title
JP6856609B2 (ja) 畳み込みニューラルネットワークの畳み込み層における演算を実行する方法及び装置
JP6775565B2 (ja) 畳み込みニューラルネットワークの畳み込み層における演算を実行するための方法、装置、メモリ及びコンピュータプログラム
US20200050939A1 (en) Neural network model deployment method, prediction method and related device
JP6713036B2 (ja) 折り畳まれた特徴データに対して畳み込み演算を実行するための方法および装置
JP7108061B2 (ja) 歪んだドキュメント画像の矯正方法及び装置
JP6432214B2 (ja) 画像処理装置、画像処理方法、記憶媒体及びプログラム
KR20220124622A (ko) 이미지 압축 방법 및 이미지 압축 장치
WO2011111819A1 (ja) 画像処理装置、画像処理プログラム、および、画像を生成する方法
US20150332435A1 (en) Image processing apparatus, image processing method, and computer-readable recording medium
JP2007193508A (ja) 画像処理装置及び画像処理プログラム
JP2023523491A (ja) 畳み込みニューラル・ネットワークを用いた超解像処理
US20230049471A1 (en) Method and apparatus for operating image data
Sun et al. Spatially-adaptive feature modulation for efficient image super-resolution
US20230153946A1 (en) System and Method for Image Super-Resolution
JPWO2013161940A1 (ja) 画像処理方法、画像処理システム、画像処理装置および画像処理プログラム
KR102448147B1 (ko) 디컨볼루션 연산에 기반한 다차원 정보 생성 방법, 그리고 이를 구현하기 위한 장치
KR102119132B1 (ko) 에지 컴퓨팅용 초고해상도 영상을 복원하기 위한 초고해상도 영상 복원 장치 및 방법
JP7303783B2 (ja) 不明のダウンスケーリングカーネルで生成された画像をアップスケールするための手法
JP6276596B2 (ja) 空間超解像・階調補間装置及びプログラム
JP5345138B2 (ja) 多格子スパース性ベースのフィルタリングのための方法及び装置
US10958906B2 (en) Encoding data arrays
CN108960203B (zh) 一种基于fpga异构计算的车辆检测方法
WO2011121563A1 (en) Detecting saliency in an image
KR102417967B1 (ko) 다중 출력 아키텍처를 통한 점진적 초해상도 영상 변환 장치 및 방법
Li et al. Compression artifact removal with stacked multi-context channel-wise attention network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right