KR20200047303A - 장애물의 하단 라인을 기준으로 roi를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

장애물의 하단 라인을 기준으로 roi를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
KR20200047303A
KR20200047303A KR1020190105481A KR20190105481A KR20200047303A KR 20200047303 A KR20200047303 A KR 20200047303A KR 1020190105481 A KR1020190105481 A KR 1020190105481A KR 20190105481 A KR20190105481 A KR 20190105481A KR 20200047303 A KR20200047303 A KR 20200047303A
Authority
KR
South Korea
Prior art keywords
learning
feature map
test
rows
column
Prior art date
Application number
KR1020190105481A
Other languages
English (en)
Other versions
KR102280401B1 (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 KR20200047303A publication Critical patent/KR20200047303A/ko
Application granted granted Critical
Publication of KR102280401B1 publication Critical patent/KR102280401B1/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/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/00805
    • G06K9/3233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • 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/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • 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/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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

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

Abstract

본 발명에 따르면, 입력 이미지 내의 근접 장애물의 하단 라인을 기초로 결정된 ROI를 검출할 수 있는 CNN의 파라미터를 학습하기 위한 방법에 있어서, 제1 내지 제n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 제1 내지 제n 인코디드 피처 맵을 생성하도록 하는 단계; 제n 내지 제1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로 제n 내지 제1 디코디드 피처 맵을 생성하도록 하는 단계; 특정 디코디드 피처 맵이 행과 열 방향으로 구획된 경우, 제n 내지 제1 디코디드 피처 맵을 참조로 하여 장애물 세그멘테이션 결과를 생성하고; RPN(Region Proposal Network)으로 하여금 각각의 앵커 박스를 참조로 하여 ROI 바운딩 박스를 생성하고, 상기 ROI 바운딩 박스와 이에 대응하는 GT 이미지를 참조로 하여 로스를 생성하는 단계; 및 상기 로스를 백프로파게이션하여 상기 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 하는 방법이 제공된다.

Description

장애물의 하단 라인을 기준으로 ROI를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치{LEARNING METHOD, LEARNING DEVICE FOR DETECTING ROI ON THE BASIS OF BOTTOM LINES OF OBSTACLES AND TESTING METHOD, TESTING DEVICE USING THE SAME}
본 발명은 적어도 하나의 입력 이미지에서 적어도 하나의 근접 장애물의 적어도 하나의 하단 라인(bottom line)을 기준으로 적어도 하나의 ROI(Region of Interest)를 검출하기 위한 CNN(convolutional Neural Network)의 파라미터를 학습하는 방법에 관한 것으로; 보다 상세하게는, 상기 입력 이미지에서 상기 근접 장애물의 상기 하단 라인을 기준으로 상기 ROI를 검출하기 위한 상기 CNN의 상기 파라미터를 학습하는 상기 방법에 있어서, (a) 제1 컨벌루션 레이어 내지 제 n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 순차적으로 제 1 인코디드 피처 맵 내지 제 n 인코디드 피처 맵을 각각 생성하도록 하는 단계; (b) 제n 디컨벌루션 레이어 내지 제 1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제 n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 하는 단계; (c) 상기 제 n 디코디드 피처 맵 내지 상기 제 1 디코디드 피처 맵 중 적어도 하나의 특정 디코디드 피처 맵을 그의 행(row)방향인 제1방향 및 그의 열(column)방향인 제 2방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 특정 행 각각을 나타내는 적어도 하나의 장애물 세그멘테이션 결과를 생성하는 단계; (d) 상기 특정 행 각각을 기초로 추정되는 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출에 사용될 앵커 박스(anchor box)를 생성하기 위한 각각의 기초로서의 상기 열 별 앵커 각각을 결정하는 단계; (e) RPN(Region Proposal Network)으로 하여금, (i) 상기 앵커 박스 각각을 참조로 적어도 하나의 ROI 바운딩 박스(bounding box)를 생성하도록 하되, 상기 앵커 박스 중 적어도 하나는 상기 앵커 각각을 기초로 추정되며, (ii) 상기 ROI 바운딩 박스 및 그에 대응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 ROI 바운딩 박스는 상기 앵커 박스 중, 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스이며, 상기 제1 GT 이미지는 상기 입력 이미지 내의 상기 특정 객체를 실제로 포함하는 바운딩 박스를 나타내는 단계; 및 (f) 상기 제1 로스를 백프로파게이션 (backpropagation)하여 상기 CNN의 상기 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 하는 방법 및 이를 이용한 학습 장치, 테스트 방법 및 테스트 장치에 관한 것이다.
딥러닝은 사물이나 데이터를 군집화하거나 분류하는데 사용하는 기술이다. 예를 들어 컴퓨터는 사진만으로 개와 고양이를 구분하지 못한다. 하지만 사람은 아주 쉽게 구분할 수 있다. 이를 위해 '기계학습(Machine Learning)'이라는 방법이 고안됐다. 많은 데이터를 컴퓨터에 입력하고 비슷한 것끼리 분류하도록 하는 기술이다. 저장된 개 사진과 비슷한 사진이 입력되면, 이를 개 사진이라고 컴퓨터가 분류하도록 한 것이다.
데이터를 어떻게 분류할 것인가를 놓고 이미 많은 기계학습 알고리즘이 등장했다. '의사결정나무'나 '베이지안망', '서포트벡터머신(SVM)', '인공신경망' 등이 대표적이다. 이 중 딥러닝은 인공신경망의 후예다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolution Neural Networks; Deep CNN)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNNs은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 머신 러닝(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
도 1은 기존의 CNN을 이용한 일반적인 세그멘테이션의 기존 프로세스를 간략하게 나타낸 도이다.
도 1을 참조하면, 기존의 차선 검출 방법에서는, 학습 장치가, 입력 이미지를 입력 받아, 복수 개의 컨벌루션 레이어에서 여러 번의 컨벌루션 연산과 ReLU 등의 비선형 연산을 수행하여 피처 맵을 생성하고 디컨벌루션 레이어에서 여러 번의 디컨벌루션 연산과 상기 피처 맵의 마지막 맵에서 소프트맥스(SoftMax) 연산을 수행함으로써 세그멘테이션 결과를 생성한다.
한편, 기존의 도로 세그멘테이션 방법에서는 상기 입력 이미지에서 모든 픽셀을 세그멘테이션 하고, 모든 픽셀을 보고 이 픽셀이 도로에 해당하는 픽셀인지 도로에 해당하지 않는 픽셀인지를 구분해야 했다. 이와 같은 방법에서는 모든 픽셀에 대해 판단을 진행하기 때문에 연산량이 많다는 문제점이 존재한다.
한편, 자동차의 자율 주행을 위해서 상기 도로 세그멘테이션을 할 때는 상기 입력 이미지에서 모든 물체나 차선 위의 모든 물체를 세그멘테이션 할 필요는 없고, 자율 주행에 방해가 되는 장애물만 검출하면 충분하다.
따라서 입력 이미지에서 도로 주행에 방해가 될 가능성이 있는 장애물(obstacle)만을 검출하는 새로운 방법의 제시가 요구되고 있다.
아울러, 도로 주행에 방해가 될 가능성이 있는 장애물에 대한 검출 방법을 통해 RPN 계산 시에도 연산량을 줄여 상기 물체의 바운딩 박스를 찾을 수 있는 방법의 제시가 요구되고 있다.
본 발명은 자동차의 자율 주행을 위해 도로 주행에 방해가 될 가능성이 있는 근접 장애물을 검출하는 새로운 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 입력 이미지 내의 모든 픽셀을 검토하지 않고, 적은 연산량으로 근접 장애물의 위치만을 빠르게 파악하고 이를 기초로 물체의 바운딩 박스를 간편하게 찾을 수 있는 방법을 제시하는 것을 목적으로 한다.
또한 본 발명은 RPN(region proposal network)의 연산량을 줄이는 방법을 제시하는 것을 목적으로 한다.
본 발명의 일 태양에 따르면, 적어도 하나의 입력 이미지에서 적어도 하나의 근접 장애물의 적어도 하나의 하단 라인(bottom line)을 기준으로 적어도 하나의 ROI(Region of Interest)를 검출하기 위한 CNN(convolutional Neural Network)의 파라미터를 학습하는 방법은, (a) 학습 장치가, 제1 컨벌루션 레이어 내지 제 n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 순차적으로 제 1 인코디드 피처 맵 내지 제 n 인코디드 피처 맵을 각각 생성하도록 하는 단계; (b) 상기 학습 장치가, 제n 디컨벌루션 레이어 내지 제 1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제 n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 하는 단계; (c) 상기 제 n 디코디드 피처 맵 내지 상기 제 1 디코디드 피처 맵 중 적어도 하나의 특정 디코디드 피처 맵을 그의 행(row)방향인 제1방향 및 그의 열(column)방향인 제 2방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습 장치는, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 특정 행 각각을 나타내는 적어도 하나의 장애물 세그멘테이션 결과를 생성하는 단계; (d) 상기 학습 장치가, 상기 특정 행 각각을 기초로 추정되는 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출에 사용될 앵커 박스(anchor box)를 생성하기 위한 각각의 기초로서의 상기 열 별 앵커 각각을 결정하는 단계; (e) 상기 학습 장치가, RPN(Region Proposal Network)으로 하여금, (i) 상기 앵커 박스 각각을 참조로 적어도 하나의 ROI 바운딩 박스(bounding box)를 생성하도록 하되, 상기 앵커 박스 중 적어도 하나는 상기 앵커 각각을 기초로 추정되며, (ii) 상기 ROI 바운딩 박스 및 그에 대응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 ROI 바운딩 박스는 상기 앵커 박스 중, 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스이며, 상기 제1 GT 이미지는 상기 입력 이미지 내의 상기 특정 객체를 실제로 포함하는 바운딩 박스를 나타내는 단계; 및 (f) 상기 학습 장치는, 상기 제1 로스를 백프로파게이션(backpropagation)하여 상기 CNN의 상기 파라미터를 학습하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계는, (c1) 상기 그리드의 각 셀이 상기 적어도 하나의 디코디드 피처 맵을 상기 제1방향으로 제1간격씩 구획하고 상기 제2방향으로 제2간격씩 구획함으로써 생성된다고 할 때, 상기 학습 장치는, 상기 각각의 열 마다 상기 행 각각의 피처 각각을 채널방향으로 컨캐터네이팅(concatenating)하여 적어도 하나의 수정된 피처 맵을 생성하는 단계; 및 (c2) 상기 학습 장치는, 상기 수정된 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅된 채널들에서의 각각의 상기 근접 장애물의 상기 하단 라인 각각에 대한 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 장애물 세그멘테이션 결과를 생성하되, 상기 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징(normalizing)하는 소프트맥스 연산에 의해 생성되는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계는, (c3) 상기 학습 장치는, (i) 적어도 하나의 제 2 GT 이미지 상에 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 실제 행이 표시될 경우, 상기 실제 행 각각의 위치 및 (ii) 상기 장애물 세그멘테이션 결과 상에서 상기 근접 장애물의 각각의 상기 하단 라인 각각이 상기 열 별로 위치하는 것으로 추정되는 상기 특정 행 각각의 위치를 참조해, 적어도 하나의 제 2 로스를 생성하는 단계를 포함하고, 상기 (f) 단계에서, 상기 학습장치는 상기 제1 로스 및 상기 제2 로스를 백프로파게이션하여 상기 CNN의 상기 파라미터를 학습하는 것을 특징으로 한다.
일 실시예에서, 상기 (e) 단계에서, 상기 앵커 박스 중에서 적어도 하나의 (i) 스케일(scale) 및 (ii) 종횡비(aspect ratio) 중 적어도 하나를 참고하여 상기 앵커 각각의 복수 개의 서로 다른 앵커 박스를 설정하는 것을 특징으로 한다.
일 실시예에서, 상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 GT 이미지는, 상기 입력 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 장애물 세그멘테이션 결과는, 상기 입력 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 열 각각에 대해 상기 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중에서, 상기 각각의 열 마다 상기 각각의 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 대응하는 가장 큰 값을 가지고, 나머지 행에 있는 위치는 작은 값을 갖도록 상기 장애물 세그멘테이션 결과 값이 생성되는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 적어도 하나의 테스트 이미지에서 적어도 하나의 테스트용 근접 장애물의 적어도 하나의 하단 라인을 기준으로 적어도 하나의 테스트용 ROI를 검출하기 위한 CNN을 테스트하는 방법에 있어서, (a) (1) 제1 컨벌루션 레이어 내지 제n 컨벌루션 레이어로 하여금 적어도 하나의 트레이닝 이미지로부터 순차적으로 학습용 제1 인코디드 피처 맵 내지 학습용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (2) 제n 디컨벌루션 레이어 내지 제1 디컨벌루션 레이어로 하여금 상기 학습용 제n 인코디드 피처 맵으로부터 순차적으로 학습용 제n 디코디드 피처 맵 내지 학습용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (3) 상기 학습용 제 n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 하나의 특정 학습용 디코디드 피처 맵을 그의 행 방향인 제1 방향 및 그의 열 방향을 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습용 제n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 적어도 하나의 학습용 근접 장애물 각각의 하단 라인 각각이 위치하는 것으로 추정되는 학습용 특정 행 각각을 나타내는 적어도 하나의 학습용 장애물 세그멘테이션 결과를 생성하도록 하는 프로세스, (4) 상기 학습용 특정 행 각각을 기초로 추정되는 학습용 앵커링 행 각각의 픽셀 중, 각각의 상기 학습용 ROI 검출에 사용될 학습용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 학습용 앵커 각각을 결정하는 프로세스, (5) RPN(Region Proposal Network)으로 하여금, (i) 상기 학습용 앵커 박스 각각을 참조로 적어도 하나의 학습용 ROI 바운딩 박스를 생성하도록 하되, 상기 학습용 앵커 박스 중 적어도 하나는 상기 학습용 앵커 각각을 기초로 추정되며, (ii) 상기 학습용ROI 바운딩 박스 및 그에 상응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 학습용 ROI 바운딩 박스는 상기 학습용 앵커 박스 중, 학습용 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 학습용 앵커 박스이며, 상기 제1 GT 이미지는 상기 트레이닝 이미지 내의 상기 학습용 특정 객체를 실제로 포함하는 학습용 바운딩 박스를 나타내는 프로세스, 및 (6) 상기 제1 로스를 백프로파게이션하여 상기 CNN의 파라미터를 학습하는 프로세스를 학습 장치가 수행한 상태에서, 테스트 장치가 상기 테스트 이미지를 획득하는 단계; (b) 상기 테스트 장치가, 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 테스트 이미지로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵을 각각 생성하도록 하는 단계; (c) 상기 테스트 장치가, 상기 제n 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어로 하여금 상기 테스트용 제n 인코디드 피처 맵으로부터 순차적으로 테스트용 제n 디코디드 피처 맵 내지 테스트용 제1 디코디드 피처 맵을 생성하도록 하는 단계; (d) 상기 테스트용 제 n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 그의 행 방향인 제1 방향, 그의 열 방향인 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 테스트 장치는, 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 테스트용 특정 행 각각을 나타내는 적어도 하나의 테스트용 장애물 세그멘테이션 결과를 생성하는 단계; (e) 상기 테스트 장치가, 상기 테스트용 특정 행 각각을 기초로 추정되는 테스트용 앵커링 행 각각의 픽셀 중, 각각의 테스트용 ROI 검출에 사용될 테스트용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 테스트용 앵커 각각을 결정하는 단계; 및 (f) 상기 테스트 장치가, 상기 RPN으로 하여금, 상기 테스트용 앵커 박스 각각을 참조로 적어도 하나의 테스트용 ROI 바운딩 박스를 생성하도록 하되, 상기 테스트용 앵커 박스 중 적어도 하나는 상기 테스트용 앵커 각각을 기초로 추정되는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계는, (d1) 상기 그리드의 각 셀이 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 상기 제1 방향으로 제1 간격씩 구획하고 상기 제2 방향으로 제2 간격씩 구획함으로써 생성된다고 할 때, 상기 테스트 장치가, 상기 각각의 열 마다 상기 행 각각의 테스트용 피처 각각을 채널 방향으로 컨캐터네이팅하여 적어도 하나의 수정된 테스트용 피처 맵을 생성하는 단계; 및 (d2) 상기 테스트 장치가, 상기 수정된 테스트용 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅한 채널들에서의 각각의 상기 테스트용 근접 장애물의 상기 하단 라인 각각에 대한 각각의 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 테스트용 장애물 세그멘테이션 결과를 생성하되, 상기 테스트용 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징하는 소프트맥스 연산에 의해 생성되는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (f) 단계에서, 상기 테스트용 앵커 박스 중에서 적어도 하나의 (i) 스케일 및 (ii) 종횡비 중 적어도 하나를 참고하여 상기 테스트용 앵커 각각의 복수 개의 서로 다른 테스트용 앵커 박스를 설정하는 것을 특징으로 한다.
일 실시예에서, 상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 GT 이미지는, 상기 트레이닝 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 학습용 장애물 세그멘테이션 결과는, 상기 트레이닝 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하고, 상기 (d) 단계에서, 상기 테스트 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 각각에 대해 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중 상기 각각의 테스트용 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 상기 열 별로 대응하는 가장 큰 값을 가지고 나머지 행에 있는 위치는 작은 값을 갖도록 상기 테스트용 장애물 세그멘테이션 결과 값이 생성되는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 적어도 하나의 입력 이미지에서 적어도 하나의 근접 장애물의 적어도 하나의 하단 라인(bottom line)을 기준으로 적어도 하나의 ROI(Region of Interest)를 검출하기 위한 CNN(convolutional Neural Network)의 파라미터를 학습하는 학습 장치에 있어서, 상기 입력 이미지를 획득하는 통신부; 및 (I) 제1 컨벌루션 레이어 내지 제 n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 순차적으로 제 1 인코디드 피처 맵 내지 제 n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (II) 제n 디컨벌루션 레이어 내지 제 1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제 n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (III) 상기 제 n 디코디드 피처 맵 내지 상기 제 1 디코디드 피처 맵 중 적어도 하나의 특정 디코디드 피처 맵을 그의 행(row)방향인 제1방향 및 그의 열(column)방향인 제 2방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 특정 행 각각을 나타내는 적어도 하나의 장애물 세그멘테이션 결과를 생성하는 프로세스, (IV) 상기 특정 행 각각을 기초로 추정되는 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출에 사용될 앵커 박스(anchor box)를 생성하기 위한 각각의 기초로서의 상기 열 별 앵커 각각을 결정하는 프로세스, (V) RPN(Region Proposal Network)으로 하여금, (i) 상기 앵커 박스 각각을 참조로 적어도 하나의 ROI 바운딩 박스(bounding box)를 생성하도록 하되, 상기 앵커 박스 중 적어도 하나는 상기 앵커 각각을 기초로 추정되며, (ii) 상기 ROI 바운딩 박스 및 그에 대응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 ROI 바운딩 박스는 상기 앵커 박스 중, 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스이며, 상기 제1 GT 이미지는 상기 입력 이미지 내의 상기 특정 객체를 실제로 포함하는 바운딩 박스를 나타내는 프로세스, 및 (VI) 상기 제1 로스를 백프로파게이션 (backpropagation)하여 상기 CNN의 상기 파라미터를 학습하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스는, (III-1) 상기 그리드의 각 셀이 상기 적어도 하나의 디코디드 피처 맵을 상기 제1방향으로 제1간격씩 구획하고 상기 제2방향으로 제2간격씩 구획함으로써 생성된다고 할 때, 상기 각각의 열 마다 상기 행 각각의 피처 각각을 채널방향으로 컨캐터네이팅(concatenating)하여 적어도 하나의 수정된 피처 맵을 생성하는 프로세스; 및 (III-2) 상기 수정된 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅된 채널들에서의 각각의 상기 근접 장애물의 상기 하단 라인 각각에 대한 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 장애물 세그멘테이션 결과를 생성하되, 상기 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징(normalizing)하는 소프트맥스 연산에 의해 생성되는 프로세스;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스는, (III-3) (i) 적어도 하나의 제 2 GT 이미지 상에 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 실제 행이 표시될 경우, 상기 실제 행 각각의 위치 및 (ii) 상기 장애물 세그멘테이션 결과 상에서 상기 근접 장애물의 각각의 상기 하단 라인 각각이 상기 열 별로 위치하는 것으로 추정되는 상기 특정 행 각각의 위치를 참조해, 적어도 하나의 제 2 로스를 생성하는 프로세스;를 포함하고, 상기 (VI) 프로세스에서, 상기 프로세서는 상기 제1 로스 및 상기 제2 로스를 백프로파게이션하여 상기 CNN의 상기 파라미터를 학습하는 것을 특징으로 한다.
일 실시예에서, 상기 (V) 프로세스에서, 상기 앵커 박스 중에서 적어도 하나의 (i) 스케일(scale) 및 (ii) 종횡비(aspect ratio) 중 적어도 하나를 참고하여 상기 앵커 각각의 복수 개의 서로 다른 앵커 박스를 설정하는 것을 특징으로 한다.
일 실시예에서, 상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 GT 이미지는, 상기 입력 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 장애물 세그멘테이션 결과는, 상기 입력 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 열 각각에 대해 상기 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중에서, 상기 각각의 열 마다 상기 각각의 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 대응하는 가장 큰 값을 가지고, 나머지 행에 있는 위치는 작은 값을 갖도록 상기 장애물 세그멘테이션 결과 값을 생성하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 적어도 하나의 테스트 이미지에서 적어도 하나의 테스트용 근접 장애물의 적어도 하나의 하단 라인을 기준으로 적어도 하나의 테스트용 ROI를 검출하기 위한 CNN을 테스트하는 테스트 장치에 있어서, (1) 제1 컨벌루션 레이어 내지 제n 컨벌루션 레이어로 하여금 적어도 하나의 트레이닝 이미지로부터 순차적으로 학습용 제1 인코디드 피처 맵 내지 학습용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (2) 제n 디컨벌루션 레이어 내지 제1 디컨벌루션 레이어로 하여금 상기 학습용 제n 인코디드 피처 맵으로부터 순차적으로 학습용 제n 디코디드 피처 맵 내지 학습용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (3) 상기 학습용 제 n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 하나의 특정 학습용 디코디드 피처 맵을 그의 행 방향인 제1 방향 및 그의 열 방향을 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습용 제n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 적어도 하나의 학습용 근접 장애물 각각의 하단 라인 각각이 위치하는 것으로 추정되는 학습용 특정 행 각각을 나타내는 적어도 하나의 학습용 장애물 세그멘테이션 결과를 생성하도록 하는 프로세스, (4) 상기 학습용 특정 행 각각을 기초로 추정되는 학습용 앵커링 행 각각의 픽셀 중, 각각의 상기 학습용 ROI 검출에 사용될 학습용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 학습용 앵커 각각을 결정하는 프로세스, (5) RPN(Region Proposal Network)으로 하여금, (i) 상기 학습용 앵커 박스 각각을 참조로 적어도 하나의 학습용 ROI 바운딩 박스를 생성하도록 하되, 상기 학습용 앵커 박스 중 적어도 하나는 상기 학습용 앵커 각각을 기초로 추정되며, (ii) 상기 학습용 ROI 바운딩 박스 및 그에 상응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 학습용 ROI 바운딩 박스는 상기 학습용 앵커 박스 중, 학습용 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 학습용 앵커 박스이며, 상기 제1 GT 이미지는 상기 트레이닝 이미지 내의 상기 학습용 특정 객체를 실제로 포함하는 학습용 바운딩 박스를 나타내는 프로세스, 및 (6) 상기 제1 로스를 백프로파게이션하여 상기 CNN의 파라미터를 학습하는 프로세스를 학습 장치가 수행한 상태에서, 상기 테스트 이미지를 획득하는 통신부; 및 (I) 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 테스트 이미지로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (II) 상기 제n 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어로 하여금 상기 테스트용 제n 인코디드 피처 맵으로부터 순차적으로 테스트용 제n 디코디드 피처 맵 내지 테스트용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (III) 상기 테스트용 제 n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 그의 행 방향인 제1 방향, 그의 열 방향인 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 테스트용 특정 행 각각을 나타내는 적어도 하나의 테스트용 장애물 세그멘테이션 결과를 생성하는 프로세스, (IV) 상기 테스트용 특정 행 각각을 기초로 추정되는 테스트용 앵커링 행 각각의 픽셀 중, 각각의 테스트용 ROI 검출에 사용될 테스트용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 테스트용 앵커 각각을 결정하는 프로세스, 및 (V) 상기 RPN으로 하여금, 상기 테스트용 앵커 박스 각각을 참조로 적어도 하나의 테스트용 ROI 바운딩 박스를 생성하도록 하되, 상기 테스트용 앵커 박스 중 적어도 하나는 상기 테스트용 앵커 각각을 기초로 추정되는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하는 테스트 장치가 제공된다.
일 실시예에서, 상기 (III) 프로세스는, (III-1) 상기 그리드의 각 셀이 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 상기 제1 방향으로 제1 간격씩 구획하고 상기 제2 방향으로 제2 간격씩 구획함으로써 생성된다고 할 때, 상기 각각의 열 마다 상기 행 각각의 테스트용 피처 각각을 채널 방향으로 컨캐터네이팅하여 적어도 하나의 수정된 테스트용 피처 맵을 생성하는 프로세스; 및 (III-2) 상기 수정된 테스트용 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅한 채널들에서의 각각의 상기 테스트용 근접 장애물의 상기 하단 라인 각각에 대한 각각의 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 테스트용 장애물 세그멘테이션 결과를 생성하되, 상기 테스트용 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징하는 소프트맥스 연산에 의해 생성되는 프로세스;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (V) 프로세스에서, 상기 테스트용 앵커 박스 중에서 적어도 하나의 (i) 스케일 및 (ii) 종횡비 중 적어도 하나를 참고하여 상기 테스트용 앵커 각각의 복수 개의 서로 다른 테스트용 앵커 박스를 설정하는 것을 특징으로 한다.
일 실시예에서, 상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 GT 이미지는, 상기 트레이닝 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 학습용 장애물 세그멘테이션 결과는, 상기 트레이닝 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하고, 상기 (III) 프로세스에서, 상기 테스트 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 각각에 대해 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중 상기 각각의 테스트용 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 상기 열 별로 대응하는 가장 큰 값을 가지고 나머지 행에 있는 위치는 작은 값을 갖도록 상기 테스트용 장애물 세그멘테이션 결과 값을 생성하는 것을 특징으로 한다.
본 발명에 따르면, 입력 이미지를 소정의 간격으로 나눔으로써 생성된 그리드 상에서 열마다 어떤 행에 근접 장애물이 있는지를 검출하여 자율 주행 시 자동차가 갈 수 있는 경로를 쉽게 파악할 수 있는 효과가 있다.
또한 본 발명에 따르면, 상기 입력 이미지 내의 모든 픽셀을 검토하지 않고도, 적은 연산량으로 상기 근접 장애물만을 쉽게 검출할 수 있다.
또한 본 발명은 상기 근접 장애물 검출을 위한 새로운 방법을 상기 근접 장애물의 상기 하단 라인 검출에 적용할 수 있고, 상기 객체의 상기 하단 라인의 주변 영역에 대해서만 상기 RPN 연산을 수행하여 상기 ROI 검출 연산량을 크게 줄일 수 있는 효과가 있다.
도 1은 기존의 CNN을 이용해 일반적인 세그멘테이션 프로세스를 간략하게 나타낸 도이다.
도 2는 본 발명에 따른 근접 장애물 검출을 위한 CNN 학습 방법을 나타낸 흐름도이다.
도 3은 본 발명에 따른 상기 근접 장애물 검출을 위한 CNN 학습 방법을 설명하기 위해 입력 이미지의 연산 프로세스를 예시적으로 나타낸다.
도 4는 본 발명에 따른 상기 근접 장애물 검출을 위한 수정(reshaping) 프로세스를 간략하게 나타낸 도이다.
도 5는 본 발명에 따른 상기 근접 장애물 검출을 위한 상기 입력 이미지 및 이에 대응하는 GT 이미지를 예시적으로 나타낸다.
도 6은 본 발명에 따른 근접 장애물 검출을 위한 CNN 테스트 방법을 설명하기 위해 상기 입력 이미지의 연산 프로세스를 예시적으로 나타낸다.
도 7a 기존의 물체 검출 결과를 간략하게 나타내며, 도 7b와 도 7c는 본 발명에 따른 물체 검출 결과를 간략하게 나타낸다.
도 8은 본 발명에 따른 적어도 하나의 ROI 검출 방법을 나타낸 흐름도이다.
도 9a는 기존의 RPN을 이용하는 프로세스를 간략하게 나타내며 도 9b는 본 발명에 따라 상기 RPN을 이용하는 프로세스를 간략하게 나타낸다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 분류될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 발명은 빠르면서 적은 연산을 통해 고해상도의 이미지에서 근접 장애물을 검출할 수 있는 알고리즘을 개발하여 제시된 기술이다. 본 발명의 기술에 따른 상기 근접 장애물 검출 방법은 입력 이미지에서 도로와 적어도 하나의 장애물 사이의 경계를 찾는 것을 목표로 한다. 이를 위해 상기 입력 이미지의 행 방향을 제1 방향, 열 방향을 제2 방향이라고 할 때, 상기 제1 방향을 제1 간격으로 구획하여 복수의 열을 형성하고 상기 제2 방향을 제2 간격으로 구획하여 복수의 행을 형성한 결과, 그리드를 생성할 수 있다. 상기 열 각각을 이에 해당하는 상기 그리드의 가장 낮은 셀에서 시작하여 상기 제2 방향으로 확인함으로써 상기 근접 장애물이 각각 존재한다고 추정되는 상기 열 각각에 대하여 특정 행의 정보를 이용하여 상기 근접 장애물의 도로상의 위치를 검출하는 것이라 할 수 있을 것이다. 또한 본 발명은 (i) 고해상도 정보를 이용하는 멀티로스(Multi-loss) 학습 프로세스 및 (ii) 저해상도 피처만 이용하는 테스트 프로세스를 통해 연산량을 줄일 수 있도록 한다.
도 2는 본 발명에 따른 상기 근접 장애물 검출을 위한 CNN의 학습 방법을 나타낸 흐름도이다. 도 3은 본 발명에 따른 상기 근접 장애물 검출을 위한 상기 CNN의 상기 학습 방법을 설명하기 위해 상기 입력 이미지의 연산 프로세스를 예시적으로 나타낸다.
도 2 및 도 3을 참조하여, 본 발명에 따른 상기 근접 장애물 검출을 위한 상기 CNN의 상기 학습 방법을 구체적으로 설명하면 다음과 같다.
본 발명에 따른 상기 근접 장애물 검출 프로세스는, 적어도 하나의 입력 이미지로부터 인코디드 피처 맵 및 디코디드 피처 맵을 생성하는 단계(S01)로 시작된다. 상기 S01 단계에서는 포함하는 학습 장치가 트레이닝 이미지로서 상기 입력 이미지를 수신하면, 상기 학습 장치는 제1 내지 제n 컨벌루션 레이어로 하여금 상기 트레이닝 이미지로부터 순차적으로 제1 인코디드 피처 맵 내지 제n 인코디드 피처 맵을 각각 생성하도록 한다. 여기서, 상기 제1 내지 제n 컨벌루션 레이어는 상기 근접 장애물 검출용 상기 CNN에 포함된다. 그리고, 상기 근접 장애물 검출용 상기 CNN은 상기 제1 내지 제n 컨벌루션 레이어에 대응하는 제n 내지 제1 디컨벌루션 레이어를 포함하는데, 상기 학습 장치는 상기 제n 내지 제1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 한다.
예를 들어 도 3을 참조하면, 상기 근접 장애물 검출용 상기 CNN은 상기 제1 컨벌루션 레이어 내지 제5 컨벌루션 레이어(11 내지 15)와 제5 디컨벌루션 내지 상기 제1 디컨벌루션 레이어(16 내지 20)를 포함할 수 있으며, 상기 학습 장치는 3ch, 640×256 사이즈의 상기 트레이닝 이미지(100)를 수신할 수 있다. 이 입력 이미지는 상기 제1 컨벌루션 레이어(11)에 입력되어 8ch, 320×128 사이즈의 상기 제1 인코디드 피처 맵(110)이 생성되며, 제2 컨벌루션 레이어(12)에 입력되어, 16ch, 160×64 사이즈의 제2 인코디드 피처 맵(120)이 생성되며, 제3 컨벌루션 레이어(13)에 입력되어, 32ch, 80×32 사이즈의 제3 인코디드 피처 맵(130)이 생성되며, 제4 컨벌루션 레이어(14)에 입력되어, 64ch, 40×16 사이즈의 제4 인코디드 피처 맵(140)이 생성되며, 제5 컨벌루션 레이어(15)에 입력되어, 128ch, 20×8 사이즈의 제5 인코디드 피처 맵(150)이 생성된다.
이와 같이, 상기 컨벌루션 레이어는 상기 입력 이미지 또는 피처 맵의 채널은 늘리고, 가로 및 세로 사이즈는 줄여 상기 인코디드 피처 맵을 생성하는 기능을 한다. 가령, 상기 제2 컨벌루션 레이어(12) 내지 상기 제5 컨벌루션 레이어(15)는 상기 입력되는 피처 맵 의 상기 채널은 2배로 늘리고 가로 및 세로 사이즈는 각각 1/2로 줄여 상기 인코디드 피처 맵을 생성한다.
한편, 상기 학습 장치는 상기 제n 컨벌루션 레이어에 대응하는 상기 제n 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵의 가로 사이즈를 소정 배수로 늘려 상기 제n 디코디드 피처 맵을 생성한다. 예를 들어, 도 3에 도시된 예에서, 상기 학습 장치는, 상기 제5 디컨벌루션 레이어(16)으로 하여금, 128ch, 20×8 사이즈의 상기 제5 인코디드 피처 맵(150)으로부터, 64ch, 40×8 사이즈의 제5 디코디드 피처 맵(160)을 생성하게 한다.
일반적으로 디컨벌루션 레이어는 채널수는 줄이고, 가로 및 세로 사이즈는 늘리지만, 본 발명에 따른 상기 제n 디컨벌루션 레이어는 상기 제n 인코디드 피처 맵의 채널을 줄이고, 상기 가로 사이즈를 소정 배수 (예를 들어 2배)로 늘리지만, 상기 피처 맵의 상기 세로 사이즈는 변경시키지 않을 수 있다. 그 이유는 상술한 바와 같이 본 발명은 상기 그리드의 상기 열 중에서 어느 위치가 가장 높은 스코어를 가지는가를 구별하는 것으로 충분하기 때문이다. 즉, 본 발명에서는 기존 세그멘테이션과 달리 모든 픽셀을 확인할 필요가 없고 상기 세로 사이즈를 늘릴 필요도 없다. 본 발명에서 제안한 방법은 입력과 출력의 가로 해상도가 동일한 효과가 있어, 기존의 가로 해상도가 낮아지는 문제가 없다. 세로 해상도도 높으면 더욱 좋겠지만, 그렇게 되면 높은 연산량이 필요하다는 문제가 있다. 따라서 본 발명에서는 적은 연산량으로 상기 근접 장애물 검출을 하기 위해 상기 가로 해상도만 증가시키는 방법을 제시하는 것이다. 이를 위해, 상술한 바와 같이, 상기 제n 디컨벌루션 레이어는 상기 제n 인코디드 피처 맵의 상기 채널 수를 줄이고, 상기 가로 사이즈만 소정 배수 (예를 들어 2배)로 늘리지만, 상기 세로 사이즈는 변경시키지 않는 것이다.
다시, 도 3에 도시된 디코딩 프로세스를 살펴보면, 상기 학습 장치는 상기 제4 디컨벌루션 레이어(17)로 하여금 64ch, 40×8 사이즈의 상기 제5 디코디드 피처 맵(160)으로부터 32ch, 80×16 사이즈의 상기 제4 디코디드 피처 맵(170)을 생성하도록 하고, 상기 제3 디컨벌루션 레이어(18)로 하여금 32ch, 80×16 사이즈의 상기 제4 디코디드 피처 맵(170)으로부터 16ch, 160×32 사이즈의 상기 제3 디코디드 피처 맵(180)을 생성하도록 하고, 상기 제2 디컨벌루션 레이어(19)로 하여금 16ch, 160×32 사이즈의 상기 제3 디코디드 피처 맵(180)으로부터 8ch, 320×64 사이즈의 상기 제2 디코디드 피처 맵(190)을 생성하도록 하고, 상기 제1 디컨벌루션 레이어(20)로 하여금 8ch, 320×64 사이즈의 상기 제2 디코디드 피처 맵(190)으로부터 4ch, 640×128 사이즈의 상기 제1 디코디드 피처 맵(200)을 생성하도록 한다.
이와 같이, 상기 디컨벌루션 레이어는 입력되는 피처 맵의 채널 수를 줄이고, 상기 가로 및 세로 사이즈는 늘려 디코디드 피처 맵을 생성하는 기능을 한다. 가령, 상기 제4 디컨벌루션 레이어(17) 내지 상기 제1 디컨벌루션 레이어(20)는 상기 채널의 수를 1/2로 줄이고 상기 입력되는 피처 맵의 상기 가로 및 세로 사이즈를 각각 2배로 늘려 상기 디코디드 피처 맵을 생성한다.
한편, 상기 컨벌루션 레이어는 컨벌루션, 맥스 풀링(max pooling), ReLU 중 적어도 하나의 연산을 수행하고, 상기 디컨벌루션 레이어는 디컨벌루션 및 ReLU 중 적어도 하나의 연산을 수행할 수 있다.
그런 다음, 도 2를 참조하면, S02 단계에서 상기 학습 장치는, Ci× Wi ×Hi 사이즈를 갖는 상기 디코디드 피처 맵을 이용하여 CiHi × Wi ×1 사이즈를 갖는 제1 수정된 피처 맵을 생성할 수 있으며, 이때 상기 Ci는 상기 채널의 수를 의미하며, 상기 Wi는 상기 열의 사이즈, 상기 Hi는 상기 디코디드 피처 맵의 상기 행 사이즈를 의미한다.
즉, 본 발명에 따른 수정(reshaping) 프로세스에서, 상기 적어도 하나의 디코디드 피처 맵을 상기 제1 방향을 제1 간격으로 구획하고 상기 제2 방향을 제2 간격으로 구획함으로써 복수의 열과 복수의 행을 가지는 상기 그리드의 각 셀이 생성된다고 할 때, 상기 학습 장치는 상기 열 마다 상기 행 각각의 피처 각각을 상기 채널 방향으로 컨캐터네이팅(concatenating)하여 적어도 하나의 수정된 피처 맵을 생성한다.
도 4는 본 발명에 따라 상기 근접 장애물 검출을 위한 상기 수정 프로세스를 간략하게 나타낸 도이다.
도 4를 참조하면, 상기 수정 프로세스에서, 도면 부호 410로 표시된 피처 맵으로 도시된 바와 같이, 디코디드 피처 맵이 행으로 나누어진 다음, 도면 부호 420으로 표시된 피처 맵으로 도시된 바와 같이, 상기 열 마다 상기 행 각각의 상기 피처 각각이 상기 채널 방향으로 컨캐터네이팅된다. 이에 따라, (C × W × H) 사이즈의 피처 맵은 ((C * H) × W × 1) 사이즈의 피처 맵으로 변환된다.
도 4의 예에서, 상기 도면부호 410로 표시된 피처 맵 상에서 두꺼운 선으로 그려진 사각형 각각은 상기 디코디드 피처 맵의 제1 열에 대응하는 각 행의 피처 각각을 나타낸다. 만일 상기 도면 부호 410으로 표시된 피처 맵이 8개의 행을 갖는다면, 상기 도면 부호 420으로 표시된 피처 맵은 상기 채널 수의 8배로 늘어난 채널수와 상기 도면부호 410로 표시된 피처 맵의 높이의 1/8의 높이를 가질 것이다.
도 3의 예에서, 64ch, 40×8 사이즈의 상기 제5 디코디드 피처 맵(160)은 제1 수정 프로세스(reshape 5-1)를 통해, 64*8ch, 40×1 사이즈의 상기 제1 수정된 피처 맵(161)으로 변환되며, 32ch, 80×16 사이즈의 상기 제4 디코디드 피처 맵(170)은 제1 수정 프로세스(reshape 4-1)를 통해, 32*16ch, 80×1 사이즈의 상기 제1 수정된 피처 맵(171)으로 변환되며, 16ch, 160×32 사이즈의 상기 제3 디코디드 피처 맵(180)은 제1 수정 프로세스(reshape 3-1)를 통해, 16*32ch, 160×1 사이즈의 상기 제1 수정된 피처 맵(181)으로 변환되며, 8ch, 320×64 사이즈의 상기 제2 디코디드 피처 맵(190)은 제1 수정 프로세스(reshape 2-1)를 통해, 8*64ch, 320×1 사이즈의 상기 제1 수정된 피처 맵(191)으로 변환되며, 4ch, 640×128 사이즈의 상기 제1 디코디드 피처 맵(200)은 제1 수정 프로세스(reshape 1-1)를 통해, 4*128ch, 640×1 사이즈의 상기 제1 수정된 피처맵(201)으로 변환된다.
참고로, 도 3에서는 모든 디코디드 피처 맵에 대해 상기 제1 수정 프로세스를 수행하는 것으로 설명하였지만, 모든 디코디드 피처 맵에 대해 수정 프로세스를 수행할 필요는 없으며, 상기 디코디드 피처 맵 중 일부에 대해서만 수정 프로세스를 수행해도 충분하다.
그런 다음, S03 단계에서는, CiHi × Wi ×1 사이즈를 갖는 상기 제1 수정된 피처 맵을 (
Figure pat00001
)×Wi×1 사이즈의 상기 제1 수정된 피처 맵으로 변경하는 상기 컨벌루션 연산을 수행할 수 있다. 여기서, 상기 WI는 상기 트레이닝 이미지의 열 사이즈이고, 상기 Wi는 상기 디코디드 피처 맵의 열 사이즈이다. 이 컨벌루션 연산은 1×1 컨벌루션이며, 이는, 가로, 세로는 1 칸만 포함하지만 모든 채널에 걸쳐있는 상기 그리드 내 셀을 피연산자(operand)로 하는 연산으로, 각 제1 수정된 피처 맵의 Nc 개 열의 각각에서 상기 근접 장애물의 하단 라인 각각이 어디에 위치하는지를 알아내기 위한 과정이며, 상기 Nc 는 상기 입력 이미지의 상기 제2 방향을 소정 크기로 분할한 개수이다. 이미 상기 제1 수정 프로세스에서 상기 디코디드 피처 맵의 모든 상기 열 방향의 정보를, 동시에 연산할 수 있도록 상기 채널로 통합한 상태이기 때문에, 상기 컨벌루션 연산을 통해 상기 채널의 정보를 모두 확인해 각 열 별로 어느 위치에 상기 근접 장애물의 상기 하단 라인 각각이 위치하는지 확인할 수 있다.
물론, 상기 제5 디코디드 피처 맵(160)의 예와 같이, 수정 프로세스 없이 8×1 컨벌루션이 수행되는 경우, 상기 제1 수정 연산과 상기 1×1 컨벌루션 연산을 한 번에 할 수 있다. 즉, 특정 피처 맵의 높이가 N인 경우, N×1 컨벌루션을 사용할 수 있다. 하지만, 일반적으로 하드웨어상 1×1 컨벌루션 연산은 빠르게 계산될 수 있지만, 자주 사용하지 않는 모양인 8×1 커널 또는 N ×1 커널은 연산 속도가 현저히 느리기 때문에, 상기 수정 프로세스 연산과 상기 1×1 컨벌루션 연산을 나누는 것이 효과적이다.
상기 1×1 컨벌루션 연산 결과를 참조하면, 상기 입력된 피처 맵의 상기 열 사이즈가
Figure pat00002
, 상기 원래 이미지의 상기 열 사이즈가
Figure pat00003
라면,
Figure pat00004
만큼의 채널을 가지도록 상기 입력 피처 맵이 변환된다.
도 3의 예에서, 64*8ch, 40×1 사이즈의 상기 제5 디코디드 피처 맵의 제1 수정된 피처 맵(161)은 상기 1×1 컨벌루션 연산을 통해 Nc*16ch, 40×1 사이즈의 제1 수정된 피처 맵(162)으로 변경되며, 32*16ch, 80×1 사이즈의 상기 제4 디코디드 피처 맵의 제1 수정된 피처 맵(171)은 상기 1×1 컨벌루션 연산을 통해 Nc*8ch, 80×1 사이즈의 제1 수정된 피처 맵(172)으로 변경되며, 16*32ch, 160×1 사이즈의 상기 제3 디코디드 피처 맵의 제1 수정된 피처 맵(181)은 상기 1×1 컨벌루션 연산을 통해 Nc*4ch, 160×1 사이즈의 제1 수정된 피처 맵(182)으로 변경되며, 8*64ch, 320×1 사이즈의 상기 제2 디코디드 피처 맵의 제1 수정된 피처 맵(191)은 상기 1×1 컨벌루션 연산을 통해 Nc*2ch, 320×1 사이즈의 제1 수정된 피처 맵(192)으로 변경되며, 4*128ch, 640×1 사이즈의 상기 제1 디코디드 피처 맵의 제1 수정된 피처 맵(201)은 상기 1×1 컨벌루션 연산을 통해 Nc ch, 640×1 사이즈의 제1 수정된 피처 맵(202)으로 변경된다.
다시 도 2를 참조하면, S04 단계에서는, (
Figure pat00005
)×Wi×1 사이즈의 상기 제1 수정된 피처 맵은 Nc × W I×1 사이즈를 갖는 제2 수정된 피처 맵으로 수정될 수 있다. 여기서 상기 Nc 개는 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 열마다 어디에 위치하는지를 특정하기 위해 상기 입력 이미지의 상기 제2 방향을 분할한 상기 행의 개수이다.
그리고 S05 단계에서는, 상기 제2 수정된 피처 맵의 상기 열마다 상기 Nc 개의 채널에 대응하는 값의 각각을 노말라이징(normalizing)하는 소프트맥스 연산이 수행되고, S06 단계에서는, 상기 제2 방향을 따라 상기 열 각각을 그에 대응하는 가장 아래의 셀부터 확인함으로써 상기 근접 장애물이 위치한다고 추정되는 상기 특정 행 각각에서 상기 근접 장애물 각각의 상기 하단 라인 각각의 추정 위치 각각을 나타내는 상기 입력 이미지 내의 상기 열 별 상기 세그멘테이션 결과가 생성된다.
상기 제2 수정 프로세스(S04)에서, 상기 출력된 (
Figure pat00006
)×Wi×1 사이즈의 피처 맵은 데이터는 고정된 채 모양만 변화하여 Nc×WI×1 사이즈의 형태로 변환될 수 있다. 그리고 상기 소프트맥스 프로세스(S05)에서 각 열마다 상기 Nc 개 채널의 상기 값을 0~1 사이의 값으로 노말라이징 해주고, 상기 노말라이징된 값을 참조하여 상기 열마다 그에 대응하는 가장 큰 값을 갖는 특정 채널 각각을 찾아 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 열 별 위치를 추정할 수 있다.
따라서, 상기 1×1 컨벌루션 연산(S03)과 상기 수정 연산(S04)을 통해서, 상기 열마다 상기 행 중 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 추정 위치 각각은 각각에 대응하는 가장 큰 값을 각각 가질 수 있고, 상기 열마다 상기 행 중 나머지 위치, 즉, 나머지 행은 그보다 작은 값을 가지도록 피처 맵이 생성될 수 있다. 상기 소프트맥스 연산(S05)은 상기 입력 이미지의 열마다 상기 Nc개의 값 중에 가장 큰 값을 찾아내서 그 위치를 출력해서 상기 근접 장애물의 상기 위치 각각을 찾아내기 위해 사용된다. 그리고 나서, 상기 노말라이징된 값을 참조해 상기 열 별로 상기 채널의 값 중 가장 큰 값을 갖는 특정 채널 각각에 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되면, 상기 Nc 행 중에서, 상기 열 별 상기 행 중 상기 근접 장애물 각각의 상기 하단 라인 각각의 추정 위치 각각은 대응하는 가장 큰 값을 갖고, 상기 열 별 상기 행 중 나머지 위치는 더 작은 값을 갖도록 상기 세그멘테이션 결과가 생성되도록 한다.
이 프로세스를 이해하기 위해서는, 최종 결과(상기 소프트맥스 연산의 결과)의 형태에 대한 이해가 필요하다. 상기 CNN의 상기 학습 방법으로부터 기대되는 출력은 상기 입력 이미지에서 상기 열마다 상기 Nc개의 행 중 가장 큰 값을 가지는 각각의 행을 상기 근접 장애물의 위치로 찾아내는 것이다. 이를 위해서는, 열 별로 Nc개의 스코어가 필요하다. 만일 상기 입력 이미지 내 상기 열의 개수 (즉, 상기 입력 이미지의 상기 너비)가 640개(즉, 640개의 픽셀 또는 640 개의 열)라면, Nc(채널)×640(너비)×1(높이) 사이즈의 스코어 맵이 출력으로서 산출되어야 한다.
상기 출력으로서 Nc(채널)×640(너비)×1(높이) 사이즈의 상기 스코어 맵을 생성하는 상기 프로세스를 살펴보면 다음과 같다. 예를 들어, 상기 제1 수정(reshape 5-1) 프로세스를 통해 512(64*8) (채널) Х 40 (너비) Х 1 (높이) 사이즈의 상기 제5 디코디드 피처 맵의 상기 제1 수정된 피처 맵(161)이 생성된 경우, 이 제1 수정된 피처 맵의 열은 상기 입력 이미지의 열(640 개)의 1/16인 40개 밖에 안 된다. 따라서, 이 경우 16회의 상기 1×1 컨벌루션 연산으로 Nc 개의 스코어를 16번 출력하면 해결 가능할 것이다. 그러므로 도 3에서 CONV_OUT5에서 나온 상기 출력(162) 사이즈는 (Nc * 16) (채널)
Figure pat00007
40 (너비)
Figure pat00008
1 (높이)이 되도록 디자인되어야 한다. 그리고 (Nc * 16) (채널)
Figure pat00009
40 (너비)
Figure pat00010
1 (높이) 사이즈의 상기 스코어 맵을 Nc (채널)×640(너비)×1(높이) 사이즈의 상기 스코어 맵으로 변환하기 위해서, 상기 제2 수정 프로세스(reshape 5-2)가 필요한 것이다.
도 3에 도시된 예시를 참조하여, Nc *16ch, 40×1 사이즈의 상기 피처 맵(162)은 상기 1×1 컨벌루션인 CONV_OUT5를 통해 Nc ch, 640×1 사이즈의 상기 피처 맵(163)으로 변환되고, 상기 소프트맥스 연산을 통해 640개의 열 별 상기 Nc 개의 행 중에서, 상기 열 별로 상기 행 중 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 추정 위치 각각은 대응하는 가장 큰 값을 가지고, 상기 열마다 상기 행 중 상기 나머지의 위치는 더 작은 값을 갖도록 출력(164)이 생성된다. 그리고 Nc *8ch, 80×1 사이즈의 상기 피처 맵(172), Nc *4ch, 160×1 사이즈의 상기 피처 맵(182), Nc *2ch, 320×1 사이즈의 상기 피처 맵(192), Nc ch, 640×1 사이즈의 상기 피처 맵(202)은, CONV_OUT4내지 CONV_OUT1의 상기 1×1 컨볼루션 연산 각각을 통해 Nc ch, 640×1 사이즈의 상기 피처 맵(173, 183, 193, 203)으로 각각 변환되고, 상기 소프트맥스 연산을 통해 640개의 열마다 상기 Nc 개의 행 중, 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 추정 위치 각각이 존재하는 상기 열 별로 그에 해당하는 가장 큰 값을 가지고, 상기 열 별 상기 행 중 나머지 위치는 더 작은 값을 갖도록 각각의 출력(174, 184, 194, 204)이 생성된다.
즉, 상기 학습 장치가, 상기 적어도 하나의 디코디드 피처 맵에서 상기 추정 위치 각각을 나타내는 상기 세그멘테이션 결과를 생성할 수 있으며, 상기 열 각각을 그에 대응하는 가장 아래의 셀부터 상기 제2 방향으로(즉, 올라가면서) 확인함으로써 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 추정 위치 각각이 추정된다. 상기 학습 장치는, 상기 수정된 피처 맵의 상기 열 별로 컨캐터네이팅된 채널 상의 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 추정 위치 각각을 확인함으로써, 상기 세그멘테이션 결과를 생성할 수 있다.
다시 도 2를 참조하면, S07 단계에서는, 상기 세그멘테이션 결과와 그에 대응하는 적어도 하나의 GT 이미지를 참조하여 적어도 하나의 로스가 산출될 수 있고, S08 단계에서는, 상기 로스를 백프로파게이션(backpropagation)하여 상기 CNN 의 파라미터가 학습되거나 최적화될 수 있다.
이때, 상기 GT 이미지는, 상기 열 각각에 대해 그에 대응하는 가장 아래의 셀부터 상기 제2 방향으로 (즉, 올라가면서) 확인하였을 때 상기 근접 장애물 각각이 실제로 위치하는 GT 위치 각각에 대응하는 열 각각이 표시된 이미지이다. 도 5는 본 발명에 따라 상기 근접 장애물 검출을 위한 상기 입력 이미지 및 이에 대응하는 GT 이미지를 예시적으로 나타낸다. 도 5를 참조하면, 상기 입력 이미지에서 열 별(640개의 픽셀을 상기 제1 간격 단위로 나눠 생긴 열 별 또는 상기 640개의 픽셀 별)로 상기 하단에서 부터 상단까지 확인할 때 근접 장애물을 상기 근접 장애물로 지정함으로써 상기 GT 이미지가 생성될 수 있다. 상기 GT 이미지가 상기 입력 이미지에서 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 실제 상기 Nc 개의 행 중 위치하는 행을 나타내는 정보를 포함하고, 상기 세그멘테이션 결과가 상기 입력 이미지에서 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 Nc 개의 행 중 어디에 위치하는지 추정되는 정보를 포함하기에, 상기 디코디드 피처 맵을 수정한 모든 상기 수정된 피처 맵(164, 174, 184, 194, 204)은 상기 Nc 개의 채널을 갖도록 생성되는 것이다.
상기 S07 단계에서의 상기 로스는 크로스 엔트로피 로스(Cross-entropy loss)일 수 있다. 상기 로스는 상기 CNN의 상기 파라미터를 학습하거나 최적화하기 위해 백프로파게이션 된다. 도 3의 예에서는, 5개의 디코디드 피처 맵을 통해 출력을 산출하기에 5개의 로스가 산출되지만, 상기 5개의 디코디드 피처 맵 중 적어도 일부로부터의 상기 로스와 상기 출력을 참조해 상기 백프로파게이션을 수행할 수도 있다. 특히, 상기 제1 컨벌루션 레이어(20)로부터 출력된 상기 제1 디코디드 피처 맵을 참조해 산출한 상기 로스를 이용하는 것이 바람직하나, 필수적이지는 않다.
위와 같은 프로세스를 거쳐 상기 CNN의 상기 파라미터가 학습된 상태에서, 상기 학습된 파라미터를 가지고 있는 상기 CNN을 이용한 테스트 장치는 상기 입력이미지로서의 적어도 하나의 테스트 이미지로부터 근접 장애물을 검출할 수 있다.
도 6은 본 발명에 따른 상기 근접 장애물 검출을 위한 상기 CNN의 테스트 방법을 설명하기 위해 상기 입력 이미지에 대한 연산 과정을 예시적으로 나타낸다. 도 6을 참조하면, 도 3의 상기 학습 장치와 달리, 하나의 출력만을 생성하면 충분하고, 상기 제5 디코디드 피처 맵을 이용해 바로 상기 출력을 생성할 수 있기 때문에, 상기 제4 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어는 생략해도 된다. 또 다른 예로, 상기 생략된 디컨벌루션 레이어 중 일부를 포함하더라도 무방할 수 있다.
구체적인 상기 프로세스는 도 3에서 설명한 내용과 유사하기 때문에, 도 6의 상기 근접 장애물 검출 과정을 간략히 설명하면, 다음과 같다. 우선 상기 테스트 장치가, 상기 테스트 이미지(100)를 수신하고 상기 제1 내지 상기 제n 컨벌루션 레이어(11 내지 15)로 하여금 상기 테스트 이미지(100)로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵(110, 120, 130, 140, 150)을 각각 생성하도록 할 수 있다. 그리고 상기 테스트 장치는 적어도 하나의 디컨벌루션 레이어(16)로 하여금 상기 테스트용 제n 인코디드 피처 맵(150)으로부터 테스트용 디코디드 피처 맵(160)을 생성하도록 할 수 있다. 그리고, 상기 테스트용 디코디드 피처 맵(160)으로부터, 상기 그리드를 참조로 하여 상기 제2 방향으로 나열된 상기 열 별 상기 행 각각의 피처 각각을 상기 채널 방향으로 컨캐터네이팅하여 테스트용 수정된 피처 맵(161)을 생성할 수 있다. 그리고, 상기 1×1 컨벌루션 연산 및 추가 수정 프로세스를 거쳐 채널이 변경된 테스트용 피처 맵(162)과 해당 채널을 Nc 개로 맞추고 해당 열의 상기 가로축 개수를 상기 테스트 이미지의 상기 가로축 개수로 맞춘 테스트용 피처 맵(163)이 생성된다. 그리고, 상기 테스트 장치는 상기 테스트용 수정된 피처맵의 상기 열 별로 컨캐터네이팅된 채널 상에서 상기 근접 장애물 각각의 상기 하단 라인 각각의 상기 열 별 상기 행 중의 상기 추정 위치 각각을 확인함으로써, 테스트용 세그멘테이션 결과(164)를 생성하여, 상기 근접 장애물을 검출할 수 있다.
도 7a는 상기 기존의 장애물 검출 결과를 간략하게 나타내며, 도 7b와 도 7c는 본 발명에 따른 상기 장애물 검출 결과를 간략하게 나타낸다.
도 7a는 상기 종래의 검출 방법에 따라 상기 근접 장애물을 검출한 예를 나타내는데, 모든 픽셀을 보고 상기 픽셀이 상기 도로에 해당하는 픽셀인지 아닌지를 구분해야 하기에, 그 결과, 연산량이 많을 수 밖에 없다. 하지만 도 7b 및 도 7c에 도시된 본 발명에 따른 방법에 따르면, 상기 근접 장애물 각각의 상기 하단 라인 각각의 위치(초록색 표시)를 추측하기 위해 이미지의 하단부터 상단으로 소정 개수(예를 들어 Nc 개)의 상기 그리드 셀을 확인함으로써 상기 근접 장애물을 검출하고, 그 결과로서 적은 연산을 통해 빠르면서 고해상도의 상기 근접 장애물을 검출할 수 있다.
더욱이, 상기 기존 기술은 처리 시간 때문에 상기 장애물 검출 결과의 상기 가로 해상도가 상기 입력 이미지의 상기 해상도보다 낮은 문제가 있지만, 본 발명에서 새롭게 제안하는 방법은 상기 입력 이미지와 상기 출력 결과의 가로 해상도가 동일하여 이 문제를 해결할 수 있다.
또한, 본 발명에서는 멀티로스를 이용한 학습 시에 고해상도 정보를 이용하고, 실제 테스트 시에는 저해상도 피처 맵만으로도 고해상도의 결과가 출력될 수 있다. 이에 따라, 상기 저해상도 피처 맵에서 고해상도 정보를 출력할 수 있어 연산량도 작아지고 처리 속도도 빨라질 수 있다.
도 8은 본 발명에 따른 적어도 하나의 ROI(Region of Interest) 검출 프로세스를 간략하게 나타낸 흐름도이다.
이하, 도 8을 참조하여, 상기 ROI 검출을 위한 상기 방법은 위에서 설명한 상기 근접 장애물 검출 방법을 통해 생성된 상기 근접 장애물 각각의 상기 하단 라인 각각의 정보를 참조로 하여 아래와 같이 설명된다.
우선, 도 8을 참조하면, 도 2 내지 도 7을 참조하여 설명한 상기 장애물 검출 방법을 이용하여, 상기 입력 이미지로부터 적어도 하나의 장애물 세그멘테이션 결과가 생성된다(S81). 이는 도 2의 상기 S06 단계와 동일하다.
구체적으로 도 2 내지 도 6을 참조하여 설명한 바와 같이, 상기 적어도 하나의 상기 특정 디코디드 피처 맵을 나눔으로써 상기 그리드의 각 셀이 생성되었다고 할 때,상기 학습 장치가, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 컨캐터네이팅된 채널의 값을 참조해 결정되는, 상기 근접 장애물 각각의 최저 부분 각각이 위치하는 상기 특정 행 각각을 나타내는 상기 장애물 세그멘테이션 결과를 생성하거나 생성하도록 지원할 수 있다. 이때, 상기 열 별로 상기 행 각각에 대응되는 각각의 값을 노말라이징하는 소프트맥스 연산을 통해, 예를 들어 상기 각각의 값이 1과 0 사이의 값을 결과로서 갖는 상기 장애물 세그멘테이션 결과가 획득된다.
그리고, (i) 상기 열 별로 그에 대응하는 가장 아래의 셀부터 상기 제2 방향으로 확인하였을 때, 상기 근접 장애물 각각의 상기 하단 라인 각각이 실제 위치하는 GT 위치 각각에 대응하는 열 각각을 나타내는 적어도 하나의 GT 이미지 및 (ii) 상기 특정 행 각각이 상기 열 별 상기 근접 장애물 각각의 상기 하단 라인 각각으로 추정되는 상기 장애물 세그멘테이션 결과를 참조해, 적어도 하나의 장애물 로스가 산출될 수 있다(S82). 이는 도 2의 상기 S07 단계와 동일하다.
그런 다음, 상기 특정 행 각각을 기초로 결정된 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출을 위해 사용될 앵커 박스(anchor box)를 생성하기 위한 기초로서의 상기 열 별 각각의 앵커가 지정될 수 있다(S83). 예를 들어, 상기 열 별 상기 앵커링 행 각각은 상기 열 별 상기 특정 행 각각으로부터 상기 제2 방향으로 각각 제1 거리 이내 및 상기 열 별 상기 특정 행 각각으로부터 상기 제2방향의 반대 방향으로 각각 제2 거리 이내에 위치할 것이다. 그리고, RPN(Region Proposal Network)은 상기 지정된 앵커 각각을 기초로 적어도 하나의 상기 앵커 박스를 설정하고(S84), 상기 앵커 박스 각각을 참조로, 상기 앵커 박스 중 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스인 적어도 하나의 ROI 바운딩 박스를 생성할 수 있다(S85).
즉, 상기 입력 이미지 상에서 상기 근접 장애물의 바운딩 박스를 검출하고자 할 때, 상기 S81 단계에서 찾은 상기 근접 장애물 각각의 제일 밑 부분 각각을 상기 근접 장애물 각각의 상기 하단 라인 각각으로 결정하고, 상기 RPN는 상기 하단라인 주변 부분에만 연산을 수행하는 것이다.
도 9a는 기존의 RPN을 이용하는 프로세스를 간략하게 나타내며 도 9b는 본 발명에 따른 상기 RPN을 이용한 프로세스를 간략하게 나타낸다.
도 9a 를 참조하면, 상기 기존의 RPN을 이용한 상기 프로세스는 상기 피처 맵 상 모든 포인트마다 각각의 앵커를 설정하고, 각 앵커마다 스케일(scale) 또는 종횡비(aspect ratio)가 서로 다른 복수 개의 서로 다른 앵커 박스를 생성하고, RPN 연산을 수행한다. 이때 상기 모든 포인트는 픽셀 단위일 수도 있고, 특정 간격의 픽셀일 수도 있다.
이에 비해 도 9b에 도시된 본 발명에 따른 상기 RPN을 이용한 상기 프로세스에서는, 상기 근접 장애물의 하단 부분(911)을 나타내는 이미지(910)에서, 상기 근접 장애물(911) 주변의 소정 영역(921)(흰색 원으로 표시)이 앵커로 설정되지만, 나머지 영역의 포인트나 픽셀(922)(검은색 원으로 표시)은 앵커로 설정되지 않는다.
즉, 도 9b에 나타난 라인(911)은 상기 근접 장애물의 하단 라인으로 검출된 것으로 확인되고, 상기 확인된 하단 라인으로부터 상기 제2 방향으로 소정 범위 내에 있는 포인트(921)는 상기 앵커로 설정될 수 있고, 복수 개의 서로 다른 앵커 박스의 스케일 또는 종횡비마다 상기 앵커 각각에 대해 상기 복수 개의 서로 다른 앵커 박스를 설정하여, 상기 RPN 연산이 수행될 수 있다.
이때, 상기 각각의 열은 상기 제1 방향으로 적어도 하나의 픽셀을 포함할 수 있고, 상기 각각의 행은 상기 제2 방향으로 적어도 하나의 픽셀을 포함할 수 있으므로, 상기 포인트 또는 픽셀(922)은 상기 열 방향으로 열 별 픽셀일 수도 있고, Nc 개로 분할된 상기 그리드 내 상기 셀 중 하나일 수도 있을 것이다.
이와 같이, 상기 근접 장애물 주변 상기 앵커를 기초로 상기 앵커 박스만 계산하기 때문에, 상기 RPN의 상기 연산량이 획기적으로 줄어들 수 있다. 또한, 각 앵커당 상기 앵커 박스의 개수를 늘려서, 즉 상기 스케일과 상기 종횡비의 개수를 늘려서, 상기 객체 검출 결과가 좋아지기 때문에, 연산량을 줄이면서 상기 앵커 박스의 가능한 조합의 개수를 늘릴 수 있는 부가적 효과도 존재한다.
다시 도 8을 참조하면, 상기 추정된 바운딩 박스와 그에 대응하는 GT 이미지를 참조해 적어도 하나의 바운딩 박스 로스 또는 적어도 하나의 RPN 로스가 생성되되, 상기 GT이미지는 상기 입력 이미지에서 상기 근접 장애물 각각을 실제로 포함하는 적어도 하나의 바운딩 박스 각각을 포함하고(S86), 상기 바운딩 박스 로스는 백프로파게이션되어 상기 CNN의 상기 파라미터를 학습할 수 있다(S87). 이때, 상기 S87 단계에서는, 상기 S82 단계에서 산출한 상기 장애물 로스와 상기 S86단계에서 산출한 상기 바운딩 박스 로스를 같이 이용하여 상기 CNN의 상기 파라미터가 학습될 수 있다. 예를 들어, 이미 상기 근접 장애물 검출에 대한 상기 CNN의 상기 파라미터가 학습되었다면, 상기 장애물 로스에 대한 적어도 하나의 가중치는 작게 설정하고, 상기 바운딩 박스 로스의 적어도 하나의 가중치는 크게 설정하여, 상기 백프로파게이션을 수행할 수 있을 것이다.
도 8 및 도 9b에 도시된 상기 학습 방법은 상기 테스트 방법에도 그대로 적용될 수 있다.
즉, 적어도 하나의 테스트 이미지에서 상기 근접 장애물의 상기 하단 라인을 기준으로 상기 ROI를 검출하기 위한 상기 CNN을 테스트하는 방법에 있어서, (a) 상기 학습 장치가 (i) 트레이닝 이미지로서 상기 입력 이미지를 획득하고, 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 트레이닝 이미지로부터 순차적으로 학습용 제1 인코디드 피처 맵 내지 학습용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스; (ii) 상기 제n 디컨벌루션 레이어 상기 내지 제1 디컨벌루션 레이어로 하여금 상기 학습용 제n 인코디드 피처 맵으로부터 순차적으로 학습용 제n 디코디드 피처 맵 내지 학습용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스; (iii) 상기 학습용 제 n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 하나의 특정 학습용 디코디드 피처 맵을 그의 행 방향인 제1 방향 및 그의 열 방향을 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습용 제n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 적어도 하나의 학습용 근접 장애물 각각의 하단 라인 각각이 위치하는 것으로 추정되는 학습용 특정 행 각각을 나타내는 적어도 하나의 학습용 장애물 세그멘테이션 결과를 생성하도록 하는 프로세스; (iv) 상기 학습용 특정 행 각각을 기초로 추정되는 학습용 앵커링 행 각각의 픽셀 중, 각각의 상기 학습용 ROI 검출에 사용될 학습용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 학습용 앵커 각각을 결정하는 프로세스; (v) 상기 RPN으로 하여금, (v-1) 상기 학습용 앵커 박스 각각을 참조로 적어도 하나의 학습용 ROI 바운딩 박스를 생성하도록 하되, 상기 학습용 앵커 박스 중 적어도 하나는 상기 학습용 앵커 각각을 기초로 추정되며, (v-2) 상기 학습용 ROI 바운딩 박스 및 그에 상응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 학습용 ROI 바운딩 박스는 상기 학습용 앵커 박스 중, 학습용 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 학습용 앵커 박스이며, 상기 제1 GT 이미지는 상기 트레이닝 이미지 내의 상기 학습용 특정 객체를 실제로 포함하는 학습용 바운딩 박스를 나타내는 프로세스; 및 (vi) 상기 제1 로스를 백프로파게이션하여 상기 CNN의 파라미터를 학습하는 프로세스를 학습 장치가 수행한 상태에서, 상기 학습장치에 의해 학습된 상기 CNN의 상기 파라미터를 사용하는 테스트 장치가 상기 입력 이미지를 테스트 이미지로 획득하는 단계; (b) 상기 테스트 장치가, 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 테스트 이미지로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵을 각각 생성하도록 하는 단계; (c) 상기 테스트 장치가, 상기 제n 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어로 하여금 상기 테스트용 제n 인코디드 피처 맵으로부터 순차적으로 테스트용 제n 디코디드 피처 맵 내지 테스트용 제1 디코디드 피처 맵을 생성하도록 하는 단계; (d) 상기 테스트용 제 n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 그의 행 방향인 상기 제1 방향, 그의 열 방향인 상기 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 테스트 장치는, 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 테스트용 특정 행 각각을 나타내는 적어도 하나의 테스트용 장애물 세그멘테이션 결과를 생성하는 단계; (e) 상기 테스트 장치가, 상기 테스트용 특정 행 각각을 기초로 추정되는 테스트용 앵커링 행 각각의 픽셀 중, 각각의 테스트용 ROI 검출에 사용될 테스트용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 테스트용 앵커 각각을 결정하는 단계; 및 (f) 상기 테스트 장치가, 상기 RPN으로 하여금, 상기 테스트용 앵커 박스 각각을 참조로 적어도 하나의 테스트용 ROI 바운딩 박스를 생성하도록 하되, 상기 테스트용 앵커 박스 중 적어도 하나는 상기 테스트용 앵커 각각을 기초로 추정되는 단계;를 포함할 수 있다.
이와 같이 본 발명에 따른 상기 근접 장애물 검출을 위한 상기 새로운 방법은 상기 근접 장애물의 상기 하단 라인 검출에 적용될 수 있고, 상기 객체의 상기 하단 라인의 주변 영역에 대해서만 상기 RPN 연산을 수행하여 상기 ROI 검출 연산량을 크게 줄일 수 있는 효과가 있다.
상기 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 예컨대 상기 트레이닝 이미지, 상기 테스트 이미지 및 상기 입력 이미지 등과 같은 이미지 데이터의 송수신이 상기 학습 장치 및 상기 테스트 장치의 통신부들에 의하여 이루어질 수 있으며, 피처 맵과 연산을 수행하기 위한 데이터가 상기 학습 장치 및 상기 테스트 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산 및 로스 값 연산이 상기 학습 장치 및 상기 테스트 장치의 상기 프로세서에 의하여 수행될 수 있으나, 본 발명이 이에 한정되지는 않을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (24)

  1. 적어도 하나의 입력 이미지에서 적어도 하나의 근접 장애물의 적어도 하나의 하단 라인(bottom line)을 기준으로 적어도 하나의 ROI(Region of Interest)를 검출하기 위한 CNN(convolutional Neural Network)의 파라미터를 학습하는 방법에 있어서,
    (a) 학습 장치가, 제1 컨벌루션 레이어 내지 제 n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 순차적으로 제 1 인코디드 피처 맵 내지 제 n 인코디드 피처 맵을 각각 생성하도록 하는 단계;
    (b) 상기 학습 장치가, 제n 디컨벌루션 레이어 내지 제 1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제 n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 하는 단계;
    (c) 상기 제 n 디코디드 피처 맵 내지 상기 제 1 디코디드 피처 맵 중 적어도 하나의 특정 디코디드 피처 맵을 그의 행(row)방향인 제1방향 및 그의 열(column)방향인 제 2방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습 장치는, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 특정 행 각각을 나타내는 적어도 하나의 장애물 세그멘테이션 결과를 생성하는 단계;
    (d) 상기 학습 장치가, 상기 특정 행 각각을 기초로 추정되는 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출에 사용될 앵커 박스(anchor box)를 생성하기 위한 각각의 기초로서의 상기 열 별 앵커 각각을 결정하는 단계;
    (e) 상기 학습 장치가, RPN(Region Proposal Network)으로 하여금, (i) 상기 앵커 박스 각각을 참조로 적어도 하나의 ROI 바운딩 박스(bounding box)를 생성하도록 하되, 상기 앵커 박스 중 적어도 하나는 상기 앵커 각각을 기초로 추정되며, (ii) 상기 ROI 바운딩 박스 및 그에 대응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 ROI 바운딩 박스는 상기 앵커 박스 중, 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스이며, 상기 제1 GT 이미지는 상기 입력 이미지 내의 상기 특정 객체를 실제로 포함하는 바운딩 박스를 나타내는 단계; 및
    (f) 상기 학습 장치는, 상기 제1 로스를 백프로파게이션(backpropagation)하여 상기 CNN의 상기 파라미터를 학습하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1 항에 있어서,
    상기 (c) 단계는,
    (c1) 상기 그리드의 각 셀이 상기 적어도 하나의 디코디드 피처 맵을 상기 제1방향으로 제1간격씩 구획하고 상기 제2방향으로 제2간격씩 구획함으로써 생성된다고 할 때, 상기 학습 장치는, 상기 각각의 열 마다 상기 행 각각의 피처 각각을 채널방향으로 컨캐터네이팅(concatenating)하여 적어도 하나의 수정된 피처 맵을 생성하는 단계; 및
    (c2) 상기 학습 장치는, 상기 수정된 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅된 채널들에서의 각각의 상기 근접 장애물의 상기 하단 라인 각각에 대한 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 장애물 세그멘테이션 결과를 생성하되, 상기 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징(normalizing)하는 소프트맥스 연산에 의해 생성되는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 (c) 단계는,
    (c3) 상기 학습 장치는, (i) 적어도 하나의 제 2 GT 이미지 상에 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 실제 행이 표시될 경우, 상기 실제 행 각각의 위치 및 (ii) 상기 장애물 세그멘테이션 결과 상에서 상기 근접 장애물의 각각의 상기 하단 라인 각각이 상기 열 별로 위치하는 것으로 추정되는 상기 특정 행 각각의 위치를 참조해, 적어도 하나의 제 2 로스를 생성하는 단계;
    를 포함하고,
    상기 (f) 단계에서,
    상기 학습장치는 상기 제1 로스 및 상기 제2 로스를 백프로파게이션하여 상기 CNN의 상기 파라미터를 학습하는 것을 특징으로 하는 방법.
  4. 제1 항에 있어서,
    상기 (e) 단계에서,
    상기 앵커 박스 중에서 적어도 하나의 (i) 스케일(scale) 및 (ii) 종횡비(aspect ratio) 중 적어도 하나를 참고하여 상기 앵커 각각의 복수 개의 서로 다른 앵커 박스를 설정하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 제1 GT 이미지는, 상기 입력 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 장애물 세그멘테이션 결과는, 상기 입력 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서,
    상기 (c) 단계에서,
    상기 열 각각에 대해 상기 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중에서, 상기 각각의 열 마다 상기 각각의 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 대응하는 가장 큰 값을 가지고, 나머지 행에 있는 위치는 작은 값을 갖도록 상기 장애물 세그멘테이션 결과 값이 생성되는 것을 특징으로 하는 방법.
  8. 적어도 하나의 테스트 이미지에서 적어도 하나의 테스트용 근접 장애물의 적어도 하나의 하단 라인을 기준으로 적어도 하나의 테스트용 ROI를 검출하기 위한 CNN을 테스트하는 방법에 있어서,
    (a) (1) 제1 컨벌루션 레이어 내지 제n 컨벌루션 레이어로 하여금 적어도 하나의 트레이닝 이미지로부터 순차적으로 학습용 제1 인코디드 피처 맵 내지 학습용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (2) 제n 디컨벌루션 레이어 내지 제1 디컨벌루션 레이어로 하여금 상기 학습용 제n 인코디드 피처 맵으로부터 순차적으로 학습용 제n 디코디드 피처 맵 내지 학습용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (3) 상기 학습용 제 n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 하나의 특정 학습용 디코디드 피처 맵을 그의 행 방향인 제1 방향 및 그의 열 방향을 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습용 제n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 적어도 하나의 학습용 근접 장애물 각각의 하단 라인 각각이 위치하는 것으로 추정되는 학습용 특정 행 각각을 나타내는 적어도 하나의 학습용 장애물 세그멘테이션 결과를 생성하도록 하는 프로세스, (4) 상기 학습용 특정 행 각각을 기초로 추정되는 학습용 앵커링 행 각각의 픽셀 중, 각각의 상기 학습용 ROI 검출에 사용될 학습용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 학습용 앵커 각각을 결정하는 프로세스, (5) RPN(Region Proposal Network)으로 하여금, (i) 상기 학습용 앵커 박스 각각을 참조로 적어도 하나의 학습용 ROI 바운딩 박스를 생성하도록 하되, 상기 학습용 앵커 박스 중 적어도 하나는 상기 학습용 앵커 각각을 기초로 추정되며, (ii) 상기 학습용 ROI 바운딩 박스 및 그에 상응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 학습용 ROI 바운딩 박스는 상기 학습용 앵커 박스 중, 학습용 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 학습용 앵커 박스이며, 상기 제1 GT 이미지는 상기 트레이닝 이미지 내의 상기 학습용 특정 객체를 실제로 포함하는 학습용 바운딩 박스를 나타내는 프로세스, 및 (6) 상기 제1 로스를 백프로파게이션하여 상기 CNN의 파라미터를 학습하는 프로세스를 학습 장치가 수행한 상태에서, 테스트 장치가 상기 테스트 이미지를 획득하는 단계;
    (b) 상기 테스트 장치가, 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 테스트 이미지로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵을 각각 생성하도록 하는 단계;
    (c) 상기 테스트 장치가, 상기 제n 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어로 하여금 상기 테스트용 제n 인코디드 피처 맵으로부터 순차적으로 테스트용 제n 디코디드 피처 맵 내지 테스트용 제1 디코디드 피처 맵을 생성하도록 하는 단계;
    (d) 상기 테스트용 제 n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 그의 행 방향인 제1 방향, 그의 열 방향인 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 테스트 장치는, 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 테스트용 특정 행 각각을 나타내는 적어도 하나의 테스트용 장애물 세그멘테이션 결과를 생성하는 단계;
    (e) 상기 테스트 장치가, 상기 테스트용 특정 행 각각을 기초로 추정되는 테스트용 앵커링 행 각각의 픽셀 중, 각각의 테스트용 ROI 검출에 사용될 테스트용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 테스트용 앵커 각각을 결정하는 단계; 및
    (f) 상기 테스트 장치가, 상기 RPN으로 하여금, 상기 테스트용 앵커 박스 각각을 참조로 적어도 하나의 테스트용 ROI 바운딩 박스를 생성하도록 하되, 상기 테스트용 앵커 박스 중 적어도 하나는 상기 테스트용 앵커 각각을 기초로 추정되는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  9. 제8 항에 있어서,
    상기 (d) 단계는,
    (d1) 상기 그리드의 각 셀이 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 상기 제1 방향으로 제1 간격씩 구획하고 상기 제2 방향으로 제2 간격씩 구획함으로써 생성된다고 할 때, 상기 테스트 장치가, 상기 각각의 열 마다 상기 행 각각의 테스트용 피처 각각을 채널 방향으로 컨캐터네이팅하여 적어도 하나의 수정된 테스트용 피처 맵을 생성하는 단계; 및
    (d2) 상기 테스트 장치가, 상기 수정된 테스트용 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅한 채널들에서의 각각의 상기 테스트용 근접 장애물의 상기 하단 라인 각각에 대한 각각의 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 테스트용 장애물 세그멘테이션 결과를 생성하되, 상기 테스트용 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징하는 소프트맥스 연산에 의해 생성되는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  10. 제8 항에 있어서,
    상기 (f) 단계에서,
    상기 테스트용 앵커 박스 중에서 적어도 하나의 (i) 스케일 및 (ii) 종횡비 중 적어도 하나를 참고하여 상기 테스트용 앵커 각각의 복수 개의 서로 다른 테스트용 앵커 박스를 설정하는 것을 특징으로 하는 방법.
  11. 제 8 항에 있어서,
    상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 하는 방법.
  12. 제 8 항에 있어서,
    상기 제1 GT 이미지는, 상기 트레이닝 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 학습용 장애물 세그멘테이션 결과는, 상기 트레이닝 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하고,
    상기 (d) 단계에서,
    상기 테스트 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 각각에 대해 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중 상기 각각의 테스트용 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 상기 열 별로 대응하는 가장 큰 값을 가지고 나머지 행에 있는 위치는 작은 값을 갖도록 상기 테스트용 장애물 세그멘테이션 결과 값이 생성되는 것을 특징으로 하는 방법.
  13. 적어도 하나의 입력 이미지에서 적어도 하나의 근접 장애물의 적어도 하나의 하단 라인(bottom line)을 기준으로 적어도 하나의 ROI(Region of Interest)를 검출하기 위한 CNN(convolutional Neural Network)의 파라미터를 학습하는 학습 장치에 있어서,
    상기 입력 이미지를 획득하는 통신부; 및
    (I) 제1 컨벌루션 레이어 내지 제 n 컨벌루션 레이어로 하여금 상기 입력 이미지로부터 순차적으로 제 1 인코디드 피처 맵 내지 제 n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (II) 제n 디컨벌루션 레이어 내지 제 1 디컨벌루션 레이어로 하여금 상기 제n 인코디드 피처 맵으로부터 순차적으로 제 n 디코디드 피처 맵 내지 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (III) 상기 제 n 디코디드 피처 맵 내지 상기 제 1 디코디드 피처 맵 중 적어도 하나의 특정 디코디드 피처 맵을 그의 행(row)방향인 제1방향 및 그의 열(column)방향인 제 2방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 제n 디코디드 피처 맵 내지 상기 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 특정 행 각각을 나타내는 적어도 하나의 장애물 세그멘테이션 결과를 생성하는 프로세스, (IV) 상기 특정 행 각각을 기초로 추정되는 앵커링 행(anchoring row) 각각의 픽셀 중, 각각의 상기 ROI 검출에 사용될 앵커 박스(anchor box)를 생성하기 위한 각각의 기초로서의 상기 열 별 앵커 각각을 결정하는 프로세스, (V) RPN(Region Proposal Network)으로 하여금, (i) 상기 앵커 박스 각각을 참조로 적어도 하나의 ROI 바운딩 박스(bounding box)를 생성하도록 하되, 상기 앵커 박스 중 적어도 하나는 상기 앵커 각각을 기초로 추정되며, (ii) 상기 ROI 바운딩 박스 및 그에 대응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 ROI 바운딩 박스는 상기 앵커 박스 중, 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 앵커 박스이며, 상기 제1 GT 이미지는 상기 입력 이미지 내의 상기 특정 객체를 실제로 포함하는 바운딩 박스를 나타내는 프로세스, 및 (VI) 상기 제1 로스를 백프로파게이션 (backpropagation)하여 상기 CNN의 상기 파라미터를 학습하는 프로세스를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  14. 제 13 항에 있어서,
    상기 (III) 프로세스는,
    (III-1) 상기 그리드의 각 셀이 상기 적어도 하나의 디코디드 피처 맵을 상기 제1방향으로 제1간격씩 구획하고 상기 제2방향으로 제2간격씩 구획함으로써 생성된다고 할 때, 상기 각각의 열 마다 상기 행 각각의 피처 각각을 채널방향으로 컨캐터네이팅(concatenating)하여 적어도 하나의 수정된 피처 맵을 생성하는 프로세스; 및
    (III-2) 상기 수정된 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅된 채널들에서의 각각의 상기 근접 장애물의 상기 하단 라인 각각에 대한 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 장애물 세그멘테이션 결과를 생성하되, 상기 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징(normalizing)하는 소프트맥스 연산에 의해 생성되는 프로세스;
    를 포함하는 것을 특징으로 하는 학습 장치.
  15. 제 13 항에 있어서,
    상기 (III) 프로세스는,
    (III-3) (i) 적어도 하나의 제 2 GT 이미지 상에 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 실제 행이 표시될 경우, 상기 실제 행 각각의 위치 및 (ii) 상기 장애물 세그멘테이션 결과 상에서 상기 근접 장애물의 각각의 상기 하단 라인 각각이 상기 열 별로 위치하는 것으로 추정되는 상기 특정 행 각각의 위치를 참조해, 적어도 하나의 제 2 로스를 생성하는 프로세스;
    를 포함하고,
    상기 (VI) 프로세스에서,
    상기 프로세서는 상기 제1 로스 및 상기 제2 로스를 백프로파게이션하여 상기 CNN의 상기 파라미터를 학습하는 것을 특징으로 하는 학습 장치.
  16. 제 13 항에 있어서,
    상기 (V) 프로세스에서,
    상기 앵커 박스 중에서 적어도 하나의 (i) 스케일(scale) 및 (ii) 종횡비(aspect ratio) 중 적어도 하나를 참고하여 상기 앵커 각각의 복수 개의 서로 다른 앵커 박스를 설정하는 것을 특징으로 하는 학습 장치.
  17. 제 13 항에 있어서,
    상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 하는 학습 장치.
  18. 제 13 항에 있어서,
    상기 제1 GT 이미지는, 상기 입력 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 장애물 세그멘테이션 결과는, 상기 입력 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하는 학습 장치.
  19. 제 18 항에 있어서,
    상기 (III) 프로세스에서, 상기 열 각각에 대해 상기 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중에서, 상기 각각의 열 마다 상기 각각의 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 대응하는 가장 큰 값을 가지고, 나머지 행에 있는 위치는 작은 값을 갖도록 상기 장애물 세그멘테이션 결과 값을 생성하는 것을 특징으로 하는 학습 장치.
  20. 적어도 하나의 테스트 이미지에서 적어도 하나의 테스트용 근접 장애물의 적어도 하나의 하단 라인을 기준으로 적어도 하나의 테스트용 ROI를 검출하기 위한 CNN을 테스트하는 테스트 장치에 있어서,
    (1) 제1 컨벌루션 레이어 내지 제n 컨벌루션 레이어로 하여금 적어도 하나의 트레이닝 이미지로부터 순차적으로 학습용 제1 인코디드 피처 맵 내지 학습용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (2) 제n 디컨벌루션 레이어 내지 제1 디컨벌루션 레이어로 하여금 상기 학습용 제n 인코디드 피처 맵으로부터 순차적으로 학습용 제n 디코디드 피처 맵 내지 학습용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (3) 상기 학습용 제 n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 하나의 특정 학습용 디코디드 피처 맵을 그의 행 방향인 제1 방향 및 그의 열 방향을 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 학습용 제n 디코디드 피처 맵 내지 상기 학습용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조로 하여, 상기 열 별로 적어도 하나의 학습용 근접 장애물 각각의 하단 라인 각각이 위치하는 것으로 추정되는 학습용 특정 행 각각을 나타내는 적어도 하나의 학습용 장애물 세그멘테이션 결과를 생성하도록 하는 프로세스, (4) 상기 학습용 특정 행 각각을 기초로 추정되는 학습용 앵커링 행 각각의 픽셀 중, 각각의 상기 학습용 ROI 검출에 사용될 학습용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 학습용 앵커 각각을 결정하는 프로세스, (5) RPN(Region Proposal Network)으로 하여금, (i) 상기 학습용 앵커 박스 각각을 참조로 적어도 하나의 학습용 ROI 바운딩 박스를 생성하도록 하되, 상기 학습용 앵커 박스 중 적어도 하나는 상기 학습용 앵커 각각을 기초로 추정되며, (ii) 상기 학습용 ROI 바운딩 박스 및 그에 상응하는 적어도 하나의 제1 GT 이미지를 참조해 적어도 하나의 제1 로스를 생성하도록 하되, 상기 학습용 ROI 바운딩 박스는 상기 학습용 앵커 박스 중, 학습용 특정 객체를 포함하는 것으로 추정되는 확률이 높은 특정 학습용 앵커 박스이며, 상기 제1 GT 이미지는 상기 트레이닝 이미지 내의 상기 학습용 특정 객체를 실제로 포함하는 학습용 바운딩 박스를 나타내는 프로세스, 및 (6) 상기 제1 로스를 백프로파게이션하여 상기 CNN의 파라미터를 학습하는 프로세스를 학습 장치가 수행한 상태에서, 상기 테스트 이미지를 획득하는 통신부; 및
    (I) 상기 제1 컨벌루션 레이어 내지 상기 제n 컨벌루션 레이어로 하여금 상기 테스트 이미지로부터 순차적으로 테스트용 제1 인코디드 피처 맵 내지 테스트용 제n 인코디드 피처 맵을 각각 생성하도록 하는 프로세스, (II) 상기 제n 디컨벌루션 레이어 내지 상기 제1 디컨벌루션 레이어로 하여금 상기 테스트용 제n 인코디드 피처 맵으로부터 순차적으로 테스트용 제n 디코디드 피처 맵 내지 테스트용 제1 디코디드 피처 맵을 생성하도록 하는 프로세스, (III) 상기 테스트용 제 n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 그의 행 방향인 제1 방향, 그의 열 방향인 제2 방향으로 나눔으로써 복수의 열과 복수의 행을 가지는 그리드의 각 셀이 생성된다고 할 때, 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 일부 피처 맵의 적어도 하나의 피처를 참조함으로써, 상기 열 별로 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 테스트용 특정 행 각각을 나타내는 적어도 하나의 테스트용 장애물 세그멘테이션 결과를 생성하는 프로세스, (IV) 상기 테스트용 특정 행 각각을 기초로 추정되는 테스트용 앵커링 행 각각의 픽셀 중, 각각의 테스트용 ROI 검출에 사용될 테스트용 앵커 박스를 생성하기 위한 각각의 기초로서의 상기 열 별 테스트용 앵커 각각을 결정하는 프로세스, 및 (V) 상기 RPN으로 하여금, 상기 테스트용 앵커 박스 각각을 참조로 적어도 하나의 테스트용 ROI 바운딩 박스를 생성하도록 하되, 상기 테스트용 앵커 박스 중 적어도 하나는 상기 테스트용 앵커 각각을 기초로 추정되는 프로세스를 수행하는 프로세서;
    를 포함하는 것을 특징으로 하는 테스트 장치.
  21. 제 20 항에 있어서,
    상기 (III) 프로세스는,
    (III-1) 상기 그리드의 각 셀이 상기 테스트용 제n 디코디드 피처 맵 내지 상기 테스트용 제1 디코디드 피처 맵 중 적어도 하나의 특정 테스트용 디코디드 피처 맵을 상기 제1 방향으로 제1 간격씩 구획하고 상기 제2 방향으로 제2 간격씩 구획함으로써 생성된다고 할 때, 상기 각각의 열 마다 상기 행 각각의 테스트용 피처 각각을 채널 방향으로 컨캐터네이팅하여 적어도 하나의 수정된 테스트용 피처 맵을 생성하는 프로세스; 및
    (III-2) 상기 수정된 테스트용 피처 맵을 참조하여 상기 열 별로 컨캐터네이팅한 채널들에서의 각각의 상기 테스트용 근접 장애물의 상기 하단 라인 각각에 대한 각각의 추정 위치 각각을 확인함으로써, 상기 열 별로 상기 행 중에서 상기 근접 장애물 각각의 상기 하단 라인 각각이 위치하는 것으로 추정되는 행을 나타내는 상기 테스트용 장애물 세그멘테이션 결과를 생성하되, 상기 테스트용 장애물 세그멘테이션 결과는 상기 열 별로 각각의 채널에 대응하는 값 각각을 노말라이징하는 소프트맥스 연산에 의해 생성되는 프로세스;를 포함하는 것을 특징으로 하는 테스트 장치.
  22. 제 20 항에 있어서,
    상기 (V) 프로세스에서,
    상기 테스트용 앵커 박스 중에서 적어도 하나의 (i) 스케일 및 (ii) 종횡비 중 적어도 하나를 참고하여 상기 테스트용 앵커 각각의 복수 개의 서로 다른 테스트용 앵커 박스를 설정하는 것을 특징으로 하는 테스트 장치.
  23. 제 20 항에 있어서,
    상기 열 각각은 상기 제1 방향으로 하나 이상의 픽셀을 포함하며, 상기 행 각각은 상기 제2 방향으로 하나 이상의 픽셀을 포함하는 것을 특징으로 하는 테스트 장치.
  24. 제 20 항에 있어서,
    상기 제1 GT 이미지는, 상기 트레이닝 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 실제로 위치하는 행에 대한 정보를 포함하며, 상기 학습용 장애물 세그멘테이션 결과는, 상기 트레이닝 이미지가 상기 Nc 개의 행으로 분할된 상태에서, 상기 열 별로 상기 학습용 근접 장애물 각각의 상기 하단 라인 각각이 상기 행 중 위치하는 것으로 추측되는 행을 나타내는 것을 특징으로 하고,
    상기 (III) 프로세스에서,
    상기 테스트 이미지가 Nc 개의 행으로 분할된 상태에서, 상기 열 각각에 대해 상기 테스트용 근접 장애물 각각의 상기 하단 라인 각각이 존재하는 것으로 추정되면, 상기 Nc 개의 행 중 상기 각각의 테스트용 특정 행에 있는 상기 하단 라인 각각의 추정 위치 각각은 상기 열 별로 대응하는 가장 큰 값을 가지고 나머지 행에 있는 위치는 작은 값을 갖도록 상기 테스트용 장애물 세그멘테이션 결과 값을 생성하는 것을 특징으로 하는 테스트 장치.
KR1020190105481A 2018-10-26 2019-08-27 장애물의 하단 라인을 기준으로 roi를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 KR102280401B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/171,645 US10438082B1 (en) 2018-10-26 2018-10-26 Learning method, learning device for detecting ROI on the basis of bottom lines of obstacles and testing method, testing device using the same
US16/171,645 2018-10-26

Publications (2)

Publication Number Publication Date
KR20200047303A true KR20200047303A (ko) 2020-05-07
KR102280401B1 KR102280401B1 (ko) 2021-07-23

Family

ID=68101980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105481A KR102280401B1 (ko) 2018-10-26 2019-08-27 장애물의 하단 라인을 기준으로 roi를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치

Country Status (5)

Country Link
US (1) US10438082B1 (ko)
EP (1) EP3644240A1 (ko)
JP (1) JP6908939B2 (ko)
KR (1) KR102280401B1 (ko)
CN (1) CN111104838B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102270198B1 (ko) 2020-06-08 2021-06-28 주식회사 에스아이에이 앵커-프리 rpn 기반의 물체 검출 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11555701B2 (en) 2019-05-02 2023-01-17 Corelogic Solutions, Llc Use of a convolutional neural network to auto-determine a floor height and floor height elevation of a building
WO2021098554A1 (zh) * 2019-11-20 2021-05-27 Oppo广东移动通信有限公司 一种特征提取方法、装置、设备及存储介质
US11450008B1 (en) * 2020-02-27 2022-09-20 Amazon Technologies, Inc. Segmentation using attention-weighted loss and discriminative feature learning
CN111524165B (zh) * 2020-04-22 2023-08-25 北京百度网讯科技有限公司 目标跟踪方法和装置
CN112528907B (zh) * 2020-12-18 2024-04-09 四川云从天府人工智能科技有限公司 锚框生成及其标注框适配方法、装置及计算机存储介质
CN112906732B (zh) * 2020-12-31 2023-12-15 杭州旷云金智科技有限公司 目标检测方法、装置、电子设备及存储介质
CN112396044B (zh) * 2021-01-21 2021-04-27 国汽智控(北京)科技有限公司 车道线属性信息检测模型训练、车道线属性信息检测方法
WO2022204905A1 (zh) * 2021-03-30 2022-10-06 华为技术有限公司 一种障碍物检测方法及装置
CN113361326B (zh) * 2021-04-30 2022-08-05 国能浙江宁海发电有限公司 一种基于计算机视觉目标检测的智慧电厂管控系统
CN114038239B (zh) * 2021-11-08 2022-11-25 青岛海信网络科技股份有限公司 一种车辆碰撞预警方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7697786B2 (en) * 2005-03-14 2010-04-13 Sarnoff Corporation Method and apparatus for detecting edges of an object
US9202144B2 (en) * 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
JP6265095B2 (ja) * 2014-09-24 2018-01-24 株式会社デンソー 物体検出装置
US9811756B2 (en) * 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US10019631B2 (en) * 2015-11-05 2018-07-10 Qualcomm Incorporated Adapting to appearance variations when tracking a target object in video sequence
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
US9760806B1 (en) * 2016-05-11 2017-09-12 TCL Research America Inc. Method and system for vision-centric deep-learning-based road situation analysis
US10032067B2 (en) * 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
KR102628654B1 (ko) * 2016-11-07 2024-01-24 삼성전자주식회사 차선을 표시하는 방법 및 장치
CN108073876B (zh) * 2016-11-14 2023-09-19 北京三星通信技术研究有限公司 面部解析设备和面部解析方法
KR102267553B1 (ko) * 2016-11-15 2021-06-22 매직 립, 인코포레이티드 큐보이드 검출을 위한 딥 러닝 시스템
US10380741B2 (en) * 2016-12-07 2019-08-13 Samsung Electronics Co., Ltd System and method for a deep learning machine for object detection
US10262237B2 (en) * 2016-12-08 2019-04-16 Intel Corporation Technologies for improved object detection accuracy with multi-scale representation and training
CN106599939A (zh) * 2016-12-30 2017-04-26 深圳市唯特视科技有限公司 一种基于区域卷积神经网络的实时目标检测方法
US10635927B2 (en) * 2017-03-06 2020-04-28 Honda Motor Co., Ltd. Systems for performing semantic segmentation and methods thereof
CN107169421B (zh) * 2017-04-20 2020-04-28 华南理工大学 一种基于深度卷积神经网络的汽车驾驶场景目标检测方法
US10460180B2 (en) * 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10579897B2 (en) * 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10223610B1 (en) * 2017-10-15 2019-03-05 International Business Machines Corporation System and method for detection and classification of findings in images
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
CN108681718B (zh) * 2018-05-20 2021-08-06 北京工业大学 一种无人机低空目标精准检测识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JeongYeol Baek, et al., "Scene Understanding Networks for Autonomous Driving based on Around View Monitoring System," arXiv:1805.07029v1 [cs.CV] (2018.05.17.)* *
Jifeng Dai et al., "R-FCN : Object Detection via Region-based Fully Convolutional Networks," arXiv:1605.06409v2 [cs.CV] (2016.06.21.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102270198B1 (ko) 2020-06-08 2021-06-28 주식회사 에스아이에이 앵커-프리 rpn 기반의 물체 검출 방법
KR20210152417A (ko) 2020-06-08 2021-12-15 주식회사 에스아이에이 앵커-프리 rpn 기반의 물체 검출 방법

Also Published As

Publication number Publication date
CN111104838B (zh) 2023-08-11
EP3644240A1 (en) 2020-04-29
CN111104838A (zh) 2020-05-05
JP6908939B2 (ja) 2021-07-28
KR102280401B1 (ko) 2021-07-23
JP2020068013A (ja) 2020-04-30
US10438082B1 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
KR102280401B1 (ko) 장애물의 하단 라인을 기준으로 roi를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102279361B1 (ko) 장애물을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP6974697B2 (ja) 教師データ生成装置、教師データ生成方法、教師データ生成プログラム、及び物体検出システム
KR102280406B1 (ko) 근접 장애물의 하단 라인과 상단 라인을 검출하여 객체 존재성을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10346693B1 (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
US9953437B1 (en) Method and device for constructing a table including information on a pooling type and testing method and testing device using the same
KR20200027428A (ko) 에지 이미지를 이용하여 객체를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR20200027427A (ko) 차선 후보 픽셀의 분류를 통해 차선을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR20200047307A (ko) 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN100561505C (zh) 一种图像检测方法及装置
KR20200091318A (ko) 자율주행 자동차의 레벨 4를 충족시키기 위해 요구되는 hd 맵 업데이트에 이용될 적어도 하나의 어댑티브 로스 가중치 맵을 이용한 어텐션 드리븐 이미지 세그먼테이션 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102252155B1 (ko) 자율주행 자동차의 레벨 4를 충족시키기 위해 필요한 hd 지도와의 콜라보레이션을 지원하는 임베딩 로스 및 소프트맥스 로스를 이용하여 적어도 하나의 차선을 가지는 이미지를 세그멘테이션하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN110879960B (zh) 生成卷积神经网络学习用图像数据集的方法及计算装置
KR20200027889A (ko) CNN(Convolutional Neural Network)을 사용하여 차선을 검출하기 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102306339B1 (ko) 리그레션 로스(Regression loss)를 이용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102309705B1 (ko) Cnn 기반 차선 검출을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN114943975A (zh) 一种基于深度学习的多模态搜题方法及系统

Legal Events

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