KR102506411B1 - 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체 - Google Patents

차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체 Download PDF

Info

Publication number
KR102506411B1
KR102506411B1 KR1020220022032A KR20220022032A KR102506411B1 KR 102506411 B1 KR102506411 B1 KR 102506411B1 KR 1020220022032 A KR1020220022032 A KR 1020220022032A KR 20220022032 A KR20220022032 A KR 20220022032A KR 102506411 B1 KR102506411 B1 KR 102506411B1
Authority
KR
South Korea
Prior art keywords
vehicle
value
attitude
image
values
Prior art date
Application number
KR1020220022032A
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 포티투닷 주식회사
Priority to KR1020220022032A priority Critical patent/KR102506411B1/ko
Application granted granted Critical
Publication of KR102506411B1 publication Critical patent/KR102506411B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/18Stabilised platforms, e.g. by gyroscope
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3647Guidance involving output of stored or live camera images or video streams
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Abstract

본 발명은 차량의 위치 및 자세 추정 방법, 장치 및 기록매체에 관한 기술로, 본 발명의 일 실시 예에 따르면, 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하는 단계; 상기 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영하는 단계; 상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 로컬맵이 투영되는 후보 영역을 생성하는 단계; 상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하는 단계; 상기 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 단계;를 포함할 수 있다.

Description

차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체{METHOD AND APPARATUS FOR ESTIMATION OF LOCATION AND POSE ON VEHICLE AND RECORD MEDIUM FOR THIS}
본 발명은 차량의 위치 및 자세 추정 방법, 장치 및 기록매체에 관한 기술이다.
기존 사람이 운전하는 차량은 사람이 주변을 인식하고 네비게이션의 안내 경로에 따라 운전을 하는 방식이었다면, 최근 자율주행 모빌리티 관련하여 차량이 스스로 주행 경로를 판단하기 위한 다수의 기술들이 개발되고 있다.
그러나, GPS 기반의 차량의 위치 추적 기술은 소정의 에러를 내재하고 있어 이에 대한 보정 없이 GPS에 기반한 차량의 위치값을 자율주행 차량에 전적으로 적용하기에는 안전상의 우려가 발생할 수 있다. 또한, 터널과 같은 환경에서도 끊기지 않는 도로 정보의 획득과, 비전 인식 기반의 데이터 해석에서 이를 크로스 체크할 수 있는 보완 기술에 대한 요구도 높아지고 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체를 개시를 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 개시의 제1 측면은, 차량의 위치 및 자세 추정 방법에 있어서, 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하는 단계; 상기 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영하는 단계; 상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 영상내 로컬맵이 투영되는 후보 영역을 생성하고, 상기 영상에서 인식한 차선 영역과 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하는 단계; 상기 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 단계;를 포함할 수 있다.
또한, 상기 로컬맵 내 벡터 데이터를 영상 좌표값으로 변환하고, 상기 로컬맵을 상기 영상에 투영하는 단계는 상기 차량에 대해 상기 추정되거나 상기 결정된 차량의 위치값, 자세값 및 상기 도로 지면 정보를 기초로 상기 로컬맵 내 벡터 데이터를 상기 영상에 투영하는 단계일 수 있다.
또한, 도로 지면 정보를 생성하거나, 데이터베이스에 저장된 도로 지면 정보를 불러오는 단계를 더 포함하고, 상기 도로 지면 정보는, 도로 정보 중 3차원 좌표값을 가지는 정점(vertex)을 획득하는 단계; 상기 3차원 좌표값 중 샘플링을 통해 수직 방향 그리드를 획득하는 단계; 상기 수직 방향 그리드에서 상기 정점과 상기 인근의 다른 정점 사이의 고도차 및 기울기 값을 계산하여 도로 지면 정보를 추출하는 단계; 및 상기 추출한 도로 지면 정보를 소정의 인덱스로 나타내는 룩업테이블을 생성하는 단계;를 통해 생성된 정보일 수 있다.
또한, 상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 로컬맵이 투영되는 후보 영역을 생성하는 단계는, 로컬맵 투영 영역을 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 매개번수로 상기 오차 범위내 변경함으로써 생성하는 것 일 수 있다.
또한, 상기 손실함수를 계산하는 단계는, 상기 3축에 대한 이동 거리 및 상기 3축에 대한 회전 각도를 매개 변수로 가지는 비선형 방정식을 이용하여 최소값을 가지는 손실함수를 산출하는 단계일 수 있다.
또한, 상기 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 단계는, 상기 계산한 손실함수 중 최소의 손실함수를 선택하고, 상기 선택된 손실함수에 기초하여 상기 차량의 위치값 및 자세값에 대한 추정을 반복 수행함으로써 해당 차량에 대한 최적의 위치값 및 자세값을 결정하는 단계일 수 있다.
또한, 상기 최적의 위치값 및 자세값을 이용하여 상기 해당 차량에 대해 추정된 위치값 및 자세값을 갱신하는 단계; 및 상기 최적의 위치값 및 자세값을 데이터베이스에 저장하는 단계;를 더 포함할 수 있다.
본 개시의 제 2측면은, 차량의 위치 및 자세 추정 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하고, 상기 추정한 위치값 및 자세값을 기초로 영상의 시점에 대응하는 로컬맵을 상기 영상에 투영하고, 상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 로컬맵이 투영되는 후보 영역을 생성하고, 상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하고, 상기 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 것을 포함할 수 있다.
본 개시의 제3 측면은, 차량의 위치 및 자세 추정 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체일 수 있다.
본 발명의 일 실시 예에 따르면, 기존의 정밀 도로 지도가 구축되지 않는 도로 환경에서도 차량에 탑재된 카메라만으로 글로벌 맵에 구축된 도로 정보 및 주변 환경에 대한 정보를 해당 차량의 위치값 및 자세값에 따라 지역화된 지도(localized map)로부터 실시간으로 확보할 수 있다.
또한 본 발명의 일 실시 예에 따르면, 도로 지면 정보에 관한 데이터베이스를 더 생성할 수 있고, 도로 지면 정보를 기초로 차량에 대한 위치값 및 자세값을 정확하게 추정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 차량의 위치 및 자세 추정 방법에 관한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 차량의 위치 및 자세 추정 방법을 설명하기 위한 개념도이다.
도 3a 및 도 3b는 본 발명의 일 실시 예에 따른 도로 지면 정보를 생성하는 것을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 카메라가 촬영한 영상을 나타내는 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 영상 내 로컬맵을 투영하는 것을 설명하는 예시도이다.
도 6은 본 발명의 일 실시 예에 따른 후보 영역을 포함한 로컬맵 투영 영역을 설명하는 예시도이다.
도 7은 본 발명의 일 실시 예에 따른 영상에서 인식한 차선 영역에 대해 설명하는 예시도이다.
도 8은 본 발명의 일 실시 예에 따른 인식한 차선 영역 및 로컬맵 투영 영역을 설명하는 예시도이다.
도 9a 및 도 9b는 본 발명의 일 실시 예에 따른 시점-손실함수의 그래프 및 최적화 시점을 추출하는 것을 설명하는 일 예이다.
도 10은 본 발명의 다른 실시 예에 따른 차량의 위치 및 자세 추정 장치에관한 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로써 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
자율주행을 목표로 하는 차량은 실시간으로 주변 환경을 인식하고, 자율주행 차량에 적합한 맵을 기초로 적절한 운행 경로를 결정하는 것이 중요하다.
본 발명의 일 실시 예에 따르면 고해상도 맵을 미리 만들어놓고 이를 불러오는 방식이 아닌, 자율주행 차량에 탑재된 로컬맵 제작 장치를 통해 자율주행을 위한 데이터-셋을 수집하고 이를 기초로 로컬맵을 제작하는 것이 가능하다. 이때, 필요한 것이 로컬맵 제작 장치이며, 로컬맵 제작 장치는 차량의 촬영 영상을 실시간으로 해석하고, 차량의 주행 경로 설정에 필요한 데이터-셋을 선별 학습함으로써 실시간으로 로컬맵을 제작할 수 있다.
예를 들어, 글로벌 맵(Global map)이 일반적인 정밀 도로 지도 또는 경량화된 도로 지도라고 한다면, 여기서 로컬맵은 차량에서 촬영되는 영상을 해석하여 만들어지는 지역화된 지도(localized map)를 의미할 수 있다.
한편, 로컬맵은 단순히 차량의 영상으로부터 획득한 주변 정보 이외에, 차량의 운행 중 주변에 있을 것으로 예측되는 주변 환경에 대한 정보를 포함할 수 있다. 예를 들어, 로컬맵의 각 데이터-셋에는 주변 환경에 대한 정보가 어노테이션 정보로 생성될 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 차량의 위치 및 자세 추정 장치(100)에서 차량의 위치 및 자세 추정 방법에 관한 흐름도이다.
단계 110에서, 장치(100)는 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정할 수 있다. 일 예로, 장치(100)는 GPS 센서, 오도메트리 센서, 카메라 센서 중 적어도 하나 이상을 포함할 수 있다. 바람직하게는, 장치(100)는 GPS 센서를 통해 차량의 위치값을 추정하거나, 다른 센서에서 센싱한 값을 조합하여 차량의 위치값 및 자세값을 정밀하게 추정할 수 있다.
일 예로, GPS 센서는 차량의 위치값을 획득할 수 있다. 또한, 장치(100)는 차량에 탑재된 GPS 센서가 GPS 신호를 수신하면 실시각 이동 측위(RTK, Real Time Kinematic) 방식에 기초하여 GPS 오차를 보정한 차량의 위치값(위도, 경도, 고도)을 측위할 수 있다.
오도메트리(Odometry) 센서는 차량에 탑재되어 차량의 주행 거리를 측정하거나 차량의 주행을 기록하는 주행기록계가 될 수 있고, IMU(관성 측정 장비)는 차량의 가속도 및 각가속도로부터 차량의 자세 변화량을 측정할 수 있다. 바람직하게는, 장치(100)는 GPS 센서로부터 획득한 차량의 위치값과 상기 IMU에서 획득한 차량의 자세 변화량에 기초하여 차량의 위치값 및 자세값을 추정할 수 있다.
또한, 차량의 자세값은 차량내 탑재된 다수의 센서들로부터 측정될 수 있다. 예를 들어, 차량에는 가속도 센서, 자이로 센서, 중력 센서 등이 탑재될 수 있으며, 차량의 자세값은 차량의 진행 방향, 중력 방향, 및 차량에 수평 방향에 대한 3개의 축에 대한 이동 거리와, 각 축에서의 회전 각도로 표시될 수 있다.
예를 들어, 장치(100)는 차량으로부터 차량이 GPS 신호에 기반하여 실시각 이동 측위(RTK, Real Time Kinematic) 방법으로 측정한 위치값과, 차량에 부착된 다수의 센서로부터 센싱된 차량의 3축 방향 정보 및 3축에서의 회전각 데이터를 포함하는 자세값을 측위할 수 있다.
한편, 장치(100)는 차량내 탑재된 다수의 센서들로부터 측위된 차량의 위치값 및 자세값을 기초로 영상 좌표계에 적용할 수 있는 적어도 하나의 차량의 위치값 및 자세값을 추정할 수 있다.
카메라 센서는 차량의 전방, 후방, 측면 중 적어도 하나 이상에 위치하여 영상을 촬영할 수 있다. 만일 카메라 센서가 복수개 일 경우 차량내 상기 카메라 센서의 위치에 따른 켈리브레이션 값을 같이 획득할 수 있다.
예를 들어, 장치(100)는 복수개의 카메라 센서에 대한 캘리브레이션 값을 저장하고, 복수개의 카메라 센서가 획득한 각각의 영상을 상기 캘리브레이션 값에 기초하여 동기화할 수 있다. 이때, 장치(100)는 상기 캘리브레이션을 통해 실시간으로 획득되는 영상을 상기 추정한 차량의 위치값 및 자세값과 매핑할 수 있다.
장치(100)는 촬영 영상을 초당 몇 개의 이미지 프레임으로 추출할 지 설정할 수 있고, 이때 저장되는 이미지에는 각 이미지가 촬영될 때의 속성 정보, 예를 들어 각 이미지의 시점에 상응하는 위치값, 자세값을 포함할 수 있다.
단계 120에서, 장치(100)는 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영할 수 있다.
일 예로, 장치(100)는 도로 정보 및 주변 환경 중 적어도 하나 이상의 벡터 데이터를 포함하는 글로벌 맵(Global map) 중 상기 영상 촬영 시점으로부터 소정의 거리 이내 위치값을 가지는 벡터맵을 불러올 수 있다.
여기서, 장치(100)는 로컬맵 내 벡터 데이터를 영상 좌표값으로 변환하고, 로컬맵을 상기 영상에 투영하는 단계는 차량에 대해 상기 추정되거나 상기 결정된 차량의 위치값, 자세값 및 도로 지면 정보를 기초로 상기 로컬맵 내 벡터 데이터를 상기 영상에 투영하는 단계일 수 있다.
또한, 장치(100)는 도로 지면 정보를 생성하거나, 데이터베이스에 저장된 도로 지면 정보를 불러올 수 있다. 예를 들어, 도로 지면 정보는 영상 기반의 데이터 해석을 통해 생성되는 것으로, 상기 장치(100)뿐 아니라 외부의 프로세서 등을 통해 사전에 제작 또는 생성될 수 있고, 장치(100)는 서버에 저장된 도로 지면 정보에 관한 데이터베이스를 통해 상기 차량의 위치값 및 자세값에 상응하는 소정의 범위 이내 도로 지면 정보를 불러올 수 있다.
일 예로, 도로 지면 정보는, 장치(100)에서 도로 정보 중 3차원 좌표값을 가지는 정점(vertex)을 획득하는 단계, 상기 3차원 좌표값 중 샘플링을 통해 수직 방향 그리드를 획득하는 단계, 수직 방향 그리드에서 상기 정점과 상기 인근의 다른 정점 사이의 고도차 및 기울기 값을 계산하여 도로 지면 정보를 추출하는 단계, 및 추출한 도로 지면 정보를 소정의 인덱스로 나타내는 룩업테이블을 생성하는 단계를 통해 생성된 정보일 수 있다.
단계 130에서, 장치(100)는 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 영상 내 로컬맵이 투영되는 후보 영역을 생성할 수 있다.
일 예로, 장치(100)는 로컬맵 투영 영역을 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 매개 변수로 상기 오차 범위 내 변경함으로써 상기 로컬맵 투영 후보 영역을 생성할 수 있다.
단계 140에서, 장치(100)는 상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산할 수 있다.
이때, 장치(100)가 손실함수를 계산하는 단계는, 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 매개 변수로 가지는 비선형 방정식을 이용하여 최소값을 가지는 손실함수를 산출하는 단계일 수 있다.
단계 150에서, 장치(100)는 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점이 포함하는 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정할 수 있다. 일 예로, 장치(100)는 계산한 손실함수 중 최소의 손실함수를 선택하고, 상기 선택된 손실함수에 기초하여 상기 차량의 위치값 및 자세값에 대한 추정을 반복 수행함으로써 해당 차량에 대한 최적의 위치값 및 자세값을 결정할 수 있다.
한편, 장치(100)는 최적의 위치값 및 자세값을 이용하여 해당 차량에 대해 추정된 위치값 및 자세값을 갱신하는 단계 및 최적의 위치값 및 자세값을 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 차량의 위치 및 자세 추정 방법을 설명하기 위한 개념도이다.
차량의 위치 및 자세 추정 장치(100)는 GPS 센서(222), 오도메트리 센서(224), 관성 센서(226) 중 적어도 하나 이상을 포함할 수 있고, 장치(100)는 각 센서들이 센싱한 데이터들을 종합하여 차량의 위치값 및 자세값을 추정(230)할 수 있다. 바람직하게는, 장치(100)는 GPS 센서(222)를 통해 차량의 위치값을 획득하고, 다른 센서들로부터 센싱한 데이터들을 선택적으로 조합하여 차량의 위치값 및 자세값을 정밀하게 추정할 수 있다. 한편, 카메라 센서(210)가 영상을 촬영하면, 장치(100)는 촬영 영상에 딥러닝 객체 인식 알고리즘을 적용하여 차선 영역을 인식할 수 있다.
다른 한편으로, 장치(100)는 벡터맵(241)과 도로 지면 정보(242)를 참조하여 영상 내 로컬맵을 투영(240)할 수 있다. 벡터맵(241)은 도로 내 차선 영역, 방향 지시 표시, 건널목, 도로 교통 표지판에 관한 정보들이 영상 좌표계에 적용되는 맵(map)과 매핑된 벡터 데이터로써 저장될 수 있다.
도로 지면 정보(242)는 도로의 특정 위치에서의 고도, 경사 등에 관한 정보를 포함할 수 있다. 예를 들어, 기존의 네비게이션 시스템 또는 정밀 도로 지도 하에서는 도로 지면 정보에 관한 데이터가 수집되지 않았다. 그러나, 도로 지면의 경사도 등은 차량의 속도를 가감할 수 있는 요소이고, 도로 지면의 고도값을 기준으로 차량의 고도값을 보정해주어야 해당 차량에 대해 보다 정확한 위치값(위도, 경도, 고도)이 획득될 수 있다.
일 예로, 장치(100)는 벡터맵(241)으로부터 도로 지면 정보(242)를 생성할 수 있고, 또는 사전에 생성되어 저장 매체에 저장된 도로 지면 정보(242)를 불러올 수 있다.
도로 지면 정보(242)를 생성하는 프로세스는, 지도와 매핑되어 3차원 좌표계를 가지는 벡터맵(242)으로부터 정점(vertex)을 추출하고, 3축 좌표축에 대해 수직인 그리드로 샘플링된 룩업테이블(look-up table)을 생성할 수 있다. 여기서, 룩업테이블은 각 정점 별로 그 지점의 고도값 및 지면의 기울기(법선 벡터)를 가지고 있는 테이블이다.
도로 지면 정보(242)는, 3축 좌표계 상에서 소정의 정점들을 샘플링하고, 하나의 정점과, 상기 하나의 정점 인근의 다른 정점들과의 거리 차이에 기반하여 산출될 수 있다. 또한, 장치(100)는 3차원 좌표값을 가지는 정점 그룹을 생성하고, 정점 그룹 내 데이터를 보간(interpolation) 하여 룩업테이블 상에서의 대응되는 값들로 인덱스화할 수 있다. 룩업테이블에는 시작점(top-left corner point)과 끝점(bottom-right-corner point)까지 맵 좌표계 상에 대응하는 위치값이 매핑되어 있어, 맵 좌표계 상의 위치값(x,y)과 룩업테이블 상의 인덱스 간 상호 변환을 수행할 수 있다.
일 실시 예로, 장치(100)는 적어도 하나 이상의 센서에 기초하여 측위한 차량의 위치값을 룩업테이블의 인덱스로 변환하고, 상기 룩업테이블 인덱스로부터 차량의 위치값에 해당하는 도로의 고도값, 경사도, 경사 방향 등을 룩업테이블 상의 인접한 인덱스들로부터 보간하여 예측할 수 있다.
장치(100)는 카메라(210)에서 촬영한 영상 내 로컬맵을 투영(240)할 수 있다. 여기서 로컬맵은 상기 차량의 위치값 및 자세값에 대응하는 현재 시점을 기준으로 소정의 거리 이내 도로 정보 및 주변 환경 정보에 상응하는 벡터맵(241)을 불러오는 것일 수 있다. 이때, 로컬맵에는 차선 영역에 대응하는 벡터 데이터가 포함될 수 있다. 또한, 장치(100)는 로컬맵을 불러올 때 해당 차량의 위치값, 자세값 및 도로 지면 정보(242)를 더 고려한 시점 보정을 통해, 해당 차량에 맞춤화된 로컬맵을 불러올 수 있다.
예를 들어, 장치(100)는 영상 좌표계에서 적용 가능한 추정된 차량의 위치값 및 자세값을 기초로 소정의 거리 이내 벡터맵(241)들을 불러올 수 있다. 이때, 벡터맵(241)은 차량의 위치값, 자세값 및 캘리브레이션 값을 이용하여 영상 좌표값으로 변환될 수 있다.예를 들어, 적어도 하나 이상의 센서에 의해 측위한 차량의 위치값 및 자세값과, 장치(100)가 측위값을 기초로 추정한 차량의 위치값 및 자세값에는 오차가 포함되어 있을 수 있다. 이때, 장치(100)는 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 적어도 하나 이상의 후보 영역을 생성하고, 상기 영상에서 인식한 차선 영역과 상기 후보 영역이 매핑된 로컬맵을 비교함으로써 손실함수를 계산하고, 상기 손실함수를 최소화 하는 최적화를 수행함으로써 예측 정확도가 높은 위치값 및 자세값을 추정할 수 있다.
일 예로, 장치(100)는 시스템내에서 발생할 수 있는 최대 오차 범위내에서 후보 영역을 영상 내 투영할 수 있다. 일 예로, 만일 3축 좌표계 상에서 3개의 회전 각도(Roll, Pitch, Yaw)를 매개 변수로 하는 후보 영역을 생성하는 경우, 횡방향 후보, 종방향 후보, 수직(고도)방향 후보, X축 회전에 대한 후보, Y축 회전에 대한 후보, Z축 회전에 대한 후보 등 총 6개의 자유도를 가지는 후보 영역들을 생성할 수 있다.
예를 들어, 장치(100)는 6자유도를 가지는 변수로써 균일하게 후보 영역을 샘플링하거나, 오차 통계치에 기초한 가우시안 분포를 기초로 가용한 후보 영역을 생성할 수 있다.
한편, 장치(100)는 촬영 영상을 기반으로 딥러닝 추론에 의해 객체 인식(215)을 수행할 수 있고, 객체 인식 결과 차선 영역을 인식할 수 있다.
장치(100)는 각기 다른 방법으로 영상 내 투영된 차선 영역 및 후보 영역에 대한 비교를 통해 차선 영역간 불일치도를 산출할 수 있다. 바람직하게는, 장치(100)는 영상 좌표계 상에서 차선 인식 결과 및 로컬맵 내 벡터 데이터 투영 결과를 2D 좌표계인 영상 좌표계 상에서 비교할 수 있다. 한편, 이때 3D 좌표계로 구성된 상기 차량에 대해 추정한 위치값 및 자세값은 캘리브레이션 값 및 소정의 변환 파라미터들을 이용하여 영상 좌표계 상의 2D 좌표값으로 변환될 수 있다. 일 예로, 장치(100)는 3D 좌표계 상의 3축에 대한 이동 거리 및 3축에 대한회전 각도를 매개변수로 이루어진 비선형 방정식으로 손실함수를 정의할 수 있다. 이 경우, 영상 내 인식된 차선 영역과, 로컬맵 상의 벡터 데이터가 투영된 차선 영역 간 거리 평균이 작을수록 손실함수값이 작을 수 있다. 다른 예로, 영상 내 인식된 차선 영역과, 로컬맵 상의 벡터 데이터가 투영된 차선 영역 간 겹치는 정도가 높을수록 손실함수값이 작을 수 있다. 장치(100)는 손실함수를 3차원 이동 및 회전 변환에 대한 매개변수에 대해 미분(differentiable)하여 매개변수별로 최소의 손실함수값을 계산할 수 있다.
장치(100)는 손실함수 계산에 의해 복수의 시점 후보 중 하나의 시점을 선택하여, 차량에 대한 최적의 위치값 및 자세값을 결정(270)할 수 있다. 이때, 결정된 차량의 위치값 및 자세값은 차량의 위치값 및 자세값 추정(230) 단계에서 업데이트됨으로써 다음 프레임에서의 차량의 위치값 및 자세값 추정 시 반영될 수 있다.
도 3a 및 도 3b는 본 발명의 일 실시 예에 따른 로컬맵에 포함되는 도로 지면 정보를 생성하는 것을 설명하기 위한 도면이다.
장치(100)는 영상에서 도로 정보 및 주변 환경 정보 중 적어도 하나 이상에 관한 벡터 데이터를 포함하는 벡터맵을 표시할 수 있다. 일 예로, 벡터 데이터는 다양한 도로 환경, 지시물, 주변 환경에 관한 정보를 포함할 수 있다.
도 3a를 참고하면, 장치(100)는 영상 내 차선에 관한 벡터 데이터를 표시할 수 있다. 한편, 벡터맵은 소정의 3차원 좌표계를 사용하고, 장치(100)는 소정의 데이터 처리 과정을 통해 기존 벡터맵에서 포함하고 있지 않은 도로 지면 정보를 더 추출할 수 있다.
장치(100)는 벡터맵에서 소정의 간격으로 샘플링된 정점(vertex)들로부터 하나의 정점과, 인접한 정점들 사이 고도차, 경사도 차이를 산출하고, 샘플링된 각 정점들에 대한 고도차, 경사도 차이 계산을 반복 수행함으로써 벡터맵 내 각각의 도로 지면 정보를 추출할 수 있다.
도 3b를 참고하면, 장치(100)는 벡터맵에 대해 소정의 샘플링을 통해 정점들을 추출할 수 있다. 이때 소정의 영역(310)을 확대(320)하여 보면 소정의 간격으로 벡터맵 상에 3차원 좌표값을 가지는 정점들이 보인다. 여기서 임의의 한 정점(330)과, 주변에 인접한 4개의 정점(335)들 사이의 고도차, 경사도 차이를 산출할 수 있다. 한편, 여기서 주변에 인접한 정점들의 수는 하나의 실시 예로 제시된 것이며, 더 많은 수의 인접 정점들이 해당 정점의 거리, 방향성 정보를 획득하기 위해 계산에 이용될 수 있다.
장치(100)가 벡터맵 내 각 정점들에 대한 고도값 계산을 완료한 경우 도로 지면에 관한 정보가 획득될 수 있으며, 이는 벡터맵과 함께 저장되거나, 벡터맵과 별도의 데이터베이스(DB)에 저장될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 카메라가 촬영한 영상을 나타내는 예시도이다. 본 발명의 일 실시 예에 따르면, 차량에 탑재된 카메라를 통해 촬영한 영상(410)들을 인공지능(AI) 기반의 추론모델을 통해 분석함으로써 차량이 운행하고 있는 도로 정보 및 주변 환경에 대한 정보를 실시간으로 획득할 수 있다.
일 예로, 장치(100)는 촬영 영상(410)을 초당 몇 프레임의 이미지로 샘플링하여 이미지 프레임을 추출하고, 해당 이미지 프레임 내 객체 인식 알고리즘을 적용하여 형상 그룹(feature class)을 분류하고, 각 형상 그룹들을 인식함으로써 영상 내 포함된 객체에 대한 인식을 수행할 수 있다. 이때, 차량내 여러 대의 카메라가 탑재할 수 있으며, 카메라 장착 위치에 따라 복수의 시점에서 획득된 영상들이 카메라 캘리브레이션을 통해 각 영상 내 포함된 객체들이 동일한 객체인지 판단할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 영상(510) 내 객체를 인식하는 것을 설명하는 예시도이다. 일 예에 따르면, 글로벌 맵이 도로에 관한 정보 및 환경 정보들을 벡터 데이터로 매핑해놓은 광역 전역지도라고 한다면, 로컬맵은 차량의 현재 위치값 및 자세값을 기초로 소정의 거리 이내 국지적인 지역에 대해 매핑되는 벡터 데이터들을 포함하는 지역화된 맵이라고 할 수 있다.
도 5를 참고하면, 영상(510) 내 벡터 데이터는 방향 지시 표시(511, 512, 513), 차선(514, 517), 건널목(518), 도로 교통 표지판(519) 등 차량의 현재 위치값 및 자세값으로부터 소정의 시야 범위에 존재하는 표지 각각에 대한 정보들을 획득할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 로컬멥 투영 영역을 설명하는 예시도이다..
본 발명의 일 실시 예에 따른 장치(100)는 추정한 차량의 위치값 및 자세값에 대한 오차 범위를 기초로, 로컬맵 투영 영역에 대한 후보 영역을 생성하고, 후보 영역을 포함하는 로컬맵 투영 영역 (610, 620, 630, 640, 650)을 영상 내 투영할 수 있다.
차량에 탑재된 적어도 하나 이상의 센서들로부터 측위한 차량의 위치값 및 자세값은 소정의 오차 범위를 가질 수 있다. 또한, 각각의 센서들은 좌표계를 다르게 사용할 수 있어, 장치(100)가 측위한 차량의 위치값 및 자세값을 영상에 매핑하여 나타낼 때 차량의 위치값 및 자세값에 관한 추정을 통해 특정한 추정값을 계산할 수 있다.
한편, 장치(100)는 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 적어도 하나 이상의 로컬맵 투영 영역에 대한 후보 영역을 생성할 수 있다. 예를 들어, 장치(100)가 추정한 차량의 위치값 및 자세값을 기초로 소정의 범위를 가지는 후보 영역들이 생성될 수 있다.
일 예로, 장치(100)는 3 축(x, y, z)에 대해 회전 각도(roll, pitch, yaw)를 이용하여 6자유도를 가지는 매개변수 방정식에 근거하여, 오차 범위 내 소정의 범위를 가지는 로컬맵 투영 후보 영역을 생성할 수 있다.
도 6을 참고하면, 장치(100)는 후보 영역을 포함하는 로컬맵 투영 영역으로 소정의 차선 영역(610, 620, 630, 640, 650)이 영상 내 인식될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 영상에서 인식한 차선 인식 결과에 대해 설명하는 예시도이다. 장치(100)는 촬영 영상에 대한 객체 인식 알고리즘을 통해 차선 영역을 인식할 수 있다. 장치(100)는 각각 다른 방법에 의해 차선 영역을 인식함으로써 양 방법간 차이를 기초로 차선 영역에 대한 인식을 크로스 체크할 수 있다.
장치(100)는 인공지능 기반 객체 인식 알고리즘을 통해영상 내 객체에 대해 클래스를 분류하고, 차선과 같은 소정의 형상 그룹(feature class)에 대해서는 기 저장된 특징들을 기초로 보다 신속하고 정확한 객체 인식을 수행할 수 있다.
도 7을 참고하면, 장치(100)는 카메라가 촬영한 영상으로부터 차선 영역(710, 720, 730, 740, 750)을 인식할 수 있다. 이때, 장치(100)는 인식한 차선 영역을 점으로 표시할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 손실함수를 최소화하는 로컬맵과 차선 영역을 매핑한 결과를 나타내는 일 예이다. 도 6의 로컬맵 투영 영역과, 도 7의 영상 기반 차선 영역 인식 결과를 비교하였을 때 장치(100)는 양자간의 불일치에 대한 손실함수를 계산하여, 손실함수를 최소화하는 방향으로 최적화를 수행할 수 있다.
도 8을 참고하면, 장치(100)는 손실함수를 최소화하는 특정 시점을 선택함으로써, 선택된 특정 시점이 포함하는 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정할 수 있다.
도 8을 참고하면, 영상 내 차선 영역(810, 820, 830)이 현실의 도로 상황을 반영하여 보다 정확하게 인식된 것을 볼 수 있다. 이와 같이, 장치(100)는 각각 다른 두 개의 방법을 사용하여 차선 영역 인식에 대한 정확도를 높이고, 벡터 데이터들을 영상 내 보다 정확하게 투영하기 위한 도로 지면 정보들을 수집할 수 있다.
한편, 다수의 차량들로부터 도로 지면 정보가 수집되는 경우, 도로 지면 정보는글로벌 맵을 보완하거나, 글로벌 맵에 추가되는 정보로 어노테이션 되거나, 차량의 종류별 맞춤화된 시점 보정 데이터로써 활용될 수 있다.
도 9a 및 도 9b는 본 발명의 일 실시 예에 따른 시점-손실함수의 그래프 및 최적화 시점을 추출하는 것을 설명하는 일 예이다.
도 9a를 참고하면, 장치(100)가 로컬맵 내 벡터 데이터가 투영된 영역과, 촬영 영상으로부터 인식된 차선 영역 사이 차이값을 산출하고, 이를 기초로 양자간의 불일치 정도에 관한 손실함수를 계산할 수 있다. 여기서 손실함수는 3축 상에서 회전 각도로서 표시되는 6자유도를 가지는 매개변수 방정식으로 정의될 수 있다. 손실함수의 최소값은 해당 매개변수 방정식을 미분함으로써 구해질 수 있다.
도 9a를 참고하면, 장치(100)는 약 8개의 시점후보에 대한 손실함수를 계산하였고, 그 중 최소의 손실함수를 갖는 후보 영역 7이 최적의 차량의 위치값 및 자세값으로 결정될 수 있다.
도 9b를 참고하면, 장치(100)는 최적의 차량의 위치값 및 자세값이 결정된 이후에도, 다음 이미지 프레임의 해석시 사용하기 위해 추정된 차량의 위치값 및 자세값을 전술한 바와 같이 선택된 최적의 차량의 위치값 및 자세값에 기초하여 갱신하고, 이로부터 새로운 후보 영역을 생성하고, 최적의 차량의 위치값 및 자세값을 선택하는 등 최적화 과정을 반복하여 수행할 수 있다. 이 경우 도 9a에 비하여 보다 더 정밀한 최적화가 이루어지므로 해당 프로세스가 반복하여 시행될 때 도 9b와 같은 손실함수 그래프가 획득될 수 있다.
도 10은 본 발명의 다른 실시 예에 따른 차량의 위치 및 자세 추정 장치(100)에 관한 구성도이다. 일 실시 예에 따르면, 장치(100)는 프로세서(1110), 통신부(1120), 메모리(1130)를 포함할 수 있다. 한편, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
센서부(미도시)는 차량의 주변을 촬영하는 촬영 장치, GPS(Global Positioning System) 센서, 차량의 주행거리를 측정하기 위한 센서(예컨대, 차속계, 주행거리계, 가속도계, 관성 센서 등) 또는 차량의 회전각을 측정하기 위한 센서(예컨대, 지자기센서, 자이로 센서 등)를 포함할 수 있다. 차량의 주변을 촬영하는 장치는 차량 외부의 환경을 기록하도록 구성되는 스틸 카메라 또는 비디오 카메라일 수 있다. 촬영 장치는 복수의 카메라들을 포함할 수 있고, 복수의 카메라들은 차량의 내부 및 외부 상의 복수의 위치들에 배치될 수 있다. 센서부는 차량의 주변을 촬영하는 장치로부터 획득한 차량의 영상을 프로세서(1110)로 전송할 수 있다.
한편, 차량내 카메라는 다수의 위치에 배치될 수 있다. 예를 들어, 차량은전방, 우측면, 좌측면뿐 아니라, 차량 내 각 면에 2개 이상의 카메라를 배치함으로써 8개의 카메라로부터 촬영 영상을 획득하거나, 그 이상의 카메라를 더 배치할 수도 있다.
프로세서(1110)는 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(150)는 메모리(110)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(1120), 메모리(1130) 등을 전반적으로 제어할 수 있다. 프로세서(1110)는, 적어도 하나의 프로그램을 실행함으로써 연산을 수행할 수 있다.
여기서, 프로세서(1110)는 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), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
일 실시 예에 따르면, 프로세서(1110)는 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하고, 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영하고, 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 상기 로컬맵이 투영되는 후보 영역을 생성하고, 상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하고, 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정할 수 있다.
한편, 프로세서(1110)는 도로 지면 정보를 생성하거나, 데이터베이스에 저장된 도로 지면 정보를 불러올 수 있다. 이때, 도로 지면 정보는, 도로 정보 중 3차원 좌표값을 가지는 정점(vertex)을 획득하고, 상기 3차원 좌표값 중 샘플링을 통해 수직 방향 그리드를 획득하고, 수직 방향 그리드에서 상기 정점과 상기 인근의 다른 정점 사이의 고도차 및 기울기 값을 계산하여 도로 지면 정보를 추출하고, 추출한 도로 지면 정보를 소정의 인덱스로 나타내는 룩업테이블을 생성함으로써 생성될 수 있다.
또한, 프로세서(1110)는 추정한 위치값 및 자세값에 대한 오차 범위를 기초로 로컬맵이 투영되는 후보 영역을 생성할 수 있다. 일 예로, 프로세서(1110)는 추정한 위치값 및 자세값을 3축 상에서 소정의 회전 각도를 변경함으로써 6자유도를 가지고 생성되는 오차범위내 가용한 후보 영역을 생성할 수 있다.
한편, 프로세서(1110)는 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 변수로 가지는 비선형 방정식을 이용하여 최소값을 가지는 손실함수를 산출할 수 있다.
또한, 프로세서(1110)는 계산한 손실함수 중 최소의 손실함수를 선택함으로써 해당 차량에 대한 최적의 위치값 및 자세값을 결정할 수 있다.
또한, 프로세서(1110)는 최적의 위치값 및 자세값을 이용하여 상기 해당 차량에 대해 추정된 위치값 및 자세값을 갱신하거나, 최적의 위치값 및 자세값을 데이터베이스에 저장할 수 있다.
통신부(1120)는, 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1120)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다. 예를 들어, 통신부(1120)는 센서부의 GPS 센서가 수신한 GPS 신호를 프로세서(1110)에 전달할 수 있다.
메모리(1130)는 장치(100)내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(1110)의 처리 및 제어를 위한 적어도 하나의 프로그램을 저장할 수 있다. 예를 들어, 메모리(1130)는 프로세서(1110)가 처리한 각종 라우팅 경로 결정값을 저장할 수 있다.
메모리(1130)는 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), 또는 플래시 메모리를 포함할 수 있다.
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
하드웨어 장치로써 차량의 위치 및 자세 추정 장치(100)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 차량 위치 및 자세 추정 장치(100)는 경량화된 장비로 차량에 탑재될 수 있다. 일 예로, 차량 위치 및 자세 추정 장치(100)는 차량 내에 임베디드 되는 전자 장치일 수 있다. 또는 로컬맵 제작 장치는 차량 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 차량의 위치 및 자세 추정 장치
1110: 프로세서
1120: 통신부
1130: 메모리
210: 카메라
222: GPS
224: 오드메트리
226: 관성 센서
241: 벡터맵
242: 도로 지면 정보

Claims (9)

  1. 적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하는 단계;
    상기 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영하는 단계;
    상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로, 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 매개변수로 로컬맵 투영 영역을 상기 오차 범위내 변경함으로써 상기 영상내 로컬맵이 투영되는 후보 영역을 생성하는 단계;
    상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하는 단계;
    상기 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 단계;
    를 포함하는, 차량의 위치 및 자세 추정 방법.
  2. 제1항에 있어서,
    상기 로컬맵을 상기 영상에 투영하는 단계는,
    상기 로컬맵 내 벡터 데이터를 영상 좌표값으로 변환하고,
    상기 차량에 대해 상기 추정되거나 상기 결정된 차량의 위치값, 자세값 및 도로 지면 정보를 기초로 상기 로컬맵 내 벡터 데이터를 상기 영상에 투영하는 단계;를 더 포함하는, 차량의 위치 및 자세 추정 방법.
  3. 제2항에 있어서,
    상기 도로 지면 정보를 생성하거나, 데이터베이스에 저장된 도로 지면 정보를 불러오는 단계를 더 포함하고,
    상기 도로 지면 정보는,
    도로 정보 중 3차원 좌표값을 가지는 정점(vertex)을 획득하는 단계;
    상기 3차원 좌표값 중 샘플링을 통해 수직 방향 그리드를 획득하는 단계;
    상기 수직 방향 그리드에서 상기 정점과 인근의 다른 정점 사이의 고도차 및 기울기 값을 계산하여 도로 지면 정보를 추출하는 단계; 및
    상기 추출한 도로 지면 정보를 소정의 인덱스로 나타내는 룩업테이블을 생성하는 단계;를 통해 생성된 정보인, 차량의 위치 및 자세 추정 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 손실함수를 계산하는 단계는,
    상기 3축에 대한 이동 거리 및 상기 3축에 대한 회전 각도를 매개 변수로 가지는 비선형 방정식을 이용하여 최소값을 가지는 손실함수를 산출하는 단계인, 차량의 위치 및 자세 추정 방법.
  6. 제1항에 있어서,
    상기 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 단계는,
    상기 계산한 손실함수 중 최소의 손실함수를 선택하고, 상기선택된 손실함수에 기초하여 상기 차량의 위치값 및 자세값에 대한 추정을 반복 수행함으로써 해당 차량에 대한 최적의 위치값 및 자세값을 결정하는 단계인, 차량의 위치 및 자세 추정 방법.
  7. 제1항에 있어서,
    상기 최적의 위치값 및 자세값을 이용하여 상기 해당 차량에 대해 추정된 위치값 및 자세값을 갱신하는 단계; 및
    상기 최적의 위치값 및 자세값을 데이터베이스에 저장하는 단계;를 더 포함하는, 차량의 위치 및 자세 추정 방법.
  8. 차량의 위치 및 자세 추정 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    적어도 하나 이상의 센서를 이용하여 측위한 차량의 위치값 및 자세값에 기반하여 해당 차량의 위치값 및 자세값을 추정하고,
    상기 추정한 위치값 및 자세값을 기초로 영상의 시점을 결정하고, 상기 영상 시점에 대응하는 로컬맵을 상기 영상에 투영하고,
    상기 추정한 위치값 및 자세값에 대한 오차 범위를 기초로, 3축에 대한 이동 거리 및 3축에 대한 회전 각도를 매개변수로 로컬맵 투영 영역을 상기 오차 범위내 변경함으로써 상기 로컬맵이적어도 투영되는 후보 영역을 생성하고,
    상기 영상에서 인식한 차선 영역과 상기 후보 영역을 포함하는 로컬맵 투영 영역을 비교함으로써 손실함수를 계산하고,
    상기 계산한 손실함수에 기초하여 특정 시점을 선택하고, 상기 선택된 특정 시점에 포함된 차량의 위치값 및 자세값을 해당 차량에 대한 최적의 위치값 및 자세값으로 결정하는 것을 포함하는, 장치.
  9. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020220022032A 2022-02-21 2022-02-21 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체 KR102506411B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220022032A KR102506411B1 (ko) 2022-02-21 2022-02-21 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220022032A KR102506411B1 (ko) 2022-02-21 2022-02-21 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체

Publications (1)

Publication Number Publication Date
KR102506411B1 true KR102506411B1 (ko) 2023-03-07

Family

ID=85513661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220022032A KR102506411B1 (ko) 2022-02-21 2022-02-21 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체

Country Status (1)

Country Link
KR (1) KR102506411B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102616435B1 (ko) * 2023-07-21 2023-12-21 주식회사 모빌테크 지도 갱신 방법 및 이를 실행하기 위하여 기록매체에기록된 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200120402A (ko) * 2019-04-12 2020-10-21 에스케이텔레콤 주식회사 차량의 추정 위치 획득 장치 및 방법
KR102218881B1 (ko) * 2020-05-11 2021-02-23 네이버랩스 주식회사 차량 위치 결정 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200120402A (ko) * 2019-04-12 2020-10-21 에스케이텔레콤 주식회사 차량의 추정 위치 획득 장치 및 방법
KR102218881B1 (ko) * 2020-05-11 2021-02-23 네이버랩스 주식회사 차량 위치 결정 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102616435B1 (ko) * 2023-07-21 2023-12-21 주식회사 모빌테크 지도 갱신 방법 및 이를 실행하기 위하여 기록매체에기록된 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
CN111108342B (zh) 用于高清地图创建的视觉测程法和成对对准
US20210012520A1 (en) Distance measuring method and device
US10509983B2 (en) Operating device, operating system, operating method, and program therefor
EP2133662B1 (en) Methods and system of navigation using terrain features
CN110617821B (zh) 定位方法、装置及存储介质
CN111417871A (zh) 基于激光雷达利用高清晰度地图的集成运动估计的迭代最近点处理
KR101711964B1 (ko) 자유 공간 지도 생성 방법, 자유 공간 지도 생성 시스템, 자유 공간 지도를 이용한 전경/배경 추출 방법 및 전경/배경 추출 시스템
JP6656886B2 (ja) 情報処理装置、制御方法、プログラム及び記憶媒体
CN113406682B (zh) 一种定位方法、装置、电子设备及存储介质
CN110221328A (zh) 一种组合导航方法和装置
CN112815939B (zh) 移动机器人的位姿估计方法及计算机可读存储介质
JP2018081008A (ja) 基準映像地図を用いた自己位置姿勢標定装置
JP2022510418A (ja) 時間同期処理方法、電子機器及び記憶媒体
KR102115004B1 (ko) 항공사진을 이용하여 3차원 지도를 생성하는 장치 및 방법
Zhang et al. Vision-aided localization for ground robots
CN111837136A (zh) 基于本地感测的自主导航以及相关联的系统和方法
CN115690338A (zh) 地图构建方法、装置、设备及存储介质
CN110271553A (zh) 用于稳健地定位车辆的方法和设备
CN110989619B (zh) 用于定位对象的方法、装置、设备和存储介质
CN111241224B (zh) 目标距离估计的方法、系统、计算机设备和存储介质
KR102506411B1 (ko) 차량의 위치 및 자세 추정 방법, 장치 및 이를 위한 기록매체
JP2024032805A (ja) 航空写真を利用して三次元地図を生成する装置及びその方法
JP7337617B2 (ja) 推定装置、推定方法及びプログラム
CN113034538B (zh) 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
Tao et al. A fast and accurate camera-IMU calibration method for localization system

Legal Events

Date Code Title Description
GRNT Written decision to grant