KR102313113B1 - R-cnn 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치 - Google Patents

R-cnn 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치 Download PDF

Info

Publication number
KR102313113B1
KR102313113B1 KR1020190105487A KR20190105487A KR102313113B1 KR 102313113 B1 KR102313113 B1 KR 102313113B1 KR 1020190105487 A KR1020190105487 A KR 1020190105487A KR 20190105487 A KR20190105487 A KR 20190105487A KR 102313113 B1 KR102313113 B1 KR 102313113B1
Authority
KR
South Korea
Prior art keywords
information
roi
layer
training
test
Prior art date
Application number
KR1020190105487A
Other languages
English (en)
Other versions
KR20200038846A (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 KR20200038846A publication Critical patent/KR20200038846A/ko
Application granted granted Critical
Publication of KR102313113B1 publication Critical patent/KR102313113B1/ko

Links

Images

Classifications

    • 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
    • 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/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
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • G06K9/3233
    • 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
    • G06N3/0454
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • 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)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 R-CNN 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치에 관한 것으로, 보다 상세하게는, (a) 적어도 하나의 트레이닝 이미지가 입력되면, 학습 장치가, (i) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하도록 하는 단계; (b) 상기 학습 장치가, (i) 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, (ii) 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하는 단계; 및 (c) 상기 학습 장치가, 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, (i) 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, (ii) 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, (iii) 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하도록 하는 단계;를 포함하는 것을 특징으로 하는 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치에 관한 것이다.

Description

R-CNN 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치{LEARNING METHOD AND TESTING METHOD FOR R-CNN BASED OBJECT DETECTOR, AND LEARNING DEVICE AND TESTING DEVICE USING THE SAME}
본 발명은 R-CNN(Region-Convolutional Neural Network) 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치에 관한 것으로, 보다 상세하게는, (a) 적어도 하나의 트레이닝 이미지가 입력되면, 학습 장치가, (i) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하도록 하는 단계; (b) 상기 학습 장치가, (i) 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, (ii) 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하는 단계; 및 (c) 상기 학습 장치가, 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, (i) 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, (ii) 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, (iii) 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하도록 하는 단계;를 포함하는 것을 특징으로 하는 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치에 관한 것이다.
딥러닝은 사물이나 데이터를 군집화하거나 분류하는 데 사용하는 기술이다. 예를 들어 컴퓨터는 사진만으로 개와 고양이를 구분하지 못한다. 하지만 사람은 아주 쉽게 구분할 수 있다. 이를 위해 '기계학습(Machine Learning)'이라는 방법이 고안됐다. 많은 데이터를 컴퓨터에 입력하고 비슷한 것끼리 분류하도록 하는 기술이다. 저장된 개 사진과 비슷한 사진이 입력되면, 이를 개 사진이라고 컴퓨터가 분류하도록 한 것이다.
데이터를 어떻게 분류할 것인가를 놓고 이미 많은 기계학습 알고리즘이 등장했다. '의사결정나무'나 '베이지안망', '서포트벡터머신(SVM)', '인공신경망' 등이 대표적이다. 이 중 딥러닝은 인공신경망의 후예다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolution Neural Networks; Deep CNNs)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNNs은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 머신러닝(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
특히, 최근에는 이미지 내에 위치하는 객체를 검출하기 위하여 R-CNN(Region-Convolutional Neural Network) 기반의 객체 검출기가 많이 이용되고 있다.
이러한 R-CNN 기반 객체 검출기는 로스값을 참조하여 백프로파게이션을 이용하여 학습이 이루어지게 되며, 학습된 결과에 따라 그 성능이 결정된다.
하지만, 상기 객체 검출기를 이용하여 검출하고자 하는 모든 객체가 포함된 데이터 세트(data set)을 구하는 건 쉽지 않다.
일 예로, 자동차의 주행 도로 이미지에서 보행자, 운전자, 차량, 교통 표지, 교통 신호 및 동물과 같은 6종류의 객체를 검출하기 위한 객체 검출기를 개발하고자 할 경우, 상기 6종류의 객체 모두가 포함된 트레이닝 이미지들로 데이터 세트를 구성하기가 쉽지 않다.
따라서, 종래의 R-CNN 기반 객체 검출기는, 검출하고자 하는 객체들이 분류된 각각의 클래스군에 대한 각각의 데이터 세트가 제공된다면, 상기 각각의 데이터 세트별로 R-CNN 네트워크를 각각 생성하고, R-CNN 네트워크들의 파라미터를 학습했다. 여기서, 상기 종래의 객체 검출기는 각각 학습된 R-CNN 네트워크들을 포함하게 된다.
즉, 도 1을 참조하면, 보행자, 운전자, 차량, 교통 표지, 교통 신호 및 동물과 같은 6종류의 객체를 검출하고자 할 경우, (a)에서와 같이, 적어도 하나의 보행자, 운전자 및 차량에 대한 데이터 세트이 구성되어 R-CNN1의 파라미터를 학습하는 데 사용되며, (b)에서와 같이, 적어도 하나의 교통 표지 및 교통 신호에 대한 데이터 세트를이 구성되어 R-CNN2의 파라미터를 학습하는 데 사용되며, (c)에서와 같이, 적어도 하나의 동물에 대한 데이터 세트를이 구성되어 R-CNN3의 파라미터를 학습하는 데 사용된다.
이후, 각각 학습된 상기 R-CNN1, 상기 R-CNN2, 및 상기 R-CNN3를 포함하도록 상기 R-CNN 기반 상기 객체 검출기를 구성한다.
하지만, 이러한 종래의 상기 R-CNN 기반 상기 객체 검출기는 학습용 데이터 세트의 개수에 대응하는 서로 다른 다수의 딥러닝 네트워크를 포함하는 것으로, 실제 테스팅을 진행할 경우, 상기 종래의 객체 검출기는 1개의 딥러닝 네트워크만을 포함하는 검출기와 비교하면 포함된 딥러닝 네트워크의 개수에 비례하여 실행 시간이 증가되는 문제점이 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 복수의 서로 다른 데이터 세트(data set)가 하나의 딥러닝 네트워크의 파라미터를 학습할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 복수의 서로 다른 데이터 세트를 이용하여 학습한 R-CNN 기반 객체 검출기의 실행 시간을 단축할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 복수의 서로 다른 데이터 세트를 이용하여 학습한 상기 딥 러닝 네트워크를 이용한 상기 R-CNN 기반 상기 객체 검출기를 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 태양에 따르면, R-CNN(Region-Convolutional Neural Network) 기반 객체 검출기의 파라미터를 학습하는 방법에 있어서, (a) 적어도 하나의 트레이닝 이미지가 입력되면, 학습 장치가, (i) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하도록 하는 단계; (b) 상기 학습 장치가, (i) 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, (ii) 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하는 단계; 및 (c) 상기 학습 장치가, 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, (i) 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, (ii) 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, (iii) 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하도록 하는 단계;를 포함하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 RPN에 대응되는 제2 로스 레이어로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 트레이닝 이미지 상에 상기 매칭 정보 중 제1 매칭 정보에 대응되는 제1 객체와 제2 매칭 정보에 대응되는 제2 객체가 포함되어 있는 것으로 판단될 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 매칭 정보에 대응하는 제1 ROI 프로포잘과 제2 매칭 정보에 대응하는 제2 ROI 프로포잘을 출력하도록 하며, 상기 (b) 단계에서, 상기 학습 장치는, (i) 상기 제1 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 특정 특징맵 상에서 상기 제1 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 특징 벡터를 이용하여 상기 제1 객체의 제1 객체 클래스 정보 및 제1 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 특징맵 상에서 상기 제2 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 특징 벡터를 이용하여 상기 제2 객체의 제2 객체 클래스 정보 및 제2 객체 리그레션 정보를 출력하도록 하며, 상기 (c) 단계에서, 상기 학습 장치는, (i) 상기 제1 로스 레이어 중 상기 제1 FC 레이어에 대응되는 제1-1 로스 레이어로 하여금, 상기 제1 객체 클래스 정보, 상기 제1 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-1 GT를 참조하여, 적어도 하나의 제1 객체 클래스 로스 및 적어도 하나의 제1 객체 리그레션 로스를 계산하도록 하고, 상기 제1 객체 클래스 로스 및 상기 제1 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 제2 FC 레이어에 대응되는 제1-2 로스 레이어로 하여금, 상기 제2 객체 클래스 정보, 상기 제2 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-2 GT를 참조하여, 적어도 하나의 제2 객체 클래스 로스 및 적어도 하나의 제2 객체 리그레션 로스를 계산하도록 하고, 상기 제2 객체 클래스 로스 및 상기 제2 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제2 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 (a) 단계 이전에서, 상기 학습 장치는, 상기 클래스군 각각에 대응되는 각각의 객체가 포함된 상기 트레이닝 이미지를 각각의 배치(batch) 데이터로서 획득하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 배치 데이터는 상기 클래스군 각각에 대응되는 동일한 개수의 상기 트레이닝 이미지를 포함하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 배치 데이터에 등록된 상기 트레이닝 이미지 중 적어도 하나의 특정 트레이닝 이미지는, 상기 클래스군 중 특정 클래스군에 속한 특정 클래스의 객체만을 포함하거나, 상기 클래스군 중 적어도 둘 이상의 클래스군에 속한 클래스의 객체를 포함하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치는, 상기 RPN으로 하여금, 상기 배치 데이터에 등록된 모든 트레이닝 이미지에 대한 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 적어도 하나의 제2 GT는 상기 각각의 배치 데이터에 등록된 상기 트레이닝 이미지 각각에 대해, 각 클래스군에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제2 포지티브 GT와, 상기 각 클래스군에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제2 네거티브 GT를 포함하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 (c) 단계에서, 상기 학습 장치는, 상기 각각의 제1 로스 레이어로 하여금, 상기 배치 데이터에 등록된 각각의 트레이닝 이미지에 대해, 상기 매칭 정보에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제1 포지티브 GT와 상기 매칭 정보에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제1 네거티브 GT를 이용하여, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 계산하도록 하는 것을 특징으로 하는 학습 방법이 제공된다.
일 실시예에서, 상기 학습 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응하는 상기 각각의 제1 GT를 획득하여, 상기 획득된 각각의 제1 GT를 상기 매칭 정보 각각에 대응되는 각각의 제1 로스 레이어로 입력하도록 하는 것을 특징으로 하는 학습 방법이 제공된다.
본 발명의 다른 태양에 따르면, R-CNN(Region-Convolutional Neural Network) 기반의 객체 검출기를 테스팅하는 방법에 있어서, (a) 학습 장치에 의해, (i) 적어도 하나의 트레이닝 이미지가 입력되면, 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, 트레이닝용 ROI(Region Of Interest) 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vi) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지가 입력되면, 테스팅 장치가, 상기 컨벌루션 레이어로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하도록 하는 단계; (b) 상기 테스팅 장치가, (i) 상기 RPN으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정되고, (ii) 상기 프로포잘 레이어로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하도록 하는 단계; 및 (c) 상기 테스팅 장치가, 상기 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 테스트용 특징 벡터 각각을 참조하여 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 하는 단계;를 포함하는 것을 특징으로 하는 테스팅 방법이 제공된다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치에 따라, 제2 로스 레이어에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN의 파라미터를 학습한 상태인 것을 특징으로 하는 테스팅 방법이 제공된다.
일 실시예에서, 상기 테스트 이미지 상에 상기 테스트용 매칭 정보 중 제1 테스트 매칭 정보에 대응되는 제1 테스트용 객체와 제2 테스트 매칭 정보에 대응되는 제2 테스트용 객체가 포함되어 있는 것으로 판단될 경우, 상기 (b) 단계에서, 상기 테스팅 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 테스트용 매칭 정보에 대응하는 제1 테스트용 ROI 프로포잘과 제2 테스트용 매칭 정보에 대응하는 제2 테스트용 ROI 프로포잘을 출력하도록 하며, 상기 (c) 단계에서, 상기 테스팅 장치는, (i) 상기 제1 테스트용 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제1 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 테스트용 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 테스트용 특징 벡터를 이용하여 상기 제1 테스트용 객체의 제1 테스트용 객체 클래스 정보 및 제1 테스트용 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 테스트용 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제2 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 테스트용 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 테스트용 특징 벡터를 이용하여 상기 제2 테스트용 객체의 제2 테스트용 객체 클래스 정보 및 제2 테스트용 객체 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스팅 방법이 제공된다.
일 실시예에서, (d) 상기 테스팅 장치는, 출력 레이어로 하여금, 상기 프로포잘 레이어에서 출력된 상기 테스트용 매칭 정보 각각의 테스트용 ROI 프로포잘과, 각각의 FC 레이어로부터 출력된 상기 테스트용 객체 클래스 정보 및 상기 테스트용 객체 리그레션 정보를 참조하여, 상기 테스트 이미지 상에 상기 테스트용 상기 객체와 대응하는 객체 정보를 표시하여 주는 것을 더 포함하는 것을 특징으로 하는 테스팅 방법이 제공된다.
본 발명의 또 다른 태양에 따르면, R-CNN(Region-Convolutional Neural Network) 기반 객체 검출기의 파라미터를 학습하는 학습 장치에 있어서, 적어도 하나의 트레이닝 이미지를 수신하는 통신부; 및 (I) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하는 프로세스, (II) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되는 프로세스, (III) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하는 프로세스, (IV) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하는 프로세스, (V) 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하는 프로세스, (VI) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 RPN에 대응되는 제2 로스 레이어로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 트레이닝 이미지 상에 상기 매칭 정보 중 제1 매칭 정보에 대응되는 제1 객체와 제2 매칭 정보에 대응되는 제2 객체가 포함되어 있는 것으로 판단될 경우, 상기 프로세서는, 상기 (IV) 프로세스에서, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 매칭 정보에 대응하는 제1 ROI 프로포잘과 제2 매칭 정보에 대응하는 제2 ROI 프로포잘을 출력하도록 하며, 상기 (V) 프로세스에서, (i) 상기 제1 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 특정 특징맵 상에서 상기 제1 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 특징 벡터를 이용하여 상기 제1 객체의 제1 객체 클래스 정보 및 제1 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 특징맵 상에서 상기 제2 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 특징 벡터를 이용하여 상기 제2 객체의 제2 객체 클래스 정보 및 제2 객체 리그레션 정보를 출력하도록 하며, 상기 (VI) 프로세스에서, (i) 상기 제1 로스 레이어 중 상기 제1 FC 레이어에 대응되는 제1-1 로스 레이어로 하여금, 상기 제1 객체 클래스 정보, 상기 제1 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-1 GT를 참조하여, 적어도 하나의 제1 객체 클래스 로스 및 적어도 하나의 제1 객체 리그레션 로스를 계산하도록 하고, 상기 제1 객체 클래스 로스 및 상기 제1 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 제2 FC 레이어에 대응되는 제1-2 로스 레이어로 하여금, 상기 제2 객체 클래스 정보, 상기 제2 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-2 GT를 참조하여, 적어도 하나의 제2 객체 클래스 로스 및 적어도 하나의 제2 객체 리그레션 로스를 계산하도록 하고, 상기 제2 객체 클래스 로스 및 상기 제2 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제2 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 통신부는, 상기 클래스군 각각에 대응되는 각각의 객체가 포함된 상기 트레이닝 이미지를 각각의 배치(batch) 데이터로서 획득하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 배치 데이터는 상기 클래스군 각각에 대응되는 동일한 개수의 상기 트레이닝 이미지를 포함하는 것을 특징으로 학습 장치가 제공된다.
일 실시예에서, 상기 배치 데이터에 등록된 상기 트레이닝 이미지 중 적어도 하나의 특정 트레이닝 이미지는, 상기 클래스군 중 특정 클래스군에 속한 특정 클래스의 객체만을 포함하거나, 상기 클래스군 중 적어도 둘 이상의 클래스군에 속한 클래스의 객체를 포함하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 RPN으로 하여금, 상기 배치 데이터에 등록된 모든 트레이닝 이미지에 대한 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 적어도 하나의 제2 GT는 상기 각각의 배치 데이터에 등록된 상기 트레이닝 이미지 각각에 대해, 각 클래스군에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제2 포지티브 GT와, 상기 각 클래스군에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제2 네거티브 GT를 포함하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 (VI) 프로세스에서, 상기 각각의 제1 로스 레이어로 하여금, 상기 배치 데이터에 등록된 각각의 트레이닝 이미지에 대해, 상기 매칭 정보에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제1 포지티브 GT와 상기 매칭 정보에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제1 네거티브 GT를 이용하여, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 계산하도록 하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 프로포잘 선택 레이어로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응하는 상기 각각의 제1 GT를 획득하여, 상기 획득된 각각의 제1 GT를 상기 매칭 정보 각각에 대응되는 각각의 제1 로스 레이어로 입력하도록 하는 것을 특징으로 하는 학습 장치가 제공된다.
본 발명의 또 다른 태양에 따르면, R-CNN(Region-Convolutional Neural Network) 기반의 객체 검출기를 테스팅하는 장치에 있어서, 학습 장치에 의해, (i) 적어도 하나의 트레이닝 이미지가 입력되면, 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, 트레이닝용 ROI(Region Of Interest) 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vi) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지를 획득하는 통신부; 및 (I) 상기 컨벌루션 레이어로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하는 프로세스, (II) (i) 상기 RPN으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정되고, (ii) 상기 프로포잘 레이어로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하는 프로세스, (III) 상기 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 테스트용 특징 벡터 각각을 참조하여 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하는 테스팅 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 상기 (I) 프로세스 이전에, 상기 학습 장치에 따라, 제2 로스 레이어에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN의 파라미터를 학습한 상태인 것을 특징으로 하는 테스팅 장치가 제공된다.
일 실시예에서, 상기 테스트 이미지 상에 상기 테스트용 매칭 정보 중 제1 테스트 매칭 정보에 대응되는 제1 테스트용 객체와 제2 테스트 매칭 정보에 대응되는 제2 테스트용 객체가 포함되어 있는 것으로 판단될 경우, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 테스트용 매칭 정보에 대응하는 제1 테스트용 ROI 프로포잘과 제2 테스트용 매칭 정보에 대응하는 제2 테스트용 ROI 프로포잘을 출력하도록 하며, 상기 (III) 프로세스에서, (i) 상기 제1 테스트용 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제1 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 테스트용 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 테스트용 특징 벡터를 이용하여 상기 제1 테스트용 객체의 제1 테스트용 객체 클래스 정보 및 제1 테스트용 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 테스트용 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제2 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 테스트용 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 테스트용 특징 벡터를 이용하여 상기 제2 테스트용 객체의 제2 테스트용 객체 클래스 정보 및 제2 테스트용 객체 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스팅 장치가 제공된다.
일 실시예에서, 상기 프로세서는, 출력 레이어로 하여금, 상기 프로포잘 레이어에서 출력된 상기 테스트용 매칭 정보 각각의 테스트용 ROI 프로포잘과, 각각의 FC 레이어로부터 출력된 상기 테스트용 객체 클래스 정보 및 상기 테스트용 객체 리그레션 정보를 참조하여, 상기 테스트 이미지 상에 상기 테스트용 상기 객체와 대응하는 객체 정보를 표시하여 주는 것을 더 포함하는 것을 특징으로 하는 테스팅 장치가 제공된다.
본 발명은 서로 다른 데이터 세트가 주어진 상황에서 하나의 딥러닝 네트워크를 이용하여 학습할 수 있어 R-CNN 기반 객체 검출기의 학습을 위한 데이터 세트를 용이하게 확보할 수 있다.
본 발명은 서로 다른 데이터 세트를 이용하여 학습한 하나의 R-CNN 네트워크를 이용함으로써 종래 다수의 R-CNN 네트워크를 이용하는 것에 비하여 객체 검출기의 실행 시간을 단축시킬 수 있다.
본 발명은 서로 다른 데이터 세트를 이용하여 학습한 하나의 딥 러닝 네트워크를 이용한 R-CNN 기반 객체 검출기를 제공하므로, 객체 검출기의 개발 시간을 단축할 수 있을 뿐만 아니라 개발 비용을 감소시킬 수 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 종래 R-CNN 기반 객체 검출기에서의 각각의 클래스군을 학습하는 각 프로세스를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 학습 장치를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 학습 장치에 의해 각각의 클래스군을 학습하는 프로세스를 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 학습 방법을 개략적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 테스팅 장치를 개략적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 테스팅 방법을 개략적으로 도시한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조 부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 객체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 객체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 학습 장치를 개략적으로 도시한 것으로, 도 2를 참조하면, 상기 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다.
먼저, 통신부(110)는 적어도 하나의 트레이닝 이미지를 수신할 수 있다.
이때, 상기 트레이닝 이미지는 데이터베이스(130)에 저장되어 있을 수 있으며, 상기 트레이닝 이미지 내의 객체들은 각각의 객체에 대응하는 적어도 하나의 클래스 각각을 포함하는 적어도 하나의 클래스군으로 분류될 수 있으며, 상기 각각의 클래스군에 대응되는 상기 객체 각각이 포함된 상기 트레이닝 이미지는 각각의 클래스군에 따른 각각의 데이터 세트로서 저장될 수 있다. 또한, 상기 데이터베이스(130)에는 상기 트레이닝 이미지 각각에 대응하는 각각의 객체의 클래스 정보 및 위치 정보에 대한 적어도 하나의 GT(Ground Truth)가 저장되어 있을 수 있다.
다음으로, 상기 프로세서(120)는, (i) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하고, (ii) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되며, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하고, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력할 수 있다. 그리고, 상기 프로세서(120)는, 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력할 수 있다. 이후에는 상기 프로세서(120)는 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하도록 할 수 있다.
이때, 상기 프로세서(120)는 상기 RPN에 대응되는 제2 로스 레이어로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 할 수 있다. 여기서, 제1 로스에 의한 백프로파게이션과 제2 로스에 의한 백프로파게이션의 시간적 순서에는 제한이 없을 것이다.
이러한 프로세스를 도 3을 참조하여 설명하면, 보행자, 운전자, 차량, 교통 표지, 교통 신호 및 동물과 같은 6종류의 객체를 검출하기 위한 학습이 수행되면, (i) 보행자, 운전자 및 동물이 포함된 트레이닝 이미지들로 구성된 보행자, 운전자 및 동물에 대한 적어도 하나의 데이터 세트가 구성되고, (ii) 교통 표지 및 교통 신호가 포함된 트레이닝 이미지들로 구성된 교통 표지 및 교통 신호에 대한 적어도 하나의 데이터 세트가 구성되고, (iii) 동물이 포함된 트레이닝 이미지들로 구성된 동물에 대한 적어도 하나의 데이터 세트가 구성된다. 이후, 각각 구성된 상기 보행자, 운전자 및 차량에 대한 데이터 세트, 상기 교통 표지 및 교통 신호에 대한 데이터 세트, 및 상기 동물에 대한 데이터 세트를 이용하여, 상기 프로세서(120)는 보행자, 운전자, 차량, 교통 표지, 교통 신호 및 동물을 검출하기 위한 상기 R-CNN 기반의 상기 객체 검출기의 파라미터를 학습하거나 타 장치로 하여금 학습하도록 지원한다. 이때, 도 3에서는 상기 보행자, 운전자 및 차량에 대한 데이터 세트, 상기 교통 표지 및 교통 신호에 대한 데이터 세트, 및 상기 동물에 대한 데이터 세트가 하나의 데이터베이스에 저장된 것으로 도시하였으나, 다음에서 설명할 도 4에서 도시된 바와 같이 상기 각각의 데이터 세트들이 각각의 데이터베이스들에 따로따로 저장될 수도 있다.
여기서, 본 발명의 상기 학습 장치(100)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 디지털 장치라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다. 참고로, 도 2에서는 상기 하나의 학습 장치(100)만을 나타내었으나, 이에 한정되지 않으며, 상기 학습 장치(100)는 복수 개의 장치들로 구성되어 기능을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 상기 학습 장치를 이용하여 상기 R-CNN 기반 상기 객체 검출기의 파라미터를 학습하는 방법을 도 4를 참조하여 설명하면 다음과 같다.
먼저, 배치 데이터(134) 각각은 상기 클래스군 각각에 따라, 즉, 예를 들면 상기 클래스군 각각에 따른 상기 데이터 세트(131, 132, 133) 각각을 이용하여 각각의 배치(batch) 데이터(134)를 준비한다. 이때, 상기 각각의 배치 데이터(134)는 상기 클래스군 각각에 대응되는 상기 트레이닝 이미지들을 포함할 수 있다. 이때, 상기 각각의 배치 데이터(134)는 상기 트레이닝 이미지들의 개수가 동일하게 되도록 포함할 수 있다. 또한, 상기 배치 데이터(134)에 포함된 상기 트레이닝 이미지 중 특정 트레이닝 이미지는, 상기 클래스군 중 특정 클래스군에 속한 클래스들의 적어도 하나의 객체만을 포함하거나, 상기 클래스군 중 적어도 둘 이상의 클래스군에 속한 적어도 둘 이상의 클래스들의 적어도 하나의 객체를 포함할 수 있다. 이때, 상기 클래스군에 따른 상기 각각의 데이터 세트(131, 132, 133)가 각각의 데이터베이스에 각각 저장된 것으로 도시하였으나, 도 3에서 도시된 것과 같이, 상기 각각의 데이터 세트가 상기 하나의 데이터베이스(130)에 저장될 수도 있다.
일예로, 상기 보행자, 운전자 및 차량에 대한 데이터 세트(131), 상기 교통 표지 및 교통 신호에 대한 데이터 세트(132), 및 상기 동물에 대한 데이터 세트(133)로부터, (i) 상기 보행자, 운전자 및 차량에 대한 데이터 세트(131)를 이용하여 제1 배치 데이터가 준비될 수 있고, (ii) 교통 표지 및 교통 신호에 대한 데이터 세트(132)를 이용하여 제2 배치 데이터가 준비될 수 있으며, (iii) 동물에 대한 데이터 세트(133)를 이용하여 제3 배치 데이터가 준비될 수 있다.
다음으로, 상기 각각의 배치 데이터(134)로부터 상기 트레이닝 이미지가 입력되면, 상기 학습 장치(100)는, 상기 컨벌루션 레이어(121)로 하여금, 상기 트레이닝 이미지에 상기 컨벌루션 연산을 적용하여 상기 특징맵을 생성할 수 있다.
여기서, 상기 특징맵은 소정의 크기와 채널 깊이를 가질 수 있다. 또한, 상기 컨벌루션 레이어(121)는 복수의 레이어로 구성될 수 있으며, 상기 복수의 레이어 각각은 상기 트레이닝 이미지에 순차적으로 상기 컨벌루션 연산을 적용할 수 있다.
다음으로, 상기 학습 장치(100)는 상기 RPN(122)으로 하여금, ROI 리그레션 정보 및 매칭 정보를 출력하도록 할 수 있다. 여기서, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정할 수 있다.
이때, RPN(122)은 상기 특정 특징맵의 배경과 객체만을 분류하는 종래의 방법과는 달리, 배경과 상기 클래스군 중 하나로 분류한다.
일 예로, RPN(122)은 각각의 ROI 후보들에 보행자, 운전자 및 차량 클래스군 카테고리에 대한 매칭 정보, 교통 표지 및 교통 신호 클래스군 카테고리에 대한 매칭 정보, 및 동물 클래스군 카테고리에 대한 매칭 정보 중 적어도 하나의 매칭 정보를 출력한다.
그리고, 학습 장치(100)는, 프로포잘 레이어(123)로 하여금, ROI 리그레션 정보 및 매칭 정보를 참조하여, ROI 후보 중 확률이 높은, 즉, 스코어값이 높은 특정 ROI 후보를 ROI 프로포잘들로 출력하도록 하며, 프로포잘 선택 레이어(124)로 하여금, 트레이닝 이미지를 참조하여, 매칭 정보 각각에 대해 ROI 프로포잘 각각을 출력하도록 한다.
일 예로, 프로포잘 선택 레이어(124)는 (i) 보행자, 운전자 및 차량 클래스군 카테고리의 학습을 위한 보행자, 운전자 및 차량 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘, (ii) 교통 표지 및 교통 신호 클래스군 카테고리의 학습을 위한 교통 표지 및 교통 신호 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘, 및 (iii) 동물 클래스군 카테고리의 학습을 위한 동물 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘을 출력한다.
다음으로, 학습 장치(100)는, 매칭 정보 각각에 대응되는 각각의 풀링 레이어들(125-1, 125-2, 125-3)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출할 수 있다.
일 예로, 학습 장치(100)는 (i) 풀링 레이어(125-1)로 하여금, 특징맵 상에서 보행자, 운전자 및 차량 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘에 대응되는 영역을 풀링하여 보행자, 운전자 및 차량 클래스군 카테고리의 매칭 정보에 대응하는 특징 벡터를 생성하도록 하고, (ii) 풀링 레이어(125-2)로 하여금, 특징맵 상에서 교통 표지 및 교통 신호 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘에 대응되는 영역을 풀링하여 교통 표지 및 교통 신호 클래스군 카테고리의 매칭 정보에 대응되는 특징 벡터를 생성하도록 하며, (iii) 풀링 레이어(125-3)로 하여금, 특징맵 상에서 동물 클래스군 카테고리의 매칭 정보에 대응되는 ROI 프로포잘에 대응되는 영역을 풀링하여 동물 클래스군 카테고리의 매칭 정보에 대응되는 특징 벡터를 생성하도록 한다.
이때, 상기에서는 매칭 정보들에 대응되는 각각의 풀링 레이어들(125-1, 125-2, 125-3)로 하여금, 특징맵 상에서 해당 매칭 정보별 ROI 프로포잘들에 대응되는 영역을 풀링하여 각각의 특징 벡터를 생성하도록 하였으나, 이와는 달리 하나의 풀링 레이어를 이용하되, 특징맵 상에서 해당 매칭 정보별 ROI 프로포잘들에 대응되는 영역을 풀링하여 각각의 특징 벡터를 생성하도록 알고리즘을 구현할 수도 있다.
다음으로, 학습 장치(100)는, 각각의 풀링 레이어들(125-1, 125-2, 125-3)에 대응되는 각각의 FC 레이어들(126-1, 126-2, 126-3)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 한다.
일 예로, 학습 장치(100)는 (i) 풀링 레이어(125-1)에 대응되는 FC 레이어(126-1)로 하여금, 풀링 레이어(125-1)에서 생성된 특징 벡터를 이용하여 보행자, 운전자 및 차량에 대한 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하고, (ii) 풀링 레이어(125-2)에 대응되는 FC 레이어(126-2)로 하여금, 풀링 레이어(125-2)에서 생성된 특징 벡터를 이용하여 교통 표지 및 교통 신호에 대한 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하며, (iii) 풀링 레이어(125-3)에 대응되는 FC 레이어(126-3)로 하여금, 풀링 레이어(125-3)에서 생성된 특징 벡터를 이용하여 동물에 대한 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 한다.
이때, 풀링 레이어 각각에 대응하는 FC 레이어 각각으로 하여금, 상기 특징 벡터를 참조로 하여, 각각의 매칭 정보별 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하는 것과는 달리, 하나의 FC 레이어를 이용하되, 하나의 FC 레이어에서 상기 특징 벡터를 이용하여 각각의 매칭 정보별 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 소프트웨어적으로 구현할 수도 있다.
다음으로, 학습 장치(100)는, 각각의 FC 레이어(126-1, 126-2, 126-3)에 대응되는 각각의 제1 로스 레이어들(127-1, 127-2, 127-3)로 하여금, 각각의 FC 레이어(126-1, 126-2, 126-3)들의 상기 객체 클래스 정보, 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어들(126-1, 126-2, 126-3) 및 컨벌루션 레이어(121)의 파라미터를 학습한다. 이때, 소프트웨어적으로, 각각의 FC 레이어에 대응되는 각각의 제1 로스 레이어들로 구현될 수도 있고, 하나의 로스 레이어로 구현될 수도 있다.
일 예로, 학습 장치(100)는, (i) 상기 제1 로스 레이어 중 상기 FC 레이어(126-1)에 대응되는 제1 로스 레이어(127-1)로 하여금, FC 레이어(126-1)의 상기 객체 클래스 정보, 상기 객체 리그레션 정보 및 적어도 하나의 제1 GT를 참조하여, 적어도 하나의 객체 클래스 로스 및 적어도 하나의 객체 리그레션 로스를 계산하도록 하고, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어(126-1) 및 상기 컨벌루션 레이어(121)의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 FC 레이어(126-2)에 대응되는 제1 로스 레이어(127-2)로 하여금, FC 레이어(126-2)의 상기 객체 클래스 정보, 상기 객체 리그레션 정보 및 적어도 하나의 제1 GT를 참조하여, 적어도 하나의 객체 클래스 로스 및 적어도 하나의 객체 리그레션 로스를 계산하도록 하고, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어(126-2) 및 상기 컨벌루션 레이어(121)의 파라미터를 학습하며, (iii) 상기 제1 로스 레이어 중 상기 FC 레이어(126-3)에 대응되는 제1 로스 레이어(127-3)로 하여금, FC 레이어(126-3)의 상기 객체 클래스 정보, 상기 객체 리그레션 정보 및 적어도 하나의 제1 GT를 참조하여, 적어도 하나의 객체 클래스 로스 및 적어도 하나의 객체 리그레션 로스를 계산하도록 하고, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어(126-3) 및 상기 컨벌루션 레이어(121)의 파라미터를 학습할 수 있다.
이때, 학습 장치(100)는, 프로포잘 선택 레이어(124)로 하여금, 트레이닝 이미지를 참조하여, 매칭 정보 각각의 ROI 프로포잘 각각에 대응하는 각각의 제1 GT를 획득하여, 매칭 정보 각각에 대응되는 제1 로스 레이어 각각에 상기 제1 GT 각각을 입력하도록 할 수 있다. 일 예로, (i) 매칭 정보가 보행자, 운전자 및 차량 클래스군에 대응되는 것으로 결정되면, 상기 보행자, 운전자 및 차량 클래스군에 대한 매칭 정보의 ROI 프로포잘들에 대응하는 적어도 하나의 제1 GT는 제1 로스 레이어(127-1)로 입력하도록 하며, (ii) 매칭 정보가 교통 표지 및 교통 신호 클래스군에 대응되는 것으로 결정되면, 교통 표지 및 교통 신호 클래스군에 대한 매칭 정보의 ROI 프로포잘들에 대응하는 적어도 하나의 제1 GT는 제1 로스 레이어(127-2)로 입력하도록 하며, (iii) 매칭 정보가 동물 클래스군에 대응되는 것으로 결정되면, 동물 클래스군에 대한 매칭 정보의 ROI 프로포잘들에 대응하는 적어도 하나의 제1 GT는 제1 로스 레이어(127-3)로 입력하도록 할 수 있다.
그런다음, 학습 장치(100)는, RPN(122)에 대응되는 제2 로스 레이어(129)로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 할 수 있다.
이때, 학습 장치(100)는, RPN 선택 레이어(128)로 하여금, 각각의 배치 데이터에 등록된 모든 트레이닝 이미지를 참조하여, 모든 ROI 후보 각각에 대응하는 제2 GT를 각각 획득하여, 제2 GT 각각을 제2 로스 레이어로 입력하도록 할 수 있다.
상기와 같은 방법에 의해 학습을 진행함에 있어, 트레이닝 이미지 상에, 매칭 정보들 중 제1 매칭 정보에 대응되는 제1 객체들과 매칭 정보들 중 제2 매칭 정보에 대응되는 제2 객체들이 포함되어 있는 경우를 간략히 설명하면, 학습 장치(100)가, 프로포잘 선택 레이어(124)로 하여금, 상기 제1 매칭 정보에 대응하는 제1 ROI 프로포잘과 제2 매칭 정보에 대응하는 제2 ROI 프로포잘을 출력하도록 한다. 그리고, 학습 장치(100)는, (i) 상기 제1 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 특정 특징맵 상에서 상기 제1 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 특징 벡터를 이용하여 상기 제1 객체의 제1 객체 클래스 정보 및 제1 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 특징맵 상에서 상기 제2 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 특징 벡터를 이용하여 상기 제2 객체의 제2 객체 클래스 정보 및 제2 객체 리그레션 정보를 출력하도록 한다.
이후, 학습 장치(100)는, (i) 상기 제1 로스 레이어 중 상기 제1 FC 레이어에 대응되는 제1-1 로스 레이어로 하여금, 상기 제1 객체 클래스 정보, 상기 제1 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-1 GT를 참조하여, 적어도 하나의 제1 객체 클래스 로스 및 적어도 하나의 제1 객체 리그레션 로스를 계산하도록 하고, 상기 제1 객체 클래스 로스 및 상기 제1 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어(121)의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 제2 FC 레이어에 대응되는 제1-2 로스 레이어로 하여금, 상기 제2 객체 클래스 정보, 상기 제2 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-2 GT를 참조하여, 적어도 하나의 제2 객체 클래스 로스 및 적어도 하나의 제2 객체 리그레션 로스를 계산하도록 하고, 상기 제2 객체 클래스 로스 및 상기 제2 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제2 FC 레이어 및 상기 컨벌루션 레이어(121)의 파라미터를 학습한다.
이때, 각각의 클래스군에 대응되는 각각의 배치 데이터 내의 트레이닝 이미지에서, 해당 클래스군에 대응되는 모든 객체들에 대해서는 모두 태깅이 되어 있고, 클래스군에 대응하지 않는 객체에 대해서는 부분적으로 태깅이 되어 있을 수 있다.
일 예로, 보행자, 운전자 및 차량 클래스군에 대응하는 배치 데이터의 모든 트레이닝 이미지에 대해서는, 모든 보행자, 운전자 및 차량은 빠짐 없이 태깅이 되어 있고, 교통 표지 및 교통 신호/동물에 대해서는 일부만 태깅이 되어 있을 수 있다.
이러한 상황에서 가장 문제가 되는 부분은 교통 표지 및 교통 신호/동물 클래스군에 포함된 객체가 일부 태깅되지 않았다는 점이며, 그에 따라, 보행자, 운전자 및 차량 클래스군의 학습을 위한 배경 샘플을 뽑을 때 교통 표지 및 교통 신호/동물 클래스군에 포함되나 태깅되지 않은 일부 객체들이 배경샘플로 잘못 뽑힐 수 있다. 예를 들면, 보행자, 운전자 및 차량 클래스군에 대한 배치 데이터에서는 교통 표지 및 교통 신호/동물에 해당하는 일부 객체가 태깅되지 않아 학습시 배경샘플에 포함되어 학습에 방해가 될 수 있다. 마찬가지로 교통 표지 및 교통 신호 클래스군에 대한 배치 데이터에서는 보행자, 운전자 및 차량/동물에 해당하는 일부 객체가 태깅되지 않아 학습시 배경으로 인식 되는 문제가 생긴다.
특히, RPN을 학습할 때, 배경 샘플이 전체 이미지 영역에서 랜덤하게 선택되기 때문에, 태깅되지 않은 객체는 배경 샘플로 선택될 확률이 적으므로 큰 문제는 아니지만, FC 레이어를 학습할 때는, RPN에서 객체로 여겨지는 후보 영역들을 선택하고, 그 후보 영역들 사이에서 배경 샘플을 선택하기 때문에 만약 학습데이터에 태깅되지 않은 객체가 있다면, 그 영역이 배경 샘플로 잘못 선택되기 때문에 문제가 심각해 진다. 이러한 문제를 방지 하기 위해, FC 레이어를 학습할 때, 배경샘플은 관심있는 클래스군에 대응하는 배치 데이터에서만 선택하도록 제한해야 한다. 예를 들면 보행자, 운전자 및 차량 클래스군에 대응하는 FC 레이어를 위한 배경 샘플은 보행자, 운전자 및 차량 클래스군에 대응하는 배치 데이터에서만 뽑도록 제한한다.
이를 위해, 본 발명의 일 실시예에 따른 학습 방법에서는, 학습 장치(100)가 프로포잘 선택 레이어(124)로 하여금, (i) 제1 배치 데이터, 제2 배치 데이터, 및 제3 배치 데이터로부터 보행자, 운전자 및 차량 클래스군에 대응하는 포지티브 샘플을 추출하고, 제1 배치 데이터로부터 보행자, 운전자 및 차량 클래스군에 대응하는 네거티브 샘플을 추출하여, 보행자, 운전자 및 차량 클래스군 학습을 위한 적어도 하나의 제1 GT를 제1 로스 레이어(127-1)로 입력하도록 하고, (ii) 제1 배치 데이터, 제2 배치 데이터, 및 제3 배치 데이터로부터 교통 표지 및 교통 신호 클래스군에 대응하는 포지티브 샘플을 추출하고, 제2 배치 데이터로부터 교통 표지 및 교통 신호 클래스군에 대응하는 네거티브 샘플을 추출하여, 교통 표지 및 교통 신호 클래스군 학습을 위한 적어도 하나의 제1 GT를 제2 로스 레이어(127-2)로 입력하도록 하고, (iii) 제1 배치 데이터, 제2 배치 데이터, 및 제3 배치 데이터로부터 동물 클래스군에 대응하는 포지티브 샘플을 추출하고, 제3 배치 데이터로부터 동물 클래스군에 대응하는 네거티브 샘플을 추출하여, 동물 클래스군 학습을 위한 적어도 하나의 제1 GT를 제3 로스 레이어(127-3)로 입력하도록 한다.
그러면, 각각의 제1 로스 레이어(127-1, 127-2, 127-3)는 각각의 배치 데이터에 등록된 테스트 이미지들에서, 매칭 정보에 대응되는 객체로 태깅한 포지티브 샘플의 적어도 하나의 제1 포지티브 GT 및 매칭 정보에 대응되는 객체로 태깅되지 않은 네거티브 샘플의 적어도 하나의 제1 네거티브 GT를 이용하여, 객체 클래스 로스 및 객체 리그레션 로스를 산출할 수 있게 된다.
한편, 적어도 하나의 제2 GT는, 각각의 배치 데이터에 등록된 트레이닝 이미지들에서, 클래스군에 대응되는 객체로 태깅한 포지티브 샘플의 적어도 하나의 제2 포지티브 GT 및 클래스군에 대응되는 객체로 태깅되지 않은 네거티브 샘플의 적어도 하나의 제2 네거티브 GT를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 테스팅 장치를 개략적으로 도시한 것으로, 도 5를 참조하면, 테스팅 장치(200)는 통신부(210)와 프로세서(220)를 포함할 수 있다.
먼저, 통신부(210)는 적어도 하나의 테스트 이미지를 수신할 수 있다.
다음으로, 프로세서(220)는 (i) 상기 컨벌루션 레이어로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하는 프로세스, (ii) (ii-1) 상기 RPN으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정되고, (ii-2) 상기 프로포잘 레이어로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하는 프로세스, (iii) (iii-1) 상기 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 하며, (iii-2) 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 테스트용 특징 벡터 각각을 참조하여 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하는 프로세스를 수행할 수 있다.
이때, 각각의 FC 레이어들과 컨벌루션 레이어는 도 1 내지 도 4를 참조하여 설명한 학습 장치에 의한 학습 방법에 의해 학습이 된 것으로, 이를 간략히 설명하면, 트레이닝 이미지가 입력되면, (i) 컨벌루션 레이어로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN으로 하여금, 트레이닝용 ROI 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vi) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습할 수 있다.
여기서, RPN의 파라미터는, 학습 장치에 따라, 제2 로스 레이어에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN의 파라미터를 학습할 수 있다.
여기서, 본 발명의 일 실시예에 따른 테스팅 장치(200)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 테스팅 장치(200)로서 채택될 수 있다. 또한, 도 5에서는 하나의 테스팅 장치(200)만을 나타내었으나, 이에 한정되지 않으며, 테스팅 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 R-CNN 기반 객체 검출기의 테스팅 장치를 이용하여 R-CNN 기반 객체 검출기를 테스팅하는 방법을 도 6을 참조하여 설명하면 다음과 같다.
먼저, 학습 장치에 의해, 트레이닝 이미지가 입력되면, (i) 컨벌루션 레이어(221)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN(22)으로 하여금, 트레이닝용 ROI 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(223)로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(미도시)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(225-1, 225-2, 225-3)로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, (vi) 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vii) 상기 FC 레이어 각각(226-1, 226-2, 226-3)에 대응되는 각각의 제1 로스 레이어(미도시)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록하여, 상기 각각의 FC 레이어(226-1, 226-2, 226-3) 및 상기 컨벌루션 레이어(221)의 파라미터를 학습한 상태에서, 테스트 이미지가 입력되면, 테스팅 장치(200)가, 상기 컨벌루션 레이어(221)로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하도록 한다.
여기서, RPN(222)의 파라미터는, 학습 장치에 따라, 제2 로스 레이어(미도시)에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN(222)의 파라미터를 학습할 수 있다.
다음으로, 테스팅 장치(200)는, RPN(222)으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정한다.
그리고, 테스팅 장치(200)는, 프로포잘 레이어(223)로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하도록 한다.
일 예로, 프로포잘 레이어(223)는 보행자, 운전자 및 차량 클래스군의 테스팅을 위한 보행자, 운전자 및 차량 클래스군의 매칭 정보에 대응하는 적어도 하나의 ROI 프로포잘, 교통 표지 및 교통 신호 클래스군의 테스팅을 위한 교통 표지 및 교통 신호 클래스군의 매칭 정보에 대응하는 적어도 하나의 ROI 프로포잘, 및 동물 클래스군의 테스팅을 위한 동물 클래스군의 매칭 정보에 대응하는 적어도 하나의 ROI 프로포잘을 출력한다.
다음으로, 테스팅 장치(100)는, 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어들(225-1, 225-2, 225-3)로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 한다. 이때, 각각의 풀링 레이어들(225-1, 225-2, 225-3)을 별도의 레이어로 각각 구성하였으나, 이와는 달리 하나의 풀링 레이어를 이용하여, 테스트용 특정 특징맵 상에서 테스트용 매칭 정보 각각에 대한 테스트용 ROI 프로포잘들에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 생성하도록 알고리즘을 구현할 수도 있다.
일 예로, 테스팅 장치(200)는, 풀링 레이어(225-1)로 하여금, 테스트용 특정 특징맵 상에서 보행자, 운전자 및 차량 클래스군의 테스트용 매칭 정보에 대응되는 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여, 보행자, 운전자 및 차량 클래스군의 테스트용 매칭 정보에 대응하는 테스트용 특징 벡터를 생성하도록 하고, 풀링 레이어(225-2)로 하여금, 테스트용 특정 특징맵 상에서 교통 표지 및 교통 신호 클래스군의 테스트용 매칭 정보에 대응되는 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여, 교통 표지 및 교통 신호 클래스군의 테스트용 매칭 정보에 대응되는 테스트용 특징 벡터를 생성하도록 하며, 풀링 레이어(225-3)로 하여금, 테스트용 특징맵 상에서 동물 클래스군의 테스트용 매칭 정보에 대응되는 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여, 동물 클래스군의 테스트용 매칭 정보에 대응되는 테스트용 특징 벡터를 생성하도록 한다.
다음으로, 테스팅 장치(200)는, 각각의 풀링 레이어들(225-1, 225-2, 225-3)에 대응되는 각각의 FC 레이어들(226-1, 226-2, 226-3)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 한다. 이때, 각각의 FC 레이어들(226-1, 226-2, 226-3)을 별도의 레이어로 각각 구성하였으나, 이와는 달리 하나의 FC 레이어를 이용하여, 테스트용 특징 벡터를 참조로 하여, 테스트용 매칭 정보 각각에 대한 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 소프트웨어적으로 구현할 수도 있다.
일 예로, 테스팅 장치(200)는, 풀링 레이어(225-1)에 대응되는 FC 레이어(226-1)로 하여금, 풀링 레이어(225-1)에서 출력된 테스트용 특징 벡터를 이용하여 보행자, 운전자 및 차량에 대한 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 하고, 풀링 레이어(225-2)에 대응되는 FC 레이어(226-2)로 하여금, 풀링 레이어(225-2)에서 출력된 테스트용 특징 벡터를 이용하여 교통 표지 및 교통 신호에 대한 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 하며, 풀링 레이어(225-3)에 대응되는 FC 레이어(226-3)로 하여금, 풀링 레이어(225-3)에서 출력된 테스트용 특징 벡터를 이용하여 동물에 대한 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 한다.
그리고, 테스팅 장치(100)는, 출력 레이어(230)로 하여금, 프로포잘 레이어(223)에서 출력된 상기 테스트용 매칭 정보 각각의 테스트용 ROI 프로포잘과, 각각의 FC 레이어들(226-1, 226-2, 226-3)로부터 출력된 상기 테스트용 객체 클래스 정보 및 상기 테스트용 객체 리그레션 정보를 참조하여, 상기 테스트 이미지 상에 상기 테스트용 상기 객체와 대응하는 객체 정보를 표시하여 주도록 할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (28)

  1. R-CNN(Region-Convolutional Neural Network) 기반 객체 검출기의 파라미터를 학습하는 방법에 있어서,
    (a) 적어도 하나의 트레이닝 이미지가 입력되면, 학습 장치가, (i) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하도록 하는 단계;
    (b) 상기 학습 장치가, 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하도록 하는 단계; 및
    (c) 상기 학습 장치가, 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하도록 하는 단계;
    를 포함하되,
    상기 트레이닝 이미지 상에 상기 매칭 정보 중 제1 매칭 정보에 대응되는 제1 객체와 제2 매칭 정보에 대응되는 제2 객체가 포함되어 있는 것으로 판단될 경우,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 매칭 정보에 대응하는 제1 ROI 프로포잘과 제2 매칭 정보에 대응하는 제2 ROI 프로포잘을 출력하도록 하며,
    상기 (b) 단계에서,
    상기 학습 장치는, (i) 상기 제1 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 특정 특징맵 상에서 상기 제1 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 특징 벡터를 이용하여 상기 제1 객체의 제1 객체 클래스 정보 및 제1 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 특징맵 상에서 상기 제2 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 특징 벡터를 이용하여 상기 제2 객체의 제2 객체 클래스 정보 및 제2 객체 리그레션 정보를 출력하도록 하며,
    상기 (c) 단계에서,
    상기 학습 장치는, (i) 상기 제1 로스 레이어 중 상기 제1 FC 레이어에 대응되는 제1-1 로스 레이어로 하여금, 상기 제1 객체 클래스 정보, 상기 제1 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-1 GT를 참조하여, 적어도 하나의 제1 객체 클래스 로스 및 적어도 하나의 제1 객체 리그레션 로스를 계산하도록 하고, 상기 제1 객체 클래스 로스 및 상기 제1 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 제2 FC 레이어에 대응되는 제1-2 로스 레이어로 하여금, 상기 제2 객체 클래스 정보, 상기 제2 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-2 GT를 참조하여, 적어도 하나의 제2 객체 클래스 로스 및 적어도 하나의 제2 객체 리그레션 로스를 계산하도록 하고, 상기 제2 객체 클래스 로스 및 상기 제2 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제2 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 방법.
  2. 제1항에 있어서,
    상기 학습 장치는, 상기 RPN에 대응되는 제2 로스 레이어로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 (a) 단계 이전에서,
    상기 학습 장치는, 상기 클래스군 각각에 대응되는 각각의 객체가 포함된 상기 트레이닝 이미지를 각각의 배치(batch) 데이터로서 획득하는 것을 특징으로 하는 학습 방법.
  5. 제4항에 있어서,
    상기 배치 데이터는 상기 클래스군 각각에 대응되는 동일한 개수의 상기 트레이닝 이미지를 포함하는 것을 특징으로 하는 학습 방법.
  6. 제4항에 있어서,
    상기 배치 데이터에 등록된 상기 트레이닝 이미지 중 적어도 하나의 특정 트레이닝 이미지는, 상기 클래스군 중 특정 클래스군에 속한 특정 클래스의 객체만을 포함하거나, 상기 클래스군 중 적어도 둘 이상의 클래스군에 속한 클래스의 객체를 포함하는 것을 특징으로 하는 학습 방법.
  7. 제4항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 RPN으로 하여금, 상기 배치 데이터에 등록된 모든 트레이닝 이미지에 대한 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 제2 GT는 상기 각각의 배치 데이터에 등록된 상기 트레이닝 이미지 각각에 대해, 각 클래스군에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제2 포지티브 GT와, 상기 각 클래스군에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제2 네거티브 GT를 포함하는 것을 특징으로 하는 학습 방법.
  9. 제4항에 있어서,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 각각의 제1 로스 레이어로 하여금, 상기 배치 데이터에 등록된 각각의 트레이닝 이미지에 대해, 상기 매칭 정보에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제1 포지티브 GT와 상기 매칭 정보에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제1 네거티브 GT를 이용하여, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 계산하도록 하는 것을 특징으로 하는 학습 방법.
  10. 제1항에 있어서,
    상기 학습 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응하는 상기 각각의 제1 GT를 획득하여, 상기 획득된 각각의 제1 GT를 상기 매칭 정보 각각에 대응되는 각각의 제1 로스 레이어로 입력하도록 하는 것을 특징으로 하는 학습 방법.
  11. R-CNN(Region-Convolutional Neural Network) 기반의 객체 검출기를 테스팅하는 방법에 있어서,
    (a) 학습 장치가, (i) 적어도 하나의 트레이닝 이미지가 입력되면, 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, 트레이닝용 ROI(Region Of Interest) 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vi) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지가 입력되면, 테스팅 장치가, 상기 컨벌루션 레이어로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하도록 하는 단계;
    (b) 상기 테스팅 장치가, (i) 상기 RPN으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정되고, (ii) 상기 프로포잘 레이어로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하도록 하는 단계; 및
    (c) 상기 테스팅 장치가, 상기 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 테스트용 특징 벡터 각각을 참조하여 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하도록 하는 단계;
    를 포함하되,
    상기 테스트 이미지 상에 상기 테스트용 매칭 정보 중 제1 테스트용 매칭 정보에 대응되는 제1 테스트용 객체와 제2 테스트용 매칭 정보에 대응되는 제2 테스트용 객체가 포함되어 있는 것으로 판단될 경우,
    상기 (b) 단계에서,
    상기 테스팅 장치는, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 테스트용 매칭 정보에 대응하는 제1 테스트용 ROI 프로포잘과 제2 테스트용 매칭 정보에 대응하는 제2 테스트용 ROI 프로포잘을 출력하도록 하며,
    상기 (c) 단계에서,
    상기 테스팅 장치는, (i) 상기 제1 테스트용 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제1 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 테스트용 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 테스트용 특징 벡터를 이용하여 상기 제1 테스트용 객체의 제1 테스트용 객체 클래스 정보 및 제1 테스트용 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 테스트용 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제2 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 테스트용 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 테스트용 특징 벡터를 이용하여 상기 제2 테스트용 객체의 제2 테스트용 객체 클래스 정보 및 제2 테스트용 객체 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스팅 방법.
  12. 제11항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치에 따라, 제2 로스 레이어에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN의 파라미터를 학습한 상태인 것을 특징으로 하는 테스팅 방법.
  13. 삭제
  14. 제11항에 있어서,
    (d) 상기 테스팅 장치는, 출력 레이어로 하여금, 상기 프로포잘 레이어에서 출력된 상기 테스트용 매칭 정보 각각의 테스트용 ROI 프로포잘과, 각각의 FC 레이어로부터 출력된 상기 테스트용 객체 클래스 정보 및 상기 테스트용 객체 리그레션 정보를 참조하여, 상기 테스트 이미지 상에 상기 테스트용 상기 객체와 대응하는 객체 정보를 표시하여 주는 것을 더 포함하는 것을 특징으로 하는 테스팅 방법.
  15. R-CNN(Region-Convolutional Neural Network) 기반 객체 검출기의 파라미터를 학습하는 학습 장치에 있어서,
    적어도 하나의 트레이닝 이미지를 수신하는 통신부; 및
    (I) 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 특징맵을 생성하는 프로세스, (II) RPN(Region Proposal Network)으로 하여금, ROI(Region Of Interest) 리그레션 정보 및 매칭 정보를 출력하도록 하되, 상기 ROI 리그레션 정보는 상기 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 객체에 대한 정보를 참조하여 결정되는 프로세스, (III) 프로포잘 레이어(proposal layer)로 하여금, 상기 ROI 리그레션 정보 및 상기 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 ROI 프로포잘로서 출력하는 프로세스, (IV) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대해 상기 ROI 프로포잘 각각을 출력하는 프로세스, (V) 상기 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 상기 특정 특징맵 상에서 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 특징 벡터 각각을 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응되는 객체 리그레션 정보 및 객체 클래스 정보를 출력하는 프로세스, (VI) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 매칭 정보 각각에 대한 상기 객체 클래스 정보와 상기 매칭 정보 각각에 대한 상기 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록 하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 프로세스를 수행하는 프로세서;
    를 포함하되,
    상기 트레이닝 이미지 상에 상기 매칭 정보 중 제1 매칭 정보에 대응되는 제1 객체와 제2 매칭 정보에 대응되는 제2 객체가 포함되어 있는 것으로 판단될 경우,
    상기 프로세서는,
    상기 (IV) 프로세스에서, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 매칭 정보에 대응하는 제1 ROI 프로포잘과 제2 매칭 정보에 대응하는 제2 ROI 프로포잘을 출력하도록 하며,
    상기 (V) 프로세스에서, (i) 상기 제1 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 특정 특징맵 상에서 상기 제1 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 특징 벡터를 이용하여 상기 제1 객체의 제1 객체 클래스 정보 및 제1 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 특징맵 상에서 상기 제2 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 특징 벡터를 이용하여 상기 제2 객체의 제2 객체 클래스 정보 및 제2 객체 리그레션 정보를 출력하도록 하며,
    상기 (VI) 프로세스에서, (i) 상기 제1 로스 레이어 중 상기 제1 FC 레이어에 대응되는 제1-1 로스 레이어로 하여금, 상기 제1 객체 클래스 정보, 상기 제1 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-1 GT를 참조하여, 적어도 하나의 제1 객체 클래스 로스 및 적어도 하나의 제1 객체 리그레션 로스를 계산하도록 하고, 상기 제1 객체 클래스 로스 및 상기 제1 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하며, (ii) 상기 제1 로스 레이어 중 상기 제2 FC 레이어에 대응되는 제1-2 로스 레이어로 하여금, 상기 제2 객체 클래스 정보, 상기 제2 객체 리그레션 정보 및 상기 제1 GT 중 적어도 하나의 제1-2 GT를 참조하여, 적어도 하나의 제2 객체 클래스 로스 및 적어도 하나의 제2 객체 리그레션 로스를 계산하도록 하고, 상기 제2 객체 클래스 로스 및 상기 제2 객체 리그레션 로스를 백프로파게이션함으로써, 상기 제2 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 장치.
  16. 제15항에 있어서,
    상기 프로세서는, 상기 RPN에 대응되는 제2 로스 레이어로 하여금, 상기 ROI 리그레션 정보, 상기 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득한 적어도 하나의 제2 로스를 백프로파게이션하여 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 장치.
  17. 삭제
  18. 제15항에 있어서,
    상기 통신부는,
    상기 클래스군 각각에 대응되는 각각의 객체가 포함된 상기 트레이닝 이미지를 각각의 배치(batch) 데이터로서 획득하는 것을 특징으로 하는 학습 장치.
  19. 제18항에 있어서,
    상기 배치 데이터는 상기 클래스군 각각에 대응되는 동일한 개수의 상기 트레이닝 이미지를 포함하는 것을 특징으로 하는 학습 장치.
  20. 제18항에 있어서,
    상기 배치 데이터에 등록된 상기 트레이닝 이미지 중 적어도 하나의 특정 트레이닝 이미지는, 상기 클래스군 중 특정 클래스군에 속한 특정 클래스의 객체만을 포함하거나, 상기 클래스군 중 적어도 둘 이상의 클래스군에 속한 클래스의 객체를 포함하는 것을 특징으로 하는 학습 장치.
  21. 제18항에 있어서,
    상기 프로세서는,
    상기 (II) 프로세스에서, 상기 RPN으로 하여금, 상기 배치 데이터에 등록된 모든 트레이닝 이미지에 대한 상기 RPN의 파라미터를 학습하도록 하는 것을 특징으로 하는 학습 장치.
  22. 제21항에 있어서,
    상기 적어도 하나의 제2 GT는 상기 각각의 배치 데이터에 등록된 상기 트레이닝 이미지 각각에 대해, 각 클래스군에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제2 포지티브 GT와, 상기 각 클래스군에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제2 네거티브 GT를 포함하는 것을 특징으로 하는 학습 장치.
  23. 제18항에 있어서,
    상기 프로세서는,
    상기 (VI) 프로세스에서,
    상기 각각의 제1 로스 레이어로 하여금, 상기 배치 데이터에 등록된 각각의 트레이닝 이미지에 대해, 상기 매칭 정보에 대응되는 객체로서 태깅된 포지티브 샘플의 적어도 하나의 제1 포지티브 GT와 상기 매칭 정보에 대응되는 객체로서 태깅되지 않은 네거티브 샘플의 적어도 하나의 제1 네거티브 GT를 이용하여, 상기 객체 클래스 로스 및 상기 객체 리그레션 로스를 계산하도록 하는 것을 특징으로 하는 학습 장치.
  24. 제15항에 있어서,
    상기 프로세서는, 상기 프로포잘 선택 레이어로 하여금, 상기 트레이닝 이미지를 참조하여 상기 매칭 정보 각각에 대한 상기 ROI 프로포잘 각각에 대응하는 상기 각각의 제1 GT를 획득하여, 상기 획득된 각각의 제1 GT를 상기 매칭 정보 각각에 대응되는 각각의 제1 로스 레이어로 입력하도록 하는 것을 특징으로 하는 학습 장치.
  25. R-CNN(Region-Convolutional Neural Network) 기반의 객체 검출기를 테스팅하는 장치에 있어서,
    학습 장치가, (i) 적어도 하나의 트레이닝 이미지가 입력되면, 적어도 하나의 컨벌루션 레이어(convolutional layer)로 하여금, 상기 트레이닝 이미지에 적어도 하나의 컨벌루션 연산을 적용하여 적어도 하나의 트레이닝용 특징맵을 생성하도록 하며, (ii) RPN(Region Proposal Network)으로 하여금, 트레이닝용 ROI(Region Of Interest) 리그레션 정보 및 트레이닝용 매칭 정보를 출력하도록 하되, 상기 트레이닝용 ROI 리그레션 정보는 상기 트레이닝용 특징맵 중 트레이닝용 특정 특징맵 상에 있는 적어도 하나의 트레이닝용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 트레이닝용 ROI 후보 각각에 대한 리그레션 정보를 포함하고, 상기 트레이닝용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 트레이닝용 ROI 후보에 포함된 상기 적어도 하나의 트레이닝용 객체에 대한 정보를 참조하여 결정되고, (iii) 프로포잘 레이어(proposal layer)로 하여금, 상기 트레이닝용 ROI 리그레션 정보 및 상기 트레이닝용 매칭 정보를 참조하여 상기 트레이닝용 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 트레이닝용 ROI 후보를 적어도 하나의 트레이닝용 ROI 프로포잘로서 출력하도록 하며, (iv) 프로포잘 선택 레이어(proposal-selecting layer)로 하여금, 상기 트레이닝 이미지를 참조하여 상기 트레이닝용 매칭 정보 각각에 대해 상기 트레이닝용 ROI 프로포잘 각각을 출력하도록 하고, (v) 상기 트레이닝용 매칭 정보 각각에 대응되는 각각의 풀링 레이어로 하여금, 상기 트레이닝용 특정 특징맵 상에서 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 트레이닝용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어들로 하여금, 상기 트레이닝용 특징 벡터 각각을 참조하여 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 ROI 프로포잘 각각에 대응되는 트레이닝용 객체 리그레션 정보 및 트레이닝용 객체 클래스 정보를 출력하도록 하며, (vi) 상기 FC 레이어 각각에 대응되는 각각의 제1 로스 레이어(loss layer)로 하여금, 상기 FC 레이어 각각의 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 클래스 정보와 상기 트레이닝용 매칭 정보 각각에 대한 상기 트레이닝용 객체 리그레션 정보 및 이에 각 대응되는 제1 GT(Ground Truth)를 참조하여, 각각의 객체 클래스 로스 및 각각의 객체 리그레션 로스를 계산하도록 하고, 상기 각 객체 클래스 로스 및 상기 각 객체 리그레션 로스를 백프로파게이션하도록하여, 상기 각각의 FC 레이어 및 상기 컨벌루션 레이어의 파라미터를 학습한 상태에서, 적어도 하나의 테스트 이미지를 획득하는 통신부; 및
    (I) 상기 컨벌루션 레이어로 하여금, 상기 테스트 이미지에 컨벌루션 연산을 적용하여 적어도 하나의 테스트용 특징맵을 생성하는 프로세스, (II) (i) 상기 RPN으로 하여금, 테스트용 ROI 리그레션 정보 및 테스트용 매칭 정보를 출력하도록 하되, 상기 테스트용 ROI 리그레션 정보는 상기 테스트용 특징맵 중 특정 특징맵 상에 있는 적어도 하나의 테스트용 객체를 포함하는 것으로 예측된 후보 영역 각각에 대응하는 ROI 후보 각각에 대한 테스트용 리그레션 정보를 포함하고, 상기 테스트용 매칭 정보는 적어도 하나의 대응되는 클래스를 각각 포함하는 적어도 하나의 클래스군 중에서 선택된 하나의 클래스군에 대한 정보를 포함하며, 상기 적어도 하나의 클래스는 각각의 ROI 후보에 포함된 상기 적어도 하나의 테스트용 객체에 대한 정보를 참조하여 결정되고, (ii) 상기 프로포잘 레이어로 하여금, 상기 테스트용 ROI 리그레션 정보 및 상기 테스트용 매칭 정보를 참조하여 상기 ROI 후보 중 ROI가 될 확률이 높은 적어도 하나의 특정 ROI 후보를 적어도 하나의 테스트용 ROI 프로포잘로서 출력하는 프로세스, (III) 상기 테스트용 매칭 정보 각각에 대응되는 각각의 풀링 레이어(pooling layer)로 하여금, 테스트용 특정 특징맵 상에서 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 영역을 풀링하여 각각의 테스트용 특징 벡터를 산출하도록 하며, 상기 풀링 레이어 각각에 대응되는 각각의 FC 레이어(Fully-Connected layer)로 하여금, 상기 테스트용 특징 벡터 각각을 참조하여 상기 테스트용 매칭 정보 각각에 대한 상기 테스트용 ROI 프로포잘 각각에 대응되는 테스트용 객체 리그레션 정보 및 테스트용 객체 클래스 정보를 출력하는 프로세스를 수행하는 프로세서;
    를 포함하되,
    상기 테스트 이미지 상에 상기 테스트용 매칭 정보 중 제1 테스트용 매칭 정보에 대응되는 제1 테스트용 객체와 제2 테스트용 매칭 정보에 대응되는 제2 테스트용 객체가 포함되어 있는 것으로 판단될 경우,
    상기 프로세서는,
    상기 (II) 프로세스에서, 상기 프로포잘 선택 레이어로 하여금, 상기 제1 테스트용 매칭 정보에 대응하는 제1 테스트용 ROI 프로포잘과 제2 테스트용 매칭 정보에 대응하는 제2 테스트용 ROI 프로포잘을 출력하도록 하며,
    상기 (III) 프로세스에서, (i) 상기 제1 테스트용 매칭 정보에 대응되는 제1 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제1 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제1 테스트용 특징 벡터를 산출하도록 하고, 상기 제1 풀링 레이어에 대응하는 제1 FC 레이어로 하여금, 상기 제1 테스트용 특징 벡터를 이용하여 상기 제1 테스트용 객체의 제1 테스트용 객체 클래스 정보 및 제1 테스트용 객체 리그레션 정보를 출력하도록 하며, (ii) 상기 제2 테스트용 매칭 정보에 대응되는 제2 풀링 레이어로 하여금, 상기 테스트용 특정 특징맵 상에서 상기 제2 테스트용 ROI 프로포잘에 대응되는 영역을 풀링하여 제2 테스트용 특징 벡터를 산출하도록 하고, 상기 제2 풀링 레이어에 대응하는 제2 FC 레이어로 하여금, 상기 제2 테스트용 특징 벡터를 이용하여 상기 제2 테스트용 객체의 제2 테스트용 객체 클래스 정보 및 제2 테스트용 객체 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스팅 장치.
  26. 제25항에 있어서,
    상기 프로세서는,
    상기 (I) 프로세스 이전에,
    상기 학습 장치에 따라, 제2 로스 레이어에 의해 계산된 적어도 하나 이상의 제2 로스 - 상기 제2 로스는 상기 트레이닝용 ROI 리그레션 정보, 상기 트레이닝용 매칭 정보 및 적어도 하나의 제2 GT를 참조하여 획득됨 - 를 백프로파게이션하여, 상기 RPN의 파라미터를 학습한 상태인 것을 특징으로 하는 테스팅 장치.
  27. 삭제
  28. 제25항에 있어서,
    상기 프로세서는,
    출력 레이어로 하여금, 상기 프로포잘 레이어에서 출력된 상기 테스트용 매칭 정보 각각의 테스트용 ROI 프로포잘과, 각각의 FC 레이어로부터 출력된 상기 테스트용 객체 클래스 정보 및 상기 테스트용 객체 리그레션 정보를 참조하여, 상기 테스트 이미지 상에 상기 테스트용 상기 객체와 대응하는 객체 정보를 표시하여 주는 것을 더 포함하는 것을 특징으로 하는 테스팅 장치.
KR1020190105487A 2018-10-04 2019-08-27 R-cnn 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치 KR102313113B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/151,693 2018-10-04
US16/151,693 US10303981B1 (en) 2018-10-04 2018-10-04 Learning method and testing method for R-CNN based object detector, and learning device and testing device using the same

Publications (2)

Publication Number Publication Date
KR20200038846A KR20200038846A (ko) 2020-04-14
KR102313113B1 true KR102313113B1 (ko) 2021-10-18

Family

ID=66636232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105487A KR102313113B1 (ko) 2018-10-04 2019-08-27 R-cnn 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치

Country Status (5)

Country Link
US (1) US10303981B1 (ko)
EP (1) EP3633550B1 (ko)
JP (1) JP6872259B2 (ko)
KR (1) KR102313113B1 (ko)
CN (1) CN111008626B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582009B (zh) * 2019-02-19 2023-09-15 富士通株式会社 训练分类模型的装置和方法及利用分类模型分类的装置
CN110516670B (zh) * 2019-08-26 2022-04-22 广西师范大学 基于场景级与区域建议自注意模块的目标检测方法
CN112989897A (zh) * 2019-12-18 2021-06-18 富士通株式会社 训练多分支网络的方法和对象检测方法
KR102429272B1 (ko) * 2020-06-15 2022-08-04 주식회사 베이리스 딥러닝에 기반한 객체 검출 장치 및 그 방법
CN112329771B (zh) * 2020-11-02 2024-05-14 元准智能科技(苏州)有限公司 一种基于深度学习的建筑材料样本识别方法
KR20230057646A (ko) 2021-10-22 2023-05-02 연세대학교 산학협력단 멀티-레벨 전이 영역 기반의 도메인 적응형 객체 검출 장치 및 방법
KR102652863B1 (ko) * 2021-12-30 2024-04-01 울산과학기술원 Cnn 알고리즘을 이용한 지역 기후 구역 분류 시스템 및 방법
US11955272B1 (en) * 2022-11-10 2024-04-09 Superb Ai Co., Ltd. Method for generating object detector based on deep learning capable of detecting extended object class and detector generation device using the same
US11954898B1 (en) * 2022-11-10 2024-04-09 Superb Ai Co., Ltd. Learning method and learning device for performing transfer learning on an object detector that has been trained to detect first object classes such that the object detector is able to detect second object classes, and testing method and testing device using the same

Family Cites Families (9)

* 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
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
US10318848B2 (en) * 2015-12-15 2019-06-11 Qualcomm Incorporated Methods for object localization and image classification
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
US10380741B2 (en) * 2016-12-07 2019-08-13 Samsung Electronics Co., Ltd System and method for a deep learning machine for object detection
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
CN107451602A (zh) * 2017-07-06 2017-12-08 浙江工业大学 一种基于深度学习的果蔬检测方法
CN108022161A (zh) * 2017-12-26 2018-05-11 河北中晟易通科技有限公司 基于图像识别与大数据分析的服装匹配推荐系统
CN108597582B (zh) * 2018-04-18 2021-02-12 中国科学院计算技术研究所 一种用于执行Faster R-CNN神经网络运算的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xiaopeng Zhang et al., "ML-LocNet: Improving Object Localization with Multi-view Learning Network," 15th European Conference on Computer Vision (ECCV), Munich, Germany, Sept. 8-14, 2018 (2018.09.14.)*

Also Published As

Publication number Publication date
CN111008626A (zh) 2020-04-14
CN111008626B (zh) 2023-10-13
US10303981B1 (en) 2019-05-28
KR20200038846A (ko) 2020-04-14
EP3633550B1 (en) 2023-12-27
EP3633550C0 (en) 2023-12-27
JP6872259B2 (ja) 2021-05-19
EP3633550A1 (en) 2020-04-08
JP2020061141A (ja) 2020-04-16

Similar Documents

Publication Publication Date Title
KR102313113B1 (ko) R-cnn 기반 객체 검출기의 학습 방법과 테스팅 방법, 및 이를 이용한 학습 장치와 테스팅 장치
KR102280395B1 (ko) 차선 후보 픽셀의 분류를 통해 차선을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10373026B1 (en) Learning method and learning device for generation of virtual feature maps whose characteristics are same as or similar to those of real feature maps by using GAN capable of being applied to domain adaptation to be used in virtual driving environments
KR102373456B1 (ko) 자동 주차 시스템을 제공하기 위해 결정 지점 간의 관계 및 결정 지점에 대한 리그레션 결과를 이용하여 주차 공간을 검출하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102319541B1 (ko) 객체의 종횡비나 스케일에 따라 모드를 전환할 수 있는 r-cnn 기반의 감시에 사용되는 객체 검출기의 학습 방법 및 테스트 방법, 이를 이용한 학습 장치 및 테스트 장치
EP3686779B1 (en) Method and device for attention-based lane detection without post-processing by using lane mask and testing method and testing device using the same
KR102286760B1 (ko) 다른 라벨 세트를 가지는 복수의 라벨링된 데이터베이스를 이용하여 학습하는 방법 및 장치 그리고 이를 이용한 테스트 방법 및 장치
US10410352B1 (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
KR102279376B1 (ko) CNN(Convolutional Neural Network)을 사용하여 차선을 검출하기 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10402977B1 (en) Learning method and learning device for improving segmentation performance in road obstacle detection required to satisfy level 4 and level 5 of autonomous vehicles using laplacian pyramid network and testing method and testing device using the same
US10551845B1 (en) Method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same
KR20200047307A (ko) 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102279388B1 (ko) 차선 모델을 이용하여 차선을 검출할 수 있는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102314524B1 (ko) 자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 컴퓨팅 장치
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102320985B1 (ko) 멀티 카메라 시스템 내의 더블 임베딩 구성을 이용하여 도로 이용자 이벤트를 검출하기 위해 이용될 세그먼테이션 성능 향상을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102301631B1 (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
US10387754B1 (en) Learning method and learning device for object detector based on CNN using 1×H convolution to be used for hardware optimization, and testing method and testing device using the same
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN111507161B (zh) 利用合并网络进行异质传感器融合的方法和装置
CN112819837A (zh) 一种基于多源异构遥感影像的语义分割方法
KR102309705B1 (ko) Cnn 기반 차선 검출을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10395140B1 (en) Learning method and learning device for object detector based on CNN using 1×1 convolution to be used for hardware optimization, and testing method and testing device using the same
Zhou et al. An anchor-free vehicle detection algorithm in aerial image based on context information and transformer
US10373004B1 (en) Method and device for detecting lane elements to plan the drive path of autonomous vehicle by using a horizontal filter mask, wherein the lane elements are unit regions including pixels of lanes in an input image

Legal Events

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