KR102297578B1 - Method of controlling autonomous driving of moving object and apparatuses performing the same - Google Patents

Method of controlling autonomous driving of moving object and apparatuses performing the same Download PDF

Info

Publication number
KR102297578B1
KR102297578B1 KR1020200072492A KR20200072492A KR102297578B1 KR 102297578 B1 KR102297578 B1 KR 102297578B1 KR 1020200072492 A KR1020200072492 A KR 1020200072492A KR 20200072492 A KR20200072492 A KR 20200072492A KR 102297578 B1 KR102297578 B1 KR 102297578B1
Authority
KR
South Korea
Prior art keywords
driving
moving object
image
autonomous driving
control information
Prior art date
Application number
KR1020200072492A
Other languages
Korean (ko)
Other versions
KR20210057649A (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 KR20210057649A publication Critical patent/KR20210057649A/en
Application granted granted Critical
Publication of KR102297578B1 publication Critical patent/KR102297578B1/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
    • 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/14Adaptive cruise control
    • 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
    • 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/10Estimation 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 vehicle motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control

Abstract

이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 이동체의 자율 주행 제어 방법은 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하는 단계와, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하는 단계와, 상기 전방 주행 이미지 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계를 포함한다.Disclosed are a method for controlling autonomous driving of a moving object and apparatuses for performing the same. A method for controlling autonomous driving of a moving object according to an embodiment includes the steps of: obtaining a driving image in which the inside and outside of the moving object are photographed; , generating autonomous driving control information for controlling the driving of the moving object based on the forward driving image and the driving speed.

Description

이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들{METHOD OF CONTROLLING AUTONOMOUS DRIVING OF MOVING OBJECT AND APPARATUSES PERFORMING THE SAME}A method for autonomous driving control of a moving object and devices for performing the same

아래 실시예들은 이동체의 자율 주행 제어 방법 및 이를 수행하는 장치들에 관한 것이다.The following embodiments relate to a method for controlling autonomous driving of a moving object and apparatuses for performing the same.

최근에는 4차 산업혁명의 핵심으로 평가받고 있는 인공지능 기술, 특히 이미지를 빠르게 처리할 수 있는 합성곱 신경망(Convolutional Neural Network, CNN)의 등장으로 컴퓨터 비전과 관련된 다양한 산업이 발달하고 있다. 3차원 Convolution 연산을 하는 CNN의 특성은 인간의 시신경을 모방하여 컴퓨터 비전 산업을 크게 발전시켰고, 이미지를 처리해야하는 다양한 산업의 발달을 촉진하게 되었다.Recently, various industries related to computer vision are developing with the advent of artificial intelligence technology, which is evaluated as the core of the 4th industrial revolution, in particular, a convolutional neural network (CNN) that can process images quickly. The characteristics of CNN that perform 3D convolution operation have greatly developed the computer vision industry by mimicking the human optic nerve, and has promoted the development of various industries that need to process images.

특히, 최근에는 이미지를 처리하는 다양한 산업 중에서 자율주행 시스템 개발에 인공지능을 접목하여 다양한 연구가 진행되고 있다. 이미 google, NVIDIA, BMW 등 많은 대기업에서는 자율주행 시스템 개발을 오래전부터 진행해왔다. 기존 자율주행 시스템의 방식은 비싼 레이더, 라이다(LiDAR)와 같은 센서에 크게 의존해 왔고, 수집된 센서 데이터로부터 주행 방안을 결정하는 많은 연산량과 알고리즘을 필요로 했다.In particular, in recent years, among various industries that process images, various studies are being conducted by applying artificial intelligence to the development of autonomous driving systems. Many large companies, such as Google, NVIDIA, and BMW, have already been developing autonomous driving systems for a long time. Existing autonomous driving systems have largely relied on sensors such as expensive radar and LiDAR, and required a lot of computation and algorithms to determine the driving method from the collected sensor data.

하지만, 최근에는 NVIDIA에서 발표한 논문과 더불어 다양한 연구에서 종단간 학습 방식(End-to-End Learning)을 활용한 연구가 등장하고 있다. 종단간 학습 방식을 이용하는 경우에는 입력 영상을 한 번의 신경망에 통과시켜 주행 방안(스티어링 휠 등)을 출력으로 얻을 수 있다. 이때, 스티어링 휠은 차량의 운전대(또는 핸들)일 수 있다.However, recently, in addition to the papers published by NVIDIA, studies using the end-to-end learning method are emerging in various studies. In the case of using the end-to-end learning method, a driving plan (steering wheel, etc.) can be obtained as an output by passing an input image through a neural network once. In this case, the steering wheel may be a steering wheel (or steering wheel) of the vehicle.

실시예들은 이동체의 주행 이미지에 포함된 이동체의 전방 주행 이미지 및 이동체의 주행 속도를 이용하여 종단간 학습 방식을 통해 이동체의 자율 주행을 제어하기 위한 자율 주행 제어 정보를 생성할 수 있다.Embodiments may generate autonomous driving control information for controlling autonomous driving of the moving object through an end-to-end learning method using the forward driving image of the moving object and the moving speed of the moving object included in the moving image of the moving object.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems are not limited to the above-described technical problems, and other technical problems may exist.

일 실시예에 따른 이동체의 자율 주행 제어 방법은 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하는 단계와, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하는 단계와, 상기 전방 주행 이미지 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계를 포함한다.A method for controlling autonomous driving of a moving object according to an embodiment includes the steps of: obtaining a driving image in which the inside and outside of the moving object are photographed; , generating autonomous driving control information for controlling the driving of the moving object based on the forward driving image and the driving speed.

상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭될 수 있다.The driving image may include or match information on the date and time the driving image was captured.

상기 생성하는 단계는 CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하는 단계와, 상기 특징 맵 및 상기 주행 속도를 이용하여 상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계를 포함할 수 있다.The generating may include generating a feature map for the forward driving image through a Convolutional Neural Network (CNN)-Long Short-term Memory (LSTM) convergence network, and the CNN using the feature map and the driving speed. - Generating the autonomous driving control information through the LSTM convergence network.

상기 특징 맵을 생성하는 단계는 상기 CNN-LSTM 융합 네트워크를 구성하는 CNN에 상기 전방 주행 이미지를 입력하여 상기 전방 주행 이미지의 특징을 추출하는 단계와, 상기 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 상기 전방 주행 이미지의 특징을 입력하여 상기 특징 맵을 생성하는 단계를 포함할 수 있다.The generating of the feature map includes the steps of inputting the forward driving image to a CNN constituting the CNN-LSTM convergence network and extracting features of the forward driving image; and generating the feature map by inputting features of the forward driving image.

상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계는 상기 이동체에 대한 과거 주행 이미지에 대응하는 과거 특징 맵이 있는지 여부에 기초하여 상기 자율 주행 제어 정보 생성시 상기 과거 특징 맵을 반영하는 단계를 포함할 수 있다.The generating of the autonomous driving control information through the CNN-LSTM convergence network reflects the past feature map when generating the autonomous driving control information based on whether there is a past feature map corresponding to the past driving image of the moving object. may include the step of

상기 과거 주행 이미지는 상기 주행 이미지가 촬영된 시간 직전에 촬영된 주행 이미지일 수 있다.The past driving image may be a driving image taken just before the time at which the driving image was captured.

상기 자율 주행 제어 정보는 상기 이동체의 주행 방향을 제어하기 위한 주행 방향 파라미터 및 상기 이동체의 주행 속도를 제어하기 위한 주행 속도 파라미터를 포함할 수 있다.The autonomous driving control information may include a traveling direction parameter for controlling the traveling direction of the moving object and a traveling speed parameter for controlling the traveling speed of the moving object.

상기 주행 방향 파라미터는 상기 이동체의 스티어링 휠 각도 값일 수 있다.The driving direction parameter may be a steering wheel angle value of the mobile body.

상기 주행 속도 파라미터는 상기 이동체의 액셀러레이터(accelerator) 값 및 브레이크(break) 값일 수 있다.The traveling speed parameter may be an accelerator value and a break value of the moving object.

상기 자율 주행 제어 방법은 상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는 단계를 더 포함할 수 있다.The autonomous driving control method may further include controlling the driving of the moving object based on the autonomous driving control information.

일 실시예에 따른 이동체의 자율 주행을 제어하는 장치는 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 컨트롤러를 포함하고, 상기 컨트롤러는 상기 이동체의 내부 및 외부가 촬영된 주행 이미지를 획득하고, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하고, 상기 전방 주행 이미지 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성한다.An apparatus for controlling autonomous driving of a moving object according to an embodiment includes a memory including instructions and a controller for executing the instructions, wherein the controller acquires a driving image in which the inside and outside of the moving object are photographed, The forward driving image of the moving object and the traveling speed of the moving object are extracted from the driving image, and autonomous driving control information for controlling the traveling of the moving object is generated based on the forward traveling image and the traveling speed.

상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭될 수 있다.The driving image may include or match information on the date and time the driving image was captured.

상기 컨트롤러는 CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하고, 상기 특징 맵 및 상기 주행 속도를 이용하여 상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성할 수 있다.The controller generates a feature map for the forward driving image through a Convolutional Neural Network (CNN)-Long Short-term Memory (LSTM) convergence network, and the CNN-LSTM convergence network using the feature map and the driving speed may generate the autonomous driving control information.

상기 컨트롤러는 상기 CNN-LSTM 융합 네트워크를 구성하는 CNN에 상기 전방 주행 이미지를 입력하여 상기 전방 주행 이미지의 특징을 추출하고, 상기 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 상기 전방 주행 이미지의 특징을 입력하여 상기 특징 맵을 생성할 수 있다.The controller inputs the forward driving image to the CNN constituting the CNN-LSTM convergence network to extract the features of the forward driving image, and inputs the features of the forward driving image to the LSTM constituting the CNN-LSTM convergence network. to generate the feature map.

상기 컨트롤러는 상기 이동체에 대한 과거 주행 이미지에 대응하는 과거 특징 맵이 있는지 여부에 기초하여 상기 자율 주행 제어 정보 생성시 상기 과거 특징 맵을 반영할 수 있다.The controller may reflect the past feature map when generating the autonomous driving control information based on whether there is a past feature map corresponding to the past driving image of the moving object.

상기 과거 주행 이미지는 상기 주행 이미지가 촬영된 시간 직전에 촬영된 주행 이미지일 수 있다.The past driving image may be a driving image taken just before the time at which the driving image was captured.

상기 자율 주행 제어 정보는 상기 이동체의 주행 방향을 제어하기 위한 주행 방향 파라미터 및 상기 이동체의 주행 속도를 제어하기 위한 주행 속도 파라미터를 포함할 수 있다.The autonomous driving control information may include a traveling direction parameter for controlling the traveling direction of the moving object and a traveling speed parameter for controlling the traveling speed of the moving object.

상기 주행 방향 파라미터는 상기 이동체의 스티어링 휠 각도 값일 수 있다.The driving direction parameter may be a steering wheel angle value of the mobile body.

상기 주행 속도 파라미터는 상기 이동체의 액셀러레이터(accelerator) 값 및 브레이크(break) 값일 수 있다.The traveling speed parameter may be an accelerator value and a break value of the moving object.

상기 컨트롤러는 상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어할 수 있다.The controller may control the driving of the moving object based on the autonomous driving control information.

도 1은 기존의 차량 자율 주행 제어 시스템의 문제점을 설명하기 위한 일 예를 나타낸다.
도 2는 일 실시예에 따른 자율 주행 시스템의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 이미지 제공 장치가 제공하는 이미지의 일 예를 나타낸다.
도 4는 도 2에 도시된 차량 제어 장치의 개략적인 블록도를 나타낸다.
도 5는 도 4에 도시된 컨트롤러의 추출 동작을 설명하기 위한 일 예를 나타낸다.
도 6a는 도 4에 도시된 컨트롤러의 자율 주행 제어 정보 생성 동작을 설명하기 위한 일 예를 나타낸다.
도 6b는 도 4에 도시된 컨트롤러의 자율 주행 제어 정보 생성 동작을 설명하기 위한 다른 예를 나타낸다.
도 7은 도 4에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 8은 도 7에 도시된 주행 시뮬레이션 학습 모듈의 학습 동작을 설명하기 위한 일 예를 나타낸다.
도 9a는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 일 예를 나타낸다.
도 9b는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 다른 예를 나타낸다.
도 9c는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 또 다른 예를 나타낸다.
도 10은 도 2에 도시된 차량 제어 장치의 동작을 설명하기 위한 순서도를 나타낸다.
1 illustrates an example for explaining a problem of a conventional autonomous vehicle driving control system.
2 shows a schematic block diagram of an autonomous driving system according to an embodiment.
FIG. 3 shows an example of an image provided by the image providing apparatus shown in FIG. 2 .
FIG. 4 is a schematic block diagram of the vehicle control device shown in FIG. 2 .
5 shows an example for explaining the extraction operation of the controller shown in FIG.
FIG. 6A illustrates an example for explaining an operation of generating autonomous driving control information of the controller shown in FIG. 4 .
FIG. 6B illustrates another example for explaining an operation of generating autonomous driving control information of the controller shown in FIG. 4 .
FIG. 7 shows a schematic block diagram of the controller shown in FIG. 4 .
FIG. 8 shows an example for explaining a learning operation of the driving simulation learning module shown in FIG. 7 .
9A illustrates an example for explaining a driving simulation result according to autonomous driving control information.
9B illustrates another example for explaining a driving simulation result according to autonomous driving control information.
9C illustrates another example for explaining a driving simulation result according to autonomous driving control information.
FIG. 10 is a flowchart for explaining the operation of the vehicle control apparatus shown in FIG. 2 .

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for description purposes only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the components from other components, and the essence, order, or order of the components are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, a description described in one embodiment may be applied to another embodiment, and a detailed description in the overlapping range will be omitted.

도 1은 기존의 차량 자율 주행 제어 시스템의 문제점을 설명하기 위한 일 예를 나타낸다.1 illustrates an example for explaining a problem of a conventional autonomous vehicle driving control system.

도 1을 참조하면, 기존의 SAE Level 2 수준의 자율 주행 이동체들은 자율 주행 제어 알고리즘을 통해 복잡한 방식으로 제어될 수 있다. 이때, 이동체는 차량, 바이크, 전기 자전거 등 다양한 이동 수단일 수 있다. 이하에서는 자율 주행 이동체를 자율 주행 차량으로 가정하여 설명하도록 한다.Referring to FIG. 1 , the existing autonomous driving moving objects of the SAE Level 2 level may be controlled in a complex manner through an autonomous driving control algorithm. In this case, the moving body may be various moving means such as a vehicle, a bicycle, or an electric bicycle. Hereinafter, it is assumed that the autonomous driving vehicle is an autonomous driving vehicle.

A 내지 C는 실제 차량을 자율 주행으로 제어하기 위한 자율 주행 제어 알고리즘을 요약한 것으로 실제로는 이보다 더 복잡한 알고리즘이 사용될 수 있다.A to C summarize the autonomous driving control algorithm for controlling an actual vehicle by autonomous driving, and in reality, a more complex algorithm may be used.

A) 기존의 자율 주행 차량은 자율 주행 차량의 LiDAR를 이용해 차량 주변에 존재하는 다양한 객체들의 모양을 확인하고, 자율 주행 차량의 Radar를 이용해 주변 객체들의 속도와 거리를 확인할 수 있다.A) Existing autonomous vehicles can use the autonomous vehicle's LiDAR to check the shapes of various objects around the vehicle, and use the autonomous vehicle's radar to check the speed and distance of nearby objects.

B) 기존의 자율 주행 차량은 자율 주행 차량의 카메라를 통해 얻은 영상을 분석할 수 있다.B) Existing autonomous vehicles can analyze images obtained through the autonomous vehicle's camera.

C) 기존의 자율 주행 차량은 자율 주행 차량의 다양한 센서들을 통해 얻은 데이터를 주행 알고리즘에 대입하여 차량 제어 값을 얻어낼 수 있다.C) Existing autonomous vehicles can obtain vehicle control values by substituting data obtained through various sensors of the autonomous vehicle into a driving algorithm.

기존의 자율 주행 제어 알고리즘으로 차량을 제어하기 위해서는 고가의 센서 장비가 필요하여 연구에 무리가 있고, 실제 개발이 되더라도 상용화하기 어려울 수 있다.In order to control a vehicle with the existing autonomous driving control algorithm, expensive sensor equipment is required, which makes research difficult, and even if it is actually developed, it may be difficult to commercialize.

또한, 기존의 자율 주행 차량은 자율 주행 제어 알고리즘의 정확도가 높지 않기에, 완전한 자율 주행으로 제어되기에는 부족함이 많을 수 있다. 이는 기존의 자율 주행 차량의 수준이 SAE Level 2 수준인 이유이기도 하다. 기존의 차량 자율 주행 제어 알고리즘은 매우 복잡하기에, 실시간 처리가 중요한 차량 자율 주행 제어 시스템에서 문제가 발생할 수 있다.In addition, since the existing autonomous driving vehicle does not have high accuracy of the autonomous driving control algorithm, it may be insufficient to be fully autonomously controlled. This is also the reason why the level of existing autonomous vehicles is at the level of SAE Level 2. Since the existing autonomous vehicle driving control algorithm is very complex, problems may occur in the vehicle autonomous driving control system, where real-time processing is important.

기존의 차량 자율 주행 제어 시스템의 문제점을 해결하기 위해서 엔비디아(NVIDIA)에서는 종단간 학습 방식(End-to-End Learning)을 활용하여 자율 주행 차량을 제어하는 방법을 제시한 바 있다.In order to solve the problems of the existing vehicle autonomous driving control system, NVIDIA has proposed a method of controlling an autonomous driving vehicle using an end-to-end learning method.

종단간 학습 방식에 따라 자율 주행 차량을 제어하는 방법은 차량의 전방 주행 영상을 좌측/중앙/우측으로 3개로 나눠 받아 하나의 프레임의 이미지를 신경망에 입력으로 넣고, 그 결과로 스티어링 휠(steering wheel) 각도 값을 예측하는 것이다. 예를 들어, 종단간 학습 방식을 이용하는 자율 주행 제어 시스템은 간단한 CNN을 이용하여 구현이 가능하다고 한다.The method of controlling an autonomous vehicle according to the end-to-end learning method divides the vehicle's front driving image into three parts, left/center/right, and puts an image of one frame as an input into the neural network, and as a result, the steering wheel (steering wheel) ) to predict the angle value. For example, it is said that an autonomous driving control system using an end-to-end learning method can be implemented using a simple CNN.

차량을 운전할 때에는 순간적인 전방 상황만 보고 주행 방안을 결정하는 것이 아닌 연속된 상황을 종합적으로 고려하여 주행방안을 결정한다.When driving a vehicle, the driving plan is determined by comprehensively considering continuous situations, rather than determining the driving plan based on only the instantaneous forward situation.

차량의 주행 속도를 고려하지 않고 스티어링 휠을 제어하는 경우(특히, 고속 주행 상황인 경우), 종단간 학습 방식을 이용하여 자율 주행 차량을 제어하는 방법은 언더스티어(understeer)나 오버스티어(oversteer)와 같은 위험한 현상이 발생할 수 있다. 스티어링 휠은 차량의 운전대, 핸들을 의미한다.When the steering wheel is controlled without considering the driving speed of the vehicle (especially in a high-speed driving situation), the method of controlling the autonomous vehicle using the end-to-end learning method is understeer or oversteer. Dangerous phenomena such as Steering wheel refers to the steering wheel and steering wheel of a vehicle.

도 2는 일 실시예에 따른 자율 주행 시스템의 개략적인 블록도를 나타내고, 도 3은 도 2에 도시된 이미지 제공 장치가 제공하는 이미지의 일 예를 나타낸다.2 is a schematic block diagram of an autonomous driving system according to an embodiment, and FIG. 3 is an example of an image provided by the image providing apparatus shown in FIG. 2 .

도 2 및 도 3을 참조하면, 자율 주행 시스템(10)은 이미지 제공 장치(100), 차량 제어 장치(300) 및 차량(500)을 포함할 수 있다. 도 1에서 가정한 바와 같이 이동체를 차량(500)으로 가정하여 설명하기에, 이하에서 설명되는 이미지 제공 장치(100) 및 차량 제어 장치(300)에 관한 내용은 다양한 이동체에 적용 가능하다.2 and 3 , the autonomous driving system 10 may include an image providing device 100 , a vehicle control device 300 , and a vehicle 500 . As assumed in FIG. 1 , since the moving object is assumed to be the vehicle 500 , the image providing apparatus 100 and the vehicle control apparatus 300 described below are applicable to various moving objects.

이미지 제공 장치(100)는 차량(500)의 내부 및 외부가 촬영된 이미지를 차량 제어 장치(300)에 전송할 수 있다. 이때, 차량(500)의 주행 이미지는 차량(500)에 설치된 카메라를 통해 생성될 수 있다. 예를 들어, 이미지 제공 장치(100)는 도 3과 같이 주행 중인 차량(500)의 주변 환경과 차량(500)의 운전석을 함께 촬영하여 차량(500)의 주행 이미지를 생성할 수 있다. 이때, 차량(500)의 주행 이미지는 차량(500)의 전방 및 차량(500)의 주행 속도를 포함할 수 있다. 차량(500)의 주행 이미지는 주행 이미지가 촬영된 날짜 및/또는 시간에 대한 정보가 포함되거나 매칭되어 전송될 수 있다. 시간 정보는 타임 스탬프일 수 있다.The image providing apparatus 100 may transmit images captured inside and outside the vehicle 500 to the vehicle control apparatus 300 . In this case, the driving image of the vehicle 500 may be generated through a camera installed in the vehicle 500 . For example, the image providing apparatus 100 may generate a driving image of the vehicle 500 by photographing the surrounding environment of the vehicle 500 and the driver's seat of the vehicle 500 together as shown in FIG. 3 . In this case, the driving image of the vehicle 500 may include the front of the vehicle 500 and the driving speed of the vehicle 500 . The driving image of the vehicle 500 may include or match information on the date and/or time at which the driving image was captured and transmitted. The time information may be a time stamp.

차량 제어 장치(300)는 이미지 제공 장치(100)가 제공한 차량(500)의 주행 이미지에 포함된 차량(500)의 전방 주행 이미지 및 차량(100)의 주행 속도를 이용하여 종단간 학습 방식을 통해 차량(500)의 자율 주행을 제어하기 위한 자율 주행 제어 정보를 생성할 수 있다. 차량 제어 장치(300)는 자율 주행 제어 정보에 기초하여 차량(500)의 주행을 제어할 수 있다.The vehicle control device 300 performs an end-to-end learning method using the forward driving image of the vehicle 500 and the driving speed of the vehicle 100 included in the driving image of the vehicle 500 provided by the image providing device 100 . Through this, autonomous driving control information for controlling autonomous driving of the vehicle 500 may be generated. The vehicle control apparatus 300 may control driving of the vehicle 500 based on autonomous driving control information.

이에, 차량 제어 장치(300)는 비싼 센서와 연산량이 많이 필요한 자율 주행 제어 알고리즘을 사용하지 않고 오직 차량(500)의 주행 이미지만을 이용하여 차량(500)의 자율 주행을 효율적으로 제어할 수 있다. 또한, 차량 제어 장치(300)는 차량(500)의 전방 이미지뿐만 아니라 차량(500)의 주행 속도를 고려하여 차량(00)의 자율 주행을 더 정확하게 제어하여 기존의 자율 주행 제어 방식 보다 인간의 주행 방식을 더 정확하게 모방할 수 있다.Accordingly, the vehicle control apparatus 300 can efficiently control autonomous driving of the vehicle 500 using only the driving image of the vehicle 500 without using an autonomous driving control algorithm that requires expensive sensors and a large amount of computation. In addition, the vehicle control device 300 more accurately controls the autonomous driving of the vehicle 00 in consideration of the driving speed of the vehicle 500 as well as the front image of the vehicle 500 , so that human driving is more accurate than the existing autonomous driving control method. method can be more accurately imitated.

도 4는 도 2에 도시된 차량 제어 장치의 개략적인 블록도를 나타낸다.FIG. 4 is a schematic block diagram of the vehicle control device shown in FIG. 2 .

차량 제어 장치(300)는 메모리(310) 및 컨트롤러(330)를 포함할 수 있다.The vehicle control apparatus 300 may include a memory 310 and a controller 330 .

메모리(310)는 컨트롤러(330)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 컨트롤러(330)의 동작 및/또는 컨트롤러(330)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 310 may store instructions (or programs) executable by the controller 330 . For example, the instructions may include instructions for executing an operation of the controller 330 and/or an operation of each component of the controller 330 .

컨트롤러(330)는 메모리(310)에 저장된 데이터를 처리할 수 있다. 컨트롤러(330)는 메모리(310)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 컨트롤러(330)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The controller 330 may process data stored in the memory 310 . The controller 330 may execute computer readable codes (eg, software) stored in the memory 310 and instructions induced by the controller 330 .

컨트롤러(330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The controller 330 may be a hardware-implemented data processing device having a circuit having a physical structure for executing desired operations. For example, desired operations may include code or instructions included in a program.

예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

컨트롤러(330)는 차량 제어 장치(300)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(330)는 메모리(310)의 동작을 제어할 수 있다.The controller 330 may control the overall operation of the vehicle control apparatus 300 . For example, the controller 330 may control the operation of the memory 310 .

컨트롤러(330)는 이미지 제공 장치(100)로부터 전송된 차량(500)의 주행 이미지와 CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 이용하여 자율 주행 제어 정보를 생성할 수 있다. CNN-LSTM 융합 네트워크는 종단간 학습 방식에 기반한 네트워크로 CNN-LSTM이 융합되어 설계되어 시간의 흐름에 따른 변화를 고려할 수 있다. CNN은 공간적 특징을 추출하기 유리할 수 있다. LSTM은 시간의 흐름을 고려하여 시간적 특징을 추출하기 유리할 수 있다.The controller 330 may generate autonomous driving control information using a driving image of the vehicle 500 transmitted from the image providing device 100 and a Convolutional Neural Network (CNN)-Long Short-term Memory (LSTM) convergence network. have. The CNN-LSTM convergence network is a network based on an end-to-end learning method, and the CNN-LSTM convergence is designed to consider changes over time. CNNs can be advantageous for extracting spatial features. LSTM may be advantageous for extracting temporal features in consideration of the passage of time.

예를 들어, 컨트롤러(330)는 차량(500)의 주행 이미지로부터 차량(500)의 전방 주행 이미지 및 차량(500)의 주행 속도를 추출할 수 있다.For example, the controller 330 may extract a forward driving image of the vehicle 500 and a driving speed of the vehicle 500 from the driving image of the vehicle 500 .

컨트롤러(330)는 CNN-LSTM 융합 네트워크에 전방 주행 이미지 및 주행 속도를 순차적으로 입력하여 주행 전방 이미지 및 주행 속도에 따른 자율 주행 제어 정보를 생성할 수 있다.The controller 330 may sequentially input the forward driving image and driving speed to the CNN-LSTM convergence network to generate autonomous driving control information according to the driving forward image and driving speed.

도 5는 도 4에 도시된 컨트롤러의 전방 주행 이미지 및 주행 속도 추출 동작을 설명하기 위한 일 예를 나타낸다.FIG. 5 shows an example for explaining an operation of extracting a forward driving image and driving speed of the controller shown in FIG. 4 .

컨트롤러(330)는 이미지 제공 장치(100)로부터 차량(500)의 주행 이미지인 image 1을 수신할 수 있다.The controller 330 may receive image 1 which is a driving image of the vehicle 500 from the image providing apparatus 100 .

컨트롤러(330)는 CNN을 통해 image 1을 분석하여 image 1을 차량(500)의 전방 주행 이미지(image 2) 및 차량(500)의 주행 속도 이미지(image 3)로 분할(또는 추출)할 수 있다.The controller 330 may analyze image 1 through CNN and divide (or extract) image 1 into a forward driving image (image 2) of the vehicle 500 and a driving speed image (image 3) of the vehicle 500 . .

컨트롤러(330)는 image 3을 통해 차량(500)의 주행 속도를 획득할 수 있다.The controller 330 may acquire the driving speed of the vehicle 500 through image 3 .

도 6a는 도 4에 도시된 컨트롤러의 자율 주행 제어 정보 생성 동작을 설명하기 위한 일 예를 나타내고, 도 6b는 도 4에 도시된 컨트롤러의 자율 주행 제어 정보 생성 동작을 설명하기 위한 다른 예를 나타낸다.FIG. 6A shows an example for explaining the autonomous driving control information generating operation of the controller shown in FIG. 4 , and FIG. 6B shows another example for explaining the autonomous driving control information generating operation of the controller shown in FIG. 4 .

도 6a 및 도 6b를 참조하면, 컨트롤러(330)는 차량(500)의 주행 이미지에서 전방 주행 이미지 및 주행 속도를 추출한 후, CNN-LSTM 융합 네트워크를 통해 전방 주행 이미지의 특징에 따른 특징 맵을 생성할 수 있다. 이때, 전방 주행 이미지 및 주행 속도는 CNN-LSTM 융합 네트워크에 입력되기 전에 정규화될 수 있다. 예를 들어, 전방 주행 이미지는 80 x 200 벡터의 크기로 조정하여 정규화될 수 있다.6A and 6B , the controller 330 extracts the forward driving image and driving speed from the driving image of the vehicle 500, and then generates a feature map according to the characteristics of the forward driving image through the CNN-LSTM convergence network. can do. In this case, the forward driving image and driving speed may be normalized before being input to the CNN-LSTM convergence network. For example, the forward driving image may be normalized by adjusting the size of an 80 x 200 vector.

예를 들어, 컨트롤러(330)는 CNN-LSTM 융합 네트워크를 구성하는 CNN에 전방 주행 이미지를 입력하여 전방 주행 이미지의 특징을 추출할 수 있다. 컨트롤러(330)는 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 전방 주행 이미지의 특징을 입력하여 전방 주행 이미지의 특징 맵을 생성할 수 있다.For example, the controller 330 may extract the features of the forward driving image by inputting the forward driving image to the CNN constituting the CNN-LSTM convergence network. The controller 330 may generate a feature map of the forward driving image by inputting the characteristics of the forward driving image to the LSTM constituting the CNN-LSTM convergence network.

컨트롤러(330)는 특징 맵과 주행 속도를 이용하여 CNN-LSTM 융합 네트워크를 통해 자율 주행 제어 정보를 생성(또는 추론, 예측)할 수 있다. 예를 들어, 컨트롤러(330)는 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 특징 맵 및 주행 속도를 입력하여 자율 주행 제어 정보를 생성할 수 있다. 예를 들어, 컨트롤러(330)는 전방 주행 이미지의 특징을 LSTM에 입력할 때 주행 속도도 함께 LSTM에 입력할 수 있다.The controller 330 may generate (or infer, predict) autonomous driving control information through the CNN-LSTM convergence network using the feature map and driving speed. For example, the controller 330 may generate autonomous driving control information by inputting the feature map and driving speed to the LSTM constituting the CNN-LSTM convergence network. For example, when inputting the characteristics of the forward driving image to the LSTM, the controller 330 may also input the driving speed to the LSTM.

컨트롤러(330)는 차량(500)의 과거 주행 이미지에 대응하는 과거 특징 맵이 있는지 여부에 기초하여 자율 주행 제어 정보 생성시 과거 특징 맵을 반영할 수 있다. 과거 주행 이미지는 차량(500)의 주행 이미지가 촬영된 시간 직전에 촬영된 주행 이미지일 수 있다. 과거 특징 맵은 차량(500)의 과거 주행 이미지에 포함된 전방 주행 이미지의 특징에 따른 특징 맵일 수 있다.The controller 330 may reflect the past feature map when generating autonomous driving control information based on whether there is a past feature map corresponding to the past driving image of the vehicle 500 . The past driving image may be a driving image taken just before the time when the driving image of the vehicle 500 was captured. The past feature map may be a feature map according to a feature of a forward driving image included in the past driving image of the vehicle 500 .

자율 주행 제어 정보는 차량(100)의 주행을 제어할 정보로, LSTM과 완전히 연결된 레이어(fully connected layer)를 통해 추론될 수 있다. 자율 주행 제어 정보는 차량(500)의 주행 방향을 제어하기 위한 주행 방향 파라미터 및 차량(500)의 주행 속도를 제어하기 위한 주행 속도 파라미터를 포함할 수 있다. 추론된 주행 방향 파라미터 및 주행 속도 파라미터는 차량(500)의 부드러운 주행을 위해서 Hanning 평활 알고리즘(Hanning smoothing algorithm)으로 평활화될 수 있다.The autonomous driving control information is information to control the driving of the vehicle 100 and may be inferred through a fully connected layer with the LSTM. The autonomous driving control information may include a driving direction parameter for controlling the driving direction of the vehicle 500 and a driving speed parameter for controlling the driving speed of the vehicle 500 . The inferred driving direction parameter and driving speed parameter may be smoothed by a Hanning smoothing algorithm for smooth driving of the vehicle 500 .

주행 방향 파라미터는 차량(500)의 스티어링 휠 각도값일 수 있다. 주행 속도 파라미터는 차량(500)의 액셀러레이터(accelerator) 및 브레이크(break) 값일 수 있다. 차량(500)의 자율 주행은 추론되는 주행 방향 및 주행 속도가 함께 반영되어 제어되어, 고속 환경에서 언더스티어 또는 오버스티어와 같은 위험한 상황이 방지될 수 있다.The driving direction parameter may be a steering wheel angle value of the vehicle 500 . The driving speed parameter may be an accelerator and a break value of the vehicle 500 . The autonomous driving of the vehicle 500 is controlled by reflecting the inferred driving direction and driving speed together, so that dangerous situations such as understeer or oversteer in a high-speed environment can be prevented.

차량마다 데이터가 다르게 처리되기에, 실제 차량에서 데이터를 수집하는 것은 한계가 있을 수 있다.Since data is processed differently for each vehicle, collecting data from an actual vehicle may be limited.

따라서, 이하에서는 이미지 제공 장치(100)를 주행 시뮬레이터(driving simulator)로 가정하도록 한다. 또한, 이하에서는 차량 제어 장치(300)가 주행 시뮬레이터(driving simulator)를 통해 수집된 차량(100)에 대한 주행 데이터(또는 훈련 데이터, 이미지 데이터)를 이용하여 CNN-LSTM 융합 네트워크를 학습하는 동작에 대해서 설명하도록 한다.Therefore, hereinafter, it is assumed that the image providing apparatus 100 is a driving simulator. In addition, in the following, the vehicle control device 300 uses driving data (or training data, image data) about the vehicle 100 collected through a driving simulator to learn the CNN-LSTM convergence network. to explain about it.

도 7은 도 4에 도시된 컨트롤러의 개략적인 블록도를 나타내고, 도 8은 도 7에 도시된 주행 시뮬레이션 학습 모듈의 학습 동작을 설명하기 위한 일 예를 나타낸다.7 is a schematic block diagram of the controller shown in FIG. 4 , and FIG. 8 shows an example for explaining a learning operation of the driving simulation learning module shown in FIG. 7 .

컨트롤러(330)는 모듈화될 수 있다. 예를 들어, 컨트롤러(330)는 학습 데이터 수집 모듈(331) 및 주행 시뮬레이션 학습 모듈(333)을 포함할 수 있다.The controller 330 may be modular. For example, the controller 330 may include a learning data collection module 331 and a driving simulation learning module 333 .

데이터 수집 모듈(331)은 주행 시뮬레이터인 유로 트럭 시뮬레이터(euro truck driving simulator)에서 차량(500)에 대한 주행 데이터를 수집하여 클라우드 서버에 저장 및 관리할 수 있다. 클라우드 서버는 HDFS(Hadoop Distributed File System)-based cloud server일 수 있다. 데이터 수집 모듈(331)은 차량(500)에 대한 주행 데이터를 타임 스탬프와 동기화하여 저장할 수 있다. 주행 데이터는 시간대 별로 저장될 수 있다. 주행 데이터는 차량(500)의 주행 이미지, 주행 방향 파라미터 및 주행 속도 파라미터 등일 수 있다.The data collection module 331 may collect driving data for the vehicle 500 in a euro truck driving simulator, which is a driving simulator, and store and manage it in a cloud server. The cloud server may be a Hadoop Distributed File System (HDFS)-based cloud server. The data collection module 331 may store driving data for the vehicle 500 in synchronization with a time stamp. The driving data may be stored for each time period. The driving data may be a driving image of the vehicle 500 , a driving direction parameter, and a driving speed parameter.

주행 시뮬레이션 학습 모듈(333)은 클라우드 서버에 저장된 주행 데이터를 시간 순서로 CNC-HLTM 융합 네트워크에 입력하여 자율 주행 제어 정보를 추론할 수 있다.The driving simulation learning module 333 may infer autonomous driving control information by inputting driving data stored in the cloud server to the CNC-HLTM convergence network in chronological order.

주행 시뮬레이션 학습 모듈(333)은 추론된 자율 주행 제어 정보와 클라우드 서버에 저장된 실제 주행 데이터를 비교하여 CNC-HLTM 융합 네트워크를 학습할 수 있다. 예를 들어, 주행 시뮬레이션 학습 모듈(333)은 추론된 주행 방향 및 주행 속도 파라미터와 실제 주행 방향 및 주행 속도 파라미터 간의 평균 제곱 오차가 최소화되도록 CNC-HLTM 융합 네트워크의 가중치를 학습할 수 있다.The driving simulation learning module 333 may learn the CNC-HLTM convergence network by comparing the inferred autonomous driving control information with the actual driving data stored in the cloud server. For example, the driving simulation learning module 333 may learn the weights of the CNC-HLTM convergence network so that the mean square error between the inferred driving direction and driving speed parameters and the actual driving direction and driving speed parameters is minimized.

도 9a는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 일 예를 나타내고, 도 9b는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 다른 예를 나타내고, 도 9c는 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과를 설명하기 위한 또 다른 예를 나타낸다.9A shows an example for explaining a driving simulation result according to autonomous driving control information, FIG. 9B shows another example for explaining a driving simulation result according to autonomous driving control information, and FIG. 9C shows an example for explaining the driving simulation result according to autonomous driving control information Another example for explaining the driving simulation result is shown.

도 9a 내지 도 9c를 참조하면, 차량 제어 장치(300)가 생성한 자율 주행 제어 정보에 따른 주행 시뮬레이션 결과는 NVIDIA에서 연구한 End-to-End 자율주행 시스템에 의한 주행 시뮬레이션 결과보다 더 정확하다. 우측으로 굽은 도로에서의 주행 시뮬레이션 결과는 도 9a와 같고, 좌측으로 굽은 도로에서의 주행 시뮬레이션 결과는 도 9b와 같고, S로 굽은 도로에서의 주행 시뮬레이션 결과는 도 9c와 같다.9A to 9C , the driving simulation result according to the autonomous driving control information generated by the vehicle control device 300 is more accurate than the driving simulation result by the end-to-end autonomous driving system researched by NVIDIA. A driving simulation result on a road curved to the right is shown in FIG. 9A, a driving simulation result on a road curved to the left is shown in FIG. 9B, and a driving simulation result on a road curved to the S is shown in FIG. 9C.

도 10은 도 2에 도시된 차량 제어 장치의 동작을 설명하기 위한 순서도를 나타낸다.FIG. 10 is a flowchart for explaining the operation of the vehicle control apparatus shown in FIG. 2 .

컨트롤러(330)는 이미지 제공 장치(100)로부터 전송된 차량(500)의 주행 이미지를 수집(또는 획득)할 수 있다(1010).The controller 330 may collect (or acquire) a driving image of the vehicle 500 transmitted from the image providing apparatus 100 ( 1010 ).

컨트롤러(330)는 주행 이미지를 분석하여 주행 이미지에서 전방 주행 이미지 및 주행 속도를 추출할 수 있다(1030).The controller 330 may analyze the driving image and extract a forward driving image and driving speed from the driving image ( 1030 ).

컨트롤러(330)는 전방 주행 이미지의 특징을 추출하여 전방 주행 이미지의 특징에 따른 특징 맵을 생성할 수 있다(1050).The controller 330 may extract features of the forward driving image to generate a feature map according to the characteristics of the forward driving image ( S1050 ).

컨트롤러(330)는 특징 맵 및 주행 속도에 기초하여 차량(500)의 주행을 제어할 자율 주행 제어 정보를 생성할 수 있다(1070).The controller 330 may generate autonomous driving control information for controlling the driving of the vehicle 500 based on the feature map and the driving speed ( 1070 ).

컨트롤러(330)는 자율 주행 제어 정보에 기초하여 차량(500)의 주행을 제어할 수 있다(1090).The controller 330 may control the driving of the vehicle 500 based on the autonomous driving control information ( S1090 ).

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more of these, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

이동체의 자율 주행 제어 방법에 있어서,
상기 이동체의 내부에서 상기 이동체의 주변 환경과 상기 이동체의 운전석이 함께 촬영된 주행 이미지를 획득하는 단계;
상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하는 단계; 및
상기 전방 주행 이미지 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하는 단계
를 포함하고,
상기 생성하는 단계는,
CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하는 단계; 및
상기 특징 맵 및 상기 주행 속도를 이용하여 상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계
를 포함하는, 자율 주행 제어 방법.
A method for controlling autonomous driving of a moving object, the method comprising:
acquiring a driving image in which a surrounding environment of the moving object and a driver's seat of the moving object are photographed together in the interior of the moving object;
extracting a forward traveling image of the moving object and a traveling speed of the moving object from the traveling image; and
generating autonomous driving control information for controlling the driving of the moving object based on the forward driving image and the driving speed;
including,
The generating step is
generating a feature map for the forward driving image through a Convolutional Neural Network (CNN)-Long Short-term Memory (LSTM) fusion network; and
generating the autonomous driving control information through the CNN-LSTM convergence network using the feature map and the driving speed
Including, autonomous driving control method.
제1항에 있어서,
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭되는, 자율 주행 제어 방법.
According to claim 1,
The autonomous driving control method, wherein the driving image includes or matches information on a date and time when the driving image was captured.
삭제delete 제1항에 있어서,
상기 특징 맵을 생성하는 단계는,
상기 CNN-LSTM 융합 네트워크를 구성하는 CNN에 상기 전방 주행 이미지를 입력하여 상기 전방 주행 이미지의 특징을 추출하는 단계; 및
상기 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 상기 전방 주행 이미지의 특징을 입력하여 상기 특징 맵을 생성하는 단계
를 포함하는, 자율 주행 제어 방법.
According to claim 1,
The step of generating the feature map comprises:
extracting features of the forward driving image by inputting the forward driving image to a CNN constituting the CNN-LSTM convergence network; and
generating the feature map by inputting features of the forward driving image into LSTMs constituting the CNN-LSTM convergence network
Including, autonomous driving control method.
제1항에 있어서,
상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는 단계는,
상기 이동체에 대한 과거 주행 이미지에 대응하는 과거 특징 맵이 있는지 여부에 기초하여 상기 자율 주행 제어 정보 생성시 상기 과거 특징 맵을 반영하는 단계
를 포함하는, 자율 주행 제어 방법.
According to claim 1,
The step of generating the autonomous driving control information through the CNN-LSTM convergence network comprises:
reflecting the past feature map when generating the autonomous driving control information based on whether there is a past feature map corresponding to the past driving image of the moving object;
Including, autonomous driving control method.
제5항에 있어서,
상기 과거 주행 이미지는 상기 주행 이미지가 촬영된 시간 직전에 촬영된 주행 이미지인, 자율 주행 제어 방법.
6. The method of claim 5,
and the past driving image is a driving image taken immediately before the time at which the driving image was captured.
제1항에 있어서,
상기 자율 주행 제어 정보는,
상기 이동체의 주행 방향을 제어하기 위한 주행 방향 파라미터 및 상기 이동체의 주행 속도를 제어하기 위한 주행 속도 파라미터를 포함하는, 자율 주행 제어 방법.
According to claim 1,
The autonomous driving control information is
and a traveling direction parameter for controlling the traveling direction of the moving object and a traveling speed parameter for controlling the traveling speed of the moving object.
제7항에 있어서,
상기 주행 방향 파라미터는 상기 이동체의 스티어링 휠 각도 값인, 자율 주행 제어 방법.
8. The method of claim 7,
and the driving direction parameter is a steering wheel angle value of the mobile body.
제7항에 있어서,
상기 주행 속도 파라미터는 상기 이동체의 액셀러레이터(accelerator) 값 및 브레이크(break) 값인, 자율 주행 제어 방법.
8. The method of claim 7,
and the traveling speed parameter is an accelerator value and a break value of the moving object.
제1항에 있어서,
상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는 단계
를 더 포함하는, 자율 주행 제어 방법.
According to claim 1,
controlling the driving of the moving object based on the autonomous driving control information;
Further comprising, an autonomous driving control method.
이동체의 자율 주행을 제어하는 장치에 있어서,
인스트럭션들을 포함하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 컨트롤러
를 포함하고,
상기 컨트롤러는,
상기 이동체의 내부에서 상기 이동체의 주변 환경과 상기 이동체의 운전석이 함께 촬영된 주행 이미지를 획득하고, 상기 주행 이미지로부터 상기 이동체의 전방 주행 이미지 및 상기 이동체의 주행 속도를 추출하고, 상기 전방 주행 이미지 및 상기 주행 속도에 기초하여 상기 이동체의 주행을 제어하기 위한 자율 주행 제어 정보를 생성하고,
상기 컨트롤러는,
CNN(Convolutional Neural Network)-LSTM(Long Short-term Memory) 융합 네트워크를 통해 상기 전방 주행 이미지에 대한 특징 맵을 생성하고, 상기 특징 맵 및 상기 주행 속도를 이용하여 상기 CNN-LSTM 융합 네트워크를 통해 상기 자율 주행 제어 정보를 생성하는, 장치.
An apparatus for controlling autonomous driving of a moving object, the apparatus comprising:
a memory containing instructions; and
a controller for executing the instructions
including,
The controller is
Obtaining a driving image in which the surrounding environment of the moving object and the driver's seat of the moving object are photographed together inside the moving object, extracting a forward running image of the moving object and a running speed of the moving object from the driving image, the forward running image and generating autonomous driving control information for controlling the driving of the moving object based on the driving speed;
The controller is
A feature map for the forward driving image is generated through a Convolutional Neural Network (CNN)-Long Short-term Memory (LSTM) convergence network, and the feature map and the driving speed are used to generate the feature map through the CNN-LSTM convergence network. A device for generating autonomous driving control information.
제11항에 있어서,
상기 주행 이미지는 상기 주행 이미지가 촬영된 날짜 및 시간에 대한 정보가 포함되거나 매칭되는, 장치.
12. The method of claim 11,
The driving image includes or matches information on a date and time when the driving image was captured.
삭제delete 제11항에 있어서,
상기 컨트롤러는,
상기 CNN-LSTM 융합 네트워크를 구성하는 CNN에 상기 전방 주행 이미지를 입력하여 상기 전방 주행 이미지의 특징을 추출하고, 상기 CNN-LSTM 융합 네트워크를 구성하는 LSTM에 상기 전방 주행 이미지의 특징을 입력하여 상기 특징 맵을 생성하는, 장치.
12. The method of claim 11,
The controller is
The features of the forward driving image are extracted by inputting the forward driving image to the CNN constituting the CNN-LSTM convergence network, and the features of the forward driving image are inputted into the LSTM constituting the CNN-LSTM convergence network. A device that generates maps.
제11항에 있어서,
상기 컨트롤러는,
상기 이동체에 대한 과거 주행 이미지에 대응하는 과거 특징 맵이 있는지 여부에 기초하여 상기 자율 주행 제어 정보 생성시 상기 과거 특징 맵을 반영하는, 장치.
12. The method of claim 11,
The controller is
and reflecting the past feature map when generating the autonomous driving control information based on whether there is a past feature map corresponding to the past driving image of the moving object.
제15항에 있어서,
상기 과거 주행 이미지는 상기 주행 이미지가 촬영된 시간 직전에 촬영된 주행 이미지인, 장치.
16. The method of claim 15,
The apparatus of claim 1, wherein the past driving image is a driving image taken immediately before the time at which the driving image was captured.
제11항에 있어서,
상기 자율 주행 제어 정보는,
상기 이동체의 주행 방향을 제어하기 위한 주행 방향 파라미터 및 상기 이동체의 주행 속도를 제어하기 위한 주행 속도 파라미터를 포함하는, 장치.
12. The method of claim 11,
The autonomous driving control information is
and a traveling direction parameter for controlling the traveling direction of the movable body and a traveling speed parameter for controlling the traveling speed of the moving object.
제17항에 있어서,
상기 주행 방향 파라미터는 상기 이동체의 스티어링 휠 각도 값인, 장치.
18. The method of claim 17,
and the driving direction parameter is a steering wheel angle value of the mobile body.
제17항에 있어서,
상기 주행 속도 파라미터는 상기 이동체의 액셀러레이터(accelerator) 값 및 브레이크(break) 값인, 장치.
18. The method of claim 17,
and the traveling speed parameter is an accelerator value and a break value of the moving object.
제11항에 있어서,
상기 컨트롤러는,
상기 자율 주행 제어 정보에 기초하여 상기 이동체의 주행을 제어하는, 장치.
12. The method of claim 11,
The controller is
and controlling the traveling of the moving object based on the autonomous driving control information.
KR1020200072492A 2019-11-12 2020-06-15 Method of controlling autonomous driving of moving object and apparatuses performing the same KR102297578B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190144452 2019-11-12
KR1020190144452 2019-11-12

Publications (2)

Publication Number Publication Date
KR20210057649A KR20210057649A (en) 2021-05-21
KR102297578B1 true KR102297578B1 (en) 2021-09-03

Family

ID=76157715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072492A KR102297578B1 (en) 2019-11-12 2020-06-15 Method of controlling autonomous driving of moving object and apparatuses performing the same

Country Status (1)

Country Link
KR (1) KR102297578B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240014975A (en) 2022-07-26 2024-02-02 (주)텔레컨스 Server and method for sharing information of autonomous vehicle

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117709602A (en) * 2024-02-05 2024-03-15 吉林大学 Urban intelligent vehicle personification decision-making method based on social value orientation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028985A (en) 2017-07-31 2019-02-21 株式会社エクォス・リサーチ Image data generation apparatus, image recognition apparatus, image data generation program, and image recognition program
WO2019106789A1 (en) * 2017-11-30 2019-06-06 三菱電機株式会社 Processing device and processing method
KR102043142B1 (en) * 2018-12-31 2019-11-12 호서대학교 산학협력단 Method and apparatus for learning artificial neural network for driving control of automated guided vehicle

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180065498A (en) * 2016-12-08 2018-06-18 한국항공대학교산학협력단 Method for deep learning and method for generating next prediction image using the same
KR102301232B1 (en) * 2017-05-31 2021-09-10 삼성전자주식회사 Method and apparatus for processing multiple-channel feature map images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028985A (en) 2017-07-31 2019-02-21 株式会社エクォス・リサーチ Image data generation apparatus, image recognition apparatus, image data generation program, and image recognition program
WO2019106789A1 (en) * 2017-11-30 2019-06-06 三菱電機株式会社 Processing device and processing method
KR102043142B1 (en) * 2018-12-31 2019-11-12 호서대학교 산학협력단 Method and apparatus for learning artificial neural network for driving control of automated guided vehicle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240014975A (en) 2022-07-26 2024-02-02 (주)텔레컨스 Server and method for sharing information of autonomous vehicle

Also Published As

Publication number Publication date
KR20210057649A (en) 2021-05-21

Similar Documents

Publication Publication Date Title
CN109032103B (en) Method, device and equipment for testing unmanned vehicle and storage medium
CN108692734B (en) Path planning method and device
US11126891B2 (en) Systems and methods for simulating sensor data using a generative model
US11693409B2 (en) Systems and methods for a scenario tagger for autonomous vehicles
US11899748B2 (en) System, method, and apparatus for a neural network model for a vehicle
CN108508881B (en) Automatic driving control strategy adjusting method, device, equipment and storage medium
CN111860493B (en) Target detection method and device based on point cloud data
CN108537326A (en) For the method for automatic driving vehicle, medium and system
WO2020094033A1 (en) Method and system for converting point cloud data for use with 2d convolutional neural networks
KR102297578B1 (en) Method of controlling autonomous driving of moving object and apparatuses performing the same
WO2019047651A1 (en) Driving behavior prediction method and device, and unmanned vehicle
US11257309B2 (en) Systems and methods to test an autonomous vehicle
US10885240B2 (en) Deterministic simulation framework for autonomous vehicle testing
CN110901656B (en) Experimental design method and system for autonomous vehicle control
US20190064825A1 (en) Vehicle Interface for Autonomous Vehicle
JP2020042794A (en) Self-driving vehicle visual sensing method, self-driving vehicle visual sensing device, control instrument and computer readable storage medium
CN112382165B (en) Driving strategy generation method, device, medium, equipment and simulation system
CN111062405A (en) Method and device for training image recognition model and image recognition method and device
CN110968088A (en) Method and device for determining vehicle control parameters, vehicle-mounted controller and unmanned vehicle
US11436498B2 (en) Neural architecture search system for generating a neural network architecture
KR102521657B1 (en) Method and apparatus of controlling vehicel
CN111210411B (en) Method for detecting vanishing points in image, method for training detection model and electronic equipment
Noto et al. Obstacle avoidance assisting system based on personalized potential field
Curiel-Ramirez et al. Hardware in the loop framework proposal for a semi-autonomous car architecture in a closed route environment
CN112668596B (en) Three-dimensional object recognition method and device, recognition model training method and device

Legal Events

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