KR102301631B1 - 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치 - Google Patents

협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치 Download PDF

Info

Publication number
KR102301631B1
KR102301631B1 KR1020200007642A KR20200007642A KR102301631B1 KR 102301631 B1 KR102301631 B1 KR 102301631B1 KR 1020200007642 A KR1020200007642 A KR 1020200007642A KR 20200007642 A KR20200007642 A KR 20200007642A KR 102301631 B1 KR102301631 B1 KR 102301631B1
Authority
KR
South Korea
Prior art keywords
main
sub
learning
detection information
object detection
Prior art date
Application number
KR1020200007642A
Other languages
English (en)
Other versions
KR20200095387A (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 KR20200095387A publication Critical patent/KR20200095387A/ko
Application granted granted Critical
Publication of KR102301631B1 publication Critical patent/KR102301631B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • 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/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • G06K9/3233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)

Abstract

본 발명은 협업 주행(Cooperative Driving)을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합(Integrate)하는 방법에 있어서, 메인(Main) 자동차에 설치된 메인 주행 이미지 통합 장치(Driving Image Integrating Device)가, (a) 메인 주행 이미지들을 메인 객체 검출기(Object Detector)로 입력하여, (1) 메인 컨벌루션 레이어(Convolutional Layer)를 통해 컨벌루션 연산을 적용하여 메인 특징 맵(Feature Map)을 생성하도록 하고, (2) 메인 RPN(Region Proposal Network)을 통해 메인 ROI(Region Of Interest)를 생성하도록 하며, (3) 메인 풀링 레이어(Pooling Layer)를 통해 풀링 연산을 적용하여 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 하고, (4) 메인 FC 레이어(Fully Connected Layer)를 통해 FC 연산을 적용하여 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 하는 단계; (b) 메인 풀링된 특징 맵을 메인 컨피던스 네트워크(Confidence Network)로 입력하여, 메인 컨피던스를 생성하도록 하는 단계; 및 (c) 서브(Sub) 자동차들로부터 서브 객체 검출 정보와 서브 컨피던스를 획득하고, 메인 및 서브 컨피던스를 이용하여 메인 객체 검출 정보와 서브 객체 검출 정보를 통합하는 단계;를 포함하는 것을 특징으로 한다.

Description

협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치{METHOD FOR INTEGRATING DRIVING IMAGES ACQUIRED FROM VEHICLES PERFORMING COOPERATIVE DRIVING AND DRIVING IMAGE INTEGRATING DEVICE USING SAME}
본 발명은 협업 주행(Cooperative Driving)을 수행하는 자동차들로부터 획득된 주행 이미지(Driving Image)들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치에 관한 것으로, 보다 상세하게는, 자동차들에서 나온 주행 이미지들로부터 검출된 객체 검출 정보를 융합(Fusion)하여 주행 이미지들 내의 객체들을 로버스트(Robust)하게 인식할 수 있도록 상기 자동차들에서 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치에 관한 것이다.
딥러닝(Deep Learning)은, 다수의 프로세스 레이어(Processing Layer)를 갖는 딥그래프(Deep Graph)를 이용하여 데이터에서 높은 레벨로 추상화(Abstraction) 모델링하는 알고리즘 세트에 기초한 기계 학습(Machine Learning) 및 인공 뉴럴 네트워크(Artificial Neural Network)의 한 분야이다. 일반적인 딥러닝 아키텍처(Deep Learning Architecture)는 많은 뉴럴 레이어와 수백만 개의 파라미터를 포함할 수 있다. 이러한 파라미터는 ReLU, 드롭 아웃(Dropout), 데이터 증강(Data Augmentation) 및 SGD(Stochastic Gradient descent)와 같이, 많은 레이어와 함께 작동할 수 있는 새로운 학습 기법을 통해 고속 GPU가 장착된 컴퓨터 상에서 대용량 데이터로부터 학습될 수 있다.
기존의 딥러닝 아키텍처 중에서, CNN(Convolutional Neural Network)은 가장 널리 사용되는 딥러닝 아키텍처 중 하나다. CNN의 개념은 20년 이상 알려져 왔지만, CNN의 진정한 힘은 최근의 딥러닝 이론이 발달한 후에야 인식되었다. 현재 CNN은 얼굴 인식, 이미지 분류, 이미지 캡션 생성, 객체 검출, 시각적 질문 응답 및 자동 주행 자동차와 같은, 여러 인공 지능 및 기계 학습 응용 프로그램에서 큰 성공을 거두었다.
특히, 자율 주행 자동차에서의 객체 검출 기술은 도로 상의 다른 자동차, 보행자, 차선, 신호등 등을 검출하는데 널리 사용되는 것으로, 경우에 따라 자율 주행을 위해 다양한 객체를 검출하는 데에도 사용되고 있다.
또한, 객체 검출 기술은 자율 주행 자동차 이외에도 군사, 감시 등의 다른 분야에서도 사용되고 있다.
하지만, 종래의 객체 검출 기술은, 적용된 객체 검출기의 성능에 따라 객체에 대한 인식 결과가 달라지며, 인식된 결과가 최적 상태인지도 확인하기 어려운 문제점이 있다.
또한, 종래의 객체 검출 기술은 주변 환경에 따라 성능이 변하는 문제점도 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 객체 검출기의 인식 결과를 향상시키도록 하는 것을 다른 목적으로 한다.
본 발명은 주변 환경에 관계없이 정확하게 객체를 검출하도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 협업 주행(Cooperative Driving)을 수행하는 적어도 하나의 자동차들로부터 획득된 주행 이미지들을 통합(Integrate)하는 방법에 있어서, (a) 상기 적어도 하나의 자동차 중 적어도 하나의 메인(Main) 자동차에 설치된 메인 주행 이미지 통합 장치(Driving Image Integrating Device)가, (i) 상기 메인 자동차에 설치된 적어도 하나의 메인 카메라로부터 획득되는 적어도 하나의 메인 주행 이미지를 메인 객체 검출기(Object Detector)로 입력하여, 상기 메인 객체 검출기로 하여금, (i-1) 메인 컨벌루션 레이어(Convolutional Layer)를 통해 상기 메인 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 메인 특징 맵(Feature Map)을 생성하도록 하고, (i-2) 메인 RPN(Region Proposal Network)을 통해 상기 메인 특징 맵 상에서 적어도 하나의 메인 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 메인 ROI(Region Of Interest)를 생성하도록 하며, (i-3) 메인 풀링 레이어(Pooling Layer)를 통해 상기 메인 특징 맵 상에서 상기 메인 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 하고, (i-4) 메인 FC 레이어(Fully Connected Layer)를 통해 상기 메인 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 상기 메인 주행 이미지 상에 위치하는 상기 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 하는 프로세스를 수행하는 단계; (b) 상기 메인 주행 이미지 통합 장치가, 상기 메인 풀링된 특징 맵을 메인 컨피던스 네트워크(Confidence Network)로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 상기 메인 풀링된 특징 맵 각각에 대응되는 상기 메인 ROI 각각의 적어도 하나의 메인 컨피던스 각각을 생성하도록 하는 프로세스를 수행하는 단계; 및 (c) 상기 메인 주행 이미지 통합 장치가, 상기 협업 주행 중인 적어도 하나의 서브(Sub) 자동차 각각으로부터 서브 객체 검출 정보와 적어도 하나의 서브 컨피던스를 획득하는 프로세스, 및 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 프로세스를 수행함으로써, 상기 메인 주행 이미지의 적어도 하나의 객체 검출 결과를 생성하는 단계;를 포함하되, 상기 서브 객체 검출 정보와 상기 서브 컨피던스는, 상기 서브 자동차 각각에 설치된 적어도 하나의 서브 주행 이미지 통합 장치 각각에 의해 생성되고, 상기 서브 주행 이미지 통합 장치 각각은, (i) 서브 주행 이미지 각각을, 대응되는 서브 객체 검출기 각각으로 입력하여, 상기 서브 객체 검출기로 하여금, (i-1) 대응되는 서브 컨벌루션 레이어 각각을 통해 상기 서브 주행 이미지 각각에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 서브 특징 맵 각각을 생성하도록 하고, (i-2) 대응되는 서브 RPN 각각을 통해 상기 각각의 서브 특징 맵 상에 적어도 하나의 서브 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 서브 ROI를 생성하도록 하며, (i-3) 대응되는 서브 풀링 레이어 각각을 통해 상기 각각의 서브 특징 맵 상에서 상기 서브 ROI 각각에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 서브 풀링된 특징 맵 각각을 생성하도록 하고, (i-4) 대응되는 서브 FC 레이어 각각을 통해 상기 각각의 서브 풀링된 특징 맵에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 각각의 서브 주행 이미지 상에 위치하는 상기 서브 객체에 대한 상기 서브 객체 검출 정보를 생성하도록 하며, (i-5) 상기 서브 풀링된 특징 맵 각각을 서브 컨피던스 네트워크 각각으로 입력하여, 상기 서브 컨피던스 네트워크 각각으로 하여금 상기 서브 풀링된 특징 맵 각각에 대응되는 상기 서브 ROI의 상기 서브 컨피던스를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 메인 객체 검출기와 상기 메인 컨피던스 네트워크는 학습 장치에 의해 학습된 상태이되, 적어도 하나의 학습용 주행 이미지를 포함하는 트레이닝 데이터가 획득되면, 상기 학습 장치가, (i) 상기 트레이닝 데이터로부터, (i-1) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 - 상기 m은 1 이상의 정수임 - 를 포함하는 제1 트레이닝 데이터와 (i-2) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 - 상기 n은 1 이상의 정수임 - 를 포함하는 제2 트레이닝 데이터를 샘플링하는 프로세스, (ii) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 중 하나인 학습용 제1_j 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제1_j 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제1 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제1 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제1 특징 맵 상에 위치하는 적어도 하나의 학습용 객체에 대응되는 적어도 하나의 제1 ROI(Region Of Interest)를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제1 특징 맵 상에서 상기 제1 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제1 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 메인 FC 레이어로 하여금, 상기 제1 풀링된 특징 맵 또는 이에 대응되는 적어도 하나의 제1 특징 벡터(Feature Vector)에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 학습용 제1_j 주행 이미지 상에 위치하는 상기 학습용 객체에 대응되는 제1 객체 검출 정보를 생성하도록 하는 프로세스, (vi) 제1 로스 레이어(Loss Layer)로 하여금, 상기 제1 객체 검출 정보와 상기 학습용 제1_j 주행 이미지의 적어도 하나의 객체 GT(Ground Truth)를 참조하여 적어도 하나의 제1 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제1 로스를 이용한 백프로퍼게이션을 통해 상기 제1 로스를 최소화하도록 상기 메인 FC 레이어 및 상기 메인 컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대하여 수행함으로써, 상기 메인 객체 검출기를 학습하고, 상기 학습 장치가, (i) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대응되는 상기 제1 객체 검출 정보와 상기 객체 GT를 참조하여 상기 제1 ROI 각각의 적어도 하나의 제1 컨피던스 각각을 획득하는 프로세스, (ii) 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지 중 하나인 학습용 제2_k 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제2_k 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제2 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제2 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제2 특징 맵 상에 위치하는 상기 학습용 객체에 대응되는 적어도 하나의 제2 ROI를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제2 특징 맵 상에서 상기 제2 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제2 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 제2 풀링된 특징 맵을 상기 메인 컨피던스 네트워크로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 딥러닝(Deep Learning)을 통해 상기 제2 풀링된 특징 맵에 대응되는 적어도 하나의 제2 컨피던스를 생성하도록 하는 프로세스, (vi) 제2 로스 레이어로 하여금, 상기 제2 컨피던스와 상기 제1 컨피던스를 참조하여 적어도 하나의 제2 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 제2 로스를 최소화하도록 상기 메인 컨피던스 네트워크의 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지에 대하여 수행함으로써, 상기 메인 컨피던스 네트워크를 학습한 상태인 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 제1 객체 검출 정보와 이에 대응되는 객체 GT를 참조하여 상기 제1 ROI 각각의 상기 제1 컨피던스를 획득하되, 상기 제1 ROI 각각에 상기 학습용 객체 각각이 없을 경우에 상기 제1 컨피던스 각각은 "0"이고, 상기 제1 ROI 각각에 상기 학습용 객체 각각이 있을 경우에 상기 제1 컨피던스 각각은 "1-박스_에러Х클래스_에러(1-Box_ErrorХClass_Error)"이고, 상기 각각의 박스_에러는 상기 제1 객체 검출 정보에 포함된 바운딩 박스(Bounding Box)들의 각각의 에러이며, 상기 각각의 클래스_에러는 상기 제1 객체 검출 정보에 포함된 클래스 정보의 각각의 에러인 것을 특징으로 한다.
일 실시예에서, (i) 상기 각각의 박스_에러는, (i-1) 상기 각각의 학습용 객체의 각각의 사이즈의 (i-2) 상기 바운딩 박스들의 각각의 중심 포인트의 에러의 합에 대한 비율이며, (ii) 상기 각각의 클래스_에러는, 상기 제1 객체 검출 정보에 포함된, 상기 학습용 객체 각각을 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값의 클래스 에러의 각각의 합인 것을 특징으로 한다.
일 실시예에서, 상기 메인 컨피던스와 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서, 상기 메인 주행 이미지 통합 장치는, (i) 상기 메인 컨피던스 및 상기 서브 컨피던스 중 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 클래스 각각에 대한 추정 값 각각의 가중합(Weighted Sum)을 산출하는 프로세스, 및 가중합된 클래스 중 가장 큰 값을 가지는 특정 클래스를 상기 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득하는 프로세스, 및 (ii) 상기 특정 객체 검출 정보 각각에 대응되는 상기 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 특정 리그레션 정보 각각의 가중합을 산출하는 프로세스, 및 가중합된 리그레션 정보를 상기 특정 객체에 대응되는 최적 리그레션 정보로 획득하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서, 상기 제1 객체 검출 정보 중 제1 중첩 객체 검출 정보(Overlapping Object Detection Information)와 상기 제2 객체 검출 정보 중 제2 중첩 객체 검출 정보가 서로 중첩되어 존재한다고 판단될 경우, 상기 메인 주행 이미지 통합 장치는, (i) 상기 제1 중첩 객체 검출 정보에 대응되는 제1 바운딩 박스와 상기 제2 중첩 객체 검출 정보에 대응되는 제2 바운딩 박스의 IOU(Intersection Over Union)가 기설정된 임계치 이상이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 상기 특정 객체에 대응되는 것으로 판단하는 프로세스, 및 (ii) 상기 IOU가 상기 기설정된 임계치 미만이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 서로 다른 객체에 대응되는 것으로 판단하는 프로세스를 수행하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 협업 주행(Cooperative Driving)을 수행하는 적어도 하나의 자동차 중 적어도 하나의 메인(Main) 자동차에 설치된, 상기 자동차들로부터 획득된 주행 이미지들을 통합(Integrate)하는 메인 주행 이미지 통합 장치(Driving Image Integrating Device)에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 상기 메인 자동차에 설치된 적어도 하나의 메인 카메라로부터 획득되는 적어도 하나의 메인 주행 이미지를 메인 객체 검출기(Object Detector)로 입력하여, 상기 메인 객체 검출기로 하여금, (I-1) 메인 컨벌루션 레이어(Convolutional Layer)를 통해 상기 메인 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 메인 특징 맵(Feature Map)을 생성하도록 하고, (I-2) 메인 RPN(Region Proposal Network)을 통해 상기 메인 특징 맵 상에서 적어도 하나의 메인 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 메인 ROI(Region Of Interest)를 생성하도록 하며, (I-3) 메인 풀링 레이어(Pooling Layer)를 통해 상기 메인 특징 맵 상에서 상기 메인 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 하고, (I-4) 메인 FC 레이어(Fully Connected Layer)를 통해 상기 메인 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 상기 메인 주행 이미지 상에 위치하는 상기 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 하는 프로세스, (II) 상기 메인 풀링된 특징 맵을 메인 컨피던스 네트워크(Confidence Network)로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 상기 메인 풀링된 특징 맵 각각에 대응되는 상기 메인 ROI 각각의 적어도 하나의 메인 컨피던스 각각을 생성하도록 하는 프로세스, 및 (III) 상기 협업 주행 중인 적어도 하나의 서브(Sub) 자동차 각각으로부터 서브 객체 검출 정보와 적어도 하나의 서브 컨피던스를 획득하는 프로세스, 및 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 프로세스를 수행함으로써, 상기 메인 주행 이미지의 적어도 하나의 객체 검출 결과를 생성하는 프로세스를 수행하도록 하는 프로세스를 수행하거나 타 장치로 하여금 수행하도록 지원하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서를 포함하되, 상기 서브 객체 검출 정보와 상기 서브 컨피던스는, 상기 서브 자동차 각각에 설치된 적어도 하나의 서브 주행 이미지 통합 장치 각각에 의해 생성되고, 상기 서브 주행 이미지 통합 장치 각각은, (i) 서브 주행 이미지 각각을 대응되는 서브 객체 검출기 각각으로 입력하여, 상기 서브 객체 검출기 각각으로 하여금, (i-1) 대응되는 서브 컨벌루션 레이어 각각을 통해 상기 서브 주행 이미지 각각에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 서브 특징 맵 각각을 생성하도록 하고, (i-2) 대응되는 서브 RPN 각각을 통해 상기 각각의 서브 특징 맵 상에 적어도 하나의 서브 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 서브 ROI를 생성하도록 하며, (i-3) 대응되는 서브 풀링 레이어 각각을 통해 상기 각각의 서브 특징 맵 상에서 상기 서브 ROI 각각에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 서브 풀링된 특징 맵 각각을 생성하도록 하고, (i-4) 대응되는 서브 FC 레이어 각각을 통해 상기 각각의 서브 풀링된 특징 맵에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 각각의 서브 주행 이미지 상에 위치하는 상기 서브 객체에 대한 상기 서브 객체 검출 정보를 생성하도록 하며, (i-5) 상기 서브 풀링된 특징 맵 각각을 서브 컨피던스 네트워크 각각으로 입력하여, 상기 서브 컨피던스 네트워크 각각으로 하여금 상기 서브 풀링된 특징 맵 각각에 대응되는 상기 서브 ROI의 상기 서브 컨피던스를 생성하는 것을 특징으로 한다.
일 실시예에서, 상기 메인 객체 검출기와 상기 메인 컨피던스 네트워크는 학습 장치에 의해 학습된 상태이되, 적어도 하나의 학습용 주행 이미지를 포함하는 트레이닝 데이터가 획득되면, 상기 학습 장치가, (i) 상기 트레이닝 데이터로부터, (i-1) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 - 상기 m은 1 이상의 정수임 - 를 포함하는 제1 트레이닝 데이터와 (i-2) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 - 상기 n은 1 이상의 정수임 - 를 포함하는 제2 트레이닝 데이터를 샘플링하는 프로세스, (ii) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 중 하나인 학습용 제1_j 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제1_j 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제1 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제1 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제1 특징 맵 상에 위치하는 적어도 하나의 학습용 객체에 대응되는 적어도 하나의 제1 ROI(Region Of Interest)를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제1 특징 맵 상에서 상기 제1 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제1 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 메인 FC 레이어로 하여금, 상기 제1 풀링된 특징 맵 또는 이에 대응되는 적어도 하나의 제1 특징 벡터(Feature Vector)에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 학습용 제1_j 주행 이미지 상에 위치하는 상기 학습용 객체에 대응되는 제1 객체 검출 정보를 생성하도록 하는 프로세스, (vi) 제1 로스 레이어(Loss Layer)로 하여금, 상기 제1 객체 검출 정보와 상기 학습용 제1_j 주행 이미지의 적어도 하나의 객체 GT(Ground Truth)를 참조하여 적어도 하나의 제1 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제1 로스를 이용한 백프로퍼게이션을 통해 상기 제1 로스를 최소화하도록 상기 메인 FC 레이어 및 상기 메인 컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대하여 수행함으로써, 상기 메인 객체 검출기를 학습하고, 상기 학습 장치가, (i) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대응되는 상기 제1 객체 검출 정보와 상기 객체 GT를 참조하여 상기 제1 ROI 각각의 적어도 하나의 제1 컨피던스 각각을 획득하는 프로세스, (ii) 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지 중 하나인 학습용 제2_k 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제2_k 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제2 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제2 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제2 특징 맵 상에 위치하는 상기 학습용 객체에 대응되는 적어도 하나의 제2 ROI를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제2 특징 맵 상에서 상기 제2 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제2 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 제2 풀링된 특징 맵을 상기 메인 컨피던스 네트워크로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 딥러닝(Deep Learning)을 통해 상기 제2 풀링된 특징 맵에 대응되는 적어도 하나의 제2 컨피던스를 생성하도록 하는 프로세스, (vi) 제2 로스 레이어로 하여금, 상기 제2 컨피던스와 상기 제1 컨피던스를 참조하여 적어도 하나의 제2 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 제2 로스를 최소화하도록 상기 메인 컨피던스 네트워크의 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지에 대하여 수행함으로써, 상기 메인 컨피던스 네트워크를 학습한 상태인 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 제1 객체 검출 정보와 이에 대응되는 객체 GT를 참조하여 상기 제1 ROI 각각의 상기 제1 컨피던스를 획득하되, 상기 제1 ROI 각각에 상기 학습용 객체 각각이 없을 경우에 상기 제1 컨피던스 각각은 "0"이고, 상기 제1 ROI 각각에 상기 학습용 객체 각각이 있을 경우에 상기 제1 컨피던스 각각은 "1-박스_에러Х클래스_에러(1-Box_ErrorХClass_Error)"이고, 상기 각각의 박스_에러는 상기 제1 객체 검출 정보에 포함된 바운딩 박스(Bounding Box)들의 각각의 에러이며, 상기 각각의 클래스_에러는 상기 제1 객체 검출 정보에 포함된 클래스 정보의 각각의 에러인 것을 특징으로 한다.
일 실시예에서, (i) 상기 각각의 박스_에러는, (i-1) 상기 각각의 학습용 객체의 각각의 사이즈의 (i-2) 상기 바운딩 박스들의 각각의 중심 포인트의 에러의 합에 대한 비율이며, (ii) 상기 각각의 클래스_에러는, 상기 제1 객체 검출 정보에 포함된, 상기 학습용 객체 각각을 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값의 클래스 에러의 각각의 합인 것을 특징으로 한다.
일 실시예에서, 상기 메인 컨피던스와 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서, 상기 프로세서는, (i) 상기 메인 컨피던스 및 상기 서브 컨피던스 중 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 클래스 각각에 대한 추정 값 각각의 가중합(Weighted Sum)을 산출하는 프로세스, 및 가중합된 클래스 중 가장 큰 값을 가지는 특정 클래스를 상기 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득하는 프로세스, 및 (ii) 상기 특정 객체 검출 정보 각각에 대응되는 상기 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 특정 리그레션 정보 각각의 가중합을 산출하는 프로세스, 및 가중합된 리그레션 정보를 상기 특정 객체에 대응되는 최적 리그레션 정보로 획득하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서, 상기 제1 객체 검출 정보 중 제1 중첩 객체 검출 정보(Overlapping Object Detection Information)와 상기 제2 객체 검출 정보 중 제2 중첩 객체 검출 정보가 서로 중첩되어 존재한다고 판단될 경우, 상기 프로세서는, (i) 상기 제1 중첩 객체 검출 정보에 대응되는 제1 바운딩 박스와 상기 제2 중첩 객체 검출 정보에 대응되는 제2 바운딩 박스의 IOU(Intersection Over Union)가 기설정된 임계치 이상이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 상기 특정 객체에 대응되는 것으로 판단하는 프로세스, 및 (ii) 상기 IOU가 상기 기설정된 임계치 미만이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 서로 다른 객체에 대응되는 것으로 판단하는 프로세스를 수행하는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 다수의 카메라로부터 나온 인식 결과를 통합함으로써 객체 검출기의 인식 성과를 향상시킬 수 있는 효과가 있다.
본 발명은 다수의 카메라로부터 나온 인식 결과를 통합함으로써 주변 환경에 관계없이 정확하게 객체를 검출할 수 있는 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따라 협업 주행(Cooperative Driving)을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따라 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치 각각이 설치된 협업 주행 자동차가 협업 주행 상태에서 주행 이미지들을 통합하는 프로세스를 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따라 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 방법을 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따라 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 학습하는 학습 장치를 개략적으로 도시한 것이고,
도 5는 본 발명의 일 실시예에 따라 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 학습하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
여기에 제공되는 본 발명의 제목이나 요약은 단지 편의를 위해 제공되는 것으로 이 실시 예들의 범위 또는 의미를 제한하거나 해석하지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
이하의 설명에서는, 자동차를 예로 들어 설명하지만, 본 발명이 이에 한정되는 것은 아니며, 군사, 감시 등의 분야와 같이 적어도 하나의 카메라가 적어도 하나의 소정 영역의 적어도 하나의 객체를 검출하는 분야에는 어디든 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따라 협업 주행 (Cooperative Driving)을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 개략적으로 도시한 것이다. 도 1을 참조하면, 주행 이미지 통합 장치(100)는, 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하기 위한 인스트럭션(Instruction)을 저장하는 메모리(110)와, 메모리(110)에 저장된 인스트럭션에 대응하여 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 동작을 수행하는 프로세서(120)를 포함할 수 있다.
구체적으로, 주행 이미지 통합 장치(100)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 메모리, 미디엄 또는 기타 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따라 주행 이미지 통합 장치(100)를 이용하여 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 방법을 설명하면 다음과 같다.
먼저, 도 2를 참조하면, 도로를 협업 주행 중인 자동차의 주행 이미지 통합 장치(100) 각각은, 각각의 자동차에 설치된 카메라로부터 촬영된 적어도 하나의 주행 이미지 상의 적어도 하나의 객체를 검출하여, 각각의 검출된 객체에 대응되는 각각의 적어도 하나의 컨피던스(Confidence)를 생성할 수 있다. 이때, 객체는, 적어도 하나의 자동차, 적어도 한 명의 보행자, 적어도 하나의 신호등, 적어도 하나의 차선, 적어도 하나의 가드레일 등과 같이 주행 환경에 포함된 객체는 무엇이든 포함할 수 있다.
그리고, 각각의 자동차 상의 각각의 주행 이미지 통합 장치(100)는, (i) 객체 각각에 대한 클래스 정보와 리그레션 정보를 포함하는 상기 검출된 객체에 대한 정보, 예를 들면, 객체 검출 정보와 (ii) 각각의 객체 검출 정보에 대응되는 각각의 컨피던스 정보를, 자동차간(Vehicle To Vehicle) 통신을 통해 주변의 적어도 하나의 서브 자동차(Sub-vehicle)와 공유할 수 있다.
그러면, 각각의 자동차 상의 각각의 주행 이미지 통합 장치(100)는, 자신의 객체 검출 정보 및 컨피던스 정보와, 서브 자동차들로부터 수신되는 객체 검출 정보 및 이에 대응되는 컨피던스 정보를 이용하여 협업 주행 중인 모든 자동차의 인식 결과를 통합함으로써, 적어도 하나의 최적 객체 검출 결과(Optimal Object Detection Result)를 생성할 수 있다.
이때, 도 3을 참조하여, 협업 주행을 수행하는 자동차 중 메인(Main) 자동차에 설치된 메인 주행 이미지 통합 장치(100)의 프로세스를 설명하면 다음과 같다. 본 발명 전반에 걸쳐, 접두사 "메인(Main)"과 "서브(Sub)"는 상대적인 관점을 나타낸다. 다수의 개체 중에서, 적어도 하나의 특정 개체가 메인 개체, 예를 들면, 테스트용 메인 객체 또는 학습용 메인 객체로 지정되면, 나머지 개체들은 서브 개체, 예를 들면, 테스트용 서브 객체 또는 학습용 서브 객체로 각각 지정될 수 있으며, 개체 중 어떤 것이든 메인 개체가 될 수 있다.
먼저, 협업 주행 중인 모든 자동차 중 메인 자동차에 설치된 메인 주행 이미지 통합 장치(100)는, 메인 자동차에 설치된 적어도 하나의 메인 카메라로부터 획득되는 적어도 하나의 메인 주행 이미지를 메인 객체 검출기(150)로 입력하는 프로세스를 수행할 수 있다.
그러면, 메인 객체 검출기(150)는, 메인 주행 이미지를 메인 컨벌루션 레이어(151)로 입력하여, 메인 컨벌루션 레이어(151)로 하여금 메인 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 메인 특징 맵(Feature Map)을 생성하도록 할 수 있다. 도 5에서 참조번호 151 이 가리키는 대상이 메인 컨벌루션 레이어 뿐만 아니라 서브 컨벌루션 레이어일 수도 있기 때문에, "메인" 및 "서브"라는 용어는 도면에서 생략되었다. 하지만 "메인" 및 "서브"는 이해의 편의를 돕기 위해 상세한 설명에서는 사용되었다.
그리고, 메인 객체 검출기(150)는, 메인 특징 맵을 메인 RPN(Region Proposal Network)(152)에 입력하여, 메인 RPN로 하여금 메인 특징 맵 상에서 적어도 하나의 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 메인 ROI(Region Of Interest)를 생성하도록 할 수 있다. 참고로, 본 발명 전반에 걸쳐, 이하의 설명에서 혼동을 피하기 위해 "학습용"이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, "테스트용"이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다. 또한, 메인 객체와 서브 객체의 경우, 메인 객체는 테스트용 메인 객체를, 서브 객체는 테스트용 서브 객체를 나타내지만, 편의를 위해 "테스트용"은 생략되었다.
이후, 메인 객체 검출기(150)는, 메인 ROI와 메인 특징 맵을 메인 풀링 레이어(Pooling Layer)(153)에 입력하여, 메인 풀링 레이어(153)로 하여금 메인 특징 맵 상에서 메인 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 할 수 있다.
그리고, 메인 객체 검출기(150)는, 메인 풀링된 특징 맵을 메인 FC 레이어(Fully Connected Layer)(154)로 입력하여, 메인 FC 레이어(154)로 하여금 메인 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 메인 주행 이미지 상에 위치하는 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 할 수 있다.
이때, 메인 객체 검출기(150)는, 메인 풀링된 특징 맵을 적어도 하나의 벡터로 변환하여 생성된 적어도 하나의 메인 특징 벡터(Feature Vector)를 메인 FC 레이어(154)에 입력할 수 있다.
그리고, 각각의 메인 객체 검출 정보는, 메인 객체에 대응되는 클래스 정보와 리그레션 정보를 포함할 수 있다. 또한, 메인 객체에 대한 클래스 정보는 메인 FC 레이어(154)에 의해 메인 객체를 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값을 포함할 수 있으며, 메인 객체에 대한 리그레션 정보는 각각의 메인 풀링된 특징 맵에 대응되는 메인 ROI의 위치를 리그레션하여 생성된 위치 정보, 즉, 바운딩 박스들에 대한 위치 정보를 포함할 수 있다.
다음으로, 메인 주행 이미지 통합 장치(100)는, 메인 풀링된 특징 맵을 메인 컨피던스 네트워크(160)로 입력하여, 메인 컨피던스 네트워크(160)로 하여금 각각의 메인 풀링된 특징 맵에 대응되는 각각의 메인 ROI에 대한 적어도 하나의 메인 컨피던스 각각을 생성하도록 하는 프로세스를 수행할 수 있다. 이때, 메인 컨피던스 네트워크(160)는, 각각의 메인 ROI의 메인 컨피던스를 출력하도록 학습된 상태일 수 있으며, 그에 따라 메인 풀링된 특징 맵 각각에 대응되는 메인 컨피던스는 딥러닝(Deep Learning)에 의해 학습된 적어도 하나의 파라미터에 따라 생성될 수 있다. 메인 컨피던스 네트워크(160)의 학습 프로세스에 대해서는 다음에 설명하기로 한다.
다음으로, 메인 주행 이미지 통합 장치(100)는, 협업 주행 중인 적어도 하나의 서브 자동차 각각으로부터 서브 객체 검출 정보와 적어도 하나의 서브 컨피던스를 자동차간 통신을 통해 획득하는 프로세스, 및 메인 컨피던스와 서브 컨피던스를 가중치로 이용하여 메인 객체 검출 정보와 서브 객체 검출 정보를 통합하는 프로세스를 수행함으로써, 메인 주행 이미지의 적어도 하나의 객체 검출 결과를 생성할 수 있다.
이때, 메인 컨피던스 및 서브 컨피던스를 가중치로 이용하여 메인 객체 검출 정보와 서브 객체 검출 정보를 통합하는 프로세스를 수행하는 데에 있어서, 메인 객체와 서브 객체 중 하나인 특정 객체에 대응되는 객체 검출 정보가 존재한다고 판단되는 경우, 메인 주행 이미지 통합 장치(100)는, (i) 메인 컨피던스 및 서브 컨피던스 중 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 특정 객체 검출 정보 각각에 포함된 클래스 각각에 대한 추정 값 각각의 가중합(Weighted Sum)을 산출하는 프로세스, 및 가중합된 클래스 중 가장 큰 값을 가지는 특정 클래스를 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득하는 프로세스, 및 (ii) 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 특정 객체 검출 정보 각각에 포함된 특정 리그레션 정보 각각의 가중합을 산출하는 프로세스, 및 가중합된 리그레션 정보를 특정 객체에 대응되는 최적 리그레션 정보로 획득하는 프로세스를 수행할 수 있다.
일 예로, 메인 FC 레이어(154)가 특정 객체를 자동차, 보행자, 또는 오토바이로 분류할 경우, (i) 메인 객체 검출 정보에 포함된 제1 클래스 정보, 즉, 제1 객체 검출 정보는, 특정 객체가 자동차일 것으로 예측한 제1_1 예측 값, 특정 객체가 보행자일 것으로 예측한 제1_2 예측 값, 및 특정 객체가 오토바이일 것으로 예측한 제1_3 예측 값을 포함할 수 있으며, (ii) 서브 자동차 중 하나로부터 획득된 제2 객체 검출 정보에 포함된 제2 클래스 정보는, 특정 객체가 자동차일 것으로 예측한 제2_1 예측 값, 특정 객체가 보행자일 것으로 예측한 제2_2 예측 값, 특정 객체가 오토바이일 것으로 예측한 제2_3 예측 값을 포함할 수 있으며, (iii) 서브 자동차 중 다른 하나로부터 획득된 제3 객체 검출 정보에 포함된 제3 클래스 정보는, 특정 객체가 자동차일 것으로 예측한 제3_1 예측 값, 특정 객체가 보행자일 것으로 예측한 제3_2 예측 값, 특정 객체가 오토바이일 것으로 예측한 제3_3 예측 값을 포함할 수 있다. 그리고, 제1 객체 검출 정보에 대응되는 컨피던스를 제1 컨피던스, 제2 객체 검출 정보에 대응되는 컨피던스를 제2 컨피던스, 제3 객체 검출 정보에 대응되는 컨피던스를 제3 컨피던스라 하면, 메인 주행 이미지 통합 장치(100)에 의해 통합된 특정 객체에 대한 통합 클래스 정보(Integrated Class Information)는, 특정 객체가 자동차일 것으로 예측하는 통합 예측 값이 "(제1_1 예측 값 X 제1 컨피던스) + (제2_1 예측 값 X 제2 컨피던스) + (제3_1 예측 값 X 제3 컨피던스)"와 같이 되며, 특정 객체가 보행자일 것으로 예측하는 통합 예측 값은 "(제1_2 예측 값 X 제1 컨피던스) + (제2_2 예측 값 X 제2 컨피던스) + (제3_2 예측 값 X 제3 컨피던스)"와 같이 되고, 특정 객체가 오토바이일 것으로 예측하는 통합 예측 값은 "(제1_3 예측 값 X 제1 컨피던스) + (제2_3 예측 값 X 제2 컨피던스) + (제3_3 예측 값 X 제3 컨피던스)"과 같이 되도록, 각각의 컨피던스를 가중치로 이용하여 클래스 별 예측 값 각각을 가중합하여 산출될 수 있다. 결과적으로 가중합된 예측 값 중 가장 큰 값을 가지는 특정 클래스는, 통합 이미지(Integrated Image) 상의 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득될 수 있다. 이 때, 제1 객체 검출 정보는 메인 객체에 대응된다.
또한, 특정 리그레션 정보, 즉, 특정 객체의 바운딩한 바운딩 박스들에 대한 위치 정보도, 유사한 방법에 의해 특정 컨피던스를 가중치로 이용하여 가중합될 수 있으며, 가중합된 리그레션 정보는, 특정 객체에 대응되는 최적 리그레션 정보로 결정될 수 있다. 이 때, 특정 객체의 바운딩 박스들은 특정 객체가 위치한다고 예측되는 ROI를 바운딩하여 생성될 수 있다.
또한, 메인 컨피던스 및 서브 컨피던스를 가중치로 이용하여 메인 객체 검출 정보와 서브 객체 검출 정보를 통합하는 데 있어서, 제1 객체 검출 정보 중 제1 중첩 객체 검출 정보(Overlapping Object Detection Information)와 제2 객체 검출 정보 중 제2 중첩 객체 검출 정보가 서로 중첩되어 존재한다고 판단될 경우, 메인 주행 이미지 통합 장치(100)는, (i) 제1 중첩 객체 검출 정보에 대응되는 제1 바운딩 박스와 제2 중첩 객체 검출 정보에 대응되는 제2 바운딩 박스의 IOU(Intersection Over Union)가 기설정된 임계치 이상이면, 제1 중첩 객체 검출 정보와 제2 중첩 객체 검출 정보가 특정 객체에 대응되는 것으로 판단하는 프로세스, 및 (ii) IOU가 기설정된 임계치 미만이면, 제1 중첩 객체 검출 정보와 제2 중첩 객체 검출 정보가 서로 다른 객체에 대응되는 것으로 판단하는 프로세스를 수행할 수 있다.
한편, 서브 객체 검출 정보와 서브 컨피던스는 서브 자동차 각각에 설치된 적어도 하나의 서브 주행 이미지 통합 장치 각각에 의해 생성될 수 있다. 자세히 살펴보면, 각각의 서브 주행 이미지 통합 장치는, (i) 적어도 하나의 서브 주행 이미지 각각을, 대응되는 서브 객체 검출기 각각으로 입력하여, 서브 객체 검출기 각각으로 하여금, (i-1) 대응되는 서브 컨벌루션 레이어 각각을 통해 서브 주행 이미지 각각에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 서브 특징 맵 각각을 생성하도록 하고, (i-2) 대응되는 서브 RPN 각각을 통해 각각의 서브 특징 맵 상에 적어도 하나의 서브 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 서브 ROI를 생성하도록 하며, (i-3) 대응되는 서브 풀링 레이어 각각을 통해 각각의 서브 특징 맵 상에서 서브 ROI 각각에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 서브 풀링된 특징 맵 각각을 생성하도록 하고, (i-4) 대응되는 서브 FC 레이어 각각을 통해 각각의 서브 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 각각의 서브 주행 이미지 상에 위치하는 서브 객체에 대한 서브 객체 검출 정보를 생성하도록 하며, (i-5) 서브 풀링된 특징 맵 각각을 서브 컨피던스 네트워크 각각으로 입력하여, 서브 컨피던스 네트워크 각각으로 하여금 서브 풀링된 특징 맵 각각에 대응되는 서브 ROI의 상기 서브 컨피던스를 생성하도록 하는 프로세스를 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따라 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 학습하는 학습 장치를 개략적으로 도시한 것이다. 도 4를 참조하면, 학습 장치(200)는, 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 학습하기 위한 인스트럭션을 저장하는 메모리(210)와, 메모리(210)에 저장된 인스트럭션에 대응하여 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 통합 장치를 학습하는 동작을 수행하는 프로세서(220)를 포함할 수 있다.
구체적으로, 학습 장치(200)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 메모리, 미디엄 또는 기타 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(200)를 이용하여 협업 주행 중인 자동차들로부터 획득된 주행 이미지들을 통합하는 주행 이미지 학습 장치를 학습하는 방법을 도 5를 참조하여 설명하면 다음과 같다. 협업 주행 중인 자동차 중에서 메인 자동차에 설치된 메인 주행 이미지 통합 장치를 학습하는 방법을 설명하면 다음과 같다.
먼저, 적어도 하나의 학습용 주행 이미지를 포함하는 트레이닝 데이터가 획득되면, 학습 장치(200)는, (i) 트레이닝 데이터로부터 (i-1) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지를 포함하는 제1 트레이닝 데이터와 (i-2) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지를 포함하는 제2 트레이닝 데이터를 샘플링하는 프로세스를 수행할 수 있다. 이 때, m과 n은 각각 1 이상의 정수일 수 있다.
그리고, 학습 장치(200)는, (ii) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 중 하나인 학습용 제1_j 주행 이미지를 메인 컨벌루션 레이어(151)에 입력하여, 메인 컨벌루션 레이어(151)로 하여금 학습용 제1_j 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제1 특징 맵을 생성하도록 하는 프로세스, 및 (iii) 제1 특징 맵을 메인 RPN(152)에 입력하여, 메인 RPN(152)로 하여금 제1 특징 맵 상에 위치하는 적어도 하나의 학습용 객체에 대응되는 적어도 하나의 제1 ROI를 생성하도록 하는 프로세스를 수행할 수 있다.
이후, 학습 장치(200)는 (iv) 제1 ROI와 제1 특징 맵을 메인 풀링 레이어(153)에 입력하여, 메인 풀링 레이어(153)로 하여금 제1 특징 맵 상에서 제1 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제1 풀링된 특징 맵을 생성하도록 하는 프로세스, 및 (v) 제1 풀링된 특징 맵 또는 제1 풀링된 특징 맵으로부터 생성된 적어도 하나의 제1 특징 벡터를 메인 FC 레이어(154)로 입력하여, 메인 FC 레이어(154)로 하여금 제1 풀링된 특징 맵에 대응되는 제1 특징 벡터 또는 제1 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 학습용 제1_j 주행 이미지 상에 위치하는 학습용 객체에 대응되는 제1 객체 검출 정보를 생성하도록 하는 프로세스를 수행할 수 있다. 이때, 각각의 제1 객체 검출 정보는 학습용 객체에 대응되는 클래스 정보와 리그레션 정보를 포함할 수 있다. 그리고 학습용 객체에 대한 클래스 정보는 메인 FC 레이어(154)에 의해 학습용 객체를 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값을 포함할 수 있으며, 학습용 객체에 대한 리그레션 정보는 메인 풀링된 특징 맵 각각에 대응되는 메인 ROI의 위치를 리그레션하여 생성된 위치 정보, 즉, 바운딩 박스들에 대한 위치 정보를 포함할 수 있다.
그리고, 학습 장치(200)는, (vi) 제1 로스 레이어(155)로 하여금, 제1 객체 검출 정보와 학습용 제1_j 주행 이미지의 적어도 하나의 객체 GT(Ground Truth)를 참조하여 적어도 하나의 제1 로스를 산출하도록 하는 프로세스, 및 (vii) 제1 로스를 이용한 백프로퍼게이션을 통해 제1 로스를 최소화하도록 메인 FC 레이어 및 메인 컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 프로세스를, 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 각각에 대하여 수행함으로써, 메인 객체 검출기를 학습할 수 있다.
다음으로, 학습 장치(200)는, (i) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 각각에 대응되는 제1 객체 검출 정보와 이에 대응되는 객체 GT를 참조하여 제1 ROI 각각의 적어도 하나의 제1 컨피던스를 획득하는 프로세스를 수행할 수 있다.
이때, 학습 장치(200)는, 제1 객체 검출 정보와 이에 대응되는 객체 GT를 참조하여 제1 ROI 각각의 제1 컨피던스 각각을 획득하되, 제1 ROI 각각에 학습용 객체 각각이 없을 경우에 제1 컨피던스 각각은 "0"이고, 제1 ROI 각각에 학습용 객체 각각이 있을 경우에 제1 컨피던스 각각은 "1-박스_에러Х클래스_에러(1-Box_ErrorХClass_Error)"일 수 있다.
그리고, 각각의 박스_에러는 제1 객체 검출 정보에 포함된 바운딩 박스들의 각각의 에러이며, 각각의 클래스_에러는 제1 객체 검출 정보에 포함된 클래스 정보의 각각의 에러일 수 있다.
또한, (i) 각각의 박스_에러는, (i-1) 각각의 학습용 객체의 각각의 사이즈의 (i-2) 바운딩 박스들의 각각의 중심 포인트의 에러의 합에 대한 비율일 수 있으며, (ii) 상기 각각의 클래스_에러는, 제1 객체 검출 정보에 포함된, 학습용 객체 각각을 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값의 클래스 에러의 각각의 합일 수 있다.
즉, 박스_에러
Figure 112020006676999-pat00001
이며,
클래스_에러
Figure 112020006676999-pat00002
로 나타낼 수 있다.
다음으로, 학습 장치(200)는, (ii) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 중 하나인 학습용 제2_k 주행 이미지를 메인 컨벌루션 레이어(151)에 입력하여, 메인 컨벌루션 레이어(151)로 하여금 학습용 제2_k 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제2 특징 맵을 생성하도록 하는 프로세스, 및 (iii) 제2 특징 맵을 메인 RPN(152)에 입력하여, 메인 RPN(152)로 하여금 제2 특징 맵 상에 위치하는 학습용 객체에 대응되는 적어도 하나의 제2 ROI(Region Of Interest)를 생성하도록 하는 프로세스를 수행할 수 있다.
그리고, 학습 장치(200)는, (iv) 메인 풀링 레이어(153)로 하여금 제2 특징 맵 상에서 제2 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적용하여 적어도 하나의 제2 풀링된 특징 맵을 생성하도록 하는 프로세스, 및 (v) 제2 풀링된 특징 맵을 메인 컨피던스 네트워크(160)로 입력하여, 메인 컨피던스 네트워크(160)로 하여금 딥러닝을 통해 제2 풀링된 특징 맵에 대응되는 적어도 하나의 제2 컨피던스를 생성하도록 하는 프로세스를 수행할 수 있다.
이후, 학습 장치(200)는, (vi) 제2 로스 레이어(161)로 하여금 제2 컨피던스와 제1 컨피던스를 참조하여 적어도 하나의 제2 로스를 산출하도록 하는 프로세스, 및 (vii) 제2 로스를 이용한 백프로퍼게이션을 통해 제2 로스를 최소화하도록 메인 컨피던스 네트워크(160)의 적어도 하나의 파라미터를 업데이트하는 프로세스를, 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 각각에 대하여 수행함으로써, 메인 컨피던스 네트워크(160)를 학습하는 프로세스를 수행할 수 있다.
즉, 학습 장치(200)는, 메인 객체 검출기(150)의 학습 프로세스 중 생성된 제1 풀링된 특징 맵 각각에 대응되는 제1 컨피던스 각각을 획득할 수 있으며, 제1 풀링된 특징 맵과 이에 대응되는 제2 컨피던스를 이용하여 제1 풀링된 특징 맵에 대응되는 제1 컨피던스의 적어도 일부를 출력하도록 메인 컨피던스 네트워크(160)를 학습할 수 있다.
한편, 상기에서는 협업 주행 중인 자동차를 예시로 하여 설명하였으나, 동일한 장소에서 여러 대의 카메라를 이용해 감시하는 감시 시스템, 군사 시스템에서도 본 발명에 따라 객체 검출기의 인식 성능을 향상시킬 수 있으며, 그에 따라 객체 검출 시스템의 안정성을 향상시킬 수 있다.
상기에서 설명한 바와 같이, 본 발명은 다수의 카메라의 영상 이미지의 인식 결과 및 컨피던스를 자동차간 정보 융합을 통해 통합하여 최적 인식 결과를 제공함으로써, 객체 검출을 이용하여 감시 시스템, 군사 시스템의 안정성을 향상시킬 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 주행 이미지 통합 장치,
110: 메모리,
120: 프로세서,
200: 학습 장치,
210: 메모리,
220: 프로세서

Claims (12)

  1. 협업 주행(Cooperative Driving)을 수행하는 적어도 하나의 자동차로부터 획득된 주행 이미지들을 통합(Integrate)하는 방법에 있어서,
    (a) 상기 적어도 하나의 자동차 중 적어도 하나의 메인(Main) 자동차에 설치된 메인 주행 이미지 통합 장치(Driving Image Integrating Device)가, (i) 상기 메인 자동차에 설치된 적어도 하나의 메인 카메라로부터 획득되는 적어도 하나의 메인 주행 이미지를 메인 객체 검출기(Object Detector)로 입력하여, 상기 메인 객체 검출기로 하여금, (i-1) 메인 컨벌루션 레이어(Convolutional Layer)를 통해 상기 메인 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 메인 특징 맵(Feature Map)을 생성하도록 하고, (i-2) 메인 RPN(Region Proposal Network)을 통해 상기 메인 특징 맵 상에서 적어도 하나의 메인 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 메인 ROI(Region Of Interest)를 생성하도록 하며, (i-3) 메인 풀링 레이어(Pooling Layer)를 통해 상기 메인 특징 맵 상에서 상기 메인 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 하고, (i-4) 메인 FC 레이어(Fully Connected Layer)를 통해 상기 메인 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 상기 메인 주행 이미지 상에 위치하는 상기 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 하는 프로세스를 수행하는 단계;
    (b) 상기 메인 주행 이미지 통합 장치가, 학습용 주행 이미지에 대하여 상기 메인 객체 검출기(Object Detector)가 학습용 객체 각각을 검출한 학습용 객체 검출 정보에 포함된 바운딩 박스(Bounding Box)들의 각각의 에러인 박스_에러와 상기 학습용 객체 검출 정보에 포함된 클래스 정보의 각각의 에러인 클래스_에러를 이용하되, 학습용 객체 각각에 대응되는 학습용 ROI 각각에 상기 학습용 객체 각각이 없을 경우에는 "0"이고, 상기 학습용 ROI 각각에 상기 학습용 객체 각각이 있을 경우에는 "1-박스_에러×클래스_에러(1-Box_Error×Class_Error)"로 연산되는 컨피던스를 생성하도록 학습된 메인 컨피던스 네트워크(Confidence Network)로 상기 메인 풀링된 특징 맵을 입력하여, 상기 메인 컨피던스 네트워크로 하여금 상기 메인 풀링된 특징 맵 각각에 대응되는 상기 메인 ROI 각각의 적어도 하나의 메인 컨피던스 각각을 생성하도록 하는 프로세스를 수행하는 단계; 및
    (c) 상기 메인 주행 이미지 통합 장치가, 상기 협업 주행 중인 적어도 하나의 서브(Sub) 자동차 각각으로부터 서브 객체 검출 정보와 적어도 하나의 서브 컨피던스를 획득하는 프로세스, 및 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 프로세스를 수행함으로써, 상기 메인 주행 이미지의 적어도 하나의 객체 검출 결과를 생성하는 단계;
    를 포함하되,
    상기 서브 객체 검출 정보와 상기 서브 컨피던스는, 상기 서브 자동차 각각에 설치된 적어도 하나의 서브 주행 이미지 통합 장치 각각에 의해 생성되고,
    상기 서브 주행 이미지 통합 장치 각각은, (i) 서브 주행 이미지 각각을, 대응되는 서브 객체 검출기 각각으로 입력하여, 상기 서브 객체 검출기로 하여금, (i-1) 대응되는 서브 컨벌루션 레이어 각각을 통해 상기 서브 주행 이미지 각각에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 서브 특징 맵 각각을 생성하도록 하고, (i-2) 대응되는 서브 RPN 각각을 통해 상기 각각의 서브 특징 맵 상에 적어도 하나의 서브 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 서브 ROI를 생성하도록 하며, (i-3) 대응되는 서브 풀링 레이어 각각을 통해 상기 각각의 서브 특징 맵 상에서 상기 서브 ROI 각각에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 서브 풀링된 특징 맵 각각을 생성하도록 하고, (i-4) 대응되는 서브 FC 레이어 각각을 통해 상기 각각의 서브 풀링된 특징 맵에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 각각의 서브 주행 이미지 상에 위치하는 상기 서브 객체에 대한 상기 서브 객체 검출 정보를 생성하도록 하며, (i-5) 상기 서브 풀링된 특징 맵 각각을 서브 컨피던스 네트워크 각각으로 입력하여, 상기 서브 컨피던스 네트워크 각각으로 하여금 상기 서브 풀링된 특징 맵 각각에 대응되는 상기 서브 ROI의 상기 서브 컨피던스를 생성하도록 하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 메인 객체 검출기와 상기 메인 컨피던스 네트워크는 학습 장치에 의해 학습된 상태이되,
    적어도 하나의 학습용 주행 이미지를 포함하는 트레이닝 데이터가 획득되면, 상기 학습 장치가, (i) 상기 트레이닝 데이터로부터, (i-1) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 - 상기 m은 1 이상의 정수임 - 를 포함하는 제1 트레이닝 데이터와 (i-2) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 - 상기 n은 1 이상의 정수임 - 를 포함하는 제2 트레이닝 데이터를 샘플링하는 프로세스, (ii) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 중 하나인 학습용 제1_j 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제1_j 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제1 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제1 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제1 특징 맵 상에 위치하는 적어도 하나의 학습용 객체에 대응되는 적어도 하나의 제1 ROI(Region Of Interest)를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제1 특징 맵 상에서 상기 제1 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제1 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 메인 FC 레이어로 하여금, 상기 제1 풀링된 특징 맵 또는 이에 대응되는 적어도 하나의 제1 특징 벡터(Feature Vector)에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 학습용 제1_j 주행 이미지 상에 위치하는 상기 학습용 객체에 대응되는 제1 객체 검출 정보를 생성하도록 하는 프로세스, (vi) 제1 로스 레이어(Loss Layer)로 하여금, 상기 제1 객체 검출 정보와 상기 학습용 제1_j 주행 이미지의 적어도 하나의 객체 GT(Ground Truth)를 참조하여 적어도 하나의 제1 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제1 로스를 이용한 백프로퍼게이션을 통해 상기 제1 로스를 최소화하도록 상기 메인 FC 레이어 및 상기 메인 컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대하여 수행함으로써, 상기 메인 객체 검출기를 학습하고,
    상기 학습 장치가, (i) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대응되는 상기 제1 객체 검출 정보와 상기 객체 GT를 참조하여 상기 제1 ROI 각각의 적어도 하나의 제1 컨피던스 각각을 획득하는 프로세스, (ii) 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지 중 하나인 학습용 제2_k 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제2_k 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제2 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제2 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제2 특징 맵 상에 위치하는 상기 학습용 객체에 대응되는 적어도 하나의 제2 ROI를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제2 특징 맵 상에서 상기 제2 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제2 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 제2 풀링된 특징 맵을 상기 메인 컨피던스 네트워크로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 딥러닝(Deep Learning)을 통해 상기 제2 풀링된 특징 맵에 대응되는 적어도 하나의 제2 컨피던스를 생성하도록 하는 프로세스, (vi) 제2 로스 레이어로 하여금, 상기 제2 컨피던스와 상기 제1 컨피던스를 참조하여 적어도 하나의 제2 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 제2 로스를 최소화하도록 상기 메인 컨피던스 네트워크의 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지에 대하여 수행함으로써, 상기 메인 컨피던스 네트워크를 학습한 상태인 것을 특징으로 하는 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    (i) 상기 각각의 박스_에러는, (i-1) 상기 각각의 학습용 객체의 각각의 사이즈의 (i-2) 상기 바운딩 박스들의 각각의 중심 포인트의 에러의 합에 대한 비율이며, (ii) 상기 각각의 클래스_에러는, 상기 학습용 객체 검출 정보에 포함된, 상기 학습용 객체 각각을 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값의 클래스 에러의 각각의 합인 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 메인 컨피던스와 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서,
    상기 메인 주행 이미지 통합 장치는, (i) 상기 메인 컨피던스 및 상기 서브 컨피던스 중 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 클래스 각각에 대한 추정 값 각각의 가중합(Weighted Sum)을 산출하는 프로세스, 및 가중합된 클래스 중 가장 큰 값을 가지는 특정 클래스를 상기 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득하는 프로세스, 및 (ii) 상기 특정 객체 검출 정보 각각에 대응되는 상기 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 특정 리그레션 정보 각각의 가중합을 산출하는 프로세스, 및 가중합된 리그레션 정보를 상기 특정 객체에 대응되는 최적 리그레션 정보로 획득하는 프로세스를 수행하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서,
    상기 메인 객체 검출 정보 중 제1 중첩 객체 검출 정보(Overlapping Object Detection Information)와 상기 서브 객체 검출 정보 중 제2 중첩 객체 검출 정보가 서로 중첩되어 존재한다고 판단될 경우, 상기 메인 주행 이미지 통합 장치는, (i) 상기 제1 중첩 객체 검출 정보에 대응되는 제1 바운딩 박스와 상기 제2 중첩 객체 검출 정보에 대응되는 제2 바운딩 박스의 IOU(Intersection Over Union)가 기설정된 임계치 이상이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 상기 특정 객체에 대응되는 것으로 판단하는 프로세스, 및 (ii) 상기 IOU가 상기 기설정된 임계치 미만이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 서로 다른 객체에 대응되는 것으로 판단하는 프로세스를 수행하는 것을 특징으로 하는 방법.
  7. 협업 주행(Cooperative Driving)을 수행하는 적어도 하나의 자동차 중 적어도 하나의 메인(Main) 자동차에 설치된, 상기 자동차로부터 획득된 주행 이미지들을 통합(Integrate)하는 메인 주행 이미지 통합 장치(Driving Image Integrating Device)에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 상기 메인 자동차에 설치된 적어도 하나의 메인 카메라로부터 획득되는 적어도 하나의 메인 주행 이미지를 메인 객체 검출기(Object Detector)로 입력하여, 상기 메인 객체 검출기로 하여금, (I-1) 메인 컨벌루션 레이어(Convolutional Layer)를 통해 상기 메인 주행 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 메인 특징 맵(Feature Map)을 생성하도록 하고, (I-2) 메인 RPN(Region Proposal Network)을 통해 상기 메인 특징 맵 상에서 적어도 하나의 메인 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 메인 ROI(Region Of Interest)를 생성하도록 하며, (I-3) 메인 풀링 레이어(Pooling Layer)를 통해 상기 메인 특징 맵 상에서 상기 메인 ROI에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 메인 풀링된 특징 맵(Pooled Feature Map)을 생성하도록 하고, (I-4) 메인 FC 레이어(Fully Connected Layer)를 통해 상기 메인 풀링된 특징 맵에 대하여 FC 연산을 적어도 한 번 적용하여 상기 메인 주행 이미지 상에 위치하는 상기 메인 객체에 대한 메인 객체 검출 정보를 생성하도록 하는 프로세스, (II) 학습용 주행 이미지에 대하여 상기 메인 객체 검출기(Object Detector)가 학습용 객체 각각을 검출한 학습용 객체 검출 정보에 포함된 바운딩 박스(Bounding Box)들의 각각의 에러인 박스_에러와 상기 학습용 객체 검출 정보에 포함된 클래스 정보의 각각의 에러인 클래스_에러를 이용하되, 학습용 객체 각각에 대응되는 학습용 ROI 각각에 상기 학습용 객체 각각이 없을 경우에는 "0"이고, 상기 학습용 ROI 각각에 상기 학습용 객체 각각이 있을 경우에는 "1-박스_에러×클래스_에러(1-Box_Error×Class_Error)"로 연산되는 컨피던스를 생성하도록 학습된 메인 컨피던스 네트워크(Confidence Network)로 상기 메인 풀링된 특징 맵을 입력하여, 상기 메인 컨피던스 네트워크로 하여금 상기 메인 풀링된 특징 맵 각각에 대응되는 상기 메인 ROI 각각의 적어도 하나의 메인 컨피던스 각각을 생성하도록 하는 프로세스, 및 (III) 상기 협업 주행 중인 적어도 하나의 서브(Sub) 자동차 각각으로부터 서브 객체 검출 정보와 적어도 하나의 서브 컨피던스를 획득하는 프로세스, 및 상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 프로세스를 수행함으로써, 상기 메인 주행 이미지의 적어도 하나의 객체 검출 결과를 생성하는 프로세스를 수행 하도록 하거나 타 장치로 하여금 수행하도록 지원하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서를 포함하되,
    상기 서브 객체 검출 정보와 상기 서브 컨피던스는, 상기 서브 자동차 각각에 설치된 적어도 하나의 서브 주행 이미지 통합 장치 각각에 의해 생성되고, 상기 서브 주행 이미지 통합 장치 각각은, (i) 서브 주행 이미지 각각을 대응되는 서브 객체 검출기 각각으로 입력하여, 상기 서브 객체 검출기 각각으로 하여금, (i-1) 대응되는 서브 컨벌루션 레이어 각각을 통해 상기 서브 주행 이미지 각각에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 서브 특징 맵 각각을 생성하도록 하고, (i-2) 대응되는 서브 RPN 각각을 통해 상기 각각의 서브 특징 맵 상에 적어도 하나의 서브 객체가 위치할 것으로 예상되는 적어도 하나의 영역에 대응되는 적어도 하나의 서브 ROI를 생성하도록 하며, (i-3) 대응되는 서브 풀링 레이어 각각을 통해 상기 각각의 서브 특징 맵 상에서 상기 서브 ROI 각각에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 서브 풀링된 특징 맵 각각을 생성하도록 하고, (i-4) 대응되는 서브 FC 레이어 각각을 통해 상기 각각의 서브 풀링된 특징 맵에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 각각의 서브 주행 이미지 상에 위치하는 상기 서브 객체에 대한 상기 서브 객체 검출 정보를 생성하도록 하며, (i-5) 상기 서브 풀링된 특징 맵 각각을 서브 컨피던스 네트워크 각각으로 입력하여, 상기 서브 컨피던스 네트워크 각각으로 하여금 상기 서브 풀링된 특징 맵 각각에 대응되는 상기 서브 ROI의 상기 서브 컨피던스를 생성하는 것을 특징으로 하는 장치.
  8. 제 7 항에 있어서,
    상기 메인 객체 검출기와 상기 메인 컨피던스 네트워크는 학습 장치에 의해 학습된 상태이되,
    적어도 하나의 학습용 주행 이미지를 포함하는 트레이닝 데이터가 획득되면, 상기 학습 장치가, (i) 상기 트레이닝 데이터로부터, (i-1) 학습용 제1_1 주행 이미지 내지 학습용 제1_m 주행 이미지 - 상기 m은 1 이상의 정수임 - 를 포함하는 제1 트레이닝 데이터와 (i-2) 학습용 제2_1 주행 이미지 내지 학습용 제2_n 주행 이미지 - 상기 n은 1 이상의 정수임 - 를 포함하는 제2 트레이닝 데이터를 샘플링하는 프로세스, (ii) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 중 하나인 학습용 제1_j 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제1_j 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제1 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제1 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제1 특징 맵 상에 위치하는 적어도 하나의 학습용 객체에 대응되는 적어도 하나의 제1 ROI(Region Of Interest)를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제1 특징 맵 상에서 상기 제1 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제1 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 메인 FC 레이어로 하여금, 상기 제1 풀링된 특징 맵 또는 이에 대응되는 적어도 하나의 제1 특징 벡터(Feature Vector)에 대하여 상기 FC 연산을 적어도 한 번 적용하여 상기 학습용 제1_j 주행 이미지 상에 위치하는 상기 학습용 객체에 대응되는 제1 객체 검출 정보를 생성하도록 하는 프로세스, (vi) 제1 로스 레이어(Loss Layer)로 하여금, 상기 제1 객체 검출 정보와 상기 학습용 제1_j 주행 이미지의 적어도 하나의 객체 GT(Ground Truth)를 참조하여 적어도 하나의 제1 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제1 로스를 이용한 백프로퍼게이션을 통해 상기 제1 로스를 최소화하도록 상기 메인 FC 레이어 및 상기 메인 컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대하여 수행함으로써, 상기 메인 객체 검출기를 학습하고,
    상기 학습 장치가, (i) 상기 학습용 제1_1 주행 이미지 내지 상기 학습용 제1_m 주행 이미지 각각에 대응되는 상기 제1 객체 검출 정보와 상기 객체 GT를 참조하여 상기 제1 ROI 각각의 적어도 하나의 제1 컨피던스 각각을 획득하는 프로세스, (ii) 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지 중 하나인 학습용 제2_k 주행 이미지를 상기 메인 컨벌루션 레이어에 입력하여, 상기 메인 컨벌루션 레이어로 하여금 상기 학습용 제2_k 주행 이미지에 대하여 상기 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 제2 특징 맵을 생성하도록 하는 프로세스, (iii) 상기 제2 특징 맵을 상기 메인 RPN에 입력하여, 상기 메인 RPN으로 하여금 상기 제2 특징 맵 상에 위치하는 상기 학습용 객체에 대응되는 적어도 하나의 제2 ROI를 생성하도록 하는 프로세스, (iv) 상기 메인 풀링 레이어로 하여금, 상기 제2 특징 맵 상에서 상기 제2 ROI에 대응되는 적어도 하나의 영역에 대하여 상기 풀링 연산을 적어도 한 번 적용하여 적어도 하나의 제2 풀링된 특징 맵을 생성하도록 하는 프로세스, (v) 상기 제2 풀링된 특징 맵을 상기 메인 컨피던스 네트워크로 입력하여, 상기 메인 컨피던스 네트워크로 하여금 딥러닝(Deep Learning)을 통해 상기 제2 풀링된 특징 맵에 대응되는 적어도 하나의 제2 컨피던스를 생성하도록 하는 프로세스, (vi) 제2 로스 레이어로 하여금, 상기 제2 컨피던스와 상기 제1 컨피던스를 참조하여 적어도 하나의 제2 로스를 산출하도록 하는 프로세스, 및 (vii) 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 제2 로스를 최소화하도록 상기 메인 컨피던스 네트워크의 적어도 하나의 파라미터를 업데이트하는 프로세스를, 상기 학습용 제2_1 주행 이미지 내지 상기 학습용 제2_n 주행 이미지에 대하여 수행함으로써, 상기 메인 컨피던스 네트워크를 학습한 상태인 것을 특징으로 하는 장치.
  9. 삭제
  10. 제 7 항에 있어서,
    (i) 상기 각각의 박스_에러는, (i-1) 상기 각각의 학습용 객체의 각각의 사이즈의 (i-2) 상기 바운딩 박스들의 각각의 중심 포인트의 에러의 합에 대한 비율이며, (ii) 상기 각각의 클래스_에러는, 상기 학습용 객체 검출 정보에 포함된, 상기 학습용 객체 각각을 분류하는데 사용되는 각각의 클래스에 대한 각각의 예측 값의 클래스 에러의 각각의 합인 것을 특징으로 하는 장치.
  11. 제 7 항에 있어서,
    상기 메인 컨피던스와 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서,
    상기 프로세서는, (i) 상기 메인 컨피던스 및 상기 서브 컨피던스 중 특정 객체 검출 정보 각각에 대응되는 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 클래스 각각에 대한 추정 값 각각의 가중합(Weighted Sum)을 산출하는 프로세스, 및 가중합된 클래스 중 가장 큰 값을 가지는 특정 클래스를 상기 특정 객체에 대응되는 최적 클래스 정보(Optimal Class Information)로 획득하는 프로세스, 및 (ii) 상기 특정 객체 검출 정보 각각에 대응되는 상기 특정 컨피던스 각각을 가중치로 이용하여 상기 특정 객체 검출 정보 각각에 포함된 특정 리그레션 정보 각각의 가중합을 산출하는 프로세스, 및 가중합된 리그레션 정보를 상기 특정 객체에 대응되는 최적 리그레션 정보로 획득하는 프로세스를 수행하는 것을 특징으로 하는 장치.
  12. 제 11 항에 있어서,
    상기 메인 컨피던스 및 상기 서브 컨피던스를 가중치로 이용하여 상기 메인 객체 검출 정보와 상기 서브 객체 검출 정보를 통합하는 데 있어서,
    상기 메인 객체 검출 정보 중 제1 중첩 객체 검출 정보(Overlapping Object Detection Information)와 상기 서브 객체 검출 정보 중 제2 중첩 객체 검출 정보가 서로 중첩되어 존재한다고 판단될 경우, 상기 프로세서는, (i) 상기 제1 중첩 객체 검출 정보에 대응되는 제1 바운딩 박스와 상기 제2 중첩 객체 검출 정보에 대응되는 제2 바운딩 박스의 IOU(Intersection Over Union)가 기설정된 임계치 이상이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 상기 특정 객체에 대응되는 것으로 판단하는 프로세스, 및 (ii) 상기 IOU가 상기 기설정된 임계치 미만이면, 상기 제1 중첩 객체 검출 정보와 상기 제2 중첩 객체 검출 정보가 서로 다른 객체에 대응되는 것으로 판단하는 프로세스를 수행하는 것을 특징으로 하는 장치.
KR1020200007642A 2019-01-31 2020-01-20 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치 KR102301631B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962799514P 2019-01-31 2019-01-31
US62/799,514 2019-01-31
US16/739,220 US10796206B2 (en) 2019-01-31 2020-01-10 Method for integrating driving images acquired from vehicles performing cooperative driving and driving image integrating device using same
US16/739,220 2020-01-10

Publications (2)

Publication Number Publication Date
KR20200095387A KR20200095387A (ko) 2020-08-10
KR102301631B1 true KR102301631B1 (ko) 2021-09-14

Family

ID=69191878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200007642A KR102301631B1 (ko) 2019-01-31 2020-01-20 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치

Country Status (5)

Country Link
US (1) US10796206B2 (ko)
EP (1) EP3690744A1 (ko)
JP (1) JP6910081B2 (ko)
KR (1) KR102301631B1 (ko)
CN (1) CN111507160B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977174B1 (ko) * 2017-09-13 2019-05-10 이재준 영상 분석 방법, 장치 및 컴퓨터 프로그램
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
US11043003B2 (en) 2019-11-18 2021-06-22 Waymo Llc Interacted object detection neural network
US11634144B2 (en) * 2020-09-24 2023-04-25 Zhejiang University Sensing method and sensing device for human driven vehicles under partial VANET (vehicular ad hoc network) environment
CN113282721B (zh) * 2021-04-28 2023-07-21 南京大学 基于网络结构搜索的视觉问答方法
KR102637343B1 (ko) * 2021-05-26 2024-02-16 삼성전자주식회사 오브젝트 추적 방법 및 장치

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144185A (ja) * 1997-09-03 1999-05-28 Honda Motor Co Ltd 自動運転制御誘導システム
JP4093026B2 (ja) * 2002-11-18 2008-05-28 日本電気株式会社 道路環境情報通知装置、車載報知装置、情報センタ内装置、及び道路環境情報通知プログラム
JP2006090957A (ja) * 2004-09-27 2006-04-06 Nissan Motor Co Ltd 移動体の周囲物体検出装置及び移動体の周囲物体検出方法
JP4752836B2 (ja) * 2007-12-25 2011-08-17 日本電気株式会社 道路環境情報通知装置及び道路環境情報通知プログラム
US8831869B2 (en) * 2009-03-31 2014-09-09 GM Global Technology Operations LLC Using V2X-based in-network message generation, aggregation, distribution and processing protocols to enable road hazard condition warning applications
US11465640B2 (en) * 2010-06-07 2022-10-11 Affectiva, Inc. Directed control transfer for autonomous vehicles
US8995956B2 (en) * 2011-09-23 2015-03-31 GM Global Technology Operations LLC System and method for vehicle based cellular offload
US9002060B2 (en) * 2012-06-28 2015-04-07 International Business Machines Corporation Object retrieval in video data using complementary detectors
US9767381B2 (en) * 2015-09-22 2017-09-19 Xerox Corporation Similarity-based detection of prominent objects using deep CNN pooling layers as features
US9965719B2 (en) * 2015-11-04 2018-05-08 Nec Corporation Subcategory-aware convolutional neural networks for object detection
US9672734B1 (en) * 2016-04-08 2017-06-06 Sivalogeswaran Ratnasingam Traffic aware lane determination for human driver and autonomous vehicle driving system
US10127465B2 (en) * 2016-06-27 2018-11-13 Mobileye Vision Technologies Ltd. Controlling host vehicle based on detected movement of a target vehicle
US20180043829A1 (en) * 2016-08-10 2018-02-15 Surround.IO Corporation Method and Apparatus for Providing Automatic Mirror Setting Via Inward Facing Cameras
US10745009B2 (en) * 2016-12-21 2020-08-18 Samsung Electronics Co., Ltd. Electronic apparatus for determining a dangerous situation of a vehicle and method of operating the same
KR20180097944A (ko) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 공유 특징맵을 이용한 다중 객체 추적 장치 및 그 방법
US11308391B2 (en) * 2017-03-06 2022-04-19 Baidu Usa Llc Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles
US10147193B2 (en) * 2017-03-10 2018-12-04 TuSimple System and method for semantic segmentation using hybrid dilated convolution (HDC)
US10762359B2 (en) * 2017-08-31 2020-09-01 Nec Corporation Computer aided traffic enforcement using dense correspondence estimation with multi-level metric learning and hierarchical matching
US9934440B1 (en) * 2017-10-04 2018-04-03 StradVision, Inc. Method for monitoring blind spot of monitoring vehicle and blind spot monitor using the same
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
US10866588B2 (en) * 2017-10-16 2020-12-15 Toyota Research Institute, Inc. System and method for leveraging end-to-end driving models for improving driving task modules
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
US10445597B2 (en) * 2017-10-17 2019-10-15 Toyota Research Institute, Inc. Systems and methods for identification of objects using audio and sensor data
US10528824B2 (en) * 2017-12-11 2020-01-07 GM Global Technology Operations LLC Artificial neural network for lane feature classification and localization
DE102018200982A1 (de) * 2018-01-23 2019-08-08 Volkswagen Aktiengesellschaft Verfahren zur Verarbeitung von Sensordaten in einer Anzahl von Steuergeräten, entsprechend ausgelegte Vorverarbeitungseinheit sowie Fahrzeug
US11086317B2 (en) * 2018-03-30 2021-08-10 Intel Corporation Emotional adaptive driving policies for automated driving vehicles
CN108491827B (zh) * 2018-04-13 2020-04-10 腾讯科技(深圳)有限公司 一种车辆检测方法、装置及存储介质
US11138745B2 (en) * 2018-04-30 2021-10-05 Uatc, Llc Object association for autonomous vehicles
US10739455B2 (en) * 2018-05-24 2020-08-11 GM Global Technology Operations LLC Method and apparatus for acquiring depth information using cameras from different vehicles
US11966838B2 (en) * 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11024180B2 (en) * 2018-12-27 2021-06-01 Intel Corporation Methods and apparatus to validate data communicated by a vehicle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ryan Yee, Ellick Chan, Bin Cheng, Gaurav Bansal, "Collaborative Perception for Automated Vehicles Leveraging Vehicle-to-Vehicle Communications", 2018 IEEE Intelligent Vehicles Symposium(2018.06.26.) 1*

Also Published As

Publication number Publication date
US10796206B2 (en) 2020-10-06
CN111507160A (zh) 2020-08-07
KR20200095387A (ko) 2020-08-10
US20200250499A1 (en) 2020-08-06
EP3690744A1 (en) 2020-08-05
JP6910081B2 (ja) 2021-07-28
CN111507160B (zh) 2023-11-14
JP2020126637A (ja) 2020-08-20

Similar Documents

Publication Publication Date Title
KR102301631B1 (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
KR102373456B1 (ko) 자동 주차 시스템을 제공하기 위해 결정 지점 간의 관계 및 결정 지점에 대한 리그레션 결과를 이용하여 주차 공간을 검출하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102296507B1 (ko) 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치
EP3686779B1 (en) Method and device for attention-based lane detection without post-processing by using lane mask and testing method and testing device using the same
KR102309711B1 (ko) 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10919543B2 (en) Learning method and learning device for determining whether to switch mode of vehicle from manual driving mode to autonomous driving mode by performing trajectory-based behavior analysis on recent driving route
US10410120B1 (en) Learning method and testing method of object detector to be used for surveillance based on R-CNN capable of converting modes according to aspect ratios or scales of objects, and learning device and testing device using the same
KR102539942B1 (ko) 궤적 계획 모델을 훈련하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램
KR102296509B1 (ko) 자율 주행 자동차의 레벨 4를 충족시키기 위해 영역의 클래스에 따라 모드를 전환하여 그리드 셀 별로 가중 컨벌루션 필터를 이용한 감시용 이미지 세그멘테이션 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP7092383B2 (ja) 各領域において最適化された自律走行を遂行できるように位置基盤アルゴリズムの選択によってシームレスパラメータ変更を遂行する方法及び装置
KR102320985B1 (ko) 멀티 카메라 시스템 내의 더블 임베딩 구성을 이용하여 도로 이용자 이벤트를 검출하기 위해 이용될 세그먼테이션 성능 향상을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
JP2020061141A (ja) R−cnn基盤の物体検出器の学習方法とテスト方法、及びそれを利用した学習装置とテスト装置
CN111508252B (zh) 利用v2x信息集成技术更新高清地图的方法和装置
US10402686B1 (en) 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
Rastogi et al. A comparative evaluation of the deep learning algorithms for pothole detection
KR102372687B1 (ko) 비최대값 억제를 학습하는 병합 네트워크를 이용한 이종 센서 융합을 위한 학습 방법 및 학습 장치
JP7291299B2 (ja) 走行環境に適応するように自律走行車両のディープラーニング基盤のオブジェクト検出器をアップデートするための学習方法及び学習装置、並びにそれを利用したアップデート方法及びアップデート装置
Aditya et al. Collision Detection: An Improved Deep Learning Approach Using SENet and ResNext
CN111507151B (zh) 使得能够评价自动行驶客体检测过程的支援方法及装置
Aswini et al. Custom Based Obstacle Detection Using Yolo v3 for Low Flying Drones
Foster Object detection and sensor data processing for off-road autonomous vehicles
CN117173653A (zh) 一种基于改进yolop的自动驾驶全景感知方法
Madhumitha et al. AutoNav: A Lane and Object Detection Model for Self-Driving Cars
CN115937710A (zh) 一种基于无锚航拍图像旋转目标检测方法

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