KR20220070505A - 미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도 - Google Patents

미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도 Download PDF

Info

Publication number
KR20220070505A
KR20220070505A KR1020227014209A KR20227014209A KR20220070505A KR 20220070505 A KR20220070505 A KR 20220070505A KR 1020227014209 A KR1020227014209 A KR 1020227014209A KR 20227014209 A KR20227014209 A KR 20227014209A KR 20220070505 A KR20220070505 A KR 20220070505A
Authority
KR
South Korea
Prior art keywords
dnn
tensor
weight
image
image processing
Prior art date
Application number
KR1020227014209A
Other languages
English (en)
Other versions
KR102621355B1 (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 텐센트 아메리카 엘엘씨
Publication of KR20220070505A publication Critical patent/KR20220070505A/ko
Application granted granted Critical
Publication of KR102621355B1 publication Critical patent/KR102621355B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

프로세서로 하여금 높이, 폭 및 채널 개수를 포함하는 입력 저해상도(LR) 이미지를 획득하고, 입력 LR 이미지에 기초하여 특징 텐서를 계산하도록 구성된 특징 학습 심층 신경망(DNN)을 구현하며, 업스케일링 DNN에 의해, 특징 학습 DNN에 의해 계산된 특징 텐서에 기초하여 입력 LR 이미지보다 더 높은 해상도를 갖는 고해상도(HR) 이미지를 생성하는 것을 수행하도록 구성된 컴퓨터 코드를 포함하는 방법 및 장치가 포함되며, 업스케일링 DNN의 네트워킹 구조는 상이한 스케일 인자에 따라 다르고, 특징 학습 DNN의 네트워킹 구조는 상이한 스케일 인자의 각각에 대해 동일한 구조이다.

Description

미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도
본 출원은 2020년 8월 14일에 출원된 미국 가출원 제63/065,608호 및 2021년 6월 30일에 출원된 미국 출원 제17/363,280호에 대한 우선권을 주장하며, 이는 그 전체가 본 출원에 참조로서 명시적으로 포함된다.
본 개시는 예시적인 실시예에 따르면, 하나의 모델 인스턴스만이 상이한 스케일 인자에 대해 다중 스케일 인자 단일 이미지 슈퍼 해상도(single image super resolution, SISR)를 달성하는 데 사용될 수 있는, 예를 들어 다수의 이진 미세 구조 마스크로부터의 안내인 SISR 프레임워크에 관한 것이다.
ISO/IEC MPEG(JTC 1/SC 29/WG 11)은 미래 비디오 코딩 기술의 표준화에 대한 잠재적인 필요를 적극적으로 찾고 있다. ISO/IEC JPEG은 심층 신경망(Deep Neural Networks, DNN)을 사용한 AI 기반 신경 이미지 압축에 중점을 둔 JPEG-AI 그룹을 설립하였다. 중국 AVS 표준은 또한 신경 이미지 및 비디오 압축 기술을 연구하기 위해 AVS-AI 특별 그룹을 형성하였다. 시맨틱 분류, 타깃 검출/인식, 타깃 추적, 비디오 품질 향상 등과 같은 광범위한 비디오 애플리케이션에서 AI 기술 및 DNN의 성공은 DNN 모델 압축에 대해 강력한 필요성을 제기하고, MPEG 및 AVS 모두 저장소 및 계산 모두를 절약하기 위해 DNN 모델을 압축하는 신경망 압축 표준(Neural Network Compression standard, NNR)에 대해 연구하고 있다.
동시에, 4K(3840x2160) 및 8K(7680x4320) 해상도와 같은 고해상도(high-resolution, HR) 디스플레이의 인기가 높아짐에 따라, 이미지/비디오 SR은 매칭 HR 이미지/비디오 컨텐츠를 생성하기 위해 업계에서 큰 주목을 받고 있다. SIST는 대응하는 저해상도(low-resolution, LR) 이미지로부터 HR 이미지를 생성하는 것을 목표로 하며, 감시 영상, 의료 영상, 몰입형 경험 등에 폭넓게 적용된다. 실제 시나리오에서, SR 시스템은 다양한 사용자에 맞게 조정된 다양한 스케일 인자로 LR 이미지를 확대할 필요가 있다.
SISR은 최근 DNN의 발전으로 인해 큰 성공을 거두었다. 그러나, 이러한 SISR 방법은 각각의 스케일 인자를 개별 작업으로 처리하고 각각의 스케일 인자(예를 들어, ×2, ×3, 또는 ×4)에 대한 개별 모델을 훈련한다. 결과적으로, 이러한 모든 모델 인스턴스는 저장되고 배포되어야 하며, 이들은 특히 모바일 장치와 같은 제한된 저장 및 계산 자원을 갖는 시나리오에서 현실적으로는 너무 비싸다.
따라서, 이러한 문제점에 대한 기술적 해결수단이 요구되고 있다.
하나 이상의 상이한 기술적 문제를 해결하기 위해, 본 개시는 예시적인 실시예에 따라 하나 이상의 뷰포트 마진 업데이트에 대한 몰입형 비디오를 전달하면서 네트워크 오버헤드 및 서버 계산 오버헤드를 줄이기 위한 기술적 해결수단을 제공한다.
컴퓨터 프로그램 코드를 저장하도록 구성된 메모리 및 컴퓨터 프로그램 코드에 액세스하고 컴퓨터 프로그램 코드에 의해 명령된 대로 작동하도록 구성된 프로세서 또는 프로세서들을 포함하는 방법 및 장치가 포함된다. 컴퓨터 프로그램은 적어도 하나의 프로세서로 하여금 높이, 폭 및 채널 개수를 포함하는 입력 저해상도(low resolution, LR) 이미지를 획득하도록 구성된 획득 코드, 적어도 하나의 프로세서로 하여금 입력 LR 이미지에 기초하여 특징 텐서(feature tensor)를 계산하도록 구성된 특징 학습 심층 신경망(deep neural network, DNN)을 구현하도록 구성된 구현 코드, 적어도 하나의 프로세서로 하여금 업스케일링 DNN에 의해, 특징 학습 DNN에 의해 계산된 특징 텐서에 기초하여 입력 LR 이미지보다 더 높은 해상도를 갖는 고해상도(high resolution, HR) 이미지를 생성하도록 구성된 생성 코드를 포함하며, 업스케일링 DNN의 네트워킹 구조는 상이한 스케일 인자에 따라 다르고, 특징 학습 DNN의 네트워킹 구조는 상이한 스케일 인자의 각각에 대해 동일한 구조이다.
예시적인 실시예에 따르면, 생성 코드는, 테스트 단계에서, 적어도 하나의 프로세서로 하여금 입력 LR 이미지 및 타깃 스케일 인자에 기초하여 특징 학습 DNN에 대해 마스킹된 가중치 계수를 생성하고, 마스킹된 가중치 계수에 기초하여, 선택된 가중치 계수에 기초하여 타깃 스케일 인자에 대해 업스케일링 DNN의 서브네트워크를 선택하고 추론 계산을 통해 특징 텐서를 계산하도록 구성된 추가의 코드이다.
예시적인 실시예에 따르면, HR 이미지를 생성하는 것은 선택된 가중치 계수를 사용하여 업스케일링 모듈을 통해 특징 텐서를 통과하는 것에 기초한다.
예시적인 실시예에 따르면, 특징 학습 DNN과 업스케일링 DNN 중 적어도 하나의 가중치 계수는 c1, k1, k2, k3, c2의 크기를 갖는 5차원(5D) 텐서를 포함하고, 특징 학습 DNN과 업스케일링 DNN 중 적어도 하나의 계층의 입력은 h1, w1, d1, c1의 크기를 갖는 4차원(4D) 텐서 A를 포함하며, 계층의 출력은 h2, w2, d2, c2의 크기를 갖는 4D 텐서 B이고, c1, k1, k2, k3, c2, h1, w1, d1, c1, h2, w2, d2 및 c2의 각각은 1보다 크거나 같은 정수이며, h1, w1, d1은 텐서 A의 높이, 무게 및 깊이이고, h2, w2, d2는 텐서 B의 높이, 무게 및 깊이이며, c1 및 c2는 각각 입력 및 출력 채널의 개수이고, k1, k2, k3은 컨볼루션 커널의 크기이며 각각 높이, 무게 및 깊이 축에 대응한다.
예시적인 실시예에 따르면, 적어도 하나의 프로세서로 하여금 5D 텐서를 3차원(3D) 텐서로 재형상화하고 5D 텐서를 2차원(2D) 매트릭스로 재형상화하도록 구성된 추가의 재형상화 코드가 있다.
예시적인 실시예에 따르면, 3D 텐서는 c' 1, c' 2, k 크기이며,
Figure pct00001
이고, 2D 매트릭스는 c'1, c'2 크기이며,
Figure pct00002
이다.
예시적인 실시예에 따르면, 훈련 단계에서, 적어도 하나의 프로세서로 하여금 마스킹된 가중치 계수를 고정하도록 구성된 고정 코드, 적어도 하나의 프로세서로 하여금 가중치 채우기 모듈을 통해 특징 학습 DNN의 가중치 및 업스케일링 DNN의 가중치에 대한 학습 프로세스에 기초하여 업데이트된 가중치 계수를 획득하도록 구성된 획득 코드, 및 적어도 하나의 프로세서로 하여금 모델 인스턴스 및 마스크를 획득하기 위해 업데이트된 가중치 계수에 기초하여 미세 구조 프루닝 프로세스를 수행하도록 구성된 수행 코드가 추가로 있다.
예시적인 실시예에 따르면, 학습 프로세스는 가중치 계수를 랜덤 초기 값 및 이전에 학습된 모델의 대응하는 가중치 중 어느 하나로 설정함으로써 0 값을 갖는 가중치 계수를 재초기화하는 것을 포함한다.
예시적인 실시예에 따르면, 미세 구조 프루닝 프로세서는 3D 텐서 및 2D 매트릭스 중 적어도 하나의 복수의 미세 구조 블록의 각각에 대한 손실을 계산하고, 계산된 손실에 기초하여 미세 구조 블록의 순위를 매기는 것을 포함한다.
예시적인 실시예에 따르면, 미세 구조 프루닝 프로세스는 왜곡 손실이 임계값에 도달하는지 여부에 기초하여 미세 구조 프루닝 프로세스를 중지하도록 결정하는 것을 단계를 더 포함한다.
개시된 주제의 추가 특징, 특성 및 다양한 이점은 다음의 상세한 설명 및 첨부 도면으로부터 더욱 명백해질 것이다.
도 1은 실시예에 따른 단순화된 개략도이다.
도 2는 실시예에 따른 단순화된 흐름도이다.
도 3은 실시예에 따른 단순화된 블록도이다.
도 4는 실시예에 따른 단순화된 블록도이다.
도 5는 실시예에 따른 단순화된 흐름도이다.
도 6은 실시예에 따른 단순화된 블록도이다.
도 7은 실시예에 따른 단순화된 블록도이다.
도 8은 실시예에 따른 단순화된 블록도이다.
도 9는 실시예에 따른 단순화된 블록도이다.
도 10은 실시예에 따른 개략도이다.
아래에서 논의되는 제안된 특징들은 개별적으로 사용되거나 또는 임의의 순서로 결합될 수 있다. 또한, 실시예는 처리 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일 예에서, 하나 이상의 프로세서는 비일시적 컴퓨터 판독 가능 매체에 저장된 프로그램을 실행한다.
도 1은 본 개시의 실시예에 따른 통신 시스템(100)의 단순화된 블록도를 나타낸다. 통신 시스템(100)은 네트워크(150)를 통해 상호연결된 적어도 두 개의 단말(102, 103)을 포함할 수 있다. 데이터의 단방향 전송을 위해, 제1 단말(103)은 네트워크(105)를 통해 다른 단말(102)에 전송하기 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말(102)은 네트워크(105)로부터 다른 단말의 코딩된 비디오 데이터를 수신하고, 코딩된 데이터를 디코딩하며 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 전송은 매체 서빙 애플리케이션(media serving application) 등에서 일반적일 수 있다.
도 1은, 예를 들어 화상 회의 동안에 발생할 수 있는 코딩된 비디오의 양방향 전송을 지원하기 위해 제공되는 제2 단말 쌍(101, 104)을 나타낸다. 데이터의 양방향 전송을 위해, 각각의 단말(101, 104)은 네트워크(105)를 통해 다른 단말로의 전송을 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말(101, 104)은 또한 다른 단말에 의해 전송되는 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있으며, 복원된 비디오 데이터를 로컬 디스플레이 장치에 디스플레이할 수 있다.
도 1에서, 단말(101, 102, 103)은 서버, 개인용 컴퓨터 및 스마트폰으로 예시될 수 있지만 본 발명의 원리는 이에 한정되지 않을 수 있다. 본 개시의 실시예는 랩탑 컴퓨터, 태블릿 컴퓨터, 매체 플레이어 및/또는 전용 화상 회의 장비를 구비한 애플리케이션을 찾아낸다. 네트워크(105)는, 예를 들어 유선 및/또는 무선 통신 네트워크를 포함한, 단말(101, 102, 103, 104) 사이에서 코딩된 비디오 데이터를 운반하는 임의의 개수의 네트워크를 나타낸다. 통신 네트워크(105)는 회선 교환(circuit-switched) 및/또는 패킷 교환(packet-switched) 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 통신 네트워크(telecommunications networks), 근거리 통신망(local area networks) 및/또는 인터넷을 포함한다. 본 설명의 목적을 위해, 네트워크(105)의 아키텍처 및 토폴로지는 여기서 아래에서 설명되지 않는 한, 본 개시의 작동에 중요하지 않을 수 있다.
도 2는 다중 스케일 인자를 갖는 SISR을 지원하는 단 하나의 SISR 모델 인스턴스를 학습하고 배포하기 위해 여기에서 설명된 다중 스케일 인자 SISR 프레임워크의 예시적인 실시예에 따른 흐름도(200)를 도시한다. 특히, 실시예는 아래에서 설명되는 바와 같이 상이한 스케일 인자로 HR 이미지를 생성하기 위해 SISR 모델 인스턴스를 안내하도록 각각의 타깃화된 스케일 인자에 대해 하나씩 이진 마스크의 세트를 학습한다.
예를 들어, 단계 S201에서, 크기가 (h,w,c)인 입력 이미지
Figure pct00003
(여기서 h, w, c는 높이, 폭 및 채널의 개수)이 주어지면, 전체 SISR은 두 부분, 즉 단계 S202에서의 특징 학습 DNN 및 단계 S204에서의 업스케일링(Upscaling) DNN으로 분리될 수 있는 DNN이다. 단계 S202의 특징 학습 DNN은 LR 입력 이미지
Figure pct00004
에 기초하여 단계 S203에서 특징 텐서(feature tensor)
Figure pct00005
을 계산하는 것을 목표로 하고, 업스케일링 DNN은 특징 텐서
Figure pct00006
에 기초하여 단계 S205에서 HR 이미지
Figure pct00007
을 생성하는 것을 목표로 한다. 단계 S204에서의 업스케일링 DNN의 네트워크 구조는 스케일 인자와 관련되어 있고 상이한 스케일 인자에 따라 다르지만, 단계 S202에서의 특징 학습 DNN의 네트워크 구조는 예시적인 실시예에 따라 스케일 인자와 무관하며 모든 스케일 인자에 대해 동일하다. 특징 학습 DNN은 일반적으로 (DNN 파라미터의 개수의 측면에서) 업스케일링 DNN보다 훨씬 크다. 예시적인 실시예에 따르면, SISR 모델이 달성하기를 원할 수 있는 오름차순으로 순위가 매겨진 N개의 관심 스케일 인자(s1,…,sN)의 세트가 획득될 수 있다. SISR DNN의 전체 구조는 도 3의 도면(300)에서 주어진다. 예를 들어, 블록 301에서, {
Figure pct00008
}는 단계 S202에서 특징 학습 DNN의 가중치 계수의 세트를 나타내며, 여기서 각각의
Figure pct00009
는 j번째 계층의 가중치 계수이다. 또한, {
Figure pct00010
}는 스케일 인자 si에 대응하는 이진 마스크의 세트를 나타낼 수 있으며, 여기서 각각의
Figure pct00011
Figure pct00012
와 동일한 형상을 가지며,
Figure pct00013
의 각각의 엔트리는
Figure pct00014
의 대응하는 가중치 엔트리가 스케일 인자 si의 SR 이미지를 생성하기 위한 추론 계산에 참여하는지 또는 아닌지를 지시하는 1 또는 0이다. 단계 S202의 특징 학습 DNN과 달리, 단계 S204의 업스케일링 DNN은 블록 302, 303, 304와 같은 여러 개의 경량의 서브네트워크로 구성된다. 예시적인 실시예에 따르면, 이러한 {
Figure pct00015
}는 스케일 인자 si에 대응하는 단계 S204의 업스케일링 DNN의 서브네트워크의 가중치 계수의 세트를 나타내며, 여기서 각각의
Figure pct00016
는 j번째 계층의 가중치 계수이다.
각각의 가중치 계수
Figure pct00017
또는
Figure pct00018
는 크기가 (c1, k1, k2, k3, c2)인 일반적인 5차원(5-Dmension, 5D) 텐서이다. 계층의 입력은 크기 (h1, w1, d1, c1)의 4차원(4D) 텐서 A이고, 계층의 출력은 크기 (h2, w2, d2, c2)의 4D 텐서 B이다. 크기 c1, k1, k2, k3, c2, h1, w1, d1, h2, w2, d2는 1 이상의 정수이다. 크기 c1, k1, k2, k3, c2, h1, w1, d1, h2, w2, d2 중 하나가 숫자 1을 취하는 경우, 대응하는 텐서는 더 낮은 차원으로 축소된다. 각각의 텐서의 각각의 항목은 부동 숫자이다. 파라미터 h1, w1 및 d1(h2, w2 및 d2)은 입력 텐서 A(출력 텐서 B)의 높이, 무게 및 깊이이다. 파라미터 c1(c2)은 입력(출력) 채널의 개수이다. 파라미터 k1, k2 및 k3은 각각 높이, 무게 및 깊이 축에 대응하는 컨볼루션 커널의 크기이다. 출력 B는 입력 A, 가중치
Figure pct00019
또는
Figure pct00020
, 및 가능한 경우 마스크
Figure pct00021
에 기초하여 컨볼루션 연산
Figure pct00022
을 통해 계산된다(
Figure pct00023
의 경우, 실시예는 또한 마스크
Figure pct00024
를 그것에 연관시킬 수 있고,
Figure pct00025
의 모든 엔트리는 1로 설정됨). 즉, 실시예는 적어도 일반적으로 B가 마스킹된 가중치로 컨볼루션되는 A로서 계산된다는 것을 고려한다.
[수학식 1]
Figure pct00026
여기서
Figure pct00027
은 요소별 곱셈이다.
위에서 언급된 학습된 가중치 계수 {
Figure pct00028
}, {
Figure pct00029
, i = 1,…,N} 및 마스크 {
Figure pct00030
}, i = 1,…,N이 주어지면, 다음의 도면(400)은 예시적인 실시예에 따른 테스트 단계의 예시적인 실시예를 도시한다. 예를 들어, 입력 LR 이미지
Figure pct00031
및 타깃 스케일 인자 si가 주어지면, 대응하는 마스크 {
Figure pct00032
}는 특징 학습 DNN에 대해 마스킹된 가중치 계수 {
Figure pct00033
}를 생성하는 데 사용되며, 스케일 인자 si에 대한 업스케일링 DNN의 대응하는 서브네트워크는 가중치 계수
Figure pct00034
를 사용하여 선택된다. 그런 다음, 마스킹된 가중치 계수 {
Figure pct00035
}를 사용하면, 블록 401에서 특징 학습 모듈은 추론 계산을 통해 특징
Figure pct00036
을 계산하며, 이는 선택된 가중치 계수
Figure pct00037
를 사용하여 HR 결과
Figure pct00038
를 생성하기 위해 블록 402에서 업스케일링 모듈을 통해 추가로 전달된다.
예시적인 실시예에 따르면, 도 4의 흐름도(500)에서, 각각의
Figure pct00039
의 형상(각각의 마스크
Figure pct00040
에 따름)은 동일한 출력을 획득하기 위해 재형상화된(reshaped)
Figure pct00041
를 갖는 재형상화된 입력의 컨볼루션에 따라 변경될 수 있다. 예를 들어, 이러한 실시예는 구성, (1) 단계 S502에서, 크기 (c' 1, c' 2, k)의 3D 텐서로 재형상화된 5D 가중치 텐서의 구성을 취하며, 여기서
[수학식 2]
Figure pct00042
(예를 들어, 선호되는 구성은
Figure pct00043
,
Figure pct00044
,
Figure pct00045
)
이고,
(2) 단계 S503에서, 5D 가중치 텐서는 크기(c'1, c'2)의 2D 매트릭스로 재형상화되며, 여기서
[수학식 3]
Figure pct00046
(예를 들어, 일부 선호되는 구성은
Figure pct00047
,
Figure pct00048
, 또는
Figure pct00049
,
Figure pct00050
)
이다.
예시적인 실시예는 마스킹된 가중치 계수를 사용하는 추론 계산이 가속화될 수 있도록 컨볼루션 연산이 구현되는 방법의 기본 GEMM 매트릭스 곱셈 프로세스와 정렬하도록 마스크의 원하는 미세 구조로 설계된다. 예시적인 실시예에 따르면, 3D 재형상화된 가중치 텐서 또는 2D 재형상화된 가중치 매트릭스의 각각의 계층의 마스크(마스킹된 가중치 계수로서)에 대해 블록 단위 미세 구조가 사용될 수 있으며, 구체적으로는, 재형상화된 3D 가중치 텐서의 경우, S504에서, 크기 (gi,go,gk)의 블록으로 분할하고, 재형상화된 2D 가중치 매트릭스의 경우, 단계 S505에서, 크기 (gi,go)의 블록으로 분할한다. 마스크 블록의 모든 항목은 동일한 이진 값 1 또는 0을 가질 것이다. 즉, 가중치 계수는 예시적인 실시예에 따라 블록 단위 미세 구조화된 방식으로 마스킹된다.
도 7의 도면(700)에 의해 도시된 예시적인 실시예는 목표가 가중치 {
Figure pct00051
} 및 {
Figure pct00052
} 및 미세 구조 마스크의 세트 {
Figure pct00053
}(i = 1,..., N)를 갖는 모델 인스턴스에 대한 것인 예시적인 실시예에 따른 훈련 단계의 전체적인 워크플로우를 도시하며, {
Figure pct00054
} 및 {
Figure pct00055
} 각각은 관심 있는 각각의 스케일 인자 si를 타깃으로 한다. 이와 같이, 여기에 언급된 문제에 대한 기술적 이점을 나타내는 이러한 목표를 달성하기 위한 점진적인 다단계 훈련 프레임워크가 개시되어 있다.
도 7에 도시된 바와 같이, 실시예는 si에서 마스크 타깃화 훈련을 시도한다는 가정하에 설명되며, 가중치 {
Figure pct00056
} 및 대응하는 마스크 {
Figure pct00057
}를 갖는 현재 모델 인스턴스가 있다. 또한, 현재 스케일 인자 si에 대해, 학습할 가중치 계수 {
Figure pct00058
}를 갖는 대응하는 업스케일링 DNN이 있다. 즉, 목표는 마스크 {
Figure pct00059
} 및 업데이트된 가중치 계수 {
Figure pct00060
} 및 새로운 가중치 계수 {
Figure pct00061
}를 획득하는 것이다. 이와 같이, 먼저 {
Figure pct00062
}에 의해 마스킹되는 {
Figure pct00063
}의 가중치 계수가 고정된다. 예를 들어, 바람직한 실시예에서,
Figure pct00064
의 엔트리가 1이면,
Figure pct00065
의 대응하는 가중치가 고정된다. 실제로
Figure pct00066
의 0 엔트리에 대응하는 나머지 가중치 계수는 0 값을 갖는다. 그런 다음, 가중치 채우기 모듈(701)을 통해 특징 학습 DNN에 대한 이들 고정되지 않은 0값 가중치와 업스케일링 DNN에 대한 가중치 {
Figure pct00067
}를 채우는 학습 프로세스가 있다. 그 결과, 업데이트된 가중치 계수의 세트 {
Figure pct00068
} 및 {
Figure pct00069
}를 생성한다. 그 다음, {
Figure pct00070
}, {
Figure pct00071
}, 및 {
Figure pct00072
}에 기초하여, 실시예는 모델 인스턴스 및 마스크 {
Figure pct00073
}, {
Figure pct00074
}, {
Figure pct00075
}를 획득하기 위해 미세 구조 프루닝(Micro-Structured Pruning) 모듈(702)을 통해 미세 구조 프루닝을 수행한다
도 8과 같은 추가 예시적인 실시예는 도 8의 가중치 채우기 모듈(801)의 상세한 워크플로우가 추가로 예시된 도면(800)을 도시한다. 예를 들어, 현재 가중치 {
Figure pct00076
} 및 대응하는 마스크 {
Figure pct00077
}가 주어지면, 가중치 고정 및 채우기 모듈(801)에서, {
Figure pct00078
}에 의해 마스킹되는 {
Figure pct00079
}에 이러한 가중치 계수가 고정되어 있고, 0 값을 갖는 {
Figure pct00080
}에 나머지 가중치 계수를 재초기화한다(예를 들어, 일부 임의의 초기 값으로 설정하거나 또는 가중치 {
Figure pct00081
}를 갖는 제1 전체 모델과 같은 이전에 학습된 전체 모델의 대응하는 가중치를 사용하여). 이것은 특징 학습 DNN에 대한 가중치 계수 {
Figure pct00082
}를 제공한다. 또한, 업스케일링 DNN의 가중치 {
Figure pct00083
}는 초기화된다(예를 들어, 일부 임의의 초기화된 값으로 설정하거나 또는 현재 스케일 인자 si에 대해 훈련된 개별 전체 모델과 같은 일부 이전에 학습된 전체 모델의 대응하는 가중치를 사용하여). 그 후, 훈련 입력 이미지
Figure pct00084
은 {
Figure pct00085
}를 사용하여 특징 학습 모듈(802)에서 특징
Figure pct00086
을 계산하기 위해 특징 학습 DNN을 통과된다.
Figure pct00087
은 {
Figure pct00088
}를 사용하여 업스케일링 모듈(803)에서 HR 이미지
Figure pct00089
을 계산하기 위해 업스케일링 DNN을 추가로 통과된다. 훈련 목적을 위해, 각각의 훈련 입력 LR 이미지
Figure pct00090
은 현재 스케일 인자 si에 대한 대응하는 실제(ground-truth) HR 이미지
Figure pct00091
를 갖는다. 훈련의 일반적인 목표는 실제 이미지
Figure pct00092
과 추정된 HR 이미지
Figure pct00093
사이의 왜곡을 최소화하는 것이다. 왜곡 손실
Figure pct00094
Figure pct00095
Figure pct00096
사이의 차이의 L1 또는 L2 놈(norm)과 같이 손실 계산 모듈(804)에서 왜곡을 측정하기 위해 계산될 수 있다. 이 손실의 기울기는 특징 학습 DNN의 {
Figure pct00097
}에서 고정되지 않은 가중치 계수와 역전파(Back-Propagation) 및 가중치 업데이트 모듈의 업스케일링 DNN의 가중치 계수 {
Figure pct00098
}를 업데이트하기 위해 계산될 수 있다. 일반적으로, 이러한 역전파 및 가중치 업데이트 모듈(805)에서 손실
Figure pct00099
을 최적화하기 위해, 예를 들어 최대 반복 횟수에 도달하거나 또는 손실이 수렴할 때까지 다수의 에포크(epoch) 반복이 취해질 것이다.
예시적인 실시예에 따르면, 도 9는 도 7의 미세 구조 프루닝 모듈(702)의 더 상세한 워크플로우가 추가로 설명된 도면(900)을 도시한다. 예를 들어, 위의 가중치 채우기 모듈(701)로부터 특징 학습 DNN의 업데이트된 가중치 {
Figure pct00100
} 및 업스케일링 DNN의 {
Figure pct00101
}는 물론 현재 마스크 {
Figure pct00102
}가 주어지면, 먼저 프루닝 마스크 계산 모듈(901)에서 프루닝 마스크 {
Figure pct00103
}를 계산한다.
예시적인 실시예에 따르면, {
Figure pct00104
}에 의해 마스킹된 {
Figure pct00105
}의 가중치 계수가 고정되고, 블록 904에서, {
Figure pct00106
}의 나머지 고정되지 않은 가중치 계수에 대해, 이전에 언급된 바와 같이 각각의 미세 구조 블록 b(3D 재형상화된 가중치 텐서의 경우 3D 블록 또는 2D 재형상화된 가중치 매트릭스의 경우 2D 블록)에 대해 프루닝 손실
Figure pct00107
(예를 들어, 블록의 가중치의 L1 또는 L2 놈)이 계산된다. 또한, 프루닝 손실에 기초하여 오름차순으로 이들 미세 구조 블록의 순위를 매기고 정지 기준에 도달할 때까지 순위 목록에서 위에서 아래로 블록을 정리한다(즉, 정리된 블록의 대응하는 가중치를 0으로 설정함으로써). 예를 들어, 검증 데이터 세트 Sval이 주어지면, 가중치 {
Figure pct00108
} 및 {
Figure pct00109
}를 갖는 SISR 모델은 왜곡 손실
[수학식 4]
Figure pct00110
을 생성할 수 있다.
더 많은 미세 블록이 제거됨에 따라, 이러한 왜곡 손실은 점차 증가할 것이다. 정지 기준은 왜곡 손실을 증가시킬 수 있도록 허용 가능한 백분율 임계값일 수 있다. 정지 기준은 제거할 미세 구조 블록의 간단한 백분율(예를 들어, 50%)일 수도 있다. 이진 프루닝 마스크 {
Figure pct00111
} 세트가 생성될 수 있으며, 여기서 마스크
Figure pct00112
의 엔트리가 1인 것은
Figure pct00113
의 대응하는 가중치가 제거됨을 의미한다. 그런 다음, {
Figure pct00114
}에 의해 마스킹된
Figure pct00115
에서 추가의 고정되지 않은 가중치를 제거된 것으로서 고정하고, {
Figure pct00116
} 또는 {
Figure pct00117
}에 의해 마스킹되지 않은
Figure pct00118
의 나머지 가중치를 업데이트하며, 훈련 데이터를 통해 왜곡 손실
Figure pct00119
을 최적화하기 위해 정규의 역전파에 의해 가중치 {
Figure pct00120
}를 업데이트한다. 일반적으로, 블록 905에서 이러한 역전파 및 가중치 업데이트 프로세스에서 왜곡 손실을 최적화하기 위해, 예를 들어 최대 반복 횟수에 도달하거나 손실이 수렴할 때까지 다수의 에포크 반복이 취해질 것이다.
대응하는 마스크 {
Figure pct00121
}는
[수학식 5]
Figure pct00122
와 같이 계산될 수 있다.
즉,
Figure pct00123
에서 마스킹되지 않은
Figure pct00124
의 제거되지 않은 엔트리는
Figure pct00125
에서 마스킹된 것으로 추가로 1로 설정될 것이다. 또한, 위의 미세 구조 가중치 프루닝 프로세스는 업데이트된 가중치 {
Figure pct00126
} 및 {
Figure pct00127
}를 출력할 것이다. 위의 미세 구조 프루닝 프로세스는 또한 선택적으로 모델 크기와 추론 계산을 더 감소시키기 위해 {
Figure pct00128
}에 적용될 수 있다. 즉, 프루닝 마스크 계산 모듈(901)에서, 블록 903으로부터 미세 구조로의 업스케일링 DNN의 가중치의 재형상화 및 분할이 있을 수 있고, 이러한 미세 구조의 프루닝 손실을 계산하며, 최상위 미세 구조를 작은 프루닝 손실로 제거할 수 있다. 또한, 실시예는 SISR 왜곡을 줄이는 것과 저장 및 계산을 절약하는 것 사이의 절충안으로서 선택적으로 그렇게 하도록 선택할 수 있다.
마지막으로, 최종 업데이트된 가중치 {
Figure pct00129
}는 예시적인 실시예에 따른 학습된 모델 인스턴스의 특징 학습 DNN에 대한 최종 출력 가중치 {
Figure pct00130
}이다.
상기 실시예의 관점에서, 그리고 SISR 방법에 대한 이전의 시도와 비교하여, 본 개시는 다중 스케일 인자로 SISR을 달성하기 위해 크게 감소된 배포 저장소, 다양한 유형의 기본 SISR 모델을 수용하는 유연하고 일반적인 프레임워크이자 또한 미세 구조 마스크가 계산 감소의 추가 이점을 제공하는 프레임워크와 같은 기술적 이점을 제공한다.
위에서 설명된 기술은 컴퓨터 판독 가능 명령을 사용하여 컴퓨터 소프트웨어로서 구현될 수 있고 하나 이상의 컴퓨터 판독 가능 매체에 또는 구체적으로 구성된 하나 이상의 하드웨어 프로세서에 의해 물리적으로 저장될 수 있다. 예를 들어, 도 10은 개시된 주제의 특정 실시예를 구현하기에 적합한 컴퓨터 시스템(1000)을 도시한다.
컴퓨터 소프트웨어는 임의의 적절한 기계 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있으며, 이는 어셈블리, 컴파일, 링크 또는 유사한 메커니즘 하에서 컴퓨터 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 등에 의해 직접, 또는 해석(interpretation), 마이크로 코드 실행 등을 통해 실행될 수 있는 명령을 포함하는 코드를 생성할 수 있다.
명령은 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트 폰, 게임 장치, 사물 인터넷 장치 등을 포함하는 다양한 유형의 컴퓨터 또는 그 컴포넌트에서 실행될 수 있다.
컴퓨터 시스템(700)에 대해 도 10에 도시된 컴포넌트는 본질적으로 예시적이며 본 개시의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 어떠한 제한도 제안하려는 것이 아니다. 컴포넌트의 구성은 컴퓨터 시스템(1000)의 예시적인 실시예에 도시된 컴포넌트의 임의의 하나 또는 조합과 관련된 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
컴퓨터 시스템(1000)은 특정 휴먼 인터페이스 입력 장치를 포함할 수 있다. 이러한 휴먼 인터페이스 입력 장치는 예를 들어, 촉각 입력(예: 키 입력, 스와이프, 데이터 장갑 움직임), 오디오 입력(예: 음성, 박수), 시각적 입력(예: 제스처), 후각 입력(도시되지 않음)을 통해 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 휴먼 인터페이스 장치는 또한 오디오(예: 음성, 음악, 주변 소리), 이미지(예: 스캔된 이미지, 정지 이미지 카메라로부터 획득하는 사진 이미지), 비디오(예: 2차원 비디오, 입체 비디오를 포함한 3차원 비디오)와 같이 인간에 의한 의식적 입력과 직접 관련이 없는 특정 매체를 캡처하는 데 사용될 수 있다.
입력 휴먼 인터페이스 장치는 키보드(1001), 마우스(1002), 트랙 패드(1003), 터치 스크린(1010), 조이스틱(1005), 마이크(1006), 스캐너(1008), 카메라(1007) 중 하나 이상(각각 도시된 것 중 하나만)을 포함할 수 있다.
컴퓨터 시스템(1000)은 또한 특정 휴먼 인터페이스 출력 장치를 포함할 수 있다. 이러한 후먼 인터페이스 출력 장치는 예를 들어 촉각 출력, 소리, 빛 및 냄새/맛을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 장치는, 촉각 출력 장치(예를 들어, 터치 스크린(1010) 또는 조이스틱(1005)에 의한 촉각 피드백을 포함하지만, 입력 장치로서 기능하지 않는 촉각 피드백 장치일 수도 있음), 오디오 출력 장치(예: 스피커(1009), 헤드폰(도시되지 않음)), 시각 출력 장치(예: CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린, 터치 스크린 입력 능력을 갖거나 갖지 않는 각각, 촉각 피드백 능력을 갖거나 또는 갖지 않는 각각을 포함하는 스크린(1010)과 같음 ― 그 중 일부는 입체 출력, 가상 현실 안경(도시되지 않음), 홀로그래픽 디스플레이 및 스모크 탱크(smoke tank, 도시되지 않음))와 같은 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 출력할 수 있음) ― 및 프린터(도시되지 않음)를 포함할 수 있다.
컴퓨터 시스템(700)은 또한 인간이 액세스 가능한 저장 장치 및 CD/DVD를 갖는 CD/DVD ROM/RW(1011)를 포함하는 광학 매체 또는 유사 매체, 썸 드라이브(thumb-drive)(1022), 탈착식 하드 드라이브 또는 솔리드 스테이트 드라이브(1023), 테이프 및 플로피 디스크와 같은 레거시 자기 매체(도시되지 않음), 보안 동글과 같은 특수 ROM/ASIC/PLD 기반 장치(도시되지 않음) 등과 같은 이와 연관된 매체를 포함할 수 있다.
통상의 기술자는 또한 현재 개시된 주제와 관련하여 사용되는 "컴퓨터 판독 가능 매체"라는 용어가 전송 매체, 반송파 또는 다른 일시적 신호를 포함하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(1000)은 또한 하나 이상의 통신 네트워크(1098)에 대한 인터페이스(1099)를 포함할 수 있다. 네트워크(1098)는 예를 들어 무선, 유선, 광일 수 있다. 네트워크(1098)는 또한 로컬, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등일 수 있다. 네트워크(1098)의 예로는 이더넷과 같은 근거리 통신망, 무선 LAN, GSM, 3G, 4G, 5G, LTE 등을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용 등을 포함한다. 특정 네트워크(1098)에는 일반적으로 특정 범용 데이터 포트 또는 주변 장치 버스(1050, 1051)(예를 들어, 컴퓨터 시스템(1000)의 USB 포트와 같음)에 부착된 외부 네트워크 인터페이스 어댑터가 필요하다. 다른 것들은 일반적으로 아래에 설명된 바와 같이 시스템 버스에 대한 부착에 의해 컴퓨터 시스템(1000)의 코어에 통합된다(예를 들어, PC 컴퓨터 시스템에 대한 이더넷 인터페이스 또는 스마트 폰 컴퓨터 시스템에 대한 셀룰러 네트워크 인터페이스). 이러한 네트워크(1098) 중 하나를 사용하여, 컴퓨터 시스템(1000)은 다른 엔티티와 통신할 수 있다. 이러한 통신은 단방향, 수신 전용(예를 들어, 방송 TV), 단방향 전송 전용(예를 들어, CANbus에서 특정 CANbus 장치로) 또는 양방향, 예를 들어, 로컬 또는 광역 디지털 네트워크를 사용하는 다른 컴퓨터 시스템일 수 있다. 특정 프로토콜 및 프로토콜 스택은 상기한 바와 같이 각각의 네트워크 및 네트워크 인터페이스에서 사용될 수 있다.
전술한 휴먼 인터페이스 장치, 인간 액세스 가능 저장 장치 및 네트워크 인터페이스는 컴퓨터 시스템(1000)의 코어(1040)에 부착될 수 있다.
코어(1040)는 하나 이상의 중앙 처리 장치(CPU)(1041), 그래픽 처리 장치(GPU)(1042), 그래픽 어댑터(1017), FPGA(Field Programmable Gate Area)(1043) 형태의 특수 프로그램 가능 처리 유닛, 특정 태스크에 대한 하드웨어 가속기(1044) 등을 포함할 수 있다. 읽기 전용 메모리(Read-only memory, ROM)(1045), 랜덤 액세스 메모리(Random-access memory, 1046), 내부 비 사용자 액세스 가능 하드 드라이브, SSD 등과 같은 내부 대용량 저장소(1047)와 함께 이러한 장치는 시스템 버스(1048)를 통해 연결될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(1048)는 추가 CPU, GPU 등에 의한 확장을 가능하게 하기 위해 하나 이상의 물리적 플러그의 형태로 액세스될 수 있다. 주변 장치는 코어의 시스템 버스(1048)에 직접 부착되거나, 또는 주변 장치 버스(1051)를 통해 부착될 수 있다. 주변 장치 버스의 아키텍처에는 PCI, USB 등이 포함된다.
CPU(1041), GPU(1042), FPGA(10743) 및 가속기(1044)는 조합하여 전술한 컴퓨터 코드를 구성할 수 있는 특정 명령을 실행할 수 있다. 이 컴퓨터 코드는 ROM(1045) 또는 RAM(1046)에 저장될 수 있다. 과도기 데이터는 RAM(1046)에 저장될 수도 있지만, 영구 데이터는 예를 들어 내부 대용량 저장소(1047)에 저장될 수 있다. 하나 이상의 CPU(1041), GPU(1042), 대용량 저장소(1047), ROM(1045), RAM(10746) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 모든 메모리 장치에 대한 빠른 저장 및 검색이 가능해질 수 있다.
컴퓨터 판독 가능 매체는 다양한 컴퓨터 구현 작동을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시의 목적을 위해 특별히 설계되고 구성된 것일 수 있거나, 또는 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려져 있고 이용 가능한 종류일 수 있다.
예로서 그리고 제한없이, 아키텍처를 갖는 컴퓨터 시스템(1000), 특히 코어(1040)는 하나 이상의 유형의 컴퓨터 판독 가능 매체에 구현된 소프트웨어를 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속기 등을 포함함)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터 판독 가능 매체는 위에서 소개한 바와 같이 사용자 액세스 가능 대용량 저장소와 연관된 매체일 수 있으며, 코어 내부 대용량 저장소(1047) 또는 ROM(1045)과 같은 비 일시적 특성을 가진 코어(1040)의 특정 저장소일 수 있다. 본 개시의 다양한 실시예를 구현하는 소프트웨어는 이러한 장치에 저장되고 코어(1040)에 의해 실행될 수 있다. 컴퓨터 판독 가능 매체는 특정 필요에 따라 하나 이상의 메모리 장치 또는 칩을 포함할 수 있다. 소프트웨어는 코어(1040) 및 특히 그 안의 프로세서(CPU, GPU, FPGA 등을 포함함)가 RAM(1046)에 저장된 데이터 구조를 정의하는 것과 소프트웨어에서 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여 여기에서 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하도록 할 수 있다. 추가로 또는 다르게는, 컴퓨터 시스템은 여기에서 설명된 특정 프로세스나 특정 프로세스의 특정 부분을 실행하기 위해 소프트웨어 대신 또는 소프트웨어와 함께 작동할 수 있는 회로(예를 들어, 가속기(1044)에 고정되거나 다른 방식으로 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 포함할 수 있으며, 적절한 경우에 그 반대도 마찬가지이다. 컴퓨터 판독 가능 매체에 대한 참조는 실행을 위한 소프트웨어를 저장하는 회로(집적 회로(integrated circuit, IC)와 같음), 실행을 위한 로직을 구현하는 회로, 또는 적절한 경우 둘 다를 포함할 수 있다. 본 개시는 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포함한다.
본 개시는 몇몇 예시적인 실시예를 설명하였지만, 개시의 범위 내에 속하는 변경, 순열 및 다양한 대체 등가물이 있다. 따라서, 당업자는 본 명세서에서 명시적으로 도시되거나 설명되지는 않았지만 본 개시의 원리를 구현하고 따라서 본 발명의 사상 및 범위 내에 있는 수많은 시스템 및 방법을 고안할 수 있음을 이해할 것이다.

Claims (20)

  1. 이미지 처리 방법으로서,
    적어도 하나의 프로세서에 의해 수행되고,
    높이, 폭 및 채널 개수를 포함하는 입력 저해상도(low resolution, LR) 이미지를 획득하는 단계;
    상기 입력 LR 이미지에 기초하여 특징 텐서(feature tensor)를 계산하도록 구성된 특징 학습 심층 신경망(deep neural network, DNN)을 구현하는 단계;
    업스케일링 DNN에 의해, 상기 특징 학습 DNN에 의해 계산된 특징 텐서에 기초하여 상기 입력 LR 이미지보다 더 높은 해상도를 갖는 고해상도(high resolution, HR) 이미지를 생성하는 단계
    를 포함하며,
    상기 업스케일링 DNN의 네트워킹 구조는 상이한 스케일 인자에 따라 다르고,
    상기 특징 학습 DNN의 네트워킹 구조는 상기 상이한 스케일 인자의 각각에 대해 동일한 구조인,
    이미지 처리 방법.
  2. 제1항에 있어서,
    테스트 단계에서,
    타깃 스케일 인자에 기초하여 상기 특징 학습 DNN에 대해 마스킹된 가중치 계수를 생성하는 단계; 및
    선택된 가중치 계수에 기초하여 상기 타깃 스케일 인자에 대해 상기 업스케일링 DNN의 서브네트워크를 선택하고 추론 계산을 통해 상기 특징 텐서를 계산하는 단계
    를 더 포함하는, 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 선택된 가중치 계수를 사용하여 업스케일링 모듈을 통해 상기 특징 텐서를 통과하는 것에 기초하여 상기 HR 이미지를 생성하는 단계
    를 더 포함하는, 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 특징 학습 DNN과 상기 업스케일링 DNN 중 적어도 하나의 가중치 계수는 c1, k1, k2, k3, c2의 크기를 갖는 5차원(5-dimensional, 5D) 텐서를 포함하고,
    상기 특징 학습 DNN과 상기 업스케일링 DNN 중 적어도 하나의 계층의 입력은 h1, w1, d1, c1의 크기를 갖는 4차원(4D) 텐서 A를 포함하며,
    상기 계층의 출력은 h2, w2, d2, c2의 크기를 갖는 4D 텐서 B이고,
    c1, k1, k2, k3, c2, h1, w1, d1, c1, h2, w2, d2 및 c2의 각각은 1보다 크거나 같은 정수이며,
    h1, w1, d1은 상기 텐서 A의 높이, 무게 및 깊이이고,
    h2, w2, d2는 상기 텐서 B의 높이, 무게 및 깊이이며,
    c1 및 c2는 각각 입력 및 출력 채널의 개수이고,
    k1, k2, k3은 컨볼루션 커널의 크기이며 각각 높이, 무게 및 깊이 축에 대응하는,
    이미지 처리 방법.
  5. 제4항에 있어서,
    상기 5D 텐서를 3차원(3D) 텐서로 재형상화하는 단계; 및
    상기 5D 텐서를 2차원(2D) 매트릭스로 재형상화하는 단계
    를 더 포함하는, 이미지 처리 방법.
  6. 제5항에 있어서,
    상기 3D 텐서는 c' 1, c' 2, k 크기이며,
    Figure pct00131
    이고,
    상기 2D 매트릭스는 c'1, c'2 크기이며,
    Figure pct00132
    인,
    이미지 처리 방법.
  7. 제6항에 있어서,
    훈련 단계에서,
    마스킹된 가중치 계수를 고정하는 단계;
    가중치 채우기 모듈을 통해 상기 특징 학습 DNN의 가중치 및 상기 업스케일링 DNN의 가중치에 대한 학습 프로세스에 기초하여 업데이트된 가중치 계수를 획득하는 단계; 및
    모델 인스턴스(instance) 및 마스크를 획득하기 위해 상기 업데이트된 가중치 계수에 기초하여 미세 구조 프루닝(pruning) 프로세스를 수행하는 단계
    를 더 포함하는, 이미지 처리 방법.
  8. 제7항에 있어서,
    상기 학습 프로세스는 상기 가중치 계수를 랜덤 초기 값 및 이전에 학습된 모델의 대응하는 가중치 중 어느 하나로 설정함으로써 0 값을 갖는 가중치 계수를 재초기화하는 단계를 포함하는,
    이미지 처리 방법.
  9. 제7항에 있어서,
    상기 미세 구조 프루닝 프로세서는,
    상기 3D 텐서 및 상기 2D 매트릭스 중 적어도 하나의 복수의 미세 구조 블록의 각각에 대한 손실을 계산하는 단계; 및
    계산된 손실에 기초하여 상기 미세 구조 블록의 순위를 매기는 단계
    를 포함하는, 이미지 처리 방법.
  10. 제9항에 있어서,
    상기 미세 구조 프루닝 프로세스는,
    왜곡 손실이 임계값에 도달하는지 여부에 기초하여 상기 미세 구조 프루닝 프로세스를 중지하도록 결정하는 단계
    를 더 포함하는, 이미지 처리 방법.
  11. 이미지 처리 장치로서,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리;
    상기 컴퓨터 프로그램 코드에 액세스하고 상기 컴퓨터 프로그램 코드에 의해 명령된 대로 작동하도록 구성된 적어도 하나의 프로세서 ― 상기 컴퓨터 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 높이, 폭 및 채널 개수를 포함하는 입력 저해상도(LR) 이미지를 획득하도록 구성된 획득 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 입력 LR 이미지에 기초하여 특징 텐서를 계산하도록 구성된 특징 학습 심층 신경망(DNN)을 구현하도록 구성된 구현 코드;
    상기 적어도 하나의 프로세서로 하여금, 업스케일링 DNN에 의해, 상기 특징 학습 DNN에 의해 계산된 특징 텐서에 기초하여 상기 입력 LR 이미지보다 더 높은 해상도를 갖는 고해상도(HR) 이미지를 생성하도록 구성된 생성 코드
    를 포함함 ―
    를 포함하며,
    상기 업스케일링 DNN의 네트워킹 구조는 상이한 스케일 인자에 따라 다르고,
    상기 특징 학습 DNN의 네트워킹 구조는 상기 상이한 스케일 인자의 각각에 대해 동일한 구조인,
    이미지 처리 장치.
  12. 제11항에 있어서,
    상기 생성 코드는, 테스트 단계에서, 상기 적어도 하나의 프로세서로 하여금,
    타깃 스케일 인자에 기초하여 상기 특징 학습 DNN에 대해 마스킹된 가중치 계수를 생성하고,
    선택된 가중치 계수에 기초하여 상기 타깃 스케일 인자에 대해 상기 업스케일링 DNN의 서브네트워크를 선택하고 추론 계산을 통해 상기 특징 텐서를 계산하도록
    추가로 구성되는, 이미지 처리 장치.
  13. 제12항에 있어서,
    상기 HR 이미지를 생성하는 것은 상기 선택된 가중치 계수를 사용하여 업스케일링 모듈을 통해 상기 특징 텐서를 통과하는 것에 기초하는,
    이미지 처리 장치.
  14. 제11항에 있어서,
    상기 특징 학습 DNN과 상기 업스케일링 DNN 중 적어도 하나의 가중치 계수는 c1, k1, k2, k3, c2의 크기를 갖는 5차원(5D) 텐서를 포함하고,
    상기 특징 학습 DNN과 상기 업스케일링 DNN 중 적어도 하나의 계층의 입력은 h1, w1, d1, c1의 크기를 갖는 4차원(4D) 텐서 A를 포함하며,
    상기 계층의 출력은 h2, w2, d2, c2의 크기를 갖는 4D 텐서 B이고,
    c1, k1, k2, k3, c2, h1, w1, d1, c1, h2, w2, d2 및 c2의 각각은 1보다 크거나 같은 정수이며,
    h1, w1, d1은 상기 텐서 A의 높이, 무게 및 깊이이고,
    h2, w2, d2는 상기 텐서 B의 높이, 무게 및 깊이이며,
    c1 및 c2는 각각 입력 및 출력 채널의 개수이고,
    k1, k2, k3은 컨볼루션 커널의 크기이며 각각 높이, 무게 및 깊이 축에 대응하는,
    이미지 처리 장치.
  15. 제14항에 있어서,
    상기 적어도 하나의 프로세서로 하여금 상기 5D 텐서를 3차원(3D) 텐서로 재형상화하고 상기 5D 텐서를 2차원(2D) 매트릭스로 재형상화하도록 구성된 재형상화 코드
    를 더 포함하는, 이미지 처리 장치.
  16. 제15항에 있어서,
    상기 3D 텐서는 c' 1, c' 2, k 크기이며,
    Figure pct00133
    이고,
    상기 2D 매트릭스는 c'1, c'2 크기이며,
    Figure pct00134
    인,
    이미지 처리 장치.
  17. 제16항에 있어서,
    훈련 단계에서,
    상기 적어도 하나의 프로세서로 하여금 마스킹된 가중치 계수를 고정하도록 구성된 고정 코드;
    상기 적어도 하나의 프로세서로 하여금 가중치 채우기 모듈을 통해 상기 특징 학습 DNN의 가중치 및 상기 업스케일링 DNN의 가중치에 대한 학습 프로세스에 기초하여 업데이트된 가중치 계수를 획득하도록 구성된 획득 코드; 및
    상기 적어도 하나의 프로세서로 하여금 모델 인스턴스 및 마스크를 획득하기 위해 상기 업데이트된 가중치 계수에 기초하여 미세 구조 프루닝 프로세스를 수행하도록 구성된 수행 코드
    를 더 포함하는, 이미지 처리 장치.
  18. 제17항에 있어서,
    상기 학습 프로세스는 상기 가중치 계수를 랜덤 초기 값 및 이전에 학습된 모델의 대응하는 가중치 중 어느 하나로 설정함으로써 0 값을 갖는 가중치 계수를 재초기화하는 것을 포함하는,
    이미지 처리 장치.
  19. 제17항에 있어서,
    상기 미세 구조 프루닝 프로세서는,
    상기 3D 텐서 및 상기 2D 매트릭스 중 적어도 하나의 복수의 미세 구조 블록의 각각에 대한 손실을 계산하고,
    계산된 손실에 기초하여 상기 미세 구조 블록의 순위를 매기는 것
    을 포함하는, 이미지 처리 장치.
  20. 비일시적 컴퓨터 판독 가능 매체로서,
    컴퓨터로 하여금 프로세스를 실행하도록 하는 프로그램을 저장하며,
    상기 프로세스는,
    높이, 폭 및 채널 개수를 포함하는 입력 저해상도(LR) 이미지를 획득하고,
    상기 입력 LR 이미지에 기초하여 특징 텐서를 계산하도록 구성된 특징 학습 심층 신경망(DNN)을 구현하며,
    업스케일링 DNN에 의해, 상기 특징 학습 DNN에 의해 계산된 특징 텐서에 기초하여 상기 입력 LR 이미지보다 더 높은 해상도를 갖는 고해상도(HR) 이미지를 생성하는 것
    을 포함하며,
    상기 업스케일링 DNN의 네트워킹 구조는 상이한 스케일 인자에 따라 다르고,
    상기 특징 학습 DNN의 네트워킹 구조는 상기 상이한 스케일 인자의 각각에 대해 동일한 구조인,
    비일시적 컴퓨터 판독 가능 매체.
KR1020227014209A 2020-08-14 2021-07-12 미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도 KR102621355B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063065608P 2020-08-14 2020-08-14
US63/065,608 2020-08-14
US17/363,280 2021-06-30
US17/363,280 US11908103B2 (en) 2020-08-14 2021-06-30 Multi-scale-factor image super resolution with micro-structured masks
PCT/US2021/041252 WO2022035533A1 (en) 2020-08-14 2021-07-12 Multi-scale-factor image super resolution with micro-structured masks

Publications (2)

Publication Number Publication Date
KR20220070505A true KR20220070505A (ko) 2022-05-31
KR102621355B1 KR102621355B1 (ko) 2024-01-04

Family

ID=80224253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014209A KR102621355B1 (ko) 2020-08-14 2021-07-12 미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도

Country Status (6)

Country Link
US (1) US11908103B2 (ko)
EP (1) EP4018411B1 (ko)
JP (1) JP7418578B2 (ko)
KR (1) KR102621355B1 (ko)
CN (1) CN114586055A (ko)
WO (1) WO2022035533A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US20230186525A1 (en) * 2021-12-13 2023-06-15 Tencent America LLC System, method, and computer program for content adaptive online training for multiple blocks in neural image compression
CN115082322B (zh) * 2022-07-26 2022-11-15 腾讯科技(深圳)有限公司 图像处理方法和装置、图像重建模型的训练方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190110965A (ko) * 2019-09-11 2019-10-01 엘지전자 주식회사 이미지 해상도를 향상시키기 위한 방법 및 장치
KR102029852B1 (ko) * 2019-04-09 2019-10-08 세종대학교 산학협력단 환경에 따라 신경망 모델을 선택하는 객체 인식 장치 및 그 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409372B2 (en) * 2003-06-20 2008-08-05 Hewlett-Packard Development Company, L.P. Neural network trained with spatial errors
EP3259920A1 (en) * 2015-02-19 2017-12-27 Magic Pony Technology Limited Visual processing using temporal and spatial interpolation
US10803378B2 (en) * 2017-03-15 2020-10-13 Samsung Electronics Co., Ltd System and method for designing efficient super resolution deep convolutional neural networks by cascade network training, cascade network trimming, and dilated convolutions
EP3499459A1 (en) * 2017-12-18 2019-06-19 FEI Company Method, device and system for remote deep learning for microscopic image reconstruction and segmentation
WO2020102812A1 (en) 2018-11-16 2020-05-22 Google Llc Generating super-resolution images using neural networks
CN111353939B (zh) * 2020-03-02 2023-10-27 中国科学院深圳先进技术研究院 一种基于多尺度特征表示与权值共享卷积层的图像超分辨率方法
CN111353940B (zh) * 2020-03-31 2021-04-02 成都信息工程大学 一种基于深度学习迭代上下采样的图像超分辨率重建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102029852B1 (ko) * 2019-04-09 2019-10-08 세종대학교 산학협력단 환경에 따라 신경망 모델을 선택하는 객체 인식 장치 및 그 방법
KR20190110965A (ko) * 2019-09-11 2019-10-01 엘지전자 주식회사 이미지 해상도를 향상시키기 위한 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bee Lim, et al., "Enhanced Deep Residual Networks for Single Image Super-Resolution", Computer Vision and Pattern Recognition,(2017.07.10.) *

Also Published As

Publication number Publication date
US11908103B2 (en) 2024-02-20
EP4018411A4 (en) 2022-11-16
CN114586055A (zh) 2022-06-03
JP7418578B2 (ja) 2024-01-19
EP4018411B1 (en) 2024-02-14
EP4018411A1 (en) 2022-06-29
KR102621355B1 (ko) 2024-01-04
WO2022035533A1 (en) 2022-02-17
JP2023505979A (ja) 2023-02-14
US20220051367A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
US11501415B2 (en) Method and system for high-resolution image inpainting
US10943145B2 (en) Image processing methods and apparatus, and electronic devices
Sun et al. Swformer: Sparse window transformer for 3d object detection in point clouds
KR102621355B1 (ko) 미세 구조 마스크를 사용한 다중 스케일 인자 이미지 슈퍼 해상도
WO2021018163A1 (zh) 神经网络的搜索方法及装置
CN111402130B (zh) 数据处理方法和数据处理装置
Han et al. Dense convolutional networks for semantic segmentation
CN113256529B (zh) 图像处理方法、装置、计算机设备及存储介质
US20210326710A1 (en) Neural network model compression
CN112488923A (zh) 图像超分辨率重建方法、装置、存储介质及电子设备
WO2022161302A1 (zh) 动作识别方法、装置、设备、存储介质及计算机程序产品
US20230281833A1 (en) Facial image processing method and apparatus, device, and storage medium
CN116958534A (zh) 一种图像处理方法、图像处理模型的训练方法和相关装置
CN115376035A (zh) 用于流式内容的实时增强
CN113066018A (zh) 一种图像增强方法及相关装置
US11948090B2 (en) Method and apparatus for video coding
Khan et al. Sparse to dense depth completion using a generative adversarial network with intelligent sampling strategies
Chen et al. CSPP-IQA: a multi-scale spatial pyramid pooling-based approach for blind image quality assessment
CN117499711A (zh) 视频生成模型的训练方法、装置、设备及存储介质
Wang et al. Lightweight end-to-end image steganalysis based on convolutional neural network
CN111861877A (zh) 视频超分变率的方法和装置
WO2021179117A1 (zh) 神经网络通道数搜索方法和装置
CN116883770A (zh) 深度估计模型的训练方法、装置、电子设备及存储介质
CN115115972A (zh) 视频处理方法、装置、计算机设备、介质及程序产品
Liu et al. Real-time monocular depth estimation for low-power embedded systems using deep learning

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