KR102326238B1 - 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
KR102326238B1
KR102326238B1 KR1020190119512A KR20190119512A KR102326238B1 KR 102326238 B1 KR102326238 B1 KR 102326238B1 KR 1020190119512 A KR1020190119512 A KR 1020190119512A KR 20190119512 A KR20190119512 A KR 20190119512A KR 102326238 B1 KR102326238 B1 KR 102326238B1
Authority
KR
South Korea
Prior art keywords
feature map
feature
block
testing
learning
Prior art date
Application number
KR1020190119512A
Other languages
English (en)
Other versions
KR20200092847A (ko
Inventor
김용중
김인수
김학경
남운현
부석훈
성명철
유우주
정경중
제홍모
조호진
Original Assignee
주식회사 스트라드비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스트라드비젼 filed Critical 주식회사 스트라드비젼
Publication of KR20200092847A publication Critical patent/KR20200092847A/ko
Application granted granted Critical
Publication of KR102326238B1 publication Critical patent/KR102326238B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/00624
    • 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
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 방법에 있어서, 학습 장치가, 제k 블록의 제1 컨벌루션 레이어로 하여금 제1_1 특징 맵 내지 제k_1 특징 맵 또는 이로부터 소정 연산된 각각의 특징 맵을 요소별 합산하도록 하며, 제k 블록의 제2 컨벌루션 레이어로 하여금 제k_2 특징 맵을 생성하도록 하는 단계; 풀링 레이어로 하여금 제n 블록으로부터 출력되는 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI 영역을 풀링하여 생성된 풀링된 특징 맵을 특징 분류기로 입력하도록 하는 단계; 로스 레이어로 하여금 특징 분류기의 출력값과 이에 대응하는 GT를 참조하여 로스를 산출하도록 하는 단계;를 포함하는 것을 특징으로 하는 방법을 제공하며, 하드웨어를 최적화하여 CNN 처리량을 향상시키고 본 발명은 학습 방법 및 테스트 방법은 소형 네트워크, 모바일 장치 등에 적합하게 사용될 수 있으며 핵심 성능 지수(Key Performance Index; KPI)를 만족시킬 수 있다.

Description

핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, CNN에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치{LEARNING METHOD AND LEARNING DEVICE FOR EXTRACTING FEATURE FROM INPUT IMAGE BY USING CONVOLUTIONAL LAYERS IN MULTIPLE BLOCKS IN CNN, RESULTING IN HARDWARE OPTIMIZATION WHICH ALLOWS KEY PERFORMANCE INDEX TO BE SATISFIED, AND TESTING METHOD AND TESTINGDEVICE USING THE SAME}
본 발명은 핵심 성능 지수(Key Performance Index; KPI)를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, CNN에서 복수의 블록 내의 컨벌루션 레이어를 이용하여 입력 이미지로부터 특징을 추출하는 방법에 관한 것으로, 보다 상세하게는, CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 방법에 있어서, (a) 트레이닝 이미지가 입력되면, 학습 장치가, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 생성하도록 하는 단계; (b) k를 2부터 n까지 증가시켜가면서, 상기 학습 장치가, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제(k-1) 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 상기 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 단계; 및 (c) 상기 학습 장치가, (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 풀링된 특징 맵을 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 단계;를 포함하는 것을 특징으로 하는 학습 방법 및 이를 이용한 테스트 방법, 그리고, 이들 방법을 수행하는 학습 장치 및 테스트 장치에 관한 것이다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolutional Neural Network; Deep CNN)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNN은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 기계 학습(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
이러한 CNN은 이미지로부터 특징(Feature)를 추출하는 특징 추출기와, 특징 추출기에서 추출된 특징을 참조하여 이미지를 인식하거나 이미지 내의 객체를 검출하는 특징 분류기를 포함할 수 있다.
종래 CNN에서는 이미지로부터 특징을 추출하기 위하여, 컨벌루션 레이어를 포함하는 복수의 컨벌루션 블록을 사용하고 있다. 예를 들어, 각각의 블록은 3x3 크기의 필터 커널을 사용하여 이미지 또는 이에 대응하는 특징 맵에 대하여 3x3 컨벌루션 연산을 적용하여 이미지로부터 특징을 추출하고 있다.
하지만, 종래 CNN의 컨벌루션 연산에 따라, 입력 이미지의 크기를 (X, Y)라하고, 입력 이미지의 채널 수를 Z라 하며, 필터 커널의 크기를 (M, M)이라 하고, 필터의 수를 L 이라 하면, 연산량은 XYZM2L가 되고, 파라미터의 수는 L(ZM2+1)개가 되어, 채널의 수, 필터의 수, 커널의 크기 등과 같은 많은 요소에 의해 연산량과 파리미터 수가 증가하는 단점이 있다. 이러한 연산량의 증가에 의해 컴퓨팅 성능 저하를 방지하기 위하여 입력 이미지의 사이즈에 비해 축소된, 즉, 서브샘플링된 특징 맵이 사용될 수 있다. 하지만, 이러한 서브 샘플링에 의해 특징 맵의 사이즈가 축소되므로 이미지 인식 또는 객체 검출을 위한 특징 추출 성능이 저하되는 문제점이 있다.
따라서, 본 발명자는 연산량을 줄이면서도 정확하게 특징을 추출하는 방법을 제안하고자 한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 CNN에서 특징을 추출하기 위해 필요한 연산량을 감소시키는 것을 다른 목적으로 한다.
본 발명은 연산량을 감소시키며 특징 추출 성능을 향상시키는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 방법에 있어서, (a) 트레이닝 이미지가 입력되면, 학습 장치가, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 생성하도록 하는 단계; (b) k를 2부터 n까지 증가시켜가면서, 상기 학습 장치가, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제(k-1) 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 상기 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 단계; 및 (c) 상기 학습 장치가, (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 풀링된 특징 맵을 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치는, 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (b) 단계에서, 상기 학습 장치는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제k_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제k_1 특징 맵 상의 특징 값 각각을 노말라이징하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 제1_1 노말라이징된 특징 맵 내지 상기 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 제1_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (b) 단계에서, 상기 학습 장치는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 내지 상기 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 제k_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며, 상기 (b) 단계에서, 상기 학습 장치는, (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 C는 상기 MxM 보다 작은 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 테스트 방법에 있어서, (a) 학습 장치가, (I) (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제1_2 특징 맵을 생성하도록 하는 제1 프로세스를 수행하고, (II) k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 학습용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 내지 상기 학습용 제k_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 학습용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제k_2 특징 맵을 생성하도록 하는 제2 프로세스를 수행하며, (III) (i) 풀링 레이어로 하여금 학습용 제n_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 상에서 학습용 ROI에 대응되는 학습용 영역을 풀링하도록 하여 학습용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 학습용 풀링된 특징 맵을 특징 분류기로 입력하도록 하여 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 학습용 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 상기 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하도록 하는 제3 프로세스를 수행한 상태에서, 테스트 장치가, (i) 테스트 이미지를 획득하고 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 하는 단계; (b) k를 2부터 n까지 증가시켜가면서, 상기 테스트 장치가, (i) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제k-1 블록으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 상기 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 하는 단계; 및 (c) 상기 테스트 장치가, (i) 상기 풀링 레이어로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 테스트용 ROI(Region Of Interest)에 대응되는 테스트용 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 테스트용 풀링된 특징 맵을 상기 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 테스트 이미지를 인식하거나 상기 테스트 이미지 상의 적어도 하나의 테스트용 객체를 검출하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 장치는, 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (b) 단계에서, 상기 테스트 장치는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 테스트용 제1_1 노말라이징된 특징 맵 내지 상기 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 장치는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (b) 단계에서, 상기 테스트 장치는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 내지 상기 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제k_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 장치는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_2 특징 맵 상의 각각의 상기 특징 값을 노말라이징하여 테스트용 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며, 상기 (b) 단계에서, 상기 테스트 장치는, (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 장치가, (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 C는 상기 MxM 보다 작은 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 생성하도록 하는 프로세스; (II) k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 상기 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 프로세스; 및 (III) (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 풀링된 특징 맵을 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 프로세스;를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (II) 단계에서, 상기 프로세서는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제k_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 제1_1 노말라이징된 특징 맵 내지 상기 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 제1_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (II) 프로세스에서, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 내지 상기 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 제k_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제1_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제1_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 C는 상기 MxM 보다 작은 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 테스트 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치가, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제1_2 특징 맵을 생성하도록 하는 제1 프로세스를 수행하고, k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 학습용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 내지 상기 학습용 제k_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 학습용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제k_2 특징 맵을 생성하도록 하는 제2 프로세스를 수행하며, (i) 풀링 레이어로 하여금 학습용 제n_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 상에서 학습용 ROI에 대응되는 학습용 영역을 풀링하도록 하여 학습용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 학습용 풀링된 특징 맵을 특징 분류기로 입력하도록 하여 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 학습용 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 상기 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하도록 하는 제3 프로세스를 수행한 상태에서, (I) (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 하는 프로세스, (II) k를 2부터 n까지 증가시켜가면서, (i) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제k-1 블록으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 상기 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 하는 프로세스 및 (III) (i) 상기 풀링 레이어로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 테스트용 ROI(Region Of Interest)에 대응되는 테스트용 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 테스트용 풀링된 특징 맵을 상기 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 테스트 이미지를 인식하거나 상기 테스트 이미지 상의 적어도 하나의 테스트용 객체를 검출하도록 하는 프로세스;를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (II) 단계에서, 상기 프로세서는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 테스트용 제1_1 노말라이징된 특징 맵 내지 상기 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 내지 상기 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제k_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_2 특징 맵 상의 각각의 상기 특징 값을 노말라이징하여 테스트용 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 C는 상기 MxM 보다 작은 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 CNN에서 특징을 추출하기 위해 필요한 연산량을 감소시켜 컴퓨팅 속도를 증가시킬 수 있는 효과가 있다.
또한, 연산량을 감소시키며 특징 추출 성능을 향상시킬 수 있는 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 CNN에서 복수의 블록 내의 컨벌루션 레이어을 이용하여 트레이닝 이미지로부터 특징을 추출하는 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 복수의 블록 내의 컨벌루션 레이어를 이용하여 트레이닝 이미지로부터 특징을 추출하는 방법을 개략적으로 도시한 것이고,
도 3a와 도 3b는 본 발명의 일 실시예에 따른 복수의 블록 내의 컨벌루션 레이어의 구성을 개략적으로 도시한 것이고,
도 4a와 도 4b는 본 발명의 다른 실시예에 따른 복수의 블록 내의 컨벌루션 레이어의 구성을 개략적으로 도시한 것이고,
도 5는 본 발명의 다른 실시예에 따른 CNN에서 제1 내지 제n 을 이용하여 테스트 이미지로부터 특징을 추출하는 테스트 장치를 개략적으로 도시한 것이고,
도 6은 본 발명의 다른 실시예에 따른 복수의 블록 내의 컨벌루션 레이어를 이용하여 테스트 이미지로부터 특징을 추출하는 테스트 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 CNN에서 복수의 블록 내의 제1 내지 제n 컨벌루션 레이어를 이용해 트레이닝 이미지로부터 특징을 추출하는 학습 장치를 개략적으로 도시한 것이다. 도 1을 참조하면, 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다. 또한, 학습 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(115)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
먼저, 통신부(110)는 트레이닝 이미지를 획득할 수 있다. 이때, 트레이닝 이미지는 데이터베이스(130)에 저장되어 있을 수 있으며, 데이터베이스(130)에는 트레이닝 이미지에 대응하는 GT(Ground Truth)가 저장되어 있을 수 있다.
다음으로, 프로세서(120)는 (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 제1 블록의 제2 컨벌루션 레이어로 하여금 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여, 제1_2 특징 맵을 생성하도록 하는 프로세스를 수행할 수 있다. 그리고, 프로세서(120)는 (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 제k 블록의 제2 컨벌루션 레이어로 하여금 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 프로세스를 수행할 수 있다. 이후, 프로세서(120)는 (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 풀링된 특징 맵을 특징 분류기로 입력하고 특징 분류기로 하여금 트레이닝 이미지를 인식하거나 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 이용한 백프로파게이션을 통해 제1 블록의 제1 및 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 프로세스를 수행할 수 있다.
이때, 프로세서를 탑재하여 연산 능력을 갖춘 컴퓨팅 장치라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다. 또한, 도 1에서는 하나의 학습 장치(100)만을 나타내었으나, 이에 한정되지 않으며, 학습 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 CNN에서 제1 내지 제n 블록을 이용하여 트레이닝 이미지로부터 특징을 추출하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 트레이닝 이미지가 입력되면, 학습 장치(100)가, 제1 블록(C1)으로 하여금 트레이닝 이미지에 대하여 뎁스별 세퍼러블 컨벌루션 연산(Depthwise Separable Convolution Operation)을 적용하도록 하여 제1 특징 맵 또는 이로부터 소정 연산된 특징 맵을 출력하도록 한다. 그리고, 학습 장치(100)는 제2 블록(C2) 내지 제n 블록(Cn)으로 하여금 이전 블록으로부터 출력되는 각각에 대응하는 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 순차적으로 뎁스별 세퍼러블 컨벌루션 연산을 적용하도록 하여 제2 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 제n 특징 맵 또는 이로부터 소정 연산된 특징 맵을 출력하도록 한다.
이때, 도 3a와 도 3b를 참조하여, 제1 블록(C1) 내지 제n 블록(Cn)을 이용하여 트레이닝 이미지 또는 이전 블록으로부터 출력된 상기 트레이닝 이미지에 대응하는 특징 맵에 대하여 순차적인 뎁스별 세퍼러블 컨벌루션 연산을 각각 적용하도록 하는 프로세스를 좀 더 상세히 설명하면 다음과 같다.
먼저, 트레이닝 이미지가 입력되면, 학습 장치(100)는 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 출력하도록 한다. 이때, 1x1 컨벌루션 연산의 연산량은 MxM 컨벌루션 연산에 비하여 1/M2 만큼이므로, 특징 추출 성능을 향상시키기 위하여 특징 맵의 채널을 C배 만큼 증가시킬 수 있다. 이때, C는 MxM 일 수 있다. 즉, MxM 컨벌루션에 비하여 동일한 컴퓨팅 성능에서 C배 만큼 증가된 특징 디멘션(Dimension)이 이용될 수 있게 된다. 그리고, 학습 장치(100)는 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 하여금 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 출력하도록 한다.
이때, 학습 장치(100)는 (i) 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 출력하도록 하며, (ii) 제1 블록(C1)의 제1 배치 노말라이제이션 레이어(C1_2)로 하여금 제1_1 특징 맵 상의 각각의 특징 값을 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 제1_1 노말라이징된 특징 맵을 생성하도록 할 수 있다. 그리고, 노말라이징된 특징 맵은 다음의 수학식 1과 같이 나타낼 수 있으며,
Figure 112019099050658-pat00001
Figure 112019099050658-pat00002
는 학습 가능한 파라미터이고,
Figure 112019099050658-pat00003
는 배치를 그 평균과 분산을 이용하여 노말라이징하여 생성된 값이다.
[수학식 1]
Figure 112019099050658-pat00004
Figure 112019099050658-pat00005
그리고, 학습 장치(100)는 제1 블록(C1)의 제1 활성화 레이어(C1_3)으로 하여금 (i) 제1_1 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성한 다음 (ii) 제1_1 비선형 특징 맵을 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 입력하도록 한다. 이때, 비선형 연산은 ReLU 일 수 있으나, 이에 한정되는 것은 아니다.
또한, 학습 장치(100)는 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 하여금 제1_1 특징 맵 또는 제1_1 비선형 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 출력하도록 하며, 제1 블록(C1)의 제2 배치 노말라이제이션 레이어(C1_5)로 하여금 제1_2 특징 맵 상의 각각의 특징 값을 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 수학식 1에 따라 제1_2 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 학습 장치(100)는 제1 블록(C1)의 제2 활성화 레이어(C1_6)으로 하여금 (1) 제1_2 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 제1_2 비선형 특징 맵이 제1 블록(C1)에서 출력되도록 할 수 있다.
다음으로, 학습 장치(100)는 k를 2부터 n까지 증가시켜가면서, (i) 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로 하여금 제k-1 블록(C(k-1))으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 출력하도록 하며, (ii) 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 하여금 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 출력하도록 할 수 있다.
이때, 학습 장치(100)는 (i) 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로 하여금 제k-1 블록(C(k-1))으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 출력하도록 하며, (ii) 제k 블록(Ck)의 제1 배치 노말라이제이션 레이어(Ck_2)로 하여금 제k_1 특징 맵 상의 각각의 특징 값을 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하여 제k_1 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 학습 장치(100)는 (i) 제k 블록(Ck)의 제1 활성화 레이어(Ck_3)로 하여금 제1_1 노말라이징된 특징 맵 내지 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산하여 생성된 제k-1 합성 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 생성하도록 한 다음 (ii) 제k_1 비선형 특징 맵을 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 입력할 수 있다.
또한, 학습 장치(100)는 (i) 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 하여금 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 출력하도록 하며, (ii) 제k 블록(Ck)의 제2 배치 노말라이제이션 레이어(Ck_5)로 하여금 제k_2 특징 맵 상의 각각의 특징 값을 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 수학식 1에 의해 제k_2 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 학습 장치(100)는 제k 블록(Ck)의 제2 활성화 레이어(Ck_6)로 하여금 (1) 제k_2 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 제k_2 비선형 특징 맵이 제k 블록(Ck)에서 출력되도록 할 수 있다.
그리고, 상기에서는 제1_1 노말라이징된 특징 맵 내지 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산하여 제k-1 합성 특징 맵을 생성한 다음 제k 블록(Ck)의 제1 활성화 레이어(Ck_3)에 대하여 비선형 연산을 적용하도록 하였다고 설명되어 있다. 다른 예로, 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로부터 출력되는 제1_1 특징 맵 내지 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로부터 출력되는 제k_1 특징 맵 중 적어도 일부를 요소별 합산하여 제k-1 합성 특징 맵을 생성할 수도 있다.
즉, 도 4a와 도 4b를 참조하면, 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로부터 출력되는 제1_1 특징 맵 내지 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로부터 출력되는 제k_1 특징 맵 중 적어도 일부를 요소별 합산하여 제k-1 합성 특징 맵을 생성할 수 있다. 그리고 제k 블록(Ck)의 제1 배치 노말라이제이션 레이어(Ck_2)로 하여금 제k-1 합성 특징 맵 상의 각각의 특징 값을 제k-1 합성 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 제k_1 노말라이징된 특징 맵을 생성하도록 한다. 제k 블록(Ck)의 제1 활성화 레이어(Ck_3)로 하여금 제k_1 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 출력하도록 한 다음, 제k_1 비선형 특징 맵을 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 입력하도록 한다.
다시, 도 2를 참조하면, 학습 장치(100)는 (i) 풀링 레이어(122)로 하여금 제n 블록(Cn)으로부터 출력되는 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 풀링된 특징 맵을 특징 분류기(123)로 입력하여 특징 분류기(123)로 하여금 트레이닝 이미지를 인식하도록 하거나 트레이닝 이미지 상의 객체를 검출하도록 할 수 있다.
그리고, 학습 장치(100)는 로스 레이어(124)로 하여금 특징 분류기(123)의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 이용한 백프로파게이션을 통해 제1 블록(C1)의 제1 및 제2 컨벌루션 레이어(C1_4) 내지 제n 블록(Cn)의 제1 및 제2 컨벌루션 레이어(Cn_4) 중 적어도 일부의 적어도 하나의 파라미터를 조정할 수 있다.
도 5는 본 발명의 일 실시예에 따른 CNN에서 제1 내지 제n 블록을 이용하여 테스트 이미지로부터 특징을 추출하는 테스트 장치를 개략적으로 도시한 것으로, 도 5를 참조하면, 테스트 장치(200)는 통신부(210)와 프로세서(220)를 포함할 수 있다. 또한, 테스트 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(215)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
먼저, 통신부(210)는 테스트 이미지를 획득할 수 있다.
이때, 학습 장치에 의해 제1 블록의 제1 및 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 하나의 파라미터가 조정된 상태일 수 있다.
참고로 이하의 설명에서 혼동을 피하기 위해 "학습용"이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, "테스트용"이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다.
즉, 도 4a와 4b를 참조하여 설명한 바와 같이, 트레이닝 이미지가 입력되면, (I) 학습 장치는, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제1_1 특징 맵을 출력하도록 하며, (ii) 제1 블록의 제2 컨벌루션 레이어로 하여금 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제1_2 특징 맵을 출력하도록 하고, (II) 학습 장치는, k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 학습용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제k_1 특징 맵을 출력하도록 하며, (ii) 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 내지 학습용 제k_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 중 적어도 일부를 요소별 합산하여 학습용 제k-1 합성 특징 맵을 생성하고, (iii) 제k 블록의 제2 컨벌루션 레이어로 하여금 학습용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제k_2 특징 맵을 출력하도록 하며, (III) 학습 장치는, (i) 풀링 레이어로 하여금 학습용 제n_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 상에서 학습용 ROI에 대응되는 영역을 풀링하도록 하여 학습용 풀링된 특징 맵을 생성하도록 하고, (ii) 학습용 풀링된 특징 맵을 특징 분류기로 입력하도록 하여 특징 분류기로 하여금 트레이닝 이미지를 인식하도록 하거나 트레이닝 이미지 상의 학습용 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 로스를 이용한 백프로파게이션을 통해 제1 블록의 제1 및 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정한 상태일 수 있다.
이 상태에서 프로세서(220)는 (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 출력하도록 하며, (ii) 제1 블록의 제2 컨벌루션 레이어로 하여금 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 출력하도록 하는 프로세스를 수행할 수 있다. 그리고, 프로세서(220)는 k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 출력하도록 하며, (ii) 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 제k 블록의 제2 컨벌루션 레이어로 하여금 테스트용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 출력하도록 하는 프로세스를 수행할 수 있다.
또한, 프로세서(220)는 (i) 풀링 레이어로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 테스트용 ROI에 대응되는 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 테스트용 풀링된 특징 맵을 특징 분류기(223)로 입력하여 특징 분류기로 하여금 테스트 이미지를 인식하거나 테스트 이미지 상의 테스트용 객체를 검출하도록 하는 프로세스를 수행한다.
이때, 프로세서를 탑재하여 연산 능력을 갖춘 컴퓨팅 장치라면 얼마든지 본 발명에 따른 테스트 장치(200)로서 채택될 수 있다. 또한, 도 5에서는 하나의 테스트 장치(200)만을 나타내었으나, 이에 한정되지 않으며, 테스트 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
CNN에서 복수의 블록 내의 제1 내지 제n 컨벌루션 레이어를 이용하여 테스트 이미지로부터 특징을 추출하는 방법을 도 6을 참조하여 설명하면 다음과 같다. 이하의 설명에서, 도 2 내지 도 4a와 도 4b를 참조하여 설명한 학습 방법으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
먼저, 도 2 내지 도 4a와 4b를 참조하여 설명한 바와 같이, 제1 블록(C1)의 제1 및 제2 컨벌루션 레이어(C1_1 및 C1_4) 내지 제n 블록(Cn)의 제1 및 제2 컨벌루션 레이어(Cn_1 및 Cn_4) 중 적어도 일부의 적어도 하나의 파라미터가 조정된 상태에서, 테스트 이미지가 입력되면, 테스트 장치(200)가, 제1 블록(C1)으로 하여금 테스트 이미지에 대하여 뎁스별 세퍼러블 컨벌루션 연산을 적용하도록 하여 제1 테스트용 특징 맵을 출력하도록 한다.
테스트 장치(200)가, 제2 블록(C2) 내지 제n 블록(Cn)으로 하여금 이전 블록으로부터 출력되는 테스트용 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 순차적으로 뎁스별 세퍼러블 컨벌루션 연산을 적용하도록 하여 테스트용 제2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 테스트용 제n 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵을 생성하도록 한다.
이때, 테스트 장치(200)는, 도 3a와 도 3b를 참조하여 설명한 바와 같이, (i) 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로 하여금 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 하여금 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 한다.
즉, 테스트 장치(200)는 (i) 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로 하여금 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 제1 블록(C1)의 제1 배치 노말라이제이션 레이어(C1_2)로 하여금 테스트용 제1_1 특징 맵 상의 각각의 특징 값을 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 할 수 있다. 그리고, 테스트 장치(200)는 제1 블록(C1)의 제1 활성화 레이어(C1_3)로 하여금 (i) 테스트용 제1_1 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성한 다음 (ii) 테스트용 제1_1 비선형 특징 맵을 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 입력하도록 한다. 또한, 테스트 장치(200)는 (i) 제1 블록(C1)의 제2 컨벌루션 레이어(C1_4)로 하여금 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 하며, (ii) 제1 블록(C1)의 제2 배치 노말라이제이션 레이어(C1_5)로 하여금 테스트용 제1_2 특징 맵 상의 각각의 특징 값을 테스트용 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 테스트용 제1_2 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 테스트 장치(200)는 제1 블록(C1)의 제2 활성화 레이어(C1_6)로 하여금 (1) 테스트용 제1_2 노말라이징된 특징 맵 상의 각각의 특징 값에 비선형 연산을 적용하도록 하여 테스트용 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 테스트용 제1_2 비선형 특징 맵이 제1 블록(C1)에서 출력되도록 할 수 있다.
이후, 테스트 장치(200)는 k를 2부터 n까지 증가시켜가면서, (i) 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로 하여금 제k-1 블록(C(k-1))으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 하여금 테스트용 제(k-1) 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 할 수 있다.
이때, 테스트 장치(200)는 (i) 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로 하여금 제k-1 블록(C(k-1))으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 제k 블록(Ck)의 제1 배치 노말라이제이션 레이어(Ck_2)로 하여금 테스트용 제k_1 특징 맵 상의 각각의 특징 값을 테스트용 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 테스트 장치(200)는 (i) 테스트용 제1_1 노말라이징된 특징 맵 내지 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산하여 생성된 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성한 다음 (ii) 테스트용 제k_1 비선형 특징 맵을 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 입력하도록 한다.
또한, 테스트 장치(200)는 (i) 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 하여금 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 하며, (ii) 제k 블록(Ck)의 제2 배치 노말라이제이션 레이어(Ck_5)로 하여금 테스트용 제k_2 특징 맵 상의 각각의 특징 값을 테스트용 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 테스트용 제k_2 노말라이징된 특징 맵을 생성하도록 한다. 그리고, 테스트 장치(200)는 제k 블록(Ck)의 제2 활성화 레이어(Ck_6)로 하여금 (1) 테스트용 제k_2 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 테스트용 제k_2 비선형 특징 맵이 제k 블록(Ck)에서 출력되도록 한다.
그리고, 상기에서는 제1 배치 노말라이제이션 레이어(C1_2)에서 노말라이징된 테스트용 제1_1 노말라이징된 특징 맵 내지 제1 배치 노말라이제이션 레이어(Ck_2)에서 노말라이징된 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성한 다음, 제k 블록(Ck)의 제1 활성화 레이어(Ck_3)로 하여금 비선형 연산을 적용하도록 한다.
하지만, 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로부터 출력되는 테스트용 제1_1 특징 맵 내지 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로부터 출력되는 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성할 수도 있다.
즉, 도 4a와 도 4b를 참조하여 설명한 바와 같이, (i) 제1 블록(C1)의 제1 컨벌루션 레이어(C1_1)로부터 출력되는 테스트용 제1_1 특징 맵 내지 제k 블록(Ck)의 제1 컨벌루션 레이어(Ck_1)로부터 출력되는 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산하여 생성된 테스트용 제k-1 합성 특징 맵을 생성하고, (ii) 제k 블록(Ck)의 제1 배치 노말라이제이션 레이어(Ck_2)로 하여금 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값을 테스트용 제k-1 합성 특징 맵 상의 특징 값의 평균과 분산을 이용하여 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (iii) 제k 블록(Ck)의 제1 활성화 레이어(Ck_3)로 하여금 (1) 테스트용 제k_1 노말라이징된 특징 맵 상의 각각의 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 출력하도록 한 다음 (2) 테스트용 제k_1 비선형 특징 맵을 제k 블록(Ck)의 제2 컨벌루션 레이어(Ck_4)로 입력하도록 할 수 있다.
다시, 도 6을 참조하면, 테스트 장치(200)는 (i) 풀링 레이어(222)로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 이에 대응되는 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 테스트용 풀링된 특징 맵을 특징 분류기(223)로 입력하도록 하여 특징 분류기(223)로 하여금 테스트 이미지를 인식하도록 하거나 테스트 이미지 상의 테스트용 객체를 검출하도록 할 수 있다.
본 발명에 따른 학습 방법 및 테스트 방법을 통한 하드웨어 최적화는 CNN 처리량을 향상시키고 핵심 성능 지수(Key Performance Index; KPI)를 만족시킬 수 있다. 따라서 학습 방법 및 테스트 방법은 소형 네트워크, 모바일 장치 등에 적합하게 사용될 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100, 200: 컴퓨팅 장치,
110, 210: 통신부,
120, 220: 프로세서,
230: 데이터베이스

Claims (24)

  1. CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 방법에 있어서,
    (a) 트레이닝 이미지가 입력되면, 학습 장치가, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 생성하도록 하는 단계;
    (b) k를 2부터 n까지 증가시켜가면서, 상기 학습 장치가, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제(k-1) 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 상기 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 단계; 및
    (c) 상기 학습 장치가, (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 풀링된 특징 맵을 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는,
    제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (b) 단계에서,
    상기 학습 장치는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제k_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제k_1 특징 맵 상의 특징 값 각각을 노말라이징하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 제1_1 노말라이징된 특징 맵 내지 상기 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는,
    (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (b) 단계에서,
    상기 학습 장치는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 내지 상기 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 제k_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는,
    (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며,
    상기 (b) 단계에서,
    상기 학습 장치는,
    (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 학습 장치는,
    (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    상기 C는 상기 MxM 보다 작은 것을 특징으로 하는 방법.
  7. CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 테스트 방법에 있어서,
    (a) 학습 장치가, (I) (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제1_2 특징 맵을 생성하도록 하는 제1 프로세스를 수행하고, (II) k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 학습용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 내지 상기 학습용 제k_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 학습용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제k_2 특징 맵을 생성하도록 하는 제2 프로세스를 수행하며, (III) (i) 풀링 레이어로 하여금 학습용 제n_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 상에서 학습용 ROI에 대응되는 학습용 영역을 풀링하도록 하여 학습용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 학습용 풀링된 특징 맵을 특징 분류기로 입력하도록 하여 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 학습용 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 상기 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하도록 하는 제3 프로세스를 수행한 상태에서, 테스트 장치가, (i) 테스트 이미지를 획득하고 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 하는 단계;
    (b) k를 2부터 n까지 증가시켜가면서, 상기 테스트 장치가, (i) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제k-1 블록으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 상기 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 하는 단계; 및
    (c) 상기 테스트 장치가, (i) 상기 풀링 레이어로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 테스트용 ROI(Region Of Interest)에 대응되는 테스트용 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 테스트용 풀링된 특징 맵을 상기 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 테스트 이미지를 인식하거나 상기 테스트 이미지 상의 적어도 하나의 테스트용 객체를 검출하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 테스트 방법.
  8. 제 7 항에 있어서,
    상기 (a) 단계에서,
    상기 테스트 장치는,
    제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (b) 단계에서,
    상기 테스트 장치는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 테스트용 제1_1 노말라이징된 특징 맵 내지 상기 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 테스트 방법.
  9. 제 7 항에 있어서,
    상기 (a) 단계에서,
    상기 테스트 장치는,
    (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (b) 단계에서,
    상기 테스트 장치는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 내지 상기 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제k_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 테스트 방법.
  10. 제 7 항에 있어서,
    상기 (a) 단계에서,
    상기 테스트 장치는,
    (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_2 특징 맵 상의 각각의 상기 특징 값을 노말라이징하여 테스트용 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며,
    상기 (b) 단계에서,
    상기 테스트 장치는,
    (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 하는 테스트 방법.
  11. 제 7 항에 있어서,
    상기 테스트 장치가,
    (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 하는 테스트 방법.
  12. 제 11 항에 있어서,
    상기 C는 상기 MxM 보다 작은 것을 특징으로 하는 테스트 방법.
  13. CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제1_2 특징 맵을 생성하도록 하는 프로세스; (II) k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 제1_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 내지 상기 제k_1 특징 맵 또는 이로부터 소정 연산된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 제k_2 특징 맵을 생성하도록 하는 프로세스; 및 (III) (i) 풀링 레이어로 하여금 제n_2 특징 맵 또는 이로부터 소정 연산된 특징 맵 상에서 ROI(Region Of Interest)에 대응되는 영역을 풀링하도록 하여 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 풀링된 특징 맵을 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하는 프로세스;를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  14. 제 13 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는,
    제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (II) 단계에서,
    상기 프로세서는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제k_1 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 제1_1 노말라이징된 특징 맵 내지 상기 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 학습 장치.
  15. 제 13 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 제1_1 특징 맵 내지 상기 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 제k_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 학습 장치.
  16. 제 13 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제1_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 제k_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 제k_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 하는 학습 장치.
  17. 제 13 항에 있어서,
    상기 프로세서는,
    (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 하는 학습 장치.
  18. 제 17 항에 있어서,
    상기 C는 상기 MxM 보다 작은 것을 특징으로 하는 학습 장치.
  19. CNN에서 제1 내지 제n 블록을 이용하여 입력 이미지로부터 특징을 추출하는 테스트 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    학습 장치가, (i) 제1 블록의 제1 컨벌루션 레이어로 하여금 트레이닝 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제1_2 특징 맵을 생성하도록 하는 제1 프로세스를 수행하고, k를 2부터 n까지 증가시켜가면서, (i) 제k 블록의 제1 컨벌루션 레이어로 하여금 제k-1 블록으로부터 출력되는 학습용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 학습용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 학습용 제1_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 내지 상기 학습용 제k_1 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 학습용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 제2 컨벌루션 레이어로 하여금 상기 학습용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 학습용 제k_2 특징 맵을 생성하도록 하는 제2 프로세스를 수행하며, (i) 풀링 레이어로 하여금 학습용 제n_2 특징 맵 또는 이로부터 소정 연산된 학습용 특징 맵 상에서 학습용 ROI에 대응되는 학습용 영역을 풀링하도록 하여 학습용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 학습용 풀링된 특징 맵을 특징 분류기로 입력하도록 하여 상기 특징 분류기로 하여금 상기 트레이닝 이미지를 인식하거나 상기 트레이닝 이미지 상의 적어도 하나의 학습용 객체를 검출하도록 하며, (iii) 로스 레이어로 하여금 상기 특징 분류기의 출력 값과 이에 대응하는 GT를 참조하여 적어도 하나의 로스를 산출하도록 함으로써, 상기 로스를 이용한 백프로파게이션을 통해 상기 제1 블록의 상기 제1 및 상기 제2 컨벌루션 레이어 내지 상기 제n 블록의 제1 및 제2 컨벌루션 레이어 중 적어도 일부의 적어도 하나의 파라미터를 조정하도록 하는 제3 프로세스를 수행한 상태에서, (I) (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제1_1 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제1_2 특징 맵을 생성하도록 하는 프로세스, (II) k를 2부터 n까지 증가시켜가면서, (i) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 제k-1 블록으로부터 출력되는 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 제k_1 특징 맵을 생성하도록 하며, (ii) 상기 테스트용 제1_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 내지 상기 테스트용 제k_1 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 중 적어도 일부를 요소별 합산하여 테스트용 제k-1 합성 특징 맵을 생성하고, (iii) 상기 제k 블록의 상기 제2 컨벌루션 레이어로 하여금 상기 테스트용 제k-1 합성 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 MxM 컨벌루션 연산을 적용하도록 하여 테스트용 제k_2 특징 맵을 생성하도록 하는 프로세스 및 (III) (i) 상기 풀링 레이어로 하여금 테스트용 제n_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵 상에서 테스트용 ROI(Region Of Interest)에 대응되는 테스트용 영역을 풀링하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 하고, (ii) 상기 테스트용 풀링된 특징 맵을 상기 특징 분류기로 입력하고 상기 특징 분류기로 하여금 상기 테스트 이미지를 인식하거나 상기 테스트 이미지 상의 적어도 하나의 테스트용 객체를 검출하도록 하는 프로세스;를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 테스트 장치.
  20. 제 19 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는,
    제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징(Normalizing)하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, 상기 제1 블록의 제1 활성화 레이어(Activation Layer)로 하여금 (i) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성한 다음, (ii) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (II) 단계에서,
    상기 프로세서는,
    (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 상기 테스트용 제1_1 노말라이징된 특징 맵 내지 상기 테스트용 제k_1 노말라이징된 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding) 하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산(Nonlinear Operation)을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성한 다음, (iii) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 테스트 장치.
  21. 제 19 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, (i) 상기 제1 블록의 제1 배치 노말라이제이션 레이어(First Batch Normalization Layer)로 하여금 상기 테스트용 제1_1 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_1 특징 맵 상의 상기 특징 값 각각을 노말라이징하도록 하여 테스트용 제1_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제1_1 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제1_1 비선형 특징 맵을 상기 제1 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하며,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) 상기 제k 블록의 제1 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_1 특징 맵 내지 상기 테스트용 제k_1 특징 맵 중 적어도 일부를 요소별 합산(Elementwise Adding)하여 생성된 상기 테스트용 제k-1 합성 특징 맵 상의 각각의 특징 값을 노말라이징하도록 하여 테스트용 제k_1 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제k 블록의 제1 활성화 레이어로 하여금 (1) 상기 테스트용 제k_1 노말라이징된 특징 맵 상의 상기 특징 값 각각에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_1 비선형 특징 맵을 생성하도록 한 다음, (2) 상기 테스트용 제k_1 비선형 특징 맵을 상기 제k 블록의 상기 제2 컨벌루션 레이어로 입력하도록 하는 것을 특징으로 하는 테스트 장치.
  22. 제 19 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, (i) 상기 제1 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제1_2 특징 맵 상의 특징 값의 평균과 분산을 이용하여 상기 테스트용 제1_2 특징 맵 상의 각각의 상기 특징 값을 노말라이징하여 테스트용 제1_2 노말라이징된 특징 맵을 생성하도록 하며, (ii) 상기 제1 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제1_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제1_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제1_2 비선형 특징 맵을 상기 제1 블록으로부터 출력되도록 하며,
    상기 (II) 프로세스에서,
    상기 프로세서는,
    (i) 상기 제k 블록의 제2 배치 노말라이제이션 레이어로 하여금 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값의 평균과 분산을 이용하여 상기 테스트용 제k_2 특징 맵 상의 상기 특징 값 각각을 노말라이징하여 테스트용 제k_2 노말라이징된 특징 맵을 생성하도록 하며,
    (ii) 상기 제k 블록의 제2 활성화 레이어로 하여금 (1) 상기 테스트용 제k_2 노말라이징된 특징 맵 상의 각각의 상기 특징 값에 대하여 비선형 연산을 적용하도록 하여 테스트용 제k_2 비선형 특징 맵을 생성하도록 한 다음 (2) 상기 테스트용 제k_2 비선형 특징 맵을 상기 제k 블록으로부터 출력되도록 하는 것을 특징으로 하는 테스트 장치.
  23. 제 19 항에 있어서,
    상기 프로세서는,
    (i) 상기 제1 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트 이미지에 대하여 1x1 컨벌루션 연산을 적용하도록 하고, (ii) 상기 제k 블록의 상기 제1 컨벌루션 레이어로 하여금 상기 테스트용 제(k-1)_2 특징 맵 또는 이로부터 소정 연산된 테스트용 특징 맵에 대하여 1x1 컨벌루션 연산을 적용하도록 하여 테스트용 특징 디멘션(Feature Dimension)을 C배만큼 증가시키도록 하는 것을 특징으로 하는 테스트 장치.
  24. 제 23 항에 있어서,
    상기 C는 상기 MxM 보다 작은 것을 특징으로 하는 테스트 장치.
KR1020190119512A 2019-01-25 2019-09-27 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 KR102326238B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/258,221 2019-01-25
US16/258,221 US10452980B1 (en) 2019-01-25 2019-01-25 Learning method and learning device for extracting feature from input image by using convolutional layers in multiple blocks in CNN, resulting in hardware optimization which allows key performance index to be satisfied, and testing method and testing device using the same

Publications (2)

Publication Number Publication Date
KR20200092847A KR20200092847A (ko) 2020-08-04
KR102326238B1 true KR102326238B1 (ko) 2021-11-16

Family

ID=68241803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190119512A KR102326238B1 (ko) 2019-01-25 2019-09-27 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치

Country Status (5)

Country Link
US (1) US10452980B1 (ko)
EP (1) EP3686793A1 (ko)
JP (1) JP7252120B2 (ko)
KR (1) KR102326238B1 (ko)
CN (1) CN111488901B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666960B (zh) * 2019-03-06 2024-01-19 南京地平线机器人技术有限公司 图像识别方法、装置、电子设备及可读存储介质
US11109586B2 (en) 2019-11-13 2021-09-07 Bird Control Group, Bv System and methods for automated wildlife detection, monitoring and control
CN113515969B (zh) * 2020-04-09 2023-04-07 广西壮族自治区自然资源信息中心 基于卷积神经网络的多时态遥感影像地表覆盖分类方法
CN113034512B (zh) * 2021-03-15 2022-11-11 南京理工大学 基于特征分割的焊缝跟踪方法
CN113160199B (zh) * 2021-04-29 2022-06-17 武汉联影医疗科技有限公司 影像识别方法、装置、计算机设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965719B2 (en) * 2015-11-04 2018-05-08 Nec Corporation Subcategory-aware convolutional neural networks for object detection
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
JP2018026040A (ja) * 2016-08-12 2018-02-15 キヤノン株式会社 情報処理装置および情報処理方法
US10354362B2 (en) * 2016-09-08 2019-07-16 Carnegie Mellon University Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network
US10303979B2 (en) * 2016-11-16 2019-05-28 Phenomic Ai Inc. System and method for classifying and segmenting microscopy images with deep multiple instance learning
CA3045333A1 (en) 2016-12-01 2018-06-07 Berkeley Lights, Inc. Automated detection and repositioning of micro-objects in microfluidic devices
JP6941943B2 (ja) * 2017-02-01 2021-09-29 日本放送協会 予測装置およびプログラム
US10467493B2 (en) * 2017-07-14 2019-11-05 Google Llc Object detection using neural network systems
KR102585216B1 (ko) * 2017-12-14 2023-10-05 삼성전자주식회사 영상 인식 방법 및 그 장치
CN108717568B (zh) * 2018-05-16 2019-10-22 陕西师范大学 一种基于三维卷积神经网络的图像特征提取与训练方法
CN108875161B (zh) * 2018-05-31 2022-11-29 长江勘测规划设计研究有限责任公司 基于卷积神经网络深度学习的流量等级预测方法
US10547823B2 (en) * 2018-09-25 2020-01-28 Intel Corporation View interpolation of multi-camera array images with flow estimation and image super resolution using deep learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HuZhongxu et al, 3D separable convolutional neural network for dynamic hand gesture recognition, Neurocomputing, November 2018

Also Published As

Publication number Publication date
US10452980B1 (en) 2019-10-22
CN111488901B (zh) 2023-11-21
KR20200092847A (ko) 2020-08-04
CN111488901A (zh) 2020-08-04
JP2020119524A (ja) 2020-08-06
EP3686793A1 (en) 2020-07-29
JP7252120B2 (ja) 2023-04-04

Similar Documents

Publication Publication Date Title
KR102326238B1 (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR102326256B1 (ko) 고정밀도 이미지를 분석하는 딥러닝 네트워크의 학습에 이용하기 위한 트레이닝 이미지를 오토 라벨링하기 위한 방법 및 이를 이용한 오토 라벨링 장치
US10740593B1 (en) Method for recognizing face using multiple patch combination based on deep neural network with fault tolerance and fluctuation robustness in extreme situation
KR102246326B1 (ko) 라플라시안 피라미드 네트워크를 이용하여 자율 주행 자동차 레벨 4 및 레벨 5를 만족시키기 위해 요구되는 도로 장애물 검출에 있어서의 세그먼테이션 성능 향상을 위한 학습 방법 및 학습 장치 및 이를 이용한 테스팅 방법 및 테스팅 장치
EP3686795B1 (en) Learning method and learning device for improving segmentation performance to be used for detecting events including pedestrian event, vehicle event, falling event and fallen event using edge loss and test method and test device using the same
US10430691B1 (en) Learning method and learning device for object detector based on CNN, adaptable to customers' requirements such as key performance index, using target object merging network and target region estimating network, and testing method and testing device using the same to be used for multi-camera or surround view monitoring
KR102337367B1 (ko) 원거리 검출 또는 군사 목적을 위해, 이미지 컨캐터네이션을 이용한, cnn 기반의 하드웨어 최적화가 가능한 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스팅 방법 및 테스팅 장치
US10387753B1 (en) Learning method and learning device for convolutional neural network using 1×1 convolution for image recognition to be used for hardware optimization, and testing method and testing device using the same
KR102337383B1 (ko) 하드웨어 최적화에 사용되는 1xK 또는 Kx1 컨벌루션 연산을 이용한 CNN을 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN111008638B (zh) 基于r-cnn的对象检测器的学习方法和装置
CN110910395A (zh) 图像编码方法和装置、利用它们的测试方法和测试装置
CN111476342B (zh) 利用了1xH卷积的CNN方法及装置
CN111476262B (zh) 利用1xH卷积的基于CNN的对象检测方法及装置
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR102328733B1 (ko) 하드웨어 최적화에 쓰이는 1x1 컨벌루션을 이용한 CNN 기반의 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스트 장치 및 테스트 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant