KR20180048407A - 차선 검출 장치 및 방법 - Google Patents

차선 검출 장치 및 방법 Download PDF

Info

Publication number
KR20180048407A
KR20180048407A KR1020170144231A KR20170144231A KR20180048407A KR 20180048407 A KR20180048407 A KR 20180048407A KR 1020170144231 A KR1020170144231 A KR 1020170144231A KR 20170144231 A KR20170144231 A KR 20170144231A KR 20180048407 A KR20180048407 A KR 20180048407A
Authority
KR
South Korea
Prior art keywords
module
data
vanishing point
learning
model
Prior art date
Application number
KR1020170144231A
Other languages
English (en)
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 KR20180048407A publication Critical patent/KR20180048407A/ko

Links

Images

Classifications

    • 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • G06K9/00798
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/46
    • G06K9/627
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Abstract

OFDM 시스템에서 프리앰블 심볼을 생성하는 방법 및 장치는, 주파수 도메인에서 미리 설정된 시퀀스에 IFFT를 수행하여 시간 도메인의 메인 바디 시퀀스를 생성하고, 상기 메인 바디 시퀀스 내의 미리 설정된 구간의 샘플을 복사하여 포스트픽스를 생성하고, 상기 메인 바디 시퀀스 내에서 상기 미리 설정된 구간을 제외한 나머지 구간 중 적어도 일부의 샘플을 복사하여 프리픽스를 생성하고, 상기 메인 바디 시퀀스, 상기 프리픽스 및 상기 포스트픽스의 조합에 기초하여 복수의 심볼을 생성한다.

Description

차선 검출 장치 및 방법{APPARATUS AND METHOD FOR DETECTING A LANE}
본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
본 개시는 차선을 검출하는 장치 및 방법을 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 차량이 주행 중인 차선을 검출하는 차선 검출 장치는, 상기 차량에 장착된 카메라로부터 상기 카메라에 의해 촬영된 촬영 영상을 수신하는 수신부; 및 상기 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN(Deep Neural Network) 학습 모델에 상기 촬영 영상을 적용함으로써 상기 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 상기 결정된 소실점에 기초하여 상기 촬영 영상 내의 상기 차선들의 형상을 추정하는 프로세서를 포함한다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 DNN 학습 모델은, 상기 DNN 학습 모듈을 구성하는 복수의 네트워크 노드들 간의 연결 관계 및 상기 복수의 네트워크 노드들 각각의 가중치에 기반한 연산에 따라 상기 소실점을 결정하도록 학습된 네트워크 모델일 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 DNN 학습 모델은, 상기 촬영 영상 내의 상기 영상 데이터의 특징들을 추출하도록 설정된 특징 추출 네트워크(Feature Extraction Network); 및 복수 개의 태스크를 수행하도록 설정된 멀티-태스크 네트워크(Multi-Task Network)를 포함할 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 멀티-태스크 네트워크는, 상기 소실점을 예측하는 태스크를 수행하는 소실점 예측 모듈; 그리드(Grid) 검출 태스크를 수행하는 그리드 회귀(Regression) 모듈; 객체(Object)에 대한 바이너리 분류(Binary Classification) 태스크를 수행하는 객체 마스크(Mask) 모듈; 및 클래스(Class) 분류 태스크를 수행하는 멀티-라벨 분류(Multi-Label Classification) 모듈을 포함할 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 특징 추출 네트워크로부터 추출된 상기 영상 데이터의 특징들에 관한 정보는, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 입력으로서 공유될 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 DNN 학습 모델은, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈 간의 선택적인 학습에 의해 구축된 네트워크 모델일 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실(Loss)이 수렴하기 전까지, 상기 DNN 학습 모델은 상기 소실점 예측 모듈만으로 학습될 수 있다.
또한, 일 실시예에 따른 차선 검출 장치에 있어서, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실이 평형을 이루면, 상기 DNN 학습 모델은 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈에 의해 학습될 수 있다.
일 실시예에 따른 차량이 주행 중인 차선을 검출하는 차선 검출 방법은, 상기 차량에 장착된 카메라로부터 상기 카메라에 의해 촬영된 촬영 영상을 수신하는 단계; 및 상기 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN(Deep Neural Network) 학습 모델에 상기 촬영 영상을 적용함으로써 상기 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 상기 결정된 소실점에 기초하여 상기 촬영 영상 내의 상기 차선들의 형상을 추정하는 단계를 포함한다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 DNN 학습 모델은, 상기 DNN 학습 모듈을 구성하는 복수의 네트워크 노드들 간의 연결 관계 및 상기 복수의 네트워크 노드들 각각의 가중치에 기반한 연산에 따라 상기 소실점을 결정하도록 학습된 네트워크 모델일 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 DNN 학습 모델은, 상기 촬영 영상 내의 상기 영상 데이터의 특징들을 추출하도록 설정된 특징 추출 네트워크(Feature Extraction Network); 및 복수 개의 태스크를 수행하도록 설정된 멀티-태스크 네트워크(Multi-Task Network)를 포함할 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 멀티-태스크 네트워크는, 상기 소실점을 예측하는 태스크를 수행하는 소실점 예측 모듈; 그리드(Grid) 검출 태스크를 수행하는 그리드 회귀(Regression) 모듈; 객체(Object)에 대한 바이너리 분류(Binary Classification) 태스크를 수행하는 객체 마스크(Mask) 모듈; 및 클래스(Class) 분류 태스크를 수행하는 멀티-라벨 분류(Multi-Label Classification) 모듈을 포함할 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 특징 추출 네트워크로부터 추출된 상기 영상 데이터의 특징들에 관한 정보는, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 입력으로서 공유될 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 DNN 학습 모델은, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈 간의 선택적인 학습에 의해 구축된 네트워크 모델일 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실(Loss)이 수렴하기 전까지, 상기 DNN 학습 모델은 상기 소실점 예측 모듈만으로 학습될 수 있다.
또한, 일 실시예에 따른 차선 검출 방법에 있어서, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실이 평형을 이루면, 상기 DNN 학습 모델은 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈에 의해 학습될 수 있다.
일 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
도 1은 일 실시예에 따른 차선 검출 시스템(100)을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 DNN 학습 모델(200)을 나타내는 도면이다.
도 3은 일 실시예에 따른 제 1 훈련 단계에서 각 태스크에 대한 손실 그래프를 예시하는 도면이다.
도 4는 일 실시예에 따른 차선 검출 장치가 차선 검출 방법을 수행한 결과물을 나타낸 도면이다.
도 5는 일 실시예에 따른 차선 검출 방법의 흐름도이다.
도 6은 일 실시예에 따른 차선 검출 장치(610)의 블록도를 도시하는 도면이다.
도 7은 일부 실시예에 따른 프로세서(700)의 블록도이다.
도 8은 일부 실시예에 따른 데이터 학습부(810)의 블록도이다.
도 9는 일부 실시예에 따른 데이터 인식부(920)의 블록도이다.
도 10은 일부 실시예에 따른 차선 검출 장치(1100) 및 서버(1200)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
개시된 실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 일 실시예에 따른 차선 검출 시스템(100)을 설명하기 위한 도면이다.
도 1을 참조하면, 차선 검출 시스템(100)은 카메라(110), 차선 검출 장치(120), 차선(Lane; 130) 및 도로 표지(Road Marking; 140)를 포함한다.
카메라(110)는 도로를 촬영한다. 카메라(110)는 예를 들면, CCD 또는 CMOS 디지털 카메라일 수 있으며, 블랙박스 카메라일 수 있다.
차선 검출 장치(120)는 촬영된 촬영 영상에서 차선(130)을 인식한다. 나아가, 차선 검출 장치(120)는 도로 표지(140)를 인식할 수도 있다. 차선 검출 장치(120)는 촬영된 촬영 영상(예를 들어, 도로 영상)에서 특징들을 추출하고, 딥러닝 기반의 신경망 모델을 적용하여 차선(130) 및 도로 표지(140)를 검출한다.
차선(130)은 다양한 타입을 가질 수 있다. 예를 들어, 차선(130)은 실선 타입일 수도 있고, 이중 실선 타입일 수도 있으며, 점선 타입일 수 있다. 또한, 차선(130)은 황색, 백색 등과 같이 다양한 색으로 나타내어질 수 있다.
도로 표지(140)는 직진 표시, 직진 좌회전 표시, 직진 좌우회전 표시, 직진 우회전 표시, 좌회전 표시 및 우회전 표시 중 어느 하나일 수 있으나, 이에 제한되지 않는다.
한편, 차선 검출 장치(120)는 차량 내에 포함될 수 있는데, 여기서의 차량은 자율 주행 차량일 수 있다. 자율 주행 차량이란 운전자의 개입 없이 주변 환경을 인식하고, 주행 상황을 판단하여, 차량을 제어함으로써 스스로 주어진 목적지까지 주행하는 자동차를 말한다. 최근에는 이러한 자율 주행 차량이 교통사고를 줄이고, 교통 효율성을 높이며, 연료를 절감하고, 운전을 대신해줌으로써 편의를 증대시킬 수 있는 개인 교통수단으로 주목받고 있다. 이와 같은 자동차의 자율 주행을 위해서는 차선(130)이나 도로 표지(140)와 같은 주행 환경을 인식하기 위한 기술이 핵심이라고 할 수 있다. 이 때, 차선(130)이나 도로 표지(140)의 인식률은 날씨, 주행 시간 등과 같은 변수에 의해 달라지기 마련이다. 따라서, 시야가 어두운 밤이나 비 내리는 날씨와 같은 변수에도 강인(robust)한 성능을 갖는 주행 환경 인식 알고리즘의 사용 필요성이 대두된다.
일 실시예에 따른 차선 검출 장치(120)는, DNN(Deep Neural Network) 학습 모델을 이용하여 차선(130) 및 도로 표지(140)를 검출할 수 있다. 차선 검출 장치(120)가 이용하는 DNN 학습 모델에 관해서는 이하 도 2에서 더욱 상세히 설명하기로 한다.
도 2는 일 실시예에 따른 DNN 학습 모델(200)을 나타내는 도면이다.
DNN 학습 모델(200)은, 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 예를 들어, DNN 학습 모델(200)은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다.
DNN 학습 모델(200)은, 일 예로, 인공 지능 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 네트워크 모델을 포함할 수 있다.
일 실시예에 따른 DNN 학습 모델(200)은 지도 학습(Supervised Learning)으로 차선 및 도로 표지를 인식하도록 학습된 모델이다. 지도 학습은 알고리즘을 통해 정해진 답을 찾는 것이 목적이다. 따라서, DNN 학습 모델(200)은 훈련용 데이터(training data)로부터 함수를 추론해내는 형태의 모델일 수 있다. 지도 학습에서는 트레이닝에 라벨링된 샘플(labeled sample; 목표 출력 값이 있는 데이터)을 사용한다.
지도 학습 알고리즘은 일련의 학습 데이터와 그에 상응하는 목표 출력 값을 수신하고, 입력되는 데이터에 대한 실제 출력 값과 목표 출력 값을 비교하는 학습을 통해 오류를 찾아내고, 해당 결과를 근거로 모델을 수정하게 된다. 지도 학습은 결과물의 형태에 따라 다시 회귀(Regression)와 분류(Classification)으로 나뉜다. 지도 학습 알고리즘을 통해 도출된 함수는 다시 새로운 결과값을 예측하는데 사용된다. 이처럼, DNN 학습 모델(200)은 수많은 학습 데이터의 학습을 통해, DNN 학습 모델(200)의 파라미터를 최적화하게 된다.
일 실시예에 따른 DNN 학습 모델(200)은 복수의 히든 레이어를 포함하는 다층 퍼셉트론(multilayer perceptrons) 구조를 갖는다. 퍼셉트론이란 각 뉴런의 수학적 모델 y=Wx+b 을 일컫는 용어로서, 이러한 다층 퍼셉트론은 오류-역전파 알고리즘(Error-backpropagation algorithm), 경사하강(Gradient Decent) 기법 등을 통한 학습을 통해 예측의 정확도를 높일 수 있다. DNN 학습 모델(200)이 오류-역전파 알고리즘을 통해 학습을 하는 방법은 입력 레이어에서 시작하여 출력 레이어를 통해 y 값을 얻었을 때 기준 라벨 값과 비교하여 오답일 경우 다시 출력 레이어에서 입력 레이어 방향으로 값을 전달하며 계산된 코스트에 따라 각 W와 b 값을 업데이트 하는 방식이다.
일 실시예에 따라, DNN 학습 모델(200)에 제공되는 훈련용 데이터 셋은 다양한 시나리오(기후 또는 시간대)에 따라 카테고리화(categorize)된 도로 영상일 수 있다. 일 실시예에 따른 도로 영상에는 차선들 및 도로 표지들의 코너 지점들(corner points)에 대한 라벨이 포함될 수 있다. 여기서, 라벨은 해당 객체(object)의 클래스(class)를 나타낼 수 있다. 일 실시예에 따른 클래스는, 실선, 이중 실선, 점선 등과 같은 차선의 타입을 나타낼 수 있으며, 황색, 백색 등과 같은 차선의 색을 나타낼 수도 있다. 또한, 일 실시예에 따른 클래스는, 직진 표시, 직진 좌회전 표시, 직진 좌우회전 표시, 직진 우회전 표시, 좌회전 표시, 우회전 표시 등과 같은 도로 표지의 타입을 나타낼 수도 있다.
또한, 일 실시예에 따른 도로 영상에는 소실점(vanishing point)에 대한 라벨이 포함될 수 있다. 소실점은 영상 내에서 실제로는 평행하는 직선(즉, 차선)을 투시도상에서 멀리 연장했을 때 하나로 만나는 점을 의미한다. 일 실시예에 따라 DNN 학습 모델(200)에 제공되는 훈련용 데이터 셋의 라벨은 사람에 의해 수동으로 표식(annotate)된 것일 수 있다.
한편, DNN 학습 모델(200)이 학습 데이터를 이용한 학습 과정을 수행하고 나면 최적화된 파라미터를 가지는 모델이 생성되며, 생성된 모델에 라벨링되지 않은 데이터를 입력하였을 때 입력된 데이터에 상응하는 결과 값(라벨)을 예측할 수 있게 된다.
도 2를 참조하면, 일 실시예에 따른 DNN 학습 모델(200)은 특징 추출 네트워크(Feature Extraction Network; 210) 및 복수 개의 태스크(Task)를 수행하는 멀티-태스크 네트워크(Multi-Task Network; 220)를 포함한다.
일 실시예에 따라, 각각의 입력(x)에 대해 라벨(y)이 달린 데이터가 DNN 학습 모델(200)에 제공되면, 특징 추출 네트워크(210)가 입력 데이터의 특징을 추출해내고, 멀티-태스크 네트워크(220)가 차선 및 도로 표지를 인식하도록 학습된다.
일 실시예에 따른 특징 추출 네트워크(210)는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, "CNN")일 수 있다.
특징 추출 네트워크(210)는 복잡한 입력 데이터로부터 테두리, 선 색 등과 같은 "특징들(features)"을 추출하기 위해 이용될 수 있다. 특징 추출 네트워크(210)는 복수의 레이어들(layers)을 포함할 수 있다. 각각의 레이어는 데이터를 수신할 수 있고, 해당 레이어에 입력되는 데이터를 처리하여 해당 레이어에서 출력되는 데이터를 생성할 수 있다. 레이어에서 출력되는 데이터는, 특징 추출 네트워크(210)가 입력된 영상 또는 입력된 특징맵(Feature Map)을 하나 이상의 필터 또는 하나 이상의 커널(Kernel)과 컨볼루션하여 생성한 특징맵일 수 있다. 특징 추출 네트워크(210)의 초기 레이어들은 입력으로부터 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출하도록 동작될 수 있다. 특징 추출 네트워크(210)의 다음 레이어들은 점진적으로 더 복잡한 특징들을 추출할 수 있다.
특징 추출 네트워크(210) 내에서 특징맵을 입력받고 출력하는 하나 이상의 또는 모든 레이어들은 히든(hidden) 레이어들(예를 들어, 히든 컨볼루션 레이어들)일 수 있다. 한편, 특징 추출 네트워크(210)는 특징맵에 컨볼루션 커널을 적용하는 연산 이외에 다른 프로세싱 연산들을 수행할 수 있다. 이와 같은 다른 프로세싱 연산들의 예들은, 활성화 함수(activation function), 풀링(pooling), 리샘플링 등의 연산들을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시예에 따른 특징 추출 네트워크(210)의 입력은 차량에 장착된 카메라에 의해 촬영된 촬영 영상일 수 있다. 촬영 영상은 가로 방향, 세로 방향 및 채널 방향의 길이를 갖는 그레이-스케일(gray-scale)의 영상일 수 있으며, 예를 들어, 640x480x3 픽셀의 크기일 수 있다.
일 실시예에 따른 특징 추출 네트워크(210)는 촬영 영상의 특징들을 추출한다. 특징 추출 네트워크(210)는 복수 개의 컨볼루션 레이어들을 포함할 수 있고, 각각의 컨볼루션 레이어들은 교정 선형 유닛(Rectified Linear Unit; "ReLU") 레이어와 함께 하고, 최대 풀링(Max pooling) 레이어를 포함할 수 있다. 또한, 특징 추출 네트워크(210)에는 드롭아웃(Drop out) 레이어가 삽입될 수 있다.
일 실시예에 따른 특징 추출 네트워크(210)는 촬영 영상을 입력으로 제공받아, 출력 데이터를 출력할 수 있다. 이 때, 특징 추출 네트워크(210)에서 출력되는 출력 데이터는 멀티-태스크 네트워크(220)의 입력으로 제공될 수 있다. 예를 들어, 특징 추출 네트워크(210)의 출력 데이터는 20x15x4096 픽셀의 크기일 수 있다.
일 실시예에 따른 멀티-태스크 네트워크(220)는 4 가지의 태스크 모듈을 포함하며, 각각의 모듈은 상호 보완적인 태스크를 수행한다. 일 실시예에 따른 멀티-태스크 네트워크(220)는 단일 포워드 경로(single forward pass) 상에서 차선 및 도로 표지를 검출/분류하며, 이와 동시에 소실점을 예측하는 태스크를 수행한다.
일 실시예에 따른 멀티-태스크 네트워크(220)에 의하여 학습된 모델은 복수의 태스크를 통해 복수의 요소들(예를 들어, 소실점, 차선/도로 표지 등)을 함께 인식함으로써, 인식의 정확도를 향상시킬 수 있다.
일 실시예에 따른 멀티-태스크 네트워크(220)의 각 태스크들은 전단에 특징 추출 네트워크(210)에 의해 출력된 중간 레벨 속성들(mid-level attributes)을 공유할 수 있다. 중간 레벨 속성들은 날씨, 조명(illumination) 등의 변화에 강인(robust)하므로, 멀티-태스크 네트워크(220)는 중간 레벨 속성들을 조인트 학습(jointly learning)시킴으로써 인식의 정확도를 향상시킬 수 있다.
일 실시예에 따른 멀티-태스크 네트워크(220)는, 각각의 네트워크가 수행하는 태스크의 종류에 따라 소실점 예측 모듈(Vanishing point prediction module; 230), 멀티-라벨 분류 모듈(Multi-label classification module; 240), 객체 마스크 모듈(Object mask module; 250), 및 그리드 회귀 모듈(Grid regression module; 260)로 구성될 수 있다.
때때로, 나쁜 기상 조건이나, 비가시 또는 폐색(occlusion) 구간과 같이 시계(visibility)가 방해 받는 환경에서는 차량의 차선 또는 도로 표지의 인식률이 저하될 수 있다. 그러나, 차선 또는 도로 표지를 직접적으로 인식하기 어려운 상황에서라도, 영상 내의 구조물의 배치 또는 교통의 흐름과 같은 전체적인 주변 상황을 고려하여 차선 또는 도로 표지의 간접적인 예측이 가능할 수 있다. 이처럼, 차선 및 도로 표지를 제외한 정보로서, 차선의 인식률 향상에 간접적으로 기여하는 정보를 전역 정보(global information)라고 지칭하며, 전역 정보의 예로 소실점을 들 수 있다. 소실점은, 3차원 공간상에서 평행한 직선들을 무한한 길이로 연장하고, 이를 2차원 이미지 평면으로 투영하였을 때 연장된 평행 직선들이 이미지 평면상에서 만나게 되는 점을 가리킨다.
일 실시예에 따른 소실점 예측 모듈(230)은 전역 정보인 소실점을 예측하는 태스크를 수행한다. 소실점 예측 태스크를 수행함으로써, 전역 컨텍스트(global context)에 대한 장면 재현(scene representation)이 가능해지고, 궂은 날씨 또는 어두운 밤에 인식되기 어려운 차선과 도로 표지를 예측할 수 있게 된다. 따라서, 소실점 예측 모듈(230)은 차선 및 도로 표지의 위치를 학습할 때, 영상의 전역 컨텍스트를 인코딩하는데 도움을 준다. 또한, 소실점 예측 모듈(230)은 타겟 물체들을 검출하는데 효과적인 특징들을 학습하는데 도움을 줄 수 있다.
일 실시예에 따른 그리드 회귀 모듈(260)은 그리드 검출 태스크를 수행한다. 회귀(Regression)는 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 기법으로서, 모형과 주어진 데이터를 분석하는 것이다. 일 실시예에 따른 그리드 검출 태스크는, 검출 대상의 위치를 그리드의 조합으로 검출하는 것일 수 있다.
일 실시예에 따른 객체 마스크 모듈(250)은 객체들에 대한 바이너리 분류(binary classification) 태스크를 수행한다. 객체 마스크 모듈(250)은 주어진 입력 값을 일정한 기준에 따라 두 가지 범주(예를 들어, '0' 또는 '1')로 분류한다. 예를 들어, 객체 마스크 모듈(250)은 검출 대상이 차선인지 여부 또는 도로 표지인지 여부와 같은 분류 태스크를 수행할 수 있다.
일 실시예에 따른 멀티-라벨 분류 모듈(240)은 클래스 분류 태스크를 수행한다. 멀티-라벨 분류 모듈(240)은 입력을 여러 개의 카테고리로 분류할 수 있다. 예를 들어, 멀티-라벨 분류 모듈(240)은 검출된 차선의 클래스가 실선 타입, 이중 실선 타입 또는 점선 타입인지 여부와 같은 분류 태스크를 수행할 수 있다. 또한, 예를 들어, 멀티-라벨 분류 모듈(240)은 검출된 도로 표지의 클래스가 직진 표시, 직진 좌회전 표시, 직진 좌우회전 표시, 직진 우회전 표시, 좌회전 표시 또는 우회전 표시인지 여부와 같은 분류 태스크를 수행할 수 있다.
일 실시예에 따른 소실점 예측 모듈(230), 멀티-라벨 분류 모듈(240), 객체 마스크 모듈(250), 및 그리드 회귀 모듈(260)은 각각 컨볼루션 레이어들, 완전 연결 레이어들(Fully Connected Layers), 및 손실 레이어(Loss Layer)를 포함할 수 있다.
컨볼루션 레이어들은 입력 데이터를 필터링하는 필터링 요소일 수 있다. 컨볼루션 레이어들은 컨볼루션 필터링 레이어, 풀링 레이어, 또는 이들의 조합으로 구성될 수 있다.
완전 연결 레이어들은 복수의 레이어들을 포함하고, 각 레이어들은 다수 개의 노드들로 구성될 수 있다. 또한, 완전 연결 레이어들에는 모델 정규화 알고리즘(Model regularization Algorithm)인 드랍아웃(Dropout)이 적용될 수 있다. 드랍아웃은 미리 정해진 비율의 노드(예를 들어, 50%의 노드)가 현재 학습 에폭(epoch)에서 랜덤하게 학습에 참여하지 않는 알고리즘이다.
손실 레이어는 완전 연결 레이어들의 출력들로부터 복수의 요소들(예를 들어, 소실점, 차선/도로 표지 등)을 예측할 수 있고, 예측된 요소들과 실제 요소들을 비교함으로써 손실들을 계산할 수 있다. 손실들은 역 전파 기법을 통하여 완전 연결 레이어들 및 컨볼루션 레이어들로 역 전파될 수 있다. 역 전파된 손실들에 기초하여, 컨볼루션 레이어들 및 완전 연결 레이어들 내 연결 가중치들이 업데이트될 수 있다. 한편, 손실을 계산하는 방법은 특정 방식에 국한되지 않는다. 예를 들어, 힌지 손실(Hinge Loss), 스퀘어 손실(Square Loss), 소프트맥스 손실(Softmax Loss), 크로스-엔트로피 손실(Cross-entropy Loss), 절대 손실(Absolute Loss), 인센시티브 손실(Insensitive Loss) 등이 목적에 따라 사용될 수 있다.
수학식 1은 멀티-태스크 네트워크(220) 에서 수행되는 각각의 태스크로부터 발생하는 손실에 대한 총합을 나타내는 수식이다.
Figure pat00001
수학식 1에서 w1 및 Lreg 는 그리드 검출 태스크의 가중치 및 손실이고, w2 및 Lom 은 객체에 대한 바이너리 분류 태스크의 가중치 및 손실이고, w3 및 Lml 은 클래스 분류 태스크의 가중치 및 손실이며, w4 및 Lvp 는 소실점 예측 태스크의 가중치 및 손실이다.
일 실시예에 따른 멀티-태스크 네트워크(220)는 서로 다른 컨텍스트들에 대한 태스크를 수행하기 때문에, 각각의 태스크들 사이에서 학습률(learning rate)의 균형(balance)을 이루는 것이 중요하다. 만약 어느 하나의 태스크의 손실 가중치가 다른 태스크의 손실 가중치에 비해 작을 경우, 작은 손실 가중치를 갖는 태스크는 다른 태스크에 의존적일 수 있다.
예를 들어, 멀티-태스크 네트워크(220) 내의 모든 태스크들에 대해 동일한 훈련 단계(training phase)를 적용시킬 경우, 전역 컨텍스트를 다루는 소실점 예측 모듈(230)은, 로컬 컨텍스트를 다루는 멀티-라벨 분류 모듈(240), 객체 마스크 모듈(250), 및 그리드 회귀 모듈(260)에 대해 의존적이게 될 수 있다. 이와 같은 현상은 실제 검출되어야 할 대상 이외의 주변 객체들이 우세하게 검출되는 부작용을 가져오게 된다.
상기와 같은 부작용은 멀티-태스크 네트워크(220)를 두 단계로 학습시킴으로써 방지할 수 있다. 즉, 멀티-태스크 네트워크(220)를 제 1 훈련 단계(first training phase) 및 제 2 훈련 단계(second training phase)로 나누어 훈련시킴으로써 태스크들 간의 균형을 이룰 수 있다.
일 실시예에 따른 제 1 훈련 단계에서, 소실점 예측 모듈(230)만이 훈련될 수 있다. 제 1 훈련 단계에서는 소실점 예측 모듈(230)을 제외한 멀티-라벨 분류 모듈(240), 객체 마스크 모듈(250), 및 그리드 회귀 모듈(260)의 학습률을 0 으로 설정할 수 있다. 일 실시예에 따른 제 1 훈련 단계는 소실점 예측 태스크의 훈련으로 인해 나머지 다른 태스크들의 손실이 수렴할 때까지 지속될 수 있다. 소실점 예측 태스크만 훈련시키더라도 멀티-태스크 네트워크(220) 내에서 모듈 간 상호 공유되는 레이어들로 인해, 멀티-라벨 분류 태스크, 객체 마스크 태스크, 및 그리드 회귀 태스크의 손실들은 감소할 수 있다.
일 실시예에 따른 제 2 훈련 단계에서, 그리드 회귀 모듈(260), 객체 마스크 모듈(250) 및 멀티-라벨 분류 모듈(240)의 손실이 평형을 이루면 모든 모듈들(즉, 소실점 예측 모듈(230), 그리드 회귀 모듈(260), 객체 마스크 모듈(250) 및 멀티-라벨 분류 모듈(240))이 훈련될 수 있다. 제 2 훈련 단계에서는 모든 태스크들이 훈련되므로 각각의 태스크들의 학습률이 균형을 이루는 것이 중요하다. 일 실시예에 따른 제 2 훈련 단계는 멀티-태스크 네트워크(220)가 유효한 정확도를 갖는 시점에서 중단될 수 있다.
도 2를 참조하여 전술한 레이어의 구성, 노드의 수, 필터의 크기, 활성화 모델, 및 관련 알고리즘 등은 이해를 돕기 위한 예시에 불과하며, 데이터의 종류 및 실시 목적에 따라 다양하게 변경될 수 있다.
도 3은 일 실시예에 따른 제 1 훈련 단계에서 각 태스크에 대한 손실 그래프를 예시하는 도면이다.
도 3을 참조하면, 제 1 훈련 단계에서 그리드 회귀 태스크의 손실(310), 객체 마스크 태스크의 손실(320), 멀티-라벨 분류 태스크의 손실(330) 및 소실점 예측 태스크의 손실(340)이 도시된다.
일 실시예에 따른 제 1 훈련 단계에서, 소실점 예측 태스크만이 훈련된다. 따라서, 제 1 훈련 단계에서는 소실점 예측 태스크를 제외한 멀티-라벨 분류 태스크, 객체 마스크 태스크 및 그리드 회귀 태스크의 학습률을 0 으로 설정된다. 그러나, 소실점 예측 태스크만 훈련시키더라도 멀티-태스크 네트워크 내에서 모듈 간 레이어들이 상호 공유되기 때문에, 그리드 회귀 태스크의 손실(310), 객체 마스크 태스크의 손실(320) 및 멀티-라벨 분류 태스크의 손실(330)은 감소하게 된다. 예를 들어, 그리드 회귀 태스크의 손실(310), 객체 마스크 태스크의 손실(320) 및 멀티-라벨 분류 태스크의 손실(330)은 대략 20% 감소한 상태에서 수렴될 수 있다. 전술한 바와 같이, 일 실시예에 따른 제 1 훈련 단계는 그리드 회귀 태스크의 손실(310), 객체 마스크 태스크의 손실(320) 및 멀티-라벨 분류 태스크의 손실(330)이 수렴할 때까지 지속될 수 있다.
도 4는 일 실시예에 따른 차선 검출 장치가 차선 검출 방법을 수행한 결과물을 나타낸 도면이다.
도 4를 참조하면 맑은 날씨의 주행 환경(410), 약한 비가 내리는 주행 환경(420), 어두운 시야의 주행 환경(430), 강한 비가 내리는 주행 환경(440)이 각각 도시된다.
맑은 날씨의 주행 환경(410)에서는 차선이나 도로 표지의 인식률이 약한 비가 내리는 주행 환경(420), 어두운 시야의 주행 환경(430) 또는 강한 비가 내리는 주행 환경(440)에 비해 높게 나타날 수 있다.
일 실시예에 따른 차선 검출 장치는, 전술한 DNN 학습 모델을 이용함으로써 약한 비가 내리는 주행 환경(420), 어두운 시야의 주행 환경(430) 또는 강한 비가 내리는 주행 환경(440)에서도 강인한 검출 성능을 가질 수 있다.
일 실시예에 따른 차선 검출 장치는 지도 학습으로 차선 및 도로 표지를 인식하도록 훈련된 DNN 학습 모델을 이용한다. DNN 학습 모델에 제공되는 훈련용 데이터 셋은 다양한 주행 환경에 따라 카테고리화된 도로 영상이다. 예를 들어, 소실점, 차선 및 도로 표지와 같은 객체의 클래스를 나타내는 라벨이 객체에 포함될 수 있다.
따라서, 차선 검출 장치는 도 4에 도시된 바와 같이, 각각의 주행 환경에서의 소실점들(415, 425, 435, 445)을 결정할 수 있으며, 전역 정보인 소실점들(415, 425, 435, 445)의 위치에 기초하여 차선의 클래스(예를 들어, 황색 실선 타입, 황색 이중 실선 타입, 백색 점선 타입 등)를 검출할 수 있다.
도 5는 일 실시예에 따른 차선 검출 방법의 흐름도이다.
단계 S510에서, 차선 검출 장치는 차량에 장착된 카메라로부터 카메라에 의해 촬영된 촬영 영상을 수신할 수 있다.
단계 S520에서, 차선 검출 장치는 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN 학습 모델에 촬영 영상을 적용함으로써 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 결정된 소실점에 기초하여 촬영 영상 내의 차선들의 형상을 추정할 수 있다.
도 6은 일 실시예에 따른 차선 검출 장치(610)의 블록도를 도시하는 도면이다.
도 6을 참조하면, 차선 검출 장치(610)는 수신부(620) 및 프로세서(630)를 포함할 수 있다.
일 실시예에 따른 수신부(620)는 차선들의 형상을 추정하는데 이용되는 데이터를 수신할 수 있다. 일 실시예에 따른 수신부(620)는 차량에 장착된 카메라로부터 카메라에 의해 촬영된 촬영 영상을 수신할 수 있다. 촬영 영상은 가로 방향, 세로 방향 및 채널 방향의 길이를 갖는 그레이-스케일(gray-scale)의 영상일 수 있으며, 예를 들어, 640x480x3 픽셀의 크기일 수 있다.
일 실시예에 따른 프로세서(630)는 연산에 필요한 데이터를 수신부(620)로부터 읽어오고 연산 결과를 다시 저장하기 위해 메모리(미도시)에 접근할 수 있다. 예를 들어, 프로세서(630)는 수신부(620) 또는 메모리(미도시)로부터 데이터를 읽는 로드 명령어(Load Instruction) 및 메모리(미도시)에 데이터를 저장하는 저장 명령어(Store Instruction)을 실행할 수 있다.
일 실시예에 따른 프로세서(630)는 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN 학습 모델에 촬영 영상을 적용함으로써 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 결정된 소실점에 기초하여 촬영 영상 내의 차선들의 형상을 추정할 수 있다.
일 실시예에 따라 프로세서(630)가 DNN 학습 모델을 이용하여 차선들의 형상을 추정하는 방법에 대해서는 도 2를 통해 전술한 바와 같다.
도 7은 일부 실시예에 따른 프로세서(700)의 블록도이다.
도 7의 프로세서(700)는 도 6의 프로세서(630)에 대응하는 것일 수 있다.
도 7을 참조하면, 일부 실시예에 따른 프로세서(700)는 데이터 학습부(710) 및 데이터 인식부(720)를 포함할 수 있다.
데이터 학습부(710)는 상황 판단 을 위한 기준을 학습할 수 있다. 데이터 학습부(710)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(710)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
데이터 인식부(720)는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부(720)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(720)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(710) 및 데이터 인식부(720)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(710) 및 데이터 인식부(720)는 유선 또는 무선으로 통하여, 데이터 학습부(710)가 구축한 모델 정보를 데이터 인식부(720)로 제공할 수도 있고, 데이터 인식부(720)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(710)로 제공될 수도 있다.
한편, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 8은 일부 실시예에 따른 데이터 학습부(810)의 블록도이다.
도 8의 데이터 학습부(810)는 도 7의 데이터 학습부(710)에 대응하는 것일 수 있다.
도 8을 참조하면, 일부 실시예에 따른 데이터 학습부(810)는 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5)를 포함할 수 있다.
데이터 획득부(810-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 데이터 획득부(810-1)는 상황 판단을 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
데이터 획득부(810-1)는 촬영 영상을 입력 받을 수 있다. 촬영 영상은 복수의 이미지(또는, 프레임(frame))들로 구성될 수 있다. 일 예로, 데이터 획득부(810-1)는 데이터 학습부(810)를 포함하는 전자 장치의 카메라, 또는 데이터 학습부(810)를 포함하는 전자 장치와 통신 가능한 외부의 카메라(예로, CCTV 또는 블랙박스 등)를 통하여 촬영 영상을 입력 받을 수 있다. 여기서, 카메라는 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전처리부(810-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(810-2)는 후술할 모델 학습부(810-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(810-2)는 입력된 촬영 영상의 적어도 일부를 구성하는 복수의 이미지(또는 프레임(frame))들 각각에 포함된 공통 영역을 기초로, 복수의 이미지들의 적어도 일부를 중첩하여 하나의 합성 이미지를 생성할 수 있다. 이 경우, 하나의 촬영 영상에서 복수 개의 합성 이미지들이 생성될 수도 있다. 공통 영역은, 복수의 이미지들 각각에서 동일 또는 유사한 공통 오브젝트(예로, 물체, 동식물 또는 사람 등)를 포함한 영역이 될 수 있다. 또는, 공통 영역은, 복수의 이미지들 각각에서 색, 음영, RGB 값 또는 CMYK 값 등이 동일 또는 유사한 영역이 될 수 있다.
학습 데이터 선택부(810-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(810-4)에 제공될 수 있다. 학습 데이터 선택부(810-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(810-3)는 후술할 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(810-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(810-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
또한, 모델 학습부(810-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(810-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(810-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(810-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(810-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(810-4)는 학습된 데이터 인식 모델을 데이터 인식부(920)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(810-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(920)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(810-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(810-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(810-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(810-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(810-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(810-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(810-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(810) 내의 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(810-1), 전처리부(810-2), 학습 데이터 선택부(810-3), 모델 학습부(810-4) 및 모델 평가부(810-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9는 일부 실시예에 따른 데이터 인식부(920)의 블록도이다.
도 9의 데이터 인식부(920)는 도 7의 데이터 인식부(720)에 대응하는 것일 수 있다.
도 9를 참조하면, 일부 실시예에 따른 데이터 인식부(920)는 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5)를 포함할 수 있다.
데이터 획득부(920-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(920-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(920-2)는 후술할 인식 결과 제공부(920-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(920-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(920-4)에게 제공될 수 있다. 인식 데이터 선택부(920-3)는 상황 판단을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(920-3)는 후술할 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(920-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(920-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(920-4)는 인식 데이터 선택부(920-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
예를 들어, 촬영 영상의 인식 결과는 텍스트, 음성, 동영상, 이미지 또는 명령어(예로, 어플리케이션 실행 명령어, 모듈 기능 실행 명령어 등) 등으로 제공될 수 있다. 인식 결과 제공부(920-4)는 촬영 영상으로부터 생성된 합성 이미지를 데이터 인식 모델에 적용하여 촬영 영상의 인식 결과를 제공할 수 있다. 일 예로, 인식 결과 제공부(920-4)는 촬영 영상에 포함된 오브젝트의 인식 결과를 제공 할 수 있다. 인식 결과는, 예로, 촬영 영상의 포함된 오브젝트의 클래스 정보, 오브젝트의 주변 상태 정보 등이 될 수 있다. 인식 결과 제공부(920-4)는 오브젝트의 클래스 정보로서 ‘황색 실선 타입’,‘황색 이중 실선 타입’,‘백색 점선 타입’ 등의 클래스 정보를 텍스트, 음성, 동영상, 이미지 또는 명령어 등으로 제공할 수 있다.
모델 갱신부(920-5)는 인식 결과 제공부(920-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부(920-5)는 인식 결과 제공부(920-4)에 의해 제공되는 인식 결과를 모델 학습부(810-4)에게 제공함으로써, 모델 학습부(810-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(920) 내의 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(920-1), 전처리부(920-2), 인식 데이터 선택부(920-3), 인식 결과 제공부(920-4) 및 모델 갱신부(920-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 10은 일부 실시예에 따른 차선 검출 장치(1100) 및 서버(1200)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 10의 차선 검출 장치(1100)는 도 6의 차선 검출 장치(610)에 대응하는 것일 수 있다.
도 10을 참조하면, 서버(1200)는 상황 판단을 위한 기준을 학습할 수 있으며, 차선 검출 장치(1100)는 서버(1200)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(1200)의 모델 학습부(1250)는 도 7 에 도시된 데이터 학습부(710)의 기능을 수행할 수 있다. 서버(1200)의 모델 학습부(1250)는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(1250)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
또한, 차선 검출 장치(1100)의 인식 결과 제공부(1110-4)는 인식 데이터 선택부(1110-3)에 의해 선택된 데이터를 서버(1200)에 의해 생성된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 예를 들어, 인식 결과 제공부(1110-4)는 인식 데이터 선택부(1110-3)에 의해 선택된 데이터를 서버(1200)에게 전송하고, 서버(1200)가 인식 데이터 선택부(1110-3)에 의해 선택된 데이터를 인식 모델에 적용하여 상황을 판단할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1110-4)는 서버(1200)에 의해 판단된 상황에 관한 정보를 서버(1200)로부터 수신할 수 있다.
또는, 차선 검출 장치(1100)의 인식 결과 제공부(1110-4)는 서버(1200)에 의해 생성된 인식 모델을 서버(1200)로부터 수신하고, 수신된 인식 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 차선 검출 장치(1100)의 인식 결과 제공부(1110-4)는 인식 데이터 선택부(1110-3)에 의해 선택된 데이터를 서버(1200)로부터 수신된 데이터 인식 모델에 적용하여 상황을 판단할 수 있다.
상기 살펴 본 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.

Claims (17)

  1. 차량이 주행 중인 차선을 검출하는 차선 검출 장치에 있어서,
    상기 차량에 장착된 카메라로부터 상기 카메라에 의해 촬영된 촬영 영상을 수신하는 수신부; 및
    상기 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN(Deep Neural Network) 학습 모델에 상기 촬영 영상을 적용함으로써 상기 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 상기 결정된 소실점에 기초하여 상기 촬영 영상 내의 상기 차선들의 형상을 추정하는 프로세서;
    를 포함하는, 차선 검출 장치.
  2. 제 1 항에 있어서,
    상기 DNN 학습 모델은, 상기 DNN 학습 모듈을 구성하는 복수의 네트워크 노드들 간의 연결 관계 및 상기 복수의 네트워크 노드들 각각의 가중치에 기반한 연산에 따라 상기 소실점을 결정하도록 학습된 네트워크 모델인, 차선 검출 장치.
  3. 제 1 항에 있어서,
    상기 DNN 학습 모델은,
    상기 촬영 영상 내의 상기 영상 데이터의 특징들을 추출하도록 설정된 특징 추출 네트워크(Feature Extraction Network); 및
    복수 개의 태스크를 수행하도록 설정된 멀티-태스크 네트워크(Multi-Task Network);
    를 포함하는, 차선 검출 장치.
  4. 제 3 항에 있어서,
    상기 멀티-태스크 네트워크는,
    상기 소실점을 예측하는 태스크를 수행하는 소실점 예측 모듈;
    그리드(Grid) 검출 태스크를 수행하는 그리드 회귀(Regression) 모듈;
    객체(Object)에 대한 바이너리 분류(Binary Classification) 태스크를 수행하는 객체 마스크(Mask) 모듈; 및
    클래스(Class) 분류 태스크를 수행하는 멀티-라벨 분류(Multi-Label Classification) 모듈;
    을 포함하는, 차선 검출 장치.
  5. 제 4 항에 있어서,
    상기 특징 추출 네트워크로부터 추출된 상기 영상 데이터의 특징들에 관한 정보는, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 입력으로서 공유되는, 차선 검출 장치.
  6. 제 4 항에 있어서,
    상기 DNN 학습 모델은, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈 간의 선택적인 학습에 의해 구축된 네트워크 모델인, 차선 검출 장치.
  7. 제 4 항에 있어서,
    상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실(Loss)이 수렴하기 전까지, 상기 DNN 학습 모델은 상기 소실점 예측 모듈만으로 학습되는, 차선 검출 장치.
  8. 제 7 항에 있어서,
    상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실이 평형을 이루면, 상기 DNN 학습 모델은 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈에 의해 학습되는, 차선 검출 장치.
  9. 차량이 주행 중인 차선을 검출하는 차선 검출 방법에 있어서,
    상기 차량에 장착된 카메라로부터 상기 카메라에 의해 촬영된 촬영 영상을 수신하는 단계; 및
    상기 촬영 영상 내의 영상 데이터의 패턴을 검출하도록 설정된 DNN(Deep Neural Network) 학습 모델에 상기 촬영 영상을 적용함으로써 상기 촬영 영상 내의 차선들에 관련된 적어도 하나의 소실점을 결정하고, 상기 결정된 소실점에 기초하여 상기 촬영 영상 내의 상기 차선들의 형상을 추정하는 단계;
    를 포함하는, 차선 검출 방법.
  10. 제 9 항에 있어서,
    상기 DNN 학습 모델은, 상기 DNN 학습 모듈을 구성하는 복수의 네트워크 노드들 간의 연결 관계 및 상기 복수의 네트워크 노드들 각각의 가중치에 기반한 연산에 따라 상기 소실점을 결정하도록 학습된 네트워크 모델인, 차선 검출 방법.
  11. 제 9 항에 있어서,
    상기 DNN 학습 모델은,
    상기 촬영 영상 내의 상기 영상 데이터의 특징들을 추출하도록 설정된 특징 추출 네트워크(Feature Extraction Network); 및
    복수 개의 태스크를 수행하도록 설정된 멀티-태스크 네트워크(Multi-Task Network);
    를 포함하는, 차선 검출 방법.
  12. 제 11 항에 있어서,
    상기 멀티-태스크 네트워크는,
    상기 소실점을 예측하는 태스크를 수행하는 소실점 예측 모듈;
    그리드(Grid) 검출 태스크를 수행하는 그리드 회귀(Regression) 모듈;
    객체(Object)에 대한 바이너리 분류(Binary Classification) 태스크를 수행하는 객체 마스크(Mask) 모듈; 및
    클래스(Class) 분류 태스크를 수행하는 멀티-라벨 분류(Multi-Label Classification) 모듈;
    을 포함하는, 차선 검출 방법.
  13. 제 12 항에 있어서,
    상기 특징 추출 네트워크로부터 추출된 상기 영상 데이터의 특징들에 관한 정보는, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 입력으로서 공유되는, 차선 검출 방법.
  14. 제 12 항에 있어서,
    상기 DNN 학습 모델은, 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈 간의 선택적인 학습에 의해 구축된 네트워크 모델인, 차선 검출 방법.
  15. 제 12 항에 있어서,
    상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실(Loss)이 수렴하기 전까지, 상기 DNN 학습 모델은 상기 소실점 예측 모듈만으로 학습되는, 차선 검출 방법.
  16. 제 15 항에 있어서,
    상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈의 손실이 평형을 이루면, 상기 DNN 학습 모델은 상기 소실점 예측 모듈, 상기 그리드 회귀 모듈, 상기 객체 마스크 모듈 및 상기 멀티-라벨 분류 모듈에 의해 학습되는, 차선 검출 방법.
  17. 제 9 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170144231A 2016-10-31 2017-10-31 차선 검출 장치 및 방법 KR20180048407A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662414951P 2016-10-31 2016-10-31
US62/414,951 2016-10-31

Publications (1)

Publication Number Publication Date
KR20180048407A true KR20180048407A (ko) 2018-05-10

Family

ID=62184544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170144231A KR20180048407A (ko) 2016-10-31 2017-10-31 차선 검출 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20180048407A (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881080A (zh) * 2018-05-30 2018-11-23 东南大学 一种基于滑动窗与深度学习的ofdm抗ici检测方法
KR102037484B1 (ko) * 2019-03-20 2019-10-28 주식회사 루닛 멀티태스크 학습 방법 및 그 장치
WO2020096102A1 (ko) * 2018-11-08 2020-05-14 박정우 인공지능 실행가속을 위한 인공지능 실행모델 설정방법 및 인공지능 실행가속시스템
KR20200063320A (ko) * 2018-11-20 2020-06-05 현대자동차주식회사 차량의 객체 인식 장치, 시스템 및 방법
CN111539402A (zh) * 2020-07-13 2020-08-14 平安国际智慧城市科技股份有限公司 基于深度学习的车道线检测方法、装置、终端及存储介质
KR20200141130A (ko) * 2019-06-10 2020-12-18 건국대학교 산학협력단 운전 보조 시스템의 동작 방법, 운전 보조 시스템의 구동을 위한 프로세싱 유닛 및 운전 보조 장치의 구동 시스템
KR20210022891A (ko) * 2019-08-21 2021-03-04 한양대학교 산학협력단 차선 유지 제어 방법 및 그 장치
KR102236615B1 (ko) * 2020-07-31 2021-04-06 주식회사 웨이센 복합 특성 분류와 공통 국소화를 위한 신경망 모델의 학습 방법 및 장치
KR20210042203A (ko) * 2019-10-08 2021-04-19 재단법인대구경북과학기술원 골프장 내 카트의 자율주행을 위한 카트길 인식 장치 및 방법
CN112749778A (zh) * 2019-10-29 2021-05-04 北京灵汐科技有限公司 一种强同步下的神经网络映射方法及装置
CN113807236A (zh) * 2021-09-15 2021-12-17 北京百度网讯科技有限公司 车道线检测的方法、装置、设备、存储介质及程序产品
US11348263B2 (en) 2018-10-23 2022-05-31 Samsung Electronics Co., Ltd. Training method for detecting vanishing point and method and apparatus for detecting vanishing point
KR102511280B1 (ko) * 2022-01-04 2023-03-20 주식회사 정석케미칼 스펙트로그램 패턴을 이용한 인공지능 기반의 차선 감지 방법 및 이를 위한 장치
CN117132863A (zh) * 2023-10-25 2023-11-28 罗普特科技集团股份有限公司 一种能够进行数据反馈的车辆系统
CN113807236B (zh) * 2021-09-15 2024-05-17 北京百度网讯科技有限公司 车道线检测的方法、装置、设备、存储介质及程序产品

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881080A (zh) * 2018-05-30 2018-11-23 东南大学 一种基于滑动窗与深度学习的ofdm抗ici检测方法
CN108881080B (zh) * 2018-05-30 2021-02-02 东南大学 一种基于滑动窗与深度学习的ofdm抗ici检测方法
US11348263B2 (en) 2018-10-23 2022-05-31 Samsung Electronics Co., Ltd. Training method for detecting vanishing point and method and apparatus for detecting vanishing point
WO2020096102A1 (ko) * 2018-11-08 2020-05-14 박정우 인공지능 실행가속을 위한 인공지능 실행모델 설정방법 및 인공지능 실행가속시스템
US11257008B2 (en) 2018-11-08 2022-02-22 Soynet Co., Ltd. Method of setting artificial intelligence execution model and artificial intelligence execution acceleration system for artificial intelligence execution acceleration
KR20200063320A (ko) * 2018-11-20 2020-06-05 현대자동차주식회사 차량의 객체 인식 장치, 시스템 및 방법
KR102037484B1 (ko) * 2019-03-20 2019-10-28 주식회사 루닛 멀티태스크 학습 방법 및 그 장치
KR20200141130A (ko) * 2019-06-10 2020-12-18 건국대학교 산학협력단 운전 보조 시스템의 동작 방법, 운전 보조 시스템의 구동을 위한 프로세싱 유닛 및 운전 보조 장치의 구동 시스템
KR20210022891A (ko) * 2019-08-21 2021-03-04 한양대학교 산학협력단 차선 유지 제어 방법 및 그 장치
KR20210042203A (ko) * 2019-10-08 2021-04-19 재단법인대구경북과학기술원 골프장 내 카트의 자율주행을 위한 카트길 인식 장치 및 방법
CN112749778A (zh) * 2019-10-29 2021-05-04 北京灵汐科技有限公司 一种强同步下的神经网络映射方法及装置
CN112749778B (zh) * 2019-10-29 2023-11-28 北京灵汐科技有限公司 一种强同步下的神经网络映射方法及装置
CN111539402A (zh) * 2020-07-13 2020-08-14 平安国际智慧城市科技股份有限公司 基于深度学习的车道线检测方法、装置、终端及存储介质
KR102236615B1 (ko) * 2020-07-31 2021-04-06 주식회사 웨이센 복합 특성 분류와 공통 국소화를 위한 신경망 모델의 학습 방법 및 장치
CN113807236A (zh) * 2021-09-15 2021-12-17 北京百度网讯科技有限公司 车道线检测的方法、装置、设备、存储介质及程序产品
CN113807236B (zh) * 2021-09-15 2024-05-17 北京百度网讯科技有限公司 车道线检测的方法、装置、设备、存储介质及程序产品
KR102511280B1 (ko) * 2022-01-04 2023-03-20 주식회사 정석케미칼 스펙트로그램 패턴을 이용한 인공지능 기반의 차선 감지 방법 및 이를 위한 장치
WO2023132436A1 (ko) * 2022-01-04 2023-07-13 주식회사 정석케미칼 스펙트로그램 패턴을 이용한 인공지능 기반의 차선 감지 방법 및 이를 위한 장치
CN117132863A (zh) * 2023-10-25 2023-11-28 罗普特科技集团股份有限公司 一种能够进行数据反馈的车辆系统
CN117132863B (zh) * 2023-10-25 2023-12-22 罗普特科技集团股份有限公司 一种能够进行数据反馈的车辆系统

Similar Documents

Publication Publication Date Title
KR20180048407A (ko) 차선 검출 장치 및 방법
CN107533669B (zh) 滤波器特异性作为用于神经网络的训练准则
CN108431826B (zh) 自动检测视频图像中的对象
KR102532749B1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
CN107851213B (zh) 神经网络中的转移学习
US10740654B2 (en) Failure detection for a neural network object tracker
CN107851191B (zh) 用于图像中的对象检测的基于上下文的先验
KR102060662B1 (ko) 차량의 주행 이벤트를 검출하는 전자 장치 및 방법
KR102593438B1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
US10964033B2 (en) Decoupled motion models for object tracking
WO2018089158A1 (en) Natural language object tracking
KR102548732B1 (ko) 신경망 학습 방법 및 이를 적용한 장치
CN107909151B (zh) 用于在人工神经网络中实现注意力机制的方法和系统
CN110263786B (zh) 一种基于特征维度融合的道路多目标识别系统及方法
US20190325746A1 (en) System and method of object-based navigation
KR20180051335A (ko) 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
CN112347691A (zh) 人工智能服务器
CN111178286B (zh) 姿态轨迹预测方法、装置及电子设备
JP2022500762A (ja) 動的空間シナリオの分析
CN115273032A (zh) 交通标志识别方法、装置、设备及介质
Gautam et al. Image-based automatic traffic lights detection system for autonomous cars: a review
US10735660B2 (en) Method and device for object identification
EP4145398A1 (en) Systems and methods for vehicle camera obstruction detection
Roncancio et al. Ceiling analysis of pedestrian recognition pipeline for an autonomous car application
Meftah et al. Deep residual network for autonomous vehicles obstacle avoidance