KR102488983B1 - 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치 - Google Patents

난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102488983B1
KR102488983B1 KR1020210066611A KR20210066611A KR102488983B1 KR 102488983 B1 KR102488983 B1 KR 102488983B1 KR 1020210066611 A KR1020210066611 A KR 1020210066611A KR 20210066611 A KR20210066611 A KR 20210066611A KR 102488983 B1 KR102488983 B1 KR 102488983B1
Authority
KR
South Korea
Prior art keywords
lanes
lane
selection
candidate
determining
Prior art date
Application number
KR1020210066611A
Other languages
English (en)
Other versions
KR20220158947A (ko
Inventor
노경수
권희연
정성균
진동권
박원희
김창수
Original Assignee
포티투닷 주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포티투닷 주식회사, 고려대학교 산학협력단 filed Critical 포티투닷 주식회사
Priority to KR1020210066611A priority Critical patent/KR102488983B1/ko
Publication of KR20220158947A publication Critical patent/KR20220158947A/ko
Application granted granted Critical
Publication of KR102488983B1 publication Critical patent/KR102488983B1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 난잡한 환경에서 최종 차선을 결정하기 위한 방법 및 장치에 관한 것이다. 본 개시의 일 실시예에 따른 방법은, 이미지를 획득하고, 학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선(eigenlane)을 획득할 수 있다. 또한, 방법은 차선들을 상기 적어도 하나의 고유 차선의 선형 조합으로 표현하여 상기 차선들 각각에 대응하는 계수 벡터들을 생성할 수 있다. 또한, 방법은 계수 벡터들에 기초하여 후보 차선들을 생성할 수 있다. 또한, 방법은 이미지 내에서 상기 후보 차선들 각각에 대한 차선 확률에 기초하여 상기 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다. 또한, 방법은 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정할 수 있다.

Description

난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치{METHOD AND APPARATUS FOR DETERMINING A CURVED LANE IN CLUTTERED ENVIRONMENTS}
본 발명은 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치에 관한 것이다.
도로에서 주행 중인 차량은 도로에 포함된 복수개의 차선 중 어느 하나의 차선 상에서 주행을 할 수 있다. 차량은 주행 중에 빈번하게 차선을 변경할 수 있고, 도로 상에서 차선의 개수가 변경되는 상황 또한 빈번하게 발생한다.
정보통신 기술과 차량 산업의 융합으로 인해 빠르게 차량의 스마트화가 진행되고 있다. 스마트화로 인해, 차량은 단순한 기계적 장치에서 스마트카로 진화하고 있으며, 특히 스마트카의 핵심기술로 자율 주행이 주목 받고 있다. 자율 주행이란 운전자가 핸들과 가속페달, 브레이크 등을 조작하지 않아도 차량 스스로 목적지까지 찾아가는 기술이다.
자율 주행과 관련된 다양한 부가 기능들이 지속적으로 개발되고 있으며, 각종 데이터를 이용하여 주행 환경을 인지하고 판단하여 자동차를 제어함으로써 탑승자에게 안전한 자율 주행 경험을 제공할 수 있는 방법에 대한 연구가 요구되고 있다.
한편, 차량이 주행 중인 상황에서 주변 차량이나 궂은 날씨, 조명 등에 의해 차선 가시성이 저하되는 경우가 발생할 뿐만 아니라, 교차로, 비정형 도로, 주차장 등 차선 표시가 없는 도로도 존재할 수 있다. 이에 따라, 최근에는 이러한 난잡한 환경(cluttered environments)에서 높은 정확도로 차선을 인식하기 위한 연구가 필요한 실정이다. 또한, 곡선 차선은 직선 차선에 비하여 더 복잡하고 다양하기 때문에 곡선 차선을 보다 정확하게 검출하기 위한 연구가 필요하다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치를 제공하는데 있다. 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 차선을 결정하기 위한 방법으로서, 이미지를 획득하는 단계; 학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선(eigenlane)을 획득하는 단계; 상기 차선들을 상기 적어도 하나의 고유 차선의 선형 조합으로 표현하여 상기 차선들 각각에 대응하는 계수 벡터들을 생성하는 단계; 상기 계수 벡터들에 기초하여 후보 차선들을 생성하는 단계; 상기 이미지 내에서 상기 후보 차선들 각각에 대한 차선 확률에 기초하여 상기 후보 차선들 중 일부를 제 1 선택 차선들로 선택하는 단계: 및 상기 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정하는 단계; 를 포함할 수 있다.
본 개시의 제 2 측면은, 차선을 결정하기 위한 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 이미지를 획득하고, 학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선을 획득하고, 상기 차선들을 상기 적어도 하나의 고유 차선의 선형 조합으로 표현하여 상기 차선들 각각에 대응하는 계수 벡터들을 생성하고, 상기 계수 벡터들에 기초하여 후보 차선들을 생성하고, 상기 이미지 내에서 상기 후보 차선들 각각에 대한 차선 확률에 기초하여 상기 후보 차선들 중 일부를 제 1 선택 차선들로 선택하고, 상기 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정할 수 있다.
본 개시의 제 3 측면은, 제 1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 고유 차선을 이용하여 곡선을을 포함하는 후보 차선을 생성함으로써, 난잡한 환경에서도 차량이 주행 중인 곡선 차선을 정확하게 인식할 수 있다.
또한, 본 개시의 과제 해결 수단에 의하면, 고유 차선을 이용하여 후보 차선을 표현하는 차원(dimension)을 축소함으로써, 최종 차선을 결정하기 위한 계산량을 줄일 수 있다. 이에 따라, 차선이 직선 또는 곡선인지 여부에 관계 없이 최종 차선 검출 시 오류를 최소화할 수 있다.
또한, 본 개시의 과제 해결 수단에 의하면, 고유 차선을 이용하여 생성된 후보 차선들을 이용하여 최종적으로 검출된 차선의 유효성을 검증할 수 있다.
도 1a 내지 도 1b는 일 실시예에 따른 주행 중인 차량에서 촬영한 이미지로부터 획득할 수 있는 정보의 예시를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 적어도 하나의 고유 차선을 획득하는 방법을 설명하기 위한 예시적인 도면이다.
도 3은 일 실시예에 따른 적어도 하나의 고유 차선을 획득하는 방법의 흐름도이다.
도 4는 임의의 차선을 벡터로 표현하는 일 예를 나타내는 도면이다.
도 5는 일 실시예에 따른 임의의 차선을 고유 차선들의 선형 조합으로 표현하는 예시를 설명하기 위한 예시적인 도면이다.
도 6은 일 실시예에 따른 계수 벡터들에 대하여 K-평균 군집화를 수행하는 방법을 예시적으로 나타내는 도면이다.
도 7은 일 실시예에 따른 중심 벡터 계수들로부터 후보 차선들을 생성하는 방법을 예시적으로 나타내는 도면이다.
도 8은 일 실시예에 따른 제 1 네트워크를 이용하여 후보 차선들 각각에 대한 차선 확률을 산출하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 차선 확률에 기초하여 후보 차선들 중 일부를 선택하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 제 2 네트워크를 이용하여 제 1 선택 차선들 간의 연관성 매트릭스를 생성하는 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 연관성 매트릭스에 기초하여 차선을 결정하는 방법을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 제 1 네트워크 및 제 2 네트워크를 이용하여 최종 차선을 결정하는 방법을 설명하기 위한 예시적인 도면이다.
도 13은 일 실시예에 따른 최종 차선을 결정하는 방법의 흐름도이다.
도 14는 일 실시예에 따른 차선 결정 장치의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1a 내지 도 1b는 일 실시예에 따른 주행 중인 차량에서 촬영한 이미지로부터 획득할 수 있는 정보의 예시를 설명하기 위한 도면이다.
도 1a를 참조하면, 주행 중인 차량(100)에는 촬영 장치(110)가 탑재될 수 있다. 일 실시예에서, 차량(100)에는 차선 결정 장치가 탑재될 수 있다. 다른 실시예에서, 차선 결정 장치는 차량(100) 외부에 위치하고, 촬영 장치(110)와 차선 결정 장치가 통신 네트워크를 형성하여 데이터를 주고 받을 수 있다. 차선 결정 장치는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 또한, 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
촬영 장치(110)는 차량(100)의 주변을 촬영하고, 촬영된 이미지를 차선 결정 장치로 전송할 수 있다. 차선 결정 장치는 촬영된 이미지로부터 여러 가지 종류의 차선을 인식할 수 있다. 예를 들어, 차선 결정 장치는 촬영된 이미지로부터 현재주행(ego) 차선, 인접(alternative) 차선 등을 인식할 수 있다.
촬영 장치(110)는 차량(100) 외부의 환경을 기록하도록 구성되는 스틸 카메라 또는 비디오 카메라일 수 있다. 예를 들어, 촬영 장치(110)는 다수의 카메라들을 포함할 수 있고, 다수의 카메라들은 차량의 내부 및 외부 상의 다수의 위치들에 배치될 수 있다.
도 1b를 참조하면, 차선 결정 장치는 차선의 속성을 결정할 수 있다. 예를 들어, 차선 결정 장치는 차선 형태에 대한 속성으로써 차선이 "직선" 또는 "곡선"인지 여부를 결정할 수 있다. 또한, 차선 결정 장치는 차선에 인덱스 값을 부여할 수 있다.
도 2는 일 실시예에 따른 적어도 하나의 고유 차선을 획득하는 방법을 설명하기 위한 예시적인 도면이다.
차선 결정 장치는 학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선(eigenlane)을 획득할 수 있다. 적어도 하나의 고유 차선은 임의의 차선을 나타낼 수 있는 디스크립터(descriptor)에 해당할 수 있다.
도 2를 참고하면, 차선 결정 장치는 고유 차선 생성기(200)를 포함할 수 있다. 고유 차선 생성기(200)에는 학습 데이터(210)가 입력될 수 있으며, 학습 데이터(210)는 차선을 포함하는 다양한 이미지들을 포함할 수 있다.
고유 차선 생성기(200)는 학습 데이터(210)에 기초하여 적어도 하나의 고유 차선(220)을 생성할 수 있으며, 도 2에 도시된 적어도 하나의 고유 차선(220)은 일 예에 불과하며 이에 한정되는 것은 아니다. 예를 들어, 고유 차선 생성기(200)는 u1 벡터, u2 벡터, u3 벡터 및 u4 벡터 각각에 해당하는 고유 차선들을 생성할 수 있으며, 고유 차선들은 곡선 또는 직선에 해당할 수 있다.
도 3은 일 실시예에 따른 적어도 하나의 고유 차선을 획득하는 방법의 흐름도이다.
도 3을 참고하면, 단계 310에서 차선 결정 장치는 학습 데이터에 포함된 차선들을 포함하는 차선 행렬을 생성할 수 있다.
예를 들어, 학습 데이터에 포함된 임의의 차선 X는 N차원 벡터
Figure 112021059789623-pat00001
로 표현될 수 있다.
Figure 112021059789623-pat00002
는 임의의 차선 X를 수직 방향으로 균일하게 샘플링한 경우, i번째 점의 x 좌표에 해당할 수 있다. N은 샘플링된 점들의 총 개수에 해당할 수 있다.
도 4는 임의의 차선을 벡터로 표현하는 일 예를 나타내는 도면이다.
도 4를 참고하면, 차선 결정 장치는 임의의 차선 X를 수직 방향으로 균일하게 샘플링하여 5개의 샘플링된 점들이 생성될 수 있다. 샘플링된 점들 각각의 x 좌표는
Figure 112021059789623-pat00003
이므로 임의의 차선 X는
Figure 112021059789623-pat00004
로 표현될 수 있다.
또한, 차선 결정 장치는 상술한 바와 같이 각각 N차원 벡터로 표현된 L개의 차선들을 포함하는 차선 행렬
Figure 112021059789623-pat00005
를 생성할 수 있다.
다시 도 3으로 돌아와서, 차선 결정 장치는 차선 행렬에 대하여 특이값 분해(Singular Value Decomposition)를 수행할 수 있다. 즉, 차선 행렬 A는 하기 수학식 1 과 같이 특이값 분해될 수 있다. 하기 수학식 1에서, 왼쪽 특이 벡터(left singular vector)
Figure 112021059789623-pat00006
및 오른쪽 특이 벡터(right singular vector)
Figure 112021059789623-pat00007
는 직교 행렬에 해당하고, Σ는 특이값(singular value)들
Figure 112021059789623-pat00008
으로 구성된 대각 행렬에 해당할 수 있다. r은 행렬 A의 계수에 해당할 수 있다.
[수학식 1]
Figure 112021059789623-pat00009
한편, 특이값 분해된 행렬 A에 대하여 낮은 계수 근사(Rank-M approximation)를 수행할 수 있다. 특이값 분해된 행렬 A에 대한 낮은 계수 근사는
Figure 112021059789623-pat00010
의 값이 최소가 되도록 수행될 수 있다.
Figure 112021059789623-pat00011
은 하기 수학식 2와 같이 표현할 수 있다.
[수학식 2]
Figure 112021059789623-pat00012
차선 결정 장치는 상기 수학식 2 에 따라 도출된
Figure 112021059789623-pat00013
을 고유 차선으로 획득할 수 있다. 차선 결정 장치는 학습 데이터에 포함된 차선들을 상기와 같이 도출된 고유 차선들의 선형 조합으로 표현할 수 있다.
도 5는 일 실시예에 따른 임의의 차선을 고유 차선들의 선형 조합으로 표현하는 예시를 설명하기 위한 예시적인 도면이다.
차선 결정 장치는 학습 데이터에 포함된 차선들을 적어도 하나의 고유 차선의 선형 조합으로 표현하여 차선들 각각에 대응하는 계수 벡터(coefficient vector)들을 생성할 수 있다. 즉, 학습 데이터에 포함된 임의의 차선을 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 근사시킬 수 있으며, 계수 벡터는 고유 차선 공간에서 임의의 차선을 나타내는 벡터에 해당할 수 있다.
예를 들어, 학습 데이터에 포함된 L개의 차선들 각각은 상술한 도 3에서 획득된 고유 차선들의 선형 조합으로 표현될 수 있다. 예를 들어, L개의 차선들 중 임의의 차선
Figure 112021059789623-pat00014
는 하기 고유 차선
Figure 112021059789623-pat00015
의 선형 조합으로 하기 수학식 3과 같이 표현될 수 있고, 차선
Figure 112021059789623-pat00016
에 대응하는 계수 벡터
Figure 112021059789623-pat00017
는 하기 수학식 4와 같이 나타낼 수 있다.
[수학식 3]
Figure 112021059789623-pat00018
[수학식 4]
Figure 112021059789623-pat00019
도 5를 참고하면, 차선 결정 장치는 학습 데이터에서 임의의 이미지(400)에 포함된 차선들을 고유 차선 생성기로부터 획득한 고유 차선들(410)의 선형 조합으로 나타낼 수 있다.
또한, 차선 결정 장치는 학습 데이터에 포함된 L개의 차선들에 대응하는 계수 벡터들의 집합
Figure 112021059789623-pat00020
을 생성할 수 있다. 차선 결정 장치는 계수 벡터 집합에 기초하여 후보 차선들을 생성할 수 있다.
도 6은 일 실시예에 따른 계수 벡터들에 대하여 K-평균 군집화를 수행하는 방법을 예시적으로 나타내는 도면이다.
차선 결정 장치는 학습 데이터에 포함된 L개의 차선들로부터 생성한 계수 벡터들에 대하여 K-평균 군집화(K-means Clustering)을 수행하여 계수 벡터들 중 중심점에 해당하는 중심 계수 벡터들을 획득할 수 있다. 차선 결정 장치는 중심 계수 벡터들 및 적어도 하나의 고유 차선에 기초하여 후보 차선들을 생성할 수 있다. 또한, K-평균 군집화는 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 수행될 수 있다.
K-평균 군집화는 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작할 수 있다.
도 6을 참고하면, 차선 결정 장치는 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 학습 데이터에 포함된 L개의 차선들에 대응하는 계수 벡터들
Figure 112021059789623-pat00021
을 표현할 수 있다. 예를 들어, 고유 차선들의 M개인 경우에는 고유 차선 공간은 M차원의 공간에 해당할 수 있다. 차선 결정 장치는 고유 차선 공간에서 L개의 차선들에 대응하는 계수 벡터들을 클러스터링하여 K개의 클러스터링 중심들(centeroids)를 획득할 수 있다.
K개의 클러스터링 중심들은 중심 벡터 계수들
Figure 112021059789623-pat00022
에 해당할 수 있다.
도 7은 일 실시예에 따른 중심 벡터 계수들로부터 후보 차선들을 생성하는 방법을 예시적으로 나타내는 도면이다.
차선 결정 장치는 중심 계수 벡터들 및 적어도 하나의 고유 차선에 기초하여 후보 차선들을 생성할 수 있다.
예를 들어, 차선 결정 장치는 중심 벡터 계수들
Figure 112021059789623-pat00023
및 고유 차선
Figure 112021059789623-pat00024
에 기초하여 하기 수학식 5와 같이 후보 차선
Figure 112021059789623-pat00025
를 생성할 수 있다.
[수학식 5]
Figure 112021059789623-pat00026
도 7을 참고하면, 고유 차선 공간에서의 벡터 계수들
Figure 112021059789623-pat00027
들을 변환하여, 영상 공간에서 후보 차선들
Figure 112021059789623-pat00028
가 생성됨을 알 수 있다.
도 8은 일 실시예에 따른 제 1 네트워크를 이용하여 후보 차선들 각각에 대한 차선 확률을 산출하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 제 1 네트워크(800)는 촬영된 이미지로부터 특징 맵을 추출하고, 특징 맵에서 후보 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여 후보 차선들 각각에 대한 차선 확률을 산출하도록 구성될 수 있다.
구체적으로, 차선 결정 장치는 제 1 네트워크(800)를 이용하여 촬영된 이미지로부터 컨벌루션 특징 맵을 추출할 수 있다. 예를 들어, 차선 결정 장치는 촬영된 이미지로부터 컨벌루션 특징 맵
Figure 112021059789623-pat00029
를 추출할 수 있고, 여기서 H, W,
Figure 112021059789623-pat00030
는 각각 특징 맵의 height, width, 그리고 channel 개수를 의미한다.
또한, 차선 결정 장치는 제 1 네트워크(800)를 이용하여 특징 맵에서 후보 차선들 각각에 대한 지역적 특징 벡터
Figure 112021059789623-pat00031
를 추출할 수 있다. 예를 들어, 차선 결정 장치는 특징 맵 상에서 임의의 후보 차선 lk가 갖는 픽셀 특징들을 평균 냄으로써 후보 차선들 각각에 대한 지역적 특징 벡터
Figure 112021059789623-pat00032
를 획득할 수 있다. 지역적 특징 벡터
Figure 112021059789623-pat00033
는 아래의 수학식 6과 같이 나타낼 수 있다. 수학식 6에서
Figure 112021059789623-pat00034
은 임의의 후보 차선 ln에 포함된 픽셀 개수를 나타내고,
Figure 112021059789623-pat00035
,
Figure 112021059789623-pat00036
이다.
[수학식 6]
Figure 112021059789623-pat00037
차선 결정 장치가 제 1 네트워크(800)의 제 1 분류기(810)에 후보 차선들 각각의 지역적 특징 벡터를 입력하면, 제 1 분류기(810)에서 후보 차선들 각각에 대한 차선 확률 Pk를 산출할 수 있다. 예를 들어, 차선 확률 Pk는 아래의 수학식 7과 같이 나타낼 수 있다. 수학식 7에서 f1은 분류(classification)를 위한 C2 x 2 사이즈를 갖는 풀리-커넥티드 레이어(fully-connected layer)를 나타내고, σ()는 sigmoid 활성화 함수를 나타낸다.
[수학식 7]
Figure 112021059789623-pat00038
상술한 과정을 통해 제 1 네트워크(800)에서 산출되는 Pk는 후보 차선 lk의 차선 확률을 의미한다.
또한, 차선 결정 장치가 제 1 네트워크(800)의 제 2 분류기(820)에 후보 차선들 각각의 지역적 특징 벡터를 입력하면, 제 2 분류기(820)에서 후보 차선들 각각에 대하여 끝 점(ending point)의 R개의 기 설정된 높이들 중 어느 하나에 위치하는 확률을 나타내는 높이 확률 Hk를 산출할 수 있다.
예를 들어, 높이 확률 Hk는 아래의 수학식 8과 같이 나타낼 수 있다. 수학식 8에서 f2는 분류를 위한 C2 x R 사이즈를 갖는 풀리-커넥티드 레이어를 나타내고, σ()는 sigmoid 활성화 함수를 나타낸다.
[수학식 8]
Figure 112021059789623-pat00039
상술한 과정을 통해 제 1 네트워크(800)에서 산출되는 Hk는 후보 차선 lk의 높이 확률을 의미한다.
한편, 차선 결정 장치가 제 1 네트워크(800)의 회귀기(830)에 후보 차선들 각각의 지역적 특징 벡터를 입력하면, 회귀기(830)에서 후보 차선들 각각에 대한 오프셋 벡터 Ok를 산출할 수 있다. 예를 들어, 오프셋 벡터 Ok는 아래의 수학식 9와 같이 나타낼 수 있다. 수학식 9에서 f3은 회귀(regression)를 위한 C2 x M 사이즈를 갖는 풀리-커넥티드 레이어를 나타낸다.
[수학식 9]
Figure 112021059789623-pat00040
오프셋 벡터 Ok는 최종적으로 선택된 제 2 선택 차선들의 위치를 조정하기 위해 이용되며, 이에 대해서는 도 11에서 후술하기로 한다.
도 9는 일 실시예에 따른 차선 확률에 기초하여 후보 차선들 중 일부를 선택하는 방법을 설명하기 위한 도면이다.
차선 결정 장치는 선택 및 제거 프로세스(selection-and-removal process)를 통해 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다.
구체적으로, 차선 결정 장치는 먼저 후보 차선들이 적어도 하나의 고유 차선에 대응하는 고유 차선 공간 상에 표시되도록 변환할 수 있다. 차선 결정 장치는 후보 차선들 중 차선 확률이 가장 큰 제 1 후보 차선을 선택할 수 있다. 제 1 후보 차선을 선택하는 것은 아래 수학식 4와 같이 표현할 수 있다.
[수학식 10]
Figure 112021059789623-pat00041
차선 결정 장치는 고유 차선 공간 상에서 제 1 후보 차선과 오버랩되거나 인접한 다른 후보 차선을 제거할 수 있다. 예를 들어, 인접한 다른 후보 차선은 제 1 후보 차선에서 기 설정된 거리보다 짧은 거리만큼 떨어져 있는 후보 차선에 해당할 수 있다.
또한, 차선 결정 장치는 제 1 후보 차선 및 제거된 후보 차선들을 제외한 나머지 후보 차선들 중에서, 차선 확률이 가장 큰 제 2 후보 차선을 선택할 수 있다. 차선 결정 장치는 고유 차선 공간 상에서 제 2 후보 차선과 오버랩되거나 인접한 다른 후보 차선을 제거할 수 있다.
이와 같이, 차선 결정 장치는 상술한 선택 및 제거 프로세스를 T번 반복할 수 있고, 그 결과 복수의 후보 차선들 중에서 T개의 제 1 선택 차선들이 선택될 수 있다.
도 10은 일 실시예에 따른 제 2 네트워크를 이용하여 제 1 선택 차선들 간의 연관성 매트릭스를 생성하는 방법을 설명하기 위한 도면이다.
도 10을 참조하면, 제 2 네트워크(1000)는 촬영된 이미지로부터 특징 맵을 추출하고, 특징 맵에서 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여 인접한 제 1 선택 차선들 간의 간격이 동일한 것과 제 1 선택 차선들이 소실점에서 교차하는지 여부를 나타내는 연관성 매트릭스(relation matrix)를 생성하도록 구성될 수 있다.
구체적으로, 차선 결정 장치는 제 2 네트워크(1000)를 이용하여 촬영된 이미지로부터 컨벌루션 특징 맵을 추출할 수 있다. 예를 들어, 차선 결정 장치는 촬영된 이미지로부터 컨벌루션 특징 맵
Figure 112021059789623-pat00042
를 추출할 수 있고, 여기서 H, W, C1은 각각 특징 맵의 height, width, 그리고 channel 개수를 의미한다.
또한, 차선 결정 장치는 제 2 네트워크(1000)를 이용하여 특징 맵에서 후보 차선들 각각에 대한 지역적 특징 벡터
Figure 112021059789623-pat00043
을 추출할 수 있다. 예를 들어, 차선 결정 장치는 특징 맵 상에서 임의의 제 1 선택 차선 lt가 갖는 픽셀 특징들을 평균 냄으로써 제 1 선택 차선들 각각에 대한 지역적 특징 벡터
Figure 112021059789623-pat00044
를 획득할 수 있다.
차선 결정 장치는 지역적 특징 벡터
Figure 112021059789623-pat00045
에 기초하여 연관성 매트릭스 R을 생성할 수 있다. 예를 들어, 연관성 매트릭스 R은 아래의 수학식 11과 같이 나타낼 수 있다. 수학식 11에서
Figure 112021059789623-pat00046
Figure 112021059789623-pat00047
는 1D 컨벌루션 레이어들 및 l2 정규화를 나타낼 수 있다.
[수학식 11]
Figure 112021059789623-pat00048
연관성 매트릭스 R의 각 요소들은 0에서 1사이의 값을 가질 수 있고, 1에 가까울수록 두 선택 차선 간의 연관성이 높다는 것을 나타낸다.
도 11은 일 실시예에 따른 연관성 매트릭스에 기초하여 차선을 결정하는 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 차선 결정 장치는 제 1 선택 차선들에 대응하는 복수의 노드들(nodes)을 생성할 수 있다. 또한, 연관성 매트릭스에 기초하여 제 1 선택 차선들 중 임의의 두 개의 차선들 간의 연관성 점수에 대응하는 적어도 하나의 에지(edge)를 생성할 수 있다. 차선 결정 장치는 복수의 노드들 및 적어도 하나의 에지로 구성된 그래프(1100)를 생성할 수 있다. 차선 결정 장치는 그래프(1100)에 기초하여 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
즉, 그래프(1100)
Figure 112021059789623-pat00049
)에서,
Figure 112021059789623-pat00050
는 제 1 네트워크를 이용함으로써 선택된 T개의 제 1 선택 차선들을 나타내고, T개의 제 1 선택 차선들의 모든 쌍은 에지 세트에 포함되는 에지
Figure 112021059789623-pat00051
에 의해 연결된다. 각 에지에 할당된 가중치
Figure 112021059789623-pat00052
는 제 2 네트워크를 이용함으로써 결정된 연관성 매트릭스 R에 기초하여 결정될 수 있다. 예를 들어, 가중치
Figure 112021059789623-pat00053
는 아래의 수학식 12와 같이 나타낼 수 있다.
[수학식 12]
Figure 112021059789623-pat00054
차선 결정 장치는 연관성 점수가 최대인 노드들을 선택할 수 있다. 일 실시예에서 차선 결정 장치는 MWCS(maximal weight clique selection) 알고리즘을 이용하여 연관성 점수가 최대인 노드들을 선택할 수 있다.
구체적으로,
Figure 112021059789623-pat00055
를 노드로 표현되는 클릭(clique)으로 지칭하면, 클릭
Figure 112021059789623-pat00056
의 조화 에너지(harmonization energy)를 아래의 수학식 13과 같이 나타낼 수 있다. 수학식 13은 클릭
Figure 112021059789623-pat00057
내의 모든 에지 가중치의 합을 의미한다.
[수학식 13]
Figure 112021059789623-pat00058
일 실시예에서, 차선 결정 장치는 조화 에너지를 최대로 만드는 maximal weight clique
Figure 112021059789623-pat00059
를 선택할 수 있다. 여기서
Figure 112021059789623-pat00060
는 아래의 수학식 14와 같이 나타낼 수 있다.
Figure 112021059789623-pat00061
는 임계값을 의미한다.
[수학식 14]
Figure 112021059789623-pat00062
Figure 112021059789623-pat00063
차선 결정 장치는 제 1 선택 차선들 중에서, 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정할 수 있다. 즉, 차선 결정 장치는 클릭
Figure 112021059789623-pat00064
에 포함되는 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
한편, 차선 결정 장치는 도 8에서 상술한 오프셋 벡터 Ok를 이용하여 제 2 선택 차선들의 위치를 조정할 수 있다. 구체적으로, 차선 결정 장치는 제 2 선택 차선들에 대응하는 위치 오프셋을 적용하여 제 2 선택 차선들의 위치를 조정하고, 조정된 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
오프셋 벡터가 적용된 최종 차선은 아래의 수학식 15와 같이 나타낼 수 있다.
Figure 112021059789623-pat00065
는 위치 오프셋을 나타내고,
Figure 112021059789623-pat00066
은 오프셋 벡터가 적용된 최종 차선을 나타낸다.
Figure 112021059789623-pat00067
이므로, 오프셋 벡터의 적용은 하기 수학식 15와 같이, 고유 차선 공간에서 수행될 수 있다.
[수학식 15]
Figure 112021059789623-pat00068
도 11을 참조하면, 차선 결정 장치는 T개의 제 1 선택 차선들 중 최종적으로 3개의 제 1 선택 차선들이 제 2 선택 차선들로 선택할 수 있다. 차선 결정 장치는 제 2 선택 차선들을 최종 차선으로 결정하고, 입력 이미지에 최종 차선을 표시할 수 있다.
도 12는 일 실시예에 따른 제 1 네트워크 및 제 2 네트워크를 이용하여 최종 차선을 결정하는 방법을 설명하기 위한 예시적인 도면이다.
도 12를 참조하면, 차선 결정 장치(1200)는 외부로부터 입력 이미지를 수신할 수 있다. 또한, 차선 결정 장치(1200)는 적어도 하나의 고유 차선에 기초하여 K개의 후보 차선들을 생성할 수 있다.
차선 결정 장치는 입력 이미지를 인코더(encoder)에 입력하여 컨벌루션 특징 맵
Figure 112021059789623-pat00069
을 추출할 수 있다. 또한, 차선 결정 장치는 컨벌루션 특징 맵
Figure 112021059789623-pat00070
을 추가적으로 컨벌루션 레이어에 통과시켜, 컨벌루션 특징 맵
Figure 112021059789623-pat00071
를 추출할 수 있다.
단계(a)에서, 차선 결정 장치(1200)는 제 1 네트워크(또는, Self-lane identification(SI) module)에 컨벌루션 특징 맵
Figure 112021059789623-pat00072
및 후보 차선들을 입력할 수 있다. 제 1 네트워크로부터 후보 차선들 각각에 대한 차선 확률, 높이 확률 및 오프셋 벡터가 출력됨으로써, 제 1 네트워크가 학습될 수 있다.
구체적으로, 제 1 네트워크는 특징 맵
Figure 112021059789623-pat00073
에서 후보 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여 후보 차선들 각각에 대한 차선 확률, 높이 확률 및 오프셋 벡터를 산출하도록 구성될 수 있다.
단계 (b)에서, 차선 결정 장치(1200)는 차선 확률에 기초하여 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다.
차선 결정 장치(1200)는 후보 차선들이 고유 차선 공간상에 표시되도록 변환할 수 있다. 차선 결정 장치(1200)는 후보 차선들 중 차선 확률이 가장 큰 제 1 후보 차선을 선택하고, 고유 차선 공간 상에서 제 1 후보 차선과 오버랩되거나 인접한 다른 후보 차선을 제거할 수 있다. 이와 같은 선택과 제거 과정을 소정의 횟수만큼 반복함으로써, 차선 결정 장치(1200)는 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다.
단계 (c)에서, 차선 결정 장치(1200)는 제 2 네트워크(또는, Inter-lane correlation(IC) module)에 컨벌루션 특징 맵
Figure 112021059789623-pat00074
및 제 1 선택 차선들을 입력할 수 있다. 제 2 네트워크로부터 제 1 선택 차선들 간의 연관성 매트릭스가 출력됨으로써, 제2 네트워크가 학습될 수 있다.
구체적으로, 제 2 네트워크는 특징 맵
Figure 112021059789623-pat00075
에서 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여 제 1 선택 차선들 간의 간격이 동일한 것과 제 1 선택 차선들이 소실점에서 교차하는지 여부를 나타내는 연관성 매트릭스를 산출하도록 구성될 수 있다.
단계 (d)에서 차선 결정 장치(1200)는 연관성 매트릭스에 기초하여 최종 차선을 결정할 수 있다.
차선 결정 장치(1200)는 복수의 노드들과, 복수의 노드들을 잇는 에지로 구성된 그래프를 생성할 수 있다. 복수의 노드들 각각은 제 1 선택 차선들에 대응되고, 에지는 연관성 매트릭스에 기초하여 제 1 선택 차선들 중 임의의 두 개의 차선들 간의 연관성 점수에 대응될 수 있다. 차선 결정 장치는 그래프(1100)에 기초하여 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
상술한 바와 같이, 본 개시에서는 제 1 네트워크 및 제 2 네트워크를 학습시키고, 학습된 제 1 네트워크 및 제 2 네트워크를 이용하여 입력 이미지 내의 최종 차선을 결정할 수 있다.
도 13은 일 실시예에 따른 최종 차선을 결정하는 방법의 흐름도이다.
도 13에 도시된, 차량의 현재 차선을 결정하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 13의 방법에도 적용될 수 있다.
도 13을 참조하면, 단계 1310에서 프로세서는 이미지를 획득할 수 있다.
프로세서는 주행 중인 차량에 탑재된 촬영 장치로부터 차량 주변 이미지를 획득할 수 있다. 차량 주변 이미지에는 차량 전방 이미지, 차량 후방 이미지 및 차량 측방 이미지 등이 포함될 수 있으나, 이에 제한되지 않는다.
단계 1320에서 프로세서는 학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선(eigenlane)을 획득할 수 있다.
일 실시예에서, 프로세서는 학습 데이터에 포함된 차선들을 포함하는 차선 행렬을 생성하고, 차선 행렬에 대하여 특이값 분해(Singular Value Decomposition)를 수행하여 적어도 하나의 고유 차선을 획득할 수 있다.
단계 1330에서 프로세서는 차선들을 적어도 하나의 고유 차선의 선형 조합으로 표현하여 차선들 각각에 대응하는 계수 벡터들을 생성할 수 있다.
단계 1340에서 프로세서는 계수 벡터들에 기초하여 후보 차선들을 생성할 수 있다.
일 실시예에서, 프로세서는 계수 벡터들에 대하여 K-평균 군집화(K-means Clustering)을 수행하여 계수 벡터들 중 중심점에 해당하는 중심 계수 벡터들을 획득하고, 중심 계수 벡터들 및 적어도 하나의 고유 차선에 기초하여 후보 차선들을 생성할 수 있다.
일 실시예에서, 상기 K-평균 군집화는 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 수행될 수 있다.
단계 1350에서 프로세서는 이미지 내에서 후보 차선들 각각에 대한 차선 확률에 기초하여 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다.
일 실시예에서, 프로세서는 후보 차선들을 상기 적어도 하나의 고유 차선에 대응하는 고유 차선 공간 상에 표시하고, 후보 차선들 중 차선 확률이 가장 큰 제 1 후보 차선을 선택할 수 있다. 프로세서는 제 1 후보 차선과 인접한 후보 차선들을 제거하고, 선택과 제거 과정을 소정의 횟수만큼 반복함으로써, 후보 차선들 중 일부를 제 1 선택 차선들로 선택할 수 있다.
단계 1360에서 프로세서는 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정할 수 있다.
일 실시예에서, 프로세서는 이미지로부터 생성된 특징맵에서 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여, 제 1 선택 차선들 간의 간격이 동일한 것과 제 1 선택 차선들이 소실점에서 교차하는지 여부를 나타내는 연관성 매트릭스를 생성할 수 있다.
일 실시예에서, 프로세서는 제 1 선택 차선들에 대응하는 복수의 노드들(nodes)을 생성하고, 연관성 매트릭스에 기초하여 제 1 선택 차선들 중 임의의 두 개의 차선들 간의 연관성 점수에 대응하는 적어도 하나의 에지(edge)를 생성할 수 있다. 프로세서는 복수의 노드들 및 적어도 하나의 에지로 구성된 그래프를 생성하고, 그래프에 기초하여 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
일 실시예에서, 프로세서는 이미지로부터 생성된 특징맵에서 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하고, 지역적 특징 벡터를 이용하여 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 후보 차선들 각각에 대한 위치 오프셋을 산출할 수 있다.
일 실시예에서, 프로세서는, 제 2 선택 차선들 각각에 대응하는 계수 벡터들에 제 2 선택 차선들 각각에 대응하는 위치 오프셋을 적용하고, 위치 오프셋이 적용된 제 2 선택 차선들을 최종 차선으로 결정할 수 있다.
도 14는 일 실시예에 따른 차선 결정 장치의 블록도이다.
도 14를 참조하면, 차선 결정 장치(1400)는 통신부(1410), 프로세서(1420) 및 DB(1430)를 포함할 수 있다. 도 14의 차선 결정 장치(1400)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 11에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(1410)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1410)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.
DB(1430)는 차선 결정 장치(1400) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(1420)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(1430)는 결제 정보, 사용자 정보 등을 저장할 수 있다.
DB(1430)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(1420)는 차선 결정 장치(1400)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1420)는 DB(1430)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(1410), DB(1430) 등을 전반적으로 제어할 수 있다. 프로세서(1420)는, DB(1430)에 저장된 프로그램들을 실행함으로써, 차선 결정 장치(1400)의 동작을 제어할 수 있다.
프로세서(1420)는 도 1 내지 도 13에서 상술한 차선 결정 장치의 동작 중 적어도 일부를 제어할 수 있다.
프로세서(1420)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
일 실시 예로, 차선 결정 장치(1100)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 차선 결정 장치(1100)는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 네비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 차선 결정 장치(1100)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.
다른 실시 예로, 차선 결정 장치(1100)는 차량 내에 임베디드 되는 전자 장치일 수 있다. 예를 들어, 차선 결정 장치(1100)는 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다.
또 다른 실시 예로, 차선 결정 장치(1100)는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 차량에 탑재된 장치들로부터 차량이 주행 중인 현재 차선을 결정하기 위해 필요한 데이터를 수신하고, 수신한 데이터에 기초하여 차량이 주행 중인 현재 차선을 결정할 수 있다.
한편, 프로세서(1420)는 데이터 학습부 및 데이터 인식부를 포함할 수 있다.
데이터 학습부는 상황 판단을 위한 기준을 학습할 수 있다. 데이터 학습부는 소정의 상황을 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 상황 판단을 위한 기준을 학습할 수 있다.
데이터 인식부는 데이터에 기초한 상황을 판단할 수 있다. 데이터 인식부는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초한 소정의 상황을 판단할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
예를 들어, 차량에 탑재된 촬영 장치에서 촬영된 이미지에 포함된 후보 차선들 각각에 대해 산출된 차선 확률 및 오프셋 벡터는, 촬영된 이미지로부터 후보 차선들 각각에 대한 차선 확률 및 오프셋 벡터를 산출하도록 학습된 데이터 인식 모델을 갱신하는데 이용될 수 있다.
또한, 차량에 탑재된 촬영 장치에서 촬영된 이미지에 포함된 제 1 선택 차선들 간의 연관성 매트릭스는, 촬영된 이미지로부터 제 1 선택 차선들 간의 연관성 매트릭스를 산출하도록 학습된 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부 및 데이터 인식부 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부 및 데이터 인식부 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부 및 데이터 인식부는 하나의 전자 장치(예를 들어, 차선 결정 장치)에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부 및 데이터 인식부 중 하나는 차선 결정 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 유선 또는 무선으로 통하여, 데이터 학습부가 구축한 모델 정보를 데이터 인식부로 제공할 수도 있고, 데이터 인식부로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부로 제공될 수도 있다.
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (11)

  1. 차선을 결정하기 위한 방법으로서,
    이미지를 획득하는 단계;
    학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선(eigenlane)을 획득하는 단계;
    상기 차선들을 상기 적어도 하나의 고유 차선의 선형 조합으로 표현하여 상기 차선들 각각에 대응하는 계수 벡터들을 생성하는 단계;
    상기 계수 벡터들에 기초하여 후보 차선들을 생성하는 단계;
    상기 이미지 내에서 상기 후보 차선들 각각에 대한 차선 확률에 기초하여 상기 후보 차선들 중 일부를 제 1 선택 차선들로 선택하는 단계: 및
    상기 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정하는 단계;
    를 포함하고,
    상기 최종 차선을 결정하는 단계는,
    상기 제 1 선택 차선들에 대응하는 복수의 노드들(nodes)을 생성하는 단계;
    상기 연관성 매트릭스에 기초하여 상기 제 1 선택 차선들 중 임의의 두 개의 차선들 간의 연관성 점수에 대응하는 적어도 하나의 에지(edge)를 생성하는 단계;
    상기 복수의 노드들 및 상기 적어도 하나의 에지로 구성된 그래프를 생성하는 단계; 및
    상기 그래프에 기초하여 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정하는 단계;
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 고유 차선을 획득하는 단계는,
    상기 학습 데이터에 포함된 차선들을 포함하는 차선 행렬을 생성하는 단계; 및
    상기 차선 행렬에 대하여 특이값 분해(Singular Value Decomposition)를 수행하여 상기 적어도 하나의 고유 차선을 획득하는 단계;
    를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 후보 차선들을 생성하는 단계는,
    상기 계수 벡터들에 대하여 K-평균 군집화(K-means Clustering)을 수행하여 상기 계수 벡터들 중 중심점에 해당하는 중심 계수 벡터들을 획득하는 단계; 및
    상기 중심 계수 벡터들 및 상기 적어도 하나의 고유 차선에 기초하여 상기 후보 차선들을 생성하는 단계;
    를 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 K-평균 군집화는 상기 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서 수행되는, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 선택 차선들로 선택하는 단계는,
    상기 후보 차선들을 상기 적어도 하나의 고유 차선에 대응하는 고유 차선 공간 상에 표시하는 단계;
    상기 후보 차선들 중 상기 차선 확률이 가장 큰 제 1 후보 차선을 선택하는 단계;
    상기 제 1 후보 차선과 인접한 후보 차선들을 제거하는 단계; 및
    상기 선택과 제거 과정을 소정의 횟수만큼 반복함으로써, 상기 후보 차선들 중 일부를 상기 제 1 선택 차선들로 선택하는 단계;
    를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 최종 차선을 결정하는 단계는,
    상기 이미지로부터 생성된 특징맵에서 상기 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하는 단계;
    상기 지역적 특징 벡터를 이용하여, 상기 제 1 선택 차선들 간의 간격이 동일한 것과 상기 제 1 선택 차선들이 소실점에서 교차하는지 여부를 나타내는 연관성 매트릭스를 생성하는 단계; 및
    상기 연관성 매트릭스에 기초하여 차선을 결정하는 단계;
    를 포함하는, 방법.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 이미지로부터 생성된 특징맵에서 상기 제 1 선택 차선들 각각의 지역적 특징 벡터를 추출하는 단계;
    상기 지역적 특징 벡터를 이용하여 상기 후보 차선들 각각에 대한 오프셋 벡터를 산출하는 단계;
    를 더 포함하는, 방법.
  9. 제 8 항에 있어서,
    상기 최종 차선을 결정하는 단계는,
    상기 적어도 하나의 고유 차선에 대응하는 고유 차선 공간에서, 상기 제 2 선택 차선들 각각에 대응하는 계수 벡터들에 상기 제 2 선택 차선들 각각에 대응하는 상기 오프셋 벡터를 적용하는 단계;
    상기 오프셋 벡터가 적용된 상기 제 2 선택 차선들을 최종 차선으로 결정하는 단계;
    를 포함하는, 방법.
  10. 차선을 결정하기 위한 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    이미지를 획득하고,
    학습 데이터에 포함된 차선들에 기초하여 적어도 하나의 고유 차선을 획득하고,
    상기 차선들을 상기 적어도 하나의 고유 차선의 선형 조합으로 표현하여 상기 차선들 각각에 대응하는 계수 벡터들을 생성하고,
    상기 계수 벡터들에 기초하여 후보 차선들을 생성하고,
    상기 이미지 내에서 상기 후보 차선들 각각에 대한 차선 확률에 기초하여 상기 후보 차선들 중 일부를 제 1 선택 차선들로 선택하고,
    상기 제 1 선택 차선들 간의 연관성 매트릭스에 기초하여 최종 차선을 결정하고,
    상기 프로세서는,
    상기 제 1 선택 차선들에 대응하는 복수의 노드들(nodes)을 생성하고,
    상기 연관성 매트릭스에 기초하여 상기 제 1 선택 차선들 중 임의의 두 개의 차선들 간의 연관성 점수에 대응하는 적어도 하나의 에지(edge)를 생성하고,
    상기 복수의 노드들 및 상기 적어도 하나의 에지로 구성된 그래프를 생성하고,
    상기 그래프에 기초하여 선택된 노드들에 대응하는 제 2 선택 차선들을 최종 차선으로 결정하는 것인, 장치.
  11. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210066611A 2021-05-25 2021-05-25 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치 KR102488983B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210066611A KR102488983B1 (ko) 2021-05-25 2021-05-25 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210066611A KR102488983B1 (ko) 2021-05-25 2021-05-25 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220158947A KR20220158947A (ko) 2022-12-02
KR102488983B1 true KR102488983B1 (ko) 2023-01-17

Family

ID=84417907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210066611A KR102488983B1 (ko) 2021-05-25 2021-05-25 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102488983B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455835B1 (ko) * 2014-06-16 2014-11-04 주식회사 지티 영상을 이용한 차선인식 및 추적시스템, 이를 이용한 차선인식 및 추적방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101906951B1 (ko) * 2013-12-11 2018-10-11 한화지상방산 주식회사 차선 검출 시스템 및 차선 검출 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455835B1 (ko) * 2014-06-16 2014-11-04 주식회사 지티 영상을 이용한 차선인식 및 추적시스템, 이를 이용한 차선인식 및 추적방법

Also Published As

Publication number Publication date
KR20220158947A (ko) 2022-12-02

Similar Documents

Publication Publication Date Title
US11163990B2 (en) Vehicle control system and method for pedestrian detection based on head detection in sensor data
US11928866B2 (en) Neural networks for object detection and characterization
US20220092983A1 (en) Trajectory prediction on top-down scenes and associated model
US11450117B2 (en) Hierarchical machine-learning network architecture
US10627818B2 (en) Temporal prediction model for semantic intent understanding
WO2020264010A1 (en) Low variance region detection for improved detection
CN111837156A (zh) 利用神经网络进行图像分析、视点感知模式识别以及生成多视图车辆表示的车辆重识别技术
JP2022552138A (ja) 衝突回避知覚システム
US11610078B2 (en) Low variance region detection for improved high variance region detection using machine learning
US11605236B2 (en) Training a machine-learned model to detect low variance regions
JP2016062610A (ja) 特徴モデル生成方法及び特徴モデル生成装置
WO2022216660A1 (en) Verifying reliability of data used for autonomous driving
CN114787739A (zh) 使用向量化输入的智能体轨迹预测
WO2021076772A1 (en) Cross batch normalization
Al Mamun et al. Lane marking detection using simple encode decode deep learning technique: SegNet
US11420623B2 (en) Systems for determining object importance in on-road driving scenarios and methods thereof
Al Mamun et al. Efficient lane marking detection using deep learning technique with differential and cross-entropy loss.
KR102488983B1 (ko) 난잡한 환경에서 곡선 차선을 결정하기 위한 방법 및 장치
KR102405472B1 (ko) 난잡한 환경에서 시맨틱 차선을 결정하기 위한 방법 및 장치
WO2021193103A1 (ja) 情報処理装置、情報処理方法、及びプログラム
KR102517086B1 (ko) 뉴럴 네트워크 모델을 이용하여 차선 폴리라인을 생성하는 장치 및 방법
Khosroshahi Learning, classification and prediction of maneuvers of surround vehicles at intersections using lstms
Tangsuksant et al. Viewpoint Classification for the Bus-Waiting Blinds in Congested Traffic Environment
US20240078817A1 (en) Apparatus and method for generating a lane polyline using a neural network model
US11529916B1 (en) Multiplexing sensor data

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant