KR102107709B1 - 공간 트랜스포머 모듈들 - Google Patents
공간 트랜스포머 모듈들 Download PDFInfo
- Publication number
- KR102107709B1 KR102107709B1 KR1020177032381A KR20177032381A KR102107709B1 KR 102107709 B1 KR102107709 B1 KR 102107709B1 KR 1020177032381 A KR1020177032381 A KR 1020177032381A KR 20177032381 A KR20177032381 A KR 20177032381A KR 102107709 B1 KR102107709 B1 KR 102107709B1
- Authority
- KR
- South Korea
- Prior art keywords
- feature map
- neural network
- input
- spatial
- image processing
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 85
- 230000009466 transformation Effects 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000005070 sampling Methods 0.000 claims abstract description 34
- 230000004807 localization Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000001902 propagating effect Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 abstract description 13
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000006260 foam Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G06N3/0454—
-
- G06K9/03—
-
- G06K9/4628—
-
- G06K9/527—
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/52—Scale-space analysis, e.g. wavelet analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biodiversity & Conservation Biology (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
공간 트랜스포머 모듈을 포함하는 이미지 프로세싱 신경 네트워크 시스템을 이용하여 입력들을 프로세싱하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하여 방법들, 시스템들 및 장치들이 제공된다. 방법들 중 하나는 하나 이상의 입력 이미지들로부터 도출된 입력 특징 맵을 수신하는 단계와 그리고 트랜스폼된 특징 맵을 생성하기 위해 상기 입력 특징 맵에 공간 트랜스포메이션을 적용하는 단계를 포함하고, 상기 적용하는 단계는 상기 공간 트랜스포메이션을 위한 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것과 그리고 상기 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링하는 것을 포함한다.
Description
본 명세서는 출력들을 생성하기 위해 신경 네트워크들(neural networks)의 계층들을 통해 이미지 데이터를 프로세싱하는 것에 관한 것이다.
신경 네트워크들은 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛들의 하나 이상의 계층들을 사용하는 머신 학습 모델들이다. 일부 신경 네트워크들은 출력 계층에 추가적으로 하나 이상의 숨겨진 계층들(hidden layers)을 포함한다. 각각의 숨겨진 계층의 출력은 네트워크의 다음 계층, 즉 다음 숨겨진 계층 또는 출력 계층에 대한 입력으로서 사용된다. 네트워크의 각 계층은 파라미터들의 각각의 세트의 현재 값들에 따라 수신된 입력으로부터 출력을 생성한다.
일반적으로, 본 명세서는 하나 이상의 컴퓨터들에 의해 구현되고 하나 이상의 공간 트랜스포머 모듈들을 포함하는 이미지 프로세싱 신경 네트워크들을 기술한다. 이미지 프로세싱 신경 네트워크 시스템은 하나 이상의 입력 이미지들을 수신하고, 상기 하나 이상의 입력 이미지들로부터 신경 네트워크 출력을 생성하기 위해 상기 하나 이상의 입력 이미지들을 프로세싱하도록 구성될 수 있다. 상기 이미지 프로세싱 신경 네트워크는 공간 트랜스포머 모듈을 포함하며, 상기 공간 트랜스포머 모듈은, 상기 하나 이상의 입력 이미지들로부터 도출된 입력 특징 맵을 수신하는 동작과, 트랜스폼된 특징 맵을 생성하기 위해 상기 입력 특징 맵에 공간 트랜스포메이션을 적용하는 동작을 포함하는 동작들을 수행하도록 구성되며, 상기 적용하는 동작은, 공간 트랜스포메이션을 위한 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것과 그리고 상기 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링하는 것을 포함한다.
상기 동작들은, 상기 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트에 대한 입력으로서 상기 트랜스폼된 특징 맵을 제공하는 동작을 더 포함할 수 있다. 상기 입력 특징 맵은 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트에 의해 생성된 출력일 수 있다. 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트는 다른 공간 트랜스포머 모듈일 수 있다. 다른 공간 트랜스포머 모듈은 공간 트랜스포머 모듈과는 다른 타입의 공간 트랜스포메이션을 수행할 수 있다. 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트는 신경 네트워크 계층일 수 있다. 상기 입력 특징 맵은 하나 이상의 입력 이미지들 중 하나일 수 있다.
상기 공간 트랜스포머 모듈은 하나 이상의 신경 네트워크 계층들을 포함하는 로컬라이제이션(localisation) 서브네트워크를 포함할 수 있으며, 상기 로컬라이제이션 서브네트워크는 상기 로컬라이제이션 서브네트워크의 파라미터들의 세트의 현재 값들에 따라 상기 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하도록 구성되고, 상기 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것은 상기 로컬라이제이션 서브네트워크를 사용하여 상기 입력 특징 맵을 프로세싱하는 것을 포함한다.
트랜스폼된 특징 맵을 생성하기 위해 공간 트랜스포메이션 파라미터들에 따라 입력 특징 맵으로부터 샘플링하는 것은, 트랜스포메이션 파라미터들을 사용하여, 트랜스폼된 특징 맵의 복수의 위치들 각각에 대해, 위치의 값이 어떻게 입력 특징 맵의 값들로부터 파생되어야 하는지를 정의하는 샘플링 그리드를 생성하는 것과 그리고 상기 트랜스폼된 특징 맵을 생성하기 위해 상기 샘플링 그리드에 따라 상기 입력 특징 맵으로부터 샘플링하는 것을 포함한다. 샘플링 메커니즘은 미분가능할(differentiable) 수 있다. 공간 트랜스포머 모듈은 이미지 프로세싱 신경 네트워크 시스템의 트레이닝 동안 역전파(backpropagation)를 사용하여 트레이닝되었을 수 있다. 트랜스폼된 특징 맵은 입력 특징 맵과 동일한 차원(dimension)들을 가질 수 있다. 트랜스폼된 특징 맵은 입력 특징 맵과 다른 차원들을 가질 수 있다.
하나 이상의 컴퓨터들의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은 시스템이 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 자체에 인스톨되도록 하고, 이들은 동작 시, 상기 시스템으로 하여금 동작들 또는 액션들을 수행하도록 함을 의미한다. 하나 이상의 컴퓨터들의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은 하나 이상의 프로그램들이 명령어들을 포함하고, 이 명령어들이 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작들 또는 액션들을 수행하게 함을 의미한다.
또한, 상술된 공간 트랜스포머 모듈의 각각의 동작들을 포함하는 방법, 및 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 상기 공간 트랜스포머 모듈의 각각의 동작들을 수행하게 하는 명령어들이 인코딩된 컴퓨터 저장 매체가 기술된다.
또한, 방법이 기술되며, 상기 방법은 트레이닝 이미지들 상에서 이미지 프로세싱 신경 네트워크를 트레이닝하는 단계를 포함하고, 상기 이미지 프로세싱 신경 네트워크 시스템은 하나 이상의 입력 이미지들을 수신하고 상기 하나 이상의 입력 이미지들로부터 신경 네트워크 출력을 생성하기 위해 상기 하나 이상의 입력 이미지들을 프로세싱하도록 구성되며, 상기 이미지 프로세싱 신경 네트워크 시스템은 공간 트랜스포머 모듈을 포함하고, 상기 공간 트랜스포머 모듈은 동작들을 수행하도록 구성되며, 상기 동작들은 상기 하나 이상의 입력 이미지들로부터 도출된 입력 특징 맵을 수신하는 동작과, 트랜스폼된 특징 맵을 생성하기 위해 상기 입력 특징 맵에 공간 트랜스포메이션을 적용하는 동작을 포함하고, 상기 적용하는 동작은, 상기 공간 트랜스포메이션을 위한 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것과 그리고 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링을 하는 것을 포함하며, 상기 이미지 프로세싱 신경 네트워크를 트레이닝하는 것은 상기 이미지 프로세싱 신경 네트워크에 의해 생성된 신경 네트워크 출력들과 공간 트랜스포머 모듈을 트레이닝하기 위한 트레이닝 이미지들에 대한 알려진 출력들 간의 에러들로부터 컴퓨팅된 그래디언트(gradient)들을 역전파하는 것을 포함한다.
공간 트랜스포머 모듈은 하나 이상의 신경 네트워크 계층들을 포함하는 로컬라이제이션 서브네트워크를 포함할 수 있으며, 로컬라이제이션 서브네트워크는 로컬라이제이션 서브네트워크의 파라미터들의 세트의 현재 값들에 따라 공간 트랜스포메이션 파라미터들을 생성하기 위해 입력 특징 맵을 프로세싱하도록 구성된다. 샘플링 메커니즘은 미분가능할 수 있다. 그래디언트들을 역전파하는 것은 로컬라이제이션 서브네트워크의 파라미터들의 값들을 조정하기 위해 샘플링 메커니즘을 통해 그래디언트들을 역전파하는 것을 포함할 수 있다.
하나 이상의 컴퓨터들 및 상기 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 상기 방법의 동작들을 수행하도록 동작가능한 명령어들을 저장하는 하나 이상의 저장 디바이스들을 포함하는 시스템이 제공될 수 있다. 컴퓨터 저장 매체는 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 상기 방법의 동작들을 수행하게 하는 명령들이 인코딩될 수 있다.
일 구현의 컨텍스트에서 설명된 특징들은 다른 구현들의 특징들과 결합될 수 있음이 이해될 것이다.
본 명세서에 기술된 본 발명의 특정 실시예들은 다음의 장점들 중 하나 이상을 실현하도록 구현될 수 있다. 하나 이상의 공간 트랜스포머 모듈들을 포함하도록 신경 네트워크의 아키텍처를 수정함으로써, 신경 네트워크는 최적화에 대한 어떤 추가적인 트레이닝 감독 또는 수정, 즉 트레이닝 프로세스가 없이 특징 맵 자체를 조건으로(conditional on) 특징 맵들을 능동적으로 공간적으로 트랜스폼하도록 트레이닝될 수 있다. 신경 네트워크는 트레이닝하는 데 더 효율적일 수 있다. 더욱이, 공간 트랜스포머들의 사용은 결과적으로, 신경 네트워크가 변환(translation), 스케일, 회전 및 더욱 일반적인 워핑(warping)에 대한 불변성을 학습하게 하는 바, 이는 결과적으로 여러 벤치 마크에서 그리고 트랜스포메이션들의 다수의 클래스들에 대해 최첨단의(state-of-the-art) 또는 최첨단보다 양호한 퍼포먼스를 발휘하게 한다. 따라서, 본 발명의 실시예들은 더욱 효과적으로 생성된 이미지 데이터와 관련된 속성을 나타내는 출력 데이터를 생성하기 위해 이미지 데이터를 프로세싱하도록 트레이닝될 수 있는 신경 네트워크들을 제공할 수 있다.
본 명세서의 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부된 도면들 및 이하의 설명에서 제안된다. 본 발명의 다른 특징들, 양상들 및 장점들은 상세한 설명, 도면 및 특허 청구 범위로부터 분명해질 것이다.
도 1은 예시적인 이미지 프로세싱 신경 네트워크 시스템을 도시한다.
도 2는 공간 트랜스포머 모듈을 이용하여 입력을 프로세싱하기 위한 예시적인 프로세스의 순서도이다.
도 3은 트랜스폼된 특징 맵을 생성하기 위한 예시적인 프로세스의 순서도이다.
다양한 도면들에서 유사한 도면 부호들 및 지정들은 유사한 요소들을 나타낸다.
도 2는 공간 트랜스포머 모듈을 이용하여 입력을 프로세싱하기 위한 예시적인 프로세스의 순서도이다.
도 3은 트랜스폼된 특징 맵을 생성하기 위한 예시적인 프로세스의 순서도이다.
다양한 도면들에서 유사한 도면 부호들 및 지정들은 유사한 요소들을 나타낸다.
본 명세서는 적어도 하나의 공간 트랜스포머 모듈을 포함하는 하나 이상의 위치들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램으로서 구현되는 이미지 프로세싱 신경 네트워크 시스템을 기술한다.
이미지 프로세싱 신경 네트워크 시스템은 하나 이상의 이미지들에 대한 신경 네트워크 출력을 생성하기 위해 하나 이상의 이미지들을 포함하는 입력 이미지 데이터를 프로세싱한다.
이미지 프로세싱 신경 네트워크 시스템은 하나 이상의 이미지들에 대한 어떤 종류의 신경 네트워크 출력을 생성하도록 구성될 수 있다.
예를 들어, 이미지 프로세싱 신경 네트워크 시스템은, 입력 이미지들을 하나 이상의 객체 카테고리들로부터의 객체들의 이미지들을 포함하는 것으로 분류하도록 구성될 수 있는 바, 즉, 입력 이미지가 객체 카테고리에 속하는 객체의 이미지를 포함할 가능성(likelihood)을 나타내는 하나 이상의 객체 카테고리들의 각각에 대한 각각의 스코어를 포함하는 입력 이미지에 대한 신경 네트워크 출력을 생성하도록 구성된다. 예를 들어, 본 명세서에 기술된 바와 같이 하나 이상의 공간 트랜스포머 모듈들을 포함하도록 수정될 수 있는 입력 이미지들을 분류하기 위한 이미지 프로세싱 신경 네트워크의 일례가 문헌 - C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. CVPR, 2015에 기술되어 있다.
다른 예로서, 이미지 프로세싱 신경 네트워크 시스템은 입력 이미지들 내의 객체들의 위치들을 식별하도록 구성될 수 있다. 예를 들어, 시스템은 동일한 미지 카테고리로부터의 객체의 이미지를 각각 포함하는 이미지들의 세트를 입력으로서 수신할 수 있고, 이미지들 각각에서 객체의 위치를 식별하는 신경 네트워크 출력을 생성할 수 있다. 하나 이상의 공간 트랜스포머 모듈들을 포함하도록 수정될 수 있는 이미지들 내의 객체들을 로컬라이징하기 위한 이미지 프로세싱 신경 네트워크의 일례가 문헌 - K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. ICLR, 2015에 기술되어 있다.
다른 예로서, 이미지 프로세싱 신경 네트워크 시스템은 입력 이미지를 복원(reconstruct)하도록 구성될 수 있는 바, 즉, 입력 이미지와 매칭하는 출력 이미지를 생성하도록 구성될 수 있다. 입력 이미지들을 복원하도록 구성되고 하나 이상의 공간 트랜스포머 모듈들을 포함하도록 수정될 수 있는 시스템의 예가 문헌 - K. Gregor, I. Danihelka, A. Graves, and D. Wierstra. Draw: A recurrent neural network for image generation. ICML, 2015에 기술되어 있다.
도 1은 예시적인 이미지 프로세싱 신경 네트워크 시스템(100)을 도시한다. 이미지 프로세싱 신경 네트워크 시스템(100)은 하나 이상의 위치들에서 하나 이상의 컴퓨터들 상의 컴퓨터 프로그램들로서 구현되는 시스템의 예이며, 이 예에서 하기 기술되는 시스템들, 컴포넌트들 및 기법들이 구현될 수 있다.
이미지 프로세싱 신경 네트워크 시스템(100)은 하나 이상의 이미지들을 포함하는 입력 이미지 데이터(102)를 수신하고 신경 네트워크 출력(116)을 생성하기 위해 입력 이미지 데이터(102)를 프로세싱한다. 상술한 바와 같이, 이미지 프로세싱 신경 네트워크 시스템(100)은 수신된 입력 이미지들에 대한 다양한 종류의 신경 네트워크 출력들을 생성하도록 구성될 수 있다.
이미지 프로세싱 신경 네트워크 시스템(100)은 시스템(100) 내에 배열된 복수의 신경 네트워크 컴포넌트들을 포함하여, 각 컴포넌트는 (i) 이미지 프로세싱 신경 네트워크 시스템(100) 내의 다른 컴포넌트들 중 하나 이상에 의해 생성된 출력 (ii) 입력 이미지 데이터(102)의 일부 또는 전부, 또는 (iii) 둘 모두를 입력으로서 수신하고, 컴포넌트 출력을 생성하기 위해 수신된 입력을 프로세싱한다.
컴포넌트들은 컴포넌트들에 대한 파라미터들의 세트의 현재 값들에 따라 입력들로부터 출력들을 생성하는 신경 네트워크 계층들, 서브네트워크들, 신경 네트워크 모듈들 또는 다른 통상의 신경 네트워크 컴포넌트들을 포함할 수 있다.
컴포넌트들은 또한, 하나 이상의 공간 트랜스포머 모듈들을 포함한다.
특히, 도 1의 예에서, 이미지 프로세싱 신경 네트워크 시스템(100)은 신경 네트워크 컴포넌트 A(104)와 신경 네트워크 컴포넌트 B(114) 사이에 삽입된 공간 트랜스포머 모듈(108)을 포함한다.
이미지 프로세싱 신경 네트워크 시스템(100)의 구성에 따라, 신경 네트워크 컴포넌트 A(104)는 통상의 신경 네트워크 컴포넌트, 예를 들어, 신경 네트워크 계층 또는 다른 공간 트랜스포머 모듈일 수 있다. 마찬가지로, 신경 네트워크 컴포넌트 B(114)는 또한, 통상의 신경 네트워크 컴포넌트 또는 다른 공간 트랜스포머 모듈일 수 있다.
이미지 프로세싱 신경 네트워크 시스템(100)에 의한 입력 이미지 데이터(102)의 프로세싱 동안, 공간 트랜스포머 모듈(108)은 신경 네트워크 컴포넌트 B(114)에 입력으로서 제공되는 트랜스폼된 특징 맵(112)을 생성하기 위해 신경 네트워크 컴포넌트 A(104)로부터 수신된 입력 특징 맵(106)에 공간 트랜스포메이션을 적용하여 하도록 구성된다. 도 1에 도시된 것과 다른 예에서, 입력 특징 맵(106)은 시스템(100)의 다른 컴포넌트에 의해 생성된 출력 대신, 이미지 데이터(102)의 일부 또는 전부일 수 있다.
일반적으로, 특징 맵은 폭 W, 높이 H 및 채널들의 수 C를 갖는 H × W × C 텐서(tensor)이다. 이미지 프로세싱 신경 네트워크 시스템(100)에서 공간 트랜스폼 모듈(108)이 어디에 위치하는지에 따라, 채널들의 수는 예를 들어, 특징 맵이 다중 채널 이미지 또는 컨볼루셔널 신경 네트워크 계층의 다중 채널 출력인 경우 하나보다 많거나, 또는 하나일 수 있다. 주어진 특징 맵의 요소들은 본 명세서에서 픽셀들로서 지칭될 것이다.
공간 트랜스포머 모듈(108)은 입력 특징 맵(106) 상에서 컨디셔닝되는 특정 타입의 공간 트랜스포메이션을 수행하도록 구성되어서, 즉, 공간 트랜스포머 모듈(108)이 동일한 타입의 서로 다른 트랜스포메이션들을 서로 다른 특징 맵들에 적용하도록 구성된다. 다중 채널 입력 특징 맵들의 경우, 동일한 워핑이 일반적으로 특징 맵의 각 채널에 적용된다.
일반적으로, 공간 트랜스포머 모듈(108)이 수행하도록 된 트랜스포메이션의 타입은, 파라미터화된 형태를 가지며 트랜스포메이션의 파라미터들에 대해 미분가능할 수 있는 어떤 트랜스포메이션일 수 있다.
예를 들어, 공간 트랜스포머 모듈(108)은 다음과 같은 파라미터들 θ의 행렬 Aθ로 표현될 수 있는 2 차원 아핀 트랜스포메이션(affine transformation)을 수행하도록 구성될 수 있다:
이러한 트랜스포메이션은 θ의 값들에 따라 입력 특징 맵에 크롭핑(cropping), 변환, 회전, 스케일링 및 스큐(skew)를 할 수 있다. 다른 예로서, 트랜스포메이션은 다음과 같은 더욱 제약된 타입을 가질 수 있다:
여기서 s, tx 및 ty는 트랜스포메이션의 파라미터들이다. 이러한 더욱 제약된 트랜스포메이션은 s, tx 및 ty의 값들에 따라 크롭핑, 변환 및 등방성 스케일링을 할 수 있다.
또 다른 예들로서, 트랜스포메이션은 8 개의 파라미터들을 갖는 평면 투영 트랜스포메이션(plane projective transformation), 조각별 아핀 트랜스포메이션(piece-wise affine transformation) 또는 박판 스플라인 트랜스포메이션(thin plate spline transformation)일 수 있다.
공간 트랜스포머 모듈(108)이 수행하도록 된 트랜스포메이션의 타입에 대한 파라미터들을 생성하기 위해, 공간 트랜스포머 모듈은 로컬라이제이션 서브네트워크(110)를 사용하여 입력 특징 맵(106)을 프로세싱한다.
로컬라이제이션 서브네트워크(110)는 트랜스포메이션의 파라미터들을 생성하기 위해 입력 특징 맵(106)을 프로세싱하도록 구성된 신경 네트워크이다. 로컬라이제이션 서브네트워크(110)가 생성하는 파라미터들의 수는 트랜스포메이션의 타입에 좌우되는 바, 예를 들어 상기에 보여진 2 차원 아핀 트랜스포메이션에 대해서는 6 개의 파라미터 값들 그리고 상기에 보여진 더욱 제약된 트랜스포메이션에 대해서는 3 개의 파라미터 값들을 갖는다. 로컬라이제이션 네트워크 기능 부(110)는 어떤 적절한 형태(예를 들어 완전히 접속된 네트워크 또는 콘볼루셔널 네트워크)를 취할 수 있지만, 일반적으로 트랜스포메이션 파라미터들을 생성하는 최종 회귀 계층(final regression layer)을 포함한다.
그 다음, 공간 트랜스포머 모듈(108)은 트랜스폼된 특징 맵(112)을 생성하기 위해 공간 트랜스포메이션 파라미터들에 따라 입력 특징 맵(106)으로부터 샘플링한다. 입력 특징 맵에 공간 트랜스포메이션을 적용하는 것은 도 2 및 3를 참조하여 하기에 더욱 상세히 설명된다.
도 2는 수신된 특징 맵을 프로세싱하기 위한 예시적인 프로세스(200)의 흐름도이다. 편의상, 프로세스(200)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그램된 이미지 프로세싱 신경 네트워크 시스템에 포함된 공간 트랜스포머 모듈, 예를 들어, 도 1의 이미지 프로세싱 신경 네트워크 시스템(100)에 포함된 공간 트랜스포머 모듈(108)은 프로세스(200)를 수행할 수 있다.
공간 트랜스포머 모듈은 이미지 프로세싱 신경 네트워크 시스템에 의해 프로세싱되는 입력 이미지 데이터로부터 도출된 입력 특징 맵을 수신한다(단계 202). 일부 구현들에서, 입력 이미지 데이터는 입력 이미지이다. 일부 다른 구현들에서, 입력 특징 맵은 이미지 프로세싱 신경 네트워크 시스템 내의 다른 컴포넌트에 의해 생성된 출력이다.
공간 트랜스포머 모듈은 트랜스폼된 특징 맵을 생성하기 위해 입력 특징 맵에 공간 트랜스포메이션을 적용한다(단계 204). 공간 트랜스포메이션을 적용하는 것은 도 3을 참조하여 하기에 보다 상세하게 설명된다.
공간 트랜스포머 모듈은 트랜스폼된 특징 맵을 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트에, 예컨대 신경 네트워크 계층에 또는 다른 공간 트랜스포머 모듈에 입력으로서 제공한다(단계 206).
도 3은 트랜스폼된 특징 맵을 생성하기 위한 예시적인 프로세스(300)의 순서도이다. 편의상, 프로세스(300)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그램된 이미지 프로세싱 신경 네트워크 시스템에 포함된 공간 트랜스포머 모듈, 예를 들어 도 1의 이미지 프로세싱 신경 네트워크 시스템(100)에 포함된 공간 트랜스포머 모듈(108)은 프로세스(300)를 수행할 수 있다.
공간 트랜스포머 모듈은 공간 트랜스포메이션 파라미터들을 생성하기 위해 입력 특징 맵을 프로세싱한다(단계 302).
특히, 공간 트랜스포머 모듈은 파라미터들의 세트의 현재 값들에 따라 공간 트랜스포메이션 파라미터들을 생성하기 위해 입력 특징 맵을 프로세싱하도록 구성된 로컬라이제이션 서브네트워크를 사용하여 입력 특징 맵을 프로세싱한다. 전술한 바와 같이, 로컬라이제이션 서브네트워크는 어떤 적절한 형태를 취할 수 있지만, 일반적으로 트랜스포메이션 파라미터들을 생성하는 최종 회귀 계층을 포함하고, 로컬라이제이션 서브네트워크에 의해 생성된 파라미터들의 수는 파라미터화된 트랜스포메이션 타입에 따라 변한다. 예를 들어, 아핀 트랜스포메이션의 경우, 로컬라이제이션 서브네트워크는 6 개의 트랜스포메이션 파라미터 값들을 출력하도록 구성될 수 있다.
공간 트랜스포머 모듈은 트랜스포메이션 파라미터들을 사용하여 샘플링 그리드를 생성한다(단계 304). 샘플링 그리드는 트랜스폼된 특징 맵의 복수의 위치들 각각에 대해, 위치의 값이 어떻게 입력 특징 맵의 값들로부터 도출되어야 하는지를 정의한다. 샘플링 그리드를 생성하기 위해, 시스템은 트랜스포메이션 파라미터들을 사용하여 전체 트랜스폼된 특징 맵, 즉 트랜스폼된 특징 맵의 각 픽셀을 커버하는 정규 그리드를 입력 특징 맵의 일부 또는 전부를 커버하는 그리드로 트랜스폼한다.
예를 들어, 아핀 트랜스포메이션의 경우, 정규 그리드를 트랜스폼하는 데 사용된 포인트별 트랜스포메이션(pointwise transformation)은 다음을 만족시킬 수 있다:
공간 트랜스포머 모듈은 트랜스폼된 특징 맵을 생성하기 위해 샘플링 그리드에 따라 입력 특징 맵으로부터 샘플링한다(단계 306).
특히, 트랜스폼된 특징 맵에서 특정 픽셀의 값을 결정하기 위해, 공간 트랜스포머 모듈은 입력 특징 맵에서 샘플링 그리드에 의해 특정된 특정 위치를 중심으로 샘플링 커널을 적용한다. 일부 구현들에서, 샘플링에 의해 생성된 트랜스폼된 특징 맵에서 채널 c에서 위치 에 있는 픽셀의 값 은 다음을 만족한다:
여기서, 는 입력 특징 맵 내의 특정 위치이고, 및 는 특징 맵 보간(interpolation)을 정의하는 샘플링 커널 k()이고, 는 입력 특징 맵의 채널 c에서 위치(n, m)에서의 값이다.
샘플링 커널은 및 에 대해 서브-그래디언트들이 정의될 수 있는 어떤 샘플링 커널일 수 있다. 예를 들어, 샘플링 커널은 정수(integer) 샘플링 커널 또는 이중선형(bilinear) 샘플링 커널일 수 있다.
따라서, 공간 트랜스포머 모듈이 적용되도록 된 트랜스포메이션 타입에 따라, 트랜스폼된 특징 맵은 입력 특징 맵과 동일한 H 및 W 차원들 또는 입력 특징 맵과 다른 H 및 W 차원들을 가질 수 있다.
샘플링 메커니즘은 미분가능하기 때문에, 즉, 샘플링 커널이 서브-그래디언트들로 하여금 및 에 대해 정의될 수 있게 하고 트랜스포메이션이 파라미터화된 형태를 가지며 이 파라미터들에 대해 미분가능한 트랜스포메이션이기 때문에, 공간 트랜스포머 모듈은 이미지 프로세싱 신경 네트워크 시스템의 트레이닝 동안 역전파를 사용하여 트레이닝될 수 있다.
특히, 이미지 프로세싱 신경 네트워크 시스템의 트레이닝 동안, 시스템은 공간 트랜스포머 모듈을 트레이닝하기 위해, 즉, 로컬라이제이션 서브네트워크의 그리고 옵션에 따라서는 샘플링 커널의 파라미터들의 값들을 조정하기 위해, 이미지 프로세싱 신경 네트워크에 의해 생성된 신경 네트워크 출력들과 트레이닝 이미지들에 대한 알려진 출력들 사이의 에러들로부터 계산된 그래디언트들을 역전파할 수 있다.
본 명세서에서 설명된 본 발명 및 기능적 동작들의 실시예들은 본 명세서에 개시된 스트럭쳐들 및 이들의 균등물들을 포함하여 디지털 전자 회로망으로, 유형으로 구현된 컴퓨터 소프트웨어 또는 펌웨어로, 컴퓨터 하드웨어로 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에서 설명된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들, 즉 데이터 프로세싱 장치에 의해 실행되거나 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 유형의 비 일시적인 프로그램 캐리어 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어들은 인공적으로 생성된 전파된 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 전송을 위해 정보를 인코딩하도록 생성된 머신-생성(machine-generated) 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
용어 "데이터 프로세싱 장치"는 예컨대, 프로그래머블 프로세서, 컴퓨터 또는 복수의 프로세서들 또는 컴퓨터들을 예로서 포함하여 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들, 및 머신들을 포괄한다. 장치는 특수용 로직 회로망, 예컨대 FPGA 또는 ASIC을 포함할 수 있다. 장치는 또한, 하드웨어에 추가적으로, 당해의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로서도 지칭되거나 기술될 수 있는) 컴퓨터 프로그램은 컴파일 또는 해석 언어들, 선언 또는 절차 언어들을 포함하는 프로그래밍 언어의 어떤 형태로 작성될 수 있고, 이는 단독 프로그램 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛을 포함하여 어떤 형태로든 전개(deploy)될 수 있다. 컴퓨터 프로그램은 반드시 그러해야 하는 것은 아니지만, 파일 시스템 내의 파일에 대응할 수 있다. 프로그램은 다른 프로그램들 또는 데이터를 유지하는 파일의 일부(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)에, 당해의 프로그램에 전용인 단일 파일에 또는 복수의 조직화된 파일들(예컨대, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 일부들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 일 컴퓨터 상에서 또는, 한 장소에 위치되거나 또는 복수의 장소들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결된 복수의 컴퓨터들 상에서 실행되도록 전개될 수 있다.
본 명세서에 기술된 프로세스들 및 로직 흐름들은 입력 데이터로 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능 컴퓨터들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수용 로직 회로망, 예컨대 FPGA 또는 ASIC에 의해 수행될 수 있고 장치는 또한, 특수용 로직 회로망, 예컨대 FPGA 또는 ASIC으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 및 특수용 마이크로프로세서들 또는 이 두가지 모두 또는 어떤 다른 종류의 중앙 프로세싱 유닛을 포함하는 바, 예컨대 이에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이 두가지 모두로부터 명령어들 및 데이터를 수신하게 된다. 컴퓨터의 필수 요소들은 명령어들을 수행 및 실행하기 위한 중앙 프로세싱 유닛 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 매스(mass) 저장 디바이스들, 예컨대 자기, 자기 광학 디스크들, 또는 광학 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하도록 동작적으로 결합되거나 또는 이 두가지 모두가 다 이루어지게 된다. 그러나, 컴퓨터는 반드시 이러한 디바이스들을 가질 필요는 없다. 더욱이, 컴퓨터는 다른 디바이스, 예컨대 몇 가지 예를 들면, 모바일 전화기, PDA, 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기, 또는 포터블 저장 디바이스(예컨대, USB 플래시 드라이브)에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적절한 컴퓨터 판독가능 매체는, 예로서 반도체 메모리 디바이스들 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스들, 자기 디스크들 예컨대, 내부 하드 디스크들 또는 탈착가능한 디스크들, 자기-광학 디스크들, 및 CD-ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수용 로직 회로망에 의해 보충되거나 또는 이에 통합될 수 있다.
사용자와의 인터랙션(interaction)을 제공하기 위해, 본 명세서에 기술된 본 발명의 실시예들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예컨대 CRT 또는 LCD 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스 예컨대, 마우스 또는 트랙볼을 가지는 컴퓨터로 구현될 수 있다. 다른 종류의 디바이스들이 마찬가지로 사용자와의 인터랙션을 제공하기 위해 사용될 수 있는 바, 예를 들어, 사용자에게 제공되는 피드백은 감각적인(sensory) 피드백의 어떤 형태, 예컨대 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 스피치 또는 촉각 입력을 포함하는 어떤 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 사용자에 의해 이용되는 디바이스에 문서들을 전송하고 이 디바이스로부터 문서들을 수신함으로써(예컨대, 웹 브라우져로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우져에 웹 페이지들을 전송함으로써) 사용자와 인터랙션할 수 있다.
본 명세서에 기술된 본 발명의 실시예들은, 예컨대, 데이터 서버로서 백-엔드 컴포넌트들을 포함하거나 또는 미들웨어 컴포넌트 예컨대, 어플리케이션 서버를 포함하거나 또는 프런트-엔드 컴포넌트 예컨대, 사용자가 본 명세서에 기술된 본 발명의 구현물과 인터랙션할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우져를 가지는 클라이언트 컴퓨터를 포함하는 컴퓨팅 시스템, 또는 하나 이상의 이러한 백-엔드, 미들웨어 또는 프런트-엔드 컴포넌트들의 어떤 조합으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신, 예컨대 통신 네트워크의 어떤 형태 또는 매체에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크("LAN") 및 광역 네트워크("WAN"), 예컨대 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격이며, 전형적으로 통신 네트워크를 통해 인터랙션한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들에 의해 발생된다.
본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 어떤 발명 또는 청구될 수 있는 것의 범위을 제한하는 것으로 해석되어서는 안되며, 오히려 특정한 발명들의 특정한 실시예들에 특정적인 특징들의 설명으로서 해석되어야 한다. 개별적인 실시예들의 맥락에서 본 명세서에 기술된 특정한 특징들은 또한, 단일 실시예로 결합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 특징들은 또한, 복수의 실시예들에서 개별적으로 또는 어떤 적절한 서브조합으로 구현될 수 있다. 더욱이, 비록 특징들이 특정한 조합들에서 역할하는 것으로 상기에 기술될 수 있고 심지어는 초기에 그러하게 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 상기 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브조합 또는 서브조합의 변형으로 유도될 수 있다.
마찬가지로, 동작들이 도면들에서 특별한 순서로 도시되지만, 이는 바람직한 결과들을 달성하기 위해, 이러한 동작들이 도시된 특별한 순서 또는 순차적인 순서로 수행되어야 하거나 또는 모든 예시된 동작들이 수행되어야 함을 요하는 것으로 해석되어서는 안된다. 특정한 상황들에서, 멀티태스킹 및 병렬 프로세싱이 장점적일 수 있다. 더욱이, 상기 기술된 실시예들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요하는 것으로서 해석되어서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로, 단일 소프트웨어 물에 통합되거나 또는 복수의 소프트웨어 물들 내로 패키징될 수 있음이 이해되어야만 한다.
본 발명의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 특허 청구 범위 내에 있다. 예를 들어, 특허 청구 범위에 기재된 액션들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 일례로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요하지 않는다. 특정 구현들에서, 멀티태스킹 및 병렬 프로세싱이 장점적일 수 있다.
Claims (20)
- 하나 이상의 컴퓨터들에 의해 구현되는 이미지 프로세싱 신경 네트워크 시스템으로서,
상기 이미지 프로세싱 신경 네트워크 시스템은 하나 이상의 입력 이미지들을 수신하고 상기 하나 이상의 입력 이미지들로부터 신경 네트워크 출력을 생성하기 위해 상기 하나 이상의 이미지들을 프로세싱하도록 구성되며, 상기 이미지 프로세싱 신경 네트워크 시스템은,
공간 트랜스포머 모듈(spatial transformer module)을 포함하며, 상기 공간 트랜스포머 모듈은 동작들을 수행하도록 구성되고, 상기 동작들은:
상기 하나 이상의 입력 이미지들로부터 도출된 입력 특징 맵을 수신하는 동작과, 그리고
트랜스폼된 특징 맵(transformed feature map)을 생성하기 위해 상기 입력 특징 맵에 공간 트랜스포메이션(spatial transformation)을 적용하는 동작을 포함하고, 상기 적용하는 동작은:
상기 공간 트랜스포메이션에 대한 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것과, 그리고
상기 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링을 하는 것을 포함하는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 동작들은 상기 트랜스폼된 특징 맵을 상기 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트에 입력으로서 제공하는 동작을 더 포함하는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 입력 특징 맵은 상기 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트들에 의해 생성된 출력인 것인 이미지 프로세싱 신경 네트워크 시스템. - 제3항에 있어서,
상기 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트는 다른 공간 트랜스포머 모듈인 것인 이미지 프로세싱 신경 네트워크 시스템. - 제4항에 있어서,
상기 다른 공간 트랜스포머 모듈은 상기 공간 트랜스포머 모듈과 다른 타입의 공간 트랜스포메이션을 수행하는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제3항에 있어서,
상기 이미지 프로세싱 신경 네트워크 시스템의 다른 컴포넌트는 신경 네트워크 계층인 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 입력 특징 맵은 상기 하나 이상의 입력 이미지들 중 하나인 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 공간 트랜스포머 모듈은 하나 이상의 신경 네트워크 계층들을 포함하는 로컬라이제이션 서브네트워크(localisation subnetwork)를 포함하고, 상기 로컬라이제이션 서브네트워크는 상기 로컬라이제이션 서브네트워크의 파라미터들의 세트의 현재의 값들에 따라 상기 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하도록 구성되고,
상기 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것은 상기 로컬라이제이션 서브네트워크를 이용하여 상기 입력 특징 맵을 프로세싱하는 것을 포함하는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링을 하는 것은:
상기 트랜스포메이션 파라미터들을 이용하여, 상기 트랜스폼된 특징 맵에서 복수의 위치들 각각에 대해, 상기 위치의 값이 어떻게 상기 입력 특징 맵 내의 값들로부터 도출되어야 하는지를 정의하는 샘플링 그리드를 생성하는 것과; 그리고
상기 트랜스폼된 특징 맵을 생성하기 위해 상기 샘플링 그리드에 따라 상기 입력 특징 맵으로부터 샘플링하는 것을 포함하는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 샘플링 메커니즘은 미분가능한(differentiable) 것인 이미지 프로세싱 신경 네트워크 시스템. - 제10항에 있어서,
상기 공간 트랜스포머 모듈은 상기 이미지 프로세싱 신경 네트워크 시스템의 트레이닝 동안 역전파(backpropagation)를 이용하여 트레이닝된 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 트랜스폼된 특징 맵은 상기 입력 특징 맵과 동일한 차원들(dimensions)을 가지는 것인 이미지 프로세싱 신경 네트워크 시스템. - 제1항에 있어서,
상기 트랜스폼된 특징 맵은 상기 입력 특징 맵과 다른 차원들을 가지는 것인 이미지 프로세싱 신경 네트워크 시스템. - 컴퓨터로 구현되는 방법으로서, 하나 이상의 컴퓨터들에 의해 제1항 내지 제13항 중 어느 한 항에서 공간 트랜스포머 모듈에 의해 수행되는 동작들에 대응하는 단계들을 수행하는 컴퓨터로 구현되는 방법.
- 명령어들이 수록된 컴퓨터 저장 매체로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 제1항 내지 제13항 중 어느 한 항에서 공간 트랜스포머 모듈에 의해 수행되는 동작들을 수행하게 하도록 하는 컴퓨터 저장 매체.
- 방법으로서,
트레이닝 이미지들 상에서 이미지 프로세싱 신경 네트워크를 트레이닝하는 단계를 포함하고, 상기 이미지 프로세싱 신경 네트워크는 하나 이상의 입력 이미지들을 수신하고 상기 하나 이상의 입력 이미지들로부터 신경 네트워크 출력을 생성하기 위해 상기 하나 이상의 입력 이미지들을 프로세싱하도록 구성되며, 상기 이미지 프로세싱 신경 네트워크는 공간 트랜스포머 모듈을 포함하고, 상기 공간 트랜스포머 모듈은 동작들을 수행하도록 구성되며, 상기 동작들은 상기 하나 이상의 입력 이미지들로부터 도출된 입력 특징 맵을 수신하는 동작과, 트랜스폼된 특징 맵을 생성하기 위해 상기 입력 특징 맵에 공간 트랜스포메이션을 적용하는 동작을 포함하고, 상기 적용하는 동작은, 상기 공간 트랜스포메이션을 위한 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하는 것과 그리고 트랜스폼된 특징 맵을 생성하기 위해 상기 공간 트랜스포메이션 파라미터들에 따라 상기 입력 특징 맵으로부터 샘플링을 하는 것을 포함하며,
상기 이미지 프로세싱 신경 네트워크를 트레이닝하는 것은 상기 이미지 프로세싱 신경 네트워크에 의해 생성된 신경 네트워크 출력들과 상기 공간 트랜스포머 모듈을 트레이닝하기 위한 트레이닝 이미지들에 대한 알려진 출력들 간의 에러들로부터 컴퓨팅된 그래디언트들을 역전파하는 것을 포함하는 것인 방법. - 제16항에 있어서,
상기 공간 트랜스포머 모듈은 하나 이상의 신경 네트워크 계층들을 포함하는 로컬라이제이션 서브네트워크를 포함하고, 상기 로컬라이제이션 서브네트워크는 상기 로컬라이제이션 서브네트워크의 파라미터들의 세트의 현재의 값들에 따라 상기 공간 트랜스포메이션 파라미터들을 생성하기 위해 상기 입력 특징 맵을 프로세싱하도록 구성된 것인 방법. - 제17항에 있어서,
상기 샘플링 메커니즘은 미분가능하며, 상기 그래디언트들을 역전파하는 것은 상기 로컬라이제이션 서브네트워크의 파라미터들의 값들을 조정하기 위해 상기 샘플링 메커니즘을 통해 상기 그래디언트들을 역전파하는 것을 포함하는 것인 방법. - 하나 이상의 컴퓨터들 및 명령어들을 저장한 하나 이상의 저장 디바이스들을 포함하는 시스템으로서, 상기 명령어들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 제16항 내지 제18항 중 어느 한 항의 각 방법의 동작들을 수행하도록 동작가능한 것인 시스템.
- 명령어들이 인코딩된 컴퓨터 저장 매체로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 제16항 내지 제18항 중 어느 한 항의 각 방법의 동작들을 수행하도록 하는 것인 컴퓨터 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562171997P | 2015-06-05 | 2015-06-05 | |
US62/171,997 | 2015-06-05 | ||
PCT/US2016/035892 WO2016197046A1 (en) | 2015-06-05 | 2016-06-03 | Spatial transformer modules |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170136588A KR20170136588A (ko) | 2017-12-11 |
KR102107709B1 true KR102107709B1 (ko) | 2020-05-07 |
Family
ID=56203947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177032381A KR102107709B1 (ko) | 2015-06-05 | 2016-06-03 | 공간 트랜스포머 모듈들 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10032089B2 (ko) |
EP (1) | EP3262569A1 (ko) |
JP (1) | JP6662902B2 (ko) |
KR (1) | KR102107709B1 (ko) |
CN (1) | CN108027885B (ko) |
WO (1) | WO2016197046A1 (ko) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6662902B2 (ja) * | 2015-06-05 | 2020-03-11 | グーグル エルエルシー | 空間的変換モジュール |
IE87469B1 (en) * | 2016-10-06 | 2024-01-03 | Google Llc | Image processing neural networks with separable convolutional layers |
CN106683091B (zh) * | 2017-01-06 | 2019-09-24 | 北京理工大学 | 一种基于深度卷积神经网络的目标分类及姿态检测方法 |
CN108460649A (zh) * | 2017-02-22 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种图像识别方法及装置 |
US10902312B2 (en) | 2017-03-28 | 2021-01-26 | Qualcomm Incorporated | Tracking axes during model conversion |
CN107274067B (zh) * | 2017-05-22 | 2023-05-23 | 国网江西省电力公司电力科学研究院 | 一种配电变压器过载风险评估方法 |
US10089556B1 (en) | 2017-06-12 | 2018-10-02 | Konica Minolta Laboratory U.S.A., Inc. | Self-attention deep neural network for action recognition in surveillance videos |
CN109145927A (zh) * | 2017-06-16 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种对形变图像的目标识别方法及装置 |
US10783393B2 (en) * | 2017-06-20 | 2020-09-22 | Nvidia Corporation | Semi-supervised learning for landmark localization |
KR102410820B1 (ko) * | 2017-08-14 | 2022-06-20 | 삼성전자주식회사 | 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치 |
US10853977B2 (en) * | 2017-08-30 | 2020-12-01 | Korea Advanced Institute Of Science And Technology | Apparatus and method for reconstructing image using extended neural network |
US10762425B2 (en) | 2017-09-26 | 2020-09-01 | Nvidia Corporation | Learning affinity via a spatial propagation neural network |
CN107977511A (zh) * | 2017-11-30 | 2018-05-01 | 浙江传媒学院 | 一种基于深度学习的工业品外观材质高保真实时仿真算法 |
US11164003B2 (en) * | 2018-02-06 | 2021-11-02 | Mitsubishi Electric Research Laboratories, Inc. | System and method for detecting objects in video sequences |
US11735028B2 (en) | 2018-06-12 | 2023-08-22 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
EP3624022A1 (en) * | 2018-09-11 | 2020-03-18 | Koninklijke Philips N.V. | Modifying a neural network |
CN113039555B (zh) * | 2018-11-20 | 2024-04-19 | 渊慧科技有限公司 | 在视频剪辑中进行动作分类的方法、系统及存储介质 |
CN109635824A (zh) * | 2018-12-14 | 2019-04-16 | 深源恒际科技有限公司 | 一种图像匹配深度学习方法及系统 |
US10964015B2 (en) * | 2019-01-15 | 2021-03-30 | International Business Machines Corporation | Product defect detection |
CN109886345B (zh) * | 2019-02-27 | 2020-11-13 | 清华大学 | 基于关系推理的自监督学习模型训练方法和装置 |
CN110033848B (zh) * | 2019-04-16 | 2021-06-29 | 厦门大学 | 一种基于无监督学习的三维医学影像z轴插值方法 |
CN110070030B (zh) * | 2019-04-18 | 2021-10-15 | 北京迈格威科技有限公司 | 图像识别与神经网络模型的训练方法、装置和系统 |
KR102082970B1 (ko) * | 2019-04-29 | 2020-02-28 | 주식회사 루닛 | 기계학습을 위한 정규화 방법 및 그 장치 |
CN114008678A (zh) * | 2019-05-31 | 2022-02-01 | Oppo广东移动通信有限公司 | 视频理解神经网络系统及其使用方法 |
CN110659573B (zh) * | 2019-08-22 | 2021-03-09 | 北京捷通华声科技股份有限公司 | 一种人脸识别方法、装置、电子设备及存储介质 |
CN111275055B (zh) * | 2020-01-21 | 2023-06-06 | 北京市商汤科技开发有限公司 | 网络训练方法及装置、图像处理方法及装置 |
US11631163B2 (en) * | 2020-02-11 | 2023-04-18 | Samsung Electronics Co., Ltd. | Mobile data augmentation engine for personalized on-device deep learning system |
WO2021197298A1 (en) * | 2020-04-01 | 2021-10-07 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for action recognition in video and electronic device |
JP7447708B2 (ja) | 2020-07-02 | 2024-03-12 | オムロン株式会社 | モデル生成装置、回帰装置、モデル生成方法、及びモデル生成プログラム |
CN111984548B (zh) * | 2020-07-22 | 2024-04-02 | 深圳云天励飞技术股份有限公司 | 神经网络计算装置 |
US20220147799A1 (en) * | 2020-11-12 | 2022-05-12 | Samsung Electronics Co., Ltd. | Neural computer including image sensor capable of controlling photocurrent |
WO2022106901A1 (en) * | 2020-11-20 | 2022-05-27 | Cohere Inc. | Training transformers using sliceout |
US12008788B1 (en) * | 2021-10-14 | 2024-06-11 | Amazon Technologies, Inc. | Evaluating spatial relationships using vision transformers |
CN114118379B (zh) * | 2021-12-02 | 2023-03-24 | 北京百度网讯科技有限公司 | 神经网络的训练方法、图像处理方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021937A (ja) | 2008-07-14 | 2010-01-28 | Sharp Corp | 画像処理装置、画像読取装置、画像形成装置、画像処理方法、プログラムおよびその記録媒体 |
US20110182469A1 (en) | 2010-01-28 | 2011-07-28 | Nec Laboratories America, Inc. | 3d convolutional neural networks for automatic human action recognition |
US20120275690A1 (en) | 2011-04-26 | 2012-11-01 | Nec Laboratories America, Inc. | Distributed artificial intelligence services on a cell phone |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5067095A (en) * | 1990-01-09 | 1991-11-19 | Motorola Inc. | Spann: sequence processing artificial neural network |
US5220640A (en) * | 1990-09-20 | 1993-06-15 | Motorola, Inc. | Neural net architecture for rate-varying inputs |
US5835901A (en) * | 1994-01-25 | 1998-11-10 | Martin Marietta Corporation | Perceptive system including a neural network |
US6128606A (en) * | 1997-03-11 | 2000-10-03 | At&T Corporation | Module for constructing trainable modular network in which each module inputs and outputs data structured as a graph |
US6581046B1 (en) * | 1997-10-10 | 2003-06-17 | Yeda Research And Development Co. Ltd. | Neuronal phase-locked loops |
WO2003032248A1 (en) * | 2001-10-11 | 2003-04-17 | Exscientia, Llc | Method and apparatus for learning to classify patterns and assess the value of decisions |
CN1549182A (zh) * | 2003-05-15 | 2004-11-24 | 季永萍 | 基于移动计算的新技术专业增值服务的实现装置 |
JP2004348674A (ja) * | 2003-05-26 | 2004-12-09 | Noritsu Koki Co Ltd | 領域検出方法及びその装置 |
EP1515270A1 (en) * | 2003-09-09 | 2005-03-16 | Semeion | An artificial neural network |
US7747070B2 (en) * | 2005-08-31 | 2010-06-29 | Microsoft Corporation | Training convolutional neural networks on graphics processing units |
US8260063B2 (en) * | 2007-04-18 | 2012-09-04 | The University Of Tokyo | Feature quantity selection method, feature quantity selection apparatus, image classification method, image classification apparatus, computer program, and recording medium |
CN102080569B (zh) * | 2010-12-10 | 2014-03-19 | 中煤科工集团重庆研究院 | 基于分布式光纤测温的带式输送机火灾预警方法 |
CN102737288A (zh) * | 2012-06-20 | 2012-10-17 | 浙江大学 | 一种基于rbf神经网络参数自优化的水质多步预测方法 |
US10534995B2 (en) * | 2013-03-15 | 2020-01-14 | Qylur Intelligent Systems, Inc. | Network of intelligent machines |
CN104346622A (zh) * | 2013-07-31 | 2015-02-11 | 富士通株式会社 | 卷积神经网络分类器及其分类方法和训练方法 |
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
JP6236296B2 (ja) | 2013-11-14 | 2017-11-22 | 株式会社デンソーアイティーラボラトリ | 学習装置、学習プログラム、及び学習方法 |
IL231862A (en) * | 2014-04-01 | 2015-04-30 | Superfish Ltd | Image representation using a neural network |
CN104361395A (zh) * | 2014-11-17 | 2015-02-18 | 重庆邮电大学 | 基于视觉仿生的超分辨率图像信息获取方法 |
JP6662902B2 (ja) * | 2015-06-05 | 2020-03-11 | グーグル エルエルシー | 空間的変換モジュール |
-
2016
- 2016-06-03 JP JP2017551275A patent/JP6662902B2/ja active Active
- 2016-06-03 KR KR1020177032381A patent/KR102107709B1/ko active IP Right Grant
- 2016-06-03 EP EP16732065.4A patent/EP3262569A1/en active Pending
- 2016-06-03 WO PCT/US2016/035892 patent/WO2016197046A1/en active Application Filing
- 2016-06-03 CN CN201680025197.1A patent/CN108027885B/zh active Active
- 2016-06-06 US US15/174,133 patent/US10032089B2/en active Active
-
2018
- 2018-07-20 US US16/041,567 patent/US10748029B2/en active Active
-
2020
- 2020-08-17 US US16/995,307 patent/US11734572B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010021937A (ja) | 2008-07-14 | 2010-01-28 | Sharp Corp | 画像処理装置、画像読取装置、画像形成装置、画像処理方法、プログラムおよびその記録媒体 |
US20110182469A1 (en) | 2010-01-28 | 2011-07-28 | Nec Laboratories America, Inc. | 3d convolutional neural networks for automatic human action recognition |
US20120275690A1 (en) | 2011-04-26 | 2012-11-01 | Nec Laboratories America, Inc. | Distributed artificial intelligence services on a cell phone |
Non-Patent Citations (1)
Title |
---|
Henry A. Rowley 외 2명. Rotation Invariant Neural Network-Based Face Detection. 1998년 |
Also Published As
Publication number | Publication date |
---|---|
JP2018514856A (ja) | 2018-06-07 |
US20210034909A1 (en) | 2021-02-04 |
WO2016197046A1 (en) | 2016-12-08 |
US10748029B2 (en) | 2020-08-18 |
JP6662902B2 (ja) | 2020-03-11 |
CN108027885B (zh) | 2022-07-01 |
US10032089B2 (en) | 2018-07-24 |
US20160358038A1 (en) | 2016-12-08 |
US11734572B2 (en) | 2023-08-22 |
KR20170136588A (ko) | 2017-12-11 |
US20180330185A1 (en) | 2018-11-15 |
CN108027885A (zh) | 2018-05-11 |
EP3262569A1 (en) | 2018-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102107709B1 (ko) | 공간 트랜스포머 모듈들 | |
US10991074B2 (en) | Transforming source domain images into target domain images | |
CN109643383B (zh) | 域分离神经网络 | |
CN109863537B (zh) | 风格化输入图像 | |
US20230177343A1 (en) | Scene understanding and generation using neural networks | |
US11734797B2 (en) | Iterative multiscale image generation using neural networks | |
CN111386536A (zh) | 语义一致的图像样式转换 | |
CN115735227A (zh) | 反转用于姿态估计的神经辐射场 | |
US20220076062A1 (en) | Image processing device and operation method thereof | |
US11403807B2 (en) | Learning hybrid (surface-based and volume-based) shape representation | |
US20200276704A1 (en) | Determining control policies for robots with noise-tolerant structured exploration | |
KR20200102409A (ko) | 키 프레임 스케줄링 방법 및 장치, 전자 기기, 프로그램과 매체 | |
CN113826146B (zh) | 自回归视频生成神经网络 | |
US20220067487A1 (en) | Electronic device for generating data and improving task performance by using only very small amount of data without prior knowledge of associative domain and operating method thereof | |
US20230008777A1 (en) | Accelerating convolutions for sparse inputs | |
EP4386580A1 (en) | Method, computer device, and non-transitory computer-readable recording medium to provide search results based on multi-modal features | |
Vaish et al. | Image Dehazing | |
WO2021044441A1 (en) | Interactive augmented reality (ar) based video creation from existing video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |