KR20200010640A - 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법 - Google Patents

모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법 Download PDF

Info

Publication number
KR20200010640A
KR20200010640A KR1020180073709A KR20180073709A KR20200010640A KR 20200010640 A KR20200010640 A KR 20200010640A KR 1020180073709 A KR1020180073709 A KR 1020180073709A KR 20180073709 A KR20180073709 A KR 20180073709A KR 20200010640 A KR20200010640 A KR 20200010640A
Authority
KR
South Korea
Prior art keywords
self
data
motion
model
input data
Prior art date
Application number
KR1020180073709A
Other languages
English (en)
Inventor
조현웅
최성도
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180073709A priority Critical patent/KR20200010640A/ko
Priority to US16/351,689 priority patent/US20200003886A1/en
Priority to CN201910216093.4A priority patent/CN110646787A/zh
Priority to EP19170539.1A priority patent/EP3588129A1/en
Priority to JP2019114795A priority patent/JP7339029B2/ja
Publication of KR20200010640A publication Critical patent/KR20200010640A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/60Velocity or trajectory determination systems; Sense-of-movement determination systems wherein the transmitter and receiver are mounted on the moving object, e.g. for determining ground speed, drift angle, ground track
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/588Velocity or trajectory determination systems; Sense-of-movement determination systems deriving the velocity value from the range measurement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • G06K9/00335
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/589Velocity or trajectory determination systems; Sense-of-movement determination systems measuring the velocity vector
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/62Sense-of-movement determination
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/415Identification of targets based on measurements of movement associated with the target
    • G06K9/48
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G06N3/09Supervised learning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Electromagnetism (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

자체 운동 추정 장치 및 방법, 그 트레이닝 장치 및 방법이 제공된다. 일 실시예에 따른 자체 운동 추정 장치는 레이더 센싱 데이터로부터 모션 인식 모델에 기초하여 자체 운동 정보를 추정할 수 있다.

Description

모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법{METHOD AND DEVICE TO ESTIMATE EGO MOTION USING MOTION RECOGNITION MODEL AND METHOD AND DEVICE TO TRAIN MOTION RECOGNITION MODEL}
이하, 모션 인식 모델을 이용한 자체 운동 추정 기술이 제공된다.
최근 들어, 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위하여, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링 한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 인공 뉴럴 네트워크의 학습 능력이라고 표현된다. 또한, 인공 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가진다.
일 실시예에 따르면 자체 운동 추정 방법은, 매 시간 프레임마다 레이더 센서에 의해 수집된 레이더 센싱 데이터로부터 입력 데이터를 생성하는 단계; 및 모션 인식 모델에 기초하여, 상기 입력 데이터로부터 자체 운동 추정 장치의 자체 운동 정보(ego motion information) 를 추정하는 단계를 포함할 수 있다.
상기 자체 운동 정보를 추정하는 단계는, 제1 모델에 기초하여, 상기 입력 데이터로부터 특징 데이터를 추출하는 단계; 및 제2 모델에 기초하여, 상기 특징 데이터로부터 상기 자체 운동 정보를 산출하는 단계를 포함할 수 있다.
상기 자체 운동 정보를 추정하는 단계는, 상기 자체 운동 정보로서 상기 자체 운동 추정 장치의 위치 및 자세 중 적어도 하나를 산출하는 단계를 포함할 수 있다.
상기 자체 운동 정보를 추정하는 단계는, 상기 모션 인식 모델에서 한 시간 프레임에 대응하는 레이어에 대하여, 둘 이상의 시간 프레임들에 대응하는 레이더 센싱 데이터를 입력하는 단계를 포함할 수 있다.
상기 모션 인식 모델은, 복수의 시간 프레임들의 각각에 대응하는 레이어를 포함하는 제1 모델; 및 상기 제1 모델의 복수의 레이어들과 연결되는 제2 모델을 포함하고, 상기 자체 운동 정보를 추정하는 단계는, 상기 제1 모델에서 상기 복수의 시간 프레임들의 각각에 대응하는 레이어에 기초하여, 해당 시간 프레임에 대응하는 입력 데이터로부터 해당 시간 프레임에 대응하는 특징 데이터를 추출하는 단계; 및 상기 제2 모델에 기초하여, 상기 추출된 특징 데이터로부터 해당 시간 프레임에 대응하는 자체 운동 정보를 산출하는 단계를 포함할 수 있다.
상기 자체 운동 정보를 추정하는 단계는, 제1 모델에 기초하여, 현재 프레임에 대응하는 입력 데이터로부터 현재 특징 데이터를 추출하는 단계; 이전 프레임에 대응하는 이전 특징 데이터를 메모리로부터 로딩하는 단계; 및 제2 모델에 기초하여, 상기 이전 특징 데이터 및 상기 현재 특징 데이터로부터 상기 자체 운동 정보를 산출하는 단계를 포함할 수 있다.
상기 모션 인식 모델에 포함된 제1 모델에 기초하여 현재 프레임에서 산출된 특징 데이터를 메모리에 저장하는 단계를 더 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 상기 자체 운동 추정 장치의 외곽을 따라 배치된 적어도 하나의 레이더 센서가 레이더 신호를 검출하는 단계; 및 상기 검출된 레이더 신호를 전처리(pre-process)함으로써 상기 레이더 센싱 데이터를 생성하는 단계를 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 복수의 레이더 센싱 데이터 중 서로에 대해 미리 정한 시간 간격만큼 차이 나는 시간 프레임의 레이더 센싱 데이터를 둘 이상 선택하는 단계; 및 상기 선택된 레이더 센싱 데이터에 기초하여 상기 입력 데이터를 생성하는 단계를 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 다음 프레임에 대응하는 레이더 센싱 데이터의 수신에 응답하여, 상기 입력 데이터에 스택된 복수의 시간 프레임들 중 첫 프레임에 대응하는 레이더 센싱 데이터를 배제하는 단계를 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 레이더 신호로부터 양자화된(quantized) 속도(velocity) 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 각도를 지시하는 레이더 센싱 데이터를 생성하는 단계를 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 상기 레이더 센싱 데이터로부터 양자화된 고도각(elevation angle) 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각(horizontal angle)를 지시하는 입력 데이터를 생성하는 단계를 포함할 수 있다.
상기 입력 데이터를 생성하는 단계는, 상기 레이더 센싱 데이터를 정적인 지점(static point)에 관한 정적 데이터 및 동적인 지점(dynamic point)에 관한 동적 데이터로 구별하는 단계; 상기 정적 데이터로부터 양자화된 고도각 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 정적 입력 데이터를 생성하는 단계; 상기 동적 데이터로부터 양자화된 고도각 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 동적 입력 데이터를 생성하는 단계를 포함할 수 있다.
상기 모션 인식 모델은, 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network) 및 순환 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다.
상기 순환 뉴럴 네트워크는, 양방향 순환 뉴럴 네트워크(bi-directional neural network)일 수 있다.
상기 자체 운동 정보를 추정하는 단계는, 상기 입력 데이터에 복수의 시간 프레임들에 대응하는 복수의 레이더 센싱 데이터들이 스택된 경우에 응답하여, 상기 복수의 시간 프레임들의 각각에 대하여 자체 운동 정보를 산출하는 단계를 포함할 수 있다.
상기 추정된 자체 운동 정보에 기초하여, 상기 자체 운동 추정 장치의 주변에 존재하는 객체를 검출하는 단계를 포함할 수 있다.
일 실시예에 따른 모델 트레이닝 방법은, 기준 레이더 센싱 데이터로부터 복수의 시간 프레임들에 대한 기준 입력 데이터 및 상기 기준 입력 데이터에 대응하는 기준 출력 데이터를 생성하는 단계; 및 모션 인식 모델에 기초하여, 프로세서가 상기 기준 입력 데이터로부터 상기 기준 출력 데이터를 출력하도록, 상기 모션 인식 모델의 파라미터를 트레이닝시키는 단계를 포함할 수 있다.
일 실시예에 따른 자체 운동 추정 장치는 레이더 센싱 데이터를 생성하는 레이더 센서; 및 매 시간 프레임마다 상기 레이더 센싱 데이터로부터 입력 데이터를 생성하고, 모션 인식 모델에 기초하여 상기 입력 데이터로부터 상기 자체 운동 추정 장치의 자체 운동 정보를 추정하는 프로세서를 포함할 수 있다.
도 1은 일 실시예에 따른 모션 인식모델에 기초하여 레이더 센싱 데이터로부터 자체 운동 정보를 추정하는 과정을 설명하는 도면이다.
도 2는 일 실시예에 따른 모션 인식 모델의 구조를 설명하는 도면이다.
도 3은 일 실시예에 따른 자체 운동 추정 방법을 도시한 흐름도이다.
도 4는 일 실시예에 따른 자체 운동 추정 장치를 도시한 블록도이다.
도 5는 일 실시예에 따른 자체 운동 추정의 과정을 도시한 도면이다.
도 6은 일 실시예에 따른 모션 인식 모델의 예시적 구조를 설명하는 도면이다.
도 7 및 도 8은 일 실시예에 따른 입력 데이터의 생성을 설명하는 도면이다.
도 9 및 도 10은 일 실시예에 따른 레이더 센싱 데이터의 스택에 의해 생성된 입력 데이터를 설명하는 도면이다.
도 11 및 도 12는 일 실시예에 따른 모델 트레이닝 방법을 설명하는 흐름도이다.
도 13은 일 실시예에 따른 모델 트레이닝 장치를 도시한 블록도이다.
도 14는 일 실시예에 따른 모델 트레이닝 과정을 설명하는 도면이다.
도 15는 일 실시예에 따른 복수의 레이더 센서들을 이용하는 자체 운동 추정 장치의 예시를 설명하는 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 모션 인식 모델에 기초하여 레이더 센싱 데이터로부터 자체 운동 정보를 추정하는 과정을 설명하는 도면이다.
일 실시예에 따른 모션 인식 모델은, 레이더 센싱 데이터(101)로부터 자체 운동 정보(109)를 출력하도록 설계된 모델을 나타낼 수 있다. 모션 인식 모델은 기계 학습구조를 포함할 수 있으나, 이로 한정하는 것은 아니다. 자체 운동 추정 장치는 모션 인식 모델을 이용하여 복수의 시간 프레임들에 대한 레이더 센싱 데이터(101)가 스택된 입력 데이터로부터, 각 시간 프레임에 대한 자체 운동 정보(109)를 한번에 생성할 수 있다.
레이더 센싱 데이터(101)는 레이더 센서에 의해 센싱된 데이터일 수 있다. 레이더 센서는, 예를 들어, 레이더 센서로부터 방사된 신호가 타겟 지점으로부터 반사된 신호를 수신할 수 있고, 해당 신호로부터 레이더 센싱 데이터(101)를 생성할 수 있다. 레이더 센싱 데이터(101)는 레이더 센서로부터 타겟 지점까지의 거리를 포함할 수 있다. 다만, 도 1에 도시된 바와 같이 레이더 센싱 데이터(101)는 스택된 형태로 모션 인식 모델에 입력될 수도 있다.
자체 운동 정보(109)는 장치 자신의 운동과 연관된 정보로서, 예를 들어, 장치 자신의 상대적 움직임(relative movement), 좌표, 및 자세(pose)를 포함할 수 있다. 도 1에서 자체 운동 정보(109)는 N개의 시간 프레임 별로, (xi, yi)의 좌표를 나타낼 수 있다. N은 1이상의 정수일 수 있고, i는 1이상 N이하의 정수일 수 있다. 시간 프레임은 시간이 구분되는 단위를 나타낼 수 있다. 다만, 자체 운동 정보(109)를 이로 한정하는 것은 아니고, 3차원 좌표(예를 들어, x, y, z좌표, 및 거리(range), 아지무스(azimuth), 고도(elevation) 좌표 등), 2차원 좌표(예를 들어, x, y좌표, 거리, 각도 좌표 등), 동향(Easting), 북향(Northing), 높이(Height), 롤링(Roll), 요우잉(Yaw), 피치(Pitch), 속도(Velocity) 등과 같은 다양한 값을 포함할 수 있다.
일 실시예에 따르면 모션 인식 모델은 뉴럴 네트워크(100)를 포함할 수 있다. 뉴럴 네트워크(100)에 기초하여, 자체 운동 인식을 수행하는 방법 및 그 방법을 수행하는 장치(이하, 자체 운동 추정 장치)가 제안되고, 해당 뉴럴 네트워크(100)를 트레이닝시키는 방법 및 장치(이하, 모델 트레이닝 장치)가 제안될 수 있다.
우선, 일 실시예에 따른 자체 운동 인식을 설명하기에 앞서 뉴럴 네트워크(100)의 개략적인 구조에 대해 하기와 같이 설명한다.
일 실시예에 따르면 뉴럴 네트워크(100)는 복수의 노드들로 구성되는 복수의 레이어들을 포함할 수 있다. 또한, 뉴럴 네트워크(100)는 복수의 레이어들의 각각에 포함된 복수의 노드들을 다른 레이어에 포함된 노드에 연결시키는 연결 가중치들을 포함할 수 있다. 모델 트레이닝 장치는 뉴럴 네트워크(100)를 메모리에 저장된 내부 데이터베이스로부터 획득하거나, 통신부를 통해 외부 서버로부터 수신하여 획득할 수 있다.
예를 들어, 뉴럴 네트워크(100)는 연결선(edge)으로 연결된 많은 수의 인공 노드들을 이용하여 원하는 작업을 수행하는 인식 모델을 나타낼 수 있다. 뉴럴 네트워크(100)는 하드웨어, 또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다. 뉴럴 네트워크(100)는 인공(artificial) 뉴럴 네트워크라고 지칭될 수 있다.
뉴럴 네트워크(100)는 레이어 별로 구분되는 복수의 노드(node)를 포함할 수 있다. 노드들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 연결 가중치는 연결선이 갖는 특정한 값으로, 연결 강도라고 지칭될 수 있다.
뉴럴 네트워크(100)는 복수의 레이어들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(100)는 입력 레이어(input layer)(110), 히든 레이어(hidden layer)(120), 출력 레이어(output layer)(130)을 포함할 수 있다. 입력 레이어(110)는 트레이닝 또는 인식을 수행하기 위한 입력을 수신하여 히든 레이어(120)에 전달할 수 있고, 출력 레이어(130)는 히든 레이어(120)로부터 수신한 신호에 기초하여 뉴럴 네트워크(100)의 출력을 생성할 수 있다. 히든 레이어(120)는 입력 레이어(110)와 출력 레이어(130) 사이에 위치하고, 입력 레이어(110)를 통해 전달된 트레이닝 데이터의 트레이닝 입력을 예측하기 쉬운 값으로 변화시킬 수 있다.
입력 레이어(110), 히든 레이어(120) 및 출력 레이어(130)는 복수 개의 노드들을 포함할 수 있다. 입력 레이어(110)에 포함된 노드는 입력 노드(input node)라고 지칭되고, 히든 레이어(120)에 포함된 노드는 히든 노드(hidden node)라고 지칭되며, 출력 레이어(130)에 포함된 노드는 출력 노드(output node)라고 지칭될 수 있다.
입력 레이어(110)에 포함된 입력 노드들과 히든 레이어(120)에 포함된 히든 노드들은 연결 가중치를 가지는 연결선들을 통해 서로 연결될 수 있다. 히든 레이어(120)에 포함된 히든 노드들과 출력 레이어(130)에 포함된 출력 노드들은 연결 가중치를 가지는 연결선들을 통해 서로 연결될 수 있다.
도면에 도시하지 않았으나, 뉴럴 네트워크는 복수 개의 히든 레이어들을 포함할 수 있다. 복수 개의 히든 레이어들을 포함하는 뉴럴 네트워크는 깊은 뉴럴 네트워크(deep neural network)라고 지칭될 수 있다. 깊은 뉴럴 네트워크를 학습시키는 것은 깊은 학습(deep learning)이라고 지칭될 수 있다. 히든 레이어(120)에 제1 히든 레이어, 제2 히든 레이어, 및 제3 히든 레이어가 포함되는 경우를 가정하면, 제1 히든 레이어에 속한 히든 노드의 출력은 제2 히든 레이어에 속한 히든 노드들에 연결될 수 있다. 제2 히든 레이어에 속한 히든 노드의 출력은 제3 히든 레이어에 속한 히든 노드들에 연결될 수 있다.
예를 들어, 모델 트레이닝 장치 및 자체 운동 추정 장치는, 각 히든 레이어에 이전 히든 레이어에 포함된 이전 히든 노드들의 출력들을 연결 가중치를 가지는 연결선들을 통해 입력할 수 있고, 이전 히든 노드들의 출력들에 연결 가중치가 적용된 값들 및 활성화 함수에 기초하여 히든 레이어에 포함된 히든 노드들의 출력을 생성할 수 있다. 일 예시에 따르면, 다음 히든 노드로 출력를 발화하기 위하여, 활성화 함수의 결과는 현재 히든 노드의 임계 값을 초과해야 한다. 이 경우, 노드는 입력 벡터들을 통하여 특정 임계 활성화 강도에 도달하기 전에는 다음 노드로 신호를 발화하지 않고, 비활성화 상태를 유지할 수 있다.
일 실시예에 따른 모델 트레이닝 장치는 감독 학습(supervised learning)을 통해 뉴럴 네트워크(100)를 트레이닝시킬 수 있다. 모델 트레이닝 장치는 하드웨어 모듈, 또는 소프트웨어 모듈 및 하드웨어 모듈의 조합으로 구현될 수 있다. 감독 학습은 트레이닝 데이터의 트레이닝 입력 그에 대응하는 트레이닝 출력을 함께 뉴럴 네트워크(100)에 입력하고, 트레이닝 데이터의 트레이닝 출력에 대응하는 출력 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트하는 기법이다. 도 1은 뉴럴 네트워크의 구조를 노드 구조로 표현하였으나, 실시예들은 이러한 노드 구조에 국한되지 않는다. 메모리 스토리지에 뉴럴 네트워크를 저장하기 위하여 다양한 데이터 구조가 이용될 수 있다.
트레이닝 데이터는 트레이닝에 사용되는 데이터로서, 트레이닝 입력 및 해당 트레이닝 입력에 대응하는 트레이닝 출력의 쌍을 포함할 수 있다. 트레이닝 입력은, 예를 들어, 미리 수집된 샘플 레이더 데이터일 수 있다. 트레이닝 출력은, 임의의 트레이닝 입력에 대해 주어진 출력되어야 하는 값으로서, 예를 들어, 샘플 레이더 데이터에 대해 주어진 자체 운동 정보(109)일 수 있다.
일 실시예에 따르면, 모델 트레이닝 장치는 뉴럴 네트워크에 역전파되는 손실 및 뉴럴 네트워크에 포함된 노드들의 출력 값에 기초한 기울기 하강(gradient descent) 기법을 통하여, 노드들의 파라미터를 결정할 수 있다. 예를 들어, 모델 트레이닝 장치는 손실 역 전파 학습(back-propagation learning)을 통해 노드들 사이의 연결 가중치를 업데이트할 수 있다. 손실 역 전파 학습은, 주어진 트레이닝 데이터에 대해 포워드 계산(forward computation)을 통하여 손실을 추정한 후, 출력 레이어(130)에서 시작하여 히든 레이어(120) 및 입력 레이어(110)를 향하는 역 방향으로 추정한 손실을 전파하면서, 손실을 줄이는 방향으로 연결 가중치를 업데이트하는 방법이다. 뉴럴 네트워크(100)의 처리는 입력 레이어(110), 히든 레이어(120), 및 출력 레이어(130)의 방향으로 진행되지만, 손실 역 전파 트레이닝에서 연결 가중치의 업데이트 방향은 출력 레이어(130), 히든 레이어(120), 및 입력 레이어(110)의 방향으로 진행될 수 있다. 하나 또는 그 이상의 프로세서는 뉴럴 네트워크를 원하는 방향으로 처리하기 위하여, 레이어 또는 일련의 계산 데이터를 저장하는 버퍼 메모리를 이용할 수 있다.
모델 트레이닝 장치는 현재 설정된 연결 가중치들이 얼마나 최적에 가까운지를 측정하기 위한 목적 함수(objective function)를 정의하고, 목적 함수의 결과에 기초하여 연결 가중치들을 계속 변경하고, 트레이닝을 반복적으로 수행할 수 있다. 예를 들어, 목적 함수는 뉴럴 네트워크(100)가 트레이닝 데이터의 트레이닝 입력에 기초하여 실제 출력한 출력 값과 출력되기로 원하는 기대 값(예를 들어, 트레이닝 출력) 사이의 손실을 계산하기 위한 손실 함수일 수 있다. 모델 트레이닝 장치는 손실 함수의 값을 줄이는 방향으로 연결 가중치들을 업데이트할 수 있다.
아래에서는 일 실시예에 따른 모션 인식 모델의 구성을 상세히 설명한다.
도 2는 일 실시예에 따른 모션 인식 모델의 구조를 설명하는 도면이다.
모션 인식 모델(220)은 제1 모델(221) 및 제2 모델(222)을 포함할 수 있다.
제1 모델(221)은 임의의 데이터로부터 특징 데이터를 추출하는 모델을 나타낼 수 있다. 예를 들어, 자체 운동 추정 장치는 제1 모델(221)에 기초하여 입력 데이터(210)로부터 특징 데이터를 추출할 수 있다. 제1 모델(221)은 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network)를 포함할 수 있다. 제1 모델(221)은 복수의 시간 프레임들의 각각에 대응하는 레이어를 포함할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 제1 모델(221)은 입력 데이터(210) 중 각 시간 프레임에 대응하는 컨볼루션 레이어를 포함할 수 있다.
제2 모델(222)은 특징 데이터로부터 자체 운동 정보(230)를 생성하는 모델을 나타낼 수 있다. 예를 들어, 자체 운동 추정 장치는 제2 모델(222)에 기초하여, 특징 데이터로부터 자체 운동 정보(230)를 산출할 수 있다. 제2 모델(222)은 순환 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다. 예를 들어, 제2 모델(222)은 순환 뉴럴 네트워크로서 양방향 순환 뉴럴 네트워크(bi-directional neural network)를 포함할 수 있다. 도 2에 도시된 바와 같이 제2 모델(222)은, 제1 모델(221)의 각 시간 프레임에 대응하는 레이어와 연결되는 레이어를 포함할 수 있다.
입력 데이터(210)는 복수의 시간 프레임들의 각각에 대응하는 레이더 센싱 데이터(201)가 스택된 구조의 데이터일 수 있다. 예를 들어, 도 2에서는 입력 데이터(210)는 t-1 프레임, t 프레임, t+1 프레임의 레이더 센싱 데이터(201)가 스택된 데이터일 수 있다. 여기서, t는 1이상의 정수일 수 있다.
레이더 센싱 데이터(201)는, 도 2에서 스티어링 각도 별로 타겟 지점까지의 거리를 지시하는 스캔 이미지로 도시되었으나, 이로 한정하는 것은 아니다. 레이더 센싱 데이터(201)는 매 시간 프레임마다 레이더 센서에 의해 센싱되는 모든 데이터를 포함할 수 있다.
일 실시예에 따르면 자체 운동 추정 장치는 제1 모델(221)에서 복수의 시간 프레임들의 각각에 대응하는 레이어에 기초하여, 해당 시간 프레임에 대응하는 입력 데이터(210)로부터 해당 시간 프레임에 대응하는 특징 데이터를 추출할 수 있다. 자체 운동 추정 장치는 제2 모델(222)에 기초하여, 추출된 특징 데이터로부터 해당 시간 프레임에 대응하는 자체 운동 정보(230)를 산출할 수 있다. 더 나아가, 자체 운동 추정 장치는 모션 인식 모델(220)에서 한 시간 프레임에 대응하는 레이어에 대하여, 둘 이상의 시간 프레임들에 대응하는 레이더 센싱 데이터(201)를 입력할 수도 있다. 예를 들어, 도 2에 도시된 바와 같이, 자체 운동 추정 장치는 t-1 프레임에 대응하는 레이더 센싱 데이터(201) 및 t 프레임에 대응하는 레이더 센싱 데이터(201)를 제1 모델(221)에서 t 프레임에 대응하는 컨볼루션 레이어에 입력할 수 있다.
자체 운동 추정 장치는 모션 인식 모델(220)에 기초하여, 복수의 시간 프레임들에 대한 입력 데이터(210)로부터, 복수의 시간 프레임들에 대한 자체 운동 정보(230)를 추정할 수 있다. 자체 운동 추정 장치는 입력 데이터(210)에 복수의 시간 프레임들에 대응하는 복수의 레이더 센싱 데이터들이 스택된 경우에 응답하여, 복수의 시간 프레임들의 각각에 대하여 자체 운동 정보(230)를 산출할 수 있다. 예를 들어, 도 2에서 입력 데이터(210)는 t-1 프레임, t 프레임, t+1 프레임에 관한 레이더 센싱 데이터(201)를 지시할 수 있고, 자체 운동 추정 장치는 그 입력 데이터(210)로부터 t-1 프레임에서 장치의 좌표, t 프레임에서 장치의 좌표, 및 t+1 프레임에서 장치의 좌표를 출력할 수 있다.
다만 도 2에서는 3개의 시간 프레임만이 도시되었는데, 이는 설명의 편의를 위한 것으로서 자체 운동 추정 장치가 다루는 시간 프레임들의 개수를 이로 한정하는 것은 아니다. 예를 들어, 자체 운동 추정 장치는 M개의 시간 프레임들에 대한 입력 데이터(210)를 생성할 수 있고, 입력 데이터(210)는 t-M+1 프레임으로부터 t 프레임까지의 레이더 센싱 데이터(201)가 스택된 데이터일 수도 있다. 여기서, M은 1이상의 정수일 수 있다. 또한, 입력 데이터(210)에 복수의 시간 프레임들에 대응하는 레이더 센싱 데이터(201)가 스택된 것으로 도시되었으나, 이로 한정하는 것은 아니고, 입력 데이터(201)는 단일 시간 프레임에 대응하는 레이더 센싱 데이터(201)만 포함할 수도 있다.
아래에서는 모션 인식 모델을 이용한 자체 운동 추정 방법을 설명한다.
도 3은 일 실시예에 따른 자체 운동 추정 방법을 도시한 흐름도이다.
우선, 단계(310)에서 자체 운동 추정 장치는 매 시간 프레임마다 레이더 센서에 의해 수집된 레이더 센싱 데이터로부터 입력 데이터를 생성할 수 있다. 예를 들어, 자체 운동 추정 장치의 외곽을 따라 배치된 적어도 하나의 레이더 센서가 레이더 신호를 검출할 수 있다. 레이더 신호는 레이더 센서에 의해 방사된 후, 타겟 지점으로부터 반사되어 레이더 센서에 의해 센싱된 신호를 나타낼 수 있다. 자체 운동 추정 장치는 검출된 레이더 신호를 전처리(pre-process)함으로써 레이더 센싱 데이터를 생성할 수 있다.
그리고 단계(320)에서 자체 운동 추정 장치는 모션 인식 모델에 기초하여, 입력 데이터로부터 자체 운동 추정 장치의 자체 운동 정보(ego motion information)를 추정할 수 있다. 자체 운동 추정 장치는 자체 운동 정보로서 자체 운동 추정 장치의 위치 및 자세 중 적어도 하나를 산출할 수 있다.
도 4는 일 실시예에 따른 자체 운동 추정 장치를 도시한 블록도이다.
자체 운동 추정 장치(400)는 레이더 센서(410), 프로세서(420), 및 메모리(430)를 포함할 수 있다.
레이더 센서(410)는 레이더 신호를 방사하고 수신하는 센서를 나타낼 수 있다. 레이더 센서(410)는 레이더 신호를 전처리함으로써, 레이더 센싱 데이터를 생성할 수 있다. 예를 들어, 레이더 센서(410)는 해당 레이더 센서(410)에 의해 방사된 신호 및 반사된 신호 간의 주파수 차이에 기초하여, 레이더 센싱 데이터를 생성할 수 있다.
프로세서(420)는 매 시간 프레임마다 레이더 센싱 데이터로부터 입력 데이터를 생성할 수 있다. 프로세서(420)는 모션 인식 모델에 기초하여 입력 데이터로부터 자체 운동 추정 장치(400)의 자체 운동 정보를 추정할 수 있다. 프로세서(420)의 동작은 도 5 내지 도 15에서 상세히 설명한다.
메모리(430)는 자체 운동 추정 방법을 수행하는데 요구되는 정보를 임시적으로 또는 영구적으로 저장할 수 있다. 예를 들어, 메모리(430)는 모션 인식 모델 및 모션 인식 모델의 트레이닝된 파라미터를 저장할 수 있다. 또한, 메모리(430)는 레이더 센싱 데이터 및 입력 데이터 등을 저장할 수 있다.
도 5는 일 실시예에 따른 자체 운동 추정의 과정을 도시한 도면이다.
일 실시예에 따른 자체 운동 추정 장치는 레이더 센싱 데이터(501)에 대해 전처리 동작(510)을 수행함으로써, 입력 데이터를 생성할 수 있다. 자체 운동 추정 장치는 모션 인식 모델(520)에 기초하여, 입력 데이터로부터 자체 운동 정보(509)를 추정할 수 있다. 또한, 전처리 동작(510)을 이로 한정하는 것은 아니다. 자체 운동 추정 장치는 레이더 센서에 의해 획득되는 원시 데이터로서 레이더 신호를 전처리 동작(510)를 통해 거리, 각도, 및 속도 정보를 나타내는 레이더 센싱 데이터(501)로 변환할 수 있다. 레이더 센싱 데이터(501)는 레이더 센서의 변조 방식이나 필요한 각 해상도 등에 따라 달라질 수 있다.
자체 운동 추정 장치는 제1 모델(521)에 기초하여, 현재 프레임에 대응하는 입력 데이터로부터 현재 특징 데이터를 추출할 수 있다. 자체 운동 추정 장치는 이전 프레임에 대응하는 이전 특징 데이터(580)를 메모리로부터 로딩할 수 있다. 전처리 이후의 레이더 센싱 데이터(501)는 3차원 정보(예를 들어, 거리, 스티어링 각도, 및 도플러 속도)로 표현될 수 있고, 이러한 형태는 영상의 구조(예를 들어, X 좌표, Y 좌표, 및 채널)와 유사할 수 있다. 영상의 특징을 추출할 때 가장 좋은 성능을 내는 것은 컨볼루션 뉴럴 네트워크 및 컨볼루션 레이어일 수 있다. 컨볼루션 뉴럴 네트워크는 위치적인 정보인 거리(range), 및 각도(angle) 축의 정보를 추출하는데 좋은 성능을 나타내며, 영상의 채널(예를 들어, RGB)에 해당하는 도플러 속도 축에 대해서도 좋은 성능을 나타낼 수 있다.
자체 운동 추정 장치는 제2 모델(522)에 기초하여, 이전 특징 데이터(580) 및 현재 특징 데이터로부터 자체 운동 정보(509)를 산출할 수 있다. 레이더 센서가 매 시간 프레임마다 연속적으로 레이더 센싱 데이터를 획득할 수 있고, 가까운 시간에서 획득된 레이더 센싱 데이터는 서로 유사한 시간 상관성(temporal correlation)을 나타낼 수 있다. 시간 상관성을 나타내는 데이터에 대해 인식 성능이 좋은 모델은 순환 뉴럴 네트워크 및 순환 레이어(recurrent layer)일 수 있다.
도 6은 일 실시예에 따른 모션 인식 모델의 예시적 구조를 설명하는 도면이다.
자체 운동 추정 장치는, 연속적인 레이더 센싱 데이터를 계속적으로 획득하는 경우, 이전 시간 프레임에 대한 전처리 및 특징 데이터 추출은 중복되므로 이전 시간 프레임에 대한 전처리 및 특징 데이터 추출을 스킵할 수 있다. 예를 들어, 자체 추정 운동 장치는 컨볼루션 뉴럴 네트워크에서 추출된 특징 데이터를 저장했다가, 매 시간 프레임마다 획득되는 레이더 센싱 데이터에 대해서만 전처리 및 특징 데이터 추출을 수행함으로써 순환 뉴럴 네트워크에 이전 특징 데이터과 함께 전달할 수 있다.
일 실시예에 따른 자체 운동 추정 장치는 제1 모델(621)의 현재 프레임에 대응하는 컨볼루션 레이어에 기초하여, 현재 프레임에 대응하는 입력 데이터(610)로부터 현재 프레임에 대응하는 특징 데이터를 산출할 수 있다. 자체 운동 추정 장치는 모션 인식 모델에 포함된 제1 모델(621)에 기초하여 현재 프레임에서 산출된 특징 데이터를 메모리에 저장할 수 있다. 예를 들어, 자체 운동 추정 장치는 메모리에 저장된 특징 데이터베이스(680)에 현재 프레임에 대응하는 특징 데이터를 추가할 수 있다.
자체 운동 추정 장치는 복수의 시간 프레임들 중 일부 시간 프레임에 대응하는 입력 데이터(610)(예를 들어, 도 6에서는 t 프레임에 대응하는 데이터)를 이용하여, 복수의 시간 프레임들에 대한 자체 운동 정보(630)를 추정할 수 있다. 예를 들어, 제1 모델(621)은 단일 시간 프레임에 대응하는 입력 데이터(610)로부터 해당 시간 프레임에 대응하는 특징 데이터를 출력하는 구조로 구현될 수 있다. 제2 모델(622)은 M개의 프레임들에 대응하는 특징 데이터로부터 M개의 프레임들에 대응하는 자체 운동 정보(630)를 출력하는 구조로 구현될 수 있다. 도 6은 M이 3인 경우를 설명한다. 자체 운동 추정 장치는 제1 모델(621)에 기초하여 t 프레임에 대응하는 입력 데이터(610)로부터 t 프레임에 대응하는 현재 특징 데이터를 추출할 수 있고, t-M+1 프레임 내지 t-1 프레임에 대응하는 이전 특징 데이터를 로딩할 수 있다. 자체 운동 추정 장치는 제2 모델(622)에 기초하여 t-M+1 프레임 내지 t-1 프레임에 대응하는 특징 데이터로부터 t-M+1 프레임 내지 t-1 프레임에 대응하는 자체 운동 정보(630)를 생성할 수 있다.
따라서 자체 운동 추정 장치는 매 시간 프레임마다 M개의 시간 프레임들에 대응하는 특징 데이터를 추출하는 대신, 1개의 시간 프레임에 대응하는 특징 데이터를 추출함으로써, 특징 데이터 추출에 소요되는 연산 자원 및 시간을 절감할 수 있다.
도 7 및 도 8은 일 실시예에 따른 입력 데이터의 생성을 설명하는 도면이다.
자체 운동 추정 장치는 장치로부터 타겟 지점까지의 거리(range) 및 타겟 지점에 대한 스티어링 각도를 지시하는 맵을 타겟 지점의 속도 및 고도각 등에 따라 분류할 수 있다. 자체 운동 추정 장치는 모션 인식 모델에 입력하기에 적합한 형태로, 레이더 센싱 모델을 변환 및 분류하여, 입력 데이터를 생성할 수 있다.
일 실시예에 따르면, 자체 운동 추정 장치는 레이더 신호로부터 양자화된(quantized) 속도(velocity) 별로 레이더 센서에 의해 검출된 지점의 거리 및 각도를 지시하는 레이더 센싱 데이터를 생성할 수 있다. 자체 운동 추정 장치는 생성된 레이더 센싱 데이터를 입력 데이터(710)로 이용할 수 있다. 레이더 센싱 데이터에 의해 식별되는 속도는, 예를 들어, 타겟 지점과 자체 운동 추정 장치 간의 상대 속도를 나타낼 수 있다. 레이더 센싱 데이터에 의해 식별되는 각도는, 예를 들어, 장치의 진행 방향 및 장치로부터 타겟 지점을 향하는 방향 간의 각도 차이인 스티어링 각도일 수 있다. 다만, 본 명세서에서 스티어링 각도는 레이더 센서에 의해 센싱되는 2차원 평면에서 수평각을 나타내는 것으로 설명하였으나, 이로 한정하는 것은 아니다. 레이더 센서의 스티어링은 수평 뿐 아니라 수직에 대해서도 수행될 수 있고, 이 경우 스티어링 각도는 고도각을 나타낼 수도 있다.
도 7은 설명의 편의를 위하여 임의의 한 시간 프레임에 대해 생성된 입력 데이터(710)를 도시한다. 한 시간 프레임에 대해 생성된 입력 데이터(710)는 양자화된 속도 별로 레이더 센서에 의해 검출된 타겟 지점이 가지는 거리 및 각도를 지시하는 레이더 센싱 데이터(711)를 포함할 수 있다. 예를 들어, 자체 운동 추정 장치는 복수의 시간 프레임들에 대응하는 레이더 센싱 데이터를 스택하는 경우, 복수의 시간 프레임들의 각각에 대하여 양자화된 속도 별로 검출된 타겟 지점에 대한 거리 및 각도를 지시하는 입력 데이터(710)를 생성할 수 있다. 자체 운동 추정 장치는 모션 인식 모델(720)에 기초하여, 상술한 입력 데이터(710)로부터 자체 운동 정보를 산출할 수 있다.
다른 일 실시예에 따르면, 자체 운동 추정 장치는 레이더 센싱 데이터로부터 양자화된 고도각(elevation angle) 별로 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 입력 데이터를 생성할 수 있다. 고도각(elevation angle)은 레이더 센서를 중심으로 레이더 센서의 수평 평면(horizontal plane)으로부터 타겟 지점이 수직 방향에 대해 형성하는 각도를 나타낼 수 있다.
예를 들어, 자체 운동 추정 장치는 레이더 센싱 데이터를 정적인 지점(static point)에 관한 정적 데이터(810) 및 동적인 지점(dynamic point)에 관한 동적 데이터(820)로 구별할 수 있다. 정적인 지점은 타겟 지점 중 정지된 물체로서, 절대 속도가 0인 지점을 나타낼 수 있다. 동적인 지점은 타겟 지점 중 움직이는 물체로서, 절대 속도가 0이 아닌 지점을 나타낼 수 있다. 자체 운동 추정 장치는 정적 데이터(810)로부터 양자화된 고도각 별로 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 정적 입력 데이터를 생성할 수 있다. 자체 운동 추정 장치는 동적 데이터(820)로부터 양자화된 고도각 별로 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 동적 입력 데이터를 생성할 수 있다. 도 8은 설명의 편의를 위하여 임의의 한 시간 프레임에 대해 생성된 입력 데이터를 도시한다. 한 시간 프레임에 대해 생성된 입력 데이터는 정적 데이터(810) 및 동적 데이터(820)를 포함할 수 있다. 임의의 시간 프레임에 대한 정적 데이터(810)는 양자화된 고도각 별로 레이더 센서에 의해 검출된 타겟 지점이 가지는 거리 및 수평각을 지시하는 데이터(811)를 포함할 수 있다. 임의의 시간 프레임에 대한 동적 데이터(820)는 양자화된 고도각 별로 레이더 센서에 의해 검출된 타겟 지점이 가지는 거리 및 수평각을 지시하는 데이터(821)를 포함할 수 있다.
자체 운동 추정 장치는 모션 인식 모델(830)에 기초하여, 상술한 정적 데이터(810) 및 동적 데이터(820)를 포함하는 입력 데이터로부터 자체 운동 정보를 산출할 수 있다.
도 9 및 도 10은 일 실시예에 따른 레이더 센싱 데이터의 스택에 의해 생성된 입력 데이터를 설명하는 도면이다.
일 실시예에 따른 레이더 센싱 데이터는 공간 축(spatial axis)을 따라 앙상블(ensemble)될 수 있다.
도 9는 일부 시간 프레임이 스킵되어 스택된 입력 데이터를 도시한다. 일 실시예에 따르면 자체 운동 추정 장치는 복수의 레이더 센싱 데이터 중 서로에 대해 미리 정한 시간 간격만큼 차이 나는 시간 프레임의 레이더 센싱 데이터를 둘 이상 선택할 수 있다. 예를 들어, 도 9에서 미리 정한 시간 간격을 3 프레임을 가정할 수 있다. 자체 운동 추정 장치는 10번째 프레임까지 1번째 프레임 내지 10번째 프레임을 수집할 수 있다. 자체 운동 추정 장치는 1번째 프레임, 4번째 프레임, 7번째 프레임, 및 10번째 프레임에 대응하는 레이더 센싱 데이터(911)를 선택할 수 있다. 이후 11번째 프레임에서, 자체 운동 추정 장치는 2번째 프레임, 5번째 프레임, 8번째 프레임, 및 11번째 프레임에 대응하는 레이더 센싱 데이터(912)를 선택할 수 있다.
자체 운동 추정 장치는 선택된 레이더 센싱 데이터에 기초하여 입력 데이터를 생성할 수 있다. 예를 들어, 상술한 예시에서, 10번째 프레임에서 자체 운동 추정 장치는 1번째 프레임, 4번째 프레임, 7번째 프레임, 및 10번째 프레임에 대응하는 레이더 센싱 데이터(911)로부터 생성된 입력 데이터를 모션 인식 모델(920)에 입력할 수 있다. 자체 운동 추정 장치는 모션 인식 모델(920)에 기초하여 해당 레이더 센싱 데이터(911)로부터 1번째 프레임, 4번째 프레임, 7번째 프레임, 및 10번째 프레임에 대응하는 자체 운동 정보를 산출할 수 있다. 이후, 11번째 프레임에서 자체 운동 추정 장치는 2번째 프레임, 5번째 프레임, 8번째 프레임, 및 11번째 프레임에 대응하는 레이더 센싱 데이터(912)로부터 생성된 입력 데이터를 모션 인식 모델(920)에 입력할 수 있다. 자체 운동 추정 장치는 모션 인식 모델(920)에 기초하여 해당 레이더 센싱 데이터(912)로부터 2번째 프레임, 5번째 프레임, 8번째 프레임, 및 11번째 프레임에 대응하는 자체 운동 정보를 산출할 수 있다. 다만, 각 시간 프레임의 순서는 설명을 위한 예시로서 이로 한정하는 것은 아니다.
도 10는 매 시간 프레임마다 일정한 시간 길이에 대해 생성된 입력 데이터를 도시한다. 일 실시예에 따르면 자체 운동 추정 장치는 다음 프레임에 대응하는 레이더 센싱 데이터의 수신에 응답하여, 입력 데이터에 스택된 복수의 시간 프레임들 중 첫 프레임에 대응하는 레이더 센싱 데이터를 배제할 수 있다.
예를 들어, 도 10에서 자체 운동 추정 장치는 8번째 프레임까지 1번째 프레임 내지 8번째 프레임에 대응하는 레이더 센싱 데이터를 수집할 수 있다. 자체 운동 추정 장치는 1번째 프레임 내지 8번째 프레임에 대응하는 레이더 센싱 데이터를 스택함으로써, 8번째 프레임에 대응하는 입력 데이터(1011)를 생성할 수 있다. 이후, 9번째 프레임에서 자체 운동 추정 장치는 1번째 프레임에 대응하는 레이더 센싱 데이터를 배제할 수 있다. 자체 운동 추정 장치는 2번째 프레임 내지 9번째 프레임에 대응하는 레이더 센싱 데이터를 스택함으로써, 9번째 프레임에 대응하는 입력 데이터(1012)를 생성할 수 있다. 자체 운동 추정 장치는 모션 인식 모델(1020)에 기초하여 1번째 프레임 내지 8번째 프레임에 대응하는 입력 데이터(1011)로부터 1번째 프레임 내지 8번째 프레임에 대응하는 자체 운동 정보를 산출할 수 있다. 이후, 자체 운동 추정 장치는 모션 인식 모델(1020)에 기초하여 2번째 프레임 내지 9번째 프레임에 대응하는 입력 데이터(1012)로부터 2번째 프레임 내지 9번째 프레임에 대응하는 자체 운동 정보를 산출할 수 있다.
도 11 및 도 12는 일 실시예에 따른 모델 트레이닝 방법을 설명하는 흐름도이다.
도 11은 트레이닝의 개괄적인 흐름을 설명한다.
우선, 단계(1110)에서 모델 트레이닝 장치는 기준 레이더 센싱 데이터로부터 복수의 시간 프레임들에 대한 기준 입력 데이터 및 기준 입력 데이터에 대응하는 기준 출력 데이터를 생성할 수 있다. 기준 레이더 센싱 데이터는 트레이닝 입력에 대응할 수 있고, 기준 출력 데이터는 트레이닝 출력에 대응할 수 있다. 트레이닝 데이터는, 예를 들어, 기준 레이더 센싱 데이터 및 기준 출력 데이터의 쌍을 포함할 수 있다. 기준 출력 데이터는 기준 자체 운동 정보라고도 나타낼 수 있다.
그리고 단계(1120)에서 모델 트레이닝 장치는 모션 인식 모델에 기초하여, 프로세서가 기준 입력 데이터로부터 기준 출력 데이터를 출력하도록, 모션 인식 모델의 파라미터를 트레이닝시킬 수 있다. 예를 들어, 모델 트레이닝 장치는 모션 인식 모델에 기초하여 기준 입력 데이터로부터 산출되는 임시 출력(temporary output) 및 기준 출력 데이터 간의 손실이 임계 손실 미만이 될 때까지, 모션 인식 모델의 파라미터를 업데이트할 수 있다.
도 12는 상술한 도 11을 상세히 설명하는 흐름도이다.
우선, 단계(1211)에서 모델 트레이닝 장치는 기준 레이더 센싱 데이터를 획득할 수 있다. 예를 들어, 모델 트레이닝 장치는 트레이닝 데이터베이스로부터 기준 레이더 센싱 데이터를 획득할 수 있다.
그리고 단계(1212)에서 모델 트레이닝 장치는 기준 입력 데이터 및 기준 출력 데이터를 생성할 수 있다. 예를 들어, 모델 트레이닝 장치는 도 7 내지 도 10에서 설명한 동작과 유사한 동작을 통해 기준 레이더 센싱 데이터로부터 기준 입력 데이터를 생성할 수 있다. 모델 트레이닝 장치는 트레이닝 데이터베이스로부터 기준 출력 데이터를 획득할 수 있다.
이어서 단계(1221)에서 모델 트레이닝 장치는 기준 입력 데이터에 대한 제1 모델의 출력을 산출할 수 있다. 예를 들어, 모델 트레이닝 장치는 도 1에서 상술한 바와 유사하게, 기준 입력 데이터를 제1 모델에 입력하여, 레이어들로 전파(propagate)시킴으로써 임시 특징 데이터를 산출할 수 있다.
그리고 단계(1222)에서 모델 트레이닝 장치는 제1 모델의 출력에 대한 제2 모델의 출력을 산출할 수 있다. 예를 들어, 모델 트레이닝 장치는 도 1에서 상술한 바와 유사하게, 특징 데이터를 제2 모델에 입력하여 전파시킴으로써, 임시 출력을 산출할 수 있다.
이어서 단계(1223)에서 모델 트레이닝 장치는 제2 모델의 출력 및 기준 출력 데이터 간의 손실에 기초하여 파라미터를 업데이트할 수 있다. 예를 들어, 모델 트레이닝 장치는 제2 모델로부터 산출된 임시 출력 및 기준 출력 데이터 간의 목적 함수의 값으로서 손실(loss)을 산출할 수 있다. 목적 함수는 예를 들어, MSE(Mean square error), 절대 오차(absolute error), 휴버 손실(Huber loss) 등일 수 있다. 목적 함수는 파라미터의 정규화 텀(regularization term)과 조합되어 사용될 수도 있다. 모델 트레이닝 장치는 손실이 감소되도록, 모션 인식 모델의 파라미터를 조정할 수 있다. 모션 인식 모델의 파라미터는, 모션 인식 모델이 뉴럴 네트워크인 경우 연결 가중치를 나타낼 수 있으나, 이로 한정하는 것은 아니다.
그리고 단계(1224)에서 모델 트레이닝 장치는 업데이트된 파라미터를 저장할 수 있다. 예를 들어, 모델 트레이닝 장치는 업데이트된 파라미터를 메모리에 저장할 수 있다. 모델 트레이닝 장치는 서버에 업데이트된 파라미터를 업로드하거나, 자체 운동 추정 장치로 전송할 수도 있다. 서버에 업로드된 파라미터는, 통신망 또는 데이터 인터페이스를 통해 자체 운동 추정 장치로 전달될 수도 있다.
이어서 단계(1225)에서 모델 트레이닝 장치는 손실이 수렴되었는지 판단할 수 있다. 예를 들어, 모델 트레이닝 장치는 산출된 손실이 임계 손실 미만인 지 여부를 결정할 수 있다. 모델 트레이닝 장치는 손실이 수렴된 경우에 응답하여, 트레이닝을 종료할 수 있다. 모델 트레이닝 장치는 손실이 수렴되지 않은 경우에 응답하여, 상술한 단계들(1211 내지 1225)을 반복할 수 있다.
도 13은 일 실시예에 따른 모델 트레이닝 장치를 도시한 블록도이다.
모델 트레이닝 장치(1300)는 프로세서(1310) 및 메모리(1320)를 포함할 수 있다.
프로세서(1310)는 기준 레이더 센싱 데이터로부터 복수의 시간 프레임들에 대한 기준 입력 데이터(1391) 및 기준 입력 데이터(1391)에 대응하는 기준 출력 데이터(1392)를 생성할 수 있다. 프로세서(1310)는 모션 인식 모델(1321)에 기초하여, 프로세서(1310)가 기준 입력 데이터(1391)로부터 기준 출력 데이터(1392)를 출력하도록, 모션 인식 모델(1321)의 파라미터(1322)를 트레이닝시킬 수 있다. 다만, 프로세서(1310)의 동작으로 이로 한정하는 것은 아니고, 도 11 및 도 12에서 설명한 동작들과 함께 결합되어 수행할 수도 있다.
메모리(1320)는 모델 트레이닝에 요구되는 정보를 임시적으로 또는 영구적으로 저장할 수 있다. 예를 들어, 메모리(1320)는 모션 인식 모델(1321), 파라미터(1322) 및 트레이닝 데이터를 저장할 수 있다. 메모리(1320)는 트레이닝 데이터로서 기준 입력 데이터(1391) 및 기준 출력 데이터(1392)를 저장할 수 있다. 기준 출력 데이터(1392)는 기준 입력 데이터(1391)에 대해 주어진 값으로서, 기준 입력 데이터(1391)에 대해 출력되어야 하는 자체 운동 정보일 수 있다. 또한, 메모리(1320)는 기준 입력 데이터(1391) 대신 기준 레이더 센싱 데이터를 저장할 수도 있다.
모델 트레이닝 장치(1300)는 자체 운동 추정 장치와 별도로 구현될 수 있으나, 이로 한정하는 것은 아니다. 모델 트레이닝 장치(1300) 및 자체 운동 추정 장치는 단일 기기로 통합되어 구현될 수도 있다.
도 14는 일 실시예에 따른 모델 트레이닝 과정을 설명하는 도면이다.
모델 트레이닝 장치는 모션 인식 모델이 기준 레이더 센싱 데이터(1491)로부터 기준 자체 운동 정보(1492)를 출력하도록, 모션 인식 모델을 트레이닝시킬 수 있다. 예를 들어, 모델 트레이닝 장치는 전처리가 완료된 연속적인 N개의 레이더 데이터를 사용할 수 있다. 트레이닝을 위해, 모델 트레이닝 장치는 이러한 레이더 데이터 중 NB개의 미니배치(mini-batch)개 레이더 데이터를 입력으로 사용할 수 있다. 모션 인식 모델은 컨볼루션 뉴럴 네트워크 및 순환 뉴럴 네트워크를 포함할 수 있다. 모션 인식 모델로부터 출력되는 자체 운동 정보는 장치의 위치와 자세 추정 값들을 포함할 수 있고, 예를 들어, 도 14에 도시된 바와 같이 각 시간 프레임마다 N개의 x, y 좌표를 포함할 수도 있다.
예를 들어, 모델 트레이닝 장치는 원시 데이터(raw data)로서 레이더 신호를 획득할 수 있고, 기본적인 RSP (Radar Signal Processing) 전처리를 통하여 기준 레이더 센싱 데이터(1491)를 생성할 수 있다. 모델 트레이닝 장치는 이러한 기준 레이더 센싱 데이터(1491)들의 시간적인 축적을 통해 기준 입력 데이터를 생성할 수 있다.
모델 트레이닝 장치는, 트레이닝을 위하여, 각 시간 프레임마다 제1 모델(1421)을 통해 임시 특징 데이터를 산출할 수 있다. 예를 들어, 도 14에서, 모델 트레이닝 장치는 t-2 프레임, t-1 프레임, 및 t 프레임의 각각에 대하여 임시 특징 데이터를 산출할 수 있다. 모델 트레이닝 장치는 각 시간 프레임에 대하여 제2 모델(1422)에 기초하여, 임시 출력을 산출할 수 있다.
모델 트레이닝 장치는 임시 출력을 정답(ground truth)(예를 들어, 기준 자체 운동 정보(1492))과 비교하여 오류값(예를 들어, 손실)을 계산할 수 있다. 모델 트레이닝 장치는 MSE (Mean Squared Error)와 같은 손실 함수를 사용할 수 있다.
모델 트레이닝 장치는 계산된 오류값을 역전파(BPTT, Back Propagation Through Time) 기법에 따라 하위 레이어들로 전파하면서, 모션 인식 모델의 각 레이어 사이의 파라미터를 업데이트할 수 있다.
모델 트레이닝 장치는 매 트레이닝마다 제1 모델(1421) 및 제2 모델(1422)의 가중치 및 상태값들을 저장함으로써, 로컬라이징된 모션 인식 모델을 생성할 수 있다. 모델 트레이닝 장치는 오류값이 수렴하게 되면 트레이닝을 종료하고, 아니면 재트레이닝을 수행할 수 있다.
또한, 모델 트레이닝 장치의 트레이닝에서는 제1 모델(1421)이 이전 프레임의 레이어(1450)를 포함할 수 있으나, 자체 운동 추정 동작에 사용될 때는 이전 프레임의 레이어(1450)가 제거될 수 있다. 따라서, 모델 트레이닝 장치는 트레이닝에서는 복수의 트레이닝 데이터를 이용함으로써 트레이닝 속도를 증가시킬 수 있고, 자체 운동 추정 장치는 현재 프레임에 대응하는 레이더 센싱 데이터를 이용함으로써 자체 운동 추정 연산 속도를 개선할 수 있다.
도 15는 일 실시예에 따른 복수의 레이더 센서들을 이용하는 자체 운동 추정 장치의 예시를 설명하는 도면이다.
일 실시예에 따르면, 자체 운동 추정 장치(1500)는 도 15에 도시된 바와 같이, 차량으로 구현될 수 있다. 자체 운동 장치는, 차량에 장착된 레이더 센서들을 로컬라이징함으로써, 차량의 이동 경로 및 자세를 추정할 수 있다. 자체 운동 추정 장치(1500)는 추정된 자체 운동 정보에 기초하여, 자체 운동 추정 장치(1500)의 주변에 존재하는 객체를 검출할 수 있다. 또한, 자체 운동 추정 장치(1500)는 차량의 다양한 ADAS (advanced driver assistance systems) 기능 및 자율주행 등을 보조할 수 있다. 또한 자체 운동 추정 장치(1500)는 매 시간 프레임마다 측정된 자신의 정확한 위치 정보에 기초하여, 고해상도의 영상을 넓은 범위에 대하여 획득할 수 있다.
또한, 자체 운동 추정 장치(1500)는 도 15에 도시된 바와 같이 복수의 레이더 센서를 포함하는 경우, 각각의 레이더 센서를 로컬라이징하여 그 결과를 융합함으로써, 자체 운동 정보 추정의 정확도를 높일 수 있다. 예를 들어, 자체 운동 추정 장치(1500)는 레이더 센서를 다른 센서(카메라 센서, 초음파 센서, 및 라이다(LiDAR, light detection and ranging))와 결합하거나, GNSS, 차량 속도 및 스티어링 조향각 등의 정보와 자체 운동 정보를 융합함으로써, 정확도를 개선할 수 있다. 도 15에 도시된 바와 같이 전방향의 레이더 센싱 데이터를 획득하는 경우, 자체 운동 추정 장치(1500)는 차량의 주변 360도에 대한 영상을 생성하거나 주변 환경을 인식할 수 있다.
일 실시예에 따른 자체 운동 추정 장치(1500)는, 룹 클로징(loop closing)과 같은 특별한 동작 없이도 시간이 경과해도 정확도를 유지할 수 있다. 또한 자체 운동 추정 장치(1500)는 촬영되는 장면(scene) 안에 움직이는 물체가 있더라도 정확도를 유지할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.  
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
400: 자체 운동 추정 장치
410: 레이더 센서
420: 프로세서
430: 메모리

Claims (20)

  1. 자체 운동 추정 방법에 있어서,
    매 시간 프레임마다 레이더 센서에 의해 수집된 레이더 센싱 데이터로부터 입력 데이터를 생성하는 단계; 및
    모션 인식 모델에 기초하여, 상기 입력 데이터로부터 자체 운동 추정 장치의 자체 운동 정보(ego motion information)를 추정하는 단계
    를 포함하는 자체 운동 추정 방법.
  2. 제1항에 있어서,
    상기 자체 운동 정보를 추정하는 단계는,
    제1 모델에 기초하여, 상기 입력 데이터로부터 특징 데이터를 추출하는 단계; 및
    제2 모델에 기초하여, 상기 특징 데이터로부터 상기 자체 운동 정보를 산출하는 단계
    를 포함하는 자체 운동 추정 방법.
  3. 제1항에 있어서,
    상기 자체 운동 정보를 추정하는 단계는,
    상기 자체 운동 정보로서 상기 자체 운동 추정 장치의 위치 및 자세 중 적어도 하나를 산출하는 단계
    를 포함하는 자체 운동 추정 방법.
  4. 제1항에 있어서,
    상기 자체 운동 정보를 추정하는 단계는,
    상기 모션 인식 모델에서 한 시간 프레임에 대응하는 레이어에 대하여, 둘 이상의 시간 프레임들에 대응하는 레이더 센싱 데이터를 입력하는 단계
    를 포함하는 자체 운동 추정 방법.
  5. 제1항에 있어서,
    상기 모션 인식 모델은,
    복수의 시간 프레임들의 각각에 대응하는 레이어를 포함하는 제1 모델; 및
    상기 제1 모델의 복수의 레이어들과 연결되는 제2 모델
    을 포함하고,
    상기 자체 운동 정보를 추정하는 단계는,
    상기 제1 모델에서 상기 복수의 시간 프레임들의 각각에 대응하는 레이어에 기초하여, 해당 시간 프레임에 대응하는 입력 데이터로부터 해당 시간 프레임에 대응하는 특징 데이터를 추출하는 단계; 및
    상기 제2 모델에 기초하여, 상기 추출된 특징 데이터로부터 해당 시간 프레임에 대응하는 자체 운동 정보를 산출하는 단계
    를 포함하는 자체 운동 추정 방법.
  6. 제1항에 있어서,
    상기 자체 운동 정보를 추정하는 단계는,
    제1 모델에 기초하여, 현재 프레임에 대응하는 입력 데이터로부터 현재 특징 데이터를 추출하는 단계;
    이전 프레임에 대응하는 이전 특징 데이터를 메모리로부터 로딩하는 단계; 및
    제2 모델에 기초하여, 상기 이전 특징 데이터 및 상기 현재 특징 데이터로부터 상기 자체 운동 정보를 산출하는 단계
    를 포함하는 자체 운동 추정 방법.
  7. 제1항에 있어서,
    상기 모션 인식 모델에 포함된 제1 모델에 기초하여 현재 프레임에서 산출된 특징 데이터를 메모리에 저장하는 단계
    를 더 포함하는 자체 운동 추정 방법.
  8. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    상기 자체 운동 추정 장치의 외곽을 따라 배치된 적어도 하나의 레이더 센서가이 레이더 신호를 검출하는 단계; 및
    상기 검출된 레이더 신호를 전처리(pre-process)함으로써 상기 레이더 센싱 데이터를 생성하는 단계
    를 포함하는 자체 운동 추정 방법.
  9. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    복수의 레이더 센싱 데이터 중 서로에 대해 미리 정한 시간 간격만큼 차이 나는 시간 프레임의 레이더 센싱 데이터를 둘 이상 선택하는 단계; 및
    상기 선택된 레이더 센싱 데이터에 기초하여 상기 입력 데이터를 생성하는 단계
    자체 운동 추정 방법.
  10. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    다음 프레임에 대응하는 레이더 센싱 데이터의 수신에 응답하여, 상기 입력 데이터에 스택된 복수의 시간 프레임들 중 첫 프레임에 대응하는 레이더 센싱 데이터를 배제하는 단계
    를 포함하는 자체 운동 추정 방법.
  11. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    레이더 신호로부터 양자화된(quantized) 속도(velocity) 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 각도를 지시하는 레이더 센싱 데이터를 생성하는 단계
    를 포함하는 자체 운동 추정 방법.
  12. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    상기 레이더 센싱 데이터로부터 양자화된 고도각(elevation angle) 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 입력 데이터를 생성하는 단계
    를 포함하는 자체 운동 추정 방법.
  13. 제1항에 있어서,
    상기 입력 데이터를 생성하는 단계는,
    상기 레이더 센싱 데이터를 정적인 지점(static point)에 관한 정적 데이터 및 동적인 지점(dynamic point)에 관한 동적 데이터로 구별하는 단계;
    상기 정적 데이터로부터 양자화된 고도각 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 정적 입력 데이터를 생성하는 단계;
    상기 동적 데이터로부터 양자화된 고도각 별로 상기 레이더 센서에 의해 검출된 지점의 거리 및 수평각을 지시하는 동적 입력 데이터를 생성하는 단계
    를 포함하는 자체 운동 추정 방법.
  14. 제1항에 있어서,
    상기 모션 인식 모델은,
    컨볼루션 뉴럴 네트워크(CNN, convolutional neural network) 및 순환 뉴럴 네트워크(recurrent neural network)를 포함하는,
    자체 운동 추정 방법.
  15. 제14항에 있어서,
    상기 순환 뉴럴 네트워크는,
    양방향 순환 뉴럴 네트워크(bi-directional neural network)인,
    자체 운동 추정 방법.
  16. 제1항에 있어서,
    상기 자체 운동 정보를 추정하는 단계는,
    상기 입력 데이터에 복수의 시간 프레임들에 대응하는 복수의 레이더 센싱 데이터들이 스택된 경우에 응답하여, 상기 복수의 시간 프레임들의 각각에 대하여 자체 운동 정보를 산출하는 단계
    를 포함하는 자체 운동 추정 방법.
  17. 제1항에 있어서,
    상기 추정된 자체 운동 정보에 기초하여, 상기 자체 운동 추정 장치의 주변에 존재하는 객체를 검출하는 단계
    를 포함하는 자체 운동 추정 방법.
  18. 모델 트레이닝 방법에 있어서,
    기준 레이더 센싱 데이터로부터 복수의 시간 프레임들에 대한 기준 입력 데이터 및 상기 기준 입력 데이터에 대응하는 기준 출력 데이터를 생성하는 단계; 및
    모션 인식 모델에 기초하여, 프로세서가 상기 기준 입력 데이터로부터 상기 기준 출력 데이터를 출력하도록, 상기 모션 인식 모델의 파라미터를 트레이닝시키는 단계
    를 포함하는 모델 트레이닝 방법.
  19. 제1항 내지 제18항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 기록 매체.
  20. 자체 운동 추정 장치에 있어서,
    레이더 센싱 데이터를 생성하는 레이더 센서; 및
    매 시간 프레임마다 상기 레이더 센싱 데이터로부터 입력 데이터를 생성하고, 모션 인식 모델에 기초하여 상기 입력 데이터로부터 상기 자체 운동 추정 장치의 자체 운동 정보를 추정하는 프로세서
    를 포함하는 자체 운동 추정 장치.
KR1020180073709A 2018-06-27 2018-06-27 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법 KR20200010640A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180073709A KR20200010640A (ko) 2018-06-27 2018-06-27 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법
US16/351,689 US20200003886A1 (en) 2018-06-27 2019-03-13 Apparatus and method with ego motion estimation
CN201910216093.4A CN110646787A (zh) 2018-06-27 2019-03-20 自运动估计方法和设备以及模型训练方法和设备
EP19170539.1A EP3588129A1 (en) 2018-06-27 2019-04-23 Apparatus and method with ego motion estimation
JP2019114795A JP7339029B2 (ja) 2018-06-27 2019-06-20 モーション認識モデルを用いた自体運動推定装置及び方法並びにモーション認識モデルトレーニング装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180073709A KR20200010640A (ko) 2018-06-27 2018-06-27 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20200010640A true KR20200010640A (ko) 2020-01-31

Family

ID=66248586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180073709A KR20200010640A (ko) 2018-06-27 2018-06-27 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법

Country Status (5)

Country Link
US (1) US20200003886A1 (ko)
EP (1) EP3588129A1 (ko)
JP (1) JP7339029B2 (ko)
KR (1) KR20200010640A (ko)
CN (1) CN110646787A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220007245A (ko) 2020-07-10 2022-01-18 고려대학교 산학협력단 뇌파를 활용한 동작 상상 분류 장치 및 방법
WO2023234567A1 (ko) * 2022-05-30 2023-12-07 경북대학교 산학협력단 카메라와 레이더 센서를 이용한 딥러닝 기반 레이더 센서 고장 분류 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200132468A (ko) * 2019-05-17 2020-11-25 삼성전자주식회사 첨단 운전자 지원 장치 및 이의 객체를 검출하는 방법
KR20200144862A (ko) * 2019-06-19 2020-12-30 삼성전자주식회사 레이더의 해상도 향상 방법 및 장치
CN113470342B (zh) * 2020-03-30 2023-04-07 华为技术有限公司 一种自运动估计的方法及装置
KR20210154446A (ko) * 2020-06-12 2021-12-21 삼성전자주식회사 복소수 기반 어텐션 네트워크 연산 방법 및 장치
US20220226994A1 (en) * 2020-07-20 2022-07-21 Georgia Tech Research Corporation Heterogeneous graph attention networks for scalable multi-robot scheduling
EP4036601A1 (en) * 2021-01-29 2022-08-03 Aptiv Technologies Limited Radar data processing for vehicle ego-motion estimation
CN113759331B (zh) * 2021-02-07 2024-04-12 贵州京邦达供应链科技有限公司 一种雷达定位方法、装置、设备及存储介质
CN113516242B (zh) * 2021-08-10 2024-05-14 中国科学院空天信息创新研究院 一种基于自注意力机制的穿墙雷达人体动作识别方法
CN114895363A (zh) * 2022-05-07 2022-08-12 上海恒岳智能交通科技有限公司 一种路基两侧视觉成像监测入侵物态势识别方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008038365A1 (de) 2008-07-02 2010-01-07 Adc Automotive Distance Control Systems Gmbh Fahrzeug-Radarsystem und Verfahren zur Bestimmung einer Position zumindest eines Objekts relativ zu einem Fahrzeug
US9305364B2 (en) * 2013-02-19 2016-04-05 Caterpillar Inc. Motion estimation systems and methods
DE102014223363B4 (de) 2014-11-17 2021-04-29 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Lokalisation eines Kraftfahrzeugs in einer ortsfesten Referenzkarte
KR101618501B1 (ko) * 2015-02-04 2016-05-09 한국기술교육대학교 산학협력단 자차량의 에고 모션 추정방법
DE102015104776B4 (de) 2015-03-27 2023-08-31 Infineon Technologies Ag Verfahren und Vorrichtung zum Verarbeiten von Radarsignalen
KR102147361B1 (ko) * 2015-09-18 2020-08-24 삼성전자주식회사 객체 인식 장치 및 방법, 객체 인식 모델 학습 장치 및 방법
US9802599B2 (en) * 2016-03-08 2017-10-31 Ford Global Technologies, Llc Vehicle lane placement
US10049279B2 (en) * 2016-03-11 2018-08-14 Qualcomm Incorporated Recurrent networks with motion-based attention for video understanding
US10949737B2 (en) * 2016-07-13 2021-03-16 Samsung Electronics Co., Ltd. Method for neural network and apparatus performing same method
US10514799B2 (en) * 2016-09-08 2019-12-24 Google Llc Deep machine learning to perform touch motion prediction
KR101893290B1 (ko) * 2016-11-16 2018-08-29 한국과학기술원 딥 러닝 기반 교육용 비디오 학습 및 평가 시스템
CN106780608B (zh) * 2016-11-23 2020-06-02 北京地平线机器人技术研发有限公司 位姿信息估计方法、装置和可移动设备
JP7036610B2 (ja) * 2017-03-16 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 学習方法およびプログラム
CN110770760B (zh) * 2017-05-19 2024-01-12 渊慧科技有限公司 视觉交互网络系统及其方法、训练方法和计算机存储介质
CN107341442B (zh) * 2017-05-22 2023-06-06 腾讯科技(上海)有限公司 运动控制方法、装置、计算机设备和服务机器人
US10275691B2 (en) * 2017-08-22 2019-04-30 Northrop Grumman Systems Corporation Adaptive real-time detection and examination network (ARDEN)
US20190079536A1 (en) * 2017-09-13 2019-03-14 TuSimple Training and testing of a neural network system for deep odometry assisted by static scene optical flow
US20180095475A1 (en) * 2017-11-22 2018-04-05 GM Global Technology Operations LLC Systems and methods for visual position estimation in autonomous vehicles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220007245A (ko) 2020-07-10 2022-01-18 고려대학교 산학협력단 뇌파를 활용한 동작 상상 분류 장치 및 방법
WO2023234567A1 (ko) * 2022-05-30 2023-12-07 경북대학교 산학협력단 카메라와 레이더 센서를 이용한 딥러닝 기반 레이더 센서 고장 분류 장치 및 방법

Also Published As

Publication number Publication date
CN110646787A (zh) 2020-01-03
JP7339029B2 (ja) 2023-09-05
JP2020003489A (ja) 2020-01-09
EP3588129A1 (en) 2020-01-01
US20200003886A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
KR20200010640A (ko) 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법
US20210362596A1 (en) End-To-End Tracking of Objects
KR102615196B1 (ko) 객체 검출 모델 트레이닝 장치 및 방법
CN110363058B (zh) 使用单触发卷积神经网络的用于避障的三维对象定位
US11520037B2 (en) Perception system
CN106780608B (zh) 位姿信息估计方法、装置和可移动设备
US11460568B2 (en) Estimating in-plane velocity from an arbitrary radar return
CN112937603A (zh) 用于预测目标车辆的位置的系统和方法
US11657475B2 (en) Machine learned registration and multi-modal regression
US11628855B1 (en) Object velocity detection from multi-modal sensor data
Yang et al. Reactive obstacle avoidance of monocular quadrotors with online adapted depth prediction network
US11960294B2 (en) Self-supervised attention learning for depth and motion estimation
US20220250646A1 (en) Route-relative trajectory numerical integrator and controller using the same
KR20200043005A (ko) 이미지 인식 모델을 트레이닝시키는 장치 및 방법과 이미지 인식 장치 및 방법
Ishihara et al. Deep radio-visual localization
Son et al. Synthetic deep neural network design for lidar-inertial odometry based on CNN and LSTM
Yang et al. Monocular camera and single-beam sonar-based underwater collision-free navigation with domain randomization
US20210109541A1 (en) Method of estimating position in local area of large space and robot and cloud server implementing thereof
Din et al. Embedded low power controller for autonomous landing of UAV using artificial neural network
Lu et al. LPNet: A reaction-based local planner for autonomous collision avoidance using imitation learning
CN116295507B (zh) 一种基于深度学习的激光惯性里程计优化方法、系统
Mateus et al. Active perception applied to unmanned aerial vehicles through deep reinforcement learning
US20240094009A1 (en) Map annotation modification using sparse pose graph node updates
Leong Reinforcement Learning with Frontier-Based Exploration via Autonomous Environment
Zhang Learning-based monocular vision obstacle detection and avoidance for UAV navigation in urban airspace

Legal Events

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