KR20200027885A - 자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
KR20200027885A
KR20200027885A KR1020190105466A KR20190105466A KR20200027885A KR 20200027885 A KR20200027885 A KR 20200027885A KR 1020190105466 A KR1020190105466 A KR 1020190105466A KR 20190105466 A KR20190105466 A KR 20190105466A KR 20200027885 A KR20200027885 A KR 20200027885A
Authority
KR
South Korea
Prior art keywords
image
composite
learning
test
label
Prior art date
Application number
KR1020190105466A
Other languages
English (en)
Other versions
KR102279350B1 (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 KR20200027885A publication Critical patent/KR20200027885A/ko
Application granted granted Critical
Publication of KR102279350B1 publication Critical patent/KR102279350B1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • G06K9/00805
    • G06K9/6257
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/50Barriers
    • G05D2201/0213
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

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

Abstract

본 발명은 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 이미지 데이터 세트를 생성하는 방법에 관한 것으로, (a) 학습 장치가, (i) 도로 주행 상황을 나타내는 원본 이미지 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨(label) 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 단계; 및 (b) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하도록 하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 단계;를 포함하는 방법이 제공된다.

Description

자율 주행 상황에서 장애물 검출을 위한 CNN 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치{METHOD AND DEVICE FOR GENERATING IMAGE DATA SET TO BE USED FOR LEARNING CNN CAPABLE OF DETECTING OBSTRUCTION IN AUTONOMOUS DRIVING CIRCUMSTANCE, AND TESTING METHOD, AND TESTING DEVICE USING THE SAME}
본 발명은 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 이미지 데이터 세트 생성 방법에 관한 것으로; 보다 상세하게는, 상기 자율 주행 상황에서 상기 장애물 검출을 위한 상기 CNN 학습용 이미지 데이터 세트를 생성하는 상기 방법에 있어서, (a) (i) 도로 주행 상황을 나타내는 원본 이미지 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨(label) 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 단계; 및 (b) 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하도록 하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 단계;를 포함하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치에 관한 것이다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolutional Neural Network; Deep CNN)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNN은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 머신 러닝(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
한편, 이미지 세그멘테이션(Image segmentation)은 입력으로 이미지(트레이닝 이미지 또는 테스트 이미지)를 받아서 출력으로 라벨(label) 이미지를 만들어내는 방법이다. 최근 딥러닝(Deep learning) 기술이 각광을 받으면서 세그멘테이션도 딥러닝을 많이 사용하는 추세이다.
한편, 자율 주행 상황에서 사용되는 장애물을 검출하기 위해 CNN 을 학습하는 경우, 학습 장치는 자율 주행 상황 시 마주하게 될 다양한 물체를 학습해야 하고, 이를 위해 학습용 이미지는 자율 주행 상황에서 마주하게 될 다양한 물체가 존재하는 이미지이어야 한다.
그러나 실제 주행 상황에서는 도로 위에 다양한 물체가 존재할 수 있지만, 이러한 데이터를 수집하는 것은 쉽지 않다. 즉, 도로 위에 자주 나타나지 않는 특이한 물체에 대한 학습 이미지는 일반 주행 영상 데이터에서는 쉽게 구할 수 없을 것이다. 예를 들어, 사람이나 자전거, 차량 등에 대해서는 일반 주행 영상 데이터를 통해 쉽게 얻을 수 있는 이미지이기에 이러한 물체가 포함된 학습 이미지로는 검출 성능을 높이기 위한 학습을 할 수 있지만, 호랑이나 악어 등에 대해서는 일반 주행 영상 데이터를 통해 쉽게 구할 수 없고 이에 따라 특이한 물체에 대한 검출 성능을 높이기 위한 학습은 쉽지 않은 문제점이 존재한다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
본 발명은 자율 주행 상황 시 실제 도로 주행 상황에서 자주 접할 수 없는 물체를 검출할 수 있는 성능을 높이기 위하여 사용될 학습용 이미지 세트를 확보하는 것을 다른 목적으로 한다.
또한, 실제 이미지처럼 보이는 합성 이미지를 생성하기 위한 방법을 제공하고, 상기 합성 이미지에 바운딩 박스 등의 다양한 정보가 포함되도록 하여 추후 학습에 활용될 데이터 세트를 확보하도록 하는 방법을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 이미지 데이터 세트를 생성하는 방법에 있어서, (a) 학습 장치가, (i) 도로 주행 상황을 나타내는 원본 이미지 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨(label) 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 단계; 및 (b) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하도록 하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 단계;를 포함하는 것을 특징으로 하는 방법을 개시한다.
일 실시예에서, (c) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 합성 이미지를 획득하도록 하여, 상기 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 단계; 및 (d) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2 로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 단계;를 더 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 CNN 모듈이 상기 합성 이미지를 실제 이미지로 판별하는 정도가 높아지는 방향으로 상기 제1 CNN 모듈을 학습하도록 하고, 상기 제2 CNN 모듈로 하여금, 자신에 입력된 상기 합성 이미지 및 상기 실제 이미지에 대해 가짜 이미지인지 실제 이미지인지를 판별하는 정도가 높아지는 방향으로 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치가, (iii) 적어도 하나의 랜덤 시드 값을 추가적으로 더 획득하고, 상기 (b) 단계에서, 상기 학습 장치가, 상기 제1 CNN 모듈로 하여금 상기 원본 이미지, 상기 합성 라벨 및 상기 랜덤 시드 값을 이용하여 하나 이상의 조정된 합성 이미지를 생성하되, 상기 조정된 합성 이미지 각각은 상기 랜덤 시드 값을 변화시키면서 상기 합성 이미지에 포함된 상기 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은, 상기 원본 이미지와 상기 합성 라벨에 소정의 컨벌루션 연산을 가하여 특징 맵을 생성하기 위한 인코딩 레이어, 상기 특징 맵 및 상기 랜덤 시드 값을 이용하여 조정된 특징 맵을 생성하는 조정 레이어, 및 상기 조정된 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치가, 상기 원본 이미지 및 상기 합성 라벨을 획득할 때, (i) 상기 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 바운딩 박스에 대한 정보 및 (ii) 상기 합성 라벨에 포함된 상기 특정 물체에 대응하는 제2 바운딩 박스에 대한 정보를 추가적으로 더 획득하고, 상기 (b) 단계에서, 상기 학습 장치가, 상기 제1 바운딩 박스에 대한 정보 및 상기 제2 바운딩 박스에 대한 정보를 이용하여 상기 합성 이미지 상에 제3 바운딩 박스를 추가적으로 더 생성하되, 상기 제3 바운딩 박스는 (i) 상기 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 합성 라벨에 대응하는 상기 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 바운딩 박스는, 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 복수의 데이터 세트 중에서 상기 특정 물체의 종류가 선택된 후, 상기 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 한다.
일 실시예에서, (e) 상기 학습 장치는 상기 합성 이미지와 상기 합성 라벨을, 물체 인식과 이미지 세그멘테이션 학습을 위한 트레이닝 데이터 세트를 포함하는 데이터베이스에 추가하는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 적어도 하나의 이미지 데이터 세트를 생성하는 테스트 방법에 있어서, (a) (I) 학습 장치가, (i) 도로 주행 상황을 나타내는 학습용 원본 이미지 및 (ii) 상기 학습용 원본 이미지에 대응되는 학습용 원본 라벨 및 상기 학습용 원본 이미지에 대응되지 않는 임의의 학습용 특정 물체의 이미지에 대응되는 학습용 추가 라벨을 사용하여 생성된 학습용 합성 라벨을 획득하는 프로세스, (II) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 학습용 원본 이미지 및 상기 학습용 합성 라벨을 이용하여 학습용 합성 이미지를 생성하되, 상기 학습용 합성 이미지는 상기 학습용 원본 이미지에 상기 학습용 추가 라벨에 대응하는 상기 임의의 학습용 특정 물체의 이미지가 합성된 이미지인 프로세스, (III) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 학습용 합성 이미지를 획득하도록 하여, 상기 학습용 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스, 및 (IV) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 수행한 상태에서, 테스트 장치가, (i) 도로 주행 상황을 나타내는 테스트용 원본 이미지, 및 (ii) 상기 테스트용 원본 이미지에 대응되는 테스트용 원본 라벨 및 상기 테스트용 원본 이미지에 대응되지 않는 임의의 테스트용 특정 물체의 이미지에 대응되는 테스트용 추가 라벨을 사용하여 생성된 테스트용 합성 라벨을 획득하는 단계; 및 (b) 상기 테스트 장치가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 이용하여 테스트용 합성 이미지를 생성하도록 하되, 상기 테스트용 합성 이미지는 상기 테스트용 원본 이미지에 상기 테스트용 추가 라벨에 대응하는 상기 임의의 테스트용 특정 물체의 이미지가 합성된 이미지인 단계;를 포함하는 것을 특징으로 하는 방법을 개시한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 장치가, (iii) 적어도 하나의 테스트용 랜덤 시드 값을 추가적으로 더 획득하고, 상기 (b) 단계에서, 상기 테스트 장치가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지, 상기 테스트용 합성 라벨 및 상기 테스트용 랜덤 시드 값을 이용하여 하나 이상의 테스트용 조정된 합성 이미지를 생성하되, 상기 테스트용 조정된 합성 이미지 각각은 상기 테스트용 랜덤 시드 값을 변화시키면서 상기 테스트용 합성 이미지에 포함된 상기 테스트용 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은, 상기 테스트용 원본 이미지와 상기 테스트용 합성 라벨에 소정의 컨벌루션 연산을 가하여 테스트용 특징 맵을 생성하기 위한 인코딩 레이어, 상기 테스트용 특징 맵 및 상기 테스트용 랜덤 시드 값을 이용하여 조정된 테스트용 특징 맵을 생성하는 조정 레이어, 및 상기 조정된 테스트용 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 테스트용 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 테스트 장치가, 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 획득할 때, (i) 상기 테스트용 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 테스트용 바운딩 박스에 대한 정보 및 (ii) 상기 테스트용 합성 라벨에 포함된 상기 테스트용 특정 물체에 대응하는 제2 테스트용 바운딩 박스에 대한 정보를 추가적으로 더 획득하고, 상기 (b) 단계에서, 상기 테스트 장치가, 상기 제1 테스트용 바운딩 박스에 대한 정보 및 상기 제2 테스트용 바운딩 박스에 대한 정보를 이용하여 상기 테스트용 합성 이미지 상에 제3 테스트용 바운딩 박스를 추가적으로 더 생성하되, 상기 제3 테스트용 바운딩 박스는 (i) 상기 테스트용 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 테스트용 합성 라벨에 대응하는 상기 테스트용 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 테스트용 바운딩 박스는 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 복수의 데이터 세트 중에서 상기 테스트용 특정 물체의 종류가 선택된 후, 상기 테스트용 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 데이터 세트를 생성하는 학습 장치에 있어서, (i) 도로 주행 상황을 나타내는 원본 이미지, 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 통신부; 및 (I) 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 프로세스를 수행하는 프로세서;를 포함하는 학습 장치를 개시한다.
일 실시예에서, 상기 프로세서는, (II) 상기 제2 CNN 모듈로 하여금 상기 합성 이미지를 획득하되도록 하여, 상기 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스 및 (III) 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 더 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈이 상기 합성 이미지를 실제 이미지로 판별하는 정도가 높아지는 방향으로 상기 제1 CNN 모듈을 학습하도록 하고, 상기 제2 CNN 모듈로 하여금, 자신에 입력된 상기 합성 이미지 및 상기 실제 이미지에 대해 가짜 이미지인지 실제 이미지인지를 판별하는 정도가 높아지는 방향으로 학습하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 통신부가, (iii) 적어도 하나의 랜덤 시드 값을 추가적으로 더 획득하고, 상기 (I) 프로세스에서, 상기 프로세서가, 상기 제1 CNN 모듈로 하여금 상기 원본 이미지, 상기 합성 라벨 및 상기 랜덤 시드 값을 이용하여 하나 이상의 조정된 합성 이미지를 생성하되, 상기 조정된 합성 이미지 각각은 상기 랜덤 시드 값을 변화시키면서 상기 합성 이미지에 포함된 상기 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은, 상기 원본 이미지와 상기 합성 라벨에 소정의 컨벌루션 연산을 가하여 특징 맵을 생성하기 위한 인코딩 레이어, 상기 특징 맵 및 상기 랜덤 시드 값을 이용하여 조정된 특징 맵을 생성하는 조정 레이어, 및 상기 조정된 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 통신부가, 상기 원본 이미지 및 상기 합성 라벨을 획득할 때, (i) 상기 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 바운딩 박스에 대한 정보 및 (ii) 상기 합성 라벨에 포함된 상기 특정 물체에 대응하는 제2 바운딩 박스에 대한 정보를 추가적으로 더 획득하고, 상기 (I) 프로세스에서, 상기 프로세서가, 상기 제1 바운딩 박스에 대한 정보 및 상기 제2 바운딩 박스에 대한 정보를 이용하여 상기 합성 이미지 상에 제3 바운딩 박스를 추가적으로 더 생성하되, 상기 제3 바운딩 박스는 (i) 상기 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 합성 라벨에 대응하는 상기 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 바운딩 박스는, 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 한다.
일 실시예에서, 복수의 데이터 세트 중에서 상기 특정 물체의 종류가 선택된 후, 상기 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는 (IV) 상기 합성 이미지와 상기 합성 라벨을, 물체 인식과 이미지 세그멘테이션 학습을 위한 트레이닝 데이터 세트를 포함하는 데이터베이스에 추가하는 프로세스를 더 수행하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 적어도 하나의 데이터 세트를 생성하는 테스트 장치에 있어서, (1) 학습 장치가 (i) 도로 주행 상황을 나타내는 학습용 원본 이미지, 및 (ii) 상기 학습용 원본 이미지에 대응되는 학습용 원본 라벨 및 상기 학습용 원본 이미지에 대응되지 않는 임의의 학습용 특정 물체의 이미지에 대응되는 학습용 추가 라벨을 사용하여 생성된 학습용 합성 라벨을 획득하는 프로세스, (2) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 학습용 원본 이미지 및 상기 학습용 합성 라벨을 이용하여 학습용 합성 이미지를 생성하되, 상기 학습용 합성 이미지는 상기 학습용 원본 이미지에 상기 학습용 추가 라벨에 대응하는 임의의 학습용 특정 물체의 이미지가 합성된 이미지인 프로세스, (3) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 학습용 합성 이미지를 획득하도록 하여, 상기 학습용 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스, 및 (4) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 수행한 상태에서, (i) 도로 주행 상황을 나타내는 테스트용 원본 이미지, 및 (ii) 상기 테스트용 원본 이미지에 대응되는 테스트용 원본 라벨 및 상기 테스트용 원본 이미지에 대응되지 않는 임의의 테스트용 특정 물체의 이미지에 대응되는 테스트용 추가 라벨을 사용하여 생성된 테스트용 합성 라벨을 획득하는 통신부; 및 (I) 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 이용하여 테스트용 합성 이미지를 생성하도록 하되, 상기 테스트용 합성 이미지는 상기 테스트용 원본 이미지에 상기 테스트용 추가 라벨에 대응하는 상기 테스트용 특정 물체의 이미지가 합성된 이미지인 프로세스를 수행하는 프로세서;를 포함하는 테스트 장치를 개시한다.
일 실시예에서, 상기 통신부가, (iii) 적어도 하나의 테스트용 랜덤 시드 값을 추가적으로 더 획득하고, 상기 (I) 프로세스에서, 상기 프로세서가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지, 상기 테스트용 합성 라벨 및 상기 테스트용 랜덤 시드 값을 이용하여 하나 이상의 테스트용 조정된 합성 이미지를 생성하되, 상기 테스트용 조정된 합성 이미지 각각은 상기 테스트용 랜덤 시드 값을 변화시키면서 상기 테스트용 합성 이미지에 포함된 상기 테스트용 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은, 상기 테스트용 원본 이미지와 상기 테스트용 합성 라벨에 소정의 컨벌루션 연산을 가하여 테스트용 특징 맵을 생성하기 위한 인코딩 레이어, 상기 테스트용 특징 맵 및 상기 테스트용 랜덤 시드 값을 이용하여 조정된 테스트용 특징 맵을 생성하는 조정 레이어, 및 상기 조정된 테스트용 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 테스트용 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 통신부가, 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 획득할 때, (i) 상기 테스트용 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 테스트용 바운딩 박스에 대한 정보 및 (ii) 상기 테스트용 합성 라벨에 포함된 상기 테스트용 특정 물체에 대응하는 제2 테스트용 바운딩 박스에 대한 정보를 추가적으로 더 획득하고, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 제1 테스트용 바운딩 박스에 대한 정보 및 상기 제2 테스트용 바운딩 박스에 대한 정보를 이용하여 상기 테스트용 합성 이미지 상에 제3 테스트용 바운딩 박스를 추가적으로 더 생성하되, 상기 제3 테스트용 바운딩 박스는 (i) 상기 테스트용 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 테스트용 합성 라벨에 대응하는 상기 테스트용 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 테스트용 바운딩 박스는 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 한다.
일 실시예에서, 복수의 데이터 세트 중에서 상기 테스트용 특정 물체의 종류가 선택된 후, 상기 테스트용 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 한다.
본 발명에 의하면, 자율 주행 상황 시 실제 도로 주행 상황에서 자주 접할 수 없는 물체를 검출할 수 있는 성능을 높이기 위하여 사용될 학습용 이미지 세트를 확보할 수 있는 효과가 있다.
또한 본 발명에 의하면, 생성적 적대 신경망(GAN; Generative Adversarial Network)의 사용을 통해 실제 이미지와 유사도가 더욱 높은 합성 이미지를 생성하고, 상기 합성 이미지에 바운딩 박스 등의 다양한 정보가 포함되도록 하여 추후 학습에 활용될 데이터 세트를 확보할 수 있는 효과가 있다.
본 발명의 상기 및 다른 목적 및 특징은 다음의 첨부 도면과 함께 주어진 바람직한 실시예들의 설명에서 명백해질 것이다.
도 1은 본 발명에 따른 학습 장치의 하드웨어 구성을 나타낸 도면이다.
도 2는 본 발명에 따라 제1 CNN 모듈이 학습용 이미지 데이터 세트를 생성하는 과정을 나타낸 도면이다.
도 3은 본 발명에 따라 상기 제1 CNN 모듈이 제2 CNN 모듈과 적대적(Adversarial)으로 상기 학습용 데이터 세트의 생성 방식을 학습하는 과정을 나타낸 도면이다.
도 4는 본 발명에 따라 상기 제1 CNN 모듈이 테스트 장치로서 기능할 때, 상기 제1 CNN 모듈 내부에서 입력값들이 어떻게 연산되는지를 나타낸 도면이다.
도 5는 본 발명에 따라 합성 이미지에서의 바운딩 박스에 대한 정보 획득 과정의 예시를 나타낸 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 학습 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 상기 학습 장치(100)는 제1 CNN 모듈(200) 및 제2 CNN 모듈(300)을 포함할 수 있다. 상기 제1 CNN 모듈(200) 및 상기 제2 CNN 모듈(300)의 입출력 및 연산 과정은 각각 통신부(110) 및 프로세서(120)에 의해 이루어질 수 있다. 다만, 도 1 에서는 상기 통신부(110) 및 상기 프로세서(120)의 구체적인 연결 관계를 생략하였다.
도 1의 상기 제1 CNN 모듈(200)을 보다 구체적으로 설명하기 위해, 먼저 도 4를 참조로 하여 설명하도록 한다.
도 4를 참조하면, 상기 제1 CNN 모듈(200)은 인코딩 레이어(210), 조정 레이어(220) 및 디코딩 레이어(230) 등을 포함할 수 있다.
구체적으로, 상기 인코딩 레이어(210)는, 원본 이미지와 합성 라벨(synthesized label)에 소정의 컨벌루션 연산을 가하여 특징 맵을 생성하기 위한 프로세스를 수행하고, 조정 레이어(220)는, 상기 인코딩 레이어로부터 최종적으로 출력된 특정 특징 맵 및 랜덤 시드 값을 이용하여 조정된 특징 맵을 생성하는 프로세스를 수행하며, 디코딩 레이어(230)은, 상기 조정된 특징 맵에 소정의 디컨벌루션 연산을 가하여 합성 이미지를 생성하는 프로세스를 수행할 수 있다.
상기 인코딩 레이어에서 수행되는 상기 컨벌루션 연산에 대해 구체적으로 살피면, 상기 인코딩 레이어(210)는 상기 특징 맵을 생성하기 위해 상기 원본 이미지와 상기 합성 라벨을 획득한다. 상기 원본 이미지 및 상기 합성 라벨은 각각 3채널, 1채널 데이터인데, 상기 인코딩 레이어(210)는 이를 채널와이즈 컨캐터네이션(Channel-wise Concatenation)하여 생성된 4채널 데이터에 상기 컨벌루션 연산을 가하는 것이다.
한편, 상기 제2 CNN 모듈(300)은 상기 제1 CNN 모듈(200)과 유사하게 구성될 수 있을 것이므로 자세한 설명은 생략한다. 다만, 상기 제2 CNN 모듈(300)이 상기 제1 CNN 모듈(200)과 연동하여 본 발명의 특수한 프로세스를 수행하게 되므로, 이에 대해서는 이후 자세히 설명하도록 한다.
상기 학습 장치(100)가 어떠한 방식으로 학습용 데이터 세트를 생성하는지 도 2를 참조하여 살핀다.
도 2는, 상기 제1 CNN 모듈이 본 발명에 따른 학습용 데이터 세트를 생성하는 과정을 도시한 도면이다.
도 2를 참조하면, 상기 학습 장치(100)는 상기 통신부(110)를 통해 (i) 도로 주행 상황을 나타내는 상기 원본 이미지, 및 (ii) 상기 합성 라벨을 획득할 수 있다. 상기 합성 라벨이란, 상기 원본 이미지에 대응되는 원본 라벨 및 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 라벨을 사용하여 생성된다.
그리고, 상기 원본 이미지와 상기 합성 라벨이 상기 학습 장치(100)에 입력되면, 상기 학습 장치(100)는 상기 제1 CNN 모듈(200)로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 상기 합성 이미지를 생성하도록 한다.
상기 합성 이미지는, (i) 상기 추가 라벨에 대응하는 상기 특정 물체의 이미지를 (ii) 상기 원본 이미지에 합성하여 생성된다. 구체적으로, 도 2를 참조하면, 상기 원본 이미지상에 상기 추가 라벨에 대응되는 버스 이미지가 합성된 것임을 알 수 있다. 상기 합성 이미지의 생성은 상기 프로세서(120)에서 수행될 수 있다.
가령, 도 2와 같이 (i) 도로를 포함하는 상기 원본 이미지와, (ii) 상기 도로를 포함하는 상기 원본 이미지에 대응하는 상기 원본 라벨 및 (iii) 대형 버스에 대응하는 상기 추가 라벨(이외에도 도로에 존재할 수 있지만 흔히 볼 수 없는 장애물, 예를 들어 소, 고라니, 낙석 등이 이에 해당할 수 있다)이 획득되면, 상기 대형 버스에 대응하는 상기 추가 라벨을 상기 원본 라벨과 합성하여 상기 합성 라벨이 생성될 수 있다. 이후, 상기 제1 CNN 모듈이 상기 원본 이미지 내 상기 도로에 상기 대형 버스가 위치하도록 상기 대형 버스의 이미지를 상기 원본이미지에 합성하여 상기 합성된 이미지를 만들어내는 것이다.
여기서, 상기 합성 라벨은 상기 학습 장치(100)가 직접 합성해서 획득할 수도 있고, 상기 학습 장치(100)와 연동되는 다른 장치(미도시)가 합성한 후 이를 상기 학습 장치(100)에 전달해서 획득할 수도 있을 것이다. 전자의 경우, 상기 학습 장치(100)가, 상기 원본 라벨과 상기 추가 라벨을 입력으로서 받아들일 수 있을 것이다.
한편, 상기 학습용 데이터 세트를 생성하는 데에는 일반적으로 알려진 이미지 합성 기술이 사용될 수 있는데, 이는 상기 추가 라벨이 상기 합성 라벨에 합성되면, 상기 추가 라벨이 상기 합성 라벨에 합성된 위치에 대응하도록, 상기 원본 이미지에 상기 추가 라벨에 대응하는 이미지를 합성할 수 있다.
또한, 도 2, 도 3, 도 4의 상기 합성 라벨 및 상기 합성 이미지에 표시된 동그라미는, 추가 라벨 및 이에 대응되는 버스 이미지가 각각 상기 합성 라벨 및 상기 합성 이미지 상에 합성되었음을 강조하기 위한 도면상의 표시일 뿐, 상기 합성 라벨 및 상기 합성 이미지에 동그라미 자체가 포함되어 있는 것이 아님을 밝혀 둔다.
도 2에는 상기 제1 CNN 모듈이 랜덤 시드 값 역시 획득하여 상기 합성 이미지를 생성하는 것으로 도시되어 있으나 이는 본 발명의 실시에 필수적인 요소는 아니다. 여기서, "시드"란 함수의 입력 중 한 가지인데, 시드 값이 일정하면 함수의 출력 값 중 적어도 일부 특성이 일정하게 된다. 상기 랜덤 시드 값은 계속 바뀌는 난수로서 상기 함수의 상기 출력 값의 특성이 다양하게 나오도록 하기 위해 사용된다. 상기 랜덤 시드 값이 어떻게 사용되는지는 이후 구체적으로 설명하기로 한다.
한편, 전술한 것과 같이 상기 합성 이미지가 생성된 경우, 상기 원본 이미지에 상기 추가 라벨에 대응하는 이미지를 합성한 상태는 현실과 괴리될 수 있으므로, 추가적인 학습 과정을 거칠 수 있다. 이에 대해서는 도 3을 참조로 설명한다.
도 3은 상기 제1 CNN 모듈 및 상기 제2 CNN 모듈이 연동하여 적대적(Adversarial)으로 학습하는 과정을 나타낸 도면이다.
도 3을 참조하면, 상기 학습 장치(100)는, 상기 제1 CNN 모듈(200)로 하여금 상기 합성 이미지를 출력하여 상기 제2 CNN 모듈(300)에 전달하도록 하여, 상기 제2 CNN 모듈로 하여금 상기 합성 이미지가 가짜 이미지인지 또는 실제 이미지인지를 판별한 결과를 나타내는 제1 출력 값을 산출하도록 하고, 이와는 별도로, 임의의 실제 이미지를 상기 제2 CNN 모듈에 입력하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 판별한 결과를 나타내는 제2 출력 값을 산출하도록 한다.
그리고 상기 학습 장치(100)는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하도록 하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하도록 하고, 상기 제1 및 상기 제2 로스 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 하도록 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하게 된다.
이는 생성적 적대 신경망(GAN; Generative Adversarial Network) 기법을 이용한 것으로, 상기 제1 CNN 모듈이 소위 생성자(Generator)의 역할을 하고, 상기 제2 CNN 모듈이 소위 판별자(Discriminator)의 역할을 하는 것이다. 구체적으로, 상기 제1 CNN 모듈은, 상기 제2 CNN 모듈이 상기 합성 이미지를 실제 이미지로 구분하도록 속이는 방향으로, 즉 실제 이미지와 유사하게 상기 합성 이미지를 생성하도록 학습하게 된다. 상기 제2 CNN 모듈은 상기 합성 이미지와 상기 임의의 실제 이미지 각각이 실제 이미지 또는 가짜 이미지 중 어느 편에 해당되는지를 정확히 구분하는 방향으로 학습된다.
이러한 과정이 적대적(Adversarial)으로 이루어지면, 상기 제2 CNN 모듈은 실제 이미지와 합성 이미지를 구분하지 못하게 되고, 결국 이 시점에 이르면 학습이 완료되는 것이다.
그런데, 위와 같은 방식으로 학습을 진행할 경우, 일정한 특성을 가진 합성 이미지만이 도출될 위험이 있다. 따라서, 다시 도 2를 참조하면, 앞에서 언급하였듯이, 상기 제1 CNN 모듈(200)이 상기 랜덤 시드 값을 추가적으로 획득하고, 상기 학습 장치(100)는 상기 제1 CNN 모듈(200)로 하여금 상기 원본 이미지, 상기 합성 라벨 및 상기 랜덤 시드 값을 이용하여 상기 합성 이미지를 복수 개 생성하도록 할 수 있다.
가령, 만약 상기 제1 CNN 모듈이 상기 랜덤 시드 값을 추가적으로 획득하지 않거나 일정한 시드 값을 획득할 경우, 상기 제1 CNN 모듈은 단순히 상기 대형 버스의 이미지가 합성된 상기 합성 이미지를 만들어낼 뿐이므로, 학습에 필요한 다양한 경우를 반영하기가 어려울 수 있다. 이러한 단점을 막기 위해, 다양한 값으로 계속 바뀌는 상기 랜덤 시드 값이 추가적으로 입력 되어, 상기 버스의 컬러, 형상 및 위치 중 적어도 하나가 다른 다양한 상기 합성 이미지가 생성될 수 있게 된다.
한편, 상기 제1 CNN 장치는 바운딩 박스에 대한 정보도 포함하여 상기 합성 이미지를 생성할 수 있다. 이후 더 자세히 설명하겠지만, 본 발명의 목적은 자율 주행 상황 시 CNN의 파라미터 학습을 위한 다양한 이미지 세트를 만드는 것인 바, 상기 바운딩 박스에 대한 정보를 포함하는 상기 합성 이미지가 생성되면, 상기 제1 CNN 모듈은 상기 바운딩 박스에 대한 정보를 이용하여 더욱 용이하게 CNN의 상기 파라미터를 학습할 수 있을 것이다. 이에 대한 설명은 추후 구체적으로 설명하기로 한다.
다음으로, 도 4는 상기 제1 CNN 모듈이 테스트 장치로서 기능할 때, 입력 값들에 다양한 연산을 가하는 과정을 도시한다.
도 4를 참조하면, 상기 테스트 장치는 상기 제1 CNN 모듈(200)을 포함할 수 있으며, 앞서 설명하였듯이, 상기 제1 CNN 모듈(200)은, 상기 인코딩 레이어(210), 상기 조정 레이어(220), 및 상기 디코딩 레이어(230)를 포함할 수 있다. 이는 도 3에서 제시된 상기 학습 장치에서 학습이 완료된 후 상기 제2 CNN 모듈이 제거된 구조와 동일하다.
이러한 구조를 가진 상기 테스트 장치는 상기 랜덤 시드 값을 변화시킴으로써 여러 특성을 가지는 상기 합성 이미지를 생성할 수 있을 것이다. 즉, 이러한 하나 이상의 합성 이미지들은 상기 학습용 데이터 세트에 추가되어 객체 검출(object detection)이라든가 시맨틱 세그멘테이션(semantic segmentation) 등을 학습하기 위해 사용될 수 있다. 한편, 상기 학습 장치의 예시에서와 같이, 상기 테스트 장치에서도 상기 랜덤 시드 값이 필수적인 것은 아닐 것이다.
또한, 앞서 설명하였듯이, 상기 테스트 장치는 자율 주행 장치 내 CNN의 학습 과정에 도움이 되도록 상기 바운딩 박스에 대한 정보를 포함하는 상기 합성 이미지를 생성할 수 있다.
도 2를 참조하여 보면, 상기 제1 CNN 모듈(200)이 상기 원본 이미지 및 상기 합성 라벨을 획득할 때, 상기 원본 이미지에 포함된 적어도 하나의 물체에 대응하는 하나 이상의 제1 바운딩 박스에 대한 정보 및 상기 특정 물체에 대응하는 제2 바운딩 박스에 대한 정보를 획득한다. 이후 상기 제1 CNN 모듈(200)이, 상기 제1 바운딩 박스에 대한 정보 및 상기 제2 바운딩 박스에 대한 정보를 이용하여 상기 합성 이미지 상에 제3 바운딩 박스를 추가적으로 생성하게 된다.
상기 제2 바운딩 박스는 여러 가지 방식으로 생성될 수 있을 것이나, 특히 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성될 수 있다. 상기 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식이란 타겟 물체의 모든 점이 포함되는, 축과 평행한 변을 가지는 최소 넓이의 사각형을 이미지 위에 생성함으로써 바운딩 박스를 생성하는 방식을 말한다.
상기 제3 바운딩 박스는 (i) 상기 원본 이미지에 포함된 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 합성 라벨에 대응하는 상기 특정 물체에 대응하는 박스 중 적어도 하나 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 말한다. 이러한 과정은 도 5를 참조하면 더욱 구체적으로 이해할 수 있을 것이다.
도 5는 본 발명에 따라 합성 이미지에서의 바운딩 박스에 대한 정보 획득 과정의 예시를 나타낸 도면이다.
도 5를 참조하면, 상기 합성 이미지상에, 상기 원본 이미지에 존재하던 바운딩 박스뿐만 아니라, 상기 추가 라벨에 대응하는 상기 대형 버스의 바운딩 박스가 추가되어 존재하고 있음을 알 수 있다.
앞에서 언급하였듯이, 이러한 상기 바운딩 박스에 대한 정보는 추후 자율 주행 장치의 학습에 도움을 줄 수 있는데, 특히 상기 객체 검출을 위한 학습에 도움을 줄 수 있다. 객체를 검출할 때, 일반적으로 이에 대응하는 바운딩 박스가 생성되어야 하는데, 본 발명의 일 실시예에 따르면 상기 바운딩 박스를 생성하는 시간을 상당히 단축할 수 있게 되는 것이다.
또한, 상기 추가 라벨은 여러 가지 방식으로 생성될 수 있는데, 복수의 데이터 세트 중에서 상기 특정 물체의 종류가 선택되면, 상기 추가 라벨은 상기 특정 물체의 상기 선택된 종류에 대응하는 복수의 마스크들을 샘플링함으로써 생성될 수도 있을 것이다.
가령, 고라니가 학습하고자 하는 물체의 종류로 선택된다면, 기획득된 고라니의 마스크들 중 일부 마스크들이 이용되어 고라니의 이미지에 대응하는 라벨이 생성될 것이다.
상기한 방법을 통해 상기 합성 이미지와 상기 합성 라벨이 생성되면, 이를 객체 검출 및 이미지 세그멘테이션 중 적어도 하나의 학습을 위한 학습용 데이터 세트를 포함하는 데이터베이스에 추가할 수 있을 것이다.
본 발명 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 위에서 설명된 이미지, 예컨대 원본 이미지, 원본 라벨 및 추가 라벨과 같은 이미지 데이터의 송수신이 학습 장치 및 테스트 장치의 통신부들에 의하여 이루어질 수 있으며, 특징 맵과 연산을 수행하기 위한 데이터가 학습 장치 및 테스트 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산, 로스 값 연산 과정이 주로 학습 장치 및 테스트 장치의 프로세서에 의하여 수행될 수 있으나, 본 발명이 이에 한정되지는 않을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (30)

  1. 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 이미지 데이터 세트를 생성하는 방법에 있어서,
    (a) 학습 장치가, (i) 도로 주행 상황을 나타내는 원본 이미지 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨(label) 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 단계; 및
    (b) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하도록 하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1 항에 있어서,
    (c) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 합성 이미지를 획득하도록 하여, 상기 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 단계; 및
    (d) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2 로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 CNN 모듈이 상기 합성 이미지를 실제 이미지로 판별하는 정도가 높아지는 방향으로 상기 제1 CNN 모듈을 학습하도록 하고, 상기 제2 CNN 모듈로 하여금, 자신에 입력된 상기 합성 이미지 및 상기 실제 이미지에 대해 가짜 이미지인지 실제 이미지인지를 판별하는 정도가 높아지는 방향으로 학습하도록 하는 것을 특징으로 하는 방법.
  4. 제1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치가, (iii) 적어도 하나의 랜덤 시드 값을 추가적으로 더 획득하고,
    상기 (b) 단계에서,
    상기 학습 장치가, 상기 제1 CNN 모듈로 하여금 상기 원본 이미지, 상기 합성 라벨 및 상기 랜덤 시드 값을 이용하여 하나 이상의 조정된 합성 이미지를 생성하되, 상기 조정된 합성 이미지 각각은 상기 랜덤 시드 값을 변화시키면서 상기 합성 이미지에 포함된 상기 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 하는 방법.
  5. 제 4항에 있어서,
    상기 제1 CNN 모듈은,
    상기 원본 이미지와 상기 합성 라벨에 소정의 컨벌루션 연산을 가하여 특징 맵을 생성하기 위한 인코딩 레이어,
    상기 특징 맵 및 상기 랜덤 시드 값을 이용하여 조정된 특징 맵을 생성하는 조정 레이어, 및
    상기 조정된 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 하는 방법.
  6. 제1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치가, 상기 원본 이미지 및 상기 합성 라벨을 획득할 때, (i) 상기 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 바운딩 박스에 대한 정보 및 (ii) 상기 합성 라벨에 포함된 상기 특정 물체에 대응하는 제2 바운딩 박스에 대한 정보를 추가적으로 더 획득하고,
    상기 (b) 단계에서,
    상기 학습 장치가, 상기 제1 바운딩 박스에 대한 정보 및 상기 제2 바운딩 박스에 대한 정보를 이용하여 상기 합성 이미지 상에 제3 바운딩 박스를 추가적으로 더 생성하되,
    상기 제3 바운딩 박스는 (i) 상기 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 합성 라벨에 대응하는 상기 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 하는 방법.
  7. 제6 항에 있어서,
    상기 제2 바운딩 박스는, 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서,
    상기 (a) 단계에서, 복수의 데이터 세트 중에서 상기 특정 물체의 종류가 선택된 후, 상기 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서,
    (e) 상기 학습 장치는 상기 합성 이미지와 상기 합성 라벨을, 물체 인식과 이미지 세그멘테이션 학습을 위한 트레이닝 데이터 세트를 포함하는 데이터베이스에 추가하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  10. 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 적어도 하나의 이미지 데이터 세트를 생성하는 테스트 방법에 있어서,
    (a) (I) 학습 장치가, (i) 도로 주행 상황을 나타내는 학습용 원본 이미지 및 (ii) 상기 학습용 원본 이미지에 대응되는 학습용 원본 라벨 및 상기 학습용 원본 이미지에 대응되지 않는 임의의 학습용 특정 물체의 이미지에 대응되는 학습용 추가 라벨을 사용하여 생성된 학습용 합성 라벨을 획득하는 프로세스, (II) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 학습용 원본 이미지 및 상기 학습용 합성 라벨을 이용하여 학습용 합성 이미지를 생성하되, 상기 학습용 합성 이미지는 상기 학습용 원본 이미지에 상기 학습용 추가 라벨에 대응하는 상기 임의의 학습용 특정 물체의 이미지가 합성된 이미지인 프로세스, (III) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 학습용 합성 이미지를 획득하도록 하여, 상기 학습용 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스, 및 (IV) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 수행한 상태에서, 테스트 장치가, (i) 도로 주행 상황을 나타내는 테스트용 원본 이미지, 및 (ii) 상기 테스트용 원본 이미지에 대응되는 테스트용 원본 라벨 및 상기 테스트용 원본 이미지에 대응되지 않는 임의의 테스트용 특정 물체의 이미지에 대응되는 테스트용 추가 라벨을 사용하여 생성된 테스트용 합성 라벨을 획득하는 단계; 및
    (b) 상기 테스트 장치가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 이용하여 테스트용 합성 이미지를 생성하도록 하되, 상기 테스트용 합성 이미지는 상기 테스트용 원본 이미지에 상기 테스트용 추가 라벨에 대응하는 상기 임의의 테스트용 특정 물체의 이미지가 합성된 이미지인 단계;
    를 포함하는 것을 특징으로 하는 방법.
  11. 제 10항에 있어서,
    상기 (a) 단계에서,
    상기 테스트 장치가, (iii) 적어도 하나의 테스트용 랜덤 시드 값을 추가적으로 더 획득하고,
    상기 (b) 단계에서,
    상기 테스트 장치가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지, 상기 테스트용 합성 라벨 및 상기 테스트용 랜덤 시드 값을 이용하여 하나 이상의 테스트용 조정된 합성 이미지를 생성하되, 상기 테스트용 조정된 합성 이미지 각각은 상기 테스트용 랜덤 시드 값을 변화시키면서 상기 테스트용 합성 이미지에 포함된 상기 테스트용 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 하는 방법.
  12. 제 11항에 있어서,
    상기 제1 CNN 모듈은,
    상기 테스트용 원본 이미지와 상기 테스트용 합성 라벨에 소정의 컨벌루션 연산을 가하여 테스트용 특징 맵을 생성하기 위한 인코딩 레이어,
    상기 테스트용 특징 맵 및 상기 테스트용 랜덤 시드 값을 이용하여 조정된 테스트용 특징 맵을 생성하는 조정 레이어, 및
    상기 조정된 테스트용 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 테스트용 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 하는 방법.
  13. 제 10항에 있어서,
    상기 (a) 단계에서,
    상기 테스트 장치가, 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 획득할 때, (i) 상기 테스트용 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 테스트용 바운딩 박스에 대한 정보 및 (ii) 상기 테스트용 합성 라벨에 포함된 상기 테스트용 특정 물체에 대응하는 제2 테스트용 바운딩 박스에 대한 정보를 추가적으로 더 획득하고,
    상기 (b) 단계에서,
    상기 테스트 장치가, 상기 제1 테스트용 바운딩 박스에 대한 정보 및 상기 제2 테스트용 바운딩 박스에 대한 정보를 이용하여 상기 테스트용 합성 이미지 상에 제3 테스트용 바운딩 박스를 추가적으로 더 생성하되,
    상기 제3 테스트용 바운딩 박스는 (i) 상기 테스트용 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 테스트용 합성 라벨에 대응하는 상기 테스트용 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서,
    상기 제2 테스트용 바운딩 박스는 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 하는 방법.
  15. 제 10항에 있어서,
    상기 (a) 단계에서, 복수의 데이터 세트 중에서 상기 테스트용 특정 물체의 종류가 선택된 후, 상기 테스트용 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 하는 방법.
  16. 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 CNN 학습용 데이터 세트를 생성하는 학습 장치에 있어서,
    (i) 도로 주행 상황을 나타내는 원본 이미지, 및 (ii) 상기 원본 이미지에 대응되는 원본 라벨 및 상기 원본 이미지에 대응되지 않는 임의의 특정 물체의 이미지에 대응되는 추가 라벨을 사용하여 생성된 합성 라벨을 획득하는 통신부; 및
    (I) 제1 CNN 모듈로 하여금 상기 원본 이미지 및 상기 합성 라벨을 이용하여 합성 이미지를 생성하되, 상기 합성 이미지는 상기 원본 이미지에 상기 추가 라벨에 대응하는 상기 임의의 특정 물체의 이미지가 합성된 이미지인 프로세스를 수행하는 프로세서;
    를 포함하는 학습 장치.
  17. 제16 항에 있어서,
    상기 프로세서는,
    (II) 상기 제2 CNN 모듈로 하여금 상기 합성 이미지를 획득하되도록 하여, 상기 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스 및 (III) 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 더 수행하는 것을 특징으로 하는 학습 장치.
  18. 제 17항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈이 상기 합성 이미지를 실제 이미지로 판별하는 정도가 높아지는 방향으로 상기 제1 CNN 모듈을 학습하도록 하고, 상기 제2 CNN 모듈로 하여금, 자신에 입력된 상기 합성 이미지 및 상기 실제 이미지에 대해 가짜 이미지인지 실제 이미지인지를 판별하는 정도가 높아지는 방향으로 학습하도록 하는 것을 특징으로 하는 학습 장치.
  19. 제16 항에 있어서,
    상기 통신부가, (iii) 적어도 하나의 랜덤 시드 값을 추가적으로 더 획득하고,
    상기 (I) 프로세스에서, 상기 프로세서가, 상기 제1 CNN 모듈로 하여금 상기 원본 이미지, 상기 합성 라벨 및 상기 랜덤 시드 값을 이용하여 하나 이상의 조정된 합성 이미지를 생성하되, 상기 조정된 합성 이미지 각각은 상기 랜덤 시드 값을 변화시키면서 상기 합성 이미지에 포함된 상기 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 하는 학습 장치.
  20. 제 19항에 있어서,
    상기 제1 CNN 모듈은,
    상기 원본 이미지와 상기 합성 라벨에 소정의 컨벌루션 연산을 가하여 특징 맵을 생성하기 위한 인코딩 레이어,
    상기 특징 맵 및 상기 랜덤 시드 값을 이용하여 조정된 특징 맵을 생성하는 조정 레이어, 및
    상기 조정된 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 하는 학습 장치.
  21. 제16 항에 있어서,
    상기 통신부가, 상기 원본 이미지 및 상기 합성 라벨을 획득할 때, (i) 상기 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 바운딩 박스에 대한 정보 및 (ii) 상기 합성 라벨에 포함된 상기 특정 물체에 대응하는 제2 바운딩 박스에 대한 정보를 추가적으로 더 획득하고,
    상기 (I) 프로세스에서,
    상기 프로세서가, 상기 제1 바운딩 박스에 대한 정보 및 상기 제2 바운딩 박스에 대한 정보를 이용하여 상기 합성 이미지 상에 제3 바운딩 박스를 추가적으로 더 생성하되,
    상기 제3 바운딩 박스는 (i) 상기 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 합성 라벨에 대응하는 상기 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 하는 학습 장치.
  22. 제21 항에 있어서,
    상기 제2 바운딩 박스는, 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 하는 학습 장치.
  23. 제 16항에 있어서,
    복수의 데이터 세트 중에서 상기 특정 물체의 종류가 선택된 후, 상기 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 하는 학습 장치.
  24. 제 16항에 있어서,
    상기 프로세서는 (IV) 상기 합성 이미지와 상기 합성 라벨을, 물체 인식과 이미지 세그멘테이션 학습을 위한 트레이닝 데이터 세트를 포함하는 데이터베이스에 추가하는 프로세스를 더 수행하는 것을 특징으로 하는 학습 장치.
  25. 자율 주행 상황에서 적어도 하나의 장애물 검출을 위한 적어도 하나의 이미지 데이터 세트를 생성하는 테스트 장치에 있어서,
    (1) 학습 장치가 (i) 도로 주행 상황을 나타내는 학습용 원본 이미지, 및 (ii) 상기 학습용 원본 이미지에 대응되는 학습용 원본 라벨 및 상기 학습용 원본 이미지에 대응되지 않는 임의의 학습용 특정 물체의 이미지에 대응되는 학습용 추가 라벨을 사용하여 생성된 학습용 합성 라벨을 획득하는 프로세스, (2) 상기 학습 장치가, 제1 CNN 모듈로 하여금 상기 학습용 원본 이미지 및 상기 학습용 합성 라벨을 이용하여 학습용 합성 이미지를 생성하되, 상기 학습용 합성 이미지는 상기 학습용 원본 이미지에 상기 학습용 추가 라벨에 대응하는 임의의 학습용 특정 물체의 이미지가 합성된 이미지인 프로세스, (3) 상기 학습 장치는, 제2 CNN 모듈로 하여금 상기 학습용 합성 이미지를 획득하도록 하여, 상기 학습용 합성 이미지가 합성된 이미지인지 또는 실제 이미지인지를 나타내는 제1 출력 값을 산출하도록 하고, 상기 제2 CNN 모듈로 하여금 합성된 것이 아닌 임의의 실제 이미지를 추가적으로 획득하도록 하여 상기 임의의 실제 이미지가 가짜 이미지인지 또는 실제 이미지인지를 나타내는 제2 출력 값을 산출하도록 하는 프로세스, 및 (4) 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금 상기 제1 출력 값을 제1 GT 값과 비교하여 제1 로스를 산출하고, 상기 제2 출력 값을 제2 GT 값과 비교하여 제2 로스를 산출하며, 상기 제1 및 제2로스 값 각각을 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 거쳐 백프로파게이션 함으로써 상기 제2 CNN 모듈과 상기 제1 CNN 모듈을 학습하는 프로세스를 수행한 상태에서, (i) 도로 주행 상황을 나타내는 테스트용 원본 이미지, 및 (ii) 상기 테스트용 원본 이미지에 대응되는 테스트용 원본 라벨 및 상기 테스트용 원본 이미지에 대응되지 않는 임의의 테스트용 특정 물체의 이미지에 대응되는 테스트용 추가 라벨을 사용하여 생성된 테스트용 합성 라벨을 획득하는 통신부; 및
    (I) 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 이용하여 테스트용 합성 이미지를 생성하도록 하되, 상기 테스트용 합성 이미지는 상기 테스트용 원본 이미지에 상기 테스트용 추가 라벨에 대응하는 상기 테스트용 특정 물체의 이미지가 합성된 이미지인 프로세스를 수행하는 프로세서;
    를 포함하는 테스트 장치.
  26. 제 25항에 있어서,
    상기 통신부가, (iii) 적어도 하나의 테스트용 랜덤 시드 값을 추가적으로 더 획득하고,
    상기 (I) 프로세스에서,
    상기 프로세서가, 상기 제1 CNN 모듈로 하여금 상기 테스트용 원본 이미지, 상기 테스트용 합성 라벨 및 상기 테스트용 랜덤 시드 값을 이용하여 하나 이상의 테스트용 조정된 합성 이미지를 생성하되, 상기 테스트용 조정된 합성 이미지 각각은 상기 테스트용 랜덤 시드 값을 변화시키면서 상기 테스트용 합성 이미지에 포함된 상기 테스트용 특정 물체의 사이즈, 위치, 컬러 중 적어도 일부를 조정하여 생성되는 이미지인 것을 특징으로 하는 테스트 장치.
  27. 제 26항에 있어서,
    상기 제1 CNN 모듈은,
    상기 테스트용 원본 이미지와 상기 테스트용 합성 라벨에 소정의 컨벌루션 연산을 가하여 테스트용 특징 맵을 생성하기 위한 인코딩 레이어,
    상기 테스트용 특징 맵 및 상기 테스트용 랜덤 시드 값을 이용하여 조정된 테스트용 특징 맵을 생성하는 조정 레이어, 및
    상기 조정된 테스트용 특징 맵에 소정의 디컨벌루션 연산을 가하여 상기 테스트용 합성 이미지를 생성하는 디코딩 레이어를 포함하는 것을 특징으로 하는 테스트 장치.
  28. 제 25항에 있어서,
    상기 통신부가, 상기 테스트용 원본 이미지 및 상기 테스트용 합성 라벨을 획득할 때, (i) 상기 테스트용 원본 이미지에 포함된 하나 이상의 물체에 대응하는 하나 이상의 제1 테스트용 바운딩 박스에 대한 정보 및 (ii) 상기 테스트용 합성 라벨에 포함된 상기 테스트용 특정 물체에 대응하는 제2 테스트용 바운딩 박스에 대한 정보를 추가적으로 더 획득하고,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 제1 테스트용 바운딩 박스에 대한 정보 및 상기 제2 테스트용 바운딩 박스에 대한 정보를 이용하여 상기 테스트용 합성 이미지 상에 제3 테스트용 바운딩 박스를 추가적으로 더 생성하되,
    상기 제3 테스트용 바운딩 박스는 (i) 상기 테스트용 원본 이미지에 포함된 상기 하나 이상의 물체 중 적어도 하나 및 (ii) 상기 테스트용 합성 라벨에 대응하는 상기 테스트용 특정 물체에 대응하는 박스 중 적어도 일부 또는 이를 기초로 사이즈나 위치 등을 미세하게 변경한 박스를 포함하는 것을 특징으로 하는 테스트 장치.
  29. 제 28항에 있어서,
    상기 제2 테스트용 바운딩 박스는 최소 축-평행 사각형(Minimum Axis-parallel Rectangle) 방식을 이용하여 생성되는 것을 특징으로 하는 테스트 장치.
  30. 제 25항에 있어서,
    복수의 데이터 세트 중에서 상기 테스트용 특정 물체의 종류가 선택된 후, 상기 테스트용 추가 라벨은 상기 선택된 물체의 종류에 대응하는 복수의 마스크들이 샘플링됨으로써 생성되는 것을 특징으로 하는 테스트 장치.
KR1020190105466A 2018-09-05 2019-08-27 자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 KR102279350B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/121,635 US10311335B1 (en) 2018-09-05 2018-09-05 Method and device for generating image data set to be used for learning CNN capable of detecting obstruction in autonomous driving circumstance, and testing method, and testing device using the same
US16/121,635 2018-09-05

Publications (2)

Publication Number Publication Date
KR20200027885A true KR20200027885A (ko) 2020-03-13
KR102279350B1 KR102279350B1 (ko) 2021-07-21

Family

ID=66286231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105466A KR102279350B1 (ko) 2018-09-05 2019-08-27 자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치

Country Status (5)

Country Link
US (1) US10311335B1 (ko)
EP (1) EP3620955A1 (ko)
JP (1) JP6855082B2 (ko)
KR (1) KR102279350B1 (ko)
CN (1) CN110879959B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102256409B1 (ko) * 2020-11-23 2021-05-25 주식회사 에이모 학습 데이터 세트를 생성하는 방법 및 학습 데이터 세트를 생성하기 위한 컴퓨터 장치
KR102354681B1 (ko) * 2021-11-08 2022-01-24 주식회사 테스트웍스 신경망 모델 기반의 이미지 증강 방법, 서버 및 컴퓨터 프로그램
KR20220052798A (ko) 2020-10-21 2022-04-28 주식회사 팀솔루션 기계 학습용 이미지 데이터 생성 방법 및 그 장치
KR20220075654A (ko) * 2020-11-30 2022-06-08 성균관대학교산학협력단 Multi-class 데이터 잠재공간 분리를 위한 오토인코더 모델

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6585995B2 (ja) * 2015-11-06 2019-10-02 クラリオン株式会社 画像処理システム
CN108830277B (zh) * 2018-04-20 2020-04-21 平安科技(深圳)有限公司 语义分割模型的训练方法、装置、计算机设备和存储介质
KR102190527B1 (ko) * 2019-02-28 2020-12-14 현대모비스 주식회사 자동 영상 합성 장치 및 방법
US20220414918A1 (en) * 2019-06-25 2022-12-29 Nec Corporation Learning device, object detection device, learning method, and recording medium
US11182652B2 (en) * 2019-08-16 2021-11-23 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and system for inferring perception based on augmented feature maps of a perception network
JP7417085B2 (ja) * 2020-03-16 2024-01-18 日本製鉄株式会社 深層学習装置、画像生成装置及び深層学習方法
WO2021201774A1 (en) * 2020-03-31 2021-10-07 Agency For Science, Technology And Research Method and system for determining a trajectory of a target object
CN112200040A (zh) * 2020-09-28 2021-01-08 北京小米松果电子有限公司 遮挡图像检测方法、装置及介质
FR3119697A1 (fr) * 2021-02-05 2022-08-12 Psa Automobiles Sa Procédé de génération d’une base de données d’images pour l’entrainement d’un réseau de neurones artificiels destiné à être implémenté à bord d’un véhicule automobile
TWI795752B (zh) * 2021-03-30 2023-03-11 歐特明電子股份有限公司 行車智能系統學習的開發裝置及其開發方法
US20220358328A1 (en) * 2021-05-05 2022-11-10 Motional Ad Llc End-to-end system training using fused images

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767565B2 (en) * 2015-08-26 2017-09-19 Digitalglobe, Inc. Synthesizing training data for broad area geospatial object detection
US10049308B1 (en) * 2017-02-21 2018-08-14 A9.Com, Inc. Synthesizing training data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Georgios Georgakis et al., "Synthesizing Training Data for Object Detection in Indoor Scenes," arXiv:1702.07836v2 [cs.CV](2017.09.08.)* *
Xi Ouyang et al., "Pedestrian-Synthesis-GAN: Generating Pedestrian Data in Real Scene and Beyond," arXiv:1804.02047v2 [cs.CV] (2018.04.14.)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220052798A (ko) 2020-10-21 2022-04-28 주식회사 팀솔루션 기계 학습용 이미지 데이터 생성 방법 및 그 장치
US12008706B2 (en) 2020-10-21 2024-06-11 T.I.M Solution Co., Ltd Method and device for generating image data for machine learning
KR102256409B1 (ko) * 2020-11-23 2021-05-25 주식회사 에이모 학습 데이터 세트를 생성하는 방법 및 학습 데이터 세트를 생성하기 위한 컴퓨터 장치
KR20220075654A (ko) * 2020-11-30 2022-06-08 성균관대학교산학협력단 Multi-class 데이터 잠재공간 분리를 위한 오토인코더 모델
KR102354681B1 (ko) * 2021-11-08 2022-01-24 주식회사 테스트웍스 신경망 모델 기반의 이미지 증강 방법, 서버 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
JP2020038667A (ja) 2020-03-12
CN110879959B (zh) 2023-09-01
JP6855082B2 (ja) 2021-04-07
KR102279350B1 (ko) 2021-07-21
US10311335B1 (en) 2019-06-04
EP3620955A1 (en) 2020-03-11
CN110879959A (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
KR102279350B1 (ko) 자율 주행 상황에서 장애물 검출을 위한 cnn 학습용 이미지 데이터 세트의 생성 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
US11200424B2 (en) Space-time memory network for locating target object in video content
JP6853560B2 (ja) 高精度イメージを分析するディープラーニングネットワークの学習に利用するためのトレーニングイメージをオートラベリングするための方法、及びこれを利用したオートラベリング装置{method for auto−labeling training images for use in deep learning network to analyze images with high precision, and auto−labeling device using the same}
CN106980871B (zh) 应用到道路场景图像的低保真分类器和高保真分类器
JP6983800B2 (ja) ニューラルネットワークにおける強化学習によるユニーク/希少なケースの分類のための方法
CN111489403A (zh) 利用gan来生成虚拟特征图的方法及装置
US10467503B1 (en) Method and device for generating image data set to be used for learning CNN capable of detecting obstruction in autonomous driving circumstance
KR20190043468A (ko) 풀링 타입에 대한 정보를 포함하는 테이블을 작성하기 위한 방법, 장치 및 이를 이용한 테스팅 방법, 테스팅 장치
KR20200027425A (ko) 자율 주행 상황에서 장애물 검출을 위한 학습용 이미지 데이터 세트의 생성 방법 및 이를 이용한 컴퓨팅 장치, 학습 방법 및 학습 장치
CN112257605A (zh) 基于自标注训练样本的三维目标检测方法、系统及装置
US20140071133A1 (en) Method and system for analyzing sequential data based on sparsity and sequential adjacency
GB2579262A (en) Space-time memory network for locating target object in video content
US9165220B2 (en) Image object recognition based on a feature vector with context information
CN115393625A (zh) 从粗略标记进行图像分段的半监督式训练
Al Mamun et al. Efficient lane marking detection using deep learning technique with differential and cross-entropy loss.
JP2006260311A (ja) マッチング方法およびマッチング装置ならびにプログラム
Yang et al. Towards generic 3d tracking in RGBD videos: Benchmark and baseline
CN112668582B (en) Image recognition method, device, equipment and storage medium
KR101958275B1 (ko) 영상 패치 정규화 방법 및 시스템
Zali et al. Preliminary Study on Shadow Detection in Drone-Acquired Images with U-NET
CN116978116A (zh) 一种基于头部语义特征关联的遮挡场景下行人检测方法
Gowri et al. Human Action Detection Using Deep Learning
Nambata et al. Human-like Guidance with Gaze Estimation and Classification-based Text Generation
CN112668582A (zh) 图像识别方法、装置、设备和存储介质
CN113192093A (zh) 基于双流网络结构的快速显著性目标检测方法

Legal Events

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