KR102600238B1 - Method and apparatus for autonomous driving for unstructured environments - Google Patents

Method and apparatus for autonomous driving for unstructured environments Download PDF

Info

Publication number
KR102600238B1
KR102600238B1 KR1020210139819A KR20210139819A KR102600238B1 KR 102600238 B1 KR102600238 B1 KR 102600238B1 KR 1020210139819 A KR1020210139819 A KR 1020210139819A KR 20210139819 A KR20210139819 A KR 20210139819A KR 102600238 B1 KR102600238 B1 KR 102600238B1
Authority
KR
South Korea
Prior art keywords
point
driving
lookahead
drivable area
candidate
Prior art date
Application number
KR1020210139819A
Other languages
Korean (ko)
Other versions
KR20230046909A (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 KR20230046909A publication Critical patent/KR20230046909A/en
Application granted granted Critical
Publication of KR102600238B1 publication Critical patent/KR102600238B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/06Automatic manoeuvring for parking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/40High definition maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2754/00Output or target parameters relating to objects
    • B60W2754/10Spatial relation or speed relative to objects
    • B60W2754/30Longitudinal distance

Abstract

본 발명은 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치에 관한 것으로, 차량이 비전(vision)에 기반하여 인식한 주행 가능 영역을 향할 수 있도록 모방 학습을 이용하여 룩어헤드 포인트(Look-ahead Point) 를 선택하고, 딥러닝 기반 모션-플래닝(motion-planning)을 제공하는 자율 주행 방법 및 장치를 제공한다.The present invention relates to an autonomous driving method and device for an unstructured driving environment. The present invention relates to a look-ahead point using imitation learning so that a vehicle can head to a drivable area recognized based on vision. Point) and provide an autonomous driving method and device that provides deep learning-based motion-planning.

Description

비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치{METHOD AND APPARATUS FOR AUTONOMOUS DRIVING FOR UNSTRUCTURED ENVIRONMENTS}Autonomous driving method and apparatus for unstructured driving environment {METHOD AND APPARATUS FOR AUTONOMOUS DRIVING FOR UNSTRUCTURED ENVIRONMENTS}

본 발명은 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치에 관한 것으로, 차량이 비전(vision)에 기반하여 인식한 주행 가능 영역을 향할 수 있도록 모방 학습을 이용하여 룩어헤드 포인트(Look-ahead Point) 를 선택하고, 딥러닝 기반 모션-플래닝(motion-planning)을 제공하는 자율 주행 방법 및 장치에 관한 것이다.The present invention relates to an autonomous driving method and device for an unstructured driving environment. The present invention relates to a look-ahead point using imitation learning so that a vehicle can head to a drivable area recognized based on vision. It relates to an autonomous driving method and device that selects a point and provides deep learning-based motion-planning.

이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.The content described below is merely for the purpose of providing background information related to embodiments of the present invention, and does not necessarily constitute prior art.

최근 비-구조화된 주행 환경에서의 자율 주행에 대한 연구가 진행되고 있다. 비-구조화된 주행 환경에서의 자율 주행은 구조화된 주행 환경보다 주행 가능 영역의 폭과 곡률의 변화가 크며, 크기와 형태가 다양한 장애물이 존재하여 더 복잡하며, 난이도가 높다.Recently, research on autonomous driving in unstructured driving environments is in progress. Autonomous driving in an unstructured driving environment has greater changes in the width and curvature of the drivable area than in a structured driving environment, and is more complicated and difficult due to the presence of obstacles of various sizes and shapes.

비-구조화된 환경을 주행하기 위한 종래 연구로, 전역 경로(global path)에 기반한 최적화, 그래프 탐색, 트리 확장이 있다.Conventional research for driving in unstructured environments includes optimization based on global paths, graph search, and tree expansion.

하지만, 이와 같은 방법은 i) 환경이 복잡하거나 넓은 경우, 계산 시간이 오래 걸리고, ii) 전역 경로에서 어느 지점이 회피 경로의 목적지로 선택되어야 하는지 결정하기가 명확하지 않으며, iii) Global positioning system (GPS)나 simultaneous localization and mapping (SLAM)을 통해 얻은 localization 데이터가 정확하지 않은 경우, 경로를 정확하게 추종하기 힘들어, 장애물과 충돌하게 될 위험이 있다. However, such a method i) takes a long time to calculate when the environment is complex or large, ii) it is not clear to determine which point in the global path should be selected as the destination of the avoidance path, and iii) the Global positioning system ( If localization data obtained through GPS (GPS) or simultaneous localization and mapping (SLAM) is not accurate, it is difficult to follow the path accurately, and there is a risk of colliding with obstacles.

한편, 모델 기반 모션-플래닝에 의한 후보 경로 선택, 인공 필드(field) 생성과 같은 방법들이 있다.Meanwhile, there are methods such as candidate path selection and artificial field generation by model-based motion-planning.

하지만, 다양하고 복잡한 환경에 따라 각 목적함수에 존재하는 파라메터가 다르게 조정되어야 하며, 주행 가능 영역의 경계가 부정확하게 인식되거나, 그림자가 주행 가능 영역으로 오-인식되는 경우에 차량 움직임이 불안정해지거나 장애물과 충돌할 가능성이 커지는 문제점이 있다.However, the parameters in each objective function must be adjusted differently depending on the diverse and complex environment, and if the boundary of the drivable area is inaccurately recognized or a shadow is misrecognized as a drivable area, vehicle movement may become unstable or There is a problem that increases the possibility of colliding with obstacles.

이와 같은 한계점을 해결할 수 있는 비-구조화된 주행 환경을 위한 자율 주행 기술이 필요하다.Autonomous driving technology for unstructured driving environments that can address these limitations is needed.

한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.Meanwhile, the above-mentioned prior art is technical information that the inventor possessed for deriving the present invention or acquired in the process of deriving the present invention, and cannot necessarily be said to be known art disclosed to the general public before the application for the present invention. .

본 발명의 일 과제는 딥 러닝 기반의 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치를 제공하는 것이다.One object of the present invention is to provide an autonomous driving method and device for an unstructured driving environment based on deep learning.

본 발명의 일 과제는 비전 기반으로 인식한 주행 가능 영역에 대한 룩어헤드 포인트를 이용하는 비-구조화된 주행 환경을 위한 자율 주행 방법 및 장치를 제공하는 것이다.One object of the present invention is to provide an autonomous driving method and device for an unstructured driving environment that uses a look-ahead point for a drivable area recognized based on vision.

본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The object of the present invention is not limited to the problems mentioned above, and other objects and advantages of the present invention that are not mentioned can be understood through the following description and will be more clearly understood through examples of the present invention. It will also be appreciated that the objects and advantages of the present invention can be realized by means and combinations thereof as set forth in the claims.

본 발명의 일 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법은, 입력 영상으로부터 차량의 주행 가능 영역을 결정하는 단계, 주행 정책 네트워크를 이용하여 상기 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하는 단계, 상기 후보 룩어헤드 포인트 및 상기 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 상기 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하는 단계 및 결정된 상기 룩어헤드 포인트에 기반하여 상기 주행 정책 네트워크를 훈련하는 단계를 포함할 수 있다.An autonomous driving method for an unstructured driving environment according to an embodiment of the present invention includes determining a drivable area of a vehicle from an input image, and candidate look-ahead points for the drivable area using a driving policy network. determining a look-ahead point corresponding to a target arrival point of the vehicle based on the candidate look-ahead point and a reference look-ahead point for the drivable area, and the driving based on the determined look-ahead point. It may include training the policy network.

본 발명의 일 실시예에 따른 비-구조화된 주행 환경을 위한 자율주행 장치는, 프로세서 및 적어도 하나의 명령어를 저장하는 메모리를 포함하고, 적어도 하나의 명령어는 프로세서에 의해 실행될 때, 프로세서로 하여금, 입력 영상으로부터 차량의 주행 가능 영역을 결정하고, 주행 정책 네트워크를 이용하여 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하고, 후보 룩어헤드 포인트 및 상기 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하고, 결정된 룩어헤드 포인트에 기반하여 주행 정책 네트워크를 훈련하도록 구성될 수 있다.An autonomous driving device for an unstructured driving environment according to an embodiment of the present invention includes a processor and a memory storing at least one instruction, wherein the at least one instruction, when executed by the processor, causes the processor to: Determine the drivable area of the vehicle from the input image, determine candidate lookahead points for the drivable area using a driving policy network, and determine the vehicle's drivable area based on the candidate lookahead point and the reference lookahead point for the drivable area. It may be configured to determine a look-ahead point corresponding to the target arrival point and train a driving policy network based on the determined look-ahead point.

전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages in addition to those described above will become apparent from the following drawings, claims, and detailed description of the invention.

실시예에 의하면, 다양하고 복잡한 환경에서 취득한 주행 데이터로 딥 뉴럴 네트워크를 훈련하여 비-구조화된 주행 환경에서의 자율 주행 성능을 개선할 수 있다.According to an embodiment, autonomous driving performance in an unstructured driving environment can be improved by training a deep neural network with driving data acquired in various and complex environments.

실시예에 의하면 모방 학습의 행동으로 룩어헤드 포인트를 사용함으로써 모방 학습 반복 알고리즘의 적용이 가능하고, 효과적이고 정확한 자율 주행 모방이 가능하다.According to the embodiment, by using the look-ahead point as an imitation learning action, the imitation learning iterative algorithm can be applied, and effective and accurate autonomous driving imitation is possible.

실시예에 의하면, 주행 정책 네트워크가 결정한 후보 룩어헤드 포인트와 기준 룩어헤드 포인트 간의 차이를 훈련에 반영함으로써 모방 학습의 반복 횟수를 줄일 수 있다.According to an embodiment, the number of repetitions of imitation learning can be reduced by reflecting the difference between the candidate lookahead point determined by the driving policy network and the reference lookahead point in training.

이로써 동일한 데이터 생성 시간과 노력으로 더 다양하고 많은 환경에 대한 학습이 가능하여 자율 주행의 안전성이 제고된다.This allows learning about more diverse environments with the same data generation time and effort, thereby improving the safety of autonomous driving.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행의 개략적인 흐름도이다.
도 2는 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 장치의 블록도이다.
도 3은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 흐름도이다.
도 4는 실시예에 따른 주행 환경 인지 네트워크의 예시적인 구성도이다.
도 5는 실시예에 따른 주행 정책 네트워크의 예시적인 구성도이다.
도 6은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일 과정의 예시적인 의사 코드(pseudocode)이다.
도 7은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일 과정의 예시적인 의사 코드이다.
도 8은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법에 의한 룩어헤드 포인트 결정을 설명하기 위한 예시도이다.
도 9는 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일 과정의 예시적인 의사 코드이다.
도 10은 실시예에 따른 학습 데이터 갱신을 설명하기 위한 예시도이다.
1 is a schematic flow diagram of autonomous driving for an unstructured driving environment according to an embodiment.
Figure 2 is a block diagram of an autonomous driving device for an unstructured driving environment according to an embodiment.
3 is a flowchart of an autonomous driving method for an unstructured driving environment according to an embodiment.
Figure 4 is an exemplary configuration diagram of a driving environment recognition network according to an embodiment.
Figure 5 is an exemplary configuration diagram of a driving policy network according to an embodiment.
Figure 6 is an example pseudocode of one step of an autonomous driving method for an unstructured driving environment according to an embodiment.
7 is an example pseudocode of one step of an autonomous driving method for an unstructured driving environment according to an embodiment.
FIG. 8 is an example diagram illustrating lookahead point determination by an autonomous driving method for an unstructured driving environment according to an embodiment.
9 is an example pseudocode of one step of an autonomous driving method for an unstructured driving environment according to an embodiment.
Figure 10 is an example diagram for explaining learning data update according to an embodiment.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예들에 한정되지 않는다. 이하 실시 예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.Hereinafter, the present invention will be described in more detail with reference to the drawings. The present invention may be implemented in many different forms and is not limited to the embodiments described herein. In the following embodiments, parts that are not directly related to the description are omitted in order to clearly explain the present invention, but this does not mean that such omitted elements are unnecessary when implementing a device or system to which the spirit of the present invention is applied. . In addition, the same reference numbers are used for identical or similar components throughout the specification.

이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following description, terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms, and the terms may be used to separate one component from another component. It is used only for distinguishing purposes. Additionally, in the following description, singular expressions include plural expressions, unless the context clearly indicates otherwise.

이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the following description, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the possibility of the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 발명은 비-구조화된 환경에서 자율 주행을 위해, 차량이 비전만으로 인식한 주행 가능 영역을 향할 수 있도록 모방 학습을 이용하여 룩어헤드 포인트를 선택하는 딥 러닝 기반의 모션-플래닝에 의한 자율 주행 방법 및 장치에 관한 것이다.The present invention provides an autonomous driving method using deep learning-based motion-planning to select a look-ahead point using imitation learning so that the vehicle can head to a drivable area recognized by vision alone for autonomous driving in an unstructured environment. and devices.

본 발명은 앞서 언급한 모델 기반 모션-플래닝의 한계점들을 극복하는 방법으로, 실시간으로 장애물을 피하면서 주행 가능 영역을 향해 주행하기 위한 룩어헤드 포인트를 선택하는 방법이다. 3D-point cloud와 같은 고정밀 전역 지도, waypoint 단위로 구성된 전역 경로, 그리고 GPS나 SLAM을 통한 localization 없이도 비-구조화된 주행 환경에서의 자율 주행 성능이 제고된다.The present invention is a method of overcoming the limitations of model-based motion-planning mentioned above and is a method of selecting a look-ahead point for driving toward a drivable area while avoiding obstacles in real time. Autonomous driving performance in unstructured driving environments is improved without the need for high-precision global maps such as 3D-point clouds, global routes composed of waypoint units, and localization through GPS or SLAM.

이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다. The present invention will be described in detail below with reference to the drawings.

도 1은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행의 개략적인 흐름도이다.1 is a schematic flow diagram of autonomous driving for an unstructured driving environment according to an embodiment.

차량이 주행하는 도로는 차선, 중앙선, 신호등, 표지판과 같은 구조화된 주행 환경 정보를 가지고 있다. 비-구조화된 주행 환경은 이와 같은 구조화된 주행 환경 정보가 없는 곳으로, 비-구조화된 주행 환경은 크게는 주행 가능 영역과 장애물에 대한 정보를 포함한다.The road on which vehicles travel has structured driving environment information such as lanes, center lines, traffic lights, and signs. An unstructured driving environment is a place where there is no such structured driving environment information, and the unstructured driving environment largely includes information about the drivable area and obstacles.

도 1을 참조하여 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 과정을 개략적으로 설명한다.Referring to FIG. 1 , an autonomous driving process for an unstructured driving environment according to an embodiment will be schematically described.

실시예에 따른 자율 주행은 차량의 상단에 부착된 렌즈(예를 들어 2개의 렌즈)로 구성된 카메라를 이용하여 주행 환경을 촬영한다. 여기서 카메라는 차량의 전면 주행 방향을 촬영한다. 추가적으로 카메라는 차량의 후방 또는 측면을 촬영할 수 있다.Autonomous driving according to an embodiment captures the driving environment using a camera consisting of a lens (for example, two lenses) attached to the top of the vehicle. Here, the camera captures the front driving direction of the vehicle. Additionally, the camera can capture images of the rear or sides of the vehicle.

촬영된 이미지를 위에서 내려다 본 형태인 조감도(bird‘s eye view)로 변환한다. 변환된 이미지는 지도 학습 과정을 통하여 주행 가능 이미지와 주행 불가능 이미지로 구분된다. 구분된 이미지는 격자 점유 지도(Occupancy Grid Map)로 변환되며, 모방 학습으로 훈련된 주행 정책(Driving Policy)의 입력으로 사용된다.The captured image is converted into a bird’s eye view, which is a view from above. The converted image is divided into drivable images and non-drivable images through a supervised learning process. The classified images are converted into an Occupancy Grid Map and used as input for a Driving Policy trained through imitation learning.

주행 정책은 차량이 도달해야 할 지점인 룩어헤드 포인트(look-ahead point)를 결정한다. 룩어헤드 포인트에 도달하기 위한 차량의 조향각(steering angle)과 속도(velocity)를 계산하기 위해 퓨어 퍼슛(pure pursuit) 알고리즘이 사용될 수 있다. 결정된 조향각과 속도는 자율 주행 차량으로 전송된다.The driving policy determines the look-ahead point, which is the point the vehicle must reach. A pure pursuit algorithm can be used to calculate the steering angle and velocity of the vehicle to reach the look-ahead point. The determined steering angle and speed are transmitted to the autonomous vehicle.

도 2는 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 장치의 블록도이다. Figure 2 is a block diagram of an autonomous driving device for an unstructured driving environment according to an embodiment.

실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 장치(100)는 프로세서(110) 및 적어도 하나의 명령어를 저장하는 메모리(120)를 포함한다.The autonomous driving device 100 for an unstructured driving environment according to an embodiment includes a processor 110 and a memory 120 that stores at least one instruction.

프로세서(110)는 일종의 중앙처리장치로서, 메모리(120)에 저장된 하나 이상의 명령어를 실행하여 실시예에 따른 자율 주행 방법을 실행할 수 있다. 프로세서(110)는 데이터에 대한 연산을 처리할 수 있는 모든 종류의 장치를 포함할 수 있다.The processor 110 is a type of central processing unit and can execute an autonomous driving method according to an embodiment by executing one or more instructions stored in the memory 120. The processor 110 may include all types of devices capable of processing operations on data.

프로세서(110)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit; CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다.The processor 110 may mean, for example, a data processing device built into hardware that has a physically structured circuit to perform a function expressed by code or instructions included in a program. Examples of data processing devices built into hardware include a microprocessor, central processing unit (CPU), processor core, multiprocessor, and application-specific integrated (ASIC). circuit), FPGA (field programmable gate array), and graphics processing unit (Graphics Processing Unit (GPU)), but is not limited thereto.

프로세서(110)는 하나 이상의 프로세서를 포함할 수 있다. 예를 들어 프로세서(110)는 CPU 및 GPU를 포함할 수 있다. 예를 들어 프로세서(110)는 복수 개의 GPU를 포함할 수 있다. 프로세서(110)는 적어도 하나의 코어를 포함할 수 있다.Processor 110 may include one or more processors. For example, processor 110 may include a CPU and GPU. For example, the processor 110 may include a plurality of GPUs. Processor 110 may include at least one core.

메모리(120)는 실시예에 따른 자율 주행 방법을 실행하기 위한 명령 등을 저장할 수 있다. 메모리(120)는 실시예에 따른 방법을 구현한 하나 이상의 명령을 생성 및 실행하는 실행가능한(executable) 프로그램을 저장할 수 있다. 프로세서(110)는 메모리(120)에 저장된 프로그램 및 명령어들에 기반하여 실시예에 따른 자율 주행 방법을 실행할 수 있다.The memory 120 may store commands for executing an autonomous driving method according to an embodiment. The memory 120 may store an executable program that generates and executes one or more instructions implementing a method according to an embodiment. The processor 110 may execute an autonomous driving method according to an embodiment based on programs and instructions stored in the memory 120.

메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다. 메모리(120)는 자기 저장 매(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.Memory 120 may include internal memory and/or external memory, such as volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, and NAND. Non-volatile memory such as flash memory or NOR flash memory, flash drives such as SSD, compact flash (CF) card, SD card, Micro-SD card, Mini-SD card, Xd card, or memory stick, etc. Alternatively, it may include a storage device such as an HDD. The memory 120 may include, but is not limited to, magnetic storage media or flash storage media.

일 예에서 비-구조화된 주행 환경을 위한 자율 주행 장치(100)는 차량에 탑재될 수 있다. 일 예에서 비-구조화된 주행 환경을 위한 자율 주행 장치(100)는 차량 외부의 서버 장치로 구현되고, 입력 영상을 수신하여 실시예에 따른 방법을 실행하고, 룩어헤드 포인트 정보 또는 룩어헤드 포인트 정보에 따라 결정된 차량 제어 정보(예를 들어 조향각과 속도 정보)를 차량 또는 차량을 제어하는 장치로 전송할 수 있다.In one example, the autonomous driving device 100 for an unstructured driving environment may be mounted on a vehicle. In one example, the autonomous driving device 100 for an unstructured driving environment is implemented as a server device outside the vehicle, receives an input image, executes a method according to an embodiment, and provides look-ahead point information or look-ahead point information. Vehicle control information (for example, steering angle and speed information) determined according to can be transmitted to the vehicle or a device that controls the vehicle.

메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 입력 영상으로부터 차량의 주행 가능 영역을 결정하고, 주행 정책 네트워크를 이용하여 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하고, 후보 룩어헤드 포인트 및 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하고, 결정된 상기 룩어헤드 포인트에 기반하여 상기 주행 정책 네트워크를 훈련하도록 구성될 수 있다.At least one command stored in the memory 120, when executed by the processor 110, causes the processor 110 to determine the drivable area of the vehicle from the input image and to determine the drivable area using the driving policy network. Determine a candidate look-ahead point, determine a look-ahead point corresponding to the target arrival point of the vehicle based on the candidate look-ahead point and a reference look-ahead point for the drivable area, and determine the driving policy based on the determined look-ahead point. It can be configured to train a network.

메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 주행 가능 영역을 결정하기 위하여, 입력 영상에 기반하여 주행 가능 영역 인식 네트워크를 실행하도록 구성될 수 있다.At least one instruction stored in the memory 120, when executed by the processor 110, is configured to cause the processor 110 to execute a drivable area recognition network based on the input image to determine the drivable area. You can.

여기서 주행 가능 영역 인식 네트워크는 입력 영상을 입력 데이터로 하여 입력 영상을 주행 가능 영역 또는 주행 불가능 영역으로 분류하는 인공 신경망 기반 네트워크이다. 주행 가능 영역 인식 네트워크에 대하여는 도 4를 참조하여 후술한다.Here, the drivable area recognition network is an artificial neural network-based network that uses input images as input data and classifies the input images into drivable areas or non-drivable areas. The drivable area recognition network will be described later with reference to FIG. 4.

일 예에서 주행 정책 네트워크는 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력한다.In one example, the driving policy network outputs the mean and variance of the expected positions of candidate lookahead points.

예를 들어, 주행 정책 네트워크는, 주행 가능 영역의 특징 맵을 추출하는 인코더 계층 및 추출된 특징 맵으로부터 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하는 완전 연결 계층(Fully Connected Layer)을 포함할 수 있다.For example, the driving policy network may include an encoder layer that extracts a feature map of the drivable area and a fully connected layer that outputs the average and variance of the expected position of the lookahead point from the extracted feature map. You can.

메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 룩어헤드 포인트를 결정하기 위하여, 후보 룩어헤드 포인트의 예상 위치의 평균과 기준 룩어헤드 포인트의 위치 간의 거리가 소정의 임계 거리보다 크거나 또는 후보 룩어헤드 포인트의 예상 위치의 분산이 소정의 임계 분산보다 큰 경우, 기준 룩어헤드 포인트를 룩어헤드 포인트로 결정하고, 주행 가능 영역, 기준 룩어헤드 포인트 및 결정된 거리를 주행 가능 영역에 대한 학습 데이터로 저장하도록 구성될 수 있다.At least one instruction stored in the memory 120, when executed by the processor 110, causes the processor 110 to calculate the average of the expected positions of the candidate lookahead points and the average of the reference lookahead points to determine the lookahead point. If the distance between positions is greater than a predetermined threshold distance or the variance of the expected positions of the candidate lookahead points is greater than the predetermined threshold variance, the reference lookahead point is determined as the lookahead point, and the drivable area, reference lookahead point, is determined. and may be configured to store the determined distance as learning data for the drivable area.

메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 주행 정책 네트워크를 훈련하기 위하여, 결정된 룩어헤드 포인트를 주행 가능 영역에 대한 룩어헤드 포인트 결정을 위한 추가 학습 데이터에 기반하여 주행 정책 네트워크의 학습 데이터 세트를 갱신하고, 갱신된 학습 데이터 세트 상에서 소정의 손실 함수를 이용하여 주행 정책 네트워크의 가중치를 조정하도록 구성될 수 있다.At least one instruction stored in the memory 120, when executed by the processor 110, causes the processor 110 to use the determined look-ahead point to determine the look-ahead point for the drivable area in order to train the driving policy network. It may be configured to update the learning data set of the driving policy network based on additional learning data for the driving policy network and adjust the weights of the driving policy network using a predetermined loss function on the updated learning data set.

주행 정책 네트워크의 학습 데이터는 주행 가능 영역, 기준 룩어헤드 포인트 및 기준 룩어헤드 포인트와 후보 룩어헤드 포인트 간의 거리를 포함하고, 메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 추가 학습 데이터의 주행 가능 영역과 학습 데이터 세트의 나머지 학습 데이터의 주행 가능 영역 간의 유사도에 따라, 추가 학습 데이터에 기반하여 나머지 학습 데이터를 갱신하도록 구성될 수 있다.The learning data of the driving policy network includes a drivable area, a reference lookahead point, and the distance between the reference lookahead point and the candidate lookahead point, and at least one instruction stored in the memory 120 is executed by the processor 110. , the processor 110 may be configured to update the remaining learning data based on the additional learning data, according to the similarity between the drivable area of the additional learning data and the drivable area of the remaining learning data of the learning data set.

메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행될 때, 프로세서(110)로 하여금, 일련의 입력 영상에 기반하여 주행 가능 영역 결정, 후보 룩어헤드 포인트 결정, 룩어헤드 포인트 결정 및 주행 정책 네트워크 훈련을 반복적으로 수행하도록 구성될 수 있다.At least one instruction stored in the memory 120, when executed by the processor 110, causes the processor 110 to determine a drivable area based on a series of input images, determine a candidate lookahead point, determine a lookahead point, and It can be configured to repeatedly perform driving policy network training.

프로세서(110)는 메모리(120)에 명령어/데이터를 읽기/쓰기하면서 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법을 실행한다. 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 장치(100)의 동작은 도 3 이하에서 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법에서 상세히 설명하기로 한다.The processor 110 reads/writes commands/data to the memory 120 and executes an autonomous driving method for an unstructured driving environment according to an embodiment. The operation of the autonomous driving device 100 for an unstructured driving environment according to an embodiment will be described in detail in FIG. 3 and below in the autonomous driving method for an unstructured driving environment according to an embodiment.

도 3은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 흐름도이다.3 is a flowchart of an autonomous driving method for an unstructured driving environment according to an embodiment.

실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법은 입력 영상으로부터 차량의 주행 가능 영역을 결정하는 단계(S1), 주행 정책 네트워크를 이용하여 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하는 단계(S2), 후보 룩어헤드 포인트 및 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하는 단계(S3) 및 결정된 룩어헤드 포인트에 기반하여 주행 정책 네트워크를 훈련하는 단계(S4)를 포함한다.An autonomous driving method for an unstructured driving environment according to an embodiment includes determining a drivable area of a vehicle from an input image (S1), and determining a candidate look-ahead point for the drivable area using a driving policy network. Step (S2), determining the look-ahead point corresponding to the target arrival point of the vehicle based on the candidate look-ahead point and the reference look-ahead point for the drivable area (S3), and driving policy network based on the determined look-ahead point. It includes a training step (S4).

단계(S1)에서 프로세서(110)는 입력 영상으로부터 차량의 주행 가능 영역을 결정할 수 있다.In step S1, the processor 110 may determine the drivable area of the vehicle from the input image.

일 예에서 입력 영상은 차량의 주행 방향 이미지에 대한 조감도(bird’s eye view)일 수 있다. 입력 영상은 차량에 장착된 카메라로 촬영한 영상을 변환한 조감도로서, 예를 들어 프로세서(110)는 카메라로 촬영한 영상을 기하학적 변환(WarpPerspective)에 의해 조감도로 변환할 수 있다.In one example, the input image may be a bird's eye view of an image of the vehicle's driving direction. The input image is a bird's eye view converted from an image captured by a camera mounted on a vehicle. For example, the processor 110 may convert an image captured by a camera into a bird's eye view by geometric transformation (WarpPerspective).

단계(S1)은 프로세서(110)에 의해 입력 영상에 기반하여 주행 가능 영역 인식 네트워크를 실행하는 단계를 포함할 수 있다.Step S1 may include executing, by the processor 110, a drivable area recognition network based on the input image.

여기서 주행 가능 영역 인식 네트워크는 입력 영상을 입력 데이터로 하여 입력 영상을 주행 가능 영역 또는 주행 불가능 영역으로 분류하는 인공 신경망 기반 네트워크로 구성될 수 있다. 주행 가능 영역 인식 네트워크에 대하여는 도 4를 참조하여 살펴본다.Here, the drivable area recognition network may be composed of an artificial neural network-based network that uses the input image as input data and classifies the input image into a drivable area or a non-drivable area. The drivable area recognition network will be discussed with reference to FIG. 4.

단계(S1)은 프로세서(110)에 의해 입력 영상을 주행 가능 영역을 표시한 격자 점유 지도(Occupancy Grid Map)로 변환하는 단계를 더 포함할 수 있다.Step S1 may further include converting the input image into an occupancy grid map indicating a drivable area by the processor 110.

점유 격자 지도는 장애물 존재 여부를 나타내는 이진 확률 변수에 따라 입력 영상을 격자 단위로 주행 가능 영역을 표시한 이미지를 의미한다.An occupancy grid map refers to an image in which the drivable area of the input image is displayed in grid units according to a binary random variable indicating the presence of an obstacle.

단계(S2)에서 프로세서(110)는 주행 정책 네트워크를 이용하여 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정할 수 있다. In step S2, the processor 110 may determine a candidate lookahead point for the drivable area using the driving policy network.

일 예에서 주행 정책 네트워크는 주행 가능 영역을 입력 데이터로 하여 후보 룩어헤드 포인트의 예상 위치 정보를 출력하도록 구성된 인공 신경망을 포함한다.In one example, the driving policy network includes an artificial neural network configured to output expected location information of a candidate lookahead point using a drivable area as input data.

여기서 후보 룩어헤드 포인트의 예상 위치 정보는 상기 룩어헤드 포인트의 예상 위치의 평균 및 분산을 포함할 수 있다. 주행 정책 네트워크에 대하여는 도 5를 참조하여 후술한다.Here, the expected location information of the candidate lookahead point may include the average and variance of the expected location of the lookahead point. The driving policy network will be described later with reference to FIG. 5.

단계(S3)에서 프로세서(110)는 후보 룩어헤드 포인트 및 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정할 수 있다.In step S3, the processor 110 may determine a lookahead point corresponding to the vehicle's target arrival point based on the candidate lookahead point and the reference lookahead point for the drivable area.

실시예에 따른 자율 주행 방법은 비전 기반으로 자율 주행 차량의 주행 정책을 결정한다. 예를 들어, 실시예에서 주행 정책 결정은 전문가(expert)의 행동을 모방하는 방법인 모방 학습(imitation learning)을 이용할 수 있다.The autonomous driving method according to the embodiment determines the driving policy of the autonomous vehicle based on vision. For example, in an embodiment, driving policy decisions may use imitation learning, a method of imitating the behavior of an expert.

모방 학습을 위한 학습 데이터를 모으기 위해, 전문가는 격자 점유 지도에 기준 룩어헤드 포인트 지정할 수 있다. 즉, 기준 룩어헤드 포인트는 전문가가 주행 가능 영역에 대하여 설정한 도달 지점으로, 학습 데이터 즉, 모방의 대상이 된다. 실시예에 따른 자율 주행 방법은 단계(S2)에서 주행 가능 영역에 대하여 결정된 후보 룩어헤드 포인트가 학습 데이터인 기준 룩어헤드 포인트를 가능한 잘 모방하도록 한다.To collect training data for imitation learning, experts can specify reference lookahead points on the grid occupancy map. In other words, the reference look-ahead point is the arrival point set by the expert for the drivable area, and becomes the learning data, that is, the target of imitation. The autonomous driving method according to the embodiment ensures that the candidate lookahead point determined for the drivable area in step S2 imitates the reference lookahead point that is learning data as well as possible.

단계(S3)은 프로세서(110)에 의해 후보 룩어헤드 포인트의 예상 위치의 평균과 기준 룩어헤드 포인트의 위치 간의 거리가 소정의 임계 거리보다 크거나 또는 후보 룩어헤드 포인트의 예상 위치의 분산이 소정의 임계 분산보다 큰 경우, 기준 룩어헤드 포인트를 룩어헤드 포인트로 결정하는 단계, 및 프로세서(110)에 의해 단계(S1)에서 결정된 주행 가능 영역, 기준 룩어헤드 포인트 및 후보 룩어헤드 포인트의 예상 위치의 평균과 기준 룩어헤드 포인트의 위치 간의 거리를 주행 가능 영역에 대한 학습 데이터로 저장하는 단계를 포함할 수 있다.Step S3 is performed by the processor 110 when the distance between the average of the expected positions of the candidate lookahead points and the position of the reference lookahead point is greater than a predetermined threshold distance or the variance of the expected positions of the candidate lookahead points is determined by a predetermined value. If greater than the critical variance, determining the reference lookahead point as the lookahead point, and the average of the expected positions of the drivable area, the reference lookahead point, and the candidate lookahead point determined by the processor 110 in step S1. It may include storing the distance between the location of the reference lookahead point and the reference lookahead point as learning data for the drivable area.

한편, 전문가는 다음의 기준을 참고하여 기준 룩어헤드 포인트를 선택할 수 있다. i) 주행 가능 영역 내부에 존재, ii) 차량에서 가장 가까운 장애물을 우선적으로 회피할 수 있는 지점(차량이 주행할 궤적을 통해, 선택된 룩어헤드 포인트로 장애물을 충분히 회피할 수 있는지 확인할 수 있음), iii) 차량 주변에 장애물이 없다면, 차량에서 가장 먼 지점에 위치. 이 3가지 기준을 모두 만족하는 지점에 기준 룩어헤드 포인트가 선택될 수 있다. 이는 결과적으로 모방 학습에 의해 결정된 룩어헤드 포인트에 따라 차량이 가능한 빠른 속도로 장애물을 회피하면서 주행 가능 영역을 향해 주행할 수 있도록 해준다.Meanwhile, experts can select the standard lookahead point by referring to the following criteria. i) Exists inside the drivable area, ii) A point where the vehicle can preferentially avoid the obstacle closest to the vehicle (through the trajectory the vehicle will drive, it can be confirmed whether the selected look-ahead point can sufficiently avoid the obstacle), iii) If there are no obstacles around the vehicle, located at the point furthest from the vehicle. A reference lookahead point may be selected at a point that satisfies all three criteria. This ultimately allows the vehicle to drive toward the drivable area while avoiding obstacles as quickly as possible according to the look-ahead point determined by imitation learning.

단계(S4)에서 프로세서(110)에 의해 결정된 룩어헤드 포인트에 기반하여 주행 정책 네트워크를 훈련할 수 있다.In step S4, a driving policy network may be trained based on the lookahead point determined by the processor 110.

단계(S4)는 프로세서(110)에 의해 단계(S3)에서 결정된 룩어헤드 포인트를 주행 가능 영역에 대한 룩어헤드 포인트 결정을 위한 추가 학습 데이터로 주행 정책 네트워크의 학습 데이터 세트에 추가하는 단계 및 학습 데이터 세트 상에서 소정의 손실 함수를 이용하여 주행 정책 네트워크의 가중치를 조정하는 단계를 포함할 수 있다.Step S4 is a step of adding the look-ahead point determined in step S3 by the processor 110 to the learning data set of the driving policy network as additional learning data for determining the look-ahead point for the drivable area and learning data. It may include adjusting the weights of the driving policy network using a predetermined loss function on the set.

여기서, 소정의 손실 함수는, 기준 룩어헤드 포인트 및 후보 룩어헤드 포인트 간의 거리에 기반하여 가중되는 가중치 손실 함수(weighted loss function)이다.Here, the predetermined loss function is a weighted loss function that is weighted based on the distance between the reference lookahead point and the candidate lookahead point.

실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법은 추가 학습 데이터의 주행 가능 영역과 학습 데이터 세트의 나머지 학습 데이터의 주행 가능 영역 간의 유사도에 따라, 추가 학습 데이터에 기반하여 나머지 학습 데이터를 갱신하는 단계를 더 포함할 수 있다.An autonomous driving method for an unstructured driving environment according to an embodiment is to select the remaining learning data based on the additional learning data according to the similarity between the drivable area of the additional learning data and the drivable area of the remaining learning data in the learning data set. An updating step may be further included.

여기서 주행 정책 네트워크의 학습 데이터는 주행 가능 영역, 상기 기준 룩어헤드 포인트, 및 기준 룩어헤드 포인트와 후보 룩어헤드 포인트 간의 거리를 포함할 수 있다.Here, the learning data of the driving policy network may include a drivable area, the reference lookahead point, and the distance between the reference lookahead point and the candidate lookahead point.

실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법은 일련의 입력 영상에 기반하여 주행 가능 영역을 결정하는 단계(S1), 후보 룩어헤드 포인트를 결정하는 단계(S2), 룩어헤드 포인트를 결정하는 단계(S3) 및 주행 정책 네트워크를 훈련하는 단계(S4)를 반복적으로 수행하는 단계를 더 포함할 수 있다.An autonomous driving method for an unstructured driving environment according to an embodiment includes determining a drivable area based on a series of input images (S1), determining a candidate look-ahead point (S2), and determining a look-ahead point. It may further include repeatedly performing the decision step (S3) and the driving policy network training step (S4).

실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법은 단계(S3)에서 결정된 룩어헤드 포인트에 도달하도록 차량을 제어하기 위한 주행 제어 정보를 결정하는 단계를 더 포함할 수 있다.The autonomous driving method for an unstructured driving environment according to an embodiment may further include determining driving control information for controlling the vehicle to reach the look-ahead point determined in step S3.

여기서 주행 제어 정보는 차량의 조향각 정보 및 속도 정보를 포함할 수 있다.Here, the driving control information may include steering angle information and speed information of the vehicle.

도 4는 실시예에 따른 주행 환경 인지 네트워크의 예시적인 구성도이다.Figure 4 is an exemplary configuration diagram of a driving environment recognition network according to an embodiment.

주행 가능 영역 인식 네트워크는 입력 영상을 입력 데이터로 하여 입력 영상을 주행 가능 영역 또는 주행 불가능 영역으로 분류하는 인공 신경망 기반 네트워크로서, 딥 뉴럴 네트워크(Deep Neural Network)를 사용한다.The drivable area recognition network is an artificial neural network-based network that uses input images as input data and classifies the input images into drivable areas or non-drivable areas, and uses a deep neural network.

도 3을 참조하여 단계(S1)에서, 예를 들어 2대의 카메라로 얻어진 조감도(bird’s eye view) 이미지에서 주행 가능 영역을 구분한다. 일 예에서 주행 환경 인지 네트워크는 카메라로 얻어진 조감도에 주행 가능 영역을 표시한 정답 이미지를 이용한 지도 학습 방법을 이용하여 학습될 수 있다.Referring to FIG. 3, in step S1, a drivable area is distinguished from a bird's eye view image obtained by, for example, two cameras. In one example, the driving environment recognition network can be learned using a supervised learning method using the correct answer image showing the drivable area in a bird's eye view obtained with a camera.

주행 환경 인지 네트워크는 주행 가능 영역을 격자 단위로 표시한 격자 점유 지도를 출력할 수 있다. 격자 점유 지도는 도 3을 참조하여 단계(S3)에서 주행 정책 네트워크의 입력 데이터로 사용된다.The driving environment recognition network can output a grid occupancy map that displays the drivable area in grid units. The grid occupancy map is used as input data for the driving policy network in step S3, referring to Figure 3.

예시적인 주행 환경 인지 네트워크는 콘볼루션 연산에 기반한 인코더 계층(Encoder Layer) 및 디코더 계층(Decoder Layer)을 포함할 수 있다. 주행 환경 인지 네트워크는 입력 영상(예를 들어 RGB 이미지)으로부터 주행 가능 영역을 흑백으로 표시한 격자 점유 지도를 출력한다.An exemplary driving environment awareness network may include an encoder layer and a decoder layer based on convolution operations. The driving environment recognition network outputs a grid occupancy map showing the drivable area in black and white from the input image (e.g. RGB image).

도 5는 실시예에 따른 주행 정책 네트워크의 예시적인 구성도이다.Figure 5 is an exemplary configuration diagram of a driving policy network according to an embodiment.

도 3을 참조하여 단계(S2)에서 프로세서(110)는 주행 정책 네트워크를 실행하여 후보 룩어헤드 포인트를 출력한다. Referring to FIG. 3, in step S2, the processor 110 executes a driving policy network and outputs candidate lookahead points.

주행 정책 네트워크는 후보 룩어헤드 포인트의 예상 위치 정보를 출력할 수 있다. 예를 들어 후보 룩어헤드 포인트의 예상 위치 정보는 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 포함할 수 있다. 여기서 예상 위치는 주행 가능 영역 상의 좌표로 표현된다.The driving policy network can output expected location information of the candidate lookahead point. For example, the expected location information of the candidate lookahead point may include the average and variance of the expected location of the candidate lookahead point. Here, the expected position is expressed as coordinates on the drivable area.

주행 정책 네트워크는 주행 가능 영역의 특징 맵을 추출하는 인코더 계층(Encoder Layer) 및 추출된 특징 맵으로부터 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하는 완전 연결 계층(Fully Connected Layer)을 포함할 수 있다.The driving policy network will include an encoder layer that extracts a feature map of the drivable area and a fully connected layer that outputs the average and variance of the expected position of the candidate lookahead point from the extracted feature map. You can.

인코더 계층은 콘볼루션 계층 및 맥스 풀링 계층을 포함하며, 격자 점유 맵으로 표현된 주행 가능 영역의 특징 맵을 추출한다.The encoder layer includes a convolutional layer and a max pooling layer, and extracts a feature map of the drivable area expressed as a grid occupancy map.

인코더 계층의 출력은 평탄화(flatten)되어 완전 연결 계층에 입력된다. 완전 연결 계층은 적어도 세 개의 완전 연결된 계층을 포함할 수 있다. 특정 데이터에 오버 피팅(overfitting)되는 것을 막기 위하여 완전 연결 계층은 드롭아웃(Dropout)을 실행할 수 있다.The output of the encoder layer is flattened and input to the fully connected layer. A fully connected layer may include at least three fully connected layers. To prevent overfitting to specific data, the fully connected layer can perform dropout.

완전 연결 계층은 룩어헤드 포인트의 평균 좌표()와 분산()을 출력한다.The fully connected layer uses the average coordinates of the lookahead points ( ) and variance ( ) is output.

주행 정책 네트워크는 학습 데이터에 기반하여 지도 학습으로 훈련될 수 있다.The driving policy network can be trained through supervised learning based on learning data.

한편, 도 3을 참조하여 전술한 단계(S3)에서 주어진 주행 가능 영역에 대한 룩어헤드 포인트가 결정된다.Meanwhile, in step S3 described above with reference to FIG. 3, the look-ahead point for a given drivable area is determined.

룩어헤드 포인트는 주어진 주행 가능 영역에서 차량이 도달할 지점으로서, 퓨어 퍼슛(pure pursuit) 알고리즘을 이용하여 룩어헤드 포인트에 도달하기 위한 차량 제어 정보(예를 들어 조향각 및 속도)가 계산될 수 있다.The look-ahead point is a point that the vehicle will reach in a given drivable area, and vehicle control information (eg, steering angle and speed) for reaching the look-ahead point can be calculated using a pure pursuit algorithm.

일 예에서 차량이 룩어헤드 포인트에 의해 제어되면서, 동시에 주행 가능 영역이 구분된 이미지(예를 들어 RGB 이미지 또는 흑백 이미지)가 함께 하나의 데이터로 제공될 수 있다. 이에 대한 예시가 도 5에 제시되어 있다(Combined Image).In one example, while a vehicle is controlled by a look-ahead point, an image (for example, an RGB image or a black-and-white image) divided into a drivable area may be provided together as one data. An example of this is shown in Figure 5 (Combined Image).

도 6은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일부 과정의 예시적인 의사 코드(pseudocode)이다.6 is an example pseudocode of some processes of an autonomous driving method for an unstructured driving environment according to an embodiment.

도 6에 도시된 데이터 수집(Data Aggregation; DAgger) 의사 코드는 도 3을 참조하여 단계(S2) 내지 단계(S4)를 포함한다.The data aggregation (DAgger) pseudo code shown in FIG. 6 includes steps S2 to S4 with reference to FIG. 3 .

한 번의 모방 학습 과정(behavior cloning)을 통해 얻은 주행 정책은 이고, 학습 데이터 세트는 이다. Data Aggregation 알고리즘의 주행 정책은 이고, 여기서 는 모방 학습 반복 횟수를 나타낸다.The driving policy obtained through a single imitation learning process (behavior cloning) is , and the training data set is am. The driving policy of the Data Aggregation algorithm is and here represents the number of imitation learning repetitions.

DAgger에서 수집하는 학습 데이터 세트 로 초기화된다.Training dataset collected by DAgger Is It is initialized as

는 주행 정책(즉, 주행 정책 네트워크)의 성능을 정량적으로 평가하는 척도이고, 는 주행 정책의 성능 임계값을 나타낸다. 는 추가 데이터 세트로서, 도 7을 참조하여 후술할 Decision Rule 함수를 통해 얻어진다. is a measure that quantitatively evaluates the performance of the driving policy (i.e., driving policy network), represents the performance threshold of the driving policy. is an additional data set, obtained through the Decision Rule function, which will be described later with reference to FIG. 7.

line 7에서, 기존 학습 데이터 세트 는 추가 학습 데이터 와 합쳐지고, line 8과 같이 주행 정책 네트워크가 훈련된다. 여기서, 일반적인 손실 함수 대신 가중치 손실 함수(weighted loss function)가 사용된다.In line 7, the existing training data set is additional training data is combined with, and a driving policy network is trained as in line 8. Here, a weighted loss function is used instead of a general loss function.

예를 들어, 일반적인 loss 함수는 다음과 같다.For example, a typical loss function is:

[수학식 1][Equation 1]

여기서 는 훈련과정에서 네트워크가 예측한 행동이며, i는 합쳐진 학습 데이터의 인덱스를 나타낸다.here is the behavior predicted by the network during the training process, and i represents the index of the combined learning data.

이 경우, 가중치 손실 함수는 다음과 같다.In this case, the weight loss function is:

[수학식 2][Equation 2]

구체적으로, Line 1에서 DAgger가 호출되고, Line 2-4에서 각 변수가 초기화된다.Specifically, DAgger is called in Line 1, and each variable is initialized in Lines 2-4.

Line 6에서 단계(S2) 및 단계(S3)를 실행하는 정책 결정 루틴(Decision Rule)이 호출된다.At Line 6, a policy decision routine (Decision Rule) that executes steps S2 and S3 is called.

Line 7-8은 단계(S4)에 대응하며, Line 6에서 정책 결정 루틴에 의해 기준 룩어헤드 포인트가 현재 룩어헤드 포인트로 결정된 경우, Line 7에서 이에 대한 추가 학습 데이터(Dk)를 학습 데이터(D)에 추가하고, Line 8에서 학습 데이터(D) 상에서 전술한 수학식 2에 따른 손실 함수를 이용하여 주행 정책 네트워크를 훈련한다.Lines 7-8 correspond to step (S4), and when the reference lookahead point is determined to be the current lookahead point by the policy decision routine in Line 6, additional learning data (D k ) for this is provided in Line 7 as training data ( Add to D), and train the driving policy network using the loss function according to Equation 2 described above on the learning data (D) at Line 8.

Line 5 및 9에 의해 단계(S3)에서 주행 정책 네트워크에 의한 후보 룩어헤드 포인트가 룩어헤드 포인트로 결정된 비율()이 주행 정책의 성능 임계값()보다 작거나 같은 동안 Line 6 내지 Line 8에 의한 단계(S2) 내지 단계(S4)가 반복하여 수행된다.By lines 5 and 9, the ratio of candidate lookahead points determined by the driving policy network as lookahead points in step S3 ( ) is the performance threshold of this driving policy ( ) Steps (S2) to (S4) by Line 6 to Line 8 are repeatedly performed while less than or equal to ).

Line 11에서 최종적인 주행 정책, 즉 학습된 주행 정책 네트워크를 반환한다.Line 11 returns the final driving policy, i.e. the learned driving policy network.

도 7은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일 과정의 예시적인 의사 코드이다.7 is an example pseudocode of one step of an autonomous driving method for an unstructured driving environment according to an embodiment.

도 7에 도시된 정책 결정(Decision Rule)에 대한 의사 코드는 도3을 참조하여 단계(S2) 및 단계(S3)을 포함한다.The pseudo code for the decision rule shown in FIG. 7 includes steps S2 and S3 with reference to FIG. 3.

line 5-7은 주행 가능 영역에 대하여, 주행 정책, 즉 주행 정책 네트워크에 의해 구한 후보 룩어헤드 포인트와 전문가가 지정한 기준 룩어헤드 포인트 간 차이를 구하는 과정이며, 차이는 로 표현된다. 주행 정책이 구한 는 후보 룩어헤드 포인트의 분산을 나타낸다.Line 5-7 is the process of finding the difference between the driving policy, that is, the candidate look-ahead point obtained by the driving policy network, and the reference look-ahead point specified by the expert for the drivable area, and the difference is It is expressed as Driving policy obtained represents the distribution of candidate lookahead points.

line 9와 같이, 룩어헤드 포인트 간 차이인 나 분산인 가 임계값들( )보다 큰 경우, 주행 정책의 행동에 의해, 차량이 장애물과 충돌할 가능성이 높아지게 되는 문제 상황이 발생했다고 볼 수 있다. (도 8의 우측 이미지 참조). 이 경우, 차량은 전문가의 행동인 로 제어되며, 격자 점유 지도 ( )와 가 추가 데이터 세트( )에 저장된다.As in line 9, the difference between lookahead points is I'm a disperser are the thresholds ( ), it can be said that a problem situation has occurred in which the likelihood of the vehicle colliding with an obstacle increases due to the actions of the driving policy. (See right image in Figure 8). In this case, the vehicle is a professional action. It is controlled by a grid occupancy map ( )and There are additional data sets ( ) is stored in

문제 상황이 발생하지 않은 경우, 차량은 주행 정책이 구한 행동인 후보 룩어헤드 포인트( )로 제어된다. 차량이 제어되면서 주행 정책이 사용된 비율은 로 나타낼 수 있다(line 19 참조). 이 값이 높은 경우, 주행 정책이 전문가의 행동을 잘 따라 한다고 볼 수 있다. 즉, 모방 학습을 잘 하고 있다고 볼 수 있다.If a problem situation does not occur, the vehicle will use a candidate lookahead point ( ) is controlled. The rate at which the driving policy was used while the vehicle was under control was It can be expressed as (see line 19). If this value is high, it can be seen that the driving policy closely follows the expert's behavior. In other words, it can be said that imitation learning is being done well.

다시 살펴보면, Line 2-3은 변수 초기화 과정이고, Line 5는 단계(S2)에 대응하고()는 후보 룩어헤드 포인트의 예상 위치의 평균을 나타냄), Line 6는 기준 룩어헤드 포인트(aexp, i)를 얻는다.Looking again, Line 2-3 is the variable initialization process, and Line 5 corresponds to step (S2) ( ) represents the average of the expected positions of candidate lookahead points), Line 6 obtains the reference lookahead point (a exp, i ).

Line 7에서 후보 룩어헤드 포인트와 기준 룩어헤드 포인트 간의 차이(즉, 거리)()를 획득하고, Line 8에서 후보 룩어헤드 포인트의 예상 위치의 분산을 변수에 할당한다.In line 7, the difference (i.e. distance) between the candidate lookahead point and the reference lookahead point ( ) is obtained, and the variance of the expected position of the candidate lookahead point in Line 8 is assigned to the variable.

Line 9-16은 단계(S3)에 대응한다.Lines 9-16 correspond to step (S3).

Line 9의 조건문에서 후보 룩어헤드 포인트와 기준 룩어헤드 포인트 간의 거리()가 임계치(τ) 이상이거나, 또는 후보 룩어헤드 포인트의 예상 위치의 x 좌표의 분산이 임계치(χ) 이상이거나, 또는 후보 룩어헤드 포인트의 예상 위치의 y 좌표의 분산이 임계치(χ) 이상인 경우, Line 10에서 기준 룩어헤드 포인트에 따라 차량 제어 정보를 결정하고 Line 11 에서 해당 주행 가능 영역(si), 기준 룩어헤드 포인트(aexp, i) 및 거리()를 추가 학습 데이터로 획득한다.In the conditional statement in Line 9, the distance between the candidate lookahead point and the reference lookahead point ( ) is greater than or equal to the threshold (τ), or the variance of the x coordinate of the expected position of the candidate lookahead point is greater than or equal to the threshold (χ), or the variance of the y coordinate of the expected position of the candidate lookahead point is greater than or equal to the threshold (χ). , In Line 10, vehicle control information is determined according to the reference look-ahead point, and in Line 11, the corresponding drivable area (s i ), reference look-ahead point (a exp, i ), and distance ( ) is acquired as additional learning data.

Line 9의 조건문이 만족되지 않은 경우, Line 14에서 후보 룩어헤드 포인트에 의해 차량 제어 정보를 결정하고, Line 15에서 후보 룩어헤드 포인트에 의한 제어 횟수 카운트(nnet)를 증가시킨다.If the conditional statement in Line 9 is not satisfied, vehicle control information is determined based on the candidate lookahead point in Line 14, and the control count (n net ) by the candidate lookahead point is increased in Line 15.

Line 15에서 전체 제어 횟수 카운트(n-tot)를 증가시킨다.In Line 15, the total control count (n- tot ) is increased.

Line 4 및 Line 18에 의하여 Line 5-17을 반복한다.Repeat Lines 5-17 by Line 4 and Line 18.

Line 19에서 전체 제어 횟수 카운트 대비 후보 룩어헤드 포인트에 의한 제어 횟수 카운트의 비율을 계산하고, Line 20에서 추가 학습 데이터(Dk) 및 비율()을 반환한다.In Line 19, the ratio of the control number count by the candidate lookahead point to the total control number count is calculated, and in Line 20, the additional learning data (Dk) and ratio ( ) returns.

도 8은 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법에 의한 록어헤드 포인트 결정을 설명하기 위한 예시도이다.FIG. 8 is an example diagram illustrating determination of a lock-ahead point by an autonomous driving method for an unstructured driving environment according to an embodiment.

도 8의 좌측 점선 박스와 그 하단의 이미지는 주행 정책 네트워크가 결정한 후보 룩어헤드 포인트에 따라 제어된 경우의 예시이다. 기준 룩어헤드 포인트와 후보 룩어헤드 포인트 간의 거리가 파란색 원으로 표시된 임계 거리보다 작고, 십자가로 표시된 후보 룩어헤드 포인트의 분산이 점선 십자가로 표시된 임계 분산보다 작으므로 도 7을 참조하여 Line 14-15가 수행된 결과이다.The dotted box on the left and the image below in Figure 8 are examples of control based on the candidate lookahead point determined by the driving policy network. Since the distance between the reference lookahead point and the candidate lookahead point is less than the critical distance indicated by the blue circle, and the variance of the candidate lookahead point indicated by the cross is less than the critical variance indicated by the dotted cross, referring to Figure 7, Lines 14-15 are This is the result of the execution.

도 8의 우측 점선 박스와 그 하단의 두 개의 이미지는 기준 룩어헤드 포인트에 따라 제어된 경우의 예시들이다. 도 7을 참조하여 Line 9의 조건이 만족되어 Line 10-11이 수행된 결과이다.The dotted box on the right of FIG. 8 and the two images below it are examples of cases controlled according to the reference lookahead point. Referring to FIG. 7, this is the result of Line 10-11 being performed when the conditions of Line 9 are satisfied.

도 9는 실시예에 따른 비-구조화된 주행 환경을 위한 자율 주행 방법의 일 과정의 예시적인 의사 코드이다.9 is an example pseudocode of one step of an autonomous driving method for an unstructured driving environment according to an embodiment.

도 9는 추가 학습 데이터의 주행 가능 영역과 학습 데이터 세트의 나머지 학습 데이터의 주행 가능 영역 간의 유사도에 따라, 추가 학습 데이터에 기반하여 나머지 학습 데이터를 갱신하는 단계를 설명하기 위한 도면이다.FIG. 9 is a diagram illustrating a step of updating the remaining learning data based on the additional learning data according to the similarity between the drivable area of the additional learning data and the drivable area of the remaining learning data of the learning data set.

도 9에 도시된 의사 코드에서, 도 6에 도시된 DAgger를 참조하여 단계(S2) 내지 단계(S4)를 수행하면서 얻은 추가 학습 데이터(Dk)에 존재하는 를 이용하여, 기존 학습 데이터 세트(D)에 존재하는 를 업데이트한다.In the pseudo code shown in FIG. 9, the additional learning data D k obtained while performing steps S2 to S4 with reference to the DAgger shown in FIG. 6 Using the existing learning data set (D), Update .

일 예에서 점유 격자 지도 간의 유사도는 SSIM(Structural Similarity Index)을 이용하여 계산할 수 있다.In one example, similarity between occupancy grid maps can be calculated using the Structural Similarity Index (SSIM).

Line 4에서 Dk의 점유 격자 지도( )와 D의 점유 격자 지도( ) 간 유사도( )가 임계값 ( ) 보다 더 높은 경우에, Line 5-9에서 업데이트 과정이 진행된다. 만약, Dk의 거리값인 가 D의 거리값인 보다 크면, 로 업데이트된다. 반대인 경우에는 로 업데이트된다.Occupancy grid map of Dk in Line 4 ( ) and occupancy grid maps of D ( ) Similarity between ( ) is the threshold ( ), the update process takes place in Line 5-9. If the distance value of D k is is the distance value of D If it is greater than go is updated with In the opposite case go is updated with

도 10은 실시예에 따른 학습 데이터 갱신을 설명하기 위한 예시도이다. 도 9에 도시된 의사코드에 따라 점유 격자 지도 간의 유사도에 기반하여 학습 데이터의 거리()를 업데이트하는 두 가지 예시를 보여준다.Figure 10 is an example diagram for explaining learning data update according to an embodiment. According to the pseudocode shown in Figure 9, the distance of the learning data ( ) shows two examples of updating.

실시예에 의하면, 다양하고 복잡한 환경에서 취득한 주행 데이터로 딥 뉴럴 네트워크를 훈련함으로써 비-구조화된 환경에서의 자율 주행의 한계점들을 개선할 수 있다. 모방 학습의 행동으로 룩어헤드 포인트를 사용함으로써, 자율 주행에 전문가의 행동을 정확히 따라 하기 위한 모방 학습 반복 알고리즘을 적용할 수 있다.According to an embodiment, limitations of autonomous driving in an unstructured environment can be improved by training a deep neural network with driving data acquired in various and complex environments. By using the look-ahead point as an imitation learning action, an imitation learning iterative algorithm can be applied to autonomous driving to accurately imitate the actions of an expert.

또한, 네트워크가 구한 룩어헤드 포인트와 전문가 룩어헤드 포인트 간 길이 차이를 훈련에 반영함으로써, 모방 학습을 반복하는 기존 알고리즘 보다 반복 횟수가 덜 필요한 알고리즘을 제공한다. 이로써, 같은 데이터 생성 시간과 노력으로, 더 다양하고 많은 환경에 대한 학습이 가능하여 자율 주행의 안전성을 높일 수 있다.In addition, by reflecting the length difference between the look-ahead point obtained by the network and the expert look-ahead point in training, it provides an algorithm that requires fewer repetitions than the existing algorithm that repeats imitation learning. As a result, it is possible to learn about more diverse environments with the same data generation time and effort, thereby improving the safety of autonomous driving.

전술한 본 발명의 일 실시예에 따른 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.The method according to an embodiment of the present invention described above can be implemented as computer-readable code on a medium on which a program is recorded. Computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is.

이상 설명된 본 발명의 실시예에 대한 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the embodiments of the present invention described above is for illustrative purposes, and a person skilled in the art to which the present invention pertains can easily transform it into another specific form without changing the technical idea or essential features of the present invention. You will be able to understand that Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as unitary may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention.

100: 비-구조화된 주행 환경을 위한 자율 주행 장치
110: 프로세서
120: 메모리
100: Autonomous driving device for unstructured driving environments
110: processor
120: memory

Claims (20)

비-구조화된 주행 환경을 위한 자율 주행 방법에 있어서,
입력 영상으로부터 차량의 주행 가능 영역을 결정하는 단계;
주행 정책 네트워크를 이용하여 상기 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하는 단계;
상기 후보 룩어헤드 포인트 및 상기 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 상기 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하는 단계; 및
결정된 상기 룩어헤드 포인트에 기반하여 상기 주행 정책 네트워크를 훈련하는 단계를 포함하고,
상기 주행 정책 네트워크는 상기 주행 가능 영역을 입력 데이터로 하여 상기 후보 룩어헤드 포인트의 예상 위치 정보를 출력하도록 구성된 인공 신경망을 포함하며,
상기 후보 룩어헤드 포인트의 예상 위치 정보는 상기 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 포함하고,
상기 주행 정책 네트워크는,
상기 주행 가능 영역의 특징 맵을 추출하는 인코더 계층; 및
상기 특징 맵으로부터 상기 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하는 완전 연결 계층(Fully Connected Layer)을 포함하는,
비-구조화된 주행 환경을 위한 자율 주행 방법.
In an autonomous driving method for an unstructured driving environment,
Determining a drivable area of a vehicle from an input image;
determining a candidate lookahead point for the drivable area using a driving policy network;
determining a lookahead point corresponding to a target arrival point of the vehicle based on the candidate lookahead point and a reference lookahead point for the drivable area; and
Comprising training the driving policy network based on the determined lookahead point,
The driving policy network includes an artificial neural network configured to output expected location information of the candidate lookahead point using the drivable area as input data,
The expected position information of the candidate lookahead point includes the mean and variance of the expected position of the candidate lookahead point,
The driving policy network is,
an encoder layer that extracts a feature map of the drivable area; and
Comprising a fully connected layer that outputs the average and variance of the expected position of the candidate lookahead point from the feature map,
Autonomous driving method for unstructured driving environments.
제 1 항에 있어서,
상기 입력 영상은 상기 차량의 주행 방향 이미지에 대한 조감도(bird’s eye view)인,
비-구조화된 주행 환경을 위한 자율 주행 방법.
According to claim 1,
The input image is a bird's eye view of the driving direction image of the vehicle,
Autonomous driving method for unstructured driving environments.
제 1 항에 있어서,
상기 주행 가능 영역을 결정하는 단계는,
상기 입력 영상에 기반하여 주행 가능 영역 인식 네트워크를 실행하는 단계
를 포함하고,
상기 주행 가능 영역 인식 네트워크는 상기 입력 영상을 입력 데이터로 하여 상기 입력 영상을 상기 주행 가능 영역 또는 주행 불가능 영역으로 분류하는 인공 신경망 기반 네트워크인,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 1,
The step of determining the drivable area is,
Executing a drivable area recognition network based on the input image
Including,
The drivable area recognition network is an artificial neural network-based network that uses the input image as input data and classifies the input image into the drivable area or the non-drivable area.
Autonomous driving method for unstructured driving environment.
제 3 항에 있어서,
상기 주행 가능 영역을 결정하는 단계는,
상기 입력 영상을 상기 주행 가능 영역을 표시한 격자 점유 지도(Occupancy Grid Map)로 변환하는 단계
를 더 포함하는,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 3,
The step of determining the drivable area is,
Converting the input image into an Occupancy Grid Map indicating the drivable area
Containing more,
Autonomous driving method for unstructured driving environment.
삭제delete 삭제delete 제 1 항에 있어서,
상기 후보 룩어헤드 포인트의 예상 위치 정보는 상기 룩어헤드 포인트의 예상 위치의 평균 및 분산을 포함하고,
상기 룩어헤드 포인트를 결정하는 단계는,
상기 후보 룩어헤드 포인트의 예상 위치의 평균과 상기 기준 룩어헤드 포인트의 위치 간의 거리가 소정의 임계 거리보다 크거나 또는 상기 후보 룩어헤드 포인트의 예상 위치의 분산이 소정의 임계 분산보다 큰 경우, 상기 기준 룩어헤드 포인트를 상기 룩어헤드 포인트로 결정하는 단계; 및
상기 주행 가능 영역, 상기 기준 룩어헤드 포인트 및 상기 거리를 상기 주행 가능 영역에 대한 학습 데이터로 저장하는 단계
를 포함하는,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 1,
The expected location information of the candidate lookahead point includes the average and variance of the expected location of the lookahead point,
The step of determining the look-ahead point is,
If the distance between the average of the expected positions of the candidate lookahead points and the position of the reference lookahead point is greater than a predetermined threshold distance or the variance of the expected positions of the candidate lookahead points is greater than the predetermined threshold variance, the reference determining a lookahead point as the lookahead point; and
Storing the drivable area, the reference look-ahead point, and the distance as learning data for the drivable area.
Including,
Autonomous driving method for unstructured driving environment.
제 1 항에 있어서,
상기 주행 정책 네트워크를 훈련하는 단계는,
결정된 상기 룩어헤드 포인트를 상기 주행 가능 영역에 대한 룩어헤드 포인트 결정을 위한 추가 학습 데이터로 상기 주행 정책 네트워크의 학습 데이터 세트에 추가하는 단계; 및
상기 학습 데이터 세트 상에서 소정의 손실 함수를 이용하여 상기 주행 정책 네트워크의 가중치를 조정하는 단계
를 포함하는,
비-구조화된 주행 환경을 위한 자율 주행 방법.
According to claim 1,
The step of training the driving policy network is,
adding the determined look-ahead point to a learning data set of the driving policy network as additional learning data for determining the look-ahead point for the drivable area; and
Adjusting the weights of the driving policy network using a predetermined loss function on the learning data set
Including,
Autonomous driving method for unstructured driving environments.
제 8 항에 있어서,
상기 소정의 손실 함수는, 상기 기준 룩어헤드 포인트 및 상기 후보 룩어헤드 포인트 간의 거리에 기반하여 가중되는 가중치 손실 함수(weighted loss function)인,
비-구조화된 주행 환경을 위한 자율 주행 방법.
According to claim 8,
The predetermined loss function is a weighted loss function that is weighted based on the distance between the reference lookahead point and the candidate lookahead point.
Autonomous driving method for unstructured driving environments.
제 8 항에 있어서,
상기 주행 정책 네트워크의 학습 데이터는 주행 가능 영역, 상기 기준 룩어헤드 포인트, 및 상기 기준 룩어헤드 포인트와 상기 후보 룩어헤드 포인트 간의 거리를 포함하고,
상기 자율 주행 방법은,
상기 추가 학습 데이터의 주행 가능 영역과 상기 학습 데이터 세트의 나머지 학습 데이터의 주행 가능 영역 간의 유사도에 따라, 상기 추가 학습 데이터에 기반하여 상기 나머지 학습 데이터를 갱신하는 단계
를 더 포함하는,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 8,
The learning data of the driving policy network includes a drivable area, the reference lookahead point, and the distance between the reference lookahead point and the candidate lookahead point,
The autonomous driving method is,
updating the remaining learning data based on the additional learning data, according to the similarity between the drivable area of the additional learning data and the drivable area of the remaining learning data of the learning data set.
Containing more,
Autonomous driving method for unstructured driving environment.
제 1 항에 있어서,
일련의 입력 영상에 기반하여 상기 주행 가능 영역을 결정하는 단계, 상기 후보 룩어헤드 포인트를 결정하는 단계, 상기 룩어헤드 포인트를 결정하는 단계 및 상기 주행 정책 네트워크를 훈련하는 단계를 반복적으로 수행하는 단계
를 더 포함하는,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 1,
repeatedly performing the steps of determining the drivable area based on a series of input images, determining the candidate lookahead point, determining the lookahead point, and training the driving policy network.
Containing more,
Autonomous driving method for unstructured driving environment.
제 1 항에 있어서,
상기 룩어헤드 포인트에 도달하도록 상기 차량을 제어하기 위한 주행 제어 정보를 결정하는 단계
를 더 포함하는,
비-구조화된 주행 환경에 대한 자율 주행 방법.
According to claim 1,
determining driving control information for controlling the vehicle to reach the lookahead point.
Containing more,
Autonomous driving method for unstructured driving environment.
비-구조화된 주행 환경을 위한 자율 주행 장치에 있어서,
프로세서; 및
적어도 하나의 명령어를 저장하는 메모리
를 포함하고, 상기 적어도 하나의 명령어는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
입력 영상으로부터 차량의 주행 가능 영역을 결정하고,
주행 정책 네트워크를 이용하여 상기 주행 가능 영역에 대한 후보 룩어헤드 포인트를 결정하고,
상기 후보 룩어헤드 포인트 및 상기 주행 가능 영역에 대한 기준 룩어헤드 포인트에 기반하여 상기 차량의 목표 도달점에 대응하는 룩어헤드 포인트를 결정하고,
결정된 상기 룩어헤드 포인트에 기반하여 상기 주행 정책 네트워크를 훈련하도록 구성되며,
상기 주행 정책 네트워크는 상기 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하고,
상기 주행 정책 네트워크는,
상기 주행 가능 영역의 특징 맵을 추출하는 인코더 계층; 및
상기 특징 맵으로부터 상기 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하는 완전 연결 계층(Fully Connected Layer)을 포함하는
비-구조화된 주행 환경을 위한 자율 주행 장치.
In an autonomous driving device for an unstructured driving environment,
processor; and
Memory that stores at least one instruction
Includes, when the at least one instruction is executed by the processor, causes the processor to:
Determine the drivable area of the vehicle from the input image,
Determine a candidate look-ahead point for the drivable area using a driving policy network,
Determine a lookahead point corresponding to the target arrival point of the vehicle based on the candidate lookahead point and a reference lookahead point for the drivable area,
Configured to train the driving policy network based on the determined look-ahead point,
The driving policy network outputs the mean and variance of the expected location of the candidate lookahead point,
The driving policy network is,
an encoder layer that extracts a feature map of the drivable area; and
A fully connected layer that outputs the average and variance of the expected position of the lookahead point from the feature map.
Autonomous driving devices for unstructured driving environments.
제 13 항에 있어서,
상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 주행 가능 영역을 결정하기 위하여,
상기 입력 영상에 기반하여 주행 가능 영역 인식 네트워크를 실행하도록 구성되고,
상기 주행 가능 영역 인식 네트워크는 상기 입력 영상을 입력 데이터로 하여 상기 입력 영상을 상기 주행 가능 영역 또는 주행 불가능 영역으로 분류하는 인공 신경망 기반 네트워크인,
비-구조화된 주행 환경에 대한 자율 주행 장치.
According to claim 13,
When the at least one instruction is executed by the processor, it causes the processor to:
In order to determine the drivable area,
Configured to run a drivable area recognition network based on the input image,
The drivable area recognition network is an artificial neural network-based network that uses the input image as input data and classifies the input image into the drivable area or the non-drivable area.
Autonomous driving devices for unstructured driving environments.
삭제delete 제 13 항에 있어서,
상기 주행 정책 네트워크는 상기 후보 룩어헤드 포인트의 예상 위치의 평균 및 분산을 출력하고,
상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 룩어헤드 포인트를 결정하기 위하여,
상기 후보 룩어헤드 포인트의 예상 위치의 평균과 상기 기준 룩어헤드 포인트의 위치 간의 거리가 소정의 임계 거리보다 크거나 또는 상기 후보 룩어헤드 포인트의 예상 위치의 분산이 소정의 임계 분산보다 큰 경우, 상기 기준 룩어헤드 포인트를 상기 룩어헤드 포인트로 결정하고,
상기 주행 가능 영역, 상기 기준 룩어헤드 포인트 및 상기 거리를 상기 주행 가능 영역에 대한 학습 데이터로 저장하도록 구성되는,
비-구조화된 주행 환경에 대한 자율 주행 장치.
According to claim 13,
The driving policy network outputs the mean and variance of the expected location of the candidate lookahead point,
When the at least one instruction is executed by the processor, it causes the processor to:
To determine the look-ahead point,
If the distance between the average of the expected positions of the candidate lookahead points and the position of the reference lookahead point is greater than a predetermined threshold distance or the variance of the expected positions of the candidate lookahead points is greater than the predetermined threshold variance, the reference Determine the look-ahead point as the look-ahead point,
Configured to store the drivable area, the reference look-ahead point, and the distance as learning data for the drivable area,
Autonomous driving devices for unstructured driving environments.
제 13 항에 있어서,
상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 주행 정책 네트워크를 훈련하기 위하여,
결정된 상기 룩어헤드 포인트를 상기 주행 가능 영역에 대한 룩어헤드 포인트 결정을 위한 추가 학습 데이터로 상기 주행 정책 네트워크의 학습 데이터 세트에 추가하고,
상기 학습 데이터 세트 상에서 소정의 손실 함수를 이용하여 상기 주행 정책 네트워크의 가중치를 조정하도록 구성되는,
비-구조화된 주행 환경을 위한 자율 주행 장치.
According to claim 13,
When the at least one instruction is executed by the processor, it causes the processor to:
To train the driving policy network,
Adding the determined look-ahead point to the learning data set of the driving policy network as additional learning data for determining the look-ahead point for the drivable area,
Configured to adjust the weights of the driving policy network using a predetermined loss function on the learning data set,
Autonomous driving devices for unstructured driving environments.
제 17 항에 있어서,
상기 주행 정책 네트워크의 학습 데이터는 주행 가능 영역, 상기 기준 룩어헤드 포인트 및 상기 기준 룩어헤드 포인트와 상기 후보 룩어헤드 포인트 간의 거리를 포함하고,
상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 추가 학습 데이터의 주행 가능 영역과 상기 학습 데이터 세트의 나머지 학습 데이터의 주행 가능 영역 간의 유사도에 따라, 상기 추가 학습 데이터에 기반하여 상기 나머지 학습 데이터를 갱신하도록 구성된,
비-구조화된 주행 환경에 대한 자율 주행 장치.
According to claim 17,
The learning data of the driving policy network includes a drivable area, the reference lookahead point, and the distance between the reference lookahead point and the candidate lookahead point,
When the at least one instruction is executed by the processor, it causes the processor to:
configured to update the remaining learning data based on the additional learning data, according to the similarity between the drivable area of the additional learning data and the drivable area of the remaining learning data of the learning data set,
Autonomous driving devices for unstructured driving environments.
제 13 항에 있어서,
상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
일련의 입력 영상에 기반하여 상기 주행 가능 영역 결정, 상기 후보 룩어헤드 포인트 결정, 상기 룩어헤드 포인트 결정 및 상기 주행 정책 네트워크 훈련을 반복적으로 수행하도록 구성된,
비-구조화된 주행 환경에 대한 자율 주행 장치.
According to claim 13,
When the at least one instruction is executed by the processor, it causes the processor to:
Configured to repeatedly perform the driving area determination, the candidate look-ahead point determination, the look-ahead point determination, and the driving policy network training based on a series of input images,
Autonomous driving devices for unstructured driving environments.
제 1 항 내지 제 4 항 및 제 7 항 내지 제 12 항 중 어느 한 항에 따른 비-구조화된 주행 환경에 대한 자율 주행 방법을 프로세서에 의해 실행하도록 구성된 적어도 하나의 명령어를 포함한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 비-일시적 기록 매체.Stored a computer program including at least one instruction configured to execute, by a processor, an autonomous driving method for an unstructured driving environment according to any one of claims 1 to 4 and 7 to 12. A computer-readable, non-transitory recording medium.
KR1020210139819A 2021-09-30 2021-10-19 Method and apparatus for autonomous driving for unstructured environments KR102600238B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210130021 2021-09-30
KR20210130021 2021-09-30

Publications (2)

Publication Number Publication Date
KR20230046909A KR20230046909A (en) 2023-04-06
KR102600238B1 true KR102600238B1 (en) 2023-11-10

Family

ID=85918062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210139819A KR102600238B1 (en) 2021-09-30 2021-10-19 Method and apparatus for autonomous driving for unstructured environments

Country Status (1)

Country Link
KR (1) KR102600238B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020068515A (en) * 2018-10-26 2020-04-30 株式会社デンソー Image processing apparatus
KR102164800B1 (en) * 2019-10-21 2020-10-14 인천대학교 산학협력단 Artificial intelligence based moving path generation device using an around view monitoring system and operating method thereof
JP2021056608A (en) * 2019-09-27 2021-04-08 株式会社デンソー Occupancy grid map generation device, occupancy grid map generation system, occupancy grid map generation method, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007269B1 (en) * 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
KR102124553B1 (en) * 2018-06-25 2020-06-18 군산대학교 산학협력단 Method and apparatus for collision aviodance and autonomous surveillance of autonomous mobile vehicle using deep reinforcement learning
KR20200130091A (en) * 2019-05-10 2020-11-18 한국전자통신연구원 Method and apparatus for obstacle avoidance path generation of robot using deep learning
KR20210074488A (en) * 2019-12-12 2021-06-22 한국전자통신연구원 Method for generating guide lane for autonomous driving under atypical environment and system thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020068515A (en) * 2018-10-26 2020-04-30 株式会社デンソー Image processing apparatus
JP2021056608A (en) * 2019-09-27 2021-04-08 株式会社デンソー Occupancy grid map generation device, occupancy grid map generation system, occupancy grid map generation method, and program
KR102164800B1 (en) * 2019-10-21 2020-10-14 인천대학교 산학협력단 Artificial intelligence based moving path generation device using an around view monitoring system and operating method thereof

Also Published As

Publication number Publication date
KR20230046909A (en) 2023-04-06

Similar Documents

Publication Publication Date Title
US20200074230A1 (en) Automatically generating training data for a lidar using simulated vehicles in virtual space
US11592818B2 (en) Restricted multi-scale inference for machine learning
US10963738B2 (en) Method for processing input on basis of neural network learning and apparatus therefor
JP2022516383A (en) Autonomous vehicle planning
JP7469237B2 (en) Instance segmentation inferred from the output of a machine learning model
JP2021515724A (en) LIDAR positioning to infer solutions using 3DCNN network in self-driving cars
KR102313119B1 (en) Learning method and learning device for attention-driven image segmentation by using at least one adaptive loss weight map to be used for updating hd maps required to satisfy level 4 of autonomous vehicles and testing method and testing device using the same
CN111971574A (en) Deep learning based feature extraction for LIDAR localization of autonomous vehicles
JP2020119527A (en) Method and device for lane detection of one or more lanes included in input image without post-processing by using lane mask, and testing method and testing device using the same
KR102396274B1 (en) Method and device for attention-driven resource allocation by using reinforcement learning and v2x communication to thereby achieve safety of autonomous driving
CN112015847A (en) Obstacle trajectory prediction method and device, storage medium and electronic equipment
KR102321004B1 (en) Learning method and learning device for switching modes of autonomous vehicle based on on-device standalone prediction to thereby achieve safety of autonomous driving, and testing method and testing device using the same
KR102320999B1 (en) Learning method and learning device for removing jittering on video acquired through shaking camera by using a plurality of neural networks for fault tolerance and fluctuation robustness in extreme situations, and testing method and testing device using the same
KR102252155B1 (en) Learning method and learning device for segmenting an image having one or more lanes by using embedding loss to support collaboration with hd maps required to satisfy level 4 of autonomous vehicles and softmax loss, and testing method and testing device using the same
CN111507160A (en) Method and apparatus for integrating travel images acquired from vehicles performing cooperative driving
Sales et al. Vision-based autonomous navigation system using ann and fsm control
CN113128381A (en) Obstacle trajectory prediction method, system and computer storage medium
Almási et al. Robust reinforcement learning-based autonomous driving agent for simulation and real world
KR102309705B1 (en) Learning method, learning device for detecting lanes on the basis of cnn and testing method, testing device using the same
KR20200095357A (en) Learning method and learning device for heterogeneous sensor fusion by using merging network which learns non-maximum suppression
KR102600238B1 (en) Method and apparatus for autonomous driving for unstructured environments
KR102342414B1 (en) Apparatus and method for virtual lane generation based on traffic flow for autonomous driving in severe weather condition
KR20230047040A (en) Vision based autonomous driving device and method of operation thereof
US10373004B1 (en) Method and device for detecting lane elements to plan the drive path of autonomous vehicle by using a horizontal filter mask, wherein the lane elements are unit regions including pixels of lanes in an input image
CN111975775A (en) Autonomous robot navigation method and system based on multi-angle visual perception

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant