KR102581969B1 - 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램 - Google Patents

객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102581969B1
KR102581969B1 KR1020230016136A KR20230016136A KR102581969B1 KR 102581969 B1 KR102581969 B1 KR 102581969B1 KR 1020230016136 A KR1020230016136 A KR 1020230016136A KR 20230016136 A KR20230016136 A KR 20230016136A KR 102581969 B1 KR102581969 B1 KR 102581969B1
Authority
KR
South Korea
Prior art keywords
point
channel
channels
point cloud
computing device
Prior art date
Application number
KR1020230016136A
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 KR1020230016136A priority Critical patent/KR102581969B1/ko
Application granted granted Critical
Publication of KR102581969B1 publication Critical patent/KR102581969B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계 및 상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함한다.

Description

객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램{METHOD, COMPUTING DEVICE AND COMPUTER PROGRAM FOR INTERPOLATING LIDAR POINT CLOUD TO IMPROVE OBJECT RECOGNITION}
본 발명의 다양한 실시예는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램에 관한 것이다.
객체 인식 기술 분야에서는 객체를 탐지하고 추적하는 데에 있어 지속적으로 정밀도가 보다 높아지는 것을 요구되는 한편, 객체를 인식하는 시간 즉, 데이터 연산량은 상대적으로 줄어드는 것이 요구되고 있다.
이러한 추세 속에서, 객체를 인식하는 장치의 성능 향상과 함께 인공 신경망을 이용하여 장비에 의해 측정된 데이터를 처리하는 기술이 차세대 객체 인식 기술로 각광을 받고 있다.
대표적인 객체 인식 기술로는 카메라를 통해 촬영된 이미지 전체 또는 이미지로부터 객체가 있는 것으로 추정되는 영역을 분석하거나, 라이다(Light Detection And Ranging, LiDAR)를 통해 수집된 포인트 클라우드 전체 또는 포인트 클라우드로부터 객체가 있는 것으로 추정되는 영역을 분석하여 객체를 인식하는 기술이 있다.
한편, 라이다는 주변의 객체를 인식하기 위해 레이저 신호를 이용하는 기술로, 라이다 센서에서 쏘아진 펄스 레이저 신호가 주변의 객체와 부딪힌 후 되돌아오면, 이를 분석해 객체의 위치나 운동 방향, 속도 등을 확인하는 방식으로, 객체와의 거리가 멀어질수록 맺히는 점군의 개수가 현저하게 줄어든다는 문제가 있으며, 이에 따라, 상대적으로 먼 거리에 위치하는 객체를 정확하게 인식하기 어렵다는 문제가 있다.
본 발명이 해결하고자 하는 과제는 상술된 종래의 문제점을 해소하기 위한 목적으로, 라이다 센서의 복수의 채널을 통해 수집된 포인트 클라우드에 포함된 포인트들을 보간함에 따라 상호 인접한 채널들 사이에 신규 채널을 생성함으로써, 채널의 수가 적은 저성능의 라이다 센서를 이용하여 채널의 수가 많은 고성능의 라이다 센서와 동일한 객체 인식률을 확보할 수 있도록 하는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 포인트 클라우드 데이터를 획일화된 기준으로 보간하는 것이 아니라, 인식하고자 하는 객체의 종류, 라이다 센서가 설치된 공간 및 장소의 특성을 고려하여 포인트 클라우드에 포함된 포인트들을 보간함으로써, 객체의 종류, 라이다 센서가 설치된 공간 및 장소에 따라 객체를 보다 효율적으로 인식할 수 있도록 하는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계 및 상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트 각각에 대한 고도 각(altitude angle) 및 방위 각(azimuth angle)을 산출하는 단계, 상기 산출된 고도 각 및 방위 각을 이용하여 상기 제1 포인트와 상기 제2 포인트 사이에 위치하는 제3 포인트를 산출하는 단계 및 상기 산출된 제3 포인트를 이용하여, 상기 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 고도 각 및 방위 각을 산출하는 단계는, 하기의 수학식 1을 이용하여 상기 제1 포인트와 상기 제2 포인트 각각에 대응하는 고도 각과 방위 각을 산출하는 단계를 포함할 수 있다.
<수학식 1>
여기서, 상기 는 제n 포인트의 고도 각, 상기 는 상기 제n 포인트의 방위 각, 상기 , 상기 및 상기 는 상기 제n 포인트의 x, y 및 z 좌표 값일 수 있다.
다양한 실시예에서, 상기 제3 포인트를 산출하는 단계는, 하기의 수학식 2를 이용하여 제3 포인트의 좌표를 산출하는 단계를 포함할 수 있다.
<수학식 2>
여기서, 상기 , 상기 및 상기 는 상기 제3 포인트의 x, y 및 z 좌표 값, 상기 는 상기 라이다 센서와 상기 제1 포인트 및 상기 제2 포인트의 중심점 간의 거리, 상기 는 상기 제1 포인트의 고도 각, 상기 는 상기 제1 포인트의 방위 각, 상기 는 상기 제2 포인트의 고도 각 및 상기 는 상기 제2 포인트의 방위 각일 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트의 중심점을 산출하고, 상기 산출된 중심점을 이용하여, 상기 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트를 보간하되, 상기 제1 포인트와 상기 제2 포인트 사이의 간격이 기 설정된 값 이내인 경우에만 상기 제1 포인트와 상기 제2 포인트를 보간하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계, 상기 식별된 객체의 종류에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계 및 상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 소정의 지역에 대하여 수집된 포인트 클라우드 데이터를 분석함에 따라 상기 소정의 지역에 대한 속성을 추출하는 단계, 상기 추출된 속성에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계 및 상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계, 상기 식별된 객체의 속성에 기초하여 관심 영역(Region of Interest, ROI)을 설정하는 단계 및 상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 상기 설정된 관심 영역에 포함된 포인트들을 보간하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 신규 채널을 생성하는 단계는, 상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계, 상기 라이다 센서와 상기 식별된 객체와의 거리에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계 및 상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하는 컴퓨팅 장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 인스트럭션(instruction) 및 상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계 및 상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함하는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 라이다 센서의 복수의 채널을 통해 수집된 포인트 클라우드에 포함된 포인트들을 보간함에 따라 상호 인접한 채널들 사이에 신규 채널을 생성함으로써, 채널의 수가 적은 저성능의 라이다 센서를 이용하여 채널의 수가 많은 고성능의 라이다 센서와 동일한 객체 인식률을 확보할 수 있다는 이점이 있다.
또한, 포인트 클라우드 데이터를 획일화된 기준으로 보간하는 것이 아니라, 인식하고자 하는 객체의 종류, 라이다 센서가 설치된 공간 및 장소의 특성을 고려하여 포인트 클라우드에 포함된 포인트들을 보간함으로써, 객체의 종류, 라이다 센서가 설치된 공간 및 장소에 따라 객체를 보다 효율적으로 인식할 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 하나의 라이다 센서를 이용하여 다양한 이격 거리를 가지는 객체를 스캔함에 따라 수집되는 포인트 클라우드를 예시적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 객체 인식 시스템을 예시적으로 도시한 도면이다.
도 3은 본 발명의 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하는 컴퓨팅 장치의 하드웨어 구성도이다.
도 4는 본 발명의 또 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법의 순서도이다.
도 5는 다양한 실시예에서, 각도 기반의 보간 방식에 따라 라이다 포인트 클라우드를 보간하는 방법을 설명하기 위한 순서도이다.
도 6은 다양한 실시예에서, 선형 보간 방식에 따라 라이다 포인트 클라우드를 보간하는 방법을 설명하기 위한 순서도이다.
도 7 내지 도 10은 원본 포인트 클라우드 데이터와 본 발명의 또 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 보간된 포인트 클라우드 데이터를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 하나의 라이다 센서를 이용하여 다양한 이격 거리를 가지는 객체를 스캔함에 따라 수집되는 포인트 클라우드를 예시적으로 도시한 도면이다.
도 1을 참조하면, 라이다 센서와 객체 사이의 거리가 멀수록 맺히는 점군의 개수가 현저하게 줄어들고 있음을 알 수 있다. 라이다 센서와 객체 사이의 거리가 10m 이하일 경우, 객체의 식별이 가능하고 객체의 종류가 사람인 것이 명확하게 판단될 수 있으나, 약 20m일 경우 객체의 식별은 가능하나 객체의 종류가 사람인지 명확하게 판단되기 어려우며, 약 30m 이상일 경우 객체 자체가 식별되기 불가능하다는 것을 알 수 있다. 즉, 라이다 센서와 객체 사이의 거리가 멀수록 객체 인식 및 검출의 정확도가 현저하게 떨어진다는 것을 알 수 있다.
한편, 상대적으로 먼 거리에 위치하는 객체를 보다 정확하게 인식 및 검출하기 위해 보다 높은 성능을 가지는 라이다(예컨대, 채널의 수가 많은 라이다)를 사용할 수 있으나, 그 비용이 상당하기 때문(예컨대, 32채널 라이다 센서 대비 64채널 라이다 센서의 가격이 약 2배)에 비용적인 측면에서 큰 부담이 있다.
이에, 저성능의 라이다 센서를 이용하여 객체 인식 및 검출의 정확도를 향상시키는 기술의 개발이 요구되고 있는 바, 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법은 채널의 수가 적은 저성능의 라이다 센서를 이용하여 채널의 수가 많은 고성능의 라이다 센서와 동일한 객체 인식률을 확보할 수 있도록 하는 것이다. 이하, 도 2 내지 도 6을 참조하여, 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 객체 인식 시스템을 예시적으로 도시한 도면이다.
도 2를 참조하면, 본 발명의 객체 인식 시스템은 컴퓨팅 장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 2에 도시된 객체 인식 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 3에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 라이다 센서를 이용하여 소정의 지역을 스캔함에 따라 수집되는 포인트 클라우드 데이터를 분석하여, 소정의 지역 내에 위치하는 객체를 식별할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 기 학습된 인공지능 모델을 통해 소정의 지역에 대한 포인트 클라우드 데이터를 분석함에 따라 객체를 식별할 수 있다.
여기서, 기 학습된 인공지능 모델은 객체에 관한 정보가 레이블링(Labeling)된 포인트 클라우드 데이터를 학습 데이터로 하여 기 학습된 모델로서, 특정 포인트 클라우드 데이터를 입력 데이터로 하여 결과 데이터로서 객체 인식 결과(예컨대, 객체 유무, 식별된 객체의 종류 등)를 출력하는 모델일 수 있다.
인공지능 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.
인공지능 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 인공지능 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 인공지능 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 인공지능 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 인공지능 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 인공지능 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 인공지능 모델이 존재하는 경우, 두 개의 인공지능 모델들은 서로 상이한 것으로 인식될 수 있다.
인공지능 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 인공지능 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 인공지능 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 인공지능 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 인공지능 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 인공지능 모델일 수 있다.
인공지능 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(Fully Connected Layer, FCL)에 의해 출력될 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 인공지능 모델을 학습시킬 수 있다. 구체적으로, 컴퓨팅 장치(100)는 레이블링된 학습 데이터 세트를 이용하여 인공지능 모델을 구성하는 하나 이상의 네트워크 함수에 대한 학습을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 학습 입력 데이터 세트 각각을 하나 이상의 네트워크 함수에 입력시키고, 하나 이상의 네트워크 함수로 연산된 출력 데이터 각각과 학습 입력 데이터 세트 각각의 레이블에 해당하는 학습 출력 데이터 세트 각각을 비교하여 오차를 도출할 수 있다. 즉, 신경망의 학습에서 학습 입력 데이터는 하나 이상의 네트워크 함수의 입력 레이어에 입력될 수 있으며, 학습 출력 데이터는 하나 이상의 네트워크 함수의 출력과 비교될 수 있다. 컴퓨팅 장치(100)는 학습 입력 데이터에 대한 하나 이상의 네트워크 함수의 연산 결과와 학습 출력 데이터(레이블)의 오차에 기초하여 신경망을 학습시킬 수 있다.
또한, 컴퓨팅 장치(100)는 오차에 기초하여 하나 이상의 네트워크 함수의 가중치를 역전파 방식으로 조정할 수 있다. 즉, 컴퓨팅 장치(100)는 학습 입력 데이터에 대한 하나 이상의 네트워크 함수의 연산 결과와 학습 출력 데이터의 오차에 기초하여 하나 이상의 네트워크 함수의 출력이 학습 출력 데이터에 가까워지도록 가중치를 조정할 수 있다.
컴퓨팅 장치(100)는 하나 이상의 네트워크 함수의 학습이 사전 결정된 에폭 이상 수행된 경우, 검증 데이터를 이용하여 학습의 중단 여부를 결정할 수 있다. 사전 결정된 에폭은 전체 학습 목표 에폭의 일부일 수 있다. 검증 데이터는 레이블링된 학습 데이터 세트 중 적어도 일부로 구성될 수 있다. 즉, 컴퓨팅 장치(100)는 학습 데이터 세트를 통해 신경망의 학습을 수행하며, 신경망의 학습이 사전결정된 에폭 이상 반복된 후, 검증 데이터를 이용하여 신경망의 학습 효과가 사전 결정된 수준 이상인지 여부를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 100개의 학습 데이터를 이용하여 목표 반복 학습 횟수가 10회인 학습을 수행하는 경우, 사전결정된 에폭인 10회의 반복 학습을 수행한 후, 10개의 검증 데이터를 이용하여 3회의 반복 학습을 수행하여, 3회의 반복 학습 동안 신경망 출력의 변화가 사전결정된 수준 이하인 경우 더 이상의 학습이 무의미한 것으로 판단하고 학습을 종료할 수 있다. 즉, 검증 데이터는 신경망의 반복 학습에서 에폭별 학습의 효과가 일정 이상인지 이하인지 여부에 기초하여 학습의 완료를 결정하는 데 이용될 수 있다. 전술한 학습 데이터, 검증 데이터의 수 및 반복 횟수는 예시일 뿐이며 본 발명은 이에 한정되지 않는다.
컴퓨팅 장치(100)는 테스트 데이터 세트를 이용하여 하나 이상의 네트워크 함수의 성능을 테스트하여 하나 이상의 네트워크 함수의 활성화 여부를 결정함으로써, 인공지능 모델을 생성할 수 있다. 테스트 데이터는 신경망의 성능을 검증하기 위하여 사용될 수 있으며, 학습 데이터 세트 중 적어도 일부로 구성될 수 있다. 예를 들어, 학습 데이터 세트 중 70%는 신경망의 학습(즉, 레이블과 비슷한 결과값을 출력하도록 가중치를 조정하기 위한 학습)을 위해 활용될 수 있으며, 30%는 신경망의 성능을 검증하기 위한 테스트 데이터로써 활용될 수 있다. 컴퓨팅 장치(100)는 학습이 완료된 신경망에 테스트 데이터 세트를 입력하고 오차를 측정하여 사전 결정된 성능 이상인지 여부에 따라 신경망의 활성화 여부를 결정할 수 있다. 컴퓨팅 장치(100)는 학습이 완료된 신경망에 테스트 데이터를 이용하여 학습 완료된 신경망의 성능을 검증하고 학습 완료된 신경망의 성능이 사전결정된 기준 이상인 경우 해당 신경망을 다른 어플리케이션에서 사용하도록 활성화할 수 있다. 또한 컴퓨팅 장치(100)는 학습 완료된 신경망의 성능이 사전결정된 기준 이하인 경우 해당 신경망을 비활성화하여 폐기할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 정확도(accuracy), 정밀도(precision), 재현율(recall) 등의 요소를 기준으로 하여 생성된 신경망 모델의 성능을 판단할 수 있다. 전술한 성능 평가 기준은 예시일 뿐이며 본 발명은 이에 한정되지 않는다.
다양한 실시예에서, 인공지능 모델은 딥러닝(Deep learning) 모델일 수 있다.
딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 인공지능 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.
딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 네트워크 함수는 오토 인코더를 포함할 수도 있다. 여기서, 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다.
오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 또한, 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.
딥러닝 모델은 뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다.
뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다.
교사 학습의 경우 각각의 학습 데이터에 정답이 레이블링되어있는 학습 데이터를 사용하며(즉, 레이블링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 레이블링되어 있지 않을 수 있다.
일례로, 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 레이블링 된 데이터 일 수 있다. 레이블링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 레이블을 비교함으로써 오류(error)가 계산될 수 있다.
다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다.
입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 포인트 클라우드 데이터 분석 기반의 객체 인식 결과를 제공할 수 있다.
여기서, 사용자 단말(200)은 컴퓨팅 장치(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(200)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(200)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 컴퓨팅 장치를 포함할 수도 있다. 또한, 사용자 단말(200)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.
무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 인공지능 모델을 통한 객체 인식률을 향상시키기 위한 목적으로, 라이다 센서를 통해 수집된 포인트 클라우드를 보간할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집할 수 있고, 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간함에 따라 둘 이상의 채널 사이에 신규 채널을 생성할 수 있다. 즉, 컴퓨팅 장치(100)는 채널 수가 적은 라이다 센서(예컨대, 16채널 라이다 센서)를 통해 수집된 포인트 클라우드 데이터를 가공함에 따라 상대적으로 채널 수가 많은 라이다 센서(예컨대, 32채널 라이다 센서)를 통해 수집된 포인트 클라우드 데이터와 동일/유사한 결과를 도출할 수 있다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하기 위해 필요한 각종 정보 및 데이터를 저장 및 관리하거나, 컴퓨팅 장치(100)가 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행함에 따라 도출되는 각종 정보 및 데이터를 수집하여 저장 및 관리할 수 있다. 예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 3을 참조하여, 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 3은 본 발명의 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하는 컴퓨팅 장치의 하드웨어 구성도이다.
도 3을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 3에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 프로세스를 수행하는 경우, 스토리지(150)는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계 및 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함하는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 4 내지 도 6을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 대해 설명하도록 한다.
도 4는 본 발명의 또 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법의 순서도이다.
도 4를 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 라이다 센서를 통해 포인트 클라우드 데이터를 수집할 수 있다. 예컨대, 컴퓨팅 장치(100)는 소정의 지역 내에 고정적으로 설치되는 라이다 센서 또는 소정의 지역을 통과하는 대상(예컨대, 차량)에 구비되는 라이다 센서를 통해 소정의 지역을 스캔함에 따라 생성되는 포인트 클라우드 데이터를 수집할 수 있으나, 이에 한정되지 않는다.
여기서, 라이다 센서는 복수의 채널을 포함할 수 있으며, 라이다 센서를 통해 수집되는 포인트 클라우드 데이터는 복수의 채널 각각에 대응하는 복수의 포인트(복수의 채널 각각으로부터 출력된 레이저 신호를 통해 감지되는 포인트들)를 포함할 수 있으나, 이에 한정되지 않는다.
S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 수집된 포인트 클라우드 데이터를 가공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간함에 따라 둘 이상의 채널 사이에 신규 채널을 생성함으로써, 포인트 클라우드 데이터의 채널을 증강할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트를 보간함에 따라 제1 포인트와 제2 포인트 사이에 위치하는 제3 포인트를 예측할 수 있고, 제3 포인트를 이용하여 제1 채널과 제2 채널 사이에 위치하는 제3 채널을 생성할 수 있다.
여기서, 제1 채널과 제2 채널은 상호 인접한 위치에 배치되는 채널 예컨대, 라이다 센서가 4개의 채널을 포함하는 경우, 제1 채널 및 제2 채널은 1채널 및 2채널, 2채널 및 3채널, 3채널 및 4채널일 수 있으나, 이에 한정되지 않고, 제1 채널과 제2 채널은 복수의 채널 중 서로 다른 위치에 배치되는 임의의 채널일 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트를 보간하되, 제1 포인트와 제2 포인트 사이의 간격이 기 설정된 값 이내인 경우에만 제1 포인트와 제2 포인트를 보간할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1 포인트의 좌표와 제2 포인트의 좌표에 기초하여 제1 포인트와 제2 포인트 사이의 거리 값을 산출할 수 있고, 산출된 거리 값이 기 설정된 값 이하인 경우 제1 포인트와 제2 포인트 간의 보간을 수행할 수 있다. 한편, 컴퓨팅 장치(100)는 산출된 거리 값이 기 설정된 값을 초과하는 경우, 제1 포인트와 제2 포인트 간의 보간을 수행하지 않을 수 있다.
즉, 컴퓨팅 장치(100)는 서로 다른 둘 이상의 포인트 사이의 간격이 클 경우, 서로 다른 둘 이상의 포인트 각각이 서로 다른 객체에 대응하는 것일 가능성이 높은 바, 기 설정된 값 이내의 간격을 가지는 포인트들 즉, 동일한 객체에 대응하는 포인트들만을 보간함으로써, 객체 인식률을 향상시키기 위해 포인트 클라우드 데이터를 보간하는 과정에서 포인트가 과도하게 보간됨에 따라 서로 다른 객체가 구별되지 못하게 되는 것을 방지할 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 객체의 종류에 기초하여 포인트 클라우드 데이터에 포함된 복수의 포인트를 보간할 수 있다.
통상적으로, 서로 다른 종류의 복수의 객체를 비교하면, 각각의 객체가 외형적으로 서로 다른 특징을 가지며, 각각의 특징이 위치하는 부분도 상이하다. 예컨대, 소정의 지역이 도심 지역이고, 도심 지역에서 식별하고자 하는 객체가 도심 지역에 위치하는 대상(예: 차량, 보행자, 건물, 가로수, 안전펜스, 신호등 등)일 경우, 각각의 객체마다 외형적인 특징이 상이하다는 것을 알 수 있다.
이러한 점을 고려하여, 컴퓨팅 장치(100)는 객체의 종류에 기초하여 포인트 클라우드 데이터에 포함된 복수의 포인트를 보간할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 포인트 클라우드 데이터를 분석하여 객체를 식별할 수 있다. 예컨대, 컴퓨팅 장치(100)는 기 학습된 인공지능 모델을 통해 포인트 클라우드 데이터를 분석함에 따라 객체를 1차적으로 식별할 수 있다.
이후, 컴퓨팅 장치(100)는 포인트 클라우드 데이터 분석을 통해 식별된 객체의 종류에 기초하여, 해당 객체를 보다 정확하게 식별할 수 있도록 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 속성(예컨대, 신규 채널의 위치 및 개수)을 결정할 수 있다.
이후, 컴퓨팅 장치(100)는 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 위치 및 개수에 기초하여 복수의 채널 중 둘 이상의 채널을 선택하고, 선택된 둘 이상의 채널에 대응하는 포인트를 보간할 수 있다.
일례로, 컴퓨팅 장치(100)는 포인트 클라우드 데이터를 분석하여 특정 객체가 식별된 경우, 특정 객체의 종류에 기초하여 특정 객체의 외형적인 특징이 위치하는 지점을 신규 채널을 생성하고자 하는 위치로 설정할 수 있고, 복수의 채널 중 신규 채널을 생성하고자 하는 위치에 배치된 둘 이상의 채널에 대응하는 포인트들을 보간함에 따라 특정 객체의 외형적인 특징이 위치하는 지점에 신규 채널을 생성할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 객체의 종류별 요구되는 신규 채널의 개수가 사전에 정의될 수 있으며, 포인트 클라우드 데이터를 분석하여 특정 객체가 식별되는 경우, 사전에 정의된 객체의 종류별 신규 채널의 개수에 따라 특정 객체에 대응하는 신규 채널 개수를 생성하고자 하는 신규 채널의 개수로 설정할 수 있으며, 생성하고자 하는 신규 채널의 개수에 기초하여 복수의 채널 중 둘 이상의 채널 각각에 대응하는 포인트들을 보간할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 객체의 중요도에 기초하여 포인트 클라우드 데이터에 포함된 복수의 포인트를 보간할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사전에 객체의 종류에 따른 중요도가 설정될 수 있으며, 포인트 클라우드 데이터를 분석하여 특정 객체가 식별되는 경우, 특정 객체의 종류에 따라 특정 객체의 중요도를 설정할 수 있고, 설정된 중요도에 기초하여 생성하고자 하는 신규 채널의 개수를 결정할 수 있으며, 이에 따라 복수의 채널 중 둘 이상의 채널 각각에 대응하는 포인트들을 보간할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소정의 지역에 대한 속성(예컨대, 소정의 지역의 종류, 공간의 크기 및 객체 수 등)에 기초하여 포인트 클라우드 데이터를 보간할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 소정의 지역에 대한 속성을 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 소정의 지역에 대한 속성으로서, 소정의 지역에 대하여 수집된 포인트 클라우드 데이터를 분석하여 소정의 지역의 종류, 소정의 지역에 대응하는 공간의 크기 및 소정의 지역 내에 위치하는 객체의 수를 판단할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결되어, 사용자 단말(200)로부터 소정의 지역에 대한 속성 정보를 입력받을 수 있다.
이후, 컴퓨팅 장치(100)는 소정의 지역에 대한 속성에 기초하여, 소정의 지역 내에 위치하는 객체들을 보다 효율적으로 인식할 수 있도록 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 속성(예컨대, 신규 채널의 위치 및 개수)을 결정할 수 있다.
이후, 컴퓨팅 장치(100)는 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 위치 및 개수에 기초하여 복수의 채널 중 둘 이상의 채널을 선택하고, 선택된 둘 이상의 채널에 대응하는 포인트를 보간할 수 있다.
일례로, 컴퓨팅 장치(100)는 소정의 지역에 대응하는 공간의 크기가 클수록 객체가 먼 거리에 위치할 가능성이 높은 바, 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 개수를 소정의 지역에 대응하는 공간의 크기에 소정의 비율로 비례하게 설정함으로써, 소정의 지역에 대응하는 공간의 크기가 클수록 더 많은 신규 채널이 생성되도록 할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 소정의 지역 내에 객체의 수가 많을수록 신규 채널을 생성하는 동작에 많은 연산이 필요하게 되는 바, 포인트 클라우드 데이터 상에 생성하고자 하는 신규 채널의 개수를 소정의 지역 내에 위치하는 객체의 수에 소정의 비율로 반비례하게 설정함으로써, 소정의 지역 내에 위치하는 객체가 많을수록 더 적은 신규 채널이 생성되도록 하여 신규 채널 생성 동작 및 객체 인식 동작을 보다 빠르게 수행할 수 있도록 할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 포인트 클라우드 데이터에 포함된 복수의 포인트 중 객체에 대응하는 영역 상에 위치하는 포인트들만을 보간할 수 있다. 예컨대, 컴퓨팅 장치(100)는 포인트 클라우드 데이터를 분석하여 객체를 식별할 수 있고, 식별된 객체의 속성(예컨대, 객체의 종류, 크기 등)에 기초하여 관심 영역(Region of Interest, ROI)을 설정할 수 있으며, 포인트 클라우드 데이터에 포함된 복수의 포인트 중 관심 영역에 포함된 포인트들을 보간할 수 있다. 그러나, 이에 한정되지 않는다.
포인트 클라우드 데이터에 포함된 모든 포인트들을 보간할 경우, 보다 정확한 포인트 클라우드 데이터를 획득할 수 있다는 장점이 있으나, 포인트 클라우드 데이터에 포함된 포인트의 수가 많을 경우, 포인트 클라우드 데이터를 가공하는데 소요되는 리소스가 커지기 때문에 빠른 객체 인식이 어렵다는 문제가 있다.
이러한 점을 고려하여, 컴퓨팅 장치(100)는 포인트 클라우드에 포함된 포인트들을 보간하되, 포인트 클라우드 데이터에 포함된 복수의 포인트 중 객체에 대응하는 영역 상에 위치하는 포인트들만을 보간함으로써, 객체 인식률을 향상시킬 수 있을 뿐만 아니라 포인트 클라우드 데이터를 가공하는데 소요되는 리소스를 줄일 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 객체와 라이다 센서의 거리에 기초하여 포인트 클라우드 데이터를 보간할 수 있다. 예컨대, 컴퓨팅 장치(100)는 클라우드 데이터를 분석하여 객체를 식별할 수 있고, 식별된 객체와 라이다 센서의 거리에 기초하여 생성하고자 하는 신규 채널의 속성(예컨대, 신규 채널의 위치 및 개수)을 결정할 수 있으며, 결정된 속성에 따라 복수의 채널 중 둘 이상의 채널을 선택하고, 선택된 둘 이상의 채널에 대응하는 포인트를 보간할 수 있다.
도 1을 참조하면, 라이다 센서와 객체 사이의 거리가 멀수록 맺히는 점군의 개수가 현저하게 줄어든다든 것을 알 수 있고, 이를 통해, 라이다 센서와 객체 사이의 거리가 멀수록 객체 인식률이 현저하게 감소한다는 것을 알 수 있는 바, 컴퓨팅 장치(100)는 객체와 라이다 센서의 거리가 멀수록 더 많은 신규 채널이 생성되도록 포인트 클라우드 데이터를 보간할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 각도 기반의 보간 방식 및 선형 보간 방식 중 적어도 하나의 방식을 이용하여 포인트 클라우드 데이터를 보간할 수 있다.
이때, 컴퓨팅 장치(100)는 객체의 속성에 기초하여, 각도 기반의 보간 방식 및 선형 보간 방식 중 어느 하나의 보간 방식을 선택하고, 선택된 보간 방식에 따라 포인트 클라우드 데이터를 보간할 수 있다.
예컨대, 각도 기반의 보간 방식(예: 도 5)은 빛의 특성을 고려하여 포인트들을 보간하는 방식으로, 선형 보간 방식 대비 보다 정교한 보간을 수행할 수 있다는 장점이 있으나, 선형 보간 방식 대비 많은 연산량이 요구된다는 단점이 있다.
한편, 선형 보간 방식(예: 도 6)은 서로 다른 둘 이상의 포인트를 선형 보간법에 따라 보간하는 방식으로, 비교적 간단한 연산을 통해 보간이 가능하기 때문에 빠르게 보간이 가능하다는 장점이 있으나, 각도가 고려되지 않아 굴곡진 객체을 정확하게 표현하지 못하기 때문에 각도 기반의 보간 방식 대비 정교성이 떨어진다는 단점이 있다.
이러한 점을 고려하여, 컴퓨팅 장치(100)는 식별하고자 하고자 하는 객체의 속성에 기초하여, 각도 기반의 보간 방식 또는 선형 보간 방식을 선택하고, 선택된 방식에 따라 포인트 클라우드 데이터를 보간할 수 있다.
예컨대, 컴퓨팅 장치(100)는 식별하고자 하는 객체(포인트 클라우드 데이터를 분석하여 1차적으로 추정된 객체 또는 사용자에 의해 설정된 객체)가 굴곡이 없는 외형을 가지거나 또는 식별하고자 하는 객체의 수가 기 설정된 수 이상으로 빠른 연산이 필요한 상황인 경우, 선형 보간 방식을 이용하여 포인트 클라우드 데이터를 보간할 수 있다.
또한, 컴퓨팅 장치(100)는 식별하고자 하는 객체가 중요도가 낮은 객체인 경우, 선형 보간 방식을 이용하여 포인트 클라우드 데이터를 보간할 수 있다.
한편, 컴퓨팅 장치(100)는 식별하고자 하는 객체(포인트 클라우드 데이터를 분석하여 1차적으로 추정된 객체 또는 사용자에 의해 설정된 객체)가 굴곡진 외형을 가지거나 또는 식별하고자 하는 객체의 수가 기 설정된 수 미만인 경우, 각도 기반의 보간 방식을 이용하여 포인트 클라우드 데이터를 보간할 수 있다.
또한, 컴퓨팅 장치(100)는 식별하고자 하는 객체가 중요도가 높은 객체인 경우, 각도 기반의 보간 방식을 이용하여 포인트 클라우드 데이터를 보간할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 채널과 제2 채널 사이에 신규 채널인 제3 채널을 생성하고자 하는 경우, 각도 기반의 보간 방식에 따라 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트를 보간함으로써 제1 후보 포인트를 산출하고, 선형 보간 방식에 따라 제1 포인트와 제2 포인트를 보간함으로써 제2 후보 포인트를 산출할 수 있으며, 제1 후보 포인트와 제2 후보 포인트의 중심점을 제3 포인트로 설정할 수 있고, 제3 포인트를 이용하여 제1 채널과 제2 채널 사이의 신규 채널인 제3 채널을 생성할 수 있다.
여기서, 컴퓨팅 장치(100)에 의해 수행되는 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법은 각도 기반의 보간 방식과 선형 보간 방식만을 설명하고 있으나, 이에 한정되지 않고, 경우에 따라 포인트 클라우드 데이터에 포함된 복수의 포인트 각각을 복제하여 보간하는 방식을 더 포함할 수 있다.
예컨대, 컴퓨팅 장치(100)는 제1 채널에 대응하는 제1 포인트와 동일한 x, y 좌표 값을 가지며, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트의 중심 고도에 대응하는 지점(예: (x1, y1, (z1+z2)/2 ))에 제3 포인트를 추가할 수 있고, 제3 포인트를 이용하여 제1 채널과 제2 채널 사이에 위치하는 제3 채널을 생성함으로써, 2개의 채널을 3개의 채널로 증강할 수 있다. 이하, 도 5 및 도 6을 참조하여 각도 기반의 보간 방식과 선형 보간 방식을 이용하여 포인트 클라우드 데이터를 보간하는 구체적인 방법에 대해 설명하도록 한다.
도 5는 다양한 실시예에서, 각도 기반의 보간 방식에 따라 라이다 포인트 클라우드를 보간하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 제1 채널과 제2 채널 사이에 신규 채널을 생성하고자 하는 경우, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트 각각에 대한 고도 각(altitude angle) 및 방위 각(azimuth angle)을 산출할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하기의 수학식 1을 이용하여 제1 포인트와 제2 포인트 각각에 대한 고도 각과 방위 각을 산출할 수 있다.
<수학식 1>
여기서, 는 제n 포인트의 고도 각, 는 제n 포인트의 방위 각, , 는 제n 포인트의 x, y 및 z 좌표 값을 의미할 수 있다.
S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 산출된 제1 포인트 및 제2 포인트 각각의 고도 각 및 방위 각을 이용하여 제1 포인트와 제2 포인트 사이에 위치하는 제3 포인트를 산출할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하기의 수학식 2를 이용하여 제1 포인트와 제2 포인트 사이에 위치하는 제3 포인트의 좌표를 산출할 수 있다.
<수학식 2>
여기서, , 는 제3 포인트의 x, y 및 z 좌표 값, 는 라이다 센서(또는 원점)와 제1 포인트 및 제2 포인트의 중심점 간의 거리, 는 제1 포인트의 고도 각, 는 제1 포인트의 방위 각, 는 제2 포인트의 고도 각 및 는 제2 포인트의 방위 각을 의미할 수 있다.
이때, 컴퓨팅 장치(100)는 하기의 수학식 3을 이용하여 라이다 센서(또는 원점)와 제1 포인트 및 제2 포인트의 중심점 간의 거리()를 산출할 수 있다.
<수학식 3>
여기서, 는 라이다 센서(또는 원점)와 제1 포인트 및 제2 포인트의 중심점 간의 거리, 는 제1 포인트의 x, y 좌표 값, 는 제2 포인트의 x, y 좌표 값을 의미할 수 있다.
S230 단계에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 산출된 제3 포인트를 이용하여, 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성함으로써, 2개의 채널을 3개의 채널로 증강시킬 수 있다.
예컨대, 컴퓨팅 장치(100)는 제1 채널에 포함된 복수의 제1 포인트와 제2 채널에 포함되며, 복수의 제1 포인트와 각각 매칭되는 복수의 제2 포인트를 상호 보간함으로써 복수의 제3 포인트를 생성할 수 있으며, 복수의 제3 포인트를 하나의 그룹으로 그룹화하여 제1 채널과 제2 채널 사이에 위치하는 제3 채널을 생성할 수 있다.
여기서, 제1 포인트와 매칭되는 제2 포인트는 제2 채널에 대응하는 복수의 제2 포인트 중 제1 포인트의 동일한 방위 각 또는 제1 포인트의 방위 각과 오차범위 내의 방위 각을 가지는 제2 포인트를 의미할 수 있으나, 이에 한정되지 않는다.
도 6은 다양한 실시예에서, 선형 보간 방식에 따라 라이다 포인트 클라우드를 보간하는 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 제1 채널과 제2 채널 사이에 신규 채널을 생성하고자 하는 경우, 제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트의 중심점을 산출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1 포인트의 좌표가 (x1, y1, z1)이고, 제2 포인트의 좌표가 (x2, y2, z2)인 경우, 제1 포인트와 제2 포인트 사이의 중심점을 ( (x1+ x2)/2, (y1+y2)/2, (z1+z2)/2 )로 산출할 수 있다.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 산출된 중심정을 이용하여, 제1 채널과 상기 제2 채널 사이에 신규 채널을 생성함으로써, 2개의 채널을 3개의 채널로 증강시킬 수 있다.
예컨대, 컴퓨팅 장치(100)는 제1 채널에 포함된 복수의 제1 포인트와 제2 채널에 포함되며, 복수의 제1 포인트와 각각 매칭되는 복수의 제2 포인트를 상호 보간함으로써 복수의 중심점을 생성할 수 있으며, 복수의 중심점을 하나의 그룹으로 그룹화하여 제1 채널과 제2 채널 사이에 위치하는 신규 채널을 생성할 수 있다.
여기서, 제1 포인트와 매칭되는 제2 포인트는 제2 채널에 대응하는 복수의 제2 포인트 중 제1 포인트의 동일한 방위 각 또는 제1 포인트의 방위 각과 오차범위 내의 방위 각을 가지는 제2 포인트를 의미할 수 있으나, 이에 한정되지 않는다.
전술한 객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다. 이하, 도 7 내지 도 10을 참조하여, 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법에 따라 보간된 포인트 클라우드 데이터에 대해 설명하도록 한다.
도 7 내지 도 10은 원본 포인트 클라우드 데이터와 본 발명의 또 다른 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 보간된 포인트 클라우드 데이터를 예시적으로 도시한 도면이다.
먼저, 도 7을 참조하면, 도 7의 (A)는 32 채널의 라이다 센서를 통해 수집된 포인트 클라우드 데이터(원본 포인트 클라우드 데이터)이고, 도 7의 (B)는 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 32 채널의 포인트 클라우드 데이터를 보간함으로써 생성되는 63 채널의 포인트 클라우드 데이터(보간된 포인트 클라우드 데이터)이다.
도 7의 (A) 및 (B)를 비교하면, 원본 포인트 클라우드 데이터 대비 보간된 포인트 클라우드 데이터가 객체를 더욱 정교하게 표현하고 있음을 알 수 있다.
다음으로, 도 8을 참조하면, 도 8의 (A)는 32 채널의 라이다 센서를 통해 지게차를 스캔함에 따라 수집되는 포인트 클라우드 데이터(원본 포인트 클라우드 데이터)이고, 도 8의 (B)는 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 32 채널의 포인트 클라우드 데이터를 보간함으로써 생성되는 63 채널의 포인트 클라우드 데이터(보간된 포인트 클라우드 데이터)이다.
도 8의 (A) 및 (B)를 비교하면, 본 발명의 다양한 실시예에 따른 방법에 따라 채널이 증강되어 지게차에 대응하는 영역에 포함되는 포인트의 개수가 증가함에 따라 지게차의 외형적인 특징을 더욱 정교하게 표현하는 포인트 클라우드 데이터가 생성되었음을 알 수 있으며, 이에 따라, 지게차를 더욱 정확하게 식별할 수 있음을 알 수 있다.
다음으로, 도 9를 참조하면, 도 9의 (A)는 32 채널의 라이다 센서를 통해 사람을 스캔함에 따라 수집되는 포인트 클라우드 데이터(원본 포인트 클라우드 데이터)이고, 도 9의 (B)는 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 32 채널의 포인트 클라우드 데이터를 보간함으로써 생성되는 63 채널의 포인트 클라우드 데이터(보간된 포인트 클라우드 데이터)이다.
도 9의 (A) 및 (B)를 비교하면, 도 8에 도시된 바와 마찬가지로, 본 발명의 다양한 실시예에 따른 방법에 따라 채널이 증강되어 사람에 대응하는 영역에 포함되는 포인트의 개수가 증가함에 따라 사람의 외형적인 특징을 더욱 정교하게 표현하는 포인트 클라우드 데이터가 생성되었음을 알 수 있으며, 이에 따라, 사람을 더욱 정확하게 식별할 수 있음을 알 수 있다.
마지막으로, 도 10을 참조하면, 도 10의 상단 이미지들은 32 채널의 라이다 센서를 통해 수집된 포인트 클라우드 데이터(원본 포인트 클라우드 데이터)이고, 도 10의 하단 이미지들은 본 발명의 다양한 실시예에 따른 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법에 따라 32 채널의 포인트 클라우드 데이터를 보간함으로써 생성되는 63 채널의 포인트 클라우드 데이터(보간된 포인트 클라우드 데이터)이다.
도 10의 상단 이미지들을 살펴보면, 라이다 센서와 객체 사이의 거리가 멀어짐에 따라 점군의 개수가 현저하게 줄어들고 있음을 알 수 있으며, 라이다 센서와 객체 사이의 거리가 20m만 되더라도 객체의 종류를 정확하게 식별하기 어렵다는 것을 알 수 있다.
이에 반해, 도 10의 하단 이미지들을 살펴보면, 라이다 센서와 객체 사이의 거리가 20m일 때에도 객체가 사람임을 정확하게 알 수 있을 뿐만 아니라, 그 이상의 거리에서도 원본 포인트 클라우드 데이터 대비 더 정확하게 객체를 식별할 수 있음을 알 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 컴퓨팅 장치
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크

Claims (12)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계; 및
    상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함하며,
    상기 신규 채널을 생성하는 단계는,
    제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트 각각에 대한 고도 각(altitude angle) 및 방위 각(azimuth angle)을 산출하는 단계;
    상기 산출된 고도 각 및 방위 각을 이용하여 상기 제1 포인트와 상기 제2 포인트 사이에 위치하는 제3 포인트를 산출하는 단계; 및
    상기 산출된 제3 포인트를 이용하여, 상기 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성하는 단계를 포함하고,
    상기 고도 각 및 방위 각을 산출하는 단계는,
    하기의 수학식 1을 이용하여 상기 제1 포인트와 상기 제2 포인트 각각에 대응하는 고도 각과 방위 각을 산출하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
    <수학식 1>

    여기서, 상기 는 제n 포인트의 고도 각, 상기 는 상기 제n 포인트의 방위 각, 상기 , 상기 및 상기 는 상기 제n 포인트의 x, y 및 z 좌표 값임
  2. 삭제
  3. 삭제
  4. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    복수의 채널을 포함하는 라이다 센서를 이용하여 포인트 클라우드 데이터를 수집하는 단계; 및
    상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 서로 다른 둘 이상의 채널에 대응하는 포인트를 보간(Interpolation)함에 따라 상기 둘 이상의 채널 사이에 신규 채널을 생성하는 단계를 포함하며,
    상기 신규 채널을 생성하는 단계는,
    제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트 각각에 대한 고도 각(altitude angle) 및 방위 각(azimuth angle)을 산출하는 단계;
    상기 산출된 고도 각 및 방위 각을 이용하여 상기 제1 포인트와 상기 제2 포인트 사이에 위치하는 제3 포인트를 산출하는 단계; 및
    상기 산출된 제3 포인트를 이용하여, 상기 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성하는 단계를 포함하고,
    상기 제3 포인트를 산출하는 단계는,
    하기의 수학식 2를 이용하여 제3 포인트의 좌표를 산출하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
    <수학식 2>

    여기서, 상기 , 상기 및 상기 는 상기 제3 포인트의 x, y 및 z 좌표 값, 상기 는 상기 라이다 센서와 상기 제1 포인트 및 상기 제2 포인트의 중심점 간의 거리, 상기 는 상기 제1 포인트의 고도 각, 상기 는 상기 제1 포인트의 방위 각, 상기 는 상기 제2 포인트의 고도 각 및 상기 는 상기 제2 포인트의 방위 각임
  5. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트의 중심점을 산출하고, 상기 산출된 중심점을 이용하여, 상기 제1 채널과 상기 제2 채널 사이에 위치하는 제3 채널을 생성하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  6. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    제1 채널에 대응하는 제1 포인트와 제2 채널에 대응하는 제2 포인트를 보간하되, 상기 제1 포인트와 상기 제2 포인트 사이의 간격이 기 설정된 값 이내인 경우에만 상기 제1 포인트와 상기 제2 포인트를 보간하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  7. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계;
    상기 식별된 객체의 종류에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계; 및
    상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  8. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    소정의 지역에 대하여 수집된 포인트 클라우드 데이터를 분석함에 따라 상기 소정의 지역에 대한 속성을 추출하는 단계;
    상기 추출된 속성에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계; 및
    상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  9. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계;
    상기 식별된 객체의 속성에 기초하여 관심 영역(Region of Interest, ROI)을 설정하는 단계; 및
    상기 수집된 포인트 클라우드 데이터에 포함된 복수의 포인트 중 상기 설정된 관심 영역에 포함된 포인트들을 보간하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  10. 제1항에 있어서,
    상기 신규 채널을 생성하는 단계는,
    상기 수집된 포인트 클라우드 데이터를 분석하여 객체를 식별하는 단계;
    상기 라이다 센서와 상기 식별된 객체와의 거리에 기초하여, 생성하고자 하는 신규 채널의 속성 - 상기 신규 채널의 속성은 상기 신규 채널의 개수 및 위치를 포함함 - 를 결정하는 단계; 및
    상기 결정된 속성에 기초하여 상기 복수의 채널 중 둘 이상의 채널을 선택하고, 상기 선택된 둘 이상의 채널에 대응하는 포인트를 보간하는 단계를 포함하는,
    객체 인식률 향상을 위한 라이다 센서 데이터 보간 방법.
  11. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 프로세서는,
    상기 컴퓨터 프로그램에 포함된 하나 이상의 인스트럭션을 실행함에 따라 제1항 또는 제4항의 방법을 수행하는,
    객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법을 수행하는 컴퓨팅 장치.
  12. 컴퓨팅 장치와 결합되어,
    제1항 또는 제4항의 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020230016136A 2023-02-07 2023-02-07 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램 KR102581969B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230016136A KR102581969B1 (ko) 2023-02-07 2023-02-07 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230016136A KR102581969B1 (ko) 2023-02-07 2023-02-07 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102581969B1 true KR102581969B1 (ko) 2023-09-22

Family

ID=88190021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230016136A KR102581969B1 (ko) 2023-02-07 2023-02-07 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102581969B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220150582A (ko) * 2021-05-04 2022-11-11 현대자동차주식회사 라이다 센서를 이용한 객체 추적 방법 및 장치와 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220150582A (ko) * 2021-05-04 2022-11-11 현대자동차주식회사 라이다 센서를 이용한 객체 추적 방법 및 장치와 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체

Similar Documents

Publication Publication Date Title
Liu et al. Video object detection for autonomous driving: Motion-aid feature calibration
CN109993102B (zh) 相似人脸检索方法、装置及存储介质
KR102573671B1 (ko) 비정상 데이터의 탐지가 가능한 분류 모델 생성방법, 장치 및 컴퓨터프로그램
KR102382448B1 (ko) 라이다 기반 객체 탐지를 위한 인공지능 모델의 입력 특징맵 생성방법, 장치 및 컴퓨터프로그램
CN115018039A (zh) 一种神经网络蒸馏方法、目标检测方法以及装置
KR20200077942A (ko) 객체의 미래 움직임 예측을 통한 동영상에서의 객체 추적을 위한 방법 및 시스템
KR102333428B1 (ko) 인공지능 모델을 이용한 어군 탐지 방법, 장치 및 컴퓨터프로그램
CN115311550A (zh) 遥感影像语义变化检测方法、装置、电子设备及存储介质
KR102581969B1 (ko) 객체 인식률 향상을 위한 라이다 포인트 클라우드의 보간 방법, 장치 및 컴퓨터프로그램
KR102145698B1 (ko) 딥러닝 모델을 통해 예측된 해답을 해석하는 방법 및 시스템
CN111079900B (zh) 一种基于自适应连接神经网络的图像处理方法及装置
KR102481367B1 (ko) 포인트 클라우드 데이터로부터 지표면 데이터를 생성하기 위한 인공지능 모델의 학습 방법, 장치 및 컴퓨터프로그램
Garg Group emotion recognition using machine learning
KR20230013764A (ko) 차량 인근의 장애물 예측 및 주행계획 수립을 위한 인공지능 모델을 이용한 점유 격자 지도 생성 방법, 장치 및 컴퓨터프로그램
KR102513365B1 (ko) 차량의 자율주행을 위한 신호 정보 인지방법, 장치 및 컴퓨터프로그램
KR102507906B1 (ko) 저용량 ndt 지도를 이용한 자율주행 차량의 측위 방법, 장치 및 컴퓨터프로그램
KR102593827B1 (ko) 라이다 센서를 이용한 건설 현장의 작업관리 솔루션 제공방법, 장치 및 컴퓨터프로그램
KR20220114779A (ko) 정형화된 연구 기록 데이터를 이용한 인공지능 모델의 학습 방법
KR102556544B1 (ko) 이미지 히스토그램 분석을 통한 인공지능 모델의 인식률 향상 및 인식률이 향상된 인공지능 모델을 이용한 객체 인식 방법, 장치 및 컴퓨터프로그램
CN111310823A (zh) 目标分类方法、装置和电子系统
KR102709551B1 (ko) 라이다 포인트 클라우드 기반의 실시간 객체 탐지 방법, 장치 및 컴퓨터프로그램
KR102672052B1 (ko) 비정상 데이터 탐지 및 이에 대한 대응 전략 수집이 가능한 분류 모델 생성방법, 장치 및 컴퓨터프로그램
KR102671815B1 (ko) 자율주행을 위한 객체 인지 방법, 장치 및 컴퓨터프로그램
KR20230095163A (ko) 라이다 포인트 클라우드 데이터 기반 객체의 동선 추적방법, 서버 및 컴퓨터프로그램
KR20230095162A (ko) 이미지 데이터 및 라이다 센서 데이터를 이용한 객체의 동선 추적방법, 서버 및 컴퓨터프로그램

Legal Events

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