KR20240062229A - 레이더 데이터 기반 신경망 학습 방법 및 장치 - Google Patents

레이더 데이터 기반 신경망 학습 방법 및 장치 Download PDF

Info

Publication number
KR20240062229A
KR20240062229A KR1020220141373A KR20220141373A KR20240062229A KR 20240062229 A KR20240062229 A KR 20240062229A KR 1020220141373 A KR1020220141373 A KR 1020220141373A KR 20220141373 A KR20220141373 A KR 20220141373A KR 20240062229 A KR20240062229 A KR 20240062229A
Authority
KR
South Korea
Prior art keywords
cluster
data
neural network
viewpoint
target object
Prior art date
Application number
KR1020220141373A
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 KR1020220141373A priority Critical patent/KR20240062229A/ko
Priority to US18/297,767 priority patent/US20240142575A1/en
Publication of KR20240062229A publication Critical patent/KR20240062229A/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
    • 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
    • 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/35Details of non-pulse systems
    • G01S7/352Receivers
    • G01S7/356Receivers involving particularities of FFT processing
    • 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/505Systems of measurement based on relative movement of target using Doppler effect for determining closest range to a target or corresponding time, e.g. miss-distance indicator
    • 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/583Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets
    • G01S13/584Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets adapted for simultaneous range and velocity measurements
    • 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/66Radar-tracking systems; Analogous systems
    • G01S13/72Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
    • G01S13/723Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
    • 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/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/865Combination of radar systems with lidar 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/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • 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
    • 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/04Display arrangements
    • G01S7/06Cathode-ray tube displays or other two dimensional or three-dimensional displays
    • G01S7/10Providing two-dimensional and co-ordinated display of distance and direction
    • 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/411Identification of targets based on measurements of radar reflectivity
    • G01S7/412Identification of targets based on measurements of radar reflectivity based on a comparison between measured values and known or stored values
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

신경망 학습 방법은 포인트 클라우드들을 클러스터링하는 단계; 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하는 단계; 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하는 단계; 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계; 및 추적 결과 결정된 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 클러스터에 대응하는 출력 데이터에 기초하여 신경망을 학습시키는 단계를 포함할 수 있다.

Description

레이더 데이터 기반 신경망 학습 방법 및 장치{METHOD AND APPARATUS FOR TRAINING NEURAL NETWORK BASED ON RADAR DATA}
아래 실시예들은 레이더 데이터 기반 신경망 학습 방법 및 장치에 관한 것이다.
첨단 운전자 보조 시스템(Advanced Driver Assistance System, ADAS)은 차량의 내부 또는 외부에 탑재되는 센서들을 이용하여 운전자의 안전과 편의를 증진하고, 위험한 상황을 회피하고자 하는 목적으로 운전을 지원하는 시스템이다.
ADAS에서 이용되는 센서들은 카메라, 적외선 센서, 초음파 센서, 라이더(LiDAR) 및 레이더(Radar)를 포함할 수 있다. 이 중에서 레이더는 광학 기반 센서에 비해, 날씨와 같은 주변 환경의 영향을 받지 않고 차량 주변의 객체(Object)를 안정적으로 측정할 수 있다.
일 실시예에 따른 신경망 학습 방법은 제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하는 단계; 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하는 단계; 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하는 단계; 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계; 및 추적 결과 결정된 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 클러스터에 대응하는 출력 데이터에 기초하여 신경망을 학습시키는 단계를 포함할 수 있다.
일 실시예에 따른 포인트 클라우드 데이터는 주행 차량에 부착된 레이더 장치로부터 수신된 레이더 데이터에 기초하여 생성된 데이터일 수 있다.
일 실시예에 따른 포인트 클라우드 데이터는 거리, 속도 및 도래각을 축으로 하는 3차원 제1 좌표계를 제2 좌표계로 변환하여 생성된 데이터일 수 있다.
일 실시예에 따른 제1 좌표계는 레이더 데이터로부터 거리 FFT를 통해 획득한 거리, 레이더 데이터로부터 도플러 FFT를 통해 획득한 속도 및 레이더 데이터로부터 획득한 도래각 중 적어도 하나에 기초하여 생성된 좌표계일 수 있다.
일 실시예에 따른 포인트 클라우드 데이터는 위치를 지시하는 2개의 축 또는 3개의 축과 속도를 지시하는 1개의 축으로 구성된 3차원 또는 4차원 제2 좌표계로 표현되는 데이터이고, 제2 좌표계는 주행 차량 및 객체의 위치를 표시할 수 있는 절대 좌표계일 수 있다.
일 실시예에 따른 제2 시점의 포인트 클라우드 데이터를 클러스터링하는 단계는 포인트 클라우드 데이터에서 포인트 클라우드들의 밀집 정도에 기초하여 포인트 클라우드들을 클러스터링하는 단계를 포함할 수 있다.
일 실시예에 따른 사전 학습된 신경망은 주행 차량으로부터 사전 결정된 거리 이내에 위치하는 적어도 하나의 타겟 객체를 인식하도록 학습되고, 사전 학습된 신경망의 입력 데이터는 포인트 클라우드들일 수 있다.
일 실시예에 따른 사전 학습된 신경망은 레이더 데이터에 기초하여 사전 학습된 제1 신경망 또는 라이다 데이터 또는 제3 센서 데이터 중 적어도 하나에 기초하여 사전 학습된 제2 신경망 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 출력 데이터는 적어도 하나의 클러스터 각각에 대응하는 객체의 종류, 위치, 크기 또는 이동 방향 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 신뢰도는 불확실도 또는 컨피던스 스코어(confidence score) 중 적어도 하나에 기초하여 결정될 수 있다.
일 실시예에 따른 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하는 단계는 적어도 하나의 클러스터 중 하나의 클러스터에 대응하는 출력 데이터의 불확실도가 미리 결정된 제1 기준 이하인 경우, 클러스터를 타겟 객체로 결정하는 단계; 또는 클러스터에 대응하는 출력 데이터의 컨피던스 스코어가 미리 결정된 제2 기준 이상인 경우, 클러스터를 타겟 객체로 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는 제2 좌표계에서 레이더 장치가 부착된 차량의 정보에 기초하여 타겟 객체에 대응하는 클러스터를 추적하는 단계를 포함할 수 있다.
일 실시예에 따른 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는 타겟 객체가 제2 좌표계에서 고정되어 있음을 전제로, 클러스터를 추적하는 단계를 포함할 수 있다.
일 실시예에 따른 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는 제1 시점의 포인트 클라우드 데이터에서 클러스터에 대응하는 상태 정보에 기초하여 예측한 제2 시점에서의 클러스터에 대응하는 상태 정보와 제2 시점의 포인트 클라우드 데이터에서 클러스터에 대응하는 상태 정보의 비교에 기초하여 클러스터를 추적하는 단계를 포함할 수 있다.
일 실시예에 따른 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 클러스터에 대응하는 포인트 클라우드들을 저장하는 단계를 포함할 수 있다.
일 실시예에 따른 신경망을 학습시키는 단계는 출력 데이터를 정답 데이터로 하고, 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 중 적어도 일부를 학습 입력 데이터로 하는 학습 데이터에 기초하여 신경망을 학습시키는 단계를 포함할 수 있다.
일 실시예에 따른 포인트 클라우드들은 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들을 하나의 시간 단위로 병합시킨 데이터를 포함할 수 있다.
일 실시예에 따른 전자 장치는 하나 이상의 프로세서; 및 레이더 장치를 포함하고, 프로세서는 제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하고, 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하고, 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하고, 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하고, 그리고 추적 결과 결정된 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 클러스터에 대응하는 출력 데이터에 기초하여 신경망을 학습시킬 수 있다.
일 실시예에 따른 주행 차량으로부터 레이더 데이터를 수신하여 신경망을 학습시키는 서버는 제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하고, 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하고, 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하고, 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하고, 그리고 추적 결과 결정된 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 클러스터에 대응하는 출력 데이터에 기초하여 신경망을 학습시킬 수 있다.
도 1은 일 실시예에 따른 신경망 학습 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 클라우드 포인트까지의 거리 및 클라우드 포인트의 속도를 산출하기 위한 방법을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 주행 차량과 타겟 객체 사이 거리에 따른 포인트 클라우드를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 시간의 흐름에 따라 누적되는 포인트 클라우드 데이터를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 시간의 흐름에 따라 누적된 포인트 클라우드 데이터를 이용하여 신경망을 재학습시키는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 제2 좌표계를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 전자 장치를 설명하기 위한 블록도이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실제로 구현된 형태는 다양한 다른 모습을 가질 수 있으며 본 명세서에 설명된 실시예로만 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의"와 "바로~간의" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
일 실시예에 따른 프로세서는, 예를 들면, 소프트웨어(예: 프로그램)를 실행하여 프로세서에 연결된 전자 장치의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서는 다른 구성요소로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다. 일실시예에 따르면, 프로세서는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 신경망 학습 방법을 설명하기 위한 흐름도이다.
이하에서는 신뢰도가 높은 신경망의 출력 데이터를 정답 데이터(예, pseudo label data)로 활용하여 신뢰도가 낮은(예, 주행 차량과 거리가 먼 객체 또는 먼 과거 데이터) 데이터를 신경망의 재학습에 사용하는 방법이 개시된다. 신뢰도가 높은 신경망의 출력 데이터는 주행 차량과 거리가 가까운 객체에 대응하는 출력 데이터일 수 있다. 주행 차량과 거리가 가까울수록 신경망이 출력하는 객체에 관한 정보의 신뢰도는 증가할 수 있다. 이와 반대로, 주행 차량과 거리가 멀수록 신경망이 출력하는 객체에 관한 정보의 신뢰도는 감소할 수 있다. 따라서 신뢰도가 낮은 데이터는 주행 차량과 거리가 먼 객체에 대응하는 출력 데이터 또는 해당 객체의 포인트 클라우드 데이터일 수 있다.
전자 장치는 주행 차량에 부착된 레이더 장치를 이용하여 주행 차량 주변에 위치하는 객체들(예, 주변 차량, 장애물, 지형 등)을 인식할 수 있다. 객체를 인식하기 위하여, 전자 장치는 레이더 데이터를 포인트 클라우드 데이터로 변환할 수 있다. 하지만 레이더 데이터 기반 포인트 클라우드 데이터는 라이다 데이터 기반 포인트 클라우드 데이터와 비교하여 포인트 클라우드의 밀도가 낮을 수 있다. 따라서, 신경망의 지도 학습에 사용되는 정답 데이터를 생성하기 위하여, 낮은 밀도의 포인트 클라우드에 기초하여 라벨링하는 것은 정확도도 낮고 시간이 오래 소요되는 작업일 수 있다. 따라서, 정답 데이터 생성을 위하여 라이다 데이터 기반 포인트 클라우드 데이터를 이용하여 라벨링을 수행할 수 있다. 예를 들어, 라이다 데이터 기반 포인트 클라우드 데이터를 참조하여, 레이더 데이터 기반 포인트 클라우드 데이터에서 라벨링을 수행할 수 있다. 하지만 라이다 데이터의 측정 가능 범위는 한계가 존재할 수 있다. 예를 들어, 라이다 데이터는 주행 차량으로부터 100m 이내에 위치하는 객체들을 인식하는데 높은 정확도를 나타낼 수 있고, 100m 이상의 장거리에 위치하는 객체들을 인식하는데 낮은 정확도를 나타낼 수 있다. 따라서, 전자 장치는 장거리에 위치하는 객체들을 신경망을 통해 인식하기 위하여 레이더 데이터를 사용할 수 있다. 나아가, 전자 장치가 장거리 객체를 인식할 수 있는 레이더 데이터를 이용하여 신경망을 재학습시킴으로써, 신경망이 주행 차량으로부터 먼 거리에 위치하는 객체를 인식할 수 있도록 할 수 있다.
일 실시예에 따른 프로세서(710)는 제2 시점에 수신된 레이더 데이터를 획득(110) 할 수 있다. 예를 들어, 제2 시점은 서버(또는 차량에 부착된 전자 장치)가 레이더 데이터를 수신한 시점일 수 있다. 레이더 데이터는 레이더 장치로부터 획득될 수 있다. 본 개시에서의 제1 시점 및 제2 시점은 과거 시점과 현재 시점을 구분하기 위하여 사용된 용어일 뿐 본 개시는 이에 제한되지 않는다. 레이더 데이터는 도 2에서 구체적으로 후술된다. 예를 들어, 레이더 데이터는 중간 주파수 신호일 수 있다. 중간 주파수 신호는 레이더 전송 신호의 주파수와 레이더 수신 신호의 주파수 간의 차이에 대응하는 주파수를 가질 수 있다. 일 실시예에 따른 프로세서(710)는 중간 주파수 신호에 관한 샘플링 동작을 수행할 수 있고, 샘플링 결과는 통해 레이더 데이터를 생성할 수 있다.
일 실시예에 따른 프로세서(710)는 레이더 데이터에 기초하여 거리 FFT 또는 도플러 FFT 중 적어도 하나를 수행(120)할 수 있다. 이를 통해 주행 차량을 기준으로 포인트 클라우드까지의 거리(예, 상대 거리) 및 포인트 클라우드의 속도(예, 상대 속도 또는 시선 속도)를 획득할 수 있다.
일 실시예에 따른 프로세서(710)는 레이더 데이터에 기초하여 거리 FFT(Fast Fourier Transform)을 수행할 수 있다. 거리 FFT 결과, 프로세서(710)는 주행 차량을 기준으로 포인트 클라우드까지의 거리를 획득할 수 있다.
일 실시예에 따른 프로세서(710)는 거리 FFT 결과에 기초하여 도플러 FFT를 수행할 수 있다. 도플러 FFT 수행 결과 프로세서(710)는 주행 차량을 기준으로 포인트 클라우드의 속도(예, 상대 속도 또는 시선 속도)를 획득할 수 있다.
일 실시예에 따른 프로세서(710)는 레이더 데이터에 거리 FFT 및 도플러 FFT가 처리된 결과에 기초하여 객체 감지(130)를 수행할 수 있다. 예를 들어, 프로세서(710)는 CFAR(Constant False Alarm Rate Detection)를 통해 객체 감지를 수행할 수 있다. CFAR는 임계치 설정(thresholding) 기반의 검출 기법이다.
일 실시예에 따른 프로세서(710)는 도래각을 산출(140)할 수 있다. 실제 차량이 도로 주행을 하기 위해서는 거리 뿐 아니라 객체(예, 차량, 사람, 가드레일, 신호등 등)의 방위각 정보가 필요할 수 있다. 일 실시예에 따른 프로세서(710)는 단계(130) 결과에 기초하여 도래각을 추정할 수 있다. 이를 위해 다수의 송수신 안테나를 배열 형태로 구성하여 DBF(Digital Beam Forming)나 AoA (Angle of Arrival) MUSIC 알고리즘을 이용하여 객체가 차량의 진행 방향으로부터 어느 방향에 존재하는지 알 수 있다. DBF 알고리즘은 미상의 타겟의 각도 정보를 획득하기 위한 알고리즘일 수 있다. MUSIC 알고리즘은 신호 부공간(signal subspace) 과 잡음 부공간(noise subspace)이 서로 직교한다는 성질을 이용하여 고유치 분해를 통해 신호의 도래각을 추정하는 알고리즘이다.
단계(120) 내지 단계(140)를 통해 프로세서(710)는 레이더 데이터에 대한 거리 FFT를 수행하고, 수행 결과에 대하여 도플러 FFT를 수행할 수 있다. 그리고, 프로세서(710)는 CFAR를 통해 컷인 오브젝트를 식별할 수 있다. 그리고 프로세서(710)는 복수의 포인트 클라우드들 각각의 도래각을 추정할 수 있다.
일 실시예에 따른 프로세서(710)는 단계(120) 내지 단계(140)를 통해 획득한 거리, 속도 및 도래각을 이용하여 제1 좌표계를 생성(150)할 수 있다. 예를 들어, 제1 좌표계는 거리, 속도 및 도래각을 각각의 축으로 하는 3차원 좌표계일 수 있다. 예를 들어, 제1 좌표계는 4차원 좌표계일 수도 있다. 제1 좌표계는 주행 차량을 기준으로 결정된 포인트 클라우드의 거리, 속도 및 도래각을 축으로 하는 '상대 좌표계'일 수 있다. 제1 좌표계는 레이더 데이터로부터 거리 FFT를 통해 획득한 거리, 레이더 데이터로부터 도플러 FFT를 통해 획득한 속도 및 레이더 데이터로부터 획득한 도래각 중 적어도 하나에 기초하여 생성된 좌표계일 수 있다. 예를 들어, 프로세서(710) 단계(120) 내지 단계(140)를 통해 변환된 레이더 데이터를 제1 좌표계에서 표시할 수 있다.
일 실시예에 따른 프로세서(710)는 제1 좌표계를 제2 좌표계로 변환(160)할 수 있다. 프로세서(710)는 주행 차량이 기준이 되는 상대 좌표계인 제1 좌표계를 절대 좌표계인 제2 좌표계로 변환할 수 있다. 제2 좌표계는 주행 차량 및 객체의 위치를 표시할 수 있는 좌표계일 수 있다. 제2 좌표계는 위치를 지시하는 2개의 축(또는 3개의 축)과 속도를 지시하는 1개의 축으로 구성된 3차원 좌표계(또는 4차원 좌표계)일 수 있다. 예를 들어, x축 및 y축은 위치를 지시하고, z축은 속도를 지시할 수 있다. 다른 예를 들어, x, y 및 z축은 위치를 지시하고, r축은 속도를 지시할 수도 있다. 따라서 제2 좌표계는 3차원 또는 4차원 좌표계일 수 있다. 제2 좌표계는 도 6에서 구체적으로 후술된다. 도 6을 참조하여 설명하면, 변환 결과 제2 좌표계(601)에서 포인트 클라우드들이 표시될 수 있다.
일 실시예에 따른 포인트 클라우드 데이터는 주행 차량에 부착된 레이더 장치로부터 수신된 레이더 데이터에 기초하여 생성된 데이터일 수 있다. 포인트 클라우드는 3차원 레이저로 생성한 객체의 표면에서 측정된 포인트들의 집합일 수 있다. 프로세서(710)는 레이더 데이터를 가공하여 포인트 클라우드 데이터를 생성할 수 있다. 레이더 데이터에 기초하여 포인트 클라우드 데이터를 생성함으로써, 프로세서(710)는 신경망에 레이더 데이터 및 라이다 데이터 모두를 인가시켜서 학습시킬 수 있다. 라이다 데이터의 결과물이 포인트 클라우드 데이터이므로, 프로세서(710)는 신경망에 인가되는 입력 데이터 형태를 통일시켜 다양한 센서 장치로부터 획득한 데이터를 신경망에 학습시킬 수 있다. 포인트 클라우드 데이터는 거리, 속도 및 도래각을 축으로 하는 3차원 제1 좌표계를 제2 좌표계로 변환하여 생성된 데이터일 수 있다.
일 실시예에 따른 프로세서(710)는 제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링(170)할 수 있다. 프로세서(710)는 포인트 클라우드 데이터에서 포인트 클라우드들의 밀집 정도에 기초하여 포인트 클라우드들을 클러스터링할 수 있다. 예를 들어, 프로세서(710)는 포인트 클라우드들이 세밀하게 몰려 있어서 밀도가 높은 영역을 하나의 클러스터로 클러스터링할 수 있다. 예를 들어, 임의의 포인트 클라우드를 기준으로 일정 거리 이내에 있는 포인트 클라우드가 n개 이상인 경우, 프로세서(710)는 해당 포인트 클라우드들을 하나의 클러스터로 클러스터링할 수 있다.
일 실시예에 따른 클러스터링 결과, 적어도 하나의 클러스터가 결정될 수 있다. 예를 들어, 레이더 장치가 레이더 데이터를 획득한 영역에서 3개의 객체(예, 3대의 차량)이 있는 경우, 3개의 클러스터가 결정될 수 있다. 클러스터 각각은 객체에 대응할 수 있다. 따라서, 프로세서(710)는 클러스터에 포함되는 포인트 클라우드들을 신경망에 인가하여, 해당 클러스터에 대응하는 출력 데이터를 획득할 수 있다. 출력 데이터는 적어도 하나의 클러스터 각각에 대응하는 객체의 종류, 위치, 크기 또는 이동 방향 중 적어도 하나를 포함할 수 있다. 객체의 종류는 주행 차량의 주변에 위치하는 객체의 종류를 의미할 수 있다. 예를 들어, 객체의 종류는 차량, 사람, 가드레일, 차선, 횡단 보도, 신호등 등을 포함할 수 있다. 출력 데이터는 클러스터가 객체의 종류에 해당될 확률을 포함할 수 있다. 객체의 위치는 좌표계에서 객체가 존재하는 특정 위치일 수 있다. 예를 들어, 출력 데이터는 특정 위치에 객체가 존재할 확률을 포함할 수 있다. 객체의 크기는 포인트 클라우드 데이터에 기초하여 추정된 크기일 수 있다. 예를 들어, 출력 데이터는 클러스터에 대응하는 객체의 크기 및 해당 클러스터에 대응하는 객체가 해당 크기일 확률을 포함할 수 있다. 이동 방향은 객체의 이동 방향일 수 있다. 객체는 정지해 있을 수도 있고 움직일 수도 있다. 객체가 움직이는 경우, 주행 차량의 입장에서 해당 객체가 움직이는 이동 방향을 인식하는 것이 중요할 수 있다. 이동 방향을 통해 객체의 다음 위치를 예측할 수 있기 때문이다. 예를 들어, 출력 데이터는 객체의 이동 방향이 특정 방향일 확률을 포함할 수 있다.
일 실시예에 따른 프로세서(710)는 클러스터에 포함된 포인트 클라우드들을 신경망에 인가하여 클러스터가 타겟 객체인지 판단(180)할 수 있다. 타겟 객체는 주행 차량의 자율 주행 상황에서 영향을 미치는 요소일 수 있다. 주행 차량은 타겟 객체를 인식함으로써 안전한 자율 주행 경로를 결정할 수 있다. 따라서 타겟 객체는 자율 주행 상황에서 프로세서(710)가 객체로 인식할 필요가 있는 객체일 수 있다. 일 실시예에 따른 프로세서(710)는 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득할 수 있다. 예를 들어, 클러스터링 결과 1개의 클러스터가 생성된 경우, 프로세서(710)는 1개의 클러스터에 포함된 포인트 클라우드들을 사전 학습된 신경망에 인가할 수 있다. 2개 이상의 클러스터가 생성된 경우, 프로세서(710)는 2개 이상의 클러스터들 각각에 포함된 포인트 클라우드들을 사전 학습된 신경망에 각각 인가할 수 있다.
타겟 객체라고 판단되지 않은 경우, 프로세서()는 다음 시점의 새로운 레이더 데이터를 수신할 수 있다. 다음 시점은 단계(110)에서 제2 시점이 될 수 있다. 타겟 객체가 결정되지 않은 경우, 신경망을 학습시키는데 사용될 정답 데이터가 결정될 수 없을 수 있다. 이 경우, 클러스터를 추적하지 않고, 새로운 레이더 데이터를 수신하여, 다시 타겟 객체를 탐색할 수 있다.
일 실시예에 따른 사전 학습된 신경망은 주행 차량으로부터 사전 결정된 거리 이내에 위치하는 적어도 하나의 타겟 객체를 인식하도록 학습된 신경망일 수 있다. 전술한 바와 같이 주행 차량과 객체가 가까울수록 객체 인식 정확도는 증가할 수 있다. 사전 결정된 거리 이내는 라이다 데이터에 기초하여 객체 인식 결과를 신뢰할 수 있는지 여부에 기초하여 결정할 수 있다. 라이다 데이터는 일정 거리 이내에 위치하는 객체를 인식하는데 높은 신뢰도를 가질 수 있다. 하지만 먼 거리에 위치하는 객체를 인식하는데 낮은 신뢰도를 가질 수 있다. 따라서, 라이다 데이터를 이용함으로써 프로세서(710)는 높은 정확도에 기반하여, 가까운 거리에 있는 객체에 대응하는 학습 데이터를 생성할 수 있다. 따라서, 프로세서(710)는 라이다 데이터 및 정답 데이터로 구성된 학습 데이터를 이용하여 신경망을 학습시킬 수 있다. 프로세서(710)는 사전 학습된 신경망을 이용하여 가까운 거리에 있는 객체를 인식할 수 있다.
일 실시예에 따른 사전 학습된 신경망의 입력 데이터는 포인트 클라우드들일 수 있다. 포인트 클라우드들은 레이더 데이터에 기초하여 생성된 데이터 또는 라이더 데이터에 기초하여 생성된 데이터 중 적어도 하나일 수 있다. 따라서, 신경망의 입력 데이터는 레이더 데이터 또는 라이다 데이터 중 적어도 하나가 될 수 있다. 입력 데이터의 형태가 포인트 클라우드 데이터로 가공될 수 있으면, 다른 센서 장치로부터 획득한 센서 데이터들도 신경망의 입력 데이터가 될 수 있다. 예를 들어, 프로세서(710)는 카메라로부터 획득한 영상 데이터를 포인트 클라우드 데이터로 변환하여 신경망에 인가할 수 있다.
일 실시예에 따른 사전 학습된 신경망은 정답 데이터(예, pseudo label data)를 생성하기 위한 신경망일 수 있다. 따라서, 프로세서(710)는 사전 학습된 신경망의 출력 데이터를 정답 데이터로 결정하여, 사전 학습된 신경망을 재학습시킬 수 있다. 학습 데이터를 구성하는 정답 데이터를 생성하기 위하여 프로세서(710)는 레이더 데이터에 기초하여 학습된 신경망의 출력 데이터를 이용할 수 있다. 또는 프로세서(710)는 라이다 데이터에 기초하여 학습된 신경망의 출력 데이터를 이용할 수 있다. 사전 학습된 신경망은 레이더 데이터에 기초하여 사전 학습된 제1 신경망 또는 라이다 데이터 또는 제3 센서 데이터 중 적어도 하나에 기초하여 사전 학습된 제2 신경망 중 적어도 하나를 포함할 수 있다. 제3 센서는 자율주행에 사용되는 센서 중 라이다 또는 레이다를 제외한 센서일 수 있다. 예를 들어, 제3 센서는 카메라, 적외선 센서 또는 초음파 센서 중 적어도 하나를 포함할 수 있다. 제3 센서를 레이더 및 라이다와 다른 센서를 구분하기 위한 명칭이며, 제1 센서는 라이다, 제2 센서를 레이더로 명명될 수도 있다. 제1 센서, 제2 센서 및 제3 센서는 예시일 뿐 본 개시는 이에 제한되지 않는다. 프로세서(710)는 제1 신경망의 출력 데이터를 정답 데이터로 결정할 수 있다. 이 경우, 제1 신경망에 인가된 포인트 클라우드들이 포함된 클러스터는 타겟 객체에 대응할 수 있다. 또는 프로세서(710)는 제2 신경망의 출력 데이터를 정답 데이터로 결정할 수 있다. 이 경우, 제2 신경망에 인가된 포인트 클라우드들이 포함된 클러스터는 타겟 객체에 대응할 수 있다.
일 실시예에 따른 프로세서(710)는 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정할 수 있다. 신뢰도는 출력 데이터의 정확도를 의미할 수 있다. 신뢰도는 불확실도 또는 컨피던스 스코어(confidence score) 중 적어도 하나에 기초하여 결정될 수 있다. 미리 결정된 기준은 출력 데이터를 신경망의 학습에 사용될 정도로 해당 출력 데이터를 신뢰할 수 있는지 여부에 기초하여 결정될 수 있다. 예를 들어, 미리 결정된 기준은 사용자가 임의로 결정하거나 프로세서(710)가 학습 데이터에 기초하여 결정할 수 있다.
일 실시예에 따른 프로세서(710)는 적어도 하나의 클러스터 중 하나의 클러스터에 대응하는 출력 데이터의 불확실도가 미리 결정된 제1 기준 이하인 경우, 클러스터를 타겟 객체로 결정할 수 있다. 불확실도는 데이터 샘플 내에서 실제 세계를 나타낼 때 정보 손실로 인해 발생하는 분포를 나타낼 수 있다. 불확실도가 낮을수록 출력 데이터에 대한 신뢰도는 상승할 수 있다. 미리 결정된 제1 기준은 사용자 또는 프로세서(710)에 의해서 결정된 기준일 수 있다. 예를 들어, 미리 결정된 제1 기준이 임계값이고, 불확실도가 해당 임계값 이하인 경우, 프로세서(710)는 해당 클러스터를 타겟 객체로 결정할 수 있다.
일 실시예에 따른 프로세서(710)는 클러스터에 대응하는 출력 데이터의 컨피던스 스코어가 미리 결정된 제2 기준 이상인 경우, 클러스터를 타겟 객체로 결정할 수 있다. 컨피던스 스코어는 신경망의 출력 데이터가 정확할 가능성을 나타내는 0에서 1 사이의 숫자일 수 있다. 예를 들어, 컨피던스 스코어는 박스(예, 클러스터)에 관심 객체(예, 타겟 객체)가 포함될 가능성을 의미할 수도 있다. 컨피던스 스코어가 높을수록 출력 데이터에 대한 신뢰도는 높을 수 있다. 미리 결정된 제2 기준은 사용자 또는 프로세서(710)에 의해서 결정된 기준일 수 있다. 예를 들어, 미리 결정된 제2 기준이 임계값이고, 컨피던스 스코어가 해당 임계값 이상인 경우, 프로세서(710)는 해당 클러스터를 타겟 객체로 결정할 수 있다.
일 실시예에 따른 타겟 객체가 결정된 경우, 결정된 타겟 객체에 관하여 프로세서(710)는 단계(181)를 수행할 수 있다. 프로세서(710)는 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 적어도 하나 타겟 객체에 대응하는 클러스터를 추적할 수 있다. 적어도 하나의 제1 시점은 제2 시점을 기준으로 과거 시점일 수 있다. 프로세서(710)는 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 타겟 객체에 대응하는 클러스터를 추적함으로써, 과거 포인트 클라우드 데이터에서 클러스터에 대응하는 포인트 클라우드들을 식별할 수 있다. 그리고 프로세서(710)는 식별된 포인트 클라우드들을 신경망을 재학습시키는데 학습 데이터로서 사용할 수 있다.
이하에서는 클러스터를 추적하는 방법이 설명된다. 클러스터를 추적하는 방법은 주행 차량 이외의 주변 객체가 고정되어 있음을 가정하고 클러스터를 추적하는 방법 또는 해당 가정 없이 클러스터를 추적하는 방법이 사용될 수 있다.
일 실시예에 따른 프로세서(710)는 주변 객체가 고정되어 있음을 가정하고 클러스터를 적어도 하나의 제1 시점의 클라우드 포인트 데이터에서 추적할 수 있다. 프로세서(710)는 제2 좌표계에서 레이더 장치가 부착된 차량의 정보에 기초하여 타겟 객체에 대응하는 클러스터를 추적할 수 있다. 레이더 장치가 부착된 차량은 주행 차량일 수 있다. 주행 차량의 정보는 주행 차량의 이동 방향, 위치 또는 속도 중 적어도 하나를 포함할 수 있다. 프로세서(710)는 주행 차량의 정보를 이용하여 제1 좌표계에서 제2 좌표계를 변환할 수 있다. 이 경우, 제2 좌표계는 주행 차량의 움직임에 기초하여 포인트 클라우드들을 제2 좌표계에 표현할 수 있다. 프로세서(710)는 타겟 객체가 제2 좌표계에서 고정되어 있음을 전제로, 클러스터를 추적할 수 있다. 타겟 객체가 절대 좌표계인 제2 좌표계에 고정되어 있는 경우, 제2 좌표계에서 타겟 객체의 위치 좌표는 고정되어 있을 수 있다. 따라서, 타겟 객체의 위치 좌표가 절대 좌표계(예, 제2 좌표계)에 고정되어 있으므로, 프로세서(710)는 타겟 객체에 대응하는 클러스터에 포함된 포인트 클라우드들의 좌표를 적어도 하나의 제1 시점의 포인트 클라우드 데이터에서 식별함으로써, 클러스터를 추적할 수 있다.
일 실시예에 따른 프로세서(710)는 객체의 움직임을 예측함으로써 적어도 하나의 타겟 객체에 대응하는 클러스터를 추적할 수 있다. 프로세서(710)는 제1 시점의 포인트 클라우드 데이터에서 클러스터에 대응하는 상태 정보에 기초하여 예측한 제2 시점에서의 클러스터에 대응하는 상태 정보와 제2 시점의 포인트 클라우드 데이터에서 클러스터에 대응하는 상태 정보의 비교에 기초하여 클러스터를 추적할 수 있다. 예를 들어, 프로세서(710)는 제1 시점의 클러스터에 포함된 포인트 클라우드의 상태 정보(예, 위치, 속도, 이동 방향 등)에 기초하여 제2 시점의 해당 포인트 클라우드의 상태 정보를 예측할 수 있다. 예측된 상태 정보와 실제 제2 시점의 상태 정보가 일치하는 경우, 해당 포인트 클라우드는 동일한 클러스터에 포함될 확률이 높을 수 있다. 이러한 원리를 통해, 프로세서(710)는 제1 시점의 포인트 클라우드 데이터에서 클러스터를 추적할 수 있다.
일 실시예에 따른 프로세서(710)는 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 클러스터에 대응하는 포인트 클라우드들을 저장할 수 있다. 도 4를 참조하여 설명하면, 프로세서(710)는 제1 시점A(400)의 포인트 클라우드 데이터(420) 및 제1 시점B(401)의 포인트 클라우드 데이터(440)에서 클러스터에 대응하는 포인트 클라우드들을 저장할 수 있다. 제2 시점(402)의 포인트 클라우드 데이터(460)에서 타겟 객체에 대응하는 클러스터(450)가 결정된 경우, 프로세서(710)는 해당 클러스터에 대응하는 포인트 클라우드들을 과거 시점(예, 제1 시점A(400), 제1 시점B(401))의 포인트 클라우드 데이터에서 추적할 수 있다. 예를 들어, 제2 시점의 클러스터(450)를 기반으로 프로세서(710)는 제1 시점B의 포인트 클라우드 데이터(440)에서 제1 시점B의 클러스터(430)를 추적할 수 있다. 그리고 프로세서(710)는 제1 시점B의 클러스터(430)에 포함된 포인트 클라우드들을 저장할 수 있다. 제2 시점의 클러스터(450)를 기반으로 프로세서(710)는 제1 시점A의 포인트 클라우드 데이터(420)에서 제1 시점A의 클러스터(410)를 추적할 수 있다. 프로세서(710)는 제1 시점A의 클러스터(410)에 포함된 포인트 클라우드들을 저장할 수 있다.
일 실시예에 따른 프로세서(710)는 단계(182)를 수행할 수 있다. 프로세서(710)는 클러스터 추적 결과에 기초하여 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 클러스터에 대응하는 출력 데이터에 기초하여 학습 데이터를 생성할 수 있다. 예를 들어, 프로세서(710)는 저장된 포인트 클라우드들을 학습 입력 데이터로 하고, 출력 데이터를 정답 데이터로 하는 학습 데이터를 생성할 수 있다. 도 4를 참조하여 설명하면 제1 시점A의 클러스터(410)에 포함된 포인트 클라우드들 및 제1 시점B의 클러스터(430)에 포함된 포인트 클라우드들은 학습 입력 데이터가 될 수 있다. 그리고 각각의 학습 입력 데이터에 대응하는 출력 데이터는 제2 시점의 클러스터(450)에 대응하는 출력 데이터일 수 있다.
일 실시예에 따른 프로세서(710)는 학습 데이터가 생성된 후, 단계(190)를 수행할 수 있다. 단계(190)는 신경망을 재학습시키는 단계로서, 레이더 데이터가 수신되는 실시간으로 수행될 수 있다. 예를 들어, 타겟 객체가 결정되는 경우마다 학습 데이터가 생성되어, 단계(190)가 수행될 수 있다. 일 실시예에 따른 프로세서(710)는 출력 데이터를 정답 데이터로 하고, 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 중 적어도 일부를 학습 입력 데이터로 하는 학습 데이터에 기초하여 신경망을 학습시킬 수 있다.
도 5를 참조하여, 신경망을 학습시키는 방법이 설명된다.
도 5에 도시된 바와 같이 시간이 흐름에 따라, Stack(510)에 제1 시점A의 포인트 클라우드 데이터(420), 제1 시점B의 포인트 클라우드 데이터(440) 및 제2 시점의 포인트 클라우드 데이터(460)가 저장될 수 있다.
일 실시예에 따른 프로세서(710)는 최신 포인트 클라우드 데이터인 제2 시점의 포인트 클라우드 데이터(460)(예, 포인트 클라우드 데이터에 포함된 포인트 클라우드들)를 사전 학습된 신경망(540)에 인가할 수 있다. 프로세서(710)는 사전 학습된 신경망(540)으로부터 출력 데이터를 획득할 수 있다. 프로세서(710)는 출력 데이터의 신뢰도에 기초하여 적어도 하나의 클러스터 중 일부를 타겟 객체로 결정할 수 있다. 타겟 객체로 결정된 클러스터에 대응하는 출력 데이터(550)는 신경망 재학습(570) 단계에서 정답 데이터로 사용될 수 있다. 프로세서(710)는 출력 데이터(550)에 기초하여 클러스터 추적(551)을 할 수 있다. 클러스터 추적 결과 프로세서(710)는 제1 시점A의 포인트 클라우드 데이터(420) 및 제1 시점B의 포인트 클라우드 데이터(440) 각각에서 클러스터에 대응하는 포인트 클라우드들을 식별할 수 있다. 프로세서(710)는 식별된 포인트 클라우드들 및 출력 데이터(550)에 기초하여 학습 데이터를 생성(560)할 수 있다. 그리고 프로세서(710)는 학습 데이터에 기초하여 신경망을 재학습(570)시킬 수 있다.
일 실시예에 따른 프로세서(710)는 누적된 포인트 클라우드들(520)을 사전 학습된 신경망(540)에 인가할 수 있다. 누적된 포인트 클라우드들은 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들을 하나의 시간 단위로 병합시킨 데이터를 포함할 수 있다. 예를 들어 누적된 포인트 클라우드들은 제1 시점A의 포인트 클라우드 데이터(420), 제1 시점B의 포인트 클라우드 데이터(440) 및 제2 시점의 포인트 클라우드 데이터(460)에 기초하여 결정될 수 있다. 포인트 클라우드들은 위치를 나타내는 2차원 좌표를 가지고 있으므로, 해당 2차원 좌표들을 하나의 좌표 평면에 위치시킴으로써 시계열 데이터를 누적시킬 수 있다. 프로세서(710)는 사전 학습된 신경망(540)으로부터 출력 데이터를 획득할 수 있다. 프로세서(710)는 출력 데이터의 신뢰도에 기초하여 적어도 하나의 클러스터 중 일부를 타겟 객체로 결정할 수 있다. 타겟 객체로 결정된 클러스터에 대응하는 출력 데이터(550)는 신경망 재학습(570) 단계에서 정답 데이터로 사용될 수 있다. 프로세서(710)는 출력 데이터(550)에 기초하여 클러스터 추적(551)을 할 수 있다. 클러스터 추적 결과 프로세서(710)는 제1 시점A의 포인트 클라우드 데이터(420) 및 제1 시점B의 포인트 클라우드 데이터(440) 각각에서 클러스터에 대응하는 포인트 클라우드들을 식별할 수 있다. 프로세서(710)는 식별된 포인트 클라우드들 및 출력 데이터(550)에 기초하여 학습 데이터를 생성(560)할 수 있다. 그리고 프로세서(710)는 학습 데이터에 기초하여 신경망을 재학습(570)시킬 수 있다.
본 개시의 프로세서(710)는 동일 타겟 객체(예, 동일 클러스터)로 판별되는 데이터를 시간 순으로 stack에 저장할 수 있다. 그리고 프로세서(710)는 stack에 저장된 데이터를 이용하여 추론한 결과(예, 출력 데이터)의 신뢰도가 임계치를 넘는 결과를 정답 데이터로 활용할 수 있다. 이를 통해, 프로세서(710)는 stack에 저장된 데이터를 시간 역순으로 추출하며 신경망을 업데이트할 수 있다.
이를 통해, 프로세서(710)는 레이더 데이터를 이용하여 주행 차량으로부터 원거리에 위치하는 객체에 대한 인식 정확도를 높일 수 있다. 그리고 프로세서(710)는 주행 차량 단독으로 원거리 객체에 대한 신경망 학습을 수행할 수 있다. 그러므로 서버는 원거리 객체를 인식하기 위하여 서로 동기화된 복수 대의 차량을 운용할 필요가 없을 수 있다.
일 실시예에 따른 프로세서(710)는 라이다 데이터만으로 사전 학습된 신경망을 이용하여 객체를 감지할 수 있는 거리보다 먼 거리에 있는 객체를 감지할 수 있다. 이는 신뢰도가 높은 현재 데이터(예, 주행 차량과 객체 사이의 거리가 가까워지면 객체를 인식하는 신경망의 신뢰도는 높을 수 있다)에 기반하여 신뢰도가 낮은 과거 데이터(예, 먼 거리에 있는 객체를 신경망을 통해 인식할 확률은 낮을 수 있다)를 신경망 학습에 사용하기 때문이다.
도 2는 일 실시예에 따른 클라우드 포인트까지의 거리 및 클라우드 포인트의 속도를 산출하기 위한 방법을 설명하기 위한 도면이다.
이하에서는 레이더에 대한 설명이 개시된다.
일 실시예에 따른 레이더 장치는 예를 들어, mmWave 레이더일 수 있고, 방사된 전기파가 표적에 반사되어 되돌아오는 시간인 ToF(Time of Flight)와 레이더 신호의 파형의 변화를 분석해 표적까지의 거리를 측정할 수 있다. 참고로, mmWave 레이더는 카메라를 비롯한 광학 기반 센서에 비해 안개, 비 등 외부 환경 변화에 무관하게 전방을 감지할 수 있다. 또한, mmWave 레이더는 라이다(LiDAR)에 비해 비용대비 성능이 뛰어나므로, 상술한 카메라의 단점을 보완할 수 있는 센서 중 하나이다.
일 실시예에 따른, 레이더 장치는 FMCW(Frequency Modulated Continuous Wave) 레이더로 구현될 수 있다. FMCW 레이더는 외부 노이즈에 강인한 특성을 가질 수 있다.
일 실시예에 따르면, 처프 전송기는 복수의 주파수 변조 모델들을 이용하여 주파수 변조 신호를 생성할 수 있다. 예를 들어, 처프 전송기는 서로 다른 주파수 변조 모델들을 번갈아 이용하여 주파수 변조 신호를 생성할 수 있다. 이 경우, 주파수 변조 신호는 제1 주파수 변조 모델에 따른 처프 시퀀스 신호 구간과 제2 주파수 변조 모델에 따른 처프 시퀀스 신호 구간을 번갈아 포함할 수 있다. 제1 주파수 변조 모델의 처프와 제2 주파수 변조 모델의 처프 간에는 차이 값만큼의 주파수 차이가 있을 수 있다. 이와 같은 다양한 캐리어 주파수의 처프 시퀀스는 최대 측정 가능한 도플러 속도(Doppler velocity)의 범위(range)를 확장하는데 이용될 수 있다. 도플러 속도는 시선 속도(radial velocity)로 지칭될 수도 있다.
일 실시예에 따르면, 배열 안테나는 복수의 안테나 소자(antenna element)들을 포함할 수 있다. 일 실시예에 따르면, 복수의 안테나 소자들을 통해 다중입출력(Multiple Input Multiple Output, MIMO)이 구현될 수 있다. 이때, 복수의 안테나 소자들에 의해 복수의 MIMO 채널들이 형성될 수 있다. 예를 들어, M개의 송신 안테나 소자들 및 N개의 수신 안테나 소자들을 통해 M x N개의 가상 안테나들에 대응하는 복수의 채널들이 형성될 수 있다. 여기서, 각 채널을 통해 수신된 레이더 수신 신호들은 수신 방향에 따라 서로 다른 위상을 가질 수 있다.
일 실시예에 따르면, 레이더 전송 신호 및 레이더 수신 신호에 기초하여, 레이더 데이터가 생성될 수 있다. 예를 들어, 레이더 장치는 주파수 변조 모델에 기초하여 배열 안테나를 통해 레이더 전송 신호를 전송하고, 레이더 전송 신호가 표적에 의해 반사되면 배열 안테나를 통해 레이더 수신 신호를 수신할 수 있다. 그리고 레이더 장치는 레이더 전송 신호 및 레이더 수신 신호에 기초하여 중간 주파수(intermediate frequency, IF) 신호를 생성할 수 있다. 중간 주파수 신호는 레이더 전송 신호의 주파수와 레이더 수신 신호의 주파수 간의 차이에 대응하는 주파수를 가질 수 있다. 일 실시예에 따른 프로세서(710)는 중간 주파수 신호에 관한 샘플링 동작을 수행할 수 있고, 샘플링 결과는 통해 레이더 데이터를 생성할 수 있다.
일 실시예에 따른 프로세서(710)는 처프 시퀀스 신호(205)를 변환하여 거리-도플러 맵(range-Doppler map, 270)을 생성할 수 있다. 예를 들어, 프로세서(710)는 처프 시퀀스 신호(205)에 대하여 고속 푸리에 변환(Fast Fourier Transform, 이하 FFT)을 수행할 수 있다. 프로세서(710)는 처프 시퀀스 신호(205)를 거리 FFT(230)를 수행할 수 있다. 그리고 프로세서(710)는 거리 FFT 결과에 대하여 도플러 FFT(250)를 수행할 수 있다. 프로세서(710)는 거리 FFT(230) 또는 도플러 FFT(250) 중 적어도 하나를 이용하여 거리-도플러 맵(270)을 생성할 수 있다. 도 2에서 Tp (210)는 처프 기간(chirp period)이고 B(220)는 처프 시퀀스 신호의 총 주파수 편차(total frequency deviation)일 수 있다.
일 실시예에 따른 프로세서(710)는 거리-도플러 맵(270)에서 적어도 하나의 포인트들(271 내지 272)을 검출할 수 있다. 예를 들어, 프로세서(710)는 거리-도플러 맵(270)에 관한 CFAR를 통해 포인트들(271 내지 272)을 검출할 수 있다.
도 3은 일 실시예에 따른 주행 차량과 타겟 객체 사이 거리에 따른 포인트 클라우드를 설명하기 위한 도면이다.
일 실시예에 따른 불확실도가 높은 경우(300)는 주행 차량(320)과 객체(310) 사이 거리가 먼 경우일 수 있다. 주행 차량(320)과 객체(310) 사이 거리를 R이라고 표현하고, 원거리의 기준이 되는 거리를 제1 거리라고 하면, R>제1 거리인 경우에는 불확실도가 높을 수 있다. 이 경우, 객체(310)에 대응하는 포인트 클라우드들(311, 312)은 적은 개수일 수 있다. 포인트 클라우드들의 개수가 적을수록 객체를 식별하기 어려울 수 있다. 예를 들어, 프로세서(710)는 신경망에 포인트 클라우드들(311,312)을 인가하여 신뢰도가 미리 결정된 기준을 충족하지 못하는 출력 데이터를 획득할 수 있다.
일 실시예에 따른 불확실도가 중간 경우(301)는 주행 차량(320)과 객체(310) 사이 거리가 적당한 경우일 수 있다. 제2 거리< R < 제1 거리인 경우에는 불확실도가 중간 수 있다. 이 경우, 객체(310)에 대응하는 포인트 클라우드들(331, 332, 333, 334, 335)은 경우(300)보다 많은 개수일 수 있다. 주행 차량(320)과 객체(310) 사이가 가까워질수록 객체(310)에 대응하는 포인트 클라우드들의 개수가 증가할 수 있다. 포인트 클라우드들의 개수가 증가할수록 객체 감지의 정확도가 상승할 수 있다. 예를 들어, 프로세서(710)는 신경망에 포인트 클라우드들(331, 332, 333, 334, 335)을 인가하여 신뢰도가 미리 결정된 기준을 충족하지 못하는 출력 데이터를 획득할 수 있다.
일 실시예에 따른 불확실도가 낮은 경우(302)는 주행 차량(320)과 객체(310) 사이 거리가 가까운 경우일 수 있다. 제2 거리> R 인 경우에는 불확실도가 낮을 수 있다. 이 경우, 객체(310)에 대응하는 포인트 클라우드들(341, 342, 343, 344, 345, 346, 347, 348, 349)은 경우(301)보다 많은 개수일 수 있다. 주행 차량(320)과 객체(310) 사이가 가까워질수록 객체(310)에 대응하는 포인트 클라우드들의 개수가 증가할 수 있다. 포인트 클라우드들의 개수가 증가할수록 객체 감지의 정확도가 상승할 수 있다. 경우(302)는 객체를 식별할 수 있을 정도로 충분히 가까운 거리를 표현한 경우일 수 있다. 프로세서(710)는 신경망에 포인트 클라우드들(341, 342, 343, 344, 345, 346, 347, 348, 349)을 인가하여 신뢰도가 미리 결정된 기준을 충족하는 출력 데이터를 획득할 수 있다.
도 4는 일 실시예에 따른 시간의 흐름에 따라 누적되는 포인트 클라우드 데이터를 설명하기 위한 도면이다.
일 실시예에 따른 시간의 흐름(480)에 따라, 포인트 클라우드 데이터가 누적될 수 있다. 예를 들어, 제1 시점A에서 주행 차량(320)의 레이더 장치에 의해 측정된 레이더 데이터에 기초하여 제1 시점A의 포인트 클라우드 데이터(420)가 생성될 수 있다. 제1 시점A의 다음 시점인 제1 시점B에서 주행 차량(320)의 레이더 장치에 의해 측정된 레이더 데이터에 기초하여 제1 시점B의 포인트 클라우드 데이터(440)가 생성될 수 있다. 제1 시점B의 다음 시점인 제2 시점에서 주행 차량(320)의 레이더 장치에 의해 측정된 레이더 데이터에 기초하여 제2 시점의 포인트 클라우드 데이터(460)가 생성될 수 있다.
일 실시예에 따른 프로세서(710)는 시간의 흐름에 따라 생성된 포인트 클라우드 데이터를 누적하여 저장할 수 있다. 그리고 프로세서(710)는 시간 흐름의 역행(490) 방향으로 누적된 포인트 클라우드 데이터에서 타겟 객체에 대응하는 클러스터를 추적할 수 있다. 예를 들어, 프로세서(710)는 제1 시점B의 포인트 클라우드 데이터(440)에서 클러스터를 추적하여 클러스터에 포함되는 포인트 클라우드들을 식별한 후, 제1 시점A의 포인트 클라우드 데이터(420)에서 클러스터를 추적할 수 있다.
도 5는 일 실시예에 따른 시간의 흐름에 따라 누적된 포인트 클라우드 데이터를 이용하여 신경망을 재학습시키는 방법을 설명하기 위한 흐름도이다.
도 5에 관한 구체적인 설명은 도 1에서 구체적으로 전술하였으므로 본 도면에서 구체적인 설명은 생략된다.
도 6은 일 실시예에 따른 제2 좌표계를 설명하기 위한 도면이다.
일 실시예에 따른 제2 좌표계(601)는 x축(620), y축(630) 및 z축(640)으로 구성될 수 있다. x축(620) 및 y축(630)은 주행 차량(650)의 위치 및 주행 차량 주변에 위치하는 객체의 포인트 클라우드들 각각의 위치를 나타낼 수 있다. z축(640)은 속도를 나타낼 수 있다.
일 실시예에 따른 주행 차량(650)은 주행 방향(660)으로 이동하고 있을 수 있다. 이 경우, 주행 차량(650)의 y축(630) 좌표는 시간이 지남에 따라 변할 수 있다. 주행 차량(650)이 이동하므로, 주행 차량의 주변 객체들도 변할 수 있다. 예를 들어, 카메라 영상(600)에 표시된 바와 같이 주행 차량의 좌측에 객체(610)(예, 차량)이 위치할 수 있다. 객체(610)가 존재하는 경우, 해당 객체(610)의 포인트 클라우드는 제2 좌표계(601)에서 영역(611)처럼 표시될 수 있다. 영역(611)에 포함된 포인트 클라우드들은 포인트 클라우드 클러스터링 결과 생성된 하나의 클러스터에 포함된 포인트들일 수 있다. 주행 차량(650)이 주행 방향(660)으로 이동함에 따라, 객체(610)는 주행 차량에 가까워질 수 있다. 주행 차량(650)이 주행 방향(660)으로 이동함에 따라, 제2 좌표계(601)에서 객체(610)에 대응하는 영역(611)(또는 클러스터)는 주행 차량(650)에 가까워질 수 있다. 예를 들어, 주행 차량(650)의 y축 좌표와 영역(611)에 포함된 포인트 클라우드들의 y축 좌표 사이의 차이는 줄어들 수 있다.
일 실시예에 따른 프로세서(710)는 주행 차량의 정보를 이용하여 제1 좌표계에서 제2 좌표계를 변환할 수 있다. 주행 차량의 정보를 이용하여 생성된 제2 좌표계는 도 6의 제2 좌표계(601)에 도시된 바와 같이 주행 차량의 위치, 주행 방향(660) 또는 속도 중 적어도 하나가 표시될 수 있다. 다른 실시예에 따른 프로세서(710)는 주행 차량의 정보를 이용하지 않고 제1 좌표계에서 제2 좌표계로 변환할 수 있다. 이 경우, 제2 좌표계(601)에서 주행 차량의 정보는 표시되지 않을 수도 있다.
도 7은 일 실시예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 7를 참조하면, 일 실시예에 따른 전자 장치(700)는 메모리(720), 프로세서(710), 및 통신 인터페이스(730)를 포함한다. 메모리(720), 프로세서(710), 및 통신 인터페이스(730)는 통신 버스(740)를 통해 서로 연결될 수 있다.
일 실시예에 따른 전자 장치(700)는 주행 차량에 포함된 장치일 수 있다. 일 실시예에 따른 전자 장치(700)는 전술한 레이더 장치를 더 포함할 수 있다. 따라서 프로세서(710)는 레이더 장치로부터 수신한 레이더 데이터를 처리하고 메모리(720)에 저장할 수 있다. 일 실시예에 따른 전자 장치(700)는 주행 차량의 주행을 제어할 수 있다. 일 실시예에 따른 전자 장치(700)는 컷인 오브젝트의 움직임에 기초하여 주행 차량을 제어할 수 있다.
메모리(720)는 상술한 프로세서(710)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(720)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(720)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(720)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
프로세서(710)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 분류 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphic Processing Unit; GPU), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array), NPU(Neural Processing Unit) 등을 포함할 수 있다.
프로세서(710)는 프로그램을 실행하고, 전자 장치를 제어할 수 있다. 프로세서(710)에 의하여 실행되는 프로그램 코드는 메모리(720)에 저장될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 레이더 데이터 기반 신경망 학습 방법에 있어서,
    제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하는 단계;
    상기 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 상기 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하는 단계;
    상기 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 상기 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하는 단계;
    상기 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계; 및
    상기 추적 결과 결정된 상기 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 상기 클러스터에 대응하는 상기 출력 데이터에 기초하여 상기 신경망을 학습시키는 단계;
    를 포함하는,
    신경망 학습 방법.
  2. 제1항에 있어서,
    상기 포인트 클라우드 데이터는
    주행 차량에 부착된 레이더 장치로부터 수신된 레이더 데이터에 기초하여 생성된 데이터인,
    신경망 학습 방법.
  3. 제1항에 있어서,
    상기 포인트 클라우드 데이터는
    거리, 속도 및 도래각을 축으로 하는 3차원 또는 4차원 제1 좌표계를 제2 좌표계로 변환하여 생성된 데이터인,
    신경망 학습 방법.
  4. 제3항에 있어서,
    상기 제1 좌표계는
    레이더 데이터로부터 거리 FFT(Fast Fourier Transform)를 통해 획득한 상기 거리, 상기 레이더 데이터로부터 도플러 FFT를 통해 획득한 상기 속도 및 상기 레이더 데이터로부터 획득한 도래각 중 적어도 하나에 기초하여 생성된 좌표계인,
    신경망 학습 방법.
  5. 제1항에 있어서,
    상기 포인트 클라우드 데이터는
    위치를 지시하는 2개 또는 3개의 축과 속도를 지시하는 1개의 축으로 구성된 3차원 또는 4차원 제2 좌표계로 표현되는 데이터이고,
    상기 제2 좌표계는 주행 차량 및 객체의 위치를 표시할 수 있는 절대 좌표계인,
    신경망 학습 방법.
  6. 제1항에 있어서,
    제2 시점의 포인트 클라우드 데이터를 클러스터링하는 단계는
    상기 포인트 클라우드 데이터에서 포인트 클라우드들의 밀집 정도에 기초하여 상기 포인트 클라우드들을 클러스터링하는 단계
    를 포함하는,
    신경망 학습 방법.
  7. 제1항에 있어서,
    상기 사전 학습된 신경망은
    주행 차량으로부터 사전 결정된 거리 이내에 위치하는 적어도 하나의 타겟 객체를 인식하도록 학습되고,
    상기 사전 학습된 신경망의 입력 데이터는 포인트 클라우드들인,
    신경망 학습 방법.
  8. 제1항에 있어서,
    상기 사전 학습된 신경망은
    레이더 데이터에 기초하여 사전 학습된 제1 신경망 또는 라이다 데이터 또는 제3 센서 데이터 중 적어도 하나에 기초하여 사전 학습된 제2 신경망 중 적어도 하나를 포함하는,
    신경망 학습 방법.
  9. 제1항에 있어서,
    상기 출력 데이터는
    상기 적어도 하나의 클러스터 각각에 대응하는 객체의 종류, 위치, 크기 또는 이동 방향 중 적어도 하나를 포함하는
    신경망 학습 방법.
  10. 제1항에 있어서,
    상기 신뢰도는
    불확실도 또는 컨피던스 스코어(confidence score) 중 적어도 하나에 기초하여 결정되는
    신경망 학습 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하는 단계는
    상기 적어도 하나의 클러스터 중 하나의 클러스터에 대응하는 상기 출력 데이터의 불확실도가 미리 결정된 제1 기준 이하인 경우, 상기 클러스터를 상기 타겟 객체로 결정하는 단계; 또는
    상기 클러스터에 대응하는 상기 출력 데이터의 컨피던스 스코어가 미리 결정된 제2 기준 이상인 경우, 상기 클러스터를 상기 타겟 객체로 결정하는 단계;
    를 포함하는,
    신경망 학습 방법.
  12. 제1항에 있어서,
    상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는
    제2 좌표계에서 레이더 장치가 부착된 차량의 정보에 기초하여 상기 타겟 객체에 대응하는 클러스터를 추적하는 단계;
    를 포함하는,
    신경망 학습 방법.
  13. 제1항에 있어서,
    상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는
    상기 타겟 객체가 제2 좌표계에서 고정되어 있음을 전제로, 상기 클러스터를 추적하는 단계
    를 포함하는,
    신경망 학습 방법.
  14. 제1항에 있어서,
    상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는
    제1 시점의 포인트 클라우드 데이터에서 상기 클러스터에 대응하는 상태 정보에 기초하여 예측한 제2 시점에서의 클러스터에 대응하는 상태 정보와 제2 시점의 포인트 클라우드 데이터에서 클러스터에 대응하는 상태 정보의 비교에 기초하여 클러스터를 추적하는 단계
    를 포함하는,
    신경망 학습 방법.
  15. 제1항에 있어서,
    상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하는 단계는
    상기 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 상기 클러스터에 대응하는 포인트 클라우드들을 저장하는 단계;
    를 포함하는,
    신경망 학습 방법.
  16. 제1항에 있어서,
    상기 신경망을 학습시키는 단계는
    상기 출력 데이터를 정답 데이터로 하고, 상기 적어도 하나의 제1 시점의 상기 클러스터별 포인트 클라우드들 중 적어도 일부를 학습 입력 데이터로 하는 학습 데이터에 기초하여 상기 신경망을 학습시키는 단계;
    를 포함하는,
    신경망 학습 방법.
  17. 제16항에 있어서,
    상기 포인트 클라우드들은
    상기 적어도 하나의 제1 시점의 상기 클러스터별 포인트 클라우드들을 하나의 시간 단위로 병합시킨 데이터를 포함하는,
    신경망 학습 방법.
  18. 하드웨어와 결합되어 제1항 내지 제17항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  19. 전자 장치는
    하나 이상의 프로세서; 및
    레이더 장치;
    를 포함하고,
    상기 프로세서는
    제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하고,
    상기 포인트 클라우드들을 사전 학습된 신경망에 인가하여, 상기 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하고,
    상기 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 상기 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하고,
    상기 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하고, 그리고
    상기 추적 결과 결정된 상기 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 상기 클러스터에 대응하는 상기 출력 데이터에 기초하여 상기 신경망을 학습시키는,
    전자 장치.
  20. 주행 차량으로부터 레이더 데이터를 수신하여 사전 학습된 신경망을 재학습시키는 서버는
    제2 시점의 포인트 클라우드 데이터에 포함된 포인트 클라우드들을 클러스터링하고,
    상기 포인트 클라우드들을 상기 사전 학습된 신경망에 인가하여, 상기 클러스터링 결과 생성된 적어도 하나의 클러스터에 대응하는 출력 데이터를 획득하고,
    상기 출력 데이터에 대응하는 신뢰도가 미리 결정된 기준을 충족하는지 여부에 기초하여, 상기 적어도 하나의 클러스터 중 적어도 하나를 타겟 객체로 결정하고,
    상기 제2 시점의 이전 시점인 적어도 하나의 제1 시점의 포인트 클라우드 데이터 각각에서 상기 적어도 하나 타겟 객체에 대응하는 클러스터를 추적하고, 그리고
    상기 추적 결과 결정된 상기 적어도 하나의 제1 시점의 클러스터별 포인트 클라우드들 및 상기 클러스터에 대응하는 상기 출력 데이터에 기초하여 상기 신경망을 학습시키는,
    서버.

KR1020220141373A 2022-10-28 2022-10-28 레이더 데이터 기반 신경망 학습 방법 및 장치 KR20240062229A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220141373A KR20240062229A (ko) 2022-10-28 2022-10-28 레이더 데이터 기반 신경망 학습 방법 및 장치
US18/297,767 US20240142575A1 (en) 2022-10-28 2023-04-10 Method and apparatus with neural network training

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220141373A KR20240062229A (ko) 2022-10-28 2022-10-28 레이더 데이터 기반 신경망 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240062229A true KR20240062229A (ko) 2024-05-09

Family

ID=90834720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220141373A KR20240062229A (ko) 2022-10-28 2022-10-28 레이더 데이터 기반 신경망 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US20240142575A1 (ko)
KR (1) KR20240062229A (ko)

Also Published As

Publication number Publication date
US20240142575A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
US11593950B2 (en) System and method for movement detection
US11340332B2 (en) Method and apparatus for processing radar data
US10310087B2 (en) Range-view LIDAR-based object detection
US20190310651A1 (en) Object Detection and Determination of Motion Information Using Curve-Fitting in Autonomous Vehicle Applications
US9563808B2 (en) Target grouping techniques for object fusion
US11719811B2 (en) Method and device to improve radar data using reference data
KR102516367B1 (ko) 레이더 데이터를 처리하는 장치 및 방법
KR101628154B1 (ko) 수신 신호 세기를 이용한 다중 표적 추적 방법
US20210200209A1 (en) Sequential clustering
CN104199022A (zh) 一种基于目标模态估计的临近空间高超声速目标跟踪方法
JP2022513505A (ja) レーダによるまたは問合せ電磁放射線の使用によるオブジェクトの向きの決定
US11873011B2 (en) Labeling lane segments for behavior prediction for agents in an environment
EP4160269A1 (en) Systems and methods for onboard analysis of sensor data for sensor fusion
CN114049767B (zh) 一种边缘计算方法、装置及可读存储介质
KR20240062229A (ko) 레이더 데이터 기반 신경망 학습 방법 및 장치
JP2004309166A (ja) 目標追尾装置
Guo et al. Doppler velocity-based algorithm for clustering and velocity estimation of moving objects
KR20210154446A (ko) 복소수 기반 어텐션 네트워크 연산 방법 및 장치
KR20240052377A (ko) 컷인 차량의 움직임 예측 방법 및 장치
US11953590B1 (en) Radar multipath detection based on changing virtual arrays
Yang et al. Fusion of Millimeter-Wave Radar and Camera Vision for Pedestrian Tracking
CN113470342B (zh) 一种自运动估计的方法及装置
US20220269921A1 (en) Motion Compensation and Refinement in Recurrent Neural Networks
US20230280753A1 (en) Robust behavior prediction neural networks through non-causal agent based augmentation
EP4312054A1 (en) Radar point cloud multipath reflection compensation