KR20240090266A - 자율 주행 차량을 위한 차선 추적 방법 및 시스템 - Google Patents

자율 주행 차량을 위한 차선 추적 방법 및 시스템 Download PDF

Info

Publication number
KR20240090266A
KR20240090266A KR1020247014220A KR20247014220A KR20240090266A KR 20240090266 A KR20240090266 A KR 20240090266A KR 1020247014220 A KR1020247014220 A KR 1020247014220A KR 20247014220 A KR20247014220 A KR 20247014220A KR 20240090266 A KR20240090266 A KR 20240090266A
Authority
KR
South Korea
Prior art keywords
lane
clothoid
measured
points
tracking system
Prior art date
Application number
KR1020247014220A
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
Priority claimed from GB2117061.8A external-priority patent/GB2611117A/en
Application filed by 콘티넨탈 오토노머스 모빌리티 저머니 게엠베하 filed Critical 콘티넨탈 오토노머스 모빌리티 저머니 게엠베하
Publication of KR20240090266A publication Critical patent/KR20240090266A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

개시된 주제는 자율 주행 차량을 위한 차선 추적 및 차선 추적 시스템을 훈련하기 위한 방법 및 시스템을 개시하는 자율 주행 차량 분야에 관한 것이다. 훈련 단계 동안 차선 추적 시스템은 차선 경계 검출점에 대응하는 실제값과 측정값을 수신하고, 실제값 및 측정된 클로소이드 점을 결정한다. 이후, 차선 경계를 모델링하기 위해 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하고, 이후 차선 경계를 추적하기 위해 적어도 하나의 신경망을 사용하여 계수값에 대해 칼만 필터 파라미터를 결정한다. 또한, 칼만 필터 파라미터를 사용하여 클로소이드 파라미터의 계수값을 업데이트하고, 이를 사용하여 측정된 클로소이드 점을 재구성하고, 이를 사용하여 차선 경계를 추적한다. 또한, 계수에 의해서가 아닌 클로소이드 점 사이의 L2 노름(norm)에 의해 훈련 에러를 얻으므로 훈련 에러를 최소화한다. 그런 다음 훈련된 차선 추적 시스템은 동적 환경에서 차선 추적을 위해 전개된다.

Description

자율 주행 차량을 위한 차선 추적 방법 및 시스템
본 주제는 일반적으로 자율 주행 차량 분야에 관한 것으로, 보다 상세하게는 자율 주행 차량을 위한 차선 추적(lane tracking) 방법 및 시스템에 관한 것이나 이로 국한되는 것은 아니다.
최근 자동차 산업은 자율 주행 차량으로 이동하기 시작했다. 본 설명 및 청구범위에 사용된 자율 주행 차량은 사람의 개입 여부에 관계없이 도로 위에서 이동하기 위해 주변 환경을 감지할 수 있는 차량이다. 자율 주행 차량은 레이저, 광 검출 및 거리 측정(LIDAR), 글로벌 위치 확인 시스템(GPS), 컴퓨터 비전 등과 같은 자율 주행 차량에 구성된 센서의 도움으로 환경을 감지한다. 자율 주행 차량은 원활한 주행을 위해 차선 검출 및 도로 추적에 크게 의존한다.
기존의 차선 검출 및 추적 기술은 칼만 필터(Kalman filter)를 사용하여 차선 경계(lane boundary)를 추적할 수 있다. 특히, 칼만 필터는 차선 파라미터를 예측하고 차선 경계를 추적하는 차선 추적기의 출력을 평활화하는 데 사용될 수 있다. 일반적으로, 칼만 필터는 잡음이 있는 측정값이나 잡음이 있는 처리가 있는 경우에도 상태 벡터의 동역학을 추정하는 기능을 갖기 때문에 차선 경계를 추적하는 동안 칼만 필터를 선택한다. 칼만 필터를 결정하는 데 도움이 되는 주요 파라미터는 처리 잡음 공분산 행렬(Q)과 측정 잡음 공분산 행렬(R)이다. 차선 경계를 추적하기 위해 칼만 필터에 의존하는 기존의 차선 검출 및 추적 기술은 칼만 필터를 결정하기 위해 미리 정해지거나 고정된 Q와 R 값을 사용한다. 실제로, Q와 R은 시나리오, 측정에 사용되는 검출기, 측정 및 추적에 사용되는 처리 종류 등에 따라 동적으로 변하는 파라미터이다. 그러나, 기존의 기술은 Q와 R의 동적 특성을 포함하지 못하고, 대신 Q와 R에 대해 고정되거나 미리 정해진 값을 사용하므로 차선 추적을 위해 칼만 필터에 기초하여 수행되는 예측의 정확도에 영향을 미친다. 부정확한 차선 추적은 자율 주행 차량에 잘못된 조향 명령과 경고 신호를 생성하여 차량 안전을 위협할 수 있다.
추가로, 기존 기술에서는 Q와 R 값이 고정되어 있기 때문에 기존 기술에서는 시간에 따라 발생하는 상태의 변화를 포함할 수 있는 유연성이 부족하여 소수의 유형 또는 작은 범위의 차선 구조로 예측이 제한된다.
따라서, 정확도와 유연성을 향상시킴과 함께 칼만 필터를 사용하여 차선 추적을 수행할 수 있는 방법이 필요하다.
본 발명의 배경기술란에 개시된 정보는 본 발명의 일반적인 배경에 대한 이해를 높이기 위해 제공된 것일 뿐, 이 정보가 당업자에게 이미 알려진 종래 기술을 형성한다는 것을 인정하거나 암시하는 것으로 받아들여져서는 안 된다.
자율 주행 차량을 위한 차선 추적 시스템을 훈련시키는 방법이 본 명세서에 개시된다. 방법은 차선 추적 시스템이 차선 추적 시스템과 연관된 차선 경계 검출 시스템으로부터 복수의 차선 경계 검출점에 대응하는 실제값(ground truth value)과, 복수의 차선 경계 검출점에 대응하는 측정값(measured value)을 수신하는 단계를 포함한다. 또한, 방법은 차선의 차선 경계를 모델링하기 위해 실제값 세트와 측정된 세트를 사용하여 각각 형성된 실제값 클로소이드 점(ground truth clothoid point)과 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계를 포함한다. 실제값 세트는 연속적인 차선 경계 검출점과 대응 실제값의 서브세트를 포함하고, 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함한다. 이후, 방법은 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계를 포함한다. 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정된다. 칼만 필터 파라미터를 결정할 때, 방법은 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계를 포함한다. 또한, 방법은 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하는 단계를 포함한다. 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템이 자율 주행 차량에 대한 차선 경계를 추적할 수 있게 한다. 마지막으로, 방법은 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 재구성된 측정된 클로소이드 점과 대응 실제값 세트 간의 차이에 기초하여 훈련 에러를 최소화하는 단계를 포함한다.
또한, 본 발명은 자율 주행 차량을 위한 차선 추적 시스템을 포함한다. 차선 추적 시스템은 프로세서, 및 이 프로세서에 통신 가능하게 결합된 메모리를 포함한다. 메모리는 프로세서 명령어를 저장하고, 명령어는, 실행 시 프로세서로 하여금 차선 추적 시스템을 훈련하게 하고, 훈련을 위해 프로세서는 차선 추적 시스템과 연관된 차선 경계 검출 시스템으로부터 복수의 차선 경계 검출점에 대응하는 실제값과, 복수의 차선 경계 검출점에 대응하는 측정값을 수신하도록 구성된다. 또한, 프로세서는 차선의 차선 경계를 모델링하기 위해 실제값 세트와 측정된 세트를 사용하여 각각 형성된 실제값 클로소이드 점과 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정한다. 실제값 세트는 연속적인 차선 경계 검출점과 대응 실제값의 서브세트를 포함하고, 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함한다. 이후, 프로세서는 차선의 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정한다. 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정된다. 칼만 필터 파라미터를 결정할 때 프로세서는 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트한다. 또한, 프로세서는 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성한다. 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템이 자율 주행 차량의 차선 경계를 추적할 수 있게 한다. 마지막으로, 프로세서는 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 재구성된 측정된 클로소이드 점과 대응 실제값 세트 간의 차이에 기초하여 훈련 에러를 최소화한다.
또한, 본 발명은 자율 주행 차량을 위한 차선 추적 방법을 개시한다. 방법은 차선 추적 시스템이 차선 추적 시스템과 연관된 차선 경계 검출 시스템으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계를 포함한다. 이후, 방법은 차선의 차선 경계를 모델링하기 위해 측정된 세트를 사용하여 형성된 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계를 포함한다. 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함한다. 이후, 방법은 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계를 포함한다. 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정된다. 칼만 필터를 결정할 때, 방법은 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계를 포함한다. 마지막으로, 방법은 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하는 단계를 포함한다. 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템이 자율 주행 차량에 대한 차선 경계를 추적할 수 있게 한다.
또한, 본 발명은 자율 주행 차량을 위한 차선 추적 시스템을 개시한다. 차선 추적 시스템은 프로세서, 및 이 프로세서에 통신 가능하게 결합된 메모리를 포함한다. 메모리는 프로세서 명령어를 저장하고, 명령어는, 실행 시 프로세서로 하여금 차선 추적 시스템과 연관된 차선 경계 검출 시스템으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신하게 한다. 이후, 프로세서는 차선의 차선 경계를 모델링하기 위해 측정된 세트를 사용하여 형성된 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정한다. 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함한다. 이후, 프로세서는 차선의 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정한다. 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정된다. 칼만 필터를 결정할 때 프로세서는 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트한다. 마지막으로, 프로세서는 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성한다. 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템이 자율 주행 차량에 대한 차선 경계를 추적할 수 있게 한다.
전술한 내용은 단지 예시를 위한 것일 뿐, 어떠한 방식으로든 본 발명을 제한하려고 의도된 것이 아니다. 위에서 설명한 예시적인 양태, 실시형태 및 특징에 더하여, 추가 양태, 실시형태 및 특징은 도면 및 다음의 상세한 설명을 참조하면 명백해질 것이다.
본 명세서에 포함되고 본 명세서의 일부를 구성하는 첨부 도면은 예시적인 실시형태를 제시하고 설명과 함께 개시된 원리를 설명하는 역할을 한다. 도면에서, 참조 부호의 가장 왼쪽 숫자(들)는 참조 번호가 처음 나타나는 도면을 나타낸다. 동일한 특징부와 구성요소를 나타내기 위해 도면 전체에서 동일한 번호가 사용되었다. 이제 본 주제의 실시형태에 따른 시스템 및/또는 방법의 일부 실시형태가 첨부 도면을 참조하여 단지 예로서 설명된다.
도 1은 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적을 수행하기 위한 예시적인 아키텍처를 도시한다.
도 2a는 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적을 위한 예시적인 차선 추적 시스템의 상세한 블록도를 도시한다.
도 2b는 본 발명의 일부 실시형태에 따라 예시적인 실제값에 따라 연속적으로 위치된 예시적인 복수의 차선 경계 검출점을 도시한다.
도 2c는 본 발명의 일부 실시형태에 따라 예시적인 측정값에 따라 연속적으로 위치된 예시적인 복수의 차선 경계 검출점을 도시한다.
도 2d는 본 발명의 일부 실시형태에 따라 예시적인 재구성된 클로소이드 점을 사용하여 추적된 예시적인 차선을 도시한다.
도 2e는 본 발명의 일부 실시형태에 따라 자율 주행 차량이 이동하는 도로에 속하는, 추적된 복수의 예시적인 차선을 도시한다.
도 3a는 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적 시스템을 훈련하는 방법을 보여주는 흐름도를 도시한다.
도 3b는 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적 시스템의 방법을 보여주는 흐름도를 도시한다.
도 4는 본 발명에 따른 실시형태를 구현하기 위한 예시적인 컴퓨터 시스템의 블록도이다.
당업자라면 본 명세서의 임의의 블록도가 본 주제의 원리를 구현하는 예시적인 시스템의 개념도를 나타낸다는 것을 이해할 수 있을 것이다. 유사하게, 임의의 흐름 차트, 흐름도, 상태 전이도, 의사 코드 등은 컴퓨터나 프로세서가 명시적으로 제시되는지 여부에 상관 없이 실질적으로 컴퓨터 판독 가능 매체에 표현되고 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 처리를 나타내는 것으로 이해된다.
본 명세서에서 "예시적인"이라는 단어는 "예, 사례 또는 예시로 제공되는"이라는 의미로 사용된다. 본 명세서에서 "예시적인" 것으로 설명된 본 주제의 임의의 실시형태 또는 구현예는 반드시 다른 실시형태에 비해 바람직하거나 유리한 것으로 해석되는 것은 아니다.
본 발명은 다양한 수정 및 대안적인 형태가 가능하지만, 그 특정 실시형태를 예로서 도면에 도시하고 아래에서 상세히 설명한다. 그러나 본 발명은 개시된 형태로 한정되는 것이 아니고, 이와는 달리 본 발명은 본 발명의 범위에 속하는 모든 수정, 균등물 및 대체를 포함하는 것으로 이해되어야 한다.
"포함하고", "포함하는", "구비하고"라는 용어 또는 임의의 다른 파생어는 구성요소 또는 단계 목록을 포함하는 설정, 디바이스 또는 방법이 이 구성요소 또는 단계만을 포함하는 것이 아니라 이 설정, 디바이스 또는 방법에 고유하거나 명시적으로 나열되지 않은 다른 구성요소 또는 단계를 포함할 수 있는 비배타적인 포함을 포괄하도록 의도된 것이다. 다시 말해, "~를 포함하고"로 진행되는 시스템 또는 장치의 하나 이상의 요소는 추가 제한 없이 시스템 또는 방법의 다른 요소 또는 추가 요소의 존재를 배제하지 않는다.
자율 주행 차량을 위한 차선 추적 방법 및 시스템이 본 명세서에 개시된다. 일부 실시형태에서, 차선 추적은 자율 주행 차량이 이동하고 있는 도로에서 하나 이상의 차선의 존재를 검출하고, 자율 주행 차량에 대한 하나 이상의 명령을 생성하기 위해 검출된 차선을 추적하는 것을 포함한다. 예로서, 하나 이상의 명령은 자율 주행 차량의 이동을 돕는 조향 명령, 제동 명령, 차선 변경 명령, 추월 명령, 경고 신호 등일 수 있다. 본 발명은 본 발명의 배경기술란에 기술된 기존 기술의 하나 이상의 문제점을 해결하는 방식으로 자율 주행 차량에 대한 차선 추적을 수행하는 인공 지능(AI) 기반 방법을 제공한다. 본 방법은 AI 기반의 방법이므로, 자율 주행 차량을 위한 차선 추적을 위해 본 명세서에 개시된 차선 추적 시스템은 동적 환경에 전개되기 전에 훈련될 것을 필요로 한다.
일부 실시형태에서, 차선 추적 시스템은 다양한 도로 위 시나리오 및 상이한 차선 유형에 대응하는 이미지 프레임을 사용하여 결정된 복수의 차선 경계 검출점에 대응하는 측정값과 함께, 복수의 차선 경계 검출점에 대응하는 실제값을 사용하여 훈련될 수 있다. 일부 실시형태에서, 실제값은 원래의 값, 즉 실제라고 알려져 있고 직접적인 관찰에 기초하여 제공된 정보를 나타낼 수 있다. 그러나, 측정값은 시스템에 의해 결정되거나 예측되는 값이며, 실제값과 같이 직접적인 관찰에 기초한 것이 아니다. 따라서, 측정값의 정확도에 따라 측정값과 실제값이 동일할 수도 있고 다를 수도 있다. 일부 실시형태에서, 측정된 값의 서브세트는 측정된 클로소이드 점을 형성하는 데 사용될 수 있고, 실제값의 서브세트는 실제값 클로소이드 점을 형성하는 데 사용될 수 있다. 훈련 단계 동안, 차선 추적 시스템은 칼만 필터를 결정하여 측정된 클로소이드 점의 클로소이드 파라미터의 계수값을 업데이트한 다음, 클로소이드 파라미터의 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하도록 훈련될 수 있다. 이후, 차선 추적 시스템은 훈련 에러를 결정하고 각 사이클마다 훈련 에러를 최소화하도록 훈련될 수 있다. 클로소이드 점에 기초하여 자율 주행 차량을 위한 차선 추적을 위한 차선 추적 시스템의 훈련 단계는 적절한 도면과 함께 본 명세서의 상세한 설명의 이후 부분에서 상세히 설명된다.
훈련 단계 동안, 차선 추적 시스템은 하나 이상의 신경망을 사용하여 칼만 필터 파라미터를 결정할 수 있다. 하나 이상의 신경망은 회귀 신경망(Recurrent Neural Network: RNN), 장단기 기억(Long Short-Term Memory: LSTM) 신경망과 같은 시간 기억을 갖는 신경망을 포함할 수 있다. 하나 이상의 신경망은 과거 이벤트와 연관된 기억을 저장하고, 저장된 기억에 기초하여 장기간 의존성을 학습할 수 있다. 본 발명에서 차선 추적 시스템은 하나 이상의 동일하거나 다른 신경망을 사용하여 측정 잡음 공분산 행렬(R)과 처리 잡음 공분산 행렬(Q)을 동적으로 결정하기 위해 훈련 단계 동안 훈련될 수 있다. 예를 들어, 측정 잡음 공분산 행렬(R)은 제1 신경망을 사용하여 동적으로 결정될 수 있고, 처리 잡음 공분산 행렬(Q)은 제2 신경망을 사용하여 동적으로 결정될 수 있다. 제1 신경망과 제2 신경망은 각각 시간 기억을 갖는 신경망, 예를 들어, RNN 또는 LSTM 네트워크일 수 있다. 일부 다른 실시형태에서, 측정 잡음 공분산 행렬(R)과 처리 잡음 공분산 행렬(Q)은 동일한 신경망을 사용하여 동적으로 결정될 수 있다. 실제로 Q와 R은 시나리오, 측정에 사용되는 검출기, 측정 및 추적에 사용되는 처리 종류 등에 기초하여 동적으로 변한다. 신경망을 사용하여 Q와 R을 결정하면 신경망을 통해 자율 주행 차량의 과거 사이클에서 캡처한 과거 데이터에 기초하여 Q와 R을 결정할 수 있다. 따라서, 신경망은 시간에 따라 변화를 분석하여 Q와 R을 결정할 수 있고, 이에 따라 Q와 R을 함께 진화시킬 수 있다. 따라서, 신경망(들)을 사용하여 결정된 Q와 R 값은 일부 랜덤한 미리 정해진 또는 정적 값이 아니라 이미지 프레임에 캡처된 현재 시나리오에만 적용된다. Q와 R 값은 데이터 기반 신경망을 사용하여, 즉, 과거 사이클에서 캡처한 과거 데이터에 기초하여 분석하고 분석 결과를 사용하여 현재 시나리오에 대한 Q와 R을 결정하기 때문에, Q와 R의 결정된 값은 정확하고 견고하다. 더욱이, 신경망은 측정된 값과 함께 실제값을 사용하여 훈련 단계 동안 훈련되므로 결정된 Q와 R 값은 실제값에 더 가깝고 이는 동적으로 결정된 Q와 R 값의 정확도 수준에 추가된다. 이렇게 동적으로 결정된 정확한 Q와 R 값은 차선 추적을 위한 정확한 칼만 필터를 결정할 수 있게 하며, 그 결과 클로소이드 파라미터의 계수값을 정확하게 업데이트하고 측정된 클로소이드 점을 재구성할 수 있게 된다.
재구성된 클로소이드 점으로 인해 발생할 수 있는 훈련 에러는 재구성된 클로소이드 점과 대응 실제값 세트, 즉, 각 사이클에서 대응하는 차선 경계 검출점의 실제값의 서브세트의 차이에 기초하여 결정될 수 있다. 이러한 훈련 에러는 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 최소화될 수 있다. 따라서, 훈련 단계 동안 훈련 에러를 최소화함으로써 차선 추적의 정확도에 부정적인 영향을 미칠 수 있는 사소한 훈련 에러도 줄어든다. 본 발명에서 훈련 에러는 일부 기존 기술에서 사용되는 클로소이드 계수를 사용하지 않고 클로소이드 점 사이의 L2 노름(norm)을 사용하여 획득될 수 있다. 따라서, 본 발명에서는 재구성된 측정된 클로소이드 점을, 재구성된 측정된 클로소이드 점을 형성하는 데 초기에 사용된 대응하는 차선 경계 검출점의 실제값과 비교하는 것을 포함하는, 에러를 최소화하는 새로운 방식이 후속된다. 이는 측정된 클로소이드 점의 클로소이드 파라미터의 업데이트된 계수값을 실제값 클로소이드 점의 클로소이드 파라미터의 계수값과 비교하는 것을 포함하는, 기존의 에러 최소화 기술에 비해 더 나은 방식으로 더 적은 수의 사이클로 에러 최소화를 향상시킨다.
추가로, Q와 R은 기본적으로 각각 처리 잡음과 측정 잡음을 나타내기 때문에 Q와 R을 결정하려면 자율 주행 차량에 구성된 하나 이상의 센서에서 데이터를 얻는 것이 필요하다. RNN 또는 LSTM 네트워크와 같은 신경망을 사용하면 신경망에 센서 에러 모델을 포함하는 유연성을 본 발명에 제공할 수 있다. 이러한 센서 에러 모델은 측정과 관련된 잡음의 양, 측정 처리와 관련된 잡음의 양 등과 같은 하나 이상의 센서와 관련된 낮은 수준의 특징을 제공할 수 있다. 이러한 낮은 수준의 특징은 센서 에러 모델을 사용하여 센서 에러를 직접 수정하는 데 도움을 주어, 그 결과 동적으로 결정된 Q와 R 값의 정확도가 향상된다. 이는 결과적으로 최대한 정확하게 차선 추적을 수행하는 데 도움이 된다. 따라서, 신경망과 칼만 필터를 사용하여 클로소이드 파라미터에 기초하여 차선 추적을 수행하면 정확한 차선 추적이 가능할 뿐만 아니라, 잘못된 조향 명령 및 경고 신호 발생을 줄여 자율 주행 차량의 안전성을 향상시킬 수 있다.
서로 통신하는 여러 구성요소를 갖는 일 실시형태에 대한 설명은 이러한 모든 구성요소가 필요하다는 것을 의미하는 것이 아니다. 반대로, 본 발명의 매우 다양한 가능한 실시형태를 예시하기 위해 다양한 선택적 구성요소가 설명된다.
본 발명의 실시형태에 대한 이하의 상세한 설명에서 본 발명의 일부를 형성하고 본 발명을 실시할 수 있는 특정 실시형태를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시형태는 당업자가 본 발명을 실시할 수 있을 만큼 충분히 상세히 설명되고, 다른 실시형태가 활용될 수 있고 본 발명의 범위를 벗어나지 않고 변경이 이루어질 수 있는 것으로 이해된다. 따라서 이하의 설명은 본 발명을 제한하는 의미로 받아들여져서는 안 된다.
도 1은 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적을 위한 예시적인 아키텍처를 도시한다.
아키텍처(100)는 자율 주행 차량(101), 차선 추적 시스템(103) 및 차선 경계 검출 시스템(105), 센서(1131) 내지 센서(113n)(하나 이상의 센서(113)라고도 함) 및 이미지 캡처 디바이스(115)를 포함한다. 일례로서, 자율 주행 차량(101)은 전자 제어 유닛(ECU) 및 자율 주행 차량의 차량 내 네트워크를 통해 통신할 수 있는 시스템과 통합된 자동차, 버스, 트럭, 로리 등일 수 있다. 일부 실시형태에서, 차선 경계 검출 시스템(105)은 통신 네트워크(도 1에는 도시되지 않음)를 통해 차선 추적 시스템(103)과 연관될 수 있다. 통신 네트워크는 유선 통신 네트워크와 무선 통신 네트워크 중 적어도 하나일 수 있다. 일부 실시형태에서, 차선 경계 검출 시스템(105)과 차선 추적 시스템(103) 모두는 자율 주행 차량(101)을 위한 차선 추적을 수행하도록 차량(101)에 구성될 수 있다. 일부 다른 실시형태에서, 차선 경계 검출 시스템(105)과 차선 추적 시스템(103) 모두는 자율 주행 차량(101)을 위한 차선 추적을 수행하기 위해 자율 주행 차량(101)의 ECU와 외부적으로 연관될 수 있다. 또 다른 실시형태에서, 시스템 중 하나는 자율 주행 차량(101)에 구성될 수 있고, 다른 시스템은 자율 주행 차량(101)을 위한 차선 추적을 수행하기 위해 자율 주행 차량(101)의 ECU와 외부적으로 연관될 수 있다.
일부 실시형태에서, 자율 주행 차량(101)은 하나 이상의 센서(113)와 이미지 캡처 디바이스(115)를 갖도록 구성될 수 있다. 자율 주행 차량(101)은 레이저, 광 검출 및 거리 측정(LIDAR), 글로벌 위치 확인 시스템(GPS), 컴퓨터 비전 등과 같은 하나 이상의 센서(113)의 도움으로 환경을 감지할 수 있다. 또한, 이미지 캡처 디바이스(115)는 자율 주행 차량(101)에 장착되어 자율 주행 차량(101)의 전방 영역의 이미지 프레임을 캡처할 수 있다. 일부 실시형태에서, 이미지 캡처 디바이스(115)는 적색-녹색-청색(RGB) 카메라, 단색 카메라, 심도 카메라, 360도 카메라, 야간 투시경 카메라 등을 포함할 수 있지만 이로 국한되지는 않는다. 일부 실시형태에서, 자율 주행 차량(101)에는 하나 초과의 이미지 캡처 디바이스(115)가 장착될 수 있다. 이미지 캡처 디바이스(들)(115)는 자율 주행 차량(101)의 전방 영역이 이미지 프레임에 적절히 포함되도록 자율 주행 차량(101)의 영역에 장착될 수 있다. 예를 들어, 이미지 캡처 디바이스(들)(115)는 자율 주행 차량(101)의 상부, 자율 주행 차량(101)의 헤드라이트 영역, 외부 백미러 등에 장착될 수 있다.
일부 실시형태에서, 차선 추적 시스템(103)은 자율 주행 차량(101)이 주행할 때 동적 환경을 위한 차선 추적 시스템(103)을 전개하기 전에 자율 주행 차량(101)을 위한 차선 추적을 수행하도록 훈련될 수 있는 인공 지능(AI) 기반 시스템이다. 일부 실시형태에서, 훈련 단계 동안 차선 추적 시스템(103)은 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 실제값 및 복수의 차선 경계 검출점에 대응하는 측정값을 수신할 수 있다. 일부 실시형태에서, 실제값은 원래의 값, 즉 실제라고 알려져 있고 직접적인 관찰에 기초하여 제공된 정보를 나타낼 수 있다. 그러나, 측정값은 시스템에 의해 결정되거나 예측되는 값이며, 실제값과 같이 직접적인 관찰에 기초한 것이 아니다. 일부 실시형태에서, 차선 경계는 차선의 한계를 표시하는 라인일 수 있다. 각 차선에는 차선을 둘러싸는 왼쪽 차선 경계와 오른쪽 차선 경계가 있을 수 있다. 일부 실시형태에서, 복수의 차선 경계 검출점은 자율 주행 차량(101)이 이동하는 도로의 경계 영역을 나타내는 점일 수 있다. 다시 말해, 복수의 차선 경계 검출점은 자율 주행 차량(101)이 이동하고 있는 도로에 속하는 복수의 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응한다. 연속적인 차선 경계 검출점과 대응 실제값의 서브세트는 실제값 세트라고 지칭될 수 있고, 연속적인 차선 경계 검출점과 대응 측정값의 서브세트는 측정된 세트라고 지칭될 수 있다. 이후, 차선 추적 시스템(103)은 실제값 세트를 사용하여 실제값 클로소이드 점을 생성하고, 측정된 세트를 사용하여 측정된 클로소이드 점을 생성할 수 있다. 일부 실시형태에서, 이 훈련 단계 동안, 차선 추적 시스템(103)은 실제값 클로소이드 점과 측정된 클로소이드 점을 생성하는 데 각각 필요한 실제값 세트와 측정된 세트를 선택하도록 훈련될 수 있다. 클로소이드 점은 일반적으로 곡률이 원호 길이에 따라 선형으로 변하는 나선형 곡선이며, 이는 자율 주행 차량(101)이 상이한 수평 곡률을 갖는 도로 구간에서 이동할 때 조향 휠의 원활한 움직임을 허용한다. 이후 차선 추적 시스템(103)은 자동 차량(101)이 이동할 차선의 차선 경계를 모델링하기 위해 실제값 클로소이드 점과 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정하도록 훈련될 수 있다. 일부 실시형태에서, 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 자율 주행 차량의 주행 방향에 대한 진행 각도(β)를 포함할 수 있지만 이로 국한되지는 않는다. 일부 실시형태에서, 차선 경계의 초기 곡률(co)은 이미지 프레임에서 결정된 차선의 제1 곡률 각도로 정의될 수 있으며, 차선 경계의 곡률 비율(c1)은 차선의 곡률이 초기 곡률에 비해 이미지 프레임에서 변하는 비율로 정의될 수 있고, 진행 각도(β)는 이 차선에서 자율 주행 차량에 대한 차선의 곡률의 각도로 정의될 수 있다. 이후, 차선 추적 시스템(103)은 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하도록 훈련될 수 있다. 일부 실시형태에서, 차선 추적 시스템(103)은 RNN 또는 장단기 기억(LSTM) 네트워크와 같은 적어도 하나의 신경망을 사용하여 칼만 필터 파라미터를 결정할 수 있다. 칼만 필터 파라미터를 결정할 때, 차선 추적 시스템(103)은 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하도록 훈련될 수 있다. 이후, 차선 추적 시스템(103)은 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하도록 훈련될 수 있다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다. 차선 추적 시스템(103)은 재구성된 클로소이드 점과 대응 실제값 세트 사이의 차이를 계산함으로써 훈련 에러를 결정할 수 있다. 훈련 단계 동안, 차선 추적 시스템(103)은 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 결정된 훈련 에러를 최소화할 수 있다.
이렇게 훈련된 차선 추적 시스템(103)은 자율 주행 차량(101)이 도로 위에서 이동할 때 동적 환경에서 사용될 수 있다. 일부 실시형태에서, 차선 추적 시스템(103)은 도 1에 도시된 바와 같이 프로세서(107), 입력/출력(I/O) 인터페이스(109) 및 메모리(111)를 포함할 수 있다. 차선 추적 시스템(103)의 I/O 인터페이스(109)는 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신할 수 있다. 복수의 차선 경계 검출점은 자율 주행 차량(101)이 이동하는 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응한다. 프로세서(107)는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함하는 측정된 세트에 기초하여 측정된 클로소이드 점을 생성할 수 있다. 일부 실시형태에서, 프로세서(107)는 측정된 세트를 형성하기 위해 연속적인 차선 경계 검출점의 서브세트를 동적으로 선택할 수 있다. 일부 실시형태에서, 프로세서(107)는 차선의 차선 경계를 모델링하기 위해 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정할 수 있다. 이후, 프로세서(107)는 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하고, 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트할 수 있다. 마지막으로, 프로세서(107)는 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성할 수 있다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다.
도 2a는 본 발명의 일부 실시형태에 따른 자율 주행 차량을 위한 차선 추적 시스템(103)의 상세한 블록도를 도시한다.
일부 구현예에서, 차선 추적 시스템(103)은 데이터(203) 및 모듈(205)을 포함할 수 있다. 일례로서, 데이터(203)는 도 2a에 도시된 바와 같이 차선 추적 시스템(103)의 메모리(111)에 저장된다. 일 실시형태에서, 데이터(203)는 훈련 데이터(207), 클로소이드 점 데이터(209), 칼만 필터 파라메트릭 데이터(211), 재구성된 데이터(213) 및 기타 데이터(215)를 포함할 수 있다. 예시된 도 2a에서, 모듈(205)이 본 명세서에 상세히 설명된다.
일부 실시형태에서, 데이터(203)는 다양한 데이터 구조의 형태로 메모리(111)에 저장될 수 있다. 추가로, 데이터(203)는 관계형 또는 계층형 데이터 모델과 같은 데이터 모델을 사용하여 구성될 수 있다. 기타 데이터(215)는 차선 추적 시스템(103)의 다양한 기능을 수행하기 위한 모듈(205)에 의해 생성된 임시 데이터와 임시 파일을 포함하는 데이터를 저장할 수 있다.
일부 실시형태에서, 훈련 데이터(207)는 자율 주행 차량(101)의 차선 추적을 위해 차선 추적 시스템(103)을 훈련하는데 사용되는 데이터를 포함할 수 있다. 예를 들어, 훈련 데이터(207)는 차선 추적 시스템(103)을 훈련하는 데 사용된 복수의 차선 경계 검출점에 대응하는 실제값과, 복수의 차선 경계 검출점에 대응하는 측정값, 실제값 세트와 측정된 세트를 사용하여 각각 생성된 실제값 클로소이드 점과 측정된 클로소이드 점, 측정된 클로소이드 점에 대해 결정된 칼만 필터 파라미터 및 클로소이드 파라미터의 계수값, 클로소이드 파라미터의 업데이트된 계수값, 재구성된 측정된 클로소이드 점, 및 훈련 에러를 포함할 수 있지만 이로 국한되지는 않는다.
일부 실시형태에서, 클로소이드 점 데이터(209)는 자율 주행 차량(101)이 도로 위에서 이동할 때 동적 환경에서 생성된 클로소이드 점과 관련된 데이터를 포함할 수 있다. 예로서, 클로소이드 점 데이터(209)는 측정된 클로소이드 점, 측정된 클로소이드 점을 생성하는 데 사용된 연속적인 차선 경계 검출점과 대응 측정 값의 복수의 서브세트를 포함하는 측정된 세트, 및 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 포함할 수 있지만 이로 국한되지는 않는다.
일부 실시형태에서, 칼만 필터 파라메트릭 데이터(211)는 RNN 또는 단기간 기억(LSTM) 네트워크를 포함할 수 있는 적어도 하나의 신경망을 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대해 결정된 칼만 필터 파라미터를 포함할 수 있지만 이로 국한되지는 않는다.
일부 실시형태에서, 적어도 하나의 신경망은 시간 기억을 갖는 신경망을 포함할 수 있다. 시간 기억이 있는 신경망은 장기간 의존성을 학습할 수 있는 특별한 종류의 회귀 신경망(RNN)일 수 있다. 적어도 하나의 신경망은 장기간 의존성 문제를 피하도록 명시적으로 설계된 LSTM을 포함할 수 있다. 모든 RNN은 신경망의 반복 모듈 체인 형태를 갖는다. 표준 RNN에서 이 반복 모듈은 단일 쌍곡탄젠트 계층(tanh layer)과 같은 매우 간단한 구조를 갖는다. LSTM도 또한 이러한 체인형 구조를 갖지만, LSTM의 반복 모듈은 일반 RNN에 비해 다른 구조를 갖는다. 단일 신경망 계층을 갖는 대신 특별한 방식으로 상호 작용하는 4개의 신경망이 있다. LSTM은 게이트라고 불리는 구조에 의해 신중하게 규제되는 셀 상태에 정보를 추가하거나 제거하는 기능을 가지고 있다. 게이트는 선택적으로 정보를 전달하는 방법이다. 예를 들어, LSTM에는 셀 상태를 보호하고 제어하기 위해 다음 세 개의 게이트, 즉 (a) 입력 게이트(셀 상태에 어떤 새로운 정보를 저장할지 결정함), (b) 포겟 게이트(Forget Gate)(셀 상태에서 어떤 정보를 버릴지 결정함), 및 (c) 출력 게이트(어떤 정보가 출력될지 결정함)가 있다.
일부 실시형태에서, 재구성된 데이터(213)는 재구성된 측정된 클로소이드 점, 및 측정된 클로소이드 점을 재구성하는 데 사용되는 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 업데이트된 계수값을 포함할 수 있지만 이로 국한되는 것은 아니다.
일부 실시형태에서, 메모리(111)에 저장된 데이터(203)는 차선 추적 시스템(103)의 모듈(205)에 의해 처리될 수 있다. 모듈(205)은 메모리(111) 내에 저장될 수 있다. 일례에서, 차선 추적 시스템(103)의 프로세서(107)에 통신 가능하게 결합된 모듈(205)은 도 2a에 도시된 바와 같이 메모리(111) 외부에 존재할 수도 있고 하드웨어로 구현될 수도 있다. 본 명세서에서 사용된 모듈(205)이라는 용어는 주문형 집적 회로(ASIC), 전자 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서(공유, 전용 또는 그룹) 및 메모리, 조합 논리 회로, 및/또는 설명된 기능을 제공하는 다른 적절한 구성요소를 나타낼 수 있다.
일부 실시형태에서, 모듈(205)은, 예를 들어, 수신 모듈(221), 계수값 결정 모듈(223), 칼만 필터 결정 모듈(225), 재구성 모듈(227), 학습 모듈(229) 및 기타 모듈(231)을 포함할 수 있다. 다른 모듈(231)은 차선 추적 시스템(103)의 다양한 기타 기능을 수행하는 데 사용될 수 있다. 이러한 전술한 모듈(205)은 단일 모듈 또는 다른 모듈의 조합으로 표현될 수 있는 것으로 이해된다.
차선 추적 시스템(103)은 자율 주행 차량(101)이 주행할 때 동적 환경을 위한 차선 추적 시스템(103)을 전개하기 전에 자율 주행 차량(101)을 위한 차선 추적을 수행하도록 훈련될 수 있다.
일부 실시형태에서, 훈련 단계 동안, 수신 모듈(221)은 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 실제값 및 복수의 차선 경계 검출점에 대응하는 측정값을 수신할 수 있다. 일부 실시형태에서, 복수의 차선 경계 검출점은 자율 주행 차량(101)이 이동하는 도로에 속하는 복수의 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응한다. 일부 실시형태에서, 차선 경계 검출 시스템(105)은 자율 주행 차량(101)에 구성된 하나 이상의 센서(113)로부터 수신된 차선 데이터와, 실시간으로 수신된 차선의 이미지 프레임 중 적어도 하나를 사용하여 복수의 차선 경계 검출점을 결정할 수 있다. 일부 실시형태에서, 차선의 이미지 프레임은 자율 주행 차량(101)과 연관된 이미지 캡처 디바이스(115)로부터 수신된다. 일부 다른 실시형태에서, 차선 데이터와 차선의 이미지 프레임 중 적어도 하나는 차선 데이터와 실시간으로 캡처된 이미지 프레임을 저장하도록 구성된 데이터베이스로부터 검색된다. 일례로, 차선 데이터는 차선 표시, 차선 패턴, 차선 색상, 차선 수 등을 포함할 수 있으나, 이로 국한되지는 않는다. 도 2b는 예시적인 실제값에 따라 연속적으로 위치된 예시적인 복수의 차선 경계 검출점(233)을 나타내는 예시적인 도면을 보여준다. 예시적인 복수의 차선 경계 검출점(233)에 대응하는 실제값은 원래의 값이므로, 도 2b에서 차선 위에 흰색으로 표시된 라인은 도로의 차선 위에 적절하게 중첩되는 평활한 라인이다. 도 2c는 예시적인 측정값에 따라 연속적으로 위치된 예시적인 복수의 차선 경계 검출점(235)을 나타내는 예시적인 도면을 보여준다. 예시적인 복수의 차선 경계 검출점(235)에 대응되는 측정값은 훈련받는 차선 추적 시스템(103)에 의해 측정되므로, 도 2b에서 차선 위에 흰색으로 표시된 라인은 평활하지 않고, 도로의 차선 위에 중첩되지도 않는다.
또한, 일부 실시형태에서, 훈련 단계 동안, 계수값 결정 모듈(223)은 연속적인 차선 경계 검출점과 대응 실제값의 서브세트를 실제값 세트로 선택하고, 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 측정된 세트로 선택할 수 있다. 계수값 결정 모듈(223)은 실제값 세트를 사용하여 실제값 클로소이드 점을 생성하고, 측정된 세트를 사용하여 측정된 클로소이드 점을 생성할 수 있다. 일부 실시형태에서, 클로소이드 점은 일반적으로 미리 정해진 개수의 연속적인 차선 경계 검출점을 사용하여 생성된다. 따라서, 자율 주행 차량(101)이 도로의 차선을 따라 이동함에 따라, 실제값 세트와 측정된 세트는 각 실제값 클로소이드 점과 측정된 클로소이드 점을 생성하기 위해 차례로 연속적으로 선택될 것이다. 실제값의 "N"개의 차선 경계 검출점을 포함하는 예시적인 실제값 세트는 아래에 제시된 바와 같을 수 있다:
[(x0,y0), (x1,y1), (x2,y2), ..., (xn-1,yn-1)]
유사하게, 측정값의 "M"개의 차선 경계 검출점을 포함하는 예시적인 실제값 세트는 아래에 제시된 바와 같을 수 있다:
[(x0,y0), (x1,y1), (x2,y2), ..., (xm-1,ym-1)]
이후, 훈련 단계 동안, 계수값 결정 모듈(223)은 자동 차량(101)이 이동할 차선의 차선 경계를 모델링하기 위해 실제값 클로소이드 점과 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정하도록 훈련될 수 있다. 일부 실시형태에서, 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 자율 주행 차량의 주행 방향에 대한 진행 각도(β)를 포함할 수 있지만 이로 국한되지는 않는다. 일부 실시형태에서, 차선 경계의 초기 곡률(co)은 이미지 프레임에서 결정된 차선의 제1 곡률 각도로 정의될 수 있고, 차선 경계의 곡률 비율(c1)은 차선의 곡률이 초기 곡률에 비해 이미지 프레임에서 변하는 비율로 정의될 수 있고, 진행 각도(β)는 자율 주행 차량이 차선의 곡률에 대해 앞으로 이동할 것으로 예상되는 각도로 정의될 수 있다.
일부 실시형태에서, 클로소이드 점은 닫힌 형태로 평가될 수 없기 때문에, 계수값 결정 모듈(223)은 아래 수식 1을 사용하여 실제값 클로소이드 점과 측정된 클로소이드 점을 결정하도록 훈련될 수 있다.
----- 수식 1
위의 수식 1에서,
- x와 y는 실제값 세트 또는 측정된 세트 중 하나의 세트의 차선 경계 검출점을 나타내고;
- co은 차선 경계의 초기 곡률을 나타내고;
- c1은 차선 경계의 곡률 비율을 나타내고;
- β는 자율 주행 차량의 주행 방향에 대한 방향 각도를 나타내며;
- x오프셋은 차선 경계와 자율 주행 차량(101)(자기 차량) 사이의 초기 측면 오프셋(initial lateral offset)을 나타낸다.
일부 실시형태에서, 계수값 결정 모듈(223)은 아래의 수식 2를 사용하여 실제값 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정하도록 훈련될 수 있다.
----- 수식 2
위의 수식 2에서 A는 다음과 같다:
실제값 세트의 차선 검출 경계점의 델타 값은 아래에 주어진다:
co은 차선 경계의 초기 곡률을 나타내고;
c1은 차선 경계의 곡률 비율을 나타내며;
β는 자율 주행 차량의 주행 방향에 대한 방향 각도를 나타낸다.
위의 수식 2를 사용하여 계수값 결정 모듈(223)은 또한 측정된 클로소이드 점의 클로소이드 파라미터의 계수값을 결정할 수 있다. 일부 실시형태에서, 실제값 클로소이드 점과 측정된 클로소이드 점의 클로소이드 파라미터의 계수값은 훈련 단계 동안 자율 주행 차량(101)이 이동하는 차선의 경계 상태를 나타낸다.
이후, 칼만 필터 결정 모듈(225)은 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하도록 훈련될 수 있다. 일부 실시형태에서, 칼만 필터 결정 모듈(225)은 RNN 또는 장단기 기억(LSTM) 네트워크와 같은 적어도 하나의 신경망을 사용하여 칼만 필터 파라미터를 결정할 수 있다. 칼만 필터 결정 모듈(225)은 하나 이상의 신경망을 사용하여 칼만 필터 파라미터를 결정할 수 있다. 일부 실시형태에서, 칼만 필터 결정 모듈(225)은 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 제1 신경망에 대한 입력으로서 초기에 제공할 수 있다. 일부 실시형태에서, 제1 신경망은 과거의 측정된 세트와 실제값 세트를 사용하여 형성된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 과거 계수값에 기초하여 훈련될 수 있다. 이후, 칼만 필터 결정 모듈(225)은 제1 신경망을 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 사용하여 측정 잡음 공분산 행렬(R)을 결정할 수 있다. 제1 신경망은 장기간 의존성을 학습할 수 있다. 제1 신경망은 RNN 또는 LSTM 네트워크를 포함할 수 있다. "R"을 결정할 때, 칼만 필터 결정 모듈(225)은 차선을 따라 이동하는 자율 주행 차량(101)의 속도와, 연속적인 이미지 프레임 간의 시간 차에 기초하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값의 하나의 이미지 프레임에서부터 다른 이미지 프레임으로의 상태 전이(Yp)를 예측할 수 있다. 일부 실시형태에서, 상태 전이는 아래에 제시된 행렬을 사용하여 예측될 수 있다:
위의 행렬에서,
"v"는 자율 주행 차량의 속도를 나타내고;
"Δt"는 연속적인 이미지 프레임 사이의 시간 차를 나타낸다.
이후, 칼만 필터 결정 모듈(225)은 예측된 상태 전이를 제2 신경망에 대한 입력으로 사용하여 처리 잡음 공분산 행렬(Q)을 결정할 수 있다. 일부 실시형태에서, 제2 신경망은 또한 과거의 자기 차량 속도 값과 시간 차 값을 사용하여 훈련된다. 제2 신경망은 장기간 의존성을 학습할 수 있다. 제2 신경망은 RNN 또는 LSTM 네트워크를 포함할 수 있다. 결정된 처리 잡음 공분산 행렬(Q)을 사용하여 칼만 필터 결정 모듈(225)은 예측된 상태 전이의 에러 공분산(Pp)을 예측할 수 있다. 마지막으로, 칼만 필터 결정 모듈(225)은 예측된 상태 전이(Yp)와 공분산(Pp) 및 결정된 측정 잡음 공분산 행렬(R), 및 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 기초하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정할 수 있다. 일부 실시형태에서, 광범위하게 칼만 필터는 상태 벡터(y), 상태 전이 행렬(f), 상태 에러 공분산 행렬(P), 처리 잡음 공분산 행렬(Q), 칼만 이득(K), 측정 잡음 공분산 행렬(R), 및 시간(t)에서의 측정값(z)(복수의 차선 경계 검출점에 대응하는 측정값이라고도 함)을 포함할 수 있지만 이로 국한되지는 않는다. 위에서 논의된 바와 같이, 칼만 필터 결정 모듈(225)은 제1 신경망과 제2 신경망을 사용하여 각각 Q와 R을 학습할 수 있다. 아래 주어진 수식 1 내지 수식 5는 나머지 칼만 필터 파라미터를 결정하는 것을 나타낸다. 수식 1 및 수식 2는 칼만 필터 파라미터를 예측하는 것과 관련되고, 수식 3 내지 수식 5는 칼만 필터 파라미터를 업데이트하는 것과 관련된다.
아래 수식 1에서, 는 시점 "t"에서 예측된 상태 벡터를 나타내고, 는 상태 전이 행렬이다.
..... 수식 1
아래 수식 2에서, 는 시점 "t"에서 예측된 상태 에러 공분산 행렬을 나타내고, ""은 시점(t-1)에서 결정된 상태 에러 공분산 행렬을 나타내고, "F"는 "f"의 행렬 표현이고, "Q"는 처리 잡음 공분산 행렬(Q)을 나타낸다.
..... 수식 2
아래 수식 3에서, 는 시간 "t"에서 예측된 상태 에러 공분산 행렬을 나타내고, "R"은 측정 잡음 공분산 행렬을 나타내며, ""는 시간 "t"에서 칼만 이득을 나타낸다.
..... 수식 3
아래 수식 4에서, 는 시간 "t"에서 업데이트된 상태 벡터를 나타내고, 는 시간 "t"에서 예측된 상태 벡터를 나타내고, ""는 시간 "t"에서의 칼만 이득을 나타내고, "z"는 시간 "t"에서 복수의 차선 경계 검출점에 대응하는 측정값이다.
..... 수식 4
아래 수식 5에서, 는 시간 "t"에서 예측된 상태 에러 공분산 행렬을 나타내고, 는 시간 "t"에서 업데이트된 상태 에러 공분산 행렬을 나타내고, ""는 시간 "t"에서의 칼만 이득을 나타내고, "I"는 단위 행렬을 나타낸다.
..... 수식 5
칼만 필터 파라미터를 결정할 때, 재구성 모듈(227)은 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하도록 훈련될 수 있다. 예로서, 칼만 필터 파라미터에 기초하여 업데이트된 클로소이드 파라미터의 계수값은 아래에 제시된 바와 같을 수 있다:
위의 예에서, KF는 칼만 필터 파라미터를 나타낼 수 있고, 접미사 "KF"가 붙은 클로소이드 파라미터는 결정된 칼만 필터 파라미터가 클로소이드 파라미터의 계수값을 업데이트하기 위해 클로소이드 파라미터에 적용됨을 나타낸다.
일부 실시형태에서, 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트할 때, 재구성 모듈(227)은 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하도록 훈련될 수 있다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다. 일부 실시형태에서, 재구성 모듈(227)은 차선 경계와 자기 차량 사이의 초기 측면 오프셋을 재구성된 측정된 클로소이드 점에 추가할 수 있다. 예로서, 재구성된 클로소이드 점에 기초하여 형성된 예시적인 추적 및 모델링된 차선(237)은 도 2d에 제시된 바와 같다. 추가 예에서, 도 2e는 자율 주행 차량(101)이 이동하는 도로에 속하는, 추적된 복수의 예시적인 차선을 보여준다. 도 2e에서, 참조 부호 235로 표시된 라인은 예시적인 복수의 차선 경계 검출점(235)에 대응하는 초기 측정값을 나타내고, 참조 부호 237로 표시된 라인은 재구성된 측정된 클로소이드 점에 기초하여 형성된 예시적인 추적 및 모델링된 차선(237)을 나타낸다. 따라서, 본 발명에서 차선 추적 시스템(103)은 자율 주행 차량(101)이 이동하는 차선의 왼쪽 경계 차선과 오른쪽 경계 차선을 의미하는 자기 차선을 추적할 뿐만 아니라, 도 2e에 도시된 바와 같이 도로의 다른 차선도 추적한다.
또한, 학습 모듈(229)은 재구성된 클로소이드 점과 대응 실제값 세트 간의 차이를 계산하여 훈련 에러를 결정할 수 있다. 재구성된 클로소이드 점과 대응 실제값 세트 사이의 차이를 계산함으로써, 학습 모듈(229)은 에러 최소화를 향상시켜 동적 환경에 전개될 때 자율 주행 차량(101)의 차선 추적을 수행하기 위해 재구성된 측정된 클로소이드 점을 정확하게 결정할 수 있게 할 수 있다. 훈련 단계 동안, 학습 모듈(229)은 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 결정된 훈련 에러를 최소화할 수 있다.
일부 실시형태에서, 이렇게 훈련된 차선 추적 시스템(103)은 자율 주행 차량(101)이 도로에서 이동할 때 동적 환경에서 사용될 수 있다.
일부 실시형태에서, 동적 환경에서 수신 모듈(221)은 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신할 수 있다. 복수의 차선 경계 검출점은 자율 주행 차량(101)이 현재 이동하고 있는 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응한다.
이후, 계수값 결정 모듈(223)은 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함하는 측정된 세트에 기초하여 측정된 클로소이드 점을 생성할 수 있다. 일부 실시형태에서, 계수값 결정 모듈(223)은 자율 주행 차량(101)이 도로 위에서 이동할 때 측정된 세트를 형성하기 위해 연속적인 차선 경계 검출점의 서브세트를 동적으로 선택할 수 있다. 그런 다음 계수값 결정 모듈(223)은 차선의 차선 경계를 모델링하기 위해 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정할 수 있다.
또한, 일부 실시형태에서 칼만 필터 결정 모듈(225)은 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정할 수 있다. 일부 실시형태에서, 칼만 필터 결정 모듈(225)은 예측된 상태 전이(Yp)와 공분산(Pp), 결정된 측정 잡음 공분산 행렬(R) 및 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 기초하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정할 수 있다.
이후, 재구성 모듈(227)은 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트할 수 있다. 마지막으로, 재구성 모듈(227)은 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성할 수 있다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다.
도 3a는 본 발명의 일부 실시형태에 따라 자율 주행 차량을 위한 차선 추적 시스템을 훈련하는 방법을 나타내는 흐름도를 도시한다.
도 3a에 도시된 바와 같이, 방법(300a)은 자율 주행 차량(101)을 위한 차선 추적 시스템을 훈련하는 방법을 나타내는 하나 이상의 블록을 포함한다. 방법(300a)은 컴퓨터 실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 컴퓨터 실행 가능 명령어는 기능을 수행하거나 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조, 프로시저, 모듈 및 기능을 포함할 수 있다.
방법(300a)을 설명하는 순서는 이로 국한되는 것으로 해석되도록 의도되지 않으며, 설명된 방법 블록 중 임의의 개수가 방법(300a)을 구현하기 위해 임의의 순서로 결합될 수 있다. 추가로, 개별 블록은 본 명세서에 설명된 주제의 정신과 범위를 벗어나지 않고 방법에서 삭제될 수 있다. 또한, 방법(300a)은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.
블록(301)에서, 방법(300a)은 훈련 단계 동안 차선 추적 시스템(103)의 프로세서(107)가 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 실제값 및 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계를 포함할 수 있다. 일부 실시형태에서, 복수의 차선 경계 검출점은 차량(101)에 구성된 하나 이상의 센서(113)로부터 수신된 차선 데이터와, 실시간으로 수신된 차선의 이미지 프레임 중 적어도 하나를 사용하여 결정된다. 일부 실시형태에서, 차선의 이미지 프레임은 자율 주행 차량(101)과 연관된 이미지 캡처 디바이스(115)로부터 수신된다. 일부 다른 실시형태에서, 차선의 이미지 프레임과 차선 데이터 중 적어도 하나는 실시간으로 캡처된 이미지 프레임과 차선 데이터를 저장하도록 구성된 데이터베이스로부터 검색된다. 데이터베이스는 차선 추적 시스템(103)과 연관될 수 있다.
블록(303)에서, 방법(300a)은 훈련 단계 동안 프로세서(107)가 차선의 차선 경계를 모델링하기 위해 실제값 세트와 측정된 세트를 사용하여 각각 형성된 실제값 클로소이드 점과 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정하는 단계를 포함할 수 있다. 일부 실시형태에서, 프로세서(107)는 실제값 세트를 형성하기 위해 연속적인 차선 경계 검출점과 대응 실제 값의 서브세트를 선택할 수 있고, 측정된 세트를 형성하기 위해 연속적인 차선 경계 검출점과 대응 측정 값의 서브세트를 선택할 수 있다. 일부 실시형태에서, 실제값 세트와 측정된 세트를 형성하기 위해 선택된 연속적인 차선 경계 검출점의 개수는 미리 정해질 수 있다. 그러나, 선택은 프로세서(107)에 의해 실시간으로 수행된다. 일부 다른 실시형태에서, 실제값 세트와 측정된 세트를 형성하기 위해 선택된 연속적인 차선 경계 검출점의 개수는 각 이미지 프레임마다 프로세서(107)에 의해 요구 사항에 따라 결정될 수 있다. 일부 실시형태에서, 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 차량의 주행 방향에 대한 진행 각도(β)를 포함할 수 있지만 이로 국한되지는 않는다.
블록(305)에서, 방법(300a)은 훈련 단계 동안 프로세서(107)가 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계를 포함할 수 있다. 일부 실시형태에서, 프로세서(107)는 RNN 또는 장단기 기억(LSTM) 네트워크와 같은 신경망을 사용하여 칼만 필터 파라미터를 결정할 수 있다.
블록(307)에서, 방법(300a)은 훈련 단계 동안 프로세서(107)가 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계를 포함할 수 있다.
블록(309)에서, 방법(300a)은 훈련 단계 동안 프로세서(107)가 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하는 단계를 포함한다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다.
블록(311)에서, 방법(300a)은 훈련 단계 동안 프로세서(107)가 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 재구성된 측정된 클로소이드 점과 대응 실제값 세트 사이의 차이에 기초하여 훈련 에러를 최소화하는 단계를 포함한다. 이러한 방식으로 각 사이클마다 프로세서(107)는 훈련되는 차선 추적 시스템(103)을 사용하여 차선 추적과 관련된 에러를 줄인다. 일부 실시형태에서, 프로세서(107)는 차선 경계와 자율 주행 차량(101) 사이의 초기 측면 오프셋을 재구성된 측정된 클로소이드 점에 추가할 수 있다.
도 3b는 본 발명의 일부 실시형태에 따른 자율 주행 차량을 위한 차선 추적 방법을 나타내는 흐름도를 도시한다.
도 3b에 예시된 바와 같이, 방법(300b)은 자율 주행 차량(101)을 위한 차선 추적 방법을 나타내는 하나 이상의 블록을 포함한다. 방법(300b)은 컴퓨터 실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 컴퓨터 실행 가능 명령어는 기능을 수행하거나 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조, 프로시저, 모듈 및 기능을 포함할 수 있다.
방법(300b)을 설명하는 순서는 이로 국한되는 것으로 해석되도록 의도되지 않으며, 설명된 방법 블록 중 임의의 개수가 방법(300b)을 구현하기 위해 임의의 순서로 결합될 수 있다. 추가로, 개별 블록은 본 명세서에 설명된 주제의 정신과 범위를 벗어나지 않고 방법에서 삭제될 수 있다. 또한, 방법(300b)은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.
블록(313)에서, 방법(300b)은 자율 주행 차량(101)이 도로 위에서 이동할 때 동적 환경에서 차선 추적 시스템(103)의 프로세서(107)가 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계를 포함할 수 있다. 일부 실시형태에서, 복수의 차선 경계 검출점은 자율 주행 차량(101)에 구성된 하나 이상의 센서(113)로부터 수신된 차선 데이터와, 실시간으로 수신된 차선의 이미지 프레임 중 적어도 하나를 사용하여 결정된다. 일부 실시형태에서, 프로세서(107)는 자율 주행 차량(101)과 연관된 이미지 캡처 디바이스(115)로부터 차선의 이미지 프레임을 수신할 수 있다. 일부 다른 실시형태에서, 프로세서(107)는 차선 데이터와 실시간 캡처된 이미지 프레임을 저장하도록 구성된 데이터베이스로부터 차선 데이터와 차선의 이미지 프레임 중 적어도 하나를 검색할 수 있다. 데이터베이스는 차선 추적 시스템(103)과 연관될 수 있다.
블록(315)에서, 방법(300b)은 동적 환경에서 프로세서(107)가 차선의 차선 경계를 모델링하기 위해 측정된 세트를 사용하여 각각 형성된 측정된 클로소이드 점에 대한 클로소이드 파라미터의 계수값을 결정하는 단계를 포함할 수 있다. 일부 실시형태에서, 프로세서(107)는 측정된 세트를 형성하기 위해 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 선택할 수 있다. 일부 실시형태에서, 측정된 세트를 형성하기 위해 선택된 연속적인 차선 경계 검출점의 개수는 미리 정해질 수 있다. 그러나, 선택은 프로세서(107)에 의해 실시간으로 수행된다. 일부 다른 실시형태에서, 측정된 세트를 형성하기 위해 선택된 연속적인 차선 경계 검출점의 개수는 각 이미지 프레임마다 프로세서(107)에 의해 요구 사항에 따라 결정될 수 있다. 일부 실시형태에서, 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 차량의 주행 방향에 대한 진행 각도(β)를 포함할 수 있지만 이로 국한되지는 않는다.
블록(317)에서, 방법(300b)은 동적 환경에서 프로세서(107)가 차선의 차선 경계를 추적하기 위해 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계를 포함할 수 있다. 일부 실시형태에서, 프로세서(107)는 장기간 의존성을 학습할 수 있는 신경망, 예를 들어, RNN 또는 장단기 기억(LSTM) 네트워크를 사용하여 칼만 필터 파라미터를 결정할 수 있다.
블록(319)에서, 방법(300b)은 동적 환경에서 프로세서(107)가 대응하는 칼만 필터 파라미터를 사용하여 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계를 포함할 수 있다.
블록(321)에서, 방법(300b)은 동적 환경에서 프로세서(107)가 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 측정된 클로소이드 점을 재구성하는 단계를 포함한다. 일부 실시형태에서, 각 재구성된 측정된 클로소이드 점은 차선 추적 시스템(103)이 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 한다.
도 4는 본 발명에 따른 실시형태를 구현하기 위한 예시적인 컴퓨터 시스템의 블록도이다.
일부 실시형태에서, 도 4는 본 발명에 따른 실시형태를 구현하기 위한 예시적인 컴퓨터 시스템(400)의 블록도를 도시한다. 일부 실시형태에서, 컴퓨터 시스템(400)은 도 4에 도시된 바와 같이 자율 주행 차량을 위한 차선 추적을 위한 차선 추적 시스템(103)일 수 있다. 컴퓨터 시스템(400)은 중앙 처리 유닛("CPU" 또는 "프로세서")(402)을 포함할 수 있다. 프로세서(402)는 사용자 또는 시스템 생성 비즈니스 처리를 실행하기 위한 프로그램 구성요소를 실행하기 위한 적어도 하나의 데이터 프로세서를 포함할 수 있다. 사용자에는 사람, 본 발명에 포함된 것과 같은 디바이스를 사용하는 사람, 또는 이러한 디바이스 자체가 포함될 수 있다. 프로세서(402)는 통합 시스템 (버스) 제어기, 메모리 관리 제어 유닛, 부동 소수점 유닛, 그래픽 처리 유닛, 디지털 신호 처리 유닛 등과 같은 특수 처리 유닛을 포함할 수 있다.
프로세서(402)는 I/O 인터페이스(401)를 통해 입력 디바이스(411) 및 출력 디바이스(412)와 통신하도록 배치될 수 있다. I/O 인터페이스(401)는 오디오, 아날로그, 디지털, 스테레오, IEEE-1394, 직렬 버스, 범용 직렬 버스(USB), 적외선, PS/2, BNC, 동축, 컴포넌트, 컴포지트, 디지털 비주얼 인터페이스(DVI), 고화질 멀티미디어 인터페이스(HDMI), 무선 주파수(RF) 안테나, S-비디오, 비디오 그래픽 어레이(VGA), IEEE 802.n/b/g/n/x, 블루투스, 셀룰러(예를 들어, 코드 분할 다중 접속(CDMA), 고속 패킷 액세스(HSPA+), 글로벌 이동 통신 시스템(GSM), 롱텀 에볼루션(LTE), WiMax 등) 등을 포함하지만 이로 국한되지 않는 통신 프로토콜/방법을 사용할 수 있다.
I/O 인터페이스(401)를 사용하여, 컴퓨터 시스템(400)은 입력 디바이스(411) 및 출력 디바이스(412)와 통신할 수 있다.
일부 실시형태에서, 프로세서(402)는 네트워크 인터페이스(403)를 통해 통신 네트워크(409)와 통신하도록 배치될 수 있다. 네트워크 인터페이스(403)는 통신 네트워크(409)와 통신할 수 있다. 네트워크 인터페이스(403)는 직접 연결, 이더넷(예를 들어, 연선 10/100/1000 베이스 T), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 토큰 링, IEEE 802.11a/b/g/n/x 등을 포함하지만 이로 국한되지 않는 연결 프로토콜을 사용할 수 있다. 네트워크 인터페이스(403)와 통신 네트워크(409)를 사용하여, 컴퓨터 시스템(400)은 차선 경계 검출 시스템(105), 하나 이상의 센서(113) 및 이미지 캡처 디바이스(115)와 통신할 수 있다. 일부 실시형태에서, 차선 추적 시스템(103)은 데이터베이스(도 4에는 도시되지 않음)와 연관될 수도 있다. 통신 네트워크(409)는 자율 주행 차량 내에서 인트라넷 또는 근거리 네트워크(LAN), 폐쇄 영역 네트워크(CAN) 등과 같은 다양한 유형의 네트워크 중 하나로 구현될 수 있다. 통신 네트워크(409)는 서로 통신하기 위해 다양한 프로토콜, 예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP), CAN 프로토콜, 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 무선 애플리케이션 프로토콜(WAP) 등을 사용하는 다양한 유형의 네트워크의 연관을 나타내는 공유 네트워크 또는 전용 네트워크일 수 있다. 또한, 통신 네트워크(409)는 라우터, 브리지, 서버, 컴퓨팅 디바이스, 저장 디바이스 등을 포함한 다양한 네트워크 디바이스를 포함할 수 있다. 하나 이상의 센서(113)는 광 검출 및 거리 측정(LIDAR) 시스템, 글로벌 위치 확인 시스템(GPS), 레이저 등을 포함할 수 있지만 이로 국한되지는 않는다. 일부 실시형태에서, 프로세서(402)는 저장 인터페이스(404)를 통해 메모리(405)(예를 들어, 도 4에 도시되지 않은 RAM, ROM 등)와 통신하도록 배치될 수 있다. 저장 인터페이스(404)는 직렬 고급 기술 연결(SATA), 통합 드라이브 전자 장치(IDE), IEEE-1394, 범용 직렬 버스(USB), 파이버 채널, 소형 컴퓨터 시스템 인터페이스(SCSI) 등과 같은 연결 프로토콜을 사용하여 메모리 드라이브, 이동식 디스크 드라이브 등을 포함하되 이로 국한되지 않는 메모리(405)에 연결될 수 있다. 메모리 드라이브는 드럼, 자기 디스크 드라이브, 광자기 드라이브, 광학 드라이브, 독립 디스크 중복 어레이(RAID), 솔리드 스테이트 메모리 디바이스, 솔리드 스테이트 드라이브 등을 추가로 포함할 수 있다.
메모리(405)는 사용자 인터페이스(406), 운영 체제(407), 웹 브라우저(408) 등을 포함하되 이로 국한되지 않는 프로그램 또는 데이터베이스 구성요소의 세트를 저장할 수 있다. 일부 실시형태에서, 컴퓨터 시스템(400)은 본 명세서에 설명된 바와 같이 데이터, 변수, 기록 등과 같은 사용자/애플리케이션 데이터를 저장할 수 있다. 이러한 데이터베이스는 오라클(Oracle) 또는 시베이스(Sybase)와 같이 내결함성, 관계형, 확장 가능하고 안전한 데이터베이스로 구현될 수 있다.
운영 체제(407)는 컴퓨터 시스템(400)의 자원 관리 및 동작을 용이하게 할 수 있다. 운영 체제(407)의 예로는 APPLE® MACINTOSH® OS X®, UNIX®, UNIX 유사 시스템 배포판(예를 들어, BERKELEY SOFTWARE DISTRIBUTION®(BSD), FREEBSD®, NETBSD®, OPENBSD 등), LINUX® 배포판(예를 들어, RED HAT®, UBUNTU®, KUBUNTU® 등), IBM®OS/2®, MICROSOFT® WINDOWS®(XP®, VISTA®/7/8, 10 등), APPLE® IOS®, GOOGLETM ANDROIDTM, BLACKBERRY® OS 등이 포함되지만 이로 국한되지는 않는다. 사용자 인터페이스(406)는 텍스트 또는 그래픽 기능을 통해 프로그램 구성요소의 표시, 실행, 상호 작용, 조작 또는 동작을 용이하게 할 수 있다. 예를 들어, 사용자 인터페이스(406)는 커서, 아이콘, 체크박스, 메뉴, 스크롤러, 윈도우즈, 위젯 등과 같은 컴퓨터 시스템(400)에 동작 가능하게 연결된 디스플레이 시스템에 컴퓨터 상호 작용 인터페이스 요소를 제공할 수 있다. Apple® Macintosh® 운영 체제의 Aqua®, IBM® OS/2®, Microsoft® Windows®(예를 들어, Aero, Metro 등), 웹 인터페이스 라이브러리(예를 들어, ActiveX®, Java®, Javascript®, AJAX, HTML, Adobe® Flash® 등) 등을 포함하지만 이로 국한되지 않는 그래픽 사용자 인터페이스(GUI)가 사용될 수 있다.
일부 실시형태에서, 컴퓨터 시스템(400)은 웹 브라우저(408) 저장 프로그램 구성요소를 구현할 수 있다. 웹 브라우저(408)는 MICROSOFT® INTERNET EXPLORER®, GOOGLETM CHROMETM, MOZILLA® FIREFOX®, APPLE® SAFARI® 등과 같은 하이퍼텍스트 보기 애플리케이션일 수 있다. 보안 웹 브라우징은 보안 하이퍼텍스트 전송 프로토콜(HTTPS), 보안 소켓 계층(SSL), 전송 계층 보안(TLS) 등을 사용하여 제공될 수 있다. 웹 브라우저(408)는 AJAX, DHTML, ADOBE® FLASH®, JAVASCRIPT®, JAVA®, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 기능을 활용할 수 있다. 일부 실시형태에서, 컴퓨터 시스템(400)은 메일 서버 저장 프로그램 구성요소를 구현할 수 있다. 메일 서버는 마이크로소프트 익스체인지(Microsoft Exchange) 등과 같은 인터넷 메일 서버일 수 있다. 메일 서버는 액티브 서버 페이지(ASP), ACTIVEX®, ANSI® C++/C#, MICROSOFT®, .NET, CGI SCRIPTS, JAVA®, JAVASCRIPT®, PERL®, PHP, PYTHON®, WEBOBJECTS® 등과 같은 기능을 활용할 수 있다. 메일 서버는 인터넷 메시지 액세스 프로토콜(IMAP), 메시징 애플리케이션 프로그래밍 인터페이스(MAPI), MICROSOFT® 익스체인지, 포스트 오피스 프로토콜(POP), 단순 메일 전송 프로토콜(SMTP) 등과 같은 통신 프로토콜을 활용할 수 있다. 일부 실시형태에서, 컴퓨터 시스템(400)은 메일 클라이언트 저장 프로그램 구성요소를 구현할 수 있다. 메일 클라이언트는 APPLE® MAIL, MICROSOFT® ENTOURAGE®, MICROSOFT® OUTLOOK®, MOZILLA® THUNDERBIRD® 등과 같은 메일 보기 애플리케이션일 수 있다.
또한, 본 발명에 따른 실시형태를 구현할 때 하나 이상의 컴퓨터 판독 가능 저장 매체가 활용될 수 있다. 컴퓨터 판독 가능 저장 매체란 프로세서가 판독할 수 있는 정보나 데이터를 저장할 수 있는 임의의 유형의 물리적 메모리를 나타낸다. 따라서, 컴퓨터 판독 가능 저장 매체는 프로세서(들)가 본 명세서에 설명된 실시형태에 따른 단계 또는 단계들을 수행하게 하기 위한 명령어를 포함하여, 하나 이상의 프로세서에 의해 실행되기 위한 명령어를 저장할 수 있다. "컴퓨터 판독 가능 매체"라는 용어는 유형적인 항목을 포함하고, 반송파 및 과도 신호, 즉 비일시적 신호를 제외하는 것으로 이해되어야 한다. 예로는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 휘발성 메모리, 비휘발성 메모리, 하드 드라이브, 컴팩트 디스크(CD) ROM, 디지털 비디오 디스크(DVD), 플래시 드라이브, 디스크 및 임의의 다른 알려진 물리적 저장 매체를 포함한다.
서로 통신하는 여러 구성요소를 갖는 실시형태에 대한 설명은 이러한 모든 구성요소가 필요하다는 것을 의미하는 것이 아니다. 반대로, 본 발명의 다양한 가능한 실시형태를 설명하기 위해 다양한 선택적 구성요소가 설명된다. 단일 디바이스 또는 물품이 본 명세서에 설명될 때, 단일 디바이스/물품 대신에 하나 초과의 디바이스/물품이 (이들이 협력하는지 여부에 관계없이) 사용될 수 있다는 것은 명백하다. 유사하게, 하나 초과의 디바이스 또는 물품이 (이들이 협력하는지 여부에 관계없이) 본 명세서에 설명된 경우, 하나 초과의 디바이스 또는 물품 대신에 단일 디바이스/물품이 사용될 수 있고 또는 도시된 수의 디바이스 또는 프로그램 대신에 다른 수의 디바이스/물품이 사용될 수 있다는 것은 명백하다. 디바이스의 기능 및/또는 특징은 대안적으로 이러한 기능/특징을 갖는 것으로 명시적으로 설명되지 않은 하나 이상의 다른 디바이스에 의해 구현될 수 있다. 따라서, 본 발명의 다른 실시형태는 디바이스 자체를 포함할 필요가 없다.
본 명세서는 자율 주행 차량(101)을 위한 차선 추적 방법 및 시스템을 설명했다. 도시된 단계는 도시된 예시적인 실시형태를 설명하기 위해 제시되었으며, 지속적인 기술 개발은 특정 기능을 수행하는 방식을 변경할 것으로 예상된다. 따라서 이들 예는 본 발명을 제한하는 것이 아니라 본 발명을 예시하기 위해 본 명세서에 제시된 것이다. 또한, 설명의 편의를 위해 본 명세서에서는 기능 형성 블록의 경계를 임의로 정하였다. 지정된 기능과 관계가 적절히 수행되는 한, 대안적인 경계를 정할 수 있다. (본 명세서에 설명된 것의 등가, 확장, 변형, 변경 등을 포함하는) 대안은 본 명세서에 포함된 교시 내용에 기초하여 관련 기술 분야(들)의 당업자에게는 명백할 것이다. 이러한 대안은 개시된 실시형태의 범위와 정신 내에 속한다. 또한, "포함하는", "갖는", "함유하는", 및 "구비하는"이라는 단어와 기타 유사한 형태의 단어는 이들 단어 중 임의의 것 앞에 있는 항목 또는 항목들이 이러한 항목 또는 항목들의 전체 목록을 의미하는 것도 아니고, 나열된 항목 또는 항목들로만 제한되는 것을 의미하는 것도 아니라는 점에서 의미가 등가이고 개방형인 용어인 것으로 의도된다. 또한 본 명세서 및 첨부된 청구범위에 사용된 단수형 요소 및 "상기" 요소는 문맥상 명백히 달리 지시하지 않는 한, 복수형 요소를 포함하는 것으로 이해된다.
마지막으로, 본 명세서에 사용된 언어는 주로 가독성과 교육 목적을 위해 선택된 것일 뿐, 본 발명의 주제를 한정하거나 제한하기 위해 선택된 것이 아닐 수 있다. 따라서 본 발명의 범위는 이러한 상세한 설명에 의해 제한되는 것이 아니라 본 명세서에 기초한 임의의 청구범위에 의해 제한되는 것으로 의도된다. 따라서, 본 발명의 실시형태는 다음의 청구범위에 제시된 본 발명의 범위를 제한하는 것이 아니라 설명하는 것으로 의도된 것이다.
100: 아키텍처
101: 자율 주행 차량
103: 차선 추적 시스템
105: 차선 경계 검출 시스템
107: 프로세서
109: I/O 인터페이스
111: 메모리
113: 하나 이상의 센서
115: 이미지 캡처 디바이스
203: 데이터
205: 모듈
207: 훈련 데이터
209: 클로소이드 점 데이터
211: 칼만 필터 파라메트릭 데이터
213: 재구성된 데이터
215: 기타 데이터
221: 수신 모듈
223: 계수값 결정 모듈
225: 칼만 필터 결정 모듈
227: 재구성 모듈
229: 학습 모듈
231: 기타 모듈
233: 측정값에 대응하는 예시적인 복수의 차선 경계 검출점
235: 실제값에 대응하는 예시적인 복수의 차선 경계 검출점
237: 재구성된 클로소이드 점에 기초하여 추적 및 모델링된 예시적인 차선
400: 예시적인 컴퓨터 시스템
401: 예시적인 컴퓨터 시스템의 I/O 인터페이스
402: 예시적인 컴퓨터 시스템의 프로세서
403: 네트워크 인터페이스
404: 저장 인터페이스
405: 예시적인 컴퓨터 시스템의 메모리
406: 사용자 인터페이스
407: 운영 체제
408: 웹 브라우저
409: 통신 네트워크
411: 입력 디바이스
412: 출력 디바이스

Claims (30)

  1. 자율 주행 차량(101)을 위한 차선(lane) 추적 시스템(103)을 훈련하는 방법으로서,
    차선 추적 시스템(103)이 상기 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 실제값(ground truth value)과, 상기 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계;
    상기 차선 추적 시스템(103)이 차선의 차선 경계를 모델링하기 위해 실제값 세트와 측정된 세트를 사용하여 각각 형성된 실제값 클로소이드 점(ground truth clothoid point)과 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계로서, 상기 실제값 세트는 연속적인 차선 경계 검출점과 대응 실제 값의 서브세트를 포함하고, 상기 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함하는, 상기 클로소이드 파라미터의 계수값을 결정하는 단계;
    상기 차선 추적 시스템(103)이 상기 차선의 차선 경계를 추적하기 위해 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계로서, 상기 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정되는, 상기 칼만 필터 파라미터를 결정하는 단계;
    상기 차선 추적 시스템(103)이 대응하는 칼만 필터 파라미터를 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계;
    상기 차선 추적 시스템(103)이 상기 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 상기 측정된 클로소이드 점을 재구성하는 단계로서, 각 재구성된 측정된 클로소이드 점은 상기 차선 추적 시스템(103)이 상기 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 하는, 상기 측정된 클로소이드 점을 재구성하는 단계; 및
    상기 차선 추적 시스템(103)이 훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 상기 재구성된 측정된 클로소이드 점과 대응 실제값 세트 간의 차이에 기초하여 훈련 에러를 최소화하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 복수의 차선 경계 검출점은 상기 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 차선 추적 시스템(103)이 상기 실제값 클로소이드 점과 상기 측정된 클로소이드 점을 생성하는 데 각각 필요한 실제값 세트와 측정된 세트를 동적으로 선택하는 단계를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 차량에 구성된 하나 이상의 센서(113)로부터 수신된 차선 데이터와, 실시간으로 수신된 차선의 이미지 프레임 중 적어도 하나를 사용하여 상기 복수의 차선 경계 검출점을 결정하는 단계를 포함하고, 상기 차선의 이미지 프레임은 상기 자율 주행 차량(101)과 연관된 이미지 캡처 디바이스(115)로부터 수신되는, 방법.
  5. 제4항에 있어서, 실시간으로 캡처된 이미지 프레임과 상기 차선 데이터를 저장하도록 구성된 데이터베이스로부터 상기 차선의 이미지 프레임과 상기 차선 데이터 중 적어도 하나를 검색하는 단계를 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 차량의 주행 방향에 대한 진행 각도(β)를 포함하는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 시간 기억을 갖는 신경망을 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 회귀 신경망을 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 장단기 기억 신경망을 포함하는, 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망을 사용하여 칼만 필터 파라미터를 결정하는 단계는,
    상기 차선 추적 시스템(103)이 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 제1 신경망에 대한 입력으로 제공하는 단계로서, 상기 제1 신경망은 과거의 측정된 세트와 실제값 세트를 사용하여 형성된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 과거 계수값에 기초하여 훈련되는, 상기 클로소이드 파라미터의 계수값을 제1 신경망에 대한 입력으로 제공하는 단계;
    상기 차선 추적 시스템(103)이 상기 제1 신경망을 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 사용하여 측정 잡음 공분산 행렬(R)을 결정하는 단계;
    상기 차선 추적 시스템(103)이 상기 차선을 따라 이동하는 자율 주행 차량(101)의 속도와, 연속적인 이미지 프레임 간의 시간 차에 기초하여, 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값의 하나의 이미지 프레임에서부터 다른 이미지 프레임으로의 상태 전이(Yp)를 예측하는 단계;
    상기 차선 추적 시스템(103)이 예측된 상태 전이를 제2 신경망에 대한 입력으로 사용하여 처리 잡음 공분산 행렬(Q)을 결정하는 단계로서, 상기 제2 신경망은 과거의 자율 주행 차량(101) 속도 값과 시간 차 값을 사용하여 훈련되는, 상기 처리 잡음 공분산 행렬(Q)을 결정하는 단계;
    상기 차선 추적 시스템(103)이 결정된 처리 잡음 공분산 행렬(Q)을 사용하여 예측된 상태 전이의 에러 공분산(Pp)을 예측하는 단계; 및
    상기 차선 추적 시스템(103)이 상기 예측된 상태 전이(Yp)와 공분산(Pp), 결정된 측정 잡음 공분산 행렬(R), 및 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 기초하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계
    를 포함하는, 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 차선 추적 시스템(103)이 상기 차선 경계와 상기 자율 주행 차량(101) 사이의 초기 측면 오프셋을 상기 재구성된 측정된 클로소이드 점에 추가하는 단계를 추가로 포함하는, 방법.
  12. 자율 주행 차량(101)을 위한 차선 추적 방법으로서,
    차선 추적 시스템(103)이 상기 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계;
    상기 차선 추적 시스템(103)이 차선의 차선 경계를 모델링하기 위해 측정된 세트를 사용하여 형성된 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계로서, 상기 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정 값의 서브세트를 포함하는, 상기 클로소이드 파라미터의 계수값을 결정하는 단계;
    상기 차선 추적 시스템(103)이 차선의 차선 경계를 추적하기 위해 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계로서, 상기 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정되는, 상기 칼만 필터 파라미터를 결정하는 단계;
    상기 차선 추적 시스템(103)이 대응 칼만 필터 파라미터를 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계; 및
    상기 차선 추적 시스템(103)이 상기 클로소이드 파라미터의 대응 업데이트된 계수값을 사용하여 상기 측정된 클로소이드 점을 재구성하는 단계로서, 각 재구성된 측정된 클로소이드 점은 상기 차선 추적 시스템(103)이 상기 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 하는, 상기 측정된 클로소이드 점을 재구성하는 단계
    를 포함하는, 방법.
  13. 제12항에 있어서, 상기 적어도 하나의 신경망은 시간 기억을 갖는 신경망을 포함하는, 방법.
  14. 제12항 또는 제13항에 있어서, 상기 적어도 하나의 신경망은 회귀 신경망을 포함하는, 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 장단기 기억 신경망을 포함하는, 방법.
  16. 자율 주행 차량(101)을 위한 차선 추적 시스템(103)으로서,
    프로세서(107); 및
    상기 프로세서(107)에 통신 가능하게 결합된 메모리(111)
    를 포함하고, 상기 메모리(111)는 상기 프로세서(107) 명령어를 저장하고, 상기 명령어는 실행 시 상기 프로세서(107)로 하여금 상기 차선 추적 시스템(103)을 훈련하게 하고, 훈련을 위해, 상기 프로세서(107)는,
    상기 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 복수의 차선 경계 검출점에 대응하는 실제값과, 상기 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계;
    차선의 차선 경계를 모델링하기 위해 실제값 세트와 측정된 세트를 사용하여 각각 형성된 실제값 클로소이드 점과 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계로서, 상기 실제값 세트는 연속적인 차선 경계 검출점과 대응 실제 값의 서브세트를 포함하고, 상기 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함하는, 상기 클로소이드 파라미터의 계수값을 결정하는 단계;
    상기 차선의 차선 경계를 추적하기 위해 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계로서, 상기 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정되는, 상기 칼만 필터 파라미터를 결정하는 단계;
    상기 대응하는 칼만 필터 파라미터를 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계;
    상기 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 상기 측정된 클로소이드 점을 재구성하는 단계로서, 각 재구성된 측정된 클로소이드 점은 상기 차선 추적 시스템(103)이 상기 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 하는, 상기 측정된 클로소이드 점을 재구성하는 단계; 및
    훈련 에러가 미리 정해진 임계값 미만이 될 때까지 각 사이클에서 재구성된 측정된 클로소이드 점과 대응 실제값 세트 간의 차이에 기초하여 훈련 에러를 최소화하는 단계
    를 수행하도록 구성된, 차선 추적 시스템(103).
  17. 제16항에 있어서, 상기 복수의 차선 경계 검출점은 상기 차선의 왼쪽 차선 경계와 오른쪽 차선 경계에 대응하는, 차선 추적 시스템(103).
  18. 제16항 또는 제17항에 있어서, 상기 프로세서(107)는 상기 실제값 클로소이드 점과 상기 측정된 클로소이드 점을 생성하는 데 각각 필요한 실제값 세트와 측정된 세트를 동적으로 선택하는, 차선 추적 시스템(103).
  19. 제16항 내지 제18항 중 어느 한 항에 있어서, 상기 복수의 차선 경계 검출점은 상기 차량에 구성된 하나 이상의 센서(113)로부터 수신된 차선 데이터와, 실시간으로 수신된 차선의 이미지 프레임 중 적어도 하나를 사용하여 결정되고, 상기 차선의 이미지 프레임은 상기 자율 주행 차량(101)과 연관된 이미지 캡처 디바이스(115)로부터 수신되는, 차선 추적 시스템(103).
  20. 제19항에 있어서, 상기 프로세서(107)는 실시간으로 캡처된 이미지 프레임과 차선 데이터를 저장하도록 구성된 데이터베이스로부터 상기 차선의 이미지 프레임과 차선 데이터 중 적어도 하나를 검색하는, 차선 추적 시스템(103).
  21. 제16항 내지 제20항 중 어느 한 항에 있어서, 상기 클로소이드 파라미터는 차선 경계의 초기 곡률(co), 차선 경계의 곡률 비율(c1), 및 차량의 주행 방향에 대한 진행 각도(β)를 포함하는, 차선 추적 시스템(103).
  22. 제16항 내지 제21항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망을 사용하여 칼만 필터 파라미터를 결정하기 위해 상기 프로세서(107)는,
    상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 제1 신경망에 대한 입력으로 제공하는 단계로서, 상기 제1 신경망은 과거의 측정된 세트와 실제값 세트를 사용하여 형성된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 과거 계수값에 기초하여 학습되는, 상기 클로소이드 파라미터의 계수값을 제1 신경망에 대한 입력으로 제공하는 단계;
    상기 제1 신경망을 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 사용하여 측정 잡음 공분산 행렬(R)을 결정하는 단계;
    상기 차선을 따라 이동하는 자율 주행 차량(101)의 속도와, 연속적인 이미지 프레임 간의 시간 차에 기초하여, 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값의 하나의 이미지 프레임에서부터 다른 이미지 프레임으로의 상태 전이(Yp)를 예측하는 단계;
    예측된 상태 전이를 제2 신경망에 대한 입력으로 사용하여 처리 잡음 공분산 행렬(Q)을 결정하는 단계로서, 상기 제2 신경망은 과거 자율 주행 차량(101)의 속도 값과 시간 차 값을 사용하여 훈련되는, 상기 처리 잡음 공분산 행렬을 결정하는 단계;
    상기 결정된 처리 잡음 공분산 행렬(Q)을 사용하여 상기 예측된 상태 전이의 에러 공분산(Pp)을 예측하는 단계; 및
    상기 예측된 상태 전이(Yp)와 공분산(Pp), 결정된 측정 잡음 공분산 행렬(R), 및 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 기초하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계
    를 수행하도록 구성된, 차선 추적 시스템(103).
  23. 제16항 내지 제22항 중 어느 한 항에 있어서, 상기 프로세서(107)는 차선 경계와 자율 주행 차량(101) 사이의 초기 측면 오프셋을 상기 재구성된 측정된 클로소이드 점에 추가하도록 추가로 구성된, 차선 추적 시스템(103).
  24. 제16항 내지 제23항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 시간 기억을 갖는 신경망을 포함하는, 차선 추적 시스템(103).
  25. 제16항 내지 제24항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 회귀 신경망을 포함하는, 차선 추적 시스템(103).
  26. 제16항 내지 제25항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 장단기 기억 신경망을 포함하는, 차선 추적 시스템(103).
  27. 자율 주행 차량(101)을 위한 차선 추적 시스템(103)으로서,
    프로세서(107); 및
    상기 프로세서(107)에 통신 가능하게 결합된 메모리(111)
    를 포함하고, 상기 메모리(111)는 상기 프로세서(107) 명령어를 저장하고, 상기 명령어는 실행 시 상기 프로세서(107)로 하여금,
    상기 차선 추적 시스템(103)과 연관된 차선 경계 검출 시스템(105)으로부터 상기 복수의 차선 경계 검출점에 대응하는 측정값을 수신하는 단계;
    차선의 차선 경계를 모델링하기 위해 측정된 세트를 사용하여 형성된 측정된 클로소이드 점에 대해 클로소이드 파라미터의 계수값을 결정하는 단계로서, 상기 측정된 세트는 연속적인 차선 경계 검출점과 대응 측정값의 서브세트를 포함하는, 상기 클로소이드 파라미터의 계수값을 결정하는 단계;
    상기 차선의 차선 경계를 추적하기 위해 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값에 대한 칼만 필터 파라미터를 결정하는 단계로서, 상기 칼만 필터 파라미터는 적어도 하나의 신경망을 사용하여 결정되는, 상기 칼만 필터 파라미터를 결정하는 단계;
    대응하는 칼만 필터 파라미터를 사용하여 상기 측정된 클로소이드 점에 대해 결정된 클로소이드 파라미터의 계수값을 업데이트하는 단계; 및
    상기 클로소이드 파라미터의 대응하는 업데이트된 계수값을 사용하여 상기 측정된 클로소이드 점을 재구성하는 단계로서, 각 재구성된 측정된 클로소이드 점은 상기 차선 추적 시스템(103)이 상기 자율 주행 차량(101)에 대한 차선 경계를 추적할 수 있게 하는, 상기 측정된 클로소이드 점을 재구성하는 단계
    를 수행하게 하는, 차선 추적 시스템(103).
  28. 제27항에 있어서, 상기 적어도 하나의 신경망은 시간 기억을 갖는 신경망을 포함하는, 차선 추적 시스템(103).
  29. 제27항 또는 제28항에 있어서, 상기 적어도 하나의 신경망은 회귀 신경망을 포함하는, 차선 추적 시스템(103).
  30. 제27항 내지 제29항 중 어느 한 항에 있어서, 상기 적어도 하나의 신경망은 장단기 기억 신경망인, 차선 추적 시스템(103).
KR1020247014220A 2021-09-27 2022-09-27 자율 주행 차량을 위한 차선 추적 방법 및 시스템 KR20240090266A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN202141043726 2021-09-27
IN202141043726 2021-09-27
GB2117061.8 2021-11-26
GB2117061.8A GB2611117A (en) 2021-09-27 2021-11-26 Method and system for lane tracking for an autonomous vehicle
PCT/EP2022/076759 WO2023046975A1 (en) 2021-09-27 2022-09-27 Method and system for lane tracking for an autonomous vehicle

Publications (1)

Publication Number Publication Date
KR20240090266A true KR20240090266A (ko) 2024-06-21

Family

ID=84246222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247014220A KR20240090266A (ko) 2021-09-27 2022-09-27 자율 주행 차량을 위한 차선 추적 방법 및 시스템

Country Status (3)

Country Link
EP (1) EP4409527A1 (ko)
KR (1) KR20240090266A (ko)
WO (1) WO2023046975A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718259B1 (en) * 2002-10-02 2004-04-06 Hrl Laboratories, Llc Adaptive Kalman filter method for accurate estimation of forward path geometry of an automobile
JP6492469B2 (ja) * 2014-09-08 2019-04-03 株式会社豊田中央研究所 自車走行レーン推定装置及びプログラム
EP3680877A1 (en) * 2019-01-08 2020-07-15 Visteon Global Technologies, Inc. Method for determining the location of an ego-vehicle

Also Published As

Publication number Publication date
WO2023046975A1 (en) 2023-03-30
EP4409527A1 (en) 2024-08-07

Similar Documents

Publication Publication Date Title
RU2694154C2 (ru) Формирование моделированных данных датчиков для обучения и проверки достоверности моделей обнаружения
Wu et al. Tracking vehicle trajectories and fuel rates in phantom traffic jams: Methodology and data
EP3527946B1 (en) Method and system for real-time generation of reference navigation path for navigation of vehicle
US20200225662A1 (en) Method and system of navigating an autonomous vehicle at an intersection of roads
EP3846147A1 (en) A method and system for reducing road congestion
EP3547061B1 (en) Method and system for generating a safe navigation path in real-time for navigating a vehicle
US10837789B2 (en) Method and system for determining an optimal path for navigation of a vehicle
EP3696718A1 (en) Method and system for determining drivable road regions for safe navigation of an autonomous vehicle
CN111797526A (zh) 一种仿真测试场景构建方法及装置
CN114821421A (zh) 一种交通异常行为检测方法与系统
US20180348782A1 (en) Method and system for generating a safe navigation path for navigating a driverless vehicle
EP3575911B1 (en) Method and system for correcting velocity of autonomous vehicle to navigate along planned navigation path
US12067788B2 (en) Method and system for detecting and classifying lanes
CN116881707A (zh) 自动驾驶模型、训练方法、装置和车辆
CN117980949A (zh) 用于自主车辆的车道跟踪的方法和系统
US11442467B2 (en) Method and system for generating a trajectory for navigating an autonomous vehicle
US11049339B2 (en) Method and system for validating odometer performance in an autonomous vehicle in real-time
KR20240090266A (ko) 자율 주행 차량을 위한 차선 추적 방법 및 시스템
US11474203B2 (en) Method and system for determining correctness of Lidar sensor data used for localizing autonomous vehicle
JP2024538583A (ja) 自律走行車両のレーン追跡のための方法及びシステム
CN116882122A (zh) 用于自动驾驶的仿真环境的构建的方法和装置
EP3505870B1 (en) Method and system for generating a safe navigation path for a vehicle
DE102021125136A1 (de) Vorrichtung und verfahren zum vorhersagen der trajektorie eines umliegenden fahrzeugs
US11639184B2 (en) Method and system for diagnosing autonomous vehicles
CN115019278B (zh) 一种车道线拟合方法、装置、电子设备和介质