KR20230072170A - Method for lighting 3D map medeling data - Google Patents

Method for lighting 3D map medeling data Download PDF

Info

Publication number
KR20230072170A
KR20230072170A KR1020210158634A KR20210158634A KR20230072170A KR 20230072170 A KR20230072170 A KR 20230072170A KR 1020210158634 A KR1020210158634 A KR 1020210158634A KR 20210158634 A KR20210158634 A KR 20210158634A KR 20230072170 A KR20230072170 A KR 20230072170A
Authority
KR
South Korea
Prior art keywords
face
face group
faces
slope
group
Prior art date
Application number
KR1020210158634A
Other languages
Korean (ko)
Other versions
KR102648882B1 (en
Inventor
김명환
황민
이후경
강필도
김상환
박성혁
Original Assignee
(주)심스리얼리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)심스리얼리티 filed Critical (주)심스리얼리티
Priority to KR1020210158634A priority Critical patent/KR102648882B1/en
Publication of KR20230072170A publication Critical patent/KR20230072170A/en
Application granted granted Critical
Publication of KR102648882B1 publication Critical patent/KR102648882B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Abstract

본 발명은 3차원 지도에 대한 모델링 데이터의 경량화 방법에 관한 것으로, 보다 구체적으로 3차원 지도의 모델링 데이터에서 페이스의 기울기에 기초하여 기울기 차이가 임계 기울기 이내인 페이스를 동일 그룹으로 묶으며 동일 그룹에 존재하는 페이스의 특징점을 서로 병합하여 경량화함으로써 3차원 지도에 대한 모델링 데이터를 적은 연산량으로 효율적으로 경량화할 수 있으며, 동일 페이스 그룹에 존재하는 페이스의 기울기를 평탄화시 인접 페이스 그룹의 기울기를 고려함으로써 3차원 지도에 대한 모델링 데이터를 경량화함에도 불구하고 3차원 공간을 자연스럽게 구현할 수 있는 3차원 지도에 대한 모델링 데이터의 경량화 방법에 관한 것이다.The present invention relates to a method for reducing modeling data for a 3D map, and more specifically, in the modeling data of a 3D map, based on the slope of the face, groups faces whose slope difference is within a critical slope are grouped into the same group, and the same group By merging feature points of existing faces with each other to reduce weight, modeling data for a 3D map can be efficiently weighted with a small amount of computation. The present invention relates to a method for reducing modeling data for a 3D map, which can naturally implement a 3D space even though modeling data for a 3D map is lightweight.

Description

3차원 지도에 대한 모델링 데이터의 경량화 방법{Method for lighting 3D map medeling data} Method for lightening modeling data for 3D map {Method for lighting 3D map medeling data}

본 발명은 3차원 지도에 대한 모델링 데이터의 경량화 방법에 관한 것으로, 보다 구체적으로 3차원 지도의 모델링 데이터에서 페이스의 기울기에 기초하여 기울기 차이가 임계 기울기 이내인 페이스를 동일 그룹으로 묶으며 동일 그룹에 존재하는 페이스의 특징점을 서로 병합함으로써 3차원 지도에 대한 모델링 데이터를 적은 연산량으로 효율적으로 경량화할 수 있으며, 동일 페이스 그룹에 존재하는 페이스의 기울기를 평탄화시 인접 페이스 그룹의 기울기를 고려함으로써 3차원 지도에 대한 모델링 데이터를 경량화함에도 불구하고 3차원 공간을 자연스럽게 구현할 수 있는 3차원 지도에 대한 모델링 데이터의 경량화 방법에 관한 것이다.The present invention relates to a method for reducing modeling data for a 3D map, and more specifically, in the modeling data of a 3D map, based on the slope of the face, groups faces whose slope difference is within a critical slope are grouped into the same group, and the same group By merging feature points of existing faces, modeling data for a 3D map can be efficiently reduced with a small amount of computation, and when flattening the slope of a face existing in the same face group, the slope of an adjacent face group is taken into account to 3D map. It relates to a method for reducing modeling data for a 3D map that can naturally implement a 3D space despite lightening modeling data for a map.

비전기술을 이용하여 실시간으로 객체를 검출하고 인식하는 일은 어려운 일임에도 불구하고 영상처리 기법의 발전과 더불어 컴퓨터, 카메라 등의 하드웨어의 성능 향상으로 인하여 이에 대한 연구가 활발히 진행되고 있다.Although it is difficult to detect and recognize objects in real time using vision technology, research on this is being actively conducted due to the development of image processing techniques and the improvement of hardware such as computers and cameras.

공간에서 효과적으로 위치를 판단하며 이동하기 위해서 이동하고 있는 공간에 대한 지도를 생성하고 공간상의 자신의 위치를 인식하는 것이 요구된다. 주변 공간에 대하여 위치를 인식하고 지도를 형성하는 것을 동시 위치인식 및 지도형성(SLAM : Simultaneous Localization And Mapping)이라고 한다.In order to effectively determine a position in space and move, it is required to create a map of the space in which you are moving and to recognize your own position in space. Recognizing a location in the surrounding space and forming a map is called Simultaneous Localization And Mapping (SLAM).

슬램(SLAM, Simultaneous Localization And Mapping)은 1986년 랜들C. 스미스와 피터 치즈맨의 로봇공학 논문에 처음 등장한 개념으로 정보가 주어지지 않는 임의의 3차원 공간을 이동하며 3차원 공간을 카메라로 촬영하고 촬영한 영상으로부터 지도를 작성하고 현재 위치를 추정할 수 있는 기술을 의미한다.SLAM (Simultaneous Localization And Mapping) was founded in 1986 by Randall C. It is a concept that first appeared in Smith and Peter Cheeseman's robotics thesis. It moves in an arbitrary 3D space where information is not given, shoots the 3D space with a camera, creates a map from the captured image, and estimates the current location. means technology.

SLAM은 공간에 위치하는 객체의 특징 데이터에 기반하여 지도를 생성하는데, 지도 생성에 사용되는 센서 유형에 따라 SLAM 알고리즘에 활용되는 특징 데이터도 다르다. 예컨대, 초음파(Sonar), 레이저와 같은 거리 센서를 통해 얻어진 거리 정보, GPS 기기를 통해 직접 얻어지는 좌표 정보, IMU장비를 통해 얻어지는 가속도 정보, 카메라의 영상 정보 등이 특징 데이터로 사용될 수 있다.SLAM creates a map based on the feature data of an object located in space, and the feature data used in the SLAM algorithm differs depending on the type of sensor used to create the map. For example, distance information obtained through a distance sensor such as ultrasound or laser, coordinate information obtained directly through a GPS device, acceleration information obtained through an IMU device, image information of a camera, and the like may be used as feature data.

카메라의 영상 정보를 이용한 SLAM 기법을 비주얼(Visual) SLAM이라고 하는데, 비주얼 SLAM은 영상에서 추출한 시각 특징점을 이용하여 주변 환경에 대한 지도를 생성하고, 생성한 지도에 기반하여 현재 위치를 추정한다. The SLAM technique using camera image information is called visual SLAM. Visual SLAM creates a map of the surrounding environment using visual feature points extracted from the image, and estimates the current location based on the created map.

도 1은 종래 비주얼 SLAM 기법으로 3차원 지도를 생성하는 방법의 일 예를 도시하고 있다.1 illustrates an example of a method for generating a 3D map using a conventional visual SLAM technique.

도 1을 참고로 보다 구체적으로 살펴보면, 지도를 생성하고자 하는 3차원 공간의 영상을 촬영하고 촬영한 영상에서 특징점을 추출한다(S10). 특징점을 추출하기 위하여 사람이 직접 웨어러블 영상 장비를 착용 후 3차원 공간을 돌아다니며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있거나, 이동 로봇에 영상 촬영 장비를 설치하여 이동 로봇을 3차원 공간으로 이동시키며 영상을 촬영하고 촬영한 영상에서 특징점을 추출할 수 있다. Looking more specifically with reference to FIG. 1 , an image of a 3D space to be generated for a map is photographed and feature points are extracted from the photographed image (S10). In order to extract feature points, a person can directly wear wearable imaging equipment, move around the 3D space to take images, and extract feature points from the captured images, or install imaging equipment on a mobile robot to move the mobile robot into a 3D space. It is possible to capture an image and extract feature points from the captured image.

여기서 영상 장비는 모노 카메라, 스테레오 카메라, 깊이 카메라 또는 이들의 조합이 사용될 수 있다. 한편 카메라는 CCD(charge coupled device) 또는 CMOS(complementary metal oxide semiconductor) 이미지 센서와, 이미지 센서의 출력을 수신하여 2D 이미지를 생성하는 영상처리모듈 등을 구비하고 있다.Here, as the video equipment, a mono camera, a stereo camera, a depth camera, or a combination thereof may be used. Meanwhile, the camera includes a charge coupled device (CCD) or complementary metal oxide semiconductor (CMOS) image sensor, and an image processing module generating a 2D image by receiving an output of the image sensor.

특징점은 객체의 형상을 대표하는 요소로서 객체를 묘사하고 모델링할 수 있는 중요한 점이며, 명확하게 식별이 가능한 특이점(interest point)으로서 모서리(corner), 정점(apex) 및 꼭지점(vertex)이 특징점에 해당된다. 영상에서 특징점을 추출하는 방법은 CSS(Curvature Scale Space), FAST-ER(FAST-Enhanced Repeatability)등의 알고리즘을 사용하거나, Harris corner detection 기법을 사용하여 특정한 "점"을 추출하거나, Canny edgy detection 기법을 사용하여 특정한 "선"을 추출하는 것이 가능하다. 다양한 방식으로 특징점을 추출할 수 있으며 이에 대한 상세한 설명은 생략한다.As an element representing the shape of an object, a feature point is an important point that can describe and model an object, and as a clearly identifiable interest point, a corner, apex, and vertex are included in the feature point. applicable Methods for extracting feature points from images use algorithms such as Curvature Scale Space (CSS) and FAST-Enhanced Repeatability (FAST-ER), extract specific "points" using the Harris corner detection technique, or use the Canny edge detection technique. It is possible to extract specific "lines" using Feature points can be extracted in various ways, and a detailed description thereof will be omitted.

추출한 특징점은 2차원 상의 좌표로 표시되는데, 특징점의 깊이 정보를 구비하는 3차원 좌표로 변환하여 포인트 클라우드를 생성한다(S30). 촬영한 영상에서 깊이 정보를 획득하기 위하여 모노 카메라를 통해 촬영한 현재 영상 프레임을 기준으로 전/후 영상 프레임을 이용하여 깊이 정보를 획득하거나, 스테레오 카메라를 통해 촬영한 영상 프레임의 시차를 이용하여 깊이 정보를 획득하거나, 깊이 카메라를 이용하여 깊이 정보를 획득할 수 있다.The extracted feature points are displayed as 2-dimensional coordinates, and a point cloud is generated by converting the feature points into 3-dimensional coordinates having depth information (S30). In order to obtain depth information from the captured image, depth information can be acquired using the previous/next image frame based on the current image frame captured through a mono camera, or using the parallax of the image frame captured through a stereo camera. Information may be obtained or depth information may be obtained using a depth camera.

추출한 특징점은 3차원 공간에서 촬영한 영상에서 계속해서 추척되며, 3차원 공간 전체에 대한 포인트 클라우드를 조합하여(S50), 3차원 공간의 3차원 지도를 생성한다(S70). The extracted feature points are continuously tracked in the image taken in the 3D space, and a 3D map of the 3D space is created by combining point clouds for the entire 3D space (S50).

생성한 3차원 지도에서 특징점들은 3차원 좌표로 매핑되어 저장되는데, 차후 사용자가 현재 위치에서 촬영한 영상에서 추출되는 특징점들과 생성한 3차원 지도에 일치하는 특징점을 비교하여 3차원 지도에서 현재 위치를 추정할 수 있다.In the created 3D map, the feature points are mapped and stored as 3D coordinates. Later, the feature points extracted from the image taken by the user at the current location are compared with the feature points corresponding to the created 3D map to determine the current location on the 3D map. can be estimated.

이와 같이 작성한 3차원 지도에 대한 모델링 데이터는 특징점(vertices), 특징점을 서로 연결한 에지(edge) 그리고 특징점으로 연결된 3각형의 페이스(face) 등으로 구성되는데, 도 2는 3차원 지도에 대한 모델링 데이터이 일 예를 도시하고 있다.The modeling data for the 3D map created in this way consists of vertices, edges connecting the vertices, and triangular faces connected to the feature points. The data shows an example.

3차원 지도에 대한 모델링 데이터에서 페이스가 많을수록 3차원 공간을 부드럽게 표현할 수 있으나, 이에 상응하여 3차원 지도에 대한 모델링 데이터의 크기가 증가하여 데이터를 관리하기 곤란하다는 문제점을 가진다.The more faces in the modeling data for the 3D map, the smoother the 3D space can be expressed. However, the size of the modeling data for the 3D map increases correspondingly, making it difficult to manage the data.

따라서 3차원 지도에 대한 모델링 데이터를 줄이면서 동시에 3차원 공간을 사용자가 자연스럽게 인식할 수 있는 3차원 지도에 대한 모델링 데이터의 경량화 기술이 요구된다. Therefore, there is a need for a technology for reducing modeling data for a 3D map and at the same time reducing the modeling data for a 3D map so that a user can naturally recognize a 3D space.

본 발명은 위에서 언급한 종래 3차원 지도에 대한 모델링 데이터가 가지는 문제점을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 페이스의 기울기에 기초하여 기울기 차이가 임계 기울기 이내인 페이스를 동일 그룹으로 묶으며 동일 그룹에 존재하는 페이스의 특징점을 서로 병합하여 3차원 지도에 대한 모델링 데이터를 경량화할 수 있는 방법을 제공하는 것이다.The present invention is to solve the above-mentioned problems of the modeling data for the conventional 3D map, and an object of the present invention is to group faces whose slope difference is within a critical slope based on the slope of the face into the same group, It is to provide a method for lightening modeling data for a 3D map by merging face feature points existing in the same group with each other.

본 발명이 이루고자 하는 다른 목적은 동일 그룹에 존재하는 페이스의 기울기를 평탄화시 인접 그룹의 기울기를 고려하여 3차원 지도에 대한 모델링 데이터를 경량화함에도 불구하고 3차원 공간을 자연스럽게 구현할 수 있는 3차원 지도에 대한 모델링 데이터를 경량화할 수 있는 방법을 제공하는 것이다.Another object to be achieved by the present invention is a 3D map that can naturally implement a 3D space despite lightening modeling data for a 3D map by considering the slope of an adjacent group when flattening the slope of a face existing in the same group. It is to provide a way to lighten the modeling data for

본 발명의 목적을 달성하기 위하여 본 발명에 따른, 3차원 공간에 대한 모델링 데이터의 경량화 방법은 3차원 공간에 존재하는 객체의 특징점으로 이루어진 3차원 공간에 대한 모델링 데이터에서 특징점들로부터 만들어지는 페이스(face)의 기울기에 기초하여 인접한 페이스를 서로 연결한 페이스 그룹을 생성하는 단계와, 페이스 그룹에 존재하는 페이스를 서로 동일한 기울기로 변경하여 페이스 그룹을 평탄화하는 단계와, 평탄화된 페이스 그룹에서 특징점을 병합하여 병합 페이스 그룹을 생성하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the object of the present invention, a method for lightening modeling data for a 3D space according to the present invention is a face created from feature points in modeling data for a 3D space composed of feature points of an object existing in the 3D space ( generating a face group in which adjacent faces are connected to each other based on the slope of each face, flattening the face group by changing faces existing in the face group to have the same slope, and merging feature points from the flattened face group. and generating a merged face group by doing so.

본 발명에서 페이스 그룹을 생성하는 단계는 인접한 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접한 페이스들을 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 한다.In the step of generating a face group in the present invention, when the slope between adjacent faces is within a critical slope, the face group is created by connecting adjacent faces to each other.

본 발명의 일 실시예에서 페이스 그룹을 생성하는 단계는 에지(edge)를 공유하는 인접한 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접한 페이스들을 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 한다.In an embodiment of the present invention, the step of generating a face group may include generating a face group by connecting adjacent faces to each other when a slope between adjacent faces sharing an edge is within a critical slope.

본 발명의 다른 실시예에서 페이스 그룹을 생성하는 단계는 기준 페이스와 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 기준 페이스와 인접 페이스를 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 한다.In another embodiment of the present invention, the step of generating a face group may include generating a face group by connecting the reference face and the adjacent face to each other when the slope between the reference face and the adjacent face is within a threshold slope.

바람직하게, 본 발명의 일 실시예에서 페이스 그룹을 평탄화하는 단계는 제1 페이스 그룹을 구성하는 페이스 중 제1 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스를 판단하는 단계와, 공유 페이스의 기울기를 계산하고 공유 페이스의 기울기 평균값을 계산하는 단계와, 계산한 기울기 평균값으로 제1 페이스 그룹을 구성하는 페이스의 기울기를 동일하게 변경하여 제1 페이스 그룹을 평탄화하는 단계를 포함하는 것을 특징으로 한다.Preferably, in an embodiment of the present invention, the flattening of the face group includes determining a shared face that shares an edge with an adjacent face group adjacent to the first face group among the faces constituting the first face group; and flattening the first face group by equally changing the slopes of the faces constituting the first face group with the calculated slope average value. do.

본 발명에서 병합 페이스 그룹을 생성하는 단계는 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스를 제외하고 가장 작은 수의 페이스를 가지도록 병합 페이스 그룹을 생성하는 것을 특징으로 한다.The step of generating the merged face group in the present invention is characterized in that the merged face group is created to have the smallest number of faces excluding faces connected to feature points existing around the outer periphery of the face group.

바람직하게 본 발명의 일 실시예에서 병합 페이스 그룹을 생성하는 단계는 페이스 그룹의 페이스 중 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스를 제외하고 가장 넓은 면적을 가지는 최대 면적 페이스를 검색하는 단계(a 단계), 최대 면적 페이스의 에지 중 가장 긴 최대 에지를 판단하는 단계(b 단계), 최대 에지의 중간지점을 계산하여 중간지점에 가상 특징점을 생성하는 단계(c 단계), 최대 에지를 구성하는 특징점들을 가상 특징점으로 병합하는 단계(d 단계)를 포함하는 것을 특징으로 한다.Preferably, in one embodiment of the present invention, the step of generating the merged face group is the step of searching for a maximum area face having the largest area, excluding faces connected to feature points existing around the outer periphery of the face group, among the faces of the face group ( step a), determining the longest maximum edge among the edges of the maximum area face (step b), calculating the midpoint of the maximum edge and generating a virtual feature point at the midpoint (step c), constituting the maximum edge It is characterized in that it includes a step (d step) of merging feature points into virtual feature points.

본 발명에서 병합 페이스 그룹을 생성하는 단계는 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스만 남을 때까지 (a) 단계 내지 (d) 단계를 반복하는 것을 특징으로 한다.In the step of generating a merged face group in the present invention, steps (a) to (d) are repeated until only faces connected to feature points existing around the outer periphery of the face group remain.

본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 방법은 페이스의 기울기에 기초하여 기울기 차이가 임계 기울기 이내인 페이스를 동일 그룹으로 묶으며 동일 그룹에 존재하는 페이스의 특징점을 서로 병합함으로써, 3차원 지도에 대한 모델링 데이터를 적은 연산량으로 효율적으로 경량화할 수 있다.A method of reducing modeling data for a 3D map according to the present invention groups faces whose gradient difference is within a critical gradient into the same group based on the gradient of the face, and merges feature points of the faces existing in the same group. Modeling data for a map can be efficiently lightweight with a small amount of computation.

한편 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 방법은 동일 그룹에 존재하는 페이스의 기울기를 평탄화시 인접 그룹의 기울기를 고려함으로써, 3차원 지도에 대한 모델링 데이터를 경량화함에도 불구하고 3차원 공간을 자연스럽게 구현할 수 있다.On the other hand, the method of reducing modeling data for a 3D map according to the present invention considers the slope of an adjacent group when flattening the slope of a face existing in the same group. can be implemented naturally.

도 1은 종래 비주얼 SLAM 기법으로 3차원 지도를 생성하는 방법의 일 예를 도시하고 있다.
도 2는 3차원 지도에 대한 모델링 데이터이 일 예를 도시하고 있다.
도 3은 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 장치를 설명하기 위한 기능 블록도이다.
도 4는 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 방법을 설명하기 위한 흐름도이다.
도 5는 3차원 지도에 대한 모델링 데이터의 일 예를 도시하고 있다.
도 6은 페이스 사이의 기울기를 계산하는 일 예를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따라 동일 페이스 그룹을 평탄화하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명에서 동일 페이스 그룹을 평탄화하는 일 예를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에서 병합 페이스 그룹을 생성하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명에서 병합 페이스 그룹을 생성하는 일 예를 설명하기 위한 도면이다.
1 illustrates an example of a method for generating a 3D map using a conventional visual SLAM technique.
2 shows an example of modeling data for a 3D map.
3 is a functional block diagram for explaining an apparatus for reducing the weight of modeling data for a 3D map according to the present invention.
4 is a flowchart illustrating a method of reducing the weight of modeling data for a 3D map according to the present invention.
5 shows an example of modeling data for a 3D map.
6 is a diagram for explaining an example of calculating a slope between faces.
7 is a flowchart illustrating a method of flattening a same face group according to an embodiment of the present invention.
8 is a diagram for explaining an example of flattening the same face group in the present invention.
9 is a flowchart illustrating a method of generating a merged face group according to an embodiment of the present invention.
10 is a diagram for explaining an example of generating a merge face group in the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.It should be noted that technical terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in the present invention should be interpreted in terms commonly understood by those of ordinary skill in the art to which the present invention belongs, unless specifically defined otherwise in the present invention, and are excessively inclusive. It should not be interpreted in a positive sense or in an excessively reduced sense. In addition, when the technical terms used in the present invention are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that those skilled in the art can correctly understand.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, singular expressions used in the present invention include plural expressions unless the context clearly dictates otherwise. In the present invention, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various elements or steps described in the invention, and some of the elements or steps are included. It should be construed that it may not be, or may further include additional components or steps.

또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

본 발명은(연구관리전문기관) 대전정보문화산업진흥원, (연구사업명) 2021년 대전 XR융합콘텐츠 고도화 지원사업,(연구과제명) 3D 가상현실기반 정비학습 시뮬레이션 고도화, (과제수행기관명) ㈜심스리얼리티,(연구기간)2021.08.11 ~ 2021.12.10의 과제 성과로 출원되는 발명이다.The present invention (research management specialized institution) Daejeon Information Culture Industry Promotion Agency, (research project name) 2021 Daejeon   XR convergence content advancement support project, (research project name) 3D   virtual reality-based maintenance learning simulation advancement, (project performing organization name) Sims Co., Ltd. Reality, (research period) 2021.08.11 ~ 2021.12.10 It is an invention that is applied for as a result of the task.

이하 첨부한 도면을 참고로 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 방법에 대해 보다 구체적으로 살펴본다.Hereinafter, a method of reducing modeling data for a 3D map according to the present invention will be described in more detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 장치를 설명하기 위한 기능 블록도이다.3 is a functional block diagram for explaining an apparatus for reducing the weight of modeling data for a 3D map according to the present invention.

도 3을 참고로 보다 구체적으로 살펴보면, 데이터베이스부(120)에는 3차원 공간을 스캔하여 생성한 3차원 지도에 대한 모델링 데이터가 저장되어 있다. 그룹 생성부(110)는 데이터베이스부(120)에 저장되어 있는 모델링 데이터를 추출하고 추출한 모델링 데이터에서 객체의 특징점들로부터 만들어지는 페이스의 기울기를 계산하며 페이스의 기울기가 임계 기울기 이내인 페이스를 서로 연결하여 페이스 그룹으로 생성한다.Looking more specifically with reference to FIG. 3 , modeling data for a 3D map generated by scanning a 3D space is stored in the database unit 120 . The group creation unit 110 extracts modeling data stored in the database unit 120, calculates the slope of a face made from feature points of an object from the extracted modeling data, and connects faces whose slopes are within a critical slope to each other. to create a face group.

평탄화부(130)는 페이스 그룹에 포함되어 있는 페이스들에 대한 평탕화 기울기를 계산하고, 계산한 평탄화 기울기로 페이스 그룹에 존재하는 모든 페이스들의 기울기를 동일하게 변경하여 페이스 그룹을 평탄화한다. The flattening unit 130 flattens the face group by calculating a flattening slope for the faces included in the face group and changing the slopes of all faces in the face group to the same level with the calculated flattening slope.

병합부(150)는 평탄화된 페이스 그룹에 존재하는 페이스의 특징점을 서로 병합한다. The merging unit 150 merges feature points of faces existing in the flattened face group with each other.

평탄화부(130)와 병합부(150)는 그룹 생성부(110)에서 생성된 모든 페이스 그룹에 대해 앞서 설명한 평탄화 동작과 병합 동작을 반복하여 데이터베이스부(120)에 저장된 3차원 지도에 대한 모델링 데이터를 경량화하며, 경량화된 3차원 지도에 대한 모델링 데이터는 데이터베이스부(120)에 저장된다. 여기서 경량화된 3차원 지도에 대한 모델링 데이터는 경량화되지 않은 3차원 지도에 대한 모델링 데이터와 함께 데이터베이스부(120)에 저장되거나, 경량화되지 않은 3차원 지도에 대한 모델링 데이터를 갱신하여 경량화된 3차원 지도에 대한 모델링 데이터만이 저장될 수 있다. The flattening unit 130 and the merging unit 150 repeat the flattening and merging operations described above for all the face groups generated by the group generator 110, and the modeling data for the 3D map stored in the database unit 120. and modeling data for the lightweight 3D map are stored in the database unit 120. Here, the modeling data for the lightweight 3D map is stored in the database unit 120 together with the modeling data for the non-lightened 3D map, or the modeling data for the non-lightened 3D map is updated to reduce the weight of the 3D map. Only modeling data for can be stored.

응용부(170)는 데이터베이스부(120)에 저장된 경량화된 3차원 지도에 대한 모델링 데이터를 이용하여 3차원 공간을 구현하는데, 응용부(170)는 경량화된 3차원 지도에 대한 모델링 데이터를 이용하여 3차원 공간의 디스플레이, 3차원 공간의 이동 등을 구현함으로써 적은 연산량으로 구현 속도를 향상시킬 수 있다.The application unit 170 implements a 3D space using the modeling data for the lightweight 3D map stored in the database unit 120, the application unit 170 uses the modeling data for the lightweight 3D map It is possible to improve the implementation speed with a small amount of calculation by implementing the display of the 3D space and the movement of the 3D space.

도 4는 본 발명에 따른 3차원 지도에 대한 모델링 데이터의 경량화 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method of reducing the weight of modeling data for a 3D map according to the present invention.

도 4를 참고로 보다 구체적으로 살펴보면, 3차원 공간에 존재하는 객체의 특징점으로 이루어진 3차원 공간에 대한 모델링 데이터에서 특징점들로부터 만들어지는 페이스의 기울기를 계산하고, 계산한 페이스의 기울기에 기초하여 인접 페이스를 서로 연결하여 페이스 그룹을 생성한다(S110).Looking more specifically with reference to FIG. 4, the slope of the face made from the feature points in the modeling data for the 3-dimensional space consisting of the feature points of the object existing in the 3-dimensional space is calculated, and the adjacent faces are based on the slope of the calculated face. Faces are connected to each other to create a face group (S110).

본 발명에서 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접 페이스들을 서로 연결하여 페이스 그룹을 생성하는데, 본 발명의 일 실시예에서 에지(edge)를 공유하는 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접한 페이스들을 서로 연결하여 페이스 그룹을 생성한다.In the present invention, when the slope between adjacent faces is within the critical slope, the adjacent faces are connected to each other to create a face group. In one embodiment of the present invention, the slope between adjacent faces sharing an edge is within the critical slope In this case, a face group is created by connecting adjacent faces to each other.

본 발명의 다른 실시예에서 기준 페이스와 주변 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 기준 페이스와 주변 인접 페이스를 서로 연결하여 페이스 그룹을 생성할 수 있다.In another embodiment of the present invention, when the gradient between the reference face and the neighboring faces is within the critical gradient, a face group may be created by connecting the reference face and the neighboring faces to each other.

즉, 페이스 그룹을 생성하는 일 실시예에서 서로 에지를 공유하는 인접한 페이스의 기울기가 임계 기울기 이내인 경우 동일한 페이스 그룹으로 연결하며, 페이스 그룹을 생성하는 다른 실시예에서 기준 페이스를 기준으로 서로 에지를 공유하거나 공유하지 않는 주변 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 동일한 페이스 그룹으로 연결할 수 있다. That is, in one embodiment of generating a face group, if the slopes of adjacent faces sharing edges with each other are within a critical slope, they are connected to the same face group, and in another embodiment of generating a face group, edges are connected to each other based on a reference face. If the slope between neighboring faces that share or do not share is within a critical slope, they can be connected as the same face group.

본 발명이 적용되는 분야에 따라 다양한 방식으로 페이스 그룹을 생성할 수 있으며 이는 본 발명의 범위에 속한다.Face groups can be created in various ways according to the field to which the present invention is applied, which falls within the scope of the present invention.

페이스 그룹을 생성한 경우, 페이스 그룹에 존재하는 페이스에 대한 평탄화 기울기를 계산하고 계산한 평탄화 기울기로 페이스 그룹에 존재하는 모든 페이스들의 기울기를 동일하게 변경하여 페이스 그룹을 평탄화한다(S130).When the face group is generated, the face group is flattened by calculating a flattening slope for the faces in the face group and changing the slopes of all faces in the face group to the same with the calculated flattening slope (S130).

평탄화된 페이스 그룹에서 특징점을 병합하여 병합 페이스 그룹을 생성한다(S150). 평탄화된 페이스 그룹 단위로 각 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 외부 페이스로 이루어진, 가장 작은 수의 페이스를 가지도록 병합 페이스 그룹을 생성한다.A merged face group is created by merging feature points in the flattened face group (S150). In flattened face group units, a merged face group is created to have the smallest number of faces consisting of external faces connected to feature points existing around the outer periphery of each face group.

도 5는 3차원 지도에 대한 모델링 데이터의 일 예를 도시하고 있는데, 도 5(a)에 도시되어 있는 바와 같이 임의로 선택된 제1 페이스(F1)부터 시작하여 서로 인접한 페이스의 기울기가 임계 기울기 이내인 페이스를 동일한 페이스 그룹으로 생성한다. 5 shows an example of modeling data for a 3D map, starting from a randomly selected first face F1 as shown in FIG. Create faces as the same face group.

일 실시예에서 제1 페이스(F1)와 에지를 공유하는 제2 페이스(F2) 사이의 기울기가 임계 기울기 이내인 경우 제1 페이스(F1)와 제 2페이스(F2)를 서로 연결하여 동일 페이스 그룹으로 생성하며, 다시 제2 페이스(F2)와 에지를 공유하는 제3 페이스(F3) 사이의 기울기가 임계 기울기 이내인 경우 제1 페이스(F1), 제2 페이스(F2), 제3 페이스(F3)를 서로 연결하여 동일 페이스 그룹으로 생성한다. 이와 같이 서로 인접한 페이스의 기울기가 임계 기울기 이내인 모든 인접 페이스로부터 동일 페이스 그룹을 생성한다.In one embodiment, when the slope between the first face F1 and the second face F2 sharing an edge is within a critical slope, the first face F1 and the second face F2 are connected to each other to form the same face group. , and when the slope between the second face F2 and the third face F3 sharing an edge is within the critical slope, the first face F1, the second face F2, and the third face F3 ) are connected to each other to create the same face group. In this way, the same face group is generated from all adjacent faces whose slopes of adjacent faces are within the threshold slope.

다만 인접 페이스와 적어도 2개 이상의 에지를 공유하는 경우 에지를 공유하는 모든 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 동일 페이스 그룹으로 생성하며, 에지를 공유하는 인접 페이스 중 1개의 인접 페이스라도 기울기가 임계 기울기를 초과하는 경우 동일 페이스 그룹에서 제외된다.However, in the case of sharing at least two edges with adjacent faces, if the slope between all adjacent faces sharing an edge is within the critical slope, the same face group is created, and even one of the adjacent faces sharing an edge has a slope If it exceeds the critical slope, it is excluded from the same pace group.

다른 실시예에서 임의로 선택된 제1 페이스(F1)를 기준 페이스로 선택하고 기준 페이스(F1)와 기준 페이스(F1)의 주변에 위치하는 주변 인접 페이스의 기울기를 계산하여 임계 기울기 이내인 주변 인접 페이스(F2, F3, F3, F4, F5, F6)를 동일 페이스 그룹으로 생성한다.In another embodiment, an arbitrarily selected first face F1 is selected as a reference face, and a slope of the reference face F1 and a peripheral adjacent face positioned around the reference face F1 is calculated, and a peripheral adjacent face within a threshold slope ( F2, F3, F3, F4, F5, F6) are created as the same face group.

3차원 지도에 대한 모델링 데이터에 존재하는 모든 페이스에 대해 페이스 그룹을 생성하는 과정을 진행하는데, 도 5(b)는 인접 페이스 사이의 기울기에 기초하여 생성되는 페이스 그룹(G1, G2, G3)의 일 예를 도시하고 있다.A process of generating face groups for all faces existing in the modeling data for the 3D map is performed. FIG. An example is shown.

여기서 페이스 사이의 기울기는 페이스의 중심선에 대한 벡터를 이용하여 중심선 사이의 내적 각도를 이용하여 계산될 수 있다. 즉 도 6(a)에 도시되어 있는 바와 같이 제1 페이스(F1)와 제2 페이스(F2)가 서로 경사져 있는 경우, 서로 공유하는 에지를 기준으로 제1 페이스(F1)의 중심선(a)와 제2 페이스(F2)의 중심선(b)이 존재한다.Here, the inclination between the faces may be calculated using the dot product angle between the center lines of the faces using vectors with respect to the center lines of the faces. That is, as shown in FIG. 6(a), when the first face F1 and the second face F2 are inclined to each other, the center line a of the first face F1 and the center line a of the first face F1 based on the mutually shared edge The center line (b) of the second face (F2) exists.

도 6(b)에 도시되어 있는 바와 같이, 제1 페이스(F1)의 중심선(a)와 제2 페이스(F2)의 중심선(b) 사이의 내적 각도(x)를 계산하여 제1 페이스(F1)와 제2 페이스(F2) 사이의 기울기를 계산할 수 있다.As shown in FIG. 6 (b), the inner product angle (x) between the center line (a) of the first face (F1) and the center line (b) of the second face (F2) is calculated and the first face (F1) ) and the slope between the second face F2 can be calculated.

본 발명이 적용되는 분야에 따라 공지된 다양한 방식으로 3차원 공간에서 서로 인접한 페이스 사이의 기울기를 계산할 수 있으며 이는 본 발명의 범위에 속한다.Depending on the field to which the present invention is applied, it is possible to calculate the slope between faces adjacent to each other in a 3D space in a variety of well-known ways, which falls within the scope of the present invention.

도 7은 본 발명의 일 실시예에 따라 동일 페이스 그룹을 평탄화하는 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of flattening a same face group according to an embodiment of the present invention.

도 7을 참고로 보다 구체적으로 살펴보면, 제1 페이스 그룹을 구성하는 페이스 중 제1 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스를 판단한다(S131). 공유 페이스와 에지를 공유하는 인접 페이스 그룹의 인접 페이스 사이의 기울기를 계산하고 공유 페이스의 기울기 평균값을 계산한다(S133).Referring to FIG. 7 in more detail, among the faces constituting the first face group, a shared face sharing an edge with an adjacent face group adjacent to the first face group is determined (S131). Inclination between the shared face and adjacent faces of adjacent face groups sharing an edge is calculated, and an average value of the slopes of the shared faces is calculated (S133).

계산한 기울기 평균값을 제1 페이스 그룹의 평탄화 기울기로 설정하고, 제1 페이스 그룹을 구성하는 페이스의 기울기를 설정한 평탄화 기울기로 동일하게 변경하여 제1 페이스 그룹을 평탄화한다(S135).The calculated average slope value is set as the flattening slope of the first face group, and the slopes of the faces constituting the first face group are changed to the set flattening slope to flatten the first face group (S135).

도 8은 본 발명에서 동일 페이스 그룹을 평탄화하는 일 예를 설명하기 위한 도면이다.8 is a diagram for explaining an example of flattening the same face group in the present invention.

도 8(a)에 도시되어 있는 바와 같이, 제1 페이스 그룹(G1)부터 시작하여 순차적으로 다른 페이스 그룹을 평탄화하는데, 먼저 제1 페이스 그룹에 존재하는 페이스 중 제1 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스(F3, F4, F5, F6)를 판단하고, 공유 페이스와 에지를 공유하는 인접 페이스 그룹의 인접 페이스 사이의 기울기를 계산하고 공유 페이스의 기울기 평균값을 계산한다. 계산한 기울기 평균값을 제1 페이스 그룹의 평탄화 기울기로 설정하여 제1 페이스 그룹의 페이스들을 평탄화한다.As shown in FIG. 8(a), starting from the first face group G1, other face groups are sequentially flattened. First, among the faces existing in the first face group, adjacent face groups adjacent to the first face group Determines shared faces (F3, F4, F5, F6) sharing an edge with the shared face, calculates a slope between the shared face and adjacent faces of adjacent face groups sharing an edge, and calculates an average value of the slopes of the shared faces. The faces of the first face group are flattened by setting the calculated average slope value as the flattening slope of the first face group.

도 8(b)에 도시되어 있는 바와 같이, 제2 페이스 그룹(G2)에 존재하는 페이스 중 제2 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스(F7, F8, F9, F10)를 판단하고, 공유 페이스와 에지를 공유하는 인접 페이스 그룹의 인접 페이스 사이의 기울기를 계산하고, 공유 페이스의 기울기 평균값을 계산한다. 기울기 평균값을 제2 페이스 그룹의 평탄화 기울기로 설정하여 제2 페이스 그룹의 페이스들을 평탄화한다.As shown in FIG. 8( b ), among the faces existing in the second face group G2, the shared faces F7, F8, F9, and F10 sharing an edge with an adjacent face group adjacent to the second face group are selected. and calculate a gradient between the shared face and adjacent faces of adjacent face groups sharing an edge, and calculate an average value of the gradients of the shared faces. The faces of the second face group are flattened by setting the average slope as the flattening slope of the second face group.

도 8(c)에 도시되어 있는 바와 같이, 제3 페이스 그룹(G3)에 존재하는 페이스 중 제3 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스(F11, F12, F13)를 판단하고, 공유 페이스와 에지를 공유하는 인접 페이스 그룹의 인접 페이스 사이의 기울기를 계산하고, 공유 페이스의 기울기 평균값을 계산한다. 기울기 평균값을 제3 페이스 그룹의 평탄화 기울기로 설정하여 제2 페이스 그룹의 페이스들을 평탄화한다.As shown in FIG. 8(c), determining shared faces F11, F12, and F13 sharing an edge with an adjacent face group adjacent to the third face group among faces existing in the third face group G3; , calculate the slope between the shared face and the adjacent faces of the adjacent face groups that share an edge, and calculate the average value of the slopes of the shared faces. The faces of the second face group are flattened by setting the average slope as the flattening slope of the third face group.

도 8(d)에 도시되어 있는 바와 같이, 모든 페이스 그룹을 각 페이스 그룹에 대한 평탄화 기울기로 평탄화한다.As shown in Fig. 8(d), all face groups are flattened with a flattening slope for each face group.

도 9는 본 발명의 일 실시예에서 병합 페이스 그룹을 생성하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a method of generating a merged face group according to an embodiment of the present invention.

도 9를 참고로 보다 구체적으로 살펴보면, 페이스 그룹의 페이스 중 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 외부 페이스와 외곽 둘레에 존재하는 특징점에 연결되지 않은 내부 페이스를 판단한다(S151).Looking more specifically with reference to FIG. 9 , among the faces of the face group, an outer face connected to a feature point existing on the outer periphery of the face group and an inner face not connected to a feature point existing on the outer periphery of the face group are determined (S151).

외부 페이스를 제외하고 내부 페이스 중 가장 넓은 면적을 가지는 최대 면적 페이스를 검색하고(S153), 최대 면적 페이스를 구성하는 에지 중 가장 긴 최대 에지를 판단한다(S155).A maximum area face having the largest area among the inner faces excluding the outer face is searched for (S153), and the longest maximum edge among the edges constituting the maximum area face is determined (S155).

판단한 최대 에지의 중간지점을 계산하여 중간지점에 대한 가상 특징점을 생성하고(S156), 최대 에지를 구성하는 특징점들을 가상 특징점으로 병합한다(S157). A midpoint of the determined maximum edge is calculated to generate a virtual feature point for the midpoint (S156), and feature points constituting the maximum edge are merged into the virtual feature point (S157).

페이스 그룹에 내부 페이스가 존재하는지 판단하여(S159), 내부 페이스가 존재하는 경우 앞서 설명한 S153, S155, S156단계를 반복하여 계속해서 생성되는 가상 특징점으로 특징점들을 병합하여 3차원 공간에 대한 모델링 데이터를 경량화한다.It is determined whether there is an internal face in the face group (S159), and if there is an internal face, the modeling data for the 3D space is obtained by merging the feature points with virtual feature points that are continuously generated by repeating steps S153, S155, and S156 described above. lighten up

그러나 페이스 그룹에 내부 페이스가 더 이상 존재하지 않는 경우, 해당 페이스 그룹에 대한 모델링 데이터의 경량화가 종료된 것으로 판단한다. 모든 페이스 그룹에 대해 모델링 데이터의 경량화를 진행하며, 경량화된 3차원 공간에 대한 모델링 데이터를 데이터베이스부에 저장한다.However, when the internal face no longer exists in the face group, it is determined that the weighting of modeling data for the corresponding face group is finished. The modeling data is reduced for all face groups, and the modeling data for the reduced 3D space is stored in the database unit.

도 10은 본 발명에서 병합 페이스 그룹을 생성하는 일 예를 설명하기 위한 도면이다.10 is a diagram for explaining an example of generating a merge face group in the present invention.

도 10(a)에 도시되어 있는 바와 같이, 페이스 그룹의 페이스 중 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 외부 페이스와 외곽 둘레에 존재하는 특징점에 연결되지 않는 내부 페이스를 판단한다.As shown in FIG. 10( a ), among the faces of the face group, an outer face connected to a feature point existing on the outer periphery of the face group and an inner face not connected to a feature point existing on the outer periphery of the face group are determined.

도 10(b)에 도시되어 있는 바와 같이, 내부 페이스 중 가장 면적이 넓은 최대 면적 페이스(F1)을 검색하고, 도 10(c)에 도시되어 있는 바와 같이 최대 면적 페이스(F1)를 구성하는 에지(L1, L2, L3) 중 가장 긴 최대 에지(L3)를 판단한다.As shown in FIG. 10(b), the maximum area face F1 having the largest area among the inner faces is searched, and as shown in FIG. 10(c), the edge constituting the maximum area face F1 Among (L1, L2, L3), the longest maximum edge (L3) is determined.

도 10(d)에 도시되어 있는 바와 같이, 최대 에지(L3)의 중간 지점을 계산하여 중간 지점을 가상 특징점(V')로 생성하고, 가상 특징점(v')으로 최대 에지(L3)을 구성하는 특징점(V1, V2)를 가상 특징점(V')로 병합한다. 도 10(e)는 최대 에지(L3)을 구성하는 특징점(V1, V2)를 가상 특징점(V')으로 병합한 상태를 도시하고 있다.As shown in FIG. 10(d), the midpoint of the maximum edge L3 is calculated, the midpoint is created as a virtual feature point (V'), and the maximum edge (L3) is configured with the virtual feature point (v') The feature points V1 and V2 are merged into a virtual feature point V'. FIG. 10(e) shows a state in which the feature points V1 and V2 constituting the maximum edge L3 are merged into a virtual feature point V'.

페이스 그룹에 내부 페이스가 존재하는지 판단하여, 내부 페이스가 존재하는 경우 계속해서 생성되는 가상 특징점으로 특징점들을 병합하여 3차원 공간에 대한 모델링 데이터를 경량화한다. 페이스 그룹에 내부 페이스가 존재하지 않은 경우 페이스 그룹에 대한 경량화가 종료하는데, 도 10(f)는 경량화가 종료된 페이스 그룹을 도시하고 있다.It is determined whether there is an internal face in the face group, and if there is an internal face, the modeling data for the 3D space is reduced by merging the feature points with continuously generated virtual feature points. When there is no internal face in the face group, weight reduction for the face group ends. FIG. 10(f) shows a face group whose weight reduction is completed.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.On the other hand, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.The computer-readable recording medium includes a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), an optical reading medium (eg, CD-ROM, DVD, etc.), and a carrier wave (eg, Internet transmission through).

110: 그룹 생성부 120: 데이터베이스부
130: 평탄화부 150: 병합부
170: 응용부
110: group generation unit 120: database unit
130: flattening part 150: merging part
170: application unit

Claims (8)

3차원 공간에 대한 모델링 데이터의 경량화 방법에 있어서,
3차원 공간에 존재하는 객체의 특징점으로 이루어진 3차원 공간에 대한 모델링 데이터에서 특징점들로부터 만들어지는 페이스(face)의 기울기에 기초하여 인접한 페이스를 서로 연결한 페이스 그룹을 생성하는 단계;
페이스 그룹에 존재하는 페이스를 서로 동일한 기울기로 변경하여 상기 페이스 그룹을 평탄화하는 단계;
평탄화된 페이스 그룹에서 특징점을 병합하여 병합 페이스 그룹을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 경량화 방법.
In the method of lightening modeling data for a three-dimensional space,
Generating a face group in which adjacent faces are connected to each other based on a slope of a face created from feature points in modeling data for a 3-dimensional space composed of feature points of an object existing in the 3-dimensional space;
flattening the face group by changing faces existing in the face group to have the same slope;
A data lightweighting method comprising generating a merged face group by merging feature points from the flattened face group.
제 1 항에 있어서, 상기 페이스 그룹을 생성하는 단계에서
인접한 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접한 페이스들을 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 하는 데이터 경량화 방법.
The method of claim 1, wherein in the step of creating the face group
A data lightening method comprising generating a face group by connecting adjacent faces to each other when a slope between adjacent faces is within a critical slope.
제 2 항에 있어서, 상기 페이스 그룹을 생성하는 단계에서
에지(edge)를 공유하는 인접한 페이스 사이의 기울기가 임계 기울기 이내인 경우 인접한 페이스들을 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 하는 데이터 경량화 방법.
3. The method of claim 2, wherein in the step of creating the face group
A data lightweighting method comprising generating a face group by connecting adjacent faces to each other when a slope between adjacent faces sharing an edge is within a critical slope.
제 2 항에 있어서, 상기 페이스 그룹을 생성하는 단계는
기준 페이스와 인접 페이스 사이의 기울기가 임계 기울기 이내인 경우 기준 페이스와 인접 페이스를 서로 연결하여 페이스 그룹을 생성하는 것을 특징으로 하는 데이터 경량화 방법.
3. The method of claim 2, wherein creating the face group comprises:
A data lightweighting method comprising generating a face group by connecting the reference face and the adjacent face to each other when the slope between the reference face and the adjacent face is within a critical slope.
제 2 항에 있어서, 상기 페이스 그룹을 평탄화하는 단계는
제1 페이스 그룹을 구성하는 페이스 중 상기 제1 페이스 그룹에 인접한 인접 페이스 그룹과 에지를 공유하는 공유 페이스를 판단하는 단계;
상기 공유 페이스의 기울기를 계산하고 상기 공유 페이스의 기울기 평균값을 계산하는 단계; 및
계산한 상기 기울기 평균값으로 상기 제1 페이스 그룹을 구성하는 페이스의 기울기를 동일하게 변경하여 상기 제1 페이스 그룹을 평탄화하는 단계를 포함하는 것을 특징으로 하는 데이터 경량화 방법.
3. The method of claim 2, wherein flattening the face group comprises:
determining a shared face among faces constituting a first face group that shares an edge with an adjacent face group adjacent to the first face group;
calculating a gradient of the shared face and calculating an average value of the gradient of the shared face; and
and flattening the first face group by equally changing the slope of the faces constituting the first face group with the calculated slope average value.
제 2 항에 있어서, 상기 병합 페이스 그룹을 생성하는 단계는
페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스를 제외하고 가장 작은 수의 페이스를 가지도록 병합 페이스 그룹을 생성하는 것을 특징으로 하는 데이터 경량화 방법.
3. The method of claim 2, wherein creating the merged face group comprises:
A data reduction method characterized in that a merged face group is created to have the smallest number of faces excluding faces connected to feature points existing on the outer periphery of the face group.
제 6 항에 있어서, 상기 병합 페이스 그룹을 생성하는 단계는
(a) 상기 페이스 그룹의 페이스 중 상기 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스를 제외하고 가장 넓은 면적을 가지는 최대 면적 페이스를 검색하는 단계;
(b) 상기 최대 면적 페이스의 에지 중 가장 긴 최대 에지를 판단하는 단계;
(c) 최대 에지의 중간지점을 계산하여 중간지점에 가상 특징점을 생성하는 단계; 및
(d) 상기 최대 에지를 구성하는 특징점들을 상기 가상 특징점으로 병합하는 단계를 포함하는 것을 특징으로 하는 데이터 경량화 방법.
7. The method of claim 6, wherein creating the merged face group comprises:
(a) searching for a face with the largest area among the faces of the face group, excluding faces connected to feature points existing around the outer periphery of the face group;
(b) determining a longest edge among the edges of the maximum area face;
(c) calculating the midpoint of the maximum edge and generating a virtual feature point at the midpoint; and
(d) merging feature points constituting the maximum edge into the virtual feature point.
제 7 항에서 있어서, 상기 병합 페이스 그룹을 생성하는 단계는
상기 페이스 그룹의 외곽 둘레에 존재하는 특징점에 연결된 페이스만 남을 때까지 상기 (a) 단계 내지 (d) 단계를 반복하는 것을 특징으로 하는 데이터 경량화 방법.
8. The method of claim 7, wherein the generating of the merged face group comprises:
Steps (a) to (d) are repeated until only faces connected to feature points existing around the outer periphery of the face group remain.
KR1020210158634A 2021-11-17 2021-11-17 Method for lighting 3D map medeling data KR102648882B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210158634A KR102648882B1 (en) 2021-11-17 2021-11-17 Method for lighting 3D map medeling data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210158634A KR102648882B1 (en) 2021-11-17 2021-11-17 Method for lighting 3D map medeling data

Publications (2)

Publication Number Publication Date
KR20230072170A true KR20230072170A (en) 2023-05-24
KR102648882B1 KR102648882B1 (en) 2024-03-19

Family

ID=86540688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210158634A KR102648882B1 (en) 2021-11-17 2021-11-17 Method for lighting 3D map medeling data

Country Status (1)

Country Link
KR (1) KR102648882B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196394A (en) * 1997-09-22 1999-04-09 Sanyo Electric Co Ltd Device and method for generating image
KR20070035800A (en) * 2005-09-28 2007-04-02 엘지전자 주식회사 Removing apparatus and method for video noise using the slope of adjacent pixel
KR20090036303A (en) * 2007-10-09 2009-04-14 한양대학교 산학협력단 Apparutus and method for interpolating image with low complexity through accurate gradient feature
KR20100034789A (en) * 2008-09-25 2010-04-02 삼성전자주식회사 Method and apparatus for generating depth map for conversion two dimensional image to three dimensional image
KR101507776B1 (en) * 2014-06-18 2015-04-07 (주)이지스 methof for rendering outline in three dimesion map
KR20170062661A (en) * 2015-11-28 2017-06-08 계명대학교 산학협력단 Automatic source classification method and apparatus using mean-shift clustering and stepwise merging in color image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196394A (en) * 1997-09-22 1999-04-09 Sanyo Electric Co Ltd Device and method for generating image
KR20070035800A (en) * 2005-09-28 2007-04-02 엘지전자 주식회사 Removing apparatus and method for video noise using the slope of adjacent pixel
KR20090036303A (en) * 2007-10-09 2009-04-14 한양대학교 산학협력단 Apparutus and method for interpolating image with low complexity through accurate gradient feature
KR20100034789A (en) * 2008-09-25 2010-04-02 삼성전자주식회사 Method and apparatus for generating depth map for conversion two dimensional image to three dimensional image
KR101507776B1 (en) * 2014-06-18 2015-04-07 (주)이지스 methof for rendering outline in three dimesion map
KR20170062661A (en) * 2015-11-28 2017-06-08 계명대학교 산학협력단 Automatic source classification method and apparatus using mean-shift clustering and stepwise merging in color image

Also Published As

Publication number Publication date
KR102648882B1 (en) 2024-03-19

Similar Documents

Publication Publication Date Title
US11562498B2 (en) Systems and methods for hybrid depth regularization
US10977818B2 (en) Machine learning based model localization system
JP7403528B2 (en) Method and system for reconstructing color and depth information of a scene
CN105654492B (en) Robust real-time three-dimensional method for reconstructing based on consumer level camera
CN109003325B (en) Three-dimensional reconstruction method, medium, device and computing equipment
Kumar et al. Monocular fisheye camera depth estimation using sparse lidar supervision
Zhu et al. Spatial-temporal fusion for high accuracy depth maps using dynamic MRFs
US20190098277A1 (en) Image processing apparatus, image processing method, image processing system, and storage medium
CN109660783B (en) Virtual reality parallax correction
CN110799991A (en) Method and system for performing simultaneous localization and mapping using a convolutional image transform
US10380796B2 (en) Methods and systems for 3D contour recognition and 3D mesh generation
Berent et al. Plenoptic manifolds
Gupta et al. Real-time stereo matching using adaptive binary window
EP3367334B1 (en) Depth estimation method and depth estimation apparatus of multi-view images
KR100560464B1 (en) Multi-view display system with viewpoint adaptation
Kumari et al. A survey on stereo matching techniques for 3D vision in image processing
JP2001067463A (en) Device and method for generating facial picture from new viewpoint based on plural facial pictures different in viewpoint, its application device and recording medium
Chen et al. A particle filtering framework for joint video tracking and pose estimation
KR20180035359A (en) Three-Dimensional Space Modeling and Data Lightening Method using the Plane Information
Saxena et al. 3-d reconstruction from sparse views using monocular vision
EP1997072A2 (en) Method for determining a depth map from images, device for determining a depth map
KR20110112143A (en) A method for transforming 2d video to 3d video by using ldi method
Yang et al. Depth map generation using local depth hypothesis for 2D-to-3D conversion
KR102648882B1 (en) Method for lighting 3D map medeling data
Haji-Esmaeili et al. Large-scale Monocular Depth Estimation in the Wild

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant