KR20180136720A - 다채널 특징맵을 이용하는 영상 처리 장치 및 방법 - Google Patents

다채널 특징맵을 이용하는 영상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20180136720A
KR20180136720A KR1020170075818A KR20170075818A KR20180136720A KR 20180136720 A KR20180136720 A KR 20180136720A KR 1020170075818 A KR1020170075818 A KR 1020170075818A KR 20170075818 A KR20170075818 A KR 20170075818A KR 20180136720 A KR20180136720 A KR 20180136720A
Authority
KR
South Korea
Prior art keywords
feature map
information
feature
layer
feature maps
Prior art date
Application number
KR1020170075818A
Other languages
English (en)
Other versions
KR102419136B1 (ko
Inventor
이원재
최용석
김민수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170075818A priority Critical patent/KR102419136B1/ko
Priority to US15/957,135 priority patent/US10740865B2/en
Priority to EP18818948.4A priority patent/EP3568828A4/en
Priority to CN201880030783.4A priority patent/CN110622206A/zh
Priority to PCT/KR2018/004610 priority patent/WO2018230832A1/en
Publication of KR20180136720A publication Critical patent/KR20180136720A/ko
Application granted granted Critical
Publication of KR102419136B1 publication Critical patent/KR102419136B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • G06T5/007
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/047Probabilistic or stochastic networks
    • 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)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

컨볼루션 뉴럴 네트워크(convolutional neural network, CNN)에 기반한 프로세서의 영상 처리 방법에 있어서, 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고 판단 결과에 관한 정보를 프로세서에 저장하는 단계, 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하는 단계, 판단 결과에 관한 정보에 기초하여 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 외부 메모리로부터 독출하는 단계 및 독출된 특징맵들의 영상 특성 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 단계를 포함하는, 영상 처리 방법이 개시된다.

Description

다채널 특징맵을 이용하는 영상 처리 장치 및 방법{IMAGE PROCESSING APPARATUS AND METHOD USING MULTIPLE-CHANNEL FEATURE MAP}
본 개시는 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 더욱 상세하게는 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서의 연산량 및 메모리 대역폭을 저감하기 위한 영상 처리 장치 및 방법에 관한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
특히, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
특히, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예는, 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN)에 기반한 영상 처리 장치에 있어서, 저장부; 및 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 상기 판단 결과에 관한 정보를 상기 저장부에 저장하도록 제어하고, 상기 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 상기 외부 메모리로부터 독출하고, 상기 독출된 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 제어부를 포함하는, 영상 처리 장치를 제공할 수 있다.
또한, 본 개시의 다른 실시예는, 컨볼루션 뉴럴 네트워크에 기반한 프로세서의 영상 처리 방법에 있어서, 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는 단계; 상기 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하는 단계; 상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 상기 외부 메모리로부터 독출하는 단계; 및 상기 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 단계를 포함하는, 영상 처리 방법을 제공할 수 있다.
또한, 본 개시의 다른 실시예는, 컨볼루션 뉴럴 네트워크에 기반한 영상 처리 장치에 있어서, 저장부; 및 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 상기 판단 결과에 관한 정보를 상기 저장부에 저장하도록 제어하고, 상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 상기 기록된 특징맵들의 영상 특성 정보를 외부 메모리로부터 독출하고, 상기 독출된 특징맵들의 영상 특성 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 제어부를 포함하는, 영상 처리 장치를 제공할 수 있다.
또한, 본 개시의 일 실시예에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 장치를 나타내는 도면이다.
도 2는 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정의 일 예를 나타내는 도면이다.
도 3은 다채널 특징맵들과 필터 커널과의 컨볼루션 연산이 수행되는 일 예를 나타내는 도면이다.
도 4 및 도 5는 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 장치의 구성을 나타내는 블록도이다.
도 6은 일 실시예에 따른 제1 계층에서의 특징맵들에 관한 분석 결과를 이용하여 결정된 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들의 일 예를 나타내는 도면이다.
도 7은 다른 실시예에 따른 제1 계층에서의 특징맵들에 관한 분석 결과를 이용하여 결정된 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들의 일 예를 나타내는 도면이다.
도 8은 일 실시예에 따른 다채널 특징맵들을 재배열하는 과정을 나타내는 도면이다.
도 9는 일 실시예에 따른 영상 처리 방법을 수행함으로써 메모리 사용량이 저감되는 일 예를 나타내는 도면이다.
도 10은 일 실시예에 따른 영상 처리 방법을 분할된 특징맵에 적용하는 일 예를 나타내는 도면이다.
도 11은 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 방법을 나타내는 흐름도이다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 명세서, 특히, 특허 청구 범위에서 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 장치를 나타내는 도면이다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 뉴럴 네트워크 내에서, 뇌의 뉴런들에 해당되는 노드들은 서로 연결되어 있고, 입력 데이터를 처리하기 위하여 집합적으로 동작한다. 다양한 종류의 뉴럴 네트워크들을 예로 들면, 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN), 회귀 뉴럴 네트워크(recurrent neural network, RNN), 딥 빌리프 네트워크(deep belief network, DBN), 제한된 볼츠만 기계(restricted Boltzman machine, RBM) 방식 등이 있으나, 이에 제한되지 않는다. 피드-포워드(feed-forward) 뉴럴 네트워크에서, 뉴럴 네트워크의 뉴런들은 다른 뉴런들과의 연결들(links)을 갖는다. 이와 같은 연결들은 뉴럴 네트워크를 통해, 오직 한 방향으로만, 예를 들어 순방향(forward direction)으로 확장될 수 있다.
컨볼루션 뉴럴 네트워크는 복잡한 입력 데이터로부터 테두리, 선 색 등과 같은 “특징들(features)”을 추출하기 위해 이용될 수 있다. 컨볼루션 뉴럴 네트워크는 복수의 계층들(layers)을 포함할 수 있다. 각각의 계층은 입력 데이터를 수신할 수 있고, 해당 계층의 입력 데이터를 처리하여 출력 데이터를 생성할 수 있다. 출력 데이터는, 컨볼루션 뉴럴 네트워크가 입력된 영상 또는 입력된 특징맵(feature map)을 필터 커널들(filter kernels)과 컨볼루션하여 생성한 특징맵일 수 있다. 컨볼루션 뉴럴 네트워크의 초기 계층들은 입력으로부터 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출하도록 동작될 수 있다. 뉴럴 네트워크의 다음 계층들은 눈, 코 등과 같은 점진적으로 더 복잡한 특징들을 추출할 수 있다.
도 1을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN) 기반의 영상 처리 과정을 통해 영상의 객체 인식(object recognition), 영상 복원(image reconstruction), 시맨틱 세그먼테이션(semantic segmentation), 장면 인식(scene recognition) 등을 수행할 수 있다. 또한, 도 1을 참조하면, 영상 처리 장치(100)는 계층 L에서 N 채널을 가지는 특징맵들 및 계층 L+1에서 M(M<N, M,N은 정수) 채널을 가지는 특징맵들로 도시하였으나, 이에 제한되지 않으며 해당 영상 처리를 위해 필요한 복수의 계층을 포함한 컨볼루션 뉴럴 네트워크를 포함할 수 있다. 컨볼루션 뉴럴 네트워크 기반의 영상 처리에 관해서는 도 2 및 3을 참고하여 보다 구체적으로 후술하도록 한다.
일 실시예에 따른 외부 메모리(110)는 프로그램을 기록하고 판독할 수 있도록 구성된 하드웨어 장치일 수 있으며, 도 1을 참조하면 영상 처리 장치(100)와는 별도의 구성으로 도시되었지만, 이에 제한되지 않으며 영상 처리 장치(100) 내부에 위치하여 그 기능을 수행할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는, 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 판단 결과에 관한 정보를 저장하고, 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 판단 결과에 관한 정보에 기초하여 외부 메모리에 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 외부 메모리로부터 독출하고, 독출된 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행할 수 있다.
도 1을 참조하면, 외부 메모리(110)는 컨볼루션 뉴럴 네트워크가 실행되는 동안 생성된 많은 용량의 중간 데이터(intermediate data)를 저장하는데 사용될 수 있다. 또한 외부 메모리(110)는 계층 L 및 계층 L+1을 포함하는 복수의 계층들에서 사용된 많은 수의 필터 커널들을 저장하는데 사용될 수 있다. 중간 데이터는 컨볼루션 뉴럴 네트워크의 히든 컨볼루션 계층들, 예를 들어 복수의 계층들에서 생성된 다채널 특징맵들의 데이터를 나타낼 수 있다.
다채널 특징맵들은 수십 또는 수백 개의 특징맵 영상들로 구성될 수 있다. 예를 들어, 각각의 특징맵은, 모든 x, y 위치들에서 학습된 특징의 강도를 나타내는 16비트 값들의 2차원(2D) 영상일 수 있다. 또한 일 실시예에 따를 때, 컨볼루션 뉴럴 네트워크의 L+1 번째 계층에 대한 각각의 특징맵들이 생성되기 위해서는, L번째 계층에 의해 출력된 각각의 특징맵들이 외부 메모리(110)에 기록(라이트, write)되고 또한 외부 메모리(110)로부터 독출(리드, read)되어야 한다. 도 1을 참조하면, L번째 계층이 L+1 번째 계층의 입력으로 N개의 특징맵 들(즉, N개의 채널을 갖는 특징맵들)을 생성하고 L+1 번째 계층이 N개의 특징맵들을 출력한다면, L번째 계층의 각각의 특징맵은 L+1 번째 계층의 실행을 위해 외부 메모리(110)로부터 N회 리드되어야 한다. 그러므로, 컨볼루션 뉴럴 네트워크의 연산 중에 L번째 계층으로부터 총 N개의 특징맵들의 리드가 수행되어야 한다.
상술한 바와 같이, 컨볼루션 뉴럴 네트워크의 각 계층들은 중간 데이터를 생성하기 위해 외부 메모리(110)에 대해 끊임없이 리드 및 라이트 동작을 반복 수행하여야 한다. 한편, 중간 데이터로서 생성된 다채널 특징맵들의 개수가 많아질수록 외부 메모리(110)에 대한 액세스 빈도 역시 마찬가지로 증가하므로, 이 경우 영상의 전송 용량이 과다해지는 문제점이 발생한다. 따라서, 컨볼루션 뉴럴 네트워크의 각 계층에서 외부 메모리(110)에 액세스할 때 필요한 전송 용량을 줄이기 위한 방법이 요구된다.
따라서, 도 1을 참조하면, 계층 L에서의 N개의 채널을 가지는 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수를 줄일 수 있다면(예를 들어, M개의 채널, M < N), 예를 들어, 계층 L에서의 픽셀들의 값이 모두 영인 특징맵들(120)을 제외한 나머지 특징맵들만을 외부 메모리에서 독출하면, 결과적으로 연산량 및 필요 메모리 대역폭을 줄일 수 있을 것이다. 일 실시예에 따를 때, 계층 L+1에서의 특징맵 연산은 컨볼루션 연산, 활성화 함수(activation function) 연산, 풀링(pooling) 연산 또는 리샘플링 등을 포함할 수 있으나, 이에 제한되지 않는다.
도 2는 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정의 일 예를 나타내는 도면이다.
도 2를 참조하면, 컨볼루션 뉴럴 네트워크 기반의 영상 처리는 다양한 분야에 활용될 수 있으며, 영상의 객체 인식(object recognition)을 위한 영상 처리 장치(200), 영상 복원(image reconstruction)을 위한 영상 처리 장치(205), 시맨틱 세그먼테이션(semantic segmentation)을 위한 영상 처리 장치(미도시), 장면 인식(scene recognition)을 위한 영상 처리 장치(미도시) 등에 이용될 수 있다.
객체 인식은 임의의 영상 내에서 객체로 인식된 영역을 기설정된 복수의 부류(class) 중 하나로 인식하는 프로세싱(200)을 의미한다. 객체란 영상 내의 특정한 물체를 의미할 수 있다. 예를 들어, 도 2를 참조하면, 입력 이미지(202) 내의 강아지(dog)가 객체의 대상이 될 수 있다. 또한 영상 복원은 이미지들을 보정하기 위하여 시도되는 프로세싱(205)을 의미한다. 예를 들어, 도 2를 참조하면, 블러(blurry)된 영상을 선명화(sharpening)하는 것과 같은 초해상도(super resolution) 복원일 수 있다. 또한 시맨틱 세그먼테이션은 영상의 일부들을 라벨링하는 프로세싱을 의미한다. 장면 인식은 영상에서 표현된 사무실, 침실, 운동장 등과 같은 특정 장면을 판단하는 프로세싱을 의미한다. 이와 같은 시각적인 예시들 외에도, 유사한 컨볼루션 뉴럴 네트워크가 효율적으로 적용될 수 있는 다른 많은 애플리케이션 도메인이 있을 수 있다.
컨볼루션 뉴럴 네트워크는 계산 집약적(compute-intensive)일 수 있다. 예를 들어, 컨볼루션 뉴럴 네트워크는 각 영상에 대하여 많은 연산들을 수행하고, 많은 가중치들을 요구하며, 많은 중간 결과 트래픽을 생성한다. 또한, 컨볼루션 뉴럴 네트워크는 각각의 영상마다 GOPS(giga-operation per second)를 수행하고, 대략 수억 내지 수천억 개의 가중치들을 이용하고, 수백 기가바이트의 중간 데이터들을 생성할 수 있다. 많은 실행들에서, 가중치 및 중간 데이터 트래픽은 전력 효율 측면에서 높은 비용을 가진다. 컨볼루션 뉴럴 네트워크의 계산 효율이 증가하면, 이와 같은 트래픽은 컨볼루션 뉴럴 네트워크를 실행시키는데 소모되는 전력의 더 큰 비중을 차지하게 되고, 그에 따라 전력이 제한적인 모바일 디바이스, 애플리케이션 또는 컴퓨팅 환경에서 뉴럴 네트워크를 사용하는데 제약이 생기게 된다. 개시된 실시예에서는, 컨볼루션 뉴럴 네트워크 기반 영상 처리 과정에서 생성되는 다채널 특징맵 영상들을 외부 메모리에 기록하고 독출하는데 있어 효율적으로 처리하는 방법을 제안함으로써, 내부 또는 외부 메모리로부터 리드/라이트 동작의 지연을 최소화시키는 방법이 개시된다.
도 2에 도시된 영상 처리 중에서 초해상도 복원 처리 과정(205)을 참고하여 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정을 서술하도록 한다.
도 2를 참조하면, 입력 영상(210), 복수의 계층들(220, 230, 240), 다채널 특징맵 영상들(225, 235), 복수의 계층들(220, 230, 240)에 의해 처리된 잔차 영상(250) 및 출력 영상(260)이 도시된다. 예를 들어, 입력 영상(210)은 컨볼루션 뉴럴 네트워크를 통해 처리될 영상일 수 있다.
일 실시예에 따른 복수의 계층들(220, 230, 240)은 입력받은 데이터의 좌측 상단으로부터 우측 하단까지 일정한 크기의 필터를 적용하여 영상의 특징을 추출한다.
예를 들어, 복수의 계층들(220, 230, 240)은 입력 데이터의 좌측 상단 3x3 픽셀에 가중치를 곱해서 특징맵의 좌측 상단의 한 뉴런에 매핑시킨다. 이 경우, 곱해지는 가중치도 3x3가 될 것이다. 이후, 동일한 과정으로, 복수의 계층들(220, 230, 240)은 입력 데이터를 좌측에서 우측으로, 그리고 상단에서 하단으로 한 칸씩 스캔하면서 가중치를 곱하여 특징맵의 뉴런에 매핑한다. 이 때, 사용된 3x3 가중치를 필터 또는 필터 커널이라고 한다.
즉, 복수의 계층들(220, 230, 240)에서 필터를 적용하는 과정은 필터 커널과의 컨볼루션 연산을 수행하는 과정이며, 그 결과 추출된 결과물을 “특징맵(feature map)” 또는 “특징맵 영상”이라고 한다.
“다채널 특징맵(multiple-channel feature map)”의 용어는 복수의 채널에 대응하는 특징 맵들의 세트를 의미하고, 예를 들어 복수의 영상 데이터일 수 있다. 다채널 특징맵들은 컨볼루션 뉴럴 네트워크의 임의의 계층에서의 입력일 수 있고, 컨볼루션 연산 등의 특징맵 연산 결과에 따른 출력일 수 있다. 일 실시예에 따르면, 다채널 특징맵들(225, 235)은 컨볼루션 뉴럴 네트워크의 “특징 추출 계층들” 또는 “컨볼루션 계층들”이라고도 불리는 복수의 계층들(220, 230, 240)에 의해 생성된다. 각각의 계층은 순차적으로 이전 계층에서 생성된 다채널 특징맵들을 수신하고, 출력으로서 그 다음의 다채널 특징맵들을 생성할 것이다. 최종적으로 L(L은 정수)번째 계층(240)에서는 L-1번째 계층(미도시)에서 생성한 다채널 특징맵들을 수신하여 잔차 영상(250)을 생성한다. 일 실시예에 따라, 잔차 영상(250)이 생성되면 입력 영상(210)과의 합을 통해 출력 영상(260)이 생성될 수 있다. 일 실시예에 따르면, 입력 영상(210)은 저해상도 영상일 수 있고, 출력 영상(260)은 고해상도 영상일 수 있다. 즉, 도 2에 도시된 영상 처리 과정은 저해상도 영상을 고해상도 영상으로 복원하는 초해상도 복원 과정으로 이해할 수 있다.
도 2를 참조하면, 채널 K1개를 가지는 특징맵들(225)은 입력 영상(210)에 대해 계층 1에서의 특징맵 연산(220)에 따른 출력이고, 또한 계층 2에서의 특징맵 연산(230)을 위한 입력이 된다. 또한, 채널 K2개를 가지는 특징맵들(235)은 입력 특징맵들(225)에 대해 계층 2에서의 특징맵 연산(230)에 따른 출력이고, 또한 계층 3에서의 특징맵 연산(미도시)을 위한 입력이 된다.
일 실시예에 따르면, 컨볼루션 뉴럴 네트워크 기반 영상 처리 과정 동안의 데이터 흐름은 입력 영상(210)으로부터 다채널 특징맵들(225, 235), 잔차 영상(250) 및 출력 영상(260)으로 진행된다. 다채널 특징맵들(225, 235)을 수신하고 생성하는 하나 이상의 또는 모든 계층들은 히든(hidden) 계층들(예를 들어, 히든 컨볼루션 계층들)일 수 있다. 한편, 입력 특징맵들을 출력 특징맵들에 매핑하는 컨볼루션 커널들을 적용하는 연산 이외에 다른 프로세싱 연산들이 수행될 수 있다. 이와 같은 다른 프로세싱 연산들의 예들은, 활성화 함수(activation function) 연산, 풀링(pooling) 연산, 리샘플링 등의 애플리케이션을 포함할 수 있으나, 이에 제한되지 않는다.
도 2를 참조하면, 첫 번째 계층(220)에서 생성된 다채널 특징맵들(225)은 K1(K1은 정수)개의 채널에 대응하는 특징맵들을 포함한다. 또한, 두 번째 계층(230)에서 생성된 다채널 특징맵들(235)은 K2(K2은 정수)개의 채널에 대응하는 특징맵들을 포함한다. 여기서, 채널의 개수를 나타내는 K1 및 K2는, 첫 번째 계층(220) 및 두 번째 계층(230)에서 각각 사용된 필터 커널의 개수와 대응한다. 즉, M(M은 1 이상 L-1 이하의 정수)번째 계층에서 생성된 다채널 특징맵들의 개수는 M번째 계층에서 사용된 필터 커널의 개수와 동일하다.
도 3은 다채널 특징맵들과 필터 커널과의 컨볼루션 연산이 수행되는 일 예를 나타내는 도면이다.
일 실시예에 따른 뉴럴 네트워크 기반의 영상 처리 과정은, 각각의 계층에서 입력 영상과 필터 커널과의 컨볼루션 연산이 수행되는 과정이다. 도 3을 참조하면, 하나의 출력 픽셀을 생성하기 위해 다채널 특징맵들(310, 320, 330, 340) 및 N x N x K 크기의 필터 커널들간의 컨볼루션 연산(312, 342)이 시각적으로 도시된다.
일 실시예에 따를 때, 컨볼루션 뉴럴 네트워크의 l번째 계층에서는, l-1번째 계층에서 생성된 다채널 특징맵들(310, 320, 330, 340)은 L개의 N x N x K 픽셀 가중치를 갖는 필터 커널들(312, 342)과 컨볼루션 연산된다. 도 3을 참조하면, 계층 내의 입력 채널의 개수가 K개라면, 필터 커널과 연산되는 입력 데이터의 크기는 N x N x K 가 될 것이다. L개의 N x N x K 필터 커널과의 연산으로 l번째 계층에서 L개 채널의 특징맵들이 생성된다.
일 실시예에 따라 컨볼루션 뉴럴 네트워크를 연산하는 수식은 수학식 1과 같이 나타낼 수 있다.
Figure pat00001
수학식 1에서, l은 출력 다채널 특징맵의 채널 수, x 및 y 는 영상 내의 픽셀 위치, K 및 N은 각각 채널 방향 및 행/열 방향의 필터 커널의 크기, b는 상수를 나타낸다. 또한, w[l][k][m][n]은 필터 커널의 계수를 나타내고, p[k][x+m][y+n]은 현재 계층에 입력되는 특징맵의 픽셀값을 나타내며, y[l][x][y]는 현재 계층에서 컨볼루션 연산을 통해 생성되는 특징맵의 픽셀값을 나타낸다. 수학식 1에 따르면, 컨볼루션 뉴럴 네트워크의 계층에서 컨볼루션 연산은 픽셀 단위(pixel-by-pixel)로 수행된다.
도 4 및 도 5는 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 장치의 구성을 나타내는 블록도이다.
도 4를 참조하면, 일 실시예에 따른 영상 처리 장치(400)는 제어부(410) 및 저장부(420)를 포함할 수 있다. 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 영상 처리 장치(400)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다. 도 4의 영상 처리 장치(400)는 도 1의 영상 처리 장치(100)에 대응하는 것일 수 있다.
예를 들어, 도 5를 참조하면, 일 실시예에 따른 영상 처리 장치(500)는 코어(510), 내부 메모리(520) 및 직접 메모리 액세스(direct memory access, DMA)를 포함할 수 있다. 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 영상 처리 장치(500)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다. 또한 일 실시예에 따른 DMA는 버퍼(532), 명령 대기열(534), 라이트(write) 제어부(536), 리드(read) 제어부(538), 히스토그램 분석부(540), 최대값 분석부(542), 특징맵 분석부(544), 특징맵 결정부(546) 및 특징맵 정보 저장부(548)를 포함할 수 있다. 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, DMA에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다.
또한, 일 실시예에 따를 때, DMA에서 수행되는 과정은 내부 메모리(520)에서 수행될 수도 있으며, 또한 DMA에서 수행되는 과정은 외부 메모리(550)에서 수행될 수도 있다.
제어부(410)는 입력 영상을 처리하여 객체 인식, 영상 복원 등을 수행할 수 있으며, 외부 메모리(430)에 데이터를 리드/라이트 하도록 제어할 수 있다.
도 1에서 상술한 바와 같이, 계층 L에서의 N개의 채널을 가지는 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수를 줄일 수 있다면(예를 들어, M개의 채널, M < N), 결과적으로 연산량 및 필요 메모리 대역폭을 줄일 수 있을 것이다. 따라서 일 실시예에 따를 때, 제어부(410)는 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 판단 결과에 관한 정보를 저장부(420)에 저장하도록 제어할 수 있다.
일 실시예에 따를 때, 판단 결과에 관한 정보는 계층 L에서의 N개의 채널을 가지는 특징맵들 중에서 픽셀값이 영이 아닌 픽셀들의 정보, 픽셀들의 값이 모두 영인 특징맵의 채널 정보, 위치 정보 또는 영상 특성 정보 등을 포함할 수 있으나, 이에 제한되지 않는다. 예를 들어, 계층 L+1에서 외부 메모리(430)에 기록된 특징맵들을 독출할 때, 계층 L에서의 특징맵들 중에서 픽셀들의 값이 모두 영인 특징맵을 제외하는데 필요한 정보들을 포함할 수 있다.
또한 일 실시예에 따를 때, 제어부(410)는 계층 L에서의 특징맵들의 영상 특성 정보를 외부 메모리(430)에 기록하고, 판단 결과에 관한 정보에 기초하여 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 외부 메모리(430)로부터 독출하고, 독출된 특징맵들의 영상 특성 정보를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 수 있다.
일 실시예에 따를 때, 계층 L에서의 특징맵들의 영상 특성 정보는 계층 L에서의 특징맵의 채널 정보, 계층 정보 및 픽셀들의 값 중 적어도 하나를 포함할 수 있다.
또한 일 실시예에 따를 때, 계층 L+1에서의 특징맵 연산은 컨볼루션 연산, 활성화 함수(activation function) 연산, 풀링(pooling) 연산 또는 리샘플링 등을 포함할 수 있으나, 이에 제한되지 않는다.
저장부(420)는 제어부(410)의 제어에 의해 영상 처리 장치(400)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 일 실시예에서 “저장부”라는 용어는 저장부(420), 제어부의 롬 또는 램을 포함할 수 있으나, 이에 제한되지 않으며, 외부 메모리(예를 들어, 서버, micro SD 카드, USB 메모리 등, 미도시)를 포함할 수 있다. 또한, 저장부(420)는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.
일 실시예에 따를 때, 저장부(420)는 제어부(410)에 의해 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 모두 영(zero)인지를 판단된 결과에 관한 정보를 저장할 수 있다.
도 5를 참조하면, DMA(530)가 특징맵 분석부(544), 특징맵 결정부(546) 및 특징맵 정보 저장부(548) 등을 포함함으로써, 도 4의 제어부(410)에서 수행되는 계층 L에서의 N개의 채널을 가지는 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수를 줄이는 과정을 처리하는 것으로 도시되었으나 이에 제한되지 않는다. 또한, 히스토그램 분석부(540), 최대값 분석부(542)에 관하여는 도 7에서 후술하도록 한다.
도 6은 일 실시예에 따른 제1 계층에서의 특징맵들에 관한 분석 결과를 이용하여 결정된 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들의 일 예를 나타내는 도면이다.
도 6을 참조하면, 영상 처리 장치는 계층 L에서의 N개의 채널을 가지는 특징맵들(600)에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하고, 픽셀들의 값이 모두 영인 N-M개의 특징맵들(M은 M<N인 정수)을 검출할 수 있다. 또한, 영상 처리 장치는 N-M개의 특징맵들에 관한 정보를 저장하고, N개의 특징맵들을 외부 메모리에 기록할 수 있다. 또한, 영상 처리 장치는 외부 메모리로부터 N개의 특징맵들 중 N-M개의 특징맵들을 제외한 M개의 특징맵들(610)만을 독출하여 계층 L+1에서의 특징맵 연산을 수행할 수 있다. 따라서, 계층 L에서의 N개의 채널을 가지는 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수(예를 들어, M개의 채널, M < N)가 감소하였기 때문에, 특징맵 연산의 연산량 및 필요 메모리 대역폭을 줄이는 효과를 얻을 수 있다.
도 7은 다른 실시예에 따른 제1 계층에서의 특징맵들에 관한 분석 결과를 이용하여 결정된 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들의 일 예를 나타내는 도면이다.
도 6에서 상술한 바와 같이, 영상 처리 장치는 계층 L에서의 N개의 특징맵들 중에서, 픽셀들의 값이 모두 영인 특징맵들을 제외한 나머지 특징맵들만을 외부 메모리에서 독출하고 이를 계층 L+1에서의 특징맵 연산에 이용함으로써, 특징맵 연산의 연산량 및 필요 메모리 대역폭을 줄이는 효과를 얻을 수 있다. 그런데, 대부분의 픽셀값이 영이고 나머지 일부 픽셀값은 영에 가까운 값을 가지는 특징맵의 경우에는, 계층 L+1에서의 특징맵 연산 결과에 미치는 영향이 적기 때문에 해당 특징맵을 계층 L+1에서의 특징맵 연산에서 제외하는 것이 바람직하다 하지만, 픽셀들의 값이 모두 영이 아니기 때문에, 도 4 내지 6에서 상술한 실시예에 따를 때, 외부 메모리에서 독출될 것이다.
따라서, 일 실시예에 따른 영상 처리 장치는 각 특징맵에 대하여 소정의 조건을 만족하는 픽셀들의 값을 모두 영으로 설정하고 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하여 해당 특징맵을 계층 L+1에서의 특징맵 연산에서 제외시킴으로써 보다 더 연산량 및 메모리 대역폭을 줄이는 효과를 얻을 수 있다.
일 실시예에 따를 때, 영상 처리 장치는, 복수의 채널을 가지는 계층 L의 특징맵(feature map)들 각각에 대하여, 소정의 조건을 만족하는 픽셀의 값을 영으로 설정하고, 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하고, 판단 결과에 관한 정보를 저장하고, 계층 L의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 판단 결과에 관한 정보에 기초하여 외부 메모리에 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 외부 메모리로부터 독출하고, 독출된 특징맵들의 영상 특성 정보를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 수 있다.
소정의 조건은 각 계층에 포함된 특징맵들간의 영상 특징을 비교할 수 있는 조건을 의미하며, 특징맵의 영상 특징은 구성 픽셀의 최대값 분석, 영상 히스토그램, 픽셀값들의 합, 평균, 분산 등으로 파악할 수 있다.
일 실시예에 따를 때, 영상 처리 장치는 계층 L에서의 각각의 특징맵들에 대하여, 각 특징맵을 구성하는 픽셀들의 최대값(maximum value)이 소정의 임계값(예를 들어, 흰색(white) 255의 5%) 이하인지를 판단하고, 이를 만족하는 경우, 해당 픽셀들을 모두 영으로 설정할 수 있다. 도 5를 참조하면, 히스토그램 분석부(540)에서 이를 수행할 수 있으나 이에 제한되지 않는다.
또한 일 실시예에 따를 때, 영상 처리 장치는 계층 L에서의 각각의 특징맵들에 대하여, 각 특징맵의 영상 히스토그램(histogram)에서 특정 픽셀 값(예를 들어, 흰색(white) 255의 5%) 이상의 개수가 소정의 임계값(예를 들어, 각 특징맵을 구성하는 픽셀들의 수의 0.01~0.1%) 이하인지를 판단하고, 이를 만족하는 경우, 해당 픽셀들을 모두 영으로 설정할 수 있다. 도 5를 참조하면, 최대값 분석부(542)에서 이를 수행할 수 있으나 이에 제한되지 않는다.
도 7을 참조하면, 영상 처리 장치는 N-M개의 픽셀들의 값이 모두 영인 특징맵을 포함하는 계층 L에서의 N개의 채널을 가지는 특징맵들(700)에 대하여, 각각의 특징맵(720)의 영상 특징을 검출하고, 소정의 조건(예를 들어, 최대값 분석, 히스토그램 분석 등)을 만족하는 픽셀들(722)을 영으로 설정할 수 있다. 이 경우, K개의 해당 특징맵들(730) 각각은 구성 픽셀들의 값이 모두 영이기 때문에, 영상 처리 장치는 픽셀들의 값이 모두 영인 (N-M)+K개의 특징맵들(K는 K<M인 정수)을 검출할 수 있다. 또한, 영상 처리 장치는 N-M+K개의 특징맵들에 관한 정보를 저장하고, N개의 특징맵들을 외부 메모리에 기록할 수 있다. 또한, 영상 처리 장치는 외부 메모리로부터 N개의 특징맵들 중 N-M+K개의 특징맵들을 제외한 M-K개의 특징맵들(710)만을 독출하여 계층 L+1에서의 특징맵 연산을 수행할 수 있다.
따라서, 도 6에서의 실시예와 비교하여, 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수가 K개만큼 줄었기 때문에, 특징맵 연산의 연산량 및 필요 메모리 대역폭을 더욱더 줄이는 효과를 얻을 수 있다.
도 8은 일 실시예에 따른 다채널 특징맵들을 재배열하는 과정을 나타내는 도면이다.
일 실시예에 따른 영상 처리 장치는 보다 효율적인 부호화를 위해, 뉴럴 네트워크 기반 영상 처리 과정에서 생성된 다채널 특징맵 영상들의 순서를 재배열(re-ordering)할 수 있다. 도 8을 참조하면, 재배열 이전의 특징맵들(800) 및 재배열 이후의 특징맵들(820)이 도시된다. 도 8에서는 재배열 이전의 특징맵들(800) 및 재배열 이후의 특징맵들(820)이 64개의 채널을 갖는 것으로 도시되었으나, 이는 설명의 편의를 위한 것이므로 채널의 개수를 64개인 것으로 한정하여 해석할 필요는 없다.
도 8을 참조하면, 재배열 이전의 특징맵들(800)은 각 영상의 픽셀값의 다이내믹 레인지(dynamic range) 변화가 일정하지 않음을 확인할 수 있다. 다이내믹 레인지는 각 채널 별 특징맵의 최대 출력값에서 최소 출력값을 뺀 값이다. 일 실시예에 따른 영상 처리 장치는 예측 시에 채널 간 인터 예측을 수행할 수 있는데, 재배열 이전의 특징맵들(800)과 같이 각 영상의 픽셀값의 다이내믹 레인지 변화가 큰 경우에는 압축 성능이 저하될 수 있다. 이러한 채널 간 인터 예측 시 압축 성능 저하 문제를 해결하기 위해, 일 실시예에 따른 영상 처리 장치는 채널 방향으로 인접한 특징맵들 간의 상관도를 증가시킴으로써, 압축 성능을 향상시킬 수 있다.
이하에서는, 재배열 이전의 특징맵들(800)의 다이내믹 레인지를 분석하여, 재배열 이후의 특징맵들(820)로 재구성하는 구체적인 방법을 설명하기로 한다.
일 실시예에 따른 영상 처리 장치는 각 계층의 필터 커널의 특성을 분석하고, 각 특징맵의 다이내믹 레인지에 따라 다채널 특징맵들을 재배열할 수 있다. 구체적으로, 영상 처리 장치는 각 채널의 필터 커널에 특정 값을 입력하여 각 채널 별 특징맵의 최대 출력값을 도출할 수 있다. 예를 들어, 영상 처리 장치는 필터 커널의 가중치(weight) 값이 양수인 경우 필터 커널에 최대값(예를 들어, 255)을 입력하고, 필터 커널의 가중치 값이 음수인 경우 필터 커널에 0을 입력할 수 있다. 또한, 영상 처리 장치는 각 채널의 필터 커널에 특정 값을 입력하여 각 채널 별 특징맵의 최소 출력값을 도출할 수 있다. 예를 들어, 영상 처리 장치는 필터 커널의 가중치 값이 음수인 경우 필터 커널에 최대 값(예를 들어, 255)을 입력하고, 필터 커널의 가중치 값이 양수인 경우 필터 커널에 0을 입력할 수 있다. 각 채널 별 특징맵의 최대 출력값 및 최소 출력값으로부터 각 채널 별 특징맵의 다이내믹 레인지가 도출되면, 일 실시예에 따른 영상 처리 장치는 도출된 다이내믹 레인지에 기초하여 다채널 특징맵들을 재배열할 수 있다. 예를 들어, 영상 처리 장치는 다이내믹 레인지에 따라 내림차순 또는 오름차순으로 다채널 특징맵들을 재배열할 수 있다.
도 8을 참조하면, 다이내믹 레인지에 따라 내림차순으로 재배열된, 재배열 이후의 특징맵들(820)이 도시된다. 재배열 이후의 특징맵들(820)은 재배열 이전의 특징맵들(800)에 비해 채널 방향으로 인접한 특징맵들간의 상관도가 높다. 따라서, 영상 처리 장치가 재배열 이후의 특징맵들(820)을 이용하여 채널 간 인터 예측을 수행한다면 압축 성능이 향상될 수 있다.
도 8을 참조하면, 특징맵들(800)이 다이내믹 레인지에 따라 내림차순으로 재배열되면, 재배열되기 전에 채널 위치에 상관없이 분포되어 있었던 모든 구성 픽셀들의 값이 영인 특징맵들(810)이 서로 인접하게 위치되도록 할 수 있다(830). 일 실시예에 따를 때, 영상 처리 장치는 재배열 이후의 특징맵들(820)에 대해서, 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단할 수 있다. 또한, 영상 처리 장치는 재배열 이후의 특징맵들(820) 각각에 대하여, 도 7에서 상술한 바와 같이 소정의 조건을 만족하는 픽셀의 값을 영으로 설정하고, 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단할 수 있다.
일 실시예에 따를 때, 영상 처리 장치는 재배열 이후의 특징맵들(820) 및 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단한 결과에 관한 정보를 이용하여 채널 간 인터 예측을 수행한다면 압축 성능이 향상될 수 있다.
재배열 이후의 특징맵들(820)에 기초하여 부호화가 완료되면, 일 실시예에 따른 영상 처리 장치는 재배열 이후의 특징맵들(820)에 대한 복호화를 수행한다. 일 실시예에 따라 영상 처리 장치는 복호화가 완료된 재배열 이후의 특징맵들(820)을 원래의 채널 순서로 복원하기 위해 비트스트림으로부터 획득한 재배열 정보를 이용할 수 있다. 일 실시예에 따라, 재배열 정보는 재배열 이전의 특징맵들(800)의 원(original)위치를 나타내는 인덱스 정보 및 특징맵들의 이동 내역에 대한 정보 중 적어도 하나를 포함할 수 있다. 또한, 일 실시예에 따른 인덱스 정보는 재배열 이전의 특징맵들(800)의 각 채널 정렬 순서에 대한 정보를 포함할 수 있다. 일 실시예에 따른 재배열 정보는 영상 처리 장치에서 부호화되어 비트스트림 내의 헤더에 저장될 수 있다.
도 9는 일 실시예에 따른 영상 처리 방법을 수행함으로써 메모리 사용량이 저감되는 일 예를 나타내는 도면이다.
도 9를 참조하면, 영상 처리 장치가 계층 1에서의 특징맵 연산에 따라 N개의 채널을 가지는 특징맵들을 부호화하지 않고 외부 메모리(902)에 기록하는 실시예(900), 영상 처리 장치가 계층 1에서의 특징맵 연산에 따라 N개의 채널을 가지는 특징맵들을 부호화하여 외부 메모리(912)에 기록하는 실시예(910) 및 영상 처리 장치가 계층 1에서의 특징맵 연산에 따라 N개의 채널을 가지는 특징맵들을 부호화하고 외부 메모리(922)에 오버라이트(overwrite)하는 실시예(920)가 도시된다. 도 9를 참조하면, 영상 처리 장치가 특징맵들을 부호화하여 외부 메모리(912)에 기록하는 실시예(910)에 따를 때, 영상 처리 장치가 특징맵들을 부호화하지 않고 외부 메모리(902)에 기록하는 실시예(900)에 비하여 필요 외부 메모리 대역폭이 적어질 것이다. 그러나, 특징맵들을 부호화하여도 기본적인 부호화 단위 관련 헤더가 존재하기 때문에 줄어드는 메모리 대역폭에는 한계가 있을 수 있다.
일 실시예에 따른 영상 처리 장치는 모든 구성 픽셀들의 값이 영인 특징맵들을 검출할 수 있는데, 이러한 특징맵들의 영상 특성 정보는 다음 계층에서 특징맵 연산 시 외부 메모리로부터 독출되지 않는 정보이기 때문에, 영상 처리 장치는 외부 메모리에 특징맵들의 영상 특성 정보를 기록할 때 이러한 불필요한 정보를 제거할 수 있다. 구체적으로, 일 실시예에 따른 영상 처리 장치는 외부 메모리에 기록된 모든 구성 픽셀들의 값이 영인 특징맵의 영상 특성 정보 이후에 기록될 특징맵의 영상 특성 정보로 외부 메모리(922)에 오버라이트(overwrite) 할 수 있다. 따라서, 도 9를 참조하면, 영상 처리 장치가 계층 1에서의 특징맵 연산에 따라 N개의 채널을 가지는 특징맵들을 부호화하고 외부 메모리(922)에 오버라이트(overwrite)하는 실시예(920)에 따를 때, 나머지 두 실시예들(900, 910)에 비하여 필요 외부 메모리 대역폭이 적어짐을 알 수 있다.
도 10은 일 실시예에 따른 영상 처리 방법을 분할된 특징맵에 적용하는 일 예를 나타내는 도면이다.
일 실시예에 따를 때, 영상 처리 장치는 계층 L에서의 N개의 채널을 가지는 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 특징맵들의 수를 줄이는 처리를 하나의 특징맵을 복수의 영역으로 구분한 영역 각각에 대해서도 수행할 수 있다.
도 10을 참조하면, 계층 L에서의 N개의 채널을 가지는 특징맵들 중 임의의 특징맵(1000)에 대하여, 영상 처리 장치는 특징맵을 복수의 영역으로 구분할 수 있다. 또한 영상 처리 장치는 복수의 영역으로 구분된 특징맵(1010)의 영역 각각에 대하여, 각각의 영역(1020)을 구성하는 픽셀들의 값이 영인지를 판단하고 판단 결과에 관한 정보를 저장할 수 있다. 또한 영상 처리 장치는 복수의 영역으로 구분된 특징맵(1010)의 영역 각각에 대하여, 소정의 조건을 만족하는 픽셀의 값을 영으로 설정하고, 판단 결과에 관한 정보를 저장할 수 있다. 또한, 영상 처리 장치는 계층 L의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 판단 결과에 관한 정보에 기초하여 외부 메모리에 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 외부 메모리로부터 독출하고, 독출된 특징맵들의 영상 특성 정보를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 수 있다.
도 11은 일 실시예에 따른 다채널 특징맵을 이용하는 컨볼루션 뉴럴 네트워크 기반의 영상 처리 과정에서, 제1 계층에서의 특징맵들 각각을 분석하고 그 분석 결과를 이용하여 제2 계층에서의 다채널 특징맵 연산을 수행할 특징맵들을 결정하는 영상 처리 방법을 나타내는 흐름도이다.
단계 S1100에서 영상 처리 장치는 복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고 판단 결과에 관한 정보를 프로세서에 저장할 수 있다.
일 실시예에 따를 때, 판단 결과에 관한 정보는 계층 L에서의 N개의 채널을 가지는 특징맵들 중에서 픽셀들의 값이 모두 영인 특징맵의 채널 정보, 위치 정보 또는 영상 특성 정보 등을 포함할 수 있으나, 이에 제한되지 않는다. 예를 들어, 계층 L+1에서 외부 메모리(430)에 기록된 특징맵들을 독출할 때, 계층 L에서의 특징맵들 중에서 픽셀들의 값이 모두 영인 특징맵을 제외하는데 필요한 정보들을 포함할 수 있다.
단계 S1110에서 영상 처리 장치는 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록할 수 있다.
일 실시예에 따를 때, 계층 L에서의 특징맵들의 영상 특성 정보는 계층 L에서의 특징맵의 채널 정보, 계층 정보 및 픽셀들의 값 중 적어도 하나를 포함할 수 있다.
단계 S1120에서 영상 처리 장치는 판단 결과에 관한 정보에 기초하여 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 외부 메모리로부터 독출할 수 있다.
단계 S1130에서 영상 처리 장치는 독출된 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행할 수 있다.
일 실시예에 따를 때, 계층 L+1에서의 특징맵 연산은 컨볼루션 연산, 활성화 함수(activation function) 연산, 풀링(pooling) 연산 또는 리샘플링 등을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시예에 따를 때, 영상 처리 장치의 내부 메모리 용량이 충분히 크다면, 외부 메모리에 계층 L에서의 N개의 채널을 가지는 특징맵들 모두의 영상 특성 정보를 기록하는 것이 아니라, 모든 구성 픽셀들의 값이 영인 특징맵들을 제외한 나머지 특징맵들에 한하여 영상 특성 정보를 기록할 수 있을 것이다. 또한 일 실시예에 따른 영상 처리 장치는 모든 구성 픽셀들의 값이 영인 특징맵들을 제외하고 외부 메모리에 기록된 나머지 특징맵들의 영상 특성 정보를 외부 메모리로부터 독출하고, 독출된 특징맵들의 영상 특성 정보를 이용하여 계층 L+1에서의 특징맵 연산을 수행할 수 있을 것이다.
한편, 상술한 실시예는, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터에 의해 판독 가능한 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 또한, 상술한 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 컴퓨터가 읽고 실행할 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 기록 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 마그네틱 저장매체, 예를 들면, 롬, 플로피 디스크, 하드 디스크 등을 포함하고, 광학적 판독 매체, 예를 들면, 시디롬, DVD 등과 같은 저장 매체를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 복수의 기록 매체가 네트워크로 연결된 컴퓨터 시스템들에 분산되어 있을 수 있으며, 분산된 기록 매체들에 저장된 데이터, 예를 들면 프로그램 명령어 및 코드가 적어도 하나의 컴퓨터에 의해 실행될 수 있다.
본 개시에서 설명된 특정 실행들은 일 실시예 일 뿐이며, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 및 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 실시예들과 관련된 기술 분야에서 통상의 지식을 가진 자는 상기 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.
본 개시는 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 본 개시는 명세서에 기재된 특정한 실시 형태에 의해 한정되는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물이 본 개시에 포함되는 것으로 이해되어야 한다. 그러므로, 개시된 실시예들은 한정적인 관점이 아닌 설명적 관점에서 이해되어야 한다.
본 개시의 범위는 발명의 상세한 설명보다는 특허 청구 범위에 의하여 나타나며, 특허 청구 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
100 : 영상 처리 장치
110 : 외부 메모리

Claims (20)

  1. 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN)에 기반한 영상 처리 장치에 있어서,
    저장부; 및
    복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 상기 판단 결과에 관한 정보를 상기 저장부에 저장하도록 제어하고, 상기 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 상기 외부 메모리로부터 독출하고, 상기 독출된 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 제어부를 포함하는, 영상 처리 장치.
  2. 제1항에 있어서,
    상기 판단 결과에 관한 정보는,
    상기 제1 계층의 특징맵들 중에서 픽셀들의 값이 모두 영인 특징맵의 채널 정보를 포함하는, 영상 처리 장치.
  3. 제2항에 있어서,
    상기 제어부는,
    상기 판단 결과에 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특정 정보를 상기 외부 메모리로부터 독출하고, 상기 독출된 특징맵들의 영상 특성 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는, 영상 처리 장치.
  4. 제1항에 있어서,
    상기 특징맵들의 영상 특성 정보는,
    상기 각각의 특징맵의 채널 정보, 계층 정보 및 픽셀들의 값 중 적어도 하나를 포함하는, 영상 처리 장치.
  5. 제1항에 있어서,
    상기 특징맵 연산은,
    각 계층에서의 특징맵들의 컨볼루션 연산, 활성화 함수(activation function) 연산, 풀링(pooling) 연산 및 리샘플링 연산 중 적어도 하나인, 영상 처리 장치.
  6. 제3항에 있어서,
    상기 제어부는,
    상기 복수의 채널을 가지는 제1 계층의 특징맵들 각각에 대하여, 소정의 조건을 만족하는 픽셀의 값을 영(zero)으로 설정하고, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하는, 영상 처리 장치.
  7. 제6항에 있어서,
    상기 소정의 조건은,
    상기 제1 계층의 특징맵들 각각에 대하여, 각 특징맵을 구성하는 픽셀들의 값 중 최대값이 소정의 임계값 이하인 것인, 영상 처리 장치.
  8. 제6항에 있어서,
    상기 소정의 조건은,
    상기 제1 계층의 특징맵들 각각의 픽셀 히스토그램에 대하여, 특정 픽셀 값 이상의 개수가 소정의 임계값 이하인 것인, 영상 처리 장치.
  9. 제1항에 있어서,
    상기 제어부는,
    상기 제1 계층의 특징맵들 각각에 대하여, 각 특징맵을 구성하는 픽셀들의 값의 다이나믹 레인지(dynamic range)를 분석하고, 상기 다이나믹 레인지에 기초하여 상기 제1 계층의 특징맵들을 재배열(re-ordering)하고, 상기 재배열된 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하는, 영상 처리 장치.
  10. 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN)에 기반한 프로세서의 영상 처리 방법에 있어서,
    복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는 단계;
    상기 제1 계층의 특징맵들의 영상 특성 정보를 외부 메모리에 기록하는 단계;
    상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀값이 영이 아닌 픽셀들의 정보를 상기 외부 메모리로부터 독출하는 단계; 및
    상기 독출된 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 단계를 포함하는, 영상 처리 방법.
  11. 제10항에 있어서,
    상기 판단 결과에 관한 정보는,
    상기 제1 계층의 특징맵들 중에서 픽셀들의 값이 모두 영인 특징맵의 채널 정보를 포함하는, 영상 처리 방법.
  12. 제11항에 있어서,
    상기 외부 메모리로부터 독출하는 단계는,
    상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 상기 외부 메모리로부터 독출하는 단계를 포함하는, 영상 처리 방법.
  13. 제10항에 있어서,
    상기 특징맵들의 영상 특성 정보는,
    상기 각각의 특징맵의 채널 정보, 계층 정보 및 픽셀들의 값 중 적어도 하나를 포함하는, 영상 처리 방법.
  14. 제10항에 있어서,
    상기 특징맵 연산은,
    각 계층에서의 특징맵들의 컨볼루션 연산, 활성화 함수(activation function) 연산, 풀링(pooling) 연산 및 리샘플링 연산 중 적어도 하나인, 영상 처리 방법.
  15. 제12항에 있어서,
    상기 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하고 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는 단계는,
    상기 복수의 채널을 가지는 제1 계층의 특징맵들 각각에 대하여, 소정의 조건을 만족하는 픽셀의 값을 영(zero)으로 설정하고, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하고, 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는 단계를 포함하는, 영상 처리 방법.
  16. 제15항에 있어서,
    상기 소정의 조건은,
    상기 제1 계층의 특징맵들 각각에 대하여, 각 특징맵을 구성하는 픽셀들의 값 중 최대값이 소정의 임계값 이하인 것인, 영상 처리 방법.
  17. 제15항에 있어서,
    상기 소정의 조건은,
    상기 제1 계층의 특징맵들 각각의 픽셀 히스토그램에 대하여, 특정 픽셀 값 이상의 개수가 소정의 임계값 이하인 것인, 영상 처리 방법.
  18. 제10항에 있어서,
    상기 각각의 특징맵을 구성하는 픽셀들의 값이 영인지를 판단하고 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는 단계는,
    상기 제1 계층의 특징맵들 각각에 대하여, 각 특징맵을 구성하는 픽셀들의 값의 다이나믹 레인지(dynamic range)를 분석하는 단계;
    상기 다이나믹 레인지에 기초하여 상기 제1 계층의 특징맵들을 재배열(re-ordering)하는 단계; 및
    상기 재배열된 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하는 단계를 포함하고 상기 판단 결과에 관한 정보를 상기 프로세서에 저장하는, 영상 처리 방법.
  19. 컨볼루션 뉴럴 네트워크(convolutional neural network, CNN)에 기반한 영상 처리 장치에 있어서,
    저장부; 및
    복수의 채널을 가지는 제1 계층의 특징맵(feature map)들 각각에 대하여, 상기 각각의 특징맵을 구성하는 픽셀들의 값이 영(zero)인지를 판단하고, 상기 판단 결과에 관한 정보를 상기 저장부에 저장하도록 제어하고, 상기 판단 결과에 관한 정보에 기초하여 상기 기록된 영상 특성 정보 중 픽셀들의 값이 모두 영인 특징맵을 제외한 특징맵들의 영상 특성 정보를 외부 메모리에 기록하고, 상기 기록된 특징맵들의 영상 특성 정보를 외부 메모리로부터 독출하고, 상기 독출된 특징맵들의 영상 특성 정보를 이용하여 제2 계층에서의 특징맵 연산을 수행하는 제어부를 포함하는, 영상 처리 장치.
  20. 제10항 내지 제18항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170075818A 2017-06-15 2017-06-15 다채널 특징맵을 이용하는 영상 처리 장치 및 방법 KR102419136B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170075818A KR102419136B1 (ko) 2017-06-15 2017-06-15 다채널 특징맵을 이용하는 영상 처리 장치 및 방법
US15/957,135 US10740865B2 (en) 2017-06-15 2018-04-19 Image processing apparatus and method using multi-channel feature map
EP18818948.4A EP3568828A4 (en) 2017-06-15 2018-04-20 IMAGE PROCESSING DEVICE AND METHOD WITH MULTI-CHANNEL FEATURE CARD
CN201880030783.4A CN110622206A (zh) 2017-06-15 2018-04-20 使用多通道特征图的图像处理装置和方法
PCT/KR2018/004610 WO2018230832A1 (en) 2017-06-15 2018-04-20 Image processing apparatus and method using multi-channel feature map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170075818A KR102419136B1 (ko) 2017-06-15 2017-06-15 다채널 특징맵을 이용하는 영상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180136720A true KR20180136720A (ko) 2018-12-26
KR102419136B1 KR102419136B1 (ko) 2022-07-08

Family

ID=64658243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170075818A KR102419136B1 (ko) 2017-06-15 2017-06-15 다채널 특징맵을 이용하는 영상 처리 장치 및 방법

Country Status (5)

Country Link
US (1) US10740865B2 (ko)
EP (1) EP3568828A4 (ko)
KR (1) KR102419136B1 (ko)
CN (1) CN110622206A (ko)
WO (1) WO2018230832A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020153513A1 (ko) * 2019-01-23 2020-07-30 전자부품연구원 딥러닝 가속 하드웨어 장치
KR20200119369A (ko) 2019-03-22 2020-10-20 홍익대학교 산학협력단 객체 검출 장치 및 방법
WO2021230624A1 (ko) * 2020-05-15 2021-11-18 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20220045882A (ko) * 2020-10-06 2022-04-13 한국전자통신연구원 특징 맵 부호화 및 복호화 장치 및 이를 이용한 방법
WO2022186498A1 (ko) * 2021-03-04 2022-09-09 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20230082270A (ko) 2021-12-01 2023-06-08 주식회사 엘지유플러스 영상 기반 이상 행동 감지 방법 및 이를 위한 장치

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11004171B2 (en) * 2016-06-30 2021-05-11 Keen Eye Technologies Multimodal viewer
WO2018216207A1 (ja) * 2017-05-26 2018-11-29 楽天株式会社 画像処理装置、画像処理方法、および画像処理プログラム
JP6969254B2 (ja) * 2017-09-22 2021-11-24 株式会社アイシン 画像処理装置及びプログラム
EP3699863A4 (en) * 2017-10-24 2020-10-14 Toru Nagasaka IMAGE INTERPRETATION DEVICE
US11568227B1 (en) 2018-04-20 2023-01-31 Perceive Corporation Neural network inference circuit read controller with multiple operational modes
US11481612B1 (en) 2018-04-20 2022-10-25 Perceive Corporation Storage of input values across multiple cores of neural network inference circuit
US10977338B1 (en) 2018-04-20 2021-04-13 Perceive Corporation Reduced-area circuit for dot product computation
US11783167B1 (en) 2018-04-20 2023-10-10 Perceive Corporation Data transfer for non-dot product computations on neural network inference circuit
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning
US11347297B1 (en) 2019-01-23 2022-05-31 Perceive Corporation Neural network inference circuit employing dynamic memory sleep
JP7487178B2 (ja) 2019-03-29 2024-05-20 ソニーセミコンダクタソリューションズ株式会社 情報処理方法、プログラム、及び、情報処理装置
US11941533B1 (en) 2019-05-21 2024-03-26 Perceive Corporation Compiler for performing zero-channel removal
CN110211127B (zh) * 2019-08-01 2019-11-26 成都考拉悠然科技有限公司 基于双相关性网络的图像分割方法
CN110853040B (zh) * 2019-11-12 2023-04-28 北京深境智能科技有限公司 一种基于超分辨率重建的图像协同分割方法
CN111339897B (zh) * 2020-02-21 2023-07-21 腾讯科技(深圳)有限公司 活体识别方法、装置、计算机设备和存储介质
JP2021152836A (ja) * 2020-03-25 2021-09-30 日本電気株式会社 画像処理装置、画像処理方法、プログラム
WO2021251614A1 (en) * 2020-06-12 2021-12-16 Samsung Electronics Co., Ltd. Image processing apparatus and method of operating the same
CN111984189B (zh) * 2020-07-22 2022-05-17 深圳云天励飞技术股份有限公司 神经网络计算装置和数据读取、数据存储方法及相关设备
US20220108127A1 (en) * 2020-10-06 2022-04-07 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding feature map and method using the same
EP4228255A4 (en) * 2020-10-07 2023-11-29 Zhejiang University ENCODING METHOD, DECODING METHOD, ENCODER, DECODER AND STORAGE MEDIUM
CN112465110B (zh) * 2020-11-16 2022-09-13 中国电子科技集团公司第五十二研究所 一种卷积神经网络计算优化的硬件加速装置
WO2022183335A1 (zh) * 2021-03-01 2022-09-09 浙江大学 图像编解码方法、编码器、解码器及存储介质
CN116051385A (zh) * 2021-10-28 2023-05-02 北京三星通信技术研究有限公司 图像处理方法、装置、电子设备及存储介质
CN116168348B (zh) * 2023-04-21 2024-01-30 成都睿瞳科技有限责任公司 基于图像处理的安全监控方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130032856A (ko) * 2011-09-23 2013-04-02 광주과학기술원 영상 감시 장치 및 영상 감시 방법
KR20150008744A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 깊이 영상 처리 방법 및 장치
KR20150088166A (ko) * 2014-01-23 2015-07-31 삼성전자주식회사 영상 데이터 처리 방법 및 디바이스
KR20170038622A (ko) * 2015-09-30 2017-04-07 삼성전자주식회사 영상으로부터 객체를 분할하는 방법 및 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE163412T1 (de) 1993-06-08 1998-03-15 Sanofi Sa Pyridazine als interleukin-1-beta verwandlungsenzym inhibitoren
US9223511B2 (en) 2011-04-08 2015-12-29 Micron Technology, Inc. Data deduplication
AU2015253709B2 (en) 2014-04-28 2018-07-05 Intel IP Corporation Solution to skip authentication procedure during Circuit- Switched Fallback (CSFB) to shorten call setup time
US9524450B2 (en) 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
WO2016141282A1 (en) 2015-03-04 2016-09-09 The Regents Of The University Of California Convolutional neural network with tree pooling and tree feature map selection
CN106156846B (zh) * 2015-03-30 2018-12-25 日本电气株式会社 卷积神经网络特征的处理方法和装置
US10013652B2 (en) 2015-04-29 2018-07-03 Nuance Communications, Inc. Fast deep neural network feature transformation via optimized memory bandwidth utilization
US10417555B2 (en) 2015-05-29 2019-09-17 Samsung Electronics Co., Ltd. Data-optimized neural network traversal
US20160358069A1 (en) 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
US11423311B2 (en) * 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
EP3104309B1 (en) 2015-06-10 2020-04-01 Samsung Electronics Co., Ltd. Spiking neural network with reduced memory access and reduced in-network bandwidth consumption
US20160378465A1 (en) 2015-06-23 2016-12-29 Intel Corporation Efficient sparse array handling in a processor
US9965705B2 (en) 2015-11-03 2018-05-08 Baidu Usa Llc Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering
US9665799B1 (en) * 2016-01-29 2017-05-30 Fotonation Limited Convolutional neural network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130032856A (ko) * 2011-09-23 2013-04-02 광주과학기술원 영상 감시 장치 및 영상 감시 방법
KR20150008744A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 깊이 영상 처리 방법 및 장치
KR20150088166A (ko) * 2014-01-23 2015-07-31 삼성전자주식회사 영상 데이터 처리 방법 및 디바이스
KR20170038622A (ko) * 2015-09-30 2017-04-07 삼성전자주식회사 영상으로부터 객체를 분할하는 방법 및 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020153513A1 (ko) * 2019-01-23 2020-07-30 전자부품연구원 딥러닝 가속 하드웨어 장치
KR20200091672A (ko) * 2019-01-23 2020-07-31 전자부품연구원 딥러닝 가속 하드웨어 장치
KR20200119369A (ko) 2019-03-22 2020-10-20 홍익대학교 산학협력단 객체 검출 장치 및 방법
WO2021230624A1 (ko) * 2020-05-15 2021-11-18 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20220045882A (ko) * 2020-10-06 2022-04-13 한국전자통신연구원 특징 맵 부호화 및 복호화 장치 및 이를 이용한 방법
WO2022186498A1 (ko) * 2021-03-04 2022-09-09 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20230082270A (ko) 2021-12-01 2023-06-08 주식회사 엘지유플러스 영상 기반 이상 행동 감지 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
WO2018230832A1 (en) 2018-12-20
CN110622206A (zh) 2019-12-27
US20180365794A1 (en) 2018-12-20
KR102419136B1 (ko) 2022-07-08
US10740865B2 (en) 2020-08-11
EP3568828A1 (en) 2019-11-20
EP3568828A4 (en) 2020-01-22

Similar Documents

Publication Publication Date Title
KR102419136B1 (ko) 다채널 특징맵을 이용하는 영상 처리 장치 및 방법
EP3555844B1 (en) Method and device for processing multi-channel feature map images
CN110033003B (zh) 图像分割方法和图像处理装置
CN111768432B (zh) 基于孪生深度神经网络的动目标分割方法及系统
US11922671B2 (en) Apparatus and method for processing image data
US20200117906A1 (en) Space-time memory network for locating target object in video content
EP3923233A1 (en) Image denoising method and apparatus
CN111402257B (zh) 一种基于多任务协同跨域迁移的医学图像自动分割方法
KR20170140214A (ko) 신경망을 위한 훈련 기준으로서의 필터 특이성
KR20200144398A (ko) 클래스 증가 학습을 수행하는 장치 및 그의 동작 방법
KR102165273B1 (ko) 소형 뉴럴 네트워크의 채널 프루닝(pruning) 방법 및 시스템
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
CN111914997B (zh) 训练神经网络的方法、图像处理方法及装置
CN111382759B (zh) 一种像素级分类方法、装置、设备及存储介质
CN111696110A (zh) 场景分割方法及系统
JP2023507248A (ja) 物体検出および認識のためのシステムおよび方法
KR20210076691A (ko) 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치
CN113256592A (zh) 图像特征提取模型的训练方法、系统及装置
CN117217280A (zh) 神经网络模型优化方法、装置及计算设备
JP6935868B2 (ja) 画像認識装置、画像認識方法、およびプログラム
CN116432736A (zh) 神经网络模型优化方法、装置及计算设备
KR20210111677A (ko) 뉴럴 네트워크의 클리핑 방법, 뉴럴 네트워크의 컨벌루션 계산 방법 및 그 방법을 수행하기 위한 전자 장치
KR102569598B1 (ko) 멀티 유사도 및 어텐션 네트워크를 이용한 퓨-샷 러닝을 수행하는 장치 및 방법
CN116543214A (zh) 一种基于均匀泊松编码的脉冲神经网络目标检测方法
KR102434969B1 (ko) 얼굴 영역 딕셔너리의 적대적 증류를 이용한 얼굴 초해상화 방법 및 장치

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