KR20220071112A - Method and apparatus for generating a map for autonomous driving and recognizing location - Google Patents
Method and apparatus for generating a map for autonomous driving and recognizing location Download PDFInfo
- Publication number
- KR20220071112A KR20220071112A KR1020210152332A KR20210152332A KR20220071112A KR 20220071112 A KR20220071112 A KR 20220071112A KR 1020210152332 A KR1020210152332 A KR 1020210152332A KR 20210152332 A KR20210152332 A KR 20210152332A KR 20220071112 A KR20220071112 A KR 20220071112A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- map data
- information
- node
- spherical distance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000011218 segmentation Effects 0.000 claims description 106
- 230000002194 synthesizing effect Effects 0.000 claims description 21
- 230000009466 transformation Effects 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 238000013523 data management Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000013144 data compression Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229910052704 radon Inorganic materials 0.000 description 1
- SYUHGPGVQRZVTB-UHFFFAOYSA-N radon atom Chemical compound [Rn] SYUHGPGVQRZVTB-UHFFFAOYSA-N 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
- Instructional Devices (AREA)
Abstract
Description
본 개시는 자율 주행에 관한 것으로, 더욱 상세하게 말하자면, 자율 주행을 위한 지도를 생성하고, 생성된 지도를 기반으로 위치를 인식하는 방법 및 장치에 관한 것이다. The present disclosure relates to autonomous driving, and more particularly, to a method and apparatus for generating a map for autonomous driving and recognizing a location based on the generated map.
자율 주행 차량의 운행을 위해서는 차량이 경로를 계획하고, 매순간의 주행방법(maneuver)을 결정하기 위해, 각 순간마다 정밀한 차량의 위치와 주변의 환경을 알아야 한다. 또한, 이를 위해서는 고정밀 지도와 이를 기반으로 하는 정확한 위치 인식 기술이 반드시 필요하다. In order for the autonomous vehicle to operate, the vehicle needs to know the precise location of the vehicle and the surrounding environment at each moment in order to plan a route and determine the driving method (maneuver) at every moment. In addition, for this, a high-precision map and an accurate location recognition technology based on the map are absolutely necessary.
기존의 관련 방법으로는 다음과 같은 것들이 있다. 첫번째, 차로 수준 정밀도로 선의 집합으로 생성된 고해상도 지도(high definition (HD) map) 사용하는 방법이 있다. 이는 차선 인식 및 지도 비교를 통해 위치를 인식하며, 지도 생성시, 주로 점 구름(point cloud) 지도를 사용하여 수작업으로 차로 수준의 지도 데이터를 생성한다. 이에 따라 환경에 대한 모델링이 정확하지 않을 가능성이 상대적으로 높은 문제가 있다. 두번째, 점 구름이라고 하는 3차원 좌표 집합 자체를 지도로 사용하는 방법이 있다. 이 방법에서 ICP(Iterative Closest Point) 방법과 NDT(Normal Distribution Transform) 방법이 주로 사용된다. 이러한 방법은 가장 높은 정밀도를 얻을 수 있으나, 초기값에 민감하며, 고속도로 등의 풍부한 3차원 특징이 없는 상황에서는 위치 인식이 실패할 가능성이 높다. 더욱이, 3차원 점 구름을 저장하기 위해서는 매우 큰 저장 공간이 요구되며, 각 점들을 탐색 및 처리하는데 많은 연산이 요구되는 문제가 있다. 세번째는, 노면 패턴의 강도(intensity)를 기반으로 하는 방법이 있다. 이 방법은 차량의 움직임 및 도로의 형상을 2차원으로 제한함으로써 언덕길 등에서 정확도 저하가 발생하며, 동일한 바닥패턴이 반복되는 구간에서 안정성이 저하될 수 있다. 마지막으로, 노면과 수직인 도로 주변의 패턴을 기반으로 하는 방법으로, RoadDNA라고도 한다. 이 방법은, 3차원 포인트 클라우드에 비하여 저장공간을 절약할 수 있으나, 높이 정보와 노면 정보가 없어 정밀도가 낮아질 수 있다.Existing related methods include the following. First, there is a method of using a high definition (HD) map generated as a set of lines with lane-level precision. It recognizes the location through lane recognition and map comparison, and when creating a map, it creates map data at the lane level manually using a point cloud map. Accordingly, there is a problem in that there is a relatively high possibility that modeling of the environment is not accurate. Second, there is a method of using the 3D coordinate set itself called a point cloud as a map. In this method, an Iterative Closest Point (ICP) method and a Normal Distribution Transform (NDT) method are mainly used. Although this method can obtain the highest precision, it is sensitive to the initial value, and there is a high possibility that the location recognition will fail in a situation where there are no rich 3D features such as a highway. Moreover, a very large storage space is required to store the 3D point cloud, and there is a problem that a lot of calculations are required to search and process each point. Third, there is a method based on the intensity of the road surface pattern. In this method, by limiting the movement of the vehicle and the shape of the road in two dimensions, the accuracy is deteriorated on a hill road, etc., and the stability may be deteriorated in the section where the same floor pattern is repeated. Finally, a method based on a pattern around the road perpendicular to the road surface, also called RoadDNA. This method can save storage space compared to the 3D point cloud, but the precision may be lowered because there is no height information and road surface information.
본 개시가 해결하고자 하는 과제는 하나의 영상으로 노면의 패턴, 도로 주변의 패턴 그리고 3차원 형상 정보를 형상화하여 지도 데이터를 생성하는 방법 및 장치를 제공하는 것이다. An object of the present disclosure is to provide a method and apparatus for generating map data by shaping a pattern of a road surface, a pattern around a road, and three-dimensional shape information with one image.
또한, 본 개시가 해결하고자 하는 과제는 보다 적은 데이터 저장 공간을 사용하는 3차원 고정밀 지도를 생성하는 방법 및 장치를 제공하는 것이다. Another object of the present disclosure is to provide a method and apparatus for generating a three-dimensional high-precision map using less data storage space.
또한, 본 개시가 해결하고자 하는 과제는 해당 지도를 이용하여 보다 정밀하게 위치를 인식하는 방법 및 장치를 제공하는 것이다. In addition, an object of the present disclosure is to provide a method and an apparatus for more precisely recognizing a location using a corresponding map.
본 개시의 일 실시 예에 따르면, 자율 주행을 위한 지도를 생성하는 방법이 제공된다. 상기 방법은, 3차원 공간에 대응하는 3차원 좌표 정보를 획득하는 단계; 상기 3차원 좌표 정보를 2차원 평면에 투영하여 구면 거리 영상을 획득하는 단계; 상기 구면 거리 영상에 대해 의미론적 분할을 수행하여 의미론적 분할 영상을 생성하는 단계; 및 상기 구면 거리 영상, 상기 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는 지도 데이터를 생성하는 단계를 포함한다. According to an embodiment of the present disclosure, a method for generating a map for autonomous driving is provided. The method may include: obtaining 3D coordinate information corresponding to a 3D space; obtaining a spherical distance image by projecting the three-dimensional coordinate information onto a two-dimensional plane; generating a semantic segmentation image by performing semantic segmentation on the spherical distance image; and generating map data including the spherical distance image, the semantic segmentation image, and attribute information of the lane.
일 구현 예에서, 상기 의미론적 분할 영상을 생성하는 단계는, 상기 구면 거리 영상에 대해 의미론적 분할을 수행하는 단계; 및 상기 의미론적 분할에 의해 획득된 영상에서 이동 물체를 제거하여, 도로 정보를 포함하는 상기 의미론적 분할 영상을 생성하는 단계를 포함할 수 있다. 이 경우, 상기 도로 정보는 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하는 분할 정보로 사용되며, 상기 차로의 속성 정보는 상기 의미론적 분할 영상에 포함된 상기 분할 정보를 이용하여 획득될 수 있다. In an embodiment, generating the semantic segmentation image may include: performing semantic segmentation on the spherical distance image; and removing a moving object from the image obtained by the semantic segmentation to generate the semantic segmentation image including road information. In this case, the road information is used as segmentation information including a pattern of a road surface, a road pattern, and a pattern around the road, and the attribute information of the road may be obtained using the segmentation information included in the semantic segmentation image. have.
일 구현 예에서, 지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며, 상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과일 수 있다. In one embodiment, the map has a graph-based structure, the map data is mapped for each node constituting the graph, the edge information between the nodes includes posture information, and the posture information is the spherical distance image of the spherical distance image. It may be a result of motion and posture estimation using the gradient or the gradient of the semantic segmented image.
일 구현 예에서, 상기 지도 데이터를 생성하는 단계는, 지도 데이터 생성 지점에 대응하는 노드의 지도 데이터를 생성한 상태에서, 상기 노드의 주변 노드의 지도 데이터를 획득하는 단계; 및 상기 노드의 지도 데이터와 상기 주변 노드의 지도 데이터를 합성하여 상기 노드에 대한 지도 데이터로 사용하는 단계를 포함할 수 있다. In one embodiment, the generating of the map data may include: acquiring map data of a neighboring node of the node in a state in which map data of a node corresponding to a map data generating point is generated; and synthesizing the map data of the node and the map data of the neighboring nodes, and using them as map data for the node.
일 구현 예에서, 상기 지도 데이터를 합성하여 상기 노드에 대한 지도 데이터로 사용하는 단계는, 상기 노드의 구면 거리 영상과 상기 주변 노드의 구면 거리 영상을 합성하는 단계; 상기 노드의 의미론적 분할 영상과 상기 주변 노드의 의미론적 분할 영상을 합성하는 단계; 상기 합성된 의미론적 분할 영상을 기반으로 차로의 속성 정보를 생성하는 단계; 및 상기 합성된 구면 거리 영상, 상기 합성된 의미론적 분할 영상 그리고 상기 차로의 속성 정보를 포함하는 데이터를 상기 노드에 대한 지도 데이터로 사용하는 단계를 포함할 수 있다. In an embodiment, the step of synthesizing the map data and using the map data as the map data for the node may include: synthesizing a spherical distance image of the node and a spherical distance image of the neighboring node; synthesizing the semantic segmented image of the node and the semantic segmented image of the neighboring node; generating vehicle attribute information based on the synthesized semantic segmentation image; and using data including the synthesized spherical distance image, the synthesized semantic segmentation image, and the lane attribute information as map data for the node.
일 구현 예에서, 상기 구면 거리 영상을 합성하는 단계는 각 화소별로 누적되는 값 중에서 중간 값을 선택하는 방식을 기반으로 합성된 구면 거리 영상을 획득할 수 있다. 이 경우, 상기 의미론적 분할 영상을 합성하는 단계는 각 화소별로 누적되는 값 중에서 가장 많은 분포를 가지는 값을 선택하는 방식을 기반으로 합성된 의미론적 분할 영상을 획득할 수 있다. In an embodiment, the synthesizing of the spherical distance image may include obtaining a synthesized spherical distance image based on a method of selecting an intermediate value from values accumulated for each pixel. In this case, the synthesizing of the semantic segmented image may acquire a synthesized semantic segmented image based on a method of selecting a value having the largest distribution among values accumulated for each pixel.
일 구현 예에서, 상기 구면 거리 영상의 합성과 상기 의미론적 분할 영상의 합성시, 상기 노드의 영상과 상기 주변 노드의 영상을 상기 노드를 기준으로 좌표 변환하고, 화소별로 상기 노드의 영상의 대응하는 화소의 값과 상기 주변 노드의 영상의 대응하는 화소의 값을 누적하여 저장하며, 화소별로 누적된 값들 중에서 하나를 선택하는 것에 의해, 2차원 영상 데이터를 획득하고, 상기 2차원 영상 데이터의 화소별로, 주변 화소의 값과 해당 화소의 값을 비교한 결과를 기반으로 해당 화소의 최종 값을 선택하는 방식으로, 상기 합성이 수행될 수 있다. In one embodiment, when the spherical distance image is synthesized and the semantic segmented image is synthesized, the image of the node and the image of the neighboring node are coordinate-converted based on the node, and corresponding to the image of the node for each pixel 2D image data is obtained by accumulating and storing the pixel value and the corresponding pixel value of the image of the neighboring node, and selecting one of the accumulated values for each pixel, and for each pixel of the 2D image data , a method of selecting a final value of a corresponding pixel based on a result of comparing a value of a neighboring pixel with a value of the corresponding pixel, the synthesis may be performed.
일 구현 예에서, 상기 방법은, 상기 지도 데이터를 압축하는 단계를 더 포함할 수 있다. 이 경우, 상기 압축하는 단계는 각 화소별로 상기 구면 거리 영상과 상기 의미론적 분할 영상을 하나의 영상으로 합쳐서 저장하며, 설정 비트로 이루어지는 화소에 대해, 상기 설정 비트 중 제1 비트에 상기 구면 거리 영상의 거리 정보를 위치시키고, 상기 설정 비트 중 제2 비트에 상기 의미론적 분할 영상의 분할 정보를 위치시킬 수 있다. In an embodiment, the method may further include compressing the map data. In this case, in the compressing step, the spherical distance image and the semantic segmented image are combined into one image for each pixel and stored. Distance information may be located, and segmentation information of the semantic segmented image may be located in a second bit of the set bits.
일 구현 예에서, 상기 압축하는 단계는, 상기 구면 거리 영상과 상기 의미론적 분할 영상을 압축하는 단계; 상기 압축된 구면 거리 영상의 거리 정보를 양자화하고, 상기 양자화된 거리 정보를 화소의 설정 비트 중 상위 비트에 위치시키는 단계; 및 상기 압축된 의미론적 분할 영상의 분할 정보를 양자화하고, 상기 양자화된 분할 정보를 화소의 설정 비트 중 하위 비트에 위치시키는 단계를 포함할 수 있다. In an embodiment, the compressing may include: compressing the spherical distance image and the semantic segmented image; quantizing the distance information of the compressed spherical distance image, and locating the quantized distance information in a higher bit among set bits of a pixel; and quantizing the segmentation information of the compressed semantic segmentation image, and locating the quantized segmentation information in a lower bit among set bits of a pixel.
일 구현 예에서, 상기 방법은 상기 지도 데이터를 등록하는 단계를 더 포함할 수 있다. 이 경우, 상기 등록하는 단계는, 상기 생성된 지도 데이터의 주변 좌표에 기존 지도 데이터가 없는 경우에 상기 생성된 지도 데이터를 신규 지도 데이터로 등록하는 단계; 및 상기 생성된 지도 데이터의 주변 좌표에 기존 지도 데이터가 있는 경우에, 상기 생성된 지도 데이터를 기반으로 상기 기존 지도 데이터를 업데이트하는 단계를 포함할 수 있다. In an embodiment, the method may further include registering the map data. In this case, the registering may include: registering the generated map data as new map data when there is no existing map data in the surrounding coordinates of the generated map data; and updating the existing map data based on the generated map data when there is existing map data in the peripheral coordinates of the generated map data.
일 구현 예에서, 상기 업데이트하는 단계는, 상기 생성된 지도 데이터를 시간 정보와 함께 추가 지도 데이터로 저장하는 동작을 반복 수행하는 단계; 및 상기 저장된 추가 지도 데이터를 비교하여 설정 시간 동안 서로 상이한 변경 사항이 유지되는 경우에, 상기 추가 지도 데이터를 기반으로 상기 기존 지도 데이터를 업데이트하는 단계를 포함할 수 있다. In an embodiment, the updating may include repeatedly performing an operation of storing the generated map data together with time information as additional map data; and comparing the stored additional map data and updating the existing map data based on the additional map data when different changes are maintained for a set time.
일 구현 예에서, 상기 방법은, 상기 지도를 구성하는 그래프를 최적화하는 단계를 더 포함할 수 있다. 상기 최적화하는 단계는 각 노드별로 GPS 데이터를 획득하는 경우 상기 GPS 데이터를 가지는 GPS 노드를 해당 노드에 연결시키고, 상기 그래프에서 루프 폐쇄가 검출되는 경우 대응하는 노드들을 서로 연결시키며, 자세 정보를 사용한 각 노드에 포함되어 있는 차로의 속성 정보를 결합할 수 있다. In an embodiment, the method may further include optimizing a graph constituting the map. In the optimizing step, when GPS data is obtained for each node, a GPS node having the GPS data is connected to the corresponding node, and when loop closure is detected in the graph, corresponding nodes are connected to each other, and each node using the posture information The attribute information of the lane included in the node can be combined.
본 개시의 다른 실시 예에 따르면, 자율 주행을 위한 지도를 기반으로 위치를 인식하는 방법이 제공된다. 상기 방법은, 현재 노드에서 센서로부터 입력되는 데이터를 기반으로 구면 거리 영상을 획득하고, 상기 구면 거리 영상으로부터 의미론적 분할 영상을 생성하는 단계; GPS 데이터 또는 이전 주행 경로를 기반으로 초기 위치를 획득하는 단계; 상기 초기 위치를 기반으로 상기 지도로부터 지도 데이터를 검색하는 단계; 및 상기 검색된 지도 데이터를 기반으로 현재 위치를 획득하는 단계를 포함하며, 상기 지도의 지도 데이터는 구면 거리 영상, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함한다. According to another embodiment of the present disclosure, a method for recognizing a location based on a map for autonomous driving is provided. The method includes: obtaining a spherical distance image based on data input from a sensor at a current node, and generating a semantic segmentation image from the spherical distance image; acquiring an initial location based on GPS data or a previous driving route; retrieving map data from the map based on the initial location; and obtaining a current location based on the searched map data, wherein the map data of the map includes a spherical distance image, a semantic segmentation image, and attribute information of a lane.
일 구현 예에서, 상기 지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며, 상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과일 수 있다. In one embodiment, the map has a graph-based structure, the map data is mapped for each node constituting the graph, the edge information between the nodes includes posture information, and the posture information includes the spherical distance image It may be a result of motion and posture estimation using the slope of , or the slope of the semantic segmented image.
일 구현 예에서, 상기 현재 위치를 획득하는 단계는, 상기 검색된 지도 데이터에 대한 현재 노드의 자세 정보를 추정하고, 상기 추정된 자세 정보와 상기 현재 노드의 움직임에 따른 자세 정보가 설정 조건을 만족하는 경우에, 상기 지도 데이터를 이용하여 상기 현재 위치를 획득하며, 상기 현재 노드에 GPS 데이터가 있는 경우에 상기 GPS 데이터를 추가적으로 이용하여 상기 현재 위치를 획득할 수 있다. In one embodiment, the obtaining of the current location includes estimating the posture information of the current node with respect to the searched map data, and the estimated posture information and the posture information according to the movement of the current node satisfy a setting condition. In this case, the current location may be obtained using the map data, and if the current node has GPS data, the current location may be obtained by additionally using the GPS data.
본 개시의 또 다른 실시 예에 따르면, 위치를 인식하는 장치가 제공된다. 상기 장치는, 인터페이스 장치; 및 상기 인터페이스 장치에 연결되어 위치 인식을 수행하도록 구성된 프로세서를 포함하며, 상기 프로세서는 상기 인터페이스 장치를 통해 입력되는 3차원 공간에 대응하는 3차원 좌표 정보를 2차원 평면에 투영하여 구면 거리 영상을 획득하는 동작; 상기 구면 거리 영상에 대해 의미론적 분할을 수행하여 의미론적 분할 영상을 생성하는 동작; GPS 데이터 또는 이전 주행 경로를 기반으로 초기 위치를 획득하는 동작; 상기 초기 위치를 기반으로 지도로부터 지도 데이터를 검색하는 동작; 및 상기 검색된 지도 데이터를 기반으로 현재 위치를 획득하는 동작을 수행하도록 구성되며, 상기 지도의 지도 데이터는 구면 거리 영상, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함한다. According to another embodiment of the present disclosure, an apparatus for recognizing a location is provided. The device may include: an interface device; and a processor connected to the interface device configured to perform location recognition, wherein the processor projects 3D coordinate information corresponding to a 3D space input through the interface device onto a 2D plane to obtain a spherical distance image action to do; generating a semantic segmented image by performing semantic segmentation on the spherical distance image; acquiring an initial location based on GPS data or a previous driving route; retrieving map data from a map based on the initial location; and acquiring a current location based on the searched map data, wherein the map data of the map includes a spherical distance image, a semantic segmentation image, and attribute information of a lane.
일 구현 예에서, 상기 지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며, 상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과일 수 있다. In one embodiment, the map has a graph-based structure, the map data is mapped for each node constituting the graph, the edge information between the nodes includes posture information, and the posture information includes the spherical distance image It may be a result of motion and posture estimation using the slope of , or the slope of the semantic segmented image.
일 구현 예에서, 상기 프로세서는 추가적으로, 상기 구면 거리 영상, 상기 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는 지도 데이터를 생성하는 동작을 수행하도록 구성되며, 상기 프로세서는, 상기 지도 데이터를 생성하는 동작 수행시, 지도 데이터 생성 지점에 대응하는 노드의 지도 데이터를 생성한 상태에서, 상기 노드의 주변 노드의 지도 데이터를 획득하는 동작; 상기 노드의 구면 거리 영상과 상기 주변 노드의 구면 거리 영상을 합성하는 동작; 상기 노드의 의미론적 분할 영상과 상기 주변 노드의 의미론적 분할 영상을 합성하는 동작; 상기 합성된 의미론적 분할 영상을 기반으로 차로의 속성 정보를 생성하는 동작; 및 상기 합성된 구면 거리 영상, 상기 합성된 의미론적 분할 영상 그리고 상기 차로의 속성 정보를 포함하는 데이터를 상기 노드에 대한 지도 데이터로 사용하는 동작을 수행하도록 구성될 수 있다. In an embodiment, the processor is further configured to generate map data including the spherical distance image, the semantic segmentation image, and the attribute information of the lane, and the processor is configured to: acquiring map data of nodes adjacent to the node in a state in which map data of a node corresponding to a map data generating point is generated when an operation is performed; synthesizing the spherical distance image of the node and the spherical distance image of the neighboring node; synthesizing the semantic segmented image of the node and the semantic segmented image of the neighboring node; generating vehicle attribute information based on the synthesized semantic segmentation image; and using data including the synthesized spherical distance image, the synthesized semantic segmentation image, and the attribute information of the lane as map data for the node.
일 구현 예에서, 상기 프로세서는 상기 의미론적 분할 영상을 생성하는 동작 수행시, 상기 구면 거리 영상에 대해 의미론적 분할을 수행하는 동작; 및 상기 의미론적 분할에 의해 획득된 영상에서 이동 물체를 제거하여, 도로 정보를 포함하는 상기 의미론적 분할 영상을 생성하는 동작을 수행하도록 구성될 수 있다. 이 경우, 상기 도로 정보는 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하는 분할 정보로 사용되며, 상기 차로의 속성 정보는 상기 의미론적 분할 영상에 포함된 상기 분할 정보를 이용하여 획득될 수 있다. In an embodiment, when the processor performs the operation of generating the semantic segmentation image, performing semantic segmentation on the spherical distance image; and removing a moving object from the image obtained by the semantic segmentation to generate the semantic segmentation image including road information. In this case, the road information is used as segmentation information including a pattern of a road surface, a road pattern, and a pattern around the road, and the attribute information of the road may be obtained using the segmentation information included in the semantic segmentation image. have.
일 구현 예에서, 상기 지도 데이터는 압축되어 저장 관리되며, 압축시, 각 화소별로 상기 구면 거리 영상과 상기 의미론적 분할 영상을 하나의 영상으로 합쳐서 저장하며, 설정 비트로 이루어지는 화소에 대해, 상기 설정 비트 중 제1 비트에 상기 구면 거리 영상의 거리 정보가 위치되고, 상기 설정 비트 중 제2 비트에 상기 의미론적 분할 영상의 분할 정보가 위치될 수 있다. In one embodiment, the map data is compressed and stored and managed, and when compressed, the spherical distance image and the semantic segmented image are combined into one image for each pixel and stored, and for a pixel composed of setting bits, the setting bit The distance information of the spherical distance image may be located in a first bit of the spherical distance image, and segmentation information of the semantic segmented image may be located in a second bit of the setting bits.
실시 예들에 따르면, 하나의 영상으로 노면의 패턴, 도로 주변의 패턴 그리고 3차원 형상 정보를 형상화하여 지도 데이터를 생성할 수 있으므로, 적은 데이터 저장 공간을 사용하여 자율 주행 등을 위한 3차원 고정밀 지도를 제공할 수 있다. 특히, 3차원 공간에 대응하는 3차원 좌표 정보에 대응하는, 구형 평면에 거리 정보 및 의미론적 분할 정보가 투영된 영상과 차로의 속성 정보를 포함하는 지도 데이터를 생성 및 제공할 수 있다. According to embodiments, since map data can be generated by shaping a pattern of a road surface, a pattern around a road, and 3D shape information with a single image, a 3D high-precision map for autonomous driving, etc., can be generated using a small data storage space. can provide In particular, it is possible to generate and provide map data including an image in which distance information and semantic division information are projected on a spherical plane, corresponding to 3D coordinate information corresponding to 3D space, and attribute information of a road.
또한, 형상 정보(구면 거리 영상), 패턴 정보(의미론적 분할 영상) 및 차로의 속성 정보를 하나의 지도 데이터로 생성하고, 이를 기반으로 차량 등의 위치를 용이하게 인식할 수 있으며, 자동으로 생성 및 갱신할 수 있다.In addition, shape information (spherical distance image), pattern information (semantic segmentation image), and lane attribute information are generated as one map data, and based on this, the location of a vehicle, etc. can be easily recognized and automatically generated and update.
또한, 지도 데이터를 그래프 기반의 노드별로 저장하므로, 생성 및 갱신 등의 관리가 유리하다.In addition, since map data is stored for each graph-based node, management of creation and update is advantageous.
도 1은 본 개시의 실시 예에 따른 3차원 지도를 나타낸 예시도이다.
도 2a 및 도 2b는 본 개시의 실시 예에 따른 노드의 지도 데이터를 나타낸 예시도이다.
도 3은 본 개시의 실시 예에 따른 자율 주행을 위한 지도를 생성하고 지도를 기반으로 위치를 인식하는 전체적인 과정을 나타낸 개념도이다.
도 4는 본 개시의 실시 예에 따른 구면 거리 영상을 획득하는 방법의 흐름도이다.
도 5는 본 개시의 실시 예에 따른 구좌표계를 나타낸 예시도이다.
도 6은 본 개시의 실시 예에 따른 구면 거리 영상을 나타낸 예시도이다.
도 7은 본 개시의 실시 예에 따른 의미론적 분할 영상을 획득하는 방법의 흐름도이다.
도 8은 본 개시의 실시 예에 따른 의미론적 분할 수행에 따른 결과를 나타낸 예시도이다.
도 9는 본 개시의 실시 예에 따른 움직임 및 자세 추정 방법의 흐름도이다.
도 10은 본 개시의 실시 예에 따른 위치 인식 방법의 흐름도이다.
도 11은 본 개시의 실시 예에 따른 자세 그래프를 나타낸 예시도이다.
도 12는 본 개시의 실시 예에 따른 지도 데이터 생성 방법의 흐름도이다.
도 13는 본 개시의 실시 예에 따른 지도 데이터 생성을 나타낸 예시도이다.
도 14는 본 개시의 실시 예에 따라 압축된 지도 데이터를 나타낸 예시도이다.
도 15는 본 개시의 실시 예에 따른 지도 데이터의 최적화를 나타낸 예시도이다.
도 16은 본 개시의 실시 예에 따른 위치 인식 장치의 구조를 나타낸 도이다.
도 17은 본 개시의 실시 예에 따른 지도 데이터 관리 장치의 구조를 나타낸 도이다.
도 18은 본 개시의 실시 예에 따른 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다. 1 is an exemplary diagram illustrating a three-dimensional map according to an embodiment of the present disclosure.
2A and 2B are exemplary diagrams illustrating map data of a node according to an embodiment of the present disclosure.
3 is a conceptual diagram illustrating an overall process of generating a map for autonomous driving and recognizing a location based on the map according to an embodiment of the present disclosure.
4 is a flowchart of a method of acquiring a spherical distance image according to an embodiment of the present disclosure.
5 is an exemplary diagram illustrating a spherical coordinate system according to an embodiment of the present disclosure.
6 is an exemplary view illustrating a spherical distance image according to an embodiment of the present disclosure.
7 is a flowchart of a method for obtaining a semantic segmented image according to an embodiment of the present disclosure.
8 is an exemplary diagram illustrating a result of performing semantic division according to an embodiment of the present disclosure.
9 is a flowchart of a motion and posture estimation method according to an embodiment of the present disclosure.
10 is a flowchart of a location recognition method according to an embodiment of the present disclosure.
11 is an exemplary diagram illustrating a posture graph according to an embodiment of the present disclosure.
12 is a flowchart of a method for generating map data according to an embodiment of the present disclosure.
13 is an exemplary diagram illustrating map data generation according to an embodiment of the present disclosure.
14 is an exemplary diagram illustrating compressed map data according to an embodiment of the present disclosure.
15 is an exemplary diagram illustrating optimization of map data according to an embodiment of the present disclosure.
16 is a diagram illustrating a structure of a location recognition apparatus according to an embodiment of the present disclosure.
17 is a diagram illustrating a structure of an apparatus for managing map data according to an embodiment of the present disclosure.
18 is a structural diagram illustrating a computing device for implementing a method according to an embodiment of the present disclosure.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described in the singular may be construed in the singular or plural unless an explicit expression such as “a” or “single” is used.
또한, 본 개시의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.In addition, terms including an ordinal number such as first, second, etc. used in an embodiment of the present disclosure may be used to describe the components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, 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.
이하, 도면을 참조하여 본 개시의 실시 예에 따른 자율 주행을 위한 지도를 생성하고 지도를 기반으로 위치를 인식하는 방법 및 장치에 대하여 설명한다. Hereinafter, a method and apparatus for generating a map for autonomous driving and recognizing a location based on the map according to an embodiment of the present disclosure will be described with reference to the drawings.
도 1은 본 개시의 실시 예에 따른 3차원 지도를 나타낸 예시도이다. 1 is an exemplary diagram illustrating a three-dimensional map according to an embodiment of the present disclosure.
본 개시의 실시 예에서, 자율 주행을 위해 획득되는 3차원 지도를 위한 지도 데이터는 도 1에 예시된 바와 같이, 노드(N) 기반의 그래프 구조로 이루어진다. 여기서는 노드 기반의 그래프 구조를 예를 들어, 포인트 클라우드(point cloud) 지도 위에 표현하였다. 그래프의 노드는 설정 간격마다 위치되며, 특히, 도 1에서와 같이, 교차로를 중심으로 설정 간격마다 생성될 수 있다. 각 노드 사이의 에지(edge) 정보는 노드 사이의 자세(pose) 정보이다. In an embodiment of the present disclosure, map data for a 3D map obtained for autonomous driving has a node (N)-based graph structure as illustrated in FIG. 1 . Here, the node-based graph structure is expressed on a point cloud map, for example. Nodes of the graph are located at set intervals, and in particular, as shown in FIG. 1 , they may be generated at set intervals around an intersection. The edge information between each node is pose information between the nodes.
도 1에 예시된 3차원 지도는 기존의 포인트 클라우드 지도이며, 3차원 형상을 표현하기 위해 수 많은 3차원 포인트들로 이루어진다. 경우에 따라, 포인트의 강도(intensity)와 같은 특징 정보가 각 포인트에 대한 정보에 포함될 수 있다. 이러한 포인트 클라우드 기반의 3차원 지도는 실제 환경을 세부적으로 묘사하여 정밀한 위치 인식이 가능하게 하지만, 데이터 크기가 매우 커서 저장, 관리 및 처리에 큰 어려움이 따른다. The three-dimensional map illustrated in FIG. 1 is an existing point cloud map, and consists of many three-dimensional points in order to express a three-dimensional shape. In some cases, characteristic information such as intensity of a point may be included in information about each point. These point cloud-based 3D maps enable precise location recognition by depicting the real environment in detail, but the data size is very large, so it is difficult to store, manage, and process it.
본 개시의 실시 예에서는 각 노드의 지도 데이터는 구형 평면에 거리 정보 및 의미론적 분할 정보가 투영된 영상과 차로의 속성 정보를 포함한다. In an embodiment of the present disclosure, the map data of each node includes an image in which distance information and semantic division information are projected on a spherical plane, and attribute information of a road.
도 2a 및 도 2b는 본 개시의 실시 예에 따른 노드의 지도 데이터를 나타낸 예시도이다. 2A and 2B are exemplary diagrams illustrating map data of a node according to an embodiment of the present disclosure.
하나의 노드를 중심으로 획득되는 영상과 차로 속정 정보를 형상화하면, 첨부한 도 2a에 예시되어 있는 바와 같다. 이러한 노드의 지도 데이터는 구면 거리 영상((spherical range image), 의미론적 분할(semantic segmentation) 영상, 그리고 차로의 속성 정보를 포함한다.If the image acquired around one node and the vehicle speed property information are shaped, it is as exemplified in FIG. 2A. The map data of such a node includes a spherical range image, a semantic segmentation image, and attribute information of a lane.
구면 거리 영상은 도 2b의 (a)에 예시된 바와 같이, 노드 주변의 3차원 포인트 대신에, 3차원 좌표 정보를 구형 평면에 투영하는 것에 의해 획득되는 영상이다. 이러한 구면 거리 영상은 거리 정보를 포함한다. 거리 정보는 예를 들어, 상이한 색상으로 표현될 수 있다. The spherical distance image is an image obtained by projecting three-dimensional coordinate information onto a spherical plane instead of a three-dimensional point around a node, as illustrated in (a) of FIG. 2B . This spherical distance image includes distance information. The distance information may be represented, for example, in different colors.
의미론적 분할 영상은 구면 거리 영상을 의미론적 분할하여 획득되는 영상이다. 영상에서 분할하는 대상은 이동 물체와 도로 정보이며, 이동 물체는 차량, 사람 등을 포함하며, 도로 정보는 도로, 차선, 노면 등을 포함한다. 구면 거리 영상을 의미론적 분할한 다음에 해당 영상에서 이동 물체를 제거하면, 도 2b의 (b)에 예시된 바와 같이, 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하는 영상 즉, 의미론적 분할 영상이 획득된다. 여기서, 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하여, 의미론적 분할 정보라고 통칭할 수 있다. A semantic segmentation image is an image obtained by semantically segmenting a spherical distance image. The object to be divided in the image is a moving object and road information, the moving object includes a vehicle and a person, and the road information includes a road, a lane, a road surface, and the like. If a moving object is removed from the spherical distance image after semantic segmentation, as illustrated in FIG. A segmented image is acquired. Here, including the pattern of the road surface, the road pattern, and the pattern around the road, it may be collectively referred to as semantic segmentation information.
본 개시의 실시 예에 따른 의미론적 분할 영상은 포인트의 강도 정보와는 달리, 적은 데이터로 텍스처(texture) 정보 및 의미 정보를 함께 표현할 수 있다.In the semantic segmentation image according to an embodiment of the present disclosure, texture information and semantic information may be expressed together with less data, unlike intensity information of a point.
차로의 속성 정보는 의미론적 분할 정보로부터 생성되는 차로의 속성을 나타내는 정보이다. 차로의 속성 정보는 의미론적 분할 정보로부터 획득되는 도로 정보와 차로에 관련된 다양한 부가 정보(예를 들어, 차선 제한 속도, 로드 마크, 등)를 이용하여 획득되며, 도 2b의 (c)에 예시된 바와 같이, 차선별로 제한 속도 등을 포함할 수 있다. The lane attribute information is information indicating the attribute of the lane generated from the semantic division information. The attribute information of the lane is obtained using road information obtained from semantic segmentation information and various additional information related to the lane (eg, lane limit speed, road mark, etc.), as illustrated in (c) of FIG. 2B As described above, the speed limit may be included for each lane.
차로의 속성 정보는 차선의 색상 정보로부터 획득되는 정보를 포함할 수 있다. 예를 들어, 카메라로부터 획득되는 영상에서 차선 분할 화소에 대응하는 각 화소의 색상 정보를 계산하여, 차선의 색상 정보를 획득하고, 차선의 색상 정보로부터 지도 생성에 필요한 추가적인 차로 속성을 획득할 수 있다. The attribute information of the lane may include information obtained from color information of the lane. For example, in an image obtained from a camera, color information of each pixel corresponding to a pixel dividing a lane is calculated to obtain color information of a lane, and additional lane properties necessary for map generation can be obtained from the color information of the lane. .
본 개시의 실시 예에서, 노드의 지도 데이터는 이러한 구면 거리 영상, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함한다. 특히, 3차원 정보를 2차원 영상으로 표현함으로써 저장되는 데이터 크기가 감소되며, 매우 빠른 연산이 가능할 뿐만 아니라, 3차원 형상으로의 복원도 용이하다. 지도 데이터는 각 노드 별로 상호 독립적이며, 이에 따라 데이터의 검색, 수정 및 관리가 용이하다. In an embodiment of the present disclosure, map data of a node includes such a spherical distance image, a semantic segmentation image, and attribute information of a lane. In particular, the size of stored data is reduced by expressing 3D information as a 2D image, and not only a very fast operation is possible, but also restoration into a 3D shape is easy. The map data is mutually independent for each node, so that it is easy to search, modify, and manage the data.
본 개시의 실시 예에서는 위와 같은 지도 데이터를 생성하고, 이를 기반으로 위치를 인식하며, 추가적으로 지도 데이터의 저장 및 최적화를 포함하는 데이터 관리를 수행한다. In an embodiment of the present disclosure, the above map data is generated, a location is recognized based on the map data, and data management including storage and optimization of the map data is additionally performed.
도 3은 본 개시의 실시 예에 따른 자율 주행을 위한 지도를 생성하고 지도를 기반으로 위치를 인식하는 전체적인 과정을 나타낸 개념도이다. 3 is a conceptual diagram illustrating an overall process of generating a map for autonomous driving and recognizing a location based on the map according to an embodiment of the present disclosure.
본 개시의 실시 예에 따른 과정은 전체적으로 도 3에서와 같이, 위치 인식 부분과 지도 관리 부분으로 크게 나눠져서 수행될 수 있다. 위치 인식 부분에서 센서 데이터를 사용하여 위치 인식 또는 새로운 지도 데이터를 생성한다. 지도 관리 부분에서 지도 데이터 처리 및 최적화가 수행된다. The process according to the embodiment of the present disclosure may be largely divided into a location recognition part and a map management part, as shown in FIG. 3 , and may be performed. The location recognition part uses sensor data to recognize location or create new map data. Map data processing and optimization are performed in the map management part.
구체적으로, 위치 인식 부분에서, 예를 들어, 차량이 주행하면서 실시간으로 위치 인식 수행 또는 새로운 지도 데이터 생성이 수행된다. 먼저, LiDAR 또는 카메라 등의 센서로부터 수집되는 3차원 정보를 2차원 평면에 투영한 구면 거리 영상(Spherical Range Image SRI)를 생성하고(S10), 구면 거리 영상에 대해 의미론적 분할을 수행하여 의미론적 분할 영상을 획득한다(S11). 그리고, 구면 거리 영상과 의미론적 분할 영상을 이용하여 차량의 움직임을 추정한다(S12). 이후, 차량의 이동 경로, 이미 생성되어 있는 지도 데이터, 그리고 GPS(global positioning system) 정보를 기반으로 차량의 위치를 획득하는 위치 인식을 수행한다(S13). Specifically, in the location recognition part, for example, location recognition is performed or new map data generation is performed in real time while the vehicle is driving. First, a spherical range image SRI is generated by projecting 3D information collected from a sensor such as LiDAR or a camera onto a 2D plane (S10), and semantic segmentation is performed on the spherical distance image to A divided image is acquired (S11). Then, the motion of the vehicle is estimated using the spherical distance image and the semantic segmentation image (S12). Thereafter, location recognition for acquiring the location of the vehicle is performed based on the moving path of the vehicle, map data that has already been created, and global positioning system (GPS) information (S13).
위치 인식시, 현재 위치에서 지도 데이터가 없거나 오차가 큰 경우 신규 지도 데이터를 생성한다(S14). 신규 지도 데이터는 또한, 차량이 설정 지역 예를 들어, 교차로를 지나갈 때마다 또는 차량이 주행하면서 설정 간격마다 생성될 수 있다. 이러한 지도 데이터는 위에 기술된 바와 같이, 구면 거리 영상과, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함한다. When recognizing a location, if there is no map data or a large error at the current location, new map data is generated (S14). New map data may also be generated each time the vehicle passes a set area, eg, an intersection, or at set intervals while the vehicle is driving. As described above, the map data includes a spherical distance image, a semantic segmentation image, and lane attribute information.
지도 관리 부분에서, 위치 인식 부분에서 신규로 생성되는 지도 데이터가 등록된다(S20). 신규 지도 데이터 등록시, 신규 지도 데이터와 기존 지도 데이터를 비교하여 신규 등록 처리를 수행하거나 기존 지도 데이터의 갱신 처리를 수행한다(S21). In the map management part, map data newly generated in the location recognition part is registered (S20). When registering new map data, a new registration process is performed by comparing the new map data with the existing map data, or an update process of the existing map data is performed (S21).
저장되는 지도 데이터의 정밀도를 향상하기 위해, 지도 데이터 내의 루프 폐쇄(loop closure)를 검출하고 자세 그래프 최적화를 수행하여(S22~S23), 각 노드의 정밀한 위치를 결정할 수 있다. In order to improve the precision of the stored map data, it is possible to detect a loop closure in the map data and perform posture graph optimization (S22 to S23) to determine the precise location of each node.
그리고, 각 노드에 포함된 차로의 속성 정보는 최적화된 노드의 위치 정보를 사용하여 업데이트될 수 있다(S24). 즉, 최적화된 노도의 위치와 위치를 상호 결합하여 차로 수준의 고해상도 지도 데이터를 갱신한다.And, the attribute information of the lane included in each node may be updated using the optimized node location information (S24). That is, the high-resolution map data at the level of the road is updated by combining the optimized roadway location and location.
이러한 지도 관리 부분의 과정은 비실시간으로 수행될 수 있다. 또한, 여러 차량에게 지도 데이터를 제공하고 지도 데이터를 수집하기 위해서, 별도의 서버에서 수행되는 것으로 설계될 수 있다. The process of this map management part can be performed in non-real time. In addition, in order to provide map data to several vehicles and collect map data, it may be designed to be performed on a separate server.
여기서는 차량의 위치를 인식하는 것을 예로 들어 설명하지만, 반드시 차량의 위치를 인식하는 것에 한정되는 것은 아니다. Here, a description will be given of recognizing the location of the vehicle as an example, but it is not necessarily limited to recognizing the location of the vehicle.
다음에는 위에 기술된 바와 같은 각 과정의 구체적인 방법에 대해서 설명한다. Next, a specific method of each process as described above will be described.
먼저, 구면 거리 영상을 획득하는 방법에 대해 설명한다. First, a method of acquiring a spherical distance image will be described.
도 4는 본 개시의 실시 예에 따른 구면 거리 영상을 획득하는 방법의 흐름도이다. 4 is a flowchart of a method of acquiring a spherical distance image according to an embodiment of the present disclosure.
본 개시의 실시 예에서, 3차원 공간 정보에 대응하는 3차원 좌표 정보를 2차원 평면에 투영하여 구면 거리 영상을 획득한다. 특히, 본 개시의 실시 예에서는 차량 주변의 모든 방향에 대한 데이터 투영이 가능하도록, 3차원 좌표 정보를 구좌표계(Spherical coordinate system)를 사용하여 2차원 표면에 투영한다. 3차원 좌표 정보는 라이다(LiDAR) 또는 스테레오 카메라(stereo camera) 등의 3차원 공간 정보 취득이 가능한 센서로부터 수집될 수 있으며, 3차원 포인트 클라우드라고도 명명된다. In an embodiment of the present disclosure, a spherical distance image is obtained by projecting 3D coordinate information corresponding to 3D spatial information onto a 2D plane. In particular, in an embodiment of the present disclosure, 3D coordinate information is projected onto a 2D surface using a spherical coordinate system so that data projection in all directions around the vehicle is possible. The 3D coordinate information may be collected from a sensor capable of acquiring 3D spatial information, such as a LiDAR or a stereo camera, and is also called a 3D point cloud.
이를 위해, 3차원 좌표 정보를 획득하고(S100), 3차원 좌표 정보를 구좌표계로 변환한다(S110).To this end, three-dimensional coordinate information is obtained (S100), and the three-dimensional coordinate information is converted into a spherical coordinate system (S110).
도 5는 본 개시의 실시 예에 따른 구좌표계를 나타낸 예시도이다. 5 is an exemplary diagram illustrating a spherical coordinate system according to an embodiment of the present disclosure.
도 5의 구좌표계를 기반으로, 직교 좌표(cartesian coordinate)상의 한 점 가 구좌표계 상의 한 점 으로 변환될 수 있으며(도 5의 (a) 참조), 이를 수식으로 나타내면 다음과 같다. Based on the spherical coordinate system of FIG. 5, a point on the Cartesian coordinates is a point in the spherical coordinate system can be converted to (see Fig. 5 (a)), and expressed as a formula as follows.
여기서, 은 거리(range or radial distance)를 나타내고, 는 방위각(azimuth)을 나타내며, 그리고 는 고도(altitude)를 나타낸다. 구 좌표계 상의 점을 2차원 표면에 투영한다(S120). 즉, 구 좌표계상의 한 점 m을 다음 수식을 사용하여 2차원 좌표계의 한 좌표(영상 좌표라고도 명명됨)로 변환한다. here, represents the range or radial distance, represents the azimuth, and is the altitude. A point on the spherical coordinate system is projected on a two-dimensional surface (S120). That is, a point m on the spherical coordinate system is converted into one coordinate (also called image coordinate) of a two-dimensional coordinate system using the following equation.
위의 수학식 2를 통해, 구 좌표계상의 한 점 m이 값을 가지는 영상 좌표 로 변환된다(도 5의 (b) 참조). Through
여기서 , 는 각도와 화소 사이의 변환 비례 상수를 나타내며, 연산의 편의를 위해 로 정의될 수 있다. 본 개시의 실시 예에서는, 세로축의 좌표 를 구하기 위해 가 아닌 를 변수로 사용하는 것에 유의한다. 이에 따라, 위의 좌표 변환을 위한 수식(수학식 2)을 간략화할 수 있으며, 또한 가 큰 값의 해상도가 낮아지는 특성을 가진다. 이는 가까이 있는 바닥면이나 높은 건물 등 상대적으로 비중이 낮은 부분의 데이터를 축소하고 영상 데이터의 크기를 줄이는 역할을 한다. here , represents the conversion proportional constant between the angle and the pixel, for convenience of operation can be defined as In an embodiment of the present disclosure, the coordinates of the vertical axis to save not Note the use of as a variable. Accordingly, the formula (Equation 2) for the above coordinate transformation can be simplified, and also It has a characteristic that the resolution of a large value decreases. This reduces the data of relatively low proportions, such as a nearby floor or a tall building, and reduces the size of the image data.
이와 같이, 3차원 포인트 클라우드(3차원 좌표 정보)의 각 점을 위에 기술된 바와 같이 수학식 1 및 수학식 2를 통해 2차원 표면으로 투영시켜 구면 거리 영상을 생성한다(S130). As described above, each point of the three-dimensional point cloud (three-dimensional coordinate information) is projected onto a two-dimensional surface through
한편, 구면 거리 영상으로부터 3차원 좌표 정보로의 복원은 다음 역변환식으로부터 간단히 수행될 수 있다. Meanwhile, the restoration from the spherical distance image to the 3D coordinate information can be simply performed from the following inverse transformation equation.
여기서, 변수 및 는 수학식 2로부터, , 로 정의되며, 이때, 화소 단위로 미리 계산된 테이블을 사용할 수 있다. Here, the variable and is from
도 6은 본 개시의 실시 예에 따른 구면 거리 영상을 나타낸 예시도이다. 6 is an exemplary view illustrating a spherical distance image according to an embodiment of the present disclosure.
도 6의 (a)는 구면 거리 영상을 거리에 따라 표현한 영상이며, 여기서 거리에 따라 상이한 색상이 표시될 수 있다. 도 6의 (b)는 및 (c)는 구면 거리 영상에 대응하는 텍스처(texture)를 나타낸다. 구체적으로, 도 6의 (b)는 구면 거리 영상에 대응하는 라이다 센서의 반사되는 신호에 따른 강도(intensity)를 나타낸다. 도 6의 (c)는 구면 거리 영상에 대응하는 카메라 영상(예: 밝기)을 나타낸다. 6A is an image in which a spherical distance image is expressed according to a distance, where different colors may be displayed according to a distance. 6 (b) and (c) show textures corresponding to spherical distance images. Specifically, (b) of FIG. 6 shows the intensity according to the signal reflected from the lidar sensor corresponding to the spherical distance image. 6C shows a camera image (eg, brightness) corresponding to a spherical distance image.
이와 같이, 구면 거리 영상으로부터 거리 정보와 함께 강도, 밝기 등의 텍스처 정보를 함께 획득할 수 있다. 텍스처 정보는 기상, 조도 등의 영향에 따라 세기가 변화하고 더 많은 저장 공간이 필요한 약점을 갖는다.In this way, texture information such as intensity and brightness may be acquired together with distance information from the spherical distance image. Texture information has a weakness in that the intensity changes according to the influence of weather, illuminance, and the like and requires more storage space.
본 개시의 실시 예에서는 구면 거리 영상으로부터 획득되는 텍스처 정보 대신에, 의미론적 분할 정보를 사용한다. In an embodiment of the present disclosure, semantic segmentation information is used instead of texture information obtained from a spherical distance image.
다음에는 의미론적 분할 영상을 획득하는 방법에 대해 설명한다. Next, a method for acquiring a semantic segmented image will be described.
도 7은 본 개시의 실시 예에 따른 의미론적 분할 영상을 획득하는 방법의 흐름도이다. 7 is a flowchart of a method for obtaining a semantic segmented image according to an embodiment of the present disclosure.
본 개시의 실시 예에서, 의미론적 분할은 영상에서 각 화소를 그것이 의미하는 정보의 단위로 분할하는 것이다. 영상의 밝기 정보가 몇 개의 대표적 의미 단위로 분할된다. 이에 따라 환경 변화에 강인하며, 매우 적은 데이터로 저장이 가능하다. In an embodiment of the present disclosure, semantic division is dividing each pixel in an image into units of information that it means. The brightness information of an image is divided into several representative semantic units. Accordingly, it is robust to environmental changes and can be stored with very little data.
첨부한 도 7에서와 같이, 구면 거리 영상 및 이에 대응하는 텍스처 영상(예를 들어, 도 6의 (b)의 강도 영상)을 입력으로 사용한다(S200). 이러한 입력된 영상들을 이용하여 의미론적 분할을 수행한다(S210). 의미론적 분할 수행시, 심층 신경망(deep neural network)을 사용할 수 있다. As shown in the attached FIG. 7 , a spherical distance image and a texture image corresponding thereto (eg, the intensity image of FIG. 6B ) are used as input ( S200 ). Semantic segmentation is performed using these input images (S210). When performing semantic segmentation, a deep neural network may be used.
영상에서의 각 화소를 그것이 의미하는 정보의 단위 예를 들어, 이동 물체 정보 및 도로 정보로 분류하여, 의미론적 분할 영상을 획득한다(S220). 여기서, 이동 물체 정보는 차량, 보행자 같은 이동 물체를 나타내며, 도로 정보는 도로, 차선, 노면 표시 등을 나타낸다. 이동 물체 정보는 자율 주행시 장애물 처리에 활용되며, 그 외의 도로 정보는 텍스처 정보로 활용된다. Each pixel in the image is classified into units of information that it means, for example, moving object information and road information, to obtain a semantic segmented image (S220). Here, the moving object information indicates a moving object such as a vehicle or a pedestrian, and the road information indicates a road, a lane, a road surface display, and the like. Moving object information is used for obstacle processing during autonomous driving, and other road information is used as texture information.
그리고, 단계(S220)에서 획득된 영상에서 이동 물체를 제거하여 최종적인 의미론적 분할 영상을 획득한다(S230).Then, the final semantic segmentation image is obtained by removing the moving object from the image obtained in step S220 (S230).
도 8은 본 개시의 실시 예에 따른 의미론적 분할 수행에 따른 결과를 나타낸 예시도이다. 8 is an exemplary diagram illustrating a result of performing semantic division according to an embodiment of the present disclosure.
도 8의 (a)는 구면 거리 영상을 나타내며, 거리 정보에 따라 상이한 색상으로 표시되는 컬러 영상일 수 있다. 도 8의 (b)는 구면 거리 영상에 대응하는 라이다 센서의 반사되는 신호에 따른 강도(intensity) 영상 즉, 텍스처 영상을 나타낸다. 도 8의 (c)는 구면 거리 영상과 텍스처 영상을 입력으로 하면서 심층 신경망을 사용하여 의미론적 분할을 수행한 결과 영상을 나타낸다. 도 8의 (d)는 도 8의 (c)의 결과 영상에서 이동 물체(차량, 보행자 등)를 제거한 영상을 나타낸다. 여기서, 도로 정보만이 남게 되며, 이는 노면의 패턴, 도로 패턴, 도로 주변의 패턴의 정보로 사용될 수 있다. 8A shows a spherical distance image, and may be a color image displayed in different colors according to distance information. 8B shows an intensity image, ie, a texture image, according to a signal reflected from the lidar sensor corresponding to the spherical distance image. FIG. 8(c) shows an image as a result of performing semantic segmentation using a deep neural network with a spherical distance image and a texture image as inputs. FIG. 8(d) shows an image in which a moving object (vehicle, pedestrian, etc.) is removed from the result image of FIG. 8(c). Here, only road information remains, and this may be used as information on the pattern of the road surface, the road pattern, and the pattern around the road.
이러한 지도 데이터를 기반으로 차량 등의 위치 인식이 수행된다. Location recognition of vehicles, etc. is performed based on such map data.
먼저, 위치 인식을 위해, 움직임 및 자세 추정을 수행하는 방법에 대해 설명한다. First, a method of performing motion and posture estimation for position recognition will be described.
도 9는 본 개시의 실시 예에 따른 움직임 및 자세 추정 방법의 흐름도이다. 9 is a flowchart of a motion and posture estimation method according to an embodiment of the present disclosure.
본 개시의 실시 예에서는 구면 거리 영상/의미론적 분할 영상을 이용하여 위치 인식을 수행한다. In an embodiment of the present disclosure, location recognition is performed using a spherical distance image/semantic segmentation image.
지도를 생성하거나 위치를 인식하기 위한 중요한 요소는 차량의 움직이는 경로를 추정하는 움직임 추정(motion estimation)과 지도상의 랜드마크(landmark)로부터 차량의 자세를 추정(pose estimation) 하는 것이다. 연속된 시간에서 수집된 센서 데이터 사이에 발행하는 기하적 변화량을 추정하는 것을 움직임 추정이라고 한다. 서로 다른 센서 또는 서로 다른 시점에서 수집된 변화량을 추정하는 것을 자세 추정이라고 한다. 움직임 추정 및 자세 추정을 위해, 센서 사이의 변환된 거리 및 화전한 각도에 대한 파라미터를 추정(parameter estimation)하는 동일한 문제를 해결해야 한다.An important factor for generating a map or recognizing a location is motion estimation for estimating a moving path of a vehicle and estimating a vehicle's pose from landmarks on the map. Estimating the amount of geometric change that occurs between sensor data collected at continuous time is called motion estimation. Estimating the amount of change collected from different sensors or at different time points is called posture estimation. For motion estimation and posture estimation, it is necessary to solve the same problem of estimating parameters for the converted distance and angle between sensors.
본 개시의 실시 예에서는 구면 거리 영상을 사용하여 단일한 방법으로 자가 움직임 추정 및 지도 데이터 상의 자세를 추정하는 방법을 제공한다. An embodiment of the present disclosure provides a method of estimating self-motion estimation and posture on map data using a single method using a spherical distance image.
구체적으로, 구면 거리 영상(또는 의미론적 분할 영상)을 이용하여 자가 움직임 추정(ego-motion estimation) 및 자세 추정을 수행한다. 자가 움직임 추정을 위해, 이전 프레임과 현재 프레임 사이의 영상 변화로부터 얻어지는 움직임을 추정하며, 이를 위해 최적 파라미터를 구하는 방법이 사용될 수 있다. Specifically, ego-motion estimation and posture estimation are performed using a spherical distance image (or a semantic segmented image). For self-motion estimation, a method of estimating a motion obtained from an image change between a previous frame and a current frame, and obtaining an optimal parameter for this purpose may be used.
자가 움직임 추정 및 지도 데이터 상의 자세 추정을 위해, 본 개시의 실시 예에서 추정해야 할 파라미터 는 3차원 공간 상의 이동() 및 회전()이며, 총 6개의 파라미터를 갖는 벡터이다. 설명의 편의상, 추정해야 할 파라미터는 변위에 대한 파라미터라고 명명할 수 있다. For self-motion estimation and posture estimation on map data, parameters to be estimated in an embodiment of the present disclosure is the movement in three-dimensional space ( ) and rotation ( ) and is a vector with a total of 6 parameters. For convenience of description, a parameter to be estimated may be referred to as a parameter for displacement.
예를 들어, 제1 영상(예: 이전 프레임)의 데이터 가 제2 영상(예: 현재 프레임)의 에 대응(correspondence)된다고 하면, 이는 변환 함수 를 사용하여 로 표현할 수 있고, 두 대응 사이의 잔차(residual)는 다음 수식으로 정의될 수 있다.For example, data of the first image (eg, previous frame) of the second image (eg, the current frame) Assuming that it corresponds to , it is a transform function use with It can be expressed as , and the residual between the two correspondences can be defined by the following equation.
이 잔차의 제곱의 합이 최소가 되게 하는 파라미터 값을 구하는 것을 최소자승법(least square minimization)이라고 하며, 이를 수식으로 나타내면 다음과 같다. Finding a parameter value that minimizes the sum of the squares of the residuals is called least squares minimization, and it is expressed as an equation as follows.
이 식의 해를 구하기 위한 다양한 방법이 사용될 수 있다. 본 개시의 실시 예에서는 수렴이 빠르고 잡음에 강인한 M-estimation 방법을 사용하지만, 반드시 이에 한정되는 것은 아니다. M-estimation방법에서, 잡음을 효과적으로 처리하기 위하여 다음과 같이 손실 함수(loss function) 를 사용하여 잔차를 처리한다.Various methods can be used to solve this equation. In the exemplary embodiment of the present disclosure, an M-estimation method having fast convergence and robust noise is used, but the present disclosure is not limited thereto. In the M-estimation method, in order to effectively process the noise, the loss function is to handle the residuals.
파라미터의 추정은 다음 수식을 사용하여 오차가 수렴할 때까지 파라미터의 변화량을 갱신하는 것을 반복하는 것에 의해 이루어진다.Estimation of the parameter is the amount of change of the parameter until the error converges using the following equation This is done by repeating updating
여기서, 는 변환 함수 의 자코비안(Jacobian) 행렬이며, 는 손실 함수의 미분과 잔차의 곱인 로 정의되는 가중치(weight) 행렬이다. 연산자 는 유클리드 공간(Euclidean space)에 대한 정규 합(normal addition) 연산을 나타내며, 지수 사상(exponential map)을 사용하여 계산된다. 손실 함수로는 Huber, Tukey, t-distribution 등이 있으며, 추정 오차가 커지는 영역의 값을 감쇄하는 기능을 한다. here, is the transform function is the Jacobian matrix of is the product of the derivative and residual of the loss function It is a weight matrix defined by . Operator represents a normal addition operation on a Euclidean space, and is calculated using an exponential map. The loss functions include Huber, Tukey, and t-distribution, and they function to attenuate the value in the region where the estimation error increases.
이와 같이, 본 개시의 실시 예에 따르면 필요한 파라미터 추정은 구면 거리 영상의 변환 함수 및 자코비안을 구하는 것을 통해 해결된다. As described above, according to an embodiment of the present disclosure, a necessary parameter estimation is solved by obtaining a transform function and a Jacobian of a spherical distance image.
구면 거리 영상의 각 화소의 값을 라고 하며, 변환 함수의 자코비안 행렬는 체인 룰(chain rule)로 인해 다음과 같이 분해된다.The value of each pixel of the spherical distance image , and the Jacobian matrix of the transform function is decomposed as follows due to the chain rule.
위의 수학식 8에서, 첫 번째 항 은 구면 거리 영상의 기울기(gradient)를 나타낸다. 두 번째 항은 수학식 (2)의 편미분이며, 다음과 같이 구해진다.In Equation 8 above, the first term denotes the gradient of the spherical distance image. The second term is the partial derivative of Equation (2), and is obtained as follows.
여기서, 그리고 이다. 수학식 8에서, 마지막 항은 파라미터 를 탄젠트 공간(tangent space)의 Lie algebra로 정의하였을 때 다음과 같이 정의된다.here, and to be. In Equation 8, the last term is a parameter When is defined as Lie algebra in tangent space, it is defined as follows.
위의 과정을 통해, 다음과 같이 비교적 간단한 형태의 최종 자코비안 행렬을 획득할 수 있다.Through the above process, it is possible to obtain the final Jacobian matrix in a relatively simple form as follows.
이렇게 자코비안 행렬을 구하면, 위의 수학식 (4), 수학식 (7) 및 수학식(11)을 사용하여 변위에 대한 파라미터를 계산할 수 있다. 한편, 이러한 본 개시의 실시 예에서, 각 화소의 값 로 거리 정보뿐만 아니라, 의미론적 분할 영상을 사용할 수 있다. 수학식 11에서의 첫 번째 항 을 구면 거리 영상의 기울기 대신에, 의미론적 분할 영상의 기울기로 대체할 수 있다. When the Jacobian matrix is obtained in this way, a parameter for displacement can be calculated using Equations (4), (7), and (11) above. On the other hand, in this embodiment of the present disclosure, the value of each pixel As such, not only distance information, but also semantic segmentation images can be used. The first term in
의미론적 분할 영상 사용시, 별도의 처리가 수행될 수 있다. 의미론적 분할 영상은 각 화소에 대한 대표값을 갖는데, 영상 처리를 위해 적절한 값으로 치환하는 것이 필요하다. 분할 결과의 정밀도를 분석하여 이에 비례하는 값으로 치환하는 것이 정밀도 향상에 도움이 된다. 연산 속도 및 강인성(robustness) 향상을 위해 모든 화소의 값을 계산하는 것 보다는 중요한 화소 만을 선택하는 것이 바람직하다. 먼저 의미론적 분할 결과로부터 이동 물체에 대한 화소는 제거한다. 다음으로 영상의 기울기가 특정 임계치(threshold) 이상인 값을 선택하는데, 가로수의 잎사귀와 같이 높은 공간 주파수를 갖는 화소는 제외한다. 본 개시의 실시 예에서, 3차원 좌표를 처리하기 위한 팔진트리(octree)등의 기법이 필요 없어, 매우 고속으로 데이터 처리가 가능하여 최신의 CPU에서 5ms의 이내의 연산시간에서 0.6% 이하의 파라미터 추정 오차를 기대할 수 있는 매우 효율적인 방법이다.When a semantic segmented image is used, separate processing may be performed. The semantic segmented image has a representative value for each pixel, and it is necessary to substitute an appropriate value for image processing. It is helpful to improve the precision by analyzing the precision of the division result and replacing it with a value proportional to it. In order to improve operation speed and robustness, it is preferable to select only important pixels rather than calculating the values of all pixels. First, pixels for a moving object are removed from the semantic segmentation result. Next, a value with an image slope greater than or equal to a certain threshold is selected, but pixels having a high spatial frequency, such as the leaves of a street tree, are excluded. In an embodiment of the present disclosure, there is no need for a technique such as an octree for processing three-dimensional coordinates, and data processing is possible at very high speed, so parameters of 0.6% or less in operation time of 5 ms or less in the latest CPU It is a very efficient method that can expect estimation error.
위에 기술된 바와 같이, 본 개시의 실시 예에 따라, 도 9를 참조하면, 구면 거리 영상 또는 의미론적 분할 영상의 기울기를 획득한다(S300). 그리고 이러한 기울기를 이용하여 자코비안 행렬을 구하고(S310), 자코비안 행렬을 이용하여 위에 기술된 수식(수학식 (4), 수학식 (7) 및 수학식(11))을 기반으로 제1 영상(예: 이전 구면 거리 영상)과 제2 영상(예: 현재 구면 거리 영상) 사이의 잔차가 최소화되도록 하는 파라미터를 추정하여, 3차원 공간 상의 이동 및 회전에 따른 움직임 및 자세를 추정한다(S320). 이러한 추정 과정을 통해 획득된 움직임 및 자세 추정 결과를 설명의 편의상, 자세 정보라고 명명한다. 이후, 자세 정보를 이용하여 위치 인식이 이루어진다. As described above, according to an embodiment of the present disclosure, referring to FIG. 9 , a slope of a spherical distance image or a semantic segmented image is obtained ( S300 ). And a Jacobian matrix is obtained using this gradient (S310), and the first image based on the equations (Equations (4), (7) and (11)) described above using the Jacobian matrix Estimate a parameter that minimizes the residual between (eg, previous spherical distance image) and the second image (eg, current spherical distance image) to estimate movement and posture according to movement and rotation in 3D space (S320) . The motion and posture estimation results obtained through this estimation process are called posture information for convenience of explanation. Thereafter, position recognition is performed using the posture information.
도 10은 본 개시의 실시 예에 따른 위치 인식 방법의 흐름도이다. 10 is a flowchart of a location recognition method according to an embodiment of the present disclosure.
위치 인식시, 이미 생성된 각 노드의 지도 데이터와, 위의 추정 방법에 따라 센서 입력으로부터 획득되는 영상 데이터(구면 거리 영상, 의미론적 분할 영상)에 기반한 움직임 및 자세 추정 결과인 자세 정보 그리고 GPS 정보를 이용한다. When recognizing a location, posture information, which is a result of motion and posture estimation based on image data (spherical distance image, semantic segmentation image) obtained from sensor input according to the previously generated map data of each node and the above estimation method (spherical distance image, semantic segmentation image), and GPS information use
본 개시의 실시 예에서, 지도 그래프 기반으로, 자세 정보를 그래프로 표현한 자세 그래프(pose graph)는 도 11과 같다. 도 11은 본 개시의 실시 예에 따른 자세 그래프를 나타낸 예시도이다. In an embodiment of the present disclosure, a pose graph expressing posture information as a graph based on a map graph is shown in FIG. 11 . 11 is an exemplary diagram illustrating a posture graph according to an embodiment of the present disclosure.
도 11을 참조하면, 자세 그래프에서, 차량이 주행함에 따라 각 시점에서 차량의 위치에 대응하는 노드(x1, x2, …x6) 사이의 에지 정보는 자세 정보( 1, 2, … 5,) 이다. 임의 노드에서 GPS 데이터가 입력될 수 있다. GPS 데이터가 있을 경우 GPS로부터 취득된 GPS 데이터(좌표 및 고도)를 에지로 갖는 GPS 노드(G1, G2)가 연결될 수 있다. 여기서 M1, 및 M2는 이미 생성된 지도 데이터의 노드를 나타낸다. Referring to FIG. 11 , in the attitude graph, edge information between nodes (x 1 , x 2 , ... x 6 ) corresponding to the position of the vehicle at each point in time as the vehicle travels is the attitude information ( 1 , 2 , … 5 ,). GPS data can be input from any node. When there is GPS data, the GPS nodes G 1 , G 2 having the GPS data (coordinates and altitude) obtained from the GPS as an edge may be connected. Here, M 1 and M 2 represent nodes of already generated map data.
도 10을 참조하면, 차량이 주행함에 따라, 센서(LiDAR 또는 카메라 등)으로부터 획득되는 데이터로부터 현시점 즉, 현재 노드에 대한 영상 데이터 즉, 구면 거리 영상 및 의미론적 분할 영상을 획득한다(S400). 이때, 위에 기술된 방법(도 4 내지 도 6에 따른 방법 및 도 7과 도 8에 따른 방법)을 기반으로 구면 거리 영상 및 의미론적 분할 영상을 획득한다. 그리고 영상 데이터(구면 거리 영상 및 의미론적 분할 영상)를 이용하여 자세 정보를 획득한다.Referring to FIG. 10 , as the vehicle drives, image data about the current point, that is, the current node, that is, a spherical distance image and a semantic segmentation image are acquired from data acquired from a sensor (LiDAR or camera, etc.) (S400). At this time, a spherical distance image and a semantic segmentation image are acquired based on the method described above (the method according to FIGS. 4 to 6 and the method according to FIGS. 7 and 8 ). Then, posture information is acquired using image data (spherical distance image and semantic segmentation image).
센서 노드 즉, 현재 노드에서 GPS 데이터가 존재하는지를 확인하고, GPS 데이터가 존재하면 GPS 데이터로부터 획득되는 좌표 및 고도를 에지로 갖는 GPS 노드(이러한 노드를 단항 팩터(unary factor)라고도 함)를 현재 노드에 연결한다(S410). 예를 들어, 도 11에서와 같이, 현재 노드가 x1이라고 하면, GPS 데이터가 존재하는 경우, GPS 데이터를 에지로 갖는 GPS 노드 G1을 현재 노드 x1에 연결한다. A sensor node, i.e., checks whether GPS data exists in the current node, and if there is GPS data, a GPS node (such a node is also called a unary factor) having coordinates and altitude obtained from the GPS data as an edge is used as the current node. connected to (S410). For example, as shown in FIG. 11 , if the current node is x 1 , when GPS data exists, the GPS node G 1 having the GPS data as an edge is connected to the current node x 1 .
그리고, GPS 데이터 또는 이전 주행 경로를 기반으로 대략적인 현재 위치를 획득한다(S420). 획득된 위치를 기반으로 이미 생성되어 있는 지도 데이터를 검색하여 획득된 위치 주변의 지도 데이터를 찾아서 임시 버퍼에 저장한다(S430). Then, an approximate current location is acquired based on the GPS data or the previous driving route (S420). Map data that has already been created based on the acquired location is searched for, and map data around the acquired location is found and stored in a temporary buffer (S430).
이후, 검색된 지도 데이터에 대한 현재 노드의 자세 정보를 추정한다(S440). 여기서 위에 기술된 추정 방법을 기반으로 움직임 및 자세 추정이 수행될 수 있다. Thereafter, the posture information of the current node with respect to the searched map data is estimated ( S440 ). Here, motion and posture estimation may be performed based on the estimation method described above.
그리고 지도 데이터에 대해 추정된 자세 정보와 현재 노드의 움직임에 따른 자세 정보의 잔차를 임계값과 비교한다(S450). 예를 들어, 잔차의 합의 평균과 미리 설정된 임계값을 비교하고, 임계값보다 작은 경우에 해당 지도 데이터를 그래프에서 지도 노드로 연결한다(S460). 예를 들어, 도 11에서와 같이, 현재 노드가 x3라고 할 경우, 임계값보다 작은 경우에 대응하는 지도 데이터를 지도 노드 M1을 현재 노드 x3에 연결한다. Then, the residual of the posture information estimated for the map data and the posture information according to the movement of the current node is compared with a threshold value (S450). For example, the average of the sum of the residuals is compared with a preset threshold, and when it is smaller than the threshold, the corresponding map data is connected from the graph to the map node (S460). For example, as in FIG. 11 , when the current node is x 3 , map data corresponding to a case smaller than the threshold value is connected to the map node M 1 and the current node x 3 .
이후, GPS 데이터, 지도 데이터를 이용하여 정밀 위치를 획득한다(S470). 즉, 위에 기술된 바와 같이 노드 연결이 이루어지는 지도 그래프(예: 도 11의 자세 그래프)를 기반으로 정밀 위치를 결정한다. 이 경우, 지도 그래프에 대한 최적화가 이루어진 다음에 정밀 위치 결정이 이루어질 수 있다. Thereafter, a precise location is obtained using GPS data and map data (S470). That is, as described above, the precise location is determined based on the map graph (eg, the posture graph of FIG. 11 ) in which the node connection is made. In this case, precise positioning can be made after optimization of the map graph is made.
한편, 단계(S430)에서, 지도 데이터가 존재하지 않는 경우, 즉, 새로운 경로를 주행하는 경우에는, 도 11에서와 같이, 노드 x1 및 노드 x2와 같이, GPS 노드만이 추가되어 최적화된다. Meanwhile, in step S430 , when map data does not exist, that is, when driving a new route, as in FIG. 11 , only a GPS node is added and optimized, such as node x 1 and node x 2 . .
따라서, 최적화된 그래프 상에서 영상 데이터, GPS 데이터 그리고 지도 데이터를 선택적으로 사용하여 위치 인식이 이루어진다. Therefore, location recognition is performed by selectively using image data, GPS data, and map data on the optimized graph.
센서 노드의 경우 노드들 사이의 오차는 매우 적지만 오차가 누적되어 점차 증가하는 문제가 있으며, GPS는 멀티패스 등의 영향으로 상황에 따라 큰 오차가 발생하기도 한다. 그러나 위에 기술된 바와 같이 그래프를 구성하는 경우, 센서 노드 오차의 증가를 효과적으로 억제하여 새로운 지도를 생성할 때 높은 정밀도로 전역 좌표를 유지할 수 있도록 한다.In the case of sensor nodes, although the error between nodes is very small, there is a problem that the error is accumulated and gradually increases. However, when constructing the graph as described above, it effectively suppresses the increase in sensor node error, making it possible to maintain global coordinates with high precision when generating new maps.
다음에는 신규 지도 데이터를 생성하는 방법에 대해 설명한다. Next, a method for generating new map data will be described.
도 12는 본 개시의 실시 예에 따른 지도 데이터 생성 방법의 흐름도이다. 12 is a flowchart of a method for generating map data according to an embodiment of the present disclosure.
위치 인식 과정에서 지도 노드가 연결되지 않았거나, 연결이 되었더라도 잔차 오차가 클 경우, 지도 데이터를 새로 생성하거나 업데이트할 필요가 있다. 신규 지도 데이터를 생성하는 지점은 루프 폐쇄 검출을 위해 우선적으로 교차로 지역으로 설정된다. 그리고 교차로 이외의 지역에서는 설정된 범위 마다 지도 데이터를 생성한다. 그러나 본 개시는 반드시 이에 한정되지 않는다. If map nodes are not connected during the location recognition process, or if the residual error is large even if they are connected, it is necessary to create or update map data. A point for generating new map data is preferentially set as an intersection area for loop closure detection. In areas other than intersections, map data is generated for each set range. However, the present disclosure is not necessarily limited thereto.
첨부한 도 12에서와 같이, 센서(LiDAR 또는 카메라 등)으로부터 획득되는 데이터로부터 영상 데이터 즉, 구면 거리 영상 및 의미론적 분할 영상을 획득한다(S500). 이때, 위에 기술된 방법(도 4 내지 도 6에 따른 방법 및 도 7과 도 8에 따른 방법)을 기반으로 구면 거리 영상 및 의미론적 분할 영상을 획득한다. 12, image data, ie, a spherical distance image and a semantic segmentation image, are acquired from data acquired from a sensor (LiDAR or camera, etc.) (S500). At this time, a spherical distance image and a semantic segmentation image are acquired based on the method described above (the method according to FIGS. 4 to 6 and the method according to FIGS. 7 and 8 ).
획득된 영상을 기반으로 지도 데이터 생성 지점(예: 교차로)인지를 판단한다(S510). 예를 들어, 교차로 여부를 판단하기 위해서, 심층 신경망을 이용한 이진 판별기(binary classifier)를 사용할 수 있다. 이진 판별기의 입력으로 구면 거리 영상 및 의미론적 분할 영상을 사용할 수 있다. It is determined whether it is a map data generation point (eg, an intersection) based on the acquired image (S510). For example, in order to determine whether there is an intersection, a binary classifier using a deep neural network may be used. As an input of the binary discriminator, a spherical distance image and a semantic segmentation image can be used.
지도 데이터 생성 지점인 교차로 이외의 지역에서는 설정 범위 마다 지도 데이터를 생성하기로 결정한다(S520). 예를 들어, 이전 지도 데이터가 생성된 후 0~60m 범위에서 이진 판별기의 신뢰도 점수(confidence score)가 가장 높은 지점을 지도 데이터 생성 지점으로 선정하여 신규 지도 데이터를 생성하기로 결정한다. In areas other than the intersection, which is the map data generation point, it is determined to generate map data for each set range ( S520 ). For example, after the previous map data is generated, a point having the highest confidence score of the binary discriminator in the range of 0 to 60 m is selected as the map data generation point to generate new map data.
지도 데이터 생성 지점에서, 정밀도 향상을 위해 지도 데이터를 합성한다. 이를 위해, 먼저 지도 데이터 생성 지점에 대응하는 노드의 주변 노드들의 데이터에 대한 좌표 변환을 수행한다(S530).At the map data generation point, map data is synthesized to improve precision. To this end, first, coordinate transformation is performed on the data of the neighboring nodes of the node corresponding to the map data generation point (S530).
도 13는 본 개시의 실시 예에 따른 지도 데이터 생성을 나타낸 예시도이다. 13 is an exemplary diagram illustrating map data generation according to an embodiment of the present disclosure.
예를 들어, 도 13의 (a)에서, 노드 x3 가 지도 데이터 생성 지점으로 선택된 경우, 주변 노드들의 데이터를 노드 x3을 기준으로 하는 좌표 데이터로 변환한 후 합성한다. 좌표 변환은 각 노드의 에지 정보를 기반으로 수행된다. For example, in FIG. 13A , when a node x 3 is selected as a map data generation point, data of neighboring nodes is converted into coordinate data based on the node x 3 and then synthesized. Coordinate transformation is performed based on edge information of each node.
좌표 변환된 데이터들을 기반으로 지도 데이터를 합성을 수행한다. 이때, 각 노드들(노드 x3과 그의 주변 노드들)의 구면 거리 영상들끼리 합성을 하고, 의미론적 분할 영상들끼리 합성을 한다. Map data is synthesized based on the coordinate-transformed data. At this time, spherical distance images of each node (node x 3 and its neighboring nodes) are synthesized, and semantic segmented images are synthesized.
구면 거리 영상 합성의 경우, 도 13의 (b)와 같이, 합성할 영상과 같은 크기의 볼륨(volume) 을 갖는 3차원 메모리를 사용한다. 각 노드의 데이터는 에지 정보로부터 노드 x3을 기준으로 하는 3차원 좌표로 변환하고, 구면 거리 영상 생성과 같은 방법으로 화소의 위치를 계산한 후(예를 들어, 구좌표계를 사용하여 2차원 표면에 투영하여 위치 획득), 계산된 위치에 대응하는 화소의 볼륨에 해당 값을 차례로 누적한다. 이렇게 볼륨 데이터의 초기화가 완료된다. 그다음, 도 13의 (c)에서와 같이, 각 개별 화소에 대입된 값들을 정렬(sort)하고, 예를 들어 설정 지점(예: 중간)에 위치한 값을 선택하여 2차원 영상 데이터를 생성한다. 여기서, 시간 중간값 필터(temporal median filter)를 사용하여 중간 위치의 값을 선택할 수 있다. 마지막으로, 도 13의 (d)에 예시된 바와 같이, 2차원 영상 데이터에서, 각 영상 화소 와 주변 화소 값을 함께 정렬하여 최대 값, 최소 값 및 중간 값을 구하고, 각 화소 값이 최대 값 또는 최소 값일 경우, 중간 값으로 대체하여 최종적으로 합성된 영상을 구한다 여기서, 적응 중간 값 필터(adaptive median filter)를 사용할 수 있다(S540). In the case of spherical distance image synthesis, as shown in (b) of FIG. 13, a volume of the same size as the image to be synthesized 3D memory with The data of each node is converted from edge information into three-dimensional coordinates based on the node x 3 , and the position of the pixel is calculated in the same way as for generating a spherical distance image (e.g., a two-dimensional surface using a spherical coordinate system). ), and accumulates the corresponding values in the volume of the pixel corresponding to the calculated position in turn. In this way, initialization of volume data is completed. Then, as shown in (c) of FIG. 13 , the values substituted for each individual pixel are sorted and, for example, a value located at a set point (eg, the middle) is selected to generate 2D image data. Here, a value of an intermediate position may be selected using a temporal median filter. Finally, as illustrated in FIG. 13(d) , in the two-dimensional image data, each image pixel and surrounding pixel values are sorted together to obtain the maximum, minimum, and median values, and each pixel When the value is the maximum value or the minimum value, a final synthesized image is obtained by substituting an intermediate value. Here, an adaptive median filter may be used ( S540 ).
한편, 의미론적 분할 영상의 합성시에도, 위에 기술된 바와 같은 구면 거리 영상 합성과 같은 방법으로 볼륨 데이터의 초기화를 수행한다. 그리고 중간값 필터를 사용하는 대신에, 화소에 대입된 값들 중에서 가장 많은 비중을 차지 하는 값(가장 많이 분포되어 있는 값)을 대표값으로 정의하는 보팅(voting) 방법을 사용하여 2차원 영상 데이터를 생성한다. 그리고 각 영상 화소 와 주변 화소 값을 함께 정렬하여 최대 값, 최소 값 및 중간 값을 구하고, 각 화소 값이 최대 값 또는 최소 값일 경우, 중간 값으로 대체하여 최종적으로 합성된 영상을 구한다.Meanwhile, even when synthesizing a semantic segmented image, volume data is initialized in the same way as spherical distance image synthesizing as described above. And instead of using the median filter, the 2D image data is analyzed by using a voting method that defines the value (the most distributed value) among the values assigned to the pixel as the representative value. create and each video pixel and surrounding pixel values are sorted together to obtain the maximum, minimum, and median values, and each pixel When the value is the maximum value or the minimum value, the final synthesized image is obtained by substituting the intermediate value.
그리고, 차로의 속성 정보를 획득한다. 자율 주행 차량이 주행하기 위해서는 위치 정보뿐만 아니라, 주행하고자 하는 차로의 속성 정보 역시 요구된다. 본 개시의 실시 예에서는 합성된 의미론적 분할 영상을 이용하여 차로의 속성 정보를 획득한다(S550). 합성된 의미론적 분할 영상은 높은 정밀도로 차선, 도로 경계, 노면 표시 정보를 구분하고 있으므로, 이를 이용하여 차로의 속성 정보를 쉽게 구할 수 있다. 일 예로, 합성된 의미론적 분할 영상에서, 차선 및 도로 경계 정보는 영상 화소를 허프(Hough) 변환 또는 라돈(Radon) 변환 등을 사용하여 선 정보로 변환하고, 이에 대응하는 3차원 좌표를 획득한다. 또한 속도 제한, 주행 방향 등의 노면 표시 정보는 심층 신경망 등의 기존의 분류 기술을 사용하여 분류할 수 있다. 이러한 과정을 통해, 차로의 속성 정보를 획득한다. Then, attribute information of the lane is acquired. In order for an autonomous vehicle to drive, not only location information but also attribute information of a lane to be driven is required. According to an embodiment of the present disclosure, attribute information of a vehicle is obtained by using the synthesized semantic segmentation image (S550). Since the synthesized semantic segmentation image classifies the lane, road boundary, and road surface marking information with high precision, it is possible to easily obtain the attribute information of the lane using this. For example, in the synthesized semantic segmentation image, lane and road boundary information is converted into line information by using Hough transform or Radon transform, etc. of image pixels, and 3D coordinates corresponding thereto are obtained. . In addition, road surface indication information such as speed limit and driving direction can be classified using existing classification techniques such as deep neural networks. Through this process, attribute information of the lane is acquired.
이와 같이, 합성된 구면 거리 영상, 합성된 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는 신규 지도 데이터가 최종적으로 생성된다(S560). In this way, new map data including the synthesized spherical distance image, the synthesized semantic segmentation image, and lane attribute information are finally generated (S560).
지도 데이터 생성 시점에서만 합성이 필요하기 때문에 지도 데이터를 생성하는 과정은 별도의 프로세스에서 동작되는 것이 바람직하며, 각 화소 데이터는 서로 독립적이기 때문에, 지도 데이터 생성은 현대의 다중 코어 CPU 또는 GPU를 사용하여 매우 효율적으로 구현될 수 있다. Since synthesis is required only at the time of map data generation, it is desirable that the process of generating map data be operated in a separate process. It can be implemented very efficiently.
한편, 이러한 지도 데이터의 효율적인 저장 및 관리를 위해, 지도 데이터 압축을 수행할 수 있다. Meanwhile, for efficient storage and management of such map data, map data compression may be performed.
도 14는 본 개시의 실시 예에 따라 압축된 지도 데이터를 나타낸 예시도이다. 14 is an exemplary diagram illustrating compressed map data according to an embodiment of the present disclosure.
지도 데이터는 그래프의 각 노드별로, 구면 거리 영상, 의미론적 분할 영상, 차로의 속성 정보, 자세 정보를 포함하며, 그리고 지도 데이터를 생성한 시간, GPS 위치 정보(GPS 데이터) 등을 포함한다. 구면 거리 영상 및 의미론적 분할 영상이 데이터 저장 공간의 대부분을 차지한다. 이에 따라 이들 영상을 PNG(Portable Network Graphics), JPEG-LS(Joint Photographic Experts Group-LosSless), JPEG2000, FLIF(Free Lossless Image Format) 등의 무손실 영상 압축(lossless image compression) 방법을 사용하여 1차 압축한다. 예를 들어, 영상의 크기가 가로 세로 각각 2048 및 192일 때 FLIF 압축을 통해 약 200 kB 정도로 축소된다. The map data includes, for each node of the graph, a spherical distance image, a semantic segmentation image, lane attribute information, and attitude information, and includes a time at which the map data is generated, GPS location information (GPS data), and the like. A spherical distance image and a semantic segmented image occupy most of the data storage space. Accordingly, these images are first compressed using a lossless image compression method such as PNG (Portable Network Graphics), JPEG-LS (Joint Photographic Experts Group-LosSless), JPEG2000, and FLIF (Free Lossless Image Format). do. For example, when the size of an image is 2048 and 192, respectively, it is reduced to about 200 kB through FLIF compression.
그리고 데이터의 크기를 좀더 줄이고, 효율적으로 관리하기 위해, 1차 압축된 두 영상을 하나의 영상으로 합쳐서 저장한다. 이를 위해, 각 화소별로 구면 거리 영상의 데이터와 의미론적 분할 영상의 데이터를 저장한다. In addition, in order to further reduce the size of data and to manage it efficiently, the two primary compressed images are combined into one image and stored. To this end, data of a spherical distance image and data of a semantic segmented image are stored for each pixel.
첨부한 도 14의 (a)에 예시된 바와 같이, 각 화소는 설정 비트(예: 16비트) 깊이를 갖도록 설정된다. 구면 거리 영상의 거리 정보는 센티 미터 단위로 양자화(quantization)하여 화소의 하위 비트에 위치시키고(범위(range) 데이터), 의미론적 분할 영상의 일부 정보를 양자화하여 상위 비트에 위치시킨다(의미론적 데이터). As illustrated in the accompanying FIG. 14 ( a ), each pixel is set to have a set bit (eg, 16 bits) depth. The distance information of the spherical distance image is quantized in centimeter units and placed in the lower bit of the pixel (range data), and some information of the semantic segmented image is quantized and placed in the upper bit (semantic data) ).
구면 거리 영상의 거리 정보의 경우, 최대 160미터 거리에 대해 센티미터 정밀도를 가짐으로써 충분한 정밀도를 얻을 수 있다. 의미론적 분할 영상에서 차선, 노면표시, 도로 경계 등의 일부 정보(분할 정보)만 샘플링하고 양자화하여 화소의 상위 비트에 위치시킨다. In the case of distance information of a spherical distance image, sufficient precision can be obtained by having centimeter precision for a distance of up to 160 meters. In the semantic segmented image, only some information (segmentation information) such as lanes, road markings, and road boundaries is sampled, quantized, and placed in the upper bit of the pixel.
거리 정보의 데이터 변화량이 분할 정보에 비하여 현저히 높기 때문에 하위 비트에 놓는 것이 더 높은 압축 효율을 기대할 수 있다. 그러나 본 개시는 반드시 이에 한정되지 않는다. Since the data change amount of distance information is significantly higher than that of division information, higher compression efficiency can be expected by putting it in the lower bit. However, the present disclosure is not necessarily limited thereto.
위에 기술된 바와 같이 압축 처리되어 저장되는 구면 거리 영상의 거리 정보와 의미론적 분할 영상의 분할 정보는 간단한 비트 연산을 통해 원래의 영상으로 분리할 수 있다. 도 14의 (b) 내지 (d)에 분리된 영상의 예가 도시되어 있다. 도 14의 (b)는 도 14의 (a)와 같이 저장된 화소별 정보로부터 분리된 구면 거리 영상을 나타내며, 도 14의 (c)는 도 14의 (a)와 같이 저장된 화소별 정보로부터 분리된 의미론적 분할 영상을 나타낸다. 그리고 도 14의 (d)는 도 14의 (b)와 도 14의 (c)를 합성한 최종 결과를 나타낸다. As described above, the distance information of the spherical distance image and the segmentation information of the semantic segmented image, which are compressed and stored, can be separated into the original image through a simple bit operation. An example of a separated image is shown in (b) to (d) of FIG. 14 . 14(b) shows a spherical distance image separated from the stored pixel-specific information as shown in FIG. Represents a semantic segmented image. And Fig. 14(d) shows the final result of synthesizing Figs. 14(b) and 14(c).
본 개시의 실시 예에서 제공되는 지도 데이터는 기존의 3차원 좌표로 표현하는 것에 비하여 1/100 이하로 축소되는 것을 기대할 수 있다. 실제 구현 예에서, 1km의 3차원 형상을 위해 10GB 정도의 3차원 포인트 데이터가 생성되며, 10cm 단위의 복셀(voxel)로 표현할 경우 약 500MB 이상의 저장 공간이 필요하다. 그러나 본 개시의 실시 예에 따르면, 5MB 이하의 크기로 더 높은 정밀도로 표현할 수 있었다. 일 예로, 대한 민국의 총 도로 길이는 약 11만km 이므로, 본 개시의 실시 예에 따른 방법을 사용할 경우, 약 500GB 크기로 모든 도로의 3차원 정밀 지도를 표현하는 것이 가능하며, 자율주행 차량이 모든 도로의 3차원 정밀 지도를 탑재하는 것이 가능하다. It can be expected that the map data provided in the embodiment of the present disclosure is reduced to 1/100 or less compared to the existing three-dimensional coordinates. In an actual implementation, about 10 GB of 3D point data is generated for a 3D shape of 1 km, and storage space of about 500 MB or more is required when expressed as a voxel in units of 10 cm. However, according to an embodiment of the present disclosure, a size of 5 MB or less could be expressed with higher precision. For example, since the total road length in Korea is about 110,000 km, when using the method according to an embodiment of the present disclosure, it is possible to express a three-dimensional precision map of all roads in a size of about 500 GB, and the autonomous vehicle It is possible to mount a three-dimensional precision map of all roads.
이와 같이 압축 처리되는 지도 데이터가 등록되어 사용된다. 지도 데이터 관리 부분(도 2 참조)은 신규 지도 데이터를 받으면, 기존 지도 데이터와 비교하여 신규 지도 데이터로 등록하거나 또는 기존 지도 데이터를 업데이트할지를 판단할 수 있다. 일 예로, 수신된 신규 지도 데이터 주변 좌표에 기존의 지도 데이터가 없는 경우는 해당 신규 지도 데이터를 등록한다. 반면, 기존 지도 데이터가 있는 경우에는 바로 업데이트하지 않고, 일시적인 변경이나 측정 오차인지 판단하고 그 결과에 따라 업데이트를 선택적으로 수행할 수 있다. 이를 위해 기존 지도 데이터가 있는 경우 신규 지도 데이터를 추가 지도 데이터로 시간 정보와 함께 등록한다. 이후, 다른 장치(예: 다른 차량)에서 수집한 데이터가 수신되거나 동일한 경로를 주행하여 해당 지점의 지도 데이터를 반복하여 수신하는 경우, 앞서 시간 정보와 함께 등록된 추가된 지도 데이터들과 비교하여 설정 기간 동안 서로 상이한 변경 사항이 유지되는 상황일 때만 추가된 지도 데이터를 기반으로 기존 지도 데이터의 업데이트를 수행할 수 있다. 지도 데이터 비교는 자세 추정의 잔차를 사용할 수 있다. 또한, 추가 지도 데이터의 최대 개수를 제한하고, 오랫동안 사용되지 않은 데이터는 수시로 폐기하는 것이 바람직하다. The map data to be compressed in this way is registered and used. When the map data management part (refer to FIG. 2 ) receives the new map data, it may be compared with the existing map data to determine whether to register the new map data or update the existing map data. For example, when there is no existing map data in the coordinates around the received new map data, the new map data is registered. On the other hand, if there is existing map data, it is not updated immediately, but it is determined whether it is a temporary change or a measurement error, and the update can be selectively performed according to the result. To this end, if there is existing map data, new map data is registered as additional map data along with time information. Afterwards, when data collected from another device (eg, another vehicle) is received or when the map data of the corresponding point is repeatedly received by driving the same route, it is set by comparing it with the added map data registered with the time information. It is possible to update the existing map data based on the added map data only when different changes are maintained during the period. Comparison of map data may use residuals of posture estimation. In addition, it is desirable to limit the maximum number of additional map data, and to discard data that has not been used for a long time from time to time.
한편, 본 개시의 실시 예에 따른 획득되는 지도 데이터에 대한 최적화가 수행될 수 있다. Meanwhile, optimization may be performed on the obtained map data according to an embodiment of the present disclosure.
도 15는 본 개시의 실시 예에 따른 지도 데이터의 최적화를 나타낸 예시도이다. 15 is an exemplary diagram illustrating optimization of map data according to an embodiment of the present disclosure.
본 개시의 실시 예에 따른 지도는 그래프 기반 구조로, 도 15에서와 같이, 자세 그래프 구조를 가진다. 이 경우, 도 15의 (a)에서와 같이, 그래프의 각 노드 및 에지를 생성한다. 구체적인 방법은 위에 설명된 방법을 참조할 수 있으며, 여기서는 상세한 설명을 생략한다. 그리고 GPS 위치 정보를 사용하여 GPS 노드(G)를 그래프에 연결한다. 이때, 노드 M3와 같이, 추가 지도 데이터를 사용하여 여러 개의 GPS 노드가 연결될 수 있다. 반복 주행시 GPS 정보에 대한 오차가 클 경우 GPS 노드를 추가할 수 있다. 이를 통해, 위치 정밀도를 현저히 높일 수 있다.A map according to an embodiment of the present disclosure is a graph-based structure, and has a posture graph structure as shown in FIG. 15 . In this case, each node and edge of the graph is generated as shown in FIG. 15A. For a specific method, reference may be made to the method described above, and detailed description thereof will be omitted herein. Then, using the GPS location information, the GPS node (G) is connected to the graph. In this case, like node M 3 , several GPS nodes may be connected using additional map data. A GPS node can be added if the error of the GPS information is large during repeated driving. Through this, it is possible to remarkably increase the positional accuracy.
이러한 자세 그래프에서 정밀도를 높이는 가장 중요한 수단은 노드M2 및 노드 M7과 같은 루프 폐쇄(loop closure)를 검출하고 해당 노드를 연결한 후 그래프를 최적화하는 것이다. 차량의 주행에 있어서 루프 폐쇄는 일반적으로 교차로 지점에서 발생한다. 전술한 바와 같이, 교차로 검출 신뢰도 점수를 사용하여 후보 노드를 선정하고, 후보 노드들 사이의 자세와 잔차를 계산하여 잔차가 임계값 이하일 경우 루프 폐쇄를 결정한다. The most important means to increase the precision in such a posture graph is to detect loop closures such as nodes M 2 and M 7 and optimize the graph after connecting the nodes. In the running of the vehicle, the roof closure usually occurs at the intersection point. As described above, a candidate node is selected using an intersection detection reliability score, a posture and a residual between the candidate nodes are calculated, and a loop closure is determined when the residual is less than or equal to a threshold value.
마지막으로, 도 15의 (b)와 같이, 최적화된 자세 정보를 사용한 각 노드에 포함되어 있는 차로의 속성 정보를 결합하여 차로 수준의 고해상도 지도를 생성한다. 각 노드의 차로 속성 중 차선 정보는 노드의 자세 정보와 결합하여 지도상의 전역좌표를 갖는 차선 정보로 변환하고, 주변 노드와 비교하여 차선의 교점을 찾는다. 이 교점을 사용하여 차선을 차례로 연결하면 최적화된 지도와 일치하는 차로 수준 고해상도 지도를 생성할 수 있다. 이렇게 생성된 차로 수준의 지도는 별도 지도 레이어로 관리하고, 자율주행 자동차의 경로계획 수립 등에 활용되며, 3차원 지도 데이터의 노드 링크가 최적화될 때 함께 업데이트될 수 있다. Finally, as shown in (b) of FIG. 15 , a high-resolution map of the lane level is generated by combining the attribute information of the lane included in each node using the optimized attitude information. Among the lane properties of each node, lane information is combined with the node's attitude information to convert it into lane information having global coordinates on the map, and compares it with neighboring nodes to find the intersection of the lanes. Using these intersections to connect lanes one after another, it is possible to create a lane-level high-resolution map that matches the optimized map. The lane-level map generated in this way is managed as a separate map layer, used for route planning of autonomous vehicles, etc., and can be updated together when the node link of the 3D map data is optimized.
도 16은 본 개시의 실시 예에 따른 위치 인식 장치의 구조를 나타낸 도이다. 16 is a diagram illustrating a structure of a location recognition apparatus according to an embodiment of the present disclosure.
첨부한 도 16에서와 같이, 위치 인식 장치(1)는 센서 입력을 기반으로 영상 데이터를 생성하는 영상 데이터 생성부(11), 움직임 및 자세 추정부(12) 및 위치 인식부(13)를 포함하며, 지도 데이터 생성부(14)를 더 포함한다. 16 , the
영상 데이터 생성부(11)는 센서 입력(3차원 공간 정보에 대응하는 3차원 좌표 정보)를 2차원 평면에 투영하여 구면 거리 영상을 생성하도록 구성된 구면 거리 영상 생성부 및, 구면 거리 영상 및 이에 대응하는 텍스처 영상을 입력으로 하여 의미론적 분할을 수행하여 의미론적 분할 영상을 생성하도록 구성된 의미론적 분할 영상 생성부를 포함한다. 의미론적 분할 영상은 이동 물체 정보가 제거되고 도로 차량 정보를 포함하는 영상일 수 있다. The
움직임 및 자세 추정부(12)는 구면 거리 영상 또는 의미론적 분할 영상을 이용하여 움직임 및 자세 추정을 수행하고, 그 결과인 자세 정보를 획득하도록 구성된다. The motion and posture estimating
위치 인식부(13)는 이미 생성된 지도 데이터와, 영상 데이터(구면 거리 영상, 의미론적 분할 영상)에 기반한 움직임 및 자세 추정 결과인 자세 정보 그리고 GPS 정보를 이용하여 위치 인식을 수행하도록 구성된다. The
지도 데이터 생성부(14)는 영상 데이터(구면 거리 영상, 의미론적 분할 영상)와 자세 정보 그리고 차로의 속성 정보를 포함하는 지도 데이터를 생성하도록 구성된다. The map
이러한 각 구성 요소(11~14)는 위에 기술된 대응하는 방법을 구현하도록 구성되므로, 구체적인 기능에 대해서는 위의 설명을 참조한다. Since each of these
본 개시의 실시 예에 따른 위치 인식 장치(1)는 주행하는 차량 등에 장착되는 형태로 구현되고, 지도 데이터 관리 장치(2)와 연계하여 동작할 수 있다. 예를 들어, 위치 인식 장치(1)는 지도 데이터 관리 장치(2)로부터 기존 지도 데이터를 제공받거나 또는 생성된 지도 데이터를 지도 데이터 관리 장치(2)로 제공할 수 있다. 한편, 지도 데이터 생성부(14)는 위치 인식 장치(1)에 포함되는 형태로 구현되나, 이에 한정되지 않고 지도 데이터 관리 장치(2) 등의 다른 장치에 포함되는 형태로 구현될 수도 있다. The
도 17은 본 개시의 실시 예에 따른 지도 데이터 관리 장치의 구조를 나타낸 도이다. 17 is a diagram illustrating a structure of an apparatus for managing map data according to an embodiment of the present disclosure.
첨부한 도 17에서와 같이, 지도 데이터 관리 장치(2)는 지도 데이터 등록 처리부(21), 지도 데이터 압축 처리부(22), 데이터 저장부(23) 그리고 지도 데이터 최적화 처리부(24)를 포함한다. 17 , the map
지도 데이터 등록 처리부(21)는 지도 데이터를 신규 지도 데이터로 등록하거나 또는 기존 지도 데이터와 비교하여 기존 지도 데이터에 대한 업데이트 처리를 수행하도록 구성된다. The map data
지도 데이터 압축 처리부(22)는 등록되는 지도 데이터를 저장하기 위한 처리(간략하게, 저장 처리라고도 함)를 수행하도록 구성된다. 특히, 지도 데이터 압축 처리부(22)는 지도 데이터를 구성하는 영상 데이터 즉, 구면 거리 영상과 의미론적 분할 영상을 하나의 영상으로 합쳐서 처리한다. 각 화소별로, 구면 거리 영상의 거리 정보를 양자화화여 화소를 구성하는 비트의 상위 비트에 위치시키고, 의미론적 분할 영상의 분할 정보를 샘플링 및 양자화하여 화소를 구성하는 비트의 하위 비트에 위치시킨다. 이러한 저장 처리 이전에 구면 거리 영상과 의미론적 분할 영상을 먼저 압축하고, 압축된 영상들에 대해 위의 저장 처리를 수행할 수 있다. The map data
데이터 저장부(23)는 지도 데이터를 저장하도록 구성된다. 지도는 그래프 기반 구조로 이루어지며, 그래프를 구성하는 각 노드에 대해 지도 데이터가 저장되며, 지도 데이터는 구면 거리 영상, 의미론적 분할 영상, 차로의 속성 정보, 자세 정보를 포함하며, 그리고 지도 데이터를 생성한 시간, GPS 위치 정보 등을 포함한다. 구면 거리 영상 및 의미론적 분할 영상은 위의 저장 처리를 통해 처리된 다음에 저장될 수 있다. The
지도 데이터 최적화 처리부(24)는 그래프 기반의 지도 데이터에 대한 최적화 처리를 수행하도록 구성된다. The map data
이러한 각 구성 요소(21~24)는 위에 기술된 대응하는 방법을 구현하도록 구성되므로, 구체적인 기능에 대해서는 위의 설명을 참조한다. Since each of these
본 개시의 실시 예에 따른 지도 데이터 관리 장치(2)는 예를 들어, 서버 형태로 구현되어, 위치 인식 장치(1)와 연계하여 동작할 수 있다. 예를 들어, 지도 데이터 관리 장치(2)는 위치 인식 장치(1)로부터 신규로 생성되는 지도 데이터를 제공받아 등록, 저장 및 최적화 등을 수행하고, 또는 관리되는 지도 데이터를 위치 인식 장치(1)로 제공할 수 있다. The map
도 18은 본 개시의 실시 예에 따른 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다. 18 is a structural diagram illustrating a computing device for implementing a method according to an embodiment of the present disclosure.
첨부한 도 18에 도시되어 있듯이, 본 개시의 일 실시 예에 따른 방법(위의 실시 예에 기술된 지도 생성 및 관리 그리고 위치 인식을 위한 각각의 방법들)은 컴퓨팅 장치(100)를 이용하여 구현될 수 있다. 18 , the method (each method for map generation and management and location recognition described in the above embodiment) according to an embodiment of the present disclosure is implemented using the
컴퓨팅 장치(100)는 프로세서(110), 메모리(120), 입력 인터페이스 장치(130), 출력 인터페이스 장치(140), 저장 장치(150) 및 네트워크 인터페이스 장치(160) 중 적어도 하나를 포함할 수 있다. 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. 또한, 각각의 구성 요소들은 공통 버스(170)가 아니라, 프로세서(110)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다.The
프로세서(110)는 AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(120) 또는 저장 장치(150)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(110)는 메모리(120) 및 저장 장치(150) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 이러한 프로세서(110)는 위의 도 1 내지 도 17을 토대로 설명한 기능 및 방법들을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(110)는 영상 데이터 생성부, 움직임 및 자세 추정부, 위치 인식부, 지도 데이터 생성부의 기능을 수행하도록 구현될 수 있다. 또한, 프로세서(110)는 지도 데이터 등록 처리부, 지도 데이터 압축 처리부, 데이터 최적화 처리부의 기능을 수행하도록 구현될 수 있다. The
메모리(120) 및 저장 장치(150)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read-only memory)(121) 및 RAM(random access memory)(122)를 포함할 수 있다. 본 개시의 실시 예에서 메모리(120)는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 메모리(120)는 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다. The
입력 인터페이스 장치(130)는 데이터(센서 입력)를 프로세서(110)로 제공하도록 구성되며, 출력 인터페이스 장치(140)는 프로세서(110)로부터의 데이터(지도, 인식된 차량 위치 등)를 출력하도록 구성된다. The
네트워크 인터페이스 장치(160)는 유선 네트워크 또는 무선 네트워크를 통해 다른 디바이스(예를 들어, 자율 주행 시스템)와 신호를 송신 또는 수신할 수 있다. The
입력 인터페이스 장치(130), 출력 인터페이스 장치(140) 및 네트워크 인터페이스 장치(160)를 포괄하여 "인터페이스 장치"라고도 명명할 수 있다. The
이러한 구조로 이루어지는 컴퓨팅 장치(100)는 위치 인식 장치/지도 데이터 관리 장치로 명명되어, 본 개시의 일 실시 예에 따른 위의 방법들을 구현할 수 있다. The
또한, 본 개시의 일 실시 예에 따른 방법 중 적어도 일부는 컴퓨팅 장치(100)에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.In addition, at least some of the methods according to an embodiment of the present disclosure may be implemented as a program or software executed in the
또한, 본 개시의 일 실시 예에 따른 방법 중 적어도 일부는 컴퓨팅 장치(100)와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.In addition, at least some of the methods according to an embodiment of the present disclosure may be implemented as hardware capable of being electrically connected to the
본 개시의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 개시가 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiment of the present disclosure is not implemented only through the apparatus and/or method described above, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present disclosure, a recording medium in which the program is recorded, etc. Also, such an implementation can be easily implemented by those skilled in the art to which the present disclosure pertains from the description of the above-described embodiments.
이상에서 본 개시의 실시 예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.Although the embodiments of the present disclosure have been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improved forms of the present disclosure are also provided by those skilled in the art using the basic concept of the present disclosure as defined in the following claims. is within the scope of the right.
Claims (20)
3차원 공간에 대응하는 3차원 좌표 정보를 획득하는 단계;
상기 3차원 좌표 정보를 2차원 평면에 투영하여 구면 거리 영상을 획득하는 단계;
상기 구면 거리 영상에 대해 의미론적 분할을 수행하여 의미론적 분할 영상을 생성하는 단계; 및
상기 구면 거리 영상, 상기 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는 지도 데이터를 생성하는 단계
를 포함하는 방법.A method of generating a map for autonomous driving, comprising:
obtaining 3D coordinate information corresponding to a 3D space;
obtaining a spherical distance image by projecting the three-dimensional coordinate information onto a two-dimensional plane;
generating a semantic segmentation image by performing semantic segmentation on the spherical distance image; and
Generating map data including the spherical distance image, the semantic segmentation image, and attribute information of the lane
How to include.
상기 의미론적 분할 영상을 생성하는 단계는
상기 구면 거리 영상에 대해 의미론적 분할을 수행하는 단계; 및
상기 의미론적 분할에 의해 획득된 영상에서 이동 물체를 제거하여, 도로 정보를 포함하는 상기 의미론적 분할 영상을 생성하는 단계
를 포함하며,
상기 도로 정보는 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하는 분할 정보로 사용되며, 상기 차로의 속성 정보는 상기 의미론적 분할 영상에 포함된 상기 분할 정보를 이용하여 획득되는, 방법.According to claim 1,
The step of generating the semantic segmentation image is
performing semantic segmentation on the spherical distance image; and
generating the semantic segmented image including road information by removing a moving object from the image obtained by the semantic segmentation;
includes,
The road information is used as segmentation information including a pattern of a road surface, a road pattern, and a pattern around a road, and the attribute information of the road is obtained using the segmentation information included in the semantic segmentation image.
지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며,
상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과인, 방법.According to claim 1,
The map has a graph-based structure, the map data is mapped for each node constituting the graph, and the edge information between the nodes includes posture information,
The method of claim 1, wherein the posture information is a result of motion and posture estimation using a gradient of the spherical distance image or a gradient of the semantic segmented image.
상기 지도 데이터를 생성하는 단계는
지도 데이터 생성 지점에 대응하는 노드의 지도 데이터를 생성한 상태에서, 상기 노드의 주변 노드의 지도 데이터를 획득하는 단계; 및
상기 노드의 지도 데이터와 상기 주변 노드의 지도 데이터를 합성하여 상기 노드에 대한 지도 데이터로 사용하는 단계
를 포함하는, 방법.4. The method of claim 3,
The step of generating the map data is
acquiring map data of nodes surrounding the node in a state in which map data of a node corresponding to a map data generation point is generated; and
synthesizing the map data of the node and the map data of the neighboring nodes and using them as map data for the node
A method comprising
상기 지도 데이터를 합성하여 상기 노드에 대한 지도 데이터로 사용하는 단계는,
상기 노드의 구면 거리 영상과 상기 주변 노드의 구면 거리 영상을 합성하는 단계;
상기 노드의 의미론적 분할 영상과 상기 주변 노드의 의미론적 분할 영상을 합성하는 단계;
상기 합성된 의미론적 분할 영상을 기반으로 차로의 속성 정보를 생성하는 단계; 및
상기 합성된 구면 거리 영상, 상기 합성된 의미론적 분할 영상 그리고 상기 차로의 속성 정보를 포함하는 데이터를 상기 노드에 대한 지도 데이터로 사용하는 단계
를 포함하는, 방법.5. The method of claim 4,
The step of synthesizing the map data and using it as map data for the node comprises:
synthesizing the spherical distance image of the node and the spherical distance image of the neighboring node;
synthesizing the semantic segmented image of the node and the semantic segmented image of the neighboring node;
generating vehicle attribute information based on the synthesized semantic segmentation image; and
Using data including the synthesized spherical distance image, the synthesized semantic segmentation image, and the attribute information of the lane as map data for the node
A method comprising
상기 구면 거리 영상을 합성하는 단계는 각 화소별로 누적되는 값 중에서 중간 값을 선택하는 방식을 기반으로 합성된 구면 거리 영상을 획득하며,
상기 의미론적 분할 영상을 합성하는 단계는 각 화소별로 누적되는 값 중에서 가장 많은 분포를 가지는 값을 선택하는 방식을 기반으로 합성된 의미론적 분할 영상을 획득하는, 방법.6. The method of claim 5,
In the synthesizing of the spherical distance image, a synthesized spherical distance image is obtained based on a method of selecting an intermediate value from values accumulated for each pixel,
In the synthesizing of the semantic segmented image, a synthesized semantic segmented image is obtained based on a method of selecting a value having the largest distribution among values accumulated for each pixel.
상기 구면 거리 영상의 합성과 상기 의미론적 분할 영상의 합성시,
상기 노드의 영상과 상기 주변 노드의 영상을 상기 노드를 기준으로 좌표 변환하고, 화소별로 상기 노드의 영상의 대응하는 화소의 값과 상기 주변 노드의 영상의 대응하는 화소의 값을 누적하여 저장하며, 화소별로 누적된 값들 중에서 하나를 선택하는 것에 의해, 2차원 영상 데이터를 획득하고, 상기 2차원 영상 데이터의 화소별로, 주변 화소의 값과 해당 화소의 값을 비교한 결과를 기반으로 해당 화소의 최종 값을 선택하는 방식으로, 상기 합성이 수행되는, 방법.7. The method of claim 6,
When synthesizing the spherical distance image and synthesizing the semantic segmented image,
coordinate transformation of the image of the node and the image of the neighboring node based on the node, and accumulating and storing the value of the corresponding pixel of the image of the node and the value of the corresponding pixel of the image of the neighboring node for each pixel; 2D image data is obtained by selecting one of the values accumulated for each pixel, and the final result of the corresponding pixel is obtained based on the result of comparing the values of the neighboring pixels with the values of the corresponding pixels for each pixel of the 2D image data wherein the synthesis is performed in a manner of selecting a value.
상기 지도 데이터를 압축하는 단계
를 더 포함하며,
상기 압축하는 단계는
각 화소별로 상기 구면 거리 영상과 상기 의미론적 분할 영상을 하나의 영상으로 합쳐서 저장하며, 설정 비트로 이루어지는 화소에 대해, 상기 설정 비트 중 제1 비트에 상기 구면 거리 영상의 거리 정보를 위치시키고, 상기 설정 비트 중 제2 비트에 상기 의미론적 분할 영상의 분할 정보를 위치시키는, 방법.According to claim 1,
compressing the map data
further comprising,
The compressing step
For each pixel, the spherical distance image and the semantic segmented image are combined into one image and stored, and for a pixel composed of a set bit, the distance information of the spherical distance image is placed in a first bit among the set bits, and the setting A method of locating segmentation information of the semantic segmentation image in a second bit among bits.
상기 압축하는 단계는
상기 구면 거리 영상과 상기 의미론적 분할 영상을 압축하는 단계;
상기 압축된 구면 거리 영상의 거리 정보를 양자화하고, 상기 양자화된 거리 정보를 화소의 설정 비트 중 상위 비트에 위치시키는 단계; 및
상기 압축된 의미론적 분할 영상의 분할 정보를 양자화하고, 상기 양자화된 분할 정보를 화소의 설정 비트 중 하위 비트에 위치시키는 단계
를 포함하는, 방법.9. The method of claim 8,
The compressing step
compressing the spherical distance image and the semantic segmentation image;
quantizing the distance information of the compressed spherical distance image, and locating the quantized distance information in a higher bit among set bits of a pixel; and
Quantizing the segmentation information of the compressed semantic segmentation image, and locating the quantized segmentation information in a lower bit among set bits of a pixel
A method comprising
상기 지도 데이터를 등록하는 단계
를 더 포함하고,
상기 등록하는 단계는,
상기 생성된 지도 데이터의 주변 좌표에 기존 지도 데이터가 없는 경우에 상기 생성된 지도 데이터를 신규 지도 데이터로 등록하는 단계; 및
상기 생성된 지도 데이터의 주변 좌표에 기존 지도 데이터가 있는 경우에, 상기 생성된 지도 데이터를 기반으로 상기 기존 지도 데이터를 업데이트하는 단계
를 포함하는, 방법.According to claim 1,
registering the map data
further comprising,
The registration step is
registering the generated map data as new map data when there is no existing map data in the surrounding coordinates of the generated map data; and
updating the existing map data based on the generated map data when there is existing map data in the surrounding coordinates of the generated map data;
A method comprising
상기 업데이트하는 단계는
상기 생성된 지도 데이터를 시간 정보와 함께 추가 지도 데이터로 저장하는 동작을 반복 수행하는 단계; 및
상기 저장된 추가 지도 데이터를 비교하여 설정 시간 동안 서로 상이한 변경 사항이 유지되는 경우에, 상기 추가 지도 데이터를 기반으로 상기 기존 지도 데이터를 업데이트하는 단계
를 포함하는, 방법.11. The method of claim 10,
The updating step is
repeatedly performing an operation of storing the generated map data as additional map data together with time information; and
comparing the stored additional map data and updating the existing map data based on the additional map data when different changes are maintained for a set time period;
A method comprising
상기 지도를 구성하는 그래프를 최적화하는 단계
를 더 포함하며,
상기 최적화하는 단계는 각 노드별로 GPS 데이터를 획득하는 경우 상기 GPS 데이터를 가지는 GPS 노드를 해당 노드에 연결시키고, 상기 그래프에서 루프 폐쇄가 검출되는 경우 대응하는 노드들을 서로 연결시키며, 자세 정보를 사용한 각 노드에 포함되어 있는 차로의 속성 정보를 결합하는, 방법.4. The method of claim 3,
optimizing the graph constituting the map
further comprising,
In the optimizing step, when GPS data is obtained for each node, a GPS node having the GPS data is connected to the corresponding node, and when loop closure is detected in the graph, corresponding nodes are connected to each other, and each node using the posture information A method of combining attribute information of a lane included in a node.
현재 노드에서 센서로부터 입력되는 데이터를 기반으로 구면 거리 영상을 획득하고, 상기 구면 거리 영상으로부터 의미론적 분할 영상을 생성하는 단계;
GPS 데이터 또는 이전 주행 경로를 기반으로 초기 위치를 획득하는 단계;
상기 초기 위치를 기반으로 상기 지도로부터 지도 데이터를 검색하는 단계; 및
상기 검색된 지도 데이터를 기반으로 현재 위치를 획득하는 단계
를 포함하며,
상기 지도의 지도 데이터는 구면 거리 영상, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는, 방법.A method for recognizing a location based on a map for autonomous driving, comprising:
obtaining a spherical distance image based on data input from a sensor at the current node, and generating a semantic segmentation image from the spherical distance image;
acquiring an initial location based on GPS data or a previous driving route;
retrieving map data from the map based on the initial location; and
obtaining a current location based on the searched map data;
includes,
The map data of the map includes a spherical distance image, a semantic segmentation image, and attribute information of a lane.
상기 지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며,
상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과인, 방법.14. The method of claim 13,
The map has a graph-based structure, the map data is mapped for each node constituting the graph, and the edge information between the nodes includes posture information,
The method of claim 1, wherein the posture information is a result of motion and posture estimation using a gradient of the spherical distance image or a gradient of the semantic segmented image.
상기 현재 위치를 획득하는 단계는,
상기 검색된 지도 데이터에 대한 현재 노드의 자세 정보를 추정하고, 상기 추정된 자세 정보와 상기 현재 노드의 움직임에 따른 자세 정보가 설정 조건을 만족하는 경우에, 상기 지도 데이터를 이용하여 상기 현재 위치를 획득하며, 상기 현재 노드에 GPS 데이터가 있는 경우에 상기 GPS 데이터를 추가적으로 이용하여 상기 현재 위치를 획득하는, 방법.15. The method of claim 14,
The step of obtaining the current location includes:
Estimate the posture information of the current node with respect to the searched map data, and when the estimated posture information and the posture information according to the movement of the current node satisfy a setting condition, the current position is obtained using the map data and, when there is GPS data in the current node, additionally using the GPS data to obtain the current location.
인터페이스 장치; 및
상기 인터페이스 장치에 연결되어 위치 인식을 수행하도록 구성된 프로세서
를 포함하며,
상기 프로세서는
상기 인터페이스 장치를 통해 입력되는 3차원 공간에 대응하는 3차원 좌표 정보를 2차원 평면에 투영하여 구면 거리 영상을 획득하는 동작;
상기 구면 거리 영상에 대해 의미론적 분할을 수행하여 의미론적 분할 영상을 생성하는 동작;
GPS 데이터 또는 이전 주행 경로를 기반으로 초기 위치를 획득하는 동작;
상기 초기 위치를 기반으로 지도로부터 지도 데이터를 검색하는 동작; 및
상기 검색된 지도 데이터를 기반으로 현재 위치를 획득하는 동작
을 수행하도록 구성되며, 상기 지도의 지도 데이터는 구면 거리 영상, 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는, 장치.A device for recognizing a location, comprising:
interface device; and
a processor coupled to the interface device and configured to perform location recognition
includes,
the processor is
obtaining a spherical distance image by projecting 3D coordinate information corresponding to a 3D space input through the interface device onto a 2D plane;
generating a semantic segmented image by performing semantic segmentation on the spherical distance image;
acquiring an initial location based on GPS data or a previous driving route;
retrieving map data from a map based on the initial location; and
Acquiring a current location based on the searched map data
, wherein the map data of the map includes a spherical distance image, a semantic segmentation image, and attribute information of a lane.
상기 지도는 그래프 기반 구조로 이루어지고, 상기 그래프를 구성하는 노드별로 상기 지도 데이터가 매핑되며, 상기 노드 사이의 에지 정보는 자세 정보를 포함하며,
상기 자세 정보는 상기 구면 거리 영상의 기울기 또는 상기 의미론적 분할 영상의 기울기를 이용한 움직임 및 자세 추정의 결과인, 장치.17. The method of claim 16,
The map has a graph-based structure, the map data is mapped for each node constituting the graph, and the edge information between the nodes includes posture information,
The apparatus of claim 1, wherein the posture information is a result of motion and posture estimation using a gradient of the spherical distance image or a gradient of the semantic segmented image.
상기 프로세서는 추가적으로,
상기 구면 거리 영상, 상기 의미론적 분할 영상 그리고 차로의 속성 정보를 포함하는 지도 데이터를 생성하는 동작
을 수행하도록 구성되며,
상기 프로세서는 상기 지도 데이터를 생성하는 동작 수행시,
지도 데이터 생성 지점에 대응하는 노드의 지도 데이터를 생성한 상태에서, 상기 노드의 주변 노드의 지도 데이터를 획득하는 동작;
상기 노드의 구면 거리 영상과 상기 주변 노드의 구면 거리 영상을 합성하는 동작;
상기 노드의 의미론적 분할 영상과 상기 주변 노드의 의미론적 분할 영상을 합성하는 동작;
상기 합성된 의미론적 분할 영상을 기반으로 차로의 속성 정보를 생성하는 동작; 및
상기 합성된 구면 거리 영상, 상기 합성된 의미론적 분할 영상 그리고 상기 차로의 속성 정보를 포함하는 데이터를 상기 노드에 대한 지도 데이터로 사용하는 동작
을 수행하도록 구성되는, 장치.17. The method of claim 16,
The processor further comprises:
Generating map data including the spherical distance image, the semantic segmentation image, and attribute information of a lane
is configured to perform
When the processor performs the operation of generating the map data,
acquiring map data of nodes surrounding the node in a state in which map data of a node corresponding to a map data generating point is generated;
synthesizing the spherical distance image of the node and the spherical distance image of the neighboring node;
synthesizing the semantic segmented image of the node and the semantic segmented image of the neighboring node;
generating vehicle attribute information based on the synthesized semantic segmentation image; and
Using data including the synthesized spherical distance image, the synthesized semantic segmentation image, and the attribute information of the lane as map data for the node
A device configured to do
상기 프로세서는 상기 의미론적 분할 영상을 생성하는 동작 수행시,
상기 구면 거리 영상에 대해 의미론적 분할을 수행하는 동작; 및
상기 의미론적 분할에 의해 획득된 영상에서 이동 물체를 제거하여, 도로 정보를 포함하는 상기 의미론적 분할 영상을 생성하는 동작
을 수행하도록 구성되며,
상기 도로 정보는 노면의 패턴, 도로 패턴, 도로 주변의 패턴을 포함하는 분할 정보로 사용되며, 상기 차로의 속성 정보는 상기 의미론적 분할 영상에 포함된 상기 분할 정보를 이용하여 획득되는, 장치.17. The method of claim 16,
When the processor performs the operation of generating the semantic segmentation image,
performing semantic segmentation on the spherical distance image; and
An operation of generating the semantic segmentation image including road information by removing a moving object from the image obtained by the semantic segmentation
is configured to perform
The road information is used as segmentation information including a pattern of a road surface, a road pattern, and a pattern around a road, and the attribute information of the road is obtained using the segmentation information included in the semantic segmentation image.
상기 지도 데이터는 압축되어 저장 관리되며, 압축시, 각 화소별로 상기 구면 거리 영상과 상기 의미론적 분할 영상을 하나의 영상으로 합쳐서 저장하며, 설정 비트로 이루어지는 화소에 대해, 상기 설정 비트 중 제1 비트에 상기 구면 거리 영상의 거리 정보가 위치되고, 상기 설정 비트 중 제2 비트에 상기 의미론적 분할 영상의 분할 정보가 위치되는, 장치.
17. The method of claim 16,
The map data is compressed and stored and managed, and when compressed, the spherical distance image and the semantic segmented image are combined into one image for each pixel and stored. The distance information of the spherical distance image is located, and the division information of the semantic segmentation image is located in a second bit of the setting bits.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/532,846 US20220163346A1 (en) | 2020-11-23 | 2021-11-22 | Method and apparatus for generating a map for autonomous driving and recognizing location |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200157663 | 2020-11-23 | ||
KR20200157663 | 2020-11-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220071112A true KR20220071112A (en) | 2022-05-31 |
Family
ID=81780026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210152332A KR20220071112A (en) | 2020-11-23 | 2021-11-08 | Method and apparatus for generating a map for autonomous driving and recognizing location |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220071112A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116309943A (en) * | 2023-05-24 | 2023-06-23 | 联友智连科技有限公司 | Parking lot semantic map road network construction method and device and electronic equipment |
-
2021
- 2021-11-08 KR KR1020210152332A patent/KR20220071112A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116309943A (en) * | 2023-05-24 | 2023-06-23 | 联友智连科技有限公司 | Parking lot semantic map road network construction method and device and electronic equipment |
CN116309943B (en) * | 2023-05-24 | 2023-08-08 | 联友智连科技有限公司 | Parking lot semantic map road network construction method and device and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10991156B2 (en) | Multi-modal data fusion for enhanced 3D perception for platforms | |
Xia et al. | Geometric primitives in LiDAR point clouds: A review | |
US10437252B1 (en) | High-precision multi-layer visual and semantic map for autonomous driving | |
US10794710B1 (en) | High-precision multi-layer visual and semantic map by autonomous units | |
US9990736B2 (en) | Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms | |
CN114842438B (en) | Terrain detection method, system and readable storage medium for automatic driving automobile | |
US11651553B2 (en) | Methods and systems for constructing map data using poisson surface reconstruction | |
WO2018068653A1 (en) | Point cloud data processing method and apparatus, and storage medium | |
US10430659B2 (en) | Method and apparatus for urban road recognition based on laser point cloud, storage medium, and device | |
US20220163346A1 (en) | Method and apparatus for generating a map for autonomous driving and recognizing location | |
JP2019527832A (en) | System and method for accurate localization and mapping | |
JP6997057B2 (en) | Devices, programs and methods for estimating terminal position from non-animal body information | |
AU2020229324B2 (en) | System and method for surface feature detection and traversal | |
KR20220071112A (en) | Method and apparatus for generating a map for autonomous driving and recognizing location | |
Quackenbush et al. | Road extraction: A review of LiDAR-focused studies | |
CN116664851A (en) | Automatic driving data extraction method based on artificial intelligence | |
CN114659513B (en) | Unstructured road-oriented point cloud map construction and maintenance method | |
CN116222593A (en) | Open-air mining area map crowdsourcing acquisition and construction device | |
KR20220151572A (en) | Method and System for change detection and automatic updating of road marking in HD map through IPM image and HD map fitting | |
CN111127474B (en) | Airborne LiDAR point cloud assisted orthophoto mosaic line automatic selection method and system | |
CN113137961A (en) | Mobile device positioning system, related method, device and equipment | |
JP2023508276A (en) | map containing covariances at multiresolution voxels | |
KR102664699B1 (en) | Method for building modeling aerial lidar, and computer program recorded on record-medium for executing method therefor | |
Li et al. | Improving Vehicle Localization with Lane Marking Detection Based on Visual Perception and Geographic Information | |
KR102616435B1 (en) | Method for map update, and computer program recorded on record-medium for executing method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |