KR102541685B1 - 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 - Google Patents
재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 Download PDFInfo
- Publication number
- KR102541685B1 KR102541685B1 KR1020200044712A KR20200044712A KR102541685B1 KR 102541685 B1 KR102541685 B1 KR 102541685B1 KR 1020200044712 A KR1020200044712 A KR 1020200044712A KR 20200044712 A KR20200044712 A KR 20200044712A KR 102541685 B1 KR102541685 B1 KR 102541685B1
- Authority
- KR
- South Korea
- Prior art keywords
- prediction data
- feature vectors
- time interval
- surrounding vehicles
- data
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims abstract description 10
- 239000013598 vector Substances 0.000 claims abstract description 91
- 230000015654 memory Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 230000000306 recurrent effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00274—Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/10—Estimation 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/0097—Predicting future conditions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4044—Direction of movement, e.g. backwards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4045—Intention, e.g. lane change or imminent movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
Abstract
다양한 실시예들에 따른 전자 장치 및 그의 동작 방법은, 제 1 시간 간격의 입력 데이터를 검출하는 동작, 미리 설정된 재귀 네트워크를 이용하여, 입력 데이터로부터 제 2 시간 간격의 제 1 예측 데이터를 검출하는 동작, 및 재귀 네트워크를 이용하여, 입력 데이터 및 제 1 예측 데이터로부터 제 3 시간 간격의 제 2 예측 데이터를 검출하도록 구성될 수 있다. 다양한 실시예들에 따르면, 재귀 네트워크는, 입력 데이터 또는 제 1 예측 데이터 중 적어도 어느 하나를 기반으로, 복수 개의 특징 벡터들을 각각 검출하도록 구성되는 인코더, 특징 벡터들의 중요도들을 각각 계산하도록 구성되는 어텐션 모듈, 및 중요도들을 기반으로, 제 1 예측 데이터 또는 제 2 예측 데이터 중 적어도 어느 하나를 출력하도록 구성되는 디코더를 포함할 수 있다.
Description
다양한 실시예들은 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법에 관한 것이다.
최근 자율 주행 차량에 대한 연구가 활발히 진행됨에 따라 차량의 안전한 주행을 위해 필수적인 기술인 차량 움직임 예측 기술 또한 주목을 받고 있다. 하지만, 현존하는 주변 차량의 움직임 예측 기술은 잘못된 예측으로 인해 자율 주행 차량의 사고로 이어져 자율 주행 기술에 대한 전반적인 신뢰도를 하락시키고 있다. 이러한 잘못된 예측은 단순히 과거의 정보만을 이용하여 미래의 움직임을 예측했기 때문에 발생한다. 과거의 정보는 어느 정도 미래를 예측할 수 있는 정보를 가지고 있지만, 운전자들은 미래 상황을 예측하며 주행하기 때문에 운전자들의 미래의 움직임은 단순히 과거의 정보만으로는 추론이 어렵다.
다양한 실시예들은, 과거의 정보 뿐만 아니라 아직 발생되지 않은 미래의 정보를 함께 사용하여, 주변 차량의 움직임을 예측할 수 있는 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들에 따른 전자 장치의 동작 방법은, 제 1 시간 간격의 입력 데이터를 검출하는 동작, 미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 제 2 시간 간격의 제 1 예측 데이터를 검출하는 동작, 및 상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 제 3 시간 간격의 제 2 예측 데이터를 검출하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 제 1 시간 간격의 입력 데이터를 검출하고, 미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 제 2 시간 간격의 제 1 예측 데이터를 검출하고, 상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 제 3 시간 간격의 제 2 예측 데이터를 검출하도록 구성될 수 있다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 판독 가능한 기록 매체에 저장되며, 제 1 시간 간격의 입력 데이터를 검출하는 동작, 미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 제 2 시간 간격의 제 1 예측 데이터를 검출하는 동작, 및 상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 제 3 시간 간격의 제 2 예측 데이터를 검출하는 동작을 실행할 수 있다.
다양한 실시예들에 따르면, 전자 장치는 재귀 네트워크를 이용하여, 입력 데이터 뿐 아니라 입력 데이터로부터 검출된 일차적인 예측 데이터로부터 최종적인 예측 데이터를 검출할 수 있다. 이를 통해, 전자 장치는 최종적인 예측 데이터에 대한 정확도를 향상시킬 수 있다.
예를 들면, 전자 장치가 차량과 관련되는 경우, 전자 장치는 주변 차량들의 이동 경로들과 이동 경로들로부터 예측된 일차적인 미래 경로들을 기반으로, 주변 차량들의 최종적인 미래 경로들을 예측할 수 있다. 즉 전자 장치는 주변 차량들 간의 상호작용을 고려하여, 주변 차량들의 최종적인 미래 경로들을 보다 정확하게 예측할 수 있다. 아울러, 전자 장치는 주변 차량들의 최종적인 미래 경로들을 기반으로, 차량의 주행 경로를 보다 정확하게 예측할 수 있다. 이에 따라, 전자 장치는 차량의 안정성을 확보할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치를 도시하는 도면이다.
도 2는 다양한 실시예들에 따른 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
도 3은 예시적인 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
도 4는 다양한 실시예들에 따른 재귀 네트워크의 내부 구성을 도시하는 도면이다.
도 5는 예시적인 재귀 네트워크의 내부 구성을 도시하는 도면이다.
도 6은 도 4의 인코더의 세부 구성을 도시하는 도면이다.
도 7 및 8은 도 4의 어텐션 모듈 및 디코더의 세부 구성을 도시하는 도면들이다.
도 9는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 도면이다.
도 10 및 도 11은 다양한 실시예들에 따른 전자 장치의 동작 효과를 설명하기 위한 도면들이다.
도 12는 예시적인 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
도 2는 다양한 실시예들에 따른 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
도 3은 예시적인 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
도 4는 다양한 실시예들에 따른 재귀 네트워크의 내부 구성을 도시하는 도면이다.
도 5는 예시적인 재귀 네트워크의 내부 구성을 도시하는 도면이다.
도 6은 도 4의 인코더의 세부 구성을 도시하는 도면이다.
도 7 및 8은 도 4의 어텐션 모듈 및 디코더의 세부 구성을 도시하는 도면들이다.
도 9는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 도면이다.
도 10 및 도 11은 다양한 실시예들에 따른 전자 장치의 동작 효과를 설명하기 위한 도면들이다.
도 12는 예시적인 재귀 네트워크의 동작 특징을 설명하기 위한 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
도 1은 다양한 실시예들에 따른 전자 장치(100)를 도시하는 도면이다. 도 2는 다양한 실시예들에 따른 재귀 네트워크(200)의 동작 특징을 설명하기 위한 도면들이다. 도 3은 예시적인 재귀 네트워크(200)의 동작 특징을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 전자 장치(100)는 통신 모듈(110), 카메라 모듈(120), 센서 모듈(130), 입력 모듈(140), 출력 모듈(150), 구동 모듈(160), 메모리(170) 또는 프로세서(180) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서는 전자 장치(100)의 구성 요소들 중 적어도 어느 하나가 생략되거나, 전자 장치(100)에 하나 이상의 다른 구성 요소들이 추가될 수 있다.
통신 모듈(110)은 전자 장치(100)와 외부 장치(미도시) 간 통신을 지원할 수 있다. 이 때 통신 모듈(110)은 무선 통신 모듈 또는 유선 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 일 실시예에 따르면, 무선 통신 모듈은 원거리 통신 방식 또는 근거리 통신 방식 중 적어도 어느 하나를 지원할 수 있다. 근거리 통신 방식은, 예컨대 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 어느 하나를 포함할 수 있다 무선 통신 방식은 네트워크를 통해 원거리 통신 방식으로 통신할 수 있으며, 네트워크는, 예컨대 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 어느 하나를 포함할 수 있다. 다른 실시예에 따르면, 무선 통신 모듈은 GNSS(global navigation satellite system)와의 통신을 지원할 수 있다. 일 예로, GNSS는 GPS(global positioning system)를 포함할 수 있다.
카메라 모듈(120)은 전자 장치(100)의 외부 영상을 촬영할 수 있다. 이 때 카메라 모듈(120)은 전자 장치(100)의 미리 정해진 위치에 설치되어, 외부 영상을 촬영할 수 있다. 그리고 카메라 모듈(120)은 전자 장치(100)의 외부 영상에 대한 영상 데이터를 생성할 수 있다. 예를 들면, 카메라 모듈(120)은 렌즈, 적어도 하나의 이미지 센서, 이미지 시그널 프로세서 또는 플래시 중 적어도 어느 하나를 포함할 수 있다.
센서 모듈(130)은 전자 장치(100)의 상태 또는 전자 장치(100)의 외부 환경을 감지할 수 있다. 그리고 센서 모듈(130)은 전자 장치(100)의 상태 또는 전자 장치(100)의 외부 환경에 대한 센싱 데이터를 생성할 수 있다. 예를 들면, 센서 모듈(130)은 가속도 센서, 자이로스코프(gyroscope) 센서, 이미지 센서, 레이더(RADAR) 센서, 라이다(LiDAR) 센서 또는 초음파 센서 중 적어도 어느 하나를 포함할 수 있다.
입력 모듈(140)은 전자 장치(100)의 구성 요소들 중 적어도 어느 하나에 사용될 명령 또는 데이터를 전자 장치(100)의 외부로부터 수신할 수 있다. 예를 들면, 입력 모듈(140)은 마이크(microphone), 마우스 또는 키보드 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 입력 모듈은 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 어느 하나를 포함할 수 있다.
출력 모듈(150)은 전자 장치(100)의 외부로 정보를 제공할 수 있다. 이 때 출력 모듈(150)은 표시 모듈 또는 오디오 모듈 중 적어도 어느 하나를 포함할 수 있다. 표시 모듈은 정보를 시각적으로 출력할 수 있다. 예를 들면, 표시 모듈은 디스플레이, 홀로그램 장치, 또는 프로젝터 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 표시 모듈은 입력 모듈(140)의 터치 회로 또는 센서 회로 중 적어도 어느 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 오디오 모듈은 정보를 소리로 출력할 수 있다. 예를 들면, 오디오 모듈은 스피커 또는 리시버 중 적어도 어느 하나를 포함할 수 있다.
구동 모듈(160)은 전자 장치(100)의 동작을 위해 구동할 수 있다. 일 실시예에 따르면, 전자 장치(100)가 자율 주행 차량인 경우, 구동 모듈(160)은 각종 부품들을 포함할 수 있다. 다른 실시예에 따르면, 전자 장치(100)가 차량에 장착되어, 자율 주행 차량을 구현하는 경우, 구동 모듈(160)은 차량의 각종 부품들과 연결될 수 있다. 이를 통해, 구동 모듈(160)은 부품들 중 적어도 어느 하나를 제어하면서, 구동할 수 있다. 예를 들면, 부품들은 엔진 모듈, 가속 모듈, 브레이킹 모듈, 조향 모듈 또는 네비게이션 모듈 중 적어도 어느 하나를 포함할 수 있다.
메모리(170)는 전자 장치(100)의 구성 요소들 중 적어도 어느 하나에 의해 사용되는 프로그램 또는 데이터 중 적어도 어느 하나를 저장할 수 있다. 예를 들면, 메모리(170)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다.
프로세서(180)는 메모리(170)의 프로그램을 실행하여, 전자 장치(100)의 구성 요소들 중 적어도 어느 하나를 제어할 수 있고, 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(180)는 미리 설정된 재귀 네트워크(200)를 이용하여, 입력 데이터(X)로부터 예측 데이터(Yfinal)를 검출할 수 있다. 여기서, 입력 데이터(X)와 예측 데이터(Yfinal)는 각각 시계열 데이터일 수 있다. 이를 위해, 프로세서(180)는, 도 2에 도시된 바와 같은 재귀 네트워크(200)를 포함할 수 있다. 이 때 재귀 네트워크(200)는 제 1 시간 간격의 입력 데이터(X)를 기반으로, 제 2 시간 간격의 제 1 예측 데이터(Yinitial)를 예측할 수 있다. 그리고, 재귀 네트워크(200)는 입력 데이터와 제 1 예측 데이터(Yinitial)를 기반으로, 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 예측할 수 있다. 이를 통해, 프로세서(180)는 제 2 예측 데이터(Yfinal)를 실질적인 예측 데이터(Yfinal)로 검출할 수 있다. 여기서, 제 1 시간 간격은 제 2 시간 간격 및 제 3 시간 간격과 동일하거나, 상이할 수 있다. 한편, 제 2 시간 간격은 제 3 시간 간격과 동일하거나, 상이할 수 있다. 이를 통해, 프로세서(180)는 제 2 예측 데이터(Yfinal)를 활용하여, 전자 장치(100)의 구동을 제어할 수 있다.
일 실시예에 따르면, 재귀 네트워크(200)는, 도 2의 (a)에 도시된 바와 같이 내부 순환(internal recurrence) 구조에 외부 순환(external recurrence) 구조가 결합된 형태로 구현될 수 있다. 입력 데이터(X)가 재귀 네트워크(200)에 입력될 수 있다. 내부 순환 구조를 통해, 재귀 네트워크(200)는 입력 데이터(X)로부터 제 1 예측 데이터(Yinitial)를 검출할 수 있다. 그리고, 외부 순환 구조를 통해, 제 1 예측 데이터(Yinitial)가 재귀 네트워크(200)에 입력될 수 있다. 이를 통해, 재귀 네트워크(200)는 입력 데이터(X)와 제 1 예측 데이터(Yinitial)로부터 제 2 예측 데이터(Yfinal)를 검출할 수 있다.
다른 실시예에 따르면, 재귀 네트워크(200)는, 도 2의 (b)에 도시된 바와 같이 내부 순환 구조들이 결합된 형태로 구현될 수 있다. 입력 데이터(X)가 재귀 네트워크(200)의 첫 번째 내부 순환 구조에 입력될 수 있다. 첫 번째 내부 순환 구조를 통해, 재귀 네트워크(200)는 입력 데이터(X)로부터 제 1 예측 데이터(Yinitial)를 검출할 수 있다. 그리고, 입력 데이터(X)와 제 1 예측 데이터(Yinitial)가 재귀 네트워크(200)의 두 번째 내부 순환 구조에 입력될 수 있다. 두 번째 내부 순환 구조를 통해, 재귀 네트워크(200)는 입력 데이터(X)와 제 1 예측 데이터(Yinitial)로부터 제 2 예측 데이터(Yfinal)를 검출할 수 있다.
예를 들면, 전자 장치(100)는 차량(300)과 관련될 수 있다. 일 예로, 전자 장치(100)는 차량(300), 즉 자율 주행 차량일 수 있다. 다른 예로, 전자 장치(100)는 차량(300)에 장착되어, 자율 주행 차량을 구현할 수 있다. 여기서, 주변 객체들은 전자 장치(100)의 주변 차량(301)들일 수 있다. 예를 들면, 주변 차량(301)들은 각각의 속도로 모두 주행 중일 수 있으며, 주변 차량(301)들 중 적어도 어느 하나가 정차 중일 수도 있다. 이러한 경우, 프로세서(180)는, 도 3에 도시된 바와 같이 재귀 네트워크(200)를 이용하여, 주변 차량(301)들에 대한 입력 데이터(X)를 기반으로, 주변 차량(301)들에 대한 예측 데이터(Yfinal)를 검출할 수 있다. 입력 데이터(X)는 주변 차량(301)들의 이동 경로들을 포함할 수 있다. 그리고, 예측 데이터(Yfinal)는 주변 차량(301)들의 미래 경로들을 포함할 수 있다. 일 예로, 프로세서(180)는 주변 차량(301)들에 대한 3 초 동안의 이동 경로들을 기반으로, 주변 차량(301)들에 대한 5 초 동안의 미래 경로들을 예측할 수 있다.
프로세서(180)는 주변 차량(301)들의 이동 경로들을 확인할 수 있다. 프로세서(180)는 전자 장치(100)의 주변 상황에 대한 정보를 수집할 수 있다. 이 때 프로세서(180)는 카메라 모듈(120)을 통해 획득되는 영상 데이터 또는 센서 모듈(130)을 통해 획득되는 센싱 데이터 중 적어도 어느 하나를 기반으로, 전자 장치(100)의 주변 상황에 대한 정보를 수집할 수 있다. 예를 들면, 주변 상황에 대한 정보는 각 주변 차량(301)의 종방향 위치, 횡방향 위치, 종방향 속도, 횡방향 속도, 차선 중심으로부터의 거리, 차량(300) 기준의 주변 차량(301)의 차선 번호 등을 포함할 수 있다. 이를 통해, 프로세서(180)는 전자 장치(100)의 주변 상황에 대한 정보를 기반으로, 주변 차량(301)들의 이동 경로들을 확인할 수 있다. 즉 주변 차량(301)들의 이동 경로들이 입력 데이터(X)로서 검출될 수 있다. 여기서, 입력 데이터(X)는 시계열 데이터일 수 있다.
프로세서(180)는 재귀 네트워크(200)를 이용하여, 주변 차량(301)들의 이동 경로들로부터 주변 차량(301)들의 일차적인 미래 경로들을 예측할 수 있다. 여기서, 주변 차량(301)들의 일차적인 미래 경로들은 주변 차량(301)들 간 상호작용을 나타낼 수 있다. 이를 통해, 주변 차량(301)들의 일차적인 미래 경로들이 제 1 예측 데이터(Yinitial)로서 검출될 수 있다. 여기서, 제 1 예측 데이터(Yinitial)는 시계열 데이터일 수 있다. 일 예로, 프로세서(180)는 주변 차량(301)들에 대한 3 초 동안의 이동 경로들을 기반으로, 주변 차량(301)들에 대한 5 초 동안의 일차적인 미래 경로들을 예측할 수 있다.
프로세서(180)는 재귀 네트워크(200)를 이용하여, 주변 차량(301)들의 이동 경로들 및 주변 차량(301)들의 일차적인 미래 경로들로부터 주변 차량(301)들의 최종적인 미래 경로들을 예측할 수 있다. 즉 프로세서(180)는 주변 차량(301)들의 일차적인 미래 경로들을 업데이트함으로써, 주변 차량(301)들의 최종적인 미래 경로들을 검출할 수 있다. 이를 통해, 주변 차량(301)들의 최종적인 미래 경로들이 제 2 예측 데이터(Yfinal)로서 검출될 수 있다. 여기서, 제 2 예측 데이터(Yfinal)는 시계열 데이터일 수 있다. 일 예로, 프로세서(180)는 주변 차량(301)들에 대한 3 초 동안의 이동 경로들 및 주변 차량(301)들에 대한 5 초 동안의 일차적인 미래 경로들을 기반으로, 주변 차량(301)들에 대한 5 초 동안의 최종적인 미래 경로들을 예측할 수 있다.
이를 통해, 프로세서(180)는 주변 차량(301)들에 대한 미래 경로들을 활용하여, 차량(300)의 구동을 제어할 수 있다. 이 때 프로세서(180)는 차량(300)을 위한 주변 차량들(301)의 주행 경로를 예측할 수 있다. 그리고, 프로세서(180)는 전자 장치(100)를 위한 주행 경로를 기반으로, 차량(300)의 주행을 제어할 수 있다. 여기서, 프로세서(180)는 주행 경로를 기반으로, 구동 모듈(160)을 제어할 수 있다.
도 4는 다양한 실시예들에 따른 재귀 네트워크(200)의 내부 구성을 도시하는 도면이다. 도 5는 예시적인 재귀 네트워크(200)의 내부 구성을 도시하는 도면이다. 도 6은 도 4의 인코더(410)의 세부 구성을 도시하는 도면이다. 도 7 및 8은 도 4의 어텐션 모듈(420) 및 디코더(430)의 세부 구성을 도시하는 도면들이다.
도 4를 참조하면, 다양한 실시예들에 따른 재귀 네트워크(200)는, 적어도 하나의 인코더(410), 적어도 하나의 어텐션 모듈(420) 또는 적어도 하나의 디코더(430) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서는 재귀 네트워크(200)의 구성 요소들 중 적어도 어느 하나가 생략되거나, 재귀 네트워크(200)에 하나 이상의 다른 구성 요소들이 추가될 수 있다.
예를 들면, 전자 장치(100)는 차량(300)과 관련될 수 있다. 일 예로, 전자 장치(100)는 차량(300), 즉 자율 주행 차량일 수 있다. 다른 예로, 전자 장치(100)는 차량(300)에 장착되어, 자율 주행 차량을 구현할 수 있다. 이 때 재귀 네트워크(200)는 복수 개의 인코더(410)들, 복수 개의 어텐션 모듈(420)들 및 복수 개의 디코더(430)들을 포함할 수 있다. 이러한 경우, 도 5에 도시된 바와 같이, 주변 차량(301)들의 개수에 상응하도록, 인코더(410)들 중 적어도 일부, 어텐션 모듈(420)들 중 적어도 일부 및 디코더(430)들 중 적어도 일부가 활성화될 수 있다. 여기서, 하나의 주변 차량(301)에 대해, 인코더(410)들 중 어느 하나, 어텐션 모듈(420)들 중 어느 하나 및 디코더(430)들 중 어느 하나가 구동할 수 있다.
인코더(410)는 입력 데이터(X; xi) 또는 제 1 예측 데이터(Yinitial; yi) 중 적어도 어느 하나를 기반으로, 특징 벡터(hh,i, hf,i)를 검출할 수 있다. 여기서, 인코더(410)는 입력 데이터(X; xi) 또는 제 1 예측 데이터(Yinitial; i) 중 적어도 어느 하나를 기반으로, 은닉 상태 정보와 메모리 셀 상태 정보를 추출하고, 은닉 상태 정보와 메모리 셀 상태 정보를 기반으로, 특징 벡터(hh,i, hf,i)를 검출할 수 있다. 이 때 인코더(410)는, 도 6에 도시된 바와 같이 제 1 인코더(610), 제 2인코더(620) 또는 결합 모듈(630) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예들에서는 제 2 인코더(620)가 결합 모듈(630)을 포함할 수 있다. 제 1 인코더(610)는 제 1 시간 간격의 입력 데이터(X; xi)를 기반으로, 제 1 특징 벡터(hh,i)를 검출할 수 있다. 예를 들면, 제 1 인코더(610)는 복수 개의 순환 신경망(recurrent neural network; RNN)들을 포함할 수 있다. 일 예로, 각 순환 신경망은 장단기 메모리(long short-term memory; LSTM) 네트워크일 수 있다. 각 순환 신경망은 제 1 시간 간격 내 각 시점에서의 입력 데이터를 처리할 수 있다. 제 2 인코더(620)는 제 2 시간 간격의 제 1 예측 데이터(Yinitial; i)를 기반으로, 제 2 특징 벡터(hf,i)를 검출할 수 있다. 예를 들면, 제 2 인코더(620)는 복수 개의 순환 신경망들을 포함할 수 있다. 일 예로, 각 순환 신경망은 장단기 메모리 네트워크일 수 있다. 각 순환 신경망은 제 2 시간 간격 내 각 시점에서의 제 1 예측 데이터(Yinitial; i)를 처리할 수 있다. 결합 모듈(630)은 제 1 특징 벡터(hh,i)와 제 2 특징 벡터(hf,i)를 결합할 수 있다. 여기서, 결합 모듈(630)은 FC 레이어(fully connected layer)를 이용하여, 제 1 특징 벡터(hh,i)와 제 2 특징 벡터(hf,i)를 결합할 수 있다. 이 때 결합 모듈(630)은 제 1 특징 벡터(hh,i)와 제 2 특징 벡터(hf,i)를 결합하여, 제 3 특징 벡터(hi)를 생성할 수 있다. 예를 들면, 인코더(410)는 모든 주변 차량(310)들의 특징 벡터(hh,i, hf,i, hi)들을 각각 검출할 수 있다.
어텐션 모듈(420)은 인코더(410)에 의해 검출된 특징 벡터(hi)의 중요도(αi)를 계산할 수 있다. 중요도(αi)는, 해당 특징 벡터(hi)가 결과 모델, 즉 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal)을 생성하는 데 영향을 주는 정도를 상대적인 값을 수치화한 것일 수 있다. 예를 들면, 어텐션 모듈(420)은, 도 7 및 도 8에 도시된 바와 같이 모든 주변 차량(310)들의 특징 벡터(hi)들을 기반으로, 각 특징 벡터(hi)의 중요도(αi)를 계산할 수 있다. 여기서, 어텐션 모듈(420)은 FC 레이어 또는 소프트맥스 함수(softmax function) 중 적어도 어느 하나를 이용하여, 특징 벡터(hi)들 사이에서 각 특징 벡터(hi)의 중요도(αi)를 계산할 수 있다. 그리고, 어텐션 모듈(420)은, 도 7 및 도 8에 도시된 바와 같이 특징 벡터(hi)와 중요도(αi)를 곱하고, 곱해진 결과(si)를 디코더(430)로 전달할 수 있다. 여기서, 첫 번째 내부 순환에서 인코더(410)로부터 제 1 특징 벡터(hi 1)가 전달되면, 어텐션 모듈(420)은 제 3 특징 벡터(hi 1)의 중요도(αi 1)를 계산하고, 제 3 특징 벡터(hi 1)와 중요도(αi 1)를 곱할 수 있다. 한편, n 번째 내부 순환에서, 인코더(410)로부터 제 3 특징 벡터(hi n)가 전달되면, 어텐션 모듈(420)은 제 3 특징 벡터(hi n)의 중요도(αi n)를 계산하고, 제 3 특징 벡터(hi n)와 중요도(αi n)를 곱할 수 있다.
디코더(430)는 어텐션 모듈(420)에 의해 계산된 중요도(αi)를 기반으로, 특징 벡터(hi)들을 이용하여, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 출력할 수 있다. 여기서, 디코더(430)는 인코더(410)에 의해 추출된 은닉 상태 정보와 메모리 셀 상태 정보 및 어텐션 모듈(420)에 의해 계산된 곱해진 결과(si)를 기반으로, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 출력할 수 있다. 예를 들면, 디코더(430)는, 도 7에 도시된 바와 같이 모든 주변 차량(310)들에 대한 곱해진 결과(si)를 기반으로, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 검출할 수 있다. 여기서, 첫 번째 내부 순환에서, 어텐션 모듈(420)로부터 제 3 특징 벡터(hi 1)와 중요도(αi 1)의 곱해진 결과(si 1)가 전달되면, 디코더(430)는 제 1 예측 데이터(Yinitial; i)를 검출할 수 있다. 한편, n 번째 내부 순환에서, 어텐션 모듈(420)로부터 제 3 특징 벡터(hi n)와 중요도(αi n)의 곱해진 결과(si n)가 전달되면, 디코더(430)는 제 2 예측 데이터(Yfinal; i)를 검출할 수 있다. 일 예로, 디코더(430)는, 도 7에 도시된 바와 같이 제 1 디코더(710) 또는 제 2 디코더(720) 중 적어도 어느 하나를 포함할 수 있다. 제 1 디코더(710)는 각 주변 차량(310)의 횡방향(lateral) 움직임을 검출하고, 제 2 디코더(720)는 각 주변 차량(310)의 종방향(longitudinal) 움직임을 검출할 수 있다. 이를 통해, 디코더(430)는 각 주변 차량(310)의 횡방향 움직임과 종방향 움직임을 조합하여, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i)를 생성할 수 있다.
도 9는 다양한 실시예들에 따른 전자 장치(100)의 동작 방법을 도시하는 도면이다.
도 9를 참조하면, 전자 장치(100)는 910 동작에서 입력 데이터(X)를 검출할 수 있다. 여기서, 입력 데이터(X)는 시계열 데이터일 수 있다. 프로세서(180)는 제 1 시간 간격의 입력 데이터(X)를 검출할 수 있다. 예를 들면, 전자 장치(100)가 차량(300)과 관련될 수 있다. 이러한 경우, 프로세서(180)는 주변 차량(301)들의 이동 경로들을 확인할 수 있다. 프로세서(180)는 전자 장치(100)의 주변 상황에 대한 정보를 수집할 수 있다. 이 때 프로세서(180)는 카메라 모듈(120)을 통해 획득되는 영상 데이터 또는 센서 모듈(130)을 통해 획득되는 센싱 데이터 중 적어도 어느 하나를 기반으로, 전자 장치(100)의 주변 상황에 대한 정보를 수집할 수 있다. 이를 통해, 프로세서(180)는 전자 장치(100)의 주변 상황에 대한 정보를 기반으로, 주변 차량(301)들의 이동 경로들을 확인할 수 있다. 즉 주변 차량(301)들의 이동 경로들이 입력 데이터(X)로서 검출될 수 있다.
전자 장치(100)는 920 동작에서 재귀 네트워크(200)를 이용하여, 입력 데이터(X)로부터 제 1 예측 데이터(Yinitial)를 검출할 수 있다. 여기서, 제 1 예측 데이터(Yinitial)는 시계열 데이터일 수 있다. 프로세서(180)는 재귀 네트워크(200)를 이용하여, 제 2 시간 간격의 제 1 예측 데이터(Yinitial)를 검출할 수 있다. 여기서, 제 2 시간 간격은 제 1 시간 간격과 동일하거나, 상이할 수 있다. 예를 들면, 전자 장치(100)가 차량(300)과 관련될 수 있다. 이러한 경우, 프로세서(180)는 재귀 네트워크(200)를 이용하여, 주변 차량(301)들의 이동 경로들로부터 주변 차량(301)들의 일차적인 미래 경로들을 예측할 수 있다. 즉 주변 차량(301)들의 일차적인 미래 경로들이 제 1 예측 데이터(Yinitial)로서 검출될 수 있다.
전자 장치(100)는 930 동작에서 재귀 네트워크(200)를 이용하여, 입력 데이터(X) 및 제 1 예측 데이터(Yinitial)로부터 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출할 수 있다. 여기서, 제 2 예측 데이터(Yfinal)는 시계열 데이터일 수 있다. 프로세서(180)는 재귀 네트워크(200)를 이용하여, 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출할 수 있다. 여기서, 제 3 시간 간격은 제 2 시간 간격과 동일하거나, 상이할 수 있다. 예를 들면, 전자 장치(100)가 차량(300)과 관련될 수 있다. 이러한 경우, 프로세서(180)는 재귀 네트워크(200)를 이용하여, 주변 차량(301)들의 이동 경로들 및 주변 차량(301)들의 일차적인 미래 경로들로부터 주변 차량(301)들의 최종적인 미래 경로들을 예측할 수 있다. 즉 프로세서(180)는 주변 차량(301)들의 일차적인 미래 경로들을 업데이트함으로써, 주변 차량(301)들의 최종적인 미래 경로들을 검출할 수 있다. 즉 주변 차량(301)들의 최종적인 미래 경로들이 제 2 예측 데이터(Yfinal)로서 검출될 수 있다.
어떤 실시예에서, 전자 장치(100)는 930 동작을 (n-1) 번만큼 반복할 수 있다. 즉 전자 장치(100)는 920 동작을 한 번 수행한 후에, 930 동작을 (n-1) 번만큼 반복할 수 있다. 이 때 프로세서(180)는 제 1 예측 데이터(Yinitial)를 제 2 예측 데이터(Yfinal)로 갱신하고, 입력 데이터(X) 및 갱신된 제 1 예측 데이터(Yinitial)로부터 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출할 수 있다. 프로세서(180)는 재귀 네트워크(200)를 이용하여, 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출할 수 있다. 이를 통해, 프로세서(180)는 주변 차량(301)들의 최종적인 미래 경로들을 (n-1) 번째로 검출된 제 2 예측 데이터(Yfinal)로서 검출할 수 있다.
이를 통해, 프로세서(180)는 제 2 예측 데이터(Yfinal)를 활용하여, 전자 장치(100)의 구동을 제어할 수 있다. 예를 들면, 전자 장치(100)가 차량(300)과 관련될 수 있다. 이러한 경우, 프로세서(180)는 주변 차량(301)들에 대한 최종적인 미래 경로들을 활용하여, 차량(300)의 구동을 제어할 수 있다. 이 때 프로세서(180)는 차량(300)을 위한 주행 경로를 예측할 수 있다. 그리고, 프로세서(180)는 전자 장치(100)를 위한 주행 경로를 기반으로, 차량(300)의 주행을 제어할 수 있다. 여기서, 프로세서(180)는 주행 경로를 기반으로, 구동 모듈(160)을 제어할 수 있다.
도 10 및 도 11은 다양한 실시예들에 따른 전자 장치(100)의 동작 효과를 설명하기 위한 도면들이다.
도 10 및 도 11을 참조하면, 전자 장치(100)에서 재귀 네트워크(200)를 이용하여 검출되는 최종적인 예측 데이터(Yfinal)의 정확도가 높다. 이를 검증하기 위해, 전자 장치(100)가 차량(300)에 장착되었다. 전자 장치(100)는 재귀 네트워크(200)를 이용하여, 주변 차량(301)들에 대한 미래 경로들을 각각 예측하였다. 그리고, 전자 장치(100)는 주변 차량(301)들에 대한 실제 이동 경로들을 각각 측정하였다. 이를 통해, 전자 장치(100)는 주변 차량(301)들에 대한 미래 경로들과 실제 이동 경로들을 각각 비교하였다. 그 결과, 주변 차량(301)들에 대한 미래 경로들과 실제 이동 경로들은 거의 일치하였다. 도 10에 도시된 바에 따르면, 전자 장치(100)는 주변 차량(301)들에 대한 일반적인 차선 유지 상황 뿐 아니라 차선 변경 상황에 대해서도 예측했다. 이에 따라, 전자 장치(100)는 주변 차량(301)들에 대한 미래 경로들을 기반으로, 차량(300)의 주행 경로를 정확하게 예측할 수 있을 것이다. 이 때 전자 장치(100)는 고속도로와 같은 주행 환경 뿐 아니라, 교차로 등을 포함하는 다양한 주행 환경들에 대해서도, 차량(300)의 주행 경로를 정확하게 예측할 수 있을 것이다.
다양한 실시예들에 따르면, 전자 장치(100)는 재귀 네트워크(200)를 이용하여, 다양한 분야들에서 입력 데이터(X)로부터 최종적인 예측 데이터(Yfinal)를 검출할 수 있다. 즉 전자 장치(100)는 입력 데이터(X)와 미래의 상호작용에 따른 일차적인 예측 데이터(Yinitial)를 기반으로, 최종적인 예측 데이터(Yfinal)를 검출할 수 있다. 예를 들면, 다양한 분야들은, 전술된 차량(300) 관련 분야 뿐 아니라, 기계 번역 분야, 영상(이미지/비디오) 캡션 분야, 음성 인식 분야 등을 포함할 수 있다.
도 12는 예시적인 재귀 네트워크(200)의 동작 특징을 설명하기 위한 도면이다.
도 12를 참조하면, 전자 장치(100)는 재귀 네트워크(200)를 이용하여, 기계 번역을 수행할 수 있다. 이 때 재귀 네트워크(200)는 입력 데이터(X), 예컨대 영문 "He loves you."로부터 제 1 예측 데이터(Yinitial), 예컨대 독문 "Sie liebt dich."('She loves you.'를 나타냄.)를 검출할 수 있다. 그리고, 재귀 네트워크(200)는 입력 데이터(X) 및 제 1 예측 데이터(Yinitial)로부터 제 2 예측 데이터(Yfinal), 예컨대 독문 "Er liebt dich"('He loves you.'를 나타냄.)를 검출할 수 있다. 이에 따라, 전자 장치(100)에서 재귀 네트워크(200)를 이용하여 검출되는 최종적인 예측 데이터(Yfinal)의 정확도가 높다.
다양한 실시예들에 따르면, 전자 장치(100)는 재귀 네트워크(200)를 이용하여, 입력 데이터(X) 뿐 아니라 입력 데이터(X)로부터 검출된 일차적인 예측 데이터(Yinitial)로부터 최종적인 예측 데이터(Yfinal)를 검출할 수 있다. 이를 통해, 전자 장치는 최종적인 예측 데이터에 대한 정확도를 향상시킬 수 있다.
예를 들면, 전자 장치(100)가 차량(300)과 관련되는 경우, 전자 장치(100)는 주변 차량(301)들의 이동 경로들과 이동 경로들로부터 예측된 일차적인 미래 경로들을 기반으로, 주변 차량(301)들의 최종적인 미래 경로들을 예측할 수 있다. 즉 전자 장치(100)는 주변 차량(301)들 간의 상호작용을 고려하여, 주변 차량(301)들의 최종적인 미래 경로들을 보다 정확하게 예측할 수 있다. 아울러, 전자 장치(100)는 주변 차량(301)들의 최종적인 미래 경로들을 기반으로, 차량의 주행 경로를 보다 정확하게 예측할 수 있다. 이에 따라, 전자 장치(100)는 차량(300)의 안정성을 확보할 수 있다.
다양한 실시예들에 따른 전자 장치(100)의 동작 방법은, 제 1 시간 간격의 입력 데이터(X)를 검출하는 동작, 미리 설정된 재귀 네트워크(200)를 이용하여, 입력 데이터(X)로부터 제 2 시간 간격의 제 1 예측 데이터(Yinitial)를 검출하는 동작, 및 재귀 네트워크(200)를 이용하여, 입력 데이터(X) 및 제 1 예측 데이터(Yinitial)로부터 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 재귀 네트워크(200)는, 입력 데이터(X; xi) 또는 제 1 예측 데이터(Yinitial; i) 중 적어도 어느 하나를 기반으로, 복수 개의 특징 벡터(hh,i, hf,I, hi)들을 각각 검출하도록 구성되는 인코더(410), 특징 벡터(hh,i, hf,I, hi)들 사이에서 각 특징 벡터(hi)의 중요도(αi)를 계산함으로써, 특징 벡터(hi)들의 중요도(αi)들을 각각 계산하도록 구성되는 어텐션 모듈(420), 및 중요도(αi)들을 기반으로, 특징 벡터(hi)들을 이용하여, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 출력하도록 구성되는 디코더(430)를 포함할 수 있다.
다양한 실시예들에 따르면, 중요도(αi)들 각각은, 특징 벡터(hh,i, hf,I, hi)들 각각이 제 1 예측 데이터 또는 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타낼 수 있다.
다양한 실시예들에 따르면, 인코더(410)는, 입력 데이터(X; xi)를 기반으로, 제 1 특징 벡터(hh,i)들을 각각 검출하도록 구성되는 제 1 인코더(610), 디코더(430)로부터 제 1 예측 데이터(Yinitial; i)가 출력되면, 제 1 예측 데이터(Yinitial; i)를 기반으로, 제 2 특징 벡터(hf,i)들을 각각 검출하도록 구성되는 제 2 인코더(620), 및 제 1 특징 벡터(hh,i)들과 제 2 특징 벡터(hf,i)들이 모두 검출되면, 제 1 특징 벡터(hh,i)들과 제 2 특징 벡터(hf,i)들을 각각 결합하도록 구성되는 결합 모듈(630)을 포함할 수 있다.
다양한 실시예들에 따르면, 제 1 시간 간격은 과거의 시간 간격을 나타내고, 제 2 시간 간격과 제 3 시간 간격은 미래의 시간 간격을 나타내며, 제 1 시간 간격, 제 2 시간 간격 또는 제 3 시간 간격 중 적어도 어느 두 개는 동일하거나, 상이할 수 있다.
다양한 실시예들에 따르면, 인코더(410)는, 복수 개의 순환 신경망들을 포함할 수 있다.
다양한 실시예들에 따르면, 어텐션 모듈(420)은, 특징 벡터(hi)들과 중요도(αi)들이 각각 곱해진 결과(si)를 디코더(430)로 전달할 수 있다.
다양한 실시예들에 따르면, 디코더(430)는, 복수 개의 순환 신경망들을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는 차량(300)에 장착되거나, 차량(300)이고, 입력 데이터(X)는 주변 차량(301)의 이동 경로를 포함하고, 제 1 예측 데이터(Yinitial)는 주변 차량(301)의 미래 경로를 포함할 수 있다.
다양한 실시예들에 따르면, 제 2 예측 데이터(Yfinal)를 검출하는 동작은, 재귀 네트워크(200)를 이용하여, 주변 차량(301)의 이동 경로 및 미래 경로로부터, 미래 경로를 업데이트하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)의 동작 방법은, 제 2 예측 데이터(Yfinal)를 기반으로, 차량(300)의 주행을 제어하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따른 전자 장치(100)는, 메모리(170), 및 메모리(170)와 연결되고, 메모리(170)에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서(180)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 제 1 시간 간격의 입력 데이터(X)를 검출하고, 미리 설정된 재귀 네트워크(200)를 이용하여, 입력 데이터(X)로부터 제 2 시간 간격의 제 1 예측 데이터(Yinitial)를 검출하고, 재귀 네트워크(200)를 이용하여, 입력 데이터(X) 및 제 1 예측 데이터(Yinitial)로부터 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출하도록 구성될 수 있다.
다양한 실시예들에 따르면, 재귀 네트워크(200)는, 입력 데이터(X; xi) 또는 제 1 예측 데이터(Yinitial; i) 중 적어도 어느 하나를 기반으로, 복수 개의 특징 벡터(hh,i, hf,I, hi)들을 각각 검출하도록 구성되는 인코더(410), 특징 벡터(hh,i, hf,I, hi)들 사이에서 각 특징 벡터(hi)의 중요도(αi)를 계산함으로써, 특징 벡터(hi)들의 중요도(αi)들을 각각 계산하도록 구성되는 어텐션 모듈(420), 및 중요도(αi)들을 기반으로, 특징 벡터(hi)들을 이용하여, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 출력하도록 구성되는 디코더(430)를 포함할 수 있다.
다양한 실시예들에 따르면, 중요도(αi)들 각각은, 특징 벡터(hh,i, hf,I, hi)들 각각이 제 1 예측 데이터 또는 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타낼 수 있다.
다양한 실시예들에 따르면, 인코더(410)는, 입력 데이터(X; xi)를 기반으로, 제 1 특징 벡터(hh,i)들을 각각 검출하도록 구성되는 제 1 인코더(610), 디코더(430)로부터 제 1 예측 데이터(Yinitial; i)가 출력되면 제 1 예측 데이터(Yinitial; i)를 기반으로, 제 2 특징 벡터(hf,i)들을 각각 검출하도록 구성되는 제 2 인코더(620), 및 제 1 특징 벡터(hh,i)들과 제 2 특징 벡터(hf,i)들이 모두 검출되면, 제 1 특징 벡터(hh,i)들과 제 2 특징 벡터(hf,i)들을 각각 결합하도록 구성되는 결합 모듈(630)을 포함할 수 있다.
다양한 실시예들에 따르면, 제 1 시간 간격은 과거의 시간 간격을 나타내고, 제 2 시간 간격과 제 3 시간 간격은 미래의 시간 간격을 나타내며, 제 1 시간 간격, 제 2 시간 간격 또는 제 3 시간 간격 중 적어도 어느 두 개는 동일하거나, 상이할 수 있다.
다양한 실시예들에 따르면, 인코더(410)는, 복수 개의 순환 신경망들을 포함할 수 있다.
다양한 실시예들에 따르면, 어텐션 모듈(420)은, 특징 벡터(hi)들과 중요도(αi)들이 각각 곱해진 결과(si)를 디코더(430)로 전달할 수 있다.
다양한 실시예들에 따르면, 디코더(430)는, 복수 개의 순환 신경망들을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는 차량(300)에 장착되거나, 차량(300)이고, 입력 데이터(X)는 주변 차량(301)의 이동 경로를 포함하고, 제 1 예측 데이터(Yinitial)는 주변 차량(301)의 미래 경로를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 재귀 네트워크(200)를 이용하여, 주변 차량(301)의 이동 경로 및 미래 경로로부터, 미래 경로를 업데이트하고, 업데이트된 미래 경로를 제 2 예측 데이터(Yfinal)로서 출력하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(180)는, 제 2 예측 데이터(Yfinal)를 기반으로, 차량(300)의 주행을 제어하도록 구성될 수 있다.
본 문서의 다양한 실시예들은 컴퓨터 장치(예: 전자 장치(100))에 의해 읽을 수 있는 기록 매체(storage medium)(예: 메모리(170))에 저장된 하나 이상의 명령들을 포함하는 컴퓨터 프로그램으로서 구현될 수 있다. 예를 들면, 컴퓨터 장치의 프로세서(예: 프로세서(180))는, 기록 매체로부터 저장된 하나 이상의 명령들 중 적어도 하나를 호출하고, 그것을 실행할 수 있다. 이것은 컴퓨터 장치가 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 하나 이상의 명령들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 컴퓨터 장치로 읽을 수 있는 기록 매체는, 비일시적(non-transitory) 기록 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 기록 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 기록 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 제 1 시간 간격의 입력 데이터(X)를 검출하는 동작, 미리 설정된 재귀 네트워크(200)를 이용하여, 입력 데이터(X)로부터 제 2 시간 간격의 제 1 예측 데이터(Yinitial)를 검출하는 동작, 및 재귀 네트워크(200)를 이용하여, 입력 데이터(X) 및 제 1 예측 데이터(Yinitial)로부터 제 3 시간 간격의 제 2 예측 데이터(Yfinal)를 검출하는 동작을 실행할 수 있다.
다양한 실시예들에 따르면, 재귀 네트워크(200)는, 입력 데이터(X; xi) 또는 제 1 예측 데이터(Yinitial; i) 중 적어도 어느 하나를 기반으로, 복수 개의 특징 벡터(hh,i, hf,i, hi)들을 각각 검출하도록 구성되는 인코더(410), 특징 벡터(hh,i, hf,I, hi)들 사이에서 각 특징 벡터(hi)의 중요도(αi)를 계산함으로써, 특징 벡터(hi)들의 중요도(αi)들을 각각 계산하도록 구성되는 어텐션 모듈(420), 및 중요도(αi)들을 기반으로, 특징 벡터(hi)들을 이용하여, 제 1 예측 데이터(Yinitial; i) 또는 제 2 예측 데이터(Yfinal; i) 중 적어도 어느 하나를 출력하도록 구성되는 디코더(430)를 포함할 수 있다.
다양한 실시예들에 따르면, 중요도(αi)들 각각은, 특징 벡터(hh,i, hf,I, hi)들 각각이 제 1 예측 데이터 또는 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타낼 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (20)
- 전자 장치의 동작 방법에 있어서,
주변 차량들에 대한 제 1 시간 간격의 입력 데이터를 검출하는 동작;
미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 상기 주변 차량들에 대한 제 2 시간 간격의 제 1 예측 데이터를 검출하는 동작; 및
상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 상기 주변 차량들에 대한 제 3 시간 간격의 제 2 예측 데이터를 검출하는 동작
을 포함하고,
상기 재귀 네트워크는,
상기 입력 데이터, 또는 상기 입력 데이터 및 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 특징 벡터들을 각각 검출하도록 구성되는 인코더;
상기 특징 벡터들의 중요도들을 각각 계산하도록 구성되는 어텐션 모듈; 및
상기 중요도들을 기반으로, 상기 특징 벡터들을 이용하여, 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 출력하도록 구성되는 디코더
를 포함하고,
상기 중요도들 각각은, 상기 특징 벡터들 각각이 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타내고,
상기 인코더는,
상기 입력 데이터를 기반으로, 상기 주변 차량들의 제 1 특징 벡터들을 각각 검출하도록 구성되는 제 1 인코더;
상기 디코더로부터 상기 제 1 예측 데이터가 출력되면, 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 제 2 특징 벡터들을 각각 검출하도록 구성되는 제 2 인코더; 및
상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들이 모두 검출되면, 상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들을 각각 결합하도록 구성되는 결합 모듈
을 포함하는 방법.
- 삭제
- 삭제
- 제 1 항에 있어서,
상기 제 1 시간 간격은 과거의 시간 간격을 나타내고,
상기 제 2 시간 간격과 상기 제 3 시간 간격은 미래의 시간 간격을 나타내며,
상기 제 1 시간 간격, 상기 제 2 시간 간격 또는 상기 제 3 시간 간격 중 적어도 어느 두 개는 동일하거나, 상이한 방법.
- 제 1 항에 있어서, 상기 어텐션 모듈은,
상기 특징 벡터들과 상기 중요도들이 각각 곱해진 결과를 상기 디코더로 전달하는 방법.
- 제 1 항에 있어서, 상기 인코더 또는 상기 디코더 중 적어도 어느 하나는,
복수 개의 순환 신경망(recurrent neural network; RNN)들을 포함하는 방법.
- 제 1 항에 있어서,
상기 전자 장치는 차량에 장착되거나, 상기 차량이고,
상기 입력 데이터는 상기 주변 차량들의 이동 경로들을 포함하고,
상기 제 1 예측 데이터는 상기 주변 차량들의 미래 경로들을 포함하는 방법.
- 제 7 항에 있어서, 상기 제 2 예측 데이터를 검출하는 동작은,
상기 재귀 네트워크를 이용하여, 상기 주변 차량들의 상기 이동 경로들 및 상기 미래 경로들로부터, 상기 미래 경로들을 업데이트하는 동작을 포함하는 방법.
- 제 7 항에 있어서,
상기 제 2 예측 데이터를 기반으로, 상기 차량의 주행을 제어하는 동작을 더 포함하는 방법.
- 전자 장치에 있어서,
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고,
상기 프로세서는,
주변 차량들에 대한 제 1 시간 간격의 입력 데이터를 검출하고,
미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 상기 주변 차량들에 대한 제 2 시간 간격의 제 1 예측 데이터를 검출하고,
상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 상기 주변 차량들에 대한 제 3 시간 간격의 제 2 예측 데이터를 검출하도록 구성되고,
상기 재귀 네트워크는,
상기 입력 데이터, 또는 상기 입력 데이터 및 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 특징 벡터들을 각각 검출하도록 구성되는 인코더;
상기 특징 벡터들의 중요도들을 각각 계산하도록 구성되는 어텐션 모듈; 및
상기 중요도들을 기반으로, 상기 특징 벡터들을 이용하여, 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 출력하도록 구성되는 디코더
를 포함하고,
상기 중요도들 각각은, 상기 특징 벡터들 각각이 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타내고,
상기 인코더는,
상기 입력 데이터를 기반으로, 상기 주변 차량들의 제 1 특징 벡터들을 각각 검출하도록 구성되는 제 1 인코더;
상기 디코더로부터 상기 제 1 예측 데이터가 출력되면, 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 제 2 특징 벡터들을 각각 검출하도록 구성되는 제 2 인코더; 및
상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들이 모두 검출되면, 상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들을 각각 결합하도록 구성되는 결합 모듈
을 포함하는 장치.
- 삭제
- 삭제
- 제 10 항에 있어서,
상기 제 1 시간 간격은 과거의 시간 간격을 나타내고,
상기 제 2 시간 간격과 상기 제 3 시간 간격은 미래의 시간 간격을 나타내며,
상기 제 1 시간 간격, 상기 제 2 시간 간격 또는 상기 제 3 시간 간격 중 적어도 어느 두 개는 동일하거나, 상이한 장치.
- 제 10 항에 있어서, 상기 어텐션 모듈은,
상기 특징 벡터들과 상기 중요도들이 각각 곱해진 결과를 상기 디코더로 전달하는 장치.
- 제 10 항에 있어서, 상기 인코더 또는 상기 디코더 중 적어도 어느 하나는,
복수 개의 순환 신경망들을 포함하는 장치.
- 제 10 항에 있어서,
상기 전자 장치는 차량에 장착되거나, 상기 차량이고,
상기 입력 데이터는 상기 주변 차량들의 이동 경로들을 포함하고,
상기 제 1 예측 데이터는 상기 주변 차량들의 미래 경로들을 포함하는 장치.
- 제 16 항에 있어서, 상기 프로세서는,
상기 재귀 네트워크를 이용하여, 상기 주변 차량들의 상기 이동 경로들 및 상기 미래 경로들로부터, 상기 미래 경로들을 업데이트하고, 상기 업데이트된 미래 경로들을 상기 제 2 예측 데이터로서 출력하도록 구성되는 장치.
- 제 16 항에 있어서, 상기 프로세서는,
상기 제 2 예측 데이터를 기반으로, 상기 차량의 주행을 제어하도록 구성되는 장치.
- 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 방법을 실행하기 위해 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 방법은,
주변 차량들에 대한 제 1 시간 간격의 입력 데이터를 검출하는 동작;
미리 설정된 재귀 네트워크를 이용하여, 상기 입력 데이터로부터 상기 주변 차량들에 대한 제 2 시간 간격의 제 1 예측 데이터를 검출하는 동작; 및
상기 재귀 네트워크를 이용하여, 상기 입력 데이터 및 상기 제 1 예측 데이터로부터 상기 주변 차량들에 대한 제 3 시간 간격의 제 2 예측 데이터를 검출하는 동작
을 포함하고,
상기 재귀 네트워크는,
상기 입력 데이터, 또는 상기 입력 데이터 및 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 특징 벡터들을 각각 검출하도록 구성되는 인코더;
상기 특징 벡터들의 중요도들을 각각 계산하도록 구성되는 어텐션 모듈; 및
상기 중요도들을 기반으로, 상기 특징 벡터들을 이용하여, 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 출력하도록 구성되는 디코더
를 포함하고,
상기 중요도들 각각은, 상기 특징 벡터들 각각이 상기 제 1 예측 데이터, 또는 상기 제 2 예측 데이터를 생성하는 데 영향을 주는 정도를 나타내고,
상기 인코더는,
상기 입력 데이터를 기반으로, 상기 주변 차량들의 제 1 특징 벡터들을 각각 검출하도록 구성되는 제 1 인코더;
상기 디코더로부터 상기 제 1 예측 데이터가 출력되면, 상기 제 1 예측 데이터를 기반으로, 상기 주변 차량들의 제 2 특징 벡터들을 각각 검출하도록 구성되는 제 2 인코더; 및
상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들이 모두 검출되면, 상기 제 1 특징 벡터들과 상기 제 2 특징 벡터들을 각각 결합하도록 구성되는 결합 모듈
을 포함하는 컴퓨터 프로그램. - 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200044712A KR102541685B1 (ko) | 2020-04-13 | 2020-04-13 | 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 |
US17/121,829 US11858535B2 (en) | 2020-04-13 | 2020-12-15 | Electronic device for prediction using recursive structure and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200044712A KR102541685B1 (ko) | 2020-04-13 | 2020-04-13 | 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210126961A KR20210126961A (ko) | 2021-10-21 |
KR102541685B1 true KR102541685B1 (ko) | 2023-06-09 |
Family
ID=78005915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200044712A KR102541685B1 (ko) | 2020-04-13 | 2020-04-13 | 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11858535B2 (ko) |
KR (1) | KR102541685B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11498587B1 (en) * | 2019-01-25 | 2022-11-15 | Amazon Technologies, Inc. | Autonomous machine motion planning in a dynamic environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017083273A (ja) | 2015-10-27 | 2017-05-18 | 日本電信電話株式会社 | 移動経路予測装置、移動経路予測方法、及び移動経路予測プログラム |
KR101951595B1 (ko) * | 2018-05-18 | 2019-02-22 | 한양대학교 산학협력단 | 모듈형 순환 신경망 구조 기반 차량 경로 예측 시스템 및 방법 |
US20190287012A1 (en) * | 2018-03-16 | 2019-09-19 | Microsoft Technology Licensing, Llc | Encoder-decoder network with intercommunicating encoder agents |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10049279B2 (en) * | 2016-03-11 | 2018-08-14 | Qualcomm Incorporated | Recurrent networks with motion-based attention for video understanding |
KR102190299B1 (ko) * | 2017-02-02 | 2020-12-11 | 사회복지법인 삼성생명공익재단 | 인공신경망을 이용한 위암의 예후 예측 방법, 장치 및 프로그램 |
JP2018173944A (ja) * | 2017-03-30 | 2018-11-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 情報処理装置および情報処理方法 |
KR102374078B1 (ko) * | 2017-09-15 | 2022-03-14 | 현대모비스 주식회사 | 자율 주행 장치, 방법 및 시스템 |
JP6917878B2 (ja) * | 2017-12-18 | 2021-08-11 | 日立Astemo株式会社 | 移動体挙動予測装置 |
CA3087717A1 (en) * | 2018-02-27 | 2019-09-06 | Naeem Zafar | Method and apparatus for remote monitoring and management of storage using machine learning and data analytics |
JP7162550B2 (ja) * | 2019-02-15 | 2022-10-28 | オムロン株式会社 | モデル生成装置、予測装置、モデル生成方法、及びモデル生成プログラム |
US11538463B2 (en) * | 2019-04-12 | 2022-12-27 | Adobe Inc. | Customizable speech recognition system |
CN111836111A (zh) * | 2019-04-17 | 2020-10-27 | 微软技术许可有限责任公司 | 生成弹幕的技术 |
US20220227379A1 (en) * | 2019-05-09 | 2022-07-21 | LGN Innovations Limited | Network for detecting edge cases for use in training autonomous vehicle control systems |
US11424764B2 (en) * | 2019-11-13 | 2022-08-23 | Micron Technology, Inc. | Recurrent neural networks and systems for decoding encoded data |
US11372417B2 (en) * | 2019-12-12 | 2022-06-28 | Baidu Usa Llc | Method for predicting exiting intersection of moving obstacles for autonomous driving vehicles |
US12001958B2 (en) * | 2020-03-19 | 2024-06-04 | Nvidia Corporation | Future trajectory predictions in multi-actor environments for autonomous machine |
-
2020
- 2020-04-13 KR KR1020200044712A patent/KR102541685B1/ko active IP Right Grant
- 2020-12-15 US US17/121,829 patent/US11858535B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017083273A (ja) | 2015-10-27 | 2017-05-18 | 日本電信電話株式会社 | 移動経路予測装置、移動経路予測方法、及び移動経路予測プログラム |
US20190287012A1 (en) * | 2018-03-16 | 2019-09-19 | Microsoft Technology Licensing, Llc | Encoder-decoder network with intercommunicating encoder agents |
KR101951595B1 (ko) * | 2018-05-18 | 2019-02-22 | 한양대학교 산학협력단 | 모듈형 순환 신경망 구조 기반 차량 경로 예측 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20210126961A (ko) | 2021-10-21 |
US20210316762A1 (en) | 2021-10-14 |
US11858535B2 (en) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12030529B2 (en) | Electronic device for integrating and predicting future trajectories of unspecified number of surrounding vehicles and operating method thereof | |
CN111679302B (zh) | 车辆定位方法、装置、电子设备和计算机存储介质 | |
JP6754856B2 (ja) | 自動運転車両のためのセンサー集約フレームワーク | |
KR101664582B1 (ko) | 자율주행차량의 주행경로 생성장치 및 방법 | |
US11199846B2 (en) | Learning-based dynamic modeling methods for autonomous driving vehicles | |
KR102168753B1 (ko) | 카메라와 레이더 센서 융합 기반 3차원 객체 검출을 위한 전자 장치 및 그의 동작 방법 | |
CN111301425B (zh) | 用于自动驾驶车辆的利用动态模型的有效最优控制 | |
JP6786511B2 (ja) | 自律走行車の速度を追従する方法及びシステム | |
KR20210089116A (ko) | 종방향 동역학 모델의 트레이닝 방법, 장치 및 기기 | |
WO2019094236A1 (en) | Redundant pose generation system | |
CN111666891B (zh) | 用于估计障碍物运动状态的方法和装置 | |
JP2018083612A (ja) | 自律走行車のコマンド遅延を決定するための方法 | |
CN110901656B (zh) | 用于自动驾驶车辆控制的实验设计方法和系统 | |
CN108684203A (zh) | 使用基于学习的模型预测控制来确定自动驾驶车辆的道路摩擦的方法和系统 | |
KR102458664B1 (ko) | 차량의 주행을 보조하는 전자 장치 및 방법 | |
CN113108791A (zh) | 一种导航定位方法及导航定位设备 | |
US20210001860A1 (en) | Prediction device, prediction method, computer program product, and vehicle control system | |
JP6571904B1 (ja) | 車載装置、情報処理方法及び情報処理プログラム | |
US20220090938A1 (en) | Map creation device, map creation method, and program | |
US20230159047A1 (en) | Learning-based critic for tuning a motion planner of autonomous driving vehicle | |
CN112651535A (zh) | 局部路径规划方法、装置、存储介质、电子设备及车辆 | |
KR102541685B1 (ko) | 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법 | |
JP2020529348A (ja) | 自動運転車両のためのスピード制御コマンド自動較正システム | |
CN117355448A (zh) | 用于辅助自动驾驶车辆或车辆驾驶员的设备和方法 | |
US20230392930A1 (en) | Methods and techniques for predicting and constraining kinematic trajectories |
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 |