KR20240068188A - 객체 검출 방법 및 시스템 - Google Patents
객체 검출 방법 및 시스템 Download PDFInfo
- Publication number
- KR20240068188A KR20240068188A KR1020220149325A KR20220149325A KR20240068188A KR 20240068188 A KR20240068188 A KR 20240068188A KR 1020220149325 A KR1020220149325 A KR 1020220149325A KR 20220149325 A KR20220149325 A KR 20220149325A KR 20240068188 A KR20240068188 A KR 20240068188A
- Authority
- KR
- South Korea
- Prior art keywords
- candidate
- angle
- points
- candidate bounding
- object detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title description 3
- 238000001514 detection method Methods 0.000 claims abstract description 128
- 238000005286 illumination Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 239000000284 extract Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 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
- 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
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
본 개시의 객체 검출 방법은, 차량의 라이다를 통해 획득된 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며; 상기 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것을 포함할 수 있다.
Description
본 개시는 객체 검출 방법 및 시스템에 관한 것이다.
종래의 차량의 객체 검출 시스템은 객체 단위로 객체 검출을 수행하는 객체 기반 기술을 적용하고 있다.
이에 따라, 종래에는 추적 후보를 선정하는 트랙 어소시에이션(track association) 로직에서 객체들 간의 오버랩이 발생하는 문제가 있으며, 또 다른 문제로는 생성된 객체 박스가 차량이 실제로 주행 가능 영역에 침범하여 형성되는 문제가 있어왔다.
예를 들어, 도로 경계에 위치하는 수풀 및 장애물의 객체 박스가 실제로 차량이 주행 가능한 영역을 포함하도록 형성되어, 이를 기초로 차량의 제어 시, 차량의 제어권 이양 및/또는 차량의 자율 주행 시스템의 오류가 발생되는 문제가 있어왔다.
본 개시의 실시예는 객체 검출 기술에 씬 기반(scene based) 정보를 연계한 새로운 기술의 객체 검출 방법 및 시스템을 제공할 수 있다.
예를 들어, 본 개시의 실시예의 객체 검출 방법 및 시스템은, 대표적인 씬 기반 정보인 자유 공간을 활용해 종래의 객체 기반으로 검출된 객체 검출 결과, 예를 들어, 객체의 객체 박스를 보완하거나, 또는 씬 기반 객체 검출 결과를 신규로 생성하는 기술을 제공할 수 있다.
본 개시의 실시예는 종래의 객체 검출 기술에서의 군집화 및 바운딩 박스 생성의 오류 상황을 해결할 수 있는 객체 검출 방법 및 시스템을 제공할 수 있다.
예를 들어, 본 개시의 실시예의 객체 검출 방법 및 시스템은, 종래의 군집화 및 바운딩 박스 생성 기술의 오류 문제를 해결하여, 객체가 차량이 실제 주행 가능한 영역인 자유 공간을 침범하고 있는 것으로 오인식하는 문제를 개선할 수 있다.
본 개시의 실시예는 차량의 자율 주행 시스템의 안전성을 향상시킬 수 있는 객체 검출 방법 및 시스템을 제공할 수 있다.
예를 들어, 차량의 자율 주행의 핵심 주행 환경인 고속도로 및 자동차 전용 도로에서, 도로 경계에 수풀이 있는 환경에 따라, 차량이 실제 주행 가능 영역에 객체가 있는 것으로 오인식하는 문제가 빈번하게 발생되어 중요한 이슈가 되고 있다. 이에 따라, 본 개시의 실시예에 따른 객체 검출 방법 및 시스템은 상기와 같은 환경에서 발생되고 있는 문제점을 해소하여, 객체 검출의 안전성 및 관련 시스템 및 차량의 상품성을 향상시킬 수 있다.
본 개시의 일 실시예에 따른 객체 검출 방법은, 차량의 라이다를 통해 획득된 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며; 상기 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것을 포함할 수 있다.
상기 복수의 후보 바운딩 박스들을 생성하는 것은, 상기 포인트 클라우드 데이터를 기초로 상기 객체를 군집화하며, 상기 군집화의 결과를 기초로, 각도 후보군을 결정하며, 상기 각도 후보군의 각 후보 각도를 기울기로 하는 후보 바운딩 박스를 생성하는 것을 포함할 수 있다.
상기 각도 후보군을 결정하는 것은, 상기 객체의 컨투어 포인트들을 연결하는 세그먼트들 간의 각도, 미리 결정된 상기 객체의 헤딩 각도, 미리 지정된 기준 각도, 상기 차량의 요 레이트를 통해 산출된 상기 차량의 주행 곡률의 곡률 각도, 상기 포인트 클라우드 데이터의 통계 기반 방향각, 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최소 y좌표 포인트 간의 기울기 각도 또는 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최대 y좌표 포인트 간의 기울기 각도 중 적어도 하나를, 상기 각도 후보군의 각 후보 각도로 결정하는 것을 포함할 수 있다.
상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것은, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하여, 상기 복수의 후보 바운딩 박스들 중 상기 중첩 영역의 넓이가 최소인 상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 결정하는 것을 포함할 수 있다.
상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하는 것은, 상기 복수의 후보 바운딩 박스들 각각의 경계 및 상기 자유 공간의 포인트들을 기초로, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 적어도 일부를 나타내는 하나 이상의 다각형을 추출하며, 상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이를 합산하여, 상기 복수의 후보 바운딩 박스들 각각의 중첩 영역의 넓이를 결정하는 것을 포함할 수 있다.
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이는, 상기 하나 이상의 다각형 각각을 이루는 포인트들의 좌표 값을 기초로 산출될 수 있다.
상기 하나 이상의 다각형을 추출하는 것은, 상기 복수의 후보 바운딩 박스들 중 제1 후보 바운딩 박스와, 좌표 공간의 원점과 상기 자유 공간의 포인트들 각각을 잇는 직선이, 교차하는 지점에, 교차 포인트들을 생성하며, 상기 교차 포인트들 및 상기 제1 후보 바운딩 박스의 내부에 위치하는 상기 자유 공간의 포인트들 중에서, 서로 미리 지정된 각도 간격을 갖는 위치의 포인트들을 상기 제1 후보 바운딩 박스의 하나의 다각형의 포인트들로 결정하는 것을 포함할 수 있다.
상기 미리 지정된 각도 간격은, 상기 자유 공간을 결정하기 위해 동작하는 상기 라이다의 조사 각도에 대응될 수 있다.
본 개시의 일 실시예에 따른 객체 검출 시스템은, 라이다로부터 포인트 클라우드 데이터를 수신하는 인터페이스; 및 상기 인터페이스와 전기적으로 연결 또는 통신 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며, 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것을 포함할 수 있다.
상기 프로세서는, 상기 포인트 클라우드 데이터를 기초로 상기 객체를 군집화하며, 상기 군집화의 결과를 기초로, 각도 후보군을 결정하며, 상기 각도 후보군의 각 후보 각도를 기울기로 하는 후보 바운딩 박스를 생성하는 것을 포함할 수 있다.
상기 프로세서는, 상기 객체의 컨투어 포인트들을 연결하는 세그먼트들 간의 각도, 미리 결정된 상기 객체의 헤딩 각도, 미리 지정된 기준 각도, 상기 차량의 요 레이트를 통해 산출된 주행 곡률의 곡률 각도, 상기 포인트 클라우드 데이터의 통계 기반 방향각, 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최소 y좌표 포인트 간의 기울기 각도 또는 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최대 y좌표 포인트 간의 기울기 각도 중 적어도 하나를, 상기 각도 후보군의 각 후보 각도로 결정하는 것을 포함할 수 있다.
상기 프로세서는, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하여, 상기 복수의 후보 바운딩 박스들 중 상기 중첩 영역의 넓이가 최소인 상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 결정하는 것을 포함할 수 있다.
상기 프로세서는, 상기 복수의 후보 바운딩 박스들 각각의 경계 및 상기 자유 공간의 포인트들을 기초로, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 적어도 일부를 나타내는 하나 이상의 다각형을 추출하며, 상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이를 합산하여, 상기 복수의 후보 바운딩 박스들 각각의 중첩 영역의 넓이를 결정하는 것을 포함할 수 있다.
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이는, 상기 하나 이상의 다각형 각각을 이루는 포인트들의 좌표 값을 기초로 산출될 수 있다.
상기 프로세서는, 상기 복수의 후보 바운딩 박스들 중 제1 후보 바운딩 박스와, 좌표 공간의 원점과 상기 자유 공간의 포인트들 각각을 잇는 직선이, 교차하는 지점에, 교차 포인트들을 생성하며, 상기 교차 포인트들 및 상기 제1 후보 바운딩 박스의 내부에 위치하는 상기 자유 공간의 포인트들 중에서, 미리 지정된 각도 간격을 갖는 위치의 포인트들을 상기 제1 후보 바운딩 박스의 하나의 다각형의 포인트들로 결정하는 것을 포함할 수 있다.
상기 미리 지정된 각도 간격은, 상기 자유 공간을 결정하기 위해 동작하는 상기 라이다의 조사 각도에 대응될 수 있다.
본 개시의 일 실시예에 따른 차량은, 라이다; 상기 라이다를 통해 획득된 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며, 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 객체 검출 시스템을 포함할 수 있다.
상기 차량은, 상기 바운딩 박스를 기초로 상기 차량의 주행을 제어하는 차량 제어 장치를 더 포함할 수 있다.
본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 차량의 주변의 객체 검출에 씬 기반 정보를 연계할 수 있다.
예를 들어, 본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 대표적인 씬 기반 정보인 자유 공간을 기초로, 종래의 객체 기반 객체 검출 기술의 결과를 보완하거나, 씬 기반 객체 검출 기술을 통해 새로운 결과를 생성하여 출력할 수 있다.
본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 종래 기술에 따라 생성된 군집 및 바운딩 박스 오류를 해소할 수 있다.
예를 들어, 본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 차량이 실제 주행 가능한 영역인 자유 공간의 영역에 객체의 군집 및 바운딩 박스가 생성되는 종래의 오류를 개선할 수 있다.
본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 차량의 자율 주행 시스템의 안전성을 향상시킬 수 있다.
예를 들어, 본 개시의 실시예에 따른 객체 검출 방법 및 시스템은, 차량의 자율 주행의 핵심 주행 환경인 고속도로 및 자동차 전용 도로에서, 도로 경계에 수풀이 있는 환경이 있는 상황에서도 객체 검출의 정확성을 높여, 차량의 자율 주행 제어의 정확성, 안전성 및 상품성을 향상시킬 수 있다.
도 1은 일 실시예에 따른 차량의 센서 퓨전 시스템의 블록도이다.
도 2는 일 실시예에 따른 차량의 객체 검출 시스템의 동작의 흐름도이다.
도 3 내지 도 5는 일 실시예에 따른 차량의 객체 검출 시스템의 동작을 설명하기 위한 도면이다.
도 6은 도 2의 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작의 세부 흐름도이다.
도 7 내지 도 11은 일 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 차량의 객체 검출 시스템의 동작을 설명하기 위한 도면이다.
도 13은 종래의 객체 검출 기술에서 차량의 실제 주행 가능 영역에 객체의 바운딩 박스가 생성되는 예를 나타낸 도면이다.
도 14 및 도 15는 본 개시의 실시예의 적용 효과를 설명하기 위한 도면이다.
도 16은 종래의 객체 검출 기술과 본 개시의 실시예의 객체 검출 기술의 결과 비교를 나타낸 도면이다.
도 2는 일 실시예에 따른 차량의 객체 검출 시스템의 동작의 흐름도이다.
도 3 내지 도 5는 일 실시예에 따른 차량의 객체 검출 시스템의 동작을 설명하기 위한 도면이다.
도 6은 도 2의 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작의 세부 흐름도이다.
도 7 내지 도 11은 일 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 차량의 객체 검출 시스템의 동작을 설명하기 위한 도면이다.
도 13은 종래의 객체 검출 기술에서 차량의 실제 주행 가능 영역에 객체의 바운딩 박스가 생성되는 예를 나타낸 도면이다.
도 14 및 도 15는 본 개시의 실시예의 적용 효과를 설명하기 위한 도면이다.
도 16은 종래의 객체 검출 기술과 본 개시의 실시예의 객체 검출 기술의 결과 비교를 나타낸 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시 예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시 예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 장치'라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시 예들에 따라 복수의 '부, 모듈, 장치'가 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 장치'가 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 스텝들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 스텝들의 순서를 설명하는 것이 아니며, 각 스텝들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
본 개시는 라이다의 씬 기반(scene based) 정보인 자유 공간 정보를 활용하여 차량의 주변 객체를 검출하여, 종래의 객체 기반(object based) 객체 검출의 한계점, 즉, 도로 경계의 수풀 및/또는 장애물이, 차량이 실제 주행 가능 영역을 침범하고 있는 상황으로 인식하는 한계 상황을 해소할 수 있는 기술을 제공할 수 있다. 보다 상세하게는, 본 개시는, 도로 경계의 수풀 및/또는 장애물을 나타내는 객체 박스가, 실제로는 차량이 주행할 수 있는 영역의 일부를 포함하도록 생성되는 종래의 문제를 해소할 수 있는 기술을 제공할 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시 예들에 대해 설명한다.
도 1은 일 실시예에 따른 차량의 센서 퓨전 시스템의 블록도이다.
도 1을 참조하면, 차량(1)은 센싱 장치(10), 객체 검출 시스템(100) 및/또는 차량 제어 장치(1000)를 포함할 수 있다.
센싱 장치(10)는 차량(1)의 주변에 위치한 객체(또는 타겟이라고도 함)에 대한 정보를 획득할 수 있는 하나 이상의 장치를 포함할 수 있다.
센싱 장치(10)는 라이다(12)를 포함할 수 있다.
라이다(12)는 하나 또는 복수 개일 수 있으며, 차량(1)에 장착되어 차량(1)의 주변을 향해 레이저 펄스를 발사하여 라이다 데이터, 즉, 복수 개의 포인트 데이터(또는 포인트 클라우드 데이터(point cloud data)라고도 함)를 생성할 수 있다.
한편, 도시하지는 않았지만, 센싱 장치(10)는 차량(1)의 주변 객체를 감지할 수 있는 레이더(미도시) 및/또는 차량(1)의 주변의 이미지 데이터를 획득할 수 있는 카메라(미도시) 등을 더 포함할 수 있다.
객체 검출 시스템(100)은 인터페이스(110), 메모리(120) 및/또는 프로세서(130)를 포함할 수 있다.
인터페이스(110)는 차량(1)의 다른 장치(예: 센싱 장치(10) 및/또는 차량 제어 장치(1000)) 또는 사용자로부터 입력된 명령 또는 데이터를 객체 검출 시스템(100)의 다른 구성 요소에 전달하거나 객체 검출 시스템(100)의 다른 구성 요소로부터 수신된 명령 또는 데이터를 차량(1)의 다른 장치로 출력할 수 있다.
인터페이스(110)는 통신 모듈(미도시)을 포함하여, 차량(1)의 다른 장치와 통신할 수 있다.
예를 들어, 통신 모듈은 차량용 통신 네트워크를 통해, 차량(1)의 장치들 간의 통신, 예를 들어, CAN(controller area network) 통신 및/또는 LIN(local interconnect network) 통신을 할 수 있는 통신 모듈을 포함할 수 있다. 또한, 통신 모듈은 유선 통신 모듈(예: 전력선 통신 모듈) 및/또는 무선 통신 모듈(예: 셀룰러 통신 모듈, 와이파이 통신 모듈, 근거리 무선 통신 모듈, 및/또는 GNSS(global navigation satellite system) 통신 모듈)을 포함할 수 있다.
메모리(120)는 객체 검출 시스템(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어 프로그램 및 이와 관련된 명령에 대한 입력 데이터 및/또는 출력 데이터를 저장할 수 있다.
메모리(120)는 자유 공간 데이터베이스(DB; data base)(121)를 포함할 수 있다.
자유 공간 DB(121)는 실시간으로 생성된 차량(1)의 자유 공간 정보를 저장할 수 있으며, 자유 공간 정보는, 장애물 등의 객체가 존재하지 않고 차량(1)이 주행할 수 있는 공간, 즉, 자유 공간의 정보를 포함할 수 있다.
자유 공간 정보는 종래에 개발될 기술들 중 하나가 적용되어 생성될 수 있다. 예를 들어, 자유 공간 정보는 라이다(예: 라이다(12))를 통해 획득된 포인트 클라우드 데이터를 기초로 생성될 수 있다.
메모리(120)는 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및/또는 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 및/또는 RAM(Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.
프로세서(130)(제어 회로 또는 제어부라고도 함)는 객체 검출 시스템(100)의 적어도 하나의 다른 구성 요소(예: 하드웨어 구성 요소(예: 인터페이스(110) 및/또는 메모리(120)) 및/또는 소프트웨어 구성 요소(소프트웨어 프로그램))를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다.
프로세서(130)는 인터페이스(110)를 통해 라이다(12)로부터 획득된 포인트 클라우드 데이터를 기초로, 차량(1)의 주변의 객체를 나타내는 복수의 후보 바운딩 박스들을 생성할 수 있다. 또한, 프로세서(130)는 차량(1)의 주행 가능한 자유 공간을 검출하고, 자유 공간을 기초로, 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 객체를 나타내는 바운딩 박스로 결정 및 출력할 수 있다.
예를 들어, 프로세서(130)는 획득된 포인트 클라우드 데이터를 기초로, 객체의 군집화를 수행할 수 있다.
프로세서(130)는 객체의 군집화 결과를 기초로, 객체의 헤딩 각도의 후보가 될 각도 후보군을 결정할 수 있다.
차량(1)의 주행을 제어하는 차량 제어 장치(1000)의 객체에 대한 헤딩 각도의 해상도(resolution) 요구치가 높아서 객체 검출 시스템(100)이 모든 검출 가능한 각도 값을 기초로 바운딩 박스를 생성하는 경우, 연산 시간이 과도하게 발생되는 문제가 있다. 이러한 점에 따라, 본 개시의 실시예들에서는 컨투어(contour) 및/또는 군집 정보를 통해 각도 후보군을 결정하여, 결정된 각도 후보군이 후술하는 동작에 적용되도록 할 수 있다.
프로세서(130)는 각도 후보군의 각 후보 각도를 기울기로 하는 후보 바운딩 박스를 생성할 수 있다. 다시 말해서, 프로세서(130)는, 각 후보 각도를 헤딩 각도로 하면서 군집화된 포인트들을 둘러싸는 후보 바운딩 박스를 생성할 수 있다.
프로세서(130)는 자유 공간 DB(121)에 저장된 자유 공간 정보를 기초로, 후보 바운딩 박스와 자유 공간 정보의 해당 자유 공간의 중첩 영역 넓이를 산출할 수 있다.
예를 들어, 프로세서(130)는 바운딩 박스의 선분으로 이루어진 복수 개의 다각형들을 추출할 수 있으며, 복수 개의 다각형들의 넓이를 합하여, 중첩 영역 넓이를 산출할 수 있다.
프로세서(130)는 후보 바운딩 박스 중 중첩 영역 넓이가 가장 작은 바운딩 박스를 최종 검출 결과, 즉, 최종 바운딩 박스로 출력할 수 있다.
차량 제어 장치(1000)는 최종 검출 결과로 출력된 바운딩 박스를 기초로 차량(1)의 주행을 제어할 수 있다.
한편, 상술한 도 1의 실시예에서는 자유 공간 DB(121)가 메모리(120)에 포함된 것으로 설명하였으나, 다른 실시예에 따르면, 자유 공간 DB(121)는 객체 검출 시스템(100)의 별도의 구성 또는 차량(1)의 별도의 구성으로 구현될 수도 있다.
도 2는 일 실시예에 따른 차량(1)의 객체 검출 시스템(100)(및/또는 프로세서(130))의 동작의 흐름도이다. 도 3 내지 도 5는 일 실시예에 따른 차량(1)의 객체 검출 시스템(100)의 동작을 설명하기 위한 도면이다. 도 6은 도 2의 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작의 세부 흐름도이다. 도 7 내지 도 11은 일 실시예에 따른 객체 검출 시스템의 후보 바운딩 박스와 자유 공간 간의 중첩 영역의 넓이를 산출하는 동작을 설명하기 위한 도면이다. 도 12는 일 실시예에 따른 차량의 객체 검출 시스템의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 객체 검출 시스템(100)은 라이다(12)를 통해 획득된 포인트 클라우드 데이터를 기초로 객체의 군집화를 수행할 수 있다(210).
객체의 군집화는 객체 군집의 생성 및/또는 객체를 나타내는 군집 박스의 생성을 포함할 수 있다.
객체 군집은, 하나의 객체에 대한 포인트들의 집합으로, 객체 검출 시스템(100)은 서로 인접한 포인트들을 동일 객체의 포인트들로 결정하는 방식으로 객체 군집을 생성할 수 있다. 예를 들어, 서로 인접한 포인트들을 동일 객체의 포인트들로 결정하는 방식은 종래에 개발된 기술들 중 하나가 적용될 수 있다.
객체 검출 시스템(100)은 포인트들의 좌표 값을 기초로 군집 박스를 생성할 수 있다.
예를 들어, 객체 검출 시스템(100)은 객체 군집에 포함된 포인트 데이터 중 좌표계의 각 좌표의 최대 값과 최소 값을 기초로, 군집 박스를 생성할 수 있다.
예를 들어, 객체 검출 시스템(100)은, 좌표계가 xyz 좌표계일 경우, xyz 좌표계의 각 좌표의 최대 값과 최소 값, 즉, x 좌표의 최대 값 및 최소 값(x_max 및 x_min), y 좌표의 최대 값 및 최소 값(y_max 및 y_min) 및 z 좌표의 최대 값 및 최소 값(z_max 및 z_min)을 식별할 수 있다. 또한, 객체 검출 시스템(100)은 xyz 좌표계의 각 좌표의 최대 값과 최소 값을 기초로, 군집에 포함된 포인트들을 둘러싸는 형태의 박스를 생성하고, 이를 군집 박스라 할 수 있다.
다른 예로, 좌표계가 도 3과 같이 xy 좌표계일 경우, 즉, 포인트들이 xy 좌표 평면 상에 투영되었을 경우, 객체 검출 시스템(100)은 도 3과 같이 x좌표의 최대 값 및 최소 값(x_max 및 x_min)과 y좌표의 최대 값 및 최소 값(y_max 및 y_min)을 기초로 각 모서리를 결정하고, 각 모서리를 연결하여 군집 박스를 생성할 수 있다.
예를 들어, 군집 박스의 생성 시, 군집 박스가 객체의 진행 방향이 포함되지 않는 기본적인 형태로 생성 할 수 있다. 또한, 군집 박스는, 좌표계의 축에 정렬된 축 정렬 바운딩 박스(AABB; axis aligned bounding box)일 수 있다.
객체 검출 시스템(100)은 객체의 군집화 결과를 기초로 각도 후보군을 결정할 수 있다(220).
모든 각도 값에 대해, 해당 로직을 수행하면 프로세서(130)의 연산 시간 초과가 발생할 수 있다는 점에 따라, 본 개시의 실시예에서는 각도 후보군을 결정하여, 이를 후술하는 동작에 적용할 수 있다.
예를 들어, 객체 검출 시스템(100)은 객체의 컨투어(contour)를 기초로 각도 후보군을 결정할 수 있다. 객체 검출 시스템(100)은 convex hull 알고리즘 등을 통해, 객체 군집, 즉, 군집 박스에 포함된 포인트들의 컨투어 포인트들을 추출하고, 컨투어 포인트들 간의 기울기 값을 각도 후보군으로 결정할 수 있다.
도 4의 (a)를 참조하면, 객체 검출 시스템(100)은 객체의 컨투어 포인트들을 연결하는 세그먼트(segment)들 간의 각도를 각도 후보군의 각도로 결정할 수 있다. 객체 검출 시스템(100)은 컨투어 포인트들 중 서로 인접하게 위치하는 두 개의 컨투어 포인트들을 서로 연결하는 선분인 세그먼트와 인접한 다른 세그먼트가 이루는 각도를 산출하여, 세그먼트들 상호간에 이루고 있는 각도들을 각도 후보군의 후보 각도들로 결정할 수 있다.
다른 예로, 객체 검출 시스템(100)은 차량(1)에 임베디드된 객체 검출 시스템(100)의 양산 최적화를 위해, 최대한 적은 개수의 각도 후보군으로 높은 효율을 가질 수 있도록 다음의 6개의 각도들 중 적어도 하나를 각도 후보군으로 결정할 수 있다.
1)기존의 객체 기반 객체 검출 결과를 통해 결정된 헤딩 각도(또는 미리 결정도니 객체의 헤딩 각도라고도 함)
2) 미리 지정된 기준 각도(예: 0도)
3) 차량(1)의 주행 곡률의 곡률 각도(curvature angle)(예: 차량(1)의 요 레이트(yaw rate)를 통해 산출된 주행 곡률의 곡률 각도)
4) 포인트들의 통계 기반 방향각(예: 객체가 검출될 확률이 일정 수준 이상인 영역의 방향성을 나타내는 고유 벡터(eigenvector), 회귀(regression) 기법을 통해 결정된 객체의 방향각)
5) 객체의 포인트들, 예를 들어, 컨투어 포인트들 중 객체 군집(또는 클러스터(cluster))의 x 좌표가 가장 작은 값을 갖는 포인트(도 4의 (b)에서의 ClusterLongitutionalMinPoint)와, y 좌표가 가장 작은 값을 갖는 포인트(도 4의 (b)에서의 ClusterLateralMinPoint) 간의 기울기 각도
6) 객체의 포인트들, 예를 들어, 컨투어 포인트들 중 객체 군집의 x 좌표가 가장 작은 값을 갖는 포인트(도 4의 (b)에서의 ClusterLongitutionalMinPoint)와, y 좌표가 가장 큰 값을 갖는 포인트(도 4의 (b)에서의 ClusterLateralMaxPoint) 간의 기울기 각도
객체 검출 시스템(100)은 각도 후보군을 기초로 복수 개의 후보 바운딩 박스들을 생성할 수 있다(230).
도 5의 (a)를 참조하면, 객체 검출 시스템(100)은 각도 후보군에 포함된 각 후보 각도에 해당하는 기울기를 가지면서, 객체 군집 내의 한 포인트(또는 픽셀)을 지나는 직선(또는 기준 직선(51)이라고도 함)을 선정할 수 있다. 또한, 객체 검출 시스템(100)은 객체 군집 내의 모든 포인트(또는 픽셀)를 대상으로 직선을 바꿔가면서 해당 후보 각도가 가질 수 있는 최대 절편(53) 및 최소 절편(52)을 찾을 수 있다. 또한, 객체 검출 시스템(100)은 최대 절편(53)을 갖는 제1 직선 및 최소 절편(52)을 갖는 제2 직선이 각각 박스의 평행하는 두 변인 것으로 결정할 수 있다.
도 5의 (b)를 참조하면, 객체 검출 시스템(100)은 각도 후보군에 포함된 각 후보 각도와 수직하는 각도의 기울기를 가지면서, 객체 군집 내의 한 포인트(또는 픽셀)을 지나는 직선(또는 수직 직선(54)이라고도 함)을 선정할 수 있다. 또한, 객체 검출 시스템(100)은 객체 군집 내의 모든 포인트(또는 픽셀)를 대상으로 직선을 바꿔가면서 해당 후보 각도가 가질 수 있는 최대 절편(56) 및 최소 절편(55)을 찾을 수 있다. 또한, 객체 검출 시스템(100)은 최대 절편(56)을 갖는 제3 직선 및 최소 절편(55)을 갖는 제4 직선이 각각 박스의 평행하는 두 변인 것으로 결정할 수 있다.
도 5의 (c)를 참조하면, 객체 검출 시스템(100)은 각도 후보군에 포함된 각 후보 각도를 기초로 식별된 제1 내지 제4 직선의 교점을 후보 바운딩 박스의 꼭지점 포인트로 결정하여, 후보 바운딩 박스를 생성할 수 있다.
객체 검출 시스템(100)은 자유 공간 정보를 기초로 복수 개의 후보 바운딩 박스들 각각과 자유 공간 간의 중첩 영역의 넓이를 산출할 수 있다(240).
도 6을 참조하면, 객체 검출 시스템(100)은 자유 공간 정보를 기초로 자유 공간 포인트들 일부와 각 후보 바운딩 박스의 경계 일부로 이루어진 하나 이상의 다각형을 추출할 수 있다(2401).
예를 들어, 자유 공간 정보는, 미리 지정된 각도(또는 360도 회전하는 라이다(12)의 조사 각도라고도 함)별 자유 공간 포인트의 좌표 정보, 즉, 각 각도에 해당하는 자유 공간 포인트의 좌표 정보를 포함할 수 있다. 이에 따라, 자유 공간의 각 자유 공간 포인트는 라이다(12)의 조사 각도에 대응하는 위치에 생성된 것일 수 있다.
도 7을 참조하면, 좌표계 상에 도 7의 (a)와 같이 자유 공간 일부와 어느 하나의 후보 바운딩 박스(71)의 일부가 서로 오버랩되어 배치될 경우, 객체 검출 시스템(100)은 도 7의 (b)와 같이 자유 공간 포인트와 각 후보 바운딩 박스(71)의 경계로 이루어진 총 5개의 다각형(n-gon)(제1 다각형(72), 제2 다각형(73), 제3 다각형(74), 제4 다각형(75), 제5 다각형(76))을 추출할 수 있다.
객체 검출 시스템(100)은 하나 이상의 다각형 각각을 이루는 포인트 집합을 추출할 수 있다(2403).
도 8을 참조하면, 객체 검출 시스템(100)은, 도 8의 (a)와 같이, 좌표계의 원점과 자유 공간 포인트들을 잇는 각 직선과, 후보 바운딩 박스(71)가 교차하는 각 지점에 교차 포인트(또는 교점이라고도 함)를 생성할 수 있다.
예를 들어, 좌표계의 원점과 자유 공간 포인트들을 잇는 각 직선은, 자유 공간 포인트의 획득을 위한 라이다(12)의 각 조사 각도를 나타내는, 가상의 직선들에 포함된 직선일 수 있다.
객체 검출 시스템(100)은 도 8의 (a)와 같은 교점의 생성 이후, 각 지점에 생성된 교차 포인트와, 후보 바운딩 박스(71)의 내부에 위치하는 자유 공간 포인트들에 대한 군집화 동작을 수행할 수 있다.
예를 들어, 객체 검출 시스템(100)은, 각 지점에 생성된 교차 포인트와, 후보 바운딩 박스(71)의 내부에 위치하는 자유 공간 포인트들 중에서, 자유 공간의 연속된 각도(또는 자유 공간 포인트를 획득하기 위한 라이다(12)의 연속된 조사 각도라고도 함) 상에 위치하는 포인트들을 하나의 다각형의 포인트 집합으로 군집화시킬 수 있다. 다시 말해서, 객체 검출 시스템(100)은, 각 지점에 생성된 교차 포인트와, 후보 바운딩 박스(71)의 내부에 위치하는 자유 공간 포인트들 중에서, 미리 지정된 각도(또는 라이다(12)의 조사 각도에 대응되는 각도라고도 함) 간격 내에 위치하는 포인트들을 하나의 다각형의 포인트들로 결정할 수 있다.
예를 들어, 좌표계의 원점과 자유 공간 포인트들을 잇는 각 직선이, 자유 공간 포인트의 획득을 위한 라이다(12)의 각 조사 각도를 나타내는, 가상의 직선들에 포함된 직선일 경우, 도 8의 (a)를 참조하면, 교차 포인트를 갖는 직선들을 서로 인접한 직선들이 될 수 있다. 이러한 경우, 상기의 연속된 각도 상에 위치하여 하나의 다각형의 포인트 집합으로 군집화되는 포인트들은, 도 8의 (b)와 같이, 하나의 직선 상에 생성된 2개의 교차 포인트들과, 하나의 직선 상에 생성된 1개의 교차 포인트 및 상기 1개의 교차 포인트와 동일한 직선 상에 위치하는 하나의 자유 공간 포인트가 될 수 있다.
상술한 동작들에 따라, 객체 검출 시스템(100)은, 도 9와 같이, 제1 다각형(72)의 포인트들을 포함하는 포인트 집합, 제2 다각형(73)의 포인트들을 포함하는 포인트 집합, 제3 다각형(74)의 포인트들을 포함하는 포인트 집합, 제4 다각형(75)의 포인트들을 포함하는 포인트 집합 및 제5 다각형(76)의 포인트들을 포함하는 포인트 집합을 추출할 수 있다.
도 9를 참조하면, 각 다각형의 포인트 집합은, 상술한 동작들에 따라, 좌표계 상에 자유 공간 포인트들의 각 조사 각도를 나타내도록 생성된 가상의 직선들 중 서로 인접한 가상의 직선들 상에 위치하는, 교차 포인트들과 자유 공간 포인트들로 구성됨을 알 수 있다.
객체 검출 시스템(100)은 각 포인트 집합에 포함된 포인트들이 반 시계 방향으로 연결된 형태가 되도록 정렬할 수 있다(2405).
예를 들어, 도 10과 같이, 객체 검출 시스템(100)은 각 포인트 집합에 포함된 포인트들 중 어느 하나의 포인트에서부터 반시계 방향으로 순서를 나타내는 인덱스(예: 0, 1, … n-1)를 부여함으로써, 각 포인트 집합에 포함된 포인트들을 정렬할 수 있다.
객체 검출 시스템(100)은 하나 이상의 다각형 각각의 넓이를 산출하고, 하나 이상의 다각형 각각의 넓이를 모두 합산하여, 해당 객체와 자유 공간 간의 중첩 영역의 넓이를 산출할 수 있다(2407).
예를 들어, 하나 이상의 다각형 각각의 넓이는 다음의 수학식 1을 통해 산출될 수 있다.
[수학식 1]
(S: 다각형 넓이, n: 해당 다각형의 포인트들의 개수, xi: 인덱스 i의 포인트의 x좌표 값, xi+1: 인덱스 i+1의 포인트의 x좌표 값, yi: 인덱스 i의 포인트의 y좌표 값, yi+1: 인덱스 i+1의 포인트의 y좌표 값)
도 11을 참조하면, 객체 검출 시스템(100)에 의해 도 11과 같이 인덱스가 부여된 포인트들의 각 좌표 값을 기초로, 수학식 1을 통해 제1 내지 제 5 다각형(72, 73, 74, 75, 76)의 넓이를 산출할 수 있다. 제1 내지 제 5 다각형(72, 73, 74, 75, 76)의 산출된 넓이는 각각, 0.0496, 0.0522, 0.1378, 0.0439, 0.0113([단위: m2])이 될 수 있다. 또한, 객체 검출 시스템(100)은 산출된 넓이를 모두 합산한 결과 값인 0.2949를 해당 객체와 자유 공간 간의 중첩 영역의 넓이로 결정할 수 있다.
객체 검출 시스템(100)은 복수 개의 후보 바운딩 박스들 중 중첩 영역의 넓이가 최소인 후보 바운딩 박스를 검출 결과로 출력할 수 있다(250).
도 12를 참조하면, 복수 개의 후보 바운딩 박스들의 중첩 영역들이 제1 후보, 제2 후보 및 제3 후보와 같이 형성된 경우, 상술한 동작들에 따르면, 제3 후보의 중첩 영역의 넓이가 가장 작은 것으로 결정될 수 있다. 이에 따라, 객체 검출 시스템(100)은 제3 후보의 바운딩 박스를 검출 결과로 출력할 수 있다.
상술한 도 2의 실시예는, 종래의 객체 검출 결과의 보완 또는 검증 로직으로 활용할 수 있다.
도 13은 종래의 객체 검출 기술에서 차량의 실제 주행 가능 영역에 객체의 바운딩 박스가 생성되는 예를 나타낸 도면이다.
도 13을 참조하면, 종래의 객체 검출 시스템은 도 13의 (a)와 같은 포인트들(가드레일 포인트 및 수풀 포인트)을 획득한 경우, 도 13의 (b)와 같은 군집 박스를 생성할 수 있다.
종래의 객체 검출 시스템은, 포인트들과 후보 바운딩 박스 사이의 거리 코스트(또는 포인트 집합과 후보 바운딩 박스 사이의 거리 지표라고도 함)를 기초로, 객체의 최종 바운딩 박스를 결정하는 데, 군집에서 다수를 차지하는 수풀 포인트가 도 13의 (c)와 같은 후보 바운딩 박스일 때보다, 도 13의 (d)와 같은 후보 바운딩 박스일 때, 코스트가 낮게 출력됨을 알 수 있다. 이에 따라, 종래의 객체 검출 시스템은, 도 13의 (e)와 같이, 자유 공간과 객체의 포인트들이 배치된 상황에 따라, 도 13의 (c)가 최종 바운딩 박스로 결정되어야 하나, 실제로는 도 13의 (d)를 최종 바운딩 박스로 결정하여 출력하는 문제점이 있어왔다.
이와 같은 종래 기술의 문제점을 보완하기 위해, 본 개시의 실시예에 따른 객체 검출 시스템(100)은 종래 기술(예: 최소 코스트 기반 바운딩 박스 추출 기술)을 통해 차량(1)의 주변 객체에 대한 바운딩 박스를 추출하고, 추출한 바운딩 박스를 기초로 상술한 220, 230 및 240 동작을 수행하여, 자유 공간을 기초로한 객체와 자유 공간의 중첩 영역의 넓이를 산출할 수 있다.
객체 검출 시스템(100)은 종래 기술을 통해 추출된 바운딩 박스를 기초로 산출된 중첩 영역의 넓이가, 상술한 도 2의 실시예를 기초로 검출 결과로 출력된 바운딩 박스의 중첩 영역의 넓이 보다 큰 값일 경우, 종래 기술을 통해 추출된 바운딩 박스가 아닌 상술한 도 2의 실시예를 기초로한 검출 결과로 출력된 바운딩 박스를 최종 검출 결과, 즉, 최종 바운딩 박스로 출력할 수 있다.
도 14 및 도 15는 본 개시의 실시예의 적용 효과를 설명하기 위한 도면이다.
도 14를 참조하면, 차량(1)이 도 14의 (a)와 같이 도로 경계에 수풀이 있는 도로를 주행하는 경우, 도 14의 (b)와 같이, 종래의 객체 기반 객체 검출 기술에 의해 객체의 바운딩 박스(1401)가 생성되는 경우, 실제 차량(1)이 주행할 수 있는 도로의 영역 위에 생성되면서, 객체가 차량(1)의 주행 경로를 침범하고 있는 것으로 오인식되는 문제가 있어왔다. 반면, 상술한 본 개시의 실시예에 의한 객체 검출 기술에 의해 바운딩 박스(1403)가 생성되는 경우, 도 14의 (c)와 같이 자유 공간(1405)과 중첩되는 부분이 최소가 되는 바운딩 박스(1403)가 검출됨을 알 수 있다. 이에 따라, 본 개시의 실시예에 의한 객체 검출 기술은, 종래의 객체 검출 기술에 따라, 객체가 차량(1)의 주행 경로를 침범하는 것으로 오인식되는 문제를 해소할 수 있다.
도 15를 참조하면, 도 15의 (a)는 종래의 객체 기반 객체 검출 기술에 따라 생성된 바운딩 박스(1501)를 나타낸 것이고, 도 15의 (b)는 본 개시의 실시예에 따라 생성된 바운딩 박스(1503)를 나타낸 것이다. 도 15의 (b)를 참조하면, 도 15의 (a)의 종래의 객체 기반 객체 검출 기술은 자유 공간과 무관하게 바운딩 박스(1501)가 검출된 것인 반면, 본 개시의 실시예는 자유 공간(1505)과 중첩이 최소인 바운딩 박스(1503)를 검출함을 알 수 있다.
도 16은 종래의 객체 검출 기술과 본 개시의 실시예의 객체 검출 기술의 결과 비교를 나타낸 도면이다.
도 16을 참조하면, 종래에는 도 16의 (a)와 같이, 자유 공간을 침범하는 바운딩 박스로 인해, 자유 공간을 침범하는 바운딩 박스와 전방 차량의 바운딩 박스가 서로 오버랩(1601) 됨으로써, 트랙 어소시에이션의 오류가 발생되는 문제가 있어 왔다. 그러나, 상술한 본 개시의 실시예에 따르면, 도 16의 (b)와 같이, 바운딩 박스가 자유 공간을 침범하는 문제를 해결함으로써, 서로 다른 객체들의 바운딩 박스들이 서로 오버랩되는 문제를 해결할 수 있다.
상술한 실시 예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시 예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시 예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시 예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시 예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
Claims (18)
- 차량의 라이다를 통해 획득된 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며;
상기 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것을 포함하는,
객체 검출 방법. - 제 1항에 있어서,
상기 복수의 후보 바운딩 박스들을 생성하는 것은,
상기 포인트 클라우드 데이터를 기초로 상기 객체를 군집화하며,
상기 군집화의 결과를 기초로, 각도 후보군을 결정하며,
상기 각도 후보군의 각 후보 각도를 기울기로 하는 후보 바운딩 박스를 생성하는 것을 포함하는,
객체 검출 방법. - 제 2항에 있어서,
상기 각도 후보군을 결정하는 것은,
상기 객체의 컨투어 포인트들을 연결하는 세그먼트들 간의 각도, 미리 결정된 상기 객체의 헤딩 각도, 미리 지정된 기준 각도, 상기 차량의 요 레이트를 통해 산출된 상기 차량의 주행 곡률의 곡률 각도, 상기 포인트 클라우드 데이터의 통계 기반 방향각, 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최소 y좌표 포인트 간의 기울기 각도 또는 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최대 y좌표 포인트 간의 기울기 각도 중 적어도 하나를, 상기 각도 후보군의 각 후보 각도로 결정하는 것을 포함하는,
객체 검출 방법. - 제 1항에 있어서,
상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것은,
상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하여, 상기 복수의 후보 바운딩 박스들 중 상기 중첩 영역의 넓이가 최소인 상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 결정하는 것을 포함하는,
객체 검출 방법. - 제 4항에 있어서,
상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하는 것은,
상기 복수의 후보 바운딩 박스들 각각의 경계 및 상기 자유 공간의 포인트들을 기초로, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 적어도 일부를 나타내는 하나 이상의 다각형을 추출하며,
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이를 합산하여, 상기 복수의 후보 바운딩 박스들 각각의 중첩 영역의 넓이를 결정하는 것을 포함하는,
객체 검출 방법. - 제 5항에 있어서,
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이는,
상기 하나 이상의 다각형 각각을 이루는 포인트들의 좌표 값을 기초로 산출되는,
객체 검출 방법. - 제 5항에 있어서,
상기 하나 이상의 다각형을 추출하는 것은,
상기 복수의 후보 바운딩 박스들 중 제1 후보 바운딩 박스와, 좌표 공간의 원점과 상기 자유 공간의 포인트들 각각을 잇는 직선이, 교차하는 지점에, 교차 포인트들을 생성하며,
상기 교차 포인트들 및 상기 제1 후보 바운딩 박스의 내부에 위치하는 상기 자유 공간의 포인트들 중에서, 미리 지정된 각도 간격 내에 위치하는 포인트들을 상기 제1 후보 바운딩 박스의 하나의 다각형의 포인트들로 결정하는 것을 포함하는,
객체 검출 방법. - 제 7항에 있어서,
상기 미리 지정된 각도 간격은,
상기 자유 공간을 결정하기 위해 동작하는 상기 라이다의 조사 각도에 대응되는,
객체 검출 방법. - 라이다로부터 포인트 클라우드 데이터를 수신하는 인터페이스; 및
상기 인터페이스와 전기적으로 연결 또는 통신 연결되는 프로세서를 포함하고,
상기 프로세서는,
상기 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며,
차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 것을 포함하는,
객체 검출 시스템. - 제 9항에 있어서,
상기 프로세서는,
상기 포인트 클라우드 데이터를 기초로 상기 객체를 군집화하며,
상기 군집화의 결과를 기초로, 각도 후보군을 결정하며,
상기 각도 후보군의 각 후보 각도를 기울기로 하는 후보 바운딩 박스를 생성하는 것을 포함하는,
객체 검출 시스템. - 제 10항에 있어서,
상기 프로세서는,
상기 객체의 컨투어 포인트들을 연결하는 세그먼트들 간의 각도, 미리 결정된 상기 객체의 헤딩 각도, 미리 지정된 기준 각도, 상기 차량의 요 레이트를 통해 산출된 주행 곡률의 곡률 각도, 상기 포인트 클라우드 데이터의 통계 기반 방향각, 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최소 y좌표 포인트 간의 기울기 각도 또는 상기 객체의 컨투어 포인트들의 최소 x좌표 포인트와 최대 y좌표 포인트 간의 기울기 각도 중 적어도 하나를, 상기 각도 후보군의 각 후보 각도로 결정하는 것을 포함하는,
객체 검출 시스템. - 제 9항에 있어서,
상기 프로세서는,
상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 넓이를 산출하여, 상기 복수의 후보 바운딩 박스들 중 상기 중첩 영역의 넓이가 최소인 상기 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 결정하는 것을 포함하는,
객체 검출 시스템. - 제 12항에 있어서,
상기 프로세서는,
상기 복수의 후보 바운딩 박스들 각각의 경계 및 상기 자유 공간의 포인트들을 기초로, 상기 복수의 후보 바운딩 박스들 각각과 상기 자유 공간 간의 중첩 영역의 적어도 일부를 나타내는 하나 이상의 다각형을 추출하며,
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이를 합산하여, 상기 복수의 후보 바운딩 박스들 각각의 중첩 영역의 넓이를 결정하는 것을 포함하는,
객체 검출 시스템. - 제 13항에 있어서,
상기 복수의 후보 바운딩 박스들 각각에 대해 추출된, 상기 하나 이상의 다각형의 각 넓이는,
상기 하나 이상의 다각형 각각을 이루는 포인트들의 좌표 값을 기초로 산출되는,
객체 검출 시스템. - 제 14항에 있어서,
상기 프로세서는,
상기 복수의 후보 바운딩 박스들 중 제1 후보 바운딩 박스와, 좌표 공간의 원점과 상기 자유 공간의 포인트들 각각을 잇는 직선이, 교차하는 지점에, 교차 포인트들을 생성하며,
상기 교차 포인트들 및 상기 제1 후보 바운딩 박스의 내부에 위치하는 상기 자유 공간의 포인트들 중에서, 미리 지정된 각도 간격을 갖는 위치의 포인트들을 상기 제1 후보 바운딩 박스의 하나의 다각형의 포인트들로 결정하는 것을 포함하는,
객체 검출 시스템. - 제 15항에 있어서,
상기 미리 지정된 각도 간격은,
상기 자유 공간을 결정하기 위해 동작하는 상기 라이다의 조사 각도에 대응되는,
객체 검출 시스템. - 라이다;
상기 라이다를 통해 획득된 포인트 클라우드 데이터를 기초로 객체를 나타내는 복수의 후보 바운딩 박스들을 생성하며, 차량의 주행 가능한 자유 공간을 기초로, 상기 복수의 후보 바운딩 박스들 중 하나의 후보 바운딩 박스를 상기 객체를 나타내는 바운딩 박스로 출력하는 객체 검출 시스템을 포함하는,
차량. - 제 17항에 있어서,
상기 바운딩 박스를 기초로 상기 차량의 주행을 제어하는 차량 제어 장치를 더 포함하는,
차량.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220149325A KR20240068188A (ko) | 2022-11-10 | 2022-11-10 | 객체 검출 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220149325A KR20240068188A (ko) | 2022-11-10 | 2022-11-10 | 객체 검출 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240068188A true KR20240068188A (ko) | 2024-05-17 |
Family
ID=91331601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220149325A Pending KR20240068188A (ko) | 2022-11-10 | 2022-11-10 | 객체 검출 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240068188A (ko) |
-
2022
- 2022-11-10 KR KR1020220149325A patent/KR20240068188A/ko active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11486727B2 (en) | Map generation device, map generation method, and map generation computer program | |
EP3349041B1 (en) | Object detection system | |
US9563808B2 (en) | Target grouping techniques for object fusion | |
US10684372B2 (en) | Systems, devices, and methods for autonomous vehicle localization | |
US10860034B1 (en) | Barrier detection | |
CN111309013A (zh) | 一种碰撞距离确定方法及系统、车辆、存储介质 | |
CN110632617B (zh) | 一种激光雷达点云数据处理的方法及装置 | |
CN116830164A (zh) | LiDAR去相关对象检测系统与方法 | |
US11010927B2 (en) | Method and system for generating dynamic map information capable of providing environment information | |
CN116685874A (zh) | 摄像机-激光雷达融合对象检测系统和方法 | |
Liu et al. | Dynamic vehicle detection with sparse point clouds based on PE-CPD | |
KR102176834B1 (ko) | 자율주행차량의 환경특징 기반 위치인식 장치 및 방법 | |
US20230034574A1 (en) | Method for determining lane line recognition abnormal event, and lane line recognition apparatus and system | |
KR102316818B1 (ko) | 도로 네트워크를 갱신하는 방법 및 장치 | |
US12007503B2 (en) | Method and apparatus for rear cross collision warning | |
CN114509079A (zh) | 用于自主驾驶的地面投影的方法和系统 | |
US12280800B2 (en) | Method for driving in blind spot of sensor mounted on autonomous vehicle via communication with server and computing device using the same | |
López et al. | Computer vision in vehicle technology: Land, sea, and air | |
CN118405130B (zh) | 一种越野环境感知与跟踪引导车辆的方法、系统及介质 | |
CN114594759A (zh) | 船舶内河航运光达辨识系统及其运作方法 | |
KR20240068188A (ko) | 객체 검출 방법 및 시스템 | |
CN111684457A (zh) | 一种状态检测方法、装置及可移动平台 | |
US20230050013A1 (en) | Object detection method and object tracking device using lidar sensor | |
Mine et al. | Pedestrian detection for autonomous mobile robots using 3D LIDAR | |
KR20240062439A (ko) | 차선 검출 방법 및 이를 수행하는 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20221110 |
|
PG1501 | Laying open of application |