KR102633224B1 - 자율주행 차량의 객체 인식 장치 및 방법 - Google Patents

자율주행 차량의 객체 인식 장치 및 방법 Download PDF

Info

Publication number
KR102633224B1
KR102633224B1 KR1020230109651A KR20230109651A KR102633224B1 KR 102633224 B1 KR102633224 B1 KR 102633224B1 KR 1020230109651 A KR1020230109651 A KR 1020230109651A KR 20230109651 A KR20230109651 A KR 20230109651A KR 102633224 B1 KR102633224 B1 KR 102633224B1
Authority
KR
South Korea
Prior art keywords
lidar
camera
data
vehicle
objects
Prior art date
Application number
KR1020230109651A
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 (주)에스유엠
Application granted granted Critical
Publication of KR102633224B1 publication Critical patent/KR102633224B1/ko

Links

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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • B60W30/16Control of distance between vehicles, e.g. keeping a distance to preceding vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)

Abstract

실시예에 따른 라이다, 카메라 합성(fusion)을 통한 위험 객체 인지 장치 및 방법은 라이다의 센싱 데이터를 차량 좌표계로 변환하고, 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 계산하여 객체 추적(object tracking) 결과를 산출한다. 이후, 카메라 데이터에 대한 시간차를 보상함으로써, 딥러닝 및 머신러닝에 학습하지 객체를 인지할 수 있도록 한다. 또한, 실시예를 통해 클러스터링을 이용하여 객체를 인지할 수 있도록 한다. 또한, 실시예에서는 사람, 차량 등 움직이는 객체에 대해 물체 하단좌표를 변환행렬을 이용하여 차량 좌표계로 변환하여 x축 기준으로 물체의 거리와 각도(angle)를 계산함으로써, 보행자와 저속 차량 혼재된 도로에서 저속 자율 주행 차량을 인지할 수 있도록 한다.

Description

자율주행 차량의 객체 인식 장치 및 방법{OBJECT RECOGNITION APPARATUS AND METHOD FOR AUTONOMOUS VEHICLES}
본 개시는 자율주행 차량의 객체 인식 장치 및 방법에 관한 것으로 구체적으로, 라이다, 카메라 합성(Fusion)을 통한 차량 주변의 위험 객체 인지 장치 및 방법에 관한 것이다.
본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.
라이다(Lidar, Light Detection and Ranging)는 빛을 이용하여 원격 거리 측정을 수행하는 기술이다. 라이다 기술은 주로 거리 측정, 환경 모델링, 지형 분석, 3D 지도 작성, 물체 감지 및 인식 등 다양한 분야에서 활용된다. 라이다는 고정밀 센서를 사용하여 빠르고 정확하게 거리 정보를 수집할 수 있어, 자율 주행 자동차, 로봇, 환경 모니터링 등 다양한 응용 분야에서 중요한 역할을 한다.
하지만, 라이다를 이용한 센싱 시, 포인트 클라우드 학습의 한계가 있다. 구체적으로, 라이다 센서는 학습하지 않은 객체 인식이 불가능하다. 라이다 센서를 이용한 기존의 방식은 주로 미리 정의된 패턴과 특징을 이용해 물체를 인식하는데, 이는 학습된 데이터셋에 기반한 것이다. 그러나 학습되지 않은 새로운 객체나 환경에 대해서는 인식이 어려울 수 있고 이에 따라 라이다 센서만을 사용한 경우 새로운 객체 인식에 한계가 있다.
또한, 종래의 라이다 센서는 멀리 있는 객체의 오인식률이 높고 멀리 있는 객체의 인식률이 낮은 문제가 있다. 라이다 시스템은 빛의 반사 시간을 기반으로 거리를 측정하는데, 오브젝트가 멀리 있을수록 반사되는 빛이 약해진다. 이로 인해 멀리 있는 객체의 포인트 수가 적어질 수 있고, 이는 오인식이나 인식율의 저하를 가져올 수 있다.
또한, 포인트 클라우드 딥러닝을 활용한 라이다 데이터 처리는 연산량이 매우 높다. 종래 대규모의 포인트 클라우드 데이터를 처리하고 분석하기 위해서는 고성능의 하드웨어와 상당한 연산 자원이 필요하고, 이로 인해 시스템의 복잡성과 비용이 증가할 수 있다.
1. 한국 특허공개 제10-2020-0084552호 (2020.07.13) 2. 한국 특허공개 제10-2022-0087693호 (2022.06.27)
실시예에 따른 라이다, 카메라 합성(fusion)을 통한 위험 객체 인지 장치 및 방법은 라이다의 센싱 데이터를 차량 좌표계로 변환하고, 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 계산하여 객체 추적(object tracking) 결과를 산출한다. 이후, 카메라 데이터에 대한 시간차를 보상함으로써, 딥러닝 및 머신러닝에 학습하지 객체를 인지할 수 있도록 한다. 또한, 실시예를 통해 클러스터링을 이용하여 객체를 인지할 수 있도록 한다.
또한, 실시예에서는 사람, 차량 등 움직이는 객체에 대해 물체 하단좌표를 변환행렬을 이용하여 차량 좌표계로 변환하여 x축 기준으로 물체의 거리와 각도(angle)를 계산함으로써, 보행자와 저속 차량 혼재된 도로에서 저속 자율 주행 차량을 인지할 수 있도록 한다.
또한, 실시예에서는 레이더(Radar)와 카메라의 특성을 서로 보완하기 위해 이 두 가지 센서의 데이터를 왜곡 계수를 통해 통합(fusion)하여 주변 객체를 보다 정확하게 인식할 수 있도록 한다.
실시예에 따른 라이다(Lidar) 센서, 레이더(Radar) 센서 및 카메라를 포함하는 차량의 객체 인식 장치는 적어도 하나의 명령어를 저장하는 메모리; 및
프로세서를 포함하며, 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써, 라이다 센서로부터 라이다(Lidar) 데이터를 획득하고, 라이다 데이터를 차량 좌표계인 제1좌표계로 변환하고, 클러스터링에 기반하여 라이다 데이터에 포함된 라이다 객체를 인식하고, 인식된 객체의 좌표계를 image 좌표계를 포함하는 제2좌표계로 변환하고, 카메라로부터 카메라 데이터를 획득하여, 카메라 데이터에 포함된 카메라 객체를 인식하고, 인식된 카메라 객체를 추적(tracking)하고 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 산출하여, 상기 카메라 객체 추적결과를 보상(calibration)한다.
이상에서와 같은 라이다, 카메라 합성을 통한 위험 객체 인지 장치 및 방법 라이다, 레이더, 카메라를 포함하는 다양한 센서로부터 획득한 데이터를 통합하여, 자율주행 차량 주변 객체를 보다 정확하게 인식할 수 있도록 한다.
또한, 실시예를 통해, 머신러닝, 딥러닝 모델에서 학습되지 않은 객체를 인식할 수 있도록 하여, 주변 객체 인식을 위한 데이터 학습에 소요되는 연산을 줄임으로써, 시스템 효율을 향상시킬 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 실시예에 따른 객체 인식 장치를 구비한 자율주행 차량을 나타낸 도면
도 2는 실시예에 따른 객체 인식 장치의 블록도를 나타낸 도면
도 3은 실시예에 따른 객체 인식 장치에 마련되어 있는 다양한 종류의 모듈 내지 모델에 대한 블록도
도 4는 실시예에 따른 라이더 데이터와 카메라 데이터 통합 과정을 나타낸 도면
도 5는 실시예에 따른 라이더 데이터의 좌표 변환과정을 설명하기 위한 도면
도 6 및 도 7은은 실시예에 따른 카메라 보정 과정을 설명하기 위한 도면
도 8은 실시예에 따른 라이더 데이터에 대응하는 3차원 점을 산출한 결과를 나타낸 도면
도 9는 실시예에 따른 라이다 데이터 보정 후의 프로젝션 결과를 나타낸 도면
도 10은 실시예에 따른 카메라, 라이다 데이터 통합 결과를 나타낸 도면
도 11은 실시예에 따라 인식된 객체의 무빙 여부에 따라 자율주행 차량을 제어하는 과정을 나타낸 도면
도 12는 실시예에 따른 카메라 캘리브레이션을 설명하기 위한 도면
도 13은 실시예에 따른 라이다 데이터와 카메라 데이터 통합 과정을 나타낸 도면
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 실시예에 따른 객체 인식 장치를 구비한 자율주행 차량을 나타낸 도면이다.
도 1을 참조하면, 실시예에 따른 자율주행 차량은 라이다(Lidar) 센서, 레이더(radar) 센서 및 카메라를 포함하는 주변 객체 인식 장치를 통해 주변 객체 정보를 수집하고 이를 기반으로 자율 주행을 수행한다.
실시예에서 자율 주행 차량은 객체 인식 장치(100)을 구비하여, 라이다 센서, 레이더 센서 및 카메라로부터 획득한 데이터를 통합(fusion)하여, 주변 객체를 보다 정확하고 신속하게 인식할 수 있도록 한다. 아울러, 실시예에 따른 객체 인식 장치(100)는 무빙 객체와 정지해 있는 객체에 따라 자율 주행 차량 제어를 다르게 하여, 자율 주행 차량의 주행 안전성을 더욱 향상시킬 수 있도록 한다.
실시예에 따른 라이다, 카메라 합성을 통한 위험 객체 인지 장치 및 방법은 라이다의 센싱 데이터를 차량 좌표계인 제1좌표계로 변환하고, 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 계산하여 객체 추적(object tracking) 결과를 산출한다. 이후, 카메라 데이터에 대한 시간차를 보상함으로써, 딥러닝 및 머신러닝에 학습하지 객체를 인지할 수 있도록 한다. 또한, 실시예를 통해 클러스터링을 이용하여 객체를 인지할 수 있도록 한다.
또한, 실시예에서는 사람, 차량 등 움직이는 객체에 대해 물체 하단좌표를 변환행렬을 이용하여 차량 좌표계로 변환하여 x축 기준으로 물체의 거리와 각도(angle)를 계산함으로써, 보행자와 저속 차량 혼재된 도로에서 저속 자율 주행 차량을 인지할 수 있도록 한다.
또한, 실시예에서는 레이더(Radar)와 카메라의 특성을 서로 보완하기 위해 이 두 가지 센서의 데이터를 왜곡 계수를 통해 통합(fusion)하여 주변 객체를 보다 정확하게 인식할 수 있도록 한다.
도 2는 실시예에 따른 객체 인식 장치의 블록도를 나타낸 도면이다.
도 2에 도시된 서버(200) 구성은 간략화하여 나타낸 예시일 뿐이다.
통신부(110)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 통신부(110)는 공지의 월드와이드웹(WWW: World Wide Web) 기반으로 동작할 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 일례로, 통신부(110)는 본 개시의 일 실시예에 따른 기법을 수행하는데 필요한 데이터에 대한 송수신을 담당할 수 있다.
메모리(120)는 임의의 타입의 저장 매체를 의미할 수 있다 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예: SD 또는 XD 메모리 등), RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 이러한 메모리(120)는 도 1에 도시되어 있는 데이터베이스를 구성할 수도 있다.
메모리(120)는 프로세서(130)에 의해 실행될 수 있는 적어도 하나의 명령어를 저장할 수 있다. 또한, 메모리(120)는 프로세서(130)가 생성하거나 결정한 임의의 형태의 정보 및 서버(200)가 수신한 임의의 형태의 정보를 저장할 수 있다. 예컨대, 메모리(120)는 후술하겠지만 사용자에 따른 RM 데이터 및 RM 프로토콜을 저장한다. 또한, 메모리(120)는 다양한 종류의 모듈, 명령어 세트 내지 모델을 저장한다.
프로세서(130)는 메모리(120)에 저장된 적어도 하나의 명령어를 실행시킴으로써, 후술될 본 개시내용의 실시예들에 따른 기술적 특징들을 수행할 수 있다. 일 실시예에서, 프로세서(130)는 적어도 하나의 코어로 구성될 수 있으며, 컴퓨터 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석 및/또는 처리를 위한 프로세서를 포함할 수 있다.
도 3은 실시예에 따른 객체 인식 장치에 마련되어 있는 다양한 종류의 모듈 내지 모델에 대한 블록도이다.
도 3을 참조하면, 메모리(120)에는 좌표 변환 모델(1), 객체 인식 및 추적 모델(2), 켈리브레이션 모델(3), 거리 산출 모델(4) 및 제어모델(5)을 포함하는 명령어 데이터 셋이 저장될 수 있다. 각각의 모듈 내지 모델은 프로세서(130)에 의해 실행 가능한 어플리케이션의 형태일 수 있다.
좌표 변환 모델(1)은 라이더 센서 또는 레이더 센서로부터 획득한 데이터의 좌표계를 차량 좌표계로 변환하고, 라이다 센서로부터 수집한 라이다 데이터에서 인식된 객체를 image 좌표계를 포함하는 제2좌표계로 변환하는 모델이다.
좌표 변환 모델(1)은 한 좌표 시스템에서 정의된 점이나 객체를 다른 좌표 시스템으로 변환하는 수학적 모델로서, 이동 변환 (Translation), 회전 변환 (Rotation), 확대/축소 변환 (Scaling), 기울기 변환 (Shearing), 투영 변환 (Projection), 복합 변환 (Composite Transformation)등을 수행하는 모델을 포함할 수 있다.
실시예에서 객체 인식 및 추적 모델(2)은 라이더 데이터, 레이더 데이터 및 카메라데이터로부터 객체를 인식하고 인식된 객체를 추적하는 모델이다. 객체 인식 및 추적 모델(2)은 컴퓨터 비전 분야에서 사용되는 기술로, 디지털 이미지나 비디오에서 객체를 감지하고 식별하며, 시간이 지나면서 그 객체를 추적하는 과정을 자동화하는 모델이다. 실시예에서 객체 인식을 위한 모델은 Euclidean clustering을 포함하는 클러스터링 모델, Faster R-CNN, SSD (Single Shot MultiBox Detector) 등을 포함하고, 객체 추적을 위한 모델은 Kalman 필터 및 확장 Kalman 필터, Particle Filter, Deep SORT, SORT (Simple Online and Realtime Tracking) 등을 포함하고 이에 한정하지 않는다.
켈리브레이션 모델(3)은 데이터를 보정하는 모델로서, 실시예에서는 카메라 데이터, 라이더 데이터 및 레이더 데이터를 각 데이터가 획득된 시간을 기반으로 보정할 수 있다. 실시예에서 캘리브레이션 모델(3)은 시스템이나 기기의 센서 또는 카메라 등과 같은 부품들의 미세한 오차나 불일치를 보정하는데 사용되는 모델이다. 실시예에서는 보정을 시스템의 정확성과 신뢰성을 향상시키고, 데이터나 이미지의 정확한 분석과 해석을 가능하게 한다.
거리 산출 모델(4)은 자율주행 차량과 인식된 주변 객체간 거리를 산출하는 모델이다. 실시예에서 거리 산출 모델(4)는 거리 산출 모델은 물체나 점들 간의 거리를 계산하거나 측정하는 데 사용되는 모델 또는 알고리즘이다. 실시예에서 거리 산출 모델(4)은 라이다 데이터, 레이더 데이터 및 카메라 데이터를 통해 인식한 객체와 차량간 거리 및 각도(angle)를 산출한다. 실시예에서는 거리 산출 모델(4)를 통해 주어진 입력 데이터나 센서 데이터를 분석하여 객체들 간의 거리를 측정하거나 예측한다.
제어모델(5)는 자율주행 차량을 제어하는 모델이다. 실시예에 따른 제어 모델(5)는 차량이 주변 환경을 인식하고 분석하여 안전하고 효율적으로 주행하는데 사용되는 모델로서, 센서 데이터를 기반으로 차량의 움직임과 주행 경로를 결정하며, 목표 지점까지 자동으로 주행하거나 주행 과정에서 발생하는 다양한 상황에 대응할 수 있도록 한다.
본 명세서에서의 모델은 네트워크 함수, 인공신경망 및/또는 뉴럴 네트워크에 기반하여 동작하는 임의의 형태의 컴퓨터 프로그램을 의미할 수 있다. 본 명세서에 걸쳐, 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 상호 교환 가능한 의미로 사용될 수 있다. 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 신경망은 하나 이상의 노드들의 집합으로 구성될 수 있다. 신경망을 구성하는 노드들의 부분 집합은 레이어(layer)를 구성할 수 있다.
딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수개의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크, 적대적 생성 네트워크(GAN: Generative Adversarial Network), 트랜스포머(transformer) 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
뉴럴 네트워크는 지도학습(supervised learning), 비지도학습(unsupervised learning), 준지도학습(semi supervised learning), 자가학습(self-supervised learning) 또는 강화학습(reinforcement learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 뉴럴 네트워크가 특정한 동작을 수행하기 위한 지식을 뉴럴 네트워크에 적용하는 과정일 수 있다.
뉴럴 네트워크는 출력의 오류를 최소화하는 방향으로 학습될 수 있다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. 지도학습의 경우 각각의 학습 데이터에 정답이 라벨링 되어있는 데이터(labelled data)를 사용하며, 비지도학습의 경우는 각각의 학습 데이터에 정답이 라벨링되어 있지 않은 데이터(unlabeled data)를 사용할 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 또한, 과적합(overfitting)을 막기 위해서 학습 데이터의 증가, 레귤러화(regularization), 노드 일부를 비활성화하는 드롭아웃(dropout), 배치 정규화 레이어(batch normalization layer) 등의 방법이 적용될 수 있다.
일 실시예에서, 모델은 트랜스포머의 적어도 일부분을 차용할 수 있다. 트랜스포머는 임베딩된 데이터들을 인코딩하는 인코더 및 인코딩된 데이터들을 디코딩하는 디코더로 구성될 수 있다. 트랜스포머는 일련의 데이터들을 수신하여, 인코딩 및 디코딩 단계를 거처 상이한 타입의 일련의 데이터들을 출력하는 구조를 지닐 수 있다. 일 실시예에서, 일련의 데이터들은 트랜스포머가 연산가능한 형태로 가공될 수 있다. 일련의 데이터들을 트랜스포머가 연산가능한 형태로 가공하는 과정은 임베딩 과정을 포함할 수 있다. 데이터 토큰, 임베딩 벡터, 임베딩 토큰 등과 같은 표현들은, 트랜스포머가 처리할 수 있는 형태로 임베딩된 데이터들을 지칭하는 것일 수 있다.
트랜스포머가 일련의 데이터들을 인코딩 및 디코딩하기 위하여, 트랜스포머 내의 인코더 및 디코더들을 어텐션(attention) 알고리즘을 활용하여 처리할 수 있다. 어텐션 알고리즘이란 주어진 쿼리(Query)에 대해, 하나 이상의 키(Key)에 대한 유사도를 구하고, 이렇게 주어진 유사도를, 각각의 키(Key)와 대응하는 값(Value)에 반영한 후, 유사도가 반영된 값(Value)들을 가중합하여 어텐션 값을 계산하는 알고리즘을 의미할 수 있다.
쿼리, 키 및 값을 어떻게 설정하느냐에 따라, 다양한 종류의 어텐션 알고리즘이 분류될 수 있다. 예를 들어, 쿼리, 키 및 값을 모두 동일하게 설정하여 어텐션을 구하는 경우, 이는 셀프-어텐션 알고리즘을 의미할 수 있다. 입력된 일련의 데이터들을 병렬로 처리하기 위해, 임베딩 벡터를 차원을 축소하여, 각 분할된 임베딩 벡터에 대해 개별적인 어텐션 헤드를 구하여 어텐션을 구하는 경우, 이는 멀티-헤드(multi-head) 어텐션 알고리즘을 의미할 수 있다.
일 실시예에서, 트랜스포머는 복수개의 멀티-헤드 셀프 어텐션 알고리즘 또는 멀티-헤드 인코더-디코더 알고리즘을 수행하는 모듈들로 구성될 수 있다. 일 실시예에서, 트랜스포머는 임베딩, 정규화, 소프트맥스(softmax) 등 어텐션 알고리즘이 아닌 부가적인 구성요소들 또한 포함할 수 있다. 어텐션 알고리즘을 이용하여 트랜스포머를 구성하는 방법은 Vaswani et al., Attention Is All You Need, 2017 NIPS에 개시된 방법을 포함할 수 있으며, 이는 본 명세서에 참조로 통합된다.
트랜스포머는 임베딩된 자연어, 분할된 이미지 데이터, 오디오 파형 등 다양한 데이터 도메인에 적용하여, 일련의 입력 데이터를 일련의 출력 데이터로 변환할 수 있다. 다양한 데이터 도메인을 가진 데이터들을 트랜스포머에 입력가능한 일련의 데이터들로 변환하기 위해, 트랜스포머는 데이터들을 임베딩할 수 있다. 트랜스포머는 일련의 입력 데이터 사이의 상대적 위치관계 또는 위상관계를 표현하는 추가적인 데이터를 처리할 수 있다. 또는 일련의 입력 데이터에 입력 데이터들 사이의 상대적인 위치관계 또는 위상관계를 표현하는 벡터들이 추가적으로 반영되어 일련의 입력 데이터가 임베딩될 수 있다. 일 예에서, 일련의 입력 데이터 사이의 상대적 위치관계는, 자연어 문장 내에서의 어순, 각각의 분할된 이미지의 상대적 위치 관계, 분할된 오디오 파형의 시간 순서 등을 포함할 수 있으나, 이에 제한되지 않는다. 일련의 입력 데이터들 사이의 상대적인 위치관계 또는 위상관계를 표현하는 정보를 추가하는 과정은 위치 인코딩(positional encoding)으로 지칭될 수 있다.
일 실시예에서, 모델은 RNN(Recurrent Neural Network), LSTM(Long Short Term Memory) 네트워크, DNN(Deep Neural Network), CNN(Convolutional Neural Network) 및 BRDNN(Bidirectional Recurrent Deep Neural Network) 중 적어도 하나를 포함할 수 있고 이에 한정하지 않는다.
일 실시예에서, 모델은 전이학습(transfer learning) 방식으로 학습된 모델일 수 있다. 여기서, 전이학습은 대용량의 라벨링되어 있지 않은 학습용 데이터를 준지도학습 또는 자가학습 방식으로 사전 학습(pre-training)하여 제1 태스크를 갖는 사전 학습된(pre-trained) 모델을 얻고, 사전 학습된 모델을 제2 태스크에 적합하도록 fine-tuning하여 라벨링된 학습용 데이터를 지도학습 방식으로 학습해 타겟으로 하는 모델을 구현하는 학습 방식을 나타낸다.
이하, 실시예에 따른 객체 인식 장치의 프로세서(130)에서 수행 가능한 기능에 대해 도 4를 참조해서 살펴보도록 한다.
도 4는 실시예에 따른 라이더 데이터와 카메라 데이터 통합 과정을 나타낸 도면이다.
도 4를 참조하면, 프로세서(130)는 S10 단계에서 라이다 데이터(Lidar raw)를 입력 받는다. 실시예에서 라이다 데이터는 라이다 센서로부터 획득한 데이터이다. 이후, S30 단계에서 라이다 데이터의 좌표를 변환한다. 예컨대, 라이다 데이터의 좌표계를 차량 좌표계인 제1좌표계로 변환한다. S50 단계에서는 좌표계가 변경된 라이다 데이터의 배경을 제거하고, S70 단계에서 라이다 데이터에 포함된 객체를 인식한다. S90 단계에서 프로세서(130)는 객체 각각을 image 좌표계인 제2좌표계로 변환한다.
S20 단계에서 프로세서(130)는 카메라 데이터를 입력 받아 S40 단계에서 카메라데이터로부터 객체를 인식하고 S60 단계에서는 인식된 객체를 추적한다.
S100 단계에서 프로세서(130)는 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 계산하고, 객체 추적 결과를 이용하여 카메라 객체에 시간차 보상한다.
이를 위해, 프로세서(130)는 카메라와 라이다 센서에서 수집한 데이터의 타임스탬프(Time Stamp)를 분석하여 시간차를 계산하기 위해 두 데이터 세트를 동기화한다. 이는 두 센서의 시간 정보를 일치시켜서 분석하기 위한 과정이다. 이후, 프로세서(130)는 카메라와 라이다 데이터에서 각각의 물체를 감지하고 추적한다. 이때 두 센서에서 감지된 물체들을 시간과 위치 등을 기준으로 매칭시킨다. 이 매칭을 통해 라이다 데이터의 물체와 카메라 데이터의 물체 간의 대응 관계를 파악할 수 있다. 실시예에서는 매칭된 라이다 객체와 카메라 객체 간의 시간차를 계산한다. 이 시간차는 라이다 데이터 취득 시점과 카메라 데이터 취득 시점 간의 차이를 나타낸다. 이후, 프로세서(130)는 라이다 객체와 카메라 객체 간의 시간차를 바탕으로, 추적 결과에 시간차를 보상할 값을 계산한다. 이 값은 보통 속도와 가속도 등을 고려하여 결정되며, 시간차에 따른 객체의 위치 변화를 보상한다. 이후, 계산된 보상값을 이용하여 카메라 객체의 위치를 조정한다. 실시예에서는 보상값을 사용하여 카메라 객체의 예측 위치를 업데이트하여 객체의 추적 정확도를 향상시킨다.
이후 실시예에서는 보상값이 적용된 카메라 객체의 정보와 라이다 객체 정보를 통합하여 최종적으로 인식된 객체 정보를 생성한다. 이를 위해, S300 단계에서 프로세서(130)는 중첩영역의 면적이 기준값 보다 클 경우 라이다 객체에 카메라 객체의 레이블 할당한다.
실시예에서 중첩 영역이란, 카메라와 라이다 센서가 각각 취득한 데이터에서 서로 겹치거나 일치하는 영역이다. 자율주행차나 객체 추적 시스템에서는 카메라와 라이다 같은 다양한 센서를 사용하여 주변 환경을 인식하고 분석한다. 이때 중첩 영역은 서로 다른 센서로부터 얻은 정보를 조합하여 더 정확한 환경 인식을 위해 사용된다. 실시예에서는 센서 퓨전 과정에서 중첩 영역의 면적이 기준값보다 큰 경우, 카메라로 감지된 객체와 라이다로 감지된 객체가 서로 일치하는 것으로 판단할 수 있다. 이때 카메라로 추적된 객체의 레이블을 가져와서 해당 라이다 객체에 할당한다. 이 과정을 통해 두 센서의 정보를 통합하여 더 정확하고 신뢰성 있는 환경 인식을 수행할 수 있도록 한다.
실시예에서 S300 단계에서 프로세서는 카메라와 라이다 데이터에서 물체를 감지하고 추적한 결과를 기반으로 물체의 위치, 크기, 속도 등의 특성을 추출한다. 이후, 라이다 데이터와 카메라 데이터에서 매칭 가능한 객체들을 찾아 연결한다. 실시예에서는 라이다 데이터와 카메라 데이터의 중첩 영역의 면적을 계산하여 해당 면적이 기준값보다 클 경우에 매칭을 진행한다. 이후, 중첩 영역의 면적이 기준값보다 큰 경우, 라이다 객체에 카메라 객체의 레이블을 할당한다. 이를 통해 라이다 객체와 카메라 객체 간의 대응 관계를 만들어 줄 수 있다. 실시예에서는 라이다 객체에 카메라 객체의 레이블을 할당한 후, 이 정보를 기반으로 두 센서 데이터에서 추출한 객체 정보를 통합하여 최종적으로 인식된 객체 정보를 생성한다. 실시예에서는 센서 퓨전을 수행하여 중첩 영역의 면적이 기준값보다 큰 경우에도 라이다와 카메라 데이터의 정보를 효과적으로 결합하여 객체 인식의 정확성을 높일 수 있도록 한다.
또한, 프로세서(130)는 카메라와 라이다 데이터 간의 시간차를 계산하고, 이 시간차를 활용하여 객체 추적 결과에 보상을 적용하여 카메라 객체의 위치를 조정하는 과정을 거쳐 객체 추적 및 환경 인식의 정확성을 향상시킬 수 있도록 한다.
도 5는 실시예에 따른 라이더 데이터의 좌표 변환과정을 설명하기 위한 도면이다.
도 5를 참조하면, 실시예에 따른 프로세서(130)는 좌표 변환 모델을 이용하여 라이다 데이터의 좌표계를 차량 좌표계로 변환한다. 실시예에서는 라이다 좌표계를 차량(vehicle) 좌표계에 맞추기 위해 라이다 포인트 클라우드(Lidar point cloud)를 회전(rotation) 및 변환(transition)한다.
실시예에서는 회전 좌표(Rotation(Rx, Ry, Rz)) 및 변환 좌표(transition(Tx, Ty, Tz)) 값을 알아내기 위해 보정(calibration)을 진행하고, 센서로부터 획득한 Raw point cloud 데이터는 차량 좌표계로 변환되어 출력된다.
도 6 및 도 7은은 실시예에 따른 카메라 보정 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 실시예에서는 보정 모델 중 하나인 핀홀 카메라 모델을 통해, 카메라 데이터는 핀홀 프로젝션(pinhole projection)인 프로젝티브 모델 (projective model)로 근사화 한다. 실시예에서 카메라 보정(camera calibration)은 핀홀 카메라 모델(pinhole camera model)을 구하기 위한 방법으로, 여러 장의 체크 보드(checkboard) 이미지를 이용한다.
도 7을 참조하면, 프로세서(130)는 핀홀 카메라 모델을 이용하여 영상 왜곡에 대한 계수를 추출한다. 실시예에서 하나의 카메라에 대한 카메라 보정 (camera calibration)은 K 행렬(intrinsic parameter) 및 렌즈에 의해 발생하는 영상의 왜곡에 대한 계수를 산출하는 것이다.
도 8은 실시예에 따른 라이더 데이터에 대응하는 3차원 점을 산출한 결과를 나타낸 도면이다. 라이다 좌표계와 카메라 좌표계는 서로 다르므로, 라이다-카메라 보정(lidar-camera calibration)은 라이다(lidar) 좌표계를 카메라(camera) 좌표계로 변환(rotation 및 transition) 하기 위한 변환값을 찾는 과정이다. 이는 외부 매개변수(extrinsic parameter)를 찾는 과정을 포함한다. 실시예에서는 체크보드(checkboard)를 이용하여 이미지 상에서 일정 수 이상의 픽셀 위치, x, y 포인트와 라이다에서 이에 대응하는 3차원 포인트(x, y, z)를 이용하여 계산할 수 있다.
도 9는 실시예에 따른 라이다 데이터 보정 후의 프로젝션 결과를 나타낸 도면이다.
도 9를 참조하면, 실시예에서는 라이다 포인트 클라우드(point cloud)를 외부 매개변수(extrinsic parameter)를 이용하여 카메라(camera) 좌표계로 이동 후 내부 매개변수(intrinsic parameter) 및 왜곡 계수를 이용하여 image 평면으로 프로젝션(projection)한다.
도 10은 실시예에 따른 카메라, 라이다 데이터 통합 결과를 나타낸 도면이다.
도 10을 참조하면, 도 10 위에 표시된 포인트는 라이다 클러스터링된 물체들을 나타낸다. 사각박스는 라이다의 클러스터링 된 물체 중 카메라 yolo 레이블이 할당된 물체를 나타냄(camera lidar fusion 결과이다.
도 11은 실시예에 따라 인식된 객체의 무빙 여부에 따라 자율주행 차량을 제어하는 과정을 나타낸 도면이다.
도 11을 참조하면, S200 단계에서 프로세서는 사람/차량 등 움직이는 물체에 대해 물체 하단좌표를 변환행렬을 이용하여 차량 좌표계로 변환하여 x축 기준으로 물체의 거리와 각도 계산한다. S300 단계에서는 라이다 객체의 위치가 카메라 객체(object)의 각도(angle) 및 거리와 비교하여 설정값 이내 일 경우 라이다 객체(lidar object)에 카메라 객체(object)의 레이블(label)을 할당한다. 이를 위해, 프로세서(130)는 라이다와 카메라 센서에서 수집된 데이터는 각각 다른 형태와 특성을 가질 수 있으므로, 데이터를 일관된 형식으로 변환하고 필요한 정보를 추출하기 위해 좌표 변환 등의 전처리를 수행한다. 이후, 라이다 데이터와 카메라 데이터에서 각각 객체를 감지하고 추출한다. 이때 라이다 데이터는 주로 객체의 거리와 위치 정보를, 카메라 데이터는 객체의 시각적 특징을 추출한다. 이후, 라이다 데이터와 카메라 데이터의 객체들을 연결하고 매칭한다. 이 과정에서 라이다 데이터의 객체와 카메라 데이터의 객체 간의 거리, 방향 등을 비교하며 매칭 가능한 객체들을 식별한다.
실시예에서는 라이다 객체와 카메라 객체 간의 매칭이 이루어지면, 라이다 객체에 카메라 객체의 레이블을 할당한다. 이때 라이다 객체와 카메라 객체의 위치, 방향, 속도 등을 고려하여 보정 작업을 수행할 수 있다. 이후, 매칭된 객체들 중에서 라이다 객체와 카메라 객체의 중첩 영역을 분석하고, 해당 중첩 영역의 크기, 위치, 형태 등을 고려하여 객체 추적 결과를 최종 결정한다.
S400 단계에서는 차량 주행 예상 경로와 전방 라이다 객체(Lidar object)들의 최소 거리 및 차량으로부터 거리 계산한다. 이를 위해, S400 단계에서는 경로와 라이다(Lidar) 데이터 비교한다. 실시예에서는 라이다 데이터와 주행 예상 경로의 교차점을 찾아 둘 사이의 거리를 계산한다. 이때 교차점이 라이다(Lidar) 데이터 상에 있는지 확인하고, 거리 정보를 계산한다. 이후, 프로세서는 라이다(Lidar) 데이터에서 주행 예상 경로와 교차하는 점들 중에서 가장 가까운 점을 찾아 해당 점까지의 거리를 최소 거리로 계산한다. 이 거리는 주행 예상 경로와 라이다(Lidar) 데이터 간의 최소 안전 간격을 나타낼 수 있다. 실시예에서는 최소 거리를 계산한 후, 해당 점의 라이다 데이터에서 차량의 위치까지의 거리를 계산한다. 이 거리는 현재 차량 위치와 라이다 센서로 감지된 장애물까지의 실제 거리를 나타낸다.
S600 단계에서 프로세서는 라이다 객체와 차량의 거리가 챠량 속도에 따른 기준값 이내에 있을 경우 제어모델을 통해 자율주행 차량의 속도 제어한다.
S800 단계에서는 차량 주행 예상경로와의 최소 거리 및 차량으로부터 거리에 따른 속도 제어값을 무빙 객체와 고정된 물체에 별도로 부여한다. 이때, 무빙 객체의 경우 감속을 포함하는 속도제어 범위를 크게 조정할 수 있다. 예컨대, 무빙 객체에 부여되는 속도 제어 값은 고정된 물체에 부여되는 속도 제어값을 초과하는 값으로 설정할 수 있다.
이를 위해, S800 단계에서 프로세서는 센서 데이터를 분석하여 주변의 물체들을 감지하고 추적한다. 이때 무빙 객체(움직이는 차량, 보행자 등)와 고정된 물체(도로 표지판, 가드레일 등)를 구분하여 식별할 수 있다. 이후, 무빙 객체와 고정된 물체들과의 최소 거리 및 차량으로부터의 거리를 계산한다. 이때 차량의 현재 속도와 방향, 그리고 물체의 위치와 속도를 고려한다. 이후, 계산된 최소 거리나 거리에 따라 속도 제어값을 계산한다. 속도 제어값은 안전 거리를 유지하기 위해 무빙 객체나 고정된 물체와의 거리가 가까워지면 속도를 줄이는 제어값을 포함하고, 속도 제어값은 주행 제어 시스템에 입력되어 실제 차량의 속도를 조절하는 데 사용된다. 실시예에서는 계산된 속도 제어값을 차량의 제어 시스템에 적용하여 속도를 조절한다. 이때 속도 제어값은 브레이크와 가속을 조절하는데 사용한다. 실시예에서는 만약 무빙 객체와의 거리가 너무 가깝거나 주행 예상 경로와 충돌할 가능성이 있다면, 동적으로 장애물 회피를 위한 경로 수정 또는 긴급 정지 등의 조치를 취할 수 있다.
특히 무빙 객체가 사람인 경우에는 인명사고를 방지하기 위한 조치가 필요하다. 예를 들어, 무빙 객체가 달리는 사람, 킥보드를 타고 가는 사람, 자전거를 타고 가는 사람 등 일 수 있다. 무빙 객체가 달리는 사람인지, 킥보드를 타고 가는 사람인지, 자전거를 타고 가는 사람인지 등은 카메라를 통해 수집한 카메라 객체의 이미지 프로세싱 및 머신 러닝을 통해 인식할 수 있다. 한 예로서, 달리는 사람인지 여부는 무릎이 올라가는 높이 및 다리의 각도 등의 특징점을 딥러닝 학습을 통해 인식할 수 있다. 또한 킥보드를 타고 가는 사람인지 여부는 탈 것인 킥보드의 특징점을 딥러닝 학습을 통해 인식할 수 있을 것이다. 이와 같이 무빙 객체가 사람이고, 무빙 객체와 자율 주행 차량의 거리가 가까운 경우(즉, 일정 거리 이내인 경우)에는 무조건 긴급 정지의 조치를 취할 수 있다. 부연 설명하자면, 일정 거리 이내에서 레이더 객체가 인식되고, 카메라 객체가 사람인 것으로 인식되면 다른 프로세스를 무시하고 무조건 긴급 정지의 조치를 취할 수 있다. 이렇게 함으로써 인명사고를 방지할 수 있는 이점이 있다.
도 12는 실시예에 따른 카메라 캘리브레이션을 설명하기 위한 도면이다.
도 12를 참조하면, 실시예에서 S200 단계에서 프로세서는 지면의 기준점(차량 좌표계)와 카메라의 이미지 상에서 기준점의 위치를 이용하여 변환 행렬(homography)을 생성한다. 이를 통해, 사람/차량 등 움직이는 물체에 대해 물체 하단좌표를 변환행렬을 이용하여 차량 좌표계로 변환하여 x축 기준으로 물체의 거리와 각도(angle)를 계산할 수 있다.
실시예에서는 차량에 라이다 센서가 없는 경우, 벽면에 차량 원점으로부터 거리(dx, dy, dz)와 차량 좌표계에서의 좌표를 알 수 있는 체크보드(checkboard)를 설치하고, 카메라 입력 영상의 체크보드(checkboard)에서 일정 수 이상의 포인트(point)들과 이에 상응하는 차량좌표(dx, dy, dz)를 이용하여 차량좌표에서 카메라 좌표계로 변환을 위한 외부 파라미터(extrinsic parameter)를 계산한다.
도 13은 실시예에 따른 라이다 데이터와 카메라 데이터 통합 과정을 나타낸 도면이다.
도 13을 참조하면, S110 단계에서 프로세서는 레이더 데이터를 입력받고 S130 단계에서는 차량 좌표계로 레이더 좌표를 변환한다. S150 단계에서는 레이더 객체 각각을 image 좌표계로 변환한다. S20 단계에서 프로세서는 카메라 데이터를 입력 받아 S40 단계에서 카메라데이터로부터 객체를 인식하고 S60 단계에서는 인식된 객체를 추적한다. S80 단계에서는 카메라 데이터 취득 시점과 레이더 데이터 취득 시점의 시간차 계산하여 객체 추적(object tracking) 결과를 이용하여 카메라 객체(Camera object)에 시간차 보상을 한다. S170 단계에서는 이미지 좌표계로 변환된 레이더 객체(Radar object)와 중첩되는 카메라 객체(Camera object) 영역 계산, 레이더 크로스 섹션(RCS, Radar Cross Section) 이용이 가능할 경우 계산에 반영한다.
레이더 크로스 섹션은 물체가 레이더 파장의 전파를 받아 반사하는 표면적을 나타내는 측정 값이다. 간단히 말해, 레이더 크로스 섹션은 물체가 레이더에게 얼마나 크게 보이는지를 나타내는 지표이다. 크로스 섹션은 레이더 시스템과 타깃 사이의 전파 상호작용을 설명하며, 레이더에서 보낸 파장이 타깃에 반사되는 정도를 결정하는 요소 중 하나이다.
S190 단계에서는 레이더 데이터와 카메라 데이터의 중첩영역의 면적이 기준값보다 클 경우 레이더 객체(object)에 카메라 객체(object)의 레이블(label)을 할당한다. 이를 위해 S190 단계에서 프로세서는 카메라 데이터와 레이더 데이터에서 각각의 물체를 매칭시키고, 중첩 영역의 면적을 계산하여 해당 면적이 기준값보다 큰 경우에 매칭을 진행한다. 실시예에서는 중첩 영역의 면적이 기준값보다 큰 경우, 해당 레이더 객체에 카메라 객체의 레이블을 할당한다. 이는 중첩되는 물체들의 동일한 객체임을 나타내며, 센서 퓨전을 통해 레이더와 카메라 데이터의 정보를 통합하는 역할을 한다. 실시예에서는 레이더 객체에 카메라 객체의 레이블을 할당한 후, 해당 객체의 위치, 속도, 크기, 레이블 등을 통합하여 최종적으로 인식된 객체 정보를 생성한다.
이상에서와 같은 라이다, 카메라 합성을 통한 위험 객체 인지 장치 및 방법 라이다, 레이더, 카메라를 포함하는 다양한 센서로부터 획득한 데이터를 통합하여, 자율주행 차량 주변 객체를 보다 정확하게 인식할 수 있도록 한다.
또한, 실시예를 통해, 머신러닝, 딥러닝 모델에서 학습되지 않은 객체를 인식할 수 있도록 하여, 주변 객체 인식을 위한 데이터 학습에 소요되는 연산을 줄임으로써, 시스템 효율을 향상시킬 수 있다.
개시된 내용은 예시에 불과하며, 특허청구범위에서 청구하는 청구의 요지를 벗어나지 않고 당해 기술분야에서 통상의 지식을 가진 자에 의하여 다양하게 변경 실시될 수 있으므로, 개시된 내용의 보호범위는 상술한 특정의 실시예에 한정되지 않는다.

Claims (5)

  1. 라이다(Lidar) 센서, 레이더(Radar) 센서 및 카메라를 포함하는 차량의 객체 인식 장치에 있어서,
    적어도 하나의 명령어를 저장하는 메모리; 및
    프로세서를 포함하며,
    상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써,
    상기 라이다 센서로부터 라이다(Lidar) 데이터를 획득하고, 상기 라이다 데이터를 차량 좌표계인 제1좌표계로 변환하고, 클러스터링에 기반하여 상기 라이다 데이터에 포함된 라이다 객체를 인식하고, 인식된 객체의 좌표계를 image 좌표계를 포함하는 제2좌표계로 변환하고,
    상기 카메라로부터 카메라 데이터를 획득하여, 상기 카메라 데이터에 포함된 카메라 객체를 인식하고, 인식된 카메라 객체를 추적(tracking)하고
    상기 카메라 데이터 취득 시점과 라이다 데이터 취득 시점의 시간차를 산출하여, 상기 카메라 객체 추적결과를 보상(calibration)하고
    상기 객체인식 장치; 는
    카메라 데이터로부터 객체 인식을 수행하고, 사람, 차량을 포함하는 무빙(Moving) 객체의 경우, 무빙 객체의 하단 좌표를 차량 좌표계로 변환하여, 차량과 물체의 거리 및 각도를 산출하고, 라이다 객체의 위치, 각도 및 카메라 객체의 위치, 각도를 각각 비교하여 라이다 객체 및 카메라 각도의 위치, 각도의 차이가 설정값 이내인 경우, 라이다 객체에 카메라 객체의 레이블을 할당하고

    상기 객체인식 장치; 는
    차량의 주행 예상경로와 인식된 객체간 최소 거리 및 차량과 객체의 거리에 따른 속도 제어값을 무빙 객체와 고정된 물체에 각각 부여하고,
    상기 부여된 무빙 객체의 속도 제어값은
    고정된 객체에 부여된 속도 제어값을 초과하는 값이고

    상기 객체인식 장치; 는
    차량의 주행 예상 경로와 전방 라이다 객체들의 최소 거리 및 차량과 객체 간 거리를 계산하고,
    라이다 객체(Lidar object)와 차량의 거리가 차량 속도에 따른 설정값 이하이거나, 라이다 객체와 차량의 거리가 차량 속도에 따른 설정값 미만인 경우 속도를 제어하는 객체인식 장치.
  2. 제1항에 있어서, 상기 객체인식 장치; 는
    객체 추적결과 보상에 의해 발생한 라이다 데이터와 카메라 데이터의 중첩영역의 면적이 설정된 경계값을 초과하는 경우, 라이다 객체(lidar object)에 카메라 객체의 레이블(label)을 할당하는 것을 특징으로 하는 객체인식 장치.



  3. 삭제
  4. 삭제
  5. 삭제
KR1020230109651A 2022-11-30 2023-08-22 자율주행 차량의 객체 인식 장치 및 방법 KR102633224B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220164641 2022-11-30
KR20220164641 2022-11-30

Publications (1)

Publication Number Publication Date
KR102633224B1 true KR102633224B1 (ko) 2024-02-06

Family

ID=89858173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230109651A KR102633224B1 (ko) 2022-11-30 2023-08-22 자율주행 차량의 객체 인식 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102633224B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023974A (ko) * 2018-08-27 2020-03-06 국방과학연구소 회전형 라이다와 다중 카메라간의 센서 동기화 방법 및 그 장치
KR20200084552A (ko) 2019-01-03 2020-07-13 현대모비스 주식회사 차량용 카메라 및 라이다 센서의 캘리브레이션 장치 및 방법
KR20220087693A (ko) 2020-12-18 2022-06-27 현대모비스 주식회사 카메라와 라이다 정보 통합 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200023974A (ko) * 2018-08-27 2020-03-06 국방과학연구소 회전형 라이다와 다중 카메라간의 센서 동기화 방법 및 그 장치
KR20200084552A (ko) 2019-01-03 2020-07-13 현대모비스 주식회사 차량용 카메라 및 라이다 센서의 캘리브레이션 장치 및 방법
KR20220087693A (ko) 2020-12-18 2022-06-27 현대모비스 주식회사 카메라와 라이다 정보 통합 장치

Similar Documents

Publication Publication Date Title
CN111201451B (zh) 基于场景的激光数据和雷达数据进行场景中的对象检测的方法及装置
Tsintotas et al. Assigning visual words to places for loop closure detection
US11430224B2 (en) Systems and methods for camera-LiDAR fused object detection with segment filtering
Piccoli et al. Fussi-net: Fusion of spatio-temporal skeletons for intention prediction network
US20220128702A1 (en) Systems and methods for camera-lidar fused object detection with local variation segmentation
US20220128700A1 (en) Systems and methods for camera-lidar fused object detection with point pruning
CA3110387A1 (en) Method and device for classifying objects
US20220128701A1 (en) Systems and methods for camera-lidar fused object detection with lidar-to-image detection matching
US20220126873A1 (en) Systems and methods for camera-lidar fused object detection with segment merging
CN115393680B (zh) 雾天场景下多模态信息时空融合的3d目标检测方法及系统
CN111198496A (zh) 一种目标跟随机器人及跟随方法
WO2022108745A1 (en) Systems and methods for object detection with lidar decorrelation
Zhang et al. A novel vehicle reversing speed control based on obstacle detection and sparse representation
KR20230026130A (ko) 자율 주행을 위한 단일 계층 3차원 다중 객체 검출 장치 및 방법
Palazzo et al. Domain adaptation for outdoor robot traversability estimation from RGB data with safety-preserving loss
CN111429515A (zh) 基于深度学习的机器人避障行为的学习方法
CN115880333A (zh) 一种基于多模态信息融合的三维单目标跟踪方法
Ijaz et al. Automatic steering angle and direction prediction for autonomous driving using deep learning
WO2022086739A2 (en) Systems and methods for camera-lidar fused object detection
KR102633224B1 (ko) 자율주행 차량의 객체 인식 장치 및 방법
Zhao et al. Improving Autonomous Vehicle Visual Perception by Fusing Human Gaze and Machine Vision
Shukla et al. UBOL: User-Behavior-aware one-shot learning for safe autonomous driving
Liu et al. Multi-target detection based on multi-sensor redundancy and dynamic weight distribution for driverless cars
Sanchez-Lopez et al. Deep learning based semantic situation awareness system for multirotor aerial robots using LIDAR
CN114140497A (zh) 目标车辆3d实时追踪方法及系统

Legal Events

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