KR102616439B1 - Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor - Google Patents
Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor Download PDFInfo
- Publication number
- KR102616439B1 KR102616439B1 KR1020220139939A KR20220139939A KR102616439B1 KR 102616439 B1 KR102616439 B1 KR 102616439B1 KR 1020220139939 A KR1020220139939 A KR 1020220139939A KR 20220139939 A KR20220139939 A KR 20220139939A KR 102616439 B1 KR102616439 B1 KR 102616439B1
- Authority
- KR
- South Korea
- Prior art keywords
- point
- noise
- cloud data
- detection target
- point cloud
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 144
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004590 computer program Methods 0.000 title description 10
- 238000001514 detection method Methods 0.000 claims abstract description 138
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 claims description 6
- 108010064775 protein C activator peptide Proteins 0.000 claims description 6
- 230000008685 targeting Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 19
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/483—Details of pulse systems
- G01S7/486—Receivers
- G01S7/487—Extracting wanted echo signals, e.g. pulse detection
- G01S7/4876—Extracting wanted echo signals, e.g. pulse detection by removing unwanted signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/483—Details of pulse systems
- G01S7/486—Receivers
- G01S7/4861—Circuits for detection, sampling, integration or read-out
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Electromagnetism (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
본 발명은 라이다(lidar)로부터 획득한 점군 데이터에서 발생되는 노이즈점을 필터링하기 위한 이웃점을 통한 노이즈 필터링 방법을 제안한다. 상기 방법은 필터링 장치가, 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 필터링 장치가, 상기 수신한 점군 데이터를 분석하여 상기 점군 데이터의 특정점과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점(noise point)을 검출하는 단계 및 상기 필터링 장치가, 상기 검출된 노이즈점을 필터링하는 단계를 포함할 수 있다.
본 발명은 서울특별시 서울산업진흥원 (2022년도 서울혁신챌린지(결선)) (IC210027) '모빌리티 서비스를 이용한 도시 변화 탐지 플랫폼'을 통해 개발된 기술이다.
또한, 본 발명은 국토교통부 산하의 국토교통과학기술진흥원 '과제번호 22AMDP-C160637-02'을 통해 개발된 기술이다.The present invention proposes a noise filtering method using neighboring points to filter noise points generated from point cloud data obtained from lidar. The method includes the steps of a filtering device receiving point cloud data obtained from lidar, the filtering device analyzing the received point cloud data to determine the distance and density between a specific point of the point cloud data and neighboring points. It may include detecting a noise point based on density and filtering the detected noise point, by the filtering device.
This invention is a technology developed through the Seoul Industry Promotion Agency of Seoul (2022 Seoul Innovation Challenge (final)) (IC210027) ‘Urban change detection platform using mobility services’.
In addition, this invention is a technology developed through 'Project No. 22AMDP-C160637-02' of the Ministry of Land, Infrastructure and Transport's Agency for Land, Infrastructure and Transport Science and Technology Promotion.
Description
본 발명은 노이즈 필터링(noise filtering)에 관한 것이다. 보다 상세하게는, 라이다(lidar)로부터 획득한 점군 데이터에서 발생되는 노이즈점을 필터링하기 위한 이웃점을 통한 노이즈 필터링 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to noise filtering. More specifically, it relates to a noise filtering method using neighboring points for filtering out noise points generated from point cloud data obtained from lidar and a computer program recorded on a recording medium to execute the method.
차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.Autonomous driving of a vehicle refers to a system that allows the vehicle to drive by making its own decisions. As such, autonomous driving can be divided into progressive stages from non-automation to full automation depending on the degree to which the system participates in driving and the degree to which the driver controls the vehicle. In general, the stages of autonomous driving are divided into six levels classified by SAE (Society of Automotive Engineers) International. According to the six levels classified by the International Association of Automotive Engineers, level 0 is non-automation, level 1 is driver assistance, level 2 is partial automation, level 3 is conditional automation, level 4 is high automation, and level 5. The step is fully automated.
차량의 자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 현재 여러 기업체들은 자율주행 메커니즘 중에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다. 그리고, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다.Autonomous driving of a vehicle is performed through mechanisms of perception, localization, path planning, and control. Currently, several companies are developing autonomous driving mechanisms to implement recognition and path planning using artificial intelligence (AI). And, the data used for machine learning of artificial intelligence (AI) that can be used in autonomous driving consists of a large number ranging from a few thousand to as many as millions.
이러한, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 차량에 설치된 다양한 종류의 센서에 의해 수집된다. 예를 들어, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터들은 차량에 고정 설치된 라이다(lidar), 카메라(camera), 레이더(radar) 및 초음파 센서(ultrasonic sensor)에 의해 획득, 촬영 또는 감지된 데이터들이 될 수 있으며, 이에 한정되는 것도 아니다.Data used for machine learning of artificial intelligence (AI), which can be used for autonomous driving of vehicles, is collected by various types of sensors installed in vehicles. For example, data used for machine learning of artificial intelligence (AI) that can be used for autonomous driving of vehicles comes from lidar, cameras, radar, and ultrasonic sensors fixed to the vehicle. ) may be data acquired, photographed, or sensed, but is not limited thereto.
이 중, 라이다는 고출력 레이저 펄스를 발사해 레이저가 목표물에 반사되어 되돌아오는 시간을 측정하여 사물로부터의 거리, 형태를 나타내는 3D 데이터를 획득할 수 있다.Among these, LiDAR can obtain 3D data showing the distance and shape of an object by emitting a high-power laser pulse and measuring the time it takes for the laser to reflect and return to the target.
이러한, 라이다는 하드웨어적으로 레이저 펄스 특성상 낮은 인텐시티(intensity)를 가진 점들이 노이즈 형태로 피사체 주위에 추가적으로 생성되거나, 인텐시티가 상대적으로 높게 나타나는 객체 주변에서 특정 노이즈가 발생되는 문제점이 있었다.In terms of hardware, LIDAR has a problem in that points with low intensity are additionally generated around the subject in the form of noise due to the characteristics of the laser pulse, or specific noise is generated around the object with relatively high intensity.
본 발명은 서울특별시 서울산업진흥원 (2022년도 서울혁신챌린지(결선)) (IC210027) '모빌리티 서비스를 이용한 도시 변화 탐지 플랫폼'을 통해 개발된 기술이다.This invention is a technology developed through the Seoul Industry Promotion Agency of Seoul (2022 Seoul Innovation Challenge (final)) (IC210027) ‘Urban change detection platform using mobility services’.
또한, 본 발명은 국토교통부 산하의 국토교통과학기술진흥원 '과제번호 22AMDP-C160637-02'을 통해 개발된 기술이다.In addition, this invention is a technology developed through 'Project No. 22AMDP-C160637-02' of the Ministry of Land, Infrastructure and Transport's Agency for Land, Infrastructure and Transport Science and Technology Promotion.
본 발명의 일 목적은 라이다(lidar)로부터 획득한 점군 데이터에서 발생되는 노이즈점을 필터링하기 위한 이웃점을 통한 노이즈 필터링 방법을 제공하는 것이다.One purpose of the present invention is to provide a noise filtering method using neighboring points to filter out noise points generated from point cloud data obtained from lidar.
본 발명의 다른 목적은 라이다로부터 획득한 점군 데이터에서 발생되는 노이즈점을 필터링하기 위한 이웃점을 통한 노이즈 필터링 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to implement a noise filtering method through neighboring points for filtering noise points generated from point cloud data obtained from LIDAR.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 라이다(lidar)로부터 획득한 점군 데이터에서 발생되는 노이즈점을 필터링하기 위한 이웃점을 통한 노이즈 필터링 방법을 제안한다. 상기 방법은 필터링 장치가, 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 필터링 장치가, 상기 수신한 점군 데이터를 분석하여 상기 점군 데이터의 특정점과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점(noise point)을 검출하는 단계 및 상기 필터링 장치가, 상기 검출된 노이즈점을 필터링하는 단계를 포함할 수 있다.In order to achieve the technical problems described above, the present invention proposes a noise filtering method using neighboring points to filter noise points generated from point cloud data obtained from lidar. The method includes the steps of a filtering device receiving point cloud data obtained from lidar, the filtering device analyzing the received point cloud data to determine the distance and density between a specific point of the point cloud data and neighboring points. It may include detecting a noise point based on density and filtering the detected noise point, by the filtering device.
구체적으로, 상기 노이즈점은 상기 점군 데이터에 포함된 객체로부터 사전 설정된 간격만큼 이격되어 분포되는 점인 것을 특징으로 한다.Specifically, the noise point is characterized as a point distributed at a preset distance from the object included in the point cloud data.
상기 노이즈점을 검출하는 단계는 상기 특정점을 기준으로 이웃하는 복수의 이웃점을 탐색하는 단계, 상기 복수의 이웃점이 존재하는 경우, 상기 특정점과 상기 복수의 이웃점 사이의 거리 평균 값을 산출하는 단계, 상기 산출된 거리 평균 값을 통해 상기 특정점을 기준으로 한 국소 밀도(local density) 값을 산출하는 단계, 상기 산출된 국소 밀도 값을 기초로 상기 특정점이 노이즈점일 확률을 산출하는 단계 및 상기 노이즈점일 확률이 특정 값 이상인 특정점을 노이즈점으로 판단하는 단계를 포함하는 것을 특징으로 한다.The step of detecting the noise point is a step of searching for a plurality of neighboring points based on the specific point, and if the plurality of neighboring points exist, calculating an average value of the distance between the specific point and the plurality of neighboring points. calculating a local density value based on the specific point using the calculated average distance value, calculating a probability that the specific point is a noise point based on the calculated local density value, and It is characterized in that it includes the step of determining a specific point whose probability of being a noise point is greater than a certain value as a noise point.
상기 복수의 이웃점을 탐색하는 단계는 상기 점군 데이터를 KD tree 알고리즘을 이용하여, 상기 점군 데이터의 모든 점들을 대상으로 복수의 이웃점을 탐색하는 것을 특징으로 한다.The step of searching for a plurality of neighboring points is characterized by searching for a plurality of neighboring points for all points of the point cloud data using the KD tree algorithm.
상기 국소 밀도 값을 산출하는 단계는 KNN(K-Nearest Neighbor) 알고리즘을 이용하여 상기 특정점을 기준으로 한 국소 밀도(local density) 값을 산출하는 것을 특징으로 한다.The step of calculating the local density value is characterized by calculating a local density value based on the specific point using the KNN (K-Nearest Neighbor) algorithm.
상기 노이즈점일 확률을 계산하는 단계는 상기 산출된 국소 밀도 값과 비례하여 상기 노이즈점일 확률을 산출하는 것을 특징으로 한다.The step of calculating the probability of being a noise point is characterized by calculating the probability of being a noise point in proportion to the calculated local density value.
상기 거리 평균 값을 산출하는 단계는 하기의 수학식 1을 통해 상기 거리 평균 값을 산출하는 것을 특징으로 한다.The step of calculating the average distance value is characterized by calculating the average distance value through Equation 1 below.
[수학식 1][Equation 1]
(여기서, k는 상기 특정점과 상기 이웃점 각각 사이의 거리, pi는 특정점, 는 qj이웃점을 의미한다.)(Here, k is the distance between the specific point and each of the neighboring points, p i is the specific point, and q j is the neighboring point.)
상기 국소 밀도를 산출하는 단계는 하기의 수학식 2를 통해 상기 국소 밀도를 산출하는 것을 특징으로 한다.The step of calculating the local density is characterized by calculating the local density through Equation 2 below.
[수학식 2][Equation 2]
(여기서, k는 상기 특정점과 상기 이웃점 각각 사이의 거리, pi는 특정점, 는 qj는 이웃점, 는 상기 거리 평균 값을 의미한다.)(Here, k is the distance between the specific point and each of the neighboring points, p i is the specific point, q j is the neighboring point, means the average distance value.)
상기 확률을 산출하는 단계는 상기 점군 데이터에서 객체를 식별하고, 상기 특정점과 이웃하는 객체의 종류에 가중치를 부여하여 상기 확률을 산출하는 것을 특징으로 한다.The step of calculating the probability is characterized by identifying an object in the point cloud data and calculating the probability by assigning a weight to the type of object neighboring the specific point.
상기 확률을 산출하는 단계는 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 이용하여, 상기 노이즈점일 확률을 추정하는 것을 특징으로 한다.The step of calculating the probability is characterized by estimating the probability of the noise point using prior machine learning artificial intelligence (AI).
상기 확률을 산출하는 단계 이전에 객체의 종류에 따른 국소 밀도를 기초로 상기 인공지능을 기계학습 시키는 것을 특징으로 한다.The artificial intelligence is characterized by machine learning based on the local density according to the type of object before calculating the probability.
상기 필터링 하는 단계는 상기 노이즈점으로 검출된 점을 삭제하는 것을 특징으로 한다.The filtering step is characterized by deleting points detected as noise points.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 필터링 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 프로세서가, 상기 수신한 점군 데이터를 분석하여 상기 점군 데이터의 특정점(point)과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점(noise point)을 검출하는 단계 및 상기 프로세서가, 상기 검출된 노이즈점을 필터링하는 단계; 를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램일 수 있다.In order to achieve the technical problem described above, the present invention proposes a computer program recorded on a recording medium to execute a filtering method. The computer program may be combined with a computing device that includes a memory, a transceiver, and a processor that processes instructions resident in the memory. And, the computer program includes the steps of the processor receiving point cloud data obtained from a lidar, the processor analyzing the received point cloud data to determine a point neighboring a specific point of the point cloud data. Detecting a noise point based on the distance and density between the nodes and filtering the detected noise point, by the processor; It may be a computer program recorded on a recording medium to execute.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.
본 발명의 실시 예들에 따르면, 라이다로부터 획득된 점군 데이터를 분석하여, 이웃하는 점 사이의 거리 및 밀도를 기준으로 노이즈점을 검출함으로써, 노이즈점을 효과적으로 필터링할 수 있다.According to embodiments of the present invention, by analyzing point cloud data obtained from LIDAR and detecting noise points based on the distance and density between neighboring points, noise points can be effectively filtered.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description of the claims.
도 1은 본 발명의 일 실시예에 따른 라이다 시스템을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 필터링 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 필터링 장치의 하드웨어 구성도이다.
도 4는 본 발명의 일 실시예에 따른 필터링 방법을 나타낸 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 필터링 방법을 나타낸 순서도이다.
도 6은 본 발명의 또 다른 실시예에 따른 필터링 방법을 나타낸 순서도이다.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.
도 11 내지 도 13은 본 발명의 다른 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.
도 13 내지 도 17은 본 발명의 또 다른 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.Figure 1 is a configuration diagram showing a LiDAR system according to an embodiment of the present invention.
Figure 2 is a logical configuration diagram of a filtering device according to an embodiment of the present invention.
Figure 3 is a hardware configuration diagram of a filtering device according to an embodiment of the present invention.
Figure 4 is a flowchart showing a filtering method according to an embodiment of the present invention.
Figure 5 is a flowchart showing a filtering method according to another embodiment of the present invention.
Figure 6 is a flowchart showing a filtering method according to another embodiment of the present invention.
7 to 10 are exemplary diagrams for explaining a filtering method according to an embodiment of the present invention.
11 to 13 are exemplary diagrams for explaining a filtering method according to another embodiment of the present invention.
13 to 17 are exemplary diagrams for explaining a filtering method according to another embodiment of the present invention.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in this specification, unless specifically defined in a different way in this specification, should be interpreted as meanings generally understood by those skilled in the art in the technical field to which the present invention pertains, and are not overly comprehensive. It should not be interpreted in a literal or excessively reduced sense. Additionally, if the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted according to the definition in the dictionary or according to the context, and should not be interpreted in an excessively reduced sense.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '구성된다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Additionally, as used herein, singular expressions include plural expressions, unless the context clearly dictates otherwise. In this application, terms such as 'consist' or 'have' should not be construed as necessarily including all of the various components or steps described in the specification, and only some of the components or steps are included. It may not be possible, or it should be interpreted as including additional components or steps.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Additionally, terms including ordinal numbers, such as first, second, etc., used in this specification may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the present invention.
어떤 구성 요소가 다른 구성 요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "'직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be 'connected' or 'connected' to another component, it may be directly connected to or connected to the other component, but other components may also exist in between. On the other hand, when a component is mentioned as being "'directly connected' or 'directly connected' to another component, it should be understood that there are no other components in between.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. However, identical or similar components will be assigned the same reference numbers regardless of the reference numerals, and duplicate descriptions thereof will be omitted. Additionally, when describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the attached drawings are only intended to facilitate easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the attached drawings. The spirit of the present invention should be construed as extending to all changes, equivalents, or substitutes other than the attached drawings.
한편, 라이다는 고출력 레이저 펄스를 발사해 레이저가 목표물에 반사되어 되돌아오는 시간을 측정하여 사물로부터의 거리, 형태를 나타내는 3D 데이터를 획득할 수 있다.Meanwhile, LiDAR can obtain 3D data showing the distance and shape of an object by emitting a high-power laser pulse and measuring the time it takes for the laser to reflect and return to the target.
이러한, 라이다는 하드웨어적으로 레이저 펄스 특성상 낮은 인텐시티(intensity)를 가진 점들이 노이즈 형태로 피사체 주위에 추가적으로 생성되거나, 인텐시티가 상대적으로 높게 나타나는 객체 주변에서 특정 노이즈가 발생되는 문제점이 있었다.In terms of hardware, LIDAR has a problem in that points with low intensity are additionally generated around the subject in the form of noise due to the characteristics of the laser pulse, or specific noise is generated around the object with relatively high intensity.
이러한 한계를 극복하고자, 본 발명은 라이다로부터 획득된 점군 데이터의 노이즈점들을 효과적으로 필터링할 수 있는 다양한 수단들을 제안하고자 한다.In order to overcome these limitations, the present invention seeks to propose various means that can effectively filter noise points in point cloud data obtained from LIDAR.
도 1은 본 발명의 일 실시예에 따른 라이다 시스템을 나타낸 구성도이다.Figure 1 is a configuration diagram showing a LiDAR system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 라이다 시스템(300)은 라이다(100) 및 필터링 장치(200)를 포함하여 구성될 수 있다.Referring to FIG. 1, a LiDAR system 300 according to an embodiment of the present invention may be configured to include a LiDAR 100 and a filtering device 200.
이와 같은, 일 실시예에 따른 라이다 시스템(300)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the LiDAR system 300 according to this embodiment merely represent functionally distinct elements, two or more components may be integrated and implemented with each other in an actual physical environment, or one component may be implemented in an actual physical environment. In a physical environment, they may be implemented separately from each other.
각각의 구성 요소에 대하여 설명하면, 라이다(100)는 차량(10)에 고정 설치되어, 차량(10)의 주위로 레이저 펄스를 발사하고 차량(10) 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량(10) 주위에 대한 3차원 영상에 해당하는 점군 데이터를 생성할 수 있다. 즉, 라이다(100)는 객체에 레이저 펄스를 발사하고 돌아오는 시간을 기록하여 각 레이저 펄스당 거리 정보를 계산하여, 거리 정보를 포함하는 점을 생성할 수 있다.To describe each component, the LIDAR 100 is fixedly installed on the vehicle 10, emits a laser pulse around the vehicle 10, and is reflected by objects located around the vehicle 10. By detecting the returned light, point cloud data corresponding to a 3D image around the vehicle 10 can be generated. That is, the LIDAR 100 can fire a laser pulse at an object and record the return time to calculate distance information for each laser pulse, thereby generating a point containing the distance information.
따라서, 라이다(100)에 의해 획득된 점군 데이터는 라이다(100)에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점들(points)의 집합을 포함할 수 있다. 획득된 점군 데이터는 *. pcap, *. asc, *. cl3, *. clr, *. fls, *. fws, *. las, *. ptg, *. pts, *. ptx, *. txt, *. pcd, *. xyz 등의 여러 데이터 포맷으로 형성될 수 있다. 특히, 본 발명의 일 실시예에 따른 점군 데이터는 각 점의 위치 정보, 거리 정보 및 인텐시티(intensity) 정보를 포함할 수 있다. 라이다(100)는 획득한 점군 데이터를 필터링 장치(200)로 전송할 수 있다. Accordingly, the point cloud data acquired by the LiDAR 100 may include a set of points that reflect the laser pulse emitted by the LiDAR 100 into a three-dimensional space. The obtained point cloud data is *. pcap, *. asc, *. cl3, *. clr, *. fls, *. fws, *. las, *. ptg, *. pts, *. ptx, *. txt, *. pcd, *. It can be formed in several data formats such as xyz. In particular, point cloud data according to an embodiment of the present invention may include location information, distance information, and intensity information of each point. LiDAR 100 may transmit the acquired point cloud data to the filtering device 200.
다음 구성으로, 필터링 장치(200)는 라이다(100)로부터 점군 데이터를 수신하고, 수신한 점군 데이터의 노이즈를 필터링 할 수 있다.With the following configuration, the filtering device 200 can receive point cloud data from the LIDAR 100 and filter noise in the received point cloud data.
구체적으로, 필터링 장치(200)는 라이다(100)의 하드웨어적으로 레이저 펄스 특성상 낮은 인텐시티(intensity)를 가진 노이즈점들을 필터링할 수 있다.Specifically, the filtering device 200 can filter noise points with low intensity due to the laser pulse characteristics of the hardware of the LIDAR 100.
또한, 필터링 장치(200)는 라이다(100)가 점군 데이터를 획득하는 과정에서 인텐시티가 상대적으로 높게 나타나는 객체 주변에서 발생되는 노이즈점들을 필터링할 수 있다. 예를 들어, 인텐시티가 상대적으로 높게 나타나는 객체는 교통 표지판 등의 평면 형태를 가지는 객체가 될 수 있다.Additionally, the filtering device 200 may filter noise points generated around objects with relatively high intensity during the process of the LIDAR 100 acquiring point cloud data. For example, an object with a relatively high intensity may be an object with a planar shape, such as a traffic sign.
그리고, 필터링 장치(200)는 라이다(100)의 노이즈로 인해 객체와 이격된 상태로 개별적으로 존재하는 노이즈점이나, 객체와 이격된 상태로 객체와 같이 뭉쳐져 있는 노이즈점을 필터링할 수 있다.Additionally, the filtering device 200 may filter noise points that exist individually while being spaced apart from the object due to the noise of the LIDAR 100, or noise points that are clustered together with the object and are spaced apart from the object.
특징적으로, 본 발명의 일 실시예에 따르면, 필터링 장치(200)는 라이다(100)로부터 획득된 점군 데이터를 수신하고, 점군 데이터를 사전 설정된 개수로 그룹핑(grouping)하여 복수의 단위 점군 데이터를 생성할 수 있다. 또한, 필터링 장치(200)는 생성된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점(noise point)을 검출하고, 검출된 노이즈점을 필터링할 수 있다.Characteristically, according to an embodiment of the present invention, the filtering device 200 receives point cloud data obtained from the LIDAR 100 and groups the point cloud data into a preset number to generate a plurality of unit point cloud data. can be created. Additionally, the filtering device 200 may analyze the generated unit point cloud data, detect noise points corresponding to noise, and filter the detected noise points.
또한, 본 발명의 다른 실시예에 따르면, 필터링 장치(200)는 라이다(100)로부터 획득된 점군 데이터를 수신하고, 수신한 점군 데이터의 인텐시티 패턴을 분석하여, 분석된 인텐시티 패턴을 기초로 노이즈점을 검출할 수 있다. 또한, 필터링 장치(200)는 검출된 노이즈점을 필터링할 수 있다.In addition, according to another embodiment of the present invention, the filtering device 200 receives point cloud data obtained from the LIDAR 100, analyzes the intensity pattern of the received point cloud data, and generates noise based on the analyzed intensity pattern. Points can be detected. Additionally, the filtering device 200 may filter the detected noise points.
그리고, 본 발명의 또 다른 실시예에 따르면, 필터링 장치(200)는 라이다로부터 획득된 점군 데이터를 수신하고, 수신한 점군 데이터를 분석하여 점군 데이터의 특정점과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점을 검출할 수 있다. 또한, 필터링 장치(200)는 검출된 노이즈점을 필터링할 수 있다.And, according to another embodiment of the present invention, the filtering device 200 receives point cloud data obtained from LIDAR, analyzes the received point cloud data, and determines the distance and density between a specific point of the point cloud data and neighboring points. Noise points can be detected based on (density). Additionally, the filtering device 200 may filter the detected noise points.
한편, 본 발명의 다양한 실시예들은 서로 구분되어 각각의 기능을 수행하는 것으로 설명하고 있으나, 이에 한정된 것은 아니고 필터링 과정을 이중 또는 삼중으로 수행하는 것으로 구현될 수 있다.Meanwhile, various embodiments of the present invention are described as performing separate functions, but the present invention is not limited to this and may be implemented by performing a double or triple filtering process.
지금까지 상술한 바와 같은, 라이다(100) 및 필터링 장치(200)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.As described above, the LIDAR 100 and the filtering device 200 can transmit and receive data using a network that combines one or more of a security line, a public wired communication network, or a mobile communication network that directly connects the devices. there is.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired networks may include Ethernet, xDigital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be possible, but it is not limited to this. In addition, mobile communication networks include Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), and Long Term Evolution. LTE) and 5th generation mobile telecommunication may be included, but are not limited thereto.
이하, 상술한 바와 같은 필터링 장치(200)에 대하여 구체적으로 설명하도록 한다.Hereinafter, the filtering device 200 described above will be described in detail.
도 2는 본 발명의 일 실시예에 따른 필터링 장치의 논리적 구성도이다.Figure 2 is a logical configuration diagram of a filtering device according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 필터링 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 단위 점군 데이터 생성부(220), 노이즈점 검출부(225) 및 노이즈점 필터링부(230)를 포함하여 구성될 수 있다.Referring to Figure 2, the filtering device 200 according to an embodiment of the present invention includes a communication unit 205, an input/output unit 210, a storage unit 215, a unit point cloud data generation unit 220, and a noise point detection unit ( 225) and a noise point filtering unit 230.
이와 같은, 필터링 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the filtering device 200 merely represent functionally distinct elements, two or more components may be implemented integrated with each other in the actual physical environment, or one component may be separated from each other in the actual physical environment. It could be implemented.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 라이다(100)와 데이터를 송수신 할 수 있다. 구체적으로, 통신부(205)는 라이다(100)로부터 점군 데이터를 수신할 수 있다. 또한, 통신부(205)는 필터링 된 점군 데이터를 외부로 전송할 수 있다.When explaining each component, the communication unit 205 can transmit and receive data with the LIDAR 100. Specifically, the communication unit 205 may receive point cloud data from the LIDAR 100. Additionally, the communication unit 205 may transmit the filtered point cloud data to the outside.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 구체적으로, 입출력부(210)는 노이즈점을 검출하기 위한 설정 값 등을 입력받을 수 있다.In the following configuration, the input/output unit 210 can receive signals from the user through a user interface (UI) or output calculation results to the outside. Specifically, the input/output unit 210 may receive input of a setting value for detecting a noise point.
다음 구성으로, 저장부(215)는 라이다(100)로부터 수신한 점군 데이터를 저장할 수 있다. 구체적으로, 저장부(215)는 라이다(100)로부터 수신한 점군 데이터, 점군 데이터로부터 3D 특징 추정(feature estimation)을 위한 알고리즘, 복수의 데이터 셋을 융합하여 모델을 생성하는 레지스트레이션(registration) 작업 알고리즘, 이웃점을 탐색하는 KD tree 알고리즘, 계층 트리 구조를 구성하는 알고리즘, 3D 표면 복원 알고리즘, 점군 데이터를 처리한 결과를 시각화 하는 알고리즘 등을 저장할 수 있다.With the following configuration, the storage unit 215 can store the point cloud data received from the LIDAR 100. Specifically, the storage unit 215 performs a registration task to create a model by fusing point cloud data received from the LIDAR 100, an algorithm for 3D feature estimation from the point cloud data, and multiple data sets. Algorithms, the KD tree algorithm that searches for neighboring points, the algorithm that constructs a hierarchical tree structure, the 3D surface restoration algorithm, and the algorithm that visualizes the results of processing point cloud data can be saved.
다음 구성으로, 단위 점군 데이터 생성부(220)는 라이다(100)로부터 수신한 점군 데이터를 사전 설정된 개수로 그룹핑(grouping)하여 복수의 단위 점군 데이터를 생성할 수 있다.In the following configuration, the unit point cloud data generator 220 may generate a plurality of unit point cloud data by grouping the point cloud data received from the LIDAR 100 into a preset number.
구체적으로, 단위 점군 데이터 생성부(220)는 점군 데이터 중 동일한 채널에 포함되어 있는 점군 데이터를 사전 설정된 개수로 그룹핑 할 수 있다. 바람직하게, 단위 점군 데이터 생성부(200)는 동일 채널에 포함되어 있는 점군 데이터를 세개씩 그룹핑 할 수 있다. 한편, 라이다(100)의 발광부는 복수의 레이저 펄스를 발사하게 되고, 각 레이저 펄스를 채널 단위로 구분한다. 이때, 라이다(100)는 채널 수가 높을수록 한번에 스캔할 수 있는 수직 범위가 넓어진다.Specifically, the unit point cloud data generator 220 may group point cloud data included in the same channel into a preset number of point cloud data. Preferably, the unit point cloud data generator 200 can group the point cloud data included in the same channel into three groups. Meanwhile, the light emitting unit of the LIDAR 100 emits a plurality of laser pulses, and each laser pulse is divided into channels. At this time, the higher the number of channels of the LIDAR 100, the wider the vertical range that can be scanned at once.
이러한, 단위 점군 데이터 생성부(220)는 동일한 점군 데이터를 패킷(packet) 형태로 가지고 있는 PCAP 데이터를 파싱(parcing)할 때, 동일 채널의 점군 데이터를 그룹핑 할 수 있다. 여기서, PCAP 데이터는 각 점의 위치 정보, 거리 정보 및 인텐시티 정보를 포함할 수 있다.When parsing PCAP data having the same point cloud data in packet form, the unit point cloud data generator 220 can group the point cloud data of the same channel. Here, PCAP data may include location information, distance information, and intensity information of each point.
다음 구성으로, 노이즈점 검출부(225)는 생성된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점을 검출할 수 있다.With the following configuration, the noise point detection unit 225 can detect noise points corresponding to noise by analyzing the generated unit point cloud data.
구체적으로, 노이즈점 검출부(225)는 단위 점군 데이터 생성부(220)에 의해 세개씩 그룹핑 된 단위 점군 데이터 중 가운데 위치한 검출대상점이 노이즈점인지 여부를 검출할 수 있다. 여기서, 노이즈점 검출부(225)는 점군 데이터에 포함된 객체의 좌측 또는 우측 엣지(edge)에 형성되는 노이즈점을 검출할 수 있다.Specifically, the noise point detection unit 225 can detect whether the detection target point located in the middle of the unit point cloud data grouped into three groups by the unit point cloud data generation unit 220 is a noise point. Here, the noise point detector 225 may detect a noise point formed on the left or right edge of the object included in the point cloud data.
먼저, 노이즈점 검출부(225)는 객체의 좌측 엣지에 형성되는 노이즈점을 하기와 같이 검출할 수 있다.First, the noise point detection unit 225 can detect a noise point formed at the left edge of the object as follows.
노이즈점 검출부(225)는 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 거리가, 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.If the distance between the point located on the left side of the detection target point and the detection target point is greater than the distance between the point located on the right side of the detection target point by more than a preset value, It can be determined that the detection target point is a noise point formed on the left edge of the object.
또한, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 기울기가, 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the noise point detection unit 225 determines that the slope of the point located to the left of the detection target point and the detection target point is greater than a preset angle than the slope of the point located to the right of the detection target point and the detection target point. In this case, it may be determined that the detection target point is a noise point formed on the left edge of the object.
또한, 노이즈점 검출부(225)는 검출대상점이 검출대상점을 기준으로 우측에 위치한 점보다 인텐시티(intensity) 값이 사전 설정된 값보다 낮은 경우 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the noise point detection unit 225 determines that the detection target point is a noise point formed on the left edge of the object when the detection target point has an intensity value lower than a preset value compared to the point located to the right of the detection target point. You can.
정리하면, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 좌측에 위치한 점과의 인텐시티 값의 차이를 기초로 객체의 우측 엣지에 형성되는 노이즈점을 검출할 수 있다.In summary, the noise point detection unit 225 detects the noise point at the right edge of the object based on the distance difference between points located on the left or right side of the detection target point and the difference in intensity value between the detection target point and the point located on the left. Noise points formed can be detected.
바람직하게, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 우측에 위치한 점과의 인텐시티 값의 차이를 모두 만족하는 경우, 검출대상점을 노이즈점으로 판단할 수 있다. 예를 들어, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이가 3배 이상이고, 기울기 차이가 20°이상이며, 검출대상점과, 검출대상점을 기준으로 우측에 위치한 점의 인텐시티 값의 차이가 8이상인 경우 검출대상점을 노이즈점으로 판단할 수 있다.Preferably, the noise point detection unit 225 detects the detection target when both the distance difference between points located on the left or right with respect to the detection target point and the intensity value difference between the detection target point and the point located on the right are satisfied. The point can be judged as a noise point. For example, the noise point detection unit 225 determines that the distance difference between points located to the left or right of the detection target point is 3 times or more, the tilt difference is 20° or more, and the detection target point is If the difference between the intensity values of the point located on the right side of the standard is 8 or more, the detection target point can be judged to be a noise point.
다음으로, 노이즈점 검출부(225)는 객체의 우측에 엣지에 형성되는 노이즈점을 하기와 같이 검출할 수 있다.Next, the noise point detector 225 can detect a noise point formed at the edge on the right side of the object as follows.
노이즈점 검출부(225)는 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 거리가, 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.If the distance between the point located on the right side of the detection target point and the detection target point is greater than the distance between the point located on the left side of the detection target point and the detection target point, the noise point detection unit 225 operates by a preset value or more. It can be determined that the detection target point is a noise point formed on the right edge of the object.
또한, 노이즈점 검출부(225)는 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 기울기가, 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the noise point detection unit 225 determines that the slope of the point located to the right of the detection target point and the detection target point is greater than a preset angle than the slope of the point located to the left of the detection target point and the detection target point. In this case, it may be determined that the detection target point is a noise point formed on the right edge of the object.
또한, 노이즈점 검출부(225)는 검출대상점이 상기 검출대상점을 기준으로 좌측에 위치한 점보다 인텐시티(intensity) 값이 사전 설정된 값보다 낮은 경우 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the noise point detection unit 225 determines that the detection target point is a noise point formed on the right edge of the object when the intensity value of the detection target point is lower than a preset value compared to the point located to the left with respect to the detection target point. can do.
정리하면, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 좌측에 위치한 점과의 인텐시티 값의 차이를 기초로 객체의 우측 엣지에 형성되는 노이즈점을 검출할 수 있다.In summary, the noise point detection unit 225 detects the noise point at the right edge of the object based on the distance difference between points located on the left or right side of the detection target point and the difference in intensity value between the detection target point and the point located on the left. Noise points formed can be detected.
바람직하게, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 좌측에 위치한 점과의 인텐시티 값의 차이를 모두 만족하는 경우, 검출대상점을 노이즈점으로 판단할 수 있다. 예를 들어, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이가 3배 이상이고, 기울기 차이가 20°이상이며, 검출대상점과, 검출대상점을 기준으로 좌측에 위치한 점의 인텐시티 값의 차이가 8이상인 경우 검출대상점을 노이즈점으로 판단할 수 있다.Preferably, the noise point detection unit 225 detects the detection target when both the distance difference between points located on the left or right with respect to the detection target point and the difference in intensity value between the detection target point and the point located on the left are satisfied. The point can be judged as a noise point. For example, the noise point detection unit 225 determines that the distance difference between points located to the left or right of the detection target point is 3 times or more, the tilt difference is 20° or more, and the detection target point is If the difference between the intensity values of the point located on the left as a reference is 8 or more, the detection target point can be judged to be a noise point.
예를 들어, 노이즈점 검출부(225)는 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점 사이의 거리가 1.83m이고 기울기가 16도이며, 검출대상점을 기준으로 우측점과 검출대상점 사이의 거리가 0.04m 기울기가 45도이면, 검출대상점을 노이즈점 후보군으로 선정하고, 검출대상점과 우측점의 인텐시티 값이 8이상 차이가 날 경우, 검출대상점을 노이즈점으로 최종 판단할 수 있다.For example, the noise point detection unit 225 has a distance of 1.83 m and a slope of 16 degrees between the point located on the left side of the detection target point, and a point to the right of the detection target point and the detection target point. If the distance between them is 0.04m and the slope is 45 degrees, the detection target point is selected as a candidate noise point, and if the intensity value of the detection target point and the right point differs by more than 8, the detection target point is finally judged as a noise point. You can.
또한, 노이즈점 검출부(225)는 점군 데이터의 인텐시티 패턴을 분석하여, 분석된 인텐시티 패턴을 기초로 노이즈점을 검출할 수 있다. 이때, 노이즈점 검출부(225)는 점군 데이터를 패킷 형태로 가지고 있는 PCAP 데이터를 파싱하여, 동일 채널에 포함되어 있는 점군 데이터의 인텐시티 패턴을 분석하여 점군 데이터에 포함된 객체의 좌측에 형성된 노이즈점을 검출할 수 있다. 여기서, 객체는 인텐시티 값이 100 이상인 점들을 포함할 수 있다. 예를 들어, 객체는 교통 표지판 등의 평면 형태를 가지는 객체가 될 수 있다. 즉, 노이즈점 검출부(225)는 인텐시티가 상대적으로 높은 객체의 좌측에서 발생되는 노이즈점들을 검출할 수 있다.Additionally, the noise point detection unit 225 may analyze the intensity pattern of the point cloud data and detect the noise point based on the analyzed intensity pattern. At this time, the noise point detection unit 225 parses the PCAP data having the point cloud data in packet form, analyzes the intensity pattern of the point cloud data included in the same channel, and detects the noise point formed on the left side of the object included in the point cloud data. It can be detected. Here, the object may include points with an intensity value of 100 or more. For example, the object may be an object with a planar shape, such as a traffic sign. That is, the noise point detection unit 225 can detect noise points occurring on the left side of an object whose intensity is relatively high.
구체적으로, 노이즈점 검출부(225)는 점군 데이터를 파싱하면서, 동일 채널에서 사전 설정된 값보다 낮은 인텐시티 값을 가진 제1 점군이 검출된 후에, 연속적으로 인텐시티 값이 존재하지 않는 제2 점군이 검출되고, 다시 인텐시티가 사전 설정된 값보다 높은 제3 점군이 검출되는 경우, 제1 점군이 제1 노이즈점인 것으로 판단할 수 있다. 이때, 제1 점군, 제2 점군 및 제3 점군은 하나의 점 또는 복수의 점을 포함할 수 있다. 여기서, 바람직하게 제2 점군은 인텐시티 값이 존재하지 않는 3 ~ 5개의 점의 집합이 될 수 있다.Specifically, while parsing the point cloud data, the noise point detector 225 detects a first point cloud with an intensity value lower than a preset value in the same channel, and then continuously detects a second point cloud with no intensity value. , when a third point group whose intensity is higher than the preset value is detected, it may be determined that the first point group is the first noise point. At this time, the first point group, the second point group, and the third point group may include one point or a plurality of points. Here, the second point group may preferably be a set of 3 to 5 points with no intensity value.
또한, 노이즈점 검출부(225)는 제1 점군, 2 점군 및 제3 점군이 검출된 후에 제1 점군과 제2 점군의 인텐시티 값의 차이가 100 이상인 경우, 제1 점군이 제1 노이즈점인 것으로 판단할 수 있다.In addition, the noise point detection unit 225 determines that the first point group is the first noise point when the difference between the intensity values of the first point group and the second point group is 100 or more after the first point group, the second point group, and the third point group are detected. You can judge.
또한, 노이즈점 검출부(225)는 제1 노이즈점과 사전 설정된 반경 이내에 포함된 점들을 제2 노이즈점으로 판단할 수 있다. 이때, 제2 노이즈점은 제1 노이즈점과 함께 필터링이 필요한 노이즈점이 될 수 있다.Additionally, the noise point detector 225 may determine points included within a preset radius of the first noise point as second noise points. At this time, the second noise point may be a noise point that requires filtering along with the first noise point.
여기서, 노이즈점 검출부(225)는 KD tree 알고리즘을 통해 제1 노이즈점으로 판단된 점들 각각을 기준으로 사전 설정된 반경 이내에 포함되면서, 인텐시티 값이 사전 설정된 값보다 낮은 점들을 제2 노이즈점으로 판단할 수 있다.Here, the noise point detection unit 225 determines points that are included within a preset radius based on each of the points determined as first noise points through the KD tree algorithm and have an intensity value lower than the preset value as second noise points. You can.
예를 들어, 노이즈점 검출부(225)는 제1 노이즈점으로 판단된 점들을 기준으로 반경 0.5m 이내에 포함되고, 제1 노이즈점과 인텐시티 값의 차이가 10 미만인 점들을 제2 노이즈점으로 판단할 수 있다. 이때, 노이즈점 검출부(225)는 라이다(100)의 한 바퀴에 해당되는 점군 데이터 중 제1 노이즈점으로 판단된 점들 각각을 기준으로 사전 설정된 반경 이내에 포함되면서, 인텐시티 값이 사전 설정된 값보다 낮은 점들을 제2 노이즈점으로 판단할 수 있다.For example, the noise point detector 225 may determine points that are included within a radius of 0.5 m based on the points determined to be the first noise point and where the difference between the first noise point and the intensity value is less than 10 as the second noise point. You can. At this time, the noise point detector 225 is included within a preset radius based on each of the points determined to be the first noise point among the point cloud data corresponding to one wheel of the LIDAR 100 and has an intensity value lower than the preset value. The points can be judged as second noise points.
또한, 노이즈점 검출부(225)는 수신한 점군 데이터를 분석하여, 점군 데이터의 특정점과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점을 검출할 수 있다. 여기서, 노이즈점은 점군 데이터에 포함된 객체로부터 사전 설정된 간격만큼 이격되어 분포될 수 있다.Additionally, the noise point detection unit 225 may analyze the received point cloud data and detect the noise point based on the distance and density between a specific point and neighboring points in the point cloud data. Here, the noise points may be distributed at a preset distance from the objects included in the point cloud data.
구체적으로, 노이즈점 검출부(225)는 특정점을 기준으로 이웃하는 복수의 이웃점을 탐색할 수 있다. 이때, 노이즈점 검출부(225)는 점군 데이터를 KD tree 알고리즘을 이용하여, 점군 데이터의 모든 점들을 대상으로 복수의 이웃점을 탐색할 수 있다.Specifically, the noise point detection unit 225 may search for a plurality of neighboring points based on a specific point. At this time, the noise point detection unit 225 may use the KD tree algorithm for the point cloud data to search for a plurality of neighboring points for all points in the point cloud data.
또한, 노이즈점 검출부(225)는 복수의 이웃점이 존재하는 경우, 특정점과 복수의 이웃점 사이의 거리 평균 값을 산출할 수 있다. 여기서, 노이즈점 검출부(225)는 하기의 수학식 1을 통해 거리 평균 값을 산출할 수 있다.Additionally, when a plurality of neighboring points exist, the noise point detector 225 may calculate the average value of the distance between a specific point and the plurality of neighboring points. Here, the noise point detection unit 225 can calculate the average distance value through Equation 1 below.
[수학식 1][Equation 1]
(여기서, k는 상기 특정점과 이웃점 각각 사이의 거리, pi는 특정점, qj는 이웃점을 의미한다.)(Here, k is the distance between the specific point and each neighboring point, p i is the specific point, and q j is the neighboring point.)
또한, 노이즈점 검출부(225)는 산출된 거리 평균 값을 통해 상기 특정점을 기준으로 한 국소 밀도(local density) 값을 산출할 수 있다. 여기서, 노이즈점 검출부(225)는 KNN(K-Nearest Neighbor) 알고리즘을 이용하여 특정점을 기준으로 한 국소 밀도 값을 산출할 수 있다. 즉, 노이즈점 검출부(225)는 하기의 수학식 2를 통해 국소 밀도를 산출할 수 있다.Additionally, the noise point detection unit 225 may calculate a local density value based on the specific point through the calculated average distance value. Here, the noise point detection unit 225 can calculate a local density value based on a specific point using the K-Nearest Neighbor (KNN) algorithm. That is, the noise point detection unit 225 can calculate the local density through Equation 2 below.
[수학식 2][Equation 2]
(여기서, k는 상기 특정점과 이웃점 각각 사이의 거리, pi는 특정점, qj는 이웃점, 는 거리 평균 값을 의미한다.)(Here, k is the distance between the specific point and each neighboring point, p i is the specific point, q j is the neighboring point, means the average distance value.)
또한, 노이즈점 검출부(225)는 산출된 국소 밀도 값을 기초로 특정점이 노이즈점일 확률을 산출할 수 있다. 이때, 노이즈점 검출부(225)는 산출된 국소 밀도 값과 비례하여 노이즈점일 확률을 산출할 수 있다.Additionally, the noise point detector 225 may calculate the probability that a specific point is a noise point based on the calculated local density value. At this time, the noise point detector 225 may calculate the probability that the point is a noise point in proportion to the calculated local density value.
여기서, 노이즈점 검출부(225)는 점군 데이터에서 객체를 식별하고, 특정점과 이웃하는 객체의 종류에 가중치를 부여하여 노이즈점일 확률을 산출할 수 있다. 또한, 노이즈점 검출부(225)는 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 이용하여, 노이즈점일 확률을 추정할 수 있다. 이때, 노이즈점 검출부(225)는 객체의 종류에 따른 국소 밀도를 기초로 인공지능을 기계학습 시킬 수 있다.Here, the noise point detection unit 225 can identify an object in the point cloud data and calculate the probability that the point is a noise point by assigning weights to the types of objects neighboring the specific point. Additionally, the noise point detection unit 225 can estimate the probability that the point is a noise point using artificial intelligence (AI) that has undergone prior machine learning. At this time, the noise point detection unit 225 can perform artificial intelligence machine learning based on the local density according to the type of object.
그리고, 노이즈점 검출부(225)는 노이즈점일 확률이 특정 값 이상인 특정점을 노이즈점으로 판단할 수 있다.Additionally, the noise point detector 225 may determine a specific point whose probability of being a noise point is greater than or equal to a certain value as a noise point.
다음 구성으로, 노이즈점 필터링부(230)는 노이즈점 검출부(225)로부터 검출된 노이즈점을 필터링할 수 있다. 바람직하게, 노이즈점 필터링부(230)는 검출된 노이즈점을 삭제할 수 있다. 하지만, 이에 한정된 것은 아니고 노이즈점 필터링부(230)는 인접한 점의 거리 정보를 이용하여 노이즈점을 보정하는 등 다양한 필터링 기법들이 적용될 수 있다.With the following configuration, the noise point filtering unit 230 can filter the noise point detected by the noise point detection unit 225. Preferably, the noise point filtering unit 230 can delete the detected noise point. However, it is not limited to this, and the noise point filtering unit 230 may apply various filtering techniques, such as correcting the noise point using distance information of adjacent points.
이하 상술한 바와 같은, 본 발명의 일 실시예에 따른 필터링 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the logical components of the filtering device 200 according to an embodiment of the present invention as described above will be described in more detail.
도 3은 본 발명의 일 실시예에 따른 필터링 장치의 하드웨어 구성도이다.Figure 3 is a hardware configuration diagram of a filtering device according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 필터링 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.As shown in FIG. 3, the filtering device 200 includes a processor 250, a memory 255, a transceiver 260, an input/output device 265, and a data bus. , 270) and storage (Storage, 275).
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 필터링 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 라이다(100)와 데이터를 송수신할 수 있다. 입출력장치(265)는 필터링 장치(200)의 기능 동작에 필요한 데이터를 입력 받고, 필터링 결과 등을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement the operation and function of the filtering device 200 based on instructions according to the software 280a in which the method according to the embodiments of the present invention is implemented, which resides in the memory 255. Software 280a implementing methods according to embodiments of the present invention may be loaded in the memory 255. The transceiver 260 can transmit and receive data with the LIDAR 100. The input/output device 265 may receive data required for the functional operation of the filtering device 200 and output filtering results, etc. The data bus 270 is connected to the processor 250, memory 255, transceiver 260, input/output device 265, and storage 275, and forms a moving path for transferring data between each component. can perform its role.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.The storage 275 stores an application programming interface (API), library files, resource files, etc. necessary for executing the software 280a in which the method according to the embodiments of the present invention is implemented. You can save it. The storage 275 may store software 280b in which methods according to embodiments of the present invention are implemented. Additionally, the storage 275 may store information necessary for performing methods according to embodiments of the present invention.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 자동 특정 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 프로세서(250)가, 상기 점군 데이터를 사전 설정된 개수로 그룹핑(grouping)하여 복수의 단위 점군 데이터를 생성하는 단계, 상기 프로세서가, 상기 생성된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점(noise point)을 검출하는 단계 및 상기 프로세서(250)가, 상기 검출된 노이즈점을 필터링하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention, software 280a, 280b for implementing a method for automatically specifying objects resident in memory 255 or stored in storage 275 is acquired by the processor 250 from lidar. Receiving point cloud data, the processor 250, grouping the point cloud data into a preset number to generate a plurality of unit point cloud data, the processor analyzing the generated unit point cloud data It may be a computer program recorded on a recording medium to execute the step of detecting a noise point corresponding to noise and the step of the processor 250 filtering the detected noise point.
또한, 본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 자동 특정 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 프로세서(250)가, 상기 수신한 점군 데이터의 인텐시티(intensity) 패턴을 분석하여, 상기 분석된 인텐시티 패턴을 기초로 노이즈점을 검출하는 단계, 상기 프로세서(250)가, 상기 검출된 노이즈점을 필터링하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.In addition, according to another embodiment of the present invention, the software 280a, 280b for implementing a method for automatically specifying objects resident in the memory 255 or stored in the storage 275 is configured such that the processor 250 uses a lidar. Receiving point cloud data obtained from the processor 250, analyzing an intensity pattern of the received point cloud data and detecting noise points based on the analyzed intensity pattern, the processor (250) 250) may be a computer program recorded on a recording medium to execute the step of filtering the detected noise points.
그리고, 본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 자동 특정 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 획득된 점군 데이터를 수신하는 단계, 상기 프로세서(250)가, 상기 수신한 점군 데이터를 분석하여 상기 점군 데이터의 특정점(point)과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점(noise point)을 검출하는 단계 및 상기 프로세서(250)가, 상기 검출된 노이즈점을 필터링하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.And, according to another embodiment of the present invention, the software 280a, 280b for implementing a method for automatically specifying objects resident in the memory 255 or stored in the storage 275 is a lidar that the processor 250 uses. ), the processor 250 analyzes the received point cloud data based on the distance and density between a specific point of the point cloud data and neighboring points. It may be a computer program recorded on a recording medium to execute the step of detecting a noise point and the step of the processor 250 filtering the detected noise point.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired and wireless signals. The input/output device 265 includes input devices such as a keyboard, mouse, and/or joystick, a liquid crystal display (LCD), an organic light emitting diode (OLED), and/ Alternatively, it may include an image output device such as an active matrix OLED (AMOLED), a printing device such as a printer, a plotter, etc.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. The module resides in memory 255 and can be executed by processor 250. Memory 255 may be internal or external to processor 250 and may be coupled to processor 250 by a variety of well-known means.
도 3에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 3 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), and FPGAs ( Field Programmable Gate Arrays), processor, controller, microcontroller, microprocessor, etc.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded Here, the recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the recording medium may be those specifically designed and constructed for the present invention, or may be known and available to those skilled in the art of computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROM (Compact Disk Read Only Memory) and DVD (Digital Video Disk), and floptical media. It includes magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, etc. Examples of program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.
이하, 본 발명의 일 실시예에 따른 필터링 방법에 대하여 상세히 설명하도록 한다.Hereinafter, the filtering method according to an embodiment of the present invention will be described in detail.
도 4는 본 발명의 일 실시예에 따른 필터링 방법을 나타낸 순서도이다.Figure 4 is a flowchart showing a filtering method according to an embodiment of the present invention.
도 4에 도시된 바와 같이, S110 단계에서 필터링 장치는 라이다로부터 점군 데이터를 수신할 수 있다.As shown in FIG. 4, in step S110, the filtering device may receive point cloud data from LIDAR.
다음으로, S120 단계에서 필터링 장치는 라이다로부터 수신한 점군 데이터를 사전 설정된 개수로 그룹핑(grouping)하여 복수의 단위 점군 데이터를 생성할 수 있다.Next, in step S120, the filtering device may generate a plurality of unit point cloud data by grouping the point cloud data received from the LIDAR into a preset number.
구체적으로, 필터링 장치는 점군 데이터 중 동일한 채널에 포함되어 있는 점군 데이터를 사전 설정된 개수로 그룹핑 할 수 있다. 이때, 필터링 장치는 동일 채널에 포함되어 있는 점군 데이터를 세개씩 그룹핑 할 수 있다.Specifically, the filtering device may group point cloud data included in the same channel among the point cloud data into a preset number. At this time, the filtering device can group the point cloud data included in the same channel into three groups.
여기서, 필터링 장치는 동일한 점군 데이터를 패킷 형태로 가지고 있는 PCAP 데이터를 파싱할 때, 동일 채널의 점군 데이터를 그룹핑할 수 있다.Here, when the filtering device parses PCAP data having the same point cloud data in packet form, it can group the point cloud data of the same channel.
다음으로, S130 단계에서 필터링 장치는 생성된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점을 검출할 수 있다.Next, in step S130, the filtering device may detect noise points corresponding to noise by analyzing the generated unit point cloud data.
구체적으로, 필터링 장치는 S120 단계에 의해 세개씩 그룹핑 된 단위 점군 데이터 중 가운데 위치한 검출대상점이 노이즈점인지 여부를 검출할 수 있다. 여기서, 필터링 장치는 점군 데이터에 포함된 객체의 좌측 또는 우측 엣지에 형성되는 노이즈점을 검출할 수 있다.Specifically, the filtering device can detect whether the detection target point located in the middle of the unit point cloud data grouped into three groups in step S120 is a noise point. Here, the filtering device may detect noise points formed on the left or right edge of the object included in the point cloud data.
먼저, 필터링 장치는 객체의 좌측에 엣지에 형성되는 노이즈점을 하기와 같이 검출할 수 있다.First, the filtering device can detect a noise point formed at the edge on the left side of the object as follows.
필터링 장치는 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 거리가, 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.The filtering device detects that if the distance between the point located on the left of the detection target point and the detection target point is greater than a preset value than the distance between the point located on the right side of the detection target point and the detection target point, the detection target point is an object. It can be judged to be a noise point formed on the left edge of .
또한, 필터링 장치는 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 기울기가, 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the filtering device detects the detection target when the slope of the point located on the left and the detection target point is greater than the slope of the point located on the right and the detection target point based on the detection target point by more than a preset angle. It can be determined that the point is a noise point formed on the left edge of the object.
또한, 필터링 장치는 검출대상점이 검출대상점을 기준으로 우측에 위치한 점보다 인텐시티 값이 사전 설정된 값보다 낮은 경우 검출대상점이 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.Additionally, the filtering device may determine that the detection target point is a noise point formed on the left edge of the object when the intensity value of the detection target point is lower than a preset value compared to the point located to the right of the detection target point.
정리하면, 필터링 장치는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 좌측에 위치한 점과의 인텐시티 값의 차이를 기초로 객체의 좌측 엣지에 형성되는 노이즈점을 검출할 수 있다.In summary, the filtering device is a noise point formed at the left edge of the object based on the distance difference between points located on the left or right of the detection target point and the difference in intensity value between the detection target point and the point located on the left. can be detected.
바람직하게, 필터링 장치는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 좌측에 위치한 점과의 인텐시티 값의 차이를 모두 만족하는 경우, 검출대상점을 노이즈점으로 판단할 수 있다.Preferably, when the filtering device satisfies both the distance difference between points located on the left or right side of the detection target point and the difference in intensity value between the detection target point and the point located on the left, the filtering device selects the detection target point as a noise point. It can be judged as follows.
다음으로, 필터링 장치는 객체의 우측에 엣지에 형성되는 노이즈점을 하기와 같이 검출할 수 있다.Next, the filtering device can detect a noise point formed at the edge on the right side of the object as follows.
필터링 장치는 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 거리가, 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.If the distance between the point located on the right side of the detection target point and the detection target point is greater than a preset value than the distance between the point located on the left side of the detection target point and the detection target point, the detection target point is an object. It can be judged to be a noise point formed on the right edge of .
또한, 필터링 장치는 검출대상점을 기준으로 우측에 위치한 점과 검출대상점의 기울기가, 검출대상점을 기준으로 좌측에 위치한 점과 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the filtering device detects when the slope of the point located on the right side of the detection target point is greater than the slope of the point located on the left side of the detection target point and the slope of the detection target point by more than a preset angle. It can be determined that the point is a noise point formed on the right edge of the object.
또한, 필터링 장치는 검출대상점이 상기 검출대상점을 기준으로 좌측에 위치한 점보다 인텐시티(intensity) 값이 사전 설정된 값보다 낮은 경우 검출대상점이 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단할 수 있다.In addition, the filtering device may determine that the detection target point is a noise point formed on the right edge of the object if the detection target point has an intensity value lower than a preset value than the point located to the left of the detection target point.
정리하면, 필터링 장치는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 우측에 위치한 점과의 인텐시티 값의 차이를 기초로 객체의 우측 엣지에 형성되는 노이즈점을 검출할 수 있다.In summary, the filtering device is a noise point formed at the right edge of the object based on the distance difference between points located on the left or right of the detection target point and the difference in intensity value between the detection target point and the point located on the right. can be detected.
바람직하게, 필터링 장치는 검출대상점을 기준으로 좌측 또는 우측에 위치한 점 사이의 거리 차이와, 검출대상점과 우측에 위치한 점과의 인텐시티 값의 차이를 모두 만족하는 경우, 검출대상점을 노이즈점으로 판단할 수 있다.Preferably, when the filtering device satisfies both the distance difference between points located to the left or right of the detection target point and the difference in intensity value between the detection target point and the point located to the right, the detection target point is selected as a noise point. It can be judged as follows.
그리고, S140 단계에서 필터링 장치는 S130 단계에서 검출된 노이즈점을 필터링 할 수 있다.And, in step S140, the filtering device may filter the noise point detected in step S130.
이하, 본 발명의 다른 실시예에 따른 필터링 방법에 대하여 상세히 설명하도록 한다.Hereinafter, a filtering method according to another embodiment of the present invention will be described in detail.
도 5는 본 발명의 다른 실시예에 따른 필터링 방법을 나타낸 순서도이다.Figure 5 is a flowchart showing a filtering method according to another embodiment of the present invention.
도 5에 도시된 바와 같이, S210 단계에서 필터링 장치는 라이다로부터 점군 데이터를 수신할 수 있다.As shown in FIG. 5, in step S210, the filtering device may receive point cloud data from LIDAR.
다음으로, S220 단계에서 필터링 장치는 점군 데이터의 인텐시티 패턴을 분석하여, 분석된 인텐시티 패턴을 기초로 노이즈점을 검출할 수 있다. 이때, 필터링 장치는 점군 데이터를 패킷 형태로 가지고 있는 PCAP 데이터를 파싱하여, 동일 채널에 포함되어 있는 점군 데이터의 인텐시티 패턴을 분석하여 점군 데이터에 포함된 객체의 좌측에 형성된 노이즈점을 검출할 수 있다.Next, in step S220, the filtering device may analyze the intensity pattern of the point cloud data and detect noise points based on the analyzed intensity pattern. At this time, the filtering device parses the PCAP data containing the point cloud data in packet form, analyzes the intensity pattern of the point cloud data included in the same channel, and detects noise points formed on the left side of the object included in the point cloud data. .
구체적으로, 필터링 장치는 점군 데이터를 파싱하면서, 동일 채널에서 사전 설정된 값보다 낮은 인텐시티 값을 가진 제1 점군이 검출된 후에, 연속적으로 인텐시티 값이 존재하지 않는 제2 점군이 검출되고, 다시 인텐시티가 사전 설정된 값보다 높은 제3 점군이 검출되는 경우, 제1 점군이 제1 노이즈점인 것으로 판단할 수 있다. 이때, 제1 점군, 제2 점군 및 제3 점군은 하나의 점 또는 복수의 점을 포함할 수 있다. 여기서, 바람직하게 제2 점군은 인텐시티 값이 존재하지 않는 3 ~ 5개의 점의 집합이 될 수 있다.Specifically, while parsing the point cloud data, the filtering device detects a first point cloud with an intensity value lower than a preset value in the same channel, then continuously detects a second point cloud with no intensity value, and then detects the intensity again. When a third point group higher than a preset value is detected, it may be determined that the first point group is the first noise point. At this time, the first point group, the second point group, and the third point group may include one point or a plurality of points. Here, the second point group may preferably be a set of 3 to 5 points with no intensity value.
또한, 필터링 장치는 제1 점군, 2 점군 및 제3 점군이 검출된 후에 제1 점군과 제2 점군의 인텐시티 값의 차이가 100 이상인 경우, 제1 점군이 제1 노이즈점인 것으로 판단할 수 있다.In addition, the filtering device may determine that the first point group is the first noise point if the difference between the intensity values of the first point group and the second point group is 100 or more after the first point group, the second point group, and the third point group are detected. .
또한, 필터링 장치는 제1 노이즈점과 사전 설정된 반경 이내에 포함된 점들을 제2 노이즈점으로 판단할 수 있다. 이때, 제2 노이즈점은 제1 노이즈점과 함께 필터링이 필요한 노이즈에 해당되는 점이 될 수 있다.Additionally, the filtering device may determine points included within a preset radius of the first noise point as second noise points. At this time, the second noise point may be a point corresponding to noise that requires filtering along with the first noise point.
여기서, 필터링 장치는 KD tree 알고리즘을 통해 제1 노이즈점으로 판단된 점들 각각을 기준으로 사전 설정된 반경 이내에 포함되면서, 인텐시티 값이 사전 설정된 값보다 낮은 점들을 제2 노이즈점으로 판단할 수 있다.Here, the filtering device may determine points that are within a preset radius based on each of the points determined as first noise points through the KD tree algorithm and have an intensity value lower than the preset value as second noise points.
그리고, S230 단계에서 필터링 장치는 S220 단계에서 판단된 제1 노이즈점 및 제2 노이즈점을 필터링할 수 있다.Then, in step S230, the filtering device may filter the first noise point and the second noise point determined in step S220.
이하, 본 발명의 또 다른 실시예에 따른 필터링 방법에 대하여 상세히 설명하도록 한다.Hereinafter, a filtering method according to another embodiment of the present invention will be described in detail.
도 6은 본 발명의 또 다른 실시예에 따른 필터링 방법을 나타낸 순서도이다.Figure 6 is a flowchart showing a filtering method according to another embodiment of the present invention.
도 6에 도시된 바와 같이, S310 단계에서 필터링 장치는 라이다로부터 점군 데이터를 수신할 수 있다.As shown in FIG. 6, in step S310, the filtering device may receive point cloud data from LIDAR.
다음으로, S320 단계에서 필터링 장치는 특정점을 기준으로 이웃하는 복수의 이웃점을 탐색할 수 있다. 이때, 필터링 장치는 점군 데이터를 KD tree 알고리즘을 이용하여, 점군 데이터의 모든 점들을 대상으로 복수의 이웃점을 탐색할 수 있다.Next, in step S320, the filtering device may search for a plurality of neighboring points based on a specific point. At this time, the filtering device can use the KD tree algorithm for point cloud data to search for a plurality of neighboring points for all points in the point cloud data.
다음으로, S330 단계에서 필터링 장치는 이웃점이 존재하는 경우, S340 단계에서 특정점과 복수의 이웃점 사이의 거리 평균 값을 산출할 수 있다. 여기서, 필터링 장치는 하기의 수학식 1을 통해 거리 평균 값을 산출할 수 있다.Next, if a neighboring point exists in step S330, the filtering device may calculate the average value of the distance between the specific point and a plurality of neighboring points in step S340. Here, the filtering device can calculate the average distance value through Equation 1 below.
[수학식 1][Equation 1]
(여기서, k는 상기 특정점과 이웃점 각각 사이의 거리, pi는 특정점, qj는 이웃점을 의미한다.)(Here, k is the distance between the specific point and each neighboring point, p i is the specific point, and q j is the neighboring point.)
다음으로, S350 단계에서, 필터링 장치는 산출된 거리 평균 값을 통해 상기 특정점을 기준으로 한 국소 밀도(local density) 값을 산출할 수 있다. 여기서, 필터링 장치는 KNN(K-Nearest Neighbor) 알고리즘을 이용하여 특정점을 기준으로 한 국소 밀도(local density) 값을 산출할 수 있다. 즉, 필터링 장치는 하기의 수학식 2를 통해 국소 밀도를 산출할 수 있다.Next, in step S350, the filtering device may calculate a local density value based on the specific point through the calculated average distance value. Here, the filtering device can calculate a local density value based on a specific point using the KNN (K-Nearest Neighbor) algorithm. That is, the filtering device can calculate the local density through Equation 2 below.
[수학식 2][Equation 2]
(여기서, k는 상기 특정점과 이웃점 각각 사이의 거리, pi는 특정점, qj는 이웃점, 는 거리 평균 값을 의미한다.)(Here, k is the distance between the specific point and each neighboring point, p i is the specific point, q j is the neighboring point, means the average distance value.)
다음으로, S360 단계에서 필터링 장치는 산출된 국소 밀도 값을 기초로 특정점이 노이즈점일 확률을 산출할 수 있다. 이때, 필터링 장치는 산출된 국소 밀도 값과 비례하여 노이즈점일 확률을 산출할 수 있다.Next, in step S360, the filtering device may calculate the probability that a specific point is a noise point based on the calculated local density value. At this time, the filtering device can calculate the probability that the point is a noise point in proportion to the calculated local density value.
여기서, 필터링 장치는 점군 데이터에서 객체를 식별하고, 특정점과 이웃하는 객체의 종류에 가중치를 부여하여 노이즈점일 확률을 산출할 수 있다. 또한, 필터링 장치는 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 이용하여, 노이즈점일 확률을 추정할 수 있다.Here, the filtering device can identify an object in the point cloud data and calculate the probability that the point is a noise point by assigning weights to the types of objects neighboring the specific point. Additionally, the filtering device can estimate the probability of being a noise point using artificial intelligence (AI) that has undergone prior machine learning.
다음으로, S370 단계에서 필터링 장치는 노이즈점일 확률이 특정 값 이상인 경우, S380 단계에서 해당 특정점을 노이즈점으로 판단하고 필터링 할 수 있다.Next, in step S370, if the probability that the point is a noise point is greater than a certain value, the filtering device may determine the specific point to be a noise point and filter it in step S380.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.7 to 10 are exemplary diagrams for explaining a filtering method according to an embodiment of the present invention.
구체적으로, 도 7의 (A)는 카메라에 의해 동시에 촬영된 이미지 상에 라이다의 한바퀴에 해당하는 점군 데이터를 거리별로 색을 부여하여 오버레이(overlay)한 데이터이고, (B)는 (A)와 동일한 이미지에 점군 데이터를 인텐시티별로 색을 부여하여 오버레이한 데이터이다.Specifically, (A) in FIG. 7 is data obtained by overlaying point cloud data corresponding to one turn of the LIDAR on an image simultaneously captured by a camera, with colors assigned by distance, and (B) is data obtained by overlaying (A) This is data that is overlaid with point cloud data colored by intensity on the same image.
도 7에 도시된 바와 같이, 객체(나무)의 양쪽 엣지 영역에 인텐시티가 낮은 노이즈점들로 인해, 실제 객체의 두께보다 더 두껍게 이미지 상에 점군이 오버레이되는 것을 확인할 수 있다.As shown in FIG. 7, it can be seen that the point cloud is overlaid on the image thicker than the actual thickness of the object due to noise points with low intensity on both edge areas of the object (tree).
도 8은 도 7의 (A) 및 (B)에 본 발명의 일 실시예에 따른 필터링 방법을 적용한 후 결과를 나타낸 도면이다.Figure 8 is a diagram showing the results after applying the filtering method according to an embodiment of the present invention to (A) and (B) of Figures 7.
즉, 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 필터링 방법을 적용하여, 객체의 좌측 또는 우측에 실제 객체의 두께보다 더 두껍게 생성되는 노이즈점들이 제거된 것을 확인할 수 있다.That is, as shown in FIG. 8, by applying the filtering method according to an embodiment of the present invention, it can be confirmed that noise points that are thicker than the actual object thickness on the left or right side of the object have been removed.
한편, 도 9의 (A)는 라이다로부터 획득된 점군 데이터를 누적시켜 생성한 MMS 인텐시티 맵 데이터이고, (B)는 본 발명의 일 실시예에 따른 필터링 방법을 적용한 후 결과를 나타낸 도면이다. 또한, 도 10의 (A)는 라이다로부터 획득된 점군 데이터를 누적시켜 생성한 MMS RGB 맵 데이터이고, (B)는 본 발명의 일 실시예에 따른 필터링 방법을 적용한 후 결과를 나타낸 도면이다.Meanwhile, Figure 9 (A) is MMS intensity map data generated by accumulating point cloud data obtained from LIDAR, and (B) is a diagram showing the results after applying the filtering method according to an embodiment of the present invention. In addition, Figure 10 (A) is MMS RGB map data generated by accumulating point cloud data obtained from LIDAR, and (B) is a diagram showing the results after applying the filtering method according to an embodiment of the present invention.
도 9 및 도 10에 도시된 바와 같이, 필터링 전에는 객체(나무) 주위에 객체에 해당하는 점군과 상이한 정보를 포함하는 점으로 나타나는 노이즈점들이 생성된 것을 확인할 수 있으나, 필터링 후에는 노이즈점들이 제거된 것을 확인할 수 있다.As shown in Figures 9 and 10, it can be seen that before filtering, noise points are created around the object (tree), which appear as points containing information different from the point group corresponding to the object, but after filtering, the noise points are removed. You can confirm that it has been done.
이와 같이, 본 발명의 일 실시예에 따른 필터링 장치는 라이다로부터 획득된 점군 데이터를 그룹핑하여 복수의 단위 점군 데이터를 생성하고, 생성된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점을 검출함으로써, 객체의 좌측 또는 우측 엣지 영역에서 발생되는 노이즈점을 효과적으로 필터링할 수 있다.In this way, the filtering device according to an embodiment of the present invention generates a plurality of unit point cloud data by grouping point cloud data obtained from LIDAR, and detects noise points corresponding to noise by analyzing the generated unit point cloud data. , noise points occurring in the left or right edge area of the object can be effectively filtered.
도 11 내지 도 12는 본 발명의 다른 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.11 and 12 are exemplary diagrams for explaining a filtering method according to another embodiment of the present invention.
구체적으로, 도 11의 (A)는 카메라에 의해 동시에 촬영된 이미지 상에 라이다의 한바퀴에 해당하는 점군 데이터를 오버레이 한 데이터이고, (B)는 본 발명의 다른 실시예에 따른 필터링 방법을 적용한 도면이다.Specifically, (A) in Figure 11 is data obtained by overlaying point cloud data corresponding to one turn of the LIDAR on an image simultaneously captured by a camera, and (B) is data obtained by applying a filtering method according to another embodiment of the present invention. It is a drawing.
또한, 도 12의 (A)는 라이다로부터 획득된 점군 데이터를 누적시켜 생성한 MMS 인텐시티 맵 데이터이고, (B)는 본 발명의 다른 실시예에 따른 필터링 방법을 적용한 도면이다.In addition, (A) of FIG. 12 is MMS intensity map data generated by accumulating point cloud data obtained from LIDAR, and (B) is a diagram applying a filtering method according to another embodiment of the present invention.
도 11 및 도 12에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 필터링 방법은 필터링 장치가 라이다로부터 획득된 점군 데이터의 인센시티 패턴을 분석하여, 분석된 인텐시티 패턴을 기초로 노이즈점을 검출함으로써, 객체의 좌측 영역에서 발생되는 노이즈점을 효과적으로 필터링할 수 있다.As shown in FIGS. 11 and 12, in the filtering method according to another embodiment of the present invention, the filtering device analyzes the intensity pattern of point cloud data obtained from LIDAR, and selects noise points based on the analyzed intensity pattern. By detecting, noise points occurring in the left area of the object can be effectively filtered.
도 13 내지 도 17은 본 발명의 또 다른 실시예에 따른 필터링 방법을 설명하기 위한 예시도이다.13 to 17 are exemplary diagrams for explaining a filtering method according to another embodiment of the present invention.
구체적으로, 도 13은 임의의 건물에 대한 3D 점군 데이터를 나타낸 도면이다.Specifically, Figure 13 is a diagram showing 3D point cloud data for an arbitrary building.
도 13에 도시된 바와 같이, 객체와 이격되어 공중에 듬성듬성 개별적으로 존재하는 노이즈점(A) 및 객체와 이격되어 뭉쳐져 있는 노이즈점(B)이 생성된 것을 확인할 수 있다. 여기서, 노이즈점들은 객체와는 분리되어 있기 때문에 밀도가 낮은 것을 확인할 수 있다.As shown in FIG. 13, it can be confirmed that noise points (A) that exist individually and sparsely in the air, spaced apart from the object, and noise points (B) that are clustered and spaced apart from the object were created. Here, it can be seen that the density of the noise points is low because they are separated from the object.
이에 따라, 본 발명의 또 다른 실시예에 따른 필터링 방법은 라이다로부터 획득된 점군 데이터를 분석하여, 이웃하는 점 사이의 거리 및 밀도를 기준으로 노이즈점을 검출함으로써, 노이즈점을 효과적으로 필터링할 수 있다.Accordingly, the filtering method according to another embodiment of the present invention can effectively filter noise points by analyzing point cloud data obtained from LIDAR and detecting noise points based on the distance and density between neighboring points. there is.
한편 도 14의 (A)는 라이다로부터 획득된 점군 데이터를 누적하여 생성한 도면이고, (B)는 본 발명의 또 다른 실시예에 따른 필터링 방법을 적용한 후 점군 데이터를 나타낸 도면이다. 그리고, 도 15 내지 도 17은 도 14의 각 영역을 확대하여 나타낸 도면이다.Meanwhile, Figure 14 (A) is a diagram created by accumulating point cloud data obtained from LIDAR, and (B) is a diagram showing point cloud data after applying a filtering method according to another embodiment of the present invention. And, Figures 15 to 17 are enlarged views of each area of Figure 14.
도 14 내지 도 17에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 필터링 방법을 적용하여 객체 주위에서 발생되는 노이즈점들이 제거된 것을 확인할 수 있다.As shown in Figures 14 to 17, it can be confirmed that noise points occurring around the object have been removed by applying the filtering method according to another embodiment of the present invention.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the specification and drawings, it is known in the technical field to which the present invention belongs that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein. It is self-evident to those with ordinary knowledge. In addition, although specific terms are used in the specification and drawings, they are merely used in a general sense to easily explain the technical content of the present invention and aid understanding of the invention, and are not intended to limit the scope of the present invention. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
100 : 라이다 200 : 필터링 장치
205 : 통신부 210 : 입출력부
215 : 저장부 220 : 단위 점군 데이터 생성부
225 : 노이즈점 검출부 230 : 노이즈점 필터링부100: LIDAR 200: Filtering device
205: communication unit 210: input/output unit
215: storage unit 220: unit point cloud data generation unit
225: noise point detection unit 230: noise point filtering unit
Claims (10)
상기 필터링 장치가, 복수의 단위 점군 데이터를 생성하기 위하여 상기 점군 데이터 중 동일한 채널에 포함되어 있는 점군 데이터를 사전 설정된 개수로 그룹핑하는 단계;
상기 필터링 장치가, 상기 그룹핑된 단위 점군 데이터를 분석하여 노이즈에 해당하는 노이즈점(noise point)을 검출하는 단계; 및
상기 필터링 장치가, 상기 검출된 노이즈점을 필터링하는 단계; 를 포함하고,
상기 그룹핑하는 단계는
동일 채널에 포함되어 있는 점군 데이터를 세개씩 그룹핑하는 것을 특징으로 하고,
상기 노이즈점을 검출하는 단계는
상기 세개씩 그룹핑 된 단위 점군 데이터 중 가운데 위치한 검출대상점이 노이즈점인지 여부를 검출하는 것을 특징으로 하는, 노이즈 필터링 방법.
A filtering device receiving point cloud data obtained from lidar;
Grouping, by the filtering device, point cloud data included in the same channel among the point cloud data into a preset number to generate a plurality of unit point cloud data;
detecting, by the filtering device, a noise point corresponding to noise by analyzing the grouped unit point cloud data; and
filtering, by the filtering device, the detected noise point; Including,
The grouping step is
It is characterized by grouping the point cloud data contained in the same channel into three groups,
The step of detecting the noise point is
A noise filtering method, characterized in that detecting whether a detection target point located in the center of the unit point group data grouped by three is a noise point.
상기 그룹핑된 점군 데이터를 분석하여 상기 점군 데이터의 특정점과 이웃하는 점 사이의 거리 및 밀도(density)를 기준으로 노이즈점을 검출하는 것을 특징으로 하고,
상기 노이즈점은
상기 점군 데이터에 포함된 객체로부터 사전 설정된 간격만큼 이격되어 분포되는 점인 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 1, wherein the step of detecting the noise point is
Characterized by analyzing the grouped point cloud data to detect noise points based on the distance and density between a specific point and neighboring points of the point cloud data,
The noise point is
A noise filtering method, characterized in that the points are distributed at a preset interval from the object included in the point cloud data.
상기 특정점을 기준으로 이웃하는 복수의 이웃점을 탐색하는 단계
상기 복수의 이웃점이 존재하는 경우, 상기 특정점과 상기 복수의 이웃점 사이의 거리 평균 값을 산출하는 단계;
상기 산출된 거리 평균 값을 통해 상기 특정점을 기준으로 한 국소 밀도(local density) 값을 산출하는 단계;
상기 산출된 국소 밀도 값을 기초로 상기 특정점이 노이즈점일 확률을 산출하는 단계; 및
상기 노이즈점일 확률이 특정 값 이상인 특정점을 노이즈점으로 판단하는 단계; 를 포함하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 2, wherein the step of detecting the noise point is
Searching for a plurality of neighboring points based on the specific point
When the plurality of neighboring points exist, calculating an average distance between the specific point and the plurality of neighboring points;
calculating a local density value based on the specific point through the calculated average distance value;
calculating a probability that the specific point is a noise point based on the calculated local density value; and
determining a specific point whose probability of being the noise point is greater than or equal to a certain value as a noise point; A noise filtering method comprising:
상기 점군 데이터를 KD tree 알고리즘을 이용하여, 상기 점군 데이터의 모든 점들을 대상으로 복수의 이웃점을 탐색하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 3, wherein the step of searching for the plurality of neighboring points is
A noise filtering method, characterized in that the point cloud data is searched for a plurality of neighboring points targeting all points of the point cloud data using the KD tree algorithm.
상기 점군 데이터를 패킷(packet) 형태로 가지고 있는 PCAP 데이터를 파싱(parcing)하여, 상기 점군 데이터를 세개씩 그룹핑하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 1, wherein the step of generating the unit point cloud data is
A noise filtering method characterized by parsing PCAP data containing the point cloud data in packet form and grouping the point cloud data into three groups.
상기 점군 데이터에 포함된 객체의 좌측 또는 우측 엣지(edge)에 형성되는 노이즈점을 검출하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 5, wherein the step of detecting the noise point is
A noise filtering method, characterized in that detecting noise points formed on the left or right edge of the object included in the point cloud data.
상기 검출대상점을 기준으로 좌측에 위치한 점과 상기 검출대상점의 거리가, 상기 검출대상점을 기준으로 우측에 위치한 점과 상기 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 상기 검출대상점이 상기 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 6, wherein the step of detecting the noise point is
If the distance between the point located to the left of the detection target point and the detection target point is greater than a preset value than the distance between the point located to the right of the detection target point and the detection target point, the detection target A noise filtering method, characterized in that it is determined that the point is a noise point formed on the left edge of the object.
상기 검출대상점을 기준으로 좌측에 위치한 점과 상기 검출대상점의 기울기가, 상기 검출대상점을 기준으로 우측에 위치한 점과 상기 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 상기 검출대상점이 상기 객체의 좌측 엣지에 형성된 노이즈점인 것으로 판단하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 7, wherein the step of detecting the noise point is
If the slope of the point located to the left of the detection target point and the detection target point is greater than the slope of the point located to the right of the detection target point and the detection target point by more than a preset angle, the detection target A noise filtering method, characterized in that it is determined that the point is a noise point formed on the left edge of the object.
상기 검출대상점을 기준으로 우측에 위치한 점과 상기 검출대상점의 거리가, 상기 검출대상점을 기준으로 좌측에 위치한 점과 상기 검출대상점의 거리보다 사전 설정된 값 이상으로 큰 경우, 상기 검출대상점이 상기 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단하는 것을 특징으로 하는, 노이즈 필터링 방법.
The method of claim 6, wherein the step of detecting the noise point is
If the distance between the point located to the right of the detection target point and the detection target point is greater than a preset value than the distance between the point located to the left of the detection target point and the detection target point, the detection target A noise filtering method, characterized in that it is determined that the point is a noise point formed on the right edge of the object.
상기 검출대상점을 기준으로 우측에 위치한 점과 상기 검출대상점의 기울기가, 상기 검출대상점을 기준으로 좌측에 위치한 점과 상기 검출대상점의 기울기보다 사전 설정된 각도 이상으로 큰 경우, 상기 검출대상점이 상기 객체의 우측 엣지에 형성된 노이즈점인 것으로 판단하는 것을 특징으로 하는, 노이즈 필터링 방법.The method of claim 9, wherein the step of detecting the noise point is
If the slope of the point located to the right of the detection target point and the detection target point is greater than the slope of the point located to the left of the detection target point and the detection target point by more than a preset angle, the detection target A noise filtering method, characterized in that it is determined that the point is a noise point formed on the right edge of the object.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220139939A KR102616439B1 (en) | 2022-10-27 | 2022-10-27 | Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220139939A KR102616439B1 (en) | 2022-10-27 | 2022-10-27 | Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102616439B1 true KR102616439B1 (en) | 2023-12-21 |
Family
ID=89320612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220139939A KR102616439B1 (en) | 2022-10-27 | 2022-10-27 | Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102616439B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118258356A (en) * | 2024-04-02 | 2024-06-28 | 慈溪市诚正建设工程检测有限公司 | Building foundation settlement detection method based on computer vision |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180068209A (en) | 2016-12-13 | 2018-06-21 | 전자부품연구원 | Lidar Apparatus |
KR102078254B1 (en) * | 2018-03-30 | 2020-02-17 | 서울시립대학교 산학협력단 | Method, system and computer program for topographical change detection using LiDAR data |
JP6676814B2 (en) * | 2018-07-31 | 2020-04-08 | ウーバー テクノロジーズ,インコーポレイテッド | Object detection based on rider strength |
KR20200096726A (en) * | 2019-01-30 | 2020-08-13 | 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 | Map partitioning system for autonomous vehicles |
KR20220071999A (en) * | 2020-11-23 | 2022-06-02 | 한국전자통신연구원 | Apparatus for recogning object of automated driving system using error removal based on object classification and method using the same |
KR20220081776A (en) * | 2020-12-09 | 2022-06-16 | 주식회사 맵퍼스 | Point cloud matching method and point cloud matching device |
KR20220099473A (en) * | 2021-01-06 | 2022-07-13 | 한국과학기술원 | Lidar Point Cloud Noise Removal Method and Device |
-
2022
- 2022-10-27 KR KR1020220139939A patent/KR102616439B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180068209A (en) | 2016-12-13 | 2018-06-21 | 전자부품연구원 | Lidar Apparatus |
KR102078254B1 (en) * | 2018-03-30 | 2020-02-17 | 서울시립대학교 산학협력단 | Method, system and computer program for topographical change detection using LiDAR data |
JP6676814B2 (en) * | 2018-07-31 | 2020-04-08 | ウーバー テクノロジーズ,インコーポレイテッド | Object detection based on rider strength |
KR20200096726A (en) * | 2019-01-30 | 2020-08-13 | 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 | Map partitioning system for autonomous vehicles |
KR20220071999A (en) * | 2020-11-23 | 2022-06-02 | 한국전자통신연구원 | Apparatus for recogning object of automated driving system using error removal based on object classification and method using the same |
KR20220081776A (en) * | 2020-12-09 | 2022-06-16 | 주식회사 맵퍼스 | Point cloud matching method and point cloud matching device |
KR20220099473A (en) * | 2021-01-06 | 2022-07-13 | 한국과학기술원 | Lidar Point Cloud Noise Removal Method and Device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118258356A (en) * | 2024-04-02 | 2024-06-28 | 慈溪市诚正建设工程检测有限公司 | Building foundation settlement detection method based on computer vision |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709058B2 (en) | Path planning method and device and mobile device | |
JP6972757B2 (en) | Control programs, control methods, and information processing equipment | |
US11500101B2 (en) | Curb detection by analysis of reflection images | |
JP6972756B2 (en) | Control programs, control methods, and information processing equipment | |
JP6565967B2 (en) | Road obstacle detection device, method, and program | |
JP2023523243A (en) | Obstacle detection method and apparatus, computer device, and computer program | |
JP2016075905A5 (en) | ||
KR102616439B1 (en) | Method for Noise filtering through neighbourhood point and computer program recorded on record-medium for executing method therefor | |
CN112883820A (en) | Road target 3D detection method and system based on laser radar point cloud | |
KR102343056B1 (en) | A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof | |
US12013251B2 (en) | Dynamic map generation with focus on construction and localization field of technology | |
CN114495045A (en) | Sensing method, sensing device, sensing system and related equipment | |
KR102613160B1 (en) | Method for 3D semantic segmentation, and computer program recorded on record-medium for executing method thereof | |
KR102540621B1 (en) | Method for Noise filtering through noise pattern analysis and computer program recorded on record-medium for executing method therefor | |
KR102540627B1 (en) | Method for filtering edge noise on object and computer program recorded on record-medium for executing method therefor | |
CN112819700B (en) | Denoising method and device for point cloud data and readable storage medium | |
KR102540624B1 (en) | Method for create map using aviation lidar and computer program recorded on record-medium for executing method therefor | |
JP6800901B2 (en) | Object area identification device, object area identification method and program | |
KR102313922B1 (en) | A method of increasing quality for data of connected 3D points group, and computer program recorded on record-medium for executing method thereof | |
KR102540629B1 (en) | Method for generate training data for transportation facility and computer program recorded on record-medium for executing method therefor | |
KR102540634B1 (en) | Method for create a projection-based colormap and computer program recorded on record-medium for executing method therefor | |
KR102310607B1 (en) | Distributed processing method for annotations, and computer program recorded on record-medium for executing method therefor | |
KR102343047B1 (en) | Preprocessing method of 2D images, and computer program recorded on record-medium for executing method thereof | |
KR102343055B1 (en) | Load balancing method for annotation using local device, and computer program recorded on record-medium for executing method therefor | |
KR102378890B1 (en) | A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |