KR20200084808A - 확장 컨벌루션 연산을 수행하는 시스템 및 방법 - Google Patents
확장 컨벌루션 연산을 수행하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20200084808A KR20200084808A KR1020200001013A KR20200001013A KR20200084808A KR 20200084808 A KR20200084808 A KR 20200084808A KR 1020200001013 A KR1020200001013 A KR 1020200001013A KR 20200001013 A KR20200001013 A KR 20200001013A KR 20200084808 A KR20200084808 A KR 20200084808A
- Authority
- KR
- South Korea
- Prior art keywords
- input image
- memory
- blocks
- kernel
- size
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 13
- 230000010339 dilation Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000013499 data model Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- JLYFCTQDENRSOL-VIFPVBQESA-N dimethenamid-P Chemical compound COC[C@H](C)N(C(=O)CCl)C=1C(C)=CSC=1C JLYFCTQDENRSOL-VIFPVBQESA-N 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2111—Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Physiology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Processing (AREA)
Abstract
뉴럴 네트워크에서 가변 확장률을 이용한 컨벌루션 연산을 수행하기 위한 시스템 및 방법을 제공한다.
컴퓨팅 시스템은, 제1 커널의 크기, 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정할 수 있다. 또한, 컴퓨팅 시스템은 확장률, 및 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정할 수 있다. 또한, 컴퓨팅 시스템은 주소에 기초하여 입력 이미지의 하나 이상의 블록, 및 하나 이상의 분해된 커널을, 메모리로부터 인출할 수 있다. 또한, 컴퓨팅 시스템은 하나 이상의 분해된 커널과 입력 이미지의 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정할 수 있다.
컴퓨팅 시스템은, 제1 커널의 크기, 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정할 수 있다. 또한, 컴퓨팅 시스템은 확장률, 및 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정할 수 있다. 또한, 컴퓨팅 시스템은 주소에 기초하여 입력 이미지의 하나 이상의 블록, 및 하나 이상의 분해된 커널을, 메모리로부터 인출할 수 있다. 또한, 컴퓨팅 시스템은 하나 이상의 분해된 커널과 입력 이미지의 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정할 수 있다.
Description
본 개시는 확장 컨벌루션 연산을 수행하는 시스템 및 방법에 관한다.
확장 컨벌루션(dilated convolution) 기술은, 입력 이미지 또는 입력 비디오에서 장면 분할 및 분자 깊이 추정을 수행하기 위한 딥러닝 뉴럴 네트워크에서 사용된다. 확장 컨벌루션 기술은, 확장되지 않은(un-dilated) 컨벌루션 기술과 비교하여 보다 정확한 결과를 제공할 수 있다.
컨벌루션 기술은 하나 이상의 커널 값과, 하나 이상의 입력 이미지 값 사이에서 내적을 계산하는 것을 포함한다. 내적은 입력 이미지의 너비와 높이에 걸쳐 계산될 수 있다. 확장 컨벌루션 기술의 경우, 하나 이상의 확장 커널 값은 x방향 및 y방향으로 하나 이상의 커널 값 사이에 0을 삽입함으로써 얻어진다. 확장 커널을 얻기 위해 삽입되는 0의 개수는 확장률을 기반으로 한다. 확장 커널과 입력 이미지 간의 컨벌루션 연산은, 입력 이미지의 하나 이상의 값과 0이 삽입된 확장된 커널 간의 곱셈 연산을 포함한다.
최근에는 확장 컨벌루션 기술을 효율적으로 수행하기 위한 기술이 요구되는 실정이다.
확장 컨벌루션 연산을 수행하는 시스템 및 방법을 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법에 있어서, 컴퓨팅 시스템에 의해, 제1 커널의 크기 및 확장률을 수신하는 단계; 상기 컴퓨팅 시스템에 의해, 상기 제1 커널의 크기, 상기 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 상기 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정하는 단계; 상기 컴퓨팅 시스템에 의해, 상기 확장률, 및 상기 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 상기 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정하는 단계; 상기 컴퓨팅 시스템에 의해, 상기 주소에 기초하여 상기 입력 이미지의 상기 하나 이상의 블록, 및 상기 하나 이상의 분해된 커널을, 상기 메모리로부터 인출하는 단계; 및 상기 컴퓨팅 시스템에 의해, 상기 하나 이상의 분해된 커널과 상기 입력 이미지의 상기 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 뉴럴 네트워크에서 가변 확장률을 이용한 컨벌루션 연산을 수행하기 위한 컴퓨팅 시스템에 있어서, 프로세서; 및 상기 프로세서에 통신 가능하게 결합한 메모리;를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로세서 명령을 실행함으로써, 제1 커널의 크기 및 확장률을 수신하고, 상기 제1 커널의 크기, 상기 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 상기 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정하고, 상기 확장률, 및 상기 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 상기 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정하고, 상기 주소에 기초하여 상기 입력 이미지의 상기 하나 이상의 블록, 및 상기 하나 이상의 분해된 커널을, 상기 메모리로부터 인출하며, 상기 하나 이상의 분해된 커널과 상기 입력 이미지의 상기 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정하는 것인, 컴퓨팅 시스템을 제공할 수 있다.
본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1a 내지 1d는 일 실시예에 따른 컨벌루션 연산을 수행하는 방법을 설명하기 위한 예시적인 도면이다.
도 2a는 일 실시예에 따른 컴퓨팅 시스템의 블록도이다.
도 2b는 일 실시예에 따른 입력 이미지의 하나 이상의 블록을 설명하기 위한 예시적인 도면이다.
도 3은 일 실시예에 따른 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법을 도시한 흐름도이다.
도 4a 내지 도 4i는 일 실시예에 따른 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 예시를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 컴퓨터 시스템의 예시적인 블록도이다.
도 2a는 일 실시예에 따른 컴퓨팅 시스템의 블록도이다.
도 2b는 일 실시예에 따른 입력 이미지의 하나 이상의 블록을 설명하기 위한 예시적인 도면이다.
도 3은 일 실시예에 따른 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법을 도시한 흐름도이다.
도 4a 내지 도 4i는 일 실시예에 따른 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 예시를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 컴퓨터 시스템의 예시적인 블록도이다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1a 내지 1d는 일 실시예에 따른 컨벌루션 연산을 수행하는 방법을 설명하기 위한 예시적인 도면이다.
본 개시는 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법에 관한다. 컨번루션 연산은, 예를 들어 객체 인식, 장면 분할 등과 같은 하나 이상의 이미지 처리 작업을 수행하기 위해, 입력 이미지에 대한 특징을 추출하는 연산이다. 컨벌루션 연산은 하나 이상의 커널 값들과 입력 이미지의 복수의 픽셀 값들 간의 내적 계산을 포함한다. 또한, 내적은 입력 이미지의 폭과 높이에 걸쳐 계산된다.
예를 들어, 도 1a에 도시된 바와 같이, 복수의 픽셀 값들(104)을 갖는 입력 이미지(101), 및 하나 이상의 커널 값(105)을 갖는 제1 커널(102) 간의 컨벌루션 연산이 수행될 수 있다.
입력 이미지(101)는 6개의 로우와 6개의 컬럼을 갖는 행렬로 표현된다. 제1 커널(102)은 3개의 로우과 3개의 컬럼을 갖는 행렬로 표현된다. 도 1a에는 도시된 바와 같이, 스트라이드 "1"일 때의 입력 이미지(101)와 제1 커널(102) 간의 컨벌루션 연산 수행 결과, 출력 이미지(103)를 획득할 수 있다.
입력 이미지(101)와 제1 커널(102) 간의 컨벌루션 수행 결과로써 획득된 출력 이미지(103)의, 첫 번째 로우 및 첫 번째 컬럼에 대응하는 값(즉, -5)과, 첫 번째 로우 및 두 번째 컬럼에 대응하는 값(즉, -4)은, 도 1b에 도시된 바와 같이 계산된다.
또한, 출력 이미지(103)의 로우 개수 및 컬럼 개수는 아래의 수학식 1 및 수학식 2와 같이 계산될 수 있다.
상기 수학식 1 및 수학식 2에서, 스트라이드는 입력 이미지(101)의 내적을 계산하기 위해 폭과 높이에 걸쳐 건너 뛸 픽셀의 수를 나타낸다. 예를 들어, 스트라이드 "2"는, 입력 이미지(101)의 내적을 계산하는 동안 폭과 높이에 걸쳐 2개의 로우와 2개의 컬럼을 시프트하는 것을 나타낸다.
스트라이드의 값이 증가하면, 입력 이미지(101)의 폭 및 높이에 걸쳐 계산된 내적의 수가 감소하므로, 출력 이미지(103)의 크기가 감소한다. 예를 들어, 도 1c를 참조하면, 스트라이드 "2"일 때의 입력 이미지(101)와 제1 커널(102) 간의 컨벌루션 연산 수행 결과가 도시된다.
일 실시예에서, 출력 이미지(103)의 로우 개수 및 행 개수가, 입력 이미지(101)의 로우 개수 및 행 개수와 같아야 하는 경우, 입력 이미지(101)의 하나 이상의 로우 및 하나 이상의 컬럼은 "0"으로 패딩될 수 있다. 예를 들어, 도 1d를 참조하면, 입력 이미지(101)의 2개의 로우와 2개의 행은 "0"으로 패딩된다.
도 2a는 일 실시예에 따른 컴퓨팅 시스템(200)의 블록도이다.
도 2a를 참조하면, 컴퓨팅 시스템(200)은 중앙 처리 장치로서의 프로세서(203)와, 프로세서(203)에 의해 실행 가능한 명령을 저정하는 메모리(202)를 포함할 수 있다.
프로세서(203)는 사용자 또는 시스템 생성 요청을 실행하기 위한 프로그램 구성 요소를 실행하는 적어도 하나의 데이터 프로세서를 포함할 수 있다. 메모리(202)는 프로세서(203)에 통신 가능하게 연결될 수 있다.
컴퓨팅 시스템(200)은 I/O(input/output) 인터페이스(201)를 더 포함한다. I/O 인터페이스(201)는 입력 신호 또는 출력 신호를 통신할 수 있는 프로세서(203)와 연결될 수 있다. 일 실시예에서, 컴퓨팅 시스템(200)은 I/O 인터페이스(201)를 통해 입력 이미지(101), 제1 커널(102) 및 확장률을 수신할 수 있다.
일 실시예에서, 컴퓨팅 시스템(200)은도 2a에 도시된 바와 같이 데이터(204) 및 모듈(209)을 포함할 수 있다. 예를 들어, 데이터(204) 및 모듈(209)은 컴퓨팅 시스템(200)에 구성된 메모리(202)에 저장될 수 있다. 예를 들어, 데이터(204)는 입력 및 출력 데이터(205), 확장 데이터(206), 주소 데이터(207) 및 기타 데이터(208)를 포함할 수 있다. 이하에서 데이터(204)에 대해 상세하게 설명하기로 한다.
일 실시예에서, 입력 및 출력 데이터(205)는, 입력 이미지(101)의 복수의 픽셀 값들(104) 중 적어도 하나, 제1 커널(102)과 연관된 하나 이상의 커널 값(105), 및 출력 이미지(103)의 복수의 픽셀 값들(104)을 포함한다. 또한, 입력 및 출력 데이터(205)는, 입력 이미지(101)의 크기, 출력 이미지(103)의 크기 및 제1 커널(102)의 크기 중 적어도 하나를 포함한다. 크기는 입력 이미지(101), 제1 커널(102) 및 출력 이미지(103)의 매트릭스에 포함되는 로우 개수 및 컬럼 개수를 나타낸다.
예를 들어, 도 1a에 도시된 바와 같이, 복수의 픽셀 값들(104)을 갖는 입력 이미지(101)의 크기는 6x6이고, 하나 이상의 커널 값(105)을 갖는 제1 커널(102)의 크기는 3x3이며, 복수의 픽셀 값들(104)을 갖는 출력 이미지(103)의 크기는 4x4이다.
일 실시예에서, 확장 데이터(206)는 확장률, 제2 커널과 연관된 하나 이상의 커널 값(105) 및 제2 커널의 크기 중 적어도 하나를 포함한다. 크기는 제2 커널의 매트릭스에 포함되는 로우 개수 및 컬럼 개수를 나타낸다.
확장률은 제2 커널을 생성하기 위해 제1 커널(102)의 하나 이상의 커널 값(105) 사이에 삽입될 하나 이상의 "0"의 개수를 나타낸다. 하나 이상의 "0"은 제1 커널(102)의 x방향 및 y방향에 삽입된다. 예를 들어, 확장률이 "3"인 경우, 제1 커널(102)의 x방향 및 y방향의 하나 이상의 커널 값(105) 사이에 2개의 "0"이 삽입된다. 하나 이상의 커널 값(105) 사이에 삽입된 하나 이상의 "0"의 개수는, 확장률보다 하나 적다.
일 실시예에서, 주소 데이터(207)는 입력 이미지(101)의 하나 이상의 블록에 대한 주소, 제1 커널(102)과 연관된 하나 이상의 커널 값(105)의 주소 및 제2 커널과 연관된 커널 값(105)의 주소 중 적어도 하나를 포함한다.
도 2b는 일 실시예에 따른 입력 이미지의 하나 이상의 블록을 설명하기 위한 예시적인 도면이다.
입력 이미지(101)의 복수의 픽셀 값들(104) 중 하나 이상의 픽셀 값이 그루핑되어 하나 이상의 블록을 형성할 수 있다. 예를 들어, 도 2b를 참조하면, 도 1a에 도시된 입력 이미지(101)의 복수의 픽셀 값들(104) 중 하나 이상의 픽셀 값은, 하나 이상의 블록(215)(즉, 4 개의 블록(215))으로 그룹핑된다.
또한, 하나 이상의 블록(215)의 주소는 2진수, 16진수 등 중 적어도 하나를 사용하여 표현된다. 예를 들어, 2진수로 표현된 입력 이미지(101)의 제1 블록의 주소는 "0100110110"으로 표시되고 16진수로 표현된 입력 이미지(101)의 제1 블록의 주소는 "1D295F"로 표시된다.
일 실시예에서, 기타 데이터(208)는 메모리(202)의 기본 구조의 크기, 하나 이상의 분해된 커널의 주소, 및 카운터(예를 들어, 셀 번호 X, 셀 번호 Y, 셀 번호 Z, 확장 오프셋 X 및 확장 오프셋 Y 등)와 연관된 최대 값 정보를 포함할 수 있다.
일 실시예에서, 데이터(204)는 다양한 데이터 구조의 형태로 메모리(202)에 저장될 수 있다. 또한, 데이터(204)는 관계형 데이터 모델 또는 계층형 데이터 모델과 같은 데이터 모델을 사용하여 구성될 수 있다. 기타 데이터(208)는 컴퓨팅 시스템(200)의 다양한 기능을 수행하기 위해, 모듈(209)에 의해 생성된 임시 데이터 및 임시 파일을 포함하는 데이터를 저장할 수 있다. 또한, 일 실시예에서, 메모리(202)는 SRAM(Static Random-Access Memory), DRAM(Dynamic Random-Access Memory), 광역 버퍼(global buffer) 등 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 메모리(202)에 저장된 데이터(204)는 컴퓨팅 시스템(200)의 모듈(209)에 의해 처리될 수 있다. 모듈(209)은 메모리(202) 내에 저장될 수 있고, 프로세서(203)와 통신 가능하게 연결될 수 있으며, 도 2a에 도시된 바와 같이 메모리(202) 외부에 존재할 수 있다. 본 개시에서, 모듈(209)이라는 용어는, ASIC(Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), 전자 회로, 프로세서(203)(공유, 전용 또는 그룹), 및 하나 이상의 소프트웨어 또는 펌웨어 프로그램, 조합 논리회로 및/또는 설명된 기능을 제공하는 다른 적절한 구성 요소를 실행하는 메모리(202)를 나타낼 수 있다. 다른 실시예에서, 모듈(209)은 ASIC 및 FPGA 중 적어도 하나를 사용하여 구현될 수 있다.
일 실시예에서, 모듈(209)은 예를 들어 크기 결정 모듈(210), 주소 생성 모듈(211), 읽기(또는 판독) 쓰기 모듈(212), 컨벌루션 모듈(213) 및 기타 모듈(214)을 포함할 수 있다. 통상의 기술자는 상술한 모듈(209)은 단일 모듈 또는 상이한 모듈의 조합으로 표현될 수 있음을 이해할 수 있을 것이다.
일 실시예에서, 크기 결정 모듈(210)은 하나 이상의 분해된 커널의 크기를 결정할 수 있다. 하나 이상의 분해된 커널의 크기는, 제1 커널(102)의 크기, 컴퓨팅 시스템(200)과 연관된 메모리(202)의 기본 구조 및 확장률 중 적어도 하나에 기초하여 결정될 수 있다.
메모리(202)의 기본 구조는, 메모리(202)의 하나 이상의 블록(215) 각각에 저장된 복수의 픽셀 값들(104)의 개수를 나타낼 수 있다. 하나 이상의 블록(215) 중 제1 블록과 연관된 복수의 픽셀 값들(104)은, 한 번의 판독 사이클(read cycle)을 통해 메모리(202)로부터 판독될 수 있다.
복수의 픽셀 값들(104)은 입력 이미지(101)의 하나 이상의 로우 및 하나 이상의 컬럼과 연관된다. 예를 들어, 도 2b에 도시된 하나 이상의 블록(215)의 기본 구조는 3x3이다. 도 2b의 제1 블록과 연관된 판독 동작은, 도 1a에 도시된 입력 이미지(101)의 처음 3개의 로우 및 처음 3개의 컬럼과 관련된 9개의 픽셀 값들(104)의 그룹을 검색한다.
다른 실시예에서, 제1 커널(102)의 크기가 3x3이고 확장률이 "6"인 8x4의 기본 구조의 경우, 하나 이상의 분해된 커널의 크기는 3x7이다.
일 실시예에서, 주소 생성 모듈(211)은 입력 이미지(101)의 하나 이상의 블록(215)의 주소를 생성할 수 있다.
하나 이상의 블록(215)의 주소는, 메모리(202) 내 하나 이상의 블록(215) 중 제1 블록의 기본 주소, 컬럼 스트라이드, 셀 번호 X, 로우 스트라이드, 셀 번호 Y, 채널 스트라이드, 셀 번호 Z, 확장 컬럼 스트라이드, 확장 오프셋 X, 확장 로우 스트라이드, 확장 오프셋 Y 중 적어도 하나를 포함하는 하나 이상의 파라미터를 사용하여 결정될 수 있다. X는 입력 이미지(101)의 수평 방향의 블록(215) 번호, Y는 입력 이미지(101)의 수직 방향의 블록(215) 번호, Z는 입력 이미지(101)에서 채널별 블록(215) 번호를 나타낼 수 있다.
하나 이상의 블록(215)의 주소는 아래의 수학식 3 내지 수학식 8을 통해 결정될 수 있다.
상기 수학식 8에서, 기본 주소는 입력 이미지(10)의 첫 번째 로우 및 첫번 컬럼의 픽셀 값의 주소를 나타낸다. 셀 번호 X, 셀 번호 Y, 셀 번호 Z, 확장 오프셋 X 및 확장 오프셋 Y는 카운터를 나타낸다.
일 실시예에서, 읽기 쓰기 모듈(212)은 주소 생성 모듈(211)에 의해 생성된 하나 이상의 블록(215)의 주소에 기초하여, 입력 이미지(101)의 하나 이상의 블록(215)을 메모리(202)로부터 인출할 수 있다. 읽기 쓰기 모듈(212)에서 입력 이미지(101)의 하나 이상의 블록(215)을 인출하는 것은, 입력 이미지(101)의 하나 이상의 블록(215) 각각에 대응하는 복수의 픽셀 값들(104)을 인출하는 것을 포함한다.
또한, 읽기 쓰기 모듈(212)은 하나 이상의 분해된 커널을 메모리(202)로부터 인출할 수 있다. 또한, 읽기 쓰기 모듈(212)은 출력 이미지(103)의 하나 이상의 픽셀 값(104)을 메모리(202)에 기록할 수 있다.
일 실시예에서, 컨벌루션 모듈(213)은 출력 이미지(103)를 결정하기 위해, 입력 이미지(101)의 하나 이상의 블록(215)과 하나 이상의 분해된 커널 각각 사이의 컨벌루션 연산을 수행할 수 있다.
컨벌루션 모듈(213)은 하나 이상의 분해된 커널 각각의 하나 이상의 커널 값(105)에, 입력 이미지(101)의 하나 이상의 블록(215) 각각에 대응하는 복수의 픽셀 값들(104)을 곱하여, 하나 이상의 매트릭스를 생성함으로써 출력 이미지(103)를 결정할 수 있다. 또한, 출력 이미지(103)는 하나 이상의 매트릭스를 더함으로써 결정될 수 있다.
일 실시예에서, 기타 모듈(214)은 제1 커널(102)과 확장률에 기초하여 제2 커널을 결정하고, 하나 이상의 분해된 커널의 주소를 결정하고, 컬럼 스트라이드, 로우 스트라이드, 채널 스트라이드 중 적어도 하나를 결정하며, 셀 번호 X, 셀 번호 Y, 셀 번호 Z, 확장 오프셋 X, 확장 오프셋 Y 등과 연관된 값들을 결정할 수 있다.
도 3은 일 실시예에 따른 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법을 도시한 흐름도이다.
도 4a 내지 도 4i는 일 실시예에 따른 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 예시를 설명하기 위한 도면이다.
이하에서는, 도 4a 내지 도 4i를 참조하여, 도 3의 각 단계가 구체적으로 설명된다.
도 3을 참조하면, 단계 301에서, 컴퓨팅 시스템(200)은 제1 커널(102) 및 확장률을 수신할 수 있다. 예를 들어, 제1 커널(102)의 크기는 "3x3"이고, 확장률은 "8"일 수 있다.
일 실시예에서, 제1 커널(102)은 확장되지 않은(un-dilated) 커널을 나타낸다. 확장되지 않은 커널은, 하나 이상의 커널 값(105)의 하나 이상의 로우 및 하나 이상의 컬럼을 포함할 수 있다. 제1 커널(102)의 크기는 2x2, 3x3, 4x4 등일 수 있다.
또한, 확장률은 제2 커널을 생성하기 위해, 제1 커널(102)의 하나 이상의 커널 값(105) 사이에 삽입될 하나 이상의 "0"의 개수를 나타낸다. 하나 이상의 "0"은 제1 커널(102)의 x방향 및 y방향에 삽입된다. 하나 이상의 커널 값(105) 사이에 삽입된 하나 이상의 "0"의 개수는, 확장률보다 하나 적다. 예를 들어, 3x3 크기를 갖는 제1 커널(102)을 가정하면, 도 4a에 도시된 회색 음영(grey shading)으로 표시된 부분은 제1 커널(102)의 하나 이상의 커널 값(105)을 나타낼 수 있다.
예를 들어, 제1 커널(102)이 확장률 "2"를 가지며 확장됨에 따라, 5x5 크기를 갖는 제2 커널(401)이 생성된다. 제2 커널(401)을 생성하는 과정에서 삽입된 하나 이상의 "0"은 백색 음영(white shading)으로 표시된다.
또는, 제1 커널(102)이 확장률 "5"에 따라 확장됨에 따라, 11x11 크기를 갖는 제2 커널(401)이 생성된다. 제2 커널(401)의 회색 음영은 하나 이상의 커널 값(105)을 나타내고, 백색 음영은 하나 이상의 커널 값(105) 사이에 삽입된 "0"을 나타낸다.
단계 302에서, 컴퓨팅 시스템(200)은, 제1 커널의 크기, 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정할 수 있다.
일 실시예에서, 메모리(202)의 기본 구조는 한번의 판독 사이클 동안 메모리(202)로부터 판독된 복수의 픽셀 값들(104)의 카운트를 나타낸다. 또한, 메모리(202)에 저장된 입력 이미지(101)의 하나 이상의 블록(215)의 크기는 메모리(202)의 기본 구조에 기초한다.
예를 들어, 기본 구조가 4x8인 경우, 판독 사이클 동안 32개의 픽셀 값들(104)이 메모리로부터 독출된다. 32개의 픽셀 값들(104)은 메모리(202) 내 하나의 로우 또는 하나의 컬럼에 저장될 수 있다. 또한, 32개의 픽셀 값들(104)은 입력 이미지(101) 내 복수의 픽셀 값들에 대응될 수 있다. 입력 이미지(101) 내 32개의 픽셀 값들(104)은, 4개의 로우 및 8개의 컬럼에 대응될 수 있다.
예를 들어, 도 4b에는 20x24 크기의 입력 이미지(101)가 도시된다. 복수의 픽셀 값들(104)은 4x8 크기의 15개의 블록(215)으로 그루핑되며, 여기서 각 블록은 32개의 픽셀 값들(104)을 포함한다. 각각의 블록에 대응하는 32개의 픽셀 값들(104)은, 메모리(202)의 하나의 로우에 저장된다. 컴퓨팅 시스템(200)은 한 번의 판독 사이클에서 메모리(202)의 하나의 로우에 저장된 32개의 픽셀 값들(104)을 판독할 수 있다.
일 실시예에서, 메모리(202)에 저장된 입력 이미지(101)의 하나 이상의 블록(215)은, 메모리(202)의 기본 구조 및 확장률 중 적어도 하나에 기초할 수 있다. 예를 들어, 메모리(202)의 기본 구조가 4x8이고, 확장률이 "6"인 경우, 입력 이미지(101)의 복수의 픽셀 값들(104)은 도 4c에 도시된 바와 같이 샤드(shards)로 분할된다. 32개의 픽셀 값들(104)을 포함하는 각각의 샤드는 메모리(202)에 하나의 로우 또는 하나의 컬럼으로 저장된다.
일 실시예에서, 4x8 크기의 기본 구조에 대해, 가변 확장률을 갖는 제2 커널(401)에 대응하는 하나 이상의 분해된 커널의 크기가 도 4d의 표(402)에 도시된다.
도 4d의 표(402)에 기재된 "n"은 자연수이다. 수신된 확장률을 획득하기 위해 "n"의 값이 선택된다. "n"의 값 및 확장률에 기초하여, 하나 이상의 분해된 커널에 대응하는 크기가 표(402)로부터 결정된다. 예를 들어, 확장률이 14인 경우, "n"의 값은 "1"로 선택되고, 하나 이상의 분해된 커널의 크기는 3x7이 된다. 다른 예에서, 확장률이 10, 18, 26, 34 등인 경우, 하나 이상의 분해된 커널의 크기는 3x5가 된다. 통상의 기술자는 메모리(202)의 하나 이상의 기본 구조 및 하나 이상의 확장률에 대해, 표(402)가 도 4d와 같이 결정되는 것을 이해할 수 있을 것이다.
단계 303에서, 컴퓨팅 시스템(200)은, 확장률, 및 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정할 수 있다.
일 실시예에서, 메모리 내 하나 이상의 블록 중 제1 블록의 기본 주소, 컬럼 스트라이드(stride), 셀 번호 X, 로우 스트라이드, 셀 번호 Y, 채널 스트라이드, 셀 번호 Z, 확장 컬럼 스트라이드, 확장 오프셋 X, 확장 로우 스트라이드, 확장 오프셋 Y 중 적어도 하나를 포함하는 하나 이상의 파라미터를 이용하여, 하나 이상의 블록에 대한 주소가 결정될 수 있다. X는 입력 이미지의 수평 방향 블록 번호를 나타내고, Y는 입력 이미지의 수직 방향 블록 번호를 나타내며, Z는 이미지의 채널 당 블록 번호를 나타낸다.
하나 이상의 블록(215)의 주소는 상기 수학식 3 내지 수학식 8을 통해 생성될 수 있다. 일 실시예에서, 카운터의 최대 값은 확장률에 기초하여 미리 결정될 수 있다. 예를 들어, 메모리(202)의 기본 구조의 크기가 4x8, 확장률 8, 입력 이미지(101)의 크기가 20x24인 경우를 가정하면, 입력 이미지(101)의 하나 이상의 블록(215)의 주소는 도 4e에 도시된 바와 같이 결정될 수 있다. 하나 이상의 블록(215)에 대해 결정된 주소는 도 4e에서 회색 음영으로 표시된다.
입력 이미지(101)의 음영 표시 안된 하나 이상의 블록(215)은 제2 커널(410)에 삽입된 하나 이상의 "0"과 곱해지고, 출력 이미지(103)의 결정에 기여하지 않는다. 따라서, 출력 이미지(103)를 결정하기 위해 음영 표시 안된 하나 이상의 블록(215)이 요구되지 않으므로, 음영 표시 안된 하나 이상의 블록(215)에 대한 주소는 결정되지 않는다.
단계 304에서, 컴퓨팅 시스템(200)은 주소에 기초하여 하나 이상의 블록(215), 및 하나 이상의 분해된 커널을 메모리(202)로부터 인출할 수 있다.
일 실시예에서, 입력 이미지(101)의 하나 이상의 블록(215)을 인출하는 단계는, 입력 이미지(101)의 하나 이상의 블록(215) 각각에 대응하는 복수의 픽셀 값들(104)을 인출하는 단계를 포함한다.
입력 이미지(101)의 하나 이상의 블록(215)의 주소는, 복수의 픽셀 값들(104)을 인출하기 위해 메모리(202)에 제공된다. 컴퓨팅 시스템(200)은 컨벌루션에 기초하여 출력 이미지(103)를 결정하는 것과 관련된, 입력 이미지(101)의 하나 이상의 블록(215)의 서브 세트를 인출할 수 있다.
일 실시예에서, 메모리(202)로부터 하나 이상의 분해된 커널을 인출하는 단계는, 제2 커널(401)의 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값(105)을 식별하는 단계를 포함할 수 있는데, 여기서 제2 커널(401)은 제1 커널(102) 및 확장률에 기초하여 생성될 수 있다. 또한, 메모리(202)로부터 하나 이상의 분해된 커널을 인출하는 단계는, 하나 이상의 분해된 커널의 크기에 기초하여 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값을 인출하는 단계를 포함할 수 있다.
예를 들어, 확장률 "8"에 대해 크기 3x3을 갖는 제1 커널(102)로부터 생성된 17x17의 크기를 갖는 제2 커널(401)을 가정한다. 크기가 1x1 인 커널(403)은 도 4f에 도시된 바와 같이 식별된다. 또는, 크기 25x25를 갖는 제2 커널(401)에 대응하는 크기1x5를 갖는 하나 이상의 분해된 커널(403)에 대응하는 하나 이상의 커널 값(105)은 도 4g에 도시된 바와 같다.
또한, 하나 이상의 분해된 커널(403)의 주소는 하나 이상의 분해된 커널(403) 각각과 관련된 하나 이상의 커널 값(105)을 인출하기 위해 메모리(202)에 제공될 수 있다.
단계 305에서, 컴퓨팅 시스템(200)은, 하나 이상의 분해된 커널과 입력 이미지의 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여, 출력 이미지를 결정할 수 있다.
일 실시예에서, 출력 이미지(103)를 결정하는 단계는, 하나 이상의 분해된 커널(403) 각각의 하나 이상의 커널 값(105)에, 이에 대응하는 복수의 픽셀 값들(104)을 곱함으로써 하나 이상의 매트릭스를 생성하는 단계를 포함할 수 있다. 또한, 출력 이미지(103)를 결정하는 단계는, 하나 이상의 매트릭스를 더하는 단계를 포함할 수 있다.
예를 들어, 도 4h에 도시된 바와 같이, 크기가 20x24인 입력 이미지(101)와, 크기가 1x1인 하나 이상의 분해된 커널(403)을 가정한다. 입력 이미지(101)의 하나 이상의 블록(215)은, 이에 대응하는 하나 이상의 분해된 커널(403)과 곱해짐으로써, 도 4h에 도시된 바와 같이 하나 이상의 매트릭스가 생성될 수 있다. 출력 이미지(103)를 결정하기 위해, 생성된 하나 이상의 매트릭스가 더해질 수 있다.
일 실시예에서, 도 4i에 도시된 바와 같이, 입력 이미지(101)는 확장률에 기초하여 샤드(404)로 분할되고, 메모리(202)에 저장될 수 있다. 입력 이미지(101)가 샤드(404)로 분할될 때, 확장률은 생성된 샤드(404)의 개수에 기초하여 감소한다. 예를 들어, 입력 이미지(101)가 4개의 샤드로 분할될 경우, 확장률은 6에서 3으로 감소한다.
각 샤드(404)에 대해, 하나 이상의 분해된 커널(403) 각각과의 컨벌루션 연산이 수행됨으로써 하나 이상의 매트릭스가 생성될 수 있다. 또한, 하나 이상의 매트릭스는 샤드(404)로 취급되고, 하나 이상의 매트릭스가 결합됨으로써 출력 이미지(103)가 생성될 수 있다.
일 실시예에서, 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하는 방법은, 제2 커널(401)을 하나 이상의 분해된 커널(403)로 분할하고, 각각의 분해된 커널(403)을 입력 이미지(101)의 하나 이상의 블록(215) 간의 컨벌루션 연산을 수행할 수 있다.
제2 커널(401) 내 "0"과 컨벌루션 연산이 수행되는 하나 이상의 블록(215)은 메모리(202)로부터 인출되지 않으므로, 메모리(202)로부터 인출될 하나 이상의 블록(215) 즉, 입력 이미지(101)의 복수의 픽셀 값들(104)이 감소한다.
메모리(202)로부터 하나 이상의 블록(215)을 인출하는데 필요한 판독 사이클의 횟수가 감소한다. 또한, 하나 이상의 분해된 커널(403)을 인출하는 단계는, 제2 커널(401)로부터 부분적인(partial) 하나 이상의 커널 값(105)을 인출하는 단계를 포함하므로, 판독 사이클 및 메모리(202)로부터 인출되는 하나 이상의 커널 값(105)의 수가 감소한다.
또한, 더 적은 픽셀 값들(104) 및 더 적은 커널 값들(105)이 메모리(202)로부터 인출되는 바, 컨벌루션 과정에서 수행되는 곱셈 및 덧셈 연산 횟수가 감소한다. 또한, 곱셈 및 덧셈 연산 횟수가 감소하는 바, 출력 이미지(103)의 결정 속도가 빨라질 수 있다.
도 5는 일 실시예에 따른 컴퓨터 시스템(500)의 예시적인 블록도이다.
일 실시예에서, 컴퓨터 시스템(500)은 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하기 위한 방법을 구현하는데 이용될 수 있다. 컴퓨터 시스템(500)은 프로세서(502)를 포함할 수 있다. 프로세서(502)는 뉴럴 네트워크에서 가변 확장률을 이용하여 컨벌루션 연산을 수행하기 위한 프로그램 구성 요소를 실생하기 위한 적어도 하나의 데이터 프로세서를 포함할 수 있다. 프로세서(502)는 통합 시스템 (버스) 컨트롤러, 메모리 관리 제어 유닛, 부동 소수점 유닛, 그래픽 프로세싱 유닛, 디지털 신호 처리 유닛 등을 포함할 수 있다.
프로세서(502)는 I/O 인터페이스(501)를 통해, 하나 이상의 I/O 장치(미도시)와 통신하도록 배치될 수 있다. I/O 인터페이스(501)는 오디오, 아날로그, 디지털, 모노럴(monoaural), RCA, 스테레오, IEEE-1394, 시리얼 버스, USB(Universal Serial Bus), 적외선, PS/2, BNC, 동축(coaxial), 컴포넌트, 컴포지트, 디지털 비주얼 인터페이스(DVI), 고화질 멀티미디어 인터페이스(HDMI), RF 안테나, S- Video, VGA, IEEE 802.n/b/g/n/x, 블루투스, 셀룰러(예를 들어, 코드 분할 다중 액세스(CDMA), 고속 패킷 액세스(HSPA+), 글로벌 이동 통신 시스템(GSM), LTE(long-term evolution), WiMax 등과 같은 통신 프로토콜/방법을 제한 없이 사용할 수 있다.
I/O 인터페이스(501)를 사용하여, 컴퓨터 시스템(500)은 하나 이상의 I/O 장치와 통신할 수 있다. 예를 들어, 입력 디바이스(510)는 안테나, 키보드, 마우스, 조이스틱, (적외선) 리모콘, 카메라, 카드 리더, 팩스, 동글(dongle), 생체 인식 리더, 마이크, 터치 스크린, 터치 패드, 트랙볼, 스타일러스, 스캐너, 저장 장치, 트랜시버, 비디오 디바이스/소스 등을 포함할 수 있다. 출력 디바이스(511)는 프린터, 팩스, 비디오 디스플레이(예를 들어, CRT(cathode ray tube), LCD(liquid crystal display), LED(light-emitting diode), 플라즈마, PDP(Plasma display panel), OLED(Organic light-emitting diode display) 등), 오디오 스피커 등을 포함할 수 있다.
일 실시예에서, 컴퓨터 시스템(500)은 통신 네트워크(509)를 통해 서비스 운영자에 연결될 수 있다. 프로세서(502)는 네트워크 인터페이스(503)를 통해 통신 네트워크(509)와 통신하도록 배치될 수 있다. 네트워크 인터페이스(503)는 통신 네트워크 (509)와 통신할 수 있다.
네트워크 인터페이스(503)는 직접 연결, 이더넷(예를 들어, 트위스트 페어 10/100/1000 Base T), 전송 제어 프로토콜/인터넷 프로토콜(TCP / IP), 토큰 링, IEEE 802.11a/b/g/n/x 등의 연결 프로토콜을 이용할 수 있으나, 이에 제한되지 않는다. 통신 네트워크(509)는 직접 상호 접속, 전자 상거래 네트워크, P2P 네트워크, LAN(local area network), WAN(wide area network), 무선 네트워크(예를 들어, 무선 에플리케이션 프로토콜을 사용), 인터넷, Wi-Fi 등을 포함할 수 있으나, 이에 제한되지 않는다. 네트워크 인터페이스(503) 및 통신 네트워크(509)를 사용하여, 컴퓨터 시스템(500)은 하나 이상의 서비스 운영자와 통신할 수 있다.
일 실시예에서, 프로세서(502)는 저장 인터페이스(504)를 통해 메모리(505) (예를 들어, 도 5에 도시되지 않은 RAM, ROM 등)와 통신하도록 배치될 수 있다. 저장 인터페이스(504)는, SATA(Serial Advanced Technology Attachment), IDE(Integrated Drive Electronics), IEEE-1394, USB(Universal Serial Bus), 광 채널, SCSI (Small Computer Systems Interface) 등과 같은 연결 프로토콜을 채용함으로써, 메모리 드라이브, 이동식 디스크 드라이브 등을 포함하지만 이에 제한되지 않는 메모리(505)에 연결될 수 있다. 메모리 드라이브는 드럼, 자기 디스크 드라이브, 광 자기 드라이브, 광 드라이브, RAID(Redundant Array of Independent Disc), 솔리드 스테이트 메모리 장치, 솔리드 스테이트 드라이브 등을 더 포함할 수 있다.
메모리(505)는 사용자/에플리케이션 데이터(506), 운영 체제(507), 웹 서버(508) 등을 포함하지만 이에 제한되지 않는 프로그램 또는 데이터베이스 구성 요소의 컬렉션을 저장할 수 있다. 일 실시예에서, 컴퓨터 시스템(500)은 본 개시에서 설명된 바와 같이 데이터, 변수, 레코드 등과 같은 사용자/에플리케이션 데이터(506)를 저장한다. 이러한 데이터베이스는 Oracle 또는 Sybase와 같은 내결함성, 관계형, 확장 가능하고 안전한 데이터베이스로 구현될 수 있다.
운영 체제(507)는 컴퓨터 시스템(500)의 자원 관리 및 운영을 용이하게 할 수 있다. 운영 체제(507)의 예로는 APPLE® MACINTOSH® OS X®, UNIX®, UNIX 유사 시스템 배포판 (예를 들어, BERKELEY SOFTWARE DISTRIBUTION® (BSD), FREEBSD®, NETBSD®, OPENBSD 등), LINUX® 배포판 (예를 들어, RED HAT®, UBUNTU®, KUBUNTU® 등), IBM®OS/2®, MICROSOFT® WINDOWS® (XP®, VISTA®/7/8, 10 등), APPLE® IOS®, GOOGLETM ANDROIDTM, BLACKBERRY® OS 등을 포함할 수 있다.
일 실시예에서, 컴퓨터 시스템(500)은 웹 브라우저 저장 프로그램 구성 요소를 구현할 수 있다. 웹 브라우저는 MICROSOFT® INTERNET EXPLORER®, GOOGLETM CHROMETM, MOZILLA® FIREFOX®, APPLE® SAFARI® 등과 같은 hypertext viewing 에플리케이션일 수 있다. 보안 웹 브라우징은 HTTPS(Secure Hypertext Transport Protocol), SSL(Secure Sockets Layer), TLS(Transport Layer Security) 등을 이용하여 제공될 수 있다. 웹 브라우저는 AJAX, HTML, ADOBE® FLASH®, JAVASCRIPT®, JAVA®, API (Application Programming Interfaces) 등과 같은 기능을 이용할 수 있다.
컴퓨터 시스템(500)은 메일 서버(미도시) 저장 프로그램 구성 요소를 구현할 수 있다. 메일 서버는 Microsoft Exchange 등과 같은 인터넷 메일 서버일 수 있다. 메일 서버는 ASP(Active Server Pages), ACTIVEX®, ANSI® C ++/C#, MICROSOFT®, .NET, CGI SCRIPTS, JAVA®, JAVASCRIPT®, PERL®, PHP, PYTHON®, WEBOBJECTS® 등과 같은 기능을 이용할 수 있다. 메일 서버는 IMAP(Internet Message Access Protocol), MAPI(Messaging Application Programming Interface), MICROSOFT® Exchange, POP(Post Office Protocol), SMTP(Simple Mail Transfer Protocol) 등과 같은 통신 프로토콜을 이용할 수 있다. 일 실시예에서, 컴퓨터 시스템(500)은 메일 클라이언트 저장 프로그램 구성 요소(미도시)를 구현할 수 있다. 메일 클라이언트는 APPLE® MAIL, MICROSOFT® ENTOURAGE®, MICROSOFT® OUTLOOK®, MOZILLA® THUNDERBIRD® 등과 같은 mail viewing 에플리케이션 일 수 있다.
입력 이미지(101), 확장률 및 메모리(202)의 기본 구조는 원격 디바이스들(512)로부터 수신될 수 있다.
본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.
Claims (15)
- 뉴럴 네트워크에서 가변 확장률(dilation rate)을 이용하여 컨벌루션 연산을 수행하는 방법에 있어서,
컴퓨팅 시스템에 의해, 제1 커널의 크기 및 확장률을 수신하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 제1 커널의 크기, 상기 컴퓨팅 시스템과 연관된 메모리의 기본 구조(baseline architecture) 및 상기 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널(disintegrated kernel)의 크기를 결정하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 확장률, 및 상기 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 상기 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 주소에 기초하여 상기 입력 이미지의 상기 하나 이상의 블록, 및 상기 하나 이상의 분해된 커널을, 상기 메모리로부터 인출(fetch)하는 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 하나 이상의 분해된 커널과 상기 입력 이미지의 상기 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정하는 단계;
를 포함하는, 방법. - 제 1 항에 있어서,
상기 하나 이상의 블록에 대한 주소를 결정하는 단계는,
상기 메모리 내 상기 하나 이상의 블록 중 제1 블록의 기본 주소(base address), 컬럼 스트라이드(stride), 셀 번호 X, 로우 스트라이드, 셀 번호 Y, 채널 스트라이드, 셀 번호 Z, 확장 컬럼 스트라이드, 확장 오프셋 X, 확장 로우 스트라이드, 확장 오프셋 Y 중 적어도 하나를 포함하는 하나 이상의 파라미터를 이용하여, 상기 하나 이상의 블록에 대한 주소를 결정하는 단계;
를 포함하고,
상기 X는 상기 입력 이미지의 수평 방향 블록 번호를 나타내고, 상기 Y는 상기 입력 이미지의 수직 방향 블록 번호를 나타내며, 상기 Z는 상기 이미지의 채널 당 블록 번호를 나타내는 것인, 방법. - 제 1 항에 있어서,
상기 메모리에 저장된 상기 입력 이미지의 상기 하나 이상의 블록의 크기는, 상기 메모리의 기본 구조에 기초하여 결정되는 것인, 방법. - 제 1 항에 있어서,
상기 메모리에 저장된 상기 입력 이미지의 상기 하나 이상의 블록의 크기는, 상기 메모리의 기본 구조 및 상기 확장률 중 적어도 하나에 기초하여 결정되는 것인, 방법. - 제 1 항에 있어서,
상기 입력 이미지의 상기 하나 이상의 블록을 상기 메모리로부터 인출하는 단계는,
상기 입력 이미지의 상기 하나 이상의 블록 각각에 대응하는, 상기 입력 이미지의 복수의 픽셀 값들을 인출하는 단계;
를 포함하는, 방법. - 제 1 항에 있어서,
상기 하나 이상의 분해된 커널을 상기 메모리로부터 인출하는 단계는,
제2 커널 내 상기 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값을 식별하는 단계; 및
상기 하나 이상의 분해된 커널의 크기에 기초하여, 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값을 인출하는 단계;
를 포함하고,
상기 제2 커널은, 상기 제1 커널 및 상기 확장률에 기초하여 생성되는 것인, 방법. - 제 1 항에 있어서,
상기 출력 이미지를 결정하는 단계는,
상기 하나 이상의 분해된 커널 각각의 하나 이상의 커널 값과, 상기 입력 이미지의 상기 하나 이상의 블록 각각에 대응하는 복수의 픽셀 값들 곱함으로써, 하나 이상의 매트릭스를 생성하는 단계; 및
상기 하나 이상의 매트릭스를 더함으로써 상기 출력 이미지를 결정하는 단계;
를 포함하는, 방법. - 뉴럴 네트워크에서 가변 확장률을 이용한 컨벌루션 연산을 수행하기 위한 컴퓨팅 시스템에 있어서,
프로세서; 및
상기 프로세서에 통신 가능하게 결합한 메모리;
를 포함하고,
상기 프로세서는 상기 메모리에 저장된 프로세서 명령을 실행함으로써,
제1 커널의 크기 및 확장률을 수신하고,
상기 제1 커널의 크기, 상기 컴퓨팅 시스템과 연관된 메모리의 기본 구조 및 상기 확장률 중 적어도 하나에 기초하여, 하나 이상의 분해된 커널의 크기를 결정하고,
상기 확장률, 및 상기 메모리 및 입력 이미지의 크기와 연관된 하나 이상의 파라미터에 기초하여, 상기 하나 이상의 분해된 커널 각각에 대응하는 입력 이미지의 하나 이상의 블록에 대한 주소를 결정하고,
상기 주소에 기초하여 상기 입력 이미지의 상기 하나 이상의 블록, 및 상기 하나 이상의 분해된 커널을, 상기 메모리로부터 인출하며,
상기 하나 이상의 분해된 커널과 상기 입력 이미지의 상기 하나 이상의 블록 각각의 컨벌루션 연산에 기초하여 출력 이미지를 결정하는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
상기 메모리 내 상기 하나 이상의 블록 중 제1 블록의 기본 주소, 컬럼 스트라이드, 셀 번호 X, 로우 스트라이드, 셀 번호 Y, 채널 스트라이드, 셀 번호 Z, 확장 컬럼 스트라이드, 확장 오프셋 X, 확장 로우 스트라이드, 확장 오프셋 Y 중 적어도 하나를 포함하는 하나 이상의 파라미터를 이용하여, 상기 하나 이상의 블록에 대한 주소를 결정하고,
상기 X는 상기 입력 이미지의 수평 방향 블록 번호를 나타내고, 상기 Y는 상기 입력 이미지의 수직 방향 블록 번호를 나타내며, 상기 Z는 상기 이미지의 채널 당 블록 번호를 나타내는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
상기 메모리의 기본 구조에 기초하여, 상기 메모리에 저장된 상기 입력 이미지의 상기 하나 이상의 블록의 크기를 결정하는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
상기 메모리의 기본 구조 및 상기 확장률 중 적어도 하나에 기초하여, 상기 메모리에 저장된 상기 입력 이미지의 상기 하나 이상의 블록의 크기를 결정하는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
상기 입력 이미지의 상기 하나 이상의 블록 각각에 대응하는, 상기 입력 이미지의 복수의 픽셀 값들을 인출하는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
제2 커널 내 상기 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값을 식별하고,
상기 하나 이상의 분해된 커널의 크기에 기초하여, 하나 이상의 분해된 커널에 대응하는 하나 이상의 커널 값을 인출하는 것인, 컴퓨팅 시스템. - 제 8 항에 있어서,
상기 프로세서는,
상기 하나 이상의 분해된 커널 각각의 하나 이상의 커널 값과, 상기 입력 이미지의 상기 하나 이상의 블록 각각에 대응하는 복수의 픽셀 값들 곱함으로써, 하나 이상의 매트릭스를 생성하고,
상기 하나 이상의 매트릭스를 더함으로써 상기 출력 이미지를 결정하는 것인, 컴퓨팅 시스템. - 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941000324 | 2019-01-03 | ||
IN201941000324(???) | 2019-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200084808A true KR20200084808A (ko) | 2020-07-13 |
Family
ID=69105749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200001013A KR20200084808A (ko) | 2019-01-03 | 2020-01-03 | 확장 컨벌루션 연산을 수행하는 시스템 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11423251B2 (ko) |
EP (1) | EP3678088B1 (ko) |
KR (1) | KR20200084808A (ko) |
CN (1) | CN111401512B (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215745A (zh) * | 2020-09-30 | 2021-01-12 | 深圳云天励飞技术股份有限公司 | 图像处理方法、装置及电子设备 |
KR20220131626A (ko) | 2021-03-22 | 2022-09-29 | 한국전자통신연구원 | 비정형 커널 패턴을 이용한 확장 컨볼루션 연산 수행 방법 및 이를 이용한 확장 컨볼루션 뉴럴 네트워크 시스템 |
WO2023038219A1 (ko) * | 2021-09-07 | 2023-03-16 | 삼성전자 주식회사 | 이미지를 선명화하는 전자 장치 및 그 동작 방법 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11423251B2 (en) * | 2019-01-03 | 2022-08-23 | Samsung Electronics Co., Ltd. | Method and system of performing convolution in neural networks with variable dilation rate |
US11983854B2 (en) * | 2020-11-10 | 2024-05-14 | Adobe Inc. | Denoising images rendered using Monte Carlo renderings |
KR20220071605A (ko) * | 2020-11-24 | 2022-05-31 | 삼성전자주식회사 | 신경망 장치 및 신경망 장치의 동작 방법 |
US12125174B2 (en) * | 2020-12-24 | 2024-10-22 | Boe Technology Group Co., Ltd. | Image processing method and device, and computer-readable storage medium |
CN112734015B (zh) * | 2021-01-14 | 2023-04-07 | 北京市商汤科技开发有限公司 | 网络生成方法及装置、电子设备和存储介质 |
GB2602997B (en) * | 2021-01-25 | 2023-03-01 | Imagination Tech Ltd | Implementing dilated convolution in hardware |
CN113837858A (zh) * | 2021-08-19 | 2021-12-24 | 同盾科技有限公司 | 用户信贷风险预测的方法、系统、电子装置和存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8437570B2 (en) * | 2008-05-23 | 2013-05-07 | Microsoft Corporation | Geodesic image and video processing |
US8442927B2 (en) * | 2009-07-30 | 2013-05-14 | Nec Laboratories America, Inc. | Dynamically configurable, multi-ported co-processor for convolutional neural networks |
US9870555B2 (en) | 2012-11-30 | 2018-01-16 | Ncr Corporation | Customer interaction manager on a restaurant computer |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
US10242311B2 (en) * | 2016-08-11 | 2019-03-26 | Vivante Corporation | Zero coefficient skipping convolution neural network engine |
US11080591B2 (en) * | 2016-09-06 | 2021-08-03 | Deepmind Technologies Limited | Processing sequences using convolutional neural networks |
WO2018081089A1 (en) | 2016-10-26 | 2018-05-03 | Deepmind Technologies Limited | Processing text sequences using neural networks |
JP2020510463A (ja) | 2017-01-27 | 2020-04-09 | アーテリーズ インコーポレイテッド | 全層畳み込みネットワークを利用する自動化されたセグメンテーション |
US10067509B1 (en) | 2017-03-10 | 2018-09-04 | TuSimple | System and method for occluding contour detection |
US9953236B1 (en) * | 2017-03-10 | 2018-04-24 | TuSimple | System and method for semantic segmentation using dense upsampling convolution (DUC) |
CN106934456A (zh) * | 2017-03-16 | 2017-07-07 | 山东理工大学 | 一种深度卷积神经网络模型构建方法 |
US11164071B2 (en) * | 2017-04-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing computational complexity of convolutional neural networks |
US10430913B2 (en) | 2017-06-30 | 2019-10-01 | Intel Corporation | Approximating image processing functions using convolutional neural networks |
CN108734211B (zh) * | 2018-05-17 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 图像处理的方法和装置 |
US11030724B2 (en) * | 2018-09-13 | 2021-06-08 | Samsung Electronics Co., Ltd. | Method and apparatus for restoring image |
US11423251B2 (en) * | 2019-01-03 | 2022-08-23 | Samsung Electronics Co., Ltd. | Method and system of performing convolution in neural networks with variable dilation rate |
CN109858612A (zh) * | 2019-01-18 | 2019-06-07 | 清华大学 | 一种自适应形变空洞卷积方法 |
US10685286B1 (en) * | 2019-07-30 | 2020-06-16 | SparkCognition, Inc. | Automated neural network generation using fitness estimation |
-
2020
- 2020-01-03 US US16/733,314 patent/US11423251B2/en active Active
- 2020-01-03 CN CN202010009066.2A patent/CN111401512B/zh active Active
- 2020-01-03 KR KR1020200001013A patent/KR20200084808A/ko active Search and Examination
- 2020-01-03 EP EP20150187.1A patent/EP3678088B1/en active Active
-
2022
- 2022-06-28 US US17/851,704 patent/US11854174B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215745A (zh) * | 2020-09-30 | 2021-01-12 | 深圳云天励飞技术股份有限公司 | 图像处理方法、装置及电子设备 |
KR20220131626A (ko) | 2021-03-22 | 2022-09-29 | 한국전자통신연구원 | 비정형 커널 패턴을 이용한 확장 컨볼루션 연산 수행 방법 및 이를 이용한 확장 컨볼루션 뉴럴 네트워크 시스템 |
WO2023038219A1 (ko) * | 2021-09-07 | 2023-03-16 | 삼성전자 주식회사 | 이미지를 선명화하는 전자 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20200218936A1 (en) | 2020-07-09 |
US11854174B2 (en) | 2023-12-26 |
US11423251B2 (en) | 2022-08-23 |
EP3678088B1 (en) | 2023-08-09 |
CN111401512A (zh) | 2020-07-10 |
CN111401512B (zh) | 2024-06-04 |
EP3678088A1 (en) | 2020-07-08 |
US20220374651A1 (en) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200084808A (ko) | 확장 컨벌루션 연산을 수행하는 시스템 및 방법 | |
US20200342360A1 (en) | Image processing method and apparatus, and computer-readable medium, and electronic device | |
CN109997168B (zh) | 用于生成输出图像的方法和系统 | |
US11048867B2 (en) | System and method for extracting tabular data from a document | |
US10621764B2 (en) | Colorizing vector graphic objects | |
US11151780B2 (en) | Lighting estimation using an input image and depth map | |
JP6266656B2 (ja) | 画像をサイズ変更するためのシステム及び方法 | |
US11657513B2 (en) | Method and system for generating a tri-map for image matting | |
US10789712B2 (en) | Method and system for image analysis to detect cancer | |
CN109977952B (zh) | 基于局部最大值的候选目标检测方法 | |
WO2019041842A1 (zh) | 一种图像处理方法及装置、存储介质和计算机设备 | |
US11636665B2 (en) | Streaming image semantic segmentation method, logical integrated circuit system and electronic device | |
US11875486B2 (en) | Image brightness statistical method and imaging device | |
US20190325008A1 (en) | Processing duplicate multimedia content | |
EP3471018B1 (en) | Method and apparatus for evaluating illumination condition in face image | |
KR20200092466A (ko) | 의료 영상의 분석 모델을 학습시키는 학습 장치 및 그 학습 방법 | |
CN113012031A (zh) | 图像处理方法和图像处理装置 | |
US20200293613A1 (en) | Method and system for identifying and rendering hand written content onto digital display interface | |
TW202022796A (zh) | 神經網路模型融合方法及應用其之電子裝置 | |
CN114140488A (zh) | 视频目标分割方法及装置、视频目标分割模型的训练方法 | |
US20120229857A1 (en) | Moving labels in graphical output to avoid overprinting | |
EP3528109A1 (en) | Method and system for integrating scene database with hmi application | |
US11989858B2 (en) | Systems and methods of determining margins of an image for content insertion to form a composite image | |
CN115861096B (zh) | 图像处理方法、装置及计算机设备 | |
US20230049395A1 (en) | System and Computer-Implemented Method for Character Recognition in Payment Card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |