KR20200130279A - 항법 정보를 익명화 하는 시스템 및 방법 - Google Patents

항법 정보를 익명화 하는 시스템 및 방법 Download PDF

Info

Publication number
KR20200130279A
KR20200130279A KR1020207025541A KR20207025541A KR20200130279A KR 20200130279 A KR20200130279 A KR 20200130279A KR 1020207025541 A KR1020207025541 A KR 1020207025541A KR 20207025541 A KR20207025541 A KR 20207025541A KR 20200130279 A KR20200130279 A KR 20200130279A
Authority
KR
South Korea
Prior art keywords
road
vehicle
road section
information
navigation
Prior art date
Application number
KR1020207025541A
Other languages
English (en)
Inventor
크피르 비엔테
엘리 하렐
아치야 탈 타미르
맥심 슈왈츠
도리 샤피라
님로드 네휴쉬탄
요람 그달야후
다니엘 브라운스테인
Original Assignee
모빌아이 비젼 테크놀로지스 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모빌아이 비젼 테크놀로지스 엘티디. filed Critical 모빌아이 비젼 테크놀로지스 엘티디.
Publication of KR20200130279A publication Critical patent/KR20200130279A/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/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/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P11/00Measuring average value of speed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01WMETEOROLOGY
    • G01W1/00Meteorology
    • G01W1/02Instruments for indicating weather conditions by measuring two or more variables, e.g. humidity, pressure, temperature, cloud cover or wind speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/646Following a predefined trajectory, e.g. a line marked on the floor or a flight path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/80Arrangements for reacting to or preventing system or operator failure
    • G05D1/81Handing over between on-board automatic and on-board manual control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • G06K9/00798
    • 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/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Electromagnetism (AREA)
  • Environmental & Geological Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Ecology (AREA)
  • Environmental Sciences (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

항법 데이터를 익명 처리하고 익명 처리된 데이터로 자율주행차 도로 항법 모델을 생성하는 시스템 및 방법이 제공된다. 항법 시스템은 도로 섹션에 관한 데이터를 차량으로부터 수신할 수 있다. 시스템은 차량과 연관된 하나 이상의 움직임 묘사 및 도로 섹션과 연관된 하나 이상의 도로 특성을 판단할 수 있다. 시스템을 도로 섹션의 제1 부분에 대한 항법 정보와 제2 부분에 대한 항법 정보를 취합할 수 있다. 제1 부분과 제2 부분은 제3 부분에 의해 공간적으로 분리될 수 있다. 시스템은 제1 부분과 제2 부분에 관한 항법 정보는 전송하고 제3 부분에 관한 정보를 전송하지 않을 수 있다. 서버는 전송된 항법 정보를 수신하고 자율주행차 도로 항법 모델을 취합할 수 있다. 서버는 자율 주행에 활용하기 위하여 하나 이상의 차량으로 항법 모델을 전송할 수 있다.

Description

항법 정보를 익명화 하는 시스템 및 방법
본 기재는 자율 주행에 관한 것이다.
기술 발전과 함께, 도로 위를 주행할 수 있는 완전 자율 자동차의 구현이 목전에 있다. 자율주행차는 의도한 목적지에 안전하고 정확하게 도착하기 위해 다양한 요인을 고려하고 그런 요인에 근거한 적절한 판단을 해야 할 수 있다. 예를 들어, 자율주행차는 시각 정보(예를 들면, 카메라로부터 캡처 된 정보)를 처리하고 해석해야 할 수 있고, 또한 기타 출처(예를 들면, GPS 장치, 속력 센서, 가속도계, 서스펜션 센서 등)로부터 획득한 정보를 이용할 수도 있다. 동시에, 자율주행차는, 목적지로 주행하기 위하여, 특정 도로 내의 위치(예를 들면, 다차선 도로 상의 차선)를 식별하고, 다른 차량과 나란히 주행하고, 장애물과 보행자를 회피하고, 신호등과 도로표지판을 관찰하고, 적절한 교차로나 분기점에서 한 도로에서 다른 도로로 이동할 필요가 있을 수도 있다. 목적지로 이동하면서 자율주행차에 의해 수집된 방대한 양의 정보를 활용하고 해석하는 것은 설계 상의 매우 어려운 숙제이다. 자율주행차가 분석, 접근 및/또는 저장해야 하는 데이터(예를 들면, 캡처 된 이미지 데이터, 지도 데이터, GPS 데이터, 센서 데이터 등)의 용량만으로도 자율 주행에 실제로 제한이 되거나 심지어 악영향을 주는 문제가 발생할 수 있다. 더 나아가, 자율주행차가 기존의 지도 기술에 의존하여 주행한다면, 지도의 저장과 업데이트에 필요한 데이터의 양은 해결하기 어려운 문제이다.
본 기재는 자율 주행에 관한 것이다.
본 기재의 실시예들은 자율 주행을 위한 시스템 및 방법을 제공한다. 기재된 실시예는 카메라를 사용하여 자율 주행 특징을 제공할 수 있다. 예를 들면, 기재된 실시예에 따라, 기재된 시스템은 차량의 주변상황을 모니터하는 하나, 둘, 또는 그 이상의 카메라를 포함할 수 있다. 기재된 시스템은, 예를 들어, 하나 또는 그 이상의 카메라에 의해 캡처 된 이미지의 분석에 근거하여 주행 반응을 제공할 수 있다.
일부 실시예에서, 상기 시스템 및 방법은 호스트 차량이 통과한 도로 섹션에 대해 익명 처리된 도출 정보를 수집하는 항법 시스템을 포함할 수 있다. 상기 항법 시스템은 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 본 기재에 따른 하나 이상의 기능, 프로세스, 또는 방법을 수행하도록 프로그램될 수 있다. 상기 프로세서는 상기 호스트 차량의 동작을 나타내는 출력을 수신하도록 프로그램될 수 있다. 상기 출력은 상기 호스트 차량과 연계된 하나 이상의 센서로부터 수신될 수 있다. 상기 프로세서는 상기 하나 이상의 센서로부터의 상기 출력에 적어도 부분적으로 의거하여 상기 호스트 차량에 대한 적어도 하나의 동작 묘사를 판단하도록 프로그램될 수 있다. 상기 프로세서는 상기 호스트 차량의 주변상황을 나타내는 적어도 하나의 이미지를 수신하도록 프로그램 될 수 있다. 상기 적어도 하나의 이미지는 카메라로부터 수신될 수 있고 상기 도로 섹션을 따라 있는 상기 주변상황의 묘사를 포함할 수 있다. 상기 프로세서는 상기 적어도 하나의 이미지를 분석하여 상기 도로 섹션과 연관된 적어도 하나의 도로 특성을 판단하도록 프로그램될 수 있다. 상기 프로세서는 상기 도로의 제1 부분에 관한 제1 도로 구간 정보를 취합하도록 프로그램 될 수 있다. 상기 제1 도로 구간 정보는 상기 호스트 차량에 대한 상기 판단된 적어도 하나의 동작 묘사를 포함할 수 있고, 상기 도로 섹션의 상기 제1 부분에 관한 상기 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 상기 프로세서는 상기 도로 섹션의 제2 부분에 관한 제2 도로 구간 정보를 취합하도록 프로그램 될 수 있다. 상기 제2 도로 구간 정보는 상기 제1 도로 구간 정보와 실질적으로 동일한 방식으로 취합될 수 있다. 상기 제2 도로 구간 정보는 상기 호스트 차량에 대한 상기 판단된 적어도 하나의 동작 묘사 및 상기 도로 섹션의 상기 제2 부분에 관한 상기 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 상기 도로 섹션의 상기 제2 부분은 상기 도로 섹션의 상기 제1 부분과 상이할 수 있고 상기 도로 섹션의 제3 부분에 의해 상기 도로 섹션의 상기 제1 부분으로부터 공간적으로 분리될 수 있다. 상기 프로세서는 자율주행차 도로 항법 모델의 구성을 위해 상기 호스트 차량에 상대적으로 위치한 서버로 상기 제1 도로 구간 정보 및 상기 제2 도로 구간 정보의 전송을 유발하도록 프로그램 될 수 있다. 상기 프로세서는 상기 도로 섹션의 상기 제3 부분에 관해 취합된 도로 구간 정보를 상기 서버로 전송하지 않도록 프로그램 될 수 있다.
일부 실시예에서, 상기 시스템 및 방법은 자율 주행에 활용하기 위한 차량 항법 정보를 처리하는 서버 기반 시스템을 포함할 수 있다. 상기 서버 기반 시스템은 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 본 기재에 따른 하나 이상의 기능, 프로세스, 또는 방법을 수행하도록 프로그램 될 수 있다. 상기 프로세서는 복수의 차량으로부터 항법 정보를 수신하도록 프로그램 될 수 있다. 상기 복수의 차량으로부터의 상기 항법 정보는 일반 도로 섹션에 관한 것일 수 있다. 상기 복수의 차량 각각으로부터의 상기 항법 정보는 상기 일반 도로 섹션의 제1 부분에 관한 도로 구간 정보 및 상기 일반 도로 섹션의 제2 부분에 관한 도로 구간 정보를 포함할 수 있다. 상기 제1 도로 구간 정보는 상기 호스트 차량에 대하여 판단된 적어도 하나의 동작 묘사 및 상기 일반 도로 섹션의 상기 제1 부분에 관하여 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 상기 제2 도로 구간 정보는 상기 호스트 차량에 대하여 판단된 적어도 하나의 동작 묘사 및 상기 일반 도로 섹션의 상기 제2 부분에 관하여 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 상기 도로 섹션의 상기 제2 부분은 상기 도로 섹션의 상기 제1 부분과 상이할 수 있고 상기 도로 섹션의 상기 제1 부분으로부터 공간적으로 분리될 수 있다. 상기 프로세서는 상기 일반 도로 섹션과 연관된 상기 항법 정보를 저장하도록 프로그램 될 수 있다. 상기 프로세서는 상기 복수의 차량으로부터 수신된 상기 항법 정보에 의거하여 상기 일반 도로 섹션에 대한 자율주행차 도로 항법 모델의 적어도 일부를 생성하도록 프로그램 될 수 있다. 상기 프로세서는 상기 일반 도로 섹션을 따라 한 대 이상의 자율주행차의 자율 주행에 활용하기 위해 상기 자율주행차 도로 항법 모델을 상기 한 대 이상의 자율주행차에 배포하도록 프로그램 될 수 있다.
다른 기재된 실시예에 따라, 비일시적 컴퓨터 가독 저장 매체는 적어도 하나의 처리 장치에 의해 실행되고 여기에 기재된 방법의 어느 하나 이상을 수행하는 프로그램 명령을 저장할 수 있다.
상기의 일반적인 설명과 하기의 상세한 설명은 예시일 뿐이며 본 발명의 청구범위를 제한하지 않는다.
본 기재에 포함되고 본 기재의 일부를 구성하는 첨부 도면은 기재된 다양한 실시예를 도시한다.
도 1은 기재된 실시예에 따른 예시적인 시스템의 개략도이다.
도 2a는 기재된 실시예에 따른 시스템을 포함하는 예시적인 자동차의 측면도이다.
도 2b는 기재된 실시예에 따른 도 2a의 자동차와 시스템의 평면도이다.
도 2c는 기재된 실시예에 따른 시스템을 포함하는 자동차의 다른 실시예의 평면도이다. 
도 2d는 기재된 실시예에 따른 시스템을 포함하는 자동차의 또 다른 실시예의 평면도이다.
도 2e는 기재된 실시예에 따른 시스템을 포함하는 자동차의 또 다른 실시예의 평면도이다.
도 2f는 기재된 실시예에 따른 예시적인 자동차 제어 시스템의 개략도이다.
도 3a는 기재된 실시예에 따른 차량 이미징 시스템을 위한 백미러(rear view mirror)와 사용자 인터페이스를 포함하는 차량의 실내를 개략적으로 예시한 것이다. 
도 3b는 기재된 실시예에 따른 백미러 뒤의 차량 전면 유리에 위치되도록 구성된 카메라 마운트의 일례이다.
도 3c는 기재된 실시예에 따른 도 3b의 카메라 마운트를 다른 시각에서 예시한 것이다.
도 3d는 기재된 실시예에 따른 백미러 뒤의 차량 전면 유리에 위치되도록 구성된 카메라 마운트의 일례이다.
도 4는 기재된 실시예에 따른 하나 이상의 동작의 수행을 위한 명령을 저장하도록 구성된 메모리의 예시적인 구성도이다. 
도 5a는 기재된 실시예에 따른 단안 이미지 분석에 근거한 하나 이상의 항법 반응을 야기하는 프로세스의 일례를 예시한 순서도이다.
도 5b는 기재된 실시예에 따른 일련의 영상에서 하나 이상의 차량 및/또는 보행자를 검출하는 예시적인 프로세스를 도시한 순서도이다.
도 5c는 기재된 실시예에 따른 일련의 영상에서 도로 표시 및/또는 차선 형상 정보를 검출하는 예시적인 프로세스를 도시한 순서도이다.
도 5d는 기재된 실시예에 따른 일련의 영상에서 신호등을 검출하는 예시적인 프로세스를 도시한 순서도이다.
도 5e는 기재된 실시예에 따른 차량 경로에 근거한 하나 이상의 항법 반응을 야기하는 예시적인 프로세스를 도시한 순서도이다.
도 5f는 기재된 실시예에 따른 선두 차량이 차선 변경을 하는지를 판단하는 예시적인 프로세스를 도시한 순서도이다.
도 6은 기재된 실시예에 따른 입체 영상 분석에 근거한 하나 이상의 항법 반응을 야기하는 예시적인 프로세스를 도시한 순서도이다.
도 7은 기재된 실시예에 따른 3개 집합의 영상에 근거한 하나 이상의 항법 반응을 야기하는 예시적인 프로세스를 도시한 순서도이다. 
도 8은 기재된 실시예에 따른 자율 주행을 제공하기 위한 스파스 맵을 도시한 것이다.
도 9a는 기재된 실시예에 따른 도로 구간의 일부의 다항식 표현을 예시한 것이다.
도 9b는 기재된 실시예에 따른 스파스 맵에 포함된, 특정 도로 구간에서의, 차량의 목표 궤적을 나타내는 3차원 공간의 곡선을 예시한 것이다.
도 10은 기재된 실시예에 따른 스파스 맵에 포함될 수 있는 예시적인 랜드마크를 도시한 것이다.
도 11a는 기재된 실시예에 따른 궤적들의 다항식 표현을 예시한 것이다.
도 11b와 도 11c는 기재된 실시예에 따른 다차선 도로 상의 목표 궤적들을 예시한 것이다.
도 11d는 기재된 실시예에 따른 도로 특징 프로필의 일례를 예시한 것이다.
도 12는 기재된 실시예에 따른 자율 주행을 위해 복수의 차량으로부터 수신된 크라우드소싱 데이터를 활용하는 시스템을 개략적으로 도시한 것이다.
도 13은 기재된 실시예에 따른 복수의 3차원 스플라인(spline)으로 표현된 자율주행차 도로 항법 모델의 일례를 예시한 것이다.
도 14는 기재된 실시예에 따른 여러 운행으로부터 위치 정보를 조합하여 생성된 맵 스켈레톤(map skeleton)을 도시한 것이다.
도 15는 기재된 실시예에 따른 예시적인 표지가 랜드마크인 두 운행의 종방향 정렬의 일례를 도시한 것이다.
도 16은 기재된 실시예에 따른 예시적인 표지가 랜드마크인 여러 운행의 종방향 정렬의 일례를 도시한 것이다.
도 17은 기재된 실시예에 따른 카메라, 차량, 및 서버를 활용하여 운행 데이터를 생성하는 시스템을 개략적으로 도시한 것이다.
도 18은 기재된 실시예에 따른 스파스 맵을 크라우드소싱 하는 시스템을 개략적으로 도시한 것이다.
도 19는 기재된 실시예에 따른 도로 구간을 따라 자율 주행을 하기 위한 스파스 맵을 생성하는 예시적인 프로세서를 도시한 순서도이다.
도 20은 기재된 실시예에 따른 서버의 구성도를 도시한 것이다.
도 21은 기재된 실시예에 따른 메모리의 구성도를 도시한 것이다.
도 22는 기재된 실시예에 따른 차량들과 연관된 차량 궤적을 클러스터링하는 프로세스를 도시한 것이다.
도 23은 기재된 실시예에 따른 자율 주행에 활용될 수 있는 차량의 항법 시스템을 도시한 것이다.
도 24는 기재된 실시예에 따른 메모리의 구성도를 도시한 것이다.
도 25는 기재된 실시예에 따른 항법 정보를 익명 처리하는 예시적인 프로세스를 도시한 순서도이다.
도 26a는 기재된 실시예에 따른 랜드마크와 동작 묘사가 있는 예시적인 도로 섹션을 도시한 것이다.
도 26b는 기재된 실시예에 따른 항법 시스템에 의해 캡처 될 수 있는 예시적인 이미지를 도시한 것이다.
도 26c는 기재된 실시예에 따른 항법 시스템에 의해 캡처 될 수 있는 예시적인 이미지를 도시한 것이다.
도 27은 기재된 실시예에 따른 도로 구간이 판단된 예시적인 도로 섹션을 도시한 것이다.
도 28은 기재된 실시예에 따른 자율주행차 도로 항법 모델의 양상을 묘사하는 예시적인 도로 섹션을 도시한 것이다.
도 29는 기재된 실시예에 따른 메모리의 구성도를 도시한 것이다.
도 30은 기재된 실시예에 따른 익명 처리된 항법 정보를 활용하여 자율주행차 도로 항법 모델을 생성 및 배포하는 예시적인 프로세스를 도시한 순서도이다.
하기의 상세한 설명은 첨부한 도면에 관한 것이다. 가능한 모든 경우에, 도면과 설명에서 동일 또는 유사한 구성요소에 동일한 참조 번호를 사용한다. 여러 예시적인 실시예를 설명하였지만, 다양한 수정, 응용, 구현 등이 가능하다. 예를 들어, 도면에 예시된 구성요소를 치환, 또는 추가, 수정할 수 있고, 설명에 포함된 방법은 단계를 치환하거나 순서를 바꾸거나 추가하여 수정할 수 있다. 따라서, 하기의 상세한 설명은 기재한 실시예와 예시에 국한되지 않고, 본 발명의 청구 범위는 첨부한 청구항에 의해 정의된다.
자율주행차의 개요
본 기재에서 사용된 "자율주행차"라는 용어는 운전자의 입력 없이 적어도 하나의 주행 변경을 구현할 수 있는 차량을 의미한다. "주행 변경"이란 차량의 조향, 제동, 가속의 하나 이상을 변경하는 것을 의미한다. 차량이 자율이기 위해서는 완전 자동(예, 운전자나 운전자의 입력 없이 완전히 동작)일 필요는 없다. 반면, 자율주행차는 특정 시간 동안은 운전자의 제어 하에 작동할 수 있고 다른 시간 동안은 운전자의 제어 없이 작동할 수 있는 차량을 포함한다. 자율주행차는 조향(예, 차량 진로의 차선 사이 유지)과 같은 일부 주행 양상만을 제어하고 나머지 양상(예, 제동)은 운전자에게 맡기는 차량도 포함할 수 있다. 일부 경우에, 자율주행차는 차량의 제동 및/또는 속도 제어, 조향의 일부 또는 모든 양상을 처리할 수 있다.
인간 운전자들은 차량을 제어하기 위해 흔히 시각적 신호와 관찰에 의존하므로, 교통 인프라는 이에 따라 구축되어, 차로 표시, 교통 표지, 신호등이 모두 운전자들에게 시각적 정보를 제공하도록 설계되었다. 교통 인프라의 이러한 설계 특징을 고려하여, 자율주행차는 카메라 및 차량의 주변으로부터 확보한 시각적 정보를 분석하는 처리부를 포함할 수 있다. 시각적 정보는, 예를 들어, 운전자가 눈으로 확인할 수 있는 교통 인프라의 구성요소(예, 차로 표시, 교통 표지, 신호등 등) 및 기타 장애물(예, 다른 차량, 보행자, 잔해 등)을 포함할 수 있다. 또한, 자율주행차는 주행 시에 차량 주변상황의 모델을 제공하는 정보와 같은 저장 정보도 사용할 수 있다. 예를 들어, 차량은 이동 중의 차량 주변상황과 관련된 정보를 제공하기 위하여 GPS 데이터, 센서 데이터(예, 가속도계, 속력 센서, 서스펜션 센서 등으로부터의 데이터), 및/또는 기타 지도 데이터를 활용할 수 있고, 차량(다른 차량도 함께)은 이런 정보를 이용하여 차량의 위치를 모델 상에서 알아낼 수 있다.
본 기재의 일부 실시예에서, 자율주행차는 항법 중에 확보된 정보(카메라, GPS 장치, 가속도계, 속력 센서, 서스펜션 센서 등으로부터의 정보)를 활용할 수 있다. 다른 실시예에서, 자율주행차는 항법 중에 자율주행차(또는 다른 차량)에 의해 과거 항법으로부터 확보된 정보를 활용할 수 있다. 또 다른 실시예에서, 자율주행차는 항법 중에 확보된 정보와 과거 항법으로부터 확보된 정보의 조합을 활용할 수 있다. 이하, 기재된 실시예에 따른 시스템의 개요를 설명하고, 전방 이미징 시스템의 개요와 전방 이미징 시스템에 따른 방법을 설명하기로 한다. 이후, 자율주행을 위한 스파스맵(sparse map)을 구축, 활용, 업데이트하는 시스템 및 방법에 대해 설명한다.
시스템 개요
도 1은 예시적으로 기재된 실시예에 따른 시스템(100)의 구성도이다. 시스템(100)은 특정 이행의 요구 조건에 따라 다양한 구성요소를 포함할 수 있다. 일부 실시예에서, 시스템(100)은 처리부(110), 이미지획득부(120), 위치센서(120), 하나 이상의 메모리부(140, 150), 지도 데이터베이스(160), 사용자 인터페이스(170), 무선 송수신기(172)를 포함할 수 있다. 처리부(110)는 하나 이상의 처리 장치를 포함할 수 있다. 일부 실시예에서, 처리부(110)는 애플리케이션 프로세서(180), 이미지 프로세서(190), 또는 기타 적합한 처리 장치를 포함할 수 있다. 이와 마찬가지로, 이미지획득부(120)는 특정 애플리케이션의 요구 조건에 따라 여러 개의 이미지 획득 장치 및 소자를 포함할 수 있다. 일부 실시예에서, 이미지획득부(120)는 이미지캡처장치(122, 124, 126)와 같은 하나 이상의 이미지캡처장치(예, 카메라)를 포함할 수 있다. 시스템(100)은 또한 처리 장치(110)와 이미지 획득 장치(120)를 서로 통신하도록 연결하는 데이터 인터페이스(128)를 포함할 수 있다. 예를 들어, 데이터 인터페이스(128)는 이미지 획득 장치(120)가 획득한 이미지 데이터를 처리부(110)로 전송하기 위한 단수 또는 복수의 유선 및/또는 무선 링크를 포함할 수 있다.
무선 송수신기(172)는 무선주파수, 또는 적외선 주파수, 자기장, 전기장을 사용하여 무선 인터페이스를 통하여 전파를 하나 이상의 네트워크(예, 이동통신, 인터넷 등)와 주고받도록 구성된 하나 이상의 장치를 포함할 수 있다. 무선 송수신기(172)는 공지의 표준(예, Wi- Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee 등)을 사용하여 데이터를 송신 및/또는 수신할 수 있다. 이러한 송신은 호스트 차량으로부터 하나 이상의 원격 서버로의 통신을 포함할 수 있다. 이러한 송신은 또한, 호스트 차량과 호스트 차량의 주변환경에 있는 한 대 이상의 타깃 차량 사이의 (일방 또는 쌍방) 통신(예, 호스트 차량의 주변환경에 있는 타깃 차량을 고려한/또는 타깃 차량과 함께 호스트 차량의 주행을 조정하기 위함) 또는 전송 차량의 주변에 있는 불특정 수신자에게 보내는 방송도 포함할 수 있다.
애플리케이션 프로세서(180)와 이미지 프로세서(190)는 모두 다양한 종류의 처리 장치를 포함할 수 있다. 예를 들어, 애플리케이션 프로세서(180)와 이미지 프로세서(190) 중 하나 또는 모두는 마이크로프로세서, 전처리 장치(예, 이미지 전처리 장치), 그래픽 처리 장치(GPU), 중앙 처리 장치(CPU), 보조 회로, 디지털 신호 처리 장치, 집적 회로, 메모리, 또는 애플리케이션을 실행하고 이미지를 처리 및 분석하기에 적합한 기타 모든 유형의 장치를 포함할 수 있다. 일부 실시예에서, 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)는 단일 또는 멀티 코어 프로세서, 모바일 장치 마이크로컨트롤러, 중앙 처리 장치의 한 종류를 포함할 수 있다. Intel®, AMD® 등과 같은 업체가 제공하는 프로세서들 또는 NVIDIA®, ATI® 등과 같은 업체가 제공하는 GPU들을 포함하는 다양한 처리 장치들이 사용될 수 있으며, 다양한 아키텍처(예, x86 프로세서, ARM® 등)가 포함될 수 있다.
일부 실시예에서, 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)는 Mobileye®가 제공하는 EyeQ 시리즈의 프로세서 칩을 포함할 수 있다. 이러한 프로세서 설계는 로컬 메모리와 명령 집합을 가진 다중 처리 장치를 포함한다. 이러한 프로세서는 복수의 이미지 센서로부터 이미지 데이터를 수신하는 비디오 인풋을 포함할 수 있고 비디오 아웃풋 기능도 포함할 수 있다. 일례로, EyeQ2®는 332Mhz로 작동하는 90nm-마이크론 기술을 사용한다. EyeQ2® 아키텍처는 두 개의 부동 소수점(floating point) 하이퍼 스레드(hyper-thread) 32비트 RISC CPU(MIPS32® 34K® cores), 다섯 개의 Vision Computing Engines (VCE), 세 개의 Vector Microcode Processors(VMP®), Denali 64비트 Mobile DDR Controller, 128비트 내부 Sonics Interconnect, 듀얼 16비트 비디오 인풋 및 18비트 비디오 아웃풋 제어 장치, 16채널 DMA 및 여러 주변 장치로 구성된다. MIPS34K CPU는 다섯 개의 VCE와 세 개의 VMPTM, DMA, 두 번째 MIPS34K CPU, 다중 채널 DMA, 및 기타 주변 장치를 관리한다. 다섯 개의 VCE, 세 개의 VMP® 및 MIPS34K CPU는 다기능 묶음 애플리케이션이 요구하는 집중 시각 연산(intensive vision computations)을 수행할 수 있다. 다른 일례에서, EyeQ2®보다 6배 강력한 3세대 프로세서인 EyeQ3®가 실시예에 사용될 수 있다. 다른 일례에서, EyeQ4® 및/또는 EyeQ5®가 기재된 실시예에 사용될 수 있다. 물론, 신형 또는 미래의 EyeQ 처리 장치도 기재된 실시예와 함께 사용될 수 있다.
여기에 기재된 처리 장치는 각각 특정한 기능을 수행하도록 구성될 수 있다. 특정한 기능을 수행하도록 상기의 EyeQ 프로세서 또는 기타 제어 장치 또는 마이크로프로세서와 같은 처리 장치를 구성하는 것은 컴퓨터 실행 명령을 프로그램하고 이러한 명령을 처리 장치가 작동하는 동안에 처리 장치에 제공하여 실행하도록 하는 것을 포함할 수 있다. 일부 실시예에서, 처리 장치를 구성하는 것은 구조적 명령으로 처리 장치를 직접 프로그램하는 것을 포함할 수 있다. 예를 들어, 필드 프로그램 게이트 어레이(FPGA), 주문형 시스템 반도체(ASIC) 등과 같은 처리 장치가 하나 이상의 하드웨어 기술 언어(HDL) 등을 활용하여 구성될 수 있다.
다른 실시예에서, 처리 장치를 구성하는 것은 작동 중에 처리 장치에 접속 가능한 메모리에 실행을 위한 명령을 저장하는 것을 포함할 수 있다. 예를 들어, 처리 장치는 작동 중에 메모리에 접속하여 저장된 명령을 획득하고 실행할 수 있다. 어느 경우이든, 여기에 기재된 검출, 이미지 분석, 및/또는 주행 기능을 수행하도록 구성된 처리 장치는 호스트 차량의 복수의 하드웨어 기반 구성요소를 제어하는 특화된 하드웨어 기반 시스템을 나타낸다.
도 1에는 두 개의 처리 장치가 처리부(110)에 포함된 것을 예시하였지만, 이보다 많거나 적은 처리 장치가 사용될 수 있다. 예를 들면, 일부 실시예에서, 애플리케이션 프로세서(180)와 이미지 프로세서(190)의 작업을 수행하기 위하여 단일 처리 장치를 사용할 수 있다. 다른 실시예에서, 이러한 작업은 2개 이상의 처리 장치를 사용하여 수행될 수 있다. 또한, 일부 실시예에서, 시스템(100)은 하나 이상의 처리부(110)를 포함하되 이미지획득부(120) 등과 같은 다른 구성요소를 포함하지 않을 수도 있다.
처리부(110)는 다양한 유형의 장치를 포함할 수 있다. 예를 들어, 처리부(110)는 제어 장치, 이미지 전처리 장치, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 보조 회로, 디지털 신호 처리 장치, 집적 회로, 메모리, 또는 이미지의 처리 및 분석을 위한 기타 유형의 장치 등과 같은 다양한 장치를 포함할 수 있다. 이미지 전처리 장치는 이미지 센서로부터 이미지를 캡처, 디지털화, 처리하기 위한 이미지 프로세서를 포함할 수 있다. CPU는 단수 또는 복수의 마이크로컨트롤러 또는 마이크로프로세서를 포함할 수 있다. GPU도 단수 또는 복수의 마이크로컨트롤러 또는 마이크로프로세서를 포함할 수 있다. 보조 회로는 캐시, 전원, 클락, 입/출력 회로 등과 같이 본 발명의 분야에서 일반적으로 공지된 단수 또는 복수의 회로를 포함할 수 있다. 메모리는 처리 장치에 의해 실행될 때 시스템의 동작을 제어하는 소프트웨어를 저장할 수 있다. 메모리는 단수 또는 복수의 RAM(random access memory), ROM(read only memory), 플래시 메모리, 디스크 드라이브, 광 저장 장치, 테이프 저장 장치, 탈착형 저장 장치, 및 기타 유형의 저장 장치를 포함할 수 있다. 일례에서, 메모리는 처리부(110)와 분리되어 있을 수 있다. 다른 예에서, 메모리는 처리부(110)와 일체로 구성될 수 있다. 
메모리(140, 150) 각각은 처리 장치(예, 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190))에 의해 실행되는 경우에 시스템(100)의 다양한 측면의 동작을 제어할 수 있는 소프트웨어 명령을 포함할 수 있다. 이러한 메모리 장치는 다양한 데이터베이스 및 이미지 처리 소프트웨어뿐만 아니라, 예를 들어, 신경망(neural network), 심층 신경망(deep neural network)과 같은 학습 시스템(trained system)을 포함할 수 있다. 이러한 메모리 장치는 RAM, ROM, 플래시 메모리, 디스크 드라이브, 광 저장 장치, 테이프 저장 장치, 탈착형 저장 장치 및/또는 기타 유형의 저장 장치를 포함할 수 있다. 일부 실시예에서, 메모리 장치(140, 150)는 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)와 분리되어 있을 수 있다. 다른 실시예에서, 이러한 메모리 장치는 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)와 일체로 구성될 수 있다.
위치센서(130)는 시스템(100)의 적어도 한 구성요소와 연관된 위치를 판단하기에 적합한 유형의 장치를 포함할 수 있다. 일부 실시예에서, 위치센서(130)는 GPS 수신기를 포함할 수 있다. 이러한 수신기는 GPS 위성이 송신하는 신호를 처리하여 사용자의 위치와 속도를 판단할 수 있다. 위치센서(130)로부터의 위치 정보는 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)로 제공될 수 있다.
일부 실시예에서, 시스템(100)은 차량(200)의 속도를 측정하기 위한 속력 센서(예, 회전속도계, 속도계) 및/또는 차량(200)의 가속을 측정하기 위한 가속도계(단축 또는 다축)를 포함할 수 있다. 
사용자 인터페이스(170)는 시스템(100)의 하나 이상의 사용자에게 정보를 제공하고 사용자로부터 입력을 수신하기 적합한 장치를 포함할 수 있다. 일부 실시예에서, 사용자 인터페이스(170)는 예를 들어 터치스크린, 마이크, 키보드, 포인터 장치, 트랙휠, 카메라, 노브, 버튼 등의 사용자 입력 장치를 포함할 수 있다. 이러한 입력 장치는 사용자로 하여금 명령 또는 정보를 타이핑하거나, 음성 명령을 제공하거나, 버튼, 포인터, 또는 눈동자 추적 기능을 사용하여 화면 상의 메뉴를 선택하거나, 시스템(100)과 정보를 교환하기 위한 기타 적합한 기술을 통하여 시스템(100)에 정보 입력 또는 명령을 제공할 수 있게 해준다.
사용자 인터페이스(170)는 사용자에게 정보를 제공하고 사용자로부터 정보를 수신하며 이러한 정보를 예를 들어 애플리케이션 프로세서(180)가 사용하게 처리하도록 구성된 하나 이상의 처리 장치를 구비할 수 있다. 일부 실시예에서, 이러한 처리 장치는 눈동자의 움직임을 인식 및 추적하고, 음성 명령을 수신 및 해석하고, 터치스크린 상의 터치 및/또는 제스처를 인식 및 해석하고, 키보드 입력 또는 메뉴 선택에 응답하는 등을 위한 명령을 수행할 수 있다. 일부 실시예에서, 사용자 인터페이스(170)는 디스플레이, 스피커, 촉감 장치, 및/또는 사용자에게 출력 정보를 제공하는 기타 장치를 포함할 수 있다.
지도 데이터베이스(160)는 시스템(100)에서 사용 가능한 지도 데이터를 저장하기 위한 모든 유형의 데이터베이스를 포함할 수 있다. 일부 실시예에서, 지도 데이터베이스(160)는 도로, 하천 지형, 지리적 지형, 사업체, 관심 지점, 식당, 주유소 등의 다양한 항목의 기준 좌표계 상 위치와 관련된 데이터를 포함할 수 있다. 지도 데이터베이스(160)는 이런 항목의 위치뿐만 아니라, 예를 들면, 저장된 지점 관련 명칭 등을 포함하는 설명을 저장할 수 있다. 일부 실시예에서, 지도 데이터베이스(160)는 시스템(100)의 다른 구성요소와 함께 물리적으로 배치될 수 있다. 대안적으로, 또는 추가적으로, 지도 데이터베이스(160) 또는 지도 데이터베이스(160)의 일부는 시스템(100)의 다른 구성요소(예, 처리부(110))에 대하여 원격으로 배치될 수 있다. 이 경우, 지도 데이터베이스(160)로부터의 정보는 네트워크와의 유선 또는 무선 데이터 연결(예, 이동통신망 및/또는 인터넷 등)을 통하여 다운로드 될 수 있다. 일부의 경우, 지도 데이터베이스(160)는 특정 도로 특징(예, 차로 표시) 또는 호스트 차량의 목표 궤적의 다항식(polynomial) 표현을 포함하는 스파스 데이터 모델을 저장할 수 있다. 이러한 지도를 생성하는 시스템 및 방법은 하기에 도 8 내지 도 19를 참조하여 설명한다.
이미지캡처장치(122, 124, 126)는 각각 주변 환경으로부터 적어도 하나의 이미지를 캡처하기에 적합한 유형의 장치를 포함할 수 있다. 또한, 이미지 프로세서로의 입력에 필요한 이미지를 캡처하기 위하여 여러 개의 이미지캡처장치를 사용할 수 있다. 일부 실시예는 단일 이미지캡처장치를 포함할 수 있는 반면, 다른 실시예는 두 개, 세 개, 또는 4개 이상의 이미지캡처장치를 포함할 수 있다. 이미지캡처장치(122, 124, 126)는 도 2b 내지 도 2e를 참조하여 하기에 추가로 설명한다.
시스템(100), 혹은 시스템(100)의 다양한 구성요소는 다양한 플랫폼에 구현될 수 있다. 일부 실시예에서, 시스템(100)은, 도 2a에 예시된 바와 같이, 차량(200)에 포함될 수 있다. 예를 들면, 차량(200)에는 도 1에 설명한 처리부(110) 및 시스템(100)의 기타 구성요소가 구비될 수 있다. 일부 실시예의 차량(200)에는 단일 이미지캡처장치(예, 카메라)만 구비될 수 있는 반면, 다른 실시예의 차량에는, 도 2b 내지 도 2e에 예시된 바와 같이, 여러 개의 이미지캡처장치가 사용될 수 있다. 예를 들어, 도 2a에 예시된 차량(200)의 이미지캡처장치(122, 124)는 첨단 운전자 지원 시스템(Advanced Driver Assistance Systems; ADAS) 이미징 세트의 일부일 수 있다.
이미지획득부(120)의 일부로서 차량(200)에 포함된 이미지캡처장치는 적합한 장소에 위치될 수 있다. 일부 실시예에서, 도 2a 내지 도 2e, 도 3a 내지 도 3c에 도시된 바와 같이, 이미지캡처장치(122)는 백미러 주위에 배치될 수 있다. 이 위치는 차량(200)의 운전자와 유사한 시선을 제공할 수 있으며, 이에 따라 운전자에게 보이는 것과 보이지 않는 것을 판단하는데 도움이 될 수 있다. 이미지캡처장치(122)는 백미러 주변의 임의의 위치에 배치될 수 있지만, 백미러의 운전자 측에 이미지캡처장치(122)를 배치하면 운전자의 시야 및/또는 시선을 나타내는 이미지를 획득하는데 더욱 도움이 될 수 있다.
이미지획득부(120)의 이미지캡처장치는 다른 위치에 배치될 수도 있다. 예를 들면, 이미지캡처장치(124)는 차량(200)의 범퍼 내부 또는 상에 배치될 수 있다. 이런 위치는 광시야를 가진 이미지캡처장치에 특히 적합할 수 있다. 범퍼에 위치한 이미지캡처장치의 시선은 운전자의 시선과 다를 수 있기 때문에 범퍼에 위치한 이미지캡처장치와 운전자는 항상 같은 대상을 보는 것이 아닐 수 있다. 이미지캡처장치(예, 122, 124, 126)는 또한, 다른 위치에 배치될 수 있다. 예를 들어, 이미지캡처장치는 차량(200)의 일측 또는 양측의 사이드미러 상 또는 내부에, 차량(200)의 지붕 상에, 차량(200)의 보닛 상에, 차량(200)의 측면에, 차량(200)의 윈도우 상, 후면 또는 전면에, 차량(200)의 전면 및/또는 후면 등화장치 상에 또는 주변 등의 위치에 배치될 수 있다.
차량(200)은 이미지캡처장치 외에도 시스템(100)의 다양한 기타 구성요소를 포함할 수 있다. 예를 들면, 처리부(110)는 차량(200)의 엔진제어장치(engine control unit, ECU)와 일체 또는 분리된 형태로 차량(200)에 포함될 수 있다. 차량(200)은 또한, GPS 수신기 등과 같은 위치센서(130), 지도 데이터베이스(160), 메모리부(140, 150)도 포함할 수 있다.
앞서 설명한 바와 같이, 무선 송수신기(172)는 하나 이상의 네트워크(예, 이동통신망, 인터넷 등)를 통하여 데이터를 송신 및/또는 수신할 수 있다. 예를 들어, 무선 송수신기(172)는 시스템(100)이 수집한 데이터를 하나 이상의 서버로 업로드하고 하나 이상의 서버로부터 데이터를 다운로드할 수 있다. 시스템(100)은 무선 송수신기(172)를 통하여, 예를 들어, 지도 데이터베이스(160) 및/또는 메모리(140, 150)에 저장된 데이터의 주기적 또는 일시적 업데이트를 수신할 수 있다. 마찬가지로, 무선 송수신기(172)는 시스템(100)으로부터의 데이터(예, 이미지획득부(120)가 캡처한 이미지, 위치센서(130), 기타 센서, 또는 차량 제어 시스템이 수신한 데이터 등) 및/또는 처리부(110)에 의해 처리된 데이터를 하나 이상의 서버에 업로드할 수 있다. 
시스템(100)은 개인정보보호 설정에 근거하여 서버(예, 클라우드)로 데이터를 업로드할 수 있다. 예를 들면, 시스템(100)은 개인정보보호 설정을 이행하여 서버로 보내지는 차량과 차량의 운전자/소유자를 개별적으로 확인해주는 데이터(메타데이터 포함)의 유형을 규제 또는 제한할 수 있다. 이런 설정은, 예를 들어, 사용자에 의해 무선 송수신기(172)를 통해 설정되거나, 공장설정으로 초기화되거나, 무선 송수신기(172)가 수신한 데이터에 의해 설정될 수 있다.
일부 실시예에서, 시스템(100)은 "높은" 개인정보보호 수준에 의거하여 데이터를 업로드할 수 있으며, 이렇게 설정하면 시스템(100)은 특정 차량 및/또는 운전자/소유자 정보 없이 데이터(예, 경로 관련 위치정보, 캡처 이미지 등)를 전송할 수 있다. 예를 들어, "높은" 개인정보보호 수준에 의거하여 데이터를 업로드할 경우, 시스템(100)은 차대번호 또는 차량 운전자 또는 소유자의 이름을 포함하지 않을 수 있고, 그 대신 캡처 이미지 및/또는 경로와 관련된 제한된 위치 정보 등의 데이터를 전송할 수 있다.
다른 개인정보보호 수준도 가능하다. 예를 들어, 시스템(100)은 "중간" 개인정보보호 수준에 의거하여 서버로 데이터를 전송할 수 있으며, 이 경우, "높은" 개인정보보호 수준 하에서 포함되지 않은 차량의 제조사 및/또는 모델 및/또는 차량 종류(예, 승용차, SUV, 트럭 등) 등의 추가 정보를 포함할 수 있다. 일부 실시예에서, 시스템(100)은 "낮은" 개인정보보호 수준에 의거하여 데이터를 업로드할 수 있다. "낮은" 개인정보보호 수준 하에서, 시스템(100)은 개별 차량, 소유자/운전자, 및/또는 차량이 이동한 전체 또는 일부 경로 등을 특정할 수 있는 정보를 포함하는 데이터를 업로드할 수 있다. 이러한 "낮은" 개인정보보호 수준 데이터는 예를 들어, 차대번호, 운전자/소유자 이름, 차량의 출발점, 차량의 목적지, 차량의 제조사 및/또는 모델, 차량의 종류 등을 포함할 수 있다.
도 2a는 기재된 실시예에 따른 차량 이미징 시스템의 일례의 측면도이다. 도 2b는 도 2a에 도시된 실시예의 평면도이다. 도 2b에 도시된 바와 같이, 본 실시예에 따른 차량(200)은 백미러 주변 및/또는 운전자 가까이 배치된 제1 이미지캡처장치(122), 범퍼 영역(예, 범퍼 영역(210)의 일 영역) 상 또는 내부에 배치된 제2 이미지캡처장치(124), 및 처리부(110)를 구비한 시스템(100)을 차체 내부에 포함한다.
도 2c에 도시된 바와 같이, 이미지캡처장치(122, 124)는 모두 차량(200)의 백미러 주변 및/또는 운전자 가까이 배치될 수 있다. 또한, 도 2b와 2c에는 이미지캡처장치(122, 124)가 두 개로 예시되었지만, 다른 실시예에서는 세 개 이상의 이미지캡처장치가 포함될 수 있음은 당연할 것이다. 예를 들어, 도 2d와 2e에 도시된 실시예에서는, 제1, 제2, 제3 이미지캡처장치(122, 124, 126)가 차량(200)의 시스템(100)에 포함되어 있다.
도 2d에 도시된 바와 같이, 이미지캡처장치(122)는 차량(200)의 백미러 주변 및/또는 운전자 가까이 배치될 수 있고, 이미지캡처장치(124, 126)는 차량(200)의 범퍼 영역(예, 범퍼 영역(210)의 일 영역) 상 또는 내부에 배치될 수 있다. 또한, 도 2e에 도시된 바와 같이, 이미지캡처장치(122, 124, 126)는 차량(200)의 백미러 주변 및/또는 운전자 가까이 배치될 수 있다. 본 실시예는 특정 수량 및 구성의 이미지캡처장치에 제한되지 않고, 이미지캡처장치는 차량의 내부 및/또는 상의 적절한 모든 위치에 배치될 수 있다.
기재된 실시예들은 차량에 한정되는 것이 아니라 당연히 다른 상황에도 적용될 수 있다. 또한, 기재된 실시예들은 특정 유형의 차량(200)에 한정되는 것이 아니라, 당연히 자동차, 트럭, 트레일러, 및 기타 유형의 차량 등, 모든 유형의 차량에 적용될 수 있다.
제1 이미지캡처장치(122)는 적합한 유형의 이미지캡처장치를 포함할 수 있다. 이미지캡처장치(122)는 광축을 포함할 수 있다. 일례에서, 이미지캡처장치(122)는 글로벌 셔터 방식의 Aptina M9V024 WVGA 센서를 포함할 수 있다. 다른 실시예에서, 이미지캡처장치(122)는 1280x960 픽셀의 해상도를 제공하고 롤링 셔터 방식을 포함할 수 있다. 이미지캡처장치(122)는 다양한 광학 소자를 포함할 수 있다. 일부 실시예에서, 하나 이상의 렌즈를 포함하여 이미지캡처장치가 요구하는 초점거리 및 시야 등을 제공할 수 있다. 일부 실시예에서, 이미지캡처장치(122)는 6mm 렌즈 또는 12mm 렌즈와 결합될 수 있다. 일부 실시예에서, 이미지캡처장치(122)는, 도 2d에 도시된 바와 같이, 필요한 시야(202)를 확보하도록 구성될 수 있다. 예를 들면, 이미지캡처장치(122)는, 46도 시야, 50도 시야, 52도 또는 그 이상의 시야 등과 같은, 40 내지 56도 범위의 일반 시야를 확보하도록 구성될 수 있다. 또는, 이미지캡처장치(122)는, 28도 시야 또는 36도 시야 등과 같은, 23 내지 40도 범위의 좁은 시야를 확보하도록 구성될 수 있다. 또한, 이미지캡처장치(122)는 100 내지 180도 범위의 넓은 시야를 확보하도록 구성될 수 있다. 일부 실시예에서, 이미지캡처장치(122)는 광각 범퍼 카메라 또는 180도 시야까지 확보 가능한 카메라를 포함할 수 있다. 일부 실시예에서, 이미지캡처장치(122)는 약 2:1(예, HxV=3800x1900 픽셀)의 종횡비와 약 100도의 수평 시야를 가진 7.2 메가픽셀 이미지캡처장치일 수 있다. 이러한 이미지캡처장치는 3개의 이미지캡처장치 구성을 대신할 수 있다. 방사상으로 대칭인 렌즈를 사용하는 이러한 이미지캡처장치의 수직 시야는 렌즈 왜곡으로 인하여 50도 이하로 구현될 수 있다. 예를 들어, 방사상으로 비대칭인 렌즈를 사용하여 수평 시야가 100도인 경우에 수직 시야가 50도 이상이 되게 할 수 있다.
제1 이미지캡처장치(122)는 차량(200)과 관련된 장면에 대한 복수의 제1 이미지를 획득할 수 있다. 복수의 제1 이미지 각각은 롤링 셔터를 사용하여 캡처 된 연속 주사선으로 획득될 수 있다. 각 주사선은 복수의 픽셀을 포함할 수 있다.
제1 이미지캡처장치(122)는 제1 연속 주사선 획득 관련 주사율을 가질 수 있다. 주사율이란 이미지 센서가 특정 주사선에 포함된 각 픽셀과 관련된 이미지 데이터를 획득하는 속도를 의미할 수 있다.
이미지캡처장치(122, 124, 126)는, 예를 들어, CCD 센서 또는 CMOS 센서와 같은, 적합한 유형과 개수의 이미지 센서를 포함할 수 있다. 일 실시예에서, 롤링 셔터 방식의 CMOS 이미지 센서를 도입하여 한 열의 각 픽셀을 하나씩 읽고, 전체 이미지 프레임이 캡처될 때까지 열별로 주사가 진행될 수 있다. 일부 실시예에서, 프레임에 대하여 각 열이 위에서 아래로 순차적으로 캡처될 수 있다.
일부 실시예에서, 여기에 기재된 하나 이상의 이미지캡처장치(122, 124, 126)는 고해상 이미저(high resolution imager)를 구성하고 5메가, 7메가, 10메가 또는 그 이상의 픽셀의 해상도를 가질 수 있다.
롤링 셔터를 사용하면, 서로 다른 열의 픽셀이 서로 다른 시간에 노출되고 캡처 될 수 있어서, 캡처 된 이미지 프레임에 왜곡(skew)과 기타 이미지 결함(artifact)이 나타날 수 있다. 반면, 이미지캡처장치(122)가 글로벌 셔터 방식 또는 동기화 셔터(synchronous shutter) 방식으로 작동하도록 구성된 경우, 모든 픽셀은 동일 시간만큼 그리고 일반적인 노출 시간 동안 노출될 수 있다. 그 결과, 글로벌 셔터 방식을 적용한 시스템에서 수집된 프레임의 이미지 데이터는 특정 시간의 전체 시야(예, 202)의 스냅 샷을 나타낸다. 반면, 롤링 셔터 방식에서는, 서로 다른 시간에 한 프레임의 각 열이 노출되고 데이터가 수집된다. 따라서, 롤링 셔터 방식 이미지캡처장치의 이미지 내의 움직이는 물체는 왜곡돼 보일 수 있다. 이 현상에 대해서는 하기에서 더 자세히 설명한다.
제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 각각 적합한 유형의 이미지캡처장치일 수 있다. 제1 이미지캡처장치(122)와 마찬가지로, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 각각 광축을 포함할 수 있다. 일 실시예에서, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 각각 글로벌 셔터 방식의 Aptina M9V024 WVGA 센서를 포함할 수 있다. 또는, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 각각 롤링 셔터 방식을 포함할 수 있다. 제1 이미지캡처장치(122)와 마찬가지로, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 각각 다양한 렌즈와 광학 소자를 포함하도록 구성될 수 있다. 일부 실시예에서, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)와 관련된 렌즈는 제1 이미지캡처장치(122)와 관련된 시야(예, 202)와 동일하거나 이보다 좁은 시야(204, 206)를 제공할 수 있다. 예를 들어, 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)의 시야는 각각 40도, 30도, 26도, 20도, 또는 그 이하일 수 있다.
제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 차량(200)과 관련된 장면에 대한 복수의 제2 및 제3 이미지를 획득할 수 있다. 복수의 제2 및 제3 이미지 각각은 롤링 셔터를 사용하여 캡처 된 제2 및 제3 연속 주사선으로 획득될 수 있다. 각 주사선 또는 열은 복수의 픽셀을 포함할 수 있다. 제2 이미지캡처장치(124)와 제3 이미지캡처장치(126)는 제2 및 제3 연속 주사선 획득 관련 제2 및 제3 주사율을 가질 수 있다.
이미지캡처장치(122, 124, 126)는 각각 차량(200)의 적합한 위치와 자세로 배치될 수 있다. 이미지캡처장치(122, 124, 126)의 상대적 배치는 이미지캡처장치로부터 획득된 정보의 융합이 용이하도록 선택될 수 있다. 예를 들어, 일부 실시예에서, 제2 이미지캡처장치(124)의 시야(예, 204)는 제1 이미지캡처장치(122)의 시야(예, 202) 및 제3 이미지캡처장치(126)의 시야(예, 206)와 부분적으로 또는 완전히 겹칠 수도 있다.
이미지캡처장치(122, 124, 126)는 차량(200)의 적합한 상대 높이에 배치될 수 있다. 일례에서, 이미지캡처장치(122, 124, 126) 사이의 높이에 차이를 두어 입체 분석을 가능하게 하는 시차 정보를 제공할 수 있다. 예를 들면, 도 2a에 도시된 바와 같이, 이미지캡처장치(122)와 이미지캡처장치(124)는 서로 높이가 다르다. 이미지캡처장치(122, 124, 126) 사이에 횡방향 변위 차이도 있어 처리부(110) 등에 의한 입체 분석을 위한 추가 시차 정보도 제공할 수 있다. 도2C와 도2D에 도시된 바와 같이, 횡방향 변위의 차이는 dx로 표시될 수 있다. 일부 실시예에서, 이미지캡처장치(122, 124, 126) 사이에 전방 또는 후방 변위(예, 범위 변위)가 있을 수 있다. 예를 들어, 이미지캡처장치(122)는 이미지캡처장치(124) 및/또는 이미지캡처장치(126)의 0.5 내지 2미터 후방에 배치될 수 있다. 이런 유형의 변위로 인해, 이미지캡처장치 중 하나가 나머지 이미지캡처장치의 사각 지대를 보완할 수 있다.
이미지캡처장치(122)는 적합한 해상도(예, 이미지 센서 관련 픽셀 수)를 가질 수 있고, 이미지캡처장치(122)와 연관된 이미지 센서의 해상도는 이미지캡처장치(124, 126)와 연관된 이미지 센서의 해상도와 비교하여 높거나, 낮거나, 같을 수 있다. 일부 실시예에서, 이미지캡처장치(122) 및/또는 이미지캡처장치(124, 126)와 연관된 이미지 센서의 해상도는 640 x 480, 1024 x 768, 1280 x 960, 또는 기타 적합한 해상도일 수 있다.
프레임 속도(frame rate, 즉, 이미지캡처장치가 다음 이미지 프레임의 픽셀 데이터를 획득하기 위해 넘어가기 전에 한 이미지 프레임의 픽셀 데이터 집합을 획득하는 속도)는 제어 가능하다. 이미지캡처장치(122)의 프레임 속도는 이미지캡처장치(124, 126)의 프레임 속도보다 높거나, 낮거나, 같을 수 있다. 이미지캡처장치(122, 124, 126)의 프레임 속도는 프레임 속도의 타이밍에 영향을 주는 다양한 요인에 의거할 수 있다. 예를 들면, 하나 이상의 이미지캡처장치(122, 124, 126)는 탑재한 이미지 센서의 하나 이상의 픽셀 관련 이미지 데이터를 획득하기 전 또는 후에 부과되는 선택적 픽셀 지연 기간(selectable pixel delay period)을 포함할 수 있다. 일반적으로, 각 픽셀에 상응하는 이미지 데이터는 해당 장치의 클락 속도(clock rate)에 의거하여(예, 클락 주파수(clock cycle) 당 1 픽셀) 획득된다. 또한, 롤링 셔터 방식을 포함하는 실시예에서, 하나 이상의 이미지캡처장치(122, 124, 126)는 탑재한 이미지 센서의 한 열의 픽셀 관련 이미지 데이터를 획득하기 전 또는 후에 부과되는 선택적 수평 귀선 기간(selectable horizontal blanking period)을 포함할 수 있다. 나아가, 하나 이상의 이미지캡처장치(122, 124, 126)는 이미지 프레임 관련 이미지 데이터를 획득하기 전 또는 후에 부과되는 선택적 수직 귀선 기간(selectable vertical blanking period)을 포함할 수 있다.
이러한 타이밍 제어로 인해, 이미지캡처장치(122, 124, 126)의 선주사 속도(line scan rate)가 서로 다른 경우에도 이미지캡처장치(122, 124, 126)의 프레임 속도의 동기화가 가능하다. 또한, 하기에 더 자세히 설명하겠지만, 여러 요인(예, 이미지 센서 해상도, 최고 선주사 속도 등) 중에서 이러한 타이밍 제어로 인해, 이미지캡처장치(122)의 시야가 이미지캡처장치(124, 126)의 시야와 다른 경우에도, 이미지캡처장치(122)의 시야와 이미지캡처장치(124, 126)의 하나 이상의 시야가 겹치는 영역으로부터 캡처 된 이미지의 동기화가 가능할 수 있다.
이미지캡처장치(122, 124, 126)의 프레임 속도 타이밍은 상응하는 이미지 센서의 해상도에 의거할 수 있다. 예를 들어, 두 장치의 선주사 속도가 유사하다고 가정할 때, 한 장치의 이미지 센서의 해상도가 640×480이고 다른 장치의 이미지 센서의 해상도가 1280×960일 경우, 높은 해상도를 가진 센서로부터 이미지 데이터의 프레임을 획득하는데 더 많은 시간이 걸릴 것이다.
이미지캡처장치(122, 124, 126)의 이미지 데이터 획득 타이밍에 영향을 주는 또 다른 요인은 최고 선주사 속도(maximum line scan rate)이다. 예를 들면, 이미지캡처장치(122, 124, 126)에 포함된 이미지 센서로부터 한 열의 이미지 데이터를 획득하려면 최소 시간 이상이 걸릴 수 있다. 픽셀 지연 기간이 추가되지 않았다고 가정할 때, 한 열의 이미지 데이터를 획득하기 위한 최저 시간은 특정 장치의 최고 선주사 속도와 관계가 있을 것이다. 최고 선주사 속도가 높은 장치는 최고 선주사 속도가 낮은 장치보다 높은 프레임 속도를 제공할 가능성이 있다. 일부 실시예에서, 하나 이상의 이미지캡처장치(124, 126)의 최고 선주사 속도는 이미지캡처장치(122)의 최고 선주사 속도보다 높을 수 있다. 일부 실시예에서, 이미지캡처장치(124 및/또는 126)의 최고 선주사 속도는 이미지캡처장치(122)의 최고 선주사 속도보다 1.25배, 1.5배, 1.75배, 2배, 또는 그 이상 높을 수 있다.
다른 실시예에서, 이미지캡처장치(122, 124, 126)의 최고 선주사 속도는 모두 동일하지만, 이미지캡처장치(122)는 최고 주사 속도 이하의 주사 속도로 동작할 수 있다. 시스템은 하나 이상의 이미지캡처장치(124, 126)가 이미지캡처장치(122)의 선주사 속도와 동일한 선주사 속도로 동작하도록 구성될 수 있다. 다른 예에서, 시스템은 이미지캡처장치(124 및/또는 126)의 선주사 속도가 이미지캡처장치(122)의 선주사 속도보다 1.25배, 1.5배, 1.75배, 2배, 또는 그 이상 높도록 구성될 수 있다.
일부 실시예에서, 이미지캡처장치(122, 124, 126)는 비대칭일 수 있다. 즉, 이미지캡처장치(122, 124, 126)는 시야와 초점거리가 서로 다른 카메라를 포함할 수 있다. 이미지캡처장치(122, 124, 126)의 시야는 차량(200)의 주변상황 등과 관련된 필요 영역을 포함할 수 있다. 일부 실시예에서, 하나 이상의 이미지캡처장치(122, 124, 126)는 차량(200)의 전방, 후방, 측방, 또는 그 조합의 주변상황으로부터 이미지 데이터를 획득하도록 구성될 수 있다.
또한, 각 이미지캡처장치가 차량(200)에 대한 특정 거리 범위에 있는 물체의 이미지를 획득하도록 각 이미지캡처장치(122, 124, 126)의 초점거리가 선택될(예, 적합한 렌즈 적용) 수 있다. 예를 들어, 일부 실시예에서, 이미지캡처장치(122, 124, 126)는 차량으로부터 몇 미터 내에 있는 물체의 클로즈업 이미지를 획득할 수 있다. 이미지캡처장치(122, 124, 126)는 차량으로부터 멀리 떨어진 범위(예, 25m, 50m, 100m, 150m, 또는 그 이상)에 있는 물체의 이미지를 획득하도록 구성될 수도 있다. 또한, 한 이미지캡처장치(예, 122)는 차량과 상대적으로 가까운(예, 10m 또는 20m 이내) 물체의 이미지를 획득하고 나머지 이미지캡처장치(예, 124, 126)는 이보다 멀리 있는(예, 20m, 50m, 100m, 150m 이상) 물체의 이미지를 획득하도록 이미지캡처장치(122, 124, 126)의 초점거리가 선택될 수 있다.
일부 실시예에 의하면, 하나 이상의 이미지캡처장치(122, 124, 126)의 시야는 광각일 수 있다. 예를 들면, 차량(200) 주변 영역의 이미지를 획득하기 위해 사용되는 이미지캡처장치(122, 124, 126)의 시야는 140도일 경우가 유리할 수 있다. 예를 들어, 이미지캡처장치(122)는 차량(200)의 우측 또는 좌측 영역의 이미지를 캡처하기 위해 사용될 수 있고, 이런 실시예에서 이미지캡처장치(122)는 넓은 시야(예, 140도 이상)를 가지는 것이 바람직할 수 있다.
이미지캡처장치(122, 124, 126)의 시야는 각 초점거리에 의거할 수 있다. 예를 들어, 초점거리가 증가하면, 이에 상응하는 시야는 감소한다.
이미지캡처장치(122, 124, 126)는 적합한 시야를 가지도록 구성될 수 있다. 일례에서, 이미지캡처장치(122)의 수평 시야는 46도이고, 이미지캡처장치(124)의 수평 시야는 23도이며, 이미지캡처장치(126)의 수평 시야는 23도 내지 46도일 수 있다. 다른 예에서, 이미지캡처장치(122)의 수평 시야는 52도이고, 이미지캡처장치(124)의 수평 시야는 26도이며, 이미지캡처장치(126)의 수평 시야는 26도 내지 52도일 수 있다. 일부 실시예에서, 이미지캡처장치(122)의 시야 대 이미지캡처장치(124) 및/또는 이미지캡처장치(126)의 시야 비율은 1.5 내지 2.0일 수 있다. 다른 실시예에서, 이 비율은 1.25 내지 2.25일 수 있다.
시스템(100)은 이미지캡처장치(126)의 일부 또는 전체 시야가 이미지캡처장치(124) 및/또는 이미지캡처장치(126)의 시야와 겹치도록 구성될 수 있다. 일부 실시예에서, 시스템(100)은 이미지캡처장치(124, 126)의 시야가 이미지캡처장치(126)의 시야의 중심에 들어가고(예를 들어, 시야가 좁은 경우) 중심이 서로 맞도록 구성될 수 있다. 다른 실시예에서, 이미지캡처장치(122, 124, 126)는 인접하는 시야를 캡처하거나 인접하는 시야와 부분적으로 겹칠 수 있다. 일부 실시예에서, 이미지캡처장치(122, 124, 126)의 시야는 시야가 좁은 이미지캡처장치(124 및/또는 126)의 중심이 시야가 넓은 이미지캡처장치(122)의 시야의 하부에 배치되도록 정렬될 수 있다.
도 2f는 기재된 실시예에 따른 자동차 제어 시스템의 일례의 개략도이다. 도 2f에 도시된 바와 같이, 차량(200)은 구동 시스템(220), 제동 시스템(230), 조향 시스템(240)을 포함할 수 있다. 시스템(100)은 하나 이상의 데이터 링크(예, 데이터 송신용 유선 및/또는 무선 링크)를 통하여 구동 시스템(220), 제동 시스템(230), 조향 시스템(240) 중 하나 이상으로 입력(예, 제어신호)을 제공할 수 있다. 예를 들어, 이미지캡처장치(122, 124, 126)가 획득한 이미지의 분석에 근거하여, 시스템(100)은 차량(200)을 주행(예, 가속, 회전, 차선 변경 등)하기 위한 제어 신호를 구동 시스템(220), 제동 시스템(230), 조향 시스템(240) 중 하나 이상으로 제공할 수 있다. 또한, 시스템(100)은 차량(200)의 작동 상황(예, 속도, 제동 및/또는 회전 여부 등)을 나타내는 입력을 구동 시스템(220), 제동 시스템(230), 조향 시스템(240) 중 하나 이상으로부터 수신할 수 있다. 이에 대하여는 도 4 내지 도 7을 참조하여 하기에 자세히 설명한다.
도 3a에 도시된 바와 같이, 차량(200)은 또한 차량(200)의 운전자 또는 탑승자와 상호 작용하기 위한 사용자 인터페이스(170)를 포함한다. 예를 들어, 차량에 적용된 사용자 인터페이스(170)는 터치스크린(320), 다이얼(330), 버튼(340), 마이크(350)를 포함할 수 있다. 차량(200)의 운전자 혹은 탑승자는 또한 손잡이(예, 차량의 조향축 상 또는 주위에 배치된 방향등 손잡이 등), 버튼(예, 차량의 조향 핸들에 배치된 버튼 등) 등을 사용하여 시스템(100)과 상호 작용할 수도 있다. 일부 실시예에서, 마이크(350)는 백미러(310)에 인접하여 배치될 수 있다. 이와 유사하게, 일부 실시예에서, 이미지캡처장치(122)는 백미러(310) 부근에 배치될 수 있다. 일부 실시예에서, 사용자 인터페이스(170)는 또한 하나 이상의 스피커(360: 예, 차량 오디오 시스템의 스피커)도 포함할 수 있다. 예를 들어, 시스템(100)은 스피커(360)를 통하여 다양한 안내(예, 경보)를 제공할 수 있다.
도 3b 내지 3d는 기재된 실시예에 따른 백미러(예, 310) 뒤의 차량 전면 유리에 위치되도록 구성된 카메라 마운트(370)의 일례이다. 도 3b에 도시된 바와 같이, 카메라 마운트(370)는 이미지캡처장치(122, 124, 126)를 포함할 수 있다. 이미지캡처장치(124, 126)는, 차량 전면 유리에 맞닿아 있고 필름 및/또는 반사 방지 물질의 구조를 포함하는, 눈부심 가림막(380) 후면에 배치될 수 있다. 예를 들어, 눈부심 가림막(380)은 차량 전면 유리에 상응하는 기울기를 가지고 차량 전면 유리에 대해 정렬되도록 배치될 수 있다. 일부 실시예에서, 각 이미지캡처장치(122, 124, 126)는 도 3d에 도시된 바와 같이 눈부심 가림막(380)의 후면에 배치될 수 있다. 여기에 기재된 실시예들은 어느 특정한 구성의 이미지캡처장치(122, 124, 126), 카메라 마운트(370), 눈부심 가림막(380)으로 한정되지 않는다. 도 3c는 도 3b에 도시된 카메라 마운트(370)를 정면에서 바라본 예시이다.
상기 실시예들은 다양한 변형 및/또는 수정이 가능함을 본 발명의 당업자는 이해할 것이다. 예를 들어, 시스템(100)의 동작을 위하여 모든 구성요소가 반드시 필요한 것은 아니다. 또한, 기재된 실시예들의 기능을 제공하면서, 어느 구성요소라도 시스템(100)의 적합한 부분에 배치될 수 있으며, 구성요소들은 다양한 구성으로 재배치될 수 있다. 따라서, 상기 구성들은 예시에 불과하고, 시스템(100)은 상기 구성들과 무관하게 광범위한 기능을 제공하여 차량(200)의 주변상황을 분석하고 이 분석에 대응하여 차량(200)을 주행할 수 있다.
하기의 설명과 기재된 다양한 실시예에 따라, 시스템(100)은 자율 주행 및/또는 운전자 보조 기술과 관련된 다양한 특징을 제공할 수 있다. 예를 들면, 시스템(100)은 이미지 데이터, 위치 데이터(예, GPS 위치 정보), 지도 데이터, 속도 데이터, 및/또는 차량(200)에 포함된 센서들로부터의 데이터를 분석할 수 있다. 시스템(100)은 분석할 데이터를, 예를 들어, 이미지획득부(120), 위치센서(130), 및 기타 센서들로부터 수집할 수 있다. 또한, 시스템(100)은 수집한 데이터를 분석하여 차량(200)이 특정 동작을 수행해야 할지 여부를 판단한 후, 판단한 동작을 인간의 개입 없이 자동으로 수행할지 여부를 판단할 수 있다. 예를 들어, 차량(200)이 인간의 개입 없이 주행하는 경우, 시스템(100)은 차량(200)의 제동, 가속, 및/또는 조향을 자동으로 제어(예, 구동 시스템(220), 제동 시스템(230), 조향 시스템(240)의 하나 이상에 제어신호를 전송)할 수 있다. 또한, 시스템(100)은 수집된 데이터를 분석하고 이 분석 결과에 따라 차량 탑승자들에게 주의 및/또는 경보를 제공할 수 있다. 시스템(100)이 제공하는 다양한 실시예들에 관해서는 하기에 추가로 설명한다.
전방 다중 이미징 시스템
상기에 설명한 바와 같이, 시스템(100)은 다중 카메라 시스템을 사용하는 운전 지원 기능을 제공할 수 있다. 다중 카메라 시스템은 차량의 전방을 향하는 하나 이상의 카메라를 사용할 수 있다. 다른 실시예에서, 다중 카메라 시스템은 차량의 측방 또는 후방을 향하는 하나 이상의 카메라를 포함할 수 있다. 예를 들어, 일 실시예에서, 시스템(100)은 이중 카메라 이미징 시스템을 사용하여, 제1 카메라와 제2 카메라(예, 이미지캡처장치(122, 124))가 차량(200)의 전방 및/또는 측방에 배치될 수 있다. 제1 카메라의 시야는 제2 카메라의 시야보다 넓거나, 좁거나, 부분적으로 겹칠 수 있다. 뿐만 아니라, 제1 카메라는 제1 이미지 프로세서와 연결되어 제1 카메라가 제공한 이미지의 단안 이미지 분석을 수행하고, 제2 카메라는 제2 이미지 프로세서와 연결되어 제2 카메라가 제공한 이미지의 단안 이미지 분석을 수행할 수 있다. 제1 및 제2 이미지 프로세서의 출력(예, 처리된 정보)은 합쳐질 수 있다. 일부 실시예에서, 제2 이미지 프로세서는 제1 및 제2 카메라 모두로부터 이미지를 수신하여 입체 분석을 수행할 수 있다. 다른 실시예에서, 시스템(100)은 각 카메라의 시야가 서로 다른 3중 카메라 이미징 시스템을 사용할 수 있다. 따라서, 이런 시스템은 차량의 전방 및 측방의 다양한 거리에 위치한 물체로부터 얻은 정보에 근거한 판단을 내릴 수 있다. 단안 이미지 분석이란 단일 시야로부터 캡처 된 이미지(예, 단일 카메라에서 캡처 된 이미지)에 근거하여 이미지 분석을 수행하는 경우를 말할 수 있다. 입체 이미지 분석이란 하나 이상의 이미지 캡처 파라미터로 캡처 된 두 개 이상의 이미지에 근거하여 이미지 분석을 수행하는 경우를 말할 수 있다. 예를 들면, 입체 이미지 분석에 적합한 캡처 된 이미지는 둘 이상의 위치로부터 캡처 된 이미지, 서로 다른 시야로부터 캡처 된 이미지, 서로 다른 초점거리를 사용하여 캡처 된 이미지, 시차 정보에 따라 캡처 된 이미지 등을 포함할 수 있다.
예를 들어, 일 실시예에서, 시스템(100)은 이미지캡처장치(122, 124, 126)를 사용하여 3중 카메라 구성을 구현할 수 있다. 이런 구성에서, 이미지캡처장치(122)는 좁은 시야(예, 34도, 또는 약 20 내지 45도 범위에서 선택한 시야)를 제공할 수 있고, 이미지캡처장치(124)는 광시야(예, 150도 또는 약 100 내지 180도 범위에서 선택한 시야)를 제공할 수 있으며, 이미지캡처장치(126)는 중간 시야(예, 46도 또는 약 35 내지 60도 범위에서 선택한 시야)를 제공할 수 있다. 일부 실시예에서, 이미지캡처장치(126)는 주 카메라 역할을 할 수 있다. 이미지캡처장치(122, 124, 126)는 백미러(310) 후면에 배치되고 실질적으로 서로 나란히(예, 6cm 간격으로) 배치될 수 있다. 또한, 상기에 설명한 바와 같이, 일부 실시예에서, 하나 이상의 이미지캡처장치(122, 124, 126)는 차량(200)의 전면 유리에 맞닿아 있는 눈부심 가림막(380) 뒤에 탑재될 수 있다. 이러한 가림막은 차량 내부로부터의 반사가 이미지캡처장치(122, 124, 126)에 끼치는 영향을 최소화할 수 있다.
다른 실시예에서, 상기에 도 3b 내지 3c를 참조하여 설명한 바와 같이, 광시야 카메라(예, 상기 예에서의 이미지캡처장치(124))는 좁은 시야 카메라와 주 시야 카메라(예, 상기 예에서의 이미지캡처장치(122, 126))보다 낮은 위치에 탑재될 수 있다. 이런 구성은 광시야 카메라로부터 탁 트인 시선을 제공할 수 있다. 반사를 줄이기 위하여, 카메라들은 차량(200)의 전면 유리 가까이 탑재될 수 있고, 반사광을 완화하기 위하여 편광판을 포함할 수 있다.
3중 카메라 시스템은 특정 성능을 제공할 수 있다. 예를 들면, 일부 실시예는 한 카메라가 검출한 물체에 대해 다른 카메라의 검출 결과에 근거하여 검증하는 능력을 포함할 수 있다. 상기에 설명한 3중 카메라 구성에서, 처리부(110)는 예를 들어 3개의 처리 장치(예, 3개의 EyeQ 시리즈 프로세서 칩)를 포함하고, 각 처리 장치는 하나 이상의 이미지캡처장치(122, 124, 126)가 캡처한 이미지를 전용으로 처리할 수 있다.
3중 카메라 시스템에서, 제1 처리 장치는 주 카메라와 좁은 시야 카메라로부터 이미지를 수신하고, 좁은 시야 카메라의 시각 처리를 수행하여, 예를 들어, 다른 차량, 보행자, 차로 표시, 교통 표지, 신호등, 기타 도로 상의 물체 등을 검출할 수 있다. 나아가, 제1 처리 장치는 주 카메라와 좁은 시야 카메라 사이의 픽셀 차이를 산출하여 차량(200) 주변상황의 3차원 재구성(3D reconstruction)을 생성한 후, 3차원 재구성을 3차원 지도 데이터 또는 다른 카메라로부터 수신한 정보에 근거하여 계산한 3차원 정보와 조합할 수 있다.
제2 처리 장치는 주 카메라로부터 이미지를 수신하고, 시각 처리를 수행하여 다른 차량, 보행자, 차로 표시, 교통 표지, 신호등, 기타 도로 상의 물체 등을 검출할 수 있다. 뿐만 아니라, 제2 처리 장치는 카메라 변위를 계산하고, 계산된 변위에 근거하여 연속된 이미지 사이의 픽셀 차이를 계산하여 장면(예, 동작의 구조)의 3차원 재구성을 생성할 수 있다. 제2 처리 장치는 3차원 재구성에 근거한 동작의 구조를 제1 처리 장치에 전송하여 3차원 입체 이미지와 조합할 수 있다.
제3 처리 장치는 광시야 카메라로부터 이미지를 수신하고 이미지를 처리하여 차량, 보행자, 차로 표시, 교통 표지, 기타 도로 상의 물체 등을 검출할 수 있다. 제3 처리 장치는 또한 이미지 분석을 위한 추가 처리 명령을 수행하여 차선을 변경하는 차량, 보행자 등과 같은 움직이는 물체를 식별할 수 있다.
일부 실시예에서, 이미지 기반 정보의 스트림을 독립적으로 캡처하고 처리함으로써, 시스템 상의 중복성을 제공할 수 있다. 여기서, 중복성이란, 예를 들면, 제1 이미지캡처장치와 이 장치로부터 처리된 이미지를 사용하여 적어도 제2 이미지캡처장치로부터 이미지 정보를 캡처하고 처리하여 획득된 정보를 검증 및/또는 보완하는 것을 포함할 수 있다.
일부 실시예에서, 시스템(100)은 2개의 이미지캡처장치(예, 122, 124)를 사용하여 차량(200)의 항법 보조를 제공하고 제3 이미지캡처장치(예, 126)를 사용하여 상기 2개의 이미지캡처장치로부터 수신한 데이터의 분석 결과의 중복성 및 검증을 제공할 수 있다. 예를 들면, 이런 구성에서, 이미지캡처장치(122, 124)는 차량(200)의 항법을 위해 시스템(100)에 의한 입체 분석을 위한 이미지를 제공하고, 이미지캡처장치(126)는 시스템(100)에 의한 단안 분석을 위한 이미지를 제공하여 이미지캡처장치(122 및/또는 126)가 캡처한 이미지에 근거하여 캡처한 정보의 중복성 및 검증을 제공할 수 있다. 즉, 이미지캡처장치(126)(및 상응하는 처리 장치)는 이미지캡처장치(122, 124)로부터 얻은 분석에 대한 확인을 제공(예, 자동긴급제동(AEB, automatic emergency braking) 제공) 하기 위한 중복 서브시스템을 제공하는 것으로 간주될 수 있다. 나아가, 일부 실시예에서, 수신된 데이터의 중복성 및 검증은 하나 이상의 센서로부터 수신된 정보(예, 레이더, 라이더, 음향 센서, 차량 외부의 하나 이상의 송수신기로부터 수신된 정보 등)에 기반하여 보완될 수 있다.
상기 카메라의 구성, 배치, 개수, 위치 등은 예시에 불과하다는 것을 당업자는 인식할 수 있을 것이다. 전체적인 시스템과 연관하여 설명하는 이러한 구성요소들과 기타 구성요소들은 기재된 실시예들의 범위를 벗어나지 않고 다양한 구성으로 조합되고 사용될 수 있다. 운전자 지원 및/또는 자율 주행 기능을 제공하기 위한 다중 카메라 시스템의 사용과 관련된 내용은 하기에 설명한다.
도 4는 기재된 실시예에 따른 하나 이상의 동작의 수행을 위한 명령이 저장/프로그램 될 수 있는 메모리(140 및/또는 150)의 예시적인 기능적 구성도이다. 하기에는 메모리(140)에 관하여 설명하지만, 명령이 메모리(140) 및/또는 메모리(150)에 저장될 수 있음은 당업자에게 당연할 것이다.
도 4에 도시된 바와 같이, 메모리(140)는 단안 이미지 분석 모듈(402), 입체 이미지 분석 모듈(404), 속도 및 가속 모듈(406), 항법 반응 모듈(408)을 저장할 수 있다. 여기에 기재된 실시예들은 메모리(14)의 어느 특정 구성으로 한정되지 않는다. 또한, 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)는 메모리(140)에 포함된 모든 모듈(402, 404, 406, 408)에 저장된 명령을 실행할 수 있다. 본 발명의 기술분야의 당업자라면 하기의 설명에서 처리부(110)란 애플리케이션 프로세서(180) 및/또는 이미지 프로세서(190)를 개별적으로 또는 총괄하여 지칭할 수 있다는 것을 이해할 것이다. 이에 따라, 하기에 설명한 프로세스의 단계들은 하나 이상의 처리 장치에 의해 수행될 수 있다.
일 실시예에서, 단안 이미지 분석 모듈(402)은, 처리부(110)에 의해 실행될 경우 이미지캡처장치(122, 124, 126) 중의 하나가 확보한 이미지 세트의 단안 이미지 분석을 수행하는, 명령(예, 컴퓨터 시각 소프트웨어)을 저장할 수 있다. 일부 실시예에서, 처리부(110)는 이미지 세트의 정보를 추가 감지 정보(예, 레이더, 라이더 등으로부터 얻은 정보)와 병합하여 단안 이미지 분석을 수행할 수 있다. 하기에 도 5a 내지 5d를 참조하여 설명하겠지만, 단안 이미지 분석 모듈(402)은 차로 표시, 차량, 보행자, 도로 표지, 고속도로 나들목, 신호등, 위험 물체, 및 차량의 주변상황과 연관된 기타 특성 등과 같은 특징들을 이미지 세트 내에서 검출하기 위한 명령을 포함할 수 있다. 시스템(100)은 이 분석에 근거하여, 예를 들어 처리부(110)를 통하여, 차량(200)의 회전, 차선 변경, 가속 변화 등과 같은 하나 이상의 항법 반응을 야기할 수 있으며, 이에 대해서는 하기에 항법 반응 모듈(408)에서 설명한다.
일 실시예에서, 입체 이미지 분석 모듈(404)은, 처리부(110)에 의해 실행될 경우 이미지캡처장치(122, 124, 126) 중에서 선택된 이미지캡처장치의 조합에 의해 확보된 제1 및 제2 이미지 세트의 입체 이미지 분석을 수행하는, 명령(예, 컴퓨터 시각 소프트웨어)을 저장할 수 있다. 일부 실시예에서, 처리부(110)는 제1 및 제2 이미지 세트의 정보를 추가 감지 정보(예, 레이다로부터 얻은 정보)와 병합하여 입체 이미지 분석을 수행할 수 있다. 예를 들어, 입체 이미지 분석 모듈(404)은 이미지캡처장치(124)가 확보한 제1 이미지 세트와 이미지캡처장치(126)가 확보한 제2 이미지 세트에 근거하여 입체 이미지 분석을 수행하기 위한 명령을 포함할 수 있다. 하기에 도 6을 참조하여 설명하겠지만, 입체 이미지 분석 모듈(404)은 차로 표시, 차량, 보행자, 도로 표지, 고속도로 나들목, 신호등, 위험 물체, 및 차량의 주변환경과 연관된 기타 특성 등과 같은 특징들을 제1 및 제2 이미지 세트 내에서 검출하기 위한 명령을 포함할 수 있다. 처리부(110)는 이 분석에 근거하여 차량(200)의 회전, 차선 변경, 가속 변화 등과 같은 하나 이상의 항법 반응을 야기할 수 있으며, 이에 대해서는 하기에 항법 반응 모듈(408)에서 설명한다. 또한, 일부 실시예에서, 입체 이미지 분석 모듈(404)은 감지 정보가 캡처 되고 처리되는 주변상황에서 물체를 컴퓨터 시각 알고리즘을 활용하여 검출 및/또는 라벨링 하도록 구성될 수 있는 시스템과 같은 학습 시스템(예, 신경망 또는 심층 신경망) 또는 비학습 시스템과 관련된 방법을 구현할 수 있다. 일 실시예에서, 입체 이미지 분석 모듈(404) 및/또는 기타 이미지 처리 모듈은 학습 시스템과 비학습 시스템의 조합을 활용하도록 구성될 수 있다.
일 실시예에서, 속도 및 가속 모듈(406)은 차량(200)의 속도 및/또는 가속 변화를 야기하도록 구성된 차량(200)에 구비된 하나 이상의 컴퓨팅 및 기전 장치로부터 수신한 데이터를 분석하도록 구성된 소프트웨어를 저장할 수 있다. 예를 들어, 처리부(110)는 속도 및 가속 모듈(406)과 연계된 명령을 수행함으로써 단안 이미지 분석 모듈(402) 및/또는 입체 이미지 분석 모듈(404)을 실행하여 얻은 데이터에 근거하여 차량(200)의 목표 속도를 산출할 수 있다. 상기 데이터는 예를 들어 목표 위치, 속도, 및/또는 가속, 부근의 차량, 보행자 또는 도로 상의 물체에 대한 차량(200)의 위치 및/또는 속도, 도로의 차로 표시에 대한 차량(200)의 위치 정보 등을 포함할 수 있다. 또한, 처리부(110)는 감지 입력(예, 레이더로부터 얻은 정보) 및 차량(200)의 구동 시스템(220), 제동 시스템(230), 및/또는 조향 시스템(240)과 같은 기타 시스템의 입력에 근거하여 차량(200)의 목표 속도를 산출할 수 있다. 산출된 목표 속도에 근거하여, 처리부(110)는 차량(200)의 구동 시스템(220), 제동 시스템(230), 및/또는 조향 시스템(240)으로 전자 신호를 전송하여, 예를 들면, 물리적으로 차량(200)의 브레이크 페달을 누르거나 가속 페달을 감압하여 속도 및/또는 가속의 변화를 일으킬 수 있다.
일 실시예에서, 항법 반응 모듈(408)은 단안 이미지 분석 모듈(402) 및/또는 입체 이미지 분석 모듈(404)을 실행하여 얻은 데이터에 근거하여 필요한 항법 반응을 판단하기 위하여 처리부(110)에 의해 실행 가능한 소프트웨어를 저장할 수 있다. 상기 데이터는 부근의 차량, 보행자, 및 도로 상의 물체에 대한 위치 및 속도, 차량(200)의 목표 위치 정보 등을 포함할 수 있다. 뿐만 아니라, 일부 실시예에서, 항법 반응은 지도 데이터, 미리 설정한 차량(200)의 위치, 및/또는 단안 이미지 분석 모듈(402) 및/또는 입체 이미지 분석 모듈(404)을 실행하여 얻은 차량(200)과 하나 이상의 물체 사이의 상대 속도 또는 상대 가속에 부분적으로 또는 전적으로 근거할 수 있다. 항법 반응 모듈(408)은 또한 감지 입력(예, 레이더로부터 얻은 정보) 및 차량(200)의 구동 시스템(220), 제동 시스템(230), 및/또는 조향 시스템(240)과 같은 기타 시스템의 입력에 근거하여 필요한 항법 반응을 판단할 수 있다. 필요한 항법 반응에 근거하여, 처리부(110)는 차량(200)의 구동 시스템(220), 제동 시스템(230), 및/또는 조향 시스템(240)으로 전자 신호를 전송하여, 예를 들면, 차량(200)의 조향 핸들을 회전하여 미리 설정한 각도의 회전을 유도함으로써 필요한 항법 반응을 일으킬 수 있다. 일부 실시예에서, 처리부(110)는 항법 반응 모듈(408)의 출력(예, 필요한 항법 반응)을 차량(200)의 속도 변경을 산출하기 위한 속도 및 가속 모듈(406)의 실행을 위한 입력으로 사용할 수 있다.
또한, 여기에 기재된 어느 모듈(예, 402, 404, 406)이라도 학습 시스템(예, 신경망 또는 심층 신경망) 또는 비학습 시스템과 연관된 방법을 구현할 수 있다. 
도 5a는 기재된 실시예에 따른 단안 이미지 분석에 근거한 하나 이상의 항법 반응을 야기하는 프로세스(500A)의 일례를 예시한 순서도이다. 단계 510에서, 처리부(110)는 처리부(110)와 이미지획득부(120) 사이의 데이터 인터페이스(128)를 통하여 복수의 이미지를 수신할 수 있다. 예를 들어, 이미지획득부(120)에 포함된 카메라(예, 시야(202)를 가진 이미지캡처장치(122))는 차량(200)의 전방 영역(또는 측방 또는 후방 영역)의 복수의 이미지를 캡처하고 이 이미지를 데이터 연결(예, 디지털, 유선, USB, 무선, 블루투스 등)을 통하여 처리부(110)로 전송할 수 있다. 처리부(110)는 단계 520에서 단안 이미지 분석 모듈(402)을 실행하여 복수의 이미지를 분석할 수 있다. 이에 대해서는 도 5b 내지 5d를 참조하여 상세히 설명한다. 분석을 수행함으로써, 처리부(110)는 이미지 세트에서 차로 표시, 차량, 보행자, 도로 표지, 고속도로 나들목, 신호등 등의 특징들을 검출할 수 있다.
처리부(110)는 또한 단계 520에서 단안 이미지 분석 모듈(402)을 실행하여, 예를 들면, 트럭 타이어 조각, 도로에 떨어진 표지판, 적재 불량 차량, 동물 등의 다양한 도로 상의 위험을 검출할 수 있다. 도로 상의 위험은 그 구조, 모양, 크기, 색 등이 다양하여 이런 위험을 검출하는 것은 더욱 어렵다. 일부 실시예에서, 처리부(110)는 단안 이미지 분석 모듈(402)을 실행하여 복수의 이미지에 대한 다중 프레임 분석을 수행하여 도로상의 위험을 검출할 수 있다. 예를 들어, 처리부(110)는 연속 프레임 사이의 카메라 움직임을 예측하고 프레임 사이의 픽셀 차이를 계산하여 도로의 3차원 지도를 구축할 수 있다. 이후, 처리부(110)는 3차원 지도를 사용하여 도로면 뿐만 아니라 도로면 상에 존재하는 위험을 검출할 수 있다.
단계 530에서, 처리부(110)는 항법 반응 모듈(408)을 실행하여 단계 520에서 수행한 분석 및 상기에서 도 4를 참조하여 설명한 방법에 근거하여 차량(200)에 하나 이상의 항법 반응을 일으킬 수 있다. 항법 반응은 예를 들어 회전, 차선 변경, 가속 변경 등을 포함할 수 있다. 일부 실시예에서, 처리부(110)는 속도 및 가속 모듈(406)을 실행하여 얻은 데이터를 활용하여 하나 이상의 항법 반응을 야기할 수 있다. 또한, 복수의 항법 반응이 동시에, 순차적으로, 또는 결합된 형태로 일어날 수 있다. 예를 들면, 처리부(110)는 제어 신호를 차량(200)의 조향 시스템(240)과 구동 시스템(220)에 순차적으로 전송하여 차량(200)이 차로를 변경한 후 가속을 하게 할 수 있다. 또는, 처리부(110)는 차량(200)의 제동 시스템(230)과 조향 시스템(240)에 제어 신호를 동시에 전송하여 차량(200)이 제동을 하면서 동시에 차로를 변경하게 할 수 있다.
도 5b는 본 발명의 실시예에 따른 이미지 세트에서 하나 이상의 차량 및/또는 보행자를 검출하는 프로세스(500B)의 일례를 예시한 순서도이다. 처리부(110)는 단안 이미지 분석 모듈(402)을 실행하여 이 프로세스(500B)를 구현할 수 있다. 단계 540에서, 처리부(110)는 차량 및/또는 보행자일 가능성을 나타내는 후보 물체 모음을 판단할 수 있다. 예를 들어, 처리부(110)는 하나 이상의 이미지를 스캔하고, 이 이미지를 하나 이상의 미리 설정한 패턴과 비교하여, 각 이미지 내에서 관심 물체(예, 차량, 보행자 등)가 있을만한 위치를 파악할 수 있다. 미리 설정한 패턴은 높은 비율의 '오탐(false hits)'과 낮은 비율의 '누락(misses)'을 달성하도록 설계될 수 있다. 예를 들어, 처리부(110)는 차량 또는 보행자일 가능성이 있는 후보 물체를 식별하기 위하여 미리 설정한 패턴에 낮은 유사 임계값을 사용할 수 있다. 이 결과, 처리부(110)가 차량 또는 보행자를 나타내는 후보 물체를 놓칠(즉, 식별하지 못할) 확률을 낮출 수 있다.
단계 542에서, 처리부(110)는 분류 기준에 근거하여 후보 물체 모음을 필터링하여 특정 후보(예, 관련이 없거나 적은 물체)를 제외할 수 있다. 여기서, 기준은 데이터베이스(예, 메모리(140)에 저장된 데이터베이스)에 저장된 물체 유형의 다양한 성질로부터 확보할 수 있다. 여기서, 물체 유형의 성질은 물체의 모양, 크기, 질감, 위치(예, 차량(200)에 대한 상대적 위치) 등을 포함할 수 있다. 따라서, 처리부(110)는 하나 이상의 기준을 사용하여 후보 물체 모음 중에서 거짓 후보를 제외시킬 수 있다.
단계 544에서, 처리부(110)는 이미지의 다중 프레임을 분석하여 후보 물체 모음의 물체가 차량 및/또는 보행자를 나타내는지 여부를 판단할 수 있다. 예를 들면, 처리부(110)는 검출된 후보 물체를 연속 프레임에 걸쳐 추적하여 검출된 물체와 연관된 프레임 별 데이터(예, 차량(200)과 관련된 크기, 위치 등)를 축적할 수 있다. 또한, 처리부(110)는 검출된 물체의 파라미터를 추정하고 물체의 프레임 별 위치 데이터를 예측 위치와 비교할 수 있다.
단계 546에서, 처리부(110)는 검출된 물체의 측정치 모음을 구성할 수 있다. 여기서, 측정치는 예를 들어 검출된 물체와 연계된 위치, 속도, 및 가속도의 값(즉, 차량(200)에 대한 상대 값)을 포함할 수 있다. 일부 실시예에서, 처리부(110)는 칼만 필터(Kalman filters) 또는 선형 2차 곡선 추정(LQE, linear quadratic estimation) 등과 같은 시간 기준 관찰을 사용한 추정 방법 및/또는 서로 다른 물체 유형(예, 차, 트럭, 보행자, 자전거, 도로 표지판 등)에 대한 기존 모델링 데이터에 근거하여 측정치를 구성할 수 있다. 칼만 필터는 물체의 축척의 측정치에 근거하고, 축척 측정치는 충돌까지의 시간(예, 차량(200)이 물체에 도달하는 시간)에 비례할 수 있다. 따라서, 단계 540 내지 546을 수행함으로써, 처리부(110)는 캡처 된 이미지 세트 내에 등장하는 차량과 보행자를 식별하고 이 차량과 보행자와 관련된 정보(예, 위치, 속도, 크기)를 도출할 수 있다. 식별된 내용과 도출한 정보에 근거하여, 처리부(110)는 상기에서 도 5a를 참조하여 설명한 바와 같이, 차량(200)이 하나 이상의 항법 반응을 하도록 할 수 있다.
단계 548에서, 처리부(110)는 하나 이상의 이미지에 대한 광류 분석(optical flow analysis)을 수행하여 차량 또는 보행자를 나타내는 후보 물체에 대한 '오탐'과 누락 확률을 낮출 수 있다. 여기서, 광류 분석이란, 예를 들어, 다른 차량과 보행자와 관련된 하나 이상의 이미지에서 차량(200)에 대한, 그리고 도로 표면 움직임과 다른, 동작 패턴을 분석하는 것을 의미할 수 있다. 처리부(110)는 서로 다른 시간에 캡처된 다중 이미지 프레임에 걸친 물체의 서로 다른 위치를 관찰하여 후보 물체의 움직임을 계산할 수 있다. 처리부(110)는 후보 물체의 움직임을 계산하기 위하여 위치값 및 시간값을 수학적 모델의 입력으로 사용할 수 있다. 따라서, 광류 분석은 차량(200)에 근접한 차량과 보행자를 검출하는 또 다른 방법을 제공할 수 있다. 처리부(110)는 광류 분석을 단계 540 내지 546과 함께 수행함으로써 차량과 보행자를 검출하는 중복성을 제공하고 시스템(100)의 신뢰도를 향상시킬 수 있다.
도 5c는 기재된 실시예에 따른 이미지 세트에서 도로 표시 및/또는 차로 형상 정보를 검출하는 프로세스(500C)의 일례를 예시한 순서도이다. 처리부(110)는 단안 이미지 분석 모듈(402)을 실행하여 본 프로세스(500C)를 구현할 수 있다. 단계 550에서, 처리부(110)는 하나 이상의 이미지를 스캔하여 물체 모음을 검출할 수 있다. 차로 표시의 일부분, 차로 형상 정보, 및 기타 해당 도로 표시를 검출하기 위하여, 처리부(110)는 물체 모음을 필터링하여 관련 없는 것으로 판단된 물체(예, 대수롭지 않은 포트홀(pothole), 자갈 등)를 제외시킬 수 있다. 단계 552에서, 처리부(110)는 동일 도로 표시 또는 차로 표시에 속하는, 단계 550에서 검출된, 조각들을 함께 묶을 수 있다. 이러한 묶음에 근거하여, 처리부(110)는 검출된 조각들을 나타낼 모델, 예를 들면, 수학적 모델을 생성할 수 있다.
단계 554에서, 처리부(110)는 검출된 조각들에 상응하는 측정치 모음을 구성할 수 있다. 일부 실시예에서, 처리부(110)는 검출된 조각들을 이미지 플레인(image plane)으로부터 실세계 플레인(real-world plane)으로 투영할 수 있다. 여기서, 투영은 검출된 도로의 위치, 경사, 곡률, 및 곡률 미분계수 등과 같은 물리적 성질에 상응하는 계수를 가진 3차 다항식을 사용하는 특징이 있을 수 있다. 투영을 생성할 때, 처리부(110)는 도로면의 변화뿐만 아니라 차량(200)의 피치(pitch)와 롤(roll)을 고려할 수 있다. 또한, 처리부(110)는 도로면에 존재하는 위치 및 모션 신호를 분석하여 도로의 높낮이를 추정할 수 있다. 나아가, 처리부(110)는 하나 이상의 이미지의 특징점 모음을 추적하여 차량(200)의 피치 및 롤 비율을 추정할 수 있다.
단계 556에서, 처리부(110)는 예를 들어 검출된 조각들을 연속 이미지 프레임에 걸쳐 추적하고 검출된 조각과 관련된 프레임 별 데이터를 축적하여 다중 프레임 분석을 수행할 수 있다. 처리부(110)가 다중 프레임 분석을 수행함에 따라, 단계 554에서 구성된 측정치 모음은 더욱 신뢰할 수 있게 되고 더욱 높은 신뢰 수준을 갖게 된다. 따라서, 단계 550, 552, 554, 556을 수행함으로써, 처리부(110)는 캡처 된 이미지 세트 내에 등장하는 도로 표시를 식별하고 차로 형상 정보를 도출할 수 있게 된다. 이러한 식별과 도출된 정보에 근거하여, 처리부(110)는, 상기에서 도 5a를 참조하여 설명한 바와 같이, 차량(200)이 항법 반응을 취하게 할 수 있다.
단계 558에서, 처리부(110)는 추가 정보를 고려하여 차량(200) 주변에 관한 안전 모델을 생성할 수 있다. 처리부(110)는 안전 모델을 사용하여 시스템(100)이 차량(200)의 자율 제어를 안전하게 할 수 있는 환경을 정의할 수 있다. 일부 실시예에서, 안전 모델을 생성하기 위하여, 처리부(100)는 다른 차량의 위치와 움직임, 검출된 도로 가장자리 및 배리어(barrier), 및/또는 지도 데이터(예, 지도 데이터베이스(160)의 데이터)에서 추출한 일반적인 도로 형상 설명을 고려할 수 있다. 추가 정보를 고려함으로써, 처리부(110)는 도로 표시 및 차로 형상에 대한 중복성을 제공하고 시스템(100)의 신뢰도를 향상시킬 수 있다.
도 5d는 기재된 실시예에 따른 이미지 세트에서 신호등을 검출하는 프로세스(500D)의 일례를 예시한 순서도이다. 처리부(110)는 단안 이미지 분석 모듈(402)을 실행하여 본 프로세스(500D)를 구현할 수 있다. 단계 560에서, 처리부(110)는 이미지 세트를 스캔하고 신호등 포함 가능성이 있는 이미지의 위치에 나타나는 물체를 식별한다. 예를 들면, 처리부(110)는 식별된 물체를 필터링하여 신호등에 상응할 가능성이 없는 물체들을 제외한 후보 물체 모음을 구성할 수 있다. 필터링은 신호등의 모양, 크기, 질감, 위치(예, 차량(200)에 대한 상대적 위치) 등의 다양한 성질에 근거하여 수행될 수 있다. 이러한 성질은 여러 예의 신호등과 교통 제어 신호에 근거할 수 있고 데이터베이스에 저장될 수 있다. 일부 실시예에서, 처리부(110)는 신호등 가능성이 있는 후보 물체 모음에 대한 다중 프레임 분석을 수행할 수 있다. 예를 들어, 처리부(110)는 연속 이미지 프레임에 걸쳐 후보 물체를 추적하고, 후보 물체의 실세계 위치를 추정하고, 움직이는 물체(즉, 신호등일 가능성이 적은 물체)를 필터링할 수 있다. 일부 실시예에서, 처리부(110)는 후보 물체에 대한 색 분석을 실시하고 신호등 가능성이 있는 물체 내부에서 검출된 색의 상대적 위치를 식별할 수 있다.
단계 562에서, 처리부(110)는 교차로의 기하를 분석할 수 있다. 이 분석은 (i) 차량(200) 양 측에 검출된 차로의 수, (ii) 도로 상에 검출된 표시(화살표 등), (iii) 지도 데이터(예, 데이터베이스(160)에 저장된 지도 데이터)에서 추출된 교차로 설명의 조합에 근거하여 수행될 수 있다. 처리부(110)는 단안 분석 모듈(402)을 실행하여 도출한 정보를 활용하여 분석을 수행할 수 있다. 또한, 처리부(110)는 단계 560에서 검출된 신호등이 차량(200) 부근에 보이는 차로와 상응하는지 판단할 수 있다. 
차량(200)이 교차로에 접근함에 따라, 단계 564에서, 처리부(110)는 분석된 교차로 기하와 검출된 신호등에 관한 신뢰 수준을 업데이트 할 수 있다. 예를 들어, 교차로에 나타날 것으로 추정된 신호등의 수와 실제로 교차로에 나타난 신호등의 수를 비교하면 신뢰 수준을 파악할 수 있다. 따라서, 이 신뢰 수준에 근거하여, 처리부(110)는 안전 조건을 향상하기 위하여 차량(200)의 제어를 운전자에게 맡길 수 있다. 단계 560, 562, 564를 수행함으로써, 처리부(110)는 캡처 된 이미지 세트 내에 나타나는 신호등을 식별하고 교차로 기하 정보를 분석할 수 있다. 이러한 식별과 분석을 근거로, 처리부(110)는 상기에 도 5a를 참조하여 설명한 하나 이상의 항법 반응을 차량(200)이 하도록 할 수 있다.
도 5e는 기재된 실시예에 따른 차량 경로에 근거한 하나 이상의 항법 반응을 차량(200)에 야기하는 프로세스(500E)의 일례를 예시한 순서도이다. 단계 570에서, 처리부(110)는 차량(200)의 초기 차량 경로를 구성할 수 있다. 차량 경로는 좌표 (x, z)로 표현되는 한 세트의 점으로 나타낼 수 있고, 한 세트의 점의 두 점 간의 간격인 d i 는 1 내지 5 미터의 범위 내에 있을 수 있다. 일 실시예에서, 처리부(110)는 좌측 도로 다항식과 우측 도로 다항식과 같은 두 개의 다항식을 사용하여 초기 차량 경로를 구성할 수 있다. 처리부(110)는 두 개의 다항식 사이의 중간점을 계산하고, 오프셋이 있는 경우(오프셋이 0인 경우는 차로의 중앙을 주행하는 경우에 해당함), 차량 경로 결과에 포함된 각 점을 미리 설정한 오프셋(예, 스마트 차로 오프셋)만큼 오프셋 할 수 있다. 오프셋은 차량 경로 내의 두 점 사이의 구간에 수직인 방향일 수 있다. 다른 실시예에서, 처리부(110)는 하나의 다항식과 추정된 차로 폭을 사용하여 차량 경로의 각 점을 추정된 차로 폭에 미리 설정한 오프셋(예, 스마트 차선 오프셋)을 더한 값만큼 오프셋 할 수 있다.
단계 572에서, 처리부(110)는 단계 570에서 구성한 차량 경로를 업데이트 할 수 있다. 처리부(110)는 단계 570에서 구성한 차량 경로를 더 높은 해상도를 사용하여 재구성하여 차량 경로를 나타내는 한 세트의 점의 두 점 사이이 거리 d k 가 상기에 설명한 거리 d i 보다 작도록 할 수 있다. 예를 들어, d k 는 0.1 내지 0.3 미터의 범위 내에 있을 수 있다. 처리부(110)는 차량 경로의 전체 길이에 해당하는(즉, 차량 경로를 나타내는 점들의 세트에 근거한) 누적 거리 벡터 S를 산출하는 파라볼릭 스플라인 알고리즘(parabolic spline algorithm)을 사용하여 차량 경로를 재구성할 수 있다.
단계 574에서, 처리부(110)는 단계 572에서 구성된 업데이트된 차량 경로에 근거하여 예견점(look-ahead point)(좌표 (x l , z l )로서 표현)을 결정할 수 있다. 처리부(110)는 누적 거리 벡터 S로부터 예견점을 추출할 수 있고, 예견점은 예견 거리 및 예견 시간과 연계될 수 있다. 하한계가 10 내지 20미터일 수 있는 예견 거리는 차량(200)의 속도와 예견 시간을 곱한 값으로 산출될 수 있다. 예를 들어, 차량(200)의 속도가 감소하면, 예견 거리도 감소(예, 하한계에 도달할 때까지)할 수 있다. 범위가 0.5 내지 1.5초일 수 있는 예견 시간은 차량(200)에 항법 반응을 야기하는 것과 관계있는 하나 이상의 제어 루프(control loop)(예, 방위각 오차 추적 제어 루프)의 게인(gain)에 반비례할 수 있다. 예를 들어, 방위각 오차 추적 제어 루프의 게인은 요 레이트 루프(yaw rate loop)의 대역폭, 조향 액추에이터 루프, 차량 측방향 동역학 등에 따라 다를 수 있다. 따라서, 방위각 오차 추적 제어 루프의 게인이 클수록, 예견 시간은 작아질 수 있다.
단계 576에서, 처리부(110)는 단계 574에서 판단한 예견점에 근거하여 방위각 오차 및 요 레이트 명령을 결정할 수 있다. 처리부(110)는 예견점의 역탄젠트, 예를 들어 arctan (x l / z l )를 산출하여 결정할 수 있다. 처리부(110)는 방위각 오차와 고레벨 제어 게인의 곱을 산출하여 요 레이트 명령을 결정할 수 있다. 고레벨 제어 게인은, 예견 거리가 하한계에 있지 않은 경우, (2 / 예견 시간)과 같을 수 있다. 아니면, 고레벨 제어 게인은 (2 * 차량(200)의 속도 / 예견 거리)와 같을 수 있다.
도 5f는 기재된 실시예에 따른 선두 차량이 차로 변경을 하는지를 판단하는 프로세스(500F)의 일례를 예시한 순서도이다. 단계 580에서, 처리부(110)는 선두 차량(예, 차량(200)에 앞서 주행하는 차량)에 대한 항법 정보를 판단할 수 있다. 예를 들면, 처리부(110)는, 상기의 도 5a와 도 5b를 참조하여 설명한 방법을 활용하여 선두 차량의 위치, 속도(예, 방향과 속력), 및/또는 가속도를 판단할 수 있다. 처리부(110)는 또한 상기의 도 5e를 참조하여 설명한 방법을 활용하여 하나 이상의 도로 다항식, 예견점(차량(200)과 관련된 예견점), 및/또는 스네일 트레일(snail trail: 선두 차량의 경로를 묘사하는 한 세트의 점)을 판단할 수 있다.
단계 582에서 처리부(110)는 단계 580에서 판단한 항법 정보를 분석할 수 있다. 일 실시예에서, 처리부(110)는 스네일 트레일과 도로 다항식(예, 스네일 트레일을 따라가는 다항식) 사이의 거리를 계산할 수 있다. 스네일 트레일을 따라가는 거리의 분산이 미리 설정한 임계치(예, 직선 도로에서 0.1 내지 0.2, 완만한 커브길에서 0.3 내지 0.4, 급커브길에서 0.5 내지 0.6)를 초과하는 경우, 처리부(110)는 선두 차량이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다. 차량(200)의 앞에 여러 차량이 검출된 경우, 처리부(110)는 각 차량의 스네일 트레일을 비교할 수 있다. 처리부(110)는 비교 결과에 근거하여 다른 차량들의 스네일 트레일과 일치하지 않는 스네일 트레일의 차량이 차로 변경의 가능성이 있는 것으로 판단할 수 있다. 처리부(110)는 추가적으로 선두 차량의 스네일 트레일의 곡률과 선두 차량이 주행하고 있는 도로 구간의 예상 곡률을 비교할 수 있다. 예상 곡률은 지도 데이터(예, 데이터베이스(160)의 데이터), 도로 다항식, 다른 차량의 스네일 트레일, 도로에 대한 사전 지식 등으로부터 추출될 수 있다. 스네일 트레일의 곡률과 도로 구간의 예상 곡률의 차이가 미리 설정된 임계값을 초과하는 경우, 처리부(110)는 선두 차량이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다.
다른 실시예에서, 처리부(110)는 특정 시간(예, 0.5 내지 1.5초)에 대한 선두 차량의 순간 위치와 예견점(차량(200)의 예견점)을 비교할 수 있다. 특정 시간 동안에 선두 차량의 순간 위치와 예견점 사이의 거리가 변화하고 변화의 누적 합이 미리 설정한 임계치(예, 직선도로 상 0.3 내지 0.4 미터, 완만한 커브길의 0.7 내지 0.8 미터, 급커브길의 1.3 내지 1.8 미터)를 초과할 경우, 처리부(110)는 선두 차량이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다. 다른 실시예에서, 처리부(110)는 스네일 트레일을 따라 주행한 횡방향 거리와 스네일 트레일의 예상 곡률을 비교하여 스네일 트레일의 기하를 분석할 수 있다. 예상 곡률 반경은 수학식
Figure pct00001
을 통하여 판단할 수 있다. 여기서,
Figure pct00002
는 횡방향 주행 거리이고,
Figure pct00003
는 종방향 주행 거리이다. 횡방향 주행 거리와 예상 곡률 사이의 차이가 미리 설정한 임계치(예, 500 내지 700미터)를 초과하는 경우, 처리부(110)는 선두 차량이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다. 다른 실시예에서, 처리부(110)는 선두 차량의 위치를 분석할 수 있다. 선두 차량의 위치가 도로 다항식을 안 보이게 하는 경우(예, 선두 차량이 도로 다항식의 상부에 덮어씌워 있는 경우), 처리부(110)는 선두 차량이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다. 다른 차량이 선두 차량의 앞에 검출되고 선두 차량과 앞 차량의 스네일 트레일이 서로 평행하지 않은 경우, 처리부(110)는 선두 차량(즉, 차량(200)과 가까운 차량)이 차로 변경을 하고 있을 가능성이 있는 것으로 판단할 수 있다.
단계 584에서, 처리부(110)는 단계 582에서 수행한 분석에 근거하여 선두 차량의 차로 변경 여부를 판단할 수 있다. 예를 들어, 처리부(110)는 단계 582에서 수행한 개별 분석의 가중 평균에 근거하여 판단을 할 수 있다. 이 방법에서, 예를 들면, 특정 유형의 분석에 근거하여 선두 차량이 차로 변경을 하고 있을 가능성이 있다는 판단을 처리부(110)가 내릴 경우, "1"의 값을 부여할 수 있다(선두 차량이 차로 변경을 하지 않고 있을 가능성 판단일 경우, "0"의 값 부여). 단계 582에서 수행되는 다른 분석에는 다른 가중치가 부여될 수 있으며, 본 실시예는 특정 조합의 분석 및 가중치에 한정되지 않는다.
도 6은 기재된 실시예에 따른 입체 이미지 분석에 근거한 하나 이상의 항법 반응을 야기하는 프로세스(600)의 일례를 예시한 순서도이다. 단계 610에서, 처리부(110)는 복수의 제1 및 제2 이미지를 데이터 인터페이스(128)를 통하여 수신할 수 있다. 예를 들면, 이미지획득부(120, 시야(202, 204)를 가진 이미지캡처장치(122, 124) 등)에 포함된 카메라가 차량(200) 전면 영역의 복수의 제1 및 제2 이미지를 캡처하고 디지털 연결(예, USB, 무선통신, 블루투스 등)을 통해 처리부(110)로 전송할 수 있다. 일부 실시예에서, 처리부(110)는 둘 이상의 데이터 인터페이스를 통해 복수의 제1 및 제2 이미지를 수신할 수 있다. 여기에 기재된 실시예들은 특정 데이터 인터페이스 구성 또는 프로토콜에 제한되지 않는다.
단계 620에서, 처리부(110)는 입체 이미지 분석 모듈(404)을 실행하여 복수의 제1 및 제2 이미지에 대한 입체 이미지 분석을 수행하여 차량 전면 도로의 3차원 지도를 생성하고, 이미지 내에서 차로 표시, 차량, 보행자, 도로 표지, 고속도로 나들목, 신호등, 도로 상의 위험물 등과 같은 특징을 검출할 수 있다. 입체 이미지 분석은 상기에서 도 5a 내지 5d를 참조하여 설명한 단계와 유사한 방법으로 수행될 수 있다. 예를 들어, 처리부(110)는 입체 이미지 분석 모듈(404)을 실행하여 복수의 제1 및 제2 이미지 내에서 후보 물체(예, 차량, 보행자, 도로 표시, 신호등, 도로 상의 위험물 등)을 검출하고, 다양한 기준에 근거하여 후보 물체의 모음을 필터링하고, 다중 프레임 분석을 수행하고, 측정치를 구성하고, 나머지 후보 물체에 대한 신뢰 수준을 판단할 수 있다. 상기 단계들을 수행함에 있어서, 처리부(110)는 한 세트의 이미지보다는 복수의 제1 및 제2 이미지 모두의 정보를 고려할 수 있다. 예를 들어, 처리부(110)는 복수의 제1 및 제2 이미지에 모두 등장하는 후보 물체에 대한 픽셀 단계 데이터(또는 두 스트림의 캡처된 이미지의 기타 데이터 서브세트)의 차이를 분석할 수 있다. 다른 예로서, 처리부(110)는 후보 물체가 복수의 이미지 중 하나에 등장하지만 다른 이미지에 등장하지 않는다는 것을 관찰하거나, 두 이미지 스트림에 등장하는 물체와 관련하여 존재하는 다른 차이점들을 통하여, 후보 물체(예, 차량(200)에 대한 후보 물체)의 위치 및/또는 속도를 추정할 수 있다. 예를 들어, 차량(200)과 관련된 위치, 속도, 및/또는 가속도는 이미지 스트림의 하나 또는 모두에 등장하는 물체와 연관된 특징의 궤적, 위치, 동작 특성 등에 근거하여 판단될 수 있다.
단계 630에서, 처리부(110)는 항법 반응 모듈(408)을 실행하여 단계 620에서 수행한 분석 및 도 4를 참조하여 상기에 설명한 방법에 근거한 하나 이상의 항법 반응을 차량(200)에 발생시킬 수 있다. 항법 반응은, 예를 들어, 회전, 차로 변경, 가속도 변경, 속도 변경, 제동 등을 포함할 수 있다. 일부 실시예에서, 처리부(110)는 속도 및 가속 모듈(406)을 실행하여 도출한 데이터를 사용하여 하나 이상의 항법 반응을 발생시킬 수 있다. 뿐만 아니라, 다중 항법 반응이 동시에, 순차적으로, 또는 이들의 조합으로 발생될 수 있다.
도 7은 본 발명의 실시예에 따른 3세트의 이미지에 근거한 하나 이상의 항법 반응을 발생시키는 프로세스(700)의 일례를 예시한 순서도이다. 단계 710에서, 처리부(110)는 데이터 인터페이스(128)를 통하여 복수의 제1, 제2, 제3 이미지를 수신할 수 있다. 예를 들어, 이미지획득부(120, 시야(202, 204, 206)를 가진 이미지캡처장치(122, 124, 126) 등)에 포함된 카메라가 차량(200) 전면 및/또는 측면 영역의 복수의 제1, 제2, 제3 이미지를 캡처하고 디지털 연결(예, USB, 무선통신, 블루투스 등)을 통해 처리부(110)로 전송할 수 있다. 일부 실시예에서, 처리부(110)는 셋 이상의 데이터 인터페이스를 통해 복수의 제1, 제2, 제3 이미지를 수신할 수 있다. 예를 들어, 이미지캡처장치(122, 124, 126)는 처리부(110)와 데이터를 통신하기 위해 각 장치에 연관된 데이터 인터페이스가 있을 수 있다. 기재된 실시예들은 특정 데이터 인터페이스 구성 또는 프로토콜로 제한되지 않는다.
단계 720에서, 처리부(110)는 복수의 제1, 제2, 제3 이미지를 분석하여 차로 표시, 차량, 보행자, 도로 표지, 고속도로 나들목, 신호등, 도로 상의 위험물 등과 같은 특징을 이미지 내에서 검출할 수 있다. 본 분석은 상기에서 도 5a 내지 5d 및 도 6을 참조하여 설명한 단계와 유사한 방법으로 수행될 수 있다. 예를 들어, 처리부(110)는 복수의 제1, 제2, 제3 이미지 각각에 대한 단안 이미지 분석(예, 단안 이미지 분석 모듈(402) 실행 및 도 5a 내지 5d를 참조하여 설명한 상기 단계)을 수행할 수 있다. 또는, 처리부(110)는 복수의 제1 및 제2 이미지, 복수의 제2 및 제3 이미지, 및/또는 복수의 제1 및 제3 이미지에 대한 입체 이미지 분석(예, 입체 이미지 분석 모듈(404) 실행 및 도 6을 참조하여 설명한 상기 단계)을 수행할 수 있다. 복수의 제1, 제2 및/또는 제3 이미지에 상응하는 처리 정보는 병합될 수 있다. 일부 실시예에서, 처리부(110)는 단안 이미지 분석과 입체 이미지 분석을 조합하여 수행할 수 있다. 예를 들면, 처리부(110)는 복수의 제1 이미지에 대해 단안 이미지 분석(예, 단안 이미지 분석 모듈(402) 실행)을 수행하고, 복수의 제2 및 제3 이미지에 대해 입체 이미지 분석(예, 입체 이미지 분석 모듈(404) 실행)을 수행할 수 있다. 상응하는 위치와 시야(202, 204, 206)를 가진 이미지캡처장치(122, 124, 126)의 구성은 복수의 제1, 제2, 제3 이미지에 대해 수행되는 분석의 유형에 영향을 줄 수 있다. 기재된 실시예들은 특정 구성의 이미지캡처장치(122, 124, 126) 또는 복수의 제1, 제2, 제3 이미지에 수행되는 분석의 유형으로 제한되지 않는다.
일부 실시예에서, 처리부(110)는 단계 710과 720에서 획득하고 분석한 이미지에 근거하여 시스템(100)의 검사를 수행할 수 있다. 이러한 검사는 이미지캡처장치(122, 124, 126)의 특정 구성을 위한 시스템(100)의 전체적인 성능에 대한 지시자를 제공할 수 있다. 예를 들어, 처리부(110)는 '오탐'(예, 시스템(100)이 차량 또는 보행자가 존재하는 것으로 오판하는 경우) 및 '누락'의 비율을 판단할 수 있다.
단계 730에서, 처리부(110)는 복수의 제1, 제2, 제3 이미지 중 둘로부터 도출된 정보에 근거하여 차량(200)에 하나 이상의 항법 반응을 발생시킬 수 있다. 복수의 제1, 제2, 제3 이미지 중 둘은, 예를 들어, 복수의 이미지 각각에 검출된 물체의 개수, 유형, 크기 등과 같은 다양한 요소에 의거하여 선택될 수 있다. 처리부(110)는 또한, 이미지의 품질 및 해상도, 이미지에 반영된 유효 시야, 캡처 된 프레임의 수, 관심 물체가 프레임에 실제로 등장하는 정도(예, 물체가 등장하는 프레임의 퍼센트, 각 프레임에 등장하는 물체가 차지하는 비율 등) 등에 따라 이미지를 선택할 수 있다.
일부 실시예에서, 처리부(110)는 한 이미지 소스로부터 도출된 정보가 다른 이미지 소스로부터 도출된 정보와 어느 정도 일관되는지를 판단하여 복수의 제1, 제2, 제3 이미지 중 둘로부터 도출된 정보를 선택할 수 있다. 예를 들어, 처리부(110)는 이미지캡처장치(122, 124, 126) 각각으로부터 도출(단안 분석, 입체 분석, 또는 이들의 조합)된 처리 정보를 병합하고 이미지캡처장치(122, 124, 126) 각각으로부터 캡처 된 이미지 전반에 걸쳐 일관된 시각적 지시자(예, 차로 표시, 검출된 차량 및 그 위치 및/또는 경로, 검출된 신호등 등)를 판단할 수 있다. 처리부(110)는 또한, 캡처 된 이미지 전반에 걸쳐 일관되지 않은 정보(예, 차로를 변경하는 차량, 차량(200)과 너무 가까운 차량을 나타내는 차로 모델 등)를 제외시킬 수 있다. 따라서, 처리부(110)는 일관된 정보 및 일관되지 않은 정보의 판단에 근거하여 복수의 제1, 제2, 제3 이미지 중 둘로부터 도출된 정보를 선택할 수 있다.
항법 반응은, 예를 들면, 회전, 차로 변경, 가속도 변경 등을 포함할 수 있다. 처리부(110)는 단계 720에서 수행된 분석과 도 4를 참조하여 설명한 방법에 근거하여 하나 이상의 항법 반응을 발생시킬 수 있다. 처리부(110)는 또한 속도 및 가속 모듈(406)을 실행하여 도출한 데이터를 사용하여 하나 이상의 항법 반응을 발생시킬 수 있다. 일부 실시예에서, 처리부(110)는 차량(200)과 복수의 제1, 제2, 제3 이미지 중 어느 하나 내에서 검출된 물체 사이의 상대적 위치, 상대적 속도, 및/또는 상대적 가속도에 근거하여 하나 이상의 항법 반응을 발생시킬 수 있다. 다중 항법 반응은 동시에, 순차적으로 또는 이들의 조합으로 발생될 수 있다.
자율 주행을 위한 스파스 도로 모델
일부 실시예에서, 기재된 시스템과 방법은 자율 주행을 위한 스파스 맵을 활용할 수 있다. 특히, 스파스 맵은 도로 구간을 따라 자율 주행을 하기 위한 것일 수 있다. 예를 들면, 스파스 맵은 많은 양의 데이터를 저장 및/또는 업데이트 하지 않고도 자율주행차의 항법을 위한 충분한 정보를 제공할 수 있다. 아래에 상세히 설명하겠지만, 자율주행차는 저장된 하나 이상의 궤적에 의거한 하나 이상의 도로의 항법을 위하여 스파스 맵을 활용할 수 있다.
자율 주행을 위한 스파스 맵
일부 실시예에서, 기재된 시스템과 방법은 자율 주행을 위한 스파스 맵을 생성할 수 있다. 예를 들어, 스파스 맵은 과도한 데이터 저장 및 데이터 전송 속도를 요구하지 않고도 항법(navigation)에 필요한 충분한 정보를 제공할 수 있다. 하기에 상세히 설명하겠지만, 차량(예, 자율주행차)은 스파스 맵을 사용하여 하나 이상의 도로를 주행할 수 있다. 예를 들어, 일부 실시예에서, 스파스 맵은 차량 항법에 필요한 도로와 관련된 데이터와 도로에 구비된 표지들을 포함하되 적은 양의 데이터 흔적(data footprint)이 있을 수 있다. 예를 들면, 하기에 상세히 설명하는 스파스 데이터 맵은 도로를 따라 수집된 이미지 데이터와 같은 상세 지도 정보를 포함하는 디지털 지도에 비해 상당히 작은 저장 공간과 데이터 전송 대역폭이 필요할 수 있다.
예를 들어, 스파스 데이터 맵은 도로 구간의 상세한 모습을 저장하기 보다는, 도로 상의 차량 경로를 3차원 다항식 표현으로 저장할 수 있다. 이러한 경로는 매우 작은 데이터 저장 공간이 필요할 수 있다. 또한, 본 스파스 데이터 맵에서, 랜드마크들은 항법에 도움이 되도록 스파스 도로 모델에 식별되고 포함될 수 있다. 이런 랜드마크들은 차량 항법에 적합한 정도의 간격으로 배치되되, 일부 경우에는 높은 밀도와 좁은 간격으로 파악되고 포함될 필요가 없다. 대신, 일부 경우에, 적어도 50미터, 100미터, 500미터, 1킬로미터, 또는 2킬로미터의 간격으로 배치된 랜드마크들에 근거하여도 항법이 가능할 수 있다. 본 설명의 다른 부분에서 상세히 설명하겠지만, 스파스 맵은 이미지캡처장치, GPS 센서, 동작 센서 등과 같은 다양한 센서 및 장치를 구비한 차량이 도로를 따라 운행하면서 수집하고 측정한 데이터에 근거하여 생성될 수 있다. 일부 경우에, 스파스 맵은 하나 이상의 차량이 특정 도로를 여러 번 운행하는 동안에 수집한 데이터에 근거하여 생성될 수 있다. 하나 이상의 차량의 다수 운행을 활용하여 스파스 맵을 생성하는 것은 스파스 맵을 "크라우드소싱(crowdsourcing)" 한다고 지칭할 수 있다.
기재된 실시예들에 의거하여, 자율주행차 시스템은 항법을 위해 스파스 맵을 사용할 수 있다. 예를 들면, 기재된 시스템과 방법은 자율주행차를 위한 도로 항법 모델을 생성하기 위한 스파스 맵을 배포하고, 스파스 맵 및/또는 생성된 도로 항법 모델을 활용하여 도로 구간을 따라 자율주행차를 주행할 수 있다. 본 기재에 따른 스파스 맵은 자율주행차가 관련 도로 구간을 달리며 횡단하는 미리 설정된 궤적을 나타내는 하나 이상의 3차원 등고선(contour)을 포함할 수 있다.
본 기재에 따른 스파스 맵은 또한, 하나 이상의 도로 특성을 나타내는 데이터를 포함할 수 있다. 이러한 도로 특성에는 인지된 랜드마크, 도로 특징 프로필(road signature profiles), 및 차량의 항법에 유용한 기타 도로 관련 특성을 포함할 수 있다. 본 기재에 따른 스파스 맵은 스파스 맵에 포함된 상대적으로 적은 양의 데이터에 의거하여 차량의 자율 주행을 가능하게 할 수 있다. 예를 들면, 도로 가장자리, 도로 굴곡, 도로 구간과 관련된 이미지, 또는 도로 구관과 관련된 기타 물리적 특징을 보여주는 데이터 등과 같은 상세한 도로 표현을 포함하는 대신, 기재된 실시예에 따른 스파스 맵은 상대적으로 작은 저장 공간(따라서 스파스 맵의 일부를 차량으로 전송할 때 필요한 상대적으로 작은 대역폭)을 요구하되 여전히 자율 주행을 충분히 제공할 수 있다. 기재된 스파스 맵의 적은 데이터 흔적은 적은 양의 데이터로도 여전히 자율 주행을 가능하게 하는 도로 관련 요소의 표현을 저장함으로써 가능할 수 있다.
예를 들어, 기재된 스파스 맵은 도로의 다양한 양상을 자세히 표현하여 저장하는 대신에, 차량이 도로를 따라 진행하는 하나 이상의 궤적의 다항식 표현을 저장할 수 있다. 따라서, 도로를 따라 항법을 가능하게 하기 위해 도로의 물리적 성질에 관한 상세한 내용을 저장(또는 전송)하는 대신, 차량은 기재된 스파스 맵을 사용하여 도로의 물리적 양상을 해석할 필요 없이, 그러나 특정 도로 구간의 궤적(예, 다항식 스플라인)에 운행 경로를 정렬함으로써 특정 도로 구간을 주행할 수 있다. 이에 따라, 차량은, 도로 이미지, 파라미터, 레이아웃 등의 저장을 하는 접근 방법에 비해 훨씬 작은 저장 공간을 요구하는, 저장된 궤적(예, 다항식 스플라인)에 주로 의거하여 주행할 수 있다.
기재된 스파스 맵은 도로 구간을 따라가는 궤적의 다항식 표현을 저장하는 것 외에도 도로 특징을 나타내는 작은 데이터 물체들을 포함할 수 있다. 일부 실시예에서, 작은 데이터 물체들은 도로 구간을 따라 운행하는 차량에 탑재된 센서(예, 카메라, 또는 서스펜션 센서 등과 같은 기타 센서)에 의해 획득된 디지털 이미지(또는 디지털 신호)로부터 도출된 디지털 특징을 포함할 수 있다. 디지털 특징은 센서에 의해 획득된 신호에 상응하는 작은 사이즈일 수 있다. 일부 실시예에서, 디지털 특징은, 예를 들면 후속 운행 중에 센서에 의해 획득된 신호로부터 도로 특징을 검출하고 식별하도록 구성된 분류자(classifier) 기능과 호환되도록 생성될 수 있다. 일부 실시예에서, 디지털 특징은 흔적은 최소이면서도 후속 시간에 동일 도로 구간을 운행하는 차량에 탑재된 카메라에 의해 캡처 된 도로 특징의 이미지(또는 저장된 특징이 이미지에 의거하지 않고 또는 다른 데이터를 포함하는 경우에는, 센서에 의해 생성된 디지털 신호)에 의거하여 도로 특징과 저장된 특징과의 연관성을 찾거나 매칭하는 능력을 유지하도록 생성될 수 있다.
일부 실시예에서, 데이터 물체의 크기는 도로 특징과 추가로 연관이 있을 수 있다. 예를 들어, 차량에 탑재된 카메라에 의해 검출 가능한 도로 특징에 있어서, 그리고 차량에 탑재된 카메라 시스템이 이 도로 특징에 상응하는 이미지 데이터를, 예를 들면 도로 표지와 같은, 특정 유형의 도로 특징과 구분할 수 있는 분류자와 결합돼 있는 경우, 또한 이러한 도로 표지가 해당 지역 특유의 표지인 경우(예, 동일한 또는 동일 유형의 도로 표지가 부근에 없음), 이런 유형의 도로 특징과 그 위치를 저장하기 충분할 수 있다.
하기에 상세히 설명하겠지만, 도로 특징(예, 도로 구간을 따라 형성된 랜드마크)은 작은 데이터 물체로 저장되어 상대적으로 적은 바이트로 도로 특징을 표현함과 동시에 이러한 도로 특징을 인식하고 항법을 위해 사용하기 위한 충분한 정보를 제공할 수 있다. 일례에서, 도로 표지는 차량의 항법에 사용될 수 있는 인지된 랜드마크로 식별될 수 있다. 도로 표지의 표현은, 예를 들면, 고작 몇 바이트의 데이터로 랜드마크(예, 일단 정지 표지)의 유형을 나타내고 고작 몇 바이트의 데이터로 랜드마크의 위치를 나타내도록 저장될 수 있다. 이러한 저용량 데이터를 사용한 랜드마크 표현에 근거한 항법(예, 랜드마크에 근거한 위치인식, 인지, 및 항법에 충분한 표현 사용)을 함으로써, 데이터 소비를 증가하지 않고도 스파스 맵의 항법 기능 수준을 충분히 제공할 수 있다. 이렇게 랜드마크(및 기타 도로 특징)를 저용량으로 표현할 수 있는 것은 특정 도로 특징을 검출, 식별, 및/또는 분류하도록 차량에 탑재된 센서 및 프로세서 때문이다.
예를 들어, 표지 또는 특정 유형의 표지가 해당 지역 특유의 표지인 경우(예, 동일한 또는 동일 유형의 도로 표지가 없음), 스파스 맵은 랜드마크의 유형(표지 또는 특정 유형의 표지)을 나타내는 데이터를 사용하고, 항법(예, 자율 주행) 중에 자율주행차에 탑재된 카메라가 표지(또는 특정 유형의 표지)를 포함하는 지역의 이미지를 캡처하는 경우, 프로세서는 이미지를 처리하고, 표지를 검출하고(이미지 내에 표지가 실제로 존재하는 경우), 이미지를 표지(또는 특정 유형의 표지)로 분류하고, 표지의 위치를 스파스 맵에 저장된 표지의 위치와 연관 지을 수 있다.
스파스 맵의 생성
일부 실시예에서, 스파스 맵은 도로 구간을 따라 이어지는 도로면 특징과 도로 구간과 연관된 복수의 랜드마크를 나타내는 적어도 하나의 선 표현을 포함할 수 있다. 특정 양상에서, 스파스 맵은, 예를 들어 한 대 이상의 차량이 도로 구간을 횡단하며 획득한 복수의 이미지의 이미지 분석을 통한, "크라우드소싱"을 통하여 생성될 수 있다.
도 8은 자율 주행을 제공하기 위해 한 대 이상의 차량(예, 자율주행차일 수 있는 차량(200))이 접속할 수 있는 스파스 맵(800)을 도시한 것이다. 스파스 맵(800)은 메모리(140 또는 150)와 같은 메모리에 저장될 수 있다. 이러한 메모리 장치는 모든 유형의 비일시적 저장 장치 또는 컴퓨터 가독 매체를 포함할 수 있다. 예를 들어, 일부 실시예에서, 메모리(140 또는 150)는 하드드라이브, 콤팩트 디스크, 플래시 메모리, 자기 기반 메모리 장치, 광 기반 메모리 장치 등을 포함할 수 있다. 일부 실시예에서, 스파스 맵(800)은 메모리(140 또는 150) 또는 기타 유형의 저장 장치에 저장될 수 있는 데이터베이스(예, 지도 데이터베이스(160))에 저장될 수 있다.
일부 실시예에서, 스파스 맵(800)은 차량(200)에 탑재된, 예를 들면, 항법 시스템에 포함된 저장 장치와 같은, 저장 장치 또는 비일시적 컴퓨터 가독 매체에 저장될 수 있다. 차량(200)에 제공된 프로세서(예, 처리부(110))는 도로 구간을 횡단하는 자율주행차(200)를 안내하기 위한 항법 명령을 생성하기 위하여 차량(200)에 탑재된 저장 장치 또는 컴퓨터 가독 매체에 저장된 스파스 맵(800)에 접속할 수 있다.
반면, 스파스 맵(800)은 차량 상에 저장될 필요는 없다. 일부 실시예에서, 스파스 맵(800)은 차량(200)과 통신하는 원격 서버에 제공된 저장 장치 또는 컴퓨터 가독 매체 또는 차량(200)과 연동된 장치에 저장될 수 있다. 차량(200)에 제공된 프로세서(예, 처리부(110))는 스파스 맵(800)에 포함된 데이터를 원격 서버로부터 수신하고 차량(200)의 자율 주행을 안내하기 위해 이 데이터를 실행할 수 있다. 이러한 실시예에서, 원격 서버는 스파스 맵(800)의 전체 또는 일부만을 저장할 수 있다. 이에 따라, 차량(200) 및/또는 한 대 이상의 추가 차량에 탑재된 저장 장치 또는 컴퓨터 가독 매체는 스파스 맵(800)의 나머지 부분을 저장할 수 있다.
이러한 실시예에서, 스파스 맵(800)은 다양한 도로 구간을 횡단하는 복수의 차량(예, 수십, 수백, 수천, 또는 수백만 대의 차량)이 접속 가능하게 할 수 있다. 또한, 스파스 맵(800)은 복수의 부분 지도(sub-maps)를 포함할 수 있다. 예를 들어, 일부 실시예에서, 스파스 맵(800)은 차량의 항법에 사용될 수 있는 수백 개, 수천 개, 수백만 개, 또는 그 이상의 부분 지도를 포함할 수 있다. 이러한 부분 지도는 로컬 지도로 지칭될 수 있으며, 도로를 운행하는 차량은 차량이 운행하고 있는 지역과 관련된 임의 개수의 로컬 지도에 접속할 수 있다. 스파스 맵(800)의 로컬 지도 섹션은 스파스 맵(800)의 데이터베이스 인덱스로서 GNSS(Global Navigation Satellite System) 키와 함께 저장될 수 있다. 따라서, 현 시스템에서 호스트 차량의 항법을 위한 각도 조향 연산이 호스트 차량, 도로 특징, 또는 랜드마크의 GNSS 위치에 의존하지 않고 수행될 수 있어도, 해당 로컬 지도를 검색하기 위하여 GNSS 정보가 사용될 수 있다.
일반적으로, 스파스 맵(800)은 도로를 운행하는 한 대 이상의 차량으로부터 수집된 데이터에 근거하여 생성될 수 있다. 예를 들면, 한 대 이상의 차량에 탑재된 센서(예, 카메라, 속도계, GPS, 가속도계 등)를 사용하여, 도로를 운행하는 한 대 이상의 차량의 궤적이 기록되고, 나중에 이 도로를 운행하는 차량의 바람직한 궤적을 다항식 표현이 수집된 한 대 이상의 차량이 운행한 궤적에 근거하여 결정될 수 있다. 유사하게, 한 대 이상의 차량에 의해 수집된 데이터는 특정 도로 상의 잠재적 랜드마크를 식별하는데 도움이 될 수 있다. 횡단 차량으로부터 수집된 데이터는 또한, 도로폭 프로필, 노면 상태 프로필, 차선 간격 프로필, 도로 상태 등과 같은 도로 프로필 정보를 식별하는데 사용될 수 있다. 수집된 정보를 사용하여, 스파스 맵(800)이 생성되고 배포되어(예, 로컬 저장 또는 실시간 데이터 전송) 한 대 이상의 자율주행차량의 항법에 활용될 수 있다. 반면, 일부 실시예에서, 지도 생성은 초기 생성으로 끝나는 것이 아닐 수 있다. 하기에 상세히 설명하겠지만, 스파스 맵(800)은 스파스 맵(800)에 포함된 도로를 운행하는 차량으로부터 수집된 데이터에 근거하여 지속적으로 또는 주기적으로 업데이트 될 수 있다.
스파스 맵(800)에 기록된 데이터는 GPS 데이터에 근거한 위치 정보를 포함할 수 있다. 예를 들어, 랜드마크 위치, 도로 프로필 위치 등의 다양한 지도 요소를 위한 로컬 정보가 스파스 맵(800)에 포함될 수 있다. 스파스 맵(800)에 포함된 지도 요소의 위치는 도로를 운행하는 차량에서 수집된 GPS 데이터를 사용하여 획득할 수 있다. 예를 들면, 식별된 랜드마크를 통과하는 차량은 차량과 연계된 GPS 위치 정보를 사용하여 식별된 랜드마크의 위치를 판단하고 식별된 랜드마크의 차량에 대한 위치를 판단(예, 차량에 탑재된 하나 이상의 카메라에서 수집된 데이터의 이미지 분석을 통하여)할 수 있다. 식별된 랜드마크(또는 스파스 맵(800)에 포함된 임의의 특징)의 이러한 위치 판단은 다른 차량들이 같은 랜드마크를 통과함에 따라 반복될 수 있다. 추가적인 위치 판단의 모두 또는 일부는 스파스 맵(800)에 저장된 식별된 랜드마크에 대한 위치 정보를 더욱 정확하게 할 수 있다. 예를 들어, 일부 실시예에서, 스파스 맵(800)에 저장된 특정 특징에 대한 복수의 위치 측정치의 평균을 구할 수 있다. 반면, 지도 요소에 대해 판단된 복수의 위치에 근거하여 지도 요소의 저장된 위치를 더욱 정확하게 하기 위하여 임의의 수학적 연산이 사용될 수 있다.
기재된 실시예에 의한 스파스 맵은 상대적으로 적은 양의 저장 데이터를 사용하여 차량의 자율 주행을 가능하게 할 수 있다. 일부 실시예에서, 스파스 맵(800)의 데이터 밀도(목표 궤적, 랜드마크 및 기타 저장된 도로 특징을 나타내는 데이터 포함)는 도로 1킬로미터당 2MB 미만 또는 1MB 미만일 수 있다. 일부 실시예에서, 스파스 맵(800)의 데이터 밀도는 도로 1킬로미터당 10 kB 미만 또는 심지어 2kB 미만(예, 1킬로미터 당 1.6kB), 또는 1 킬로미터 당 10 kB 이하 또는 20 kB이하일 수 있다. 일부 실시예에서, 4 GB이하의 데이터를 가진 스파스 맵을 사용하여 미국 내 모든 또는 거의 모든 도로를 자율 주행할 수 있다. 이러한 데이터 밀도값은 스파스 맵(800) 전체에 대한, 스파스 맵(800) 내의 로컬 지도에 대한, 및/또는 스파스 맵(800) 내의 특정 도로 구간에 대한 평균을 나타낼 수 있다.
설명한 바와 같이, 스파스 맵(800)은 도로 구간을 따라 자율 주행을 안내하기 위한 복수의 목표 궤적(810)을 포함할 수 있다. 이러한 목표 궤적은 3차원 스플라인으로 저장될 수 있다. 스파스 맵(800)에 저장된 목표 궤적은, 예를 들어, 특정 도로 구간을 따라 차량이 이전에 횡단한 하나 이상의 재구성 궤적(reconstructed trajectory)에 근거하여 결정될 수 있다. 도로 구간은 단일 목표 궤적 또는 다수의 목표 궤적과 관련 있을 수 있다. 예를 들어, 2차선 도로에서, 제1 목표 궤적은 제1 방향으로 의도한 도로 운행 경로를 나타내고, 제2 목표 궤적은 다른 방향(예, 제1 방향의 반대 방향)으로 의도한 도로 운행 경로를 나타내도록 저장될 수 있다. 특정 도로 구간에 대하여 추가 목표 궤적이 저장될 수 있다. 예를 들면, 다차선 도로에서, 다차선의 하나 이상의 차선을 운행하는 차량의 의도 운행 경로를 나타내는 하나 이상의 목표 궤적이 저장될 수 있다. 일부 실시예에서, 다차선 도로의 각 차선에는 각 목표 궤적이 있을 수 있다. 다른 실시예에서, 다차선 도로의 차선보다 적은 수의 목표 궤적이 있을 수 있다. 이 경우, 다차선 도로를 운행하는 차량은 저장된 목표 궤적 중 어느 하나를 사용하여 저장된 목표 궤적에 해당하는 차선으로부터 차선 오프셋을 고려하여 항법을 안내할 수 있다(예, 차량이 3차선 도로의 1차선을 운행하고 있고, 2차선에 대한 목표 궤적만이 저장돼 있는 경우, 차량은 2차선과 1차선 사이의 차선 오프셋 양을 고려하여 항법 명령을 생성함으로써 2차선의 목표 궤적을 사용하여 주행할 수 있다).
일부 실시예에서, 목표 궤적은 차량이 운행하기에 이상적인 경로를 나타낼 수 있다. 목표 궤적은, 예를 들어, 운행하는 차선의 거의 중앙에 위치할 수 있다. 혹은, 목표 궤적은 도로 구간의 다른 곳에 위치할 수 있다. 예를 들면, 목표 궤적은 도로의 중앙, 도로의 가장자리, 차선의 가장자리 등의 위치와 일치할 수 있다. 이 경우, 목표 궤적에 근거한 항법은 목표 궤적의 위치에 대해 유지돼야 할 오프셋의 양에 대한 판단을 포함할 수 있다. 또한, 일부 실시예에서, 목표 궤적의 위치에 대해 유지돼야 할 것으로 판단되는 오프셋의 양은 차량의 종류에 따라 다를 수 있다(예, 목표 궤적의 적어도 일부분에서는 2축 승용차의 오프셋은 2축 이상 트럭의 오프셋과 다를 수 있다).
스파스 맵(800)은 또한, 특정 도로 구간, 로컬 지도 등과 연계된 복수의 미리 설정된 랜드마크(820)에 관한 데이터를 포함할 수 있다. 하기에 설명하는 바와 같이, 이러한 랜드마크는 자율주행차의 항법에 활용될 수 있다. 예를 들면, 일부 실시예에서, 랜드마크는 저장된 목표 궤적에 대한 차량의 현위치를 판단하는데 사용될 수 있다. 자율주행차는 이 위치 정보를 이용하여 판단된 위치에서 진행 방향을 목표 궤적의 방향과 일치하도록 조정할 수 있다.
복수의 랜드마크(820)는 적합한 간격으로 스파스 맵(800) 내에 식별되고 저장될 수 있다. 일부 실시예에서, 랜드마크는 상대적으로 높은 밀도(예, 몇 미터 간격)로 저장될 수 있다. 예를 들어, 스파스 맵(800)에서, 식별(또는 인지)된 랜드마크는 10미터, 20미터, 50미터, 100미터, 1킬로미터, 또는 2킬로미터 간격으로 떨어져 있을 수 있다. 일부 예에서, 식별된 랜드마크는 2킬로미터 이상의 간격으로 배치될 수 있다.
랜드마크 사이, 즉 목표 궤적에 대한 차량 위치의 판단 사이에서, 차량은 센서를 사용하여 자신의 움직임을 판단하고 목표 궤적에 대한 자신의 위치를 추정하는 추측항법(dead reckoning)에 근거하여 주행할 수 있다. 시간이 흐르면서 추측항법에 의한 항법의 오차가 누적될 수 있기 때문에, 목표 궤적에 대한 위치 판단의 정확도는 떨어질 수 있다. 차량은 스파스 맵(800)에 나타나는 랜드마크(및 그 위치)를 사용하여 추측항법으로 인한 위치 판단의 오차를 제거할 수 있다. 이에 따라, 스파스 맵(800) 내에 식별된 랜드마크는 목표 궤적에 대한 차량의 위치를 정확하게 판단하게 해주는 주행 닻(anchor) 역할을 할 수 있다. 위치 인식에서 어느 정도의 오차는 용납될 수 있으므로, 식별된 랜드마크가 항상 자율주행차에 필요한 것은 아니다. 대신, 상기에 설명한 바와 같이 10미터, 20미터, 50미터, 100미터, 500미터, 1킬로미터, 2킬로미터, 또는 그 이상의 간격의 랜드마크에 근거한 적합한 항법도 가능하다. 일부 실시예에서, 도로 1킬로미터마다 1개의 랜드마크가 있는 밀도로도 1미터 이내의 종방향 위치 판단 정확도를 충분히 유지할 수 있다. 따라서, 도로 구간에 등장하는 모든 랜드마크가 스파스 맵(800)에 저장될 필요는 없다.
또한, 일부 실시예에서, 차로 표시를 활용하여 랜드마크 간격 사이의 차량의 위치 인식을 할 수 있다. 랜드마크 간격 사이의 차로 표시를 활용함으로써, 추측항법에 의한 항법의 오차 누적을 최소화할 수 있다.
스파스 맵(800)은 목표 궤적과 식별된 랜드마크 외에도 기타 다양한 도로 특징에 대한 정보를 포함할 수 있다. 예를 들어, 도 9A는 스파스 맵(800)에 저장될 수 있는 특정 도로 구간의 굴곡을 나타낸 것이다. 일부 실시예에서, 도로의 단일 차로는 그 도로의 좌측과 우측에 대한 3차원 다항식 표현으로 모델링 될 수 있다. 단일 차로의 좌측과 우측을 나타내는 이러한 다항식이 도 9A에 도시되어 있다. 차로의 수와 관계없이, 도로는 도 9A에 도시된 바와 유사한 다항식을 사용하여 표현될 수 있다. 예를 들어, 다차선 도로의 좌측과 우측은 도 9A에 도시된 다항식과 유사한 다항식으로 표현될 수 있고, 다차선 도로에 포함된 중간 차로 표시(예, 차로 경계를 나타내는 파선, 중앙선을 나타내는 황색 실선 등)도 도 9A에 도시된 다항식과 유사한 다항식으로 표현될 수 있다.
도 9a에 도시된 바와 같이, 차로(900)는 다항식(예, 1차, 2차, 3차, 또는 그 이상 차수의 적합한 다항식)을 사용하여 표현될 수 있다. 예시를 위하여, 차로(900)는 2차원 차로로 도시했고, 다항식은 2차원 다항식으로 도시했다. 도 9a에 도시된 바와 같이, 차로(900)는 좌측(910)과 우측(920)을 포함한다. 일부 실시예에서, 둘 이상의 다항식을 사용하여 도로 또는 차로 경계의 각 측의 위치를 표현할 수 있다. 예를 들어, 좌측(910)과 우측(920)은 적합한 길이를 가진 복수의 다항식에 의해 표현될 수 있다. 일부의 경우, 다항식의 길이는 약 100미터일 수 있으며, 100미터보다 길거나 짧은 길이도 사용될 수 있다. 뿐만 아니라, 호스트 차량이 도로를 운행하면서 차후에 접하게 되는 다항식에 근거한 주행에서 매끄러운 이행을 가능하게 하기 위하여 다항식은 서로 겹칠 수 있다. 예를 들면, 좌측(910)과 우측(920)은 각각 약 100미터 길이(처음에 미리 설정된 범위의 예)의 구간으로 분리된 복수의 3차 다항식에 의해 표현되고 서로 약 50미터가 겹칠 수 있다. 좌측(910)과 우측(920)을 나타내는 다항식은 서로 같은 차수일 수도 있고 다른 차수일 수도 있다. 예를 들어, 일부 실시예에서, 일부 다항식은 2차 다항식이고, 일부 다항식은 3차 다항식이며, 일부 다항식은 4차 다항식일 수 있다.
도 9a에 도시된 예에서, 차로(900)의 좌측(910)과 우측(920)은 두 그룹의 3차 다항식으로 표현된다. 제1 그룹은 911, 912, 913으로 표시된 다항식 구간을 포함하고, 제2 그룹은 914, 915, 916으로 표시된 다항식 구간을 포함한다. 실질적으로 서로 평행한 두 그룹은 도로의 상응하는 측의 위치에 따른다. 다항식 구간(911, 912, 913, 914, 915, 916)은 약 100미터이고 인접한 구간과 직렬로 약 50미터 겹친다. 앞서 설명한 바와 같이, 다른 길이를 가지고 다른 정도로 겹치는 다항식도 사용될 수 있다. 예를 들어, 다항식은 500미터, 1킬로미터 또는 그 이상일 수 있고, 0 내지 50미터, 50 내지 100미터, 또는 100미터 이상이 겹칠 수 있다. 또한, 도 9A의 예시가 2차원 공간(예, 종이 표면)에서 이어지는 다항식을 나타내는 반면, 이러한 다항식이 3차원(예, 높이 요소 포함)에서 이어지는 곡선을 표현하여 X-Y 곡률 외에도 도로 구간의 높낮이 변화를 나타낼 수 있음은 당연하다. 도 9a에 도시된 예에서, 차로(900)의 우측(920)은 다항식 구간(921, 922, 923)을 포함하는 제1 그룹과 다항식 구간(924, 925, 926)을 포함하는 제2 구간에 의해 더 표현된다.
다시 스파스 맵(800)의 목표 궤적에 관한 내용으로 돌아와서, 도 9B는 특정 도로 구간을 운행하는 차량에 대한 목표 궤적을 나타내는 3차원 다항식의 예시이다. 목표 궤적은 호스트 차량이 특정 도로 구간을 따라 운행해야 하는 X-Y 경로는 물론 호스트 차량이 이 도로 구간을 따라 운행하면서 접하게 될 높낮이 변화를 나타낸다. 따라서, 스파스 맵(800) 내의 각 목표 궤적은 도 9B에 도시된 3차원 다항식(950)과 같은 하나 이상의 3차원 다항식에 의해 표현될 수 있다. 스파스 맵(800)은 복수의 궤적(예, 전세계 도로의 다양한 도로 구간을 따라 운행하는 차량의 궤적을 나타내는 수백만 또는 수천만의 궤적)을 포함할 수 있다. 일부 실시예에서, 각 목표 궤적은 3차원 다항식 구간을 연결하는 스플라인에 상응할 수 있다.
스파스 맵(800)에 저장된 다항식 곡선의 데이터 흔적에 관하여, 일부 실시예에서, 각 3차 다항식은 각각 4바이트의 데이터를 필요로 하는 4개의 파라미터에 의해 표현될 수 있다. 100미터 마다 약 192바이트의 데이터가 필요한 3차 다항식을 사용하면 적합한 표현이 얻어질 수 있다. 이는 시속 약 100킬로미터로 운행하는 호스트 차량은 대략 시간당 200kB의 데이터 사용/전송을 필요로 한다는 것을 의미할 수 있다.
스파스 맵(800)은 기하 기술자(geometry descriptor) 및 메타데이터의 조합을 사용하여 차로망(lanes network)을 묘사할 수 있다. 기하는 위에서 설명한 바와 같이 다항식 또는 스플라인에 의해 기술될 수 있다. 메타데이터는 차로의 개수, 특수한 특성(카풀 차로 등), 및 기타 가능한 스파스 레이블을 기술할 수 있다. 이러한 지시자의 총 흔적은 무시해도 될 정도일 수 있다.
이에 따라, 본 기재의 실시예에 따른 스파스 맵은 도로 구간을 따라 이어지는 도로면 특징의 적어도 하나의 선 표현을 포함할 수 있으며, 여기서 각 선 표현은 도로면 특징과 실질적으로 상응하는 도로 구간을 따라 가는 경로를 나타내는 것일 수 있다. 일부 실시예에서, 앞서 설명한 바와 같이, 도로면 특징의 적어도 하나의 선 표현은 스플라인, 다항식 표현, 또는 곡선을 포함할 수 있다. 또한, 일부 실시예에서, 도로면 특징은 도로 가장자리 및 차로 표시 중 적어도 하나를 포함할 수 있다. 또한, 하기에 "크라우드소싱"과 관련하여 설명하겠지만, 도로면 특징은 한 대 이상의 차량이 도로 구간을 횡단하며 획득한 복수의 이미지의 이미지 분석을 통하여 식별될 수 있다.
앞서 설명한 바와 같이, 스파스 맵(800)은 도로 구간에 관한 복수의 미리 설정한 랜드마크를 포함할 수 있다. 랜드마크의 실제 이미지를 저장하고, 예를 들어, 캡처 이미지와 저장 이미지에 근거한 이미지 인지 분석에 의존하는 대신, 스파스 맵(800) 내의 각 랜드마크는 저장된 실제 이미지가 요구하는 데이터보다 적은 양의 데이터를 사용하여 표현되고 인식될 수 있다. 랜드마크를 나타내는 데이터는 도로를 따라 형성된 랜드마크를 묘사하거나 식별하기 위한 충분한 정보를 여전히 포함할 수 있다. 랜드마크의 실제 이미지를 저장하기보다는 랜드마크의 특성을 묘사하는 데이터를 저장함으로써, 스파스 맵(800)의 크기를 줄일 수 있다.
도 10은 스파스 맵(800) 내에 표현될 수 있는 랜드마크의 유형을 예시한 것이다. 랜드마크는 도로를 따라 보일 수 있고 식별될 수 있는 물체들을 포함한다. 랜드마크는 고정되고 그 위치 및/또는 내용이 자주 변경되지 않도록 선택될 수 있다. 스파스 맵(800)에 포함된 랜드마크는 차량이 특정 도로 구간을 횡단하면서 목표 궤적에 대한 차량(200)의 위치를 판단하는데 유용할 수 있다. 랜드마크의 예에는 교통표지판, 방향지시판, 일반 표지판(예, 직사각형 표지판), 도로변 시설물(예, 가로등, 반사경 등), 및 기타 적합한 범주를 포함할 수 있다. 일부 실시예에서, 도로 상의 차로 표시도 스파스 맵(800) 내에 랜드마크로 포함될 수 있다.
도 10에 도시된 랜드마크의 예시에는 교통표지판, 방향지시판, 도로변 시설, 및 일반 표지판이 포함돼 있다. 교통표지판은, 예를 들어, 속도제한표지판(1000), 양보표지판(1005), 도로번호표지판(1010), 교통신호표지판(1015), 일시정지표지판(1020) 등을 포함할 수 있다. 방향지시판은 다른 장소로 가는 하나 이상의 방향을 나타내는 하나 이상의 화살표가 있는 표지판을 포함할 수 있다. 예를 들어, 방향지시판은 다른 도로 또는 장소로 차량을 안내하는 화살표가 있는 고속도로표지판(1025), 차량을 도로 밖으로 안내하는 화살표가 있는 출구표지(1030) 등을 포함할 수 있다. 이에 따라, 복수의 랜드마크의 적어도 하나는 도로표지판을 포함할 수 있다.
일반 표지판은 교통과 무관할 수 있다. 예를 들어, 일반 표지판에는 광고판 또는 두 행정구역 사이의 경계에 인접하여 설치된 환영인사 간판 등이 포함될 수 있다. 도 10에는 "조 식당"이라는 일반 표지판(1040)이 예시돼 있다. 도 10에 도시된 바와 같이, 일반 표지판은 직사각형 형상일 수 있지만, 정사각형, 원형, 삼각형 등의 다른 형상도 가능하다.
랜드마크는 또한, 도로변 시설물을 포함할 수 있다. 도로변 시설물은 표지판이 아닌, 교통 또는 방향과 무관한 물체일 수 있다. 예를 들어, 도로변 시설물에는 가로등(1035), 전봇대, 신호등 기둥 등이 포함될 수 있다.
랜드마크는 또한, 자율주행시스템에서 사용하기 위해 특별히 설계된 비콘(beacon)을 포함할 수 있다. 예를 들면, 이러한 비콘은 호스트 차량의 자율 주행을 지원하기 위해 미리 정해진 간격으로 배치된 단독구조물을 포함할 수 있다. 이러한 비콘은 또한, 도로 구간을 운행하는 차량이 식별하거나 인지할 수 있도록 기존의 도로표지판에 추가된 시각/그래픽 정보(예, 아이콘, 엠블럼, 바코드 등)를 포함할 수 있다. 이러한 비콘은 전자 소자를 포함할 수 있다. 이러한 실시예에서, 전자 비콘(예, RFID 태그 등)은 호스트 차량에 비시각적 정보를 전송하는데 사용될 수 있다. 이러한 정보는, 예를 들어, 호스트 차량이 목표 궤적을 따라 자신의 위치를 판단하는데 사용될 수 있는 랜드마크 식별자 및/또는 랜드마크 위치 정보를 포함할 수 있다.
일부 실시예에서, 스파스 맵(800)에 포함된 랜드마크는 미리 정해진 크기의 데이터 대상물로 표현될 수 있다. 랜드마크를 나타내는 데이터는 특정 데이터를 식별하기에 적합한 파라미터를 포함할 수 있다. 예를 들어, 일부 실시예에서, 스파스 맵(800)에 포함된 랜드마크는 랜드마크의 물리적 크기(예, 알려진 크기에 근거하여 랜드마크까지의 거리 추정을 위함), 이전 랜드마크까지의 거리, 횡적 오프셋, 높이, 유형 코드(예, 랜드마크 유형, 즉, 어떤 종류의 방향표지, 교통표지 등인가), GPS 좌표(예, 자기위치인식을 지원하기 위한 좌표) 및 기타 적합한 파라미터를 포함할 수 있다. 각 파라미터는 데이터 크기와 연계될 수 있다. 예를 들면, 랜드마크 크기는 8바이트의 데이터를 사용하여 저장될 수 있다. 이전 랜드마크까지의 거리, 횡적 오프셋, 및 높이는 12바이트의 데이터를 사용하여 명시할 수 있다. 방향표지 또는 교통표지와 같은 랜드마크와 연계된 유형 코드에는 약 2바이트의 데이터가 필요할 수 있다. 일반 표지판의 경우, 이미지 특징을 가능하게 하는 식별자는 50바이트의 저장공간에 저장될 수 있다. 랜드마크의 GPS 위치는 16바이트의 데이터 공간과 연계될 수 있다. 여기에 설명한 각 파라미터의 데이터 크기는 예시에 불과하며, 다른 데이터 크기도 가능함은 당연하다.
이러한 방식으로 스파스 맵(800) 내에 랜드마크를 나타냄으로써 데이터 효율적으로 데이터베이스 내에서 랜드마크를 나타내는 솔루션을 제공할 수 있다. 일부 실시예에서, 표지판은 의미론적(semantic) 표지판과 비의미론적(non-semantic) 표지판을 의미할 수 있다. 의미론적 표지판은 표준화된 의미를 내포한 표지판(예, 속도제한표지판, 경고표지판, 방향표지판 등)의 부류를 포함할 수 있다. 비의미론적 표지판은 표준화된 의미와 무관한 표지판(예, 일반 광고판, 사업체를 식별하는 표지판 등)을 포함할 수 있다. 예를 들어, 각 의미론적 표지판은 38바이트의 데이터(크기에 8바이트, 이전 랜드마크까지의 거리, 횡적 오프셋, 높이에 12바이트, 유형 코드에 2바이트, 및 GPS 좌표에 16바이트)로 표현될 수 있다. 스파스 맵(800)은 태그 시스템을 사용하여 랜드마크 유형을 나타낼 수 있다. 일부 예에서, 교통표지판 또는 방향표지판은 각각 랜드마크 식별자의 일부로서 데이터베이스에 저장되는 해당 태그와 연계될 수 있다. 예를 들어, 데이터베이스는 다양한 교통표지판에 대해 대략 1000여개의 다른 태그를 포함하고 방향표지판에 대해 대략 1만여개의 다른 태그를 포함할 수 있다. 물론, 태그의 개수는 다를 수 있으며, 필요에 따라 추가적인 태그가 생성될 수도 있다. 일부 실시예의 일반적인 표지판은 약 100바이트 미만의 데이터(크기에 8바이트, 이전 랜드마크까지의 거리, 횡적 오프셋, 높이에 12바이트, 이미지 특징에 50바이트, 및 GPS 좌표에 16바이트를 포함하는 총 86바이트)로 표현될 수 있다.
따라서, 이미지 특징이 필요 없는 의미론적 도로표지판에 있어서, 스파스 맵(800)에 미치는 데이터 밀도의 영향은, 상대적으로 높은 랜드마크 밀도인 50미터당 하나라고 할지라도, 킬로미터당 대략 760바이트(예, 킬로미터당 20개의 랜드마크 x 랜드마크당 38바이트 = 760바이트)일 수 있다. 이미지 특징 요소를 포함하는 일반적인 표지판이라 할지라도, 데이터 밀도의 영향은 킬로미터당 대략 1,72kB(예, 킬로미터당 20개의 랜드마크 x 랜드마크당 86바이트 = 1720바이트)일 수 있다. 의미론적 도로표지에 있어서, 이는 시속 100킬로미터로 달리는 자동차가 1시간에 약 76kB를 사용함을 의미한다.
일부 실시예에서, 직사각형 표지판과 같은 일반적인 직사각형 물체는 스파스 맵(800) 내에서 100바이트 이하의 데이터에 의해 표현될 수 있다. 스파스 맵(800) 내에서 일반적인 직사각형 물체(예, 일반 표지판(1040))의 표현은 일반적인 직사각형 물체와 관련된 응축된 이미지 특징(1045)을 포함할 수 있다. 이러한 응축된 이미지 특징은 예를 들어 일반적인 표지판을 인지된 랜드마크로 식별하는데 사용될 수 있다. 이러한 응축된 이미지 특징(예, 물체를 나타내는 실제 이미지 데이터로부터 도출된 이미지 정보)을 사용하면 랜드마크를 인지하기 위하여 물체의 실제 이미지를 저장할 필요 또는 실제 이미지의 비교 이미지 분석을 수행할 필요가 없을 수 있다.
도 10을 참조하면, 스파스 맵(800)은 일반 표지판(1040)과 관련된 응축 이미지 특징(condensed image signature, 1045)을 포함하거나 저장할 수 있다. 예를 들어, 이미지캡처장치(예, 122, 124, 또는 126)가 일반 표지판(1040)의 이미지를 캡처한 후, 프로세서(예, 이미지 프로세서(190) 또는 호스트 차량에 대하여 탑재되거나 원격으로 위치하여 이미지를 처리할 수 있는 기타 프로세서)는 이미지 분석을 수행하여 일반 표지판(1040)과 관련된 독특한 형상 또는 패턴을 포함하는 응축 이미지 특징(1045)을 추출/생성할 수 있다. 일 실시예에서, 응축 이미지 특징(1045)은 일반 표지판(1040)을 묘사하기 위하여 일반 표지판(1040)의 이미지로부터 추출될 수 있는 형체, 색 패턴, 밝기 패턴, 또는 기타 특징을 포함할 수 있다.
예를 들어, 도 10에서, 응축 이미지 특징(1045)에 도시된 원형, 삼각형, 별표는 다른 색을 가진 영역을 나타낼 수 있다. 원형, 삼각형, 및 별표로 나타낸 패턴은, 예를 들어, 이미지 특징을 포함하도록 지정된 50바이트 이내에서 스파스 맵(800) 내에 저장될 수 있다. 물론, 상기 원형, 삼각형, 별표는 이런 형상이 이미지 특징의 일부로 저장됨을 의미하는 것은 아니다. 오히려, 이런 형상들은 일반적인 표지와 관련된 식별 가능한 색상 차이, 질감 영역, 그래픽 형상, 또는 기타 특성 차이 등을 개념적으로 나타내기 위한 것이다. 이러한 응축 이미지 특징은 랜드마크를 일반 표지판의 형식으로 식별하는데 사용될 수 있다. 예를 들어, 응축 이미지 특징은 저장된 응축 이미지 특징과 자율주행차에 탑재된 카메라를 사용하여 캡처 된 이미지 데이터의 비교에 근거한 동일 여부 분석의 수행에 사용될 수 있다.
이에 따라, 복수의 랜드마크는 한 대 이상의 차량이 도로 구간을 횡단하며 획득한 복수의 이미지의 이미지 분석을 통하여 식별될 수 있다. 하기에 "크라우드소싱"에 관하여 설명하겠지만, 일부 실시예에서, 복수의 랜드마크를 식별하기 위한 이미지 분석은 랜드마크가 등장하지 않는 이미지에 대한 랜드마크가 등장하는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 인정하는 것을 포함할 수 있다. 또한, 일부 실시예에서, 복수의 랜드마크를 식별하기 위한 이미지 분석은 랜드마크가 등장하는 이미지에 대한 랜드마크가 등장하지 않는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 인정하지 않는 것을 포함할 수 있다.
호스트 차량이 특정 도로 구간을 자율 주행하기 위해 사용할 수 있는 목표 궤적에 대한 설명으로 돌아가서, 도 11A는 스파스 맵(800)을 구축하거나 유지하는 과정에서 캡처 되는 궤적의 다항식 표현을 도시한 것이다. 스파스 맵(800)에 포함된 목표 궤적의 다항식 표현은 이전에 차량들이 동일한 도로 구간을 횡단한 둘 이상의 재구성 궤적(reconstructed trajectory)에 의거하여 결정될 수 있다. 일부 실시예에서, 스파스 맵(800)에 포함된 목표 궤적의 다항식 표현은 이전에 차량들이 동일한 도로 구간을 횡단한 둘 이상의 재구성 궤적의 합일 수 있다. 일부 실시예에서, 스파스 맵(800)에 포함된 목표 궤적의 다항식 표현은 이전에 차량들이 동일한 도로 구간을 횡단한 둘 이상의 재구성 궤적의 평균일 수 있다. 도로 구간을 따라 횡단하는 차량으로부터 수집된 재구성 궤적에 의거하여 도로 경로의 목표 궤적을 구성하기 위하여 다른 수학적 연산이 사용될 수도 있다.
도 11a에 도시된 바와 같이, 도로 구간(1100)에는 여러 차량(200)이 서로 다른 시간에 운행할 수 있다. 각 차량(200)은 도로 구간을 따라 운행하는 경로와 관련된 데이터를 수집할 수 있다. 특정 차량이 운행한 경로는 여러 가능한 소스 중에서 카메라 데이터, 가속도계 정보, 속력 센서 정보, 및/또는 GPS 정보에 의거하여 판단될 수 있다. 이러한 데이터는 도로 구간을 운행하는 차량의 궤적을 재구성하는데 사용될 수 있고, 이러한 재구성 궤적에 의거하여 특정 도로 구간에 대한 목표 궤적(또는 복수의 목표 궤적)이 결정될 수 있다. 이러한 목표 궤적은 호스트 차량이 도로 구간을 운행하는 바람직한 경로(예, 자율주행 시스템이 안내하는 경로)를 나타낼 수 있다.
도 11a의 예시에서, 제1 재구성 궤적(1101)은 제1 시간 구간(예, 첫째 날)에 도로 구간(1100)을 횡단한 제1 차량으로부터 수신한 데이터에 의거하여 결정될 수 있고, 제2 재구성 궤적(1102)은 제2 시간 구간(예, 둘째 날)에 도로 구간(1100)을 횡단한 제2 차량으로부터 획득될 수 있으며, 제3 재구성 궤적(1103)은 제3 시간 구간(예, 셋째 날)에 도로 구간(1100)을 횡단한 제3 차량으로부터 획득될 수 있다. 각 궤적(1101, 1102, 1103)은 3차 다항식과 같은 다항식으로 표현될 수 있다. 한편, 일부 실시예에서는 재구성 궤적이 도로 구간(1100)을 횡단하는 차량 자체에서 구성될 수 있다.
추가적으로, 또는 대안적으로, 이러한 재구성 궤적은 도로 구간(1100)을 횡단하는 차량으로부터 수신된 정보에 의거하여 서버 측에서 결정될 수 있다. 예를 들어, 일부 실시예에서, 차량(200)은 도로 구간(1100)을 따라 차량의 동작(예, 조향 각도, 진행방향, 시간, 위치, 속도, 감지된 도로 기하, 및/또는 감지된 랜드마크 등)에 관한 데이터를 하나 이상의 서버로 전송할 수 있다. 서버는 수신된 데이터에 의거하여 차량(200)에 대한 궤적을 재구성할 수 있다. 서버는 또한 제1, 제2, 제3 궤적(1101, 1102, 1103)에 의거하여 나중에 동일 도로 구간(1100)을 따라 운행할 자율주행차의 항법을 안내하기 위한 목표 궤적을 생성할 수 있다. 목표 궤적은 도로 구간의 이전 단일 운행과 연관될 수 있지만, 일부 실시예에서는, 스파스 맵(800)에 포함된 각 목표 궤적은 동일 도로 구간을 운행한 차량의 둘 이상의 재구성 궤적에 의거하여 결정될 수 있다. 도 11A에서, 목표 궤적은 참조번호 1110으로 표시돼 있다. 일부 실시예에서, 목표 궤적(1110)은 제1, 제2, 제3 궤적(1101, 1102, 1103)의 평균에 의거하여 생성될 수 있다. 일부 실시예에서, 스파스 맵(800)에 포함된 목표 궤적(1110)은 둘 이상의 재구성 궤적의 합(예, 가중치를 부가한 조합)일 수 있다.
도 11B와 도 11C는 지리적 구역(1111) 내에 존재하는 도로 구간과 관련된 목표 궤적의 개념을 예시한 것이다. 도 11B에 도시된 바와 같이, 지리적 구역(1111) 내의 제1 도로 구간(1120)은 다차선 도로를 포함할 수 있으며, 이 다차선 도로는 제1 방향으로 이동하는 차량에 지정된 두 차로(1122)와 제1 방향과 반대 방향인 제2 방향으로 이동하는 차량에 지정된 추가적인 두 차로(1124)를 포함할 수 있다. 차로(1122)와 차로(1124)는 이중 황색선(1123)으로 분리될 수 있다. 지리적 구역(1111)은 또한, 도로 구간(1120)과 교차하는 지선 도로 구간(1130)을 포함할 수 있다. 도로 구간(1130)은 2차선 도로를 포함할 수 있으며, 각 차로는 서로 다른 이동 방향으로 지정될 수 있다. 지리적 구역(1111)은 또한 정지선(1132), 일시정지표지판(1134), 속도제한표지판(1136), 및 위험표지판(1138) 등의 기타 도로 특징을 포함할 수 있다.
도 11C에 도시된 바와 같이, 스파스 맵(800)은 지리적 구역(1111) 내에서 차량의 자율 주행을 지원하기 위한 도로 모델을 포함하는 로컬 지도(1140)를 포함할 수 있다. 예를 들어, 로컬 지도(1140)는 지리적 구역(1111) 내의 도로 구간(1120 및/또는 1130)과 관련된 하나 이상의 차로의 목표 궤적을 포함할 수 있다. 예를 들어, 로컬 지도(1140)는 자율주행차가 차로(1122)를 운행할 때 접속하거나 의존할 목표 궤적(1141 및/또는 1142)을 포함할 수 있다. 마찬가지로, 로컬 지도(1140)는 차로(1124)를 운행할 때 접속하거나 의존할 목표 궤적(1143 및/또는 1144)을 포함할 수 있다. 나아가, 로컬 지도(1140)는 차로(1130)를 운행할 때 접속하거나 의존할 목표 궤적(1145 및/또는 1146)을 포함할 수 있다. 목표 궤적(1147)은 자율주행차가 차로(1120)으로부터(특히, 차로(1120)의 최우측 차로와 관련된 목표 궤적(1141)에 대하여) 도로 구간(1130)으로(특히, 도로 구간(1130)의 제1측과 관련된 목표 궤적(1145)에 대하여) 이동할 때 운행해야 할 바람직한 경로를 나타낸다. 마찬가지로, 목표 궤적(1148)은 자율주행차가 도로 구간(1130)으로부터(특히, 목표 궤적(1146)에 대하여) 도로 구간(1124)의 일부분으로(특히, 도시된 바와 같이, 차로(1124)의 좌측 차로와 연계된 목표 궤적(1143)에 대하여) 이동할 때 운행해야 할 바람직한 경로를 나타낸다.
스파스 맵(800)은 또한, 지리적 구역(1111)과 관련된 기타 도로 관련 특징의 표현을 포함할 수 있다. 예를 들면, 스파스 맵(800)은 또한, 지리적 구역(1111)에서 식별된 하나 이상의 랜드마크의 표현을 포함할 수 있다. 이러한 랜드마크는 정지선(1132)과 관련된 제1 랜드마크(1150), 일시정지표지판(1134)과 관련된 제2 랜드마크(1152), 속도제한표지판(1154)과 관련된 제3 랜드마크, 및 위험표지판(1138)과 관련된 제4 랜드마크(1156)를 포함할 수 있다. 이러한 랜드마크는, 예를 들어, 자율주행차가 도시된 목표 궤적의 어느 하나에 대한 현재 위치를 판단하는 데에 도움을 주어 판단된 위치에서 진행 방향을 목표 궤적에 일치시키도록 하기 위해 사용될 수 있다.
일부 실시예에서, 스파스 맵(800)은 또한, 도로 특징 프로필을 포함할 수 있다. 이러한 도로 특징 프로필은 도로와 관련된 적어도 하나의 파라미터의 식별/측정 가능한 변화에 관한 것일 수 있다. 예를 들어, 일부의 경우, 이러한 프로필은 특정 도로 구간의 노면 거칠기의 변화와 같은 도로면 정보의 변화, 특정 도로 구간의 도로 폭의 변화, 특정 도로 구간에 그려진 파선 사이의 거리의 변화, 특정 도로 구간의 도로 곡률의 변화 등에 관한 것일 수 있다. 도 11d는 도로 특징 프로필(1160)의 일례를 예시한 것이다. 여기서, 프로필(1160)이 상기 파라미터의 어느 하나를 나타낼 수 있지만, 일례에서, 프로필(1160)은, 예를 들어, 차량이 특정 도로 구간을 주행하면서 서스펜션 변위의 양을 나타내는 출력을 제공하는 하나 이상의 센서를 모니터하여 획득한 노면 거칠기의 측정치를 나타낼 수 있다.
대안적으로 또는 동시에, 프로필(1160)은 특정 도로 구간을 주행하는 차량에 탑재된 카메라를 통해서 획득된 이미지 데이터에 의거하여 판단된 도로 폭의 변화를 나타낼 수 있다. 이러한 프로필은 예를 들어 특정 목표 궤적에 대한 자율주행차의 특정 위치를 판단하는데 유용할 수 있다. 즉, 자율주행차가 도로 구간을 운행하면서 도로 구간의 하나 이상의 파라미터와 관련된 프로필을 측정할 수 있다. 측정된 프로필이 도로 구간의 위치에 대한 파라미터 변화를 구성하는 미리 설정된 프로필과 상응/일치할 수 있으면, 측정된 프로필과 미리 설정된 프로필을 도로 구간 상의 현 위치, 즉, 도로 구간의 목표 궤적에 대한 현 위치를 판단하기 위해 사용(예, 측정된 프로필과 미리 설정된 프로필의 상응하는 부분을 오버레이)할 수 있다.
일부 실시예에서, 스파스 맵(800)은 자율주행차의 사용자, 주변상황 조건, 및/또는 운행에 관한 기타 파라미터와 관련된 다른 특성들에 의거한 다른 궤적을 포함할 수 있다. 예를 들면, 일부 실시예에서, 다른 사용자 선호도 및/또는 프로필에 근거하여 다른 궤적이 생성될 수 있다. 이러한 다른 궤적을 포함하는 스파스 맵(800)은 다른 사용자의 다른 자율주행차에 제공될 수 있다. 예를 들어, 일부 사용자는 유료도로를 선호하지 않을 수 있지만, 다른 사용자는 유료 여부와 상관없이 가장 짧거나 빠른 경로를 선호할 수 있다. 여기에 기재된 시스템은 이러한 다른 사용자 선호도 또는 프로필에 의거하여 다른 궤적을 가진 다른 스파스 맵을 생성할 수 있다. 다른 예에서, 일부 사용자는 빠른 차선으로 주행하는 것을 선호하는 반면, 다른 사용자는 항상 중앙 차선 주행만 유지하는 것을 선호할 수 있다.
다른 궤적은 주간, 야간, 강설, 강우, 안개 등의 다른 주변상황 조건에 의거하여 생성되고 스파스 맵(800)에 포함될 수 있다. 다른 주변상황 조건 하에서 운행하는 자율주행차에게는 이러한 다른 주변상황 조건에 의거하여 생성된 스파스 맵(800)이 제공될 수 있다. 일부 실시예에서, 자율주행차에 제공된 카메라가 주변상황 조건을 검출하여 오히려 이러한 정보를 스파스 맵을 생성하고 제공하는 서버로 제공할 수 있다. 예를 들면, 서버는 검출된 주변상황 조건 하에서 자율주행에 더 적합하거나 안전할 수 있는 궤적을 포함하도록 스파스 맵(800)을 생성하거나 이미 생성된 스파스 맵(800)을 업데이트 할 수 있다. 주변상황 조건에 의거한 스파스 맵(800)의 업데이트는 자율주행차가 도로를 이동하면서 동적으로 수행될 수 있다.
다른 자율주행차에 다른 스파스 맵을 생성하고 제공하는 근거로 운전에 관한 다른 파라미터가 사용될 수 있다. 예를 들어, 자율주행차가 고속으로 운행하면, 급회전을 해야 할 수도 있다. 스파스 맵(800)에는 도로보다는 특정 차로에 관한 궤적이 포함되어 자율주행차가 특정 궤적을 따라 특정 차로 내에서 유지되게 할 수 있다. 자율주행차에 탑재된 카메라에 의해 캡처 된 이미지가 차량이 차로를 이탈(예, 차선을 침범)한 것으로 나타날 경우, 특정 궤적에 따라 지정된 차로로 차량이 다시 들어오도록 하는 조치가 취해질 수 있다.
스파스 맵의 크라우드소싱
일부 실시예에서, 기재된 시스템과 방법은 자율 주행을 위한 스파스 맵을 생성할 수 있다. 예를 들어, 기재된 시스템과 방법은 한 대 이상의 자율주행차가 도로망을 따라 항법에 활용할 수 있는 스파스 맵의 생성을 위하여 크라우드소싱 된 데이터를 사용할 수 있다. 여기서, "크라우스소싱"이란 서로 다른 시간에 도로 구간을 운행하는 다양한 차량(예, 자율주행차)으로부터 데이터를 수신하고 이러한 데이터가 도로 모델의 생성 및/또는 업데이트에 사용된다는 것을 의미한다. 이 모델은 나중에 이 도로 구간을 운행하는 차량 또는 다른 차량에 전송되어 자율 주행을 지원하게 된다. 도로 모델은 자율주행차가 도로 구간 운행시 따라야 할 바람직한 궤적을 나타내는 복수의 목표 궤적을 포함할 수 있다. 목표 궤적은 도로 구간을 운행하는 차량으로부터 수집되어 차량으로부터 서버로 전송될 수 있는 재구성 실제 궤적과 동일할 수 있다. 일부 실시예에서, 목표 궤적은 한 대 이상의 차량이 이전에 도로 구간을 운행한 실제 궤적과 다를 수 있다. 목표 궤적은 실제 궤적에 근거하여(예, 평균 연산 또는 기타 적합한 연산을 통하여) 생성될 수 있다.
차량이 서버로 업로드하는 차량 궤적 데이터는 차량의 실제 재구성 궤적에 상응하거나, 차량의 실제 재구성 궤적에 근거하거나 관련되지만 실제 재구성 궤적과 다를 수 있는 추천 궤적에 상응할 수 있다. 예를 들어, 차량은 실제 재구성 궤적을 수정하고 수정한 실제 궤적을 서버로 제출(예, 추천)할 수 있다. 도로 모델은 추천된 수정 궤적을 다른 차량의 자율 주행을 위한 목표 궤적으로 사용할 수 있다.
궤적 정보 이외에, 스파스 맵(800)을 구성하기 위하여 사용될 수 있는 기타 정보에는 잠재적 랜드마크 조건과 관련된 정보가 포함될 수 있다. 예를 들어, 정보의 크라우드소싱을 통하여, 기재된 시스템과 방법은 주변환경의 잠재적 랜드마크를 식별하고 랜드마크 위치를 정제할 수 있다. 랜드마크는 목표 궤적 내의 차량 위치를 판단 및/또는 조정하기 위하여 자율주행차의 항법 시스템에 의해 사용될 수 있다. 
차량이 도로를 운행하면서 생성하는 재구성 궤적은 적합한 방법에 의해 획득될 수 있다. 일부 실시예에서, 재구성 궤적은 예를 들어 자신의 움직임 추정(예, 카메라, 즉 차체의 3차원 평행이동 및 3차원 회전)을 사용하여 차량의 부분적 움직임을 엮어서 만들어질 수 있다. 회전 및 평행이동 추정은 하나 이상의 이미지캡처장치가 캡처한 이미지의 분석과 관성 센서 및 속력 센서 등과 같은 기타 센서나 장치로부터 얻은 정보에 근거하여 이루어질 수 있다. 예를 들어, 관성 센서는 가속도계 또는 차체의 평행이동 및/또는 회전의 변화를 측정하도록 구성된 기타 센서를 포함할 수 있다. 차량은 차량의 속도를 측정하는 속력 센서를 포함할 수 있다.
일부 실시예에서, 카메라 자신(즉, 차체)의 움직임은 캡처 된 이미지의 광류 분석에 근거하여 추정될 수 있다. 이미지 시퀀스의 광류 분석은 이 이미지 시퀀스로부터 픽셀의 움직임을 식별하고, 식별된 움직임에 근거하여 차량의 움직임을 판단한다. 자신의 움직임은 시간과 도로 구간을 따라 통합되어 차량이 운행한 도로 구간의 궤적을 재구성할 수 있다.
도로 구간을 따라 서로 다른 시간에 복수로 운행한 복수의 차량에 의해 수집된 데이터(예, 재구성 궤적)는 스파스 맵(800)에 포함된 도로 모델(예, 목표 궤적 등을 포함하는 도로 모델)을 구성하는데 사용될 수 있다. 또한, 도로 구간을 따라 서로 다른 시간에 복수로 운행한 복수의 차량에 의해 수집된 데이터의 평균을 구하여 모델의 정확성을 향상시킬 수 있다. 일부 실시예에서, 도로 기하 및/또는 랜드마크에 관한 데이터는 서로 다른 시간에 공통 도로 구간을 운행한 복수의 차량으로부터 수신될 수 있다. 다른 차량으로부터 수신된 이러한 데이터는 도로 모델을 생성 및/또는 업데이트 하기 위해 병합될 수 있다.
도로 구간을 따라 가는 재구성 궤적(및 목표 궤적)의 기하는 3차원 다항식을 연결하는 스플라인인 3차원 공간의 곡선으로 표현될 수 있다. 재구성 궤적 곡선은 차량에 설치된 카메라가 캡처한 비디오 스트림 또는 복수의 이미지의 분석으로부터 판단될 수 있다. 일부 실시예에서, 차량의 현 위치에서 몇 미터 앞에 있는 각 프레임 또는 이미지에서 위치가 식별된다. 이 위치는 미리 설정된 시간 동안에 차량이 운행할 것으로 예상되는 곳이다. 이 동작은 프레임마다 반복되고, 동시에, 차량은 카메라의 자체 움직임(회전 및 평행이동)을 연산할 수 있다. 각 프레임 또는 이미지에서, 요구 경로의 단거리 모델이 카메라에 속한 기준 프레임에 있는 차량에 의해 생성된다. 단거리 모델을 서로 병합하여 임의의 또는 미리 설정된 좌표 프레임인 일부 좌표 프레임 내 도로의 3차원 모델을 획득할 수 있다. 이후, 도로의 3차원 모델은 적합한 차수의 하나 이상의 다항식을 포함하거나 연결하는 스플라인에 의해 맞춰질 수 있다.
각 프레임에서 단거리 도로 모델을 마치기 위하여, 하나 이상의 검출 모듈이 사용될 수 있다. 예를 들어, 상향식(bottom-up) 차로 검출 모듈이 사용될 수 있다. 상향식 차로 검출 모듈은 차로 표시가 도로 상에 그려져 있을 때 유용할 수 있다. 이 모듈은 이미지 내에서 가장자리들을 검색해서 이 가장자리들을 서로 취합하여 차로 표시를 완성한다. 상향식 차로 검출 모듈과 함께 제2 모듈이 사용될 수도 있다. 제2 모듈은 입력 이미지로부터 정확한 단거리 경로를 예측하도록 학습될 수 있는 단대단 심층 신경망(end-to-end deep neural network)이다. 두 모듈 모두, 도로 모델을 이미지 좌표 프레임에서 검출하고 카메라에 사실상 연결돼 있는 3차원 공간으로 변형시킬 수 있다.
재구성 궤적 모델링 방법은 장기간에 걸쳐 자신의 움직임의 집적으로 인해 노이즈 요소 등을 포함하는 오차의 누적이 일어날 수 있지만, 이러한 오차는 생성된 모델이 로컬 범위의 항법에 충분한 정확도를 제공할 수 있기 때문에 큰 문제가 되지 않을 수 있다. 뿐만 아니라, 위성 영상이나 측지 측정치(geodetic measurements) 등과 같은 외부 정보를 사용함으로써 이러한 집적 오차를 상쇄시킬 수 있다. 예를 들어, 기재된 시스템과 방법은 GNSS 수신기를 사용하여 누적된 오차를 상쇄할 수 있다. 그러나 GMS 위치 신호는 항상 제공되거나 정확하지 않을 수 있다. 기재된 시스템과 방법은 GNSS 위치의 제공과 정확도에 약하게 의존하는 조향 애플리케이션을 가능하게 할 수 있다. 이러한 시스템에서, GNSS 신호는 제한적으로 사용될 수 있다. 예를 들어, 일부 실시예에서, 기재된 시스템은 GNSS 신호를 데이터베이스 색인 목적으로만 사용할 수 있다.
일부 실시예에서, 자율 주행 조향 애플리케이션과 관련이 있는 범위 규모(예, 로컬 규모)는 대략 50미터, 100미터, 200미터, 300미터 등일 수 있다. 이러한 거리는, 기하학적 도로 모델과 마찬가지로, 전방 궤적의 계획과 도로 모델 상에서의 차량 위치 인식의 두 가지 목적으로 사용될 수 있다. 일부 실시예에서, 계획 작업은, 제어 알고리즘이 1.3초 앞(또는 1.5초 앞, 1.7초 앞, 2초 앞 등 다른 시간)에 위치한 목표점에 의거하여 차량을 조향하는 동안, 전형적인 전방 40미터 범위(또는 20미터, 30미터, 50미터 등과 같은 다른 적합한 전방 거리)에 걸쳐 도로 모델을 사용할 수 있다. 위치 인식 작업은, 본 명세서의 다른 부분에서 상세히 설명할 "후미 정렬(tail alignment)"이라고 불리는 방법에 의거하여, 전형적인 후방 60미터 범위(또는 50미터, 100미터, 150미터 등과 같은 다른 적절한 거리)에 걸쳐 도로 모델을 사용할 수 있다. 기재된 시스템과 방법은 100미터와 같은 특정 범위에 걸쳐 충분한 정확도를 가진 기하학적 모델을 생성하여 계획된 궤적이 차로의 중앙에서 예를 들어 30cm 이상 벗어나지 않도록 할 수 있다.
앞서 설명한 바와 같이, 단거리 구간을 검출하고 서로 조합함으로써 3차원 도로 모델을 구성할 수 있다. 단거리 구간의 조합은 카메라가 캡처한 비디오 및/또는 이미지, 차량의 움직임을 반영하는 관성 센서로부터 얻은 데이터, 및 호스트 차량 속도 신호를 사용하여 6단계 자체 움직임 모델(six degree ego motion model)을 연산하여 가능할 수 있다. 누적 오차는 일부 로컬 범위 규모에 걸쳐, 예를 들면 대략 100미터의, 아주 적은 정도일 수 있다. 이는 모두 특정 도로 구간의 단일 운행으로 완전해질 수 있다.
일부 실시예에서, 복수의 운행을 사용하여 결과로 얻은 모델의 평균을 구하고 정확도를 더욱 향상시킬 수 있다. 같은 차량이 동일 경로를 여러 번 운행할 수 있고, 또는 복수의 차량이 수집된 모델 데이터를 중앙 서버로 전송할 수 있다. 어느 경우라도, 상응하는 절차를 수행하여, 목표 궤적을 생성하기 위하여 중복 모델을 식별하고 평균을 구할 수 있다. 구성된 모델(예, 목표 궤적을 포함하는 모델)은 수렴 기준이 만족되면 조향을 위해 사용될 수 있다. 차후의 주행은 모델의 추가적 개선과 인프라(infrastructure) 변화의 수용을 위해 사용될 수 있다.
복수의 차량 간의 운행 경험(예, 감지 데이터)의 공유는 이러한 복수의 차량이 중앙 서버로 연결돼 있는 경우에 실현 가능해진다. 각 차량 클라이언트는 현재 위치와 연관이 있을 수 있는 범용 도로 모델의 일부 복사본을 저장할 수 있다. 차량과 서버 간의 양방향 업데이트 절차는 차량과 서버에 의해 수행될 수 있다. 앞서 설명한 작은 흔적 개념으로 인해, 기재된 시스템과 방법은 매우 작은 대역폭을 사용하여 양방향 업데이트를 수행할 수 있다.
잠재적 랜드마크에 관한 정보도 판단되어 중앙 서버로 전달될 수 있다. 예를 들면, 기재된 시스템과 방법은 랜드마크를 포함하는 하나 이상의 이미지에 근거하여 잠재적 랜드마크의 하나 이상의 물리적 성질을 판단할 수 있다. 이러한 물리적 성질에는 랜드마크의 물리적 크기(예, 높이, 폭 등), 차량으로부터 랜드마크까지의 거리, 현 랜드마크와 이전 랜드마크 사이의 거리, 랜드마크의 측위(예, 주행 차로에 대한 랜드마크의 위치), 랜드마크의 GPS 좌표, 랜드마크의 유형, 랜드마크 상 텍스트의 식별 등이 포함될 수 있다. 예를 들면, 차량은 카메라가 캡처한 하나 이상의 이미지를 분석하여 속도제한표지판과 같은 잠재적 랜드마크를 검출할 수 있다.
차량은 하나 이상의 이미지에 대한 분석에 근거하여 차량으로부터 랜드마크까지의 거리를 판단할 수 있다. 일부 실시예에서, 이 거리는 축척 방식(scaling method) 및/또는 광류 방식과 같은 적절한 이미지 분석 방법을 사용한 랜드마크 이미지의 분석에 근거하여 판단될 수 있다. 일부 실시예에서, 기재된 시스템과 방법은 잠재적 랜드마크의 유형 또는 분류를 판단하도록 구성될 수 있다. 차량이 특정 잠재적 랜드마크가 스파스 맵에 저장된 임의의 유형 또는 분류에 상응한다고 판단하는 경우, 차량이 서버로 랜드마크의 유형 또는 분류의 지시를 전송할 수 있다. 서버는 이러한 지시를 저장할 수 있다. 차후에, 다른 차량들이 랜드마크의 이미지를 캡처하고, 이 이미지를 처리하고(예, 분류자(classifier)를 활용하여), 이미지의 처리 결과를 서버에 저장된 랜드마크의 유형에 대한 지시와 비교할 수 있다. 랜드마크의 유형은 다양할 수 있으며, 다른 유형의 랜드마크는 서버에 업로드하고 저장할 다른 유형의 데이터에 관한 것일 수 있고, 다른 방식으로 차량에서 처리하여 랜드마크를 검출하고 랜드마크에 관한 정보를 서버로 전송할 수 있으며, 차량에 탑재된 시스템은 서버로부터 랜드마크 데이터를 수신하고 자율주행에서 랜드마크를 식별하기 위해 사용할 수 있다.
일부 실시예에서, 도로 구간을 운행하는 여러 대의 자율주행차가 서버와 통신할 수 있다. 차량(또는 클라이언트)은 운행을 묘사하는 곡선(예, 자체 움직임 통합을 통하여)을 임의의 좌표 프레임 내에 생성할 수 있다. 차량은 랜드마크를 검출하고 이 프레임 내에서 자기 위치를 인식할 수 있다. 차량은 이 곡선과 랜드마크를 서버로 업로드할 수 있다. 서버는 여러 번의 운행에 걸쳐 차량으로부터 데이터를 수집하고 통합 도로 모델을 생성할 수 있다. 예를 들어, 하기에 도 19를 참조하여 설명하는 바와 같이, 서버는 업로드 된 곡선과 랜드마크를 활용하여 통합 도로 모델을 포함하는 스파스 맵을 생성할 수 있다.
서버는 또한 이 도로 모델을 클라이언트(예, 차량)에 배포할 수 있다. 예를 들어, 서버는 스파스 맵을 한 대 이상의 차량으로 배포할 수 있다. 서버는 차량으로부터 새로운 데이터를 수신할 때 지속적으로 또는 주기적으로 모델을 업데이트할 수 있다. 예를 들어, 서버는 새로운 데이터를 처리하여 서버에서 데이터를 업데이트하거나 새로운 데이터를 생성하도록 하는 정보가 새로운 데이터에 포함되어 있는지 여부를 평가할 수 있다. 자율 주행을 제공하기 위하여, 서버는 업데이트된 모델 또는 업데이트를 차량에 배포할 수 있다.
서버는 차량으로부터 수신한 새로운 데이터가 모델의 업데이트를 유발하거나 새로운 데이터의 생성을 유발해야 하는지에 대한 판단을 위한 하나 이상의 기준을 사용할 수 있다. 예를 들어, 특정 위치에서 이전에 인지된 랜드마크가 더 이상 존재하지 않거나 다른 랜드마크로 대체된 것으로 새로운 데이터에 나타난 경우, 서버는 새로운 데이터가 모델의 업데이트를 야기해야 하는 것으로 판단할 수 있다. 다른 예에서, 도로 구간이 폐쇄된 것으로 새로운 데이터에 나타나고, 이러한 정보가 다른 차량들로부터 수신한 데이터에 의해서 확증된 경우, 서버는 새로운 데이터가 모델의 업데이트를 야기해야 하는 것으로 판단할 수 있다.
서버는 업데이트된 모델(또는 모델의 업데이트된 부분)을 업데이트와 관련된 도로 구간을 운행하는 한 대 이상의 차량으로 배포할 수 있다. 서버는 또한 업데이트된 모델을 업데이트와 관련된 도로 구간을 운행하려고 하는 차량 또는 운행 계획에 이 도로 구간이 포함돼 있는 차량으로 배포할 수 있다. 예를 들면, 자율주행차가 업데이트와 관련된 도로 구간에 도달하기 전에 다른 도로 구간을 운행하는 동안, 서버는 자율주행차가 이 구간에 도달하기 전에 업데이트 또는 업데이트된 모델을 자율주행차에 배포할 수 있다.
일부 실시예에서, 원격 서버는 여러 클라이언트(예, 공통의 도로 구간을 운행하는 차량)로부터 궤적 및 랜드마크를 수집할 수 있다. 서버는 여러 차량으로부터 수집한 궤적에 근거하여 랜드마크를 사용하여 곡선을 일치시키고 평균 도로 모델을 생성할 수 있다. 서버는 또한 도로 구간의 각 노드 또는 접점에서 도로의 그래프 및 가장 확률이 높은 경로를 산출할 수 있다. 예를 들어, 원격 서버는 수집된 궤적으로부터 크라우드소싱 된 스파스 맵을 생성하기 위하여 궤적을 정렬할 수 있다.
서버는 공통 도로 구간을 운행한 여러 차량으로부터 수신한, 여러 차량이 측정한 한 랜드마크와 다른 랜드마크(예, 도로 구간 상의 이전 랜드마크) 사이의 거리와 같은, 랜드마크 성질의 평균을 구하여 아크 길이 파라미터(arc-length parameter)를 판단하고 경로 상의 자기 위치 인식과 각 클라이언트 차량의 속력 교정(speed calibration)을 지원할 수 있다. 서버는 공통 도로 구간을 운행하며 동일한 랜드마크를 인지한 여러 차량이 측정한 랜드마크의 물리적 치수의 평균을 구할 수 있다. 평균을 구한 물리적 치수는, 차량으로부터 랜드마크까지의 거리와 같은, 거리 추정을 지원하는데 사용될 수 있다. 서버는 공통 도로 구간을 운행하며 동일한 랜드마크를 인지한 여러 차량이 측정한 랜드마크의 횡적 위치(예, 차량이 주행하는 차선으로부터 랜드마크까지의 위치)의 평균을 구할 수 있다. 평균을 구한 횡적 위치는 차로 배정을 지원하는데 사용될 수 있다. 서버는 공통 도로 구간을 운행하며 동일한 랜드마크를 인지한 여러 차량이 측정한 랜드마크의 GPS 좌표의 평균을 구할 수 있다. 평균을 구한 랜드마크의 GPS 좌표는 도로 모델 내에서 랜드마크의 위치 인식 지원을 위해 사용될 수 있다.
일부 실시예에서, 서버는 차량으로부터 수신한 데이터에 근거하여 공사, 우회로, 새로운 표지판, 표지판 제거 등과 같은 모델 변경을 식별할 수 있다. 서버는 차량으로부터 새로운 데이터를 수신하면 지속적으로, 또는 주기적으로, 또는 즉석에서 모델을 업데이트할 수 있다. 서버는 자율 주행을 제공하기 위하여 모델에 대한 업데이트 또는 업데이트된 모델을 차량으로 배포할 수 있다. 예를 들어, 하기에 추가로 설명하는 바와 같이, 서버는 크라우드소싱 된 데이터를 활용하여 차량이 검출한 유령("ghost") 랜드마크를 걸러낼 수 있다.
일부 실시예에서, 서버는 자율 주행 동안의 운전자의 개입을 분석할 수 있다. 서버는 개입이 발생한 시간과 장소에서 차량으로부터 수신한 데이터 및/또는 개입이 발생하기 이전에 수신한 데이터를 분석할 수 있다. 서버는 개입의 원인 또는 개입과 밀접한 관계가 있는 데이터의 특정 부분, 예를 들면, 임시 차로 폐쇄를 나타내는 데이터, 도로 상의 보행자를 나타내는 데이터 등을 식별할 수 있다. 서버는 식별된 데이터에 근거하여 모델을 업데이트할 수 있다. 예를 들어, 서버는 모델에 저장된 하나 이상의 궤적을 수정할 수 있다.
도 12는 크라우드소싱을 활용하여 스파스 맵을 생성(또한, 크라우스소싱 된 스파스 맵을 활용하여 배포 및 항법)하는 시스템을 개략적으로 예시한 것이다. 도 12에는 하나 이상의 차로를 포함하는 도로 구간(1200)이 도시되어 있다. 복수의 차량(1205, 1210, 1215, 1220, 1225)이 동일 시간 또는 서로 다른 시간에 도로 구간(1200)을 운행할 수 있다(도 12에는 동일 시간에 도로 구간(1200)을 운행하는 것으로 도시함). 적어도 하나의 차량(1205, 1210, 1215, 1220, 1225)은 자율주행차일 수 있다. 본 예시의 이해를 위하여, 모든 차량(1205, 1210, 1215, 1220, 1225)은 자율주행차인 것으로 간주한다.
각 차량은 다른 실시예에 기재된 차량(예, 200)과 유사할 수 있고, 다른 실시예에 기재된 차량에 포함되거나 연관된 소자 또는 장치를 포함할 수 있다. 각 차량은 이미지캡처장치 또는 카메라(예, 122)를 구비할 수 있다. 각 차량은 도면에 파선으로 도시한 무선 통신 경로(1235)를 통한 하나 이상의 네트워크(예, 이동통신망 및/또는 인터넷)를 통하여 원격 서버와 통신할 수 있다. 각 차량은 서버(1230)로 데이터를 송신하고 서버(1230)로부터 데이터를 수신할 수 있다. 예를 들면, 서버(1230)는 서로 다른 시간에 도로 구간(1200)을 운행하는 여러 차량으로부터 데이터를 수집하고, 수집된 데이터를 처리하여 자율주행차 도로 항법 모델을 생성하거나 업데이트할 수 있다. 서버(1230)는 데이터를 서버로 전송한 차량으로 자율주행차 도로 항법 모델 또는 자율주행차 도로 항법 모델 업데이트를 전송할 수 있다. 서버(1230)는 차후에 도로 구간(1200)을 운행하는 다른 차량으로 자율주행차 도로 항법 모델 또는 자율주행차 도로 항법 모델 업데이트를 전송할 수 있다.
차량(1205, 1210, 1215, 1220, 1225)이 도로 구간(1200)을 운행함에 따라, 차량(1205, 1210, 1215, 1220, 1225)에 의해 수집된 항법 정보는 서버(1230)로 전송될 수 있다. 일부 실시예에서, 항법 정보는 공통 도로 구간(1200)에 관한 것일 수 있다. 항법 정보는 각 차량(1205, 1210, 1215, 1220, 1225)이 도로 구간(1200)을 운행함에 따라 각 차량(1205, 1210, 1215, 1220, 1225)에 관한 궤적을 포함할 수 있다. 일부 실시예에서, 차량(1205)에 제공된 다양한 센서 및 장치가 감지한 데이터에 근거하여 재구성될 수 있다. 예를 들어, 궤적은 가속도계 데이터, 속력 데이터, 랜드마크 데이터, 도로 기하 또는 프로필 데이터, 차량 위치 데이터, 및 자체 움직임 데이터 중 하나 이상에 근거하여 재구성될 수 있다. 일부 실시예에서, 궤적은 가속도계와 같은 관성 센서로부터의 데이터 및 속력 센서에 의해 감지된 차량(1205)의 속도에 근거하여 재구성될 수 있다. 또한, 일부 실시예에서, 궤적은 카메라에 감지된 3차원 평행이동 및/또는 3차원 회전(또는 회전 운동)을 나타내는 자체 움직임에 근거하여 판단(예를 들어, 차량(1205, 1210, 1215, 1220, 1225)에 탑재된 프로세서에 의해 판단)될 수 있다. 카메라 자신(즉, 차체)의 움직임은 카메라가 캡처한 하나 이상의 이미지의 분석에 근거하여 판단될 수 있다.
일부 실시예에서, 차량(1205)의 궤적은 차량(1205)에 탑재된 프로세서에 의해 판단되고 서버(1230)로 전송될 수 있다. 다른 실시예에서, 서버(1230)는 차량(1205)에 제공된 다양한 센서 및 장치가 감지한 데이터를 수신하고 차량(1205)으로부터 수신한 데이터에 근거하여 궤적을 판단할 수 있다.
일부 실시예에서, 차량(1205, 1210, 1215, 1220, 1225)으로부터 서버(1230)로 전송되는 항법 정보에는 도로 기하 또는 프로필에 관한 데이터가 포함될 수 있다. 도로 구간(1200)의 기하는 차로 구조 및/또는 랜드마크를 포함할 수 있다. 차로 구조는 도로 구간(1200)의 전체 차로의 개수, 차로의 종류(예, 일방통행 차로, 쌍방통행 차로, 주행 차로, 추월 차로 등), 차로의 표시, 차로의 폭 등을 포함할 수 있다. 일부 실시예에서, 항법 정보는 차로 배정, 예를 들면, 복수의 차로 중에서 어느 차로에서 차량이 운행 중인지 등을 포함할 수 있다. 예를 들면, 차로 배정은 차량이 우측 또는 좌측으로부터 3번째 차로에서 운행 중이라는 것을 나타내기 위하여 "3"이라는 값과 연계되어 있을 수 있다. 다른 예를 들면, 차로 배정은 차량이 중앙 차로에서 운행 중이라는 것을 나타내기 위하여 "중앙 차로"라는 텍스트 값과 연계되어 있을 수 있다.
서버(1230)는 항법 정보를 하드 드라이브, CD, 테이프, 메모리 등과 같은 비일시적 컴퓨터 가독 매체에 저장할 수 있다. 서버(1230)는 복수의 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신한 항법 정보에 근거하여 공통 도로 구간(1200)의 자율주행차 도로 항법 모델의 적어도 일부를 생성(예, 서버(1230)에 포함된 프로세서를 통해 생성)하고 이 모델을 스파스 맵의 일부로 저장할 수 있다. 서버(1230)는 서로 다른 시간에 도로 구간의 한 차로를 운행하는 여러 차량(예, 1205, 1210, 1215, 1220, 1225)으로부터 수신한 크라우드소싱 된 데이터(예, 항법 정보)에 근거하여 각 차로에 관한 궤적을 결정할 수 있다. 서버(1230)는 크라우드소싱 된 항법 데이터에 근거하여 결정된 복수의 궤적에 근거하여 자율주행차 도로 항법 모델 또는 이 모델의 일부(예, 업데이트된 부분)를 생성할 수 있다. 서버(1230)는 차량의 항법 시스템에 제공된 기존의 자율주행차 도로 항법 모델을 업데이트하기 위하여 자율주행차 도로 항법 모델 또는 이 모델의 일부를 도로 구간(1200)을 운행하는 하나 이상의 자율주행차(1205, 1210, 1215, 1220, 1225) 또는 차후에 도로 구간을 운행하는 다른 자율주행차로 전송할 수 있다. 자율주행차 도로 항법 모델은 자율주행차가 공통 도로 구간(1200)에서 자율 주행을 하기 위하여 사용될 수 있다.
앞서 설명한 바와 같이, 자율주행차 도로 항법 모델은 스파스 맵(예, 도 8에 도시된 800)에 포함될 수 있다. 스파스 맵(800)은 도로의 도로 기하 및/또는 랜드마크에 관한 데이터의 스파스 기록을 포함할 수 있으며, 데이터의 스파스 기록을 통하여 자율주행차의 자율 주행을 안내할 충분한 정보를 제공하면서도 과도한 데이터 저장을 요구하지 않을 수 있다. 일부 실시예에서, 자율주행차 도로 항법 모델은 스파스 맵(800)과 별도로 저장되고, 자율주행차 도로 항법 모델이 자율 주행을 위해 수행될 때 스파스 맵(800)으로부터의 지도 데이터를 사용할 수 있다. 일부 실시예에서, 자율주행차 도로 항법 모델은 도로 구간(1200)을 따라 자율주행차(1205, 1210, 1215, 1220, 1225)의 자율 주행을 안내하기 위한 또는 차후에 도로 구간(1200)을 운행할 다른 차량들의 자율 주행을 안내하기 위한 목표 궤적을 결정하기 위해 스파스 맵(800)에 포함된 지도 데이터를 사용할 수 있다. 예를 들면, 자율주행차 도로 항법 모델이 차량(1205)의 항법 시스템에 포함된 프로세서에 의해 실행될 경우, 자율주행차 도로 항법 모델은 프로세서로 하여금 차량(1205)으로부터 수신한 항법 정보에 근거하여 결정된 궤적과 스파스 맵(800)에 포함된 미리 설정된 궤적을 비교하여 차량(1205)의 현 운행 경로를 검증 및/또는 수정할 수 있다.
자율주행차 도로 항법 모델에서, 도로 특징 또는 목표 궤적의 기하는 3차원 공간의 곡선으로 인코딩 될 수 있다. 일 실시예에서, 이 곡선은 연결하는 하나 이상의 3차원 다항식을 포함하는 3차원 스플라인일 수 있다. 본 발명의 당업자가 이해하는 바와 같이, 스플라인은 데이터를 맞추기 위해 일련의 다항식에 의해 구간 정의된 수치 함수일 수 있다. 도로의 3차원 기하 데이터를 맞추기 위한 스플라인은 선형 스플라인(1차), 2차 스플라인, 3차 스플라인, 또는 다른 차수 스플라인, 또는 이들의 조합을 포함할 수 있다. 스플라인은 도로의 3차원 기하 데이터의 데이터 포인트를 연결하는(예, 맞추는) 하나 이상의 다른 차수의 3차원 다항식을 포함할 수 있다. 일부 실시예에서, 자율주행차 도로 항법 모델은 공통 도로 구간(예, 1200) 또는 도로 구간(1200)의 한 차로를 운행하는 목표 궤적에 상응하는 3차원 스플라인을 포함할 수 있다.
앞서 설명한 바와 같이, 스파스 맵에 포함된 자율주행차 도로 항법 모델은 도로 구간(1200) 상의 적어도 하나의 랜드마크의 식별과 같은 기타 정보를 포함할 수 있다. 랜드마크는 각 차량(1205, 1210, 1215, 1220, 1225)에 설치된 카메라(예, 122)의 시야 내에서 보일 수 있다. 일부 실시예에서, 카메라(122)는 랜드마크의 이미지를 캡처할 수 있다. 차량에 제공된 프로세서(예, 프로세서(180, 190) 또는 처리부(110))는 랜드마크의 이미지를 처리하여 랜드마크의 식별을 추출할 수 있다. 스파스 맵(800)에는 랜드마크의 실제 이미지가 아닌 랜드마크 식별 정보가 저장될 수 있다. 랜드마크 식별 정보가 필요로 하는 저장 공간은 실제 이미지보다 훨씬 작을 수 있다. 기타 센서 및 시스템(예, GPS 시스템)이 랜드마크의 특정 식별 정보(예, 랜드마크의 위치)를 제공할 수도 있다. 랜드마크는 교통표지판, 화살표, 차로 표시, 파선 차로 표시, 신호등, 정지선, 방향표지판(예, 화살표로 나타낸 고속도로 출구 표지판, 다른 방향 또는 지역을 화살표로 나타낸 고속도로 표지판 등), 랜드마크 비콘, 가로등 등 중 하나 이상을 포함할 수 있다. 랜드마크 비콘이란 도로 구간을 따라 설치되어 차량에 설치된 수신기로 신호를 전송 또는 반사하는 장치를 말하며, 차량이 이 장치를 지나갈 때 수신한 비콘과 그 위치(예, 비콘의 GPS 위치로부터 판단된 위치)는 자율주행차 도로 항법 모델 및/또는 스파스 맵(800)에 포함될 랜드마크로 사용될 수 있다.
적어도 하나의 랜드마크의 식별은 이 적어도 하나의 랜드마크의 위치를 포함할 수 있다. 랜드마크의 위치는 복수의 차량(1205, 1210, 1215, 1220, 1225)과 연계된 센서 시스템(예, GPS, 관성에 근거한 위치 인식 시스템, 랜드마크 비콘 등)을 사용하여 수행된 위치 측정에 근거하여 판단될 수 있다. 일부 실시예에서, 랜드마크의 위치는 여러 운행에 걸쳐 다른 차량들(1205, 1210, 1215, 1220, 1225의 센서 시스템이 검출, 수집, 또는 수신한 위치 측정의 평균을 구하여 판단될 수 있다. 예를 들면, 차량(1205, 1210, 1215, 1220, 1225)은 위치 측정 데이터를 서버(1230)로 전송하고, 서버는 위치 측정치의 평균을 구하여 랜드마크의 위치로 사용할 수 있다. 랜드마크의 위치는 후속 운행 차량으로부터 수신한 측정치에 의해 지속적으로 정제될 수 있다.
랜드마크의 식별은 랜드마크의 크기를 포함할 수 있다. 차량(예, 1205)에 제공된 프로세서는 이미지의 분석에 근거하여 랜드마크의 물리적 크기를 추정할 수 있다. 서버(1230)는 서로 다른 운행을 하는 다른 차량들로부터 동일 랜드마크의 물리적 크기에 대한 복수의 추정치를 수신할 수 있다. 서버(1230)는 다른 추정치의 평균을 구하여 랜드마크에 대한 물리적 크기를 도출하고 도로 모델에 저장할 수 있다. 물리적 크기 추정치는 또한 차량으로부터 랜드마크까지의 거리를 판단하고 추정하는데 사용될 수 있다. 랜드마크까지의 거리는 차량의 현재 속력에 근거하여, 그리고 이미지 내에 보이는 랜드마크의 위치에 근거한 카메라의 확산점(focus of expansion) 대비 확산 규모(scale of expansion)에 근거하여 추정될 수 있다. 예를 들어, 랜드마크까지의 거리는 Z= V*dt*R/D의 수학식에 의해 추정될 수 있다. 여기서, V는 차량의 속력이고, R은 시간 t1에 랜드마크로부터 확산점까지의 이미지 내 거리이며, D는 t1으로부터 t2까지 이미지 내 랜드마크의 거리 변화이다. dt는 (t2-t1)을 의미한다. 예를 들어, 랜드마크까지의 거리는 Z= V*dt*R/D의 수학식에 의해 추정될 수 있다. 여기서, V는 차량의 속력이고, R은 랜드마크와 확산점 간의 이미지 내 거리이며, dt는 시간 간격이고, D는 랜드마크의 공액선(epipolar line) 방향 이미지 변위이다. 상기 수학식과 균등한 수학식, 예를 들면,
Figure pct00004
를 사용하여 랜드마크까지의 거리를 추정할 수도 있다. 여기서, V는 차량의 속력이고,
Figure pct00005
는 이미지 길이(예, 물체 폭)이며,
Figure pct00006
는 단위 시간 내에서 이미지 길이의 변화이다.
랜드마크의 물리적 크기를 알고 있는 경우, 랜드마크까지의 거리는 수학식
Figure pct00007
에 근거하여 판단될 수 있다. 여기서, f는 초점거리이고, W는 랜드마크의 크기(예, 높이 또는 폭)이고,
Figure pct00008
는 랜드마크가 이미지에서 벗어날 때의 픽셀 수이다. 이 수학식으로부터, 거리(Z)의 변화는
Figure pct00009
를 사용하여 산출될 수 있다. 여기서,
Figure pct00010
는 평균을 구함으로써 0으로 소멸하고,
Figure pct00011
는 이미지 내 경계 박스 정확도(bounding box accuracy)를 나타내는 픽셀의 수이다. 랜드마크의 물리적 크기를 추정하는 값은 복수의 관찰값의 평균을 구함으로써 서버 측에서 산출될 수 있다. 거리 추정 결과의 오차는 매우 작을 수 있다. 상기 공식을 사용할 경우의 오차에는 두 가지 요인이 있을 수 있으며, 즉,
Figure pct00012
Figure pct00013
이다. 이 요인들은
Figure pct00014
에 의해 거리 오차에 기여한다. 그러나,
Figure pct00015
는 평균을 구함으로써 0으로 소멸하므로,
Figure pct00016
Figure pct00017
(예, 이미지 내의 경계 박스의 부정확도)에 의해 결정된다.
크기를 모르는 랜드마크에 있어서, 랜드마크까지의 거리는 연속 프레임 간의 랜드마크 상 특징점을 추적함으로써 추정할 수 있다. 예를 들어, 속도제한표지판에 보이는 특정 특징들이 둘 이상의 이미지 프레임 간에 추적될 수 있다. 이렇게 추적된 특징에 근거하여, 거리 분포가 특징점 별로 생성될 수 있다. 거리 추정은 거리 분포로부터 추출될 수 있다. 예를 들면, 거리 분포에 가장 빈번하게 나타나는 거리를 거리 추정으로 사용할 수 있다. 다른 예에서, 거리 분포의 평균을 거리 추정으로 사용할 수 있다.
도 13은 복수의 3차원 스플라인(1301, 1302, 1303)으로 나타낸 자율주행차 도로 항법 모델의 예시를 도시한 것이다. 도 13에 도시된 곡선(1301, 1302, 1303)은 예시의 목적으로만 도시된 것이다. 각 스플라인은 복수의 데이터 포인트(1310)를 연결하는 하나 이상의 3차원 다항식을 포함할 수 있다. 각 다항식은 1차 다항식, 2차 다항식, 3차 다항식, 또는 기타 다른 차수를 가진 다항식의 조합일 수 있다. 각 데이터 포인트(1310)는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신한 항법 정보에 관한 것일 수 있다. 일부 실시예에서, 각 데이터 포인트(1310)는 랜드마크(예, 랜드마크의 크기, 위치 및 식별 정보) 및/또는 도로 특징 프로필(예, 도로 기하, 노면 상태 프로필, 도로 곡률 프로필, 도로 폭 프로필)에 관한 것일 수 있다. 일부 실시예에서, 일부 데이터 포인트(1310)는 랜드마크에 관한 것이고, 다른 데이터 포인트(1310)는 도로 특징 프로필에 관한 것일 수 있다.
도 14는 다섯 번의 다른 운행으로부터 수신된 원시 위치 데이터(raw location data, 1410)(예, GPS 데이터)를 예시한 것이다. 한 운행이 같은 시간에 별개의 차량에 의해 이루어졌거나, 별개의 시간에 동일한 차량에 의해 이루어졌거나, 별개의 시간에 별개의 차량에 이루어진 경우, 다른 운행과 별개의 운행일 수 있다. 위치 데이터(1410) 내의 오차 또는 동일 차로 내 차량들의 다른 위치(예, 한 차량이 다른 차량보다 차로의 좌측에 가깝게 운행하는 경우)를 설명하기 위하여, 서버(1230)는 하나 이상의 통계적 방법을 활용하여 맵 스켈레톤(1420)을 생성하여 원시 위치 데이터(1410) 내의 차이가 실제 차이를 나타내는지 또는 통계적 오차를 나타내는지를 판단할 수 있다. 맵 스켈레톤(1420) 내의 각 경로는 그 경로를 형성한 원시 데이터(1410)로 다시 링크 될 수 있다. 예를 들어, 스켈레톤(1420) 내의 A와 B 사이의 경로는 운행2, 운행3, 운행4 및 운행5로부터의 원시 데이터(1410)로 링크되지만 운행1로부터의 원시 데이터(1410)로는 링크되지 않는다. 스켈레톤(1420)은 차량의 항법에 사용될 만큼 상세하지 않을 수 있지만(예, 앞서 설명한 스플라인과 달리, 동일 도로 상의 복수의 차로로부터의 운행을 병합하기 때문), 유용한 위상학적 정보(topological information)를 제공할 수 있고 교차로를 정의하기 위해 사용될 수 있다.
도 15는 맵 스켈레톤의 구간(예, 스켈레톤(1420) 내의 구간 A와 B 사이) 내에서 스파스 맵을 위한 추가 내용이 생성되는 일례를 도시한 것이다. 도 15에 도시된 바와 같이, 데이터(예, 자체 움직임 데이터, 도로 표시 데이터 등)는 운행과 함께 위치 S(또는 S 1 또는 S 2 )의 함수로 나타낼 수 있다. 서버(1230)는 운행(1510)의 랜드마크(1501, 1503, 1505)와 운행(1520)의 랜드마크(1507, 1509) 사이의 독특한 매칭을 식별함으로써 스파스 맵을 위한 랜드마크를 식별할 수 있다. 이러한 매칭 알고리즘의 결과로 랜드마크(1511, 1513, 1515)를 식별할 수 있다. 그러나 본 발명의 당업자는 다른 매칭 알고리즘도 사용될 수 있음을 인지할 수 있을 것이다. 예를 들어, 독특한 매칭 대신에 또는 독특한 매칭과 함께 확률 최적화(probability optimization)가 사용될 수 있다. 서버(1230)는 매칭된 랜드마크를 정렬하기 위하여 운행을 종렬 정렬할 수 있다. 예를 들어, 서버(1230)는 한 운행(예, 1520)을 기준 운행으로 선택한 후, 다른 운행(예, 1510)을 이동 및/또는 신축적으로 늘여서 정렬할 수 있다.
도 16은 스파스 맵에 사용하기 위한 정렬된 랜드마크 데이터의 일례를 도시한 것이다. 도 16의 예에서, 랜드마크(1610)는 도로표지판을 포함한다. 도 16의 예는 또한, 복수의 운행(1601, 1603, 1605, 1607, 1609, 1611, 1613)으로부터의 데이터를 도시한다. 도 16의 예에서, 운행(1613)으로부터의 데이터는 "유령" 랜드마크를 포함하고, 서버(1230)는 운행(1601, 1603, 1605, 1607, 1609, 1611) 중 어느 운행에도 운행(1613)에서 식별된 랜드마크의 주변에 식별된 랜드마크를 포함하고 있지 않기 때문에 "유령" 랜드마크로 식별할 수 있다. 이에 따라, 서버(1230)는 랜드마크가 등장하지 않는 이미지에 대한 랜드마크가 등장하는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 인정하고/하거나 랜드마크가 등장하는 이미지에 대한 랜드마크가 등장하지 않는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 인정하지 않을 수 있다.
도 17은 스파스 맵의 크라우드소싱에 사용될 수 있는 운행 데이터를 생성하는 시스템(1700)을 도시한 것이다. 도 17에 도시된 바와 같이, 시스템(1700)은 카메라(1701)와 위치인식장치(1703, 예, GPS 위치추적기)를 포함할 수 있다. 카메라(1701)와 위치인식장치(1703)는 차량(예, 1205, 1210, 1215, 1220, 1225의 하나)에 탑재될 수 있다. 카메라(1701)는 예를 들어, 자체 움직임 데이터, 교통표지판 데이터, 도로 데이터 등과 같은 다중 유형의 복수의 데이터를 생성할 수 있다. 카메라 데이터와 위치인식 데이터는 운행 세그먼트(1705)로 나누어질 수 있다. 예를 들어, 운행 세그먼트(1705)는 각각 1km 미만의 운행으로부터의 카메라 데이터와 위치인식 데이터를 포함할 수 있다.
일부 실시예에서, 시스템(1700)은 운행 세그먼트(1705) 내의 중복을 제거할 수 있다. 예를 들어, 랜드마크가 카메라(1701)로부터의 복수의 이미지에 등장하는 경우, 시스템(1700)은 중복되는 데이터를 삭제하여 운행 세그먼트(1705)에 한 랜드마크의 위치와 메타데이터만이 포함되게 할 수 있다. 다른 예를 들면, 차로 표시가 카메라(1701)로부터의 복수의 이미지에 등장하는 경우, 시스템(1700)은 중복되는 데이터를 삭제하여 운행 세그먼트(1705)에 한 차로 표시의 위치와 메타데이터만이 포함되게 할 수 있다.
시스템(1700)은 또한 서버(예, 1230)를 포함한다. 서버(1230)는 차량으로부터 운행 세그먼트(1705)를 수신하고 운행 세그먼트(1705)를 단일 운행(1707)으로 재병합한다. 이러한 구성은 서버가 전체 운행에 관한 데이터를 저장할 수 있게 하면서도 차량과 서버 사이의 데이터 전송에 필요한 대역폭을 줄일 수 있게 한다.
도 18은 도 17의 시스템(1700)이 스파스 맵의 크라우드소싱을 위해 더 구성된 것을 도시한 것이다. 도 17에서와 같이, 시스템(1700)은 예를 들어 카메라(자체 움직임 데이터, 교통표지판 데이터, 도로 데이터 등을 생성하는 카메라)와 위치인식 장치(예, GPS 위치추적기)를 사용하여 운행 데이터를 캡처하는 차량(1810)을 포함한다. 도 17에서와 같이, 차량(1810)은 수집된 데이터를 운행 세그먼트(도 18에 "DS1 1", "DS2 1", "DSN 1"로 표시)로 구분한다. 이후, 서버(1230)는 운행 세그먼트를 수신하고 수신된 세그먼트로부터 운행(도18에 "Drive 1"로 표시)을 재구성한다.
도 18에 추가로 도시된 바와 같이, 시스템(1700)은 또한 추가 차량으로부터 데이터를 수신한다. 예를 들면, 차량(1820)은 또한 예를 들어 카메라(자체 움직임 데이터, 교통표지판 데이터, 도로 데이터 등을 생성하는 카메라)와 위치인식 장치(예, GPS 위치추적기)를 사용하여 운행 데이터를 캡처한다. 차량(1810)과 유사하게, 차량(1820)은 수집된 데이터를 운행 세그먼트(도 18에 "DS1 2", "DS2 2", "DSN 2"로 표시)로 구분한다. 이후, 서버(1230)는 운행 세그먼트를 수신하고 수신된 세그먼트로부터 운행(도 18에 "Drive 2"로 표시)을 재구성한다. 추가 차량의 수는 제한이 없다. 예를 들어, 도 18에 포함된 "CAR N"은 운행 데이터를 캡처하고 운행 세그먼트(도 18에 "DS1 N", "DS2 N", "DSN N"으로 표시)로 구분하여 서버(1230)로 전송하여 운행(도 18에 "Drive N"으로 표시)으로 재구성한다.
도 18에 도시된 바와 같이, 서버(1230)는 복수의 차량(예, "CAR 1"(1810), "CAR 2"(1820), "CAR N")으로부터 수집된 재구성 운행(예, "Drive 1," "Drive 2", "Drive N")을 활용하여 스파스 맵("MAP"으로 표시)을 구성할 수 있다.
도 19는 도로 구간을 따라서 자율 주행을 하기 위한 스파스 맵을 생성하는 예시적인 프로세스(1900)를 도시한 순서도이다. 프로세스(1900)는 서버(1230)에 포함된 하나 이상의 처리 장치에 의해 수행될 수 있다.
프로세스(1900)는 한 대 이상의 차량이 도로 구간을 횡단하며 획득한 복수의 이미지를 수신하는 단계(1905)를 포함할 수 있다. 서버(1230)는 한 대 이상의 차량(1205, 1210, 1215, 1220, 1225)에 포함된 카메라로부터 이미지를 수신할 수 있다. 예를 들어, 카메라(122)는 차량(1205)이 도로 구간(1200)을 따라 운행함에 따라 차량(1205) 주변의 상황의 하나 이상의 이미지를 캡처할 수 있다. 일부 실시예에서, 앞서 도 17을 참조하여 설명한 바와 같이, 서버(1230)는 또한 차량(1205) 상의 프로세서에 의해 중복이 제거된 이미지 데이터를 수신할 수 있다.
프로세스(1900)는 도로 구간을 따라 이어지는 도로면 특징의 적어도 하나의 선 표현을 복수의 이미지에 근거하여 식별하는 단계(1910)를 더 포함할 수 있다. 각 선 표현은 도로면 특징과 실질적으로 상응하는 도로 구간을 따라 가는 경로를 나타낼 수 있다. 예를 들면, 서버(1230)는 카메라(122)로부터 수신된 주변상황 이미지를 분석하여 도로 가장자리 또는 차로 표시를 식별하고 이 도로 가장자리 또는 차로 표시와 연계된 도로 구간(1200)을 따라가는 운행 궤적을 판단할 수 있다. 일부 실시예에서, 궤적(또는 선 표현)은 스플라인, 다항식 표현, 또는 곡선을 포함할 수 있다. 서버(1230)는 단계 1905에서 수신된 카메라 자체 움직임(예, 3차원 평행이동 및/또는 3차원 회전 움직임)에 근거하여 차량(1205)의 운행 궤적을 판단할 수 있다.
프로세스(1900)는 또한 도로 구간과 연계된 복수의 랜드마크를 복수의 이미지에 근거하여 식별하는 단계(1915)를 포함할 수 있다. 예를 들어, 서버(1230)는 카메라(122)로부터 수신된 주변상황 이미지를 분석하여 도로 구간(1200) 상의 도로표지판과 같은 하나 이상의 랜드마크를 식별할 수 있다. 서버(1230)는 한 대 이상의 차량이 도로 구간을 횡단하며 획득한 복수의 이미지의 분석을 활용하여 랜드마크를 식별할 수 있다. 크라우드소싱을 가능하게 하기 위하여, 분석은 도로 구간에 관한 랜드마크일 가능성의 인정 및 거부에 관한 규칙을 포함할 수 있다. 예를 들면, 분석은 랜드마크가 등장하지 않는 이미지에 대한 랜드마크가 등장하는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 인정하는 단계 및/또는 랜드마크가 등장하는 이미지에 대한 랜드마크가 등장하지 않는 이미지의 비율이 임계값을 초과하는 경우에 잠재적 랜드마크를 거부하는 단계를 포함할 수 있다.
프로세스(1900)는 서버(1230)에 의해 수행되는 기타 동작 또는 단계를 포함할 수 있다. 예를 들면, 항법 정보는 차량이 도로 구간을 운행하는 목표 궤적을 포함할 수 있고, 프로세스(1900)는 서버(1230)에 의해 도로 구간을 운행하는 여러 차량에 관한 차량 궤적을 클러스터링하는 단계와 클러스터링된 차량 궤적에 근거하여 목표 궤적을 결정하는 단계를 포함할 수 있다. 차량 궤적을 클러스터링하는 단계는 서버(1230)에 의해 도로 구간을 운행하는 차량에 관한 여러 궤적을 차량의 절대적 진행방향(absolute heading)과 차량의 차로 배정의 적어도 하나에 근거하여 복수의 클러스터로 클러스터링하는 단계를 포함할 수 있다. 목표 궤적을 생성하는 단계는 클러스터링된 궤적의 평균을 서버(1230)에 의해 구하는 단계를 포함할 수 있다. 다른 예를 들면, 프로세스(1900)는 단계 1905에서 수신된 데이터를 정렬하는 단계를 포함할 수 있다. 앞서 설명한 바와 같이, 서버(1230)에 의해 수행되는 기타 프로세스 또는 단계도 프로세스(1900)에 포함될 수 있다.
기재된 시스템과 방법은 기타 특징을 포함할 수 있다. 예를 들면, 기재된 시스템은 글로벌 좌표 대신에 로컬 좌표를 사용할 수 있다. 자율 주행을 위해, 일부 시스템은 데이터를 세계 좌표로 제시할 수 있다. 예를 들어, 지표면의 위도 및 경도 좌표를 사용할 수 있다. 지도를 조향에 활용하기 위해, 호스트 차량은 지도에 대한 자신의 위치와 방향을 판단할 수 있다. 지도 상에서 차량의 위치를 찾고 차체 기준 프레임(body reference frame)과 세계 지도 기준 프레임(world reference frame) 사이의 회전 변환(rotation transformation)을 찾기 위해서(예, 북쪽, 동쪽, 아래 등), 탑재된 GPS 장치를 사용하는 것이 당연할 수 있다. 차체 기준 프레임이 지도 기준 프레임과 정렬되면, 원하는 경로가 차체 기준 프레임으로 표현되고, 조향 명령이 계산되고 생성될 수 있다.
기재된 시스템과 방법은 고가의 측량 장비의 도움 없이도 자율주행차 단독으로 수집할 수 있는 적은 흔적 모델(low footprint model)의 자율 주행(예, 조향 제어)을 가능하게 할 수 있다. 자율 주행(예, 조향 애플리케이션)을 지원하기 위하여, 도로 모델은 도로 모델에 포함된 궤적 상의 차량의 위치의 판단에 사용될 수 있는 도로의 기하, 도로의 차로 구조, 및 랜드마크를 포함하는 스파스 맵을 포함할 수 있다. 앞서 설명한 바와 같이, 스파스 맵의 생성은 도로를 운행하는 차량과 통신하고 차량으로부터 데이터를 수신하는 원격 서버에 의해 수행될 수 있다. 데이터는 감지된 데이터, 감지된 데이터에 근거하여 재구성된 궤적, 및/또는 수정된 재구성 궤적을 나타내는 추천 궤적을 포함할 수 있다. 하기에 설명하는 바와 같이, 서버는 도로 모델을 차량 또는 나중에 동일 도로를 운행하는 기타 차량에 전송하여 자율 주행을 지원할 수 있다.
도 20은 서버(1230)의 구성도를 도시한 것이다. 서버(1230)는 하드웨어 요소(예, 통신 제어 회로, 스위치, 안테나)와 소프트웨어 요소(예, 통신 프로토콜, 컴퓨터 코드)를 모두 포함하는 통신부(2005)를 포함할 수 있다. 예를 들어, 통신부(2005)는 적어도 하나의 네트워크 인터페이스를 포함할 수 있다. 서버(1230)는 통신부(2005)를 통하여 차량(1205, 1210, 1215, 1220, 1225)과 통신할 수 있다. 예를 들어, 서버(1230)는 차량(1205, 1210, 1215, 1220, 1225)으로부터 전송된 항법 정보를 통신부(2005)를 통하여 수신할 수 있다. 서버(1230)는 통신부(2005)를 통하여 자율주행차 도로 항법 모델을 한 대 이상의 차량으로 배포할 수 있다.
서버(1230)는 하드드라이브, CD, 테이프 등과 같은 적어도 하나의 비일시적 저장 매체(2010)를 포함할 수 있다. 저장 장치(2010)는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신된 항법 정보 및/또는 서버(1230)가 항법 정보에 근거하여 생성하는 자율주행차 도로 항법 모델과 같은 데이터를 저장하도록 구성될 수 있다. 저장 장치(2010)는 스파스 맵(예, 상기에 도 8을 참조하여 설명한 스파스 맵(800))과 같은 기타 정보를 저장하도록 구성될 수 있다.
저장 장치(2010) 외에도 또는 대신에, 서버(1230)는 메모리(2015)를 포함할 수 있다. 메모리(2015)는 메모리(140 또는 150)와 유사하거나 상이할 수 있다. 메모리(2015)는 플래시 메모리, RAM 등과 같은 비일시적 메모리일 수 있다. 메모리(2015)는 프로세서(예, 2020)에 의해 실행 가능한 컴퓨터 코드 또는 명령, 지도 데이터(예, 스파스 맵(800)의 데이터), 자율주행차 도로 항법 모델, 및/또는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신된 항법 정보와 같은 데이터를 저장하도록 구성될 수 있다.
서버(1230)는 다양한 기능을 수행하기 위하여 메모리(2015)에 저장된 컴퓨터 코드 또는 명령을 실행하도록 구성된 처리 장치(2020)를 포함할 수 있다. 예를 들면, 처리 장치(2020)는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신된 항법 정보를 분석하고 이 분석에 근거하여 자율주행차 도로 항법 모델을 생성할 수 있다. 처리 장치(2020)는 통신부(1405)를 제어하여 자율주행차 도로 항법 모델을 한 대 이상의 자율주행차(예, 한 대 이상의 차량(1205, 1210, 1215, 1220, 1225) 또는 차후에 도로 구간(1200)을 운행하는 일체의 차량)에 배포할 수 있다. 처리 장치(2020)는 프로세서(180, 190) 또는 처리부(110)와 유사하거나 상이할 수 있다.
도 21은 자율 주행에 사용할 도로 항법 모델을 생성하기 위한 하나 이상의 동작을 수행하기 위한 컴퓨터 코드 또는 명령을 저장할 수 있는 메모리(2015)의 구성도를 도시한 것이다. 도 21에 도시된 바와 같이, 메모리(2015)는 차량 항법 정보를 처리하기 위한 동작을 수행하기 위한 하나 이상의 모듈을 저장할 수 있다. 예를 들어, 메모리(2015)는 모델 생성 모듈(2105) 및 모델 배포 모듈(2110)을 포함할 수 있다. 처리 장치(2020)는 메모리(2015)에 포함된 모듈(2105, 2110)의 어느 하나 이상에 저장된 명령을 실행할 수 있다.
모델 생성 모듈(2105)은 프로세서(2020)에 의해 실행되는 경우에 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신한 항법 정보에 의거하여 공통 도로 구간(예, 1200)에 대한 자율주행차 도로 항법 모델의 적어도 일부를 생성할 수 있는 명령을 저장할 수 있다. 예를 들면, 자율주행차 도로 항법 모델을 생성함에 있어서, 프로세서(2020)는 공통 도로 구간(1200)의 차량 궤적을 다른 클러스터로 클러스터링 할 수 있다. 프로세서(2020)는 다른 클러스터 각각에 대해 클러스터링된 차량 궤적에 근거하여 공통 도로 구간(1200)을 따라가는 목표 궤적을 결정할 수 있다. 이러한 동작은 클러스터링된 차량 궤적의 평균(mean 또는 average) 궤적을 각 클러스터 내에서 구하는(예, 클러스터링된 차량 궤적을 나타내는 데이터의 평균을 구하는) 것을 포함할 수 있다. 일부 실시예에서, 목표 궤적은 공통 도로 구간(1200)의 단일 차로와 연관될 수 있다. 
도로 모델 및/또는 스파스 맵은 도로 구간에 관한 궤적을 저장할 수 있다. 이러한 궤적은 목표 궤적으로 지칭될 수 있으며, 자율 주행을 위해 자율주행차에 제공된다. 목표 궤적은 여러 대의 차량으로부터 수신될 수 있거나 여러 대의 차량으로부터 수신된 실제 궤적 또는 추천 궤적(일부 수정된 실제 궤적)에 근거하여 생성될 수 있다. 도로 모델 또는 스파스 맵에 포함된 목표 궤적은 다른 차량으로부터 수신된 새로운 궤적으로 지속적으로 업데이트(예, 평균) 될 수 있다.
도로 구간을 운행하는 차량은 다양한 센서를 통해 데이터를 수집할 수 있다. 이러한 데이터는 랜드마크, 도로 특징 프로필, 차량 움직임(예, 가속도계 데이터, 속력 데이터), 차량 위치(예, GPS 데이터)를 포함할 수 있으며, 실제 궤적 그 자체를 재구성하거나 실제 궤적을 재구성할 서버로 데이터를 전송할 수도 있다. 일부 실시예에서, 차량은 궤적에 관한 데이터(예, 임의의 기준 프레임 내 곡선), 랜드마크 데이터, 및 이동 경로 상의 차로 배정을 서버(1230)로 전송할 수 있다. 여러 번의 운행을 통해 동일 도로 구간을 운행하는 다양한 차량의 궤적은 서로 다를 수 있다. 서버(1230)는 클러스터링 과정을 통해 차량들로부터 수신한 궤적으로부터 각 차로에 관한 경로 또는 궤적을 식별할 수 있다.
도 22는 공통 도로 구간(예, 1200)에 대한 목표 궤적을 결정하기 위해 차량(1205, 1210, 1215, 1220, 1225)과 연관된 차량 궤적들을 클러스터링 하는 과정을 예시한 것이다. 클러스터링 과정으로부터 결정된 목표 궤적 또는 복수의 목표 궤적은 자율주행차 도로 항법 모델 또는 스파스 맵(800)에 포함될 수 있다. 일부 실시예에서, 도로 구간(1200)을 운행하는 차량(1205, 1210, 1215, 1220, 1225)은 복수의 궤적(2200)을 서버(1230)로 전송할 수 있다. 일부 실시예에서, 서버(1230)는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신한 랜드마크, 도로 기하, 및 차량 움직임 정보에 기반하여 궤적을 생성할 수 있다. 자율주행차 도로 항법 모델을 생성하기 위하여, 서버(1230)는 도 22에 도시된 바와 같이 차량 궤적(1600)을 복수의 클러스터(2205, 2210, 2215, 2220, 2225, 2230)로 클러스터링 할 수 있다.
클러스터링은 여러 기준을 사용하여 수행될 수 있다. 일부 실시예에서, 한 클러스터 내의 모든 운행은 도로 구간(1200)을 따라가는 절대적 진행방향에 있어서 서로 유사할 수 있다. 절대적 진행방향은 차량(1205, 1210, 1215, 1220, 1225)이 수신하는 GPS 신호로부터 획득할 수 있다. 일부 실시예에서, 절대적 진행방향은 추측항법을 사용하여 획득할 수 있다. 본 발명의 당업자가 이해하는 바와 같이, 추측항법을 사용하면, 이전에 판단된 위치, 추정된 속도 등을 사용하여 현 위치를 판단할 수 있고, 따라서 차량(1205, 1210, 1215, 1220, 1225)의 진행방향을 판단할 수 있다. 절대적 진행방향에 따라 클러스터링된 궤적은 도로를 따라 경로를 식별하는데 유용할 수 있다.
일부 실시예에서, 한 클러스터 내의 모든 운행은 도로 구간(1200) 운행의 차로 배정(예, 교차로 진입 전과 진출 후에 같은 차로)에 있어서 서로 유사할 수 있다. 차로 배정에 따라 클러스터링된 궤적은 도로를 따라 차로를 식별하는데 유용할 수 있다. 일부 실시예에서, 클러스터링을 위해 두 기준(예, 절대적 진행방향 및 차로 배정)을 모두 사용할 수 있다.
각 클러스터(2205, 2210, 2215, 2220, 2225, 2230)에서, 궤적의 평균을 구하여 특정 클러스터에 관한 목표 궤적을 획득할 수 있다. 예를 들면, 동일 차로 클러스터에 관한 여러 운행의 궤적의 평균을 구할 수 있다. 평균 궤적은 특정 차로에 관한 목표 궤적일 수 있다. 궤적 클러스터의 평균을 구하기 위하여, 서버(1230)는 임의 궤적(C0)을 기준 프레임으로 선택할 수 있다. 서버(1230)는 기타 모든 궤적(C1, …, Cn)에 대하여 강체 변환(rigid transformation)을 통해 Ci 내지 C0를 매핑할 수 있다. 여기서, i는 1, 2, …, n이고, n은 클러스터에 포함된 전체 궤적의 수에 상응하는 양의 정수이다. 서버(1230)는 C0 기준 프레임에서 평균 곡선 또는 궤적을 계산할 수 있다.
일부 실시예에서, 랜드마크는 다른 운행 간의 아크 길이 매칭을 정의하여 궤적과 차선의 정렬에 사용할 수 있다. 일부 실시예에서, 궤적과 차선의 정렬을 위하여 교차로 진입 전과 진출 후의 차로 표시를 사용할 수 있다.
궤적으로부터 차로를 취합하기 위하여, 서버(1230)는 임의 차로를 기준 프레임으로 선택할 수 있다. 서버(1230)는 선택된 기준 프레임에 부분적으로 겹치는 차로를 매핑할 수 있다. 서버(1230)는 모든 차로가 동일 기준 프레임에 들어갈 때까지 매핑을 계속할 수 있다. 서로 바로 옆에 있는 차로들은 동일 차로인 것처럼 정렬되고 나중에 횡적으로 이전될 수 있다.
도로 구간에서 인지된 랜드마크는 동일 기준 프레임에 매핑될 수 있으며, 일단은 차로 수준에서 매핑되고 나중엔 교차로 수준에서 매핑될 수 있다. 예를 들어, 동일 랜드마크는 여러 번의 운행에서 여러 차량들에 의해 여러 번 인지될 수 있다. 서로 다른 운행에서 수신된 동일 랜드마크에 관한 데이터는 조금 다를 수 있다. 이런 데이터를 평균을 구하고 C0 기준 프레임과 같은 동일 기준 프레임에 매핑할 수 있다. 추가적으로 또는 대안적으로, 여러 운행에서 수신된 동일 랜드마크의 데이터 분산을 계산할 수 있다.
일부 실시예에서, 도로 구간(1200)의 각 차로는 목표 궤적과 특정 랜드마크와 관련될 수 있다. 목표 궤적 또는 복수의 목표 궤적은 자율주행차 도로 항법 모델에 포함되어 차후에 동일 도로 구간(1200)을 운행하는 다른 자율주행차에 의해 사용될 수 있다. 차량(1205, 1210, 1215, 1220, 1225)이 도로 구간(1200)을 운행하면서 식별하는 랜드마크는 목표 궤적과 연계되어 기록될 수 있다. 목표 궤적과 랜드마크의 데이터는 차후에 운행하는 다른 차량들로부터 수신한 새로운 데이터로 지속적으로 또는 주기적으로 업데이트될 수 있다.
자율주행차의 위치 인식을 위하여, 기재된 시스템과 방법은 확장 칼만 필터(Extended Kalman Filter)를 사용할 수 있다. 차량의 위치는 3차원 위치 데이터 및/또는 3차원 방향 데이터, 차량의 자체 움직임의 통합에 의한 현 위치 이후의 위치 예측에 기반하여 판단될 수 있다. 차량의 위치는 랜드마크의 이미지 관찰에 의해 수정되거나 조정될 수 있다. 예를 들어, 차량이 랜드마크를 카메라에 의해 캡처 된 이미지 내에서 검출하는 경우, 이 랜드마크를 도로 모델 또는 스파스 맵(800)에 저장된 알려진 랜드마크와 비교할 수 있다. 알려진 랜드마크는 도로 모델 및/또는 스파스 맵(800)에 저장된 목표 궤적 상의 알려진 위치(예, GPS 데이터)를 가지고 있을 수 있다. 현재 속력과 랜드마크의 이미지에 근거하여, 차량으로부터 랜드마크까지의 거리가 추정될 수 있다. 목표 궤적 상의 차량 위치는 랜드마크까지의 거리 및 랜드마크의 알려진 위치(도로 모델 또는 스파스 맵(800)에 저장된 위치)에 근거하여 조정될 수 있다. 도로 모델 및/또는 스파스 맵(800)에 저장된 랜드마크의 위치 데이터(예, 여러 운행의 평균값)는 정확한 것으로 간주할 수 있다.
일부 실시예에서, 기재된 시스템은 폐쇄 루프(closed loop) 서브 시스템을 형성하여 차량의 6 자유도(six degrees of freedom) 위치(예, 3차원 위치 데이터에 3차원 방향 데이터 추가)의 추정을 사용하여 자율주행차를 자율 주행(예, 조향)하여 원하는 지점(예, 저장된 위치의 1.3초 전방 위치)에 도달하게 할 수 있다. 조향과 실제 자율 주행으로부터 측정된 데이터는 6자유도 위치 추정에 사용될 수 있다.
일부 실시예에서, 도로변의 기둥들, 예를 들면, 가로등, 전봇대 등을 랜드마크로 사용하여 차량의 위치를 인식할 수 있다. 교통표지판, 신호등, 노면 화살표, 정지선, 및 도로 구간 내 물체의 정적인 특징과 같은 기타 랜드마크도 차량의 위치 인식을 위한 랜드마크로 사용될 수 있다. 위치 인식을 위하여 기둥을 사용하는 경우, 기둥의 y 관찰(즉, 기둥까지의 거리)보다는 x 관찰(즉, 차량으로부터의 시야각)을 사용할 수 있다. 이는 기둥의 밑부분이 가려 있거나 도로와 같은 평면 상에 있지 않을 수 있기 때문이다.
도 23은 크라우드소싱 된 스파스 맵을 활용하여 자율 주행에 사용될 수 있는 차량의 항법 시스템을 예시한 것이다. 편의상, 차량은 차량(1205)을 참조하여 예시하였다. 도 23에 도시된 차량은 예를 들어 차량(1210, 1215, 1220, 1225)뿐만 아니라 다른 실시예에서 도시된 차량(200)일 수 있다. 도 12에 도시된 바와 같이, 차량(1205)은 서버(1230)와 통신할 수 있다. 차량(1205)은 카메라(122)와 같은 이미지캡처장치(122)를 포함할 수 있다. 차량(1205)은 차량(1205)이 도로(예, 도로 구간(1200)) 상에서 이동할 수 있도록 항법 안내를 제공하도록 구성된 항법 시스템(2300)을 포함할 수 있다. 차량(1205)은 또한 속력 센서(2320) 및 가속도계(2325)와 같은 기타 센서를 포함할 수 있다. 속력 센서(2320)는 차량(1205)의 속력을 감지하도록 구성될 수 있다. 가속도계(2325)는 차량(1205)의 가속 및 감속을 감지하도록 구성될 수 있다. 도 23에 도시된 차량(1205)은 자율주행차일 수 있으며, 항법 시스템(2300)은 자율 주행을 위한 항법 안내를 제공하기 위해 사용될 수 있다. 또는, 차량(1205)은 자율 주행이 아닌 인간이 제어하는 차량일 수 있으며, 항법 시스템(2300)은 여전히 항법 안내를 제공하기 위해 사용될 수 있다.
항법 시스템(2300)은 통신 경로(1235)를 통해 서버(1230)와 통신하도록 구성된 통신부(2305)를 포함할 수 있다. 항법 시스템(2300)은 GPS 신호를 수신하고 처리하도록 구성된 GPS부(2310)를 포함할 수 있다. 항법 시스템(2300)은 GPS 신호, 스파스 맵(800)로부터의 지도 데이터(차량(1205)에 탑재된 저장 장치에 저장 및/또는 서버(1230)로부터 수신), 도로 프로필 센서(2330)에 의해 감지되는 도로 기하, 카메라(122)에 의해 캡처 되는 이미지, 및/또는 서버(1230)로부터 수신되는 자율주행차 도로 항법 모델과 같은 데이터를 처리하도록 구성된 적어도 하나의 프로세서(2315)를 포함할 수 있다. 도로 프로필 센서(2330)는 노면 거칠기, 도로 폭, 도로 높낮이, 도로 곡률 등과 같은 다른 유형의 도로 프로필을 측정하기 위한 다른 유형의 장치를 포함할 수 있다. 예를 들어, 도로 프로필 센서(2330)는 차량(1205)의 서스펜션 움직임을 측정하여 노면 상태 프로필을 유추하는 장치를 포함할 수 있다. 일부 실시예에서, 도로 프로필 센서(2330)는 차량(1205)으로부터 도로변(예, 도로변의 장벽)까지의 거리를 측정하여 도로의 폭을 측정하는 레이더 센서를 포함할 수 있다. 일부 실시예에서, 도로 프로필 센서(2330)는 도로의 높낮이를 측정하도록 구성된 장치를 포함할 수 있다. 일부 실시예에서, 도로 프로필 센서(2330)는 도로의 곡률을 측정하도록 구성된 장치를 포함할 수 있다. 예를 들어, 도로의 곡률이 보이는 도로의 이미지를 캡처하기 위해 카메라(예, 카메라(122) 또는 다른 카메라)가 사용될 수 있다. 차량(1205)은 이러한 이미지를 사용하여 도로 곡률을 감지할 수 있다.
적어도 하나의 프로세서(2315)는 차량(1205)에 관한 적어도 하나의 주변상황 이미지를 카메라(122)로부터 수신하도록 프로그램될 수 있다. 적어도 하나의 프로세서(2315)는 이 적어도 하나의 주변상황 이미지를 분석하여 차량(1205)에 관한 항법 정보를 판단할 수 있다. 항법 정보는 도로 구간(1200)을 따라가는 차량(1205)의 이동에 관한 궤적을 포함할 수 있다. 적어도 하나의 프로세서(2315)는 3차원 평행이동 및 3차원 회전과 같은 카메라(122)의 움직임(즉, 차량의 움직임)에 근거하여 궤적을 결정할 수 있다. 일부 실시예에서, 적어도 하나의 프로세서(2315)는 카메라(122)가 캡처한 복수의 이미지의 분석에 근거하여 카메라(122)의 평행이동 및 회전을 판단할 수 있다. 일부 실시예에서, 항법 정보는 차로 배정 정보(예, 도로 구간(1200)을 따라 차량(1205)이 운행하는 차로)를 포함할 수 있다. 서버(1230)는 차량(1205)으로부터 서버(1230)로 전송된 항법 정보를 사용하여 자율주행차 도로 항법 모델을 생성 및/또는 업데이트하고, 이 도로 항법 모델은 차량(1205)에 자율 주행 안내를 제공하기 위해 서버(1230)로부터 차량(1205)으로 다시 전송될 수 있다.
적어도 하나의 프로세서(2315)는 또한 차량(1205)으로부터 서버(1230)로 항법 정보를 전송하도록 프로그램될 수 있다. 일부 실시예에서, 항법 정보는 도로 정보와 함께 서버(1230)로 전송될 수 있다. 도로 위치 정보는 GPS부(2310)가 수신한 GPS 신호, 랜드마크 정보, 도로 기하, 차로 정보 등 중의 하나 이상을 포함할 수 있다. 적어도 하나의 프로세서(2315)는 서버(1230)로부터 자율주행차 도로 항법 모델 또는 그 일부를 수신할 수 있다. 서버(1230)로부터 수신한 자율주행차 도로 항법 모델은 차량(1205)으로부터 서버(1230)로 전송된 항법 정보에 근거한 적어도 하나의 업데이트를 포함할 수 있다. 서버(1230)로부터 차량(1205)으로 전송된 자율주행차 도로 항법 모델의 일부는 자율주행차 도로 항법 모델의 업데이트된 부분을 포함할 수 있다. 적어도 하나의 프로세서(2315)는 수신된 자율주행차 도로 항법 모델 또는 자율주행차 도로 항법 모델의 업데이트된 부분에 근거하여 차량(1205)에 적어도 하나의 항법 동작(예, 회전과 같은 조향, 제동, 가속, 추월 등)을 발생시킬 수 있다.
적어도 하나의 프로세서(2315)는 차량(1205)에 포함된 통신부(2305), GPS부(2315), 카메라(122), 속력 센서(2320), 가속도계(2325), 도로 프로필 센서(2330)와 같은 다양한 센서 및 구성요소와 통신하도록 구성될 수 있다. 적어도 하나의 프로세서(2315)는 다양한 센서 및 구성요소로부터 정보 또는 데이터를 수집하고 통신부(2305)를 통해 서버(1230)로 전송할 수 있다. 대안적으로 또는 추가적으로, 차량(1205)의 다양한 센서 또는 구성요소는 서버(1230)와 통신하고 센서 또는 구성요소에 의해 수집된 데이터 또는 정보를 서버(1230)로 전송할 수 있다.
일부 실시예에서, 차량(1205, 1210, 1215, 1220, 1225)은 서로 통신하고 항법 정보를 공유하여 적어도 하나의 차량(1205, 1210, 1215, 1220, 1225)이 다른 차량에 의해 공유된 정보에 기반하여 크라우드소싱을 활용한 자율주행차 도로 항법 모델을 생성할 수 있도록 할 수 있다. 일부 실시예에서, 차량(1205, 1210, 1215, 1220, 1225)은 서로 항법 정보를 공유하고, 각 차량은 각 차량에 제공된 자율주행차 도로 항법 모델을 업데이트할 수 있다. 일부 실시예에서, 적어도 하나의 차량(1205, 1210, 1215, 1220, 1225), 예를 들어, 차량(1205)은 허브(hub) 차량 역할을 할 수 있다. 허브 차량(예, 1205)의 적어도 하나의 프로세서(2315)는 서버(1230)에 의해 수행되는 모든 기능 또는 일부 기능을 수행할 수 있다. 예를 들면, 허브 차량의 적어도 하나의 프로세서(2315)는 다른 차량들과 통신하고 다른 차량들로부터 항법 정보를 수신할 수 있다. 허브 차량의 적어도 하나의 프로세서(2315)는 다른 차량들로부터 수신한 공유 정보에 근거하여 자율주행차 도로 항법 모델 또는 그 업데이트를 생성할 수 있다. 허브 차량의 적어도 하나의 프로세서(2315)는 자율주행 안내를 제공하기 위해 자율주행차 도로 항법 모델 또는 그 업데이트를 다른 차량들로 전송할 수 있다.
항법 정보의 익명화
앞서 설명한 바와 같이, 한 대 이상의 차량으로부터의 데이터를 활용하여 자율주행에 활용할 도로 항법 모델을 생성할 수 있다. 도로 항법 모델의 생성에 활용되는 데이터는 본 기재에 따른 모든 임의의 데이터를 포함할 수 있고, 이러한 데이터는 호스트 차량이 한 장소로부터 다음 장소로 이동하면서 생성, 캡처, 또는 도출될 수 있다. 호스트 차량은 자율주행차, 부분 자율주행차, 또는 인간 운전자에 의해 조작되는 차량일 수 있다. 예를 들어, 차량이 제1 장소로부터 제2 장소로 이동하면서 도로 또는 차량의 주변상황을 나타내는 하나 이상의 이미지가 캡처 될 수 있다. 다른 예를 들면, 차량이 이동하면서 복수의 GPS 위치가 판단될 수 있다. 앞서 설명한 바와 같이, 차량이 이동한 궤적을 판단하기 위해 데이터가 생성될 수도 있다.
일부 상황에서, 데이터에는 개인 정보가 포함될 수 있다. 예를 들면, 차량이 사유지의 차고에 보관돼 있는 경우, 차량의 궤적은 차고로부터 사유지를 가로질러 공공도로로 진입하는 궤적을 포함할 수 있다. 다른 예를 들면, 데이터에는 개인의 집에서 개인의 직장까지의 궤적이 포함될 수 있고, 또는 개인 또는 차량과 연결될 수 있는 정보가 포함될 수 있다. 예컨대, 개인이 매일 집에서 사무실 건물까지 이동하는 경우, 이 개인의 집에서 상업지구까지의 경로를 나타내는 복수의 궤적이 생성된 것이 있을 수 있다. 이 데이터를 활용하면 이 개인을 식별하는 것이 가능할 수 있다. 예를 들어, 집과 연관된 주소를 쉽게 판단할 수 있고, 이 집과 연관된 개인이 이 사무실 건물에서 근무한다는 것을 쉽게 판단할 수 있다. 또한, 이 경로와 연관된 패턴을 판단하고 이러한 패턴과 개인을 연관 지을 수 있다. 예를 들어, 개인이 집에서 사무실 건물로 매일 이동한다고 판단할 수 있다. 또한, 개인의 운전 습관도 판단할 수 있다. 이러한 예에서 알 수 있듯이, 개별 차량이나 사용자로 추적 가능하지 못하게 데이터를 익명 처리할 필요가 있을 수 있다.
본 기재에 따라, 데이터는 하나 이상의 시스템에 의해 익명 처리될 수 있다. 예를 들어, 데이터는 캡처, 전송, 차량 내에서 처리, 원격 서버에 의해 처리, 또는 그 조합 등의 과정에서 익명화될 수 있다. 데이터는 차량과 연관된 차대번호, 차량과 연관된 사용자의 신원, 데이터와 연관된 메타데이터 등이 제거된 것일 수 있다. 추가적으로, 또는 대안적으로, 데이터는 하기에 설명하는 바와 같이 프로세스 되어 더 익명화 될 수 있다.
일부 실시예에서, 항법 시스템은 호스트 차량이 횡단한 도로 섹션에 대한 익명 처리된 운행 정보를 수집할 수 있다. 항법 시스템은 시스템(100), 시스템(2300), 그 조합 또는 일부, 또는 유사한 시스템 등과 같은, 본 기재에 따른 모든 임의의 항법 시스템일 수 있다. 항법 시스템은 호스트 차량 내부에 위치하거나 호스트 차량과 통신하는 것일 수 있다. 일부 실시예에서, 항법 시스템은 원격에 위치하지만 GPS 장치, 카메라, 속력 센서, 가속도계, 도로 프로필 센서 등과 같은 호스트 차량의 하나 이상의 센서와 직접 통신할 수 있다. 일부 실시예에서, 항법 시스템은 항법 시스템(2300)일 수 있고, 운행 정보는 GPS부(2315), 카메라(122), 속력 센서(2320), 가속도계(2325), 및 도로 프로필 센서(2330)로부터의 데이터를 포함할 수 있다.
본 기재에 따라, 항법 시스템은 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 하나 이상의 동작, 프로세스, 방법, 또는 기능을 수행하여 호스트 차량의 항법에 관한 데이터를 익명 처리하도록 구성될 수 있다. 예를 들어, 프로세서는 하기에 도 25를 참조하여 설명하는 프로세스를 수행하도록 프로그램 될 수 있다. 적어도 하나의 프로세서는 처리부(110), 프로세서(2315)와 같은 여기에 기재된 모든 임의의 프로세서 또는 다른 프로세서일 수 있다.
여기서, "도로 섹션(road section)"이라는 용어는 차량에 의해 항법 가능한 도로, 고속도로, 또는 기타 노면(예, 비포장 노면의 경우)의 모든 부분을 지칭하는데 사용된다. 일부 실시예에서, 도로 섹션은 교차로, 고속도로의 구간, 주택가의 하나 이상의 도로, 두 목적지 사이의 경로 등을 포함할 수 있다. 본 기재에 따라, "도로 구간(road segment)"이라는 용어는 도로 섹션의 모든 임의의 부분을 지칭하는데 사용된다. 일부 실시예에서, 도로 섹션은 하나 이상의 도로 구간으로 구성될 수 있다. 예를 들어, 차량은 도로 섹션에 대한 항법 정보를 수집할 수 있고, 이 정보는 도로 섹션 내의 복수의 도로 구간과 연관하여 분석될 수 있다.
도 24는 기재된 실시예에 따른 하나 이상의 동작을 수행하기 위한 명령이 저장/프로그램 될 수 있는 메모리의 예시적인 기능적 구성도이다. 도 24에는 메모리(140 또는 150)가 도시되어 있지만, 메모리는 여기에 기재된 모든 임의의 메모리 또는 여기에 기대된 모든 임의의 프로세서와 통신하는 이전에 기재되지 않은 메모리일 수 있다. 하기에는 메모리(140)에 관하여 설명하지만, 명령이 본 기재에 따른 모든 임의의 메모리에 저장될 수 있음은 당업자에게 당연할 것이다.
메모리(140)는 항법 정보의 익명 처리에 관한 하나 이상의 동작을 수행하기 위한 명령을 포함할 수 있는 하나 이상의 모듈을 저장할 수 있다. 도 24에 도시된 바와 같이, 메모리(140)는 움직임 판단 모듈(2402), 이미지 분석 모듈(2404), 도로 세그먼팅 모듈(2406), 및 전송 모듈(2408)을 포함한다. 기재된 실시예는 메모리(140)의 특정 구성으로 한정되지 않는다. 또한, 처리부(110), 이미지 프로세서(190), 애플리케이션 프로세서(180), 및/또는 프로세서(2315)는 메모리(140)에 포함된 임의의 모듈(2402, 2404, 2406, 2408)에 저장된 명령을 실행할 수 있다. 이하, 프로세서, 처리부(110), 및 프로세서(2315)를 참조하여 설명한다. 그러나 이러한 구성요소를 참조한 설명이 본 기재에 따른 기타 모든 임의의 프로세서에도 적용될 수 있음은 당업자에게 당연하다 할 것이다. 이에 따라, 모든 임의의 프로세스의 단계 또는 메모리(140)에 저장된 모든 임의의 명령의 실행은 하나 이상의 프로세서 또는 처리 장치에 의해 수행될 수 있다.
일부 실시예에서, 움직임 판단 모듈(2402)은 프로세서에 의해 실행되는 경우에 호스트 차량에 대한 적어도 하나의 움직임 묘사를 판단하는 명령을 포함할 수 있다. 움직임 묘사는 하나 이상의 센서로부터의 출력에 의거하여 판단될 수 있다. 출력은 여기에 기재된 모든 임의의 센서 또는 그 조합으로부터의 출력을 포함할 수 있다. 예를 들어, 출력은 GPS부(2310), 카메라(122), 속력 센서(2320), 가속도계(2325), 및/또는 도로 프로필 센서(2330)로부터의 데이터를 포함할 수 있다. 다른 예에서, 출력은 하나 이상의 라이더 시스템, 레이더 시스템, 음향 센서 시스템, 카메라 시스템 등과 같은 임의의 다른 센서 또는 그 조합으로부터의 출력을 포함할 수 있다. 일부 실시예에서, 움직임 판단 모듈(2402)은 복수의 차량에 대한 움직임 묘사의 판단을 가능하게 할 수 있다. 예를 들면, 움직임 판단 모듈(2402)은 항법 시스템(2300)이 배치된 호스트 차량의 항법에 관한 움직임 묘사 및 하나 이상의 센서 출력을 보내오는 다른 차량의 하나 이상의 움직임 묘사의 판단을 가능하게 할 수 있다. 하나 이상의 움직임 묘사의 판단에 대해서는 하기에 더 설명하기로 한다.
일부 실시예에서, 이미지 분석 모듈(2404)은 프로세서에 의해 실행되는 경우에 도로 섹션과 연관된 적어도 하나의 도로 특성을 판단하기 위하여 하나 이상의 이미지의 분석을 수행하는 명령을 저장할 수 있다. 하나 이상의 이미지는 이미지캡처장치(122, 124, 126)와 같은 하나 이상의 이미징 장치에 의해 캡처 될 수 있다. 이미지 분석은 본 기재의 다른 부분에서 설명한 바와 실질적으로 동일한 방식으로 수행될 수 있다. 예컨대, 이미지 분석은 단안 이미지 분석 또는 입체 이미지 분석과 같은, 도 5a 내지 도 5f, 도 6, 및/또는 도 7을 참조하여 설명한 바와 같이 수행될 수 있다. 일부 실시예에서, 프로세서는 한 세트의 이미지로부터의 정보를 추가적인 감지 정보(예, 레이더, 라이더 등으로부터의 정보)와 병합하여 이미지 분석을 수행할 수 있다.
도로 특성은 본 기재에 따른 모든 임의의 특성일 수 있다. 예를 들어, 도로 특성은 도로의 가장자리, 도로와 연관된 중앙선, 도로의 경사, 또는 모든 임의의 기타 특성을 포함할 수 있다. 일부 실시예에서, 도로 특성은 모든 임의의 물체, 물체의 집합, 또는 물체의 조합일 수 있다. 예를 들어, 도로 특성은 일시정지표지판, 도로표지판, 신호등, 빌딩, 마커, 이들의 조합, 또는 기타 임의의 다른 물체와 같은 도로 섹션 옆 또는 상에 있는 하나 이상의 랜드마크일 수 있다. 일부 실시예에서, 도로 특성은 임의의 비일시적 고정 또는 이동 물체일 수 있다. 비일시적 물체가 미리 정해진 수준의 신뢰도로 차량에 의해 검출될 수 있다면, 이러한 비일시적 물체는 도로 특성일 수 있다. 예를 들어, 임시로 설치된 공사 표지판은, 차량이 도로 섹션을 주행할 때에 이 표지판을 검출할 수 있을 가능성이 높다면, 도로 특성일 수 있다. 도로 특성으로 고려될 수 있는 비일시적이지만 임시적인 물체의 다른 예로 이동식 차로 변경 배리어 또는 표지판(예, 러시아워 등에 필요에 따라 하나 이상의 차로의 방향 변경에 활용되는 배리어 또는 표지판), 특별 차로와 연관된 표지판 또는 게이트(예, 전용차로 단속 시간 표지판, 유료도로 표지판 등) 등이 포함될 수 있다. 일시적 임시 물체는 도로 특성에서 제외될 수 있다. 예를 들어, 보행자, 차량, 동물, 또는 다음번에 도로 섹션을 주행할 때에 동일 또는 유사한 위치에 있지 않을 가능성이 높은 기타 일시적 물체는 도로 특성에서 제외될 수 있다. 일부 실시예에서, 도로 특성은 기후 조건, 도로 상의 위험물 조짐(예, 차량 충돌사고, 기름 유출, 이동 차로 내의 정지 차량 등) 등과 같은 임시 특성을 포함할 수 있다. 이미지 분석 모듈(2404)은 도로 특성과 관련된 위치, 형상, 크기, 또는 기타 정보의 판단을 가능하게 하도록 구성될 수 있다. 예를 들어, 도로 특성이 도로변에서 검출된 일시정지표지판인 경우, 프로세서(2315)는 이미지 분석 모듈(2404)에 저장된 명령을 실행하여 일시정지표지판의 위치를 판단할 수 있다.
일부 실시예에서, 도로 세그먼팅 모듈(2406)은 프로세서에 의해 실행되는 경우에 도로 구간 정보를 취합하고 익명 처리하기 위한 하나 이상의 동작을 수행하는 명령을 저장할 수 있다. 도로 구간 정보는, 예를 들어, 움직임 판단 모듈(2402)에 의해 판단된 움직임 묘사 및/또는 이미지 분석 모듈(2404)에 의해 판단된 도로 특성을 포함할 수 있다. 예를 들면, 도로 구간 정보는 호스트 차량이 이동한 궤적 및 호스트 차량에 대한 도로 가장자리의 위치를 포함할 수 있다. 일부 실시예에서, 도로 세그먼팅 모듈(2406)은 도로의 서로 다른 구간과 연관된 복수의 도로 구간 정보를 판단하기 위한 명령을 저장할 수 있다. 복수의 구간은 단일 차량으로부터 수신된 정보로부터 판단된 하나 이상의 구간을 포함할 수 있다. 예를 들어, 제1 차량과 연관된 궤적은 하나 이상의 구간으로 나누어질 수 있고, 각 구간에 관한 정보가 판단될 수 있다. 추가적으로 또는 대안적으로, 복수의 구간은 복수의 차량으로부터 수신된 정보로부터 판단된 하나 이상의 구간을 포함할 수 있다. 예를 들어, 제1 차량과 연관된 제1 궤적은 하나 이상의 구간으로 나누어질 수 있고, 제2 차량과 연관된 제2 궤적은 하나 이상의 구간으로 나뉘어질 수 있다.
도로 구간은 모든 임의의 길이일 수 있고, 이 길이는 모든 임의의 수단에 의해 판단될 수 있다. 예를 들어, 도로 구간의 길이는 정해진 또는 미리 정해진 간격 이내에서 무작위로 선택될 수 있다. 일부 실시예에서, 도로 구간의 길이는 연관된 도로 섹션의 유형 또는 장소의 함수일 수 있다. 예를 들면, 고속도로로 구성된 도로 섹션의 도로 구간은 복수의 도시 블록으로 구성된 도로 섹션의 도로 구간에 비해 상당히 길 수 있다. 본 예시에서, 고속도로와 연관된 도로 구간의 길이는 예컨대 몇 킬로미터일 수 있는 반면, 도시 블록과 연관된 도로 구간의 길이는 1킬로미터 이하일 수 있다. 일부 실시예에서, 도로 구간의 길이는 도로 섹션 상에서의 항법 속도의 함수일 수 있다. 예를 들면, 속도제한이 시속 100km 또는 그 이상일 수 있는 고속도로 상의 도로 구간은 속도 제한이 시속 60km일 수 있는 지방 도로 상의 도로 구간보다 상당히 길 수 있다. 일부 실시예에서, 도로 구간의 길이는 도로 섹션 상에서의 항법 복잡성의 함수일 수 있다. 예를 들면, 직선인 도로 섹션 상의 도로 구간은 꼬불꼬불한 도로 섹션 상의 도로 구간보다 상당히 길 수 있다. 마찬가지로, 회전이 거의 없는 경로와 연관된 도로 구간은 회전을 많이 하거나 빈번하게 해야 하는 경로와 연관된 도로 구간보다 상당히 길 수 있다. 일부 실시예에서, 도로 구간의 길이는 사용자에 의해 판단될 수 있다. 예를 들면, 본 기재에 다른 시스템을 사용하는 도급업자는 각 도로 구간이 특정 길이의 범위 이내가 되도록 지시할 수 있다. 일부 실시예에서, 도로 구간의 길이는 도로 섹션의 특성 또는 성질에 의해 판단될 수 있다. 예를 들면, 각 도로 구간은 하나 이상의 랜드마크가 도로 구간과 연관될 수 있는 길이일 수 있다. 다른 예를 들면, 도로 구간이 터널, 로터리, 다리, 또는 기타 독특한 특징을 포함하는 경우, 적어도 하나의 도로 구간은 이러한 독특한 특징과 적어도 동일한 길이일 수 있다. 일부 실시예에서, 도로 구간의 길이는 랜드마크 또는 기타 검출 가능한 도로 특성의 밀도에 의거하여 판단될 수 있다. 도로 특성의 밀도는 미리 정해질 수 있고 범위, 임계값, 또는 기타 수치로 표현될 수 있다. 예를 들면, 각 도로 구간은 랜드마크, 물체, 또는 차량에 의해 검출된 비의미론적 특징이 5개 내지 7개가 있는 길이일 수 있다. 상기 예들은 예시일 뿐이며, 도로 구간이 모든 임의의 길이일 수 있고 본 기재에 따른 모든 임의의 수단에 의해 판단될 수 있음은 당연하다 할 것이다.
도로 세그먼팅 모듈(2406)은 프로세서에 의해 실행되는 경우에 차량의 항법 정보에 관한 데이터의 익명 처리를 최적화하는 명령을 포함할 수 있다. 명령은 프로세서(2315)에 언제 어디서 정보를 분할할지를 지시함으로써 익명 처리를 최적화할 수 있다. 예를 들어, 제1 명령은 궤적의 시작 또는 끝, 또는 시작과 끝 모두가 어느 구간에도 포함되지 않도록 궤적이 구간화 되게 지시할 수 있다. 본 예에서, 궤적의 시작이 구간에 포함되지 않도록 지시함으로써 사유 차도, 차고, 또는 궤적의 기타 사적 부분(예, 집 또는 직장에 있거나 관련된 부분)이 포함되지 않게 할 수 있다. 아무 구간에도 포함되지 않는 개인 정보는 삭제되거나 안전한 장소에 보관될 수 있다. 일부 실시예에서, 개인 정보가 버퍼에 임시 저장되고, 이 개인 정보가 자율주행차 도로 항법 모델의 생성에 필요하거나 유용한지를 프로세서(2315)가 판단할 수 있다. 예를 들어, 사무실 건물 주차장을 출입하는 궤적을 포함하는 도로 구간이 버퍼에 저장되고, 이 주차장의 출입을 위한 회전을 매핑하는 것이 도로 구간의 활용에 적절 또는 바람직한 것으로 판단되는 경우에, 항법 모델에 포함시키기 위해 전송될 수 있다. 이와 유사한 예로, 동일한 도로 구간이 버퍼에 저장되고, 항법 모델에 포함하기에 적절한 교차로, 독특한 도로 특징, 기타 도로 특성이 도로 구간에 포함되어 있는 경우에, 항법 모델에 포함시키기 위해 전송될 수 있다. 버퍼에 저장된 도로 구간 정보는 복수의 세부 구간으로 더 분할되어, 도로 구간의 하나 이상의 부분이 추후에 항법 모델에 활용되는 경우에, 익명성 보존을 가능하게 할 수 있다.
도로 세그먼팅 모듈(2406)은 프로세서에 의해 실행되는 경우에 자율주행차에 대한 항법 모델을 생성하기 위해 충분한 정보가 저장되도록 하는 명령을 포함할 수 있다. 명령은 데이터의 일부를 보존하도록 프로세서(2315)에 명령함으로써 구간화 된 도로 정보에 충분한 정보가 반드시 포함되도록 할 수 있다. 예를 들어, 명령은 독특한 도로 구조에 관한 정보가 구간에 포함되게 하고, 데이터의 최소 퍼센티지가 보존되게 하고, 일반적으로 통행하지 않는 영역에 관한 데이터가 보존되게 하는 등의 지시를 할 수 있다. 예를 들어, 명령은 터널, 다리, 로터리, 병합 차로, 고속도로 나들목, 또는 기타 독특한 도로 특성이 검출되는 경우에 이러한 독특한 특성에 관한 정보가 분할에 의해 손실되지 않도록 이러한 정보가 보존되게 하는 지시를 할 수 있다. 독특한 데이터를 보존하게 하는 명령이 사적 영역에 관한 데이터를 제거하게 하는 명령과 일관되지 않는 경우, 도로 세그먼팅 모듈(2406)은 익명성 보장을 우선하고 개인 정보를 삭제할 수 있다. 도로 세그먼팅 모듈(2406)의 명령을 실행하여 프로세서(2315)에 의해 수행되는 분할의 유형의 추가적인 예에 대하여 하기에 설명한다.
메모리(140)는 프로세서에 의해 실행되는 경우에 도로 구간 정보의 전송을 유발하는 명령을 저장하는 전송 모듈(2408)을 포함할 수 있다. 도로 구간 정보는 본 기제에 따른 처리를 계속 진행하기 위하여 서버(1230)와 같은 외부 서버로 전송될 수 있다. 정보를 서버(1230)로 전송하기 전에 분할함으로써, 익명성이 보존될 수 있다. 도로 구간 정보는 추가적인 처리를 위해 다른 차량 또는 다른 시스템으로 전송될 수도 있다. 일부 실시예에서, 정보는 하기에 설명하는 프로세스(3100)에 따른 처리를 진행하기 위하여 서버(1230)로 전송될 수 있다.
어느 모듈(2402, 2404, 2406, 2408)이라도 학습 시스템(예, 신경망 또는 심층 신경망) 또는 비학습 시스템으로 구현될 수 있다
도 25는 호스트 차량이 횡단한 도로 섹션에 대한 익명 처리된 운행 정보를 수집하는 예시적인 프로세스(2500)를 도시한 순서도이다. 프로세스(2500)는 항법 시스템(2300)에 포함된 프로세서(2315), 시스템(100)에 포함된 처리부(110), 또는 기타 프로세서에 의해 수행될 수 있다. 일부 실시예에서, 프로세스(2500)는 움직임 판단 모듈(2402), 이미지 분석 모듈(2404), 도로 세그먼팅 모듈(2406), 및/또는 전송 모듈(2408)에 저장된 명령에 따라 프로세서(2315)에 의해 실행될 수 있다.
본 기재에 따라, 프로세스(2500)는 호스트 차량의 움직임을 나타내는 출력을 수신하는 단계(2510)를 포함할 수 있다. 출력은 하나 이상의 센서로부터 출력된 정보를 포함할 수 있다. 하나 이상의 센서는 호스트 차량과 관련된 움직임, 위치, 또는 기타 성질에 관한 데이터를 수집하도록 구성될 수 있다. 출력 정보는 프로세서와 통신하는 프로세서 또는 시스템에 의해 수신될 수 있다. 일부 실시예에서, 하나 이상의 센서는 GPS 센서, 속력 센서 및 가속도계 중의 하나 이상을 포함할 수 있다. 예를 들어, 프로세서(2315)는 GPS부(2310), 카메라(122), 속력 센서(2320), 가속도계(2325), 및/또는 도로 프로필 센서(2330)의 하나 이상으로부터 출력 정보를 수신하도록 구성될 수 있다. 출력은 임의의 이러한 센서로부터 직접 또는 간접, 유선 전송, 무선 전송, 또는 여기에 기재된 모든 임의의 수단에 의해 수신될 수 있다.
일부 실시예에서, 정보는 본 기재에 따른 하나 이상의 출력을 판단하기 위해 이전에 처리된 것일 수 있다. 예를 들어, 정보는 호스트 차량의 궤적을 판단하기 위해 이미 처리된 것일 수 있고, 판단된 궤적은 단계 2510에서 프로세서(2315)에 의해 수신될 수 있다. 일부 실시예에서, 프로세서(2315)는 하나 이상의 센서로부터 원시 데이터를 직접 수신할 수 있다.
본 기재에 따라, 프로세스(2500)는 호스트 차량에 대한 적어도 하나의 움직임 묘사를 판단하는 단계(2520)를 포함할 수 있다. 적어도 하나의 움직임 묘사는 하나 이상의 센서로부터의 출력에 적어도 부분적으로 의거하여 판단될 수 있다. 예를 들어, 움직임 묘사는 프로세스(2500)의 단계 2510에서 수신된 출력으로부터 판단될 수 있다. 적어도 하나의 움직임 묘사는 호스트 차량의 움직임의 임의의 지시자를 포함할 수 있다. 예를 들면, 움직임 묘사는 호스트 차량과 연관된 가속, 차량과 연관된 속도, 특정 시간에 호스트 차량의 종방향 및 횡방향 위치, 호스트 차량과 연관된 공간 내 3차원 위치 등을 포함할 수 있다. 일부 실시예에서, 적어도 하나의 움직임 묘사는 호스트 차량의 판단된 궤적을 포함할 수 있다. 궤적은 도 12, 도 20 등을 참조하여 설명한 수단과 같은 여기에 기재된 모든 임의의 수단에 의해 판단될 수 있다. 도 26은 복수의 차량에 대한 궤적을 도시하고 있으며, 이 궤적들은 모두 단계 2520에서 판단된 궤적일 수 있다.
일부 실시예에서, 움직임 묘사는 미리 정해진 좌표 시스템에 상대적인 호스트 차량에 대한 자체 움직임 묘사를 포함할 수 있다. 예를 들어, 자체 움직임은 차량의 회전, 평행이동, 횡방향, 또는 기타 움직임을 포함할 수 있다. 호스트 차량의 자체 움직임은 호스트 차량과 연관된 하나 이상의 속도, 차량과 연관된 요 레이트(yaw rate), 차량과 연관된 틸트(tilt) 또는 롤(roll) 등으로부터 판단될 수 있다. 일부 실시예에서, 호스트 차량에 대한 자체 움직임 묘사는 6 자유도에 대해 판단될 수 있다. 다른 실시예에서, 호스트 차량에 대한 자체 움직임 묘사는 임의의 다른 자유도, 예를 들어, 3 자유도에 대해 판단될 수 있다.
프로세스(2500)는 도로 구간을 따라 호스트 차량의 주변상황을 나타내는 적어도 하나의 이미지를 수신하는 단계(2530)를 포함할 수 있다. 적어도 하나의 이미지는 호스트 차량과 연관된 하나 이상의 카메라로부터 수신될 수 있다. 예를 들어, 프로세서(2315)는 이미지캡처장치(122)로부터 하나 이상의 이미지를 수신할 수 있다. 하나 이상의 이미지는 무선 전송, 유선 전송, 또는 임의의 기타 방법과 같은 여기에 기재된 모든 임의의 수단에 의해 수신될 수 있다. 하나 이상의 이미지는 호스트 차량의 주변상황의 묘사를 포함할 수 있다. 예를 들어, 하나 이상의 이미지는 도 29a 또는 도 29b의 이미지와 유사한 이미지를 포함할 수 있으며, 이에 대해서는 하기에 설명한다.
프로세스(2500)는 적어도 하나의 이미지를 분석하여 도로 섹션과 연관된 적어도 하나의 도로 특성을 판단하는 단계(2540)를 포함할 수 있다. 예를 들어, 프로세서(2315)는 앞서 설명한 바와 같이 이미지 분석 모듈(2404)에 저장된 명령에 따라 하나 이상의 이미지를 분석할 수 있다. 다른 예를 들면, 신경망과 같은 학습 시스템을 활용하여 적어도 하나의 도로 특성을 판단할 수 있다. 하나 이상의 도로 특성은 도로의 중앙선, 도로의 가장자리, 도로를 따라 있는 랜드마크, 도로의 포트홀, 도로의 회전 등과 같은 도로의 모든 임의의 특성을 포함할 수 있다. 일부 실시예에서, 판단된 적어도 하나의 도로 특성은 검출된 차로 분리, 차로 병합, 파선 차로 표시, 실선 차로 표시, 차로 내의 도로면 색, 차선 색, 차로 방향, 차로 유형 중의 하나 이상의 지시자를 포함하는 차로 특성을 포함할 수 있다. 예를 들면, 차로 특성은 차로가 다인승 전용(HOV) 차로이고 다른 차로로부터 실선으로 분리되어 있다는 판단을 포함할 수 있다. 일부 실시예에서, 판단된 적어도 하나의 도로 특성은 도로 가장자리의 지시자를 포함할 수 있다. 본 기재에서 설명하는 바와 같이, 도로 가장자리는 도로 가장자리를 따라 검출된 배리어, 검출된 보도, 가장자리를 나타내는 선, 도로 가장자리를 따라 있는 도로경계석 등에 의거하거나 도로를 따라 있는 기타 물체의 검출에 의해 판단될 수 있다.
일부 실시예에서, 하나 이상의 특성은 하나 이상의 미리 정의된 특성을 포함할 수 있다. 예를 들어, 프로세서(2315)는 본 기재에 따라 임의의 하나 이상의 특성을 식별하도록 구체적으로 구성될 수 있다. 일부 도로 특성은 일시정지표지판, 속도제한표지판, 신호등, 기타 의미론적 물체 등과 같이 도로와 일반적으로 또는 빈번하게 연관되는 유형일 수 있다. 프로세서(2315)는 앞서 설명한 바와 같은 이미지 분석 및 학습되거나 미리 정의된 연관을 활용하여 이러한 의미론적 도로 특성을 검출할 수 있다. 예를 들어, 프로세서(2315)는 빨간색의 팔각형 물체를 검출하고 이 물체가 일시정지표지판이라고 판단할 수 있다. 다른 예로, 프로세서(2315)는 "속도제한", "양보", "어린이 보호구역" 등과 같이 도로표지판과 일반적으로 연관된 텍스트를 검출하고 이 물체가 도로표지판이라고 판단할 수 있다. 덜 빈번한 다른 도로 특성 또는 다른 비의미론적 물체 또는 특징도 유사하게 판단될 수 있다. 예를 들면, 포트홀 또는 변색된 콘크리트 조작이 도로 특성의 역할을 할 수 있다. 본 예에서, 프로세서(2315)는 이미지를 분석하여 포트홀과 연관된 그림자, 콘크리트 변색과 연관된 암점(dark spot), 또는 비의미론적 물체를 주변 환경과 구별하는 임의의 기타 요소를 검출하는 등을 통하여 포트홀이나 변색된 콘크리트를 검출할 수 있다. 이후, 이러한 비의미론적 특징은 추후에 도로 섹션을 따라 주행하는 차량에 대해 도로 특성으로 활용될 수 있다.
일부 실시예에서, 판단된 적어도 하나의 도로 특성은 랜드마크 식별자(identifier)를 포함할 수 있다. 랜드마크 식별자는 예를 들어 도 10을 참조하여 설명한 것과 같은 모든 임의의 랜드마크를 포함할 수 있다. 랜드마크 식별자는 랜드마크 유형, 랜드마크 장소, 또는 그 조합에 관한 정보를 포함할 수 있다. 랜드마크 유형은 신호등, 기둥, 도로 표시, 정지선, 및 표지판 중의 적어도 하나를 포함할 수 있다. 랜드마크 장소는 랜드마크와 연관된 GPS 좌표, 도로 또는 다른 랜드마크에 대한 랜드마크의 상대적 위치, 또는 본 기재에 따라 랜드마크의 장소를 식별하는 기타 모든 임의의 수단을 포함할 수 있다. 예컨대, 랜드마크 식별자는 랜드마크가 도로 표지판이라는 지시자와 도로에 대한 도로 표지판의 상대적 위치를 포함할 수 있다.
일부 실시예에서, 판단된 도로 상태는 도로와 연관된 임시 상태를 포함할 수 있다. 임시 상태는 도로 상에 항상 존재하지는 않지만 프로세서(2315)에 의해 수신된 이미지에서 검출되는 것일 수 있다. 임시 상태는 예를 들어 차량 충돌사고, 정지 차량, 보행자, 노상 동물, 기후 조건, 또는 기타 조건의 존재를 포함할 수 있다. 예컨대, 판단된 적어도 하나의 도로 특성은 도로 섹션을 따라 있는 기후 조건의 지시자를 포함하는 임시 도로 특성을 포함할 수 있다. 기후 조건은 눈, 비, 안개, 눈부신 햇살 등의 적어도 하나와 연관될 수 있다.
프로세스(2500)는 도로 섹션의 제1 부분에 대한 상대적인 제1 도로 구간 정보를 취합하는 단계(2550)를 포함할 수 있다. 제1 도로 구간 정보는 호스트 차량에 대한 적어도 하나의 움직임 묘사 및/또는 도로의 제1 부분에 대한 상대적인 적어도 하나의 도로 특성을 포함할 수 있다. 예를 들어, 프로세서(2315)는 단계 2520에서 판단된 움직임 묘사와 단계 2540에서 판단된 도로 특성을 포함하는 제1 도로 구간 정보를 취합할 수 있다. 일례로, 움직임 묘사는 호스트 차량이 횡단한 궤적을 포함할 수 있고, 취합된 도로 구간 정보는 이 궤적 및 이 궤적에 상응하는 도로의 부분과 연관된 도로 특성을 포함할 수 있다.
프로세서(2315)는 앞서 설명한 바와 같이 도로 세그먼팅 모듈(2406)에 저장된 명령에 따라 제1 도로 구간을 구성할 수 있다. 예를 들어, 프로세서(2315)는 이 명령에 따라 궤적을 복수의 구간으로 분할할 수 있다. 이후, 프로세서(2315)는 복수의 구간으로부터 제1 도로 구간을 선택하고, 제1 도로 구간을 도로 특성과 페어링하여 제1 도로 구간 정보를 취합할 수 있다.
제1 도로 구간 정보의 취합은 정보가 호스트 차량으로부터 수신되면서 수행될 수 있다. 예를 들어, 운행 중에, 하나 이상의 센서와 하나 이상의 카메라로부터의 정보가 프로세서(2315)에 의해 수신될 수 있고, 프로세서(2315)는 수신된 정보로부터 움직임 묘사와 도로 특성을 판단하고 정보를 제1 도로 구간 정보로 취합하기 시작할 수 있다. 본 예에서, 복수의 도로 구간 정보가 순차적으로 판단될 수 있고, 이는 구간화 된 정보를 활용하여 항법 모델을 생성하는데 도움이 될 수 있다.
일부 실시예에서, 프로세서는 미리 정해진 지연 이후에 제1 도로 구간 정보의 취합을 개시하도록 프로그램될 수 있다. 도로 세그먼팅 모듈(2406)에 관하여 설명한 바와 같이, 취합을 지연하면 도로 구간 정보의 익명 처리에 도움이 될 수 있다. 예를 들어, 도로 구간 정보가 지연 없이 취합되는 경우, 취합된 제1 도로 구간 정보는 차량이 이동한 경로의 시작 지점에 관한 정보를 포함할 수 있다. 시작 지점은 차고의 위치, 사유 차도의 경로, 또는 기타 정보와 같은 개인 정보를 포함할 수 있다. 시작 지점이 개인의 집 또는 사업체 등에 있는 경우, 시작 지점은 차량 또는 운행 경로와 연관된 개인을 판단하는데 활용될 수 있다. 지연 기능은 여정의 초기 부분이 제1 도로 구간 정보의 취합에 활용되지 않도록 할 수 있다. 지연은 시간적 지연을 포함할 수 있다. 예를 들어, 초기 10초, 20초, 30초, 1분, 2분, 5분, 또는 기타 간격과 연관된 정보가 제1 도로 구간 정보에서 제외될 수 있다. 지연은 또한 거리 기반일 수 있다. 예를 들어, 초기 30미터, 150미터, 800미터, 1600미터, 또는 기타 거리와 연관된 정보가 제1 도로 구간 정보로부터 제외될 수 있다. 지연은 본 기재에 따른 모든 임의의 수단에 의해 이루어질 수 있다. 예를 들면, 하나 이상의 센서가 호스트 차량의 움직임 또는 호스트 차량과 관련된 도로와 연관된 정보의 캡처를 지연이 경과될 때까지 시작하지 않을 수 있다. 다른 예를 들면, 하나 이상의 센서가 여정 동안에 정보를 캡처하고, 프로세서(2315)는 지연 동안에 캡처 된 정보를 삭제하거나 제외하도록 지시될 수 있다. 일부 실시예에서, 시간 또는 거리 기반의 지연의 길이는 무작위로 결정되거나 미리 정의된 임계값 이내에서 무작위로 결정될 수 있다. 예를 들면, 지연은 5초 내지 45초의 미리 정해진 시간 범위 사이 또는 0.5km 내지 2km의 미리 정해진 거리 사이 등이 되도록 무작위로 선택될 수 있다.
제1 도로 구간 정보에 취합된 정보의 익명성을 보존하기 위해 다른 수단이 활용될 수도 있다. 예를 들면, 프로세서(2315)에 의해 수신된 이미지에 집, 사유 차도, 또는 개인 정보의 기타 지시자가 포함되어 있는 경우, 프로세서(2315)는 개인 정보와 관련되어 검색된 모든 임의의 정보를 제1 도로 구간 정보에 포함되지 않게 제외하도록 프로그램될 수 있다. 정보의 익명성을 보존하는 수단의 예에 대한 설명은, 도로 세그먼팅 모듈(2406)에 관한 설명을 포함하여, 본 기재 전체에 걸쳐 제공되어 있다.
프로세서(2500)는 도로 섹션의 제2 부분에 대한 상대적인 제2 도로 구간 정보를 취합하는 단계(2560)를 포함할 수 있다. 단계 2550에서 취합된 제1 도로 구간 정보와 마찬가지로, 제2 도로 구간 정보는 호스트 차량에 대한 적어도 하나의 움직임 묘사 및/또는 도로 섹션에 대한 상대적인 적어도 하나의 도로 특성을 포함할 수 있다. 예를 들어, 프로세서(2315)는 단계 2520에서 판단된 움직임 묘사와 단계 2540에서 판단된 도로 특성을 포함하는 제2 도로 구간 정보를 취합할 수 있다. 일례로, 움직임 묘사는 호스트 차량이 횡단한 궤적을 포함할 수 있고, 취합된 도로 구간 정보는 이 궤적 및 이 궤적에 상응하는 도로의 부분과 연관된 도로 특성을 포함할 수 있다. 제2 도로 구간 정보는 제1 도로 구간 정보에 관하여 설명한 방법과 실질적으로 동일한 방법으로 취합될 수 있다.
제2 도로 구간 정보의 취합은 제1 도로 구간 정보와 유사하게 정보의 익명성을 보존하는 수단을 포함할 수 있다. 예를 들어, 제2 도로 구간 정보는 지연 후에 취합될 수 있고, 개인 정보와 관련된 도로 섹션의 부분(예, 집 또는 직장과 근접한 부분)은 제2 도로 구간 정보로부터 제외될 수 있다.
본 기재에 따라, 도로 섹션의 제2 부분은 도로 섹션의 제1 부분과 상이할 수 있다. 예컨대, 단계 2550에서 취합된 제1 도로 구간 정보와 관련된 도로 섹션은 단계 2560에서 취합된 제2 도로 구간 정보로서 도로 구간 정보가 취합된 도로 섹션과 상이한 도로 섹션일 수 있다. 이에 따라, 제2 도로 구간 정보는 제1 도로 구간 정보의 도로 특성 및/또는 움직임 묘사와 상이한 도로 특성 및/또는 움직임 묘사를 포함할 수 있다.
일부 실시예에서, 도로 섹션의 제2 부분은 도로 섹션의 제1 부분과 공간적으로 분리될 수 있다. 제1 도로 섹션과 제2 도로 섹션은 도로 섹션의 제3 부분에 의해 분리될 수 있다. 제3 부분은 모든 임의의 거리일 수 있다. 제3 부분에 의해 제1 부분과 제2 부분을 분리하면 정보를 더 익명화 할 수 있다. 예를 들어, 제3 부분은 구간화 된 도로 정보를 활용하여 생성된 지도에 포함되지 않을 수 있다. 일부 실시예에서, 제1 부분과 제2 부분에 관한 정보는 추가적인 처리를 위해 전송될 수 있는 반면, 본 기재에 따라 제3 부분에 관한 정보는 삭제되거나, 처리되지 않고 저장되거나, 추가적인 처리에서 제외될 수 있다.
제3 부분은 모든 임의의 길이일 수 있다. 제1 도로 섹션과 제2 도로 섹션 사이의 거리가 증가함에 따라, 차량이 회전, 진출, 또는 제1 도로 섹션과 제2 도로 섹션 사이에서 진행하지 않았을 가능성이 높아진다. 그러므로 일부 실시예에서, 상대적으로 큰 공간적 분리인 제3 부분이 바람직할 수 있다. 예컨대, 도로 섹션의 제1 부분은 도로 섹션의 제2 부분으로부터 적어도 1km의 거리만큼 공간적으로 분리될 수 있다. 다른 실시예에서, 도로 섹션의 제1 부분은 도로 섹션의 제2 부분으로부터 다른 거리만큼(예, 0.5km, 1.5km, 2km, 2.5km, 3km, 2.5km, 5km 등) 공간적으로 분리될 수 있다. 제3 부분의 길이는 예를 들어 도로 세그먼팅 모듈(2406)에 관하여 설명한 제1 도로 구간 및 제2 도로 구간의 길이를 판단하는 수단을 포함하여 본 기재에 따른 모든 임의의 수단에 의해 판단될 수 있다.
제1 도로 구간 정보와 제2 도로 구간 정보의 취합에 대해서는 도 26 내지 도 28을 참조하여 더 설명하기로 한다. 제1 도로 구간 정보와 제2 도로 구간 정보는 각각 하나 이상의 요인에 의거하여 취합될 수 있다. 상기에 설명한 익명성 특징은 이러한 요인들의 예이다. 일부 실시 예에서, 제1 도로 구간 정보와 관련된 도로의 제1 부분 및 제2 도로 구간 정보와 관련된 도로의 제2 부분은 미리 정해지거나 무작위의 길이일 수 있다. 예를 들어, 도로 섹션의 제1 부분과 도로 섹션의 제2 부분의 각각의 길이는 적어도 2km, 2km 내지 9km, 적어도 4km, 10km 미만 등일 수 있다. 각 부분의 길이(예, 1km, 1.5km, 2km, 2.5km, 3km, 4km, 5km 등)는 임의의 길이, 미리 정해진 길이, 또는 최적으로 판단된 길이일 수 있다. 예를 들어, 프로세서(2315)는 20km의 도로 섹션에 관한 정보를 수집할 수 있고, 20km가 각각 4km인 3 부분으로 구간화 되어야 하고 앞서 설명한 익명성 요인을 제공하기 위하여 도로 섹션의 나머지 길이는 삭제되어야 한다고 판단할 수 있다. 다른 예에서, 프로세서(2315)는 제1 구간은 길이가 5km인 부분을 포함하고 제2 구간은 길이가 4km인 부분을 포함해야 한다고 판단할 수 있다. 상기 예들은 예시직인 목적으로 제시된 것으로 본 기재는 상기 예들로 제한되지 않는다. 앞서 설명한 바와 같이, 각 도로 구간은 모든 임의의 길이일 수 있다. 각 푸분의 길이를 판단하는 수단의 예에 대해서는 앞서 도로 세그먼팅 모듈(2406)과 연관하여 설명되어 있다.
일부 실시예에서, 도로 섹션은 무작위로 구간화 될 수 있다. 예를 들어, 도로 섹션의 제1 부분과 도로 섹션의 제2 부분은 각각 무작위이거나 프로세서에 의해 임의로 결정된 길이일 수 있다. 예컨대, 프로세서(2315)는 하나 이상의 무작위 길이를 결정하고, 도로 구간 정보가 취합될 도로 구간 각각에 이 무작위 길이를 배정할 수 있다. 일부 실시예에서, 무작위로 결정된 길이는 미리 정해진 길이의 임계값 이내에 있을 수 있다. 예를 들면, 무작위로 결정된 길이는 미리 정해진 길이의 +/- 0.5km 이내에 있을 수 있다.
본 기재에 따라, 제1 도로 섹션과 제2 도로 섹션은 도로 섹션에 관한 데이터, 이전에 판단된 도로 섹션에 관한 데이터, 또는 기타 데이터에 의거하여 판단될 수 있다. 일부 실시예에서, 제1 도로 섹션 및/또는 제2 도로 섹션은 도로의 특성에 의거하여 판단될 수 있다. 예를 들어, 도로 섹션에 회전이 포함되는 경우, 프로세서(2315)는 제1 도로 섹션 또는 제2 도로 섹션이 회전에 상응하는 구간을 포함하도록 프로그램될 수 있다. 자율주행차의 항법은 직선 구간보다 회전 구간에서 더 어렵기 때문에, 회전에 상응하는 도로 구간 정보는 자율주행차를 위한 항법 모델의 생성에 도움이 될 수 있다. 마찬가지로, 도로에 독특한 도로 특성이 포함되는 경우, 프로세서(2315)는 적어도 하나의 구간이 이러한 독특한 특성을 포함하도록 프로그램 될 수 있다. 예를 들어, 도로 섹션에 터널이 포함되는 경우, 도로 섹션의 제1 부분 또는 제2 부분 이내에 터널의 전체 길이가 포함되도록 적어도 하나의 프로세서에 의해 도로 섹션의 제1 부분 및 제2 부분의 적어도 하나가 지정되게 된다. 일부 실시예에서, 프로세서(2315)는 서버(1230) 등으로부터 수신된 데이터에 의거하여 제1 부분 및 제2 부분을 판단할 수 있다. 예를 들어, 서버(1230)가 도 12 및 도 23을 참조하여 설명한 바와 같이 복수의 차량으로부터 제1 도로 구간 정보 및 제2 도로 구간 정보를 수신하는 경우, 서버(1230)는 아무 정보도 확보되지 않은 도로 섹션의 부분을 판단하도록 구성될 수 있다. 이 경우, 서버(1230)는 누락된 부분을 도로 섹션의 제1 구간 또는 제2 구간의 일부로 포함시키라는 명령을 프로세서(2315)로 전송할 수 있다.
상기의 프로세스(2500) 설명은 제1 도로 구간과 제2 도로 구간에 대해 설명하지만, 도로 구간의 개수는 임의로 생성될 수 있다. 예컨대, 모든 임의의 도로 섹션에 대해 복수의 도로 구간이 생성될 수 있다.
프로세스(2500)는 자율주행차 도로 항법 모델의 구성을 위해 호스트 차량에 대해 원격으로 위치하는 서버로 제1 도로 구간 정보와 제2 도로 구간 정보의 전송을 유발하는 단계(2570)를 포함할 수 있다. 예를 들어, 프로세서(2315)는 단계 2550에서 취합된 제1 도로 구간 정보 및/도는 단계 2560에서 취합된 제2 도로 구간 정보를 서버(1230)로 전송할 수 있다. 서버(1230)는 도 12, 도 14, 및/또는 도 21을 참조하여 설명하거나 본 기재의 다른 부분에서 설명한 바와 같이, 복수의 호스트 차량으로부터의 도로 구간 정보를 활용하여 자율주행차 도로 항법 지도를 생성할 수 있다. 서버(1230)로 전송된 데이터는 호스트 차량이 이동한 프로세스 하지 않은 경로를 포함하지 않고 하나 이상의 구간을 포함하므로, 데이터를 통해 호스트 차량이 이동한 경로를 추적할 수 없고, 따라서 데이터의 익명성을 확보할 수 있다. 프로세서(2315)가 도로의 제1 부분과 제2 부분을 분리하는 제3 부분에 관한 정보를 취합하는 예에서, 프로세서는 도로 섹션의 제3 부분에 관한 취합된 도로 구간 정보를 서버로 전송하지 않을 수 있다. 제3 부분에 관한 정보를 전송하지 않음으로써, 프로세서(2315)는 앞서 설명한 바와 같이 데이터가 익명 처리되게 할 수 있다.
일부 실시예에서, 제1 도로 구간 정보와 제2 도로 구간 정보의 취합 후에, 프로세서(2315)는 정보를 임시 저장하고, 정보가 사용자 또는 차량으로 추적 가능한 정보를 포함하지 않는다고 판단되는 경우에만 정보를 전송할 수 있다. 예를 들어, 프로세서는 도로 구간 정보의 최종 취합이 호스트 차량에 의한 운행의 종료를 나타내는 경우에 도로 구간 정보의 최종 취합을 서버로 전송하지 않도록 프로그램될 수 있다. 운행의 종료 지점이 도로 구간 정보에서 확실히 제외되게 함으로써, 도로 구간 정보의 생성에 활용된 사용자 또는 차량의 식별에 정보가 활용되지 못하게 할 수 있다. 다른 예에서, 프로세서는 도로 구간 정보의 초기 취합이 호스트 차량에 의한 운행의 시작을 나타내는 경우에 도로 구간 정보의 초기 취합을 서버로 전송하지 않도록 프로그램될 수 있다. 다른 예에서, 프로세서(2315)는 추가적인 프로세싱을 수행하여 움직임 묘사, 도로 특성, 또는 도로 구간 정보와 같은 기타 데이터에 식별 정보가 포함되어 있는지를 판단할 수 있다. 예를 들면, 프로세서(2315)는 2차 이미지 분석을 수행하여 도로 구간 정보에 포함된 이미지에 정보 수집에 활용된 차량의 상(reflection), 사용자의 집 또는 주소의 이미지, 또는 개인 또는 차량과 연관될 수 있는 기타 데이터 등이 포함된 것이 없도록 할 수 있다.
일부 실시예에서, 제1 세트의 도로 구간 정보는 제1 시간에 전송되고, 제2 세트의 도로 구간 정보는 제2 시간에 전송될 수 있다. 앞서 설명한 바와 같이, 단일 도로 섹션은 복수의 도로 구간으로 구간화 될 수 있고, 익명성을 보존하기 위하여 전체 도로 구간보다 적은 도로 구간이 제1 시간에 전송될 수 있다. 제2 시간에는, 추가적인 도로 구간 정보가 전송될 수 있다. 이러한 실시예에서, 도로 섹션에 대해 단일 차량에 의해 생성된 실질적으로 모든 도로 구간 정보가 자율주행차 도로 항법 모델의 생성에 활용되면서 익명성이 보존될 수 있다. 이는 예를 들어 상대적으로 적은 수의 차량이 도로 섹션에서 이동하고 있어서 도로 구간 정보가 복수의 차량으로부터 효과적 또는 효율적으로 전송될 수 없는 경우에 도움이 될 수 있다.
프로세스(2500)는 항법 모델을 수신하고 호스트 차량에 항법 반응을 유발하는 단계(미도시)를 포함할 수 있다. 예를 들어, 프로세서는 원격 서버로부터 자율주행차 도로 항법 모델을 수신하고 자율주행차 도로 항법 모델에 의거하여 호스트 차량에 의한 적어도 하나의 항법 동작을 유발하도록 프로그램될 수 있다. 자율주행차 도로 항법 모델은 예를 들어 단계 2570에서 서버(1230)에 의해 생성된 항법 모델일 수 있다. 본 기재의 다른 부분에서 설명하는 바와 같이, 항법 동작은 예를 들어, 가속, 제동, 회전, 차로 변경, 정지 등과 같은 호스트 차량에 의한 모든 임의의 반응일 수 있다.
본 발명 기술 분야의 당업자라면 본 기재를 통해 프로세스(2500)의 단계들은 임의의 순서로 수행될 수 있고 일부 단계들은 제외될 수 있음을 이해할 수 있다. 예컨대, 도로 섹션과 연관된 도로 특성의 판단에 관한 단계 2530과 2540이 호스트 차량의 하나 이상의 묘사의 판단에 관한 단계 2510과 2520 이전에 또는 실질적으로 동시에 수행되지 못할 이유가 없다. 마찬가지로, 프로세스(2500)의 단계들은 재배열되거나 생략될 수 있다. 프로세스(2500)는 자율주행 및/또는 항법 데이터의 익명 처리에 관한 규제 표준에 부합 또는 초과하도록 조정될 수 있다. 예를 들어, 규제 표준은 자율주행차 도로 항법 모델이 포함해야 하는 세부 정보의 수준을 규정할 수 있다. 본 발명 기술 분야의 당업자라면 어떻게 프로세스(2500)를 조정하여 데이터의 익명성을 유지하면서 규제 표준을 준수하기 위해 필요한 정보를 수집할 수 있는지를 이해할 수 있을 것이다.
도 26a는 프로세스(2500)에 의해 수신되거나 판단될 수 있는 유형의 복수의 움직임 묘사 및 도로 특성을 예시적으로 도시한 것이다. 도 26b와 도 26c는 프로세스(2500) 동안에 수신될 수 있고 하나 이상의 도로 특성을 판단하는데 활용될 수 있는 유형의 이미지의 예시이다. 이 도면들은 예시일 뿐이고 프로세스(2500)의 이해 또는 호스트 차량이 횡단한 도로 섹션에 관한 운행 정보를 익명 처리하는 유사한 수단의 이해를 돕기 위해 활용될 수 있다.
도 26a는 도로 섹션(2601) 및 호스트 차량이 운행한 경로를 각각 나타내는 복수의 궤적(2606, 2608, 2610, 2612, 2614)을 도시하고 있다. 앞서 설명한 바와 같이, 궤적은 프로세스(2500)의 단계 2510의 일부로서 하나 이상의 센서로부터 수신될 수 있다. 추가적으로 또는 대안적으로, 궤적은 단계 2520의 일부로서 원시 데이터로부터 판단될 수 있고, 도 11a, 도 22, 및 본 기재의 다른 부분에서 설명한 바와 같이 판단될 수 있다.
일부 실시예에서, 궤적(2606, 2608, 2610, 2612, 2614)은 각각 단일 호스트 차량이 다른 시간에 이동한 경로를 나타낼 수 있다. 예를 들어, 차량(1205)은 제1 시간에 궤적(2606)을 운행하고, 제2 시간에 궤적(2608)을 운행하고, 제3 시간에 궤적(2610)을 운행하고, 제4 시간에 궤적(2612)을 운행하고, 제5 시간에 궤적(2614)을 운행할 수 있다. 일부 실시예에서, 궤적(2606, 2608, 2610, 2612, 2614)은 각각 서로 다른 호스트 차량이 이동한 경로를 나타낼 수 있다. 예를 들어, 차량(1205)은 궤적(2606)을 운행하고, 차량(1210)은 궤적(2608)을 운행하고, 차량(1215)은 궤적(2610)을 운행하고, 차량(1220)은 궤적(2612)을 운행하고, 차량(1225)은 궤적(2614)을 운행할 수 있다. 다른 예에서, 차량(1205)이 제1 시간에 궤적(2606)을 운행하고 제2 시간에 궤적(2608)을 운행할 수 있고, 차량(1210)이 제3 시간에 궤적(2610)을 운행하고, 차량(1215)이 제4 시간에 궤적(2612)을 운행하고 제5 시간에 궤적(2614)을 운행할 수 있다. 이 외에도 차량(1205, 1210, 1215, 1220, 1225)과 궤적(2606, 2608, 2610, 2612, 2614)의 모든 임의의 조합이 가능하다. 이하의 설명에서는, 설명의 편의상, 궤적은 한 대의 차량과 매칭된다.
궤적(2606)은 호스트 차량의 움직임 묘사를 포함할 수 있다. 차량(1205)은 궤적(2606)으로 묘사된 경로를 이동했을 수 있고, 차량(1205)의 하나 이상의 센서는 궤적(2606)에 관한 데이터를 수집할 수 있다. 예를 들어, 차량(1205)은 도 23에서 설명한 항법 시스템(2300)을 포함할 수 있고, 이 항법 시스템(2300)은 GPS부(2310), 카메라(122), 속력 센서(2320), 가속도계(2325), 및 도로 프로필 센서(2330)와 같은 하나 이상의 센서로부터 데이터를 수집할 수 있다. 궤적(2606)은 여기에 기재된 방법, 프로세스, 및 조작에 따라 프로세서에 의해 판단될 수 있다. 예를 들어, 프로세서(2315)는 하나 이상의 센서로부터 데이터를 수신하고 이 데이터를 움직임 판단 모듈(2402)에 저장된 명령에 따라 처리하여 궤적(2606)을 판단할 수 있다. 예컨대, 궤적(2606)은 프로세스(2500)의 단계 2520의 일부로서 판단될 수 있다. 궤적(2606)에 의해 묘사된 경로는 집(2602)에서 시작하고 도로 섹션(2601)을 따라 진행하여 일시정지표지판(2616), 정지선(2618), 및 사무실 건물(2604)을 통과한다. 궤적(2606)이 익명 처리되지 않고 자율주행차 도로 항법 모델을 결정하는데 활용된다면, 이러한 항법 모델에는 자율주행차를 집(2602)으로 주행하는 길안내를 포함할 수 있고, 이는 집의 거주자가 원치 않는 것일 수 있다. 또한, 궤적(2606)이 익명 처리되지 않고 전송된다면, 전송된 궤적을 가로채서 궤적(2606)을 집(2606)에 거주하는 개인과 연관짓는데 활용할 수 있을 것이다. 궤적(2606)의 익명 처리가 필요하거나 요구되어지는 다른 이유들도 있을 수 있다. 도 27에서 프로세스(2500) 동안에 궤적(2606)의 익명 처리에 대하여 설명한다.
궤적(2608, 2610, 2612, 2614)은 각각 궤적(2606)과 실질적으로 동일한 방식으로 판단될 수 있다. 예를 들어, 궤적에 상응하는 호스트 차량은 항법 시스템(2300)을 포함하고, 이 항법 시스템(2300)은 GPS부(2310), 카메라(122), 속력 센서(2320), 가속도계(2325), 및 도로 프로필 센서(2330)와 같은 하나 이상의 센서로부터 데이터를 수집할 수 있다. 궤적(2608, 2610, 2612, 2614)은 여기에 기재된 방법, 프로세스, 및 조작에 따라 프로세서에 의해 판단될 수 있다. 예를 들면, 각 호스트 차량에 있는 프로세서(2315)는 하나 이상의 센서로부터 데이터를 수신하고 이 데이터를 움직임 판단 모듈(2402)에 저장된 명령에 따라 처리하여 상응하는 궤적을 판단할 수 있다. 예컨대, 차량(1210)은 항법 시스템(2300)을 포함할 수 있고, 그 안에 포함된 프로세서(2315)는 하나 이상의 센서로부터 수집된 데이터로부터 궤적(2608)을 판단할 수 있다. 마찬가지로, 차량(1215)은 항법 시스템(2300)을 포함할 수 있고, 프로세서(2315)는 하나 이상의 센서로부터 수집된 데이터로부터 궤적(2610)을 판단할 수 있다. 마찬가지로, 차량(1220)은 항법 시스템(2300)을 포함할 수 있고, 그 안에 포함된 프로세서(2315)는 궤적(2612)을 판단할 수 있다. 마찬가지로, 차량(1215)은 항법 시스템(2300)을 포함할 수 있고, 프로세서(2315)는 궤적(2614)을 판단할 수 있다.
궤적(2608, 2610, 2612, 2614)은 각각 익명화가 요구되거나 익명 처리되는 것이 이점이 있을 수 있는 개인 정보를 포함할 수 있다. 예를 들면, 궤적(2612)은 사무실 건물(2604)에 있는 목적지를 포함하고, 익명 처리를 하지 않으면, 궤적(2612)에 관한 데이터는 차량(1220) 또는 차량과 관련된 개인으로 연결 지어질 수 있다. 도로 섹션(2601) 상에 시작 지점 또는 종료 지점이 없는 궤적마저 궤적과 관련된 차량 또는 차량과 관련된 개인으로 연결 지어질 수 있는 데이터를 포함할 수 있다. 이에 따라, 궤적(2608, 2610, 2612, 2614)에 의해 표현된 움직임 묘사는 익명 처리될 필요가 있다. 익명 처리는 프로세스(2500)에서 설명한 바와 같이 이루어질 수 있다. 도 27도 궤적의 익명 처리에 관해 설명한다.
도 26b는 본 기재에 따라 이미징 장치에 의해 캡처 되고 도로 특성을 판단하는데 활용될 수 있는 유형의 예시적인 이미지(2620)이다. 이미지(2620)는 차량이 도로 섹션(2601)을 따라 운행하면서 캡처 된 이미지를 나타낸다. 예를 들어, 이미지(2620)는 차량(1205)이 궤적(2606)을 따라 운행하면서 차량(1205)에 포함된 카메라(122)에 의해 캡처 될 수 있다. 이미지(2620)는 도 15 내지 도 16을 참조한 설명을 포함하여 여기에 기재된 모든 임의의 수단에 의해 캡처 될 수 있다. 이미지(2620)는 프로세스(2500)의 일부로 수신되고 분석될 수 있다. 예컨대, 이미지(2620)는 프로세스(2500)의 단계 2530에서 수신된 하나 이상의 이미지 중의 하나일 수 있다. 이미지(2620)는 일시정지표지판(2616) 및 도로 가장자리(2622)의 묘사를 포함할 수 있다. 일시정지표지판(2616)은 도 26a의 일시정지표지판(2616)에 상응하는 것일 수 있다.
이미지(2620)는 하나 이상의 도로 특성을 판단하기 위해 분석될 수 있다. 예를 들어, 이미지(2620)는 프로세스(2500)의 단계 2540의 일부로서 분석될 수 있다. 이미지(2620)는 이미지 분석 모듈(2404)에 저장된 명령에 따라 분석될 수 있다. 앞서 설명한 바와 같이, 하나 이상의 도로 특성은 랜드마크의 위치, 도로 가장자리, 중앙선, 또는 도로의 기타 특징을 포함할 수 있다. 이미지는 본 기재에 따른 모든 임의의 수단에 의해 분석될 수 있다. 예컨대, 이미지는 하나 이상의 도로 특성을 포함하는 것으로 알려진 다른 이미지와 비교될 수 있다. 다른 예에서, 랜드마크 또는 기타 도로 특성은 랜드마크의 가장자리의 검출에 의해 판단될 수 있다. 일부 실시예에서, 하나 이상의 학습 또는 비학습 시스템이 이미지 분석을 수행하도록 구성될 수 있다. 예를 들면, 이미지 분석 모듈(2404)은 도로 특성을 검출하도록 학습된 신경망 또는 심층 신경망을 포함할 수 있다.
이미지(2620)의 예에서, 프로세서(2315)는 일시정지표지판(2616) 및/또는 도로 가장자리(2622)를 검출할 수 있다. 프로세서(2315)는 이미지 분석 모듈(2404)에 따른 기능과 같은, 본 기재에 따른 추가적인 기능을 수행할 수 있다. 예를 들어, 프로세서(2315)는 일시정지표지판(2616)과 연관된 위치를 판단할 수 있다. 이 위치는 도로 섹션(2601), 다른 랜드마크, 호스트 차량, 또는 임의의 기타 고정 또는 이동 물체에 대하여 상대적으로 판단될 수 있다. 이 위치는 추가적으로 또는 대안적으로 미리 정해진 좌표 시스템, GPS 센서가 사용하는 좌표 시스템, 위도 및/또는 경도 등과 같은 좌표 시스템에 대해 상대적으로 판단될 수 있다. 이에 따라, 도로 표지판(2616)과 연관된 도로 특성은 일시정지표지판(2616)의 시각적 묘사, 일시정지표지판(2616)의 위치, 일시정지표지판(2616)의 수정된 이미지, 이들의 조합, 또는 일시정지표지판(2616)에 관한 기타 데이터를 포함할 수 있다. 일례로, 이미지(2616)를 처리한 이후, 프로세서(2315)는 도로 섹션(2601)에 대한 일시정지표지판(2616)의 상대적인 위치를 판단할 수 있다. 이 위치는 여기에 기재된 모든 임의의 수단에 의한 도로 섹션(2601)의 시각적 묘사로 표현될 수 있다. 예컨대, 하기에 더 설명하는 도 27과 도 28은 일시정지표지판(2616)과 관련되는 것으로 판단된 위치에 있는 일시정지표지판 마커(2716)를 포함한다.
앞서 설명한 바와 같이, 일시정지표지판(2616)의 이미지 대신에 일시정지표지판 마커(2716)를 활용하여 일시정지표지판(2616)의 위치를 묘사하면 도로 특성의 데이터 흔적을 상당히 줄일 수 있다. 또한, 일시정지표지판 마커(2716)를 활용하여 일시정지표지판(2616)의 위치를 묘사함으로써, 데이터의 익명성을 강화할 수 있다. 예를 들어, 일시정지표지판(2616)의 이미지에는 일시정지표지판(2616)에 정지한 다른 차량, 이미지(2620)를 캡처 한 차량의 반사 이미지, 일시정지표지판(2616) 부근의 보행자, 또는 일시정지표지판(2616) 주변에 있는 기타 정보와 같은 개인 정보가 포함되어 있을 수 있다. 일시정지표지판(2616)의 위치를 판단하기 위해 이미지(2620)를 처리하고 일시정지표지판과 관련된 원시 데이터 대신에 위치의 묘사를 활용함으로써, 일시정지표지판(2616)에 관한 정보가 익명 처리될 수 있다.
이미지(2620)의 예에서, 프로세서(2315)는 도로 가장자리(2622)를 검출할 수 있다. 도로 가장자리(2622)는 도로경계석, 차선, 인도, 화초, 또는 도로에서 다른 표면으로의 변화를 나타낼 수 있는 기타 물체 등의 검출과 같은, 여기에 기재된 모든 임의의 수단에 의해 검출될 수 있다. 프로세서(2315)는 도로 가장자리(2622)의 위치를 판단할 수 있다. 앞서 설명한 바와 같이, 이 위치는 다른 도로 특성, 차량의 위치, 표준 또는 미리 정해진 좌표 시스템 등에 대해 상대적으로 판단될 수 있다. 예를 들면, 도로 가장자리(2622)는 이미지(2620)를 캡처한 호스트 차량과 일시정지표지판(2616) 사이에 위치하는 것으로 판단될 수 있다.
도 26c는 본 기재에 따라 이미징 장치에 의해 캡처 되고 도로 특성을 판단하는데 활용될 수 있는 유형의 예시적인 이미지(2630)이다. 이미지(2630)는 차량이 도로 섹션(2601)을 따라 운행하면서 캡처 된 이미지를 나타낸다. 예를 들어, 이미지(2630)는 차량(1205)이 궤적(2606)을 따라 운행하면서 차량(1205)에 포함된 카메라(122)에 의해 캡처 될 수 있다. 이미지(2630)는 도 15 내지 도 16을 참조한 설명을 포함하여 여기에 기재된 모든 임의의 수단에 의해 캡처 될 수 있다. 이미지(2630)는 프로세스(2500), 또는 기타 조작, 프로세스, 또는 여기에 기재된 방법의 일부로 수신되고 분석될 수 있다. 예컨대, 이미지(2630)는 프로세스(2500)의 단계 2530에서 수신된 하나 이상의 이미지 중의 하나일 수 있고, 이미지 분석 모듈(2404)에 저장된 명령에 따라 프로세서(2315)에 의해 처리될 수 있다. 이미지(2630)는 이미지(2620)에 관하여 설명한 방법과 실질적으로 동일한 방법으로 처리될 수 있다.
이미지(2630)는 본 기재에 따라 도로 섹션(2601)에 대해 판단될 수 있는 추가적인 예시적 도로 특성을 포함한다. 도로 특성은 각각 여기에 기재된 모든 임의의 수단에 의해 판단될 수 있다. 예를 들어, 도로 특성은 이미지 분석 모듈(2404)에 저장된 명령을 실행하는 프로세서(2315)에 의해 판단될 수 있다. 다른 예에서, 도로 특성은 프로세스(2500)의 일부로서, 예컨대 단계 2540의 일부로서 판단될 수 있다.
이미지(2630)와 연관하여 판단된 도로 특성은 도로 가장자리(2632), 가드레일(2634), 및 중앙선(2638)을 포함한다. 본 기재의 다른 부분에서 설명하는 바와 같이, 각 특성은 해당 특성의 위치 또는 해당 특성의 성질에 관한 정보를 포함할 수 있다. 예를 들어, 프로세서(2315)는 도로 가장자리(2362)가 이미지(2630)를 캡처한 차량(1205)과 가드레일(2634) 사이에 위치한다고 판단할 수 있다. 다른 예에서, 프로세서(2315)는 중앙선(2638)이 서로 반대 방향으로 진행하는 두 진행 차로를 분리하는 파선이라고 판단할 수 있다. 다른 예에서, 프로세서(2315)는 가드레일(2634)이 차량(1205)에 대해 도로의 우측 편에 위치한다고 판단할 수 있다. 본 기재는 이러한 예시로 한정되지 않으며, 도로 특성이 본 기재에 따른 임의의 다른 정보를 포함할 수 있음은 당연하다 할 것이다.
본 기재에서 설명하는 바와 같이, 호스트 차량과 연관된 단일 궤적 또는 기타 움직임 묘사로부터 하나 이상의 구간이 취합될 수 있다. 예를 들어, 앞서 설명한 바와 같이, 항법 시스템(2300)과 같은 차량(1205) 내의 항법 시스템이 하나 이상의 센서로부터 데이터를 캡처하고, 차량(1205)이 따라간 경로를 나타내는 궤적(2606)을 판단할 수 있다. 마찬가지로, 항법 시스템(2300)은 하나 이상의 이미지를 캡처하고(예, 카메라(122)로부터), 하나 이상의 도로 특성이 하나 이상의 이미지로부터 판단될 수 있다. 이후, 항법 시스템(2300)의 일부인 프로세서(2315)는 움직임 묘사 및/또는 도로 특성으로부터 하나 이상의 도로 구간(segment)을 취합할 수 있다. 프로세서(2315)는 도로 세그먼팅 모듈(2406)에 저장된 명령에 따라 도로 구간 정보(segment information)를 취합할 수 있다. 원시 데이터를 전송하는 대신에 항법 정보를 하나 이상의 구간으로 취합함으로써, 항법 정보가 특정 개인 또는 차량으로 연결 지어지지 못하도록 익명 처리될 수 있다.
도 27은 본 기재에 따라 취합된 복수의 도로 구간(2701-2715)을 포함하는 도로 섹션(2601)을 예시적으로 도시한 것이다. 도로 구간은 여기에 기재된 모든 임의의 수단에 의해 취합될 수 있다. 예를 들어, 각 구간은 프로세스(2500)에 따라 취합될 수 있다. 각 구간은 호스트 차량과 관련된 하나 이상의 움직임 묘사 및/또는 도로와 관련된 하나 이상의 도로 특성으로부터 취합될 수 있다. 예컨대, 구간은 각각 도 26a에 도시된 궤적(즉, 궤적(2206, 2608, 2610, 2612, 2614))의 일부 및 도 26b 내지 도 26c에 도시된 도로 특성의 일부를 포함할 수 있다. 명확한 설명을 위해, 도 27에 도시된 각 구간은 도 26a에서 궤적을 묘사하는데 사용된 선에 상응하는 특정 유형의 선(예, 실선 또는 파선)으로 묘사되어 있다. 그러나 구간은 모든 임의의 방식으로 묘사될 수 있다. 일부 실시예에서, 구간은 도로 섹션(2601)과 관련되어 묘사되지 않을 수도 있다. 예를 들어, 각 구간은 도 11a를 참조하여 설명한 바와 같은 다른 구간과 관련하여 묘사되거나, 도 13을 참조하여 설명한 바와 같은 3차원 공간에서의 스플라인으로 묘사되거나, 도 22를 참조하여 설명한 바와 같은 클러스터로 묘사되거나, 본 기재에 따른 모든 임의의 다른 방식으로 묘사될 수 있다.
도 27은 복수의 차량 또는 복수의 운행과 관련된 정보로부터 취합된 도로 구간을 묘사하고 있다. 취합될 수 있는 다양한 유형의 구간을 묘사하기 위해 도 27이 사용되고 이제 제한되지 않는다는 것은 당연하다 할 것이다. 예를 들어, 각 차량과 관련된 구간은 각 차량 내의 시스템에 의해 판단될 수 있다. 이 경우, 도 27에 도시된 바와 같이 서로 다른 차량으로부터의 복수의 구간이 동일 도면에 도시되는 일이 없을 수 있다. 다른 실시예에서, 복수의 차량으로부터의 데이터가 원격(임의의 차량으로부터) 프로세서 또는 서버로 전송된 후에 복수의 구간으로 취합될 수 있다. 명확한 설명을 위해, 구간은 각각 한 대의 호스트 차량에 상응하는 도 26a의 궤적을 참조하여 설명하기로 한다.
차량(1205)과 관련된 궤적(2606)은 앞서 설명한 바와 같이 하나 이상의 구간으로 취합될 수 있다. 도 27에서, 궤적(2606)은 제1 구간(2701), 제2 구간(2702), 및 제3 구간(2703)으로 구간화 될 수 있다. 각 구간(2701, 2702, 2703)은 궤적(2606)에 의해 묘사된 경로를 따라간다. 각 구간(2701, 2702, 2703)은 실질적으로 크기가 서로 같거나 다를 수 있음은 당연하다 할 것이다. 일부 실시예에서, 각 구간(2701, 2702, 2703)은 그 크기가 무작위이거나, 미리 정해지거나, 판단되거나, 임계값 이내일 수 있다. 각 구간(2701, 2702, 2703) 사이의 거리 역시 무작위이거나, 미리 정해지거나, 판단되거나, 임계값 이내일 수 있다. 구간(2701, 2702, 2703)이 궤적(2606)보다 개인 정보를 적게 포함하고 있으며 따라서 차량(1205)의 움직임 묘사에 관한 데이터가 익명 처리된다는 것은 본 기재로부터 명확하다. 예컨대, 궤적(2606)은 시작 지점이 집(2602)임을 보여주는 반면에, 집(2602)에서 가장 가까운 구간인 구간(2701)은 단순히 도로 섹션(2601) 상의 직선 경로만을 도시하고 있어서 구간(2701)과 집(2602)의 연관성을 전혀 나타내지 않고 있다. 이로써, 차량(1205)이 집(2602)과 관련이 있다는 결론을 구간(2701)으로부터 내릴 수 없게 된다. 이는 구간(2702)과 구간(2703)에서도 마찬가지이다.
앞서 설명한 바와 같이, 각 구간은 도로 특성 정보 및/또는 움직임 묘사 정보를 포함할 수 있다. 예를 들어, 구간(2702)은 도 27에 도시된 궤적 뿐만 아니라 구간(2702)에 가까이 있는 일시정지표지판 마커(2716)에 관한 정보를 포함할 수 있다.
앞서 설명한 바와 같이, 궤적(2606)으로부터 구간(2701, 2702, 2703)에 대한 데이터를 취합하는 동안, 프로세서(2315)는 구간(2701, 2702, 2703) 사이에 위치한 구간에 관한 데이터를 취합할 수 있다. 예를 들어, 제1 구간은 구간(2701)과 구간(2702) 사이에 위치할 수 있고, 제2 구간은 구간(2702)과 구간(2703) 사이에 위치할 수 있다. 확실한 익명화를 위하여, 구간(2701, 2702, 2703)만이 처리를 위해 전송될 수 있는 반면에 궤적(2606)의 다른 구간 또는 부분은 전송되지 않을 수 있다. 예를 들어, 프로세서(2315)는 구간(2701, 2702, 2703)을 각각 서버(1230)로 전송하는 반면에 궤적(2606)의 나머지 부분을 전송하지 않을 수 있다. 궤적(2606)의 전송되지 않은 부분은 서버(123)에 의해 삭제되거나 저장되거나 처리로부터 제외될 수 있다.
도 26a에 도시된 나머지 궤적들도 도 27에 도시된 바와 같이 이와 유사하게 취합될 수 있다. 각 궤적의 설명과 이에 상응하는 구간 및 차량은 각각 하나 이상의 도로 구간을 취합하는 하나 이상의 예시적인 프로세스를 개시하고 도로 구간 정보에 포함될 수 있는 정보의 예시적인 유형을 제공한다. 궤적(2608)은 구간(2704, 2705, 2706)으로 취합될 수 있다. 예를 들어, 차량(1210) 내에 배치되거나 차량(1210)과 통신하는 프로세서(2315)는 프로세스(2500)의 단계 2530의 일부로서 궤적(2608)을 판단하고 프로세스(2500)의 단계 2550 및/또는 단계 2560의 일부로서 구간(2704, 2705, 2706)을 취합할 수 있다. 각 구간(2704, 2705, 2706)은 본 기재에 따라 특정 데이터를 포함 또는 제외하도록 처리될 수 있다. 예컨대, 구간(2704)은 집(2602)에 관한 개인 정보를 포함하지 않도록 처리될 수 있다. 다른 예에서, 구간(2705)은 구간(2705)이 따라가는 경로에 의해 도시된 회전 항법을 위한 충분한 정보를 포함하도록 처리될 수 있다. 처리 이후에, 프로세서(2315)는 자율주행차 도로 항법 모델의 생성에 활용하기 위해 구간(2704, 2705, 2706)을 서버(1230)로 전송할 수 있다. 앞서 설명한 바와 같이, 구간(2704, 2705, 2706)에 포함되지 않은 궤적(2608)의 부분들은 서버(1230)에 의해 삭제되거나 저장되거나 처리로부터 제외될 수 있다.
궤적(2610)은 구간(2707, 2708, 2709)으로 취합될 수 있다. 예를 들어, 차량(1215) 내에 배치되거나 차량(1215)과 통신하는 프로세서(2315)는 앞서 설명한 바와 같이 궤적(2610)을 판단하고 프로세스(2500) 동안에 판단된 움직임 묘사 및/또는 도로 특성을 활용하여 구간(2707, 2708, 2709)을 취합할 수 있다. 앞서 설명한 바와 같이, 궤적(2610)은 궤적(2610)의 모든 고유한 양상이 궤적(2610)으로부터 취합된 적어도 하나의 구간에 포함되도록 처리될 수 있다. 예를 들면, 궤적(2610)으로 도시된 경로를 운행하면서 차량(1215)이 취한 좌회전은 적어도 한 구간에 포함되어야 할 부분으로 표시될 수 있다. 구간(2708)은 회전을 관심 부분으로 표시한 결과로 취합될 수 있다. 앞서 설명한 바와 같이, 구간(2707, 2708, 2709)은 각각 하나 이상의 도로 특성에 관한 정보를 포함할 수 있다. 예를 들어, 구간(2708)은 정지선 마커(2718; 정지선(2616)에 상응) 및/또는 일시정지표지판 마커(2716)에 대한 상대적 위치에 관한 정보를 포함할 수 있고, 구간(2707)은 도로 가장자리 또는 중앙선(예, 중앙선(2638), 도로 가장자리(2632) 등)에 대한 상대적 위치에 관한 정보를 포함할 수 있다.
궤적(2612)은 구간(2710, 2711)으로 취합될 수 있다. 예를 들어, 차량(1220) 내에 배치되거나 차량(1220)과 통신하는 프로세서(2315)는 궤적(2612)을 수신하거나 판단할 수 있고(예, 단계 2510 또는 단계 2520의 일부로서) 궤적(2612)의 다양한 부분과 하나 이상의 도로 특성을 활용하여 구간(2710, 2711)을 취합할 수 있다. 구간(2710, 2711)을 취합하는데 활용되는 하나 이상의 도로 특성은 도로 가장자리, 랜드마크, 또는 여기에 기재된 모든 임의의 다른 도로 특성 등을 포함할 수 있다. 예를 들어, 구간(2710)은 구간(2710)에 상응하는 궤적(2612)의 부분 및 정지선 마커(2718) 및/또는 일시정지표지판 마커(2716)에 대한 구간(2710)의 상대적 위치의 지시를 활용하여 취합될 수 있다. 다른 예에서, 차량(1220)은 이미지(2630)를 캡처할 수 있고, 구간(2711)은 구간(2711)에 상응하는 궤적(2612)의 부분 및 중앙선(2638), 도로 가장자리(2632), 및/또는 가드레일(2634)에 대한 구간(2711)의 상대적 위치를 포함할 수 있다. 앞서 설명한 바와 같이, 구간(2710, 2711)은 본 기재에 따른 자율주행차 도로 항법 모델로의 취합을 위해 서버(1230)로 전송될 수 있다. 예를 들어, 프로세서(2315)는 프로세스(2500)의 단계 2570의 일부로서 구간(2710, 2711)을 서버(1230)로 전송할 수 있다. 구간(2710, 2711)에 포함되지 않은 궤적(2612)의 부분들은 자율주행차 도로 항법 모델에서 제외될 수 있다. 예를 들어, 프로세서(2315)는 구간(2710) 또는 구간(2711)에 포함되지 않은 궤적(2612)의 부분들을 전송하지 않거나 삭제하거나 제외시킬 수 있다. 여기서, 사무실 건물(2604)로 연결되는 궤적(2612)의 종료 지점은 구간(2710) 또는 구간(2711)에 포함되지 않은 것을 알 수 있다. 이는 익명 처리의 결과일 수 있다. 예를 들어, 궤적(2612)의 종료 지점은 사무실 건물(2604)에 상응한다는 판단 하에 삭제되었을 수 있다. 다른 예에서, 종료 지점에 관한 데이터는 지연 또는 기타 기능으로 인해 하나 이상의 센서에 의해 수집되지 않았을 수 있다. 다른 예에서, 프로세서(2315)는 종료 지점에 상응하는 구간을 판단하지만, 차량, 개인, 또는 업체와 연결될 수 있는 정보의 전송을 방지하기 위하여 이 구간을 전송하지 않을 수 있다.
궤적(2614)은 구간(2712, 2713, 2714, 2715)으로 취합될 수 있다. 예를 들어, 차량(1225) 내에 배치되거나 차량(1225)과 통신하는 프로세서(2315)는 GPS부(2310), 카메라(122), 속력 센서(2320), 가속도계(2325), 및 도로 프로필 센서(2330)와 같은 하나 이상의 센서로부터의 출력으로부터 궤적(2614)을 판단할 수 있고 도로 섹션(2601)과 관련된 하나 이상의 도로 특성을 판단할 수 있다. 이어서 프로세서(2315)는 구간(2712, 2713, 2714, 2715)을 포함하는 궤적(2614) 상의 복수의 구간과 구간(2712, 2713, 2714, 2715) 사이에 위치한 구간들을 취합할 수 있다. 예를 들어, 프로세서(2315)는 구간(2712), 구간(2713), 및 구간(2712)과 구간(2713) 사이의 구간(미도시)을 판단할 수 있다. 이는 또한 궤적(2614)의 길이를 따라 수행될 수 있다. 익명 처리 프로세스의 일부로서, 프로세서(2315)는 제1 세트의 복수의 구간을 삭제하거나 제외시킬 수 있다. 예를 들어, 프로세서(2315)는 구간(2712, 2713, 2714, 2715)을 제외한 궤적(2614) 상의 모든 구간을 삭제할 수 있다. 다른 예에서, 프로세서(2315)는 구간(2712, 2713, 2714, 2715)을 전송하고 궤적(2614) 상의 나머지 구간을 전송하지 않을 수 있다.
도 27을 참조하여 설명한 예는 기재된 실시예의 다양한 양상의 예를 제공하고자 한 것이다. 이러한 예들은 본 기재의 청구범위를 한정하지 않는다. 이러한 예들은 다른 예들과 조합되거나, 본 기재에 따라 수정되거나, 변경될 수 있다.
본 기재에서 설명하는 바와 같이, 복수의 구간화 된 도로 정보는 서버 또는 프로세서로 전송될 수 있다. 예를 들어, 차량(1205)은 구간(2701-2703)에 관한 정보를 전송할 수 있고, 차량(1210)은 구간(2704-2706)에 관한 정보를 전송할 수 있고, 차량(1215)은 구간(2707-2709)에 관한 정보를 전송할 수 있고, 차량(1220)은 구간(2710-2711)에 관한 정보를 전송할 수 있고, 차량(1225)은 구간(2712-2715)에 관한 정보를 전송할 수 있다. 데이터는 자율 주행에 활용하기 위한 차량 항법 정보를 처리하기 위하여 서버 기반의 시스템 등으로 전송될 수 있다. 예컨대, 서버(1230)는 전송된 정보를 수신하고, 항법 모델을 취합하기 위한 하나 이상의 동작, 기능, 프로세스, 또는 방법을 수행할 수 있다. 서버는 항법 모델을 취합하도록 프로그램된 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 복수의 차량으로부터 항법 정보를 수신하도록 프로그램될 수 있다. 예를 들어, 적어도 하나의 프로세서는 차량(1205, 1210, 1215, 1220, 1225)으로부터 전송된 도로 구간 정보를 수신할 수 있다. 일부 실시예에서, 복수의 차량으로부터의 항법 정보는 공통 도로 섹션과 연관될 수 있다. 예를 들어, 서버(1230)는 도 27에 도시된 바와 같이 도로 섹션(2601)과 연관된 복수의 도로 구간을 수신할 수 있다. 다른 실시예에서, 복수의 차량으로부터의 항법 정보는 서로 다른 도로 섹션과 연관될 수 있다. 이 경우, 적어도 하나의 프로세서는 제1 도로 섹션에 관한 제1 그룹의 항법 정보, 제2 도로 섹션에 관한 제2 그룹의 항법 정보 등을 판단하도록 프로그램될 수 있다.
이후, 공통 도로 섹션과 연관된 항법 정보를 활용하여 공통 도로 섹션에 대한 자율주행차 도로 항법 모델을 생성할 수 있다. 자율주행차 도로 항법 모델은 도 9a 내지 도 9b, 도 11a 내지 도 11d, 도 30 내지 도 31 등을 참조하여 설명하는 바와 같이 본 기재에 따른 모든 임의의 수단에 따라 생성될 수 있다.
도 28은 도 27에 묘사된 항법 정보로부터 판단된 자율주행차 도로 항법 모델(2800)의 양상을 묘사한 예시적인 도로 섹션(예, 도로 섹션(2601))이다. 자율주행차 도로 항법 모델(이하, 항법 모델(2800)로 지칭함)은 로컬 지도(예, 로컬 지도(1140))와 실질적으로 유사할 수 있고 자율주행차에 대한 하나 이상의 타깃 궤적을 포함할 수 있다. 예를 들어, 항법 모델(2800)은 도로 섹션(2601)을 지나가는 다양한 경로에 상응하는 타깃 궤적(2802, 2804, 2806, 2808, 2810, 2812, 2814, 2816)을 포함할 수 있다. 자율주행차는 도로 섹션(2601)을 주행하는 경우에 타깃 궤적(2802, 2804, 2806, 2808, 2810, 2812, 2814, 2816)의 하나 이상에 접근하거나 의존할 수 있다. 타깃 궤적(2802, 2804, 2806, 2808, 2810, 2812, 2814, 2816)은, 도 11c를 참조하여 설명한 바와 같이, 타깃 궤적(1141-1148)에 관해 설명한 바와 같이 기능할 수 있다.
항법 지도(2800)에 포함된 타깃 궤적은 각각 하나 이상의 호스트 차량에 의해 캡처 되거나 판단된 항법 정보로부터 판단된 것일 수 있다. 예를 들어, 도 27을 참조하여 설명한 바와 같은 도로 섹션(2601)에 대해 판단된 도로 구간은 항법 지도(2800)에 도시된 궤적의 적어도 일부분을 생성하는데 활용될 수 있다. 예를 들어, 타깃 궤적(2802)은 구간(2704, 2701, 2702, 2711, 2703)을 포함할 수 있다. 또한, 타깃 궤적(2802)은 궤적 2606, 궤적 2608, 및 궤적 2612의 조합으로부터 도출될 수 있다. 궤적 2606, 2608, 및 2612를 사용하는 대신에 구간 2704, 2701, 2702, 2711, 및 2703을 사용하여 타깃 궤적(2802)을 취합하면 구간 2704, 2701, 2702, 2711, 및 2703과 연관된 정보에는 궤적(2606)의 시작 지점이 집(2602)이고 궤적(2612)의 종료 지점이 사무실 건물(2604)이라는 등의 잠재적 개인 정보 또는 식별 정보가 궤적 2606, 2608, 및 2612에 포함되지 않는다는 이점이 있다. 구간(2704, 2701, 2702, 2711, 2703) 취합과 연관된 단계, 기능, 및 동작을 수행함으로써, 이러한 정보에서 식별 정보가 누락되고, 서버(1230)는 추가적인 익명 처리 기능을 수행하지 않아도 된다. 그러나 일부 실시예에서, 서버(1230)는 항법 모델(2800)과 같은 항법 모델을 취합할 때에 추가적인 익명 처리 기능을 수행할 수 있다.
도 28과 항법 모델(2800)에 대해서는 하기에 서버(1230) 및 이 서버(1230)가 수행하도록 프로그램된 동작을 참조하여 더 설명하기로 한다. 도 29는 본 기재에 따른 하나 이상의 모듈을 포함할 수 있는 메모리 장치, 즉 메모리(2900)의 예시적인 구성도이다. 메모리(2900)는 서버(1230) 내에 배치되거나 서버(1230)와 통신할 수 있다. 서버(1230)에 포함된 적어도 하나의 프로세서는 메모리(2900)에 저장된 명령을 실행하도록 프로그램 될 수 있다.
메모리(2900)는 항법 데이터 수신 모듈(2905)과 항법 모델 생성 모듈(2910)을 포함할 수 있다. 항법 데이터 수신 모듈(2905)은 적어도 하나의 프로세서에 의해 실행되는 경우에 하나 이상의 차량으로부터 항법 데이터를 수신하는 명령을 포함할 수 있다. 예를 들어, 항법 데이터 수신 모듈(2905)은 도 27을 참조하여 설명한 바와 같은 도로 구간 데이터를 수신하기 위한 명령을 포함할 수 있다.
일부 실시예에서, 항법 데이터 수신 모듈(2905)은 적어도 하나의 프로세서에 의해 실행되는 경우에 하나 이상의 차량으로부터 수신된 항법 데이터를 체계화하는 명령을 포함할 수 있다. 예를 들어, 서버(1230)는 복수의 차량으로부터 데이터를 수신할 수 있고, 이 데이터는 복수의 도로 섹션과 연관될 수 있다. 항법 데이터 수신 모듈(2905)에 포함된 명령은 프로세서(2020)로 하여금 수신된 항법 정보에 상응하는 도로 섹션 등을 식별하고 도로 섹션에 상응하는 그룹으로 체계화하도록 할 수 있다. 예를 들면, 서버(1230)가 도 27에 묘사된 도로 구간과 복수의 다른 도로 구간을 수신하는 경우, 프로세서(2020)는 도로 구간(2701-2715)이 도로 섹션(2601)과 연관된다고 판단할 수 있다. 다른 예를 들면, 서버(1230)는 공통 도로 섹션에 관한 항법 정보를 수신하고 이 항법 정보를 다른 요인에 따라 체계화할 수 있다. 예컨대, 서버(1230)는 구간(2701-2715)을 수신하고, 항법 데이터 수신 모듈(2905)에서 명령을 실행하는 프로세서(2020)는 구간 2712, 2713, 및 2709가 도로의 제1측과 연관되고 구간 2704, 2701, 2702, 2711, 및 2703이 도로의 제2 측과 연관된다는 등을 판단할 수 있다. 다른 예에서, 항법 정보는 랜드마크, 도로 가장자리, 또는 기타 도로 특성과의 근접성(예, 미리 정해진 거리 이내)에 의거하여 체계화될 수 있다. 예컨대, 도로 구간(2701-2715)은 일시정지표지판 마커(2716), 정지선 마커(2718), 집(2602), 사무실 건물(2604), 또는 모든 임의의 기타도로 특성과의 근접성에 의거하여 체계화될 수 있다. 일부 실시예에서, 제1 세트의 도로 구간 정보는 제1 시간에 체계화되어 제1 자율주행차 도로 항법 모델에 포함되고, 제2 세트의 도로 구간 정보는 제2 시간에 체계화되어 제2 자율주행차 도로 항법 모델에 포함되거나 제1 항법 모델을 업데이트 할 수 있다. 예를 들면, 도로 구간 2704, 2701, 및 2711은 도로의 제1 측에 관한 것으로 제1 시간에 체계화되고, 도로 구간 2705, 2702, 및 2703은 도로의 동일한 측에 관한 것으로 제2 시간에 체계화될 수 있다. 상기 예들은 본 기재를 한정하지 않으며, 항법 데이터가 본 기재에 따른 모든 임의의 방식으로 체계화될 수 있음은 당연하다 할 것이다.
일부 실시예에서, 항법 데이터 수신 모듈(2905)은 적어도 하나의 프로세서에 의해 실행되는 경우에 수신된 항법 데이터를 저장하는 명령을 포함할 수 있다. 예를 들어, 프로세서(2020)는 항법 데이터를 메모리(2015) 또는 저장 장치(2010)와 같은 메모리 장치, 데이터베이스, 또는 기타 메모리에 저장할 수 있다. 앞서 설명한 바와 같이 항법 데이터가 체계화되는 실시예에서, 데이터는 체계화 전에 또는 후에, 또는 전후 모두에 저장될 수 있다.
항법 모델 생성 모듈(2910)은 하나 이상의 프로세서에 의해 실행되는 경우에 항법 데이터에 의거하여 항법 모델을 생성하는 명령을 저장할 수 있다. 명령은 적어도 하나의 프로세서로 하여금 본 기재에 따른 스파스 맵 또는 자율주행차 도로 항법 모델을 생성하는 하나 이상의 기능을 수행하도록 유발할 수 있다. 예를 들어, 항법 모델 생성 모듈(2910)은 프로세스(1900), 프로세스(3000), 또는 항법 지도를 생성하는 모든 임의의 기타 프로세스를 수행하기 위한 명령을 포함할 수 있다. 항법 모델 생성 모듈(2910)은 적어도 하나의 프로세서에 의해 실행되는 경우에 생성된 항법 모델이 하나 이상의 차량으로 전송되도록 유발하는 명령을 저장할 수 있다. 예컨대, 명령은 프로세서(2020)가 생성된 항법 모델을 하나 이상의 자율주행차로 배포하도록 유발할 수 있다.
메모리(2900)에 포함된 모든 임의의 모듈(예, 항법 데이터 수신 모듈(2905) 또는 항법 모델 생성 모듈(2910))은 학습 시스템 또는 비학습 시스템과 연관된 방법을 구현할 수 있다. 예를 들어, 모듈은 신경망 또는 심층 신경망을 구현할 수 있다.
도 30은 자율 주행에 활용하기 위한 차량 항법 정보를 처리하는 예시적인 프로세스(3000)를 도시한 순서도이다. 프로세스(3000)는 서버(1230)에 포함된 적어도 하나의 프로세서에 의해 수행될 수 있다. 또한, 프로세스(3000)는 메모리(2900)에 저장된 명령을 실행함으로써 적어도 하나의 프로세서에 의해 수행될 수 있다.
프로세스(3000)는 복수의 차량으로부터 항법 정보를 수신하는 단계(3010)를 포함할 수 있다. 서버(1230)는 본 기재에 따라 하나 이상의 차량으로부터 전송된 항법 정보를 수신할 수 있다. 예를 들어, 차량(1205, 1210, 1215, 1220, 1225)은 각각 항법 정보를 수집, 처리, 및 전송할 수 있는(예, 프로세스(2500)를 구현하여) 항법 시스템(2300)을 포함할 수 있고, 서버(1230)는 항법 정보를 수신할 수 있다. 서버(1230)는 정보를 수신하도록 특별히 구성된 수신기 또는 정보를 수신하도록 구성된 프로세서와 같이 항법 정보를 수신하도록 구성된 하나 이상의 장치를 포함할 수 있다. 예를 들어, 프로세서(2020)는 항법 데이터 수신 모듈(2905) 상에서 명령을 실행하여 항법 정보를 수신할 수 있다. 일부 실시예에서, 서버(1230)는 서버(1230)와 통신하는 하나 이상의 차량으로 서버(1230)로부터 전송된 요청에 대한 대응으로 항법 정보를 수신할 수 있다. 예를 들어, 프로세서(2020)는 통신부(2005)를 통해 요청을 전송함으로써 차량(1205, 1210)으로부터 정보를 요청할 수 있고, 차량(1205, 1210)은 요청에 대응하여 데이터를 전송할 수 있다.
일부 실시예에서, 복수의 차량으로부터의 항법 정보는 공통 도로 섹션과 연관될 수 있다. 예를 들어, 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신된 항법 정보는 도로 섹션(2601)과 연관된다. 일부 실시예에서, 복수의 차량으로부터의 항법 정보는 서로 다른 도로 섹션과 연관될 수 있다. 이러한 실시예에서, 서버(1230) 내의 프로세서(2020)는 각 정보가 연관되는 도로 섹션에 따라 체계화 또는 정렬될 수 있다. 체계화 또는 정렬은 앞서 설명한 바와 같이 항법 데이터 수신 모듈(2905)에 저장된 명령에 따라 수행될 수 있다. 일부 실시예에서, 서버(1230)는 특정 도로 섹션과 연관된 항법 데이터를 하나 이상의 차량으로부터 요청할 수 있다. 예를 들면, 프로세서(2020)는 특정 도로 섹션에 대한 항법 모델의 데이터가 불완전하거나, 오류가 있거나, 업데이트가 안 된 것이라고 판단하고 이 도로 섹션에 관한 정보를 하나 이상의 차량으로부터 요청할 수 있다. 서버(1230)는 공통 도로 섹션 데이터를 특정 차량으로부터 요청하거나(예, 최근에 이 도로 섹션을 운행했거나 운행했을 가능성이 있는 하나 이상의 차량을 식별함으로써), 공통 도로 섹션 데이터를 모든 임의의 서브세트의 차량으로부터 요청(예, 서버(1230)와 통신하는 모든 차량으로부터 데이터를 요청하고 공통 도로 섹션과 연관된 데이터를 격리함으로써)할 수 있다.
서버(1230)에 의해 수신된 항법 정보는 하나 이상의 호스트 차량과 연관된 하나 이상의 움직임 묘사를 포함할 수 있다. 일부 실시예에서, 항법 정보는 하나 이상의 차량과 연관된 복수의 움직임 묘사를 포함할 수 있다. 움직임 묘사는 공통 도로 섹션의 하나 이상의 부분과도 연관될 수 있다. 움직임 묘사는 여기에 설명한 모든 임의의 움직임 묘사를 포함할 수 있다. 예를 들어, 공통 도로 섹션의 제1 부분과 제2 부분에 상대적인 호스트 차량에 대한 적어도 하나의 움직임 묘사는 호스트 차량에 대한 판단된 궤적을 포함할 수 있다. 본 예시에서, 호스트 차량에 대한 판단된 궤적은 도 27에 묘사된 도로 구간 정보, 예를 들어, 도로 구간(2701-2715)과 연관된 모든 임의의 궤적과 실질적으로 동일할 수 있다. 적어도 하나의 움직임 묘사는 여기에 기재된 모든 임의의 수단에 의해 판단될 수 있다. 예를 들면, 공통 도로 섹션의 제1 부분과 제2 부분에 상대적인 호스트 차량에 대한 적어도 하나의 움직임 묘사는 GPS 센서, 속력 센서, 또는 가속도계 중의 적어도 하나로부터의 출력에 의거하여 판단될 수 있다. 예컨대, 차량(1205) 등으로부터 수신된 항법 정보는 GPS부(2310), 속력 센서(2320), 및/또는 가속도계(2325)로부터의 데이터를 활용하여 프로세스(2500)의 일부로서 판단된 움직임 묘사를 포함할 수 있다.
서버(1230)에 의해 수신된 항법 정보는 하나 이상의 도로 섹션과 연관된 하나 이상의 도로 특성을 포함할 수 있다. 일부 실시예에서, 단일 차량으로부터의 항법 정보는 하나 이상의 도로 섹션과 연관된 복수의 도로 특성을 포함할 수 있다. 일부 실시예에서, 항법 정보는 하나 이상의 도로 섹션과 연관된 단일 도로 특성을 포함할 수 있다. 도로 특성은 여기에 기재된 모든 임의의 도로 특성을 포함할 수 있고 도로 섹션의 하나 이상의 부분과 연관될 수 있다. 예를 들어, 적어도 하나의 도로 특성은 공통 도로 섹션의 제1 부분과 제2 부분에 상대적일 수 있고, 공통 도로 섹션을 따라 검출된 차로 분리, 차로 병합, 파선 차로 표시, 실선 차로 표시, 차로 내 도색 표면, 차선 색, 차로 방향, 차로 유형, 도로 가장자리 위치, 랜드마크 지시자, 또는 기후 조건의 지시자 중의 하나 이상의 지시자를 포함할 수 있다. 일례로, 차량(1205) 등으로부터 수신된 항법 정보는 도로 섹션(2601)의 도로 가장자리(2632), 가드레일(2634), 및/또는 중앙선(2638)의 지시자를 포함할 수 있다. 다른 예에서, 도로 특성은 랜드마크 유형 및 랜드마크 위치 중의 적어도 하나를 포함할 수 있는 랜드마크 식별자를 포함할 수 있다. 랜드마크 유형은 신호등, 기둥, 도로 표시, 일시정지표지판, 및 표지판 중의 적어도 하나를 포함할 수 있다. 예컨대, 도로 구간(2711)과 연관된 도로 특성은 일시정지표지판(2616), 사무실 건물(2604), 또는 모든 임의의 기타 랜드마크의 식별자를 포함할 수 있다.
단계 3010의 일부로서 서버(1230)에 의해 수신된 항법 정보는 프로세스(2500)에 따라 판단된 항법 데이터를 포함할 수 있다. 복수의 차량의 각각으로부터의 항법 정보는 공통 도로 섹션의 제1 부분에 상대적인 도로 구간 정보를 포함할 수 있다. 항법 정보의 각 부분은 호스트 차량과 연관된 하나 이상의 움직임 묘사(예, 궤적, 가속도 등) 및/또는 도로 섹션과 연관된 하나 이상의 도로 특성(예, 랜드마크, 도로 가장자리 등)을 포함할 수 있다. 예를 들어, 제1 도로 구간 정보는 호스트 차량에 대한 판단된 적어도 하나의 움직임 묘사 및 공통 도로 섹션의 제1 부분에 상대적인 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 예컨대, 서버(1230)는 앞서 설명한 바와 같이 도로 구간(2701)과 연관된 궤적 및 도로 구간(2701)이 집(2602) 및/또는 도로 섹션(2601)의 도로 가장자리(2632)에 가까이 있다는 지시를 포함할 수 있는 도로 구간 정보를 차량(1205)으로부터 수신할 수 있다. 마찬가지로, 서버(1230)는 앞서 설명한 바와 같이 도로 구간(2711)과 연관된 궤적 및 일시정지표지판 마커(2716)에 대한 도로 구간(2711)의 위치의 지시를 포함할 수 있는 제1 도로 구간 정보를 차량(1220)으로부터 수신할 수 있다.
복수의 차량 각각으로부터 수신된 항법 정보는 도로 섹션의 복수의 구간에 관한 정보를 포함할 수 있다. 예를 들어, 복수의 차량 각각으로부터의 항법 정보는 공통 도로 섹션의 제2 부분에 상대적인 제2 도로 구간 정보를 포함할 수 있다. 제1 도로 구간 정보와 마찬가지로, 복수의 구간 정보는 각각 호스트 차량과 연관된 하나 이상의 움직임 묘사 및/또는 도로 섹션과 연관된 하나 이상의 도로 특성을 포함할 수 있다. 일부 실시예에서, 제2 도로 구간 정보는 호스트 차량에 대한 판단된 적어도 하나의 움직임 묘사 및 공통 도로 섹션의 제2 부분에 상대적인 판단된 적어도 하나의 도로 특성을 포함할 수 있다. 예를 들면, 서버(1230)는 도로 구간(2702)과 연관된 궤적 및 도로 섹션(2601)의 일시정지표지판(2616), 일시정지표지판 마커(2716), 및/또는 도로 가장자리(2622) 등에 대한 도로 구간(2701)의 위치의 지시를 포함할 수 있는 제2 도로 구간 정보를 차량(1205)로부터 수신할 수 있다.
상기 예는 제1 도로 구간 정보와 제2 도로 구간 정보를 포함하는 항법 정보에 대해 설명하고 있지만, 서버(1230)에 의해 수신될 수 있는 도로 구간 정보의 수에 제한이 없다는 것은 당연하다 할 것이다. 일례로, 도로 구간(2712, 2713, 2714, 2715) 각각에 대한 도로 구간 정보를 포함하는 항법 정보를 차량(2614)이 전송하고 서버(123)가 수신할 수 있다. 다른 예에서, 하나 이상의 연관된 도로 구간에 관한 항법 정보를 차량(1205, 1210. 1215, 1220, 1225)이 각각 전송하고 서버(1230)가 수신할 수 있다. 예컨대, 서버(1230)는 도로 섹션(2601)에 대해 판단된 모든 도로 구간(예, 도로 구간(2701-2715))에 대해 항법 정보를 수신할 수 있다.
복수의 도로 구간 정보를 포함하는 항법 정보를 서버(1230)가 수신하는 일부 실시예에서, 항법 정보에 묘사된 도로 구간은 공통 도로 섹션의 서로 다른 부분에 관한 것일 수 있다. 예를 들면, 차량(1205)으로부터 수신된 제1 도로 구간 정보(예, 도로 구간(2701))와 차량(1205)으로부터 수신된 제2 도로 구간 정보(예, 도로 구간(2702))는 도로 섹션(2601)의 상이한 부분에 연관될 수 있다. 도로 구간 정보에 연관된 도로 부분은 모든 임의의 길이, 동일한 길이, 또는 가변 길이일 수 있다. 예를 들어, 공통 도로 섹션의 제1 부분과 공통 도로 섹션의 제2 부분의 길이는 각각 적어도 4km일 수 있다. 다른 예를 들면, 공통 도로 섹션의 제1 부분의 길이는 4km 미만일 수 있고, 공통 도로 섹션의 제2 부분의 길이는 적어도 4km일 수 있다.
일부 실시예에서, 항법 정보에 묘사된 도로 구간은 도로 섹션의 공간적으로 분리된 부분에 관한 것일 수 있다. 예를 들면, 도로 섹션의 제2 부분은 도로 섹션의 제1 부분과 상이할 수 있고 도로 섹션의 제1 부분으로부터 분리되어 있을 수 있다. 앞서 설명한 바와 같이, 제1 부분과 제2 부분은 모든 임의의 거리만큼 분리될 수 있다. 예를 들어, 공통 도로 섹션의 제1 부분은 공통 도로 섹션의 제2 부분으로부터 적어도 1km의 거리만큼 공간적으로 분리될 수 있다.
프로세스(3000)는 공통 도로 섹션과 연관된 항법 정보를 저장하는 단계(3020)를 포함할 수 있다. 앞서 설명한 바와 같이, 단계 3010에서 수신된 항법 정보는 공통 도로 섹션과 연관될 수 있다. 추가적으로 또는 대안적으로, 서버(1230)는 항법 정보를 공통 도로 섹션과 상응하는 그룹으로 체계화 또는 정렬하도록 구성될 수 있다. 예를 들어, 프로세서(2020)는 항법 데이터 수신 모듈(2905)에 저장된 명령을 실행하여, 수신된 항법 정보가 상응하는 공통 도로 섹션을 식별하고 상응하는 공통 도로 섹션과 연관된 항법 데이터를 저장할 수 있다.
항법 정보는 서버(1230)와 통신하는 모든 임의의 메모리 장치에 저장될 수 있다. 예를 들면, 항법 정보는 메모리(2900), 메모리(2015), 저장 장치(2010), 또는 다른 메모리 장치와 같은 서버(1230) 내의 메모리에 저장될 수 있다. 다른 예에서, 서버(1230)는 항법 정보를 외부 메모리, 데이터베이스, 또는 기타 저장 장치로 전송할 수 있다.
프로세스(3000)는 복수의 차량으로부터의 항법 정보에 의거하여 공통 도로 섹션에 대한 자율주행차 도로 항법 모델의 적어도 일부분을 생성하는 단계(3030)를 포함할 수 있다. 예를 들어, 프로세서(2020)는 항법 모델 생성 모듈(2910)에 저장된 명령을 실행하여 자율주행차에서 사용할 항법 모델을 생성할 수 있다. 앞서 설명한 바와 같이, 단계 3030에서 생성된 자율주행차 도로 항법 모델은 항법 모델(2800), 맵 스켈레톤(1420), 로컬 지도(1140), 또는 스파스 맵(800)과 실질적으로 유사할 수 있다.
공통 도로 구간에 대한 자율주행차 도로 항법 모델은 공통 도로 구간을 따라 이어지는 도로면 특징의 적어도 하나의 선 표현을 포함할 수 있고, 각 선 표현은 도로면 특징과 실질적으로 상응하는 공통 도로 구간 상의 경로를 나타낼 수 있다. 예를 들어, 도로면 특징은 도로 가장자리 또는 차로 표시를 포함할 수 있다. 또한, 도로면 특징은 복수의 차량이 공통 도로 구간을 횡단하며 획득한 복수의 이미지의 이미지 분석을 통하여 식별될 수 있다. 예를 들어, 서버(1230)는 공통 도로 구간(2601)을 운행하는 차량(1205, 1210, 1215, 1220, 1225)으로부터 수신된 항법 정보에 의거하여 공통 도로 구간(2601)에 대한 자율주행차 도로 항법 모델의 적어도 일부분을 생성할 수 있다.
일부 실시예에서, 자율주행차 도로 항법 모델은 지도, 이미지, 또는 위성 이미지에 겹쳐지도록 구성될 수 있다. 예를 들면, 자율주행차 도로 항법 모델은 구글 지도(Google® Maps), 웨이즈(Waze) 등과 같은 종래의 항법 서비스에 의해 제공된 지도 또는 이미지에 겹쳐질 수 있다. 일례로, 지도에 겹쳐진 자율주행차 도로 항법 모델은 항법 모델(2800)과 실질적으로 유사하게 보일 수 있다.
자율주행차 도로 항법 모델은 본 기재에 따른 모든 임의의 수단에 의해 생성될 수 있다. 예를 들어, 서버(1230) 내의 적어도 하나의 프로세서는 항법 정보로부터 하나 이상의 타깃 궤적을 취합하고, 도 11c와 로컬 지도(1140)를 참조하여 설명한 바와 같이, 타깃 궤적으로부터 하나 이상의 로컬 지도도 취합할 수 있다. 다른 예에서, 서버(1230) 내의 적어도 하나의 프로세서는 항법 모델 생성 모듈(2910)에 저장된 명령을 실행하여 프로세스(1900)의 적어도 일부를 수행할 수 있다. 일부 실시예에서, 자율주행차 도로 항법 모델은 여기에 기재된 하나 이상의 프로세스를 수정 또는 조합하여 생성될 수 있다.
프로세스(3000)는 하나 이상의 차량으로 자율주행차 도로 항법 모델을 배포하는 단계(3040)를 포함할 수 있다. 차량은 자율주행차일 수 있고 자율주행차 도로 항법 모델을 활용하여 자율주행차 도로 항법 모델에 포함된 도로 섹션을 따라 주행할 수 있다. 예를 들어, 서버(1230)는 하나 이상의 자율주행차를 공통 도로 섹션을 따라 자율 주행하는데 활용하기 위해 하나 이상의 자율주행차로 자율주행차 도로 항법 모델을 배포할 수 있다. 예컨대, 서버(1230)는 추후에 도로 섹션(2601)을 따라 자율 주행하는데 활용하기 위해 차량(1205, 1210, 1215, 1220, 및/또는 1225) 또는 기타 모든 임의의 차량으로 항법 모델(2800)을 배포할 수 있다. 자율주행차 도로 항법 모델은 본 기재에 따른 모든 임의의 수단에 의해 배포될 수 있다. 예를 들면, 프로세서(2020)는 통신부(1405)를 통하여 또는 서버(1230)와 통신하는 다른 통신 또는 전송 장치를 통하여 항법 모델(2800)의 전송을 유발할 수 있다.
본 기재에 따라, 자율주행차 도로 항법 모델이 배포되는 하나 이상의 자율주행차는 자율주행차 도로 항법 모델의 수신에 대응하여 하나 이상의 항법 반응에 접할 수 있다. 예를 들어, 차량(1205)은 항법 모델(2800)을 수신할 수 있고, 도로 섹션(2601)의 도로 특성 및/또는 움직임 묘사 등에 의거하여 일련의 항법 반응을 수행함으로써 타깃 궤적(2802)을 따라 이동할 수 있다. 앞서 설명한 바와 같이, 항법 반응은 가속, 제동, 회전, 병합, 정지, 차로 변경 등과 같은 차량의 작동에 따른 모든 임의의 행위일 수 있다. 예를 들면, 각 자율주행차는 항법 모델(2800)을 해석하도록 구성된 하나 이상의 시스템을 구비할 수 있고, 항법 모델(2800)에 묘사된 경로를 주행하기 위하여 일련의 항법 반응을 수행할 수 있다.
일부 실시예에서, 하나 이상의 자율주행차는 자율주행차 항법 지도, 하나 이상의 이미지, 및/또는 센서로부터의 하나 이상의 출력을 활용하여 항법 반응을 결정할 수 있다. 예를 들면, 하나 이상의 자율주행차는 앞서 설명한 바와 같이 항법 반응 모듈(408)의 하나 이상의 명령을 실행하여 감지 입력(예, 레이더로부터의 정보) 및 구동 시스템(220), 제동 시스템(230), 및 조향 시스템(240)과 같은 차량(예, 차량(200))의 기타 시스템으로부터의 입력에 의거하여 원하는 항법 반응을 결정할 수 있다. 원하는 항법 반응에 의거하여, 프로세서(예, 처리부(110))는 차량(200)의 구동 시스템(220), 제동 시스템(230), 및 조향 시스템(240)으로 전자 신호를 전송하여, 예를 들어, 미리 정해진 각도의 회전을 달성하기 위하여 차량(200)의 조향 핸들을 회전함으로써 원하는 항법 반응을 야기할 수 있다. 일부 실시예에서, 처리부(110)는 차량(200)의 속력 변경을 계산하기 위해 속도 및 가속 모듈(406)의 실행의 입력으로 항법 반응 모듈(408)의 출력(예, 원하는 항법 반응)을 활용할 수 있다.
예를 들어, 차량(1205)은 항법 지도(2800)를 수신할 수 있고, 카메라(122)를 활용하여 하나 이상의 이미지를 캡처할 수 있다. 이후, 차량(1205) 내에 배치된 프로세서(2315)는 캡처 된 이미지를 항법 모델(2800)과 연관된 하나 이상의 도로 특성과 비교하고 이에 의거하여 항법 반응을 결정할 수 있다. 예컨대, 차량(1205)이 타깃 궤적(2808) 상에서 이동하고 있고 캡처 된 이미지에 일시정지표지판(1205)이 보이는 경우, 프로세서(2315)는 차량(1205)이 정지할 필요가 있다고 판단할 수 있고 타깃 궤적(2820) 또는 타깃 궤적(2814)을 활용하여 회전할 필요가 있을 수 있다. 이에 따라, 프로세서(2315)는 차량(1205)을 정지선 마커(2718)에서 정지시키고 타깃 궤적(2820)을 활용하여 회전시킬 수 있다.
일부 실시예에서, 자율주행차는 수신된 자율주행차 도로 항법 모델을 도로 섹션과 정렬시키고 항법 모델 상의 타깃 궤적을 따라감으로써 도로 섹션을 주행할 수 있다. 일례로, 자율주행차가 도 26의 궤적(2610)과 유사한 경로에서 도로 섹션(2601)을 주행할 필요가 있는 경우, 자율주행차는 항법 모델(2800)을 활용하여 정지선 마커(2718)에 도달할 때까지 타깃 궤적(2808)을 따라 주행한 후에 타깃 궤적(2814)을 따라감으로써 좌회전을 수행하고 타깃 궤적(2804)에 돌아올 수 있다. 자율주행차는 하나 이상의 랜드마크, 차로 표시, 또는 기타 도로 특성 등을 활용하여 도로 섹션과 관련된 지도, 도면, 또는 좌표 시스템과 자율주행차 도로 항법 모델을 정렬시킬 수 있다. 예를 들면, 차량(1205)은 도로 섹션과 연관된 하나 이상의 랜드마크를 포함할 수 있는 하나 이상의 이미지(예, 이미지(2620 또는 2630)와 유사한 이미지)를 캡처할 수 있고, 프로세서(2315)는 랜드마크 이미지를 항법 모델(2800) 상의 하나 이상의 랜드마크와 비교하여 타깃 궤적(2802-2820)을 도로 섹션(2601)과 정렬시킬 수 있다.
상기의 설명은 예시의 목적으로 제시되었다. 이 설명은 모든 것을 망라한 것이 아니며 기재된 그대로의 형태 또는 실시예로 제한되는 것이 아니다. 수정 및 응용은 본 명세서를 고려하고 기재된 실시예를 실시함으로써 당업자에게 당연할 것이다. 또한, 기재된 실시예의 양상들이 메모리에 저장되는 것으로 설명되었지만, 당업자라면 이러한 양상들이, 예를 들어, 하드 디스크 또는 CD ROM, 또는 다른 유형의 RAM 또는 ROM, USB 매체, DVD, 블루레이, 4K UHD 블루레이, 또는 기타 광드라이브 매체 등의 2차 저장장치와 같은 다른 유형의 컴퓨터 가독 매체에 저장될 수도 있음을 이해할 것이다.
기재된 설명과 방법에 기반한 컴퓨터 프로그램은 당업자에게는 당연한 기술이다. 다양한 프로그램 또는 프로그램 모듈이 당업자에게 공지인 기술을 사용하여 생성되거나 기존의 소프트웨어와 관련되어 설계될 수 있다. 예를 들어, 프로그램 섹션 또는 프로그램 모듈은. Net Framework, .Net Compact Framework (및 Visual Basic, C 등과 같은 관련 언어), Java, C++, Objective-C, HTML, HTML/AJAX 조합, XML, 또는 자바 애플릿(Java applet)을 포함하는 HTML로 설계될 수 있다.
또한, 예시된 실시예들을 여기에 설명하였지만, 모든 실시예의 범위는 균등한 구성요소, 수정, 누락, 조합(예, 다양한 실시예에 걸친 양상의 조합), 응용, 및/또는 변경을 가짐은 본 발명의 당업자에게 당연하다. 청구항의 한정은 청구항에 사용된 언어에 근거하여 넓게 해석되어야 하며 본 명세서에서 또는 본 발명의 출원 중에 설명된 예시에 한정되지 않는다. 예시들은 배타적이지 않은 것으로 이해되어야 한다. 나아가, 기재된 방법의 단계들은 단계들의 순서를 재배열 및/또는 단계를 삽입 또는 삭제하는 등의 다양한 방법으로 수정될 수 있다. 따라서, 본 명세서와 예시들은 예시의 목적으로만 고려되고, 진정한 범위와 기술적 사상은 하기의 청구항과 그 균등한 범위에 의해 정의된다.

Claims (30)

  1. 호스트 차량이 횡단한 도로 섹션에 관한 익명 처리된 정보를 수집하는 항법 시스템에 있어서,
    상기 항법 시스템은 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는:
    상기 호스트 차량의 움직임을 나타내는 출력을 하나 이상의 센서로부터 수신;
    상기 하나 이상의 센서로부터의 상기 출력에 적어도 부분적으로 의거하여 상기 호스트 차량에 대한 적어도 하나의 움직임 묘사를 판단;
    상기 도로 섹션을 따라 있는 상기 호스트 차량의 주변상황을 나타내는 적어도 하나의 이미지를 카메라로부터 수신;
    상기 적어도 하나의 이미지를 분석하여 상기 도로 섹션과 연관된 적어도 하나의 도로 특성을 판단;
    상기 도로 섹션의 제1 부분에 대한 제1 도로 구간 정보를 취합―여기서, 상기 제1 도로 구간 정보는 상기 호스트 차량에 대한 상기 판단된 적어도 하나의 움직임 묘사 및 상기 도로 섹션의 상기 제1 부분에 대한 상기 판단된 적어도 하나의 도로 특성을 포함함;
    상기 도로 섹션의 제2 부분에 대한 제2 도로 구간 정보를 취합―여기서, 상기 제2 도로 구간 정보는 상기 호스트 차량에 대한 상기 판단된 적어도 하나의 움직임 묘사 및 상기 도로 섹션의 상기 제2 부분에 대한 상기 판단된 적어도 하나의 도로 특성을 포함하고, 상기 도로 섹션의 상기 제2 부분은 상기 도로 섹션의 상기 제1 부분과 상이하고 상기 도로 섹션의 제3 부분에 의해 상기 도로 섹션의 상기 제1 부분으로부터 공간적으로 분리됨;
    자율주행차 도로 항법 모델의 취합을 위해 상기 호스트 차량에 대해 원격으로 위치한 서버로 상기 제1 도로 구간 정보 및 상기 제2 도로 구간 정보의 전송을 유발; 및
    상기 도로 섹션의 상기 제3 부분에 관해 취합된 도로 구간 정보의 서버로의 전송을 포기하도록 프로그램 된 것을 특징으로 하는, 항법 시스템.
  2. 제1항에 있어서,
    상기 호스트 차량에 대한 상기 적어도 하나의 움직임 묘사는 상기 호스트 차량에 대해 판단된 궤적을 포함하는 것을 특징으로 하는, 항법 시스템.
  3. 제1항에 있어서,
    상기 호스트 차량에 대한 상기 적어도 하나의 움직임 묘사는 미리 정해진 좌표 시스템에 상대적인 상기 호스트 차량에 대한 자체 움직임(ego-motion) 묘사를 포함하는 것을 특징으로 하는, 항법 시스템.
  4. 제3항에 있어서,
    상기 호스트 차량에 대한 상기 자체 움직임 묘사는 6 자유도(six degrees of freedom)에 대해 판단되는 것을 특징으로 하는, 항법 시스템.
  5. 제1항에 있어서,
    상기 하나 이상의 센서는 GPS 센서를 포함하는 것을 특징으로 하는, 항법 시스템.
  6. 제1항에 있어서,
    상기 하나 이상의 센서는 속력 센서 및 가속도계 중의 적어도 하나를 포함하는 것을 특징으로 하는, 항법 시스템.
  7. 제1항에 있어서,
    상기 판단된 적어도 하나의 도로 특성은 검출된 차로 분리, 차로 병합, 파선 차로 표시, 실선 차로 표시, 차로 내의 도로면 색, 차선 색, 차로 방향, 차로 유형 중의 하나 이상의 지시자를 포함하는 차로 특성을 포함하는 것을 특징으로 하는, 항법 시스템.
  8. 제1항에 있어서,
    상기 판단된 적어도 하나의 도로 특성은 도로 가장자리 위치의 지시자를 포함하는 것을 특징으로 하는, 항법 시스템.
  9. 제1항에 있어서,
    상기 판단된 적어도 하나의 도로 특성은 랜드마크 식별자를 포함하는 것을 특징으로 하는, 항법 시스템.
  10. 제1항에 있어서,
    상기 랜드마크 식별자는 랜드마크 유형 및 랜드마크 위치 중의 적어도 하나를 포함하는 것을 특징으로 하는, 항법 시스템.
  11. 제10항에 있어서,
    상기 랜드마크 유형은 신호등, 기둥, 도로 표시, 정지선, 및 표지판 중의 적어도 하나를 포함하는 것을 특징으로 하는, 항법 시스템.
  12. 제1항에 있어서,
    상기 판단된 적어도 하나의 도로 특성은 상기 도로 섹션을 따라 있는 기후 조건의 지시자를 포함하는 임시 도로 특성을 포함하는 것을 특징으로 하는, 항법 시스템.
  13. 제12항에 있어서,
    상기 기후 조건의 지시자는 눈, 비, 안개, 눈부신 햇살 중의 적어도 하나와 연관되는 것을 특징으로 하는, 항법 시스템.
  14. 제1항에 있어서,
    상기 도로 섹션의 상기 제1 부분은 상기 도로 섹션의 상기 제2 부분으로부터 적어도 1km의 거리만큼 공간적으로 분리되는 것을 특징으로 하는, 항법 시스템.
  15. 제1항에 있어서,
    상기 도로 섹션의 상기 제1 부분과 상기 도로 섹션의 상기 제2 부분의 길이는 각각 적어도 2km인 것을 특징으로 하는, 항법 시스템.
  16. 제1항에 있어서,
    상기 도로 섹션의 상기 제1 부분과 상기 도로 섹션의 상기 제2 부분의 길이는 각각 상기 적어도 하나의 프로세서에 의해 임의적으로 정해지는 것을 특징으로 하는, 항법 시스템.
  17. 제16항에 있어서,
    상기 무작위로 정해진 길이는 미리 정해진 길이의 +/- 0.5km 이내인 것을 특징으로 하는, 항법 시스템.
  18. 제1항에 있어서,
    상기 도로 섹션이 터널을 포함하는 경우, 상기 도로 섹션의 상기 제1 부분 또는 상기 도로 섹션의 상기 제2 부분 이내에 상기 터널의 전체 길이가 포함되도록 상기 적어도 하나의 프로세서에 의해 상기 도로 섹션의 상기 제1 부분 및 상기 도로 섹션의 상기 제2 부분의 적어도 하나가 지정되는 것을 특징으로 하는, 항법 시스템.
  19. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 상기 자율주행차 도로 항법 모델을 상기 원격으로 위치한 서버로부터 수신하고, 상기 자율주행차 도로 항법 모델에 의거하여 상기 호스트 차량에 의한 적어도 하나의 항법 동작을 유발하도록 더 프로그램 된 것을 특징으로 하는, 항법 시스템.
  20. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 미리 정해진 지연 이후에 상기 제1 도로 구간 정보의 취합을 개시하도록 더 프로그램된 것을 특징으로 하는, 항법 시스템.
  21. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 도로 구간 정보의 최종 취합이 상기 호스트 차량에 의한 운행의 종료를 나타내는 경우에 상기 도로 구간 정보의 최종 취합을 상기 서버로 전송하지 않도록 더 프로그램된 것을 특징으로 하는, 항법 시스템.
  22. 제1항에 있어서,
    상기 적어도 하나의 프로세서는 도로 구간 정보의 초기 취합이 상기 호스트 차량에 의한 운행의 시작을 나타내는 경우에 상기 도로 구간 정보의 초기 취합을 상기 서버로 전송하지 않도록 더 프로그램된 것을 특징으로 하는, 항법 시스템.
  23. 자율 주행에 활용하기 위한 차량 항법 정보를 처리하는 서버 기반 시스템에 있어서,
    상기 시스템은 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는:
    복수의 차량으로부터 항법 정보를 수신―여기서, 상기 복수의 차량으로부터의 상기 항법 정보는 공통 도로 섹션과 연관됨;
    상기 공통 도로 구간과 연관된 상기 항법 정보를 저장;
    상기 복수의 차량으로부터 수신된 상기 항법 정보에 의거하여 상기 공통 도로 섹션에 대한 자율주행차 도로 항법 모델의 적어도 일부를 생성; 및
    상기 공통 도로 섹션을 따라 한 대 이상의 자율주행차의 자율 주행에 활용하기 위해 상기 자율주행차 도로 항법 모델을 상기 한 대 이상의 자율주행차에 배포하도록 프로그램되고,
    상기 복수의 차량 각각으로부터의 상기 항법 정보는:
    상기 공통 도로 섹션의 제1 부분에 관한 제1 도로 구간 정보―여기서, 상기 제1 도로 구간 정보는 상기 호스트 차량에 대하여 판단된 적어도 하나의 동작 묘사 및 상기 공통 도로 섹션의 상기 제1 부분에 관하여 판단된 적어도 하나의 도로 특성을 포함함; 및
    상기 공통 도로 섹션의 제2 부분에 관한 제2 도로 구간 정보―여기서, 상기 제2 도로 구간 정보는 상기 호스트 차량에 대하여 판단된 적어도 하나의 동작 묘사 및 상기 공통 도로 섹션의 상기 제2 부분에 관하여 판단된 적어도 하나의 도로 특성을 포함하고, 상기 도로 섹션의 상기 제2 부분은 상기 도로 섹션의 상기 제1 부분과 상이하고 상기 도로 섹션의 상기 제1 부분으로부터 공간적으로 분리됨―을 포함하는 것을 특징으로 하는, 서버 기반 시스템.
  24. 제23항에 있어서, 상기 호스트 차량에 대한 상기 적어도 하나의 움직임 묘사는 상기 공통 도로 구간의 상기 제1 부분과 상기 제2 부분에 상대적이고, 상기 호스트 차량에 대해 판단된 궤적을 포함하는 것을 특징으로 하는, 서버 기반 시스템.
  25. 제23항에 있어서,
    상기 호스트 차량에 대한 상기 적어도 하나의 움직임 묘사는 상기 공통 도로 섹션의 상기 제1 부분과 상기 제2 부분에 상대적이고, GPS 센서, 속력 센서, 및 가속도계 중의 적어도 하나로부터의 출력에 의거하여 판단되는 것을 특징으로 하는, 서버 기반 시스템.
  26. 제23항에 있어서,
    상기 적어도 하나의 도로 특성은 상기 공통 도로 섹션의 상기 제1 부분과 상기 제2 부분에 상대적이고, 검출된 차로 분리, 차로 병합, 파선 차로 표시, 실선 차로 표시, 차로 내 도색 표면, 차선 색, 차로 방향, 차로 유형, 도로 가장자리 위치, 랜드마크 식별자 중의 하나 이상의 지시자, 또는 상기 공통 도로 섹션의 기후 조건의 지시자를 포함하는 것을 특징으로 하는, 서버 기반 시스템.
  27. 제26항에 있어서,
    상기 랜드마크 식별자는 랜드마크 유형 및 랜드마크 위치 중의 적어도 하나를 포함하는 것을 특징으로 하는, 서버 기반 시스템.
  28. 제27항에 있어서,
    상기 랜드마크 유형은 신호등, 기둥, 도로 표시, 정지선, 및 표지판 중의 적어도 하나를 포함하는 것을 특징으로 하는, 서버 기반 시스템.
  29. 제23항에 있어서,
    상기 공통 도로 섹션의 상기 제1 부분은 상기 공통 도로 섹션의 상기 제2 부분으로부터 적어도 1km의 거리만큼 공간적으로 분리되는 것을 특징으로 하는, 서버 기반 시스템.
  30. 제23항에 있어서,
    상기 공통 도로 섹션의 상기 제1 부분과 상기 도로 섹션의 상기 제2 부분의 길이는 각각 적어도 2km인 것을 특징으로 하는, 서버 기반 시스템.
KR1020207025541A 2018-03-05 2019-03-05 항법 정보를 익명화 하는 시스템 및 방법 KR20200130279A (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201862638713P 2018-03-05 2018-03-05
US62/638,713 2018-03-05
US201862642823P 2018-03-14 2018-03-14
US62/642,823 2018-03-14
US201862671779P 2018-05-15 2018-05-15
US62/671,779 2018-05-15
US201862771335P 2018-11-26 2018-11-26
US62/771,335 2018-11-26
US201962805646P 2019-02-14 2019-02-14
US201962805632P 2019-02-14 2019-02-14
US62/805,632 2019-02-14
US62/805,646 2019-02-14
US201962813403P 2019-03-04 2019-03-04
US62/813,403 2019-03-04
PCT/US2019/020718 WO2019173315A1 (en) 2018-03-05 2019-03-05 Systems and methods for anonymizing navigation information

Publications (1)

Publication Number Publication Date
KR20200130279A true KR20200130279A (ko) 2020-11-18

Family

ID=65818634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207025541A KR20200130279A (ko) 2018-03-05 2019-03-05 항법 정보를 익명화 하는 시스템 및 방법

Country Status (8)

Country Link
US (3) US11205012B2 (ko)
EP (2) EP4253913A3 (ko)
JP (2) JP7302934B2 (ko)
KR (1) KR20200130279A (ko)
CN (1) CN111837014A (ko)
AU (2) AU2019231196B2 (ko)
IL (1) IL276754A (ko)
WO (1) WO2019173315A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110226078B (zh) * 2016-12-22 2024-04-26 日产北美公司 自动车辆服务系统
CN109840448A (zh) * 2017-11-24 2019-06-04 百度在线网络技术(北京)有限公司 用于无人驾驶车辆的信息输出方法和装置
US11417107B2 (en) * 2018-02-19 2022-08-16 Magna Electronics Inc. Stationary vision system at vehicle roadway
US11015940B2 (en) * 2018-07-13 2021-05-25 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for longitudinal position correction of a vehicle using mapped landmarks
US10909866B2 (en) * 2018-07-20 2021-02-02 Cybernet Systems Corp. Autonomous transportation system and methods
KR102146451B1 (ko) * 2018-08-17 2020-08-20 에스케이텔레콤 주식회사 좌표계 변환 정보 획득 장치 및 방법
US11604476B1 (en) * 2018-10-05 2023-03-14 Glydways Inc. Road-based vehicle guidance system
US11068724B2 (en) * 2018-10-11 2021-07-20 Baidu Usa Llc Deep learning continuous lane lines detection system for autonomous vehicles
US11126197B2 (en) * 2018-11-19 2021-09-21 Waymo Llc Verification of iterative closest point alignments for autonomous vehicles
US11981337B2 (en) * 2018-12-11 2024-05-14 Israel Fermon Smart road infrastructure for vehicle safety and autonomous driving
US11010617B2 (en) * 2018-12-12 2021-05-18 Here Global B.V. Methods and systems for determining roadwork zone extension based on lane marking data
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
EP3818339B1 (en) * 2019-02-04 2024-02-21 Mobileye Vision Technologies Ltd. Systems and methods for vehicle navigation
US10860878B2 (en) * 2019-02-16 2020-12-08 Wipro Limited Method and system for synthesizing three-dimensional data
WO2020191711A1 (en) * 2019-03-28 2020-10-01 Baidu.Com Times Technology (Beijing) Co., Ltd. A camera-based low-cost lateral position calibration method for level-3 autonomous vehicles
US11340354B2 (en) * 2019-06-26 2022-05-24 Nio Usa, Inc. Methods to improve location/localization accuracy in autonomous machines with GNSS, LIDAR, RADAR, camera, and visual sensors
DE102019209226A1 (de) * 2019-06-26 2020-12-31 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zur Verarbeitung von durch ein Kraftfahrzeug erfassten Daten
EP4026049A4 (en) * 2019-09-05 2022-11-02 Netradyne, Inc. VEHICLE SENSOR SYSTEM CALIBRATION
CA3153705A1 (en) * 2019-09-12 2021-03-18 Yosef Mintz System and method to optimize citywide traffic flow by privacy preserving scalable predictive citywide traffic load-balancing supporting, and being supported by, optimal zone to zone demand-control planning and predictive parking management
US11458988B2 (en) * 2019-09-13 2022-10-04 Ghost Locomotion Inc. Controlling an automated vehicle using visual anchors
CN113221602B (zh) * 2020-01-21 2023-09-29 百度在线网络技术(北京)有限公司 道路路面状况确定方法、装置、设备和介质
US11250279B2 (en) * 2020-03-31 2022-02-15 Robert Bosch Gmbh Generative adversarial network models for small roadway object detection
CN111959505B (zh) * 2020-06-29 2022-10-11 阿波罗智能技术(北京)有限公司 车辆巡航控制方法、装置、电子设备和存储介质
CN111885138A (zh) * 2020-07-16 2020-11-03 广州小鹏车联网科技有限公司 控制方法、车辆和服务器
US11703337B2 (en) * 2020-07-22 2023-07-18 Here Global B.V. Method, apparatus, and computer program product for anonymizing trajectories
US11605232B2 (en) * 2020-08-27 2023-03-14 Robert Bosch Gmbh System and method for road sign ground truth construction with a knowledge graph and machine learning
CN116802461A (zh) * 2020-08-31 2023-09-22 移动眼视觉科技有限公司 用于基于地图的真实世界建模的系统和方法
US11662215B2 (en) 2020-11-03 2023-05-30 Here Global B.V. Method, apparatus, and computer program product for anonymizing trajectories
US11164084B1 (en) * 2020-11-11 2021-11-02 DeepCube LTD. Cluster-connected neural network
DE102020007078B3 (de) 2020-11-19 2022-03-24 Daimler Ag Verfahren zum anonymisierten Übertragen von zeit- und ortsreferenzierten Sensordaten eines Fahrzeuges zu einer fahrzeugexternen Rechnereinheit
CN112418092B (zh) * 2020-11-23 2022-09-23 中国第一汽车股份有限公司 一种障碍物感知的融合方法、装置、设备及储存介质
CN112581758A (zh) * 2020-12-07 2021-03-30 北京交通大学 一种检测道路路标的方法和系统
CN112885129B (zh) * 2021-01-21 2021-12-28 腾讯科技(深圳)有限公司 道路限速的确定方法、装置、设备及计算机可读存储介质
CN112966041B (zh) * 2021-02-02 2024-04-26 苍穹数码技术股份有限公司 数据处理方法、装置、设备及存储介质
US11822682B2 (en) * 2021-05-17 2023-11-21 Here Global B.V. Method, apparatus, and computer program product for quantifying the privacy risk of trajectory data
US11805391B2 (en) 2021-06-04 2023-10-31 Here Global B.V. Method, apparatus, and computer program product for anonymizing trajectories
CN113596015A (zh) * 2021-07-27 2021-11-02 同济大学 基于雾计算的群智感知中支持隐私保护的身份认证方法
US20230160713A1 (en) * 2021-11-19 2023-05-25 Here Global B.V. Method, apparatus and computer program product for identifying work zones within a map
WO2023141083A1 (en) * 2022-01-18 2023-07-27 ClearMotion, Inc. Maintaining vehicle anonymity during cloud-supported vehicle localization and control
CN114821530B (zh) * 2022-04-22 2023-06-02 北京裕峻汽车技术研究院有限公司 基于深度学习的车道线检测方法及系统
US20230418977A1 (en) * 2022-06-28 2023-12-28 Here Global B.V. Method, apparatus, and computer program product for estimating the privacy risk of anonymized trajectory data
CN116118783B (zh) * 2023-04-04 2023-08-08 深圳曦华科技有限公司 自动驾驶域控制器实现行车数据优化的方法及装置
CN117455751B (zh) * 2023-12-22 2024-03-26 新华三网络信息安全软件有限公司 路段图像的处理系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010007261A1 (de) * 2010-02-09 2011-08-11 Continental Automotive GmbH, 30165 Verfahren zur Übermittlung von Reiserouten-Informationen
US8478499B2 (en) * 2010-06-07 2013-07-02 Ford Global Technologies, Llc System and method for vehicle speed monitoring using historical speed data
WO2012076040A1 (en) * 2010-12-07 2012-06-14 Tomtom International B.V. Mapping or navigation apparatus and method of operation thereof
US10451428B2 (en) 2013-03-15 2019-10-22 Volkswagen Aktiengesellschaft Automatic driving route planning application
CN104596522B (zh) * 2014-05-27 2018-07-06 腾讯科技(深圳)有限公司 一种导航剩余时间获取方法和装置
EP3885217A1 (en) * 2015-02-10 2021-09-29 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
US9550495B2 (en) * 2015-03-27 2017-01-24 Intel Corporation Technologies for assisting vehicles with changing road conditions
US9970780B2 (en) * 2015-11-19 2018-05-15 GM Global Technology Operations LLC Method and apparatus for fuel consumption prediction and cost estimation via crowd sensing in vehicle navigation system
US11721205B2 (en) * 2016-06-13 2023-08-08 Here Global B.V. Method, apparatus, and computer program product for processing sensor data

Also Published As

Publication number Publication date
CN111837014A (zh) 2020-10-27
AU2024201126A1 (en) 2024-03-14
US11205012B2 (en) 2021-12-21
AU2019231196B2 (en) 2023-11-23
JP7302934B2 (ja) 2023-07-04
AU2024201123A1 (en) 2024-03-14
WO2019173315A1 (en) 2019-09-12
IL276754A (en) 2020-10-29
AU2024201123B2 (en) 2024-05-16
EP4253913A2 (en) 2023-10-04
JP2021515286A (ja) 2021-06-17
US11768959B2 (en) 2023-09-26
US20210209253A1 (en) 2021-07-08
EP3721172B1 (en) 2023-05-10
US20220067209A1 (en) 2022-03-03
JP2023134478A (ja) 2023-09-27
US20190272389A1 (en) 2019-09-05
AU2019231196A1 (en) 2020-07-23
EP4253913A3 (en) 2023-12-13
EP3721172A1 (en) 2020-10-14
US11972022B2 (en) 2024-04-30

Similar Documents

Publication Publication Date Title
JP7302934B2 (ja) ナビゲーション情報を匿名化するためのシステム及び方法
JP7125214B2 (ja) プログラムおよびコンピューティングデバイス
WO2020165650A2 (en) Systems and methods for vehicle navigation
EP3775777A1 (en) Systems and methods for vehicle navigation
JP2023509468A (ja) 車両ナビゲーション用のシステムおよび方法
CN115380196A (zh) 用于确定道路安全性的系统和方法
KR20190069384A (ko) 자율 주행을 위한 스파스 맵(sparse map)의 크라우드소싱과 배포 및 차선 측정
CN114402377A (zh) 用于监测交通车道拥塞的系统和方法
US11680801B2 (en) Navigation based on partially occluded pedestrians
WO2020174279A2 (en) Systems and methods for vehicle navigation
JP2023539868A (ja) マップベースの現実世界モデル化のシステム及び方法
JP2023508769A (ja) ナビゲーションのためのマップタイル要求を最適化するためのシステム及び方法
CA3087718A1 (en) Systems and methods for anonymizing navigation information
CN114930123A (zh) 用于检测交通灯的系统和方法
CN116601671A (zh) 关于行人和确定交通工具自由空间的交通工具导航

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal