KR102375278B1 - 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 cnn을 허용하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents
사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 cnn을 허용하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 Download PDFInfo
- Publication number
- KR102375278B1 KR102375278B1 KR1020200004513A KR20200004513A KR102375278B1 KR 102375278 B1 KR102375278 B1 KR 102375278B1 KR 1020200004513 A KR1020200004513 A KR 1020200004513A KR 20200004513 A KR20200004513 A KR 20200004513A KR 102375278 B1 KR102375278 B1 KR 102375278B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- cnn
- main
- autonomous driving
- learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 196
- 238000012360 testing method Methods 0.000 title claims description 249
- 230000009466 transformation Effects 0.000 title claims description 36
- 238000011426 transformation method Methods 0.000 title 1
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 276
- 230000008569 process Effects 0.000 claims abstract description 128
- 238000012549 training Methods 0.000 claims abstract description 85
- 210000002569 neuron Anatomy 0.000 claims description 18
- 238000010998 test method Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0418—Architecture, e.g. interconnection topology using chaos or fractal principles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
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)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Game Theory and Decision Science (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN (Convolutional Neural Network)을 학습하는 방법에 있어서, (a) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하는 단계; 및 (b) 상기 학습 장치가, (b1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (b2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하도록 하는 단계;를 포함하는 것을 특징으로 하는 방법 및 장치에 관한 것이다.
Description
본 발명은 자율 주행 차량과 함께 사용하기 위한 방법 및 장치에 관한 것으로, 보다 구체적으로 가상 세계에서 학습된 CNN이 실제 세계에서 사용될 수 있도록 하는 하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 장치에 관한 것이다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolutional Neural Network or Deep CNN)는 딥 러닝 분야에서 일어난 눈부신 발전의 핵심이다. CNN은 글자 인식 문제를 해결하기 위해 90년대에도 사용되었지만, 근래에 들어서야 기계 학습(Machine Learning) 분야에서 널리 쓰이게 되었다. 예를 들어, CNN은 2012년에 이미지 인식 경진대회(ImageNet Large Scale Visual Recognition Challenge)에서 다른 경쟁 상대를 제치고 우승을 차지했다. 그 후, CNN은 기계 학습 분야에서 매우 유용한 툴로 쓰이게 되었다.
최근에, CNN은 자율 주행 분야에서 많이 사용되고 있다. CNN은 자율 주행 분야에서 자체 입력 이미지를 처리함으로써 객체 검출, 시멘틱 세그멘테이션, 여유 공간 검출 등을 수행할 수 있다. 여기서 CNN이 이러한 기능을 수행하기 위해서는 엄청난 양의 학습 세트가 필요하다.
이와 같은 방식의 문제점은, 자율 주행 분야에서 CNN을 사용하여 전술한 학습 세트를 만드는 데에 비용이 많이 든다는 것이다. 또한, 학습 세트를 생성하기 위해서는 학습 이미지는 자동으로 획득될 수 있지만, 이에 대응하는 GT는 사람에 의해 수동으로 생성되어야 하므로 비용이 많이 드는 것이다.
이러한 문제점을 극복하기 위한 대안이 가상 운전이다. 프로그래밍된 컴퓨터를 이용하여 가상 세계를 시뮬레이션하고, 학습 이미지와 이에 대응하는 GT 모두 자동으로 획득할 수 있으므로 비용을 많이 줄일 수 있는 장점이 있다.
하지만, 이 방법 역시, 가상 세계에서 획득한 학습 이미지가 실제 세계의 이미지와 다르기 때문에, 가상 세계에서 학습된 CNN에 대한 신뢰성이 담보되지 않는 문제가 있다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
본 발명은 사진 스타일 변환을 사용하여 런타임 입력 변환을 위한 학습 방법을 제공함으로써 가상 세계에서 학습된 CNN이 실제 세계에서 사용될 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 가상 세계로부터 획득된 가상 이미지와 테스트에 사용될 이미지로서 동일한 스타일의 실제 이미지를 학습 이미지로서 사용하는 학습 방법을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 학습하는 방법에 있어서, (a) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하는 단계; 및 (b) 상기 학습 장치가, (b1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (b2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하도록 하는 단계;를 포함하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b2) 단계는, (b21) 상기 학습 장치가, 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 특정 스타일 특징 맵을 생성하고, (ii) 상기 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 특정 컨텐츠 특징 맵을 생성하는 단계; (b22) 상기 학습 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 제1 업데이트 이미지를 생성하도록 하는 단계; (b23) 상기 학습 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제K 업데이트 로스를 통해 상기 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 제K 업데이트 이미지를 생성하도록 하는 단계; 및 (b24) 상기 학습 장치가, 상기 (b22) 단계 및 상기 (b23) 단계를 수행하여 생성된 제N 업데이트 이미지를 특정 제2 학습 이미지로서 출력하는 단계;를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b22) 단계는, 상기 학습 장치가, 상기 지원 로스 레이어로 하여금, (i) 상기 제1 업데이트 특징 맵과 상기 특정 스타일 특징 맵을 사용하여 하나 이상의 제1 스타일 로스를 생성하는 프로세스 및 (ii) 상기 제1 업데이트 특징 맵과 상기 특정 컨텐츠 특징 맵을 사용하여 하나 이상의 제1 컨텐츠 로스를 생성하는 프로세스를 수행하도록 함으로써, 상기 제1 스타일 로스 및 상기 제1 컨텐츠 로스를 포함하는 상기 제1 업데이트 로스를 생성하도록 하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b22) 단계는, 상기 학습 장치가, 상기 지원 로스 레이어로 하여금, 그래디언트 디센트 방식(gradient-descent scheme)으로 상기 제1 업데이트 로스를 사용하여 상기 노이즈 이미지를 업데이트하도록 함으로써, (i) 상기 제1 업데이트 이미지의 스타일 특성을 상기 노이즈 이미지의 스타일 특성 보다 상기 특정 제1 베이스 이미지의 스타일 특성과 더 유사하게 만들고, (ii) 상기 제1 업데이트 이미지의 컨텐츠 특성을 상기 노이즈 이미지의 컨텐츠 특성 보다 상기 특정 제2 베이스 이미지의 컨텐츠 특성과 더 유사하게 만드는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b) 단계는, 상기 학습 장치가, (i) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지의 특정 개수 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 학습함으로써 상기 제1 학습 프로세스를 수행하고 (ii) 상기 메인 CNN으로 하여금, 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 미세 조정함으로써 상기 제2 학습 프로세스를 수행하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b) 단계는, 상기 학습 장치가, (i) 상기 메인 CNN으로 하여금, (i-1) 관리자에 의해 기설정된 특정 수에 대한 특정 제1 학습 이미지의 수의 비율을 따르는 상기 제1 학습 이미지 중 하나 이상의 특정 제1 학습 이미지 및 (i-2) 이에 대응하는 상기 제1 GT 자율 주행 소스 정보의 일부를 사용하여, 상기 파라미터를 초기에 학습함으로써 상기 제1 학습 프로세스를 수행하도록 한 후, 상기 학습 장치가, (ii) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보와 더불어 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 함께 사용하여, 상기 파라미터를 재학습함으로써 상기 제2 학습 프로세스를 수행하도록 하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b2) 단계는, 상기 제1 베이스 이미지는 상기 제1 학습 이미지들 중에서 선택된 이미지이고, 상기 제2 베이스 이미지는 상기 실제 차량에 탑재된 적어도 하나의 카메라를 통해 상기 실제 차량에 대응하는 실제 주행 상황을 촬영한 이미지이며, 상기 적어도 하나의 제1 베이스 이미지가 하나인 경우, 상기 제2 학습 이미지 각각은 상기 제2 베이스 이미지 각각에 대응하도록 생성되는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b1) 단계는, 상기 학습 장치가, (i) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어의 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신의 파라미터를 사용하여, 입력된 값에 적어도 하나의 메인 컨벌루션 적용하고, (i-2) 이의 출력을 자신의 다음 자율 주행 뉴런에 전달하는 프로세스를 반복하도록 함으로써, 제1 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN에 포함된 상기 출력 레이어로 하여금, 상기 제1 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하여 상기 제1 예측 자율 주행 소스 정보를 생성하도록 함으로써, 상기 메인 CNN 연산을 상기 제1 학습 이미지에 적용하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 테스트하는 방법에 있어서, (a) (1) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (2) 상기 학습 장치가, (2-1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (2-2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하여 학습이 완료된 상태에서, 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 테스트용 가상 세계에서의 테스트용 가상 차량의 테스트용 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 (ii) 상기 테스트 장치와 연동하여 동작하는 테스트용 실제 차량에 탑재된 적어도 하나의 테스트용 카메라를 통해 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 하는 단계; 및 (b) 상기 테스트 장치가, 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 테스트 이미지를 참조로 하여 테스트용 예측 자율 주행 소스 정보를 생성하도록 하는 단계;를 포함하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, (c) 상기 테스트 장치가, 상기 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달하여 상기 테스트용 실제 차량의 자율 주행을 지원하는 단계;를 더 포함하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (a) 단계는, (a1) 상기 테스트 장치가, 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 테스트용 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 스타일 특징 맵을 생성하는 프로세스 및 (ii) 상기 테스트용 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 컨텐츠 특징 맵을 생성하는 프로세스를 수행하도록 하는 단계; (a2) 상기 테스트 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 테스트용 제1 업데이트 이미지를 생성하도록 하는 단계; (a3) 상기 테스트 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제K 업데이트 로스를 통해 상기 테스트용 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 테스트용 제K 업데이트 이미지를 생성하도록 하는 단계; (a4) 상기 테스트 장치가, 상기 (a2) 단계 및 상기 (a3) 단계를 수행하여 생성된 테스트용 제N 업데이트 이미지를 상기 테스트 이미지로서 출력하는 단계;를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b) 단계 이후에, (d) 상기 테스트용 제2 베이스 이미지가 획득되었을 때 제T 타이밍 이후인 제T+1 타이밍에 상기 테스트용 카메라를 통해 테스트용 추가 제2 베이스 이미지가 획득되면, 상기 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 상기 테스트용 제1 베이스 이미지 및 상기 테스트용 추가 제2 베이스 이미지를 참조로 하여 추가 테스트 이미지를 생성한 후 (ii) 상기 추가 테스트 이미지를 사용하여 테스트용 추가 예측 자율 주행 소스 정보를 생성하도록 하는 단계;를 더 포함하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, 상기 (b) 단계는, 상기 테스트 장치가, (i) 상기 메인 CNN의 상기 메인 컨벌루션 레이어에 포함된 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신에게 입력된 적어도 하나의 값에 자신의 파라미터를 이용하여 적어도 하나의 메인 컨벌루션 연산을 적용한 후 (i-2) 자신의 다음 자율 주행 컨벌루션 뉴런에 전달하는 프로세스를 반복하도록 함으로써 테스트용 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN의 상기 출력 레이어로 하여금, 상기 테스트용 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하도록 하여 상기 테스트용 예측 자율 주행 소스 정보를 생성하도록 함으로써 상기 메인 CNN 연산을 상기 테스트 이미지에 적용하도록 하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 또 다른 태양에 따르면, 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 학습하는 장치에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (I) 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (II) (II1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (II2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II2) 프로세스는, (II21) 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 특정 스타일 특징 맵을 생성하고, (ii) 상기 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 특정 컨텐츠 특징 맵을 생성하는 프로세스; (II22) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 노이즈 이미지 에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 제1 업데이트 이미지를 생성하도록 하는 프로세스; (II23) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제K 업데이트 로스를 통해 상기 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 제K 업데이트 이미지를 생성하도록 하는 프로세스; 및 (II24) 상기 (II22) 프로세스 및 상기 (II23) 프로세스를 수행하여 생성된 제N 업데이트 이미지를 특정 제2 학습 이미지로서 출력하는 프로세스;를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II22) 프로세스는, 상기 프로세서가, 상기 지원 로스 레이어로 하여금, (i) 상기 제1 업데이트 특징 맵과 상기 특정 스타일 특징 맵을 사용하여 하나 이상의 제1 스타일 로스를 생성하는 프로세스 및 (ii) 상기 제1 업데이트 특징 맵과 상기 특정 컨텐츠 특징 맵을 사용하여 하나 이상의 제1 컨텐츠 로스를 생성하는 프로세스를 수행하도록 함으로써, 상기 제1 스타일 로스 및 상기 제1 컨텐츠 로스를 포함하는 상기 제1 업데이트 로스를 생성하도록 하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II22) 프로세스는, 상기 프로세서가, 상기 지원 로스 레이어로 하여금, 그래디언트 디센트 방식(gradient-descent scheme)으로 상기 제1 업데이트 로스를 사용하여 상기 노이즈 이미지를 업데이트하도록 함으로써, (i) 상기 제1 업데이트 이미지의 스타일 특성을 상기 노이즈 이미지의 스타일 특성 보다 상기 특정 제1 베이스 이미지의 스타일 특성과 더 유사하게 만들고, (ii) 상기 제1 업데이트 이미지의 컨텐츠 특성을 상기 노이즈 이미지의 컨텐츠 특성 보다 상기 특정 제2 베이스 이미지의 컨텐츠 특성과 더 유사하게 만드는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스는, 상기 프로세서가, (i) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지의 특정 개수 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 학습함으로써 상기 제1 학습 프로세스를 수행하고 (ii) 상기 메인 CNN으로 하여금, 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 미세 조정함으로써 상기 제2 학습 프로세스를 수행하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스는, 상기 프로세서가, (i) 상기 메인 CNN으로 하여금, (i-1) 관리자에 의해 기설정된 특정 수에 대한 특정 제1 학습 이미지의 수의 비율을 따르는 상기 제1 학습 이미지 중 하나 이상의 특정 제1 학습 이미지 및 (i-2) 이에 대응하는 상기 제1 GT 자율 주행 소스 정보의 일부를 사용하여, 상기 파라미터를 초기에 학습함으로써 상기 제1 학습 프로세스를 수행하도록 한 후, 상기 프로세서가, (ii) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보와 더불어 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 함께 사용하여, 상기 파라미터를 재학습함으로써 상기 제2 학습 프로세스를 수행하도록 하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II2) 프로세스는, 상기 제1 베이스 이미지는 상기 제1 학습 이미지들 중에서 선택된 이미지이고, 상기 제2 베이스 이미지는 상기 실제 차량에 탑재된 적어도 하나의 카메라를 통해 상기 실제 차량에 대응하는 실제 주행 상황을 촬영한 이미지이며, 상기 적어도 하나의 제1 베이스 이미지가 하나인 경우, 상기 제2 학습 이미지 각각은 상기 제2 베이스 이미지 각각에 대응하도록 생성되는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II1) 프로세스는, 상기 프로세서가, (i) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어의 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신의 파라미터를 사용하여, 입력된 값에 적어도 하나의 메인 컨벌루션 적용하고, (i-2) 이의 출력을 자신의 다음 자율 주행 뉴런에 전달하는 프로세스를 반복하도록 함으로써, 제1 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN에 포함된 상기 출력 레이어로 하여금, 상기 제1 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하여 상기 제1 예측 자율 주행 소스 정보를 생성하도록 함으로써, 상기 메인 CNN 연산을 상기 제1 학습 이미지에 적용하는 것을 특징으로 하는 장치가 제공된다.
본 발명의 또 다른 태양에 따르면, 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 테스트하는 장치에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (I) (1) 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (2) (2-1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (2-2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하여 학습이 완료된 상태에서, 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 테스트용 가상 세계에서의 테스트용 가상 차량의 테스트용 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 (ii) 상기 테스트 장치와 연동하여 동작하는 테스트용 실제 차량에 탑재된 적어도 하나의 테스트용 카메라를 통해 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 하는 프로세스; 및 (II) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 테스트 이미지를 참조로 하여 테스트용 예측 자율 주행 소스 정보를 생성하도록 하는 프로세스;를 수행하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 프로세서가, (III) 상기 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달하여 상기 테스트용 실제 차량의 자율 주행을 지원하는 프로세스;를 더 수행하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (I) 프로세스는, (I1) 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 테스트용 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 스타일 특징 맵을 생성하는 프로세스 및 (ii) 상기 테스트용 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 컨텐츠 특징 맵을 생성하는 프로세스; (I2) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 테스트용 제1 업데이트 이미지를 생성하도록 하는 프로세스; (I3) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제K 업데이트 로스를 통해 상기 테스트용 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 테스트용 제K 업데이트 이미지를 생성하도록 하는 프로세스; (I4) 상기 (I2) 프로세스 및 상기 (I3) 프로세스를 수행하여 생성된 테스트용 제N 업데이트 이미지를 상기 테스트 이미지로서 출력하는 프로세스;를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스 이후에, 상기 프로세서가, (IV) 상기 테스트용 제2 베이스 이미지가 획득되었을 때 제T 타이밍 이후인 제T+1 타이밍에 상기 테스트용 카메라를 통해 테스트용 추가 제2 베이스 이미지가 획득되면, 상기 지원 CNN으로 하여금, (i) 상기 테스트용 제1 베이스 이미지 및 상기 테스트용 추가 제2 베이스 이미지를 참조로 하여 추가 테스트 이미지를 생성한 후 (ii) 상기 추가 테스트 이미지를 사용하여 테스트용 추가 예측 자율 주행 소스 정보를 생성하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 장치가 제공된다.
일 실시예에서, 상기 (II) 프로세스는, 상기 프로세서가, (i) 상기 메인 CNN의 상기 메인 컨벌루션 레이어에 포함된 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신에게 입력된 적어도 하나의 값에 자신의 파라미터를 이용하여 적어도 하나의 메인 컨벌루션 연산을 적용한 후 (i-2) 자신의 다음 자율 주행 컨벌루션 뉴런에 전달하는 프로세스를 반복하도록 함으로써 테스트용 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN의 상기 출력 레이어로 하여금, 상기 테스트용 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하도록 하여 상기 테스트용 예측 자율 주행 소스 정보를 생성하도록 함으로써 상기 메인 CNN 연산을 상기 테스트 이미지에 적용하도록 하는 것을 특징으로 하는 장치가 제공된다.
본 발명은 사진 스타일 변환을 사용하여 런타임 입력 변환을 위한 학습 방법을 제공함으로써 가상 세계에서 학습된 CNN을 실제 자율 주행에 사용할 수 있도록 하는 효과가 있다.
또한, 본 발명은 가상 세계로부터 획득된 가상 이미지와 테스트에 사용될 이미지로서 동일한 스타일의 실제 이미지를 학습 이미지로서 사용하는 학습 방법을 제공할 수 있는 효과가 있다.
또한, 본 발명은 실제 세계에서 자율 주행을 잘 수행할 수 있는 CNN을 적은 비용으로도 효율적으로 학습할 수 있도록 하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 수행하는 학습 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법에 사용되는 제2 학습 이미지를 생성하는 방식을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 테스트 방법을 나타낸 흐름도이다.
도 1은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 수행하는 학습 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법에 사용되는 제2 학습 이미지를 생성하는 방식을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 테스트 방법을 나타낸 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 수행하는 학습 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 학습 장치(100)는, 추후 자세히 설명할 자율 주행에 사용되는 메인 CNN (130) 및 지원 CNN(140)을 포함할 수 있다. 메인 CNN(130) 및 지원 CNN(140)의 입출력 및 연산 과정은 각각 적어도 하나의 통신부(110) 및 적어도 하나의 프로세서(120)에 의해 이루어질 수 있다. 다만 도 1에서는 통신부(110) 및 프로세서(120)의 구체적인 연결 관계를 생략하였다. 이 때, 메모리(115)는 후술할 여러 가지 인스트럭션들을 저장한 상태일 수 있고, 프로세서(120)는 메모리(115)에 저장된 인스트럭션들을 수행하도록 설정되되, 프로세서(120)는 추후 설명할 프로세스들을 수행함으로써 본 발명을 수행할 수 있다. 이와 같이 학습 장치(100)가 묘사되었다고 하여, 학습 장치(100)가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 통합 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이상 본 발명의 일 실시예에 따라 수행되는 학습 장치(100)의 구성에 대해 알아본 바, 이하에서는 학습 장치(100)가 수행하는 학습 방법에 대하여 설명한다.
도 2는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법을 나타낸 흐름도이다.
도 2를 참조로 하면, 학습 장치(100)는, 하나 이상의 제1 학습 이미지들 중 적어도 일부를 획득할 수 있다(S01). 이후, 학습 장치(100)는 두 개의 프로세스를 병렬적으로 수행할 수 있다.
먼저, 학습 장치(100)는, 메인 CNN(130)으로 하여금, 제1 학습 이미지들을 참조로 하여 제1 예측 자율 주행 소스 정보를 생성하도록 할 수 있다(S02-1). 이후, 학습 장치(100)는, 메인 CNN(130)으로 하여금, 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT 자율 주행 소스 정보를 참조로 하여 제1 자율 주행 로스를 생성하도록 할 수 있다(S02-2). 그리고, 학습 장치(100)는, 메인 CNN(130)으로 하여금, 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스를 수행할 수 있다(S02-3).
두번째, 학습 장치(100)는, 지원 CNN(140)으로 하여금, 적어도 하나의 제1 베이스 이미지 및 하나 이상의 제2 베이스 이미지를 참조로 하여 하나 이상의 제2 학습 이미지를 생성하도록 할 수 있다(S03-1). 그리고, 학습 장치(100)는, 지원 CNN(140)으로 하여금, 제2 학습 이미지들을 참조로 하여 제2 예측 자율 주행 소스 정보를 생성하도록 할 수 있다(S03-2). 이후, 학습 장치(100)는, 지원 CNN(140)으로 하여금, 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여 제2 자율 주행 로스를 생성하도록 할 수 있다(S03-3). 그리고, 학습 장치(100)는, 지원 CNN(140)으로 하여금, 제2 자율 주행 로스를 사용하여 메인 CNN(130)의 파라미터들 중 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행 할 수 있다(S03-4).
이하 전술한 제1 학습 프로세스 및 제2 학습 프로세스에 대해 더욱 구체적으로 설명하도록 한다.
제1 학습 프로세스와 관련하여, 학습 장치(100)는, 메인 CNN(130)에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 제1 학습 이미지들을 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 할 수 있다. 여기서, 제1 학습 이미지들은, 프로그래밍된 컴퓨터에 의해 시뮬레이션된 가상 세계를 가상 주행 중인 가상 차량의 관점에서 촬영함으로써 획득될 수 있다. 따라서, 이러한 이미지는, 상기 실제 이미지들에 비해 채도가 높고, 대비가 크며, 물체의 디테일이 상대적으로 생략되어 있으며, 광선의 경로가 다소 비현실적인 특성을 가지는 이미지들일 수 있다. 제1 예측 자율 주행 소스 정보는, 추후 설명할 테스트 단계에서의 자율 주행 어플리케이션 모듈에 전달될 정보로서, 자율 주행을 함에 있어 기본이 되는 레퍼런스 정보를 의미할 수 있다. 일 예로, 자율 주행 소스 정보는 제1 학습 이미지에 대한 세그멘테이션 정보를 포함할 수 있고, 또 다른 예로, 제1 학습 이미지에 대한 객체 검출 정보를 포함할 수 있다. 다만, 본 발명은 이에 한정될 것은 아니다.
이와 같은 제1 예측 자율 주행 소스 정보를 생성하기 위하여, 학습 장치(100)은, 메인 CNN(130)의 컨벌루션 레이어에 포함된 하나 이상의 자율 주행 컨벌루션 뉴런들로 하여금, (i-1) 자신의 파라미터를 사용하여, 입력된 값에 적어도 하나의 메인 컨벌루션 적용하고, (i-2) 이의 출력을 자신의 다음 자율 주행 뉴런에 전달하는 프로세스를 반복하도록 함으로써, 제1 자율 주행 특징 맵을 생성하도록 할 수 있다. 이후, 학습 장치(100)는, 상기 메인 CNN에 포함된 상기 출력 레이어로 하여금, 상기 제1 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하여 상기 제1 예측 자율 주행 소스 정보를 생성하도록 할 수 있다. 여기서, 전술한 일 예에 따라 제1 예측 자율 주행 소스 정보가 세그멘테이션 정보를 포함하는 경우, 출력 레이어는 디컨벌루션 레이어의 형태를 띄고, 출력 연산은 디컨벌루션 연산일 수 있다. 전술한 다른 예에 따라 제1 예측 자율 주행 소스 정보가 객체 검출 정보를 포함하는 경우, 출력 레이어는 풀링 레이어 및 FC(Fully-Connected) 레이어를 포함할 수 있으며, 출력 연산은 풀링 연산 및 FC 연산일 수 있다.
이상 제1 학습 프로세스에 대해 설명한 바, 이하 제2 학습 프로세스에 대해 설명하도록 한다.
제2 학습 프로세스는, 제2 학습 이미지와 관련이 있다. 그리고, 제2 학습 이미지는 제1 베이스 이미지 및 제2 베이스 이미지를 사용하여 지원 CNN(140)에 의해 생성되게 된다. 여기서 제1 베이스 이미지란, 제1 학습 이미지들에 대응하는 것, 즉 가상 세계의 이미지일 수 있고, 제2 베이스 이미지는 실제 세계에서의 실제 차량의 실제 주행에 획득된 이미지에 대응할 수 있다. 일례로, 제1 베이스 이미지는 제1 학습 이미지들 중 선택된 것일 수 있으며, 제2 베이스 이미지는 실제 차량에 탑재된 카메라를 통해 획득한 실제 주행 상황들에 대한 이미지들 중 하나가 선택된 것일 수 있다. 여기서 제1 베이스 이미지가 하나만 선택된 경우, 제2 학습 이미지 각각은 제2 베이스 이미지 각각에 대응할 수 있다.
이와 같은 제1 베이스 이미지 및 제2 베이스 이미지가 획득된 후, 학습 장치(100)는, 지원 CNN(140)에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 제1 특정 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 특정 스타일 특징 맵을 생성하고, (ii) 상기 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 특정 컨텐츠 특징 맵을 생성하는 프로세스를 수행하도록 할 수 있다. 여기서 양 프로세스는 독립적인 것으로, 병렬적으로 수행될 수 있다. 특정 스타일 특징 맵 및 특정 컨텐츠 특징 맵 각각은, 추후 설명하겠지만, 각각 생성될 제2 특정 학습 이미지의 스타일 및 그 내용에 대한 레퍼런스가 되는 특징 맵일 수 있다.
이후, 학습 장치(100)는, 지원 CNN(140)에 포함된 지원 컨벌루션 레이어로 하여금, 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제1 업데이트 특징 맵을 생성하도록 한 후, 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 제1 업데이트 로스를 생성하도록 할 수 있다. 여기서, 노이즈 이미지는 제2 특정 학습 이미지를 생성하기 위해 사용되는 배경 이미지일 수 있다. 간단히 이야기하자면 그림을 그릴 때 사용하는 캔버스와 같은 이미지이다.
구체적으로, 학습 장치(100)는, 지원 로스 레이어로 하여금, (i) 상기 제1 업데이트 특징 맵과 상기 특정 스타일 특징 맵을 사용하여 하나 이상의 제1 스타일 로스를 생성하는 프로세스 및 (ii) 상기 제1 업데이트 특징 맵과 상기 특정 컨텐츠 특징 맵을 사용하여 하나 이상의 제1 컨텐츠 로스를 생성하는 프로세스를 수행하도록 할 수 있다. 이후, 학습 장치(100)는, 상기 제1 스타일 로스 및 상기 제1 컨텐츠 로스를 합하여 상기 제1 업데이트 로스를 생성하도록 할 수 있다. 여기서, 제1 스타일 로스를 생성하기 위하여, 지원 로스 레이어는, 제1 업데이트 특징 맵에 스타일 연산을 적용하여 제1 변형 업데이트 특징 맵들을 생성한 후, 제1 변형 업데이트 특징맵과 특정 스타일 특징 맵 간의 차이를 계산할 수 있다. 또한, 제1 컨텐츠 로스를 생성하기 위해, 지원 로스 레이어는, 제1 업데이트 특징 맵과 특정 컨텐츠 특징 맵 간의 차이를 계산할 수 있다.
이후, 학습 장치(100)는, 지원 로스 레이어로 하여금, 제1 업데이트 로스를 사용하여 노이즈 이미지를 업데이트함으로써 적어도 하나의 제1 업데이트 이미지를 생성하도록 할 수 있다. 구체적으로는, 지원 로스 레이어로 하여금, 그래디언트 디센트 방식(gradient-descent scheme)으로 상기 제1 업데이트 로스를 사용하여 상기 노이즈 이미지를 업데이트 할 수 있다. 이러한 업데이트 프로세스를 수행함으로써, 상기 제1 업데이트 이미지의 스타일 특성은 상기 노이즈 이미지의 스타일 특성 보다 상기 특정 제1 베이스 이미지의 스타일 특성과 더 유사해 질 수 있다. 또한, 상기 제1 업데이트 이미지의 컨텐츠 특성은 상기 노이즈 이미지의 컨텐츠 특성 보다 상기 특정 제2 베이스 이미지의 컨텐츠 특성과 더 유사하게 될 수 있다.
지원 CNN에 의해 수행되는 상기 프로세스를 보다 구체적으로 설명하기 위해 도 3을 참조하도록 한다.
도 3은 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 학습 방법에 사용되는 제2 학습 이미지를 생성하는 방식을 나타낸 도면이다.
도 3을 참조로 하면, 제1 업데이트 특징 맵들 중 하나(301)와 특정 스타일 특징 맵들 중 하나(302) 간의 차이가 계산됨으로써 제1 스타일 로스 중 하나가 생성되었음을 알 수 있고, 제1 업데이트 특징 맵들 중 하나(301)와 특정 컨텐츠 특징 맵들 중 하나(303)간의 차이가 계산됨으로써 제1 컨텐츠 로스 중 하나가 생성었음을 알 수 있다. 또한, 제1 업데이트 로스를 이용해 노이즈 이미지가 업데이트되었음을 확인할 수 있다.
이상과 동일한 과정을 수행하여, 제1 업데이트 이미지를 업데이트하여 제2 업데이트 이미지가 생성될 수 있고, 제2 업데이트 이미지를 업데이트하여 제3 업데이트 이미지가 생성될 수 있고, 나아가 제N 업데이트 이미지가 생성될 수 있고, 이를 제2 특정 학습 이미지로서 출력할 수 있다. 여기서, N은 기설정된 정수이다. 보다 구체적으로, 학습 장치(100)가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제K 업데이트 로스를 통해 상기 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 제K 업데이트 이미지를 생성하도록 할 수 있다. 여기서, K는 1 내지 N의 정수이다.
이와 같은 제2 특정 학습 이미지의 생성 방식은, 일반적인 그림을 고흐의 그림 스타일로 바꾼 실험 결과로 유명해진 Gatys et al.의 2016년 논문 "Image Style Transfer Using Convolutional Neural Networks"과 유사한 바, 통상의 기술자는 해당 논문을 참조로 하여 상기의 설명을 용이하게 이해할 수 있을 것이다.
이와 같이 특정 제2 학습 이미지를 포함하는 제2 학습 이미지가 생성되면, 제1 학습 이미지와 마찬가지로 메인 CNN(130)을 학습하는 데에 사용될 수 있다. 간략하게, 제2 학습 프로세스로서, 학습 장치(100)는, (i) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (ii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (ii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (ii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 한다. 이러한 제2 학습 프로세스는 제1 학습 프로세스와 유사하므로 더욱 자세한 설명은 생략하도록 한다.
이상 제 1 학습 프로세스 및 제 2 학습 프로세스에 대해 설명한 바, 이하 제 1 학습 프로세스와 제 2 학습 프로세스가 어떠한 방식으로 서로 연동되어 수행될 수 있는지에 대해 설명하도록 한다.
먼저, 일 실시예에 따르면, 제 1 학습 프로세스 및 제 2 학습 프로세스는 동시에 이루어질 수 있다. 즉, 제1 학습 이미지가 획득된 후, 제2 학습 이미지가 생성되면, 이 두 종류의 학습 이미지는 메인 CNN(130)의 파라미터들 중 적어도 일부를 학습하는 데 사용될 수 있다.
다른 실시예에 따르면, 제 1 학습 프로세스를 먼저 수행하여 메인 CNN(130)의 파라미터들 중 적어도 일부를 학습한 다음, 제 2 학습 프로세스를 수행함으로써 파라미터들을 미세 조정할 수도 있다. 즉, 학습 장치(100)는, (i) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지의 특정 개수 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 학습함으로써 상기 제1 학습 프로세스를 수행하고 (ii) 상기 메인 CNN으로 하여금, 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 사용하여, 상기 파라미터를 미세 조정함으로써 상기 제2 학습 프로세스를 수행하도록 할 수 있다.
또는, 또다른 실시예에 따르면, 제 1 학습 프로세스는 제1 학습 이미지를 일부 사용하여 파라미터들 중 적어도 일부를 초기에 학습한 다음, 그리고 제 2 학습 프로세스는 제1 학습 이미지 및 제 2 학습 이미지를 함께 사용하여 파라미터들 중 적어도 일부를 재학습할 수도 있다. 즉, 학습 장치(100)가, 메인 CNN(130)으로 하여금, 상기 제1 학습 이미지 중 하나 이상의 특정 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보의 일부를 사용하여, 상기 파라미터를 초기에 학습함으로써 상기 제1 학습 프로세스를 수행하도록 한 후, 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보와 더불어 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 함께 사용하여, 상기 파라미터를 재학습함으로써 상기 제2 학습 프로세스를 수행하도록 할 수 있다.
이상의 과정을 거쳐 학습이 완료된 메인 CNN(130)이 어떻게 테스트되는지 이하 도 4를 참조로 하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따라 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 자율 주행용 CNN을 허용하기 위한 테스트 방법을 나타낸 흐름도이다.
도 4를 참조로 하면, 본 발명의 테스트 방법은, (i) 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 실시간으로 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 하는 단계; 및 (ii) 테스트 이미지를 학습된 메인 CNN(130)에 입력하여 그 출력, 즉 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달하는 구성임을 확인할 수 있다. 이하 이에 대해 더욱 구체적으로 설명하도록 한다.
즉, (1) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (2) 상기 학습 장치가, (2-1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (2-2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하여 학습이 완료된 상태에서, 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 테스트용 가상 세계에서의 테스트용 가상 차량의 테스트용 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 (ii) 상기 테스트 장치와 연동하여 동작하는 테스트용 실제 차량에 탑재된 적어도 하나의 테스트용 카메라를 통해 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 할 수 있다.
이후, 상기 테스트 장치가, 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 테스트 이미지를 참조로 하여 테스트용 예측 자율 주행 소스 정보를 생성하도록 할 수 있다.
그리고, 테스트 장치가, 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달함으로써 상기 테스트용 실제 차량의 자율 주행을 지원할 수 있다. 이때, 자율 주행 어플리케이션 모듈은 테스트 이미지에 대한 이미지 세그멘테이션 정보 또는 객체 검출 정보를 사용하여 자율 주행을 사용하는 모듈일 수 있는데, 이는 본 발명의 주된 범위에 있는 것은 아니므로 자세한 설명은 생략하도록 한다.
테스트 방법을 수행할 때는, 학습 방법을 수행할 때와 달리 그 레이턴시(latency)가 매우 중요하다. 따라서, 단수인 테스트용 제1 베이스 이미지는 고정될 수 있고, 실시간으로 테스트용 카메라를 통해 이미지가 획득될 때마다 이를 테스트용 제2 베이스 이미지로서 지원 CNN(140)에 입력할 수 있다. 즉, 테스트 장치는, 상기 테스트용 제2 베이스 이미지가 획득되었을 때 제T 타이밍 이후인 제T+1 타이밍에 상기 테스트용 카메라를 통해 테스트용 추가 제2 베이스 이미지가 획득되면, 상기 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 상기 테스트용 제1 베이스 이미지 및 상기 테스트용 추가 제2 베이스 이미지를 참조로 하여 추가 테스트 이미지를 생성한 후 (ii) 상기 추가 테스트 이미지를 사용하여 테스트용 추가 예측 자율 주행 소스 정보를 생성하도록 할 수 있다.
이상의 방법에 따라, 본 발명은 라벨링 비용을 줄이면서도 높은 자율 주행 성능을 보이는 자율 주행 차량을 제공할 수 있게 된다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (26)
- 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 학습하는 방법에 있어서,
(a) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하는 단계; 및
(b) 상기 학습 장치가, (b1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (b2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하도록 하는 단계;
를 포함하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 (b2) 단계는,
(b21) 상기 학습 장치가, 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 제1 베이스 이미지들 중 특정 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 특정 스타일 특징 맵을 생성하고, (ii) 상기 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 특정 컨텐츠 특징 맵을 생성하는 단계;
(b22) 상기 학습 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 제1 업데이트 이미지를 생성하도록 하는 단계;
(b23) 상기 학습 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제K 업데이트 로스를 통해 상기 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 제K 업데이트 이미지를 생성하도록 하는 단계; 및
(b24) 상기 학습 장치가, 상기 (b22) 단계 및 상기 (b23) 단계를 수행하여 생성된 제N 업데이트 이미지를 특정 제2 학습 이미지로서 출력하는 단계;
를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 방법. - 제 2항에 있어서,
상기 (b22) 단계는,
상기 학습 장치가, 상기 지원 로스 레이어로 하여금, (i) 상기 제1 업데이트 특징 맵과 상기 특정 스타일 특징 맵을 사용하여 하나 이상의 제1 스타일 로스를 생성하는 프로세스 및 (ii) 상기 제1 업데이트 특징 맵과 상기 특정 컨텐츠 특징 맵을 사용하여 하나 이상의 제1 컨텐츠 로스를 생성하는 프로세스를 수행하도록 함으로써, 상기 제1 스타일 로스 및 상기 제1 컨텐츠 로스를 포함하는 상기 제1 업데이트 로스를 생성하도록 하는 것을 특징으로 하는 방법. - 제 2항에 있어서,
상기 (b22) 단계는,
상기 학습 장치가, 상기 지원 로스 레이어로 하여금, 그래디언트 디센트 방식(gradient-descent scheme)으로 상기 제1 업데이트 로스를 사용하여 상기 노이즈 이미지를 업데이트하도록 함으로써, (i) 상기 제1 업데이트 이미지의 스타일 특성을 상기 노이즈 이미지의 스타일 특성 보다 상기 특정 제1 베이스 이미지의 스타일 특성과 더 유사하게 만들고, (ii) 상기 제1 업데이트 이미지의 컨텐츠 특성을 상기 노이즈 이미지의 컨텐츠 특성 보다 상기 특정 제2 베이스 이미지의 컨텐츠 특성과 더 유사하게 만드는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 (b) 단계는,
상기 학습 장치가, (i) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지의 특정 개수 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 학습함으로써 상기 제1 학습 프로세스를 수행하고 (ii) 상기 메인 CNN으로 하여금, 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 미세 조정함으로써 상기 제2 학습 프로세스를 수행하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 (b) 단계는,
상기 학습 장치가, (i) 상기 메인 CNN으로 하여금, (i-1) 관리자에 의해 기설정된 특정 수에 대한 특정 제1 학습 이미지의 수의 비율을 따르는 상기 제1 학습 이미지 중 하나 이상의 특정 제1 학습 이미지 및 (i-2) 이에 대응하는 상기 제1 GT 자율 주행 소스 정보의 일부를 사용하여, 상기 파라미터를 초기에 학습함으로써 상기 제1 학습 프로세스를 수행하도록 한 후,
상기 학습 장치가, (ii) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보와 더불어 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 함께 사용하여, 상기 파라미터를 재학습함으로써 상기 제2 학습 프로세스를 수행하도록 하는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 (b2) 단계는,
상기 제1 베이스 이미지는 상기 제1 학습 이미지들 중에서 선택된 이미지이고, 상기 제2 베이스 이미지는 상기 실제 차량에 탑재된 적어도 하나의 카메라를 통해 상기 실제 차량에 대응하는 실제 주행 상황을 촬영한 이미지이며, 상기 적어도 하나의 제1 베이스 이미지가 하나인 경우, 상기 제2 학습 이미지 각각은 상기 제2 베이스 이미지 각각에 대응하도록 생성되는 것을 특징으로 하는 방법. - 제 1항에 있어서,
상기 (b1) 단계는,
상기 학습 장치가, (i) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어의 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신의 파라미터를 사용하여, 입력된 값에 적어도 하나의 메인 컨벌루션 적용하고, (i-2) 이의 출력을 자신의 다음 자율 주행 뉴런에 전달하는 프로세스를 반복하도록 함으로써, 제1 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN에 포함된 상기 출력 레이어로 하여금, 상기 제1 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하여 상기 제1 예측 자율 주행 소스 정보를 생성하도록 함으로써, 상기 메인 CNN 연산을 상기 제1 학습 이미지에 적용하는 것을 특징으로 하는 방법. - 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 테스트하는 방법에 있어서,
(a) (1) 학습 장치가, 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (2) 상기 학습 장치가, (2-1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (2-2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하여 학습이 완료된 상태에서, 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 테스트용 가상 세계에서의 테스트용 가상 차량의 테스트용 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 (ii) 상기 테스트 장치와 연동하여 동작하는 테스트용 실제 차량에 탑재된 적어도 하나의 테스트용 카메라를 통해 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 하는 단계; 및
(b) 상기 테스트 장치가, 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 테스트 이미지를 참조로 하여 테스트용 예측 자율 주행 소스 정보를 생성하도록 하는 단계;
를 포함하는 것을 특징으로 하는 방법. - 제 9항에 있어서,
(c) 상기 테스트 장치가, 상기 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달하여 상기 테스트용 실제 차량의 자율 주행을 지원하는 단계;
를 더 포함하는 것을 특징으로 하는 방법. - 제 9항에 있어서,
상기 (a) 단계는,
(a1) 상기 테스트 장치가, 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 테스트용 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 스타일 특징 맵을 생성하는 프로세스 및 (ii) 상기 테스트용 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 컨텐츠 특징 맵을 생성하는 프로세스를 수행하도록 하는 단계;
(a2) 상기 테스트 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 테스트용 제1 업데이트 이미지를 생성하도록 하는 단계;
(a3) 상기 테스트 장치가, (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제K 업데이트 로스를 통해 상기 테스트용 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 테스트용 제K 업데이트 이미지를 생성하도록 하는 단계;
(a4) 상기 테스트 장치가, 상기 (a2) 단계 및 상기 (a3) 단계를 수행하여 생성된 테스트용 제N 업데이트 이미지를 상기 테스트 이미지로서 출력하는 단계;
를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 방법. - 제 9항에 있어서,
상기 (b) 단계 이후에,
(d) 상기 테스트용 제2 베이스 이미지가 획득되었을 때 제T 타이밍 이후인 제T+1 타이밍에 상기 테스트용 카메라를 통해 테스트용 추가 제2 베이스 이미지가 획득되면, 상기 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 상기 테스트용 제1 베이스 이미지 및 상기 테스트용 추가 제2 베이스 이미지를 참조로 하여 추가 테스트 이미지를 생성한 후 (ii) 상기 추가 테스트 이미지를 사용하여 테스트용 추가 예측 자율 주행 소스 정보를 생성하도록 하는 단계;
를 더 포함하는 것을 특징으로 하는 방법. - 제 9항에 있어서,
상기 (b) 단계는,
상기 테스트 장치가, (i) 상기 메인 CNN의 상기 메인 컨벌루션 레이어에 포함된 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신에게 입력된 적어도 하나의 값에 자신의 파라미터를 이용하여 적어도 하나의 메인 컨벌루션 연산을 적용한 후 (i-2) 자신의 다음 자율 주행 컨벌루션 뉴런에 전달하는 프로세스를 반복하도록 함으로써 테스트용 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN의 상기 출력 레이어로 하여금, 상기 테스트용 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하도록 하여 상기 테스트용 예측 자율 주행 소스 정보를 생성하도록 함으로써 상기 메인 CNN 연산을 상기 테스트 이미지에 적용하도록 하는 것을 특징으로 하는 방법. - 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 학습하는 장치에 있어서,
인스트럭션들을 저장하는 적어도 하나의 메모리; 및
상기 인스트럭션들을 수행하도록 설정된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (I) 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (II) (II1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (II2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하는 것을 특징으로 하는 장치. - 제 14항에 있어서,
상기 (II2) 프로세스는,
(II21) 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 제1 베이스 이미지들 중 특정 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 특정 스타일 특징 맵을 생성하고, (ii) 상기 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 특정 컨텐츠 특징 맵을 생성하는 프로세스;
(II22) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 노이즈 이미지 에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 제1 업데이트 이미지를 생성하도록 하는 프로세스;
(II23) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 특정 스타일 특징 맵 및 상기 특정 컨텐츠 특징 맵과 더불어 상기 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 제K 업데이트 로스를 통해 상기 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 제K 업데이트 이미지를 생성하도록 하는 프로세스; 및
(II24) 상기 (II22) 프로세스 및 상기 (II23) 프로세스를 수행하여 생성된 제N 업데이트 이미지를 특정 제2 학습 이미지로서 출력하는 프로세스;
를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 장치. - 제 15항에 있어서,
상기 (II22) 프로세스는,
상기 프로세서가, 상기 지원 로스 레이어로 하여금, (i) 상기 제1 업데이트 특징 맵과 상기 특정 스타일 특징 맵을 사용하여 하나 이상의 제1 스타일 로스를 생성하는 프로세스 및 (ii) 상기 제1 업데이트 특징 맵과 상기 특정 컨텐츠 특징 맵을 사용하여 하나 이상의 제1 컨텐츠 로스를 생성하는 프로세스를 수행하도록 함으로써, 상기 제1 스타일 로스 및 상기 제1 컨텐츠 로스를 포함하는 상기 제1 업데이트 로스를 생성하도록 하는 것을 특징으로 하는 장치. - 제 15항에 있어서,
상기 (II22) 프로세스는,
상기 프로세서가, 상기 지원 로스 레이어로 하여금, 그래디언트 디센트 방식(gradient-descent scheme)으로 상기 제1 업데이트 로스를 사용하여 상기 노이즈 이미지를 업데이트하도록 함으로써, (i) 상기 제1 업데이트 이미지의 스타일 특성을 상기 노이즈 이미지의 스타일 특성 보다 상기 특정 제1 베이스 이미지의 스타일 특성과 더 유사하게 만들고, (ii) 상기 제1 업데이트 이미지의 컨텐츠 특성을 상기 노이즈 이미지의 컨텐츠 특성 보다 상기 특정 제2 베이스 이미지의 컨텐츠 특성과 더 유사하게 만드는 것을 특징으로 하는 장치. - 제 14항에 있어서,
상기 (II) 프로세스는,
상기 프로세서가, (i) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지의 특정 개수 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 학습함으로써 상기 제1 학습 프로세스를 수행하고 (ii) 상기 메인 CNN으로 하여금, 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 사용하여 상기 파라미터를 미세 조정함으로써 상기 제2 학습 프로세스를 수행하는 것을 특징으로 하는 장치. - 제 14항에 있어서,
상기 (II) 프로세스는,
상기 프로세서가, (i) 상기 메인 CNN으로 하여금, (i-1) 관리자에 의해 기설정된 특정 수에 대한 특정 제1 학습 이미지의 수의 비율을 따르는 상기 제1 학습 이미지 중 하나 이상의 특정 제1 학습 이미지 및 (i-2) 이에 대응하는 상기 제1 GT 자율 주행 소스 정보의 일부를 사용하여, 상기 파라미터를 초기에 학습함으로써 상기 제1 학습 프로세스를 수행하도록 한 후,
상기 프로세서가, (ii) 상기 메인 CNN으로 하여금, 상기 제1 학습 이미지 및 이에 대응하는 상기 제1 GT 자율 주행 소스 정보와 더불어 상기 제2 학습 이미지 및 이에 대응하는 상기 제2 GT 자율 주행 소스 정보를 함께 사용하여, 상기 파라미터를 재학습함으로써 상기 제2 학습 프로세스를 수행하도록 하는 것을 특징으로 하는 장치. - 제 14항에 있어서,
상기 (II2) 프로세스는,
상기 제1 베이스 이미지는 상기 제1 학습 이미지들 중에서 선택된 이미지이고, 상기 제2 베이스 이미지는 상기 실제 차량에 탑재된 적어도 하나의 카메라를 통해 상기 실제 차량에 대응하는 실제 주행 상황을 촬영한 이미지이며, 상기 적어도 하나의 제1 베이스 이미지가 하나인 경우, 상기 제2 학습 이미지 각각은 상기 제2 베이스 이미지 각각에 대응하도록 생성되는 것을 특징으로 하는 장치. - 제 14항에 있어서,
상기 (II1) 프로세스는,
상기 프로세서가, (i) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어의 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신의 파라미터를 사용하여, 입력된 값에 적어도 하나의 메인 컨벌루션 적용하고, (i-2) 이의 출력을 자신의 다음 자율 주행 뉴런에 전달하는 프로세스를 반복하도록 함으로써, 제1 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN에 포함된 상기 출력 레이어로 하여금, 상기 제1 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하여 상기 제1 예측 자율 주행 소스 정보를 생성하도록 함으로써, 상기 메인 CNN 연산을 상기 제1 학습 이미지에 적용하는 것을 특징으로 하는 장치. - 적어도 하나의 가상 이미지 및 적어도 하나의 스타일 변환 실제 이미지 - 상기 스타일 변환 실제 이미지는 적어도 하나의 실제 이미지를 기설정된 가상 세계 의 이미지 스타일로 변환한 것임 - 를 사용하여, 자율 주행을 수행하기 위해 사용되는 메인 CNN(Convolutional Neural Network)을 테스트하는 장치에 있어서,
인스트럭션들을 저장하는 적어도 하나의 메모리; 및
상기 인스트럭션들을 수행하도록 설정된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (I) (1) 기설정된 가상 세계에서의 가상 차량의 가상 주행에 대응하는 하나 이상의 제1 학습 이미지의 적어도 일부를 획득하고, (2) (2-1) (i) 상기 메인 CNN에 포함된, 메인 컨벌루션 레이어 및 출력 레이어로 하여금, 상기 제1 학습 이미지를 참조로 하여 하나 이상의 제1 예측 자율 주행 소스 정보를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된 메인 로스 레이어로 하여금, (ii-1) 상기 제1 예측 자율 주행 소스 정보 및 이에 대응하는 제1 GT(Ground-Truth) 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제1 메인 로스를 생성하도록 한 후, (ii-2) 상기 제1 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제1 학습 프로세스; 및 (2-2) (i) 지원 CNN으로 하여금, 상기 제1 학습 이미지에 대응하는 적어도 하나의 제1 베이스 이미지 및 실제 세계에서의 실제 차량의 실제 주행에 대응하는 하나 이상의 제2 베이스 이미지를 참조로 하여, 하나 이상의 제2 학습 이미지를 생성하도록 하고, (ii) 상기 메인 CNN에 포함된, 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 제2 학습 이미지를 참조로 하여, 하나 이상의 제2 예측 자율 주행 소스 정보를 생성하도록 한 후, (iii) 상기 메인 CNN에 포함된 상기 메인 로스 레이어로 하여금, (iii-1) 상기 제2 예측 자율 주행 소스 정보 및 이에 대응하는 제2 GT 자율 주행 소스 정보를 참조로 하여, 하나 이상의 제2 메인 로스를 생성하도록 한 후, (iii-2) 상기 제2 메인 로스를 사용하여 백프로퍼게이션을 수행함으로써, 상기 메인 CNN의 파라미터의 적어도 일부를 학습하도록 하는 제2 학습 프로세스를 수행하여 학습이 완료된 상태에서, 테스트 장치가, 상기 지원 CNN으로 하여금, (i) 테스트용 가상 세계에서의 테스트용 가상 차량의 테스트용 가상 주행에 대응하는 적어도 하나의 테스트용 제1 베이스 이미지 및 (ii) 상기 테스트 장치와 연동하여 동작하는 테스트용 실제 차량에 탑재된 적어도 하나의 테스트용 카메라를 통해 획득된 적어도 하나의 테스트용 제2 베이스 이미지를 참조로 하여 테스트 이미지를 생성하도록 하는 프로세스; 및 (II) 상기 메인 CNN에 포함된 상기 메인 컨벌루션 레이어 및 상기 출력 레이어로 하여금, 상기 테스트 이미지를 참조로 하여 테스트용 예측 자율 주행 소스 정보를 생성하도록 하는 프로세스;
를 수행하는 것을 특징으로 하는 장치. - 제 22항에 있어서,
상기 프로세서가, (III) 상기 테스트용 예측 자율 주행 소스 정보를 자율 주행 어플리케이션 모듈에 전달하여 상기 테스트용 실제 차량의 자율 주행을 지원하는 프로세스;
를 더 수행하는 것을 특징으로 하는 장치. - 제 22항에 있어서,
상기 (I) 프로세스는,
(I1) 상기 지원 CNN에 포함된 지원 컨벌루션 레이어로 하여금, (i) 상기 테스트용 제1 베이스 이미지에 적어도 하나의 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 스타일 특징 맵을 생성하는 프로세스 및 (ii) 상기 테스트용 제2 베이스 이미지들 중 특정 제2 베이스 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 특정 컨텐츠 특징 맵을 생성하는 프로세스;
(I2) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 노이즈 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제1 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제1 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제1 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제1 업데이트 로스를 통해 상기 노이즈 이미지를 업데이트함으로써 적어도 하나의 테스트용 제1 업데이트 이미지를 생성하도록 하는 프로세스;
(I3) (i) 상기 지원 CNN에 포함된 상기 지원 컨벌루션 레이어로 하여금, 테스트용 제(K-1) 업데이트 이미지에 상기 지원 CNN 연산을 적용함으로써 하나 이상의 테스트용 제K 업데이트 특징 맵을 생성하도록 한 후, (ii) 상기 지원 CNN에 포함된 상기 지원 로스 레이어로 하여금, (ii-1) 상기 테스트용 특정 스타일 특징 맵 및 상기 테스트용 특정 컨텐츠 특징 맵과 더불어 상기 테스트용 제K 업데이트 특징 맵을 사용하여, 적어도 하나의 테스트용 제K 업데이트 로스를 생성하도록 하고, (ii-2) 상기 테스트용 제K 업데이트 로스를 통해 상기 테스트용 제(K-1) 이미지를 업데이트함으로써 적어도 하나의 테스트용 제K 업데이트 이미지를 생성하도록 하는 프로세스;
(I4) 상기 (I2) 프로세스 및 상기 (I3) 프로세스를 수행하여 생성된 테스트용 제N 업데이트 이미지를 상기 테스트 이미지로서 출력하는 프로세스;
를 포함하되, 여기서 K는 1 내지 N의 정수인 것을 특징으로 하는 장치. - 제 22항에 있어서,
상기 (II) 프로세스 이후에,
상기 프로세서가, (IV) 상기 테스트용 제2 베이스 이미지가 획득되었을 때 제T 타이밍 이후인 제T+1 타이밍에 상기 테스트용 카메라를 통해 테스트용 추가 제2 베이스 이미지가 획득되면, 상기 지원 CNN으로 하여금, (i) 상기 테스트용 제1 베이스 이미지 및 상기 테스트용 추가 제2 베이스 이미지를 참조로 하여 추가 테스트 이미지를 생성한 후 (ii) 상기 추가 테스트 이미지를 사용하여 테스트용 추가 예측 자율 주행 소스 정보를 생성하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 장치. - 제 22항에 있어서,
상기 (II) 프로세스는,
상기 프로세서가, (i) 상기 메인 CNN의 상기 메인 컨벌루션 레이어에 포함된 하나 이상의 메인 컨벌루션 뉴런들로 하여금, (i-1) 자신에게 입력된 적어도 하나의 값에 자신의 파라미터를 이용하여 적어도 하나의 메인 컨벌루션 연산을 적용한 후 (i-2) 자신의 다음 자율 주행 컨벌루션 뉴런에 전달하는 프로세스를 반복하도록 함으로써 테스트용 자율 주행 특징 맵을 생성하도록 한 후, (ii) 상기 메인 CNN의 상기 출력 레이어로 하여금, 상기 테스트용 자율 주행 특징 맵에 적어도 하나의 출력 연산을 적용하도록 하여 상기 테스트용 예측 자율 주행 소스 정보를 생성하도록 함으로써 상기 메인 CNN 연산을 상기 테스트 이미지에 적용하도록 하는 것을 특징으로 하는 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962798837P | 2019-01-30 | 2019-01-30 | |
US62/798,837 | 2019-01-30 | ||
US16/731,080 US10635938B1 (en) | 2019-01-30 | 2019-12-31 | Learning method and learning device for allowing CNN having trained in virtual world to be used in real world by runtime input transformation using photo style transformation, and testing method and testing device using the same |
US16/731,080 | 2019-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200094653A KR20200094653A (ko) | 2020-08-07 |
KR102375278B1 true KR102375278B1 (ko) | 2022-03-17 |
Family
ID=70332405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200004513A KR102375278B1 (ko) | 2019-01-30 | 2020-01-13 | 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 cnn을 허용하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10635938B1 (ko) |
EP (1) | EP3690718B1 (ko) |
JP (1) | JP6856957B2 (ko) |
KR (1) | KR102375278B1 (ko) |
CN (1) | CN111507175B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4049235A4 (en) * | 2020-01-23 | 2023-01-11 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE AND ELECTRONIC DEVICE CONTROL METHOD |
KR102483738B1 (ko) * | 2021-01-11 | 2022-12-30 | 연세대학교 산학협력단 | 제로 스타일 로스를 이용한 도메인 적응 장치 및 방법 |
US11250298B1 (en) * | 2021-03-26 | 2022-02-15 | Stradavision, Inc. | Methods for training and testing perception network by using images obtained from multiple imaging devices having diverse specifications and learning device and testing device using the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260415A1 (en) | 2017-03-10 | 2018-09-13 | Xerox Corporation | Instance-level image retrieval with a region proposal network |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5013773B2 (ja) * | 2006-08-18 | 2012-08-29 | パナソニック株式会社 | 車載画像処理装置及びその視点変換情報生成方法 |
KR101543159B1 (ko) * | 2014-05-02 | 2015-08-10 | 현대자동차주식회사 | 카메라를 이용한 영상 조정 시스템 및 방법 |
WO2017004803A1 (en) * | 2015-07-08 | 2017-01-12 | Xiaoou Tang | An apparatus and a method for semantic image labeling |
JP2017162438A (ja) * | 2016-03-11 | 2017-09-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 危険予測方法 |
US11010302B2 (en) * | 2016-10-05 | 2021-05-18 | Intel Corporation | General purpose input/output data capture and neural cache system for autonomous machines |
KR102387570B1 (ko) * | 2016-12-16 | 2022-04-18 | 삼성전자주식회사 | 표정 생성 방법, 표정 생성 장치 및 표정 생성을 위한 학습 방법 |
KR20180094725A (ko) * | 2017-02-16 | 2018-08-24 | 삼성전자주식회사 | 자율 주행을 위한 차량 제어 방법, 차량 제어 장치 및 자율 주행을 위한 학습 방법 |
US10474908B2 (en) * | 2017-07-06 | 2019-11-12 | GM Global Technology Operations LLC | Unified deep convolutional neural net for free-space estimation, object detection and object pose estimation |
US10345822B1 (en) * | 2018-01-26 | 2019-07-09 | Ford Global Technologies, Llc | Cognitive mapping for vehicles |
US10984286B2 (en) * | 2018-02-02 | 2021-04-20 | Nvidia Corporation | Domain stylization using a neural network model |
TWI666595B (zh) * | 2018-02-26 | 2019-07-21 | 財團法人工業技術研究院 | 物件標示系統及方法 |
US20190332109A1 (en) * | 2018-04-27 | 2019-10-31 | GM Global Technology Operations LLC | Systems and methods for autonomous driving using neural network-based driver learning on tokenized sensor inputs |
US10908609B2 (en) * | 2018-04-30 | 2021-02-02 | Toyota Research Institute, Inc. | Apparatus and method for autonomous driving |
US10297070B1 (en) * | 2018-10-16 | 2019-05-21 | Inception Institute of Artificial Intelligence, Ltd | 3D scene synthesis techniques using neural network architectures |
-
2019
- 2019-12-31 US US16/731,080 patent/US10635938B1/en active Active
-
2020
- 2020-01-13 KR KR1020200004513A patent/KR102375278B1/ko active IP Right Grant
- 2020-01-20 EP EP20152585.4A patent/EP3690718B1/en active Active
- 2020-01-22 JP JP2020008618A patent/JP6856957B2/ja active Active
- 2020-01-23 CN CN202010077089.7A patent/CN111507175B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260415A1 (en) | 2017-03-10 | 2018-09-13 | Xerox Corporation | Instance-level image retrieval with a region proposal network |
Also Published As
Publication number | Publication date |
---|---|
JP2020123344A (ja) | 2020-08-13 |
CN111507175A (zh) | 2020-08-07 |
EP3690718B1 (en) | 2022-07-13 |
EP3690718A1 (en) | 2020-08-05 |
US10635938B1 (en) | 2020-04-28 |
CN111507175B (zh) | 2023-04-07 |
JP6856957B2 (ja) | 2021-04-14 |
KR20200094653A (ko) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10373026B1 (en) | Learning method and learning device for generation of virtual feature maps whose characteristics are same as or similar to those of real feature maps by using GAN capable of being applied to domain adaptation to be used in virtual driving environments | |
KR102264394B1 (ko) | 카메라로부터 획득된 이미지와, 이에 대응하는, 레이더 또는 라이더를 통해 획득된 포인트 클라우드 맵을 뉴럴 네트워크의 각각의 컨벌루션 스테이지 별로 통합하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102375278B1 (ko) | 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 cnn을 허용하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
JP6855082B2 (ja) | 自律走行状況での障害物検出のためのcnn学習用イメージデータセットの生成方法及び装置、そしてこれを利用したテスト方法及びテスト装置 | |
KR102309702B1 (ko) | 이미지를 인코딩하기 위한 방법 및 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102337358B1 (ko) | 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
JP6865364B2 (ja) | エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置 | |
CN111507150A (zh) | 利用基于深度神经网络的多重图像块组合识别人脸的方法 | |
JP6850046B2 (ja) | 重要業績評価指標のようなユーザ要求事項に適したターゲット物体予測ネットワークを用いた、cnn基盤の変動に強い物体検出器を学習する方法及び学習装置、並びにこれを利用したテスティング方法及びテスティング装置 | |
US11113574B1 (en) | Methods for performing self-supervised learning of deep-learning based detection network by using deep Q-network and devices using the same | |
KR102313604B1 (ko) | 멀티 피딩을 적용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
JP6978104B2 (ja) | Ganを用いて仮想世界における仮想データから取得したトレーニングデータを生成して、自律走行用ニューラルネットワークの学習プロセスに必要なアノテーションコストを削減する学習方法や学習装置、それを利用したテスト方法やテスト装置 | |
JP6850037B2 (ja) | 自律走行状況で、障害物検出のためのcnn学習用イメージデータセットの生成方法及びコンピューティング装置 | |
US10311336B1 (en) | Method and device of neural network operations using a grid generator for converting modes according to classes of areas to satisfy level 4 of autonomous vehicles | |
US11315021B2 (en) | Method and device for on-device continual learning of a neural network which analyzes input data, and method and device for testing the neural network to be used for smartphones, drones, vessels, or military purpose | |
US10325185B1 (en) | Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same | |
KR20200092845A (ko) | 인스턴스 세그멘테이션을 이용한 객체의 자세에 따라 모드를 전환할 수 있는 cnn 기반의 수도-3d 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 | |
KR20200094076A (ko) | 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치 | |
US10902297B1 (en) | Method for auto-labeling test image by using class-agnostic refinement module, and auto-labeling device using the same | |
CN118247323A (zh) | 场景深度估计模型训练方法、场景深度估计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |