KR102320995B1 - 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
KR102320995B1
KR102320995B1 KR1020190119513A KR20190119513A KR102320995B1 KR 102320995 B1 KR102320995 B1 KR 102320995B1 KR 1020190119513 A KR1020190119513 A KR 1020190119513A KR 20190119513 A KR20190119513 A KR 20190119513A KR 102320995 B1 KR102320995 B1 KR 102320995B1
Authority
KR
South Korea
Prior art keywords
layer
learning
test
loss
output
Prior art date
Application number
KR1020190119513A
Other languages
English (en)
Other versions
KR20200092848A (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 KR20200092848A publication Critical patent/KR20200092848A/ko
Application granted granted Critical
Publication of KR102320995B1 publication Critical patent/KR102320995B1/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
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • 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
    • 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
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 객체의 스케일에 따라 모드 전환이 가능한 CNN 기반의 감시용 객체 검출기의 학습 방법에 관한 것으로, 학습 장치가, (a) 컨벌루션 레이어로 하여금 이미지에 대하여 컨벌루션 연산을 적용하도록 하여 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 이미지 내의 ROI(Region Of Interest)를 출력하도록 하는 단계; (b) 풀링 레이어로 하여금 특징 맵 상의 각각의 ROI영역을 해당 스케일 별로 풀링하도록 하여, 제1 FC 레이어로 하여금 제2 특징 벡터를 출력하도록 하며, 제2 FC 레이어로 하여금 클래스 정보와 리그레션 정보를 출력하도록 하는 단계; 및 (c) 로스 레이어로 하여금 클래스 정보, 리그레션 정보 및 이에 대응하는 GT(Ground Truth)를 참조하여 클래스 로스와 리그레션 로스를 생성하도록 하는 단계를 포함하는 학습 방법을 제공한다.

Description

객체의 스케일에 따라 모드 전환이 가능한 CNN 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치{LEARNING METHOD AND LEARNING DEVICE FOR OBJECT DETECTOR TO BE USED FOR SURVEILLANCE BASED ON CONVOLUTIONAL NEURAL NETWORK CAPABLE OF CONVERTING MODES ACCORDING TO SCALES OF OBJECTS, AND TESTING METHOD AND TESTING DEVICE USING THE SAME}
본 발명은 객체의 스케일에 따라 모드 전환이 가능한 CNN(Convolutional Neural Network) 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치에 관한 것으로, 보다 상세하게는, 상기 CNN(Convolutional Neural Network) 기반의 상기 객체 검출기를 학습하는 방법에 있어서, (a) 적어도 하나의 객체를 포함하는 트레이닝 이미지가 입력되면, 학습 장치가, 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 단계; (b) 상기 학습 장치가, (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 특징 맵 상에서 상기 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 제2 특징 벡터를 각각 이용하여 상기 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 단계; 및 (c) 상기 학습 장치가, 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 클래스 정보, 각각의 상기 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 단계;를 포함하는 학습 방법 및 학습 장치, 그리고, 이를 이용한 테스트 방법 및 테스트 장치에 관한 것이다.
기계 학습(Machine Learning)에서 컨벌루션 뉴럴 네트워크(Convolutional Neural Network; CNN 또는 ConvNet)는 시각적 이미지 분석에 성공적으로 적용되어온 딥 피드포워드 인공 뉴럴 네트워크(Deep, Feed-Forward Artificial Neural Network)의 한 클래스(Class)이다.
도 1은 기존의 기술에 따른 CNN을 사용한 학습 프로세스를 나타낸 것이다.
도 1은 학습 장치가 예측한 바운딩 박스(Bounding Box)를 이에 대응하는 GT의 바운딩 박스와 비교하는 프로세스를 나타낸 도면이다.
도 1을 참조하면, 기존의 학습 장치가 바운딩 박스를 예측하고 이 예측된 바운딩 박스를 GT의 바운딩 박스와 비교하여 적어도 하나의 로스 값을 획득한다. 여기서, 로스 값은 예측된 바운딩 박스와 GT의 바운딩 박스 사이의 차이 값을 의미한다. 예를 들어, 도 1에서 로스 값은
Figure 112019099050704-pat00001
를 포함할 수 있다.
먼저, 도 1의 학습 장치는 RGB 이미지를 획득하여 이를 컨벌루션 레이어에 입력시킨다. RGB 이미지가 컨벌루션 레이어를 통과한 후, RGB 이미지의 너비와 높이가 줄어들지만 채널 수는 증가하도록 특징 맵이 생성된다.
도 1의 학습 장치는 특징 맵을 RPN(Region Proposal Network)에 입력시켜 프로포잘 박스를 생성하고, 특징 맵 상의 프로포잘 박스에 대응되는 영역에 포함된 픽셀 데이터에 대해 맥스 풀링(Max Pooling) 또는 에버리지 풀링(Average Pooling) 연산 중 어느 하나를 적용하여 풀링된 특징 맵을 생성할 수 있다. 여기서, 맥스 풀링은 각각의 세부 영역마다 이에 대응하는 프로포잘 박스 내의 세부 영역 각각에서 가장 큰 값을 세부 영역 별 대표 값으로 각각 선정하는 방법이고, 에버리지 풀링은 각각의 세부 영역마다 이에 대응하는 프로포잘 박스 내의 세부 영역 각각에 대한 각각의 평균 값을 각각의 대표 값으로서 산출하는 방법이다.
다음으로, 도 1의 학습 장치는 풀링된 특징 맵을 FC 레이어(Fully Connected Layer)에 입력한다. 이때, 학습 장치는 FC 레이어로 하여금 분류 연산을 통해 상기 RGB 이미지 상의 객체의 종류가 무엇인지를 확인하도록 할 수 있다. 풀링된 특징 맵은 “특징 벡터(Feature Vector)”로 칭할 수도 있다.
또한, 입력된 RGB 이미지 상의 적어도 하나의 바운딩 박스는 FC 레이어와 로스 값을 통해 예측되며, 상기 로스는 예측된 바운딩 박스를 이에 대응하는 GT(Ground Truth)의 바운딩 박스와 비교하여 획득된다. 여기서, GT의 바운딩 박스는 이미지 상의 객체를 정확하게 포함하는 바운딩 박스로서, 일반적으로는 사람이 직접 생성할 수 있다.
마지막으로, 도 1의 학습 장치는 백프로파게이션을 수행하면서 로스 값을 감소시키기 위해 FC 레이어의 적어도 하나의 파라미터, 및 컨벌루션 레이어의 적어도 하나의 파라미터를 조정할 수 있다. CNN의 파라미터가 조정된 후, 테스트 이미지 상의 새로운 객체에 대응되는 새로운 바운딩 박스가 예측될 수 있다.
다만, 컨벌루션 레이어에서 출력되는 특징 맵 상에서 ROI에 대응되는 영역이 단일 스케일(Single Scale)로 풀링되면, 단일 스케일로 풀링된 특징 맵만을 이용해서는 정보를 효율적으로 표현하는 것이 제한된다. 그러므로 객체를 보다 정확하게 검출하기 위하여 많은 수의 특징(Feature)을 이용하여야 하며, 그에 따라 객체 검출을 위한 연산 수가 많아질 뿐만 아니라 성능이 저하되는 단점이 있었다.
따라서, 본 발명은 서로 다른 스케일을 가지는 풀링 레이어 각각으로 하여금 각각의 풀링 연산을 수행하도록 하여 연산 수를 줄일 수 있는 학습 방법을 제안하고자 한다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
또한, 본 발명은 서로 다른 스케일을 가지는 풀링 레이어 각각으로 하여금 각각의 풀링 연산을 수행하도록 하여, 연산량을 줄이는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치를 제공하는 것을 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, CNN(Convolutional Neural Network) 기반의 객체 검출기를 학습하는 방법에 있어서, (a) 적어도 하나의 객체를 포함하는 트레이닝 이미지가 입력되면, 학습 장치가, 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 단계; (b) 상기 학습 장치가, (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 특징 맵 상에서 상기 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 제2 특징 벡터를 각각 이용하여 상기 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 단계; 및 (c) 상기 학습 장치가, 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 클래스 정보, 각각의 상기 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 k개의 ROI는 상기 RPN에 의해 기설정된 ROI 후보 중에서 선택된 것이며, 상기 (a) 단계 이후에, 상기 학습 장치는 제2 로스 레이어로 하여금 상기 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며, 상기 (b) 단계에서, 상기 학습 장치는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 제3 특징 벡터를 이용하여 상기 k개의 ROI에 대응되는 각각의 상기 클래스 정보와 각각의 상기 리그레션 정보를 출력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, CNN(Convolutional Neural Network) 기반의 객체 검출기를 테스트하는 방법에 있어서, (a) 학습 장치가, (1) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 학습용 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하며, (2) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 학습용 특징 맵 상에서 상기 k개의 학습용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 학습용 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 학습용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 이용하여 상기 k개의 학습용 ROI 각각에 대응되는 각각의 학습용 클래스(Class) 정보와 각각의 학습용 리그레션(Regression) 정보를 출력하도록 하며, (3) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 학습용 클래스 정보, 각각의 상기 학습용 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 학습용 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습한 상태에서, 테스트 장치가, (i) 상기 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 하고, (ii) 상기 RPN으로 하여금 상기 테스트용 특징 맵을 이용하여 상기 테스트 이미지 내의 m개의 테스트용 ROI를 출력하도록 하는 단계; 및 (b) 상기 테스트 장치가, (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 상기 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 테스트용 특징 맵 상에서 상기 m개의 테스트용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 m개의 테스트용 ROI 각각에 대응되는 m개의 테스트용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 상기 제1 FC 레이어(Fully Connected Layer)로 하여금 해당 스케일 별로 m개의 상기 테스트용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 상기 제2 FC 레이어로 하여금 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터를 각각 이용하여 상기 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스(Class) 정보와 각각의 테스트용 리그레션(Regression) 정보를 출력하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 k개의 학습용 ROI는 상기 RPN에 의해 기설정된 학습용 ROI 후보 중에서 선택된 것이며, 상기 (1) 프로세스 이후에, 상기 학습 장치는, 제2 로스 레이어로 하여금 상기 학습용 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며, 상기 (b) 단계에서, 상기 테스트 장치는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 테스트용 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 테스트용 제3 특징 벡터를 이용하여 상기 m개의 테스트용 ROI에 대응되는 각각의 상기 테스트용 클래스 정보와 각각의 상기 테스트용 리그레션 정보를 출력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (3) 프로세스에서, 상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 테스트용 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 테스트용 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN(Convolutional Neural Network) 기반의 객체 검출기를 학습하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 적어도 하나의 객체를 포함하는 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 프로세스, (II) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 특징 맵 상에서 상기 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 제2 특징 벡터를 각각 이용하여 상기 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 프로세스 및 (III) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 클래스 정보, 각각의 상기 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 k개의 ROI는 상기 RPN에 의해 기설정된 ROI 후보 중에서 선택된 것이며, 상기 (I) 프로세스 이후에, 상기 프로세서는, 제2 로스 레이어로 하여금 상기 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 제3 특징 벡터를 이용하여 상기 k개의 ROI에 대응되는 각각의 상기 클래스 정보와 각각의 상기 리그레션 정보를 출력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN(Convolutional Neural Network) 기반의 객체 검출기를 테스트하는 테스트 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치가, (1) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 학습용 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하며, (2) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 학습용 특징 맵 상에서 상기 k개의 학습용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 학습용 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 학습용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 이용하여 상기 k개의 학습용 ROI 각각에 대응되는 각각의 학습용 클래스(Class) 정보와 각각의 학습용 리그레션(Regression) 정보를 출력하도록 하며, (3) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 학습용 클래스 정보, 각각의 상기 학습용 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 학습용 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습한 상태에서, (I) (i) 상기 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 하고, (ii) 상기 RPN으로 하여금 상기 테스트용 특징 맵을 이용하여 상기 테스트 이미지 내의 m개의 테스트용 ROI를 출력하도록 하는 프로세스 및 (II) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 상기 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 테스트용 특징 맵 상에서 상기 m개의 테스트용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 m개의 테스트용 ROI 각각에 대응되는 m개의 테스트용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 상기 제1 FC 레이어(Fully Connected Layer)로 하여금 해당 스케일 별로 m개의 상기 테스트용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 상기 제2 FC 레이어로 하여금 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터를 각각 이용하여 상기 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스(Class) 정보와 각각의 테스트용 리그레션(Regression) 정보를 출력하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 k개의 학습용 ROI는 상기 RPN에 의해 기설정된 학습용 ROI 후보 중에서 선택된 것이며, 상기 (1) 프로세스 이후에, 상기 학습 장치는, 제2 로스 레이어로 하여금 상기 학습용 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며, 상기 (II) 프로세스에서, 상기 프로세서는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 테스트용 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 테스트용 제3 특징 벡터를 이용하여 상기 m개의 테스트용 ROI에 대응되는 각각의 상기 테스트용 클래스 정보와 각각의 상기 테스트용 리그레션 정보를 출력하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (3) 프로세스에서, 상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 테스트용 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 테스트용 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 한다.
본 발명은, 서로 다른 풀링 스케일을 가지는 풀링 레이어 각각으로 하여금 특징 맵 상의 ROI에 대응되는 영역을 해당 스케일 별로 풀링하도록 함으로써 다양한 스케일에 따라 풀링된 특징 맵 상의 더 많은 특징을 사용할 수 있는 효과가 있다.
본 발명은, 더 적은 수의 채널을 사용해 연산을 수행하므로 컴퓨팅 연산 성능을 향상시킬 수 있는 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 “통상의 기술자”)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 기존의 기술에 따른 학습 과정에서 학습 장치가 바운딩 박스를 예측하고 이 예측된 바운딩 박스를 이에 대응하는 GT의 바운딩 박스와 비교하는 프로세스를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 CNN 기반의 객체 검출기를 학습하는 학습 장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 CNN 기반의 객체 검출기를 학습하는 프로세스를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 CNN 기반의 객체 검출기를 테스트하는 테스트 장치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 CNN 기반의 객체 검출기를 테스트하는 프로세스를 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 학습 장치(100)의 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다. 경우에 따라 데이터베이스(130)를 더 포함할 수 있다. 또한, 학습 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(115)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
여기서, 본 발명의 학습 장치(100)는 디지털 기기로서, 프로세서를 탑재하여 다양한 연산 수행 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다.
통신부(110)는 적어도 하나의 객체를 포함하는 트레이닝 이미지를 획득할 수 있다. 이때, 트레이닝 이미지는 데이터베이스(130)로부터 획득될 수 있다.
프로세서(120)는 (a) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 특징 맵을 이용하여 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 프로세스; (b) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 특징 맵 상에서 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 제2 특징 벡터를 각각 이용하여 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 프로세스; 및 (c) 제1 로스 레이어(Loss Layer)로 하여금 각각의 클래스 정보, 각각의 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 클래스 로스와 리그레션 로스를 이용한 백프로파게이션을 통해 제2 FC 레이어, 제1 FC 레이어 및 컨벌루션 레이어를 학습하는 프로세스;를 수행할 수 있다. 이에 대해서는 뒤에서 상세한 설명을 통해 자세하게 알아보기로 한다.
여기서, 데이터베이스(130)는 학습 장치(100)의 통신부(110)에 의해 접근할 수 있으며, GT(예를 들어, 객체가 자동차인지, 보행자인지 등을 나타내는 클래스 정보) 및 바운딩 박스의 위치에 대한 정보를 나타내는 리그레션 정보 등이 기록될 수 있다.
이하에, 이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(100)를 이용하여 서로 다른 스케일을 갖는 풀링 레이어 각각을 사용하여 CNN 기반의 객체 검출기를 학습하는 방법을 도 3을 참조하여 설명하면 다음과 같다.
먼저, 적어도 하나의 객체를 포함하는 트레이닝 이미지가 입력되면, 학습 장치(100)는, 컨볼루션 레이어(10)로 하여금 트레이닝 이미지에 대하여 컨볼루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 한다.
그리고, 학습 장치(100)는 RPN(20)으로 하여금, 특징 맵을 이용하여 트레이닝 이미지 내의 k개의 ROI를 출력하도록 한다. 여기서 k개의 ROI는 기설정된 ROI 후보 중에서 선택된 것이다.
다음으로, 학습 장치(100)는 서로 다른 스케일을 가지는 풀링 레이어(30) 각각으로 하여금 특징 맵 상에서 RPN(20)으로부터 출력된 k개의 ROI 각각에 대응되는 영역 각각을 해당 스케일 별로 풀링하여 해당 스케일 별로 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터 각각을 출력하도록 한다. 이때, 도 3의 예에서는 서로 다른 풀링 스케일을 가지는 3개의 풀링 레이어(30) 각각이 도시되었으나, 본 발명이 이에 한정되는 것은 아니다. 또한, 풀링 스케일이 큰 제1 특징 벡터는 풀링 스케일이 작은 제1 특징 벡터에 비하여 더 많은 정보를 가질 수 있다.
그리고, 각각의 풀링 레이어(30) 각각으로부터 각각의 스케일 별로 k개의 ROI에 대응되는 k개의 제1 특징 벡터 각각이 출력되면, 학습 장치(100)는 각각의 풀링 레이어(30) 각각에 대응되는 제1 FC 레이어(40) 각각으로 하여금 해당 스케일 별로 k개의 제1 특징 벡터 각각을 이용하여 k개의 해당 스케일 별 제2 특징 벡터 각각을 출력하도록 한다. 도 3의 예에서는 제1 FC 레이어(40)의 개수가 3개로 나타나 있지만, 이는 풀링 레이어(30)의 개수가 3개인 것에 기인한 것이며, 본 발명이 이에 한정되는 것은 아니다.
또한, 제1 FC 레이어(40) 각각에서 출력되는 해당 스케일 별 제2 특징 벡터 각각의 채널 수 각각은 서로 동일할 수 있다. 일 예로, 도 3에 도시된 바와 같이, 제1 FC 레이어(40) 각각에서 출력되는 제2 특징 벡터의 채널 수는 128일 수 있으나, 이에 한정되는 것은 아니다.
또한, 제1 FC 레이어(40)에서 출력되는 제2 특징 벡터의 총 채널 수가 기설정된 개수 미만이 되도록 할 수 있다. 일 예로, 도 3에 도시된 바와 같이, 제1 FC 레이어(40)에서 출력되는 제2 특징 벡터의 총 채널 수는 384(128+128+128)일 수 있으나, 이에 한정되는 것은 아니다. 이 경우, 일반적으로 4,096 개의 채널을 가지는 특징 벡터를 연산하는 종래 방법에 비하여, 본 발명에 따른 연산을 수행하는 채널 수는 384개로 적어지므로 그에 따라 학습 장치(100)의 연산 능력을 상승시킬 수 있게 된다.
이후, 학습 장치(100)는 k개의 제2 특징 벡터 각각을 제2 FC 레이어(50)에 입력함으로써, 제2 FC 레이어(50)로 하여금 k개의 해당 스케일 별 제2 특징 벡터 각각을 이용하여 k개의 ROI 각각에 대응되는 각각의 클래스 정보와 각각의 리그레션 정보를 출력하도록 한다.
이때, 제2 FC 레이어(50)는 제2_1 FC 레이어(51) 및 제2_2 FC 레이어(55)를 포함할 수 있다. 제2_1 FC 레이어(51)는 제1 FC 레이어(40) 각각에서 출력되는 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하여 제3 특징 벡터를 출력할 수 있다. 제2_2 FC 레이어(55)는 제3 특징 벡터를 이용하여 k개의 ROI에 대응되는 각각의 클래스 정보와 각각의 리그레션 정보를 출력할 수 있다.
다음으로, 학습 장치(100)는 제1 로스 레이어(60)로 하여금 각각의 클래스 정보, 각각의 리그레션 정보 및 이에 대응되는 제1 GT를 참조하여 k개의 ROI에 대응되는 클래스 로스와 리그레션 로스를 생성하도록 하며, 클래스 로스와 리그레션 로스를 이용한 백프로파게이션을 통해 제2 FC 레이어, 제1 FC 레이어 및 컨벌루션 레이어를 학습할 수 있다.
이때, 학습 장치(100)는 제1 FC 레이어(40) 각각으로부터 출력된 k개의 해당 스케일 별 제2 특징 벡터 각각에 대응되는 각각의 클래스 로스와 각각의 리그레션 로스를 이용하여 각각의 제1 FC 레이어(40)를 학습할 수 있다. 바꾸어 말하면, 학습 장치(100)는 각각의 클래스 로스와 각각의 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 제1 FC 레이어(40) 각각을 학습할 수 있으며, 각각의 가중치는 각각의 클래스 로스와 각각의 리그레션 로스에 대한 각각의 제1 FC 레이어(40)의 기여도에 대한 정보를 참고로 하여 결정된다.
또한, 학습 장치(100)는 제2 로스 레이어(21)로 하여금 ROI 후보 및 이에 대응하는 제2 GT를 참조하여 ROI 로스를 획득하도록 하고, 획득된 ROI 로스를 이용한 백프로파게이션을 통해 RPN을 학습할 수 있다. 이러한 RPN의 학습은 ROI 후보군이 출력되면 언제든 가능하다. 또한, ROI 로스는 ROI 클래스 로스와 ROI 리그레션 로스를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 CNN 기반의 객체 검출기를 테스트하는 테스트 장치(400)를 개략적으로 도시한 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 테스트 장치(400)는 통신부(401)와 프로세서(402)를 포함할 수 있다. 도면에서는 테스트 장치(400)와 학습 장치(100)를 구별하여 표현하였으나, 테스트 장치(400)와 학습 장치(100)는 동일한 장치일 수도 있다. 또한, 학습 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(403)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
참고로 이하의 설명에서 혼동을 피하기 위해 “학습용”이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, “테스트용”이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다.
(1) 학습 장치가, (i) 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적용하여 학습용 특징 맵을 출력하도록 하고, (ii) RPN(Region Proposal Network)으로 하여금 학습용 특징 맵을 이용하여 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하며, (2) 학습 장치가, (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 학습용 특징 맵 상에서 k개의 학습용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 k개의 학습용 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 학습용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 학습용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 제2 FC 레이어로 하여금 해당 스케일 별로 학습용 제2 특징 벡터를 각각 이용하여 k개의 학습용 ROI 각각에 대응되는 각각의 학습용 클래스(Class) 정보와 각각의 학습용 리그레션(Regression) 정보를 출력하도록 하며, (3) 제1 로스 레이어(Loss Layer)로 하여금 각각의 학습용 클래스 정보, 각각의 학습용 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 k개의 학습용 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 클래스 로스와 리그레션 로스를 이용한 백프로파게이션을 통해 제2 FC 레이어, 제1 FC 레이어 및 컨벌루션 레이어를 학습한 상태에서, 통신부(401)은 적어도 하나의 테스트용 객체를 포함하는 테스트 이미지를 획득할 수 있다.
프로세서(420)는 (1) (i) 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 하고, (ii) RPN으로 하여금 테스트용 특징 맵을 이용하여 테스트 이미지 내의 m개의 테스트용 ROI를 출력하도록 하는 제1 프로세스; 및 (2) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 테스트용 특징 맵 상에서 m개의 테스트용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 m개의 테스트용 ROI 각각에 대응되는 m개의 테스트용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer)로 하여금 해당 스케일 별로 m개의 테스트용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 제2 FC 레이어로 하여금 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 이용하여 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스(Class) 정보와 각각의 테스트용 리그레션(Regression) 정보를 출력하도록 하는 제2 프로세스를 수행할 수 있다.
여기서, 테스트 장치(400)에서 RPN이 출력하는 ROI의 개수인 m개는 학습 장치(100)에서 RPN이 출력하는 ROI 개수인 k개보다 작거나 같을 수 있으나, 이에 한정되는 것은 아니다.
이와 같이 구성된 테스트 장치(400)를 이용하여 본 발명의 일 실시예에 따른, 서로 다른 풀링 스케일을 갖는 풀링 레이어 각각을 사용하여 CNN 기반의 객체 검출기를 테스트하는 방법을 도 5를 참조하여 설명하면 다음과 같다. 이하의 설명에서, 학습 방법으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
먼저, 도 3을 참조하여 설명한 학습 방법에 의해 제2 FC 레이어(450), 제1 FC 레이어(440), 및 컨벌루션 레이어(410)를 학습한 상태에서, 테스트 이미지가 입력되면, 테스트 장치(400)는, 컨벌루션 레이어(410)로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 한다.
컨벌루션 레이어(410)로부터 출력된 테스트용 특징 맵을 RPN(420)으로 입력하여, 테스트 장치(400)는 RPN(420)으로 하여금 테스트용 특징 맵을 이용하여 테스트 이미지에 대응하는 m개의 테스트용 ROI를 출력하도록 한다.
다음으로, 테스트 장치(400)는, 서로 다른 풀링 스케일을 가지는 풀링 레이어(430) 각각으로 하여금 테스트용 특징 맵 상에서 m개의 테스트용 ROI에 대응되는 각각의 영역을 해당 스케일 별로 풀링하도록 하여 해당 스케일 별로 m개의 테스트용 ROI에 대응되는 m개의 제1 테스트용 특징 벡터 각각을 출력하도록 한다. 이때, 도 5의 예에서는 서로 다른 풀링 스케일을 가지는 3개의 풀링 레이어(430) 각각을 도시하였으나, 본 발명이 이에 한정되는 것은 아니다. 또한, 풀링 스케일이 큰 제1 테스트용 특징 벡터는 풀링 스케일이 작은 제1 테스트용 특징 벡터에 비하여 더 많은 정보를 가질 수 있다.
그리고, 테스트 장치(400)는 각각의 풀링 레이어(430)에 대응되는 각각의 제1 FC 레이어(440)로 하여금 m개의 해당 스케일 별 제1 테스트용 특징 벡터 각각을 이용하여, m개의 해당 스케일 별 제2 테스트용 특징 벡터 각각을 출력하도록 한다. 도 5의 예에서는 제1 FC 레이어(440)의 개수가 3개로 나타나 있지만, 이는 풀링 레이어(430)의 개수가 3개인 것에 기인한 것이며, 본 발명이 이에 한정되는 것은 아니다.
또한, 제1 FC 레이어(440) 각각에서 출력되는 해당 스케일 별 제2 테스트용 특징 벡터 각각의 채널 수 각각은 동일할 수 있다. 일 예로, 도 5에 도시된 바와 같이, 제1 FC 레이어(440) 각각에서 출력되는 해당 스케일 별 제2 테스트용 특징 벡터의 채널 수 각각은 128일 수 있으며, 이에 한정되는 것은 아니다.
또한, 제1 FC 레이어(440) 각각에서 출력되는 제2 테스트용 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 할 수 있다. 일 예로, 도 5에 도시된 바와 같이, 제1 FC 레이어(440) 각각에서 출력되는 제2 테스트용 특징 벡터의 총 채널 수는 384(128+128+128)일 수 있으며, 이에 한정되는 것은 아니다. 이 경우, 일반적으로 4,096 채널을 가지는 특징 벡터를 연산하는 종래 방법에 비하여, 본 발명에 따른 총 연산을 수행하는 채널 수는 384개로 적어지므로 그에 따라 테스트 장치(400)의 연산 능력을 상승시킬 수 있게 된다.
이후, 테스트 장치(400)는 제2 FC 레이어(450)로 하여금 해당 스케일 별로 m개의 제2 테스트용 특징 벡터 각각을 이용하여 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스 정보와 각각의 테스트용 리그레션 정보를 출력하도록 한다.
이때, 제2 FC 레이어(450)는 제2_1 FC 레이어(451) 및 제2_2 FC 레이어(455)를 포함할 수 있다. 제2_1 FC 레이어(451)는 제1 FC 레이어(440) 각각에서 출력되는 제2 테스트용 특징 벡터 각각을 컨캐터네이팅하여 제3 테스트용 특징 벡터를 출력할 수 있다. 제2_2 FC 레이어(455)는 제3 테스트용 특징 벡터를 이용하여 m개의 테스트용 ROI에 대응되는 각각의 테스트용 클래스 정보와 각각의 테스트용 리그레션 정보를 출력할 수 있다.
본 발명에 따른 학습 방법과 테스트 방법은 객체의 스케일에 따라 모드를 전환할 수 있는 CNN을 이용해 감시용으로 사용될 수 있다. 모드에 따라 다양한 레이어의 가중치 및/또는 다양한 로스의 가중치는 조정될 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 학습 장치
110: 통신부
120: 프로세서
130: 데이터베이스
400: 테스트 장치
410: 통신부
420: 프로세서

Claims (28)

  1. CNN(Convolutional Neural Network) 기반의 객체 검출기를 학습하는 방법에 있어서,
    (a) 적어도 하나의 객체를 포함하는 트레이닝 이미지가 입력되면, 학습 장치가, 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 단계;
    (b) 상기 학습 장치가, (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 특징 맵 상에서 상기 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 제2 특징 벡터를 각각 이용하여 상기 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 단계; 및
    (c) 상기 학습 장치가, 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 클래스 정보, 각각의 상기 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 학습 방법.
  2. 제 1 항에 있어서,
    상기 k개의 ROI는 상기 RPN에 의해 기설정된 ROI 후보 중에서 선택된 것이며,
    상기 (a) 단계 이후에,
    상기 학습 장치는, 제2 로스 레이어로 하여금 상기 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 하는 학습 방법.
  3. 제 1 항에 있어서,
    상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며,
    상기 (b) 단계에서,
    상기 학습 장치는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 제3 특징 벡터를 이용하여 상기 k개의 ROI에 대응되는 각각의 상기 클래스 정보와 각각의 상기 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 학습 방법.
  4. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 하는 학습 방법.
  5. 제 4 항에 있어서,
    상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 하는 학습 방법.
  6. 제 1 항에 있어서,
    상기 학습 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 하는 학습 방법.
  7. 제 1 항에 있어서,
    상기 학습 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 하는 학습 방법.
  8. CNN(Convolutional Neural Network) 기반의 객체 검출기를 테스트하는 방법에 있어서,
    (a) 학습 장치가, (1) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 학습용 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하며, (2) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 학습용 특징 맵 상에서 상기 k개의 학습용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 학습용 ROI 각각에 대응되는 k개의 학습용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 학습용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 학습용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 이용하여 상기 k개의 학습용 ROI 각각에 대응되는 각각의 학습용 클래스(Class) 정보와 각각의 학습용 리그레션(Regression) 정보를 출력하도록 하며, (3) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 학습용 클래스 정보, 각각의 상기 학습용 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 학습용 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습한 상태에서, 테스트 장치가, (i) 상기 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 하고, (ii) 상기 RPN으로 하여금 상기 테스트용 특징 맵을 이용하여 상기 테스트 이미지 내의 m개의 테스트용 ROI를 출력하도록 하는 단계; 및
    (b) 상기 테스트 장치가, (i) 서로 다른 풀링 스케일을 가지는 상기 풀링 레이어 각각으로 하여금 해당 스케일 별로 상기 테스트용 특징 맵 상에서 상기 m개의 테스트용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 m개의 테스트용 ROI 각각에 대응되는 m개의 테스트용 제1 특징 벡터 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 상기 제1 FC 레이어로 하여금 해당 스케일 별로 m개의 상기 테스트용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 상기 제2 FC 레이어로 하여금 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터를 각각 이용하여 상기 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스 정보와 각각의 테스트용 리그레션 정보를 출력하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 테스트 방법.
  9. 제 8 항에 있어서,
    상기 k개의 학습용 ROI는 상기 RPN에 의해 기설정된 학습용 ROI 후보 중에서 선택된 것이며,
    상기 (1) 프로세스 이후에,
    상기 학습 장치는, 제2 로스 레이어로 하여금 상기 학습용 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 하는 테스트 방법.
  10. 제 8 항에 있어서,
    상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며,
    상기 (b) 단계에서,
    상기 테스트 장치는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 테스트용 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 테스트용 제3 특징 벡터를 이용하여 상기 m개의 테스트용 ROI에 대응되는 각각의 상기 테스트용 클래스 정보와 각각의 상기 테스트용 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스트 방법.
  11. 제 8 항에 있어서,
    상기 (3) 프로세스에서,
    상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 하는 테스트 방법.
  12. 제 11 항에 있어서,
    상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 하는 테스트 방법.
  13. 제 8 항에 있어서,
    상기 테스트 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 테스트용 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 하는 테스트 방법.
  14. 제 8 항에 있어서,
    상기 테스트 장치는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 테스트용 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 하는 테스트 방법.
  15. CNN(Convolutional Neural Network) 기반의 객체 검출기를 학습하는 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 적어도 하나의 객체를 포함하는 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하는 프로세스, (II) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 특징 맵 상에서 상기 k개의 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 ROI 각각에 대응되는 k개의 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 제2 특징 벡터를 각각 이용하여 상기 k개의 ROI 각각에 대응되는 각각의 클래스(Class) 정보와 각각의 리그레션(Regression) 정보를 출력하도록 하는 프로세스 및 (III) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 클래스 정보, 각각의 상기 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  16. 제 15 항에 있어서,
    상기 k개의 ROI는 상기 RPN에 의해 기설정된 ROI 후보 중에서 선택된 것이며,
    상기 (I) 프로세스 이후에,
    상기 프로세서는, 제2 로스 레이어로 하여금 상기 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 하는 학습 장치.
  17. 제 15 항에 있어서,
    상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 제3 특징 벡터를 이용하여 상기 k개의 ROI에 대응되는 각각의 상기 클래스 정보와 각각의 상기 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 학습 장치.
  18. 제 15 항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 하는 학습 장치.
  19. 제 18 항에 있어서,
    상기 프로세서는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 하는 학습 장치.
  20. 제 15 항에 있어서,
    상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 하는 학습 장치.
  21. 제 15 항에 있어서,
    상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 하는 학습 장치.
  22. CNN(Convolutional Neural Network) 기반의 객체 검출기를 테스트하는 테스트 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    학습 장치가, (1) 적어도 하나의 컨벌루션 레이어(Convolutional Layer)로 하여금 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 특징 맵을 출력하도록 하고, RPN(Region Proposal Network)으로 하여금 상기 학습용 특징 맵을 이용하여 상기 트레이닝 이미지 내의 k개의 ROI(Region Of Interest)를 출력하도록 하며, (2) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 학습용 특징 맵 상에서 상기 k개의 학습용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 k개의 학습용 ROI 각각에 대응되는 k개의 학습용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 제1 FC 레이어(Fully Connected Layer) 각각으로 하여금 해당 스케일 별로 k개의 상기 학습용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 k개의 학습용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 적어도 하나의 제2 FC 레이어로 하여금 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터를 각각 이용하여 상기 k개의 학습용 ROI 각각에 대응되는 각각의 학습용 클래스(Class) 정보와 각각의 학습용 리그레션(Regression) 정보를 출력하도록 하며, (3) 제1 로스 레이어(Loss Layer)로 하여금 각각의 상기 학습용 클래스 정보, 각각의 상기 학습용 리그레션 정보 및 이에 대응하는 제1 GT(Ground Truth)를 참조하여 상기 k개의 학습용 ROI에 대응되는 클래스 로스(Class Loss)와 리그레션 로스(Regression Loss)를 생성하도록 함으로써, 상기 클래스 로스와 상기 리그레션 로스를 이용한 백프로파게이션을 통해 상기 제2 FC 레이어, 상기 제1 FC 레이어 및 상기 컨벌루션 레이어를 학습한 상태에서, (I) (i) 상기 컨벌루션 레이어로 하여금 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 특징 맵을 출력하도록 하고, (ii) 상기 RPN으로 하여금 상기 테스트용 특징 맵을 이용하여 상기 테스트 이미지 내의 m개의 테스트용 ROI를 출력하도록 하는 프로세스, 및 (II) (i) 서로 다른 풀링 스케일(Pooling Scale)을 가지는 상기 풀링 레이어(Pooling Layer) 각각으로 하여금 해당 스케일 별로 상기 테스트용 특징 맵 상에서 상기 m개의 테스트용 ROI에 대응되는 각각의 영역을 풀링하도록 하여 해당 스케일 별로 상기 m개의 테스트용 ROI 각각에 대응되는 m개의 테스트용 제1 특징 벡터(Feature Vector) 각각을 출력하도록 하고, (ii) 각각의 상기 풀링 레이어에 대응되는 각각의 상기 제1 FC 레이어(Fully Connected Layer)로 하여금 해당 스케일 별로 m개의 상기 테스트용 제1 특징 벡터를 각각 이용하여 해당 스케일 별로 m개의 테스트용 제2 특징 벡터를 각각 출력하도록 하며, (iii) 상기 제2 FC 레이어로 하여금 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터를 각각 이용하여 상기 m개의 테스트용 ROI 각각에 대응되는 각각의 테스트용 클래스(Class) 정보와 각각의 테스트용 리그레션(Regression) 정보를 출력하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 테스트 장치.
  23. 제 22 항에 있어서,
    상기 k개의 학습용 ROI는 상기 RPN에 의해 기설정된 학습용 ROI 후보 중에서 선택된 것이며,
    상기 (1) 프로세스 이후에,
    상기 학습 장치는, 제2 로스 레이어로 하여금 상기 학습용 ROI 후보 및 그에 대응하는 제2 GT를 참조하여 ROI 로스를 생성하도록 함으로써, 상기 ROI 로스를 이용한 백프로파게이션을 통해 상기 RPN을 학습하도록 하는 것을 특징으로 하는 테스트 장치.
  24. 제 22 항에 있어서,
    상기 제2 FC 레이어는 제2_1 FC 레이어 및 제2_2 FC 레이어를 포함하며,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) 상기 제2_1 FC 레이어로 하여금 상기 제1 FC 레이어 각각에서 출력되는 해당 스케일 별로 m개의 상기 테스트용 제2 특징 벡터 각각을 컨캐터네이팅(Concatenating)하도록 하여 테스트용 제3 특징 벡터를 출력하도록 하며, (ii) 상기 제2_2 FC 레이어로 하여금 상기 테스트용 제3 특징 벡터를 이용하여 상기 m개의 테스트용 ROI에 대응되는 각각의 상기 테스트용 클래스 정보와 각각의 상기 테스트용 리그레션 정보를 출력하도록 하는 것을 특징으로 하는 테스트 장치.
  25. 제22 항에 있어서,
    상기 (3) 프로세스에서,
    상기 학습 장치는, 상기 제1 FC 레이어 각각으로부터 출력된 해당 스케일 별로 k개의 상기 학습용 제2 특징 벡터 각각에 대응되는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스의 적어도 일부를 이용하여 상기 제1 FC 레이어 각각을 학습하도록 하는 것을 특징으로 하는 테스트 장치.
  26. 제 25 항에 있어서,
    상기 학습 장치는, 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대하여 각각의 가중치를 적용하여 백프로파게이션을 통해 상기 제1 FC 레이어 각각을 학습하되, 각각의 상기 가중치는 각각의 상기 클래스 로스와 각각의 상기 리그레션 로스에 대한 각각의 상기 제1 FC 레이어의 기여도에 대한 정보를 참고로 하여 결정되는 것을 특징으로 하는 테스트 장치.
  27. 제 22 항에 있어서,
    상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 해당 스케일 별로 각각의 상기 테스트용 제2 특징 벡터의 채널 수가 서로 동일하게 되도록 하는 것을 특징으로 하는 테스트 장치.
  28. 제 22 항에 있어서,
    상기 프로세서는, 각각의 상기 제1 FC 레이어에서 출력되는 상기 테스트용 제2 특징 벡터의 총 채널 수가 기설정된 수 미만이 되도록 하는 것을 특징으로 하는 테스트 장치.
KR1020190119513A 2019-01-25 2019-09-27 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 KR102320995B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/258,248 2019-01-25
US16/258,248 US10402686B1 (en) 2019-01-25 2019-01-25 Learning method and learning device for object detector to be used for surveillance based on convolutional neural network capable of converting modes according to scales of objects, and testing method and testing device using the same

Publications (2)

Publication Number Publication Date
KR20200092848A KR20200092848A (ko) 2020-08-04
KR102320995B1 true KR102320995B1 (ko) 2021-11-03

Family

ID=67769938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190119513A KR102320995B1 (ko) 2019-01-25 2019-09-27 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치

Country Status (5)

Country Link
US (1) US10402686B1 (ko)
EP (1) EP3686807A3 (ko)
JP (1) JP6856904B2 (ko)
KR (1) KR102320995B1 (ko)
CN (1) CN111488786B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726303B1 (en) * 2019-01-30 2020-07-28 StradVision, Inc. Learning method and learning device for switching modes of autonomous vehicle based on on-device standalone prediction to thereby achieve safety of autonomous driving, and testing method and testing device using the same
CN110648322B (zh) * 2019-09-25 2023-08-15 杭州智团信息技术有限公司 一种子宫颈异常细胞检测方法及系统
CN112308156B (zh) * 2020-11-05 2022-05-03 电子科技大学 一种基于对抗学习的两阶段图像变化检测方法
CN114092813B (zh) * 2021-11-25 2022-08-05 中国科学院空天信息创新研究院 一种工业园区图像提取方法、系统、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007865B1 (en) 2017-10-16 2018-06-26 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using multi-scale feature maps and testing method and testing device using the same

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6413949B1 (en) * 1995-06-07 2002-07-02 D-Pharm, Ltd. Prodrugs with enhanced penetration into cells
US9665802B2 (en) * 2014-11-13 2017-05-30 Nec Corporation Object-centric fine-grained image classification
US20170124409A1 (en) * 2015-11-04 2017-05-04 Nec Laboratories America, Inc. Cascaded neural network with scale dependent pooling for object detection
US10303977B2 (en) * 2016-06-28 2019-05-28 Conduent Business Services, Llc System and method for expanding and training convolutional neural networks for large size input images
US10354159B2 (en) * 2016-09-06 2019-07-16 Carnegie Mellon University Methods and software for detecting objects in an image using a contextual multiscale fast region-based convolutional neural network
US10678846B2 (en) * 2017-03-10 2020-06-09 Xerox Corporation Instance-level image retrieval with a region proposal network
US10621725B2 (en) * 2017-04-12 2020-04-14 Here Global B.V. Small object detection from a large image
US9946960B1 (en) * 2017-10-13 2018-04-17 StradVision, Inc. Method for acquiring bounding box corresponding to an object in an image by using convolutional neural network including tracking network and computing device using the same
US10169679B1 (en) * 2017-10-13 2019-01-01 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using loss augmentation and testing method and testing device using the same
US9953437B1 (en) * 2017-10-18 2018-04-24 StradVision, Inc. Method and device for constructing a table including information on a pooling type and testing method and testing device using the same
CN108052881A (zh) * 2017-11-30 2018-05-18 华中科技大学 一种实时检测施工现场图像中多类实体对象的方法及设备
CN108416394B (zh) * 2018-03-22 2019-09-03 河南工业大学 基于卷积神经网络的多目标检测模型构建方法
JP6847424B2 (ja) * 2018-11-30 2021-03-24 株式会社ポコアポコネットワークス 検出装置、検出方法、コンピュータプログラム及び学習モデル

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007865B1 (en) 2017-10-16 2018-06-26 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using multi-scale feature maps and testing method and testing device using the same

Also Published As

Publication number Publication date
JP6856904B2 (ja) 2021-04-14
CN111488786B (zh) 2023-09-08
KR20200092848A (ko) 2020-08-04
EP3686807A2 (en) 2020-07-29
CN111488786A (zh) 2020-08-04
US10402686B1 (en) 2019-09-03
JP2020119520A (ja) 2020-08-06
EP3686807A3 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
KR102319541B1 (ko) 객체의 종횡비나 스케일에 따라 모드를 전환할 수 있는 r-cnn 기반의 감시에 사용되는 객체 검출기의 학습 방법 및 테스트 방법, 이를 이용한 학습 장치 및 테스트 장치
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR102296507B1 (ko) 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치
KR102326256B1 (ko) 고정밀도 이미지를 분석하는 딥러닝 네트워크의 학습에 이용하기 위한 트레이닝 이미지를 오토 라벨링하기 위한 방법 및 이를 이용한 오토 라벨링 장치
KR102280414B1 (ko) 고 정밀도로 이미지를 분석하기 위한 딥 러닝 네트워크를 사용하기 위해 트레이닝 이미지를 오토 라벨링하는 오토 라벨링 장치의 하이퍼파라미터를 최적화하는 방법 및 이를 이용한 최적화 장치
KR102338744B1 (ko) 타겟 객체 예측 네트워크 및 타겟 객체 통합 네트워크를 이용하여 핵심성과지표와 같은 사용자 요구 사항에 따른 최적화를 위해 재구성 가능한 네트워크 기반의 객체 검출기를 학습하는 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
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
KR102362744B1 (ko) 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법
KR102328734B1 (ko) 이미지를 분석하기 위해, 딥러닝 네트워크에 이용하기 위한 트레이닝 이미지에 대한 라벨링 신뢰도를 자동으로 평가하기 위한 방법 및 이를 이용한 신뢰도 평가 장치
KR102296509B1 (ko) 자율 주행 자동차의 레벨 4를 충족시키기 위해 영역의 클래스에 따라 모드를 전환하여 그리드 셀 별로 가중 컨벌루션 필터를 이용한 감시용 이미지 세그멘테이션 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102337367B1 (ko) 원거리 검출 또는 군사 목적을 위해, 이미지 컨캐터네이션을 이용한, cnn 기반의 하드웨어 최적화가 가능한 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스팅 방법 및 테스팅 장치
US10423860B1 (en) Learning method and learning device for object detector based on CNN to be used for multi-camera or surround view monitoring using image concatenation and target object merging network, and testing method and testing device using the same
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR20200047307A (ko) 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102373499B1 (ko) 자율 주행 네트워크의 검출 프로세스를 검증하는 설명 가능한 인공지능을 사용하여 운전자에게 잠재적 위험 상황에 대해 경고함으로써 기능적 안전성을 제공하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102301631B1 (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
KR102326238B1 (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
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
CN111476082A (zh) 在线批次归一化、在线学习及持续学习的方法和装置
KR102325025B1 (ko) 자율주행 차량 레벨4를 충족하기 위해 영역의 클래스에 따라 모드를 전환하기 위하여 그리드 생성기를 이용하는 뉴럴 네트워크 연산 방법 및 이를 이용한 장치
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
KR102313605B1 (ko) 자율주행 차량 레벨4를 충족하기 위해 영역의 클래스에 따라 모드를 전환하기 위하여 그리드 생성기를 이용하는 뉴럴 네트워크 연산 방법 및 이를 이용한 장치
KR102326278B1 (ko) 자율주행 차량 레벨4를 충족하기 위해 영역의 클래스에 따라 모드를 전환하기 위하여 그리드 생성기를 이용하는 뉴럴 네트워크 연산 방법 및 이를 이용한 장치

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